mars3d-wind 3.2.0 → 3.2.3
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/LICENSE +206 -0
- package/dist/mars3d-wind.js +3 -12
- package/package.json +31 -5
package/LICENSE
ADDED
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
|
|
2
|
+
Apache License
|
|
3
|
+
Version 2.0, January 2004
|
|
4
|
+
http://www.apache.org/licenses/
|
|
5
|
+
http://mars3d.cn/
|
|
6
|
+
|
|
7
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
8
|
+
|
|
9
|
+
1. Definitions.
|
|
10
|
+
|
|
11
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
12
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
13
|
+
|
|
14
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
15
|
+
the copyright owner that is granting the License.
|
|
16
|
+
|
|
17
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
18
|
+
other entities that control, are controlled by, or are under common
|
|
19
|
+
control with that entity. For the purposes of this definition,
|
|
20
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
21
|
+
direction or management of such entity, whether by contract or
|
|
22
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
23
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
24
|
+
|
|
25
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
26
|
+
exercising permissions granted by this License.
|
|
27
|
+
|
|
28
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
29
|
+
including but not limited to software source code, documentation
|
|
30
|
+
source, and configuration files.
|
|
31
|
+
|
|
32
|
+
"Object" form shall mean any form resulting from mechanical
|
|
33
|
+
transformation or translation of a Source form, including but
|
|
34
|
+
not limited to compiled object code, generated documentation,
|
|
35
|
+
and conversions to other media types.
|
|
36
|
+
|
|
37
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
38
|
+
Object form, made available under the License, as indicated by a
|
|
39
|
+
copyright notice that is included in or attached to the work
|
|
40
|
+
(an example is provided in the Appendix below).
|
|
41
|
+
|
|
42
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
43
|
+
form, that is based on (or derived from) the Work and for which the
|
|
44
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
45
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
46
|
+
of this License, Derivative Works shall not include works that remain
|
|
47
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
48
|
+
the Work and Derivative Works thereof.
|
|
49
|
+
|
|
50
|
+
"Contribution" shall mean any work of authorship, including
|
|
51
|
+
the original version of the Work and any modifications or additions
|
|
52
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
53
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
54
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
55
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
56
|
+
means any form of electronic, verbal, or written communication sent
|
|
57
|
+
to the Licensor or its representatives, including but not limited to
|
|
58
|
+
communication on electronic mailing lists, source code control systems,
|
|
59
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
60
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
61
|
+
excluding communication that is conspicuously marked or otherwise
|
|
62
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
63
|
+
|
|
64
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
65
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
66
|
+
subsequently incorporated within the Work.
|
|
67
|
+
|
|
68
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
69
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
70
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
71
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
72
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
73
|
+
Work and such Derivative Works in Source or Object form.
|
|
74
|
+
|
|
75
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
76
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
77
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
78
|
+
(except as stated in this section) patent license to make, have made,
|
|
79
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
80
|
+
where such license applies only to those patent claims licensable
|
|
81
|
+
by such Contributor that are necessarily infringed by their
|
|
82
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
83
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
84
|
+
institute patent litigation against any entity (including a
|
|
85
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
86
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
87
|
+
or contributory patent infringement, then any patent licenses
|
|
88
|
+
granted to You under this License for that Work shall terminate
|
|
89
|
+
as of the date such litigation is filed.
|
|
90
|
+
|
|
91
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
92
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
93
|
+
modifications, and in Source or Object form, provided that You
|
|
94
|
+
meet the following conditions:
|
|
95
|
+
|
|
96
|
+
(a) You must give any other recipients of the Work or
|
|
97
|
+
Derivative Works a copy of this License; and
|
|
98
|
+
|
|
99
|
+
(b) You must cause any modified files to carry prominent notices
|
|
100
|
+
stating that You changed the files; and
|
|
101
|
+
|
|
102
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
103
|
+
that You distribute, all copyright, patent, trademark, and
|
|
104
|
+
attribution notices from the Source form of the Work,
|
|
105
|
+
excluding those notices that do not pertain to any part of
|
|
106
|
+
the Derivative Works; and
|
|
107
|
+
|
|
108
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
109
|
+
distribution, then any Derivative Works that You distribute must
|
|
110
|
+
include a readable copy of the attribution notices contained
|
|
111
|
+
within such NOTICE file, excluding those notices that do not
|
|
112
|
+
pertain to any part of the Derivative Works, in at least one
|
|
113
|
+
of the following places: within a NOTICE text file distributed
|
|
114
|
+
as part of the Derivative Works; within the Source form or
|
|
115
|
+
documentation, if provided along with the Derivative Works; or,
|
|
116
|
+
within a display generated by the Derivative Works, if and
|
|
117
|
+
wherever such third-party notices normally appear. The contents
|
|
118
|
+
of the NOTICE file are for informational purposes only and
|
|
119
|
+
do not modify the License. You may add Your own attribution
|
|
120
|
+
notices within Derivative Works that You distribute, alongside
|
|
121
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
122
|
+
that such additional attribution notices cannot be construed
|
|
123
|
+
as modifying the License.
|
|
124
|
+
|
|
125
|
+
You may add Your own copyright statement to Your modifications and
|
|
126
|
+
may provide additional or different license terms and conditions
|
|
127
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
128
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
129
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
130
|
+
the conditions stated in this License.
|
|
131
|
+
|
|
132
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
133
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
134
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
135
|
+
this License, without any additional terms or conditions.
|
|
136
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
137
|
+
the terms of any separate license agreement you may have executed
|
|
138
|
+
with Licensor regarding such Contributions.
|
|
139
|
+
|
|
140
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
141
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
142
|
+
except as required for reasonable and customary use in describing the
|
|
143
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
144
|
+
|
|
145
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
146
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
147
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
148
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
149
|
+
implied, including, without limitation, any warranties or conditions
|
|
150
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
151
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
152
|
+
appropriateness of using or redistributing the Work and assume any
|
|
153
|
+
risks associated with Your exercise of permissions under this License.
|
|
154
|
+
|
|
155
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
156
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
157
|
+
unless required by applicable law (such as deliberate and grossly
|
|
158
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
159
|
+
liable to You for damages, including any direct, indirect, special,
|
|
160
|
+
incidental, or consequential damages of any character arising as a
|
|
161
|
+
result of this License or out of the use or inability to use the
|
|
162
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
163
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
164
|
+
other commercial damages or losses), even if such Contributor
|
|
165
|
+
has been advised of the possibility of such damages.
|
|
166
|
+
|
|
167
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
168
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
169
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
170
|
+
or other liability obligations and/or rights consistent with this
|
|
171
|
+
License. However, in accepting such obligations, You may act only
|
|
172
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
173
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
174
|
+
defend, and hold each Contributor harmless for any liability
|
|
175
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
176
|
+
of your accepting any such warranty or additional liability.
|
|
177
|
+
|
|
178
|
+
END OF TERMS AND CONDITIONS
|
|
179
|
+
|
|
180
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
181
|
+
|
|
182
|
+
To apply the Apache License to your work, attach the following
|
|
183
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
184
|
+
replaced with your own identifying information. (Don't include
|
|
185
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
186
|
+
comment syntax for the file format. We also recommend that a
|
|
187
|
+
file or class name and description of purpose be included on the
|
|
188
|
+
same "printed page" as the copyright notice for easier
|
|
189
|
+
identification within third-party archives.
|
|
190
|
+
|
|
191
|
+
Copyright [2017-2022] [Hefei Mars Technology Co., LTD., China] http://mars3d.cn/
|
|
192
|
+
|
|
193
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
194
|
+
you may not use this file except in compliance with the License.
|
|
195
|
+
You may obtain a copy of the License at
|
|
196
|
+
|
|
197
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
Unless required by applicable law or agreed to in writing, software
|
|
201
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
202
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
203
|
+
See the License for the specific language governing permissions and
|
|
204
|
+
limitations under the License.
|
|
205
|
+
|
|
206
|
+
|
package/dist/mars3d-wind.js
CHANGED
|
@@ -1,20 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Mars3D平台插件,支持气象 风向图 功能插件
|
|
3
|
-
* 版本信息:v3.2.
|
|
4
|
-
* 编译日期:2022-
|
|
3
|
+
* 版本信息:v3.2.3
|
|
4
|
+
* 编译日期:2022-02-25 10:05:44
|
|
5
5
|
* 版权所有:Copyright by 火星科技 http://mars3d.cn
|
|
6
6
|
*/
|
|
7
7
|
(function webpackUniversalModuleDefinition(window) {
|
|
8
8
|
|
|
9
|
-
let Cesium = window.Cesium //通过index.html的head引入
|
|
10
|
-
if (!Cesium && typeof exports === 'object') {
|
|
11
|
-
Cesium = require('mars3d-cesium') //使用npm安装内置的Cesium
|
|
12
|
-
require('mars3d-cesium/Build/Cesium/Widgets/widgets.css')
|
|
13
|
-
window['Cesium'] = Cesium
|
|
14
|
-
}
|
|
15
|
-
if (!Cesium) {
|
|
16
|
-
console.error('请引入Cesium库,可参考教程:http://mars3d.cn/dev/guide/basics/import.html')
|
|
17
|
-
}
|
|
18
9
|
|
|
19
10
|
|
|
20
11
|
let mars3d = window.mars3d //通过index.html的head引入
|
|
@@ -27,7 +18,7 @@
|
|
|
27
18
|
}
|
|
28
19
|
|
|
29
20
|
|
|
30
|
-
function a0_0x555b(){var _0x54b19a=['dropRateBump','speedFactor','fixedHeight','Color','fromDegrees','tlat','visible','currentParticlesPosition','userInput','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}','getUVByPoint','requestAnimationFrame','once','Set','80gKjdRb','xmin','getUserInput','reverse','calc_speedRate','pointerEvents','green','__proto__','call','iterator','WMS_URL','mouseUp','_particlesNumber','addEventListener','colors','DISABLE_GL_POSITION_LOG_DEPTH','function','DEPTH_COMPONENT','canvasWidth','key','PI_OVER_THREE','_onMouseDownEvent','lighter','ymin','FLOAT','ShaderSource','Object','TRIANGLES','random','container','fromCssColorString','setData','construct','4kEkyVU','all','layer','clampToLatitudeRange','createComputingPrimitives','array','133925HWOpdc','positionWC','_calcStep','STATIC_DRAW','WindLayer','maxParticles','viewRectangleToLonLatRange','toRadians','2CANiAZ','mod','globe','TWO_PI','length','_onMouseUpEvent','canvasContext','globalAlpha','Cartesian3','color','BaseLayer','DrawCommand','particlesComputing','UNSIGNED_INT','reverseY','bind','min','globalCompositeOperation','getContext','createFramebuffer','lineTo','none','_calcUV','fragmentShaderSource','422587vdHqQD','filter','fadeOpacity','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}','updateViewerParameters','particlesRendering','toStringTag','canvasResize','clearFramebuffers','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','getColorTexture','ClearCommand','pixelSize','default','keys','colorNum','isDestroyed','RGBA','object','options','Math','colorTable','getUVByXY','sin','vertexShaderSource','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','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}','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}','getPrototypeOf','mode','uniformMap','update','randomBetween','Geometry','frameTime','round','createWindTextures','destroyParticlesTextures','height','particles','speedRate','createElement','ceil','50GsJKWg','windField','particlesTextureSize','max','fillRect','canrefresh','wgs84ToWindowCoordinates','sham','applyUserInput','test','constructor','xmax','52551rmkONb','fillStyle','_bilinearInterpolation','ymax','lon','red','framebuffer','width','attributeLocations','pow','clientWidth','getOwnPropertyDescriptors','Pass','shaderProgram','symbol','RenderState','removeEventListener','refreshParticles','add','defined','Framebuffer','lonRange','textures','beginPath','visibility','TextureMinificationFilter','segmentsColor','now','destroyObject','clearCommand','apply','destination-in','bindEvent','animateFrame','Sampler','updateSpeed','depthTexture','moveTo','Map','nextTrailsDepth','lng','Matrix4','frameRate','writable','preExecute','LUMINANCE','currentTrails','nextTrailsColor','canvasHeight','getFullscreenQuad','remove','randomParticle','depthTest','nextParticlesPosition','153318dcMsZR','windData','viewerParameters','framebuffers','_mountedHook','left','WindUtil','blue','clientHeight','globeBoundingSphere','LayerUtil','screen','EllipsoidalOccluder','PrimitiveCollection','cancelAnimationFrame','@@iterator','create','Appearance','commandList','lat','defineProperties','windTextures','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','autoClear','scene','removeAll','NEAREST','string','clear','commandToExecute','_tomap','dropRate','vmax','age','//\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}','dimensions','createRawRenderState','cos','umin','absolute','abs','particleSystem','_setOptionsHook','name','geometry','context','hidden','rows','zIndex','particlesTextures','floor','PixelFormat','randomizeParticles','off','PrimitiveType','stroke','RGB','destroy','IDENTITY','mouseDown','setOptions','toDegrees','mars3d','unbindEvent','VertexArray','__esModule','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','style','ZERO','1157ovvNDL','defaultValue','_addedHook','_map','position','slice','particlesWind','defineProperty','TextureMagnificationFilter','createSegmentsGeometry','push','log','18nQnpCA','setPrototypeOf','EventType','BufferUsage','viewport','SceneMode','PI_OVER_TWO','refreshTimer','top','getPixelSize','getU','ellipsoid','applyViewerParameters','LINEAR','forEach','_onMouseMoveEvent','drawingBufferHeight','removeChild','rawRenderState','undefined','PixelDatatype','canvasWind','currentParticlesSpeed','mouse_down','maxAge','from','execute','_speedRate','Texture','toGridXY','fromCache','CanvasWindLayer','_showHook','globeLayer','getSpeed','Compute','rgba(0,\x200,\x200,\x200.97)','mouse_move','computeViewRectangle','mouseMove','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}','getWind','prototype','drawWind','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','outputTexture','tlng','GeometryAttribute','currentTrailsDepth','createTexture','mars3dWind','OPAQUE','32220HeiZUW','postProcessingPosition','arrayBufferView','isInExtent','latRange','lev','register','_maxAge','enumerable','value','THREE_PI_OVER_TWO','primitiveType','grid','704135EYtirr','getDirection','primitives','data','resize','Rectangle','exports','south','SceneTransforms','createParticlesTextures','ALWAYS','trails','wheel','nextTrails','toString','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}','_drawLines','configurable','west','drawingBufferWidth','show','474733bmeFpb','source','nextParticlesSpeed','vdata','fromGeometry','preRender','setGeometry','Draw','auto','lineWidth','valueOf','createCommand','getExtent','SCENE3D','redraw','commandType','_onMapWhellEvent','Cartesian2','_onMap_preRenderEvent','postProcessingSpeed','setAttribute','getOwnPropertySymbols','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}','class','canvasWindy','vertexArray','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}','BoundingSphere','getRandomLatLng','0px','GeometryAttributes','sqrt','getOwnPropertyDescriptor','canvas','addPrimitives','ComponentDatatype','segments','udata','strokeStyle','_pointerEvents','updatePosition','particlesNumber','cols','camera','_removedHook','UNSIGNED_BYTE'];a0_0x555b=function(){return _0x54b19a;};return a0_0x555b();}var a0_0x22ad39=a0_0x21a7;function a0_0x21a7(_0x182db7,_0x408eb6){var _0x555b88=a0_0x555b();return a0_0x21a7=function(_0x21a7a8,_0x1d28d9){_0x21a7a8=_0x21a7a8-0x1f4;var _0x5ee470=_0x555b88[_0x21a7a8];return _0x5ee470;},a0_0x21a7(_0x182db7,_0x408eb6);}(function(_0x2b3f57,_0x56545d){var _0x765f94=a0_0x21a7,_0x43d01b=_0x2b3f57();while(!![]){try{var _0xf5797c=parseInt(_0x765f94(0x252))/0x1+-parseInt(_0x765f94(0x25a))/0x2*(-parseInt(_0x765f94(0x2df))/0x3)+parseInt(_0x765f94(0x24c))/0x4*(-parseInt(_0x765f94(0x371))/0x5)+parseInt(_0x765f94(0x330))/0x6*(parseInt(_0x765f94(0x386))/0x7)+-parseInt(_0x765f94(0x22b))/0x8*(parseInt(_0x765f94(0x2a9))/0x9)+parseInt(_0x765f94(0x29d))/0xa*(parseInt(_0x765f94(0x272))/0xb)+-parseInt(_0x765f94(0x364))/0xc*(parseInt(_0x765f94(0x324))/0xd);if(_0xf5797c===_0x56545d)break;else _0x43d01b['push'](_0x43d01b['shift']());}catch(_0x534636){_0x43d01b['push'](_0x43d01b['shift']());}}}(a0_0x555b,0x22c37),window[a0_0x22ad39(0x362)]=function(_0x5bd776){var _0x3a66ca={};function _0x38d1c7(_0x52ea8e){var _0x10e8f3=a0_0x21a7;if(_0x3a66ca[_0x52ea8e])return _0x3a66ca[_0x52ea8e]['exports'];var _0x5af9e0=_0x3a66ca[_0x52ea8e]={'i':_0x52ea8e,'l':!0x1,'exports':{}};return _0x5bd776[_0x52ea8e][_0x10e8f3(0x233)](_0x5af9e0['exports'],_0x5af9e0,_0x5af9e0[_0x10e8f3(0x377)],_0x38d1c7),_0x5af9e0['l']=!0x0,_0x5af9e0[_0x10e8f3(0x377)];}return _0x38d1c7['m']=_0x5bd776,_0x38d1c7['c']=_0x3a66ca,_0x38d1c7['d']=function(_0x352524,_0x14ec15,_0x14d574){var _0x556d7c=a0_0x21a7;_0x38d1c7['o'](_0x352524,_0x14ec15)||Object[_0x556d7c(0x32b)](_0x352524,_0x14ec15,{'enumerable':!0x0,'get':_0x14d574});},_0x38d1c7['r']=function(_0xd07f1a){var _0x2a3936=a0_0x21a7;_0x2a3936(0x343)!=typeof Symbol&&Symbol[_0x2a3936(0x278)]&&Object[_0x2a3936(0x32b)](_0xd07f1a,Symbol[_0x2a3936(0x278)],{'value':'Module'}),Object[_0x2a3936(0x32b)](_0xd07f1a,'__esModule',{'value':!0x0});},_0x38d1c7['t']=function(_0x2d4d63,_0x15cba7){var _0x367ff3=a0_0x21a7;if(0x1&_0x15cba7&&(_0x2d4d63=_0x38d1c7(_0x2d4d63)),0x8&_0x15cba7)return _0x2d4d63;if(0x4&_0x15cba7&&_0x367ff3(0x284)==typeof _0x2d4d63&&_0x2d4d63&&_0x2d4d63[_0x367ff3(0x320)])return _0x2d4d63;var _0x205602=Object[_0x367ff3(0x2ef)](null);if(_0x38d1c7['r'](_0x205602),Object[_0x367ff3(0x32b)](_0x205602,_0x367ff3(0x27f),{'enumerable':!0x0,'value':_0x2d4d63}),0x2&_0x15cba7&&_0x367ff3(0x2fa)!=typeof _0x2d4d63){for(var _0x244cfb in _0x2d4d63)_0x38d1c7['d'](_0x205602,_0x244cfb,function(_0x1e63a4){return _0x2d4d63[_0x1e63a4];}[_0x367ff3(0x269)](null,_0x244cfb));}return _0x205602;},_0x38d1c7['n']=function(_0x383d3a){var _0x34bfc4=a0_0x21a7,_0x2f421b=_0x383d3a&&_0x383d3a[_0x34bfc4(0x320)]?function(){return _0x383d3a['default'];}:function(){return _0x383d3a;};return _0x38d1c7['d'](_0x2f421b,'a',_0x2f421b),_0x2f421b;},_0x38d1c7['o']=function(_0x2dbdff,_0x254fe1){var _0x55589c=a0_0x21a7;return Object[_0x55589c(0x35a)]['hasOwnProperty'][_0x55589c(0x233)](_0x2dbdff,_0x254fe1);},_0x38d1c7['p']='',_0x38d1c7(_0x38d1c7['s']=0x1b);}([function(_0x2a2696,_0x9d1e11){_0x2a2696['exports']=window['Cesium'];},function(_0x153235,_0x1210e3){var _0x169a56=a0_0x22ad39;_0x153235[_0x169a56(0x377)]=window[_0x169a56(0x31d)];},function(_0x48736f,_0xb1e14e){var _0x5822ee=a0_0x22ad39;_0x48736f[_0x5822ee(0x377)]=function(_0x3d78ca,_0x803921){var _0x1e50b0=_0x5822ee;if(!(_0x3d78ca instanceof _0x803921))throw new TypeError(_0x1e50b0(0x27b));},_0x48736f[_0x5822ee(0x377)][_0x5822ee(0x320)]=!0x0,_0x48736f[_0x5822ee(0x377)][_0x5822ee(0x27f)]=_0x48736f[_0x5822ee(0x377)];},function(_0x375d1a,_0x157596){var _0x51c937=a0_0x22ad39;function _0x4f2ac2(_0x3efa46,_0x5d3a76){var _0x63ba76=a0_0x21a7;for(var _0x1d089b=0x0;_0x1d089b<_0x5d3a76[_0x63ba76(0x25e)];_0x1d089b++){var _0x5d2a2f=_0x5d3a76[_0x1d089b];_0x5d2a2f[_0x63ba76(0x36c)]=_0x5d2a2f[_0x63ba76(0x36c)]||!0x1,_0x5d2a2f[_0x63ba76(0x382)]=!0x0,_0x63ba76(0x36d)in _0x5d2a2f&&(_0x5d2a2f[_0x63ba76(0x2d4)]=!0x0),Object[_0x63ba76(0x32b)](_0x3efa46,_0x5d2a2f[_0x63ba76(0x23e)],_0x5d2a2f);}}_0x375d1a[_0x51c937(0x377)]=function(_0x402908,_0x18cc30,_0x502f48){var _0x4258f4=_0x51c937;return _0x18cc30&&_0x4f2ac2(_0x402908[_0x4258f4(0x35a)],_0x18cc30),_0x502f48&&_0x4f2ac2(_0x402908,_0x502f48),Object[_0x4258f4(0x32b)](_0x402908,_0x4258f4(0x35a),{'writable':!0x1}),_0x402908;},_0x375d1a['exports']['__esModule']=!0x0,_0x375d1a[_0x51c937(0x377)][_0x51c937(0x27f)]=_0x375d1a[_0x51c937(0x377)];},function(_0x3660de,_0x15d78f){var _0xa21b74=a0_0x22ad39;function _0x105a14(_0x2935d2){var _0xc55514=a0_0x21a7;return _0x3660de[_0xc55514(0x377)]=_0x105a14=Object['setPrototypeOf']?Object[_0xc55514(0x28e)]:function(_0x9312c5){var _0x3f1a97=_0xc55514;return _0x9312c5[_0x3f1a97(0x232)]||Object[_0x3f1a97(0x28e)](_0x9312c5);},_0x3660de[_0xc55514(0x377)]['__esModule']=!0x0,_0x3660de['exports'][_0xc55514(0x27f)]=_0x3660de[_0xc55514(0x377)],_0x105a14(_0x2935d2);}_0x3660de[_0xa21b74(0x377)]=_0x105a14,_0x3660de[_0xa21b74(0x377)]['__esModule']=!0x0,_0x3660de[_0xa21b74(0x377)]['default']=_0x3660de[_0xa21b74(0x377)];},function(_0x420b15,_0x2fd29f,_0x43897b){var _0x41c31a=a0_0x22ad39,_0x367dec=_0x43897b(0x17),_0x42ed39=_0x43897b(0x18),_0x1cfcfa=_0x43897b(0x19),_0xe527a3=_0x43897b(0x1a);_0x420b15[_0x41c31a(0x377)]=function(_0x32fc6a){return _0x367dec(_0x32fc6a)||_0x42ed39(_0x32fc6a)||_0x1cfcfa(_0x32fc6a)||_0xe527a3();},_0x420b15['exports'][_0x41c31a(0x320)]=!0x0,_0x420b15[_0x41c31a(0x377)]['default']=_0x420b15['exports'];},function(_0x357910,_0x204345,_0x2cea84){var _0x362310=a0_0x22ad39,_0x109609=_0x2cea84(0x14);_0x357910[_0x362310(0x377)]=function(_0x5d4092,_0xbe6e3){var _0x40df5b=_0x362310;if(_0x40df5b(0x23b)!=typeof _0xbe6e3&&null!==_0xbe6e3)throw new TypeError(_0x40df5b(0x321));Object[_0x40df5b(0x32b)](_0x5d4092,'prototype',{'value':Object['create'](_0xbe6e3&&_0xbe6e3[_0x40df5b(0x35a)],{'constructor':{'value':_0x5d4092,'writable':!0x0,'configurable':!0x0}}),'writable':!0x1}),_0xbe6e3&&_0x109609(_0x5d4092,_0xbe6e3);},_0x357910[_0x362310(0x377)][_0x362310(0x320)]=!0x0,_0x357910[_0x362310(0x377)][_0x362310(0x27f)]=_0x357910[_0x362310(0x377)];},function(_0x2b1adf,_0x57d5be,_0x31607b){var _0xc3e2fe=a0_0x22ad39,_0xacb74d=_0x31607b(0x15)[_0xc3e2fe(0x27f)],_0x24b590=_0x31607b(0x16);_0x2b1adf[_0xc3e2fe(0x377)]=function(_0x1b4415,_0x3615b5){var _0x4c38e8=_0xc3e2fe;if(_0x3615b5&&(_0x4c38e8(0x284)===_0xacb74d(_0x3615b5)||_0x4c38e8(0x23b)==typeof _0x3615b5))return _0x3615b5;if(void 0x0!==_0x3615b5)throw new TypeError(_0x4c38e8(0x35c));return _0x24b590(_0x1b4415);},_0x2b1adf[_0xc3e2fe(0x377)][_0xc3e2fe(0x320)]=!0x0,_0x2b1adf[_0xc3e2fe(0x377)][_0xc3e2fe(0x27f)]=_0x2b1adf[_0xc3e2fe(0x377)];},function(_0x439952,_0x3a20df){var _0x81e259=a0_0x22ad39;_0x439952['exports']=_0x81e259(0x209);},function(_0x3f31bc,_0x1da4d7){var _0x20002c=a0_0x22ad39;_0x3f31bc[_0x20002c(0x377)]=function(_0x21a860,_0x32daf3){var _0x1ecc06=_0x20002c;(null==_0x32daf3||_0x32daf3>_0x21a860[_0x1ecc06(0x25e)])&&(_0x32daf3=_0x21a860[_0x1ecc06(0x25e)]);for(var _0x376758=0x0,_0x2a802c=new Array(_0x32daf3);_0x376758<_0x32daf3;_0x376758++)_0x2a802c[_0x376758]=_0x21a860[_0x376758];return _0x2a802c;},_0x3f31bc[_0x20002c(0x377)][_0x20002c(0x320)]=!0x0,_0x3f31bc[_0x20002c(0x377)][_0x20002c(0x27f)]=_0x3f31bc[_0x20002c(0x377)];},function(_0x52c726,_0x364e88){var _0x3d8efd=a0_0x22ad39;_0x52c726[_0x3d8efd(0x377)]=function(_0x24a001,_0x50ab94,_0x3e358){var _0x363ef4=_0x3d8efd;return _0x50ab94 in _0x24a001?Object[_0x363ef4(0x32b)](_0x24a001,_0x50ab94,{'value':_0x3e358,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}):_0x24a001[_0x50ab94]=_0x3e358,_0x24a001;},_0x52c726[_0x3d8efd(0x377)][_0x3d8efd(0x320)]=!0x0,_0x52c726['exports'][_0x3d8efd(0x27f)]=_0x52c726[_0x3d8efd(0x377)];},function(_0x45fc61,_0xd8a6a5){var _0x21aac6=a0_0x22ad39;_0x45fc61['exports']=_0x21aac6(0x28d);},function(_0x8f9759,_0x148d2d){_0x8f9759['exports']='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(_0x228973,_0x2683cb){var _0x53d97c=a0_0x22ad39;_0x228973['exports']=_0x53d97c(0x226);},function(_0x35a437,_0x5e6c61){var _0x427367=a0_0x22ad39;_0x35a437['exports']=_0x427367(0x275);},function(_0x1458bc,_0x33ae33){var _0x4737af=a0_0x22ad39;_0x1458bc[_0x4737af(0x377)]=_0x4737af(0x301);},function(_0x1d8e8e,_0x1eecf2){var _0x615af0=a0_0x22ad39;_0x1d8e8e[_0x615af0(0x377)]=_0x615af0(0x358);},function(_0x582dfb,_0x4604ff){var _0x357ebd=a0_0x22ad39;_0x582dfb[_0x357ebd(0x377)]=_0x357ebd(0x380);},function(_0x3a3b3f,_0x317ad0){var _0x2b1609=a0_0x22ad39;_0x3a3b3f[_0x2b1609(0x377)]=_0x2b1609(0x205);},function(_0x87802d,_0x2dbce9){var _0x3fccc9=a0_0x22ad39;_0x87802d[_0x3fccc9(0x377)]=_0x3fccc9(0x28c);},function(_0x5af8ea,_0x1d34d6){var _0x336864=a0_0x22ad39;function _0x2fc06e(_0xc12f,_0x2f9f55){var _0x125dfa=a0_0x21a7;return _0x5af8ea[_0x125dfa(0x377)]=_0x2fc06e=Object[_0x125dfa(0x331)]||function(_0x14d023,_0x392f71){var _0x4671ee=_0x125dfa;return _0x14d023[_0x4671ee(0x232)]=_0x392f71,_0x14d023;},_0x5af8ea['exports'][_0x125dfa(0x320)]=!0x0,_0x5af8ea['exports'][_0x125dfa(0x27f)]=_0x5af8ea[_0x125dfa(0x377)],_0x2fc06e(_0xc12f,_0x2f9f55);}_0x5af8ea['exports']=_0x2fc06e,_0x5af8ea[_0x336864(0x377)][_0x336864(0x320)]=!0x0,_0x5af8ea[_0x336864(0x377)][_0x336864(0x27f)]=_0x5af8ea[_0x336864(0x377)];},function(_0x2f5480,_0x43c803){var _0x4a6dfa=a0_0x22ad39;function _0x181a58(_0x19f5e8){var _0x4c6e09=a0_0x21a7;return _0x2f5480[_0x4c6e09(0x377)]=_0x181a58=_0x4c6e09(0x23b)==typeof Symbol&&_0x4c6e09(0x2b7)==typeof Symbol[_0x4c6e09(0x234)]?function(_0x4f6153){return typeof _0x4f6153;}:function(_0x7fa91f){var _0xeac021=_0x4c6e09;return _0x7fa91f&&_0xeac021(0x23b)==typeof Symbol&&_0x7fa91f[_0xeac021(0x2a7)]===Symbol&&_0x7fa91f!==Symbol[_0xeac021(0x35a)]?'symbol':typeof _0x7fa91f;},_0x2f5480['exports'][_0x4c6e09(0x320)]=!0x0,_0x2f5480[_0x4c6e09(0x377)]['default']=_0x2f5480[_0x4c6e09(0x377)],_0x181a58(_0x19f5e8);}_0x2f5480[_0x4a6dfa(0x377)]=_0x181a58,_0x2f5480[_0x4a6dfa(0x377)]['__esModule']=!0x0,_0x2f5480[_0x4a6dfa(0x377)]['default']=_0x2f5480[_0x4a6dfa(0x377)];},function(_0xc51956,_0x31cbc2){var _0x51b029=a0_0x22ad39;_0xc51956[_0x51b029(0x377)]=function(_0x221459){var _0x33389b=_0x51b029;if(void 0x0===_0x221459)throw new ReferenceError(_0x33389b(0x28b));return _0x221459;},_0xc51956[_0x51b029(0x377)][_0x51b029(0x320)]=!0x0,_0xc51956[_0x51b029(0x377)]['default']=_0xc51956[_0x51b029(0x377)];},function(_0x4ccf58,_0x5e38cd,_0x18a613){var _0x559653=a0_0x22ad39,_0x383933=_0x18a613(0x9);_0x4ccf58[_0x559653(0x377)]=function(_0x17808d){if(Array['isArray'](_0x17808d))return _0x383933(_0x17808d);},_0x4ccf58[_0x559653(0x377)][_0x559653(0x320)]=!0x0,_0x4ccf58[_0x559653(0x377)]['default']=_0x4ccf58[_0x559653(0x377)];},function(_0x20dbbb,_0x525fa1){var _0x5b9eab=a0_0x22ad39;_0x20dbbb[_0x5b9eab(0x377)]=function(_0x111f50){var _0x15f9f5=_0x5b9eab;if('undefined'!=typeof Symbol&&null!=_0x111f50[Symbol['iterator']]||null!=_0x111f50[_0x15f9f5(0x2ee)])return Array[_0x15f9f5(0x349)](_0x111f50);},_0x20dbbb[_0x5b9eab(0x377)][_0x5b9eab(0x320)]=!0x0,_0x20dbbb['exports']['default']=_0x20dbbb[_0x5b9eab(0x377)];},function(_0x3412c3,_0x4c3812,_0x118a6d){var _0x233b22=a0_0x22ad39,_0x52a5ed=_0x118a6d(0x9);_0x3412c3['exports']=function(_0x534d57,_0x1f9efa){var _0x2e13f2=a0_0x21a7;if(_0x534d57){if(_0x2e13f2(0x2fa)==typeof _0x534d57)return _0x52a5ed(_0x534d57,_0x1f9efa);var _0xcbb481=Object['prototype'][_0x2e13f2(0x37f)][_0x2e13f2(0x233)](_0x534d57)[_0x2e13f2(0x329)](0x8,-0x1);return _0x2e13f2(0x245)===_0xcbb481&&_0x534d57['constructor']&&(_0xcbb481=_0x534d57[_0x2e13f2(0x2a7)][_0x2e13f2(0x30a)]),_0x2e13f2(0x2cf)===_0xcbb481||_0x2e13f2(0x22a)===_0xcbb481?Array[_0x2e13f2(0x349)](_0x534d57):'Arguments'===_0xcbb481||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[_0x2e13f2(0x2a6)](_0xcbb481)?_0x52a5ed(_0x534d57,_0x1f9efa):void 0x0;}},_0x3412c3[_0x233b22(0x377)][_0x233b22(0x320)]=!0x0,_0x3412c3[_0x233b22(0x377)]['default']=_0x3412c3[_0x233b22(0x377)];},function(_0x22bb5e,_0x4efe80){var _0x46d893=a0_0x22ad39;_0x22bb5e[_0x46d893(0x377)]=function(){throw new TypeError('Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.');},_0x22bb5e[_0x46d893(0x377)][_0x46d893(0x320)]=!0x0,_0x22bb5e[_0x46d893(0x377)][_0x46d893(0x27f)]=_0x22bb5e[_0x46d893(0x377)];},function(_0x52fbb0,_0x1b862f,_0x4c1724){'use strict';var _0x3aa2d6=a0_0x22ad39;_0x4c1724['r'](_0x1b862f),_0x4c1724['d'](_0x1b862f,_0x3aa2d6(0x256),function(){return _0x109e9d;}),_0x4c1724['d'](_0x1b862f,'CanvasWindLayer',function(){return _0x474354;}),_0x4c1724['d'](_0x1b862f,_0x3aa2d6(0x2e5),function(){return _0x4f5185;});var _0x4f5185={};_0x4c1724['r'](_0x4f5185),_0x4c1724['d'](_0x4f5185,_0x3aa2d6(0x33a),function(){return _0x146062;}),_0x4c1724['d'](_0x4f5185,'getV',function(){return _0x1f06e2;}),_0x4c1724['d'](_0x4f5185,_0x3aa2d6(0x352),function(){return _0x450f3f;}),_0x4c1724['d'](_0x4f5185,_0x3aa2d6(0x372),function(){return _0x2cf9c1;});var _0x11e886=_0x4c1724(0x1),_0x212881=_0x4c1724(0x2),_0x2bde55=_0x4c1724['n'](_0x212881),_0x4876a0=_0x4c1724(0x3),_0x17f393=_0x4c1724['n'](_0x4876a0),_0x5e1c11=_0x4c1724(0x6),_0x5d1b83=_0x4c1724['n'](_0x5e1c11),_0x1a9282=_0x4c1724(0x7),_0x4d18bd=_0x4c1724['n'](_0x1a9282),_0x192d63=_0x4c1724(0x4),_0x3bd9d4=_0x4c1724['n'](_0x192d63),_0x49bd3c=_0x4c1724(0x0),_0x3f9b09=_0x4c1724(0x5),_0xdfd249=_0x4c1724['n'](_0x3f9b09),_0x3f1616=_0x4c1724(0xa),_0x32db15=_0x4c1724['n'](_0x3f1616),_0x13b2e7=(function(){var _0x4fe6ae=_0x3aa2d6;function _0x3fab20(_0x1aca49){var _0x2a45bd=a0_0x21a7;_0x2bde55()(this,_0x3fab20),this[_0x2a45bd(0x1fe)]=_0x1aca49[_0x2a45bd(0x1fe)],this[_0x2a45bd(0x30b)]=_0x1aca49['geometry'],this[_0x2a45bd(0x2b1)]=_0x1aca49[_0x2a45bd(0x2b1)],this[_0x2a45bd(0x36f)]=_0x1aca49['primitiveType'],this[_0x2a45bd(0x290)]=_0x1aca49['uniformMap'],this[_0x2a45bd(0x28a)]=_0x1aca49[_0x2a45bd(0x28a)],this[_0x2a45bd(0x271)]=_0x1aca49['fragmentShaderSource'],this['rawRenderState']=_0x1aca49[_0x2a45bd(0x342)],this[_0x2a45bd(0x2af)]=_0x1aca49['framebuffer'],this['outputTexture']=_0x1aca49[_0x2a45bd(0x35d)],this[_0x2a45bd(0x2f6)]=_0x49bd3c['defaultValue'](_0x1aca49[_0x2a45bd(0x2f6)],!0x1),this[_0x2a45bd(0x2d5)]=_0x1aca49[_0x2a45bd(0x2d5)],this[_0x2a45bd(0x385)]=!0x0,this[_0x2a45bd(0x2fc)]=void 0x0,this['clearCommand']=void 0x0,this[_0x2a45bd(0x2f6)]&&(this[_0x2a45bd(0x2c6)]=new _0x49bd3c[(_0x2a45bd(0x27d))]({'color':new _0x49bd3c[(_0x2a45bd(0x220))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x2a45bd(0x2af)],'pass':_0x49bd3c['Pass'][_0x2a45bd(0x363)]}));}return _0x17f393()(_0x3fab20,[{'key':_0x4fe6ae(0x1fa),'value':function(_0x30e6f7){var _0x2c4f68=_0x4fe6ae;switch(this[_0x2c4f68(0x1fe)]){case _0x2c4f68(0x1f6):var _0x104e09=_0x49bd3c[_0x2c4f68(0x31f)]['fromGeometry']({'context':_0x30e6f7,'geometry':this[_0x2c4f68(0x30b)],'attributeLocations':this['attributeLocations'],'bufferUsage':_0x49bd3c[_0x2c4f68(0x333)][_0x2c4f68(0x255)]}),_0x3b7522=_0x49bd3c['ShaderProgram']['fromCache']({'context':_0x30e6f7,'attributeLocations':this[_0x2c4f68(0x2b1)],'vertexShaderSource':this['vertexShaderSource'],'fragmentShaderSource':this[_0x2c4f68(0x271)]}),_0x1074db=_0x49bd3c[_0x2c4f68(0x2b8)][_0x2c4f68(0x34e)](this[_0x2c4f68(0x342)]);return new _0x49bd3c[(_0x2c4f68(0x265))]({'owner':this,'vertexArray':_0x104e09,'primitiveType':this[_0x2c4f68(0x36f)],'uniformMap':this[_0x2c4f68(0x290)],'modelMatrix':_0x49bd3c[_0x2c4f68(0x2d2)][_0x2c4f68(0x319)],'shaderProgram':_0x3b7522,'framebuffer':this[_0x2c4f68(0x2af)],'renderState':_0x1074db,'pass':_0x49bd3c[_0x2c4f68(0x2b5)][_0x2c4f68(0x363)]});case _0x2c4f68(0x353):return new _0x49bd3c['ComputeCommand']({'owner':this,'fragmentShaderSource':this[_0x2c4f68(0x271)],'uniformMap':this[_0x2c4f68(0x290)],'outputTexture':this['outputTexture'],'persists':!0x0});default:return;}}},{'key':_0x4fe6ae(0x1f5),'value':function(_0xaa8bab,_0x36426b){var _0x1b65b1=_0x4fe6ae;this['geometry']=_0x36426b;var _0x5a0eb8=_0x49bd3c['VertexArray'][_0x1b65b1(0x38a)]({'context':_0xaa8bab,'geometry':this[_0x1b65b1(0x30b)],'attributeLocations':this[_0x1b65b1(0x2b1)],'bufferUsage':_0x49bd3c[_0x1b65b1(0x333)][_0x1b65b1(0x255)]});this['commandToExecute']['vertexArray']=_0x5a0eb8;}},{'key':'update','value':function(_0x1a317e){var _0x2af391=_0x4fe6ae;this[_0x2af391(0x385)]&&_0x1a317e[_0x2af391(0x28f)]==_0x49bd3c[_0x2af391(0x335)]['SCENE3D']&&(_0x49bd3c['defined'](this[_0x2af391(0x2fc)])||(this['commandToExecute']=this[_0x2af391(0x1fa)](_0x1a317e[_0x2af391(0x30c)])),_0x49bd3c[_0x2af391(0x2bc)](this['preExecute'])&&this['preExecute'](),_0x49bd3c[_0x2af391(0x2bc)](this[_0x2af391(0x2c6)])&&_0x1a317e[_0x2af391(0x2f1)][_0x2af391(0x32e)](this[_0x2af391(0x2c6)]),_0x1a317e[_0x2af391(0x2f1)]['push'](this[_0x2af391(0x2fc)]));}},{'key':_0x4fe6ae(0x282),'value':function(){return!0x1;}},{'key':_0x4fe6ae(0x318),'value':function(){var _0x3e42c0=_0x4fe6ae;return _0x49bd3c[_0x3e42c0(0x2bc)](this['commandToExecute'])&&(this[_0x3e42c0(0x2fc)][_0x3e42c0(0x2b6)]=this['commandToExecute'][_0x3e42c0(0x2b6)]&&this[_0x3e42c0(0x2fc)][_0x3e42c0(0x2b6)]['destroy']()),_0x49bd3c[_0x3e42c0(0x2c5)](this);}}]),_0x3fab20;}()),_0x415184={'getFullscreenQuad':function(){var _0x1563cc=_0x3aa2d6;return new _0x49bd3c[(_0x1563cc(0x293))]({'attributes':new _0x49bd3c[(_0x1563cc(0x20d))]({'position':new _0x49bd3c[(_0x1563cc(0x35f))]({'componentDatatype':_0x49bd3c[_0x1563cc(0x212)]['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x49bd3c['GeometryAttribute']({'componentDatatype':_0x49bd3c[_0x1563cc(0x212)][_0x1563cc(0x243)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0xbaeb9f,_0x440cbd){var _0x53a201=_0x3aa2d6;if(_0x49bd3c[_0x53a201(0x2bc)](_0x440cbd)){var _0x44c999={};_0x44c999[_0x53a201(0x366)]=_0x440cbd,_0xbaeb9f[_0x53a201(0x387)]=_0x44c999;}return new _0x49bd3c[(_0x53a201(0x34c))](_0xbaeb9f);},'createFramebuffer':function(_0x13fe06,_0x455d91,_0x5f3430){var _0xd41d65=_0x3aa2d6;return new _0x49bd3c[(_0xd41d65(0x2bd))]({'context':_0x13fe06,'colorTextures':[_0x455d91],'depthTexture':_0x5f3430});},'createRawRenderState':function(_0x4a5c60){var _0x7b8c9f=_0x3aa2d6,_0x2c45d7={'viewport':_0x4a5c60[_0x7b8c9f(0x334)],'depthTest':_0x4a5c60[_0x7b8c9f(0x2dd)],'depthMask':_0x4a5c60['depthMask'],'blending':_0x4a5c60['blending']};return _0x49bd3c[_0x7b8c9f(0x2f0)]['getDefaultRenderState'](!0x0,!0x1,_0x2c45d7);},'viewRectangleToLonLatRange':function(_0x37889e){var _0x1e0652=_0x3aa2d6,_0x6feaf4,_0x4374b8,_0x8a9258={},_0x277b70=_0x49bd3c[_0x1e0652(0x286)][_0x1e0652(0x25b)](_0x37889e[_0x1e0652(0x383)],_0x49bd3c['Math'][_0x1e0652(0x25d)]),_0x31e6b3=_0x49bd3c[_0x1e0652(0x286)][_0x1e0652(0x25b)](_0x37889e['east'],_0x49bd3c[_0x1e0652(0x286)]['TWO_PI']),_0x322920=_0x37889e['width'];_0x322920>_0x49bd3c[_0x1e0652(0x286)][_0x1e0652(0x36e)]?(_0x6feaf4=0x0,_0x4374b8=_0x49bd3c['Math'][_0x1e0652(0x25d)]):_0x31e6b3-_0x277b70<_0x322920?(_0x6feaf4=_0x277b70,_0x4374b8=_0x277b70+_0x322920):(_0x6feaf4=_0x277b70,_0x4374b8=_0x31e6b3),_0x8a9258[_0x1e0652(0x2ad)]={'min':_0x49bd3c['Math']['toDegrees'](_0x6feaf4),'max':_0x49bd3c[_0x1e0652(0x286)]['toDegrees'](_0x4374b8)};var _0x197cef=_0x37889e[_0x1e0652(0x378)],_0x44894e=_0x37889e['north'],_0xbc55b7=_0x37889e['height'],_0x44446e=_0xbc55b7>_0x49bd3c['Math']['PI']/0xc?_0xbc55b7/0x2:0x0,_0xfeaad5=_0x49bd3c['Math'][_0x1e0652(0x24f)](_0x197cef-_0x44446e),_0x436e36=_0x49bd3c[_0x1e0652(0x286)][_0x1e0652(0x24f)](_0x44894e+_0x44446e);return _0xfeaad5<-_0x49bd3c[_0x1e0652(0x286)][_0x1e0652(0x23f)]&&(_0xfeaad5=-_0x49bd3c['Math']['PI_OVER_TWO']),_0x436e36>_0x49bd3c[_0x1e0652(0x286)]['PI_OVER_THREE']&&(_0x436e36=_0x49bd3c[_0x1e0652(0x286)][_0x1e0652(0x336)]),_0x8a9258[_0x1e0652(0x2f2)]={'min':_0x49bd3c[_0x1e0652(0x286)][_0x1e0652(0x31c)](_0xfeaad5),'max':_0x49bd3c['Math']['toDegrees'](_0x436e36)},_0x8a9258;}},_0x1e37b2=_0x4c1724(0xb),_0x1592af=_0x4c1724['n'](_0x1e37b2),_0x549a9e=_0x4c1724(0xc),_0x44a7a8=_0x4c1724['n'](_0x549a9e),_0x332e1f=_0x4c1724(0x8),_0x1b3430=_0x4c1724['n'](_0x332e1f),_0x34b864=_0x4c1724(0xd),_0x4803df=_0x4c1724['n'](_0x34b864),_0x3bca52=_0x4c1724(0xe),_0x1fe10e=_0x4c1724['n'](_0x3bca52),_0x46ed5e=(function(){var _0x2f1bee=_0x3aa2d6;function _0x2d8d2d(_0x1c1128,_0xcbcadf,_0x3cc501,_0x5db30c,_0x347327){_0x2bde55()(this,_0x2d8d2d),this['createRenderingTextures'](_0x1c1128,_0xcbcadf),this['createRenderingFramebuffers'](_0x1c1128),this['createRenderingPrimitives'](_0x1c1128,_0x3cc501,_0x5db30c,_0x347327);}return _0x17f393()(_0x2d8d2d,[{'key':'createRenderingTextures','value':function(_0xa254f1,_0x2925f6){var _0x395f52=a0_0x21a7,_0x24055a={'context':_0xa254f1,'width':_0xa254f1[_0x395f52(0x384)],'height':_0xa254f1['drawingBufferHeight'],'pixelFormat':_0x49bd3c[_0x395f52(0x312)][_0x395f52(0x283)],'pixelDatatype':_0x49bd3c[_0x395f52(0x344)][_0x395f52(0x21c)]},_0x260386={'context':_0xa254f1,'width':_0xa254f1[_0x395f52(0x384)],'height':_0xa254f1[_0x395f52(0x340)],'pixelFormat':_0x49bd3c['PixelFormat'][_0x395f52(0x23c)],'pixelDatatype':_0x49bd3c[_0x395f52(0x344)][_0x395f52(0x267)]},_0x13a012={'context':_0xa254f1,'width':_0x2925f6['colorTable'][_0x395f52(0x281)],'height':0x1,'pixelFormat':_0x49bd3c[_0x395f52(0x312)][_0x395f52(0x317)],'pixelDatatype':_0x49bd3c[_0x395f52(0x344)][_0x395f52(0x243)],'sampler':new _0x49bd3c[(_0x395f52(0x2cb))]({'minificationFilter':_0x49bd3c[_0x395f52(0x2c2)][_0x395f52(0x33d)],'magnificationFilter':_0x49bd3c[_0x395f52(0x32c)][_0x395f52(0x33d)]})};this[_0x395f52(0x2bf)]={'segmentsColor':_0x415184['createTexture'](_0x24055a),'segmentsDepth':_0x415184['createTexture'](_0x260386),'currentTrailsColor':_0x415184['createTexture'](_0x24055a),'currentTrailsDepth':_0x415184[_0x395f52(0x361)](_0x260386),'nextTrailsColor':_0x415184[_0x395f52(0x361)](_0x24055a),'nextTrailsDepth':_0x415184[_0x395f52(0x361)](_0x260386),'colorTable':_0x415184['createTexture'](_0x13a012,_0x2925f6[_0x395f52(0x287)][_0x395f52(0x251)])};}},{'key':'createRenderingFramebuffers','value':function(_0x54c1bd){var _0x2618ce=a0_0x21a7;this[_0x2618ce(0x2e2)]={'segments':_0x415184[_0x2618ce(0x26d)](_0x54c1bd,this['textures'][_0x2618ce(0x2c3)],this[_0x2618ce(0x2bf)]['segmentsDepth']),'currentTrails':_0x415184['createFramebuffer'](_0x54c1bd,this[_0x2618ce(0x2bf)]['currentTrailsColor'],this['textures'][_0x2618ce(0x360)]),'nextTrails':_0x415184[_0x2618ce(0x26d)](_0x54c1bd,this[_0x2618ce(0x2bf)][_0x2618ce(0x2d8)],this[_0x2618ce(0x2bf)][_0x2618ce(0x2d0)])};}},{'key':_0x2f1bee(0x32d),'value':function(_0x8b890c){var _0x3b3f9e=_0x2f1bee;for(var _0x312617=[],_0x5ab250=0x0;_0x5ab250<_0x8b890c[_0x3b3f9e(0x29f)];_0x5ab250++)for(var _0xd549c=0x0;_0xd549c<_0x8b890c[_0x3b3f9e(0x29f)];_0xd549c++)for(var _0x3ef7d0=0x0;_0x3ef7d0<0x4;_0x3ef7d0++)_0x312617['push'](_0x5ab250/_0x8b890c[_0x3b3f9e(0x29f)]),_0x312617['push'](_0xd549c/_0x8b890c[_0x3b3f9e(0x29f)]);_0x312617=new Float32Array(_0x312617);for(var _0x2c09b7=[],_0x3be118=[-0x1,0x1],_0xd799b4=[-0x1,0x1],_0x2f727b=0x0;_0x2f727b<_0x8b890c['maxParticles'];_0x2f727b++)for(var _0x7f0e8d=0x0;_0x7f0e8d<0x2;_0x7f0e8d++)for(var _0x3f09b0=0x0;_0x3f09b0<0x2;_0x3f09b0++)_0x2c09b7[_0x3b3f9e(0x32e)](_0x3be118[_0x7f0e8d]),_0x2c09b7[_0x3b3f9e(0x32e)](_0xd799b4[_0x3f09b0]),_0x2c09b7[_0x3b3f9e(0x32e)](0x0);_0x2c09b7=new Float32Array(_0x2c09b7);for(var _0x224b06=0x6*_0x8b890c[_0x3b3f9e(0x257)],_0x520b01=new Uint32Array(_0x224b06),_0x5bfb40=0x0,_0xd3b1c1=0x0,_0x5cfa82=0x0;_0x5bfb40<_0x8b890c[_0x3b3f9e(0x257)];_0x5bfb40++)_0x520b01[_0xd3b1c1++]=_0x5cfa82+0x0,_0x520b01[_0xd3b1c1++]=_0x5cfa82+0x1,_0x520b01[_0xd3b1c1++]=_0x5cfa82+0x2,_0x520b01[_0xd3b1c1++]=_0x5cfa82+0x2,_0x520b01[_0xd3b1c1++]=_0x5cfa82+0x1,_0x520b01[_0xd3b1c1++]=_0x5cfa82+0x3,_0x5cfa82+=0x4;return new _0x49bd3c[(_0x3b3f9e(0x293))]({'attributes':new _0x49bd3c['GeometryAttributes']({'st':new _0x49bd3c[(_0x3b3f9e(0x35f))]({'componentDatatype':_0x49bd3c[_0x3b3f9e(0x212)][_0x3b3f9e(0x243)],'componentsPerAttribute':0x2,'values':_0x312617}),'normal':new _0x49bd3c[(_0x3b3f9e(0x35f))]({'componentDatatype':_0x49bd3c[_0x3b3f9e(0x212)]['FLOAT'],'componentsPerAttribute':0x3,'values':_0x2c09b7})}),'indices':_0x520b01});}},{'key':'createRenderingPrimitives','value':function(_0x51c6d0,_0x40d571,_0x7e9bf4,_0x51033f){var _0x2dfd38=_0x2f1bee,_0x211d20=this;this[_0x2dfd38(0x373)]={'segments':new _0x13b2e7({'commandType':_0x2dfd38(0x1f6),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this[_0x2dfd38(0x32d)](_0x40d571),'primitiveType':_0x49bd3c['PrimitiveType'][_0x2dfd38(0x246)],'uniformMap':{'currentParticlesPosition':function(){var _0x3d1fbf=_0x2dfd38;return _0x51033f[_0x3d1fbf(0x310)][_0x3d1fbf(0x224)];},'postProcessingPosition':function(){var _0x4cf192=_0x2dfd38;return _0x51033f[_0x4cf192(0x310)]['postProcessingPosition'];},'postProcessingSpeed':function(){var _0x5ad94a=_0x2dfd38;return _0x51033f[_0x5ad94a(0x310)][_0x5ad94a(0x202)];},'colorTable':function(){var _0x5dece5=_0x2dfd38;return _0x211d20[_0x5dece5(0x2bf)]['colorTable'];},'aspect':function(){var _0x529ba5=_0x2dfd38;return _0x51c6d0[_0x529ba5(0x384)]/_0x51c6d0[_0x529ba5(0x340)];},'pixelSize':function(){return _0x7e9bf4['pixelSize'];},'lineWidth':function(){var _0x27721c=_0x2dfd38;return _0x40d571[_0x27721c(0x1f8)];},'particleHeight':function(){return _0x40d571['particleHeight'];}},'vertexShaderSource':new _0x49bd3c['ShaderSource']({'sources':[_0x1592af['a']]}),'fragmentShaderSource':new _0x49bd3c[(_0x2dfd38(0x244))]({'sources':[_0x44a7a8['a']]}),'rawRenderState':_0x415184['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x2dfd38(0x2e2)][_0x2dfd38(0x213)],'autoClear':!0x0}),'trails':new _0x13b2e7({'commandType':'Draw','attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x415184[_0x2dfd38(0x2da)](),'primitiveType':_0x49bd3c[_0x2dfd38(0x315)][_0x2dfd38(0x246)],'uniformMap':{'segmentsColorTexture':function(){var _0x5afd7c=_0x2dfd38;return _0x211d20[_0x5afd7c(0x2bf)]['segmentsColor'];},'segmentsDepthTexture':function(){return _0x211d20['textures']['segmentsDepth'];},'currentTrailsColor':function(){var _0x3320e1=_0x2dfd38;return _0x211d20[_0x3320e1(0x2e2)][_0x3320e1(0x2d7)][_0x3320e1(0x27c)](0x0);},'trailsDepthTexture':function(){var _0x58a877=_0x2dfd38;return _0x211d20[_0x58a877(0x2e2)][_0x58a877(0x2d7)][_0x58a877(0x2cd)];},'fadeOpacity':function(){var _0x1cae86=_0x2dfd38;return _0x40d571[_0x1cae86(0x274)];}},'vertexShaderSource':new _0x49bd3c[(_0x2dfd38(0x244))]({'defines':[_0x2dfd38(0x23a)],'sources':[_0x1b3430['a']]}),'fragmentShaderSource':new _0x49bd3c[(_0x2dfd38(0x244))]({'defines':[_0x2dfd38(0x2f5)],'sources':[_0x4803df['a']]}),'rawRenderState':_0x415184[_0x2dfd38(0x303)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x49bd3c['DepthFunction'][_0x2dfd38(0x37b)]},'depthMask':!0x0}),'framebuffer':this['framebuffers'][_0x2dfd38(0x37e)],'autoClear':!0x0,'preExecute':function(){var _0x1a9da7=_0x2dfd38,_0x2281e0;_0x2281e0=_0x211d20[_0x1a9da7(0x2e2)][_0x1a9da7(0x2d7)],_0x211d20[_0x1a9da7(0x2e2)][_0x1a9da7(0x2d7)]=_0x211d20['framebuffers'][_0x1a9da7(0x37e)],_0x211d20[_0x1a9da7(0x2e2)][_0x1a9da7(0x37e)]=_0x2281e0,_0x211d20[_0x1a9da7(0x373)][_0x1a9da7(0x37c)][_0x1a9da7(0x2fc)][_0x1a9da7(0x2af)]=_0x211d20['framebuffers'][_0x1a9da7(0x37e)],_0x211d20[_0x1a9da7(0x373)][_0x1a9da7(0x37c)][_0x1a9da7(0x2c6)][_0x1a9da7(0x2af)]=_0x211d20[_0x1a9da7(0x2e2)][_0x1a9da7(0x37e)];}}),'screen':new _0x13b2e7({'commandType':'Draw','attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x415184[_0x2dfd38(0x2da)](),'primitiveType':_0x49bd3c[_0x2dfd38(0x315)][_0x2dfd38(0x246)],'uniformMap':{'trailsColorTexture':function(){var _0x544443=_0x2dfd38;return _0x211d20['framebuffers'][_0x544443(0x37e)]['getColorTexture'](0x0);},'trailsDepthTexture':function(){var _0xd9aef2=_0x2dfd38;return _0x211d20[_0xd9aef2(0x2e2)][_0xd9aef2(0x37e)][_0xd9aef2(0x2cd)];}},'vertexShaderSource':new _0x49bd3c[(_0x2dfd38(0x244))]({'defines':[_0x2dfd38(0x23a)],'sources':[_0x1b3430['a']]}),'fragmentShaderSource':new _0x49bd3c[(_0x2dfd38(0x244))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[_0x1fe10e['a']]}),'rawRenderState':_0x415184[_0x2dfd38(0x303)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x2d8d2d;}()),_0xc6a47a=_0x4c1724(0xf),_0x3100e8=_0x4c1724['n'](_0xc6a47a),_0x572056=_0x4c1724(0x10),_0x36a91e=_0x4c1724['n'](_0x572056),_0x15d130=_0x4c1724(0x11),_0x1c448e=_0x4c1724['n'](_0x15d130),_0x488534=_0x4c1724(0x12),_0x1bd355=_0x4c1724['n'](_0x488534),_0x1b8ac4=_0x4c1724(0x13),_0x3a09d1=_0x4c1724['n'](_0x1b8ac4),_0x4cbc19=(function(){var _0xf580dd=_0x3aa2d6;function _0xa09625(_0x18c5c7,_0x10228a,_0x317464,_0x17e307){var _0x9716bb=a0_0x21a7;_0x2bde55()(this,_0xa09625),this[_0x9716bb(0x374)]=_0x10228a,this[_0x9716bb(0x296)](_0x18c5c7,_0x10228a),this[_0x9716bb(0x37a)](_0x18c5c7,_0x317464,_0x17e307),this[_0x9716bb(0x250)](_0x10228a,_0x317464,_0x17e307);}return _0x17f393()(_0xa09625,[{'key':_0xf580dd(0x296),'value':function(_0x2883b5,_0x1c0e99){var _0x492a76=_0xf580dd,_0x1d71c2={'context':_0x2883b5,'width':_0x1c0e99['dimensions'][_0x492a76(0x2ad)],'height':_0x1c0e99['dimensions']['lat']*(_0x1c0e99[_0x492a76(0x302)]['lev']||0x1),'pixelFormat':_0x49bd3c['PixelFormat'][_0x492a76(0x2d6)],'pixelDatatype':_0x49bd3c[_0x492a76(0x344)][_0x492a76(0x243)],'flipY':!0x1,'sampler':new _0x49bd3c[(_0x492a76(0x2cb))]({'minificationFilter':_0x49bd3c['TextureMinificationFilter']['NEAREST'],'magnificationFilter':_0x49bd3c[_0x492a76(0x32c)][_0x492a76(0x2f9)]})};this[_0x492a76(0x2f4)]={'U':_0x415184['createTexture'](_0x1d71c2,_0x1c0e99['U']['array']),'V':_0x415184[_0x492a76(0x361)](_0x1d71c2,_0x1c0e99['V'][_0x492a76(0x251)])};}},{'key':_0xf580dd(0x37a),'value':function(_0x292fc8,_0x3e52b4,_0x160c47){var _0x1f59f4=_0xf580dd,_0xc9fe8b={'context':_0x292fc8,'width':_0x3e52b4[_0x1f59f4(0x29f)],'height':_0x3e52b4[_0x1f59f4(0x29f)],'pixelFormat':_0x49bd3c[_0x1f59f4(0x312)]['RGBA'],'pixelDatatype':_0x49bd3c[_0x1f59f4(0x344)]['FLOAT'],'flipY':!0x1,'sampler':new _0x49bd3c[(_0x1f59f4(0x2cb))]({'minificationFilter':_0x49bd3c['TextureMinificationFilter'][_0x1f59f4(0x2f9)],'magnificationFilter':_0x49bd3c[_0x1f59f4(0x32c)]['NEAREST']})},_0xa58a1f=this[_0x1f59f4(0x313)](_0x3e52b4[_0x1f59f4(0x257)],_0x160c47),_0xc73d5e=new Float32Array(0x4*_0x3e52b4[_0x1f59f4(0x257)])['fill'](0x0);this[_0x1f59f4(0x310)]={'particlesWind':_0x415184['createTexture'](_0xc9fe8b),'currentParticlesPosition':_0x415184[_0x1f59f4(0x361)](_0xc9fe8b,_0xa58a1f),'nextParticlesPosition':_0x415184[_0x1f59f4(0x361)](_0xc9fe8b,_0xa58a1f),'currentParticlesSpeed':_0x415184[_0x1f59f4(0x361)](_0xc9fe8b,_0xc73d5e),'nextParticlesSpeed':_0x415184['createTexture'](_0xc9fe8b,_0xc73d5e),'postProcessingPosition':_0x415184[_0x1f59f4(0x361)](_0xc9fe8b,_0xa58a1f),'postProcessingSpeed':_0x415184[_0x1f59f4(0x361)](_0xc9fe8b,_0xc73d5e)};}},{'key':_0xf580dd(0x313),'value':function(_0x2c0461,_0x1686b3){var _0x420bc7=_0xf580dd;for(var _0x15e3d9=new Float32Array(0x4*_0x2c0461),_0x39e6b6=0x0;_0x39e6b6<_0x2c0461;_0x39e6b6++)_0x15e3d9[0x4*_0x39e6b6]=_0x49bd3c[_0x420bc7(0x286)][_0x420bc7(0x292)](_0x1686b3['lonRange']['x'],_0x1686b3[_0x420bc7(0x2be)]['y']),_0x15e3d9[0x4*_0x39e6b6+0x1]=_0x49bd3c[_0x420bc7(0x286)][_0x420bc7(0x292)](_0x1686b3[_0x420bc7(0x368)]['x'],_0x1686b3[_0x420bc7(0x368)]['y']),_0x15e3d9[0x4*_0x39e6b6+0x2]=_0x49bd3c[_0x420bc7(0x286)][_0x420bc7(0x292)](this[_0x420bc7(0x374)][_0x420bc7(0x369)][_0x420bc7(0x26a)],this['data']['lev'][_0x420bc7(0x2a0)]),_0x15e3d9[0x4*_0x39e6b6+0x3]=0x0;return _0x15e3d9;}},{'key':_0xf580dd(0x297),'value':function(){var _0x169d7d=_0xf580dd,_0x1283aa=this;Object[_0x169d7d(0x280)](this[_0x169d7d(0x310)])['forEach'](function(_0x4aba6b){_0x1283aa['particlesTextures'][_0x4aba6b]['destroy']();});}},{'key':_0xf580dd(0x250),'value':function(_0x5dabb9,_0x24d957,_0x3923c4){var _0x33cdd7=_0xf580dd,_0x1da96d=new _0x49bd3c[(_0x33cdd7(0x262))](_0x5dabb9[_0x33cdd7(0x302)][_0x33cdd7(0x2ad)],_0x5dabb9[_0x33cdd7(0x302)][_0x33cdd7(0x2f2)],_0x5dabb9[_0x33cdd7(0x302)][_0x33cdd7(0x369)]),_0xf608c2=new _0x49bd3c[(_0x33cdd7(0x262))](_0x5dabb9[_0x33cdd7(0x2ad)][_0x33cdd7(0x26a)],_0x5dabb9[_0x33cdd7(0x2f2)][_0x33cdd7(0x26a)],_0x5dabb9['lev'][_0x33cdd7(0x26a)]),_0x348e67=new _0x49bd3c[(_0x33cdd7(0x262))](_0x5dabb9[_0x33cdd7(0x2ad)][_0x33cdd7(0x2a0)],_0x5dabb9['lat'][_0x33cdd7(0x2a0)],_0x5dabb9[_0x33cdd7(0x369)]['max']),_0x1e5186=new _0x49bd3c[(_0x33cdd7(0x262))]((_0x348e67['x']-_0xf608c2['x'])/(_0x1da96d['x']-0x1),(_0x348e67['y']-_0xf608c2['y'])/(_0x1da96d['y']-0x1),_0x1da96d['z']>0x1?(_0x348e67['z']-_0xf608c2['z'])/(_0x1da96d['z']-0x1):0x1),_0x304660=new _0x49bd3c[(_0x33cdd7(0x200))](_0x5dabb9['U'][_0x33cdd7(0x26a)],_0x5dabb9['U'][_0x33cdd7(0x2a0)]),_0x1096bc=new _0x49bd3c[(_0x33cdd7(0x200))](_0x5dabb9['V']['min'],_0x5dabb9['V'][_0x33cdd7(0x2a0)]),_0x477848=this;this[_0x33cdd7(0x373)]={'getWind':new _0x13b2e7({'commandType':'Compute','uniformMap':{'U':function(){return _0x477848['windTextures']['U'];},'V':function(){var _0x498dea=_0x33cdd7;return _0x477848[_0x498dea(0x2f4)]['V'];},'currentParticlesPosition':function(){var _0xb299f8=_0x33cdd7;return _0x477848['particlesTextures'][_0xb299f8(0x224)];},'dimension':function(){return _0x1da96d;},'minimum':function(){return _0xf608c2;},'maximum':function(){return _0x348e67;},'interval':function(){return _0x1e5186;}},'fragmentShaderSource':new _0x49bd3c[(_0x33cdd7(0x244))]({'sources':[_0x3100e8['a']]}),'outputTexture':this[_0x33cdd7(0x310)][_0x33cdd7(0x32a)],'preExecute':function(){var _0x4c6204=_0x33cdd7;_0x477848['primitives'][_0x4c6204(0x359)][_0x4c6204(0x2fc)][_0x4c6204(0x35d)]=_0x477848[_0x4c6204(0x310)][_0x4c6204(0x32a)];}}),'updateSpeed':new _0x13b2e7({'commandType':_0x33cdd7(0x353),'uniformMap':{'currentParticlesSpeed':function(){return _0x477848['particlesTextures']['currentParticlesSpeed'];},'particlesWind':function(){var _0xed1ffe=_0x33cdd7;return _0x477848[_0xed1ffe(0x310)][_0xed1ffe(0x32a)];},'uSpeedRange':function(){return _0x304660;},'vSpeedRange':function(){return _0x1096bc;},'pixelSize':function(){return _0x3923c4['pixelSize'];},'speedFactor':function(){return _0x24d957['speedFactor'];}},'fragmentShaderSource':new _0x49bd3c['ShaderSource']({'sources':[_0x36a91e['a']]}),'outputTexture':this[_0x33cdd7(0x310)]['nextParticlesSpeed'],'preExecute':function(){var _0xb572e9=_0x33cdd7,_0x2abe4d;_0x2abe4d=_0x477848[_0xb572e9(0x310)][_0xb572e9(0x346)],_0x477848[_0xb572e9(0x310)][_0xb572e9(0x346)]=_0x477848[_0xb572e9(0x310)]['postProcessingSpeed'],_0x477848['particlesTextures']['postProcessingSpeed']=_0x2abe4d,_0x477848[_0xb572e9(0x373)][_0xb572e9(0x2cc)]['commandToExecute']['outputTexture']=_0x477848[_0xb572e9(0x310)][_0xb572e9(0x388)];}}),'updatePosition':new _0x13b2e7({'commandType':'Compute','uniformMap':{'currentParticlesPosition':function(){var _0x43331e=_0x33cdd7;return _0x477848['particlesTextures'][_0x43331e(0x224)];},'currentParticlesSpeed':function(){var _0x3f9461=_0x33cdd7;return _0x477848[_0x3f9461(0x310)][_0x3f9461(0x346)];}},'fragmentShaderSource':new _0x49bd3c[(_0x33cdd7(0x244))]({'sources':[_0x1c448e['a']]}),'outputTexture':this[_0x33cdd7(0x310)][_0x33cdd7(0x2de)],'preExecute':function(){var _0x153e35=_0x33cdd7,_0x1b4e5c;_0x1b4e5c=_0x477848['particlesTextures'][_0x153e35(0x224)],_0x477848[_0x153e35(0x310)]['currentParticlesPosition']=_0x477848['particlesTextures'][_0x153e35(0x365)],_0x477848[_0x153e35(0x310)][_0x153e35(0x365)]=_0x1b4e5c,_0x477848[_0x153e35(0x373)][_0x153e35(0x217)]['commandToExecute']['outputTexture']=_0x477848[_0x153e35(0x310)][_0x153e35(0x2de)];}}),'postProcessingPosition':new _0x13b2e7({'commandType':_0x33cdd7(0x353),'uniformMap':{'nextParticlesPosition':function(){var _0x2c1422=_0x33cdd7;return _0x477848[_0x2c1422(0x310)][_0x2c1422(0x2de)];},'nextParticlesSpeed':function(){var _0x369c57=_0x33cdd7;return _0x477848[_0x369c57(0x310)][_0x369c57(0x388)];},'lonRange':function(){var _0x52edc0=_0x33cdd7;return _0x3923c4[_0x52edc0(0x2be)];},'latRange':function(){var _0x3b4b53=_0x33cdd7;return _0x3923c4[_0x3b4b53(0x368)];},'randomCoefficient':function(){var _0x4c7c96=Math['random']();return _0x4c7c96;},'dropRate':function(){var _0x427549=_0x33cdd7;return _0x24d957[_0x427549(0x2fe)];},'dropRateBump':function(){var _0x7fec4e=_0x33cdd7;return _0x24d957[_0x7fec4e(0x21d)];}},'fragmentShaderSource':new _0x49bd3c[(_0x33cdd7(0x244))]({'sources':[_0x1bd355['a']]}),'outputTexture':this[_0x33cdd7(0x310)][_0x33cdd7(0x365)],'preExecute':function(){var _0x69846f=_0x33cdd7;_0x477848['primitives'][_0x69846f(0x365)][_0x69846f(0x2fc)][_0x69846f(0x35d)]=_0x477848['particlesTextures'][_0x69846f(0x365)];}}),'postProcessingSpeed':new _0x13b2e7({'commandType':_0x33cdd7(0x353),'uniformMap':{'postProcessingPosition':function(){var _0x2f5de7=_0x33cdd7;return _0x477848[_0x2f5de7(0x310)]['postProcessingPosition'];},'nextParticlesSpeed':function(){var _0xb63d73=_0x33cdd7;return _0x477848[_0xb63d73(0x310)][_0xb63d73(0x388)];}},'fragmentShaderSource':new _0x49bd3c[(_0x33cdd7(0x244))]({'sources':[_0x3a09d1['a']]}),'outputTexture':this[_0x33cdd7(0x310)]['postProcessingSpeed'],'preExecute':function(){var _0x423bd1=_0x33cdd7;_0x477848[_0x423bd1(0x373)][_0x423bd1(0x202)][_0x423bd1(0x2fc)][_0x423bd1(0x35d)]=_0x477848['particlesTextures'][_0x423bd1(0x202)];}})};}}]),_0xa09625;}());function _0x2610f9(_0x476270,_0x527594){var _0x1d444e=_0x3aa2d6,_0x223edb=Object[_0x1d444e(0x280)](_0x476270);if(Object[_0x1d444e(0x204)]){var _0x134765=Object[_0x1d444e(0x204)](_0x476270);_0x527594&&(_0x134765=_0x134765[_0x1d444e(0x273)](function(_0x5d648a){var _0x58eea7=_0x1d444e;return Object[_0x58eea7(0x20f)](_0x476270,_0x5d648a)['enumerable'];})),_0x223edb[_0x1d444e(0x32e)][_0x1d444e(0x2c7)](_0x223edb,_0x134765);}return _0x223edb;}var _0x46798b=(function(){var _0x58e098=_0x3aa2d6;function _0x3f751f(_0x39b07d,_0x962225,_0x57352e,_0x331ba6){var _0x2eb100=a0_0x21a7,_0x260b2b,_0x418759,_0x7a1b7f,_0xd37657,_0xf354a5,_0x13fc76;(_0x2bde55()(this,_0x3f751f),this[_0x2eb100(0x30c)]=_0x39b07d,(_0x962225=function(_0x39d7ab){var _0x5d6773=_0x2eb100;for(var _0xdc8790=0x1;_0xdc8790<arguments[_0x5d6773(0x25e)];_0xdc8790++){var _0x3f66cd=null!=arguments[_0xdc8790]?arguments[_0xdc8790]:{};_0xdc8790%0x2?_0x2610f9(Object(_0x3f66cd),!0x0)[_0x5d6773(0x33e)](function(_0x1810ac){_0x32db15()(_0x39d7ab,_0x1810ac,_0x3f66cd[_0x1810ac]);}):Object[_0x5d6773(0x2b4)]?Object[_0x5d6773(0x2f3)](_0x39d7ab,Object[_0x5d6773(0x2b4)](_0x3f66cd)):_0x2610f9(Object(_0x3f66cd))[_0x5d6773(0x33e)](function(_0x52a2ec){var _0x37a2bf=_0x5d6773;Object[_0x37a2bf(0x32b)](_0x39d7ab,_0x52a2ec,Object[_0x37a2bf(0x20f)](_0x3f66cd,_0x52a2ec));});}return _0x39d7ab;}({},_0x962225))[_0x2eb100(0x214)]&&_0x962225[_0x2eb100(0x389)])&&(_0x962225['dimensions']={},_0x962225[_0x2eb100(0x302)]['lon']=_0x962225[_0x2eb100(0x219)],_0x962225['dimensions']['lat']=_0x962225[_0x2eb100(0x30e)],_0x962225[_0x2eb100(0x302)][_0x2eb100(0x369)]=_0x962225[_0x2eb100(0x369)]||0x1,_0x962225[_0x2eb100(0x2ad)]={},_0x962225[_0x2eb100(0x2ad)]['min']=_0x962225[_0x2eb100(0x22c)],_0x962225[_0x2eb100(0x2ad)][_0x2eb100(0x2a0)]=_0x962225['xmax'],_0x962225[_0x2eb100(0x2f2)]={},_0x962225[_0x2eb100(0x2f2)][_0x2eb100(0x26a)]=_0x962225[_0x2eb100(0x242)],_0x962225['lat'][_0x2eb100(0x2a0)]=_0x962225[_0x2eb100(0x2ac)],_0x962225[_0x2eb100(0x369)]={},_0x962225[_0x2eb100(0x369)]['min']=null!==(_0x260b2b=_0x962225['levmin'])&&void 0x0!==_0x260b2b?_0x260b2b:0x1,_0x962225[_0x2eb100(0x369)][_0x2eb100(0x2a0)]=null!==(_0x418759=_0x962225['levmax'])&&void 0x0!==_0x418759?_0x418759:0x1,_0x962225['U']={},_0x962225['U'][_0x2eb100(0x251)]=new Float32Array(_0x962225['udata']),_0x962225['U'][_0x2eb100(0x26a)]=null!==(_0x7a1b7f=_0x962225[_0x2eb100(0x305)])&&void 0x0!==_0x7a1b7f?_0x7a1b7f:Math['min']['apply'](Math,_0xdfd249()(_0x962225[_0x2eb100(0x214)])),_0x962225['U'][_0x2eb100(0x2a0)]=null!==(_0xd37657=_0x962225['umax'])&&void 0x0!==_0xd37657?_0xd37657:Math[_0x2eb100(0x2a0)][_0x2eb100(0x2c7)](Math,_0xdfd249()(_0x962225[_0x2eb100(0x214)])),_0x962225['V']={},_0x962225['V'][_0x2eb100(0x251)]=new Float32Array(_0x962225[_0x2eb100(0x389)]),_0x962225['V']['min']=null!==(_0xf354a5=_0x962225['vmin'])&&void 0x0!==_0xf354a5?_0xf354a5:Math[_0x2eb100(0x26a)][_0x2eb100(0x2c7)](Math,_0xdfd249()(_0x962225[_0x2eb100(0x389)])),_0x962225['V'][_0x2eb100(0x2a0)]=null!==(_0x13fc76=_0x962225[_0x2eb100(0x2ff)])&&void 0x0!==_0x13fc76?_0x13fc76:Math[_0x2eb100(0x2a0)][_0x2eb100(0x2c7)](Math,_0xdfd249()(_0x962225[_0x2eb100(0x389)])));if(_0x962225['colorTable']||_0x962225[_0x2eb100(0x239)]||(_0x962225['colors']=['rgb(206,255,255)']),_0x962225[_0x2eb100(0x239)]){for(var _0x3bd2ae=_0x962225['colors'][_0x2eb100(0x25e)],_0x2c669c=new Float32Array(0x3*_0x3bd2ae),_0x3d60ea=0x0;_0x3d60ea<_0x3bd2ae;_0x3d60ea++){var _0x4e7ce4=_0x49bd3c[_0x2eb100(0x220)][_0x2eb100(0x249)](_0x962225['colors'][_0x3d60ea]);_0x2c669c[0x3*_0x3d60ea]=_0x4e7ce4[_0x2eb100(0x2ae)],_0x2c669c[0x3*_0x3d60ea+0x1]=_0x4e7ce4[_0x2eb100(0x231)],_0x2c669c[0x3*_0x3d60ea+0x2]=_0x4e7ce4[_0x2eb100(0x2e6)];}_0x962225['colorTable']={'colorNum':_0x3bd2ae,'array':_0x2c669c};}this[_0x2eb100(0x374)]=_0x962225,this[_0x2eb100(0x225)]=_0x57352e,this['viewerParameters']=_0x331ba6,this[_0x2eb100(0x266)]=new _0x4cbc19(this[_0x2eb100(0x30c)],this['data'],this[_0x2eb100(0x225)],this[_0x2eb100(0x2e1)]),this[_0x2eb100(0x277)]=new _0x46ed5e(this['context'],this['data'],this[_0x2eb100(0x225)],this['viewerParameters'],this[_0x2eb100(0x266)]);}return _0x17f393()(_0x3f751f,[{'key':_0x58e098(0x279),'value':function(_0x29711e){var _0x16b12c=_0x58e098,_0x2feb5a=this;this[_0x16b12c(0x266)][_0x16b12c(0x297)](),Object[_0x16b12c(0x280)](this[_0x16b12c(0x266)]['windTextures'])[_0x16b12c(0x33e)](function(_0x4936f6){var _0xb6edae=_0x16b12c;_0x2feb5a[_0xb6edae(0x266)][_0xb6edae(0x2f4)][_0x4936f6][_0xb6edae(0x318)]();}),this[_0x16b12c(0x277)][_0x16b12c(0x2bf)]['colorTable'][_0x16b12c(0x318)](),Object[_0x16b12c(0x280)](this[_0x16b12c(0x277)][_0x16b12c(0x2e2)])[_0x16b12c(0x33e)](function(_0xe3014c){_0x2feb5a['particlesRendering']['framebuffers'][_0xe3014c]['destroy']();}),this[_0x16b12c(0x30c)]=_0x29711e,this[_0x16b12c(0x266)]=new _0x4cbc19(this[_0x16b12c(0x30c)],this['data'],this[_0x16b12c(0x225)],this[_0x16b12c(0x2e1)]),this[_0x16b12c(0x277)]=new _0x46ed5e(this[_0x16b12c(0x30c)],this['data'],this[_0x16b12c(0x225)],this[_0x16b12c(0x2e1)],this[_0x16b12c(0x266)]);}},{'key':_0x58e098(0x27a),'value':function(){var _0x188cce=_0x58e098,_0x54d298=this,_0x3bc277=new _0x49bd3c[(_0x188cce(0x27d))]({'color':new _0x49bd3c[(_0x188cce(0x220))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x49bd3c[_0x188cce(0x2b5)][_0x188cce(0x363)]});Object['keys'](this[_0x188cce(0x277)][_0x188cce(0x2e2)])[_0x188cce(0x33e)](function(_0x152193){var _0x448cba=_0x188cce;_0x3bc277['framebuffer']=_0x54d298[_0x448cba(0x277)]['framebuffers'][_0x152193],_0x3bc277[_0x448cba(0x34a)](_0x54d298['context']);});}},{'key':_0x58e098(0x2ba),'value':function(_0x120627){var _0x1af004=_0x58e098;if(this[_0x1af004(0x27a)](),this['particlesComputing']['destroyParticlesTextures'](),this['particlesComputing'][_0x1af004(0x37a)](this[_0x1af004(0x30c)],this[_0x1af004(0x225)],this[_0x1af004(0x2e1)]),_0x120627){var _0x1a7804=this[_0x1af004(0x277)][_0x1af004(0x32d)](this[_0x1af004(0x225)]);this[_0x1af004(0x277)]['primitives']['segments'][_0x1af004(0x30b)]=_0x1a7804;var _0x563016=_0x49bd3c[_0x1af004(0x31f)][_0x1af004(0x38a)]({'context':this[_0x1af004(0x30c)],'geometry':_0x1a7804,'attributeLocations':this['particlesRendering']['primitives'][_0x1af004(0x213)]['attributeLocations'],'bufferUsage':_0x49bd3c['BufferUsage']['STATIC_DRAW']});this[_0x1af004(0x277)][_0x1af004(0x373)][_0x1af004(0x213)][_0x1af004(0x2fc)][_0x1af004(0x208)]=_0x563016;}}},{'key':_0x58e098(0x2a5),'value':function(_0x27338b){var _0x1cf2df=_0x58e098,_0x49cf5b=this,_0x5d620f=!0x1;this['userInput']['maxParticles']!=_0x27338b[_0x1cf2df(0x257)]&&(_0x5d620f=!0x0),Object['keys'](_0x27338b)[_0x1cf2df(0x33e)](function(_0x3b6a82){var _0x1aa04c=_0x1cf2df;_0x49cf5b[_0x1aa04c(0x225)][_0x3b6a82]=_0x27338b[_0x3b6a82];}),this[_0x1cf2df(0x2ba)](_0x5d620f);}},{'key':_0x58e098(0x33c),'value':function(_0x390951){var _0x377226=_0x58e098,_0x5e3412=this;Object[_0x377226(0x280)](_0x390951)[_0x377226(0x33e)](function(_0x39d25b){var _0x47a4cb=_0x377226;_0x5e3412[_0x47a4cb(0x2e1)][_0x39d25b]=_0x390951[_0x39d25b];}),this['refreshParticles'](!0x1);}}]),_0x3f751f;}());function _0x22bae2(_0x2dfc0f){var _0x69ac29=(function(){var _0x17d972=a0_0x21a7;if(_0x17d972(0x343)==typeof Reflect||!Reflect[_0x17d972(0x24b)])return!0x1;if(Reflect['construct'][_0x17d972(0x2a4)])return!0x1;if(_0x17d972(0x23b)==typeof Proxy)return!0x0;try{return Boolean[_0x17d972(0x35a)][_0x17d972(0x1f9)][_0x17d972(0x233)](Reflect[_0x17d972(0x24b)](Boolean,[],function(){})),!0x0;}catch(_0x464514){return!0x1;}}());return function(){var _0x10110f=a0_0x21a7,_0x3d155c,_0x2e1f5=_0x3bd9d4()(_0x2dfc0f);if(_0x69ac29){var _0x225dd7=_0x3bd9d4()(this)[_0x10110f(0x2a7)];_0x3d155c=Reflect['construct'](_0x2e1f5,arguments,_0x225dd7);}else _0x3d155c=_0x2e1f5['apply'](this,arguments);return _0x4d18bd()(this,_0x3d155c);};}var _0x5e8848=_0x11e886[_0x3aa2d6(0x24e)][_0x3aa2d6(0x264)],_0x3bcfa4=0x1000,_0x1c5814=0x0,_0xf9563c=0.996,_0x10b685=0.003,_0x2d3df9=0.01,_0x3cc49c=0.5,_0x57aefa=0x2,_0x109e9d=function(_0x1bca73){var _0x5843da=_0x3aa2d6;_0x5d1b83()(_0x48e9d3,_0x1bca73);var _0x1486e2=_0x22bae2(_0x48e9d3);function _0x48e9d3(){var _0x1eb31c=a0_0x21a7,_0x2237a7,_0x1a3784=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x2bde55()(this,_0x48e9d3),(_0x2237a7=_0x1486e2[_0x1eb31c(0x233)](this,_0x1a3784))[_0x1eb31c(0x218)]=_0x3bcfa4,_0x2237a7[_0x1eb31c(0x21f)]=_0x1c5814,_0x2237a7[_0x1eb31c(0x274)]=_0xf9563c,_0x2237a7[_0x1eb31c(0x2fe)]=_0x10b685,_0x2237a7[_0x1eb31c(0x21d)]=_0x2d3df9,_0x2237a7[_0x1eb31c(0x21e)]=_0x3cc49c,_0x2237a7[_0x1eb31c(0x1f8)]=_0x57aefa,_0x2237a7[_0x1eb31c(0x309)](_0x1a3784),_0x2237a7;}return _0x17f393()(_0x48e9d3,[{'key':_0x5843da(0x24e),'get':function(){return this['primitives'];}},{'key':_0x5843da(0x374),'get':function(){var _0x11c502=_0x5843da;return this[_0x11c502(0x285)]['data'];},'set':function(_0x163587){var _0x5e81dc=_0x5843da;this[_0x5e81dc(0x24a)](_0x163587);}},{'key':_0x5843da(0x309),'value':function(_0x556715){if(_0x556715){for(var _0x2b1774 in _0x556715)this[_0x2b1774]=_0x556715[_0x2b1774];}}},{'key':_0x5843da(0x2e3),'value':function(){}},{'key':_0x5843da(0x326),'value':function(){var _0xa1ddc=_0x5843da;this[_0xa1ddc(0x2f7)]=this[_0xa1ddc(0x327)][_0xa1ddc(0x2f7)],this['camera']=this[_0xa1ddc(0x327)][_0xa1ddc(0x21a)],this['primitives']=new _0x49bd3c[(_0xa1ddc(0x2ec))](),this[_0xa1ddc(0x327)][_0xa1ddc(0x2f7)][_0xa1ddc(0x373)]['add'](this['primitives']),this[_0xa1ddc(0x2e1)]={'lonRange':new _0x49bd3c[(_0xa1ddc(0x200))](),'latRange':new _0x49bd3c[(_0xa1ddc(0x200))](),'pixelSize':0x0},this[_0xa1ddc(0x2e8)]=new _0x49bd3c[(_0xa1ddc(0x20a))](_0x49bd3c[_0xa1ddc(0x262)][_0xa1ddc(0x323)],6314355.63),this[_0xa1ddc(0x276)](),window[_0xa1ddc(0x238)](_0xa1ddc(0x375),this['resize']['bind'](this),!0x1),this['mouse_down']=!0x1,this[_0xa1ddc(0x355)]=!0x1,this[_0xa1ddc(0x327)]['on'](_0x11e886[_0xa1ddc(0x332)][_0xa1ddc(0x37d)],this['_onMapWhellEvent'],this),this[_0xa1ddc(0x327)]['on'](_0x11e886[_0xa1ddc(0x332)][_0xa1ddc(0x31a)],this[_0xa1ddc(0x240)],this),this['_map']['on'](_0x11e886[_0xa1ddc(0x332)][_0xa1ddc(0x236)],this['_onMouseUpEvent'],this),this['_map']['on'](_0x11e886[_0xa1ddc(0x332)][_0xa1ddc(0x357)],this[_0xa1ddc(0x33f)],this),this[_0xa1ddc(0x285)][_0xa1ddc(0x374)]&&this[_0xa1ddc(0x24a)](this[_0xa1ddc(0x285)]['data']);}},{'key':_0x5843da(0x21b),'value':function(){var _0x37ca91=_0x5843da;window[_0x37ca91(0x2b9)]('resize',this[_0x37ca91(0x375)]),this['_map'][_0x37ca91(0x314)](_0x11e886[_0x37ca91(0x332)][_0x37ca91(0x1f4)],this[_0x37ca91(0x201)],this),this[_0x37ca91(0x327)][_0x37ca91(0x314)](_0x11e886[_0x37ca91(0x332)]['wheel'],this['_onMapWhellEvent'],this),this[_0x37ca91(0x327)]['off'](_0x11e886[_0x37ca91(0x332)][_0x37ca91(0x31a)],this['_onMouseDownEvent'],this),this['_map']['off'](_0x11e886[_0x37ca91(0x332)][_0x37ca91(0x236)],this[_0x37ca91(0x25f)],this),this['_map'][_0x37ca91(0x314)](_0x11e886[_0x37ca91(0x332)][_0x37ca91(0x357)],this[_0x37ca91(0x33f)],this),this[_0x37ca91(0x373)][_0x37ca91(0x2f8)](),this['_map'][_0x37ca91(0x2f7)]['primitives'][_0x37ca91(0x2db)](this[_0x37ca91(0x373)]);}},{'key':'resize','value':function(){var _0x2cfb9f=_0x5843da;this['show']&&this[_0x2cfb9f(0x308)]&&(this[_0x2cfb9f(0x373)][_0x2cfb9f(0x385)]=!0x1,this['primitives']['removeAll'](),this[_0x2cfb9f(0x327)][_0x2cfb9f(0x229)](_0x11e886[_0x2cfb9f(0x332)][_0x2cfb9f(0x1f4)],this['_onMap_preRenderEvent'],this));}},{'key':_0x5843da(0x201),'value':function(_0x510f59){var _0x51a8e5=_0x5843da;this[_0x51a8e5(0x308)][_0x51a8e5(0x279)](this['scene'][_0x51a8e5(0x30c)]),this[_0x51a8e5(0x211)](),this['primitives']['show']=!0x0;}},{'key':_0x5843da(0x1ff),'value':function(_0x12e869){var _0x442909=_0x5843da,_0x5dd0bf=this;clearTimeout(this[_0x442909(0x337)]),this['show']&&this[_0x442909(0x308)]&&(this[_0x442909(0x373)][_0x442909(0x385)]=!0x1,this[_0x442909(0x337)]=setTimeout(function(){var _0x2f0d4d=_0x442909;_0x5dd0bf[_0x2f0d4d(0x385)]&&_0x5dd0bf[_0x2f0d4d(0x1fd)]();},0xc8));}},{'key':_0x5843da(0x240),'value':function(_0x1f678e){var _0x1e78fd=_0x5843da;this[_0x1e78fd(0x347)]=!0x0;}},{'key':_0x5843da(0x33f),'value':function(_0x2393a2){var _0x1e6148=_0x5843da;this[_0x1e6148(0x385)]&&this[_0x1e6148(0x308)]&&this[_0x1e6148(0x347)]&&(this[_0x1e6148(0x373)][_0x1e6148(0x385)]=!0x1,this[_0x1e6148(0x355)]=!0x0);}},{'key':_0x5843da(0x25f),'value':function(_0x4c9097){var _0x50c3e7=_0x5843da;this[_0x50c3e7(0x385)]&&this[_0x50c3e7(0x308)]&&(this[_0x50c3e7(0x347)]&&this[_0x50c3e7(0x355)]&&this[_0x50c3e7(0x1fd)](),this[_0x50c3e7(0x373)][_0x50c3e7(0x385)]=!0x0,this['mouse_down']=!0x1,this[_0x50c3e7(0x355)]=!0x1);}},{'key':_0x5843da(0x1fd),'value':function(){var _0x49c718=_0x5843da;this['_map']&&this[_0x49c718(0x385)]&&(this[_0x49c718(0x276)](),this[_0x49c718(0x308)][_0x49c718(0x33c)](this[_0x49c718(0x2e1)]),this[_0x49c718(0x373)]['show']=!0x0);}},{'key':_0x5843da(0x24a),'value':function(_0x5761ff){var _0x137cb3=_0x5843da;this['options'][_0x137cb3(0x374)]=_0x5761ff,this[_0x137cb3(0x308)]=new _0x46798b(this['scene']['context'],_0x5761ff,this[_0x137cb3(0x22d)](),this['viewerParameters']),this[_0x137cb3(0x211)]();}},{'key':_0x5843da(0x31b),'value':function(_0x2fb88c){var _0x19481e=_0x5843da;if(_0x2fb88c){for(var _0x20f5ef in _0x2fb88c)this[_0x20f5ef]=_0x2fb88c[_0x20f5ef];}return this['particleSystem']&&this[_0x19481e(0x308)][_0x19481e(0x2a5)](this[_0x19481e(0x22d)]()),this;}},{'key':_0x5843da(0x22d),'value':function(){var _0x19b07b=_0x5843da,_0xfe9076=Math[_0x19b07b(0x29c)](Math['sqrt'](this['particlesNumber']));return this[_0x19b07b(0x218)]=_0xfe9076*_0xfe9076,{'particlesTextureSize':_0xfe9076,'maxParticles':this[_0x19b07b(0x218)],'particleHeight':this['fixedHeight'],'fadeOpacity':this[_0x19b07b(0x274)],'dropRate':this[_0x19b07b(0x2fe)],'dropRateBump':this[_0x19b07b(0x21d)],'speedFactor':this[_0x19b07b(0x21e)],'lineWidth':this[_0x19b07b(0x1f8)],'globeLayer':this[_0x19b07b(0x351)],'WMS_URL':this[_0x19b07b(0x235)]};}},{'key':'addPrimitives','value':function(){var _0x45fc4c=_0x5843da;this[_0x45fc4c(0x373)][_0x45fc4c(0x2bb)](this['particleSystem'][_0x45fc4c(0x266)]['primitives']['getWind']),this[_0x45fc4c(0x373)][_0x45fc4c(0x2bb)](this[_0x45fc4c(0x308)][_0x45fc4c(0x266)][_0x45fc4c(0x373)][_0x45fc4c(0x2cc)]),this[_0x45fc4c(0x373)]['add'](this['particleSystem']['particlesComputing'][_0x45fc4c(0x373)]['updatePosition']),this[_0x45fc4c(0x373)][_0x45fc4c(0x2bb)](this['particleSystem']['particlesComputing'][_0x45fc4c(0x373)][_0x45fc4c(0x365)]),this[_0x45fc4c(0x373)][_0x45fc4c(0x2bb)](this[_0x45fc4c(0x308)][_0x45fc4c(0x266)][_0x45fc4c(0x373)]['postProcessingSpeed']),this[_0x45fc4c(0x373)][_0x45fc4c(0x2bb)](this[_0x45fc4c(0x308)]['particlesRendering'][_0x45fc4c(0x373)][_0x45fc4c(0x213)]),this[_0x45fc4c(0x373)][_0x45fc4c(0x2bb)](this[_0x45fc4c(0x308)][_0x45fc4c(0x277)][_0x45fc4c(0x373)][_0x45fc4c(0x37c)]),this[_0x45fc4c(0x373)][_0x45fc4c(0x2bb)](this[_0x45fc4c(0x308)]['particlesRendering'][_0x45fc4c(0x373)][_0x45fc4c(0x2ea)]);}},{'key':'updateViewerParameters','value':function(){var _0x9e4a2e=_0x5843da,_0x4c5ab8=this['camera'][_0x9e4a2e(0x356)](this['scene'][_0x9e4a2e(0x25c)][_0x9e4a2e(0x33b)]);if(!_0x4c5ab8){var _0x35eee3=this[_0x9e4a2e(0x327)][_0x9e4a2e(0x1fb)]();_0x4c5ab8=_0x49bd3c[_0x9e4a2e(0x376)][_0x9e4a2e(0x221)](_0x35eee3[_0x9e4a2e(0x22c)],_0x35eee3[_0x9e4a2e(0x242)],_0x35eee3['xmax'],_0x35eee3[_0x9e4a2e(0x2ac)]);}var _0x38fbab=_0x415184[_0x9e4a2e(0x258)](_0x4c5ab8);this[_0x9e4a2e(0x2e1)][_0x9e4a2e(0x2be)]['x']=_0x38fbab['lon'][_0x9e4a2e(0x26a)],this[_0x9e4a2e(0x2e1)][_0x9e4a2e(0x2be)]['y']=_0x38fbab['lon'][_0x9e4a2e(0x2a0)],this['viewerParameters']['latRange']['x']=_0x38fbab[_0x9e4a2e(0x2f2)][_0x9e4a2e(0x26a)],this[_0x9e4a2e(0x2e1)]['latRange']['y']=_0x38fbab['lat'][_0x9e4a2e(0x2a0)];var _0x9d66a=this[_0x9e4a2e(0x21a)][_0x9e4a2e(0x339)](this['globeBoundingSphere'],this[_0x9e4a2e(0x2f7)][_0x9e4a2e(0x384)],this[_0x9e4a2e(0x2f7)][_0x9e4a2e(0x340)]);_0x9d66a>0x0&&(this[_0x9e4a2e(0x2e1)][_0x9e4a2e(0x27e)]=_0x9d66a);}}]),_0x48e9d3;}(_0x5e8848);_0x11e886[_0x3aa2d6(0x2e9)][_0x3aa2d6(0x36a)]('wind',_0x109e9d),_0x11e886[_0x3aa2d6(0x24e)][_0x3aa2d6(0x256)]=_0x109e9d;var _0x50ea5e=_0x17f393()(function _0x2322c6(){var _0x8f79b9=_0x3aa2d6;_0x2bde55()(this,_0x2322c6),this[_0x8f79b9(0x2d1)]=null,this['lat']=null,this[_0x8f79b9(0x35e)]=null,this[_0x8f79b9(0x222)]=null,this[_0x8f79b9(0x300)]=null;}),_0xf36a12=(function(){var _0x23d3b2=_0x3aa2d6;function _0x4d6956(_0x13ca1c,_0x142c3c){var _0x225fb3=a0_0x21a7;_0x2bde55()(this,_0x4d6956),this['rows']=_0x13ca1c[_0x225fb3(0x30e)],this[_0x225fb3(0x219)]=_0x13ca1c['cols'],this[_0x225fb3(0x22c)]=_0x13ca1c['xmin'],this[_0x225fb3(0x2a8)]=_0x13ca1c[_0x225fb3(0x2a8)],this[_0x225fb3(0x242)]=_0x13ca1c['ymin'],this[_0x225fb3(0x2ac)]=_0x13ca1c[_0x225fb3(0x2ac)],this[_0x225fb3(0x370)]=[];var _0x589c01=_0x13ca1c[_0x225fb3(0x214)],_0x2eb19a=_0x13ca1c[_0x225fb3(0x389)],_0x418298=!0x1;_0x589c01['length']===this[_0x225fb3(0x30e)]&&_0x589c01[0x0][_0x225fb3(0x25e)]===this[_0x225fb3(0x219)]&&(_0x418298=!0x0);for(var _0x30b18e=0x0,_0x398762=null,_0x4d0004=null,_0x1dade6=0x0;_0x1dade6<this['rows'];_0x1dade6++){_0x398762=[];for(var _0x549153=0x0;_0x549153<this[_0x225fb3(0x219)];_0x549153++,_0x30b18e++)_0x4d0004=_0x418298?this[_0x225fb3(0x270)](_0x589c01[_0x1dade6][_0x549153],_0x2eb19a[_0x1dade6][_0x549153]):this['_calcUV'](_0x589c01[_0x30b18e],_0x2eb19a[_0x30b18e]),_0x398762[_0x225fb3(0x32e)](_0x4d0004);this[_0x225fb3(0x370)][_0x225fb3(0x32e)](_0x398762);}_0x142c3c&&this[_0x225fb3(0x370)][_0x225fb3(0x22e)]();}return _0x17f393()(_0x4d6956,[{'key':_0x23d3b2(0x34d),'value':function(_0x17c5a9,_0x29f27a){var _0x7d6ab2=_0x23d3b2;return{'x':(_0x17c5a9-this['xmin'])/(this[_0x7d6ab2(0x2a8)]-this[_0x7d6ab2(0x22c)])*(this[_0x7d6ab2(0x219)]-0x1),'y':(this[_0x7d6ab2(0x2ac)]-_0x29f27a)/(this[_0x7d6ab2(0x2ac)]-this[_0x7d6ab2(0x242)])*(this[_0x7d6ab2(0x30e)]-0x1)};}},{'key':_0x23d3b2(0x288),'value':function(_0x30af43,_0x33ec97){var _0x4530d6=_0x23d3b2;if(_0x30af43<0x0||_0x30af43>=this[_0x4530d6(0x219)]||_0x33ec97>=this['rows'])return[0x0,0x0,0x0];var _0x47232e,_0x2c6375,_0x29ccde=Math['floor'](_0x30af43),_0x46c62c=Math[_0x4530d6(0x311)](_0x33ec97);if(_0x29ccde===_0x30af43&&_0x46c62c===_0x33ec97)return this['grid'][_0x33ec97][_0x30af43];_0x47232e=_0x29ccde+0x1,_0x2c6375=_0x46c62c+0x1;var _0x51ef94=this[_0x4530d6(0x288)](_0x29ccde,_0x46c62c),_0x3d020d=this[_0x4530d6(0x288)](_0x47232e,_0x46c62c),_0x278ac1=this[_0x4530d6(0x288)](_0x29ccde,_0x2c6375),_0x39db09=this[_0x4530d6(0x288)](_0x47232e,_0x2c6375),_0x35c375=null;try{_0x35c375=this['_bilinearInterpolation'](_0x30af43-_0x29ccde,_0x33ec97-_0x46c62c,_0x51ef94,_0x3d020d,_0x278ac1,_0x39db09);}catch(_0x4ab9d8){console[_0x4530d6(0x32f)](_0x30af43,_0x33ec97);}return _0x35c375;}},{'key':_0x23d3b2(0x2ab),'value':function(_0xacf4e2,_0x246a18,_0x49c873,_0x305892,_0x16cdca,_0x4ef959){var _0x5795f6=0x1-_0xacf4e2,_0x588984=0x1-_0x246a18,_0x4dfbfb=_0x5795f6*_0x588984,_0x13335e=_0xacf4e2*_0x588984,_0x507aaa=_0x5795f6*_0x246a18,_0x1066f8=_0xacf4e2*_0x246a18,_0x335020=_0x49c873[0x0]*_0x4dfbfb+_0x305892[0x0]*_0x13335e+_0x16cdca[0x0]*_0x507aaa+_0x4ef959[0x0]*_0x1066f8,_0x397919=_0x49c873[0x1]*_0x4dfbfb+_0x305892[0x1]*_0x13335e+_0x16cdca[0x1]*_0x507aaa+_0x4ef959[0x1]*_0x1066f8;return this['_calcUV'](_0x335020,_0x397919);}},{'key':'_calcUV','value':function(_0x93eb03,_0x12908a){var _0x5c7e79=_0x23d3b2;return[+_0x93eb03,+_0x12908a,Math[_0x5c7e79(0x20e)](_0x93eb03*_0x93eb03+_0x12908a*_0x12908a)];}},{'key':_0x23d3b2(0x227),'value':function(_0x3e83b0,_0x5a0c0b){var _0x5da210=_0x23d3b2;if(!this['isInExtent'](_0x3e83b0,_0x5a0c0b))return null;var _0x420c06=this[_0x5da210(0x34d)](_0x3e83b0,_0x5a0c0b);return this[_0x5da210(0x288)](_0x420c06['x'],_0x420c06['y']);}},{'key':_0x23d3b2(0x367),'value':function(_0xa2ab37,_0x5817a8){var _0x4b0472=_0x23d3b2;return _0xa2ab37>=this[_0x4b0472(0x22c)]&&_0xa2ab37<=this[_0x4b0472(0x2a8)]&&_0x5817a8>=this[_0x4b0472(0x242)]&&_0x5817a8<=this['ymax'];}},{'key':_0x23d3b2(0x20b),'value':function(){var _0x347bf9=_0x23d3b2,_0x53415a=_0x414b7b(this[_0x347bf9(0x22c)],this[_0x347bf9(0x2a8)]);return{'lat':_0x414b7b(this[_0x347bf9(0x242)],this['ymax']),'lng':_0x53415a};}}]),_0x4d6956;}());function _0x414b7b(_0x33277a,_0x4545c0){var _0x1973b1=_0x3aa2d6;return _0x33277a+Math[_0x1973b1(0x247)]()*(_0x4545c0-_0x33277a);}function _0x2d9405(_0x3a6b57){var _0x4f002e=(function(){var _0x3e0c7b=a0_0x21a7;if('undefined'==typeof Reflect||!Reflect[_0x3e0c7b(0x24b)])return!0x1;if(Reflect[_0x3e0c7b(0x24b)][_0x3e0c7b(0x2a4)])return!0x1;if(_0x3e0c7b(0x23b)==typeof Proxy)return!0x0;try{return Boolean[_0x3e0c7b(0x35a)][_0x3e0c7b(0x1f9)][_0x3e0c7b(0x233)](Reflect[_0x3e0c7b(0x24b)](Boolean,[],function(){})),!0x0;}catch(_0x56183c){return!0x1;}}());return function(){var _0x5effc9=a0_0x21a7,_0x155841,_0x41f2a4=_0x3bd9d4()(_0x3a6b57);if(_0x4f002e){var _0x2ac49c=_0x3bd9d4()(this)[_0x5effc9(0x2a7)];_0x155841=Reflect['construct'](_0x41f2a4,arguments,_0x2ac49c);}else _0x155841=_0x41f2a4[_0x5effc9(0x2c7)](this,arguments);return _0x4d18bd()(this,_0x155841);};}var _0x474354=function(_0x43a5da){var _0x240bf6=_0x3aa2d6;_0x5d1b83()(_0x14762d,_0x43a5da);var _0x13f217=_0x2d9405(_0x14762d);function _0x14762d(){var _0x5152da=a0_0x21a7,_0x55a131,_0x531bd6=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x2bde55()(this,_0x14762d),(_0x55a131=_0x13f217['call'](this,_0x531bd6))[_0x5152da(0x309)](_0x531bd6),_0x55a131[_0x5152da(0x210)]=null,_0x55a131;}return _0x17f393()(_0x14762d,[{'key':_0x240bf6(0x309),'value':function(_0x1694bd){var _0x3cdfe7=_0x240bf6;this[_0x3cdfe7(0x22f)]=[0x0,0x0],this[_0x3cdfe7(0x299)]=[],this['speedRate']=_0x1694bd[_0x3cdfe7(0x29a)]||0x32,this[_0x3cdfe7(0x237)]=_0x1694bd[_0x3cdfe7(0x218)]||0x1000,this['_maxAge']=_0x1694bd[_0x3cdfe7(0x348)]||0x78,this[_0x3cdfe7(0x294)]=0x3e8/(_0x1694bd[_0x3cdfe7(0x2d3)]||0xa),this[_0x3cdfe7(0x216)]=_0x49bd3c[_0x3cdfe7(0x325)](this[_0x3cdfe7(0x285)][_0x3cdfe7(0x230)],!0x1),this[_0x3cdfe7(0x263)]=_0x1694bd[_0x3cdfe7(0x263)]||'#ffffff',this[_0x3cdfe7(0x1f8)]=_0x1694bd['lineWidth']||0x1,this[_0x3cdfe7(0x21f)]=_0x49bd3c['defaultValue'](_0x1694bd[_0x3cdfe7(0x21f)],0x0),this[_0x3cdfe7(0x268)]=_0x49bd3c[_0x3cdfe7(0x325)](_0x1694bd[_0x3cdfe7(0x268)],!0x1);}},{'key':_0x240bf6(0x24e),'get':function(){var _0xb42536=_0x240bf6;return this[_0xb42536(0x210)];}},{'key':_0x240bf6(0x23d),'get':function(){var _0x10918a=_0x240bf6;return this[_0x10918a(0x327)][_0x10918a(0x2f7)][_0x10918a(0x210)][_0x10918a(0x2b3)];}},{'key':'canvasHeight','get':function(){var _0x15412=_0x240bf6;return this[_0x15412(0x327)][_0x15412(0x2f7)]['canvas']['clientHeight'];}},{'key':_0x240bf6(0x230),'get':function(){var _0x1d6e56=_0x240bf6;return this[_0x1d6e56(0x216)];},'set':function(_0x1cf2fc){var _0x4a6886=_0x240bf6;this[_0x4a6886(0x216)]=_0x1cf2fc,this[_0x4a6886(0x210)]&&(this[_0x4a6886(0x210)][_0x4a6886(0x322)]['pointer-events']=_0x1cf2fc?_0x4a6886(0x24d):_0x4a6886(0x26f));}},{'key':_0x240bf6(0x29a),'get':function(){var _0x5f3d72=_0x240bf6;return this[_0x5f3d72(0x34b)];},'set':function(_0x53fa7d){var _0xdbfa1f=_0x240bf6;this[_0xdbfa1f(0x34b)]=0x64*(0x64-(_0x53fa7d>0x63?0x63:_0x53fa7d)),this[_0xdbfa1f(0x254)]();}},{'key':_0x240bf6(0x218),'get':function(){var _0x1e8c9c=_0x240bf6;return this[_0x1e8c9c(0x237)];},'set':function(_0x4e6975){var _0x1de0aa=_0x240bf6,_0x357024=this;this[_0x1de0aa(0x237)]=_0x4e6975,clearTimeout(this[_0x1de0aa(0x2a2)]),this[_0x1de0aa(0x2a2)]=setTimeout(function(){var _0x4d5985=_0x1de0aa;_0x357024[_0x4d5985(0x1fd)]();},0x1f4);}},{'key':'maxAge','get':function(){return this['_maxAge'];},'set':function(_0x24ce8c){var _0x5b4ecd=_0x240bf6,_0x190d28=this;this[_0x5b4ecd(0x36b)]=_0x24ce8c,clearTimeout(this[_0x5b4ecd(0x2a2)]),this[_0x5b4ecd(0x2a2)]=setTimeout(function(){var _0x102933=_0x5b4ecd;_0x190d28[_0x102933(0x1fd)]();},0x1f4);}},{'key':'data','get':function(){var _0x2479c5=_0x240bf6;return this[_0x2479c5(0x2e0)];},'set':function(_0x1b3e89){var _0x445232=_0x240bf6;this[_0x445232(0x24a)](_0x1b3e89);}},{'key':_0x240bf6(0x350),'value':function(_0x12133b){var _0x1056aa=_0x240bf6;_0x12133b?this[_0x1056aa(0x326)]():(this[_0x1056aa(0x2e0)]&&(this['options'][_0x1056aa(0x374)]=this[_0x1056aa(0x2e0)]),this['_removedHook']());}},{'key':'_mountedHook','value':function(){}},{'key':_0x240bf6(0x326),'value':function(){var _0x3622c1=_0x240bf6;this[_0x3622c1(0x210)]=this['_createCanvas'](),this['canvasContext']=this['canvas'][_0x3622c1(0x26c)]('2d'),this[_0x3622c1(0x2c9)](),this[_0x3622c1(0x285)][_0x3622c1(0x374)]&&this[_0x3622c1(0x24a)](this[_0x3622c1(0x285)][_0x3622c1(0x374)]);}},{'key':_0x240bf6(0x21b),'value':function(){var _0x5d3f91=_0x240bf6;this['clear'](),this[_0x5d3f91(0x31e)](),this[_0x5d3f91(0x210)]&&(this[_0x5d3f91(0x327)][_0x5d3f91(0x248)][_0x5d3f91(0x341)](this['canvas']),delete this[_0x5d3f91(0x210)]);}},{'key':'_createCanvas','value':function(){var _0x3536d7=_0x240bf6,_0x4fed28=document[_0x3536d7(0x29b)](_0x3536d7(0x210));_0x4fed28['style'][_0x3536d7(0x328)]=_0x3536d7(0x306),_0x4fed28[_0x3536d7(0x322)][_0x3536d7(0x338)]='0px',_0x4fed28[_0x3536d7(0x322)][_0x3536d7(0x2e4)]=_0x3536d7(0x20c),_0x4fed28[_0x3536d7(0x322)][_0x3536d7(0x2b0)]='100%',_0x4fed28[_0x3536d7(0x322)]['height']='100%',_0x4fed28['style']['pointerEvents']=this['_pointerEvents']?_0x3536d7(0x1f7):_0x3536d7(0x26f),_0x4fed28[_0x3536d7(0x322)][_0x3536d7(0x30f)]=0xa,_0x4fed28[_0x3536d7(0x203)]('id',_0x3536d7(0x207)),_0x4fed28[_0x3536d7(0x203)](_0x3536d7(0x206),'canvasWindy'),this['_map'][_0x3536d7(0x248)]['appendChild'](_0x4fed28);var _0x1d7617=this['_map'][_0x3536d7(0x2f7)];return _0x4fed28[_0x3536d7(0x2b0)]=_0x1d7617['canvas'][_0x3536d7(0x2b3)],_0x4fed28[_0x3536d7(0x298)]=_0x1d7617[_0x3536d7(0x210)][_0x3536d7(0x2e7)],_0x4fed28;}},{'key':'resize','value':function(){var _0x2d3bfe=_0x240bf6;this['canvas']&&(this[_0x2d3bfe(0x210)][_0x2d3bfe(0x2b0)]=this[_0x2d3bfe(0x23d)],this[_0x2d3bfe(0x210)][_0x2d3bfe(0x298)]=this[_0x2d3bfe(0x2d9)]);}},{'key':_0x240bf6(0x2c9),'value':function(){var _0x56d7c3=_0x240bf6,_0x4a3aaf=this,_0x59fe90=Date[_0x56d7c3(0x2c4)]();!function _0x3e652e(){var _0x2fba39=_0x56d7c3;_0x4a3aaf[_0x2fba39(0x2ca)]=window[_0x2fba39(0x228)](_0x3e652e);var _0x2f72a0=Date['now'](),_0x26e4bc=_0x2f72a0-_0x59fe90;_0x26e4bc>_0x4a3aaf[_0x2fba39(0x294)]&&(_0x59fe90=_0x2f72a0-_0x26e4bc%_0x4a3aaf[_0x2fba39(0x294)],_0x4a3aaf[_0x2fba39(0x291)]());}(),window[_0x56d7c3(0x238)](_0x56d7c3(0x375),this[_0x56d7c3(0x375)][_0x56d7c3(0x269)](this),!0x1),this[_0x56d7c3(0x347)]=!0x1,this[_0x56d7c3(0x355)]=!0x1,this[_0x56d7c3(0x327)]['on'](_0x11e886[_0x56d7c3(0x332)][_0x56d7c3(0x37d)],this[_0x56d7c3(0x1ff)],this),this[_0x56d7c3(0x327)]['on'](_0x11e886[_0x56d7c3(0x332)]['mouseDown'],this[_0x56d7c3(0x240)],this),this[_0x56d7c3(0x327)]['on'](_0x11e886['EventType']['mouseUp'],this[_0x56d7c3(0x25f)],this),this[_0x56d7c3(0x327)]['on'](_0x11e886['EventType'][_0x56d7c3(0x357)],this[_0x56d7c3(0x33f)],this);}},{'key':'unbindEvent','value':function(){var _0x405b80=_0x240bf6;window[_0x405b80(0x2ed)](this[_0x405b80(0x2ca)]),delete this[_0x405b80(0x2ca)],window[_0x405b80(0x2b9)](_0x405b80(0x375),this[_0x405b80(0x375)]),this[_0x405b80(0x327)][_0x405b80(0x314)](_0x11e886[_0x405b80(0x332)][_0x405b80(0x37d)],this[_0x405b80(0x1ff)],this),this[_0x405b80(0x327)][_0x405b80(0x314)](_0x11e886[_0x405b80(0x332)][_0x405b80(0x31a)],this[_0x405b80(0x240)],this),this['_map'][_0x405b80(0x314)](_0x11e886[_0x405b80(0x332)]['mouseUp'],this[_0x405b80(0x25f)],this),this['_map'][_0x405b80(0x314)](_0x11e886[_0x405b80(0x332)][_0x405b80(0x357)],this[_0x405b80(0x33f)],this);}},{'key':'_onMapWhellEvent','value':function(_0x4a261e){var _0x8bad1a=_0x240bf6,_0x58b16c=this;clearTimeout(this['refreshTimer']),this[_0x8bad1a(0x385)]&&this['canvas']&&(this[_0x8bad1a(0x210)]['style'][_0x8bad1a(0x2c1)]=_0x8bad1a(0x30d),this['refreshTimer']=setTimeout(function(){var _0x5f5d2a=_0x8bad1a;_0x58b16c['show']&&(_0x58b16c[_0x5f5d2a(0x1fd)](),_0x58b16c[_0x5f5d2a(0x210)]['style']['visibility']=_0x5f5d2a(0x223));},0xc8));}},{'key':_0x240bf6(0x240),'value':function(_0x2220e3){var _0xf7f6f2=_0x240bf6;this[_0xf7f6f2(0x347)]=!0x0;}},{'key':'_onMouseMoveEvent','value':function(_0x21f0d7){var _0x5b8b1e=_0x240bf6;this[_0x5b8b1e(0x385)]&&this[_0x5b8b1e(0x210)]&&this['mouse_down']&&(this['canvas']['style']['visibility']=_0x5b8b1e(0x30d),this[_0x5b8b1e(0x355)]=!0x0);}},{'key':_0x240bf6(0x25f),'value':function(_0x36cc10){var _0x36d877=_0x240bf6;this[_0x36d877(0x385)]&&this[_0x36d877(0x210)]&&(this['mouse_down']&&this['mouse_move']&&this['redraw'](),this[_0x36d877(0x210)][_0x36d877(0x322)]['visibility']=_0x36d877(0x223),this[_0x36d877(0x347)]=!0x1,this[_0x36d877(0x355)]=!0x1);}},{'key':_0x240bf6(0x1fd),'value':function(){var _0x20c837=_0x240bf6;this[_0x20c837(0x385)]&&this['windField']&&(this[_0x20c837(0x299)]=[],this[_0x20c837(0x35b)]());}},{'key':_0x240bf6(0x24a),'value':function(_0x5d2b53){var _0x3e63e9=_0x240bf6;this['clear'](),this['windData']=_0x5d2b53,this[_0x3e63e9(0x29e)]=new _0xf36a12(this[_0x3e63e9(0x2e0)],this['reverseY']),this['drawWind']();}},{'key':_0x240bf6(0x35b),'value':function(){var _0xac3499=_0x240bf6;this[_0xac3499(0x254)]();for(var _0x1ba65d=0x0;_0x1ba65d<this['particlesNumber'];_0x1ba65d++){var _0x405220=this[_0xac3499(0x2dc)](new _0x50ea5e());this[_0xac3499(0x299)][_0xac3499(0x32e)](_0x405220);}this[_0xac3499(0x260)][_0xac3499(0x2aa)]=_0xac3499(0x354),this['canvasContext'][_0xac3499(0x261)]=0.6,this['update']();}},{'key':_0x240bf6(0x254),'value':function(){var _0x32f32e=_0x240bf6;this[_0x32f32e(0x29e)]&&(this[_0x32f32e(0x22f)]=[(this[_0x32f32e(0x29e)]['xmax']-this[_0x32f32e(0x29e)][_0x32f32e(0x22c)])/this[_0x32f32e(0x29a)],(this[_0x32f32e(0x29e)][_0x32f32e(0x2ac)]-this[_0x32f32e(0x29e)][_0x32f32e(0x242)])/this[_0x32f32e(0x29a)]]);}},{'key':_0x240bf6(0x291),'value':function(){var _0x436e2a=_0x240bf6,_0x35ffad=this;if(this[_0x436e2a(0x385)]&&!(this[_0x436e2a(0x299)][_0x436e2a(0x25e)]<=0x0)){var _0x3b71f3=null,_0x61f3b7=null,_0x359ab5=null;this[_0x436e2a(0x299)][_0x436e2a(0x33e)](function(_0x461b22){var _0xaa24bd=_0x436e2a;if(_0x461b22[_0xaa24bd(0x300)]<=0x0&&_0x35ffad[_0xaa24bd(0x2dc)](_0x461b22),_0x461b22['age']>0x0){var _0x2f2637=_0x461b22[_0xaa24bd(0x35e)],_0x5950ff=_0x461b22[_0xaa24bd(0x222)];(_0x359ab5=_0x35ffad[_0xaa24bd(0x29e)][_0xaa24bd(0x227)](_0x2f2637,_0x5950ff))?(_0x3b71f3=_0x2f2637+_0x35ffad[_0xaa24bd(0x22f)][0x0]*_0x359ab5[0x0],_0x61f3b7=_0x5950ff+_0x35ffad['calc_speedRate'][0x1]*_0x359ab5[0x1],_0x461b22[_0xaa24bd(0x2d1)]=_0x2f2637,_0x461b22[_0xaa24bd(0x2f2)]=_0x5950ff,_0x461b22['tlng']=_0x3b71f3,_0x461b22[_0xaa24bd(0x222)]=_0x61f3b7,_0x461b22['age']--):_0x461b22[_0xaa24bd(0x300)]=0x0;}}),this[_0x436e2a(0x381)]();}}},{'key':'_tomap','value':function(_0x58e964,_0x1e2afe,_0x58e445){var _0x55fbaf=_0x240bf6,_0x548159=_0x49bd3c[_0x55fbaf(0x262)][_0x55fbaf(0x221)](_0x58e964,_0x1e2afe,this[_0x55fbaf(0x21f)]),_0xc9ca21=this[_0x55fbaf(0x327)]['scene'];if(_0xc9ca21[_0x55fbaf(0x28f)]===_0x49bd3c['SceneMode'][_0x55fbaf(0x1fc)]&&!new _0x49bd3c[(_0x55fbaf(0x2eb))](_0xc9ca21[_0x55fbaf(0x25c)][_0x55fbaf(0x33b)],_0xc9ca21[_0x55fbaf(0x21a)][_0x55fbaf(0x253)])['isPointVisible'](_0x548159))return _0x58e445[_0x55fbaf(0x300)]=0x0,null;var _0xb25c37=_0x49bd3c[_0x55fbaf(0x379)][_0x55fbaf(0x2a3)](this[_0x55fbaf(0x327)][_0x55fbaf(0x2f7)],_0x548159);return _0xb25c37?[_0xb25c37['x'],_0xb25c37['y']]:null;}},{'key':_0x240bf6(0x381),'value':function(){var _0x3df1c5=_0x240bf6,_0x47ffbd=this,_0x6691f9=this['particles'];this[_0x3df1c5(0x260)]['lineWidth']=_0x47ffbd['lineWidth'],this['canvasContext'][_0x3df1c5(0x26b)]=_0x3df1c5(0x2c8),this[_0x3df1c5(0x260)][_0x3df1c5(0x2a1)](0x0,0x0,this[_0x3df1c5(0x23d)],this['canvasHeight']),this[_0x3df1c5(0x260)][_0x3df1c5(0x26b)]=_0x3df1c5(0x241),this[_0x3df1c5(0x260)][_0x3df1c5(0x261)]=0.9,this['canvasContext'][_0x3df1c5(0x2c0)](),this['canvasContext'][_0x3df1c5(0x215)]=this[_0x3df1c5(0x263)];var _0x55ddd6=this[_0x3df1c5(0x327)]['scene'][_0x3df1c5(0x28f)]!==_0x49bd3c[_0x3df1c5(0x335)][_0x3df1c5(0x1fc)];_0x6691f9[_0x3df1c5(0x33e)](function(_0x42c3f2){var _0x332587=_0x3df1c5,_0x518f05=_0x47ffbd['_tomap'](_0x42c3f2['lng'],_0x42c3f2[_0x332587(0x2f2)],_0x42c3f2),_0xb6408c=_0x47ffbd[_0x332587(0x2fd)](_0x42c3f2[_0x332587(0x35e)],_0x42c3f2[_0x332587(0x222)],_0x42c3f2);if(null!=_0x518f05&&null!=_0xb6408c){var _0x10b990=Math[_0x332587(0x307)](_0x518f05[0x0]-_0xb6408c[0x0]);_0x55ddd6&&_0x10b990>=_0x47ffbd[_0x332587(0x23d)]||(_0x47ffbd[_0x332587(0x260)][_0x332587(0x2ce)](_0x518f05[0x0],_0x518f05[0x1]),_0x47ffbd[_0x332587(0x260)][_0x332587(0x26e)](_0xb6408c[0x0],_0xb6408c[0x1]));}}),this['canvasContext'][_0x3df1c5(0x316)]();}},{'key':'randomParticle','value':function(_0x377e99){var _0x103cdb=_0x240bf6;for(var _0x422556,_0x2b41ca,_0x36c53b=0x0;_0x36c53b<0x1e&&(_0x422556=this['windField'][_0x103cdb(0x20b)](),!((_0x2b41ca=this[_0x103cdb(0x29e)]['getUVByPoint'](_0x422556[_0x103cdb(0x2d1)],_0x422556['lat']))&&_0x2b41ca[0x2]>0x0));_0x36c53b++);if(!_0x2b41ca)return _0x377e99;var _0x5d0e80=_0x422556[_0x103cdb(0x2d1)]+this[_0x103cdb(0x22f)][0x0]*_0x2b41ca[0x0],_0x532da2=_0x422556[_0x103cdb(0x2f2)]+this[_0x103cdb(0x22f)][0x1]*_0x2b41ca[0x1];return _0x377e99['lng']=_0x422556['lng'],_0x377e99[_0x103cdb(0x2f2)]=_0x422556[_0x103cdb(0x2f2)],_0x377e99[_0x103cdb(0x35e)]=_0x5d0e80,_0x377e99[_0x103cdb(0x222)]=_0x532da2,_0x377e99[_0x103cdb(0x300)]=Math[_0x103cdb(0x295)](Math[_0x103cdb(0x247)]()*this[_0x103cdb(0x348)]),_0x377e99;}},{'key':_0x240bf6(0x2fb),'value':function(){var _0x30bf82=_0x240bf6;this[_0x30bf82(0x299)]=[],delete this['windField'],delete this[_0x30bf82(0x2e0)];}}]),_0x14762d;}(_0x11e886[_0x3aa2d6(0x24e)][_0x3aa2d6(0x264)]);function _0x146062(_0x500405,_0xa1c99b){var _0x47b36d=_0x3aa2d6;return _0x500405*Math[_0x47b36d(0x304)](_0x49bd3c[_0x47b36d(0x286)][_0x47b36d(0x259)](_0xa1c99b));}function _0x1f06e2(_0x263c10,_0x3bf9d8){var _0x26520c=_0x3aa2d6;return _0x263c10*Math[_0x26520c(0x289)](_0x49bd3c['Math'][_0x26520c(0x259)](_0x3bf9d8));}function _0x450f3f(_0x46a39f,_0x27ce16){var _0x233f36=_0x3aa2d6;return Math[_0x233f36(0x20e)](Math[_0x233f36(0x2b2)](_0x46a39f,0x2)+Math[_0x233f36(0x2b2)](_0x27ce16,0x2));}function _0x2cf9c1(_0x5dbc55,_0x42831c){var _0x41f051=_0x3aa2d6,_0x33f960=_0x49bd3c[_0x41f051(0x286)][_0x41f051(0x31c)](Math['atan2'](_0x42831c,_0x5dbc55));return _0x33f960+=_0x33f960<0x0?0x168:0x0;}_0x11e886[_0x3aa2d6(0x2e9)]['register'](_0x3aa2d6(0x345),_0x474354),_0x11e886[_0x3aa2d6(0x24e)][_0x3aa2d6(0x34f)]=_0x474354,_0x11e886[_0x3aa2d6(0x2e5)]=_0x4f5185;}]));
|
|
21
|
+
(function(_0x3410a8,_0x5dc78a){var _0x4b1666=a0_0x1ed0,_0x350ddd=_0x3410a8();while(!![]){try{var _0x5c259b=-parseInt(_0x4b1666(0x1cf))/0x1+parseInt(_0x4b1666(0x1cc))/0x2*(-parseInt(_0x4b1666(0x1a6))/0x3)+-parseInt(_0x4b1666(0x111))/0x4+-parseInt(_0x4b1666(0x20f))/0x5*(parseInt(_0x4b1666(0x241))/0x6)+-parseInt(_0x4b1666(0x166))/0x7+-parseInt(_0x4b1666(0x1c1))/0x8+parseInt(_0x4b1666(0xd0))/0x9*(parseInt(_0x4b1666(0xcb))/0xa);if(_0x5c259b===_0x5dc78a)break;else _0x350ddd['push'](_0x350ddd['shift']());}catch(_0x2e4c1f){_0x350ddd['push'](_0x350ddd['shift']());}}}(a0_0x5e1a,0x3b15f),window['mars3dWind']=function(_0x1f639c){var _0x1c0fa7={};function _0x3a1ba9(_0x392b9d){var _0x4f6120=a0_0x1ed0;if(_0x1c0fa7[_0x392b9d])return _0x1c0fa7[_0x392b9d][_0x4f6120(0x170)];var _0x35050d=_0x1c0fa7[_0x392b9d]={'i':_0x392b9d,'l':!0x1,'exports':{}};return _0x1f639c[_0x392b9d][_0x4f6120(0x127)](_0x35050d[_0x4f6120(0x170)],_0x35050d,_0x35050d['exports'],_0x3a1ba9),_0x35050d['l']=!0x0,_0x35050d[_0x4f6120(0x170)];}return _0x3a1ba9['m']=_0x1f639c,_0x3a1ba9['c']=_0x1c0fa7,_0x3a1ba9['d']=function(_0x1bee72,_0x2ac1fb,_0x37efb4){var _0xed5922=a0_0x1ed0;_0x3a1ba9['o'](_0x1bee72,_0x2ac1fb)||Object[_0xed5922(0x1b7)](_0x1bee72,_0x2ac1fb,{'enumerable':!0x0,'get':_0x37efb4});},_0x3a1ba9['r']=function(_0x61b2fc){var _0x1d9d03=a0_0x1ed0;'undefined'!=typeof Symbol&&Symbol['toStringTag']&&Object[_0x1d9d03(0x1b7)](_0x61b2fc,Symbol[_0x1d9d03(0x138)],{'value':'Module'}),Object[_0x1d9d03(0x1b7)](_0x61b2fc,_0x1d9d03(0xda),{'value':!0x0});},_0x3a1ba9['t']=function(_0x578872,_0x8c6dc1){var _0x511357=a0_0x1ed0;if(0x1&_0x8c6dc1&&(_0x578872=_0x3a1ba9(_0x578872)),0x8&_0x8c6dc1)return _0x578872;if(0x4&_0x8c6dc1&&_0x511357(0x234)==typeof _0x578872&&_0x578872&&_0x578872['__esModule'])return _0x578872;var _0x171329=Object[_0x511357(0xf9)](null);if(_0x3a1ba9['r'](_0x171329),Object[_0x511357(0x1b7)](_0x171329,_0x511357(0xd1),{'enumerable':!0x0,'value':_0x578872}),0x2&_0x8c6dc1&&_0x511357(0x22d)!=typeof _0x578872){for(var _0xb95511 in _0x578872)_0x3a1ba9['d'](_0x171329,_0xb95511,function(_0xe844dc){return _0x578872[_0xe844dc];}[_0x511357(0x209)](null,_0xb95511));}return _0x171329;},_0x3a1ba9['n']=function(_0x30c240){var _0x3889fe=a0_0x1ed0,_0x1433df=_0x30c240&&_0x30c240[_0x3889fe(0xda)]?function(){var _0x36c759=_0x3889fe;return _0x30c240[_0x36c759(0xd1)];}:function(){return _0x30c240;};return _0x3a1ba9['d'](_0x1433df,'a',_0x1433df),_0x1433df;},_0x3a1ba9['o']=function(_0x5e718b,_0x12d72c){var _0x3ac6fb=a0_0x1ed0;return Object[_0x3ac6fb(0x17e)][_0x3ac6fb(0xca)][_0x3ac6fb(0x127)](_0x5e718b,_0x12d72c);},_0x3a1ba9['p']='',_0x3a1ba9(_0x3a1ba9['s']=0x1a);}([function(_0x6ffe39,_0x2d7e67){var _0x458133=a0_0x1ed0;_0x6ffe39['exports']=window[_0x458133(0x212)];},function(_0x14fa08,_0x446400){var _0x14e15c=a0_0x1ed0;_0x14fa08[_0x14e15c(0x170)]=function(_0x1fb0ac,_0x55ef27){var _0x569072=_0x14e15c;if(!(_0x1fb0ac instanceof _0x55ef27))throw new TypeError(_0x569072(0x1c8));},_0x14fa08['exports']['__esModule']=!0x0,_0x14fa08[_0x14e15c(0x170)][_0x14e15c(0xd1)]=_0x14fa08[_0x14e15c(0x170)];},function(_0x49ac42,_0x50d0da){var _0x2e6add=a0_0x1ed0;function _0x39c601(_0x428cbd,_0x1295b2){var _0x3e7943=a0_0x1ed0;for(var _0x55506a=0x0;_0x55506a<_0x1295b2['length'];_0x55506a++){var _0x369bdb=_0x1295b2[_0x55506a];_0x369bdb[_0x3e7943(0x1cd)]=_0x369bdb[_0x3e7943(0x1cd)]||!0x1,_0x369bdb['configurable']=!0x0,_0x3e7943(0x18f)in _0x369bdb&&(_0x369bdb['writable']=!0x0),Object[_0x3e7943(0x1b7)](_0x428cbd,_0x369bdb['key'],_0x369bdb);}}_0x49ac42[_0x2e6add(0x170)]=function(_0x3cc880,_0x1a03e5,_0x928148){var _0x37baab=_0x2e6add;return _0x1a03e5&&_0x39c601(_0x3cc880[_0x37baab(0x17e)],_0x1a03e5),_0x928148&&_0x39c601(_0x3cc880,_0x928148),Object[_0x37baab(0x1b7)](_0x3cc880,_0x37baab(0x17e),{'writable':!0x1}),_0x3cc880;},_0x49ac42[_0x2e6add(0x170)][_0x2e6add(0xda)]=!0x0,_0x49ac42[_0x2e6add(0x170)][_0x2e6add(0xd1)]=_0x49ac42[_0x2e6add(0x170)];},function(_0x4363ed,_0x3a8f60){var _0x50ea0d=a0_0x1ed0;function _0x144266(_0x2b08d8){var _0x581861=a0_0x1ed0;return _0x4363ed[_0x581861(0x170)]=_0x144266=Object['setPrototypeOf']?Object[_0x581861(0x147)]:function(_0xaed717){var _0x4dd9d2=_0x581861;return _0xaed717['__proto__']||Object[_0x4dd9d2(0x147)](_0xaed717);},_0x4363ed['exports']['__esModule']=!0x0,_0x4363ed[_0x581861(0x170)][_0x581861(0xd1)]=_0x4363ed[_0x581861(0x170)],_0x144266(_0x2b08d8);}_0x4363ed[_0x50ea0d(0x170)]=_0x144266,_0x4363ed[_0x50ea0d(0x170)]['__esModule']=!0x0,_0x4363ed['exports']['default']=_0x4363ed['exports'];},function(_0x3272dc,_0x4a27cd,_0x156ef9){var _0xf7ac9b=a0_0x1ed0,_0x50f590=_0x156ef9(0x16),_0x4163ff=_0x156ef9(0x17),_0x162740=_0x156ef9(0x18),_0x20d32e=_0x156ef9(0x19);_0x3272dc[_0xf7ac9b(0x170)]=function(_0x23462b){return _0x50f590(_0x23462b)||_0x4163ff(_0x23462b)||_0x162740(_0x23462b)||_0x20d32e();},_0x3272dc[_0xf7ac9b(0x170)][_0xf7ac9b(0xda)]=!0x0,_0x3272dc[_0xf7ac9b(0x170)][_0xf7ac9b(0xd1)]=_0x3272dc['exports'];},function(_0x522181,_0x2631f5){var _0x55cc37=a0_0x1ed0;_0x522181[_0x55cc37(0x170)]=function(_0x2d1abe,_0x2837ef,_0x4e053a){var _0x418546=_0x55cc37;return _0x2837ef in _0x2d1abe?Object[_0x418546(0x1b7)](_0x2d1abe,_0x2837ef,{'value':_0x4e053a,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}):_0x2d1abe[_0x2837ef]=_0x4e053a,_0x2d1abe;},_0x522181[_0x55cc37(0x170)][_0x55cc37(0xda)]=!0x0,_0x522181[_0x55cc37(0x170)][_0x55cc37(0xd1)]=_0x522181[_0x55cc37(0x170)];},function(_0x14d3ac,_0x28cbb2,_0x36e805){var _0x2fedfb=a0_0x1ed0,_0x5f42c5=_0x36e805(0x13);_0x14d3ac['exports']=function(_0x1d98e4,_0x1af1e6){var _0x1e5e37=a0_0x1ed0;if('function'!=typeof _0x1af1e6&&null!==_0x1af1e6)throw new TypeError(_0x1e5e37(0xc1));Object[_0x1e5e37(0x1b7)](_0x1d98e4,_0x1e5e37(0x17e),{'value':Object[_0x1e5e37(0xf9)](_0x1af1e6&&_0x1af1e6[_0x1e5e37(0x17e)],{'constructor':{'value':_0x1d98e4,'writable':!0x0,'configurable':!0x0}}),'writable':!0x1}),_0x1af1e6&&_0x5f42c5(_0x1d98e4,_0x1af1e6);},_0x14d3ac[_0x2fedfb(0x170)][_0x2fedfb(0xda)]=!0x0,_0x14d3ac[_0x2fedfb(0x170)][_0x2fedfb(0xd1)]=_0x14d3ac[_0x2fedfb(0x170)];},function(_0x76cb7d,_0x1508ad,_0x728a96){var _0x38f0e2=a0_0x1ed0,_0x4c4944=_0x728a96(0x14)[_0x38f0e2(0xd1)],_0x31fcdd=_0x728a96(0x15);_0x76cb7d[_0x38f0e2(0x170)]=function(_0xea82,_0x3bc73f){var _0x517bf7=_0x38f0e2;if(_0x3bc73f&&(_0x517bf7(0x234)===_0x4c4944(_0x3bc73f)||_0x517bf7(0x1d0)==typeof _0x3bc73f))return _0x3bc73f;if(void 0x0!==_0x3bc73f)throw new TypeError(_0x517bf7(0x1cb));return _0x31fcdd(_0xea82);},_0x76cb7d[_0x38f0e2(0x170)]['__esModule']=!0x0,_0x76cb7d[_0x38f0e2(0x170)]['default']=_0x76cb7d[_0x38f0e2(0x170)];},function(_0x22026f,_0x36ea74){var _0x432aa6=a0_0x1ed0;_0x22026f[_0x432aa6(0x170)]=_0x432aa6(0x124);},function(_0x2b21c9,_0x57b3bf){var _0x2f728d=a0_0x1ed0;_0x2b21c9['exports']=function(_0x174210,_0x4fe618){var _0x13d445=a0_0x1ed0;(null==_0x4fe618||_0x4fe618>_0x174210[_0x13d445(0x125)])&&(_0x4fe618=_0x174210['length']);for(var _0x23d7a8=0x0,_0x1cd739=new Array(_0x4fe618);_0x23d7a8<_0x4fe618;_0x23d7a8++)_0x1cd739[_0x23d7a8]=_0x174210[_0x23d7a8];return _0x1cd739;},_0x2b21c9['exports'][_0x2f728d(0xda)]=!0x0,_0x2b21c9['exports'][_0x2f728d(0xd1)]=_0x2b21c9['exports'];},function(_0x1b195d,_0x295c46){var _0x3a8783=a0_0x1ed0;_0x1b195d[_0x3a8783(0x170)]='attribute\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0aattribute\x20vec3\x20normal;\x20//\x20(point\x20to\x20use,\x20offset\x20sign,\x20not\x20used\x20component)\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x0auniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20postProcessingSpeed;\x0a\x0auniform\x20float\x20particleHeight;\x0a\x0auniform\x20float\x20aspect;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20lineWidth;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avec3\x20convertCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20WGS84\x20(lon,\x20lat,\x20lev)\x20->\x20ECEF\x20(x,\x20y,\x20z)\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_conversion#From_geodetic_to_ECEF_coordinates\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20WGS\x2084\x20geometric\x20constants\x20\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x20\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\x20\x0a\x20\x20\x20\x20float\x20e2\x20=\x206.69437999014e-3;\x20//\x20First\x20eccentricity\x20squared\x0a\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x20\x20\x20\x20float\x20longitude\x20=\x20radians(lonLatLev.x);\x0a\x0a\x20\x20\x20\x20float\x20cosLat\x20=\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20sinLat\x20=\x20sin(latitude);\x0a\x20\x20\x20\x20float\x20cosLon\x20=\x20cos(longitude);\x0a\x20\x20\x20\x20float\x20sinLon\x20=\x20sin(longitude);\x0a\x0a\x20\x20\x20\x20float\x20N_Phi\x20=\x20a\x20/\x20sqrt(1.0\x20-\x20e2\x20*\x20sinLat\x20*\x20sinLat);\x0a\x20\x20\x20\x20float\x20h\x20=\x20particleHeight;\x20//\x20it\x20should\x20be\x20high\x20enough\x20otherwise\x20the\x20particle\x20may\x20not\x20pass\x20the\x20terrain\x20depth\x20test\x0a\x0a\x20\x20\x20\x20vec3\x20cartesian\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20cartesian.x\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20cosLon;\x0a\x20\x20\x20\x20cartesian.y\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20sinLon;\x0a\x20\x20\x20\x20cartesian.z\x20=\x20((b\x20*\x20b)\x20/\x20(a\x20*\x20a)\x20*\x20N_Phi\x20+\x20h)\x20*\x20sinLat;\x0a\x20\x20\x20\x20return\x20cartesian;\x0a}\x0a\x0avec4\x20calcProjectedCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20the\x20range\x20of\x20longitude\x20in\x20Cesium\x20is\x20[-180,\x20180]\x20but\x20the\x20range\x20of\x20longitude\x20in\x20the\x20NetCDF\x20file\x20is\x20[0,\x20360]\x0a\x20\x20\x20\x20//\x20[0,\x20180]\x20is\x20corresponding\x20to\x20[0,\x20180]\x20and\x20[180,\x20360]\x20is\x20corresponding\x20to\x20[-180,\x200]\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x\x20+\x20180.0,\x20360.0)\x20-\x20180.0;\x0a\x20\x20\x20\x20vec3\x20particlePosition\x20=\x20convertCoordinate(lonLatLev);\x0a\x20\x20\x20\x20vec4\x20projectedCoordinate\x20=\x20czm_modelViewProjection\x20*\x20vec4(particlePosition,\x201.0);\x0a\x20\x20\x20\x20return\x20projectedCoordinate;\x0a}\x0a\x0avec4\x20calcOffset(vec4\x20currentProjectedCoordinate,\x20vec4\x20nextProjectedCoordinate,\x20float\x20offsetSign)\x20{\x0a\x20\x20\x20\x20vec2\x20aspectVec2\x20=\x20vec2(aspect,\x201.0);\x0a\x20\x20\x20\x20vec2\x20currentXY\x20=\x20(currentProjectedCoordinate.xy\x20/\x20currentProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x20\x20\x20\x20vec2\x20nextXY\x20=\x20(nextProjectedCoordinate.xy\x20/\x20nextProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x0a\x20\x20\x20\x20float\x20offsetLength\x20=\x20lineWidth\x20/\x202.0;\x0a\x20\x20\x20\x20vec2\x20direction\x20=\x20normalize(nextXY\x20-\x20currentXY);\x0a\x20\x20\x20\x20vec2\x20normalVector\x20=\x20vec2(-direction.y,\x20direction.x);\x0a\x20\x20\x20\x20normalVector.x\x20=\x20normalVector.x\x20/\x20aspect;\x0a\x20\x20\x20\x20normalVector\x20=\x20offsetLength\x20*\x20normalVector;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20vec4(offsetSign\x20*\x20normalVector,\x200.0,\x200.0);\x0a\x20\x20\x20\x20return\x20offset;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec2\x20particleIndex\x20=\x20st;\x0a\x0a\x20\x20\x20\x20vec3\x20currentPosition\x20=\x20texture2D(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture2D(postProcessingPosition,\x20particleIndex);\x0a\x0a\x20\x20\x20\x20vec4\x20currentProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20vec4\x20nextProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(nextPosition.w\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(nextPosition.xyz);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20float\x20pointToUse\x20=\x20normal.x;\x20//\x20-1\x20is\x20currentProjectedCoordinate\x20and\x20+1\x20is\x20nextProjectedCoordinate\x0a\x20\x20\x20\x20float\x20offsetSign\x20=\x20normal.y;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20pixelSize\x20*\x20calcOffset(currentProjectedCoordinate,\x20nextProjectedCoordinate,\x20offsetSign);\x0a\x20\x20\x20\x20if\x20(pointToUse\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20currentProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20nextProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20speedNormalization\x20=\x20texture2D(postProcessingSpeed,\x20particleIndex).a;\x0a}';},function(_0x24f2e3,_0x255834){var _0xcdf64c=a0_0x1ed0;_0x24f2e3[_0xcdf64c(0x170)]=_0xcdf64c(0x152);},function(_0x50301d,_0x4e7343){var _0x1109b6=a0_0x1ed0;_0x50301d['exports']=_0x1109b6(0x120);},function(_0x45dbaa,_0x2b7845){var _0xbd0ad5=a0_0x1ed0;_0x45dbaa[_0xbd0ad5(0x170)]='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(_0x262a3f,_0x5974cc){var _0x3e784e=a0_0x1ed0;_0x262a3f[_0x3e784e(0x170)]=_0x3e784e(0x104);},function(_0x2ede14,_0x1f66f9){var _0x4032f7=a0_0x1ed0;_0x2ede14[_0x4032f7(0x170)]='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(_0x3619fe,_0x1b3fe7){var _0x1f3067=a0_0x1ed0;_0x3619fe[_0x1f3067(0x170)]=_0x1f3067(0xf1);},function(_0x384701,_0x56879b){var _0x48d7f4=a0_0x1ed0;_0x384701[_0x48d7f4(0x170)]='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(_0x3e69a5,_0x4c09dd){var _0x5d0507=a0_0x1ed0;_0x3e69a5['exports']=_0x5d0507(0x161);},function(_0x160f12,_0x587ba0){var _0x1d3176=a0_0x1ed0;function _0x4ad77d(_0x4c6df6,_0x1fce44){var _0x5c624b=a0_0x1ed0;return _0x160f12['exports']=_0x4ad77d=Object[_0x5c624b(0x1fa)]||function(_0x45b782,_0x4b7f1b){var _0x135177=_0x5c624b;return _0x45b782[_0x135177(0xc6)]=_0x4b7f1b,_0x45b782;},_0x160f12[_0x5c624b(0x170)][_0x5c624b(0xda)]=!0x0,_0x160f12[_0x5c624b(0x170)][_0x5c624b(0xd1)]=_0x160f12['exports'],_0x4ad77d(_0x4c6df6,_0x1fce44);}_0x160f12[_0x1d3176(0x170)]=_0x4ad77d,_0x160f12['exports'][_0x1d3176(0xda)]=!0x0,_0x160f12['exports'][_0x1d3176(0xd1)]=_0x160f12[_0x1d3176(0x170)];},function(_0x283275,_0x19188f){var _0xbe39e7=a0_0x1ed0;function _0x2589a9(_0x57cbba){var _0xc0910e=a0_0x1ed0;return _0x283275[_0xc0910e(0x170)]=_0x2589a9='function'==typeof Symbol&&_0xc0910e(0x231)==typeof Symbol[_0xc0910e(0x19c)]?function(_0xe6a0a6){return typeof _0xe6a0a6;}:function(_0x346dad){var _0x3f02e9=_0xc0910e;return _0x346dad&&_0x3f02e9(0x1d0)==typeof Symbol&&_0x346dad[_0x3f02e9(0xd7)]===Symbol&&_0x346dad!==Symbol[_0x3f02e9(0x17e)]?_0x3f02e9(0x231):typeof _0x346dad;},_0x283275[_0xc0910e(0x170)][_0xc0910e(0xda)]=!0x0,_0x283275['exports'][_0xc0910e(0xd1)]=_0x283275[_0xc0910e(0x170)],_0x2589a9(_0x57cbba);}_0x283275[_0xbe39e7(0x170)]=_0x2589a9,_0x283275['exports']['__esModule']=!0x0,_0x283275[_0xbe39e7(0x170)][_0xbe39e7(0xd1)]=_0x283275[_0xbe39e7(0x170)];},function(_0x157f21,_0x5d52b2){var _0xa1885a=a0_0x1ed0;_0x157f21[_0xa1885a(0x170)]=function(_0x2473ba){if(void 0x0===_0x2473ba)throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');return _0x2473ba;},_0x157f21['exports'][_0xa1885a(0xda)]=!0x0,_0x157f21[_0xa1885a(0x170)][_0xa1885a(0xd1)]=_0x157f21[_0xa1885a(0x170)];},function(_0x2fa590,_0x4228be,_0x3d8e3f){var _0x124dd1=a0_0x1ed0,_0x3f561c=_0x3d8e3f(0x9);_0x2fa590[_0x124dd1(0x170)]=function(_0x4249e2){var _0xca4dbe=_0x124dd1;if(Array[_0xca4dbe(0x1a7)](_0x4249e2))return _0x3f561c(_0x4249e2);},_0x2fa590[_0x124dd1(0x170)][_0x124dd1(0xda)]=!0x0,_0x2fa590['exports']['default']=_0x2fa590[_0x124dd1(0x170)];},function(_0x31004d,_0x50b041){var _0x128446=a0_0x1ed0;_0x31004d[_0x128446(0x170)]=function(_0x58d2c6){var _0x894ca8=_0x128446;if(_0x894ca8(0x137)!=typeof Symbol&&null!=_0x58d2c6[Symbol[_0x894ca8(0x19c)]]||null!=_0x58d2c6[_0x894ca8(0x140)])return Array[_0x894ca8(0x12f)](_0x58d2c6);},_0x31004d[_0x128446(0x170)][_0x128446(0xda)]=!0x0,_0x31004d[_0x128446(0x170)][_0x128446(0xd1)]=_0x31004d[_0x128446(0x170)];},function(_0xc15967,_0x4e4406,_0x143339){var _0x25a4ad=a0_0x1ed0,_0x5428d1=_0x143339(0x9);_0xc15967[_0x25a4ad(0x170)]=function(_0x16cf5e,_0x545204){var _0x14cc25=_0x25a4ad;if(_0x16cf5e){if(_0x14cc25(0x22d)==typeof _0x16cf5e)return _0x5428d1(_0x16cf5e,_0x545204);var _0x3bf38b=Object[_0x14cc25(0x17e)][_0x14cc25(0x114)]['call'](_0x16cf5e)['slice'](0x8,-0x1);return _0x14cc25(0xc8)===_0x3bf38b&&_0x16cf5e['constructor']&&(_0x3bf38b=_0x16cf5e[_0x14cc25(0xd7)][_0x14cc25(0x1b2)]),_0x14cc25(0x1bd)===_0x3bf38b||_0x14cc25(0x10a)===_0x3bf38b?Array['from'](_0x16cf5e):_0x14cc25(0xf0)===_0x3bf38b||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[_0x14cc25(0x195)](_0x3bf38b)?_0x5428d1(_0x16cf5e,_0x545204):void 0x0;}},_0xc15967[_0x25a4ad(0x170)][_0x25a4ad(0xda)]=!0x0,_0xc15967[_0x25a4ad(0x170)]['default']=_0xc15967['exports'];},function(_0x303bc6,_0x31ef27){var _0x385448=a0_0x1ed0;_0x303bc6[_0x385448(0x170)]=function(){var _0x2ac1de=_0x385448;throw new TypeError(_0x2ac1de(0xf6));},_0x303bc6[_0x385448(0x170)]['__esModule']=!0x0,_0x303bc6[_0x385448(0x170)][_0x385448(0xd1)]=_0x303bc6['exports'];},function(_0x51ecf5,_0x5cec59,_0x222991){'use strict';var _0xa3ba4f=a0_0x1ed0;_0x222991['r'](_0x5cec59),_0x222991['d'](_0x5cec59,_0xa3ba4f(0xe0),function(){return _0x433040;}),_0x222991['d'](_0x5cec59,_0xa3ba4f(0x145),function(){return _0x1073f6;}),_0x222991['d'](_0x5cec59,_0xa3ba4f(0x146),function(){return _0x14599c;});var _0x14599c={};_0x222991['r'](_0x14599c),_0x222991['d'](_0x14599c,'getU',function(){return _0xc02f11;}),_0x222991['d'](_0x14599c,_0xa3ba4f(0x1ef),function(){return _0x1d304c;}),_0x222991['d'](_0x14599c,_0xa3ba4f(0x189),function(){return _0x4907c7;}),_0x222991['d'](_0x14599c,'getDirection',function(){return _0x2f6bd4;});var _0x42d146=_0x222991(0x0),_0x15a901=_0x222991(0x5),_0x35f16c=_0x222991['n'](_0x15a901),_0x3187ab=_0x222991(0x1),_0x4f6fab=_0x222991['n'](_0x3187ab),_0xe2f7d=_0x222991(0x2),_0x51dc09=_0x222991['n'](_0xe2f7d),_0x131e88=_0x222991(0x6),_0x3cc0d7=_0x222991['n'](_0x131e88),_0x207bf4=_0x222991(0x7),_0x28e2c=_0x222991['n'](_0x207bf4),_0x1a8a78=_0x222991(0x3),_0x42d417=_0x222991['n'](_0x1a8a78),_0x16542f=_0x222991(0x4),_0x183692=_0x222991['n'](_0x16542f),_0x6ca256=_0x42d146['Cesium'],_0x371b06=(function(){var _0x4cb856=_0xa3ba4f;function _0x40c7b8(_0x225db5){var _0x8e6919=a0_0x1ed0;_0x4f6fab()(this,_0x40c7b8),this[_0x8e6919(0xfe)]=_0x225db5[_0x8e6919(0xfe)],this[_0x8e6919(0x226)]=_0x225db5[_0x8e6919(0x226)],this[_0x8e6919(0x23f)]=_0x225db5[_0x8e6919(0x23f)],this[_0x8e6919(0xe5)]=_0x225db5['primitiveType'],this[_0x8e6919(0x21b)]=_0x225db5['uniformMap'],this['vertexShaderSource']=_0x225db5[_0x8e6919(0x1ad)],this[_0x8e6919(0x10e)]=_0x225db5[_0x8e6919(0x10e)],this[_0x8e6919(0x245)]=_0x225db5[_0x8e6919(0x245)],this[_0x8e6919(0x204)]=_0x225db5[_0x8e6919(0x204)],this[_0x8e6919(0x109)]=_0x225db5[_0x8e6919(0x109)],this[_0x8e6919(0x185)]=_0x6ca256['defaultValue'](_0x225db5[_0x8e6919(0x185)],!0x1),this['preExecute']=_0x225db5['preExecute'],this['show']=!0x0,this[_0x8e6919(0xc5)]=void 0x0,this[_0x8e6919(0x151)]=void 0x0,this['autoClear']&&(this[_0x8e6919(0x151)]=new _0x6ca256[(_0x8e6919(0x1a2))]({'color':new _0x6ca256[(_0x8e6919(0x21c))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this['framebuffer'],'pass':_0x6ca256[_0x8e6919(0x101)][_0x8e6919(0x108)]}));}return _0x51dc09()(_0x40c7b8,[{'key':_0x4cb856(0x1d5),'value':function(_0x3bf3ef){var _0x550fe1=_0x4cb856;switch(this[_0x550fe1(0xfe)]){case _0x550fe1(0x1f7):var _0x3dac76=_0x6ca256[_0x550fe1(0xde)][_0x550fe1(0xdf)]({'context':_0x3bf3ef,'geometry':this['geometry'],'attributeLocations':this[_0x550fe1(0x23f)],'bufferUsage':_0x6ca256[_0x550fe1(0x220)][_0x550fe1(0xef)]}),_0x46c5e9=_0x6ca256[_0x550fe1(0x19a)][_0x550fe1(0x199)]({'context':_0x3bf3ef,'attributeLocations':this[_0x550fe1(0x23f)],'vertexShaderSource':this[_0x550fe1(0x1ad)],'fragmentShaderSource':this[_0x550fe1(0x10e)]}),_0x2ff84a=_0x6ca256[_0x550fe1(0xd9)]['fromCache'](this[_0x550fe1(0x245)]);return new _0x6ca256['DrawCommand']({'owner':this,'vertexArray':_0x3dac76,'primitiveType':this['primitiveType'],'uniformMap':this[_0x550fe1(0x21b)],'modelMatrix':_0x6ca256[_0x550fe1(0x1c6)][_0x550fe1(0x17a)],'shaderProgram':_0x46c5e9,'framebuffer':this[_0x550fe1(0x204)],'renderState':_0x2ff84a,'pass':_0x6ca256[_0x550fe1(0x101)][_0x550fe1(0x108)]});case _0x550fe1(0xd6):return new _0x6ca256[(_0x550fe1(0x1ee))]({'owner':this,'fragmentShaderSource':this[_0x550fe1(0x10e)],'uniformMap':this[_0x550fe1(0x21b)],'outputTexture':this[_0x550fe1(0x109)],'persists':!0x0});default:return;}}},{'key':'setGeometry','value':function(_0x561b34,_0x2d1058){var _0x7bdb2b=_0x4cb856;this[_0x7bdb2b(0x226)]=_0x2d1058;var _0xc5fc75=_0x6ca256[_0x7bdb2b(0xde)][_0x7bdb2b(0xdf)]({'context':_0x561b34,'geometry':this['geometry'],'attributeLocations':this['attributeLocations'],'bufferUsage':_0x6ca256[_0x7bdb2b(0x220)][_0x7bdb2b(0xef)]});this[_0x7bdb2b(0xc5)][_0x7bdb2b(0x17f)]=_0xc5fc75;}},{'key':_0x4cb856(0x188),'value':function(_0x4c23e2){var _0x38c40c=_0x4cb856;this[_0x38c40c(0x1c2)]&&_0x4c23e2[_0x38c40c(0x217)]==_0x6ca256['SceneMode'][_0x38c40c(0x205)]&&(_0x6ca256[_0x38c40c(0x1f4)](this[_0x38c40c(0xc5)])||(this['commandToExecute']=this['createCommand'](_0x4c23e2[_0x38c40c(0xfb)])),_0x6ca256['defined'](this[_0x38c40c(0x1d2)])&&this['preExecute'](),_0x6ca256[_0x38c40c(0x1f4)](this[_0x38c40c(0x151)])&&_0x4c23e2[_0x38c40c(0x163)][_0x38c40c(0x216)](this[_0x38c40c(0x151)]),_0x4c23e2[_0x38c40c(0x163)][_0x38c40c(0x216)](this[_0x38c40c(0xc5)]));}},{'key':_0x4cb856(0xf3),'value':function(){return!0x1;}},{'key':_0x4cb856(0x1fb),'value':function(){var _0x3bc08d=_0x4cb856;return _0x6ca256['defined'](this[_0x3bc08d(0xc5)])&&(this['commandToExecute'][_0x3bc08d(0x156)]=this[_0x3bc08d(0xc5)][_0x3bc08d(0x156)]&&this['commandToExecute'][_0x3bc08d(0x156)]['destroy']()),_0x6ca256[_0x3bc08d(0x11c)](this);}}]),_0x40c7b8;}()),_0x4a2cc9=_0x42d146['Cesium'],_0x18088c={'getFullscreenQuad':function(){var _0x54a9e7=_0xa3ba4f;return new _0x4a2cc9['Geometry']({'attributes':new _0x4a2cc9[(_0x54a9e7(0x172))]({'position':new _0x4a2cc9[(_0x54a9e7(0x135))]({'componentDatatype':_0x4a2cc9[_0x54a9e7(0x105)][_0x54a9e7(0x229)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x4a2cc9['GeometryAttribute']({'componentDatatype':_0x4a2cc9['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x319e34,_0x545a0b){var _0x5cabb6=_0xa3ba4f;if(_0x4a2cc9[_0x5cabb6(0x1f4)](_0x545a0b)){var _0x26d687={};_0x26d687[_0x5cabb6(0x13f)]=_0x545a0b,_0x319e34[_0x5cabb6(0x119)]=_0x26d687;}return new _0x4a2cc9[(_0x5cabb6(0x201))](_0x319e34);},'createFramebuffer':function(_0x293645,_0x4aa95c,_0x3a1327){var _0x584645=_0xa3ba4f;return new _0x4a2cc9[(_0x584645(0x123))]({'context':_0x293645,'colorTextures':[_0x4aa95c],'depthTexture':_0x3a1327});},'createRawRenderState':function(_0x56c27c){var _0x3487a1=_0xa3ba4f,_0x2531a2={'viewport':_0x56c27c[_0x3487a1(0x13d)],'depthTest':_0x56c27c['depthTest'],'depthMask':_0x56c27c[_0x3487a1(0xea)],'blending':_0x56c27c['blending']};return _0x4a2cc9[_0x3487a1(0x13e)][_0x3487a1(0xe1)](!0x0,!0x1,_0x2531a2);},'viewRectangleToLonLatRange':function(_0x3901ce){var _0x39b3eb=_0xa3ba4f,_0x39c09d,_0x4eb634,_0xcaa144={},_0x35cd97=_0x4a2cc9[_0x39b3eb(0xed)][_0x39b3eb(0x113)](_0x3901ce['west'],_0x4a2cc9[_0x39b3eb(0xed)]['TWO_PI']),_0x259c76=_0x4a2cc9[_0x39b3eb(0xed)][_0x39b3eb(0x113)](_0x3901ce[_0x39b3eb(0x165)],_0x4a2cc9[_0x39b3eb(0xed)]['TWO_PI']),_0x56bb98=_0x3901ce['width'];_0x56bb98>_0x4a2cc9[_0x39b3eb(0xed)][_0x39b3eb(0x159)]?(_0x39c09d=0x0,_0x4eb634=_0x4a2cc9[_0x39b3eb(0xed)][_0x39b3eb(0x169)]):_0x259c76-_0x35cd97<_0x56bb98?(_0x39c09d=_0x35cd97,_0x4eb634=_0x35cd97+_0x56bb98):(_0x39c09d=_0x35cd97,_0x4eb634=_0x259c76),_0xcaa144['lon']={'min':_0x4a2cc9['Math'][_0x39b3eb(0x191)](_0x39c09d),'max':_0x4a2cc9['Math']['toDegrees'](_0x4eb634)};var _0x3562b9=_0x3901ce[_0x39b3eb(0x148)],_0x2283b2=_0x3901ce['north'],_0x950cd8=_0x3901ce[_0x39b3eb(0x1bc)],_0x161cc5=_0x950cd8>_0x4a2cc9[_0x39b3eb(0xed)]['PI']/0xc?_0x950cd8/0x2:0x0,_0x2ce20a=_0x4a2cc9[_0x39b3eb(0xed)][_0x39b3eb(0x221)](_0x3562b9-_0x161cc5),_0x4cf58b=_0x4a2cc9[_0x39b3eb(0xed)][_0x39b3eb(0x221)](_0x2283b2+_0x161cc5);return _0x2ce20a<-_0x4a2cc9['Math'][_0x39b3eb(0x1c4)]&&(_0x2ce20a=-_0x4a2cc9[_0x39b3eb(0xed)][_0x39b3eb(0x10c)]),_0x4cf58b>_0x4a2cc9[_0x39b3eb(0xed)][_0x39b3eb(0x1c4)]&&(_0x4cf58b=_0x4a2cc9[_0x39b3eb(0xed)][_0x39b3eb(0x10c)]),_0xcaa144[_0x39b3eb(0x130)]={'min':_0x4a2cc9[_0x39b3eb(0xed)]['toDegrees'](_0x2ce20a),'max':_0x4a2cc9[_0x39b3eb(0xed)][_0x39b3eb(0x191)](_0x4cf58b)},_0xcaa144;}},_0x405915=_0x222991(0xa),_0x176d84=_0x222991['n'](_0x405915),_0x451462=_0x222991(0xb),_0x24053f=_0x222991['n'](_0x451462),_0x1eb4be=_0x222991(0x8),_0x5c7fe1=_0x222991['n'](_0x1eb4be),_0x5ca2d8=_0x222991(0xc),_0x2ca896=_0x222991['n'](_0x5ca2d8),_0xf15726=_0x222991(0xd),_0x1e46e9=_0x222991['n'](_0xf15726),_0x9959f1=_0x42d146[_0xa3ba4f(0xd4)],_0x16d38b=(function(){var _0xc28323=_0xa3ba4f;function _0x3f379e(_0x337a16,_0x2623f8,_0x3e6eab,_0x428fdf,_0x1a53d8){var _0x440591=a0_0x1ed0;_0x4f6fab()(this,_0x3f379e),this[_0x440591(0x1af)](_0x337a16,_0x2623f8,_0x3e6eab[_0x440591(0x153)]),this[_0x440591(0x208)](_0x337a16),this[_0x440591(0xc4)](_0x337a16,_0x3e6eab,_0x428fdf,_0x1a53d8);}return _0x51dc09()(_0x3f379e,[{'key':'createRenderingTextures','value':function(_0x4d64ec,_0x154ecd,_0x368bab){var _0x2ac4e4=a0_0x1ed0;for(var _0x465aef={'context':_0x4d64ec,'width':_0x4d64ec[_0x2ac4e4(0xcd)],'height':_0x4d64ec[_0x2ac4e4(0xc2)],'pixelFormat':_0x9959f1['PixelFormat'][_0x2ac4e4(0xe3)],'pixelDatatype':_0x9959f1[_0x2ac4e4(0x13b)][_0x2ac4e4(0x1f0)]},_0x1ea44b={'context':_0x4d64ec,'width':_0x4d64ec[_0x2ac4e4(0xcd)],'height':_0x4d64ec['drawingBufferHeight'],'pixelFormat':_0x9959f1['PixelFormat']['DEPTH_COMPONENT'],'pixelDatatype':_0x9959f1['PixelDatatype'][_0x2ac4e4(0x213)]},_0x3ecc10=_0x368bab['length'],_0x142373=new Float32Array(0x3*_0x3ecc10),_0x310f4e=0x0;_0x310f4e<_0x3ecc10;_0x310f4e++){var _0x51df5f=_0x9959f1[_0x2ac4e4(0x21c)][_0x2ac4e4(0x222)](_0x368bab[_0x310f4e]);_0x142373[0x3*_0x310f4e]=_0x51df5f[_0x2ac4e4(0x11e)],_0x142373[0x3*_0x310f4e+0x1]=_0x51df5f[_0x2ac4e4(0x17b)],_0x142373[0x3*_0x310f4e+0x2]=_0x51df5f['blue'];}var _0x489506={'context':_0x4d64ec,'width':_0x3ecc10,'height':0x1,'pixelFormat':_0x9959f1[_0x2ac4e4(0x164)][_0x2ac4e4(0xe7)],'pixelDatatype':_0x9959f1[_0x2ac4e4(0x13b)][_0x2ac4e4(0x229)],'sampler':new _0x9959f1['Sampler']({'minificationFilter':_0x9959f1[_0x2ac4e4(0x18a)][_0x2ac4e4(0x1df)],'magnificationFilter':_0x9959f1[_0x2ac4e4(0x110)][_0x2ac4e4(0x1df)]})};this['textures']={'segmentsColor':_0x18088c[_0x2ac4e4(0xe4)](_0x465aef),'segmentsDepth':_0x18088c[_0x2ac4e4(0xe4)](_0x1ea44b),'currentTrailsColor':_0x18088c[_0x2ac4e4(0xe4)](_0x465aef),'currentTrailsDepth':_0x18088c[_0x2ac4e4(0xe4)](_0x1ea44b),'nextTrailsColor':_0x18088c[_0x2ac4e4(0xe4)](_0x465aef),'nextTrailsDepth':_0x18088c[_0x2ac4e4(0xe4)](_0x1ea44b),'colorTable':_0x18088c[_0x2ac4e4(0xe4)](_0x489506,_0x142373)};}},{'key':_0xc28323(0x208),'value':function(_0x1c4277){var _0x5cd312=_0xc28323;this[_0x5cd312(0x1bb)]={'segments':_0x18088c[_0x5cd312(0x1b6)](_0x1c4277,this['textures'][_0x5cd312(0x162)],this[_0x5cd312(0x184)][_0x5cd312(0x107)]),'currentTrails':_0x18088c[_0x5cd312(0x1b6)](_0x1c4277,this[_0x5cd312(0x184)][_0x5cd312(0x1b9)],this[_0x5cd312(0x184)][_0x5cd312(0x240)]),'nextTrails':_0x18088c['createFramebuffer'](_0x1c4277,this[_0x5cd312(0x184)][_0x5cd312(0x1bf)],this[_0x5cd312(0x184)][_0x5cd312(0x1d7)])};}},{'key':_0xc28323(0x20c),'value':function(_0x3cb64e){var _0x2ad9cc=_0xc28323;for(var _0x5bb400=[],_0x3a133b=0x0;_0x3a133b<_0x3cb64e[_0x2ad9cc(0x215)];_0x3a133b++)for(var _0x460dc4=0x0;_0x460dc4<_0x3cb64e['particlesTextureSize'];_0x460dc4++)for(var _0x12b6c3=0x0;_0x12b6c3<0x4;_0x12b6c3++)_0x5bb400[_0x2ad9cc(0x216)](_0x3a133b/_0x3cb64e[_0x2ad9cc(0x215)]),_0x5bb400[_0x2ad9cc(0x216)](_0x460dc4/_0x3cb64e[_0x2ad9cc(0x215)]);_0x5bb400=new Float32Array(_0x5bb400);for(var _0x10e59=[],_0x4c159d=[-0x1,0x1],_0x4e573d=[-0x1,0x1],_0x28cd22=0x0;_0x28cd22<_0x3cb64e[_0x2ad9cc(0x1d6)];_0x28cd22++)for(var _0xfc6ff1=0x0;_0xfc6ff1<0x2;_0xfc6ff1++)for(var _0x16883c=0x0;_0x16883c<0x2;_0x16883c++)_0x10e59['push'](_0x4c159d[_0xfc6ff1]),_0x10e59[_0x2ad9cc(0x216)](_0x4e573d[_0x16883c]),_0x10e59['push'](0x0);_0x10e59=new Float32Array(_0x10e59);for(var _0x5e7d6e=0x6*_0x3cb64e['maxParticles'],_0x4f385c=new Uint32Array(_0x5e7d6e),_0x2d41c5=0x0,_0x19f0ad=0x0,_0x3e139a=0x0;_0x2d41c5<_0x3cb64e[_0x2ad9cc(0x1d6)];_0x2d41c5++)_0x4f385c[_0x19f0ad++]=_0x3e139a+0x0,_0x4f385c[_0x19f0ad++]=_0x3e139a+0x1,_0x4f385c[_0x19f0ad++]=_0x3e139a+0x2,_0x4f385c[_0x19f0ad++]=_0x3e139a+0x2,_0x4f385c[_0x19f0ad++]=_0x3e139a+0x1,_0x4f385c[_0x19f0ad++]=_0x3e139a+0x3,_0x3e139a+=0x4;return new _0x9959f1[(_0x2ad9cc(0x132))]({'attributes':new _0x9959f1['GeometryAttributes']({'st':new _0x9959f1[(_0x2ad9cc(0x135))]({'componentDatatype':_0x9959f1[_0x2ad9cc(0x105)][_0x2ad9cc(0x229)],'componentsPerAttribute':0x2,'values':_0x5bb400}),'normal':new _0x9959f1[(_0x2ad9cc(0x135))]({'componentDatatype':_0x9959f1[_0x2ad9cc(0x105)][_0x2ad9cc(0x229)],'componentsPerAttribute':0x3,'values':_0x10e59})}),'indices':_0x4f385c});}},{'key':_0xc28323(0xc4),'value':function(_0x5ebb0b,_0x5eb459,_0x1a7add,_0x489c89){var _0x5a8c9d=_0xc28323,_0x5563d7=this;this[_0x5a8c9d(0x246)]={'segments':new _0x371b06({'commandType':'Draw','attributeLocations':{'st':0x0,'normal':0x1},'geometry':this[_0x5a8c9d(0x20c)](_0x5eb459),'primitiveType':_0x9959f1['PrimitiveType'][_0x5a8c9d(0x19b)],'uniformMap':{'currentParticlesPosition':function(){var _0x763357=_0x5a8c9d;return _0x489c89['particlesTextures'][_0x763357(0x242)];},'postProcessingPosition':function(){var _0x1e331f=_0x5a8c9d;return _0x489c89[_0x1e331f(0x14f)][_0x1e331f(0x1b0)];},'postProcessingSpeed':function(){var _0x1f0b0c=_0x5a8c9d;return _0x489c89[_0x1f0b0c(0x14f)][_0x1f0b0c(0xee)];},'colorTable':function(){var _0x57c82c=_0x5a8c9d;return _0x5563d7[_0x57c82c(0x184)][_0x57c82c(0x18b)];},'aspect':function(){var _0x33bb95=_0x5a8c9d;return _0x5ebb0b['drawingBufferWidth']/_0x5ebb0b[_0x33bb95(0xc2)];},'pixelSize':function(){var _0x46d394=_0x5a8c9d;return _0x1a7add[_0x46d394(0x1a0)];},'lineWidth':function(){var _0x5a5ade=_0x5a8c9d;return _0x5eb459[_0x5a5ade(0x112)];},'particleHeight':function(){var _0x2670d8=_0x5a8c9d;return _0x5eb459[_0x2670d8(0xf4)];}},'vertexShaderSource':new _0x9959f1[(_0x5a8c9d(0x1ca))]({'sources':[_0x176d84['a']]}),'fragmentShaderSource':new _0x9959f1[(_0x5a8c9d(0x1ca))]({'sources':[_0x24053f['a']]}),'rawRenderState':_0x18088c[_0x5a8c9d(0x1ab)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x5a8c9d(0x1bb)][_0x5a8c9d(0x186)],'autoClear':!0x0}),'trails':new _0x371b06({'commandType':_0x5a8c9d(0x1f7),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x18088c[_0x5a8c9d(0x13c)](),'primitiveType':_0x9959f1['PrimitiveType'][_0x5a8c9d(0x19b)],'uniformMap':{'segmentsColorTexture':function(){var _0xc362be=_0x5a8c9d;return _0x5563d7[_0xc362be(0x184)][_0xc362be(0x162)];},'segmentsDepthTexture':function(){return _0x5563d7['textures']['segmentsDepth'];},'currentTrailsColor':function(){var _0x11dc5e=_0x5a8c9d;return _0x5563d7['framebuffers'][_0x11dc5e(0x224)][_0x11dc5e(0x143)](0x0);},'trailsDepthTexture':function(){var _0x3b88ff=_0x5a8c9d;return _0x5563d7['framebuffers'][_0x3b88ff(0x224)]['depthTexture'];},'fadeOpacity':function(){return _0x5eb459['fadeOpacity'];}},'vertexShaderSource':new _0x9959f1[(_0x5a8c9d(0x1ca))]({'defines':[_0x5a8c9d(0xc9)],'sources':[_0x5c7fe1['a']]}),'fragmentShaderSource':new _0x9959f1[(_0x5a8c9d(0x1ca))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[_0x2ca896['a']]}),'rawRenderState':_0x18088c[_0x5a8c9d(0x1ab)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x9959f1['DepthFunction'][_0x5a8c9d(0xdc)]},'depthMask':!0x0}),'framebuffer':this[_0x5a8c9d(0x1bb)][_0x5a8c9d(0x1e2)],'autoClear':!0x0,'preExecute':function(){var _0x204f78=_0x5a8c9d,_0x2bf18f;_0x2bf18f=_0x5563d7[_0x204f78(0x1bb)][_0x204f78(0x224)],_0x5563d7[_0x204f78(0x1bb)][_0x204f78(0x224)]=_0x5563d7['framebuffers'][_0x204f78(0x1e2)],_0x5563d7[_0x204f78(0x1bb)]['nextTrails']=_0x2bf18f,_0x5563d7[_0x204f78(0x246)][_0x204f78(0x1fc)][_0x204f78(0xc5)][_0x204f78(0x204)]=_0x5563d7[_0x204f78(0x1bb)][_0x204f78(0x1e2)],_0x5563d7['primitives'][_0x204f78(0x1fc)][_0x204f78(0x151)][_0x204f78(0x204)]=_0x5563d7[_0x204f78(0x1bb)][_0x204f78(0x1e2)];}}),'screen':new _0x371b06({'commandType':_0x5a8c9d(0x1f7),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x18088c[_0x5a8c9d(0x13c)](),'primitiveType':_0x9959f1['PrimitiveType']['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){var _0x4ab215=_0x5a8c9d;return _0x5563d7[_0x4ab215(0x1bb)][_0x4ab215(0x1e2)][_0x4ab215(0x143)](0x0);},'trailsDepthTexture':function(){var _0x4f2d76=_0x5a8c9d;return _0x5563d7[_0x4f2d76(0x1bb)][_0x4f2d76(0x1e2)][_0x4f2d76(0x1e4)];}},'vertexShaderSource':new _0x9959f1[(_0x5a8c9d(0x1ca))]({'defines':[_0x5a8c9d(0xc9)],'sources':[_0x5c7fe1['a']]}),'fragmentShaderSource':new _0x9959f1[(_0x5a8c9d(0x1ca))]({'defines':[_0x5a8c9d(0x247)],'sources':[_0x1e46e9['a']]}),'rawRenderState':_0x18088c[_0x5a8c9d(0x1ab)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x3f379e;}()),_0x5d3bef=_0x222991(0xe),_0x533534=_0x222991['n'](_0x5d3bef),_0x115c9a=_0x222991(0xf),_0x4fb12e=_0x222991['n'](_0x115c9a),_0x567ba1=_0x222991(0x10),_0x43e36b=_0x222991['n'](_0x567ba1),_0x5d1d20=_0x222991(0x11),_0x35a650=_0x222991['n'](_0x5d1d20),_0x3f472a=_0x222991(0x12),_0x1e5045=_0x222991['n'](_0x3f472a),_0x2120d9=_0x42d146['Cesium'],_0x309863=(function(){var _0x1f5a46=_0xa3ba4f;function _0x4167b1(_0x1f0dba,_0x59ad7f,_0x4ac9a8,_0x233962){_0x4f6fab()(this,_0x4167b1),this['data']=_0x59ad7f,this['createWindTextures'](_0x1f0dba,_0x59ad7f),this['createParticlesTextures'](_0x1f0dba,_0x4ac9a8,_0x233962),this['createComputingPrimitives'](_0x59ad7f,_0x4ac9a8,_0x233962);}return _0x51dc09()(_0x4167b1,[{'key':_0x1f5a46(0xd2),'value':function(_0x5ee253,_0x1a66ce){var _0x4e30c5=_0x1f5a46,_0x5e4fe9={'context':_0x5ee253,'width':_0x1a66ce['dimensions']['lon'],'height':_0x1a66ce[_0x4e30c5(0x183)][_0x4e30c5(0x130)]*(_0x1a66ce[_0x4e30c5(0x183)]['lev']||0x1),'pixelFormat':_0x2120d9[_0x4e30c5(0x164)][_0x4e30c5(0xd3)],'pixelDatatype':_0x2120d9[_0x4e30c5(0x13b)][_0x4e30c5(0x229)],'flipY':!0x1,'sampler':new _0x2120d9['Sampler']({'minificationFilter':_0x2120d9[_0x4e30c5(0x18a)]['NEAREST'],'magnificationFilter':_0x2120d9[_0x4e30c5(0x110)]['NEAREST']})};this[_0x4e30c5(0x225)]={'U':_0x18088c[_0x4e30c5(0xe4)](_0x5e4fe9,_0x1a66ce['U'][_0x4e30c5(0x160)]),'V':_0x18088c[_0x4e30c5(0xe4)](_0x5e4fe9,_0x1a66ce['V'][_0x4e30c5(0x160)])};}},{'key':_0x1f5a46(0x1da),'value':function(_0x15fbf0,_0xcc76f5,_0x289d06){var _0x4b752c=_0x1f5a46,_0x4f00e0={'context':_0x15fbf0,'width':_0xcc76f5[_0x4b752c(0x215)],'height':_0xcc76f5['particlesTextureSize'],'pixelFormat':_0x2120d9[_0x4b752c(0x164)][_0x4b752c(0xe3)],'pixelDatatype':_0x2120d9[_0x4b752c(0x13b)][_0x4b752c(0x229)],'flipY':!0x1,'sampler':new _0x2120d9[(_0x4b752c(0x168))]({'minificationFilter':_0x2120d9[_0x4b752c(0x18a)][_0x4b752c(0x150)],'magnificationFilter':_0x2120d9[_0x4b752c(0x110)][_0x4b752c(0x150)]})},_0x140644=this['randomizeParticles'](_0xcc76f5[_0x4b752c(0x1d6)],_0x289d06),_0x37d9c8=new Float32Array(0x4*_0xcc76f5[_0x4b752c(0x1d6)])[_0x4b752c(0x14e)](0x0);this[_0x4b752c(0x14f)]={'particlesWind':_0x18088c[_0x4b752c(0xe4)](_0x4f00e0),'currentParticlesPosition':_0x18088c[_0x4b752c(0xe4)](_0x4f00e0,_0x140644),'nextParticlesPosition':_0x18088c[_0x4b752c(0xe4)](_0x4f00e0,_0x140644),'currentParticlesSpeed':_0x18088c[_0x4b752c(0xe4)](_0x4f00e0,_0x37d9c8),'nextParticlesSpeed':_0x18088c[_0x4b752c(0xe4)](_0x4f00e0,_0x37d9c8),'postProcessingPosition':_0x18088c[_0x4b752c(0xe4)](_0x4f00e0,_0x140644),'postProcessingSpeed':_0x18088c['createTexture'](_0x4f00e0,_0x37d9c8)};}},{'key':_0x1f5a46(0x167),'value':function(_0xd5a57d,_0x273bd2){var _0x5efdb9=_0x1f5a46;for(var _0x4fc2e8=new Float32Array(0x4*_0xd5a57d),_0x4c7a1a=0x0;_0x4c7a1a<_0xd5a57d;_0x4c7a1a++)_0x4fc2e8[0x4*_0x4c7a1a]=_0x2120d9[_0x5efdb9(0xed)][_0x5efdb9(0x193)](_0x273bd2[_0x5efdb9(0x12e)]['x'],_0x273bd2[_0x5efdb9(0x12e)]['y']),_0x4fc2e8[0x4*_0x4c7a1a+0x1]=_0x2120d9['Math'][_0x5efdb9(0x193)](_0x273bd2[_0x5efdb9(0x115)]['x'],_0x273bd2[_0x5efdb9(0x115)]['y']),_0x4fc2e8[0x4*_0x4c7a1a+0x2]=_0x2120d9[_0x5efdb9(0xed)][_0x5efdb9(0x193)](this[_0x5efdb9(0x1f2)][_0x5efdb9(0x1a3)][_0x5efdb9(0xeb)],this[_0x5efdb9(0x1f2)]['lev'][_0x5efdb9(0xc7)]),_0x4fc2e8[0x4*_0x4c7a1a+0x3]=0x0;return _0x4fc2e8;}},{'key':_0x1f5a46(0x15c),'value':function(){var _0x4aee61=_0x1f5a46,_0x55feee=this;Object[_0x4aee61(0x1a9)](this[_0x4aee61(0x14f)])[_0x4aee61(0x122)](function(_0x28249d){var _0xe0045c=_0x4aee61;_0x55feee[_0xe0045c(0x14f)][_0x28249d][_0xe0045c(0x1fb)]();});}},{'key':_0x1f5a46(0x154),'value':function(_0x7fc4b4,_0x3370fb,_0x17ca6e){var _0x2fa31a=_0x1f5a46,_0x3cdac5=new _0x2120d9[(_0x2fa31a(0x1d1))](_0x7fc4b4[_0x2fa31a(0x183)][_0x2fa31a(0x21a)],_0x7fc4b4[_0x2fa31a(0x183)]['lat'],_0x7fc4b4[_0x2fa31a(0x183)][_0x2fa31a(0x1a3)]),_0x48c09e=new _0x2120d9[(_0x2fa31a(0x1d1))](_0x7fc4b4[_0x2fa31a(0x21a)][_0x2fa31a(0xeb)],_0x7fc4b4['lat'][_0x2fa31a(0xeb)],_0x7fc4b4['lev'][_0x2fa31a(0xeb)]),_0xf96f8f=new _0x2120d9['Cartesian3'](_0x7fc4b4['lon'][_0x2fa31a(0xc7)],_0x7fc4b4['lat'][_0x2fa31a(0xc7)],_0x7fc4b4['lev'][_0x2fa31a(0xc7)]),_0x4782f4=new _0x2120d9['Cartesian3']((_0xf96f8f['x']-_0x48c09e['x'])/(_0x3cdac5['x']-0x1),(_0xf96f8f['y']-_0x48c09e['y'])/(_0x3cdac5['y']-0x1),_0x3cdac5['z']>0x1?(_0xf96f8f['z']-_0x48c09e['z'])/(_0x3cdac5['z']-0x1):0x1),_0x45c866=new _0x2120d9[(_0x2fa31a(0xce))](_0x7fc4b4['U'][_0x2fa31a(0xeb)],_0x7fc4b4['U'][_0x2fa31a(0xc7)]),_0x2e8cd2=new _0x2120d9[(_0x2fa31a(0xce))](_0x7fc4b4['V'][_0x2fa31a(0xeb)],_0x7fc4b4['V'][_0x2fa31a(0xc7)]),_0x1df92b=this;this[_0x2fa31a(0x246)]={'getWind':new _0x371b06({'commandType':_0x2fa31a(0xd6),'uniformMap':{'U':function(){return _0x1df92b['windTextures']['U'];},'V':function(){return _0x1df92b['windTextures']['V'];},'currentParticlesPosition':function(){var _0x5b15fa=_0x2fa31a;return _0x1df92b[_0x5b15fa(0x14f)][_0x5b15fa(0x242)];},'dimension':function(){return _0x3cdac5;},'minimum':function(){return _0x48c09e;},'maximum':function(){return _0xf96f8f;},'interval':function(){return _0x4782f4;}},'fragmentShaderSource':new _0x2120d9['ShaderSource']({'sources':[_0x533534['a']]}),'outputTexture':this[_0x2fa31a(0x14f)][_0x2fa31a(0x11b)],'preExecute':function(){var _0x305927=_0x2fa31a;_0x1df92b[_0x305927(0x246)][_0x305927(0x1ba)]['commandToExecute']['outputTexture']=_0x1df92b[_0x305927(0x14f)]['particlesWind'];}}),'updateSpeed':new _0x371b06({'commandType':_0x2fa31a(0xd6),'uniformMap':{'currentParticlesSpeed':function(){return _0x1df92b['particlesTextures']['currentParticlesSpeed'];},'particlesWind':function(){var _0xe8d3ed=_0x2fa31a;return _0x1df92b[_0xe8d3ed(0x14f)][_0xe8d3ed(0x11b)];},'uSpeedRange':function(){return _0x45c866;},'vSpeedRange':function(){return _0x2e8cd2;},'pixelSize':function(){return _0x17ca6e['pixelSize'];},'speedFactor':function(){return _0x3370fb['speedFactor'];}},'fragmentShaderSource':new _0x2120d9['ShaderSource']({'sources':[_0x4fb12e['a']]}),'outputTexture':this[_0x2fa31a(0x14f)][_0x2fa31a(0x194)],'preExecute':function(){var _0x11c294=_0x2fa31a,_0xed4d4d;_0xed4d4d=_0x1df92b[_0x11c294(0x14f)]['currentParticlesSpeed'],_0x1df92b[_0x11c294(0x14f)][_0x11c294(0x22b)]=_0x1df92b[_0x11c294(0x14f)]['postProcessingSpeed'],_0x1df92b[_0x11c294(0x14f)][_0x11c294(0xee)]=_0xed4d4d,_0x1df92b[_0x11c294(0x246)][_0x11c294(0x1dd)][_0x11c294(0xc5)]['outputTexture']=_0x1df92b[_0x11c294(0x14f)][_0x11c294(0x194)];}}),'updatePosition':new _0x371b06({'commandType':_0x2fa31a(0xd6),'uniformMap':{'currentParticlesPosition':function(){var _0x46d780=_0x2fa31a;return _0x1df92b[_0x46d780(0x14f)]['currentParticlesPosition'];},'currentParticlesSpeed':function(){var _0x3f101c=_0x2fa31a;return _0x1df92b['particlesTextures'][_0x3f101c(0x22b)];}},'fragmentShaderSource':new _0x2120d9[(_0x2fa31a(0x1ca))]({'sources':[_0x43e36b['a']]}),'outputTexture':this[_0x2fa31a(0x14f)][_0x2fa31a(0x174)],'preExecute':function(){var _0x51d184=_0x2fa31a,_0x1d75a4;_0x1d75a4=_0x1df92b[_0x51d184(0x14f)]['currentParticlesPosition'],_0x1df92b['particlesTextures'][_0x51d184(0x242)]=_0x1df92b[_0x51d184(0x14f)][_0x51d184(0x1b0)],_0x1df92b['particlesTextures'][_0x51d184(0x1b0)]=_0x1d75a4,_0x1df92b['primitives'][_0x51d184(0x207)][_0x51d184(0xc5)]['outputTexture']=_0x1df92b[_0x51d184(0x14f)][_0x51d184(0x174)];}}),'postProcessingPosition':new _0x371b06({'commandType':_0x2fa31a(0xd6),'uniformMap':{'nextParticlesPosition':function(){var _0x39b340=_0x2fa31a;return _0x1df92b[_0x39b340(0x14f)][_0x39b340(0x174)];},'nextParticlesSpeed':function(){return _0x1df92b['particlesTextures']['nextParticlesSpeed'];},'lonRange':function(){var _0x54cb47=_0x2fa31a;return _0x17ca6e[_0x54cb47(0x12e)];},'latRange':function(){var _0x296f8e=_0x2fa31a;return _0x17ca6e[_0x296f8e(0x115)];},'randomCoefficient':function(){var _0x2f75e2=_0x2fa31a,_0x3015cd=Math[_0x2f75e2(0x1f1)]();return _0x3015cd;},'dropRate':function(){var _0x2b4ecb=_0x2fa31a;return _0x3370fb[_0x2b4ecb(0x22e)];},'dropRateBump':function(){var _0x1700d8=_0x2fa31a;return _0x3370fb[_0x1700d8(0x1be)];}},'fragmentShaderSource':new _0x2120d9['ShaderSource']({'sources':[_0x35a650['a']]}),'outputTexture':this[_0x2fa31a(0x14f)][_0x2fa31a(0x1b0)],'preExecute':function(){var _0x345a75=_0x2fa31a;_0x1df92b[_0x345a75(0x246)][_0x345a75(0x1b0)][_0x345a75(0xc5)][_0x345a75(0x109)]=_0x1df92b[_0x345a75(0x14f)][_0x345a75(0x1b0)];}}),'postProcessingSpeed':new _0x371b06({'commandType':_0x2fa31a(0xd6),'uniformMap':{'postProcessingPosition':function(){var _0x5db74e=_0x2fa31a;return _0x1df92b['particlesTextures'][_0x5db74e(0x1b0)];},'nextParticlesSpeed':function(){var _0x4acd32=_0x2fa31a;return _0x1df92b['particlesTextures'][_0x4acd32(0x194)];}},'fragmentShaderSource':new _0x2120d9[(_0x2fa31a(0x1ca))]({'sources':[_0x1e5045['a']]}),'outputTexture':this[_0x2fa31a(0x14f)][_0x2fa31a(0xee)],'preExecute':function(){var _0x1546e1=_0x2fa31a;_0x1df92b[_0x1546e1(0x246)][_0x1546e1(0xee)][_0x1546e1(0xc5)][_0x1546e1(0x109)]=_0x1df92b[_0x1546e1(0x14f)][_0x1546e1(0xee)];}})};}}]),_0x4167b1;}());function _0x5b3e36(_0x1593f6,_0x52427c){var _0x33a7a8=_0xa3ba4f,_0x5c8338=Object[_0x33a7a8(0x1a9)](_0x1593f6);if(Object['getOwnPropertySymbols']){var _0x20c14c=Object[_0x33a7a8(0x233)](_0x1593f6);_0x52427c&&(_0x20c14c=_0x20c14c[_0x33a7a8(0x239)](function(_0xd49d31){var _0x325ce7=_0x33a7a8;return Object[_0x325ce7(0x21d)](_0x1593f6,_0xd49d31)[_0x325ce7(0x1cd)];})),_0x5c8338[_0x33a7a8(0x216)]['apply'](_0x5c8338,_0x20c14c);}return _0x5c8338;}var _0x24b964=_0x42d146[_0xa3ba4f(0xd4)],_0x2daa13=(function(){var _0x592c33=_0xa3ba4f;function _0x31f1e1(_0x8eb6a9,_0x2a2e15,_0x5a5812,_0x441d7c){var _0x110c37=a0_0x1ed0,_0x205be3,_0x4f23a1,_0x253907,_0x495b5c,_0x36be6c,_0x298baf;(_0x4f6fab()(this,_0x31f1e1),this['context']=_0x8eb6a9,(_0x2a2e15=function(_0x1de9fd){var _0x4137bd=a0_0x1ed0;for(var _0x243593=0x1;_0x243593<arguments[_0x4137bd(0x125)];_0x243593++){var _0x35d832=null!=arguments[_0x243593]?arguments[_0x243593]:{};_0x243593%0x2?_0x5b3e36(Object(_0x35d832),!0x0)[_0x4137bd(0x122)](function(_0x536738){_0x35f16c()(_0x1de9fd,_0x536738,_0x35d832[_0x536738]);}):Object['getOwnPropertyDescriptors']?Object['defineProperties'](_0x1de9fd,Object[_0x4137bd(0x1b8)](_0x35d832)):_0x5b3e36(Object(_0x35d832))[_0x4137bd(0x122)](function(_0x2f900){var _0x2566e0=_0x4137bd;Object[_0x2566e0(0x1b7)](_0x1de9fd,_0x2f900,Object[_0x2566e0(0x21d)](_0x35d832,_0x2f900));});}return _0x1de9fd;}({},_0x2a2e15))[_0x110c37(0x1a5)]&&_0x2a2e15[_0x110c37(0x1f9)])&&(_0x2a2e15[_0x110c37(0x183)]={},_0x2a2e15[_0x110c37(0x183)][_0x110c37(0x21a)]=_0x2a2e15['cols'],_0x2a2e15[_0x110c37(0x183)][_0x110c37(0x130)]=_0x2a2e15[_0x110c37(0x1aa)],_0x2a2e15[_0x110c37(0x183)][_0x110c37(0x1a3)]=_0x2a2e15[_0x110c37(0x1a3)]||0x1,_0x2a2e15[_0x110c37(0x21a)]={},_0x2a2e15['lon'][_0x110c37(0xeb)]=_0x2a2e15['xmin'],_0x2a2e15[_0x110c37(0x21a)][_0x110c37(0xc7)]=_0x2a2e15[_0x110c37(0x1f6)],_0x2a2e15[_0x110c37(0x130)]={},_0x2a2e15[_0x110c37(0x130)]['min']=_0x2a2e15['ymin'],_0x2a2e15[_0x110c37(0x130)][_0x110c37(0xc7)]=_0x2a2e15['ymax'],_0x2a2e15[_0x110c37(0x1a3)]={},_0x2a2e15[_0x110c37(0x1a3)][_0x110c37(0xeb)]=null!==(_0x205be3=_0x2a2e15[_0x110c37(0xe8)])&&void 0x0!==_0x205be3?_0x205be3:0x1,_0x2a2e15['lev'][_0x110c37(0xc7)]=null!==(_0x4f23a1=_0x2a2e15[_0x110c37(0x1ac)])&&void 0x0!==_0x4f23a1?_0x4f23a1:0x1,_0x2a2e15['U']={},_0x2a2e15['U'][_0x110c37(0x160)]=new Float32Array(_0x2a2e15[_0x110c37(0x1a5)]),_0x2a2e15['U'][_0x110c37(0xeb)]=null!==(_0x253907=_0x2a2e15[_0x110c37(0x23d)])&&void 0x0!==_0x253907?_0x253907:Math[_0x110c37(0xeb)]['apply'](Math,_0x183692()(_0x2a2e15[_0x110c37(0x1a5)])),_0x2a2e15['U'][_0x110c37(0xc7)]=null!==(_0x495b5c=_0x2a2e15[_0x110c37(0x22f)])&&void 0x0!==_0x495b5c?_0x495b5c:Math[_0x110c37(0xc7)][_0x110c37(0x1e9)](Math,_0x183692()(_0x2a2e15['udata'])),_0x2a2e15['V']={},_0x2a2e15['V'][_0x110c37(0x160)]=new Float32Array(_0x2a2e15[_0x110c37(0x1f9)]),_0x2a2e15['V'][_0x110c37(0xeb)]=null!==(_0x36be6c=_0x2a2e15[_0x110c37(0x230)])&&void 0x0!==_0x36be6c?_0x36be6c:Math[_0x110c37(0xeb)][_0x110c37(0x1e9)](Math,_0x183692()(_0x2a2e15[_0x110c37(0x1f9)])),_0x2a2e15['V']['max']=null!==(_0x298baf=_0x2a2e15[_0x110c37(0x1a4)])&&void 0x0!==_0x298baf?_0x298baf:Math[_0x110c37(0xc7)][_0x110c37(0x1e9)](Math,_0x183692()(_0x2a2e15[_0x110c37(0x1f9)]))),(this['data']=_0x2a2e15,this['options']=_0x5a5812,this['viewerParameters']=_0x441d7c,this[_0x110c37(0x16e)]=new _0x309863(this[_0x110c37(0xfb)],this[_0x110c37(0x1f2)],this[_0x110c37(0xff)],this['viewerParameters']),this[_0x110c37(0x1d3)]=new _0x16d38b(this['context'],this['data'],this[_0x110c37(0xff)],this[_0x110c37(0xec)],this[_0x110c37(0x16e)]));}return _0x51dc09()(_0x31f1e1,[{'key':_0x592c33(0x1f5),'value':function(_0xf36947){var _0x507d28=_0x592c33,_0x79c14d=this;this[_0x507d28(0x16e)][_0x507d28(0x15c)](),Object[_0x507d28(0x1a9)](this[_0x507d28(0x16e)][_0x507d28(0x225)])['forEach'](function(_0x279b2b){var _0x238d6b=_0x507d28;_0x79c14d[_0x238d6b(0x16e)][_0x238d6b(0x225)][_0x279b2b][_0x238d6b(0x1fb)]();}),this[_0x507d28(0x1d3)]['textures'][_0x507d28(0x18b)][_0x507d28(0x1fb)](),Object[_0x507d28(0x1a9)](this['particlesRendering'][_0x507d28(0x1bb)])[_0x507d28(0x122)](function(_0x1890a0){var _0x55cd65=_0x507d28;_0x79c14d[_0x55cd65(0x1d3)][_0x55cd65(0x1bb)][_0x1890a0][_0x55cd65(0x1fb)]();}),this[_0x507d28(0xfb)]=_0xf36947,this[_0x507d28(0x16e)]=new _0x309863(this[_0x507d28(0xfb)],this['data'],this[_0x507d28(0xff)],this[_0x507d28(0xec)]),this[_0x507d28(0x1d3)]=new _0x16d38b(this[_0x507d28(0xfb)],this[_0x507d28(0x1f2)],this[_0x507d28(0xff)],this[_0x507d28(0xec)],this['particlesComputing']);}},{'key':_0x592c33(0x131),'value':function(){var _0x22c7a8=_0x592c33,_0x30063b=this,_0x4f8644=new _0x24b964[(_0x22c7a8(0x1a2))]({'color':new _0x24b964[(_0x22c7a8(0x21c))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x24b964[_0x22c7a8(0x101)][_0x22c7a8(0x108)]});Object[_0x22c7a8(0x1a9)](this['particlesRendering']['framebuffers'])[_0x22c7a8(0x122)](function(_0x58a1b6){var _0x5ecca5=_0x22c7a8;_0x4f8644[_0x5ecca5(0x204)]=_0x30063b['particlesRendering'][_0x5ecca5(0x1bb)][_0x58a1b6],_0x4f8644[_0x5ecca5(0xfa)](_0x30063b[_0x5ecca5(0xfb)]);});}},{'key':_0x592c33(0x203),'value':function(_0xa37a1e){var _0x9c8b48=_0x592c33;if(this[_0x9c8b48(0x131)](),this[_0x9c8b48(0x16e)][_0x9c8b48(0x15c)](),this[_0x9c8b48(0x16e)][_0x9c8b48(0x1da)](this[_0x9c8b48(0xfb)],this[_0x9c8b48(0xff)],this['viewerParameters']),_0xa37a1e){var _0x2844c0=this[_0x9c8b48(0x1d3)][_0x9c8b48(0x20c)](this[_0x9c8b48(0xff)]);this[_0x9c8b48(0x1d3)][_0x9c8b48(0x246)][_0x9c8b48(0x186)][_0x9c8b48(0x226)]=_0x2844c0;var _0x5d551d=_0x24b964[_0x9c8b48(0xde)][_0x9c8b48(0xdf)]({'context':this[_0x9c8b48(0xfb)],'geometry':_0x2844c0,'attributeLocations':this[_0x9c8b48(0x1d3)][_0x9c8b48(0x246)][_0x9c8b48(0x186)][_0x9c8b48(0x23f)],'bufferUsage':_0x24b964[_0x9c8b48(0x220)][_0x9c8b48(0xef)]});this[_0x9c8b48(0x1d3)][_0x9c8b48(0x246)][_0x9c8b48(0x186)][_0x9c8b48(0xc5)]['vertexArray']=_0x5d551d;}}},{'key':'setOptions','value':function(_0x183601){var _0x43cec3=_0x592c33,_0x2e1a84=this,_0x3806a6=!0x1;this[_0x43cec3(0xff)][_0x43cec3(0x1d6)]!=_0x183601[_0x43cec3(0x1d6)]&&(_0x3806a6=!0x0),Object[_0x43cec3(0x1a9)](_0x183601)[_0x43cec3(0x122)](function(_0x1978f5){var _0x5da254=_0x43cec3;_0x2e1a84[_0x5da254(0xff)][_0x1978f5]=_0x183601[_0x1978f5];}),this[_0x43cec3(0x203)](_0x3806a6);}},{'key':_0x592c33(0x182),'value':function(_0x3b5ce8){var _0x4fb4de=_0x592c33,_0x3b2e98=this;Object['keys'](_0x3b5ce8)[_0x4fb4de(0x122)](function(_0x2be2d9){var _0x186f0f=_0x4fb4de;_0x3b2e98[_0x186f0f(0xec)][_0x2be2d9]=_0x3b5ce8[_0x2be2d9];}),this[_0x4fb4de(0x203)](!0x1);}},{'key':'destroy','value':function(){var _0x3c2c8e=_0x592c33,_0x1a2650=this;for(var _0x4448ed in(clearTimeout(this[_0x3c2c8e(0x177)]),this[_0x3c2c8e(0x16e)]['destroyParticlesTextures'](),Object['keys'](this[_0x3c2c8e(0x16e)][_0x3c2c8e(0x225)])[_0x3c2c8e(0x122)](function(_0x398ec6){var _0x2181b0=_0x3c2c8e;_0x1a2650['particlesComputing']['windTextures'][_0x398ec6][_0x2181b0(0x1fb)]();}),this['particlesRendering']['textures'][_0x3c2c8e(0x18b)][_0x3c2c8e(0x1fb)](),Object[_0x3c2c8e(0x1a9)](this[_0x3c2c8e(0x1d3)][_0x3c2c8e(0x1bb)])[_0x3c2c8e(0x122)](function(_0x2a4856){var _0x3f672b=_0x3c2c8e;_0x1a2650[_0x3f672b(0x1d3)][_0x3f672b(0x1bb)][_0x2a4856][_0x3f672b(0x1fb)]();}),this))delete this[_0x4448ed];}}]),_0x31f1e1;}());function _0x2fc7ab(_0x10b35b,_0xc27590){var _0x19d1c9=_0xa3ba4f,_0x4e0f9c=Object[_0x19d1c9(0x1a9)](_0x10b35b);if(Object[_0x19d1c9(0x233)]){var _0xdac77b=Object[_0x19d1c9(0x233)](_0x10b35b);_0xc27590&&(_0xdac77b=_0xdac77b[_0x19d1c9(0x239)](function(_0x4d8029){var _0x3aa3c5=_0x19d1c9;return Object[_0x3aa3c5(0x21d)](_0x10b35b,_0x4d8029)[_0x3aa3c5(0x1cd)];})),_0x4e0f9c[_0x19d1c9(0x216)][_0x19d1c9(0x1e9)](_0x4e0f9c,_0xdac77b);}return _0x4e0f9c;}function _0x2c9153(_0x199c87){var _0x51c2d9=_0xa3ba4f;for(var _0x255835=0x1;_0x255835<arguments[_0x51c2d9(0x125)];_0x255835++){var _0xbd5e71=null!=arguments[_0x255835]?arguments[_0x255835]:{};_0x255835%0x2?_0x2fc7ab(Object(_0xbd5e71),!0x0)[_0x51c2d9(0x122)](function(_0xce3b5c){_0x35f16c()(_0x199c87,_0xce3b5c,_0xbd5e71[_0xce3b5c]);}):Object[_0x51c2d9(0x1b8)]?Object[_0x51c2d9(0xe2)](_0x199c87,Object[_0x51c2d9(0x1b8)](_0xbd5e71)):_0x2fc7ab(Object(_0xbd5e71))[_0x51c2d9(0x122)](function(_0x401b56){var _0x39e3ed=_0x51c2d9;Object[_0x39e3ed(0x1b7)](_0x199c87,_0x401b56,Object[_0x39e3ed(0x21d)](_0xbd5e71,_0x401b56));});}return _0x199c87;}function _0x5dbb97(_0x195e40){var _0x4bd6a7=(function(){var _0x18ed00=a0_0x1ed0;if(_0x18ed00(0x137)==typeof Reflect||!Reflect[_0x18ed00(0x117)])return!0x1;if(Reflect[_0x18ed00(0x117)]['sham'])return!0x1;if(_0x18ed00(0x1d0)==typeof Proxy)return!0x0;try{return Boolean[_0x18ed00(0x17e)][_0x18ed00(0x22a)][_0x18ed00(0x127)](Reflect[_0x18ed00(0x117)](Boolean,[],function(){})),!0x0;}catch(_0x445be0){return!0x1;}}());return function(){var _0x4ef6dc=a0_0x1ed0,_0x3a754f,_0xf3308b=_0x42d417()(_0x195e40);if(_0x4bd6a7){var _0x87a891=_0x42d417()(this)[_0x4ef6dc(0xd7)];_0x3a754f=Reflect[_0x4ef6dc(0x117)](_0xf3308b,arguments,_0x87a891);}else _0x3a754f=_0xf3308b[_0x4ef6dc(0x1e9)](this,arguments);return _0x28e2c()(this,_0x3a754f);};}var _0x1c11da=_0x42d146[_0xa3ba4f(0xd4)],_0x26e0b9=_0x42d146[_0xa3ba4f(0x16a)][_0xa3ba4f(0x118)],_0x2ecc90={'particlesNumber':0x1000,'fixedHeight':0x0,'fadeOpacity':0.996,'dropRate':0.003,'dropRateBump':0.01,'speedFactor':0.5,'lineWidth':0x2,'colors':['rgb(206,255,255)']},_0x433040=function(_0x39573b){var _0x3e20ad=_0xa3ba4f;_0x3cc0d7()(_0x1e24f1,_0x39573b);var _0x19bdfd=_0x5dbb97(_0x1e24f1);function _0x1e24f1(){var _0x13fa57=a0_0x1ed0,_0x59fa79,_0x15b855=arguments[_0x13fa57(0x125)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x4f6fab()(this,_0x1e24f1),_0x15b855=_0x2c9153(_0x2c9153({},_0x2ecc90),_0x15b855),(_0x59fa79=_0x19bdfd['call'](this,_0x15b855))[_0x13fa57(0x14d)](_0x15b855),_0x59fa79;}return _0x51dc09()(_0x1e24f1,[{'key':_0x3e20ad(0x16a),'get':function(){return this['primitives'];}},{'key':_0x3e20ad(0x1f2),'get':function(){var _0x5bf39d=_0x3e20ad;return this[_0x5bf39d(0x20d)];},'set':function(_0x2c0d4c){var _0xb3a402=_0x3e20ad;this[_0xb3a402(0x13a)](_0x2c0d4c);}},{'key':_0x3e20ad(0x153),'get':function(){var _0x152c4=_0x3e20ad;return this[_0x152c4(0xff)][_0x152c4(0x153)];},'set':function(_0x4afc21){var _0x51dfea=_0x3e20ad;this[_0x51dfea(0xff)][_0x51dfea(0x153)]=_0x4afc21,this['particleSystem']&&this['particleSystem'][_0x51dfea(0x206)]({'colors':_0x4afc21}),this[_0x51dfea(0x20e)]();}},{'key':_0x3e20ad(0x20a),'value':function(){}},{'key':_0x3e20ad(0x248),'value':function(){var _0x32c4ee=_0x3e20ad;this['scene']=this[_0x32c4ee(0x1a8)][_0x32c4ee(0x228)],this[_0x32c4ee(0x1eb)]=this[_0x32c4ee(0x1a8)]['camera'],this[_0x32c4ee(0x246)]=new _0x1c11da[(_0x32c4ee(0x139))](),this[_0x32c4ee(0x1a8)][_0x32c4ee(0x228)][_0x32c4ee(0x246)]['add'](this[_0x32c4ee(0x246)]),this[_0x32c4ee(0xec)]={'lonRange':new _0x1c11da[(_0x32c4ee(0xce))](),'latRange':new _0x1c11da['Cartesian2'](),'pixelSize':0x0},this[_0x32c4ee(0x106)]=new _0x1c11da[(_0x32c4ee(0xdd))](_0x1c11da['Cartesian3']['ZERO'],6314355.63),this[_0x32c4ee(0x227)](),window[_0x32c4ee(0x1ce)](_0x32c4ee(0x20e),this[_0x32c4ee(0x20e)][_0x32c4ee(0x209)](this),!0x1),this[_0x32c4ee(0x157)]=!0x1,this[_0x32c4ee(0x149)]=!0x1,this[_0x32c4ee(0x1a8)]['on'](_0x42d146['EventType'][_0x32c4ee(0xf2)],this['_onMapWhellEvent'],this),this[_0x32c4ee(0x1a8)]['on'](_0x42d146['EventType'][_0x32c4ee(0x171)],this[_0x32c4ee(0x1d8)],this),this['_map']['on'](_0x42d146[_0x32c4ee(0x12d)][_0x32c4ee(0x1b4)],this[_0x32c4ee(0x24a)],this),this[_0x32c4ee(0x1a8)]['on'](_0x42d146['EventType'][_0x32c4ee(0x1c3)],this['_onMouseMoveEvent'],this),this[_0x32c4ee(0x20d)]&&this['setData'](this['_data']);}},{'key':'_removedHook','value':function(){var _0x95fb1=_0x3e20ad;window[_0x95fb1(0x1e3)](_0x95fb1(0x20e),this[_0x95fb1(0x20e)]),this['_map'][_0x95fb1(0x102)](_0x42d146['EventType']['preRender'],this['_onMap_preRenderEvent'],this),this[_0x95fb1(0x1a8)][_0x95fb1(0x102)](_0x42d146[_0x95fb1(0x12d)][_0x95fb1(0xf2)],this[_0x95fb1(0x187)],this),this[_0x95fb1(0x1a8)][_0x95fb1(0x102)](_0x42d146['EventType'][_0x95fb1(0x171)],this[_0x95fb1(0x1d8)],this),this[_0x95fb1(0x1a8)][_0x95fb1(0x102)](_0x42d146[_0x95fb1(0x12d)][_0x95fb1(0x1b4)],this['_onMouseUpEvent'],this),this[_0x95fb1(0x1a8)][_0x95fb1(0x102)](_0x42d146[_0x95fb1(0x12d)][_0x95fb1(0x1c3)],this[_0x95fb1(0x19d)],this),this[_0x95fb1(0x246)]['removeAll'](),this[_0x95fb1(0x1a8)][_0x95fb1(0x228)][_0x95fb1(0x246)]['remove'](this['primitives']);}},{'key':'resize','value':function(){var _0xe33460=_0x3e20ad;this[_0xe33460(0x1c2)]&&this[_0xe33460(0x19e)]&&(this[_0xe33460(0x246)][_0xe33460(0x1c2)]=!0x1,this[_0xe33460(0x246)][_0xe33460(0x12b)](),this[_0xe33460(0x1a8)][_0xe33460(0x200)](_0x42d146[_0xe33460(0x12d)]['preRender'],this[_0xe33460(0xdb)],this));}},{'key':_0x3e20ad(0xdb),'value':function(_0xadda59){var _0x116c7c=_0x3e20ad;this[_0x116c7c(0x19e)][_0x116c7c(0x1f5)](this[_0x116c7c(0x228)]['context']),this[_0x116c7c(0x175)](),this['primitives'][_0x116c7c(0x1c2)]=!0x0;}},{'key':_0x3e20ad(0x187),'value':function(_0x40ef8c){var _0x1c953f=_0x3e20ad,_0x597dd3=this;clearTimeout(this[_0x1c953f(0x18c)]),this['show']&&this['particleSystem']&&(this['primitives'][_0x1c953f(0x1c2)]=!0x1,this[_0x1c953f(0x18c)]=setTimeout(function(){var _0x26a0e2=_0x1c953f;_0x597dd3[_0x26a0e2(0x1c2)]&&_0x597dd3[_0x26a0e2(0x1c0)]();},0xc8));}},{'key':_0x3e20ad(0x1d8),'value':function(_0x3e446b){var _0x188c35=_0x3e20ad;this[_0x188c35(0x157)]=!0x0;}},{'key':_0x3e20ad(0x19d),'value':function(_0x1bf20f){var _0x143ba7=_0x3e20ad;this[_0x143ba7(0x1c2)]&&this[_0x143ba7(0x19e)]&&this[_0x143ba7(0x157)]&&(this[_0x143ba7(0x246)][_0x143ba7(0x1c2)]=!0x1,this[_0x143ba7(0x149)]=!0x0);}},{'key':'_onMouseUpEvent','value':function(_0x10e883){var _0x31acdc=_0x3e20ad;this[_0x31acdc(0x1c2)]&&this[_0x31acdc(0x19e)]&&(this[_0x31acdc(0x157)]&&this['mouse_move']&&this[_0x31acdc(0x1c0)](),this[_0x31acdc(0x246)]['show']=!0x0,this['mouse_down']=!0x1,this[_0x31acdc(0x149)]=!0x1);}},{'key':'redraw','value':function(){var _0x10cc58=_0x3e20ad;this['_map']&&this['show']&&(this[_0x10cc58(0x227)](),this[_0x10cc58(0x19e)][_0x10cc58(0x182)](this['viewerParameters']),this[_0x10cc58(0x246)][_0x10cc58(0x1c2)]=!0x0);}},{'key':_0x3e20ad(0x13a),'value':function(_0x32dfa8){var _0x1dd575=_0x3e20ad;this[_0x1dd575(0x20d)]=_0x32dfa8,this[_0x1dd575(0x19e)]&&this[_0x1dd575(0x19e)][_0x1dd575(0x1fb)](),this[_0x1dd575(0x19e)]=new _0x2daa13(this[_0x1dd575(0x228)]['context'],_0x32dfa8,this[_0x1dd575(0x133)](),this[_0x1dd575(0xec)]),this[_0x1dd575(0x175)]();}},{'key':_0x3e20ad(0x14d),'value':function(_0x325b19){var _0x1fa59a=_0x3e20ad;if(_0x325b19){for(var _0x56ce1e in _0x325b19)this[_0x56ce1e]=_0x325b19[_0x56ce1e];}this[_0x1fa59a(0x19e)]&&this[_0x1fa59a(0x19e)][_0x1fa59a(0x206)](this[_0x1fa59a(0x133)]());}},{'key':_0x3e20ad(0x133),'value':function(){var _0x4d913f=_0x3e20ad,_0x2c2adb=Math[_0x4d913f(0x20b)](Math[_0x4d913f(0x142)](this[_0x4d913f(0x16f)]));return this[_0x4d913f(0x16f)]=_0x2c2adb*_0x2c2adb,{'particlesTextureSize':_0x2c2adb,'maxParticles':this[_0x4d913f(0x16f)],'particleHeight':this[_0x4d913f(0x15b)],'fadeOpacity':this[_0x4d913f(0x1c7)],'dropRate':this[_0x4d913f(0x22e)],'dropRateBump':this['dropRateBump'],'speedFactor':this[_0x4d913f(0x190)],'lineWidth':this['lineWidth'],'globeLayer':this[_0x4d913f(0xcc)],'WMS_URL':this[_0x4d913f(0x1e6)],'colors':this[_0x4d913f(0x153)]};}},{'key':_0x3e20ad(0x175),'value':function(){var _0x56758f=_0x3e20ad;this[_0x56758f(0x246)][_0x56758f(0xf5)](this[_0x56758f(0x19e)][_0x56758f(0x16e)][_0x56758f(0x246)][_0x56758f(0x1ba)]),this[_0x56758f(0x246)][_0x56758f(0xf5)](this[_0x56758f(0x19e)][_0x56758f(0x16e)][_0x56758f(0x246)][_0x56758f(0x1dd)]),this[_0x56758f(0x246)]['add'](this[_0x56758f(0x19e)][_0x56758f(0x16e)]['primitives'][_0x56758f(0x207)]),this['primitives'][_0x56758f(0xf5)](this[_0x56758f(0x19e)][_0x56758f(0x16e)][_0x56758f(0x246)][_0x56758f(0x1b0)]),this[_0x56758f(0x246)]['add'](this['particleSystem'][_0x56758f(0x16e)]['primitives'][_0x56758f(0xee)]),this[_0x56758f(0x246)][_0x56758f(0xf5)](this[_0x56758f(0x19e)][_0x56758f(0x1d3)][_0x56758f(0x246)][_0x56758f(0x186)]),this[_0x56758f(0x246)]['add'](this[_0x56758f(0x19e)][_0x56758f(0x1d3)][_0x56758f(0x246)]['trails']),this[_0x56758f(0x246)][_0x56758f(0xf5)](this[_0x56758f(0x19e)][_0x56758f(0x1d3)][_0x56758f(0x246)][_0x56758f(0x16b)]);}},{'key':_0x3e20ad(0x227),'value':function(){var _0x1d3615=_0x3e20ad,_0x36725d=this[_0x1d3615(0x1eb)][_0x1d3615(0x1f3)](this[_0x1d3615(0x228)][_0x1d3615(0x17c)][_0x1d3615(0x1db)]);if(!_0x36725d){var _0x326fe9=this[_0x1d3615(0x1a8)]['getExtent']();_0x36725d=_0x1c11da['Rectangle'][_0x1d3615(0x1b1)](_0x326fe9['xmin'],_0x326fe9[_0x1d3615(0x16c)],_0x326fe9[_0x1d3615(0x1f6)],_0x326fe9[_0x1d3615(0x15a)]);}var _0x305ad2=_0x18088c[_0x1d3615(0x14a)](_0x36725d);this[_0x1d3615(0xec)]['lonRange']['x']=_0x305ad2[_0x1d3615(0x21a)][_0x1d3615(0xeb)],this[_0x1d3615(0xec)][_0x1d3615(0x12e)]['y']=_0x305ad2[_0x1d3615(0x21a)][_0x1d3615(0xc7)],this[_0x1d3615(0xec)][_0x1d3615(0x115)]['x']=_0x305ad2[_0x1d3615(0x130)][_0x1d3615(0xeb)],this['viewerParameters'][_0x1d3615(0x115)]['y']=_0x305ad2['lat']['max'];var _0x2262c8=this[_0x1d3615(0x1eb)][_0x1d3615(0x1f8)](this[_0x1d3615(0x106)],this[_0x1d3615(0x228)][_0x1d3615(0xcd)],this[_0x1d3615(0x228)][_0x1d3615(0xc2)]);_0x2262c8>0x0&&(this[_0x1d3615(0xec)][_0x1d3615(0x1a0)]=_0x2262c8);}}]),_0x1e24f1;}(_0x26e0b9);_0x42d146['LayerUtil'][_0xa3ba4f(0x1a1)](_0xa3ba4f(0x1b5),_0x433040),_0x42d146[_0xa3ba4f(0x16a)][_0xa3ba4f(0xe0)]=_0x433040;var _0x21ab2c=_0x51dc09()(function _0x19cb79(){var _0x133aa7=_0xa3ba4f;_0x4f6fab()(this,_0x19cb79),this[_0x133aa7(0xe6)]=null,this[_0x133aa7(0x130)]=null,this[_0x133aa7(0x100)]=null,this['tlat']=null,this[_0x133aa7(0x14b)]=null;}),_0x4d02ba=(function(){var _0x575434=_0xa3ba4f;function _0x1bb393(_0x542fb6,_0x26108c){var _0x1724d0=a0_0x1ed0;_0x4f6fab()(this,_0x1bb393),this[_0x1724d0(0x1aa)]=_0x542fb6[_0x1724d0(0x1aa)],this[_0x1724d0(0x179)]=_0x542fb6[_0x1724d0(0x179)],this[_0x1724d0(0xcf)]=_0x542fb6[_0x1724d0(0xcf)],this[_0x1724d0(0x1f6)]=_0x542fb6[_0x1724d0(0x1f6)],this[_0x1724d0(0x16c)]=_0x542fb6[_0x1724d0(0x16c)],this[_0x1724d0(0x15a)]=_0x542fb6[_0x1724d0(0x15a)],this[_0x1724d0(0x214)]=[];var _0x38420d=_0x542fb6[_0x1724d0(0x1a5)],_0x55c91e=_0x542fb6[_0x1724d0(0x1f9)],_0x3bf223=!0x1;_0x38420d[_0x1724d0(0x125)]===this['rows']&&_0x38420d[0x0][_0x1724d0(0x125)]===this[_0x1724d0(0x179)]&&(_0x3bf223=!0x0);for(var _0x108e1a=0x0,_0xbabcd7=null,_0x19c8dd=null,_0x52878e=0x0;_0x52878e<this[_0x1724d0(0x1aa)];_0x52878e++){_0xbabcd7=[];for(var _0x517aad=0x0;_0x517aad<this[_0x1724d0(0x179)];_0x517aad++,_0x108e1a++)_0x19c8dd=_0x3bf223?this['_calcUV'](_0x38420d[_0x52878e][_0x517aad],_0x55c91e[_0x52878e][_0x517aad]):this[_0x1724d0(0x10d)](_0x38420d[_0x108e1a],_0x55c91e[_0x108e1a]),_0xbabcd7[_0x1724d0(0x216)](_0x19c8dd);this[_0x1724d0(0x214)][_0x1724d0(0x216)](_0xbabcd7);}_0x26108c&&this[_0x1724d0(0x214)][_0x1724d0(0x128)]();}return _0x51dc09()(_0x1bb393,[{'key':_0x575434(0x218),'value':function(_0x39b6eb,_0x3d7943){var _0x2698cb=_0x575434;return{'x':(_0x39b6eb-this['xmin'])/(this[_0x2698cb(0x1f6)]-this[_0x2698cb(0xcf)])*(this[_0x2698cb(0x179)]-0x1),'y':(this[_0x2698cb(0x15a)]-_0x3d7943)/(this[_0x2698cb(0x15a)]-this['ymin'])*(this[_0x2698cb(0x1aa)]-0x1)};}},{'key':_0x575434(0x210),'value':function(_0x3c1409,_0x40e301){var _0x3f8f58=_0x575434;if(_0x3c1409<0x0||_0x3c1409>=this[_0x3f8f58(0x179)]||_0x40e301>=this['rows'])return[0x0,0x0,0x0];var _0x38f4c5,_0x35af9e,_0xcb519d=Math[_0x3f8f58(0x18e)](_0x3c1409),_0x794440=Math[_0x3f8f58(0x18e)](_0x40e301);if(_0xcb519d===_0x3c1409&&_0x794440===_0x40e301)return this['grid'][_0x40e301][_0x3c1409];_0x38f4c5=_0xcb519d+0x1,_0x35af9e=_0x794440+0x1;var _0x238b1d=this[_0x3f8f58(0x210)](_0xcb519d,_0x794440),_0x9ae04b=this[_0x3f8f58(0x210)](_0x38f4c5,_0x794440),_0xe245e2=this['getUVByXY'](_0xcb519d,_0x35af9e),_0x45d8ab=this[_0x3f8f58(0x210)](_0x38f4c5,_0x35af9e),_0x19c296=null;try{_0x19c296=this[_0x3f8f58(0x238)](_0x3c1409-_0xcb519d,_0x40e301-_0x794440,_0x238b1d,_0x9ae04b,_0xe245e2,_0x45d8ab);}catch(_0x1a19de){console['log'](_0x3c1409,_0x40e301);}return _0x19c296;}},{'key':_0x575434(0x238),'value':function(_0x352228,_0x1cb606,_0x530c55,_0x1a3b43,_0x6e66aa,_0x116c42){var _0x3c6454=_0x575434,_0x45d10e=0x1-_0x352228,_0x96c722=0x1-_0x1cb606,_0x5a47a9=_0x45d10e*_0x96c722,_0x389696=_0x352228*_0x96c722,_0x445b56=_0x45d10e*_0x1cb606,_0x341b1e=_0x352228*_0x1cb606,_0x496308=_0x530c55[0x0]*_0x5a47a9+_0x1a3b43[0x0]*_0x389696+_0x6e66aa[0x0]*_0x445b56+_0x116c42[0x0]*_0x341b1e,_0x11a274=_0x530c55[0x1]*_0x5a47a9+_0x1a3b43[0x1]*_0x389696+_0x6e66aa[0x1]*_0x445b56+_0x116c42[0x1]*_0x341b1e;return this[_0x3c6454(0x10d)](_0x496308,_0x11a274);}},{'key':_0x575434(0x10d),'value':function(_0x24658e,_0x2e90b8){var _0x5ad0f0=_0x575434;return[+_0x24658e,+_0x2e90b8,Math[_0x5ad0f0(0x142)](_0x24658e*_0x24658e+_0x2e90b8*_0x2e90b8)];}},{'key':_0x575434(0x235),'value':function(_0x455fb6,_0x4f0352){var _0x324e83=_0x575434;if(!this[_0x324e83(0x244)](_0x455fb6,_0x4f0352))return null;var _0x36eb65=this[_0x324e83(0x218)](_0x455fb6,_0x4f0352);return this[_0x324e83(0x210)](_0x36eb65['x'],_0x36eb65['y']);}},{'key':'isInExtent','value':function(_0x3cd547,_0x34e297){var _0xb0c7b=_0x575434;return _0x3cd547>=this[_0xb0c7b(0xcf)]&&_0x3cd547<=this['xmax']&&_0x34e297>=this[_0xb0c7b(0x16c)]&&_0x34e297<=this[_0xb0c7b(0x15a)];}},{'key':_0x575434(0x1ae),'value':function(){var _0x2183fd=_0x575434,_0x13fbc2=_0x2f1ec0(this[_0x2183fd(0xcf)],this[_0x2183fd(0x1f6)]);return{'lat':_0x2f1ec0(this['ymin'],this['ymax']),'lng':_0x13fbc2};}}]),_0x1bb393;}());function _0x2f1ec0(_0x3aea16,_0x1627a0){var _0xa86fbd=_0xa3ba4f;return _0x3aea16+Math[_0xa86fbd(0x1f1)]()*(_0x1627a0-_0x3aea16);}function _0xb73a0a(_0xd22ad5){var _0x736dad=(function(){var _0x824c62=a0_0x1ed0;if(_0x824c62(0x137)==typeof Reflect||!Reflect[_0x824c62(0x117)])return!0x1;if(Reflect[_0x824c62(0x117)][_0x824c62(0x1e0)])return!0x1;if(_0x824c62(0x1d0)==typeof Proxy)return!0x0;try{return Boolean[_0x824c62(0x17e)][_0x824c62(0x22a)][_0x824c62(0x127)](Reflect['construct'](Boolean,[],function(){})),!0x0;}catch(_0x495865){return!0x1;}}());return function(){var _0x36f25d=a0_0x1ed0,_0x3fd541,_0x485af9=_0x42d417()(_0xd22ad5);if(_0x736dad){var _0x3f774a=_0x42d417()(this)[_0x36f25d(0xd7)];_0x3fd541=Reflect[_0x36f25d(0x117)](_0x485af9,arguments,_0x3f774a);}else _0x3fd541=_0x485af9[_0x36f25d(0x1e9)](this,arguments);return _0x28e2c()(this,_0x3fd541);};}var _0x361ea1=_0x42d146[_0xa3ba4f(0xd4)],_0x1073f6=function(_0x45c145){var _0x1941ef=_0xa3ba4f;_0x3cc0d7()(_0x22c932,_0x45c145);var _0xeaea4b=_0xb73a0a(_0x22c932);function _0x22c932(){var _0x48b232=a0_0x1ed0,_0x1b1e20,_0x4c623f=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x4f6fab()(this,_0x22c932),(_0x1b1e20=_0xeaea4b[_0x48b232(0x127)](this,_0x4c623f))['_setOptionsHook'](_0x4c623f),_0x1b1e20[_0x48b232(0x134)]=null,_0x1b1e20;}return _0x51dc09()(_0x22c932,[{'key':_0x1941ef(0x14d),'value':function(_0x9f5f03){var _0x2bb60e=_0x1941ef;this[_0x2bb60e(0x158)]=[0x0,0x0],this[_0x2bb60e(0x1de)]=[],this[_0x2bb60e(0x198)]=_0x9f5f03[_0x2bb60e(0x198)]||0x32,this['_particlesNumber']=_0x9f5f03['particlesNumber']||0x1000,this[_0x2bb60e(0x180)]=_0x9f5f03[_0x2bb60e(0xf8)]||0x78,this[_0x2bb60e(0x1ec)]=0x3e8/(_0x9f5f03[_0x2bb60e(0xc0)]||0xa),this[_0x2bb60e(0x202)]=_0x361ea1[_0x2bb60e(0xf7)](this[_0x2bb60e(0xff)][_0x2bb60e(0x14c)],!0x1),this[_0x2bb60e(0x136)]=_0x9f5f03[_0x2bb60e(0x136)]||'#ffffff',this[_0x2bb60e(0x112)]=_0x9f5f03[_0x2bb60e(0x112)]||0x1,this[_0x2bb60e(0x15b)]=_0x361ea1[_0x2bb60e(0xf7)](_0x9f5f03[_0x2bb60e(0x15b)],0x0),this[_0x2bb60e(0xd8)]=_0x361ea1[_0x2bb60e(0xf7)](_0x9f5f03[_0x2bb60e(0xd8)],!0x1);}},{'key':_0x1941ef(0x16a),'get':function(){var _0x26682f=_0x1941ef;return this[_0x26682f(0x134)];}},{'key':_0x1941ef(0x1e5),'get':function(){var _0x4073d3=_0x1941ef;return this['_map'][_0x4073d3(0x228)][_0x4073d3(0x134)][_0x4073d3(0x11d)];}},{'key':_0x1941ef(0x1e7),'get':function(){var _0x135442=_0x1941ef;return this[_0x135442(0x1a8)][_0x135442(0x228)][_0x135442(0x134)]['clientHeight'];}},{'key':_0x1941ef(0x14c),'get':function(){var _0x2cd116=_0x1941ef;return this[_0x2cd116(0x202)];},'set':function(_0x542d25){var _0x4fa2cc=_0x1941ef;this[_0x4fa2cc(0x202)]=_0x542d25,this[_0x4fa2cc(0x134)]&&(this['canvas'][_0x4fa2cc(0x16d)][_0x4fa2cc(0x15d)]=_0x542d25?_0x4fa2cc(0x243):_0x4fa2cc(0x22c));}},{'key':_0x1941ef(0x198),'get':function(){var _0x418728=_0x1941ef;return this[_0x418728(0x1fe)];},'set':function(_0x3c990a){var _0x512b36=_0x1941ef;this[_0x512b36(0x1fe)]=0x64*(0x64-(_0x3c990a>0x63?0x63:_0x3c990a)),this[_0x512b36(0x126)]();}},{'key':_0x1941ef(0x16f),'get':function(){var _0x49be85=_0x1941ef;return this[_0x49be85(0x141)];},'set':function(_0x3f7f1){var _0x25b9bb=_0x1941ef,_0x3ed8fc=this;this['_particlesNumber']=_0x3f7f1,clearTimeout(this[_0x25b9bb(0x1b3)]),this[_0x25b9bb(0x1b3)]=setTimeout(function(){_0x3ed8fc['redraw']();},0x1f4);}},{'key':_0x1941ef(0xf8),'get':function(){var _0x588a30=_0x1941ef;return this[_0x588a30(0x180)];},'set':function(_0x5816e3){var _0x14e518=_0x1941ef,_0x3b67eb=this;this[_0x14e518(0x180)]=_0x5816e3,clearTimeout(this['_canrefresh']),this[_0x14e518(0x1b3)]=setTimeout(function(){_0x3b67eb['redraw']();},0x1f4);}},{'key':_0x1941ef(0x1f2),'get':function(){var _0x4d53e3=_0x1941ef;return this[_0x4d53e3(0xc3)];},'set':function(_0x3c91ce){var _0xcd9c66=_0x1941ef;this[_0xcd9c66(0x13a)](_0x3c91ce);}},{'key':_0x1941ef(0x196),'value':function(_0x494f29){var _0x21d5d1=_0x1941ef;_0x494f29?this[_0x21d5d1(0x248)]():(this[_0x21d5d1(0xc3)]&&(this[_0x21d5d1(0xff)][_0x21d5d1(0x1f2)]=this[_0x21d5d1(0xc3)]),this[_0x21d5d1(0x23c)]());}},{'key':_0x1941ef(0x20a),'value':function(){}},{'key':_0x1941ef(0x248),'value':function(){var _0x5161b3=_0x1941ef;this['canvas']=this['_createCanvas'](),this[_0x5161b3(0x1c9)]=this['canvas'][_0x5161b3(0x211)]('2d'),this[_0x5161b3(0xbf)](),this[_0x5161b3(0xff)][_0x5161b3(0x1f2)]&&this['setData'](this['options'][_0x5161b3(0x1f2)]);}},{'key':'_removedHook','value':function(){var _0xc2364a=_0x1941ef;this[_0xc2364a(0x1d9)](),this[_0xc2364a(0x249)](),this['canvas']&&(this['_map'][_0xc2364a(0x17d)][_0xc2364a(0x232)](this[_0xc2364a(0x134)]),delete this['canvas']);}},{'key':'_createCanvas','value':function(){var _0xc3a98b=_0x1941ef,_0x5b3043=window[_0xc3a98b(0x19f)][_0xc3a98b(0x1c5)](_0xc3a98b(0x134));_0x5b3043[_0xc3a98b(0x16d)]['position']=_0xc3a98b(0x1ea),_0x5b3043[_0xc3a98b(0x16d)][_0xc3a98b(0x173)]=_0xc3a98b(0x11a),_0x5b3043[_0xc3a98b(0x16d)][_0xc3a98b(0x21f)]=_0xc3a98b(0x11a),_0x5b3043[_0xc3a98b(0x16d)][_0xc3a98b(0x223)]='100%',_0x5b3043[_0xc3a98b(0x16d)][_0xc3a98b(0x1bc)]=_0xc3a98b(0x144),_0x5b3043[_0xc3a98b(0x16d)][_0xc3a98b(0x14c)]=this['_pointerEvents']?_0xc3a98b(0x155):'none',_0x5b3043[_0xc3a98b(0x16d)]['zIndex']=0xa,_0x5b3043[_0xc3a98b(0x11f)]('id','canvasWindy'),_0x5b3043[_0xc3a98b(0x11f)](_0xc3a98b(0xfc),_0xc3a98b(0x192)),this[_0xc3a98b(0x1a8)]['container'][_0xc3a98b(0x23a)](_0x5b3043);var _0x34efa4=this[_0xc3a98b(0x1a8)]['scene'];return _0x5b3043[_0xc3a98b(0x223)]=_0x34efa4[_0xc3a98b(0x134)][_0xc3a98b(0x11d)],_0x5b3043[_0xc3a98b(0x1bc)]=_0x34efa4[_0xc3a98b(0x134)][_0xc3a98b(0x12c)],_0x5b3043;}},{'key':'resize','value':function(){var _0x48a9f9=_0x1941ef;this[_0x48a9f9(0x134)]&&(this[_0x48a9f9(0x134)][_0x48a9f9(0x223)]=this[_0x48a9f9(0x1e5)],this[_0x48a9f9(0x134)][_0x48a9f9(0x1bc)]=this[_0x48a9f9(0x1e7)]);}},{'key':'bindEvent','value':function(){var _0x5ea186=_0x1941ef,_0x481ec7=this,_0x388e4f=Date[_0x5ea186(0x176)]();!function _0x1ba79d(){var _0x11eb8c=_0x5ea186;_0x481ec7['animateFrame']=window[_0x11eb8c(0x23e)](_0x1ba79d);var _0x3c71bc=Date[_0x11eb8c(0x176)](),_0x250567=_0x3c71bc-_0x388e4f;_0x250567>_0x481ec7['frameTime']&&(_0x388e4f=_0x3c71bc-_0x250567%_0x481ec7['frameTime'],_0x481ec7[_0x11eb8c(0x188)]());}(),window[_0x5ea186(0x1ce)]('resize',this[_0x5ea186(0x20e)][_0x5ea186(0x209)](this),!0x1),this['mouse_down']=!0x1,this['mouse_move']=!0x1,this[_0x5ea186(0x1a8)]['on'](_0x42d146[_0x5ea186(0x12d)][_0x5ea186(0xf2)],this[_0x5ea186(0x187)],this),this[_0x5ea186(0x1a8)]['on'](_0x42d146[_0x5ea186(0x12d)]['mouseDown'],this[_0x5ea186(0x1d8)],this),this[_0x5ea186(0x1a8)]['on'](_0x42d146[_0x5ea186(0x12d)][_0x5ea186(0x1b4)],this['_onMouseUpEvent'],this),this[_0x5ea186(0x1a8)]['on'](_0x42d146[_0x5ea186(0x12d)]['mouseMove'],this[_0x5ea186(0x19d)],this);}},{'key':_0x1941ef(0x249),'value':function(){var _0x37dfe3=_0x1941ef;window[_0x37dfe3(0x18d)](this[_0x37dfe3(0x236)]),delete this[_0x37dfe3(0x236)],window['removeEventListener'](_0x37dfe3(0x20e),this['resize']),this[_0x37dfe3(0x1a8)][_0x37dfe3(0x102)](_0x42d146[_0x37dfe3(0x12d)][_0x37dfe3(0xf2)],this['_onMapWhellEvent'],this),this[_0x37dfe3(0x1a8)]['off'](_0x42d146[_0x37dfe3(0x12d)][_0x37dfe3(0x171)],this[_0x37dfe3(0x1d8)],this),this[_0x37dfe3(0x1a8)][_0x37dfe3(0x102)](_0x42d146[_0x37dfe3(0x12d)]['mouseUp'],this[_0x37dfe3(0x24a)],this),this[_0x37dfe3(0x1a8)][_0x37dfe3(0x102)](_0x42d146[_0x37dfe3(0x12d)][_0x37dfe3(0x1c3)],this['_onMouseMoveEvent'],this);}},{'key':_0x1941ef(0x187),'value':function(_0x3abee1){var _0x185134=_0x1941ef,_0x206cdd=this;clearTimeout(this[_0x185134(0x18c)]),this[_0x185134(0x1c2)]&&this[_0x185134(0x134)]&&(this['canvas'][_0x185134(0x16d)]['visibility']='hidden',this[_0x185134(0x18c)]=setTimeout(function(){var _0x2c1bc5=_0x185134;_0x206cdd[_0x2c1bc5(0x1c2)]&&(_0x206cdd['redraw'](),_0x206cdd[_0x2c1bc5(0x134)][_0x2c1bc5(0x16d)][_0x2c1bc5(0xfd)]=_0x2c1bc5(0x1e1));},0xc8));}},{'key':_0x1941ef(0x1d8),'value':function(_0x34b684){var _0x31f794=_0x1941ef;this[_0x31f794(0x157)]=!0x0;}},{'key':_0x1941ef(0x19d),'value':function(_0x55064b){var _0x781489=_0x1941ef;this['show']&&this[_0x781489(0x134)]&&this[_0x781489(0x157)]&&(this[_0x781489(0x134)]['style'][_0x781489(0xfd)]=_0x781489(0x1ff),this[_0x781489(0x149)]=!0x0);}},{'key':_0x1941ef(0x24a),'value':function(_0x436958){var _0x24d9aa=_0x1941ef;this[_0x24d9aa(0x1c2)]&&this[_0x24d9aa(0x134)]&&(this[_0x24d9aa(0x157)]&&this[_0x24d9aa(0x149)]&&this[_0x24d9aa(0x1c0)](),this[_0x24d9aa(0x134)][_0x24d9aa(0x16d)]['visibility']=_0x24d9aa(0x1e1),this['mouse_down']=!0x1,this['mouse_move']=!0x1);}},{'key':'redraw','value':function(){var _0x125f78=_0x1941ef;this['show']&&this['windField']&&(this[_0x125f78(0x1de)]=[],this[_0x125f78(0xe9)]());}},{'key':_0x1941ef(0x13a),'value':function(_0x2b9633){var _0x3a8f8c=_0x1941ef;this[_0x3a8f8c(0x1d9)](),this[_0x3a8f8c(0xc3)]=_0x2b9633,this[_0x3a8f8c(0x129)]=new _0x4d02ba(this['windData'],this[_0x3a8f8c(0xd8)]),this['drawWind']();}},{'key':_0x1941ef(0xe9),'value':function(){var _0x6bb1c7=_0x1941ef;this[_0x6bb1c7(0x126)]();for(var _0x15c005=0x0;_0x15c005<this[_0x6bb1c7(0x16f)];_0x15c005++){var _0x3e81e8=this[_0x6bb1c7(0x1dc)](new _0x21ab2c());this[_0x6bb1c7(0x1de)][_0x6bb1c7(0x216)](_0x3e81e8);}this[_0x6bb1c7(0x1c9)][_0x6bb1c7(0x197)]=_0x6bb1c7(0x116),this['canvasContext'][_0x6bb1c7(0x181)]=0.6,this[_0x6bb1c7(0x188)]();}},{'key':'_calcStep','value':function(){var _0x5ce29d=_0x1941ef;this[_0x5ce29d(0x129)]&&(this[_0x5ce29d(0x158)]=[(this[_0x5ce29d(0x129)][_0x5ce29d(0x1f6)]-this[_0x5ce29d(0x129)]['xmin'])/this[_0x5ce29d(0x198)],(this['windField'][_0x5ce29d(0x15a)]-this['windField'][_0x5ce29d(0x16c)])/this[_0x5ce29d(0x198)]]);}},{'key':'update','value':function(){var _0xc98958=_0x1941ef,_0x3aab18=this;if(this[_0xc98958(0x1c2)]&&!(this[_0xc98958(0x1de)][_0xc98958(0x125)]<=0x0)){var _0x24d246=null,_0x30e64a=null,_0x3ce9e0=null;this[_0xc98958(0x1de)][_0xc98958(0x122)](function(_0x5058bd){var _0xdd058d=_0xc98958;if(_0x5058bd[_0xdd058d(0x14b)]<=0x0&&_0x3aab18[_0xdd058d(0x1dc)](_0x5058bd),_0x5058bd[_0xdd058d(0x14b)]>0x0){var _0x57aa92=_0x5058bd['tlng'],_0x174a1e=_0x5058bd[_0xdd058d(0x1ed)];(_0x3ce9e0=_0x3aab18[_0xdd058d(0x129)][_0xdd058d(0x235)](_0x57aa92,_0x174a1e))?(_0x24d246=_0x57aa92+_0x3aab18[_0xdd058d(0x158)][0x0]*_0x3ce9e0[0x0],_0x30e64a=_0x174a1e+_0x3aab18[_0xdd058d(0x158)][0x1]*_0x3ce9e0[0x1],_0x5058bd[_0xdd058d(0xe6)]=_0x57aa92,_0x5058bd[_0xdd058d(0x130)]=_0x174a1e,_0x5058bd[_0xdd058d(0x100)]=_0x24d246,_0x5058bd['tlat']=_0x30e64a,_0x5058bd['age']--):_0x5058bd[_0xdd058d(0x14b)]=0x0;}}),this[_0xc98958(0x178)]();}}},{'key':'_tomap','value':function(_0x4f8236,_0x5ab77c,_0x978da2){var _0x5350ce=_0x1941ef,_0xb12d90=_0x361ea1[_0x5350ce(0x1d1)][_0x5350ce(0x1b1)](_0x4f8236,_0x5ab77c,this[_0x5350ce(0x15b)]),_0x185dce=this[_0x5350ce(0x1a8)][_0x5350ce(0x228)];if(_0x185dce[_0x5350ce(0x217)]===_0x361ea1['SceneMode'][_0x5350ce(0x205)]&&!new _0x361ea1[(_0x5350ce(0x15f))](_0x185dce[_0x5350ce(0x17c)][_0x5350ce(0x1db)],_0x185dce[_0x5350ce(0x1eb)][_0x5350ce(0x1fd)])['isPointVisible'](_0xb12d90))return _0x978da2[_0x5350ce(0x14b)]=0x0,null;var _0x2e424a=_0x361ea1['SceneTransforms']['wgs84ToWindowCoordinates'](this[_0x5350ce(0x1a8)]['scene'],_0xb12d90);return _0x2e424a?[_0x2e424a['x'],_0x2e424a['y']]:null;}},{'key':_0x1941ef(0x178),'value':function(){var _0x1af87=_0x1941ef,_0x44d06c=this,_0x1c68f4=this[_0x1af87(0x1de)];this[_0x1af87(0x1c9)]['lineWidth']=_0x44d06c[_0x1af87(0x112)],this[_0x1af87(0x1c9)][_0x1af87(0xd5)]=_0x1af87(0x12a),this[_0x1af87(0x1c9)][_0x1af87(0x15e)](0x0,0x0,this['canvasWidth'],this['canvasHeight']),this[_0x1af87(0x1c9)]['globalCompositeOperation']=_0x1af87(0x1e8),this['canvasContext'][_0x1af87(0x181)]=0.9,this['canvasContext']['beginPath'](),this['canvasContext']['strokeStyle']=this[_0x1af87(0x136)];var _0x5db547=this[_0x1af87(0x1a8)][_0x1af87(0x228)]['mode']!==_0x361ea1[_0x1af87(0x10b)][_0x1af87(0x205)];_0x1c68f4[_0x1af87(0x122)](function(_0x43b2d0){var _0x14bedf=_0x1af87,_0x56077e=_0x44d06c[_0x14bedf(0x103)](_0x43b2d0[_0x14bedf(0xe6)],_0x43b2d0[_0x14bedf(0x130)],_0x43b2d0),_0x24a5e4=_0x44d06c['_tomap'](_0x43b2d0['tlng'],_0x43b2d0[_0x14bedf(0x1ed)],_0x43b2d0);if(null!=_0x56077e&&null!=_0x24a5e4){var _0x6ccb41=Math[_0x14bedf(0x10f)](_0x56077e[0x0]-_0x24a5e4[0x0]);_0x5db547&&_0x6ccb41>=_0x44d06c['canvasWidth']||(_0x44d06c[_0x14bedf(0x1c9)]['moveTo'](_0x56077e[0x0],_0x56077e[0x1]),_0x44d06c[_0x14bedf(0x1c9)][_0x14bedf(0x23b)](_0x24a5e4[0x0],_0x24a5e4[0x1]));}}),this[_0x1af87(0x1c9)][_0x1af87(0x1d4)]();}},{'key':_0x1941ef(0x1dc),'value':function(_0x3a8529){var _0x215da4=_0x1941ef;for(var _0x426f30,_0x4388e0,_0x563ae1=0x0;_0x563ae1<0x1e&&(_0x426f30=this[_0x215da4(0x129)][_0x215da4(0x1ae)](),!((_0x4388e0=this[_0x215da4(0x129)][_0x215da4(0x235)](_0x426f30[_0x215da4(0xe6)],_0x426f30['lat']))&&_0x4388e0[0x2]>0x0));_0x563ae1++);if(!_0x4388e0)return _0x3a8529;var _0x111c5d=_0x426f30[_0x215da4(0xe6)]+this[_0x215da4(0x158)][0x0]*_0x4388e0[0x0],_0x28a671=_0x426f30[_0x215da4(0x130)]+this['calc_speedRate'][0x1]*_0x4388e0[0x1];return _0x3a8529[_0x215da4(0xe6)]=_0x426f30[_0x215da4(0xe6)],_0x3a8529[_0x215da4(0x130)]=_0x426f30[_0x215da4(0x130)],_0x3a8529[_0x215da4(0x100)]=_0x111c5d,_0x3a8529['tlat']=_0x28a671,_0x3a8529['age']=Math['round'](Math[_0x215da4(0x1f1)]()*this[_0x215da4(0xf8)]),_0x3a8529;}},{'key':_0x1941ef(0x1d9),'value':function(){var _0x1b020c=_0x1941ef;this[_0x1b020c(0x1de)]=[],delete this[_0x1b020c(0x129)],delete this[_0x1b020c(0xc3)];}}]),_0x22c932;}(_0x42d146[_0xa3ba4f(0x16a)][_0xa3ba4f(0x118)]);_0x42d146[_0xa3ba4f(0x21e)][_0xa3ba4f(0x1a1)]('canvasWind',_0x1073f6),_0x42d146[_0xa3ba4f(0x16a)]['CanvasWindLayer']=_0x1073f6;var _0x3bf4d4=_0x42d146[_0xa3ba4f(0xd4)];function _0xc02f11(_0x3cfc0f,_0x1d76be){var _0x4e6385=_0xa3ba4f;return _0x3cfc0f*Math['cos'](_0x3bf4d4['Math'][_0x4e6385(0x121)](_0x1d76be));}function _0x1d304c(_0x1dd813,_0x30a47b){var _0x3b1091=_0xa3ba4f;return _0x1dd813*Math[_0x3b1091(0x237)](_0x3bf4d4[_0x3b1091(0xed)][_0x3b1091(0x121)](_0x30a47b));}function _0x4907c7(_0x313981,_0x35d0bc){return Math['sqrt'](Math['pow'](_0x313981,0x2)+Math['pow'](_0x35d0bc,0x2));}function _0x2f6bd4(_0x144cd8,_0xcaf0e2){var _0x4d48b5=_0xa3ba4f,_0x427844=_0x3bf4d4[_0x4d48b5(0xed)][_0x4d48b5(0x191)](Math[_0x4d48b5(0x219)](_0xcaf0e2,_0x144cd8));return _0x427844+=_0x427844<0x0?0x168:0x0;}_0x42d146['WindUtil']=_0x14599c;}]));function a0_0x1ed0(_0x39c5a4,_0xe258cc){var _0x5e1a56=a0_0x5e1a();return a0_0x1ed0=function(_0x1ed02f,_0x495d5e){_0x1ed02f=_0x1ed02f-0xbf;var _0x12abe7=_0x5e1a56[_0x1ed02f];return _0x12abe7;},a0_0x1ed0(_0x39c5a4,_0xe258cc);}function a0_0x5e1a(){var _0x59e8fe=['maxParticles','nextTrailsDepth','_onMouseDownEvent','clear','createParticlesTextures','ellipsoid','randomParticle','updateSpeed','particles','LINEAR','sham','visible','nextTrails','removeEventListener','depthTexture','canvasWidth','WMS_URL','canvasHeight','lighter','apply','absolute','camera','frameTime','tlat','ComputeCommand','getV','UNSIGNED_BYTE','random','data','computeViewRectangle','defined','canvasResize','xmax','Draw','getPixelSize','vdata','setPrototypeOf','destroy','trails','positionWC','_speedRate','hidden','once','Texture','_pointerEvents','refreshParticles','framebuffer','SCENE3D','setOptions','updatePosition','createRenderingFramebuffers','bind','_mountedHook','ceil','createSegmentsGeometry','_data','resize','31940UzYNLl','getUVByXY','getContext','mars3d','UNSIGNED_INT','grid','particlesTextureSize','push','mode','toGridXY','atan2','lon','uniformMap','Color','getOwnPropertyDescriptor','LayerUtil','left','BufferUsage','clampToLatitudeRange','fromCssColorString','width','currentTrails','windTextures','geometry','updateViewerParameters','scene','FLOAT','valueOf','currentParticlesSpeed','none','string','dropRate','umax','vmin','symbol','removeChild','getOwnPropertySymbols','object','getUVByPoint','animateFrame','sin','_bilinearInterpolation','filter','appendChild','lineTo','_removedHook','umin','requestAnimationFrame','attributeLocations','currentTrailsDepth','150IzEcFn','currentParticlesPosition','all','isInExtent','rawRenderState','primitives','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','_addedHook','unbindEvent','_onMouseUpEvent','bindEvent','frameRate','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','drawingBufferHeight','windData','createRenderingPrimitives','commandToExecute','__proto__','max','Object','DISABLE_GL_POSITION_LOG_DEPTH','hasOwnProperty','6610BOkPJY','globeLayer','drawingBufferWidth','Cartesian2','xmin','26235PXwyjk','default','createWindTextures','LUMINANCE','Cesium','globalCompositeOperation','Compute','constructor','reverseY','RenderState','__esModule','_onMap_preRenderEvent','ALWAYS','BoundingSphere','VertexArray','fromGeometry','WindLayer','getDefaultRenderState','defineProperties','RGBA','createTexture','primitiveType','lng','RGB','levmin','drawWind','depthMask','min','viewerParameters','Math','postProcessingSpeed','STATIC_DRAW','Arguments','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}','wheel','isDestroyed','particleHeight','add','Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.','defaultValue','maxAge','create','execute','context','class','visibility','commandType','options','tlng','Pass','off','_tomap','//\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}','ComponentDatatype','globeBoundingSphere','segmentsDepth','OPAQUE','outputTexture','Set','SceneMode','PI_OVER_TWO','_calcUV','fragmentShaderSource','abs','TextureMagnificationFilter','1277520Tjzjzk','lineWidth','mod','toString','latRange','rgba(0,\x200,\x200,\x200.97)','construct','BaseLayer','source','0px','particlesWind','destroyObject','clientWidth','red','setAttribute','uniform\x20sampler2D\x20segmentsColorTexture;\x0d\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0d\x0a\x0d\x0auniform\x20sampler2D\x20currentTrailsColor;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0auniform\x20float\x20fadeOpacity;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture2D(segmentsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(currentTrailsColor,\x20textureCoordinate);\x0d\x0a\x0d\x0a\x20\x20\x20\x20trailsColor\x20=\x20floor(fadeOpacity\x20*\x20255.0\x20*\x20trailsColor)\x20/\x20255.0;\x20//\x20make\x20sure\x20the\x20trailsColor\x20will\x20be\x20strictly\x20decreased\x0d\x0a\x0d\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture2D(segmentsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20pointsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20gl_FragDepthEXT\x20=\x20min(pointsDepth,\x20trailsDepth);\x0d\x0a}','toRadians','forEach','Framebuffer','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}','length','_calcStep','call','reverse','windField','destination-in','removeAll','clientHeight','EventType','lonRange','from','lat','clearFramebuffers','Geometry','getOptions','canvas','GeometryAttribute','color','undefined','toStringTag','PrimitiveCollection','setData','PixelDatatype','getFullscreenQuad','viewport','Appearance','arrayBufferView','@@iterator','_particlesNumber','sqrt','getColorTexture','100%','CanvasWindLayer','WindUtil','getPrototypeOf','south','mouse_move','viewRectangleToLonLatRange','age','pointerEvents','_setOptionsHook','fill','particlesTextures','NEAREST','clearCommand','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}','colors','createComputingPrimitives','auto','shaderProgram','mouse_down','calc_speedRate','THREE_PI_OVER_TWO','ymax','fixedHeight','destroyParticlesTextures','pointer-events','fillRect','EllipsoidalOccluder','array','uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture2D(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}','segmentsColor','commandList','PixelFormat','east','3187282uEdsvi','randomizeParticles','Sampler','TWO_PI','layer','screen','ymin','style','particlesComputing','particlesNumber','exports','mouseDown','GeometryAttributes','top','nextParticlesPosition','addPrimitives','now','canrefresh','_drawLines','cols','IDENTITY','green','globe','container','prototype','vertexArray','_maxAge','globalAlpha','applyViewerParameters','dimensions','textures','autoClear','segments','_onMapWhellEvent','update','getSpeed','TextureMinificationFilter','colorTable','refreshTimer','cancelAnimationFrame','floor','value','speedFactor','toDegrees','canvasWindy','randomBetween','nextParticlesSpeed','test','_showHook','fillStyle','speedRate','fromCache','ShaderProgram','TRIANGLES','iterator','_onMouseMoveEvent','particleSystem','document','pixelSize','register','ClearCommand','lev','vmax','udata','577707KgOyGC','isArray','_map','keys','rows','createRawRenderState','levmax','vertexShaderSource','getRandomLatLng','createRenderingTextures','postProcessingPosition','fromDegrees','name','_canrefresh','mouseUp','wind','createFramebuffer','defineProperty','getOwnPropertyDescriptors','currentTrailsColor','getWind','framebuffers','height','Map','dropRateBump','nextTrailsColor','redraw','25176kkuhKz','show','mouseMove','PI_OVER_THREE','createElement','Matrix4','fadeOpacity','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','canvasContext','ShaderSource','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','4zLGdxN','enumerable','addEventListener','362109YBYbBT','function','Cartesian3','preExecute','particlesRendering','stroke','createCommand'];a0_0x5e1a=function(){return _0x59e8fe;};return a0_0x5e1a();}
|
|
31
22
|
|
|
32
23
|
})(window);
|
|
33
24
|
|
package/package.json
CHANGED
|
@@ -1,16 +1,40 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mars3d-wind",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.3",
|
|
4
4
|
"description": "Mars3D平台插件,支持气象 风向图 功能插件",
|
|
5
5
|
"main": "dist/mars3d-wind.js",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist"
|
|
8
8
|
],
|
|
9
9
|
"dependencies": {},
|
|
10
|
-
"devDependencies": {
|
|
10
|
+
"devDependencies": {
|
|
11
|
+
"mars3d": "^3.2.3",
|
|
12
|
+
"@babel/core": "^7.14.3",
|
|
13
|
+
"@babel/eslint-parser": "^7.14.3",
|
|
14
|
+
"@babel/plugin-proposal-class-properties": "^7.14.3",
|
|
15
|
+
"@babel/plugin-transform-runtime": "^7.14.3",
|
|
16
|
+
"@babel/preset-env": "^7.14.3",
|
|
17
|
+
"babel-eslint": "^10.1.0",
|
|
18
|
+
"babel-loader": "^8.2.2",
|
|
19
|
+
"eslint": "^7.26.0",
|
|
20
|
+
"eslint-config-prettier": "^7.2.0",
|
|
21
|
+
"eslint-plugin-import": "^2.22.1",
|
|
22
|
+
"eslint-plugin-node": "^11.1.0",
|
|
23
|
+
"eslint-plugin-prettier": "^3.3.1",
|
|
24
|
+
"eslint-plugin-promise": "^4.3.1",
|
|
25
|
+
"prettier": "^2.2.1",
|
|
26
|
+
"webpack": "^4.46.0",
|
|
27
|
+
"webpack-cli": "^3.3.12",
|
|
28
|
+
"webpack-glsl-loader": "^1.0.1",
|
|
29
|
+
"javascript-obfuscator": "^2.15.5",
|
|
30
|
+
"webpack-obfuscator": "^2.6.0"
|
|
31
|
+
},
|
|
11
32
|
"scripts": {
|
|
12
|
-
"
|
|
13
|
-
"
|
|
33
|
+
"build": "webpack --env.prod --env.min --progress --profile --colors --config ./scripts/webpack.config.js && webpack --env.prod --progress --profile --colors --config ./scripts/webpack.config.js --devtool source-map",
|
|
34
|
+
"build-src": "webpack --env.prod --progress --profile --colors --config ./scripts/webpack.config.js --devtool source-map",
|
|
35
|
+
"build-min": "webpack --env.prod --env.min --progress --profile --colors --config ./scripts/webpack.config.js",
|
|
36
|
+
"build-npm": "webpack --env.prod --env.min --progress --profile --colors --config ./scripts/webpack.npm.js && node scripts/npm/buildNpm.js",
|
|
37
|
+
"push": "npm publish --registry=https://registry.npmjs.org"
|
|
14
38
|
},
|
|
15
39
|
"repository": {
|
|
16
40
|
"type": "git",
|
|
@@ -24,11 +48,13 @@
|
|
|
24
48
|
"marsgis",
|
|
25
49
|
"mars3d",
|
|
26
50
|
"cesium",
|
|
51
|
+
"webgl",
|
|
52
|
+
"gis",
|
|
27
53
|
"3dgis",
|
|
28
54
|
"webgis",
|
|
29
55
|
"wind"
|
|
30
56
|
],
|
|
31
|
-
"license": "Apache-2.0",
|
|
32
57
|
"author": "火星科技",
|
|
58
|
+
"license": "Apache-2.0",
|
|
33
59
|
"homepage": "http://mars3d.cn"
|
|
34
60
|
}
|