mars3d-wind 3.1.18 → 3.1.19
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.
- package/dist/mars3d-wind.js +3 -3
- package/package.json +3 -3
package/dist/mars3d-wind.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Mars3D平台插件,支持气象 风向图 功能插件
|
|
3
|
-
* 版本信息:v3.1.
|
|
4
|
-
* 编译日期:
|
|
3
|
+
* 版本信息:v3.1.19
|
|
4
|
+
* 编译日期:2022-01-02 13:46:17
|
|
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_0x268f(){var _0x2b694d=['applyViewerParameters','Cartesian3','canvasWind','speedRate','PI_OVER_THREE','wgs84ToWindowCoordinates','updatePosition','bindEvent','commandList','globe','now','110stWvFF','iterator','windField','Math','clear','LayerUtil','THREE_PI_OVER_TWO','ymax','nextTrailsColor','position','fillRect','toRadians','defineProperty','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','removeEventListener','windTextures','nextTrails','source','randomizeParticles','Geometry','framebuffers','show','lineWidth','Color','FLOAT','setGeometry','prototype','rows','clientWidth','bind','canvasWindy','ShaderSource','mouseMove','north','particleSystem','frameRate','3774vSyKBi','south','3041217ypLgvf','canrefresh','_createCanvas','rgba(0,\x200,\x200,\x200.97)','EventType','nextParticlesPosition','_calcStep','all','animateFrame','remove','drawingBufferHeight','lat','maxAge','100%','setPrototypeOf','push','particlesTextureSize','xmax','xmin','auto','_removedHook','getContext','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}','style','top','ComponentDatatype','mars3dWind','createRenderingFramebuffers','EllipsoidalOccluder','defaultValue','pow','fromDegrees','_particlesNumber','getDirection','createElement','removeAll','redraw','apply','refreshParticles','createCommand','getUVByXY','ComputeCommand','calc_speedRate','3156330wTZhoZ','LINEAR','SceneMode','toDegrees','forEach','trails','createRawRenderState','updateViewerParameters','DrawCommand','maxParticles','context','segments','requestAnimationFrame','nextTrailsDepth','isDestroyed','random','destroyParticlesTextures','Draw','vertexShaderSource','drawingBufferWidth','preRender','latRange','absolute','destroy','frameTime','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}','globalAlpha','applyUserInput','sqrt','mouse_down','pixelSize','getWind','defined','max','OPAQUE','addPrimitives','undefined','_maxAge','default','resize','outputTexture','color','mode','none','array','fill','canvas','_calcUV','262308iKYgGZ','__esModule','segmentsDepth','fillStyle','viewerParameters','CanvasWindLayer','createFramebuffer','class','__proto__','canvasHeight','PrimitiveType','fragmentShaderSource','_pointerEvents','getUserInput','lon','WindUtil','isInExtent','getColorTexture','canvasResize','canvasContext','postProcessingSpeed','_mountedHook','42ZUJjNe','TWO_PI','955996DJNpZO','STATIC_DRAW','getFullscreenQuad','_onMouseMoveEvent','_addedHook','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}','removeChild','reverseY','lev','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}','computeViewRectangle','shaderProgram','createWindTextures','refreshTimer','visible','PixelDatatype','depthTest','fromCache','off','lineTo','updateDate','wheel','particlesTextures','tlat','height','getSpeed','fixedHeight','UNSIGNED_BYTE','drawWind','VertexArray','_showHook','cols','options','blending','particles','particlesWind','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','vertexArray','age','304473XbBEEE','construct','unbindEvent','currentParticlesPosition','reverse','windData','_tomap','tlng','mouseDown','west','canvasWidth','mars3d','grid','createSegmentsGeometry','particlesNumber','register','GeometryAttribute','ZERO','string','length','viewRectangleToLonLatRange','#ffffff','depthTexture','add','clientHeight','DISABLE_GL_POSITION_LOG_DEPTH','setOptions','setAttribute','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}','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}','destination-in','createRenderingPrimitives','_onMouseDownEvent','Cartesian2','getRandomLatLng','layer','beginPath','userInput','textures','dropRateBump','globeLayer','Framebuffer','container','lng','rawRenderState','createRenderingTextures','isPointVisible','Compute','RenderState','currentTrails','8vDFpsT','BufferUsage','dropRate','BoundingSphere','min','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}','camera','Appearance','visibility','wind','screen','call','udata','cos','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}','configurable','round','createParticlesTextures','getV','4mmBXbr','scene','0px','hasOwnProperty','ALWAYS','getUVByPoint','clearFramebuffers','Texture','strokeStyle','uniformMap','pointerEvents','ceil','preExecute','randomParticle','autoClear','exports','nextParticlesSpeed','sham','commandToExecute','width','particlesRendering','//\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}','WindLayer','function','ymin','keys','sin','setData','clearCommand','Module','_drawLines','commandType','fromGeometry','Pass','ClearCommand','createTexture','getPixelSize','hidden','UNSIGNED_INT','globalCompositeOperation','getU','attributeLocations','moveTo','floor','getPrototypeOf','depthMask','addEventListener','PixelFormat','SCENE3D','_onMap_preRenderEvent','GeometryAttributes','TextureMagnificationFilter','update','primitives','framebuffer','create','DEPTH_COMPONENT','Rectangle','364830ctKRkK','primitiveType','_map','enumerable','mouseUp','mouse_move','stroke','PI_OVER_TWO','globeBoundingSphere','symbol','toStringTag','execute','pointer-events','_onMapWhellEvent','currentTrailsColor','updateSpeed','postProcessingPosition','_onMouseUpEvent','east','appendChild','currentParticlesSpeed','RGBA','particlesComputing','data','speedFactor','LUMINANCE','mod','constructor','geometry','left','BaseLayer','randomBetween','TextureMinificationFilter','particleHeight','Sampler','zIndex','TRIANGLES','colorNum','once','lonRange','10OOAJzS','fadeOpacity','object','value','DepthFunction','colorTable','toGridXY','atan2','dimensions'];a0_0x268f=function(){return _0x2b694d;};return a0_0x268f();}function a0_0x4400(_0x368e1e,_0x238b11){var _0x268f1d=a0_0x268f();return a0_0x4400=function(_0x4400d8,_0x450cdb){_0x4400d8=_0x4400d8-0x13a;var _0x22980d=_0x268f1d[_0x4400d8];return _0x22980d;},a0_0x4400(_0x368e1e,_0x238b11);}var a0_0x4f3c9d=a0_0x4400;(function(_0xa1c406,_0x42f70b){var _0x5ce287=a0_0x4400,_0x349856=_0xa1c406();while(!![]){try{var _0x5545b6=parseInt(_0x5ce287(0x289))/0x1+-parseInt(_0x5ce287(0x153))/0x2*(-parseInt(_0x5ce287(0x18d))/0x3)+-parseInt(_0x5ce287(0x262))/0x4*(parseInt(_0x5ce287(0x1b5))/0x5)+parseInt(_0x5ce287(0x1ed))/0x6*(-parseInt(_0x5ce287(0x260))/0x7)+-parseInt(_0x5ce287(0x140))/0x8*(-parseInt(_0x5ce287(0x1ef))/0x9)+-parseInt(_0x5ce287(0x21a))/0xa+parseInt(_0x5ce287(0x1c9))/0xb*(parseInt(_0x5ce287(0x24a))/0xc);if(_0x5545b6===_0x42f70b)break;else _0x349856['push'](_0x349856['shift']());}catch(_0x2eefc0){_0x349856['push'](_0x349856['shift']());}}}(a0_0x268f,0x4ae67),window[a0_0x4f3c9d(0x209)]=function(_0x46cc30){var _0x39d166={};function _0xeabd0c(_0x3aca6f){var _0x3d041f=a0_0x4400;if(_0x39d166[_0x3aca6f])return _0x39d166[_0x3aca6f][_0x3d041f(0x162)];var _0x3a1d29=_0x39d166[_0x3aca6f]={'i':_0x3aca6f,'l':!0x1,'exports':{}};return _0x46cc30[_0x3aca6f][_0x3d041f(0x14b)](_0x3a1d29[_0x3d041f(0x162)],_0x3a1d29,_0x3a1d29[_0x3d041f(0x162)],_0xeabd0c),_0x3a1d29['l']=!0x0,_0x3a1d29[_0x3d041f(0x162)];}return _0xeabd0c['m']=_0x46cc30,_0xeabd0c['c']=_0x39d166,_0xeabd0c['d']=function(_0x110120,_0x7c0d3e,_0x2b0ea3){var _0x402e95=a0_0x4400;_0xeabd0c['o'](_0x110120,_0x7c0d3e)||Object[_0x402e95(0x1d5)](_0x110120,_0x7c0d3e,{'enumerable':!0x0,'get':_0x2b0ea3});},_0xeabd0c['r']=function(_0x1d6974){var _0x5e8438=a0_0x4400;_0x5e8438(0x23e)!=typeof Symbol&&Symbol[_0x5e8438(0x197)]&&Object[_0x5e8438(0x1d5)](_0x1d6974,Symbol['toStringTag'],{'value':_0x5e8438(0x170)}),Object[_0x5e8438(0x1d5)](_0x1d6974,'__esModule',{'value':!0x0});},_0xeabd0c['t']=function(_0x288bac,_0x36916c){var _0x148078=a0_0x4400;if(0x1&_0x36916c&&(_0x288bac=_0xeabd0c(_0x288bac)),0x8&_0x36916c)return _0x288bac;if(0x4&_0x36916c&&_0x148078(0x1b7)==typeof _0x288bac&&_0x288bac&&_0x288bac[_0x148078(0x24b)])return _0x288bac;var _0x4c8d7b=Object['create'](null);if(_0xeabd0c['r'](_0x4c8d7b),Object[_0x148078(0x1d5)](_0x4c8d7b,'default',{'enumerable':!0x0,'value':_0x288bac}),0x2&_0x36916c&&_0x148078(0x29b)!=typeof _0x288bac){for(var _0x565d25 in _0x288bac)_0xeabd0c['d'](_0x4c8d7b,_0x565d25,function(_0x3ca70f){return _0x288bac[_0x3ca70f];}[_0x148078(0x1e6)](null,_0x565d25));}return _0x4c8d7b;},_0xeabd0c['n']=function(_0x589581){var _0x4f55fe=a0_0x4400,_0x5443d9=_0x589581&&_0x589581[_0x4f55fe(0x24b)]?function(){var _0x4ffc69=_0x4f55fe;return _0x589581[_0x4ffc69(0x240)];}:function(){return _0x589581;};return _0xeabd0c['d'](_0x5443d9,'a',_0x5443d9),_0x5443d9;},_0xeabd0c['o']=function(_0x3969f1,_0x3520b2){var _0x30cef9=a0_0x4400;return Object[_0x30cef9(0x1e3)][_0x30cef9(0x156)][_0x30cef9(0x14b)](_0x3969f1,_0x3520b2);},_0xeabd0c['p']='',_0xeabd0c(_0xeabd0c['s']=0x14);}([function(_0xdea4,_0x36bc21){var _0x161017=a0_0x4f3c9d;_0xdea4[_0x161017(0x162)]=window['Cesium'];},function(_0x5089f7,_0x8afa01){var _0x1f0ea5=a0_0x4f3c9d;_0x5089f7[_0x1f0ea5(0x162)]=window[_0x1f0ea5(0x294)];},function(_0x27db33,_0x5a7b41){var _0x564c23=a0_0x4f3c9d;_0x27db33['exports']=function(_0x5d04d4,_0x318f46){if(!(_0x5d04d4 instanceof _0x318f46))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');},_0x27db33[_0x564c23(0x162)][_0x564c23(0x24b)]=!0x0,_0x27db33[_0x564c23(0x162)]['default']=_0x27db33[_0x564c23(0x162)];},function(_0x34158c,_0x2a167a){var _0x520b62=a0_0x4f3c9d;function _0x29a8b5(_0x2ab12f,_0x584713){var _0x2942ec=a0_0x4400;for(var _0xecefb5=0x0;_0xecefb5<_0x584713[_0x2942ec(0x29c)];_0xecefb5++){var _0x1dcc79=_0x584713[_0xecefb5];_0x1dcc79[_0x2942ec(0x190)]=_0x1dcc79[_0x2942ec(0x190)]||!0x1,_0x1dcc79[_0x2942ec(0x14f)]=!0x0,_0x2942ec(0x1b8)in _0x1dcc79&&(_0x1dcc79['writable']=!0x0),Object[_0x2942ec(0x1d5)](_0x2ab12f,_0x1dcc79['key'],_0x1dcc79);}}_0x34158c[_0x520b62(0x162)]=function(_0x4621bb,_0xa7402d,_0xbe2d50){var _0x4c1ff9=_0x520b62;return _0xa7402d&&_0x29a8b5(_0x4621bb[_0x4c1ff9(0x1e3)],_0xa7402d),_0xbe2d50&&_0x29a8b5(_0x4621bb,_0xbe2d50),Object[_0x4c1ff9(0x1d5)](_0x4621bb,_0x4c1ff9(0x1e3),{'writable':!0x1}),_0x4621bb;},_0x34158c[_0x520b62(0x162)]['__esModule']=!0x0,_0x34158c['exports'][_0x520b62(0x240)]=_0x34158c[_0x520b62(0x162)];},function(_0x2a6d60,_0x2569c1){var _0x54c18d=a0_0x4f3c9d;function _0x46e015(_0x410f0b){var _0xb29a8f=a0_0x4400;return _0x2a6d60['exports']=_0x46e015=Object[_0xb29a8f(0x1fd)]?Object[_0xb29a8f(0x17f)]:function(_0x495eb9){var _0x4abe4d=_0xb29a8f;return _0x495eb9[_0x4abe4d(0x252)]||Object[_0x4abe4d(0x17f)](_0x495eb9);},_0x2a6d60[_0xb29a8f(0x162)][_0xb29a8f(0x24b)]=!0x0,_0x2a6d60[_0xb29a8f(0x162)][_0xb29a8f(0x240)]=_0x2a6d60[_0xb29a8f(0x162)],_0x46e015(_0x410f0b);}_0x2a6d60[_0x54c18d(0x162)]=_0x46e015,_0x2a6d60[_0x54c18d(0x162)][_0x54c18d(0x24b)]=!0x0,_0x2a6d60['exports'][_0x54c18d(0x240)]=_0x2a6d60[_0x54c18d(0x162)];},function(_0x26a28d,_0x39510f,_0x243bec){var _0x2517a6=a0_0x4f3c9d,_0x38d669=_0x243bec(0x11);_0x26a28d[_0x2517a6(0x162)]=function(_0x5022d2,_0x1ab5f9){var _0xaad1df=_0x2517a6;if(_0xaad1df(0x16a)!=typeof _0x1ab5f9&&null!==_0x1ab5f9)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');Object['defineProperty'](_0x5022d2,_0xaad1df(0x1e3),{'value':Object[_0xaad1df(0x18a)](_0x1ab5f9&&_0x1ab5f9[_0xaad1df(0x1e3)],{'constructor':{'value':_0x5022d2,'writable':!0x0,'configurable':!0x0}}),'writable':!0x1}),_0x1ab5f9&&_0x38d669(_0x5022d2,_0x1ab5f9);},_0x26a28d[_0x2517a6(0x162)][_0x2517a6(0x24b)]=!0x0,_0x26a28d[_0x2517a6(0x162)][_0x2517a6(0x240)]=_0x26a28d['exports'];},function(_0x15817b,_0x5cf482,_0x4dc6a4){var _0x425230=a0_0x4f3c9d,_0xa29f65=_0x4dc6a4(0x12)[_0x425230(0x240)],_0x4b1c05=_0x4dc6a4(0x13);_0x15817b[_0x425230(0x162)]=function(_0x3de4e8,_0x2c9adc){var _0x14aafc=_0x425230;if(_0x2c9adc&&(_0x14aafc(0x1b7)===_0xa29f65(_0x2c9adc)||'function'==typeof _0x2c9adc))return _0x2c9adc;if(void 0x0!==_0x2c9adc)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');return _0x4b1c05(_0x3de4e8);},_0x15817b[_0x425230(0x162)][_0x425230(0x24b)]=!0x0,_0x15817b['exports'][_0x425230(0x240)]=_0x15817b[_0x425230(0x162)];},function(_0x1acda7,_0x595ade){var _0x466447=a0_0x4f3c9d;_0x1acda7[_0x466447(0x162)]=_0x466447(0x2a6);},function(_0x451c42,_0x151a46){_0x451c42['exports']='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}';},function(_0x425dde,_0x27f1ff){var _0x551521=a0_0x4f3c9d;_0x425dde[_0x551521(0x162)]=_0x551521(0x205);},function(_0x3a9495,_0x650f76){var _0x18da8f=a0_0x4f3c9d;_0x3a9495['exports']=_0x18da8f(0x2a5);},function(_0x340593,_0x385927){var _0x21a426=a0_0x4f3c9d;_0x340593[_0x21a426(0x162)]=_0x21a426(0x26b);},function(_0x10706a,_0xe1b0f8){var _0x59867c=a0_0x4f3c9d;_0x10706a[_0x59867c(0x162)]=_0x59867c(0x168);},function(_0x522ed0,_0x6f74f5){var _0x5a1aac=a0_0x4f3c9d;_0x522ed0[_0x5a1aac(0x162)]=_0x5a1aac(0x233);},function(_0x146fa2,_0x21472d){var _0x4a7b65=a0_0x4f3c9d;_0x146fa2[_0x4a7b65(0x162)]=_0x4a7b65(0x145);},function(_0x3c061e,_0x5cd4d7){var _0x4896da=a0_0x4f3c9d;_0x3c061e['exports']=_0x4896da(0x14e);},function(_0x11c118,_0x2da3bb){var _0x262db4=a0_0x4f3c9d;_0x11c118['exports']=_0x262db4(0x267);},function(_0x261f84,_0x4eacb9){var _0x272c2b=a0_0x4f3c9d;function _0x4f6977(_0x456ad,_0x2b79d6){var _0x1ae144=a0_0x4400;return _0x261f84[_0x1ae144(0x162)]=_0x4f6977=Object[_0x1ae144(0x1fd)]||function(_0x588ba5,_0x431881){return _0x588ba5['__proto__']=_0x431881,_0x588ba5;},_0x261f84['exports'][_0x1ae144(0x24b)]=!0x0,_0x261f84[_0x1ae144(0x162)][_0x1ae144(0x240)]=_0x261f84[_0x1ae144(0x162)],_0x4f6977(_0x456ad,_0x2b79d6);}_0x261f84[_0x272c2b(0x162)]=_0x4f6977,_0x261f84[_0x272c2b(0x162)]['__esModule']=!0x0,_0x261f84['exports']['default']=_0x261f84[_0x272c2b(0x162)];},function(_0x5a7a2c,_0x5942c9){var _0x521f01=a0_0x4f3c9d;function _0x4fce75(_0x3ce720){var _0x180a9f=a0_0x4400;return _0x5a7a2c[_0x180a9f(0x162)]=_0x4fce75=_0x180a9f(0x16a)==typeof Symbol&&'symbol'==typeof Symbol[_0x180a9f(0x1ca)]?function(_0x1b2575){return typeof _0x1b2575;}:function(_0x3714e4){var _0x35af03=_0x180a9f;return _0x3714e4&&_0x35af03(0x16a)==typeof Symbol&&_0x3714e4[_0x35af03(0x1a8)]===Symbol&&_0x3714e4!==Symbol[_0x35af03(0x1e3)]?_0x35af03(0x196):typeof _0x3714e4;},_0x5a7a2c['exports'][_0x180a9f(0x24b)]=!0x0,_0x5a7a2c['exports']['default']=_0x5a7a2c['exports'],_0x4fce75(_0x3ce720);}_0x5a7a2c['exports']=_0x4fce75,_0x5a7a2c['exports']['__esModule']=!0x0,_0x5a7a2c['exports']['default']=_0x5a7a2c[_0x521f01(0x162)];},function(_0x2d9d45,_0x294620){var _0x22cdb5=a0_0x4f3c9d;_0x2d9d45[_0x22cdb5(0x162)]=function(_0x505f97){var _0x50e5e7=_0x22cdb5;if(void 0x0===_0x505f97)throw new ReferenceError(_0x50e5e7(0x1d6));return _0x505f97;},_0x2d9d45[_0x22cdb5(0x162)][_0x22cdb5(0x24b)]=!0x0,_0x2d9d45[_0x22cdb5(0x162)][_0x22cdb5(0x240)]=_0x2d9d45[_0x22cdb5(0x162)];},function(_0x21dd38,_0x853129,_0x5b6846){'use strict';var _0x1cfef6=a0_0x4f3c9d;_0x5b6846['r'](_0x853129),_0x5b6846['d'](_0x853129,_0x1cfef6(0x169),function(){return _0x1be7bc;}),_0x5b6846['d'](_0x853129,'CanvasWindLayer',function(){return _0x39089f;}),_0x5b6846['d'](_0x853129,_0x1cfef6(0x259),function(){return _0x1eadea;});var _0x1eadea={};_0x5b6846['r'](_0x1eadea),_0x5b6846['d'](_0x1eadea,_0x1cfef6(0x17b),function(){return _0x17c690;}),_0x5b6846['d'](_0x1eadea,_0x1cfef6(0x152),function(){return _0x49f5a9;}),_0x5b6846['d'](_0x1eadea,_0x1cfef6(0x27b),function(){return _0xd2fb33;}),_0x5b6846['d'](_0x1eadea,_0x1cfef6(0x210),function(){return _0x4666c4;});var _0x18811e=_0x5b6846(0x1),_0x2a0565=_0x5b6846(0x2),_0x1d12ba=_0x5b6846['n'](_0x2a0565),_0x5151b7=_0x5b6846(0x3),_0x27ad1f=_0x5b6846['n'](_0x5151b7),_0x2b975a=_0x5b6846(0x5),_0x3901bb=_0x5b6846['n'](_0x2b975a),_0x8a84df=_0x5b6846(0x6),_0x2654f9=_0x5b6846['n'](_0x8a84df),_0x697ed9=_0x5b6846(0x4),_0x2cdf9c=_0x5b6846['n'](_0x697ed9),_0xd8b266=_0x5b6846(0x0),_0x11d2ce=(function(){var _0x22f524=_0x1cfef6;function _0x39484c(_0x10f3e3){var _0x5651d0=a0_0x4400;_0x1d12ba()(this,_0x39484c),this[_0x5651d0(0x172)]=_0x10f3e3[_0x5651d0(0x172)],this[_0x5651d0(0x1a9)]=_0x10f3e3[_0x5651d0(0x1a9)],this[_0x5651d0(0x17c)]=_0x10f3e3['attributeLocations'],this[_0x5651d0(0x18e)]=_0x10f3e3[_0x5651d0(0x18e)],this['uniformMap']=_0x10f3e3[_0x5651d0(0x15c)],this['vertexShaderSource']=_0x10f3e3['vertexShaderSource'],this[_0x5651d0(0x255)]=_0x10f3e3[_0x5651d0(0x255)],this[_0x5651d0(0x13a)]=_0x10f3e3[_0x5651d0(0x13a)],this[_0x5651d0(0x189)]=_0x10f3e3['framebuffer'],this[_0x5651d0(0x242)]=_0x10f3e3[_0x5651d0(0x242)],this[_0x5651d0(0x161)]=_0xd8b266[_0x5651d0(0x20c)](_0x10f3e3['autoClear'],!0x1),this[_0x5651d0(0x15f)]=_0x10f3e3['preExecute'],this[_0x5651d0(0x1de)]=!0x0,this[_0x5651d0(0x165)]=void 0x0,this[_0x5651d0(0x16f)]=void 0x0,this['autoClear']&&(this[_0x5651d0(0x16f)]=new _0xd8b266[(_0x5651d0(0x175))]({'color':new _0xd8b266[(_0x5651d0(0x1e0))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x5651d0(0x189)],'pass':_0xd8b266['Pass']['OPAQUE']}));}return _0x27ad1f()(_0x39484c,[{'key':_0x22f524(0x216),'value':function(_0x184ae7){var _0x4f515b=_0x22f524;switch(this[_0x4f515b(0x172)]){case _0x4f515b(0x22b):var _0x4cc55b=_0xd8b266[_0x4f515b(0x27f)][_0x4f515b(0x173)]({'context':_0x184ae7,'geometry':this[_0x4f515b(0x1a9)],'attributeLocations':this['attributeLocations'],'bufferUsage':_0xd8b266['BufferUsage'][_0x4f515b(0x263)]}),_0x229c0e=_0xd8b266['ShaderProgram'][_0x4f515b(0x273)]({'context':_0x184ae7,'attributeLocations':this['attributeLocations'],'vertexShaderSource':this[_0x4f515b(0x22c)],'fragmentShaderSource':this[_0x4f515b(0x255)]}),_0x1201b9=_0xd8b266[_0x4f515b(0x13e)][_0x4f515b(0x273)](this[_0x4f515b(0x13a)]);return new _0xd8b266[(_0x4f515b(0x222))]({'owner':this,'vertexArray':_0x4cc55b,'primitiveType':this['primitiveType'],'uniformMap':this[_0x4f515b(0x15c)],'modelMatrix':_0xd8b266['Matrix4']['IDENTITY'],'shaderProgram':_0x229c0e,'framebuffer':this[_0x4f515b(0x189)],'renderState':_0x1201b9,'pass':_0xd8b266['Pass'][_0x4f515b(0x23c)]});case'Compute':return new _0xd8b266[(_0x4f515b(0x218))]({'owner':this,'fragmentShaderSource':this[_0x4f515b(0x255)],'uniformMap':this['uniformMap'],'outputTexture':this[_0x4f515b(0x242)],'persists':!0x0});}}},{'key':_0x22f524(0x1e2),'value':function(_0x1f4d4c,_0x584b16){var _0x410e6c=_0x22f524;this[_0x410e6c(0x1a9)]=_0x584b16;var _0x1ccb96=_0xd8b266[_0x410e6c(0x27f)]['fromGeometry']({'context':_0x1f4d4c,'geometry':this[_0x410e6c(0x1a9)],'attributeLocations':this[_0x410e6c(0x17c)],'bufferUsage':_0xd8b266[_0x410e6c(0x141)][_0x410e6c(0x263)]});this['commandToExecute'][_0x410e6c(0x287)]=_0x1ccb96;}},{'key':_0x22f524(0x187),'value':function(_0x106b1d){var _0x4c6804=_0x22f524;this[_0x4c6804(0x1de)]&&_0x106b1d[_0x4c6804(0x244)]==_0xd8b266[_0x4c6804(0x21c)][_0x4c6804(0x183)]&&(_0xd8b266['defined'](this[_0x4c6804(0x165)])||(this['commandToExecute']=this[_0x4c6804(0x216)](_0x106b1d['context'])),_0xd8b266[_0x4c6804(0x23a)](this[_0x4c6804(0x15f)])&&this[_0x4c6804(0x15f)](),_0xd8b266[_0x4c6804(0x23a)](this[_0x4c6804(0x16f)])&&_0x106b1d[_0x4c6804(0x1c6)][_0x4c6804(0x1fe)](this['clearCommand']),_0x106b1d['commandList'][_0x4c6804(0x1fe)](this[_0x4c6804(0x165)]));}},{'key':_0x22f524(0x228),'value':function(){return!0x1;}},{'key':_0x22f524(0x231),'value':function(){var _0x252f86=_0x22f524;return _0xd8b266[_0x252f86(0x23a)](this['commandToExecute'])&&(this[_0x252f86(0x165)][_0x252f86(0x26d)]=this[_0x252f86(0x165)][_0x252f86(0x26d)]&&this[_0x252f86(0x165)][_0x252f86(0x26d)][_0x252f86(0x231)]()),_0xd8b266['destroyObject'](this);}}]),_0x39484c;}()),_0x1173bc={'getFullscreenQuad':function(){var _0x24a198=_0x1cfef6;return new _0xd8b266[(_0x24a198(0x1dc))]({'attributes':new _0xd8b266['GeometryAttributes']({'position':new _0xd8b266[(_0x24a198(0x299))]({'componentDatatype':_0xd8b266[_0x24a198(0x208)]['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0xd8b266[(_0x24a198(0x299))]({'componentDatatype':_0xd8b266[_0x24a198(0x208)][_0x24a198(0x1e1)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x5b3f66,_0x711b8f){var _0x24e596=_0x1cfef6;if(_0xd8b266[_0x24e596(0x23a)](_0x711b8f)){var _0x3ede66={};_0x3ede66['arrayBufferView']=_0x711b8f,_0x5b3f66[_0x24e596(0x1da)]=_0x3ede66;}return new _0xd8b266[(_0x24e596(0x15a))](_0x5b3f66);},'createFramebuffer':function(_0x5604cf,_0x5db1ad,_0x3f4e5a){var _0x56293c=_0x1cfef6;return new _0xd8b266[(_0x56293c(0x2b2))]({'context':_0x5604cf,'colorTextures':[_0x5db1ad],'depthTexture':_0x3f4e5a});},'createRawRenderState':function(_0x47087f){var _0x38ed6a=_0x1cfef6,_0x2217d4={'viewport':_0x47087f['viewport'],'depthTest':_0x47087f[_0x38ed6a(0x272)],'depthMask':_0x47087f[_0x38ed6a(0x180)],'blending':_0x47087f[_0x38ed6a(0x283)]};return _0xd8b266[_0x38ed6a(0x147)]['getDefaultRenderState'](!0x0,!0x1,_0x2217d4);},'viewRectangleToLonLatRange':function(_0x39ea13){var _0x5c0931=_0x1cfef6,_0x3b7731,_0x5c5afb,_0xf7d5b4={},_0x425ed1=_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x1a7)](_0x39ea13[_0x5c0931(0x292)],_0xd8b266[_0x5c0931(0x1cc)]['TWO_PI']),_0x455e20=_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x1a7)](_0x39ea13[_0x5c0931(0x19f)],_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x261)]),_0x151dc0=_0x39ea13['width'];_0x151dc0>_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x1cf)]?(_0x3b7731=0x0,_0x5c5afb=_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x261)]):_0x455e20-_0x425ed1<_0x151dc0?(_0x3b7731=_0x425ed1,_0x5c5afb=_0x425ed1+_0x151dc0):(_0x3b7731=_0x425ed1,_0x5c5afb=_0x455e20),_0xf7d5b4[_0x5c0931(0x258)]={'min':_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x21d)](_0x3b7731),'max':_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x21d)](_0x5c5afb)};var _0x14f504=_0x39ea13[_0x5c0931(0x1ee)],_0x11ed97=_0x39ea13[_0x5c0931(0x1ea)],_0x37097e=_0x39ea13['height'],_0x825b07=_0x37097e>_0xd8b266[_0x5c0931(0x1cc)]['PI']/0xc?_0x37097e/0x2:0x0,_0x3f2439=_0xd8b266['Math']['clampToLatitudeRange'](_0x14f504-_0x825b07),_0x180f6c=_0xd8b266[_0x5c0931(0x1cc)]['clampToLatitudeRange'](_0x11ed97+_0x825b07);return _0x3f2439<-_0xd8b266['Math'][_0x5c0931(0x1c2)]&&(_0x3f2439=-_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x194)]),_0x180f6c>_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x1c2)]&&(_0x180f6c=_0xd8b266[_0x5c0931(0x1cc)]['PI_OVER_TWO']),_0xf7d5b4[_0x5c0931(0x1fa)]={'min':_0xd8b266[_0x5c0931(0x1cc)]['toDegrees'](_0x3f2439),'max':_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x21d)](_0x180f6c)},_0xf7d5b4;}},_0x16b3dc=_0x5b6846(0x8),_0x5ec76a=_0x5b6846['n'](_0x16b3dc),_0x2b3ca3=_0x5b6846(0x9),_0x30321e=_0x5b6846['n'](_0x2b3ca3),_0x3d4277=_0x5b6846(0x7),_0x516e8a=_0x5b6846['n'](_0x3d4277),_0x186e79=_0x5b6846(0xa),_0x386d3f=_0x5b6846['n'](_0x186e79),_0x2d7e29=_0x5b6846(0xb),_0x3a9d09=_0x5b6846['n'](_0x2d7e29),_0x2a4547=(function(){var _0xfdafae=_0x1cfef6;function _0xc30d2(_0x11fe41,_0x3e6437,_0x53d5bb,_0x16505c,_0x13d54e){var _0x4b9c64=a0_0x4400;_0x1d12ba()(this,_0xc30d2),this['createRenderingTextures'](_0x11fe41,_0x3e6437),this[_0x4b9c64(0x20a)](_0x11fe41),this[_0x4b9c64(0x2a8)](_0x11fe41,_0x53d5bb,_0x16505c,_0x13d54e);}return _0x27ad1f()(_0xc30d2,[{'key':_0xfdafae(0x13b),'value':function(_0x4efc13,_0x1fd5b3){var _0xe53c91=_0xfdafae,_0x5310c8={'context':_0x4efc13,'width':_0x4efc13[_0xe53c91(0x22d)],'height':_0x4efc13[_0xe53c91(0x1f9)],'pixelFormat':_0xd8b266[_0xe53c91(0x182)][_0xe53c91(0x1a2)],'pixelDatatype':_0xd8b266['PixelDatatype'][_0xe53c91(0x27d)]},_0x311c4d={'context':_0x4efc13,'width':_0x4efc13['drawingBufferWidth'],'height':_0x4efc13[_0xe53c91(0x1f9)],'pixelFormat':_0xd8b266[_0xe53c91(0x182)][_0xe53c91(0x18b)],'pixelDatatype':_0xd8b266[_0xe53c91(0x271)][_0xe53c91(0x179)]},_0x385167={'context':_0x4efc13,'width':_0x1fd5b3[_0xe53c91(0x1ba)][_0xe53c91(0x1b2)],'height':0x1,'pixelFormat':_0xd8b266[_0xe53c91(0x182)]['RGB'],'pixelDatatype':_0xd8b266[_0xe53c91(0x271)][_0xe53c91(0x1e1)],'sampler':new _0xd8b266[(_0xe53c91(0x1af))]({'minificationFilter':_0xd8b266[_0xe53c91(0x1ad)][_0xe53c91(0x21b)],'magnificationFilter':_0xd8b266[_0xe53c91(0x186)][_0xe53c91(0x21b)]})};this['textures']={'segmentsColor':_0x1173bc[_0xe53c91(0x176)](_0x5310c8),'segmentsDepth':_0x1173bc['createTexture'](_0x311c4d),'currentTrailsColor':_0x1173bc['createTexture'](_0x5310c8),'currentTrailsDepth':_0x1173bc[_0xe53c91(0x176)](_0x311c4d),'nextTrailsColor':_0x1173bc[_0xe53c91(0x176)](_0x5310c8),'nextTrailsDepth':_0x1173bc[_0xe53c91(0x176)](_0x311c4d),'colorTable':_0x1173bc['createTexture'](_0x385167,_0x1fd5b3[_0xe53c91(0x1ba)][_0xe53c91(0x246)])};}},{'key':_0xfdafae(0x20a),'value':function(_0x64e660){var _0x813e65=_0xfdafae;this[_0x813e65(0x1dd)]={'segments':_0x1173bc[_0x813e65(0x250)](_0x64e660,this['textures']['segmentsColor'],this['textures'][_0x813e65(0x24c)]),'currentTrails':_0x1173bc['createFramebuffer'](_0x64e660,this[_0x813e65(0x2af)][_0x813e65(0x19b)],this[_0x813e65(0x2af)]['currentTrailsDepth']),'nextTrails':_0x1173bc[_0x813e65(0x250)](_0x64e660,this[_0x813e65(0x2af)][_0x813e65(0x1d1)],this[_0x813e65(0x2af)][_0x813e65(0x227)])};}},{'key':_0xfdafae(0x296),'value':function(_0x43dc19){var _0x1670fb=_0xfdafae;for(var _0x282c0c=[],_0x8f4373=0x0;_0x8f4373<_0x43dc19[_0x1670fb(0x1ff)];_0x8f4373++)for(var _0x3eed74=0x0;_0x3eed74<_0x43dc19[_0x1670fb(0x1ff)];_0x3eed74++)for(var _0x147166=0x0;_0x147166<0x4;_0x147166++)_0x282c0c[_0x1670fb(0x1fe)](_0x8f4373/_0x43dc19[_0x1670fb(0x1ff)]),_0x282c0c['push'](_0x3eed74/_0x43dc19[_0x1670fb(0x1ff)]);_0x282c0c=new Float32Array(_0x282c0c);for(var _0x52dacc=[],_0x10f730=[-0x1,0x1],_0x4e1368=[-0x1,0x1],_0x3095ed=0x0;_0x3095ed<_0x43dc19[_0x1670fb(0x223)];_0x3095ed++)for(var _0x494f95=0x0;_0x494f95<0x2;_0x494f95++)for(var _0x1126a2=0x0;_0x1126a2<0x2;_0x1126a2++)_0x52dacc[_0x1670fb(0x1fe)](_0x10f730[_0x494f95]),_0x52dacc['push'](_0x4e1368[_0x1126a2]),_0x52dacc['push'](0x0);_0x52dacc=new Float32Array(_0x52dacc);for(var _0x413c41=0x6*_0x43dc19[_0x1670fb(0x223)],_0x29ca71=new Uint32Array(_0x413c41),_0x472759=0x0,_0x1e76a5=0x0,_0x5ce846=0x0;_0x472759<_0x43dc19[_0x1670fb(0x223)];_0x472759++)_0x29ca71[_0x1e76a5++]=_0x5ce846+0x0,_0x29ca71[_0x1e76a5++]=_0x5ce846+0x1,_0x29ca71[_0x1e76a5++]=_0x5ce846+0x2,_0x29ca71[_0x1e76a5++]=_0x5ce846+0x2,_0x29ca71[_0x1e76a5++]=_0x5ce846+0x1,_0x29ca71[_0x1e76a5++]=_0x5ce846+0x3,_0x5ce846+=0x4;return new _0xd8b266['Geometry']({'attributes':new _0xd8b266[(_0x1670fb(0x185))]({'st':new _0xd8b266[(_0x1670fb(0x299))]({'componentDatatype':_0xd8b266[_0x1670fb(0x208)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x282c0c}),'normal':new _0xd8b266['GeometryAttribute']({'componentDatatype':_0xd8b266[_0x1670fb(0x208)][_0x1670fb(0x1e1)],'componentsPerAttribute':0x3,'values':_0x52dacc})}),'indices':_0x29ca71});}},{'key':_0xfdafae(0x2a8),'value':function(_0x1c1cfa,_0x33dd2f,_0x2a6b67,_0x5e32c3){var _0x1a3c6d=_0xfdafae,_0x258f0f=this;this['primitives']={'segments':new _0x11d2ce({'commandType':_0x1a3c6d(0x22b),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this['createSegmentsGeometry'](_0x33dd2f),'primitiveType':_0xd8b266[_0x1a3c6d(0x254)][_0x1a3c6d(0x1b1)],'uniformMap':{'currentParticlesPosition':function(){var _0x10453e=_0x1a3c6d;return _0x5e32c3['particlesTextures'][_0x10453e(0x28c)];},'postProcessingPosition':function(){var _0x279568=_0x1a3c6d;return _0x5e32c3[_0x279568(0x278)][_0x279568(0x19d)];},'postProcessingSpeed':function(){var _0x29af45=_0x1a3c6d;return _0x5e32c3[_0x29af45(0x278)][_0x29af45(0x25e)];},'colorTable':function(){var _0x1fc773=_0x1a3c6d;return _0x258f0f[_0x1fc773(0x2af)]['colorTable'];},'aspect':function(){var _0x4fa90e=_0x1a3c6d;return _0x1c1cfa[_0x4fa90e(0x22d)]/_0x1c1cfa[_0x4fa90e(0x1f9)];},'pixelSize':function(){var _0x70146e=_0x1a3c6d;return _0x2a6b67[_0x70146e(0x238)];},'lineWidth':function(){return _0x33dd2f['lineWidth'];},'particleHeight':function(){var _0x52145c=_0x1a3c6d;return _0x33dd2f[_0x52145c(0x1ae)];}},'vertexShaderSource':new _0xd8b266[(_0x1a3c6d(0x1e8))]({'sources':[_0x5ec76a['a']]}),'fragmentShaderSource':new _0xd8b266['ShaderSource']({'sources':[_0x30321e['a']]}),'rawRenderState':_0x1173bc[_0x1a3c6d(0x220)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x1a3c6d(0x1dd)][_0x1a3c6d(0x225)],'autoClear':!0x0}),'trails':new _0x11d2ce({'commandType':_0x1a3c6d(0x22b),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x1173bc[_0x1a3c6d(0x264)](),'primitiveType':_0xd8b266[_0x1a3c6d(0x254)][_0x1a3c6d(0x1b1)],'uniformMap':{'segmentsColorTexture':function(){return _0x258f0f['textures']['segmentsColor'];},'segmentsDepthTexture':function(){var _0x2a4469=_0x1a3c6d;return _0x258f0f['textures'][_0x2a4469(0x24c)];},'currentTrailsColor':function(){var _0x1377ea=_0x1a3c6d;return _0x258f0f[_0x1377ea(0x1dd)][_0x1377ea(0x13f)][_0x1377ea(0x25b)](0x0);},'trailsDepthTexture':function(){var _0x174b1e=_0x1a3c6d;return _0x258f0f['framebuffers'][_0x174b1e(0x13f)][_0x174b1e(0x29f)];},'fadeOpacity':function(){var _0x192e92=_0x1a3c6d;return _0x33dd2f[_0x192e92(0x1b6)];}},'vertexShaderSource':new _0xd8b266['ShaderSource']({'defines':['DISABLE_GL_POSITION_LOG_DEPTH'],'sources':[_0x516e8a['a']]}),'fragmentShaderSource':new _0xd8b266[(_0x1a3c6d(0x1e8))]({'defines':[_0x1a3c6d(0x286)],'sources':[_0x386d3f['a']]}),'rawRenderState':_0x1173bc[_0x1a3c6d(0x220)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0xd8b266[_0x1a3c6d(0x1b9)][_0x1a3c6d(0x157)]},'depthMask':!0x0}),'framebuffer':this['framebuffers'][_0x1a3c6d(0x1d9)],'autoClear':!0x0,'preExecute':function(){var _0x1479b7=_0x1a3c6d,_0x23d58c;_0x23d58c=_0x258f0f[_0x1479b7(0x1dd)][_0x1479b7(0x13f)],_0x258f0f[_0x1479b7(0x1dd)][_0x1479b7(0x13f)]=_0x258f0f[_0x1479b7(0x1dd)][_0x1479b7(0x1d9)],_0x258f0f[_0x1479b7(0x1dd)][_0x1479b7(0x1d9)]=_0x23d58c,_0x258f0f['primitives'][_0x1479b7(0x21f)]['commandToExecute'][_0x1479b7(0x189)]=_0x258f0f[_0x1479b7(0x1dd)][_0x1479b7(0x1d9)],_0x258f0f[_0x1479b7(0x188)]['trails']['clearCommand'][_0x1479b7(0x189)]=_0x258f0f[_0x1479b7(0x1dd)][_0x1479b7(0x1d9)];}}),'screen':new _0x11d2ce({'commandType':_0x1a3c6d(0x22b),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x1173bc[_0x1a3c6d(0x264)](),'primitiveType':_0xd8b266[_0x1a3c6d(0x254)]['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){var _0x493082=_0x1a3c6d;return _0x258f0f['framebuffers'][_0x493082(0x1d9)][_0x493082(0x25b)](0x0);},'trailsDepthTexture':function(){var _0x1a8d8b=_0x1a3c6d;return _0x258f0f[_0x1a8d8b(0x1dd)][_0x1a8d8b(0x1d9)]['depthTexture'];}},'vertexShaderSource':new _0xd8b266[(_0x1a3c6d(0x1e8))]({'defines':[_0x1a3c6d(0x2a2)],'sources':[_0x516e8a['a']]}),'fragmentShaderSource':new _0xd8b266['ShaderSource']({'defines':[_0x1a3c6d(0x286)],'sources':[_0x3a9d09['a']]}),'rawRenderState':_0x1173bc[_0x1a3c6d(0x220)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0xc30d2;}()),_0x5ee7e3=_0x5b6846(0xc),_0x3d2edc=_0x5b6846['n'](_0x5ee7e3),_0x1e0bc7=_0x5b6846(0xd),_0x32daf4=_0x5b6846['n'](_0x1e0bc7),_0xcc6ecb=_0x5b6846(0xe),_0x13d9db=_0x5b6846['n'](_0xcc6ecb),_0x35e81b=_0x5b6846(0xf),_0x2dbd65=_0x5b6846['n'](_0x35e81b),_0x15468b=_0x5b6846(0x10),_0x4038e0=_0x5b6846['n'](_0x15468b),_0x260bd0=(function(){var _0x8885d2=_0x1cfef6;function _0x3df8fb(_0x52b953,_0x3a179c,_0x171226,_0x270076){var _0x165688=a0_0x4400;_0x1d12ba()(this,_0x3df8fb),this[_0x165688(0x1a4)]=_0x3a179c,this[_0x165688(0x26e)](_0x52b953,_0x3a179c),this[_0x165688(0x151)](_0x52b953,_0x171226,_0x270076),this['createComputingPrimitives'](_0x3a179c,_0x171226,_0x270076);}return _0x27ad1f()(_0x3df8fb,[{'key':'createWindTextures','value':function(_0xd2addb,_0x30e80e){var _0x2e0336=a0_0x4400,_0x43f9a6={'context':_0xd2addb,'width':_0x30e80e['dimensions'][_0x2e0336(0x258)],'height':_0x30e80e['dimensions'][_0x2e0336(0x1fa)]*_0x30e80e[_0x2e0336(0x1bd)][_0x2e0336(0x26a)],'pixelFormat':_0xd8b266['PixelFormat'][_0x2e0336(0x1a6)],'pixelDatatype':_0xd8b266[_0x2e0336(0x271)][_0x2e0336(0x1e1)],'flipY':!0x1,'sampler':new _0xd8b266[(_0x2e0336(0x1af))]({'minificationFilter':_0xd8b266['TextureMinificationFilter']['NEAREST'],'magnificationFilter':_0xd8b266[_0x2e0336(0x186)]['NEAREST']})};this['windTextures']={'U':_0x1173bc[_0x2e0336(0x176)](_0x43f9a6,_0x30e80e['U'][_0x2e0336(0x246)]),'V':_0x1173bc[_0x2e0336(0x176)](_0x43f9a6,_0x30e80e['V'][_0x2e0336(0x246)])};}},{'key':_0x8885d2(0x151),'value':function(_0x14ee13,_0x1b6320,_0x4d9c1f){var _0x5d3b9d=_0x8885d2,_0x4811c1={'context':_0x14ee13,'width':_0x1b6320[_0x5d3b9d(0x1ff)],'height':_0x1b6320[_0x5d3b9d(0x1ff)],'pixelFormat':_0xd8b266['PixelFormat']['RGBA'],'pixelDatatype':_0xd8b266[_0x5d3b9d(0x271)][_0x5d3b9d(0x1e1)],'flipY':!0x1,'sampler':new _0xd8b266[(_0x5d3b9d(0x1af))]({'minificationFilter':_0xd8b266[_0x5d3b9d(0x1ad)]['NEAREST'],'magnificationFilter':_0xd8b266['TextureMagnificationFilter']['NEAREST']})},_0x594b08=this[_0x5d3b9d(0x1db)](_0x1b6320['maxParticles'],_0x4d9c1f),_0x5b38ab=new Float32Array(0x4*_0x1b6320[_0x5d3b9d(0x223)])[_0x5d3b9d(0x247)](0x0);this[_0x5d3b9d(0x278)]={'particlesWind':_0x1173bc['createTexture'](_0x4811c1),'currentParticlesPosition':_0x1173bc[_0x5d3b9d(0x176)](_0x4811c1,_0x594b08),'nextParticlesPosition':_0x1173bc[_0x5d3b9d(0x176)](_0x4811c1,_0x594b08),'currentParticlesSpeed':_0x1173bc['createTexture'](_0x4811c1,_0x5b38ab),'nextParticlesSpeed':_0x1173bc[_0x5d3b9d(0x176)](_0x4811c1,_0x5b38ab),'postProcessingPosition':_0x1173bc[_0x5d3b9d(0x176)](_0x4811c1,_0x594b08),'postProcessingSpeed':_0x1173bc[_0x5d3b9d(0x176)](_0x4811c1,_0x5b38ab)};}},{'key':'randomizeParticles','value':function(_0x3fbaa8,_0x452dc8){var _0x3e2a1c=_0x8885d2;for(var _0x1cc133=new Float32Array(0x4*_0x3fbaa8),_0x4cb8c7=0x0;_0x4cb8c7<_0x3fbaa8;_0x4cb8c7++)_0x1cc133[0x4*_0x4cb8c7]=_0xd8b266[_0x3e2a1c(0x1cc)][_0x3e2a1c(0x1ac)](_0x452dc8[_0x3e2a1c(0x1b4)]['x'],_0x452dc8[_0x3e2a1c(0x1b4)]['y']),_0x1cc133[0x4*_0x4cb8c7+0x1]=_0xd8b266[_0x3e2a1c(0x1cc)][_0x3e2a1c(0x1ac)](_0x452dc8[_0x3e2a1c(0x22f)]['x'],_0x452dc8['latRange']['y']),_0x1cc133[0x4*_0x4cb8c7+0x2]=_0xd8b266[_0x3e2a1c(0x1cc)][_0x3e2a1c(0x1ac)](this[_0x3e2a1c(0x1a4)][_0x3e2a1c(0x26a)]['min'],this['data'][_0x3e2a1c(0x26a)][_0x3e2a1c(0x23b)]),_0x1cc133[0x4*_0x4cb8c7+0x3]=0x0;return _0x1cc133;}},{'key':_0x8885d2(0x22a),'value':function(){var _0x2a2b0a=_0x8885d2,_0x497d0f=this;Object['keys'](this[_0x2a2b0a(0x278)])[_0x2a2b0a(0x21e)](function(_0x23f48c){var _0x56d305=_0x2a2b0a;_0x497d0f[_0x56d305(0x278)][_0x23f48c][_0x56d305(0x231)]();});}},{'key':'createComputingPrimitives','value':function(_0x21bdf5,_0x2c8453,_0x15bbc8){var _0x46f718=_0x8885d2,_0x5593bb=new _0xd8b266[(_0x46f718(0x1bf))](_0x21bdf5[_0x46f718(0x1bd)]['lon'],_0x21bdf5['dimensions'][_0x46f718(0x1fa)],_0x21bdf5['dimensions'][_0x46f718(0x26a)]),_0x41aa9b=new _0xd8b266['Cartesian3'](_0x21bdf5[_0x46f718(0x258)]['min'],_0x21bdf5[_0x46f718(0x1fa)][_0x46f718(0x144)],_0x21bdf5[_0x46f718(0x26a)][_0x46f718(0x144)]),_0x4552d7=new _0xd8b266[(_0x46f718(0x1bf))](_0x21bdf5[_0x46f718(0x258)]['max'],_0x21bdf5[_0x46f718(0x1fa)]['max'],_0x21bdf5['lev'][_0x46f718(0x23b)]),_0x3452df=new _0xd8b266[(_0x46f718(0x1bf))]((_0x4552d7['x']-_0x41aa9b['x'])/(_0x5593bb['x']-0x1),(_0x4552d7['y']-_0x41aa9b['y'])/(_0x5593bb['y']-0x1),_0x5593bb['z']>0x1?(_0x4552d7['z']-_0x41aa9b['z'])/(_0x5593bb['z']-0x1):0x1),_0x5ced52=new _0xd8b266['Cartesian2'](_0x21bdf5['U'][_0x46f718(0x144)],_0x21bdf5['U'][_0x46f718(0x23b)]),_0x312e25=new _0xd8b266['Cartesian2'](_0x21bdf5['V']['min'],_0x21bdf5['V'][_0x46f718(0x23b)]),_0x27abd4=this;this[_0x46f718(0x188)]={'getWind':new _0x11d2ce({'commandType':_0x46f718(0x13d),'uniformMap':{'U':function(){var _0x76f69f=_0x46f718;return _0x27abd4[_0x76f69f(0x1d8)]['U'];},'V':function(){var _0x4173f1=_0x46f718;return _0x27abd4[_0x4173f1(0x1d8)]['V'];},'currentParticlesPosition':function(){var _0x538d4f=_0x46f718;return _0x27abd4[_0x538d4f(0x278)][_0x538d4f(0x28c)];},'dimension':function(){return _0x5593bb;},'minimum':function(){return _0x41aa9b;},'maximum':function(){return _0x4552d7;},'interval':function(){return _0x3452df;}},'fragmentShaderSource':new _0xd8b266[(_0x46f718(0x1e8))]({'sources':[_0x3d2edc['a']]}),'outputTexture':this[_0x46f718(0x278)][_0x46f718(0x285)],'preExecute':function(){var _0x1c8702=_0x46f718;_0x27abd4[_0x1c8702(0x188)][_0x1c8702(0x239)][_0x1c8702(0x165)]['outputTexture']=_0x27abd4['particlesTextures'][_0x1c8702(0x285)];}}),'updateSpeed':new _0x11d2ce({'commandType':_0x46f718(0x13d),'uniformMap':{'currentParticlesSpeed':function(){var _0x54dfe6=_0x46f718;return _0x27abd4[_0x54dfe6(0x278)]['currentParticlesSpeed'];},'particlesWind':function(){var _0x4c123f=_0x46f718;return _0x27abd4[_0x4c123f(0x278)][_0x4c123f(0x285)];},'uSpeedRange':function(){return _0x5ced52;},'vSpeedRange':function(){return _0x312e25;},'pixelSize':function(){var _0x360d34=_0x46f718;return _0x15bbc8[_0x360d34(0x238)];},'speedFactor':function(){var _0x545e76=_0x46f718;return _0x2c8453[_0x545e76(0x1a5)];}},'fragmentShaderSource':new _0xd8b266[(_0x46f718(0x1e8))]({'sources':[_0x32daf4['a']]}),'outputTexture':this[_0x46f718(0x278)][_0x46f718(0x163)],'preExecute':function(){var _0x405687=_0x46f718,_0x5412c5;_0x5412c5=_0x27abd4[_0x405687(0x278)][_0x405687(0x1a1)],_0x27abd4[_0x405687(0x278)][_0x405687(0x1a1)]=_0x27abd4[_0x405687(0x278)][_0x405687(0x25e)],_0x27abd4[_0x405687(0x278)][_0x405687(0x25e)]=_0x5412c5,_0x27abd4[_0x405687(0x188)][_0x405687(0x19c)][_0x405687(0x165)][_0x405687(0x242)]=_0x27abd4[_0x405687(0x278)][_0x405687(0x163)];}}),'updatePosition':new _0x11d2ce({'commandType':_0x46f718(0x13d),'uniformMap':{'currentParticlesPosition':function(){var _0x44299f=_0x46f718;return _0x27abd4[_0x44299f(0x278)][_0x44299f(0x28c)];},'currentParticlesSpeed':function(){var _0x5181df=_0x46f718;return _0x27abd4[_0x5181df(0x278)][_0x5181df(0x1a1)];}},'fragmentShaderSource':new _0xd8b266[(_0x46f718(0x1e8))]({'sources':[_0x13d9db['a']]}),'outputTexture':this['particlesTextures'][_0x46f718(0x1f4)],'preExecute':function(){var _0x31a892=_0x46f718,_0x525506;_0x525506=_0x27abd4['particlesTextures'][_0x31a892(0x28c)],_0x27abd4[_0x31a892(0x278)][_0x31a892(0x28c)]=_0x27abd4[_0x31a892(0x278)]['postProcessingPosition'],_0x27abd4[_0x31a892(0x278)][_0x31a892(0x19d)]=_0x525506,_0x27abd4[_0x31a892(0x188)][_0x31a892(0x1c4)][_0x31a892(0x165)]['outputTexture']=_0x27abd4[_0x31a892(0x278)][_0x31a892(0x1f4)];}}),'postProcessingPosition':new _0x11d2ce({'commandType':_0x46f718(0x13d),'uniformMap':{'nextParticlesPosition':function(){var _0x280cdb=_0x46f718;return _0x27abd4[_0x280cdb(0x278)][_0x280cdb(0x1f4)];},'nextParticlesSpeed':function(){var _0x260ad7=_0x46f718;return _0x27abd4[_0x260ad7(0x278)]['nextParticlesSpeed'];},'lonRange':function(){var _0x15096f=_0x46f718;return _0x15bbc8[_0x15096f(0x1b4)];},'latRange':function(){var _0x536303=_0x46f718;return _0x15bbc8[_0x536303(0x22f)];},'randomCoefficient':function(){var _0xce2c3=_0x46f718,_0x4d2660=Math[_0xce2c3(0x229)]();return _0x4d2660;},'dropRate':function(){var _0x2eb73e=_0x46f718;return _0x2c8453[_0x2eb73e(0x142)];},'dropRateBump':function(){return _0x2c8453['dropRateBump'];}},'fragmentShaderSource':new _0xd8b266['ShaderSource']({'sources':[_0x2dbd65['a']]}),'outputTexture':this[_0x46f718(0x278)]['postProcessingPosition'],'preExecute':function(){var _0x51ddc7=_0x46f718;_0x27abd4[_0x51ddc7(0x188)]['postProcessingPosition'][_0x51ddc7(0x165)]['outputTexture']=_0x27abd4[_0x51ddc7(0x278)][_0x51ddc7(0x19d)];}}),'postProcessingSpeed':new _0x11d2ce({'commandType':_0x46f718(0x13d),'uniformMap':{'postProcessingPosition':function(){var _0x500965=_0x46f718;return _0x27abd4['particlesTextures'][_0x500965(0x19d)];},'nextParticlesSpeed':function(){var _0x371f6b=_0x46f718;return _0x27abd4[_0x371f6b(0x278)][_0x371f6b(0x163)];}},'fragmentShaderSource':new _0xd8b266['ShaderSource']({'sources':[_0x4038e0['a']]}),'outputTexture':this['particlesTextures']['postProcessingSpeed'],'preExecute':function(){var _0x31bb5b=_0x46f718;_0x27abd4['primitives'][_0x31bb5b(0x25e)][_0x31bb5b(0x165)][_0x31bb5b(0x242)]=_0x27abd4[_0x31bb5b(0x278)][_0x31bb5b(0x25e)];}})};}}]),_0x3df8fb;}()),_0x4be1cf=(function(){var _0x4a5318=_0x1cfef6;function _0x100ba9(_0x49e7c7,_0x41a305,_0x2d6fbb,_0x42a391){var _0x5d708a=a0_0x4400;_0x1d12ba()(this,_0x100ba9),this[_0x5d708a(0x224)]=_0x49e7c7,this[_0x5d708a(0x1a4)]=_0x41a305,this[_0x5d708a(0x2ae)]=_0x2d6fbb,this[_0x5d708a(0x24e)]=_0x42a391,this[_0x5d708a(0x1a3)]=new _0x260bd0(this[_0x5d708a(0x224)],this[_0x5d708a(0x1a4)],this[_0x5d708a(0x2ae)],this[_0x5d708a(0x24e)]),this[_0x5d708a(0x167)]=new _0x2a4547(this[_0x5d708a(0x224)],this['data'],this[_0x5d708a(0x2ae)],this[_0x5d708a(0x24e)],this[_0x5d708a(0x1a3)]);}return _0x27ad1f()(_0x100ba9,[{'key':_0x4a5318(0x25c),'value':function(_0x4d30e3){var _0x315a60=_0x4a5318,_0x14606b=this;this[_0x315a60(0x1a3)][_0x315a60(0x22a)](),Object[_0x315a60(0x16c)](this[_0x315a60(0x1a3)]['windTextures'])[_0x315a60(0x21e)](function(_0x10af8c){var _0x223cc7=_0x315a60;_0x14606b[_0x223cc7(0x1a3)][_0x223cc7(0x1d8)][_0x10af8c][_0x223cc7(0x231)]();}),this[_0x315a60(0x167)][_0x315a60(0x2af)][_0x315a60(0x1ba)][_0x315a60(0x231)](),Object[_0x315a60(0x16c)](this[_0x315a60(0x167)][_0x315a60(0x1dd)])[_0x315a60(0x21e)](function(_0x33e502){var _0x2b0449=_0x315a60;_0x14606b[_0x2b0449(0x167)][_0x2b0449(0x1dd)][_0x33e502][_0x2b0449(0x231)]();}),this[_0x315a60(0x224)]=_0x4d30e3,this['particlesComputing']=new _0x260bd0(this[_0x315a60(0x224)],this[_0x315a60(0x1a4)],this[_0x315a60(0x2ae)],this[_0x315a60(0x24e)]),this[_0x315a60(0x167)]=new _0x2a4547(this[_0x315a60(0x224)],this['data'],this[_0x315a60(0x2ae)],this[_0x315a60(0x24e)],this[_0x315a60(0x1a3)]);}},{'key':_0x4a5318(0x159),'value':function(){var _0x4289eb=_0x4a5318,_0x3d0e38=this,_0x2b01b9=new _0xd8b266[(_0x4289eb(0x175))]({'color':new _0xd8b266[(_0x4289eb(0x1e0))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0xd8b266[_0x4289eb(0x174)]['OPAQUE']});Object['keys'](this[_0x4289eb(0x167)]['framebuffers'])['forEach'](function(_0x322c04){var _0x5c4a38=_0x4289eb;_0x2b01b9[_0x5c4a38(0x189)]=_0x3d0e38[_0x5c4a38(0x167)]['framebuffers'][_0x322c04],_0x2b01b9[_0x5c4a38(0x198)](_0x3d0e38['context']);});}},{'key':_0x4a5318(0x215),'value':function(_0x35cc62){var _0x3d7d9a=_0x4a5318;if(this[_0x3d7d9a(0x159)](),this['particlesComputing'][_0x3d7d9a(0x22a)](),this[_0x3d7d9a(0x1a3)][_0x3d7d9a(0x151)](this[_0x3d7d9a(0x224)],this['userInput'],this[_0x3d7d9a(0x24e)]),_0x35cc62){var _0x535be6=this[_0x3d7d9a(0x167)][_0x3d7d9a(0x296)](this[_0x3d7d9a(0x2ae)]);this[_0x3d7d9a(0x167)]['primitives']['segments'][_0x3d7d9a(0x1a9)]=_0x535be6;var _0x1e810d=_0xd8b266['VertexArray'][_0x3d7d9a(0x173)]({'context':this[_0x3d7d9a(0x224)],'geometry':_0x535be6,'attributeLocations':this[_0x3d7d9a(0x167)][_0x3d7d9a(0x188)][_0x3d7d9a(0x225)]['attributeLocations'],'bufferUsage':_0xd8b266[_0x3d7d9a(0x141)]['STATIC_DRAW']});this[_0x3d7d9a(0x167)]['primitives'][_0x3d7d9a(0x225)][_0x3d7d9a(0x165)][_0x3d7d9a(0x287)]=_0x1e810d;}}},{'key':_0x4a5318(0x235),'value':function(_0x2b9e34){var _0x2004a6=_0x4a5318,_0x4ce43d=this,_0x4995ba=!0x1;this[_0x2004a6(0x2ae)][_0x2004a6(0x223)]!=_0x2b9e34[_0x2004a6(0x223)]&&(_0x4995ba=!0x0),Object[_0x2004a6(0x16c)](_0x2b9e34)[_0x2004a6(0x21e)](function(_0x428eee){var _0x2a92ba=_0x2004a6;_0x4ce43d[_0x2a92ba(0x2ae)][_0x428eee]=_0x2b9e34[_0x428eee];}),this[_0x2004a6(0x215)](_0x4995ba);}},{'key':'applyViewerParameters','value':function(_0x5f3127){var _0xe897ab=_0x4a5318,_0x1fc34=this;Object[_0xe897ab(0x16c)](_0x5f3127)[_0xe897ab(0x21e)](function(_0x4bfeb5){var _0x13c6f2=_0xe897ab;_0x1fc34[_0x13c6f2(0x24e)][_0x4bfeb5]=_0x5f3127[_0x4bfeb5];}),this[_0xe897ab(0x215)](!0x1);}}]),_0x100ba9;}());function _0x19c602(_0xa25688){var _0xf4b1a=(function(){var _0x1b16ca=a0_0x4400;if(_0x1b16ca(0x23e)==typeof Reflect||!Reflect[_0x1b16ca(0x28a)])return!0x1;if(Reflect['construct']['sham'])return!0x1;if('function'==typeof Proxy)return!0x0;try{return Boolean[_0x1b16ca(0x1e3)]['valueOf']['call'](Reflect[_0x1b16ca(0x28a)](Boolean,[],function(){})),!0x0;}catch(_0x37a6c0){return!0x1;}}());return function(){var _0x872a9b=a0_0x4400,_0x117b06,_0x42966e=_0x2cdf9c()(_0xa25688);if(_0xf4b1a){var _0x58336e=_0x2cdf9c()(this)[_0x872a9b(0x1a8)];_0x117b06=Reflect[_0x872a9b(0x28a)](_0x42966e,arguments,_0x58336e);}else _0x117b06=_0x42966e[_0x872a9b(0x214)](this,arguments);return _0x2654f9()(this,_0x117b06);};}var _0x483918=_0x18811e['layer']['BaseLayer'],_0x3a58a9=0x1000,_0x1a4882=0x64,_0x4e27b8=0.996,_0x1e5401=0.003,_0x10b511=0.01,_0x456ddf=0.5,_0x188341=0x2,_0x1be7bc=function(_0x4bf278){var _0x32512f=_0x1cfef6;_0x3901bb()(_0x4f4cf8,_0x4bf278);var _0x40ec2c=_0x19c602(_0x4f4cf8);function _0x4f4cf8(){var _0x557d55=a0_0x4400,_0x878e87,_0x72e3d6=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x1d12ba()(this,_0x4f4cf8),(_0x878e87=_0x40ec2c[_0x557d55(0x14b)](this,_0x72e3d6))['maxParticles']=_0x3a58a9,_0x878e87[_0x557d55(0x1ae)]=_0x1a4882,_0x878e87[_0x557d55(0x1b6)]=_0x4e27b8,_0x878e87[_0x557d55(0x142)]=_0x1e5401,_0x878e87[_0x557d55(0x2b0)]=_0x10b511,_0x878e87[_0x557d55(0x1a5)]=_0x456ddf,_0x878e87[_0x557d55(0x1df)]=_0x188341,_0x72e3d6){for(var _0x2354d9 in _0x72e3d6)_0x878e87[_0x2354d9]=_0x72e3d6[_0x2354d9];}return _0x878e87;}return _0x27ad1f()(_0x4f4cf8,[{'key':_0x32512f(0x2ac),'get':function(){var _0x29accf=_0x32512f;return this[_0x29accf(0x188)];}},{'key':_0x32512f(0x25f),'value':function(){}},{'key':'_addedHook','value':function(){var _0x3fec3c=_0x32512f;this[_0x3fec3c(0x154)]=this[_0x3fec3c(0x18f)][_0x3fec3c(0x154)],this[_0x3fec3c(0x146)]=this[_0x3fec3c(0x18f)][_0x3fec3c(0x146)],this[_0x3fec3c(0x188)]=new _0xd8b266['PrimitiveCollection'](),this['_map'][_0x3fec3c(0x154)][_0x3fec3c(0x188)][_0x3fec3c(0x2a0)](this['primitives']),this[_0x3fec3c(0x24e)]={'lonRange':new _0xd8b266[(_0x3fec3c(0x2aa))](),'latRange':new _0xd8b266['Cartesian2'](),'pixelSize':0x0},this[_0x3fec3c(0x195)]=new _0xd8b266[(_0x3fec3c(0x143))](_0xd8b266['Cartesian3'][_0x3fec3c(0x29a)],6314355.63),this[_0x3fec3c(0x221)](),window[_0x3fec3c(0x181)](_0x3fec3c(0x241),this[_0x3fec3c(0x241)][_0x3fec3c(0x1e6)](this),!0x1),this['mouse_down']=!0x1,this[_0x3fec3c(0x192)]=!0x1,this[_0x3fec3c(0x18f)]['on'](_0x18811e[_0x3fec3c(0x1f3)][_0x3fec3c(0x277)],this[_0x3fec3c(0x19a)],this),this['_map']['on'](_0x18811e[_0x3fec3c(0x1f3)][_0x3fec3c(0x291)],this[_0x3fec3c(0x2a9)],this),this[_0x3fec3c(0x18f)]['on'](_0x18811e[_0x3fec3c(0x1f3)]['mouseUp'],this[_0x3fec3c(0x19e)],this),this['_map']['on'](_0x18811e[_0x3fec3c(0x1f3)][_0x3fec3c(0x1e9)],this['_onMouseMoveEvent'],this);}},{'key':_0x32512f(0x203),'value':function(){var _0x531057=_0x32512f;window[_0x531057(0x1d7)](_0x531057(0x241),this['resize']),this[_0x531057(0x18f)][_0x531057(0x274)](_0x18811e['EventType'][_0x531057(0x22e)],this[_0x531057(0x184)],this),this[_0x531057(0x18f)][_0x531057(0x274)](_0x18811e[_0x531057(0x1f3)][_0x531057(0x277)],this[_0x531057(0x19a)],this),this[_0x531057(0x18f)][_0x531057(0x274)](_0x18811e[_0x531057(0x1f3)][_0x531057(0x291)],this[_0x531057(0x2a9)],this),this[_0x531057(0x18f)][_0x531057(0x274)](_0x18811e['EventType'][_0x531057(0x191)],this[_0x531057(0x19e)],this),this[_0x531057(0x18f)][_0x531057(0x274)](_0x18811e[_0x531057(0x1f3)][_0x531057(0x1e9)],this['_onMouseMoveEvent'],this),this[_0x531057(0x188)][_0x531057(0x212)](),this[_0x531057(0x18f)][_0x531057(0x154)][_0x531057(0x188)][_0x531057(0x1f8)](this['primitives']);}},{'key':'resize','value':function(){var _0x305370=_0x32512f;this[_0x305370(0x1de)]&&this['particleSystem']&&(this[_0x305370(0x188)][_0x305370(0x1de)]=!0x1,this[_0x305370(0x188)][_0x305370(0x212)](),this[_0x305370(0x18f)][_0x305370(0x1b3)](_0x18811e[_0x305370(0x1f3)][_0x305370(0x22e)],this['_onMap_preRenderEvent'],this));}},{'key':_0x32512f(0x184),'value':function(_0x4ca44b){var _0x1c81b8=_0x32512f;this['particleSystem'][_0x1c81b8(0x25c)](this['scene'][_0x1c81b8(0x224)]),this[_0x1c81b8(0x23d)](),this['primitives']['show']=!0x0;}},{'key':_0x32512f(0x19a),'value':function(_0x1daaa2){var _0x45034a=_0x32512f,_0x3348af=this;clearTimeout(this[_0x45034a(0x26f)]),this[_0x45034a(0x1de)]&&this['particleSystem']&&(this[_0x45034a(0x188)][_0x45034a(0x1de)]=!0x1,this['refreshTimer']=setTimeout(function(){var _0x6de896=_0x45034a;_0x3348af[_0x6de896(0x1de)]&&_0x3348af['redraw']();},0xc8));}},{'key':_0x32512f(0x2a9),'value':function(_0x3d5621){var _0x244f37=_0x32512f;this[_0x244f37(0x237)]=!0x0;}},{'key':_0x32512f(0x265),'value':function(_0x1c0492){var _0x2bd55c=_0x32512f;this['show']&&this[_0x2bd55c(0x1eb)]&&this[_0x2bd55c(0x237)]&&(this[_0x2bd55c(0x188)][_0x2bd55c(0x1de)]=!0x1,this[_0x2bd55c(0x192)]=!0x0);}},{'key':'_onMouseUpEvent','value':function(_0x418ce9){var _0x2718b3=_0x32512f;this[_0x2718b3(0x1de)]&&this['particleSystem']&&(this['mouse_down']&&this[_0x2718b3(0x192)]&&this['redraw'](),this[_0x2718b3(0x188)][_0x2718b3(0x1de)]=!0x0,this[_0x2718b3(0x237)]=!0x1,this['mouse_move']=!0x1);}},{'key':_0x32512f(0x213),'value':function(){var _0x30bb2a=_0x32512f;this[_0x30bb2a(0x18f)]&&this['show']&&(this['updateViewerParameters'](),this[_0x30bb2a(0x1eb)][_0x30bb2a(0x1be)](this[_0x30bb2a(0x24e)]),this[_0x30bb2a(0x188)][_0x30bb2a(0x1de)]=!0x0);}},{'key':_0x32512f(0x16e),'value':function(_0x5b9361){var _0x3a9d1b=_0x32512f;this[_0x3a9d1b(0x1eb)]=new _0x4be1cf(this[_0x3a9d1b(0x154)][_0x3a9d1b(0x224)],_0x5b9361,this[_0x3a9d1b(0x257)](),this[_0x3a9d1b(0x24e)]),this[_0x3a9d1b(0x23d)]();}},{'key':_0x32512f(0x2a3),'value':function(_0x53e138){var _0x2b3334=_0x32512f;if(_0x53e138){for(var _0x28148b in _0x53e138)this[_0x28148b]=_0x53e138[_0x28148b];}return this[_0x2b3334(0x1eb)]&&this[_0x2b3334(0x1eb)][_0x2b3334(0x235)](this[_0x2b3334(0x257)]()),this;}},{'key':_0x32512f(0x257),'value':function(){var _0x1acb15=_0x32512f,_0x107d02=Math[_0x1acb15(0x15e)](Math[_0x1acb15(0x236)](this['maxParticles']));return this[_0x1acb15(0x223)]=_0x107d02*_0x107d02,{'particlesTextureSize':_0x107d02,'maxParticles':this['maxParticles'],'particleHeight':this[_0x1acb15(0x1ae)],'fadeOpacity':this[_0x1acb15(0x1b6)],'dropRate':this[_0x1acb15(0x142)],'dropRateBump':this['dropRateBump'],'speedFactor':this[_0x1acb15(0x1a5)],'lineWidth':this[_0x1acb15(0x1df)],'globeLayer':this[_0x1acb15(0x2b1)],'WMS_URL':this['WMS_URL']};}},{'key':_0x32512f(0x23d),'value':function(){var _0x140416=_0x32512f;this[_0x140416(0x188)]['add'](this['particleSystem'][_0x140416(0x1a3)][_0x140416(0x188)]['getWind']),this[_0x140416(0x188)][_0x140416(0x2a0)](this[_0x140416(0x1eb)][_0x140416(0x1a3)][_0x140416(0x188)][_0x140416(0x19c)]),this[_0x140416(0x188)][_0x140416(0x2a0)](this[_0x140416(0x1eb)][_0x140416(0x1a3)][_0x140416(0x188)]['updatePosition']),this[_0x140416(0x188)][_0x140416(0x2a0)](this['particleSystem'][_0x140416(0x1a3)][_0x140416(0x188)][_0x140416(0x19d)]),this[_0x140416(0x188)][_0x140416(0x2a0)](this[_0x140416(0x1eb)][_0x140416(0x1a3)]['primitives'][_0x140416(0x25e)]),this['primitives'][_0x140416(0x2a0)](this[_0x140416(0x1eb)]['particlesRendering'][_0x140416(0x188)]['segments']),this[_0x140416(0x188)][_0x140416(0x2a0)](this[_0x140416(0x1eb)][_0x140416(0x167)][_0x140416(0x188)][_0x140416(0x21f)]),this[_0x140416(0x188)][_0x140416(0x2a0)](this[_0x140416(0x1eb)][_0x140416(0x167)][_0x140416(0x188)][_0x140416(0x14a)]);}},{'key':_0x32512f(0x221),'value':function(){var _0x55c8f7=_0x32512f,_0x1f032d=this[_0x55c8f7(0x146)][_0x55c8f7(0x26c)](this[_0x55c8f7(0x154)][_0x55c8f7(0x1c7)]['ellipsoid']);if(!_0x1f032d){var _0x2d16c5=this[_0x55c8f7(0x18f)]['getExtent']();_0x1f032d=_0xd8b266[_0x55c8f7(0x18c)][_0x55c8f7(0x20e)](_0x2d16c5['xmin'],_0x2d16c5['ymin'],_0x2d16c5[_0x55c8f7(0x200)],_0x2d16c5[_0x55c8f7(0x1d0)]);}var _0x2535b0=_0x1173bc[_0x55c8f7(0x29d)](_0x1f032d);this[_0x55c8f7(0x24e)]['lonRange']['x']=_0x2535b0[_0x55c8f7(0x258)][_0x55c8f7(0x144)],this[_0x55c8f7(0x24e)][_0x55c8f7(0x1b4)]['y']=_0x2535b0[_0x55c8f7(0x258)]['max'],this[_0x55c8f7(0x24e)][_0x55c8f7(0x22f)]['x']=_0x2535b0[_0x55c8f7(0x1fa)][_0x55c8f7(0x144)],this['viewerParameters'][_0x55c8f7(0x22f)]['y']=_0x2535b0[_0x55c8f7(0x1fa)][_0x55c8f7(0x23b)];var _0x59adbe=this[_0x55c8f7(0x146)][_0x55c8f7(0x177)](this['globeBoundingSphere'],this[_0x55c8f7(0x154)]['drawingBufferWidth'],this[_0x55c8f7(0x154)][_0x55c8f7(0x1f9)]);_0x59adbe>0x0&&(this[_0x55c8f7(0x24e)][_0x55c8f7(0x238)]=_0x59adbe);}}]),_0x4f4cf8;}(_0x483918);_0x18811e['LayerUtil'][_0x1cfef6(0x298)](_0x1cfef6(0x149),_0x1be7bc),_0x18811e[_0x1cfef6(0x2ac)]['WindLayer']=_0x1be7bc;var _0x2d99ff=_0x27ad1f()(function _0x3ce2e5(){var _0x360a2d=_0x1cfef6;_0x1d12ba()(this,_0x3ce2e5),this[_0x360a2d(0x2b4)]=null,this[_0x360a2d(0x1fa)]=null,this[_0x360a2d(0x290)]=null,this[_0x360a2d(0x279)]=null,this[_0x360a2d(0x288)]=null;}),_0x52e90d=(function(){var _0x3acccf=_0x1cfef6;function _0x15519f(_0x1ff144,_0xf7c674){var _0x472602=a0_0x4400;_0x1d12ba()(this,_0x15519f),this[_0x472602(0x1e4)]=_0x1ff144['rows'],this[_0x472602(0x281)]=_0x1ff144[_0x472602(0x281)],this[_0x472602(0x201)]=_0x1ff144[_0x472602(0x201)],this[_0x472602(0x200)]=_0x1ff144[_0x472602(0x200)],this[_0x472602(0x16b)]=_0x1ff144[_0x472602(0x16b)],this['ymax']=_0x1ff144[_0x472602(0x1d0)],this['grid']=[];var _0x146db6=_0x1ff144[_0x472602(0x14c)],_0x564d80=_0x1ff144['vdata'],_0x41ad24=!0x1;_0x146db6['length']===this[_0x472602(0x1e4)]&&_0x146db6[0x0][_0x472602(0x29c)]===this[_0x472602(0x281)]&&(_0x41ad24=!0x0);for(var _0x253af0=0x0,_0x85fa1f=null,_0x18aadf=null,_0x5afa85=0x0;_0x5afa85<this['rows'];_0x5afa85++){_0x85fa1f=[];for(var _0xc1d2fd=0x0;_0xc1d2fd<this[_0x472602(0x281)];_0xc1d2fd++,_0x253af0++)_0x18aadf=_0x41ad24?this[_0x472602(0x249)](_0x146db6[_0x5afa85][_0xc1d2fd],_0x564d80[_0x5afa85][_0xc1d2fd]):this[_0x472602(0x249)](_0x146db6[_0x253af0],_0x564d80[_0x253af0]),_0x85fa1f[_0x472602(0x1fe)](_0x18aadf);this[_0x472602(0x295)][_0x472602(0x1fe)](_0x85fa1f);}_0xf7c674&&this[_0x472602(0x295)][_0x472602(0x28d)]();}return _0x27ad1f()(_0x15519f,[{'key':_0x3acccf(0x1bb),'value':function(_0x3d6002,_0x25762f){var _0xbc609=_0x3acccf;return{'x':(_0x3d6002-this[_0xbc609(0x201)])/(this['xmax']-this[_0xbc609(0x201)])*(this[_0xbc609(0x281)]-0x1),'y':(this[_0xbc609(0x1d0)]-_0x25762f)/(this[_0xbc609(0x1d0)]-this[_0xbc609(0x16b)])*(this['rows']-0x1)};}},{'key':_0x3acccf(0x217),'value':function(_0x3031cd,_0x14d6f0){var _0x4ea51e=_0x3acccf;if(_0x3031cd<0x0||_0x3031cd>=this['cols']||_0x14d6f0>=this[_0x4ea51e(0x1e4)])return[0x0,0x0,0x0];var _0x374f6e,_0x39cd3f,_0x2b10ed=Math[_0x4ea51e(0x17e)](_0x3031cd),_0x4e2073=Math[_0x4ea51e(0x17e)](_0x14d6f0);if(_0x2b10ed===_0x3031cd&&_0x4e2073===_0x14d6f0)return this[_0x4ea51e(0x295)][_0x14d6f0][_0x3031cd];_0x374f6e=_0x2b10ed+0x1,_0x39cd3f=_0x4e2073+0x1;var _0x7bf29=this[_0x4ea51e(0x217)](_0x2b10ed,_0x4e2073),_0x20af08=this['getUVByXY'](_0x374f6e,_0x4e2073),_0x5490f9=this[_0x4ea51e(0x217)](_0x2b10ed,_0x39cd3f),_0x2c8adc=this['getUVByXY'](_0x374f6e,_0x39cd3f),_0x1f0f14=null;try{_0x1f0f14=this['_bilinearInterpolation'](_0x3031cd-_0x2b10ed,_0x14d6f0-_0x4e2073,_0x7bf29,_0x20af08,_0x5490f9,_0x2c8adc);}catch(_0x15c4c4){console['log'](_0x3031cd,_0x14d6f0);}return _0x1f0f14;}},{'key':'_bilinearInterpolation','value':function(_0x282eae,_0x224697,_0x52fc63,_0x4d250e,_0x5291e8,_0x2cc354){var _0x3aa962=_0x3acccf,_0x4ea728=0x1-_0x282eae,_0x2e29d7=0x1-_0x224697,_0x398d05=_0x4ea728*_0x2e29d7,_0x420cb3=_0x282eae*_0x2e29d7,_0x4ca04b=_0x4ea728*_0x224697,_0xe81f4f=_0x282eae*_0x224697,_0x3f06e6=_0x52fc63[0x0]*_0x398d05+_0x4d250e[0x0]*_0x420cb3+_0x5291e8[0x0]*_0x4ca04b+_0x2cc354[0x0]*_0xe81f4f,_0x5e46a7=_0x52fc63[0x1]*_0x398d05+_0x4d250e[0x1]*_0x420cb3+_0x5291e8[0x1]*_0x4ca04b+_0x2cc354[0x1]*_0xe81f4f;return this[_0x3aa962(0x249)](_0x3f06e6,_0x5e46a7);}},{'key':_0x3acccf(0x249),'value':function(_0x17489e,_0x2123dd){return[+_0x17489e,+_0x2123dd,Math['sqrt'](_0x17489e*_0x17489e+_0x2123dd*_0x2123dd)];}},{'key':_0x3acccf(0x158),'value':function(_0xccf418,_0x41cd96){var _0x39fb0e=_0x3acccf;if(!this[_0x39fb0e(0x25a)](_0xccf418,_0x41cd96))return null;var _0x3a55d6=this['toGridXY'](_0xccf418,_0x41cd96);return this[_0x39fb0e(0x217)](_0x3a55d6['x'],_0x3a55d6['y']);}},{'key':_0x3acccf(0x25a),'value':function(_0x3fc044,_0xee66ca){var _0x46ff5a=_0x3acccf;return _0x3fc044>=this[_0x46ff5a(0x201)]&&_0x3fc044<=this[_0x46ff5a(0x200)]&&_0xee66ca>=this['ymin']&&_0xee66ca<=this[_0x46ff5a(0x1d0)];}},{'key':_0x3acccf(0x2ab),'value':function(){var _0x54b8fe=_0x3acccf,_0x29ed52=_0x3b2fec(this[_0x54b8fe(0x201)],this[_0x54b8fe(0x200)]);return{'lat':_0x3b2fec(this[_0x54b8fe(0x16b)],this[_0x54b8fe(0x1d0)]),'lng':_0x29ed52};}}]),_0x15519f;}());function _0x3b2fec(_0x154d09,_0x942568){var _0x228eaf=_0x1cfef6;return _0x154d09+Math[_0x228eaf(0x229)]()*(_0x942568-_0x154d09);}function _0x2a979d(_0xfa422){var _0x54821=(function(){var _0x32c5e3=a0_0x4400;if(_0x32c5e3(0x23e)==typeof Reflect||!Reflect['construct'])return!0x1;if(Reflect[_0x32c5e3(0x28a)][_0x32c5e3(0x164)])return!0x1;if(_0x32c5e3(0x16a)==typeof Proxy)return!0x0;try{return Boolean[_0x32c5e3(0x1e3)]['valueOf'][_0x32c5e3(0x14b)](Reflect[_0x32c5e3(0x28a)](Boolean,[],function(){})),!0x0;}catch(_0x584f94){return!0x1;}}());return function(){var _0x158614=a0_0x4400,_0x504745,_0x1c59df=_0x2cdf9c()(_0xfa422);if(_0x54821){var _0x58d519=_0x2cdf9c()(this)[_0x158614(0x1a8)];_0x504745=Reflect[_0x158614(0x28a)](_0x1c59df,arguments,_0x58d519);}else _0x504745=_0x1c59df[_0x158614(0x214)](this,arguments);return _0x2654f9()(this,_0x504745);};}var _0x39089f=function(_0x1628e8){var _0x4e12d7=_0x1cfef6;_0x3901bb()(_0x4493ed,_0x1628e8);var _0x56c03b=_0x2a979d(_0x4493ed);function _0x4493ed(){var _0x51c8f6=a0_0x4400,_0x4dfe82,_0x3004ec=arguments[_0x51c8f6(0x29c)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x1d12ba()(this,_0x4493ed),(_0x4dfe82=_0x56c03b[_0x51c8f6(0x14b)](this,_0x3004ec))['calc_speedRate']=[0x0,0x0],_0x4dfe82[_0x51c8f6(0x284)]=[],_0x4dfe82[_0x51c8f6(0x1c1)]=_0x3004ec[_0x51c8f6(0x1c1)]||0x32,_0x4dfe82[_0x51c8f6(0x20f)]=_0x3004ec['particlesNumber']||0x4e20,_0x4dfe82[_0x51c8f6(0x23f)]=_0x3004ec[_0x51c8f6(0x1fb)]||0x78,_0x4dfe82[_0x51c8f6(0x232)]=0x3e8/(_0x3004ec[_0x51c8f6(0x1ec)]||0xa),_0x4dfe82[_0x51c8f6(0x256)]=_0xd8b266['defaultValue'](_0x4dfe82[_0x51c8f6(0x282)][_0x51c8f6(0x15d)],!0x1),_0x4dfe82[_0x51c8f6(0x243)]=_0x3004ec[_0x51c8f6(0x243)]||_0x51c8f6(0x29e),_0x4dfe82[_0x51c8f6(0x1df)]=_0x3004ec[_0x51c8f6(0x1df)]||0x1,_0x4dfe82[_0x51c8f6(0x27c)]=_0xd8b266['defaultValue'](_0x3004ec['fixedHeight'],0x0),_0x4dfe82[_0x51c8f6(0x269)]=_0xd8b266[_0x51c8f6(0x20c)](_0x3004ec[_0x51c8f6(0x269)],!0x1),_0x4dfe82[_0x51c8f6(0x248)]=null,_0x4dfe82;}return _0x27ad1f()(_0x4493ed,[{'key':_0x4e12d7(0x2ac),'get':function(){var _0x436aee=_0x4e12d7;return this[_0x436aee(0x248)];}},{'key':_0x4e12d7(0x293),'get':function(){var _0x1fa390=_0x4e12d7;return this['_map']['scene'][_0x1fa390(0x248)][_0x1fa390(0x1e5)];}},{'key':_0x4e12d7(0x253),'get':function(){var _0x573ac4=_0x4e12d7;return this[_0x573ac4(0x18f)][_0x573ac4(0x154)][_0x573ac4(0x248)]['clientHeight'];}},{'key':_0x4e12d7(0x15d),'get':function(){return this['_pointerEvents'];},'set':function(_0x26d629){var _0x1224a4=_0x4e12d7;this['_pointerEvents']=_0x26d629,this['canvas']&&(this[_0x1224a4(0x248)][_0x1224a4(0x206)][_0x1224a4(0x199)]=_0x26d629?_0x1224a4(0x1f6):_0x1224a4(0x245));}},{'key':_0x4e12d7(0x1c1),'get':function(){return this['_speedRate'];},'set':function(_0x2eedd9){var _0x211f4b=_0x4e12d7;this['_speedRate']=0x64*(0x64-(_0x2eedd9>0x63?0x63:_0x2eedd9)),this[_0x211f4b(0x1f5)]();}},{'key':'particlesNumber','get':function(){return this['_particlesNumber'];},'set':function(_0x4495a2){var _0x369463=_0x4e12d7,_0x484ce7=this;this[_0x369463(0x20f)]=_0x4495a2,clearTimeout(this['canrefresh']),this[_0x369463(0x1f0)]=setTimeout(function(){var _0x5a59c1=_0x369463;_0x484ce7[_0x5a59c1(0x213)]();},0x1f4);}},{'key':_0x4e12d7(0x1fb),'get':function(){return this['_maxAge'];},'set':function(_0x3f2225){var _0x4a9e62=_0x4e12d7,_0xecf93a=this;this[_0x4a9e62(0x23f)]=_0x3f2225,clearTimeout(this[_0x4a9e62(0x1f0)]),this[_0x4a9e62(0x1f0)]=setTimeout(function(){var _0x1e6901=_0x4a9e62;_0xecf93a[_0x1e6901(0x213)]();},0x1f4);}},{'key':_0x4e12d7(0x1a4),'get':function(){return this['windData'];},'set':function(_0x44fa9e){var _0x52361a=_0x4e12d7;this[_0x52361a(0x276)](_0x44fa9e);}},{'key':_0x4e12d7(0x280),'value':function(_0x31e983){var _0x5a3683=_0x4e12d7;_0x31e983?this[_0x5a3683(0x266)]():(this[_0x5a3683(0x28e)]&&(this['options'][_0x5a3683(0x1a4)]=this[_0x5a3683(0x28e)]),this[_0x5a3683(0x203)]());}},{'key':_0x4e12d7(0x25f),'value':function(){}},{'key':_0x4e12d7(0x266),'value':function(){var _0x586f03=_0x4e12d7;this['canvas']=this[_0x586f03(0x1f1)](),this[_0x586f03(0x25d)]=this['canvas'][_0x586f03(0x204)]('2d'),this[_0x586f03(0x1c5)](),this[_0x586f03(0x282)][_0x586f03(0x1a4)]&&this[_0x586f03(0x276)](this[_0x586f03(0x282)][_0x586f03(0x1a4)]);}},{'key':_0x4e12d7(0x203),'value':function(){var _0x5c0077=_0x4e12d7;this[_0x5c0077(0x1cd)](),this[_0x5c0077(0x28b)](),this[_0x5c0077(0x248)]&&(this['_map'][_0x5c0077(0x2b3)][_0x5c0077(0x268)](this[_0x5c0077(0x248)]),delete this[_0x5c0077(0x248)]);}},{'key':'_createCanvas','value':function(){var _0x6513f7=_0x4e12d7,_0x137c0e=document[_0x6513f7(0x211)]('canvas');_0x137c0e['style'][_0x6513f7(0x1d2)]=_0x6513f7(0x230),_0x137c0e[_0x6513f7(0x206)][_0x6513f7(0x207)]=_0x6513f7(0x155),_0x137c0e['style'][_0x6513f7(0x1aa)]=_0x6513f7(0x155),_0x137c0e['style']['width']=_0x6513f7(0x1fc),_0x137c0e['style'][_0x6513f7(0x27a)]='100%',_0x137c0e[_0x6513f7(0x206)]['pointerEvents']=this[_0x6513f7(0x256)]?_0x6513f7(0x202):_0x6513f7(0x245),_0x137c0e[_0x6513f7(0x206)][_0x6513f7(0x1b0)]=0xa,_0x137c0e[_0x6513f7(0x2a4)]('id',_0x6513f7(0x1e7)),_0x137c0e[_0x6513f7(0x2a4)](_0x6513f7(0x251),'canvasWindy'),this['_map']['container'][_0x6513f7(0x1a0)](_0x137c0e);var _0x1ee05c=this[_0x6513f7(0x18f)][_0x6513f7(0x154)];return _0x137c0e['width']=_0x1ee05c['canvas'][_0x6513f7(0x1e5)],_0x137c0e[_0x6513f7(0x27a)]=_0x1ee05c[_0x6513f7(0x248)][_0x6513f7(0x2a1)],_0x137c0e;}},{'key':'resize','value':function(){var _0x165b19=_0x4e12d7;this[_0x165b19(0x248)]&&(this[_0x165b19(0x248)][_0x165b19(0x166)]=this[_0x165b19(0x293)],this[_0x165b19(0x248)][_0x165b19(0x27a)]=this['canvasHeight']);}},{'key':_0x4e12d7(0x1c5),'value':function(){var _0x4a70ba=_0x4e12d7,_0x5c46e7=this,_0x2ddeff=Date[_0x4a70ba(0x1c8)]();!function _0x3a977c(){var _0x427bcc=_0x4a70ba;_0x5c46e7['animateFrame']=window[_0x427bcc(0x226)](_0x3a977c);var _0x469124=Date[_0x427bcc(0x1c8)](),_0x2ce5cf=_0x469124-_0x2ddeff;_0x2ce5cf>_0x5c46e7[_0x427bcc(0x232)]&&(_0x2ddeff=_0x469124-_0x2ce5cf%_0x5c46e7[_0x427bcc(0x232)],_0x5c46e7[_0x427bcc(0x187)]());}(),window[_0x4a70ba(0x181)](_0x4a70ba(0x241),this[_0x4a70ba(0x241)][_0x4a70ba(0x1e6)](this),!0x1),this[_0x4a70ba(0x237)]=!0x1,this[_0x4a70ba(0x192)]=!0x1,this[_0x4a70ba(0x18f)]['on'](_0x18811e['EventType'][_0x4a70ba(0x277)],this[_0x4a70ba(0x19a)],this),this[_0x4a70ba(0x18f)]['on'](_0x18811e['EventType'][_0x4a70ba(0x291)],this[_0x4a70ba(0x2a9)],this),this['_map']['on'](_0x18811e[_0x4a70ba(0x1f3)][_0x4a70ba(0x191)],this[_0x4a70ba(0x19e)],this),this[_0x4a70ba(0x18f)]['on'](_0x18811e[_0x4a70ba(0x1f3)][_0x4a70ba(0x1e9)],this[_0x4a70ba(0x265)],this);}},{'key':_0x4e12d7(0x28b),'value':function(){var _0x41117a=_0x4e12d7;window['cancelAnimationFrame'](this['animateFrame']),delete this[_0x41117a(0x1f7)],window['removeEventListener'](_0x41117a(0x241),this['resize']),this[_0x41117a(0x18f)][_0x41117a(0x274)](_0x18811e['EventType'][_0x41117a(0x277)],this[_0x41117a(0x19a)],this),this['_map']['off'](_0x18811e[_0x41117a(0x1f3)][_0x41117a(0x291)],this['_onMouseDownEvent'],this),this[_0x41117a(0x18f)][_0x41117a(0x274)](_0x18811e[_0x41117a(0x1f3)][_0x41117a(0x191)],this[_0x41117a(0x19e)],this),this[_0x41117a(0x18f)][_0x41117a(0x274)](_0x18811e['EventType'][_0x41117a(0x1e9)],this[_0x41117a(0x265)],this);}},{'key':_0x4e12d7(0x19a),'value':function(_0x387a9c){var _0x2839af=_0x4e12d7,_0x181c3a=this;clearTimeout(this[_0x2839af(0x26f)]),this[_0x2839af(0x1de)]&&this['canvas']&&(this[_0x2839af(0x248)][_0x2839af(0x206)]['visibility']=_0x2839af(0x178),this[_0x2839af(0x26f)]=setTimeout(function(){var _0x17fe45=_0x2839af;_0x181c3a[_0x17fe45(0x1de)]&&(_0x181c3a[_0x17fe45(0x213)](),_0x181c3a[_0x17fe45(0x248)][_0x17fe45(0x206)][_0x17fe45(0x148)]=_0x17fe45(0x270));},0xc8));}},{'key':'_onMouseDownEvent','value':function(_0x40ba7d){this['mouse_down']=!0x0;}},{'key':_0x4e12d7(0x265),'value':function(_0x3ff1b2){var _0x1da496=_0x4e12d7;this['show']&&this[_0x1da496(0x248)]&&this[_0x1da496(0x237)]&&(this['canvas'][_0x1da496(0x206)][_0x1da496(0x148)]=_0x1da496(0x178),this['mouse_move']=!0x0);}},{'key':'_onMouseUpEvent','value':function(_0x3297f2){var _0x2eea57=_0x4e12d7;this[_0x2eea57(0x1de)]&&this[_0x2eea57(0x248)]&&(this[_0x2eea57(0x237)]&&this[_0x2eea57(0x192)]&&this[_0x2eea57(0x213)](),this[_0x2eea57(0x248)][_0x2eea57(0x206)][_0x2eea57(0x148)]='visible',this[_0x2eea57(0x237)]=!0x1,this['mouse_move']=!0x1);}},{'key':'redraw','value':function(){var _0x49a99e=_0x4e12d7;this[_0x49a99e(0x1de)]&&this['windField']&&(this[_0x49a99e(0x284)]=[],this[_0x49a99e(0x27e)]());}},{'key':_0x4e12d7(0x276),'value':function(_0xbcac49){var _0x4c698e=_0x4e12d7;this[_0x4c698e(0x1cd)](),this[_0x4c698e(0x28e)]=_0xbcac49,this['windField']=new _0x52e90d(this[_0x4c698e(0x28e)],this['reverseY']),this[_0x4c698e(0x27e)]();}},{'key':_0x4e12d7(0x27e),'value':function(){var _0x303595=_0x4e12d7;this['_calcStep']();for(var _0x44c783=0x0;_0x44c783<this[_0x303595(0x297)];_0x44c783++){var _0x42b195=this[_0x303595(0x160)](new _0x2d99ff());this['particles'][_0x303595(0x1fe)](_0x42b195);}this[_0x303595(0x25d)][_0x303595(0x24d)]=_0x303595(0x1f2),this[_0x303595(0x25d)][_0x303595(0x234)]=0.6,this[_0x303595(0x187)]();}},{'key':_0x4e12d7(0x1f5),'value':function(){var _0x12ce4b=_0x4e12d7;this[_0x12ce4b(0x1cb)]&&(this[_0x12ce4b(0x219)]=[(this[_0x12ce4b(0x1cb)]['xmax']-this[_0x12ce4b(0x1cb)]['xmin'])/this[_0x12ce4b(0x1c1)],(this[_0x12ce4b(0x1cb)][_0x12ce4b(0x1d0)]-this[_0x12ce4b(0x1cb)][_0x12ce4b(0x16b)])/this['speedRate']]);}},{'key':_0x4e12d7(0x187),'value':function(){var _0x198fa6=_0x4e12d7,_0x4afb3e=this;if(this['show']&&!(this[_0x198fa6(0x284)][_0x198fa6(0x29c)]<=0x0)){var _0x23ab0=null,_0xb8e668=null,_0x1daeee=null;this[_0x198fa6(0x284)][_0x198fa6(0x21e)](function(_0x5e7b79){var _0x40a9f8=_0x198fa6;if(_0x5e7b79[_0x40a9f8(0x288)]<=0x0&&_0x4afb3e[_0x40a9f8(0x160)](_0x5e7b79),_0x5e7b79[_0x40a9f8(0x288)]>0x0){var _0x58960a=_0x5e7b79[_0x40a9f8(0x290)],_0x33eb5a=_0x5e7b79['tlat'];(_0x1daeee=_0x4afb3e[_0x40a9f8(0x1cb)][_0x40a9f8(0x158)](_0x58960a,_0x33eb5a))?(_0x23ab0=_0x58960a+_0x4afb3e[_0x40a9f8(0x219)][0x0]*_0x1daeee[0x0],_0xb8e668=_0x33eb5a+_0x4afb3e[_0x40a9f8(0x219)][0x1]*_0x1daeee[0x1],_0x5e7b79[_0x40a9f8(0x2b4)]=_0x58960a,_0x5e7b79[_0x40a9f8(0x1fa)]=_0x33eb5a,_0x5e7b79['tlng']=_0x23ab0,_0x5e7b79[_0x40a9f8(0x279)]=_0xb8e668,_0x5e7b79[_0x40a9f8(0x288)]--):_0x5e7b79[_0x40a9f8(0x288)]=0x0;}}),this[_0x198fa6(0x171)]();}}},{'key':'_tomap','value':function(_0x24bbb7,_0x2bfc85,_0x564b17){var _0x5be010=_0x4e12d7,_0x4e2c23=_0xd8b266['Cartesian3'][_0x5be010(0x20e)](_0x24bbb7,_0x2bfc85,this['fixedHeight']),_0x4f35d6=this['_map'][_0x5be010(0x154)];if(_0x4f35d6[_0x5be010(0x244)]===_0xd8b266['SceneMode'][_0x5be010(0x183)]&&!new _0xd8b266[(_0x5be010(0x20b))](_0x4f35d6[_0x5be010(0x1c7)]['ellipsoid'],_0x4f35d6['camera']['positionWC'])[_0x5be010(0x13c)](_0x4e2c23))return _0x564b17['age']=0x0,null;var _0x6670fe=_0xd8b266['SceneTransforms'][_0x5be010(0x1c3)](this['_map']['scene'],_0x4e2c23);return _0x6670fe?[_0x6670fe['x'],_0x6670fe['y']]:null;}},{'key':_0x4e12d7(0x171),'value':function(){var _0x49f0f1=_0x4e12d7,_0x4ae9b8=this,_0x1b41ba=this[_0x49f0f1(0x284)];this[_0x49f0f1(0x25d)][_0x49f0f1(0x1df)]=_0x4ae9b8[_0x49f0f1(0x1df)],this[_0x49f0f1(0x25d)][_0x49f0f1(0x17a)]=_0x49f0f1(0x2a7),this[_0x49f0f1(0x25d)][_0x49f0f1(0x1d3)](0x0,0x0,this[_0x49f0f1(0x293)],this[_0x49f0f1(0x253)]),this[_0x49f0f1(0x25d)]['globalCompositeOperation']='lighter',this[_0x49f0f1(0x25d)]['globalAlpha']=0.9,this[_0x49f0f1(0x25d)][_0x49f0f1(0x2ad)](),this[_0x49f0f1(0x25d)][_0x49f0f1(0x15b)]=this['color'];var _0xc60ded=this[_0x49f0f1(0x18f)][_0x49f0f1(0x154)]['mode']!==_0xd8b266['SceneMode'][_0x49f0f1(0x183)];_0x1b41ba[_0x49f0f1(0x21e)](function(_0x1ec47d){var _0xc6fe9a=_0x49f0f1,_0x206678=_0x4ae9b8[_0xc6fe9a(0x28f)](_0x1ec47d[_0xc6fe9a(0x2b4)],_0x1ec47d[_0xc6fe9a(0x1fa)],_0x1ec47d),_0x56b8cb=_0x4ae9b8[_0xc6fe9a(0x28f)](_0x1ec47d['tlng'],_0x1ec47d['tlat'],_0x1ec47d);if(null!=_0x206678&&null!=_0x56b8cb){var _0x1cd6de=Math['abs'](_0x206678[0x0]-_0x56b8cb[0x0]);_0xc60ded&&_0x1cd6de>=_0x4ae9b8[_0xc6fe9a(0x293)]||(_0x4ae9b8[_0xc6fe9a(0x25d)][_0xc6fe9a(0x17d)](_0x206678[0x0],_0x206678[0x1]),_0x4ae9b8[_0xc6fe9a(0x25d)][_0xc6fe9a(0x275)](_0x56b8cb[0x0],_0x56b8cb[0x1]));}}),this[_0x49f0f1(0x25d)][_0x49f0f1(0x193)]();}},{'key':_0x4e12d7(0x160),'value':function(_0x1033b1){var _0x1461d2=_0x4e12d7;for(var _0xb6f762,_0x1ee8d,_0x1266b7=0x0;_0x1266b7<0x1e&&(_0xb6f762=this[_0x1461d2(0x1cb)][_0x1461d2(0x2ab)](),!((_0x1ee8d=this[_0x1461d2(0x1cb)]['getUVByPoint'](_0xb6f762[_0x1461d2(0x2b4)],_0xb6f762[_0x1461d2(0x1fa)]))&&_0x1ee8d[0x2]>0x0));_0x1266b7++);if(!_0x1ee8d)return _0x1033b1;var _0x56baa8=_0xb6f762['lng']+this[_0x1461d2(0x219)][0x0]*_0x1ee8d[0x0],_0x178547=_0xb6f762['lat']+this[_0x1461d2(0x219)][0x1]*_0x1ee8d[0x1];return _0x1033b1['lng']=_0xb6f762[_0x1461d2(0x2b4)],_0x1033b1[_0x1461d2(0x1fa)]=_0xb6f762['lat'],_0x1033b1[_0x1461d2(0x290)]=_0x56baa8,_0x1033b1[_0x1461d2(0x279)]=_0x178547,_0x1033b1[_0x1461d2(0x288)]=Math[_0x1461d2(0x150)](Math[_0x1461d2(0x229)]()*this[_0x1461d2(0x1fb)]),_0x1033b1;}},{'key':_0x4e12d7(0x1cd),'value':function(){var _0x41beb6=_0x4e12d7;this['particles']=[],delete this[_0x41beb6(0x1cb)],delete this['windData'];}}]),_0x4493ed;}(_0x18811e['layer'][_0x1cfef6(0x1ab)]);function _0x17c690(_0x57e303,_0x2cb4c0){var _0x2a7592=_0x1cfef6;return _0x57e303*Math[_0x2a7592(0x14d)](_0xd8b266['Math'][_0x2a7592(0x1d4)](_0x2cb4c0));}function _0x49f5a9(_0x3e9df0,_0x50953e){var _0x27d3c2=_0x1cfef6;return _0x3e9df0*Math[_0x27d3c2(0x16d)](_0xd8b266[_0x27d3c2(0x1cc)]['toRadians'](_0x50953e));}function _0xd2fb33(_0x45917a,_0x2ee0e2){var _0x338d20=_0x1cfef6;return Math[_0x338d20(0x236)](Math[_0x338d20(0x20d)](_0x45917a,0x2)+Math[_0x338d20(0x20d)](_0x2ee0e2,0x2));}function _0x4666c4(_0x4ae033,_0x3c1ddf){var _0x44e224=_0x1cfef6,_0x5b230b=_0xd8b266[_0x44e224(0x1cc)][_0x44e224(0x21d)](Math[_0x44e224(0x1bc)](_0x3c1ddf,_0x4ae033));return _0x5b230b+=_0x5b230b<0x0?0x168:0x0;}_0x18811e[_0x1cfef6(0x1ce)][_0x1cfef6(0x298)](_0x1cfef6(0x1c0),_0x39089f),_0x18811e[_0x1cfef6(0x2ac)][_0x1cfef6(0x24f)]=_0x39089f,_0x18811e[_0x1cfef6(0x259)]=_0x1eadea;}]));
|
|
30
|
+
var a0_0x54e0cc=a0_0x3080;(function(_0x451ae5,_0x41d121){var _0x1dcc05=a0_0x3080,_0x246404=_0x451ae5();while(!![]){try{var _0x3973ec=-parseInt(_0x1dcc05(0xd6))/0x1*(parseInt(_0x1dcc05(0x216))/0x2)+-parseInt(_0x1dcc05(0x121))/0x3*(-parseInt(_0x1dcc05(0x157))/0x4)+-parseInt(_0x1dcc05(0xda))/0x5+-parseInt(_0x1dcc05(0x22a))/0x6*(parseInt(_0x1dcc05(0x179))/0x7)+parseInt(_0x1dcc05(0x185))/0x8*(-parseInt(_0x1dcc05(0x21e))/0x9)+-parseInt(_0x1dcc05(0xf7))/0xa+parseInt(_0x1dcc05(0x14f))/0xb*(parseInt(_0x1dcc05(0x1a1))/0xc);if(_0x3973ec===_0x41d121)break;else _0x246404['push'](_0x246404['shift']());}catch(_0x19d2d9){_0x246404['push'](_0x246404['shift']());}}}(a0_0x1d56,0x5b726),window[a0_0x54e0cc(0x1fe)]=function(_0x1425e0){var _0x213a61={};function _0x3de898(_0x2d8cfe){var _0x203820=a0_0x3080;if(_0x213a61[_0x2d8cfe])return _0x213a61[_0x2d8cfe][_0x203820(0x1e5)];var _0x5d8d2d=_0x213a61[_0x2d8cfe]={'i':_0x2d8cfe,'l':!0x1,'exports':{}};return _0x1425e0[_0x2d8cfe][_0x203820(0x1e8)](_0x5d8d2d[_0x203820(0x1e5)],_0x5d8d2d,_0x5d8d2d[_0x203820(0x1e5)],_0x3de898),_0x5d8d2d['l']=!0x0,_0x5d8d2d['exports'];}return _0x3de898['m']=_0x1425e0,_0x3de898['c']=_0x213a61,_0x3de898['d']=function(_0x3ae9c1,_0x2f75b0,_0x112493){var _0x474a5a=a0_0x3080;_0x3de898['o'](_0x3ae9c1,_0x2f75b0)||Object[_0x474a5a(0x210)](_0x3ae9c1,_0x2f75b0,{'enumerable':!0x0,'get':_0x112493});},_0x3de898['r']=function(_0x2c2a60){var _0x19b337=a0_0x3080;'undefined'!=typeof Symbol&&Symbol[_0x19b337(0x154)]&&Object[_0x19b337(0x210)](_0x2c2a60,Symbol[_0x19b337(0x154)],{'value':_0x19b337(0x181)}),Object['defineProperty'](_0x2c2a60,'__esModule',{'value':!0x0});},_0x3de898['t']=function(_0x414f50,_0x3e4460){var _0x1cb93b=a0_0x3080;if(0x1&_0x3e4460&&(_0x414f50=_0x3de898(_0x414f50)),0x8&_0x3e4460)return _0x414f50;if(0x4&_0x3e4460&&'object'==typeof _0x414f50&&_0x414f50&&_0x414f50[_0x1cb93b(0x18c)])return _0x414f50;var _0x1eef90=Object[_0x1cb93b(0x1d6)](null);if(_0x3de898['r'](_0x1eef90),Object[_0x1cb93b(0x210)](_0x1eef90,'default',{'enumerable':!0x0,'value':_0x414f50}),0x2&_0x3e4460&&_0x1cb93b(0xe5)!=typeof _0x414f50){for(var _0x26a953 in _0x414f50)_0x3de898['d'](_0x1eef90,_0x26a953,function(_0x432b56){return _0x414f50[_0x432b56];}[_0x1cb93b(0x146)](null,_0x26a953));}return _0x1eef90;},_0x3de898['n']=function(_0x3a75e7){var _0x168f55=a0_0x3080,_0x37d727=_0x3a75e7&&_0x3a75e7[_0x168f55(0x18c)]?function(){var _0x133ca4=_0x168f55;return _0x3a75e7[_0x133ca4(0xd1)];}:function(){return _0x3a75e7;};return _0x3de898['d'](_0x37d727,'a',_0x37d727),_0x37d727;},_0x3de898['o']=function(_0x3bdb7f,_0x5bbb56){var _0x1cad62=a0_0x3080;return Object[_0x1cad62(0x212)][_0x1cad62(0x19a)]['call'](_0x3bdb7f,_0x5bbb56);},_0x3de898['p']='',_0x3de898(_0x3de898['s']=0x14);}([function(_0x56e1d3,_0x2a1f05){var _0x30fa66=a0_0x54e0cc;_0x56e1d3[_0x30fa66(0x1e5)]=window[_0x30fa66(0xeb)];},function(_0x19f279,_0x24c0bf){var _0x55b8b5=a0_0x54e0cc;_0x19f279[_0x55b8b5(0x1e5)]=window[_0x55b8b5(0x17c)];},function(_0x31e6e3,_0x1ef86e){var _0x433154=a0_0x54e0cc;_0x31e6e3[_0x433154(0x1e5)]=function(_0x2bd549,_0x4f53e9){if(!(_0x2bd549 instanceof _0x4f53e9))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');},_0x31e6e3[_0x433154(0x1e5)][_0x433154(0x18c)]=!0x0,_0x31e6e3[_0x433154(0x1e5)][_0x433154(0xd1)]=_0x31e6e3[_0x433154(0x1e5)];},function(_0x4c2f58,_0x95482c){var _0x7a33ac=a0_0x54e0cc;function _0x4e454d(_0x10b926,_0x24bdc2){var _0x52d1ad=a0_0x3080;for(var _0x3600f6=0x0;_0x3600f6<_0x24bdc2[_0x52d1ad(0x110)];_0x3600f6++){var _0x3a6ca2=_0x24bdc2[_0x3600f6];_0x3a6ca2[_0x52d1ad(0x1c5)]=_0x3a6ca2[_0x52d1ad(0x1c5)]||!0x1,_0x3a6ca2['configurable']=!0x0,_0x52d1ad(0x1bd)in _0x3a6ca2&&(_0x3a6ca2[_0x52d1ad(0x1e9)]=!0x0),Object[_0x52d1ad(0x210)](_0x10b926,_0x3a6ca2['key'],_0x3a6ca2);}}_0x4c2f58[_0x7a33ac(0x1e5)]=function(_0x2a8c62,_0x5279d7,_0x51419b){var _0x4f853f=_0x7a33ac;return _0x5279d7&&_0x4e454d(_0x2a8c62[_0x4f853f(0x212)],_0x5279d7),_0x51419b&&_0x4e454d(_0x2a8c62,_0x51419b),Object[_0x4f853f(0x210)](_0x2a8c62,_0x4f853f(0x212),{'writable':!0x1}),_0x2a8c62;},_0x4c2f58[_0x7a33ac(0x1e5)][_0x7a33ac(0x18c)]=!0x0,_0x4c2f58[_0x7a33ac(0x1e5)][_0x7a33ac(0xd1)]=_0x4c2f58[_0x7a33ac(0x1e5)];},function(_0x29831e,_0x3e620e){var _0x302193=a0_0x54e0cc;function _0x36f89f(_0x5aab0b){var _0x1973d5=a0_0x3080;return _0x29831e[_0x1973d5(0x1e5)]=_0x36f89f=Object[_0x1973d5(0x194)]?Object['getPrototypeOf']:function(_0xf876e8){var _0x3c50f2=_0x1973d5;return _0xf876e8[_0x3c50f2(0x177)]||Object[_0x3c50f2(0x186)](_0xf876e8);},_0x29831e[_0x1973d5(0x1e5)]['__esModule']=!0x0,_0x29831e[_0x1973d5(0x1e5)][_0x1973d5(0xd1)]=_0x29831e['exports'],_0x36f89f(_0x5aab0b);}_0x29831e[_0x302193(0x1e5)]=_0x36f89f,_0x29831e[_0x302193(0x1e5)][_0x302193(0x18c)]=!0x0,_0x29831e[_0x302193(0x1e5)][_0x302193(0xd1)]=_0x29831e[_0x302193(0x1e5)];},function(_0x29c9f2,_0x4bdb6b,_0x2f6936){var _0xcb85b=a0_0x54e0cc,_0x524936=_0x2f6936(0x11);_0x29c9f2[_0xcb85b(0x1e5)]=function(_0x34cac6,_0x10cd3f){var _0x1a73b8=_0xcb85b;if(_0x1a73b8(0x148)!=typeof _0x10cd3f&&null!==_0x10cd3f)throw new TypeError(_0x1a73b8(0x1a6));Object[_0x1a73b8(0x210)](_0x34cac6,'prototype',{'value':Object[_0x1a73b8(0x1d6)](_0x10cd3f&&_0x10cd3f[_0x1a73b8(0x212)],{'constructor':{'value':_0x34cac6,'writable':!0x0,'configurable':!0x0}}),'writable':!0x1}),_0x10cd3f&&_0x524936(_0x34cac6,_0x10cd3f);},_0x29c9f2[_0xcb85b(0x1e5)][_0xcb85b(0x18c)]=!0x0,_0x29c9f2[_0xcb85b(0x1e5)][_0xcb85b(0xd1)]=_0x29c9f2[_0xcb85b(0x1e5)];},function(_0x3daf07,_0x4fbbfe,_0x4b1512){var _0x374375=a0_0x54e0cc,_0x40f444=_0x4b1512(0x12)[_0x374375(0xd1)],_0x21bb16=_0x4b1512(0x13);_0x3daf07[_0x374375(0x1e5)]=function(_0xd2f540,_0x135a57){var _0x4631ed=_0x374375;if(_0x135a57&&(_0x4631ed(0x12f)===_0x40f444(_0x135a57)||'function'==typeof _0x135a57))return _0x135a57;if(void 0x0!==_0x135a57)throw new TypeError(_0x4631ed(0x125));return _0x21bb16(_0xd2f540);},_0x3daf07[_0x374375(0x1e5)]['__esModule']=!0x0,_0x3daf07[_0x374375(0x1e5)][_0x374375(0xd1)]=_0x3daf07[_0x374375(0x1e5)];},function(_0x15b131,_0x198ff8){_0x15b131['exports']='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}';},function(_0x2be0dc,_0x1e9125){var _0x3a6940=a0_0x54e0cc;_0x2be0dc[_0x3a6940(0x1e5)]=_0x3a6940(0xf1);},function(_0x6bd342,_0x14a499){var _0x4804cc=a0_0x54e0cc;_0x6bd342[_0x4804cc(0x1e5)]='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(_0x4e2590,_0x5554f1){var _0x47b9eb=a0_0x54e0cc;_0x4e2590['exports']=_0x47b9eb(0x1e7);},function(_0x1c2187,_0x466e33){var _0x35125a=a0_0x54e0cc;_0x1c2187[_0x35125a(0x1e5)]='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}';},function(_0xd7e6a7,_0x208be4){var _0x4790a8=a0_0x54e0cc;_0xd7e6a7[_0x4790a8(0x1e5)]=_0x4790a8(0x200);},function(_0x397b7e,_0x2f3197){var _0x2b4616=a0_0x54e0cc;_0x397b7e[_0x2b4616(0x1e5)]=_0x2b4616(0x1ce);},function(_0x425440,_0x2670cd){var _0x1c1b8b=a0_0x54e0cc;_0x425440[_0x1c1b8b(0x1e5)]='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}';},function(_0x363513,_0x4377dd){var _0x295367=a0_0x54e0cc;_0x363513[_0x295367(0x1e5)]='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}';},function(_0x31b8c9,_0x3d4686){var _0x2ce27a=a0_0x54e0cc;_0x31b8c9[_0x2ce27a(0x1e5)]=_0x2ce27a(0x142);},function(_0x14a1be,_0xba49fe){var _0x2f665e=a0_0x54e0cc;function _0x5b5344(_0x16383f,_0x2cb941){var _0x2e3b48=a0_0x3080;return _0x14a1be[_0x2e3b48(0x1e5)]=_0x5b5344=Object[_0x2e3b48(0x194)]||function(_0x5b5672,_0x4eb9a3){return _0x5b5672['__proto__']=_0x4eb9a3,_0x5b5672;},_0x14a1be[_0x2e3b48(0x1e5)][_0x2e3b48(0x18c)]=!0x0,_0x14a1be['exports'][_0x2e3b48(0xd1)]=_0x14a1be[_0x2e3b48(0x1e5)],_0x5b5344(_0x16383f,_0x2cb941);}_0x14a1be['exports']=_0x5b5344,_0x14a1be[_0x2f665e(0x1e5)]['__esModule']=!0x0,_0x14a1be[_0x2f665e(0x1e5)][_0x2f665e(0xd1)]=_0x14a1be[_0x2f665e(0x1e5)];},function(_0x56e51a,_0x44716d){var _0x5835d4=a0_0x54e0cc;function _0x26d5ef(_0x3f0aea){var _0x476b8a=a0_0x3080;return _0x56e51a['exports']=_0x26d5ef=_0x476b8a(0x148)==typeof Symbol&&_0x476b8a(0x162)==typeof Symbol[_0x476b8a(0x1bf)]?function(_0x4ae63f){return typeof _0x4ae63f;}:function(_0x42eba4){var _0x4456af=_0x476b8a;return _0x42eba4&&_0x4456af(0x148)==typeof Symbol&&_0x42eba4[_0x4456af(0x1ae)]===Symbol&&_0x42eba4!==Symbol['prototype']?'symbol':typeof _0x42eba4;},_0x56e51a['exports']['__esModule']=!0x0,_0x56e51a[_0x476b8a(0x1e5)]['default']=_0x56e51a[_0x476b8a(0x1e5)],_0x26d5ef(_0x3f0aea);}_0x56e51a[_0x5835d4(0x1e5)]=_0x26d5ef,_0x56e51a[_0x5835d4(0x1e5)]['__esModule']=!0x0,_0x56e51a[_0x5835d4(0x1e5)][_0x5835d4(0xd1)]=_0x56e51a[_0x5835d4(0x1e5)];},function(_0x55058a,_0x4095c5){var _0x123d2b=a0_0x54e0cc;_0x55058a[_0x123d2b(0x1e5)]=function(_0x5df09c){var _0x53b286=_0x123d2b;if(void 0x0===_0x5df09c)throw new ReferenceError(_0x53b286(0x10e));return _0x5df09c;},_0x55058a['exports'][_0x123d2b(0x18c)]=!0x0,_0x55058a[_0x123d2b(0x1e5)][_0x123d2b(0xd1)]=_0x55058a[_0x123d2b(0x1e5)];},function(_0x554609,_0x49761f,_0xb5204c){'use strict';var _0x3a7e93=a0_0x54e0cc;_0xb5204c['r'](_0x49761f),_0xb5204c['d'](_0x49761f,_0x3a7e93(0xd3),function(){return _0xef4d27;}),_0xb5204c['d'](_0x49761f,'CanvasWindLayer',function(){return _0x23a533;}),_0xb5204c['d'](_0x49761f,_0x3a7e93(0x1fd),function(){return _0x4b17ad;});var _0x4b17ad={};_0xb5204c['r'](_0x4b17ad),_0xb5204c['d'](_0x4b17ad,_0x3a7e93(0xe4),function(){return _0x1285d4;}),_0xb5204c['d'](_0x4b17ad,_0x3a7e93(0xcf),function(){return _0x14defd;}),_0xb5204c['d'](_0x4b17ad,_0x3a7e93(0x1ab),function(){return _0x2206a4;}),_0xb5204c['d'](_0x4b17ad,_0x3a7e93(0xc6),function(){return _0xf9eb2e;});var _0x528b06=_0xb5204c(0x1),_0x5aea29=_0xb5204c(0x2),_0x58aa3b=_0xb5204c['n'](_0x5aea29),_0x3b5779=_0xb5204c(0x3),_0x35c165=_0xb5204c['n'](_0x3b5779),_0x15223b=_0xb5204c(0x5),_0x358492=_0xb5204c['n'](_0x15223b),_0x185886=_0xb5204c(0x6),_0x617ddc=_0xb5204c['n'](_0x185886),_0x4ccd39=_0xb5204c(0x4),_0x631931=_0xb5204c['n'](_0x4ccd39),_0x2bfd05=_0xb5204c(0x0),_0x1748b0=(function(){var _0x340991=_0x3a7e93;function _0x5efbe6(_0x53a065){var _0x101468=a0_0x3080;_0x58aa3b()(this,_0x5efbe6),this['commandType']=_0x53a065[_0x101468(0x199)],this[_0x101468(0xfd)]=_0x53a065[_0x101468(0xfd)],this[_0x101468(0x174)]=_0x53a065[_0x101468(0x174)],this[_0x101468(0x1b4)]=_0x53a065[_0x101468(0x1b4)],this[_0x101468(0x100)]=_0x53a065['uniformMap'],this[_0x101468(0x21d)]=_0x53a065['vertexShaderSource'],this[_0x101468(0xd0)]=_0x53a065[_0x101468(0xd0)],this['rawRenderState']=_0x53a065[_0x101468(0xfa)],this['framebuffer']=_0x53a065[_0x101468(0x10a)],this[_0x101468(0x1f7)]=_0x53a065['outputTexture'],this[_0x101468(0x172)]=_0x2bfd05[_0x101468(0x20b)](_0x53a065['autoClear'],!0x1),this[_0x101468(0x156)]=_0x53a065[_0x101468(0x156)],this[_0x101468(0x187)]=!0x0,this[_0x101468(0x17e)]=void 0x0,this['clearCommand']=void 0x0,this[_0x101468(0x172)]&&(this[_0x101468(0xd8)]=new _0x2bfd05[(_0x101468(0x1cf))]({'color':new _0x2bfd05[(_0x101468(0x226))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x101468(0x10a)],'pass':_0x2bfd05[_0x101468(0xf8)][_0x101468(0x22f)]}));}return _0x35c165()(_0x5efbe6,[{'key':_0x340991(0x1be),'value':function(_0x38b4ed){var _0x26f918=_0x340991;switch(this['commandType']){case _0x26f918(0xe7):var _0x308c82=_0x2bfd05[_0x26f918(0x1d1)]['fromGeometry']({'context':_0x38b4ed,'geometry':this[_0x26f918(0xfd)],'attributeLocations':this[_0x26f918(0x174)],'bufferUsage':_0x2bfd05['BufferUsage']['STATIC_DRAW']}),_0x2c0d42=_0x2bfd05[_0x26f918(0x222)][_0x26f918(0xc5)]({'context':_0x38b4ed,'attributeLocations':this[_0x26f918(0x174)],'vertexShaderSource':this[_0x26f918(0x21d)],'fragmentShaderSource':this[_0x26f918(0xd0)]}),_0x51a1df=_0x2bfd05[_0x26f918(0x19e)][_0x26f918(0xc5)](this[_0x26f918(0xfa)]);return new _0x2bfd05[(_0x26f918(0x1b1))]({'owner':this,'vertexArray':_0x308c82,'primitiveType':this['primitiveType'],'uniformMap':this[_0x26f918(0x100)],'modelMatrix':_0x2bfd05['Matrix4']['IDENTITY'],'shaderProgram':_0x2c0d42,'framebuffer':this[_0x26f918(0x10a)],'renderState':_0x51a1df,'pass':_0x2bfd05['Pass'][_0x26f918(0x22f)]});case _0x26f918(0x21c):return new _0x2bfd05[(_0x26f918(0x104))]({'owner':this,'fragmentShaderSource':this[_0x26f918(0xd0)],'uniformMap':this[_0x26f918(0x100)],'outputTexture':this[_0x26f918(0x1f7)],'persists':!0x0});}}},{'key':_0x340991(0x140),'value':function(_0x36715b,_0x5278e2){var _0x2fbd45=_0x340991;this[_0x2fbd45(0xfd)]=_0x5278e2;var _0x4800e7=_0x2bfd05[_0x2fbd45(0x1d1)][_0x2fbd45(0x127)]({'context':_0x36715b,'geometry':this[_0x2fbd45(0xfd)],'attributeLocations':this['attributeLocations'],'bufferUsage':_0x2bfd05[_0x2fbd45(0x234)][_0x2fbd45(0x103)]});this[_0x2fbd45(0x17e)][_0x2fbd45(0xff)]=_0x4800e7;}},{'key':'update','value':function(_0x10a300){var _0x190461=_0x340991;this[_0x190461(0x187)]&&_0x10a300[_0x190461(0x18a)]==_0x2bfd05[_0x190461(0x1f8)][_0x190461(0x184)]&&(_0x2bfd05[_0x190461(0x183)](this[_0x190461(0x17e)])||(this['commandToExecute']=this[_0x190461(0x1be)](_0x10a300[_0x190461(0x15e)])),_0x2bfd05[_0x190461(0x183)](this[_0x190461(0x156)])&&this[_0x190461(0x156)](),_0x2bfd05['defined'](this[_0x190461(0xd8)])&&_0x10a300[_0x190461(0x20a)][_0x190461(0x15b)](this[_0x190461(0xd8)]),_0x10a300[_0x190461(0x20a)]['push'](this['commandToExecute']));}},{'key':_0x340991(0x14b),'value':function(){return!0x1;}},{'key':_0x340991(0x175),'value':function(){var _0x3f5b61=_0x340991;return _0x2bfd05['defined'](this[_0x3f5b61(0x17e)])&&(this[_0x3f5b61(0x17e)][_0x3f5b61(0xfe)]=this[_0x3f5b61(0x17e)][_0x3f5b61(0xfe)]&&this[_0x3f5b61(0x17e)]['shaderProgram'][_0x3f5b61(0x175)]()),_0x2bfd05[_0x3f5b61(0x129)](this);}}]),_0x5efbe6;}()),_0x5cc9ad={'getFullscreenQuad':function(){var _0xda2e55=_0x3a7e93;return new _0x2bfd05[(_0xda2e55(0x1cc))]({'attributes':new _0x2bfd05[(_0xda2e55(0x1cb))]({'position':new _0x2bfd05[(_0xda2e55(0xed))]({'componentDatatype':_0x2bfd05[_0xda2e55(0x133)][_0xda2e55(0x1ef)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x2bfd05[(_0xda2e55(0xed))]({'componentDatatype':_0x2bfd05['ComponentDatatype'][_0xda2e55(0x1ef)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x185994,_0x402f44){var _0x17568b=_0x3a7e93;if(_0x2bfd05[_0x17568b(0x183)](_0x402f44)){var _0xe707b9={};_0xe707b9[_0x17568b(0x101)]=_0x402f44,_0x185994['source']=_0xe707b9;}return new _0x2bfd05[(_0x17568b(0x218))](_0x185994);},'createFramebuffer':function(_0x48dc9e,_0x12436e,_0x495aec){var _0x27f526=_0x3a7e93;return new _0x2bfd05[(_0x27f526(0x102))]({'context':_0x48dc9e,'colorTextures':[_0x12436e],'depthTexture':_0x495aec});},'createRawRenderState':function(_0x46350b){var _0x50b721=_0x3a7e93,_0x3c9f5a={'viewport':_0x46350b[_0x50b721(0x163)],'depthTest':_0x46350b['depthTest'],'depthMask':_0x46350b[_0x50b721(0x112)],'blending':_0x46350b[_0x50b721(0xcd)]};return _0x2bfd05[_0x50b721(0x11c)][_0x50b721(0x131)](!0x0,!0x1,_0x3c9f5a);},'viewRectangleToLonLatRange':function(_0x58e9ab){var _0x1eb5ee=_0x3a7e93,_0x505939,_0x2eea13,_0x1cc738={},_0x106c73=_0x2bfd05[_0x1eb5ee(0x1d2)][_0x1eb5ee(0x229)](_0x58e9ab[_0x1eb5ee(0x13c)],_0x2bfd05[_0x1eb5ee(0x1d2)][_0x1eb5ee(0x1f9)]),_0xb31007=_0x2bfd05['Math'][_0x1eb5ee(0x229)](_0x58e9ab['east'],_0x2bfd05[_0x1eb5ee(0x1d2)][_0x1eb5ee(0x1f9)]),_0x453f8e=_0x58e9ab[_0x1eb5ee(0x16d)];_0x453f8e>_0x2bfd05[_0x1eb5ee(0x1d2)]['THREE_PI_OVER_TWO']?(_0x505939=0x0,_0x2eea13=_0x2bfd05['Math'][_0x1eb5ee(0x1f9)]):_0xb31007-_0x106c73<_0x453f8e?(_0x505939=_0x106c73,_0x2eea13=_0x106c73+_0x453f8e):(_0x505939=_0x106c73,_0x2eea13=_0xb31007),_0x1cc738[_0x1eb5ee(0x189)]={'min':_0x2bfd05[_0x1eb5ee(0x1d2)]['toDegrees'](_0x505939),'max':_0x2bfd05[_0x1eb5ee(0x1d2)]['toDegrees'](_0x2eea13)};var _0x5aa5a7=_0x58e9ab['south'],_0x329db1=_0x58e9ab[_0x1eb5ee(0xc9)],_0x175474=_0x58e9ab[_0x1eb5ee(0x228)],_0x14ac69=_0x175474>_0x2bfd05[_0x1eb5ee(0x1d2)]['PI']/0xc?_0x175474/0x2:0x0,_0x1bce4d=_0x2bfd05[_0x1eb5ee(0x1d2)][_0x1eb5ee(0xcc)](_0x5aa5a7-_0x14ac69),_0x17cc06=_0x2bfd05[_0x1eb5ee(0x1d2)]['clampToLatitudeRange'](_0x329db1+_0x14ac69);return _0x1bce4d<-_0x2bfd05['Math'][_0x1eb5ee(0x171)]&&(_0x1bce4d=-_0x2bfd05[_0x1eb5ee(0x1d2)][_0x1eb5ee(0xec)]),_0x17cc06>_0x2bfd05[_0x1eb5ee(0x1d2)][_0x1eb5ee(0x171)]&&(_0x17cc06=_0x2bfd05[_0x1eb5ee(0x1d2)]['PI_OVER_TWO']),_0x1cc738['lat']={'min':_0x2bfd05[_0x1eb5ee(0x1d2)][_0x1eb5ee(0x11a)](_0x1bce4d),'max':_0x2bfd05[_0x1eb5ee(0x1d2)][_0x1eb5ee(0x11a)](_0x17cc06)},_0x1cc738;}},_0x438c65=_0xb5204c(0x8),_0x164117=_0xb5204c['n'](_0x438c65),_0x26910d=_0xb5204c(0x9),_0x191d4c=_0xb5204c['n'](_0x26910d),_0x3cd3ed=_0xb5204c(0x7),_0x4b4ad2=_0xb5204c['n'](_0x3cd3ed),_0x34f28d=_0xb5204c(0xa),_0x91304f=_0xb5204c['n'](_0x34f28d),_0x2228e2=_0xb5204c(0xb),_0x5687f0=_0xb5204c['n'](_0x2228e2),_0xb2ff=(function(){var _0x2a3d67=_0x3a7e93;function _0x30b0bc(_0x3e114a,_0x127aff,_0x2a225d,_0x35d355,_0x484b1e){var _0x22a004=a0_0x3080;_0x58aa3b()(this,_0x30b0bc),this[_0x22a004(0x1c6)](_0x3e114a,_0x127aff),this[_0x22a004(0x1a3)](_0x3e114a),this[_0x22a004(0x155)](_0x3e114a,_0x2a225d,_0x35d355,_0x484b1e);}return _0x35c165()(_0x30b0bc,[{'key':'createRenderingTextures','value':function(_0x15d44d,_0x93af7){var _0x12e844=a0_0x3080,_0x5ccab8={'context':_0x15d44d,'width':_0x15d44d['drawingBufferWidth'],'height':_0x15d44d[_0x12e844(0x16c)],'pixelFormat':_0x2bfd05['PixelFormat'][_0x12e844(0x16a)],'pixelDatatype':_0x2bfd05[_0x12e844(0xd4)][_0x12e844(0x13e)]},_0x1e760f={'context':_0x15d44d,'width':_0x15d44d[_0x12e844(0x17a)],'height':_0x15d44d[_0x12e844(0x16c)],'pixelFormat':_0x2bfd05['PixelFormat'][_0x12e844(0x1c7)],'pixelDatatype':_0x2bfd05['PixelDatatype'][_0x12e844(0xe0)]},_0x212c46={'context':_0x15d44d,'width':_0x93af7['colorTable'][_0x12e844(0x13b)],'height':0x1,'pixelFormat':_0x2bfd05[_0x12e844(0xdf)][_0x12e844(0x113)],'pixelDatatype':_0x2bfd05[_0x12e844(0xd4)][_0x12e844(0x1ef)],'sampler':new _0x2bfd05[(_0x12e844(0x1d9))]({'minificationFilter':_0x2bfd05['TextureMinificationFilter'][_0x12e844(0x1eb)],'magnificationFilter':_0x2bfd05['TextureMagnificationFilter'][_0x12e844(0x1eb)]})};this[_0x12e844(0x223)]={'segmentsColor':_0x5cc9ad[_0x12e844(0x1da)](_0x5ccab8),'segmentsDepth':_0x5cc9ad[_0x12e844(0x1da)](_0x1e760f),'currentTrailsColor':_0x5cc9ad[_0x12e844(0x1da)](_0x5ccab8),'currentTrailsDepth':_0x5cc9ad[_0x12e844(0x1da)](_0x1e760f),'nextTrailsColor':_0x5cc9ad['createTexture'](_0x5ccab8),'nextTrailsDepth':_0x5cc9ad['createTexture'](_0x1e760f),'colorTable':_0x5cc9ad['createTexture'](_0x212c46,_0x93af7[_0x12e844(0x1de)][_0x12e844(0x15f)])};}},{'key':_0x2a3d67(0x1a3),'value':function(_0x5ac3c0){var _0x5c0fa5=_0x2a3d67;this['framebuffers']={'segments':_0x5cc9ad[_0x5c0fa5(0x1e0)](_0x5ac3c0,this[_0x5c0fa5(0x223)][_0x5c0fa5(0x1b0)],this[_0x5c0fa5(0x223)]['segmentsDepth']),'currentTrails':_0x5cc9ad[_0x5c0fa5(0x1e0)](_0x5ac3c0,this[_0x5c0fa5(0x223)][_0x5c0fa5(0x1af)],this[_0x5c0fa5(0x223)]['currentTrailsDepth']),'nextTrails':_0x5cc9ad['createFramebuffer'](_0x5ac3c0,this[_0x5c0fa5(0x223)]['nextTrailsColor'],this[_0x5c0fa5(0x223)][_0x5c0fa5(0x219)])};}},{'key':'createSegmentsGeometry','value':function(_0x1137ee){var _0x58d540=_0x2a3d67;for(var _0x408537=[],_0x1098d0=0x0;_0x1098d0<_0x1137ee[_0x58d540(0x130)];_0x1098d0++)for(var _0x57f759=0x0;_0x57f759<_0x1137ee['particlesTextureSize'];_0x57f759++)for(var _0x189550=0x0;_0x189550<0x4;_0x189550++)_0x408537[_0x58d540(0x15b)](_0x1098d0/_0x1137ee[_0x58d540(0x130)]),_0x408537[_0x58d540(0x15b)](_0x57f759/_0x1137ee[_0x58d540(0x130)]);_0x408537=new Float32Array(_0x408537);for(var _0x465ad3=[],_0x2ed2e3=[-0x1,0x1],_0x5b096e=[-0x1,0x1],_0x1429ad=0x0;_0x1429ad<_0x1137ee['maxParticles'];_0x1429ad++)for(var _0x167b66=0x0;_0x167b66<0x2;_0x167b66++)for(var _0x38f321=0x0;_0x38f321<0x2;_0x38f321++)_0x465ad3[_0x58d540(0x15b)](_0x2ed2e3[_0x167b66]),_0x465ad3[_0x58d540(0x15b)](_0x5b096e[_0x38f321]),_0x465ad3[_0x58d540(0x15b)](0x0);_0x465ad3=new Float32Array(_0x465ad3);for(var _0x4d6954=0x6*_0x1137ee[_0x58d540(0x178)],_0x25641b=new Uint32Array(_0x4d6954),_0x2d27d2=0x0,_0x113849=0x0,_0x707b8d=0x0;_0x2d27d2<_0x1137ee[_0x58d540(0x178)];_0x2d27d2++)_0x25641b[_0x113849++]=_0x707b8d+0x0,_0x25641b[_0x113849++]=_0x707b8d+0x1,_0x25641b[_0x113849++]=_0x707b8d+0x2,_0x25641b[_0x113849++]=_0x707b8d+0x2,_0x25641b[_0x113849++]=_0x707b8d+0x1,_0x25641b[_0x113849++]=_0x707b8d+0x3,_0x707b8d+=0x4;return new _0x2bfd05[(_0x58d540(0x1cc))]({'attributes':new _0x2bfd05['GeometryAttributes']({'st':new _0x2bfd05['GeometryAttribute']({'componentDatatype':_0x2bfd05[_0x58d540(0x133)][_0x58d540(0x1ef)],'componentsPerAttribute':0x2,'values':_0x408537}),'normal':new _0x2bfd05[(_0x58d540(0xed))]({'componentDatatype':_0x2bfd05[_0x58d540(0x133)][_0x58d540(0x1ef)],'componentsPerAttribute':0x3,'values':_0x465ad3})}),'indices':_0x25641b});}},{'key':'createRenderingPrimitives','value':function(_0x18b0e4,_0x9a8ae0,_0x4b13a9,_0x307a34){var _0x5e6579=_0x2a3d67,_0x1f6e6f=this;this[_0x5e6579(0x12d)]={'segments':new _0x1748b0({'commandType':_0x5e6579(0xe7),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this['createSegmentsGeometry'](_0x9a8ae0),'primitiveType':_0x2bfd05[_0x5e6579(0x224)][_0x5e6579(0x193)],'uniformMap':{'currentParticlesPosition':function(){return _0x307a34['particlesTextures']['currentParticlesPosition'];},'postProcessingPosition':function(){var _0x26b842=_0x5e6579;return _0x307a34[_0x26b842(0x1d5)]['postProcessingPosition'];},'postProcessingSpeed':function(){var _0x220291=_0x5e6579;return _0x307a34[_0x220291(0x1d5)]['postProcessingSpeed'];},'colorTable':function(){var _0x41dd8c=_0x5e6579;return _0x1f6e6f['textures'][_0x41dd8c(0x1de)];},'aspect':function(){var _0x40f8b2=_0x5e6579;return _0x18b0e4[_0x40f8b2(0x17a)]/_0x18b0e4['drawingBufferHeight'];},'pixelSize':function(){return _0x4b13a9['pixelSize'];},'lineWidth':function(){var _0x179f9b=_0x5e6579;return _0x9a8ae0[_0x179f9b(0x1a9)];},'particleHeight':function(){var _0x358b91=_0x5e6579;return _0x9a8ae0[_0x358b91(0x1f3)];}},'vertexShaderSource':new _0x2bfd05[(_0x5e6579(0x19f))]({'sources':[_0x164117['a']]}),'fragmentShaderSource':new _0x2bfd05[(_0x5e6579(0x19f))]({'sources':[_0x191d4c['a']]}),'rawRenderState':_0x5cc9ad['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x5e6579(0xe6)][_0x5e6579(0x173)],'autoClear':!0x0}),'trails':new _0x1748b0({'commandType':_0x5e6579(0xe7),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x5cc9ad[_0x5e6579(0x147)](),'primitiveType':_0x2bfd05[_0x5e6579(0x224)][_0x5e6579(0x193)],'uniformMap':{'segmentsColorTexture':function(){var _0x4c980d=_0x5e6579;return _0x1f6e6f[_0x4c980d(0x223)][_0x4c980d(0x1b0)];},'segmentsDepthTexture':function(){var _0xc0cf81=_0x5e6579;return _0x1f6e6f['textures'][_0xc0cf81(0x16e)];},'currentTrailsColor':function(){var _0x21afdf=_0x5e6579;return _0x1f6e6f['framebuffers'][_0x21afdf(0x14d)][_0x21afdf(0x10d)](0x0);},'trailsDepthTexture':function(){var _0x3b1ad3=_0x5e6579;return _0x1f6e6f[_0x3b1ad3(0xe6)][_0x3b1ad3(0x14d)][_0x3b1ad3(0x1cd)];},'fadeOpacity':function(){var _0x4be037=_0x5e6579;return _0x9a8ae0[_0x4be037(0x1bb)];}},'vertexShaderSource':new _0x2bfd05[(_0x5e6579(0x19f))]({'defines':[_0x5e6579(0x22b)],'sources':[_0x4b4ad2['a']]}),'fragmentShaderSource':new _0x2bfd05[(_0x5e6579(0x19f))]({'defines':[_0x5e6579(0x190)],'sources':[_0x91304f['a']]}),'rawRenderState':_0x5cc9ad[_0x5e6579(0x12a)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x2bfd05[_0x5e6579(0x1f4)][_0x5e6579(0x124)]},'depthMask':!0x0}),'framebuffer':this['framebuffers']['nextTrails'],'autoClear':!0x0,'preExecute':function(){var _0x935fe5=_0x5e6579,_0x2e3429;_0x2e3429=_0x1f6e6f['framebuffers'][_0x935fe5(0x14d)],_0x1f6e6f['framebuffers'][_0x935fe5(0x14d)]=_0x1f6e6f[_0x935fe5(0xe6)][_0x935fe5(0x1b6)],_0x1f6e6f[_0x935fe5(0xe6)][_0x935fe5(0x1b6)]=_0x2e3429,_0x1f6e6f[_0x935fe5(0x12d)][_0x935fe5(0xce)][_0x935fe5(0x17e)][_0x935fe5(0x10a)]=_0x1f6e6f[_0x935fe5(0xe6)][_0x935fe5(0x1b6)],_0x1f6e6f['primitives'][_0x935fe5(0xce)][_0x935fe5(0xd8)][_0x935fe5(0x10a)]=_0x1f6e6f[_0x935fe5(0xe6)][_0x935fe5(0x1b6)];}}),'screen':new _0x1748b0({'commandType':'Draw','attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x5cc9ad[_0x5e6579(0x147)](),'primitiveType':_0x2bfd05['PrimitiveType'][_0x5e6579(0x193)],'uniformMap':{'trailsColorTexture':function(){var _0x3ba1bd=_0x5e6579;return _0x1f6e6f[_0x3ba1bd(0xe6)]['nextTrails']['getColorTexture'](0x0);},'trailsDepthTexture':function(){var _0x54e138=_0x5e6579;return _0x1f6e6f[_0x54e138(0xe6)][_0x54e138(0x1b6)][_0x54e138(0x1cd)];}},'vertexShaderSource':new _0x2bfd05[(_0x5e6579(0x19f))]({'defines':['DISABLE_GL_POSITION_LOG_DEPTH'],'sources':[_0x4b4ad2['a']]}),'fragmentShaderSource':new _0x2bfd05[(_0x5e6579(0x19f))]({'defines':[_0x5e6579(0x190)],'sources':[_0x5687f0['a']]}),'rawRenderState':_0x5cc9ad['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x30b0bc;}()),_0x4426a6=_0xb5204c(0xc),_0x380f26=_0xb5204c['n'](_0x4426a6),_0x1b5d66=_0xb5204c(0xd),_0x2059ec=_0xb5204c['n'](_0x1b5d66),_0x2d0dd6=_0xb5204c(0xe),_0x3b6065=_0xb5204c['n'](_0x2d0dd6),_0x5e5c93=_0xb5204c(0xf),_0x2a6000=_0xb5204c['n'](_0x5e5c93),_0x526e9f=_0xb5204c(0x10),_0x33e00e=_0xb5204c['n'](_0x526e9f),_0x1b228f=(function(){var _0x263c88=_0x3a7e93;function _0x3399db(_0x59a31e,_0x398d2a,_0x9fe831,_0x1abe13){var _0x29cfbe=a0_0x3080;_0x58aa3b()(this,_0x3399db),this[_0x29cfbe(0xcb)]=_0x398d2a,this[_0x29cfbe(0x13d)](_0x59a31e,_0x398d2a),this[_0x29cfbe(0x169)](_0x59a31e,_0x9fe831,_0x1abe13),this[_0x29cfbe(0x19d)](_0x398d2a,_0x9fe831,_0x1abe13);}return _0x35c165()(_0x3399db,[{'key':_0x263c88(0x13d),'value':function(_0x2d2d20,_0x4fe61d){var _0x50cff9=_0x263c88,_0x2da0d2={'context':_0x2d2d20,'width':_0x4fe61d[_0x50cff9(0x1f6)][_0x50cff9(0x189)],'height':_0x4fe61d['dimensions'][_0x50cff9(0x107)]*_0x4fe61d['dimensions']['lev'],'pixelFormat':_0x2bfd05[_0x50cff9(0xdf)][_0x50cff9(0x1b7)],'pixelDatatype':_0x2bfd05[_0x50cff9(0xd4)][_0x50cff9(0x1ef)],'flipY':!0x1,'sampler':new _0x2bfd05[(_0x50cff9(0x1d9))]({'minificationFilter':_0x2bfd05[_0x50cff9(0x1c1)]['NEAREST'],'magnificationFilter':_0x2bfd05[_0x50cff9(0x1fb)]['NEAREST']})};this['windTextures']={'U':_0x5cc9ad[_0x50cff9(0x1da)](_0x2da0d2,_0x4fe61d['U'][_0x50cff9(0x15f)]),'V':_0x5cc9ad[_0x50cff9(0x1da)](_0x2da0d2,_0x4fe61d['V'][_0x50cff9(0x15f)])};}},{'key':_0x263c88(0x169),'value':function(_0x3c3a86,_0x404f20,_0xee5143){var _0x1e252f=_0x263c88,_0x1865a7={'context':_0x3c3a86,'width':_0x404f20[_0x1e252f(0x130)],'height':_0x404f20[_0x1e252f(0x130)],'pixelFormat':_0x2bfd05[_0x1e252f(0xdf)][_0x1e252f(0x16a)],'pixelDatatype':_0x2bfd05[_0x1e252f(0xd4)][_0x1e252f(0x1ef)],'flipY':!0x1,'sampler':new _0x2bfd05['Sampler']({'minificationFilter':_0x2bfd05[_0x1e252f(0x1c1)][_0x1e252f(0x111)],'magnificationFilter':_0x2bfd05['TextureMagnificationFilter']['NEAREST']})},_0x7fae27=this[_0x1e252f(0x195)](_0x404f20[_0x1e252f(0x178)],_0xee5143),_0x1bfea7=new Float32Array(0x4*_0x404f20[_0x1e252f(0x178)])[_0x1e252f(0x10c)](0x0);this[_0x1e252f(0x1d5)]={'particlesWind':_0x5cc9ad[_0x1e252f(0x1da)](_0x1865a7),'currentParticlesPosition':_0x5cc9ad[_0x1e252f(0x1da)](_0x1865a7,_0x7fae27),'nextParticlesPosition':_0x5cc9ad[_0x1e252f(0x1da)](_0x1865a7,_0x7fae27),'currentParticlesSpeed':_0x5cc9ad[_0x1e252f(0x1da)](_0x1865a7,_0x1bfea7),'nextParticlesSpeed':_0x5cc9ad['createTexture'](_0x1865a7,_0x1bfea7),'postProcessingPosition':_0x5cc9ad[_0x1e252f(0x1da)](_0x1865a7,_0x7fae27),'postProcessingSpeed':_0x5cc9ad[_0x1e252f(0x1da)](_0x1865a7,_0x1bfea7)};}},{'key':_0x263c88(0x195),'value':function(_0x293d17,_0x51b49f){var _0xee2219=_0x263c88;for(var _0x18e6d4=new Float32Array(0x4*_0x293d17),_0x401bc8=0x0;_0x401bc8<_0x293d17;_0x401bc8++)_0x18e6d4[0x4*_0x401bc8]=_0x2bfd05['Math']['randomBetween'](_0x51b49f[_0xee2219(0x1ac)]['x'],_0x51b49f['lonRange']['y']),_0x18e6d4[0x4*_0x401bc8+0x1]=_0x2bfd05['Math'][_0xee2219(0xf2)](_0x51b49f[_0xee2219(0x10f)]['x'],_0x51b49f[_0xee2219(0x10f)]['y']),_0x18e6d4[0x4*_0x401bc8+0x2]=_0x2bfd05[_0xee2219(0x1d2)][_0xee2219(0xf2)](this['data'][_0xee2219(0x160)]['min'],this[_0xee2219(0xcb)]['lev']['max']),_0x18e6d4[0x4*_0x401bc8+0x3]=0x0;return _0x18e6d4;}},{'key':_0x263c88(0xe2),'value':function(){var _0x253dfb=_0x263c88,_0x284a77=this;Object[_0x253dfb(0x196)](this[_0x253dfb(0x1d5)])['forEach'](function(_0x39e029){var _0x60386a=_0x253dfb;_0x284a77['particlesTextures'][_0x39e029][_0x60386a(0x175)]();});}},{'key':_0x263c88(0x19d),'value':function(_0xaf038e,_0x254fed,_0x561679){var _0x56e609=_0x263c88,_0x220060=new _0x2bfd05[(_0x56e609(0x16b))](_0xaf038e[_0x56e609(0x1f6)]['lon'],_0xaf038e[_0x56e609(0x1f6)][_0x56e609(0x107)],_0xaf038e[_0x56e609(0x1f6)][_0x56e609(0x160)]),_0x4bade3=new _0x2bfd05[(_0x56e609(0x16b))](_0xaf038e[_0x56e609(0x189)][_0x56e609(0x117)],_0xaf038e[_0x56e609(0x107)][_0x56e609(0x117)],_0xaf038e[_0x56e609(0x160)][_0x56e609(0x117)]),_0x53e75d=new _0x2bfd05[(_0x56e609(0x16b))](_0xaf038e[_0x56e609(0x189)][_0x56e609(0x167)],_0xaf038e['lat'][_0x56e609(0x167)],_0xaf038e[_0x56e609(0x160)]['max']),_0x2e1c93=new _0x2bfd05['Cartesian3']((_0x53e75d['x']-_0x4bade3['x'])/(_0x220060['x']-0x1),(_0x53e75d['y']-_0x4bade3['y'])/(_0x220060['y']-0x1),_0x220060['z']>0x1?(_0x53e75d['z']-_0x4bade3['z'])/(_0x220060['z']-0x1):0x1),_0xfc4843=new _0x2bfd05[(_0x56e609(0x202))](_0xaf038e['U'][_0x56e609(0x117)],_0xaf038e['U'][_0x56e609(0x167)]),_0xccb9d6=new _0x2bfd05[(_0x56e609(0x202))](_0xaf038e['V'][_0x56e609(0x117)],_0xaf038e['V'][_0x56e609(0x167)]),_0x56c9ad=this;this[_0x56e609(0x12d)]={'getWind':new _0x1748b0({'commandType':_0x56e609(0x21c),'uniformMap':{'U':function(){var _0x452719=_0x56e609;return _0x56c9ad[_0x452719(0xfb)]['U'];},'V':function(){var _0x4acbec=_0x56e609;return _0x56c9ad[_0x4acbec(0xfb)]['V'];},'currentParticlesPosition':function(){var _0x33f657=_0x56e609;return _0x56c9ad[_0x33f657(0x1d5)]['currentParticlesPosition'];},'dimension':function(){return _0x220060;},'minimum':function(){return _0x4bade3;},'maximum':function(){return _0x53e75d;},'interval':function(){return _0x2e1c93;}},'fragmentShaderSource':new _0x2bfd05[(_0x56e609(0x19f))]({'sources':[_0x380f26['a']]}),'outputTexture':this['particlesTextures'][_0x56e609(0x161)],'preExecute':function(){var _0x401272=_0x56e609;_0x56c9ad['primitives'][_0x401272(0x1d4)]['commandToExecute'][_0x401272(0x1f7)]=_0x56c9ad['particlesTextures'][_0x401272(0x161)];}}),'updateSpeed':new _0x1748b0({'commandType':_0x56e609(0x21c),'uniformMap':{'currentParticlesSpeed':function(){var _0x4b93fe=_0x56e609;return _0x56c9ad[_0x4b93fe(0x1d5)][_0x4b93fe(0x211)];},'particlesWind':function(){var _0x516715=_0x56e609;return _0x56c9ad[_0x516715(0x1d5)]['particlesWind'];},'uSpeedRange':function(){return _0xfc4843;},'vSpeedRange':function(){return _0xccb9d6;},'pixelSize':function(){var _0x19892c=_0x56e609;return _0x561679[_0x19892c(0x141)];},'speedFactor':function(){var _0xe7be46=_0x56e609;return _0x254fed[_0xe7be46(0x236)];}},'fragmentShaderSource':new _0x2bfd05['ShaderSource']({'sources':[_0x2059ec['a']]}),'outputTexture':this[_0x56e609(0x1d5)][_0x56e609(0xe9)],'preExecute':function(){var _0x275c14=_0x56e609,_0x2765e2;_0x2765e2=_0x56c9ad[_0x275c14(0x1d5)][_0x275c14(0x211)],_0x56c9ad[_0x275c14(0x1d5)]['currentParticlesSpeed']=_0x56c9ad[_0x275c14(0x1d5)][_0x275c14(0xf6)],_0x56c9ad[_0x275c14(0x1d5)][_0x275c14(0xf6)]=_0x2765e2,_0x56c9ad[_0x275c14(0x12d)][_0x275c14(0x188)][_0x275c14(0x17e)][_0x275c14(0x1f7)]=_0x56c9ad[_0x275c14(0x1d5)][_0x275c14(0xe9)];}}),'updatePosition':new _0x1748b0({'commandType':'Compute','uniformMap':{'currentParticlesPosition':function(){var _0x33965a=_0x56e609;return _0x56c9ad['particlesTextures'][_0x33965a(0x14c)];},'currentParticlesSpeed':function(){var _0x3c4938=_0x56e609;return _0x56c9ad[_0x3c4938(0x1d5)][_0x3c4938(0x211)];}},'fragmentShaderSource':new _0x2bfd05[(_0x56e609(0x19f))]({'sources':[_0x3b6065['a']]}),'outputTexture':this[_0x56e609(0x1d5)][_0x56e609(0x12e)],'preExecute':function(){var _0x562c5e=_0x56e609,_0x46ef50;_0x46ef50=_0x56c9ad['particlesTextures'][_0x562c5e(0x14c)],_0x56c9ad[_0x562c5e(0x1d5)][_0x562c5e(0x14c)]=_0x56c9ad[_0x562c5e(0x1d5)][_0x562c5e(0x230)],_0x56c9ad['particlesTextures'][_0x562c5e(0x230)]=_0x46ef50,_0x56c9ad[_0x562c5e(0x12d)]['updatePosition']['commandToExecute'][_0x562c5e(0x1f7)]=_0x56c9ad[_0x562c5e(0x1d5)][_0x562c5e(0x12e)];}}),'postProcessingPosition':new _0x1748b0({'commandType':'Compute','uniformMap':{'nextParticlesPosition':function(){var _0x1222d6=_0x56e609;return _0x56c9ad[_0x1222d6(0x1d5)][_0x1222d6(0x12e)];},'nextParticlesSpeed':function(){var _0x5435b9=_0x56e609;return _0x56c9ad[_0x5435b9(0x1d5)][_0x5435b9(0xe9)];},'lonRange':function(){return _0x561679['lonRange'];},'latRange':function(){return _0x561679['latRange'];},'randomCoefficient':function(){var _0x32e2dd=Math['random']();return _0x32e2dd;},'dropRate':function(){return _0x254fed['dropRate'];},'dropRateBump':function(){var _0x20159c=_0x56e609;return _0x254fed[_0x20159c(0x151)];}},'fragmentShaderSource':new _0x2bfd05[(_0x56e609(0x19f))]({'sources':[_0x2a6000['a']]}),'outputTexture':this[_0x56e609(0x1d5)][_0x56e609(0x230)],'preExecute':function(){var _0x3b2696=_0x56e609;_0x56c9ad[_0x3b2696(0x12d)][_0x3b2696(0x230)]['commandToExecute'][_0x3b2696(0x1f7)]=_0x56c9ad['particlesTextures']['postProcessingPosition'];}}),'postProcessingSpeed':new _0x1748b0({'commandType':_0x56e609(0x21c),'uniformMap':{'postProcessingPosition':function(){var _0x1ff7e5=_0x56e609;return _0x56c9ad[_0x1ff7e5(0x1d5)][_0x1ff7e5(0x230)];},'nextParticlesSpeed':function(){var _0x1989c3=_0x56e609;return _0x56c9ad[_0x1989c3(0x1d5)]['nextParticlesSpeed'];}},'fragmentShaderSource':new _0x2bfd05[(_0x56e609(0x19f))]({'sources':[_0x33e00e['a']]}),'outputTexture':this[_0x56e609(0x1d5)]['postProcessingSpeed'],'preExecute':function(){var _0x5cd12c=_0x56e609;_0x56c9ad[_0x5cd12c(0x12d)][_0x5cd12c(0xf6)]['commandToExecute']['outputTexture']=_0x56c9ad['particlesTextures'][_0x5cd12c(0xf6)];}})};}}]),_0x3399db;}()),_0x5465c4=(function(){var _0x3823cc=_0x3a7e93;function _0x43cae1(_0x138be7,_0x5cc322,_0x7ef3bf,_0x4074fd){var _0x4a41d5=a0_0x3080;_0x58aa3b()(this,_0x43cae1),this[_0x4a41d5(0x15e)]=_0x138be7,this[_0x4a41d5(0xcb)]=_0x5cc322,this[_0x4a41d5(0xf9)]=_0x7ef3bf,this['viewerParameters']=_0x4074fd,this[_0x4a41d5(0x1b5)]=new _0x1b228f(this[_0x4a41d5(0x15e)],this[_0x4a41d5(0xcb)],this['userInput'],this[_0x4a41d5(0x1bc)]),this[_0x4a41d5(0x18b)]=new _0xb2ff(this[_0x4a41d5(0x15e)],this[_0x4a41d5(0xcb)],this[_0x4a41d5(0xf9)],this[_0x4a41d5(0x1bc)],this[_0x4a41d5(0x1b5)]);}return _0x35c165()(_0x43cae1,[{'key':'canvasResize','value':function(_0x3af723){var _0xfee043=a0_0x3080,_0x1b6e1d=this;this['particlesComputing']['destroyParticlesTextures'](),Object[_0xfee043(0x196)](this[_0xfee043(0x1b5)][_0xfee043(0xfb)])[_0xfee043(0x233)](function(_0x32b86d){var _0x56da51=_0xfee043;_0x1b6e1d[_0x56da51(0x1b5)][_0x56da51(0xfb)][_0x32b86d][_0x56da51(0x175)]();}),this[_0xfee043(0x18b)][_0xfee043(0x223)][_0xfee043(0x1de)][_0xfee043(0x175)](),Object['keys'](this[_0xfee043(0x18b)][_0xfee043(0xe6)])[_0xfee043(0x233)](function(_0x2b6b68){var _0x9bd81e=_0xfee043;_0x1b6e1d[_0x9bd81e(0x18b)][_0x9bd81e(0xe6)][_0x2b6b68][_0x9bd81e(0x175)]();}),this[_0xfee043(0x15e)]=_0x3af723,this[_0xfee043(0x1b5)]=new _0x1b228f(this[_0xfee043(0x15e)],this[_0xfee043(0xcb)],this['userInput'],this['viewerParameters']),this[_0xfee043(0x18b)]=new _0xb2ff(this['context'],this[_0xfee043(0xcb)],this[_0xfee043(0xf9)],this['viewerParameters'],this['particlesComputing']);}},{'key':_0x3823cc(0x116),'value':function(){var _0xbd994c=_0x3823cc,_0x371eae=this,_0x216456=new _0x2bfd05[(_0xbd994c(0x1cf))]({'color':new _0x2bfd05[(_0xbd994c(0x226))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x2bfd05[_0xbd994c(0xf8)][_0xbd994c(0x22f)]});Object['keys'](this['particlesRendering'][_0xbd994c(0xe6)])[_0xbd994c(0x233)](function(_0xed97e0){var _0x528df2=_0xbd994c;_0x216456[_0x528df2(0x10a)]=_0x371eae[_0x528df2(0x18b)]['framebuffers'][_0xed97e0],_0x216456[_0x528df2(0xc4)](_0x371eae[_0x528df2(0x15e)]);});}},{'key':'refreshParticles','value':function(_0x3313e4){var _0x3db9d3=_0x3823cc;if(this[_0x3db9d3(0x116)](),this[_0x3db9d3(0x1b5)][_0x3db9d3(0xe2)](),this[_0x3db9d3(0x1b5)]['createParticlesTextures'](this['context'],this['userInput'],this[_0x3db9d3(0x1bc)]),_0x3313e4){var _0xb3ef69=this[_0x3db9d3(0x18b)]['createSegmentsGeometry'](this[_0x3db9d3(0xf9)]);this[_0x3db9d3(0x18b)]['primitives'][_0x3db9d3(0x173)][_0x3db9d3(0xfd)]=_0xb3ef69;var _0x29bf9d=_0x2bfd05[_0x3db9d3(0x1d1)]['fromGeometry']({'context':this[_0x3db9d3(0x15e)],'geometry':_0xb3ef69,'attributeLocations':this['particlesRendering']['primitives']['segments'][_0x3db9d3(0x174)],'bufferUsage':_0x2bfd05[_0x3db9d3(0x234)][_0x3db9d3(0x103)]});this[_0x3db9d3(0x18b)]['primitives']['segments'][_0x3db9d3(0x17e)][_0x3db9d3(0xff)]=_0x29bf9d;}}},{'key':_0x3823cc(0xd7),'value':function(_0x3f0911){var _0x3724ad=_0x3823cc,_0x1f5503=this,_0x3ba320=!0x1;this[_0x3724ad(0xf9)][_0x3724ad(0x178)]!=_0x3f0911[_0x3724ad(0x178)]&&(_0x3ba320=!0x0),Object[_0x3724ad(0x196)](_0x3f0911)[_0x3724ad(0x233)](function(_0x45ba3f){var _0xfe4958=_0x3724ad;_0x1f5503[_0xfe4958(0xf9)][_0x45ba3f]=_0x3f0911[_0x45ba3f];}),this['refreshParticles'](_0x3ba320);}},{'key':_0x3823cc(0x11f),'value':function(_0x42f6de){var _0x101ac6=_0x3823cc,_0x211857=this;Object[_0x101ac6(0x196)](_0x42f6de)[_0x101ac6(0x233)](function(_0x3137ee){var _0x4283fc=_0x101ac6;_0x211857[_0x4283fc(0x1bc)][_0x3137ee]=_0x42f6de[_0x3137ee];}),this[_0x101ac6(0x1a4)](!0x1);}}]),_0x43cae1;}());function _0x4d0f76(_0x316328){var _0x13f9c0=(function(){var _0x58c525=a0_0x3080;if('undefined'==typeof Reflect||!Reflect[_0x58c525(0xca)])return!0x1;if(Reflect[_0x58c525(0xca)][_0x58c525(0x118)])return!0x1;if(_0x58c525(0x148)==typeof Proxy)return!0x0;try{return Boolean[_0x58c525(0x212)][_0x58c525(0x144)][_0x58c525(0x1e8)](Reflect['construct'](Boolean,[],function(){})),!0x0;}catch(_0x253a83){return!0x1;}}());return function(){var _0xe2ded6=a0_0x3080,_0x48e7dc,_0x18023c=_0x631931()(_0x316328);if(_0x13f9c0){var _0x2e2206=_0x631931()(this)['constructor'];_0x48e7dc=Reflect[_0xe2ded6(0xca)](_0x18023c,arguments,_0x2e2206);}else _0x48e7dc=_0x18023c[_0xe2ded6(0x1f5)](this,arguments);return _0x617ddc()(this,_0x48e7dc);};}var _0x89b45=_0x528b06[_0x3a7e93(0x1b8)]['BaseLayer'],_0x168639=0x1000,_0x316b84=0x64,_0x118188=0.996,_0x593085=0.003,_0x3ec5ad=0.01,_0x151f1c=0.5,_0x2efbb9=0x2,_0xef4d27=function(_0x403c67){var _0xe09481=_0x3a7e93;_0x358492()(_0x469438,_0x403c67);var _0x32c316=_0x4d0f76(_0x469438);function _0x469438(){var _0x4f1d6=a0_0x3080,_0xe11d9d,_0x360230=arguments[_0x4f1d6(0x110)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x58aa3b()(this,_0x469438),(_0xe11d9d=_0x32c316['call'](this,_0x360230))[_0x4f1d6(0x178)]=_0x168639,_0xe11d9d['particleHeight']=_0x316b84,_0xe11d9d['fadeOpacity']=_0x118188,_0xe11d9d[_0x4f1d6(0x201)]=_0x593085,_0xe11d9d['dropRateBump']=_0x3ec5ad,_0xe11d9d[_0x4f1d6(0x236)]=_0x151f1c,_0xe11d9d['lineWidth']=_0x2efbb9,_0x360230){for(var _0x305918 in _0x360230)_0xe11d9d[_0x305918]=_0x360230[_0x305918];}return _0xe11d9d;}return _0x35c165()(_0x469438,[{'key':_0xe09481(0x1b8),'get':function(){return this['primitives'];}},{'key':_0xe09481(0x1c3),'value':function(){}},{'key':'_addedHook','value':function(){var _0x43d1cb=_0xe09481;this['scene']=this['_map'][_0x43d1cb(0x18e)],this[_0x43d1cb(0xf5)]=this['_map']['camera'],this['primitives']=new _0x2bfd05[(_0x43d1cb(0x1c8))](),this[_0x43d1cb(0x106)]['scene'][_0x43d1cb(0x12d)][_0x43d1cb(0x10b)](this[_0x43d1cb(0x12d)]),this[_0x43d1cb(0x1bc)]={'lonRange':new _0x2bfd05[(_0x43d1cb(0x202))](),'latRange':new _0x2bfd05[(_0x43d1cb(0x202))](),'pixelSize':0x0},this[_0x43d1cb(0x204)]=new _0x2bfd05['BoundingSphere'](_0x2bfd05['Cartesian3'][_0x43d1cb(0x1df)],6314355.63),this[_0x43d1cb(0x1f0)](),window[_0x43d1cb(0x126)](_0x43d1cb(0x1c0),this[_0x43d1cb(0x1c0)][_0x43d1cb(0x146)](this),!0x1),this[_0x43d1cb(0x12b)]=!0x1,this['mouse_move']=!0x1,this[_0x43d1cb(0x106)]['on'](_0x528b06[_0x43d1cb(0x18f)][_0x43d1cb(0x1d8)],this[_0x43d1cb(0x105)],this),this[_0x43d1cb(0x106)]['on'](_0x528b06[_0x43d1cb(0x18f)][_0x43d1cb(0xfc)],this[_0x43d1cb(0x1c4)],this),this[_0x43d1cb(0x106)]['on'](_0x528b06[_0x43d1cb(0x18f)]['mouseUp'],this['_onMouseUpEvent'],this),this[_0x43d1cb(0x106)]['on'](_0x528b06[_0x43d1cb(0x18f)]['mouseMove'],this[_0x43d1cb(0x13f)],this);}},{'key':_0xe09481(0x225),'value':function(){var _0x49b97f=_0xe09481;window[_0x49b97f(0x21a)](_0x49b97f(0x1c0),this[_0x49b97f(0x1c0)]),this[_0x49b97f(0x106)]['off'](_0x528b06[_0x49b97f(0x18f)][_0x49b97f(0x17b)],this['_onMap_preRenderEvent'],this),this[_0x49b97f(0x106)][_0x49b97f(0x108)](_0x528b06[_0x49b97f(0x18f)][_0x49b97f(0x1d8)],this[_0x49b97f(0x105)],this),this[_0x49b97f(0x106)]['off'](_0x528b06['EventType'][_0x49b97f(0xfc)],this[_0x49b97f(0x1c4)],this),this['_map'][_0x49b97f(0x108)](_0x528b06['EventType'][_0x49b97f(0xde)],this[_0x49b97f(0x134)],this),this[_0x49b97f(0x106)][_0x49b97f(0x108)](_0x528b06[_0x49b97f(0x18f)][_0x49b97f(0x1dc)],this['_onMouseMoveEvent'],this),this[_0x49b97f(0x12d)][_0x49b97f(0x12c)](),this[_0x49b97f(0x106)]['scene'][_0x49b97f(0x12d)][_0x49b97f(0x1ee)](this['primitives']);}},{'key':_0xe09481(0x1c0),'value':function(){var _0x1679b3=_0xe09481;this[_0x1679b3(0x187)]&&this[_0x1679b3(0x122)]&&(this[_0x1679b3(0x12d)][_0x1679b3(0x187)]=!0x1,this['primitives']['removeAll'](),this[_0x1679b3(0x106)][_0x1679b3(0x1a2)](_0x528b06[_0x1679b3(0x18f)][_0x1679b3(0x17b)],this[_0x1679b3(0x14a)],this));}},{'key':_0xe09481(0x14a),'value':function(_0x3c6327){var _0x4c0e78=_0xe09481;this[_0x4c0e78(0x122)]['canvasResize'](this[_0x4c0e78(0x18e)][_0x4c0e78(0x15e)]),this[_0x4c0e78(0x120)](),this[_0x4c0e78(0x12d)]['show']=!0x0;}},{'key':_0xe09481(0x105),'value':function(_0x4fe284){var _0x33c7d9=_0xe09481,_0x48fd55=this;clearTimeout(this[_0x33c7d9(0x1d7)]),this[_0x33c7d9(0x187)]&&this['particleSystem']&&(this['primitives'][_0x33c7d9(0x187)]=!0x1,this[_0x33c7d9(0x1d7)]=setTimeout(function(){_0x48fd55['show']&&_0x48fd55['redraw']();},0xc8));}},{'key':'_onMouseDownEvent','value':function(_0x3019a5){var _0x32715b=_0xe09481;this[_0x32715b(0x12b)]=!0x0;}},{'key':'_onMouseMoveEvent','value':function(_0x5a0af5){var _0x333126=_0xe09481;this['show']&&this['particleSystem']&&this[_0x333126(0x12b)]&&(this[_0x333126(0x12d)][_0x333126(0x187)]=!0x1,this[_0x333126(0x20d)]=!0x0);}},{'key':_0xe09481(0x134),'value':function(_0x5647e2){var _0x5100a0=_0xe09481;this['show']&&this[_0x5100a0(0x122)]&&(this['mouse_down']&&this['mouse_move']&&this[_0x5100a0(0x159)](),this[_0x5100a0(0x12d)][_0x5100a0(0x187)]=!0x0,this[_0x5100a0(0x12b)]=!0x1,this[_0x5100a0(0x20d)]=!0x1);}},{'key':_0xe09481(0x159),'value':function(){var _0xea968e=_0xe09481;this['_map']&&this[_0xea968e(0x187)]&&(this[_0xea968e(0x1f0)](),this[_0xea968e(0x122)][_0xea968e(0x11f)](this['viewerParameters']),this['primitives']['show']=!0x0);}},{'key':'setData','value':function(_0x2c4f8f){var _0xff4642=_0xe09481;this[_0xff4642(0x122)]=new _0x5465c4(this[_0xff4642(0x18e)][_0xff4642(0x15e)],_0x2c4f8f,this[_0xff4642(0x13a)](),this[_0xff4642(0x1bc)]),this[_0xff4642(0x120)]();}},{'key':_0xe09481(0x1dd),'value':function(_0x4075a0){var _0x24bcbd=_0xe09481;if(_0x4075a0){for(var _0x4da1d7 in _0x4075a0)this[_0x4da1d7]=_0x4075a0[_0x4da1d7];}return this[_0x24bcbd(0x122)]&&this[_0x24bcbd(0x122)]['applyUserInput'](this[_0x24bcbd(0x13a)]()),this;}},{'key':'getUserInput','value':function(){var _0x50a036=_0xe09481,_0x363bb5=Math[_0x50a036(0x14e)](Math['sqrt'](this[_0x50a036(0x178)]));return this['maxParticles']=_0x363bb5*_0x363bb5,{'particlesTextureSize':_0x363bb5,'maxParticles':this[_0x50a036(0x178)],'particleHeight':this[_0x50a036(0x1f3)],'fadeOpacity':this[_0x50a036(0x1bb)],'dropRate':this[_0x50a036(0x201)],'dropRateBump':this[_0x50a036(0x151)],'speedFactor':this['speedFactor'],'lineWidth':this[_0x50a036(0x1a9)],'globeLayer':this[_0x50a036(0x109)],'WMS_URL':this['WMS_URL']};}},{'key':_0xe09481(0x120),'value':function(){var _0x1b370d=_0xe09481;this[_0x1b370d(0x12d)][_0x1b370d(0x10b)](this['particleSystem'][_0x1b370d(0x1b5)][_0x1b370d(0x12d)][_0x1b370d(0x1d4)]),this['primitives'][_0x1b370d(0x10b)](this[_0x1b370d(0x122)][_0x1b370d(0x1b5)]['primitives'][_0x1b370d(0x188)]),this['primitives'][_0x1b370d(0x10b)](this['particleSystem'][_0x1b370d(0x1b5)]['primitives'][_0x1b370d(0x143)]),this[_0x1b370d(0x12d)][_0x1b370d(0x10b)](this[_0x1b370d(0x122)]['particlesComputing']['primitives'][_0x1b370d(0x230)]),this[_0x1b370d(0x12d)]['add'](this[_0x1b370d(0x122)][_0x1b370d(0x1b5)]['primitives'][_0x1b370d(0xf6)]),this['primitives'][_0x1b370d(0x10b)](this[_0x1b370d(0x122)]['particlesRendering']['primitives'][_0x1b370d(0x173)]),this['primitives'][_0x1b370d(0x10b)](this[_0x1b370d(0x122)][_0x1b370d(0x18b)][_0x1b370d(0x12d)][_0x1b370d(0xce)]),this[_0x1b370d(0x12d)][_0x1b370d(0x10b)](this[_0x1b370d(0x122)]['particlesRendering'][_0x1b370d(0x12d)][_0x1b370d(0x1e3)]);}},{'key':'updateViewerParameters','value':function(){var _0x4f1ac0=_0xe09481,_0x300ca7=this[_0x4f1ac0(0xf5)][_0x4f1ac0(0x209)](this[_0x4f1ac0(0x18e)]['globe'][_0x4f1ac0(0x1fc)]);if(!_0x300ca7){var _0x355ed5=this['_map'][_0x4f1ac0(0x158)]();_0x300ca7=_0x2bfd05[_0x4f1ac0(0xc7)][_0x4f1ac0(0x15a)](_0x355ed5[_0x4f1ac0(0x15c)],_0x355ed5[_0x4f1ac0(0x165)],_0x355ed5['xmax'],_0x355ed5['ymax']);}var _0x30e6af=_0x5cc9ad[_0x4f1ac0(0x1ec)](_0x300ca7);this[_0x4f1ac0(0x1bc)][_0x4f1ac0(0x1ac)]['x']=_0x30e6af[_0x4f1ac0(0x189)][_0x4f1ac0(0x117)],this['viewerParameters'][_0x4f1ac0(0x1ac)]['y']=_0x30e6af[_0x4f1ac0(0x189)][_0x4f1ac0(0x167)],this['viewerParameters'][_0x4f1ac0(0x10f)]['x']=_0x30e6af[_0x4f1ac0(0x107)]['min'],this[_0x4f1ac0(0x1bc)][_0x4f1ac0(0x10f)]['y']=_0x30e6af[_0x4f1ac0(0x107)]['max'];var _0x177044=this[_0x4f1ac0(0xf5)][_0x4f1ac0(0x137)](this[_0x4f1ac0(0x204)],this[_0x4f1ac0(0x18e)][_0x4f1ac0(0x17a)],this[_0x4f1ac0(0x18e)][_0x4f1ac0(0x16c)]);_0x177044>0x0&&(this[_0x4f1ac0(0x1bc)]['pixelSize']=_0x177044);}}]),_0x469438;}(_0x89b45);_0x528b06['LayerUtil'][_0x3a7e93(0x1e1)](_0x3a7e93(0x1a7),_0xef4d27),_0x528b06['layer']['WindLayer']=_0xef4d27;var _0x45dfcc=_0x35c165()(function _0x404344(){var _0x23cc0a=_0x3a7e93;_0x58aa3b()(this,_0x404344),this['lng']=null,this[_0x23cc0a(0x107)]=null,this[_0x23cc0a(0x217)]=null,this['tlat']=null,this[_0x23cc0a(0x237)]=null;}),_0x216551=(function(){var _0x3a30fd=_0x3a7e93;function _0x33b273(_0x373ba4,_0x30c633){var _0x1b42b0=a0_0x3080;_0x58aa3b()(this,_0x33b273),this[_0x1b42b0(0x1ea)]=_0x373ba4[_0x1b42b0(0x1ea)],this[_0x1b42b0(0xe8)]=_0x373ba4[_0x1b42b0(0xe8)],this['xmin']=_0x373ba4[_0x1b42b0(0x15c)],this['xmax']=_0x373ba4['xmax'],this[_0x1b42b0(0x165)]=_0x373ba4[_0x1b42b0(0x165)],this[_0x1b42b0(0x180)]=_0x373ba4[_0x1b42b0(0x180)],this['grid']=[];var _0x9dd483=_0x373ba4[_0x1b42b0(0x203)],_0x464f75=_0x373ba4[_0x1b42b0(0xd2)],_0x239c45=!0x1;_0x9dd483[_0x1b42b0(0x110)]===this[_0x1b42b0(0x1ea)]&&_0x9dd483[0x0][_0x1b42b0(0x110)]===this['cols']&&(_0x239c45=!0x0);for(var _0x4ec2b8=0x0,_0x106088=null,_0x4626cc=null,_0x569ed7=0x0;_0x569ed7<this[_0x1b42b0(0x1ea)];_0x569ed7++){_0x106088=[];for(var _0x2a13c7=0x0;_0x2a13c7<this['cols'];_0x2a13c7++,_0x4ec2b8++)_0x4626cc=_0x239c45?this[_0x1b42b0(0x132)](_0x9dd483[_0x569ed7][_0x2a13c7],_0x464f75[_0x569ed7][_0x2a13c7]):this[_0x1b42b0(0x132)](_0x9dd483[_0x4ec2b8],_0x464f75[_0x4ec2b8]),_0x106088['push'](_0x4626cc);this['grid'][_0x1b42b0(0x15b)](_0x106088);}_0x30c633&&this[_0x1b42b0(0x128)][_0x1b42b0(0x207)]();}return _0x35c165()(_0x33b273,[{'key':_0x3a30fd(0x1a5),'value':function(_0x23c8e9,_0x4b7b28){var _0x580043=_0x3a30fd;return{'x':(_0x23c8e9-this[_0x580043(0x15c)])/(this[_0x580043(0xf3)]-this[_0x580043(0x15c)])*(this[_0x580043(0xe8)]-0x1),'y':(this[_0x580043(0x180)]-_0x4b7b28)/(this[_0x580043(0x180)]-this[_0x580043(0x165)])*(this['rows']-0x1)};}},{'key':_0x3a30fd(0xc8),'value':function(_0x257cf5,_0x5d3cff){var _0xaf312b=_0x3a30fd;if(_0x257cf5<0x0||_0x257cf5>=this['cols']||_0x5d3cff>=this[_0xaf312b(0x1ea)])return[0x0,0x0,0x0];var _0x4dc32d,_0x55b482,_0x41e582=Math[_0xaf312b(0xf4)](_0x257cf5),_0x5c2f36=Math[_0xaf312b(0xf4)](_0x5d3cff);if(_0x41e582===_0x257cf5&&_0x5c2f36===_0x5d3cff)return this[_0xaf312b(0x128)][_0x5d3cff][_0x257cf5];_0x4dc32d=_0x41e582+0x1,_0x55b482=_0x5c2f36+0x1;var _0x289cbb=this[_0xaf312b(0xc8)](_0x41e582,_0x5c2f36),_0x35b87c=this[_0xaf312b(0xc8)](_0x4dc32d,_0x5c2f36),_0x48355e=this[_0xaf312b(0xc8)](_0x41e582,_0x55b482),_0x471058=this[_0xaf312b(0xc8)](_0x4dc32d,_0x55b482),_0x217fff=null;try{_0x217fff=this[_0xaf312b(0x19b)](_0x257cf5-_0x41e582,_0x5d3cff-_0x5c2f36,_0x289cbb,_0x35b87c,_0x48355e,_0x471058);}catch(_0x32e9d6){console[_0xaf312b(0x11e)](_0x257cf5,_0x5d3cff);}return _0x217fff;}},{'key':_0x3a30fd(0x19b),'value':function(_0x2b0726,_0x3bd5f0,_0x42ac21,_0x58be9f,_0x572851,_0x39ecb6){var _0x1bbb3c=_0x3a30fd,_0x38ed39=0x1-_0x2b0726,_0x2fccbd=0x1-_0x3bd5f0,_0x1670a=_0x38ed39*_0x2fccbd,_0x6c71b1=_0x2b0726*_0x2fccbd,_0x80d435=_0x38ed39*_0x3bd5f0,_0x15a95d=_0x2b0726*_0x3bd5f0,_0x3c30c6=_0x42ac21[0x0]*_0x1670a+_0x58be9f[0x0]*_0x6c71b1+_0x572851[0x0]*_0x80d435+_0x39ecb6[0x0]*_0x15a95d,_0x3e91bf=_0x42ac21[0x1]*_0x1670a+_0x58be9f[0x1]*_0x6c71b1+_0x572851[0x1]*_0x80d435+_0x39ecb6[0x1]*_0x15a95d;return this[_0x1bbb3c(0x132)](_0x3c30c6,_0x3e91bf);}},{'key':_0x3a30fd(0x132),'value':function(_0x500f0d,_0x5a4a78){return[+_0x500f0d,+_0x5a4a78,Math['sqrt'](_0x500f0d*_0x500f0d+_0x5a4a78*_0x5a4a78)];}},{'key':_0x3a30fd(0x213),'value':function(_0xd80af8,_0x2d9bdc){var _0x433ca9=_0x3a30fd;if(!this[_0x433ca9(0x1a8)](_0xd80af8,_0x2d9bdc))return null;var _0x5d7ebd=this[_0x433ca9(0x1a5)](_0xd80af8,_0x2d9bdc);return this[_0x433ca9(0xc8)](_0x5d7ebd['x'],_0x5d7ebd['y']);}},{'key':_0x3a30fd(0x1a8),'value':function(_0x4f2511,_0x1d07d2){var _0x1d3a0a=_0x3a30fd;return _0x4f2511>=this[_0x1d3a0a(0x15c)]&&_0x4f2511<=this[_0x1d3a0a(0xf3)]&&_0x1d07d2>=this[_0x1d3a0a(0x165)]&&_0x1d07d2<=this[_0x1d3a0a(0x180)];}},{'key':'getRandomLatLng','value':function(){var _0x244765=_0x3a30fd,_0x2db888=_0x132d0c(this[_0x244765(0x15c)],this['xmax']);return{'lat':_0x132d0c(this[_0x244765(0x165)],this[_0x244765(0x180)]),'lng':_0x2db888};}}]),_0x33b273;}());function _0x132d0c(_0x5d14ea,_0x2008c2){var _0x53f81f=_0x3a7e93;return _0x5d14ea+Math[_0x53f81f(0x1e6)]()*(_0x2008c2-_0x5d14ea);}function _0x59c747(_0x590cb9){var _0x3dc76f=(function(){var _0x55dcb8=a0_0x3080;if(_0x55dcb8(0x176)==typeof Reflect||!Reflect[_0x55dcb8(0xca)])return!0x1;if(Reflect[_0x55dcb8(0xca)][_0x55dcb8(0x118)])return!0x1;if(_0x55dcb8(0x148)==typeof Proxy)return!0x0;try{return Boolean[_0x55dcb8(0x212)][_0x55dcb8(0x144)][_0x55dcb8(0x1e8)](Reflect['construct'](Boolean,[],function(){})),!0x0;}catch(_0x290935){return!0x1;}}());return function(){var _0x181d0d=a0_0x3080,_0x247358,_0x2fe819=_0x631931()(_0x590cb9);if(_0x3dc76f){var _0x381acf=_0x631931()(this)[_0x181d0d(0x1ae)];_0x247358=Reflect[_0x181d0d(0xca)](_0x2fe819,arguments,_0x381acf);}else _0x247358=_0x2fe819[_0x181d0d(0x1f5)](this,arguments);return _0x617ddc()(this,_0x247358);};}var _0x23a533=function(_0x4a3d43){var _0x2bb60e=_0x3a7e93;_0x358492()(_0x3b07fd,_0x4a3d43);var _0x5e79c9=_0x59c747(_0x3b07fd);function _0x3b07fd(){var _0xab74c7=a0_0x3080,_0x4d3021,_0x33d95d=arguments[_0xab74c7(0x110)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x58aa3b()(this,_0x3b07fd),(_0x4d3021=_0x5e79c9[_0xab74c7(0x1e8)](this,_0x33d95d))[_0xab74c7(0x1fa)]=[0x0,0x0],_0x4d3021[_0xab74c7(0x205)]=[],_0x4d3021[_0xab74c7(0x22e)]=_0x33d95d[_0xab74c7(0x22e)]||0x32,_0x4d3021['_particlesNumber']=_0x33d95d['particlesNumber']||0x4e20,_0x4d3021[_0xab74c7(0x1e4)]=_0x33d95d[_0xab74c7(0xef)]||0x78,_0x4d3021[_0xab74c7(0x149)]=0x3e8/(_0x33d95d[_0xab74c7(0x182)]||0xa),_0x4d3021[_0xab74c7(0x197)]=_0x2bfd05[_0xab74c7(0x20b)](_0x4d3021[_0xab74c7(0xdb)][_0xab74c7(0x17d)],!0x1),_0x4d3021[_0xab74c7(0x17f)]=_0x33d95d[_0xab74c7(0x17f)]||'#ffffff',_0x4d3021['lineWidth']=_0x33d95d[_0xab74c7(0x1a9)]||0x1,_0x4d3021['fixedHeight']=_0x2bfd05[_0xab74c7(0x20b)](_0x33d95d[_0xab74c7(0xdd)],0x0),_0x4d3021['reverseY']=_0x2bfd05[_0xab74c7(0x20b)](_0x33d95d['reverseY'],!0x1),_0x4d3021[_0xab74c7(0x18d)]=null,_0x4d3021;}return _0x35c165()(_0x3b07fd,[{'key':'layer','get':function(){var _0x3dc52f=a0_0x3080;return this[_0x3dc52f(0x18d)];}},{'key':_0x2bb60e(0x164),'get':function(){var _0x1c98d0=_0x2bb60e;return this[_0x1c98d0(0x106)][_0x1c98d0(0x18e)][_0x1c98d0(0x18d)][_0x1c98d0(0x145)];}},{'key':_0x2bb60e(0x22c),'get':function(){var _0x591784=_0x2bb60e;return this['_map'][_0x591784(0x18e)][_0x591784(0x18d)][_0x591784(0x1b9)];}},{'key':_0x2bb60e(0x17d),'get':function(){return this['_pointerEvents'];},'set':function(_0x20c1be){var _0x53e5a9=_0x2bb60e;this[_0x53e5a9(0x197)]=_0x20c1be,this[_0x53e5a9(0x18d)]&&(this['canvas'][_0x53e5a9(0x1ed)]['pointer-events']=_0x20c1be?_0x53e5a9(0x123):'none');}},{'key':_0x2bb60e(0x22e),'get':function(){return this['_speedRate'];},'set':function(_0x59c0fb){this['_speedRate']=0x64*(0x64-(_0x59c0fb>0x63?0x63:_0x59c0fb)),this['_calcStep']();}},{'key':_0x2bb60e(0x150),'get':function(){return this['_particlesNumber'];},'set':function(_0x53c5bc){var _0x3c292b=_0x2bb60e,_0x1d6ec3=this;this[_0x3c292b(0x1ba)]=_0x53c5bc,clearTimeout(this[_0x3c292b(0x119)]),this[_0x3c292b(0x119)]=setTimeout(function(){_0x1d6ec3['redraw']();},0x1f4);}},{'key':_0x2bb60e(0xef),'get':function(){return this['_maxAge'];},'set':function(_0x54367e){var _0x40a63b=_0x2bb60e,_0x3df53c=this;this[_0x40a63b(0x1e4)]=_0x54367e,clearTimeout(this[_0x40a63b(0x119)]),this[_0x40a63b(0x119)]=setTimeout(function(){var _0x4d7cc1=_0x40a63b;_0x3df53c[_0x4d7cc1(0x159)]();},0x1f4);}},{'key':_0x2bb60e(0xcb),'get':function(){var _0x2668a6=_0x2bb60e;return this[_0x2668a6(0x115)];},'set':function(_0x40549a){this['updateDate'](_0x40549a);}},{'key':_0x2bb60e(0x220),'value':function(_0x222d32){var _0x374cfe=_0x2bb60e;_0x222d32?this[_0x374cfe(0x235)]():(this[_0x374cfe(0x115)]&&(this[_0x374cfe(0xdb)]['data']=this[_0x374cfe(0x115)]),this[_0x374cfe(0x225)]());}},{'key':'_mountedHook','value':function(){}},{'key':_0x2bb60e(0x235),'value':function(){var _0x3a531b=_0x2bb60e;this['canvas']=this[_0x3a531b(0x11b)](),this['canvasContext']=this[_0x3a531b(0x18d)]['getContext']('2d'),this[_0x3a531b(0x1d0)](),this[_0x3a531b(0xdb)][_0x3a531b(0xcb)]&&this[_0x3a531b(0x22d)](this[_0x3a531b(0xdb)][_0x3a531b(0xcb)]);}},{'key':_0x2bb60e(0x225),'value':function(){var _0x210f91=_0x2bb60e;this['clear'](),this['unbindEvent'](),this['canvas']&&(this[_0x210f91(0x106)][_0x210f91(0x11d)][_0x210f91(0x21f)](this[_0x210f91(0x18d)]),delete this['canvas']);}},{'key':'_createCanvas','value':function(){var _0x1c4631=_0x2bb60e,_0x5b6d2e=document[_0x1c4631(0xf0)](_0x1c4631(0x18d));_0x5b6d2e[_0x1c4631(0x1ed)]['position']='absolute',_0x5b6d2e[_0x1c4631(0x1ed)][_0x1c4631(0xd9)]='0px',_0x5b6d2e[_0x1c4631(0x1ed)][_0x1c4631(0x214)]='0px',_0x5b6d2e[_0x1c4631(0x1ed)][_0x1c4631(0x16d)]='100%',_0x5b6d2e[_0x1c4631(0x1ed)][_0x1c4631(0x228)]=_0x1c4631(0x191),_0x5b6d2e[_0x1c4631(0x1ed)]['pointerEvents']=this[_0x1c4631(0x197)]?_0x1c4631(0x221):_0x1c4631(0xe1),_0x5b6d2e['style'][_0x1c4631(0xd5)]=0xa,_0x5b6d2e[_0x1c4631(0x231)]('id',_0x1c4631(0x206)),_0x5b6d2e[_0x1c4631(0x231)](_0x1c4631(0x139),_0x1c4631(0x206)),this[_0x1c4631(0x106)][_0x1c4631(0x11d)]['appendChild'](_0x5b6d2e);var _0x2d54af=this[_0x1c4631(0x106)][_0x1c4631(0x18e)];return _0x5b6d2e[_0x1c4631(0x16d)]=_0x2d54af[_0x1c4631(0x18d)][_0x1c4631(0x145)],_0x5b6d2e['height']=_0x2d54af[_0x1c4631(0x18d)][_0x1c4631(0x1b9)],_0x5b6d2e;}},{'key':_0x2bb60e(0x1c0),'value':function(){var _0x2c6302=_0x2bb60e;this[_0x2c6302(0x18d)]&&(this[_0x2c6302(0x18d)][_0x2c6302(0x16d)]=this[_0x2c6302(0x164)],this['canvas'][_0x2c6302(0x228)]=this[_0x2c6302(0x22c)]);}},{'key':_0x2bb60e(0x1d0),'value':function(){var _0x12cd20=_0x2bb60e,_0x38ead0=this,_0x27c830=Date[_0x12cd20(0x19c)]();!function _0x1c6298(){var _0x1675a0=_0x12cd20;_0x38ead0[_0x1675a0(0x1aa)]=window[_0x1675a0(0x114)](_0x1c6298);var _0x34bcbd=Date[_0x1675a0(0x19c)](),_0x487e48=_0x34bcbd-_0x27c830;_0x487e48>_0x38ead0[_0x1675a0(0x149)]&&(_0x27c830=_0x34bcbd-_0x487e48%_0x38ead0[_0x1675a0(0x149)],_0x38ead0['update']());}(),window[_0x12cd20(0x126)]('resize',this['resize'][_0x12cd20(0x146)](this),!0x1),this[_0x12cd20(0x12b)]=!0x1,this['mouse_move']=!0x1,this['_map']['on'](_0x528b06[_0x12cd20(0x18f)]['wheel'],this[_0x12cd20(0x105)],this),this[_0x12cd20(0x106)]['on'](_0x528b06['EventType'][_0x12cd20(0xfc)],this[_0x12cd20(0x1c4)],this),this[_0x12cd20(0x106)]['on'](_0x528b06[_0x12cd20(0x18f)][_0x12cd20(0xde)],this[_0x12cd20(0x134)],this),this[_0x12cd20(0x106)]['on'](_0x528b06['EventType']['mouseMove'],this[_0x12cd20(0x13f)],this);}},{'key':'unbindEvent','value':function(){var _0x36fc26=_0x2bb60e;window['cancelAnimationFrame'](this[_0x36fc26(0x1aa)]),delete this[_0x36fc26(0x1aa)],window[_0x36fc26(0x21a)]('resize',this[_0x36fc26(0x1c0)]),this[_0x36fc26(0x106)][_0x36fc26(0x108)](_0x528b06[_0x36fc26(0x18f)]['wheel'],this[_0x36fc26(0x105)],this),this[_0x36fc26(0x106)][_0x36fc26(0x108)](_0x528b06[_0x36fc26(0x18f)][_0x36fc26(0xfc)],this[_0x36fc26(0x1c4)],this),this[_0x36fc26(0x106)][_0x36fc26(0x108)](_0x528b06[_0x36fc26(0x18f)][_0x36fc26(0xde)],this[_0x36fc26(0x134)],this),this[_0x36fc26(0x106)][_0x36fc26(0x108)](_0x528b06['EventType']['mouseMove'],this[_0x36fc26(0x13f)],this);}},{'key':_0x2bb60e(0x105),'value':function(_0x708569){var _0x2f9651=_0x2bb60e,_0x2c9fa3=this;clearTimeout(this['refreshTimer']),this[_0x2f9651(0x187)]&&this[_0x2f9651(0x18d)]&&(this[_0x2f9651(0x18d)][_0x2f9651(0x1ed)][_0x2f9651(0x232)]=_0x2f9651(0x1b2),this[_0x2f9651(0x1d7)]=setTimeout(function(){var _0x3fc187=_0x2f9651;_0x2c9fa3[_0x3fc187(0x187)]&&(_0x2c9fa3['redraw'](),_0x2c9fa3[_0x3fc187(0x18d)][_0x3fc187(0x1ed)][_0x3fc187(0x232)]=_0x3fc187(0x192));},0xc8));}},{'key':_0x2bb60e(0x1c4),'value':function(_0x4e2b92){var _0x5b8495=_0x2bb60e;this[_0x5b8495(0x12b)]=!0x0;}},{'key':_0x2bb60e(0x13f),'value':function(_0x9a4ea7){var _0x270518=_0x2bb60e;this[_0x270518(0x187)]&&this['canvas']&&this[_0x270518(0x12b)]&&(this['canvas'][_0x270518(0x1ed)]['visibility']='hidden',this['mouse_move']=!0x0);}},{'key':'_onMouseUpEvent','value':function(_0x4881a4){var _0x5cc88e=_0x2bb60e;this[_0x5cc88e(0x187)]&&this[_0x5cc88e(0x18d)]&&(this[_0x5cc88e(0x12b)]&&this[_0x5cc88e(0x20d)]&&this[_0x5cc88e(0x159)](),this[_0x5cc88e(0x18d)][_0x5cc88e(0x1ed)][_0x5cc88e(0x232)]=_0x5cc88e(0x192),this[_0x5cc88e(0x12b)]=!0x1,this[_0x5cc88e(0x20d)]=!0x1);}},{'key':_0x2bb60e(0x159),'value':function(){var _0x1bf113=_0x2bb60e;this[_0x1bf113(0x187)]&&this[_0x1bf113(0x15d)]&&(this[_0x1bf113(0x205)]=[],this[_0x1bf113(0x20c)]());}},{'key':_0x2bb60e(0x22d),'value':function(_0xcf191f){var _0xca7944=_0x2bb60e;this[_0xca7944(0xee)](),this[_0xca7944(0x115)]=_0xcf191f,this[_0xca7944(0x15d)]=new _0x216551(this[_0xca7944(0x115)],this[_0xca7944(0x152)]),this[_0xca7944(0x20c)]();}},{'key':'drawWind','value':function(){var _0x4f0e3a=_0x2bb60e;this[_0x4f0e3a(0x168)]();for(var _0x29467b=0x0;_0x29467b<this[_0x4f0e3a(0x150)];_0x29467b++){var _0x2325a0=this[_0x4f0e3a(0x1e2)](new _0x45dfcc());this[_0x4f0e3a(0x205)][_0x4f0e3a(0x15b)](_0x2325a0);}this[_0x4f0e3a(0x136)]['fillStyle']=_0x4f0e3a(0x215),this[_0x4f0e3a(0x136)]['globalAlpha']=0.6,this['update']();}},{'key':'_calcStep','value':function(){var _0x4229a1=_0x2bb60e;this['windField']&&(this[_0x4229a1(0x1fa)]=[(this['windField'][_0x4229a1(0xf3)]-this[_0x4229a1(0x15d)]['xmin'])/this['speedRate'],(this[_0x4229a1(0x15d)][_0x4229a1(0x180)]-this[_0x4229a1(0x15d)][_0x4229a1(0x165)])/this[_0x4229a1(0x22e)]]);}},{'key':'update','value':function(){var _0x4fd571=_0x2bb60e,_0x5aee21=this;if(this[_0x4fd571(0x187)]&&!(this['particles'][_0x4fd571(0x110)]<=0x0)){var _0x5d1d09=null,_0x1a01d3=null,_0x563edb=null;this['particles']['forEach'](function(_0x55ac7b){var _0x219af4=_0x4fd571;if(_0x55ac7b[_0x219af4(0x237)]<=0x0&&_0x5aee21['randomParticle'](_0x55ac7b),_0x55ac7b['age']>0x0){var _0x3be823=_0x55ac7b['tlng'],_0x4d0ba8=_0x55ac7b['tlat'];(_0x563edb=_0x5aee21[_0x219af4(0x15d)][_0x219af4(0x213)](_0x3be823,_0x4d0ba8))?(_0x5d1d09=_0x3be823+_0x5aee21['calc_speedRate'][0x0]*_0x563edb[0x0],_0x1a01d3=_0x4d0ba8+_0x5aee21[_0x219af4(0x1fa)][0x1]*_0x563edb[0x1],_0x55ac7b[_0x219af4(0x1f1)]=_0x3be823,_0x55ac7b['lat']=_0x4d0ba8,_0x55ac7b[_0x219af4(0x217)]=_0x5d1d09,_0x55ac7b[_0x219af4(0x1d3)]=_0x1a01d3,_0x55ac7b['age']--):_0x55ac7b[_0x219af4(0x237)]=0x0;}}),this[_0x4fd571(0x1ad)]();}}},{'key':_0x2bb60e(0xea),'value':function(_0x5872c7,_0x166009,_0x7f05c2){var _0x2fd2b9=_0x2bb60e,_0x5c42ed=_0x2bfd05[_0x2fd2b9(0x16b)][_0x2fd2b9(0x15a)](_0x5872c7,_0x166009,this[_0x2fd2b9(0xdd)]),_0x3a874a=this[_0x2fd2b9(0x106)][_0x2fd2b9(0x18e)];if(_0x3a874a[_0x2fd2b9(0x18a)]===_0x2bfd05[_0x2fd2b9(0x1f8)][_0x2fd2b9(0x184)]&&!new _0x2bfd05[(_0x2fd2b9(0xdc))](_0x3a874a[_0x2fd2b9(0x20f)][_0x2fd2b9(0x1fc)],_0x3a874a[_0x2fd2b9(0xf5)]['positionWC'])[_0x2fd2b9(0x1ff)](_0x5c42ed))return _0x7f05c2['age']=0x0,null;var _0x2924e3=_0x2bfd05[_0x2fd2b9(0x208)][_0x2fd2b9(0x166)](this['_map'][_0x2fd2b9(0x18e)],_0x5c42ed);return _0x2924e3?[_0x2924e3['x'],_0x2924e3['y']]:null;}},{'key':_0x2bb60e(0x1ad),'value':function(){var _0x122ff4=_0x2bb60e,_0xeb8bdf=this,_0x197a05=this[_0x122ff4(0x205)];this[_0x122ff4(0x136)][_0x122ff4(0x1a9)]=_0xeb8bdf[_0x122ff4(0x1a9)],this[_0x122ff4(0x136)]['globalCompositeOperation']=_0x122ff4(0x21b),this[_0x122ff4(0x136)]['fillRect'](0x0,0x0,this['canvasWidth'],this[_0x122ff4(0x22c)]),this[_0x122ff4(0x136)]['globalCompositeOperation']=_0x122ff4(0x1b3),this['canvasContext'][_0x122ff4(0x170)]=0.9,this[_0x122ff4(0x136)][_0x122ff4(0x1f2)](),this[_0x122ff4(0x136)]['strokeStyle']=this['color'];var _0x2362f2=this[_0x122ff4(0x106)][_0x122ff4(0x18e)][_0x122ff4(0x18a)]!==_0x2bfd05[_0x122ff4(0x1f8)]['SCENE3D'];_0x197a05[_0x122ff4(0x233)](function(_0x49ed0c){var _0x2239f9=_0x122ff4,_0x154490=_0xeb8bdf['_tomap'](_0x49ed0c[_0x2239f9(0x1f1)],_0x49ed0c['lat'],_0x49ed0c),_0x160fa3=_0xeb8bdf[_0x2239f9(0xea)](_0x49ed0c[_0x2239f9(0x217)],_0x49ed0c[_0x2239f9(0x1d3)],_0x49ed0c);if(null!=_0x154490&&null!=_0x160fa3){var _0x27b15d=Math['abs'](_0x154490[0x0]-_0x160fa3[0x0]);_0x2362f2&&_0x27b15d>=_0xeb8bdf[_0x2239f9(0x164)]||(_0xeb8bdf[_0x2239f9(0x136)][_0x2239f9(0x227)](_0x154490[0x0],_0x154490[0x1]),_0xeb8bdf[_0x2239f9(0x136)][_0x2239f9(0x198)](_0x160fa3[0x0],_0x160fa3[0x1]));}}),this[_0x122ff4(0x136)][_0x122ff4(0x138)]();}},{'key':_0x2bb60e(0x1e2),'value':function(_0x28b181){var _0x3f0536=_0x2bb60e;for(var _0x112e4d,_0x24142e,_0xd87b2c=0x0;_0xd87b2c<0x1e&&(_0x112e4d=this[_0x3f0536(0x15d)][_0x3f0536(0x1c9)](),!((_0x24142e=this[_0x3f0536(0x15d)][_0x3f0536(0x213)](_0x112e4d[_0x3f0536(0x1f1)],_0x112e4d[_0x3f0536(0x107)]))&&_0x24142e[0x2]>0x0));_0xd87b2c++);if(!_0x24142e)return _0x28b181;var _0x558914=_0x112e4d[_0x3f0536(0x1f1)]+this['calc_speedRate'][0x0]*_0x24142e[0x0],_0x207c58=_0x112e4d[_0x3f0536(0x107)]+this[_0x3f0536(0x1fa)][0x1]*_0x24142e[0x1];return _0x28b181['lng']=_0x112e4d[_0x3f0536(0x1f1)],_0x28b181[_0x3f0536(0x107)]=_0x112e4d['lat'],_0x28b181['tlng']=_0x558914,_0x28b181[_0x3f0536(0x1d3)]=_0x207c58,_0x28b181[_0x3f0536(0x237)]=Math[_0x3f0536(0x135)](Math[_0x3f0536(0x1e6)]()*this[_0x3f0536(0xef)]),_0x28b181;}},{'key':_0x2bb60e(0xee),'value':function(){var _0x2f81bc=_0x2bb60e;this[_0x2f81bc(0x205)]=[],delete this[_0x2f81bc(0x15d)],delete this[_0x2f81bc(0x115)];}}]),_0x3b07fd;}(_0x528b06[_0x3a7e93(0x1b8)][_0x3a7e93(0xe3)]);function _0x1285d4(_0x59686b,_0x241aa1){var _0x25ec95=_0x3a7e93;return _0x59686b*Math[_0x25ec95(0x1a0)](_0x2bfd05[_0x25ec95(0x1d2)]['toRadians'](_0x241aa1));}function _0x14defd(_0x24478a,_0x2ce4e7){var _0x4850ed=_0x3a7e93;return _0x24478a*Math['sin'](_0x2bfd05[_0x4850ed(0x1d2)][_0x4850ed(0x20e)](_0x2ce4e7));}function _0x2206a4(_0x2c18f2,_0x58fe56){var _0x32009d=_0x3a7e93;return Math[_0x32009d(0x1c2)](Math['pow'](_0x2c18f2,0x2)+Math[_0x32009d(0x16f)](_0x58fe56,0x2));}function _0xf9eb2e(_0x5d6d2c,_0x3d9f38){var _0x5726ea=_0x3a7e93,_0xdfdc9e=_0x2bfd05[_0x5726ea(0x1d2)][_0x5726ea(0x11a)](Math[_0x5726ea(0x153)](_0x3d9f38,_0x5d6d2c));return _0xdfdc9e+=_0xdfdc9e<0x0?0x168:0x0;}_0x528b06[_0x3a7e93(0x1ca)][_0x3a7e93(0x1e1)](_0x3a7e93(0x1db),_0x23a533),_0x528b06[_0x3a7e93(0x1b8)]['CanvasWindLayer']=_0x23a533,_0x528b06[_0x3a7e93(0x1fd)]=_0x4b17ad;}]));function a0_0x3080(_0x2d55d2,_0x975919){var _0x1d563c=a0_0x1d56();return a0_0x3080=function(_0x3080ad,_0x5989a2){_0x3080ad=_0x3080ad-0xc4;var _0x1c0502=_0x1d563c[_0x3080ad];return _0x1c0502;},a0_0x3080(_0x2d55d2,_0x975919);}function a0_0x1d56(){var _0x4ed441=['round','canvasContext','getPixelSize','stroke','class','getUserInput','colorNum','west','createWindTextures','UNSIGNED_BYTE','_onMouseMoveEvent','setGeometry','pixelSize','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}','updatePosition','valueOf','clientWidth','bind','getFullscreenQuad','function','frameTime','_onMap_preRenderEvent','isDestroyed','currentParticlesPosition','currentTrails','ceil','17876903tHfdWU','particlesNumber','dropRateBump','reverseY','atan2','toStringTag','createRenderingPrimitives','preExecute','7036maAdTE','getExtent','redraw','fromDegrees','push','xmin','windField','context','array','lev','particlesWind','symbol','viewport','canvasWidth','ymin','wgs84ToWindowCoordinates','max','_calcStep','createParticlesTextures','RGBA','Cartesian3','drawingBufferHeight','width','segmentsDepth','pow','globalAlpha','PI_OVER_THREE','autoClear','segments','attributeLocations','destroy','undefined','__proto__','maxParticles','1379zyZgtN','drawingBufferWidth','preRender','mars3d','pointerEvents','commandToExecute','color','ymax','Module','frameRate','defined','SCENE3D','120MTvqKA','getPrototypeOf','show','updateSpeed','lon','mode','particlesRendering','__esModule','canvas','scene','EventType','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','100%','visible','TRIANGLES','setPrototypeOf','randomizeParticles','keys','_pointerEvents','lineTo','commandType','hasOwnProperty','_bilinearInterpolation','now','createComputingPrimitives','RenderState','ShaderSource','cos','12QWZAZM','once','createRenderingFramebuffers','refreshParticles','toGridXY','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','wind','isInExtent','lineWidth','animateFrame','getSpeed','lonRange','_drawLines','constructor','currentTrailsColor','segmentsColor','DrawCommand','hidden','lighter','primitiveType','particlesComputing','nextTrails','LUMINANCE','layer','clientHeight','_particlesNumber','fadeOpacity','viewerParameters','value','createCommand','iterator','resize','TextureMinificationFilter','sqrt','_mountedHook','_onMouseDownEvent','enumerable','createRenderingTextures','DEPTH_COMPONENT','PrimitiveCollection','getRandomLatLng','LayerUtil','GeometryAttributes','Geometry','depthTexture','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}','ClearCommand','bindEvent','VertexArray','Math','tlat','getWind','particlesTextures','create','refreshTimer','wheel','Sampler','createTexture','canvasWind','mouseMove','setOptions','colorTable','ZERO','createFramebuffer','register','randomParticle','screen','_maxAge','exports','random','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}','call','writable','rows','LINEAR','viewRectangleToLonLatRange','style','remove','FLOAT','updateViewerParameters','lng','beginPath','particleHeight','DepthFunction','apply','dimensions','outputTexture','SceneMode','TWO_PI','calc_speedRate','TextureMagnificationFilter','ellipsoid','WindUtil','mars3dWind','isPointVisible','//\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}','dropRate','Cartesian2','udata','globeBoundingSphere','particles','canvasWindy','reverse','SceneTransforms','computeViewRectangle','commandList','defaultValue','drawWind','mouse_move','toRadians','globe','defineProperty','currentParticlesSpeed','prototype','getUVByPoint','left','rgba(0,\x200,\x200,\x200.97)','101754bdCKxC','tlng','Texture','nextTrailsDepth','removeEventListener','destination-in','Compute','vertexShaderSource','108063pXbWVn','removeChild','_showHook','auto','ShaderProgram','textures','PrimitiveType','_removedHook','Color','moveTo','height','mod','11274GZDTnA','DISABLE_GL_POSITION_LOG_DEPTH','canvasHeight','updateDate','speedRate','OPAQUE','postProcessingPosition','setAttribute','visibility','forEach','BufferUsage','_addedHook','speedFactor','age','execute','fromCache','getDirection','Rectangle','getUVByXY','north','construct','data','clampToLatitudeRange','blending','trails','getV','fragmentShaderSource','default','vdata','WindLayer','PixelDatatype','zIndex','5vlKjfT','applyUserInput','clearCommand','top','3215510vESLnA','options','EllipsoidalOccluder','fixedHeight','mouseUp','PixelFormat','UNSIGNED_INT','none','destroyParticlesTextures','BaseLayer','getU','string','framebuffers','Draw','cols','nextParticlesSpeed','_tomap','Cesium','PI_OVER_TWO','GeometryAttribute','clear','maxAge','createElement','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}','randomBetween','xmax','floor','camera','postProcessingSpeed','2900950gduWku','Pass','userInput','rawRenderState','windTextures','mouseDown','geometry','shaderProgram','vertexArray','uniformMap','arrayBufferView','Framebuffer','STATIC_DRAW','ComputeCommand','_onMapWhellEvent','_map','lat','off','globeLayer','framebuffer','add','fill','getColorTexture','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','latRange','length','NEAREST','depthMask','RGB','requestAnimationFrame','windData','clearFramebuffers','min','sham','canrefresh','toDegrees','_createCanvas','Appearance','container','log','applyViewerParameters','addPrimitives','831GjLcam','particleSystem','all','ALWAYS','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','addEventListener','fromGeometry','grid','destroyObject','createRawRenderState','mouse_down','removeAll','primitives','nextParticlesPosition','object','particlesTextureSize','getDefaultRenderState','_calcUV','ComponentDatatype','_onMouseUpEvent'];a0_0x1d56=function(){return _0x4ed441;};return a0_0x1d56();}
|
|
31
31
|
|
|
32
32
|
})(window);
|
|
33
33
|
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mars3d-wind",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.19",
|
|
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.
|
|
11
|
-
"mars3d-cesium": "^1.88.
|
|
10
|
+
"mars3d": "^3.1.19",
|
|
11
|
+
"mars3d-cesium": "^1.88.2"
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {},
|
|
14
14
|
"scripts": {
|