@deck.gl/aggregation-layers 8.8.11 → 8.9.0-alpha.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/dist/dist.dev.js CHANGED
@@ -7,7 +7,7 @@
7
7
  exports["deck"] = factory(require("deck"), require("luma"));
8
8
  else
9
9
  root["deck"] = factory(root["deck"], root["luma"]);
10
- })(window, function(__WEBPACK_EXTERNAL_MODULE__deck_gl_layers__, __WEBPACK_EXTERNAL_MODULE__luma_gl_core__) {
10
+ })(window, function(__WEBPACK_EXTERNAL_MODULE__deck_gl_core__, __WEBPACK_EXTERNAL_MODULE__luma_gl_core__) {
11
11
  return /******/ (function(modules) { // webpackBootstrap
12
12
  /******/ // The module cache
13
13
  /******/ var installedModules = {};
@@ -12862,7 +12862,7 @@ module.exports = Object.assign(deck, deckGLLayers);
12862
12862
  "use strict";
12863
12863
  __webpack_require__.r(__webpack_exports__);
12864
12864
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return AggregationLayer; });
12865
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
12865
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
12866
12866
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
12867
12867
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @luma.gl/core */ "@luma.gl/core");
12868
12868
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_luma_gl_core__WEBPACK_IMPORTED_MODULE_1__);
@@ -13089,7 +13089,7 @@ function isObjectEmpty(obj) {
13089
13089
  __webpack_require__.r(__webpack_exports__);
13090
13090
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return ContourLayer; });
13091
13091
  /* harmony import */ var _luma_gl_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @luma.gl/constants */ "../../node_modules/@luma.gl/constants/dist/esm/index.js");
13092
- /* harmony import */ var _deck_gl_layers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @deck.gl/layers */ "@deck.gl/layers");
13092
+ /* harmony import */ var _deck_gl_layers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @deck.gl/layers */ "@deck.gl/core");
13093
13093
  /* harmony import */ var _deck_gl_layers__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_layers__WEBPACK_IMPORTED_MODULE_1__);
13094
13094
  /* harmony import */ var _contour_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./contour-utils */ "./src/contour-layer/contour-utils.ts");
13095
13095
  /* harmony import */ var _utils_gpu_grid_aggregation_gpu_grid_aggregator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/gpu-grid-aggregation/gpu-grid-aggregator */ "./src/utils/gpu-grid-aggregation/gpu-grid-aggregator.js");
@@ -13831,7 +13831,7 @@ __webpack_require__.r(__webpack_exports__);
13831
13831
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CONTOUR_TYPE", function() { return CONTOUR_TYPE; });
13832
13832
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCode", function() { return getCode; });
13833
13833
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getVertices", function() { return getVertices; });
13834
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
13834
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
13835
13835
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
13836
13836
  /* harmony import */ var _marching_squares_codes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./marching-squares-codes */ "./src/contour-layer/marching-squares-codes.ts");
13837
13837
  // All utility methods needed to implement Marching Squares algorithm
@@ -14030,7 +14030,7 @@ function getVertices(opts) {
14030
14030
  __webpack_require__.r(__webpack_exports__);
14031
14031
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return CPUGridLayer; });
14032
14032
  /* harmony import */ var _luma_gl_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @luma.gl/constants */ "../../node_modules/@luma.gl/constants/dist/esm/index.js");
14033
- /* harmony import */ var _deck_gl_layers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @deck.gl/layers */ "@deck.gl/layers");
14033
+ /* harmony import */ var _deck_gl_layers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @deck.gl/layers */ "@deck.gl/core");
14034
14034
  /* harmony import */ var _deck_gl_layers__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_layers__WEBPACK_IMPORTED_MODULE_1__);
14035
14035
  /* harmony import */ var _utils_color_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/color-utils */ "./src/utils/color-utils.ts");
14036
14036
  /* harmony import */ var _grid_aggregator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./grid-aggregator */ "./src/cpu-grid-layer/grid-aggregator.js");
@@ -14267,7 +14267,7 @@ _defineProperty(CPUGridLayer, "defaultProps", defaultProps);
14267
14267
  "use strict";
14268
14268
  __webpack_require__.r(__webpack_exports__);
14269
14269
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pointToDensityGridDataCPU", function() { return pointToDensityGridDataCPU; });
14270
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
14270
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
14271
14271
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
14272
14272
  /* harmony import */ var _utils_grid_aggregation_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/grid-aggregation-utils */ "./src/utils/grid-aggregation-utils.js");
14273
14273
  // Copyright (c) 2015 - 2017 Uber Technologies, Inc.
@@ -14674,7 +14674,7 @@ void main(void) {
14674
14674
  "use strict";
14675
14675
  __webpack_require__.r(__webpack_exports__);
14676
14676
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return GPUGridCellLayer; });
14677
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
14677
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
14678
14678
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
14679
14679
  /* harmony import */ var _luma_gl_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @luma.gl/constants */ "../../node_modules/@luma.gl/constants/dist/esm/index.js");
14680
14680
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @luma.gl/core */ "@luma.gl/core");
@@ -14913,7 +14913,7 @@ __webpack_require__.r(__webpack_exports__);
14913
14913
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @luma.gl/core */ "@luma.gl/core");
14914
14914
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_luma_gl_core__WEBPACK_IMPORTED_MODULE_0__);
14915
14915
  /* harmony import */ var _luma_gl_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @luma.gl/constants */ "../../node_modules/@luma.gl/constants/dist/esm/index.js");
14916
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
14916
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
14917
14917
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_2__);
14918
14918
  /* harmony import */ var _utils_gpu_grid_aggregation_gpu_grid_aggregator__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/gpu-grid-aggregation/gpu-grid-aggregator */ "./src/utils/gpu-grid-aggregation/gpu-grid-aggregator.js");
14919
14919
  /* harmony import */ var _utils_aggregation_operation_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/aggregation-operation-utils */ "./src/utils/aggregation-operation-utils.js");
@@ -15377,7 +15377,7 @@ __webpack_require__.r(__webpack_exports__);
15377
15377
  /* harmony import */ var _utils_gpu_grid_aggregation_gpu_grid_aggregator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/gpu-grid-aggregation/gpu-grid-aggregator */ "./src/utils/gpu-grid-aggregation/gpu-grid-aggregator.js");
15378
15378
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @luma.gl/core */ "@luma.gl/core");
15379
15379
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_luma_gl_core__WEBPACK_IMPORTED_MODULE_2__);
15380
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
15380
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
15381
15381
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_3__);
15382
15382
  /* harmony import */ var _luma_gl_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @luma.gl/constants */ "../../node_modules/@luma.gl/constants/dist/esm/index.js");
15383
15383
  /* harmony import */ var _utils_bin_sorter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/bin-sorter */ "./src/utils/bin-sorter.ts");
@@ -15669,7 +15669,7 @@ _defineProperty(GridAggregationLayer, "layerName", 'GridAggregationLayer');
15669
15669
  "use strict";
15670
15670
  __webpack_require__.r(__webpack_exports__);
15671
15671
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return GridLayer; });
15672
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
15672
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
15673
15673
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
15674
15674
  /* harmony import */ var _utils_gpu_grid_aggregation_gpu_grid_aggregator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/gpu-grid-aggregation/gpu-grid-aggregator */ "./src/utils/gpu-grid-aggregation/gpu-grid-aggregator.js");
15675
15675
  /* harmony import */ var _gpu_grid_layer_gpu_grid_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../gpu-grid-layer/gpu-grid-layer */ "./src/gpu-grid-layer/gpu-grid-layer.ts");
@@ -15880,7 +15880,7 @@ __webpack_require__.r(__webpack_exports__);
15880
15880
  /* harmony import */ var _heatmap_layer_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./heatmap-layer-utils */ "./src/heatmap-layer/heatmap-layer-utils.ts");
15881
15881
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @luma.gl/core */ "@luma.gl/core");
15882
15882
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_luma_gl_core__WEBPACK_IMPORTED_MODULE_2__);
15883
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
15883
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
15884
15884
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_3__);
15885
15885
  /* harmony import */ var _triangle_layer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./triangle-layer */ "./src/heatmap-layer/triangle-layer.ts");
15886
15886
  /* harmony import */ var _aggregation_layer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../aggregation-layer */ "./src/aggregation-layer.ts");
@@ -16796,7 +16796,7 @@ __webpack_require__.r(__webpack_exports__);
16796
16796
  /* harmony import */ var _luma_gl_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @luma.gl/constants */ "../../node_modules/@luma.gl/constants/dist/esm/index.js");
16797
16797
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @luma.gl/core */ "@luma.gl/core");
16798
16798
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_luma_gl_core__WEBPACK_IMPORTED_MODULE_1__);
16799
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
16799
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
16800
16800
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_2__);
16801
16801
  /* harmony import */ var _triangle_layer_vertex_glsl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./triangle-layer-vertex.glsl */ "./src/heatmap-layer/triangle-layer-vertex.glsl.ts");
16802
16802
  /* harmony import */ var _triangle_layer_fragment_glsl__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./triangle-layer-fragment.glsl */ "./src/heatmap-layer/triangle-layer-fragment.glsl.ts");
@@ -16978,7 +16978,7 @@ __webpack_require__.r(__webpack_exports__);
16978
16978
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getPointsCenter", function() { return getPointsCenter; });
16979
16979
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getRadiusInCommon", function() { return getRadiusInCommon; });
16980
16980
  /* harmony import */ var d3_hexbin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-hexbin */ "../../node_modules/d3-hexbin/index.js");
16981
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
16981
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
16982
16982
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__);
16983
16983
  // Copyright (c) 2015 - 2017 Uber Technologies, Inc.
16984
16984
  //
@@ -17125,7 +17125,7 @@ function getRadiusInCommon(radius, viewport, center) {
17125
17125
  "use strict";
17126
17126
  __webpack_require__.r(__webpack_exports__);
17127
17127
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return HexagonLayer; });
17128
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
17128
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
17129
17129
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
17130
17130
  /* harmony import */ var _utils_color_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/color-utils */ "./src/utils/color-utils.ts");
17131
17131
  /* harmony import */ var _hexagon_aggregator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./hexagon-aggregator */ "./src/hexagon-layer/hexagon-aggregator.js");
@@ -17504,7 +17504,7 @@ __webpack_require__.r(__webpack_exports__);
17504
17504
  /* harmony import */ var _luma_gl_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @luma.gl/constants */ "../../node_modules/@luma.gl/constants/dist/esm/index.js");
17505
17505
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @luma.gl/core */ "@luma.gl/core");
17506
17506
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_luma_gl_core__WEBPACK_IMPORTED_MODULE_1__);
17507
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
17507
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
17508
17508
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_2__);
17509
17509
  /* harmony import */ var _utils_color_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/color-utils */ "./src/utils/color-utils.ts");
17510
17510
  /* harmony import */ var _screen_grid_layer_vertex_glsl__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./screen-grid-layer-vertex.glsl */ "./src/screen-grid-layer/screen-grid-layer-vertex.glsl.ts");
@@ -17907,7 +17907,7 @@ void main(void) {
17907
17907
  "use strict";
17908
17908
  __webpack_require__.r(__webpack_exports__);
17909
17909
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return ScreenGridLayer; });
17910
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
17910
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
17911
17911
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
17912
17912
  /* harmony import */ var _luma_gl_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @luma.gl/constants */ "../../node_modules/@luma.gl/constants/dist/esm/index.js");
17913
17913
  /* harmony import */ var _utils_gpu_grid_aggregation_gpu_grid_aggregator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/gpu-grid-aggregation/gpu-grid-aggregator */ "./src/utils/gpu-grid-aggregation/gpu-grid-aggregator.js");
@@ -19581,7 +19581,7 @@ __webpack_require__.r(__webpack_exports__);
19581
19581
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @luma.gl/core */ "@luma.gl/core");
19582
19582
  /* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_luma_gl_core__WEBPACK_IMPORTED_MODULE_1__);
19583
19583
  /* harmony import */ var _luma_gl_shadertools__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @luma.gl/shadertools */ "../../node_modules/@luma.gl/shadertools/dist/esm/index.js");
19584
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
19584
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
19585
19585
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_3__);
19586
19586
  /* harmony import */ var _gpu_grid_aggregator_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./gpu-grid-aggregator-constants */ "./src/utils/gpu-grid-aggregation/gpu-grid-aggregator-constants.js");
19587
19587
  /* harmony import */ var _aggregation_operation_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../aggregation-operation-utils */ "./src/utils/aggregation-operation-utils.js");
@@ -20452,7 +20452,7 @@ __webpack_require__.r(__webpack_exports__);
20452
20452
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "alignToCell", function() { return alignToCell; });
20453
20453
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getGridOffset", function() { return getGridOffset; });
20454
20454
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getGridParams", function() { return getGridParams; });
20455
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
20455
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
20456
20456
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
20457
20457
 
20458
20458
  const R_EARTH = 6378000;
@@ -20743,7 +20743,7 @@ __webpack_require__.r(__webpack_exports__);
20743
20743
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getScaleDomain", function() { return getScaleDomain; });
20744
20744
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clamp", function() { return clamp; });
20745
20745
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getScaleFunctionByScaleType", function() { return getScaleFunctionByScaleType; });
20746
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
20746
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
20747
20747
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
20748
20748
  // Copyright (c) 2015 - 2017 Uber Technologies, Inc.
20749
20749
  //
@@ -20970,14 +20970,14 @@ function getScaleFunctionByScaleType(scaleType) {
20970
20970
 
20971
20971
  /***/ }),
20972
20972
 
20973
- /***/ "@deck.gl/layers":
20973
+ /***/ "@deck.gl/core":
20974
20974
  /*!***********************!*\
20975
20975
  !*** external "deck" ***!
20976
20976
  \***********************/
20977
20977
  /*! no static exports found */
20978
20978
  /***/ (function(module, exports) {
20979
20979
 
20980
- module.exports = __WEBPACK_EXTERNAL_MODULE__deck_gl_layers__;
20980
+ module.exports = __WEBPACK_EXTERNAL_MODULE__deck_gl_core__;
20981
20981
 
20982
20982
  /***/ }),
20983
20983
 
