@carto/kepler.gl 0.0.65-alpha.labels.6 → 0.0.65-alpha.labels.7
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/constants/default-settings.js +1 -1
- package/dist/deckgl-layers/point-label-layer/point-label-layer.js +49 -26
- package/package.json +1 -1
- package/src/deckgl-layers/point-label-layer/.point-label-layer.js.swp +0 -0
- package/src/deckgl-layers/point-label-layer/point-label-layer.js +28 -16
- package/src/layers/.layer-text-label.js.swp +0 -0
|
@@ -134,7 +134,7 @@ var KEPLER_GL_NAME = 'kepler.gl'; // __PACKAGE_VERSION__ is automatically inject
|
|
|
134
134
|
// an empty string which will allow us to retrieve the latest umd version
|
|
135
135
|
|
|
136
136
|
exports.KEPLER_GL_NAME = KEPLER_GL_NAME;
|
|
137
|
-
var KEPLER_GL_VERSION = "0.0.65-alpha.labels.
|
|
137
|
+
var KEPLER_GL_VERSION = "0.0.65-alpha.labels.7";
|
|
138
138
|
exports.KEPLER_GL_VERSION = KEPLER_GL_VERSION;
|
|
139
139
|
var KEPLER_GL_WEBSITE = 'http://kepler.gl/';
|
|
140
140
|
exports.KEPLER_GL_WEBSITE = KEPLER_GL_WEBSITE;
|
|
@@ -15,6 +15,8 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
|
|
15
15
|
|
|
16
16
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
17
|
|
|
18
|
+
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
19
|
+
|
|
18
20
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
21
|
|
|
20
22
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
@@ -40,14 +42,43 @@ var LEFT = 0,
|
|
|
40
42
|
RIGHT = 2,
|
|
41
43
|
BOTTOM = 3;
|
|
42
44
|
|
|
45
|
+
var EnhancedTextBackgroundLayer = /*#__PURE__*/function (_TextBackgroundLayer) {
|
|
46
|
+
(0, _inherits2["default"])(EnhancedTextBackgroundLayer, _TextBackgroundLayer);
|
|
47
|
+
|
|
48
|
+
var _super = _createSuper(EnhancedTextBackgroundLayer);
|
|
49
|
+
|
|
50
|
+
function EnhancedTextBackgroundLayer() {
|
|
51
|
+
(0, _classCallCheck2["default"])(this, EnhancedTextBackgroundLayer);
|
|
52
|
+
return _super.apply(this, arguments);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
(0, _createClass2["default"])(EnhancedTextBackgroundLayer, [{
|
|
56
|
+
key: "getShaders",
|
|
57
|
+
value: function getShaders() {
|
|
58
|
+
var shaders = (0, _get2["default"])((0, _getPrototypeOf2["default"])(EnhancedTextBackgroundLayer.prototype), "getShaders", this).call(this);
|
|
59
|
+
var vs = shaders.vs; // Modify shader so that the padding is offset by the pixel offset to ensure the padding
|
|
60
|
+
// always captures the anchor point. As padding is uniform we cannot pass it a per-label value
|
|
61
|
+
|
|
62
|
+
vs = vs.replaceAll('padding.', '_padding.');
|
|
63
|
+
vs = vs.replace('void main(void) {', 'void main(void) {\n vec4 _padding = padding + instancePixelOffsets.xyxy * vec4(1.0, 1.0, -1.0, -1.0);');
|
|
64
|
+
return _objectSpread(_objectSpread({}, shaders), {}, {
|
|
65
|
+
vs: vs
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}]);
|
|
69
|
+
return EnhancedTextBackgroundLayer;
|
|
70
|
+
}(_layers._TextBackgroundLayer); // TextLayer which includes modified text-background-layer-vertex shader and only renders the
|
|
71
|
+
// primary background layer in the collision pass
|
|
72
|
+
|
|
73
|
+
|
|
43
74
|
var EnhancedTextLayer = /*#__PURE__*/function (_TextLayer) {
|
|
44
75
|
(0, _inherits2["default"])(EnhancedTextLayer, _TextLayer);
|
|
45
76
|
|
|
46
|
-
var
|
|
77
|
+
var _super2 = _createSuper(EnhancedTextLayer);
|
|
47
78
|
|
|
48
79
|
function EnhancedTextLayer() {
|
|
49
80
|
(0, _classCallCheck2["default"])(this, EnhancedTextLayer);
|
|
50
|
-
return
|
|
81
|
+
return _super2.apply(this, arguments);
|
|
51
82
|
}
|
|
52
83
|
|
|
53
84
|
(0, _createClass2["default"])(EnhancedTextLayer, [{
|
|
@@ -65,15 +96,7 @@ var EnhancedTextLayer = /*#__PURE__*/function (_TextLayer) {
|
|
|
65
96
|
}
|
|
66
97
|
}]);
|
|
67
98
|
return EnhancedTextLayer;
|
|
68
|
-
}(_layers.TextLayer);
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
_layers.TextLayer.defaultProps.fontSettings = {
|
|
72
|
-
type: 'object',
|
|
73
|
-
value: {},
|
|
74
|
-
optional: true,
|
|
75
|
-
compare: 1
|
|
76
|
-
};
|
|
99
|
+
}(_layers.TextLayer);
|
|
77
100
|
|
|
78
101
|
var defaultProps = _objectSpread(_objectSpread({}, _layers.TextLayer.defaultProps), {}, {
|
|
79
102
|
getRadius: {
|
|
@@ -90,11 +113,11 @@ var defaultProps = _objectSpread(_objectSpread({}, _layers.TextLayer.defaultProp
|
|
|
90
113
|
var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
|
|
91
114
|
(0, _inherits2["default"])(PointLabelLayer, _CompositeLayer);
|
|
92
115
|
|
|
93
|
-
var
|
|
116
|
+
var _super3 = _createSuper(PointLabelLayer);
|
|
94
117
|
|
|
95
118
|
function PointLabelLayer() {
|
|
96
119
|
(0, _classCallCheck2["default"])(this, PointLabelLayer);
|
|
97
|
-
return
|
|
120
|
+
return _super3.apply(this, arguments);
|
|
98
121
|
}
|
|
99
122
|
|
|
100
123
|
(0, _createClass2["default"])(PointLabelLayer, [{
|
|
@@ -125,14 +148,14 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
|
|
|
125
148
|
|
|
126
149
|
|
|
127
150
|
var radiusPadding = 1 + 1 / 4;
|
|
128
|
-
return typeof getRadius === 'function' ? function (d) {
|
|
129
|
-
var r = (
|
|
151
|
+
return typeof getRadius === 'function' ? function (d, info) {
|
|
152
|
+
var r = (info ? getRadius(d, info) : 1) * radiusScale * radiusPadding;
|
|
130
153
|
return [xMult * (r + xPadding), yMult * (r + yPadding) + yOffset];
|
|
131
154
|
} : [xMult * (getRadius * radiusScale * radiusPadding + xPadding), yMult * (getRadius * radiusScale * radiusPadding + yPadding) + yOffset];
|
|
132
155
|
}
|
|
133
156
|
}, {
|
|
134
157
|
key: "calculateBackgroundPadding",
|
|
135
|
-
value: function calculateBackgroundPadding(
|
|
158
|
+
value: function calculateBackgroundPadding() {
|
|
136
159
|
var _this$props2 = this.props,
|
|
137
160
|
anchor = _this$props2.getTextAnchor,
|
|
138
161
|
alignment = _this$props2.getAlignmentBaseline,
|
|
@@ -158,14 +181,8 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
|
|
|
158
181
|
} else {
|
|
159
182
|
backgroundPadding[LEFT] = 0.5 * paddingX;
|
|
160
183
|
backgroundPadding[RIGHT] = 0.5 * paddingX;
|
|
161
|
-
}
|
|
162
|
-
|
|
184
|
+
}
|
|
163
185
|
|
|
164
|
-
var pixelOffset = Array.isArray(getPixelOffset) ? getPixelOffset : getPixelOffset();
|
|
165
|
-
backgroundPadding[LEFT] += pixelOffset[0];
|
|
166
|
-
backgroundPadding[RIGHT] -= pixelOffset[0];
|
|
167
|
-
backgroundPadding[TOP] += pixelOffset[1];
|
|
168
|
-
backgroundPadding[BOTTOM] -= pixelOffset[1];
|
|
169
186
|
return backgroundPadding;
|
|
170
187
|
}
|
|
171
188
|
}, {
|
|
@@ -206,7 +223,12 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
|
|
|
206
223
|
getPixelOffset: [updateTriggers.getRadius, updateTriggers.getTextAnchor, updateTriggers.getAlignmentBaseline, radiusScale, sizeScale]
|
|
207
224
|
})
|
|
208
225
|
}), {
|
|
209
|
-
getSize: 1
|
|
226
|
+
getSize: 1,
|
|
227
|
+
_subLayerProps: {
|
|
228
|
+
background: {
|
|
229
|
+
type: EnhancedTextBackgroundLayer
|
|
230
|
+
}
|
|
231
|
+
}
|
|
210
232
|
}, // DEBUG
|
|
211
233
|
SHOW_TEXT_BORDER ? {
|
|
212
234
|
getBackgroundColor: [0, 0, 0, 0],
|
|
@@ -225,7 +247,7 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
|
|
|
225
247
|
secondarySizeScale = _this$props4.secondarySizeScale,
|
|
226
248
|
updateTriggers = _this$props4.updateTriggers;
|
|
227
249
|
var getPixelOffset = this.calculatePixelOffset(false);
|
|
228
|
-
var backgroundPadding = this.calculateBackgroundPadding(
|
|
250
|
+
var backgroundPadding = this.calculateBackgroundPadding();
|
|
229
251
|
var out = [this.renderTextLayer('primary', {
|
|
230
252
|
backgroundPadding: backgroundPadding,
|
|
231
253
|
getText: getText,
|
|
@@ -253,5 +275,6 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
|
|
|
253
275
|
}(_core.CompositeLayer);
|
|
254
276
|
|
|
255
277
|
exports.PointLabelLayer = PointLabelLayer;
|
|
278
|
+
(0, _defineProperty2["default"])(PointLabelLayer, "layerName", 'PointLabelLayer');
|
|
256
279
|
(0, _defineProperty2["default"])(PointLabelLayer, "defaultProps", defaultProps);
|
|
257
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNrZ2wtbGF5ZXJzL3BvaW50LWxhYmVsLWxheWVyL3BvaW50LWxhYmVsLWxheWVyLmpzIl0sIm5hbWVzIjpbIlNIT1dfVEVYVF9CT1JERVIiLCJMRUZUIiwiVE9QIiwiUklHSFQiLCJCT1RUT00iLCJFbmhhbmNlZFRleHRMYXllciIsImxheWVyIiwicmVuZGVyUGFzcyIsImJhY2tncm91bmQiLCJpZCIsImluY2x1ZGVzIiwicHJvcHMiLCJnZXRCb3JkZXJXaWR0aCIsIlRleHRMYXllciIsImRlZmF1bHRQcm9wcyIsImZvbnRTZXR0aW5ncyIsInR5cGUiLCJ2YWx1ZSIsIm9wdGlvbmFsIiwiY29tcGFyZSIsImdldFJhZGl1cyIsInJhZGl1c1NjYWxlIiwibWluIiwiUG9pbnRMYWJlbExheWVyIiwic2Vjb25kYXJ5IiwiYW5jaG9yIiwiZ2V0VGV4dEFuY2hvciIsImFsaWdubWVudCIsImdldEFsaWdubWVudEJhc2VsaW5lIiwiZ2V0U2Vjb25kYXJ5VGV4dCIsInNlY29uZGFyeVNpemVTY2FsZSIsInNpemVTY2FsZSIsInhNdWx0IiwieU11bHQiLCJ4UGFkZGluZyIsInlQYWRkaW5nIiwic2Vjb25kYXJ5T2Zmc2V0IiwieU9mZnNldCIsInJhZGl1c1BhZGRpbmciLCJkIiwiciIsImdldFBpeGVsT2Zmc2V0IiwicGFkZGluZ1giLCJwYWRkaW5nWSIsImJhY2tncm91bmRQYWRkaW5nIiwicGl4ZWxPZmZzZXQiLCJBcnJheSIsImlzQXJyYXkiLCJ1cGRhdGVUcmlnZ2Vyc092ZXJyaWRlIiwidXBkYXRlVHJpZ2dlcnMiLCJkYXRhIiwiY2hhcmFjdGVyU2V0IiwiZm9udEZhbWlseSIsImZvbnRXZWlnaHQiLCJvdXRsaW5lQ29sb3IiLCJvdXRsaW5lV2lkdGgiLCJnZXRDb2xvciIsImdldFBvc2l0aW9uIiwiZ2V0U3ViTGF5ZXJQcm9wcyIsImdldFNpemUiLCJnZXRCYWNrZ3JvdW5kQ29sb3IiLCJnZXRCb3JkZXJDb2xvciIsImdldFRleHQiLCJnZXRTZWNvbmRhcnlDb2xvciIsInNlY29uZGFyeU91dGxpbmVDb2xvciIsImNhbGN1bGF0ZVBpeGVsT2Zmc2V0IiwiY2FsY3VsYXRlQmFja2dyb3VuZFBhZGRpbmciLCJvdXQiLCJyZW5kZXJUZXh0TGF5ZXIiLCJDb21wb3NpdGVMYXllciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7Ozs7Ozs7OztBQUVBO0FBQ0EsSUFBTUEsZ0JBQWdCLEdBQUcsS0FBekI7SUFFT0MsSSxHQUE2QixDO0lBQXZCQyxHLEdBQTBCLEM7SUFBckJDLEssR0FBd0IsQztJQUFqQkMsTSxHQUFvQixDOztJQUN2Q0MsaUI7Ozs7Ozs7Ozs7OztXQUNKLDhCQUFvQztBQUFBLFVBQXBCQyxLQUFvQixRQUFwQkEsS0FBb0I7QUFBQSxVQUFiQyxVQUFhLFFBQWJBLFVBQWE7QUFDbEMsVUFBTUMsVUFBVSxHQUFHRixLQUFLLENBQUNHLEVBQU4sQ0FBU0MsUUFBVCxDQUFrQixvQkFBbEIsQ0FBbkI7O0FBQ0EsVUFBSUgsVUFBVSxLQUFLLFdBQW5CLEVBQWdDO0FBQzlCLGVBQU9DLFVBQVAsQ0FEOEIsQ0FDWDtBQUNwQixPQUZELE1BRU87QUFDTCxlQUFPLENBQUNBLFVBQUQsSUFBZ0JSLGdCQUFnQixJQUFJLEtBQUtXLEtBQUwsQ0FBV0MsY0FBdEQsQ0FESyxDQUNrRTtBQUN4RTtBQUNGOzs7RUFSNkJDLGlCLEdBV2hDOzs7QUFDQUEsa0JBQVVDLFlBQVYsQ0FBdUJDLFlBQXZCLEdBQXNDO0FBQUNDLEVBQUFBLElBQUksRUFBRSxRQUFQO0FBQWlCQyxFQUFBQSxLQUFLLEVBQUUsRUFBeEI7QUFBNEJDLEVBQUFBLFFBQVEsRUFBRSxJQUF0QztBQUE0Q0MsRUFBQUEsT0FBTyxFQUFFO0FBQXJELENBQXRDOztBQUVBLElBQU1MLFlBQVksbUNBQ2JELGtCQUFVQyxZQURHO0FBRWhCTSxFQUFBQSxTQUFTLEVBQUU7QUFBQ0osSUFBQUEsSUFBSSxFQUFFLFVBQVA7QUFBbUJDLElBQUFBLEtBQUssRUFBRTtBQUExQixHQUZLO0FBR2hCSSxFQUFBQSxXQUFXLEVBQUU7QUFBQ0wsSUFBQUEsSUFBSSxFQUFFLFFBQVA7QUFBaUJNLElBQUFBLEdBQUcsRUFBRSxDQUF0QjtBQUF5QkwsSUFBQUEsS0FBSyxFQUFFO0FBQWhDO0FBSEcsRUFBbEI7O0lBTWFNLGU7Ozs7Ozs7Ozs7OztXQUdYLDhCQUFxQkMsU0FBckIsRUFBZ0M7QUFBQSx3QkFTMUIsS0FBS2IsS0FUcUI7QUFBQSxVQUViYyxNQUZhLGVBRTVCQyxhQUY0QjtBQUFBLFVBR05DLFNBSE0sZUFHNUJDLG9CQUg0QjtBQUFBLFVBSTVCUixTQUo0QixlQUk1QkEsU0FKNEI7QUFBQSxVQUs1QlMsZ0JBTDRCLGVBSzVCQSxnQkFMNEI7QUFBQSxVQU01QlIsV0FONEIsZUFNNUJBLFdBTjRCO0FBQUEsVUFPNUJTLGtCQVA0QixlQU81QkEsa0JBUDRCO0FBQUEsVUFRNUJDLFNBUjRCLGVBUTVCQSxTQVI0QjtBQVU5QixVQUFNQyxLQUFLLEdBQUdQLE1BQU0sS0FBSyxRQUFYLEdBQXNCLENBQXRCLEdBQTBCQSxNQUFNLEtBQUssT0FBWCxHQUFxQixDQUFyQixHQUF5QixDQUFDLENBQWxFO0FBQ0EsVUFBTVEsS0FBSyxHQUFHTixTQUFTLEtBQUssUUFBZCxHQUF5QixDQUF6QixHQUE2QkEsU0FBUyxLQUFLLFFBQWQsR0FBeUIsQ0FBekIsR0FBNkIsQ0FBQyxDQUF6RSxDQVg4QixDQWE5Qjs7QUFDQSxVQUFNTyxRQUFRLEdBQUdILFNBQVMsR0FBRyxDQUE3QjtBQUNBLFVBQU1JLFFBQVEsR0FBR0osU0FBUyxJQUFJLElBQUksSUFBSSxDQUFaLENBQTFCLENBZjhCLENBaUI5Qjs7QUFDQSxVQUFNSyxlQUFlLEdBQUcsT0FBTyxJQUFJSCxLQUFYLElBQW9CRixTQUE1QztBQUNBLFVBQUlNLE9BQU8sR0FBR2IsU0FBUyxHQUFHWSxlQUFILEdBQXFCLENBQTVDLENBbkI4QixDQXFCOUI7O0FBQ0EsVUFBSVgsTUFBTSxLQUFLLFFBQVgsSUFBdUJFLFNBQVMsS0FBSyxLQUFyQyxJQUE4Q0UsZ0JBQWxELEVBQW9FO0FBQ2xFUSxRQUFBQSxPQUFPLElBQUlELGVBQVg7QUFDQUMsUUFBQUEsT0FBTyxJQUFJUCxrQkFBWDtBQUNBTyxRQUFBQSxPQUFPLElBQUlOLFNBQVg7QUFDRCxPQTFCNkIsQ0E0QjlCOzs7QUFDQSxVQUFNTyxhQUFhLEdBQUcsSUFBSSxJQUFJLENBQTlCO0FBRUEsYUFBTyxPQUFPbEIsU0FBUCxLQUFxQixVQUFyQixHQUNILFVBQUFtQixDQUFDLEVBQUk7QUFDSCxZQUFNQyxDQUFDLEdBQUcsQ0FBQ0QsQ0FBQyxHQUFHbkIsU0FBUyxDQUFDbUIsQ0FBRCxDQUFaLEdBQWtCLENBQXBCLElBQXlCbEIsV0FBekIsR0FBdUNpQixhQUFqRDtBQUNBLGVBQU8sQ0FBQ04sS0FBSyxJQUFJUSxDQUFDLEdBQUdOLFFBQVIsQ0FBTixFQUF5QkQsS0FBSyxJQUFJTyxDQUFDLEdBQUdMLFFBQVIsQ0FBTCxHQUF5QkUsT0FBbEQsQ0FBUDtBQUNELE9BSkUsR0FLSCxDQUNFTCxLQUFLLElBQUlaLFNBQVMsR0FBR0MsV0FBWixHQUEwQmlCLGFBQTFCLEdBQTBDSixRQUE5QyxDQURQLEVBRUVELEtBQUssSUFBSWIsU0FBUyxHQUFHQyxXQUFaLEdBQTBCaUIsYUFBMUIsR0FBMENILFFBQTlDLENBQUwsR0FBK0RFLE9BRmpFLENBTEo7QUFTRDs7O1dBRUQsb0NBQTJCSSxjQUEzQixFQUEyQztBQUFBLHlCQUNtQyxLQUFLOUIsS0FEeEM7QUFBQSxVQUNuQmMsTUFEbUIsZ0JBQ2xDQyxhQURrQztBQUFBLFVBQ1dDLFNBRFgsZ0JBQ1hDLG9CQURXO0FBQUEsVUFDc0JHLFNBRHRCLGdCQUNzQkEsU0FEdEIsRUFHekM7O0FBQ0EsVUFBTVcsUUFBUSxHQUFHLEtBQUtYLFNBQXRCO0FBQ0EsVUFBTVksUUFBUSxHQUFHLElBQUlaLFNBQXJCO0FBQ0EsVUFBTWEsaUJBQWlCLEdBQUcsQ0FBQyxDQUFELEVBQUksQ0FBSixFQUFPLENBQVAsRUFBVSxDQUFWLENBQTFCOztBQUNBLFVBQUlqQixTQUFTLEtBQUssS0FBbEIsRUFBeUI7QUFDdkJpQixRQUFBQSxpQkFBaUIsQ0FBQzFDLEdBQUQsQ0FBakIsR0FBeUJ5QyxRQUF6QjtBQUNELE9BRkQsTUFFTyxJQUFJaEIsU0FBUyxLQUFLLFFBQWxCLEVBQTRCO0FBQ2pDaUIsUUFBQUEsaUJBQWlCLENBQUN4QyxNQUFELENBQWpCLEdBQTRCdUMsUUFBNUI7QUFDRCxPQUZNLE1BRUE7QUFDTEMsUUFBQUEsaUJBQWlCLENBQUMxQyxHQUFELENBQWpCLEdBQXlCLE1BQU15QyxRQUEvQjtBQUNBQyxRQUFBQSxpQkFBaUIsQ0FBQ3hDLE1BQUQsQ0FBakIsR0FBNEIsTUFBTXVDLFFBQWxDO0FBQ0Q7O0FBQ0QsVUFBSWxCLE1BQU0sS0FBSyxPQUFmLEVBQXdCO0FBQ3RCbUIsUUFBQUEsaUJBQWlCLENBQUMzQyxJQUFELENBQWpCLEdBQTBCeUMsUUFBMUI7QUFDRCxPQUZELE1BRU8sSUFBSWpCLE1BQU0sS0FBSyxLQUFmLEVBQXNCO0FBQzNCbUIsUUFBQUEsaUJBQWlCLENBQUN6QyxLQUFELENBQWpCLEdBQTJCdUMsUUFBM0I7QUFDRCxPQUZNLE1BRUE7QUFDTEUsUUFBQUEsaUJBQWlCLENBQUMzQyxJQUFELENBQWpCLEdBQTBCLE1BQU15QyxRQUFoQztBQUNBRSxRQUFBQSxpQkFBaUIsQ0FBQ3pDLEtBQUQsQ0FBakIsR0FBMkIsTUFBTXVDLFFBQWpDO0FBQ0QsT0F0QndDLENBd0J6Qzs7O0FBQ0EsVUFBTUcsV0FBVyxHQUFHQyxLQUFLLENBQUNDLE9BQU4sQ0FBY04sY0FBZCxJQUFnQ0EsY0FBaEMsR0FBaURBLGNBQWMsRUFBbkY7QUFDQUcsTUFBQUEsaUJBQWlCLENBQUMzQyxJQUFELENBQWpCLElBQTJCNEMsV0FBVyxDQUFDLENBQUQsQ0FBdEM7QUFDQUQsTUFBQUEsaUJBQWlCLENBQUN6QyxLQUFELENBQWpCLElBQTRCMEMsV0FBVyxDQUFDLENBQUQsQ0FBdkM7QUFDQUQsTUFBQUEsaUJBQWlCLENBQUMxQyxHQUFELENBQWpCLElBQTBCMkMsV0FBVyxDQUFDLENBQUQsQ0FBckM7QUFDQUQsTUFBQUEsaUJBQWlCLENBQUN4QyxNQUFELENBQWpCLElBQTZCeUMsV0FBVyxDQUFDLENBQUQsQ0FBeEM7QUFFQSxhQUFPRCxpQkFBUDtBQUNEOzs7V0FFRCx5QkFBZ0JuQyxFQUFoQixTQUF3RTtBQUFBLFVBQW5DdUMsc0JBQW1DLFNBQW5EQyxjQUFtRDtBQUFBLFVBQVJ0QyxLQUFRO0FBQUEseUJBbUJsRSxLQUFLQSxLQW5CNkQ7QUFBQSxVQUVwRXVDLElBRm9FLGdCQUVwRUEsSUFGb0U7QUFBQSxVQUlwRUMsWUFKb0UsZ0JBSXBFQSxZQUpvRTtBQUFBLFVBS3BFQyxVQUxvRSxnQkFLcEVBLFVBTG9FO0FBQUEsVUFNcEVyQyxZQU5vRSxnQkFNcEVBLFlBTm9FO0FBQUEsVUFPcEVzQyxVQVBvRSxnQkFPcEVBLFVBUG9FO0FBQUEsVUFRcEVDLFlBUm9FLGdCQVFwRUEsWUFSb0U7QUFBQSxVQVNwRUMsWUFUb0UsZ0JBU3BFQSxZQVRvRTtBQUFBLFVBVXBFeEIsU0FWb0UsZ0JBVXBFQSxTQVZvRTtBQUFBLFVBV3BFVixXQVhvRSxnQkFXcEVBLFdBWG9FO0FBQUEsVUFhcEVPLG9CQWJvRSxnQkFhcEVBLG9CQWJvRTtBQUFBLFVBY3BFNEIsUUFkb0UsZ0JBY3BFQSxRQWRvRTtBQUFBLFVBZXBFQyxXQWZvRSxnQkFlcEVBLFdBZm9FO0FBQUEsVUFnQnBFL0IsYUFoQm9FLGdCQWdCcEVBLGFBaEJvRTtBQUFBLFVBa0JwRXVCLGNBbEJvRSxnQkFrQnBFQSxjQWxCb0U7QUFxQnRFLGFBQU8sSUFBSTVDLGlCQUFKLENBQ0wsS0FBS3FELGdCQUFMLENBQXNCO0FBQ3BCakQsUUFBQUEsRUFBRSxFQUFGQSxFQURvQjtBQUVwQnlDLFFBQUFBLElBQUksRUFBRUEsSUFGYztBQUlwQkMsUUFBQUEsWUFBWSxFQUFaQSxZQUpvQjtBQUtwQkMsUUFBQUEsVUFBVSxFQUFWQSxVQUxvQjtBQU1wQnJDLFFBQUFBLFlBQVksRUFBWkEsWUFOb0I7QUFPcEJzQyxRQUFBQSxVQUFVLEVBQVZBLFVBUG9CO0FBUXBCQyxRQUFBQSxZQUFZLEVBQVpBLFlBUm9CO0FBU3BCQyxRQUFBQSxZQUFZLEVBQVpBLFlBVG9CO0FBVXBCeEIsUUFBQUEsU0FBUyxFQUFUQSxTQVZvQjtBQVlwQkgsUUFBQUEsb0JBQW9CLEVBQXBCQSxvQkFab0I7QUFhcEI0QixRQUFBQSxRQUFRLEVBQVJBLFFBYm9CO0FBY3BCQyxRQUFBQSxXQUFXLEVBQVhBLFdBZG9CO0FBZXBCL0IsUUFBQUEsYUFBYSxFQUFiQSxhQWZvQjtBQWlCcEJ1QixRQUFBQSxjQUFjLGdEQUNUQSxjQURTLEdBRVRELHNCQUZTO0FBR1pQLFVBQUFBLGNBQWMsRUFBRSxDQUNkUSxjQUFjLENBQUM3QixTQURELEVBRWQ2QixjQUFjLENBQUN2QixhQUZELEVBR2R1QixjQUFjLENBQUNyQixvQkFIRCxFQUlkUCxXQUpjLEVBS2RVLFNBTGM7QUFISjtBQWpCTSxPQUF0QixDQURLLEVBOEJMO0FBQ0U0QixRQUFBQSxPQUFPLEVBQUU7QUFEWCxPQTlCSyxFQWlDTDtBQUNBM0QsTUFBQUEsZ0JBQWdCLEdBQ1o7QUFBQzRELFFBQUFBLGtCQUFrQixFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosRUFBTyxDQUFQLEVBQVUsQ0FBVixDQUFyQjtBQUFtQ0MsUUFBQUEsY0FBYyxFQUFFLENBQUMsR0FBRCxFQUFNLENBQU4sRUFBUyxDQUFULEVBQVksRUFBWixDQUFuRDtBQUFvRWpELFFBQUFBLGNBQWMsRUFBRTtBQUFwRixPQURZLEdBRVosRUFwQ0MsRUFxQ0xELEtBckNLLENBQVA7QUF1Q0Q7OztXQUVELHdCQUFlO0FBQUEseUJBUVQsS0FBS0EsS0FSSTtBQUFBLFVBRVhtRCxPQUZXLGdCQUVYQSxPQUZXO0FBQUEsVUFHWEMsaUJBSFcsZ0JBR1hBLGlCQUhXO0FBQUEsVUFJWGxDLGdCQUpXLGdCQUlYQSxnQkFKVztBQUFBLFVBS1htQyxxQkFMVyxnQkFLWEEscUJBTFc7QUFBQSxVQU1YbEMsa0JBTlcsZ0JBTVhBLGtCQU5XO0FBQUEsVUFPWG1CLGNBUFcsZ0JBT1hBLGNBUFc7QUFTYixVQUFNUixjQUFjLEdBQUcsS0FBS3dCLG9CQUFMLENBQTBCLEtBQTFCLENBQXZCO0FBQ0EsVUFBTXJCLGlCQUFpQixHQUFHLEtBQUtzQiwwQkFBTCxDQUFnQ3pCLGNBQWhDLENBQTFCO0FBQ0EsVUFBTTBCLEdBQUcsR0FBRyxDQUNWLEtBQUtDLGVBQUwsQ0FBcUIsU0FBckIsRUFBZ0M7QUFDOUJ4QixRQUFBQSxpQkFBaUIsRUFBakJBLGlCQUQ4QjtBQUU5QmtCLFFBQUFBLE9BQU8sRUFBUEEsT0FGOEI7QUFHOUJyQixRQUFBQSxjQUFjLEVBQWRBLGNBSDhCO0FBSTlCakMsUUFBQUEsVUFBVSxFQUFFLElBSmtCLENBSWI7O0FBSmEsT0FBaEMsQ0FEVSxFQU9WcUIsZ0JBQWdCLElBQ2QsS0FBS3VDLGVBQUwsQ0FBcUIsV0FBckI7QUFDRU4sUUFBQUEsT0FBTyxFQUFFakMsZ0JBRFg7QUFFRVksUUFBQUEsY0FBYyxFQUFFLEtBQUt3QixvQkFBTCxDQUEwQixJQUExQixDQUZsQjtBQUdFckMsUUFBQUEsb0JBQW9CLEVBQUUsS0FIeEI7QUFJRXFCLFFBQUFBLGNBQWMsRUFBRTtBQUFDYSxVQUFBQSxPQUFPLEVBQUViLGNBQWMsQ0FBQ3BCO0FBQXpCO0FBSmxCLFNBT01rQyxpQkFBaUIsSUFBSTtBQUFDUCxRQUFBQSxRQUFRLEVBQUVPO0FBQVgsT0FQM0IsR0FRTWpDLGtCQUFrQixJQUFJO0FBQUNDLFFBQUFBLFNBQVMsRUFBRUQ7QUFBWixPQVI1QixHQVNNa0MscUJBQXFCLElBQUk7QUFBQ1YsUUFBQUEsWUFBWSxFQUFFVTtBQUFmLE9BVC9CLEVBUlEsQ0FBWjtBQXFCQSxhQUFPRyxHQUFQO0FBQ0Q7OztFQTlLa0NFLG9COzs7aUNBQXhCOUMsZSxrQkFDV1QsWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9zaXRlTGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuaW1wb3J0IHtUZXh0TGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2xheWVycyc7XG5cbi8vIFRPRE8gcmVtb3ZlIHByaW9yIHRvIHJlbGVhc2VcbmNvbnN0IFNIT1dfVEVYVF9CT1JERVIgPSBmYWxzZTtcblxuY29uc3QgW0xFRlQsIFRPUCwgUklHSFQsIEJPVFRPTV0gPSBbMCwgMSwgMiwgM107XG5jbGFzcyBFbmhhbmNlZFRleHRMYXllciBleHRlbmRzIFRleHRMYXllciB7XG4gIGZpbHRlclN1YkxheWVyKHtsYXllciwgcmVuZGVyUGFzc30pIHtcbiAgICBjb25zdCBiYWNrZ3JvdW5kID0gbGF5ZXIuaWQuaW5jbHVkZXMoJ3ByaW1hcnktYmFja2dyb3VuZCcpO1xuICAgIGlmIChyZW5kZXJQYXNzID09PSAnY29sbGlzaW9uJykge1xuICAgICAgcmV0dXJuIGJhY2tncm91bmQ7IC8vIE9ubHkgZHJhdyBwcmltYXJ5IGJhY2tncm91bmQgbGF5ZXIgaW4gY29sbGlzaW9uIHBhc3NcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICFiYWNrZ3JvdW5kIHx8IChTSE9XX1RFWFRfQk9SREVSICYmIHRoaXMucHJvcHMuZ2V0Qm9yZGVyV2lkdGgpOyAvLyBEbyBub3QgZHJhdyBiYWNrZ3JvdW5kIGxheWVyIGluIG90aGVyIHBhc3Nlc1xuICAgIH1cbiAgfVxufVxuXG4vLyBUT0RPIHJlbW92ZSBvbmNlIGh0dHBzOi8vZ2l0aHViLmNvbS92aXNnbC9kZWNrLmdsL3B1bGwvNzc1NyBvdXRcblRleHRMYXllci5kZWZhdWx0UHJvcHMuZm9udFNldHRpbmdzID0ge3R5cGU6ICdvYmplY3QnLCB2YWx1ZToge30sIG9wdGlvbmFsOiB0cnVlLCBjb21wYXJlOiAxfTtcblxuY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICAuLi5UZXh0TGF5ZXIuZGVmYXVsdFByb3BzLFxuICBnZXRSYWRpdXM6IHt0eXBlOiAnYWNjZXNzb3InLCB2YWx1ZTogMX0sXG4gIHJhZGl1c1NjYWxlOiB7dHlwZTogJ251bWJlcicsIG1pbjogMCwgdmFsdWU6IDF9XG59O1xuXG5leHBvcnQgY2xhc3MgUG9pbnRMYWJlbExheWVyIGV4dGVuZHMgQ29tcG9zaXRlTGF5ZXIge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuXG4gIGNhbGN1bGF0ZVBpeGVsT2Zmc2V0KHNlY29uZGFyeSkge1xuICAgIGNvbnN0IHtcbiAgICAgIGdldFRleHRBbmNob3I6IGFuY2hvcixcbiAgICAgIGdldEFsaWdubWVudEJhc2VsaW5lOiBhbGlnbm1lbnQsXG4gICAgICBnZXRSYWRpdXMsXG4gICAgICBnZXRTZWNvbmRhcnlUZXh0LFxuICAgICAgcmFkaXVzU2NhbGUsXG4gICAgICBzZWNvbmRhcnlTaXplU2NhbGUsXG4gICAgICBzaXplU2NhbGVcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB4TXVsdCA9IGFuY2hvciA9PT0gJ21pZGRsZScgPyAwIDogYW5jaG9yID09PSAnc3RhcnQnID8gMSA6IC0xO1xuICAgIGNvbnN0IHlNdWx0ID0gYWxpZ25tZW50ID09PSAnY2VudGVyJyA/IDAgOiBhbGlnbm1lbnQgPT09ICdib3R0b20nID8gMSA6IC0xO1xuXG4gICAgLy8gUGFkZGluZyBiYXNlZCBvbiBmb250IHNpemUgKGZvbnQgc2l6ZSAvIDQpXG4gICAgY29uc3QgeFBhZGRpbmcgPSBzaXplU2NhbGUgLyA0O1xuICAgIGNvbnN0IHlQYWRkaW5nID0gc2l6ZVNjYWxlICogKDEgKyAxIC8gNCk7XG5cbiAgICAvLyBQbGFjZSBzZWNvbmRhcnkgbGFiZWwgdW5kZXIgbWFpbiBsYWJlbCAoc2Vjb25kYXJ5IGxhYmVsIGFsd2F5cyAndG9wJyBiYXNlbGluZSBhbGlnbmVkKVxuICAgIGNvbnN0IHNlY29uZGFyeU9mZnNldCA9IDAuNiAqICgxIC0geU11bHQpICogc2l6ZVNjYWxlO1xuICAgIGxldCB5T2Zmc2V0ID0gc2Vjb25kYXJ5ID8gc2Vjb25kYXJ5T2Zmc2V0IDogMDtcblxuICAgIC8vIFNwZWNpYWwgY2FzZSwgcG9zaXRpb24gcmVsYXRpdmUgdG8gc2Vjb25kYXJ5IGxhYmVsXG4gICAgaWYgKGFuY2hvciA9PT0gJ21pZGRsZScgJiYgYWxpZ25tZW50ID09PSAndG9wJyAmJiBnZXRTZWNvbmRhcnlUZXh0KSB7XG4gICAgICB5T2Zmc2V0IC09IHNlY29uZGFyeU9mZnNldDtcbiAgICAgIHlPZmZzZXQgLT0gc2Vjb25kYXJ5U2l6ZVNjYWxlO1xuICAgICAgeU9mZnNldCArPSBzaXplU2NhbGU7XG4gICAgfVxuXG4gICAgLy8gUGFkZGluZyBiYXNlZCBvbiBwb2ludCByYWRpdXMgKHJhZGl1cy8gNClcbiAgICBjb25zdCByYWRpdXNQYWRkaW5nID0gMSArIDEgLyA0O1xuXG4gICAgcmV0dXJuIHR5cGVvZiBnZXRSYWRpdXMgPT09ICdmdW5jdGlvbidcbiAgICAgID8gZCA9PiB7XG4gICAgICAgICAgY29uc3QgciA9IChkID8gZ2V0UmFkaXVzKGQpIDogMSkgKiByYWRpdXNTY2FsZSAqIHJhZGl1c1BhZGRpbmc7XG4gICAgICAgICAgcmV0dXJuIFt4TXVsdCAqIChyICsgeFBhZGRpbmcpLCB5TXVsdCAqIChyICsgeVBhZGRpbmcpICsgeU9mZnNldF07XG4gICAgICAgIH1cbiAgICAgIDogW1xuICAgICAgICAgIHhNdWx0ICogKGdldFJhZGl1cyAqIHJhZGl1c1NjYWxlICogcmFkaXVzUGFkZGluZyArIHhQYWRkaW5nKSxcbiAgICAgICAgICB5TXVsdCAqIChnZXRSYWRpdXMgKiByYWRpdXNTY2FsZSAqIHJhZGl1c1BhZGRpbmcgKyB5UGFkZGluZykgKyB5T2Zmc2V0XG4gICAgICAgIF07XG4gIH1cblxuICBjYWxjdWxhdGVCYWNrZ3JvdW5kUGFkZGluZyhnZXRQaXhlbE9mZnNldCkge1xuICAgIGNvbnN0IHtnZXRUZXh0QW5jaG9yOiBhbmNob3IsIGdldEFsaWdubWVudEJhc2VsaW5lOiBhbGlnbm1lbnQsIHNpemVTY2FsZX0gPSB0aGlzLnByb3BzO1xuXG4gICAgLy8gSGV1cmlzdGljcyB0byBhdm9pZCBsYWJlbCBvdmVybGFwIChzaG91bGQgd2UgYmFzZSB0aGlzIG9uIHRoZSB0ZXh0IGxlbmd0aD8pXG4gICAgY29uc3QgcGFkZGluZ1ggPSAxMiAqIHNpemVTY2FsZTtcbiAgICBjb25zdCBwYWRkaW5nWSA9IDMgKiBzaXplU2NhbGU7XG4gICAgY29uc3QgYmFja2dyb3VuZFBhZGRpbmcgPSBbMCwgMCwgMCwgMF07XG4gICAgaWYgKGFsaWdubWVudCA9PT0gJ3RvcCcpIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW1RPUF0gPSBwYWRkaW5nWTtcbiAgICB9IGVsc2UgaWYgKGFsaWdubWVudCA9PT0gJ2JvdHRvbScpIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW0JPVFRPTV0gPSBwYWRkaW5nWTtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbVE9QXSA9IDAuNSAqIHBhZGRpbmdZO1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbQk9UVE9NXSA9IDAuNSAqIHBhZGRpbmdZO1xuICAgIH1cbiAgICBpZiAoYW5jaG9yID09PSAnc3RhcnQnKSB7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tMRUZUXSA9IHBhZGRpbmdYO1xuICAgIH0gZWxzZSBpZiAoYW5jaG9yID09PSAnZW5kJykge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbUklHSFRdID0gcGFkZGluZ1g7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW0xFRlRdID0gMC41ICogcGFkZGluZ1g7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tSSUdIVF0gPSAwLjUgKiBwYWRkaW5nWDtcbiAgICB9XG5cbiAgICAvLyBGb3IgZ2V0UmFkaXVzIGZ1bmN0aW9uLCBpbnZva2Ugd2l0aG91dCBkYXRhLCBhcyB0aGVyZSBpcyBubyBiYWNrZ3JvdW5kUGFkZGluZyBhY2Nlc3NvclxuICAgIGNvbnN0IHBpeGVsT2Zmc2V0ID0gQXJyYXkuaXNBcnJheShnZXRQaXhlbE9mZnNldCkgPyBnZXRQaXhlbE9mZnNldCA6IGdldFBpeGVsT2Zmc2V0KCk7XG4gICAgYmFja2dyb3VuZFBhZGRpbmdbTEVGVF0gKz0gcGl4ZWxPZmZzZXRbMF07XG4gICAgYmFja2dyb3VuZFBhZGRpbmdbUklHSFRdIC09IHBpeGVsT2Zmc2V0WzBdO1xuICAgIGJhY2tncm91bmRQYWRkaW5nW1RPUF0gKz0gcGl4ZWxPZmZzZXRbMV07XG4gICAgYmFja2dyb3VuZFBhZGRpbmdbQk9UVE9NXSAtPSBwaXhlbE9mZnNldFsxXTtcblxuICAgIHJldHVybiBiYWNrZ3JvdW5kUGFkZGluZztcbiAgfVxuXG4gIHJlbmRlclRleHRMYXllcihpZCwge3VwZGF0ZVRyaWdnZXJzOiB1cGRhdGVUcmlnZ2Vyc092ZXJyaWRlLCAuLi5wcm9wc30pIHtcbiAgICBjb25zdCB7XG4gICAgICBkYXRhLFxuXG4gICAgICBjaGFyYWN0ZXJTZXQsXG4gICAgICBmb250RmFtaWx5LFxuICAgICAgZm9udFNldHRpbmdzLFxuICAgICAgZm9udFdlaWdodCxcbiAgICAgIG91dGxpbmVDb2xvcixcbiAgICAgIG91dGxpbmVXaWR0aCxcbiAgICAgIHNpemVTY2FsZSxcbiAgICAgIHJhZGl1c1NjYWxlLFxuXG4gICAgICBnZXRBbGlnbm1lbnRCYXNlbGluZSxcbiAgICAgIGdldENvbG9yLFxuICAgICAgZ2V0UG9zaXRpb24sXG4gICAgICBnZXRUZXh0QW5jaG9yLFxuXG4gICAgICB1cGRhdGVUcmlnZ2Vyc1xuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIG5ldyBFbmhhbmNlZFRleHRMYXllcihcbiAgICAgIHRoaXMuZ2V0U3ViTGF5ZXJQcm9wcyh7XG4gICAgICAgIGlkLFxuICAgICAgICBkYXRhOiBkYXRhLFxuXG4gICAgICAgIGNoYXJhY3RlclNldCxcbiAgICAgICAgZm9udEZhbWlseSxcbiAgICAgICAgZm9udFNldHRpbmdzLFxuICAgICAgICBmb250V2VpZ2h0LFxuICAgICAgICBvdXRsaW5lQ29sb3IsXG4gICAgICAgIG91dGxpbmVXaWR0aCxcbiAgICAgICAgc2l6ZVNjYWxlLFxuXG4gICAgICAgIGdldEFsaWdubWVudEJhc2VsaW5lLFxuICAgICAgICBnZXRDb2xvcixcbiAgICAgICAgZ2V0UG9zaXRpb24sXG4gICAgICAgIGdldFRleHRBbmNob3IsXG5cbiAgICAgICAgdXBkYXRlVHJpZ2dlcnM6IHtcbiAgICAgICAgICAuLi51cGRhdGVUcmlnZ2VycyxcbiAgICAgICAgICAuLi51cGRhdGVUcmlnZ2Vyc092ZXJyaWRlLFxuICAgICAgICAgIGdldFBpeGVsT2Zmc2V0OiBbXG4gICAgICAgICAgICB1cGRhdGVUcmlnZ2Vycy5nZXRSYWRpdXMsXG4gICAgICAgICAgICB1cGRhdGVUcmlnZ2Vycy5nZXRUZXh0QW5jaG9yLFxuICAgICAgICAgICAgdXBkYXRlVHJpZ2dlcnMuZ2V0QWxpZ25tZW50QmFzZWxpbmUsXG4gICAgICAgICAgICByYWRpdXNTY2FsZSxcbiAgICAgICAgICAgIHNpemVTY2FsZVxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICB7XG4gICAgICAgIGdldFNpemU6IDFcbiAgICAgIH0sXG4gICAgICAvLyBERUJVR1xuICAgICAgU0hPV19URVhUX0JPUkRFUlxuICAgICAgICA/IHtnZXRCYWNrZ3JvdW5kQ29sb3I6IFswLCAwLCAwLCAwXSwgZ2V0Qm9yZGVyQ29sb3I6IFsyNTUsIDAsIDAsIDgwXSwgZ2V0Qm9yZGVyV2lkdGg6IDF9XG4gICAgICAgIDoge30sXG4gICAgICBwcm9wc1xuICAgICk7XG4gIH1cblxuICByZW5kZXJMYXllcnMoKSB7XG4gICAgY29uc3Qge1xuICAgICAgZ2V0VGV4dCxcbiAgICAgIGdldFNlY29uZGFyeUNvbG9yLFxuICAgICAgZ2V0U2Vjb25kYXJ5VGV4dCxcbiAgICAgIHNlY29uZGFyeU91dGxpbmVDb2xvcixcbiAgICAgIHNlY29uZGFyeVNpemVTY2FsZSxcbiAgICAgIHVwZGF0ZVRyaWdnZXJzXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgZ2V0UGl4ZWxPZmZzZXQgPSB0aGlzLmNhbGN1bGF0ZVBpeGVsT2Zmc2V0KGZhbHNlKTtcbiAgICBjb25zdCBiYWNrZ3JvdW5kUGFkZGluZyA9IHRoaXMuY2FsY3VsYXRlQmFja2dyb3VuZFBhZGRpbmcoZ2V0UGl4ZWxPZmZzZXQpO1xuICAgIGNvbnN0IG91dCA9IFtcbiAgICAgIHRoaXMucmVuZGVyVGV4dExheWVyKCdwcmltYXJ5Jywge1xuICAgICAgICBiYWNrZ3JvdW5kUGFkZGluZyxcbiAgICAgICAgZ2V0VGV4dCxcbiAgICAgICAgZ2V0UGl4ZWxPZmZzZXQsXG4gICAgICAgIGJhY2tncm91bmQ6IHRydWUgLy8gT25seSB1c2UgYmFja2dyb3VuZCBmb3IgcHJpbWFyeSBsYWJlbCBmb3IgZmFzdGVyIGNvbGxpc2lvbnNcbiAgICAgIH0pLFxuICAgICAgZ2V0U2Vjb25kYXJ5VGV4dCAmJlxuICAgICAgICB0aGlzLnJlbmRlclRleHRMYXllcignc2Vjb25kYXJ5Jywge1xuICAgICAgICAgIGdldFRleHQ6IGdldFNlY29uZGFyeVRleHQsXG4gICAgICAgICAgZ2V0UGl4ZWxPZmZzZXQ6IHRoaXMuY2FsY3VsYXRlUGl4ZWxPZmZzZXQodHJ1ZSksXG4gICAgICAgICAgZ2V0QWxpZ25tZW50QmFzZWxpbmU6ICd0b3AnLFxuICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzOiB7Z2V0VGV4dDogdXBkYXRlVHJpZ2dlcnMuZ2V0U2Vjb25kYXJ5VGV4dH0sXG5cbiAgICAgICAgICAvLyBPcHRpb25hbCBvdmVycmlkZXNcbiAgICAgICAgICAuLi4oZ2V0U2Vjb25kYXJ5Q29sb3IgJiYge2dldENvbG9yOiBnZXRTZWNvbmRhcnlDb2xvcn0pLFxuICAgICAgICAgIC4uLihzZWNvbmRhcnlTaXplU2NhbGUgJiYge3NpemVTY2FsZTogc2Vjb25kYXJ5U2l6ZVNjYWxlfSksXG4gICAgICAgICAgLi4uKHNlY29uZGFyeU91dGxpbmVDb2xvciAmJiB7b3V0bGluZUNvbG9yOiBzZWNvbmRhcnlPdXRsaW5lQ29sb3J9KVxuICAgICAgICB9KVxuICAgIF07XG5cbiAgICByZXR1cm4gb3V0O1xuICB9XG59XG4iXX0=
|
|
280
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNrZ2wtbGF5ZXJzL3BvaW50LWxhYmVsLWxheWVyL3BvaW50LWxhYmVsLWxheWVyLmpzIl0sIm5hbWVzIjpbIlNIT1dfVEVYVF9CT1JERVIiLCJMRUZUIiwiVE9QIiwiUklHSFQiLCJCT1RUT00iLCJFbmhhbmNlZFRleHRCYWNrZ3JvdW5kTGF5ZXIiLCJzaGFkZXJzIiwidnMiLCJyZXBsYWNlQWxsIiwicmVwbGFjZSIsIlRleHRCYWNrZ3JvdW5kTGF5ZXIiLCJFbmhhbmNlZFRleHRMYXllciIsImxheWVyIiwicmVuZGVyUGFzcyIsImJhY2tncm91bmQiLCJpZCIsImluY2x1ZGVzIiwicHJvcHMiLCJnZXRCb3JkZXJXaWR0aCIsIlRleHRMYXllciIsImRlZmF1bHRQcm9wcyIsImdldFJhZGl1cyIsInR5cGUiLCJ2YWx1ZSIsInJhZGl1c1NjYWxlIiwibWluIiwiUG9pbnRMYWJlbExheWVyIiwic2Vjb25kYXJ5IiwiYW5jaG9yIiwiZ2V0VGV4dEFuY2hvciIsImFsaWdubWVudCIsImdldEFsaWdubWVudEJhc2VsaW5lIiwiZ2V0U2Vjb25kYXJ5VGV4dCIsInNlY29uZGFyeVNpemVTY2FsZSIsInNpemVTY2FsZSIsInhNdWx0IiwieU11bHQiLCJ4UGFkZGluZyIsInlQYWRkaW5nIiwic2Vjb25kYXJ5T2Zmc2V0IiwieU9mZnNldCIsInJhZGl1c1BhZGRpbmciLCJkIiwiaW5mbyIsInIiLCJwYWRkaW5nWCIsInBhZGRpbmdZIiwiYmFja2dyb3VuZFBhZGRpbmciLCJ1cGRhdGVUcmlnZ2Vyc092ZXJyaWRlIiwidXBkYXRlVHJpZ2dlcnMiLCJkYXRhIiwiY2hhcmFjdGVyU2V0IiwiZm9udEZhbWlseSIsImZvbnRTZXR0aW5ncyIsImZvbnRXZWlnaHQiLCJvdXRsaW5lQ29sb3IiLCJvdXRsaW5lV2lkdGgiLCJnZXRDb2xvciIsImdldFBvc2l0aW9uIiwiZ2V0U3ViTGF5ZXJQcm9wcyIsImdldFBpeGVsT2Zmc2V0IiwiZ2V0U2l6ZSIsIl9zdWJMYXllclByb3BzIiwiZ2V0QmFja2dyb3VuZENvbG9yIiwiZ2V0Qm9yZGVyQ29sb3IiLCJnZXRUZXh0IiwiZ2V0U2Vjb25kYXJ5Q29sb3IiLCJzZWNvbmRhcnlPdXRsaW5lQ29sb3IiLCJjYWxjdWxhdGVQaXhlbE9mZnNldCIsImNhbGN1bGF0ZUJhY2tncm91bmRQYWRkaW5nIiwib3V0IiwicmVuZGVyVGV4dExheWVyIiwiQ29tcG9zaXRlTGF5ZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7Ozs7Ozs7OztBQUVBO0FBQ0EsSUFBTUEsZ0JBQWdCLEdBQUcsS0FBekI7SUFFT0MsSSxHQUE2QixDO0lBQXZCQyxHLEdBQTBCLEM7SUFBckJDLEssR0FBd0IsQztJQUFqQkMsTSxHQUFvQixDOztJQUV2Q0MsMkI7Ozs7Ozs7Ozs7OztXQUNKLHNCQUFhO0FBQ1gsVUFBTUMsT0FBTyxnSUFBYjtBQUNBLFVBQUlDLEVBQUUsR0FBR0QsT0FBTyxDQUFDQyxFQUFqQixDQUZXLENBSVg7QUFDQTs7QUFDQUEsTUFBQUEsRUFBRSxHQUFHQSxFQUFFLENBQUNDLFVBQUgsQ0FBYyxVQUFkLEVBQTBCLFdBQTFCLENBQUw7QUFDQUQsTUFBQUEsRUFBRSxHQUFHQSxFQUFFLENBQUNFLE9BQUgsQ0FDSCxtQkFERyxFQUVILHdHQUZHLENBQUw7QUFLQSw2Q0FBV0gsT0FBWDtBQUFvQkMsUUFBQUEsRUFBRSxFQUFGQTtBQUFwQjtBQUNEOzs7RUFkdUNHLDRCLEdBaUIxQztBQUNBOzs7SUFDTUMsaUI7Ozs7Ozs7Ozs7OztXQUNKLDhCQUFvQztBQUFBLFVBQXBCQyxLQUFvQixRQUFwQkEsS0FBb0I7QUFBQSxVQUFiQyxVQUFhLFFBQWJBLFVBQWE7QUFDbEMsVUFBTUMsVUFBVSxHQUFHRixLQUFLLENBQUNHLEVBQU4sQ0FBU0MsUUFBVCxDQUFrQixvQkFBbEIsQ0FBbkI7O0FBQ0EsVUFBSUgsVUFBVSxLQUFLLFdBQW5CLEVBQWdDO0FBQzlCLGVBQU9DLFVBQVAsQ0FEOEIsQ0FDWDtB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LFVBQU1yQixpQkFBaUIsR0FBRyxLQUFLc0IsMEJBQUwsRUFBMUI7QUFDQSxVQUFNQyxHQUFHLEdBQUcsQ0FDVixLQUFLQyxlQUFMLENBQXFCLFNBQXJCLEVBQWdDO0FBQzlCeEIsUUFBQUEsaUJBQWlCLEVBQWpCQSxpQkFEOEI7QUFFOUJrQixRQUFBQSxPQUFPLEVBQVBBLE9BRjhCO0FBRzlCTCxRQUFBQSxjQUFjLEVBQWRBLGNBSDhCO0FBSTlCOUMsUUFBQUEsVUFBVSxFQUFFLElBSmtCLENBSWI7O0FBSmEsT0FBaEMsQ0FEVSxFQU9Wa0IsZ0JBQWdCLElBQ2QsS0FBS3VDLGVBQUwsQ0FBcUIsV0FBckI7QUFDRU4sUUFBQUEsT0FBTyxFQUFFakMsZ0JBRFg7QUFFRTRCLFFBQUFBLGNBQWMsRUFBRSxLQUFLUSxvQkFBTCxDQUEwQixJQUExQixDQUZsQjtBQUdFckMsUUFBQUEsb0JBQW9CLEVBQUUsS0FIeEI7QUFJRWtCLFFBQUFBLGNBQWMsRUFBRTtBQUFDZ0IsVUFBQUEsT0FBTyxFQUFFaEIsY0FBYyxDQUFDakI7QUFBekI7QUFKbEIsU0FPTWtDLGlCQUFpQixJQUFJO0FBQUNULFFBQUFBLFFBQVEsRUFBRVM7QUFBWCxPQVAzQixHQVFNakMsa0JBQWtCLElBQUk7QUFBQ0MsUUFBQUEsU0FBUyxFQUFFRDtBQUFaLE9BUjVCLEdBU01rQyxxQkFBcUIsSUFBSTtBQUFDWixRQUFBQSxZQUFZLEVBQUVZO0FBQWYsT0FUL0IsRUFSUSxDQUFaO0FBcUJBLGFBQU9HLEdBQVA7QUFDRDs7O0VBektrQ0Usb0I7OztpQ0FBeEI5QyxlLGVBQ1EsaUI7aUNBRFJBLGUsa0JBRVdOLFkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvc2l0ZUxheWVyfSBmcm9tICdAZGVjay5nbC9jb3JlJztcbmltcG9ydCB7VGV4dExheWVyLCBfVGV4dEJhY2tncm91bmRMYXllciBhcyBUZXh0QmFja2dyb3VuZExheWVyfSBmcm9tICdAZGVjay5nbC9sYXllcnMnO1xuXG4vLyBUT0RPIHJlbW92ZSBwcmlvciB0byByZWxlYXNlXG5jb25zdCBTSE9XX1RFWFRfQk9SREVSID0gZmFsc2U7XG5cbmNvbnN0IFtMRUZULCBUT1AsIFJJR0hULCBCT1RUT01dID0gWzAsIDEsIDIsIDNdO1xuXG5jbGFzcyBFbmhhbmNlZFRleHRCYWNrZ3JvdW5kTGF5ZXIgZXh0ZW5kcyBUZXh0QmFja2dyb3VuZExheWVyIHtcbiAgZ2V0U2hhZGVycygpIHtcbiAgICBjb25zdCBzaGFkZXJzID0gc3VwZXIuZ2V0U2hhZGVycygpO1xuICAgIGxldCB2cyA9IHNoYWRlcnMudnM7XG5cbiAgICAvLyBNb2RpZnkgc2hhZGVyIHNvIHRoYXQgdGhlIHBhZGRpbmcgaXMgb2Zmc2V0IGJ5IHRoZSBwaXhlbCBvZmZzZXQgdG8gZW5zdXJlIHRoZSBwYWRkaW5nXG4gICAgLy8gYWx3YXlzIGNhcHR1cmVzIHRoZSBhbmNob3IgcG9pbnQuIEFzIHBhZGRpbmcgaXMgdW5pZm9ybSB3ZSBjYW5ub3QgcGFzcyBpdCBhIHBlci1sYWJlbCB2YWx1ZVxuICAgIHZzID0gdnMucmVwbGFjZUFsbCgncGFkZGluZy4nLCAnX3BhZGRpbmcuJyk7XG4gICAgdnMgPSB2cy5yZXBsYWNlKFxuICAgICAgJ3ZvaWQgbWFpbih2b2lkKSB7JyxcbiAgICAgICd2b2lkIG1haW4odm9pZCkge1xcbiAgdmVjNCBfcGFkZGluZyA9IHBhZGRpbmcgKyBpbnN0YW5jZVBpeGVsT2Zmc2V0cy54eXh5ICogdmVjNCgxLjAsIDEuMCwgLTEuMCwgLTEuMCk7J1xuICAgICk7XG5cbiAgICByZXR1cm4gey4uLnNoYWRlcnMsIHZzfTtcbiAgfVxufVxuXG4vLyBUZXh0TGF5ZXIgd2hpY2ggaW5jbHVkZXMgbW9kaWZpZWQgdGV4dC1iYWNrZ3JvdW5kLWxheWVyLXZlcnRleCBzaGFkZXIgYW5kIG9ubHkgcmVuZGVycyB0aGVcbi8vIHByaW1hcnkgYmFja2dyb3VuZCBsYXllciBpbiB0aGUgY29sbGlzaW9uIHBhc3NcbmNsYXNzIEVuaGFuY2VkVGV4dExheWVyIGV4dGVuZHMgVGV4dExheWVyIHtcbiAgZmlsdGVyU3ViTGF5ZXIoe2xheWVyLCByZW5kZXJQYXNzfSkge1xuICAgIGNvbnN0IGJhY2tncm91bmQgPSBsYXllci5pZC5pbmNsdWRlcygncHJpbWFyeS1iYWNrZ3JvdW5kJyk7XG4gICAgaWYgKHJlbmRlclBhc3MgPT09ICdjb2xsaXNpb24nKSB7XG4gICAgICByZXR1cm4gYmFja2dyb3VuZDsgLy8gT25seSBkcmF3IHByaW1hcnkgYmFja2dyb3VuZCBsYXllciBpbiBjb2xsaXNpb24gcGFzc1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gIWJhY2tncm91bmQgfHwgKFNIT1dfVEVYVF9CT1JERVIgJiYgdGhpcy5wcm9wcy5nZXRCb3JkZXJXaWR0aCk7IC8vIERvIG5vdCBkcmF3IGJhY2tncm91bmQgbGF5ZXIgaW4gb3RoZXIgcGFzc2VzXG4gICAgfVxuICB9XG59XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgLi4uVGV4dExheWVyLmRlZmF1bHRQcm9wcyxcbiAgZ2V0UmFkaXVzOiB7dHlwZTogJ2FjY2Vzc29yJywgdmFsdWU6IDF9LFxuICByYWRpdXNTY2FsZToge3R5cGU6ICdudW1iZXInLCBtaW46IDAsIHZhbHVlOiAxfVxufTtcblxuZXhwb3J0IGNsYXNzIFBvaW50TGFiZWxMYXllciBleHRlbmRzIENvbXBvc2l0ZUxheWVyIHtcbiAgc3RhdGljIGxheWVyTmFtZSA9ICdQb2ludExhYmVsTGF5ZXInO1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuXG4gIGNhbGN1bGF0ZVBpeGVsT2Zmc2V0KHNlY29uZGFyeSkge1xuICAgIGNvbnN0IHtcbiAgICAgIGdldFRleHRBbmNob3I6IGFuY2hvcixcbiAgICAgIGdldEFsaWdubWVudEJhc2VsaW5lOiBhbGlnbm1lbnQsXG4gICAgICBnZXRSYWRpdXMsXG4gICAgICBnZXRTZWNvbmRhcnlUZXh0LFxuICAgICAgcmFkaXVzU2NhbGUsXG4gICAgICBzZWNvbmRhcnlTaXplU2NhbGUsXG4gICAgICBzaXplU2NhbGVcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB4TXVsdCA9IGFuY2hvciA9PT0gJ21pZGRsZScgPyAwIDogYW5jaG9yID09PSAnc3RhcnQnID8gMSA6IC0xO1xuICAgIGNvbnN0IHlNdWx0ID0gYWxpZ25tZW50ID09PSAnY2VudGVyJyA/IDAgOiBhbGlnbm1lbnQgPT09ICdib3R0b20nID8gMSA6IC0xO1xuXG4gICAgLy8gUGFkZGluZyBiYXNlZCBvbiBmb250IHNpemUgKGZvbnQgc2l6ZSAvIDQpXG4gICAgY29uc3QgeFBhZGRpbmcgPSBzaXplU2NhbGUgLyA0O1xuICAgIGNvbnN0IHlQYWRkaW5nID0gc2l6ZVNjYWxlICogKDEgKyAxIC8gNCk7XG5cbiAgICAvLyBQbGFjZSBzZWNvbmRhcnkgbGFiZWwgdW5kZXIgbWFpbiBsYWJlbCAoc2Vjb25kYXJ5IGxhYmVsIGFsd2F5cyAndG9wJyBiYXNlbGluZSBhbGlnbmVkKVxuICAgIGNvbnN0IHNlY29uZGFyeU9mZnNldCA9IDAuNiAqICgxIC0geU11bHQpICogc2l6ZVNjYWxlO1xuICAgIGxldCB5T2Zmc2V0ID0gc2Vjb25kYXJ5ID8gc2Vjb25kYXJ5T2Zmc2V0IDogMDtcblxuICAgIC8vIFNwZWNpYWwgY2FzZSwgcG9zaXRpb24gcmVsYXRpdmUgdG8gc2Vjb25kYXJ5IGxhYmVsXG4gICAgaWYgKGFuY2hvciA9PT0gJ21pZGRsZScgJiYgYWxpZ25tZW50ID09PSAndG9wJyAmJiBnZXRTZWNvbmRhcnlUZXh0KSB7XG4gICAgICB5T2Zmc2V0IC09IHNlY29uZGFyeU9mZnNldDtcbiAgICAgIHlPZmZzZXQgLT0gc2Vjb25kYXJ5U2l6ZVNjYWxlO1xuICAgICAgeU9mZnNldCArPSBzaXplU2NhbGU7XG4gICAgfVxuXG4gICAgLy8gUGFkZGluZyBiYXNlZCBvbiBwb2ludCByYWRpdXMgKHJhZGl1cy8gNClcbiAgICBjb25zdCByYWRpdXNQYWRkaW5nID0gMSArIDEgLyA0O1xuXG4gICAgcmV0dXJuIHR5cGVvZiBnZXRSYWRpdXMgPT09ICdmdW5jdGlvbidcbiAgICAgID8gKGQsIGluZm8pID0+IHtcbiAgICAgICAgICBjb25zdCByID0gKGluZm8gPyBnZXRSYWRpdXMoZCwgaW5mbykgOiAxKSAqIHJhZGl1c1NjYWxlICogcmFkaXVzUGFkZGluZztcbiAgICAgICAgICByZXR1cm4gW3hNdWx0ICogKHIgKyB4UGFkZGluZyksIHlNdWx0ICogKHIgKyB5UGFkZGluZykgKyB5T2Zmc2V0XTtcbiAgICAgICAgfVxuICAgICAgOiBbXG4gICAgICAgICAgeE11bHQgKiAoZ2V0UmFkaXVzICogcmFkaXVzU2NhbGUgKiByYWRpdXNQYWRkaW5nICsgeFBhZGRpbmcpLFxuICAgICAgICAgIHlNdWx0ICogKGdldFJhZGl1cyAqIHJhZGl1c1NjYWxlICogcmFkaXVzUGFkZGluZyArIHlQYWRkaW5nKSArIHlPZmZzZXRcbiAgICAgICAgXTtcbiAgfVxuXG4gIGNhbGN1bGF0ZUJhY2tncm91bmRQYWRkaW5nKCkge1xuICAgIGNvbnN0IHtnZXRUZXh0QW5jaG9yOiBhbmNob3IsIGdldEFsaWdubWVudEJhc2VsaW5lOiBhbGlnbm1lbnQsIHNpemVTY2FsZX0gPSB0aGlzLnByb3BzO1xuXG4gICAgLy8gSGV1cmlzdGljcyB0byBhdm9pZCBsYWJlbCBvdmVybGFwIChzaG91bGQgd2UgYmFzZSB0aGlzIG9uIHRoZSB0ZXh0IGxlbmd0aD8pXG4gICAgY29uc3QgcGFkZGluZ1ggPSAxMiAqIHNpemVTY2FsZTtcbiAgICBjb25zdCBwYWRkaW5nWSA9IDMgKiBzaXplU2NhbGU7XG4gICAgY29uc3QgYmFja2dyb3VuZFBhZGRpbmcgPSBbMCwgMCwgMCwgMF07XG4gICAgaWYgKGFsaWdubWVudCA9PT0gJ3RvcCcpIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW1RPUF0gPSBwYWRkaW5nWTtcbiAgICB9IGVsc2UgaWYgKGFsaWdubWVudCA9PT0gJ2JvdHRvbScpIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW0JPVFRPTV0gPSBwYWRkaW5nWTtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbVE9QXSA9IDAuNSAqIHBhZGRpbmdZO1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbQk9UVE9NXSA9IDAuNSAqIHBhZGRpbmdZO1xuICAgIH1cbiAgICBpZiAoYW5jaG9yID09PSAnc3RhcnQnKSB7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tMRUZUXSA9IHBhZGRpbmdYO1xuICAgIH0gZWxzZSBpZiAoYW5jaG9yID09PSAnZW5kJykge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbUklHSFRdID0gcGFkZGluZ1g7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW0xFRlRdID0gMC41ICogcGFkZGluZ1g7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tSSUdIVF0gPSAwLjUgKiBwYWRkaW5nWDtcbiAgICB9XG5cbiAgICByZXR1cm4gYmFja2dyb3VuZFBhZGRpbmc7XG4gIH1cblxuICByZW5kZXJUZXh0TGF5ZXIoaWQsIHt1cGRhdGVUcmlnZ2VyczogdXBkYXRlVHJpZ2dlcnNPdmVycmlkZSwgLi4ucHJvcHN9KSB7XG4gICAgY29uc3Qge1xuICAgICAgZGF0YSxcblxuICAgICAgY2hhcmFjdGVyU2V0LFxuICAgICAgZm9udEZhbWlseSxcbiAgICAgIGZvbnRTZXR0aW5ncyxcbiAgICAgIGZvbnRXZWlnaHQsXG4gICAgICBvdXRsaW5lQ29sb3IsXG4gICAgICBvdXRsaW5lV2lkdGgsXG4gICAgICBzaXplU2NhbGUsXG4gICAgICByYWRpdXNTY2FsZSxcblxuICAgICAgZ2V0QWxpZ25tZW50QmFzZWxpbmUsXG4gICAgICBnZXRDb2xvcixcbiAgICAgIGdldFBvc2l0aW9uLFxuICAgICAgZ2V0VGV4dEFuY2hvcixcblxuICAgICAgdXBkYXRlVHJpZ2dlcnNcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBuZXcgRW5oYW5jZWRUZXh0TGF5ZXIoXG4gICAgICB0aGlzLmdldFN1YkxheWVyUHJvcHMoe1xuICAgICAgICBpZCxcbiAgICAgICAgZGF0YTogZGF0YSxcblxuICAgICAgICBjaGFyYWN0ZXJTZXQsXG4gICAgICAgIGZvbnRGYW1pbHksXG4gICAgICAgIGZvbnRTZXR0aW5ncyxcbiAgICAgICAgZm9udFdlaWdodCxcbiAgICAgICAgb3V0bGluZUNvbG9yLFxuICAgICAgICBvdXRsaW5lV2lkdGgsXG4gICAgICAgIHNpemVTY2FsZSxcblxuICAgICAgICBnZXRBbGlnbm1lbnRCYXNlbGluZSxcbiAgICAgICAgZ2V0Q29sb3IsXG4gICAgICAgIGdldFBvc2l0aW9uLFxuICAgICAgICBnZXRUZXh0QW5jaG9yLFxuXG4gICAgICAgIHVwZGF0ZVRyaWdnZXJzOiB7XG4gICAgICAgICAgLi4udXBkYXRlVHJpZ2dlcnMsXG4gICAgICAgICAgLi4udXBkYXRlVHJpZ2dlcnNPdmVycmlkZSxcbiAgICAgICAgICBnZXRQaXhlbE9mZnNldDogW1xuICAgICAgICAgICAgdXBkYXRlVHJpZ2dlcnMuZ2V0UmFkaXVzLFxuICAgICAgICAgICAgdXBkYXRlVHJpZ2dlcnMuZ2V0VGV4dEFuY2hvcixcbiAgICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzLmdldEFsaWdubWVudEJhc2VsaW5lLFxuICAgICAgICAgICAgcmFkaXVzU2NhbGUsXG4gICAgICAgICAgICBzaXplU2NhbGVcbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAge1xuICAgICAgICBnZXRTaXplOiAxLFxuICAgICAgICBfc3ViTGF5ZXJQcm9wczoge2JhY2tncm91bmQ6IHt0eXBlOiBFbmhhbmNlZFRleHRCYWNrZ3JvdW5kTGF5ZXJ9fVxuICAgICAgfSxcbiAgICAgIC8vIERFQlVHXG4gICAgICBTSE9XX1RFWFRfQk9SREVSXG4gICAgICAgID8ge2dldEJhY2tncm91bmRDb2xvcjogWzAsIDAsIDAsIDBdLCBnZXRCb3JkZXJDb2xvcjogWzI1NSwgMCwgMCwgODBdLCBnZXRCb3JkZXJXaWR0aDogMX1cbiAgICAgICAgOiB7fSxcbiAgICAgIHByb3BzXG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlckxheWVycygpIHtcbiAgICBjb25zdCB7XG4gICAgICBnZXRUZXh0LFxuICAgICAgZ2V0U2Vjb25kYXJ5Q29sb3IsXG4gICAgICBnZXRTZWNvbmRhcnlUZXh0LFxuICAgICAgc2Vjb25kYXJ5T3V0bGluZUNvbG9yLFxuICAgICAgc2Vjb25kYXJ5U2l6ZVNjYWxlLFxuICAgICAgdXBkYXRlVHJpZ2dlcnNcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBnZXRQaXhlbE9mZnNldCA9IHRoaXMuY2FsY3VsYXRlUGl4ZWxPZmZzZXQoZmFsc2UpO1xuICAgIGNvbnN0IGJhY2tncm91bmRQYWRkaW5nID0gdGhpcy5jYWxjdWxhdGVCYWNrZ3JvdW5kUGFkZGluZygpO1xuICAgIGNvbnN0IG91dCA9IFtcbiAgICAgIHRoaXMucmVuZGVyVGV4dExheWVyKCdwcmltYXJ5Jywge1xuICAgICAgICBiYWNrZ3JvdW5kUGFkZGluZyxcbiAgICAgICAgZ2V0VGV4dCxcbiAgICAgICAgZ2V0UGl4ZWxPZmZzZXQsXG4gICAgICAgIGJhY2tncm91bmQ6IHRydWUgLy8gT25seSB1c2UgYmFja2dyb3VuZCBmb3IgcHJpbWFyeSBsYWJlbCBmb3IgZmFzdGVyIGNvbGxpc2lvbnNcbiAgICAgIH0pLFxuICAgICAgZ2V0U2Vjb25kYXJ5VGV4dCAmJlxuICAgICAgICB0aGlzLnJlbmRlclRleHRMYXllcignc2Vjb25kYXJ5Jywge1xuICAgICAgICAgIGdldFRleHQ6IGdldFNlY29uZGFyeVRleHQsXG4gICAgICAgICAgZ2V0UGl4ZWxPZmZzZXQ6IHRoaXMuY2FsY3VsYXRlUGl4ZWxPZmZzZXQodHJ1ZSksXG4gICAgICAgICAgZ2V0QWxpZ25tZW50QmFzZWxpbmU6ICd0b3AnLFxuICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzOiB7Z2V0VGV4dDogdXBkYXRlVHJpZ2dlcnMuZ2V0U2Vjb25kYXJ5VGV4dH0sXG5cbiAgICAgICAgICAvLyBPcHRpb25hbCBvdmVycmlkZXNcbiAgICAgICAgICAuLi4oZ2V0U2Vjb25kYXJ5Q29sb3IgJiYge2dldENvbG9yOiBnZXRTZWNvbmRhcnlDb2xvcn0pLFxuICAgICAgICAgIC4uLihzZWNvbmRhcnlTaXplU2NhbGUgJiYge3NpemVTY2FsZTogc2Vjb25kYXJ5U2l6ZVNjYWxlfSksXG4gICAgICAgICAgLi4uKHNlY29uZGFyeU91dGxpbmVDb2xvciAmJiB7b3V0bGluZUNvbG9yOiBzZWNvbmRhcnlPdXRsaW5lQ29sb3J9KVxuICAgICAgICB9KVxuICAgIF07XG5cbiAgICByZXR1cm4gb3V0O1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@carto/kepler.gl",
|
|
3
3
|
"author": "CARTO",
|
|
4
4
|
"homepage": "https://github.com/CartoDB/carto-kepler#readme",
|
|
5
|
-
"version": "0.0.65-alpha.labels.
|
|
5
|
+
"version": "0.0.65-alpha.labels.7",
|
|
6
6
|
"description": "kepler.gl is a webgl based application to visualize large scale location data in the browser",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"main": "dist/index.js",
|
|
Binary file
|
|
@@ -1,10 +1,30 @@
|
|
|
1
1
|
import {CompositeLayer} from '@deck.gl/core';
|
|
2
|
-
import {TextLayer} from '@deck.gl/layers';
|
|
2
|
+
import {TextLayer, _TextBackgroundLayer as TextBackgroundLayer} from '@deck.gl/layers';
|
|
3
3
|
|
|
4
4
|
// TODO remove prior to release
|
|
5
5
|
const SHOW_TEXT_BORDER = false;
|
|
6
6
|
|
|
7
7
|
const [LEFT, TOP, RIGHT, BOTTOM] = [0, 1, 2, 3];
|
|
8
|
+
|
|
9
|
+
class EnhancedTextBackgroundLayer extends TextBackgroundLayer {
|
|
10
|
+
getShaders() {
|
|
11
|
+
const shaders = super.getShaders();
|
|
12
|
+
let vs = shaders.vs;
|
|
13
|
+
|
|
14
|
+
// Modify shader so that the padding is offset by the pixel offset to ensure the padding
|
|
15
|
+
// always captures the anchor point. As padding is uniform we cannot pass it a per-label value
|
|
16
|
+
vs = vs.replaceAll('padding.', '_padding.');
|
|
17
|
+
vs = vs.replace(
|
|
18
|
+
'void main(void) {',
|
|
19
|
+
'void main(void) {\n vec4 _padding = padding + instancePixelOffsets.xyxy * vec4(1.0, 1.0, -1.0, -1.0);'
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
return {...shaders, vs};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// TextLayer which includes modified text-background-layer-vertex shader and only renders the
|
|
27
|
+
// primary background layer in the collision pass
|
|
8
28
|
class EnhancedTextLayer extends TextLayer {
|
|
9
29
|
filterSubLayer({layer, renderPass}) {
|
|
10
30
|
const background = layer.id.includes('primary-background');
|
|
@@ -16,9 +36,6 @@ class EnhancedTextLayer extends TextLayer {
|
|
|
16
36
|
}
|
|
17
37
|
}
|
|
18
38
|
|
|
19
|
-
// TODO remove once https://github.com/visgl/deck.gl/pull/7757 out
|
|
20
|
-
TextLayer.defaultProps.fontSettings = {type: 'object', value: {}, optional: true, compare: 1};
|
|
21
|
-
|
|
22
39
|
const defaultProps = {
|
|
23
40
|
...TextLayer.defaultProps,
|
|
24
41
|
getRadius: {type: 'accessor', value: 1},
|
|
@@ -26,6 +43,7 @@ const defaultProps = {
|
|
|
26
43
|
};
|
|
27
44
|
|
|
28
45
|
export class PointLabelLayer extends CompositeLayer {
|
|
46
|
+
static layerName = 'PointLabelLayer';
|
|
29
47
|
static defaultProps = defaultProps;
|
|
30
48
|
|
|
31
49
|
calculatePixelOffset(secondary) {
|
|
@@ -60,8 +78,8 @@ export class PointLabelLayer extends CompositeLayer {
|
|
|
60
78
|
const radiusPadding = 1 + 1 / 4;
|
|
61
79
|
|
|
62
80
|
return typeof getRadius === 'function'
|
|
63
|
-
? d => {
|
|
64
|
-
const r = (
|
|
81
|
+
? (d, info) => {
|
|
82
|
+
const r = (info ? getRadius(d, info) : 1) * radiusScale * radiusPadding;
|
|
65
83
|
return [xMult * (r + xPadding), yMult * (r + yPadding) + yOffset];
|
|
66
84
|
}
|
|
67
85
|
: [
|
|
@@ -70,7 +88,7 @@ export class PointLabelLayer extends CompositeLayer {
|
|
|
70
88
|
];
|
|
71
89
|
}
|
|
72
90
|
|
|
73
|
-
calculateBackgroundPadding(
|
|
91
|
+
calculateBackgroundPadding() {
|
|
74
92
|
const {getTextAnchor: anchor, getAlignmentBaseline: alignment, sizeScale} = this.props;
|
|
75
93
|
|
|
76
94
|
// Heuristics to avoid label overlap (should we base this on the text length?)
|
|
@@ -94,13 +112,6 @@ export class PointLabelLayer extends CompositeLayer {
|
|
|
94
112
|
backgroundPadding[RIGHT] = 0.5 * paddingX;
|
|
95
113
|
}
|
|
96
114
|
|
|
97
|
-
// For getRadius function, invoke without data, as there is no backgroundPadding accessor
|
|
98
|
-
const pixelOffset = Array.isArray(getPixelOffset) ? getPixelOffset : getPixelOffset();
|
|
99
|
-
backgroundPadding[LEFT] += pixelOffset[0];
|
|
100
|
-
backgroundPadding[RIGHT] -= pixelOffset[0];
|
|
101
|
-
backgroundPadding[TOP] += pixelOffset[1];
|
|
102
|
-
backgroundPadding[BOTTOM] -= pixelOffset[1];
|
|
103
|
-
|
|
104
115
|
return backgroundPadding;
|
|
105
116
|
}
|
|
106
117
|
|
|
@@ -156,7 +167,8 @@ export class PointLabelLayer extends CompositeLayer {
|
|
|
156
167
|
}
|
|
157
168
|
}),
|
|
158
169
|
{
|
|
159
|
-
getSize: 1
|
|
170
|
+
getSize: 1,
|
|
171
|
+
_subLayerProps: {background: {type: EnhancedTextBackgroundLayer}}
|
|
160
172
|
},
|
|
161
173
|
// DEBUG
|
|
162
174
|
SHOW_TEXT_BORDER
|
|
@@ -176,7 +188,7 @@ export class PointLabelLayer extends CompositeLayer {
|
|
|
176
188
|
updateTriggers
|
|
177
189
|
} = this.props;
|
|
178
190
|
const getPixelOffset = this.calculatePixelOffset(false);
|
|
179
|
-
const backgroundPadding = this.calculateBackgroundPadding(
|
|
191
|
+
const backgroundPadding = this.calculateBackgroundPadding();
|
|
180
192
|
const out = [
|
|
181
193
|
this.renderTextLayer('primary', {
|
|
182
194
|
backgroundPadding,
|
|
Binary file
|