mars3d-wind 3.1.14 → 3.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/mars3d-wind.js +3 -3
- package/package.json +6 -3
- package/index.html +0 -124
package/README.md
CHANGED
package/dist/mars3d-wind.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Mars3D平台插件,支持气象 风向图 功能插件
|
|
3
|
-
* 版本信息:v3.1.
|
|
4
|
-
* 编译日期:
|
|
3
|
+
* 版本信息:v3.1.19
|
|
4
|
+
* 编译日期:2022-01-02 13:46:17
|
|
5
5
|
* 版权所有:Copyright by 火星科技 http://mars3d.cn
|
|
6
6
|
*/
|
|
7
7
|
(function webpackUniversalModuleDefinition(window) {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
function a0_0x1826(_0x2ede90,_0x2a17f1){var _0x37ae7c=a0_0x37ae();return a0_0x1826=function(_0x182644,_0x437706){_0x182644=_0x182644-0xea;var _0x573096=_0x37ae7c[_0x182644];return _0x573096;},a0_0x1826(_0x2ede90,_0x2a17f1);}var a0_0x451a91=a0_0x1826;(function(_0x35ef33,_0x2c4b1a){var _0x5b2f52=a0_0x1826,_0x5c5bf0=_0x35ef33();while(!![]){try{var _0x7b0be9=parseInt(_0x5b2f52(0x198))/0x1+-parseInt(_0x5b2f52(0x127))/0x2*(-parseInt(_0x5b2f52(0x25a))/0x3)+-parseInt(_0x5b2f52(0x1f8))/0x4+parseInt(_0x5b2f52(0x1a5))/0x5+-parseInt(_0x5b2f52(0x255))/0x6*(-parseInt(_0x5b2f52(0x1c7))/0x7)+-parseInt(_0x5b2f52(0x1cf))/0x8+parseInt(_0x5b2f52(0x251))/0x9*(parseInt(_0x5b2f52(0x12c))/0xa);if(_0x7b0be9===_0x2c4b1a)break;else _0x5c5bf0['push'](_0x5c5bf0['shift']());}catch(_0x508778){_0x5c5bf0['push'](_0x5c5bf0['shift']());}}}(a0_0x37ae,0xe64d5),window[a0_0x451a91(0x12a)]=function(_0x2e95ac){var _0x5d0bf7={};function _0x4dbf09(_0x5c1575){var _0x591d7c=a0_0x1826;if(_0x5d0bf7[_0x5c1575])return _0x5d0bf7[_0x5c1575][_0x591d7c(0xfa)];var _0x52df2c=_0x5d0bf7[_0x5c1575]={'i':_0x5c1575,'l':!0x1,'exports':{}};return _0x2e95ac[_0x5c1575]['call'](_0x52df2c[_0x591d7c(0xfa)],_0x52df2c,_0x52df2c[_0x591d7c(0xfa)],_0x4dbf09),_0x52df2c['l']=!0x0,_0x52df2c[_0x591d7c(0xfa)];}return _0x4dbf09['m']=_0x2e95ac,_0x4dbf09['c']=_0x5d0bf7,_0x4dbf09['d']=function(_0x56307d,_0x8cf086,_0x35d35a){var _0x45db84=a0_0x1826;_0x4dbf09['o'](_0x56307d,_0x8cf086)||Object[_0x45db84(0x1f0)](_0x56307d,_0x8cf086,{'enumerable':!0x0,'get':_0x35d35a});},_0x4dbf09['r']=function(_0x4f7108){var _0x3b48dc=a0_0x1826;'undefined'!=typeof Symbol&&Symbol[_0x3b48dc(0x1f9)]&&Object['defineProperty'](_0x4f7108,Symbol[_0x3b48dc(0x1f9)],{'value':_0x3b48dc(0x13e)}),Object[_0x3b48dc(0x1f0)](_0x4f7108,_0x3b48dc(0x23e),{'value':!0x0});},_0x4dbf09['t']=function(_0x136b10,_0x13b0e6){var _0x18a5ea=a0_0x1826;if(0x1&_0x13b0e6&&(_0x136b10=_0x4dbf09(_0x136b10)),0x8&_0x13b0e6)return _0x136b10;if(0x4&_0x13b0e6&&_0x18a5ea(0x1f1)==typeof _0x136b10&&_0x136b10&&_0x136b10[_0x18a5ea(0x23e)])return _0x136b10;var _0x84a91a=Object[_0x18a5ea(0x1c0)](null);if(_0x4dbf09['r'](_0x84a91a),Object[_0x18a5ea(0x1f0)](_0x84a91a,_0x18a5ea(0x181),{'enumerable':!0x0,'value':_0x136b10}),0x2&_0x13b0e6&&_0x18a5ea(0x16b)!=typeof _0x136b10){for(var _0x52de16 in _0x136b10)_0x4dbf09['d'](_0x84a91a,_0x52de16,function(_0x35b254){return _0x136b10[_0x35b254];}['bind'](null,_0x52de16));}return _0x84a91a;},_0x4dbf09['n']=function(_0x245ba0){var _0x479910=_0x245ba0&&_0x245ba0['__esModule']?function(){return _0x245ba0['default'];}:function(){return _0x245ba0;};return _0x4dbf09['d'](_0x479910,'a',_0x479910),_0x479910;},_0x4dbf09['o']=function(_0x32a543,_0x41a0d2){var _0x1faee3=a0_0x1826;return Object['prototype'][_0x1faee3(0x178)]['call'](_0x32a543,_0x41a0d2);},_0x4dbf09['p']='',_0x4dbf09(_0x4dbf09['s']=0x14);}([function(_0xd0d885,_0x270709){var _0x451b0c=a0_0x451a91;_0xd0d885['exports']=window[_0x451b0c(0x1a9)];},function(_0x406845,_0x36dfbb){var _0x40aea5=a0_0x451a91;_0x406845[_0x40aea5(0xfa)]=window['mars3d'];},function(_0x19467d,_0x5ab3d7){var _0x4e9c8a=a0_0x451a91;_0x19467d[_0x4e9c8a(0xfa)]=function(_0x410d64,_0x33e493){var _0x56d9ec=_0x4e9c8a;if(!(_0x410d64 instanceof _0x33e493))throw new TypeError(_0x56d9ec(0x18a));},_0x19467d[_0x4e9c8a(0xfa)][_0x4e9c8a(0x181)]=_0x19467d['exports'],_0x19467d['exports'][_0x4e9c8a(0x23e)]=!0x0;},function(_0x46b6a3,_0x41018c){var _0x20247e=a0_0x451a91;function _0x33935e(_0x3d9672,_0x35914d){var _0x45aece=a0_0x1826;for(var _0x5c91e5=0x0;_0x5c91e5<_0x35914d[_0x45aece(0x1b8)];_0x5c91e5++){var _0x294f42=_0x35914d[_0x5c91e5];_0x294f42['enumerable']=_0x294f42[_0x45aece(0x1c4)]||!0x1,_0x294f42[_0x45aece(0x19e)]=!0x0,_0x45aece(0x1a0)in _0x294f42&&(_0x294f42[_0x45aece(0x111)]=!0x0),Object['defineProperty'](_0x3d9672,_0x294f42[_0x45aece(0x239)],_0x294f42);}}_0x46b6a3[_0x20247e(0xfa)]=function(_0xeabdec,_0x570af1,_0x1e3917){return _0x570af1&&_0x33935e(_0xeabdec['prototype'],_0x570af1),_0x1e3917&&_0x33935e(_0xeabdec,_0x1e3917),_0xeabdec;},_0x46b6a3[_0x20247e(0xfa)][_0x20247e(0x181)]=_0x46b6a3['exports'],_0x46b6a3[_0x20247e(0xfa)]['__esModule']=!0x0;},function(_0x3c5cd0,_0x4e3241){var _0x48bd27=a0_0x451a91;function _0x29d545(_0x4be594){var _0x272488=a0_0x1826;return _0x3c5cd0[_0x272488(0xfa)]=_0x29d545=Object[_0x272488(0x25d)]?Object[_0x272488(0x199)]:function(_0x307f6a){var _0x5d28e0=_0x272488;return _0x307f6a[_0x5d28e0(0x1ae)]||Object['getPrototypeOf'](_0x307f6a);},_0x3c5cd0[_0x272488(0xfa)]['default']=_0x3c5cd0['exports'],_0x3c5cd0['exports']['__esModule']=!0x0,_0x29d545(_0x4be594);}_0x3c5cd0['exports']=_0x29d545,_0x3c5cd0[_0x48bd27(0xfa)][_0x48bd27(0x181)]=_0x3c5cd0[_0x48bd27(0xfa)],_0x3c5cd0[_0x48bd27(0xfa)][_0x48bd27(0x23e)]=!0x0;},function(_0x40bea2,_0x1eba0d,_0x181694){var _0x5823d3=a0_0x451a91,_0x3d49ac=_0x181694(0x11);_0x40bea2[_0x5823d3(0xfa)]=function(_0x114dd4,_0x12dddb){var _0x40fb31=_0x5823d3;if(_0x40fb31(0x204)!=typeof _0x12dddb&&null!==_0x12dddb)throw new TypeError(_0x40fb31(0x215));_0x114dd4[_0x40fb31(0x15f)]=Object['create'](_0x12dddb&&_0x12dddb[_0x40fb31(0x15f)],{'constructor':{'value':_0x114dd4,'writable':!0x0,'configurable':!0x0}}),_0x12dddb&&_0x3d49ac(_0x114dd4,_0x12dddb);},_0x40bea2['exports'][_0x5823d3(0x181)]=_0x40bea2[_0x5823d3(0xfa)],_0x40bea2[_0x5823d3(0xfa)][_0x5823d3(0x23e)]=!0x0;},function(_0x3c1196,_0x34e281,_0xa0541a){var _0x33e2a2=a0_0x451a91,_0x5ca02e=_0xa0541a(0x12)['default'],_0x33b79e=_0xa0541a(0x13);_0x3c1196[_0x33e2a2(0xfa)]=function(_0x1d01f5,_0x26f093){var _0x4ba69b=_0x33e2a2;if(_0x26f093&&(_0x4ba69b(0x1f1)===_0x5ca02e(_0x26f093)||_0x4ba69b(0x204)==typeof _0x26f093))return _0x26f093;if(void 0x0!==_0x26f093)throw new TypeError(_0x4ba69b(0xf8));return _0x33b79e(_0x1d01f5);},_0x3c1196['exports']['default']=_0x3c1196[_0x33e2a2(0xfa)],_0x3c1196[_0x33e2a2(0xfa)]['__esModule']=!0x0;},function(_0x404ef5,_0x216dd2){var _0xdcc07d=a0_0x451a91;_0x404ef5[_0xdcc07d(0xfa)]=_0xdcc07d(0x250);},function(_0x315b29,_0x3f1941){var _0x259ab5=a0_0x451a91;_0x315b29[_0x259ab5(0xfa)]=_0x259ab5(0x160);},function(_0x2b1fd3,_0x276c0e){var _0x39b827=a0_0x451a91;_0x2b1fd3[_0x39b827(0xfa)]=_0x39b827(0x118);},function(_0x114c15,_0x317a0b){var _0x9bacee=a0_0x451a91;_0x114c15['exports']=_0x9bacee(0x158);},function(_0x150909,_0x3a8ff8){var _0x159edc=a0_0x451a91;_0x150909['exports']=_0x159edc(0x117);},function(_0x136e2a,_0x1d8330){var _0x39502c=a0_0x451a91;_0x136e2a[_0x39502c(0xfa)]=_0x39502c(0x1e8);},function(_0x5beb2b,_0x3e804d){var _0xa7f599=a0_0x451a91;_0x5beb2b[_0xa7f599(0xfa)]='uniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0auniform\x20sampler2D\x20particlesWind;\x0a\x0a//\x20used\x20to\x20calculate\x20the\x20wind\x20norm\x0auniform\x20vec2\x20uSpeedRange;\x20//\x20(min,\x20max);\x0auniform\x20vec2\x20vSpeedRange;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20speedFactor;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0afloat\x20calculateWindNorm(vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec3\x20percent\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20percent.x\x20=\x20(speed.x\x20-\x20uSpeedRange.x)\x20/\x20(uSpeedRange.y\x20-\x20uSpeedRange.x);\x0a\x20\x20\x20\x20percent.y\x20=\x20(speed.y\x20-\x20vSpeedRange.x)\x20/\x20(vSpeedRange.y\x20-\x20vSpeedRange.x);\x0a\x20\x20\x20\x20float\x20normalization\x20=\x20length(percent);\x0a\x0a\x20\x20\x20\x20return\x20normalization;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20currentSpeed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture2D(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindNorm(windVector));\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20nextSpeed;\x0a}';},function(_0xb086a6,_0xac234a){var _0x4d68f7=a0_0x451a91;_0xb086a6[_0x4d68f7(0xfa)]=_0x4d68f7(0x138);},function(_0x24adf4,_0x29c3b5){var _0xc36360=a0_0x451a91;_0x24adf4[_0xc36360(0xfa)]=_0xc36360(0x12f);},function(_0x48116b,_0x47686c){var _0x3b6d58=a0_0x451a91;_0x48116b[_0x3b6d58(0xfa)]='uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture2D(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}';},function(_0x2d17aa,_0x23feec){var _0x25784e=a0_0x451a91;function _0x5c16f4(_0x44a397,_0x1b5411){var _0x1a974f=a0_0x1826;return _0x2d17aa['exports']=_0x5c16f4=Object[_0x1a974f(0x25d)]||function(_0x401917,_0x5ddf39){var _0x22c486=_0x1a974f;return _0x401917[_0x22c486(0x1ae)]=_0x5ddf39,_0x401917;},_0x2d17aa[_0x1a974f(0xfa)][_0x1a974f(0x181)]=_0x2d17aa[_0x1a974f(0xfa)],_0x2d17aa[_0x1a974f(0xfa)][_0x1a974f(0x23e)]=!0x0,_0x5c16f4(_0x44a397,_0x1b5411);}_0x2d17aa[_0x25784e(0xfa)]=_0x5c16f4,_0x2d17aa[_0x25784e(0xfa)]['default']=_0x2d17aa[_0x25784e(0xfa)],_0x2d17aa['exports']['__esModule']=!0x0;},function(_0x54082e,_0x14a22b){var _0x3a89f8=a0_0x451a91;function _0x5eff42(_0x54625b){var _0x51bf68=a0_0x1826;return'function'==typeof Symbol&&_0x51bf68(0x172)==typeof Symbol[_0x51bf68(0x185)]?(_0x54082e['exports']=_0x5eff42=function(_0x334a54){return typeof _0x334a54;},_0x54082e[_0x51bf68(0xfa)][_0x51bf68(0x181)]=_0x54082e['exports'],_0x54082e[_0x51bf68(0xfa)]['__esModule']=!0x0):(_0x54082e['exports']=_0x5eff42=function(_0x4297e9){var _0x55e089=_0x51bf68;return _0x4297e9&&_0x55e089(0x204)==typeof Symbol&&_0x4297e9[_0x55e089(0x1d5)]===Symbol&&_0x4297e9!==Symbol[_0x55e089(0x15f)]?_0x55e089(0x172):typeof _0x4297e9;},_0x54082e[_0x51bf68(0xfa)][_0x51bf68(0x181)]=_0x54082e[_0x51bf68(0xfa)],_0x54082e[_0x51bf68(0xfa)][_0x51bf68(0x23e)]=!0x0),_0x5eff42(_0x54625b);}_0x54082e[_0x3a89f8(0xfa)]=_0x5eff42,_0x54082e[_0x3a89f8(0xfa)][_0x3a89f8(0x181)]=_0x54082e[_0x3a89f8(0xfa)],_0x54082e[_0x3a89f8(0xfa)][_0x3a89f8(0x23e)]=!0x0;},function(_0x14f015,_0x1d8ece){var _0x149557=a0_0x451a91;_0x14f015[_0x149557(0xfa)]=function(_0x25c497){var _0x2fea91=_0x149557;if(void 0x0===_0x25c497)throw new ReferenceError(_0x2fea91(0x169));return _0x25c497;},_0x14f015[_0x149557(0xfa)][_0x149557(0x181)]=_0x14f015[_0x149557(0xfa)],_0x14f015[_0x149557(0xfa)][_0x149557(0x23e)]=!0x0;},function(_0x3d1f94,_0x36b9c6,_0x41d743){'use strict';var _0x57087a=a0_0x451a91;_0x41d743['r'](_0x36b9c6),_0x41d743['d'](_0x36b9c6,'WindLayer',function(){return _0x42ce4d;}),_0x41d743['d'](_0x36b9c6,'CanvasWindLayer',function(){return _0x33eddd;}),_0x41d743['d'](_0x36b9c6,_0x57087a(0x200),function(){return _0xed3438;});var _0xed3438={};_0x41d743['r'](_0xed3438),_0x41d743['d'](_0xed3438,_0x57087a(0x151),function(){return _0x4a736f;}),_0x41d743['d'](_0xed3438,_0x57087a(0x1f5),function(){return _0x11c83d;}),_0x41d743['d'](_0xed3438,_0x57087a(0x1ed),function(){return _0x8b38a9;}),_0x41d743['d'](_0xed3438,_0x57087a(0x230),function(){return _0x6bffb1;});var _0x2d2191=_0x41d743(0x1),_0xe1cd82=_0x41d743(0x2),_0x35ab5e=_0x41d743['n'](_0xe1cd82),_0x554d28=_0x41d743(0x3),_0x523d98=_0x41d743['n'](_0x554d28),_0xeb0f19=_0x41d743(0x5),_0x4db58a=_0x41d743['n'](_0xeb0f19),_0x29370d=_0x41d743(0x6),_0x44e267=_0x41d743['n'](_0x29370d),_0x3c4f7a=_0x41d743(0x4),_0x43ce30=_0x41d743['n'](_0x3c4f7a),_0x571827=_0x41d743(0x0),_0x4132d6=function(){var _0x50105d=_0x57087a;function _0x5e7bd9(_0x17464a){var _0x57dbc7=a0_0x1826;_0x35ab5e()(this,_0x5e7bd9),this['commandType']=_0x17464a[_0x57dbc7(0x235)],this[_0x57dbc7(0x121)]=_0x17464a[_0x57dbc7(0x121)],this[_0x57dbc7(0x16c)]=_0x17464a['attributeLocations'],this['primitiveType']=_0x17464a['primitiveType'],this[_0x57dbc7(0x1bc)]=_0x17464a[_0x57dbc7(0x1bc)],this[_0x57dbc7(0x132)]=_0x17464a['vertexShaderSource'],this['fragmentShaderSource']=_0x17464a[_0x57dbc7(0x1ca)],this[_0x57dbc7(0xfe)]=_0x17464a[_0x57dbc7(0xfe)],this[_0x57dbc7(0x24a)]=_0x17464a[_0x57dbc7(0x24a)],this[_0x57dbc7(0x177)]=_0x17464a[_0x57dbc7(0x177)],this['autoClear']=_0x571827['defaultValue'](_0x17464a[_0x57dbc7(0x21a)],!0x1),this['preExecute']=_0x17464a[_0x57dbc7(0x260)],this[_0x57dbc7(0x133)]=!0x0,this[_0x57dbc7(0x19b)]=void 0x0,this[_0x57dbc7(0x1eb)]=void 0x0,this[_0x57dbc7(0x21a)]&&(this[_0x57dbc7(0x1eb)]=new _0x571827['ClearCommand']({'color':new _0x571827['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x57dbc7(0x24a)],'pass':_0x571827[_0x57dbc7(0x1b2)][_0x57dbc7(0x10f)]}));}return _0x523d98()(_0x5e7bd9,[{'key':_0x50105d(0x241),'value':function(_0x4b6240){var _0x36a0fe=_0x50105d;switch(this['commandType']){case _0x36a0fe(0x18b):var _0x20f9bf=_0x571827[_0x36a0fe(0x203)][_0x36a0fe(0x124)]({'context':_0x4b6240,'geometry':this['geometry'],'attributeLocations':this['attributeLocations'],'bufferUsage':_0x571827[_0x36a0fe(0x1c9)]['STATIC_DRAW']}),_0x14bacc=_0x571827[_0x36a0fe(0x129)][_0x36a0fe(0x258)]({'context':_0x4b6240,'attributeLocations':this[_0x36a0fe(0x16c)],'vertexShaderSource':this[_0x36a0fe(0x132)],'fragmentShaderSource':this[_0x36a0fe(0x1ca)]}),_0x287cb9=_0x571827[_0x36a0fe(0x1e5)]['fromCache'](this[_0x36a0fe(0xfe)]);return new _0x571827[(_0x36a0fe(0x23a))]({'owner':this,'vertexArray':_0x20f9bf,'primitiveType':this['primitiveType'],'uniformMap':this[_0x36a0fe(0x1bc)],'modelMatrix':_0x571827['Matrix4'][_0x36a0fe(0x10e)],'shaderProgram':_0x14bacc,'framebuffer':this[_0x36a0fe(0x24a)],'renderState':_0x287cb9,'pass':_0x571827[_0x36a0fe(0x1b2)]['OPAQUE']});case _0x36a0fe(0x25b):return new _0x571827[(_0x36a0fe(0x14a))]({'owner':this,'fragmentShaderSource':this[_0x36a0fe(0x1ca)],'uniformMap':this['uniformMap'],'outputTexture':this['outputTexture'],'persists':!0x0});}}},{'key':_0x50105d(0xf0),'value':function(_0x32866c,_0x127ba0){var _0x1bbe5d=_0x50105d;this['geometry']=_0x127ba0;var _0x51295c=_0x571827[_0x1bbe5d(0x203)][_0x1bbe5d(0x124)]({'context':_0x32866c,'geometry':this[_0x1bbe5d(0x121)],'attributeLocations':this[_0x1bbe5d(0x16c)],'bufferUsage':_0x571827[_0x1bbe5d(0x1c9)]['STATIC_DRAW']});this['commandToExecute'][_0x1bbe5d(0x157)]=_0x51295c;}},{'key':_0x50105d(0x16a),'value':function(_0x213b03){var _0x1d49cd=_0x50105d;this[_0x1d49cd(0x133)]&&_0x213b03[_0x1d49cd(0x1ef)]==_0x571827[_0x1d49cd(0x1b4)][_0x1d49cd(0x1a6)]&&(_0x571827[_0x1d49cd(0x106)](this[_0x1d49cd(0x19b)])||(this[_0x1d49cd(0x19b)]=this['createCommand'](_0x213b03[_0x1d49cd(0x21d)])),_0x571827[_0x1d49cd(0x106)](this['preExecute'])&&this['preExecute'](),_0x571827[_0x1d49cd(0x106)](this[_0x1d49cd(0x1eb)])&&_0x213b03[_0x1d49cd(0x1ab)][_0x1d49cd(0x1d4)](this[_0x1d49cd(0x1eb)]),_0x213b03[_0x1d49cd(0x1ab)][_0x1d49cd(0x1d4)](this[_0x1d49cd(0x19b)]));}},{'key':_0x50105d(0x13f),'value':function(){return!0x1;}},{'key':_0x50105d(0x20a),'value':function(){var _0xc33fe5=_0x50105d;return _0x571827[_0xc33fe5(0x106)](this[_0xc33fe5(0x19b)])&&(this[_0xc33fe5(0x19b)][_0xc33fe5(0x164)]=this[_0xc33fe5(0x19b)]['shaderProgram']&&this['commandToExecute']['shaderProgram'][_0xc33fe5(0x20a)]()),_0x571827[_0xc33fe5(0x176)](this);}}]),_0x5e7bd9;}(),_0x22a896={'getFullscreenQuad':function(){var _0x5b736d=_0x57087a;return new _0x571827['Geometry']({'attributes':new _0x571827[(_0x5b736d(0x219))]({'position':new _0x571827[(_0x5b736d(0x130))]({'componentDatatype':_0x571827['ComponentDatatype'][_0x5b736d(0x1d7)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x571827[(_0x5b736d(0x130))]({'componentDatatype':_0x571827[_0x5b736d(0x18d)][_0x5b736d(0x1d7)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x3c2c83,_0x1e1315){var _0x2e7d0b=_0x57087a;if(_0x571827[_0x2e7d0b(0x106)](_0x1e1315)){var _0x3925ff={};_0x3925ff[_0x2e7d0b(0x14b)]=_0x1e1315,_0x3c2c83['source']=_0x3925ff;}return new _0x571827[(_0x2e7d0b(0x1db))](_0x3c2c83);},'createFramebuffer':function(_0x24c96f,_0x47d9ec,_0x49da30){var _0x5ba391=_0x57087a;return new _0x571827[(_0x5ba391(0x25c))]({'context':_0x24c96f,'colorTextures':[_0x47d9ec],'depthTexture':_0x49da30});},'createRawRenderState':function(_0x16678d){var _0x1e7838=_0x57087a,_0x472249={'viewport':_0x16678d['viewport'],'depthTest':_0x16678d[_0x1e7838(0x1b0)],'depthMask':_0x16678d['depthMask'],'blending':_0x16678d[_0x1e7838(0x122)]};return _0x571827['Appearance'][_0x1e7838(0xfc)](!0x0,!0x1,_0x472249);},'viewRectangleToLonLatRange':function(_0x2718e3){var _0x563c1d=_0x57087a,_0x242f0c,_0x507c44,_0x4a42ed={},_0x460ad9=_0x571827[_0x563c1d(0x13a)]['mod'](_0x2718e3[_0x563c1d(0xee)],_0x571827[_0x563c1d(0x13a)][_0x563c1d(0x1c3)]),_0x5a9da5=_0x571827[_0x563c1d(0x13a)][_0x563c1d(0x194)](_0x2718e3[_0x563c1d(0x168)],_0x571827['Math'][_0x563c1d(0x1c3)]),_0x58216f=_0x2718e3[_0x563c1d(0x211)];_0x58216f>_0x571827['Math'][_0x563c1d(0x12b)]?(_0x242f0c=0x0,_0x507c44=_0x571827[_0x563c1d(0x13a)][_0x563c1d(0x1c3)]):_0x5a9da5-_0x460ad9<_0x58216f?(_0x242f0c=_0x460ad9,_0x507c44=_0x460ad9+_0x58216f):(_0x242f0c=_0x460ad9,_0x507c44=_0x5a9da5),_0x4a42ed[_0x563c1d(0x1f2)]={'min':_0x571827[_0x563c1d(0x13a)][_0x563c1d(0x102)](_0x242f0c),'max':_0x571827[_0x563c1d(0x13a)]['toDegrees'](_0x507c44)};var _0x5049c3=_0x2718e3[_0x563c1d(0x147)],_0x54558d=_0x2718e3['north'],_0x2c733d=_0x2718e3['height'],_0x4a7826=_0x2c733d>_0x571827[_0x563c1d(0x13a)]['PI']/0xc?_0x2c733d/0x2:0x0,_0xa0734=_0x571827[_0x563c1d(0x13a)][_0x563c1d(0x221)](_0x5049c3-_0x4a7826),_0x2eea5c=_0x571827['Math'][_0x563c1d(0x221)](_0x54558d+_0x4a7826);return _0xa0734<-_0x571827[_0x563c1d(0x13a)][_0x563c1d(0x1e2)]&&(_0xa0734=-_0x571827[_0x563c1d(0x13a)][_0x563c1d(0x1b7)]),_0x2eea5c>_0x571827['Math'][_0x563c1d(0x1e2)]&&(_0x2eea5c=_0x571827['Math'][_0x563c1d(0x1b7)]),_0x4a42ed[_0x563c1d(0x256)]={'min':_0x571827['Math'][_0x563c1d(0x102)](_0xa0734),'max':_0x571827[_0x563c1d(0x13a)]['toDegrees'](_0x2eea5c)},_0x4a42ed;}},_0x2e40a8=_0x41d743(0x8),_0x5067a4=_0x41d743['n'](_0x2e40a8),_0x3b5266=_0x41d743(0x9),_0x3338e1=_0x41d743['n'](_0x3b5266),_0x800be5=_0x41d743(0x7),_0x2a7613=_0x41d743['n'](_0x800be5),_0x1ea042=_0x41d743(0xa),_0x22ddab=_0x41d743['n'](_0x1ea042),_0x377d65=_0x41d743(0xb),_0x12563f=_0x41d743['n'](_0x377d65),_0x55d61d=function(){var _0x2470a0=_0x57087a;function _0x3b5b34(_0x490b1f,_0x552779,_0x44a34d,_0x3622f3,_0x3a9087){var _0x26c50c=a0_0x1826;_0x35ab5e()(this,_0x3b5b34),this[_0x26c50c(0x1f3)](_0x490b1f,_0x552779),this['createRenderingFramebuffers'](_0x490b1f),this[_0x26c50c(0x1b3)](_0x490b1f,_0x44a34d,_0x3622f3,_0x3a9087);}return _0x523d98()(_0x3b5b34,[{'key':_0x2470a0(0x1f3),'value':function(_0x30bc38,_0x138b6){var _0x829de6=_0x2470a0,_0x11c79a={'context':_0x30bc38,'width':_0x30bc38['drawingBufferWidth'],'height':_0x30bc38[_0x829de6(0xea)],'pixelFormat':_0x571827[_0x829de6(0x15c)][_0x829de6(0x21b)],'pixelDatatype':_0x571827[_0x829de6(0x1c8)]['UNSIGNED_BYTE']},_0x3be824={'context':_0x30bc38,'width':_0x30bc38[_0x829de6(0x248)],'height':_0x30bc38[_0x829de6(0xea)],'pixelFormat':_0x571827['PixelFormat'][_0x829de6(0x252)],'pixelDatatype':_0x571827['PixelDatatype'][_0x829de6(0x15e)]},_0x5467c4={'context':_0x30bc38,'width':_0x138b6[_0x829de6(0x218)][_0x829de6(0x1d6)],'height':0x1,'pixelFormat':_0x571827[_0x829de6(0x15c)][_0x829de6(0x1d3)],'pixelDatatype':_0x571827[_0x829de6(0x1c8)][_0x829de6(0x1d7)],'sampler':new _0x571827[(_0x829de6(0x108))]({'minificationFilter':_0x571827['TextureMinificationFilter'][_0x829de6(0x1d9)],'magnificationFilter':_0x571827[_0x829de6(0x24b)][_0x829de6(0x1d9)]})};this['textures']={'segmentsColor':_0x22a896[_0x829de6(0x136)](_0x11c79a),'segmentsDepth':_0x22a896['createTexture'](_0x3be824),'currentTrailsColor':_0x22a896[_0x829de6(0x136)](_0x11c79a),'currentTrailsDepth':_0x22a896[_0x829de6(0x136)](_0x3be824),'nextTrailsColor':_0x22a896[_0x829de6(0x136)](_0x11c79a),'nextTrailsDepth':_0x22a896[_0x829de6(0x136)](_0x3be824),'colorTable':_0x22a896[_0x829de6(0x136)](_0x5467c4,_0x138b6['colorTable'][_0x829de6(0x146)])};}},{'key':'createRenderingFramebuffers','value':function(_0x595892){var _0x3f09e6=_0x2470a0;this['framebuffers']={'segments':_0x22a896['createFramebuffer'](_0x595892,this[_0x3f09e6(0x1aa)]['segmentsColor'],this[_0x3f09e6(0x1aa)][_0x3f09e6(0x232)]),'currentTrails':_0x22a896[_0x3f09e6(0x1ac)](_0x595892,this['textures'][_0x3f09e6(0x19f)],this[_0x3f09e6(0x1aa)][_0x3f09e6(0x22d)]),'nextTrails':_0x22a896[_0x3f09e6(0x1ac)](_0x595892,this[_0x3f09e6(0x1aa)]['nextTrailsColor'],this['textures'][_0x3f09e6(0xf2)])};}},{'key':'createSegmentsGeometry','value':function(_0x51f358){var _0x121993=_0x2470a0;for(var _0x3591b2=[],_0x5978fc=0x0;_0x5978fc<_0x51f358[_0x121993(0x228)];_0x5978fc++)for(var _0x5c579d=0x0;_0x5c579d<_0x51f358[_0x121993(0x228)];_0x5c579d++)for(var _0x25e5a8=0x0;_0x25e5a8<0x4;_0x25e5a8++)_0x3591b2['push'](_0x5978fc/_0x51f358[_0x121993(0x228)]),_0x3591b2[_0x121993(0x1d4)](_0x5c579d/_0x51f358[_0x121993(0x228)]);_0x3591b2=new Float32Array(_0x3591b2);for(var _0x3f9c0e=[],_0x1cd166=[-0x1,0x1],_0x4e912b=[-0x1,0x1],_0x55926f=0x0;_0x55926f<_0x51f358['maxParticles'];_0x55926f++)for(var _0x5d38da=0x0;_0x5d38da<0x2;_0x5d38da++)for(var _0x56e1e0=0x0;_0x56e1e0<0x2;_0x56e1e0++)_0x3f9c0e[_0x121993(0x1d4)](_0x1cd166[_0x5d38da]),_0x3f9c0e[_0x121993(0x1d4)](_0x4e912b[_0x56e1e0]),_0x3f9c0e[_0x121993(0x1d4)](0x0);_0x3f9c0e=new Float32Array(_0x3f9c0e);for(var _0x1819e2=0x6*_0x51f358['maxParticles'],_0x26c3f9=new Uint32Array(_0x1819e2),_0x24cc52=0x0,_0x1408ee=0x0,_0x28f2a4=0x0;_0x24cc52<_0x51f358[_0x121993(0x24d)];_0x24cc52++)_0x26c3f9[_0x1408ee++]=_0x28f2a4+0x0,_0x26c3f9[_0x1408ee++]=_0x28f2a4+0x1,_0x26c3f9[_0x1408ee++]=_0x28f2a4+0x2,_0x26c3f9[_0x1408ee++]=_0x28f2a4+0x2,_0x26c3f9[_0x1408ee++]=_0x28f2a4+0x1,_0x26c3f9[_0x1408ee++]=_0x28f2a4+0x3,_0x28f2a4+=0x4;return new _0x571827[(_0x121993(0x13b))]({'attributes':new _0x571827[(_0x121993(0x219))]({'st':new _0x571827[(_0x121993(0x130))]({'componentDatatype':_0x571827[_0x121993(0x18d)][_0x121993(0x1d7)],'componentsPerAttribute':0x2,'values':_0x3591b2}),'normal':new _0x571827['GeometryAttribute']({'componentDatatype':_0x571827[_0x121993(0x18d)][_0x121993(0x1d7)],'componentsPerAttribute':0x3,'values':_0x3f9c0e})}),'indices':_0x26c3f9});}},{'key':_0x2470a0(0x1b3),'value':function(_0xaf80fe,_0x16fced,_0x41adec,_0x4e970f){var _0x5054fd=_0x2470a0,_0x232399=this;this[_0x5054fd(0x114)]={'segments':new _0x4132d6({'commandType':_0x5054fd(0x18b),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this['createSegmentsGeometry'](_0x16fced),'primitiveType':_0x571827[_0x5054fd(0x131)][_0x5054fd(0xf7)],'uniformMap':{'currentParticlesPosition':function(){var _0x48458d=_0x5054fd;return _0x4e970f[_0x48458d(0x16e)]['currentParticlesPosition'];},'postProcessingPosition':function(){var _0xd094b7=_0x5054fd;return _0x4e970f[_0xd094b7(0x16e)]['postProcessingPosition'];},'postProcessingSpeed':function(){var _0x2523e1=_0x5054fd;return _0x4e970f[_0x2523e1(0x16e)]['postProcessingSpeed'];},'colorTable':function(){var _0x7c1ee6=_0x5054fd;return _0x232399['textures'][_0x7c1ee6(0x218)];},'aspect':function(){var _0x4b36fe=_0x5054fd;return _0xaf80fe[_0x4b36fe(0x248)]/_0xaf80fe[_0x4b36fe(0xea)];},'pixelSize':function(){var _0x4a25e3=_0x5054fd;return _0x41adec[_0x4a25e3(0x1b6)];},'lineWidth':function(){return _0x16fced['lineWidth'];},'particleHeight':function(){var _0x52960b=_0x5054fd;return _0x16fced[_0x52960b(0x125)];}},'vertexShaderSource':new _0x571827[(_0x5054fd(0x244))]({'sources':[_0x5067a4['a']]}),'fragmentShaderSource':new _0x571827['ShaderSource']({'sources':[_0x3338e1['a']]}),'rawRenderState':_0x22a896['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x5054fd(0x14c)][_0x5054fd(0x23b)],'autoClear':!0x0}),'trails':new _0x4132d6({'commandType':_0x5054fd(0x18b),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x22a896['getFullscreenQuad'](),'primitiveType':_0x571827[_0x5054fd(0x131)]['TRIANGLES'],'uniformMap':{'segmentsColorTexture':function(){var _0x3e16da=_0x5054fd;return _0x232399[_0x3e16da(0x1aa)][_0x3e16da(0x11f)];},'segmentsDepthTexture':function(){var _0x3030e1=_0x5054fd;return _0x232399[_0x3030e1(0x1aa)][_0x3030e1(0x232)];},'currentTrailsColor':function(){var _0x43910e=_0x5054fd;return _0x232399[_0x43910e(0x14c)][_0x43910e(0x1e1)]['getColorTexture'](0x0);},'trailsDepthTexture':function(){var _0x5a0e02=_0x5054fd;return _0x232399[_0x5a0e02(0x14c)][_0x5a0e02(0x1e1)][_0x5a0e02(0x162)];},'fadeOpacity':function(){var _0x5b635c=_0x5054fd;return _0x16fced[_0x5b635c(0x21f)];}},'vertexShaderSource':new _0x571827[(_0x5054fd(0x244))]({'defines':[_0x5054fd(0x159)],'sources':[_0x2a7613['a']]}),'fragmentShaderSource':new _0x571827[(_0x5054fd(0x244))]({'defines':[_0x5054fd(0x193)],'sources':[_0x22ddab['a']]}),'rawRenderState':_0x22a896['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x571827['DepthFunction'][_0x5054fd(0x105)]},'depthMask':!0x0}),'framebuffer':this[_0x5054fd(0x14c)]['nextTrails'],'autoClear':!0x0,'preExecute':function(){var _0x5cafaa=_0x5054fd,_0x3a380b;_0x3a380b=_0x232399[_0x5cafaa(0x14c)][_0x5cafaa(0x1e1)],_0x232399[_0x5cafaa(0x14c)][_0x5cafaa(0x1e1)]=_0x232399['framebuffers'][_0x5cafaa(0x141)],_0x232399[_0x5cafaa(0x14c)]['nextTrails']=_0x3a380b,_0x232399[_0x5cafaa(0x114)][_0x5cafaa(0x1b9)][_0x5cafaa(0x19b)][_0x5cafaa(0x24a)]=_0x232399['framebuffers'][_0x5cafaa(0x141)],_0x232399[_0x5cafaa(0x114)][_0x5cafaa(0x1b9)][_0x5cafaa(0x1eb)][_0x5cafaa(0x24a)]=_0x232399[_0x5cafaa(0x14c)][_0x5cafaa(0x141)];}}),'screen':new _0x4132d6({'commandType':'Draw','attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x22a896[_0x5054fd(0x1b1)](),'primitiveType':_0x571827[_0x5054fd(0x131)]['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){var _0x3503f0=_0x5054fd;return _0x232399[_0x3503f0(0x14c)]['nextTrails']['getColorTexture'](0x0);},'trailsDepthTexture':function(){var _0x10321e=_0x5054fd;return _0x232399['framebuffers'][_0x10321e(0x141)][_0x10321e(0x162)];}},'vertexShaderSource':new _0x571827[(_0x5054fd(0x244))]({'defines':[_0x5054fd(0x159)],'sources':[_0x2a7613['a']]}),'fragmentShaderSource':new _0x571827['ShaderSource']({'defines':[_0x5054fd(0x193)],'sources':[_0x12563f['a']]}),'rawRenderState':_0x22a896[_0x5054fd(0x202)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x3b5b34;}(),_0x5e6553=_0x41d743(0xc),_0x4a820a=_0x41d743['n'](_0x5e6553),_0xff617=_0x41d743(0xd),_0x245663=_0x41d743['n'](_0xff617),_0x2adee5=_0x41d743(0xe),_0x287ee8=_0x41d743['n'](_0x2adee5),_0x2a4221=_0x41d743(0xf),_0x2d0eb9=_0x41d743['n'](_0x2a4221),_0x51ca5d=_0x41d743(0x10),_0x3002a3=_0x41d743['n'](_0x51ca5d),_0x1a69de=function(){var _0x38cd3f=_0x57087a;function _0x34ef23(_0x362ed1,_0x55796c,_0x10ecc5,_0x1dd83f){var _0x591f0a=a0_0x1826;_0x35ab5e()(this,_0x34ef23),this[_0x591f0a(0x103)]=_0x55796c,this[_0x591f0a(0x16f)](_0x362ed1,_0x55796c),this[_0x591f0a(0x223)](_0x362ed1,_0x10ecc5,_0x1dd83f),this['createComputingPrimitives'](_0x55796c,_0x10ecc5,_0x1dd83f);}return _0x523d98()(_0x34ef23,[{'key':'createWindTextures','value':function(_0x2464b9,_0x1bf057){var _0x501937=a0_0x1826,_0xea58d9={'context':_0x2464b9,'width':_0x1bf057['dimensions'][_0x501937(0x1f2)],'height':_0x1bf057[_0x501937(0xed)][_0x501937(0x256)]*_0x1bf057[_0x501937(0xed)]['lev'],'pixelFormat':_0x571827[_0x501937(0x15c)]['LUMINANCE'],'pixelDatatype':_0x571827['PixelDatatype'][_0x501937(0x1d7)],'flipY':!0x1,'sampler':new _0x571827[(_0x501937(0x108))]({'minificationFilter':_0x571827['TextureMinificationFilter'][_0x501937(0x245)],'magnificationFilter':_0x571827[_0x501937(0x24b)][_0x501937(0x245)]})};this[_0x501937(0x120)]={'U':_0x22a896['createTexture'](_0xea58d9,_0x1bf057['U']['array']),'V':_0x22a896[_0x501937(0x136)](_0xea58d9,_0x1bf057['V'][_0x501937(0x146)])};}},{'key':'createParticlesTextures','value':function(_0x41019e,_0xd989b,_0x498ebb){var _0x52128a=a0_0x1826,_0x10988f={'context':_0x41019e,'width':_0xd989b['particlesTextureSize'],'height':_0xd989b['particlesTextureSize'],'pixelFormat':_0x571827[_0x52128a(0x15c)][_0x52128a(0x21b)],'pixelDatatype':_0x571827[_0x52128a(0x1c8)][_0x52128a(0x1d7)],'flipY':!0x1,'sampler':new _0x571827['Sampler']({'minificationFilter':_0x571827[_0x52128a(0x115)][_0x52128a(0x245)],'magnificationFilter':_0x571827[_0x52128a(0x24b)][_0x52128a(0x245)]})},_0x4ce87f=this[_0x52128a(0x134)](_0xd989b[_0x52128a(0x24d)],_0x498ebb),_0x3ceda4=new Float32Array(0x4*_0xd989b[_0x52128a(0x24d)])[_0x52128a(0x22a)](0x0);this[_0x52128a(0x16e)]={'particlesWind':_0x22a896[_0x52128a(0x136)](_0x10988f),'currentParticlesPosition':_0x22a896[_0x52128a(0x136)](_0x10988f,_0x4ce87f),'nextParticlesPosition':_0x22a896['createTexture'](_0x10988f,_0x4ce87f),'currentParticlesSpeed':_0x22a896[_0x52128a(0x136)](_0x10988f,_0x3ceda4),'nextParticlesSpeed':_0x22a896[_0x52128a(0x136)](_0x10988f,_0x3ceda4),'postProcessingPosition':_0x22a896[_0x52128a(0x136)](_0x10988f,_0x4ce87f),'postProcessingSpeed':_0x22a896[_0x52128a(0x136)](_0x10988f,_0x3ceda4)};}},{'key':_0x38cd3f(0x134),'value':function(_0x58bd0f,_0x310427){var _0x58c861=_0x38cd3f;for(var _0x4a920b=new Float32Array(0x4*_0x58bd0f),_0x5cd1e9=0x0;_0x5cd1e9<_0x58bd0f;_0x5cd1e9++)_0x4a920b[0x4*_0x5cd1e9]=_0x571827[_0x58c861(0x13a)][_0x58c861(0x113)](_0x310427[_0x58c861(0x1fa)]['x'],_0x310427[_0x58c861(0x1fa)]['y']),_0x4a920b[0x4*_0x5cd1e9+0x1]=_0x571827['Math'][_0x58c861(0x113)](_0x310427[_0x58c861(0x191)]['x'],_0x310427[_0x58c861(0x191)]['y']),_0x4a920b[0x4*_0x5cd1e9+0x2]=_0x571827[_0x58c861(0x13a)][_0x58c861(0x113)](this['data'][_0x58c861(0x188)][_0x58c861(0x25f)],this[_0x58c861(0x103)][_0x58c861(0x188)][_0x58c861(0x171)]),_0x4a920b[0x4*_0x5cd1e9+0x3]=0x0;return _0x4a920b;}},{'key':'destroyParticlesTextures','value':function(){var _0x39749d=_0x38cd3f,_0x5adef8=this;Object[_0x39749d(0x1da)](this[_0x39749d(0x16e)])[_0x39749d(0x163)](function(_0x19bbc3){var _0x4a82d4=_0x39749d;_0x5adef8[_0x4a82d4(0x16e)][_0x19bbc3][_0x4a82d4(0x20a)]();});}},{'key':'createComputingPrimitives','value':function(_0x375972,_0x5becb8,_0x37781f){var _0x569355=_0x38cd3f,_0x4cfd94=new _0x571827[(_0x569355(0x139))](_0x375972[_0x569355(0xed)]['lon'],_0x375972['dimensions'][_0x569355(0x256)],_0x375972['dimensions']['lev']),_0x20e29d=new _0x571827['Cartesian3'](_0x375972[_0x569355(0x1f2)]['min'],_0x375972[_0x569355(0x256)][_0x569355(0x25f)],_0x375972['lev'][_0x569355(0x25f)]),_0x102e17=new _0x571827[(_0x569355(0x139))](_0x375972[_0x569355(0x1f2)][_0x569355(0x171)],_0x375972['lat'][_0x569355(0x171)],_0x375972[_0x569355(0x188)]['max']),_0x3bc32d=new _0x571827[(_0x569355(0x139))]((_0x102e17['x']-_0x20e29d['x'])/(_0x4cfd94['x']-0x1),(_0x102e17['y']-_0x20e29d['y'])/(_0x4cfd94['y']-0x1),_0x4cfd94['z']>0x1?(_0x102e17['z']-_0x20e29d['z'])/(_0x4cfd94['z']-0x1):0x1),_0x42600e=new _0x571827[(_0x569355(0x1af))](_0x375972['U'][_0x569355(0x25f)],_0x375972['U'][_0x569355(0x171)]),_0x49a740=new _0x571827[(_0x569355(0x1af))](_0x375972['V']['min'],_0x375972['V'][_0x569355(0x171)]),_0x4632a3=this;this[_0x569355(0x114)]={'getWind':new _0x4132d6({'commandType':_0x569355(0x25b),'uniformMap':{'U':function(){var _0x56746c=_0x569355;return _0x4632a3[_0x56746c(0x120)]['U'];},'V':function(){return _0x4632a3['windTextures']['V'];},'currentParticlesPosition':function(){var _0x51dc7a=_0x569355;return _0x4632a3[_0x51dc7a(0x16e)]['currentParticlesPosition'];},'dimension':function(){return _0x4cfd94;},'minimum':function(){return _0x20e29d;},'maximum':function(){return _0x102e17;},'interval':function(){return _0x3bc32d;}},'fragmentShaderSource':new _0x571827[(_0x569355(0x244))]({'sources':[_0x4a820a['a']]}),'outputTexture':this[_0x569355(0x16e)]['particlesWind'],'preExecute':function(){var _0x49e23=_0x569355;_0x4632a3[_0x49e23(0x114)][_0x49e23(0x1a7)][_0x49e23(0x19b)][_0x49e23(0x177)]=_0x4632a3[_0x49e23(0x16e)][_0x49e23(0x231)];}}),'updateSpeed':new _0x4132d6({'commandType':_0x569355(0x25b),'uniformMap':{'currentParticlesSpeed':function(){var _0xc0ddb4=_0x569355;return _0x4632a3[_0xc0ddb4(0x16e)]['currentParticlesSpeed'];},'particlesWind':function(){var _0x243e17=_0x569355;return _0x4632a3[_0x243e17(0x16e)][_0x243e17(0x231)];},'uSpeedRange':function(){return _0x42600e;},'vSpeedRange':function(){return _0x49a740;},'pixelSize':function(){var _0x584b57=_0x569355;return _0x37781f[_0x584b57(0x1b6)];},'speedFactor':function(){var _0x27a8eb=_0x569355;return _0x5becb8[_0x27a8eb(0x14f)];}},'fragmentShaderSource':new _0x571827[(_0x569355(0x244))]({'sources':[_0x245663['a']]}),'outputTexture':this[_0x569355(0x16e)][_0x569355(0x197)],'preExecute':function(){var _0x77e653=_0x569355,_0x13b25e;_0x13b25e=_0x4632a3[_0x77e653(0x16e)]['currentParticlesSpeed'],_0x4632a3[_0x77e653(0x16e)][_0x77e653(0xeb)]=_0x4632a3[_0x77e653(0x16e)][_0x77e653(0x11e)],_0x4632a3[_0x77e653(0x16e)]['postProcessingSpeed']=_0x13b25e,_0x4632a3[_0x77e653(0x114)][_0x77e653(0x1df)][_0x77e653(0x19b)][_0x77e653(0x177)]=_0x4632a3[_0x77e653(0x16e)]['nextParticlesSpeed'];}}),'updatePosition':new _0x4132d6({'commandType':_0x569355(0x25b),'uniformMap':{'currentParticlesPosition':function(){return _0x4632a3['particlesTextures']['currentParticlesPosition'];},'currentParticlesSpeed':function(){var _0x27ddb5=_0x569355;return _0x4632a3[_0x27ddb5(0x16e)][_0x27ddb5(0xeb)];}},'fragmentShaderSource':new _0x571827['ShaderSource']({'sources':[_0x287ee8['a']]}),'outputTexture':this[_0x569355(0x16e)][_0x569355(0x257)],'preExecute':function(){var _0x28e86d=_0x569355,_0x29a146;_0x29a146=_0x4632a3['particlesTextures'][_0x28e86d(0x13d)],_0x4632a3[_0x28e86d(0x16e)][_0x28e86d(0x13d)]=_0x4632a3[_0x28e86d(0x16e)]['postProcessingPosition'],_0x4632a3[_0x28e86d(0x16e)][_0x28e86d(0x209)]=_0x29a146,_0x4632a3[_0x28e86d(0x114)]['updatePosition'][_0x28e86d(0x19b)][_0x28e86d(0x177)]=_0x4632a3[_0x28e86d(0x16e)][_0x28e86d(0x257)];}}),'postProcessingPosition':new _0x4132d6({'commandType':_0x569355(0x25b),'uniformMap':{'nextParticlesPosition':function(){var _0x59cfe5=_0x569355;return _0x4632a3[_0x59cfe5(0x16e)][_0x59cfe5(0x257)];},'nextParticlesSpeed':function(){var _0x2e7add=_0x569355;return _0x4632a3[_0x2e7add(0x16e)][_0x2e7add(0x197)];},'lonRange':function(){var _0x3dc529=_0x569355;return _0x37781f[_0x3dc529(0x1fa)];},'latRange':function(){var _0x177457=_0x569355;return _0x37781f[_0x177457(0x191)];},'randomCoefficient':function(){var _0xa73b3a=_0x569355,_0x3ff676=Math[_0xa73b3a(0x17a)]();return _0x3ff676;},'dropRate':function(){var _0x2954aa=_0x569355;return _0x5becb8[_0x2954aa(0x1f4)];},'dropRateBump':function(){var _0x590e39=_0x569355;return _0x5becb8[_0x590e39(0x18e)];}},'fragmentShaderSource':new _0x571827['ShaderSource']({'sources':[_0x2d0eb9['a']]}),'outputTexture':this[_0x569355(0x16e)][_0x569355(0x209)],'preExecute':function(){var _0x4f99f5=_0x569355;_0x4632a3[_0x4f99f5(0x114)][_0x4f99f5(0x209)]['commandToExecute'][_0x4f99f5(0x177)]=_0x4632a3[_0x4f99f5(0x16e)][_0x4f99f5(0x209)];}}),'postProcessingSpeed':new _0x4132d6({'commandType':_0x569355(0x25b),'uniformMap':{'postProcessingPosition':function(){var _0x3f06a4=_0x569355;return _0x4632a3[_0x3f06a4(0x16e)]['postProcessingPosition'];},'nextParticlesSpeed':function(){var _0x421735=_0x569355;return _0x4632a3['particlesTextures'][_0x421735(0x197)];}},'fragmentShaderSource':new _0x571827['ShaderSource']({'sources':[_0x3002a3['a']]}),'outputTexture':this[_0x569355(0x16e)][_0x569355(0x11e)],'preExecute':function(){var _0x4a9847=_0x569355;_0x4632a3[_0x4a9847(0x114)][_0x4a9847(0x11e)]['commandToExecute'][_0x4a9847(0x177)]=_0x4632a3['particlesTextures'][_0x4a9847(0x11e)];}})};}}]),_0x34ef23;}(),_0x221f6c=function(){var _0x503f27=_0x57087a;function _0x14b43f(_0x3ee635,_0x1355a8,_0x1756bf,_0x49eb02){var _0x5591e5=a0_0x1826;_0x35ab5e()(this,_0x14b43f),this['context']=_0x3ee635,this['data']=_0x1355a8,this[_0x5591e5(0x13c)]=_0x1756bf,this[_0x5591e5(0x175)]=_0x49eb02,this[_0x5591e5(0xef)]=new _0x1a69de(this[_0x5591e5(0x21d)],this[_0x5591e5(0x103)],this[_0x5591e5(0x13c)],this[_0x5591e5(0x175)]),this[_0x5591e5(0x20c)]=new _0x55d61d(this[_0x5591e5(0x21d)],this['data'],this[_0x5591e5(0x13c)],this[_0x5591e5(0x175)],this[_0x5591e5(0xef)]);}return _0x523d98()(_0x14b43f,[{'key':_0x503f27(0x174),'value':function(_0x108ca6){var _0xd62350=_0x503f27,_0x534c9f=this;this['particlesComputing'][_0xd62350(0x236)](),Object[_0xd62350(0x1da)](this[_0xd62350(0xef)][_0xd62350(0x120)])['forEach'](function(_0x52cdd6){var _0x3cbd9a=_0xd62350;_0x534c9f[_0x3cbd9a(0xef)]['windTextures'][_0x52cdd6][_0x3cbd9a(0x20a)]();}),this[_0xd62350(0x20c)][_0xd62350(0x1aa)][_0xd62350(0x218)][_0xd62350(0x20a)](),Object[_0xd62350(0x1da)](this[_0xd62350(0x20c)]['framebuffers'])[_0xd62350(0x163)](function(_0x2315b5){var _0x19af3f=_0xd62350;_0x534c9f[_0x19af3f(0x20c)][_0x19af3f(0x14c)][_0x2315b5][_0x19af3f(0x20a)]();}),this['context']=_0x108ca6,this['particlesComputing']=new _0x1a69de(this[_0xd62350(0x21d)],this[_0xd62350(0x103)],this[_0xd62350(0x13c)],this[_0xd62350(0x175)]),this['particlesRendering']=new _0x55d61d(this['context'],this['data'],this[_0xd62350(0x13c)],this['viewerParameters'],this[_0xd62350(0xef)]);}},{'key':_0x503f27(0x10b),'value':function(){var _0x1cc003=_0x503f27,_0x1996b0=this,_0x4809d0=new _0x571827[(_0x1cc003(0x153))]({'color':new _0x571827[(_0x1cc003(0x1f7))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x571827[_0x1cc003(0x1b2)][_0x1cc003(0x10f)]});Object[_0x1cc003(0x1da)](this[_0x1cc003(0x20c)][_0x1cc003(0x14c)])['forEach'](function(_0x48000f){var _0x76b5b1=_0x1cc003;_0x4809d0['framebuffer']=_0x1996b0[_0x76b5b1(0x20c)][_0x76b5b1(0x14c)][_0x48000f],_0x4809d0['execute'](_0x1996b0[_0x76b5b1(0x21d)]);});}},{'key':'refreshParticles','value':function(_0x13f102){var _0x254a43=_0x503f27;if(this['clearFramebuffers'](),this[_0x254a43(0xef)][_0x254a43(0x236)](),this[_0x254a43(0xef)][_0x254a43(0x223)](this[_0x254a43(0x21d)],this[_0x254a43(0x13c)],this['viewerParameters']),_0x13f102){var _0x5f47ef=this['particlesRendering'][_0x254a43(0x11b)](this['userInput']);this[_0x254a43(0x20c)][_0x254a43(0x114)][_0x254a43(0x23b)][_0x254a43(0x121)]=_0x5f47ef;var _0x1d4dd4=_0x571827[_0x254a43(0x203)][_0x254a43(0x124)]({'context':this[_0x254a43(0x21d)],'geometry':_0x5f47ef,'attributeLocations':this[_0x254a43(0x20c)][_0x254a43(0x114)][_0x254a43(0x23b)][_0x254a43(0x16c)],'bufferUsage':_0x571827[_0x254a43(0x1c9)]['STATIC_DRAW']});this[_0x254a43(0x20c)]['primitives'][_0x254a43(0x23b)][_0x254a43(0x19b)][_0x254a43(0x157)]=_0x1d4dd4;}}},{'key':'applyUserInput','value':function(_0x18c4a2){var _0x82c92c=_0x503f27,_0x22eea3=this,_0x21d397=!0x1;this[_0x82c92c(0x13c)]['maxParticles']!=_0x18c4a2[_0x82c92c(0x24d)]&&(_0x21d397=!0x0),Object[_0x82c92c(0x1da)](_0x18c4a2)[_0x82c92c(0x163)](function(_0x5a43f1){var _0x4406bf=_0x82c92c;_0x22eea3[_0x4406bf(0x13c)][_0x5a43f1]=_0x18c4a2[_0x5a43f1];}),this[_0x82c92c(0x18c)](_0x21d397);}},{'key':'applyViewerParameters','value':function(_0x1ccdef){var _0x8e3de6=_0x503f27,_0x138f02=this;Object['keys'](_0x1ccdef)['forEach'](function(_0x237a9a){_0x138f02['viewerParameters'][_0x237a9a]=_0x1ccdef[_0x237a9a];}),this[_0x8e3de6(0x18c)](!0x1);}}]),_0x14b43f;}();function _0x182948(_0x32934a){var _0x47fc68=function(){var _0x440b47=a0_0x1826;if('undefined'==typeof Reflect||!Reflect[_0x440b47(0x217)])return!0x1;if(Reflect[_0x440b47(0x217)][_0x440b47(0x1c2)])return!0x1;if('function'==typeof Proxy)return!0x0;try{return Boolean[_0x440b47(0x15f)][_0x440b47(0x167)][_0x440b47(0x104)](Reflect[_0x440b47(0x217)](Boolean,[],function(){})),!0x0;}catch(_0x267f28){return!0x1;}}();return function(){var _0xa71430=a0_0x1826,_0x425505,_0xbcd4aa=_0x43ce30()(_0x32934a);if(_0x47fc68){var _0x4ac5aa=_0x43ce30()(this)[_0xa71430(0x1d5)];_0x425505=Reflect[_0xa71430(0x217)](_0xbcd4aa,arguments,_0x4ac5aa);}else _0x425505=_0xbcd4aa[_0xa71430(0x1e7)](this,arguments);return _0x44e267()(this,_0x425505);};}var _0x2c477f=_0x2d2191[_0x57087a(0x1bb)]['BaseLayer'],_0x5a99f1=0x1000,_0x17af70=0x64,_0x268828=0.996,_0x14136d=0.003,_0x53da32=0.01,_0x15547d=0.5,_0x218d31=0x2,_0x42ce4d=function(_0x2bcf7f){var _0x2edaf7=_0x57087a;_0x4db58a()(_0x4f718f,_0x2bcf7f);var _0x537dd4=_0x182948(_0x4f718f);function _0x4f718f(){var _0x524231=a0_0x1826,_0x552921,_0x394cf7=arguments[_0x524231(0x1b8)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x35ab5e()(this,_0x4f718f),(_0x552921=_0x537dd4[_0x524231(0x104)](this,_0x394cf7))[_0x524231(0x24d)]=_0x5a99f1,_0x552921['particleHeight']=_0x17af70,_0x552921[_0x524231(0x21f)]=_0x268828,_0x552921[_0x524231(0x1f4)]=_0x14136d,_0x552921['dropRateBump']=_0x53da32,_0x552921['speedFactor']=_0x15547d,_0x552921['lineWidth']=_0x218d31,_0x394cf7){for(var _0x1817f7 in _0x394cf7)_0x552921[_0x1817f7]=_0x394cf7[_0x1817f7];}return _0x552921;}return _0x523d98()(_0x4f718f,[{'key':_0x2edaf7(0x1bb),'get':function(){var _0x29a983=_0x2edaf7;return this[_0x29a983(0x114)];}},{'key':'_mountedHook','value':function(){}},{'key':'_addedHook','value':function(){var _0x502a76=_0x2edaf7;this[_0x502a76(0x24f)]=this['_map']['scene'],this[_0x502a76(0x170)]=this[_0x502a76(0x1ec)][_0x502a76(0x170)],this[_0x502a76(0x114)]=new _0x571827['PrimitiveCollection'](),this['_map'][_0x502a76(0x24f)][_0x502a76(0x114)][_0x502a76(0x110)](this[_0x502a76(0x114)]),this[_0x502a76(0x175)]={'lonRange':new _0x571827[(_0x502a76(0x1af))](),'latRange':new _0x571827[(_0x502a76(0x1af))](),'pixelSize':0x0},this['globeBoundingSphere']=new _0x571827[(_0x502a76(0x186))](_0x571827[_0x502a76(0x139)][_0x502a76(0x149)],6314355.63),this[_0x502a76(0x17c)](),window[_0x502a76(0x1e4)](_0x502a76(0x15a),this[_0x502a76(0x15a)][_0x502a76(0x23c)](this),!0x1),this['mouse_down']=!0x1,this['mouse_move']=!0x1,this[_0x502a76(0x1ec)]['on'](_0x2d2191['EventType']['wheel'],this['_onMapWhellEvent'],this),this[_0x502a76(0x1ec)]['on'](_0x2d2191[_0x502a76(0x1b5)]['mouseDown'],this[_0x502a76(0x23f)],this),this['_map']['on'](_0x2d2191['EventType'][_0x502a76(0x1cd)],this[_0x502a76(0xf3)],this),this[_0x502a76(0x1ec)]['on'](_0x2d2191['EventType'][_0x502a76(0x100)],this[_0x502a76(0x1dc)],this);}},{'key':_0x2edaf7(0x240),'value':function(){var _0x25b525=_0x2edaf7;window[_0x25b525(0x10d)](_0x25b525(0x15a),this['resize']),this[_0x25b525(0x1ec)][_0x25b525(0x1fd)](_0x2d2191[_0x25b525(0x1b5)][_0x25b525(0x242)],this[_0x25b525(0x11c)],this),this[_0x25b525(0x1ec)]['off'](_0x2d2191[_0x25b525(0x1b5)][_0x25b525(0x1fc)],this[_0x25b525(0x1ce)],this),this['_map'][_0x25b525(0x1fd)](_0x2d2191[_0x25b525(0x1b5)][_0x25b525(0x246)],this[_0x25b525(0x23f)],this),this[_0x25b525(0x1ec)][_0x25b525(0x1fd)](_0x2d2191[_0x25b525(0x1b5)]['mouseUp'],this[_0x25b525(0xf3)],this),this[_0x25b525(0x1ec)][_0x25b525(0x1fd)](_0x2d2191[_0x25b525(0x1b5)][_0x25b525(0x100)],this[_0x25b525(0x1dc)],this),this[_0x25b525(0x114)][_0x25b525(0x213)](),this[_0x25b525(0x1ec)][_0x25b525(0x24f)][_0x25b525(0x114)][_0x25b525(0x24e)](this['primitives']);}},{'key':'resize','value':function(){var _0x1a7730=_0x2edaf7;this[_0x1a7730(0x133)]&&this[_0x1a7730(0x11d)]&&(this[_0x1a7730(0x114)]['show']=!0x1,this[_0x1a7730(0x114)][_0x1a7730(0x213)](),this[_0x1a7730(0x1ec)][_0x1a7730(0xf6)](_0x2d2191[_0x1a7730(0x1b5)][_0x1a7730(0x242)],this['_onMap_preRenderEvent'],this));}},{'key':'_onMap_preRenderEvent','value':function(_0x8d9e24){var _0x325be4=_0x2edaf7;this[_0x325be4(0x11d)][_0x325be4(0x174)](this[_0x325be4(0x24f)][_0x325be4(0x21d)]),this[_0x325be4(0x144)](),this[_0x325be4(0x114)][_0x325be4(0x133)]=!0x0;}},{'key':_0x2edaf7(0x1ce),'value':function(_0x25e0b6){var _0x19657c=_0x2edaf7,_0x227b28=this;clearTimeout(this[_0x19657c(0x220)]),this[_0x19657c(0x133)]&&this[_0x19657c(0x11d)]&&(this[_0x19657c(0x114)]['show']=!0x1,this['refreshTimer']=setTimeout(function(){var _0x8b02ad=_0x19657c;_0x227b28[_0x8b02ad(0x133)]&&_0x227b28['redraw']();},0xc8));}},{'key':_0x2edaf7(0x23f),'value':function(_0xc59244){var _0x441f20=_0x2edaf7;this[_0x441f20(0x21e)]=!0x0;}},{'key':_0x2edaf7(0x1dc),'value':function(_0x9fd9df){var _0x48c342=_0x2edaf7;this[_0x48c342(0x133)]&&this[_0x48c342(0x11d)]&&this['mouse_down']&&(this['primitives'][_0x48c342(0x133)]=!0x1,this['mouse_move']=!0x0);}},{'key':_0x2edaf7(0xf3),'value':function(_0x40d96b){var _0x599769=_0x2edaf7;this[_0x599769(0x133)]&&this[_0x599769(0x11d)]&&(this['mouse_down']&&this[_0x599769(0x155)]&&this[_0x599769(0xfb)](),this[_0x599769(0x114)][_0x599769(0x133)]=!0x0,this['mouse_down']=!0x1,this[_0x599769(0x155)]=!0x1);}},{'key':_0x2edaf7(0xfb),'value':function(){var _0x4ae6e7=_0x2edaf7;this[_0x4ae6e7(0x1ec)]&&this[_0x4ae6e7(0x133)]&&(this['updateViewerParameters'](),this[_0x4ae6e7(0x11d)][_0x4ae6e7(0x1cc)](this[_0x4ae6e7(0x175)]),this[_0x4ae6e7(0x114)][_0x4ae6e7(0x133)]=!0x0);}},{'key':_0x2edaf7(0x201),'value':function(_0x100aed){var _0x52d675=_0x2edaf7;this[_0x52d675(0x11d)]=new _0x221f6c(this[_0x52d675(0x24f)][_0x52d675(0x21d)],_0x100aed,this['getUserInput'](),this['viewerParameters']),this[_0x52d675(0x144)]();}},{'key':'setOptions','value':function(_0x4b8b91){var _0xf8c28e=_0x2edaf7;if(_0x4b8b91){for(var _0x4ca096 in _0x4b8b91)this[_0x4ca096]=_0x4b8b91[_0x4ca096];}return this['particleSystem']&&this['particleSystem']['applyUserInput'](this[_0xf8c28e(0x10c)]()),this;}},{'key':'getUserInput','value':function(){var _0x390a23=_0x2edaf7,_0x32bb54=Math[_0x390a23(0x182)](Math[_0x390a23(0x173)](this[_0x390a23(0x24d)]));return this[_0x390a23(0x24d)]=_0x32bb54*_0x32bb54,{'particlesTextureSize':_0x32bb54,'maxParticles':this[_0x390a23(0x24d)],'particleHeight':this[_0x390a23(0x125)],'fadeOpacity':this[_0x390a23(0x21f)],'dropRate':this[_0x390a23(0x1f4)],'dropRateBump':this['dropRateBump'],'speedFactor':this[_0x390a23(0x14f)],'lineWidth':this[_0x390a23(0x19a)],'globeLayer':this[_0x390a23(0x1bd)],'WMS_URL':this[_0x390a23(0x119)]};}},{'key':_0x2edaf7(0x144),'value':function(){var _0x3ff4cb=_0x2edaf7;this[_0x3ff4cb(0x114)][_0x3ff4cb(0x110)](this[_0x3ff4cb(0x11d)]['particlesComputing'][_0x3ff4cb(0x114)][_0x3ff4cb(0x1a7)]),this[_0x3ff4cb(0x114)][_0x3ff4cb(0x110)](this[_0x3ff4cb(0x11d)]['particlesComputing'][_0x3ff4cb(0x114)][_0x3ff4cb(0x1df)]),this[_0x3ff4cb(0x114)]['add'](this[_0x3ff4cb(0x11d)][_0x3ff4cb(0xef)][_0x3ff4cb(0x114)][_0x3ff4cb(0x1c1)]),this[_0x3ff4cb(0x114)]['add'](this[_0x3ff4cb(0x11d)][_0x3ff4cb(0xef)]['primitives'][_0x3ff4cb(0x209)]),this[_0x3ff4cb(0x114)][_0x3ff4cb(0x110)](this[_0x3ff4cb(0x11d)][_0x3ff4cb(0xef)][_0x3ff4cb(0x114)][_0x3ff4cb(0x11e)]),this[_0x3ff4cb(0x114)][_0x3ff4cb(0x110)](this[_0x3ff4cb(0x11d)][_0x3ff4cb(0x20c)][_0x3ff4cb(0x114)][_0x3ff4cb(0x23b)]),this['primitives'][_0x3ff4cb(0x110)](this['particleSystem'][_0x3ff4cb(0x20c)]['primitives']['trails']),this[_0x3ff4cb(0x114)][_0x3ff4cb(0x110)](this[_0x3ff4cb(0x11d)]['particlesRendering'][_0x3ff4cb(0x114)][_0x3ff4cb(0x19d)]);}},{'key':_0x2edaf7(0x17c),'value':function(){var _0x5ad66b=_0x2edaf7,_0x244bf6=this[_0x5ad66b(0x170)]['computeViewRectangle'](this['scene'][_0x5ad66b(0x12e)][_0x5ad66b(0x249)]);if(!_0x244bf6){var _0x391ec8=this[_0x5ad66b(0x1ec)][_0x5ad66b(0x23d)]();_0x244bf6=_0x571827[_0x5ad66b(0x227)][_0x5ad66b(0xec)](_0x391ec8['xmin'],_0x391ec8[_0x5ad66b(0x135)],_0x391ec8['xmax'],_0x391ec8['ymax']);}var _0x400ea5=_0x22a896[_0x5ad66b(0x212)](_0x244bf6);this[_0x5ad66b(0x175)][_0x5ad66b(0x1fa)]['x']=_0x400ea5[_0x5ad66b(0x1f2)][_0x5ad66b(0x25f)],this[_0x5ad66b(0x175)][_0x5ad66b(0x1fa)]['y']=_0x400ea5[_0x5ad66b(0x1f2)][_0x5ad66b(0x171)],this[_0x5ad66b(0x175)][_0x5ad66b(0x191)]['x']=_0x400ea5[_0x5ad66b(0x256)][_0x5ad66b(0x25f)],this[_0x5ad66b(0x175)]['latRange']['y']=_0x400ea5[_0x5ad66b(0x256)][_0x5ad66b(0x171)];var _0x1d8624=this[_0x5ad66b(0x170)][_0x5ad66b(0x206)](this[_0x5ad66b(0xf4)],this[_0x5ad66b(0x24f)][_0x5ad66b(0x248)],this[_0x5ad66b(0x24f)]['drawingBufferHeight']);_0x1d8624>0x0&&(this[_0x5ad66b(0x175)][_0x5ad66b(0x1b6)]=_0x1d8624);}}]),_0x4f718f;}(_0x2c477f);_0x2d2191[_0x57087a(0x1d1)][_0x57087a(0x196)](_0x57087a(0x247),_0x42ce4d),_0x2d2191['layer'][_0x57087a(0x225)]=_0x42ce4d;var _0x3701c4=function _0x484ae2(){var _0x629002=_0x57087a;_0x35ab5e()(this,_0x484ae2),this[_0x629002(0x234)]=null,this['lat']=null,this[_0x629002(0x1d0)]=null,this[_0x629002(0x1a1)]=null,this['age']=null;},_0x3cfc81=function(){var _0x7f1460=_0x57087a;function _0x22d4d8(_0x177f1b,_0x5d8163){var _0x408c62=a0_0x1826;_0x35ab5e()(this,_0x22d4d8),this[_0x408c62(0x1e9)]=_0x177f1b[_0x408c62(0x1e9)],this[_0x408c62(0x1ba)]=_0x177f1b[_0x408c62(0x1ba)],this[_0x408c62(0xf1)]=_0x177f1b[_0x408c62(0xf1)],this['xmax']=_0x177f1b[_0x408c62(0x22f)],this[_0x408c62(0x135)]=_0x177f1b[_0x408c62(0x135)],this[_0x408c62(0x20b)]=_0x177f1b['ymax'],this['grid']=[];var _0x17bbe6=_0x177f1b['udata'],_0x325a63=_0x177f1b[_0x408c62(0x224)],_0x5f2058=!0x1;_0x17bbe6[_0x408c62(0x1b8)]===this['rows']&&_0x17bbe6[0x0]['length']===this['cols']&&(_0x5f2058=!0x0);for(var _0x2321f2=0x0,_0x2315c3=null,_0x51cebc=null,_0x5e72a7=0x0;_0x5e72a7<this['rows'];_0x5e72a7++){_0x2315c3=[];for(var _0x4a7c9f=0x0;_0x4a7c9f<this[_0x408c62(0x1ba)];_0x4a7c9f++,_0x2321f2++)_0x51cebc=_0x5f2058?this['_calcUV'](_0x17bbe6[_0x5e72a7][_0x4a7c9f],_0x325a63[_0x5e72a7][_0x4a7c9f]):this[_0x408c62(0x1a3)](_0x17bbe6[_0x2321f2],_0x325a63[_0x2321f2]),_0x2315c3[_0x408c62(0x1d4)](_0x51cebc);this['grid']['push'](_0x2315c3);}_0x5d8163&&this[_0x408c62(0x184)]['reverse']();}return _0x523d98()(_0x22d4d8,[{'key':_0x7f1460(0x1e3),'value':function(_0x1960fd,_0x117a13){var _0x2a7162=_0x7f1460;return{'x':(_0x1960fd-this[_0x2a7162(0xf1)])/(this[_0x2a7162(0x22f)]-this['xmin'])*(this[_0x2a7162(0x1ba)]-0x1),'y':(this['ymax']-_0x117a13)/(this[_0x2a7162(0x20b)]-this['ymin'])*(this[_0x2a7162(0x1e9)]-0x1)};}},{'key':'getUVByXY','value':function(_0x403352,_0x25f587){var _0x4349ee=_0x7f1460;if(_0x403352<0x0||_0x403352>=this['cols']||_0x25f587>=this[_0x4349ee(0x1e9)])return[0x0,0x0,0x0];var _0x4ff7e3,_0xb9cbdc,_0x293f8a=Math[_0x4349ee(0x11a)](_0x403352),_0x3da206=Math[_0x4349ee(0x11a)](_0x25f587);if(_0x293f8a===_0x403352&&_0x3da206===_0x25f587)return this[_0x4349ee(0x184)][_0x25f587][_0x403352];_0x4ff7e3=_0x293f8a+0x1,_0xb9cbdc=_0x3da206+0x1;var _0x1e521a=this[_0x4349ee(0x19c)](_0x293f8a,_0x3da206),_0x10f0a6=this[_0x4349ee(0x19c)](_0x4ff7e3,_0x3da206),_0x28996e=this['getUVByXY'](_0x293f8a,_0xb9cbdc),_0x2483bb=this['getUVByXY'](_0x4ff7e3,_0xb9cbdc),_0x2e3d45=null;try{_0x2e3d45=this[_0x4349ee(0x1dd)](_0x403352-_0x293f8a,_0x25f587-_0x3da206,_0x1e521a,_0x10f0a6,_0x28996e,_0x2483bb);}catch(_0x4a7193){console[_0x4349ee(0x1a4)](_0x403352,_0x25f587);}return _0x2e3d45;}},{'key':_0x7f1460(0x1dd),'value':function(_0x4a30b3,_0x2106ba,_0x88a495,_0x37c3fe,_0x2abc42,_0x345167){var _0x50e353=_0x7f1460,_0xbc8c52=0x1-_0x4a30b3,_0x5a885e=0x1-_0x2106ba,_0x3e1e33=_0xbc8c52*_0x5a885e,_0x353d95=_0x4a30b3*_0x5a885e,_0x2479ac=_0xbc8c52*_0x2106ba,_0x259cdd=_0x4a30b3*_0x2106ba,_0xa6dbb9=_0x88a495[0x0]*_0x3e1e33+_0x37c3fe[0x0]*_0x353d95+_0x2abc42[0x0]*_0x2479ac+_0x345167[0x0]*_0x259cdd,_0x4c21f4=_0x88a495[0x1]*_0x3e1e33+_0x37c3fe[0x1]*_0x353d95+_0x2abc42[0x1]*_0x2479ac+_0x345167[0x1]*_0x259cdd;return this[_0x50e353(0x1a3)](_0xa6dbb9,_0x4c21f4);}},{'key':_0x7f1460(0x1a3),'value':function(_0x534bc1,_0x3df5d6){return[+_0x534bc1,+_0x3df5d6,Math['sqrt'](_0x534bc1*_0x534bc1+_0x3df5d6*_0x3df5d6)];}},{'key':_0x7f1460(0x116),'value':function(_0x443ff3,_0x6d4099){var _0x505017=_0x7f1460;if(!this[_0x505017(0xff)](_0x443ff3,_0x6d4099))return null;var _0x18c716=this[_0x505017(0x1e3)](_0x443ff3,_0x6d4099);return this[_0x505017(0x19c)](_0x18c716['x'],_0x18c716['y']);}},{'key':_0x7f1460(0xff),'value':function(_0x5b3e8e,_0x1dbd97){var _0xd4e8f8=_0x7f1460;return _0x5b3e8e>=this['xmin']&&_0x5b3e8e<=this[_0xd4e8f8(0x22f)]&&_0x1dbd97>=this[_0xd4e8f8(0x135)]&&_0x1dbd97<=this[_0xd4e8f8(0x20b)];}},{'key':_0x7f1460(0x152),'value':function(){var _0x1a935b=_0x7f1460,_0x4cf11b=_0x5ac4c6(this[_0x1a935b(0xf1)],this[_0x1a935b(0x22f)]);return{'lat':_0x5ac4c6(this['ymin'],this[_0x1a935b(0x20b)]),'lng':_0x4cf11b};}}]),_0x22d4d8;}();function _0x5ac4c6(_0x3aee71,_0x2e6025){var _0x2f61e7=_0x57087a;return _0x3aee71+Math[_0x2f61e7(0x17a)]()*(_0x2e6025-_0x3aee71);}function _0x5eaf05(_0x4ca60f){var _0x473e13=function(){var _0x556af8=a0_0x1826;if(_0x556af8(0x189)==typeof Reflect||!Reflect[_0x556af8(0x217)])return!0x1;if(Reflect['construct'][_0x556af8(0x1c2)])return!0x1;if(_0x556af8(0x204)==typeof Proxy)return!0x0;try{return Boolean[_0x556af8(0x15f)][_0x556af8(0x167)][_0x556af8(0x104)](Reflect[_0x556af8(0x217)](Boolean,[],function(){})),!0x0;}catch(_0x11e9ec){return!0x1;}}();return function(){var _0x419191=a0_0x1826,_0x4e4492,_0x53e17d=_0x43ce30()(_0x4ca60f);if(_0x473e13){var _0x303aa8=_0x43ce30()(this)[_0x419191(0x1d5)];_0x4e4492=Reflect[_0x419191(0x217)](_0x53e17d,arguments,_0x303aa8);}else _0x4e4492=_0x53e17d[_0x419191(0x1e7)](this,arguments);return _0x44e267()(this,_0x4e4492);};}var _0x33eddd=function(_0x25b4bf){var _0xa9f8d1=_0x57087a;_0x4db58a()(_0x2a0a3d,_0x25b4bf);var _0x5a7979=_0x5eaf05(_0x2a0a3d);function _0x2a0a3d(){var _0x117159=a0_0x1826,_0xf05139,_0x5075e0=arguments[_0x117159(0x1b8)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x35ab5e()(this,_0x2a0a3d),(_0xf05139=_0x5a7979[_0x117159(0x104)](this,_0x5075e0))[_0x117159(0x1d2)]=[0x0,0x0],_0xf05139[_0x117159(0x101)]=[],_0xf05139['speedRate']=_0x5075e0['speedRate']||0x32,_0xf05139[_0x117159(0x126)]=_0x5075e0[_0x117159(0x22b)]||0x4e20,_0xf05139[_0x117159(0x1ff)]=_0x5075e0[_0x117159(0x1c5)]||0x78,_0xf05139['frameTime']=0x3e8/(_0x5075e0[_0x117159(0x143)]||0xa),_0xf05139[_0x117159(0x123)]=_0x571827[_0x117159(0x1cb)](_0xf05139['options'][_0x117159(0x20f)],!0x1),_0xf05139['color']=_0x5075e0[_0x117159(0x1bf)]||'#ffffff',_0xf05139[_0x117159(0x19a)]=_0x5075e0['lineWidth']||0x1,_0xf05139[_0x117159(0x195)]=_0x571827['defaultValue'](_0x5075e0[_0x117159(0x195)],0x0),_0xf05139['reverseY']=_0x571827['defaultValue'](_0x5075e0['reverseY'],!0x1),_0xf05139[_0x117159(0x166)]=null,_0xf05139;}return _0x523d98()(_0x2a0a3d,[{'key':_0xa9f8d1(0x1bb),'get':function(){var _0x109bd1=_0xa9f8d1;return this[_0x109bd1(0x166)];}},{'key':_0xa9f8d1(0x137),'get':function(){var _0x115671=_0xa9f8d1;return this[_0x115671(0x1ec)][_0x115671(0x24f)][_0x115671(0x166)][_0x115671(0xfd)];}},{'key':_0xa9f8d1(0x156),'get':function(){var _0x4ea63f=_0xa9f8d1;return this['_map'][_0x4ea63f(0x24f)][_0x4ea63f(0x166)][_0x4ea63f(0xf5)];}},{'key':_0xa9f8d1(0x20f),'get':function(){var _0x35ca9c=_0xa9f8d1;return this[_0x35ca9c(0x123)];},'set':function(_0x1886e1){var _0xe38328=_0xa9f8d1;this['_pointerEvents']=_0x1886e1,this[_0xe38328(0x166)]&&(this[_0xe38328(0x166)][_0xe38328(0x22e)][_0xe38328(0x109)]=_0x1886e1?_0xe38328(0x216):'none');}},{'key':'speedRate','get':function(){return this['_speedRate'];},'set':function(_0x39b5ec){var _0x1fa83e=_0xa9f8d1;this['_speedRate']=0x64*(0x64-(_0x39b5ec>0x63?0x63:_0x39b5ec)),this[_0x1fa83e(0x128)]();}},{'key':'particlesNumber','get':function(){var _0x163b8c=_0xa9f8d1;return this[_0x163b8c(0x126)];},'set':function(_0x24abcf){var _0x58ced7=_0xa9f8d1,_0x5ce951=this;this['_particlesNumber']=_0x24abcf,clearTimeout(this[_0x58ced7(0x238)]),this['canrefresh']=setTimeout(function(){_0x5ce951['redraw']();},0x1f4);}},{'key':_0xa9f8d1(0x1c5),'get':function(){var _0x482aef=_0xa9f8d1;return this[_0x482aef(0x1ff)];},'set':function(_0x6b5322){var _0x97bd74=_0xa9f8d1,_0x9b1644=this;this[_0x97bd74(0x1ff)]=_0x6b5322,clearTimeout(this['canrefresh']),this[_0x97bd74(0x238)]=setTimeout(function(){_0x9b1644['redraw']();},0x1f4);}},{'key':'data','get':function(){return this['windData'];},'set':function(_0x532ad4){var _0xdbcb61=_0xa9f8d1;this[_0xdbcb61(0x253)](_0x532ad4);}},{'key':_0xa9f8d1(0x229),'value':function(_0x4b195e){var _0x17c062=_0xa9f8d1;_0x4b195e?this[_0x17c062(0x17b)]():(this[_0x17c062(0x180)]&&(this['options'][_0x17c062(0x103)]=this[_0x17c062(0x180)]),this[_0x17c062(0x240)]());}},{'key':_0xa9f8d1(0x14d),'value':function(){}},{'key':'_addedHook','value':function(){var _0x17f37a=_0xa9f8d1;this[_0x17f37a(0x166)]=this[_0x17f37a(0x154)](),this[_0x17f37a(0x207)]=this[_0x17f37a(0x166)][_0x17f37a(0x25e)]('2d'),this['bindEvent'](),this[_0x17f37a(0x1ad)]['data']&&this[_0x17f37a(0x253)](this[_0x17f37a(0x1ad)][_0x17f37a(0x103)]);}},{'key':_0xa9f8d1(0x240),'value':function(){var _0x349c10=_0xa9f8d1;this[_0x349c10(0x1c6)](),this[_0x349c10(0x12d)](),this[_0x349c10(0x166)]&&(this[_0x349c10(0x1ec)][_0x349c10(0x10a)][_0x349c10(0x1a2)](this[_0x349c10(0x166)]),delete this[_0x349c10(0x166)]);}},{'key':_0xa9f8d1(0x154),'value':function(){var _0x12e2e0=_0xa9f8d1,_0x4eadb5=document[_0x12e2e0(0x190)](_0x12e2e0(0x166));_0x4eadb5[_0x12e2e0(0x22e)][_0x12e2e0(0x150)]=_0x12e2e0(0x243),_0x4eadb5[_0x12e2e0(0x22e)]['top']='0px',_0x4eadb5[_0x12e2e0(0x22e)][_0x12e2e0(0x17f)]=_0x12e2e0(0x107),_0x4eadb5[_0x12e2e0(0x22e)][_0x12e2e0(0x211)]=_0x12e2e0(0x14e),_0x4eadb5[_0x12e2e0(0x22e)]['height']=_0x12e2e0(0x14e),_0x4eadb5[_0x12e2e0(0x22e)][_0x12e2e0(0x20f)]=this[_0x12e2e0(0x123)]?_0x12e2e0(0xf9):_0x12e2e0(0x20e),_0x4eadb5[_0x12e2e0(0x22e)][_0x12e2e0(0x21c)]=0xa,_0x4eadb5[_0x12e2e0(0x179)]('id','canvasWindy'),_0x4eadb5['setAttribute'](_0x12e2e0(0x22c),'canvasWindy'),this[_0x12e2e0(0x1ec)][_0x12e2e0(0x10a)][_0x12e2e0(0x205)](_0x4eadb5);var _0x16955e=this['_map'][_0x12e2e0(0x24f)];return _0x4eadb5[_0x12e2e0(0x211)]=_0x16955e[_0x12e2e0(0x166)][_0x12e2e0(0xfd)],_0x4eadb5[_0x12e2e0(0x1fb)]=_0x16955e[_0x12e2e0(0x166)][_0x12e2e0(0xf5)],_0x4eadb5;}},{'key':_0xa9f8d1(0x15a),'value':function(){var _0x24776c=_0xa9f8d1;this['canvas']&&(this['canvas'][_0x24776c(0x211)]=this[_0x24776c(0x137)],this[_0x24776c(0x166)][_0x24776c(0x1fb)]=this[_0x24776c(0x156)]);}},{'key':_0xa9f8d1(0x1fe),'value':function(){var _0x5332b8=_0xa9f8d1,_0x331eb2=this,_0x1710fc=Date[_0x5332b8(0x142)]();!function _0x2bdb7a(){var _0x5d548d=_0x5332b8;_0x331eb2[_0x5d548d(0x15d)]=window['requestAnimationFrame'](_0x2bdb7a);var _0x44682a=Date['now'](),_0x4117a8=_0x44682a-_0x1710fc;_0x4117a8>_0x331eb2[_0x5d548d(0x1be)]&&(_0x1710fc=_0x44682a-_0x4117a8%_0x331eb2[_0x5d548d(0x1be)],_0x331eb2[_0x5d548d(0x16a)]());}(),window[_0x5332b8(0x1e4)]('resize',this['resize'][_0x5332b8(0x23c)](this),!0x1),this[_0x5332b8(0x21e)]=!0x1,this[_0x5332b8(0x155)]=!0x1,this[_0x5332b8(0x1ec)]['on'](_0x2d2191[_0x5332b8(0x1b5)]['wheel'],this[_0x5332b8(0x1ce)],this),this[_0x5332b8(0x1ec)]['on'](_0x2d2191[_0x5332b8(0x1b5)]['mouseDown'],this[_0x5332b8(0x23f)],this),this[_0x5332b8(0x1ec)]['on'](_0x2d2191[_0x5332b8(0x1b5)]['mouseUp'],this['_onMouseUpEvent'],this),this[_0x5332b8(0x1ec)]['on'](_0x2d2191[_0x5332b8(0x1b5)][_0x5332b8(0x100)],this['_onMouseMoveEvent'],this);}},{'key':_0xa9f8d1(0x12d),'value':function(){var _0x167048=_0xa9f8d1;window[_0x167048(0x145)](this['animateFrame']),delete this['animateFrame'],window[_0x167048(0x10d)]('resize',this[_0x167048(0x15a)]),this[_0x167048(0x1ec)][_0x167048(0x1fd)](_0x2d2191[_0x167048(0x1b5)][_0x167048(0x1fc)],this['_onMapWhellEvent'],this),this['_map'][_0x167048(0x1fd)](_0x2d2191[_0x167048(0x1b5)][_0x167048(0x246)],this[_0x167048(0x23f)],this),this[_0x167048(0x1ec)][_0x167048(0x1fd)](_0x2d2191[_0x167048(0x1b5)][_0x167048(0x1cd)],this[_0x167048(0xf3)],this),this[_0x167048(0x1ec)][_0x167048(0x1fd)](_0x2d2191['EventType'][_0x167048(0x100)],this['_onMouseMoveEvent'],this);}},{'key':'_onMapWhellEvent','value':function(_0x46a1f8){var _0x7e9581=_0xa9f8d1,_0x41d8f3=this;clearTimeout(this[_0x7e9581(0x220)]),this[_0x7e9581(0x133)]&&this[_0x7e9581(0x166)]&&(this['canvas'][_0x7e9581(0x22e)][_0x7e9581(0x1d8)]=_0x7e9581(0x15b),this[_0x7e9581(0x220)]=setTimeout(function(){var _0x9bb74a=_0x7e9581;_0x41d8f3[_0x9bb74a(0x133)]&&(_0x41d8f3['redraw'](),_0x41d8f3[_0x9bb74a(0x166)]['style'][_0x9bb74a(0x1d8)]='visible');},0xc8));}},{'key':'_onMouseDownEvent','value':function(_0x1fce35){var _0xc93e3f=_0xa9f8d1;this[_0xc93e3f(0x21e)]=!0x0;}},{'key':'_onMouseMoveEvent','value':function(_0x2bf29){var _0x868a2e=_0xa9f8d1;this[_0x868a2e(0x133)]&&this[_0x868a2e(0x166)]&&this[_0x868a2e(0x21e)]&&(this['canvas'][_0x868a2e(0x22e)][_0x868a2e(0x1d8)]=_0x868a2e(0x15b),this[_0x868a2e(0x155)]=!0x0);}},{'key':_0xa9f8d1(0xf3),'value':function(_0x28c72d){var _0x351078=_0xa9f8d1;this[_0x351078(0x133)]&&this[_0x351078(0x166)]&&(this['mouse_down']&&this['mouse_move']&&this[_0x351078(0xfb)](),this[_0x351078(0x166)][_0x351078(0x22e)][_0x351078(0x1d8)]=_0x351078(0x112),this['mouse_down']=!0x1,this['mouse_move']=!0x1);}},{'key':_0xa9f8d1(0xfb),'value':function(){var _0x22cbae=_0xa9f8d1;this[_0x22cbae(0x133)]&&this[_0x22cbae(0x165)]&&(this[_0x22cbae(0x101)]=[],this[_0x22cbae(0x226)]());}},{'key':_0xa9f8d1(0x253),'value':function(_0x1d3282){var _0x5afe05=_0xa9f8d1;this[_0x5afe05(0x1c6)](),this['windData']=_0x1d3282,this['windField']=new _0x3cfc81(this[_0x5afe05(0x180)],this[_0x5afe05(0x17d)]),this['drawWind']();}},{'key':_0xa9f8d1(0x226),'value':function(){var _0x1cebb0=_0xa9f8d1;this['_calcStep']();for(var _0x1f49e9=0x0;_0x1f49e9<this[_0x1cebb0(0x22b)];_0x1f49e9++){var _0x5de9b5=this['randomParticle'](new _0x3701c4());this[_0x1cebb0(0x101)][_0x1cebb0(0x1d4)](_0x5de9b5);}this[_0x1cebb0(0x207)]['fillStyle']=_0x1cebb0(0x1ee),this[_0x1cebb0(0x207)][_0x1cebb0(0x192)]=0.6,this[_0x1cebb0(0x16a)]();}},{'key':_0xa9f8d1(0x128),'value':function(){var _0xede4b2=_0xa9f8d1;this[_0xede4b2(0x165)]&&(this['calc_speedRate']=[(this[_0xede4b2(0x165)]['xmax']-this[_0xede4b2(0x165)][_0xede4b2(0xf1)])/this['speedRate'],(this['windField']['ymax']-this[_0xede4b2(0x165)]['ymin'])/this[_0xede4b2(0x183)]]);}},{'key':_0xa9f8d1(0x16a),'value':function(){var _0x58e205=_0xa9f8d1,_0x1380fc=this;if(this['show']&&!(this['particles']['length']<=0x0)){var _0x58c9c7=null,_0x25f4cf=null,_0xacf40f=null;this[_0x58e205(0x101)][_0x58e205(0x163)](function(_0x34b1b1){var _0x2fd4a1=_0x58e205;if(_0x34b1b1['age']<=0x0&&_0x1380fc[_0x2fd4a1(0x1e6)](_0x34b1b1),_0x34b1b1['age']>0x0){var _0x28f99f=_0x34b1b1['tlng'],_0x1cfe46=_0x34b1b1['tlat'];(_0xacf40f=_0x1380fc[_0x2fd4a1(0x165)]['getUVByPoint'](_0x28f99f,_0x1cfe46))?(_0x58c9c7=_0x28f99f+_0x1380fc[_0x2fd4a1(0x1d2)][0x0]*_0xacf40f[0x0],_0x25f4cf=_0x1cfe46+_0x1380fc[_0x2fd4a1(0x1d2)][0x1]*_0xacf40f[0x1],_0x34b1b1[_0x2fd4a1(0x234)]=_0x28f99f,_0x34b1b1[_0x2fd4a1(0x256)]=_0x1cfe46,_0x34b1b1[_0x2fd4a1(0x1d0)]=_0x58c9c7,_0x34b1b1[_0x2fd4a1(0x1a1)]=_0x25f4cf,_0x34b1b1[_0x2fd4a1(0x237)]--):_0x34b1b1[_0x2fd4a1(0x237)]=0x0;}}),this['_drawLines']();}}},{'key':'_tomap','value':function(_0x18a630,_0x28670f,_0x156158){var _0x467ae4=_0xa9f8d1,_0x2af83d=_0x571827[_0x467ae4(0x139)][_0x467ae4(0xec)](_0x18a630,_0x28670f,this[_0x467ae4(0x195)]),_0x5aee76=this['_map'][_0x467ae4(0x24f)];if(_0x5aee76[_0x467ae4(0x1ef)]===_0x571827[_0x467ae4(0x1b4)][_0x467ae4(0x1a6)]&&!new _0x571827[(_0x467ae4(0x18f))](_0x5aee76[_0x467ae4(0x12e)][_0x467ae4(0x249)],_0x5aee76['camera'][_0x467ae4(0x210)])[_0x467ae4(0x140)](_0x2af83d))return _0x156158[_0x467ae4(0x237)]=0x0,null;var _0xf4dea0=_0x571827[_0x467ae4(0x1de)][_0x467ae4(0x17e)](this[_0x467ae4(0x1ec)][_0x467ae4(0x24f)],_0x2af83d);return _0xf4dea0?[_0xf4dea0['x'],_0xf4dea0['y']]:null;}},{'key':_0xa9f8d1(0x222),'value':function(){var _0x286d62=_0xa9f8d1,_0x3709fe=this,_0x5322c1=this[_0x286d62(0x101)];this['canvasContext'][_0x286d62(0x19a)]=_0x3709fe['lineWidth'],this[_0x286d62(0x207)][_0x286d62(0x1f6)]='destination-in',this[_0x286d62(0x207)][_0x286d62(0x161)](0x0,0x0,this[_0x286d62(0x137)],this[_0x286d62(0x156)]),this[_0x286d62(0x207)][_0x286d62(0x1f6)]=_0x286d62(0x1e0),this[_0x286d62(0x207)][_0x286d62(0x192)]=0.9,this[_0x286d62(0x207)][_0x286d62(0x208)](),this[_0x286d62(0x207)][_0x286d62(0x24c)]=this[_0x286d62(0x1bf)];var _0x35403d=this['_map'][_0x286d62(0x24f)][_0x286d62(0x1ef)]!==_0x571827['SceneMode'][_0x286d62(0x1a6)];_0x5322c1[_0x286d62(0x163)](function(_0xb39c41){var _0x48a490=_0x286d62,_0x2ec435=_0x3709fe[_0x48a490(0x148)](_0xb39c41['lng'],_0xb39c41[_0x48a490(0x256)],_0xb39c41),_0x530d02=_0x3709fe[_0x48a490(0x148)](_0xb39c41[_0x48a490(0x1d0)],_0xb39c41[_0x48a490(0x1a1)],_0xb39c41);if(null!=_0x2ec435&&null!=_0x530d02){var _0xd0fcd6=Math['abs'](_0x2ec435[0x0]-_0x530d02[0x0]);_0x35403d&&_0xd0fcd6>=_0x3709fe['canvasWidth']||(_0x3709fe[_0x48a490(0x207)][_0x48a490(0x1a8)](_0x2ec435[0x0],_0x2ec435[0x1]),_0x3709fe['canvasContext'][_0x48a490(0x254)](_0x530d02[0x0],_0x530d02[0x1]));}}),this[_0x286d62(0x207)][_0x286d62(0x20d)]();}},{'key':_0xa9f8d1(0x1e6),'value':function(_0x419e6d){var _0x364cd2=_0xa9f8d1;for(var _0x3def4b,_0x3fd039,_0x398e3f=0x0;_0x398e3f<0x1e&&(_0x3def4b=this[_0x364cd2(0x165)]['getRandomLatLng'](),!((_0x3fd039=this['windField'][_0x364cd2(0x116)](_0x3def4b[_0x364cd2(0x234)],_0x3def4b[_0x364cd2(0x256)]))&&_0x3fd039[0x2]>0x0));_0x398e3f++);if(!_0x3fd039)return _0x419e6d;var _0x55c93f=_0x3def4b[_0x364cd2(0x234)]+this[_0x364cd2(0x1d2)][0x0]*_0x3fd039[0x0],_0x247da7=_0x3def4b[_0x364cd2(0x256)]+this['calc_speedRate'][0x1]*_0x3fd039[0x1];return _0x419e6d[_0x364cd2(0x234)]=_0x3def4b[_0x364cd2(0x234)],_0x419e6d[_0x364cd2(0x256)]=_0x3def4b['lat'],_0x419e6d[_0x364cd2(0x1d0)]=_0x55c93f,_0x419e6d[_0x364cd2(0x1a1)]=_0x247da7,_0x419e6d[_0x364cd2(0x237)]=Math[_0x364cd2(0x233)](Math['random']()*this[_0x364cd2(0x1c5)]),_0x419e6d;}},{'key':_0xa9f8d1(0x1c6),'value':function(){var _0x5bc5d6=_0xa9f8d1;this[_0x5bc5d6(0x101)]=[],delete this['windField'],delete this[_0x5bc5d6(0x180)];}}]),_0x2a0a3d;}(_0x2d2191['layer']['BaseLayer']);function _0x4a736f(_0x2c3ce9,_0x11b02a){var _0xa23335=_0x57087a;return _0x2c3ce9*Math['cos'](_0x571827[_0xa23335(0x13a)][_0xa23335(0x259)](_0x11b02a));}function _0x11c83d(_0x29dbbd,_0x42c03a){var _0x25952e=_0x57087a;return _0x29dbbd*Math[_0x25952e(0x1ea)](_0x571827[_0x25952e(0x13a)][_0x25952e(0x259)](_0x42c03a));}function _0x8b38a9(_0x70ee3e,_0x17a06a){var _0xb0ed5e=_0x57087a;return Math[_0xb0ed5e(0x173)](Math[_0xb0ed5e(0x16d)](_0x70ee3e,0x2)+Math[_0xb0ed5e(0x16d)](_0x17a06a,0x2));}function _0x6bffb1(_0x5e4e6d,_0x28e94b){var _0x231f0b=_0x57087a,_0x24a3e2=_0x571827[_0x231f0b(0x13a)][_0x231f0b(0x102)](Math[_0x231f0b(0x187)](_0x28e94b,_0x5e4e6d));return _0x24a3e2+=_0x24a3e2<0x0?0x168:0x0;}_0x2d2191['LayerUtil']['register'](_0x57087a(0x214),_0x33eddd),_0x2d2191[_0x57087a(0x1bb)]['CanvasWindLayer']=_0x33eddd,_0x2d2191[_0x57087a(0x200)]=_0xed3438;}]));function a0_0x37ae(){var _0x2afa04=['Color','2505800sijaGT','toStringTag','lonRange','height','wheel','off','bindEvent','_maxAge','WindUtil','setData','createRawRenderState','VertexArray','function','appendChild','getPixelSize','canvasContext','beginPath','postProcessingPosition','destroy','ymax','particlesRendering','stroke','none','pointerEvents','positionWC','width','viewRectangleToLonLatRange','removeAll','canvasWind','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','all','construct','colorTable','GeometryAttributes','autoClear','RGBA','zIndex','context','mouse_down','fadeOpacity','refreshTimer','clampToLatitudeRange','_drawLines','createParticlesTextures','vdata','WindLayer','drawWind','Rectangle','particlesTextureSize','_showHook','fill','particlesNumber','class','currentTrailsDepth','style','xmax','getDirection','particlesWind','segmentsDepth','round','lng','commandType','destroyParticlesTextures','age','canrefresh','key','DrawCommand','segments','bind','getExtent','__esModule','_onMouseDownEvent','_removedHook','createCommand','preRender','absolute','ShaderSource','NEAREST','mouseDown','wind','drawingBufferWidth','ellipsoid','framebuffer','TextureMagnificationFilter','strokeStyle','maxParticles','remove','scene','attribute\x20vec3\x20position;\x0d\x0aattribute\x20vec2\x20st;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20textureCoordinate\x20=\x20st;\x0d\x0a\x20\x20\x20\x20gl_Position\x20=\x20vec4(position,\x201.0);\x0d\x0a}','99wdSZtk','DEPTH_COMPONENT','updateDate','lineTo','270eENnDP','lat','nextParticlesPosition','fromCache','toRadians','719511VrzuiT','Compute','Framebuffer','setPrototypeOf','getContext','min','preExecute','drawingBufferHeight','currentParticlesSpeed','fromDegrees','dimensions','west','particlesComputing','setGeometry','xmin','nextTrailsDepth','_onMouseUpEvent','globeBoundingSphere','clientHeight','once','TRIANGLES','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','auto','exports','redraw','getDefaultRenderState','clientWidth','rawRenderState','isInExtent','mouseMove','particles','toDegrees','data','call','ALWAYS','defined','0px','Sampler','pointer-events','container','clearFramebuffers','getUserInput','removeEventListener','IDENTITY','OPAQUE','add','writable','visible','randomBetween','primitives','TextureMinificationFilter','getUVByPoint','uniform\x20sampler2D\x20trailsColorTexture;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(trailsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x20else\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20}\x0d\x0a}','uniform\x20sampler2D\x20colorTable;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}','WMS_URL','floor','createSegmentsGeometry','_onMap_preRenderEvent','particleSystem','postProcessingSpeed','segmentsColor','windTextures','geometry','blending','_pointerEvents','fromGeometry','particleHeight','_particlesNumber','2rFVQzK','_calcStep','ShaderProgram','mars3dWind','THREE_PI_OVER_TWO','1102450dVFwUL','unbindEvent','globe','uniform\x20sampler2D\x20nextParticlesPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0a//\x20range\x20(min,\x20max)\x0auniform\x20vec2\x20lonRange;\x0auniform\x20vec2\x20latRange;\x0a\x0auniform\x20float\x20randomCoefficient;\x20//\x20use\x20to\x20improve\x20the\x20pseudo-random\x20generator\x0auniform\x20float\x20dropRate;\x20//\x20drop\x20rate\x20is\x20a\x20chance\x20a\x20particle\x20will\x20restart\x20at\x20random\x20position\x20to\x20avoid\x20degeneration\x0auniform\x20float\x20dropRateBump;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0a//\x20pseudo-random\x20generator\x0aconst\x20vec3\x20randomConstants\x20=\x20vec3(12.9898,\x2078.233,\x204375.85453);\x0aconst\x20vec2\x20normalRange\x20=\x20vec2(0.0,\x201.0);\x0afloat\x20rand(vec2\x20seed,\x20vec2\x20range)\x20{\x0a\x20\x20\x20\x20vec2\x20randomSeed\x20=\x20randomCoefficient\x20*\x20seed;\x0a\x20\x20\x20\x20float\x20temp\x20=\x20dot(randomConstants.xy,\x20randomSeed);\x0a\x20\x20\x20\x20temp\x20=\x20fract(sin(temp)\x20*\x20(randomConstants.z\x20+\x20temp));\x0a\x20\x20\x20\x20return\x20temp\x20*\x20(range.y\x20-\x20range.x)\x20+\x20range.x;\x0a}\x0a\x0avec3\x20generateRandomParticle(vec2\x20seed,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20longitude\x20is\x20in\x20[0,\x20360]\x0a\x20\x20\x20\x20float\x20randomLon\x20=\x20mod(rand(seed,\x20lonRange),\x20360.0);\x0a\x20\x20\x20\x20float\x20randomLat\x20=\x20rand(-seed,\x20latRange);\x0a\x0a\x20\x20\x20\x20return\x20vec3(randomLon,\x20randomLat,\x20lev);\x0a}\x0a\x0abool\x20particleOutbound(vec3\x20particle)\x20{\x0a\x20\x20\x20\x20return\x20particle.y\x20<\x20-90.0\x20||\x20particle.y\x20>\x2090.0;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20texture2D(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20float\x20particleDropRate\x20=\x20dropRate\x20+\x20dropRateBump\x20*\x20nextSpeed.a;\x0a\x0a\x20\x20\x20\x20vec2\x20seed1\x20=\x20nextParticle.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec2\x20seed2\x20=\x20nextSpeed.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec3\x20randomParticle\x20=\x20generateRandomParticle(seed1,\x20nextParticle.z);\x0a\x20\x20\x20\x20float\x20randomNumber\x20=\x20rand(seed2,\x20normalRange);\x0a\x0a\x20\x20\x20\x20if\x20(randomNumber\x20<\x20particleDropRate\x20||\x20particleOutbound(nextParticle))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(randomParticle,\x201.0);\x20//\x201.0\x20means\x20this\x20is\x20a\x20random\x20particle\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a\x20\x20\x20\x20}\x0a}','GeometryAttribute','PrimitiveType','vertexShaderSource','show','randomizeParticles','ymin','createTexture','canvasWidth','uniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20lengthOfLonLat(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20unit\x20conversion:\x20meters\x20->\x20longitude\x20latitude\x20degrees\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_system#Length_of_a_degree\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20Calculate\x20the\x20length\x20of\x20a\x20degree\x20of\x20latitude\x20and\x20longitude\x20in\x20meters\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x0a\x20\x20\x20\x20float\x20term1\x20=\x20111132.92;\x0a\x20\x20\x20\x20float\x20term2\x20=\x20559.82\x20*\x20cos(2.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term3\x20=\x201.175\x20*\x20cos(4.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term4\x20=\x200.0023\x20*\x20cos(6.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20latLength\x20=\x20term1\x20-\x20term2\x20+\x20term3\x20-\x20term4;\x0a\x0a\x20\x20\x20\x20float\x20term5\x20=\x20111412.84\x20*\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20term6\x20=\x2093.5\x20*\x20cos(3.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term7\x20=\x200.118\x20*\x20cos(5.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20longLength\x20=\x20term5\x20-\x20term6\x20+\x20term7;\x0a\x0a\x20\x20\x20\x20return\x20vec2(longLength,\x20latLength);\x0a}\x0a\x0avoid\x20updatePosition(vec3\x20lonLatLev,\x20vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec2\x20lonLatLength\x20=\x20lengthOfLonLat(lonLatLev);\x0a\x20\x20\x20\x20float\x20u\x20=\x20speed.x\x20/\x20lonLatLength.x;\x0a\x20\x20\x20\x20float\x20v\x20=\x20speed.y\x20/\x20lonLatLength.y;\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20vec3\x20windVectorInLonLatLev\x20=\x20vec3(u,\x20v,\x20w);\x0a\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20lonLatLev\x20+\x20windVectorInLonLatLev;\x0a\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20speed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20updatePosition(lonLatLev,\x20speed);\x0a}','Cartesian3','Math','Geometry','userInput','currentParticlesPosition','Module','isDestroyed','isPointVisible','nextTrails','now','frameRate','addPrimitives','cancelAnimationFrame','array','south','_tomap','ZERO','ComputeCommand','arrayBufferView','framebuffers','_mountedHook','100%','speedFactor','position','getU','getRandomLatLng','ClearCommand','_createCanvas','mouse_move','canvasHeight','vertexArray','uniform\x20sampler2D\x20segmentsColorTexture;\x0d\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0d\x0a\x0d\x0auniform\x20sampler2D\x20currentTrailsColor;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0auniform\x20float\x20fadeOpacity;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture2D(segmentsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(currentTrailsColor,\x20textureCoordinate);\x0d\x0a\x0d\x0a\x20\x20\x20\x20trailsColor\x20=\x20floor(fadeOpacity\x20*\x20255.0\x20*\x20trailsColor)\x20/\x20255.0;\x20//\x20make\x20sure\x20the\x20trailsColor\x20will\x20be\x20strictly\x20decreased\x0d\x0a\x0d\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture2D(segmentsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20pointsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20gl_FragDepthEXT\x20=\x20min(pointsDepth,\x20trailsDepth);\x0d\x0a}','DISABLE_GL_POSITION_LOG_DEPTH','resize','hidden','PixelFormat','animateFrame','UNSIGNED_INT','prototype','attribute\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0aattribute\x20vec3\x20normal;\x20//\x20(point\x20to\x20use,\x20offset\x20sign,\x20not\x20used\x20component)\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x0auniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20postProcessingSpeed;\x0a\x0auniform\x20float\x20particleHeight;\x0a\x0auniform\x20float\x20aspect;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20lineWidth;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avec3\x20convertCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20WGS84\x20(lon,\x20lat,\x20lev)\x20->\x20ECEF\x20(x,\x20y,\x20z)\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_conversion#From_geodetic_to_ECEF_coordinates\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20WGS\x2084\x20geometric\x20constants\x20\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x20\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\x20\x0a\x20\x20\x20\x20float\x20e2\x20=\x206.69437999014e-3;\x20//\x20First\x20eccentricity\x20squared\x0a\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x20\x20\x20\x20float\x20longitude\x20=\x20radians(lonLatLev.x);\x0a\x0a\x20\x20\x20\x20float\x20cosLat\x20=\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20sinLat\x20=\x20sin(latitude);\x0a\x20\x20\x20\x20float\x20cosLon\x20=\x20cos(longitude);\x0a\x20\x20\x20\x20float\x20sinLon\x20=\x20sin(longitude);\x0a\x0a\x20\x20\x20\x20float\x20N_Phi\x20=\x20a\x20/\x20sqrt(1.0\x20-\x20e2\x20*\x20sinLat\x20*\x20sinLat);\x0a\x20\x20\x20\x20float\x20h\x20=\x20particleHeight;\x20//\x20it\x20should\x20be\x20high\x20enough\x20otherwise\x20the\x20particle\x20may\x20not\x20pass\x20the\x20terrain\x20depth\x20test\x0a\x0a\x20\x20\x20\x20vec3\x20cartesian\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20cartesian.x\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20cosLon;\x0a\x20\x20\x20\x20cartesian.y\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20sinLon;\x0a\x20\x20\x20\x20cartesian.z\x20=\x20((b\x20*\x20b)\x20/\x20(a\x20*\x20a)\x20*\x20N_Phi\x20+\x20h)\x20*\x20sinLat;\x0a\x20\x20\x20\x20return\x20cartesian;\x0a}\x0a\x0avec4\x20calcProjectedCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20the\x20range\x20of\x20longitude\x20in\x20Cesium\x20is\x20[-180,\x20180]\x20but\x20the\x20range\x20of\x20longitude\x20in\x20the\x20NetCDF\x20file\x20is\x20[0,\x20360]\x0a\x20\x20\x20\x20//\x20[0,\x20180]\x20is\x20corresponding\x20to\x20[0,\x20180]\x20and\x20[180,\x20360]\x20is\x20corresponding\x20to\x20[-180,\x200]\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x\x20+\x20180.0,\x20360.0)\x20-\x20180.0;\x0a\x20\x20\x20\x20vec3\x20particlePosition\x20=\x20convertCoordinate(lonLatLev);\x0a\x20\x20\x20\x20vec4\x20projectedCoordinate\x20=\x20czm_modelViewProjection\x20*\x20vec4(particlePosition,\x201.0);\x0a\x20\x20\x20\x20return\x20projectedCoordinate;\x0a}\x0a\x0avec4\x20calcOffset(vec4\x20currentProjectedCoordinate,\x20vec4\x20nextProjectedCoordinate,\x20float\x20offsetSign)\x20{\x0a\x20\x20\x20\x20vec2\x20aspectVec2\x20=\x20vec2(aspect,\x201.0);\x0a\x20\x20\x20\x20vec2\x20currentXY\x20=\x20(currentProjectedCoordinate.xy\x20/\x20currentProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x20\x20\x20\x20vec2\x20nextXY\x20=\x20(nextProjectedCoordinate.xy\x20/\x20nextProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x0a\x20\x20\x20\x20float\x20offsetLength\x20=\x20lineWidth\x20/\x202.0;\x0a\x20\x20\x20\x20vec2\x20direction\x20=\x20normalize(nextXY\x20-\x20currentXY);\x0a\x20\x20\x20\x20vec2\x20normalVector\x20=\x20vec2(-direction.y,\x20direction.x);\x0a\x20\x20\x20\x20normalVector.x\x20=\x20normalVector.x\x20/\x20aspect;\x0a\x20\x20\x20\x20normalVector\x20=\x20offsetLength\x20*\x20normalVector;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20vec4(offsetSign\x20*\x20normalVector,\x200.0,\x200.0);\x0a\x20\x20\x20\x20return\x20offset;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec2\x20particleIndex\x20=\x20st;\x0a\x0a\x20\x20\x20\x20vec3\x20currentPosition\x20=\x20texture2D(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture2D(postProcessingPosition,\x20particleIndex);\x0a\x0a\x20\x20\x20\x20vec4\x20currentProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20vec4\x20nextProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(nextPosition.w\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(nextPosition.xyz);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20float\x20pointToUse\x20=\x20normal.x;\x20//\x20-1\x20is\x20currentProjectedCoordinate\x20and\x20+1\x20is\x20nextProjectedCoordinate\x0a\x20\x20\x20\x20float\x20offsetSign\x20=\x20normal.y;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20pixelSize\x20*\x20calcOffset(currentProjectedCoordinate,\x20nextProjectedCoordinate,\x20offsetSign);\x0a\x20\x20\x20\x20if\x20(pointToUse\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20currentProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20nextProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20speedNormalization\x20=\x20texture2D(postProcessingSpeed,\x20particleIndex).a;\x0a}','fillRect','depthTexture','forEach','shaderProgram','windField','canvas','valueOf','east','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','update','string','attributeLocations','pow','particlesTextures','createWindTextures','camera','max','symbol','sqrt','canvasResize','viewerParameters','destroyObject','outputTexture','hasOwnProperty','setAttribute','random','_addedHook','updateViewerParameters','reverseY','wgs84ToWindowCoordinates','left','windData','default','ceil','speedRate','grid','iterator','BoundingSphere','atan2','lev','undefined','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','Draw','refreshParticles','ComponentDatatype','dropRateBump','EllipsoidalOccluder','createElement','latRange','globalAlpha','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','mod','fixedHeight','register','nextParticlesSpeed','45797bGPXwk','getPrototypeOf','lineWidth','commandToExecute','getUVByXY','screen','configurable','currentTrailsColor','value','tlat','removeChild','_calcUV','log','3579800HlUsal','SCENE3D','getWind','moveTo','Cesium','textures','commandList','createFramebuffer','options','__proto__','Cartesian2','depthTest','getFullscreenQuad','Pass','createRenderingPrimitives','SceneMode','EventType','pixelSize','PI_OVER_TWO','length','trails','cols','layer','uniformMap','globeLayer','frameTime','color','create','updatePosition','sham','TWO_PI','enumerable','maxAge','clear','96551RWTbnk','PixelDatatype','BufferUsage','fragmentShaderSource','defaultValue','applyViewerParameters','mouseUp','_onMapWhellEvent','10121656LzhWMs','tlng','LayerUtil','calc_speedRate','RGB','push','constructor','colorNum','FLOAT','visibility','LINEAR','keys','Texture','_onMouseMoveEvent','_bilinearInterpolation','SceneTransforms','updateSpeed','lighter','currentTrails','PI_OVER_THREE','toGridXY','addEventListener','RenderState','randomParticle','apply','//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\x20\x0auniform\x20sampler2D\x20V;\x20//\x20northward\x20wind\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0a\x0auniform\x20vec3\x20dimension;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20vec3\x20minimum;\x20//\x20minimum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20maximum;\x20//\x20maximum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20interval;\x20//\x20interval\x20of\x20each\x20dimension\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20mapPositionToNormalizedIndex2D(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20range\x20of\x20longitude\x20and\x20latitude\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x,\x20360.0);\x0a\x20\x20\x20\x20lonLatLev.y\x20=\x20clamp(lonLatLev.y,\x20-90.0,\x2090.0);\x0a\x0a\x20\x20\x20\x20vec3\x20index3D\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20index3D.x\x20=\x20(lonLatLev.x\x20-\x20minimum.x)\x20/\x20interval.x;\x0a\x20\x20\x20\x20index3D.y\x20=\x20(lonLatLev.y\x20-\x20minimum.y)\x20/\x20interval.y;\x0a\x20\x20\x20\x20index3D.z\x20=\x20(lonLatLev.z\x20-\x20minimum.z)\x20/\x20interval.z;\x0a\x0a\x20\x20\x20\x20//\x20the\x20st\x20texture\x20coordinate\x20corresponding\x20to\x20(col,\x20row)\x20index\x0a\x20\x20\x20\x20//\x20example\x0a\x20\x20\x20\x20//\x20data\x20array\x20is\x20[0,\x201,\x202,\x203,\x204,\x205],\x20width\x20=\x203,\x20height\x20=\x202\x0a\x20\x20\x20\x20//\x20the\x20content\x20of\x20texture\x20will\x20be\x0a\x20\x20\x20\x20//\x20t\x201.0\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x203\x204\x205\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x200\x201\x202\x0a\x20\x20\x20\x20//\x20\x20\x200.0------1.0\x20s\x0a\x0a\x20\x20\x20\x20vec2\x20index2D\x20=\x20vec2(index3D.x,\x20index3D.z\x20*\x20dimension.y\x20+\x20index3D.y);\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20vec2(index2D.x\x20/\x20dimension.x,\x20index2D.y\x20/\x20(dimension.y\x20*\x20dimension.z));\x0a\x20\x20\x20\x20return\x20normalizedIndex2D;\x0a}\x0a\x0afloat\x20getWind(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20mapPositionToNormalizedIndex2D(lonLatLev);\x0a\x20\x20\x20\x20float\x20result\x20=\x20texture2D(windTexture,\x20normalizedIndex2D).r;\x0a\x20\x20\x20\x20return\x20result;\x0a}\x0a\x0aconst\x20mat4\x20kernelMatrix\x20=\x20mat4(\x0a\x20\x20\x20\x200.0,\x20-1.0,\x202.0,\x20-1.0,\x20//\x20first\x20column\x0a\x20\x20\x20\x202.0,\x200.0,\x20-5.0,\x203.0,\x20//\x20second\x20column\x0a\x20\x20\x20\x200.0,\x201.0,\x204.0,\x20-3.0,\x20//\x20third\x20column\x0a\x20\x20\x20\x200.0,\x200.0,\x20-1.0,\x201.0\x20//\x20fourth\x20column\x0a);\x0afloat\x20oneDimensionInterpolation(float\x20t,\x20float\x20p0,\x20float\x20p1,\x20float\x20p2,\x20float\x20p3)\x20{\x0a\x20\x20\x20\x20vec4\x20tVec4\x20=\x20vec4(1.0,\x20t,\x20t\x20*\x20t,\x20t\x20*\x20t\x20*\x20t);\x0a\x20\x20\x20\x20tVec4\x20=\x20tVec4\x20/\x202.0;\x0a\x20\x20\x20\x20vec4\x20pVec4\x20=\x20vec4(p0,\x20p1,\x20p2,\x20p3);\x0a\x20\x20\x20\x20return\x20dot((tVec4\x20*\x20kernelMatrix),\x20pVec4);\x0a}\x0a\x0afloat\x20calculateB(sampler2D\x20windTexture,\x20float\x20t,\x20float\x20lon,\x20float\x20lat,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20float\x20lon0\x20=\x20floor(lon)\x20-\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon1\x20=\x20floor(lon);\x0a\x20\x20\x20\x20float\x20lon2\x20=\x20floor(lon)\x20+\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon3\x20=\x20floor(lon)\x20+\x202.0\x20*\x20interval.x;\x0a\x0a\x20\x20\x20\x20float\x20p0\x20=\x20getWind(windTexture,\x20vec3(lon0,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p1\x20=\x20getWind(windTexture,\x20vec3(lon1,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p2\x20=\x20getWind(windTexture,\x20vec3(lon2,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p3\x20=\x20getWind(windTexture,\x20vec3(lon3,\x20lat,\x20lev));\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(t,\x20p0,\x20p1,\x20p2,\x20p3);\x0a}\x0a\x0afloat\x20interpolateOneTexture(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20float\x20lon\x20=\x20lonLatLev.x;\x0a\x20\x20\x20\x20float\x20lat\x20=\x20lonLatLev.y;\x0a\x20\x20\x20\x20float\x20lev\x20=\x20lonLatLev.z;\x0a\x0a\x20\x20\x20\x20float\x20lat0\x20=\x20floor(lat)\x20-\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat1\x20=\x20floor(lat);\x0a\x20\x20\x20\x20float\x20lat2\x20=\x20floor(lat)\x20+\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat3\x20=\x20floor(lat)\x20+\x202.0\x20*\x20interval.y;\x0a\x0a\x20\x20\x20\x20vec2\x20coefficient\x20=\x20lonLatLev.xy\x20-\x20floor(lonLatLev.xy);\x0a\x20\x20\x20\x20float\x20b0\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat0,\x20lev);\x0a\x20\x20\x20\x20float\x20b1\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat1,\x20lev);\x0a\x20\x20\x20\x20float\x20b2\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat2,\x20lev);\x0a\x20\x20\x20\x20float\x20b3\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat3,\x20lev);\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(coefficient.y,\x20b0,\x20b1,\x20b2,\x20b3);\x0a}\x0a\x0avec3\x20bicubic(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20https://en.wikipedia.org/wiki/Bicubic_interpolation#Bicubic_convolution_algorithm\x0a\x20\x20\x20\x20float\x20u\x20=\x20interpolateOneTexture(U,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20v\x20=\x20interpolateOneTexture(V,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20return\x20vec3(u,\x20v,\x20w);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20bicubic(lonLatLev);\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(windVector,\x200.0);\x0a}','rows','sin','clearCommand','_map','getSpeed','rgba(0,\x200,\x200,\x200.97)','mode','defineProperty','object','lon','createRenderingTextures','dropRate','getV','globalCompositeOperation'];a0_0x37ae=function(){return _0x2afa04;};return a0_0x37ae();}
|
|
30
|
+
var a0_0x54e0cc=a0_0x3080;(function(_0x451ae5,_0x41d121){var _0x1dcc05=a0_0x3080,_0x246404=_0x451ae5();while(!![]){try{var _0x3973ec=-parseInt(_0x1dcc05(0xd6))/0x1*(parseInt(_0x1dcc05(0x216))/0x2)+-parseInt(_0x1dcc05(0x121))/0x3*(-parseInt(_0x1dcc05(0x157))/0x4)+-parseInt(_0x1dcc05(0xda))/0x5+-parseInt(_0x1dcc05(0x22a))/0x6*(parseInt(_0x1dcc05(0x179))/0x7)+parseInt(_0x1dcc05(0x185))/0x8*(-parseInt(_0x1dcc05(0x21e))/0x9)+-parseInt(_0x1dcc05(0xf7))/0xa+parseInt(_0x1dcc05(0x14f))/0xb*(parseInt(_0x1dcc05(0x1a1))/0xc);if(_0x3973ec===_0x41d121)break;else _0x246404['push'](_0x246404['shift']());}catch(_0x19d2d9){_0x246404['push'](_0x246404['shift']());}}}(a0_0x1d56,0x5b726),window[a0_0x54e0cc(0x1fe)]=function(_0x1425e0){var _0x213a61={};function _0x3de898(_0x2d8cfe){var _0x203820=a0_0x3080;if(_0x213a61[_0x2d8cfe])return _0x213a61[_0x2d8cfe][_0x203820(0x1e5)];var _0x5d8d2d=_0x213a61[_0x2d8cfe]={'i':_0x2d8cfe,'l':!0x1,'exports':{}};return _0x1425e0[_0x2d8cfe][_0x203820(0x1e8)](_0x5d8d2d[_0x203820(0x1e5)],_0x5d8d2d,_0x5d8d2d[_0x203820(0x1e5)],_0x3de898),_0x5d8d2d['l']=!0x0,_0x5d8d2d['exports'];}return _0x3de898['m']=_0x1425e0,_0x3de898['c']=_0x213a61,_0x3de898['d']=function(_0x3ae9c1,_0x2f75b0,_0x112493){var _0x474a5a=a0_0x3080;_0x3de898['o'](_0x3ae9c1,_0x2f75b0)||Object[_0x474a5a(0x210)](_0x3ae9c1,_0x2f75b0,{'enumerable':!0x0,'get':_0x112493});},_0x3de898['r']=function(_0x2c2a60){var _0x19b337=a0_0x3080;'undefined'!=typeof Symbol&&Symbol[_0x19b337(0x154)]&&Object[_0x19b337(0x210)](_0x2c2a60,Symbol[_0x19b337(0x154)],{'value':_0x19b337(0x181)}),Object['defineProperty'](_0x2c2a60,'__esModule',{'value':!0x0});},_0x3de898['t']=function(_0x414f50,_0x3e4460){var _0x1cb93b=a0_0x3080;if(0x1&_0x3e4460&&(_0x414f50=_0x3de898(_0x414f50)),0x8&_0x3e4460)return _0x414f50;if(0x4&_0x3e4460&&'object'==typeof _0x414f50&&_0x414f50&&_0x414f50[_0x1cb93b(0x18c)])return _0x414f50;var _0x1eef90=Object[_0x1cb93b(0x1d6)](null);if(_0x3de898['r'](_0x1eef90),Object[_0x1cb93b(0x210)](_0x1eef90,'default',{'enumerable':!0x0,'value':_0x414f50}),0x2&_0x3e4460&&_0x1cb93b(0xe5)!=typeof _0x414f50){for(var _0x26a953 in _0x414f50)_0x3de898['d'](_0x1eef90,_0x26a953,function(_0x432b56){return _0x414f50[_0x432b56];}[_0x1cb93b(0x146)](null,_0x26a953));}return _0x1eef90;},_0x3de898['n']=function(_0x3a75e7){var _0x168f55=a0_0x3080,_0x37d727=_0x3a75e7&&_0x3a75e7[_0x168f55(0x18c)]?function(){var _0x133ca4=_0x168f55;return _0x3a75e7[_0x133ca4(0xd1)];}:function(){return _0x3a75e7;};return _0x3de898['d'](_0x37d727,'a',_0x37d727),_0x37d727;},_0x3de898['o']=function(_0x3bdb7f,_0x5bbb56){var _0x1cad62=a0_0x3080;return Object[_0x1cad62(0x212)][_0x1cad62(0x19a)]['call'](_0x3bdb7f,_0x5bbb56);},_0x3de898['p']='',_0x3de898(_0x3de898['s']=0x14);}([function(_0x56e1d3,_0x2a1f05){var _0x30fa66=a0_0x54e0cc;_0x56e1d3[_0x30fa66(0x1e5)]=window[_0x30fa66(0xeb)];},function(_0x19f279,_0x24c0bf){var _0x55b8b5=a0_0x54e0cc;_0x19f279[_0x55b8b5(0x1e5)]=window[_0x55b8b5(0x17c)];},function(_0x31e6e3,_0x1ef86e){var _0x433154=a0_0x54e0cc;_0x31e6e3[_0x433154(0x1e5)]=function(_0x2bd549,_0x4f53e9){if(!(_0x2bd549 instanceof _0x4f53e9))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');},_0x31e6e3[_0x433154(0x1e5)][_0x433154(0x18c)]=!0x0,_0x31e6e3[_0x433154(0x1e5)][_0x433154(0xd1)]=_0x31e6e3[_0x433154(0x1e5)];},function(_0x4c2f58,_0x95482c){var _0x7a33ac=a0_0x54e0cc;function _0x4e454d(_0x10b926,_0x24bdc2){var _0x52d1ad=a0_0x3080;for(var _0x3600f6=0x0;_0x3600f6<_0x24bdc2[_0x52d1ad(0x110)];_0x3600f6++){var _0x3a6ca2=_0x24bdc2[_0x3600f6];_0x3a6ca2[_0x52d1ad(0x1c5)]=_0x3a6ca2[_0x52d1ad(0x1c5)]||!0x1,_0x3a6ca2['configurable']=!0x0,_0x52d1ad(0x1bd)in _0x3a6ca2&&(_0x3a6ca2[_0x52d1ad(0x1e9)]=!0x0),Object[_0x52d1ad(0x210)](_0x10b926,_0x3a6ca2['key'],_0x3a6ca2);}}_0x4c2f58[_0x7a33ac(0x1e5)]=function(_0x2a8c62,_0x5279d7,_0x51419b){var _0x4f853f=_0x7a33ac;return _0x5279d7&&_0x4e454d(_0x2a8c62[_0x4f853f(0x212)],_0x5279d7),_0x51419b&&_0x4e454d(_0x2a8c62,_0x51419b),Object[_0x4f853f(0x210)](_0x2a8c62,_0x4f853f(0x212),{'writable':!0x1}),_0x2a8c62;},_0x4c2f58[_0x7a33ac(0x1e5)][_0x7a33ac(0x18c)]=!0x0,_0x4c2f58[_0x7a33ac(0x1e5)][_0x7a33ac(0xd1)]=_0x4c2f58[_0x7a33ac(0x1e5)];},function(_0x29831e,_0x3e620e){var _0x302193=a0_0x54e0cc;function _0x36f89f(_0x5aab0b){var _0x1973d5=a0_0x3080;return _0x29831e[_0x1973d5(0x1e5)]=_0x36f89f=Object[_0x1973d5(0x194)]?Object['getPrototypeOf']:function(_0xf876e8){var _0x3c50f2=_0x1973d5;return _0xf876e8[_0x3c50f2(0x177)]||Object[_0x3c50f2(0x186)](_0xf876e8);},_0x29831e[_0x1973d5(0x1e5)]['__esModule']=!0x0,_0x29831e[_0x1973d5(0x1e5)][_0x1973d5(0xd1)]=_0x29831e['exports'],_0x36f89f(_0x5aab0b);}_0x29831e[_0x302193(0x1e5)]=_0x36f89f,_0x29831e[_0x302193(0x1e5)][_0x302193(0x18c)]=!0x0,_0x29831e[_0x302193(0x1e5)][_0x302193(0xd1)]=_0x29831e[_0x302193(0x1e5)];},function(_0x29c9f2,_0x4bdb6b,_0x2f6936){var _0xcb85b=a0_0x54e0cc,_0x524936=_0x2f6936(0x11);_0x29c9f2[_0xcb85b(0x1e5)]=function(_0x34cac6,_0x10cd3f){var _0x1a73b8=_0xcb85b;if(_0x1a73b8(0x148)!=typeof _0x10cd3f&&null!==_0x10cd3f)throw new TypeError(_0x1a73b8(0x1a6));Object[_0x1a73b8(0x210)](_0x34cac6,'prototype',{'value':Object[_0x1a73b8(0x1d6)](_0x10cd3f&&_0x10cd3f[_0x1a73b8(0x212)],{'constructor':{'value':_0x34cac6,'writable':!0x0,'configurable':!0x0}}),'writable':!0x1}),_0x10cd3f&&_0x524936(_0x34cac6,_0x10cd3f);},_0x29c9f2[_0xcb85b(0x1e5)][_0xcb85b(0x18c)]=!0x0,_0x29c9f2[_0xcb85b(0x1e5)][_0xcb85b(0xd1)]=_0x29c9f2[_0xcb85b(0x1e5)];},function(_0x3daf07,_0x4fbbfe,_0x4b1512){var _0x374375=a0_0x54e0cc,_0x40f444=_0x4b1512(0x12)[_0x374375(0xd1)],_0x21bb16=_0x4b1512(0x13);_0x3daf07[_0x374375(0x1e5)]=function(_0xd2f540,_0x135a57){var _0x4631ed=_0x374375;if(_0x135a57&&(_0x4631ed(0x12f)===_0x40f444(_0x135a57)||'function'==typeof _0x135a57))return _0x135a57;if(void 0x0!==_0x135a57)throw new TypeError(_0x4631ed(0x125));return _0x21bb16(_0xd2f540);},_0x3daf07[_0x374375(0x1e5)]['__esModule']=!0x0,_0x3daf07[_0x374375(0x1e5)][_0x374375(0xd1)]=_0x3daf07[_0x374375(0x1e5)];},function(_0x15b131,_0x198ff8){_0x15b131['exports']='attribute\x20vec3\x20position;\x0d\x0aattribute\x20vec2\x20st;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20textureCoordinate\x20=\x20st;\x0d\x0a\x20\x20\x20\x20gl_Position\x20=\x20vec4(position,\x201.0);\x0d\x0a}';},function(_0x2be0dc,_0x1e9125){var _0x3a6940=a0_0x54e0cc;_0x2be0dc[_0x3a6940(0x1e5)]=_0x3a6940(0xf1);},function(_0x6bd342,_0x14a499){var _0x4804cc=a0_0x54e0cc;_0x6bd342[_0x4804cc(0x1e5)]='uniform\x20sampler2D\x20colorTable;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}';},function(_0x4e2590,_0x5554f1){var _0x47b9eb=a0_0x54e0cc;_0x4e2590['exports']=_0x47b9eb(0x1e7);},function(_0x1c2187,_0x466e33){var _0x35125a=a0_0x54e0cc;_0x1c2187[_0x35125a(0x1e5)]='uniform\x20sampler2D\x20trailsColorTexture;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(trailsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x20else\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20}\x0d\x0a}';},function(_0xd7e6a7,_0x208be4){var _0x4790a8=a0_0x54e0cc;_0xd7e6a7[_0x4790a8(0x1e5)]=_0x4790a8(0x200);},function(_0x397b7e,_0x2f3197){var _0x2b4616=a0_0x54e0cc;_0x397b7e[_0x2b4616(0x1e5)]=_0x2b4616(0x1ce);},function(_0x425440,_0x2670cd){var _0x1c1b8b=a0_0x54e0cc;_0x425440[_0x1c1b8b(0x1e5)]='uniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20lengthOfLonLat(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20unit\x20conversion:\x20meters\x20->\x20longitude\x20latitude\x20degrees\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_system#Length_of_a_degree\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20Calculate\x20the\x20length\x20of\x20a\x20degree\x20of\x20latitude\x20and\x20longitude\x20in\x20meters\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x0a\x20\x20\x20\x20float\x20term1\x20=\x20111132.92;\x0a\x20\x20\x20\x20float\x20term2\x20=\x20559.82\x20*\x20cos(2.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term3\x20=\x201.175\x20*\x20cos(4.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term4\x20=\x200.0023\x20*\x20cos(6.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20latLength\x20=\x20term1\x20-\x20term2\x20+\x20term3\x20-\x20term4;\x0a\x0a\x20\x20\x20\x20float\x20term5\x20=\x20111412.84\x20*\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20term6\x20=\x2093.5\x20*\x20cos(3.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term7\x20=\x200.118\x20*\x20cos(5.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20longLength\x20=\x20term5\x20-\x20term6\x20+\x20term7;\x0a\x0a\x20\x20\x20\x20return\x20vec2(longLength,\x20latLength);\x0a}\x0a\x0avoid\x20updatePosition(vec3\x20lonLatLev,\x20vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec2\x20lonLatLength\x20=\x20lengthOfLonLat(lonLatLev);\x0a\x20\x20\x20\x20float\x20u\x20=\x20speed.x\x20/\x20lonLatLength.x;\x0a\x20\x20\x20\x20float\x20v\x20=\x20speed.y\x20/\x20lonLatLength.y;\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20vec3\x20windVectorInLonLatLev\x20=\x20vec3(u,\x20v,\x20w);\x0a\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20lonLatLev\x20+\x20windVectorInLonLatLev;\x0a\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20speed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20updatePosition(lonLatLev,\x20speed);\x0a}';},function(_0x363513,_0x4377dd){var _0x295367=a0_0x54e0cc;_0x363513[_0x295367(0x1e5)]='uniform\x20sampler2D\x20nextParticlesPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0a//\x20range\x20(min,\x20max)\x0auniform\x20vec2\x20lonRange;\x0auniform\x20vec2\x20latRange;\x0a\x0auniform\x20float\x20randomCoefficient;\x20//\x20use\x20to\x20improve\x20the\x20pseudo-random\x20generator\x0auniform\x20float\x20dropRate;\x20//\x20drop\x20rate\x20is\x20a\x20chance\x20a\x20particle\x20will\x20restart\x20at\x20random\x20position\x20to\x20avoid\x20degeneration\x0auniform\x20float\x20dropRateBump;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0a//\x20pseudo-random\x20generator\x0aconst\x20vec3\x20randomConstants\x20=\x20vec3(12.9898,\x2078.233,\x204375.85453);\x0aconst\x20vec2\x20normalRange\x20=\x20vec2(0.0,\x201.0);\x0afloat\x20rand(vec2\x20seed,\x20vec2\x20range)\x20{\x0a\x20\x20\x20\x20vec2\x20randomSeed\x20=\x20randomCoefficient\x20*\x20seed;\x0a\x20\x20\x20\x20float\x20temp\x20=\x20dot(randomConstants.xy,\x20randomSeed);\x0a\x20\x20\x20\x20temp\x20=\x20fract(sin(temp)\x20*\x20(randomConstants.z\x20+\x20temp));\x0a\x20\x20\x20\x20return\x20temp\x20*\x20(range.y\x20-\x20range.x)\x20+\x20range.x;\x0a}\x0a\x0avec3\x20generateRandomParticle(vec2\x20seed,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20longitude\x20is\x20in\x20[0,\x20360]\x0a\x20\x20\x20\x20float\x20randomLon\x20=\x20mod(rand(seed,\x20lonRange),\x20360.0);\x0a\x20\x20\x20\x20float\x20randomLat\x20=\x20rand(-seed,\x20latRange);\x0a\x0a\x20\x20\x20\x20return\x20vec3(randomLon,\x20randomLat,\x20lev);\x0a}\x0a\x0abool\x20particleOutbound(vec3\x20particle)\x20{\x0a\x20\x20\x20\x20return\x20particle.y\x20<\x20-90.0\x20||\x20particle.y\x20>\x2090.0;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20texture2D(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20float\x20particleDropRate\x20=\x20dropRate\x20+\x20dropRateBump\x20*\x20nextSpeed.a;\x0a\x0a\x20\x20\x20\x20vec2\x20seed1\x20=\x20nextParticle.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec2\x20seed2\x20=\x20nextSpeed.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec3\x20randomParticle\x20=\x20generateRandomParticle(seed1,\x20nextParticle.z);\x0a\x20\x20\x20\x20float\x20randomNumber\x20=\x20rand(seed2,\x20normalRange);\x0a\x0a\x20\x20\x20\x20if\x20(randomNumber\x20<\x20particleDropRate\x20||\x20particleOutbound(nextParticle))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(randomParticle,\x201.0);\x20//\x201.0\x20means\x20this\x20is\x20a\x20random\x20particle\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a\x20\x20\x20\x20}\x0a}';},function(_0x31b8c9,_0x3d4686){var _0x2ce27a=a0_0x54e0cc;_0x31b8c9[_0x2ce27a(0x1e5)]=_0x2ce27a(0x142);},function(_0x14a1be,_0xba49fe){var _0x2f665e=a0_0x54e0cc;function _0x5b5344(_0x16383f,_0x2cb941){var _0x2e3b48=a0_0x3080;return _0x14a1be[_0x2e3b48(0x1e5)]=_0x5b5344=Object[_0x2e3b48(0x194)]||function(_0x5b5672,_0x4eb9a3){return _0x5b5672['__proto__']=_0x4eb9a3,_0x5b5672;},_0x14a1be[_0x2e3b48(0x1e5)][_0x2e3b48(0x18c)]=!0x0,_0x14a1be['exports'][_0x2e3b48(0xd1)]=_0x14a1be[_0x2e3b48(0x1e5)],_0x5b5344(_0x16383f,_0x2cb941);}_0x14a1be['exports']=_0x5b5344,_0x14a1be[_0x2f665e(0x1e5)]['__esModule']=!0x0,_0x14a1be[_0x2f665e(0x1e5)][_0x2f665e(0xd1)]=_0x14a1be[_0x2f665e(0x1e5)];},function(_0x56e51a,_0x44716d){var _0x5835d4=a0_0x54e0cc;function _0x26d5ef(_0x3f0aea){var _0x476b8a=a0_0x3080;return _0x56e51a['exports']=_0x26d5ef=_0x476b8a(0x148)==typeof Symbol&&_0x476b8a(0x162)==typeof Symbol[_0x476b8a(0x1bf)]?function(_0x4ae63f){return typeof _0x4ae63f;}:function(_0x42eba4){var _0x4456af=_0x476b8a;return _0x42eba4&&_0x4456af(0x148)==typeof Symbol&&_0x42eba4[_0x4456af(0x1ae)]===Symbol&&_0x42eba4!==Symbol['prototype']?'symbol':typeof _0x42eba4;},_0x56e51a['exports']['__esModule']=!0x0,_0x56e51a[_0x476b8a(0x1e5)]['default']=_0x56e51a[_0x476b8a(0x1e5)],_0x26d5ef(_0x3f0aea);}_0x56e51a[_0x5835d4(0x1e5)]=_0x26d5ef,_0x56e51a[_0x5835d4(0x1e5)]['__esModule']=!0x0,_0x56e51a[_0x5835d4(0x1e5)][_0x5835d4(0xd1)]=_0x56e51a[_0x5835d4(0x1e5)];},function(_0x55058a,_0x4095c5){var _0x123d2b=a0_0x54e0cc;_0x55058a[_0x123d2b(0x1e5)]=function(_0x5df09c){var _0x53b286=_0x123d2b;if(void 0x0===_0x5df09c)throw new ReferenceError(_0x53b286(0x10e));return _0x5df09c;},_0x55058a['exports'][_0x123d2b(0x18c)]=!0x0,_0x55058a[_0x123d2b(0x1e5)][_0x123d2b(0xd1)]=_0x55058a[_0x123d2b(0x1e5)];},function(_0x554609,_0x49761f,_0xb5204c){'use strict';var _0x3a7e93=a0_0x54e0cc;_0xb5204c['r'](_0x49761f),_0xb5204c['d'](_0x49761f,_0x3a7e93(0xd3),function(){return _0xef4d27;}),_0xb5204c['d'](_0x49761f,'CanvasWindLayer',function(){return _0x23a533;}),_0xb5204c['d'](_0x49761f,_0x3a7e93(0x1fd),function(){return _0x4b17ad;});var _0x4b17ad={};_0xb5204c['r'](_0x4b17ad),_0xb5204c['d'](_0x4b17ad,_0x3a7e93(0xe4),function(){return _0x1285d4;}),_0xb5204c['d'](_0x4b17ad,_0x3a7e93(0xcf),function(){return _0x14defd;}),_0xb5204c['d'](_0x4b17ad,_0x3a7e93(0x1ab),function(){return _0x2206a4;}),_0xb5204c['d'](_0x4b17ad,_0x3a7e93(0xc6),function(){return _0xf9eb2e;});var _0x528b06=_0xb5204c(0x1),_0x5aea29=_0xb5204c(0x2),_0x58aa3b=_0xb5204c['n'](_0x5aea29),_0x3b5779=_0xb5204c(0x3),_0x35c165=_0xb5204c['n'](_0x3b5779),_0x15223b=_0xb5204c(0x5),_0x358492=_0xb5204c['n'](_0x15223b),_0x185886=_0xb5204c(0x6),_0x617ddc=_0xb5204c['n'](_0x185886),_0x4ccd39=_0xb5204c(0x4),_0x631931=_0xb5204c['n'](_0x4ccd39),_0x2bfd05=_0xb5204c(0x0),_0x1748b0=(function(){var _0x340991=_0x3a7e93;function _0x5efbe6(_0x53a065){var _0x101468=a0_0x3080;_0x58aa3b()(this,_0x5efbe6),this['commandType']=_0x53a065[_0x101468(0x199)],this[_0x101468(0xfd)]=_0x53a065[_0x101468(0xfd)],this[_0x101468(0x174)]=_0x53a065[_0x101468(0x174)],this[_0x101468(0x1b4)]=_0x53a065[_0x101468(0x1b4)],this[_0x101468(0x100)]=_0x53a065['uniformMap'],this[_0x101468(0x21d)]=_0x53a065['vertexShaderSource'],this[_0x101468(0xd0)]=_0x53a065[_0x101468(0xd0)],this['rawRenderState']=_0x53a065[_0x101468(0xfa)],this['framebuffer']=_0x53a065[_0x101468(0x10a)],this[_0x101468(0x1f7)]=_0x53a065['outputTexture'],this[_0x101468(0x172)]=_0x2bfd05[_0x101468(0x20b)](_0x53a065['autoClear'],!0x1),this[_0x101468(0x156)]=_0x53a065[_0x101468(0x156)],this[_0x101468(0x187)]=!0x0,this[_0x101468(0x17e)]=void 0x0,this['clearCommand']=void 0x0,this[_0x101468(0x172)]&&(this[_0x101468(0xd8)]=new _0x2bfd05[(_0x101468(0x1cf))]({'color':new _0x2bfd05[(_0x101468(0x226))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x101468(0x10a)],'pass':_0x2bfd05[_0x101468(0xf8)][_0x101468(0x22f)]}));}return _0x35c165()(_0x5efbe6,[{'key':_0x340991(0x1be),'value':function(_0x38b4ed){var _0x26f918=_0x340991;switch(this['commandType']){case _0x26f918(0xe7):var _0x308c82=_0x2bfd05[_0x26f918(0x1d1)]['fromGeometry']({'context':_0x38b4ed,'geometry':this[_0x26f918(0xfd)],'attributeLocations':this[_0x26f918(0x174)],'bufferUsage':_0x2bfd05['BufferUsage']['STATIC_DRAW']}),_0x2c0d42=_0x2bfd05[_0x26f918(0x222)][_0x26f918(0xc5)]({'context':_0x38b4ed,'attributeLocations':this[_0x26f918(0x174)],'vertexShaderSource':this[_0x26f918(0x21d)],'fragmentShaderSource':this[_0x26f918(0xd0)]}),_0x51a1df=_0x2bfd05[_0x26f918(0x19e)][_0x26f918(0xc5)](this[_0x26f918(0xfa)]);return new _0x2bfd05[(_0x26f918(0x1b1))]({'owner':this,'vertexArray':_0x308c82,'primitiveType':this['primitiveType'],'uniformMap':this[_0x26f918(0x100)],'modelMatrix':_0x2bfd05['Matrix4']['IDENTITY'],'shaderProgram':_0x2c0d42,'framebuffer':this[_0x26f918(0x10a)],'renderState':_0x51a1df,'pass':_0x2bfd05['Pass'][_0x26f918(0x22f)]});case _0x26f918(0x21c):return new _0x2bfd05[(_0x26f918(0x104))]({'owner':this,'fragmentShaderSource':this[_0x26f918(0xd0)],'uniformMap':this[_0x26f918(0x100)],'outputTexture':this[_0x26f918(0x1f7)],'persists':!0x0});}}},{'key':_0x340991(0x140),'value':function(_0x36715b,_0x5278e2){var _0x2fbd45=_0x340991;this[_0x2fbd45(0xfd)]=_0x5278e2;var _0x4800e7=_0x2bfd05[_0x2fbd45(0x1d1)][_0x2fbd45(0x127)]({'context':_0x36715b,'geometry':this[_0x2fbd45(0xfd)],'attributeLocations':this['attributeLocations'],'bufferUsage':_0x2bfd05[_0x2fbd45(0x234)][_0x2fbd45(0x103)]});this[_0x2fbd45(0x17e)][_0x2fbd45(0xff)]=_0x4800e7;}},{'key':'update','value':function(_0x10a300){var _0x190461=_0x340991;this[_0x190461(0x187)]&&_0x10a300[_0x190461(0x18a)]==_0x2bfd05[_0x190461(0x1f8)][_0x190461(0x184)]&&(_0x2bfd05[_0x190461(0x183)](this[_0x190461(0x17e)])||(this['commandToExecute']=this[_0x190461(0x1be)](_0x10a300[_0x190461(0x15e)])),_0x2bfd05[_0x190461(0x183)](this[_0x190461(0x156)])&&this[_0x190461(0x156)](),_0x2bfd05['defined'](this[_0x190461(0xd8)])&&_0x10a300[_0x190461(0x20a)][_0x190461(0x15b)](this[_0x190461(0xd8)]),_0x10a300[_0x190461(0x20a)]['push'](this['commandToExecute']));}},{'key':_0x340991(0x14b),'value':function(){return!0x1;}},{'key':_0x340991(0x175),'value':function(){var _0x3f5b61=_0x340991;return _0x2bfd05['defined'](this[_0x3f5b61(0x17e)])&&(this[_0x3f5b61(0x17e)][_0x3f5b61(0xfe)]=this[_0x3f5b61(0x17e)][_0x3f5b61(0xfe)]&&this[_0x3f5b61(0x17e)]['shaderProgram'][_0x3f5b61(0x175)]()),_0x2bfd05[_0x3f5b61(0x129)](this);}}]),_0x5efbe6;}()),_0x5cc9ad={'getFullscreenQuad':function(){var _0xda2e55=_0x3a7e93;return new _0x2bfd05[(_0xda2e55(0x1cc))]({'attributes':new _0x2bfd05[(_0xda2e55(0x1cb))]({'position':new _0x2bfd05[(_0xda2e55(0xed))]({'componentDatatype':_0x2bfd05[_0xda2e55(0x133)][_0xda2e55(0x1ef)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x2bfd05[(_0xda2e55(0xed))]({'componentDatatype':_0x2bfd05['ComponentDatatype'][_0xda2e55(0x1ef)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x185994,_0x402f44){var _0x17568b=_0x3a7e93;if(_0x2bfd05[_0x17568b(0x183)](_0x402f44)){var _0xe707b9={};_0xe707b9[_0x17568b(0x101)]=_0x402f44,_0x185994['source']=_0xe707b9;}return new _0x2bfd05[(_0x17568b(0x218))](_0x185994);},'createFramebuffer':function(_0x48dc9e,_0x12436e,_0x495aec){var _0x27f526=_0x3a7e93;return new _0x2bfd05[(_0x27f526(0x102))]({'context':_0x48dc9e,'colorTextures':[_0x12436e],'depthTexture':_0x495aec});},'createRawRenderState':function(_0x46350b){var _0x50b721=_0x3a7e93,_0x3c9f5a={'viewport':_0x46350b[_0x50b721(0x163)],'depthTest':_0x46350b['depthTest'],'depthMask':_0x46350b[_0x50b721(0x112)],'blending':_0x46350b[_0x50b721(0xcd)]};return _0x2bfd05[_0x50b721(0x11c)][_0x50b721(0x131)](!0x0,!0x1,_0x3c9f5a);},'viewRectangleToLonLatRange':function(_0x58e9ab){var _0x1eb5ee=_0x3a7e93,_0x505939,_0x2eea13,_0x1cc738={},_0x106c73=_0x2bfd05[_0x1eb5ee(0x1d2)][_0x1eb5ee(0x229)](_0x58e9ab[_0x1eb5ee(0x13c)],_0x2bfd05[_0x1eb5ee(0x1d2)][_0x1eb5ee(0x1f9)]),_0xb31007=_0x2bfd05['Math'][_0x1eb5ee(0x229)](_0x58e9ab['east'],_0x2bfd05[_0x1eb5ee(0x1d2)][_0x1eb5ee(0x1f9)]),_0x453f8e=_0x58e9ab[_0x1eb5ee(0x16d)];_0x453f8e>_0x2bfd05[_0x1eb5ee(0x1d2)]['THREE_PI_OVER_TWO']?(_0x505939=0x0,_0x2eea13=_0x2bfd05['Math'][_0x1eb5ee(0x1f9)]):_0xb31007-_0x106c73<_0x453f8e?(_0x505939=_0x106c73,_0x2eea13=_0x106c73+_0x453f8e):(_0x505939=_0x106c73,_0x2eea13=_0xb31007),_0x1cc738[_0x1eb5ee(0x189)]={'min':_0x2bfd05[_0x1eb5ee(0x1d2)]['toDegrees'](_0x505939),'max':_0x2bfd05[_0x1eb5ee(0x1d2)]['toDegrees'](_0x2eea13)};var _0x5aa5a7=_0x58e9ab['south'],_0x329db1=_0x58e9ab[_0x1eb5ee(0xc9)],_0x175474=_0x58e9ab[_0x1eb5ee(0x228)],_0x14ac69=_0x175474>_0x2bfd05[_0x1eb5ee(0x1d2)]['PI']/0xc?_0x175474/0x2:0x0,_0x1bce4d=_0x2bfd05[_0x1eb5ee(0x1d2)][_0x1eb5ee(0xcc)](_0x5aa5a7-_0x14ac69),_0x17cc06=_0x2bfd05[_0x1eb5ee(0x1d2)]['clampToLatitudeRange'](_0x329db1+_0x14ac69);return _0x1bce4d<-_0x2bfd05['Math'][_0x1eb5ee(0x171)]&&(_0x1bce4d=-_0x2bfd05[_0x1eb5ee(0x1d2)][_0x1eb5ee(0xec)]),_0x17cc06>_0x2bfd05[_0x1eb5ee(0x1d2)][_0x1eb5ee(0x171)]&&(_0x17cc06=_0x2bfd05[_0x1eb5ee(0x1d2)]['PI_OVER_TWO']),_0x1cc738['lat']={'min':_0x2bfd05[_0x1eb5ee(0x1d2)][_0x1eb5ee(0x11a)](_0x1bce4d),'max':_0x2bfd05[_0x1eb5ee(0x1d2)][_0x1eb5ee(0x11a)](_0x17cc06)},_0x1cc738;}},_0x438c65=_0xb5204c(0x8),_0x164117=_0xb5204c['n'](_0x438c65),_0x26910d=_0xb5204c(0x9),_0x191d4c=_0xb5204c['n'](_0x26910d),_0x3cd3ed=_0xb5204c(0x7),_0x4b4ad2=_0xb5204c['n'](_0x3cd3ed),_0x34f28d=_0xb5204c(0xa),_0x91304f=_0xb5204c['n'](_0x34f28d),_0x2228e2=_0xb5204c(0xb),_0x5687f0=_0xb5204c['n'](_0x2228e2),_0xb2ff=(function(){var _0x2a3d67=_0x3a7e93;function _0x30b0bc(_0x3e114a,_0x127aff,_0x2a225d,_0x35d355,_0x484b1e){var _0x22a004=a0_0x3080;_0x58aa3b()(this,_0x30b0bc),this[_0x22a004(0x1c6)](_0x3e114a,_0x127aff),this[_0x22a004(0x1a3)](_0x3e114a),this[_0x22a004(0x155)](_0x3e114a,_0x2a225d,_0x35d355,_0x484b1e);}return _0x35c165()(_0x30b0bc,[{'key':'createRenderingTextures','value':function(_0x15d44d,_0x93af7){var _0x12e844=a0_0x3080,_0x5ccab8={'context':_0x15d44d,'width':_0x15d44d['drawingBufferWidth'],'height':_0x15d44d[_0x12e844(0x16c)],'pixelFormat':_0x2bfd05['PixelFormat'][_0x12e844(0x16a)],'pixelDatatype':_0x2bfd05[_0x12e844(0xd4)][_0x12e844(0x13e)]},_0x1e760f={'context':_0x15d44d,'width':_0x15d44d[_0x12e844(0x17a)],'height':_0x15d44d[_0x12e844(0x16c)],'pixelFormat':_0x2bfd05['PixelFormat'][_0x12e844(0x1c7)],'pixelDatatype':_0x2bfd05['PixelDatatype'][_0x12e844(0xe0)]},_0x212c46={'context':_0x15d44d,'width':_0x93af7['colorTable'][_0x12e844(0x13b)],'height':0x1,'pixelFormat':_0x2bfd05[_0x12e844(0xdf)][_0x12e844(0x113)],'pixelDatatype':_0x2bfd05[_0x12e844(0xd4)][_0x12e844(0x1ef)],'sampler':new _0x2bfd05[(_0x12e844(0x1d9))]({'minificationFilter':_0x2bfd05['TextureMinificationFilter'][_0x12e844(0x1eb)],'magnificationFilter':_0x2bfd05['TextureMagnificationFilter'][_0x12e844(0x1eb)]})};this[_0x12e844(0x223)]={'segmentsColor':_0x5cc9ad[_0x12e844(0x1da)](_0x5ccab8),'segmentsDepth':_0x5cc9ad[_0x12e844(0x1da)](_0x1e760f),'currentTrailsColor':_0x5cc9ad[_0x12e844(0x1da)](_0x5ccab8),'currentTrailsDepth':_0x5cc9ad[_0x12e844(0x1da)](_0x1e760f),'nextTrailsColor':_0x5cc9ad['createTexture'](_0x5ccab8),'nextTrailsDepth':_0x5cc9ad['createTexture'](_0x1e760f),'colorTable':_0x5cc9ad['createTexture'](_0x212c46,_0x93af7[_0x12e844(0x1de)][_0x12e844(0x15f)])};}},{'key':_0x2a3d67(0x1a3),'value':function(_0x5ac3c0){var _0x5c0fa5=_0x2a3d67;this['framebuffers']={'segments':_0x5cc9ad[_0x5c0fa5(0x1e0)](_0x5ac3c0,this[_0x5c0fa5(0x223)][_0x5c0fa5(0x1b0)],this[_0x5c0fa5(0x223)]['segmentsDepth']),'currentTrails':_0x5cc9ad[_0x5c0fa5(0x1e0)](_0x5ac3c0,this[_0x5c0fa5(0x223)][_0x5c0fa5(0x1af)],this[_0x5c0fa5(0x223)]['currentTrailsDepth']),'nextTrails':_0x5cc9ad['createFramebuffer'](_0x5ac3c0,this[_0x5c0fa5(0x223)]['nextTrailsColor'],this[_0x5c0fa5(0x223)][_0x5c0fa5(0x219)])};}},{'key':'createSegmentsGeometry','value':function(_0x1137ee){var _0x58d540=_0x2a3d67;for(var _0x408537=[],_0x1098d0=0x0;_0x1098d0<_0x1137ee[_0x58d540(0x130)];_0x1098d0++)for(var _0x57f759=0x0;_0x57f759<_0x1137ee['particlesTextureSize'];_0x57f759++)for(var _0x189550=0x0;_0x189550<0x4;_0x189550++)_0x408537[_0x58d540(0x15b)](_0x1098d0/_0x1137ee[_0x58d540(0x130)]),_0x408537[_0x58d540(0x15b)](_0x57f759/_0x1137ee[_0x58d540(0x130)]);_0x408537=new Float32Array(_0x408537);for(var _0x465ad3=[],_0x2ed2e3=[-0x1,0x1],_0x5b096e=[-0x1,0x1],_0x1429ad=0x0;_0x1429ad<_0x1137ee['maxParticles'];_0x1429ad++)for(var _0x167b66=0x0;_0x167b66<0x2;_0x167b66++)for(var _0x38f321=0x0;_0x38f321<0x2;_0x38f321++)_0x465ad3[_0x58d540(0x15b)](_0x2ed2e3[_0x167b66]),_0x465ad3[_0x58d540(0x15b)](_0x5b096e[_0x38f321]),_0x465ad3[_0x58d540(0x15b)](0x0);_0x465ad3=new Float32Array(_0x465ad3);for(var _0x4d6954=0x6*_0x1137ee[_0x58d540(0x178)],_0x25641b=new Uint32Array(_0x4d6954),_0x2d27d2=0x0,_0x113849=0x0,_0x707b8d=0x0;_0x2d27d2<_0x1137ee[_0x58d540(0x178)];_0x2d27d2++)_0x25641b[_0x113849++]=_0x707b8d+0x0,_0x25641b[_0x113849++]=_0x707b8d+0x1,_0x25641b[_0x113849++]=_0x707b8d+0x2,_0x25641b[_0x113849++]=_0x707b8d+0x2,_0x25641b[_0x113849++]=_0x707b8d+0x1,_0x25641b[_0x113849++]=_0x707b8d+0x3,_0x707b8d+=0x4;return new _0x2bfd05[(_0x58d540(0x1cc))]({'attributes':new _0x2bfd05['GeometryAttributes']({'st':new _0x2bfd05['GeometryAttribute']({'componentDatatype':_0x2bfd05[_0x58d540(0x133)][_0x58d540(0x1ef)],'componentsPerAttribute':0x2,'values':_0x408537}),'normal':new _0x2bfd05[(_0x58d540(0xed))]({'componentDatatype':_0x2bfd05[_0x58d540(0x133)][_0x58d540(0x1ef)],'componentsPerAttribute':0x3,'values':_0x465ad3})}),'indices':_0x25641b});}},{'key':'createRenderingPrimitives','value':function(_0x18b0e4,_0x9a8ae0,_0x4b13a9,_0x307a34){var _0x5e6579=_0x2a3d67,_0x1f6e6f=this;this[_0x5e6579(0x12d)]={'segments':new _0x1748b0({'commandType':_0x5e6579(0xe7),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this['createSegmentsGeometry'](_0x9a8ae0),'primitiveType':_0x2bfd05[_0x5e6579(0x224)][_0x5e6579(0x193)],'uniformMap':{'currentParticlesPosition':function(){return _0x307a34['particlesTextures']['currentParticlesPosition'];},'postProcessingPosition':function(){var _0x26b842=_0x5e6579;return _0x307a34[_0x26b842(0x1d5)]['postProcessingPosition'];},'postProcessingSpeed':function(){var _0x220291=_0x5e6579;return _0x307a34[_0x220291(0x1d5)]['postProcessingSpeed'];},'colorTable':function(){var _0x41dd8c=_0x5e6579;return _0x1f6e6f['textures'][_0x41dd8c(0x1de)];},'aspect':function(){var _0x40f8b2=_0x5e6579;return _0x18b0e4[_0x40f8b2(0x17a)]/_0x18b0e4['drawingBufferHeight'];},'pixelSize':function(){return _0x4b13a9['pixelSize'];},'lineWidth':function(){var _0x179f9b=_0x5e6579;return _0x9a8ae0[_0x179f9b(0x1a9)];},'particleHeight':function(){var _0x358b91=_0x5e6579;return _0x9a8ae0[_0x358b91(0x1f3)];}},'vertexShaderSource':new _0x2bfd05[(_0x5e6579(0x19f))]({'sources':[_0x164117['a']]}),'fragmentShaderSource':new _0x2bfd05[(_0x5e6579(0x19f))]({'sources':[_0x191d4c['a']]}),'rawRenderState':_0x5cc9ad['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x5e6579(0xe6)][_0x5e6579(0x173)],'autoClear':!0x0}),'trails':new _0x1748b0({'commandType':_0x5e6579(0xe7),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x5cc9ad[_0x5e6579(0x147)](),'primitiveType':_0x2bfd05[_0x5e6579(0x224)][_0x5e6579(0x193)],'uniformMap':{'segmentsColorTexture':function(){var _0x4c980d=_0x5e6579;return _0x1f6e6f[_0x4c980d(0x223)][_0x4c980d(0x1b0)];},'segmentsDepthTexture':function(){var _0xc0cf81=_0x5e6579;return _0x1f6e6f['textures'][_0xc0cf81(0x16e)];},'currentTrailsColor':function(){var _0x21afdf=_0x5e6579;return _0x1f6e6f['framebuffers'][_0x21afdf(0x14d)][_0x21afdf(0x10d)](0x0);},'trailsDepthTexture':function(){var _0x3b1ad3=_0x5e6579;return _0x1f6e6f[_0x3b1ad3(0xe6)][_0x3b1ad3(0x14d)][_0x3b1ad3(0x1cd)];},'fadeOpacity':function(){var _0x4be037=_0x5e6579;return _0x9a8ae0[_0x4be037(0x1bb)];}},'vertexShaderSource':new _0x2bfd05[(_0x5e6579(0x19f))]({'defines':[_0x5e6579(0x22b)],'sources':[_0x4b4ad2['a']]}),'fragmentShaderSource':new _0x2bfd05[(_0x5e6579(0x19f))]({'defines':[_0x5e6579(0x190)],'sources':[_0x91304f['a']]}),'rawRenderState':_0x5cc9ad[_0x5e6579(0x12a)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x2bfd05[_0x5e6579(0x1f4)][_0x5e6579(0x124)]},'depthMask':!0x0}),'framebuffer':this['framebuffers']['nextTrails'],'autoClear':!0x0,'preExecute':function(){var _0x935fe5=_0x5e6579,_0x2e3429;_0x2e3429=_0x1f6e6f['framebuffers'][_0x935fe5(0x14d)],_0x1f6e6f['framebuffers'][_0x935fe5(0x14d)]=_0x1f6e6f[_0x935fe5(0xe6)][_0x935fe5(0x1b6)],_0x1f6e6f[_0x935fe5(0xe6)][_0x935fe5(0x1b6)]=_0x2e3429,_0x1f6e6f[_0x935fe5(0x12d)][_0x935fe5(0xce)][_0x935fe5(0x17e)][_0x935fe5(0x10a)]=_0x1f6e6f[_0x935fe5(0xe6)][_0x935fe5(0x1b6)],_0x1f6e6f['primitives'][_0x935fe5(0xce)][_0x935fe5(0xd8)][_0x935fe5(0x10a)]=_0x1f6e6f[_0x935fe5(0xe6)][_0x935fe5(0x1b6)];}}),'screen':new _0x1748b0({'commandType':'Draw','attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x5cc9ad[_0x5e6579(0x147)](),'primitiveType':_0x2bfd05['PrimitiveType'][_0x5e6579(0x193)],'uniformMap':{'trailsColorTexture':function(){var _0x3ba1bd=_0x5e6579;return _0x1f6e6f[_0x3ba1bd(0xe6)]['nextTrails']['getColorTexture'](0x0);},'trailsDepthTexture':function(){var _0x54e138=_0x5e6579;return _0x1f6e6f[_0x54e138(0xe6)][_0x54e138(0x1b6)][_0x54e138(0x1cd)];}},'vertexShaderSource':new _0x2bfd05[(_0x5e6579(0x19f))]({'defines':['DISABLE_GL_POSITION_LOG_DEPTH'],'sources':[_0x4b4ad2['a']]}),'fragmentShaderSource':new _0x2bfd05[(_0x5e6579(0x19f))]({'defines':[_0x5e6579(0x190)],'sources':[_0x5687f0['a']]}),'rawRenderState':_0x5cc9ad['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x30b0bc;}()),_0x4426a6=_0xb5204c(0xc),_0x380f26=_0xb5204c['n'](_0x4426a6),_0x1b5d66=_0xb5204c(0xd),_0x2059ec=_0xb5204c['n'](_0x1b5d66),_0x2d0dd6=_0xb5204c(0xe),_0x3b6065=_0xb5204c['n'](_0x2d0dd6),_0x5e5c93=_0xb5204c(0xf),_0x2a6000=_0xb5204c['n'](_0x5e5c93),_0x526e9f=_0xb5204c(0x10),_0x33e00e=_0xb5204c['n'](_0x526e9f),_0x1b228f=(function(){var _0x263c88=_0x3a7e93;function _0x3399db(_0x59a31e,_0x398d2a,_0x9fe831,_0x1abe13){var _0x29cfbe=a0_0x3080;_0x58aa3b()(this,_0x3399db),this[_0x29cfbe(0xcb)]=_0x398d2a,this[_0x29cfbe(0x13d)](_0x59a31e,_0x398d2a),this[_0x29cfbe(0x169)](_0x59a31e,_0x9fe831,_0x1abe13),this[_0x29cfbe(0x19d)](_0x398d2a,_0x9fe831,_0x1abe13);}return _0x35c165()(_0x3399db,[{'key':_0x263c88(0x13d),'value':function(_0x2d2d20,_0x4fe61d){var _0x50cff9=_0x263c88,_0x2da0d2={'context':_0x2d2d20,'width':_0x4fe61d[_0x50cff9(0x1f6)][_0x50cff9(0x189)],'height':_0x4fe61d['dimensions'][_0x50cff9(0x107)]*_0x4fe61d['dimensions']['lev'],'pixelFormat':_0x2bfd05[_0x50cff9(0xdf)][_0x50cff9(0x1b7)],'pixelDatatype':_0x2bfd05[_0x50cff9(0xd4)][_0x50cff9(0x1ef)],'flipY':!0x1,'sampler':new _0x2bfd05[(_0x50cff9(0x1d9))]({'minificationFilter':_0x2bfd05[_0x50cff9(0x1c1)]['NEAREST'],'magnificationFilter':_0x2bfd05[_0x50cff9(0x1fb)]['NEAREST']})};this['windTextures']={'U':_0x5cc9ad[_0x50cff9(0x1da)](_0x2da0d2,_0x4fe61d['U'][_0x50cff9(0x15f)]),'V':_0x5cc9ad[_0x50cff9(0x1da)](_0x2da0d2,_0x4fe61d['V'][_0x50cff9(0x15f)])};}},{'key':_0x263c88(0x169),'value':function(_0x3c3a86,_0x404f20,_0xee5143){var _0x1e252f=_0x263c88,_0x1865a7={'context':_0x3c3a86,'width':_0x404f20[_0x1e252f(0x130)],'height':_0x404f20[_0x1e252f(0x130)],'pixelFormat':_0x2bfd05[_0x1e252f(0xdf)][_0x1e252f(0x16a)],'pixelDatatype':_0x2bfd05[_0x1e252f(0xd4)][_0x1e252f(0x1ef)],'flipY':!0x1,'sampler':new _0x2bfd05['Sampler']({'minificationFilter':_0x2bfd05[_0x1e252f(0x1c1)][_0x1e252f(0x111)],'magnificationFilter':_0x2bfd05['TextureMagnificationFilter']['NEAREST']})},_0x7fae27=this[_0x1e252f(0x195)](_0x404f20[_0x1e252f(0x178)],_0xee5143),_0x1bfea7=new Float32Array(0x4*_0x404f20[_0x1e252f(0x178)])[_0x1e252f(0x10c)](0x0);this[_0x1e252f(0x1d5)]={'particlesWind':_0x5cc9ad[_0x1e252f(0x1da)](_0x1865a7),'currentParticlesPosition':_0x5cc9ad[_0x1e252f(0x1da)](_0x1865a7,_0x7fae27),'nextParticlesPosition':_0x5cc9ad[_0x1e252f(0x1da)](_0x1865a7,_0x7fae27),'currentParticlesSpeed':_0x5cc9ad[_0x1e252f(0x1da)](_0x1865a7,_0x1bfea7),'nextParticlesSpeed':_0x5cc9ad['createTexture'](_0x1865a7,_0x1bfea7),'postProcessingPosition':_0x5cc9ad[_0x1e252f(0x1da)](_0x1865a7,_0x7fae27),'postProcessingSpeed':_0x5cc9ad[_0x1e252f(0x1da)](_0x1865a7,_0x1bfea7)};}},{'key':_0x263c88(0x195),'value':function(_0x293d17,_0x51b49f){var _0xee2219=_0x263c88;for(var _0x18e6d4=new Float32Array(0x4*_0x293d17),_0x401bc8=0x0;_0x401bc8<_0x293d17;_0x401bc8++)_0x18e6d4[0x4*_0x401bc8]=_0x2bfd05['Math']['randomBetween'](_0x51b49f[_0xee2219(0x1ac)]['x'],_0x51b49f['lonRange']['y']),_0x18e6d4[0x4*_0x401bc8+0x1]=_0x2bfd05['Math'][_0xee2219(0xf2)](_0x51b49f[_0xee2219(0x10f)]['x'],_0x51b49f[_0xee2219(0x10f)]['y']),_0x18e6d4[0x4*_0x401bc8+0x2]=_0x2bfd05[_0xee2219(0x1d2)][_0xee2219(0xf2)](this['data'][_0xee2219(0x160)]['min'],this[_0xee2219(0xcb)]['lev']['max']),_0x18e6d4[0x4*_0x401bc8+0x3]=0x0;return _0x18e6d4;}},{'key':_0x263c88(0xe2),'value':function(){var _0x253dfb=_0x263c88,_0x284a77=this;Object[_0x253dfb(0x196)](this[_0x253dfb(0x1d5)])['forEach'](function(_0x39e029){var _0x60386a=_0x253dfb;_0x284a77['particlesTextures'][_0x39e029][_0x60386a(0x175)]();});}},{'key':_0x263c88(0x19d),'value':function(_0xaf038e,_0x254fed,_0x561679){var _0x56e609=_0x263c88,_0x220060=new _0x2bfd05[(_0x56e609(0x16b))](_0xaf038e[_0x56e609(0x1f6)]['lon'],_0xaf038e[_0x56e609(0x1f6)][_0x56e609(0x107)],_0xaf038e[_0x56e609(0x1f6)][_0x56e609(0x160)]),_0x4bade3=new _0x2bfd05[(_0x56e609(0x16b))](_0xaf038e[_0x56e609(0x189)][_0x56e609(0x117)],_0xaf038e[_0x56e609(0x107)][_0x56e609(0x117)],_0xaf038e[_0x56e609(0x160)][_0x56e609(0x117)]),_0x53e75d=new _0x2bfd05[(_0x56e609(0x16b))](_0xaf038e[_0x56e609(0x189)][_0x56e609(0x167)],_0xaf038e['lat'][_0x56e609(0x167)],_0xaf038e[_0x56e609(0x160)]['max']),_0x2e1c93=new _0x2bfd05['Cartesian3']((_0x53e75d['x']-_0x4bade3['x'])/(_0x220060['x']-0x1),(_0x53e75d['y']-_0x4bade3['y'])/(_0x220060['y']-0x1),_0x220060['z']>0x1?(_0x53e75d['z']-_0x4bade3['z'])/(_0x220060['z']-0x1):0x1),_0xfc4843=new _0x2bfd05[(_0x56e609(0x202))](_0xaf038e['U'][_0x56e609(0x117)],_0xaf038e['U'][_0x56e609(0x167)]),_0xccb9d6=new _0x2bfd05[(_0x56e609(0x202))](_0xaf038e['V'][_0x56e609(0x117)],_0xaf038e['V'][_0x56e609(0x167)]),_0x56c9ad=this;this[_0x56e609(0x12d)]={'getWind':new _0x1748b0({'commandType':_0x56e609(0x21c),'uniformMap':{'U':function(){var _0x452719=_0x56e609;return _0x56c9ad[_0x452719(0xfb)]['U'];},'V':function(){var _0x4acbec=_0x56e609;return _0x56c9ad[_0x4acbec(0xfb)]['V'];},'currentParticlesPosition':function(){var _0x33f657=_0x56e609;return _0x56c9ad[_0x33f657(0x1d5)]['currentParticlesPosition'];},'dimension':function(){return _0x220060;},'minimum':function(){return _0x4bade3;},'maximum':function(){return _0x53e75d;},'interval':function(){return _0x2e1c93;}},'fragmentShaderSource':new _0x2bfd05[(_0x56e609(0x19f))]({'sources':[_0x380f26['a']]}),'outputTexture':this['particlesTextures'][_0x56e609(0x161)],'preExecute':function(){var _0x401272=_0x56e609;_0x56c9ad['primitives'][_0x401272(0x1d4)]['commandToExecute'][_0x401272(0x1f7)]=_0x56c9ad['particlesTextures'][_0x401272(0x161)];}}),'updateSpeed':new _0x1748b0({'commandType':_0x56e609(0x21c),'uniformMap':{'currentParticlesSpeed':function(){var _0x4b93fe=_0x56e609;return _0x56c9ad[_0x4b93fe(0x1d5)][_0x4b93fe(0x211)];},'particlesWind':function(){var _0x516715=_0x56e609;return _0x56c9ad[_0x516715(0x1d5)]['particlesWind'];},'uSpeedRange':function(){return _0xfc4843;},'vSpeedRange':function(){return _0xccb9d6;},'pixelSize':function(){var _0x19892c=_0x56e609;return _0x561679[_0x19892c(0x141)];},'speedFactor':function(){var _0xe7be46=_0x56e609;return _0x254fed[_0xe7be46(0x236)];}},'fragmentShaderSource':new _0x2bfd05['ShaderSource']({'sources':[_0x2059ec['a']]}),'outputTexture':this[_0x56e609(0x1d5)][_0x56e609(0xe9)],'preExecute':function(){var _0x275c14=_0x56e609,_0x2765e2;_0x2765e2=_0x56c9ad[_0x275c14(0x1d5)][_0x275c14(0x211)],_0x56c9ad[_0x275c14(0x1d5)]['currentParticlesSpeed']=_0x56c9ad[_0x275c14(0x1d5)][_0x275c14(0xf6)],_0x56c9ad[_0x275c14(0x1d5)][_0x275c14(0xf6)]=_0x2765e2,_0x56c9ad[_0x275c14(0x12d)][_0x275c14(0x188)][_0x275c14(0x17e)][_0x275c14(0x1f7)]=_0x56c9ad[_0x275c14(0x1d5)][_0x275c14(0xe9)];}}),'updatePosition':new _0x1748b0({'commandType':'Compute','uniformMap':{'currentParticlesPosition':function(){var _0x33965a=_0x56e609;return _0x56c9ad['particlesTextures'][_0x33965a(0x14c)];},'currentParticlesSpeed':function(){var _0x3c4938=_0x56e609;return _0x56c9ad[_0x3c4938(0x1d5)][_0x3c4938(0x211)];}},'fragmentShaderSource':new _0x2bfd05[(_0x56e609(0x19f))]({'sources':[_0x3b6065['a']]}),'outputTexture':this[_0x56e609(0x1d5)][_0x56e609(0x12e)],'preExecute':function(){var _0x562c5e=_0x56e609,_0x46ef50;_0x46ef50=_0x56c9ad['particlesTextures'][_0x562c5e(0x14c)],_0x56c9ad[_0x562c5e(0x1d5)][_0x562c5e(0x14c)]=_0x56c9ad[_0x562c5e(0x1d5)][_0x562c5e(0x230)],_0x56c9ad['particlesTextures'][_0x562c5e(0x230)]=_0x46ef50,_0x56c9ad[_0x562c5e(0x12d)]['updatePosition']['commandToExecute'][_0x562c5e(0x1f7)]=_0x56c9ad[_0x562c5e(0x1d5)][_0x562c5e(0x12e)];}}),'postProcessingPosition':new _0x1748b0({'commandType':'Compute','uniformMap':{'nextParticlesPosition':function(){var _0x1222d6=_0x56e609;return _0x56c9ad[_0x1222d6(0x1d5)][_0x1222d6(0x12e)];},'nextParticlesSpeed':function(){var _0x5435b9=_0x56e609;return _0x56c9ad[_0x5435b9(0x1d5)][_0x5435b9(0xe9)];},'lonRange':function(){return _0x561679['lonRange'];},'latRange':function(){return _0x561679['latRange'];},'randomCoefficient':function(){var _0x32e2dd=Math['random']();return _0x32e2dd;},'dropRate':function(){return _0x254fed['dropRate'];},'dropRateBump':function(){var _0x20159c=_0x56e609;return _0x254fed[_0x20159c(0x151)];}},'fragmentShaderSource':new _0x2bfd05[(_0x56e609(0x19f))]({'sources':[_0x2a6000['a']]}),'outputTexture':this[_0x56e609(0x1d5)][_0x56e609(0x230)],'preExecute':function(){var _0x3b2696=_0x56e609;_0x56c9ad[_0x3b2696(0x12d)][_0x3b2696(0x230)]['commandToExecute'][_0x3b2696(0x1f7)]=_0x56c9ad['particlesTextures']['postProcessingPosition'];}}),'postProcessingSpeed':new _0x1748b0({'commandType':_0x56e609(0x21c),'uniformMap':{'postProcessingPosition':function(){var _0x1ff7e5=_0x56e609;return _0x56c9ad[_0x1ff7e5(0x1d5)][_0x1ff7e5(0x230)];},'nextParticlesSpeed':function(){var _0x1989c3=_0x56e609;return _0x56c9ad[_0x1989c3(0x1d5)]['nextParticlesSpeed'];}},'fragmentShaderSource':new _0x2bfd05[(_0x56e609(0x19f))]({'sources':[_0x33e00e['a']]}),'outputTexture':this[_0x56e609(0x1d5)]['postProcessingSpeed'],'preExecute':function(){var _0x5cd12c=_0x56e609;_0x56c9ad[_0x5cd12c(0x12d)][_0x5cd12c(0xf6)]['commandToExecute']['outputTexture']=_0x56c9ad['particlesTextures'][_0x5cd12c(0xf6)];}})};}}]),_0x3399db;}()),_0x5465c4=(function(){var _0x3823cc=_0x3a7e93;function _0x43cae1(_0x138be7,_0x5cc322,_0x7ef3bf,_0x4074fd){var _0x4a41d5=a0_0x3080;_0x58aa3b()(this,_0x43cae1),this[_0x4a41d5(0x15e)]=_0x138be7,this[_0x4a41d5(0xcb)]=_0x5cc322,this[_0x4a41d5(0xf9)]=_0x7ef3bf,this['viewerParameters']=_0x4074fd,this[_0x4a41d5(0x1b5)]=new _0x1b228f(this[_0x4a41d5(0x15e)],this[_0x4a41d5(0xcb)],this['userInput'],this[_0x4a41d5(0x1bc)]),this[_0x4a41d5(0x18b)]=new _0xb2ff(this[_0x4a41d5(0x15e)],this[_0x4a41d5(0xcb)],this[_0x4a41d5(0xf9)],this[_0x4a41d5(0x1bc)],this[_0x4a41d5(0x1b5)]);}return _0x35c165()(_0x43cae1,[{'key':'canvasResize','value':function(_0x3af723){var _0xfee043=a0_0x3080,_0x1b6e1d=this;this['particlesComputing']['destroyParticlesTextures'](),Object[_0xfee043(0x196)](this[_0xfee043(0x1b5)][_0xfee043(0xfb)])[_0xfee043(0x233)](function(_0x32b86d){var _0x56da51=_0xfee043;_0x1b6e1d[_0x56da51(0x1b5)][_0x56da51(0xfb)][_0x32b86d][_0x56da51(0x175)]();}),this[_0xfee043(0x18b)][_0xfee043(0x223)][_0xfee043(0x1de)][_0xfee043(0x175)](),Object['keys'](this[_0xfee043(0x18b)][_0xfee043(0xe6)])[_0xfee043(0x233)](function(_0x2b6b68){var _0x9bd81e=_0xfee043;_0x1b6e1d[_0x9bd81e(0x18b)][_0x9bd81e(0xe6)][_0x2b6b68][_0x9bd81e(0x175)]();}),this[_0xfee043(0x15e)]=_0x3af723,this[_0xfee043(0x1b5)]=new _0x1b228f(this[_0xfee043(0x15e)],this[_0xfee043(0xcb)],this['userInput'],this['viewerParameters']),this[_0xfee043(0x18b)]=new _0xb2ff(this['context'],this[_0xfee043(0xcb)],this[_0xfee043(0xf9)],this['viewerParameters'],this['particlesComputing']);}},{'key':_0x3823cc(0x116),'value':function(){var _0xbd994c=_0x3823cc,_0x371eae=this,_0x216456=new _0x2bfd05[(_0xbd994c(0x1cf))]({'color':new _0x2bfd05[(_0xbd994c(0x226))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x2bfd05[_0xbd994c(0xf8)][_0xbd994c(0x22f)]});Object['keys'](this['particlesRendering'][_0xbd994c(0xe6)])[_0xbd994c(0x233)](function(_0xed97e0){var _0x528df2=_0xbd994c;_0x216456[_0x528df2(0x10a)]=_0x371eae[_0x528df2(0x18b)]['framebuffers'][_0xed97e0],_0x216456[_0x528df2(0xc4)](_0x371eae[_0x528df2(0x15e)]);});}},{'key':'refreshParticles','value':function(_0x3313e4){var _0x3db9d3=_0x3823cc;if(this[_0x3db9d3(0x116)](),this[_0x3db9d3(0x1b5)][_0x3db9d3(0xe2)](),this[_0x3db9d3(0x1b5)]['createParticlesTextures'](this['context'],this['userInput'],this[_0x3db9d3(0x1bc)]),_0x3313e4){var _0xb3ef69=this[_0x3db9d3(0x18b)]['createSegmentsGeometry'](this[_0x3db9d3(0xf9)]);this[_0x3db9d3(0x18b)]['primitives'][_0x3db9d3(0x173)][_0x3db9d3(0xfd)]=_0xb3ef69;var _0x29bf9d=_0x2bfd05[_0x3db9d3(0x1d1)]['fromGeometry']({'context':this[_0x3db9d3(0x15e)],'geometry':_0xb3ef69,'attributeLocations':this['particlesRendering']['primitives']['segments'][_0x3db9d3(0x174)],'bufferUsage':_0x2bfd05[_0x3db9d3(0x234)][_0x3db9d3(0x103)]});this[_0x3db9d3(0x18b)]['primitives']['segments'][_0x3db9d3(0x17e)][_0x3db9d3(0xff)]=_0x29bf9d;}}},{'key':_0x3823cc(0xd7),'value':function(_0x3f0911){var _0x3724ad=_0x3823cc,_0x1f5503=this,_0x3ba320=!0x1;this[_0x3724ad(0xf9)][_0x3724ad(0x178)]!=_0x3f0911[_0x3724ad(0x178)]&&(_0x3ba320=!0x0),Object[_0x3724ad(0x196)](_0x3f0911)[_0x3724ad(0x233)](function(_0x45ba3f){var _0xfe4958=_0x3724ad;_0x1f5503[_0xfe4958(0xf9)][_0x45ba3f]=_0x3f0911[_0x45ba3f];}),this['refreshParticles'](_0x3ba320);}},{'key':_0x3823cc(0x11f),'value':function(_0x42f6de){var _0x101ac6=_0x3823cc,_0x211857=this;Object[_0x101ac6(0x196)](_0x42f6de)[_0x101ac6(0x233)](function(_0x3137ee){var _0x4283fc=_0x101ac6;_0x211857[_0x4283fc(0x1bc)][_0x3137ee]=_0x42f6de[_0x3137ee];}),this[_0x101ac6(0x1a4)](!0x1);}}]),_0x43cae1;}());function _0x4d0f76(_0x316328){var _0x13f9c0=(function(){var _0x58c525=a0_0x3080;if('undefined'==typeof Reflect||!Reflect[_0x58c525(0xca)])return!0x1;if(Reflect[_0x58c525(0xca)][_0x58c525(0x118)])return!0x1;if(_0x58c525(0x148)==typeof Proxy)return!0x0;try{return Boolean[_0x58c525(0x212)][_0x58c525(0x144)][_0x58c525(0x1e8)](Reflect['construct'](Boolean,[],function(){})),!0x0;}catch(_0x253a83){return!0x1;}}());return function(){var _0xe2ded6=a0_0x3080,_0x48e7dc,_0x18023c=_0x631931()(_0x316328);if(_0x13f9c0){var _0x2e2206=_0x631931()(this)['constructor'];_0x48e7dc=Reflect[_0xe2ded6(0xca)](_0x18023c,arguments,_0x2e2206);}else _0x48e7dc=_0x18023c[_0xe2ded6(0x1f5)](this,arguments);return _0x617ddc()(this,_0x48e7dc);};}var _0x89b45=_0x528b06[_0x3a7e93(0x1b8)]['BaseLayer'],_0x168639=0x1000,_0x316b84=0x64,_0x118188=0.996,_0x593085=0.003,_0x3ec5ad=0.01,_0x151f1c=0.5,_0x2efbb9=0x2,_0xef4d27=function(_0x403c67){var _0xe09481=_0x3a7e93;_0x358492()(_0x469438,_0x403c67);var _0x32c316=_0x4d0f76(_0x469438);function _0x469438(){var _0x4f1d6=a0_0x3080,_0xe11d9d,_0x360230=arguments[_0x4f1d6(0x110)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x58aa3b()(this,_0x469438),(_0xe11d9d=_0x32c316['call'](this,_0x360230))[_0x4f1d6(0x178)]=_0x168639,_0xe11d9d['particleHeight']=_0x316b84,_0xe11d9d['fadeOpacity']=_0x118188,_0xe11d9d[_0x4f1d6(0x201)]=_0x593085,_0xe11d9d['dropRateBump']=_0x3ec5ad,_0xe11d9d[_0x4f1d6(0x236)]=_0x151f1c,_0xe11d9d['lineWidth']=_0x2efbb9,_0x360230){for(var _0x305918 in _0x360230)_0xe11d9d[_0x305918]=_0x360230[_0x305918];}return _0xe11d9d;}return _0x35c165()(_0x469438,[{'key':_0xe09481(0x1b8),'get':function(){return this['primitives'];}},{'key':_0xe09481(0x1c3),'value':function(){}},{'key':'_addedHook','value':function(){var _0x43d1cb=_0xe09481;this['scene']=this['_map'][_0x43d1cb(0x18e)],this[_0x43d1cb(0xf5)]=this['_map']['camera'],this['primitives']=new _0x2bfd05[(_0x43d1cb(0x1c8))](),this[_0x43d1cb(0x106)]['scene'][_0x43d1cb(0x12d)][_0x43d1cb(0x10b)](this[_0x43d1cb(0x12d)]),this[_0x43d1cb(0x1bc)]={'lonRange':new _0x2bfd05[(_0x43d1cb(0x202))](),'latRange':new _0x2bfd05[(_0x43d1cb(0x202))](),'pixelSize':0x0},this[_0x43d1cb(0x204)]=new _0x2bfd05['BoundingSphere'](_0x2bfd05['Cartesian3'][_0x43d1cb(0x1df)],6314355.63),this[_0x43d1cb(0x1f0)](),window[_0x43d1cb(0x126)](_0x43d1cb(0x1c0),this[_0x43d1cb(0x1c0)][_0x43d1cb(0x146)](this),!0x1),this[_0x43d1cb(0x12b)]=!0x1,this['mouse_move']=!0x1,this[_0x43d1cb(0x106)]['on'](_0x528b06[_0x43d1cb(0x18f)][_0x43d1cb(0x1d8)],this[_0x43d1cb(0x105)],this),this[_0x43d1cb(0x106)]['on'](_0x528b06[_0x43d1cb(0x18f)][_0x43d1cb(0xfc)],this[_0x43d1cb(0x1c4)],this),this[_0x43d1cb(0x106)]['on'](_0x528b06[_0x43d1cb(0x18f)]['mouseUp'],this['_onMouseUpEvent'],this),this[_0x43d1cb(0x106)]['on'](_0x528b06[_0x43d1cb(0x18f)]['mouseMove'],this[_0x43d1cb(0x13f)],this);}},{'key':_0xe09481(0x225),'value':function(){var _0x49b97f=_0xe09481;window[_0x49b97f(0x21a)](_0x49b97f(0x1c0),this[_0x49b97f(0x1c0)]),this[_0x49b97f(0x106)]['off'](_0x528b06[_0x49b97f(0x18f)][_0x49b97f(0x17b)],this['_onMap_preRenderEvent'],this),this[_0x49b97f(0x106)][_0x49b97f(0x108)](_0x528b06[_0x49b97f(0x18f)][_0x49b97f(0x1d8)],this[_0x49b97f(0x105)],this),this[_0x49b97f(0x106)]['off'](_0x528b06['EventType'][_0x49b97f(0xfc)],this[_0x49b97f(0x1c4)],this),this['_map'][_0x49b97f(0x108)](_0x528b06['EventType'][_0x49b97f(0xde)],this[_0x49b97f(0x134)],this),this[_0x49b97f(0x106)][_0x49b97f(0x108)](_0x528b06[_0x49b97f(0x18f)][_0x49b97f(0x1dc)],this['_onMouseMoveEvent'],this),this[_0x49b97f(0x12d)][_0x49b97f(0x12c)](),this[_0x49b97f(0x106)]['scene'][_0x49b97f(0x12d)][_0x49b97f(0x1ee)](this['primitives']);}},{'key':_0xe09481(0x1c0),'value':function(){var _0x1679b3=_0xe09481;this[_0x1679b3(0x187)]&&this[_0x1679b3(0x122)]&&(this[_0x1679b3(0x12d)][_0x1679b3(0x187)]=!0x1,this['primitives']['removeAll'](),this[_0x1679b3(0x106)][_0x1679b3(0x1a2)](_0x528b06[_0x1679b3(0x18f)][_0x1679b3(0x17b)],this[_0x1679b3(0x14a)],this));}},{'key':_0xe09481(0x14a),'value':function(_0x3c6327){var _0x4c0e78=_0xe09481;this[_0x4c0e78(0x122)]['canvasResize'](this[_0x4c0e78(0x18e)][_0x4c0e78(0x15e)]),this[_0x4c0e78(0x120)](),this[_0x4c0e78(0x12d)]['show']=!0x0;}},{'key':_0xe09481(0x105),'value':function(_0x4fe284){var _0x33c7d9=_0xe09481,_0x48fd55=this;clearTimeout(this[_0x33c7d9(0x1d7)]),this[_0x33c7d9(0x187)]&&this['particleSystem']&&(this['primitives'][_0x33c7d9(0x187)]=!0x1,this[_0x33c7d9(0x1d7)]=setTimeout(function(){_0x48fd55['show']&&_0x48fd55['redraw']();},0xc8));}},{'key':'_onMouseDownEvent','value':function(_0x3019a5){var _0x32715b=_0xe09481;this[_0x32715b(0x12b)]=!0x0;}},{'key':'_onMouseMoveEvent','value':function(_0x5a0af5){var _0x333126=_0xe09481;this['show']&&this['particleSystem']&&this[_0x333126(0x12b)]&&(this[_0x333126(0x12d)][_0x333126(0x187)]=!0x1,this[_0x333126(0x20d)]=!0x0);}},{'key':_0xe09481(0x134),'value':function(_0x5647e2){var _0x5100a0=_0xe09481;this['show']&&this[_0x5100a0(0x122)]&&(this['mouse_down']&&this['mouse_move']&&this[_0x5100a0(0x159)](),this[_0x5100a0(0x12d)][_0x5100a0(0x187)]=!0x0,this[_0x5100a0(0x12b)]=!0x1,this[_0x5100a0(0x20d)]=!0x1);}},{'key':_0xe09481(0x159),'value':function(){var _0xea968e=_0xe09481;this['_map']&&this[_0xea968e(0x187)]&&(this[_0xea968e(0x1f0)](),this[_0xea968e(0x122)][_0xea968e(0x11f)](this['viewerParameters']),this['primitives']['show']=!0x0);}},{'key':'setData','value':function(_0x2c4f8f){var _0xff4642=_0xe09481;this[_0xff4642(0x122)]=new _0x5465c4(this[_0xff4642(0x18e)][_0xff4642(0x15e)],_0x2c4f8f,this[_0xff4642(0x13a)](),this[_0xff4642(0x1bc)]),this[_0xff4642(0x120)]();}},{'key':_0xe09481(0x1dd),'value':function(_0x4075a0){var _0x24bcbd=_0xe09481;if(_0x4075a0){for(var _0x4da1d7 in _0x4075a0)this[_0x4da1d7]=_0x4075a0[_0x4da1d7];}return this[_0x24bcbd(0x122)]&&this[_0x24bcbd(0x122)]['applyUserInput'](this[_0x24bcbd(0x13a)]()),this;}},{'key':'getUserInput','value':function(){var _0x50a036=_0xe09481,_0x363bb5=Math[_0x50a036(0x14e)](Math['sqrt'](this[_0x50a036(0x178)]));return this['maxParticles']=_0x363bb5*_0x363bb5,{'particlesTextureSize':_0x363bb5,'maxParticles':this[_0x50a036(0x178)],'particleHeight':this[_0x50a036(0x1f3)],'fadeOpacity':this[_0x50a036(0x1bb)],'dropRate':this[_0x50a036(0x201)],'dropRateBump':this[_0x50a036(0x151)],'speedFactor':this['speedFactor'],'lineWidth':this[_0x50a036(0x1a9)],'globeLayer':this[_0x50a036(0x109)],'WMS_URL':this['WMS_URL']};}},{'key':_0xe09481(0x120),'value':function(){var _0x1b370d=_0xe09481;this[_0x1b370d(0x12d)][_0x1b370d(0x10b)](this['particleSystem'][_0x1b370d(0x1b5)][_0x1b370d(0x12d)][_0x1b370d(0x1d4)]),this['primitives'][_0x1b370d(0x10b)](this[_0x1b370d(0x122)][_0x1b370d(0x1b5)]['primitives'][_0x1b370d(0x188)]),this['primitives'][_0x1b370d(0x10b)](this['particleSystem'][_0x1b370d(0x1b5)]['primitives'][_0x1b370d(0x143)]),this[_0x1b370d(0x12d)][_0x1b370d(0x10b)](this[_0x1b370d(0x122)]['particlesComputing']['primitives'][_0x1b370d(0x230)]),this[_0x1b370d(0x12d)]['add'](this[_0x1b370d(0x122)][_0x1b370d(0x1b5)]['primitives'][_0x1b370d(0xf6)]),this['primitives'][_0x1b370d(0x10b)](this[_0x1b370d(0x122)]['particlesRendering']['primitives'][_0x1b370d(0x173)]),this['primitives'][_0x1b370d(0x10b)](this[_0x1b370d(0x122)][_0x1b370d(0x18b)][_0x1b370d(0x12d)][_0x1b370d(0xce)]),this[_0x1b370d(0x12d)][_0x1b370d(0x10b)](this[_0x1b370d(0x122)]['particlesRendering'][_0x1b370d(0x12d)][_0x1b370d(0x1e3)]);}},{'key':'updateViewerParameters','value':function(){var _0x4f1ac0=_0xe09481,_0x300ca7=this[_0x4f1ac0(0xf5)][_0x4f1ac0(0x209)](this[_0x4f1ac0(0x18e)]['globe'][_0x4f1ac0(0x1fc)]);if(!_0x300ca7){var _0x355ed5=this['_map'][_0x4f1ac0(0x158)]();_0x300ca7=_0x2bfd05[_0x4f1ac0(0xc7)][_0x4f1ac0(0x15a)](_0x355ed5[_0x4f1ac0(0x15c)],_0x355ed5[_0x4f1ac0(0x165)],_0x355ed5['xmax'],_0x355ed5['ymax']);}var _0x30e6af=_0x5cc9ad[_0x4f1ac0(0x1ec)](_0x300ca7);this[_0x4f1ac0(0x1bc)][_0x4f1ac0(0x1ac)]['x']=_0x30e6af[_0x4f1ac0(0x189)][_0x4f1ac0(0x117)],this['viewerParameters'][_0x4f1ac0(0x1ac)]['y']=_0x30e6af[_0x4f1ac0(0x189)][_0x4f1ac0(0x167)],this['viewerParameters'][_0x4f1ac0(0x10f)]['x']=_0x30e6af[_0x4f1ac0(0x107)]['min'],this[_0x4f1ac0(0x1bc)][_0x4f1ac0(0x10f)]['y']=_0x30e6af[_0x4f1ac0(0x107)]['max'];var _0x177044=this[_0x4f1ac0(0xf5)][_0x4f1ac0(0x137)](this[_0x4f1ac0(0x204)],this[_0x4f1ac0(0x18e)][_0x4f1ac0(0x17a)],this[_0x4f1ac0(0x18e)][_0x4f1ac0(0x16c)]);_0x177044>0x0&&(this[_0x4f1ac0(0x1bc)]['pixelSize']=_0x177044);}}]),_0x469438;}(_0x89b45);_0x528b06['LayerUtil'][_0x3a7e93(0x1e1)](_0x3a7e93(0x1a7),_0xef4d27),_0x528b06['layer']['WindLayer']=_0xef4d27;var _0x45dfcc=_0x35c165()(function _0x404344(){var _0x23cc0a=_0x3a7e93;_0x58aa3b()(this,_0x404344),this['lng']=null,this[_0x23cc0a(0x107)]=null,this[_0x23cc0a(0x217)]=null,this['tlat']=null,this[_0x23cc0a(0x237)]=null;}),_0x216551=(function(){var _0x3a30fd=_0x3a7e93;function _0x33b273(_0x373ba4,_0x30c633){var _0x1b42b0=a0_0x3080;_0x58aa3b()(this,_0x33b273),this[_0x1b42b0(0x1ea)]=_0x373ba4[_0x1b42b0(0x1ea)],this[_0x1b42b0(0xe8)]=_0x373ba4[_0x1b42b0(0xe8)],this['xmin']=_0x373ba4[_0x1b42b0(0x15c)],this['xmax']=_0x373ba4['xmax'],this[_0x1b42b0(0x165)]=_0x373ba4[_0x1b42b0(0x165)],this[_0x1b42b0(0x180)]=_0x373ba4[_0x1b42b0(0x180)],this['grid']=[];var _0x9dd483=_0x373ba4[_0x1b42b0(0x203)],_0x464f75=_0x373ba4[_0x1b42b0(0xd2)],_0x239c45=!0x1;_0x9dd483[_0x1b42b0(0x110)]===this[_0x1b42b0(0x1ea)]&&_0x9dd483[0x0][_0x1b42b0(0x110)]===this['cols']&&(_0x239c45=!0x0);for(var _0x4ec2b8=0x0,_0x106088=null,_0x4626cc=null,_0x569ed7=0x0;_0x569ed7<this[_0x1b42b0(0x1ea)];_0x569ed7++){_0x106088=[];for(var _0x2a13c7=0x0;_0x2a13c7<this['cols'];_0x2a13c7++,_0x4ec2b8++)_0x4626cc=_0x239c45?this[_0x1b42b0(0x132)](_0x9dd483[_0x569ed7][_0x2a13c7],_0x464f75[_0x569ed7][_0x2a13c7]):this[_0x1b42b0(0x132)](_0x9dd483[_0x4ec2b8],_0x464f75[_0x4ec2b8]),_0x106088['push'](_0x4626cc);this['grid'][_0x1b42b0(0x15b)](_0x106088);}_0x30c633&&this[_0x1b42b0(0x128)][_0x1b42b0(0x207)]();}return _0x35c165()(_0x33b273,[{'key':_0x3a30fd(0x1a5),'value':function(_0x23c8e9,_0x4b7b28){var _0x580043=_0x3a30fd;return{'x':(_0x23c8e9-this[_0x580043(0x15c)])/(this[_0x580043(0xf3)]-this[_0x580043(0x15c)])*(this[_0x580043(0xe8)]-0x1),'y':(this[_0x580043(0x180)]-_0x4b7b28)/(this[_0x580043(0x180)]-this[_0x580043(0x165)])*(this['rows']-0x1)};}},{'key':_0x3a30fd(0xc8),'value':function(_0x257cf5,_0x5d3cff){var _0xaf312b=_0x3a30fd;if(_0x257cf5<0x0||_0x257cf5>=this['cols']||_0x5d3cff>=this[_0xaf312b(0x1ea)])return[0x0,0x0,0x0];var _0x4dc32d,_0x55b482,_0x41e582=Math[_0xaf312b(0xf4)](_0x257cf5),_0x5c2f36=Math[_0xaf312b(0xf4)](_0x5d3cff);if(_0x41e582===_0x257cf5&&_0x5c2f36===_0x5d3cff)return this[_0xaf312b(0x128)][_0x5d3cff][_0x257cf5];_0x4dc32d=_0x41e582+0x1,_0x55b482=_0x5c2f36+0x1;var _0x289cbb=this[_0xaf312b(0xc8)](_0x41e582,_0x5c2f36),_0x35b87c=this[_0xaf312b(0xc8)](_0x4dc32d,_0x5c2f36),_0x48355e=this[_0xaf312b(0xc8)](_0x41e582,_0x55b482),_0x471058=this[_0xaf312b(0xc8)](_0x4dc32d,_0x55b482),_0x217fff=null;try{_0x217fff=this[_0xaf312b(0x19b)](_0x257cf5-_0x41e582,_0x5d3cff-_0x5c2f36,_0x289cbb,_0x35b87c,_0x48355e,_0x471058);}catch(_0x32e9d6){console[_0xaf312b(0x11e)](_0x257cf5,_0x5d3cff);}return _0x217fff;}},{'key':_0x3a30fd(0x19b),'value':function(_0x2b0726,_0x3bd5f0,_0x42ac21,_0x58be9f,_0x572851,_0x39ecb6){var _0x1bbb3c=_0x3a30fd,_0x38ed39=0x1-_0x2b0726,_0x2fccbd=0x1-_0x3bd5f0,_0x1670a=_0x38ed39*_0x2fccbd,_0x6c71b1=_0x2b0726*_0x2fccbd,_0x80d435=_0x38ed39*_0x3bd5f0,_0x15a95d=_0x2b0726*_0x3bd5f0,_0x3c30c6=_0x42ac21[0x0]*_0x1670a+_0x58be9f[0x0]*_0x6c71b1+_0x572851[0x0]*_0x80d435+_0x39ecb6[0x0]*_0x15a95d,_0x3e91bf=_0x42ac21[0x1]*_0x1670a+_0x58be9f[0x1]*_0x6c71b1+_0x572851[0x1]*_0x80d435+_0x39ecb6[0x1]*_0x15a95d;return this[_0x1bbb3c(0x132)](_0x3c30c6,_0x3e91bf);}},{'key':_0x3a30fd(0x132),'value':function(_0x500f0d,_0x5a4a78){return[+_0x500f0d,+_0x5a4a78,Math['sqrt'](_0x500f0d*_0x500f0d+_0x5a4a78*_0x5a4a78)];}},{'key':_0x3a30fd(0x213),'value':function(_0xd80af8,_0x2d9bdc){var _0x433ca9=_0x3a30fd;if(!this[_0x433ca9(0x1a8)](_0xd80af8,_0x2d9bdc))return null;var _0x5d7ebd=this[_0x433ca9(0x1a5)](_0xd80af8,_0x2d9bdc);return this[_0x433ca9(0xc8)](_0x5d7ebd['x'],_0x5d7ebd['y']);}},{'key':_0x3a30fd(0x1a8),'value':function(_0x4f2511,_0x1d07d2){var _0x1d3a0a=_0x3a30fd;return _0x4f2511>=this[_0x1d3a0a(0x15c)]&&_0x4f2511<=this[_0x1d3a0a(0xf3)]&&_0x1d07d2>=this[_0x1d3a0a(0x165)]&&_0x1d07d2<=this[_0x1d3a0a(0x180)];}},{'key':'getRandomLatLng','value':function(){var _0x244765=_0x3a30fd,_0x2db888=_0x132d0c(this[_0x244765(0x15c)],this['xmax']);return{'lat':_0x132d0c(this[_0x244765(0x165)],this[_0x244765(0x180)]),'lng':_0x2db888};}}]),_0x33b273;}());function _0x132d0c(_0x5d14ea,_0x2008c2){var _0x53f81f=_0x3a7e93;return _0x5d14ea+Math[_0x53f81f(0x1e6)]()*(_0x2008c2-_0x5d14ea);}function _0x59c747(_0x590cb9){var _0x3dc76f=(function(){var _0x55dcb8=a0_0x3080;if(_0x55dcb8(0x176)==typeof Reflect||!Reflect[_0x55dcb8(0xca)])return!0x1;if(Reflect[_0x55dcb8(0xca)][_0x55dcb8(0x118)])return!0x1;if(_0x55dcb8(0x148)==typeof Proxy)return!0x0;try{return Boolean[_0x55dcb8(0x212)][_0x55dcb8(0x144)][_0x55dcb8(0x1e8)](Reflect['construct'](Boolean,[],function(){})),!0x0;}catch(_0x290935){return!0x1;}}());return function(){var _0x181d0d=a0_0x3080,_0x247358,_0x2fe819=_0x631931()(_0x590cb9);if(_0x3dc76f){var _0x381acf=_0x631931()(this)[_0x181d0d(0x1ae)];_0x247358=Reflect[_0x181d0d(0xca)](_0x2fe819,arguments,_0x381acf);}else _0x247358=_0x2fe819[_0x181d0d(0x1f5)](this,arguments);return _0x617ddc()(this,_0x247358);};}var _0x23a533=function(_0x4a3d43){var _0x2bb60e=_0x3a7e93;_0x358492()(_0x3b07fd,_0x4a3d43);var _0x5e79c9=_0x59c747(_0x3b07fd);function _0x3b07fd(){var _0xab74c7=a0_0x3080,_0x4d3021,_0x33d95d=arguments[_0xab74c7(0x110)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x58aa3b()(this,_0x3b07fd),(_0x4d3021=_0x5e79c9[_0xab74c7(0x1e8)](this,_0x33d95d))[_0xab74c7(0x1fa)]=[0x0,0x0],_0x4d3021[_0xab74c7(0x205)]=[],_0x4d3021[_0xab74c7(0x22e)]=_0x33d95d[_0xab74c7(0x22e)]||0x32,_0x4d3021['_particlesNumber']=_0x33d95d['particlesNumber']||0x4e20,_0x4d3021[_0xab74c7(0x1e4)]=_0x33d95d[_0xab74c7(0xef)]||0x78,_0x4d3021[_0xab74c7(0x149)]=0x3e8/(_0x33d95d[_0xab74c7(0x182)]||0xa),_0x4d3021[_0xab74c7(0x197)]=_0x2bfd05[_0xab74c7(0x20b)](_0x4d3021[_0xab74c7(0xdb)][_0xab74c7(0x17d)],!0x1),_0x4d3021[_0xab74c7(0x17f)]=_0x33d95d[_0xab74c7(0x17f)]||'#ffffff',_0x4d3021['lineWidth']=_0x33d95d[_0xab74c7(0x1a9)]||0x1,_0x4d3021['fixedHeight']=_0x2bfd05[_0xab74c7(0x20b)](_0x33d95d[_0xab74c7(0xdd)],0x0),_0x4d3021['reverseY']=_0x2bfd05[_0xab74c7(0x20b)](_0x33d95d['reverseY'],!0x1),_0x4d3021[_0xab74c7(0x18d)]=null,_0x4d3021;}return _0x35c165()(_0x3b07fd,[{'key':'layer','get':function(){var _0x3dc52f=a0_0x3080;return this[_0x3dc52f(0x18d)];}},{'key':_0x2bb60e(0x164),'get':function(){var _0x1c98d0=_0x2bb60e;return this[_0x1c98d0(0x106)][_0x1c98d0(0x18e)][_0x1c98d0(0x18d)][_0x1c98d0(0x145)];}},{'key':_0x2bb60e(0x22c),'get':function(){var _0x591784=_0x2bb60e;return this['_map'][_0x591784(0x18e)][_0x591784(0x18d)][_0x591784(0x1b9)];}},{'key':_0x2bb60e(0x17d),'get':function(){return this['_pointerEvents'];},'set':function(_0x20c1be){var _0x53e5a9=_0x2bb60e;this[_0x53e5a9(0x197)]=_0x20c1be,this[_0x53e5a9(0x18d)]&&(this['canvas'][_0x53e5a9(0x1ed)]['pointer-events']=_0x20c1be?_0x53e5a9(0x123):'none');}},{'key':_0x2bb60e(0x22e),'get':function(){return this['_speedRate'];},'set':function(_0x59c0fb){this['_speedRate']=0x64*(0x64-(_0x59c0fb>0x63?0x63:_0x59c0fb)),this['_calcStep']();}},{'key':_0x2bb60e(0x150),'get':function(){return this['_particlesNumber'];},'set':function(_0x53c5bc){var _0x3c292b=_0x2bb60e,_0x1d6ec3=this;this[_0x3c292b(0x1ba)]=_0x53c5bc,clearTimeout(this[_0x3c292b(0x119)]),this[_0x3c292b(0x119)]=setTimeout(function(){_0x1d6ec3['redraw']();},0x1f4);}},{'key':_0x2bb60e(0xef),'get':function(){return this['_maxAge'];},'set':function(_0x54367e){var _0x40a63b=_0x2bb60e,_0x3df53c=this;this[_0x40a63b(0x1e4)]=_0x54367e,clearTimeout(this[_0x40a63b(0x119)]),this[_0x40a63b(0x119)]=setTimeout(function(){var _0x4d7cc1=_0x40a63b;_0x3df53c[_0x4d7cc1(0x159)]();},0x1f4);}},{'key':_0x2bb60e(0xcb),'get':function(){var _0x2668a6=_0x2bb60e;return this[_0x2668a6(0x115)];},'set':function(_0x40549a){this['updateDate'](_0x40549a);}},{'key':_0x2bb60e(0x220),'value':function(_0x222d32){var _0x374cfe=_0x2bb60e;_0x222d32?this[_0x374cfe(0x235)]():(this[_0x374cfe(0x115)]&&(this[_0x374cfe(0xdb)]['data']=this[_0x374cfe(0x115)]),this[_0x374cfe(0x225)]());}},{'key':'_mountedHook','value':function(){}},{'key':_0x2bb60e(0x235),'value':function(){var _0x3a531b=_0x2bb60e;this['canvas']=this[_0x3a531b(0x11b)](),this['canvasContext']=this[_0x3a531b(0x18d)]['getContext']('2d'),this[_0x3a531b(0x1d0)](),this[_0x3a531b(0xdb)][_0x3a531b(0xcb)]&&this[_0x3a531b(0x22d)](this[_0x3a531b(0xdb)][_0x3a531b(0xcb)]);}},{'key':_0x2bb60e(0x225),'value':function(){var _0x210f91=_0x2bb60e;this['clear'](),this['unbindEvent'](),this['canvas']&&(this[_0x210f91(0x106)][_0x210f91(0x11d)][_0x210f91(0x21f)](this[_0x210f91(0x18d)]),delete this['canvas']);}},{'key':'_createCanvas','value':function(){var _0x1c4631=_0x2bb60e,_0x5b6d2e=document[_0x1c4631(0xf0)](_0x1c4631(0x18d));_0x5b6d2e[_0x1c4631(0x1ed)]['position']='absolute',_0x5b6d2e[_0x1c4631(0x1ed)][_0x1c4631(0xd9)]='0px',_0x5b6d2e[_0x1c4631(0x1ed)][_0x1c4631(0x214)]='0px',_0x5b6d2e[_0x1c4631(0x1ed)][_0x1c4631(0x16d)]='100%',_0x5b6d2e[_0x1c4631(0x1ed)][_0x1c4631(0x228)]=_0x1c4631(0x191),_0x5b6d2e[_0x1c4631(0x1ed)]['pointerEvents']=this[_0x1c4631(0x197)]?_0x1c4631(0x221):_0x1c4631(0xe1),_0x5b6d2e['style'][_0x1c4631(0xd5)]=0xa,_0x5b6d2e[_0x1c4631(0x231)]('id',_0x1c4631(0x206)),_0x5b6d2e[_0x1c4631(0x231)](_0x1c4631(0x139),_0x1c4631(0x206)),this[_0x1c4631(0x106)][_0x1c4631(0x11d)]['appendChild'](_0x5b6d2e);var _0x2d54af=this[_0x1c4631(0x106)][_0x1c4631(0x18e)];return _0x5b6d2e[_0x1c4631(0x16d)]=_0x2d54af[_0x1c4631(0x18d)][_0x1c4631(0x145)],_0x5b6d2e['height']=_0x2d54af[_0x1c4631(0x18d)][_0x1c4631(0x1b9)],_0x5b6d2e;}},{'key':_0x2bb60e(0x1c0),'value':function(){var _0x2c6302=_0x2bb60e;this[_0x2c6302(0x18d)]&&(this[_0x2c6302(0x18d)][_0x2c6302(0x16d)]=this[_0x2c6302(0x164)],this['canvas'][_0x2c6302(0x228)]=this[_0x2c6302(0x22c)]);}},{'key':_0x2bb60e(0x1d0),'value':function(){var _0x12cd20=_0x2bb60e,_0x38ead0=this,_0x27c830=Date[_0x12cd20(0x19c)]();!function _0x1c6298(){var _0x1675a0=_0x12cd20;_0x38ead0[_0x1675a0(0x1aa)]=window[_0x1675a0(0x114)](_0x1c6298);var _0x34bcbd=Date[_0x1675a0(0x19c)](),_0x487e48=_0x34bcbd-_0x27c830;_0x487e48>_0x38ead0[_0x1675a0(0x149)]&&(_0x27c830=_0x34bcbd-_0x487e48%_0x38ead0[_0x1675a0(0x149)],_0x38ead0['update']());}(),window[_0x12cd20(0x126)]('resize',this['resize'][_0x12cd20(0x146)](this),!0x1),this[_0x12cd20(0x12b)]=!0x1,this['mouse_move']=!0x1,this['_map']['on'](_0x528b06[_0x12cd20(0x18f)]['wheel'],this[_0x12cd20(0x105)],this),this[_0x12cd20(0x106)]['on'](_0x528b06['EventType'][_0x12cd20(0xfc)],this[_0x12cd20(0x1c4)],this),this[_0x12cd20(0x106)]['on'](_0x528b06[_0x12cd20(0x18f)][_0x12cd20(0xde)],this[_0x12cd20(0x134)],this),this[_0x12cd20(0x106)]['on'](_0x528b06['EventType']['mouseMove'],this[_0x12cd20(0x13f)],this);}},{'key':'unbindEvent','value':function(){var _0x36fc26=_0x2bb60e;window['cancelAnimationFrame'](this[_0x36fc26(0x1aa)]),delete this[_0x36fc26(0x1aa)],window[_0x36fc26(0x21a)]('resize',this[_0x36fc26(0x1c0)]),this[_0x36fc26(0x106)][_0x36fc26(0x108)](_0x528b06[_0x36fc26(0x18f)]['wheel'],this[_0x36fc26(0x105)],this),this[_0x36fc26(0x106)][_0x36fc26(0x108)](_0x528b06[_0x36fc26(0x18f)][_0x36fc26(0xfc)],this[_0x36fc26(0x1c4)],this),this[_0x36fc26(0x106)][_0x36fc26(0x108)](_0x528b06[_0x36fc26(0x18f)][_0x36fc26(0xde)],this[_0x36fc26(0x134)],this),this[_0x36fc26(0x106)][_0x36fc26(0x108)](_0x528b06['EventType']['mouseMove'],this[_0x36fc26(0x13f)],this);}},{'key':_0x2bb60e(0x105),'value':function(_0x708569){var _0x2f9651=_0x2bb60e,_0x2c9fa3=this;clearTimeout(this['refreshTimer']),this[_0x2f9651(0x187)]&&this[_0x2f9651(0x18d)]&&(this[_0x2f9651(0x18d)][_0x2f9651(0x1ed)][_0x2f9651(0x232)]=_0x2f9651(0x1b2),this[_0x2f9651(0x1d7)]=setTimeout(function(){var _0x3fc187=_0x2f9651;_0x2c9fa3[_0x3fc187(0x187)]&&(_0x2c9fa3['redraw'](),_0x2c9fa3[_0x3fc187(0x18d)][_0x3fc187(0x1ed)][_0x3fc187(0x232)]=_0x3fc187(0x192));},0xc8));}},{'key':_0x2bb60e(0x1c4),'value':function(_0x4e2b92){var _0x5b8495=_0x2bb60e;this[_0x5b8495(0x12b)]=!0x0;}},{'key':_0x2bb60e(0x13f),'value':function(_0x9a4ea7){var _0x270518=_0x2bb60e;this[_0x270518(0x187)]&&this['canvas']&&this[_0x270518(0x12b)]&&(this['canvas'][_0x270518(0x1ed)]['visibility']='hidden',this['mouse_move']=!0x0);}},{'key':'_onMouseUpEvent','value':function(_0x4881a4){var _0x5cc88e=_0x2bb60e;this[_0x5cc88e(0x187)]&&this[_0x5cc88e(0x18d)]&&(this[_0x5cc88e(0x12b)]&&this[_0x5cc88e(0x20d)]&&this[_0x5cc88e(0x159)](),this[_0x5cc88e(0x18d)][_0x5cc88e(0x1ed)][_0x5cc88e(0x232)]=_0x5cc88e(0x192),this[_0x5cc88e(0x12b)]=!0x1,this[_0x5cc88e(0x20d)]=!0x1);}},{'key':_0x2bb60e(0x159),'value':function(){var _0x1bf113=_0x2bb60e;this[_0x1bf113(0x187)]&&this[_0x1bf113(0x15d)]&&(this[_0x1bf113(0x205)]=[],this[_0x1bf113(0x20c)]());}},{'key':_0x2bb60e(0x22d),'value':function(_0xcf191f){var _0xca7944=_0x2bb60e;this[_0xca7944(0xee)](),this[_0xca7944(0x115)]=_0xcf191f,this[_0xca7944(0x15d)]=new _0x216551(this[_0xca7944(0x115)],this[_0xca7944(0x152)]),this[_0xca7944(0x20c)]();}},{'key':'drawWind','value':function(){var _0x4f0e3a=_0x2bb60e;this[_0x4f0e3a(0x168)]();for(var _0x29467b=0x0;_0x29467b<this[_0x4f0e3a(0x150)];_0x29467b++){var _0x2325a0=this[_0x4f0e3a(0x1e2)](new _0x45dfcc());this[_0x4f0e3a(0x205)][_0x4f0e3a(0x15b)](_0x2325a0);}this[_0x4f0e3a(0x136)]['fillStyle']=_0x4f0e3a(0x215),this[_0x4f0e3a(0x136)]['globalAlpha']=0.6,this['update']();}},{'key':'_calcStep','value':function(){var _0x4229a1=_0x2bb60e;this['windField']&&(this[_0x4229a1(0x1fa)]=[(this['windField'][_0x4229a1(0xf3)]-this[_0x4229a1(0x15d)]['xmin'])/this['speedRate'],(this[_0x4229a1(0x15d)][_0x4229a1(0x180)]-this[_0x4229a1(0x15d)][_0x4229a1(0x165)])/this[_0x4229a1(0x22e)]]);}},{'key':'update','value':function(){var _0x4fd571=_0x2bb60e,_0x5aee21=this;if(this[_0x4fd571(0x187)]&&!(this['particles'][_0x4fd571(0x110)]<=0x0)){var _0x5d1d09=null,_0x1a01d3=null,_0x563edb=null;this['particles']['forEach'](function(_0x55ac7b){var _0x219af4=_0x4fd571;if(_0x55ac7b[_0x219af4(0x237)]<=0x0&&_0x5aee21['randomParticle'](_0x55ac7b),_0x55ac7b['age']>0x0){var _0x3be823=_0x55ac7b['tlng'],_0x4d0ba8=_0x55ac7b['tlat'];(_0x563edb=_0x5aee21[_0x219af4(0x15d)][_0x219af4(0x213)](_0x3be823,_0x4d0ba8))?(_0x5d1d09=_0x3be823+_0x5aee21['calc_speedRate'][0x0]*_0x563edb[0x0],_0x1a01d3=_0x4d0ba8+_0x5aee21[_0x219af4(0x1fa)][0x1]*_0x563edb[0x1],_0x55ac7b[_0x219af4(0x1f1)]=_0x3be823,_0x55ac7b['lat']=_0x4d0ba8,_0x55ac7b[_0x219af4(0x217)]=_0x5d1d09,_0x55ac7b[_0x219af4(0x1d3)]=_0x1a01d3,_0x55ac7b['age']--):_0x55ac7b[_0x219af4(0x237)]=0x0;}}),this[_0x4fd571(0x1ad)]();}}},{'key':_0x2bb60e(0xea),'value':function(_0x5872c7,_0x166009,_0x7f05c2){var _0x2fd2b9=_0x2bb60e,_0x5c42ed=_0x2bfd05[_0x2fd2b9(0x16b)][_0x2fd2b9(0x15a)](_0x5872c7,_0x166009,this[_0x2fd2b9(0xdd)]),_0x3a874a=this[_0x2fd2b9(0x106)][_0x2fd2b9(0x18e)];if(_0x3a874a[_0x2fd2b9(0x18a)]===_0x2bfd05[_0x2fd2b9(0x1f8)][_0x2fd2b9(0x184)]&&!new _0x2bfd05[(_0x2fd2b9(0xdc))](_0x3a874a[_0x2fd2b9(0x20f)][_0x2fd2b9(0x1fc)],_0x3a874a[_0x2fd2b9(0xf5)]['positionWC'])[_0x2fd2b9(0x1ff)](_0x5c42ed))return _0x7f05c2['age']=0x0,null;var _0x2924e3=_0x2bfd05[_0x2fd2b9(0x208)][_0x2fd2b9(0x166)](this['_map'][_0x2fd2b9(0x18e)],_0x5c42ed);return _0x2924e3?[_0x2924e3['x'],_0x2924e3['y']]:null;}},{'key':_0x2bb60e(0x1ad),'value':function(){var _0x122ff4=_0x2bb60e,_0xeb8bdf=this,_0x197a05=this[_0x122ff4(0x205)];this[_0x122ff4(0x136)][_0x122ff4(0x1a9)]=_0xeb8bdf[_0x122ff4(0x1a9)],this[_0x122ff4(0x136)]['globalCompositeOperation']=_0x122ff4(0x21b),this[_0x122ff4(0x136)]['fillRect'](0x0,0x0,this['canvasWidth'],this[_0x122ff4(0x22c)]),this[_0x122ff4(0x136)]['globalCompositeOperation']=_0x122ff4(0x1b3),this['canvasContext'][_0x122ff4(0x170)]=0.9,this[_0x122ff4(0x136)][_0x122ff4(0x1f2)](),this[_0x122ff4(0x136)]['strokeStyle']=this['color'];var _0x2362f2=this[_0x122ff4(0x106)][_0x122ff4(0x18e)][_0x122ff4(0x18a)]!==_0x2bfd05[_0x122ff4(0x1f8)]['SCENE3D'];_0x197a05[_0x122ff4(0x233)](function(_0x49ed0c){var _0x2239f9=_0x122ff4,_0x154490=_0xeb8bdf['_tomap'](_0x49ed0c[_0x2239f9(0x1f1)],_0x49ed0c['lat'],_0x49ed0c),_0x160fa3=_0xeb8bdf[_0x2239f9(0xea)](_0x49ed0c[_0x2239f9(0x217)],_0x49ed0c[_0x2239f9(0x1d3)],_0x49ed0c);if(null!=_0x154490&&null!=_0x160fa3){var _0x27b15d=Math['abs'](_0x154490[0x0]-_0x160fa3[0x0]);_0x2362f2&&_0x27b15d>=_0xeb8bdf[_0x2239f9(0x164)]||(_0xeb8bdf[_0x2239f9(0x136)][_0x2239f9(0x227)](_0x154490[0x0],_0x154490[0x1]),_0xeb8bdf[_0x2239f9(0x136)][_0x2239f9(0x198)](_0x160fa3[0x0],_0x160fa3[0x1]));}}),this[_0x122ff4(0x136)][_0x122ff4(0x138)]();}},{'key':_0x2bb60e(0x1e2),'value':function(_0x28b181){var _0x3f0536=_0x2bb60e;for(var _0x112e4d,_0x24142e,_0xd87b2c=0x0;_0xd87b2c<0x1e&&(_0x112e4d=this[_0x3f0536(0x15d)][_0x3f0536(0x1c9)](),!((_0x24142e=this[_0x3f0536(0x15d)][_0x3f0536(0x213)](_0x112e4d[_0x3f0536(0x1f1)],_0x112e4d[_0x3f0536(0x107)]))&&_0x24142e[0x2]>0x0));_0xd87b2c++);if(!_0x24142e)return _0x28b181;var _0x558914=_0x112e4d[_0x3f0536(0x1f1)]+this['calc_speedRate'][0x0]*_0x24142e[0x0],_0x207c58=_0x112e4d[_0x3f0536(0x107)]+this[_0x3f0536(0x1fa)][0x1]*_0x24142e[0x1];return _0x28b181['lng']=_0x112e4d[_0x3f0536(0x1f1)],_0x28b181[_0x3f0536(0x107)]=_0x112e4d['lat'],_0x28b181['tlng']=_0x558914,_0x28b181[_0x3f0536(0x1d3)]=_0x207c58,_0x28b181[_0x3f0536(0x237)]=Math[_0x3f0536(0x135)](Math[_0x3f0536(0x1e6)]()*this[_0x3f0536(0xef)]),_0x28b181;}},{'key':_0x2bb60e(0xee),'value':function(){var _0x2f81bc=_0x2bb60e;this[_0x2f81bc(0x205)]=[],delete this[_0x2f81bc(0x15d)],delete this[_0x2f81bc(0x115)];}}]),_0x3b07fd;}(_0x528b06[_0x3a7e93(0x1b8)][_0x3a7e93(0xe3)]);function _0x1285d4(_0x59686b,_0x241aa1){var _0x25ec95=_0x3a7e93;return _0x59686b*Math[_0x25ec95(0x1a0)](_0x2bfd05[_0x25ec95(0x1d2)]['toRadians'](_0x241aa1));}function _0x14defd(_0x24478a,_0x2ce4e7){var _0x4850ed=_0x3a7e93;return _0x24478a*Math['sin'](_0x2bfd05[_0x4850ed(0x1d2)][_0x4850ed(0x20e)](_0x2ce4e7));}function _0x2206a4(_0x2c18f2,_0x58fe56){var _0x32009d=_0x3a7e93;return Math[_0x32009d(0x1c2)](Math['pow'](_0x2c18f2,0x2)+Math[_0x32009d(0x16f)](_0x58fe56,0x2));}function _0xf9eb2e(_0x5d6d2c,_0x3d9f38){var _0x5726ea=_0x3a7e93,_0xdfdc9e=_0x2bfd05[_0x5726ea(0x1d2)][_0x5726ea(0x11a)](Math[_0x5726ea(0x153)](_0x3d9f38,_0x5d6d2c));return _0xdfdc9e+=_0xdfdc9e<0x0?0x168:0x0;}_0x528b06[_0x3a7e93(0x1ca)][_0x3a7e93(0x1e1)](_0x3a7e93(0x1db),_0x23a533),_0x528b06[_0x3a7e93(0x1b8)]['CanvasWindLayer']=_0x23a533,_0x528b06[_0x3a7e93(0x1fd)]=_0x4b17ad;}]));function a0_0x3080(_0x2d55d2,_0x975919){var _0x1d563c=a0_0x1d56();return a0_0x3080=function(_0x3080ad,_0x5989a2){_0x3080ad=_0x3080ad-0xc4;var _0x1c0502=_0x1d563c[_0x3080ad];return _0x1c0502;},a0_0x3080(_0x2d55d2,_0x975919);}function a0_0x1d56(){var _0x4ed441=['round','canvasContext','getPixelSize','stroke','class','getUserInput','colorNum','west','createWindTextures','UNSIGNED_BYTE','_onMouseMoveEvent','setGeometry','pixelSize','uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture2D(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}','updatePosition','valueOf','clientWidth','bind','getFullscreenQuad','function','frameTime','_onMap_preRenderEvent','isDestroyed','currentParticlesPosition','currentTrails','ceil','17876903tHfdWU','particlesNumber','dropRateBump','reverseY','atan2','toStringTag','createRenderingPrimitives','preExecute','7036maAdTE','getExtent','redraw','fromDegrees','push','xmin','windField','context','array','lev','particlesWind','symbol','viewport','canvasWidth','ymin','wgs84ToWindowCoordinates','max','_calcStep','createParticlesTextures','RGBA','Cartesian3','drawingBufferHeight','width','segmentsDepth','pow','globalAlpha','PI_OVER_THREE','autoClear','segments','attributeLocations','destroy','undefined','__proto__','maxParticles','1379zyZgtN','drawingBufferWidth','preRender','mars3d','pointerEvents','commandToExecute','color','ymax','Module','frameRate','defined','SCENE3D','120MTvqKA','getPrototypeOf','show','updateSpeed','lon','mode','particlesRendering','__esModule','canvas','scene','EventType','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','100%','visible','TRIANGLES','setPrototypeOf','randomizeParticles','keys','_pointerEvents','lineTo','commandType','hasOwnProperty','_bilinearInterpolation','now','createComputingPrimitives','RenderState','ShaderSource','cos','12QWZAZM','once','createRenderingFramebuffers','refreshParticles','toGridXY','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','wind','isInExtent','lineWidth','animateFrame','getSpeed','lonRange','_drawLines','constructor','currentTrailsColor','segmentsColor','DrawCommand','hidden','lighter','primitiveType','particlesComputing','nextTrails','LUMINANCE','layer','clientHeight','_particlesNumber','fadeOpacity','viewerParameters','value','createCommand','iterator','resize','TextureMinificationFilter','sqrt','_mountedHook','_onMouseDownEvent','enumerable','createRenderingTextures','DEPTH_COMPONENT','PrimitiveCollection','getRandomLatLng','LayerUtil','GeometryAttributes','Geometry','depthTexture','uniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0auniform\x20sampler2D\x20particlesWind;\x0a\x0a//\x20used\x20to\x20calculate\x20the\x20wind\x20norm\x0auniform\x20vec2\x20uSpeedRange;\x20//\x20(min,\x20max);\x0auniform\x20vec2\x20vSpeedRange;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20speedFactor;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0afloat\x20calculateWindNorm(vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec3\x20percent\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20percent.x\x20=\x20(speed.x\x20-\x20uSpeedRange.x)\x20/\x20(uSpeedRange.y\x20-\x20uSpeedRange.x);\x0a\x20\x20\x20\x20percent.y\x20=\x20(speed.y\x20-\x20vSpeedRange.x)\x20/\x20(vSpeedRange.y\x20-\x20vSpeedRange.x);\x0a\x20\x20\x20\x20float\x20normalization\x20=\x20length(percent);\x0a\x0a\x20\x20\x20\x20return\x20normalization;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20currentSpeed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture2D(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindNorm(windVector));\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20nextSpeed;\x0a}','ClearCommand','bindEvent','VertexArray','Math','tlat','getWind','particlesTextures','create','refreshTimer','wheel','Sampler','createTexture','canvasWind','mouseMove','setOptions','colorTable','ZERO','createFramebuffer','register','randomParticle','screen','_maxAge','exports','random','uniform\x20sampler2D\x20segmentsColorTexture;\x0d\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0d\x0a\x0d\x0auniform\x20sampler2D\x20currentTrailsColor;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0auniform\x20float\x20fadeOpacity;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture2D(segmentsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(currentTrailsColor,\x20textureCoordinate);\x0d\x0a\x0d\x0a\x20\x20\x20\x20trailsColor\x20=\x20floor(fadeOpacity\x20*\x20255.0\x20*\x20trailsColor)\x20/\x20255.0;\x20//\x20make\x20sure\x20the\x20trailsColor\x20will\x20be\x20strictly\x20decreased\x0d\x0a\x0d\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture2D(segmentsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20pointsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20gl_FragDepthEXT\x20=\x20min(pointsDepth,\x20trailsDepth);\x0d\x0a}','call','writable','rows','LINEAR','viewRectangleToLonLatRange','style','remove','FLOAT','updateViewerParameters','lng','beginPath','particleHeight','DepthFunction','apply','dimensions','outputTexture','SceneMode','TWO_PI','calc_speedRate','TextureMagnificationFilter','ellipsoid','WindUtil','mars3dWind','isPointVisible','//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\x20\x0auniform\x20sampler2D\x20V;\x20//\x20northward\x20wind\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0a\x0auniform\x20vec3\x20dimension;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20vec3\x20minimum;\x20//\x20minimum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20maximum;\x20//\x20maximum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20interval;\x20//\x20interval\x20of\x20each\x20dimension\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20mapPositionToNormalizedIndex2D(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20range\x20of\x20longitude\x20and\x20latitude\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x,\x20360.0);\x0a\x20\x20\x20\x20lonLatLev.y\x20=\x20clamp(lonLatLev.y,\x20-90.0,\x2090.0);\x0a\x0a\x20\x20\x20\x20vec3\x20index3D\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20index3D.x\x20=\x20(lonLatLev.x\x20-\x20minimum.x)\x20/\x20interval.x;\x0a\x20\x20\x20\x20index3D.y\x20=\x20(lonLatLev.y\x20-\x20minimum.y)\x20/\x20interval.y;\x0a\x20\x20\x20\x20index3D.z\x20=\x20(lonLatLev.z\x20-\x20minimum.z)\x20/\x20interval.z;\x0a\x0a\x20\x20\x20\x20//\x20the\x20st\x20texture\x20coordinate\x20corresponding\x20to\x20(col,\x20row)\x20index\x0a\x20\x20\x20\x20//\x20example\x0a\x20\x20\x20\x20//\x20data\x20array\x20is\x20[0,\x201,\x202,\x203,\x204,\x205],\x20width\x20=\x203,\x20height\x20=\x202\x0a\x20\x20\x20\x20//\x20the\x20content\x20of\x20texture\x20will\x20be\x0a\x20\x20\x20\x20//\x20t\x201.0\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x203\x204\x205\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x200\x201\x202\x0a\x20\x20\x20\x20//\x20\x20\x200.0------1.0\x20s\x0a\x0a\x20\x20\x20\x20vec2\x20index2D\x20=\x20vec2(index3D.x,\x20index3D.z\x20*\x20dimension.y\x20+\x20index3D.y);\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20vec2(index2D.x\x20/\x20dimension.x,\x20index2D.y\x20/\x20(dimension.y\x20*\x20dimension.z));\x0a\x20\x20\x20\x20return\x20normalizedIndex2D;\x0a}\x0a\x0afloat\x20getWind(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20mapPositionToNormalizedIndex2D(lonLatLev);\x0a\x20\x20\x20\x20float\x20result\x20=\x20texture2D(windTexture,\x20normalizedIndex2D).r;\x0a\x20\x20\x20\x20return\x20result;\x0a}\x0a\x0aconst\x20mat4\x20kernelMatrix\x20=\x20mat4(\x0a\x20\x20\x20\x200.0,\x20-1.0,\x202.0,\x20-1.0,\x20//\x20first\x20column\x0a\x20\x20\x20\x202.0,\x200.0,\x20-5.0,\x203.0,\x20//\x20second\x20column\x0a\x20\x20\x20\x200.0,\x201.0,\x204.0,\x20-3.0,\x20//\x20third\x20column\x0a\x20\x20\x20\x200.0,\x200.0,\x20-1.0,\x201.0\x20//\x20fourth\x20column\x0a);\x0afloat\x20oneDimensionInterpolation(float\x20t,\x20float\x20p0,\x20float\x20p1,\x20float\x20p2,\x20float\x20p3)\x20{\x0a\x20\x20\x20\x20vec4\x20tVec4\x20=\x20vec4(1.0,\x20t,\x20t\x20*\x20t,\x20t\x20*\x20t\x20*\x20t);\x0a\x20\x20\x20\x20tVec4\x20=\x20tVec4\x20/\x202.0;\x0a\x20\x20\x20\x20vec4\x20pVec4\x20=\x20vec4(p0,\x20p1,\x20p2,\x20p3);\x0a\x20\x20\x20\x20return\x20dot((tVec4\x20*\x20kernelMatrix),\x20pVec4);\x0a}\x0a\x0afloat\x20calculateB(sampler2D\x20windTexture,\x20float\x20t,\x20float\x20lon,\x20float\x20lat,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20float\x20lon0\x20=\x20floor(lon)\x20-\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon1\x20=\x20floor(lon);\x0a\x20\x20\x20\x20float\x20lon2\x20=\x20floor(lon)\x20+\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon3\x20=\x20floor(lon)\x20+\x202.0\x20*\x20interval.x;\x0a\x0a\x20\x20\x20\x20float\x20p0\x20=\x20getWind(windTexture,\x20vec3(lon0,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p1\x20=\x20getWind(windTexture,\x20vec3(lon1,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p2\x20=\x20getWind(windTexture,\x20vec3(lon2,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p3\x20=\x20getWind(windTexture,\x20vec3(lon3,\x20lat,\x20lev));\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(t,\x20p0,\x20p1,\x20p2,\x20p3);\x0a}\x0a\x0afloat\x20interpolateOneTexture(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20float\x20lon\x20=\x20lonLatLev.x;\x0a\x20\x20\x20\x20float\x20lat\x20=\x20lonLatLev.y;\x0a\x20\x20\x20\x20float\x20lev\x20=\x20lonLatLev.z;\x0a\x0a\x20\x20\x20\x20float\x20lat0\x20=\x20floor(lat)\x20-\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat1\x20=\x20floor(lat);\x0a\x20\x20\x20\x20float\x20lat2\x20=\x20floor(lat)\x20+\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat3\x20=\x20floor(lat)\x20+\x202.0\x20*\x20interval.y;\x0a\x0a\x20\x20\x20\x20vec2\x20coefficient\x20=\x20lonLatLev.xy\x20-\x20floor(lonLatLev.xy);\x0a\x20\x20\x20\x20float\x20b0\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat0,\x20lev);\x0a\x20\x20\x20\x20float\x20b1\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat1,\x20lev);\x0a\x20\x20\x20\x20float\x20b2\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat2,\x20lev);\x0a\x20\x20\x20\x20float\x20b3\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat3,\x20lev);\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(coefficient.y,\x20b0,\x20b1,\x20b2,\x20b3);\x0a}\x0a\x0avec3\x20bicubic(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20https://en.wikipedia.org/wiki/Bicubic_interpolation#Bicubic_convolution_algorithm\x0a\x20\x20\x20\x20float\x20u\x20=\x20interpolateOneTexture(U,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20v\x20=\x20interpolateOneTexture(V,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20return\x20vec3(u,\x20v,\x20w);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20bicubic(lonLatLev);\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(windVector,\x200.0);\x0a}','dropRate','Cartesian2','udata','globeBoundingSphere','particles','canvasWindy','reverse','SceneTransforms','computeViewRectangle','commandList','defaultValue','drawWind','mouse_move','toRadians','globe','defineProperty','currentParticlesSpeed','prototype','getUVByPoint','left','rgba(0,\x200,\x200,\x200.97)','101754bdCKxC','tlng','Texture','nextTrailsDepth','removeEventListener','destination-in','Compute','vertexShaderSource','108063pXbWVn','removeChild','_showHook','auto','ShaderProgram','textures','PrimitiveType','_removedHook','Color','moveTo','height','mod','11274GZDTnA','DISABLE_GL_POSITION_LOG_DEPTH','canvasHeight','updateDate','speedRate','OPAQUE','postProcessingPosition','setAttribute','visibility','forEach','BufferUsage','_addedHook','speedFactor','age','execute','fromCache','getDirection','Rectangle','getUVByXY','north','construct','data','clampToLatitudeRange','blending','trails','getV','fragmentShaderSource','default','vdata','WindLayer','PixelDatatype','zIndex','5vlKjfT','applyUserInput','clearCommand','top','3215510vESLnA','options','EllipsoidalOccluder','fixedHeight','mouseUp','PixelFormat','UNSIGNED_INT','none','destroyParticlesTextures','BaseLayer','getU','string','framebuffers','Draw','cols','nextParticlesSpeed','_tomap','Cesium','PI_OVER_TWO','GeometryAttribute','clear','maxAge','createElement','attribute\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0aattribute\x20vec3\x20normal;\x20//\x20(point\x20to\x20use,\x20offset\x20sign,\x20not\x20used\x20component)\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x0auniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20postProcessingSpeed;\x0a\x0auniform\x20float\x20particleHeight;\x0a\x0auniform\x20float\x20aspect;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20lineWidth;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avec3\x20convertCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20WGS84\x20(lon,\x20lat,\x20lev)\x20->\x20ECEF\x20(x,\x20y,\x20z)\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_conversion#From_geodetic_to_ECEF_coordinates\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20WGS\x2084\x20geometric\x20constants\x20\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x20\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\x20\x0a\x20\x20\x20\x20float\x20e2\x20=\x206.69437999014e-3;\x20//\x20First\x20eccentricity\x20squared\x0a\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x20\x20\x20\x20float\x20longitude\x20=\x20radians(lonLatLev.x);\x0a\x0a\x20\x20\x20\x20float\x20cosLat\x20=\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20sinLat\x20=\x20sin(latitude);\x0a\x20\x20\x20\x20float\x20cosLon\x20=\x20cos(longitude);\x0a\x20\x20\x20\x20float\x20sinLon\x20=\x20sin(longitude);\x0a\x0a\x20\x20\x20\x20float\x20N_Phi\x20=\x20a\x20/\x20sqrt(1.0\x20-\x20e2\x20*\x20sinLat\x20*\x20sinLat);\x0a\x20\x20\x20\x20float\x20h\x20=\x20particleHeight;\x20//\x20it\x20should\x20be\x20high\x20enough\x20otherwise\x20the\x20particle\x20may\x20not\x20pass\x20the\x20terrain\x20depth\x20test\x0a\x0a\x20\x20\x20\x20vec3\x20cartesian\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20cartesian.x\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20cosLon;\x0a\x20\x20\x20\x20cartesian.y\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20sinLon;\x0a\x20\x20\x20\x20cartesian.z\x20=\x20((b\x20*\x20b)\x20/\x20(a\x20*\x20a)\x20*\x20N_Phi\x20+\x20h)\x20*\x20sinLat;\x0a\x20\x20\x20\x20return\x20cartesian;\x0a}\x0a\x0avec4\x20calcProjectedCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20the\x20range\x20of\x20longitude\x20in\x20Cesium\x20is\x20[-180,\x20180]\x20but\x20the\x20range\x20of\x20longitude\x20in\x20the\x20NetCDF\x20file\x20is\x20[0,\x20360]\x0a\x20\x20\x20\x20//\x20[0,\x20180]\x20is\x20corresponding\x20to\x20[0,\x20180]\x20and\x20[180,\x20360]\x20is\x20corresponding\x20to\x20[-180,\x200]\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x\x20+\x20180.0,\x20360.0)\x20-\x20180.0;\x0a\x20\x20\x20\x20vec3\x20particlePosition\x20=\x20convertCoordinate(lonLatLev);\x0a\x20\x20\x20\x20vec4\x20projectedCoordinate\x20=\x20czm_modelViewProjection\x20*\x20vec4(particlePosition,\x201.0);\x0a\x20\x20\x20\x20return\x20projectedCoordinate;\x0a}\x0a\x0avec4\x20calcOffset(vec4\x20currentProjectedCoordinate,\x20vec4\x20nextProjectedCoordinate,\x20float\x20offsetSign)\x20{\x0a\x20\x20\x20\x20vec2\x20aspectVec2\x20=\x20vec2(aspect,\x201.0);\x0a\x20\x20\x20\x20vec2\x20currentXY\x20=\x20(currentProjectedCoordinate.xy\x20/\x20currentProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x20\x20\x20\x20vec2\x20nextXY\x20=\x20(nextProjectedCoordinate.xy\x20/\x20nextProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x0a\x20\x20\x20\x20float\x20offsetLength\x20=\x20lineWidth\x20/\x202.0;\x0a\x20\x20\x20\x20vec2\x20direction\x20=\x20normalize(nextXY\x20-\x20currentXY);\x0a\x20\x20\x20\x20vec2\x20normalVector\x20=\x20vec2(-direction.y,\x20direction.x);\x0a\x20\x20\x20\x20normalVector.x\x20=\x20normalVector.x\x20/\x20aspect;\x0a\x20\x20\x20\x20normalVector\x20=\x20offsetLength\x20*\x20normalVector;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20vec4(offsetSign\x20*\x20normalVector,\x200.0,\x200.0);\x0a\x20\x20\x20\x20return\x20offset;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec2\x20particleIndex\x20=\x20st;\x0a\x0a\x20\x20\x20\x20vec3\x20currentPosition\x20=\x20texture2D(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture2D(postProcessingPosition,\x20particleIndex);\x0a\x0a\x20\x20\x20\x20vec4\x20currentProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20vec4\x20nextProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(nextPosition.w\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(nextPosition.xyz);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20float\x20pointToUse\x20=\x20normal.x;\x20//\x20-1\x20is\x20currentProjectedCoordinate\x20and\x20+1\x20is\x20nextProjectedCoordinate\x0a\x20\x20\x20\x20float\x20offsetSign\x20=\x20normal.y;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20pixelSize\x20*\x20calcOffset(currentProjectedCoordinate,\x20nextProjectedCoordinate,\x20offsetSign);\x0a\x20\x20\x20\x20if\x20(pointToUse\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20currentProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20nextProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20speedNormalization\x20=\x20texture2D(postProcessingSpeed,\x20particleIndex).a;\x0a}','randomBetween','xmax','floor','camera','postProcessingSpeed','2900950gduWku','Pass','userInput','rawRenderState','windTextures','mouseDown','geometry','shaderProgram','vertexArray','uniformMap','arrayBufferView','Framebuffer','STATIC_DRAW','ComputeCommand','_onMapWhellEvent','_map','lat','off','globeLayer','framebuffer','add','fill','getColorTexture','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','latRange','length','NEAREST','depthMask','RGB','requestAnimationFrame','windData','clearFramebuffers','min','sham','canrefresh','toDegrees','_createCanvas','Appearance','container','log','applyViewerParameters','addPrimitives','831GjLcam','particleSystem','all','ALWAYS','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','addEventListener','fromGeometry','grid','destroyObject','createRawRenderState','mouse_down','removeAll','primitives','nextParticlesPosition','object','particlesTextureSize','getDefaultRenderState','_calcUV','ComponentDatatype','_onMouseUpEvent'];a0_0x1d56=function(){return _0x4ed441;};return a0_0x1d56();}
|
|
31
31
|
|
|
32
32
|
})(window);
|
|
33
33
|
|
package/package.json
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mars3d-wind",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.19",
|
|
4
4
|
"description": "Mars3D平台插件,支持气象 风向图 功能插件",
|
|
5
5
|
"main": "dist/mars3d-wind.js",
|
|
6
|
+
"files": [
|
|
7
|
+
"dist"
|
|
8
|
+
],
|
|
6
9
|
"dependencies": {
|
|
7
|
-
"mars3d": "^3.1.
|
|
8
|
-
"mars3d-cesium": "^1.
|
|
10
|
+
"mars3d": "^3.1.19",
|
|
11
|
+
"mars3d-cesium": "^1.88.2"
|
|
9
12
|
},
|
|
10
13
|
"devDependencies": {},
|
|
11
14
|
"scripts": {
|
package/index.html
DELETED
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html class="no-js css-menubar" lang="zh-cn">
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<title> Mars3D三维地球 wind插件</title>
|
|
6
|
-
<meta charset="utf-8">
|
|
7
|
-
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
8
|
-
<!-- 移动设备 viewport -->
|
|
9
|
-
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no,minimal-ui">
|
|
10
|
-
<meta name="author" content="火星科技 http://mars3d.cn ">
|
|
11
|
-
<!-- 360浏览器默认使用Webkit内核 -->
|
|
12
|
-
<meta name="renderer" content="webkit">
|
|
13
|
-
<!-- Chrome浏览器添加桌面快捷方式(安卓) -->
|
|
14
|
-
<link rel="icon" type="image/png" href="img/favicon/favicon.png">
|
|
15
|
-
<meta name="mobile-web-app-capable" content="yes">
|
|
16
|
-
<!-- Safari浏览器添加到主屏幕(IOS) -->
|
|
17
|
-
<link rel="icon" sizes="192x192" href="img/favicon/apple-touch-icon.png">
|
|
18
|
-
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
19
|
-
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
|
20
|
-
<meta name="apple-mobile-web-app-title" content="火星科技 MarsGIS">
|
|
21
|
-
<!-- Win8标题栏及ICON图标 -->
|
|
22
|
-
<link rel="apple-touch-icon-precomposed" href="img/favicon/apple-touch-icon.png">
|
|
23
|
-
<meta name="msapplication-TileImage" content="img/favicon/app-icon72x72@2x.png">
|
|
24
|
-
<meta name="msapplication-TileColor" content="#62a8ea">
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
<!--引入基础lib-->
|
|
28
|
-
<link href="https://cdn.jsdelivr.net/npm/mars3d-cesium/Build/Cesium/Widgets/widgets.css" rel="stylesheet" type="text/css" />
|
|
29
|
-
<script src="https://cdn.jsdelivr.net/npm/mars3d-cesium/Build/Cesium/Cesium.js" type="text/javascript" ></script>
|
|
30
|
-
<script src="https://unpkg.com/@turf/turf/turf.min.js" type="text/javascript" ></script>
|
|
31
|
-
<script type="text/javascript" src="http://mars3d.cn/lib/jquery/jquery-2.1.4.min.js"></script>
|
|
32
|
-
<script type="text/javascript" src="http://mars3d.cn/lib/hao/haoutil.js"></script>
|
|
33
|
-
|
|
34
|
-
<!--引入mars3d库lib-->
|
|
35
|
-
<link href="https://cdn.jsdelivr.net/npm/mars3d/dist/mars3d.css" rel="stylesheet" type="text/css" />
|
|
36
|
-
<script src="https://cdn.jsdelivr.net/npm/mars3d/dist/mars3d.js" type="text/javascript" ></script>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<script type="text/javascript" src="dist/mars3d-wind.js"></script>
|
|
40
|
-
|
|
41
|
-
<style>
|
|
42
|
-
html,
|
|
43
|
-
body {
|
|
44
|
-
height: 100%;
|
|
45
|
-
width: 100%;
|
|
46
|
-
margin: 0;
|
|
47
|
-
padding: 0;
|
|
48
|
-
border: none;
|
|
49
|
-
overflow: hidden;
|
|
50
|
-
font-size: 14px;
|
|
51
|
-
background: #000;
|
|
52
|
-
}
|
|
53
|
-
</style>
|
|
54
|
-
</head>
|
|
55
|
-
|
|
56
|
-
<body>
|
|
57
|
-
<div id="mars3dContainer" class="mars3d-container"></div>
|
|
58
|
-
|
|
59
|
-
<!--业务代码-->
|
|
60
|
-
<script type="text/javascript">
|
|
61
|
-
//判断webgl支持
|
|
62
|
-
if (!mars3d.Util.webglreport()) {
|
|
63
|
-
mars3d.Util.webglerror()
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
//读取 config.json 配置文件
|
|
67
|
-
var configUrl = 'http://mars3d.cn/example/config/config.json'
|
|
68
|
-
mars3d.Resource.fetchJson({ url: configUrl }).then(function (json) {
|
|
69
|
-
initMap(json.map3d)//构建地图
|
|
70
|
-
})
|
|
71
|
-
|
|
72
|
-
var map
|
|
73
|
-
|
|
74
|
-
//创建三维地球场景
|
|
75
|
-
function initMap(options) {
|
|
76
|
-
//合并属性参数,可覆盖config.json中的对应配置
|
|
77
|
-
let mapOptions = mars3d.Util.merge(options, {
|
|
78
|
-
scene: {
|
|
79
|
-
center: {
|
|
80
|
-
y: 17.262069,
|
|
81
|
-
x: 118.610529,
|
|
82
|
-
z: 21466322.79,
|
|
83
|
-
heading: 358.6,
|
|
84
|
-
pitch: -88.5,
|
|
85
|
-
roll: 0,
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
})
|
|
89
|
-
|
|
90
|
-
map = new mars3d.Map('mars3dContainer', mapOptions)
|
|
91
|
-
|
|
92
|
-
map.basemap = 2017 //蓝色底图
|
|
93
|
-
|
|
94
|
-
//风场
|
|
95
|
-
var canvasWindLayer = new mars3d.layer.CanvasWindLayer({
|
|
96
|
-
color: '#ffffff', //颜色
|
|
97
|
-
frameRate: 20, //每秒刷新次数
|
|
98
|
-
speedRate: 60, //风前进速率
|
|
99
|
-
particlesNumber: 5000,
|
|
100
|
-
maxAge: 120,
|
|
101
|
-
lineWidth: 1,
|
|
102
|
-
})
|
|
103
|
-
map.addLayer(canvasWindLayer)
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
$.ajax({
|
|
108
|
-
type: 'get',
|
|
109
|
-
url: 'http://data.mars3d.cn/file/apidemo/windyuv.json',
|
|
110
|
-
dataType: 'json',
|
|
111
|
-
success: function (res) {
|
|
112
|
-
earthWindData = res
|
|
113
|
-
canvasWindLayer.data = earthWindData
|
|
114
|
-
},
|
|
115
|
-
error: function (error) {
|
|
116
|
-
console.log('请求数据失败!', error)
|
|
117
|
-
},
|
|
118
|
-
})
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
</script>
|
|
122
|
-
</body>
|
|
123
|
-
|
|
124
|
-
</html>
|