@kepler.gl/deckgl-layers 3.2.6 → 3.3.0-alpha.0
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/3d-building-layer/3d-building-layer.d.ts +3 -3
- package/dist/3d-building-layer/3d-building-layer.js +9 -12
- package/dist/3d-building-layer/types.d.ts +8 -8
- package/dist/cluster-layer/cluster-layer.d.ts +16 -26
- package/dist/cluster-layer/cluster-layer.js +19 -30
- package/dist/column-layer/enhanced-column-layer.d.ts +4 -4
- package/dist/column-layer/enhanced-column-layer.js +39 -35
- package/dist/deckgl-extensions/filter-arrow-layer.d.ts +33 -6
- package/dist/deckgl-extensions/filter-arrow-layer.js +4 -12
- package/dist/deckgl-extensions/filter-shader-module.d.ts +32 -4
- package/dist/deckgl-extensions/filter-shader-module.js +3 -4
- package/dist/grid-layer/enhanced-cpu-grid-layer.d.ts +4906 -6
- package/dist/grid-layer/enhanced-cpu-grid-layer.js +46 -44
- package/dist/hexagon-layer/enhanced-hexagon-layer.d.ts +4903 -4
- package/dist/hexagon-layer/enhanced-hexagon-layer.js +61 -41
- package/dist/layer-utils/cpu-aggregator.d.ts +74 -27
- package/dist/layer-utils/cpu-aggregator.js +224 -19
- package/dist/line-layer/line-layer.d.ts +4 -4
- package/dist/line-layer/line-layer.js +29 -21
- package/dist/raster/images.d.ts +10 -3
- package/dist/raster/images.js +154 -60
- package/dist/raster/pipeline-validation-patch.d.ts +1 -0
- package/dist/raster/pipeline-validation-patch.js +60 -0
- package/dist/raster/raster-layer/raster-layer-shaders.d.ts +56 -0
- package/dist/raster/raster-layer/raster-layer-shaders.js +129 -0
- package/dist/raster/raster-layer/raster-layer.d.ts +6 -6
- package/dist/raster/raster-layer/raster-layer.js +100 -79
- package/dist/raster/raster-mesh-layer/matrix.d.ts +3 -1
- package/dist/raster/raster-mesh-layer/matrix.js +3 -3
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-shaders.d.ts +19 -0
- package/dist/raster/raster-mesh-layer/raster-mesh-layer-shaders.js +38 -0
- package/dist/raster/raster-mesh-layer/raster-mesh-layer.d.ts +7 -6
- package/dist/raster/raster-mesh-layer/raster-mesh-layer.js +106 -81
- package/dist/raster/types.d.ts +8 -8
- package/dist/raster/types.js +1 -1
- package/dist/raster/webgl/color/colormap.js +13 -7
- package/dist/raster/webgl/color/filter.js +22 -12
- package/dist/raster/webgl/color/gamma-contrast.js +9 -3
- package/dist/raster/webgl/color/linear-rescale.js +9 -5
- package/dist/raster/webgl/color/saturation.js +7 -4
- package/dist/raster/webgl/color/sigmoidal-contrast.js +9 -5
- package/dist/raster/webgl/pansharpen/pansharpen-brovey.js +7 -4
- package/dist/raster/webgl/texture/combine-bands.js +1 -1
- package/dist/raster/webgl/texture/mask.js +27 -35
- package/dist/raster/webgl/texture/reorder-bands.js +8 -5
- package/dist/raster/webgl/texture/rgba-image.js +1 -1
- package/dist/raster/webgl/types.d.ts +11 -6
- package/dist/raster/webgl/types.js +1 -1
- package/dist/svg-icon-layer/scatterplot-icon-layer.d.ts +2 -4
- package/dist/svg-icon-layer/scatterplot-icon-layer.js +19 -25
- package/dist/svg-icon-layer/svg-icon-layer.d.ts +4 -6
- package/dist/svg-icon-layer/svg-icon-layer.js +5 -3
- package/dist/wms/wms-layer.d.ts +3 -3
- package/dist/wms/wms-layer.js +7 -7
- package/package.json +14 -13
|
@@ -1,67 +1,69 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports
|
|
7
|
+
exports["default"] = void 0;
|
|
9
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
10
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
11
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
12
|
+
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
13
13
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
15
|
var _aggregationLayers = require("@deck.gl/aggregation-layers");
|
|
15
|
-
var
|
|
16
|
-
function
|
|
17
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
16
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
18
18
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
19
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
19
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
20
|
+
function _superPropGet(t, e, r, o) { var p = (0, _get2["default"])((0, _getPrototypeOf2["default"])(1 & o ? t.prototype : t), e, r); return 2 & o ? function (t) { return p.apply(r, t); } : p; } // SPDX-License-Identifier: MIT
|
|
20
21
|
// Copyright contributors to the kepler.gl project
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
prop: 'getPosition',
|
|
31
|
-
updateTrigger: 'getPosition'
|
|
32
|
-
},
|
|
33
|
-
aggregator: {
|
|
34
|
-
prop: 'gridAggregator'
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
updater: _cpuAggregator.getAggregatedData
|
|
38
|
-
}]
|
|
39
|
-
};
|
|
40
|
-
var ScaleEnhancedGridLayer = exports["default"] = /*#__PURE__*/function (_CPUGridLayer) {
|
|
22
|
+
/**
|
|
23
|
+
* In deck.gl 9, GridLayer natively supports CPU aggregation via gpuAggregation: false,
|
|
24
|
+
* custom getColorValue/getElevationValue accessors, percentile filtering, and scale types.
|
|
25
|
+
* The custom CPUAggregator override from deck.gl 8 is no longer needed.
|
|
26
|
+
*
|
|
27
|
+
* We override getPickingInfo to add `cellOutline` — an array of [lng, lat] coordinates
|
|
28
|
+
* computed in common space so the outline aligns with rendered cells at all latitudes.
|
|
29
|
+
*/
|
|
30
|
+
var ScaleEnhancedGridLayer = exports["default"] = /*#__PURE__*/function (_GridLayer) {
|
|
41
31
|
function ScaleEnhancedGridLayer() {
|
|
42
32
|
(0, _classCallCheck2["default"])(this, ScaleEnhancedGridLayer);
|
|
43
33
|
return _callSuper(this, ScaleEnhancedGridLayer, arguments);
|
|
44
34
|
}
|
|
45
|
-
(0, _inherits2["default"])(ScaleEnhancedGridLayer,
|
|
35
|
+
(0, _inherits2["default"])(ScaleEnhancedGridLayer, _GridLayer);
|
|
46
36
|
return (0, _createClass2["default"])(ScaleEnhancedGridLayer, [{
|
|
47
|
-
key: "
|
|
48
|
-
value: function
|
|
49
|
-
var
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
accessor: 'getPosition'
|
|
37
|
+
key: "getPickingInfo",
|
|
38
|
+
value: function getPickingInfo(params) {
|
|
39
|
+
var info = _superPropGet(ScaleEnhancedGridLayer, "getPickingInfo", this, 3)([params]);
|
|
40
|
+
if (info.object) {
|
|
41
|
+
var _this$props$coverage;
|
|
42
|
+
var _ref = this.state,
|
|
43
|
+
cellOriginCommon = _ref.cellOriginCommon,
|
|
44
|
+
cellSizeCommon = _ref.cellSizeCommon,
|
|
45
|
+
aggregatorViewport = _ref.aggregatorViewport;
|
|
46
|
+
var coverage = (_this$props$coverage = this.props.coverage) !== null && _this$props$coverage !== void 0 ? _this$props$coverage : 1;
|
|
47
|
+
if (!cellOriginCommon || !cellSizeCommon || !aggregatorViewport) {
|
|
48
|
+
console.error('ScaleEnhancedGridLayer: expected internal state properties ' + '(cellOriginCommon, cellSizeCommon, aggregatorViewport) are missing. ' + 'Hover outline will not be shown. This may indicate a deck.gl version change.');
|
|
49
|
+
return info;
|
|
61
50
|
}
|
|
62
|
-
|
|
51
|
+
var _ref2 = info.object,
|
|
52
|
+
col = _ref2.col,
|
|
53
|
+
row = _ref2.row;
|
|
54
|
+
if (typeof col !== 'number' || typeof row !== 'number') return info;
|
|
55
|
+
var cx = (col + 0.5) * cellSizeCommon[0] + cellOriginCommon[0];
|
|
56
|
+
var cy = (row + 0.5) * cellSizeCommon[1] + cellOriginCommon[1];
|
|
57
|
+
var hw = 0.5 * coverage * cellSizeCommon[0];
|
|
58
|
+
var hh = 0.5 * coverage * cellSizeCommon[1];
|
|
59
|
+
info.object.cellOutline = [aggregatorViewport.unprojectFlat([cx - hw, cy - hh]), aggregatorViewport.unprojectFlat([cx + hw, cy - hh]), aggregatorViewport.unprojectFlat([cx + hw, cy + hh]), aggregatorViewport.unprojectFlat([cx - hw, cy + hh]), aggregatorViewport.unprojectFlat([cx - hw, cy - hh])];
|
|
60
|
+
}
|
|
61
|
+
return info;
|
|
63
62
|
}
|
|
64
63
|
}]);
|
|
65
|
-
}(_aggregationLayers.
|
|
64
|
+
}(_aggregationLayers.GridLayer);
|
|
65
|
+
(0, _defineProperty2["default"])(ScaleEnhancedGridLayer, "defaultProps", _objectSpread(_objectSpread({}, _aggregationLayers.GridLayer.defaultProps), {}, {
|
|
66
|
+
gpuAggregation: false
|
|
67
|
+
}));
|
|
66
68
|
ScaleEnhancedGridLayer.layerName = 'ScaleEnhancedGridLayer';
|
|
67
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYWdncmVnYXRpb25MYXllcnMiLCJyZXF1aXJlIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsImNhbGwiLCJfc3VwZXJQcm9wR2V0IiwicCIsIl9nZXQyIiwiU2NhbGVFbmhhbmNlZEdyaWRMYXllciIsImV4cG9ydHMiLCJfR3JpZExheWVyIiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJnZXRQaWNraW5nSW5mbyIsInBhcmFtcyIsImluZm8iLCJvYmplY3QiLCJfdGhpcyRwcm9wcyRjb3ZlcmFnZSIsIl9yZWYiLCJzdGF0ZSIsImNlbGxPcmlnaW5Db21tb24iLCJjZWxsU2l6ZUNvbW1vbiIsImFnZ3JlZ2F0b3JWaWV3cG9ydCIsImNvdmVyYWdlIiwicHJvcHMiLCJjb25zb2xlIiwiZXJyb3IiLCJfcmVmMiIsImNvbCIsInJvdyIsImN4IiwiY3kiLCJodyIsImhoIiwiY2VsbE91dGxpbmUiLCJ1bnByb2plY3RGbGF0IiwiR3JpZExheWVyIiwiZGVmYXVsdFByb3BzIiwiZ3B1QWdncmVnYXRpb24iLCJsYXllck5hbWUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZ3JpZC1sYXllci9lbmhhbmNlZC1jcHUtZ3JpZC1sYXllci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQge0dyaWRMYXllciwgR3JpZExheWVyUGlja2luZ0luZm99IGZyb20gJ0BkZWNrLmdsL2FnZ3JlZ2F0aW9uLWxheWVycyc7XG5pbXBvcnQge0dldFBpY2tpbmdJbmZvUGFyYW1zLCBQaWNraW5nSW5mbywgVmlld3BvcnR9IGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuXG5pbnRlcmZhY2UgR3JpZEludGVybmFsU3RhdGUge1xuICBjZWxsT3JpZ2luQ29tbW9uPzogW251bWJlciwgbnVtYmVyXTtcbiAgY2VsbFNpemVDb21tb24/OiBbbnVtYmVyLCBudW1iZXJdO1xuICBhZ2dyZWdhdG9yVmlld3BvcnQ/OiBWaWV3cG9ydCAmIHt1bnByb2plY3RGbGF0KHh5OiBudW1iZXJbXSk6IG51bWJlcltdfTtcbn1cblxuaW50ZXJmYWNlIEdyaWRQaWNraW5nT2JqZWN0IHtcbiAgY29sOiBudW1iZXI7XG4gIHJvdzogbnVtYmVyO1xuICBjZWxsT3V0bGluZT86IG51bWJlcltdW107XG4gIFtrZXk6IHN0cmluZ106IHVua25vd247XG59XG5cbi8qKlxuICogSW4gZGVjay5nbCA5LCBHcmlkTGF5ZXIgbmF0aXZlbHkgc3VwcG9ydHMgQ1BVIGFnZ3JlZ2F0aW9uIHZpYSBncHVBZ2dyZWdhdGlvbjogZmFsc2UsXG4gKiBjdXN0b20gZ2V0Q29sb3JWYWx1ZS9nZXRFbGV2YXRpb25WYWx1ZSBhY2Nlc3NvcnMsIHBlcmNlbnRpbGUgZmlsdGVyaW5nLCBhbmQgc2NhbGUgdHlwZXMuXG4gKiBUaGUgY3VzdG9tIENQVUFnZ3JlZ2F0b3Igb3ZlcnJpZGUgZnJvbSBkZWNrLmdsIDggaXMgbm8gbG9uZ2VyIG5lZWRlZC5cbiAqXG4gKiBXZSBvdmVycmlkZSBnZXRQaWNraW5nSW5mbyB0byBhZGQgYGNlbGxPdXRsaW5lYCDigJQgYW4gYXJyYXkgb2YgW2xuZywgbGF0XSBjb29yZGluYXRlc1xuICogY29tcHV0ZWQgaW4gY29tbW9uIHNwYWNlIHNvIHRoZSBvdXRsaW5lIGFsaWducyB3aXRoIHJlbmRlcmVkIGNlbGxzIGF0IGFsbCBsYXRpdHVkZXMuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNjYWxlRW5oYW5jZWRHcmlkTGF5ZXIgZXh0ZW5kcyBHcmlkTGF5ZXI8YW55PiB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgLi4uR3JpZExheWVyLmRlZmF1bHRQcm9wcyxcbiAgICBncHVBZ2dyZWdhdGlvbjogZmFsc2VcbiAgfTtcblxuICBnZXRQaWNraW5nSW5mbyhwYXJhbXM6IEdldFBpY2tpbmdJbmZvUGFyYW1zKTogUGlja2luZ0luZm8ge1xuICAgIGNvbnN0IGluZm8gPSBzdXBlci5nZXRQaWNraW5nSW5mbyhwYXJhbXMpIGFzIEdyaWRMYXllclBpY2tpbmdJbmZvPFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcbiAgICBpZiAoaW5mby5vYmplY3QpIHtcbiAgICAgIGNvbnN0IHtjZWxsT3JpZ2luQ29tbW9uLCBjZWxsU2l6ZUNvbW1vbiwgYWdncmVnYXRvclZpZXdwb3J0fSA9IHRoaXNcbiAgICAgICAgLnN0YXRlIGFzIHVua25vd24gYXMgR3JpZEludGVybmFsU3RhdGU7XG4gICAgICBjb25zdCBjb3ZlcmFnZSA9IHRoaXMucHJvcHMuY292ZXJhZ2UgPz8gMTtcbiAgICAgIGlmICghY2VsbE9yaWdpbkNvbW1vbiB8fCAhY2VsbFNpemVDb21tb24gfHwgIWFnZ3JlZ2F0b3JWaWV3cG9ydCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICdTY2FsZUVuaGFuY2VkR3JpZExheWVyOiBleHBlY3RlZCBpbnRlcm5hbCBzdGF0ZSBwcm9wZXJ0aWVzICcgK1xuICAgICAgICAgICAgJyhjZWxsT3JpZ2luQ29tbW9uLCBjZWxsU2l6ZUNvbW1vbiwgYWdncmVnYXRvclZpZXdwb3J0KSBhcmUgbWlzc2luZy4gJyArXG4gICAgICAgICAgICAnSG92ZXIgb3V0bGluZSB3aWxsIG5vdCBiZSBzaG93bi4gVGhpcyBtYXkgaW5kaWNhdGUgYSBkZWNrLmdsIHZlcnNpb24gY2hhbmdlLidcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGluZm87XG4gICAgICB9XG4gICAgICBjb25zdCB7Y29sLCByb3d9ID0gaW5mby5vYmplY3QgYXMgR3JpZFBpY2tpbmdPYmplY3Q7XG4gICAgICBpZiAodHlwZW9mIGNvbCAhPT0gJ251bWJlcicgfHwgdHlwZW9mIHJvdyAhPT0gJ251bWJlcicpIHJldHVybiBpbmZvO1xuICAgICAgY29uc3QgY3ggPSAoY29sICsgMC41KSAqIGNlbGxTaXplQ29tbW9uWzBdICsgY2VsbE9yaWdpbkNvbW1vblswXTtcbiAgICAgIGNvbnN0IGN5ID0gKHJvdyArIDAuNSkgKiBjZWxsU2l6ZUNvbW1vblsxXSArIGNlbGxPcmlnaW5Db21tb25bMV07XG4gICAgICBjb25zdCBodyA9IDAuNSAqIGNvdmVyYWdlICogY2VsbFNpemVDb21tb25bMF07XG4gICAgICBjb25zdCBoaCA9IDAuNSAqIGNvdmVyYWdlICogY2VsbFNpemVDb21tb25bMV07XG5cbiAgICAgIChpbmZvLm9iamVjdCBhcyBHcmlkUGlja2luZ09iamVjdCkuY2VsbE91dGxpbmUgPSBbXG4gICAgICAgIGFnZ3JlZ2F0b3JWaWV3cG9ydC51bnByb2plY3RGbGF0KFtjeCAtIGh3LCBjeSAtIGhoXSksXG4gICAgICAgIGFnZ3JlZ2F0b3JWaWV3cG9ydC51bnByb2plY3RGbGF0KFtjeCArIGh3LCBjeSAtIGhoXSksXG4gICAgICAgIGFnZ3JlZ2F0b3JWaWV3cG9ydC51bnByb2plY3RGbGF0KFtjeCArIGh3LCBjeSArIGhoXSksXG4gICAgICAgIGFnZ3JlZ2F0b3JWaWV3cG9ydC51bnByb2plY3RGbGF0KFtjeCAtIGh3LCBjeSArIGhoXSksXG4gICAgICAgIGFnZ3JlZ2F0b3JWaWV3cG9ydC51bnByb2plY3RGbGF0KFtjeCAtIGh3LCBjeSAtIGhoXSlcbiAgICAgIF07XG4gICAgfVxuICAgIHJldHVybiBpbmZvO1xuICB9XG59XG5cblNjYWxlRW5oYW5jZWRHcmlkTGF5ZXIubGF5ZXJOYW1lID0gJ1NjYWxlRW5oYW5jZWRHcmlkTGF5ZXInO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLGtCQUFBLEdBQUFDLE9BQUE7QUFBNEUsU0FBQUMsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixDQUFBLEVBQUFDLENBQUEsRUFBQVEsVUFBQSxPQUFBUCxDQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxDQUFBLEVBQUFJLENBQUEsWUFBQUosQ0FBQTtBQUFBLFNBQUFVLGNBQUFaLENBQUEsYUFBQUMsQ0FBQSxNQUFBQSxDQUFBLEdBQUFZLFNBQUEsQ0FBQUMsTUFBQSxFQUFBYixDQUFBLFVBQUFDLENBQUEsV0FBQVcsU0FBQSxDQUFBWixDQUFBLElBQUFZLFNBQUEsQ0FBQVosQ0FBQSxRQUFBQSxDQUFBLE9BQUFGLE9BQUEsQ0FBQUksTUFBQSxDQUFBRCxDQUFBLE9BQUFhLE9BQUEsV0FBQWQsQ0FBQSxRQUFBZSxnQkFBQSxhQUFBaEIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsQ0FBQUQsQ0FBQSxTQUFBRSxNQUFBLENBQUFjLHlCQUFBLEdBQUFkLE1BQUEsQ0FBQWUsZ0JBQUEsQ0FBQWxCLENBQUEsRUFBQUcsTUFBQSxDQUFB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
|