package/dist.min.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("deck"),require("luma")):"function"==typeof define&&define.amd?define(["deck","luma"],t):"object"==typeof exports?exports.deck=t(require("deck"),require("luma")):e.deck=t(e.deck,e.luma)}(window,(function(e,t){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=12)}([function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},function(e,t,n){var r=n(14);function i(t,n,o){return"undefined"!=typeof Reflect&&Reflect.get?e.exports=i=Reflect.get:e.exports=i=function(e,t,n){var i=r(e,t);if(i){var o=Object.getOwnPropertyDescriptor(i,t);return o.get?o.get.call(n):o.value}},i(t,n,o||t)}e.exports=i},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}},function(e,t,n){var r=n(15);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}},function(e,t,n){var r=n(11),i=n(9);e.exports=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?i(e):t}},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,n){var r=n(16),i=n(17),o=n(18);e.exports=function(e,t){return r(e)||i(e,t)||o()}},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=n=function(e){return typeof e}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(t)}e.exports=n},function(e,t,n){var r=n(19),i=globalThis.deck||{};if(!i.LineLayer)throw new Error("@deck.gl/layers is not found");e.exports=Object.assign(i,r)},,function(e,t,n){var r=n(3);e.exports=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=r(e)););return e}},function(e,t){function n(t,r){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,r)}e.exports=n},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,n){"use strict";n.r(t);var r=n(5),i=n.n(r),o=n(6),a=n.n(o),s=n(9),u=n.n(s),l=n(4),c=n.n(l),g=n(7),f=n.n(g),d=n(8),p=n.n(d),h=n(3),v=n.n(h),m=n(0),y=n.n(m),x=n(1),b=n(2);function S(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=Math.fround(e),i=e-r;return t[n]=r,t[n+1]=i,t}function O(e){return e-Math.fround(e)}function w(e){for(var t=new Float32Array(32),n=0;n<4;++n)for(var r=0;r<4;++r){var i=4*n+r;S(e[4*r+n],t,2*i)}return t}var A={ONE:1};var P,_,M={name:"fp64-arithmetic",vs:"uniform float ONE;\nvec2 split(float a) {\n const float SPLIT = 4097.0;\n float t = a * SPLIT;\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float a_hi = t * ONE - (t - a);\n float a_lo = a * ONE - a_hi;\n#else\n float a_hi = t - (t - a);\n float a_lo = a - a_hi;\n#endif\n return vec2(a_hi, a_lo);\n}\nvec2 split2(vec2 a) {\n vec2 b = split(a.x);\n b.y += a.y;\n return b;\n}\nvec2 quickTwoSum(float a, float b) {\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float sum = (a + b) * ONE;\n float err = b - (sum - a) * ONE;\n#else\n float sum = a + b;\n float err = b - (sum - a);\n#endif\n return vec2(sum, err);\n}\nvec2 twoSum(float a, float b) {\n float s = (a + b);\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float v = (s * ONE - a) * ONE;\n float err = (a - (s - v) * ONE) * ONE * ONE * ONE + (b - v);\n#else\n float v = s - a;\n float err = (a - (s - v)) + (b - v);\n#endif\n return vec2(s, err);\n}\n\nvec2 twoSub(float a, float b) {\n float s = (a - b);\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float v = (s * ONE - a) * ONE;\n float err = (a - (s - v) * ONE) * ONE * ONE * ONE - (b + v);\n#else\n float v = s - a;\n float err = (a - (s - v)) - (b + v);\n#endif\n return vec2(s, err);\n}\n\nvec2 twoSqr(float a) {\n float prod = a * a;\n vec2 a_fp64 = split(a);\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float err = ((a_fp64.x * a_fp64.x - prod) * ONE + 2.0 * a_fp64.x *\n a_fp64.y * ONE * ONE) + a_fp64.y * a_fp64.y * ONE * ONE * ONE;\n#else\n float err = ((a_fp64.x * a_fp64.x - prod) + 2.0 * a_fp64.x * a_fp64.y) + a_fp64.y * a_fp64.y;\n#endif\n return vec2(prod, err);\n}\n\nvec2 twoProd(float a, float b) {\n float prod = a * b;\n vec2 a_fp64 = split(a);\n vec2 b_fp64 = split(b);\n float err = ((a_fp64.x * b_fp64.x - prod) + a_fp64.x * b_fp64.y +\n a_fp64.y * b_fp64.x) + a_fp64.y * b_fp64.y;\n return vec2(prod, err);\n}\n\nvec2 sum_fp64(vec2 a, vec2 b) {\n vec2 s, t;\n s = twoSum(a.x, b.x);\n t = twoSum(a.y, b.y);\n s.y += t.x;\n s = quickTwoSum(s.x, s.y);\n s.y += t.y;\n s = quickTwoSum(s.x, s.y);\n return s;\n}\n\nvec2 sub_fp64(vec2 a, vec2 b) {\n vec2 s, t;\n s = twoSub(a.x, b.x);\n t = twoSub(a.y, b.y);\n s.y += t.x;\n s = quickTwoSum(s.x, s.y);\n s.y += t.y;\n s = quickTwoSum(s.x, s.y);\n return s;\n}\n\nvec2 mul_fp64(vec2 a, vec2 b) {\n vec2 prod = twoProd(a.x, b.x);\n prod.y += a.x * b.y;\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n prod = split2(prod);\n#endif\n prod = quickTwoSum(prod.x, prod.y);\n prod.y += a.y * b.x;\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n prod = split2(prod);\n#endif\n prod = quickTwoSum(prod.x, prod.y);\n return prod;\n}\n\nvec2 div_fp64(vec2 a, vec2 b) {\n float xn = 1.0 / b.x;\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n vec2 yn = mul_fp64(a, vec2(xn, 0));\n#else\n vec2 yn = a * xn;\n#endif\n float diff = (sub_fp64(a, mul_fp64(b, yn))).x;\n vec2 prod = twoProd(xn, diff);\n return sum_fp64(yn, prod);\n}\n\nvec2 sqrt_fp64(vec2 a) {\n if (a.x == 0.0 && a.y == 0.0) return vec2(0.0, 0.0);\n if (a.x < 0.0) return vec2(0.0 / 0.0, 0.0 / 0.0);\n\n float x = 1.0 / sqrt(a.x);\n float yn = a.x * x;\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n vec2 yn_sqr = twoSqr(yn) * ONE;\n#else\n vec2 yn_sqr = twoSqr(yn);\n#endif\n float diff = sub_fp64(a, yn_sqr).x;\n vec2 prod = twoProd(x * 0.5, diff);\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n return sum_fp64(split(yn), prod);\n#else\n return sum_fp64(vec2(yn, 0.0), prod);\n#endif\n}\n",fs:null,getUniforms:function(){return A},fp64ify:S,fp64LowPart:O,fp64ifyMatrix4:w},D={SUM:1,MEAN:2,MIN:3,MAX:4};function C(e,t){return e+t}function T(e,t){return t>e?t:e}function E(e,t){return t<e?t:e}function j(e,t,n){var r=D[e]||D.SUM;switch(t=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isFinite(e))return e;return function(n){return t.index=n.index,e(n.source,t)}}(t,n),r){case D.MIN:return function(e){return function(e,t){if(Number.isFinite(t))return e.length?t:null;var n=e.map(t).filter(Number.isFinite);return n.length?n.reduce(E,1/0):null}(e,t)};case D.SUM:return function(e){return function(e,t){if(Number.isFinite(t))return e.length?e.length*t:null;var n=e.map(t).filter(Number.isFinite);return n.length?n.reduce(C,0):null}(e,t)};case D.MEAN:return function(e){return function(e,t){if(Number.isFinite(t))return e.length?t:null;var n=e.map(t).filter(Number.isFinite);return n.length?n.reduce(C,0)/n.length:null}(e,t)};case D.MAX:return function(e){return function(e,t){if(Number.isFinite(t))return e.length?t:null;var n=e.map(t).filter(Number.isFinite);return n.length?n.reduce(T,-1/0):null}(e,t)};default:return null}}function R(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(n){return t.indices=n.map((function(e){return e.index})),e(n.map((function(e){return e.source})),t)}}var k,N={projectPoints:!1,viewport:null,createBufferObjects:!0,moduleSettings:{}},B=[32775,32774],z=[32776,32774],I=[32776,32775],F=(P={},y()(P,D.SUM,32774),y()(P,D.MEAN,32774),y()(P,D.MIN,B),y()(P,D.MAX,z),P),U={size:1,operation:D.SUM,needMin:!1,needMax:!1,combineMaxMin:!1},L=(_={},y()(_,10240,9728),y()(_,10241,9728),k={},y()(k,10240,9728),y()(k,10241,9728),k);function W(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.width,r=void 0===n?1:n,i=t.height,o=void 0===i?1:i,a=t.data,s=void 0===a?null:a,u=t.unpackFlipY,l=void 0===u||u,c=t.parameters,g=void 0===c?L:c,f=new b.Texture2D(e,{data:s,format:Object(b.isWebGL2)(e)?34836:6408,type:5126,border:0,mipmaps:!1,parameters:g,dataFormat:6408,width:r,height:o,unpackFlipY:l});return f}function G(e,t){var n=t.id,r=t.width,i=void 0===r?1:r,o=t.height,a=void 0===o?1:o,s=t.texture;return new b.Framebuffer(e,{id:n,width:i,height:a,attachments:y()({},36064,s)})}function V(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return H(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return H(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function q(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Y(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?q(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):q(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var X=["aggregationBuffer","maxMinBuffer","minBuffer","maxBuffer"],K={maxData:"maxBuffer",minData:"minBuffer",maxMinData:"maxMinBuffer"},$=[b.FEATURES.WEBGL2,b.FEATURES.COLOR_ATTACHMENT_RGBA32F,b.FEATURES.BLEND_EQUATION_MINMAX,b.FEATURES.FLOAT_BLEND,b.FEATURES.TEXTURE_FLOAT],Q=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i()(this,e),this.id=n.id||"gpu-grid-aggregator",this.gl=t,this.state={weightAttributes:{},textures:{},meanTextures:{},buffers:{},framebuffers:{},maxMinFramebuffers:{},minFramebuffers:{},maxFramebuffers:{},equations:{},resources:{},results:{}},this._hasGPUSupport=Object(b.isWebGL2)(t)&&Object(b.hasFeatures)(this.gl,b.FEATURES.BLEND_EQUATION_MINMAX,b.FEATURES.COLOR_ATTACHMENT_RGBA32F,b.FEATURES.TEXTURE_FLOAT),this._hasGPUSupport&&this._setupModels()}return a()(e,[{key:"delete",value:function(){var e=this.gridAggregationModel,t=this.allAggregationModel,n=this.meanTransform,r=this.state,i=r.textures,o=r.framebuffers,a=r.maxMinFramebuffers,s=r.minFramebuffers,u=r.maxFramebuffers,l=r.meanTextures,c=r.resources;null==e||e.delete(),null==t||t.delete(),null==n||n.delete(),function(e){(e=Array.isArray(e)?e:[e]).forEach((function(e){for(var t in e)e[t].delete()}))}([o,i,a,s,u,l,c])}},{key:"run",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.setState({results:{}});var t=this._normalizeAggregationParams(e);return this._hasGPUSupport||x.log.log(1,"GPUGridAggregator: not supported")(),this._runAggregation(t)}},{key:"getData",value:function(e){var t={},n=this.state.results;for(var r in n[e].aggregationData||(n[e].aggregationData=n[e].aggregationBuffer.getData()),t.aggregationData=n[e].aggregationData,K){var i=K[r];(n[e][r]||n[e][i])&&(n[e][r]=n[e][r]||n[e][i].getData(),t[r]=n[e][r])}return t}},{key:"updateShaders",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.setState({shaderOptions:e,modelDirty:!0})}},{key:"_normalizeAggregationParams",value:function(e){var t=Y(Y({},N),e),n=t.weights;return n&&(t.weights=function(e){var t={};for(var n in e)t[n]=Y(Y({},U),e[n]);return t}(n)),t}},{key:"setState",value:function(e){Object.assign(this.state,e)}},{key:"_getAggregateData",value:function(e){var t={},n=this.state,r=n.textures,i=n.framebuffers,o=n.maxMinFramebuffers,a=n.minFramebuffers,s=n.maxFramebuffers,u=n.resources,l=e.weights;for(var c in l){t[c]={};var g=l[c],f=g.needMin,d=g.needMax,p=g.combineMaxMin;t[c].aggregationTexture=r[c],t[c].aggregationBuffer=Object(b.readPixelsToBuffer)(i[c],{target:l[c].aggregationBuffer,sourceType:5126}),f&&d&&p?(t[c].maxMinBuffer=Object(b.readPixelsToBuffer)(o[c],{target:l[c].maxMinBuffer,sourceType:5126}),t[c].maxMinTexture=u["".concat(c,"-maxMinTexture")]):(f&&(t[c].minBuffer=Object(b.readPixelsToBuffer)(a[c],{target:l[c].minBuffer,sourceType:5126}),t[c].minTexture=u["".concat(c,"-minTexture")]),d&&(t[c].maxBuffer=Object(b.readPixelsToBuffer)(s[c],{target:l[c].maxBuffer,sourceType:5126}),t[c].maxTexture=u["".concat(c,"-maxTexture")]))}return this._trackGPUResultBuffers(t,l),t}},{key:"_renderAggregateData",value:function(e){var t=e.cellSize,n=e.projectPoints,r=e.attributes,i=e.moduleSettings,o=e.numCol,a=e.numRow,s=e.weights,u=e.translation,l=e.scaling,c=this.state,g=c.maxMinFramebuffers,f=c.minFramebuffers,d=c.maxFramebuffers,p=[o,a],h={blend:!0,depthTest:!1,blendFunc:[1,1]},v={cellSize:t,gridSize:p,projectPoints:n,translation:u,scaling:l};for(var m in s){var y=s[m],x=y.needMin,b=y.needMax,S=x&&b&&s[m].combineMaxMin;this._renderToWeightsTexture({id:m,parameters:h,moduleSettings:i,uniforms:v,gridSize:p,attributes:r,weights:s}),S?this._renderToMaxMinTexture({id:m,parameters:Y(Y({},h),{},{blendEquation:I}),gridSize:p,minOrMaxFb:g[m],clearParams:{clearColor:[0,0,0,3402823466e29]},combineMaxMin:S}):(x&&this._renderToMaxMinTexture({id:m,parameters:Y(Y({},h),{},{blendEquation:B}),gridSize:p,minOrMaxFb:f[m],clearParams:{clearColor:[3402823466e29,3402823466e29,3402823466e29,0]},combineMaxMin:S}),b&&this._renderToMaxMinTexture({id:m,parameters:Y(Y({},h),{},{blendEquation:z}),gridSize:p,minOrMaxFb:d[m],clearParams:{clearColor:[0,0,0,0]},combineMaxMin:S}))}}},{key:"_renderToMaxMinTexture",value:function(e){var t=e.id,n=e.parameters,r=e.gridSize,i=e.minOrMaxFb,o=e.combineMaxMin,a=e.clearParams,s=void 0===a?{}:a,u=this.state.framebuffers,l=this.gl,c=this.allAggregationModel;Object(b.withParameters)(l,Y(Y({},s),{},{framebuffer:i,viewport:[0,0,r[0],r[1]]}),(function(){l.clear(16384),c.draw({parameters:n,uniforms:{uSampler:u[t].texture,gridSize:r,combineMaxMin:o}})}))}},{key:"_renderToWeightsTexture",value:function(e){var t=e.id,n=e.parameters,r=e.moduleSettings,i=e.uniforms,o=e.gridSize,a=e.weights,s=this.state,u=s.framebuffers,l=s.equations,c=s.weightAttributes,g=this.gl,f=this.gridAggregationModel,d=a[t].operation,p=d===D.MIN?[3402823466e29,3402823466e29,3402823466e29,0]:[0,0,0,0];if(Object(b.withParameters)(g,{framebuffer:u[t],viewport:[0,0,o[0],o[1]],clearColor:p},(function(){g.clear(16384);var e={weights:c[t]};f.draw({parameters:Y(Y({},n),{},{blendEquation:l[t]}),moduleSettings:r,uniforms:i,attributes:e})})),d===D.MEAN){var h=this.state,v=h.meanTextures,m=h.textures,x={_sourceTextures:{aggregationValues:v[t]},_targetTexture:m[t],elementCount:m[t].width*m[t].height};this.meanTransform?this.meanTransform.update(x):this.meanTransform=function(e,t){return new b.Transform(e,Y({vs:"#define SHADER_NAME gpu-aggregation-transform-mean-vs\nattribute vec4 aggregationValues;\nvarying vec4 meanValues;\n\nvoid main()\n{\n bool isCellValid = bool(aggregationValues.w > 0.);\n meanValues.xyz = isCellValid ? aggregationValues.xyz/aggregationValues.w : vec3(0, 0, 0);\n meanValues.w = aggregationValues.w;\n gl_PointSize = 1.0;\n}\n",_targetTextureVarying:"meanValues"},t))}(g,x),this.meanTransform.run({parameters:{blend:!1,depthTest:!1}}),u[t].attach(y()({},36064,m[t]))}}},{key:"_runAggregation",value:function(e){this._updateModels(e),this._setupFramebuffers(e),this._renderAggregateData(e);var t=this._getAggregateData(e);return this.setState({results:t}),t}},{key:"_setupFramebuffers",value:function(e){var t=this.state,n=t.textures,r=t.framebuffers,i=t.maxMinFramebuffers,o=t.minFramebuffers,a=t.maxFramebuffers,s=t.meanTextures,u=t.equations,l=e.weights,c=e.numCol,g=e.numRow,f={width:c,height:g};for(var d in l){var p=l[d],h=p.needMin,v=p.needMax,m=p.combineMaxMin,x=p.operation;n[d]=l[d].aggregationTexture||n[d]||W(this.gl,{id:"".concat(d,"-texture"),width:c,height:g}),n[d].resize(f);var b=n[d];x===D.MEAN&&(s[d]=s[d]||W(this.gl,{id:"".concat(d,"-mean-texture"),width:c,height:g}),s[d].resize(f),b=s[d]),r[d]?r[d].attach(y()({},36064,b)):r[d]=G(this.gl,{id:"".concat(d,"-fb"),width:c,height:g,texture:b}),r[d].resize(f),u[d]=F[x]||F.SUM,(h||v)&&(h&&v&&m?i[d]||(b=l[d].maxMinTexture||this._getMinMaxTexture("".concat(d,"-maxMinTexture")),i[d]=G(this.gl,{id:"".concat(d,"-maxMinFb"),texture:b})):(h&&(o[d]||(b=l[d].minTexture||this._getMinMaxTexture("".concat(d,"-minTexture")),o[d]=G(this.gl,{id:"".concat(d,"-minFb"),texture:b}))),v&&(a[d]||(b=l[d].maxTexture||this._getMinMaxTexture("".concat(d,"-maxTexture")),a[d]=G(this.gl,{id:"".concat(d,"-maxFb"),texture:b})))))}}},{key:"_getMinMaxTexture",value:function(e){var t=this.state.resources;return t[e]||(t[e]=W(this.gl,{id:"resourceName"})),t[e]}},{key:"_setupModels",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.numCol,r=void 0===n?0:n,i=t.numRow,o=void 0===i?0:i,a=this.gl,s=this.state.shaderOptions;if(null===(e=this.gridAggregationModel)||void 0===e||e.delete(),this.gridAggregationModel=Z(a,s),!this.allAggregationModel){var u=r*o;this.allAggregationModel=J(a,u)}}},{key:"_setupWeightAttributes",value:function(e){var t=this.state.weightAttributes,n=e.weights;for(var r in n)t[r]=e.attributes[r]}},{key:"_trackGPUResultBuffers",value:function(e,t){var n=this.state.resources;for(var r in e)if(e[r]){var i,o=V(X);try{for(o.s();!(i=o.n()).done;){var a=i.value;if(e[r][a]&&t[r][a]!==e[r][a]){var s="gpu-result-".concat(r,"-").concat(a);n[s]&&n[s].delete(),n[s]=e[r][a]}}}catch(e){o.e(e)}finally{o.f()}}}},{key:"_updateModels",value:function(e){var t=e.vertexCount,n=e.attributes,r=e.numCol,i=e.numRow;this.state.modelDirty&&(this._setupModels(e),this.setState({modelDirty:!1})),this._setupWeightAttributes(e),this.gridAggregationModel.setVertexCount(t),this.gridAggregationModel.setAttributes(n),this.allAggregationModel.setInstanceCount(r*i)}}],[{key:"getAggregationData",value:function(e){var t=e.aggregationData,n=e.maxData,r=e.minData,i=e.maxMinData,o=4*e.pixelIndex,a={};return t&&(a.cellCount=t[o+3],a.cellWeight=t[o]),i?(a.maxCellWieght=i[0],a.minCellWeight=i[3]):(n&&(a.maxCellWieght=n[0],a.totalCount=n[3]),r&&(a.minCellWeight=r[0],a.totalCount=n[3])),a}},{key:"getCellData",value:function(e){for(var t=e.countsData,n=e.size,r=void 0===n?1:n,i=t.length/4,o=new Float32Array(i*r),a=new Uint32Array(i),s=0;s<i;s++){for(var u=0;u<r;u++)o[s*r+u]=t[4*s+u];a[s]=t[4*s+3]}return{cellCounts:a,cellWeights:o}}},{key:"isSupported",value:function(e){return Object(b.hasFeatures)(e,$)}}]),e}();function Z(e,t){var n=Object(x._mergeShaders)({vs:"#define SHADER_NAME gpu-aggregation-to-grid-vs\n\nattribute vec3 positions;\nattribute vec3 positions64Low;\nattribute vec3 weights;\nuniform vec2 cellSize;\nuniform vec2 gridSize;\nuniform bool projectPoints;\nuniform vec2 translation;\nuniform vec3 scaling;\n\nvarying vec3 vWeights;\n\nvec2 project_to_pixel(vec4 pos) {\n vec4 result;\n pos.xy = pos.xy/pos.w;\n result = pos + vec4(translation, 0., 0.);\n result.xy = scaling.z > 0. ? result.xy * scaling.xy : result.xy;\n return result.xy;\n}\n\nvoid main(void) {\n\n vWeights = weights;\n\n vec4 windowPos = vec4(positions, 1.);\n if (projectPoints) {\n windowPos = project_position_to_clipspace(positions, positions64Low, vec3(0));\n }\n\n vec2 pos = project_to_pixel(windowPos);\n\n vec2 pixelXY64[2];\n pixelXY64[0] = vec2(pos.x, 0.);\n pixelXY64[1] = vec2(pos.y, 0.);\n vec2 gridXY64[2];\n gridXY64[0] = div_fp64(pixelXY64[0], vec2(cellSize.x, 0));\n gridXY64[1] = div_fp64(pixelXY64[1], vec2(cellSize.y, 0));\n float x = floor(gridXY64[0].x);\n float y = floor(gridXY64[1].x);\n pos = vec2(x, y);\n pos = (pos * (2., 2.) / (gridSize)) - (1., 1.);\n vec2 offset = 1.0 / gridSize;\n pos = pos + offset;\n\n gl_Position = vec4(pos, 0.0, 1.0);\n gl_PointSize = 1.0;\n}\n",fs:"#define SHADER_NAME gpu-aggregation-to-grid-fs\n\nprecision highp float;\n\nvarying vec3 vWeights;\n\nvoid main(void) {\n gl_FragColor = vec4(vWeights, 1.0);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[M,x.project32]},t);return new b.Model(e,Y({id:"Gird-Aggregation-Model",vertexCount:1,drawMode:0},n))}function J(e,t){return new b.Model(e,{id:"All-Aggregation-Model",vs:"#version 300 es\n#define SHADER_NAME gpu-aggregation-all-vs-64\n\nin vec2 position;\nuniform ivec2 gridSize;\nout vec2 vTextureCoord;\n\nvoid main(void) {\n vec2 pos = vec2(-1.0, -1.0);\n vec2 offset = 1.0 / vec2(gridSize);\n pos = pos + offset;\n\n gl_Position = vec4(pos, 0.0, 1.0);\n\n int yIndex = gl_InstanceID / gridSize[0];\n int xIndex = gl_InstanceID - (yIndex * gridSize[0]);\n\n vec2 yIndexFP64 = vec2(float(yIndex), 0.);\n vec2 xIndexFP64 = vec2(float(xIndex), 0.);\n vec2 gridSizeYFP64 = vec2(gridSize[1], 0.);\n vec2 gridSizeXFP64 = vec2(gridSize[0], 0.);\n\n vec2 texCoordXFP64 = div_fp64(yIndexFP64, gridSizeYFP64);\n vec2 texCoordYFP64 = div_fp64(xIndexFP64, gridSizeXFP64);\n\n vTextureCoord = vec2(texCoordYFP64.x, texCoordXFP64.x);\n gl_PointSize = 1.0;\n}\n",fs:"#version 300 es\n#define SHADER_NAME gpu-aggregation-all-fs\n\nprecision highp float;\n\nin vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform bool combineMaxMin;\nout vec4 fragColor;\nvoid main(void) {\n vec4 textureColor = texture(uSampler, vec2(vTextureCoord.s, vTextureCoord.t));\n if (textureColor.a == 0.) {\n discard;\n }\n fragColor.rgb = textureColor.rgb;\n fragColor.a = combineMaxMin ? textureColor.r : textureColor.a;\n}\n",modules:[M],vertexCount:1,drawMode:0,isInstanced:!0,instanceCount:t,attributes:{position:[0,0]}})}var ee=[[255,255,178],[254,217,118],[254,178,76],[253,141,60],[240,59,32],[189,0,38]];function te(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Float32Array;if(Number.isFinite(e[0]))t=new r(e);else{t=new r(4*e.length);for(var i=0,o=0;o<e.length;o++){var a=e[o];t[i++]=a[0],t[i++]=a[1],t[i++]=a[2],t[i++]=Number.isFinite(a[3])?a[3]:255}}if(n)for(var s=0;s<t.length;s++)t[s]/=255;return t}function ne(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function re(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ne(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ne(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ie(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}var oe=[0,0,0,0],ae=[0,255,0,255],se=["minColor","maxColor","colorRange","colorDomain"],ue={cellSizePixels:{value:100,min:1},cellMarginPixels:{value:2,min:0,max:5},colorDomain:null,colorRange:ee},le=function(e){f()(n,e);var t=ie(n);function n(){var e;i()(this,n);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=t.call.apply(t,[this].concat(o)),y()(u()(e),"state",void 0),e}return a()(n,[{key:"getShaders",value:function(){return{vs:"#define SHADER_NAME screen-grid-layer-vertex-shader\n#define RANGE_COUNT 6\n\nattribute vec3 positions;\nattribute vec3 instancePositions;\nattribute vec4 instanceCounts;\nattribute vec3 instancePickingColors;\n\nuniform float opacity;\nuniform vec3 cellScale;\nuniform vec4 minColor;\nuniform vec4 maxColor;\nuniform vec4 colorRange[RANGE_COUNT];\nuniform vec2 colorDomain;\nuniform bool shouldUseMinMax;\nuniform sampler2D maxTexture;\n\nvarying vec4 vColor;\nvarying float vSampleCount;\n\nvec4 quantizeScale(vec2 domain, vec4 range[RANGE_COUNT], float value) {\n vec4 outColor = vec4(0., 0., 0., 0.);\n if (value >= domain.x && value <= domain.y) {\n float domainRange = domain.y - domain.x;\n if (domainRange <= 0.) {\n outColor = colorRange[0];\n } else {\n float rangeCount = float(RANGE_COUNT);\n float rangeStep = domainRange / rangeCount;\n float idx = floor((value - domain.x) / rangeStep);\n idx = clamp(idx, 0., rangeCount - 1.);\n int intIdx = int(idx);\n outColor = colorRange[intIdx];\n }\n }\n outColor = outColor / 255.;\n return outColor;\n}\n\nvoid main(void) {\n vSampleCount = instanceCounts.a;\n\n float weight = instanceCounts.r;\n float maxWeight = texture2D(maxTexture, vec2(0.5)).r;\n\n float step = weight / maxWeight;\n vec4 minMaxColor = mix(minColor, maxColor, step) / 255.;\n\n vec2 domain = colorDomain;\n float domainMaxValid = float(colorDomain.y != 0.);\n domain.y = mix(maxWeight, colorDomain.y, domainMaxValid);\n vec4 rangeColor = quantizeScale(domain, colorRange, weight);\n\n float rangeMinMax = float(shouldUseMinMax);\n vec4 color = mix(rangeColor, minMaxColor, rangeMinMax);\n vColor = vec4(color.rgb, color.a * opacity);\n\n // Set color to be rendered to picking fbo (also used to check for selection highlight).\n picking_setPickingColor(instancePickingColors);\n\n gl_Position = vec4(instancePositions + positions * cellScale, 1.);\n}\n",fs:"#define SHADER_NAME screen-grid-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying float vSampleCount;\n\nvoid main(void) {\n if (vSampleCount <= 0.0) {\n discard;\n }\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[x.picking]}}},{key:"initializeState",value:function(){var e=this.context.gl;this.getAttributeManager().addInstanced({instancePositions:{size:3,update:this.calculateInstancePositions},instanceCounts:{size:4,noAlloc:!0}}),this.setState({model:this._getModel(e)})}},{key:"shouldUpdateState",value:function(e){return e.changeFlags.somethingChanged}},{key:"updateState",value:function(e){c()(v()(n.prototype),"updateState",this).call(this,e);var t=e.oldProps,r=e.props,i=e.changeFlags,o=this.getAttributeManager();r.numInstances!==t.numInstances?o.invalidateAll():t.cellSizePixels!==r.cellSizePixels&&o.invalidate("instancePositions"),this._updateUniforms(t,r,i)}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,r=n.parameters,i=n.maxTexture,o=this.props.minColor||oe,a=this.props.maxColor||ae,s=this.props.colorDomain||[1,0];this.state.model.setUniforms(t).setUniforms({minColor:o,maxColor:a,maxTexture:i,colorDomain:s}).draw({parameters:re({depthTest:!1,depthMask:!1},r)})}},{key:"calculateInstancePositions",value:function(e,t){for(var n=t.numInstances,r=this.context.viewport,i=r.width,o=r.height,a=this.props.cellSizePixels,s=Math.ceil(i/a),u=e.value,l=e.size,c=0;c<n;c++){var g=c%s,f=Math.floor(c/s);u[c*l+0]=g*a/i*2-1,u[c*l+1]=1-f*a/o*2,u[c*l+2]=0}}},{key:"_getModel",value:function(e){return new b.Model(e,re(re({},this.getShaders()),{},{id:this.props.id,geometry:new b.Geometry({drawMode:6,attributes:{positions:new Float32Array([0,0,0,1,0,0,1,1,0,0,1,0])}}),isInstanced:!0}))}},{key:"_shouldUseMinMax",value:function(){var e=this.props,t=e.minColor,n=e.maxColor,r=e.colorDomain,i=e.colorRange;return t||n?(x.log.deprecated("ScreenGridLayer props: minColor and maxColor","colorRange, colorDomain")(),!0):!r&&!i}},{key:"_updateUniforms",value:function(e,t,n){var r=this.state.model;if(se.some((function(n){return e[n]!==t[n]}))&&r.setUniforms({shouldUseMinMax:this._shouldUseMinMax()}),e.colorRange!==t.colorRange&&r.setUniforms({colorRange:te(t.colorRange)}),e.cellMarginPixels!==t.cellMarginPixels||e.cellSizePixels!==t.cellSizePixels||n.viewportChanged){var i=this.context.viewport,o=i.width,a=i.height,s=this.props,u=s.cellSizePixels,l=s.cellMarginPixels,c=u>l?l:0,g=new Float32Array([(u-c)/o*2,-(u-c)/a*2,1]);r.setUniforms({cellScale:g})}}}],[{key:"isSupported",value:function(e){return Object(b.hasFeatures)(e,[b.FEATURES.TEXTURE_FLOAT])}}]),n}(x.Layer);function ce(e,t){var n={};for(var r in e)t.includes(r)||(n[r]=e[r]);return n}function ge(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return fe(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return fe(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function fe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function de(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}y()(le,"layerName","ScreenGridCellLayer"),y()(le,"defaultProps",ue);var pe=function(e){f()(n,e);var t=de(n);function n(){var e;i()(this,n);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=t.call.apply(t,[this].concat(o)),y()(u()(e),"state",void 0),e}return a()(n,[{key:"initializeAggregationLayer",value:function(e){c()(v()(n.prototype),"initializeState",this).call(this,this.context),this.setState({ignoreProps:ce(this.constructor._propTypes,e.data.props),dimensions:e})}},{key:"updateState",value:function(e){if(c()(v()(n.prototype),"updateState",this).call(this,e),e.changeFlags.extensionsChanged){var t=this.getShaders({});t&&t.defines&&(t.defines.NON_INSTANCED_MODEL=1),this.updateShaders(t)}this._updateAttributes()}},{key:"updateAttributes",value:function(e){this.setState({changedAttributes:e})}},{key:"getAttributes",value:function(){return this.getAttributeManager().getShaderAttributes()}},{key:"getModuleSettings",value:function(){var e=this.context,t=e.viewport,n=e.mousePosition,r=e.gl;return Object.assign(Object.create(this.props),{viewport:t,mousePosition:n,pickingActive:0,devicePixelRatio:Object(b.cssToDeviceRatio)(r)})}},{key:"updateShaders",value:function(e){}},{key:"isAggregationDirty",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.props,r=e.oldProps,i=e.changeFlags,o=t.compareAll,a=void 0!==o&&o,s=t.dimension,u=this.state.ignoreProps,l=s.props,c=s.accessors,g=void 0===c?[]:c,f=i.updateTriggersChanged;if(i.dataChanged)return!0;if(f){if(f.all)return!0;var d,p=ge(g);try{for(p.s();!(d=p.n()).done;){var h=d.value;if(f[h])return!0}}catch(e){p.e(e)}finally{p.f()}}if(a)return!!i.extensionsChanged||Object(x._compareProps)({oldProps:r,newProps:n,ignoreProps:u,propTypes:this.constructor._propTypes});var v,m=ge(l);try{for(m.s();!(v=m.n()).done;){var y=v.value;if(n[y]!==r[y])return!0}}catch(e){m.e(e)}finally{m.f()}return!1}},{key:"isAttributeChanged",value:function(e){var t=this.state.changedAttributes;return e?t&&void 0!==t[e]:!function(e){var t=!0;for(var n in e){t=!1;break}return t}(t)}},{key:"_getAttributeManager",value:function(){return new x.AttributeManager(this.context.gl,{id:this.props.id,stats:this.context.stats})}}]),n}(x.CompositeLayer);y()(pe,"layerName","AggregationLayer");var he=n(10),ve=n.n(he);function me(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return ye(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ye(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function ye(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function xe(e,t,n){var r=n;return r.domain=function(){return e},r.range=function(){return t},r}function be(e,t){return xe(e,t,(function(n){return function(e,t,n){var r=e[1]-e[0];if(r<=0)return x.log.warn("quantizeScale: invalid domain, returning range[0]")(),t[0];var i=r/t.length,o=Math.floor((n-e[0])/i),a=Math.max(Math.min(o,t.length-1),0);return t[a]}(e,t,n)}))}function Se(e,t){return xe(e,t,(function(n){return function(e,t,n){return(n-e[0])/(e[1]-e[0])*(t[1]-t[0])+t[0]}(e,t,n)}))}function Oe(e,t){for(var n=e.sort(we),r=0,i=Math.max(1,t.length),o=new Array(i-1);++r<i;)o[r-1]=Ae(n,r/i);var a=function(e){return function(e,t,n){return t[function(e,t){var n=0,r=e.length;for(;n<r;){var i=n+r>>>1;we(e[i],t)>0?r=i:n=i+1}return n}(e,n)]}(o,t,e)};return a.thresholds=function(){return o},xe(e,t,a)}function we(e,t){return e-t}function Ae(e,t){var n=e.length;if(t<=0||n<2)return e[0];if(t>=1)return e[n-1];var r=(n-1)*t,i=Math.floor(r),o=e[i];return o+(e[i+1]-o)*(r-i)}function Pe(e,t){var n,r=new Map,i=[],o=me(e);try{for(o.s();!(n=o.n()).done;){var a=n.value,s="".concat(a);r.has(s)||r.set(s,i.push(a))}}catch(e){o.e(e)}finally{o.f()}return xe(e,t,(function(e){return function(e,t,n,r){var i="".concat(r),o=t.get(i);return void 0===o&&(o=e.push(r),t.set(i,o)),n[(o-1)%n.length]}(i,r,t,e)}))}function _e(e){return null!=e}function Me(e,t){return("function"==typeof t?e.map(t):e).filter(_e)}function De(e,t){return Me(e,t)}function Ce(e,t){return n=Me(e,t),r=[],n.forEach((function(e){!r.includes(e)&&_e(e)&&r.push(e)})),r;var n,r}function Te(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Ee(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ee(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ee(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var je=function(e){return e.length},Re=function(e){return e.points},ke=function(e){return e.index},Ne=function(e,t){return e<t?-1:e>t?1:e>=t?0:NaN},Be={getValue:je,getPoints:Re,getIndex:ke,filterData:null},ze=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Be;i()(this,e),y()(this,"maxCount",void 0),y()(this,"maxValue",void 0),y()(this,"minValue",void 0),y()(this,"totalCount",void 0),y()(this,"aggregatedBins",void 0),y()(this,"sortedBins",void 0),y()(this,"binMap",void 0),this.aggregatedBins=this.getAggregatedBins(t,n),this._updateMinMaxValues(),this.binMap=this.getBinMap()}return a()(e,[{key:"getAggregatedBins",value:function(e,t){for(var n=t.getValue,r=void 0===n?je:n,i=t.getPoints,o=void 0===i?Re:i,a=t.getIndex,s=void 0===a?ke:a,u=t.filterData,l="function"==typeof u,c=e.length,g=[],f=0,d=0;d<c;d++){var p=e[d],h=o(p),v=s(p),m=l?h.filter(u):h;p.filteredPoints=l?m:null;var y=m.length?r(m):null;null!=y&&(g[f]={i:Number.isFinite(v)?v:d,value:y,counts:m.length},f++)}return g}},{key:"_percentileToIndex",value:function(e){var t=this.sortedBins.length;if(t<2)return[0,0];var n=e.map((function(e){return t=e,n=0,r=100,Math.max(n,Math.min(r,t));var t,n,r})),r=ve()(n,2),i=r[0],o=r[1];return[Math.ceil(i/100*(t-1)),Math.floor(o/100*(t-1))]}},{key:"getBinMap",value:function(){var e,t={},n=Te(this.aggregatedBins);try{for(n.s();!(e=n.n()).done;){var r=e.value;t[r.i]=r}}catch(e){n.e(e)}finally{n.f()}return t}},{key:"_updateMinMaxValues",value:function(){var e,t=0,n=0,r=3402823466e29,i=0,o=Te(this.aggregatedBins);try{for(o.s();!(e=o.n()).done;){var a=e.value;t=t>a.counts?t:a.counts,n=n>a.value?n:a.value,r=r<a.value?r:a.value,i+=a.counts}}catch(e){o.e(e)}finally{o.f()}this.maxCount=t,this.maxValue=n,this.minValue=r,this.totalCount=i}},{key:"getValueRange",value:function(e){if(this.sortedBins||(this.sortedBins=this.aggregatedBins.sort((function(e,t){return Ne(e.value,t.value)}))),!this.sortedBins.length)return[];var t=0,n=this.sortedBins.length-1;if(Array.isArray(e)){var r=this._percentileToIndex(e);t=r[0],n=r[1]}return[this.sortedBins[t].value,this.sortedBins[n].value]}},{key:"getValueDomainByScale",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=ve()(t,2),r=n[0],i=void 0===r?0:r,o=n[1],a=void 0===o?100:o;if(this.sortedBins||(this.sortedBins=this.aggregatedBins.sort((function(e,t){return Ne(e.value,t.value)}))),!this.sortedBins.length)return[];var s=this._percentileToIndex([i,a]);return this._getScaleDomain(e,s)}},{key:"_getScaleDomain",value:function(e,t){var n=ve()(t,2),r=n[0],i=n[1],o=this.sortedBins;switch(e){case"quantize":case"linear":return[o[r].value,o[i].value];case"quantile":return De(o.slice(r,i+1),(function(e){return e.value}));case"ordinal":return Ce(o,(function(e){return e.value}));default:return[o[r].value,o[i].value]}}}]),e}();function Ie(e){return Number.isFinite(e)?e:0}function Fe(e,t){for(var n,r,i=e.positions.value,o=1/0,a=-1/0,s=1/0,u=-1/0,l=0;l<t;l++)r=i[3*l],o=(n=i[3*l+1])<o?n:o,a=n>a?n:a,s=r<s?r:s,u=r>u?r:u;return{xMin:Ie(s),xMax:Ie(u),yMin:Ie(o),yMax:Ie(a)}}function Ue(e,t){var n=e<0?-1:1,r=n<0?Math.abs(e)+t:Math.abs(e);return(r=Math.floor(r/t)*t)*n}function Le(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!n)return{xOffset:t,yOffset:t};var r=e.yMin,i=e.yMax,o=(r+i)/2;return Ge(t,o)}function We(e,t,n,r){var i=Le(e,t,r!==x.COORDINATE_SYSTEM.CARTESIAN),o=function(e,t,n,r){var i=r.width,o=r.height,a=n===x.COORDINATE_SYSTEM.CARTESIAN?[-i/2,-o/2]:[-180,-90];x.log.assert(n===x.COORDINATE_SYSTEM.CARTESIAN||n===x.COORDINATE_SYSTEM.LNGLAT||n===x.COORDINATE_SYSTEM.DEFAULT);var s=e.xMin,u=e.yMin;return[-1*(Ue(s-a[0],t.xOffset)+a[0]),-1*(Ue(u-a[1],t.yOffset)+a[1])]}(e,i,r,n),a=e.xMin,s=e.yMin,u=e.xMax,l=e.yMax,c=u-a+i.xOffset,g=l-s+i.yOffset;return{gridOffset:i,translation:o,width:c,height:g,numCol:Math.ceil(c/i.xOffset),numRow:Math.ceil(g/i.yOffset)}}function Ge(e,t){var n;return{yOffset:e/6378e3*(180/Math.PI),xOffset:(n=t,e/6378e3*(180/Math.PI)/Math.cos(n*Math.PI/180))}}function Ve(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function He(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ve(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ve(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function qe(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Ye(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ye(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Ye(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Xe(e,t){var n=function(e,t){var n=e.data,r=void 0===n?[]:n,i=e.cellSize,o=t.attributes,a=t.viewport,s=t.projectPoints,u=t.numInstances,l=o.positions.value,c=o.positions.getAccessor().size,g=t.boundingBox||function(e,t){for(var n,r,i=e.value,o=e.getAccessor().size,a=1/0,s=-1/0,u=1/0,l=-1/0,c=0;c<t;c++)r=i[c*o],n=i[c*o+1],Number.isFinite(r)&&Number.isFinite(n)&&(a=n<a?n:a,s=n>s?n:s,u=r<u?r:u,l=r>l?r:l);return{xMin:u,xMax:l,yMin:a,yMax:s}}(o.positions,u),f=t.posOffset||[180,90],d=t.gridOffset||Le(g,i);if(d.xOffset<=0||d.yOffset<=0)return{gridHash:{},gridOffset:d};var p,h=a.width,v=a.height,m=Math.ceil(h/d.xOffset),y=Math.ceil(v/d.yOffset),b={},S=Object(x.createIterable)(r),O=S.iterable,w=S.objectInfo,A=new Array(3),P=qe(O);try{for(P.s();!(p=P.n()).done;){var _=p.value;w.index++,A[0]=l[w.index*c],A[1]=l[w.index*c+1],A[2]=c>=3?l[w.index*c+2]:0;var M=s?a.project(A):A,D=ve()(M,2),C=D[0],T=D[1];if(Number.isFinite(C)&&Number.isFinite(T)){var E=Math.floor((T+f[1])/d.yOffset),j=Math.floor((C+f[0])/d.xOffset);if(!s||j>=0&&j<m&&E>=0&&E<y){var R="".concat(E,"-").concat(j);b[R]=b[R]||{count:0,points:[],lonIdx:j,latIdx:E},b[R].count+=1,b[R].points.push({source:_,index:w.index})}}}}catch(e){P.e(e)}finally{P.f()}return{gridHash:b,gridOffset:d,offsets:[-1*f[0],-1*f[1]]}}(e,t),r=function(e){var t=e.gridHash,n=e.gridOffset,r=e.offsets,i=new Array(Object.keys(t).length),o=0;for(var a in t){var s=a.split("-"),u=parseInt(s[0],10),l=parseInt(s[1],10),c=o++;i[c]=He({index:c,position:[r[0]+n.xOffset*l,r[1]+n.yOffset*u]},t[a])}return i}(n);return{gridHash:n.gridHash,gridOffset:n.gridOffset,data:r}}function Ke(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return $e(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return $e(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function $e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Qe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}var Ze=function(e){f()(n,e);var t=Qe(n);function n(){var e;i()(this,n);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=t.call.apply(t,[this].concat(o)),y()(u()(e),"state",void 0),e}return a()(n,[{key:"initializeAggregationLayer",value:function(e){var t=e.dimensions,r=this.context.gl;c()(v()(n.prototype),"initializeAggregationLayer",this).call(this,t),this.setState({layerData:{},gpuGridAggregator:new Q(r,{id:"".concat(this.id,"-gpu-aggregator")}),cpuGridAggregator:Xe})}},{key:"updateState",value:function(e){c()(v()(n.prototype),"updateState",this).call(this,e),this.updateAggregationState(e);var t=this.state,r=t.aggregationDataDirty,i=t.aggregationWeightsDirty,o=t.gpuAggregation;if(!(this.getNumInstances()<=0)){var a=!1;(r||o&&i)&&(this._updateAggregation(e),a=!0),o||!r&&!i||(this._updateWeightBins(),this._uploadAggregationResults(),a=!0),this.setState({aggregationDirty:a})}}},{key:"finalizeState",value:function(e){var t,r=this.state.weights.count;r&&r.aggregationBuffer&&r.aggregationBuffer.delete(),null===(t=this.state.gpuGridAggregator)||void 0===t||t.delete(),c()(v()(n.prototype),"finalizeState",this).call(this,e)}},{key:"updateShaders",value:function(e){this.state.gpuAggregation&&this.state.gpuGridAggregator.updateShaders(e)}},{key:"updateAggregationState",value:function(e){x.log.assert(!1)}},{key:"allocateResources",value:function(e,t){if(this.state.numRow!==e||this.state.numCol!==t){var n=t*e*4*4,r=this.context.gl,i=this.state.weights;for(var o in i){var a=i[o];a.aggregationBuffer&&a.aggregationBuffer.delete(),a.aggregationBuffer=new b.Buffer(r,{byteLength:n,accessor:{size:4,type:5126,divisor:1}})}}}},{key:"updateResults",value:function(e){var t=e.aggregationData,n=e.maxMinData,r=e.maxData,i=e.minData,o=this.state.weights.count;o&&(o.aggregationData=t,o.maxMinData=n,o.maxData=r,o.minData=i)}},{key:"_updateAggregation",value:function(e){var t=this.state,n=t.cpuGridAggregator,r=t.gpuGridAggregator,i=t.gridOffset,o=t.posOffset,a=t.translation,s=void 0===a?[0,0]:a,u=t.scaling,l=void 0===u?[0,0,0]:u,c=t.boundingBox,g=t.projectPoints,f=t.gpuAggregation,d=t.numCol,p=t.numRow,h=e.props,v=this.context.viewport,m=this.getAttributes(),y=this.getNumInstances();if(f){var x=this.state.weights;r.run({weights:x,cellSize:[i.xOffset,i.yOffset],numCol:d,numRow:p,translation:s,scaling:l,vertexCount:y,projectPoints:g,attributes:m,moduleSettings:this.getModuleSettings()})}else{var b=n(h,{gridOffset:i,projectPoints:g,attributes:m,viewport:v,posOffset:o,boundingBox:c});this.setState({layerData:b})}}},{key:"_updateWeightBins",value:function(){var e=this.state.getValue,t=new ze(this.state.layerData.data||[],{getValue:e});this.setState({sortedBins:t})}},{key:"_uploadAggregationResults",value:function(){var e,t=this.state,n=t.numCol,r=t.numRow,i=this.state.layerData.data,o=this.state.sortedBins,a=o.aggregatedBins,s=o.minValue,u=o.maxValue,l=o.totalCount,c=new Float32Array(n*r*4).fill(0),g=Ke(a);try{for(g.s();!(e=g.n()).done;){var f=e.value,d=i[f.i],p=d.lonIdx,h=d.latIdx,v=f.value,m=f.counts,y=4*(p+h*n);c[y]=v,c[y+4-1]=m}}catch(e){g.e(e)}finally{g.f()}var x=new Float32Array([u,0,0,s]),b=new Float32Array([u,0,0,l]),S=new Float32Array([s,0,0,l]);this.updateResults({aggregationData:c,maxMinData:x,maxData:b,minData:S})}}]),n}(pe);function Je(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}function et(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function tt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?et(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):et(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}y()(Ze,"layerName","GridAggregationLayer");var nt=tt(tt({},le.defaultProps),{},{getPosition:{type:"accessor",value:function(e){return e.position}},getWeight:{type:"accessor",value:1},gpuAggregation:!0,aggregation:"SUM"}),rt={data:{props:["cellSizePixels"]},weights:{props:["aggregation"],accessors:["getWeight"]}},it=function(e){f()(n,e);var t=Je(n);function n(){var e;i()(this,n);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=t.call.apply(t,[this].concat(o)),y()(u()(e),"state",void 0),e}return a()(n,[{key:"initializeState",value:function(){var e,t=this.context.gl;if(!le.isSupported(t))return this.setState({supported:!1}),void x.log.error("ScreenGridLayer: ".concat(this.id," is not supported on this browser"))();c()(v()(n.prototype),"initializeAggregationLayer",this).call(this,{dimensions:rt,getCellSize:function(e){return e.cellSizePixels}});var r={count:{size:1,operation:D.SUM,needMax:!0,maxTexture:W(t,{id:"".concat(this.id,"-max-texture")})}};this.setState({supported:!0,projectPoints:!0,weights:r,subLayerData:{attributes:{}},maxTexture:r.count.maxTexture,positionAttributeName:"positions",posOffset:[0,0],translation:[1,-1]}),this.getAttributeManager().add((e={},y()(e,"positions",{size:3,accessor:"getPosition",type:5130,fp64:this.use64bitPositions()}),y()(e,"count",{size:3,accessor:"getWeight"}),e))}},{key:"shouldUpdateState",value:function(e){var t=e.changeFlags;return this.state.supported&&t.somethingChanged}},{key:"updateState",value:function(e){c()(v()(n.prototype),"updateState",this).call(this,e)}},{key:"renderLayers",value:function(){if(!this.state.supported)return[];var e=this.state,t=e.maxTexture,n=e.numRow,r=e.numCol,i=e.weights,o=this.props.updateTriggers,a=i.count.aggregationBuffer;return new(this.getSubLayerClass("cells",le))(this.props,this.getSubLayerProps({id:"cell-layer",updateTriggers:o}),{data:{attributes:{instanceCounts:a}},maxTexture:t,numInstances:n*r})}},{key:"finalizeState",value:function(e){c()(v()(n.prototype),"finalizeState",this).call(this,e);var t=this.state,r=t.aggregationBuffer,i=t.maxBuffer,o=t.maxTexture;null==r||r.delete(),null==i||i.delete(),null==o||o.delete()}},{key:"getPickingInfo",value:function(e){var t=e.info,n=t.index;if(n>=0){var r=this.state,i=r.gpuGridAggregator,o=r.gpuAggregation,a=r.weights,s=o?i.getData("count"):a.count;t.object=Q.getAggregationData(tt({pixelIndex:n},s))}return t}},{key:"updateResults",value:function(e){var t=e.aggregationData,n=e.maxData,r=this.state.weights.count;r.aggregationData=t,r.aggregationBuffer.setData({data:t}),r.maxData=n,r.maxTexture.setImageData({data:n})}},{key:"updateAggregationState",value:function(e){var t=e.props.cellSizePixels,n=e.oldProps.cellSizePixels!==t,r=e.changeFlags.viewportChanged,i=e.props.gpuAggregation;this.state.gpuAggregation!==e.props.gpuAggregation&&i&&!Q.isSupported(this.context.gl)&&(x.log.warn("GPU Grid Aggregation not supported, falling back to CPU")(),i=!1);var o=i!==this.state.gpuAggregation;this.setState({gpuAggregation:i});var a=this.isAttributeChanged("positions"),s=this.state.dimensions,u=s.data,l=s.weights,c=a||o||r||this.isAggregationDirty(e,{compareAll:i,dimension:u}),g=this.isAggregationDirty(e,{dimension:l});this.setState({aggregationDataDirty:c,aggregationWeightsDirty:g});var f=this.context.viewport;if(r||n){var d=f.width,p=f.height,h=Math.ceil(d/t),v=Math.ceil(p/t);this.allocateResources(v,h),this.setState({scaling:[d/2,-p/2,1],gridOffset:{xOffset:t,yOffset:t},width:d,height:p,numCol:h,numRow:v})}g&&this._updateAccessors(e),(c||g)&&this._resetResults()}},{key:"_updateAccessors",value:function(e){var t=e.props,n=t.getWeight,r=t.aggregation,i=t.data,o=this.state.weights.count;o&&(o.getWeight=n,o.operation=D[r]),this.setState({getValue:j(r,n,{data:i})})}},{key:"_resetResults",value:function(){var e=this.state.weights.count;e&&(e.aggregationData=null)}}]),n}(Ze);y()(it,"layerName","ScreenGridLayer"),y()(it,"defaultProps",nt);var ot=n(11),at=n.n(ot);function st(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ut(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?st(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):st(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function lt(){}var ct=["getBins","getDomain","getScaleFunc"],gt=[{key:"fillColor",accessor:"getFillColor",pickingInfo:"colorValue",getBins:{triggers:{value:{prop:"getColorValue",updateTrigger:"getColorValue"},weight:{prop:"getColorWeight",updateTrigger:"getColorWeight"},aggregation:{prop:"colorAggregation"},filterData:{prop:"_filterData",updateTrigger:"_filterData"}}},getDomain:{triggers:{lowerPercentile:{prop:"lowerPercentile"},upperPercentile:{prop:"upperPercentile"},scaleType:{prop:"colorScaleType"}}},getScaleFunc:{triggers:{domain:{prop:"colorDomain"},range:{prop:"colorRange"}},onSet:{props:"onSetColorDomain"}},nullValue:[0,0,0,0]},{key:"elevation",accessor:"getElevation",pickingInfo:"elevationValue",getBins:{triggers:{value:{prop:"getElevationValue",updateTrigger:"getElevationValue"},weight:{prop:"getElevationWeight",updateTrigger:"getElevationWeight"},aggregation:{prop:"elevationAggregation"},filterData:{prop:"_filterData",updateTrigger:"_filterData"}}},getDomain:{triggers:{lowerPercentile:{prop:"elevationLowerPercentile"},upperPercentile:{prop:"elevationUpperPercentile"},scaleType:{prop:"elevationScaleType"}}},getScaleFunc:{triggers:{domain:{prop:"elevationDomain"},range:{prop:"elevationRange"}},onSet:{props:"onSetElevationDomain"}},nullValue:-1}],ft=function(e){return e.cellSize},dt=function(){function e(t){i()(this,e),this.state={layerData:{},dimensions:{}},this.changeFlags={},this.dimensionUpdaters={},this._getCellSize=t.getCellSize||ft,this._getAggregator=t.getAggregator,this._addDimension(t.dimensions||gt)}return a()(e,[{key:"updateState",value:function(e,t){var n=e.oldProps,r=e.props,i=e.changeFlags;this.updateGetValueFuncs(n,r,i);var o=this.needsReProjectPoints(n,r,i),a=!1;i.dataChanged||o?(this.getAggregatedData(r,t),a=!0):((this.getDimensionChanges(n,r,i)||[]).forEach((function(e){return"function"==typeof e&&e()})),a=!0);return this.setState({aggregationDirty:a}),this.state}},{key:"setState",value:function(e){this.state=ut(ut({},this.state),e)}},{key:"setDimensionState",value:function(e,t){this.setState({dimensions:ut(ut({},this.state.dimensions),{},y()({},e,ut(ut({},this.state.dimensions[e]),t)))})}},{key:"normalizeResult",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.hexagons?ut({data:e.hexagons},e):e.layerData?ut({data:e.layerData},e):e}},{key:"getAggregatedData",value:function(e,t){var n=this._getAggregator(e)(e,t);this.setState({layerData:this.normalizeResult(n)}),this.changeFlags={layerData:!0},this.getSortedBins(e)}},{key:"updateGetValueFuncs",value:function(e,t,n){for(var r in this.dimensionUpdaters){var i=this.dimensionUpdaters[r].getBins.triggers,o=i.value,a=i.weight,s=i.aggregation,u=t[o.prop];this.needUpdateDimensionStep(this.dimensionUpdaters[r].getBins,e,t,n)&&(u=u?R(u,{data:t.data}):j(t[s.prop],t[a.prop],{data:t.data})),u&&this.setDimensionState(r,{getValue:u})}}},{key:"needsReProjectPoints",value:function(e,t,n){return this._getCellSize(e)!==this._getCellSize(t)||this._getAggregator(e)!==this._getAggregator(t)||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getPosition)}},{key:"addDimension",value:function(e){this._addDimension(e)}},{key:"_addDimension",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.forEach((function(t){var n=t.key;e.dimensionUpdaters[n]=e.getDimensionUpdaters(t),e.state.dimensions[n]={getValue:null,domain:null,sortedBins:null,scaleFunc:lt}}))}},{key:"getDimensionUpdaters",value:function(e){var t=e.key,n=e.accessor,r=e.pickingInfo,i=e.getBins,o=e.getDomain,a=e.getScaleFunc,s=e.nullValue;return{key:t,accessor:n,pickingInfo:r,getBins:ut({updater:this.getDimensionSortedBins},i),getDomain:ut({updater:this.getDimensionValueDomain},o),getScaleFunc:ut({updater:this.getDimensionScale},a),attributeAccessor:this.getSubLayerDimensionAttribute(t,s)}}},{key:"needUpdateDimensionStep",value:function(e,t,n,r){return Object.values(e.triggers).some((function(e){return e.updateTrigger?r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged[e.updateTrigger]):t[e.prop]!==n[e.prop]}))}},{key:"getDimensionChanges",value:function(e,t,n){var r=this,i=[],o=function(o){var a=ct.find((function(i){return r.needUpdateDimensionStep(r.dimensionUpdaters[o][i],e,t,n)}));a&&i.push(r.dimensionUpdaters[o][a].updater.bind(r,t,r.dimensionUpdaters[o]))};for(var a in this.dimensionUpdaters)o(a);return i.length?i:null}},{key:"getUpdateTriggers",value:function(e){var t=this,n=e.updateTriggers||{},r={},i=function(i){var o=t.dimensionUpdaters[i].accessor;r[o]={},ct.forEach((function(a){Object.values(t.dimensionUpdaters[i][a].triggers).forEach((function(t){var i=t.prop,a=t.updateTrigger;if(a){var s=n[a];"object"!==at()(s)||Array.isArray(s)?void 0!==s&&(r[o][i]=s):Object.assign(r[o],s)}else r[o][i]=e[i]}))}))};for(var o in this.dimensionUpdaters)i(o);return r}},{key:"getSortedBins",value:function(e){for(var t in this.dimensionUpdaters)this.getDimensionSortedBins(e,this.dimensionUpdaters[t])}},{key:"getDimensionSortedBins",value:function(e,t){var n=t.key,r=this.state.dimensions[n].getValue,i=new ze(this.state.layerData.data||[],{getValue:r,filterData:e._filterData});this.setDimensionState(n,{sortedBins:i}),this.getDimensionValueDomain(e,t)}},{key:"getDimensionValueDomain",value:function(e,t){var n=t.getDomain,r=t.key,i=n.triggers,o=i.lowerPercentile,a=i.upperPercentile,s=i.scaleType,u=this.state.dimensions[r].sortedBins.getValueDomainByScale(e[s.prop],[e[o.prop],e[a.prop]]);this.setDimensionState(r,{valueDomain:u}),this.getDimensionScale(e,t)}},{key:"getDimensionScale",value:function(e,t){var n=t.key,r=t.getScaleFunc,i=t.getDomain,o=r.triggers,a=o.domain,s=o.range,u=i.triggers.scaleType,l=r.onSet,c=e[s.prop],g=e[a.prop]||this.state.dimensions[n].valueDomain,f=function(e){switch(e){case"quantize":return be;case"linear":return Se;case"quantile":return Oe;case"ordinal":return Pe;default:return be}}(u&&e[u.prop])(g,c);"object"===at()(l)&&"function"==typeof e[l.props]&&e[l.props](f.domain()),this.setDimensionState(n,{scaleFunc:f})}},{key:"getSubLayerDimensionAttribute",value:function(e,t){var n=this;return function(r){var i=n.state.dimensions[e],o=i.sortedBins,a=i.scaleFunc,s=o.binMap[r.index];if(s&&0===s.counts)return t;var u=s&&s.value,l=a.domain();return u>=l[0]&&u<=l[l.length-1]?a(u):t}}},{key:"getSubLayerAccessors",value:function(e){var t={};for(var n in this.dimensionUpdaters){t[this.dimensionUpdaters[n].accessor]=this.getSubLayerDimensionAttribute(e,n)}return t}},{key:"getPickingInfo",value:function(e){var t=e.info,n=null;if(t.picked&&t.index>-1){var r=this.state.layerData.data[t.index],i={};for(var o in this.dimensionUpdaters){var a=this.dimensionUpdaters[o].pickingInfo,s=this.state.dimensions[o].sortedBins,u=s.binMap[r.index]&&s.binMap[r.index].value;i[a]=u}n=Object.assign(i,r,{points:r.filteredPoints||r.points})}return t.picked=Boolean(n),t.object=n,t}},{key:"getAccessor",value:function(e){return this.dimensionUpdaters.hasOwnProperty(e)?this.dimensionUpdaters[e].attributeAccessor:lt}}],[{key:"defaultDimensions",value:function(){return gt}}]),e}();function pt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}function ht(){}var vt={colorDomain:null,colorRange:ee,getColorValue:{type:"accessor",value:null},getColorWeight:{type:"accessor",value:1},colorAggregation:"SUM",lowerPercentile:{type:"number",min:0,max:100,value:0},upperPercentile:{type:"number",min:0,max:100,value:100},colorScaleType:"quantize",onSetColorDomain:ht,elevationDomain:null,elevationRange:[0,1e3],getElevationValue:{type:"accessor",value:null},getElevationWeight:{type:"accessor",value:1},elevationAggregation:"SUM",elevationLowerPercentile:{type:"number",min:0,max:100,value:0},elevationUpperPercentile:{type:"number",min:0,max:100,value:100},elevationScale:{type:"number",min:0,value:1},elevationScaleType:"linear",onSetElevationDomain:ht,gridAggregator:Xe,cellSize:{type:"number",min:0,max:1e3,value:1e3},coverage:{type:"number",min:0,max:1,value:1},getPosition:{type:"accessor",value:function(e){return e.position}},extruded:!1,material:!0,_filterData:{type:"function",value:null,optional:!0}},mt=function(e){f()(n,e);var t=pt(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"initializeState",value:function(){var e=new dt({getAggregator:function(e){return e.gridAggregator},getCellSize:function(e){return e.cellSize}});this.state={cpuAggregator:e,aggregatorState:e.state},this.getAttributeManager().add({positions:{size:3,type:5130,accessor:"getPosition"}})}},{key:"updateState",value:function(e){c()(v()(n.prototype),"updateState",this).call(this,e),this.setState({aggregatorState:this.state.cpuAggregator.updateState(e,{viewport:this.context.viewport,attributes:this.getAttributes(),numInstances:this.getNumInstances()})})}},{key:"getPickingInfo",value:function(e){var t=e.info;return this.state.cpuAggregator.getPickingInfo({info:t})}},{key:"_onGetSublayerColor",value:function(e){return this.state.cpuAggregator.getAccessor("fillColor")(e)}},{key:"_onGetSublayerElevation",value:function(e){return this.state.cpuAggregator.getAccessor("elevation")(e)}},{key:"_getSublayerUpdateTriggers",value:function(){return this.state.cpuAggregator.getUpdateTriggers(this.props)}},{key:"renderLayers",value:function(){var e=this.props,t=e.elevationScale,n=e.extruded,r=e.cellSize,i=e.coverage,o=e.material,a=e.transitions,s=this.state.cpuAggregator,u=this.getSubLayerClass("grid-cell",x.GridCellLayer),l=this._getSublayerUpdateTriggers();return new u({cellSize:r,coverage:i,material:o,elevationScale:t,extruded:n,getFillColor:this._onGetSublayerColor.bind(this),getElevation:this._onGetSublayerElevation.bind(this),transitions:a&&{getFillColor:a.getColorValue||a.getColorWeight,getElevation:a.getElevationValue||a.getElevationWeight}},this.getSubLayerProps({id:"grid-cell",updateTriggers:l}),{data:s.state.layerData.data})}}]),n}(pe);y()(mt,"layerName","CPUGridLayer"),y()(mt,"defaultProps",vt);var yt=Math.PI/3,xt=[0,yt,2*yt,3*yt,4*yt,5*yt];function bt(e){return e[0]}function St(e){return e[1]}function Ot(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return wt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return wt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function wt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function At(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Pt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?At(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):At(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function _t(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}function Mt(){}var Dt,Ct={colorDomain:null,colorRange:ee,getColorValue:{type:"accessor",value:null},getColorWeight:{type:"accessor",value:1},colorAggregation:"SUM",lowerPercentile:{type:"number",value:0,min:0,max:100},upperPercentile:{type:"number",value:100,min:0,max:100},colorScaleType:"quantize",onSetColorDomain:Mt,elevationDomain:null,elevationRange:[0,1e3],getElevationValue:{type:"accessor",value:null},getElevationWeight:{type:"accessor",value:1},elevationAggregation:"SUM",elevationLowerPercentile:{type:"number",value:0,min:0,max:100},elevationUpperPercentile:{type:"number",value:100,min:0,max:100},elevationScale:{type:"number",min:0,value:1},elevationScaleType:"linear",onSetElevationDomain:Mt,radius:{type:"number",value:1e3,min:1},coverage:{type:"number",min:0,max:1,value:1},extruded:!1,hexagonAggregator:function(e,t){var n,r=e.data,i=e.radius,o=t.viewport,a=t.attributes,s=r.length?function(e,t){var n,r=t.attributes,i=r.positions.value,o=r.positions.getAccessor().size,a=1/0,s=1/0,u=-1/0,l=-1/0;for(n=0;n<o*e.length;n+=o){var c=i[n],g=i[n+1];Number.isFinite(c)&&Number.isFinite(g)&&(a=Math.min(c,a),u=Math.max(c,u),s=Math.min(g,s),l=Math.max(g,l))}return[a,s,u,l].every(Number.isFinite)?[(a+u)/2,(s+l)/2]:null}(r,t):null,u=function(e,t,n){var r=t.getDistanceScales(n).unitsPerMeter;return e*r[0]}(i,o,s),l=[],c=Object(x.createIterable)(r),g=c.iterable,f=c.objectInfo,d=a.positions.value,p=a.positions.getAccessor().size,h=Ot(g);try{for(h.s();!(n=h.n()).done;){var v=n.value;f.index++;var m=f.index*p,y=[d[m],d[m+1]];Number.isFinite(y[0])&&Number.isFinite(y[1])?l.push({screenCoord:o.projectFlat(y),source:v,index:f.index}):x.log.warn("HexagonLayer: invalid position")()}}catch(e){h.e(e)}finally{h.f()}return{hexagons:function(){var e,t,n,r=0,i=0,o=1,a=1,s=bt,u=St;function l(e){var r,i={},o=[],a=e.length;for(r=0;r<a;++r)if(!isNaN(c=+s.call(null,l=e[r],r,e))&&!isNaN(g=+u.call(null,l,r,e))){var l,c,g,f=Math.round(g/=n),d=Math.round(c=c/t-(1&f)/2),p=g-f;if(3*Math.abs(p)>1){var h=c-d,v=d+(c<d?-1:1)/2,m=f+(g<f?-1:1),y=c-v,x=g-m;h*h+p*p>y*y+x*x&&(d=v+(1&f?1:-1)/2,f=m)}var b=d+"-"+f,S=i[b];S?S.push(l):(o.push(S=i[b]=[l]),S.x=(d+(1&f)/2)*t,S.y=f*n)}return o}function c(e){var t=0,n=0;return xt.map((function(r){var i=Math.sin(r)*e,o=-Math.cos(r)*e,a=i-t,s=o-n;return t=i,n=o,[a,s]}))}return l.hexagon=function(t){return"m"+c(null==t?e:+t).join("l")+"z"},l.centers=function(){for(var s=[],u=Math.round(i/n),l=Math.round(r/t),c=u*n;c<a+e;c+=n,++u)for(var g=l*t+(1&u)*t/2;g<o+t/2;g+=t)s.push([g,c]);return s},l.mesh=function(){var t=c(e).slice(0,4).join("l");return l.centers().map((function(e){return"M"+e+"m"+t})).join("")},l.x=function(e){return arguments.length?(s=e,l):s},l.y=function(e){return arguments.length?(u=e,l):u},l.radius=function(r){return arguments.length?(t=2*(e=+r)*Math.sin(yt),n=1.5*e,l):e},l.size=function(e){return arguments.length?(r=i=0,o=+e[0],a=+e[1],l):[o-r,a-i]},l.extent=function(e){return arguments.length?(r=+e[0][0],i=+e[0][1],o=+e[1][0],a=+e[1][1],l):[[r,i],[o,a]]},l.radius(1)}().radius(u).x((function(e){return e.screenCoord[0]})).y((function(e){return e.screenCoord[1]}))(l).map((function(e,t){return{position:o.unprojectFlat([e.x,e.y]),points:e,index:t}})),radiusCommon:u}},getPosition:{type:"accessor",value:function(e){return e.position}},material:!0,_filterData:{type:"function",value:null,optional:!0}},Tt=function(e){f()(n,e);var t=_t(n);function n(){var e;i()(this,n);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=t.call.apply(t,[this].concat(o)),y()(u()(e),"state",void 0),e}return a()(n,[{key:"initializeState",value:function(){var e=new dt({getAggregator:function(e){return e.hexagonAggregator},getCellSize:function(e){return e.radius}});this.state={cpuAggregator:e,aggregatorState:e.state,vertices:null},this.getAttributeManager().add({positions:{size:3,type:5130,accessor:"getPosition"}})}},{key:"updateState",value:function(e){if(c()(v()(n.prototype),"updateState",this).call(this,e),e.changeFlags.propsOrDataChanged){var t=this.state.cpuAggregator.updateState(e,{viewport:this.context.viewport,attributes:this.getAttributes()});if(this.state.aggregatorState.layerData!==t.layerData){var r=(t.layerData||{}).hexagonVertices;this.setState({vertices:r&&this.convertLatLngToMeterOffset(r)})}this.setState({aggregatorState:t})}}},{key:"convertLatLngToMeterOffset",value:function(e){var t=this.context.viewport;if(Array.isArray(e)&&6===e.length){var n=e[0],r=e[3],i=[(n[0]+r[0])/2,(n[1]+r[1])/2],o=t.projectFlat(i),a=t.getDistanceScales(i).metersPerUnit;return e.map((function(e){var n=t.projectFlat(e);return[(n[0]-o[0])*a[0],(n[1]-o[1])*a[1]]}))}return x.log.error("HexagonLayer: hexagonVertices needs to be an array of 6 points")(),null}},{key:"getPickingInfo",value:function(e){var t=e.info;return this.state.cpuAggregator.getPickingInfo({info:t})}},{key:"_onGetSublayerColor",value:function(e){return this.state.cpuAggregator.getAccessor("fillColor")(e)}},{key:"_onGetSublayerElevation",value:function(e){return this.state.cpuAggregator.getAccessor("elevation")(e)}},{key:"_getSublayerUpdateTriggers",value:function(){return this.state.cpuAggregator.getUpdateTriggers(this.props)}},{key:"renderLayers",value:function(){var e=this.props,t=e.elevationScale,n=e.extruded,r=e.coverage,i=e.material,o=e.transitions,a=this.state,s=a.aggregatorState,u=a.vertices,l=this.getSubLayerClass("hexagon-cell",x.ColumnLayer),c=this._getSublayerUpdateTriggers();return new l(Pt(Pt({},u?{vertices:u,radius:1}:{radius:s.layerData.radiusCommon||1,radiusUnits:"common",angle:90}),{},{diskResolution:6,elevationScale:t,extruded:n,coverage:r,material:i,getFillColor:this._onGetSublayerColor.bind(this),getElevation:this._onGetSublayerElevation.bind(this),transitions:o&&{getFillColor:o.getColorValue||o.getColorWeight,getElevation:o.getElevationValue||o.getElevationWeight}}),this.getSubLayerProps({id:"hexagon-cell",updateTriggers:c}),{data:s.layerData.data})}}]),n}(pe);y()(Tt,"layerName","HexagonLayer"),y()(Tt,"defaultProps",Ct);var Et={N:[0,.5],E:[.5,0],S:[0,-.5],W:[-.5,0],NE:[.5,.5],NW:[-.5,.5],SE:[.5,-.5],SW:[-.5,-.5]},jt=[Et.W,Et.SW,Et.S],Rt=[Et.S,Et.SE,Et.E],kt=[Et.E,Et.NE,Et.N],Nt=[Et.NW,Et.W,Et.N],Bt=[[-.5,1/6],[-.5,-1/6],[-1/6,-.5],[1/6,-.5]],zt=[[-1/6,-.5],[1/6,-.5],[.5,-1/6],[.5,1/6]],It=[[.5,-1/6],[.5,1/6],[1/6,.5],[-1/6,.5]],Ft=[[-.5,1/6],[-.5,-1/6],[1/6,.5],[-1/6,.5]],Ut=[Et.W,Et.SW,Et.SE,Et.E],Lt=[Et.S,Et.SE,Et.NE,Et.N],Wt=[Et.NW,Et.W,Et.E,Et.NE],Gt=[Et.NW,Et.SW,Et.S,Et.N],Vt=[[-.5,1/6],[-.5,-1/6],[.5,-1/6],[.5,1/6]],Ht=[[-1/6,-.5],[1/6,-.5],[1/6,.5],[-1/6,.5]],qt=[Et.NW,Et.SW,Et.SE,Et.NE],Yt=[Et.NW,Et.SW,Et.SE,Et.E,Et.N],Xt=[Et.W,Et.SW,Et.SE,Et.NE,Et.N],Kt=[Et.NW,Et.W,Et.S,Et.SE,Et.NE],$t=[Et.NW,Et.SW,Et.S,Et.E,Et.NE],Qt=[Et.NW,Et.W,[.5,-1/6],[.5,1/6],Et.N],Zt=[[-1/6,-.5],[1/6,-.5],Et.E,Et.NE,Et.N],Jt=[[-.5,1/6],[-.5,-1/6],Et.S,Et.SE,Et.E],en=[Et.W,Et.SW,Et.S,[1/6,.5],[-1/6,.5]],tn=[Et.NW,Et.W,[-1/6,-.5],[1/6,-.5],Et.N],nn=[[-.5,1/6],[-.5,-1/6],Et.E,Et.NE,Et.N],rn=[Et.S,Et.SE,Et.E,[1/6,.5],[-1/6,.5]],on=[Et.W,Et.SW,Et.S,[.5,-1/6],[.5,1/6]],an=[Et.W,Et.SW,Et.SE,Et.E,[1/6,.5],[-1/6,.5]],sn=[[-.5,1/6],[-.5,-1/6],Et.S,Et.SE,Et.NE,Et.N],un=[Et.NW,Et.W,[-1/6,-.5],[1/6,-.5],Et.E,Et.NE],ln=[Et.NW,Et.SW,Et.S,[.5,-1/6],[.5,1/6],Et.N],cn=[Et.W,Et.SW,Et.S,Et.E,Et.NE,Et.N],gn=[Et.NW,Et.W,Et.S,Et.SE,Et.E,Et.N],fn=[[-.5,1/6],[-.5,-1/6],[-1/6,-.5],[1/6,-.5],Et.E,Et.NE,Et.N],dn=[Et.W,Et.SW,Et.S,[.5,-1/6],[.5,1/6],[1/6,.5],[-1/6,.5]],pn=[Et.NW,Et.W,[-1/6,-.5],[1/6,-.5],[.5,-1/6],[.5,1/6],Et.N],hn=[[-.5,1/6],[-.5,-1/6],Et.S,Et.SE,Et.E,[1/6,.5],[-1/6,.5]],vn=[[-.5,1/6],[-.5,-1/6],[-1/6,-.5],[1/6,-.5],[.5,-1/6],[.5,1/6],[1/6,.5],[-1/6,.5]],mn={0:[],1:[[Et.W,Et.S]],2:[[Et.S,Et.E]],3:[[Et.W,Et.E]],4:[[Et.N,Et.E]],5:{0:[[Et.W,Et.S],[Et.N,Et.E]],1:[[Et.W,Et.N],[Et.S,Et.E]]},6:[[Et.N,Et.S]],7:[[Et.W,Et.N]],8:[[Et.W,Et.N]],9:[[Et.N,Et.S]],10:{0:[[Et.W,Et.N],[Et.S,Et.E]],1:[[Et.W,Et.S],[Et.N,Et.E]]},11:[[Et.N,Et.E]],12:[[Et.W,Et.E]],13:[[Et.S,Et.E]],14:[[Et.W,Et.S]],15:[]};function yn(e){return parseInt(e,4)}var xn=(Dt={},y()(Dt,yn("0000"),[]),y()(Dt,yn("2222"),[]),y()(Dt,yn("2221"),[jt]),y()(Dt,yn("2212"),[Rt]),y()(Dt,yn("2122"),[kt]),y()(Dt,yn("1222"),[Nt]),y()(Dt,yn("0001"),[jt]),y()(Dt,yn("0010"),[Rt]),y()(Dt,yn("0100"),[kt]),y()(Dt,yn("1000"),[Nt]),y()(Dt,yn("2220"),[Bt]),y()(Dt,yn("2202"),[zt]),y()(Dt,yn("2022"),[It]),y()(Dt,yn("0222"),[Ft]),y()(Dt,yn("0002"),[Bt]),y()(Dt,yn("0020"),[zt]),y()(Dt,yn("0200"),[It]),y()(Dt,yn("2000"),[Ft]),y()(Dt,yn("0011"),[Ut]),y()(Dt,yn("0110"),[Lt]),y()(Dt,yn("1100"),[Wt]),y()(Dt,yn("1001"),[Gt]),y()(Dt,yn("2211"),[Ut]),y()(Dt,yn("2112"),[Lt]),y()(Dt,yn("1122"),[Wt]),y()(Dt,yn("1221"),[Gt]),y()(Dt,yn("2200"),[Vt]),y()(Dt,yn("2002"),[Ht]),y()(Dt,yn("0022"),[Vt]),y()(Dt,yn("0220"),[Ht]),y()(Dt,yn("1111"),[qt]),y()(Dt,yn("1211"),[Yt]),y()(Dt,yn("2111"),[Xt]),y()(Dt,yn("1112"),[Kt]),y()(Dt,yn("1121"),[$t]),y()(Dt,yn("1011"),[Yt]),y()(Dt,yn("0111"),[Xt]),y()(Dt,yn("1110"),[Kt]),y()(Dt,yn("1101"),[$t]),y()(Dt,yn("1200"),[Qt]),y()(Dt,yn("0120"),[Zt]),y()(Dt,yn("0012"),[Jt]),y()(Dt,yn("2001"),[en]),y()(Dt,yn("1022"),[Qt]),y()(Dt,yn("2102"),[Zt]),y()(Dt,yn("2210"),[Jt]),y()(Dt,yn("0221"),[en]),y()(Dt,yn("1002"),[tn]),y()(Dt,yn("2100"),[nn]),y()(Dt,yn("0210"),[rn]),y()(Dt,yn("0021"),[on]),y()(Dt,yn("1220"),[tn]),y()(Dt,yn("0122"),[nn]),y()(Dt,yn("2012"),[rn]),y()(Dt,yn("2201"),[on]),y()(Dt,yn("0211"),[an]),y()(Dt,yn("2110"),[sn]),y()(Dt,yn("1102"),[un]),y()(Dt,yn("1021"),[ln]),y()(Dt,yn("2011"),[an]),y()(Dt,yn("0112"),[sn]),y()(Dt,yn("1120"),[un]),y()(Dt,yn("1201"),[ln]),y()(Dt,yn("2101"),[cn]),y()(Dt,yn("0121"),[cn]),y()(Dt,yn("1012"),[gn]),y()(Dt,yn("1210"),[gn]),y()(Dt,yn("0101"),{0:[jt,kt],1:[cn],2:[cn]}),y()(Dt,yn("1010"),{0:[Nt,Rt],1:[gn],2:[gn]}),y()(Dt,yn("2121"),{0:[cn],1:[cn],2:[jt,kt]}),y()(Dt,yn("1212"),{0:[gn],1:[gn],2:[Nt,Rt]}),y()(Dt,yn("2120"),{0:[fn],1:[fn],2:[Bt,kt]}),y()(Dt,yn("2021"),{0:[dn],1:[dn],2:[jt,It]}),y()(Dt,yn("1202"),{0:[pn],1:[pn],2:[Nt,zt]}),y()(Dt,yn("0212"),{0:[hn],1:[hn],2:[Rt,Ft]}),y()(Dt,yn("0102"),{0:[Bt,kt],1:[fn],2:[fn]}),y()(Dt,yn("0201"),{0:[jt,It],1:[dn],2:[dn]}),y()(Dt,yn("1020"),{0:[Nt,zt],1:[pn],2:[pn]}),y()(Dt,yn("2010"),{0:[Rt,Ft],1:[hn],2:[hn]}),y()(Dt,yn("2020"),{0:[Ft,zt],1:[vn],2:[Bt,It]}),y()(Dt,yn("0202"),{0:[It,Bt],1:[vn],2:[Ft,zt]}),Dt);function bn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Sn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bn(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var On=1,wn=2,An={zIndex:0,zOffset:.005};function Pn(e,t){return Array.isArray(t)?e<t[0]?0:e<t[1]?1:2:e>=t?1:0}function _n(e){var t=e.cellWeights,n=e.x,r=e.y,i=e.width,o=e.height,a=e.threshold;e.thresholdValue&&(x.log.deprecated("thresholdValue","threshold")(),a=e.thresholdValue);var s=n<0,u=n>=i-1,l=r<0,c=r>=o-1,g=s||u||l||c,f={},d={};s||c?d.top=0:(f.top=t[(r+1)*i+n],d.top=Pn(f.top,a)),u||c?d.topRight=0:(f.topRight=t[(r+1)*i+n+1],d.topRight=Pn(f.topRight,a)),u||l?d.right=0:(f.right=t[r*i+n+1],d.right=Pn(f.right,a)),s||l?d.current=0:(f.current=t[r*i+n],d.current=Pn(f.current,a));var p=d.top,h=d.topRight,v=d.right,m=d.current,y=-1;Number.isFinite(a)&&(y=p<<3|h<<2|v<<1|m),Array.isArray(a)&&(y=p<<6|h<<4|v<<2|m);var b=0;return g||(b=Pn((f.top+f.topRight+f.right+f.current)/4,a)),{code:y,meanCode:b}}function Mn(e){var t=e.gridOrigin,n=e.cellSize,r=e.x,i=e.y,o=e.code,a=e.meanCode,s=e.type,u=void 0===s?On:s,l=Sn(Sn({},An),e.thresholdData),c=u===wn?xn[o]:mn[o];Array.isArray(c)||(c=c[a]);var g=l.zIndex*l.zOffset,f=(r+1)*n[0],d=(i+1)*n[1],p=t[0]+f,h=t[1]+d;if(u===wn){var v=[];return c.forEach((function(e){var t=[];e.forEach((function(e){var r=p+e[0]*n[0],i=h+e[1]*n[1];t.push([r,i,g])})),v.push(t)})),v}var m=[];return c.forEach((function(e){e.forEach((function(e){var t=p+e[0]*n[0],r=h+e[1]*n[1];m.push([t,r,g])}))})),m}function Dn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Cn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Cn(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Cn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Tn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}var En=[255,255,255,255],jn={cellSize:{type:"number",min:1,max:1e3,value:1e3},getPosition:{type:"accessor",value:function(e){return e.position}},getWeight:{type:"accessor",value:1},gpuAggregation:!0,aggregation:"SUM",contours:[{threshold:1}],zOffset:.005},Rn={data:{props:["cellSize"]},weights:{props:["aggregation"],accessors:["getWeight"]}},kn=function(e){f()(n,e);var t=Tn(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"initializeState",value:function(){var e;c()(v()(n.prototype),"initializeAggregationLayer",this).call(this,{dimensions:Rn}),this.setState({contourData:{},projectPoints:!1,weights:{count:{size:1,operation:D.SUM}}}),this.getAttributeManager().add((e={},y()(e,"positions",{size:3,accessor:"getPosition",type:5130,fp64:this.use64bitPositions()}),y()(e,"count",{size:3,accessor:"getWeight"}),e))}},{key:"updateState",value:function(e){c()(v()(n.prototype),"updateState",this).call(this,e);var t=!1,r=e.oldProps,i=e.props,o=this.state.aggregationDirty;r.contours===i.contours&&r.zOffset===i.zOffset||(t=!0,this._updateThresholdData(e.props)),this.getNumInstances()>0&&(o||t)&&this._generateContours()}},{key:"renderLayers",value:function(){var e=this.state.contourData,t=e.contourSegments,n=e.contourPolygons,r=this.getSubLayerClass("lines",x.LineLayer),i=this.getSubLayerClass("bands",x.SolidPolygonLayer);return[t&&t.length>0&&new r(this.getSubLayerProps({id:"lines"}),{data:this.state.contourData.contourSegments,getSourcePosition:function(e){return e.start},getTargetPosition:function(e){return e.end},getColor:function(e){return e.contour.color||En},getWidth:function(e){return e.contour.strokeWidth||1}}),n&&n.length>0&&new i(this.getSubLayerProps({id:"bands"}),{data:this.state.contourData.contourPolygons,getPolygon:function(e){return e.vertices},getFillColor:function(e){return e.contour.color||En}})]}},{key:"updateAggregationState",value:function(e){var t=e.props,n=e.oldProps,r=t.cellSize,i=t.coordinateSystem,o=this.context.viewport,a=n.cellSize!==r,s=t.gpuAggregation;this.state.gpuAggregation!==t.gpuAggregation&&s&&!Q.isSupported(this.context.gl)&&(x.log.warn("GPU Grid Aggregation not supported, falling back to CPU")(),s=!1);var u=s!==this.state.gpuAggregation;this.setState({gpuAggregation:s});var l=this.state.dimensions,c=this.isAttributeChanged("positions"),g=l.data,f=l.weights,d=this.state.boundingBox;if(c&&(d=Fe(this.getAttributes(),this.getNumInstances()),this.setState({boundingBox:d})),c||a){var p=We(d,r,o,i),h=p.gridOffset,v=p.translation,m=p.width,y=p.height,b=p.numCol,S=p.numRow;this.allocateResources(S,b),this.setState({gridOffset:h,boundingBox:d,translation:v,posOffset:v.slice(),gridOrigin:[-1*v[0],-1*v[1]],width:m,height:y,numCol:b,numRow:S})}var O=c||u||this.isAggregationDirty(e,{dimension:g,compareAll:s}),w=this.isAggregationDirty(e,{dimension:f});w&&this._updateAccessors(e),(O||w)&&this._resetResults(),this.setState({aggregationDataDirty:O,aggregationWeightsDirty:w})}},{key:"_updateAccessors",value:function(e){var t=e.props,n=t.getWeight,r=t.aggregation,i=t.data,o=this.state.weights.count;o&&(o.getWeight=n,o.operation=D[r]),this.setState({getValue:j(r,n,{data:i})})}},{key:"_resetResults",value:function(){var e=this.state.weights.count;e&&(e.aggregationData=null)}},{key:"_generateContours",value:function(){var e=this.state,t=e.numCol,n=e.numRow,r=e.gridOrigin,i=e.gridOffset,o=e.thresholdData,a=this.state.weights.count,s=a.aggregationData;s||(s=a.aggregationBuffer.getData(),a.aggregationData=s);var u=function(e){var t,n=e.thresholdData,r=e.cellWeights,i=e.gridSize,o=e.gridOrigin,a=e.cellSize,s=[],u=[],l=i[0],c=i[1],g=0,f=0,d=Dn(n);try{for(d.s();!(t=d.n()).done;)for(var p=t.value,h=p.contour,v=h.threshold,m=-1;m<l;m++)for(var y=-1;y<c;y++){var x=_n({cellWeights:r,threshold:v,x:m,y:y,width:l,height:c}),b=x.code,S=x.meanCode,O={type:wn,gridOrigin:o,cellSize:a,x:m,y:y,width:l,height:c,code:b,meanCode:S,thresholdData:p};if(Array.isArray(v)){O.type=wn;var w,A=Dn(Mn(O));try{for(A.s();!(w=A.n()).done;){var P=w.value;u[f++]={vertices:P,contour:h}}}catch(e){A.e(e)}finally{A.f()}}else{O.type=On;for(var _=Mn(O),M=0;M<_.length;M+=2)s[g++]={start:_[M],end:_[M+1],contour:h}}}}catch(e){d.e(e)}finally{d.f()}return{contourSegments:s,contourPolygons:u}}({thresholdData:o,cellWeights:Q.getCellData({countsData:s}).cellWeights,gridSize:[t,n],gridOrigin:r,cellSize:[i.xOffset,i.yOffset]});this.setState({contourData:u})}},{key:"_updateThresholdData",value:function(e){for(var t=e.contours,n=e.zOffset,r=t.length,i=new Array(r),o=0;o<r;o++){var a=t[o];i[o]={contour:a,zIndex:a.zIndex||o,zOffset:n}}this.setState({thresholdData:i})}}]),n}(Ze);y()(kn,"layerName","ContourLayer"),y()(kn,"defaultProps",jn);function Nn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Bn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Nn(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Nn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function zn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}var In={colorDomain:null,colorRange:ee,elevationDomain:null,elevationRange:[0,1e3],elevationScale:{type:"number",min:0,value:1},gridSize:{type:"array",value:[1,1]},gridOrigin:{type:"array",value:[0,0]},gridOffset:{type:"array",value:[0,0]},cellSize:{type:"number",min:0,max:1e3,value:1e3},offset:{type:"array",value:[1,1]},coverage:{type:"number",min:0,max:1,value:1},extruded:!0,material:!0},Fn=function(e){f()(n,e);var t=zn(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"getShaders",value:function(){return c()(v()(n.prototype),"getShaders",this).call(this,{vs:"#version 300 es\n#define SHADER_NAME gpu-grid-cell-layer-vertex-shader\n#define RANGE_COUNT 6\n\nin vec3 positions;\nin vec3 normals;\n\nin vec4 colors;\nin vec4 elevations;\nin vec3 instancePickingColors;\n\n// Custom uniforms\nuniform vec2 offset;\nuniform bool extruded;\nuniform float cellSize;\nuniform float coverage;\nuniform float opacity;\nuniform float elevationScale;\n\nuniform ivec2 gridSize;\nuniform vec2 gridOrigin;\nuniform vec2 gridOriginLow;\nuniform vec2 gridOffset;\nuniform vec2 gridOffsetLow;\nuniform vec4 colorRange[RANGE_COUNT];\nuniform vec2 elevationRange;\n\n// Domain uniforms\nuniform vec2 colorDomain;\nuniform bool colorDomainValid;\nuniform vec2 elevationDomain;\nuniform bool elevationDomainValid;\n\nlayout(std140) uniform;\nuniform ColorData\n{\n vec4 maxMinCount;\n} colorData;\nuniform ElevationData\n{\n vec4 maxMinCount;\n} elevationData;\n\n#define EPSILON 0.00001\n\n// Result\nout vec4 vColor;\n\nvec4 quantizeScale(vec2 domain, vec4 range[RANGE_COUNT], float value) {\n vec4 outColor = vec4(0., 0., 0., 0.);\n if (value >= (domain.x - EPSILON) && value <= (domain.y + EPSILON)) {\n float domainRange = domain.y - domain.x;\n if (domainRange <= 0.) {\n outColor = colorRange[0];\n } else {\n float rangeCount = float(RANGE_COUNT);\n float rangeStep = domainRange / rangeCount;\n float idx = floor((value - domain.x) / rangeStep);\n idx = clamp(idx, 0., rangeCount - 1.);\n int intIdx = int(idx);\n outColor = colorRange[intIdx];\n }\n }\n return outColor;\n}\n\nfloat linearScale(vec2 domain, vec2 range, float value) {\n if (value >= (domain.x - EPSILON) && value <= (domain.y + EPSILON)) {\n return ((value - domain.x) / (domain.y - domain.x)) * (range.y - range.x) + range.x;\n }\n return -1.;\n}\n\nvoid main(void) {\n vec2 clrDomain = colorDomainValid ? colorDomain : vec2(colorData.maxMinCount.a, colorData.maxMinCount.r);\n vec4 color = quantizeScale(clrDomain, colorRange, colors.r);\n\n float elevation = 0.0;\n\n if (extruded) {\n vec2 elvDomain = elevationDomainValid ? elevationDomain : vec2(elevationData.maxMinCount.a, elevationData.maxMinCount.r);\n elevation = linearScale(elvDomain, elevationRange, elevations.r);\n elevation = elevation * (positions.z + 1.0) / 2.0 * elevationScale;\n }\n\n // if aggregated color or elevation is 0 do not render\n float shouldRender = float(color.r > 0.0 && elevations.r >= 0.0);\n float dotRadius = cellSize / 2. * coverage * shouldRender;\n\n int yIndex = (gl_InstanceID / gridSize[0]);\n int xIndex = gl_InstanceID - (yIndex * gridSize[0]);\n\n vec2 instancePositionXFP64 = mul_fp64(vec2(gridOffset[0], gridOffsetLow[0]), vec2(float(xIndex), 0.));\n instancePositionXFP64 = sum_fp64(instancePositionXFP64, vec2(gridOrigin[0], gridOriginLow[0]));\n vec2 instancePositionYFP64 = mul_fp64(vec2(gridOffset[1], gridOffsetLow[1]), vec2(float(yIndex), 0.));\n instancePositionYFP64 = sum_fp64(instancePositionYFP64, vec2(gridOrigin[1], gridOriginLow[1]));\n\n vec3 centroidPosition = vec3(instancePositionXFP64[0], instancePositionYFP64[0], elevation);\n vec3 centroidPosition64Low = vec3(instancePositionXFP64[1], instancePositionYFP64[1], 0.0);\n geometry.worldPosition = centroidPosition;\n vec3 pos = vec3(project_size(positions.xy + offset) * dotRadius, 0.);\n\n // Set color to be rendered to picking fbo (also used to check for selection highlight).\n picking_setPickingColor(instancePickingColors);\n\n gl_Position = project_position_to_clipspace(centroidPosition, centroidPosition64Low, pos, geometry.position);\n\n // Light calculations\n // Worldspace is the linear space after Mercator projection\n\n vec3 normals_commonspace = project_normal(normals);\n\n if (extruded) {\n vec3 lightColor = lighting_getLightColor(color.rgb, project_uCameraPosition, geometry.position.xyz, normals_commonspace);\n vColor = vec4(lightColor, color.a * opacity) / 255.;\n } else {\n vColor = vec4(color.rgb, color.a * opacity) / 255.;\n }\n}\n",fs:"#version 300 es\n#define SHADER_NAME gpu-grid-cell-layer-fragment-shader\n\nprecision highp float;\n\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n fragColor = vColor;\n fragColor = picking_filterColor(fragColor);\n}\n",modules:[x.project32,x.gouraudLighting,x.picking,M]})}},{key:"initializeState",value:function(e){var t=e.gl;this.getAttributeManager().addInstanced({colors:{size:4,noAlloc:!0},elevations:{size:4,noAlloc:!0}});var n=this._getModel(t);this._setupUniformBuffer(n),this.setState({model:n})}},{key:"_getModel",value:function(e){return new b.Model(e,Bn(Bn({},this.getShaders()),{},{id:this.props.id,geometry:new b.CubeGeometry,isInstanced:!0}))}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,r=n.cellSize,i=n.offset,o=n.extruded,a=n.elevationScale,s=n.coverage,u=n.gridSize,l=n.gridOrigin,c=n.gridOffset,g=n.elevationRange,f=n.colorMaxMinBuffer,d=n.elevationMaxMinBuffer,p=[Object(x.fp64LowPart)(l[0]),Object(x.fp64LowPart)(l[1])],h=[Object(x.fp64LowPart)(c[0]),Object(x.fp64LowPart)(c[1])],v=this.getDomainUniforms(),m=te(this.props.colorRange);this.bindUniformBuffers(f,d),this.state.model.setUniforms(t).setUniforms(v).setUniforms({cellSize:r,offset:i,extruded:o,elevationScale:a,coverage:s,gridSize:u,gridOrigin:l,gridOriginLow:p,gridOffset:c,gridOffsetLow:h,colorRange:m,elevationRange:g}).draw(),this.unbindUniformBuffers(f,d)}},{key:"bindUniformBuffers",value:function(e,t){e.bind({target:35345,index:0}),t.bind({target:35345,index:1})}},{key:"unbindUniformBuffers",value:function(e,t){e.unbind({target:35345,index:0}),t.unbind({target:35345,index:1})}},{key:"getDomainUniforms",value:function(){var e=this.props,t=e.colorDomain,n=e.elevationDomain,r={};return null!==t?(r.colorDomainValid=!0,r.colorDomain=t):r.colorDomainValid=!1,null!==n?(r.elevationDomainValid=!0,r.elevationDomain=n):r.elevationDomainValid=!1,r}},{key:"_setupUniformBuffer",value:function(e){var t=this.context.gl,n=e.program.handle,r=t.getUniformBlockIndex(n,"ColorData"),i=t.getUniformBlockIndex(n,"ElevationData");t.uniformBlockBinding(n,r,0),t.uniformBlockBinding(n,i,1)}}]),n}(x.Layer);function Un(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ln(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Un(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Un(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Wn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}y()(Fn,"layerName","GPUGridCellLayer"),y()(Fn,"defaultProps",In);var Gn={colorDomain:null,colorRange:ee,getColorWeight:{type:"accessor",value:1},colorAggregation:"SUM",elevationDomain:null,elevationRange:[0,1e3],getElevationWeight:{type:"accessor",value:1},elevationAggregation:"SUM",elevationScale:{type:"number",min:0,value:1},cellSize:{type:"number",min:1,max:1e3,value:1e3},coverage:{type:"number",min:0,max:1,value:1},getPosition:{type:"accessor",value:function(e){return e.position}},extruded:!1,material:!0},Vn={data:{props:["cellSize","colorAggregation","elevationAggregation"]}},Hn=function(e){f()(n,e);var t=Wn(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"initializeState",value:function(e){var t,r=e.gl,i=Q.isSupported(r);i||x.log.error("GPUGridLayer is not supported on this browser, use GridLayer instead")(),c()(v()(n.prototype),"initializeAggregationLayer",this).call(this,{dimensions:Vn}),this.setState({gpuAggregation:!0,projectPoints:!1,isSupported:i,weights:{color:{needMin:!0,needMax:!0,combineMaxMin:!0,maxMinBuffer:new b.Buffer(r,{byteLength:16,accessor:{size:4,type:5126,divisor:1}})},elevation:{needMin:!0,needMax:!0,combineMaxMin:!0,maxMinBuffer:new b.Buffer(r,{byteLength:16,accessor:{size:4,type:5126,divisor:1}})}},positionAttributeName:"positions"}),this.getAttributeManager().add((t={},y()(t,"positions",{size:3,accessor:"getPosition",type:5130,fp64:this.use64bitPositions()}),y()(t,"color",{size:3,accessor:"getColorWeight"}),y()(t,"elevation",{size:3,accessor:"getElevationWeight"}),t))}},{key:"updateState",value:function(e){!1!==this.state.isSupported&&(c()(v()(n.prototype),"updateState",this).call(this,e),this.state.aggregationDirty&&this.setState({gridHash:null}))}},{key:"getHashKeyForIndex",value:function(e){var t=this.state,n=t.numRow,r=t.numCol,i=t.boundingBox,o=t.gridOffset,a=[r,n],s=[i.xMin,i.yMin],u=[o.xOffset,o.yOffset],l=Math.floor(e/a[0]),c=e-l*a[0],g=Math.floor((l*u[1]+s[1]+90+u[1]/2)/u[1]),f=Math.floor((c*u[0]+s[0]+180+u[0]/2)/u[0]);return"".concat(g,"-").concat(f)}},{key:"getPositionForIndex",value:function(e){var t=this.state,n=t.numRow,r=t.numCol,i=t.boundingBox,o=t.gridOffset,a=[r,n],s=[i.xMin,i.yMin],u=[o.xOffset,o.yOffset],l=Math.floor(e/a[0]);return[(e-l*a[0])*u[0]+s[0],l*u[1]+s[1]]}},{key:"getPickingInfo",value:function(e){var t=e.info,n=e.mode,r=t.index,i=null;if(r>=0){var o=this.state.gpuGridAggregator,a=this.getPositionForIndex(r),s=Q.getAggregationData(Ln({pixelIndex:r},o.getData("color"))),u=Q.getAggregationData(Ln({pixelIndex:r},o.getData("elevation")));if(i={colorValue:s.cellWeight,elevationValue:u.cellWeight,count:s.cellCount||u.cellCount,position:a,totalCount:s.totalCount||u.totalCount},"hover"!==n){var l=this.props,c=this.state.gridHash;if(!c){var g=this.state,f=g.gridOffset,d=g.translation,p=g.boundingBox,h=this.context.viewport;c=Xe(l,{gridOffset:f,attributes:this.getAttributes(),viewport:h,translation:d,boundingBox:p}).gridHash,this.setState({gridHash:c})}var v=c[this.getHashKeyForIndex(r)];Object.assign(i,v)}}return t.picked=Boolean(i),t.object=i,t}},{key:"renderLayers",value:function(){if(!this.state.isSupported)return null;var e=this.props,t=e.elevationScale,n=e.extruded,r=e.cellSize,i=e.coverage,o=e.material,a=e.elevationRange,s=e.colorDomain,u=e.elevationDomain,l=this.state,c=l.weights,g=l.numRow,f=l.numCol,d=l.gridOrigin,p=l.gridOffset,h=c.color,v=c.elevation,m=te(this.props.colorRange);return new(this.getSubLayerClass("gpu-grid-cell",Fn))({gridSize:[f,g],gridOrigin:d,gridOffset:[p.xOffset,p.yOffset],colorRange:m,elevationRange:a,colorDomain:s,elevationDomain:u,cellSize:r,coverage:i,material:o,elevationScale:t,extruded:n},this.getSubLayerProps({id:"gpu-grid-cell"}),{data:{attributes:{colors:h.aggregationBuffer,elevations:v.aggregationBuffer}},colorMaxMinBuffer:h.maxMinBuffer,elevationMaxMinBuffer:v.maxMinBuffer,numInstances:f*g})}},{key:"finalizeState",value:function(e){var t=this.state.weights;[t.color,t.elevation].forEach((function(e){var t=e.aggregationBuffer;e.maxMinBuffer.delete(),null==t||t.delete()})),c()(v()(n.prototype),"finalizeState",this).call(this,e)}},{key:"updateAggregationState",value:function(e){var t=e.props,n=e.oldProps,r=t.cellSize,i=t.coordinateSystem,o=this.context.viewport,a=n.cellSize!==r,s=this.state.dimensions,u=this.isAttributeChanged("positions"),l=u||this.isAttributeChanged(),c=this.state.boundingBox;if(u&&(c=Fe(this.getAttributes(),this.getNumInstances()),this.setState({boundingBox:c})),u||a){var g=We(c,r,o,i),f=g.gridOffset,d=g.translation,p=g.width,h=g.height,v=g.numCol,m=g.numRow;this.allocateResources(m,v),this.setState({gridOffset:f,translation:d,gridOrigin:[-1*d[0],-1*d[1]],width:p,height:h,numCol:v,numRow:m})}var y=l||this.isAggregationDirty(e,{dimension:s.data,compareAll:!0});y&&this._updateAccessors(e),this.setState({aggregationDataDirty:y})}},{key:"_updateAccessors",value:function(e){var t=e.props,n=t.colorAggregation,r=t.elevationAggregation,i=this.state.weights,o=i.color,a=i.elevation;o.operation=D[n],a.operation=D[r]}}]),n}(Ze);function qn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}function Yn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Yn(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Yn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}y()(Hn,"layerName","GPUGridLayer"),y()(Hn,"defaultProps",Gn);var Kn=Xn(Xn(Xn({},Hn.defaultProps),mt.defaultProps),{},{gpuAggregation:!1}),$n=function(e){f()(n,e);var t=qn(n);function n(){var e;i()(this,n);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=t.call.apply(t,[this].concat(o)),y()(u()(e),"state",void 0),e}return a()(n,[{key:"initializeState",value:function(){this.state={useGPUAggregation:!0}}},{key:"updateState",value:function(e){var t=e.props;this.setState({useGPUAggregation:this.canUseGPUAggregation(t)})}},{key:"renderLayers",value:function(){var e=this.props,t=e.data,n=e.updateTriggers,r=this.state.useGPUAggregation?"GPU":"CPU";return new(this.state.useGPUAggregation?this.getSubLayerClass("GPU",Hn):this.getSubLayerClass("CPU",mt))(this.props,this.getSubLayerProps({id:r,updateTriggers:n}),{data:t})}},{key:"canUseGPUAggregation",value:function(e){var t=e.gpuAggregation,n=e.lowerPercentile,r=e.upperPercentile,i=e.getColorValue,o=e.getElevationValue,a=e.colorScaleType;return!!t&&(!!Q.isSupported(this.context.gl)&&(0===n&&100===r&&(null===i&&null===o&&("quantile"!==a&&"ordinal"!==a))))}}]),n}(x.CompositeLayer);function Qn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Zn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Zn(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Zn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Jn(e){var t=e.map((function(e){return e[0]})),n=e.map((function(e){return e[1]})),r=Math.min.apply(null,t),i=Math.max.apply(null,t);return[r,Math.min.apply(null,n),i,Math.max.apply(null,n)]}function er(e,t){return t[0]>=e[0]&&t[2]<=e[2]&&t[1]>=e[1]&&t[3]<=e[3]}y()($n,"layerName","GridLayer"),y()($n,"defaultProps",Kn);var tr=new Float32Array(12);function nr(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,r=0,i=Qn(e);try{for(i.s();!(t=i.n()).done;)for(var o=t.value,a=0;a<n;a++)tr[r++]=o[a]||0}catch(e){i.e(e)}finally{i.f()}return tr}function rr(e,t,n){var r=ve()(e,4),i=r[0],o=r[1],a=r[2],s=r[3],u=a-i,l=s-o,c=u,g=l;u/l<t/n?c=t/n*l:g=n/t*u,c<t&&(c=t,g=n);var f=(a+i)/2,d=(s+o)/2;return[f-c/2,d-g/2,f+c/2,d+g/2]}function ir(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function or(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ir(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ir(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ar(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}var sr=function(e){f()(n,e);var t=ar(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"getShaders",value:function(){return{vs:"#define SHADER_NAME heatp-map-layer-vertex-shader\n\nuniform sampler2D maxTexture;\nuniform float intensity;\nuniform vec2 colorDomain;\nuniform float threshold;\nuniform float aggregationMode;\n\nattribute vec3 positions;\nattribute vec2 texCoords;\n\nvarying vec2 vTexCoords;\nvarying float vIntensityMin;\nvarying float vIntensityMax;\n\nvoid main(void) {\n gl_Position = project_position_to_clipspace(positions, vec3(0.0), vec3(0.0));\n vTexCoords = texCoords;\n vec4 maxTexture = texture2D(maxTexture, vec2(0.5));\n float maxValue = aggregationMode < 0.5 ? maxTexture.r : maxTexture.g;\n float minValue = maxValue * threshold;\n if (colorDomain[1] > 0.) {\n // if user specified custom domain use it.\n maxValue = colorDomain[1];\n minValue = colorDomain[0];\n }\n vIntensityMax = intensity / maxValue;\n vIntensityMin = intensity / minValue;\n}\n",fs:"#define SHADER_NAME triangle-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D texture;\nuniform sampler2D colorTexture;\nuniform float aggregationMode;\n\nvarying vec2 vTexCoords;\nvarying float vIntensityMin;\nvarying float vIntensityMax;\n\nvec4 getLinearColor(float value) {\n float factor = clamp(value * vIntensityMax, 0., 1.);\n vec4 color = texture2D(colorTexture, vec2(factor, 0.5));\n color.a *= min(value * vIntensityMin, 1.0);\n return color;\n}\n\nvoid main(void) {\n vec4 weights = texture2D(texture, vTexCoords);\n float weight = weights.r;\n\n if (aggregationMode > 0.5) {\n weight /= max(1.0, weights.a);\n }\n\n // discard pixels with 0 weight.\n if (weight <= 0.) {\n discard;\n }\n\n vec4 linearColor = getLinearColor(weight);\n linearColor.a *= opacity;\n gl_FragColor =linearColor;\n}\n",modules:[x.project32]}}},{key:"initializeState",value:function(e){var t=e.gl;this.getAttributeManager().add({positions:{size:3,noAlloc:!0},texCoords:{size:2,noAlloc:!0}}),this.setState({model:this._getModel(t)})}},{key:"_getModel",value:function(e){var t=this.props.vertexCount;return new b.Model(e,or(or({},this.getShaders()),{},{id:this.props.id,geometry:new b.Geometry({drawMode:6,vertexCount:t})}))}},{key:"draw",value:function(e){var t=e.uniforms,n=this.state.model,r=this.props,i=r.texture,o=r.maxTexture,a=r.colorTexture,s=r.intensity,u=r.threshold,l=r.aggregationMode,c=r.colorDomain;n.setUniforms(or(or({},t),{},{texture:i,maxTexture:o,colorTexture:a,intensity:s,threshold:u,aggregationMode:l,colorDomain:c})).draw()}}]),n}(x.Layer);y()(sr,"layerName","TriangleLayer");var ur;function lr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function cr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?lr(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function gr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}var fr={mipmaps:!1,parameters:(ur={},y()(ur,10240,9729),y()(ur,10241,9729),y()(ur,10242,33071),y()(ur,10243,33071),ur),dataFormat:6408},dr=[0,0],pr={SUM:0,MEAN:1},hr={getPosition:{type:"accessor",value:function(e){return e.position}},getWeight:{type:"accessor",value:1},intensity:{type:"number",min:0,value:1},radiusPixels:{type:"number",min:1,max:100,value:50},colorRange:ee,threshold:{type:"number",min:0,max:1,value:.05},colorDomain:{type:"array",value:null,optional:!0},aggregation:"SUM",weightsTextureSize:{type:"number",min:128,max:2048,value:2048},debounceTimeout:{type:"number",min:0,max:1e3,value:500}},vr=[b.FEATURES.BLEND_EQUATION_MINMAX,b.FEATURES.TEXTURE_FLOAT],mr=[b.FEATURES.COLOR_ATTACHMENT_RGBA32F,b.FEATURES.FLOAT_BLEND],yr={data:{props:["radiusPixels"]}},xr=function(e){f()(n,e);var t=gr(n);function n(){var e;i()(this,n);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=t.call.apply(t,[this].concat(o)),y()(u()(e),"state",void 0),e}return a()(n,[{key:"initializeState",value:function(){var e=this.context.gl;if(!Object(b.hasFeatures)(e,vr))return this.setState({supported:!1}),void x.log.error("HeatmapLayer: ".concat(this.id," is not supported on this browser"))();c()(v()(n.prototype),"initializeAggregationLayer",this).call(this,yr),this.setState({supported:!0,colorDomain:dr}),this._setupTextureParams(),this._setupAttributes(),this._setupResources()}},{key:"shouldUpdateState",value:function(e){return e.changeFlags.somethingChanged}},{key:"updateState",value:function(e){this.state.supported&&(c()(v()(n.prototype),"updateState",this).call(this,e),this._updateHeatmapState(e))}},{key:"_updateHeatmapState",value:function(e){var t=e.props,n=e.oldProps,r=this._getChangeFlags(e);(r.dataChanged||r.viewportChanged)&&(r.boundsChanged=this._updateBounds(r.dataChanged),this._updateTextureRenderingBounds()),r.dataChanged||r.boundsChanged?(clearTimeout(this.state.updateTimer),this.setState({isWeightMapDirty:!0})):r.viewportZoomChanged&&this._debouncedUpdateWeightmap(),t.colorRange!==n.colorRange&&this._updateColorTexture(e),this.state.isWeightMapDirty&&this._updateWeightmap(),this.setState({zoom:e.context.viewport.zoom})}},{key:"renderLayers",value:function(){if(!this.state.supported)return[];var e=this.state,t=e.weightsTexture,n=e.triPositionBuffer,r=e.triTexCoordBuffer,i=e.maxWeightsTexture,o=e.colorTexture,a=e.colorDomain,s=this.props,u=s.updateTriggers,l=s.intensity,c=s.threshold,g=s.aggregation;return new(this.getSubLayerClass("triangle",sr))(this.getSubLayerProps({id:"triangle-layer",updateTriggers:u}),{coordinateSystem:x.COORDINATE_SYSTEM.DEFAULT,data:{attributes:{positions:n,texCoords:r}},vertexCount:4,maxTexture:i,colorTexture:o,aggregationMode:pr[g]||0,texture:t,intensity:l,threshold:c,colorDomain:a})}},{key:"finalizeState",value:function(e){c()(v()(n.prototype),"finalizeState",this).call(this,e);var t=this.state,r=t.weightsTransform,i=t.weightsTexture,o=t.maxWeightTransform,a=t.maxWeightsTexture,s=t.triPositionBuffer,u=t.triTexCoordBuffer,l=t.colorTexture,g=t.updateTimer;null==r||r.delete(),null==i||i.delete(),null==o||o.delete(),null==a||a.delete(),null==s||s.delete(),null==u||u.delete(),null==l||l.delete(),g&&clearTimeout(g)}},{key:"_getAttributeManager",value:function(){return new x.AttributeManager(this.context.gl,{id:this.props.id,stats:this.context.stats})}},{key:"_getChangeFlags",value:function(e){var t={},n=this.state.dimensions;t.dataChanged=this.isAttributeChanged()||this.isAggregationDirty(e,{compareAll:!0,dimension:n.data}),t.viewportChanged=e.changeFlags.viewportChanged;var r=this.state.zoom;return e.context.viewport&&e.context.viewport.zoom===r||(t.viewportZoomChanged=!0),t}},{key:"_createTextures",value:function(){var e=this.context.gl,t=this.state,n=t.textureSize,r=t.format,i=t.type;this.setState({weightsTexture:new b.Texture2D(e,cr({width:n,height:n,format:r,type:i},fr)),maxWeightsTexture:new b.Texture2D(e,cr({format:r,type:i},fr))})}},{key:"_setupAttributes",value:function(){this.getAttributeManager().add({positions:{size:3,type:5130,accessor:"getPosition"},weights:{size:1,accessor:"getWeight"}}),this.setState({positionAttributeName:"positions"})}},{key:"_setupTextureParams",value:function(){var e=this.context.gl,t=this.props.weightsTextureSize,n=Math.min(t,Object(b.getParameters)(e,3379)),r=Object(b.hasFeatures)(e,mr),i=function(e){var t=e.gl;return e.floatTargetSupport?{format:Object(b.isWebGL2)(t)?34836:6408,type:5126}:{format:6408,type:5121}}({gl:e,floatTargetSupport:r}),o=i.format,a=i.type,s=r?1:1/255;this.setState({textureSize:n,format:o,type:a,weightsScale:s}),r||x.log.warn("HeatmapLayer: ".concat(this.id," rendering to float texture not supported, fallingback to low precession format"))()}},{key:"getShaders",value:function(e){return c()(v()(n.prototype),"getShaders",this).call(this,"max-weights-transform"===e?{vs:"attribute vec4 inTexture;\nvarying vec4 outTexture;\n\nvoid main()\n{\noutTexture = inTexture;\ngl_Position = vec4(0, 0, 0, 1.);\n// Enforce default value for ANGLE issue (https://bugs.chromium.org/p/angleproject/issues/detail?id=3941)\ngl_PointSize = 1.0;\n}\n",_fs:"varying vec4 outTexture;\nvoid main() {\n gl_FragColor = outTexture;\n gl_FragColor.g = outTexture.r / max(1.0, outTexture.a);\n}\n"}:{vs:"attribute vec3 positions;\nattribute vec3 positions64Low;\nattribute float weights;\nvarying vec4 weightsTexture;\nuniform float radiusPixels;\nuniform float textureWidth;\nuniform vec4 commonBounds;\nuniform float weightsScale;\nvoid main()\n{\n weightsTexture = vec4(weights * weightsScale, 0., 0., 1.);\n\n float radiusTexels = project_pixel_size(radiusPixels) * textureWidth / (commonBounds.z - commonBounds.x);\n gl_PointSize = radiusTexels * 2.;\n\n vec3 commonPosition = project_position(positions, positions64Low);\n\n // map xy from commonBounds to [-1, 1]\n gl_Position.xy = (commonPosition.xy - commonBounds.xy) / (commonBounds.zw - commonBounds.xy) ;\n gl_Position.xy = (gl_Position.xy * 2.) - (1.);\n}\n",_fs:"varying vec4 weightsTexture;\n// Epanechnikov function, keeping for reference\n// float epanechnikovKDE(float u) {\n// return 0.75 * (1.0 - u * u);\n// }\nfloat gaussianKDE(float u){\n return pow(2.71828, -u*u/0.05555)/(1.77245385*0.166666);\n}\nvoid main()\n{\n float dist = length(gl_PointCoord - vec2(0.5, 0.5));\n if (dist > 0.5) {\n discard;\n }\n gl_FragColor = weightsTexture * gaussianKDE(2. * dist);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}},{key:"_createWeightsTransform",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.context.gl,r=this.state.weightsTransform,i=this.state.weightsTexture;null===(e=r)||void 0===e||e.delete(),r=new b.Transform(n,cr({id:"".concat(this.id,"-weights-transform"),elementCount:1,_targetTexture:i,_targetTextureVarying:"weightsTexture"},t)),this.setState({weightsTransform:r})}},{key:"_setupResources",value:function(){var e=this.context.gl;this._createTextures();var t=this.state,n=t.textureSize,r=t.weightsTexture,i=t.maxWeightsTexture,o=this.getShaders("weights-transform");this._createWeightsTransform(o);var a=this.getShaders("max-weights-transform"),s=new b.Transform(e,cr(cr({id:"".concat(this.id,"-max-weights-transform"),_sourceTextures:{inTexture:r},_targetTexture:i,_targetTextureVarying:"outTexture"},a),{},{elementCount:n*n}));this.setState({weightsTexture:r,maxWeightsTexture:i,maxWeightTransform:s,zoom:null,triPositionBuffer:new b.Buffer(e,{byteLength:48,accessor:{size:3}}),triTexCoordBuffer:new b.Buffer(e,{byteLength:48,accessor:{size:2}})})}},{key:"updateShaders",value:function(e){this._createWeightsTransform(e)}},{key:"_updateMaxWeightValue",value:function(){this.state.maxWeightTransform.run({parameters:{blend:!0,depthTest:!1,blendFunc:[1,1],blendEquation:32776}})}},{key:"_updateBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.context.viewport,n=[t.unproject([0,0]),t.unproject([t.width,0]),t.unproject([t.width,t.height]),t.unproject([0,t.height])].map((function(e){return e.map(Math.fround)})),r=Jn(n),i={visibleWorldBounds:r,viewportCorners:n},o=!1;if(e||!this.state.worldBounds||!er(this.state.worldBounds,r)){var a=this._worldToCommonBounds(r),s=this._commonToWorldBounds(a);this.props.coordinateSystem===x.COORDINATE_SYSTEM.LNGLAT&&(s[1]=Math.max(s[1],-85.051129),s[3]=Math.min(s[3],85.051129),s[0]=Math.max(s[0],-360),s[2]=Math.min(s[2],360));var u=this._worldToCommonBounds(s);i.worldBounds=s,i.normalizedCommonBounds=u,o=!0}return this.setState(i),o}},{key:"_updateTextureRenderingBounds",value:function(){var e=this.state,t=e.triPositionBuffer,n=e.triTexCoordBuffer,r=e.normalizedCommonBounds,i=e.viewportCorners,o=this.context.viewport;t.subData(nr(i,3));var a=i.map((function(e){return t=o.projectPosition(e),n=r,i=ve()(n,4),a=i[0],s=i[1],u=i[2],l=i[3],[(t[0]-a)/(u-a),(t[1]-s)/(l-s)];var t,n,i,a,s,u,l}));n.subData(nr(a,2))}},{key:"_updateColorTexture",value:function(e){var t=e.props.colorRange,n=this.state.colorTexture,r=te(t,!1,Uint8Array);n?n.setImageData({data:r,width:t.length}):n=new b.Texture2D(this.context.gl,cr({data:r,width:t.length,height:1},fr)),this.setState({colorTexture:n})}},{key:"_updateWeightmap",value:function(){var e,t=this,n=this.props,r=n.radiusPixels,i=n.colorDomain,o=n.aggregation,a=this.state,s=a.weightsTransform,u=a.worldBounds,l=a.textureSize,c=a.weightsTexture,g=a.weightsScale;this.state.isWeightMapDirty=!1;var f=this._worldToCommonBounds(u,{useLayerCoordinateSystem:!0});if(i&&"SUM"===o){var d=this.context.viewport.distanceScales.metersPerUnit[2]*(f[2]-f[0])/l;this.state.colorDomain=i.map((function(e){return e*d*g}))}else this.state.colorDomain=i||dr;var p={radiusPixels:r,commonBounds:f,textureWidth:l,weightsScale:g};s.update({elementCount:this.getNumInstances()}),Object(b.withParameters)(this.context.gl,{clearColor:[0,0,0,0]},(function(){s.run({uniforms:p,parameters:{blend:!0,depthTest:!1,blendFunc:[1,1],blendEquation:32774},clearRenderTarget:!0,attributes:t.getAttributes(),moduleSettings:t.getModuleSettings()})})),this._updateMaxWeightValue(),c.setParameters((e={},y()(e,10240,9729),y()(e,10241,9729),e))}},{key:"_debouncedUpdateWeightmap",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.state.updateTimer,n=this.props.debounceTimeout;e?(t=null,this._updateBounds(!0),this._updateTextureRenderingBounds(),this.setState({isWeightMapDirty:!0})):(this.setState({isWeightMapDirty:!1}),clearTimeout(t),t=setTimeout(this._debouncedUpdateWeightmap.bind(this,!0),n)),this.setState({updateTimer:t})}},{key:"_worldToCommonBounds",value:function(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.useLayerCoordinateSystem,o=void 0!==i&&i,a=ve()(e,4),s=a[0],u=a[1],l=a[2],c=a[3],g=this.context.viewport,f=this.state.textureSize,d=this.props.coordinateSystem,p=o&&(d===x.COORDINATE_SYSTEM.LNGLAT_OFFSETS||d===x.COORDINATE_SYSTEM.METER_OFFSETS),h=p?g.projectPosition(this.props.coordinateOrigin):[0,0],v=2*f/g.scale;return o&&!p?(t=this.projectPosition([s,u,0]),n=this.projectPosition([l,c,0])):(t=g.projectPosition([s,u,0]),n=g.projectPosition([l,c,0])),rr([t[0]-h[0],t[1]-h[1],n[0]-h[0],n[1]-h[1]],v,v)}},{key:"_commonToWorldBounds",value:function(e){var t=ve()(e,4),n=t[0],r=t[1],i=t[2],o=t[3],a=this.context.viewport,s=a.unprojectPosition([n,r]),u=a.unprojectPosition([i,o]);return s.slice(0,2).concat(u.slice(0,2))}}]),n}(pe);y()(xr,"layerName","HeatmapLayer"),y()(xr,"defaultProps",hr),n.d(t,"ScreenGridLayer",(function(){return it})),n.d(t,"CPUGridLayer",(function(){return mt})),n.d(t,"HexagonLayer",(function(){return Tt})),n.d(t,"ContourLayer",(function(){return kn})),n.d(t,"GridLayer",(function(){return $n})),n.d(t,"GPUGridLayer",(function(){return Hn})),n.d(t,"AGGREGATION_OPERATION",(function(){return D})),n.d(t,"HeatmapLayer",(function(){return xr})),n.d(t,"_GPUGridAggregator",(function(){return Q})),n.d(t,"_CPUAggregator",(function(){return dt})),n.d(t,"_AggregationLayer",(function(){return pe})),n.d(t,"_BinSorter",(function(){return ze}))}])}));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("deck"),require("luma")):"function"==typeof define&&define.amd?define(["deck","luma"],t):"object"==typeof exports?exports.deck=t(require("deck"),require("luma")):e.deck=t(e.deck,e.luma)}(window,(function(e,t){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=12)}([function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},function(e,t,n){var r=n(14);function i(t,n,o){return"undefined"!=typeof Reflect&&Reflect.get?e.exports=i=Reflect.get:e.exports=i=function(e,t,n){var i=r(e,t);if(i){var o=Object.getOwnPropertyDescriptor(i,t);return o.get?o.get.call(n):o.value}},i(t,n,o||t)}e.exports=i},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}},function(e,t,n){var r=n(15);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}},function(e,t,n){var r=n(11),i=n(9);e.exports=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?i(e):t}},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,n){var r=n(16),i=n(17),o=n(18);e.exports=function(e,t){return r(e)||i(e,t)||o()}},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=n=function(e){return typeof e}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(t)}e.exports=n},function(e,t,n){var r=n(19),i=globalThis.deck||{};if(!i.LineLayer)throw new Error("@deck.gl/layers is not found");e.exports=Object.assign(i,r)},,function(e,t,n){var r=n(3);e.exports=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=r(e)););return e}},function(e,t){function n(t,r){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,r)}e.exports=n},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,n){"use strict";n.r(t);var r=n(5),i=n.n(r),o=n(6),a=n.n(o),s=n(9),u=n.n(s),l=n(4),c=n.n(l),g=n(7),f=n.n(g),d=n(8),p=n.n(d),h=n(3),v=n.n(h),m=n(0),y=n.n(m),x=n(1),b=n(2);function S(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=Math.fround(e),i=e-r;return t[n]=r,t[n+1]=i,t}function O(e){return e-Math.fround(e)}function w(e){for(var t=new Float32Array(32),n=0;n<4;++n)for(var r=0;r<4;++r){var i=4*n+r;S(e[4*r+n],t,2*i)}return t}var A={ONE:1};var P,_,M={name:"fp64-arithmetic",vs:"uniform float ONE;\nvec2 split(float a) {\n const float SPLIT = 4097.0;\n float t = a * SPLIT;\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float a_hi = t * ONE - (t - a);\n float a_lo = a * ONE - a_hi;\n#else\n float a_hi = t - (t - a);\n float a_lo = a - a_hi;\n#endif\n return vec2(a_hi, a_lo);\n}\nvec2 split2(vec2 a) {\n vec2 b = split(a.x);\n b.y += a.y;\n return b;\n}\nvec2 quickTwoSum(float a, float b) {\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float sum = (a + b) * ONE;\n float err = b - (sum - a) * ONE;\n#else\n float sum = a + b;\n float err = b - (sum - a);\n#endif\n return vec2(sum, err);\n}\nvec2 twoSum(float a, float b) {\n float s = (a + b);\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float v = (s * ONE - a) * ONE;\n float err = (a - (s - v) * ONE) * ONE * ONE * ONE + (b - v);\n#else\n float v = s - a;\n float err = (a - (s - v)) + (b - v);\n#endif\n return vec2(s, err);\n}\n\nvec2 twoSub(float a, float b) {\n float s = (a - b);\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float v = (s * ONE - a) * ONE;\n float err = (a - (s - v) * ONE) * ONE * ONE * ONE - (b + v);\n#else\n float v = s - a;\n float err = (a - (s - v)) - (b + v);\n#endif\n return vec2(s, err);\n}\n\nvec2 twoSqr(float a) {\n float prod = a * a;\n vec2 a_fp64 = split(a);\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n float err = ((a_fp64.x * a_fp64.x - prod) * ONE + 2.0 * a_fp64.x *\n a_fp64.y * ONE * ONE) + a_fp64.y * a_fp64.y * ONE * ONE * ONE;\n#else\n float err = ((a_fp64.x * a_fp64.x - prod) + 2.0 * a_fp64.x * a_fp64.y) + a_fp64.y * a_fp64.y;\n#endif\n return vec2(prod, err);\n}\n\nvec2 twoProd(float a, float b) {\n float prod = a * b;\n vec2 a_fp64 = split(a);\n vec2 b_fp64 = split(b);\n float err = ((a_fp64.x * b_fp64.x - prod) + a_fp64.x * b_fp64.y +\n a_fp64.y * b_fp64.x) + a_fp64.y * b_fp64.y;\n return vec2(prod, err);\n}\n\nvec2 sum_fp64(vec2 a, vec2 b) {\n vec2 s, t;\n s = twoSum(a.x, b.x);\n t = twoSum(a.y, b.y);\n s.y += t.x;\n s = quickTwoSum(s.x, s.y);\n s.y += t.y;\n s = quickTwoSum(s.x, s.y);\n return s;\n}\n\nvec2 sub_fp64(vec2 a, vec2 b) {\n vec2 s, t;\n s = twoSub(a.x, b.x);\n t = twoSub(a.y, b.y);\n s.y += t.x;\n s = quickTwoSum(s.x, s.y);\n s.y += t.y;\n s = quickTwoSum(s.x, s.y);\n return s;\n}\n\nvec2 mul_fp64(vec2 a, vec2 b) {\n vec2 prod = twoProd(a.x, b.x);\n prod.y += a.x * b.y;\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n prod = split2(prod);\n#endif\n prod = quickTwoSum(prod.x, prod.y);\n prod.y += a.y * b.x;\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n prod = split2(prod);\n#endif\n prod = quickTwoSum(prod.x, prod.y);\n return prod;\n}\n\nvec2 div_fp64(vec2 a, vec2 b) {\n float xn = 1.0 / b.x;\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n vec2 yn = mul_fp64(a, vec2(xn, 0));\n#else\n vec2 yn = a * xn;\n#endif\n float diff = (sub_fp64(a, mul_fp64(b, yn))).x;\n vec2 prod = twoProd(xn, diff);\n return sum_fp64(yn, prod);\n}\n\nvec2 sqrt_fp64(vec2 a) {\n if (a.x == 0.0 && a.y == 0.0) return vec2(0.0, 0.0);\n if (a.x < 0.0) return vec2(0.0 / 0.0, 0.0 / 0.0);\n\n float x = 1.0 / sqrt(a.x);\n float yn = a.x * x;\n#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)\n vec2 yn_sqr = twoSqr(yn) * ONE;\n#else\n vec2 yn_sqr = twoSqr(yn);\n#endif\n float diff = sub_fp64(a, yn_sqr).x;\n vec2 prod = twoProd(x * 0.5, diff);\n#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)\n return sum_fp64(split(yn), prod);\n#else\n return sum_fp64(vec2(yn, 0.0), prod);\n#endif\n}\n",fs:null,getUniforms:function(){return A},fp64ify:S,fp64LowPart:O,fp64ifyMatrix4:w},D={SUM:1,MEAN:2,MIN:3,MAX:4};function C(e,t){return e+t}function T(e,t){return t>e?t:e}function E(e,t){return t<e?t:e}function j(e,t,n){var r=D[e]||D.SUM;switch(t=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Number.isFinite(e))return e;return function(n){return t.index=n.index,e(n.source,t)}}(t,n),r){case D.MIN:return function(e){return function(e,t){if(Number.isFinite(t))return e.length?t:null;var n=e.map(t).filter(Number.isFinite);return n.length?n.reduce(E,1/0):null}(e,t)};case D.SUM:return function(e){return function(e,t){if(Number.isFinite(t))return e.length?e.length*t:null;var n=e.map(t).filter(Number.isFinite);return n.length?n.reduce(C,0):null}(e,t)};case D.MEAN:return function(e){return function(e,t){if(Number.isFinite(t))return e.length?t:null;var n=e.map(t).filter(Number.isFinite);return n.length?n.reduce(C,0)/n.length:null}(e,t)};case D.MAX:return function(e){return function(e,t){if(Number.isFinite(t))return e.length?t:null;var n=e.map(t).filter(Number.isFinite);return n.length?n.reduce(T,-1/0):null}(e,t)};default:return null}}function R(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(n){return t.indices=n.map((function(e){return e.index})),e(n.map((function(e){return e.source})),t)}}var k,N={projectPoints:!1,viewport:null,createBufferObjects:!0,moduleSettings:{}},B=3402823466e29,z=[32775,32774],I=[32776,32774],F=[32776,32775],U=(P={},y()(P,D.SUM,32774),y()(P,D.MEAN,32774),y()(P,D.MIN,z),y()(P,D.MAX,I),P),L={size:1,operation:D.SUM,needMin:!1,needMax:!1,combineMaxMin:!1},W=(_={},y()(_,10240,9728),y()(_,10241,9728),k={},y()(k,10240,9728),y()(k,10241,9728),k);function G(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.width,r=void 0===n?1:n,i=t.height,o=void 0===i?1:i,a=t.data,s=void 0===a?null:a,u=t.unpackFlipY,l=void 0===u||u,c=t.parameters,g=void 0===c?W:c,f=new b.Texture2D(e,{data:s,format:Object(b.isWebGL2)(e)?34836:6408,type:5126,border:0,mipmaps:!1,parameters:g,dataFormat:6408,width:r,height:o,unpackFlipY:l});return f}function V(e,t){var n=t.id,r=t.width,i=void 0===r?1:r,o=t.height,a=void 0===o?1:o,s=t.texture;return new b.Framebuffer(e,{id:n,width:i,height:a,attachments:y()({},36064,s)})}function H(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return q(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return q(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function X(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Y(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Y(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var K=["aggregationBuffer","maxMinBuffer","minBuffer","maxBuffer"],$={maxData:"maxBuffer",minData:"minBuffer",maxMinData:"maxMinBuffer"},Q=[b.FEATURES.WEBGL2,b.FEATURES.COLOR_ATTACHMENT_RGBA32F,b.FEATURES.BLEND_EQUATION_MINMAX,b.FEATURES.FLOAT_BLEND,b.FEATURES.TEXTURE_FLOAT],Z=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i()(this,e),this.id=n.id||"gpu-grid-aggregator",this.gl=t,this.state={weightAttributes:{},textures:{},meanTextures:{},buffers:{},framebuffers:{},maxMinFramebuffers:{},minFramebuffers:{},maxFramebuffers:{},equations:{},resources:{},results:{}},this._hasGPUSupport=Object(b.isWebGL2)(t)&&Object(b.hasFeatures)(this.gl,b.FEATURES.BLEND_EQUATION_MINMAX,b.FEATURES.COLOR_ATTACHMENT_RGBA32F,b.FEATURES.TEXTURE_FLOAT),this._hasGPUSupport&&this._setupModels()}return a()(e,[{key:"delete",value:function(){var e=this.gridAggregationModel,t=this.allAggregationModel,n=this.meanTransform,r=this.state,i=r.textures,o=r.framebuffers,a=r.maxMinFramebuffers,s=r.minFramebuffers,u=r.maxFramebuffers,l=r.meanTextures,c=r.resources;null==e||e.delete(),null==t||t.delete(),null==n||n.delete(),function(e){(e=Array.isArray(e)?e:[e]).forEach((function(e){for(var t in e)e[t].delete()}))}([o,i,a,s,u,l,c])}},{key:"run",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.setState({results:{}});var t=this._normalizeAggregationParams(e);return this._hasGPUSupport||x.log.log(1,"GPUGridAggregator: not supported")(),this._runAggregation(t)}},{key:"getData",value:function(e){var t={},n=this.state.results;for(var r in n[e].aggregationData||(n[e].aggregationData=n[e].aggregationBuffer.getData()),t.aggregationData=n[e].aggregationData,$){var i=$[r];(n[e][r]||n[e][i])&&(n[e][r]=n[e][r]||n[e][i].getData(),t[r]=n[e][r])}return t}},{key:"updateShaders",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.setState({shaderOptions:e,modelDirty:!0})}},{key:"_normalizeAggregationParams",value:function(e){var t=X(X({},N),e),n=t.weights;return n&&(t.weights=function(e){var t={};for(var n in e)t[n]=X(X({},L),e[n]);return t}(n)),t}},{key:"setState",value:function(e){Object.assign(this.state,e)}},{key:"_getAggregateData",value:function(e){var t={},n=this.state,r=n.textures,i=n.framebuffers,o=n.maxMinFramebuffers,a=n.minFramebuffers,s=n.maxFramebuffers,u=n.resources,l=e.weights;for(var c in l){t[c]={};var g=l[c],f=g.needMin,d=g.needMax,p=g.combineMaxMin;t[c].aggregationTexture=r[c],t[c].aggregationBuffer=Object(b.readPixelsToBuffer)(i[c],{target:l[c].aggregationBuffer,sourceType:5126}),f&&d&&p?(t[c].maxMinBuffer=Object(b.readPixelsToBuffer)(o[c],{target:l[c].maxMinBuffer,sourceType:5126}),t[c].maxMinTexture=u["".concat(c,"-maxMinTexture")]):(f&&(t[c].minBuffer=Object(b.readPixelsToBuffer)(a[c],{target:l[c].minBuffer,sourceType:5126}),t[c].minTexture=u["".concat(c,"-minTexture")]),d&&(t[c].maxBuffer=Object(b.readPixelsToBuffer)(s[c],{target:l[c].maxBuffer,sourceType:5126}),t[c].maxTexture=u["".concat(c,"-maxTexture")]))}return this._trackGPUResultBuffers(t,l),t}},{key:"_renderAggregateData",value:function(e){var t=e.cellSize,n=e.projectPoints,r=e.attributes,i=e.moduleSettings,o=e.numCol,a=e.numRow,s=e.weights,u=e.translation,l=e.scaling,c=this.state,g=c.maxMinFramebuffers,f=c.minFramebuffers,d=c.maxFramebuffers,p=[o,a],h={blend:!0,depthTest:!1,blendFunc:[1,1]},v={cellSize:t,gridSize:p,projectPoints:n,translation:u,scaling:l};for(var m in s){var y=s[m],x=y.needMin,b=y.needMax,S=x&&b&&s[m].combineMaxMin;this._renderToWeightsTexture({id:m,parameters:h,moduleSettings:i,uniforms:v,gridSize:p,attributes:r,weights:s}),S?this._renderToMaxMinTexture({id:m,parameters:X(X({},h),{},{blendEquation:F}),gridSize:p,minOrMaxFb:g[m],clearParams:{clearColor:[0,0,0,B]},combineMaxMin:S}):(x&&this._renderToMaxMinTexture({id:m,parameters:X(X({},h),{},{blendEquation:z}),gridSize:p,minOrMaxFb:f[m],clearParams:{clearColor:[B,B,B,0]},combineMaxMin:S}),b&&this._renderToMaxMinTexture({id:m,parameters:X(X({},h),{},{blendEquation:I}),gridSize:p,minOrMaxFb:d[m],clearParams:{clearColor:[0,0,0,0]},combineMaxMin:S}))}}},{key:"_renderToMaxMinTexture",value:function(e){var t=e.id,n=e.parameters,r=e.gridSize,i=e.minOrMaxFb,o=e.combineMaxMin,a=e.clearParams,s=void 0===a?{}:a,u=this.state.framebuffers,l=this.gl,c=this.allAggregationModel;Object(b.withParameters)(l,X(X({},s),{},{framebuffer:i,viewport:[0,0,r[0],r[1]]}),(function(){l.clear(16384),c.draw({parameters:n,uniforms:{uSampler:u[t].texture,gridSize:r,combineMaxMin:o}})}))}},{key:"_renderToWeightsTexture",value:function(e){var t=e.id,n=e.parameters,r=e.moduleSettings,i=e.uniforms,o=e.gridSize,a=e.weights,s=this.state,u=s.framebuffers,l=s.equations,c=s.weightAttributes,g=this.gl,f=this.gridAggregationModel,d=a[t].operation,p=d===D.MIN?[B,B,B,0]:[0,0,0,0];if(Object(b.withParameters)(g,{framebuffer:u[t],viewport:[0,0,o[0],o[1]],clearColor:p},(function(){g.clear(16384);var e={weights:c[t]};f.draw({parameters:X(X({},n),{},{blendEquation:l[t]}),moduleSettings:r,uniforms:i,attributes:e})})),d===D.MEAN){var h=this.state,v=h.meanTextures,m=h.textures,x={_sourceTextures:{aggregationValues:v[t]},_targetTexture:m[t],elementCount:m[t].width*m[t].height};this.meanTransform?this.meanTransform.update(x):this.meanTransform=function(e,t){return new b.Transform(e,X({vs:"#define SHADER_NAME gpu-aggregation-transform-mean-vs\nattribute vec4 aggregationValues;\nvarying vec4 meanValues;\n\nvoid main()\n{\n bool isCellValid = bool(aggregationValues.w > 0.);\n meanValues.xyz = isCellValid ? aggregationValues.xyz/aggregationValues.w : vec3(0, 0, 0);\n meanValues.w = aggregationValues.w;\n gl_PointSize = 1.0;\n}\n",_targetTextureVarying:"meanValues"},t))}(g,x),this.meanTransform.run({parameters:{blend:!1,depthTest:!1}}),u[t].attach(y()({},36064,m[t]))}}},{key:"_runAggregation",value:function(e){this._updateModels(e),this._setupFramebuffers(e),this._renderAggregateData(e);var t=this._getAggregateData(e);return this.setState({results:t}),t}},{key:"_setupFramebuffers",value:function(e){var t=this.state,n=t.textures,r=t.framebuffers,i=t.maxMinFramebuffers,o=t.minFramebuffers,a=t.maxFramebuffers,s=t.meanTextures,u=t.equations,l=e.weights,c=e.numCol,g=e.numRow,f={width:c,height:g};for(var d in l){var p=l[d],h=p.needMin,v=p.needMax,m=p.combineMaxMin,x=p.operation;n[d]=l[d].aggregationTexture||n[d]||G(this.gl,{id:"".concat(d,"-texture"),width:c,height:g}),n[d].resize(f);var b=n[d];x===D.MEAN&&(s[d]=s[d]||G(this.gl,{id:"".concat(d,"-mean-texture"),width:c,height:g}),s[d].resize(f),b=s[d]),r[d]?r[d].attach(y()({},36064,b)):r[d]=V(this.gl,{id:"".concat(d,"-fb"),width:c,height:g,texture:b}),r[d].resize(f),u[d]=U[x]||U.SUM,(h||v)&&(h&&v&&m?i[d]||(b=l[d].maxMinTexture||this._getMinMaxTexture("".concat(d,"-maxMinTexture")),i[d]=V(this.gl,{id:"".concat(d,"-maxMinFb"),texture:b})):(h&&(o[d]||(b=l[d].minTexture||this._getMinMaxTexture("".concat(d,"-minTexture")),o[d]=V(this.gl,{id:"".concat(d,"-minFb"),texture:b}))),v&&(a[d]||(b=l[d].maxTexture||this._getMinMaxTexture("".concat(d,"-maxTexture")),a[d]=V(this.gl,{id:"".concat(d,"-maxFb"),texture:b})))))}}},{key:"_getMinMaxTexture",value:function(e){var t=this.state.resources;return t[e]||(t[e]=G(this.gl,{id:"resourceName"})),t[e]}},{key:"_setupModels",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.numCol,r=void 0===n?0:n,i=t.numRow,o=void 0===i?0:i,a=this.gl,s=this.state.shaderOptions;if(null===(e=this.gridAggregationModel)||void 0===e||e.delete(),this.gridAggregationModel=J(a,s),!this.allAggregationModel){var u=r*o;this.allAggregationModel=ee(a,u)}}},{key:"_setupWeightAttributes",value:function(e){var t=this.state.weightAttributes,n=e.weights;for(var r in n)t[r]=e.attributes[r]}},{key:"_trackGPUResultBuffers",value:function(e,t){var n=this.state.resources;for(var r in e)if(e[r]){var i,o=H(K);try{for(o.s();!(i=o.n()).done;){var a=i.value;if(e[r][a]&&t[r][a]!==e[r][a]){var s="gpu-result-".concat(r,"-").concat(a);n[s]&&n[s].delete(),n[s]=e[r][a]}}}catch(e){o.e(e)}finally{o.f()}}}},{key:"_updateModels",value:function(e){var t=e.vertexCount,n=e.attributes,r=e.numCol,i=e.numRow;this.state.modelDirty&&(this._setupModels(e),this.setState({modelDirty:!1})),this._setupWeightAttributes(e),this.gridAggregationModel.setVertexCount(t),this.gridAggregationModel.setAttributes(n),this.allAggregationModel.setInstanceCount(r*i)}}],[{key:"getAggregationData",value:function(e){var t=e.aggregationData,n=e.maxData,r=e.minData,i=e.maxMinData,o=4*e.pixelIndex,a={};return t&&(a.cellCount=t[o+3],a.cellWeight=t[o]),i?(a.maxCellWieght=i[0],a.minCellWeight=i[3]):(n&&(a.maxCellWieght=n[0],a.totalCount=n[3]),r&&(a.minCellWeight=r[0],a.totalCount=n[3])),a}},{key:"getCellData",value:function(e){for(var t=e.countsData,n=e.size,r=void 0===n?1:n,i=t.length/4,o=new Float32Array(i*r),a=new Uint32Array(i),s=0;s<i;s++){for(var u=0;u<r;u++)o[s*r+u]=t[4*s+u];a[s]=t[4*s+3]}return{cellCounts:a,cellWeights:o}}},{key:"isSupported",value:function(e){return Object(b.hasFeatures)(e,Q)}}]),e}();function J(e,t){var n=Object(x._mergeShaders)({vs:"#define SHADER_NAME gpu-aggregation-to-grid-vs\n\nattribute vec3 positions;\nattribute vec3 positions64Low;\nattribute vec3 weights;\nuniform vec2 cellSize;\nuniform vec2 gridSize;\nuniform bool projectPoints;\nuniform vec2 translation;\nuniform vec3 scaling;\n\nvarying vec3 vWeights;\n\nvec2 project_to_pixel(vec4 pos) {\n vec4 result;\n pos.xy = pos.xy/pos.w;\n result = pos + vec4(translation, 0., 0.);\n result.xy = scaling.z > 0. ? result.xy * scaling.xy : result.xy;\n return result.xy;\n}\n\nvoid main(void) {\n\n vWeights = weights;\n\n vec4 windowPos = vec4(positions, 1.);\n if (projectPoints) {\n windowPos = project_position_to_clipspace(positions, positions64Low, vec3(0));\n }\n\n vec2 pos = project_to_pixel(windowPos);\n\n vec2 pixelXY64[2];\n pixelXY64[0] = vec2(pos.x, 0.);\n pixelXY64[1] = vec2(pos.y, 0.);\n vec2 gridXY64[2];\n gridXY64[0] = div_fp64(pixelXY64[0], vec2(cellSize.x, 0));\n gridXY64[1] = div_fp64(pixelXY64[1], vec2(cellSize.y, 0));\n float x = floor(gridXY64[0].x);\n float y = floor(gridXY64[1].x);\n pos = vec2(x, y);\n pos = (pos * (2., 2.) / (gridSize)) - (1., 1.);\n vec2 offset = 1.0 / gridSize;\n pos = pos + offset;\n\n gl_Position = vec4(pos, 0.0, 1.0);\n gl_PointSize = 1.0;\n}\n",fs:"#define SHADER_NAME gpu-aggregation-to-grid-fs\n\nprecision highp float;\n\nvarying vec3 vWeights;\n\nvoid main(void) {\n gl_FragColor = vec4(vWeights, 1.0);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[M,x.project32]},t);return new b.Model(e,X({id:"Gird-Aggregation-Model",vertexCount:1,drawMode:0},n))}function ee(e,t){return new b.Model(e,{id:"All-Aggregation-Model",vs:"#version 300 es\n#define SHADER_NAME gpu-aggregation-all-vs-64\n\nin vec2 position;\nuniform ivec2 gridSize;\nout vec2 vTextureCoord;\n\nvoid main(void) {\n vec2 pos = vec2(-1.0, -1.0);\n vec2 offset = 1.0 / vec2(gridSize);\n pos = pos + offset;\n\n gl_Position = vec4(pos, 0.0, 1.0);\n\n int yIndex = gl_InstanceID / gridSize[0];\n int xIndex = gl_InstanceID - (yIndex * gridSize[0]);\n\n vec2 yIndexFP64 = vec2(float(yIndex), 0.);\n vec2 xIndexFP64 = vec2(float(xIndex), 0.);\n vec2 gridSizeYFP64 = vec2(gridSize[1], 0.);\n vec2 gridSizeXFP64 = vec2(gridSize[0], 0.);\n\n vec2 texCoordXFP64 = div_fp64(yIndexFP64, gridSizeYFP64);\n vec2 texCoordYFP64 = div_fp64(xIndexFP64, gridSizeXFP64);\n\n vTextureCoord = vec2(texCoordYFP64.x, texCoordXFP64.x);\n gl_PointSize = 1.0;\n}\n",fs:"#version 300 es\n#define SHADER_NAME gpu-aggregation-all-fs\n\nprecision highp float;\n\nin vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform bool combineMaxMin;\nout vec4 fragColor;\nvoid main(void) {\n vec4 textureColor = texture(uSampler, vec2(vTextureCoord.s, vTextureCoord.t));\n if (textureColor.a == 0.) {\n discard;\n }\n fragColor.rgb = textureColor.rgb;\n fragColor.a = combineMaxMin ? textureColor.r : textureColor.a;\n}\n",modules:[M],vertexCount:1,drawMode:0,isInstanced:!0,instanceCount:t,attributes:{position:[0,0]}})}var te=[[255,255,178],[254,217,118],[254,178,76],[253,141,60],[240,59,32],[189,0,38]];function ne(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Float32Array;if(Number.isFinite(e[0]))t=new r(e);else{t=new r(4*e.length);for(var i=0,o=0;o<e.length;o++){var a=e[o];t[i++]=a[0],t[i++]=a[1],t[i++]=a[2],t[i++]=Number.isFinite(a[3])?a[3]:255}}if(n)for(var s=0;s<t.length;s++)t[s]/=255;return t}function re(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ie(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?re(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):re(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function oe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}var ae=[0,0,0,0],se=[0,255,0,255],ue=["minColor","maxColor","colorRange","colorDomain"],le={cellSizePixels:{value:100,min:1},cellMarginPixels:{value:2,min:0,max:5},colorDomain:null,colorRange:te},ce=function(e){f()(n,e);var t=oe(n);function n(){var e;i()(this,n);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=t.call.apply(t,[this].concat(o)),y()(u()(e),"state",void 0),e}return a()(n,[{key:"getShaders",value:function(){return{vs:"#define SHADER_NAME screen-grid-layer-vertex-shader\n#define RANGE_COUNT 6\n\nattribute vec3 positions;\nattribute vec3 instancePositions;\nattribute vec4 instanceCounts;\nattribute vec3 instancePickingColors;\n\nuniform float opacity;\nuniform vec3 cellScale;\nuniform vec4 minColor;\nuniform vec4 maxColor;\nuniform vec4 colorRange[RANGE_COUNT];\nuniform vec2 colorDomain;\nuniform bool shouldUseMinMax;\nuniform sampler2D maxTexture;\n\nvarying vec4 vColor;\nvarying float vSampleCount;\n\nvec4 quantizeScale(vec2 domain, vec4 range[RANGE_COUNT], float value) {\n vec4 outColor = vec4(0., 0., 0., 0.);\n if (value >= domain.x && value <= domain.y) {\n float domainRange = domain.y - domain.x;\n if (domainRange <= 0.) {\n outColor = colorRange[0];\n } else {\n float rangeCount = float(RANGE_COUNT);\n float rangeStep = domainRange / rangeCount;\n float idx = floor((value - domain.x) / rangeStep);\n idx = clamp(idx, 0., rangeCount - 1.);\n int intIdx = int(idx);\n outColor = colorRange[intIdx];\n }\n }\n outColor = outColor / 255.;\n return outColor;\n}\n\nvoid main(void) {\n vSampleCount = instanceCounts.a;\n\n float weight = instanceCounts.r;\n float maxWeight = texture2D(maxTexture, vec2(0.5)).r;\n\n float step = weight / maxWeight;\n vec4 minMaxColor = mix(minColor, maxColor, step) / 255.;\n\n vec2 domain = colorDomain;\n float domainMaxValid = float(colorDomain.y != 0.);\n domain.y = mix(maxWeight, colorDomain.y, domainMaxValid);\n vec4 rangeColor = quantizeScale(domain, colorRange, weight);\n\n float rangeMinMax = float(shouldUseMinMax);\n vec4 color = mix(rangeColor, minMaxColor, rangeMinMax);\n vColor = vec4(color.rgb, color.a * opacity);\n\n // Set color to be rendered to picking fbo (also used to check for selection highlight).\n picking_setPickingColor(instancePickingColors);\n\n gl_Position = vec4(instancePositions + positions * cellScale, 1.);\n}\n",fs:"#define SHADER_NAME screen-grid-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying float vSampleCount;\n\nvoid main(void) {\n if (vSampleCount <= 0.0) {\n discard;\n }\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n",modules:[x.picking]}}},{key:"initializeState",value:function(){var e=this.context.gl;this.getAttributeManager().addInstanced({instancePositions:{size:3,update:this.calculateInstancePositions},instanceCounts:{size:4,noAlloc:!0}}),this.setState({model:this._getModel(e)})}},{key:"shouldUpdateState",value:function(e){return e.changeFlags.somethingChanged}},{key:"updateState",value:function(e){c()(v()(n.prototype),"updateState",this).call(this,e);var t=e.oldProps,r=e.props,i=e.changeFlags,o=this.getAttributeManager();r.numInstances!==t.numInstances?o.invalidateAll():t.cellSizePixels!==r.cellSizePixels&&o.invalidate("instancePositions"),this._updateUniforms(t,r,i)}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,r=n.parameters,i=n.maxTexture,o=this.props.minColor||ae,a=this.props.maxColor||se,s=this.props.colorDomain||[1,0];this.state.model.setUniforms(t).setUniforms({minColor:o,maxColor:a,maxTexture:i,colorDomain:s}).draw({parameters:ie({depthTest:!1,depthMask:!1},r)})}},{key:"calculateInstancePositions",value:function(e,t){for(var n=t.numInstances,r=this.context.viewport,i=r.width,o=r.height,a=this.props.cellSizePixels,s=Math.ceil(i/a),u=e.value,l=e.size,c=0;c<n;c++){var g=c%s,f=Math.floor(c/s);u[c*l+0]=g*a/i*2-1,u[c*l+1]=1-f*a/o*2,u[c*l+2]=0}}},{key:"_getModel",value:function(e){return new b.Model(e,ie(ie({},this.getShaders()),{},{id:this.props.id,geometry:new b.Geometry({drawMode:6,attributes:{positions:new Float32Array([0,0,0,1,0,0,1,1,0,0,1,0])}}),isInstanced:!0}))}},{key:"_shouldUseMinMax",value:function(){var e=this.props,t=e.minColor,n=e.maxColor,r=e.colorDomain,i=e.colorRange;return t||n?(x.log.deprecated("ScreenGridLayer props: minColor and maxColor","colorRange, colorDomain")(),!0):!r&&!i}},{key:"_updateUniforms",value:function(e,t,n){var r=this.state.model;if(ue.some((function(n){return e[n]!==t[n]}))&&r.setUniforms({shouldUseMinMax:this._shouldUseMinMax()}),e.colorRange!==t.colorRange&&r.setUniforms({colorRange:ne(t.colorRange)}),e.cellMarginPixels!==t.cellMarginPixels||e.cellSizePixels!==t.cellSizePixels||n.viewportChanged){var i=this.context.viewport,o=i.width,a=i.height,s=this.props,u=s.cellSizePixels,l=s.cellMarginPixels,c=u>l?l:0,g=new Float32Array([(u-c)/o*2,-(u-c)/a*2,1]);r.setUniforms({cellScale:g})}}}],[{key:"isSupported",value:function(e){return Object(b.hasFeatures)(e,[b.FEATURES.TEXTURE_FLOAT])}}]),n}(x.Layer);function ge(e,t){var n={};for(var r in e)t.includes(r)||(n[r]=e[r]);return n}function fe(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return de(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return de(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function de(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function pe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}y()(ce,"layerName","ScreenGridCellLayer"),y()(ce,"defaultProps",le);var he=function(e){f()(n,e);var t=pe(n);function n(){var e;i()(this,n);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=t.call.apply(t,[this].concat(o)),y()(u()(e),"state",void 0),e}return a()(n,[{key:"initializeAggregationLayer",value:function(e){c()(v()(n.prototype),"initializeState",this).call(this,this.context),this.setState({ignoreProps:ge(this.constructor._propTypes,e.data.props),dimensions:e})}},{key:"updateState",value:function(e){if(c()(v()(n.prototype),"updateState",this).call(this,e),e.changeFlags.extensionsChanged){var t=this.getShaders({});t&&t.defines&&(t.defines.NON_INSTANCED_MODEL=1),this.updateShaders(t)}this._updateAttributes()}},{key:"updateAttributes",value:function(e){this.setState({changedAttributes:e})}},{key:"getAttributes",value:function(){return this.getAttributeManager().getShaderAttributes()}},{key:"getModuleSettings",value:function(){var e=this.context,t=e.viewport,n=e.mousePosition,r=e.gl;return Object.assign(Object.create(this.props),{viewport:t,mousePosition:n,pickingActive:0,devicePixelRatio:Object(b.cssToDeviceRatio)(r)})}},{key:"updateShaders",value:function(e){}},{key:"isAggregationDirty",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.props,r=e.oldProps,i=e.changeFlags,o=t.compareAll,a=void 0!==o&&o,s=t.dimension,u=this.state.ignoreProps,l=s.props,c=s.accessors,g=void 0===c?[]:c,f=i.updateTriggersChanged;if(i.dataChanged)return!0;if(f){if(f.all)return!0;var d,p=fe(g);try{for(p.s();!(d=p.n()).done;){var h=d.value;if(f[h])return!0}}catch(e){p.e(e)}finally{p.f()}}if(a)return!!i.extensionsChanged||Object(x._compareProps)({oldProps:r,newProps:n,ignoreProps:u,propTypes:this.constructor._propTypes});var v,m=fe(l);try{for(m.s();!(v=m.n()).done;){var y=v.value;if(n[y]!==r[y])return!0}}catch(e){m.e(e)}finally{m.f()}return!1}},{key:"isAttributeChanged",value:function(e){var t=this.state.changedAttributes;return e?t&&void 0!==t[e]:!function(e){var t=!0;for(var n in e){t=!1;break}return t}(t)}},{key:"_getAttributeManager",value:function(){return new x.AttributeManager(this.context.gl,{id:this.props.id,stats:this.context.stats})}}]),n}(x.CompositeLayer);y()(he,"layerName","AggregationLayer");var ve=n(10),me=n.n(ve);function ye(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return xe(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return xe(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function xe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function be(e,t,n){var r=n;return r.domain=function(){return e},r.range=function(){return t},r}function Se(e,t){return be(e,t,(function(n){return function(e,t,n){var r=e[1]-e[0];if(r<=0)return x.log.warn("quantizeScale: invalid domain, returning range[0]")(),t[0];var i=r/t.length,o=Math.floor((n-e[0])/i),a=Math.max(Math.min(o,t.length-1),0);return t[a]}(e,t,n)}))}function Oe(e,t){return be(e,t,(function(n){return function(e,t,n){return(n-e[0])/(e[1]-e[0])*(t[1]-t[0])+t[0]}(e,t,n)}))}function we(e,t){for(var n=e.sort(Ae),r=0,i=Math.max(1,t.length),o=new Array(i-1);++r<i;)o[r-1]=Pe(n,r/i);var a=function(e){return function(e,t,n){return t[function(e,t){var n=0,r=e.length;for(;n<r;){var i=n+r>>>1;Ae(e[i],t)>0?r=i:n=i+1}return n}(e,n)]}(o,t,e)};return a.thresholds=function(){return o},be(e,t,a)}function Ae(e,t){return e-t}function Pe(e,t){var n=e.length;if(t<=0||n<2)return e[0];if(t>=1)return e[n-1];var r=(n-1)*t,i=Math.floor(r),o=e[i];return o+(e[i+1]-o)*(r-i)}function _e(e,t){var n,r=new Map,i=[],o=ye(e);try{for(o.s();!(n=o.n()).done;){var a=n.value,s="".concat(a);r.has(s)||r.set(s,i.push(a))}}catch(e){o.e(e)}finally{o.f()}return be(e,t,(function(e){return function(e,t,n,r){var i="".concat(r),o=t.get(i);return void 0===o&&(o=e.push(r),t.set(i,o)),n[(o-1)%n.length]}(i,r,t,e)}))}function Me(e){return null!=e}function De(e,t){return("function"==typeof t?e.map(t):e).filter(Me)}function Ce(e,t){return De(e,t)}function Te(e,t){return n=De(e,t),r=[],n.forEach((function(e){!r.includes(e)&&Me(e)&&r.push(e)})),r;var n,r}function Ee(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return je(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return je(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function je(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Re=function(e){return e.length},ke=function(e){return e.points},Ne=function(e){return e.index},Be=function(e,t){return e<t?-1:e>t?1:e>=t?0:NaN},ze={getValue:Re,getPoints:ke,getIndex:Ne,filterData:null},Ie=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ze;i()(this,e),y()(this,"maxCount",void 0),y()(this,"maxValue",void 0),y()(this,"minValue",void 0),y()(this,"totalCount",void 0),y()(this,"aggregatedBins",void 0),y()(this,"sortedBins",void 0),y()(this,"binMap",void 0),this.aggregatedBins=this.getAggregatedBins(t,n),this._updateMinMaxValues(),this.binMap=this.getBinMap()}return a()(e,[{key:"getAggregatedBins",value:function(e,t){for(var n=t.getValue,r=void 0===n?Re:n,i=t.getPoints,o=void 0===i?ke:i,a=t.getIndex,s=void 0===a?Ne:a,u=t.filterData,l="function"==typeof u,c=e.length,g=[],f=0,d=0;d<c;d++){var p=e[d],h=o(p),v=s(p),m=l?h.filter(u):h;p.filteredPoints=l?m:null;var y=m.length?r(m):null;null!=y&&(g[f]={i:Number.isFinite(v)?v:d,value:y,counts:m.length},f++)}return g}},{key:"_percentileToIndex",value:function(e){var t=this.sortedBins.length;if(t<2)return[0,0];var n=e.map((function(e){return t=e,n=0,r=100,Math.max(n,Math.min(r,t));var t,n,r})),r=me()(n,2),i=r[0],o=r[1];return[Math.ceil(i/100*(t-1)),Math.floor(o/100*(t-1))]}},{key:"getBinMap",value:function(){var e,t={},n=Ee(this.aggregatedBins);try{for(n.s();!(e=n.n()).done;){var r=e.value;t[r.i]=r}}catch(e){n.e(e)}finally{n.f()}return t}},{key:"_updateMinMaxValues",value:function(){var e,t=0,n=0,r=3402823466e29,i=0,o=Ee(this.aggregatedBins);try{for(o.s();!(e=o.n()).done;){var a=e.value;t=t>a.counts?t:a.counts,n=n>a.value?n:a.value,r=r<a.value?r:a.value,i+=a.counts}}catch(e){o.e(e)}finally{o.f()}this.maxCount=t,this.maxValue=n,this.minValue=r,this.totalCount=i}},{key:"getValueRange",value:function(e){if(this.sortedBins||(this.sortedBins=this.aggregatedBins.sort((function(e,t){return Be(e.value,t.value)}))),!this.sortedBins.length)return[];var t=0,n=this.sortedBins.length-1;if(Array.isArray(e)){var r=this._percentileToIndex(e);t=r[0],n=r[1]}return[this.sortedBins[t].value,this.sortedBins[n].value]}},{key:"getValueDomainByScale",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=me()(t,2),r=n[0],i=void 0===r?0:r,o=n[1],a=void 0===o?100:o;if(this.sortedBins||(this.sortedBins=this.aggregatedBins.sort((function(e,t){return Be(e.value,t.value)}))),!this.sortedBins.length)return[];var s=this._percentileToIndex([i,a]);return this._getScaleDomain(e,s)}},{key:"_getScaleDomain",value:function(e,t){var n=me()(t,2),r=n[0],i=n[1],o=this.sortedBins;switch(e){case"quantize":case"linear":return[o[r].value,o[i].value];case"quantile":return Ce(o.slice(r,i+1),(function(e){return e.value}));case"ordinal":return Te(o,(function(e){return e.value}));default:return[o[r].value,o[i].value]}}}]),e}();function Fe(e){return Number.isFinite(e)?e:0}function Ue(e,t){for(var n,r,i=e.positions.value,o=1/0,a=-1/0,s=1/0,u=-1/0,l=0;l<t;l++)r=i[3*l],o=(n=i[3*l+1])<o?n:o,a=n>a?n:a,s=r<s?r:s,u=r>u?r:u;return{xMin:Fe(s),xMax:Fe(u),yMin:Fe(o),yMax:Fe(a)}}function Le(e,t){var n=e<0?-1:1,r=n<0?Math.abs(e)+t:Math.abs(e);return(r=Math.floor(r/t)*t)*n}function We(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!n)return{xOffset:t,yOffset:t};var r=e.yMin,i=e.yMax,o=(r+i)/2;return Ve(t,o)}function Ge(e,t,n,r){var i=We(e,t,r!==x.COORDINATE_SYSTEM.CARTESIAN),o=function(e,t,n,r){var i=r.width,o=r.height,a=n===x.COORDINATE_SYSTEM.CARTESIAN?[-i/2,-o/2]:[-180,-90];x.log.assert(n===x.COORDINATE_SYSTEM.CARTESIAN||n===x.COORDINATE_SYSTEM.LNGLAT||n===x.COORDINATE_SYSTEM.DEFAULT);var s=e.xMin,u=e.yMin;return[-1*(Le(s-a[0],t.xOffset)+a[0]),-1*(Le(u-a[1],t.yOffset)+a[1])]}(e,i,r,n),a=e.xMin,s=e.yMin,u=e.xMax,l=e.yMax,c=u-a+i.xOffset,g=l-s+i.yOffset;return{gridOffset:i,translation:o,width:c,height:g,numCol:Math.ceil(c/i.xOffset),numRow:Math.ceil(g/i.yOffset)}}function Ve(e,t){var n;return{yOffset:e/6378e3*(180/Math.PI),xOffset:(n=t,e/6378e3*(180/Math.PI)/Math.cos(n*Math.PI/180))}}function He(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function qe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?He(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):He(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ye(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Xe(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Xe(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Xe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ke(e,t){var n=function(e,t){var n=e.data,r=void 0===n?[]:n,i=e.cellSize,o=t.attributes,a=t.viewport,s=t.projectPoints,u=t.numInstances,l=o.positions.value,c=o.positions.getAccessor().size,g=t.boundingBox||function(e,t){for(var n,r,i=e.value,o=e.getAccessor().size,a=1/0,s=-1/0,u=1/0,l=-1/0,c=0;c<t;c++)r=i[c*o],n=i[c*o+1],Number.isFinite(r)&&Number.isFinite(n)&&(a=n<a?n:a,s=n>s?n:s,u=r<u?r:u,l=r>l?r:l);return{xMin:u,xMax:l,yMin:a,yMax:s}}(o.positions,u),f=t.posOffset||[180,90],d=t.gridOffset||We(g,i);if(d.xOffset<=0||d.yOffset<=0)return{gridHash:{},gridOffset:d};var p,h=a.width,v=a.height,m=Math.ceil(h/d.xOffset),y=Math.ceil(v/d.yOffset),b={},S=Object(x.createIterable)(r),O=S.iterable,w=S.objectInfo,A=new Array(3),P=Ye(O);try{for(P.s();!(p=P.n()).done;){var _=p.value;w.index++,A[0]=l[w.index*c],A[1]=l[w.index*c+1],A[2]=c>=3?l[w.index*c+2]:0;var M=s?a.project(A):A,D=me()(M,2),C=D[0],T=D[1];if(Number.isFinite(C)&&Number.isFinite(T)){var E=Math.floor((T+f[1])/d.yOffset),j=Math.floor((C+f[0])/d.xOffset);if(!s||j>=0&&j<m&&E>=0&&E<y){var R="".concat(E,"-").concat(j);b[R]=b[R]||{count:0,points:[],lonIdx:j,latIdx:E},b[R].count+=1,b[R].points.push({source:_,index:w.index})}}}}catch(e){P.e(e)}finally{P.f()}return{gridHash:b,gridOffset:d,offsets:[-1*f[0],-1*f[1]]}}(e,t),r=function(e){var t=e.gridHash,n=e.gridOffset,r=e.offsets,i=new Array(Object.keys(t).length),o=0;for(var a in t){var s=a.split("-"),u=parseInt(s[0],10),l=parseInt(s[1],10),c=o++;i[c]=qe({index:c,position:[r[0]+n.xOffset*l,r[1]+n.yOffset*u]},t[a])}return i}(n);return{gridHash:n.gridHash,gridOffset:n.gridOffset,data:r}}function $e(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Qe(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Qe(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Qe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ze(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}var Je=function(e){f()(n,e);var t=Ze(n);function n(){var e;i()(this,n);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=t.call.apply(t,[this].concat(o)),y()(u()(e),"state",void 0),e}return a()(n,[{key:"initializeAggregationLayer",value:function(e){var t=e.dimensions,r=this.context.gl;c()(v()(n.prototype),"initializeAggregationLayer",this).call(this,t),this.setState({layerData:{},gpuGridAggregator:new Z(r,{id:"".concat(this.id,"-gpu-aggregator")}),cpuGridAggregator:Ke})}},{key:"updateState",value:function(e){c()(v()(n.prototype),"updateState",this).call(this,e),this.updateAggregationState(e);var t=this.state,r=t.aggregationDataDirty,i=t.aggregationWeightsDirty,o=t.gpuAggregation;if(!(this.getNumInstances()<=0)){var a=!1;(r||o&&i)&&(this._updateAggregation(e),a=!0),o||!r&&!i||(this._updateWeightBins(),this._uploadAggregationResults(),a=!0),this.setState({aggregationDirty:a})}}},{key:"finalizeState",value:function(e){var t,r=this.state.weights.count;r&&r.aggregationBuffer&&r.aggregationBuffer.delete(),null===(t=this.state.gpuGridAggregator)||void 0===t||t.delete(),c()(v()(n.prototype),"finalizeState",this).call(this,e)}},{key:"updateShaders",value:function(e){this.state.gpuAggregation&&this.state.gpuGridAggregator.updateShaders(e)}},{key:"updateAggregationState",value:function(e){x.log.assert(!1)}},{key:"allocateResources",value:function(e,t){if(this.state.numRow!==e||this.state.numCol!==t){var n=t*e*4*4,r=this.context.gl,i=this.state.weights;for(var o in i){var a=i[o];a.aggregationBuffer&&a.aggregationBuffer.delete(),a.aggregationBuffer=new b.Buffer(r,{byteLength:n,accessor:{size:4,type:5126,divisor:1}})}}}},{key:"updateResults",value:function(e){var t=e.aggregationData,n=e.maxMinData,r=e.maxData,i=e.minData,o=this.state.weights.count;o&&(o.aggregationData=t,o.maxMinData=n,o.maxData=r,o.minData=i)}},{key:"_updateAggregation",value:function(e){var t=this.state,n=t.cpuGridAggregator,r=t.gpuGridAggregator,i=t.gridOffset,o=t.posOffset,a=t.translation,s=void 0===a?[0,0]:a,u=t.scaling,l=void 0===u?[0,0,0]:u,c=t.boundingBox,g=t.projectPoints,f=t.gpuAggregation,d=t.numCol,p=t.numRow,h=e.props,v=this.context.viewport,m=this.getAttributes(),y=this.getNumInstances();if(f){var x=this.state.weights;r.run({weights:x,cellSize:[i.xOffset,i.yOffset],numCol:d,numRow:p,translation:s,scaling:l,vertexCount:y,projectPoints:g,attributes:m,moduleSettings:this.getModuleSettings()})}else{var b=n(h,{gridOffset:i,projectPoints:g,attributes:m,viewport:v,posOffset:o,boundingBox:c});this.setState({layerData:b})}}},{key:"_updateWeightBins",value:function(){var e=this.state.getValue,t=new Ie(this.state.layerData.data||[],{getValue:e});this.setState({sortedBins:t})}},{key:"_uploadAggregationResults",value:function(){var e,t=this.state,n=t.numCol,r=t.numRow,i=this.state.layerData.data,o=this.state.sortedBins,a=o.aggregatedBins,s=o.minValue,u=o.maxValue,l=o.totalCount,c=new Float32Array(n*r*4).fill(0),g=$e(a);try{for(g.s();!(e=g.n()).done;){var f=e.value,d=i[f.i],p=d.lonIdx,h=d.latIdx,v=f.value,m=f.counts,y=4*(p+h*n);c[y]=v,c[y+4-1]=m}}catch(e){g.e(e)}finally{g.f()}var x=new Float32Array([u,0,0,s]),b=new Float32Array([u,0,0,l]),S=new Float32Array([s,0,0,l]);this.updateResults({aggregationData:c,maxMinData:x,maxData:b,minData:S})}}]),n}(he);function et(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}function tt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function nt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tt(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}y()(Je,"layerName","GridAggregationLayer");var rt=nt(nt({},ce.defaultProps),{},{getPosition:{type:"accessor",value:function(e){return e.position}},getWeight:{type:"accessor",value:1},gpuAggregation:!0,aggregation:"SUM"}),it={data:{props:["cellSizePixels"]},weights:{props:["aggregation"],accessors:["getWeight"]}},ot=function(e){f()(n,e);var t=et(n);function n(){var e;i()(this,n);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=t.call.apply(t,[this].concat(o)),y()(u()(e),"state",void 0),e}return a()(n,[{key:"initializeState",value:function(){var e,t=this.context.gl;if(!ce.isSupported(t))return this.setState({supported:!1}),void x.log.error("ScreenGridLayer: ".concat(this.id," is not supported on this browser"))();c()(v()(n.prototype),"initializeAggregationLayer",this).call(this,{dimensions:it,getCellSize:function(e){return e.cellSizePixels}});var r={count:{size:1,operation:D.SUM,needMax:!0,maxTexture:G(t,{id:"".concat(this.id,"-max-texture")})}};this.setState({supported:!0,projectPoints:!0,weights:r,subLayerData:{attributes:{}},maxTexture:r.count.maxTexture,positionAttributeName:"positions",posOffset:[0,0],translation:[1,-1]}),this.getAttributeManager().add((e={},y()(e,"positions",{size:3,accessor:"getPosition",type:5130,fp64:this.use64bitPositions()}),y()(e,"count",{size:3,accessor:"getWeight"}),e))}},{key:"shouldUpdateState",value:function(e){var t=e.changeFlags;return this.state.supported&&t.somethingChanged}},{key:"updateState",value:function(e){c()(v()(n.prototype),"updateState",this).call(this,e)}},{key:"renderLayers",value:function(){if(!this.state.supported)return[];var e=this.state,t=e.maxTexture,n=e.numRow,r=e.numCol,i=e.weights,o=this.props.updateTriggers,a=i.count.aggregationBuffer;return new(this.getSubLayerClass("cells",ce))(this.props,this.getSubLayerProps({id:"cell-layer",updateTriggers:o}),{data:{attributes:{instanceCounts:a}},maxTexture:t,numInstances:n*r})}},{key:"finalizeState",value:function(e){c()(v()(n.prototype),"finalizeState",this).call(this,e);var t=this.state,r=t.aggregationBuffer,i=t.maxBuffer,o=t.maxTexture;null==r||r.delete(),null==i||i.delete(),null==o||o.delete()}},{key:"getPickingInfo",value:function(e){var t=e.info,n=t.index;if(n>=0){var r=this.state,i=r.gpuGridAggregator,o=r.gpuAggregation,a=r.weights,s=o?i.getData("count"):a.count;t.object=Z.getAggregationData(nt({pixelIndex:n},s))}return t}},{key:"updateResults",value:function(e){var t=e.aggregationData,n=e.maxData,r=this.state.weights.count;r.aggregationData=t,r.aggregationBuffer.setData({data:t}),r.maxData=n,r.maxTexture.setImageData({data:n})}},{key:"updateAggregationState",value:function(e){var t=e.props.cellSizePixels,n=e.oldProps.cellSizePixels!==t,r=e.changeFlags.viewportChanged,i=e.props.gpuAggregation;this.state.gpuAggregation!==e.props.gpuAggregation&&i&&!Z.isSupported(this.context.gl)&&(x.log.warn("GPU Grid Aggregation not supported, falling back to CPU")(),i=!1);var o=i!==this.state.gpuAggregation;this.setState({gpuAggregation:i});var a=this.isAttributeChanged("positions"),s=this.state.dimensions,u=s.data,l=s.weights,c=a||o||r||this.isAggregationDirty(e,{compareAll:i,dimension:u}),g=this.isAggregationDirty(e,{dimension:l});this.setState({aggregationDataDirty:c,aggregationWeightsDirty:g});var f=this.context.viewport;if(r||n){var d=f.width,p=f.height,h=Math.ceil(d/t),v=Math.ceil(p/t);this.allocateResources(v,h),this.setState({scaling:[d/2,-p/2,1],gridOffset:{xOffset:t,yOffset:t},width:d,height:p,numCol:h,numRow:v})}g&&this._updateAccessors(e),(c||g)&&this._resetResults()}},{key:"_updateAccessors",value:function(e){var t=e.props,n=t.getWeight,r=t.aggregation,i=t.data,o=this.state.weights.count;o&&(o.getWeight=n,o.operation=D[r]),this.setState({getValue:j(r,n,{data:i})})}},{key:"_resetResults",value:function(){var e=this.state.weights.count;e&&(e.aggregationData=null)}}]),n}(Je);y()(ot,"layerName","ScreenGridLayer"),y()(ot,"defaultProps",rt);var at=n(11),st=n.n(at);function ut(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function lt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ut(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ut(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ct(){}var gt=["getBins","getDomain","getScaleFunc"],ft=[{key:"fillColor",accessor:"getFillColor",pickingInfo:"colorValue",getBins:{triggers:{value:{prop:"getColorValue",updateTrigger:"getColorValue"},weight:{prop:"getColorWeight",updateTrigger:"getColorWeight"},aggregation:{prop:"colorAggregation"},filterData:{prop:"_filterData",updateTrigger:"_filterData"}}},getDomain:{triggers:{lowerPercentile:{prop:"lowerPercentile"},upperPercentile:{prop:"upperPercentile"},scaleType:{prop:"colorScaleType"}}},getScaleFunc:{triggers:{domain:{prop:"colorDomain"},range:{prop:"colorRange"}},onSet:{props:"onSetColorDomain"}},nullValue:[0,0,0,0]},{key:"elevation",accessor:"getElevation",pickingInfo:"elevationValue",getBins:{triggers:{value:{prop:"getElevationValue",updateTrigger:"getElevationValue"},weight:{prop:"getElevationWeight",updateTrigger:"getElevationWeight"},aggregation:{prop:"elevationAggregation"},filterData:{prop:"_filterData",updateTrigger:"_filterData"}}},getDomain:{triggers:{lowerPercentile:{prop:"elevationLowerPercentile"},upperPercentile:{prop:"elevationUpperPercentile"},scaleType:{prop:"elevationScaleType"}}},getScaleFunc:{triggers:{domain:{prop:"elevationDomain"},range:{prop:"elevationRange"}},onSet:{props:"onSetElevationDomain"}},nullValue:-1}],dt=function(e){return e.cellSize},pt=function(){function e(t){i()(this,e),this.state={layerData:{},dimensions:{}},this.changeFlags={},this.dimensionUpdaters={},this._getCellSize=t.getCellSize||dt,this._getAggregator=t.getAggregator,this._addDimension(t.dimensions||ft)}return a()(e,[{key:"updateState",value:function(e,t){var n=e.oldProps,r=e.props,i=e.changeFlags;this.updateGetValueFuncs(n,r,i);var o=this.needsReProjectPoints(n,r,i),a=!1;i.dataChanged||o?(this.getAggregatedData(r,t),a=!0):((this.getDimensionChanges(n,r,i)||[]).forEach((function(e){return"function"==typeof e&&e()})),a=!0);return this.setState({aggregationDirty:a}),this.state}},{key:"setState",value:function(e){this.state=lt(lt({},this.state),e)}},{key:"setDimensionState",value:function(e,t){this.setState({dimensions:lt(lt({},this.state.dimensions),{},y()({},e,lt(lt({},this.state.dimensions[e]),t)))})}},{key:"normalizeResult",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.hexagons?lt({data:e.hexagons},e):e.layerData?lt({data:e.layerData},e):e}},{key:"getAggregatedData",value:function(e,t){var n=this._getAggregator(e)(e,t);this.setState({layerData:this.normalizeResult(n)}),this.changeFlags={layerData:!0},this.getSortedBins(e)}},{key:"updateGetValueFuncs",value:function(e,t,n){for(var r in this.dimensionUpdaters){var i=this.dimensionUpdaters[r].getBins.triggers,o=i.value,a=i.weight,s=i.aggregation,u=t[o.prop];this.needUpdateDimensionStep(this.dimensionUpdaters[r].getBins,e,t,n)&&(u=u?R(u,{data:t.data}):j(t[s.prop],t[a.prop],{data:t.data})),u&&this.setDimensionState(r,{getValue:u})}}},{key:"needsReProjectPoints",value:function(e,t,n){return this._getCellSize(e)!==this._getCellSize(t)||this._getAggregator(e)!==this._getAggregator(t)||n.updateTriggersChanged&&(n.updateTriggersChanged.all||n.updateTriggersChanged.getPosition)}},{key:"addDimension",value:function(e){this._addDimension(e)}},{key:"_addDimension",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.forEach((function(t){var n=t.key;e.dimensionUpdaters[n]=e.getDimensionUpdaters(t),e.state.dimensions[n]={getValue:null,domain:null,sortedBins:null,scaleFunc:ct}}))}},{key:"getDimensionUpdaters",value:function(e){var t=e.key,n=e.accessor,r=e.pickingInfo,i=e.getBins,o=e.getDomain,a=e.getScaleFunc,s=e.nullValue;return{key:t,accessor:n,pickingInfo:r,getBins:lt({updater:this.getDimensionSortedBins},i),getDomain:lt({updater:this.getDimensionValueDomain},o),getScaleFunc:lt({updater:this.getDimensionScale},a),attributeAccessor:this.getSubLayerDimensionAttribute(t,s)}}},{key:"needUpdateDimensionStep",value:function(e,t,n,r){return Object.values(e.triggers).some((function(e){return e.updateTrigger?r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged[e.updateTrigger]):t[e.prop]!==n[e.prop]}))}},{key:"getDimensionChanges",value:function(e,t,n){var r=this,i=[],o=function(o){var a=gt.find((function(i){return r.needUpdateDimensionStep(r.dimensionUpdaters[o][i],e,t,n)}));a&&i.push(r.dimensionUpdaters[o][a].updater.bind(r,t,r.dimensionUpdaters[o]))};for(var a in this.dimensionUpdaters)o(a);return i.length?i:null}},{key:"getUpdateTriggers",value:function(e){var t=this,n=e.updateTriggers||{},r={},i=function(i){var o=t.dimensionUpdaters[i].accessor;r[o]={},gt.forEach((function(a){Object.values(t.dimensionUpdaters[i][a].triggers).forEach((function(t){var i=t.prop,a=t.updateTrigger;if(a){var s=n[a];"object"!==st()(s)||Array.isArray(s)?void 0!==s&&(r[o][i]=s):Object.assign(r[o],s)}else r[o][i]=e[i]}))}))};for(var o in this.dimensionUpdaters)i(o);return r}},{key:"getSortedBins",value:function(e){for(var t in this.dimensionUpdaters)this.getDimensionSortedBins(e,this.dimensionUpdaters[t])}},{key:"getDimensionSortedBins",value:function(e,t){var n=t.key,r=this.state.dimensions[n].getValue,i=new Ie(this.state.layerData.data||[],{getValue:r,filterData:e._filterData});this.setDimensionState(n,{sortedBins:i}),this.getDimensionValueDomain(e,t)}},{key:"getDimensionValueDomain",value:function(e,t){var n=t.getDomain,r=t.key,i=n.triggers,o=i.lowerPercentile,a=i.upperPercentile,s=i.scaleType,u=this.state.dimensions[r].sortedBins.getValueDomainByScale(e[s.prop],[e[o.prop],e[a.prop]]);this.setDimensionState(r,{valueDomain:u}),this.getDimensionScale(e,t)}},{key:"getDimensionScale",value:function(e,t){var n=t.key,r=t.getScaleFunc,i=t.getDomain,o=r.triggers,a=o.domain,s=o.range,u=i.triggers.scaleType,l=r.onSet,c=e[s.prop],g=e[a.prop]||this.state.dimensions[n].valueDomain,f=function(e){switch(e){case"quantize":return Se;case"linear":return Oe;case"quantile":return we;case"ordinal":return _e;default:return Se}}(u&&e[u.prop])(g,c);"object"===st()(l)&&"function"==typeof e[l.props]&&e[l.props](f.domain()),this.setDimensionState(n,{scaleFunc:f})}},{key:"getSubLayerDimensionAttribute",value:function(e,t){var n=this;return function(r){var i=n.state.dimensions[e],o=i.sortedBins,a=i.scaleFunc,s=o.binMap[r.index];if(s&&0===s.counts)return t;var u=s&&s.value,l=a.domain();return u>=l[0]&&u<=l[l.length-1]?a(u):t}}},{key:"getSubLayerAccessors",value:function(e){var t={};for(var n in this.dimensionUpdaters){t[this.dimensionUpdaters[n].accessor]=this.getSubLayerDimensionAttribute(e,n)}return t}},{key:"getPickingInfo",value:function(e){var t=e.info,n=null;if(t.picked&&t.index>-1){var r=this.state.layerData.data[t.index],i={};for(var o in this.dimensionUpdaters){var a=this.dimensionUpdaters[o].pickingInfo,s=this.state.dimensions[o].sortedBins,u=s.binMap[r.index]&&s.binMap[r.index].value;i[a]=u}n=Object.assign(i,r,{points:r.filteredPoints||r.points})}return t.picked=Boolean(n),t.object=n,t}},{key:"getAccessor",value:function(e){return this.dimensionUpdaters.hasOwnProperty(e)?this.dimensionUpdaters[e].attributeAccessor:ct}}],[{key:"defaultDimensions",value:function(){return ft}}]),e}();function ht(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}function vt(){}var mt={colorDomain:null,colorRange:te,getColorValue:{type:"accessor",value:null},getColorWeight:{type:"accessor",value:1},colorAggregation:"SUM",lowerPercentile:{type:"number",min:0,max:100,value:0},upperPercentile:{type:"number",min:0,max:100,value:100},colorScaleType:"quantize",onSetColorDomain:vt,elevationDomain:null,elevationRange:[0,1e3],getElevationValue:{type:"accessor",value:null},getElevationWeight:{type:"accessor",value:1},elevationAggregation:"SUM",elevationLowerPercentile:{type:"number",min:0,max:100,value:0},elevationUpperPercentile:{type:"number",min:0,max:100,value:100},elevationScale:{type:"number",min:0,value:1},elevationScaleType:"linear",onSetElevationDomain:vt,gridAggregator:Ke,cellSize:{type:"number",min:0,max:1e3,value:1e3},coverage:{type:"number",min:0,max:1,value:1},getPosition:{type:"accessor",value:function(e){return e.position}},extruded:!1,material:!0,_filterData:{type:"function",value:null,optional:!0}},yt=function(e){f()(n,e);var t=ht(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"initializeState",value:function(){var e=new pt({getAggregator:function(e){return e.gridAggregator},getCellSize:function(e){return e.cellSize}});this.state={cpuAggregator:e,aggregatorState:e.state},this.getAttributeManager().add({positions:{size:3,type:5130,accessor:"getPosition"}})}},{key:"updateState",value:function(e){c()(v()(n.prototype),"updateState",this).call(this,e),this.setState({aggregatorState:this.state.cpuAggregator.updateState(e,{viewport:this.context.viewport,attributes:this.getAttributes(),numInstances:this.getNumInstances()})})}},{key:"getPickingInfo",value:function(e){var t=e.info;return this.state.cpuAggregator.getPickingInfo({info:t})}},{key:"_onGetSublayerColor",value:function(e){return this.state.cpuAggregator.getAccessor("fillColor")(e)}},{key:"_onGetSublayerElevation",value:function(e){return this.state.cpuAggregator.getAccessor("elevation")(e)}},{key:"_getSublayerUpdateTriggers",value:function(){return this.state.cpuAggregator.getUpdateTriggers(this.props)}},{key:"renderLayers",value:function(){var e=this.props,t=e.elevationScale,n=e.extruded,r=e.cellSize,i=e.coverage,o=e.material,a=e.transitions,s=this.state.cpuAggregator,u=this.getSubLayerClass("grid-cell",x.GridCellLayer),l=this._getSublayerUpdateTriggers();return new u({cellSize:r,coverage:i,material:o,elevationScale:t,extruded:n,getFillColor:this._onGetSublayerColor.bind(this),getElevation:this._onGetSublayerElevation.bind(this),transitions:a&&{getFillColor:a.getColorValue||a.getColorWeight,getElevation:a.getElevationValue||a.getElevationWeight}},this.getSubLayerProps({id:"grid-cell",updateTriggers:l}),{data:s.state.layerData.data})}}]),n}(he);y()(yt,"layerName","CPUGridLayer"),y()(yt,"defaultProps",mt);var xt=Math.PI/3,bt=[0,xt,2*xt,3*xt,4*xt,5*xt];function St(e){return e[0]}function Ot(e){return e[1]}function wt(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return At(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return At(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function At(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Pt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _t(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Pt(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Mt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}function Dt(){}var Ct,Tt={colorDomain:null,colorRange:te,getColorValue:{type:"accessor",value:null},getColorWeight:{type:"accessor",value:1},colorAggregation:"SUM",lowerPercentile:{type:"number",value:0,min:0,max:100},upperPercentile:{type:"number",value:100,min:0,max:100},colorScaleType:"quantize",onSetColorDomain:Dt,elevationDomain:null,elevationRange:[0,1e3],getElevationValue:{type:"accessor",value:null},getElevationWeight:{type:"accessor",value:1},elevationAggregation:"SUM",elevationLowerPercentile:{type:"number",value:0,min:0,max:100},elevationUpperPercentile:{type:"number",value:100,min:0,max:100},elevationScale:{type:"number",min:0,value:1},elevationScaleType:"linear",onSetElevationDomain:Dt,radius:{type:"number",value:1e3,min:1},coverage:{type:"number",min:0,max:1,value:1},extruded:!1,hexagonAggregator:function(e,t){var n,r=e.data,i=e.radius,o=t.viewport,a=t.attributes,s=r.length?function(e,t){var n,r=t.attributes,i=r.positions.value,o=r.positions.getAccessor().size,a=1/0,s=1/0,u=-1/0,l=-1/0;for(n=0;n<o*e.length;n+=o){var c=i[n],g=i[n+1];Number.isFinite(c)&&Number.isFinite(g)&&(a=Math.min(c,a),u=Math.max(c,u),s=Math.min(g,s),l=Math.max(g,l))}return[a,s,u,l].every(Number.isFinite)?[(a+u)/2,(s+l)/2]:null}(r,t):null,u=function(e,t,n){var r=t.getDistanceScales(n).unitsPerMeter;return e*r[0]}(i,o,s),l=[],c=Object(x.createIterable)(r),g=c.iterable,f=c.objectInfo,d=a.positions.value,p=a.positions.getAccessor().size,h=wt(g);try{for(h.s();!(n=h.n()).done;){var v=n.value;f.index++;var m=f.index*p,y=[d[m],d[m+1]];Number.isFinite(y[0])&&Number.isFinite(y[1])?l.push({screenCoord:o.projectFlat(y),source:v,index:f.index}):x.log.warn("HexagonLayer: invalid position")()}}catch(e){h.e(e)}finally{h.f()}return{hexagons:function(){var e,t,n,r=0,i=0,o=1,a=1,s=St,u=Ot;function l(e){var r,i={},o=[],a=e.length;for(r=0;r<a;++r)if(!isNaN(c=+s.call(null,l=e[r],r,e))&&!isNaN(g=+u.call(null,l,r,e))){var l,c,g,f=Math.round(g/=n),d=Math.round(c=c/t-(1&f)/2),p=g-f;if(3*Math.abs(p)>1){var h=c-d,v=d+(c<d?-1:1)/2,m=f+(g<f?-1:1),y=c-v,x=g-m;h*h+p*p>y*y+x*x&&(d=v+(1&f?1:-1)/2,f=m)}var b=d+"-"+f,S=i[b];S?S.push(l):(o.push(S=i[b]=[l]),S.x=(d+(1&f)/2)*t,S.y=f*n)}return o}function c(e){var t=0,n=0;return bt.map((function(r){var i=Math.sin(r)*e,o=-Math.cos(r)*e,a=i-t,s=o-n;return t=i,n=o,[a,s]}))}return l.hexagon=function(t){return"m"+c(null==t?e:+t).join("l")+"z"},l.centers=function(){for(var s=[],u=Math.round(i/n),l=Math.round(r/t),c=u*n;c<a+e;c+=n,++u)for(var g=l*t+(1&u)*t/2;g<o+t/2;g+=t)s.push([g,c]);return s},l.mesh=function(){var t=c(e).slice(0,4).join("l");return l.centers().map((function(e){return"M"+e+"m"+t})).join("")},l.x=function(e){return arguments.length?(s=e,l):s},l.y=function(e){return arguments.length?(u=e,l):u},l.radius=function(r){return arguments.length?(t=2*(e=+r)*Math.sin(xt),n=1.5*e,l):e},l.size=function(e){return arguments.length?(r=i=0,o=+e[0],a=+e[1],l):[o-r,a-i]},l.extent=function(e){return arguments.length?(r=+e[0][0],i=+e[0][1],o=+e[1][0],a=+e[1][1],l):[[r,i],[o,a]]},l.radius(1)}().radius(u).x((function(e){return e.screenCoord[0]})).y((function(e){return e.screenCoord[1]}))(l).map((function(e,t){return{position:o.unprojectFlat([e.x,e.y]),points:e,index:t}})),radiusCommon:u}},getPosition:{type:"accessor",value:function(e){return e.position}},material:!0,_filterData:{type:"function",value:null,optional:!0}},Et=function(e){f()(n,e);var t=Mt(n);function n(){var e;i()(this,n);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=t.call.apply(t,[this].concat(o)),y()(u()(e),"state",void 0),e}return a()(n,[{key:"initializeState",value:function(){var e=new pt({getAggregator:function(e){return e.hexagonAggregator},getCellSize:function(e){return e.radius}});this.state={cpuAggregator:e,aggregatorState:e.state,vertices:null},this.getAttributeManager().add({positions:{size:3,type:5130,accessor:"getPosition"}})}},{key:"updateState",value:function(e){if(c()(v()(n.prototype),"updateState",this).call(this,e),e.changeFlags.propsOrDataChanged){var t=this.state.cpuAggregator.updateState(e,{viewport:this.context.viewport,attributes:this.getAttributes()});if(this.state.aggregatorState.layerData!==t.layerData){var r=(t.layerData||{}).hexagonVertices;this.setState({vertices:r&&this.convertLatLngToMeterOffset(r)})}this.setState({aggregatorState:t})}}},{key:"convertLatLngToMeterOffset",value:function(e){var t=this.context.viewport;if(Array.isArray(e)&&6===e.length){var n=e[0],r=e[3],i=[(n[0]+r[0])/2,(n[1]+r[1])/2],o=t.projectFlat(i),a=t.getDistanceScales(i).metersPerUnit;return e.map((function(e){var n=t.projectFlat(e);return[(n[0]-o[0])*a[0],(n[1]-o[1])*a[1]]}))}return x.log.error("HexagonLayer: hexagonVertices needs to be an array of 6 points")(),null}},{key:"getPickingInfo",value:function(e){var t=e.info;return this.state.cpuAggregator.getPickingInfo({info:t})}},{key:"_onGetSublayerColor",value:function(e){return this.state.cpuAggregator.getAccessor("fillColor")(e)}},{key:"_onGetSublayerElevation",value:function(e){return this.state.cpuAggregator.getAccessor("elevation")(e)}},{key:"_getSublayerUpdateTriggers",value:function(){return this.state.cpuAggregator.getUpdateTriggers(this.props)}},{key:"renderLayers",value:function(){var e=this.props,t=e.elevationScale,n=e.extruded,r=e.coverage,i=e.material,o=e.transitions,a=this.state,s=a.aggregatorState,u=a.vertices,l=this.getSubLayerClass("hexagon-cell",x.ColumnLayer),c=this._getSublayerUpdateTriggers();return new l(_t(_t({},u?{vertices:u,radius:1}:{radius:s.layerData.radiusCommon||1,radiusUnits:"common",angle:90}),{},{diskResolution:6,elevationScale:t,extruded:n,coverage:r,material:i,getFillColor:this._onGetSublayerColor.bind(this),getElevation:this._onGetSublayerElevation.bind(this),transitions:o&&{getFillColor:o.getColorValue||o.getColorWeight,getElevation:o.getElevationValue||o.getElevationWeight}}),this.getSubLayerProps({id:"hexagon-cell",updateTriggers:c}),{data:s.layerData.data})}}]),n}(he);y()(Et,"layerName","HexagonLayer"),y()(Et,"defaultProps",Tt);var jt={N:[0,.5],E:[.5,0],S:[0,-.5],W:[-.5,0],NE:[.5,.5],NW:[-.5,.5],SE:[.5,-.5],SW:[-.5,-.5]},Rt=[jt.W,jt.SW,jt.S],kt=[jt.S,jt.SE,jt.E],Nt=[jt.E,jt.NE,jt.N],Bt=[jt.NW,jt.W,jt.N],zt=[[-.5,1/6],[-.5,-1/6],[-1/6,-.5],[1/6,-.5]],It=[[-1/6,-.5],[1/6,-.5],[.5,-1/6],[.5,1/6]],Ft=[[.5,-1/6],[.5,1/6],[1/6,.5],[-1/6,.5]],Ut=[[-.5,1/6],[-.5,-1/6],[1/6,.5],[-1/6,.5]],Lt=[jt.W,jt.SW,jt.SE,jt.E],Wt=[jt.S,jt.SE,jt.NE,jt.N],Gt=[jt.NW,jt.W,jt.E,jt.NE],Vt=[jt.NW,jt.SW,jt.S,jt.N],Ht=[[-.5,1/6],[-.5,-1/6],[.5,-1/6],[.5,1/6]],qt=[[-1/6,-.5],[1/6,-.5],[1/6,.5],[-1/6,.5]],Yt=[jt.NW,jt.SW,jt.SE,jt.NE],Xt=[jt.NW,jt.SW,jt.SE,jt.E,jt.N],Kt=[jt.W,jt.SW,jt.SE,jt.NE,jt.N],$t=[jt.NW,jt.W,jt.S,jt.SE,jt.NE],Qt=[jt.NW,jt.SW,jt.S,jt.E,jt.NE],Zt=[jt.NW,jt.W,[.5,-1/6],[.5,1/6],jt.N],Jt=[[-1/6,-.5],[1/6,-.5],jt.E,jt.NE,jt.N],en=[[-.5,1/6],[-.5,-1/6],jt.S,jt.SE,jt.E],tn=[jt.W,jt.SW,jt.S,[1/6,.5],[-1/6,.5]],nn=[jt.NW,jt.W,[-1/6,-.5],[1/6,-.5],jt.N],rn=[[-.5,1/6],[-.5,-1/6],jt.E,jt.NE,jt.N],on=[jt.S,jt.SE,jt.E,[1/6,.5],[-1/6,.5]],an=[jt.W,jt.SW,jt.S,[.5,-1/6],[.5,1/6]],sn=[jt.W,jt.SW,jt.SE,jt.E,[1/6,.5],[-1/6,.5]],un=[[-.5,1/6],[-.5,-1/6],jt.S,jt.SE,jt.NE,jt.N],ln=[jt.NW,jt.W,[-1/6,-.5],[1/6,-.5],jt.E,jt.NE],cn=[jt.NW,jt.SW,jt.S,[.5,-1/6],[.5,1/6],jt.N],gn=[jt.W,jt.SW,jt.S,jt.E,jt.NE,jt.N],fn=[jt.NW,jt.W,jt.S,jt.SE,jt.E,jt.N],dn=[[-.5,1/6],[-.5,-1/6],[-1/6,-.5],[1/6,-.5],jt.E,jt.NE,jt.N],pn=[jt.W,jt.SW,jt.S,[.5,-1/6],[.5,1/6],[1/6,.5],[-1/6,.5]],hn=[jt.NW,jt.W,[-1/6,-.5],[1/6,-.5],[.5,-1/6],[.5,1/6],jt.N],vn=[[-.5,1/6],[-.5,-1/6],jt.S,jt.SE,jt.E,[1/6,.5],[-1/6,.5]],mn=[[-.5,1/6],[-.5,-1/6],[-1/6,-.5],[1/6,-.5],[.5,-1/6],[.5,1/6],[1/6,.5],[-1/6,.5]],yn={0:[],1:[[jt.W,jt.S]],2:[[jt.S,jt.E]],3:[[jt.W,jt.E]],4:[[jt.N,jt.E]],5:{0:[[jt.W,jt.S],[jt.N,jt.E]],1:[[jt.W,jt.N],[jt.S,jt.E]]},6:[[jt.N,jt.S]],7:[[jt.W,jt.N]],8:[[jt.W,jt.N]],9:[[jt.N,jt.S]],10:{0:[[jt.W,jt.N],[jt.S,jt.E]],1:[[jt.W,jt.S],[jt.N,jt.E]]},11:[[jt.N,jt.E]],12:[[jt.W,jt.E]],13:[[jt.S,jt.E]],14:[[jt.W,jt.S]],15:[]};function xn(e){return parseInt(e,4)}var bn=(Ct={},y()(Ct,xn("0000"),[]),y()(Ct,xn("2222"),[]),y()(Ct,xn("2221"),[Rt]),y()(Ct,xn("2212"),[kt]),y()(Ct,xn("2122"),[Nt]),y()(Ct,xn("1222"),[Bt]),y()(Ct,xn("0001"),[Rt]),y()(Ct,xn("0010"),[kt]),y()(Ct,xn("0100"),[Nt]),y()(Ct,xn("1000"),[Bt]),y()(Ct,xn("2220"),[zt]),y()(Ct,xn("2202"),[It]),y()(Ct,xn("2022"),[Ft]),y()(Ct,xn("0222"),[Ut]),y()(Ct,xn("0002"),[zt]),y()(Ct,xn("0020"),[It]),y()(Ct,xn("0200"),[Ft]),y()(Ct,xn("2000"),[Ut]),y()(Ct,xn("0011"),[Lt]),y()(Ct,xn("0110"),[Wt]),y()(Ct,xn("1100"),[Gt]),y()(Ct,xn("1001"),[Vt]),y()(Ct,xn("2211"),[Lt]),y()(Ct,xn("2112"),[Wt]),y()(Ct,xn("1122"),[Gt]),y()(Ct,xn("1221"),[Vt]),y()(Ct,xn("2200"),[Ht]),y()(Ct,xn("2002"),[qt]),y()(Ct,xn("0022"),[Ht]),y()(Ct,xn("0220"),[qt]),y()(Ct,xn("1111"),[Yt]),y()(Ct,xn("1211"),[Xt]),y()(Ct,xn("2111"),[Kt]),y()(Ct,xn("1112"),[$t]),y()(Ct,xn("1121"),[Qt]),y()(Ct,xn("1011"),[Xt]),y()(Ct,xn("0111"),[Kt]),y()(Ct,xn("1110"),[$t]),y()(Ct,xn("1101"),[Qt]),y()(Ct,xn("1200"),[Zt]),y()(Ct,xn("0120"),[Jt]),y()(Ct,xn("0012"),[en]),y()(Ct,xn("2001"),[tn]),y()(Ct,xn("1022"),[Zt]),y()(Ct,xn("2102"),[Jt]),y()(Ct,xn("2210"),[en]),y()(Ct,xn("0221"),[tn]),y()(Ct,xn("1002"),[nn]),y()(Ct,xn("2100"),[rn]),y()(Ct,xn("0210"),[on]),y()(Ct,xn("0021"),[an]),y()(Ct,xn("1220"),[nn]),y()(Ct,xn("0122"),[rn]),y()(Ct,xn("2012"),[on]),y()(Ct,xn("2201"),[an]),y()(Ct,xn("0211"),[sn]),y()(Ct,xn("2110"),[un]),y()(Ct,xn("1102"),[ln]),y()(Ct,xn("1021"),[cn]),y()(Ct,xn("2011"),[sn]),y()(Ct,xn("0112"),[un]),y()(Ct,xn("1120"),[ln]),y()(Ct,xn("1201"),[cn]),y()(Ct,xn("2101"),[gn]),y()(Ct,xn("0121"),[gn]),y()(Ct,xn("1012"),[fn]),y()(Ct,xn("1210"),[fn]),y()(Ct,xn("0101"),{0:[Rt,Nt],1:[gn],2:[gn]}),y()(Ct,xn("1010"),{0:[Bt,kt],1:[fn],2:[fn]}),y()(Ct,xn("2121"),{0:[gn],1:[gn],2:[Rt,Nt]}),y()(Ct,xn("1212"),{0:[fn],1:[fn],2:[Bt,kt]}),y()(Ct,xn("2120"),{0:[dn],1:[dn],2:[zt,Nt]}),y()(Ct,xn("2021"),{0:[pn],1:[pn],2:[Rt,Ft]}),y()(Ct,xn("1202"),{0:[hn],1:[hn],2:[Bt,It]}),y()(Ct,xn("0212"),{0:[vn],1:[vn],2:[kt,Ut]}),y()(Ct,xn("0102"),{0:[zt,Nt],1:[dn],2:[dn]}),y()(Ct,xn("0201"),{0:[Rt,Ft],1:[pn],2:[pn]}),y()(Ct,xn("1020"),{0:[Bt,It],1:[hn],2:[hn]}),y()(Ct,xn("2010"),{0:[kt,Ut],1:[vn],2:[vn]}),y()(Ct,xn("2020"),{0:[Ut,It],1:[mn],2:[zt,Ft]}),y()(Ct,xn("0202"),{0:[Ft,zt],1:[mn],2:[Ut,It]}),Ct);function Sn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function On(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Sn(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Sn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var wn=1,An=2,Pn={zIndex:0,zOffset:.005};function _n(e,t){return Array.isArray(t)?e<t[0]?0:e<t[1]?1:2:e>=t?1:0}function Mn(e){var t=e.cellWeights,n=e.x,r=e.y,i=e.width,o=e.height,a=e.threshold;e.thresholdValue&&(x.log.deprecated("thresholdValue","threshold")(),a=e.thresholdValue);var s=n<0,u=n>=i-1,l=r<0,c=r>=o-1,g=s||u||l||c,f={},d={};s||c?d.top=0:(f.top=t[(r+1)*i+n],d.top=_n(f.top,a)),u||c?d.topRight=0:(f.topRight=t[(r+1)*i+n+1],d.topRight=_n(f.topRight,a)),u||l?d.right=0:(f.right=t[r*i+n+1],d.right=_n(f.right,a)),s||l?d.current=0:(f.current=t[r*i+n],d.current=_n(f.current,a));var p=d.top,h=d.topRight,v=d.right,m=d.current,y=-1;Number.isFinite(a)&&(y=p<<3|h<<2|v<<1|m),Array.isArray(a)&&(y=p<<6|h<<4|v<<2|m);var b=0;return g||(b=_n((f.top+f.topRight+f.right+f.current)/4,a)),{code:y,meanCode:b}}function Dn(e){var t=e.gridOrigin,n=e.cellSize,r=e.x,i=e.y,o=e.code,a=e.meanCode,s=e.type,u=void 0===s?wn:s,l=On(On({},Pn),e.thresholdData),c=u===An?bn[o]:yn[o];Array.isArray(c)||(c=c[a]);var g=l.zIndex*l.zOffset,f=(r+1)*n[0],d=(i+1)*n[1],p=t[0]+f,h=t[1]+d;if(u===An){var v=[];return c.forEach((function(e){var t=[];e.forEach((function(e){var r=p+e[0]*n[0],i=h+e[1]*n[1];t.push([r,i,g])})),v.push(t)})),v}var m=[];return c.forEach((function(e){e.forEach((function(e){var t=p+e[0]*n[0],r=h+e[1]*n[1];m.push([t,r,g])}))})),m}function Cn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Tn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Tn(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Tn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function En(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}var jn=[255,255,255,255],Rn={cellSize:{type:"number",min:1,max:1e3,value:1e3},getPosition:{type:"accessor",value:function(e){return e.position}},getWeight:{type:"accessor",value:1},gpuAggregation:!0,aggregation:"SUM",contours:[{threshold:1}],zOffset:.005},kn={data:{props:["cellSize"]},weights:{props:["aggregation"],accessors:["getWeight"]}},Nn=function(e){f()(n,e);var t=En(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"initializeState",value:function(){var e;c()(v()(n.prototype),"initializeAggregationLayer",this).call(this,{dimensions:kn}),this.setState({contourData:{},projectPoints:!1,weights:{count:{size:1,operation:D.SUM}}}),this.getAttributeManager().add((e={},y()(e,"positions",{size:3,accessor:"getPosition",type:5130,fp64:this.use64bitPositions()}),y()(e,"count",{size:3,accessor:"getWeight"}),e))}},{key:"updateState",value:function(e){c()(v()(n.prototype),"updateState",this).call(this,e);var t=!1,r=e.oldProps,i=e.props,o=this.state.aggregationDirty;r.contours===i.contours&&r.zOffset===i.zOffset||(t=!0,this._updateThresholdData(e.props)),this.getNumInstances()>0&&(o||t)&&this._generateContours()}},{key:"renderLayers",value:function(){var e=this.state.contourData,t=e.contourSegments,n=e.contourPolygons,r=this.getSubLayerClass("lines",x.LineLayer),i=this.getSubLayerClass("bands",x.SolidPolygonLayer);return[t&&t.length>0&&new r(this.getSubLayerProps({id:"lines"}),{data:this.state.contourData.contourSegments,getSourcePosition:function(e){return e.start},getTargetPosition:function(e){return e.end},getColor:function(e){return e.contour.color||jn},getWidth:function(e){return e.contour.strokeWidth||1}}),n&&n.length>0&&new i(this.getSubLayerProps({id:"bands"}),{data:this.state.contourData.contourPolygons,getPolygon:function(e){return e.vertices},getFillColor:function(e){return e.contour.color||jn}})]}},{key:"updateAggregationState",value:function(e){var t=e.props,n=e.oldProps,r=t.cellSize,i=t.coordinateSystem,o=this.context.viewport,a=n.cellSize!==r,s=t.gpuAggregation;this.state.gpuAggregation!==t.gpuAggregation&&s&&!Z.isSupported(this.context.gl)&&(x.log.warn("GPU Grid Aggregation not supported, falling back to CPU")(),s=!1);var u=s!==this.state.gpuAggregation;this.setState({gpuAggregation:s});var l=this.state.dimensions,c=this.isAttributeChanged("positions"),g=l.data,f=l.weights,d=this.state.boundingBox;if(c&&(d=Ue(this.getAttributes(),this.getNumInstances()),this.setState({boundingBox:d})),c||a){var p=Ge(d,r,o,i),h=p.gridOffset,v=p.translation,m=p.width,y=p.height,b=p.numCol,S=p.numRow;this.allocateResources(S,b),this.setState({gridOffset:h,boundingBox:d,translation:v,posOffset:v.slice(),gridOrigin:[-1*v[0],-1*v[1]],width:m,height:y,numCol:b,numRow:S})}var O=c||u||this.isAggregationDirty(e,{dimension:g,compareAll:s}),w=this.isAggregationDirty(e,{dimension:f});w&&this._updateAccessors(e),(O||w)&&this._resetResults(),this.setState({aggregationDataDirty:O,aggregationWeightsDirty:w})}},{key:"_updateAccessors",value:function(e){var t=e.props,n=t.getWeight,r=t.aggregation,i=t.data,o=this.state.weights.count;o&&(o.getWeight=n,o.operation=D[r]),this.setState({getValue:j(r,n,{data:i})})}},{key:"_resetResults",value:function(){var e=this.state.weights.count;e&&(e.aggregationData=null)}},{key:"_generateContours",value:function(){var e=this.state,t=e.numCol,n=e.numRow,r=e.gridOrigin,i=e.gridOffset,o=e.thresholdData,a=this.state.weights.count,s=a.aggregationData;s||(s=a.aggregationBuffer.getData(),a.aggregationData=s);var u=function(e){var t,n=e.thresholdData,r=e.cellWeights,i=e.gridSize,o=e.gridOrigin,a=e.cellSize,s=[],u=[],l=i[0],c=i[1],g=0,f=0,d=Cn(n);try{for(d.s();!(t=d.n()).done;)for(var p=t.value,h=p.contour,v=h.threshold,m=-1;m<l;m++)for(var y=-1;y<c;y++){var x=Mn({cellWeights:r,threshold:v,x:m,y:y,width:l,height:c}),b=x.code,S=x.meanCode,O={type:An,gridOrigin:o,cellSize:a,x:m,y:y,width:l,height:c,code:b,meanCode:S,thresholdData:p};if(Array.isArray(v)){O.type=An;var w,A=Cn(Dn(O));try{for(A.s();!(w=A.n()).done;){var P=w.value;u[f++]={vertices:P,contour:h}}}catch(e){A.e(e)}finally{A.f()}}else{O.type=wn;for(var _=Dn(O),M=0;M<_.length;M+=2)s[g++]={start:_[M],end:_[M+1],contour:h}}}}catch(e){d.e(e)}finally{d.f()}return{contourSegments:s,contourPolygons:u}}({thresholdData:o,cellWeights:Z.getCellData({countsData:s}).cellWeights,gridSize:[t,n],gridOrigin:r,cellSize:[i.xOffset,i.yOffset]});this.setState({contourData:u})}},{key:"_updateThresholdData",value:function(e){for(var t=e.contours,n=e.zOffset,r=t.length,i=new Array(r),o=0;o<r;o++){var a=t[o];i[o]={contour:a,zIndex:a.zIndex||o,zOffset:n}}this.setState({thresholdData:i})}}]),n}(Je);y()(Nn,"layerName","ContourLayer"),y()(Nn,"defaultProps",Rn);function Bn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function zn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Bn(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Bn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function In(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}var Fn={colorDomain:null,colorRange:te,elevationDomain:null,elevationRange:[0,1e3],elevationScale:{type:"number",min:0,value:1},gridSize:{type:"array",value:[1,1]},gridOrigin:{type:"array",value:[0,0]},gridOffset:{type:"array",value:[0,0]},cellSize:{type:"number",min:0,max:1e3,value:1e3},offset:{type:"array",value:[1,1]},coverage:{type:"number",min:0,max:1,value:1},extruded:!0,material:!0},Un=function(e){f()(n,e);var t=In(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"getShaders",value:function(){return c()(v()(n.prototype),"getShaders",this).call(this,{vs:"#version 300 es\n#define SHADER_NAME gpu-grid-cell-layer-vertex-shader\n#define RANGE_COUNT 6\n\nin vec3 positions;\nin vec3 normals;\n\nin vec4 colors;\nin vec4 elevations;\nin vec3 instancePickingColors;\n\n// Custom uniforms\nuniform vec2 offset;\nuniform bool extruded;\nuniform float cellSize;\nuniform float coverage;\nuniform float opacity;\nuniform float elevationScale;\n\nuniform ivec2 gridSize;\nuniform vec2 gridOrigin;\nuniform vec2 gridOriginLow;\nuniform vec2 gridOffset;\nuniform vec2 gridOffsetLow;\nuniform vec4 colorRange[RANGE_COUNT];\nuniform vec2 elevationRange;\n\n// Domain uniforms\nuniform vec2 colorDomain;\nuniform bool colorDomainValid;\nuniform vec2 elevationDomain;\nuniform bool elevationDomainValid;\n\nlayout(std140) uniform;\nuniform ColorData\n{\n vec4 maxMinCount;\n} colorData;\nuniform ElevationData\n{\n vec4 maxMinCount;\n} elevationData;\n\n#define EPSILON 0.00001\n\n// Result\nout vec4 vColor;\n\nvec4 quantizeScale(vec2 domain, vec4 range[RANGE_COUNT], float value) {\n vec4 outColor = vec4(0., 0., 0., 0.);\n if (value >= (domain.x - EPSILON) && value <= (domain.y + EPSILON)) {\n float domainRange = domain.y - domain.x;\n if (domainRange <= 0.) {\n outColor = colorRange[0];\n } else {\n float rangeCount = float(RANGE_COUNT);\n float rangeStep = domainRange / rangeCount;\n float idx = floor((value - domain.x) / rangeStep);\n idx = clamp(idx, 0., rangeCount - 1.);\n int intIdx = int(idx);\n outColor = colorRange[intIdx];\n }\n }\n return outColor;\n}\n\nfloat linearScale(vec2 domain, vec2 range, float value) {\n if (value >= (domain.x - EPSILON) && value <= (domain.y + EPSILON)) {\n return ((value - domain.x) / (domain.y - domain.x)) * (range.y - range.x) + range.x;\n }\n return -1.;\n}\n\nvoid main(void) {\n vec2 clrDomain = colorDomainValid ? colorDomain : vec2(colorData.maxMinCount.a, colorData.maxMinCount.r);\n vec4 color = quantizeScale(clrDomain, colorRange, colors.r);\n\n float elevation = 0.0;\n\n if (extruded) {\n vec2 elvDomain = elevationDomainValid ? elevationDomain : vec2(elevationData.maxMinCount.a, elevationData.maxMinCount.r);\n elevation = linearScale(elvDomain, elevationRange, elevations.r);\n elevation = elevation * (positions.z + 1.0) / 2.0 * elevationScale;\n }\n\n // if aggregated color or elevation is 0 do not render\n float shouldRender = float(color.r > 0.0 && elevations.r >= 0.0);\n float dotRadius = cellSize / 2. * coverage * shouldRender;\n\n int yIndex = (gl_InstanceID / gridSize[0]);\n int xIndex = gl_InstanceID - (yIndex * gridSize[0]);\n\n vec2 instancePositionXFP64 = mul_fp64(vec2(gridOffset[0], gridOffsetLow[0]), vec2(float(xIndex), 0.));\n instancePositionXFP64 = sum_fp64(instancePositionXFP64, vec2(gridOrigin[0], gridOriginLow[0]));\n vec2 instancePositionYFP64 = mul_fp64(vec2(gridOffset[1], gridOffsetLow[1]), vec2(float(yIndex), 0.));\n instancePositionYFP64 = sum_fp64(instancePositionYFP64, vec2(gridOrigin[1], gridOriginLow[1]));\n\n vec3 centroidPosition = vec3(instancePositionXFP64[0], instancePositionYFP64[0], elevation);\n vec3 centroidPosition64Low = vec3(instancePositionXFP64[1], instancePositionYFP64[1], 0.0);\n geometry.worldPosition = centroidPosition;\n vec3 pos = vec3(project_size(positions.xy + offset) * dotRadius, 0.);\n\n // Set color to be rendered to picking fbo (also used to check for selection highlight).\n picking_setPickingColor(instancePickingColors);\n\n gl_Position = project_position_to_clipspace(centroidPosition, centroidPosition64Low, pos, geometry.position);\n\n // Light calculations\n // Worldspace is the linear space after Mercator projection\n\n vec3 normals_commonspace = project_normal(normals);\n\n if (extruded) {\n vec3 lightColor = lighting_getLightColor(color.rgb, project_uCameraPosition, geometry.position.xyz, normals_commonspace);\n vColor = vec4(lightColor, color.a * opacity) / 255.;\n } else {\n vColor = vec4(color.rgb, color.a * opacity) / 255.;\n }\n}\n",fs:"#version 300 es\n#define SHADER_NAME gpu-grid-cell-layer-fragment-shader\n\nprecision highp float;\n\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n fragColor = vColor;\n fragColor = picking_filterColor(fragColor);\n}\n",modules:[x.project32,x.gouraudLighting,x.picking,M]})}},{key:"initializeState",value:function(e){var t=e.gl;this.getAttributeManager().addInstanced({colors:{size:4,noAlloc:!0},elevations:{size:4,noAlloc:!0}});var n=this._getModel(t);this._setupUniformBuffer(n),this.setState({model:n})}},{key:"_getModel",value:function(e){return new b.Model(e,zn(zn({},this.getShaders()),{},{id:this.props.id,geometry:new b.CubeGeometry,isInstanced:!0}))}},{key:"draw",value:function(e){var t=e.uniforms,n=this.props,r=n.cellSize,i=n.offset,o=n.extruded,a=n.elevationScale,s=n.coverage,u=n.gridSize,l=n.gridOrigin,c=n.gridOffset,g=n.elevationRange,f=n.colorMaxMinBuffer,d=n.elevationMaxMinBuffer,p=[Object(x.fp64LowPart)(l[0]),Object(x.fp64LowPart)(l[1])],h=[Object(x.fp64LowPart)(c[0]),Object(x.fp64LowPart)(c[1])],v=this.getDomainUniforms(),m=ne(this.props.colorRange);this.bindUniformBuffers(f,d),this.state.model.setUniforms(t).setUniforms(v).setUniforms({cellSize:r,offset:i,extruded:o,elevationScale:a,coverage:s,gridSize:u,gridOrigin:l,gridOriginLow:p,gridOffset:c,gridOffsetLow:h,colorRange:m,elevationRange:g}).draw(),this.unbindUniformBuffers(f,d)}},{key:"bindUniformBuffers",value:function(e,t){e.bind({target:35345,index:0}),t.bind({target:35345,index:1})}},{key:"unbindUniformBuffers",value:function(e,t){e.unbind({target:35345,index:0}),t.unbind({target:35345,index:1})}},{key:"getDomainUniforms",value:function(){var e=this.props,t=e.colorDomain,n=e.elevationDomain,r={};return null!==t?(r.colorDomainValid=!0,r.colorDomain=t):r.colorDomainValid=!1,null!==n?(r.elevationDomainValid=!0,r.elevationDomain=n):r.elevationDomainValid=!1,r}},{key:"_setupUniformBuffer",value:function(e){var t=this.context.gl,n=e.program.handle,r=t.getUniformBlockIndex(n,"ColorData"),i=t.getUniformBlockIndex(n,"ElevationData");t.uniformBlockBinding(n,r,0),t.uniformBlockBinding(n,i,1)}}]),n}(x.Layer);function Ln(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Wn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ln(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ln(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Gn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}y()(Un,"layerName","GPUGridCellLayer"),y()(Un,"defaultProps",Fn);var Vn={colorDomain:null,colorRange:te,getColorWeight:{type:"accessor",value:1},colorAggregation:"SUM",elevationDomain:null,elevationRange:[0,1e3],getElevationWeight:{type:"accessor",value:1},elevationAggregation:"SUM",elevationScale:{type:"number",min:0,value:1},cellSize:{type:"number",min:1,max:1e3,value:1e3},coverage:{type:"number",min:0,max:1,value:1},getPosition:{type:"accessor",value:function(e){return e.position}},extruded:!1,material:!0},Hn={data:{props:["cellSize","colorAggregation","elevationAggregation"]}},qn=function(e){f()(n,e);var t=Gn(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"initializeState",value:function(e){var t,r=e.gl,i=Z.isSupported(r);i||x.log.error("GPUGridLayer is not supported on this browser, use GridLayer instead")(),c()(v()(n.prototype),"initializeAggregationLayer",this).call(this,{dimensions:Hn}),this.setState({gpuAggregation:!0,projectPoints:!1,isSupported:i,weights:{color:{needMin:!0,needMax:!0,combineMaxMin:!0,maxMinBuffer:new b.Buffer(r,{byteLength:16,accessor:{size:4,type:5126,divisor:1}})},elevation:{needMin:!0,needMax:!0,combineMaxMin:!0,maxMinBuffer:new b.Buffer(r,{byteLength:16,accessor:{size:4,type:5126,divisor:1}})}},positionAttributeName:"positions"}),this.getAttributeManager().add((t={},y()(t,"positions",{size:3,accessor:"getPosition",type:5130,fp64:this.use64bitPositions()}),y()(t,"color",{size:3,accessor:"getColorWeight"}),y()(t,"elevation",{size:3,accessor:"getElevationWeight"}),t))}},{key:"updateState",value:function(e){!1!==this.state.isSupported&&(c()(v()(n.prototype),"updateState",this).call(this,e),this.state.aggregationDirty&&this.setState({gridHash:null}))}},{key:"getHashKeyForIndex",value:function(e){var t=this.state,n=t.numRow,r=t.numCol,i=t.boundingBox,o=t.gridOffset,a=[r,n],s=[i.xMin,i.yMin],u=[o.xOffset,o.yOffset],l=Math.floor(e/a[0]),c=e-l*a[0],g=Math.floor((l*u[1]+s[1]+90+u[1]/2)/u[1]),f=Math.floor((c*u[0]+s[0]+180+u[0]/2)/u[0]);return"".concat(g,"-").concat(f)}},{key:"getPositionForIndex",value:function(e){var t=this.state,n=t.numRow,r=t.numCol,i=t.boundingBox,o=t.gridOffset,a=[r,n],s=[i.xMin,i.yMin],u=[o.xOffset,o.yOffset],l=Math.floor(e/a[0]);return[(e-l*a[0])*u[0]+s[0],l*u[1]+s[1]]}},{key:"getPickingInfo",value:function(e){var t=e.info,n=e.mode,r=t.index,i=null;if(r>=0){var o=this.state.gpuGridAggregator,a=this.getPositionForIndex(r),s=Z.getAggregationData(Wn({pixelIndex:r},o.getData("color"))),u=Z.getAggregationData(Wn({pixelIndex:r},o.getData("elevation")));if(i={colorValue:s.cellWeight,elevationValue:u.cellWeight,count:s.cellCount||u.cellCount,position:a,totalCount:s.totalCount||u.totalCount},"hover"!==n){var l=this.props,c=this.state.gridHash;if(!c){var g=this.state,f=g.gridOffset,d=g.translation,p=g.boundingBox,h=this.context.viewport;c=Ke(l,{gridOffset:f,attributes:this.getAttributes(),viewport:h,translation:d,boundingBox:p}).gridHash,this.setState({gridHash:c})}var v=c[this.getHashKeyForIndex(r)];Object.assign(i,v)}}return t.picked=Boolean(i),t.object=i,t}},{key:"renderLayers",value:function(){if(!this.state.isSupported)return null;var e=this.props,t=e.elevationScale,n=e.extruded,r=e.cellSize,i=e.coverage,o=e.material,a=e.elevationRange,s=e.colorDomain,u=e.elevationDomain,l=this.state,c=l.weights,g=l.numRow,f=l.numCol,d=l.gridOrigin,p=l.gridOffset,h=c.color,v=c.elevation,m=ne(this.props.colorRange);return new(this.getSubLayerClass("gpu-grid-cell",Un))({gridSize:[f,g],gridOrigin:d,gridOffset:[p.xOffset,p.yOffset],colorRange:m,elevationRange:a,colorDomain:s,elevationDomain:u,cellSize:r,coverage:i,material:o,elevationScale:t,extruded:n},this.getSubLayerProps({id:"gpu-grid-cell"}),{data:{attributes:{colors:h.aggregationBuffer,elevations:v.aggregationBuffer}},colorMaxMinBuffer:h.maxMinBuffer,elevationMaxMinBuffer:v.maxMinBuffer,numInstances:f*g})}},{key:"finalizeState",value:function(e){var t=this.state.weights;[t.color,t.elevation].forEach((function(e){var t=e.aggregationBuffer;e.maxMinBuffer.delete(),null==t||t.delete()})),c()(v()(n.prototype),"finalizeState",this).call(this,e)}},{key:"updateAggregationState",value:function(e){var t=e.props,n=e.oldProps,r=t.cellSize,i=t.coordinateSystem,o=this.context.viewport,a=n.cellSize!==r,s=this.state.dimensions,u=this.isAttributeChanged("positions"),l=u||this.isAttributeChanged(),c=this.state.boundingBox;if(u&&(c=Ue(this.getAttributes(),this.getNumInstances()),this.setState({boundingBox:c})),u||a){var g=Ge(c,r,o,i),f=g.gridOffset,d=g.translation,p=g.width,h=g.height,v=g.numCol,m=g.numRow;this.allocateResources(m,v),this.setState({gridOffset:f,translation:d,gridOrigin:[-1*d[0],-1*d[1]],width:p,height:h,numCol:v,numRow:m})}var y=l||this.isAggregationDirty(e,{dimension:s.data,compareAll:!0});y&&this._updateAccessors(e),this.setState({aggregationDataDirty:y})}},{key:"_updateAccessors",value:function(e){var t=e.props,n=t.colorAggregation,r=t.elevationAggregation,i=this.state.weights,o=i.color,a=i.elevation;o.operation=D[n],a.operation=D[r]}}]),n}(Je);function Yn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}function Xn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Kn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Xn(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Xn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}y()(qn,"layerName","GPUGridLayer"),y()(qn,"defaultProps",Vn);var $n=Kn(Kn(Kn({},qn.defaultProps),yt.defaultProps),{},{gpuAggregation:!1}),Qn=function(e){f()(n,e);var t=Yn(n);function n(){var e;i()(this,n);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=t.call.apply(t,[this].concat(o)),y()(u()(e),"state",void 0),e}return a()(n,[{key:"initializeState",value:function(){this.state={useGPUAggregation:!0}}},{key:"updateState",value:function(e){var t=e.props;this.setState({useGPUAggregation:this.canUseGPUAggregation(t)})}},{key:"renderLayers",value:function(){var e=this.props,t=e.data,n=e.updateTriggers,r=this.state.useGPUAggregation?"GPU":"CPU";return new(this.state.useGPUAggregation?this.getSubLayerClass("GPU",qn):this.getSubLayerClass("CPU",yt))(this.props,this.getSubLayerProps({id:r,updateTriggers:n}),{data:t})}},{key:"canUseGPUAggregation",value:function(e){var t=e.gpuAggregation,n=e.lowerPercentile,r=e.upperPercentile,i=e.getColorValue,o=e.getElevationValue,a=e.colorScaleType;return!!t&&(!!Z.isSupported(this.context.gl)&&(0===n&&100===r&&(null===i&&null===o&&("quantile"!==a&&"ordinal"!==a))))}}]),n}(x.CompositeLayer);function Zn(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Jn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Jn(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Jn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function er(e){var t=e.map((function(e){return e[0]})),n=e.map((function(e){return e[1]})),r=Math.min.apply(null,t),i=Math.max.apply(null,t);return[r,Math.min.apply(null,n),i,Math.max.apply(null,n)]}function tr(e,t){return t[0]>=e[0]&&t[2]<=e[2]&&t[1]>=e[1]&&t[3]<=e[3]}y()(Qn,"layerName","GridLayer"),y()(Qn,"defaultProps",$n);var nr=new Float32Array(12);function rr(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,r=0,i=Zn(e);try{for(i.s();!(t=i.n()).done;)for(var o=t.value,a=0;a<n;a++)nr[r++]=o[a]||0}catch(e){i.e(e)}finally{i.f()}return nr}function ir(e,t,n){var r=me()(e,4),i=r[0],o=r[1],a=r[2],s=r[3],u=a-i,l=s-o,c=u,g=l;u/l<t/n?c=t/n*l:g=n/t*u,c<t&&(c=t,g=n);var f=(a+i)/2,d=(s+o)/2;return[f-c/2,d-g/2,f+c/2,d+g/2]}function or(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ar(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?or(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):or(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function sr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}var ur=function(e){f()(n,e);var t=sr(n);function n(){return i()(this,n),t.apply(this,arguments)}return a()(n,[{key:"getShaders",value:function(){return{vs:"#define SHADER_NAME heatp-map-layer-vertex-shader\n\nuniform sampler2D maxTexture;\nuniform float intensity;\nuniform vec2 colorDomain;\nuniform float threshold;\nuniform float aggregationMode;\n\nattribute vec3 positions;\nattribute vec2 texCoords;\n\nvarying vec2 vTexCoords;\nvarying float vIntensityMin;\nvarying float vIntensityMax;\n\nvoid main(void) {\n gl_Position = project_position_to_clipspace(positions, vec3(0.0), vec3(0.0));\n vTexCoords = texCoords;\n vec4 maxTexture = texture2D(maxTexture, vec2(0.5));\n float maxValue = aggregationMode < 0.5 ? maxTexture.r : maxTexture.g;\n float minValue = maxValue * threshold;\n if (colorDomain[1] > 0.) {\n // if user specified custom domain use it.\n maxValue = colorDomain[1];\n minValue = colorDomain[0];\n }\n vIntensityMax = intensity / maxValue;\n vIntensityMin = intensity / minValue;\n}\n",fs:"#define SHADER_NAME triangle-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D texture;\nuniform sampler2D colorTexture;\nuniform float aggregationMode;\n\nvarying vec2 vTexCoords;\nvarying float vIntensityMin;\nvarying float vIntensityMax;\n\nvec4 getLinearColor(float value) {\n float factor = clamp(value * vIntensityMax, 0., 1.);\n vec4 color = texture2D(colorTexture, vec2(factor, 0.5));\n color.a *= min(value * vIntensityMin, 1.0);\n return color;\n}\n\nvoid main(void) {\n vec4 weights = texture2D(texture, vTexCoords);\n float weight = weights.r;\n\n if (aggregationMode > 0.5) {\n weight /= max(1.0, weights.a);\n }\n\n // discard pixels with 0 weight.\n if (weight <= 0.) {\n discard;\n }\n\n vec4 linearColor = getLinearColor(weight);\n linearColor.a *= opacity;\n gl_FragColor =linearColor;\n}\n",modules:[x.project32]}}},{key:"initializeState",value:function(e){var t=e.gl;this.getAttributeManager().add({positions:{size:3,noAlloc:!0},texCoords:{size:2,noAlloc:!0}}),this.setState({model:this._getModel(t)})}},{key:"_getModel",value:function(e){var t=this.props.vertexCount;return new b.Model(e,ar(ar({},this.getShaders()),{},{id:this.props.id,geometry:new b.Geometry({drawMode:6,vertexCount:t})}))}},{key:"draw",value:function(e){var t=e.uniforms,n=this.state.model,r=this.props,i=r.texture,o=r.maxTexture,a=r.colorTexture,s=r.intensity,u=r.threshold,l=r.aggregationMode,c=r.colorDomain;n.setUniforms(ar(ar({},t),{},{texture:i,maxTexture:o,colorTexture:a,intensity:s,threshold:u,aggregationMode:l,colorDomain:c})).draw()}}]),n}(x.Layer);y()(ur,"layerName","TriangleLayer");var lr;function cr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function gr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?cr(Object(n),!0).forEach((function(t){y()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function fr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v()(e);if(t){var i=v()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return p()(this,n)}}var dr={mipmaps:!1,parameters:(lr={},y()(lr,10240,9729),y()(lr,10241,9729),y()(lr,10242,33071),y()(lr,10243,33071),lr),dataFormat:6408},pr=[0,0],hr={SUM:0,MEAN:1},vr={getPosition:{type:"accessor",value:function(e){return e.position}},getWeight:{type:"accessor",value:1},intensity:{type:"number",min:0,value:1},radiusPixels:{type:"number",min:1,max:100,value:50},colorRange:te,threshold:{type:"number",min:0,max:1,value:.05},colorDomain:{type:"array",value:null,optional:!0},aggregation:"SUM",weightsTextureSize:{type:"number",min:128,max:2048,value:2048},debounceTimeout:{type:"number",min:0,max:1e3,value:500}},mr=[b.FEATURES.BLEND_EQUATION_MINMAX,b.FEATURES.TEXTURE_FLOAT],yr=[b.FEATURES.COLOR_ATTACHMENT_RGBA32F,b.FEATURES.FLOAT_BLEND],xr={data:{props:["radiusPixels"]}},br=function(e){f()(n,e);var t=fr(n);function n(){var e;i()(this,n);for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return e=t.call.apply(t,[this].concat(o)),y()(u()(e),"state",void 0),e}return a()(n,[{key:"initializeState",value:function(){var e=this.context.gl;if(!Object(b.hasFeatures)(e,mr))return this.setState({supported:!1}),void x.log.error("HeatmapLayer: ".concat(this.id," is not supported on this browser"))();c()(v()(n.prototype),"initializeAggregationLayer",this).call(this,xr),this.setState({supported:!0,colorDomain:pr}),this._setupTextureParams(),this._setupAttributes(),this._setupResources()}},{key:"shouldUpdateState",value:function(e){return e.changeFlags.somethingChanged}},{key:"updateState",value:function(e){this.state.supported&&(c()(v()(n.prototype),"updateState",this).call(this,e),this._updateHeatmapState(e))}},{key:"_updateHeatmapState",value:function(e){var t=e.props,n=e.oldProps,r=this._getChangeFlags(e);(r.dataChanged||r.viewportChanged)&&(r.boundsChanged=this._updateBounds(r.dataChanged),this._updateTextureRenderingBounds()),r.dataChanged||r.boundsChanged?(clearTimeout(this.state.updateTimer),this.setState({isWeightMapDirty:!0})):r.viewportZoomChanged&&this._debouncedUpdateWeightmap(),t.colorRange!==n.colorRange&&this._updateColorTexture(e),this.state.isWeightMapDirty&&this._updateWeightmap(),this.setState({zoom:e.context.viewport.zoom})}},{key:"renderLayers",value:function(){if(!this.state.supported)return[];var e=this.state,t=e.weightsTexture,n=e.triPositionBuffer,r=e.triTexCoordBuffer,i=e.maxWeightsTexture,o=e.colorTexture,a=e.colorDomain,s=this.props,u=s.updateTriggers,l=s.intensity,c=s.threshold,g=s.aggregation;return new(this.getSubLayerClass("triangle",ur))(this.getSubLayerProps({id:"triangle-layer",updateTriggers:u}),{coordinateSystem:x.COORDINATE_SYSTEM.DEFAULT,data:{attributes:{positions:n,texCoords:r}},vertexCount:4,maxTexture:i,colorTexture:o,aggregationMode:hr[g]||0,texture:t,intensity:l,threshold:c,colorDomain:a})}},{key:"finalizeState",value:function(e){c()(v()(n.prototype),"finalizeState",this).call(this,e);var t=this.state,r=t.weightsTransform,i=t.weightsTexture,o=t.maxWeightTransform,a=t.maxWeightsTexture,s=t.triPositionBuffer,u=t.triTexCoordBuffer,l=t.colorTexture,g=t.updateTimer;null==r||r.delete(),null==i||i.delete(),null==o||o.delete(),null==a||a.delete(),null==s||s.delete(),null==u||u.delete(),null==l||l.delete(),g&&clearTimeout(g)}},{key:"_getAttributeManager",value:function(){return new x.AttributeManager(this.context.gl,{id:this.props.id,stats:this.context.stats})}},{key:"_getChangeFlags",value:function(e){var t={},n=this.state.dimensions;t.dataChanged=this.isAttributeChanged()||this.isAggregationDirty(e,{compareAll:!0,dimension:n.data}),t.viewportChanged=e.changeFlags.viewportChanged;var r=this.state.zoom;return e.context.viewport&&e.context.viewport.zoom===r||(t.viewportZoomChanged=!0),t}},{key:"_createTextures",value:function(){var e=this.context.gl,t=this.state,n=t.textureSize,r=t.format,i=t.type;this.setState({weightsTexture:new b.Texture2D(e,gr({width:n,height:n,format:r,type:i},dr)),maxWeightsTexture:new b.Texture2D(e,gr({format:r,type:i},dr))})}},{key:"_setupAttributes",value:function(){this.getAttributeManager().add({positions:{size:3,type:5130,accessor:"getPosition"},weights:{size:1,accessor:"getWeight"}}),this.setState({positionAttributeName:"positions"})}},{key:"_setupTextureParams",value:function(){var e=this.context.gl,t=this.props.weightsTextureSize,n=Math.min(t,Object(b.getParameters)(e,3379)),r=Object(b.hasFeatures)(e,yr),i=function(e){var t=e.gl;return e.floatTargetSupport?{format:Object(b.isWebGL2)(t)?34836:6408,type:5126}:{format:6408,type:5121}}({gl:e,floatTargetSupport:r}),o=i.format,a=i.type,s=r?1:1/255;this.setState({textureSize:n,format:o,type:a,weightsScale:s}),r||x.log.warn("HeatmapLayer: ".concat(this.id," rendering to float texture not supported, fallingback to low precession format"))()}},{key:"getShaders",value:function(e){return c()(v()(n.prototype),"getShaders",this).call(this,"max-weights-transform"===e?{vs:"attribute vec4 inTexture;\nvarying vec4 outTexture;\n\nvoid main()\n{\noutTexture = inTexture;\ngl_Position = vec4(0, 0, 0, 1.);\n// Enforce default value for ANGLE issue (https://bugs.chromium.org/p/angleproject/issues/detail?id=3941)\ngl_PointSize = 1.0;\n}\n",_fs:"varying vec4 outTexture;\nvoid main() {\n gl_FragColor = outTexture;\n gl_FragColor.g = outTexture.r / max(1.0, outTexture.a);\n}\n"}:{vs:"attribute vec3 positions;\nattribute vec3 positions64Low;\nattribute float weights;\nvarying vec4 weightsTexture;\nuniform float radiusPixels;\nuniform float textureWidth;\nuniform vec4 commonBounds;\nuniform float weightsScale;\nvoid main()\n{\n weightsTexture = vec4(weights * weightsScale, 0., 0., 1.);\n\n float radiusTexels = project_pixel_size(radiusPixels) * textureWidth / (commonBounds.z - commonBounds.x);\n gl_PointSize = radiusTexels * 2.;\n\n vec3 commonPosition = project_position(positions, positions64Low);\n\n // map xy from commonBounds to [-1, 1]\n gl_Position.xy = (commonPosition.xy - commonBounds.xy) / (commonBounds.zw - commonBounds.xy) ;\n gl_Position.xy = (gl_Position.xy * 2.) - (1.);\n}\n",_fs:"varying vec4 weightsTexture;\n// Epanechnikov function, keeping for reference\n// float epanechnikovKDE(float u) {\n// return 0.75 * (1.0 - u * u);\n// }\nfloat gaussianKDE(float u){\n return pow(2.71828, -u*u/0.05555)/(1.77245385*0.166666);\n}\nvoid main()\n{\n float dist = length(gl_PointCoord - vec2(0.5, 0.5));\n if (dist > 0.5) {\n discard;\n }\n gl_FragColor = weightsTexture * gaussianKDE(2. * dist);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n"})}},{key:"_createWeightsTransform",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.context.gl,r=this.state.weightsTransform,i=this.state.weightsTexture;null===(e=r)||void 0===e||e.delete(),r=new b.Transform(n,gr({id:"".concat(this.id,"-weights-transform"),elementCount:1,_targetTexture:i,_targetTextureVarying:"weightsTexture"},t)),this.setState({weightsTransform:r})}},{key:"_setupResources",value:function(){var e=this.context.gl;this._createTextures();var t=this.state,n=t.textureSize,r=t.weightsTexture,i=t.maxWeightsTexture,o=this.getShaders("weights-transform");this._createWeightsTransform(o);var a=this.getShaders("max-weights-transform"),s=new b.Transform(e,gr(gr({id:"".concat(this.id,"-max-weights-transform"),_sourceTextures:{inTexture:r},_targetTexture:i,_targetTextureVarying:"outTexture"},a),{},{elementCount:n*n}));this.setState({weightsTexture:r,maxWeightsTexture:i,maxWeightTransform:s,zoom:null,triPositionBuffer:new b.Buffer(e,{byteLength:48,accessor:{size:3}}),triTexCoordBuffer:new b.Buffer(e,{byteLength:48,accessor:{size:2}})})}},{key:"updateShaders",value:function(e){this._createWeightsTransform(e)}},{key:"_updateMaxWeightValue",value:function(){this.state.maxWeightTransform.run({parameters:{blend:!0,depthTest:!1,blendFunc:[1,1],blendEquation:32776}})}},{key:"_updateBounds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.context.viewport,n=[t.unproject([0,0]),t.unproject([t.width,0]),t.unproject([t.width,t.height]),t.unproject([0,t.height])].map((function(e){return e.map(Math.fround)})),r=er(n),i={visibleWorldBounds:r,viewportCorners:n},o=!1;if(e||!this.state.worldBounds||!tr(this.state.worldBounds,r)){var a=this._worldToCommonBounds(r),s=this._commonToWorldBounds(a);this.props.coordinateSystem===x.COORDINATE_SYSTEM.LNGLAT&&(s[1]=Math.max(s[1],-85.051129),s[3]=Math.min(s[3],85.051129),s[0]=Math.max(s[0],-360),s[2]=Math.min(s[2],360));var u=this._worldToCommonBounds(s);i.worldBounds=s,i.normalizedCommonBounds=u,o=!0}return this.setState(i),o}},{key:"_updateTextureRenderingBounds",value:function(){var e=this.state,t=e.triPositionBuffer,n=e.triTexCoordBuffer,r=e.normalizedCommonBounds,i=e.viewportCorners,o=this.context.viewport;t.subData(rr(i,3));var a=i.map((function(e){return t=o.projectPosition(e),n=r,i=me()(n,4),a=i[0],s=i[1],u=i[2],l=i[3],[(t[0]-a)/(u-a),(t[1]-s)/(l-s)];var t,n,i,a,s,u,l}));n.subData(rr(a,2))}},{key:"_updateColorTexture",value:function(e){var t=e.props.colorRange,n=this.state.colorTexture,r=ne(t,!1,Uint8Array);n?n.setImageData({data:r,width:t.length}):n=new b.Texture2D(this.context.gl,gr({data:r,width:t.length,height:1},dr)),this.setState({colorTexture:n})}},{key:"_updateWeightmap",value:function(){var e,t=this,n=this.props,r=n.radiusPixels,i=n.colorDomain,o=n.aggregation,a=this.state,s=a.weightsTransform,u=a.worldBounds,l=a.textureSize,c=a.weightsTexture,g=a.weightsScale;this.state.isWeightMapDirty=!1;var f=this._worldToCommonBounds(u,{useLayerCoordinateSystem:!0});if(i&&"SUM"===o){var d=this.context.viewport.distanceScales.metersPerUnit[2]*(f[2]-f[0])/l;this.state.colorDomain=i.map((function(e){return e*d*g}))}else this.state.colorDomain=i||pr;var p={radiusPixels:r,commonBounds:f,textureWidth:l,weightsScale:g};s.update({elementCount:this.getNumInstances()}),Object(b.withParameters)(this.context.gl,{clearColor:[0,0,0,0]},(function(){s.run({uniforms:p,parameters:{blend:!0,depthTest:!1,blendFunc:[1,1],blendEquation:32774},clearRenderTarget:!0,attributes:t.getAttributes(),moduleSettings:t.getModuleSettings()})})),this._updateMaxWeightValue(),c.setParameters((e={},y()(e,10240,9729),y()(e,10241,9729),e))}},{key:"_debouncedUpdateWeightmap",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.state.updateTimer,n=this.props.debounceTimeout;e?(t=null,this._updateBounds(!0),this._updateTextureRenderingBounds(),this.setState({isWeightMapDirty:!0})):(this.setState({isWeightMapDirty:!1}),clearTimeout(t),t=setTimeout(this._debouncedUpdateWeightmap.bind(this,!0),n)),this.setState({updateTimer:t})}},{key:"_worldToCommonBounds",value:function(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.useLayerCoordinateSystem,o=void 0!==i&&i,a=me()(e,4),s=a[0],u=a[1],l=a[2],c=a[3],g=this.context.viewport,f=this.state.textureSize,d=this.props.coordinateSystem,p=o&&(d===x.COORDINATE_SYSTEM.LNGLAT_OFFSETS||d===x.COORDINATE_SYSTEM.METER_OFFSETS),h=p?g.projectPosition(this.props.coordinateOrigin):[0,0],v=2*f/g.scale;return o&&!p?(t=this.projectPosition([s,u,0]),n=this.projectPosition([l,c,0])):(t=g.projectPosition([s,u,0]),n=g.projectPosition([l,c,0])),ir([t[0]-h[0],t[1]-h[1],n[0]-h[0],n[1]-h[1]],v,v)}},{key:"_commonToWorldBounds",value:function(e){var t=me()(e,4),n=t[0],r=t[1],i=t[2],o=t[3],a=this.context.viewport,s=a.unprojectPosition([n,r]),u=a.unprojectPosition([i,o]);return s.slice(0,2).concat(u.slice(0,2))}}]),n}(he);y()(br,"layerName","HeatmapLayer"),y()(br,"defaultProps",vr),n.d(t,"ScreenGridLayer",(function(){return ot})),n.d(t,"CPUGridLayer",(function(){return yt})),n.d(t,"HexagonLayer",(function(){return Et})),n.d(t,"ContourLayer",(function(){return Nn})),n.d(t,"GridLayer",(function(){return Qn})),n.d(t,"GPUGridLayer",(function(){return qn})),n.d(t,"AGGREGATION_OPERATION",(function(){return D})),n.d(t,"HeatmapLayer",(function(){return br})),n.d(t,"_GPUGridAggregator",(function(){return Z})),n.d(t,"_CPUAggregator",(function(){return pt})),n.d(t,"_AggregationLayer",(function(){return he})),n.d(t,"_BinSorter",(function(){return Ie}))}])}));
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@deck.gl/aggregation-layers",
3
3
  "description": "deck.gl layers that aggregate the input data into alternative representations",
4
4
  "license": "MIT",
5
- "version": "8.8.11",
5
+ "version": "8.9.0-alpha.3",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
@@ -40,5 +40,5 @@
40
40
  "@deck.gl/layers": "^8.0.0",
41
41
  "@luma.gl/core": "^8.0.0"
42
42
  },
43
- "gitHead": "f70e8c354aee34949134f9e802f59cf60db4de19"
43
+ "gitHead": "1a42362a310b39b5b26d46354d388e2319a90af3"
44
44
  }
@@ -45,7 +45,7 @@ export default class BinSorter {
45
45
  * @return {Array} array of new value range
46
46
  */
47
47
  getValueRange(percentileRange: [number, number]): [number, number];
48
- getValueDomainByScale(scale: string, [lower, upper]?: [(number | undefined)?, (number | undefined)?]): [number, number] | never[];
48
+ getValueDomainByScale(scale: string, [lower, upper]?: [(number | undefined)?, (number | undefined)?]): never[] | [number, number];
49
49
  _getScaleDomain(scaleType: string, [lowerIdx, upperIdx]: [number, number]): [number, number];
50
50
  }
51
51
  export {};