mars3d-wind 3.7.13 → 3.7.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Mars3D平台插件,支持气象 风向图 功能插件 mars3d-wind
3
3
  *
4
- * 版本信息:v3.7.13
5
- * 编译日期:2024-05-14 21:00:52
4
+ * 版本信息:v3.7.15
5
+ * 编译日期:2024-05-21 21:44:35
6
6
  * 版权所有:Copyright by 火星科技 http://mars3d.cn
7
7
  * 使用单位:免费公开版 ,2024-01-15
8
8
  */
@@ -11,5 +11,5 @@
11
11
  typeof define === 'function' && define.amd ? define(['exports', 'mars3d'], factory) :
12
12
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["mars3d-wind"] = {}, global.mars3d));
13
13
  })(this, (function (exports, mars3d) {
14
- 'use strict';(function(_0x2de022,_0x5b515b){function _0x3a1e84(_0x4083bc,_0xf9f36c){return _0x5630(_0x4083bc-0x1a2,_0xf9f36c);}function _0x29beb8(_0x2582b6,_0x52785c){return _0x5630(_0x52785c- -0x39b,_0x2582b6);}const _0x11e224=_0x2de022();while(!![]){try{const _0x27cc8f=-parseInt(_0x3a1e84(0x33e,0x2af))/0x1+parseInt(_0x3a1e84(0x3ad,0x37b))/0x2*(-parseInt(_0x29beb8(-0x1c1,-0x12d))/0x3)+-parseInt(_0x3a1e84(0x325,0x38b))/0x4*(-parseInt(_0x29beb8(-0x1d1,-0x227))/0x5)+-parseInt(_0x29beb8(-0x131,-0x1bf))/0x6+parseInt(_0x3a1e84(0x312,0x345))/0x7*(parseInt(_0x3a1e84(0x3e4,0x406))/0x8)+-parseInt(_0x3a1e84(0x397,0x3b1))/0x9*(-parseInt(_0x29beb8(-0x24a,-0x1d5))/0xa)+-parseInt(_0x3a1e84(0x3d6,0x3bc))/0xb*(-parseInt(_0x3a1e84(0x337,0x315))/0xc);if(_0x27cc8f===_0x5b515b)break;else _0x11e224['push'](_0x11e224['shift']());}catch(_0x42ecf8){_0x11e224['push'](_0x11e224['shift']());}}}(_0x3250,0x8bb16));function _interopNamespace(_0x365ea1){function _0x9f44eb(_0x51d5da,_0x1d0eed){return _0x5630(_0x51d5da-0x332,_0x1d0eed);}if(_0x365ea1&&_0x365ea1['__esModule'])return _0x365ea1;var _0x43769d=Object['create'](null);function _0xd9192(_0x4b885d,_0x3859ad){return _0x5630(_0x3859ad- -0x369,_0x4b885d);}return _0x365ea1&&Object[_0xd9192(-0x27f,-0x1fd)](_0x365ea1)['forEach'](function(_0x4df3b8){function _0xe4116f(_0x51df2e,_0x44a236){return _0xd9192(_0x44a236,_0x51df2e-0x4c9);}function _0x10a3af(_0x5edb6d,_0x112acd){return _0xd9192(_0x112acd,_0x5edb6d- -0x45);}if(_0x4df3b8!==_0xe4116f(0x36c,0x35c)){var _0x39f9ff=Object['getOwnPropertyDescriptor'](_0x365ea1,_0x4df3b8);Object[_0xe4116f(0x37c,0x403)](_0x43769d,_0x4df3b8,_0x39f9ff['get']?_0x39f9ff:{'enumerable':!![],'get':function(){return _0x365ea1[_0x4df3b8];}});}}),_0x43769d[_0xd9192(-0x18f,-0x15d)]=_0x365ea1,_0x43769d;}var mars3d__namespace=_interopNamespace(mars3d);const Cesium$7=mars3d__namespace[_0x181031(0x4e7,0x4a1)];function getU(_0xba4596,_0x3f7975){const _0x282599=_0xba4596*Math['cos'](Cesium$7['Math']['toRadians'](_0x3f7975));return _0x282599;}function getV(_0x3e36a9,_0x28620b){const _0x3169bf=_0x3e36a9*Math['sin'](Cesium$7['Math']['toRadians'](_0x28620b));return _0x3169bf;}function getSpeed(_0x1f58cd,_0x5b96c1){const _0x9f6e91=Math[_0x31bc7c(-0x154,-0x13a)](Math['pow'](_0x1f58cd,0x2)+Math[_0x43418a(0x596,0x5df)](_0x5b96c1,0x2));function _0x31bc7c(_0x5e8b01,_0x1cf71b){return _0x181031(_0x1cf71b- -0x6a7,_0x5e8b01);}function _0x43418a(_0x291e63,_0x1d38be){return _0x181031(_0x291e63-0x98,_0x1d38be);}return _0x9f6e91;}function getDirection(_0x19e8f9,_0x2070da){function _0x2db795(_0x5e1bfb,_0x2dcc36){return _0x181031(_0x5e1bfb- -0x85,_0x2dcc36);}let _0x468157=Cesium$7[_0x3a0c9c(0x1c6,0x1e2)][_0x3a0c9c(0x236,0x2af)](Math['atan2'](_0x2070da,_0x19e8f9));function _0x3a0c9c(_0x271ebf,_0x326ecf){return _0x181031(_0x271ebf- -0x34a,_0x326ecf);}return _0x468157+=_0x468157<0x0?0x168:0x0,_0x468157;}const _0x415708={};_0x415708[_0x181031(0x4e4,0x465)]=null,_0x415708['getU']=getU,_0x415708[_0x181031(0x4e3,0x47d)]=getV,_0x415708['getSpeed']=getSpeed,_0x415708['getDirection']=getDirection;var WindUtil=_0x415708;const Cesium$6=mars3d__namespace['Cesium'];class CustomPrimitive{constructor(_0x39c636){this[_0xc5d079(-0x1ef,-0x1f7)]=_0x39c636['commandType'],this[_0xc5d079(-0x205,-0x252)]=_0x39c636['geometry'],this['attributeLocations']=_0x39c636[_0xc5d079(-0x1af,-0x14d)],this[_0x2ccf07(-0x5f,-0x51)]=_0x39c636['primitiveType'];function _0x2ccf07(_0x1f0c04,_0x465ff4){return _0x181031(_0x465ff4- -0x4eb,_0x1f0c04);}this['uniformMap']=_0x39c636['uniformMap'],this[_0xc5d079(-0x14b,-0x156)]=_0x39c636[_0x2ccf07(0x3b,0x62)],this['fragmentShaderSource']=_0x39c636['fragmentShaderSource'],this[_0x2ccf07(0x3a,0xc4)]=_0x39c636[_0xc5d079(-0xe9,-0x12d)],this['framebuffer']=_0x39c636['framebuffer'],this['outputTexture']=_0x39c636[_0xc5d079(-0x1cd,-0x1b9)],this[_0xc5d079(-0x158,-0x145)]=_0x39c636['autoClear']??![];function _0xc5d079(_0x105782,_0x35751b){return _0x181031(_0x105782- -0x698,_0x35751b);}this['preExecute']=_0x39c636[_0xc5d079(-0x1c1,-0x21e)],this['show']=!![],this['commandToExecute']=undefined,this['clearCommand']=undefined,this['autoClear']&&(this[_0xc5d079(-0xfa,-0xd2)]=new Cesium$6['ClearCommand']({'color':new Cesium$6['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this['framebuffer'],'pass':Cesium$6['Pass']['OPAQUE']}));}[_0x3a9b52(0x7d,0x88)](_0x470f21){function _0x3f929c(_0x2e1f42,_0x3f7a5f){return _0x3a9b52(_0x3f7a5f-0x3b7,_0x2e1f42);}function _0x36ff2b(_0x303fca,_0x47531a){return _0x181031(_0x303fca- -0x555,_0x47531a);}switch(this['commandType']){case _0x36ff2b(-0x58,-0x78):{const _0x5adb4d=Cesium$6['VertexArray'][_0x3f929c(0x3be,0x3bb)]({'context':_0x470f21,'geometry':this[_0x36ff2b(-0xc2,-0x11e)],'attributeLocations':this['attributeLocations'],'bufferUsage':Cesium$6[_0x36ff2b(-0x13,-0xa2)]['STATIC_DRAW']}),_0x14225b={};_0x14225b[_0x3f929c(0x411,0x3a1)]=_0x470f21,_0x14225b['attributeLocations']=this[_0x3f929c(0x441,0x3c2)],_0x14225b[_0x3f929c(0x419,0x426)]=this[_0x3f929c(0x3d3,0x426)],_0x14225b['fragmentShaderSource']=this['fragmentShaderSource'];const _0x26cde2=Cesium$6['ShaderProgram'][_0x36ff2b(-0x7,0xe)](_0x14225b),_0x9a90de=Cesium$6['RenderState']['fromCache'](this['rawRenderState']);return new Cesium$6[(_0x3f929c(0x3fb,0x441))]({'primitiveType':this['primitiveType'],'shaderProgram':_0x26cde2,'vertexArray':_0x5adb4d,'modelMatrix':Cesium$6['Matrix4']['IDENTITY'],'renderState':_0x9a90de,'uniformMap':this[_0x3f929c(0x3e9,0x3cb)],'castShadows':![],'receiveShadows':![],'framebuffer':this[_0x3f929c(0x421,0x39c)],'pass':Cesium$6[_0x36ff2b(-0x64,-0x1a)]['OPAQUE'],'pickOnly':!![],'owner':this});}case'Compute':{const _0x33c449={};return _0x33c449['owner']=this,_0x33c449['fragmentShaderSource']=this['fragmentShaderSource'],_0x33c449[_0x36ff2b(-0x63,0x0)]=this[_0x3f929c(0x3d9,0x3cb)],_0x33c449['outputTexture']=this['outputTexture'],_0x33c449[_0x3f929c(0x3a3,0x3de)]=!![],new Cesium$6['ComputeCommand'](_0x33c449);}}}['setGeometry'](_0x114f18,_0x3eeab0){this[_0xa8867b(-0x1b9,-0x172)]=_0x3eeab0;function _0xbd4897(_0x53fbf9,_0x529e33){return _0x181031(_0x53fbf9- -0x69c,_0x529e33);}const _0x5255f5=Cesium$6['VertexArray']['fromGeometry']({'context':_0x114f18,'geometry':this['geometry'],'attributeLocations':this['attributeLocations'],'bufferUsage':Cesium$6['BufferUsage']['STATIC_DRAW']});function _0xa8867b(_0x47d55f,_0x5aadf7){return _0x181031(_0x5aadf7- -0x605,_0x47d55f);}this[_0xbd4897(-0x12b,-0x1a4)][_0xa8867b(-0x8d,-0xce)]=_0x5255f5;}[_0x181031(0x4d3,0x501)](_0x799d7c){function _0x1dd538(_0x253dc0,_0xc7abf2){return _0x3a9b52(_0xc7abf2- -0x227,_0x253dc0);}if(!this['show'])return;if(_0x799d7c[_0x1dd538(-0x204,-0x211)]!==Cesium$6['SceneMode']['SCENE3D'])return;!Cesium$6[_0x2d0077(0xed,0x13b)](this[_0x2d0077(0xbb,0xd5)])&&(this['commandToExecute']=this['createCommand'](_0x799d7c[_0x2d0077(0x12,0x43)]));Cesium$6['defined'](this['preExecute'])&&this['preExecute']();function _0x2d0077(_0x1ca2ff,_0x5b631d){return _0x3a9b52(_0x1ca2ff-0x28,_0x5b631d);}Cesium$6[_0x1dd538(-0x1ab,-0x162)](this[_0x2d0077(0xe8,0x69)])&&_0x799d7c[_0x2d0077(0x7d,-0xc)]['push'](this[_0x1dd538(-0x124,-0x167)]),_0x799d7c['commandList']['push'](this['commandToExecute']);}[_0x181031(0x494,0x49d)](){return![];}['destroy'](){if(this['clearCommand']){var _0x1c1da2,_0x2b1706;(_0x1c1da2=this['clearCommand'])!==null&&_0x1c1da2!==void 0x0&&_0x1c1da2[_0x35aedf(-0x4e,0x19)]&&this['clearCommand'][_0x1f934f(-0x10b,-0x9a)]['destroy'](),(_0x2b1706=this[_0x35aedf(0xcd,0x80)])!==null&&_0x2b1706!==void 0x0&&_0x2b1706[_0x35aedf(0x1,0x11)]&&this['clearCommand']['shaderProgram']['destroy'](),delete this[_0x35aedf(0x40,0x80)];}this['commandToExecute']&&(this['commandToExecute']['vertexArray']&&this[_0x35aedf(0x54,0x53)][_0x1f934f(-0x10b,-0x187)][_0x35aedf(0x7d,0x3e)](),this['commandToExecute'][_0x1f934f(-0x113,-0xc7)]&&this['commandToExecute']['shaderProgram']['destroy'](),delete this['commandToExecute']);function _0x1f934f(_0x383e1c,_0x5081c9){return _0x181031(_0x383e1c- -0x642,_0x5081c9);}function _0x35aedf(_0x17419d,_0x36f5b6){return _0x3a9b52(_0x36f5b6- -0x40,_0x17419d);}return Cesium$6['destroyObject'](this);}}const Cesium$5=mars3d__namespace['Cesium'],Util=(function(){const _0x25a39a=function(){const _0xb6affa=new Cesium$5['Geometry']({'attributes':new Cesium$5['GeometryAttributes']({'position':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5[_0x2af7df(0x4af,0x53e)]['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});function _0x2af7df(_0x2b838f,_0x4d0cc3){return _0x5630(_0x4d0cc3-0x367,_0x2b838f);}return _0xb6affa;},_0x4135ab=function(_0x392e27,_0x1f44dd){if(Cesium$5['defined'](_0x1f44dd)){const _0x48f2e3={};_0x48f2e3[_0x56e4d0(0x37,0x75)]=_0x1f44dd,_0x392e27['source']=_0x48f2e3;}function _0x56e4d0(_0x174d1d,_0x515449){return _0x5630(_0x515449- -0x13f,_0x174d1d);}const _0x3cb44a=new Cesium$5['Texture'](_0x392e27);return _0x3cb44a;},_0x57b6f=function(_0x29fc0e,_0x3f74fa,_0x22bb3e){const _0x1980bc={};_0x1980bc['context']=_0x29fc0e,_0x1980bc['colorTextures']=[_0x3f74fa],_0x1980bc['depthTexture']=_0x22bb3e;const _0x452397=new Cesium$5['Framebuffer'](_0x1980bc);return _0x452397;};function _0x42597c(_0x133027,_0x53a13a){return _0x3a9b52(_0x53a13a-0x45b,_0x133027);}const _0x1e8c5d=function(_0x5da86f){const _0x1f8e34=!![],_0x269161=![],_0x1c3af5={};_0x1c3af5['viewport']=_0x5da86f[_0x5812cb(0x2db,0x289)],_0x1c3af5[_0x5812cb(0x3ce,0x360)]=_0x5da86f['depthTest'],_0x1c3af5[_0x52c226(0x131,0xb7)]=_0x5da86f['depthMask'],_0x1c3af5['blending']=_0x5da86f['blending'];const _0x5e693b=_0x1c3af5,_0x32271e=Cesium$5[_0x52c226(0x7a,0xc5)]['getDefaultRenderState'](_0x1f8e34,_0x269161,_0x5e693b);function _0x5812cb(_0x577af5,_0x16cd39){return _0x5630(_0x16cd39-0xf5,_0x577af5);}function _0x52c226(_0x5c3c40,_0x326baf){return _0x5630(_0x326baf- -0x127,_0x5c3c40);}return _0x32271e;},_0x694082=function(_0x92c2bd){const _0x50f459={},_0x5bfabb=Cesium$5['Math'][_0x48e45c(-0xc,-0xa0)](_0x92c2bd[_0x48e45c(-0xb,-0x9e)],Cesium$5['Math'][_0x2af408(0x3c9,0x3c0)]),_0x38010d=Cesium$5['Math']['mod'](_0x92c2bd['east'],Cesium$5['Math'][_0x48e45c(-0x18,-0xa4)]),_0x4763b3=_0x92c2bd[_0x48e45c(0x7a,0x2a)];let _0x14207f,_0x5b8c89;function _0x48e45c(_0x15bb2a,_0x4029a8){return _0x5630(_0x15bb2a- -0x19e,_0x4029a8);}_0x4763b3>Cesium$5[_0x2af408(0x42e,0x493)]['THREE_PI_OVER_TWO']?(_0x14207f=0x0,_0x5b8c89=Cesium$5[_0x2af408(0x42e,0x452)]['TWO_PI']):_0x38010d-_0x5bfabb<_0x4763b3?(_0x14207f=_0x5bfabb,_0x5b8c89=_0x5bfabb+_0x4763b3):(_0x14207f=_0x5bfabb,_0x5b8c89=_0x38010d);_0x50f459['lon']={'min':Cesium$5['Math'][_0x48e45c(0xbd,0x13b)](_0x14207f),'max':Cesium$5['Math']['toDegrees'](_0x5b8c89)};const _0x52dc4e=_0x92c2bd['south'],_0x263830=_0x92c2bd['north'],_0x3ed167=_0x92c2bd['height'],_0x2a2336=_0x3ed167>Cesium$5['Math']['PI']/0xc?_0x3ed167/0x2:0x0;let _0x3a0ce0=Cesium$5['Math']['clampToLatitudeRange'](_0x52dc4e-_0x2a2336),_0x2dd5ad=Cesium$5['Math'][_0x2af408(0x4b0,0x451)](_0x263830+_0x2a2336);_0x3a0ce0<-Cesium$5['Math']['PI_OVER_THREE']&&(_0x3a0ce0=-Cesium$5['Math']['PI_OVER_TWO']);_0x2dd5ad>Cesium$5['Math']['PI_OVER_THREE']&&(_0x2dd5ad=Cesium$5['Math'][_0x2af408(0x481,0x456)]);function _0x2af408(_0x55ef9c,_0x112cd3){return _0x5630(_0x55ef9c-0x243,_0x112cd3);}return _0x50f459['lat']={'min':Cesium$5['Math']['toDegrees'](_0x3a0ce0),'max':Cesium$5['Math']['toDegrees'](_0x2dd5ad)},_0x50f459;},_0x2d1ee5={};return _0x2d1ee5['getFullscreenQuad']=_0x25a39a,_0x2d1ee5['createTexture']=_0x4135ab,_0x2d1ee5['createFramebuffer']=_0x57b6f,_0x2d1ee5[_0x42597c(0x48b,0x44e)]=_0x1e8c5d,_0x2d1ee5['viewRectangleToLonLatRange']=_0x694082,_0x2d1ee5;}());var segmentDraw_vert='in\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0ain\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\x0aout\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\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\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=\x20texture(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture(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=\x20texture(postProcessingSpeed,\x20particleIndex).a;\x0a}\x0a',segmentDraw_frag='uniform\x20sampler2D\x20colorTable;\x0a\x0ain\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20texture(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}\x0a',fullscreen_vert=_0x181031(0x4f9,0x57e),trailDraw_frag=_0x181031(0x588,0x56d),screenDraw_frag=_0x3a9b52(0x68,-0xe);const Cesium$4=mars3d__namespace['Cesium'];class ParticlesRendering{constructor(_0x2878e9,_0x9ba678,_0x2015ae,_0x33565a,_0x45c749){function _0x3d14c7(_0xb77e67,_0x4d4413){return _0x3a9b52(_0x4d4413-0x4b6,_0xb77e67);}function _0x35bf79(_0x42c675,_0x552a8d){return _0x181031(_0x552a8d- -0x3a5,_0x42c675);}this[_0x35bf79(0x103,0x165)](_0x2878e9,_0x9ba678,_0x2015ae['colors']),this[_0x35bf79(0x1ee,0x1ad)](_0x2878e9),this['createRenderingPrimitives'](_0x2878e9,_0x2015ae,_0x33565a,_0x45c749);}[_0x181031(0x50a,0x544)](_0x2dd93f,_0x54ffce,_0x12ca7f){const _0x82b72c={};function _0x20aa01(_0x44dbc2,_0x447e70){return _0x181031(_0x44dbc2- -0x361,_0x447e70);}_0x82b72c['context']=_0x2dd93f,_0x82b72c['width']=_0x2dd93f['drawingBufferWidth'],_0x82b72c[_0x4b0ed8(0x11c,0x107)]=_0x2dd93f['drawingBufferHeight'],_0x82b72c[_0x4b0ed8(0x1d9,0x18a)]=Cesium$4['PixelFormat'][_0x4b0ed8(0x214,0x2a0)],_0x82b72c[_0x4b0ed8(0x138,0xf3)]=Cesium$4['PixelDatatype'][_0x4b0ed8(0x16a,0x117)];const _0x4861f6=_0x82b72c,_0x229ef6={};_0x229ef6[_0x4b0ed8(0x144,0x160)]=_0x2dd93f,_0x229ef6['width']=_0x2dd93f['drawingBufferWidth'],_0x229ef6[_0x20aa01(0x13f,0x1a6)]=_0x2dd93f[_0x20aa01(0x208,0x176)],_0x229ef6[_0x20aa01(0x1fc,0x1df)]=Cesium$4['PixelFormat'][_0x4b0ed8(0x18a,0x161)],_0x229ef6['pixelDatatype']=Cesium$4[_0x4b0ed8(0x12a,0xa7)]['UNSIGNED_INT'];function _0x4b0ed8(_0x1e1e6a,_0x567a77){return _0x3a9b52(_0x1e1e6a-0x15a,_0x567a77);}const _0x3bca35=_0x229ef6,_0x4198b3=_0x12ca7f[_0x4b0ed8(0x1f2,0x264)],_0x1048d6=new Float32Array(_0x4198b3*0x3);for(let _0x30f2b1=0x0;_0x30f2b1<_0x4198b3;_0x30f2b1++){const _0x50dcc6=Cesium$4['Color']['fromCssColorString'](_0x12ca7f[_0x30f2b1]);_0x1048d6[0x3*_0x30f2b1]=_0x50dcc6['red'],_0x1048d6[0x3*_0x30f2b1+0x1]=_0x50dcc6['green'],_0x1048d6[0x3*_0x30f2b1+0x2]=_0x50dcc6['blue'];}const _0x365f48={'context':_0x2dd93f,'width':_0x4198b3,'height':0x1,'pixelFormat':Cesium$4[_0x20aa01(0x1c7,0x1e5)][_0x4b0ed8(0x201,0x214)],'pixelDatatype':Cesium$4['PixelDatatype']['FLOAT'],'sampler':new Cesium$4['Sampler']({'minificationFilter':Cesium$4['TextureMinificationFilter'][_0x20aa01(0x1d3,0x17b)],'magnificationFilter':Cesium$4['TextureMagnificationFilter']['LINEAR']})};this[_0x20aa01(0x13a,0xf1)]={'segmentsColor':Util[_0x4b0ed8(0x1f6,0x1b4)](_0x4861f6),'segmentsDepth':Util[_0x20aa01(0x219,0x1e3)](_0x3bca35),'currentTrailsColor':Util['createTexture'](_0x4861f6),'currentTrailsDepth':Util[_0x4b0ed8(0x1f6,0x1cb)](_0x3bca35),'nextTrailsColor':Util['createTexture'](_0x4861f6),'nextTrailsDepth':Util['createTexture'](_0x3bca35),'colorTable':Util['createTexture'](_0x365f48,_0x1048d6)};}[_0x181031(0x552,0x4de)](_0x1e1ea8){function _0x5daabe(_0x4c228e,_0x55485c){return _0x3a9b52(_0x55485c-0x226,_0x4c228e);}function _0x119764(_0x28ae25,_0x9b5f41){return _0x3a9b52(_0x28ae25- -0xf4,_0x9b5f41);}this['framebuffers']={'segments':Util['createFramebuffer'](_0x1e1ea8,this['textures']['segmentsColor'],this['textures']['segmentsDepth']),'currentTrails':Util['createFramebuffer'](_0x1e1ea8,this[_0x5daabe(0x15f,0x1e3)]['currentTrailsColor'],this['textures'][_0x5daabe(0x1ad,0x23e)]),'nextTrails':Util['createFramebuffer'](_0x1e1ea8,this['textures']['nextTrailsColor'],this['textures']['nextTrailsDepth'])};}[_0x181031(0x59c,0x53e)](_0x577cda){const _0x4b668f=0x4;let _0x1d71a3=[];function _0x13f159(_0xc01309,_0x7e6d77){return _0x181031(_0x7e6d77- -0x3d1,_0xc01309);}for(let _0x3db884=0x0;_0x3db884<_0x577cda['particlesTextureSize'];_0x3db884++){for(let _0xfb01bb=0x0;_0xfb01bb<_0x577cda[_0x13f159(0x1ce,0x1d7)];_0xfb01bb++){for(let _0x47ca53=0x0;_0x47ca53<_0x4b668f;_0x47ca53++){_0x1d71a3[_0x3fa8ce(0x403,0x3ff)](_0x3db884/_0x577cda['particlesTextureSize']),_0x1d71a3[_0x3fa8ce(0x403,0x474)](_0xfb01bb/_0x577cda[_0x3fa8ce(0x499,0x421)]);}}}_0x1d71a3=new Float32Array(_0x1d71a3);function _0x3fa8ce(_0x2e496d,_0xdb8078){return _0x181031(_0x2e496d- -0x10f,_0xdb8078);}let _0x398bb7=[];const _0x16c20b=[-0x1,0x1],_0x5ed115=[-0x1,0x1];for(let _0x4e02d5=0x0;_0x4e02d5<_0x577cda['maxParticles'];_0x4e02d5++){for(let _0x4f1d6c=0x0;_0x4f1d6c<_0x4b668f/0x2;_0x4f1d6c++){for(let _0xacef6a=0x0;_0xacef6a<_0x4b668f/0x2;_0xacef6a++){_0x398bb7[_0x13f159(0x155,0x141)](_0x16c20b[_0x4f1d6c]),_0x398bb7[_0x3fa8ce(0x403,0x424)](_0x5ed115[_0xacef6a]),_0x398bb7['push'](0x0);}}}_0x398bb7=new Float32Array(_0x398bb7);const _0x2426b7=0x6*_0x577cda[_0x3fa8ce(0x42c,0x480)],_0xe40920=new Uint32Array(_0x2426b7);for(let _0x484d1a=0x0,_0xd6fb52=0x0,_0x1900c3=0x0;_0x484d1a<_0x577cda['maxParticles'];_0x484d1a++){_0xe40920[_0xd6fb52++]=_0x1900c3+0x0,_0xe40920[_0xd6fb52++]=_0x1900c3+0x1,_0xe40920[_0xd6fb52++]=_0x1900c3+0x2,_0xe40920[_0xd6fb52++]=_0x1900c3+0x2,_0xe40920[_0xd6fb52++]=_0x1900c3+0x1,_0xe40920[_0xd6fb52++]=_0x1900c3+0x3,_0x1900c3+=0x4;}const _0x1854ee=new Cesium$4[(_0x3fa8ce(0x390,0x36a))]({'attributes':new Cesium$4['GeometryAttributes']({'st':new Cesium$4['GeometryAttribute']({'componentDatatype':Cesium$4['ComponentDatatype'][_0x13f159(0x16c,0x122)],'componentsPerAttribute':0x2,'values':_0x1d71a3}),'normal':new Cesium$4[(_0x13f159(0xe6,0x15a))]({'componentDatatype':Cesium$4['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':_0x398bb7})}),'indices':_0xe40920});return _0x1854ee;}['createRenderingPrimitives'](_0x138b28,_0x56b31d,_0x58f220,_0x2a4c2b){const _0x18d748=this,_0x432fc6={};_0x432fc6['st']=0x0,_0x432fc6['normal']=0x1;const _0x15a6a8={};_0x15a6a8['sources']=[segmentDraw_vert];const _0x289efa={};_0x289efa['sources']=[segmentDraw_frag];const _0x1846ad={};_0x1846ad[_0x4a93e0(-0x10a,-0x171)]=!![];function _0x4a93e0(_0x2f9486,_0x31793b){return _0x3a9b52(_0x31793b- -0x16e,_0x2f9486);}const _0x5de602={};function _0xcf8f93(_0x959d45,_0x375f56){return _0x181031(_0x959d45- -0x2a3,_0x375f56);}_0x5de602['viewport']=undefined,_0x5de602['depthTest']=_0x1846ad,_0x5de602['depthMask']=!![];const _0x1dd512={};_0x1dd512['position']=0x0,_0x1dd512['st']=0x1;const _0x14b2e1={};_0x14b2e1['defines']=['DISABLE_GL_POSITION_LOG_DEPTH'],_0x14b2e1[_0xcf8f93(0x20c,0x270)]=[fullscreen_vert];const _0x229677={};_0x229677[_0xcf8f93(0x24d,0x1d8)]=['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],_0x229677[_0xcf8f93(0x20c,0x203)]=[trailDraw_frag];const _0x645adf={};_0x645adf['position']=0x0,_0x645adf['st']=0x1;const _0x49a917={};_0x49a917['defines']=[_0xcf8f93(0x2e4,0x376)],_0x49a917['sources']=[fullscreen_vert];const _0x5a0a56={};_0x5a0a56['defines']=['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],_0x5a0a56[_0x4a93e0(-0x1d5,-0x19d)]=[screenDraw_frag];const _0x417a32={};_0x417a32['enabled']=![];const _0x1494e4={};_0x1494e4[_0xcf8f93(0x238,0x219)]=!![],this['primitives']={'segments':new CustomPrimitive({'commandType':_0xcf8f93(0x25a,0x291),'attributeLocations':_0x432fc6,'geometry':this['createSegmentsGeometry'](_0x56b31d),'primitiveType':Cesium$4['PrimitiveType']['TRIANGLES'],'uniformMap':{'currentParticlesPosition':function(){function _0x35c098(_0x3d5bce,_0x19dd63){return _0x4a93e0(_0x19dd63,_0x3d5bce-0x7c);}return _0x2a4c2b['particlesTextures'][_0x35c098(-0x2a,-0x2)];},'postProcessingPosition':function(){function _0x2321eb(_0x382d01,_0x41ec95){return _0xcf8f93(_0x382d01- -0x2b5,_0x41ec95);}return _0x2a4c2b[_0x2321eb(-0x4b,-0x52)]['postProcessingPosition'];},'postProcessingSpeed':function(){function _0x13bba5(_0x26e23d,_0x442ff6){return _0xcf8f93(_0x442ff6-0x2b5,_0x26e23d);}function _0x43f3ee(_0x33be72,_0x59a1fa){return _0x4a93e0(_0x59a1fa,_0x33be72-0x1c9);}return _0x2a4c2b[_0x13bba5(0x4a7,0x51f)][_0x13bba5(0x59c,0x525)];},'colorTable':function(){return _0x18d748['textures']['colorTable'];},'aspect':function(){function _0x3acd29(_0x35983b,_0x5590ee){return _0xcf8f93(_0x5590ee- -0x356,_0x35983b);}return _0x138b28['drawingBufferWidth']/_0x138b28[_0x3acd29(0x2,-0x90)];},'pixelSize':function(){function _0x2920a5(_0x5a06b1,_0x236ef3){return _0xcf8f93(_0x5a06b1- -0x7b,_0x236ef3);}return _0x58f220[_0x2920a5(0x170,0x184)];},'lineWidth':function(){function _0x4048a4(_0x52261b,_0x288705){return _0xcf8f93(_0x52261b-0x2b0,_0x288705);}return _0x56b31d[_0x4048a4(0x524,0x4d2)];},'particleHeight':function(){return _0x56b31d['particleHeight'];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x15a6a8),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x289efa),'rawRenderState':Util['createRawRenderState'](_0x5de602),'framebuffer':this[_0xcf8f93(0x1fe,0x1e4)][_0x4a93e0(-0x126,-0xad)],'autoClear':!![]}),'trails':new CustomPrimitive({'commandType':'Draw','attributeLocations':_0x1dd512,'geometry':Util[_0x4a93e0(-0xf7,-0x151)](),'primitiveType':Cesium$4[_0xcf8f93(0x2f1,0x347)][_0x4a93e0(-0xa9,-0xc6)],'uniformMap':{'segmentsColorTexture':function(){return _0x18d748['textures']['segmentsColor'];},'segmentsDepthTexture':function(){function _0x2b70f0(_0x2076cd,_0x31c188){return _0x4a93e0(_0x31c188,_0x2076cd-0x608);}return _0x18d748[_0x2b70f0(0x457,0x4a7)]['segmentsDepth'];},'currentTrailsColor':function(){function _0x4e52ab(_0x4b5fa6,_0x35b36b){return _0xcf8f93(_0x4b5fa6- -0x1a0,_0x35b36b);}return _0x18d748[_0x4e52ab(0x5e,-0xa)]['currentTrails']['getColorTexture'](0x0);},'trailsDepthTexture':function(){function _0xca7a02(_0x280e97,_0x53158f){return _0xcf8f93(_0x280e97- -0x3ac,_0x53158f);}function _0x2c8ca5(_0x1c3348,_0x1fde70){return _0xcf8f93(_0x1c3348-0x209,_0x1fde70);}return _0x18d748[_0xca7a02(-0x1ae,-0x1e8)]['currentTrails'][_0xca7a02(-0x14d,-0xd7)];},'fadeOpacity':function(){return _0x56b31d['fadeOpacity'];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x14b2e1),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x229677),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':{'enabled':!![],'func':Cesium$4['DepthFunction'][_0xcf8f93(0x279,0x1f6)]},'depthMask':!![]}),'framebuffer':this['framebuffers'][_0x4a93e0(-0x1c2,-0x1ae)],'autoClear':!![],'preExecute':function(){function _0x458971(_0x4042d8,_0x27c2f8){return _0x4a93e0(_0x4042d8,_0x27c2f8-0x490);}function _0x490309(_0x319acc,_0x3ca0be){return _0xcf8f93(_0x319acc- -0x215,_0x3ca0be);}const _0x195ea8=_0x18d748['framebuffers'][_0x458971(0x3dc,0x395)];_0x18d748['framebuffers'][_0x490309(0x99,0xaf)]=_0x18d748[_0x490309(-0x17,-0x2a)][_0x458971(0x331,0x2e2)],_0x18d748['framebuffers']['nextTrails']=_0x195ea8,_0x18d748['primitives'][_0x458971(0x38e,0x34d)][_0x490309(0xb9,0x7c)][_0x490309(0xb,0x3e)]=_0x18d748['framebuffers'][_0x458971(0x2e9,0x2e2)],_0x18d748['primitives']['trails']['clearCommand']['framebuffer']=_0x18d748['framebuffers']['nextTrails'];}}),'screen':new CustomPrimitive({'commandType':_0x4a93e0(-0xe0,-0x14f),'attributeLocations':_0x645adf,'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4[_0x4a93e0(-0x112,-0xb8)]['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){function _0x2c92a1(_0x50fce7,_0x5930ed){return _0xcf8f93(_0x50fce7- -0x2f8,_0x5930ed);}return _0x18d748['framebuffers']['nextTrails'][_0x2c92a1(-0x39,0x2)](0x0);},'trailsDepthTexture':function(){function _0x444036(_0xf89444,_0xb6ee99){return _0xcf8f93(_0xf89444- -0x4c,_0xb6ee99);}function _0x1af106(_0x2d2c99,_0x1798c1){return _0xcf8f93(_0x1798c1- -0x2d0,_0x2d2c99);}return _0x18d748[_0x444036(0x1b2,0x21a)]['nextTrails'][_0x444036(0x213,0x1d1)];}},'vertexShaderSource':new Cesium$4[(_0xcf8f93(0x26c,0x267))](_0x49a917),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x5a0a56),'rawRenderState':Util[_0x4a93e0(-0x192,-0x17b)]({'viewport':undefined,'depthTest':_0x417a32,'depthMask':!![],'blending':_0x1494e4}),'framebuffer':undefined})};}}var getWind_frag=_0x181031(0x507,0x56b),updateSpeed_frag='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\x0ain\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\x20//\x20vec3\x20currentSpeed\x20=\x20texture(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindNorm(windVector));\x0a\x20\x20\x20\x20out_FragColor\x20=\x20nextSpeed;\x0a}\x0a',updatePosition_frag='uniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0ain\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\x20out_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=\x20texture(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20speed\x20=\x20texture(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20updatePosition(lonLatLev,\x20speed);\x0a}\x0a',postProcessingPosition_frag=_0x181031(0x520,0x520),postProcessingSpeed_frag='uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}\x0a';function _0x5630(_0x953e52,_0x5dae13){const _0x32501d=_0x3250();return _0x5630=function(_0x563032,_0x269ebf){_0x563032=_0x563032-0x168;let _0x56bb68=_0x32501d[_0x563032];return _0x56bb68;},_0x5630(_0x953e52,_0x5dae13);}const Cesium$3=mars3d__namespace['Cesium'];class ParticlesComputing{constructor(_0x3f7c39,_0x37cd4f,_0x1fcec8,_0x8f7c40){this['data']=_0x37cd4f,this['createWindTextures'](_0x3f7c39,_0x37cd4f),this['createParticlesTextures'](_0x3f7c39,_0x1fcec8,_0x8f7c40);function _0x32f66e(_0x42bb40,_0x37cd9b){return _0x3a9b52(_0x37cd9b- -0x1c3,_0x42bb40);}this[_0x32f66e(-0x132,-0x15c)](_0x37cd4f,_0x1fcec8,_0x8f7c40);}['createWindTextures'](_0x4d2097,_0xa5d258){function _0x17bbe3(_0x570ac7,_0x2b8dac){return _0x3a9b52(_0x570ac7- -0x228,_0x2b8dac);}function _0x5ad5fb(_0x5569d3,_0x5c2811){return _0x181031(_0x5c2811- -0x348,_0x5569d3);}const _0x32b7ff={'context':_0x4d2097,'width':_0xa5d258[_0x17bbe3(-0x177,-0x208)]['lon'],'height':_0xa5d258['dimensions'][_0x17bbe3(-0x1d9,-0x153)]*(_0xa5d258['dimensions'][_0x17bbe3(-0x206,-0x233)]||0x1),'pixelFormat':Cesium$3['PixelFormat']['LUMINANCE'],'pixelDatatype':Cesium$3[_0x17bbe3(-0x258,-0x29d)][_0x17bbe3(-0x213,-0x2a6)],'flipY':![],'sampler':new Cesium$3[(_0x17bbe3(-0x1ee,-0x1b8))]({'minificationFilter':Cesium$3['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium$3['TextureMagnificationFilter']['NEAREST']})};this['windTextures']={'U':Util['createTexture'](_0x32b7ff,_0xa5d258['U'][_0x17bbe3(-0x1a2,-0x1d4)]),'V':Util[_0x17bbe3(-0x18c,-0x16b)](_0x32b7ff,_0xa5d258['V']['array'])};}['createParticlesTextures'](_0x19c56f,_0x2bbd35,_0x55859d){const _0x48c5b5={'context':_0x19c56f,'width':_0x2bbd35[_0x34b6f2(0x1c7,0x20b)],'height':_0x2bbd35['particlesTextureSize'],'pixelFormat':Cesium$3['PixelFormat']['RGBA'],'pixelDatatype':Cesium$3['PixelDatatype']['FLOAT'],'flipY':![],'sampler':new Cesium$3['Sampler']({'minificationFilter':Cesium$3['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium$3['TextureMagnificationFilter']['NEAREST']})},_0x256f8c=this[_0x34b6f2(0x16c,0x120)](_0x2bbd35[_0x34b6f2(0x165,0x19e)],_0x55859d);function _0x26c11f(_0x286a3b,_0x4eba4f){return _0x3a9b52(_0x4eba4f- -0x1da,_0x286a3b);}const _0x56ea66=new Float32Array(0x4*_0x2bbd35[_0x34b6f2(0x1d1,0x19e)])['fill'](0x0);function _0x34b6f2(_0x351504,_0x22c2af){return _0x3a9b52(_0x22c2af-0x141,_0x351504);}this['particlesTextures']={'particlesWind':Util['createTexture'](_0x48c5b5),'currentParticlesPosition':Util['createTexture'](_0x48c5b5,_0x256f8c),'nextParticlesPosition':Util['createTexture'](_0x48c5b5,_0x256f8c),'currentParticlesSpeed':Util['createTexture'](_0x48c5b5,_0x56ea66),'nextParticlesSpeed':Util['createTexture'](_0x48c5b5,_0x56ea66),'postProcessingPosition':Util[_0x26c11f(-0x189,-0x13e)](_0x48c5b5,_0x256f8c),'postProcessingSpeed':Util['createTexture'](_0x48c5b5,_0x56ea66)};}['randomizeParticles'](_0x380ca0,_0x4bf143){const _0x4195af=new Float32Array(0x4*_0x380ca0);for(let _0x18a80a=0x0;_0x18a80a<_0x380ca0;_0x18a80a++){_0x4195af[0x4*_0x18a80a]=Cesium$3['Math']['randomBetween'](_0x4bf143[_0x358c9a(0x38f,0x41e)]['x'],_0x4bf143['lonRange']['y']),_0x4195af[0x4*_0x18a80a+0x1]=Cesium$3[_0x358c9a(0x489,0x415)]['randomBetween'](_0x4bf143[_0x4a278f(0x2f2,0x382)]['x'],_0x4bf143['latRange']['y']),_0x4195af[0x4*_0x18a80a+0x2]=Cesium$3['Math'][_0x358c9a(0x4ac,0x4b3)](this['data'][_0x358c9a(0x490,0x405)][_0x358c9a(0x4f7,0x4a0)],this['data']['lev']['max']),_0x4195af[0x4*_0x18a80a+0x3]=0x0;}function _0x4a278f(_0x5c4c98,_0xdf7753){return _0x181031(_0x5c4c98- -0x2af,_0xdf7753);}function _0x358c9a(_0x404e43,_0x1e44d2){return _0x3a9b52(_0x1e44d2-0x3e3,_0x404e43);}return _0x4195af;}['destroyParticlesTextures'](){function _0x409fce(_0x36bf8a,_0x287c36){return _0x3a9b52(_0x36bf8a-0x357,_0x287c36);}function _0x26f743(_0x8c8fec,_0x3ac0ee){return _0x3a9b52(_0x8c8fec- -0x1d4,_0x3ac0ee);}Object['keys'](this[_0x409fce(0x386,0x320)])[_0x26f743(-0x1ac,-0x17b)](_0x230254=>{this['particlesTextures'][_0x230254]['destroy']();});}['createComputingPrimitives'](_0x16589a,_0x3c1f92,_0x27edd2){const _0x45aa25=new Cesium$3['Cartesian3'](_0x16589a[_0x2a3fbf(0x5a1,0x5c1)][_0x2a4ab0(0x29d,0x29f)],_0x16589a[_0x2a4ab0(0x31e,0x304)]['lat'],_0x16589a['dimensions']['lev']),_0x364792=new Cesium$3['Cartesian3'](_0x16589a['lon'][_0x2a3fbf(0x5ad,0x5d0)],_0x16589a['lat'][_0x2a4ab0(0x373,0x310)],_0x16589a[_0x2a4ab0(0x29a,0x275)]['min']),_0x171fcb=new Cesium$3[(_0x2a4ab0(0x216,0x25f))](_0x16589a['lon']['max'],_0x16589a['lat']['max'],_0x16589a['lev'][_0x2a3fbf(0x559,0x5e4)]),_0x1978a6=new Cesium$3[(_0x2a3fbf(0x4fc,0x48d))]((_0x171fcb['x']-_0x364792['x'])/(_0x45aa25['x']-0x1),(_0x171fcb['y']-_0x364792['y'])/(_0x45aa25['y']-0x1),_0x45aa25['z']>0x1?(_0x171fcb['z']-_0x364792['z'])/(_0x45aa25['z']-0x1):0x1),_0x515be0=new Cesium$3['Cartesian2'](_0x16589a['U'][_0x2a4ab0(0x34f,0x310)],_0x16589a['U']['max']),_0x498d34=new Cesium$3['Cartesian2'](_0x16589a['V']['min'],_0x16589a['V'][_0x2a3fbf(0x559,0x5bf)]),_0x3ad2de=this,_0xb0b272={};_0xb0b272['U']=function(){function _0x7be7e(_0x4bfae7,_0x463b35){return _0x2a3fbf(_0x463b35- -0xcb,_0x4bfae7);}return _0x3ad2de[_0x7be7e(0x470,0x4be)]['U'];},_0xb0b272['V']=function(){function _0x1f3283(_0x59df5a,_0x54e485){return _0x2a4ab0(_0x59df5a,_0x54e485- -0x52);}return _0x3ad2de[_0x1f3283(0x2a8,0x29a)]['V'];},_0xb0b272[_0x2a4ab0(0x28c,0x31b)]=function(){function _0x58851d(_0x159ae7,_0x45816d){return _0x2a4ab0(_0x159ae7,_0x45816d-0x31);}function _0x50d55d(_0x364e35,_0x2c166f){return _0x2a3fbf(_0x2c166f- -0x4ca,_0x364e35);}return _0x3ad2de[_0x50d55d(0x18,0x55)][_0x58851d(0x307,0x34c)];},_0xb0b272['dimension']=function(){return _0x45aa25;},_0xb0b272['minimum']=function(){return _0x364792;},_0xb0b272['maximum']=function(){return _0x171fcb;},_0xb0b272['interval']=function(){return _0x1978a6;};function _0x2a3fbf(_0x5e2d82,_0x29773b){return _0x181031(_0x5e2d82-0x12,_0x29773b);}const _0x4d2191={};_0x4d2191[_0x2a3fbf(0x4c1,0x48f)]=[getWind_frag];const _0x4b488e={};_0x4b488e['sources']=[updateSpeed_frag];function _0x2a4ab0(_0x1594ca,_0x2d7e49){return _0x181031(_0x2d7e49- -0x28b,_0x1594ca);}const _0x2d78dc={};_0x2d78dc['sources']=[updatePosition_frag];const _0x5a31a3={};_0x5a31a3['sources']=[postProcessingPosition_frag];const _0x479b6={};_0x479b6['sources']=[postProcessingSpeed_frag],this['primitives']={'getWind':new CustomPrimitive({'commandType':'Compute','uniformMap':_0xb0b272,'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x4d2191),'outputTexture':this[_0x2a4ab0(0x276,0x282)]['particlesWind'],'preExecute':function(){function _0x502fc1(_0x4bd217,_0x123540){return _0x2a3fbf(_0x4bd217- -0x4ef,_0x123540);}function _0x49da65(_0x31f037,_0x4fadb6){return _0x2a4ab0(_0x31f037,_0x4fadb6- -0x45a);}_0x3ad2de['primitives']['getWind']['commandToExecute']['outputTexture']=_0x3ad2de[_0x502fc1(0x30,0x62)][_0x502fc1(0x4c,0x6b)];}}),'updateSpeed':new CustomPrimitive({'commandType':_0x2a3fbf(0x573,0x5c0),'uniformMap':{'currentParticlesSpeed':function(){function _0x274509(_0x93c63f,_0x219763){return _0x2a4ab0(_0x219763,_0x93c63f-0x2be);}return _0x3ad2de[_0x274509(0x540,0x53f)]['currentParticlesSpeed'];},'particlesWind':function(){return _0x3ad2de['particlesTextures']['particlesWind'];},'uSpeedRange':function(){return _0x515be0;},'vSpeedRange':function(){return _0x498d34;},'pixelSize':function(){return _0x27edd2['pixelSize'];},'speedFactor':function(){function _0x43e57(_0x1a55ec,_0x3fd22d){return _0x2a4ab0(_0x1a55ec,_0x3fd22d- -0x30a);}return _0x3c1f92[_0x43e57(-0xa4,-0xb6)];}},'fragmentShaderSource':new Cesium$3[(_0x2a4ab0(0x294,0x284))](_0x4b488e),'outputTexture':this['particlesTextures']['nextParticlesSpeed'],'preExecute':function(){const _0x4cafd7=_0x3ad2de['particlesTextures']['currentParticlesSpeed'];function _0x56adb7(_0x13ecdc,_0x37808a){return _0x2a3fbf(_0x37808a- -0x455,_0x13ecdc);}_0x3ad2de[_0x4115a9(0x4cf,0x47a)]['currentParticlesSpeed']=_0x3ad2de['particlesTextures']['postProcessingSpeed'],_0x3ad2de['particlesTextures']['postProcessingSpeed']=_0x4cafd7;function _0x4115a9(_0x12a187,_0x5499c2){return _0x2a4ab0(_0x5499c2,_0x12a187-0x24d);}_0x3ad2de[_0x4115a9(0x501,0x57d)][_0x4115a9(0x488,0x493)]['commandToExecute']['outputTexture']=_0x3ad2de['particlesTextures']['nextParticlesSpeed'];}}),'updatePosition':new CustomPrimitive({'commandType':'Compute','uniformMap':{'currentParticlesPosition':function(){return _0x3ad2de['particlesTextures']['currentParticlesPosition'];},'currentParticlesSpeed':function(){return _0x3ad2de['particlesTextures']['currentParticlesSpeed'];}},'fragmentShaderSource':new Cesium$3[(_0x2a3fbf(0x521,0x50b))](_0x2d78dc),'outputTexture':this['particlesTextures']['nextParticlesPosition'],'preExecute':function(){function _0x31e183(_0x43cc8d,_0x27e314){return _0x2a4ab0(_0x27e314,_0x43cc8d- -0x198);}const _0x13049b=_0x3ad2de[_0x2b52b7(0xca,0x51)]['currentParticlesPosition'];_0x3ad2de[_0x2b52b7(-0x2e,0x51)]['currentParticlesPosition']=_0x3ad2de[_0x2b52b7(0x10,0x51)]['postProcessingPosition'],_0x3ad2de['particlesTextures']['postProcessingPosition']=_0x13049b;function _0x2b52b7(_0x2db1a6,_0x5f31b4){return _0x2a3fbf(_0x5f31b4- -0x4ce,_0x2db1a6);}_0x3ad2de['primitives']['updatePosition'][_0x31e183(0x14e,0x178)]['outputTexture']=_0x3ad2de[_0x31e183(0xea,0xf6)][_0x2b52b7(0x143,0xb0)];}}),'postProcessingPosition':new CustomPrimitive({'commandType':_0x2a3fbf(0x573,0x5e6),'uniformMap':{'nextParticlesPosition':function(){function _0x261676(_0xf76e47,_0x3efbf5){return _0x2a4ab0(_0xf76e47,_0x3efbf5-0x99);}return _0x3ad2de[_0x261676(0x384,0x31b)]['nextParticlesPosition'];},'nextParticlesSpeed':function(){function _0x3afb20(_0x36a997,_0x1e0c04){return _0x2a3fbf(_0x1e0c04- -0x6bc,_0x36a997);}return _0x3ad2de[_0x3afb20(-0x210,-0x19d)]['nextParticlesSpeed'];},'lonRange':function(){return _0x27edd2['lonRange'];},'latRange':function(){return _0x27edd2['latRange'];},'randomCoefficient':function(){const _0x35df3e=Math[_0x248c24(-0x28d,-0x22e)]();function _0x248c24(_0x5b54f9,_0x2ee004){return _0x2a3fbf(_0x2ee004- -0x718,_0x5b54f9);}return _0x35df3e;},'dropRate':function(){function _0x274caa(_0x37a9ec,_0x3dcf4b){return _0x2a4ab0(_0x3dcf4b,_0x37a9ec- -0x3bd);}return _0x3c1f92[_0x274caa(-0xa3,-0x10f)];},'dropRateBump':function(){return _0x3c1f92['dropRateBump'];}},'fragmentShaderSource':new Cesium$3[(_0x2a3fbf(0x521,0x541))](_0x5a31a3),'outputTexture':this['particlesTextures']['postProcessingPosition'],'preExecute':function(){function _0x3b3ac7(_0x2f72f9,_0x51bf15){return _0x2a3fbf(_0x2f72f9-0x99,_0x51bf15);}function _0x38613b(_0x1f5328,_0x2ff9af){return _0x2a3fbf(_0x2ff9af- -0x2ae,_0x1f5328);}_0x3ad2de[_0x3b3ac7(0x5ea,0x5de)]['postProcessingPosition']['commandToExecute'][_0x3b3ac7(0x576,0x4f0)]=_0x3ad2de['particlesTextures'][_0x3b3ac7(0x64f,0x6cf)];}}),'postProcessingSpeed':new CustomPrimitive({'commandType':_0x2a3fbf(0x573,0x50d),'uniformMap':{'postProcessingPosition':function(){return _0x3ad2de['particlesTextures']['postProcessingPosition'];},'nextParticlesSpeed':function(){return _0x3ad2de['particlesTextures']['nextParticlesSpeed'];}},'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x479b6),'outputTexture':this['particlesTextures'][_0x2a4ab0(0x27a,0x288)],'preExecute':function(){function _0x2ff063(_0x10da2d,_0x4e99f9){return _0x2a3fbf(_0x4e99f9- -0x6ac,_0x10da2d);}_0x3ad2de['primitives']['postProcessingSpeed']['commandToExecute']['outputTexture']=_0x3ad2de['particlesTextures'][_0x2ff063(-0x184,-0x187)];}})};}}const Cesium$2=mars3d__namespace['Cesium'];class ParticleSystem{constructor(_0xa4ee1f,_0x2b62a7,_0x502d33,_0x3246ce){this[_0x3137a6(0xb,0x9f)]=_0xa4ee1f;function _0x3137a6(_0x4dbd83,_0x5cdafb){return _0x3a9b52(_0x5cdafb-0xb5,_0x4dbd83);}_0x2b62a7={..._0x2b62a7};_0x2b62a7['udata']&&_0x2b62a7[_0x5917a7(0x5ae,0x603)]&&(_0x2b62a7['dimensions']={},_0x2b62a7['dimensions'][_0x5917a7(0x54b,0x586)]=_0x2b62a7[_0x3137a6(0xde,0x12d)],_0x2b62a7['dimensions'][_0x5917a7(0x54e,0x5c9)]=_0x2b62a7[_0x5917a7(0x55b,0x4fe)],_0x2b62a7['dimensions']['lev']=_0x2b62a7['lev']||0x1,_0x2b62a7[_0x5917a7(0x54b,0x5d2)]={},_0x2b62a7[_0x3137a6(0x16d,0x101)][_0x5917a7(0x5bc,0x63e)]=_0x2b62a7['xmin'],_0x2b62a7['lon']['max']=_0x2b62a7[_0x3137a6(0x19b,0x174)],_0x2b62a7[_0x5917a7(0x54e,0x51b)]={},_0x2b62a7[_0x3137a6(0x167,0x104)][_0x3137a6(0x13c,0x172)]=_0x2b62a7[_0x5917a7(0x5b2,0x590)],_0x2b62a7['lat'][_0x5917a7(0x568,0x4ec)]=_0x2b62a7['ymax'],_0x2b62a7['lev']={},_0x2b62a7['lev'][_0x5917a7(0x5bc,0x56c)]=_0x2b62a7['levmin']??0x1,_0x2b62a7['lev'][_0x3137a6(0xac,0x11e)]=_0x2b62a7[_0x3137a6(0x165,0x180)]??0x1,_0x2b62a7['U']={},_0x2b62a7['U'][_0x3137a6(0x1be,0x13b)]=new Float32Array(_0x2b62a7['udata']),_0x2b62a7['U']['min']=_0x2b62a7[_0x5917a7(0x5ce,0x63b)]??Math['min'](..._0x2b62a7[_0x3137a6(0xa3,0xf4)]),_0x2b62a7['U']['max']=_0x2b62a7[_0x3137a6(0xda,0xe3)]??Math['max'](..._0x2b62a7['udata']),_0x2b62a7['V']={},_0x2b62a7['V'][_0x5917a7(0x585,0x536)]=new Float32Array(_0x2b62a7[_0x5917a7(0x5ae,0x5b6)]),_0x2b62a7['V'][_0x3137a6(0x111,0x172)]=_0x2b62a7[_0x3137a6(0x16d,0x150)]??Math['min'](..._0x2b62a7['vdata']),_0x2b62a7['V'][_0x3137a6(0x8a,0x11e)]=_0x2b62a7[_0x5917a7(0x4eb,0x4cd)]??Math['max'](..._0x2b62a7['vdata']));this['data']=_0x2b62a7,this['options']=_0x502d33;function _0x5917a7(_0x5c6d29,_0x1e5b04){return _0x181031(_0x5c6d29-0x21,_0x1e5b04);}this['viewerParameters']=_0x3246ce,this['particlesComputing']=new ParticlesComputing(this['context'],this['data'],this['options'],this[_0x5917a7(0x546,0x4c8)]),this['particlesRendering']=new ParticlesRendering(this[_0x5917a7(0x4e9,0x577)],this[_0x3137a6(0x7b,0xa4)],this[_0x5917a7(0x4e5,0x4be)],this['viewerParameters'],this['particlesComputing']);}['canvasResize'](_0x59e896){function _0x2adee7(_0x44c747,_0x1faded){return _0x181031(_0x1faded- -0x2bf,_0x44c747);}this['particlesComputing'][_0x2adee7(0x210,0x206)](),Object[_0x2adee7(0x241,0x1d2)](this[_0x925230(0x4b7,0x44c)]['windTextures'])[_0x2adee7(0x1fa,0x247)](_0x2d93a1=>{function _0x1b4c47(_0x39d30d,_0x4f0e77){return _0x925230(_0x4f0e77- -0x47b,_0x39d30d);}function _0x67e5da(_0x419822,_0x7f266e){return _0x2adee7(_0x419822,_0x7f266e-0x1ba);}this[_0x67e5da(0x420,0x3ab)][_0x67e5da(0x462,0x472)][_0x2d93a1][_0x1b4c47(0x16f,0xe8)]();}),this['particlesRendering']['textures'][_0x2adee7(0x2c4,0x2af)][_0x925230(0x563,0x5bd)](),Object[_0x2adee7(0x1c7,0x1d2)](this['particlesRendering']['framebuffers'])[_0x925230(0x50d,0x567)](_0x305127=>{function _0xcac495(_0xd9354a,_0x379e20){return _0x925230(_0x379e20- -0x63,_0xd9354a);}function _0x2612b0(_0x2911b9,_0x4ecb98){return _0x2adee7(_0x2911b9,_0x4ecb98-0x114);}this[_0xcac495(0x435,0x431)][_0xcac495(0x441,0x445)][_0x305127]['destroy']();});function _0x925230(_0x586d84,_0x1bbbf4){return _0x181031(_0x586d84-0x7,_0x1bbbf4);}this[_0x925230(0x4cf,0x522)]=_0x59e896,this[_0x2adee7(0x224,0x1f1)]=new ParticlesComputing(this['context'],this['data'],this[_0x925230(0x4cb,0x465)],this[_0x925230(0x52c,0x4a6)]),this['particlesRendering']=new ParticlesRendering(this['context'],this['data'],this['options'],this['viewerParameters'],this['particlesComputing']);}[_0x181031(0x48f,0x491)](){function _0xd15ace(_0x1b3e4a,_0x112dd3){return _0x181031(_0x1b3e4a- -0x50c,_0x112dd3);}function _0x5429cb(_0x3b33a4,_0x3a1599){return _0x181031(_0x3b33a4- -0x6,_0x3a1599);}const _0xbaf6d8=new Cesium$2[(_0x5429cb(0x5a4,0x512))]({'color':new Cesium$2[(_0x5429cb(0x590,0x5fc))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':undefined,'pass':Cesium$2['Pass'][_0xd15ace(0x38,0x99)]});Object['keys'](this['particlesRendering']['framebuffers'])['forEach'](_0x4ec632=>{function _0x2eb029(_0x557913,_0x2fbac0){return _0x5429cb(_0x2fbac0- -0x182,_0x557913);}function _0xc83800(_0x1f1b83,_0x4dd825){return _0x5429cb(_0x1f1b83- -0x444,_0x4dd825);}_0xbaf6d8[_0xc83800(0x79,0x7)]=this['particlesRendering'][_0xc83800(0x57,0x2d)][_0x4ec632],_0xbaf6d8[_0x2eb029(0x2d1,0x35d)](this['context']);});}['refreshParticles'](_0x58f2d7){this['clearFramebuffers']();function _0xfad9eb(_0x470281,_0xf2a2dc){return _0x181031(_0xf2a2dc- -0x63d,_0x470281);}this['particlesComputing']['destroyParticlesTextures'](),this['particlesComputing']['createParticlesTextures'](this[_0xfad9eb(-0x1ab,-0x175)],this['options'],this['viewerParameters']);function _0x527fb2(_0x36e819,_0x3cecf5){return _0x181031(_0x3cecf5- -0x602,_0x36e819);}if(_0x58f2d7){var _0x84e244;const _0x444254=this['particlesRendering'][_0x527fb2(-0xae,-0x66)](this['options']);this['particlesRendering'][_0xfad9eb(-0x7f,-0xfe)]['segments'][_0xfad9eb(-0x1ac,-0x1aa)]=_0x444254;const _0x3c86d6=Cesium$2[_0x527fb2(-0xf5,-0x93)]['fromGeometry']({'context':this['context'],'geometry':_0x444254,'attributeLocations':this[_0xfad9eb(-0x14c,-0x1b0)][_0x527fb2(-0x118,-0xc3)]['segments'][_0xfad9eb(-0xfd,-0x154)],'bufferUsage':Cesium$2[_0x527fb2(-0x11a,-0xc0)][_0xfad9eb(-0xc7,-0xf5)]});(_0x84e244=this[_0xfad9eb(-0x179,-0x1b0)]['primitives'])!==null&&_0x84e244!==void 0x0&&(_0x84e244=_0x84e244['segments'])!==null&&_0x84e244!==void 0x0&&_0x84e244[_0xfad9eb(-0x6a,-0xcc)]&&(this[_0xfad9eb(-0x186,-0x1b0)]['primitives'][_0xfad9eb(-0xe3,-0x9e)]['commandToExecute'][_0x527fb2(-0x121,-0xcb)]=_0x3c86d6);}}[_0x3a9b52(0x45,0xcb)](_0x3fe5f9){function _0x3cbcda(_0x229f4b,_0x4a3b94){return _0x3a9b52(_0x4a3b94-0x258,_0x229f4b);}let _0x4c7f0f=![];this['options']['maxParticles']!==_0x3fe5f9[_0x3cbcda(0x2be,0x2b5)]&&(_0x4c7f0f=!![]);function _0x1fe0ef(_0x27f319,_0x1519ca){return _0x3a9b52(_0x27f319-0x472,_0x1519ca);}Object[_0x3cbcda(0x21c,0x20b)](_0x3fe5f9)['forEach'](_0x1ebf79=>{this['options'][_0x1ebf79]=_0x3fe5f9[_0x1ebf79];}),this['refreshParticles'](_0x4c7f0f);}['applyViewerParameters'](_0x5e77a5){Object['keys'](_0x5e77a5)['forEach'](_0x2c8629=>{function _0x1b8948(_0x17599d,_0xe1e663){return _0x5630(_0x17599d- -0xbc,_0xe1e663);}this[_0x1b8948(0x144,0xfc)][_0x2c8629]=_0x5e77a5[_0x2c8629];});function _0x1d4295(_0xaf1b8,_0x391557){return _0x181031(_0x391557- -0x299,_0xaf1b8);}this[_0x1d4295(0x25c,0x28b)](![]);}['destroy'](){clearTimeout(this[_0x426dbe(-0x17c,-0x18d)]);function _0x105ff6(_0x5140d5,_0x11f791){return _0x181031(_0x11f791- -0x6c3,_0x5140d5);}this['particlesComputing']['destroyParticlesTextures'](),Object[_0x426dbe(-0x1a1,-0x153)](this['particlesComputing']['windTextures'])[_0x105ff6(-0x193,-0x1bd)](_0x4d2ca4=>{function _0x21cc84(_0x5f5913,_0x5a6cae){return _0x426dbe(_0x5a6cae-0xb4,_0x5f5913);}this[_0x21cc84(-0x144,-0xce)]['windTextures'][_0x4d2ca4]['destroy']();});function _0x426dbe(_0x45617f,_0x23b53d){return _0x3a9b52(_0x45617f- -0x154,_0x23b53d);}this['particlesRendering']['textures'][_0x426dbe(-0xc4,-0xa8)][_0x105ff6(-0xfd,-0x167)](),Object[_0x105ff6(-0x1e9,-0x232)](this['particlesRendering']['framebuffers'])['forEach'](_0x27fbd7=>{function _0x4635e4(_0x4840ff,_0x1eac6f){return _0x426dbe(_0x4840ff-0x3da,_0x1eac6f);}function _0x2f92bc(_0x1a0056,_0x17ae6e){return _0x426dbe(_0x1a0056-0x5e7,_0x17ae6e);}this[_0x2f92bc(0x442,0x437)][_0x2f92bc(0x456,0x48d)][_0x27fbd7][_0x4635e4(0x304,0x2cf)]();});for(const _0x11105e in this){delete this[_0x11105e];}}}const Cesium$1=mars3d__namespace['Cesium'],BaseLayer$1=mars3d__namespace['layer'][_0x3a9b52(-0x34,-0x98)],_0x1f6037={};_0x1f6037['particlesNumber']=0x1000,_0x1f6037[_0x3a9b52(0x17,0x69)]=0x0,_0x1f6037['fadeOpacity']=0.996,_0x1f6037[_0x3a9b52(0xc7,0x112)]=0.003,_0x1f6037[_0x181031(0x56a,0x5d9)]=0.01,_0x1f6037['speedFactor']=0.5,_0x1f6037['lineWidth']=0x2,_0x1f6037['colors']=[_0x181031(0x4a4,0x447)];const DEF_OPTIONS=_0x1f6037;class WindLayer extends BaseLayer$1{constructor(_0x1ec6c5={}){_0x1ec6c5={...DEF_OPTIONS,..._0x1ec6c5};function _0xcf802d(_0x174914,_0x1ead38){return _0x3a9b52(_0x1ead38-0x39e,_0x174914);}super(_0x1ec6c5),this[_0xcf802d(0x41b,0x418)](_0x1ec6c5);}get[_0x3a9b52(0xa3,0xc2)](){return this['primitives'];}get['data'](){function _0x176fe9(_0x2010c3,_0x19cd97){return _0x181031(_0x19cd97-0xad,_0x2010c3);}return this[_0x176fe9(0x527,0x5a7)];}set[_0x3a9b52(-0x11,-0x11)](_0x154f66){function _0x5ca4a3(_0x1a7100,_0x504409){return _0x3a9b52(_0x1a7100-0x141,_0x504409);}this[_0x5ca4a3(0x13d,0xab)](_0x154f66);}get['colors'](){function _0x5ddbe9(_0x5681d2,_0x2bddeb){return _0x181031(_0x2bddeb- -0x46c,_0x5681d2);}function _0xcfaf03(_0x146f39,_0x4498b1){return _0x3a9b52(_0x146f39-0x465,_0x4498b1);}return this[_0x5ddbe9(0x25,0x58)][_0x5ddbe9(0x16d,0xeb)];}set['colors'](_0xe3d231){this['options']['colors']=_0xe3d231;if(this[_0x52cd45(0x187,0x191)]){const _0x29d522={};_0x29d522[_0x52cd45(0xb4,0x137)]=_0xe3d231,this[_0x211c37(0x287,0x2f6)]['setOptions'](_0x29d522);}function _0x52cd45(_0x5bc14d,_0x3fcb10){return _0x3a9b52(_0x3fcb10-0xbe,_0x5bc14d);}function _0x211c37(_0x35d37b,_0x163b6a){return _0x3a9b52(_0x35d37b-0x1b4,_0x163b6a);}this['resize']();}[_0x3a9b52(-0x15,-0x61)](){}['_addedHook'](){function _0xf0f8e7(_0x1a56d6,_0x59b000){return _0x181031(_0x1a56d6- -0x313,_0x59b000);}this[_0x9b5fa8(0x5f2,0x561)]=this['_map']['scene'],this['camera']=this['_map']['camera'],this[_0x9b5fa8(0x606,0x5a1)]=new Cesium$1['PrimitiveCollection'](),this['_map']['scene']['primitives'][_0x9b5fa8(0x590,0x529)](this[_0x9b5fa8(0x56e,0x5a1)]),this[_0xf0f8e7(0x212,0x233)]={'lonRange':new Cesium$1['Cartesian2'](),'latRange':new Cesium$1[(_0xf0f8e7(0x230,0x26f))](),'pixelSize':0x0},this[_0xf0f8e7(0x287,0x22c)]=new Cesium$1[(_0xf0f8e7(0x278,0x225))](Cesium$1[_0xf0f8e7(0x1d7,0x1b8)]['ZERO'],0.99*0x615299);function _0x9b5fa8(_0x4ae8ca,_0x4f1b0f){return _0x181031(_0x4f1b0f-0x62,_0x4ae8ca);}this[_0xf0f8e7(0x282,0x277)](),window['addEventListener']('resize',this['resize'][_0xf0f8e7(0x21f,0x258)](this),![]),this['mouse_down']=![],this[_0xf0f8e7(0x1ab,0x12a)]=![],this[_0x9b5fa8(0x58c,0x5dd)]['on'](mars3d__namespace[_0xf0f8e7(0x1a1,0x1a5)][_0xf0f8e7(0x1d3,0x260)],this[_0xf0f8e7(0x1e5,0x1e0)],this),this[_0x9b5fa8(0x5df,0x5dd)]['on'](mars3d__namespace['EventType']['mouseDown'],this['_onMouseDownEvent'],this),this['_map']['on'](mars3d__namespace[_0xf0f8e7(0x1a1,0x236)][_0xf0f8e7(0x23c,0x1ce)],this['_onMouseUpEvent'],this),this['_map']['on'](mars3d__namespace['EventType']['mouseMove'],this[_0x9b5fa8(0x553,0x584)],this),this[_0xf0f8e7(0x1e7,0x18d)]&&this[_0x9b5fa8(0x560,0x53c)](this['_data']);}['_removedHook'](){window['removeEventListener']('resize',this[_0x906e3c(0x2d,0x4b)]),this['_map']['off'](mars3d__namespace[_0x5ba0a4(-0x24b,-0x21e)]['preRender'],this['_onMap_preRenderEvent'],this),this[_0x5ba0a4(-0x1dc,-0x157)]['off'](mars3d__namespace[_0x5ba0a4(-0x1db,-0x21e)]['wheel'],this['_onMapWhellEvent'],this),this[_0x5ba0a4(-0x1b1,-0x157)]['off'](mars3d__namespace[_0x5ba0a4(-0x204,-0x21e)]['mouseDown'],this['_onMouseDownEvent'],this),this['_map'][_0x906e3c(0x2f,-0x4f)](mars3d__namespace['EventType']['mouseUp'],this[_0x5ba0a4(-0x209,-0x220)],this),this['_map']['off'](mars3d__namespace[_0x5ba0a4(-0x1ef,-0x21e)][_0x906e3c(-0x3e,-0x20)],this['_onMouseMoveEvent'],this);function _0x906e3c(_0x94d98d,_0x47b6e8){return _0x3a9b52(_0x94d98d- -0x8c,_0x47b6e8);}this['primitives']['removeAll']();function _0x5ba0a4(_0x308794,_0x57a07b){return _0x3a9b52(_0x57a07b- -0x1f4,_0x308794);}this['_map']['scene'][_0x5ba0a4(-0x12b,-0x193)][_0x5ba0a4(-0x280,-0x23b)](this['primitives']);}['resize'](){if(!this['show']||!this['particleSystem'])return;this[_0x108212(0x5c4,0x5dc)][_0x372ec2(0x33c,0x3c6)]=![];function _0x108212(_0xf9a40a,_0x248ce0){return _0x3a9b52(_0x248ce0-0x57b,_0xf9a40a);}this['primitives']['removeAll']();function _0x372ec2(_0x1b5464,_0x2298fa){return _0x181031(_0x2298fa- -0x10f,_0x1b5464);}this[_0x108212(0x61a,0x618)]['once'](mars3d__namespace['EventType']['preRender'],this[_0x372ec2(0x401,0x387)],this);}[_0x181031(0x496,0x505)](_0x5dde3d){function _0x12d19c(_0x5c1762,_0xb40deb){return _0x181031(_0x5c1762- -0x3e4,_0xb40deb);}function _0x147d49(_0x167940,_0x3afc8d){return _0x3a9b52(_0x167940-0x16c,_0x3afc8d);}this[_0x12d19c(0x1cd,0x157)][_0x147d49(0x1da,0x1e1)](this['scene']['context']),this['addPrimitives'](),this['primitives'][_0x12d19c(0xf1,0x136)]=!![];}[_0x3a9b52(0x1a,0x65)](_0x9c1db){clearTimeout(this[_0x6837(-0x49,-0xce)]);if(!this['show']||!this[_0x6837(-0x72,-0x56)])return;function _0x17e2df(_0x5711b4,_0x4a6399){return _0x3a9b52(_0x5711b4-0x323,_0x4a6399);}this[_0x6837(-0xc0,-0xc8)]['show']=![];function _0x6837(_0x56ed3e,_0x43cd64){return _0x3a9b52(_0x43cd64- -0x129,_0x56ed3e);}this['refreshTimer']=setTimeout(()=>{if(!this['show'])return;function _0x1f2edf(_0x8319c7,_0x58a26b){return _0x6837(_0x8319c7,_0x58a26b- -0x3e);}this[_0x1f2edf(-0x143,-0x10f)]();},0xc8);}['_onMouseDownEvent'](_0x59258a){function _0x51f272(_0x40f55b,_0x25b990){return _0x181031(_0x25b990-0x69,_0x40f55b);}this[_0x51f272(0x4f1,0x556)]=!![];}['_onMouseMoveEvent'](_0x25848f){if(!this['show']||!this['particleSystem'])return;function _0x54de7d(_0x977a57,_0x348da5){return _0x3a9b52(_0x348da5-0x385,_0x977a57);}this['mouse_down']&&(this['primitives']['show']=![],this[_0x54de7d(0x348,0x365)]=!![]);}['_onMouseUpEvent'](_0xc0c582){function _0x28a3d3(_0x18a75c,_0x4180ad){return _0x3a9b52(_0x18a75c- -0x128,_0x4180ad);}if(!this['show']||!this[_0x2dd776(-0xb0,-0x2f)])return;this['mouse_down']&&this[_0x28a3d3(-0x148,-0x1d2)]&&this[_0x28a3d3(-0xd0,-0x8d)]();this[_0x2dd776(-0x122,-0x176)]['show']=!![],this['mouse_down']=![];function _0x2dd776(_0xda344f,_0x4f1d26){return _0x181031(_0xda344f- -0x661,_0x4f1d26);}this['mouse_move']=![];}['redraw'](){if(!this['_map']||!this['show'])return;function _0x28d388(_0x45929e,_0x3d74a6){return _0x3a9b52(_0x3d74a6-0x132,_0x45929e);}function _0x3d8e5c(_0x570d86,_0x165b57){return _0x181031(_0x570d86- -0x675,_0x165b57);}this[_0x3d8e5c(-0xe0,-0x13b)](),this['particleSystem'][_0x28d388(0x162,0x189)](this['viewerParameters']),this[_0x3d8e5c(-0x136,-0x1ad)]['show']=!![];}['setData'](_0x557368){function _0xa8ae6b(_0x10b81f,_0x121c38){return _0x3a9b52(_0x10b81f-0x85,_0x121c38);}this['_data']=_0x557368;this[_0x20c321(0xcd,0x14a)]&&this['particleSystem']['destroy']();function _0x20c321(_0x244f29,_0x2d9587){return _0x3a9b52(_0x244f29- -0x6,_0x2d9587);}this[_0xa8ae6b(0x158,0x124)]=new ParticleSystem(this[_0xa8ae6b(0xa6,0x72)][_0x20c321(-0x1c,0xf)],_0x557368,this['getOptions'](),this[_0xa8ae6b(0xcc,0xc4)]),this['addPrimitives']();}['_setOptionsHook'](_0x198abb,_0x449edc){function _0x4df026(_0x4933d9,_0x451865){return _0x3a9b52(_0x451865-0x4f0,_0x4933d9);}if(_0x198abb)for(const _0x650ed6 in _0x198abb){this[_0x650ed6]=_0x198abb[_0x650ed6];}function _0x48da09(_0x1249dd,_0xa25553){return _0x181031(_0x1249dd- -0x4b9,_0xa25553);}this[_0x4df026(0x52f,0x5c3)]&&this[_0x4df026(0x595,0x5c3)]['setOptions'](this[_0x48da09(0x85,0x86)]());}[_0x181031(0x53e,0x58c)](){const _0x54e5ec=Math['ceil'](Math['sqrt'](this[_0x40c1ef(0x2f6,0x32d)]));this['particlesNumber']=_0x54e5ec*_0x54e5ec;function _0x40c1ef(_0x459326,_0x5e568f){return _0x181031(_0x5e568f- -0x289,_0x459326);}const _0x436bc0={};_0x436bc0['particlesTextureSize']=_0x54e5ec,_0x436bc0['maxParticles']=this['particlesNumber'];function _0xbb493c(_0x269735,_0x515f24){return _0x181031(_0x515f24- -0x5e5,_0x269735);}return _0x436bc0['particleHeight']=this['fixedHeight'],_0x436bc0[_0xbb493c(-0x121,-0x138)]=this['fadeOpacity'],_0x436bc0['dropRate']=this[_0x40c1ef(0x2c5,0x31c)],_0x436bc0['dropRateBump']=this[_0x40c1ef(0x2ad,0x2e1)],_0x436bc0['speedFactor']=this['speedFactor'],_0x436bc0['lineWidth']=this['lineWidth'],_0x436bc0[_0x40c1ef(0x2d2,0x2ce)]=this[_0xbb493c(-0x37,-0x8e)],_0x436bc0;}['addPrimitives'](){function _0x1fc334(_0x387937,_0xd4f7){return _0x3a9b52(_0xd4f7- -0x10a,_0x387937);}function _0x10d627(_0x336d0c,_0x5362a7){return _0x181031(_0x5362a7-0x87,_0x336d0c);}this['primitives']['add'](this['particleSystem'][_0x1fc334(-0x171,-0x138)]['primitives']['getWind']),this['primitives']['add'](this['particleSystem'][_0x10d627(0x4be,0x537)]['primitives']['updateSpeed']),this['primitives']['add'](this[_0x1fc334(-0x31,-0x37)]['particlesComputing'][_0x1fc334(-0x76,-0xa9)]['updatePosition']),this[_0x1fc334(-0x42,-0xa9)]['add'](this[_0x1fc334(0x38,-0x37)][_0x10d627(0x5b8,0x537)][_0x10d627(0x557,0x5c6)]['postProcessingPosition']),this['primitives']['add'](this[_0x1fc334(-0x3d,-0x37)]['particlesComputing']['primitives'][_0x1fc334(-0x10d,-0xd5)]),this['primitives']['add'](this['particleSystem']['particlesRendering']['primitives']['segments']),this[_0x10d627(0x5fd,0x5c6)]['add'](this['particleSystem'][_0x10d627(0x53e,0x514)]['primitives'][_0x1fc334(-0xa2,-0xdf)]),this[_0x10d627(0x5a4,0x5c6)]['add'](this['particleSystem']['particlesRendering']['primitives'][_0x10d627(0x5a4,0x613)]);}[_0x181031(0x595,0x53b)](){let _0x2146a4=this['camera']['computeViewRectangle'](this[_0x23ad12(0x224,0x1b1)][_0x508750(0x40a,0x3a8)][_0x23ad12(0x28a,0x2e1)]);if(!_0x2146a4){const _0x3dd452=this['_map']['getExtent']();_0x2146a4=Cesium$1['Rectangle']['fromDegrees'](_0x3dd452[_0x508750(0x390,0x406)],_0x3dd452['ymin'],_0x3dd452['xmax'],_0x3dd452['ymax']);}const _0x30041f=Util['viewRectangleToLonLatRange'](_0x2146a4);this['viewerParameters']['lonRange']['x']=_0x30041f['lon'][_0x508750(0x444,0x3ee)];function _0x23ad12(_0x31526c,_0x3e36d3){return _0x181031(_0x31526c- -0x2db,_0x3e36d3);}this[_0x23ad12(0x24a,0x1e6)][_0x23ad12(0x23e,0x229)]['y']=_0x30041f[_0x508750(0x395,0x37d)][_0x508750(0x41c,0x39a)],this[_0x23ad12(0x24a,0x22f)]['latRange']['x']=_0x30041f['lat'][_0x508750(0x3cb,0x3ee)],this['viewerParameters']['latRange']['y']=_0x30041f['lat']['max'];const _0x4382a5=this[_0x508750(0x3b8,0x3d7)][_0x23ad12(0x1c2,0x138)](this[_0x508750(0x440,0x3ed)],this['scene']['drawingBufferWidth'],this['scene'][_0x508750(0x328,0x3bc)]);function _0x508750(_0x32e32a,_0x4b02a7){return _0x181031(_0x4b02a7- -0x1ad,_0x32e32a);}_0x4382a5>0x0&&(this[_0x23ad12(0x24a,0x216)]['pixelSize']=_0x4382a5);}}mars3d__namespace['LayerUtil']['register']('wind',WindLayer),mars3d__namespace['layer'][_0x3a9b52(0xa,0x77)]=WindLayer;class CanvasParticle{constructor(){function _0x1d6972(_0xb868fc,_0x3ae2fc){return _0x181031(_0x3ae2fc- -0x5f4,_0xb868fc);}this[_0x1d6972(-0x143,-0x14f)]=null,this['lat']=null;function _0x43d734(_0x3b6fc5,_0xf3fa83){return _0x3a9b52(_0x3b6fc5-0x59d,_0xf3fa83);}this['tlng']=null,this['tlat']=null,this['age']=null,this[_0x43d734(0x5e6,0x576)]=null;}['destroy'](){for(const _0x1b1db2 in this){delete this[_0x1b1db2];}}}function _0x3250(){const _0x443427=['162656HMMNYa','DrawCommand','drawingBufferHeight','dropRateBump','container','nextParticlesPosition','sqrt','colorTable','VertexArray','canvasContext','commandToExecute','worker','postMessage','_tomap','particles','length','windTextures','_bilinearInterpolation','vmin','createTexture','_map','zIndex','unbindEvent','maxAge','setDate','toDegrees','layer','_onMouseDownEvent','stroke','camera','RGB','TRIANGLES','DISABLE_GL_POSITION_LOG_DEPTH','uniform\x20sampler2D\x20segmentsColorTexture;\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0a\x0auniform\x20sampler2D\x20currentTrailsColor;\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0a\x0auniform\x20float\x20fadeOpacity;\x0a\x0ain\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture(segmentsColorTexture,\x20textureCoordinate);\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture(currentTrailsColor,\x20textureCoordinate);\x0a\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\x0a\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture(segmentsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture(trailsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture(czm_globeDepthTexture,\x20textureCoordinate));\x0a\x0a\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20out_FragColor\x20+\x20pointsColor;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20out_FragColor\x20+\x20trailsColor;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20gl_FragDepth\x20=\x20min(pointsDepth,\x20trailsDepth);\x0a}\x0a','moveTo','floor','BoundingSphere','screen','vdata','getUVByPoint','dimensions','depthTest','ymin','clampToLatitudeRange','3018615foFEoS','PrimitiveType','updateViewerParameters','Color','resize','RGBA','off','globeBoundingSphere','min','createSegmentsGeometry','xmax','clearCommand','segments','canvasHeight','latRange','age','defined','postProcessingPosition','dropRate','currentParticlesPosition','style','particlesTextureSize','levmax','ClearCommand','auto','0px','umin','randomBetween','rawRenderState','clear','particleSystem','tlat','xmin','getContext','removeEventListener','particlesNumber','particlesRendering','pixelSize','clearFramebuffers','canvasWind','keys','animateFrame','geometry','isDestroyed','14fljORD','_onMap_preRenderEvent','remove','all','3751915JBoAET','primitiveType','textures','windData','getPixelSize','nextTrails','Geometry','height','framebuffers','ymax','mouseHidden','rgb(206,255,255)','lng','grid','visible','4PoLhuH','commandType','BaseLayer','TWO_PI','pointerEvents','fadeOpacity','PixelDatatype','sources','particlesComputing','destination-in','_onMouseUpEvent','WindUtil','EventType','globalCompositeOperation','canrefresh','mod','west','viewport','8075124VLgPNm','_calcUV','pixelDatatype','randomizeParticles','mouse_move','_colorRamp','__esModule','89596HytmWH','windField','framebuffer','options','destroyParticlesTextures','updateSpeed','add','context','_mountedHook','vmax','outputTexture','create','data','SCENE3D','requestAnimationFrame','positionWC','createRawRenderState','getRandomLatLng','update','left','show','canvas','preExecute','random','arrayBufferView','setData','enabled','fillRect','SceneTransforms','color','speedFactor','_pointerEvents','clientWidth','fromGeometry','getV','__proto__','execute','wheel','Cesium','WindLayer','attributeLocations','Cartesian3','10FTbskA','pointer-events','mouse_down','UNSIGNED_BYTE','bindEvent','defines','Pass','uniformMap','FLOAT','mode','fixedHeight','currentTrailsDepth','frameTime','_onMapWhellEvent','in\x20vec3\x20position;\x0ain\x20vec2\x20st;\x0a\x0aout\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20textureCoordinate\x20=\x20st;\x0a\x20\x20\x20\x20gl_Position\x20=\x20vec4(position,\x201.0);\x0a}\x0a','_data','getFullscreenQuad','ComponentDatatype','Draw','pow','scene','lev','5093868yzBIJl','depthTexture','depthMask','_randomParticle','persists','forEach','//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\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\x0ain\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=\x20texture(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=\x20texture(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20bicubic(lonLatLev);\x0a\x20\x20\x20\x20out_FragColor\x20=\x20vec4(windVector,\x200.0);\x0a}\x0a','removeChild','trails','createRenderingTextures','_addedHook','umax','particlesTextures','DEPTH_COMPONENT','ShaderSource','Math','Appearance','push','postProcessingSpeed','_updateIng','steps','speedRate','lineWidth','Sampler','lonRange','9476883XdpYAV','type','ALWAYS','udata','initWorker','isInExtent','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\x0ain\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=\x20texture(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20texture(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\x20out_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\x20out_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a\x20\x20\x20\x20}\x0a}\x0a','getParticles','_onMouseMoveEvent','setOptions','refreshParticles','viewerParameters','_drawLines','speed','PixelFormat','particlesWind','lon','GeometryAttribute','mouseMove','lat','tlng','shaderProgram','2RCrxyv','default','bind','commandList','LINEAR','applyViewerParameters','redraw','vertexArray','none','refreshTimer','rows','maxParticles','fromDegrees','width','getOptions','primitives','autoClear','defineProperty','BufferUsage','Cartesian2','OPAQUE','createComputingPrimitives','uniform\x20sampler2D\x20trailsColorTexture;\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0a\x0ain\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture(trailsColorTexture,\x20textureCoordinate);\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture(trailsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture(czm_globeDepthTexture,\x20textureCoordinate));\x0a\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20trailsColor;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x0a}\x0a','max','STATIC_DRAW','_speedRate','ColorRamp','init','canvasResize','vertexShaderSource','fromCache','mouseUp','_removedHook','currentTrails','createRenderingFramebuffers','getUVByXY','clientHeight','globe','cols','colors','_setOptionsHook','11ObPTLi','_updateIng2','createCommand','destroy','pixelFormat','beginPath','register','mars3d-canvasWind','Compute','getColorTexture','PI_OVER_TWO','array','ellipsoid','_calc_speedRate'];_0x3250=function(){return _0x443427;};return _0x3250();}class CanvasWindField{constructor(_0x4063c8){this['setOptions'](_0x4063c8);}get[_0x3a9b52(0x38,0x7b)](){return this['_speedRate'];}set[_0x181031(0x516,0x4a6)](_0x1f143d){this['_speedRate']=(0x64-(_0x1f143d>0x63?0x63:_0x1f143d))*0x64;function _0xf90d9f(_0x8cdbfd,_0xa8403){return _0x181031(_0x8cdbfd- -0x6bf,_0xa8403);}this['_calc_speedRate']=[(this['xmax']-this['xmin'])/this['_speedRate'],(this['ymax']-this['ymin'])/this[_0xf90d9f(-0x176,-0x10b)]];}get[_0x181031(0x57e,0x5d9)](){return this['_maxAge'];}set['maxAge'](_0x4341e2){this['_maxAge']=_0x4341e2;}[_0x181031(0x523,0x4a9)](_0x4d6cf7){this['options']=_0x4d6cf7;function _0x3bb1ac(_0x348a99,_0x4f6ed4){return _0x181031(_0x348a99- -0x387,_0x4f6ed4);}this[_0x3bb1ac(0x1f7,0x277)]=_0x4d6cf7['maxAge']||0x78,this['speedRate']=_0x4d6cf7[_0x5c4bc0(0x20c,0x1e3)]||0x32,this[_0x3bb1ac(0x1ee,0x27f)]=[];function _0x5c4bc0(_0x3a6e06,_0x85b548){return _0x181031(_0x85b548- -0x333,_0x3a6e06);}const _0x445b2b=_0x4d6cf7[_0x5c4bc0(0x25a,0x283)]||0x1000;for(let _0x5d10b5=0x0;_0x5d10b5<_0x445b2b;_0x5d10b5++){const _0x5d5be9=this['_randomParticle'](new CanvasParticle());this['particles'][_0x5c4bc0(0x24a,0x1df)](_0x5d5be9);}}[_0x3a9b52(0xa1,0xdf)](_0x4f9b0b){this['rows']=_0x4f9b0b['rows'],this[_0xa1f16b(0x49b,0x4ad)]=_0x4f9b0b['cols'],this['xmin']=_0x4f9b0b['xmin'],this[_0x2c035d(0x24,-0x4)]=_0x4f9b0b['xmax'],this[_0xa1f16b(0x4d6,0x4e1)]=_0x4f9b0b['ymin'],this['ymax']=_0x4f9b0b['ymax'],this['grid']=[];const _0x4a19bb=_0x4f9b0b['udata'],_0x4dd821=_0x4f9b0b['vdata'];function _0xa1f16b(_0x2fdab6,_0x5cf738){return _0x181031(_0x2fdab6- -0xbb,_0x5cf738);}let _0x31f973=![];_0x4a19bb['length']===this['rows']&&_0x4a19bb[0x0][_0xa1f16b(0x4bb,0x540)]===this['cols']&&(_0x31f973=!![]);function _0x2c035d(_0x38bce4,_0x44165c){return _0x181031(_0x38bce4- -0x579,_0x44165c);}let _0x172a8d=0x0,_0x5a241e=null,_0xffbced=null;for(let _0x296df9=0x0;_0x296df9<this['rows'];_0x296df9++){_0x5a241e=[];for(let _0x5c0854=0x0;_0x5c0854<this[_0xa1f16b(0x49b,0x51c)];_0x5c0854++,_0x172a8d++){_0x31f973?_0xffbced=this['_calcUV'](_0x4a19bb[_0x296df9][_0x5c0854],_0x4dd821[_0x296df9][_0x5c0854]):_0xffbced=this['_calcUV'](_0x4a19bb[_0x172a8d],_0x4dd821[_0x172a8d]),_0x5a241e[_0x2c035d(-0x67,-0xac)](_0xffbced);}this[_0x2c035d(-0xd3,-0x14f)][_0xa1f16b(0x457,0x492)](_0x5a241e);}this['options']['reverseY']&&this['grid']['reverse']();}[_0x181031(0x5b0,0x52d)](){delete this['rows'],delete this[_0x41f112(0x346,0x344)],delete this[_0x41f112(0x3a3,0x3b2)];function _0x1d13a8(_0x3079b5,_0x4bb54e){return _0x181031(_0x3079b5- -0xe9,_0x4bb54e);}function _0x41f112(_0x1b72f7,_0x424134){return _0x181031(_0x1b72f7- -0x210,_0x424134);}delete this['xmax'],delete this['ymin'],delete this['ymax'],delete this[_0x41f112(0x296,0x2ae)],delete this[_0x41f112(0x365,0x323)];}['toGridXY'](_0x20c1d9,_0x219cb4){const _0x4bdb04=(_0x20c1d9-this[_0x5acc55(0x54b,0x5e0)])/(this[_0x5acc55(0x648,0x5ca)]-this[_0x5acc55(0x65a,0x5e0)])*(this['cols']-0x1);function _0x53790f(_0x4943ec,_0x177d99){return _0x181031(_0x4943ec- -0x6eb,_0x177d99);}const _0x179915=(this['ymax']-_0x219cb4)/(this['ymax']-this['ymin'])*(this['rows']-0x1);function _0x5acc55(_0x3d014d,_0x151bd8){return _0x181031(_0x151bd8-0x2d,_0x3d014d);}return[_0x4bdb04,_0x179915];}[_0x181031(0x553,0x57c)](_0x4486ea,_0x5d596b){if(_0x4486ea<0x0||_0x4486ea>=this[_0x61d7ba(0x4a2,0x4f0)]||_0x5d596b>=this['rows'])return[0x0,0x0,0x0];const _0x1b1c62=Math['floor'](_0x4486ea);function _0x61d7ba(_0x4b4131,_0x5a29d3){return _0x3a9b52(_0x4b4131-0x42a,_0x5a29d3);}const _0x2c084a=Math[_0x61d7ba(0x4d6,0x516)](_0x5d596b);if(_0x1b1c62===_0x4486ea&&_0x2c084a===_0x5d596b)return this['grid'][_0x5d596b][_0x4486ea];const _0x4cff0a=_0x1b1c62+0x1,_0x3ffe67=_0x2c084a+0x1,_0x32ae67=this[_0x61d7ba(0x49f,0x486)](_0x1b1c62,_0x2c084a),_0x4ca9c8=this[_0x6d9153(0x86,0x60)](_0x4cff0a,_0x2c084a),_0x4ffd1a=this['getUVByXY'](_0x1b1c62,_0x3ffe67),_0x29efd7=this['getUVByXY'](_0x4cff0a,_0x3ffe67);function _0x6d9153(_0x48e80a,_0x520339){return _0x181031(_0x48e80a- -0x4cd,_0x520339);}let _0x15d1a3=null;try{_0x15d1a3=this[_0x61d7ba(0x4c4,0x510)](_0x4486ea-_0x1b1c62,_0x5d596b-_0x2c084a,_0x32ae67,_0x4ca9c8,_0x4ffd1a,_0x29efd7);}catch(_0x12d603){console['log'](_0x4486ea,_0x5d596b);}return _0x15d1a3;}['_bilinearInterpolation'](_0x211ca5,_0x2110cf,_0x88abda,_0x58d88e,_0x2c8b1e,_0x18ee67){const _0x43c28d=0x1-_0x211ca5,_0x173c6a=0x1-_0x2110cf,_0x5d0be3=_0x43c28d*_0x173c6a;function _0xd2668d(_0x55090f,_0x3a0dd8){return _0x181031(_0x3a0dd8- -0x559,_0x55090f);}const _0x3e5017=_0x211ca5*_0x173c6a,_0x5c52e3=_0x43c28d*_0x2110cf,_0x5e1d6e=_0x211ca5*_0x2110cf,_0x337203=_0x88abda[0x0]*_0x5d0be3+_0x58d88e[0x0]*_0x3e5017+_0x2c8b1e[0x0]*_0x5c52e3+_0x18ee67[0x0]*_0x5e1d6e,_0x5a640c=_0x88abda[0x1]*_0x5d0be3+_0x58d88e[0x1]*_0x3e5017+_0x2c8b1e[0x1]*_0x5c52e3+_0x18ee67[0x1]*_0x5e1d6e;return this[_0xd2668d(-0x68,-0x9e)](_0x337203,_0x5a640c);}[_0x181031(0x4bb,0x482)](_0x25a691,_0x25abbb){return[+_0x25a691,+_0x25abbb,Math['sqrt'](_0x25a691*_0x25a691+_0x25abbb*_0x25abbb)];}[_0x3a9b52(0xb0,0x7b)](_0x4f5a69,_0x397a84){if(!this[_0x4ebf82(0x23e,0x29a)](_0x4f5a69,_0x397a84))return null;function _0x4ebf82(_0x15d814,_0x12a2ca){return _0x3a9b52(_0x12a2ca-0x259,_0x15d814);}function _0x32566a(_0x1c5cd2,_0x119a1f){return _0x3a9b52(_0x119a1f-0x4cb,_0x1c5cd2);}const _0x540502=this['toGridXY'](_0x4f5a69,_0x397a84),_0x38b60f=this[_0x32566a(0x4ca,0x540)](_0x540502[0x0],_0x540502[0x1]);return _0x38b60f;}['isInExtent'](_0xef8ff6,_0x16e3e2){function _0x374d46(_0x472df1,_0x3539cd){return _0x181031(_0x3539cd- -0x677,_0x472df1);}return _0xef8ff6>=this['xmin']&&_0xef8ff6<=this['xmax']&&_0x16e3e2>=this[_0x374d46(-0x60,-0xe6)]&&_0x16e3e2<=this['ymax']?!![]:![];}[_0x181031(0x4d2,0x43d)](){const _0x3a6672=fRandomByfloat(this['xmin'],this[_0xc8e2ec(0x119,0xe7)]),_0x58a918=fRandomByfloat(this[_0x29b3d9(0x353,0x301)],this[_0xc8e2ec(0x1e,0x2)]),_0x42b35f={};function _0xc8e2ec(_0x4c4327,_0x3fe172){return _0x181031(_0x4c4327- -0x484,_0x3fe172);}_0x42b35f[_0x29b3d9(0x2ef,0x27b)]=_0x58a918,_0x42b35f[_0xc8e2ec(0x21,0x51)]=_0x3a6672;function _0x29b3d9(_0x37752b,_0x2ecf71){return _0x3a9b52(_0x37752b-0x2a0,_0x2ecf71);}return _0x42b35f;}[_0x181031(0x521,0x585)](){function _0x11a483(_0x3b5b76,_0x395ea0){return _0x3a9b52(_0x395ea0- -0x139,_0x3b5b76);}let _0x529438,_0x1e27ab,_0x55b5af;for(let _0x22133d=0x0,_0x2fa98a=this['particles'][_0x11a483(-0xd3,-0xa1)];_0x22133d<_0x2fa98a;_0x22133d++){let _0x2c41d1=this['particles'][_0x22133d];_0x2c41d1['age']<=0x0&&(_0x2c41d1=this[_0x513379(0x20c,0x273)](_0x2c41d1));if(_0x2c41d1['age']>0x0){const _0x1a4792=_0x2c41d1[_0x11a483(-0xbe,-0xe9)],_0x337c0f=_0x2c41d1[_0x513379(0x2ba,0x2df)];_0x55b5af=this[_0x513379(0x296,0x2c7)](_0x1a4792,_0x337c0f),_0x55b5af?(_0x529438=_0x1a4792+this[_0x11a483(-0xae,-0xb1)][0x0]*_0x55b5af[0x0],_0x1e27ab=_0x337c0f+this['_calc_speedRate'][0x1]*_0x55b5af[0x1],_0x2c41d1[_0x11a483(-0x161,-0x172)]=_0x1a4792,_0x2c41d1['lat']=_0x337c0f,_0x2c41d1['tlng']=_0x529438,_0x2c41d1[_0x11a483(0x21,-0x65)]=_0x1e27ab,_0x2c41d1['speed']=_0x55b5af[0x2],_0x2c41d1['age']--):_0x2c41d1['age']=0x0;}}function _0x513379(_0x38b01d,_0x1be59b){return _0x181031(_0x38b01d- -0x2f8,_0x1be59b);}return this['particles'];}[_0x181031(0x504,0x503)](_0x5df892){function _0x4c426a(_0x286e66,_0x32d8d7){return _0x3a9b52(_0x32d8d7-0x14e,_0x286e66);}let _0x10d2b4,_0x69a5ae;for(let _0x127392=0x0;_0x127392<0x1e;_0x127392++){_0x10d2b4=this['getRandomLatLng'](),_0x69a5ae=this[_0x4cb2f4(0x410,0x3e8)](_0x10d2b4['lng'],_0x10d2b4['lat']);if(_0x69a5ae&&_0x69a5ae[0x2]>0x0)break;}function _0x4cb2f4(_0x328320,_0x269de3){return _0x3a9b52(_0x269de3-0x338,_0x328320);}if(!_0x69a5ae)return _0x5df892;const _0x269129=_0x10d2b4['lng']+this['_calc_speedRate'][0x0]*_0x69a5ae[0x0],_0x3d36a3=_0x10d2b4[_0x4c426a(0x1b8,0x19d)]+this['_calc_speedRate'][0x1]*_0x69a5ae[0x1];return _0x5df892['lng']=_0x10d2b4['lng'],_0x5df892['lat']=_0x10d2b4[_0x4cb2f4(0x304,0x387)],_0x5df892[_0x4c426a(0x188,0x19e)]=_0x269129,_0x5df892[_0x4c426a(0x2b7,0x222)]=_0x3d36a3,_0x5df892['age']=Math['round'](Math['random']()*this['maxAge']),_0x5df892[_0x4c426a(0x225,0x197)]=_0x69a5ae[0x2],_0x5df892;}['destroy'](){for(const _0x23771b in this){delete this[_0x23771b];}}}function fRandomByfloat(_0x3ce9a4,_0x23115e){return _0x3ce9a4+Math['random']()*(_0x23115e-_0x3ce9a4);}const Cesium=mars3d__namespace['Cesium'],BaseLayer=mars3d__namespace[_0x3a9b52(0xa3,0x1e)]['BaseLayer'];class CanvasWindLayer extends BaseLayer{constructor(_0x2863b1={}){super(_0x2863b1);function _0x56ca1e(_0x2b1bb3,_0x346df0){return _0x3a9b52(_0x2b1bb3-0x4b5,_0x346df0);}function _0xb7268a(_0x20bad3,_0x3a3891){return _0x181031(_0x3a3891- -0x5a9,_0x20bad3);}this['_setOptionsHook'](_0x2863b1),this[_0xb7268a(-0x92,-0xd3)]=null,_0x2863b1[_0xb7268a(-0x2,-0x52)]&&_0x2863b1[_0xb7268a(-0xb7,-0x94)]&&(this[_0xb7268a(-0x124,-0xea)]=new mars3d__namespace[(_0xb7268a(-0xf,-0x5f))](_0x2863b1));}['_setOptionsHook'](_0xc78cd6,_0x2a3ef3){this['frameTime']=0x3e8/(_0xc78cd6['frameRate']||0xa),this['_pointerEvents']=this['options']['pointerEvents']??![];function _0x5319b0(_0x288550,_0x1e6f7c){return _0x181031(_0x288550- -0x594,_0x1e6f7c);}this[_0x5319b0(-0xb6,-0xd5)]=_0xc78cd6[_0x5319b0(-0xb6,-0x72)]||'#ffffff',this[_0x5319b0(-0x7d,-0xf6)]=_0xc78cd6['lineWidth']||0x1,this[_0x5319b0(-0x9f,-0x4a)]=_0xc78cd6['fixedHeight']??0x0;function _0x472d3c(_0x1c169a,_0xcbbe0f){return _0x3a9b52(_0x1c169a-0x56b,_0xcbbe0f);}this['reverseY']=_0xc78cd6['reverseY']??![],this['windField']&&this['windField'][_0x472d3c(0x5b0,0x564)](_0xc78cd6);}get[_0x3a9b52(0xa3,0x69)](){function _0x16d4cb(_0xe6ecbd,_0x3e0653){return _0x3a9b52(_0x3e0653- -0x101,_0xe6ecbd);}return this[_0x16d4cb(-0x9b,-0x109)];}get['canvasWidth'](){function _0x5ea1ec(_0x4ee19f,_0xa52be1){return _0x181031(_0xa52be1- -0x22b,_0x4ee19f);}function _0x26781d(_0x52e8b7,_0x2fbd3c){return _0x3a9b52(_0x52e8b7-0x431,_0x2fbd3c);}return this['_map'][_0x26781d(0x452,0x3eb)][_0x26781d(0x429,0x3f8)][_0x5ea1ec(0x2fe,0x2b6)];}get[_0x3a9b52(0xc2,0x100)](){function _0x2bcf75(_0x44a3e1,_0x378769){return _0x3a9b52(_0x378769-0x214,_0x44a3e1);}return this[_0x2bcf75(0x2a1,0x2b1)]['scene']['canvas']['clientHeight'];}get['pointerEvents'](){function _0x391cb1(_0x29b317,_0x2b3bf1){return _0x3a9b52(_0x29b317-0x405,_0x2b3bf1);}return this[_0x391cb1(0x407,0x3f9)];}set[_0x181031(0x4ac,0x436)](_0x452466){function _0x3a1da2(_0x1f5182,_0x4d7b31){return _0x3a9b52(_0x4d7b31- -0xe9,_0x1f5182);}function _0xa61b32(_0xdeab6a,_0x4ec5e0){return _0x181031(_0x4ec5e0- -0x11d,_0xdeab6a);}this['_pointerEvents']=_0x452466;if(!this['canvas'])return;_0x452466?this[_0xa61b32(0x420,0x3b9)][_0x3a1da2(-0xc,-0x20)]['pointer-events']=_0xa61b32(0x400,0x37b):this['canvas']['style'][_0xa61b32(0x3e9,0x3cf)]='none';}get['particlesNumber'](){function _0x1d7965(_0x164884,_0x22c081){return _0x181031(_0x22c081- -0x548,_0x164884);}return this['options'][_0x1d7965(0x44,0x6e)];}set['particlesNumber'](_0x617003){this['options']['particlesNumber']=_0x617003,clearTimeout(this['_canrefresh']),this['_canrefresh']=setTimeout(()=>{this['redraw']();},0x1f4);}get['speedRate'](){return this['options']['speedRate'];}set['speedRate'](_0x1481df){function _0x3dee78(_0x10a81a,_0x183668){return _0x181031(_0x183668- -0x7b,_0x10a81a);}this[_0x2e1139(0x373,0x318)]['speedRate']=_0x1481df;function _0x2e1139(_0x4d1c,_0xa3793){return _0x181031(_0x4d1c- -0x151,_0xa3793);}this[_0x3dee78(0x4ba,0x447)]&&(this['windField']['speedRate']=_0x1481df);}get['maxAge'](){return this['options']['maxAge'];}set['maxAge'](_0x479023){function _0x372575(_0x3167ed,_0x65e2a3){return _0x181031(_0x65e2a3- -0x6af,_0x3167ed);}this['options'][_0x372575(-0x19a,-0x131)]=_0x479023;function _0x188f7a(_0x3fbd2a,_0x5db01c){return _0x181031(_0x3fbd2a- -0x31f,_0x5db01c);}this['windField']&&(this[_0x188f7a(0x1a3,0x12f)][_0x372575(-0x164,-0x131)]=_0x479023);}get['data'](){return this['windData'];}set[_0x181031(0x4cd,0x539)](_0x3a941e){this['setData'](_0x3a941e);}['_showHook'](_0x1286af){function _0x230da9(_0x2868b9,_0x22a0f8){return _0x3a9b52(_0x22a0f8-0x33f,_0x2868b9);}function _0x347d8f(_0x590b87,_0x37dd58){return _0x3a9b52(_0x37dd58-0x266,_0x590b87);}_0x1286af?this['_addedHook']():(this[_0x230da9(0x273,0x2fd)]&&(this[_0x347d8f(0x236,0x24c)]['data']=this['windData']),this[_0x230da9(0x360,0x3b1)]());}['_mountedHook'](){function _0x582da8(_0x2890a8,_0x383ee0){return _0x3a9b52(_0x2890a8-0x3c,_0x383ee0);}function _0x2d6385(_0x17377e,_0x41c867){return _0x181031(_0x17377e-0x6d,_0x41c867);}this[_0x582da8(0x22,-0x71)]['worker']?this[_0x582da8(0x7c,0xfd)]():this['windField']=new CanvasWindField(this['options']);}[_0x3a9b52(0x2d,0xa)](){function _0x2d365b(_0x3cb4df,_0x17c4c4){return _0x3a9b52(_0x3cb4df- -0x46,_0x17c4c4);}this['canvas']=this['_createCanvas']();const _0x10ecc5={};_0x10ecc5['willReadFrequently']=!![],this[_0x2d365b(0x4c,0x38)]=this[_0x2d365b(-0x4e,-0x5e)][_0x3849f4(-0x7,0x79)]('2d',_0x10ecc5);function _0x3849f4(_0x59129b,_0x166150){return _0x181031(_0x59129b- -0x5bb,_0x166150);}this['bindEvent'](),this['options']['data']&&this['setData'](this['options'][_0x2d365b(-0x57,-0xdb)]);}[_0x181031(0x550,0x4dc)](){this['clear']();function _0x29a64c(_0x5d0962,_0x564c53){return _0x181031(_0x564c53- -0x31f,_0x5d0962);}function _0x43d760(_0x3800c6,_0x45bb75){return _0x181031(_0x45bb75- -0x214,_0x3800c6);}this['unbindEvent'](),this['canvas']&&(this['_map'][_0x43d760(0x331,0x357)][_0x43d760(0x34f,0x2f4)](this[_0x29a64c(0x242,0x1b7)]),delete this['canvas']);}['_createCanvas'](){const _0x30607a=mars3d__namespace['DomUtil'][_0xfc2322(0x27e,0x2c7)](_0xfc2322(0x288,0x2c2),_0xfc2322(0x312,0x371),this[_0x3240d4(0x166,0x1b0)][_0x3240d4(0x1f9,0x1a0)]);_0x30607a['style']['position']='absolute',_0x30607a[_0x3240d4(0x18e,0x1dc)]['top']=_0xfc2322(0x35e,0x3bd);function _0x3240d4(_0x4b5177,_0x182e0b){return _0x181031(_0x182e0b- -0x3cb,_0x4b5177);}_0x30607a[_0xfc2322(0x359,0x361)][_0x3240d4(0x17e,0x109)]='0px',_0x30607a['style']['width']=this['_map'][_0x3240d4(0xc8,0x134)][_0xfc2322(0x288,0x2e9)][_0xfc2322(0x293,0x2e2)]+'px',_0x30607a[_0x3240d4(0x246,0x1dc)][_0xfc2322(0x252,0x1ff)]=this[_0x3240d4(0x21b,0x1b0)][_0x3240d4(0xd2,0x134)][_0x3240d4(0x122,0x10b)][_0xfc2322(0x306,0x374)]+'px',_0x30607a['style']['pointerEvents']=this[_0x3240d4(0xb0,0x115)]?_0xfc2322(0x35d,0x3c9):_0x3240d4(0x146,0x16d),_0x30607a['style']['zIndex']=this[_0x3240d4(0xf7,0xf9)][_0xfc2322(0x32e,0x330)]??0x9;function _0xfc2322(_0x1be3a1,_0x52a2cf){return _0x181031(_0x1be3a1- -0x24e,_0x52a2cf);}return _0x30607a['width']=this['_map']['scene']['canvas'][_0xfc2322(0x293,0x288)],_0x30607a['height']=this[_0x3240d4(0x121,0x1b0)][_0x3240d4(0x157,0x134)][_0xfc2322(0x288,0x1fe)]['clientHeight'],_0x30607a;}['resize'](){function _0x87a3ef(_0x987af5,_0x5ddf2b){return _0x3a9b52(_0x5ddf2b-0x20c,_0x987af5);}function _0xe72806(_0x492694,_0x30d3f6){return _0x3a9b52(_0x30d3f6-0x4ae,_0x492694);}this['canvas']&&(this['canvas'][_0x87a3ef(0x32a,0x2d5)][_0xe72806(0x586,0x50d)]=this[_0xe72806(0x5af,0x54b)][_0xe72806(0x44a,0x4cf)][_0xe72806(0x4e1,0x4a6)][_0xe72806(0x4c9,0x4b1)]+'px',this['canvas'][_0x87a3ef(0x2a8,0x2d5)][_0xe72806(0x405,0x470)]=this['_map']['scene'][_0xe72806(0x43d,0x4a6)]['clientHeight']+'px',this['canvas']['width']=this['_map'][_0x87a3ef(0x25d,0x22d)]['canvas']['clientWidth'],this['canvas']['height']=this['_map']['scene']['canvas'][_0x87a3ef(0x25c,0x282)]);}[_0x181031(0x4ef,0x51a)](){const _0x2fa73e=this;let _0x3dc001=Date['now']();(function _0x56e885(){function _0x5b3d8c(_0x4c325f,_0x39edf4){return _0x5630(_0x39edf4- -0x245,_0x4c325f);}_0x2fa73e[_0x5b3d8c(-0x60,-0xd8)]=window[_0x5b3d8c(-0x28,-0x9b)](_0x56e885);function _0x59e7f5(_0x42fe6d,_0x56092e){return _0x5630(_0x56092e-0x235,_0x42fe6d);}if(_0x2fa73e['show']&&_0x2fa73e[_0x5b3d8c(-0xf3,-0xa8)]){const _0x32a9e8=Date['now'](),_0x53c318=_0x32a9e8-_0x3dc001;_0x53c318>_0x2fa73e['frameTime']&&(_0x3dc001=_0x32a9e8-_0x53c318%_0x2fa73e[_0x5b3d8c(-0x40,-0x73)],_0x2fa73e['update']());}}());function _0x39b53a(_0x2a3038,_0x2b96c5){return _0x181031(_0x2b96c5- -0x7e,_0x2a3038);}window['addEventListener']('resize',this['resize'][_0x26635e(0x11c,0x175)](this),![]),this[_0x39b53a(0x465,0x46f)]=![];function _0x26635e(_0x8b8273,_0x463ae1){return _0x181031(_0x8b8273- -0x416,_0x463ae1);}this[_0x26635e(0xa8,0xf7)]=![],this[_0x39b53a(0x3d0,0x446)][_0x39b53a(0x3cc,0x425)]&&(this[_0x39b53a(0x532,0x4fd)]['on'](mars3d__namespace[_0x39b53a(0x3f6,0x436)][_0x39b53a(0x40f,0x468)],this['_onMapWhellEvent'],this),this['_map']['on'](mars3d__namespace[_0x26635e(0x9e,0xba)]['mouseDown'],this['_onMouseDownEvent'],this),this['_map']['on'](mars3d__namespace['EventType'][_0x39b53a(0x54f,0x4d1)],this['_onMouseUpEvent'],this));}[_0x181031(0x57d,0x580)](){window['cancelAnimationFrame'](this['animateFrame']);function _0x48e39d(_0x5ee8c5,_0x43d078){return _0x3a9b52(_0x43d078-0x2ef,_0x5ee8c5);}delete this[_0x48e39d(0x251,0x2a3)];function _0x191c48(_0xe36d0c,_0x413500){return _0x3a9b52(_0x413500-0x300,_0xe36d0c);}window[_0x191c48(0x3ac,0x3d7)]('resize',this[_0x48e39d(0x329,0x3a8)]),this['options'][_0x191c48(0x24d,0x2c5)]&&(this[_0x48e39d(0x35b,0x38c)]['off'](mars3d__namespace[_0x48e39d(0x2b6,0x2c5)]['wheel'],this[_0x191c48(0x287,0x31a)],this),this['_map']['off'](mars3d__namespace[_0x48e39d(0x259,0x2c5)]['mouseDown'],this[_0x48e39d(0x374,0x393)],this),this['_map'][_0x191c48(0x417,0x3bb)](mars3d__namespace[_0x48e39d(0x2c4,0x2c5)][_0x191c48(0x334,0x371)],this['_onMouseUpEvent'],this),this['_map']['off'](mars3d__namespace['EventType'][_0x191c48(0x2c5,0x34e)],this['_onMouseMoveEvent'],this));}['_onMapWhellEvent'](_0x42043d){clearTimeout(this[_0x3c1696(-0xdd,-0x119)]);if(!this['show']||!this['canvas'])return;function _0x3c1696(_0x596927,_0x3975a4){return _0x181031(_0x3975a4- -0x652,_0x596927);}this[_0x8c8506(0x33e,0x2e6)][_0x3c1696(-0x91,-0xab)]['visibility']='hidden';function _0x8c8506(_0x2f9615,_0x4c5ffa){return _0x3a9b52(_0x4c5ffa-0x2ee,_0x2f9615);}this[_0x3c1696(-0x199,-0x119)]=setTimeout(()=>{function _0x247130(_0x267e46,_0x2876b7){return _0x8c8506(_0x2876b7,_0x267e46- -0x257);}if(!this[_0x247130(0x8e,-0x4)])return;function _0x47befb(_0x13f47d,_0x3f8015){return _0x8c8506(_0x3f8015,_0x13f47d- -0x2c3);}this['redraw'](),this[_0x247130(0x8f,0x102)]['style']['visibility']=_0x247130(0x60,0x5f);},0xc8);}['_onMouseDownEvent'](_0x559b9b){this['mouse_down']=!![],this[_0x4876b2(0x2f5,0x371)][_0x228604(-0xa7,-0x79)](mars3d__namespace[_0x4876b2(0x2dc,0x2aa)]['mouseMove'],this['_onMouseMoveEvent'],this);function _0x4876b2(_0x2acc7e,_0x58e74c){return _0x3a9b52(_0x58e74c-0x2d4,_0x2acc7e);}function _0x228604(_0xfdb6a7,_0x11e42e){return _0x181031(_0x11e42e- -0x612,_0xfdb6a7);}this['_map']['on'](mars3d__namespace['EventType']['mouseMove'],this[_0x4876b2(0x347,0x318)],this);}[_0x181031(0x522,0x4fd)](_0x4d9291){function _0x3d7aae(_0x2ba2f0,_0x5cdd86){return _0x3a9b52(_0x5cdd86- -0x1fd,_0x2ba2f0);}if(!this['show']||!this['canvas'])return;function _0x4c70db(_0x6edb34,_0x1f9dac){return _0x3a9b52(_0x1f9dac-0xc4,_0x6edb34);}this['mouse_down']&&(this[_0x3d7aae(-0x24c,-0x205)][_0x3d7aae(-0x122,-0x134)]['visibility']='hidden',this[_0x3d7aae(-0x25f,-0x21d)]=!![]);}['_onMouseUpEvent'](_0x54346e){function _0x1c3234(_0x5f1a63,_0x22a48c){return _0x181031(_0x22a48c-0x51,_0x5f1a63);}if(!this['show']||!this['canvas'])return;this['_map']['off'](mars3d__namespace[_0xb8927c(-0xb5,-0x128)]['mouseMove'],this[_0xb8927c(-0x47,-0xc)],this);this[_0x1c3234(0x500,0x53e)]&&this['mouse_move']&&this['redraw']();this['canvas']['style']['visibility']='visible',this[_0x1c3234(0x583,0x53e)]=![];function _0xb8927c(_0x30755d,_0x515654){return _0x181031(_0x30755d- -0x569,_0x515654);}this['mouse_move']=![];}[_0x181031(0x4da,0x4c4)](_0x5c7b23){function _0x20d74b(_0x5775cc,_0x49caa5){return _0x3a9b52(_0x49caa5-0x467,_0x5775cc);}function _0x2056ec(_0x30fb45,_0x408577){return _0x181031(_0x30fb45- -0x101,_0x408577);}this[_0x20d74b(0x4d3,0x539)](),this['windData']=_0x5c7b23,this['windField']['setDate'](_0x5c7b23),this[_0x2056ec(0x435,0x437)]();}['redraw'](){if(!this['show'])return;function _0x1c3986(_0x139b9f,_0x277f47){return _0x3a9b52(_0x277f47-0xe8,_0x139b9f);}this['windField']['setOptions'](this['options']),this[_0x1c3986(0x15a,0xdd)]();}[_0x181031(0x4d3,0x506)](){if(this[_0x2d5312(0x3ea,0x3a9)])return;this['_updateIng']=!![];if(this[_0x2d5312(0x437,0x407)])this[_0x2d5312(0x30d,0x357)]['update']();else{const _0x4433c9=this['windField']['getParticles']();this[_0x5ed337(0x524,0x50b)](_0x4433c9);}function _0x5ed337(_0x424e86,_0x2b73a8){return _0x3a9b52(_0x424e86-0x4dc,_0x2b73a8);}function _0x2d5312(_0x20e383,_0x3d3f33){return _0x181031(_0x3d3f33- -0x16b,_0x20e383);}this[_0x5ed337(0x512,0x5a4)]=![];}['_drawLines'](_0x50f8f2){this['canvasContext']['globalCompositeOperation']=_0x2cf345(0xde,0x9c),this['canvasContext'][_0x2cf345(0x109,0x82)](0x0,0x0,this['canvasWidth'],this['canvasHeight']),this['canvasContext'][_0x52434a(0x4b2,0x499)]='lighter',this['canvasContext']['globalAlpha']=0.9;const _0x45afa9=this['_map'][_0x52434a(0x47f,0x4e3)][_0x52434a(0x483,0x4d8)]!==Cesium['SceneMode'][_0x2cf345(0xfb,0xe8)];function _0x2cf345(_0x3809d1,_0x549fb5){return _0x181031(_0x3809d1- -0x3d3,_0x549fb5);}function _0x52434a(_0xea7c2a,_0x1c1b50){return _0x3a9b52(_0x1c1b50-0x4c2,_0xea7c2a);}const _0x17c28c=this['canvasWidth']*0.25;if(this['_colorRamp'])for(let _0x23eb65=0x0,_0xb3c855=_0x50f8f2[_0x52434a(0x5a2,0x55a)];_0x23eb65<_0xb3c855;_0x23eb65++){const _0x112b36=_0x50f8f2[_0x23eb65],_0x4bdc68=this['_tomap'](_0x112b36['lng'],_0x112b36['lat'],_0x112b36),_0x19d11f=this['_tomap'](_0x112b36['tlng'],_0x112b36[_0x2cf345(0x1df,0x255)],_0x112b36);if(!_0x4bdc68||!_0x19d11f)continue;if(_0x45afa9&&Math['abs'](_0x4bdc68[0x0]-_0x19d11f[0x0])>=_0x17c28c)continue;this[_0x52434a(0x59c,0x554)][_0x2cf345(0x18b,0x201)](),this[_0x2cf345(0x19d,0x205)][_0x2cf345(0x144,0x1c4)]=this[_0x52434a(0x4c5,0x4fb)],this[_0x52434a(0x4c9,0x554)]['strokeStyle']=this[_0x2cf345(0xec,0x136)]['getColor'](_0x112b36['speed']),this['canvasContext'][_0x2cf345(0x1b6,0x165)](_0x4bdc68[0x0],_0x4bdc68[0x1]),this['canvasContext']['lineTo'](_0x19d11f[0x0],_0x19d11f[0x1]),this[_0x2cf345(0x19d,0x156)]['stroke']();}else{this['canvasContext'][_0x52434a(0x4c5,0x542)](),this['canvasContext']['lineWidth']=this[_0x2cf345(0x144,0x19e)],this['canvasContext']['strokeStyle']=this['color'];for(let _0x18fcf4=0x0,_0x2fd67f=_0x50f8f2[_0x52434a(0x4d1,0x55a)];_0x18fcf4<_0x2fd67f;_0x18fcf4++){const _0x5d7ef1=_0x50f8f2[_0x18fcf4],_0x1e72fe=this[_0x2cf345(0x1a1,0x149)](_0x5d7ef1[_0x52434a(0x480,0x489)],_0x5d7ef1['lat'],_0x5d7ef1),_0xd07fca=this[_0x2cf345(0x1a1,0x198)](_0x5d7ef1['tlng'],_0x5d7ef1[_0x2cf345(0x1df,0x1db)],_0x5d7ef1);if(!_0x1e72fe||!_0xd07fca)continue;if(_0x45afa9&&Math['abs'](_0x1e72fe[0x0]-_0xd07fca[0x0])>=_0x17c28c)continue;this[_0x2cf345(0x19d,0x12e)]['moveTo'](_0x1e72fe[0x0],_0x1e72fe[0x1]),this[_0x52434a(0x57b,0x554)]['lineTo'](_0xd07fca[0x0],_0xd07fca[0x1]);}this['canvasContext'][_0x2cf345(0x1b0,0x17b)]();}}['_tomap'](_0x1a2384,_0x58fcc7,_0x2421d2){const _0x1e2be7=Cesium['Cartesian3'][_0x140782(0x172,0x11b)](_0x1a2384,_0x58fcc7,this[_0x140782(0xbd,0xd4)]),_0x3e3e43=this['_map']['scene'];function _0x140782(_0x5d68be,_0x4c3c93){return _0x3a9b52(_0x4c3c93-0xbd,_0x5d68be);}if(_0x3e3e43['mode']===Cesium['SceneMode']['SCENE3D']){const _0x39feb3=new Cesium['EllipsoidalOccluder'](_0x3e3e43['globe']['ellipsoid'],_0x3e3e43[_0x140782(0x125,0x163)][_0x140782(0x11d,0xaf)]),_0x5ac15f=_0x39feb3['isPointVisible'](_0x1e2be7);if(!_0x5ac15f)return _0x2421d2[_0x140782(0x138,0x181)]=0x0,null;}function _0x13ac96(_0x41ca55,_0x4d3def){return _0x3a9b52(_0x41ca55-0x1b3,_0x4d3def);}const _0xbf429=Cesium[_0x140782(0xa8,0xbc)]['wgs84ToWindowCoordinates'](this['_map']['scene'],_0x1e2be7);return _0xbf429?[_0xbf429['x'],_0xbf429['y']]:null;}['clear'](){function _0x5f0273(_0x55badf,_0x234e81){return _0x3a9b52(_0x234e81-0x226,_0x55badf);}this[_0x16c560(0x4d4,0x45a)][_0x5f0273(0x2f8,0x2f8)]();function _0x16c560(_0x2a1296,_0x31038f){return _0x3a9b52(_0x2a1296-0x4f0,_0x31038f);}delete this['windData'];}[_0x181031(0x51e,0x558)](){function _0x14c062(_0x3be0c9,_0x44cc71){return _0x3a9b52(_0x44cc71-0x481,_0x3be0c9);}this[_0x1a4457(0x3c6,0x398)]=new Worker(this['options'][_0x1a4457(0x35c,0x398)]),this[_0x14c062(0x581,0x515)]['onmessage']=_0x1aae82=>{this[_0x24e4e1(0x33d,0x2eb)](_0x1aae82['data']['particles']);function _0x24e4e1(_0x3250f1,_0x1815f6){return _0x1a4457(_0x3250f1,_0x1815f6- -0x61);}this['_updateIng2']=![];},this[_0x14c062(0x48f,0x465)]={'init':_0x2f11db=>{function _0x2e8bae(_0x45d1b9,_0x405c7d){return _0x1a4457(_0x45d1b9,_0x405c7d-0x290);}const _0x377f76={};_0x377f76['type']='init',_0x377f76[_0x2e8bae(0x51f,0x57a)]=_0x2f11db,this['worker']['postMessage'](_0x377f76);},'setOptions':_0x486323=>{const _0x2eb156={};function _0x50b4ad(_0x503011,_0xb95935){return _0x1a4457(_0x503011,_0xb95935-0x16f);}function _0x13a65c(_0x4cbc6a,_0x11399c){return _0x1a4457(_0x4cbc6a,_0x11399c- -0x1f);}_0x2eb156[_0x50b4ad(0x51c,0x4b0)]='setOptions',_0x2eb156['options']=_0x486323,this['worker'][_0x50b4ad(0x4fc,0x508)](_0x2eb156);},'setDate':_0x12c7d8=>{const _0x5d8667={};function _0x36c1db(_0x1dae8a,_0x2ce320){return _0x1a4457(_0x2ce320,_0x1dae8a- -0x1bc);}_0x5d8667['type']=_0x36c1db(0x1e9,0x1f1),_0x5d8667['data']=_0x12c7d8;function _0x366d4d(_0x4919da,_0x1f983d){return _0x1a4457(_0x4919da,_0x1f983d- -0x42b);}this[_0x366d4d(-0x11b,-0x93)]['postMessage'](_0x5d8667);},'update':()=>{function _0x5e8acd(_0x49a26a,_0x404e99){return _0x1a4457(_0x404e99,_0x49a26a- -0x506);}if(this[_0x5e8acd(-0x186,-0x10d)])return;this[_0xc5f254(0x4ff,0x4c0)]=!![];const _0x1c167b={};function _0xc5f254(_0xac4823,_0x2af658){return _0x14c062(_0xac4823,_0x2af658- -0x3d);}_0x1c167b[_0x5e8acd(-0x1c5,-0x1a2)]='update',this['worker']['postMessage'](_0x1c167b);},'clear':()=>{const _0x57d307={};_0x57d307['type']='clear',this['worker']['postMessage'](_0x57d307);}};function _0x1a4457(_0x412b71,_0x385370){return _0x3a9b52(_0x385370-0x304,_0x412b71);}this['windField'][_0x1a4457(0x3bb,0x371)](this[_0x14c062(0x43b,0x467)]);}}mars3d__namespace['LayerUtil'][_0x181031(0x55f,0x564)](_0x181031(0x490,0x474),CanvasWindLayer),mars3d__namespace['layer']['CanvasWindLayer']=CanvasWindLayer,mars3d__namespace['CanvasWindField']=CanvasWindField,mars3d__namespace[_0x3a9b52(-0x2b,0xa)]=WindUtil,exports['CanvasWindField']=CanvasWindField,exports['CanvasWindLayer']=CanvasWindLayer;function _0x181031(_0x4d2733,_0x197265){return _0x5630(_0x4d2733-0x325,_0x197265);}exports[_0x3a9b52(0xa,-0x4)]=WindLayer;function _0x3a9b52(_0x457d94,_0x300014){return _0x5630(_0x457d94- -0x1b9,_0x300014);}exports[_0x181031(0x4b3,0x547)]=WindUtil;const _0x8cc4b1={};_0x8cc4b1['value']=!![],Object['defineProperty'](exports,_0x181031(0x4c0,0x453),_0x8cc4b1);
14
+ 'use strict';(function(_0x5a63ff,_0x49008e){function _0x1b5418(_0x5af178,_0x1692a2){return _0x9531(_0x1692a2-0x3a9,_0x5af178);}function _0x34ca98(_0x428129,_0x8508b0){return _0x9531(_0x428129-0x268,_0x8508b0);}const _0x19ffb4=_0x5a63ff();while(!![]){try{const _0x1b75b3=parseInt(_0x1b5418(0x635,0x667))/0x1*(parseInt(_0x1b5418(0x611,0x5dd))/0x2)+parseInt(_0x1b5418(0x6c7,0x643))/0x3+parseInt(_0x1b5418(0x6db,0x654))/0x4*(parseInt(_0x1b5418(0x632,0x5d5))/0x5)+parseInt(_0x1b5418(0x5a1,0x5fe))/0x6*(parseInt(_0x34ca98(0x47d,0x3f6))/0x7)+-parseInt(_0x1b5418(0x69c,0x63f))/0x8*(parseInt(_0x1b5418(0x5ce,0x653))/0x9)+-parseInt(_0x1b5418(0x616,0x634))/0xa+-parseInt(_0x34ca98(0x521,0x4b9))/0xb;if(_0x1b75b3===_0x49008e)break;else _0x19ffb4['push'](_0x19ffb4['shift']());}catch(_0x6fe8fb){_0x19ffb4['push'](_0x19ffb4['shift']());}}}(_0xeabd,0x3aa95));function _interopNamespace(_0x2d4b8e){if(_0x2d4b8e&&_0x2d4b8e['__esModule'])return _0x2d4b8e;var _0x46eb6e=Object['create'](null);function _0x59f160(_0x4ca286,_0x3bcc38){return _0x9531(_0x4ca286- -0x3a7,_0x3bcc38);}_0x2d4b8e&&Object['keys'](_0x2d4b8e)[_0x59f160(-0xe1,-0x157)](function(_0x2ec716){function _0x5a06a0(_0xcc349a,_0x1a51fc){return _0x59f160(_0x1a51fc-0x5d7,_0xcc349a);}function _0x2a7d43(_0x2630de,_0x57b159){return _0x59f160(_0x2630de-0x763,_0x57b159);}if(_0x2ec716!==_0x2a7d43(0x5c2,0x5b3)){var _0x1128a1=Object[_0x5a06a0(0x426,0x472)](_0x2d4b8e,_0x2ec716);Object[_0x2a7d43(0x5b4,0x633)](_0x46eb6e,_0x2ec716,_0x1128a1[_0x2a7d43(0x67e,0x658)]?_0x1128a1:{'enumerable':!![],'get':function(){return _0x2d4b8e[_0x2ec716];}});}});_0x46eb6e[_0x491966(-0x138,-0x1be)]=_0x2d4b8e;function _0x491966(_0x407369,_0x163a15){return _0x9531(_0x407369- -0x33e,_0x163a15);}return _0x46eb6e;}var mars3d__namespace=_interopNamespace(mars3d);const Cesium$7=mars3d__namespace['Cesium'];function getU(_0x455a31,_0x455f08){const _0x56a85a=_0x455a31*Math['cos'](Cesium$7['Math']['toRadians'](_0x455f08));return _0x56a85a;}function getV(_0x23e3f7,_0xb868c9){function _0x42c4bd(_0x3233a5,_0x2c4459){return _0x9531(_0x3233a5- -0x2ef,_0x2c4459);}const _0x838d60=_0x23e3f7*Math[_0x42c4bd(-0x66,-0xa3)](Cesium$7[_0x55c395(0x221,0x1b8)][_0x42c4bd(-0xc7,-0x13b)](_0xb868c9));function _0x55c395(_0x54c425,_0x386a37){return _0x9531(_0x386a37- -0x6c,_0x54c425);}return _0x838d60;}function getSpeed(_0x115b52,_0x39df4c){function _0x3c291a(_0x4a8821,_0x121d99){return _0x9531(_0x4a8821-0x3af,_0x121d99);}const _0xed1a24=Math[_0x3c291a(0x60b,0x645)](Math['pow'](_0x115b52,0x2)+Math['pow'](_0x39df4c,0x2));return _0xed1a24;}function _0xeabd(){const _0x16d550=['mod','getContext','add','getUVByXY','bind','particleSystem','geometry','postMessage','_onMapWhellEvent','BoundingSphere','_pointerEvents','clear','default','DomUtil','mouse_down','primitives','context','ymin','createWindTextures','getDefaultRenderState','reverseY','TRIANGLES','absolute','STATIC_DRAW','CanvasWindField','willReadFrequently','array','301TrxFsO','Cartesian3','nextTrailsDepth','DrawCommand','VertexArray','requestAnimationFrame','atan2','textures','setDate','PixelFormat','setData','mouseMove','DEPTH_COMPONENT','NEAREST','getOptions','Math','canvasContext','position','height','toRadians','_showHook','particlesRendering','segmentsDepth','677375ZClelb','ShaderSource','_map','scene','resize','_setOptionsHook','PrimitiveType','latRange','542LpKIIN','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\x0ain\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=\x20texture(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20texture(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\x20out_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\x20out_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a\x20\x20\x20\x20}\x0a}\x0a','uniformMap','getRandomLatLng','_colorRamp','windData','enabled','_addedHook','lat','depthTest','currentParticlesPosition','in\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0ain\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\x0aout\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\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\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=\x20texture(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture(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=\x20texture(postProcessingSpeed,\x20particleIndex).a;\x0a}\x0a','colorTable','globeBoundingSphere','getOwnPropertyDescriptor','Color','maximum','createComputingPrimitives','cols','_bilinearInterpolation','width','createSegmentsGeometry','umin','currentTrails','udata','_updateIng','updateSpeed','unbindEvent','clientWidth','nextTrails','removeAll','type','particlesWind','1752McEHpa','GeometryAttribute','createParticlesTextures','WindUtil','dimensions','GeometryAttributes','postProcessingPosition','sqrt','viewRectangleToLonLatRange','maxAge','nextParticlesPosition','outputTexture','stroke','BufferUsage','normal','refreshParticles','_tomap','canvasWidth','dropRateBump','viewerParameters','createTexture','show','cancelAnimationFrame','defined','UNSIGNED_INT','fadeOpacity','destroyObject','_drawLines','vdata','RGB','Cartesian2','rows','min','mode','lng','windField','canvasResize','framebuffers','segmentsColor','EllipsoidalOccluder','TWO_PI','wheel','fillRect','_calc_speedRate','viewport','vertexArray','update','currentParticlesSpeed','fragmentShaderSource','SceneMode','_onMouseUpEvent','_mountedHook','sin','particlesTextureSize','561070XdrQua','ymax','framebuffer','postProcessingSpeed','fixedHeight','_canrefresh','frameTime','setOptions','camera','grid','lonRange','1305512fYYGNW','max','vmin','clearCommand','173850wzgBep','preExecute','toDegrees','ellipsoid','color','layer','shaderProgram','lineWidth','none','applyViewerParameters','xmax','mouse_move','_onMouseMoveEvent','tlat','getUVByPoint','ComponentDatatype','9hkZFoe','4wccCyx','PixelDatatype','wgs84ToWindowCoordinates','push','commandType','defines','north','bindEvent','computeViewRectangle','length','rawRenderState','speedFactor','particlesTextures','toGridXY','1947297TEzcRs','speed','updatePosition','ComputeCommand','options','1589TPSsig','init','RenderState','style','get','abs','OPAQUE','_calcUV','forEach','createFramebuffer','Compute','BaseLayer','drawingBufferHeight','particles','_speedRate','blending','FLOAT','particlesNumber','canvasHeight','getPixelSize','worker','segments','destination-in','colors','tlng','Draw','age','WindLayer','Rectangle','commandToExecute','data','vertexShaderSource','getWind','globalCompositeOperation','_onMouseDownEvent','clearFramebuffers','windTextures','all','randomizeParticles','ClearCommand','sources','lev','uniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0ain\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\x20out_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=\x20texture(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20speed\x20=\x20texture(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20updatePosition(lonLatLev,\x20speed);\x0a}\x0a','_updateIng2','createRawRenderState','_data','mars3d-canvasWind','redraw','canvas','LINEAR','Cesium','nextTrailsColor','round','particlesComputing','LayerUtil','maxParticles','EventType','commandList','keys','particleHeight','speedRate','lon','Pass','depthTexture','ZERO','RGBA','TextureMagnificationFilter','setGeometry','xmin','fromCache','mouseUp','destroy','attributeLocations','0px','off','clientHeight','rgb(206,255,255)','visibility','hidden','defineProperty','value'];_0xeabd=function(){return _0x16d550;};return _0xeabd();}function getDirection(_0x477f0c,_0x5917d0){function _0x3067c8(_0x446712,_0x2bb9ab){return _0x9531(_0x446712- -0x84,_0x2bb9ab);}let _0x2407d5=Cesium$7['Math'][_0x26db15(0x434,0x3fb)](Math[_0x3067c8(0x197,0x125)](_0x5917d0,_0x477f0c));function _0x26db15(_0x28014f,_0x4c4e6e){return _0x9531(_0x4c4e6e-0x15f,_0x28014f);}return _0x2407d5+=_0x2407d5<0x0?0x168:0x0,_0x2407d5;}const _0x2bbf8e={};_0x2bbf8e['__proto__']=null,_0x2bbf8e['getU']=getU,_0x2bbf8e['getV']=getV;function _0x437391(_0x1b479b,_0x55da19){return _0x9531(_0x55da19-0x3e4,_0x1b479b);}_0x2bbf8e['getSpeed']=getSpeed,_0x2bbf8e['getDirection']=getDirection;var WindUtil=_0x2bbf8e;const Cesium$6=mars3d__namespace[_0x437391(0x725,0x6d4)];class CustomPrimitive{constructor(_0x19baef){this['commandType']=_0x19baef['commandType'],this[_0xeeb54c(0x149,0x11d)]=_0x19baef['geometry'],this[_0x5af9dc(0x419,0x41b)]=_0x19baef[_0x5af9dc(0x419,0x3c5)],this['primitiveType']=_0x19baef['primitiveType'],this['uniformMap']=_0x19baef['uniformMap'],this['vertexShaderSource']=_0x19baef['vertexShaderSource'],this['fragmentShaderSource']=_0x19baef[_0x5af9dc(0x4ad,0x511)],this['rawRenderState']=_0x19baef[_0xeeb54c(0x1fe,0x1d2)],this['framebuffer']=_0x19baef['framebuffer'];function _0x5af9dc(_0x4fabf4,_0x2ddfd9){return _0x437391(_0x2ddfd9,_0x4fabf4- -0x1bc);}this['outputTexture']=_0x19baef[_0xeeb54c(0x163,0x17d)],this['autoClear']=_0x19baef['autoClear']??![],this[_0x5af9dc(0x4c3,0x449)]=_0x19baef['preExecute'],this['show']=!![],this[_0xeeb54c(0x1cc,0x1f8)]=undefined;function _0xeeb54c(_0x5b8587,_0x23e36f){return _0x437391(_0x5b8587,_0x23e36f- -0x4c7);}this[_0xeeb54c(0x13e,0x1b6)]=undefined,this['autoClear']&&(this['clearCommand']=new Cesium$6['ClearCommand']({'color':new Cesium$6['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this['framebuffer'],'pass':Cesium$6['Pass'][_0xeeb54c(0x1c9,0x1e1)]}));}['createCommand'](_0x21093f){function _0x29e28b(_0x493dbf,_0x350c5c){return _0x437391(_0x350c5c,_0x493dbf- -0xde);}function _0x42411f(_0x4e475b,_0x1f3ea6){return _0x437391(_0x1f3ea6,_0x4e475b- -0x367);}switch(this[_0x29e28b(0x5b5,0x5d9)]){case'Draw':{const _0x301a94=Cesium$6[_0x29e28b(0x51f,0x512)]['fromGeometry']({'context':_0x21093f,'geometry':this['geometry'],'attributeLocations':this['attributeLocations'],'bufferUsage':Cesium$6['BufferUsage'][_0x42411f(0x28e,0x308)]}),_0x375f71={};_0x375f71[_0x29e28b(0x510,0x4e6)]=_0x21093f,_0x375f71['attributeLocations']=this['attributeLocations'],_0x375f71[_0x29e28b(0x5e3,0x5dd)]=this['vertexShaderSource'],_0x375f71[_0x42411f(0x302,0x2f4)]=this['fragmentShaderSource'];const _0x193934=Cesium$6['ShaderProgram']['fromCache'](_0x375f71),_0x5641f0=Cesium$6[_0x29e28b(0x5c6,0x5ac)][_0x29e28b(0x4f4,0x496)](this['rawRenderState']);return new Cesium$6[(_0x29e28b(0x51e,0x4ac))]({'primitiveType':this['primitiveType'],'shaderProgram':_0x193934,'vertexArray':_0x301a94,'modelMatrix':Cesium$6['Matrix4']['IDENTITY'],'renderState':_0x5641f0,'uniformMap':this[_0x29e28b(0x53c,0x4bb)],'castShadows':![],'receiveShadows':![],'framebuffer':this[_0x29e28b(0x593,0x516)],'pass':Cesium$6[_0x42411f(0x264,0x2d9)][_0x42411f(0x341,0x385)],'pickOnly':!![],'owner':this});}case _0x42411f(0x345,0x2d7):{const _0x192185={};return _0x192185['owner']=this,_0x192185[_0x29e28b(0x58b,0x5ec)]=this['fragmentShaderSource'],_0x192185['uniformMap']=this['uniformMap'],_0x192185['outputTexture']=this[_0x29e28b(0x566,0x5d0)],_0x192185['persists']=!![],new Cesium$6[(_0x42411f(0x339,0x3b9))](_0x192185);}}}[_0x437391(0x5af,0x5d0)](_0x3200c0,_0x21df2d){this[_0x3ab447(0x275,0x286)]=_0x21df2d;function _0x4a9abc(_0x559005,_0x4a8d95){return _0x20001d(_0x4a8d95,_0x559005- -0x159);}const _0x594389=Cesium$6[_0x4a9abc(0x450,0x422)]['fromGeometry']({'context':_0x3200c0,'geometry':this[_0x4a9abc(0x437,0x46c)],'attributeLocations':this['attributeLocations'],'bufferUsage':Cesium$6[_0x3ab447(0x2d7,0x2aa)]['STATIC_DRAW']});function _0x3ab447(_0x102fbe,_0x16f049){return _0x20001d(_0x16f049,_0x102fbe- -0x31b);}this[_0x3ab447(0x350,0x390)]['vertexArray']=_0x594389;}[_0x437391(0x666,0x667)](_0x5e51f3){if(!this[_0xbb4543(0x391,0x329)])return;if(_0x5e51f3[_0x524356(-0x39,-0x4)]!==Cesium$6['SceneMode']['SCENE3D'])return;!Cesium$6[_0xbb4543(0x2e1,0x32b)](this['commandToExecute'])&&(this['commandToExecute']=this['createCommand'](_0x5e51f3[_0xbb4543(0x2ae,0x2c9)]));Cesium$6['defined'](this[_0x524356(-0x5b,0x21)])&&this['preExecute']();function _0x524356(_0xe5ae8b,_0x5c7095){return _0x437391(_0xe5ae8b,_0x5c7095- -0x65e);}Cesium$6[_0x524356(0x61,-0xe)](this['clearCommand'])&&_0x5e51f3[_0x524356(-0xed,-0x98)][_0xbb4543(0x379,0x36d)](this['clearCommand']);function _0xbb4543(_0x205feb,_0x2dcf08){return _0x20001d(_0x205feb,_0x2dcf08- -0x2d1);}_0x5e51f3['commandList']['push'](this[_0x524356(0xb1,0x61)]);}['isDestroyed'](){return![];}[_0x437391(0x5e3,0x5d4)](){if(this['clearCommand']){var _0x15209d,_0x599025;(_0x15209d=this['clearCommand'])!==null&&_0x15209d!==void 0x0&&_0x15209d[_0x562f16(0x418,0x413)]&&this[_0x2021f3(0x583,0x570)][_0x2021f3(0x56c,0x524)][_0x2021f3(0x4da,0x50d)](),(_0x599025=this['clearCommand'])!==null&&_0x599025!==void 0x0&&_0x599025['shaderProgram']&&this['clearCommand']['shaderProgram'][_0x2021f3(0x4da,0x518)](),delete this['clearCommand'];}function _0x2021f3(_0x135e34,_0x3b1715){return _0x437391(_0x3b1715,_0x135e34- -0xfa);}function _0x562f16(_0x2aeb27,_0x346297){return _0x437391(_0x346297,_0x2aeb27- -0x24e);}return this[_0x2021f3(0x5c5,0x576)]&&(this['commandToExecute'][_0x562f16(0x418,0x392)]&&this['commandToExecute']['vertexArray']['destroy'](),this['commandToExecute'][_0x2021f3(0x58a,0x530)]&&this['commandToExecute'][_0x2021f3(0x58a,0x591)][_0x562f16(0x386,0x31c)](),delete this[_0x2021f3(0x5c5,0x63a)]),Cesium$6[_0x2021f3(0x559,0x4d8)](this);}}const Cesium$5=mars3d__namespace[_0x437391(0x67e,0x6d4)],Util=(function(){const _0x5113a6=function(){const _0x45636f=new Cesium$5['Geometry']({'attributes':new Cesium$5['GeometryAttributes']({'position':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});return _0x45636f;},_0x4e21b2=function(_0x359c35,_0xc5f1e3){if(Cesium$5['defined'](_0xc5f1e3)){const _0xf9475e={};_0xf9475e['arrayBufferView']=_0xc5f1e3,_0x359c35['source']=_0xf9475e;}const _0x18e1f7=new Cesium$5['Texture'](_0x359c35);return _0x18e1f7;},_0x426e4f=function(_0x34fbb0,_0x4accd0,_0x33f054){const _0x384c93={};_0x384c93[_0x5d3906(0x41e,0x41a)]=_0x34fbb0;function _0x5d3906(_0x1cdfc2,_0x1e3898){return _0x9531(_0x1e3898-0x210,_0x1cdfc2);}_0x384c93['colorTextures']=[_0x4accd0];function _0x4f659c(_0x4e1efd,_0x1f9b23){return _0x9531(_0x4e1efd-0x2dd,_0x1f9b23);}_0x384c93[_0x4f659c(0x4c5,0x46f)]=_0x33f054;const _0x20573b=new Cesium$5['Framebuffer'](_0x384c93);return _0x20573b;},_0x4cdd28=function(_0x586bd9){const _0xadf52e=!![];function _0x5687b5(_0x473387,_0x1e884e){return _0x9531(_0x473387- -0x239,_0x1e884e);}const _0x4cb495=![],_0x5ccc41={};_0x5ccc41[_0x5687b5(0x48,0xb3)]=_0x586bd9['viewport'];function _0x595697(_0x10d0bc,_0x61dbc7){return _0x9531(_0x10d0bc- -0x128,_0x61dbc7);}_0x5ccc41['depthTest']=_0x586bd9['depthTest'],_0x5ccc41['depthMask']=_0x586bd9['depthMask'],_0x5ccc41[_0x595697(0x1a5,0x140)]=_0x586bd9['blending'];const _0x1f4ba0=_0x5ccc41,_0x4a175d=Cesium$5['Appearance'][_0x595697(0xe5,0x97)](_0xadf52e,_0x4cb495,_0x1f4ba0);return _0x4a175d;},_0x4cc6b3=function(_0x30912e){const _0x4cab3b={},_0x23ff9d=Cesium$5[_0x35e045(0x258,0x26f)][_0x35e045(0x22e,0x2a2)](_0x30912e['west'],Cesium$5[_0xe95473(0x2f,0x2e)]['TWO_PI']),_0x78c8f3=Cesium$5['Math'][_0x35e045(0x22e,0x2b3)](_0x30912e['east'],Cesium$5['Math'][_0xe95473(0x95,0x87)]),_0x7a78eb=_0x30912e['width'];let _0x326c50,_0x3db79a;_0x7a78eb>Cesium$5[_0xe95473(-0x45,0x2e)]['THREE_PI_OVER_TWO']?(_0x326c50=0x0,_0x3db79a=Cesium$5[_0x35e045(0x258,0x218)]['TWO_PI']):_0x78c8f3-_0x23ff9d<_0x7a78eb?(_0x326c50=_0x23ff9d,_0x3db79a=_0x23ff9d+_0x7a78eb):(_0x326c50=_0x23ff9d,_0x3db79a=_0x78c8f3);_0x4cab3b['lon']={'min':Cesium$5['Math']['toDegrees'](_0x326c50),'max':Cesium$5[_0xe95473(0x2b,0x2e)][_0x35e045(0x2d0,0x2d6)](_0x3db79a)};const _0x4d534b=_0x30912e['south'],_0x18bd03=_0x30912e[_0x35e045(0x2e5,0x25a)],_0x3543fd=_0x30912e[_0x35e045(0x25b,0x27b)],_0x4e4c7e=_0x3543fd>Cesium$5['Math']['PI']/0xc?_0x3543fd/0x2:0x0;let _0x5632fe=Cesium$5['Math']['clampToLatitudeRange'](_0x4d534b-_0x4e4c7e);function _0x35e045(_0x108629,_0x56ff7a){return _0x9531(_0x108629-0x34,_0x56ff7a);}let _0x55168b=Cesium$5['Math']['clampToLatitudeRange'](_0x18bd03+_0x4e4c7e);_0x5632fe<-Cesium$5['Math']['PI_OVER_THREE']&&(_0x5632fe=-Cesium$5['Math']['PI_OVER_TWO']);function _0xe95473(_0x3cec97,_0xd20abf){return _0x9531(_0xd20abf- -0x1f6,_0x3cec97);}return _0x55168b>Cesium$5[_0x35e045(0x258,0x223)]['PI_OVER_THREE']&&(_0x55168b=Cesium$5[_0xe95473(0x5,0x2e)]['PI_OVER_TWO']),_0x4cab3b[_0x35e045(0x270,0x2f1)]={'min':Cesium$5['Math']['toDegrees'](_0x5632fe),'max':Cesium$5['Math'][_0x35e045(0x2d0,0x33d)](_0x55168b)},_0x4cab3b;},_0x406633={};_0x406633['getFullscreenQuad']=_0x5113a6,_0x406633['createTexture']=_0x4e21b2,_0x406633['createFramebuffer']=_0x426e4f,_0x406633['createRawRenderState']=_0x4cdd28,_0x406633[_0x269320(-0xe5,-0x14a)]=_0x4cc6b3;function _0x269320(_0x37ee83,_0x53af24){return _0x20001d(_0x53af24,_0x37ee83- -0x6d2);}return _0x406633;}());var segmentDraw_vert=_0x437391(0x5e0,0x623),segmentDraw_frag='uniform\x20sampler2D\x20colorTable;\x0a\x0ain\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20texture(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}\x0a',fullscreen_vert='in\x20vec3\x20position;\x0ain\x20vec2\x20st;\x0a\x0aout\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20textureCoordinate\x20=\x20st;\x0a\x20\x20\x20\x20gl_Position\x20=\x20vec4(position,\x201.0);\x0a}\x0a',trailDraw_frag='uniform\x20sampler2D\x20segmentsColorTexture;\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0a\x0auniform\x20sampler2D\x20currentTrailsColor;\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0a\x0auniform\x20float\x20fadeOpacity;\x0a\x0ain\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture(segmentsColorTexture,\x20textureCoordinate);\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture(currentTrailsColor,\x20textureCoordinate);\x0a\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\x0a\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture(segmentsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture(trailsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture(czm_globeDepthTexture,\x20textureCoordinate));\x0a\x0a\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20out_FragColor\x20+\x20pointsColor;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20out_FragColor\x20+\x20trailsColor;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20gl_FragDepth\x20=\x20min(pointsDepth,\x20trailsDepth);\x0a}\x0a',screenDraw_frag='uniform\x20sampler2D\x20trailsColorTexture;\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0a\x0ain\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture(trailsColorTexture,\x20textureCoordinate);\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture(trailsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture(czm_globeDepthTexture,\x20textureCoordinate));\x0a\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20trailsColor;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x0a}\x0a';const Cesium$4=mars3d__namespace[_0x437391(0x755,0x6d4)];class ParticlesRendering{constructor(_0x1bf565,_0x535c7d,_0x2487e7,_0x42cb8,_0x4a811c){this['createRenderingTextures'](_0x1bf565,_0x535c7d,_0x2487e7['colors']),this['createRenderingFramebuffers'](_0x1bf565),this['createRenderingPrimitives'](_0x1bf565,_0x2487e7,_0x42cb8,_0x4a811c);}['createRenderingTextures'](_0x3dadc0,_0x4a04e4,_0x2065b6){function _0x39e437(_0x4d94aa,_0x335ff0){return _0x437391(_0x335ff0,_0x4d94aa- -0x2fc);}const _0x5681cf={};_0x5681cf['context']=_0x3dadc0,_0x5681cf[_0x57e8f2(0x441,0x474)]=_0x3dadc0['drawingBufferWidth'],_0x5681cf['height']=_0x3dadc0[_0x39e437(0x3b2,0x371)],_0x5681cf['pixelFormat']=Cesium$4[_0x39e437(0x306,0x298)]['RGBA'],_0x5681cf['pixelDatatype']=Cesium$4[_0x57e8f2(0x4a5,0x513)]['UNSIGNED_BYTE'];const _0x29f237=_0x5681cf,_0x410599={};_0x410599['context']=_0x3dadc0,_0x410599['width']=_0x3dadc0['drawingBufferWidth'];function _0x57e8f2(_0x41cb77,_0x4f2d12){return _0x20001d(_0x4f2d12,_0x41cb77- -0x197);}_0x410599[_0x57e8f2(0x420,0x40a)]=_0x3dadc0['drawingBufferHeight'],_0x410599['pixelFormat']=Cesium$4[_0x57e8f2(0x417,0x408)][_0x39e437(0x309,0x35e)],_0x410599['pixelDatatype']=Cesium$4[_0x39e437(0x394,0x3eb)][_0x39e437(0x355,0x359)];const _0x3452ee=_0x410599,_0x257a95=_0x2065b6['length'],_0x26b451=new Float32Array(_0x257a95*0x3);for(let _0x196e95=0x0;_0x196e95<_0x257a95;_0x196e95++){const _0x2d8769=Cesium$4[_0x39e437(0x32b,0x3a1)]['fromCssColorString'](_0x2065b6[_0x196e95]);_0x26b451[0x3*_0x196e95]=_0x2d8769['red'],_0x26b451[0x3*_0x196e95+0x1]=_0x2d8769['green'],_0x26b451[0x3*_0x196e95+0x2]=_0x2d8769['blue'];}const _0x4fb48a={'context':_0x3dadc0,'width':_0x257a95,'height':0x1,'pixelFormat':Cesium$4[_0x57e8f2(0x417,0x3ea)][_0x39e437(0x35a,0x377)],'pixelDatatype':Cesium$4['PixelDatatype']['FLOAT'],'sampler':new Cesium$4['Sampler']({'minificationFilter':Cesium$4['TextureMinificationFilter'][_0x39e437(0x3d7,0x41f)],'magnificationFilter':Cesium$4[_0x39e437(0x2d3,0x24e)][_0x57e8f2(0x4e8,0x4b4)]})};this[_0x39e437(0x304,0x2aa)]={'segmentsColor':Util['createTexture'](_0x29f237),'segmentsDepth':Util['createTexture'](_0x3452ee),'currentTrailsColor':Util[_0x57e8f2(0x462,0x4dd)](_0x29f237),'currentTrailsDepth':Util[_0x57e8f2(0x462,0x40c)](_0x3452ee),'nextTrailsColor':Util['createTexture'](_0x29f237),'nextTrailsDepth':Util['createTexture'](_0x3452ee),'colorTable':Util['createTexture'](_0x4fb48a,_0x26b451)};}['createRenderingFramebuffers'](_0x36565d){function _0x19b48f(_0x418c5d,_0x2f5f6f){return _0x20001d(_0x418c5d,_0x2f5f6f- -0x53d);}function _0x23afc1(_0x5babe3,_0x4b2847){return _0x437391(_0x5babe3,_0x4b2847- -0x765);}this['framebuffers']={'segments':Util['createFramebuffer'](_0x36565d,this['textures'][_0x23afc1(-0x124,-0x106)],this['textures'][_0x19b48f(0xcd,0x7e)]),'currentTrails':Util['createFramebuffer'](_0x36565d,this[_0x23afc1(-0x17c,-0x165)]['currentTrailsColor'],this['textures']['currentTrailsDepth']),'nextTrails':Util[_0x19b48f(0xf5,0x11a)](_0x36565d,this[_0x23afc1(-0x16b,-0x165)][_0x23afc1(-0x11d,-0x1a5)],this['textures'][_0x23afc1(-0x1cb,-0x16a)])};}['createSegmentsGeometry'](_0x25d4b1){const _0x7120e0=0x4;let _0x455775=[];function _0x494a1f(_0x31cce3,_0x573d55){return _0x20001d(_0x31cce3,_0x573d55- -0x263);}for(let _0x23b04a=0x0;_0x23b04a<_0x25d4b1[_0x494a1f(0x432,0x3b7)];_0x23b04a++){for(let _0x20caba=0x0;_0x20caba<_0x25d4b1['particlesTextureSize'];_0x20caba++){for(let _0x5d6633=0x0;_0x5d6633<_0x7120e0;_0x5d6633++){_0x455775['push'](_0x23b04a/_0x25d4b1['particlesTextureSize']),_0x455775[_0x494a1f(0x460,0x3db)](_0x20caba/_0x25d4b1[_0x1ff3f3(0x528,0x5a6)]);}}}_0x455775=new Float32Array(_0x455775);let _0x3a0289=[];const _0x4574af=[-0x1,0x1];function _0x1ff3f3(_0x2b34bc,_0xfbf72e){return _0x437391(_0x2b34bc,_0xfbf72e- -0xc8);}const _0x5b180d=[-0x1,0x1];for(let _0x3fcf8b=0x0;_0x3fcf8b<_0x25d4b1['maxParticles'];_0x3fcf8b++){for(let _0x2c5660=0x0;_0x2c5660<_0x7120e0/0x2;_0x2c5660++){for(let _0x42f4d7=0x0;_0x42f4d7<_0x7120e0/0x2;_0x42f4d7++){_0x3a0289['push'](_0x4574af[_0x2c5660]),_0x3a0289[_0x494a1f(0x3c6,0x3db)](_0x5b180d[_0x42f4d7]),_0x3a0289[_0x494a1f(0x3cb,0x3db)](0x0);}}}_0x3a0289=new Float32Array(_0x3a0289);const _0x52a734=0x6*_0x25d4b1[_0x1ff3f3(0x495,0x4fc)],_0x56164b=new Uint32Array(_0x52a734);for(let _0x59f2b6=0x0,_0x1738be=0x0,_0x410c44=0x0;_0x59f2b6<_0x25d4b1['maxParticles'];_0x59f2b6++){_0x56164b[_0x1738be++]=_0x410c44+0x0,_0x56164b[_0x1738be++]=_0x410c44+0x1,_0x56164b[_0x1738be++]=_0x410c44+0x2,_0x56164b[_0x1738be++]=_0x410c44+0x2,_0x56164b[_0x1738be++]=_0x410c44+0x1,_0x56164b[_0x1738be++]=_0x410c44+0x3,_0x410c44+=0x4;}const _0x2afc60=new Cesium$4['Geometry']({'attributes':new Cesium$4[(_0x1ff3f3(0x540,0x576))]({'st':new Cesium$4[(_0x1ff3f3(0x571,0x572))]({'componentDatatype':Cesium$4[_0x494a1f(0x35b,0x3d6)][_0x494a1f(0x40f,0x3fb)],'componentsPerAttribute':0x2,'values':_0x455775}),'normal':new Cesium$4['GeometryAttribute']({'componentDatatype':Cesium$4['ComponentDatatype'][_0x494a1f(0x3c8,0x3fb)],'componentsPerAttribute':0x3,'values':_0x3a0289})}),'indices':_0x56164b});return _0x2afc60;}['createRenderingPrimitives'](_0x369349,_0x778875,_0x567cdf,_0x5de2a8){const _0x1409ac=this,_0x38586a={};function _0x42b2c9(_0x1f0abd,_0x331946){return _0x437391(_0x331946,_0x1f0abd- -0x58a);}_0x38586a['st']=0x0,_0x38586a[_0x12b133(0x1b2,0x1a9)]=0x1;const _0x2eb19f={};_0x2eb19f[_0x12b133(0x1d2,0x22c)]=[segmentDraw_vert];const _0x23745b={};_0x23745b['sources']=[segmentDraw_frag];const _0x266b6a={};_0x266b6a['enabled']=!![];const _0x3bd990={};_0x3bd990[_0x42b2c9(0xdb,0xc2)]=undefined,_0x3bd990[_0x12b133(0x183,0x183)]=_0x266b6a,_0x3bd990['depthMask']=!![];const _0x31ecab={};_0x31ecab['position']=0x0,_0x31ecab['st']=0x1;const _0x421479={};_0x421479['defines']=['DISABLE_GL_POSITION_LOG_DEPTH'],_0x421479['sources']=[fullscreen_vert];const _0x50efe6={};_0x50efe6[_0x42b2c9(0x10a,0xae)]=['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],_0x50efe6['sources']=[trailDraw_frag];const _0x2d6b74={};_0x2d6b74['position']=0x0,_0x2d6b74['st']=0x1;const _0x2a59ba={};_0x2a59ba['defines']=['DISABLE_GL_POSITION_LOG_DEPTH'];function _0x12b133(_0x412a0b,_0x396c73){return _0x437391(_0x412a0b,_0x396c73- -0x49e);}_0x2a59ba['sources']=[fullscreen_vert];const _0x5e9770={};_0x5e9770[_0x42b2c9(0x10a,0xd2)]=['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],_0x5e9770['sources']=[screenDraw_frag];const _0x38733d={};_0x38733d['enabled']=![];const _0x116a18={};_0x116a18[_0x42b2c9(0x94,0x31)]=!![],this['primitives']={'segments':new CustomPrimitive({'commandType':_0x12b133(0x28a,0x21d),'attributeLocations':_0x38586a,'geometry':this[_0x12b133(0x12c,0x18f)](_0x778875),'primitiveType':Cesium$4[_0x42b2c9(0x8c,0xdd)][_0x42b2c9(0x69,0x69)],'uniformMap':{'currentParticlesPosition':function(){function _0x3f446a(_0x4b3f1b,_0x51c912){return _0x12b133(_0x51c912,_0x4b3f1b-0x212);}return _0x5de2a8['particlesTextures'][_0x3f446a(0x396,0x410)];},'postProcessingPosition':function(){function _0x2ae765(_0x55b487,_0x3a7534){return _0x42b2c9(_0x55b487-0x48a,_0x3a7534);}return _0x5de2a8[_0x2ae765(0x59b,0x597)]['postProcessingPosition'];},'postProcessingSpeed':function(){return _0x5de2a8['particlesTextures']['postProcessingSpeed'];},'colorTable':function(){function _0x3d10b0(_0x4075fb,_0x6b6635){return _0x12b133(_0x4075fb,_0x6b6635- -0x207);}function _0x45f549(_0xd0863b,_0x5bd3a1){return _0x12b133(_0xd0863b,_0x5bd3a1- -0x21);}return _0x1409ac[_0x3d10b0(-0xaa,-0xa5)][_0x3d10b0(-0x36,-0x81)];},'aspect':function(){function _0x47f191(_0x242f9f,_0x62d706){return _0x42b2c9(_0x62d706-0x58,_0x242f9f);}return _0x369349['drawingBufferWidth']/_0x369349[_0x47f191(0xfb,0x17c)];},'pixelSize':function(){return _0x567cdf['pixelSize'];},'lineWidth':function(){return _0x778875['lineWidth'];},'particleHeight':function(){function _0x3e702d(_0x35fc49,_0x5a2eb7){return _0x42b2c9(_0x5a2eb7-0x467,_0x35fc49);}return _0x778875[_0x3e702d(0x524,0x4a5)];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x2eb19f),'fragmentShaderSource':new Cesium$4[(_0x12b133(0x1d4,0x173))](_0x23745b),'rawRenderState':Util['createRawRenderState'](_0x3bd990),'framebuffer':this[_0x12b133(0x24b,0x1c0)]['segments'],'autoClear':!![]}),'trails':new CustomPrimitive({'commandType':_0x42b2c9(0x131,0x168),'attributeLocations':_0x31ecab,'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4['PrimitiveType'][_0x12b133(0x1aa,0x155)],'uniformMap':{'segmentsColorTexture':function(){function _0x381ef4(_0x23bfa3,_0x1d65ad){return _0x12b133(_0x23bfa3,_0x1d65ad-0x30d);}return _0x1409ac[_0x381ef4(0x47e,0x46f)]['segmentsColor'];},'segmentsDepthTexture':function(){function _0x137b85(_0x188e0d,_0x435e07){return _0x12b133(_0x188e0d,_0x435e07- -0x4a);}return _0x1409ac[_0x137b85(0x106,0x118)]['segmentsDepth'];},'currentTrailsColor':function(){function _0x5a6abb(_0x3712b1,_0x2b5f64){return _0x42b2c9(_0x2b5f64-0x39f,_0x3712b1);}return _0x1409ac['framebuffers'][_0x5a6abb(0x3d6,0x444)]['getColorTexture'](0x0);},'trailsDepthTexture':function(){function _0xe80117(_0x8ee97e,_0x18fb05){return _0x12b133(_0x18fb05,_0x8ee97e-0x312);}return _0x1409ac['framebuffers']['currentTrails'][_0xe80117(0x440,0x41e)];},'fadeOpacity':function(){return _0x778875['fadeOpacity'];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x421479),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x50efe6),'rawRenderState':Util[_0x12b133(0x1b6,0x230)]({'viewport':undefined,'depthTest':{'enabled':!![],'func':Cesium$4['DepthFunction']['ALWAYS']},'depthMask':!![]}),'framebuffer':this[_0x42b2c9(0xd4,0x137)]['nextTrails'],'autoClear':!![],'preExecute':function(){const _0x5d7388=_0x1409ac[_0xc3b398(0x5cf,0x575)]['currentTrails'];_0x1409ac['framebuffers']['currentTrails']=_0x1409ac[_0x53bc08(0x106,0x111)]['nextTrails'];function _0x53bc08(_0x54fb9b,_0x4e0b5e){return _0x42b2c9(_0x54fb9b-0x32,_0x4e0b5e);}function _0xc3b398(_0x4ed26d,_0x142aa1){return _0x42b2c9(_0x142aa1-0x4a1,_0x4ed26d);}_0x1409ac[_0xc3b398(0x514,0x575)]['nextTrails']=_0x5d7388,_0x1409ac[_0x53bc08(0x95,0xb9)]['trails']['commandToExecute']['framebuffer']=_0x1409ac[_0x53bc08(0x106,0x10f)]['nextTrails'],_0x1409ac['primitives']['trails'][_0xc3b398(0x5db,0x594)]['framebuffer']=_0x1409ac['framebuffers']['nextTrails'];}}),'screen':new CustomPrimitive({'commandType':'Draw','attributeLocations':_0x2d6b74,'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4['PrimitiveType']['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){function _0x373526(_0x57b66b,_0x1fa0b1){return _0x42b2c9(_0x57b66b-0x1b5,_0x1fa0b1);}return _0x1409ac[_0x373526(0x289,0x22a)]['nextTrails']['getColorTexture'](0x0);},'trailsDepthTexture':function(){function _0xba389c(_0x57936a,_0xe53dc8){return _0x42b2c9(_0x57936a- -0x1a3,_0xe53dc8);}function _0x23626a(_0x13a381,_0x13a724){return _0x12b133(_0x13a724,_0x13a381-0x3a9);}return _0x1409ac['framebuffers'][_0xba389c(-0xf8,-0xbf)][_0x23626a(0x4d7,0x49a)];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x2a59ba),'fragmentShaderSource':new Cesium$4[(_0x42b2c9(0x87,0x3a))](_0x5e9770),'rawRenderState':Util[_0x12b133(0x1e2,0x230)]({'viewport':undefined,'depthTest':_0x38733d,'depthMask':!![],'blending':_0x116a18}),'framebuffer':undefined})};}}var getWind_frag='//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\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\x0ain\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=\x20texture(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=\x20texture(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20bicubic(lonLatLev);\x0a\x20\x20\x20\x20out_FragColor\x20=\x20vec4(windVector,\x200.0);\x0a}\x0a',updateSpeed_frag='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\x0ain\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\x20//\x20vec3\x20currentSpeed\x20=\x20texture(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindNorm(windVector));\x0a\x20\x20\x20\x20out_FragColor\x20=\x20nextSpeed;\x0a}\x0a',updatePosition_frag=_0x20001d(0x6af,0x678),postProcessingPosition_frag=_0x20001d(0x549,0x5c5),postProcessingSpeed_frag='uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}\x0a';const Cesium$3=mars3d__namespace['Cesium'];class ParticlesComputing{constructor(_0x402c71,_0x47a238,_0x8861c9,_0x408d38){this['data']=_0x47a238,this[_0x189210(0x17b,0x1a2)](_0x402c71,_0x47a238),this['createParticlesTextures'](_0x402c71,_0x8861c9,_0x408d38);function _0x189210(_0x580322,_0x1ef6ea){return _0x437391(_0x1ef6ea,_0x580322- -0x475);}this['createComputingPrimitives'](_0x47a238,_0x8861c9,_0x408d38);}[_0x437391(0x5b8,0x5f0)](_0x9235fc,_0x4ce054){function _0x363af6(_0x1d4d46,_0x4c9d8c){return _0x437391(_0x1d4d46,_0x4c9d8c- -0x411);}function _0x11861b(_0x4f8df7,_0x5a5c32){return _0x437391(_0x5a5c32,_0x4f8df7- -0x107);}const _0x473379={'context':_0x9235fc,'width':_0x4ce054['dimensions'][_0x363af6(0x151,0x1b9)],'height':_0x4ce054['dimensions']['lat']*(_0x4ce054['dimensions']['lev']||0x1),'pixelFormat':Cesium$3['PixelFormat']['LUMINANCE'],'pixelDatatype':Cesium$3['PixelDatatype']['FLOAT'],'flipY':![],'sampler':new Cesium$3['Sampler']({'minificationFilter':Cesium$3['TextureMinificationFilter'][_0x11861b(0x4ff,0x4bf)],'magnificationFilter':Cesium$3[_0x363af6(0x243,0x1be)][_0x363af6(0x224,0x1f5)]})};this['windTextures']={'U':Util[_0x11861b(0x546,0x4cd)](_0x473379,_0x4ce054['U'][_0x363af6(0x162,0x1e7)]),'V':Util['createTexture'](_0x473379,_0x4ce054['V'][_0x11861b(0x4f1,0x514)])};}[_0x437391(0x66d,0x63b)](_0x5d1e6d,_0x19ee8e,_0x4fdb00){const _0x175781={'context':_0x5d1e6d,'width':_0x19ee8e['particlesTextureSize'],'height':_0x19ee8e[_0x2135bd(0x39e,0x36d)],'pixelFormat':Cesium$3[_0x24cfac(0x4fb,0x49d)][_0x2135bd(0x2b5,0x2cd)],'pixelDatatype':Cesium$3[_0x2135bd(0x3a5,0x38f)][_0x24cfac(0x5ab,0x598)],'flipY':![],'sampler':new Cesium$3['Sampler']({'minificationFilter':Cesium$3['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium$3[_0x24cfac(0x4c8,0x53c)][_0x2135bd(0x306,0x305)]})};function _0x24cfac(_0x367012,_0x2a2f5a){return _0x437391(_0x2a2f5a,_0x367012- -0x107);}function _0x2135bd(_0x69ae07,_0x3ee1d2){return _0x437391(_0x69ae07,_0x3ee1d2- -0x301);}const _0xc8c4ae=this[_0x24cfac(0x5c1,0x597)](_0x19ee8e['maxParticles'],_0x4fdb00),_0x45323a=new Float32Array(0x4*_0x19ee8e[_0x2135bd(0x2e1,0x2c3)])['fill'](0x0);this[_0x24cfac(0x594,0x537)]={'particlesWind':Util[_0x2135bd(0x322,0x34c)](_0x175781),'currentParticlesPosition':Util['createTexture'](_0x175781,_0xc8c4ae),'nextParticlesPosition':Util['createTexture'](_0x175781,_0xc8c4ae),'currentParticlesSpeed':Util[_0x24cfac(0x546,0x521)](_0x175781,_0x45323a),'nextParticlesSpeed':Util['createTexture'](_0x175781,_0x45323a),'postProcessingPosition':Util['createTexture'](_0x175781,_0xc8c4ae),'postProcessingSpeed':Util['createTexture'](_0x175781,_0x45323a)};}['randomizeParticles'](_0xcc6ecc,_0x3e8f19){function _0x4c5225(_0x3174c1,_0x4cdcb3){return _0x437391(_0x3174c1,_0x4cdcb3- -0x2df);}const _0x5f3929=new Float32Array(0x4*_0xcc6ecc);function _0x54fb27(_0xd92308,_0x1119b7){return _0x437391(_0xd92308,_0x1119b7- -0x5dd);}for(let _0x14015b=0x0;_0x14015b<_0xcc6ecc;_0x14015b++){_0x5f3929[0x4*_0x14015b]=Cesium$3['Math']['randomBetween'](_0x3e8f19['lonRange']['x'],_0x3e8f19['lonRange']['y']),_0x5f3929[0x4*_0x14015b+0x1]=Cesium$3['Math']['randomBetween'](_0x3e8f19['latRange']['x'],_0x3e8f19['latRange']['y']),_0x5f3929[0x4*_0x14015b+0x2]=Cesium$3['Math']['randomBetween'](this['data'][_0x54fb27(0x177,0xee)][_0x54fb27(0xcd,0x7c)],this['data'][_0x54fb27(0x146,0xee)]['max']),_0x5f3929[0x4*_0x14015b+0x3]=0x0;}return _0x5f3929;}['destroyParticlesTextures'](){function _0x5e19dc(_0x2d9bca,_0x487857){return _0x437391(_0x2d9bca,_0x487857- -0x145);}Object['keys'](this[_0x5e19dc(0x561,0x556)])['forEach'](_0x5318fa=>{this['particlesTextures'][_0x5318fa]['destroy']();});}[_0x437391(0x628,0x629)](_0x18fb41,_0x459d89,_0x187189){const _0x3ba965=new Cesium$3['Cartesian3'](_0x18fb41['dimensions']['lon'],_0x18fb41['dimensions']['lat'],_0x18fb41['dimensions']['lev']),_0x217a0c=new Cesium$3['Cartesian3'](_0x18fb41['lon']['min'],_0x18fb41['lat']['min'],_0x18fb41['lev'][_0x5626f3(-0x22,0x63)]),_0x40e15c=new Cesium$3[(_0x2aa746(0x589,0x614))](_0x18fb41['lon']['max'],_0x18fb41['lat'][_0x5626f3(0x0,-0x14)],_0x18fb41['lev'][_0x2aa746(0x60a,0x68a)]),_0x3b2874=new Cesium$3[(_0x5626f3(-0x81,-0xf0))]((_0x40e15c['x']-_0x217a0c['x'])/(_0x3ba965['x']-0x1),(_0x40e15c['y']-_0x217a0c['y'])/(_0x3ba965['y']-0x1),_0x3ba965['z']>0x1?(_0x40e15c['z']-_0x217a0c['z'])/(_0x3ba965['z']-0x1):0x1),_0x2e3861=new Cesium$3['Cartesian2'](_0x18fb41['U'][_0x2aa746(0x5e8,0x626)],_0x18fb41['U']['max']),_0x5c1cc4=new Cesium$3['Cartesian2'](_0x18fb41['V']['min'],_0x18fb41['V'][_0x5626f3(0x0,0x20)]),_0x30b264=this,_0x4492e3={};_0x4492e3['U']=function(){function _0x50bffd(_0x4d400d,_0x3f6b3a){return _0x2aa746(_0x3f6b3a- -0x37c,_0x4d400d);}return _0x30b264[_0x50bffd(0x2c3,0x2d9)]['U'];},_0x4492e3['V']=function(){function _0x5cb4a5(_0x3482c0,_0x3a870a){return _0x5626f3(_0x3a870a-0x3e7,_0x3482c0);}return _0x30b264[_0x5cb4a5(0x3e2,0x432)]['V'];},_0x4492e3['currentParticlesPosition']=function(){return _0x30b264['particlesTextures']['currentParticlesPosition'];},_0x4492e3['dimension']=function(){return _0x3ba965;},_0x4492e3['minimum']=function(){return _0x217a0c;},_0x4492e3[_0x2aa746(0x5b7,0x5c9)]=function(){return _0x40e15c;};function _0x5626f3(_0x27eaeb,_0x4cea76){return _0x437391(_0x4cea76,_0x27eaeb- -0x67b);}_0x4492e3['interval']=function(){return _0x3b2874;};const _0x4b1b77={};_0x4b1b77['sources']=[getWind_frag];const _0x1c453a={};_0x1c453a['sources']=[updateSpeed_frag];const _0xeb7f3f={};_0xeb7f3f[_0x5626f3(0x4f,0x26)]=[updatePosition_frag];const _0x556c7e={};_0x556c7e['sources']=[postProcessingPosition_frag];const _0x2f0416={};function _0x2aa746(_0x1bd04e,_0xaaa556){return _0x437391(_0xaaa556,_0x1bd04e- -0x71);}_0x2f0416['sources']=[postProcessingSpeed_frag],this['primitives']={'getWind':new CustomPrimitive({'commandType':_0x2aa746(0x63b,0x642),'uniformMap':_0x4492e3,'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x4b1b77),'outputTexture':this['particlesTextures']['particlesWind'],'preExecute':function(){function _0x2bc17c(_0x94782c,_0x575427){return _0x5626f3(_0x575427-0x514,_0x94782c);}function _0x1b1f75(_0x1a3ac4,_0x4712ec){return _0x5626f3(_0x1a3ac4-0x582,_0x4712ec);}_0x30b264[_0x1b1f75(0x4f4,0x515)][_0x1b1f75(0x5c9,0x58a)]['commandToExecute']['outputTexture']=_0x30b264[_0x1b1f75(0x5a2,0x621)]['particlesWind'];}}),'updateSpeed':new CustomPrimitive({'commandType':'Compute','uniformMap':{'currentParticlesSpeed':function(){function _0x450e2b(_0x2fdd36,_0x425379){return _0x2aa746(_0x2fdd36- -0x304,_0x425379);}return _0x30b264['particlesTextures'][_0x450e2b(0x2f3,0x27b)];},'particlesWind':function(){function _0x518414(_0x3cf380,_0x13a996){return _0x2aa746(_0x13a996- -0x724,_0x3cf380);}function _0x212ef6(_0x1b3dfe,_0x1ddae9){return _0x5626f3(_0x1ddae9-0x3d2,_0x1b3dfe);}return _0x30b264[_0x518414(-0x97,-0xfa)][_0x518414(-0x108,-0x15d)];},'uSpeedRange':function(){return _0x2e3861;},'vSpeedRange':function(){return _0x5c1cc4;},'pixelSize':function(){return _0x187189['pixelSize'];},'speedFactor':function(){function _0x288fd2(_0x174e64,_0x1eec9c){return _0x2aa746(_0x1eec9c- -0x5ae,_0x174e64);}return _0x459d89[_0x288fd2(0xc8,0x7b)];}},'fragmentShaderSource':new Cesium$3[(_0x5626f3(-0x6a,-0xd3))](_0x1c453a),'outputTexture':this[_0x2aa746(0x62a,0x5c8)]['nextParticlesSpeed'],'preExecute':function(){const _0xb98b52=_0x30b264['particlesTextures']['currentParticlesSpeed'];_0x30b264[_0x24518e(0xbe,0x3e)][_0x3331e3(0x4,-0x7e)]=_0x30b264['particlesTextures']['postProcessingSpeed'],_0x30b264[_0x3331e3(-0xb4,-0x4b)][_0x24518e(0x95,0xbe)]=_0xb98b52;function _0x3331e3(_0xe8ddbf,_0x370989){return _0x5626f3(_0x370989- -0x6b,_0xe8ddbf);}function _0x24518e(_0x2a3023,_0x595ed6){return _0x5626f3(_0x2a3023-0x9e,_0x595ed6);}_0x30b264['primitives'][_0x24518e(0x55,0x27)][_0x3331e3(-0x3,-0x27)][_0x3331e3(-0xef,-0xa2)]=_0x30b264['particlesTextures']['nextParticlesSpeed'];}}),'updatePosition':new CustomPrimitive({'commandType':_0x2aa746(0x63b,0x5c8),'uniformMap':{'currentParticlesPosition':function(){function _0x60bab6(_0x5a1208,_0x1e2482){return _0x5626f3(_0x5a1208- -0x13a,_0x1e2482);}return _0x30b264['particlesTextures'][_0x60bab6(-0x193,-0x1c9)];},'currentParticlesSpeed':function(){return _0x30b264['particlesTextures']['currentParticlesSpeed'];}},'fragmentShaderSource':new Cesium$3['ShaderSource'](_0xeb7f3f),'outputTexture':this['particlesTextures']['nextParticlesPosition'],'preExecute':function(){const _0x534ec8=_0x30b264['particlesTextures']['currentParticlesPosition'];_0x30b264[_0x53b91a(0x468,0x4a7)][_0x53b91a(0x3ef,0x418)]=_0x30b264[_0x53b91a(0x468,0x4ee)]['postProcessingPosition'];function _0x53b91a(_0x394c16,_0x5a7cec){return _0x5626f3(_0x394c16-0x448,_0x5a7cec);}_0x30b264[_0x53b91a(0x468,0x4a3)]['postProcessingPosition']=_0x534ec8;function _0x4f391a(_0x321244,_0x17518d){return _0x5626f3(_0x17518d-0x261,_0x321244);}_0x30b264['primitives'][_0x4f391a(0x2d7,0x285)]['commandToExecute']['outputTexture']=_0x30b264[_0x53b91a(0x468,0x4ec)][_0x4f391a(0x1e2,0x229)];}}),'postProcessingPosition':new CustomPrimitive({'commandType':'Compute','uniformMap':{'nextParticlesPosition':function(){function _0x30009e(_0x1d5ed2,_0x53766a){return _0x5626f3(_0x53766a-0x1ba,_0x1d5ed2);}return _0x30b264[_0x30009e(0x179,0x1da)]['nextParticlesPosition'];},'nextParticlesSpeed':function(){return _0x30b264['particlesTextures']['nextParticlesSpeed'];},'lonRange':function(){function _0x2434ac(_0x4b4c18,_0x18af2e){return _0x5626f3(_0x18af2e- -0x100,_0x4b4c18);}return _0x187189[_0x2434ac(-0xa7,-0x102)];},'latRange':function(){function _0x10de41(_0x96d68d,_0x406649){return _0x5626f3(_0x406649-0x4e8,_0x96d68d);}return _0x187189[_0x10de41(0x46c,0x484)];},'randomCoefficient':function(){const _0x625c66=Math['random']();return _0x625c66;},'dropRate':function(){return _0x459d89['dropRate'];},'dropRateBump':function(){return _0x459d89['dropRateBump'];}},'fragmentShaderSource':new Cesium$3[(_0x5626f3(-0x6a,-0x92))](_0x556c7e),'outputTexture':this[_0x5626f3(0x20,0xa0)][_0x2aa746(0x5ce,0x556)],'preExecute':function(){function _0x4dbbd4(_0x505387,_0x20317e){return _0x5626f3(_0x20317e-0x241,_0x505387);}_0x30b264['primitives']['postProcessingPosition'][_0x4dbbd4(0x21b,0x285)]['outputTexture']=_0x30b264['particlesTextures']['postProcessingPosition'];}}),'postProcessingSpeed':new CustomPrimitive({'commandType':'Compute','uniformMap':{'postProcessingPosition':function(){function _0x6889cc(_0x71e189,_0x3ff56e){return _0x5626f3(_0x3ff56e-0x99,_0x71e189);}function _0x52732d(_0x5e4f03,_0xec5f62){return _0x2aa746(_0x5e4f03- -0x43f,_0xec5f62);}return _0x30b264[_0x52732d(0x1eb,0x1f5)][_0x6889cc(-0x24,0x5d)];},'nextParticlesSpeed':function(){return _0x30b264['particlesTextures']['nextParticlesSpeed'];}},'fragmentShaderSource':new Cesium$3[(_0x5626f3(-0x6a,-0x7d))](_0x2f0416),'outputTexture':this['particlesTextures']['postProcessingSpeed'],'preExecute':function(){function _0x3a64c6(_0x13074d,_0x1c1bc1){return _0x2aa746(_0x1c1bc1- -0x4c3,_0x13074d);}function _0x146eae(_0xc20f7,_0x2292c7){return _0x5626f3(_0xc20f7-0x28,_0x2292c7);}_0x30b264['primitives'][_0x146eae(0x1f,0x8e)][_0x3a64c6(0x16c,0x18b)]['outputTexture']=_0x30b264['particlesTextures']['postProcessingSpeed'];}})};}}const Cesium$2=mars3d__namespace['Cesium'];class ParticleSystem{constructor(_0x5e11c5,_0x5acfa5,_0x468a81,_0x34a22f){this['context']=_0x5e11c5,_0x5acfa5={..._0x5acfa5};_0x5acfa5['udata']&&_0x5acfa5['vdata']&&(_0x5acfa5['dimensions']={},_0x5acfa5[_0x3d1c71(0x547,0x557)]['lon']=_0x5acfa5[_0x3d1c71(0x534,0x540)],_0x5acfa5['dimensions'][_0x1d90a2(0x2a9,0x32f)]=_0x5acfa5['rows'],_0x5acfa5[_0x3d1c71(0x547,0x4da)]['lev']=_0x5acfa5['lev']||0x1,_0x5acfa5['lon']={},_0x5acfa5['lon']['min']=_0x5acfa5['xmin'],_0x5acfa5[_0x3d1c71(0x4d4,0x4e8)]['max']=_0x5acfa5['xmax'],_0x5acfa5['lat']={},_0x5acfa5[_0x3d1c71(0x52a,0x4be)]['min']=_0x5acfa5['ymin'],_0x5acfa5[_0x3d1c71(0x52a,0x5b3)]['max']=_0x5acfa5['ymax'],_0x5acfa5['lev']={},_0x5acfa5['lev'][_0x3d1c71(0x563,0x553)]=_0x5acfa5['levmin']??0x1,_0x5acfa5[_0x3d1c71(0x5d5,0x633)][_0x1d90a2(0x304,0x2c1)]=_0x5acfa5['levmax']??0x1,_0x5acfa5['U']={},_0x5acfa5['U']['array']=new Float32Array(_0x5acfa5['udata']),_0x5acfa5['U'][_0x1d90a2(0x2e2,0x32d)]=_0x5acfa5[_0x3d1c71(0x538,0x5b1)]??Math[_0x3d1c71(0x563,0x5ba)](..._0x5acfa5[_0x3d1c71(0x53a,0x4c8)]),_0x5acfa5['U'][_0x1d90a2(0x304,0x355)]=_0x5acfa5['umax']??Math['max'](..._0x5acfa5['udata']),_0x5acfa5['V']={},_0x5acfa5['V'][_0x1d90a2(0x281,0x2e5)]=new Float32Array(_0x5acfa5[_0x1d90a2(0x2de,0x337)]),_0x5acfa5['V']['min']=_0x5acfa5[_0x1d90a2(0x305,0x377)]??Math['min'](..._0x5acfa5[_0x3d1c71(0x55f,0x5d3)]),_0x5acfa5['V']['max']=_0x5acfa5['vmax']??Math['max'](..._0x5acfa5[_0x3d1c71(0x55f,0x511)]));this['data']=_0x5acfa5,this['options']=_0x468a81,this['viewerParameters']=_0x34a22f,this['particlesComputing']=new ParticlesComputing(this['context'],this['data'],this['options'],this[_0x1d90a2(0x2d5,0x352)]);function _0x1d90a2(_0x31e13c,_0x1129e0){return _0x437391(_0x1129e0,_0x31e13c- -0x377);}function _0x3d1c71(_0x19569a,_0x3bd845){return _0x437391(_0x3bd845,_0x19569a- -0xf6);}this['particlesRendering']=new ParticlesRendering(this[_0x3d1c71(0x4f8,0x4d5)],this['data'],this[_0x3d1c71(0x5ab,0x5d7)],this['viewerParameters'],this['particlesComputing']);}[_0x437391(0x6c9,0x65d)](_0x12a021){this[_0xc18af6(0x71,0xb8)]['destroyParticlesTextures']();function _0xc18af6(_0x10b5ef,_0x2c46cb){return _0x20001d(_0x2c46cb,_0x10b5ef- -0x4fd);}Object['keys'](this['particlesComputing']['windTextures'])['forEach'](_0x39caea=>{this['particlesComputing']['windTextures'][_0x39caea]['destroy']();}),this['particlesRendering'][_0x2b2a14(0x234,0x2b5)]['colorTable'][_0xc18af6(0x83,0x100)](),Object['keys'](this[_0x2b2a14(0x271,0x2c3)]['framebuffers'])[_0x2b2a14(0x375,0x35f)](_0x3fec68=>{function _0x355e42(_0xea091d,_0x453834){return _0x2b2a14(_0x453834,_0xea091d- -0x282);}function _0x27b0d0(_0x4ac881,_0x5bd638){return _0xc18af6(_0x4ac881- -0x255,_0x5bd638);}this[_0x27b0d0(-0x198,-0x169)][_0x355e42(0x91,0x90)][_0x3fec68]['destroy']();}),this['context']=_0x12a021;function _0x2b2a14(_0x466373,_0x18ca03){return _0x437391(_0x466373,_0x18ca03- -0x34b);}this[_0xc18af6(0x71,0xdd)]=new ParticlesComputing(this['context'],this['data'],this[_0x2b2a14(0x340,0x356)],this[_0x2b2a14(0x2c5,0x301)]),this['particlesRendering']=new ParticlesRendering(this['context'],this['data'],this['options'],this[_0xc18af6(0xfb,0x16c)],this[_0xc18af6(0x71,0xcb)]);}['clearFramebuffers'](){function _0x28a497(_0x32c3f7,_0x1580c3){return _0x20001d(_0x32c3f7,_0x1580c3- -0x6fe);}const _0x34bc66=new Cesium$2[(_0x28a497(-0x69,-0x89))]({'color':new Cesium$2['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':undefined,'pass':Cesium$2[_0x247d4a(0x3ce,0x39c)]['OPAQUE']});function _0x247d4a(_0x494153,_0x22b295){return _0x20001d(_0x22b295,_0x494153- -0x1a9);}Object[_0x28a497(-0x17f,-0x18b)](this[_0x28a497(-0x110,-0x144)]['framebuffers'])['forEach'](_0x298d2d=>{function _0x41464a(_0x2b49c5,_0x4d8e64){return _0x247d4a(_0x2b49c5- -0x47d,_0x4d8e64);}_0x34bc66[_0x41464a(-0x9,0x48)]=this['particlesRendering']['framebuffers'][_0x298d2d],_0x34bc66['execute'](this['context']);});}[_0x437391(0x661,0x648)](_0x45fe3a){this[_0xf47197(0x5ce,0x5dd)]();function _0xf47197(_0x470be5,_0x555295){return _0x437391(_0x555295,_0x470be5- -0xf7);}this['particlesComputing']['destroyParticlesTextures'](),this[_0xcd60e1(0xcf,0xab)][_0xcd60e1(0x148,0x18d)](this[_0xcd60e1(0xfb,0x17e)],this[_0xf47197(0x5aa,0x601)],this['viewerParameters']);function _0xcd60e1(_0x16fea1,_0x44f332){return _0x437391(_0x44f332,_0x16fea1- -0x4f3);}if(_0x45fe3a){var _0x5258c0;const _0x1f8126=this['particlesRendering'][_0xf47197(0x536,0x532)](this['options']);this[_0xcd60e1(0x11b,0x100)]['primitives'][_0xcd60e1(0x1c4,0x1c0)][_0xcd60e1(0xf1,0x150)]=_0x1f8126;const _0x580b00=Cesium$2['VertexArray']['fromGeometry']({'context':this['context'],'geometry':_0x1f8126,'attributeLocations':this['particlesRendering']['primitives']['segments']['attributeLocations'],'bufferUsage':Cesium$2[_0xcd60e1(0x153,0x1c5)][_0xcd60e1(0x102,0x13e)]});(_0x5258c0=this['particlesRendering']['primitives'])!==null&&_0x5258c0!==void 0x0&&(_0x5258c0=_0x5258c0['segments'])!==null&&_0x5258c0!==void 0x0&&_0x5258c0['commandToExecute']&&(this['particlesRendering']['primitives'][_0xf47197(0x5c0,0x629)]['commandToExecute'][_0xcd60e1(0x173,0x14f)]=_0x580b00);}}['setOptions'](_0x265884){let _0xa5ab07=![];function _0x2a3753(_0x45f5ac,_0x1552a9){return _0x437391(_0x45f5ac,_0x1552a9- -0x738);}function _0x3d37ed(_0x3df9ba,_0x582049){return _0x437391(_0x3df9ba,_0x582049- -0x1b4);}this['options'][_0x3d37ed(0x445,0x410)]!==_0x265884['maxParticles']&&(_0xa5ab07=!![]),Object['keys'](_0x265884)['forEach'](_0x2651d4=>{function _0x21e56e(_0x14d48a,_0x458780){return _0x3d37ed(_0x458780,_0x14d48a- -0x10e);}this[_0x21e56e(0x3df,0x35a)][_0x2651d4]=_0x265884[_0x2651d4];}),this[_0x2a3753(-0x100,-0xf0)](_0xa5ab07);}[_0x437391(0x676,0x687)](_0x3642d9){function _0x4e6d7b(_0x22b114,_0x18b701){return _0x437391(_0x18b701,_0x22b114- -0x2fd);}Object['keys'](_0x3642d9)['forEach'](_0x4f9a60=>{function _0x110f18(_0x272097,_0x4eee06){return _0x9531(_0x4eee06- -0x11b,_0x272097);}this[_0x110f18(0x15b,0x14d)][_0x4f9a60]=_0x3642d9[_0x4f9a60];}),this[_0x4e6d7b(0x34b,0x305)](![]);}['destroy'](){clearTimeout(this['canrefresh']);function _0x29b83b(_0x58a68d,_0x498e83){return _0x20001d(_0x58a68d,_0x498e83- -0x3ac);}this['particlesComputing']['destroyParticlesTextures'](),Object['keys'](this['particlesComputing'][_0x29b83b(0x333,0x2c6)])['forEach'](_0x398db9=>{this['particlesComputing']['windTextures'][_0x398db9]['destroy']();});function _0x3478a3(_0x34d69f,_0x560c2f){return _0x437391(_0x34d69f,_0x560c2f- -0x1cf);}this[_0x29b83b(0x1f0,0x20e)][_0x3478a3(0x4b4,0x431)]['colorTable']['destroy'](),Object['keys'](this[_0x29b83b(0x1f1,0x20e)][_0x29b83b(0x292,0x25e)])[_0x3478a3(0x481,0x4db)](_0xceb97a=>{this['particlesRendering']['framebuffers'][_0xceb97a]['destroy']();});for(const _0x289699 in this){delete this[_0x289699];}}}const Cesium$1=mars3d__namespace['Cesium'],BaseLayer$1=mars3d__namespace['layer'][_0x437391(0x653,0x6ad)],_0x2b45b1={};_0x2b45b1[_0x437391(0x65d,0x6b3)]=0x1000,_0x2b45b1['fixedHeight']=0x0,_0x2b45b1['fadeOpacity']=0.996,_0x2b45b1['dropRate']=0.003,_0x2b45b1[_0x20001d(0x574,0x5f7)]=0.01,_0x2b45b1['speedFactor']=0.5,_0x2b45b1['lineWidth']=0x2,_0x2b45b1['colors']=[_0x20001d(0x4fe,0x585)];const DEF_OPTIONS=_0x2b45b1;class WindLayer extends BaseLayer$1{constructor(_0x1ecd65={}){_0x1ecd65={...DEF_OPTIONS,..._0x1ecd65},super(_0x1ecd65),this['_setOptionsHook'](_0x1ecd65);}get['layer'](){function _0x57cf2f(_0xaed7c4,_0x3ad852){return _0x20001d(_0x3ad852,_0xaed7c4- -0x646);}return this[_0x57cf2f(-0xad,-0x10e)];}get['data'](){return this['_data'];}set[_0x437391(0x66f,0x6c0)](_0x1fafe8){this['setData'](_0x1fafe8);}get['colors'](){return this['options']['colors'];}set['colors'](_0x1fd780){function _0x48a711(_0x90db4d,_0x7d5e60){return _0x20001d(_0x90db4d,_0x7d5e60- -0x34b);}function _0x266136(_0x33c27b,_0x4febce){return _0x437391(_0x33c27b,_0x4febce- -0x218);}this['options'][_0x266136(0x4f3,0x4a1)]=_0x1fd780;if(this[_0x48a711(0x1fd,0x244)]){const _0x5b159f={};_0x5b159f['colors']=_0x1fd780,this['particleSystem'][_0x266136(0x3f6,0x45e)](_0x5b159f);}this['resize']();}[_0x20001d(0x63e,0x618)](){}[_0x437391(0x5a1,0x61f)](){this['scene']=this[_0x4370bb(0x7c,0xb9)][_0x27774a(0x519,0x505)],this[_0x27774a(0x5a0,0x569)]=this['_map'][_0x4370bb(0xe1,0x5b)],this[_0x4370bb(0x57,0x78)]=new Cesium$1['PrimitiveCollection'](),this[_0x27774a(0x549,0x504)]['scene']['primitives'][_0x4370bb(0x4a,0x19)](this[_0x27774a(0x475,0x4df)]),this[_0x4370bb(0xb6,0x5c)]={'lonRange':new Cesium$1[(_0x27774a(0x539,0x549))](),'latRange':new Cesium$1['Cartesian2'](),'pixelSize':0x0},this[_0x27774a(0x540,0x517)]=new Cesium$1[(_0x4370bb(0x51,0x98))](Cesium$1['Cartesian3'][_0x4370bb(0x37,0xaf)],0.99*0x615299);function _0x4370bb(_0x44bdf1,_0x54fd33){return _0x437391(_0x54fd33,_0x44bdf1- -0x596);}this['updateViewerParameters'](),window['addEventListener'](_0x4370bb(0x7e,0x4a),this[_0x4370bb(0x7e,0x8b)][_0x27774a(0x525,0x4d4)](this),![]),this[_0x27774a(0x514,0x4de)]=![],this['mouse_move']=![],this[_0x4370bb(0x7c,0x30)]['on'](mars3d__namespace[_0x27774a(0x4ca,0x4b7)][_0x27774a(0x4e1,0x554)],this['_onMapWhellEvent'],this),this['_map']['on'](mars3d__namespace['EventType']['mouseDown'],this[_0x4370bb(0x12e,0xf7)],this);function _0x27774a(_0x4e093a,_0x11e41e){return _0x437391(_0x4e093a,_0x11e41e- -0x10e);}this[_0x27774a(0x47c,0x504)]['on'](mars3d__namespace[_0x27774a(0x497,0x4b7)][_0x27774a(0x4d1,0x4c5)],this['_onMouseUpEvent'],this),this[_0x27774a(0x52e,0x504)]['on'](mars3d__namespace['EventType']['mouseMove'],this[_0x4370bb(0xf4,0x89)],this),this[_0x27774a(0x5af,0x5c1)]&&this['setData'](this['_data']);}['_removedHook'](){window['removeEventListener']('resize',this['resize']),this[_0x445e8a(0x615,0x689)]['off'](mars3d__namespace['EventType']['preRender'],this['_onMap_preRenderEvent'],this),this[_0x445e8a(0x615,0x696)]['off'](mars3d__namespace[_0x1c8b7a(0x4bc,0x49a)][_0x445e8a(0x665,0x6e4)],this['_onMapWhellEvent'],this),this['_map']['off'](mars3d__namespace['EventType']['mouseDown'],this[_0x445e8a(0x6c7,0x6a6)],this),this[_0x445e8a(0x615,0x5ef)]['off'](mars3d__namespace['EventType']['mouseUp'],this['_onMouseUpEvent'],this),this['_map']['off'](mars3d__namespace['EventType']['mouseMove'],this['_onMouseMoveEvent'],this);function _0x1c8b7a(_0x4c2d02,_0x302dda){return _0x437391(_0x4c2d02,_0x302dda- -0x12b);}function _0x445e8a(_0x4e2eda,_0x2e5707){return _0x437391(_0x2e5707,_0x4e2eda-0x3);}this['primitives']['removeAll'](),this[_0x1c8b7a(0x494,0x4e7)][_0x445e8a(0x616,0x5e7)][_0x445e8a(0x5f0,0x62d)]['remove'](this[_0x445e8a(0x5f0,0x5c4)]);}[_0x20001d(0x623,0x5c0)](){function _0x3578f4(_0x6e6d73,_0x1709c6){return _0x437391(_0x1709c6,_0x6e6d73- -0x213);}if(!this['show']||!this['particleSystem'])return;this[_0x140693(0x17d,0x194)]['show']=![];function _0x140693(_0x3d55ac,_0x516010){return _0x437391(_0x3d55ac,_0x516010- -0x459);}this['primitives'][_0x3578f4(0x423,0x46c)](),this['_map']['once'](mars3d__namespace[_0x140693(0x16c,0x16c)]['preRender'],this['_onMap_preRenderEvent'],this);}['_onMap_preRenderEvent'](_0x590760){this['particleSystem']['canvasResize'](this['scene']['context']),this['addPrimitives'](),this['primitives']['show']=!![];}[_0x437391(0x5e8,0x5e6)](_0x5ca9b1){function _0x4d1257(_0x22c87d,_0x53cdf3){return _0x437391(_0x22c87d,_0x53cdf3- -0x6c4);}clearTimeout(this['refreshTimer']);if(!this[_0x4d1257(0x4,-0x76)]||!this['particleSystem'])return;this[_0x4d1257(-0x71,-0xd7)][_0x25927e(0x4df,0x561)]=![];function _0x25927e(_0x45d630,_0x75f856){return _0x437391(_0x75f856,_0x45d630- -0x16f);}this['refreshTimer']=setTimeout(()=>{function _0x3f1b7c(_0x3e8229,_0x4e16ce){return _0x4d1257(_0x3e8229,_0x4e16ce-0x419);}if(!this[_0x3f1b7c(0x3a0,0x3a3)])return;this['redraw']();},0xc8);}['_onMouseDownEvent'](_0x484156){this['mouse_down']=!![];}['_onMouseMoveEvent'](_0x4f3fa0){function _0x1ec01e(_0x59f2e1,_0x22ebf5){return _0x20001d(_0x59f2e1,_0x22ebf5- -0x5d2);}if(!this['show']||!this['particleSystem'])return;function _0x45a559(_0x335f50,_0x356282){return _0x20001d(_0x335f50,_0x356282- -0x14d);}this[_0x45a559(0x498,0x44b)]&&(this['primitives'][_0x45a559(0x459,0x4ad)]=![],this['mouse_move']=!![]);}[_0x20001d(0x58d,0x617)](_0x2e9107){if(!this[_0x1cfdea(0x5e3,0x5e1)]||!this[_0x1cfdea(0x518,0x576)])return;this['mouse_down']&&this[_0x1cfdea(0x664,0x61c)]&&this['redraw']();this['primitives']['show']=!![],this['mouse_down']=![];function _0x1cfdea(_0x33f225,_0x1645a7){return _0x437391(_0x33f225,_0x1645a7- -0x6d);}function _0x4f9898(_0x1a1f59,_0x22f259){return _0x20001d(_0x22f259,_0x1a1f59- -0x48e);}this[_0x4f9898(0x1a7,0x1d5)]=![];}[_0x437391(0x677,0x6d1)](){if(!this['_map']||!this[_0x4e7050(-0x13d,-0x1c8)])return;this['updateViewerParameters'](),this[_0x54b9b7(0x3bd,0x359)]['applyViewerParameters'](this['viewerParameters']);function _0x4e7050(_0x44a8e3,_0x2bca5e){return _0x20001d(_0x2bca5e,_0x44a8e3- -0x737);}function _0x54b9b7(_0x3e3677,_0x575476){return _0x437391(_0x575476,_0x3e3677- -0x226);}this['primitives'][_0x54b9b7(0x428,0x425)]=!![];}['setData'](_0xd0dac6){this[_0x562b4c(0x4,0x27)]=_0xd0dac6;function _0x562b4c(_0x3bd80d,_0x18fb23){return _0x437391(_0x18fb23,_0x3bd80d- -0x6cb);}this[_0x562b4c(-0xe8,-0x64)]&&this[_0x562b4c(-0xe8,-0xe3)][_0x7e1513(0x1df,0x1cc)]();function _0x7e1513(_0x430c06,_0x126256){return _0x437391(_0x430c06,_0x126256- -0x408);}this[_0x562b4c(-0xe8,-0xc8)]=new ParticleSystem(this['scene'][_0x7e1513(0x242,0x1e6)],_0xd0dac6,this[_0x7e1513(0x17b,0x1ff)](),this['viewerParameters']),this['addPrimitives']();}[_0x20001d(0x627,0x5c1)](_0x8c66a4,_0x437f45){if(_0x8c66a4)for(const _0x5ce146 in _0x8c66a4){this[_0x5ce146]=_0x8c66a4[_0x5ce146];}function _0x17e084(_0x5ede1c,_0x5573f5){return _0x437391(_0x5573f5,_0x5ede1c- -0x77b);}function _0x26011a(_0x12dbc5,_0x450856){return _0x20001d(_0x12dbc5,_0x450856- -0x64a);}this[_0x17e084(-0x198,-0x1bf)]&&this['particleSystem']['setOptions'](this[_0x26011a(-0x1d,-0x97)]());}['getOptions'](){const _0xef27f7=Math['ceil'](Math['sqrt'](this['particlesNumber']));this['particlesNumber']=_0xef27f7*_0xef27f7;const _0x25651e={};function _0xcfbd0(_0xe58070,_0x1f3a89){return _0x20001d(_0xe58070,_0x1f3a89- -0x145);}function _0x349b24(_0x1b1ca2,_0x21409f){return _0x437391(_0x21409f,_0x1b1ca2- -0xc5);}return _0x25651e['particlesTextureSize']=_0xef27f7,_0x25651e[_0xcfbd0(0x430,0x42b)]=this[_0xcfbd0(0x4df,0x51a)],_0x25651e[_0xcfbd0(0x467,0x42f)]=this['fixedHeight'],_0x25651e['fadeOpacity']=this[_0xcfbd0(0x506,0x4b9)],_0x25651e['dropRate']=this['dropRate'],_0x25651e[_0xcfbd0(0x4ca,0x4b2)]=this[_0xcfbd0(0x4b3,0x4b2)],_0x25651e[_0x349b24(0x5d5,0x573)]=this[_0xcfbd0(0x586,0x501)],_0x25651e[_0xcfbd0(0x485,0x4ec)]=this[_0x349b24(0x5c0,0x555)],_0x25651e['colors']=this[_0x349b24(0x5f4,0x626)],_0x25651e;}['addPrimitives'](){this['primitives']['add'](this['particleSystem'][_0x667891(-0x19b,-0x162)]['primitives'][_0x667891(-0x9b,-0x46)]),this['primitives']['add'](this[_0x667891(-0x17a,-0x137)][_0x318c51(-0x1d,0x36)]['primitives'][_0x318c51(0x54,0xa6)]);function _0x318c51(_0x36313d,_0x4a763f){return _0x20001d(_0x36313d,_0x4a763f- -0x538);}this['primitives'][_0x667891(-0x17d,-0x1c4)](this[_0x318c51(0xb3,0x57)]['particlesComputing'][_0x318c51(0x5a,0x61)]['updatePosition']);function _0x667891(_0x16cc8f,_0x16bd95){return _0x20001d(_0x16bd95,_0x16cc8f- -0x709);}this[_0x318c51(0x5d,0x61)]['add'](this[_0x667891(-0x17a,-0x1a2)][_0x318c51(0x92,0x36)]['primitives']['postProcessingPosition']),this[_0x318c51(0x52,0x61)][_0x667891(-0x17d,-0x1f7)](this['particleSystem']['particlesComputing'][_0x318c51(0x4c,0x61)][_0x318c51(0x104,0xe6)]),this[_0x318c51(-0x9,0x61)]['add'](this['particleSystem']['particlesRendering'][_0x667891(-0x170,-0x170)]['segments']),this['primitives'][_0x667891(-0x17d,-0x10e)](this['particleSystem']['particlesRendering']['primitives']['trails']),this[_0x318c51(0xe9,0x61)]['add'](this['particleSystem']['particlesRendering'][_0x667891(-0x170,-0x10f)]['screen']);}['updateViewerParameters'](){let _0x3b4d6d=this['camera'][_0x2e8ebe(0x36f,0x3b0)](this['scene']['globe'][_0x2e8ebe(0x359,0x375)]);function _0x35483c(_0x165657,_0x31b0f8){return _0x437391(_0x31b0f8,_0x165657- -0x702);}if(!_0x3b4d6d){const _0x34d094=this[_0x35483c(-0xf0,-0x6a)]['getExtent']();_0x3b4d6d=Cesium$1[_0x35483c(-0x44,-0xad)]['fromDegrees'](_0x34d094['xmin'],_0x34d094['ymin'],_0x34d094['xmax'],_0x34d094['ymax']);}const _0x390027=Util[_0x35483c(-0xc1,-0x13a)](_0x3b4d6d);function _0x2e8ebe(_0x3e99f6,_0x1daf2f){return _0x20001d(_0x1daf2f,_0x3e99f6- -0x2d4);}this['viewerParameters']['lonRange']['x']=_0x390027[_0x2e8ebe(0x2a2,0x2c9)][_0x2e8ebe(0x331,0x3b1)],this[_0x2e8ebe(0x324,0x31a)]['lonRange']['y']=_0x390027[_0x2e8ebe(0x2a2,0x2a9)]['max'],this['viewerParameters'][_0x2e8ebe(0x2ef,0x320)]['x']=_0x390027[_0x2e8ebe(0x2f8,0x279)][_0x2e8ebe(0x331,0x384)],this['viewerParameters']['latRange']['y']=_0x390027['lat']['max'];const _0x271869=this['camera'][_0x35483c(-0x4d,-0x5)](this[_0x35483c(-0xdd,-0xaf)],this['scene']['drawingBufferWidth'],this['scene'][_0x35483c(-0x54,0x1f)]);_0x271869>0x0&&(this['viewerParameters']['pixelSize']=_0x271869);}}mars3d__namespace[_0x437391(0x5be,0x5c3)]['register']('wind',WindLayer),mars3d__namespace['layer'][_0x20001d(0x6ee,0x669)]=WindLayer;class CanvasParticle{constructor(){this[_0x252f8a(0x205,0x249)]=null,this[_0x47e2ac(0x1bd,0x244)]=null,this[_0x47e2ac(0x257,0x2b6)]=null;function _0x252f8a(_0xd58f72,_0x581e7a){return _0x437391(_0xd58f72,_0x581e7a- -0x412);}this[_0x252f8a(0x1ee,0x279)]=null;function _0x47e2ac(_0x542df4,_0x2a5ffd){return _0x437391(_0x2a5ffd,_0x542df4- -0x463);}this[_0x47e2ac(0x259,0x29b)]=null,this['speed']=null;}['destroy'](){for(const _0x481a99 in this){delete this[_0x481a99];}}}class CanvasWindField{constructor(_0x509d47){this['setOptions'](_0x509d47);}get[_0x437391(0x626,0x5c9)](){function _0x5160c4(_0x5b2d68,_0x496fa1){return _0x20001d(_0x496fa1,_0x5b2d68- -0x638);}return this[_0x5160c4(0x24,0x29)];}set['speedRate'](_0x54ef6a){function _0x314e1b(_0x221752,_0x5d1998){return _0x437391(_0x5d1998,_0x221752- -0x6b0);}function _0x3f0c9b(_0x5f1860,_0x3f0a75){return _0x437391(_0x3f0a75,_0x5f1860- -0x6ae);}this[_0x3f0c9b(0x2,0x88)]=(0x64-(_0x54ef6a>0x63?0x63:_0x54ef6a))*0x64,this['_calc_speedRate']=[(this[_0x314e1b(-0x28,0x1c)]-this['xmin'])/this[_0x314e1b(0x0,0x1e)],(this['ymax']-this[_0x3f0c9b(-0xbf,-0xef)])/this[_0x314e1b(0x0,0x5b)]];}get[_0x437391(0x5c7,0x642)](){return this['_maxAge'];}set[_0x437391(0x66a,0x642)](_0x1140fa){this['_maxAge']=_0x1140fa;}['setOptions'](_0x3f0ad5){this[_0x3bb40a(0x39d,0x358)]=_0x3f0ad5,this[_0x5c332a(0x4d7,0x48c)]=_0x3f0ad5['maxAge']||0x78,this[_0x5c332a(0x428,0x413)]=_0x3f0ad5[_0x5c332a(0x430,0x413)]||0x32;function _0x5c332a(_0x5bf34c,_0x22e7d4){return _0x20001d(_0x5bf34c,_0x22e7d4- -0x162);}this[_0x3bb40a(0x3ab,0x3c2)]=[];const _0x40487f=_0x3f0ad5[_0x3bb40a(0x3af,0x39e)]||0x1000;function _0x3bb40a(_0x981c3,_0xc088e){return _0x20001d(_0xc088e,_0x981c3- -0x2b0);}for(let _0x577c4a=0x0;_0x577c4a<_0x40487f;_0x577c4a++){const _0x5d7aa8=this['_randomParticle'](new CanvasParticle());this[_0x3bb40a(0x3ab,0x419)]['push'](_0x5d7aa8);}}[_0x20001d(0x5ff,0x5ad)](_0x1b6440){this['rows']=_0x1b6440['rows'],this[_0x27607c(0x208,0x281)]=_0x1b6440[_0x394526(-0x12d,-0x143)];function _0x394526(_0x34a9e7,_0x5d5ed4){return _0x20001d(_0x5d5ed4,_0x34a9e7- -0x703);}this['xmin']=_0x1b6440[_0x27607c(0x1af,0x209)],this['xmax']=_0x1b6440['xmax'],this['ymin']=_0x1b6440[_0x394526(-0x168,-0x17c)],this['ymax']=_0x1b6440['ymax'],this['grid']=[];const _0x1c0039=_0x1b6440[_0x27607c(0x20e,0x1cc)],_0x5a8a92=_0x1b6440['vdata'];let _0x2a47be=![];_0x1c0039[_0x394526(-0xbf,-0xc0)]===this['rows']&&_0x1c0039[0x0]['length']===this['cols']&&(_0x2a47be=!![]);let _0x93312c=0x0;function _0x27607c(_0x5d3edb,_0x99579a){return _0x437391(_0x99579a,_0x5d3edb- -0x422);}let _0x3c7fbf=null,_0x28b602=null;for(let _0x26b853=0x0;_0x26b853<this['rows'];_0x26b853++){_0x3c7fbf=[];for(let _0x544534=0x0;_0x544534<this[_0x394526(-0x12d,-0xc9)];_0x544534++,_0x93312c++){_0x2a47be?_0x28b602=this[_0x27607c(0x287,0x29d)](_0x1c0039[_0x26b853][_0x544534],_0x5a8a92[_0x26b853][_0x544534]):_0x28b602=this['_calcUV'](_0x1c0039[_0x93312c],_0x5a8a92[_0x93312c]),_0x3c7fbf[_0x27607c(0x270,0x22a)](_0x28b602);}this['grid'][_0x394526(-0xc5,-0x64)](_0x3c7fbf);}this[_0x394526(-0xb6,-0x13d)][_0x394526(-0x165,-0x1a0)]&&this['grid']['reverse']();}['clear'](){delete this[_0x25ceed(0x269,0x2c8)],delete this['cols'],delete this[_0x2f0204(-0x133,-0xf8)];function _0x2f0204(_0x7a92f,_0x51f037){return _0x20001d(_0x7a92f,_0x51f037- -0x675);}function _0x25ceed(_0xef40bc,_0x5e17af){return _0x20001d(_0x5e17af,_0xef40bc- -0x39b);}delete this['xmax'],delete this['ymin'],delete this[_0x2f0204(-0x7b,-0x59)],delete this['grid'],delete this['particles'];}[_0x20001d(0x68c,0x648)](_0x307274,_0x3da581){function _0x137a9e(_0x5e0758,_0x3b9fd4){return _0x20001d(_0x3b9fd4,_0x5e0758- -0x28a);}const _0x3d7243=(_0x307274-this[_0x114994(0x101,0x151)])/(this[_0x114994(0x226,0x208)]-this['xmin'])*(this['cols']-0x1);function _0x114994(_0xd02e11,_0x3cda2e){return _0x20001d(_0xd02e11,_0x3cda2e- -0x42c);}const _0x255669=(this['ymax']-_0x3da581)/(this[_0x137a9e(0x392,0x3a5)]-this['ymin'])*(this['rows']-0x1);return[_0x3d7243,_0x255669];}[_0x20001d(0x53e,0x58d)](_0x26952e,_0x4ab524){if(_0x26952e<0x0||_0x26952e>=this[_0x4f80c6(0x478,0x4a8)]||_0x4ab524>=this['rows'])return[0x0,0x0,0x0];const _0x4c9352=Math['floor'](_0x26952e),_0x3c2012=Math['floor'](_0x4ab524);if(_0x4c9352===_0x26952e&&_0x3c2012===_0x4ab524)return this[_0x4f80c6(0x54a,0x4f6)][_0x4ab524][_0x26952e];const _0x58bb07=_0x4c9352+0x1,_0x51fa90=_0x3c2012+0x1;function _0x268d42(_0x31d3f8,_0x2851d7){return _0x437391(_0x2851d7,_0x31d3f8- -0x1b2);}function _0x4f80c6(_0x2dd7fb,_0x526609){return _0x20001d(_0x2dd7fb,_0x526609- -0x12e);}const _0x5d3afe=this[_0x268d42(0x42f,0x487)](_0x4c9352,_0x3c2012),_0x337d22=this['getUVByXY'](_0x58bb07,_0x3c2012),_0x405223=this['getUVByXY'](_0x4c9352,_0x51fa90),_0x2585e9=this['getUVByXY'](_0x58bb07,_0x51fa90);let _0x1d9b87=null;try{_0x1d9b87=this[_0x268d42(0x479,0x4ed)](_0x26952e-_0x4c9352,_0x4ab524-_0x3c2012,_0x5d3afe,_0x337d22,_0x405223,_0x2585e9);}catch(_0x48d281){console['log'](_0x26952e,_0x4ab524);}return _0x1d9b87;}[_0x437391(0x6b0,0x62b)](_0x6b9cfa,_0x3ee529,_0x34a022,_0x1e572b,_0x379c1b,_0x55d2b9){const _0x287ca2=0x1-_0x6b9cfa,_0x32589c=0x1-_0x3ee529,_0x54748b=_0x287ca2*_0x32589c,_0x1985fa=_0x6b9cfa*_0x32589c;function _0x2e0933(_0x4adbd4,_0x2de9ef){return _0x437391(_0x4adbd4,_0x2de9ef- -0x3ff);}const _0x55596e=_0x287ca2*_0x3ee529,_0x13e54a=_0x6b9cfa*_0x3ee529,_0x5aa918=_0x34a022[0x0]*_0x54748b+_0x1e572b[0x0]*_0x1985fa+_0x379c1b[0x0]*_0x55596e+_0x55d2b9[0x0]*_0x13e54a,_0x5306d1=_0x34a022[0x1]*_0x54748b+_0x1e572b[0x1]*_0x1985fa+_0x379c1b[0x1]*_0x55596e+_0x55d2b9[0x1]*_0x13e54a;return this[_0x2e0933(0x271,0x2aa)](_0x5aa918,_0x5306d1);}['_calcUV'](_0x3e275c,_0x2f8be0){return[+_0x3e275c,+_0x2f8be0,Math['sqrt'](_0x3e275c*_0x3e275c+_0x2f8be0*_0x2f8be0)];}['getUVByPoint'](_0x1bf239,_0x33e562){function _0x13d1e8(_0x16cd7d,_0x4426a7){return _0x437391(_0x16cd7d,_0x4426a7- -0x6d7);}if(!this['isInExtent'](_0x1bf239,_0x33e562))return null;const _0x2ae37d=this['toGridXY'](_0x1bf239,_0x33e562),_0x2bd65a=this[_0x13d1e8(-0x9b,-0xf6)](_0x2ae37d[0x0],_0x2ae37d[0x1]);return _0x2bd65a;}['isInExtent'](_0x48d111,_0x4f06b8){function _0x36fc81(_0x2f9fb0,_0x4580d8){return _0x20001d(_0x2f9fb0,_0x4580d8- -0x226);}function _0x25cbab(_0x6df7b4,_0x4a20c8){return _0x437391(_0x6df7b4,_0x4a20c8- -0x4e8);}return _0x48d111>=this[_0x36fc81(0x39c,0x357)]&&_0x48d111<=this[_0x36fc81(0x424,0x40e)]&&_0x4f06b8>=this[_0x36fc81(0x397,0x375)]&&_0x4f06b8<=this['ymax']?!![]:![];}[_0x20001d(0x5b2,0x5c7)](){const _0x2d027c=fRandomByfloat(this['xmin'],this[_0xf622bc(0x3c7,0x421)]),_0x4fe290=fRandomByfloat(this[_0x1a9718(-0x176,-0x115)],this['ymax']),_0x343e11={};function _0xf622bc(_0x21f03f,_0x432c95){return _0x20001d(_0x432c95,_0x21f03f- -0x26d);}function _0x1a9718(_0x576c54,_0x29e427){return _0x20001d(_0x29e427,_0x576c54- -0x711);}return _0x343e11[_0x1a9718(-0x145,-0x16e)]=_0x4fe290,_0x343e11['lng']=_0x2d027c,_0x343e11;}['getParticles'](){function _0x4d2179(_0x4b9aa3,_0x5c9575){return _0x437391(_0x5c9575,_0x4b9aa3- -0x373);}function _0x43ab36(_0x449693,_0x16feaa){return _0x437391(_0x16feaa,_0x449693- -0x53c);}let _0x2ddc32,_0x5d3564,_0x352f15;for(let _0x1f896b=0x0,_0x8993ea=this['particles'][_0x43ab36(0x15c,0xd3)];_0x1f896b<_0x8993ea;_0x1f896b++){let _0xaddacb=this[_0x43ab36(0x173,0x1fa)][_0x1f896b];_0xaddacb[_0x4d2179(0x349,0x3b2)]<=0x0&&(_0xaddacb=this['_randomParticle'](_0xaddacb));if(_0xaddacb['age']>0x0){const _0x5be851=_0xaddacb[_0x43ab36(0x17e,0x1d7)],_0x279531=_0xaddacb['tlat'];_0x352f15=this['getUVByPoint'](_0x5be851,_0x279531),_0x352f15?(_0x2ddc32=_0x5be851+this[_0x4d2179(0x2f1,0x28c)][0x0]*_0x352f15[0x0],_0x5d3564=_0x279531+this[_0x43ab36(0x128,0xe9)][0x1]*_0x352f15[0x1],_0xaddacb['lng']=_0x5be851,_0xaddacb['lat']=_0x279531,_0xaddacb['tlng']=_0x2ddc32,_0xaddacb['tlat']=_0x5d3564,_0xaddacb[_0x43ab36(0x162,0xe1)]=_0x352f15[0x2],_0xaddacb[_0x43ab36(0x180,0x105)]--):_0xaddacb['age']=0x0;}}return this['particles'];}['_randomParticle'](_0x31ab22){let _0x5653ba,_0x55ed05;for(let _0x2bafcc=0x0;_0x2bafcc<0x1e;_0x2bafcc++){_0x5653ba=this['getRandomLatLng'](),_0x55ed05=this[_0x460ada(-0x9c,-0xe7)](_0x5653ba[_0x460ada(-0xcd,-0x69)],_0x5653ba[_0x460ada(-0x108,-0xfa)]);if(_0x55ed05&&_0x55ed05[0x2]>0x0)break;}if(!_0x55ed05)return _0x31ab22;const _0x813599=_0x5653ba['lng']+this[_0x5adb7a(0x2f0,0x297)][0x0]*_0x55ed05[0x0],_0x3aae=_0x5653ba[_0x460ada(-0x108,-0x152)]+this[_0x5adb7a(0x2f0,0x359)][0x1]*_0x55ed05[0x1];_0x31ab22['lng']=_0x5653ba[_0x5adb7a(0x2e7,0x2d1)],_0x31ab22['lat']=_0x5653ba['lat'],_0x31ab22['tlng']=_0x813599;function _0x460ada(_0x15b8f5,_0x3e3fb7){return _0x20001d(_0x3e3fb7,_0x15b8f5- -0x6d4);}function _0x5adb7a(_0x2f4ff7,_0x3d02a3){return _0x20001d(_0x3d02a3,_0x2f4ff7- -0x320);}return _0x31ab22['tlat']=_0x3aae,_0x31ab22[_0x5adb7a(0x348,0x2ed)]=Math[_0x460ada(-0x167,-0x187)](Math['random']()*this[_0x5adb7a(0x2ce,0x2ed)]),_0x31ab22['speed']=_0x55ed05[0x2],_0x31ab22;}['destroy'](){for(const _0x53a054 in this){delete this[_0x53a054];}}}function fRandomByfloat(_0x20f657,_0x211b4c){return _0x20f657+Math['random']()*(_0x211b4c-_0x20f657);}const Cesium=mars3d__namespace[_0x437391(0x69b,0x6d4)],BaseLayer=mars3d__namespace['layer'][_0x20001d(0x6cb,0x659)];function _0x9531(_0x439939,_0x427385){const _0xeabdd0=_0xeabd();return _0x9531=function(_0x95318b,_0xaeca30){_0x95318b=_0x95318b-0x1dc;let _0x45658c=_0xeabdd0[_0x95318b];return _0x45658c;},_0x9531(_0x439939,_0x427385);}class CanvasWindLayer extends BaseLayer{constructor(_0x450df2={}){function _0xd028d(_0x32bf46,_0x3d9a09){return _0x20001d(_0x32bf46,_0x3d9a09-0x55);}super(_0x450df2),this['_setOptionsHook'](_0x450df2),this['canvas']=null,_0x450df2[_0xd028d(0x6e8,0x6ba)]&&_0x450df2['steps']&&(this['_colorRamp']=new mars3d__namespace['ColorRamp'](_0x450df2));}[_0x437391(0x606,0x615)](_0x49f827,_0x10d0e9){this[_0x4b3971(0x130,0xd2)]=0x3e8/(_0x49f827['frameRate']||0xa),this['_pointerEvents']=this['options']['pointerEvents']??![],this[_0x3c0941(0x38b,0x403)]=_0x49f827[_0x4b3971(0x13d,0x165)]||'#ffffff',this['lineWidth']=_0x49f827['lineWidth']||0x1;function _0x4b3971(_0x37e3d5,_0x2354da){return _0x437391(_0x2354da,_0x37e3d5- -0x545);}function _0x3c0941(_0x558208,_0x168ad6){return _0x20001d(_0x168ad6,_0x558208- -0x2a3);}this['fixedHeight']=_0x49f827['fixedHeight']??0x0,this[_0x4b3971(0xad,0x59)]=_0x49f827['reverseY']??![],this[_0x3c0941(0x365,0x355)]&&this['windField'][_0x3c0941(0x37f,0x3e1)](_0x49f827);}get['layer'](){function _0x3bd4e0(_0x41c258,_0x4dd2f5){return _0x20001d(_0x4dd2f5,_0x41c258- -0x1a);}return this[_0x3bd4e0(0x664,0x6ce)];}get[_0x437391(0x5fa,0x64a)](){function _0x45aa4e(_0x2e55b3,_0x53717c){return _0x437391(_0x53717c,_0x2e55b3- -0x73d);}function _0x5a1e7a(_0xb115c8,_0x406eb5){return _0x20001d(_0xb115c8,_0x406eb5- -0x22);}return this['_map'][_0x5a1e7a(0x5f7,0x59d)]['canvas'][_0x45aa4e(-0x109,-0xc3)];}get[_0x437391(0x67a,0x6b4)](){function _0x30e205(_0x526d76,_0x1904f9){return _0x20001d(_0x526d76,_0x1904f9- -0x112);}function _0x1c57cc(_0x283a1e,_0x547b92){return _0x20001d(_0x283a1e,_0x547b92- -0x1fb);}return this[_0x1c57cc(0x352,0x3c3)]['scene']['canvas'][_0x1c57cc(0x319,0x389)];}get['pointerEvents'](){function _0x1908f6(_0x67919d,_0x44c048){return _0x20001d(_0x44c048,_0x67919d- -0x262);}return this[_0x1908f6(0x332,0x38d)];}set['pointerEvents'](_0x5937a5){this['_pointerEvents']=_0x5937a5;function _0x193e30(_0x614f97,_0x2bfc64){return _0x437391(_0x614f97,_0x2bfc64- -0x753);}function _0x584c6a(_0x5b1ac9,_0x4e1a83){return _0x437391(_0x4e1a83,_0x5b1ac9- -0x6e4);}if(!this['canvas'])return;_0x5937a5?this['canvas'][_0x584c6a(-0x3f,-0x59)]['pointer-events']=_0x193e30(-0xf5,-0x8c):this[_0x584c6a(-0x12,0x74)]['style']['pointer-events']=_0x584c6a(-0x5e,-0xa4);}get['particlesNumber'](){return this['options']['particlesNumber'];}set['particlesNumber'](_0x59ec23){this[_0x2bff65(0x421,0x3b7)][_0x2bff65(0x433,0x485)]=_0x59ec23,clearTimeout(this[_0x2bff65(0x3f4,0x381)]);function _0x2bff65(_0x17ca23,_0x2d69b9){return _0x20001d(_0x2d69b9,_0x17ca23- -0x22c);}function _0x9c6bab(_0x5e5e92,_0x2239fb){return _0x20001d(_0x2239fb,_0x5e5e92- -0x14);}this['_canrefresh']=setTimeout(()=>{this['redraw']();},0x1f4);}get['speedRate'](){function _0xecab1e(_0x2dd640,_0x2622a8){return _0x437391(_0x2dd640,_0x2622a8- -0x2b2);}function _0x2c60f7(_0x424d6f,_0x294366){return _0x437391(_0x424d6f,_0x294366- -0x58e);}return this[_0xecab1e(0x37e,0x3ef)][_0xecab1e(0x34c,0x317)];}set['speedRate'](_0x4e4fe1){function _0x3d3a64(_0x43a341,_0x1662dc){return _0x20001d(_0x43a341,_0x1662dc- -0x349);}this[_0x3d3a64(0x2e6,0x304)]['speedRate']=_0x4e4fe1;function _0x324c9e(_0x4907ad,_0x34ff2d){return _0x437391(_0x34ff2d,_0x4907ad- -0x56b);}this[_0x324c9e(0xf1,0x11e)]&&(this[_0x3d3a64(0x2b6,0x2bf)][_0x3d3a64(0x1b5,0x22c)]=_0x4e4fe1);}get['maxAge'](){return this['options']['maxAge'];}set['maxAge'](_0x378569){function _0x1e325b(_0x1b88ed,_0x3a12ff){return _0x437391(_0x3a12ff,_0x1b88ed- -0x535);}this[_0x1e325b(0x16c,0x1b2)]['maxAge']=_0x378569,this['windField']&&(this['windField']['maxAge']=_0x378569);}get['data'](){return this['windData'];}set[_0x437391(0x6e0,0x6c0)](_0x15576d){this['setData'](_0x15576d);}[_0x437391(0x62f,0x60d)](_0x4ac196){function _0x50c953(_0x1300f2,_0x2ecbf7){return _0x437391(_0x2ecbf7,_0x1300f2- -0x8b);}function _0xc11fb6(_0x2462c3,_0xbfe953){return _0x20001d(_0x2462c3,_0xbfe953- -0x4c6);}_0x4ac196?this['_addedHook']():(this[_0x50c953(0x592,0x566)]&&(this[_0xc11fb6(0x17a,0x187)]['data']=this['windData']),this['_removedHook']());}['_mountedHook'](){function _0x153ce1(_0x118b74,_0x4adc2d){return _0x20001d(_0x118b74,_0x4adc2d- -0xa8);}function _0x3dfc27(_0x80d004,_0xdce495){return _0x20001d(_0x80d004,_0xdce495- -0x5af);}this[_0x3dfc27(0x7e,0x9e)][_0x153ce1(0x54c,0x5ba)]?this['initWorker']():this[_0x3dfc27(0xf,0x59)]=new CanvasWindField(this[_0x153ce1(0x56b,0x5a5)]);}[_0x20001d(0x64f,0x5cb)](){this['canvas']=this['_createCanvas']();function _0x2be48(_0x28eb41,_0xd98602){return _0x20001d(_0x28eb41,_0xd98602- -0x2e6);}const _0x43715b={};_0x43715b[_0x2be48(0x244,0x2bd)]=!![],this[_0x214437(0x4f2,0x4a1)]=this[_0x214437(0x4fd,0x56a)][_0x214437(0x3fb,0x477)]('2d',_0x43715b);function _0x214437(_0x34e647,_0xc6c700){return _0x20001d(_0x34e647,_0xc6c700- -0x114);}this[_0x2be48(0x3b7,0x35c)](),this['options']['data']&&this[_0x2be48(0x305,0x2c9)](this['options']['data']);}['_removedHook'](){this[_0x2c528d(0x248,0x220)]();function _0x186e03(_0x22af14,_0x586464){return _0x20001d(_0x586464,_0x22af14- -0x1a0);}function _0x2c528d(_0x3b40aa,_0x59f17c){return _0x20001d(_0x3b40aa,_0x59f17c- -0x375);}this[_0x2c528d(0x1fb,0x26a)](),this[_0x186e03(0x4de,0x462)]&&(this['_map']['container']['removeChild'](this['canvas']),delete this['canvas']);}['_createCanvas'](){const _0x1a8a4e=mars3d__namespace[_0x2c214c(0x12f,0xa6)]['create'](_0x4b0baa(0x579,0x500),_0x2c214c(0x20e,0x18b),this['_map']['container']);_0x1a8a4e[_0x4b0baa(0x54c,0x5bf)][_0x4b0baa(0x4b1,0x49c)]=_0x4b0baa(0x49b,0x490),_0x1a8a4e['style']['top']='0px',_0x1a8a4e['style']['left']=_0x2c214c(0x8e,0x91),_0x1a8a4e['style']['width']=this[_0x2c214c(0x47,0xcd)]['scene'][_0x2c214c(0x12d,0x18d)]['clientWidth']+'px';function _0x2c214c(_0x132e4e,_0xc82e45){return _0x437391(_0x132e4e,_0xc82e45- -0x545);}function _0x4b0baa(_0x4c1373,_0x367b3f){return _0x437391(_0x367b3f,_0x4c1373- -0x159);}return _0x1a8a4e['style']['height']=this[_0x4b0baa(0x4b9,0x504)]['scene'][_0x2c214c(0x209,0x18d)]['clientHeight']+'px',_0x1a8a4e['style']['pointerEvents']=this[_0x2c214c(0x123,0xa3)]?'auto':_0x4b0baa(0x52d,0x4f4),_0x1a8a4e[_0x4b0baa(0x54c,0x4d7)]['zIndex']=this[_0x4b0baa(0x548,0x5cc)]['zIndex']??0x9,_0x1a8a4e['width']=this['_map']['scene']['canvas']['clientWidth'],_0x1a8a4e['height']=this['_map']['scene']['canvas'][_0x2c214c(0x102,0x93)],_0x1a8a4e;}[_0x20001d(0x644,0x5c0)](){function _0x377e46(_0x2d871e,_0x5dffb0){return _0x20001d(_0x2d871e,_0x5dffb0- -0xe6);}function _0x3a0b34(_0x30ecb9,_0x229fe1){return _0x20001d(_0x30ecb9,_0x229fe1- -0x1d4);}this[_0x3a0b34(0x42b,0x4aa)]&&(this[_0x3a0b34(0x521,0x4aa)][_0x3a0b34(0x4f7,0x47d)]['width']=this[_0x3a0b34(0x462,0x3ea)][_0x377e46(0x4bf,0x4d9)]['canvas']['clientWidth']+'px',this['canvas'][_0x3a0b34(0x454,0x47d)][_0x377e46(0x462,0x4d1)]=this['_map'][_0x377e46(0x543,0x4d9)]['canvas'][_0x3a0b34(0x328,0x3b0)]+'px',this[_0x377e46(0x5c7,0x598)]['width']=this['_map'][_0x3a0b34(0x424,0x3eb)][_0x377e46(0x56e,0x598)]['clientWidth'],this['canvas']['height']=this['_map']['scene']['canvas'][_0x377e46(0x4be,0x49e)]);}['bindEvent'](){const _0x1480d1=this;let _0x367730=Date['now']();(function _0x4e2a60(){function _0x2367cc(_0x16e8ab,_0x2095b2){return _0x9531(_0x2095b2- -0x22c,_0x16e8ab);}_0x1480d1['animateFrame']=window[_0x2367cc(0x29,-0x12)](_0x4e2a60);if(_0x1480d1['show']&&_0x1480d1['windField']){const _0x4fc07e=Date['now'](),_0x3bb7ad=_0x4fc07e-_0x367730;_0x3bb7ad>_0x1480d1['frameTime']&&(_0x367730=_0x4fc07e-_0x3bb7ad%_0x1480d1['frameTime'],_0x1480d1['update']());}}());function _0x18b07a(_0x86de21,_0x125a08){return _0x20001d(_0x125a08,_0x86de21- -0x40b);}window['addEventListener']('resize',this['resize'][_0x41e917(-0x24,0x2d)](this),![]),this['mouse_down']=![];function _0x41e917(_0x50386b,_0x714c74){return _0x437391(_0x50386b,_0x714c74- -0x5b5);}this[_0x18b07a(0x22a,0x282)]=![],this[_0x18b07a(0x242,0x283)]['mouseHidden']&&(this['_map']['on'](mars3d__namespace[_0x41e917(0x1b,0x10)][_0x18b07a(0x203,0x25f)],this['_onMapWhellEvent'],this),this['_map']['on'](mars3d__namespace[_0x18b07a(0x166,0x172)]['mouseDown'],this['_onMouseDownEvent'],this),this['_map']['on'](mars3d__namespace[_0x41e917(0x1f,0x10)]['mouseUp'],this['_onMouseUpEvent'],this));}['unbindEvent'](){function _0x3d67d8(_0x36b50d,_0x57c0fb){return _0x437391(_0x57c0fb,_0x36b50d- -0xd1);}function _0x330cd(_0x58acb0,_0x4e3ffd){return _0x437391(_0x58acb0,_0x4e3ffd- -0x61);}window[_0x3d67d8(0x57e,0x5fe)](this['animateFrame']),delete this['animateFrame'],window['removeEventListener'](_0x3d67d8(0x543,0x52f),this[_0x3d67d8(0x543,0x540)]),this['options']['mouseHidden']&&(this['_map']['off'](mars3d__namespace[_0x3d67d8(0x4f4,0x561)][_0x330cd(0x5f0,0x601)],this[_0x330cd(0x5ea,0x585)],this),this['_map']['off'](mars3d__namespace['EventType']['mouseDown'],this[_0x330cd(0x6d8,0x663)],this),this['_map']['off'](mars3d__namespace['EventType'][_0x3d67d8(0x502,0x4e2)],this[_0x3d67d8(0x59a,0x5b5)],this),this[_0x3d67d8(0x541,0x511)]['off'](mars3d__namespace[_0x330cd(0x5b9,0x564)]['mouseMove'],this['_onMouseMoveEvent'],this));}[_0x20001d(0x5c5,0x592)](_0x59adb9){clearTimeout(this['refreshTimer']);if(!this['show']||!this[_0x348abe(0x9c,0xfa)])return;function _0x348abe(_0x30728b,_0x253b18){return _0x20001d(_0x30728b,_0x253b18- -0x584);}this['canvas']['style']['visibility']=_0xc60b85(0x5a5,0x5c2);function _0xc60b85(_0x67b555,_0x214f8e){return _0x437391(_0x67b555,_0x214f8e- -0x19);}this['refreshTimer']=setTimeout(()=>{if(!this['show'])return;this[_0x2ae702(0x5c6,0x64c)]();function _0x2ae702(_0x12e934,_0x2924cd){return _0xc60b85(_0x2924cd,_0x12e934- -0xf2);}function _0x1ec910(_0x190b0c,_0xeda224){return _0xc60b85(_0x190b0c,_0xeda224- -0x5b8);}this[_0x2ae702(0x5c7,0x621)][_0x2ae702(0x59a,0x5c3)]['visibility']='visible';},0xc8);}[_0x437391(0x698,0x6c4)](_0x46e277){function _0x400299(_0x5f2a45,_0x4f455c){return _0x437391(_0x4f455c,_0x5f2a45- -0x1ba);}this[_0x5d19c7(-0x1b6,-0x1fd)]=!![],this['_map'][_0x400299(0x41d,0x44f)](mars3d__namespace['EventType']['mouseMove'],this[_0x400299(0x4d0,0x550)],this);function _0x5d19c7(_0x412720,_0x1c1a1c){return _0x437391(_0x1c1a1c,_0x412720- -0x7a2);}this[_0x5d19c7(-0x190,-0x14d)]['on'](mars3d__namespace[_0x5d19c7(-0x1dd,-0x252)][_0x400299(0x44a,0x43c)],this[_0x400299(0x4d0,0x4b5)],this);}['_onMouseMoveEvent'](_0x3b99bd){if(!this['show']||!this['canvas'])return;function _0x34cd7e(_0x32afbc,_0x13e877){return _0x437391(_0x13e877,_0x32afbc- -0x576);}function _0x561e2c(_0x8f9e0a,_0x14e2ac){return _0x20001d(_0x14e2ac,_0x8f9e0a- -0x28c);}this[_0x561e2c(0x30c,0x2fc)]&&(this[_0x34cd7e(0x15c,0x159)][_0x34cd7e(0x12f,0x132)][_0x34cd7e(0x64,0x71)]=_0x561e2c(0x2fb,0x315),this[_0x34cd7e(0x113,0xba)]=!![]);}['_onMouseUpEvent'](_0x513505){if(!this['show']||!this['canvas'])return;this['_map'][_0x5d8008(0xf3,0xea)](mars3d__namespace[_0x5d8008(0xe1,0x74)][_0x5d8008(0x120,0xd9)],this['_onMouseMoveEvent'],this);function _0x5e1ecd(_0x17151e,_0x83b3ff){return _0x20001d(_0x83b3ff,_0x17151e- -0x2b1);}this['mouse_down']&&this['mouse_move']&&this[_0x5e1ecd(0x3cc,0x389)]();function _0x5d8008(_0x342788,_0x3bc5bf){return _0x437391(_0x3bc5bf,_0x342788- -0x4e4);}this['canvas']['style'][_0x5d8008(0xf6,0x12d)]='visible',this['mouse_down']=![],this['mouse_move']=![];}['setData'](_0x4d3a1e){this[_0x127a5b(-0x167,-0x136)](),this['windData']=_0x4d3a1e,this['windField']['setDate'](_0x4d3a1e);function _0x127a5b(_0x54d304,_0x1928ba){return _0x20001d(_0x54d304,_0x1928ba- -0x6cb);}this['redraw']();}['redraw'](){if(!this['show'])return;this['windField']['setOptions'](this['options']),this['update']();}['update'](){function _0x19226d(_0x22d57c,_0x3a5bdb){return _0x437391(_0x22d57c,_0x3a5bdb- -0x20f);}if(this[_0x19226d(0x423,0x422)])return;this[_0x19226d(0x3b4,0x422)]=!![];function _0x4b6bed(_0xd8c2a7,_0x3503e7){return _0x20001d(_0xd8c2a7,_0x3503e7- -0x569);}if(this['worker'])this['windField'][_0x4b6bed(0x46,0xaa)]();else{const _0x14f3bf=this['windField']['getParticles']();this[_0x19226d(0x4a7,0x445)](_0x14f3bf);}this[_0x19226d(0x3ec,0x422)]=![];}[_0x20001d(0x5fa,0x600)](_0x453cba){this['canvasContext']['globalCompositeOperation']=_0x488138(0x683,0x615),this[_0x52aec7(0x143,0x179)][_0x52aec7(0x19d,0x1cb)](0x0,0x0,this[_0x52aec7(0x184,0x1a7)],this['canvasHeight']);function _0x488138(_0x54ead4,_0x15d2c7){return _0x437391(_0x15d2c7,_0x54ead4- -0x35);}this['canvasContext'][_0x488138(0x68e,0x661)]='lighter',this[_0x52aec7(0x143,0x186)]['globalAlpha']=0.9;const _0x1919e4=this[_0x488138(0x5dd,0x55f)][_0x488138(0x5de,0x5c0)][_0x52aec7(0x194,0x19f)]!==Cesium[_0x488138(0x635,0x5e3)]['SCENE3D'];function _0x52aec7(_0x4370a3,_0x452eeb){return _0x437391(_0x452eeb,_0x4370a3- -0x4c6);}const _0x5e651b=this['canvasWidth']*0.25;if(this[_0x52aec7(0x156,0x121)])for(let _0x449fd5=0x0,_0xf1ec69=_0x453cba['length'];_0x449fd5<_0xf1ec69;_0x449fd5++){const _0x5c7166=_0x453cba[_0x449fd5],_0x5f111d=this['_tomap'](_0x5c7166['lng'],_0x5c7166['lat'],_0x5c7166),_0x3573b4=this['_tomap'](_0x5c7166['tlng'],_0x5c7166['tlat'],_0x5c7166);if(!_0x5f111d||!_0x3573b4)continue;if(_0x1919e4&&Math[_0x488138(0x672,0x638)](_0x5f111d[0x0]-_0x3573b4[0x0])>=_0x5e651b)continue;this[_0x52aec7(0x143,0x12e)]['beginPath'](),this['canvasContext']['lineWidth']=this[_0x52aec7(0x1bf,0x159)],this['canvasContext']['strokeStyle']=this[_0x52aec7(0x156,0x126)]['getColor'](_0x5c7166['speed']),this[_0x488138(0x5d4,0x624)]['moveTo'](_0x5f111d[0x0],_0x5f111d[0x1]),this['canvasContext']['lineTo'](_0x3573b4[0x0],_0x3573b4[0x1]),this['canvasContext']['stroke']();}else{this['canvasContext']['beginPath'](),this['canvasContext']['lineWidth']=this[_0x488138(0x650,0x618)],this[_0x52aec7(0x143,0xfa)]['strokeStyle']=this['color'];for(let _0x172b85=0x0,_0x472365=_0x453cba[_0x52aec7(0x1d2,0x1a2)];_0x172b85<_0x472365;_0x172b85++){const _0x55d283=_0x453cba[_0x172b85],_0x328a98=this[_0x52aec7(0x183,0x152)](_0x55d283['lng'],_0x55d283['lat'],_0x55d283),_0x3032c5=this[_0x52aec7(0x183,0x20b)](_0x55d283['tlng'],_0x55d283['tlat'],_0x55d283);if(!_0x328a98||!_0x3032c5)continue;if(_0x1919e4&&Math['abs'](_0x328a98[0x0]-_0x3032c5[0x0])>=_0x5e651b)continue;this['canvasContext']['moveTo'](_0x328a98[0x0],_0x328a98[0x1]),this['canvasContext']['lineTo'](_0x3032c5[0x0],_0x3032c5[0x1]);}this['canvasContext'][_0x488138(0x610,0x696)]();}}['_tomap'](_0x1b2ad9,_0x5ec5be,_0x7d8b95){const _0x26a776=Cesium[_0x3185f8(0x15c,0xd6)]['fromDegrees'](_0x1b2ad9,_0x5ec5be,this[_0x3fec7f(0x3c2,0x422)]);function _0x3185f8(_0x11a00f,_0x28f1e8){return _0x20001d(_0x28f1e8,_0x11a00f- -0x44a);}function _0x3fec7f(_0xd6fd5,_0x31496a){return _0x437391(_0xd6fd5,_0x31496a- -0x251);}const _0x4cd785=this[_0x3185f8(0x174,0x17d)]['scene'];if(_0x4cd785['mode']===Cesium['SceneMode']['SCENE3D']){const _0x37a6a7=new Cesium[(_0x3185f8(0x1c2,0x1f1))](_0x4cd785['globe']['ellipsoid'],_0x4cd785[_0x3fec7f(0x44b,0x426)]['positionWC']),_0xeb8c78=_0x37a6a7['isPointVisible'](_0x26a776);if(!_0xeb8c78)return _0x7d8b95[_0x3fec7f(0x45a,0x46b)]=0x0,null;}const _0x2e0597=Cesium['SceneTransforms'][_0x3185f8(0x1f3,0x226)](this[_0x3fec7f(0x37a,0x3c1)][_0x3185f8(0x175,0x179)],_0x26a776);return _0x2e0597?[_0x2e0597['x'],_0x2e0597['y']]:null;}['clear'](){function _0xb69705(_0x17372b,_0x33c848){return _0x20001d(_0x33c848,_0x17372b- -0x436);}function _0x1c6658(_0x3d8006,_0x1ff14c){return _0x20001d(_0x3d8006,_0x1ff14c- -0x1d7);}this['windField'][_0xb69705(0x15f,0x114)](),delete this[_0xb69705(0x193,0x133)];}['initWorker'](){function _0x3e09ce(_0x333fcf,_0x2694cc){return _0x20001d(_0x333fcf,_0x2694cc- -0x24a);}this[_0x3e09ce(0x3d8,0x418)]=new Worker(this['options']['worker']),this[_0x3e09ce(0x417,0x418)]['onmessage']=_0x37f9f7=>{function _0x5c60a2(_0x6a2e6,_0x5479c5){return _0x565dd2(_0x6a2e6,_0x5479c5- -0x4da);}function _0x4e8ae9(_0xf49a9b,_0x329a34){return _0x565dd2(_0xf49a9b,_0x329a34- -0x75e);}this[_0x4e8ae9(-0x1a6,-0x137)](_0x37f9f7[_0x5c60a2(0x153,0x1b9)][_0x5c60a2(0x211,0x1a8)]),this[_0x5c60a2(0x23b,0x1c6)]=![];},this[_0x3e09ce(0x347,0x3be)]={'init':_0xbfc967=>{const _0x2f7bcb={};function _0x13963a(_0x5e1179,_0x28f3bd){return _0x3e09ce(_0x5e1179,_0x28f3bd- -0x13e);}_0x2f7bcb[_0x13963a(0x263,0x25b)]=_0x14e0dc(0x43d,0x40d),_0x2f7bcb['options']=_0xbfc967;function _0x14e0dc(_0x3ca24d,_0x589b52){return _0x565dd2(_0x589b52,_0x3ca24d- -0x239);}this['worker']['postMessage'](_0x2f7bcb);},'setOptions':_0x1a4195=>{const _0x5c5eb6={};function _0x245006(_0x8b3549,_0x4d5ca5){return _0x3e09ce(_0x4d5ca5,_0x8b3549- -0x45);}_0x5c5eb6[_0x245006(0x354,0x32e)]=_0x113898(0x182,0x1f4),_0x5c5eb6['options']=_0x1a4195;function _0x113898(_0x1c55bb,_0x36a854){return _0x565dd2(_0x36a854,_0x1c55bb- -0x4c7);}this[_0x113898(0x1c2,0x21f)]['postMessage'](_0x5c5eb6);},'setDate':_0x490f7e=>{function _0x2f9bb2(_0x2c48c9,_0x5c66e5){return _0x3e09ce(_0x2c48c9,_0x5c66e5-0x246);}function _0x33cb54(_0x578dd1,_0xebed3c){return _0x3e09ce(_0xebed3c,_0x578dd1-0x293);}const _0x302a45={};_0x302a45['type']=_0x33cb54(0x5f6,0x5d0),_0x302a45['data']=_0x490f7e,this[_0x2f9bb2(0x642,0x65e)]['postMessage'](_0x302a45);},'update':()=>{if(this[_0x1cc8e3(0x46c,0x4cb)])return;function _0x301ab7(_0x2ba294,_0x38e6e3){return _0x565dd2(_0x2ba294,_0x38e6e3- -0xe);}function _0x1cc8e3(_0x25c3c6,_0x4b2c48){return _0x3e09ce(_0x25c3c6,_0x4b2c48-0x9c);}this[_0x301ab7(0x70e,0x692)]=!![];const _0x1a4552={};_0x1a4552[_0x301ab7(0x64e,0x5fc)]=_0x1cc8e3(0x4e5,0x465),this['worker'][_0x1cc8e3(0x3f9,0x3e3)](_0x1a4552);},'clear':()=>{function _0x37a055(_0x38c60d,_0x1ed0d7){return _0x565dd2(_0x1ed0d7,_0x38c60d- -0x391);}const _0x2e0b88={};_0x2e0b88['type']='clear',this[_0x37a055(0x2f8,0x375)]['postMessage'](_0x2e0b88);}};function _0x565dd2(_0x466e80,_0x683460){return _0x437391(_0x466e80,_0x683460- -0x2d);}this['windField']['init'](this['options']);}}mars3d__namespace[_0x20001d(0x5ec,0x56f)]['register']('canvasWind',CanvasWindLayer),mars3d__namespace[_0x20001d(0x5db,0x62f)]['CanvasWindLayer']=CanvasWindLayer,mars3d__namespace['CanvasWindField']=CanvasWindField,mars3d__namespace[_0x437391(0x6c3,0x63c)]=WindUtil,exports[_0x20001d(0x622,0x5a2)]=CanvasWindField,exports['CanvasWindLayer']=CanvasWindLayer,exports['WindLayer']=WindLayer,exports[_0x437391(0x689,0x63c)]=WindUtil;const _0x513c65={};_0x513c65[_0x437391(0x5e1,0x5dd)]=!![];function _0x20001d(_0x40700,_0x2e4d50){return _0x9531(_0x2e4d50-0x390,_0x40700);}Object['defineProperty'](exports,'__esModule',_0x513c65);
15
15
  }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mars3d-wind",
3
- "version": "3.7.13",
3
+ "version": "3.7.15",
4
4
  "description": "Mars3D平台插件,支持气象 风向图 功能插件",
5
5
  "main": "dist/mars3d-wind.js",
6
6
  "files": [
@@ -8,7 +8,7 @@
8
8
  ],
9
9
  "peerDependencies": {},
10
10
  "devDependencies": {
11
- "mars3d": "~3.7.13"
11
+ "mars3d": "~3.7.15"
12
12
  },
13
13
  "scripts": {
14
14
  "lint": "eslint ./src/**/*.{js,ts} --fix"