function a0_0x4906(){var _0x15eda3=['GeometryAttribute','reverse','latRange','updateSpeed','abs','length','RGBA','fragmentShaderSource','fromDegrees','nextTrailsColor','_removedHook','floor','valueOf','setData','frameTime','globeBoundingSphere','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}','clear','lonRange','NEAREST','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}','_speedRate','lon','TextureMinificationFilter','refreshTimer','visibility','BaseLayer','3090OzkjTb','scene','string','postProcessingSpeed','vertexShaderSource','data','resize','TextureMagnificationFilter','17163124wHONWX','518styuHA','1951239VEJBvB','831702wVaExm','windTextures','fillStyle','LayerUtil','4aNMYDs','createParticlesTextures','round','enumerable','execute','setAttribute','clampToLatitudeRange','viewerParameters','commandList','getDefaultRenderState','getFullscreenQuad','postProcessingPosition','//\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}','STATIC_DRAW','destroyObject','_onMap_preRenderEvent','EllipsoidalOccluder','THREE_PI_OVER_TWO','stroke','particleSystem','redraw','animateFrame','left','hidden','tlat','min','south','writable','27981MItMhN','dimensions','_maxAge','destroy','speedFactor','destroyParticlesTextures','getPixelSize','pixelSize','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}','applyViewerParameters','now','ymin','fixedHeight','PI_OVER_TWO','exports','unbindEvent','segmentsColor','defaultValue','Compute','primitiveType','rows','_addedHook','Sampler','height','dropRate','array','ShaderProgram','toDegrees','ellipsoid','vdata','function','SceneMode','DrawCommand','getV','Math','PrimitiveType','globe','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}','zIndex','BoundingSphere','_drawLines','wheel','PixelFormat','autoClear','frameRate','createTexture','remove','particlesRendering','getU','clearFramebuffers','88528IQvaPq','0px','depthMask','age','textures','visible','pointerEvents','calc_speedRate','trails','DepthFunction','_mountedHook','canvasContext','canvasWind','GeometryAttributes','getWind','mars3d-cesium','mod','constructor','PixelDatatype','mars3dWind','fromCache','drawingBufferHeight','getUVByPoint','_pointerEvents','getDirection','strokeStyle','layer','clearCommand','call','nextParticlesSpeed','Matrix4','randomizeParticles','createSegmentsGeometry','particlesNumber','add','pow','vertexArray','mouseMove','createWindTextures','__esModule','drawWind','style','wgs84ToWindowCoordinates','currentTrails','setPrototypeOf','5FLwbzV','BufferUsage','Cartesian3','prototype','CanvasWindLayer','uniformMap','cols','forEach','symbol','getSpeed','mouseUp','commandType','update','dropRateBump','ClearCommand','Draw','tlng','screen','LINEAR','addEventListener','currentParticlesSpeed','getUVByXY','commandToExecute','mode','getPrototypeOf','_calcUV','defined','getRandomLatLng','clientWidth','LUMINANCE','_createCanvas','removeChild','show','createRenderingFramebuffers','lighter','preRender','keys','PI_OVER_THREE','attributeLocations','segments','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}','log','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}','canvas','canvasResize','defineProperty','maxAge','none','colorNum','shaderProgram','PrimitiveCollection','grid','geometry','WindUtil','mouseDown','rawRenderState','amd','_particlesNumber','iterator','canrefresh','RGB','auto','mouse_move','applyUserInput','xmax','color','apply','key','SCENE3D','nextParticlesPosition','arrayBufferView','primitives','Framebuffer','ComputeCommand','push','clientHeight','getUserInput','particles','createRenderingPrimitives','sqrt','context','setGeometry','north','windData','_map','canvasWindy','OPAQUE','bindEvent','_onMapWhellEvent','bind','random','currentTrailsColor','randomBetween','Rectangle','lng','ShaderSource','isPointVisible','camera','particleHeight','mars3d','__proto__','cos','wind','options','createRawRenderState','all','Geometry','updatePosition','sin','object','mouse_down','east','canvasWidth','reverseY','toStringTag','position','ZERO','particlesTextureSize','depthTexture','getExtent','removeEventListener','outputTexture','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','FLOAT','updateViewerParameters','DISABLE_GL_POSITION_LOG_DEPTH','construct','particlesTextures','framebuffers','Texture','Color','colorTable','width','maxParticles','Module','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','hasOwnProperty','WindLayer','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}','Cesium','TRIANGLES','1204842GQnaDs','globalCompositeOperation','lineTo','ymax','preExecute','DEPTH_COMPONENT','_onMouseUpEvent','refreshParticles','undefined','fromGeometry','globeLayer','_onMouseDownEvent','updateDate','ComponentDatatype','toGridXY','value','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}','absolute','TWO_PI','createFramebuffer','cancelAnimationFrame','lineWidth','createRenderingTextures','framebuffer','_bilinearInterpolation','lat','userInput','particlesComputing','100%','addPrimitives','51325JyUSSO','blending','fillRect','max','globalAlpha','rgba(0,\x200,\x200,\x200.97)','_tomap','getColorTexture','container','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','segmentsDepth','nextTrails','drawingBufferWidth','particlesWind','windField','VertexArray','viewport','EventType','sham','currentParticlesPosition','Cartesian2','xmin','removeAll','_onMouseMoveEvent','lev','canvasHeight','_calcStep','speedRate','once','Pass','pointer-events','requestAnimationFrame','createComputingPrimitives','off','moveTo','default'];a0_0x4906=function(){return _0x15eda3;};return a0_0x4906();}function a0_0x7787(_0x25e27f,_0x78dca8){var _0x4906f0=a0_0x4906();return a0_0x7787=function(_0x7787c4,_0xe38fca){_0x7787c4=_0x7787c4-0x191;var _0x450c23=_0x4906f0[_0x7787c4];return _0x450c23;},a0_0x7787(_0x25e27f,_0x78dca8);}(function(_0x374dee,_0x16b42d){var _0x4fbc43=a0_0x7787,_0x26269d=_0x374dee();while(!![]){try{var _0x13c56e=parseInt(_0x4fbc43(0x1d5))/0x1+-parseInt(_0x4fbc43(0x21f))/0x2+-parseInt(_0x4fbc43(0x21e))/0x3*(parseInt(_0x4fbc43(0x223))/0x4)+-parseInt(_0x4fbc43(0x29e))/0x5*(parseInt(_0x4fbc43(0x1b7))/0x6)+parseInt(_0x4fbc43(0x21d))/0x7*(-parseInt(_0x4fbc43(0x271))/0x8)+parseInt(_0x4fbc43(0x23f))/0x9*(parseInt(_0x4fbc43(0x214))/0xa)+parseInt(_0x4fbc43(0x21c))/0xb;if(_0x13c56e===_0x16b42d)break;else _0x26269d['push'](_0x26269d['shift']());}catch(_0x52dd20){_0x26269d['push'](_0x26269d['shift']());}}}(a0_0x4906,0x76bbf),!function(_0x42fe35,_0x508900){var _0x594499=a0_0x7787;_0x594499(0x197)==typeof exports&&_0x594499(0x197)==typeof module?module[_0x594499(0x24d)]=_0x508900(require(_0x594499(0x280)),require(_0x594499(0x301))):'function'==typeof define&&define[_0x594499(0x2d6)]?define(_0x594499(0x284),['mars3d-cesium',_0x594499(0x301)],_0x508900):_0x594499(0x197)==typeof exports?exports['mars3dWind']=_0x508900(require(_0x594499(0x280)),require(_0x594499(0x301))):_0x42fe35[_0x594499(0x284)]=_0x508900(_0x42fe35[_0x594499(0x1b5)],_0x42fe35[_0x594499(0x301)]);}(window,function(_0x310eb0,_0x58871d){return function(_0x4ade35){var _0x27f39e={};function _0x5f481e(_0x445cfc){var _0x5b3f6e=a0_0x7787;if(_0x27f39e[_0x445cfc])return _0x27f39e[_0x445cfc][_0x5b3f6e(0x24d)];var _0x28799b=_0x27f39e[_0x445cfc]={'i':_0x445cfc,'l':!0x1,'exports':{}};return _0x4ade35[_0x445cfc][_0x5b3f6e(0x28d)](_0x28799b[_0x5b3f6e(0x24d)],_0x28799b,_0x28799b[_0x5b3f6e(0x24d)],_0x5f481e),_0x28799b['l']=!0x0,_0x28799b[_0x5b3f6e(0x24d)];}return _0x5f481e['m']=_0x4ade35,_0x5f481e['c']=_0x27f39e,_0x5f481e['d']=function(_0x25780,_0x1aa308,_0x4cc2f6){var _0x321322=a0_0x7787;_0x5f481e['o'](_0x25780,_0x1aa308)||Object[_0x321322(0x2cb)](_0x25780,_0x1aa308,{'enumerable':!0x0,'get':_0x4cc2f6});},_0x5f481e['r']=function(_0x5020db){var _0x401568=a0_0x7787;_0x401568(0x1bf)!=typeof Symbol&&Symbol[_0x401568(0x19c)]&&Object['defineProperty'](_0x5020db,Symbol[_0x401568(0x19c)],{'value':_0x401568(0x1b0)}),Object[_0x401568(0x2cb)](_0x5020db,_0x401568(0x298),{'value':!0x0});},_0x5f481e['t']=function(_0x5c2aaa,_0x1f262b){var _0x3b8cca=a0_0x7787;if(0x1&_0x1f262b&&(_0x5c2aaa=_0x5f481e(_0x5c2aaa)),0x8&_0x1f262b)return _0x5c2aaa;if(0x4&_0x1f262b&&'object'==typeof _0x5c2aaa&&_0x5c2aaa&&_0x5c2aaa[_0x3b8cca(0x298)])return _0x5c2aaa;var _0x191107=Object['create'](null);if(_0x5f481e['r'](_0x191107),Object['defineProperty'](_0x191107,_0x3b8cca(0x1f8),{'enumerable':!0x0,'value':_0x5c2aaa}),0x2&_0x1f262b&&_0x3b8cca(0x216)!=typeof _0x5c2aaa){for(var _0x3f5cde in _0x5c2aaa)_0x5f481e['d'](_0x191107,_0x3f5cde,function(_0x55fcc1){return _0x5c2aaa[_0x55fcc1];}['bind'](null,_0x3f5cde));}return _0x191107;},_0x5f481e['n']=function(_0x480a7e){var _0x24a387=a0_0x7787,_0x4d6a02=_0x480a7e&&_0x480a7e[_0x24a387(0x298)]?function(){var _0x22f7fe=_0x24a387;return _0x480a7e[_0x22f7fe(0x1f8)];}:function(){return _0x480a7e;};return _0x5f481e['d'](_0x4d6a02,'a',_0x4d6a02),_0x4d6a02;},_0x5f481e['o']=function(_0x28a28e,_0x41ec1b){var _0x3d2be1=a0_0x7787;return Object[_0x3d2be1(0x2a1)][_0x3d2be1(0x1b2)][_0x3d2be1(0x28d)](_0x28a28e,_0x41ec1b);},_0x5f481e['p']='',_0x5f481e(_0x5f481e['s']=0x14);}([function(_0x3e6742,_0x674a2b){var _0x10a91e=a0_0x7787;_0x3e6742[_0x10a91e(0x24d)]=_0x310eb0;},function(_0x4134f3,_0x5e1398){var _0x42b9f0=a0_0x7787;_0x4134f3[_0x42b9f0(0x24d)]=_0x58871d;},function(_0x33b31f,_0x23ce6b){var _0xeac6ad=a0_0x7787;_0x33b31f[_0xeac6ad(0x24d)]=function(_0x335102,_0x5e20c6){var _0x5c3de5=_0xeac6ad;if(!(_0x335102 instanceof _0x5e20c6))throw new TypeError(_0x5c3de5(0x1de));},_0x33b31f[_0xeac6ad(0x24d)][_0xeac6ad(0x298)]=!0x0,_0x33b31f[_0xeac6ad(0x24d)]['default']=_0x33b31f[_0xeac6ad(0x24d)];},function(_0x158c99,_0x5301e9){var _0xfe2ebb=a0_0x7787;function _0x4b8d66(_0x1129f2,_0x56f048){var _0x3d1a83=a0_0x7787;for(var _0x417564=0x0;_0x417564<_0x56f048[_0x3d1a83(0x1fe)];_0x417564++){var _0x20304c=_0x56f048[_0x417564];_0x20304c[_0x3d1a83(0x226)]=_0x20304c[_0x3d1a83(0x226)]||!0x1,_0x20304c['configurable']=!0x0,_0x3d1a83(0x1c6)in _0x20304c&&(_0x20304c[_0x3d1a83(0x23e)]=!0x0),Object[_0x3d1a83(0x2cb)](_0x1129f2,_0x20304c[_0x3d1a83(0x2e1)],_0x20304c);}}_0x158c99[_0xfe2ebb(0x24d)]=function(_0x14a6fc,_0x360d39,_0xa28ff0){var _0x2bce29=_0xfe2ebb;return _0x360d39&&_0x4b8d66(_0x14a6fc[_0x2bce29(0x2a1)],_0x360d39),_0xa28ff0&&_0x4b8d66(_0x14a6fc,_0xa28ff0),Object[_0x2bce29(0x2cb)](_0x14a6fc,_0x2bce29(0x2a1),{'writable':!0x1}),_0x14a6fc;},_0x158c99[_0xfe2ebb(0x24d)][_0xfe2ebb(0x298)]=!0x0,_0x158c99[_0xfe2ebb(0x24d)]['default']=_0x158c99[_0xfe2ebb(0x24d)];},function(_0x569336,_0x1c21fd){var _0x33d51e=a0_0x7787;function _0x40c597(_0x72eb5d){var _0xe6fabf=a0_0x7787;return _0x569336['exports']=_0x40c597=Object[_0xe6fabf(0x29d)]?Object[_0xe6fabf(0x2b6)]:function(_0x2ad2d1){var _0x4dc49f=_0xe6fabf;return _0x2ad2d1[_0x4dc49f(0x302)]||Object[_0x4dc49f(0x2b6)](_0x2ad2d1);},_0x569336['exports'][_0xe6fabf(0x298)]=!0x0,_0x569336[_0xe6fabf(0x24d)][_0xe6fabf(0x1f8)]=_0x569336['exports'],_0x40c597(_0x72eb5d);}_0x569336[_0x33d51e(0x24d)]=_0x40c597,_0x569336[_0x33d51e(0x24d)][_0x33d51e(0x298)]=!0x0,_0x569336[_0x33d51e(0x24d)][_0x33d51e(0x1f8)]=_0x569336[_0x33d51e(0x24d)];},function(_0xb67f4c,_0x18e68d,_0x34d859){var _0xaa81c0=a0_0x7787,_0x25114b=_0x34d859(0x11);_0xb67f4c[_0xaa81c0(0x24d)]=function(_0xa5ef5c,_0x431512){var _0x27ba29=_0xaa81c0;if(_0x27ba29(0x25d)!=typeof _0x431512&&null!==_0x431512)throw new TypeError(_0x27ba29(0x1b1));Object[_0x27ba29(0x2cb)](_0xa5ef5c,_0x27ba29(0x2a1),{'value':Object['create'](_0x431512&&_0x431512[_0x27ba29(0x2a1)],{'constructor':{'value':_0xa5ef5c,'writable':!0x0,'configurable':!0x0}}),'writable':!0x1}),_0x431512&&_0x25114b(_0xa5ef5c,_0x431512);},_0xb67f4c[_0xaa81c0(0x24d)][_0xaa81c0(0x298)]=!0x0,_0xb67f4c['exports'][_0xaa81c0(0x1f8)]=_0xb67f4c[_0xaa81c0(0x24d)];},function(_0x2c920c,_0x512a60,_0x1c5f55){var _0x18e4bd=a0_0x7787,_0x3c9615=_0x1c5f55(0x12)[_0x18e4bd(0x1f8)],_0x3fd525=_0x1c5f55(0x13);_0x2c920c[_0x18e4bd(0x24d)]=function(_0x20cb00,_0x121f20){var _0xa3ac44=_0x18e4bd;if(_0x121f20&&(_0xa3ac44(0x197)===_0x3c9615(_0x121f20)||_0xa3ac44(0x25d)==typeof _0x121f20))return _0x121f20;if(void 0x0!==_0x121f20)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');return _0x3fd525(_0x20cb00);},_0x2c920c['exports']['__esModule']=!0x0,_0x2c920c[_0x18e4bd(0x24d)]['default']=_0x2c920c['exports'];},function(_0x599084,_0x554d89){var _0x1f8622=a0_0x7787;_0x599084[_0x1f8622(0x24d)]=_0x1f8622(0x2c6);},function(_0x35d497,_0x44da2f){var _0x564edc=a0_0x7787;_0x35d497[_0x564edc(0x24d)]=_0x564edc(0x1b4);},function(_0x469fd6,_0x2b0008){var _0x282157=a0_0x7787;_0x469fd6[_0x282157(0x24d)]='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}';},function(_0x588121,_0x2301fc){var _0x4d573c=a0_0x7787;_0x588121['exports']=_0x4d573c(0x209);},function(_0x4d3250,_0x320ffb){var _0x5b2113=a0_0x7787;_0x4d3250['exports']=_0x5b2113(0x1c7);},function(_0x545dc6,_0x479b47){var _0x26534c=a0_0x7787;_0x545dc6[_0x26534c(0x24d)]=_0x26534c(0x22f);},function(_0x238992,_0x4ea7ba){var _0x248489=a0_0x7787;_0x238992[_0x248489(0x24d)]=_0x248489(0x247);},function(_0x7bdaa0,_0x274f57){var _0x4d5bdf=a0_0x7787;_0x7bdaa0[_0x4d5bdf(0x24d)]=_0x4d5bdf(0x20d);},function(_0x193eb5,_0x1fa33d){var _0x59c3da=a0_0x7787;_0x193eb5[_0x59c3da(0x24d)]=_0x59c3da(0x2c8);},function(_0x340891,_0x31d5d8){var _0x5dbef5=a0_0x7787;_0x340891[_0x5dbef5(0x24d)]=_0x5dbef5(0x264);},function(_0x466a53,_0x4af7b0){var _0x2b0048=a0_0x7787;function _0x1e12f1(_0x1e0560,_0x4a10b4){var _0x5aedc6=a0_0x7787;return _0x466a53[_0x5aedc6(0x24d)]=_0x1e12f1=Object[_0x5aedc6(0x29d)]||function(_0x43aaa7,_0x481dac){var _0x2a297d=_0x5aedc6;return _0x43aaa7[_0x2a297d(0x302)]=_0x481dac,_0x43aaa7;},_0x466a53[_0x5aedc6(0x24d)]['__esModule']=!0x0,_0x466a53[_0x5aedc6(0x24d)]['default']=_0x466a53['exports'],_0x1e12f1(_0x1e0560,_0x4a10b4);}_0x466a53['exports']=_0x1e12f1,_0x466a53[_0x2b0048(0x24d)][_0x2b0048(0x298)]=!0x0,_0x466a53[_0x2b0048(0x24d)][_0x2b0048(0x1f8)]=_0x466a53[_0x2b0048(0x24d)];},function(_0x215cdf,_0x519432){var _0x3e9eef=a0_0x7787;function _0x19f364(_0xfc4681){var _0xdb1036=a0_0x7787;return _0x215cdf[_0xdb1036(0x24d)]=_0x19f364='function'==typeof Symbol&&_0xdb1036(0x2a6)==typeof Symbol[_0xdb1036(0x2d8)]?function(_0x5cf5ec){return typeof _0x5cf5ec;}:function(_0x5e73fc){var _0x229d24=_0xdb1036;return _0x5e73fc&&'function'==typeof Symbol&&_0x5e73fc['constructor']===Symbol&&_0x5e73fc!==Symbol[_0x229d24(0x2a1)]?_0x229d24(0x2a6):typeof _0x5e73fc;},_0x215cdf[_0xdb1036(0x24d)][_0xdb1036(0x298)]=!0x0,_0x215cdf[_0xdb1036(0x24d)][_0xdb1036(0x1f8)]=_0x215cdf[_0xdb1036(0x24d)],_0x19f364(_0xfc4681);}_0x215cdf[_0x3e9eef(0x24d)]=_0x19f364,_0x215cdf[_0x3e9eef(0x24d)]['__esModule']=!0x0,_0x215cdf[_0x3e9eef(0x24d)]['default']=_0x215cdf['exports'];},function(_0x4eca56,_0x1838bc){var _0x479a99=a0_0x7787;_0x4eca56['exports']=function(_0x3c3d15){if(void 0x0===_0x3c3d15)throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');return _0x3c3d15;},_0x4eca56[_0x479a99(0x24d)]['__esModule']=!0x0,_0x4eca56[_0x479a99(0x24d)][_0x479a99(0x1f8)]=_0x4eca56[_0x479a99(0x24d)];},function(_0x369a3e,_0x2817c3,_0x4480ea){'use strict';var _0x447a1d=a0_0x7787;_0x4480ea['r'](_0x2817c3),_0x4480ea['d'](_0x2817c3,'WindLayer',function(){return _0x163309;}),_0x4480ea['d'](_0x2817c3,_0x447a1d(0x2a2),function(){return _0x603c12;}),_0x4480ea['d'](_0x2817c3,_0x447a1d(0x2d3),function(){return _0x8bf914;});var _0x8bf914={};_0x4480ea['r'](_0x8bf914),_0x4480ea['d'](_0x8bf914,_0x447a1d(0x26f),function(){return _0x38dab0;}),_0x4480ea['d'](_0x8bf914,_0x447a1d(0x260),function(){return _0x21bd83;}),_0x4480ea['d'](_0x8bf914,_0x447a1d(0x2a7),function(){return _0x2d8dbb;}),_0x4480ea['d'](_0x8bf914,_0x447a1d(0x289),function(){return _0x27224c;});var _0x3b1a55=_0x4480ea(0x1),_0x29adcd=_0x4480ea(0x2),_0x11d48=_0x4480ea['n'](_0x29adcd),_0x4fb8a9=_0x4480ea(0x3),_0x42974b=_0x4480ea['n'](_0x4fb8a9),_0x1b8587=_0x4480ea(0x5),_0x3c005c=_0x4480ea['n'](_0x1b8587),_0x2ca7e2=_0x4480ea(0x6),_0x4553df=_0x4480ea['n'](_0x2ca7e2),_0x352e3c=_0x4480ea(0x4),_0xd02e44=_0x4480ea['n'](_0x352e3c),_0x5eead4=_0x4480ea(0x0),_0x1f879c=(function(){var _0x2ff28b=_0x447a1d;function _0x120c3a(_0x2611bc){var _0x494336=a0_0x7787;_0x11d48()(this,_0x120c3a),this[_0x494336(0x2a9)]=_0x2611bc['commandType'],this[_0x494336(0x2d2)]=_0x2611bc[_0x494336(0x2d2)],this[_0x494336(0x2c4)]=_0x2611bc[_0x494336(0x2c4)],this[_0x494336(0x252)]=_0x2611bc[_0x494336(0x252)],this[_0x494336(0x2a3)]=_0x2611bc[_0x494336(0x2a3)],this['vertexShaderSource']=_0x2611bc[_0x494336(0x218)],this['fragmentShaderSource']=_0x2611bc[_0x494336(0x200)],this['rawRenderState']=_0x2611bc[_0x494336(0x2d5)],this[_0x494336(0x1ce)]=_0x2611bc[_0x494336(0x1ce)],this['outputTexture']=_0x2611bc[_0x494336(0x1a3)],this[_0x494336(0x26a)]=_0x5eead4[_0x494336(0x250)](_0x2611bc['autoClear'],!0x1),this[_0x494336(0x1bb)]=_0x2611bc[_0x494336(0x1bb)],this[_0x494336(0x2be)]=!0x0,this[_0x494336(0x2b4)]=void 0x0,this[_0x494336(0x28c)]=void 0x0,this[_0x494336(0x26a)]&&(this[_0x494336(0x28c)]=new _0x5eead4[(_0x494336(0x2ac))]({'color':new _0x5eead4[(_0x494336(0x1ac))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x494336(0x1ce)],'pass':_0x5eead4[_0x494336(0x1f2)][_0x494336(0x2f4)]}));}return _0x42974b()(_0x120c3a,[{'key':'createCommand','value':function(_0x33fe37){var _0x368b09=a0_0x7787;switch(this[_0x368b09(0x2a9)]){case'Draw':var _0x251b87=_0x5eead4[_0x368b09(0x1e4)][_0x368b09(0x1c0)]({'context':_0x33fe37,'geometry':this[_0x368b09(0x2d2)],'attributeLocations':this[_0x368b09(0x2c4)],'bufferUsage':_0x5eead4[_0x368b09(0x29f)][_0x368b09(0x230)]}),_0x4f08bb=_0x5eead4[_0x368b09(0x259)][_0x368b09(0x285)]({'context':_0x33fe37,'attributeLocations':this[_0x368b09(0x2c4)],'vertexShaderSource':this[_0x368b09(0x218)],'fragmentShaderSource':this['fragmentShaderSource']}),_0x4285d3=_0x5eead4['RenderState'][_0x368b09(0x285)](this[_0x368b09(0x2d5)]);return new _0x5eead4[(_0x368b09(0x25f))]({'owner':this,'vertexArray':_0x251b87,'primitiveType':this[_0x368b09(0x252)],'uniformMap':this['uniformMap'],'modelMatrix':_0x5eead4[_0x368b09(0x28f)]['IDENTITY'],'shaderProgram':_0x4f08bb,'framebuffer':this[_0x368b09(0x1ce)],'renderState':_0x4285d3,'pass':_0x5eead4[_0x368b09(0x1f2)][_0x368b09(0x2f4)]});case _0x368b09(0x251):return new _0x5eead4[(_0x368b09(0x2e7))]({'owner':this,'fragmentShaderSource':this[_0x368b09(0x200)],'uniformMap':this[_0x368b09(0x2a3)],'outputTexture':this[_0x368b09(0x1a3)],'persists':!0x0});}}},{'key':_0x2ff28b(0x2ef),'value':function(_0x454754,_0x441e73){var _0xac7894=_0x2ff28b;this[_0xac7894(0x2d2)]=_0x441e73;var _0x2ee5f6=_0x5eead4[_0xac7894(0x1e4)][_0xac7894(0x1c0)]({'context':_0x454754,'geometry':this[_0xac7894(0x2d2)],'attributeLocations':this[_0xac7894(0x2c4)],'bufferUsage':_0x5eead4[_0xac7894(0x29f)]['STATIC_DRAW']});this['commandToExecute'][_0xac7894(0x295)]=_0x2ee5f6;}},{'key':_0x2ff28b(0x2aa),'value':function(_0x42d729){var _0x273d17=_0x2ff28b;this[_0x273d17(0x2be)]&&_0x42d729['mode']==_0x5eead4[_0x273d17(0x25e)]['SCENE3D']&&(_0x5eead4['defined'](this[_0x273d17(0x2b4)])||(this['commandToExecute']=this['createCommand'](_0x42d729['context'])),_0x5eead4[_0x273d17(0x2b8)](this[_0x273d17(0x1bb)])&&this[_0x273d17(0x1bb)](),_0x5eead4[_0x273d17(0x2b8)](this[_0x273d17(0x28c)])&&_0x42d729[_0x273d17(0x22b)][_0x273d17(0x2e8)](this[_0x273d17(0x28c)]),_0x42d729[_0x273d17(0x22b)][_0x273d17(0x2e8)](this['commandToExecute']));}},{'key':'isDestroyed','value':function(){return!0x1;}},{'key':_0x2ff28b(0x242),'value':function(){var _0x56af21=_0x2ff28b;return _0x5eead4['defined'](this[_0x56af21(0x2b4)])&&(this[_0x56af21(0x2b4)][_0x56af21(0x2cf)]=this[_0x56af21(0x2b4)][_0x56af21(0x2cf)]&&this[_0x56af21(0x2b4)][_0x56af21(0x2cf)][_0x56af21(0x242)]()),_0x5eead4[_0x56af21(0x231)](this);}}]),_0x120c3a;}()),_0x9d55b7={'getFullscreenQuad':function(){var _0x2080b7=_0x447a1d;return new _0x5eead4['Geometry']({'attributes':new _0x5eead4['GeometryAttributes']({'position':new _0x5eead4[(_0x2080b7(0x1f9))]({'componentDatatype':_0x5eead4[_0x2080b7(0x1c4)][_0x2080b7(0x1a5)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x5eead4[(_0x2080b7(0x1f9))]({'componentDatatype':_0x5eead4['ComponentDatatype'][_0x2080b7(0x1a5)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x44f332,_0x2261bd){var _0x4270f3=_0x447a1d;if(_0x5eead4['defined'](_0x2261bd)){var _0x1efa78={};_0x1efa78[_0x4270f3(0x2e4)]=_0x2261bd,_0x44f332['source']=_0x1efa78;}return new _0x5eead4[(_0x4270f3(0x1ab))](_0x44f332);},'createFramebuffer':function(_0x38cafa,_0x173081,_0x5a391b){var _0x5a8cfd=_0x447a1d;return new _0x5eead4[(_0x5a8cfd(0x2e6))]({'context':_0x38cafa,'colorTextures':[_0x173081],'depthTexture':_0x5a391b});},'createRawRenderState':function(_0x14cb56){var _0x54b966=_0x447a1d,_0x2b363d={'viewport':_0x14cb56[_0x54b966(0x1e5)],'depthTest':_0x14cb56['depthTest'],'depthMask':_0x14cb56[_0x54b966(0x273)],'blending':_0x14cb56[_0x54b966(0x1d6)]};return _0x5eead4['Appearance'][_0x54b966(0x22c)](!0x0,!0x1,_0x2b363d);},'viewRectangleToLonLatRange':function(_0x401833){var _0x39f38a=_0x447a1d,_0x4a2f7c,_0x5e48a2,_0x2027e9={},_0x55b247=_0x5eead4['Math'][_0x39f38a(0x281)](_0x401833['west'],_0x5eead4[_0x39f38a(0x261)][_0x39f38a(0x1c9)]),_0x3c8727=_0x5eead4[_0x39f38a(0x261)][_0x39f38a(0x281)](_0x401833[_0x39f38a(0x199)],_0x5eead4['Math'][_0x39f38a(0x1c9)]),_0x18810a=_0x401833[_0x39f38a(0x1ae)];_0x18810a>_0x5eead4[_0x39f38a(0x261)][_0x39f38a(0x234)]?(_0x4a2f7c=0x0,_0x5e48a2=_0x5eead4[_0x39f38a(0x261)]['TWO_PI']):_0x3c8727-_0x55b247<_0x18810a?(_0x4a2f7c=_0x55b247,_0x5e48a2=_0x55b247+_0x18810a):(_0x4a2f7c=_0x55b247,_0x5e48a2=_0x3c8727),_0x2027e9[_0x39f38a(0x20f)]={'min':_0x5eead4[_0x39f38a(0x261)][_0x39f38a(0x25a)](_0x4a2f7c),'max':_0x5eead4[_0x39f38a(0x261)][_0x39f38a(0x25a)](_0x5e48a2)};var _0xf8b374=_0x401833[_0x39f38a(0x23d)],_0x890647=_0x401833[_0x39f38a(0x2f0)],_0x417931=_0x401833[_0x39f38a(0x256)],_0x16e0b2=_0x417931>_0x5eead4['Math']['PI']/0xc?_0x417931/0x2:0x0,_0x1c596e=_0x5eead4[_0x39f38a(0x261)][_0x39f38a(0x229)](_0xf8b374-_0x16e0b2),_0xe22591=_0x5eead4[_0x39f38a(0x261)]['clampToLatitudeRange'](_0x890647+_0x16e0b2);return _0x1c596e<-_0x5eead4[_0x39f38a(0x261)][_0x39f38a(0x2c3)]&&(_0x1c596e=-_0x5eead4['Math'][_0x39f38a(0x24c)]),_0xe22591>_0x5eead4[_0x39f38a(0x261)][_0x39f38a(0x2c3)]&&(_0xe22591=_0x5eead4[_0x39f38a(0x261)][_0x39f38a(0x24c)]),_0x2027e9[_0x39f38a(0x1d0)]={'min':_0x5eead4[_0x39f38a(0x261)][_0x39f38a(0x25a)](_0x1c596e),'max':_0x5eead4[_0x39f38a(0x261)]['toDegrees'](_0xe22591)},_0x2027e9;}},_0x155797=_0x4480ea(0x8),_0x27b61b=_0x4480ea['n'](_0x155797),_0x84827b=_0x4480ea(0x9),_0x1e009c=_0x4480ea['n'](_0x84827b),_0x317132=_0x4480ea(0x7),_0x355519=_0x4480ea['n'](_0x317132),_0x13ff16=_0x4480ea(0xa),_0x17402c=_0x4480ea['n'](_0x13ff16),_0x4dc1b1=_0x4480ea(0xb),_0x2d800d=_0x4480ea['n'](_0x4dc1b1),_0x19d33d=(function(){var _0x388408=_0x447a1d;function _0x28e52c(_0x2c665f,_0x29495b,_0x39ac75,_0x1905e2,_0x6c452e){var _0x38fb75=a0_0x7787;_0x11d48()(this,_0x28e52c),this[_0x38fb75(0x1cd)](_0x2c665f,_0x29495b),this[_0x38fb75(0x2bf)](_0x2c665f),this['createRenderingPrimitives'](_0x2c665f,_0x39ac75,_0x1905e2,_0x6c452e);}return _0x42974b()(_0x28e52c,[{'key':_0x388408(0x1cd),'value':function(_0x51f4af,_0x4cfb10){var _0x1bf6e5=_0x388408,_0x5ad541={'context':_0x51f4af,'width':_0x51f4af[_0x1bf6e5(0x1e1)],'height':_0x51f4af[_0x1bf6e5(0x286)],'pixelFormat':_0x5eead4[_0x1bf6e5(0x269)][_0x1bf6e5(0x1ff)],'pixelDatatype':_0x5eead4[_0x1bf6e5(0x283)]['UNSIGNED_BYTE']},_0x480b3c={'context':_0x51f4af,'width':_0x51f4af[_0x1bf6e5(0x1e1)],'height':_0x51f4af[_0x1bf6e5(0x286)],'pixelFormat':_0x5eead4[_0x1bf6e5(0x269)][_0x1bf6e5(0x1bc)],'pixelDatatype':_0x5eead4[_0x1bf6e5(0x283)]['UNSIGNED_INT']},_0x3d0cc5={'context':_0x51f4af,'width':_0x4cfb10['colorTable'][_0x1bf6e5(0x2ce)],'height':0x1,'pixelFormat':_0x5eead4[_0x1bf6e5(0x269)][_0x1bf6e5(0x2da)],'pixelDatatype':_0x5eead4[_0x1bf6e5(0x283)][_0x1bf6e5(0x1a5)],'sampler':new _0x5eead4[(_0x1bf6e5(0x255))]({'minificationFilter':_0x5eead4[_0x1bf6e5(0x210)][_0x1bf6e5(0x2b0)],'magnificationFilter':_0x5eead4[_0x1bf6e5(0x21b)][_0x1bf6e5(0x2b0)]})};this[_0x1bf6e5(0x275)]={'segmentsColor':_0x9d55b7[_0x1bf6e5(0x26c)](_0x5ad541),'segmentsDepth':_0x9d55b7[_0x1bf6e5(0x26c)](_0x480b3c),'currentTrailsColor':_0x9d55b7[_0x1bf6e5(0x26c)](_0x5ad541),'currentTrailsDepth':_0x9d55b7[_0x1bf6e5(0x26c)](_0x480b3c),'nextTrailsColor':_0x9d55b7[_0x1bf6e5(0x26c)](_0x5ad541),'nextTrailsDepth':_0x9d55b7[_0x1bf6e5(0x26c)](_0x480b3c),'colorTable':_0x9d55b7[_0x1bf6e5(0x26c)](_0x3d0cc5,_0x4cfb10['colorTable'][_0x1bf6e5(0x258)])};}},{'key':_0x388408(0x2bf),'value':function(_0x272620){var _0x3662de=_0x388408;this[_0x3662de(0x1aa)]={'segments':_0x9d55b7['createFramebuffer'](_0x272620,this['textures'][_0x3662de(0x24f)],this[_0x3662de(0x275)][_0x3662de(0x1df)]),'currentTrails':_0x9d55b7[_0x3662de(0x1ca)](_0x272620,this[_0x3662de(0x275)][_0x3662de(0x2f9)],this[_0x3662de(0x275)]['currentTrailsDepth']),'nextTrails':_0x9d55b7[_0x3662de(0x1ca)](_0x272620,this[_0x3662de(0x275)][_0x3662de(0x202)],this[_0x3662de(0x275)]['nextTrailsDepth'])};}},{'key':_0x388408(0x291),'value':function(_0x4de88d){var _0x246a53=_0x388408;for(var _0x42f8c0=[],_0x319319=0x0;_0x319319<_0x4de88d[_0x246a53(0x19f)];_0x319319++)for(var _0x4da20b=0x0;_0x4da20b<_0x4de88d[_0x246a53(0x19f)];_0x4da20b++)for(var _0x3a622b=0x0;_0x3a622b<0x4;_0x3a622b++)_0x42f8c0[_0x246a53(0x2e8)](_0x319319/_0x4de88d[_0x246a53(0x19f)]),_0x42f8c0[_0x246a53(0x2e8)](_0x4da20b/_0x4de88d[_0x246a53(0x19f)]);_0x42f8c0=new Float32Array(_0x42f8c0);for(var _0x213d2a=[],_0x3ce161=[-0x1,0x1],_0x372d7e=[-0x1,0x1],_0x231b16=0x0;_0x231b16<_0x4de88d[_0x246a53(0x1af)];_0x231b16++)for(var _0x4ca7f1=0x0;_0x4ca7f1<0x2;_0x4ca7f1++)for(var _0x1a1f9b=0x0;_0x1a1f9b<0x2;_0x1a1f9b++)_0x213d2a[_0x246a53(0x2e8)](_0x3ce161[_0x4ca7f1]),_0x213d2a['push'](_0x372d7e[_0x1a1f9b]),_0x213d2a[_0x246a53(0x2e8)](0x0);_0x213d2a=new Float32Array(_0x213d2a);for(var _0x37e799=0x6*_0x4de88d['maxParticles'],_0x142274=new Uint32Array(_0x37e799),_0x51f47a=0x0,_0x44958f=0x0,_0x5b0ede=0x0;_0x51f47a<_0x4de88d[_0x246a53(0x1af)];_0x51f47a++)_0x142274[_0x44958f++]=_0x5b0ede+0x0,_0x142274[_0x44958f++]=_0x5b0ede+0x1,_0x142274[_0x44958f++]=_0x5b0ede+0x2,_0x142274[_0x44958f++]=_0x5b0ede+0x2,_0x142274[_0x44958f++]=_0x5b0ede+0x1,_0x142274[_0x44958f++]=_0x5b0ede+0x3,_0x5b0ede+=0x4;return new _0x5eead4[(_0x246a53(0x194))]({'attributes':new _0x5eead4[(_0x246a53(0x27e))]({'st':new _0x5eead4['GeometryAttribute']({'componentDatatype':_0x5eead4[_0x246a53(0x1c4)][_0x246a53(0x1a5)],'componentsPerAttribute':0x2,'values':_0x42f8c0}),'normal':new _0x5eead4['GeometryAttribute']({'componentDatatype':_0x5eead4[_0x246a53(0x1c4)][_0x246a53(0x1a5)],'componentsPerAttribute':0x3,'values':_0x213d2a})}),'indices':_0x142274});}},{'key':_0x388408(0x2ec),'value':function(_0x21115b,_0x360d3d,_0x2b0fd9,_0x1e500b){var _0x5e20d6=_0x388408,_0x4d01bf=this;this[_0x5e20d6(0x2e5)]={'segments':new _0x1f879c({'commandType':_0x5e20d6(0x2ad),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this['createSegmentsGeometry'](_0x360d3d),'primitiveType':_0x5eead4[_0x5e20d6(0x262)][_0x5e20d6(0x1b6)],'uniformMap':{'currentParticlesPosition':function(){var _0x1ed6c4=_0x5e20d6;return _0x1e500b['particlesTextures'][_0x1ed6c4(0x1e8)];},'postProcessingPosition':function(){var _0x1458b7=_0x5e20d6;return _0x1e500b[_0x1458b7(0x1a9)]['postProcessingPosition'];},'postProcessingSpeed':function(){var _0x2ed04d=_0x5e20d6;return _0x1e500b[_0x2ed04d(0x1a9)][_0x2ed04d(0x217)];},'colorTable':function(){var _0x449c27=_0x5e20d6;return _0x4d01bf[_0x449c27(0x275)][_0x449c27(0x1ad)];},'aspect':function(){return _0x21115b['drawingBufferWidth']/_0x21115b['drawingBufferHeight'];},'pixelSize':function(){var _0x169a2f=_0x5e20d6;return _0x2b0fd9[_0x169a2f(0x246)];},'lineWidth':function(){var _0x47a71d=_0x5e20d6;return _0x360d3d[_0x47a71d(0x1cc)];},'particleHeight':function(){return _0x360d3d['particleHeight'];}},'vertexShaderSource':new _0x5eead4[(_0x5e20d6(0x2fd))]({'sources':[_0x27b61b['a']]}),'fragmentShaderSource':new _0x5eead4[(_0x5e20d6(0x2fd))]({'sources':[_0x1e009c['a']]}),'rawRenderState':_0x9d55b7['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x5e20d6(0x1aa)]['segments'],'autoClear':!0x0}),'trails':new _0x1f879c({'commandType':'Draw','attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x9d55b7[_0x5e20d6(0x22d)](),'primitiveType':_0x5eead4[_0x5e20d6(0x262)][_0x5e20d6(0x1b6)],'uniformMap':{'segmentsColorTexture':function(){var _0x3dbad7=_0x5e20d6;return _0x4d01bf[_0x3dbad7(0x275)][_0x3dbad7(0x24f)];},'segmentsDepthTexture':function(){var _0x1b2fbf=_0x5e20d6;return _0x4d01bf['textures'][_0x1b2fbf(0x1df)];},'currentTrailsColor':function(){var _0x12e275=_0x5e20d6;return _0x4d01bf[_0x12e275(0x1aa)][_0x12e275(0x29c)][_0x12e275(0x1dc)](0x0);},'trailsDepthTexture':function(){var _0x21fc45=_0x5e20d6;return _0x4d01bf[_0x21fc45(0x1aa)][_0x21fc45(0x29c)][_0x21fc45(0x1a0)];},'fadeOpacity':function(){return _0x360d3d['fadeOpacity'];}},'vertexShaderSource':new _0x5eead4[(_0x5e20d6(0x2fd))]({'defines':[_0x5e20d6(0x1a7)],'sources':[_0x355519['a']]}),'fragmentShaderSource':new _0x5eead4[(_0x5e20d6(0x2fd))]({'defines':[_0x5e20d6(0x1a4)],'sources':[_0x17402c['a']]}),'rawRenderState':_0x9d55b7[_0x5e20d6(0x192)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x5eead4[_0x5e20d6(0x27a)]['ALWAYS']},'depthMask':!0x0}),'framebuffer':this[_0x5e20d6(0x1aa)]['nextTrails'],'autoClear':!0x0,'preExecute':function(){var _0x5a5350=_0x5e20d6,_0x1881e3;_0x1881e3=_0x4d01bf[_0x5a5350(0x1aa)][_0x5a5350(0x29c)],_0x4d01bf['framebuffers'][_0x5a5350(0x29c)]=_0x4d01bf[_0x5a5350(0x1aa)][_0x5a5350(0x1e0)],_0x4d01bf[_0x5a5350(0x1aa)][_0x5a5350(0x1e0)]=_0x1881e3,_0x4d01bf[_0x5a5350(0x2e5)][_0x5a5350(0x279)][_0x5a5350(0x2b4)][_0x5a5350(0x1ce)]=_0x4d01bf[_0x5a5350(0x1aa)]['nextTrails'],_0x4d01bf[_0x5a5350(0x2e5)][_0x5a5350(0x279)]['clearCommand']['framebuffer']=_0x4d01bf[_0x5a5350(0x1aa)][_0x5a5350(0x1e0)];}}),'screen':new _0x1f879c({'commandType':_0x5e20d6(0x2ad),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x9d55b7['getFullscreenQuad'](),'primitiveType':_0x5eead4[_0x5e20d6(0x262)]['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){var _0x844b07=_0x5e20d6;return _0x4d01bf[_0x844b07(0x1aa)][_0x844b07(0x1e0)][_0x844b07(0x1dc)](0x0);},'trailsDepthTexture':function(){var _0x180482=_0x5e20d6;return _0x4d01bf[_0x180482(0x1aa)][_0x180482(0x1e0)]['depthTexture'];}},'vertexShaderSource':new _0x5eead4[(_0x5e20d6(0x2fd))]({'defines':[_0x5e20d6(0x1a7)],'sources':[_0x355519['a']]}),'fragmentShaderSource':new _0x5eead4[(_0x5e20d6(0x2fd))]({'defines':[_0x5e20d6(0x1a4)],'sources':[_0x2d800d['a']]}),'rawRenderState':_0x9d55b7[_0x5e20d6(0x192)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x28e52c;}()),_0x1d9c7f=_0x4480ea(0xc),_0x42d3b6=_0x4480ea['n'](_0x1d9c7f),_0x3848c3=_0x4480ea(0xd),_0x156a5a=_0x4480ea['n'](_0x3848c3),_0x41444c=_0x4480ea(0xe),_0x58416a=_0x4480ea['n'](_0x41444c),_0x4a3096=_0x4480ea(0xf),_0x47e73d=_0x4480ea['n'](_0x4a3096),_0x63e666=_0x4480ea(0x10),_0x40fba1=_0x4480ea['n'](_0x63e666),_0x2d2dc2=(function(){var _0x1b94e2=_0x447a1d;function _0x10aec0(_0x58ceaa,_0x19b1c0,_0x4b3b1b,_0x115d4b){var _0x1398e0=a0_0x7787;_0x11d48()(this,_0x10aec0),this[_0x1398e0(0x219)]=_0x19b1c0,this['createWindTextures'](_0x58ceaa,_0x19b1c0),this[_0x1398e0(0x224)](_0x58ceaa,_0x4b3b1b,_0x115d4b),this[_0x1398e0(0x1f5)](_0x19b1c0,_0x4b3b1b,_0x115d4b);}return _0x42974b()(_0x10aec0,[{'key':_0x1b94e2(0x297),'value':function(_0x49f58d,_0x3499a9){var _0x337e07=_0x1b94e2,_0x166ca2={'context':_0x49f58d,'width':_0x3499a9[_0x337e07(0x240)]['lon'],'height':_0x3499a9[_0x337e07(0x240)][_0x337e07(0x1d0)]*_0x3499a9['dimensions'][_0x337e07(0x1ed)],'pixelFormat':_0x5eead4[_0x337e07(0x269)][_0x337e07(0x2bb)],'pixelDatatype':_0x5eead4[_0x337e07(0x283)][_0x337e07(0x1a5)],'flipY':!0x1,'sampler':new _0x5eead4[(_0x337e07(0x255))]({'minificationFilter':_0x5eead4[_0x337e07(0x210)][_0x337e07(0x20c)],'magnificationFilter':_0x5eead4[_0x337e07(0x21b)][_0x337e07(0x20c)]})};this[_0x337e07(0x220)]={'U':_0x9d55b7[_0x337e07(0x26c)](_0x166ca2,_0x3499a9['U'][_0x337e07(0x258)]),'V':_0x9d55b7[_0x337e07(0x26c)](_0x166ca2,_0x3499a9['V'][_0x337e07(0x258)])};}},{'key':'createParticlesTextures','value':function(_0x4c1af3,_0x29da84,_0x4be6f5){var _0x4900de=_0x1b94e2,_0x319ab2={'context':_0x4c1af3,'width':_0x29da84['particlesTextureSize'],'height':_0x29da84[_0x4900de(0x19f)],'pixelFormat':_0x5eead4['PixelFormat'][_0x4900de(0x1ff)],'pixelDatatype':_0x5eead4[_0x4900de(0x283)][_0x4900de(0x1a5)],'flipY':!0x1,'sampler':new _0x5eead4[(_0x4900de(0x255))]({'minificationFilter':_0x5eead4[_0x4900de(0x210)][_0x4900de(0x20c)],'magnificationFilter':_0x5eead4[_0x4900de(0x21b)][_0x4900de(0x20c)]})},_0x263487=this['randomizeParticles'](_0x29da84['maxParticles'],_0x4be6f5),_0x16085a=new Float32Array(0x4*_0x29da84[_0x4900de(0x1af)])['fill'](0x0);this[_0x4900de(0x1a9)]={'particlesWind':_0x9d55b7[_0x4900de(0x26c)](_0x319ab2),'currentParticlesPosition':_0x9d55b7['createTexture'](_0x319ab2,_0x263487),'nextParticlesPosition':_0x9d55b7[_0x4900de(0x26c)](_0x319ab2,_0x263487),'currentParticlesSpeed':_0x9d55b7['createTexture'](_0x319ab2,_0x16085a),'nextParticlesSpeed':_0x9d55b7[_0x4900de(0x26c)](_0x319ab2,_0x16085a),'postProcessingPosition':_0x9d55b7[_0x4900de(0x26c)](_0x319ab2,_0x263487),'postProcessingSpeed':_0x9d55b7[_0x4900de(0x26c)](_0x319ab2,_0x16085a)};}},{'key':_0x1b94e2(0x290),'value':function(_0x23148e,_0x51d98c){var _0x1233af=_0x1b94e2;for(var _0x506d53=new Float32Array(0x4*_0x23148e),_0x424d8d=0x0;_0x424d8d<_0x23148e;_0x424d8d++)_0x506d53[0x4*_0x424d8d]=_0x5eead4[_0x1233af(0x261)]['randomBetween'](_0x51d98c[_0x1233af(0x20b)]['x'],_0x51d98c[_0x1233af(0x20b)]['y']),_0x506d53[0x4*_0x424d8d+0x1]=_0x5eead4[_0x1233af(0x261)]['randomBetween'](_0x51d98c['latRange']['x'],_0x51d98c[_0x1233af(0x1fb)]['y']),_0x506d53[0x4*_0x424d8d+0x2]=_0x5eead4[_0x1233af(0x261)][_0x1233af(0x2fa)](this[_0x1233af(0x219)][_0x1233af(0x1ed)][_0x1233af(0x23c)],this[_0x1233af(0x219)][_0x1233af(0x1ed)][_0x1233af(0x1d8)]),_0x506d53[0x4*_0x424d8d+0x3]=0x0;return _0x506d53;}},{'key':_0x1b94e2(0x244),'value':function(){var _0x49e955=_0x1b94e2,_0x3cf342=this;Object[_0x49e955(0x2c2)](this[_0x49e955(0x1a9)])[_0x49e955(0x2a5)](function(_0x14ec72){var _0x43659f=_0x49e955;_0x3cf342[_0x43659f(0x1a9)][_0x14ec72][_0x43659f(0x242)]();});}},{'key':_0x1b94e2(0x1f5),'value':function(_0x3d11a6,_0x34e8b6,_0x4034a9){var _0x3b0a52=_0x1b94e2,_0x2f918c=new _0x5eead4[(_0x3b0a52(0x2a0))](_0x3d11a6['dimensions'][_0x3b0a52(0x20f)],_0x3d11a6['dimensions'][_0x3b0a52(0x1d0)],_0x3d11a6[_0x3b0a52(0x240)]['lev']),_0x5668ec=new _0x5eead4[(_0x3b0a52(0x2a0))](_0x3d11a6[_0x3b0a52(0x20f)][_0x3b0a52(0x23c)],_0x3d11a6[_0x3b0a52(0x1d0)][_0x3b0a52(0x23c)],_0x3d11a6[_0x3b0a52(0x1ed)][_0x3b0a52(0x23c)]),_0x1ef460=new _0x5eead4[(_0x3b0a52(0x2a0))](_0x3d11a6[_0x3b0a52(0x20f)][_0x3b0a52(0x1d8)],_0x3d11a6[_0x3b0a52(0x1d0)][_0x3b0a52(0x1d8)],_0x3d11a6['lev'][_0x3b0a52(0x1d8)]),_0x27fc59=new _0x5eead4['Cartesian3']((_0x1ef460['x']-_0x5668ec['x'])/(_0x2f918c['x']-0x1),(_0x1ef460['y']-_0x5668ec['y'])/(_0x2f918c['y']-0x1),_0x2f918c['z']>0x1?(_0x1ef460['z']-_0x5668ec['z'])/(_0x2f918c['z']-0x1):0x1),_0x193671=new _0x5eead4[(_0x3b0a52(0x1e9))](_0x3d11a6['U'][_0x3b0a52(0x23c)],_0x3d11a6['U'][_0x3b0a52(0x1d8)]),_0x24899e=new _0x5eead4['Cartesian2'](_0x3d11a6['V']['min'],_0x3d11a6['V']['max']),_0xa75069=this;this['primitives']={'getWind':new _0x1f879c({'commandType':_0x3b0a52(0x251),'uniformMap':{'U':function(){var _0xa83742=_0x3b0a52;return _0xa75069[_0xa83742(0x220)]['U'];},'V':function(){return _0xa75069['windTextures']['V'];},'currentParticlesPosition':function(){var _0x8d6eb0=_0x3b0a52;return _0xa75069['particlesTextures'][_0x8d6eb0(0x1e8)];},'dimension':function(){return _0x2f918c;},'minimum':function(){return _0x5668ec;},'maximum':function(){return _0x1ef460;},'interval':function(){return _0x27fc59;}},'fragmentShaderSource':new _0x5eead4[(_0x3b0a52(0x2fd))]({'sources':[_0x42d3b6['a']]}),'outputTexture':this[_0x3b0a52(0x1a9)]['particlesWind'],'preExecute':function(){var _0x5f1bb2=_0x3b0a52;_0xa75069[_0x5f1bb2(0x2e5)][_0x5f1bb2(0x27f)][_0x5f1bb2(0x2b4)][_0x5f1bb2(0x1a3)]=_0xa75069[_0x5f1bb2(0x1a9)][_0x5f1bb2(0x1e2)];}}),'updateSpeed':new _0x1f879c({'commandType':_0x3b0a52(0x251),'uniformMap':{'currentParticlesSpeed':function(){var _0x1f857c=_0x3b0a52;return _0xa75069[_0x1f857c(0x1a9)][_0x1f857c(0x2b2)];},'particlesWind':function(){var _0x4a9e12=_0x3b0a52;return _0xa75069[_0x4a9e12(0x1a9)][_0x4a9e12(0x1e2)];},'uSpeedRange':function(){return _0x193671;},'vSpeedRange':function(){return _0x24899e;},'pixelSize':function(){var _0x46e73f=_0x3b0a52;return _0x4034a9[_0x46e73f(0x246)];},'speedFactor':function(){var _0x5c1558=_0x3b0a52;return _0x34e8b6[_0x5c1558(0x243)];}},'fragmentShaderSource':new _0x5eead4['ShaderSource']({'sources':[_0x156a5a['a']]}),'outputTexture':this['particlesTextures'][_0x3b0a52(0x28e)],'preExecute':function(){var _0x4455b1=_0x3b0a52,_0x50acf8;_0x50acf8=_0xa75069['particlesTextures']['currentParticlesSpeed'],_0xa75069[_0x4455b1(0x1a9)][_0x4455b1(0x2b2)]=_0xa75069[_0x4455b1(0x1a9)][_0x4455b1(0x217)],_0xa75069[_0x4455b1(0x1a9)][_0x4455b1(0x217)]=_0x50acf8,_0xa75069[_0x4455b1(0x2e5)][_0x4455b1(0x1fc)][_0x4455b1(0x2b4)]['outputTexture']=_0xa75069[_0x4455b1(0x1a9)][_0x4455b1(0x28e)];}}),'updatePosition':new _0x1f879c({'commandType':'Compute','uniformMap':{'currentParticlesPosition':function(){var _0x1f28d1=_0x3b0a52;return _0xa75069[_0x1f28d1(0x1a9)]['currentParticlesPosition'];},'currentParticlesSpeed':function(){var _0x3f137d=_0x3b0a52;return _0xa75069[_0x3f137d(0x1a9)][_0x3f137d(0x2b2)];}},'fragmentShaderSource':new _0x5eead4[(_0x3b0a52(0x2fd))]({'sources':[_0x58416a['a']]}),'outputTexture':this[_0x3b0a52(0x1a9)]['nextParticlesPosition'],'preExecute':function(){var _0x34d933=_0x3b0a52,_0x72657a;_0x72657a=_0xa75069[_0x34d933(0x1a9)][_0x34d933(0x1e8)],_0xa75069[_0x34d933(0x1a9)][_0x34d933(0x1e8)]=_0xa75069[_0x34d933(0x1a9)][_0x34d933(0x22e)],_0xa75069[_0x34d933(0x1a9)][_0x34d933(0x22e)]=_0x72657a,_0xa75069[_0x34d933(0x2e5)]['updatePosition'][_0x34d933(0x2b4)]['outputTexture']=_0xa75069['particlesTextures']['nextParticlesPosition'];}}),'postProcessingPosition':new _0x1f879c({'commandType':_0x3b0a52(0x251),'uniformMap':{'nextParticlesPosition':function(){var _0x2847ba=_0x3b0a52;return _0xa75069[_0x2847ba(0x1a9)][_0x2847ba(0x2e3)];},'nextParticlesSpeed':function(){var _0x4a8f97=_0x3b0a52;return _0xa75069['particlesTextures'][_0x4a8f97(0x28e)];},'lonRange':function(){return _0x4034a9['lonRange'];},'latRange':function(){return _0x4034a9['latRange'];},'randomCoefficient':function(){var _0x441136=_0x3b0a52,_0x11197c=Math[_0x441136(0x2f8)]();return _0x11197c;},'dropRate':function(){var _0x120c28=_0x3b0a52;return _0x34e8b6[_0x120c28(0x257)];},'dropRateBump':function(){var _0xccbc07=_0x3b0a52;return _0x34e8b6[_0xccbc07(0x2ab)];}},'fragmentShaderSource':new _0x5eead4['ShaderSource']({'sources':[_0x47e73d['a']]}),'outputTexture':this['particlesTextures'][_0x3b0a52(0x22e)],'preExecute':function(){var _0x5a46c7=_0x3b0a52;_0xa75069[_0x5a46c7(0x2e5)][_0x5a46c7(0x22e)]['commandToExecute']['outputTexture']=_0xa75069['particlesTextures'][_0x5a46c7(0x22e)];}}),'postProcessingSpeed':new _0x1f879c({'commandType':_0x3b0a52(0x251),'uniformMap':{'postProcessingPosition':function(){var _0x1c6bd4=_0x3b0a52;return _0xa75069[_0x1c6bd4(0x1a9)][_0x1c6bd4(0x22e)];},'nextParticlesSpeed':function(){var _0x201c42=_0x3b0a52;return _0xa75069[_0x201c42(0x1a9)]['nextParticlesSpeed'];}},'fragmentShaderSource':new _0x5eead4[(_0x3b0a52(0x2fd))]({'sources':[_0x40fba1['a']]}),'outputTexture':this[_0x3b0a52(0x1a9)][_0x3b0a52(0x217)],'preExecute':function(){var _0x231474=_0x3b0a52;_0xa75069[_0x231474(0x2e5)][_0x231474(0x217)][_0x231474(0x2b4)][_0x231474(0x1a3)]=_0xa75069['particlesTextures'][_0x231474(0x217)];}})};}}]),_0x10aec0;}()),_0x5f08b1=(function(){var _0x5ba37a=_0x447a1d;function _0x444075(_0x4d2e8b,_0x4164b0,_0x8fef0a,_0x1aa7fd){var _0x256124=a0_0x7787;_0x11d48()(this,_0x444075),this['context']=_0x4d2e8b,this[_0x256124(0x219)]=_0x4164b0,this[_0x256124(0x1d1)]=_0x8fef0a,this[_0x256124(0x22a)]=_0x1aa7fd,this['particlesComputing']=new _0x2d2dc2(this[_0x256124(0x2ee)],this[_0x256124(0x219)],this[_0x256124(0x1d1)],this[_0x256124(0x22a)]),this[_0x256124(0x26e)]=new _0x19d33d(this[_0x256124(0x2ee)],this[_0x256124(0x219)],this['userInput'],this[_0x256124(0x22a)],this[_0x256124(0x1d2)]);}return _0x42974b()(_0x444075,[{'key':_0x5ba37a(0x2ca),'value':function(_0x6bd6f7){var _0x416f44=_0x5ba37a,_0x1e72cb=this;this['particlesComputing'][_0x416f44(0x244)](),Object[_0x416f44(0x2c2)](this[_0x416f44(0x1d2)][_0x416f44(0x220)])[_0x416f44(0x2a5)](function(_0x44d41d){var _0x192736=_0x416f44;_0x1e72cb[_0x192736(0x1d2)][_0x192736(0x220)][_0x44d41d][_0x192736(0x242)]();}),this[_0x416f44(0x26e)][_0x416f44(0x275)]['colorTable'][_0x416f44(0x242)](),Object[_0x416f44(0x2c2)](this[_0x416f44(0x26e)][_0x416f44(0x1aa)])[_0x416f44(0x2a5)](function(_0x4a2226){var _0x29dd88=_0x416f44;_0x1e72cb['particlesRendering'][_0x29dd88(0x1aa)][_0x4a2226][_0x29dd88(0x242)]();}),this[_0x416f44(0x2ee)]=_0x6bd6f7,this[_0x416f44(0x1d2)]=new _0x2d2dc2(this[_0x416f44(0x2ee)],this[_0x416f44(0x219)],this['userInput'],this['viewerParameters']),this['particlesRendering']=new _0x19d33d(this[_0x416f44(0x2ee)],this[_0x416f44(0x219)],this[_0x416f44(0x1d1)],this[_0x416f44(0x22a)],this[_0x416f44(0x1d2)]);}},{'key':_0x5ba37a(0x270),'value':function(){var _0x4bb08e=_0x5ba37a,_0x42b3de=this,_0x616470=new _0x5eead4[(_0x4bb08e(0x2ac))]({'color':new _0x5eead4['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x5eead4['Pass'][_0x4bb08e(0x2f4)]});Object[_0x4bb08e(0x2c2)](this[_0x4bb08e(0x26e)][_0x4bb08e(0x1aa)])[_0x4bb08e(0x2a5)](function(_0x36788a){var _0x496d36=_0x4bb08e;_0x616470['framebuffer']=_0x42b3de[_0x496d36(0x26e)][_0x496d36(0x1aa)][_0x36788a],_0x616470[_0x496d36(0x227)](_0x42b3de['context']);});}},{'key':_0x5ba37a(0x1be),'value':function(_0x15f781){var _0x50a374=_0x5ba37a;if(this[_0x50a374(0x270)](),this['particlesComputing'][_0x50a374(0x244)](),this[_0x50a374(0x1d2)][_0x50a374(0x224)](this[_0x50a374(0x2ee)],this[_0x50a374(0x1d1)],this[_0x50a374(0x22a)]),_0x15f781){var _0x3b1b04=this['particlesRendering']['createSegmentsGeometry'](this['userInput']);this[_0x50a374(0x26e)]['primitives'][_0x50a374(0x2c5)]['geometry']=_0x3b1b04;var _0x4a54e0=_0x5eead4[_0x50a374(0x1e4)]['fromGeometry']({'context':this['context'],'geometry':_0x3b1b04,'attributeLocations':this['particlesRendering']['primitives'][_0x50a374(0x2c5)][_0x50a374(0x2c4)],'bufferUsage':_0x5eead4['BufferUsage']['STATIC_DRAW']});this[_0x50a374(0x26e)][_0x50a374(0x2e5)][_0x50a374(0x2c5)][_0x50a374(0x2b4)][_0x50a374(0x295)]=_0x4a54e0;}}},{'key':_0x5ba37a(0x2dd),'value':function(_0x4c5787){var _0x4560e4=_0x5ba37a,_0x1054aa=this,_0x3c17d4=!0x1;this[_0x4560e4(0x1d1)]['maxParticles']!=_0x4c5787[_0x4560e4(0x1af)]&&(_0x3c17d4=!0x0),Object[_0x4560e4(0x2c2)](_0x4c5787)[_0x4560e4(0x2a5)](function(_0x397b76){_0x1054aa['userInput'][_0x397b76]=_0x4c5787[_0x397b76];}),this[_0x4560e4(0x1be)](_0x3c17d4);}},{'key':_0x5ba37a(0x248),'value':function(_0x24998b){var _0x424403=_0x5ba37a,_0x38abff=this;Object['keys'](_0x24998b)[_0x424403(0x2a5)](function(_0x1c102d){var _0x3174f9=_0x424403;_0x38abff[_0x3174f9(0x22a)][_0x1c102d]=_0x24998b[_0x1c102d];}),this['refreshParticles'](!0x1);}}]),_0x444075;}());function _0xcc2f0(_0x4cfd3b){var _0x395d64=(function(){var _0x3d5b56=a0_0x7787;if(_0x3d5b56(0x1bf)==typeof Reflect||!Reflect[_0x3d5b56(0x1a8)])return!0x1;if(Reflect[_0x3d5b56(0x1a8)][_0x3d5b56(0x1e7)])return!0x1;if(_0x3d5b56(0x25d)==typeof Proxy)return!0x0;try{return Boolean[_0x3d5b56(0x2a1)][_0x3d5b56(0x205)][_0x3d5b56(0x28d)](Reflect[_0x3d5b56(0x1a8)](Boolean,[],function(){})),!0x0;}catch(_0x332f33){return!0x1;}}());return function(){var _0x249b0e=a0_0x7787,_0x37138d,_0x4c763f=_0xd02e44()(_0x4cfd3b);if(_0x395d64){var _0x1941eb=_0xd02e44()(this)[_0x249b0e(0x282)];_0x37138d=Reflect['construct'](_0x4c763f,arguments,_0x1941eb);}else _0x37138d=_0x4c763f[_0x249b0e(0x2e0)](this,arguments);return _0x4553df()(this,_0x37138d);};}var _0xeb45e2=_0x3b1a55['layer'][_0x447a1d(0x213)],_0x1417ca=0x1000,_0x1fc83a=0x64,_0x1ae735=0.996,_0x4927df=0.003,_0x58ebd6=0.01,_0x675b8f=0.5,_0x5151c8=0x2,_0x163309=function(_0xfb4b8a){var _0x5ea8c0=_0x447a1d;_0x3c005c()(_0x16c71a,_0xfb4b8a);var _0x5450c0=_0xcc2f0(_0x16c71a);function _0x16c71a(){var _0x394db1=a0_0x7787,_0x44ea75,_0x1c4a50=arguments[_0x394db1(0x1fe)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x11d48()(this,_0x16c71a),(_0x44ea75=_0x5450c0[_0x394db1(0x28d)](this,_0x1c4a50))['maxParticles']=_0x1417ca,_0x44ea75[_0x394db1(0x300)]=_0x1fc83a,_0x44ea75['fadeOpacity']=_0x1ae735,_0x44ea75[_0x394db1(0x257)]=_0x4927df,_0x44ea75[_0x394db1(0x2ab)]=_0x58ebd6,_0x44ea75[_0x394db1(0x243)]=_0x675b8f,_0x44ea75[_0x394db1(0x1cc)]=_0x5151c8,_0x1c4a50){for(var _0x1eaafc in _0x1c4a50)_0x44ea75[_0x1eaafc]=_0x1c4a50[_0x1eaafc];}return _0x44ea75;}return _0x42974b()(_0x16c71a,[{'key':_0x5ea8c0(0x28b),'get':function(){var _0x1eeeb0=_0x5ea8c0;return this[_0x1eeeb0(0x2e5)];}},{'key':_0x5ea8c0(0x27b),'value':function(){}},{'key':_0x5ea8c0(0x254),'value':function(){var _0x578cc3=_0x5ea8c0;this[_0x578cc3(0x215)]=this[_0x578cc3(0x2f2)][_0x578cc3(0x215)],this[_0x578cc3(0x2ff)]=this[_0x578cc3(0x2f2)]['camera'],this[_0x578cc3(0x2e5)]=new _0x5eead4[(_0x578cc3(0x2d0))](),this['_map'][_0x578cc3(0x215)][_0x578cc3(0x2e5)][_0x578cc3(0x293)](this['primitives']),this[_0x578cc3(0x22a)]={'lonRange':new _0x5eead4[(_0x578cc3(0x1e9))](),'latRange':new _0x5eead4[(_0x578cc3(0x1e9))](),'pixelSize':0x0},this['globeBoundingSphere']=new _0x5eead4[(_0x578cc3(0x266))](_0x5eead4[_0x578cc3(0x2a0)][_0x578cc3(0x19e)],6314355.63),this[_0x578cc3(0x1a6)](),window[_0x578cc3(0x2b1)](_0x578cc3(0x21a),this[_0x578cc3(0x21a)][_0x578cc3(0x2f7)](this),!0x1),this[_0x578cc3(0x198)]=!0x1,this[_0x578cc3(0x2dc)]=!0x1,this[_0x578cc3(0x2f2)]['on'](_0x3b1a55[_0x578cc3(0x1e6)][_0x578cc3(0x268)],this[_0x578cc3(0x2f6)],this),this[_0x578cc3(0x2f2)]['on'](_0x3b1a55[_0x578cc3(0x1e6)][_0x578cc3(0x2d4)],this[_0x578cc3(0x1c2)],this),this[_0x578cc3(0x2f2)]['on'](_0x3b1a55['EventType'][_0x578cc3(0x2a8)],this[_0x578cc3(0x1bd)],this),this[_0x578cc3(0x2f2)]['on'](_0x3b1a55[_0x578cc3(0x1e6)][_0x578cc3(0x296)],this[_0x578cc3(0x1ec)],this);}},{'key':_0x5ea8c0(0x203),'value':function(){var _0x3c2060=_0x5ea8c0;window[_0x3c2060(0x1a2)](_0x3c2060(0x21a),this[_0x3c2060(0x21a)]),this['_map'][_0x3c2060(0x1f6)](_0x3b1a55[_0x3c2060(0x1e6)][_0x3c2060(0x2c1)],this[_0x3c2060(0x232)],this),this['_map'][_0x3c2060(0x1f6)](_0x3b1a55[_0x3c2060(0x1e6)]['wheel'],this[_0x3c2060(0x2f6)],this),this[_0x3c2060(0x2f2)][_0x3c2060(0x1f6)](_0x3b1a55[_0x3c2060(0x1e6)][_0x3c2060(0x2d4)],this[_0x3c2060(0x1c2)],this),this[_0x3c2060(0x2f2)][_0x3c2060(0x1f6)](_0x3b1a55[_0x3c2060(0x1e6)][_0x3c2060(0x2a8)],this[_0x3c2060(0x1bd)],this),this[_0x3c2060(0x2f2)]['off'](_0x3b1a55[_0x3c2060(0x1e6)]['mouseMove'],this[_0x3c2060(0x1ec)],this),this[_0x3c2060(0x2e5)]['removeAll'](),this[_0x3c2060(0x2f2)]['scene'][_0x3c2060(0x2e5)][_0x3c2060(0x26d)](this['primitives']);}},{'key':_0x5ea8c0(0x21a),'value':function(){var _0x4d28b9=_0x5ea8c0;this[_0x4d28b9(0x2be)]&&this[_0x4d28b9(0x236)]&&(this[_0x4d28b9(0x2e5)][_0x4d28b9(0x2be)]=!0x1,this['primitives'][_0x4d28b9(0x1eb)](),this[_0x4d28b9(0x2f2)][_0x4d28b9(0x1f1)](_0x3b1a55[_0x4d28b9(0x1e6)][_0x4d28b9(0x2c1)],this[_0x4d28b9(0x232)],this));}},{'key':_0x5ea8c0(0x232),'value':function(_0x4d9ef7){var _0x1c3a93=_0x5ea8c0;this[_0x1c3a93(0x236)][_0x1c3a93(0x2ca)](this['scene'][_0x1c3a93(0x2ee)]),this[_0x1c3a93(0x1d4)](),this['primitives'][_0x1c3a93(0x2be)]=!0x0;}},{'key':_0x5ea8c0(0x2f6),'value':function(_0x35a744){var _0x3b9d86=_0x5ea8c0,_0x5417fd=this;clearTimeout(this[_0x3b9d86(0x211)]),this['show']&&this[_0x3b9d86(0x236)]&&(this[_0x3b9d86(0x2e5)][_0x3b9d86(0x2be)]=!0x1,this[_0x3b9d86(0x211)]=setTimeout(function(){var _0x3bffc4=_0x3b9d86;_0x5417fd[_0x3bffc4(0x2be)]&&_0x5417fd[_0x3bffc4(0x237)]();},0xc8));}},{'key':_0x5ea8c0(0x1c2),'value':function(_0x3bd6de){var _0x15b174=_0x5ea8c0;this[_0x15b174(0x198)]=!0x0;}},{'key':_0x5ea8c0(0x1ec),'value':function(_0x1e6524){var _0x2c4e28=_0x5ea8c0;this[_0x2c4e28(0x2be)]&&this[_0x2c4e28(0x236)]&&this[_0x2c4e28(0x198)]&&(this[_0x2c4e28(0x2e5)][_0x2c4e28(0x2be)]=!0x1,this['mouse_move']=!0x0);}},{'key':_0x5ea8c0(0x1bd),'value':function(_0x2abaed){var _0x56383a=_0x5ea8c0;this[_0x56383a(0x2be)]&&this[_0x56383a(0x236)]&&(this[_0x56383a(0x198)]&&this[_0x56383a(0x2dc)]&&this['redraw'](),this[_0x56383a(0x2e5)][_0x56383a(0x2be)]=!0x0,this[_0x56383a(0x198)]=!0x1,this[_0x56383a(0x2dc)]=!0x1);}},{'key':_0x5ea8c0(0x237),'value':function(){var _0x1d92ef=_0x5ea8c0;this[_0x1d92ef(0x2f2)]&&this['show']&&(this[_0x1d92ef(0x1a6)](),this[_0x1d92ef(0x236)][_0x1d92ef(0x248)](this['viewerParameters']),this[_0x1d92ef(0x2e5)]['show']=!0x0);}},{'key':_0x5ea8c0(0x206),'value':function(_0x46683f){var _0x1cce59=_0x5ea8c0;this['particleSystem']=new _0x5f08b1(this[_0x1cce59(0x215)][_0x1cce59(0x2ee)],_0x46683f,this[_0x1cce59(0x2ea)](),this[_0x1cce59(0x22a)]),this[_0x1cce59(0x1d4)]();}},{'key':'setOptions','value':function(_0x1cc35f){var _0x240bd6=_0x5ea8c0;if(_0x1cc35f){for(var _0xee72a1 in _0x1cc35f)this[_0xee72a1]=_0x1cc35f[_0xee72a1];}return this['particleSystem']&&this['particleSystem'][_0x240bd6(0x2dd)](this[_0x240bd6(0x2ea)]()),this;}},{'key':'getUserInput','value':function(){var _0x235dfd=_0x5ea8c0,_0x3219ed=Math['ceil'](Math[_0x235dfd(0x2ed)](this[_0x235dfd(0x1af)]));return this[_0x235dfd(0x1af)]=_0x3219ed*_0x3219ed,{'particlesTextureSize':_0x3219ed,'maxParticles':this[_0x235dfd(0x1af)],'particleHeight':this['particleHeight'],'fadeOpacity':this['fadeOpacity'],'dropRate':this[_0x235dfd(0x257)],'dropRateBump':this['dropRateBump'],'speedFactor':this['speedFactor'],'lineWidth':this[_0x235dfd(0x1cc)],'globeLayer':this[_0x235dfd(0x1c1)],'WMS_URL':this['WMS_URL']};}},{'key':_0x5ea8c0(0x1d4),'value':function(){var _0x23c882=_0x5ea8c0;this[_0x23c882(0x2e5)][_0x23c882(0x293)](this[_0x23c882(0x236)]['particlesComputing']['primitives'][_0x23c882(0x27f)]),this[_0x23c882(0x2e5)][_0x23c882(0x293)](this[_0x23c882(0x236)][_0x23c882(0x1d2)][_0x23c882(0x2e5)][_0x23c882(0x1fc)]),this['primitives'][_0x23c882(0x293)](this[_0x23c882(0x236)][_0x23c882(0x1d2)][_0x23c882(0x2e5)][_0x23c882(0x195)]),this[_0x23c882(0x2e5)][_0x23c882(0x293)](this['particleSystem'][_0x23c882(0x1d2)]['primitives'][_0x23c882(0x22e)]),this[_0x23c882(0x2e5)][_0x23c882(0x293)](this['particleSystem'][_0x23c882(0x1d2)][_0x23c882(0x2e5)]['postProcessingSpeed']),this[_0x23c882(0x2e5)][_0x23c882(0x293)](this[_0x23c882(0x236)][_0x23c882(0x26e)]['primitives']['segments']),this[_0x23c882(0x2e5)][_0x23c882(0x293)](this[_0x23c882(0x236)]['particlesRendering']['primitives'][_0x23c882(0x279)]),this[_0x23c882(0x2e5)][_0x23c882(0x293)](this['particleSystem'][_0x23c882(0x26e)][_0x23c882(0x2e5)][_0x23c882(0x2af)]);}},{'key':'updateViewerParameters','value':function(){var _0x34498d=_0x5ea8c0,_0x403aee=this[_0x34498d(0x2ff)]['computeViewRectangle'](this[_0x34498d(0x215)][_0x34498d(0x263)]['ellipsoid']);if(!_0x403aee){var _0x245a7f=this[_0x34498d(0x2f2)][_0x34498d(0x1a1)]();_0x403aee=_0x5eead4[_0x34498d(0x2fb)]['fromDegrees'](_0x245a7f[_0x34498d(0x1ea)],_0x245a7f['ymin'],_0x245a7f['xmax'],_0x245a7f[_0x34498d(0x1ba)]);}var _0x36ed4b=_0x9d55b7['viewRectangleToLonLatRange'](_0x403aee);this['viewerParameters'][_0x34498d(0x20b)]['x']=_0x36ed4b[_0x34498d(0x20f)][_0x34498d(0x23c)],this['viewerParameters'][_0x34498d(0x20b)]['y']=_0x36ed4b[_0x34498d(0x20f)][_0x34498d(0x1d8)],this['viewerParameters'][_0x34498d(0x1fb)]['x']=_0x36ed4b[_0x34498d(0x1d0)]['min'],this[_0x34498d(0x22a)][_0x34498d(0x1fb)]['y']=_0x36ed4b[_0x34498d(0x1d0)][_0x34498d(0x1d8)];var _0x2fa36a=this[_0x34498d(0x2ff)][_0x34498d(0x245)](this[_0x34498d(0x208)],this[_0x34498d(0x215)]['drawingBufferWidth'],this[_0x34498d(0x215)][_0x34498d(0x286)]);_0x2fa36a>0x0&&(this[_0x34498d(0x22a)][_0x34498d(0x246)]=_0x2fa36a);}}]),_0x16c71a;}(_0xeb45e2);_0x3b1a55[_0x447a1d(0x222)]['register'](_0x447a1d(0x304),_0x163309),_0x3b1a55[_0x447a1d(0x28b)][_0x447a1d(0x1b3)]=_0x163309;var _0x21e29a=_0x42974b()(function _0x411392(){var _0x4b3406=_0x447a1d;_0x11d48()(this,_0x411392),this[_0x4b3406(0x2fc)]=null,this[_0x4b3406(0x1d0)]=null,this[_0x4b3406(0x2ae)]=null,this[_0x4b3406(0x23b)]=null,this['age']=null;}),_0x3919a4=(function(){var _0x475786=_0x447a1d;function _0x9d72be(_0x3a40a2,_0x16ce46){var _0x31249f=a0_0x7787;_0x11d48()(this,_0x9d72be),this[_0x31249f(0x253)]=_0x3a40a2[_0x31249f(0x253)],this['cols']=_0x3a40a2[_0x31249f(0x2a4)],this[_0x31249f(0x1ea)]=_0x3a40a2[_0x31249f(0x1ea)],this[_0x31249f(0x2de)]=_0x3a40a2['xmax'],this['ymin']=_0x3a40a2[_0x31249f(0x24a)],this[_0x31249f(0x1ba)]=_0x3a40a2[_0x31249f(0x1ba)],this[_0x31249f(0x2d1)]=[];var _0x47ea08=_0x3a40a2['udata'],_0xea1468=_0x3a40a2[_0x31249f(0x25c)],_0x386da6=!0x1;_0x47ea08[_0x31249f(0x1fe)]===this[_0x31249f(0x253)]&&_0x47ea08[0x0][_0x31249f(0x1fe)]===this['cols']&&(_0x386da6=!0x0);for(var _0x4e80bb=0x0,_0x300884=null,_0x3286e3=null,_0x30adf2=0x0;_0x30adf2=this['cols']||_0x525287>=this[_0x3751fa(0x253)])return[0x0,0x0,0x0];var _0xf0c0de,_0x34122f,_0x2a502b=Math[_0x3751fa(0x204)](_0x284f90),_0x4b8d86=Math[_0x3751fa(0x204)](_0x525287);if(_0x2a502b===_0x284f90&&_0x4b8d86===_0x525287)return this['grid'][_0x525287][_0x284f90];_0xf0c0de=_0x2a502b+0x1,_0x34122f=_0x4b8d86+0x1;var _0x2ad258=this['getUVByXY'](_0x2a502b,_0x4b8d86),_0x41da86=this[_0x3751fa(0x2b3)](_0xf0c0de,_0x4b8d86),_0x4dfd86=this['getUVByXY'](_0x2a502b,_0x34122f),_0x5d37d1=this[_0x3751fa(0x2b3)](_0xf0c0de,_0x34122f),_0x5b1054=null;try{_0x5b1054=this[_0x3751fa(0x1cf)](_0x284f90-_0x2a502b,_0x525287-_0x4b8d86,_0x2ad258,_0x41da86,_0x4dfd86,_0x5d37d1);}catch(_0x19a572){console[_0x3751fa(0x2c7)](_0x284f90,_0x525287);}return _0x5b1054;}},{'key':_0x475786(0x1cf),'value':function(_0x5b836b,_0x3ed55f,_0x1f0a99,_0x662b7c,_0x204488,_0x8106ae){var _0x1da767=0x1-_0x5b836b,_0x388ed1=0x1-_0x3ed55f,_0x48d27f=_0x1da767*_0x388ed1,_0x4b5875=_0x5b836b*_0x388ed1,_0x93fba1=_0x1da767*_0x3ed55f,_0x412316=_0x5b836b*_0x3ed55f,_0x56b321=_0x1f0a99[0x0]*_0x48d27f+_0x662b7c[0x0]*_0x4b5875+_0x204488[0x0]*_0x93fba1+_0x8106ae[0x0]*_0x412316,_0x4d91ee=_0x1f0a99[0x1]*_0x48d27f+_0x662b7c[0x1]*_0x4b5875+_0x204488[0x1]*_0x93fba1+_0x8106ae[0x1]*_0x412316;return this['_calcUV'](_0x56b321,_0x4d91ee);}},{'key':'_calcUV','value':function(_0x144f28,_0x3060a0){var _0x216139=_0x475786;return[+_0x144f28,+_0x3060a0,Math[_0x216139(0x2ed)](_0x144f28*_0x144f28+_0x3060a0*_0x3060a0)];}},{'key':_0x475786(0x287),'value':function(_0xa5c011,_0x531e46){var _0x4d1269=_0x475786;if(!this['isInExtent'](_0xa5c011,_0x531e46))return null;var _0x2b0ca1=this[_0x4d1269(0x1c5)](_0xa5c011,_0x531e46);return this['getUVByXY'](_0x2b0ca1['x'],_0x2b0ca1['y']);}},{'key':'isInExtent','value':function(_0x4f11ed,_0x348009){var _0x2e6cfe=_0x475786;return _0x4f11ed>=this[_0x2e6cfe(0x1ea)]&&_0x4f11ed<=this[_0x2e6cfe(0x2de)]&&_0x348009>=this['ymin']&&_0x348009<=this['ymax'];}},{'key':'getRandomLatLng','value':function(){var _0x3973b9=_0x475786,_0x5820e3=_0x57fb1e(this[_0x3973b9(0x1ea)],this['xmax']);return{'lat':_0x57fb1e(this['ymin'],this[_0x3973b9(0x1ba)]),'lng':_0x5820e3};}}]),_0x9d72be;}());function _0x57fb1e(_0x10dfb1,_0x2c27ad){var _0x5ba629=_0x447a1d;return _0x10dfb1+Math[_0x5ba629(0x2f8)]()*(_0x2c27ad-_0x10dfb1);}function _0x4fdfad(_0x51f263){var _0x2acca1=(function(){var _0x4da3b6=a0_0x7787;if('undefined'==typeof Reflect||!Reflect[_0x4da3b6(0x1a8)])return!0x1;if(Reflect[_0x4da3b6(0x1a8)][_0x4da3b6(0x1e7)])return!0x1;if('function'==typeof Proxy)return!0x0;try{return Boolean[_0x4da3b6(0x2a1)]['valueOf'][_0x4da3b6(0x28d)](Reflect['construct'](Boolean,[],function(){})),!0x0;}catch(_0x5e61bf){return!0x1;}}());return function(){var _0x48555e=a0_0x7787,_0x246d6c,_0x4e4bc4=_0xd02e44()(_0x51f263);if(_0x2acca1){var _0x2e7f19=_0xd02e44()(this)[_0x48555e(0x282)];_0x246d6c=Reflect[_0x48555e(0x1a8)](_0x4e4bc4,arguments,_0x2e7f19);}else _0x246d6c=_0x4e4bc4['apply'](this,arguments);return _0x4553df()(this,_0x246d6c);};}var _0x603c12=function(_0x419f78){var _0x10839f=_0x447a1d;_0x3c005c()(_0xce320,_0x419f78);var _0x3efa15=_0x4fdfad(_0xce320);function _0xce320(){var _0x2091a5=a0_0x7787,_0x5a07bb,_0x369f70=arguments[_0x2091a5(0x1fe)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x11d48()(this,_0xce320),(_0x5a07bb=_0x3efa15['call'](this,_0x369f70))[_0x2091a5(0x278)]=[0x0,0x0],_0x5a07bb[_0x2091a5(0x2eb)]=[],_0x5a07bb[_0x2091a5(0x1f0)]=_0x369f70[_0x2091a5(0x1f0)]||0x32,_0x5a07bb[_0x2091a5(0x2d7)]=_0x369f70[_0x2091a5(0x292)]||0x4e20,_0x5a07bb[_0x2091a5(0x241)]=_0x369f70[_0x2091a5(0x2cc)]||0x78,_0x5a07bb[_0x2091a5(0x207)]=0x3e8/(_0x369f70[_0x2091a5(0x26b)]||0xa),_0x5a07bb[_0x2091a5(0x288)]=_0x5eead4[_0x2091a5(0x250)](_0x5a07bb[_0x2091a5(0x191)]['pointerEvents'],!0x1),_0x5a07bb[_0x2091a5(0x2df)]=_0x369f70[_0x2091a5(0x2df)]||'#ffffff',_0x5a07bb[_0x2091a5(0x1cc)]=_0x369f70[_0x2091a5(0x1cc)]||0x1,_0x5a07bb[_0x2091a5(0x24b)]=_0x5eead4[_0x2091a5(0x250)](_0x369f70[_0x2091a5(0x24b)],0x0),_0x5a07bb[_0x2091a5(0x19b)]=_0x5eead4['defaultValue'](_0x369f70[_0x2091a5(0x19b)],!0x1),_0x5a07bb[_0x2091a5(0x2c9)]=null,_0x5a07bb;}return _0x42974b()(_0xce320,[{'key':_0x10839f(0x28b),'get':function(){var _0x1be6dd=_0x10839f;return this[_0x1be6dd(0x2c9)];}},{'key':_0x10839f(0x19a),'get':function(){var _0x56b4fd=_0x10839f;return this['_map']['scene']['canvas'][_0x56b4fd(0x2ba)];}},{'key':_0x10839f(0x1ee),'get':function(){var _0x343dce=_0x10839f;return this['_map'][_0x343dce(0x215)][_0x343dce(0x2c9)][_0x343dce(0x2e9)];}},{'key':_0x10839f(0x277),'get':function(){var _0x15fea4=_0x10839f;return this[_0x15fea4(0x288)];},'set':function(_0x34132f){var _0x5cd1e6=_0x10839f;this[_0x5cd1e6(0x288)]=_0x34132f,this[_0x5cd1e6(0x2c9)]&&(this[_0x5cd1e6(0x2c9)][_0x5cd1e6(0x29a)][_0x5cd1e6(0x1f3)]=_0x34132f?_0x5cd1e6(0x193):_0x5cd1e6(0x2cd));}},{'key':_0x10839f(0x1f0),'get':function(){var _0x36e062=_0x10839f;return this[_0x36e062(0x20e)];},'set':function(_0x2910b6){var _0x516a03=_0x10839f;this['_speedRate']=0x64*(0x64-(_0x2910b6>0x63?0x63:_0x2910b6)),this[_0x516a03(0x1ef)]();}},{'key':_0x10839f(0x292),'get':function(){var _0x53a8e6=_0x10839f;return this[_0x53a8e6(0x2d7)];},'set':function(_0x36d07f){var _0x5699a6=_0x10839f,_0x41bae0=this;this['_particlesNumber']=_0x36d07f,clearTimeout(this[_0x5699a6(0x2d9)]),this[_0x5699a6(0x2d9)]=setTimeout(function(){var _0xd85705=_0x5699a6;_0x41bae0[_0xd85705(0x237)]();},0x1f4);}},{'key':_0x10839f(0x2cc),'get':function(){return this['_maxAge'];},'set':function(_0x282459){var _0x5d2173=this;this['_maxAge']=_0x282459,clearTimeout(this['canrefresh']),this['canrefresh']=setTimeout(function(){_0x5d2173['redraw']();},0x1f4);}},{'key':_0x10839f(0x219),'get':function(){var _0x523648=_0x10839f;return this[_0x523648(0x2f1)];},'set':function(_0x270314){var _0xbe3bce=_0x10839f;this[_0xbe3bce(0x1c3)](_0x270314);}},{'key':'_showHook','value':function(_0x2597d6){var _0x35a9cd=_0x10839f;_0x2597d6?this[_0x35a9cd(0x254)]():(this['windData']&&(this[_0x35a9cd(0x191)][_0x35a9cd(0x219)]=this[_0x35a9cd(0x2f1)]),this['_removedHook']());}},{'key':'_mountedHook','value':function(){}},{'key':_0x10839f(0x254),'value':function(){var _0x12137a=_0x10839f;this[_0x12137a(0x2c9)]=this[_0x12137a(0x2bc)](),this['canvasContext']=this[_0x12137a(0x2c9)]['getContext']('2d'),this['bindEvent'](),this[_0x12137a(0x191)][_0x12137a(0x219)]&&this[_0x12137a(0x1c3)](this[_0x12137a(0x191)]['data']);}},{'key':_0x10839f(0x203),'value':function(){var _0xc7b47a=_0x10839f;this[_0xc7b47a(0x20a)](),this[_0xc7b47a(0x24e)](),this[_0xc7b47a(0x2c9)]&&(this['_map'][_0xc7b47a(0x1dd)][_0xc7b47a(0x2bd)](this['canvas']),delete this[_0xc7b47a(0x2c9)]);}},{'key':'_createCanvas','value':function(){var _0x228b3e=_0x10839f,_0x290be1=document['createElement']('canvas');_0x290be1[_0x228b3e(0x29a)][_0x228b3e(0x19d)]=_0x228b3e(0x1c8),_0x290be1[_0x228b3e(0x29a)]['top']=_0x228b3e(0x272),_0x290be1[_0x228b3e(0x29a)][_0x228b3e(0x239)]=_0x228b3e(0x272),_0x290be1['style'][_0x228b3e(0x1ae)]=_0x228b3e(0x1d3),_0x290be1[_0x228b3e(0x29a)]['height']=_0x228b3e(0x1d3),_0x290be1['style'][_0x228b3e(0x277)]=this['_pointerEvents']?_0x228b3e(0x2db):'none',_0x290be1[_0x228b3e(0x29a)][_0x228b3e(0x265)]=0xa,_0x290be1['setAttribute']('id',_0x228b3e(0x2f3)),_0x290be1[_0x228b3e(0x228)]('class','canvasWindy'),this[_0x228b3e(0x2f2)][_0x228b3e(0x1dd)]['appendChild'](_0x290be1);var _0x22d773=this[_0x228b3e(0x2f2)][_0x228b3e(0x215)];return _0x290be1['width']=_0x22d773[_0x228b3e(0x2c9)][_0x228b3e(0x2ba)],_0x290be1['height']=_0x22d773[_0x228b3e(0x2c9)][_0x228b3e(0x2e9)],_0x290be1;}},{'key':_0x10839f(0x21a),'value':function(){var _0x41e32d=_0x10839f;this[_0x41e32d(0x2c9)]&&(this[_0x41e32d(0x2c9)][_0x41e32d(0x1ae)]=this['canvasWidth'],this['canvas'][_0x41e32d(0x256)]=this[_0x41e32d(0x1ee)]);}},{'key':_0x10839f(0x2f5),'value':function(){var _0xca747c=_0x10839f,_0x200dfb=this,_0x556797=Date[_0xca747c(0x249)]();!function _0x12e3d6(){var _0x2040b4=_0xca747c;_0x200dfb[_0x2040b4(0x238)]=window[_0x2040b4(0x1f4)](_0x12e3d6);var _0x564044=Date['now'](),_0x523d82=_0x564044-_0x556797;_0x523d82>_0x200dfb['frameTime']&&(_0x556797=_0x564044-_0x523d82%_0x200dfb[_0x2040b4(0x207)],_0x200dfb['update']());}(),window['addEventListener'](_0xca747c(0x21a),this[_0xca747c(0x21a)][_0xca747c(0x2f7)](this),!0x1),this['mouse_down']=!0x1,this['mouse_move']=!0x1,this['_map']['on'](_0x3b1a55[_0xca747c(0x1e6)][_0xca747c(0x268)],this[_0xca747c(0x2f6)],this),this['_map']['on'](_0x3b1a55[_0xca747c(0x1e6)][_0xca747c(0x2d4)],this[_0xca747c(0x1c2)],this),this[_0xca747c(0x2f2)]['on'](_0x3b1a55[_0xca747c(0x1e6)][_0xca747c(0x2a8)],this[_0xca747c(0x1bd)],this),this[_0xca747c(0x2f2)]['on'](_0x3b1a55[_0xca747c(0x1e6)]['mouseMove'],this['_onMouseMoveEvent'],this);}},{'key':_0x10839f(0x24e),'value':function(){var _0x334e16=_0x10839f;window[_0x334e16(0x1cb)](this[_0x334e16(0x238)]),delete this['animateFrame'],window['removeEventListener'](_0x334e16(0x21a),this['resize']),this['_map']['off'](_0x3b1a55[_0x334e16(0x1e6)][_0x334e16(0x268)],this[_0x334e16(0x2f6)],this),this[_0x334e16(0x2f2)][_0x334e16(0x1f6)](_0x3b1a55[_0x334e16(0x1e6)][_0x334e16(0x2d4)],this[_0x334e16(0x1c2)],this),this[_0x334e16(0x2f2)][_0x334e16(0x1f6)](_0x3b1a55[_0x334e16(0x1e6)]['mouseUp'],this['_onMouseUpEvent'],this),this[_0x334e16(0x2f2)]['off'](_0x3b1a55[_0x334e16(0x1e6)][_0x334e16(0x296)],this[_0x334e16(0x1ec)],this);}},{'key':_0x10839f(0x2f6),'value':function(_0x224108){var _0x1b960f=_0x10839f,_0x120cc9=this;clearTimeout(this[_0x1b960f(0x211)]),this[_0x1b960f(0x2be)]&&this['canvas']&&(this[_0x1b960f(0x2c9)][_0x1b960f(0x29a)][_0x1b960f(0x212)]=_0x1b960f(0x23a),this['refreshTimer']=setTimeout(function(){var _0x530715=_0x1b960f;_0x120cc9[_0x530715(0x2be)]&&(_0x120cc9[_0x530715(0x237)](),_0x120cc9['canvas']['style'][_0x530715(0x212)]=_0x530715(0x276));},0xc8));}},{'key':_0x10839f(0x1c2),'value':function(_0x1abe8b){var _0x470692=_0x10839f;this[_0x470692(0x198)]=!0x0;}},{'key':_0x10839f(0x1ec),'value':function(_0x38840b){var _0x4d9475=_0x10839f;this[_0x4d9475(0x2be)]&&this[_0x4d9475(0x2c9)]&&this[_0x4d9475(0x198)]&&(this[_0x4d9475(0x2c9)][_0x4d9475(0x29a)][_0x4d9475(0x212)]=_0x4d9475(0x23a),this['mouse_move']=!0x0);}},{'key':'_onMouseUpEvent','value':function(_0x8e7cde){var _0x5044fe=_0x10839f;this[_0x5044fe(0x2be)]&&this[_0x5044fe(0x2c9)]&&(this[_0x5044fe(0x198)]&&this['mouse_move']&&this[_0x5044fe(0x237)](),this['canvas'][_0x5044fe(0x29a)][_0x5044fe(0x212)]='visible',this[_0x5044fe(0x198)]=!0x1,this['mouse_move']=!0x1);}},{'key':_0x10839f(0x237),'value':function(){var _0x3684f6=_0x10839f;this[_0x3684f6(0x2be)]&&this[_0x3684f6(0x1e3)]&&(this['particles']=[],this[_0x3684f6(0x299)]());}},{'key':'updateDate','value':function(_0x228dd3){var _0x31d63a=_0x10839f;this[_0x31d63a(0x20a)](),this[_0x31d63a(0x2f1)]=_0x228dd3,this[_0x31d63a(0x1e3)]=new _0x3919a4(this['windData'],this['reverseY']),this[_0x31d63a(0x299)]();}},{'key':_0x10839f(0x299),'value':function(){var _0x14823b=_0x10839f;this[_0x14823b(0x1ef)]();for(var _0x16d253=0x0;_0x16d2530x0){var _0x65a8d4=_0xd189ba[_0x49cd93(0x2ae)],_0x2416a6=_0xd189ba[_0x49cd93(0x23b)];(_0x2b7775=_0x519f16['windField'][_0x49cd93(0x287)](_0x65a8d4,_0x2416a6))?(_0x67edff=_0x65a8d4+_0x519f16[_0x49cd93(0x278)][0x0]*_0x2b7775[0x0],_0x53479f=_0x2416a6+_0x519f16[_0x49cd93(0x278)][0x1]*_0x2b7775[0x1],_0xd189ba['lng']=_0x65a8d4,_0xd189ba['lat']=_0x2416a6,_0xd189ba['tlng']=_0x67edff,_0xd189ba[_0x49cd93(0x23b)]=_0x53479f,_0xd189ba[_0x49cd93(0x274)]--):_0xd189ba[_0x49cd93(0x274)]=0x0;}}),this['_drawLines']();}}},{'key':_0x10839f(0x1db),'value':function(_0x514414,_0x570f37,_0x1ff531){var _0x4317e2=_0x10839f,_0x33777f=_0x5eead4['Cartesian3'][_0x4317e2(0x201)](_0x514414,_0x570f37,this[_0x4317e2(0x24b)]),_0xbbceb=this[_0x4317e2(0x2f2)][_0x4317e2(0x215)];if(_0xbbceb[_0x4317e2(0x2b5)]===_0x5eead4['SceneMode'][_0x4317e2(0x2e2)]&&!new _0x5eead4[(_0x4317e2(0x233))](_0xbbceb[_0x4317e2(0x263)][_0x4317e2(0x25b)],_0xbbceb[_0x4317e2(0x2ff)]['positionWC'])[_0x4317e2(0x2fe)](_0x33777f))return _0x1ff531['age']=0x0,null;var _0x57a435=_0x5eead4['SceneTransforms'][_0x4317e2(0x29b)](this['_map'][_0x4317e2(0x215)],_0x33777f);return _0x57a435?[_0x57a435['x'],_0x57a435['y']]:null;}},{'key':_0x10839f(0x267),'value':function(){var _0x207521=_0x10839f,_0x537c2f=this,_0x323d06=this['particles'];this['canvasContext']['lineWidth']=_0x537c2f[_0x207521(0x1cc)],this[_0x207521(0x27c)][_0x207521(0x1b8)]='destination-in',this[_0x207521(0x27c)][_0x207521(0x1d7)](0x0,0x0,this[_0x207521(0x19a)],this['canvasHeight']),this[_0x207521(0x27c)][_0x207521(0x1b8)]=_0x207521(0x2c0),this[_0x207521(0x27c)][_0x207521(0x1d9)]=0.9,this[_0x207521(0x27c)]['beginPath'](),this[_0x207521(0x27c)][_0x207521(0x28a)]=this[_0x207521(0x2df)];var _0x43c71e=this[_0x207521(0x2f2)][_0x207521(0x215)]['mode']!==_0x5eead4['SceneMode'][_0x207521(0x2e2)];_0x323d06[_0x207521(0x2a5)](function(_0x37cf60){var _0x270927=_0x207521,_0x4ab1d1=_0x537c2f['_tomap'](_0x37cf60[_0x270927(0x2fc)],_0x37cf60['lat'],_0x37cf60),_0x3293af=_0x537c2f[_0x270927(0x1db)](_0x37cf60[_0x270927(0x2ae)],_0x37cf60[_0x270927(0x23b)],_0x37cf60);if(null!=_0x4ab1d1&&null!=_0x3293af){var _0x386937=Math[_0x270927(0x1fd)](_0x4ab1d1[0x0]-_0x3293af[0x0]);_0x43c71e&&_0x386937>=_0x537c2f[_0x270927(0x19a)]||(_0x537c2f[_0x270927(0x27c)][_0x270927(0x1f7)](_0x4ab1d1[0x0],_0x4ab1d1[0x1]),_0x537c2f[_0x270927(0x27c)][_0x270927(0x1b9)](_0x3293af[0x0],_0x3293af[0x1]));}}),this['canvasContext'][_0x207521(0x235)]();}},{'key':'randomParticle','value':function(_0x5ab118){var _0x4be6cf=_0x10839f;for(var _0x3d2e15,_0x243d01,_0x155b62=0x0;_0x155b62<0x1e&&(_0x3d2e15=this[_0x4be6cf(0x1e3)][_0x4be6cf(0x2b9)](),!((_0x243d01=this['windField']['getUVByPoint'](_0x3d2e15[_0x4be6cf(0x2fc)],_0x3d2e15[_0x4be6cf(0x1d0)]))&&_0x243d01[0x2]>0x0));_0x155b62++);if(!_0x243d01)return _0x5ab118;var _0x5b5b52=_0x3d2e15[_0x4be6cf(0x2fc)]+this['calc_speedRate'][0x0]*_0x243d01[0x0],_0x1b4b46=_0x3d2e15[_0x4be6cf(0x1d0)]+this[_0x4be6cf(0x278)][0x1]*_0x243d01[0x1];return _0x5ab118[_0x4be6cf(0x2fc)]=_0x3d2e15[_0x4be6cf(0x2fc)],_0x5ab118['lat']=_0x3d2e15[_0x4be6cf(0x1d0)],_0x5ab118[_0x4be6cf(0x2ae)]=_0x5b5b52,_0x5ab118[_0x4be6cf(0x23b)]=_0x1b4b46,_0x5ab118['age']=Math[_0x4be6cf(0x225)](Math[_0x4be6cf(0x2f8)]()*this['maxAge']),_0x5ab118;}},{'key':_0x10839f(0x20a),'value':function(){var _0x3b9824=_0x10839f;this[_0x3b9824(0x2eb)]=[],delete this[_0x3b9824(0x1e3)],delete this['windData'];}}]),_0xce320;}(_0x3b1a55[_0x447a1d(0x28b)][_0x447a1d(0x213)]);function _0x38dab0(_0x31fdcf,_0x3f903d){var _0x4e6e84=_0x447a1d;return _0x31fdcf*Math[_0x4e6e84(0x303)](_0x5eead4['Math']['toRadians'](_0x3f903d));}function _0x21bd83(_0x349cf1,_0x31b995){var _0x583ff1=_0x447a1d;return _0x349cf1*Math[_0x583ff1(0x196)](_0x5eead4['Math']['toRadians'](_0x31b995));}function _0x2d8dbb(_0x4c9c64,_0x55857a){var _0x12bcf1=_0x447a1d;return Math['sqrt'](Math[_0x12bcf1(0x294)](_0x4c9c64,0x2)+Math[_0x12bcf1(0x294)](_0x55857a,0x2));}function _0x27224c(_0x34f85c,_0x3ab332){var _0xce2a1a=_0x447a1d,_0x43be88=_0x5eead4[_0xce2a1a(0x261)][_0xce2a1a(0x25a)](Math['atan2'](_0x3ab332,_0x34f85c));return _0x43be88+=_0x43be88<0x0?0x168:0x0;}_0x3b1a55[_0x447a1d(0x222)]['register'](_0x447a1d(0x27d),_0x603c12),_0x3b1a55[_0x447a1d(0x28b)][_0x447a1d(0x2a2)]=_0x603c12,_0x3b1a55[_0x447a1d(0x2d3)]=_0x8bf914;}]);}));