mars3d-wind 3.1.22 → 3.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Mars3D平台插件,支持气象 风向图 功能插件
3
- * 版本信息:v3.1.21
4
- * 编译日期:2022-01-08 18:23:21
3
+ * 版本信息:v3.1.23
4
+ * 编译日期:2022-01-21 10:34:48
5
5
  * 版权所有:Copyright by 火星科技 http://mars3d.cn
6
6
  */
7
7
  (function webpackUniversalModuleDefinition(window) {
@@ -27,7 +27,7 @@
27
27
  }
28
28
 
29
29
 
30
- function a0_0x1db2(_0x1c2cf8,_0xe29f1b){var _0x1966ab=a0_0x1966();return a0_0x1db2=function(_0x1db2b4,_0x4f4463){_0x1db2b4=_0x1db2b4-0x8a;var _0x42c980=_0x1966ab[_0x1db2b4];return _0x42c980;},a0_0x1db2(_0x1c2cf8,_0xe29f1b);}function a0_0x1966(){var _0x180b07=['preRender','west','defineProperty','preExecute','_particlesNumber','resize','Color','undefined','mode','rawRenderState','dropRateBump','appendChild','userInput','PixelDatatype','unbindEvent','_mountedHook','BufferUsage','refreshTimer','createSegmentsGeometry','height','PrimitiveType','_onMouseUpEvent','PixelFormat','bindEvent','cols','_onMouseMoveEvent','arrayBufferView','autoClear','100%','Cesium','style','speedRate','68cljAzc','construct','lonRange','createFramebuffer','createWindTextures','dropRate','mouseUp','getContext','globalAlpha','depthTest','getUVByXY','removeEventListener','getPrototypeOf','postProcessingPosition','viewerParameters','lev','IDENTITY','default','particleHeight','clearFramebuffers','toStringTag','position','TextureMinificationFilter','toDegrees','attributeLocations','THREE_PI_OVER_TWO','calc_speedRate','defined','RGB','attribute\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0aattribute\x20vec3\x20normal;\x20//\x20(point\x20to\x20use,\x20offset\x20sign,\x20not\x20used\x20component)\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x0auniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20postProcessingSpeed;\x0a\x0auniform\x20float\x20particleHeight;\x0a\x0auniform\x20float\x20aspect;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20lineWidth;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avec3\x20convertCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20WGS84\x20(lon,\x20lat,\x20lev)\x20->\x20ECEF\x20(x,\x20y,\x20z)\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_conversion#From_geodetic_to_ECEF_coordinates\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20WGS\x2084\x20geometric\x20constants\x20\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x20\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\x20\x0a\x20\x20\x20\x20float\x20e2\x20=\x206.69437999014e-3;\x20//\x20First\x20eccentricity\x20squared\x0a\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x20\x20\x20\x20float\x20longitude\x20=\x20radians(lonLatLev.x);\x0a\x0a\x20\x20\x20\x20float\x20cosLat\x20=\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20sinLat\x20=\x20sin(latitude);\x0a\x20\x20\x20\x20float\x20cosLon\x20=\x20cos(longitude);\x0a\x20\x20\x20\x20float\x20sinLon\x20=\x20sin(longitude);\x0a\x0a\x20\x20\x20\x20float\x20N_Phi\x20=\x20a\x20/\x20sqrt(1.0\x20-\x20e2\x20*\x20sinLat\x20*\x20sinLat);\x0a\x20\x20\x20\x20float\x20h\x20=\x20particleHeight;\x20//\x20it\x20should\x20be\x20high\x20enough\x20otherwise\x20the\x20particle\x20may\x20not\x20pass\x20the\x20terrain\x20depth\x20test\x0a\x0a\x20\x20\x20\x20vec3\x20cartesian\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20cartesian.x\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20cosLon;\x0a\x20\x20\x20\x20cartesian.y\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20sinLon;\x0a\x20\x20\x20\x20cartesian.z\x20=\x20((b\x20*\x20b)\x20/\x20(a\x20*\x20a)\x20*\x20N_Phi\x20+\x20h)\x20*\x20sinLat;\x0a\x20\x20\x20\x20return\x20cartesian;\x0a}\x0a\x0avec4\x20calcProjectedCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20the\x20range\x20of\x20longitude\x20in\x20Cesium\x20is\x20[-180,\x20180]\x20but\x20the\x20range\x20of\x20longitude\x20in\x20the\x20NetCDF\x20file\x20is\x20[0,\x20360]\x0a\x20\x20\x20\x20//\x20[0,\x20180]\x20is\x20corresponding\x20to\x20[0,\x20180]\x20and\x20[180,\x20360]\x20is\x20corresponding\x20to\x20[-180,\x200]\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x\x20+\x20180.0,\x20360.0)\x20-\x20180.0;\x0a\x20\x20\x20\x20vec3\x20particlePosition\x20=\x20convertCoordinate(lonLatLev);\x0a\x20\x20\x20\x20vec4\x20projectedCoordinate\x20=\x20czm_modelViewProjection\x20*\x20vec4(particlePosition,\x201.0);\x0a\x20\x20\x20\x20return\x20projectedCoordinate;\x0a}\x0a\x0avec4\x20calcOffset(vec4\x20currentProjectedCoordinate,\x20vec4\x20nextProjectedCoordinate,\x20float\x20offsetSign)\x20{\x0a\x20\x20\x20\x20vec2\x20aspectVec2\x20=\x20vec2(aspect,\x201.0);\x0a\x20\x20\x20\x20vec2\x20currentXY\x20=\x20(currentProjectedCoordinate.xy\x20/\x20currentProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x20\x20\x20\x20vec2\x20nextXY\x20=\x20(nextProjectedCoordinate.xy\x20/\x20nextProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x0a\x20\x20\x20\x20float\x20offsetLength\x20=\x20lineWidth\x20/\x202.0;\x0a\x20\x20\x20\x20vec2\x20direction\x20=\x20normalize(nextXY\x20-\x20currentXY);\x0a\x20\x20\x20\x20vec2\x20normalVector\x20=\x20vec2(-direction.y,\x20direction.x);\x0a\x20\x20\x20\x20normalVector.x\x20=\x20normalVector.x\x20/\x20aspect;\x0a\x20\x20\x20\x20normalVector\x20=\x20offsetLength\x20*\x20normalVector;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20vec4(offsetSign\x20*\x20normalVector,\x200.0,\x200.0);\x0a\x20\x20\x20\x20return\x20offset;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec2\x20particleIndex\x20=\x20st;\x0a\x0a\x20\x20\x20\x20vec3\x20currentPosition\x20=\x20texture2D(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture2D(postProcessingPosition,\x20particleIndex);\x0a\x0a\x20\x20\x20\x20vec4\x20currentProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20vec4\x20nextProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(nextPosition.w\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(nextPosition.xyz);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20float\x20pointToUse\x20=\x20normal.x;\x20//\x20-1\x20is\x20currentProjectedCoordinate\x20and\x20+1\x20is\x20nextProjectedCoordinate\x0a\x20\x20\x20\x20float\x20offsetSign\x20=\x20normal.y;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20pixelSize\x20*\x20calcOffset(currentProjectedCoordinate,\x20nextProjectedCoordinate,\x20offsetSign);\x0a\x20\x20\x20\x20if\x20(pointToUse\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20currentProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20nextProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20speedNormalization\x20=\x20texture2D(postProcessingSpeed,\x20particleIndex).a;\x0a}','canrefresh','SceneTransforms','_speedRate','colorTable','BaseLayer','fromDegrees','PI_OVER_THREE','createElement','getU','uniform\x20sampler2D\x20nextParticlesPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0a//\x20range\x20(min,\x20max)\x0auniform\x20vec2\x20lonRange;\x0auniform\x20vec2\x20latRange;\x0a\x0auniform\x20float\x20randomCoefficient;\x20//\x20use\x20to\x20improve\x20the\x20pseudo-random\x20generator\x0auniform\x20float\x20dropRate;\x20//\x20drop\x20rate\x20is\x20a\x20chance\x20a\x20particle\x20will\x20restart\x20at\x20random\x20position\x20to\x20avoid\x20degeneration\x0auniform\x20float\x20dropRateBump;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0a//\x20pseudo-random\x20generator\x0aconst\x20vec3\x20randomConstants\x20=\x20vec3(12.9898,\x2078.233,\x204375.85453);\x0aconst\x20vec2\x20normalRange\x20=\x20vec2(0.0,\x201.0);\x0afloat\x20rand(vec2\x20seed,\x20vec2\x20range)\x20{\x0a\x20\x20\x20\x20vec2\x20randomSeed\x20=\x20randomCoefficient\x20*\x20seed;\x0a\x20\x20\x20\x20float\x20temp\x20=\x20dot(randomConstants.xy,\x20randomSeed);\x0a\x20\x20\x20\x20temp\x20=\x20fract(sin(temp)\x20*\x20(randomConstants.z\x20+\x20temp));\x0a\x20\x20\x20\x20return\x20temp\x20*\x20(range.y\x20-\x20range.x)\x20+\x20range.x;\x0a}\x0a\x0avec3\x20generateRandomParticle(vec2\x20seed,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20longitude\x20is\x20in\x20[0,\x20360]\x0a\x20\x20\x20\x20float\x20randomLon\x20=\x20mod(rand(seed,\x20lonRange),\x20360.0);\x0a\x20\x20\x20\x20float\x20randomLat\x20=\x20rand(-seed,\x20latRange);\x0a\x0a\x20\x20\x20\x20return\x20vec3(randomLon,\x20randomLat,\x20lev);\x0a}\x0a\x0abool\x20particleOutbound(vec3\x20particle)\x20{\x0a\x20\x20\x20\x20return\x20particle.y\x20<\x20-90.0\x20||\x20particle.y\x20>\x2090.0;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20texture2D(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20float\x20particleDropRate\x20=\x20dropRate\x20+\x20dropRateBump\x20*\x20nextSpeed.a;\x0a\x0a\x20\x20\x20\x20vec2\x20seed1\x20=\x20nextParticle.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec2\x20seed2\x20=\x20nextSpeed.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec3\x20randomParticle\x20=\x20generateRandomParticle(seed1,\x20nextParticle.z);\x0a\x20\x20\x20\x20float\x20randomNumber\x20=\x20rand(seed2,\x20normalRange);\x0a\x0a\x20\x20\x20\x20if\x20(randomNumber\x20<\x20particleDropRate\x20||\x20particleOutbound(nextParticle))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(randomParticle,\x201.0);\x20//\x201.0\x20means\x20this\x20is\x20a\x20random\x20particle\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a\x20\x20\x20\x20}\x0a}','destroy','8ppVAfR','show','BoundingSphere','updateSpeed','blending','getColorTexture','exports','frameRate','outputTexture','GeometryAttribute','call','getDirection','drawingBufferHeight','3434844rluDmq','particlesTextureSize','nextParticlesPosition','maxParticles','EllipsoidalOccluder','uniform\x20sampler2D\x20trailsColorTexture;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(trailsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x20else\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20}\x0d\x0a}','color','windField','visibility','UNSIGNED_BYTE','Compute','latRange','prototype','ComputeCommand','bind','floor','mouse_down','_pointerEvents','commandList','Module','canvasWidth','canvasResize','randomizeParticles','destroyParticlesTextures','shaderProgram','lighter','currentParticlesSpeed','screen','layer','getV','ClearCommand','RenderState','10FPSLid','FLOAT','_tomap','clampToLatitudeRange','Texture','string','scene','Math','NEAREST','data','ShaderSource','add','uniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20lengthOfLonLat(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20unit\x20conversion:\x20meters\x20->\x20longitude\x20latitude\x20degrees\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_system#Length_of_a_degree\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20Calculate\x20the\x20length\x20of\x20a\x20degree\x20of\x20latitude\x20and\x20longitude\x20in\x20meters\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x0a\x20\x20\x20\x20float\x20term1\x20=\x20111132.92;\x0a\x20\x20\x20\x20float\x20term2\x20=\x20559.82\x20*\x20cos(2.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term3\x20=\x201.175\x20*\x20cos(4.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term4\x20=\x200.0023\x20*\x20cos(6.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20latLength\x20=\x20term1\x20-\x20term2\x20+\x20term3\x20-\x20term4;\x0a\x0a\x20\x20\x20\x20float\x20term5\x20=\x20111412.84\x20*\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20term6\x20=\x2093.5\x20*\x20cos(3.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term7\x20=\x200.118\x20*\x20cos(5.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20longLength\x20=\x20term5\x20-\x20term6\x20+\x20term7;\x0a\x0a\x20\x20\x20\x20return\x20vec2(longLength,\x20latLength);\x0a}\x0a\x0avoid\x20updatePosition(vec3\x20lonLatLev,\x20vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec2\x20lonLatLength\x20=\x20lengthOfLonLat(lonLatLev);\x0a\x20\x20\x20\x20float\x20u\x20=\x20speed.x\x20/\x20lonLatLength.x;\x0a\x20\x20\x20\x20float\x20v\x20=\x20speed.y\x20/\x20lonLatLength.y;\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20vec3\x20windVectorInLonLatLev\x20=\x20vec3(u,\x20v,\x20w);\x0a\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20lonLatLev\x20+\x20windVectorInLonLatLev;\x0a\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20speed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20updatePosition(lonLatLev,\x20speed);\x0a}','vdata','setPrototypeOf','_removedHook','canvasWind','random','fragmentShaderSource','VertexArray','createRenderingPrimitives','DrawCommand','lineWidth','Cartesian3','getFullscreenQuad','geometry','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','beginPath','cos','_maxAge','globalCompositeOperation','pow','vertexArray','Pass','CanvasWindLayer','_drawLines','abs','DISABLE_GL_POSITION_LOG_DEPTH','particlesNumber','mod','pixelSize','ymax','refreshParticles','getUVByPoint','cancelAnimationFrame','apply','pointerEvents','ALWAYS','top','postProcessingSpeed','animateFrame','randomBetween','key','hasOwnProperty','SCENE3D','sqrt','clearCommand','max','25905770ZkCTXy','fillRect','Draw','wheel','maxAge','source','options','clientHeight','toGridXY','TWO_PI','applyViewerParameters','redraw','fromGeometry','fadeOpacity','reverse','_onMap_preRenderEvent','createCommand','ceil','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','_setOptionsHook','value','register','LINEAR','mars3d','wind','primitiveType','dimensions','defaultValue','particlesRendering','trails','currentParticlesPosition','segmentsDepth','259157YWqeRC','segmentsColor','moveTo','off','depthMask','uniform\x20sampler2D\x20colorTable;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}','Appearance','PrimitiveCollection','isDestroyed','LayerUtil','DepthFunction','Sampler','pointer-events','positionWC','UNSIGNED_INT','now','left','createParticlesTextures','toRadians','nextTrails','rows','ComponentDatatype','createRenderingFramebuffers','__esModule','fillStyle','absolute','array','_calcStep','nextTrailsColor','length','strokeStyle','tlat','_map','commandType','applyUserInput','TextureMagnificationFilter','canvas','globeBoundingSphere','1792995jCiOUP','class','globe','createRenderingTextures','stroke','ShaderProgram','enumerable','east','STATIC_DRAW','tlng','udata','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','object','segments','removeAll','6872967Zmmvjs','_onMapWhellEvent','textures','min','934592jjInQX','nextParticlesSpeed','_createCanvas','lineTo','commandToExecute','uniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0auniform\x20sampler2D\x20particlesWind;\x0a\x0a//\x20used\x20to\x20calculate\x20the\x20wind\x20norm\x0auniform\x20vec2\x20uSpeedRange;\x20//\x20(min,\x20max);\x0auniform\x20vec2\x20vSpeedRange;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20speedFactor;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0afloat\x20calculateWindNorm(vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec3\x20percent\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20percent.x\x20=\x20(speed.x\x20-\x20uSpeedRange.x)\x20/\x20(uSpeedRange.y\x20-\x20uSpeedRange.x);\x0a\x20\x20\x20\x20percent.y\x20=\x20(speed.y\x20-\x20vSpeedRange.x)\x20/\x20(vSpeedRange.y\x20-\x20vSpeedRange.x);\x0a\x20\x20\x20\x20float\x20normalization\x20=\x20length(percent);\x0a\x0a\x20\x20\x20\x20return\x20normalization;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20currentSpeed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture2D(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindNorm(windVector));\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20nextSpeed;\x0a}','hidden','vertexShaderSource','rgba(0,\x200,\x200,\x200.97)','sin','wgs84ToWindowCoordinates','updatePosition','nextTrailsDepth','forEach','clear','ymin','update','Cartesian2','Rectangle','setAttribute','particlesTextures','18YUTyPa','framebuffers','xmin','LUMINANCE','lng','xmax','camera','clientWidth','visible','SceneMode','OPAQUE','mouse_move','destination-in','mouseDown','writable','getRandomLatLng','createTexture','currentTrails','WindLayer','__proto__','sham','fromCache','drawingBufferWidth','WindUtil','windData','isInExtent','grid','mouseMove','uniformMap','age','container','Geometry','framebuffer','_onMouseDownEvent','RGBA','//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\x20\x0auniform\x20sampler2D\x20V;\x20//\x20northward\x20wind\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0a\x0auniform\x20vec3\x20dimension;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20vec3\x20minimum;\x20//\x20minimum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20maximum;\x20//\x20maximum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20interval;\x20//\x20interval\x20of\x20each\x20dimension\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20mapPositionToNormalizedIndex2D(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20range\x20of\x20longitude\x20and\x20latitude\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x,\x20360.0);\x0a\x20\x20\x20\x20lonLatLev.y\x20=\x20clamp(lonLatLev.y,\x20-90.0,\x2090.0);\x0a\x0a\x20\x20\x20\x20vec3\x20index3D\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20index3D.x\x20=\x20(lonLatLev.x\x20-\x20minimum.x)\x20/\x20interval.x;\x0a\x20\x20\x20\x20index3D.y\x20=\x20(lonLatLev.y\x20-\x20minimum.y)\x20/\x20interval.y;\x0a\x20\x20\x20\x20index3D.z\x20=\x20(lonLatLev.z\x20-\x20minimum.z)\x20/\x20interval.z;\x0a\x0a\x20\x20\x20\x20//\x20the\x20st\x20texture\x20coordinate\x20corresponding\x20to\x20(col,\x20row)\x20index\x0a\x20\x20\x20\x20//\x20example\x0a\x20\x20\x20\x20//\x20data\x20array\x20is\x20[0,\x201,\x202,\x203,\x204,\x205],\x20width\x20=\x203,\x20height\x20=\x202\x0a\x20\x20\x20\x20//\x20the\x20content\x20of\x20texture\x20will\x20be\x0a\x20\x20\x20\x20//\x20t\x201.0\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x203\x204\x205\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x200\x201\x202\x0a\x20\x20\x20\x20//\x20\x20\x200.0------1.0\x20s\x0a\x0a\x20\x20\x20\x20vec2\x20index2D\x20=\x20vec2(index3D.x,\x20index3D.z\x20*\x20dimension.y\x20+\x20index3D.y);\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20vec2(index2D.x\x20/\x20dimension.x,\x20index2D.y\x20/\x20(dimension.y\x20*\x20dimension.z));\x0a\x20\x20\x20\x20return\x20normalizedIndex2D;\x0a}\x0a\x0afloat\x20getWind(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20mapPositionToNormalizedIndex2D(lonLatLev);\x0a\x20\x20\x20\x20float\x20result\x20=\x20texture2D(windTexture,\x20normalizedIndex2D).r;\x0a\x20\x20\x20\x20return\x20result;\x0a}\x0a\x0aconst\x20mat4\x20kernelMatrix\x20=\x20mat4(\x0a\x20\x20\x20\x200.0,\x20-1.0,\x202.0,\x20-1.0,\x20//\x20first\x20column\x0a\x20\x20\x20\x202.0,\x200.0,\x20-5.0,\x203.0,\x20//\x20second\x20column\x0a\x20\x20\x20\x200.0,\x201.0,\x204.0,\x20-3.0,\x20//\x20third\x20column\x0a\x20\x20\x20\x200.0,\x200.0,\x20-1.0,\x201.0\x20//\x20fourth\x20column\x0a);\x0afloat\x20oneDimensionInterpolation(float\x20t,\x20float\x20p0,\x20float\x20p1,\x20float\x20p2,\x20float\x20p3)\x20{\x0a\x20\x20\x20\x20vec4\x20tVec4\x20=\x20vec4(1.0,\x20t,\x20t\x20*\x20t,\x20t\x20*\x20t\x20*\x20t);\x0a\x20\x20\x20\x20tVec4\x20=\x20tVec4\x20/\x202.0;\x0a\x20\x20\x20\x20vec4\x20pVec4\x20=\x20vec4(p0,\x20p1,\x20p2,\x20p3);\x0a\x20\x20\x20\x20return\x20dot((tVec4\x20*\x20kernelMatrix),\x20pVec4);\x0a}\x0a\x0afloat\x20calculateB(sampler2D\x20windTexture,\x20float\x20t,\x20float\x20lon,\x20float\x20lat,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20float\x20lon0\x20=\x20floor(lon)\x20-\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon1\x20=\x20floor(lon);\x0a\x20\x20\x20\x20float\x20lon2\x20=\x20floor(lon)\x20+\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon3\x20=\x20floor(lon)\x20+\x202.0\x20*\x20interval.x;\x0a\x0a\x20\x20\x20\x20float\x20p0\x20=\x20getWind(windTexture,\x20vec3(lon0,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p1\x20=\x20getWind(windTexture,\x20vec3(lon1,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p2\x20=\x20getWind(windTexture,\x20vec3(lon2,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p3\x20=\x20getWind(windTexture,\x20vec3(lon3,\x20lat,\x20lev));\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(t,\x20p0,\x20p1,\x20p2,\x20p3);\x0a}\x0a\x0afloat\x20interpolateOneTexture(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20float\x20lon\x20=\x20lonLatLev.x;\x0a\x20\x20\x20\x20float\x20lat\x20=\x20lonLatLev.y;\x0a\x20\x20\x20\x20float\x20lev\x20=\x20lonLatLev.z;\x0a\x0a\x20\x20\x20\x20float\x20lat0\x20=\x20floor(lat)\x20-\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat1\x20=\x20floor(lat);\x0a\x20\x20\x20\x20float\x20lat2\x20=\x20floor(lat)\x20+\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat3\x20=\x20floor(lat)\x20+\x202.0\x20*\x20interval.y;\x0a\x0a\x20\x20\x20\x20vec2\x20coefficient\x20=\x20lonLatLev.xy\x20-\x20floor(lonLatLev.xy);\x0a\x20\x20\x20\x20float\x20b0\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat0,\x20lev);\x0a\x20\x20\x20\x20float\x20b1\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat1,\x20lev);\x0a\x20\x20\x20\x20float\x20b2\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat2,\x20lev);\x0a\x20\x20\x20\x20float\x20b3\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat3,\x20lev);\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(coefficient.y,\x20b0,\x20b1,\x20b2,\x20b3);\x0a}\x0a\x0avec3\x20bicubic(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20https://en.wikipedia.org/wiki/Bicubic_interpolation#Bicubic_convolution_algorithm\x0a\x20\x20\x20\x20float\x20u\x20=\x20interpolateOneTexture(U,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20v\x20=\x20interpolateOneTexture(V,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20return\x20vec3(u,\x20v,\x20w);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20bicubic(lonLatLev);\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(windVector,\x200.0);\x0a}','isPointVisible','currentTrailsDepth','createRawRenderState','width','destroyObject','north','Matrix4','_bilinearInterpolation','reverseY','EventType','particles','103191YlIXxr','_calcUV','frameTime','addPrimitives','uniform\x20sampler2D\x20segmentsColorTexture;\x0d\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0d\x0a\x0d\x0auniform\x20sampler2D\x20currentTrailsColor;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0auniform\x20float\x20fadeOpacity;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture2D(segmentsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(currentTrailsColor,\x20textureCoordinate);\x0d\x0a\x0d\x0a\x20\x20\x20\x20trailsColor\x20=\x20floor(fadeOpacity\x20*\x20255.0\x20*\x20trailsColor)\x20/\x20255.0;\x20//\x20make\x20sure\x20the\x20trailsColor\x20will\x20be\x20strictly\x20decreased\x0d\x0a\x0d\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture2D(segmentsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20pointsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20gl_FragDepthEXT\x20=\x20min(pointsDepth,\x20trailsDepth);\x0d\x0a}','windTextures','setGeometry','getUserInput','particlesWind','attribute\x20vec3\x20position;\x0d\x0aattribute\x20vec2\x20st;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20textureCoordinate\x20=\x20st;\x0d\x0a\x20\x20\x20\x20gl_Position\x20=\x20vec4(position,\x201.0);\x0d\x0a}','symbol','drawWind','create','requestAnimationFrame','createComputingPrimitives','randomParticle','TRIANGLES','particlesComputing','lon','colorNum','lat','Framebuffer','getWind','remove','0px','context','function','constructor','fixedHeight','canvasContext','speedFactor','addEventListener','PI_OVER_TWO','GeometryAttributes','primitives','canvasHeight','particleSystem','ellipsoid','ZERO','#ffffff','keys','getExtent','setData','updateViewerParameters','_addedHook','updateDate','currentTrailsColor','push'];a0_0x1966=function(){return _0x180b07;};return a0_0x1966();}(function(_0x4eaeb5,_0xcbd4bf){var _0x3f6a7b=a0_0x1db2,_0x247344=_0x4eaeb5();while(!![]){try{var _0x39a544=-parseInt(_0x3f6a7b(0xf9))/0x1*(-parseInt(_0x3f6a7b(0x1ef))/0x2)+parseInt(_0x3f6a7b(0x176))/0x3*(-parseInt(_0x3f6a7b(0x1c6))/0x4)+parseInt(_0x3f6a7b(0x11f))/0x5*(parseInt(_0x3f6a7b(0x147))/0x6)+parseInt(_0x3f6a7b(0x1fc))/0x7+parseInt(_0x3f6a7b(0x132))/0x8+-parseInt(_0x3f6a7b(0x12e))/0x9*(-parseInt(_0x3f6a7b(0x9f))/0xa)+-parseInt(_0x3f6a7b(0xd9))/0xb;if(_0x39a544===_0xcbd4bf)break;else _0x247344['push'](_0x247344['shift']());}catch(_0x30ff17){_0x247344['push'](_0x247344['shift']());}}}(a0_0x1966,0x84c29),window['mars3dWind']=function(_0x1afd62){var _0xccea96={};function _0x451a06(_0x33675b){var _0x45ff07=a0_0x1db2;if(_0xccea96[_0x33675b])return _0xccea96[_0x33675b]['exports'];var _0x80d80a=_0xccea96[_0x33675b]={'i':_0x33675b,'l':!0x1,'exports':{}};return _0x1afd62[_0x33675b][_0x45ff07(0x1f9)](_0x80d80a[_0x45ff07(0x1f5)],_0x80d80a,_0x80d80a[_0x45ff07(0x1f5)],_0x451a06),_0x80d80a['l']=!0x0,_0x80d80a[_0x45ff07(0x1f5)];}return _0x451a06['m']=_0x1afd62,_0x451a06['c']=_0xccea96,_0x451a06['d']=function(_0xe82a40,_0x32c2eb,_0x43abe8){var _0x463add=a0_0x1db2;_0x451a06['o'](_0xe82a40,_0x32c2eb)||Object[_0x463add(0x1a8)](_0xe82a40,_0x32c2eb,{'enumerable':!0x0,'get':_0x43abe8});},_0x451a06['r']=function(_0xdf1f00){var _0x27fe47=a0_0x1db2;_0x27fe47(0x1ad)!=typeof Symbol&&Symbol[_0x27fe47(0x1da)]&&Object['defineProperty'](_0xdf1f00,Symbol[_0x27fe47(0x1da)],{'value':_0x27fe47(0x92)}),Object[_0x27fe47(0x1a8)](_0xdf1f00,_0x27fe47(0x110),{'value':!0x0});},_0x451a06['t']=function(_0x4e1321,_0x4150c6){var _0x3ea992=a0_0x1db2;if(0x1&_0x4150c6&&(_0x4e1321=_0x451a06(_0x4e1321)),0x8&_0x4150c6)return _0x4e1321;if(0x4&_0x4150c6&&_0x3ea992(0x12b)==typeof _0x4e1321&&_0x4e1321&&_0x4e1321[_0x3ea992(0x110)])return _0x4e1321;var _0x4c0191=Object[_0x3ea992(0x182)](null);if(_0x451a06['r'](_0x4c0191),Object['defineProperty'](_0x4c0191,_0x3ea992(0x1d7),{'enumerable':!0x0,'value':_0x4e1321}),0x2&_0x4150c6&&_0x3ea992(0xa4)!=typeof _0x4e1321){for(var _0x4f29a5 in _0x4e1321)_0x451a06['d'](_0x4c0191,_0x4f29a5,function(_0x332cc1){return _0x4e1321[_0x332cc1];}[_0x3ea992(0x8d)](null,_0x4f29a5));}return _0x4c0191;},_0x451a06['n']=function(_0x50bcf9){var _0x26be5c=a0_0x1db2,_0x37e732=_0x50bcf9&&_0x50bcf9[_0x26be5c(0x110)]?function(){var _0x1c1e64=_0x26be5c;return _0x50bcf9[_0x1c1e64(0x1d7)];}:function(){return _0x50bcf9;};return _0x451a06['d'](_0x37e732,'a',_0x37e732),_0x37e732;},_0x451a06['o']=function(_0x9d3d6a,_0xa6071){var _0x4a6f50=a0_0x1db2;return Object[_0x4a6f50(0x8b)][_0x4a6f50(0xd4)]['call'](_0x9d3d6a,_0xa6071);},_0x451a06['p']='',_0x451a06(_0x451a06['s']=0x14);}([function(_0x3af9c0,_0x4923e8){var _0x2bafb8=a0_0x1db2;_0x3af9c0[_0x2bafb8(0x1f5)]=window[_0x2bafb8(0x1c3)];},function(_0x26d710,_0x1bb94e){var _0x31bc44=a0_0x1db2;_0x26d710[_0x31bc44(0x1f5)]=window[_0x31bc44(0xf0)];},function(_0x44600b,_0x4bf139){var _0x33771b=a0_0x1db2;_0x44600b[_0x33771b(0x1f5)]=function(_0x225bc5,_0x4ccf41){if(!(_0x225bc5 instanceof _0x4ccf41))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');},_0x44600b[_0x33771b(0x1f5)][_0x33771b(0x1d7)]=_0x44600b[_0x33771b(0x1f5)],_0x44600b['exports'][_0x33771b(0x110)]=!0x0;},function(_0xd3182e,_0x5b845a){var _0x4cb0e6=a0_0x1db2;function _0x5c6669(_0x4868ba,_0x52649b){var _0x35505c=a0_0x1db2;for(var _0x5286b9=0x0;_0x5286b9<_0x52649b[_0x35505c(0x116)];_0x5286b9++){var _0x394660=_0x52649b[_0x5286b9];_0x394660[_0x35505c(0x125)]=_0x394660[_0x35505c(0x125)]||!0x1,_0x394660['configurable']=!0x0,_0x35505c(0xed)in _0x394660&&(_0x394660[_0x35505c(0x155)]=!0x0),Object[_0x35505c(0x1a8)](_0x4868ba,_0x394660[_0x35505c(0xd3)],_0x394660);}}_0xd3182e['exports']=function(_0x392c2f,_0x5ed61f,_0x11eb72){var _0xeb85d3=a0_0x1db2;return _0x5ed61f&&_0x5c6669(_0x392c2f[_0xeb85d3(0x8b)],_0x5ed61f),_0x11eb72&&_0x5c6669(_0x392c2f,_0x11eb72),_0x392c2f;},_0xd3182e['exports']['default']=_0xd3182e[_0x4cb0e6(0x1f5)],_0xd3182e['exports'][_0x4cb0e6(0x110)]=!0x0;},function(_0xbab51a,_0x353722){var _0x1385f8=a0_0x1db2;function _0x4ae828(_0x309848){var _0x2e5d92=a0_0x1db2;return _0xbab51a[_0x2e5d92(0x1f5)]=_0x4ae828=Object['setPrototypeOf']?Object[_0x2e5d92(0x1d2)]:function(_0x52b5b6){var _0x19d4a4=_0x2e5d92;return _0x52b5b6[_0x19d4a4(0x15a)]||Object[_0x19d4a4(0x1d2)](_0x52b5b6);},_0xbab51a[_0x2e5d92(0x1f5)]['default']=_0xbab51a[_0x2e5d92(0x1f5)],_0xbab51a[_0x2e5d92(0x1f5)][_0x2e5d92(0x110)]=!0x0,_0x4ae828(_0x309848);}_0xbab51a[_0x1385f8(0x1f5)]=_0x4ae828,_0xbab51a['exports'][_0x1385f8(0x1d7)]=_0xbab51a['exports'],_0xbab51a['exports']['__esModule']=!0x0;},function(_0xd2b971,_0x38965a,_0x42d01c){var _0x44e627=a0_0x1db2,_0x14e3ff=_0x42d01c(0x11);_0xd2b971['exports']=function(_0x103b53,_0x59e8af){var _0x1582c2=a0_0x1db2;if(_0x1582c2(0x190)!=typeof _0x59e8af&&null!==_0x59e8af)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');_0x103b53[_0x1582c2(0x8b)]=Object[_0x1582c2(0x182)](_0x59e8af&&_0x59e8af[_0x1582c2(0x8b)],{'constructor':{'value':_0x103b53,'writable':!0x0,'configurable':!0x0}}),_0x59e8af&&_0x14e3ff(_0x103b53,_0x59e8af);},_0xd2b971[_0x44e627(0x1f5)][_0x44e627(0x1d7)]=_0xd2b971[_0x44e627(0x1f5)],_0xd2b971[_0x44e627(0x1f5)][_0x44e627(0x110)]=!0x0;},function(_0x3a41bc,_0xe9197e,_0x57d974){var _0x576532=a0_0x1db2,_0x2bcd5c=_0x57d974(0x12)[_0x576532(0x1d7)],_0x5a144f=_0x57d974(0x13);_0x3a41bc[_0x576532(0x1f5)]=function(_0x314d51,_0x59779a){var _0x4e056f=_0x576532;if(_0x59779a&&(_0x4e056f(0x12b)===_0x2bcd5c(_0x59779a)||_0x4e056f(0x190)==typeof _0x59779a))return _0x59779a;if(void 0x0!==_0x59779a)throw new TypeError(_0x4e056f(0x12a));return _0x5a144f(_0x314d51);},_0x3a41bc['exports'][_0x576532(0x1d7)]=_0x3a41bc[_0x576532(0x1f5)],_0x3a41bc[_0x576532(0x1f5)][_0x576532(0x110)]=!0x0;},function(_0x387440,_0x2b3f94){var _0x367a4c=a0_0x1db2;_0x387440[_0x367a4c(0x1f5)]=_0x367a4c(0x17f);},function(_0x2bd704,_0x5bdc92){var _0x2b248b=a0_0x1db2;_0x2bd704[_0x2b248b(0x1f5)]=_0x2b248b(0x1e3);},function(_0x1d5ffb,_0x3505cd){var _0x1fcb27=a0_0x1db2;_0x1d5ffb['exports']=_0x1fcb27(0xfe);},function(_0x4bc4dc,_0xab3c5c){var _0x113fd8=a0_0x1db2;_0x4bc4dc[_0x113fd8(0x1f5)]=_0x113fd8(0x17a);},function(_0x13c14d,_0x35d7a9){var _0x11c5b0=a0_0x1db2;_0x13c14d[_0x11c5b0(0x1f5)]=_0x11c5b0(0x201);},function(_0x39665,_0x590c98){var _0x58a17e=a0_0x1db2;_0x39665[_0x58a17e(0x1f5)]=_0x58a17e(0x16a);},function(_0x57dd5d,_0x513f08){var _0x30189d=a0_0x1db2;_0x57dd5d[_0x30189d(0x1f5)]=_0x30189d(0x137);},function(_0xdcdd1b,_0x82dd6b){var _0x1e181e=a0_0x1db2;_0xdcdd1b[_0x1e181e(0x1f5)]=_0x1e181e(0xab);},function(_0x462660,_0x3878c6){var _0x401719=a0_0x1db2;_0x462660[_0x401719(0x1f5)]=_0x401719(0x1ed);},function(_0x637923,_0x35a73c){var _0x163065=a0_0x1db2;_0x637923[_0x163065(0x1f5)]='uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture2D(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}';},function(_0x40cd01,_0xed4d26){var _0x2ac776=a0_0x1db2;function _0x2d0e52(_0x3c665b,_0x38345c){var _0x5eaa7a=a0_0x1db2;return _0x40cd01[_0x5eaa7a(0x1f5)]=_0x2d0e52=Object[_0x5eaa7a(0xad)]||function(_0x2267f2,_0x2132ab){var _0x1d7750=_0x5eaa7a;return _0x2267f2[_0x1d7750(0x15a)]=_0x2132ab,_0x2267f2;},_0x40cd01[_0x5eaa7a(0x1f5)][_0x5eaa7a(0x1d7)]=_0x40cd01[_0x5eaa7a(0x1f5)],_0x40cd01[_0x5eaa7a(0x1f5)][_0x5eaa7a(0x110)]=!0x0,_0x2d0e52(_0x3c665b,_0x38345c);}_0x40cd01[_0x2ac776(0x1f5)]=_0x2d0e52,_0x40cd01[_0x2ac776(0x1f5)]['default']=_0x40cd01['exports'],_0x40cd01[_0x2ac776(0x1f5)][_0x2ac776(0x110)]=!0x0;},function(_0x5dbead,_0x5e5e86){var _0x14729f=a0_0x1db2;function _0x61a50f(_0x5aa6e1){var _0x4607c9=a0_0x1db2;return _0x4607c9(0x190)==typeof Symbol&&_0x4607c9(0x180)==typeof Symbol['iterator']?(_0x5dbead[_0x4607c9(0x1f5)]=_0x61a50f=function(_0x41a263){return typeof _0x41a263;},_0x5dbead[_0x4607c9(0x1f5)][_0x4607c9(0x1d7)]=_0x5dbead[_0x4607c9(0x1f5)],_0x5dbead['exports'][_0x4607c9(0x110)]=!0x0):(_0x5dbead['exports']=_0x61a50f=function(_0x2b3043){var _0x561c0f=_0x4607c9;return _0x2b3043&&_0x561c0f(0x190)==typeof Symbol&&_0x2b3043[_0x561c0f(0x191)]===Symbol&&_0x2b3043!==Symbol[_0x561c0f(0x8b)]?_0x561c0f(0x180):typeof _0x2b3043;},_0x5dbead[_0x4607c9(0x1f5)][_0x4607c9(0x1d7)]=_0x5dbead[_0x4607c9(0x1f5)],_0x5dbead[_0x4607c9(0x1f5)][_0x4607c9(0x110)]=!0x0),_0x61a50f(_0x5aa6e1);}_0x5dbead[_0x14729f(0x1f5)]=_0x61a50f,_0x5dbead[_0x14729f(0x1f5)][_0x14729f(0x1d7)]=_0x5dbead[_0x14729f(0x1f5)],_0x5dbead['exports']['__esModule']=!0x0;},function(_0x5053e4,_0x569e84){var _0x60941a=a0_0x1db2;_0x5053e4['exports']=function(_0xd426a4){var _0x1469fe=a0_0x1db2;if(void 0x0===_0xd426a4)throw new ReferenceError(_0x1469fe(0xeb));return _0xd426a4;},_0x5053e4['exports']['default']=_0x5053e4[_0x60941a(0x1f5)],_0x5053e4[_0x60941a(0x1f5)][_0x60941a(0x110)]=!0x0;},function(_0x48bf63,_0x101b67,_0x306f16){'use strict';var _0x3e7117=a0_0x1db2;_0x306f16['r'](_0x101b67),_0x306f16['d'](_0x101b67,_0x3e7117(0x159),function(){return _0x2f2d06;}),_0x306f16['d'](_0x101b67,_0x3e7117(0xc1),function(){return _0x341e60;}),_0x306f16['d'](_0x101b67,_0x3e7117(0x15e),function(){return _0x175578;});var _0x175578={};_0x306f16['r'](_0x175578),_0x306f16['d'](_0x175578,_0x3e7117(0x1ec),function(){return _0x1c9258;}),_0x306f16['d'](_0x175578,_0x3e7117(0x9c),function(){return _0x5449d0;}),_0x306f16['d'](_0x175578,'getSpeed',function(){return _0x2cc124;}),_0x306f16['d'](_0x175578,_0x3e7117(0x1fa),function(){return _0x3b3c65;});var _0x43c4a0=_0x306f16(0x1),_0x317762=_0x306f16(0x2),_0xe8454=_0x306f16['n'](_0x317762),_0x24298a=_0x306f16(0x3),_0x4d2ebb=_0x306f16['n'](_0x24298a),_0x24e1aa=_0x306f16(0x5),_0x43b6f7=_0x306f16['n'](_0x24e1aa),_0x4ff670=_0x306f16(0x6),_0x3214b3=_0x306f16['n'](_0x4ff670),_0x2cfcb3=_0x306f16(0x4),_0x155bb1=_0x306f16['n'](_0x2cfcb3),_0x2ab937=_0x306f16(0x0),_0x176d6b=function(){var _0xcfd6f1=_0x3e7117;function _0x2bb317(_0x4a751d){var _0x4d0a30=a0_0x1db2;_0xe8454()(this,_0x2bb317),this[_0x4d0a30(0x11a)]=_0x4a751d[_0x4d0a30(0x11a)],this[_0x4d0a30(0xb8)]=_0x4a751d[_0x4d0a30(0xb8)],this[_0x4d0a30(0x1de)]=_0x4a751d[_0x4d0a30(0x1de)],this[_0x4d0a30(0xf2)]=_0x4a751d['primitiveType'],this[_0x4d0a30(0x163)]=_0x4a751d['uniformMap'],this[_0x4d0a30(0x139)]=_0x4a751d['vertexShaderSource'],this[_0x4d0a30(0xb1)]=_0x4a751d[_0x4d0a30(0xb1)],this[_0x4d0a30(0x1af)]=_0x4a751d['rawRenderState'],this['framebuffer']=_0x4a751d[_0x4d0a30(0x167)],this[_0x4d0a30(0x1f7)]=_0x4a751d[_0x4d0a30(0x1f7)],this[_0x4d0a30(0x1c1)]=_0x2ab937['defaultValue'](_0x4a751d[_0x4d0a30(0x1c1)],!0x1),this['preExecute']=_0x4a751d[_0x4d0a30(0x1a9)],this['show']=!0x0,this['commandToExecute']=void 0x0,this[_0x4d0a30(0xd7)]=void 0x0,this[_0x4d0a30(0x1c1)]&&(this[_0x4d0a30(0xd7)]=new _0x2ab937[(_0x4d0a30(0x9d))]({'color':new _0x2ab937[(_0x4d0a30(0x1ac))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x4d0a30(0x167)],'pass':_0x2ab937[_0x4d0a30(0xc0)][_0x4d0a30(0x151)]}));}return _0x4d2ebb()(_0x2bb317,[{'key':_0xcfd6f1(0xe9),'value':function(_0x1ed8bb){var _0x3f89f8=_0xcfd6f1;switch(this['commandType']){case _0x3f89f8(0xdb):var _0x28301f=_0x2ab937['VertexArray'][_0x3f89f8(0xe5)]({'context':_0x1ed8bb,'geometry':this['geometry'],'attributeLocations':this[_0x3f89f8(0x1de)],'bufferUsage':_0x2ab937[_0x3f89f8(0x1b6)][_0x3f89f8(0x127)]}),_0x45b4e3=_0x2ab937[_0x3f89f8(0x124)]['fromCache']({'context':_0x1ed8bb,'attributeLocations':this['attributeLocations'],'vertexShaderSource':this['vertexShaderSource'],'fragmentShaderSource':this[_0x3f89f8(0xb1)]}),_0x42768a=_0x2ab937[_0x3f89f8(0x9e)][_0x3f89f8(0x15c)](this['rawRenderState']);return new _0x2ab937[(_0x3f89f8(0xb4))]({'owner':this,'vertexArray':_0x28301f,'primitiveType':this['primitiveType'],'uniformMap':this[_0x3f89f8(0x163)],'modelMatrix':_0x2ab937[_0x3f89f8(0x171)][_0x3f89f8(0x1d6)],'shaderProgram':_0x45b4e3,'framebuffer':this['framebuffer'],'renderState':_0x42768a,'pass':_0x2ab937[_0x3f89f8(0xc0)][_0x3f89f8(0x151)]});case _0x3f89f8(0x206):return new _0x2ab937[(_0x3f89f8(0x8c))]({'owner':this,'fragmentShaderSource':this['fragmentShaderSource'],'uniformMap':this[_0x3f89f8(0x163)],'outputTexture':this[_0x3f89f8(0x1f7)],'persists':!0x0});}}},{'key':_0xcfd6f1(0x17c),'value':function(_0x238745,_0x9f031d){var _0x43afc2=_0xcfd6f1;this[_0x43afc2(0xb8)]=_0x9f031d;var _0x2d82ff=_0x2ab937[_0x43afc2(0xb2)]['fromGeometry']({'context':_0x238745,'geometry':this[_0x43afc2(0xb8)],'attributeLocations':this[_0x43afc2(0x1de)],'bufferUsage':_0x2ab937[_0x43afc2(0x1b6)][_0x43afc2(0x127)]});this['commandToExecute'][_0x43afc2(0xbf)]=_0x2d82ff;}},{'key':'update','value':function(_0x4686eb){var _0x3415c3=_0xcfd6f1;this[_0x3415c3(0x1f0)]&&_0x4686eb[_0x3415c3(0x1ae)]==_0x2ab937[_0x3415c3(0x150)][_0x3415c3(0xd5)]&&(_0x2ab937[_0x3415c3(0x1e1)](this[_0x3415c3(0x136)])||(this[_0x3415c3(0x136)]=this[_0x3415c3(0xe9)](_0x4686eb[_0x3415c3(0x18f)])),_0x2ab937[_0x3415c3(0x1e1)](this[_0x3415c3(0x1a9)])&&this[_0x3415c3(0x1a9)](),_0x2ab937[_0x3415c3(0x1e1)](this[_0x3415c3(0xd7)])&&_0x4686eb[_0x3415c3(0x91)][_0x3415c3(0x1a5)](this['clearCommand']),_0x4686eb[_0x3415c3(0x91)][_0x3415c3(0x1a5)](this['commandToExecute']));}},{'key':_0xcfd6f1(0x101),'value':function(){return!0x1;}},{'key':'destroy','value':function(){var _0x2ce9f6=_0xcfd6f1;return _0x2ab937[_0x2ce9f6(0x1e1)](this[_0x2ce9f6(0x136)])&&(this[_0x2ce9f6(0x136)][_0x2ce9f6(0x97)]=this[_0x2ce9f6(0x136)]['shaderProgram']&&this[_0x2ce9f6(0x136)][_0x2ce9f6(0x97)][_0x2ce9f6(0x1ee)]()),_0x2ab937[_0x2ce9f6(0x16f)](this);}}]),_0x2bb317;}(),_0x1151f0={'getFullscreenQuad':function(){var _0x13cb72=_0x3e7117;return new _0x2ab937[(_0x13cb72(0x166))]({'attributes':new _0x2ab937[(_0x13cb72(0x197))]({'position':new _0x2ab937[(_0x13cb72(0x1f8))]({'componentDatatype':_0x2ab937['ComponentDatatype'][_0x13cb72(0xa0)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x2ab937[(_0x13cb72(0x1f8))]({'componentDatatype':_0x2ab937['ComponentDatatype'][_0x13cb72(0xa0)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x4d2a29,_0xdbea66){var _0x41be95=_0x3e7117;if(_0x2ab937[_0x41be95(0x1e1)](_0xdbea66)){var _0x1d5593={};_0x1d5593[_0x41be95(0x1c0)]=_0xdbea66,_0x4d2a29[_0x41be95(0xde)]=_0x1d5593;}return new _0x2ab937[(_0x41be95(0xa3))](_0x4d2a29);},'createFramebuffer':function(_0x57a7b3,_0x4a7290,_0x582bc4){var _0xa8521e=_0x3e7117;return new _0x2ab937[(_0xa8521e(0x18b))]({'context':_0x57a7b3,'colorTextures':[_0x4a7290],'depthTexture':_0x582bc4});},'createRawRenderState':function(_0x2d4af9){var _0x2bd80f=_0x3e7117,_0x3378f6={'viewport':_0x2d4af9['viewport'],'depthTest':_0x2d4af9[_0x2bd80f(0x1cf)],'depthMask':_0x2d4af9[_0x2bd80f(0xfd)],'blending':_0x2d4af9[_0x2bd80f(0x1f3)]};return _0x2ab937[_0x2bd80f(0xff)]['getDefaultRenderState'](!0x0,!0x1,_0x3378f6);},'viewRectangleToLonLatRange':function(_0x5838be){var _0x340d15=_0x3e7117,_0x5f4929,_0x397d3f,_0x3d10b2={},_0x345479=_0x2ab937['Math'][_0x340d15(0xc6)](_0x5838be[_0x340d15(0x1a7)],_0x2ab937[_0x340d15(0xa6)]['TWO_PI']),_0x29feb6=_0x2ab937['Math']['mod'](_0x5838be[_0x340d15(0x126)],_0x2ab937['Math']['TWO_PI']),_0xaf735b=_0x5838be[_0x340d15(0x16e)];_0xaf735b>_0x2ab937[_0x340d15(0xa6)][_0x340d15(0x1df)]?(_0x5f4929=0x0,_0x397d3f=_0x2ab937[_0x340d15(0xa6)][_0x340d15(0xe2)]):_0x29feb6-_0x345479<_0xaf735b?(_0x5f4929=_0x345479,_0x397d3f=_0x345479+_0xaf735b):(_0x5f4929=_0x345479,_0x397d3f=_0x29feb6),_0x3d10b2[_0x340d15(0x188)]={'min':_0x2ab937[_0x340d15(0xa6)][_0x340d15(0x1dd)](_0x5f4929),'max':_0x2ab937['Math'][_0x340d15(0x1dd)](_0x397d3f)};var _0x3fb94f=_0x5838be['south'],_0x557991=_0x5838be[_0x340d15(0x170)],_0x59b4b0=_0x5838be[_0x340d15(0x1b9)],_0x3824b3=_0x59b4b0>_0x2ab937[_0x340d15(0xa6)]['PI']/0xc?_0x59b4b0/0x2:0x0,_0x3d01c6=_0x2ab937[_0x340d15(0xa6)][_0x340d15(0xa2)](_0x3fb94f-_0x3824b3),_0x516bfa=_0x2ab937[_0x340d15(0xa6)][_0x340d15(0xa2)](_0x557991+_0x3824b3);return _0x3d01c6<-_0x2ab937[_0x340d15(0xa6)][_0x340d15(0x1ea)]&&(_0x3d01c6=-_0x2ab937[_0x340d15(0xa6)][_0x340d15(0x196)]),_0x516bfa>_0x2ab937['Math'][_0x340d15(0x1ea)]&&(_0x516bfa=_0x2ab937['Math']['PI_OVER_TWO']),_0x3d10b2['lat']={'min':_0x2ab937['Math'][_0x340d15(0x1dd)](_0x3d01c6),'max':_0x2ab937[_0x340d15(0xa6)][_0x340d15(0x1dd)](_0x516bfa)},_0x3d10b2;}},_0x24f03b=_0x306f16(0x8),_0x217c95=_0x306f16['n'](_0x24f03b),_0x5efd59=_0x306f16(0x9),_0x4891e8=_0x306f16['n'](_0x5efd59),_0x2ad2ba=_0x306f16(0x7),_0x20a5df=_0x306f16['n'](_0x2ad2ba),_0x18973c=_0x306f16(0xa),_0x465c3a=_0x306f16['n'](_0x18973c),_0x12ecc7=_0x306f16(0xb),_0x4b6c20=_0x306f16['n'](_0x12ecc7),_0x5341cc=function(){var _0x2cd09a=_0x3e7117;function _0x172c62(_0x4524f9,_0x43bff5,_0x36e451,_0x48a287,_0x52d656){var _0x5c5c38=a0_0x1db2;_0xe8454()(this,_0x172c62),this['createRenderingTextures'](_0x4524f9,_0x43bff5),this['createRenderingFramebuffers'](_0x4524f9),this[_0x5c5c38(0xb3)](_0x4524f9,_0x36e451,_0x48a287,_0x52d656);}return _0x4d2ebb()(_0x172c62,[{'key':_0x2cd09a(0x122),'value':function(_0x4ccdfd,_0x42c61a){var _0x5a38a4=_0x2cd09a,_0x2c2205={'context':_0x4ccdfd,'width':_0x4ccdfd[_0x5a38a4(0x15d)],'height':_0x4ccdfd[_0x5a38a4(0x1fb)],'pixelFormat':_0x2ab937['PixelFormat'][_0x5a38a4(0x169)],'pixelDatatype':_0x2ab937[_0x5a38a4(0x1b3)][_0x5a38a4(0x205)]},_0x272142={'context':_0x4ccdfd,'width':_0x4ccdfd[_0x5a38a4(0x15d)],'height':_0x4ccdfd[_0x5a38a4(0x1fb)],'pixelFormat':_0x2ab937[_0x5a38a4(0x1bc)]['DEPTH_COMPONENT'],'pixelDatatype':_0x2ab937[_0x5a38a4(0x1b3)][_0x5a38a4(0x107)]},_0x40f91c={'context':_0x4ccdfd,'width':_0x42c61a[_0x5a38a4(0x1e7)][_0x5a38a4(0x189)],'height':0x1,'pixelFormat':_0x2ab937[_0x5a38a4(0x1bc)][_0x5a38a4(0x1e2)],'pixelDatatype':_0x2ab937[_0x5a38a4(0x1b3)][_0x5a38a4(0xa0)],'sampler':new _0x2ab937['Sampler']({'minificationFilter':_0x2ab937[_0x5a38a4(0x1dc)][_0x5a38a4(0xef)],'magnificationFilter':_0x2ab937[_0x5a38a4(0x11c)][_0x5a38a4(0xef)]})};this[_0x5a38a4(0x130)]={'segmentsColor':_0x1151f0[_0x5a38a4(0x157)](_0x2c2205),'segmentsDepth':_0x1151f0['createTexture'](_0x272142),'currentTrailsColor':_0x1151f0['createTexture'](_0x2c2205),'currentTrailsDepth':_0x1151f0[_0x5a38a4(0x157)](_0x272142),'nextTrailsColor':_0x1151f0[_0x5a38a4(0x157)](_0x2c2205),'nextTrailsDepth':_0x1151f0[_0x5a38a4(0x157)](_0x272142),'colorTable':_0x1151f0[_0x5a38a4(0x157)](_0x40f91c,_0x42c61a[_0x5a38a4(0x1e7)][_0x5a38a4(0x113)])};}},{'key':_0x2cd09a(0x10f),'value':function(_0x454bcf){var _0x55639e=_0x2cd09a;this[_0x55639e(0x148)]={'segments':_0x1151f0[_0x55639e(0x1c9)](_0x454bcf,this[_0x55639e(0x130)][_0x55639e(0xfa)],this['textures'][_0x55639e(0xf8)]),'currentTrails':_0x1151f0['createFramebuffer'](_0x454bcf,this[_0x55639e(0x130)][_0x55639e(0x1a4)],this[_0x55639e(0x130)][_0x55639e(0x16c)]),'nextTrails':_0x1151f0[_0x55639e(0x1c9)](_0x454bcf,this[_0x55639e(0x130)][_0x55639e(0x115)],this['textures'][_0x55639e(0x13e)])};}},{'key':_0x2cd09a(0x1b8),'value':function(_0x2563a9){var _0x17e35f=_0x2cd09a;for(var _0x5adf6f=[],_0x5ad85f=0x0;_0x5ad85f<_0x2563a9[_0x17e35f(0x1fd)];_0x5ad85f++)for(var _0x488b6d=0x0;_0x488b6d<_0x2563a9[_0x17e35f(0x1fd)];_0x488b6d++)for(var _0x487676=0x0;_0x487676<0x4;_0x487676++)_0x5adf6f[_0x17e35f(0x1a5)](_0x5ad85f/_0x2563a9[_0x17e35f(0x1fd)]),_0x5adf6f[_0x17e35f(0x1a5)](_0x488b6d/_0x2563a9[_0x17e35f(0x1fd)]);_0x5adf6f=new Float32Array(_0x5adf6f);for(var _0x14d8f4=[],_0x11de20=[-0x1,0x1],_0x31a16f=[-0x1,0x1],_0x28590b=0x0;_0x28590b<_0x2563a9[_0x17e35f(0x1ff)];_0x28590b++)for(var _0x301b8f=0x0;_0x301b8f<0x2;_0x301b8f++)for(var _0x1e5aee=0x0;_0x1e5aee<0x2;_0x1e5aee++)_0x14d8f4[_0x17e35f(0x1a5)](_0x11de20[_0x301b8f]),_0x14d8f4[_0x17e35f(0x1a5)](_0x31a16f[_0x1e5aee]),_0x14d8f4[_0x17e35f(0x1a5)](0x0);_0x14d8f4=new Float32Array(_0x14d8f4);for(var _0x22545f=0x6*_0x2563a9[_0x17e35f(0x1ff)],_0x3199fa=new Uint32Array(_0x22545f),_0x425c93=0x0,_0x172a82=0x0,_0x297d39=0x0;_0x425c93<_0x2563a9[_0x17e35f(0x1ff)];_0x425c93++)_0x3199fa[_0x172a82++]=_0x297d39+0x0,_0x3199fa[_0x172a82++]=_0x297d39+0x1,_0x3199fa[_0x172a82++]=_0x297d39+0x2,_0x3199fa[_0x172a82++]=_0x297d39+0x2,_0x3199fa[_0x172a82++]=_0x297d39+0x1,_0x3199fa[_0x172a82++]=_0x297d39+0x3,_0x297d39+=0x4;return new _0x2ab937[(_0x17e35f(0x166))]({'attributes':new _0x2ab937[(_0x17e35f(0x197))]({'st':new _0x2ab937['GeometryAttribute']({'componentDatatype':_0x2ab937[_0x17e35f(0x10e)][_0x17e35f(0xa0)],'componentsPerAttribute':0x2,'values':_0x5adf6f}),'normal':new _0x2ab937[(_0x17e35f(0x1f8))]({'componentDatatype':_0x2ab937[_0x17e35f(0x10e)][_0x17e35f(0xa0)],'componentsPerAttribute':0x3,'values':_0x14d8f4})}),'indices':_0x3199fa});}},{'key':_0x2cd09a(0xb3),'value':function(_0x378e0f,_0xe7185e,_0x2602a9,_0x248f3f){var _0x2fe471=_0x2cd09a,_0x5b63a3=this;this['primitives']={'segments':new _0x176d6b({'commandType':'Draw','attributeLocations':{'st':0x0,'normal':0x1},'geometry':this['createSegmentsGeometry'](_0xe7185e),'primitiveType':_0x2ab937['PrimitiveType'][_0x2fe471(0x186)],'uniformMap':{'currentParticlesPosition':function(){var _0x166e4e=_0x2fe471;return _0x248f3f[_0x166e4e(0x146)][_0x166e4e(0xf7)];},'postProcessingPosition':function(){var _0x2b687e=_0x2fe471;return _0x248f3f['particlesTextures'][_0x2b687e(0x1d3)];},'postProcessingSpeed':function(){var _0x41b203=_0x2fe471;return _0x248f3f[_0x41b203(0x146)]['postProcessingSpeed'];},'colorTable':function(){var _0x1dfaa2=_0x2fe471;return _0x5b63a3[_0x1dfaa2(0x130)][_0x1dfaa2(0x1e7)];},'aspect':function(){var _0x4ce7dc=_0x2fe471;return _0x378e0f[_0x4ce7dc(0x15d)]/_0x378e0f[_0x4ce7dc(0x1fb)];},'pixelSize':function(){var _0x4cbf67=_0x2fe471;return _0x2602a9[_0x4cbf67(0xc7)];},'lineWidth':function(){var _0x69641=_0x2fe471;return _0xe7185e[_0x69641(0xb5)];},'particleHeight':function(){return _0xe7185e['particleHeight'];}},'vertexShaderSource':new _0x2ab937[(_0x2fe471(0xa9))]({'sources':[_0x217c95['a']]}),'fragmentShaderSource':new _0x2ab937[(_0x2fe471(0xa9))]({'sources':[_0x4891e8['a']]}),'rawRenderState':_0x1151f0[_0x2fe471(0x16d)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this['framebuffers'][_0x2fe471(0x12c)],'autoClear':!0x0}),'trails':new _0x176d6b({'commandType':'Draw','attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x1151f0[_0x2fe471(0xb7)](),'primitiveType':_0x2ab937[_0x2fe471(0x1ba)]['TRIANGLES'],'uniformMap':{'segmentsColorTexture':function(){var _0x257e45=_0x2fe471;return _0x5b63a3[_0x257e45(0x130)]['segmentsColor'];},'segmentsDepthTexture':function(){var _0x59d573=_0x2fe471;return _0x5b63a3[_0x59d573(0x130)][_0x59d573(0xf8)];},'currentTrailsColor':function(){var _0x5da6c2=_0x2fe471;return _0x5b63a3[_0x5da6c2(0x148)][_0x5da6c2(0x158)][_0x5da6c2(0x1f4)](0x0);},'trailsDepthTexture':function(){var _0xa16d6c=_0x2fe471;return _0x5b63a3[_0xa16d6c(0x148)][_0xa16d6c(0x158)]['depthTexture'];},'fadeOpacity':function(){return _0xe7185e['fadeOpacity'];}},'vertexShaderSource':new _0x2ab937[(_0x2fe471(0xa9))]({'defines':['DISABLE_GL_POSITION_LOG_DEPTH'],'sources':[_0x20a5df['a']]}),'fragmentShaderSource':new _0x2ab937[(_0x2fe471(0xa9))]({'defines':[_0x2fe471(0xb9)],'sources':[_0x465c3a['a']]}),'rawRenderState':_0x1151f0[_0x2fe471(0x16d)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x2ab937[_0x2fe471(0x103)][_0x2fe471(0xce)]},'depthMask':!0x0}),'framebuffer':this[_0x2fe471(0x148)]['nextTrails'],'autoClear':!0x0,'preExecute':function(){var _0x20005b=_0x2fe471,_0x808a97;_0x808a97=_0x5b63a3[_0x20005b(0x148)]['currentTrails'],_0x5b63a3[_0x20005b(0x148)]['currentTrails']=_0x5b63a3[_0x20005b(0x148)][_0x20005b(0x10c)],_0x5b63a3[_0x20005b(0x148)]['nextTrails']=_0x808a97,_0x5b63a3[_0x20005b(0x198)]['trails'][_0x20005b(0x136)]['framebuffer']=_0x5b63a3[_0x20005b(0x148)][_0x20005b(0x10c)],_0x5b63a3['primitives']['trails']['clearCommand'][_0x20005b(0x167)]=_0x5b63a3[_0x20005b(0x148)][_0x20005b(0x10c)];}}),'screen':new _0x176d6b({'commandType':_0x2fe471(0xdb),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x1151f0[_0x2fe471(0xb7)](),'primitiveType':_0x2ab937[_0x2fe471(0x1ba)][_0x2fe471(0x186)],'uniformMap':{'trailsColorTexture':function(){var _0x37b639=_0x2fe471;return _0x5b63a3['framebuffers']['nextTrails'][_0x37b639(0x1f4)](0x0);},'trailsDepthTexture':function(){var _0x3c3252=_0x2fe471;return _0x5b63a3[_0x3c3252(0x148)][_0x3c3252(0x10c)]['depthTexture'];}},'vertexShaderSource':new _0x2ab937[(_0x2fe471(0xa9))]({'defines':[_0x2fe471(0xc4)],'sources':[_0x20a5df['a']]}),'fragmentShaderSource':new _0x2ab937[(_0x2fe471(0xa9))]({'defines':[_0x2fe471(0xb9)],'sources':[_0x4b6c20['a']]}),'rawRenderState':_0x1151f0['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x172c62;}(),_0x177953=_0x306f16(0xc),_0x22c28f=_0x306f16['n'](_0x177953),_0x1fcdca=_0x306f16(0xd),_0x1a86df=_0x306f16['n'](_0x1fcdca),_0x3c2158=_0x306f16(0xe),_0x2ce942=_0x306f16['n'](_0x3c2158),_0x431167=_0x306f16(0xf),_0x232f6a=_0x306f16['n'](_0x431167),_0x1d694f=_0x306f16(0x10),_0x5d31b8=_0x306f16['n'](_0x1d694f),_0x51666d=function(){var _0x353351=_0x3e7117;function _0x51fcb3(_0x188161,_0x3aceca,_0x4dd7fa,_0x1b254c){var _0x117fbe=a0_0x1db2;_0xe8454()(this,_0x51fcb3),this[_0x117fbe(0xa8)]=_0x3aceca,this['createWindTextures'](_0x188161,_0x3aceca),this[_0x117fbe(0x10a)](_0x188161,_0x4dd7fa,_0x1b254c),this[_0x117fbe(0x184)](_0x3aceca,_0x4dd7fa,_0x1b254c);}return _0x4d2ebb()(_0x51fcb3,[{'key':_0x353351(0x1ca),'value':function(_0x3d1c9b,_0x189037){var _0x5de59f=_0x353351,_0x413885={'context':_0x3d1c9b,'width':_0x189037[_0x5de59f(0xf3)][_0x5de59f(0x188)],'height':_0x189037['dimensions'][_0x5de59f(0x18a)]*_0x189037[_0x5de59f(0xf3)][_0x5de59f(0x1d5)],'pixelFormat':_0x2ab937['PixelFormat'][_0x5de59f(0x14a)],'pixelDatatype':_0x2ab937[_0x5de59f(0x1b3)][_0x5de59f(0xa0)],'flipY':!0x1,'sampler':new _0x2ab937[(_0x5de59f(0x104))]({'minificationFilter':_0x2ab937[_0x5de59f(0x1dc)]['NEAREST'],'magnificationFilter':_0x2ab937[_0x5de59f(0x11c)][_0x5de59f(0xa7)]})};this[_0x5de59f(0x17b)]={'U':_0x1151f0[_0x5de59f(0x157)](_0x413885,_0x189037['U'][_0x5de59f(0x113)]),'V':_0x1151f0[_0x5de59f(0x157)](_0x413885,_0x189037['V'][_0x5de59f(0x113)])};}},{'key':_0x353351(0x10a),'value':function(_0x4e93b3,_0x319bd2,_0x4af946){var _0x18610f=_0x353351,_0x28a4fb={'context':_0x4e93b3,'width':_0x319bd2[_0x18610f(0x1fd)],'height':_0x319bd2[_0x18610f(0x1fd)],'pixelFormat':_0x2ab937[_0x18610f(0x1bc)][_0x18610f(0x169)],'pixelDatatype':_0x2ab937[_0x18610f(0x1b3)][_0x18610f(0xa0)],'flipY':!0x1,'sampler':new _0x2ab937[(_0x18610f(0x104))]({'minificationFilter':_0x2ab937[_0x18610f(0x1dc)][_0x18610f(0xa7)],'magnificationFilter':_0x2ab937[_0x18610f(0x11c)][_0x18610f(0xa7)]})},_0x55aec0=this[_0x18610f(0x95)](_0x319bd2[_0x18610f(0x1ff)],_0x4af946),_0x20a9b4=new Float32Array(0x4*_0x319bd2['maxParticles'])['fill'](0x0);this[_0x18610f(0x146)]={'particlesWind':_0x1151f0['createTexture'](_0x28a4fb),'currentParticlesPosition':_0x1151f0['createTexture'](_0x28a4fb,_0x55aec0),'nextParticlesPosition':_0x1151f0['createTexture'](_0x28a4fb,_0x55aec0),'currentParticlesSpeed':_0x1151f0[_0x18610f(0x157)](_0x28a4fb,_0x20a9b4),'nextParticlesSpeed':_0x1151f0['createTexture'](_0x28a4fb,_0x20a9b4),'postProcessingPosition':_0x1151f0[_0x18610f(0x157)](_0x28a4fb,_0x55aec0),'postProcessingSpeed':_0x1151f0['createTexture'](_0x28a4fb,_0x20a9b4)};}},{'key':_0x353351(0x95),'value':function(_0x3b46d3,_0x3f7c46){var _0x38c6dc=_0x353351;for(var _0x4b70d5=new Float32Array(0x4*_0x3b46d3),_0x2b2067=0x0;_0x2b2067<_0x3b46d3;_0x2b2067++)_0x4b70d5[0x4*_0x2b2067]=_0x2ab937[_0x38c6dc(0xa6)][_0x38c6dc(0xd2)](_0x3f7c46[_0x38c6dc(0x1c8)]['x'],_0x3f7c46['lonRange']['y']),_0x4b70d5[0x4*_0x2b2067+0x1]=_0x2ab937['Math']['randomBetween'](_0x3f7c46[_0x38c6dc(0x8a)]['x'],_0x3f7c46['latRange']['y']),_0x4b70d5[0x4*_0x2b2067+0x2]=_0x2ab937[_0x38c6dc(0xa6)]['randomBetween'](this[_0x38c6dc(0xa8)][_0x38c6dc(0x1d5)][_0x38c6dc(0x131)],this[_0x38c6dc(0xa8)][_0x38c6dc(0x1d5)]['max']),_0x4b70d5[0x4*_0x2b2067+0x3]=0x0;return _0x4b70d5;}},{'key':_0x353351(0x96),'value':function(){var _0x3d7c5b=_0x353351,_0x3bd8c3=this;Object[_0x3d7c5b(0x19e)](this[_0x3d7c5b(0x146)])['forEach'](function(_0x5e00c1){var _0x1439e5=_0x3d7c5b;_0x3bd8c3[_0x1439e5(0x146)][_0x5e00c1][_0x1439e5(0x1ee)]();});}},{'key':_0x353351(0x184),'value':function(_0x1d335c,_0x147ea7,_0x3e8785){var _0x4328d6=_0x353351,_0x556f90=new _0x2ab937['Cartesian3'](_0x1d335c['dimensions'][_0x4328d6(0x188)],_0x1d335c[_0x4328d6(0xf3)]['lat'],_0x1d335c[_0x4328d6(0xf3)]['lev']),_0x441617=new _0x2ab937[(_0x4328d6(0xb6))](_0x1d335c['lon']['min'],_0x1d335c[_0x4328d6(0x18a)][_0x4328d6(0x131)],_0x1d335c[_0x4328d6(0x1d5)][_0x4328d6(0x131)]),_0x3adc54=new _0x2ab937[(_0x4328d6(0xb6))](_0x1d335c[_0x4328d6(0x188)][_0x4328d6(0xd8)],_0x1d335c[_0x4328d6(0x18a)][_0x4328d6(0xd8)],_0x1d335c[_0x4328d6(0x1d5)][_0x4328d6(0xd8)]),_0x1606c1=new _0x2ab937[(_0x4328d6(0xb6))]((_0x3adc54['x']-_0x441617['x'])/(_0x556f90['x']-0x1),(_0x3adc54['y']-_0x441617['y'])/(_0x556f90['y']-0x1),_0x556f90['z']>0x1?(_0x3adc54['z']-_0x441617['z'])/(_0x556f90['z']-0x1):0x1),_0x30d6d=new _0x2ab937[(_0x4328d6(0x143))](_0x1d335c['U']['min'],_0x1d335c['U'][_0x4328d6(0xd8)]),_0x395099=new _0x2ab937['Cartesian2'](_0x1d335c['V']['min'],_0x1d335c['V'][_0x4328d6(0xd8)]),_0x2f4a62=this;this[_0x4328d6(0x198)]={'getWind':new _0x176d6b({'commandType':_0x4328d6(0x206),'uniformMap':{'U':function(){var _0x5ae138=_0x4328d6;return _0x2f4a62[_0x5ae138(0x17b)]['U'];},'V':function(){var _0x2863c4=_0x4328d6;return _0x2f4a62[_0x2863c4(0x17b)]['V'];},'currentParticlesPosition':function(){var _0x2ad83c=_0x4328d6;return _0x2f4a62[_0x2ad83c(0x146)]['currentParticlesPosition'];},'dimension':function(){return _0x556f90;},'minimum':function(){return _0x441617;},'maximum':function(){return _0x3adc54;},'interval':function(){return _0x1606c1;}},'fragmentShaderSource':new _0x2ab937[(_0x4328d6(0xa9))]({'sources':[_0x22c28f['a']]}),'outputTexture':this[_0x4328d6(0x146)][_0x4328d6(0x17e)],'preExecute':function(){var _0x14baa5=_0x4328d6;_0x2f4a62[_0x14baa5(0x198)][_0x14baa5(0x18c)][_0x14baa5(0x136)][_0x14baa5(0x1f7)]=_0x2f4a62[_0x14baa5(0x146)]['particlesWind'];}}),'updateSpeed':new _0x176d6b({'commandType':'Compute','uniformMap':{'currentParticlesSpeed':function(){var _0x56611a=_0x4328d6;return _0x2f4a62[_0x56611a(0x146)]['currentParticlesSpeed'];},'particlesWind':function(){var _0x36b390=_0x4328d6;return _0x2f4a62[_0x36b390(0x146)][_0x36b390(0x17e)];},'uSpeedRange':function(){return _0x30d6d;},'vSpeedRange':function(){return _0x395099;},'pixelSize':function(){return _0x3e8785['pixelSize'];},'speedFactor':function(){var _0x3e30cc=_0x4328d6;return _0x147ea7[_0x3e30cc(0x194)];}},'fragmentShaderSource':new _0x2ab937[(_0x4328d6(0xa9))]({'sources':[_0x1a86df['a']]}),'outputTexture':this[_0x4328d6(0x146)][_0x4328d6(0x133)],'preExecute':function(){var _0x4482eb=_0x4328d6,_0x2b0020;_0x2b0020=_0x2f4a62[_0x4482eb(0x146)][_0x4482eb(0x99)],_0x2f4a62[_0x4482eb(0x146)][_0x4482eb(0x99)]=_0x2f4a62['particlesTextures'][_0x4482eb(0xd0)],_0x2f4a62[_0x4482eb(0x146)][_0x4482eb(0xd0)]=_0x2b0020,_0x2f4a62[_0x4482eb(0x198)]['updateSpeed'][_0x4482eb(0x136)][_0x4482eb(0x1f7)]=_0x2f4a62[_0x4482eb(0x146)][_0x4482eb(0x133)];}}),'updatePosition':new _0x176d6b({'commandType':_0x4328d6(0x206),'uniformMap':{'currentParticlesPosition':function(){var _0x5c950c=_0x4328d6;return _0x2f4a62[_0x5c950c(0x146)][_0x5c950c(0xf7)];},'currentParticlesSpeed':function(){var _0xca6b35=_0x4328d6;return _0x2f4a62['particlesTextures'][_0xca6b35(0x99)];}},'fragmentShaderSource':new _0x2ab937[(_0x4328d6(0xa9))]({'sources':[_0x2ce942['a']]}),'outputTexture':this[_0x4328d6(0x146)][_0x4328d6(0x1fe)],'preExecute':function(){var _0x34abac=_0x4328d6,_0x392f44;_0x392f44=_0x2f4a62[_0x34abac(0x146)]['currentParticlesPosition'],_0x2f4a62[_0x34abac(0x146)][_0x34abac(0xf7)]=_0x2f4a62[_0x34abac(0x146)][_0x34abac(0x1d3)],_0x2f4a62[_0x34abac(0x146)][_0x34abac(0x1d3)]=_0x392f44,_0x2f4a62[_0x34abac(0x198)]['updatePosition']['commandToExecute'][_0x34abac(0x1f7)]=_0x2f4a62[_0x34abac(0x146)]['nextParticlesPosition'];}}),'postProcessingPosition':new _0x176d6b({'commandType':'Compute','uniformMap':{'nextParticlesPosition':function(){var _0x188cb3=_0x4328d6;return _0x2f4a62['particlesTextures'][_0x188cb3(0x1fe)];},'nextParticlesSpeed':function(){var _0x13fc4b=_0x4328d6;return _0x2f4a62['particlesTextures'][_0x13fc4b(0x133)];},'lonRange':function(){return _0x3e8785['lonRange'];},'latRange':function(){var _0x28ae26=_0x4328d6;return _0x3e8785[_0x28ae26(0x8a)];},'randomCoefficient':function(){var _0x5645cc=_0x4328d6,_0x23f200=Math[_0x5645cc(0xb0)]();return _0x23f200;},'dropRate':function(){var _0x4b5e1d=_0x4328d6;return _0x147ea7[_0x4b5e1d(0x1cb)];},'dropRateBump':function(){var _0x58b59d=_0x4328d6;return _0x147ea7[_0x58b59d(0x1b0)];}},'fragmentShaderSource':new _0x2ab937['ShaderSource']({'sources':[_0x232f6a['a']]}),'outputTexture':this[_0x4328d6(0x146)][_0x4328d6(0x1d3)],'preExecute':function(){var _0x53b440=_0x4328d6;_0x2f4a62[_0x53b440(0x198)][_0x53b440(0x1d3)]['commandToExecute'][_0x53b440(0x1f7)]=_0x2f4a62['particlesTextures'][_0x53b440(0x1d3)];}}),'postProcessingSpeed':new _0x176d6b({'commandType':_0x4328d6(0x206),'uniformMap':{'postProcessingPosition':function(){var _0x5e95ea=_0x4328d6;return _0x2f4a62[_0x5e95ea(0x146)]['postProcessingPosition'];},'nextParticlesSpeed':function(){var _0x4d15eb=_0x4328d6;return _0x2f4a62[_0x4d15eb(0x146)][_0x4d15eb(0x133)];}},'fragmentShaderSource':new _0x2ab937['ShaderSource']({'sources':[_0x5d31b8['a']]}),'outputTexture':this[_0x4328d6(0x146)][_0x4328d6(0xd0)],'preExecute':function(){var _0x5c131b=_0x4328d6;_0x2f4a62[_0x5c131b(0x198)][_0x5c131b(0xd0)][_0x5c131b(0x136)][_0x5c131b(0x1f7)]=_0x2f4a62[_0x5c131b(0x146)][_0x5c131b(0xd0)];}})};}}]),_0x51fcb3;}(),_0x6cad0b=function(){var _0x1197c4=_0x3e7117;function _0x368af6(_0x357d23,_0x530bd0,_0x4d776e,_0x22026a){var _0x205907=a0_0x1db2;_0xe8454()(this,_0x368af6),this['context']=_0x357d23,this[_0x205907(0xa8)]=_0x530bd0,this[_0x205907(0x1b2)]=_0x4d776e,this[_0x205907(0x1d4)]=_0x22026a,this[_0x205907(0x187)]=new _0x51666d(this[_0x205907(0x18f)],this['data'],this['userInput'],this[_0x205907(0x1d4)]),this[_0x205907(0xf5)]=new _0x5341cc(this[_0x205907(0x18f)],this['data'],this['userInput'],this[_0x205907(0x1d4)],this[_0x205907(0x187)]);}return _0x4d2ebb()(_0x368af6,[{'key':_0x1197c4(0x94),'value':function(_0x162523){var _0x3559aa=_0x1197c4,_0xdacaee=this;this[_0x3559aa(0x187)][_0x3559aa(0x96)](),Object[_0x3559aa(0x19e)](this[_0x3559aa(0x187)][_0x3559aa(0x17b)])[_0x3559aa(0x13f)](function(_0x59c8a4){var _0x388947=_0x3559aa;_0xdacaee[_0x388947(0x187)][_0x388947(0x17b)][_0x59c8a4][_0x388947(0x1ee)]();}),this[_0x3559aa(0xf5)][_0x3559aa(0x130)][_0x3559aa(0x1e7)][_0x3559aa(0x1ee)](),Object[_0x3559aa(0x19e)](this[_0x3559aa(0xf5)][_0x3559aa(0x148)])[_0x3559aa(0x13f)](function(_0x5b7a30){var _0x4bb307=_0x3559aa;_0xdacaee['particlesRendering'][_0x4bb307(0x148)][_0x5b7a30][_0x4bb307(0x1ee)]();}),this[_0x3559aa(0x18f)]=_0x162523,this['particlesComputing']=new _0x51666d(this[_0x3559aa(0x18f)],this[_0x3559aa(0xa8)],this[_0x3559aa(0x1b2)],this['viewerParameters']),this[_0x3559aa(0xf5)]=new _0x5341cc(this[_0x3559aa(0x18f)],this[_0x3559aa(0xa8)],this[_0x3559aa(0x1b2)],this[_0x3559aa(0x1d4)],this[_0x3559aa(0x187)]);}},{'key':_0x1197c4(0x1d9),'value':function(){var _0x267d69=_0x1197c4,_0x5a898c=this,_0x261557=new _0x2ab937['ClearCommand']({'color':new _0x2ab937[(_0x267d69(0x1ac))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x2ab937['Pass']['OPAQUE']});Object[_0x267d69(0x19e)](this[_0x267d69(0xf5)][_0x267d69(0x148)])[_0x267d69(0x13f)](function(_0x24ac50){var _0x4e1844=_0x267d69;_0x261557[_0x4e1844(0x167)]=_0x5a898c['particlesRendering'][_0x4e1844(0x148)][_0x24ac50],_0x261557['execute'](_0x5a898c[_0x4e1844(0x18f)]);});}},{'key':_0x1197c4(0xc9),'value':function(_0x3af228){var _0x1993d5=_0x1197c4;if(this[_0x1993d5(0x1d9)](),this[_0x1993d5(0x187)][_0x1993d5(0x96)](),this[_0x1993d5(0x187)][_0x1993d5(0x10a)](this[_0x1993d5(0x18f)],this[_0x1993d5(0x1b2)],this[_0x1993d5(0x1d4)]),_0x3af228){var _0x109e54=this[_0x1993d5(0xf5)][_0x1993d5(0x1b8)](this[_0x1993d5(0x1b2)]);this['particlesRendering'][_0x1993d5(0x198)][_0x1993d5(0x12c)]['geometry']=_0x109e54;var _0x5ee885=_0x2ab937[_0x1993d5(0xb2)][_0x1993d5(0xe5)]({'context':this[_0x1993d5(0x18f)],'geometry':_0x109e54,'attributeLocations':this[_0x1993d5(0xf5)][_0x1993d5(0x198)][_0x1993d5(0x12c)][_0x1993d5(0x1de)],'bufferUsage':_0x2ab937[_0x1993d5(0x1b6)][_0x1993d5(0x127)]});this[_0x1993d5(0xf5)][_0x1993d5(0x198)][_0x1993d5(0x12c)]['commandToExecute'][_0x1993d5(0xbf)]=_0x5ee885;}}},{'key':_0x1197c4(0x11b),'value':function(_0x101177){var _0x3c3d6d=_0x1197c4,_0x2d200e=this,_0x28e1b5=!0x1;this['userInput'][_0x3c3d6d(0x1ff)]!=_0x101177[_0x3c3d6d(0x1ff)]&&(_0x28e1b5=!0x0),Object['keys'](_0x101177)[_0x3c3d6d(0x13f)](function(_0x5974f2){var _0x3605ea=_0x3c3d6d;_0x2d200e[_0x3605ea(0x1b2)][_0x5974f2]=_0x101177[_0x5974f2];}),this[_0x3c3d6d(0xc9)](_0x28e1b5);}},{'key':_0x1197c4(0xe3),'value':function(_0x36e344){var _0x471e41=_0x1197c4,_0x5efea1=this;Object['keys'](_0x36e344)[_0x471e41(0x13f)](function(_0x1ae51d){var _0x5307e8=_0x471e41;_0x5efea1[_0x5307e8(0x1d4)][_0x1ae51d]=_0x36e344[_0x1ae51d];}),this[_0x471e41(0xc9)](!0x1);}}]),_0x368af6;}();function _0x4a1a3f(_0xb153b7){var _0x3f75f8=function(){var _0x5394b9=a0_0x1db2;if(_0x5394b9(0x1ad)==typeof Reflect||!Reflect['construct'])return!0x1;if(Reflect['construct'][_0x5394b9(0x15b)])return!0x1;if(_0x5394b9(0x190)==typeof Proxy)return!0x0;try{return Boolean[_0x5394b9(0x8b)]['valueOf'][_0x5394b9(0x1f9)](Reflect[_0x5394b9(0x1c7)](Boolean,[],function(){})),!0x0;}catch(_0x504800){return!0x1;}}();return function(){var _0x1d1720=a0_0x1db2,_0x506fc0,_0x2e7451=_0x155bb1()(_0xb153b7);if(_0x3f75f8){var _0x5893af=_0x155bb1()(this)[_0x1d1720(0x191)];_0x506fc0=Reflect['construct'](_0x2e7451,arguments,_0x5893af);}else _0x506fc0=_0x2e7451[_0x1d1720(0xcc)](this,arguments);return _0x3214b3()(this,_0x506fc0);};}var _0x160415=_0x43c4a0[_0x3e7117(0x9b)][_0x3e7117(0x1e8)],_0xbdd4ba=0x1000,_0x4edfba=0x64,_0x373335=0.996,_0x547429=0.003,_0x6e82f9=0.01,_0x25a5dc=0.5,_0x4c66f9=0x2,_0x2f2d06=function(_0x1ea43c){var _0x447db2=_0x3e7117;_0x43b6f7()(_0x170389,_0x1ea43c);var _0x3cdf01=_0x4a1a3f(_0x170389);function _0x170389(){var _0xfb7a43=a0_0x1db2,_0x1269ea,_0x1078a3=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0xe8454()(this,_0x170389),(_0x1269ea=_0x3cdf01[_0xfb7a43(0x1f9)](this,_0x1078a3))[_0xfb7a43(0x1ff)]=_0xbdd4ba,_0x1269ea[_0xfb7a43(0x1d8)]=_0x4edfba,_0x1269ea[_0xfb7a43(0xe6)]=_0x373335,_0x1269ea[_0xfb7a43(0x1cb)]=_0x547429,_0x1269ea[_0xfb7a43(0x1b0)]=_0x6e82f9,_0x1269ea[_0xfb7a43(0x194)]=_0x25a5dc,_0x1269ea[_0xfb7a43(0xb5)]=_0x4c66f9,_0x1269ea[_0xfb7a43(0xec)](_0x1078a3),_0x1269ea;}return _0x4d2ebb()(_0x170389,[{'key':_0x447db2(0x9b),'get':function(){var _0x111329=_0x447db2;return this[_0x111329(0x198)];}},{'key':_0x447db2(0xec),'value':function(_0x512360){if(_0x512360){for(var _0x3ce430 in _0x512360)this[_0x3ce430]=_0x512360[_0x3ce430];}}},{'key':_0x447db2(0x1b5),'value':function(){}},{'key':_0x447db2(0x1a2),'value':function(){var _0x5618dc=_0x447db2;this['scene']=this[_0x5618dc(0x119)][_0x5618dc(0xa5)],this[_0x5618dc(0x14d)]=this[_0x5618dc(0x119)]['camera'],this['primitives']=new _0x2ab937[(_0x5618dc(0x100))](),this[_0x5618dc(0x119)][_0x5618dc(0xa5)][_0x5618dc(0x198)]['add'](this[_0x5618dc(0x198)]),this['viewerParameters']={'lonRange':new _0x2ab937[(_0x5618dc(0x143))](),'latRange':new _0x2ab937[(_0x5618dc(0x143))](),'pixelSize':0x0},this[_0x5618dc(0x11e)]=new _0x2ab937[(_0x5618dc(0x1f1))](_0x2ab937[_0x5618dc(0xb6)][_0x5618dc(0x19c)],6314355.63),this[_0x5618dc(0x1a1)](),window[_0x5618dc(0x195)]('resize',this[_0x5618dc(0x1ab)][_0x5618dc(0x8d)](this),!0x1),this[_0x5618dc(0x8f)]=!0x1,this[_0x5618dc(0x152)]=!0x1,this[_0x5618dc(0x119)]['on'](_0x43c4a0[_0x5618dc(0x174)][_0x5618dc(0xdc)],this[_0x5618dc(0x12f)],this),this['_map']['on'](_0x43c4a0[_0x5618dc(0x174)]['mouseDown'],this[_0x5618dc(0x168)],this),this[_0x5618dc(0x119)]['on'](_0x43c4a0[_0x5618dc(0x174)][_0x5618dc(0x1cc)],this[_0x5618dc(0x1bb)],this),this[_0x5618dc(0x119)]['on'](_0x43c4a0[_0x5618dc(0x174)][_0x5618dc(0x162)],this[_0x5618dc(0x1bf)],this);}},{'key':_0x447db2(0xae),'value':function(){var _0x57e3a4=_0x447db2;window[_0x57e3a4(0x1d1)](_0x57e3a4(0x1ab),this[_0x57e3a4(0x1ab)]),this[_0x57e3a4(0x119)]['off'](_0x43c4a0[_0x57e3a4(0x174)]['preRender'],this['_onMap_preRenderEvent'],this),this[_0x57e3a4(0x119)][_0x57e3a4(0xfc)](_0x43c4a0['EventType'][_0x57e3a4(0xdc)],this[_0x57e3a4(0x12f)],this),this['_map'][_0x57e3a4(0xfc)](_0x43c4a0[_0x57e3a4(0x174)][_0x57e3a4(0x154)],this[_0x57e3a4(0x168)],this),this['_map'][_0x57e3a4(0xfc)](_0x43c4a0[_0x57e3a4(0x174)][_0x57e3a4(0x1cc)],this[_0x57e3a4(0x1bb)],this),this[_0x57e3a4(0x119)][_0x57e3a4(0xfc)](_0x43c4a0['EventType'][_0x57e3a4(0x162)],this[_0x57e3a4(0x1bf)],this),this[_0x57e3a4(0x198)][_0x57e3a4(0x12d)](),this[_0x57e3a4(0x119)][_0x57e3a4(0xa5)][_0x57e3a4(0x198)][_0x57e3a4(0x18d)](this[_0x57e3a4(0x198)]);}},{'key':_0x447db2(0x1ab),'value':function(){var _0x17756f=_0x447db2;this['show']&&this[_0x17756f(0x19a)]&&(this[_0x17756f(0x198)]['show']=!0x1,this[_0x17756f(0x198)][_0x17756f(0x12d)](),this[_0x17756f(0x119)]['once'](_0x43c4a0[_0x17756f(0x174)][_0x17756f(0x1a6)],this['_onMap_preRenderEvent'],this));}},{'key':_0x447db2(0xe8),'value':function(_0x2bf767){var _0x30b0ba=_0x447db2;this['particleSystem'][_0x30b0ba(0x94)](this[_0x30b0ba(0xa5)][_0x30b0ba(0x18f)]),this['addPrimitives'](),this[_0x30b0ba(0x198)][_0x30b0ba(0x1f0)]=!0x0;}},{'key':_0x447db2(0x12f),'value':function(_0x1f7f8e){var _0x34e31b=_0x447db2,_0x2f4507=this;clearTimeout(this[_0x34e31b(0x1b7)]),this[_0x34e31b(0x1f0)]&&this['particleSystem']&&(this[_0x34e31b(0x198)][_0x34e31b(0x1f0)]=!0x1,this[_0x34e31b(0x1b7)]=setTimeout(function(){var _0x543440=_0x34e31b;_0x2f4507[_0x543440(0x1f0)]&&_0x2f4507[_0x543440(0xe4)]();},0xc8));}},{'key':'_onMouseDownEvent','value':function(_0x315ae9){var _0x4e121e=_0x447db2;this[_0x4e121e(0x8f)]=!0x0;}},{'key':_0x447db2(0x1bf),'value':function(_0x2afba7){var _0x410789=_0x447db2;this[_0x410789(0x1f0)]&&this['particleSystem']&&this[_0x410789(0x8f)]&&(this[_0x410789(0x198)][_0x410789(0x1f0)]=!0x1,this[_0x410789(0x152)]=!0x0);}},{'key':_0x447db2(0x1bb),'value':function(_0x1d564c){var _0x41d6c1=_0x447db2;this[_0x41d6c1(0x1f0)]&&this[_0x41d6c1(0x19a)]&&(this['mouse_down']&&this[_0x41d6c1(0x152)]&&this[_0x41d6c1(0xe4)](),this['primitives']['show']=!0x0,this[_0x41d6c1(0x8f)]=!0x1,this[_0x41d6c1(0x152)]=!0x1);}},{'key':_0x447db2(0xe4),'value':function(){var _0x4ba8d0=_0x447db2;this[_0x4ba8d0(0x119)]&&this[_0x4ba8d0(0x1f0)]&&(this[_0x4ba8d0(0x1a1)](),this[_0x4ba8d0(0x19a)][_0x4ba8d0(0xe3)](this[_0x4ba8d0(0x1d4)]),this[_0x4ba8d0(0x198)][_0x4ba8d0(0x1f0)]=!0x0);}},{'key':_0x447db2(0x1a0),'value':function(_0x583e6a){var _0x5b465c=_0x447db2;this[_0x5b465c(0x19a)]=new _0x6cad0b(this[_0x5b465c(0xa5)][_0x5b465c(0x18f)],_0x583e6a,this[_0x5b465c(0x17d)](),this[_0x5b465c(0x1d4)]),this[_0x5b465c(0x179)]();}},{'key':'setOptions','value':function(_0x2febe3){var _0x78a9ef=_0x447db2;if(_0x2febe3){for(var _0x1ab412 in _0x2febe3)this[_0x1ab412]=_0x2febe3[_0x1ab412];}return this[_0x78a9ef(0x19a)]&&this[_0x78a9ef(0x19a)][_0x78a9ef(0x11b)](this[_0x78a9ef(0x17d)]()),this;}},{'key':_0x447db2(0x17d),'value':function(){var _0x4b20ba=_0x447db2,_0x43bf80=Math[_0x4b20ba(0xea)](Math[_0x4b20ba(0xd6)](this[_0x4b20ba(0x1ff)]));return this[_0x4b20ba(0x1ff)]=_0x43bf80*_0x43bf80,{'particlesTextureSize':_0x43bf80,'maxParticles':this['maxParticles'],'particleHeight':this[_0x4b20ba(0x1d8)],'fadeOpacity':this['fadeOpacity'],'dropRate':this[_0x4b20ba(0x1cb)],'dropRateBump':this[_0x4b20ba(0x1b0)],'speedFactor':this['speedFactor'],'lineWidth':this[_0x4b20ba(0xb5)],'globeLayer':this['globeLayer'],'WMS_URL':this['WMS_URL']};}},{'key':_0x447db2(0x179),'value':function(){var _0x5e2a66=_0x447db2;this['primitives'][_0x5e2a66(0xaa)](this['particleSystem'][_0x5e2a66(0x187)]['primitives'][_0x5e2a66(0x18c)]),this[_0x5e2a66(0x198)][_0x5e2a66(0xaa)](this['particleSystem'][_0x5e2a66(0x187)][_0x5e2a66(0x198)][_0x5e2a66(0x1f2)]),this['primitives'][_0x5e2a66(0xaa)](this[_0x5e2a66(0x19a)][_0x5e2a66(0x187)][_0x5e2a66(0x198)][_0x5e2a66(0x13d)]),this[_0x5e2a66(0x198)][_0x5e2a66(0xaa)](this['particleSystem'][_0x5e2a66(0x187)][_0x5e2a66(0x198)][_0x5e2a66(0x1d3)]),this[_0x5e2a66(0x198)][_0x5e2a66(0xaa)](this[_0x5e2a66(0x19a)][_0x5e2a66(0x187)][_0x5e2a66(0x198)]['postProcessingSpeed']),this['primitives']['add'](this[_0x5e2a66(0x19a)][_0x5e2a66(0xf5)][_0x5e2a66(0x198)]['segments']),this[_0x5e2a66(0x198)][_0x5e2a66(0xaa)](this[_0x5e2a66(0x19a)]['particlesRendering']['primitives'][_0x5e2a66(0xf6)]),this[_0x5e2a66(0x198)]['add'](this['particleSystem'][_0x5e2a66(0xf5)]['primitives'][_0x5e2a66(0x9a)]);}},{'key':'updateViewerParameters','value':function(){var _0x3a2a12=_0x447db2,_0x3eaf3f=this[_0x3a2a12(0x14d)]['computeViewRectangle'](this[_0x3a2a12(0xa5)][_0x3a2a12(0x121)][_0x3a2a12(0x19b)]);if(!_0x3eaf3f){var _0x53704b=this[_0x3a2a12(0x119)][_0x3a2a12(0x19f)]();_0x3eaf3f=_0x2ab937[_0x3a2a12(0x144)][_0x3a2a12(0x1e9)](_0x53704b['xmin'],_0x53704b['ymin'],_0x53704b['xmax'],_0x53704b[_0x3a2a12(0xc8)]);}var _0x270c6c=_0x1151f0['viewRectangleToLonLatRange'](_0x3eaf3f);this['viewerParameters']['lonRange']['x']=_0x270c6c[_0x3a2a12(0x188)][_0x3a2a12(0x131)],this[_0x3a2a12(0x1d4)][_0x3a2a12(0x1c8)]['y']=_0x270c6c['lon'][_0x3a2a12(0xd8)],this[_0x3a2a12(0x1d4)][_0x3a2a12(0x8a)]['x']=_0x270c6c['lat']['min'],this['viewerParameters'][_0x3a2a12(0x8a)]['y']=_0x270c6c[_0x3a2a12(0x18a)][_0x3a2a12(0xd8)];var _0x4c287c=this[_0x3a2a12(0x14d)]['getPixelSize'](this['globeBoundingSphere'],this['scene']['drawingBufferWidth'],this[_0x3a2a12(0xa5)][_0x3a2a12(0x1fb)]);_0x4c287c>0x0&&(this[_0x3a2a12(0x1d4)][_0x3a2a12(0xc7)]=_0x4c287c);}}]),_0x170389;}(_0x160415);_0x43c4a0[_0x3e7117(0x102)][_0x3e7117(0xee)](_0x3e7117(0xf1),_0x2f2d06),_0x43c4a0[_0x3e7117(0x9b)]['WindLayer']=_0x2f2d06;var _0x870a79=function _0x937ebd(){var _0x226d1b=_0x3e7117;_0xe8454()(this,_0x937ebd),this[_0x226d1b(0x14b)]=null,this[_0x226d1b(0x18a)]=null,this[_0x226d1b(0x128)]=null,this['tlat']=null,this[_0x226d1b(0x164)]=null;},_0x65b60c=function(){var _0x5ce31e=_0x3e7117;function _0x131c6a(_0x2c0fe0,_0x473393){var _0x3c231f=a0_0x1db2;_0xe8454()(this,_0x131c6a),this[_0x3c231f(0x10d)]=_0x2c0fe0[_0x3c231f(0x10d)],this[_0x3c231f(0x1be)]=_0x2c0fe0[_0x3c231f(0x1be)],this[_0x3c231f(0x149)]=_0x2c0fe0[_0x3c231f(0x149)],this[_0x3c231f(0x14c)]=_0x2c0fe0[_0x3c231f(0x14c)],this[_0x3c231f(0x141)]=_0x2c0fe0[_0x3c231f(0x141)],this[_0x3c231f(0xc8)]=_0x2c0fe0[_0x3c231f(0xc8)],this[_0x3c231f(0x161)]=[];var _0x4006ad=_0x2c0fe0[_0x3c231f(0x129)],_0x5d85a6=_0x2c0fe0[_0x3c231f(0xac)],_0x566567=!0x1;_0x4006ad[_0x3c231f(0x116)]===this[_0x3c231f(0x10d)]&&_0x4006ad[0x0][_0x3c231f(0x116)]===this[_0x3c231f(0x1be)]&&(_0x566567=!0x0);for(var _0x4021c9=0x0,_0x143caf=null,_0x49b5fb=null,_0x35957c=0x0;_0x35957c<this[_0x3c231f(0x10d)];_0x35957c++){_0x143caf=[];for(var _0x2bb8b3=0x0;_0x2bb8b3<this[_0x3c231f(0x1be)];_0x2bb8b3++,_0x4021c9++)_0x49b5fb=_0x566567?this[_0x3c231f(0x177)](_0x4006ad[_0x35957c][_0x2bb8b3],_0x5d85a6[_0x35957c][_0x2bb8b3]):this[_0x3c231f(0x177)](_0x4006ad[_0x4021c9],_0x5d85a6[_0x4021c9]),_0x143caf[_0x3c231f(0x1a5)](_0x49b5fb);this[_0x3c231f(0x161)][_0x3c231f(0x1a5)](_0x143caf);}_0x473393&&this[_0x3c231f(0x161)][_0x3c231f(0xe7)]();}return _0x4d2ebb()(_0x131c6a,[{'key':_0x5ce31e(0xe1),'value':function(_0x4d89e7,_0x589bc2){var _0x5aa79e=_0x5ce31e;return{'x':(_0x4d89e7-this[_0x5aa79e(0x149)])/(this['xmax']-this[_0x5aa79e(0x149)])*(this[_0x5aa79e(0x1be)]-0x1),'y':(this['ymax']-_0x589bc2)/(this[_0x5aa79e(0xc8)]-this['ymin'])*(this[_0x5aa79e(0x10d)]-0x1)};}},{'key':_0x5ce31e(0x1d0),'value':function(_0x9efa12,_0xb3076){var _0x5bd375=_0x5ce31e;if(_0x9efa12<0x0||_0x9efa12>=this['cols']||_0xb3076>=this[_0x5bd375(0x10d)])return[0x0,0x0,0x0];var _0x2e4da7,_0x3003d8,_0x1263d1=Math[_0x5bd375(0x8e)](_0x9efa12),_0xfaf366=Math[_0x5bd375(0x8e)](_0xb3076);if(_0x1263d1===_0x9efa12&&_0xfaf366===_0xb3076)return this['grid'][_0xb3076][_0x9efa12];_0x2e4da7=_0x1263d1+0x1,_0x3003d8=_0xfaf366+0x1;var _0x4aeaf5=this[_0x5bd375(0x1d0)](_0x1263d1,_0xfaf366),_0x522995=this[_0x5bd375(0x1d0)](_0x2e4da7,_0xfaf366),_0x489296=this[_0x5bd375(0x1d0)](_0x1263d1,_0x3003d8),_0x2b3c12=this[_0x5bd375(0x1d0)](_0x2e4da7,_0x3003d8),_0x4e6d91=null;try{_0x4e6d91=this[_0x5bd375(0x172)](_0x9efa12-_0x1263d1,_0xb3076-_0xfaf366,_0x4aeaf5,_0x522995,_0x489296,_0x2b3c12);}catch(_0xc4570e){console['log'](_0x9efa12,_0xb3076);}return _0x4e6d91;}},{'key':_0x5ce31e(0x172),'value':function(_0x338404,_0x1d892f,_0x532542,_0xe3ca1b,_0x8a1e77,_0x7073cc){var _0x145f3d=0x1-_0x338404,_0x5dffce=0x1-_0x1d892f,_0x1fa1f2=_0x145f3d*_0x5dffce,_0x5ab518=_0x338404*_0x5dffce,_0x560140=_0x145f3d*_0x1d892f,_0xe4b858=_0x338404*_0x1d892f,_0x1da832=_0x532542[0x0]*_0x1fa1f2+_0xe3ca1b[0x0]*_0x5ab518+_0x8a1e77[0x0]*_0x560140+_0x7073cc[0x0]*_0xe4b858,_0x4e5bcb=_0x532542[0x1]*_0x1fa1f2+_0xe3ca1b[0x1]*_0x5ab518+_0x8a1e77[0x1]*_0x560140+_0x7073cc[0x1]*_0xe4b858;return this['_calcUV'](_0x1da832,_0x4e5bcb);}},{'key':_0x5ce31e(0x177),'value':function(_0x117bab,_0x4a919d){var _0x379c46=_0x5ce31e;return[+_0x117bab,+_0x4a919d,Math[_0x379c46(0xd6)](_0x117bab*_0x117bab+_0x4a919d*_0x4a919d)];}},{'key':_0x5ce31e(0xca),'value':function(_0x162952,_0x1714f2){var _0x4c082e=_0x5ce31e;if(!this['isInExtent'](_0x162952,_0x1714f2))return null;var _0x2d0ccc=this[_0x4c082e(0xe1)](_0x162952,_0x1714f2);return this['getUVByXY'](_0x2d0ccc['x'],_0x2d0ccc['y']);}},{'key':_0x5ce31e(0x160),'value':function(_0x4a941d,_0x23af93){var _0x208635=_0x5ce31e;return _0x4a941d>=this[_0x208635(0x149)]&&_0x4a941d<=this['xmax']&&_0x23af93>=this[_0x208635(0x141)]&&_0x23af93<=this[_0x208635(0xc8)];}},{'key':_0x5ce31e(0x156),'value':function(){var _0x5e305c=_0x5ce31e,_0x524cd9=_0x20e9e2(this['xmin'],this[_0x5e305c(0x14c)]);return{'lat':_0x20e9e2(this[_0x5e305c(0x141)],this[_0x5e305c(0xc8)]),'lng':_0x524cd9};}}]),_0x131c6a;}();function _0x20e9e2(_0x1d0514,_0x182757){var _0x5365f2=_0x3e7117;return _0x1d0514+Math[_0x5365f2(0xb0)]()*(_0x182757-_0x1d0514);}function _0x56323c(_0x2596a8){var _0x1885c1=function(){var _0x571e2c=a0_0x1db2;if(_0x571e2c(0x1ad)==typeof Reflect||!Reflect[_0x571e2c(0x1c7)])return!0x1;if(Reflect[_0x571e2c(0x1c7)][_0x571e2c(0x15b)])return!0x1;if(_0x571e2c(0x190)==typeof Proxy)return!0x0;try{return Boolean['prototype']['valueOf']['call'](Reflect[_0x571e2c(0x1c7)](Boolean,[],function(){})),!0x0;}catch(_0x5aa2d5){return!0x1;}}();return function(){var _0x1f66f0=a0_0x1db2,_0x3174bf,_0x22a048=_0x155bb1()(_0x2596a8);if(_0x1885c1){var _0x58ab76=_0x155bb1()(this)[_0x1f66f0(0x191)];_0x3174bf=Reflect['construct'](_0x22a048,arguments,_0x58ab76);}else _0x3174bf=_0x22a048['apply'](this,arguments);return _0x3214b3()(this,_0x3174bf);};}var _0x341e60=function(_0x8da016){var _0x25b4b5=_0x3e7117;_0x43b6f7()(_0x131790,_0x8da016);var _0x3a18d1=_0x56323c(_0x131790);function _0x131790(){var _0x4199ac=a0_0x1db2,_0x1d8395,_0x277594=arguments[_0x4199ac(0x116)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0xe8454()(this,_0x131790),(_0x1d8395=_0x3a18d1[_0x4199ac(0x1f9)](this,_0x277594))['_setOptionsHook'](_0x277594),_0x1d8395[_0x4199ac(0x11d)]=null,_0x1d8395;}return _0x4d2ebb()(_0x131790,[{'key':_0x25b4b5(0xec),'value':function(_0x126475){var _0x1a5435=_0x25b4b5;this[_0x1a5435(0x1e0)]=[0x0,0x0],this[_0x1a5435(0x175)]=[],this[_0x1a5435(0x1c5)]=_0x126475[_0x1a5435(0x1c5)]||0x32,this[_0x1a5435(0x1aa)]=_0x126475[_0x1a5435(0xc5)]||0x4e20,this[_0x1a5435(0xbc)]=_0x126475[_0x1a5435(0xdd)]||0x78,this[_0x1a5435(0x178)]=0x3e8/(_0x126475[_0x1a5435(0x1f6)]||0xa),this[_0x1a5435(0x90)]=_0x2ab937[_0x1a5435(0xf4)](this[_0x1a5435(0xdf)][_0x1a5435(0xcd)],!0x1),this[_0x1a5435(0x202)]=_0x126475[_0x1a5435(0x202)]||_0x1a5435(0x19d),this[_0x1a5435(0xb5)]=_0x126475['lineWidth']||0x1,this['fixedHeight']=_0x2ab937['defaultValue'](_0x126475['fixedHeight'],0x0),this[_0x1a5435(0x173)]=_0x2ab937[_0x1a5435(0xf4)](_0x126475[_0x1a5435(0x173)],!0x1);}},{'key':'layer','get':function(){var _0x193ee2=_0x25b4b5;return this[_0x193ee2(0x11d)];}},{'key':_0x25b4b5(0x93),'get':function(){var _0x2116c9=_0x25b4b5;return this[_0x2116c9(0x119)][_0x2116c9(0xa5)]['canvas']['clientWidth'];}},{'key':_0x25b4b5(0x199),'get':function(){var _0x15ba8b=_0x25b4b5;return this[_0x15ba8b(0x119)][_0x15ba8b(0xa5)][_0x15ba8b(0x11d)]['clientHeight'];}},{'key':_0x25b4b5(0xcd),'get':function(){var _0x3f501d=_0x25b4b5;return this[_0x3f501d(0x90)];},'set':function(_0x29ead3){var _0x3be31c=_0x25b4b5;this[_0x3be31c(0x90)]=_0x29ead3,this['canvas']&&(this['canvas'][_0x3be31c(0x1c4)][_0x3be31c(0x105)]=_0x29ead3?'all':'none');}},{'key':_0x25b4b5(0x1c5),'get':function(){var _0x2977e6=_0x25b4b5;return this[_0x2977e6(0x1e6)];},'set':function(_0x548fd1){var _0x26492e=_0x25b4b5;this[_0x26492e(0x1e6)]=0x64*(0x64-(_0x548fd1>0x63?0x63:_0x548fd1)),this['_calcStep']();}},{'key':_0x25b4b5(0xc5),'get':function(){var _0x481257=_0x25b4b5;return this[_0x481257(0x1aa)];},'set':function(_0x3ff963){var _0x259293=_0x25b4b5,_0x943450=this;this['_particlesNumber']=_0x3ff963,clearTimeout(this[_0x259293(0x1e4)]),this[_0x259293(0x1e4)]=setTimeout(function(){_0x943450['redraw']();},0x1f4);}},{'key':_0x25b4b5(0xdd),'get':function(){return this['_maxAge'];},'set':function(_0x1f36c3){var _0x467306=_0x25b4b5,_0x1a5805=this;this[_0x467306(0xbc)]=_0x1f36c3,clearTimeout(this[_0x467306(0x1e4)]),this[_0x467306(0x1e4)]=setTimeout(function(){_0x1a5805['redraw']();},0x1f4);}},{'key':_0x25b4b5(0xa8),'get':function(){var _0x227604=_0x25b4b5;return this[_0x227604(0x15f)];},'set':function(_0x14a15b){var _0x6df03f=_0x25b4b5;this[_0x6df03f(0x1a3)](_0x14a15b);}},{'key':'_showHook','value':function(_0x2820e8){var _0x13c7de=_0x25b4b5;_0x2820e8?this[_0x13c7de(0x1a2)]():(this[_0x13c7de(0x15f)]&&(this[_0x13c7de(0xdf)]['data']=this[_0x13c7de(0x15f)]),this[_0x13c7de(0xae)]());}},{'key':_0x25b4b5(0x1b5),'value':function(){}},{'key':_0x25b4b5(0x1a2),'value':function(){var _0x59a8cf=_0x25b4b5;this[_0x59a8cf(0x11d)]=this[_0x59a8cf(0x134)](),this[_0x59a8cf(0x193)]=this['canvas'][_0x59a8cf(0x1cd)]('2d'),this[_0x59a8cf(0x1bd)](),this[_0x59a8cf(0xdf)][_0x59a8cf(0xa8)]&&this['updateDate'](this[_0x59a8cf(0xdf)]['data']);}},{'key':_0x25b4b5(0xae),'value':function(){var _0x772013=_0x25b4b5;this['clear'](),this[_0x772013(0x1b4)](),this[_0x772013(0x11d)]&&(this['_map'][_0x772013(0x165)]['removeChild'](this[_0x772013(0x11d)]),delete this[_0x772013(0x11d)]);}},{'key':'_createCanvas','value':function(){var _0x477903=_0x25b4b5,_0x36fe35=document[_0x477903(0x1eb)](_0x477903(0x11d));_0x36fe35[_0x477903(0x1c4)][_0x477903(0x1db)]=_0x477903(0x112),_0x36fe35[_0x477903(0x1c4)][_0x477903(0xcf)]=_0x477903(0x18e),_0x36fe35['style'][_0x477903(0x109)]='0px',_0x36fe35[_0x477903(0x1c4)][_0x477903(0x16e)]=_0x477903(0x1c2),_0x36fe35['style'][_0x477903(0x1b9)]=_0x477903(0x1c2),_0x36fe35[_0x477903(0x1c4)]['pointerEvents']=this[_0x477903(0x90)]?'auto':'none',_0x36fe35['style']['zIndex']=0xa,_0x36fe35[_0x477903(0x145)]('id','canvasWindy'),_0x36fe35['setAttribute'](_0x477903(0x120),'canvasWindy'),this[_0x477903(0x119)][_0x477903(0x165)][_0x477903(0x1b1)](_0x36fe35);var _0x19dcef=this[_0x477903(0x119)][_0x477903(0xa5)];return _0x36fe35[_0x477903(0x16e)]=_0x19dcef[_0x477903(0x11d)][_0x477903(0x14e)],_0x36fe35[_0x477903(0x1b9)]=_0x19dcef['canvas'][_0x477903(0xe0)],_0x36fe35;}},{'key':_0x25b4b5(0x1ab),'value':function(){var _0x1644ca=_0x25b4b5;this[_0x1644ca(0x11d)]&&(this['canvas'][_0x1644ca(0x16e)]=this[_0x1644ca(0x93)],this[_0x1644ca(0x11d)][_0x1644ca(0x1b9)]=this[_0x1644ca(0x199)]);}},{'key':_0x25b4b5(0x1bd),'value':function(){var _0x4f7937=_0x25b4b5,_0x383b95=this,_0xe94c3f=Date[_0x4f7937(0x108)]();!function _0x133ce9(){var _0x2b4587=_0x4f7937;_0x383b95[_0x2b4587(0xd1)]=window[_0x2b4587(0x183)](_0x133ce9);var _0x2b88df=Date[_0x2b4587(0x108)](),_0x3f5c33=_0x2b88df-_0xe94c3f;_0x3f5c33>_0x383b95[_0x2b4587(0x178)]&&(_0xe94c3f=_0x2b88df-_0x3f5c33%_0x383b95[_0x2b4587(0x178)],_0x383b95['update']());}(),window[_0x4f7937(0x195)]('resize',this[_0x4f7937(0x1ab)]['bind'](this),!0x1),this[_0x4f7937(0x8f)]=!0x1,this['mouse_move']=!0x1,this[_0x4f7937(0x119)]['on'](_0x43c4a0['EventType'][_0x4f7937(0xdc)],this['_onMapWhellEvent'],this),this[_0x4f7937(0x119)]['on'](_0x43c4a0[_0x4f7937(0x174)][_0x4f7937(0x154)],this[_0x4f7937(0x168)],this),this[_0x4f7937(0x119)]['on'](_0x43c4a0[_0x4f7937(0x174)][_0x4f7937(0x1cc)],this['_onMouseUpEvent'],this),this[_0x4f7937(0x119)]['on'](_0x43c4a0[_0x4f7937(0x174)][_0x4f7937(0x162)],this[_0x4f7937(0x1bf)],this);}},{'key':'unbindEvent','value':function(){var _0x11c1d1=_0x25b4b5;window[_0x11c1d1(0xcb)](this[_0x11c1d1(0xd1)]),delete this[_0x11c1d1(0xd1)],window['removeEventListener'](_0x11c1d1(0x1ab),this[_0x11c1d1(0x1ab)]),this['_map']['off'](_0x43c4a0['EventType']['wheel'],this[_0x11c1d1(0x12f)],this),this['_map'][_0x11c1d1(0xfc)](_0x43c4a0[_0x11c1d1(0x174)][_0x11c1d1(0x154)],this[_0x11c1d1(0x168)],this),this[_0x11c1d1(0x119)][_0x11c1d1(0xfc)](_0x43c4a0[_0x11c1d1(0x174)][_0x11c1d1(0x1cc)],this[_0x11c1d1(0x1bb)],this),this[_0x11c1d1(0x119)][_0x11c1d1(0xfc)](_0x43c4a0[_0x11c1d1(0x174)][_0x11c1d1(0x162)],this[_0x11c1d1(0x1bf)],this);}},{'key':'_onMapWhellEvent','value':function(_0x4cdc1f){var _0x4e8336=_0x25b4b5,_0x104808=this;clearTimeout(this[_0x4e8336(0x1b7)]),this[_0x4e8336(0x1f0)]&&this['canvas']&&(this['canvas'][_0x4e8336(0x1c4)][_0x4e8336(0x204)]=_0x4e8336(0x138),this[_0x4e8336(0x1b7)]=setTimeout(function(){var _0x1fe185=_0x4e8336;_0x104808[_0x1fe185(0x1f0)]&&(_0x104808[_0x1fe185(0xe4)](),_0x104808[_0x1fe185(0x11d)][_0x1fe185(0x1c4)][_0x1fe185(0x204)]=_0x1fe185(0x14f));},0xc8));}},{'key':'_onMouseDownEvent','value':function(_0x357c29){var _0x4e9656=_0x25b4b5;this[_0x4e9656(0x8f)]=!0x0;}},{'key':_0x25b4b5(0x1bf),'value':function(_0x4af040){var _0x4cb15e=_0x25b4b5;this[_0x4cb15e(0x1f0)]&&this[_0x4cb15e(0x11d)]&&this[_0x4cb15e(0x8f)]&&(this[_0x4cb15e(0x11d)][_0x4cb15e(0x1c4)][_0x4cb15e(0x204)]=_0x4cb15e(0x138),this['mouse_move']=!0x0);}},{'key':'_onMouseUpEvent','value':function(_0x30233d){var _0x3ad4e9=_0x25b4b5;this[_0x3ad4e9(0x1f0)]&&this[_0x3ad4e9(0x11d)]&&(this[_0x3ad4e9(0x8f)]&&this[_0x3ad4e9(0x152)]&&this[_0x3ad4e9(0xe4)](),this[_0x3ad4e9(0x11d)][_0x3ad4e9(0x1c4)]['visibility']=_0x3ad4e9(0x14f),this[_0x3ad4e9(0x8f)]=!0x1,this[_0x3ad4e9(0x152)]=!0x1);}},{'key':_0x25b4b5(0xe4),'value':function(){var _0xd49963=_0x25b4b5;this['show']&&this[_0xd49963(0x203)]&&(this[_0xd49963(0x175)]=[],this[_0xd49963(0x181)]());}},{'key':_0x25b4b5(0x1a3),'value':function(_0x3d5fef){var _0x20b3a8=_0x25b4b5;this[_0x20b3a8(0x140)](),this[_0x20b3a8(0x15f)]=_0x3d5fef,this[_0x20b3a8(0x203)]=new _0x65b60c(this[_0x20b3a8(0x15f)],this[_0x20b3a8(0x173)]),this[_0x20b3a8(0x181)]();}},{'key':_0x25b4b5(0x181),'value':function(){var _0x3eaf7a=_0x25b4b5;this[_0x3eaf7a(0x114)]();for(var _0xa65d59=0x0;_0xa65d59<this[_0x3eaf7a(0xc5)];_0xa65d59++){var _0x516b0e=this[_0x3eaf7a(0x185)](new _0x870a79());this[_0x3eaf7a(0x175)]['push'](_0x516b0e);}this[_0x3eaf7a(0x193)][_0x3eaf7a(0x111)]=_0x3eaf7a(0x13a),this[_0x3eaf7a(0x193)]['globalAlpha']=0.6,this[_0x3eaf7a(0x142)]();}},{'key':_0x25b4b5(0x114),'value':function(){var _0x3dc0cf=_0x25b4b5;this['windField']&&(this[_0x3dc0cf(0x1e0)]=[(this[_0x3dc0cf(0x203)][_0x3dc0cf(0x14c)]-this[_0x3dc0cf(0x203)][_0x3dc0cf(0x149)])/this[_0x3dc0cf(0x1c5)],(this[_0x3dc0cf(0x203)]['ymax']-this['windField'][_0x3dc0cf(0x141)])/this['speedRate']]);}},{'key':_0x25b4b5(0x142),'value':function(){var _0x3ef66a=_0x25b4b5,_0x35ba4f=this;if(this[_0x3ef66a(0x1f0)]&&!(this[_0x3ef66a(0x175)][_0x3ef66a(0x116)]<=0x0)){var _0x88a4e7=null,_0x81cb92=null,_0x54a18c=null;this['particles']['forEach'](function(_0x40a36a){var _0x4ef8a0=_0x3ef66a;if(_0x40a36a['age']<=0x0&&_0x35ba4f[_0x4ef8a0(0x185)](_0x40a36a),_0x40a36a['age']>0x0){var _0x12275f=_0x40a36a['tlng'],_0x581f74=_0x40a36a[_0x4ef8a0(0x118)];(_0x54a18c=_0x35ba4f[_0x4ef8a0(0x203)][_0x4ef8a0(0xca)](_0x12275f,_0x581f74))?(_0x88a4e7=_0x12275f+_0x35ba4f[_0x4ef8a0(0x1e0)][0x0]*_0x54a18c[0x0],_0x81cb92=_0x581f74+_0x35ba4f['calc_speedRate'][0x1]*_0x54a18c[0x1],_0x40a36a[_0x4ef8a0(0x14b)]=_0x12275f,_0x40a36a[_0x4ef8a0(0x18a)]=_0x581f74,_0x40a36a[_0x4ef8a0(0x128)]=_0x88a4e7,_0x40a36a[_0x4ef8a0(0x118)]=_0x81cb92,_0x40a36a[_0x4ef8a0(0x164)]--):_0x40a36a[_0x4ef8a0(0x164)]=0x0;}}),this[_0x3ef66a(0xc2)]();}}},{'key':_0x25b4b5(0xa1),'value':function(_0x754316,_0x5dafa9,_0x58e75b){var _0x160832=_0x25b4b5,_0x23555f=_0x2ab937[_0x160832(0xb6)][_0x160832(0x1e9)](_0x754316,_0x5dafa9,this[_0x160832(0x192)]),_0x5a4262=this[_0x160832(0x119)]['scene'];if(_0x5a4262[_0x160832(0x1ae)]===_0x2ab937[_0x160832(0x150)]['SCENE3D']&&!new _0x2ab937[(_0x160832(0x200))](_0x5a4262[_0x160832(0x121)]['ellipsoid'],_0x5a4262['camera'][_0x160832(0x106)])[_0x160832(0x16b)](_0x23555f))return _0x58e75b[_0x160832(0x164)]=0x0,null;var _0x4a14a0=_0x2ab937[_0x160832(0x1e5)][_0x160832(0x13c)](this[_0x160832(0x119)][_0x160832(0xa5)],_0x23555f);return _0x4a14a0?[_0x4a14a0['x'],_0x4a14a0['y']]:null;}},{'key':_0x25b4b5(0xc2),'value':function(){var _0x559e24=_0x25b4b5,_0x3bac2e=this,_0x37b2e1=this['particles'];this[_0x559e24(0x193)][_0x559e24(0xb5)]=_0x3bac2e['lineWidth'],this['canvasContext'][_0x559e24(0xbd)]=_0x559e24(0x153),this[_0x559e24(0x193)][_0x559e24(0xda)](0x0,0x0,this[_0x559e24(0x93)],this['canvasHeight']),this[_0x559e24(0x193)][_0x559e24(0xbd)]=_0x559e24(0x98),this[_0x559e24(0x193)][_0x559e24(0x1ce)]=0.9,this[_0x559e24(0x193)][_0x559e24(0xba)](),this[_0x559e24(0x193)][_0x559e24(0x117)]=this[_0x559e24(0x202)];var _0x4c6238=this[_0x559e24(0x119)][_0x559e24(0xa5)]['mode']!==_0x2ab937[_0x559e24(0x150)]['SCENE3D'];_0x37b2e1[_0x559e24(0x13f)](function(_0x729d83){var _0x5e6f18=_0x559e24,_0x26e635=_0x3bac2e[_0x5e6f18(0xa1)](_0x729d83[_0x5e6f18(0x14b)],_0x729d83[_0x5e6f18(0x18a)],_0x729d83),_0x30f6ad=_0x3bac2e[_0x5e6f18(0xa1)](_0x729d83[_0x5e6f18(0x128)],_0x729d83[_0x5e6f18(0x118)],_0x729d83);if(null!=_0x26e635&&null!=_0x30f6ad){var _0x367e39=Math[_0x5e6f18(0xc3)](_0x26e635[0x0]-_0x30f6ad[0x0]);_0x4c6238&&_0x367e39>=_0x3bac2e['canvasWidth']||(_0x3bac2e[_0x5e6f18(0x193)][_0x5e6f18(0xfb)](_0x26e635[0x0],_0x26e635[0x1]),_0x3bac2e['canvasContext'][_0x5e6f18(0x135)](_0x30f6ad[0x0],_0x30f6ad[0x1]));}}),this['canvasContext'][_0x559e24(0x123)]();}},{'key':_0x25b4b5(0x185),'value':function(_0x4166c8){var _0x36341c=_0x25b4b5;for(var _0x3d8f13,_0x113c39,_0x1cecda=0x0;_0x1cecda<0x1e&&(_0x3d8f13=this[_0x36341c(0x203)][_0x36341c(0x156)](),!((_0x113c39=this[_0x36341c(0x203)][_0x36341c(0xca)](_0x3d8f13[_0x36341c(0x14b)],_0x3d8f13['lat']))&&_0x113c39[0x2]>0x0));_0x1cecda++);if(!_0x113c39)return _0x4166c8;var _0x884625=_0x3d8f13[_0x36341c(0x14b)]+this['calc_speedRate'][0x0]*_0x113c39[0x0],_0x330e9c=_0x3d8f13[_0x36341c(0x18a)]+this[_0x36341c(0x1e0)][0x1]*_0x113c39[0x1];return _0x4166c8[_0x36341c(0x14b)]=_0x3d8f13[_0x36341c(0x14b)],_0x4166c8['lat']=_0x3d8f13['lat'],_0x4166c8[_0x36341c(0x128)]=_0x884625,_0x4166c8[_0x36341c(0x118)]=_0x330e9c,_0x4166c8[_0x36341c(0x164)]=Math['round'](Math[_0x36341c(0xb0)]()*this['maxAge']),_0x4166c8;}},{'key':_0x25b4b5(0x140),'value':function(){var _0x1eff77=_0x25b4b5;this[_0x1eff77(0x175)]=[],delete this['windField'],delete this[_0x1eff77(0x15f)];}}]),_0x131790;}(_0x43c4a0[_0x3e7117(0x9b)]['BaseLayer']);function _0x1c9258(_0x242ab0,_0x5d0882){var _0x5690d9=_0x3e7117;return _0x242ab0*Math[_0x5690d9(0xbb)](_0x2ab937[_0x5690d9(0xa6)][_0x5690d9(0x10b)](_0x5d0882));}function _0x5449d0(_0x203096,_0x5bda7e){var _0x43dc6c=_0x3e7117;return _0x203096*Math[_0x43dc6c(0x13b)](_0x2ab937[_0x43dc6c(0xa6)][_0x43dc6c(0x10b)](_0x5bda7e));}function _0x2cc124(_0x3acdb7,_0x366405){var _0x4b7266=_0x3e7117;return Math['sqrt'](Math[_0x4b7266(0xbe)](_0x3acdb7,0x2)+Math[_0x4b7266(0xbe)](_0x366405,0x2));}function _0x3b3c65(_0x426801,_0x469d02){var _0x2ffd02=_0x3e7117,_0x2b38fa=_0x2ab937[_0x2ffd02(0xa6)][_0x2ffd02(0x1dd)](Math['atan2'](_0x469d02,_0x426801));return _0x2b38fa+=_0x2b38fa<0x0?0x168:0x0;}_0x43c4a0[_0x3e7117(0x102)][_0x3e7117(0xee)](_0x3e7117(0xaf),_0x341e60),_0x43c4a0[_0x3e7117(0x9b)][_0x3e7117(0xc1)]=_0x341e60,_0x43c4a0[_0x3e7117(0x15e)]=_0x175578;}]));
30
+ var a0_0x3672a8=a0_0x1b3b;function a0_0x1b3b(_0x112c84,_0x53feb3){var _0xa1ef89=a0_0xa1ef();return a0_0x1b3b=function(_0x1b3bbd,_0x4c6055){_0x1b3bbd=_0x1b3bbd-0x1a1;var _0x4f179c=_0xa1ef89[_0x1b3bbd];return _0x4f179c;},a0_0x1b3b(_0x112c84,_0x53feb3);}function a0_0xa1ef(){var _0x44abe3=['height','mouseDown','absolute','zIndex','cos','computeViewRectangle','isInExtent','_createCanvas','0px','register','segments','getDirection','rows','function','RGB','mouseUp','calc_speedRate','_onMouseMoveEvent','globalCompositeOperation','1627375uIAKHo','_onMap_preRenderEvent','clearCommand','WindLayer','nextTrailsColor','createParticlesTextures','resize','applyUserInput','outputTexture','_setOptionsHook','writable','toStringTag','none','toGridXY','windField','now','_drawLines','rawRenderState','unbindEvent','ClearCommand','viewRectangleToLonLatRange','Compute','geometry','top','vertexArray','redraw','lng','SceneMode','8hujqAz','addPrimitives','removeChild','lighter','nextTrailsDepth','framebuffer','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','fadeOpacity','udata','mouse_move','enumerable','create','fillRect','toDegrees','sin','moveTo','viewport','Cartesian3','speedFactor','xmax','canrefresh','key','_maxAge','toRadians','particlesNumber','ceil','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','BaseLayer','cols','userInput','construct','nextParticlesSpeed','lon','Cartesian2','_pointerEvents','frameRate','atan2','_onMapWhellEvent','816676NkpVIV','createRenderingTextures','west','destroy','_onMouseUpEvent','round','2855284ZucsgK','getDefaultRenderState','globalAlpha','fromGeometry','speedRate','Cesium','Math','getExtent','attribute\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0aattribute\x20vec3\x20normal;\x20//\x20(point\x20to\x20use,\x20offset\x20sign,\x20not\x20used\x20component)\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x0auniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20postProcessingSpeed;\x0a\x0auniform\x20float\x20particleHeight;\x0a\x0auniform\x20float\x20aspect;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20lineWidth;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avec3\x20convertCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20WGS84\x20(lon,\x20lat,\x20lev)\x20->\x20ECEF\x20(x,\x20y,\x20z)\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_conversion#From_geodetic_to_ECEF_coordinates\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20WGS\x2084\x20geometric\x20constants\x20\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x20\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\x20\x0a\x20\x20\x20\x20float\x20e2\x20=\x206.69437999014e-3;\x20//\x20First\x20eccentricity\x20squared\x0a\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x20\x20\x20\x20float\x20longitude\x20=\x20radians(lonLatLev.x);\x0a\x0a\x20\x20\x20\x20float\x20cosLat\x20=\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20sinLat\x20=\x20sin(latitude);\x0a\x20\x20\x20\x20float\x20cosLon\x20=\x20cos(longitude);\x0a\x20\x20\x20\x20float\x20sinLon\x20=\x20sin(longitude);\x0a\x0a\x20\x20\x20\x20float\x20N_Phi\x20=\x20a\x20/\x20sqrt(1.0\x20-\x20e2\x20*\x20sinLat\x20*\x20sinLat);\x0a\x20\x20\x20\x20float\x20h\x20=\x20particleHeight;\x20//\x20it\x20should\x20be\x20high\x20enough\x20otherwise\x20the\x20particle\x20may\x20not\x20pass\x20the\x20terrain\x20depth\x20test\x0a\x0a\x20\x20\x20\x20vec3\x20cartesian\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20cartesian.x\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20cosLon;\x0a\x20\x20\x20\x20cartesian.y\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20sinLon;\x0a\x20\x20\x20\x20cartesian.z\x20=\x20((b\x20*\x20b)\x20/\x20(a\x20*\x20a)\x20*\x20N_Phi\x20+\x20h)\x20*\x20sinLat;\x0a\x20\x20\x20\x20return\x20cartesian;\x0a}\x0a\x0avec4\x20calcProjectedCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20the\x20range\x20of\x20longitude\x20in\x20Cesium\x20is\x20[-180,\x20180]\x20but\x20the\x20range\x20of\x20longitude\x20in\x20the\x20NetCDF\x20file\x20is\x20[0,\x20360]\x0a\x20\x20\x20\x20//\x20[0,\x20180]\x20is\x20corresponding\x20to\x20[0,\x20180]\x20and\x20[180,\x20360]\x20is\x20corresponding\x20to\x20[-180,\x200]\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x\x20+\x20180.0,\x20360.0)\x20-\x20180.0;\x0a\x20\x20\x20\x20vec3\x20particlePosition\x20=\x20convertCoordinate(lonLatLev);\x0a\x20\x20\x20\x20vec4\x20projectedCoordinate\x20=\x20czm_modelViewProjection\x20*\x20vec4(particlePosition,\x201.0);\x0a\x20\x20\x20\x20return\x20projectedCoordinate;\x0a}\x0a\x0avec4\x20calcOffset(vec4\x20currentProjectedCoordinate,\x20vec4\x20nextProjectedCoordinate,\x20float\x20offsetSign)\x20{\x0a\x20\x20\x20\x20vec2\x20aspectVec2\x20=\x20vec2(aspect,\x201.0);\x0a\x20\x20\x20\x20vec2\x20currentXY\x20=\x20(currentProjectedCoordinate.xy\x20/\x20currentProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x20\x20\x20\x20vec2\x20nextXY\x20=\x20(nextProjectedCoordinate.xy\x20/\x20nextProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x0a\x20\x20\x20\x20float\x20offsetLength\x20=\x20lineWidth\x20/\x202.0;\x0a\x20\x20\x20\x20vec2\x20direction\x20=\x20normalize(nextXY\x20-\x20currentXY);\x0a\x20\x20\x20\x20vec2\x20normalVector\x20=\x20vec2(-direction.y,\x20direction.x);\x0a\x20\x20\x20\x20normalVector.x\x20=\x20normalVector.x\x20/\x20aspect;\x0a\x20\x20\x20\x20normalVector\x20=\x20offsetLength\x20*\x20normalVector;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20vec4(offsetSign\x20*\x20normalVector,\x200.0,\x200.0);\x0a\x20\x20\x20\x20return\x20offset;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec2\x20particleIndex\x20=\x20st;\x0a\x0a\x20\x20\x20\x20vec3\x20currentPosition\x20=\x20texture2D(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture2D(postProcessingPosition,\x20particleIndex);\x0a\x0a\x20\x20\x20\x20vec4\x20currentProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20vec4\x20nextProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(nextPosition.w\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(nextPosition.xyz);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20float\x20pointToUse\x20=\x20normal.x;\x20//\x20-1\x20is\x20currentProjectedCoordinate\x20and\x20+1\x20is\x20nextProjectedCoordinate\x0a\x20\x20\x20\x20float\x20offsetSign\x20=\x20normal.y;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20pixelSize\x20*\x20calcOffset(currentProjectedCoordinate,\x20nextProjectedCoordinate,\x20offsetSign);\x0a\x20\x20\x20\x20if\x20(pointToUse\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20currentProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20nextProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20speedNormalization\x20=\x20texture2D(postProcessingSpeed,\x20particleIndex).a;\x0a}','undefined','PixelFormat','mars3dWind','_removedHook','uniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20lengthOfLonLat(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20unit\x20conversion:\x20meters\x20->\x20longitude\x20latitude\x20degrees\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_system#Length_of_a_degree\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20Calculate\x20the\x20length\x20of\x20a\x20degree\x20of\x20latitude\x20and\x20longitude\x20in\x20meters\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x0a\x20\x20\x20\x20float\x20term1\x20=\x20111132.92;\x0a\x20\x20\x20\x20float\x20term2\x20=\x20559.82\x20*\x20cos(2.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term3\x20=\x201.175\x20*\x20cos(4.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term4\x20=\x200.0023\x20*\x20cos(6.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20latLength\x20=\x20term1\x20-\x20term2\x20+\x20term3\x20-\x20term4;\x0a\x0a\x20\x20\x20\x20float\x20term5\x20=\x20111412.84\x20*\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20term6\x20=\x2093.5\x20*\x20cos(3.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term7\x20=\x200.118\x20*\x20cos(5.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20longLength\x20=\x20term5\x20-\x20term6\x20+\x20term7;\x0a\x0a\x20\x20\x20\x20return\x20vec2(longLength,\x20latLength);\x0a}\x0a\x0avoid\x20updatePosition(vec3\x20lonLatLev,\x20vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec2\x20lonLatLength\x20=\x20lengthOfLonLat(lonLatLev);\x0a\x20\x20\x20\x20float\x20u\x20=\x20speed.x\x20/\x20lonLatLength.x;\x0a\x20\x20\x20\x20float\x20v\x20=\x20speed.y\x20/\x20lonLatLength.y;\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20vec3\x20windVectorInLonLatLev\x20=\x20vec3(u,\x20v,\x20w);\x0a\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20lonLatLev\x20+\x20windVectorInLonLatLev;\x0a\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20speed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20updatePosition(lonLatLev,\x20speed);\x0a}','defineProperty','scene','particles','updateViewerParameters','grid','remove','TextureMinificationFilter','prototype','stroke','source','NEAREST','value','createRenderingFramebuffers','refreshTimer','PrimitiveType','lonRange','apply','Draw','canvasResize','ymax','nextParticlesPosition','hasOwnProperty','beginPath','GeometryAttributes','getColorTexture','defaultValue','currentTrails','TWO_PI','Texture','reverse','getWind','appendChild','globe','fixedHeight','BufferUsage','uniform\x20sampler2D\x20nextParticlesPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0a//\x20range\x20(min,\x20max)\x0auniform\x20vec2\x20lonRange;\x0auniform\x20vec2\x20latRange;\x0a\x0auniform\x20float\x20randomCoefficient;\x20//\x20use\x20to\x20improve\x20the\x20pseudo-random\x20generator\x0auniform\x20float\x20dropRate;\x20//\x20drop\x20rate\x20is\x20a\x20chance\x20a\x20particle\x20will\x20restart\x20at\x20random\x20position\x20to\x20avoid\x20degeneration\x0auniform\x20float\x20dropRateBump;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0a//\x20pseudo-random\x20generator\x0aconst\x20vec3\x20randomConstants\x20=\x20vec3(12.9898,\x2078.233,\x204375.85453);\x0aconst\x20vec2\x20normalRange\x20=\x20vec2(0.0,\x201.0);\x0afloat\x20rand(vec2\x20seed,\x20vec2\x20range)\x20{\x0a\x20\x20\x20\x20vec2\x20randomSeed\x20=\x20randomCoefficient\x20*\x20seed;\x0a\x20\x20\x20\x20float\x20temp\x20=\x20dot(randomConstants.xy,\x20randomSeed);\x0a\x20\x20\x20\x20temp\x20=\x20fract(sin(temp)\x20*\x20(randomConstants.z\x20+\x20temp));\x0a\x20\x20\x20\x20return\x20temp\x20*\x20(range.y\x20-\x20range.x)\x20+\x20range.x;\x0a}\x0a\x0avec3\x20generateRandomParticle(vec2\x20seed,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20longitude\x20is\x20in\x20[0,\x20360]\x0a\x20\x20\x20\x20float\x20randomLon\x20=\x20mod(rand(seed,\x20lonRange),\x20360.0);\x0a\x20\x20\x20\x20float\x20randomLat\x20=\x20rand(-seed,\x20latRange);\x0a\x0a\x20\x20\x20\x20return\x20vec3(randomLon,\x20randomLat,\x20lev);\x0a}\x0a\x0abool\x20particleOutbound(vec3\x20particle)\x20{\x0a\x20\x20\x20\x20return\x20particle.y\x20<\x20-90.0\x20||\x20particle.y\x20>\x2090.0;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20texture2D(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20float\x20particleDropRate\x20=\x20dropRate\x20+\x20dropRateBump\x20*\x20nextSpeed.a;\x0a\x0a\x20\x20\x20\x20vec2\x20seed1\x20=\x20nextParticle.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec2\x20seed2\x20=\x20nextSpeed.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec3\x20randomParticle\x20=\x20generateRandomParticle(seed1,\x20nextParticle.z);\x0a\x20\x20\x20\x20float\x20randomNumber\x20=\x20rand(seed2,\x20normalRange);\x0a\x0a\x20\x20\x20\x20if\x20(randomNumber\x20<\x20particleDropRate\x20||\x20particleOutbound(nextParticle))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(randomParticle,\x201.0);\x20//\x201.0\x20means\x20this\x20is\x20a\x20random\x20particle\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a\x20\x20\x20\x20}\x0a}','mouse_down','particlesRendering','getUserInput','forEach','context','removeEventListener','depthMask','dimensions','mod','particleHeight','depthTexture','requestAnimationFrame','position','isDestroyed','_tomap','EllipsoidalOccluder','removeAll','createElement','windData','valueOf','vdata','uniform\x20sampler2D\x20segmentsColorTexture;\x0d\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0d\x0a\x0d\x0auniform\x20sampler2D\x20currentTrailsColor;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0auniform\x20float\x20fadeOpacity;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture2D(segmentsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(currentTrailsColor,\x20textureCoordinate);\x0d\x0a\x0d\x0a\x20\x20\x20\x20trailsColor\x20=\x20floor(fadeOpacity\x20*\x20255.0\x20*\x20trailsColor)\x20/\x20255.0;\x20//\x20make\x20sure\x20the\x20trailsColor\x20will\x20be\x20strictly\x20decreased\x0d\x0a\x0d\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture2D(segmentsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20pointsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20gl_FragDepthEXT\x20=\x20min(pointsDepth,\x20trailsDepth);\x0d\x0a}','drawWind','destroyParticlesTextures','wheel','updateDate','layer','windTextures','_bilinearInterpolation','DISABLE_GL_POSITION_LOG_DEPTH','particlesTextureSize','south','FLOAT','ComponentDatatype','ShaderSource','clearFramebuffers','fragmentShaderSource','lineWidth','VertexArray','ellipsoid','uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture2D(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}','segmentsColor','update','drawingBufferHeight','currentParticlesSpeed','drawingBufferWidth','log','PI_OVER_TWO','ymin','fromDegrees','Matrix4','canvasWind','cancelAnimationFrame','nextTrails','41390nWgXCH','getUVByPoint','segmentsDepth','particlesWind','visible','length','setOptions','PI_OVER_THREE','clientHeight','color','constructor','applyViewerParameters','450543ITnoaN','Color','push','attributeLocations','canvasContext','exports','colorTable','min','mouseMove','addEventListener','PixelDatatype','preRender','getV','clampToLatitudeRange','depthTest','Sampler','getFullscreenQuad','age','primitiveType','refreshParticles','all','destination-in','auto','canvasWindy','setGeometry','call','reverseY','createComputingPrimitives','xmin','defined','tlng','_calcUV','TextureMagnificationFilter','getUVByXY','latRange','_map','bind','textures','colorNum','fromCache','randomParticle','createRawRenderState','createFramebuffer','lat','3JcBAYP','object','_showHook','canvas','isPointVisible','currentTrailsColor','configurable','show','Module','//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\x20\x0auniform\x20sampler2D\x20V;\x20//\x20northward\x20wind\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0a\x0auniform\x20vec3\x20dimension;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20vec3\x20minimum;\x20//\x20minimum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20maximum;\x20//\x20maximum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20interval;\x20//\x20interval\x20of\x20each\x20dimension\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20mapPositionToNormalizedIndex2D(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20range\x20of\x20longitude\x20and\x20latitude\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x,\x20360.0);\x0a\x20\x20\x20\x20lonLatLev.y\x20=\x20clamp(lonLatLev.y,\x20-90.0,\x2090.0);\x0a\x0a\x20\x20\x20\x20vec3\x20index3D\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20index3D.x\x20=\x20(lonLatLev.x\x20-\x20minimum.x)\x20/\x20interval.x;\x0a\x20\x20\x20\x20index3D.y\x20=\x20(lonLatLev.y\x20-\x20minimum.y)\x20/\x20interval.y;\x0a\x20\x20\x20\x20index3D.z\x20=\x20(lonLatLev.z\x20-\x20minimum.z)\x20/\x20interval.z;\x0a\x0a\x20\x20\x20\x20//\x20the\x20st\x20texture\x20coordinate\x20corresponding\x20to\x20(col,\x20row)\x20index\x0a\x20\x20\x20\x20//\x20example\x0a\x20\x20\x20\x20//\x20data\x20array\x20is\x20[0,\x201,\x202,\x203,\x204,\x205],\x20width\x20=\x203,\x20height\x20=\x202\x0a\x20\x20\x20\x20//\x20the\x20content\x20of\x20texture\x20will\x20be\x0a\x20\x20\x20\x20//\x20t\x201.0\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x203\x204\x205\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x200\x201\x202\x0a\x20\x20\x20\x20//\x20\x20\x200.0------1.0\x20s\x0a\x0a\x20\x20\x20\x20vec2\x20index2D\x20=\x20vec2(index3D.x,\x20index3D.z\x20*\x20dimension.y\x20+\x20index3D.y);\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20vec2(index2D.x\x20/\x20dimension.x,\x20index2D.y\x20/\x20(dimension.y\x20*\x20dimension.z));\x0a\x20\x20\x20\x20return\x20normalizedIndex2D;\x0a}\x0a\x0afloat\x20getWind(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20mapPositionToNormalizedIndex2D(lonLatLev);\x0a\x20\x20\x20\x20float\x20result\x20=\x20texture2D(windTexture,\x20normalizedIndex2D).r;\x0a\x20\x20\x20\x20return\x20result;\x0a}\x0a\x0aconst\x20mat4\x20kernelMatrix\x20=\x20mat4(\x0a\x20\x20\x20\x200.0,\x20-1.0,\x202.0,\x20-1.0,\x20//\x20first\x20column\x0a\x20\x20\x20\x202.0,\x200.0,\x20-5.0,\x203.0,\x20//\x20second\x20column\x0a\x20\x20\x20\x200.0,\x201.0,\x204.0,\x20-3.0,\x20//\x20third\x20column\x0a\x20\x20\x20\x200.0,\x200.0,\x20-1.0,\x201.0\x20//\x20fourth\x20column\x0a);\x0afloat\x20oneDimensionInterpolation(float\x20t,\x20float\x20p0,\x20float\x20p1,\x20float\x20p2,\x20float\x20p3)\x20{\x0a\x20\x20\x20\x20vec4\x20tVec4\x20=\x20vec4(1.0,\x20t,\x20t\x20*\x20t,\x20t\x20*\x20t\x20*\x20t);\x0a\x20\x20\x20\x20tVec4\x20=\x20tVec4\x20/\x202.0;\x0a\x20\x20\x20\x20vec4\x20pVec4\x20=\x20vec4(p0,\x20p1,\x20p2,\x20p3);\x0a\x20\x20\x20\x20return\x20dot((tVec4\x20*\x20kernelMatrix),\x20pVec4);\x0a}\x0a\x0afloat\x20calculateB(sampler2D\x20windTexture,\x20float\x20t,\x20float\x20lon,\x20float\x20lat,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20float\x20lon0\x20=\x20floor(lon)\x20-\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon1\x20=\x20floor(lon);\x0a\x20\x20\x20\x20float\x20lon2\x20=\x20floor(lon)\x20+\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon3\x20=\x20floor(lon)\x20+\x202.0\x20*\x20interval.x;\x0a\x0a\x20\x20\x20\x20float\x20p0\x20=\x20getWind(windTexture,\x20vec3(lon0,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p1\x20=\x20getWind(windTexture,\x20vec3(lon1,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p2\x20=\x20getWind(windTexture,\x20vec3(lon2,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p3\x20=\x20getWind(windTexture,\x20vec3(lon3,\x20lat,\x20lev));\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(t,\x20p0,\x20p1,\x20p2,\x20p3);\x0a}\x0a\x0afloat\x20interpolateOneTexture(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20float\x20lon\x20=\x20lonLatLev.x;\x0a\x20\x20\x20\x20float\x20lat\x20=\x20lonLatLev.y;\x0a\x20\x20\x20\x20float\x20lev\x20=\x20lonLatLev.z;\x0a\x0a\x20\x20\x20\x20float\x20lat0\x20=\x20floor(lat)\x20-\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat1\x20=\x20floor(lat);\x0a\x20\x20\x20\x20float\x20lat2\x20=\x20floor(lat)\x20+\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat3\x20=\x20floor(lat)\x20+\x202.0\x20*\x20interval.y;\x0a\x0a\x20\x20\x20\x20vec2\x20coefficient\x20=\x20lonLatLev.xy\x20-\x20floor(lonLatLev.xy);\x0a\x20\x20\x20\x20float\x20b0\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat0,\x20lev);\x0a\x20\x20\x20\x20float\x20b1\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat1,\x20lev);\x0a\x20\x20\x20\x20float\x20b2\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat2,\x20lev);\x0a\x20\x20\x20\x20float\x20b3\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat3,\x20lev);\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(coefficient.y,\x20b0,\x20b1,\x20b2,\x20b3);\x0a}\x0a\x0avec3\x20bicubic(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20https://en.wikipedia.org/wiki/Bicubic_interpolation#Bicubic_convolution_algorithm\x0a\x20\x20\x20\x20float\x20u\x20=\x20interpolateOneTexture(U,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20v\x20=\x20interpolateOneTexture(V,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20return\x20vec3(u,\x20v,\x20w);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20bicubic(lonLatLev);\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(windVector,\x200.0);\x0a}','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','container','dropRateBump','autoClear','pow','hidden','OPAQUE','once','off','particlesComputing','postProcessingPosition','fillStyle','particleSystem','RGBA','visibility','#ffffff','maxAge','width','commandToExecute','Appearance','particlesTextures','array','GeometryAttribute','canvasWidth','WindUtil','dropRate','random','mode','100%','createSegmentsGeometry','sham','maxParticles','randomizeParticles','IDENTITY','options','__esModule','camera','createWindTextures','clientWidth','framebuffers','STATIC_DRAW','PrimitiveCollection','primitives','setPrototypeOf','ComputeCommand','uniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0auniform\x20sampler2D\x20particlesWind;\x0a\x0a//\x20used\x20to\x20calculate\x20the\x20wind\x20norm\x0auniform\x20vec2\x20uSpeedRange;\x20//\x20(min,\x20max);\x0auniform\x20vec2\x20vSpeedRange;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20speedFactor;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0afloat\x20calculateWindNorm(vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec3\x20percent\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20percent.x\x20=\x20(speed.x\x20-\x20uSpeedRange.x)\x20/\x20(uSpeedRange.y\x20-\x20uSpeedRange.x);\x0a\x20\x20\x20\x20percent.y\x20=\x20(speed.y\x20-\x20vSpeedRange.x)\x20/\x20(vSpeedRange.y\x20-\x20vSpeedRange.x);\x0a\x20\x20\x20\x20float\x20normalization\x20=\x20length(percent);\x0a\x0a\x20\x20\x20\x20return\x20normalization;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20currentSpeed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture2D(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindNorm(windVector));\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20nextSpeed;\x0a}','wind','rgba(0,\x200,\x200,\x200.97)','floor','createRenderingPrimitives','bindEvent','createTexture','pixelSize','updateSpeed','_addedHook','data','SceneTransforms','__proto__','default','canvasHeight','fill','strokeStyle','LINEAR','tlat','_mountedHook','ShaderProgram','_onMouseDownEvent','commandType','arrayBufferView','sqrt','Rectangle','ZERO','currentParticlesPosition','Pass','_speedRate','lev','vertexShaderSource','max','shaderProgram','keys','attribute\x20vec3\x20position;\x0d\x0aattribute\x20vec2\x20st;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20textureCoordinate\x20=\x20st;\x0d\x0a\x20\x20\x20\x20gl_Position\x20=\x20vec4(position,\x201.0);\x0d\x0a}','globeLayer','trails','createCommand','globeBoundingSphere','style','895860wuzNjh','currentTrailsDepth','5433708DdcYqP','postProcessingSpeed','uniform\x20sampler2D\x20colorTable;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}','clear','DepthFunction','abs','SCENE3D','pointerEvents','CanvasWindLayer','animateFrame','uniformMap','_particlesNumber','frameTime','EventType','symbol','UNSIGNED_INT','viewerParameters','TRIANGLES','uniform\x20sampler2D\x20trailsColorTexture;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(trailsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x20else\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20}\x0d\x0a}','add','preExecute','Geometry','_calcStep','DEPTH_COMPONENT'];a0_0xa1ef=function(){return _0x44abe3;};return a0_0xa1ef();}(function(_0x59d7f5,_0x478f75){var _0x3bc421=a0_0x1b3b,_0x57a004=_0x59d7f5();while(!![]){try{var _0x4f4ddb=-parseInt(_0x3bc421(0x1c9))/0x1+parseInt(_0x3bc421(0x1bd))/0x2+-parseInt(_0x3bc421(0x1f5))/0x3*(-parseInt(_0x3bc421(0x2ca))/0x4)+-parseInt(_0x3bc421(0x282))/0x5+parseInt(_0x3bc421(0x257))/0x6+parseInt(_0x3bc421(0x2c4))/0x7*(-parseInt(_0x3bc421(0x29e))/0x8)+-parseInt(_0x3bc421(0x255))/0x9;if(_0x4f4ddb===_0x478f75)break;else _0x57a004['push'](_0x57a004['shift']());}catch(_0x1c4c5d){_0x57a004['push'](_0x57a004['shift']());}}}(a0_0xa1ef,0x9e2e4),window[a0_0x3672a8(0x2d5)]=function(_0x8036ff){var _0x3735d7={};function _0x5e8bf6(_0x9f17d8){var _0x3c79b0=a0_0x1b3b;if(_0x3735d7[_0x9f17d8])return _0x3735d7[_0x9f17d8][_0x3c79b0(0x1ce)];var _0x1cce07=_0x3735d7[_0x9f17d8]={'i':_0x9f17d8,'l':!0x1,'exports':{}};return _0x8036ff[_0x9f17d8][_0x3c79b0(0x1e2)](_0x1cce07[_0x3c79b0(0x1ce)],_0x1cce07,_0x1cce07[_0x3c79b0(0x1ce)],_0x5e8bf6),_0x1cce07['l']=!0x0,_0x1cce07[_0x3c79b0(0x1ce)];}return _0x5e8bf6['m']=_0x8036ff,_0x5e8bf6['c']=_0x3735d7,_0x5e8bf6['d']=function(_0x17b57d,_0x1ff5de,_0x3481d2){_0x5e8bf6['o'](_0x17b57d,_0x1ff5de)||Object['defineProperty'](_0x17b57d,_0x1ff5de,{'enumerable':!0x0,'get':_0x3481d2});},_0x5e8bf6['r']=function(_0x3dd929){var _0x241b1c=a0_0x1b3b;_0x241b1c(0x2d3)!=typeof Symbol&&Symbol[_0x241b1c(0x28d)]&&Object[_0x241b1c(0x2d8)](_0x3dd929,Symbol['toStringTag'],{'value':_0x241b1c(0x1fd)}),Object[_0x241b1c(0x2d8)](_0x3dd929,_0x241b1c(0x222),{'value':!0x0});},_0x5e8bf6['t']=function(_0x1febb3,_0x39b9a4){var _0x44135c=a0_0x1b3b;if(0x1&_0x39b9a4&&(_0x1febb3=_0x5e8bf6(_0x1febb3)),0x8&_0x39b9a4)return _0x1febb3;if(0x4&_0x39b9a4&&_0x44135c(0x1f6)==typeof _0x1febb3&&_0x1febb3&&_0x1febb3[_0x44135c(0x222)])return _0x1febb3;var _0x4bcce1=Object[_0x44135c(0x2a9)](null);if(_0x5e8bf6['r'](_0x4bcce1),Object[_0x44135c(0x2d8)](_0x4bcce1,'default',{'enumerable':!0x0,'value':_0x1febb3}),0x2&_0x39b9a4&&'string'!=typeof _0x1febb3){for(var _0x24618c in _0x1febb3)_0x5e8bf6['d'](_0x4bcce1,_0x24618c,function(_0x58ddb2){return _0x1febb3[_0x58ddb2];}[_0x44135c(0x1ed)](null,_0x24618c));}return _0x4bcce1;},_0x5e8bf6['n']=function(_0x17e0fc){var _0x3b883f=a0_0x1b3b,_0x556d7=_0x17e0fc&&_0x17e0fc[_0x3b883f(0x222)]?function(){return _0x17e0fc['default'];}:function(){return _0x17e0fc;};return _0x5e8bf6['d'](_0x556d7,'a',_0x556d7),_0x556d7;},_0x5e8bf6['o']=function(_0x1b3350,_0x3ee270){var _0x5b84eb=a0_0x1b3b;return Object[_0x5b84eb(0x2df)][_0x5b84eb(0x2ed)][_0x5b84eb(0x1e2)](_0x1b3350,_0x3ee270);},_0x5e8bf6['p']='',_0x5e8bf6(_0x5e8bf6['s']=0x14);}([function(_0x2be5e2,_0x45301c){var _0x1eac62=a0_0x3672a8;_0x2be5e2[_0x1eac62(0x1ce)]=window[_0x1eac62(0x2cf)];},function(_0x1a2423,_0x4d8353){var _0x5e7b89=a0_0x3672a8;_0x1a2423[_0x5e7b89(0x1ce)]=window['mars3d'];},function(_0x456e4f,_0x4e3a01){var _0x2a96e7=a0_0x3672a8;_0x456e4f[_0x2a96e7(0x1ce)]=function(_0x5622cc,_0x90dcc3){var _0x3672d5=_0x2a96e7;if(!(_0x5622cc instanceof _0x90dcc3))throw new TypeError(_0x3672d5(0x1ff));},_0x456e4f[_0x2a96e7(0x1ce)][_0x2a96e7(0x239)]=_0x456e4f[_0x2a96e7(0x1ce)],_0x456e4f[_0x2a96e7(0x1ce)][_0x2a96e7(0x222)]=!0x0;},function(_0x585cfb,_0x14906){var _0x227913=a0_0x3672a8;function _0x29001e(_0x437860,_0x4ca92b){var _0xa0ba60=a0_0x1b3b;for(var _0x46053a=0x0;_0x46053a<_0x4ca92b[_0xa0ba60(0x1c2)];_0x46053a++){var _0x543d25=_0x4ca92b[_0x46053a];_0x543d25[_0xa0ba60(0x2a8)]=_0x543d25[_0xa0ba60(0x2a8)]||!0x1,_0x543d25[_0xa0ba60(0x1fb)]=!0x0,_0xa0ba60(0x2e3)in _0x543d25&&(_0x543d25[_0xa0ba60(0x28c)]=!0x0),Object[_0xa0ba60(0x2d8)](_0x437860,_0x543d25[_0xa0ba60(0x2b3)],_0x543d25);}}_0x585cfb[_0x227913(0x1ce)]=function(_0x4e2c5c,_0x44ea2e,_0x2bc0a1){var _0x5ab7af=_0x227913;return _0x44ea2e&&_0x29001e(_0x4e2c5c[_0x5ab7af(0x2df)],_0x44ea2e),_0x2bc0a1&&_0x29001e(_0x4e2c5c,_0x2bc0a1),_0x4e2c5c;},_0x585cfb[_0x227913(0x1ce)][_0x227913(0x239)]=_0x585cfb[_0x227913(0x1ce)],_0x585cfb[_0x227913(0x1ce)][_0x227913(0x222)]=!0x0;},function(_0x1067c4,_0x4bdda7){var _0x8d5fc5=a0_0x3672a8;function _0x51d0bc(_0x189a59){var _0x20d848=a0_0x1b3b;return _0x1067c4[_0x20d848(0x1ce)]=_0x51d0bc=Object['setPrototypeOf']?Object['getPrototypeOf']:function(_0x30875d){return _0x30875d['__proto__']||Object['getPrototypeOf'](_0x30875d);},_0x1067c4[_0x20d848(0x1ce)][_0x20d848(0x239)]=_0x1067c4[_0x20d848(0x1ce)],_0x1067c4[_0x20d848(0x1ce)][_0x20d848(0x222)]=!0x0,_0x51d0bc(_0x189a59);}_0x1067c4[_0x8d5fc5(0x1ce)]=_0x51d0bc,_0x1067c4[_0x8d5fc5(0x1ce)][_0x8d5fc5(0x239)]=_0x1067c4[_0x8d5fc5(0x1ce)],_0x1067c4[_0x8d5fc5(0x1ce)]['__esModule']=!0x0;},function(_0x1dc9cf,_0x50151e,_0x49ad4b){var _0x1d4303=a0_0x3672a8,_0xfd043a=_0x49ad4b(0x11);_0x1dc9cf[_0x1d4303(0x1ce)]=function(_0x9c3326,_0x1b4461){var _0x3db13f=_0x1d4303;if(_0x3db13f(0x27c)!=typeof _0x1b4461&&null!==_0x1b4461)throw new TypeError(_0x3db13f(0x2b8));_0x9c3326[_0x3db13f(0x2df)]=Object[_0x3db13f(0x2a9)](_0x1b4461&&_0x1b4461[_0x3db13f(0x2df)],{'constructor':{'value':_0x9c3326,'writable':!0x0,'configurable':!0x0}}),_0x1b4461&&_0xfd043a(_0x9c3326,_0x1b4461);},_0x1dc9cf['exports'][_0x1d4303(0x239)]=_0x1dc9cf[_0x1d4303(0x1ce)],_0x1dc9cf['exports'][_0x1d4303(0x222)]=!0x0;},function(_0x4ef3b0,_0x426d0c,_0x2b5109){var _0x27ba92=a0_0x3672a8,_0x18b042=_0x2b5109(0x12)[_0x27ba92(0x239)],_0x1df29a=_0x2b5109(0x13);_0x4ef3b0['exports']=function(_0x4edcf0,_0xf9b96c){var _0x3d410d=_0x27ba92;if(_0xf9b96c&&(_0x3d410d(0x1f6)===_0x18b042(_0xf9b96c)||_0x3d410d(0x27c)==typeof _0xf9b96c))return _0xf9b96c;if(void 0x0!==_0xf9b96c)throw new TypeError(_0x3d410d(0x2a4));return _0x1df29a(_0x4edcf0);},_0x4ef3b0[_0x27ba92(0x1ce)]['default']=_0x4ef3b0[_0x27ba92(0x1ce)],_0x4ef3b0[_0x27ba92(0x1ce)][_0x27ba92(0x222)]=!0x0;},function(_0x219ecc,_0xc71d68){var _0x54089a=a0_0x3672a8;_0x219ecc['exports']=_0x54089a(0x24f);},function(_0x1e2a43,_0x466875){var _0x3c628b=a0_0x3672a8;_0x1e2a43[_0x3c628b(0x1ce)]=_0x3c628b(0x2d2);},function(_0x27a987,_0x4d7602){var _0x5bd4ce=a0_0x3672a8;_0x27a987[_0x5bd4ce(0x1ce)]=_0x5bd4ce(0x259);},function(_0x3c5d43,_0x25754f){var _0x50f494=a0_0x3672a8;_0x3c5d43[_0x50f494(0x1ce)]=_0x50f494(0x311);},function(_0xd85ea0,_0x24595a){var _0x33d7f3=a0_0x3672a8;_0xd85ea0['exports']=_0x33d7f3(0x269);},function(_0x3623e6,_0xd1e39e){var _0x3d0d73=a0_0x3672a8;_0x3623e6[_0x3d0d73(0x1ce)]=_0x3d0d73(0x1fe);},function(_0xe31fcf,_0x27f2dd){var _0x17846e=a0_0x3672a8;_0xe31fcf[_0x17846e(0x1ce)]=_0x17846e(0x22c);},function(_0x5b1fd3,_0x58fd8b){var _0x236723=a0_0x3672a8;_0x5b1fd3[_0x236723(0x1ce)]=_0x236723(0x2d7);},function(_0x2270c1,_0x2f53a9){var _0x26068f=a0_0x3672a8;_0x2270c1[_0x26068f(0x1ce)]=_0x26068f(0x2fb);},function(_0x4015e0,_0x1da2cb){var _0x4a48ed=a0_0x3672a8;_0x4015e0[_0x4a48ed(0x1ce)]=_0x4a48ed(0x1af);},function(_0x103a69,_0x51268b){var _0x39606f=a0_0x3672a8;function _0x1c7082(_0x572e97,_0x4a285d){var _0x4a116c=a0_0x1b3b;return _0x103a69[_0x4a116c(0x1ce)]=_0x1c7082=Object[_0x4a116c(0x22a)]||function(_0x303e8b,_0xacf903){var _0x3cf32b=_0x4a116c;return _0x303e8b[_0x3cf32b(0x238)]=_0xacf903,_0x303e8b;},_0x103a69[_0x4a116c(0x1ce)][_0x4a116c(0x239)]=_0x103a69[_0x4a116c(0x1ce)],_0x103a69[_0x4a116c(0x1ce)][_0x4a116c(0x222)]=!0x0,_0x1c7082(_0x572e97,_0x4a285d);}_0x103a69[_0x39606f(0x1ce)]=_0x1c7082,_0x103a69[_0x39606f(0x1ce)][_0x39606f(0x239)]=_0x103a69[_0x39606f(0x1ce)],_0x103a69['exports']['__esModule']=!0x0;},function(_0xb66349,_0x27405b){var _0x489f88=a0_0x3672a8;function _0x4d2ba9(_0x11a798){var _0x19a2bb=a0_0x1b3b;return _0x19a2bb(0x27c)==typeof Symbol&&_0x19a2bb(0x265)==typeof Symbol['iterator']?(_0xb66349[_0x19a2bb(0x1ce)]=_0x4d2ba9=function(_0x5967b8){return typeof _0x5967b8;},_0xb66349[_0x19a2bb(0x1ce)][_0x19a2bb(0x239)]=_0xb66349['exports'],_0xb66349[_0x19a2bb(0x1ce)][_0x19a2bb(0x222)]=!0x0):(_0xb66349[_0x19a2bb(0x1ce)]=_0x4d2ba9=function(_0x1f01c4){var _0xd929e4=_0x19a2bb;return _0x1f01c4&&'function'==typeof Symbol&&_0x1f01c4[_0xd929e4(0x1c7)]===Symbol&&_0x1f01c4!==Symbol[_0xd929e4(0x2df)]?_0xd929e4(0x265):typeof _0x1f01c4;},_0xb66349[_0x19a2bb(0x1ce)][_0x19a2bb(0x239)]=_0xb66349[_0x19a2bb(0x1ce)],_0xb66349[_0x19a2bb(0x1ce)][_0x19a2bb(0x222)]=!0x0),_0x4d2ba9(_0x11a798);}_0xb66349[_0x489f88(0x1ce)]=_0x4d2ba9,_0xb66349[_0x489f88(0x1ce)][_0x489f88(0x239)]=_0xb66349[_0x489f88(0x1ce)],_0xb66349[_0x489f88(0x1ce)]['__esModule']=!0x0;},function(_0x1bcfbd,_0x5bbc1f){var _0x24d75f=a0_0x3672a8;_0x1bcfbd[_0x24d75f(0x1ce)]=function(_0x65384a){if(void 0x0===_0x65384a)throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');return _0x65384a;},_0x1bcfbd[_0x24d75f(0x1ce)][_0x24d75f(0x239)]=_0x1bcfbd[_0x24d75f(0x1ce)],_0x1bcfbd[_0x24d75f(0x1ce)][_0x24d75f(0x222)]=!0x0;},function(_0x495ca9,_0x578e27,_0x72ae39){'use strict';var _0x5eb631=a0_0x3672a8;_0x72ae39['r'](_0x578e27),_0x72ae39['d'](_0x578e27,_0x5eb631(0x285),function(){return _0x27a5c1;}),_0x72ae39['d'](_0x578e27,_0x5eb631(0x25f),function(){return _0x91f534;}),_0x72ae39['d'](_0x578e27,_0x5eb631(0x217),function(){return _0x5ad7c0;});var _0x5ad7c0={};_0x72ae39['r'](_0x5ad7c0),_0x72ae39['d'](_0x5ad7c0,'getU',function(){return _0x2196bd;}),_0x72ae39['d'](_0x5ad7c0,_0x5eb631(0x1d5),function(){return _0x7174dd;}),_0x72ae39['d'](_0x5ad7c0,'getSpeed',function(){return _0x1e8843;}),_0x72ae39['d'](_0x5ad7c0,_0x5eb631(0x27a),function(){return _0x46bd2f;});var _0x39b5d3=_0x72ae39(0x1),_0xe1fcf1=_0x72ae39(0x2),_0x452ed0=_0x72ae39['n'](_0xe1fcf1),_0x3f93c2=_0x72ae39(0x3),_0x3488f3=_0x72ae39['n'](_0x3f93c2),_0x35fd24=_0x72ae39(0x5),_0x2e979f=_0x72ae39['n'](_0x35fd24),_0x417925=_0x72ae39(0x6),_0x462993=_0x72ae39['n'](_0x417925),_0x3ae8e1=_0x72ae39(0x4),_0x4a42dc=_0x72ae39['n'](_0x3ae8e1),_0x5a8349=_0x72ae39(0x0),_0x5d8f4e=function(){var _0x1b0088=_0x5eb631;function _0x2918d8(_0x84b74d){var _0x1b3ff6=a0_0x1b3b;_0x452ed0()(this,_0x2918d8),this[_0x1b3ff6(0x242)]=_0x84b74d[_0x1b3ff6(0x242)],this[_0x1b3ff6(0x298)]=_0x84b74d['geometry'],this[_0x1b3ff6(0x1cc)]=_0x84b74d[_0x1b3ff6(0x1cc)],this['primitiveType']=_0x84b74d['primitiveType'],this['uniformMap']=_0x84b74d[_0x1b3ff6(0x261)],this[_0x1b3ff6(0x24b)]=_0x84b74d[_0x1b3ff6(0x24b)],this['fragmentShaderSource']=_0x84b74d[_0x1b3ff6(0x1ab)],this[_0x1b3ff6(0x293)]=_0x84b74d[_0x1b3ff6(0x293)],this[_0x1b3ff6(0x2a3)]=_0x84b74d['framebuffer'],this[_0x1b3ff6(0x28a)]=_0x84b74d[_0x1b3ff6(0x28a)],this[_0x1b3ff6(0x202)]=_0x5a8349['defaultValue'](_0x84b74d['autoClear'],!0x1),this[_0x1b3ff6(0x26b)]=_0x84b74d[_0x1b3ff6(0x26b)],this[_0x1b3ff6(0x1fc)]=!0x0,this[_0x1b3ff6(0x211)]=void 0x0,this['clearCommand']=void 0x0,this[_0x1b3ff6(0x202)]&&(this[_0x1b3ff6(0x284)]=new _0x5a8349[(_0x1b3ff6(0x295))]({'color':new _0x5a8349['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x1b3ff6(0x2a3)],'pass':_0x5a8349[_0x1b3ff6(0x248)][_0x1b3ff6(0x205)]}));}return _0x3488f3()(_0x2918d8,[{'key':_0x1b0088(0x252),'value':function(_0xcf3209){var _0x4a6fe2=_0x1b0088;switch(this['commandType']){case _0x4a6fe2(0x2e9):var _0x2c25c0=_0x5a8349[_0x4a6fe2(0x1ad)][_0x4a6fe2(0x2cd)]({'context':_0xcf3209,'geometry':this['geometry'],'attributeLocations':this[_0x4a6fe2(0x1cc)],'bufferUsage':_0x5a8349[_0x4a6fe2(0x2fa)]['STATIC_DRAW']}),_0x4bb282=_0x5a8349[_0x4a6fe2(0x240)][_0x4a6fe2(0x1f0)]({'context':_0xcf3209,'attributeLocations':this[_0x4a6fe2(0x1cc)],'vertexShaderSource':this[_0x4a6fe2(0x24b)],'fragmentShaderSource':this[_0x4a6fe2(0x1ab)]}),_0x25577c=_0x5a8349['RenderState'][_0x4a6fe2(0x1f0)](this['rawRenderState']);return new _0x5a8349['DrawCommand']({'owner':this,'vertexArray':_0x2c25c0,'primitiveType':this[_0x4a6fe2(0x1db)],'uniformMap':this[_0x4a6fe2(0x261)],'modelMatrix':_0x5a8349[_0x4a6fe2(0x1b9)][_0x4a6fe2(0x220)],'shaderProgram':_0x4bb282,'framebuffer':this[_0x4a6fe2(0x2a3)],'renderState':_0x25577c,'pass':_0x5a8349['Pass']['OPAQUE']});case _0x4a6fe2(0x297):return new _0x5a8349[(_0x4a6fe2(0x22b))]({'owner':this,'fragmentShaderSource':this[_0x4a6fe2(0x1ab)],'uniformMap':this[_0x4a6fe2(0x261)],'outputTexture':this[_0x4a6fe2(0x28a)],'persists':!0x0});}}},{'key':_0x1b0088(0x1e1),'value':function(_0x4f8ee5,_0x36711e){var _0x2e9a6e=_0x1b0088;this['geometry']=_0x36711e;var _0xc3672=_0x5a8349[_0x2e9a6e(0x1ad)][_0x2e9a6e(0x2cd)]({'context':_0x4f8ee5,'geometry':this[_0x2e9a6e(0x298)],'attributeLocations':this[_0x2e9a6e(0x1cc)],'bufferUsage':_0x5a8349[_0x2e9a6e(0x2fa)][_0x2e9a6e(0x227)]});this[_0x2e9a6e(0x211)][_0x2e9a6e(0x29a)]=_0xc3672;}},{'key':_0x1b0088(0x1b1),'value':function(_0x3cca9d){var _0x50cfce=_0x1b0088;this[_0x50cfce(0x1fc)]&&_0x3cca9d[_0x50cfce(0x21a)]==_0x5a8349['SceneMode'][_0x50cfce(0x25d)]&&(_0x5a8349[_0x50cfce(0x1e6)](this[_0x50cfce(0x211)])||(this['commandToExecute']=this[_0x50cfce(0x252)](_0x3cca9d[_0x50cfce(0x300)])),_0x5a8349[_0x50cfce(0x1e6)](this[_0x50cfce(0x26b)])&&this[_0x50cfce(0x26b)](),_0x5a8349[_0x50cfce(0x1e6)](this[_0x50cfce(0x284)])&&_0x3cca9d['commandList'][_0x50cfce(0x1cb)](this[_0x50cfce(0x284)]),_0x3cca9d['commandList'][_0x50cfce(0x1cb)](this[_0x50cfce(0x211)]));}},{'key':_0x1b0088(0x309),'value':function(){return!0x1;}},{'key':_0x1b0088(0x2c7),'value':function(){var _0x3856d2=_0x1b0088;return _0x5a8349[_0x3856d2(0x1e6)](this['commandToExecute'])&&(this['commandToExecute']['shaderProgram']=this[_0x3856d2(0x211)][_0x3856d2(0x24d)]&&this[_0x3856d2(0x211)]['shaderProgram']['destroy']()),_0x5a8349['destroyObject'](this);}}]),_0x2918d8;}(),_0x50378f={'getFullscreenQuad':function(){var _0x536418=_0x5eb631;return new _0x5a8349[(_0x536418(0x26c))]({'attributes':new _0x5a8349['GeometryAttributes']({'position':new _0x5a8349[(_0x536418(0x215))]({'componentDatatype':_0x5a8349[_0x536418(0x1a8)][_0x536418(0x1a7)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x5a8349[(_0x536418(0x215))]({'componentDatatype':_0x5a8349[_0x536418(0x1a8)][_0x536418(0x1a7)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x94dc51,_0x45f418){var _0x52eef4=_0x5eb631;if(_0x5a8349[_0x52eef4(0x1e6)](_0x45f418)){var _0x5b3c91={};_0x5b3c91[_0x52eef4(0x243)]=_0x45f418,_0x94dc51[_0x52eef4(0x2e1)]=_0x5b3c91;}return new _0x5a8349[(_0x52eef4(0x2f4))](_0x94dc51);},'createFramebuffer':function(_0x1f3f8f,_0xbdc890,_0x5dfb50){return new _0x5a8349['Framebuffer']({'context':_0x1f3f8f,'colorTextures':[_0xbdc890],'depthTexture':_0x5dfb50});},'createRawRenderState':function(_0x34eeaf){var _0x553934=_0x5eb631,_0x160026={'viewport':_0x34eeaf[_0x553934(0x2ae)],'depthTest':_0x34eeaf[_0x553934(0x1d7)],'depthMask':_0x34eeaf[_0x553934(0x302)],'blending':_0x34eeaf['blending']};return _0x5a8349[_0x553934(0x212)][_0x553934(0x2cb)](!0x0,!0x1,_0x160026);},'viewRectangleToLonLatRange':function(_0x4a53dc){var _0x3fadd3=_0x5eb631,_0x5d7397,_0xebd5c4,_0xe97ede={},_0x396ef4=_0x5a8349['Math'][_0x3fadd3(0x304)](_0x4a53dc[_0x3fadd3(0x2c6)],_0x5a8349[_0x3fadd3(0x2d0)]['TWO_PI']),_0x2c7250=_0x5a8349['Math']['mod'](_0x4a53dc['east'],_0x5a8349['Math']['TWO_PI']),_0x34cc13=_0x4a53dc['width'];_0x34cc13>_0x5a8349[_0x3fadd3(0x2d0)]['THREE_PI_OVER_TWO']?(_0x5d7397=0x0,_0xebd5c4=_0x5a8349[_0x3fadd3(0x2d0)][_0x3fadd3(0x2f3)]):_0x2c7250-_0x396ef4<_0x34cc13?(_0x5d7397=_0x396ef4,_0xebd5c4=_0x396ef4+_0x34cc13):(_0x5d7397=_0x396ef4,_0xebd5c4=_0x2c7250),_0xe97ede[_0x3fadd3(0x2be)]={'min':_0x5a8349['Math'][_0x3fadd3(0x2ab)](_0x5d7397),'max':_0x5a8349[_0x3fadd3(0x2d0)]['toDegrees'](_0xebd5c4)};var _0xb0fbab=_0x4a53dc[_0x3fadd3(0x1a6)],_0x297ca2=_0x4a53dc['north'],_0x2c8836=_0x4a53dc[_0x3fadd3(0x26f)],_0x20a305=_0x2c8836>_0x5a8349['Math']['PI']/0xc?_0x2c8836/0x2:0x0,_0x128991=_0x5a8349['Math'][_0x3fadd3(0x1d6)](_0xb0fbab-_0x20a305),_0x34da19=_0x5a8349[_0x3fadd3(0x2d0)]['clampToLatitudeRange'](_0x297ca2+_0x20a305);return _0x128991<-_0x5a8349[_0x3fadd3(0x2d0)][_0x3fadd3(0x1c4)]&&(_0x128991=-_0x5a8349[_0x3fadd3(0x2d0)][_0x3fadd3(0x1b6)]),_0x34da19>_0x5a8349[_0x3fadd3(0x2d0)]['PI_OVER_THREE']&&(_0x34da19=_0x5a8349[_0x3fadd3(0x2d0)]['PI_OVER_TWO']),_0xe97ede[_0x3fadd3(0x1f4)]={'min':_0x5a8349[_0x3fadd3(0x2d0)]['toDegrees'](_0x128991),'max':_0x5a8349[_0x3fadd3(0x2d0)][_0x3fadd3(0x2ab)](_0x34da19)},_0xe97ede;}},_0xc3353b=_0x72ae39(0x8),_0x56e3ab=_0x72ae39['n'](_0xc3353b),_0x2c15ec=_0x72ae39(0x9),_0x32eba7=_0x72ae39['n'](_0x2c15ec),_0x1d28a4=_0x72ae39(0x7),_0x3f136d=_0x72ae39['n'](_0x1d28a4),_0x2c4da0=_0x72ae39(0xa),_0x467089=_0x72ae39['n'](_0x2c4da0),_0x177d73=_0x72ae39(0xb),_0x44f606=_0x72ae39['n'](_0x177d73),_0x5d635f=function(){var _0x58499c=_0x5eb631;function _0x24d542(_0x5463e6,_0x221cfc,_0x38f7f2,_0x5994d1,_0x370115){var _0x5d401e=a0_0x1b3b;_0x452ed0()(this,_0x24d542),this[_0x5d401e(0x2c5)](_0x5463e6,_0x221cfc),this[_0x5d401e(0x2e4)](_0x5463e6),this[_0x5d401e(0x230)](_0x5463e6,_0x38f7f2,_0x5994d1,_0x370115);}return _0x3488f3()(_0x24d542,[{'key':_0x58499c(0x2c5),'value':function(_0x4840f7,_0x43eb50){var _0x1fd48e=_0x58499c,_0x395117={'context':_0x4840f7,'width':_0x4840f7[_0x1fd48e(0x1b4)],'height':_0x4840f7[_0x1fd48e(0x1b2)],'pixelFormat':_0x5a8349[_0x1fd48e(0x2d4)][_0x1fd48e(0x20c)],'pixelDatatype':_0x5a8349[_0x1fd48e(0x1d3)]['UNSIGNED_BYTE']},_0x1aa68c={'context':_0x4840f7,'width':_0x4840f7[_0x1fd48e(0x1b4)],'height':_0x4840f7[_0x1fd48e(0x1b2)],'pixelFormat':_0x5a8349[_0x1fd48e(0x2d4)][_0x1fd48e(0x26e)],'pixelDatatype':_0x5a8349[_0x1fd48e(0x1d3)][_0x1fd48e(0x266)]},_0x7b4810={'context':_0x4840f7,'width':_0x43eb50['colorTable'][_0x1fd48e(0x1ef)],'height':0x1,'pixelFormat':_0x5a8349['PixelFormat'][_0x1fd48e(0x27d)],'pixelDatatype':_0x5a8349['PixelDatatype'][_0x1fd48e(0x1a7)],'sampler':new _0x5a8349[(_0x1fd48e(0x1d8))]({'minificationFilter':_0x5a8349[_0x1fd48e(0x2de)][_0x1fd48e(0x23d)],'magnificationFilter':_0x5a8349[_0x1fd48e(0x1e9)][_0x1fd48e(0x23d)]})};this[_0x1fd48e(0x1ee)]={'segmentsColor':_0x50378f[_0x1fd48e(0x232)](_0x395117),'segmentsDepth':_0x50378f[_0x1fd48e(0x232)](_0x1aa68c),'currentTrailsColor':_0x50378f[_0x1fd48e(0x232)](_0x395117),'currentTrailsDepth':_0x50378f[_0x1fd48e(0x232)](_0x1aa68c),'nextTrailsColor':_0x50378f['createTexture'](_0x395117),'nextTrailsDepth':_0x50378f[_0x1fd48e(0x232)](_0x1aa68c),'colorTable':_0x50378f[_0x1fd48e(0x232)](_0x7b4810,_0x43eb50[_0x1fd48e(0x1cf)][_0x1fd48e(0x214)])};}},{'key':_0x58499c(0x2e4),'value':function(_0x3788a4){var _0x9515fb=_0x58499c;this[_0x9515fb(0x226)]={'segments':_0x50378f['createFramebuffer'](_0x3788a4,this['textures'][_0x9515fb(0x1b0)],this[_0x9515fb(0x1ee)][_0x9515fb(0x1bf)]),'currentTrails':_0x50378f[_0x9515fb(0x1f3)](_0x3788a4,this['textures'][_0x9515fb(0x1fa)],this[_0x9515fb(0x1ee)][_0x9515fb(0x256)]),'nextTrails':_0x50378f[_0x9515fb(0x1f3)](_0x3788a4,this['textures'][_0x9515fb(0x286)],this[_0x9515fb(0x1ee)][_0x9515fb(0x2a2)])};}},{'key':_0x58499c(0x21c),'value':function(_0x3e1a38){var _0x211035=_0x58499c;for(var _0x5a48f2=[],_0x101e84=0x0;_0x101e84<_0x3e1a38[_0x211035(0x1a5)];_0x101e84++)for(var _0x503bcc=0x0;_0x503bcc<_0x3e1a38[_0x211035(0x1a5)];_0x503bcc++)for(var _0x29c504=0x0;_0x29c504<0x4;_0x29c504++)_0x5a48f2['push'](_0x101e84/_0x3e1a38[_0x211035(0x1a5)]),_0x5a48f2[_0x211035(0x1cb)](_0x503bcc/_0x3e1a38[_0x211035(0x1a5)]);_0x5a48f2=new Float32Array(_0x5a48f2);for(var _0x37235c=[],_0x43de55=[-0x1,0x1],_0x3f869f=[-0x1,0x1],_0x5094cc=0x0;_0x5094cc<_0x3e1a38[_0x211035(0x21e)];_0x5094cc++)for(var _0x42a29a=0x0;_0x42a29a<0x2;_0x42a29a++)for(var _0x17d607=0x0;_0x17d607<0x2;_0x17d607++)_0x37235c['push'](_0x43de55[_0x42a29a]),_0x37235c['push'](_0x3f869f[_0x17d607]),_0x37235c['push'](0x0);_0x37235c=new Float32Array(_0x37235c);for(var _0x40d238=0x6*_0x3e1a38['maxParticles'],_0x5b57c9=new Uint32Array(_0x40d238),_0x47235a=0x0,_0x5e69b6=0x0,_0x2782f6=0x0;_0x47235a<_0x3e1a38[_0x211035(0x21e)];_0x47235a++)_0x5b57c9[_0x5e69b6++]=_0x2782f6+0x0,_0x5b57c9[_0x5e69b6++]=_0x2782f6+0x1,_0x5b57c9[_0x5e69b6++]=_0x2782f6+0x2,_0x5b57c9[_0x5e69b6++]=_0x2782f6+0x2,_0x5b57c9[_0x5e69b6++]=_0x2782f6+0x1,_0x5b57c9[_0x5e69b6++]=_0x2782f6+0x3,_0x2782f6+=0x4;return new _0x5a8349[(_0x211035(0x26c))]({'attributes':new _0x5a8349[(_0x211035(0x2ef))]({'st':new _0x5a8349[(_0x211035(0x215))]({'componentDatatype':_0x5a8349[_0x211035(0x1a8)][_0x211035(0x1a7)],'componentsPerAttribute':0x2,'values':_0x5a48f2}),'normal':new _0x5a8349['GeometryAttribute']({'componentDatatype':_0x5a8349['ComponentDatatype'][_0x211035(0x1a7)],'componentsPerAttribute':0x3,'values':_0x37235c})}),'indices':_0x5b57c9});}},{'key':_0x58499c(0x230),'value':function(_0x4462df,_0x14f407,_0x296651,_0x5f1c04){var _0x3d1d3a=_0x58499c,_0x87ff97=this;this[_0x3d1d3a(0x229)]={'segments':new _0x5d8f4e({'commandType':'Draw','attributeLocations':{'st':0x0,'normal':0x1},'geometry':this['createSegmentsGeometry'](_0x14f407),'primitiveType':_0x5a8349[_0x3d1d3a(0x2e6)][_0x3d1d3a(0x268)],'uniformMap':{'currentParticlesPosition':function(){var _0x2ef25a=_0x3d1d3a;return _0x5f1c04[_0x2ef25a(0x213)][_0x2ef25a(0x247)];},'postProcessingPosition':function(){return _0x5f1c04['particlesTextures']['postProcessingPosition'];},'postProcessingSpeed':function(){var _0x120c3d=_0x3d1d3a;return _0x5f1c04['particlesTextures'][_0x120c3d(0x258)];},'colorTable':function(){var _0x11b655=_0x3d1d3a;return _0x87ff97[_0x11b655(0x1ee)][_0x11b655(0x1cf)];},'aspect':function(){var _0x38b486=_0x3d1d3a;return _0x4462df[_0x38b486(0x1b4)]/_0x4462df[_0x38b486(0x1b2)];},'pixelSize':function(){var _0x2e7105=_0x3d1d3a;return _0x296651[_0x2e7105(0x233)];},'lineWidth':function(){var _0x13c655=_0x3d1d3a;return _0x14f407[_0x13c655(0x1ac)];},'particleHeight':function(){var _0x56a360=_0x3d1d3a;return _0x14f407[_0x56a360(0x305)];}},'vertexShaderSource':new _0x5a8349['ShaderSource']({'sources':[_0x56e3ab['a']]}),'fragmentShaderSource':new _0x5a8349[(_0x3d1d3a(0x1a9))]({'sources':[_0x32eba7['a']]}),'rawRenderState':_0x50378f[_0x3d1d3a(0x1f2)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x3d1d3a(0x226)][_0x3d1d3a(0x279)],'autoClear':!0x0}),'trails':new _0x5d8f4e({'commandType':_0x3d1d3a(0x2e9),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x50378f[_0x3d1d3a(0x1d9)](),'primitiveType':_0x5a8349[_0x3d1d3a(0x2e6)][_0x3d1d3a(0x268)],'uniformMap':{'segmentsColorTexture':function(){var _0x397fa8=_0x3d1d3a;return _0x87ff97[_0x397fa8(0x1ee)][_0x397fa8(0x1b0)];},'segmentsDepthTexture':function(){var _0x3460bf=_0x3d1d3a;return _0x87ff97[_0x3460bf(0x1ee)][_0x3460bf(0x1bf)];},'currentTrailsColor':function(){var _0x5343a1=_0x3d1d3a;return _0x87ff97[_0x5343a1(0x226)][_0x5343a1(0x2f2)][_0x5343a1(0x2f0)](0x0);},'trailsDepthTexture':function(){var _0x2c3d6b=_0x3d1d3a;return _0x87ff97[_0x2c3d6b(0x226)]['currentTrails'][_0x2c3d6b(0x306)];},'fadeOpacity':function(){var _0x37089a=_0x3d1d3a;return _0x14f407[_0x37089a(0x2a5)];}},'vertexShaderSource':new _0x5a8349[(_0x3d1d3a(0x1a9))]({'defines':[_0x3d1d3a(0x1a4)],'sources':[_0x3f136d['a']]}),'fragmentShaderSource':new _0x5a8349[(_0x3d1d3a(0x1a9))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[_0x467089['a']]}),'rawRenderState':_0x50378f[_0x3d1d3a(0x1f2)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x5a8349[_0x3d1d3a(0x25b)]['ALWAYS']},'depthMask':!0x0}),'framebuffer':this[_0x3d1d3a(0x226)][_0x3d1d3a(0x1bc)],'autoClear':!0x0,'preExecute':function(){var _0x1dacfa=_0x3d1d3a,_0x57bc04;_0x57bc04=_0x87ff97[_0x1dacfa(0x226)][_0x1dacfa(0x2f2)],_0x87ff97[_0x1dacfa(0x226)][_0x1dacfa(0x2f2)]=_0x87ff97[_0x1dacfa(0x226)]['nextTrails'],_0x87ff97[_0x1dacfa(0x226)][_0x1dacfa(0x1bc)]=_0x57bc04,_0x87ff97[_0x1dacfa(0x229)]['trails'][_0x1dacfa(0x211)][_0x1dacfa(0x2a3)]=_0x87ff97[_0x1dacfa(0x226)][_0x1dacfa(0x1bc)],_0x87ff97[_0x1dacfa(0x229)]['trails']['clearCommand'][_0x1dacfa(0x2a3)]=_0x87ff97[_0x1dacfa(0x226)][_0x1dacfa(0x1bc)];}}),'screen':new _0x5d8f4e({'commandType':_0x3d1d3a(0x2e9),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x50378f['getFullscreenQuad'](),'primitiveType':_0x5a8349[_0x3d1d3a(0x2e6)]['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){var _0x36ff44=_0x3d1d3a;return _0x87ff97['framebuffers'][_0x36ff44(0x1bc)][_0x36ff44(0x2f0)](0x0);},'trailsDepthTexture':function(){var _0x4c2dba=_0x3d1d3a;return _0x87ff97[_0x4c2dba(0x226)][_0x4c2dba(0x1bc)]['depthTexture'];}},'vertexShaderSource':new _0x5a8349[(_0x3d1d3a(0x1a9))]({'defines':[_0x3d1d3a(0x1a4)],'sources':[_0x3f136d['a']]}),'fragmentShaderSource':new _0x5a8349[(_0x3d1d3a(0x1a9))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[_0x44f606['a']]}),'rawRenderState':_0x50378f[_0x3d1d3a(0x1f2)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x24d542;}(),_0x4b4137=_0x72ae39(0xc),_0x27e4dd=_0x72ae39['n'](_0x4b4137),_0x47c920=_0x72ae39(0xd),_0x106f79=_0x72ae39['n'](_0x47c920),_0x5bb978=_0x72ae39(0xe),_0x13189c=_0x72ae39['n'](_0x5bb978),_0xdcc0ab=_0x72ae39(0xf),_0x74b703=_0x72ae39['n'](_0xdcc0ab),_0x15568c=_0x72ae39(0x10),_0x46d34c=_0x72ae39['n'](_0x15568c),_0x858c21=function(){var _0x5e6af1=_0x5eb631;function _0x4e9f60(_0x56cf28,_0x5432ee,_0x26f9fa,_0xc96ae){var _0x5f5464=a0_0x1b3b;_0x452ed0()(this,_0x4e9f60),this[_0x5f5464(0x236)]=_0x5432ee,this[_0x5f5464(0x224)](_0x56cf28,_0x5432ee),this[_0x5f5464(0x287)](_0x56cf28,_0x26f9fa,_0xc96ae),this['createComputingPrimitives'](_0x5432ee,_0x26f9fa,_0xc96ae);}return _0x3488f3()(_0x4e9f60,[{'key':_0x5e6af1(0x224),'value':function(_0x3cf63e,_0x180906){var _0x45ad74=_0x5e6af1,_0x16aae2={'context':_0x3cf63e,'width':_0x180906[_0x45ad74(0x303)][_0x45ad74(0x2be)],'height':_0x180906[_0x45ad74(0x303)][_0x45ad74(0x1f4)]*_0x180906[_0x45ad74(0x303)][_0x45ad74(0x24a)],'pixelFormat':_0x5a8349[_0x45ad74(0x2d4)]['LUMINANCE'],'pixelDatatype':_0x5a8349[_0x45ad74(0x1d3)][_0x45ad74(0x1a7)],'flipY':!0x1,'sampler':new _0x5a8349['Sampler']({'minificationFilter':_0x5a8349[_0x45ad74(0x2de)][_0x45ad74(0x2e2)],'magnificationFilter':_0x5a8349['TextureMagnificationFilter']['NEAREST']})};this[_0x45ad74(0x1a2)]={'U':_0x50378f[_0x45ad74(0x232)](_0x16aae2,_0x180906['U'][_0x45ad74(0x214)]),'V':_0x50378f[_0x45ad74(0x232)](_0x16aae2,_0x180906['V']['array'])};}},{'key':_0x5e6af1(0x287),'value':function(_0x48fecf,_0x5a2d2b,_0x217aa0){var _0x3c03e5=_0x5e6af1,_0x45dfcf={'context':_0x48fecf,'width':_0x5a2d2b[_0x3c03e5(0x1a5)],'height':_0x5a2d2b[_0x3c03e5(0x1a5)],'pixelFormat':_0x5a8349[_0x3c03e5(0x2d4)][_0x3c03e5(0x20c)],'pixelDatatype':_0x5a8349[_0x3c03e5(0x1d3)][_0x3c03e5(0x1a7)],'flipY':!0x1,'sampler':new _0x5a8349[(_0x3c03e5(0x1d8))]({'minificationFilter':_0x5a8349['TextureMinificationFilter']['NEAREST'],'magnificationFilter':_0x5a8349[_0x3c03e5(0x1e9)][_0x3c03e5(0x2e2)]})},_0x2abe6c=this[_0x3c03e5(0x21f)](_0x5a2d2b[_0x3c03e5(0x21e)],_0x217aa0),_0x4043b1=new Float32Array(0x4*_0x5a2d2b[_0x3c03e5(0x21e)])[_0x3c03e5(0x23b)](0x0);this[_0x3c03e5(0x213)]={'particlesWind':_0x50378f['createTexture'](_0x45dfcf),'currentParticlesPosition':_0x50378f[_0x3c03e5(0x232)](_0x45dfcf,_0x2abe6c),'nextParticlesPosition':_0x50378f[_0x3c03e5(0x232)](_0x45dfcf,_0x2abe6c),'currentParticlesSpeed':_0x50378f[_0x3c03e5(0x232)](_0x45dfcf,_0x4043b1),'nextParticlesSpeed':_0x50378f[_0x3c03e5(0x232)](_0x45dfcf,_0x4043b1),'postProcessingPosition':_0x50378f['createTexture'](_0x45dfcf,_0x2abe6c),'postProcessingSpeed':_0x50378f['createTexture'](_0x45dfcf,_0x4043b1)};}},{'key':_0x5e6af1(0x21f),'value':function(_0x51ea65,_0x5dafb6){var _0xe72717=_0x5e6af1;for(var _0x377111=new Float32Array(0x4*_0x51ea65),_0x5dcf36=0x0;_0x5dcf36<_0x51ea65;_0x5dcf36++)_0x377111[0x4*_0x5dcf36]=_0x5a8349['Math']['randomBetween'](_0x5dafb6[_0xe72717(0x2e7)]['x'],_0x5dafb6[_0xe72717(0x2e7)]['y']),_0x377111[0x4*_0x5dcf36+0x1]=_0x5a8349[_0xe72717(0x2d0)]['randomBetween'](_0x5dafb6['latRange']['x'],_0x5dafb6['latRange']['y']),_0x377111[0x4*_0x5dcf36+0x2]=_0x5a8349[_0xe72717(0x2d0)]['randomBetween'](this['data'][_0xe72717(0x24a)]['min'],this[_0xe72717(0x236)][_0xe72717(0x24a)]['max']),_0x377111[0x4*_0x5dcf36+0x3]=0x0;return _0x377111;}},{'key':_0x5e6af1(0x313),'value':function(){var _0x4d3422=_0x5e6af1,_0x5abfb0=this;Object['keys'](this[_0x4d3422(0x213)])['forEach'](function(_0x29e617){var _0x30c3cd=_0x4d3422;_0x5abfb0[_0x30c3cd(0x213)][_0x29e617]['destroy']();});}},{'key':_0x5e6af1(0x1e4),'value':function(_0x13f41c,_0x382e83,_0x5833f2){var _0x344341=_0x5e6af1,_0x47f0ab=new _0x5a8349[(_0x344341(0x2af))](_0x13f41c[_0x344341(0x303)][_0x344341(0x2be)],_0x13f41c[_0x344341(0x303)]['lat'],_0x13f41c[_0x344341(0x303)][_0x344341(0x24a)]),_0x6659a1=new _0x5a8349[(_0x344341(0x2af))](_0x13f41c[_0x344341(0x2be)]['min'],_0x13f41c[_0x344341(0x1f4)][_0x344341(0x1d0)],_0x13f41c[_0x344341(0x24a)][_0x344341(0x1d0)]),_0x123c3a=new _0x5a8349['Cartesian3'](_0x13f41c[_0x344341(0x2be)][_0x344341(0x24c)],_0x13f41c[_0x344341(0x1f4)][_0x344341(0x24c)],_0x13f41c[_0x344341(0x24a)][_0x344341(0x24c)]),_0x50c4dc=new _0x5a8349[(_0x344341(0x2af))]((_0x123c3a['x']-_0x6659a1['x'])/(_0x47f0ab['x']-0x1),(_0x123c3a['y']-_0x6659a1['y'])/(_0x47f0ab['y']-0x1),_0x47f0ab['z']>0x1?(_0x123c3a['z']-_0x6659a1['z'])/(_0x47f0ab['z']-0x1):0x1),_0x5d7a2f=new _0x5a8349[(_0x344341(0x2bf))](_0x13f41c['U'][_0x344341(0x1d0)],_0x13f41c['U'][_0x344341(0x24c)]),_0x2f369b=new _0x5a8349['Cartesian2'](_0x13f41c['V'][_0x344341(0x1d0)],_0x13f41c['V'][_0x344341(0x24c)]),_0x2d1927=this;this[_0x344341(0x229)]={'getWind':new _0x5d8f4e({'commandType':_0x344341(0x297),'uniformMap':{'U':function(){var _0x59dfde=_0x344341;return _0x2d1927[_0x59dfde(0x1a2)]['U'];},'V':function(){var _0x986ea0=_0x344341;return _0x2d1927[_0x986ea0(0x1a2)]['V'];},'currentParticlesPosition':function(){var _0x410df9=_0x344341;return _0x2d1927[_0x410df9(0x213)][_0x410df9(0x247)];},'dimension':function(){return _0x47f0ab;},'minimum':function(){return _0x6659a1;},'maximum':function(){return _0x123c3a;},'interval':function(){return _0x50c4dc;}},'fragmentShaderSource':new _0x5a8349[(_0x344341(0x1a9))]({'sources':[_0x27e4dd['a']]}),'outputTexture':this[_0x344341(0x213)][_0x344341(0x1c0)],'preExecute':function(){var _0xb7850b=_0x344341;_0x2d1927[_0xb7850b(0x229)]['getWind'][_0xb7850b(0x211)][_0xb7850b(0x28a)]=_0x2d1927[_0xb7850b(0x213)][_0xb7850b(0x1c0)];}}),'updateSpeed':new _0x5d8f4e({'commandType':_0x344341(0x297),'uniformMap':{'currentParticlesSpeed':function(){var _0x2e7aba=_0x344341;return _0x2d1927[_0x2e7aba(0x213)][_0x2e7aba(0x1b3)];},'particlesWind':function(){var _0x20f987=_0x344341;return _0x2d1927[_0x20f987(0x213)][_0x20f987(0x1c0)];},'uSpeedRange':function(){return _0x5d7a2f;},'vSpeedRange':function(){return _0x2f369b;},'pixelSize':function(){var _0x46ed19=_0x344341;return _0x5833f2[_0x46ed19(0x233)];},'speedFactor':function(){var _0x45e086=_0x344341;return _0x382e83[_0x45e086(0x2b0)];}},'fragmentShaderSource':new _0x5a8349[(_0x344341(0x1a9))]({'sources':[_0x106f79['a']]}),'outputTexture':this[_0x344341(0x213)]['nextParticlesSpeed'],'preExecute':function(){var _0x5bc6db=_0x344341,_0x564e49;_0x564e49=_0x2d1927[_0x5bc6db(0x213)][_0x5bc6db(0x1b3)],_0x2d1927[_0x5bc6db(0x213)]['currentParticlesSpeed']=_0x2d1927[_0x5bc6db(0x213)][_0x5bc6db(0x258)],_0x2d1927[_0x5bc6db(0x213)]['postProcessingSpeed']=_0x564e49,_0x2d1927['primitives']['updateSpeed'][_0x5bc6db(0x211)]['outputTexture']=_0x2d1927[_0x5bc6db(0x213)][_0x5bc6db(0x2bd)];}}),'updatePosition':new _0x5d8f4e({'commandType':_0x344341(0x297),'uniformMap':{'currentParticlesPosition':function(){var _0x20622f=_0x344341;return _0x2d1927[_0x20622f(0x213)][_0x20622f(0x247)];},'currentParticlesSpeed':function(){var _0x43d103=_0x344341;return _0x2d1927[_0x43d103(0x213)][_0x43d103(0x1b3)];}},'fragmentShaderSource':new _0x5a8349[(_0x344341(0x1a9))]({'sources':[_0x13189c['a']]}),'outputTexture':this[_0x344341(0x213)]['nextParticlesPosition'],'preExecute':function(){var _0x4cc7e6=_0x344341,_0x2d3313;_0x2d3313=_0x2d1927[_0x4cc7e6(0x213)][_0x4cc7e6(0x247)],_0x2d1927[_0x4cc7e6(0x213)][_0x4cc7e6(0x247)]=_0x2d1927[_0x4cc7e6(0x213)]['postProcessingPosition'],_0x2d1927[_0x4cc7e6(0x213)][_0x4cc7e6(0x209)]=_0x2d3313,_0x2d1927[_0x4cc7e6(0x229)]['updatePosition'][_0x4cc7e6(0x211)]['outputTexture']=_0x2d1927[_0x4cc7e6(0x213)][_0x4cc7e6(0x2ec)];}}),'postProcessingPosition':new _0x5d8f4e({'commandType':_0x344341(0x297),'uniformMap':{'nextParticlesPosition':function(){var _0x5c850b=_0x344341;return _0x2d1927[_0x5c850b(0x213)][_0x5c850b(0x2ec)];},'nextParticlesSpeed':function(){var _0x10fbaa=_0x344341;return _0x2d1927[_0x10fbaa(0x213)][_0x10fbaa(0x2bd)];},'lonRange':function(){return _0x5833f2['lonRange'];},'latRange':function(){var _0x4cc9e6=_0x344341;return _0x5833f2[_0x4cc9e6(0x1eb)];},'randomCoefficient':function(){var _0x3c84ae=_0x344341,_0x543ff1=Math[_0x3c84ae(0x219)]();return _0x543ff1;},'dropRate':function(){var _0x492d3f=_0x344341;return _0x382e83[_0x492d3f(0x218)];},'dropRateBump':function(){return _0x382e83['dropRateBump'];}},'fragmentShaderSource':new _0x5a8349['ShaderSource']({'sources':[_0x74b703['a']]}),'outputTexture':this[_0x344341(0x213)][_0x344341(0x209)],'preExecute':function(){var _0x53b3eb=_0x344341;_0x2d1927['primitives'][_0x53b3eb(0x209)][_0x53b3eb(0x211)][_0x53b3eb(0x28a)]=_0x2d1927[_0x53b3eb(0x213)][_0x53b3eb(0x209)];}}),'postProcessingSpeed':new _0x5d8f4e({'commandType':'Compute','uniformMap':{'postProcessingPosition':function(){var _0x30d59f=_0x344341;return _0x2d1927[_0x30d59f(0x213)][_0x30d59f(0x209)];},'nextParticlesSpeed':function(){var _0x55138f=_0x344341;return _0x2d1927[_0x55138f(0x213)][_0x55138f(0x2bd)];}},'fragmentShaderSource':new _0x5a8349[(_0x344341(0x1a9))]({'sources':[_0x46d34c['a']]}),'outputTexture':this[_0x344341(0x213)][_0x344341(0x258)],'preExecute':function(){var _0x1e50db=_0x344341;_0x2d1927[_0x1e50db(0x229)][_0x1e50db(0x258)][_0x1e50db(0x211)]['outputTexture']=_0x2d1927[_0x1e50db(0x213)]['postProcessingSpeed'];}})};}}]),_0x4e9f60;}(),_0x55b91b=function(){var _0x428538=_0x5eb631;function _0xe7f224(_0xa25fdc,_0x23f471,_0x572128,_0x572129){var _0x460dd6=a0_0x1b3b;_0x452ed0()(this,_0xe7f224),this[_0x460dd6(0x300)]=_0xa25fdc,this['data']=_0x23f471,this[_0x460dd6(0x2bb)]=_0x572128,this['viewerParameters']=_0x572129,this['particlesComputing']=new _0x858c21(this[_0x460dd6(0x300)],this[_0x460dd6(0x236)],this[_0x460dd6(0x2bb)],this[_0x460dd6(0x267)]),this[_0x460dd6(0x2fd)]=new _0x5d635f(this['context'],this[_0x460dd6(0x236)],this[_0x460dd6(0x2bb)],this['viewerParameters'],this[_0x460dd6(0x208)]);}return _0x3488f3()(_0xe7f224,[{'key':_0x428538(0x2ea),'value':function(_0x590984){var _0x4c13da=_0x428538,_0x3322d2=this;this[_0x4c13da(0x208)][_0x4c13da(0x313)](),Object[_0x4c13da(0x24e)](this[_0x4c13da(0x208)][_0x4c13da(0x1a2)])[_0x4c13da(0x2ff)](function(_0x1e7588){var _0x358289=_0x4c13da;_0x3322d2[_0x358289(0x208)][_0x358289(0x1a2)][_0x1e7588][_0x358289(0x2c7)]();}),this[_0x4c13da(0x2fd)][_0x4c13da(0x1ee)][_0x4c13da(0x1cf)]['destroy'](),Object[_0x4c13da(0x24e)](this[_0x4c13da(0x2fd)]['framebuffers'])['forEach'](function(_0x1b5776){var _0xcd7a27=_0x4c13da;_0x3322d2[_0xcd7a27(0x2fd)][_0xcd7a27(0x226)][_0x1b5776][_0xcd7a27(0x2c7)]();}),this[_0x4c13da(0x300)]=_0x590984,this['particlesComputing']=new _0x858c21(this[_0x4c13da(0x300)],this[_0x4c13da(0x236)],this[_0x4c13da(0x2bb)],this[_0x4c13da(0x267)]),this[_0x4c13da(0x2fd)]=new _0x5d635f(this[_0x4c13da(0x300)],this[_0x4c13da(0x236)],this[_0x4c13da(0x2bb)],this[_0x4c13da(0x267)],this['particlesComputing']);}},{'key':_0x428538(0x1aa),'value':function(){var _0x102d6e=_0x428538,_0x15519a=this,_0x10cd3a=new _0x5a8349[(_0x102d6e(0x295))]({'color':new _0x5a8349[(_0x102d6e(0x1ca))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x5a8349[_0x102d6e(0x248)][_0x102d6e(0x205)]});Object[_0x102d6e(0x24e)](this[_0x102d6e(0x2fd)][_0x102d6e(0x226)])[_0x102d6e(0x2ff)](function(_0x20044a){var _0x164563=_0x102d6e;_0x10cd3a['framebuffer']=_0x15519a[_0x164563(0x2fd)][_0x164563(0x226)][_0x20044a],_0x10cd3a['execute'](_0x15519a[_0x164563(0x300)]);});}},{'key':'refreshParticles','value':function(_0x1ce0e9){var _0xe86389=_0x428538;if(this[_0xe86389(0x1aa)](),this['particlesComputing'][_0xe86389(0x313)](),this['particlesComputing']['createParticlesTextures'](this['context'],this[_0xe86389(0x2bb)],this[_0xe86389(0x267)]),_0x1ce0e9){var _0x1a23e7=this['particlesRendering'][_0xe86389(0x21c)](this['userInput']);this['particlesRendering']['primitives'][_0xe86389(0x279)][_0xe86389(0x298)]=_0x1a23e7;var _0x150b81=_0x5a8349[_0xe86389(0x1ad)][_0xe86389(0x2cd)]({'context':this[_0xe86389(0x300)],'geometry':_0x1a23e7,'attributeLocations':this[_0xe86389(0x2fd)][_0xe86389(0x229)]['segments'][_0xe86389(0x1cc)],'bufferUsage':_0x5a8349[_0xe86389(0x2fa)][_0xe86389(0x227)]});this[_0xe86389(0x2fd)][_0xe86389(0x229)][_0xe86389(0x279)][_0xe86389(0x211)][_0xe86389(0x29a)]=_0x150b81;}}},{'key':_0x428538(0x289),'value':function(_0x3a44a6){var _0x453677=_0x428538,_0x239861=this,_0x17419b=!0x1;this[_0x453677(0x2bb)][_0x453677(0x21e)]!=_0x3a44a6[_0x453677(0x21e)]&&(_0x17419b=!0x0),Object[_0x453677(0x24e)](_0x3a44a6)[_0x453677(0x2ff)](function(_0x31ee36){var _0x49b91a=_0x453677;_0x239861[_0x49b91a(0x2bb)][_0x31ee36]=_0x3a44a6[_0x31ee36];}),this[_0x453677(0x1dc)](_0x17419b);}},{'key':_0x428538(0x1c8),'value':function(_0x4a32c4){var _0x233e2b=_0x428538,_0x3b8c06=this;Object[_0x233e2b(0x24e)](_0x4a32c4)['forEach'](function(_0x6a8587){var _0x994698=_0x233e2b;_0x3b8c06[_0x994698(0x267)][_0x6a8587]=_0x4a32c4[_0x6a8587];}),this['refreshParticles'](!0x1);}}]),_0xe7f224;}();function _0x5b49f0(_0xc4256b){var _0x222657=function(){var _0x8b23da=a0_0x1b3b;if(_0x8b23da(0x2d3)==typeof Reflect||!Reflect[_0x8b23da(0x2bc)])return!0x1;if(Reflect[_0x8b23da(0x2bc)][_0x8b23da(0x21d)])return!0x1;if(_0x8b23da(0x27c)==typeof Proxy)return!0x0;try{return Boolean[_0x8b23da(0x2df)][_0x8b23da(0x30f)][_0x8b23da(0x1e2)](Reflect[_0x8b23da(0x2bc)](Boolean,[],function(){})),!0x0;}catch(_0x52e626){return!0x1;}}();return function(){var _0x305dd7=a0_0x1b3b,_0x5a9d1a,_0x2bd864=_0x4a42dc()(_0xc4256b);if(_0x222657){var _0x56eacd=_0x4a42dc()(this)[_0x305dd7(0x1c7)];_0x5a9d1a=Reflect[_0x305dd7(0x2bc)](_0x2bd864,arguments,_0x56eacd);}else _0x5a9d1a=_0x2bd864[_0x305dd7(0x2e8)](this,arguments);return _0x462993()(this,_0x5a9d1a);};}var _0x452789=_0x39b5d3['layer'][_0x5eb631(0x2b9)],_0x5b7d8c=0x1000,_0x1c911e=0x64,_0x4b7030=0.996,_0x974818=0.003,_0x33d15d=0.01,_0x177cfb=0.5,_0x28bafd=0x2,_0x27a5c1=function(_0x46e50f){var _0x51979d=_0x5eb631;_0x2e979f()(_0x8e9061,_0x46e50f);var _0x190179=_0x5b49f0(_0x8e9061);function _0x8e9061(){var _0x2222dc=a0_0x1b3b,_0x55e062,_0x7dab7b=arguments[_0x2222dc(0x1c2)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x452ed0()(this,_0x8e9061),(_0x55e062=_0x190179[_0x2222dc(0x1e2)](this,_0x7dab7b))[_0x2222dc(0x21e)]=_0x5b7d8c,_0x55e062['particleHeight']=_0x1c911e,_0x55e062['fadeOpacity']=_0x4b7030,_0x55e062[_0x2222dc(0x218)]=_0x974818,_0x55e062[_0x2222dc(0x201)]=_0x33d15d,_0x55e062[_0x2222dc(0x2b0)]=_0x177cfb,_0x55e062[_0x2222dc(0x1ac)]=_0x28bafd,_0x55e062[_0x2222dc(0x28b)](_0x7dab7b),_0x55e062;}return _0x3488f3()(_0x8e9061,[{'key':_0x51979d(0x1a1),'get':function(){var _0x59e3fc=_0x51979d;return this[_0x59e3fc(0x229)];}},{'key':_0x51979d(0x28b),'value':function(_0x5e7cf5){if(_0x5e7cf5){for(var _0x428c55 in _0x5e7cf5)this[_0x428c55]=_0x5e7cf5[_0x428c55];}}},{'key':_0x51979d(0x23f),'value':function(){}},{'key':_0x51979d(0x235),'value':function(){var _0x1c6d7c=_0x51979d;this[_0x1c6d7c(0x2d9)]=this[_0x1c6d7c(0x1ec)][_0x1c6d7c(0x2d9)],this[_0x1c6d7c(0x223)]=this['_map']['camera'],this[_0x1c6d7c(0x229)]=new _0x5a8349[(_0x1c6d7c(0x228))](),this['_map'][_0x1c6d7c(0x2d9)][_0x1c6d7c(0x229)][_0x1c6d7c(0x26a)](this[_0x1c6d7c(0x229)]),this[_0x1c6d7c(0x267)]={'lonRange':new _0x5a8349[(_0x1c6d7c(0x2bf))](),'latRange':new _0x5a8349[(_0x1c6d7c(0x2bf))](),'pixelSize':0x0},this[_0x1c6d7c(0x253)]=new _0x5a8349['BoundingSphere'](_0x5a8349[_0x1c6d7c(0x2af)][_0x1c6d7c(0x246)],6314355.63),this[_0x1c6d7c(0x2db)](),window[_0x1c6d7c(0x1d2)]('resize',this[_0x1c6d7c(0x288)][_0x1c6d7c(0x1ed)](this),!0x1),this[_0x1c6d7c(0x2fc)]=!0x1,this[_0x1c6d7c(0x2a7)]=!0x1,this[_0x1c6d7c(0x1ec)]['on'](_0x39b5d3[_0x1c6d7c(0x264)][_0x1c6d7c(0x314)],this[_0x1c6d7c(0x2c3)],this),this[_0x1c6d7c(0x1ec)]['on'](_0x39b5d3[_0x1c6d7c(0x264)]['mouseDown'],this['_onMouseDownEvent'],this),this[_0x1c6d7c(0x1ec)]['on'](_0x39b5d3['EventType']['mouseUp'],this[_0x1c6d7c(0x2c8)],this),this['_map']['on'](_0x39b5d3[_0x1c6d7c(0x264)][_0x1c6d7c(0x1d1)],this[_0x1c6d7c(0x280)],this);}},{'key':'_removedHook','value':function(){var _0x4b15f9=_0x51979d;window[_0x4b15f9(0x301)](_0x4b15f9(0x288),this[_0x4b15f9(0x288)]),this['_map'][_0x4b15f9(0x207)](_0x39b5d3['EventType'][_0x4b15f9(0x1d4)],this[_0x4b15f9(0x283)],this),this[_0x4b15f9(0x1ec)][_0x4b15f9(0x207)](_0x39b5d3[_0x4b15f9(0x264)][_0x4b15f9(0x314)],this[_0x4b15f9(0x2c3)],this),this['_map'][_0x4b15f9(0x207)](_0x39b5d3['EventType']['mouseDown'],this['_onMouseDownEvent'],this),this[_0x4b15f9(0x1ec)][_0x4b15f9(0x207)](_0x39b5d3[_0x4b15f9(0x264)][_0x4b15f9(0x27e)],this['_onMouseUpEvent'],this),this[_0x4b15f9(0x1ec)][_0x4b15f9(0x207)](_0x39b5d3[_0x4b15f9(0x264)][_0x4b15f9(0x1d1)],this[_0x4b15f9(0x280)],this),this[_0x4b15f9(0x229)][_0x4b15f9(0x30c)](),this[_0x4b15f9(0x1ec)][_0x4b15f9(0x2d9)]['primitives'][_0x4b15f9(0x2dd)](this[_0x4b15f9(0x229)]);}},{'key':_0x51979d(0x288),'value':function(){var _0x24aaf7=_0x51979d;this['show']&&this[_0x24aaf7(0x20b)]&&(this[_0x24aaf7(0x229)][_0x24aaf7(0x1fc)]=!0x1,this['primitives'][_0x24aaf7(0x30c)](),this[_0x24aaf7(0x1ec)][_0x24aaf7(0x206)](_0x39b5d3[_0x24aaf7(0x264)][_0x24aaf7(0x1d4)],this[_0x24aaf7(0x283)],this));}},{'key':'_onMap_preRenderEvent','value':function(_0x6736f3){var _0x4df258=_0x51979d;this['particleSystem'][_0x4df258(0x2ea)](this[_0x4df258(0x2d9)][_0x4df258(0x300)]),this[_0x4df258(0x29f)](),this[_0x4df258(0x229)][_0x4df258(0x1fc)]=!0x0;}},{'key':'_onMapWhellEvent','value':function(_0x49b2fd){var _0x2aff7b=_0x51979d,_0xfb6b38=this;clearTimeout(this[_0x2aff7b(0x2e5)]),this[_0x2aff7b(0x1fc)]&&this[_0x2aff7b(0x20b)]&&(this['primitives']['show']=!0x1,this[_0x2aff7b(0x2e5)]=setTimeout(function(){var _0x4e3079=_0x2aff7b;_0xfb6b38[_0x4e3079(0x1fc)]&&_0xfb6b38[_0x4e3079(0x29b)]();},0xc8));}},{'key':_0x51979d(0x241),'value':function(_0x563950){var _0x5a6abd=_0x51979d;this[_0x5a6abd(0x2fc)]=!0x0;}},{'key':_0x51979d(0x280),'value':function(_0x3789a9){var _0x14caef=_0x51979d;this[_0x14caef(0x1fc)]&&this[_0x14caef(0x20b)]&&this[_0x14caef(0x2fc)]&&(this[_0x14caef(0x229)][_0x14caef(0x1fc)]=!0x1,this[_0x14caef(0x2a7)]=!0x0);}},{'key':'_onMouseUpEvent','value':function(_0x518a46){var _0xa0e92e=_0x51979d;this['show']&&this[_0xa0e92e(0x20b)]&&(this['mouse_down']&&this[_0xa0e92e(0x2a7)]&&this[_0xa0e92e(0x29b)](),this[_0xa0e92e(0x229)][_0xa0e92e(0x1fc)]=!0x0,this[_0xa0e92e(0x2fc)]=!0x1,this[_0xa0e92e(0x2a7)]=!0x1);}},{'key':_0x51979d(0x29b),'value':function(){var _0x1fedb4=_0x51979d;this[_0x1fedb4(0x1ec)]&&this['show']&&(this[_0x1fedb4(0x2db)](),this['particleSystem'][_0x1fedb4(0x1c8)](this[_0x1fedb4(0x267)]),this[_0x1fedb4(0x229)][_0x1fedb4(0x1fc)]=!0x0);}},{'key':'setData','value':function(_0x4e7bc6){var _0x41faca=_0x51979d;this['particleSystem']=new _0x55b91b(this[_0x41faca(0x2d9)][_0x41faca(0x300)],_0x4e7bc6,this[_0x41faca(0x2fe)](),this[_0x41faca(0x267)]),this[_0x41faca(0x29f)]();}},{'key':_0x51979d(0x1c3),'value':function(_0x4ebc0d){var _0x1c8560=_0x51979d;if(_0x4ebc0d){for(var _0x336a83 in _0x4ebc0d)this[_0x336a83]=_0x4ebc0d[_0x336a83];}return this[_0x1c8560(0x20b)]&&this['particleSystem'][_0x1c8560(0x289)](this['getUserInput']()),this;}},{'key':_0x51979d(0x2fe),'value':function(){var _0x422cac=_0x51979d,_0x191ce6=Math[_0x422cac(0x2b7)](Math[_0x422cac(0x244)](this[_0x422cac(0x21e)]));return this[_0x422cac(0x21e)]=_0x191ce6*_0x191ce6,{'particlesTextureSize':_0x191ce6,'maxParticles':this['maxParticles'],'particleHeight':this[_0x422cac(0x305)],'fadeOpacity':this[_0x422cac(0x2a5)],'dropRate':this[_0x422cac(0x218)],'dropRateBump':this[_0x422cac(0x201)],'speedFactor':this[_0x422cac(0x2b0)],'lineWidth':this[_0x422cac(0x1ac)],'globeLayer':this[_0x422cac(0x250)],'WMS_URL':this['WMS_URL']};}},{'key':_0x51979d(0x29f),'value':function(){var _0x38ddfd=_0x51979d;this[_0x38ddfd(0x229)][_0x38ddfd(0x26a)](this[_0x38ddfd(0x20b)][_0x38ddfd(0x208)]['primitives'][_0x38ddfd(0x2f6)]),this[_0x38ddfd(0x229)][_0x38ddfd(0x26a)](this[_0x38ddfd(0x20b)][_0x38ddfd(0x208)][_0x38ddfd(0x229)][_0x38ddfd(0x234)]),this[_0x38ddfd(0x229)][_0x38ddfd(0x26a)](this[_0x38ddfd(0x20b)][_0x38ddfd(0x208)][_0x38ddfd(0x229)]['updatePosition']),this['primitives'][_0x38ddfd(0x26a)](this[_0x38ddfd(0x20b)][_0x38ddfd(0x208)][_0x38ddfd(0x229)][_0x38ddfd(0x209)]),this[_0x38ddfd(0x229)][_0x38ddfd(0x26a)](this[_0x38ddfd(0x20b)][_0x38ddfd(0x208)][_0x38ddfd(0x229)][_0x38ddfd(0x258)]),this[_0x38ddfd(0x229)][_0x38ddfd(0x26a)](this['particleSystem'][_0x38ddfd(0x2fd)]['primitives'][_0x38ddfd(0x279)]),this[_0x38ddfd(0x229)]['add'](this['particleSystem'][_0x38ddfd(0x2fd)]['primitives'][_0x38ddfd(0x251)]),this['primitives'][_0x38ddfd(0x26a)](this[_0x38ddfd(0x20b)][_0x38ddfd(0x2fd)][_0x38ddfd(0x229)]['screen']);}},{'key':'updateViewerParameters','value':function(){var _0x4edd48=_0x51979d,_0x340a8e=this[_0x4edd48(0x223)][_0x4edd48(0x274)](this[_0x4edd48(0x2d9)][_0x4edd48(0x2f8)]['ellipsoid']);if(!_0x340a8e){var _0xbd9dd7=this[_0x4edd48(0x1ec)][_0x4edd48(0x2d1)]();_0x340a8e=_0x5a8349[_0x4edd48(0x245)]['fromDegrees'](_0xbd9dd7[_0x4edd48(0x1e5)],_0xbd9dd7[_0x4edd48(0x1b7)],_0xbd9dd7[_0x4edd48(0x2b1)],_0xbd9dd7['ymax']);}var _0x335e0b=_0x50378f[_0x4edd48(0x296)](_0x340a8e);this['viewerParameters'][_0x4edd48(0x2e7)]['x']=_0x335e0b['lon'][_0x4edd48(0x1d0)],this[_0x4edd48(0x267)][_0x4edd48(0x2e7)]['y']=_0x335e0b[_0x4edd48(0x2be)]['max'],this['viewerParameters'][_0x4edd48(0x1eb)]['x']=_0x335e0b[_0x4edd48(0x1f4)][_0x4edd48(0x1d0)],this[_0x4edd48(0x267)][_0x4edd48(0x1eb)]['y']=_0x335e0b[_0x4edd48(0x1f4)][_0x4edd48(0x24c)];var _0x5b5861=this[_0x4edd48(0x223)]['getPixelSize'](this['globeBoundingSphere'],this[_0x4edd48(0x2d9)][_0x4edd48(0x1b4)],this['scene'][_0x4edd48(0x1b2)]);_0x5b5861>0x0&&(this['viewerParameters'][_0x4edd48(0x233)]=_0x5b5861);}}]),_0x8e9061;}(_0x452789);_0x39b5d3['LayerUtil'][_0x5eb631(0x278)](_0x5eb631(0x22d),_0x27a5c1),_0x39b5d3['layer'][_0x5eb631(0x285)]=_0x27a5c1;var _0x115791=function _0x1e89fc(){var _0x1c5bf7=_0x5eb631;_0x452ed0()(this,_0x1e89fc),this['lng']=null,this[_0x1c5bf7(0x1f4)]=null,this[_0x1c5bf7(0x1e7)]=null,this[_0x1c5bf7(0x23e)]=null,this[_0x1c5bf7(0x1da)]=null;},_0x199f93=function(){var _0x38dbc0=_0x5eb631;function _0x57d1c5(_0x327b07,_0x29d6fa){var _0x3edc68=a0_0x1b3b;_0x452ed0()(this,_0x57d1c5),this['rows']=_0x327b07[_0x3edc68(0x27b)],this[_0x3edc68(0x2ba)]=_0x327b07[_0x3edc68(0x2ba)],this['xmin']=_0x327b07[_0x3edc68(0x1e5)],this['xmax']=_0x327b07[_0x3edc68(0x2b1)],this[_0x3edc68(0x1b7)]=_0x327b07['ymin'],this[_0x3edc68(0x2eb)]=_0x327b07[_0x3edc68(0x2eb)],this[_0x3edc68(0x2dc)]=[];var _0x1f087c=_0x327b07[_0x3edc68(0x2a6)],_0x76b4d7=_0x327b07[_0x3edc68(0x310)],_0x1c5867=!0x1;_0x1f087c[_0x3edc68(0x1c2)]===this[_0x3edc68(0x27b)]&&_0x1f087c[0x0][_0x3edc68(0x1c2)]===this[_0x3edc68(0x2ba)]&&(_0x1c5867=!0x0);for(var _0xf8486=0x0,_0x55cd9c=null,_0x5cb2bf=null,_0x3717a8=0x0;_0x3717a8<this[_0x3edc68(0x27b)];_0x3717a8++){_0x55cd9c=[];for(var _0xaca628=0x0;_0xaca628<this[_0x3edc68(0x2ba)];_0xaca628++,_0xf8486++)_0x5cb2bf=_0x1c5867?this[_0x3edc68(0x1e8)](_0x1f087c[_0x3717a8][_0xaca628],_0x76b4d7[_0x3717a8][_0xaca628]):this[_0x3edc68(0x1e8)](_0x1f087c[_0xf8486],_0x76b4d7[_0xf8486]),_0x55cd9c['push'](_0x5cb2bf);this[_0x3edc68(0x2dc)][_0x3edc68(0x1cb)](_0x55cd9c);}_0x29d6fa&&this[_0x3edc68(0x2dc)][_0x3edc68(0x2f5)]();}return _0x3488f3()(_0x57d1c5,[{'key':_0x38dbc0(0x28f),'value':function(_0x520171,_0x433e89){var _0x3ad3e1=_0x38dbc0;return{'x':(_0x520171-this['xmin'])/(this[_0x3ad3e1(0x2b1)]-this[_0x3ad3e1(0x1e5)])*(this[_0x3ad3e1(0x2ba)]-0x1),'y':(this['ymax']-_0x433e89)/(this[_0x3ad3e1(0x2eb)]-this['ymin'])*(this[_0x3ad3e1(0x27b)]-0x1)};}},{'key':_0x38dbc0(0x1ea),'value':function(_0x5c47f9,_0x25221a){var _0x1adcfe=_0x38dbc0;if(_0x5c47f9<0x0||_0x5c47f9>=this[_0x1adcfe(0x2ba)]||_0x25221a>=this[_0x1adcfe(0x27b)])return[0x0,0x0,0x0];var _0x550f5a,_0x15f484,_0x26ef36=Math[_0x1adcfe(0x22f)](_0x5c47f9),_0x2b1225=Math[_0x1adcfe(0x22f)](_0x25221a);if(_0x26ef36===_0x5c47f9&&_0x2b1225===_0x25221a)return this['grid'][_0x25221a][_0x5c47f9];_0x550f5a=_0x26ef36+0x1,_0x15f484=_0x2b1225+0x1;var _0x16ea52=this[_0x1adcfe(0x1ea)](_0x26ef36,_0x2b1225),_0x41669e=this[_0x1adcfe(0x1ea)](_0x550f5a,_0x2b1225),_0x2f77b6=this['getUVByXY'](_0x26ef36,_0x15f484),_0x46549c=this['getUVByXY'](_0x550f5a,_0x15f484),_0xc47c38=null;try{_0xc47c38=this[_0x1adcfe(0x1a3)](_0x5c47f9-_0x26ef36,_0x25221a-_0x2b1225,_0x16ea52,_0x41669e,_0x2f77b6,_0x46549c);}catch(_0xf5f0d6){console[_0x1adcfe(0x1b5)](_0x5c47f9,_0x25221a);}return _0xc47c38;}},{'key':_0x38dbc0(0x1a3),'value':function(_0x2aeac1,_0x3121c6,_0x284661,_0xbdd46,_0x5b18d1,_0x37b298){var _0x17d2ed=_0x38dbc0,_0x3e539f=0x1-_0x2aeac1,_0x399230=0x1-_0x3121c6,_0x2c82d8=_0x3e539f*_0x399230,_0x3fc12a=_0x2aeac1*_0x399230,_0x7bcef9=_0x3e539f*_0x3121c6,_0x22d58c=_0x2aeac1*_0x3121c6,_0x221b27=_0x284661[0x0]*_0x2c82d8+_0xbdd46[0x0]*_0x3fc12a+_0x5b18d1[0x0]*_0x7bcef9+_0x37b298[0x0]*_0x22d58c,_0x171e1f=_0x284661[0x1]*_0x2c82d8+_0xbdd46[0x1]*_0x3fc12a+_0x5b18d1[0x1]*_0x7bcef9+_0x37b298[0x1]*_0x22d58c;return this[_0x17d2ed(0x1e8)](_0x221b27,_0x171e1f);}},{'key':'_calcUV','value':function(_0x5118e2,_0x383741){var _0x3cee89=_0x38dbc0;return[+_0x5118e2,+_0x383741,Math[_0x3cee89(0x244)](_0x5118e2*_0x5118e2+_0x383741*_0x383741)];}},{'key':_0x38dbc0(0x1be),'value':function(_0x3eda52,_0x1c9058){var _0x4838b0=_0x38dbc0;if(!this[_0x4838b0(0x275)](_0x3eda52,_0x1c9058))return null;var _0x460ac8=this[_0x4838b0(0x28f)](_0x3eda52,_0x1c9058);return this[_0x4838b0(0x1ea)](_0x460ac8['x'],_0x460ac8['y']);}},{'key':_0x38dbc0(0x275),'value':function(_0x4440d7,_0x4d3c6c){var _0x4d586a=_0x38dbc0;return _0x4440d7>=this['xmin']&&_0x4440d7<=this[_0x4d586a(0x2b1)]&&_0x4d3c6c>=this[_0x4d586a(0x1b7)]&&_0x4d3c6c<=this['ymax'];}},{'key':'getRandomLatLng','value':function(){var _0x476af8=_0x38dbc0,_0x1f1008=_0x3d2697(this[_0x476af8(0x1e5)],this[_0x476af8(0x2b1)]);return{'lat':_0x3d2697(this[_0x476af8(0x1b7)],this[_0x476af8(0x2eb)]),'lng':_0x1f1008};}}]),_0x57d1c5;}();function _0x3d2697(_0xa42e7b,_0x23e181){var _0x16e006=_0x5eb631;return _0xa42e7b+Math[_0x16e006(0x219)]()*(_0x23e181-_0xa42e7b);}function _0x3c5679(_0x587730){var _0x4478ba=function(){var _0x112f60=a0_0x1b3b;if(_0x112f60(0x2d3)==typeof Reflect||!Reflect['construct'])return!0x1;if(Reflect[_0x112f60(0x2bc)][_0x112f60(0x21d)])return!0x1;if(_0x112f60(0x27c)==typeof Proxy)return!0x0;try{return Boolean[_0x112f60(0x2df)][_0x112f60(0x30f)][_0x112f60(0x1e2)](Reflect[_0x112f60(0x2bc)](Boolean,[],function(){})),!0x0;}catch(_0x385552){return!0x1;}}();return function(){var _0x55ec4c,_0x569d32=_0x4a42dc()(_0x587730);if(_0x4478ba){var _0xc3920=_0x4a42dc()(this)['constructor'];_0x55ec4c=Reflect['construct'](_0x569d32,arguments,_0xc3920);}else _0x55ec4c=_0x569d32['apply'](this,arguments);return _0x462993()(this,_0x55ec4c);};}var _0x91f534=function(_0xb9945b){var _0x28bbe6=_0x5eb631;_0x2e979f()(_0x4cd417,_0xb9945b);var _0xe0269=_0x3c5679(_0x4cd417);function _0x4cd417(){var _0x4eb1ff=a0_0x1b3b,_0x4b98b9,_0x27f9fb=arguments[_0x4eb1ff(0x1c2)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x452ed0()(this,_0x4cd417),(_0x4b98b9=_0xe0269[_0x4eb1ff(0x1e2)](this,_0x27f9fb))[_0x4eb1ff(0x28b)](_0x27f9fb),_0x4b98b9[_0x4eb1ff(0x1f8)]=null,_0x4b98b9;}return _0x3488f3()(_0x4cd417,[{'key':_0x28bbe6(0x28b),'value':function(_0x2d374c){var _0x42c6a6=_0x28bbe6;this['calc_speedRate']=[0x0,0x0],this['particles']=[],this[_0x42c6a6(0x2ce)]=_0x2d374c[_0x42c6a6(0x2ce)]||0x32,this[_0x42c6a6(0x262)]=_0x2d374c[_0x42c6a6(0x2b6)]||0x4e20,this['_maxAge']=_0x2d374c[_0x42c6a6(0x20f)]||0x78,this[_0x42c6a6(0x263)]=0x3e8/(_0x2d374c[_0x42c6a6(0x2c1)]||0xa),this['_pointerEvents']=_0x5a8349[_0x42c6a6(0x2f1)](this['options'][_0x42c6a6(0x25e)],!0x1),this['color']=_0x2d374c[_0x42c6a6(0x1c6)]||_0x42c6a6(0x20e),this[_0x42c6a6(0x1ac)]=_0x2d374c[_0x42c6a6(0x1ac)]||0x1,this['fixedHeight']=_0x5a8349[_0x42c6a6(0x2f1)](_0x2d374c[_0x42c6a6(0x2f9)],0x0),this[_0x42c6a6(0x1e3)]=_0x5a8349[_0x42c6a6(0x2f1)](_0x2d374c['reverseY'],!0x1);}},{'key':_0x28bbe6(0x1a1),'get':function(){var _0x4a2521=_0x28bbe6;return this[_0x4a2521(0x1f8)];}},{'key':_0x28bbe6(0x216),'get':function(){var _0x24f87b=_0x28bbe6;return this[_0x24f87b(0x1ec)]['scene'][_0x24f87b(0x1f8)][_0x24f87b(0x225)];}},{'key':_0x28bbe6(0x23a),'get':function(){var _0x4d2f95=_0x28bbe6;return this[_0x4d2f95(0x1ec)][_0x4d2f95(0x2d9)][_0x4d2f95(0x1f8)][_0x4d2f95(0x1c5)];}},{'key':_0x28bbe6(0x25e),'get':function(){var _0x3e236c=_0x28bbe6;return this[_0x3e236c(0x2c0)];},'set':function(_0x35a29b){var _0x5bf098=_0x28bbe6;this[_0x5bf098(0x2c0)]=_0x35a29b,this['canvas']&&(this[_0x5bf098(0x1f8)][_0x5bf098(0x254)]['pointer-events']=_0x35a29b?_0x5bf098(0x1dd):_0x5bf098(0x28e));}},{'key':_0x28bbe6(0x2ce),'get':function(){var _0x567dbc=_0x28bbe6;return this[_0x567dbc(0x249)];},'set':function(_0x1769d2){var _0x10512e=_0x28bbe6;this['_speedRate']=0x64*(0x64-(_0x1769d2>0x63?0x63:_0x1769d2)),this[_0x10512e(0x26d)]();}},{'key':_0x28bbe6(0x2b6),'get':function(){var _0x292621=_0x28bbe6;return this[_0x292621(0x262)];},'set':function(_0xb4c52){var _0x5053f5=_0x28bbe6,_0x3539b1=this;this['_particlesNumber']=_0xb4c52,clearTimeout(this[_0x5053f5(0x2b2)]),this['canrefresh']=setTimeout(function(){var _0x204121=_0x5053f5;_0x3539b1[_0x204121(0x29b)]();},0x1f4);}},{'key':'maxAge','get':function(){var _0x1c31e3=_0x28bbe6;return this[_0x1c31e3(0x2b4)];},'set':function(_0x14f96d){var _0x265dad=_0x28bbe6,_0x3030e9=this;this[_0x265dad(0x2b4)]=_0x14f96d,clearTimeout(this['canrefresh']),this[_0x265dad(0x2b2)]=setTimeout(function(){var _0x2fe7da=_0x265dad;_0x3030e9[_0x2fe7da(0x29b)]();},0x1f4);}},{'key':_0x28bbe6(0x236),'get':function(){var _0x26d28e=_0x28bbe6;return this[_0x26d28e(0x30e)];},'set':function(_0x581396){var _0x2ef57f=_0x28bbe6;this[_0x2ef57f(0x315)](_0x581396);}},{'key':_0x28bbe6(0x1f7),'value':function(_0x20f021){var _0x6415ba=_0x28bbe6;_0x20f021?this[_0x6415ba(0x235)]():(this['windData']&&(this[_0x6415ba(0x221)][_0x6415ba(0x236)]=this[_0x6415ba(0x30e)]),this['_removedHook']());}},{'key':_0x28bbe6(0x23f),'value':function(){}},{'key':_0x28bbe6(0x235),'value':function(){var _0x3b8a68=_0x28bbe6;this['canvas']=this[_0x3b8a68(0x276)](),this[_0x3b8a68(0x1cd)]=this[_0x3b8a68(0x1f8)]['getContext']('2d'),this['bindEvent'](),this[_0x3b8a68(0x221)][_0x3b8a68(0x236)]&&this[_0x3b8a68(0x315)](this[_0x3b8a68(0x221)][_0x3b8a68(0x236)]);}},{'key':_0x28bbe6(0x2d6),'value':function(){var _0x48efdf=_0x28bbe6;this['clear'](),this[_0x48efdf(0x294)](),this[_0x48efdf(0x1f8)]&&(this[_0x48efdf(0x1ec)][_0x48efdf(0x200)][_0x48efdf(0x2a0)](this[_0x48efdf(0x1f8)]),delete this[_0x48efdf(0x1f8)]);}},{'key':_0x28bbe6(0x276),'value':function(){var _0x2d4725=_0x28bbe6,_0x58b799=document[_0x2d4725(0x30d)]('canvas');_0x58b799[_0x2d4725(0x254)][_0x2d4725(0x308)]=_0x2d4725(0x271),_0x58b799['style'][_0x2d4725(0x299)]='0px',_0x58b799['style']['left']=_0x2d4725(0x277),_0x58b799[_0x2d4725(0x254)][_0x2d4725(0x210)]=_0x2d4725(0x21b),_0x58b799[_0x2d4725(0x254)][_0x2d4725(0x26f)]=_0x2d4725(0x21b),_0x58b799['style']['pointerEvents']=this[_0x2d4725(0x2c0)]?_0x2d4725(0x1df):'none',_0x58b799['style'][_0x2d4725(0x272)]=0xa,_0x58b799['setAttribute']('id',_0x2d4725(0x1e0)),_0x58b799['setAttribute']('class',_0x2d4725(0x1e0)),this['_map'][_0x2d4725(0x200)][_0x2d4725(0x2f7)](_0x58b799);var _0x235a84=this[_0x2d4725(0x1ec)][_0x2d4725(0x2d9)];return _0x58b799[_0x2d4725(0x210)]=_0x235a84[_0x2d4725(0x1f8)][_0x2d4725(0x225)],_0x58b799[_0x2d4725(0x26f)]=_0x235a84['canvas'][_0x2d4725(0x1c5)],_0x58b799;}},{'key':_0x28bbe6(0x288),'value':function(){var _0x1cb9c3=_0x28bbe6;this[_0x1cb9c3(0x1f8)]&&(this['canvas'][_0x1cb9c3(0x210)]=this[_0x1cb9c3(0x216)],this[_0x1cb9c3(0x1f8)][_0x1cb9c3(0x26f)]=this[_0x1cb9c3(0x23a)]);}},{'key':_0x28bbe6(0x231),'value':function(){var _0x24d183=_0x28bbe6,_0x24df9e=this,_0x4e0e4b=Date[_0x24d183(0x291)]();!function _0x2872a1(){var _0x21a7c5=_0x24d183;_0x24df9e[_0x21a7c5(0x260)]=window[_0x21a7c5(0x307)](_0x2872a1);var _0x18fd8f=Date['now'](),_0x5bcaf4=_0x18fd8f-_0x4e0e4b;_0x5bcaf4>_0x24df9e['frameTime']&&(_0x4e0e4b=_0x18fd8f-_0x5bcaf4%_0x24df9e[_0x21a7c5(0x263)],_0x24df9e[_0x21a7c5(0x1b1)]());}(),window[_0x24d183(0x1d2)](_0x24d183(0x288),this[_0x24d183(0x288)][_0x24d183(0x1ed)](this),!0x1),this[_0x24d183(0x2fc)]=!0x1,this[_0x24d183(0x2a7)]=!0x1,this['_map']['on'](_0x39b5d3[_0x24d183(0x264)][_0x24d183(0x314)],this[_0x24d183(0x2c3)],this),this[_0x24d183(0x1ec)]['on'](_0x39b5d3['EventType'][_0x24d183(0x270)],this[_0x24d183(0x241)],this),this[_0x24d183(0x1ec)]['on'](_0x39b5d3[_0x24d183(0x264)][_0x24d183(0x27e)],this[_0x24d183(0x2c8)],this),this[_0x24d183(0x1ec)]['on'](_0x39b5d3[_0x24d183(0x264)][_0x24d183(0x1d1)],this[_0x24d183(0x280)],this);}},{'key':'unbindEvent','value':function(){var _0x48aa59=_0x28bbe6;window[_0x48aa59(0x1bb)](this[_0x48aa59(0x260)]),delete this[_0x48aa59(0x260)],window[_0x48aa59(0x301)](_0x48aa59(0x288),this[_0x48aa59(0x288)]),this[_0x48aa59(0x1ec)][_0x48aa59(0x207)](_0x39b5d3[_0x48aa59(0x264)]['wheel'],this[_0x48aa59(0x2c3)],this),this[_0x48aa59(0x1ec)][_0x48aa59(0x207)](_0x39b5d3['EventType'][_0x48aa59(0x270)],this[_0x48aa59(0x241)],this),this[_0x48aa59(0x1ec)][_0x48aa59(0x207)](_0x39b5d3['EventType']['mouseUp'],this[_0x48aa59(0x2c8)],this),this[_0x48aa59(0x1ec)][_0x48aa59(0x207)](_0x39b5d3[_0x48aa59(0x264)][_0x48aa59(0x1d1)],this[_0x48aa59(0x280)],this);}},{'key':_0x28bbe6(0x2c3),'value':function(_0x5385bc){var _0x23f6f5=_0x28bbe6,_0x40baa9=this;clearTimeout(this['refreshTimer']),this[_0x23f6f5(0x1fc)]&&this[_0x23f6f5(0x1f8)]&&(this['canvas'][_0x23f6f5(0x254)][_0x23f6f5(0x20d)]=_0x23f6f5(0x204),this[_0x23f6f5(0x2e5)]=setTimeout(function(){var _0x488622=_0x23f6f5;_0x40baa9[_0x488622(0x1fc)]&&(_0x40baa9[_0x488622(0x29b)](),_0x40baa9[_0x488622(0x1f8)][_0x488622(0x254)]['visibility']=_0x488622(0x1c1));},0xc8));}},{'key':_0x28bbe6(0x241),'value':function(_0x425b6c){var _0x443a70=_0x28bbe6;this[_0x443a70(0x2fc)]=!0x0;}},{'key':_0x28bbe6(0x280),'value':function(_0x440ce5){var _0x1358a9=_0x28bbe6;this[_0x1358a9(0x1fc)]&&this[_0x1358a9(0x1f8)]&&this['mouse_down']&&(this['canvas']['style']['visibility']=_0x1358a9(0x204),this['mouse_move']=!0x0);}},{'key':_0x28bbe6(0x2c8),'value':function(_0x266294){var _0x343997=_0x28bbe6;this[_0x343997(0x1fc)]&&this[_0x343997(0x1f8)]&&(this[_0x343997(0x2fc)]&&this[_0x343997(0x2a7)]&&this[_0x343997(0x29b)](),this['canvas']['style'][_0x343997(0x20d)]=_0x343997(0x1c1),this[_0x343997(0x2fc)]=!0x1,this['mouse_move']=!0x1);}},{'key':_0x28bbe6(0x29b),'value':function(){var _0x1115f8=_0x28bbe6;this[_0x1115f8(0x1fc)]&&this[_0x1115f8(0x290)]&&(this[_0x1115f8(0x2da)]=[],this['drawWind']());}},{'key':_0x28bbe6(0x315),'value':function(_0x158e96){var _0x1abe05=_0x28bbe6;this[_0x1abe05(0x25a)](),this['windData']=_0x158e96,this[_0x1abe05(0x290)]=new _0x199f93(this[_0x1abe05(0x30e)],this[_0x1abe05(0x1e3)]),this[_0x1abe05(0x312)]();}},{'key':_0x28bbe6(0x312),'value':function(){var _0x40b8fb=_0x28bbe6;this[_0x40b8fb(0x26d)]();for(var _0x1fe115=0x0;_0x1fe115<this[_0x40b8fb(0x2b6)];_0x1fe115++){var _0x86791f=this['randomParticle'](new _0x115791());this[_0x40b8fb(0x2da)][_0x40b8fb(0x1cb)](_0x86791f);}this['canvasContext'][_0x40b8fb(0x20a)]=_0x40b8fb(0x22e),this[_0x40b8fb(0x1cd)][_0x40b8fb(0x2cc)]=0.6,this[_0x40b8fb(0x1b1)]();}},{'key':_0x28bbe6(0x26d),'value':function(){var _0x890235=_0x28bbe6;this[_0x890235(0x290)]&&(this[_0x890235(0x27f)]=[(this[_0x890235(0x290)]['xmax']-this[_0x890235(0x290)][_0x890235(0x1e5)])/this[_0x890235(0x2ce)],(this[_0x890235(0x290)][_0x890235(0x2eb)]-this[_0x890235(0x290)][_0x890235(0x1b7)])/this['speedRate']]);}},{'key':_0x28bbe6(0x1b1),'value':function(){var _0x38d6df=_0x28bbe6,_0xea8d67=this;if(this[_0x38d6df(0x1fc)]&&!(this[_0x38d6df(0x2da)][_0x38d6df(0x1c2)]<=0x0)){var _0xb0f081=null,_0xab3b9e=null,_0x3dc434=null;this[_0x38d6df(0x2da)][_0x38d6df(0x2ff)](function(_0x5c1795){var _0x2ade00=_0x38d6df;if(_0x5c1795['age']<=0x0&&_0xea8d67[_0x2ade00(0x1f1)](_0x5c1795),_0x5c1795[_0x2ade00(0x1da)]>0x0){var _0x4002f2=_0x5c1795[_0x2ade00(0x1e7)],_0x28f116=_0x5c1795['tlat'];(_0x3dc434=_0xea8d67[_0x2ade00(0x290)][_0x2ade00(0x1be)](_0x4002f2,_0x28f116))?(_0xb0f081=_0x4002f2+_0xea8d67[_0x2ade00(0x27f)][0x0]*_0x3dc434[0x0],_0xab3b9e=_0x28f116+_0xea8d67[_0x2ade00(0x27f)][0x1]*_0x3dc434[0x1],_0x5c1795['lng']=_0x4002f2,_0x5c1795[_0x2ade00(0x1f4)]=_0x28f116,_0x5c1795[_0x2ade00(0x1e7)]=_0xb0f081,_0x5c1795[_0x2ade00(0x23e)]=_0xab3b9e,_0x5c1795[_0x2ade00(0x1da)]--):_0x5c1795[_0x2ade00(0x1da)]=0x0;}}),this[_0x38d6df(0x292)]();}}},{'key':_0x28bbe6(0x30a),'value':function(_0x22909b,_0x12f1e1,_0x4fc846){var _0x1c5409=_0x28bbe6,_0xfef78d=_0x5a8349['Cartesian3'][_0x1c5409(0x1b8)](_0x22909b,_0x12f1e1,this[_0x1c5409(0x2f9)]),_0x1ce049=this[_0x1c5409(0x1ec)][_0x1c5409(0x2d9)];if(_0x1ce049[_0x1c5409(0x21a)]===_0x5a8349[_0x1c5409(0x29d)][_0x1c5409(0x25d)]&&!new _0x5a8349[(_0x1c5409(0x30b))](_0x1ce049[_0x1c5409(0x2f8)][_0x1c5409(0x1ae)],_0x1ce049[_0x1c5409(0x223)]['positionWC'])[_0x1c5409(0x1f9)](_0xfef78d))return _0x4fc846[_0x1c5409(0x1da)]=0x0,null;var _0x30def3=_0x5a8349[_0x1c5409(0x237)]['wgs84ToWindowCoordinates'](this['_map']['scene'],_0xfef78d);return _0x30def3?[_0x30def3['x'],_0x30def3['y']]:null;}},{'key':'_drawLines','value':function(){var _0x579c8f=_0x28bbe6,_0x2d0ce0=this,_0x131462=this['particles'];this[_0x579c8f(0x1cd)][_0x579c8f(0x1ac)]=_0x2d0ce0[_0x579c8f(0x1ac)],this[_0x579c8f(0x1cd)][_0x579c8f(0x281)]=_0x579c8f(0x1de),this[_0x579c8f(0x1cd)][_0x579c8f(0x2aa)](0x0,0x0,this['canvasWidth'],this[_0x579c8f(0x23a)]),this[_0x579c8f(0x1cd)][_0x579c8f(0x281)]=_0x579c8f(0x2a1),this[_0x579c8f(0x1cd)][_0x579c8f(0x2cc)]=0.9,this[_0x579c8f(0x1cd)][_0x579c8f(0x2ee)](),this['canvasContext'][_0x579c8f(0x23c)]=this['color'];var _0x19b0c0=this['_map'][_0x579c8f(0x2d9)][_0x579c8f(0x21a)]!==_0x5a8349[_0x579c8f(0x29d)][_0x579c8f(0x25d)];_0x131462[_0x579c8f(0x2ff)](function(_0x18dda2){var _0x520a4e=_0x579c8f,_0x592ff2=_0x2d0ce0[_0x520a4e(0x30a)](_0x18dda2[_0x520a4e(0x29c)],_0x18dda2[_0x520a4e(0x1f4)],_0x18dda2),_0x1df2e0=_0x2d0ce0[_0x520a4e(0x30a)](_0x18dda2[_0x520a4e(0x1e7)],_0x18dda2[_0x520a4e(0x23e)],_0x18dda2);if(null!=_0x592ff2&&null!=_0x1df2e0){var _0x4149d5=Math[_0x520a4e(0x25c)](_0x592ff2[0x0]-_0x1df2e0[0x0]);_0x19b0c0&&_0x4149d5>=_0x2d0ce0['canvasWidth']||(_0x2d0ce0[_0x520a4e(0x1cd)][_0x520a4e(0x2ad)](_0x592ff2[0x0],_0x592ff2[0x1]),_0x2d0ce0[_0x520a4e(0x1cd)]['lineTo'](_0x1df2e0[0x0],_0x1df2e0[0x1]));}}),this['canvasContext'][_0x579c8f(0x2e0)]();}},{'key':'randomParticle','value':function(_0x26e4d2){var _0x3eab36=_0x28bbe6;for(var _0x123c8d,_0x2d18bf,_0xbfb5cc=0x0;_0xbfb5cc<0x1e&&(_0x123c8d=this[_0x3eab36(0x290)]['getRandomLatLng'](),!((_0x2d18bf=this[_0x3eab36(0x290)][_0x3eab36(0x1be)](_0x123c8d['lng'],_0x123c8d[_0x3eab36(0x1f4)]))&&_0x2d18bf[0x2]>0x0));_0xbfb5cc++);if(!_0x2d18bf)return _0x26e4d2;var _0x2f9509=_0x123c8d['lng']+this[_0x3eab36(0x27f)][0x0]*_0x2d18bf[0x0],_0x206d92=_0x123c8d['lat']+this[_0x3eab36(0x27f)][0x1]*_0x2d18bf[0x1];return _0x26e4d2[_0x3eab36(0x29c)]=_0x123c8d[_0x3eab36(0x29c)],_0x26e4d2['lat']=_0x123c8d[_0x3eab36(0x1f4)],_0x26e4d2[_0x3eab36(0x1e7)]=_0x2f9509,_0x26e4d2[_0x3eab36(0x23e)]=_0x206d92,_0x26e4d2['age']=Math[_0x3eab36(0x2c9)](Math[_0x3eab36(0x219)]()*this[_0x3eab36(0x20f)]),_0x26e4d2;}},{'key':'clear','value':function(){var _0x4c8fe3=_0x28bbe6;this[_0x4c8fe3(0x2da)]=[],delete this['windField'],delete this[_0x4c8fe3(0x30e)];}}]),_0x4cd417;}(_0x39b5d3[_0x5eb631(0x1a1)][_0x5eb631(0x2b9)]);function _0x2196bd(_0x215fc5,_0x244897){var _0x1ef499=_0x5eb631;return _0x215fc5*Math[_0x1ef499(0x273)](_0x5a8349[_0x1ef499(0x2d0)][_0x1ef499(0x2b5)](_0x244897));}function _0x7174dd(_0x2b2bb9,_0x21a505){var _0x21a31f=_0x5eb631;return _0x2b2bb9*Math[_0x21a31f(0x2ac)](_0x5a8349[_0x21a31f(0x2d0)]['toRadians'](_0x21a505));}function _0x1e8843(_0x4ae435,_0x2cacbc){var _0x57db60=_0x5eb631;return Math[_0x57db60(0x244)](Math[_0x57db60(0x203)](_0x4ae435,0x2)+Math['pow'](_0x2cacbc,0x2));}function _0x46bd2f(_0x1b12fb,_0x26e0bc){var _0x1a53a3=_0x5eb631,_0x3b34ba=_0x5a8349[_0x1a53a3(0x2d0)]['toDegrees'](Math[_0x1a53a3(0x2c2)](_0x26e0bc,_0x1b12fb));return _0x3b34ba+=_0x3b34ba<0x0?0x168:0x0;}_0x39b5d3['LayerUtil']['register'](_0x5eb631(0x1ba),_0x91f534),_0x39b5d3[_0x5eb631(0x1a1)][_0x5eb631(0x25f)]=_0x91f534,_0x39b5d3['WindUtil']=_0x5ad7c0;}]));
31
31
 
32
32
  })(window);
33
33
 
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "mars3d-wind",
3
- "version": "3.1.22",
3
+ "version": "3.1.23",
4
4
  "description": "Mars3D平台插件,支持气象 风向图 功能插件",
5
5
  "main": "dist/mars3d-wind.js",
6
6
  "files": [
7
7
  "dist"
8
8
  ],
9
9
  "dependencies": {
10
- "mars3d": "^3.1.22",
10
+ "mars3d": "^3.1.23",
11
11
  "mars3d-cesium": "^1.89.0"
12
12
  },
13
13
  "devDependencies": {},