@kepler.gl/constants 3.3.0-alpha.5 → 3.3.0-alpha.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/cjs/annotation.js +45 -0
- package/dist/cjs/color-palettes.js +461 -0
- package/dist/cjs/colors-by-theme.js +519 -0
- package/dist/cjs/dataset.js +82 -0
- package/dist/cjs/default-settings.js +1737 -0
- package/dist/cjs/gpu-parameters.js +125 -0
- package/dist/cjs/index.js +149 -0
- package/dist/cjs/keyevent.js +26 -0
- package/dist/cjs/layers.js +606 -0
- package/dist/{plot.js → cjs/plot.js} +1 -1
- package/dist/cjs/time.js +194 -0
- package/dist/cjs/tooltip.js +221 -0
- package/dist/cjs/user-feedbacks.js +15 -0
- package/dist/cjs/user-guides.js +19 -0
- package/dist/default-settings.d.ts +16 -0
- package/dist/esm/annotation.js +38 -0
- package/dist/esm/color-palettes.js +453 -0
- package/dist/esm/colors-by-theme.js +513 -0
- package/dist/esm/dataset.js +80 -0
- package/dist/esm/default-settings.js +1731 -0
- package/dist/esm/gpu-parameters.js +119 -0
- package/dist/esm/index.js +18 -0
- package/dist/esm/keyevent.js +19 -0
- package/dist/esm/layers.js +599 -0
- package/dist/esm/plot.js +9 -0
- package/dist/esm/time.js +190 -0
- package/dist/esm/tooltip.js +215 -0
- package/dist/esm/user-feedbacks.js +9 -0
- package/dist/esm/user-guides.js +13 -0
- package/dist/layers.d.ts +1 -0
- package/package.json +17 -8
- package/dist/annotation.js +0 -45
- package/dist/color-palettes.js +0 -461
- package/dist/colors-by-theme.js +0 -519
- package/dist/dataset.js +0 -82
- package/dist/default-settings.js +0 -1729
- package/dist/gpu-parameters.js +0 -125
- package/dist/index.js +0 -149
- package/dist/keyevent.js +0 -26
- package/dist/layers.js +0 -605
- package/dist/time.js +0 -194
- package/dist/tooltip.js +0 -221
- package/dist/user-feedbacks.js +0 -15
- package/dist/user-guides.js +0 -19
|
@@ -0,0 +1,606 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.UNKNOWN_COLOR_KEY = exports.PROPERTY_GROUPS = exports.LAYER_VIS_CONFIGS = exports.LAYER_TYPES = exports.LAYER_TEXT_CONFIGS = exports.EDITOR_AVAILABLE_LAYERS = exports.DEFAULT_TEXT_LABEL = exports.DEFAULT_LAYER_OPACITY = exports.DEFAULT_LAYER_LABEL = exports.DEFAULT_HIGHLIGHT_COLOR = exports.DEFAULT_CUSTOM_PALETTE = exports.DEFAULT_COLOR_UI = exports.DEFAULT_COLOR_RANGE = void 0;
|
|
8
|
+
var _keymirror = _interopRequireDefault(require("keymirror"));
|
|
9
|
+
var _defaultSettings = require("./default-settings");
|
|
10
|
+
var _colorPalettes = require("./color-palettes");
|
|
11
|
+
// SPDX-License-Identifier: MIT
|
|
12
|
+
// Copyright contributors to the kepler.gl project
|
|
13
|
+
|
|
14
|
+
var PROPERTY_GROUPS = exports.PROPERTY_GROUPS = (0, _keymirror["default"])({
|
|
15
|
+
color: null,
|
|
16
|
+
stroke: null,
|
|
17
|
+
radius: null,
|
|
18
|
+
height: null,
|
|
19
|
+
angle: null,
|
|
20
|
+
scenegraph: null,
|
|
21
|
+
// for heatmap aggregation
|
|
22
|
+
cell: null,
|
|
23
|
+
precision: null,
|
|
24
|
+
display: null,
|
|
25
|
+
interaction: null
|
|
26
|
+
});
|
|
27
|
+
var DEFAULT_LAYER_OPACITY = exports.DEFAULT_LAYER_OPACITY = 0.8;
|
|
28
|
+
var DEFAULT_HIGHLIGHT_COLOR = exports.DEFAULT_HIGHLIGHT_COLOR = [252, 242, 26, 255];
|
|
29
|
+
var DEFAULT_LAYER_LABEL = exports.DEFAULT_LAYER_LABEL = 'new layer';
|
|
30
|
+
var DEFAULT_TEXT_LABEL = exports.DEFAULT_TEXT_LABEL = {
|
|
31
|
+
field: null,
|
|
32
|
+
color: [255, 255, 255],
|
|
33
|
+
size: 18,
|
|
34
|
+
weight: 400,
|
|
35
|
+
offset: [0, 0],
|
|
36
|
+
anchor: 'start',
|
|
37
|
+
alignment: 'center',
|
|
38
|
+
outlineWidth: 0,
|
|
39
|
+
outlineColor: [255, 0, 0, 255],
|
|
40
|
+
background: false,
|
|
41
|
+
backgroundColor: [0, 0, 200, 255]
|
|
42
|
+
};
|
|
43
|
+
var DEFAULT_COLOR_PALETTE = _colorPalettes.KEPLER_COLOR_PALETTES.find(function (_ref) {
|
|
44
|
+
var name = _ref.name;
|
|
45
|
+
return name === _defaultSettings.DEFAULT_LAYER_COLOR_PALETTE;
|
|
46
|
+
});
|
|
47
|
+
var DEFAULT_COLOR_RANGE = exports.DEFAULT_COLOR_RANGE = (0, _colorPalettes.colorPaletteToColorRange)(DEFAULT_COLOR_PALETTE, {
|
|
48
|
+
reversed: false,
|
|
49
|
+
steps: _defaultSettings.DEFAULT_LAYER_COLOR_PALETTE_STEPS
|
|
50
|
+
});
|
|
51
|
+
var DEFAULT_CUSTOM_PALETTE = exports.DEFAULT_CUSTOM_PALETTE = {
|
|
52
|
+
name: 'color.customPalette',
|
|
53
|
+
type: 'custom',
|
|
54
|
+
category: 'Custom',
|
|
55
|
+
colors: []
|
|
56
|
+
};
|
|
57
|
+
var UNKNOWN_COLOR_KEY = exports.UNKNOWN_COLOR_KEY = '__unknownColor__';
|
|
58
|
+
var DEFAULT_COLOR_UI = exports.DEFAULT_COLOR_UI = {
|
|
59
|
+
// customPalette in edit
|
|
60
|
+
customPalette: DEFAULT_CUSTOM_PALETTE,
|
|
61
|
+
// show color sketcher modal
|
|
62
|
+
showSketcher: false,
|
|
63
|
+
// show color range selection panel
|
|
64
|
+
showDropdown: false,
|
|
65
|
+
// show color chart
|
|
66
|
+
showColorChart: false,
|
|
67
|
+
// color range selector config
|
|
68
|
+
colorRangeConfig: {
|
|
69
|
+
type: 'all',
|
|
70
|
+
steps: 6,
|
|
71
|
+
reversed: false,
|
|
72
|
+
colorBlindSafe: false,
|
|
73
|
+
custom: false,
|
|
74
|
+
customBreaks: false
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
var LAYER_VIS_CONFIGS = exports.LAYER_VIS_CONFIGS = {
|
|
78
|
+
thickness: {
|
|
79
|
+
type: 'number',
|
|
80
|
+
defaultValue: 2,
|
|
81
|
+
label: 'layerVisConfigs.strokeWidth',
|
|
82
|
+
isRanged: false,
|
|
83
|
+
range: [0, 100],
|
|
84
|
+
step: 0.1,
|
|
85
|
+
group: PROPERTY_GROUPS.stroke,
|
|
86
|
+
property: 'thickness',
|
|
87
|
+
allowCustomValue: true
|
|
88
|
+
},
|
|
89
|
+
strokeWidthRange: {
|
|
90
|
+
type: 'number',
|
|
91
|
+
defaultValue: [0, 10],
|
|
92
|
+
label: 'layerVisConfigs.strokeWidthRange',
|
|
93
|
+
isRanged: true,
|
|
94
|
+
range: [0, 200],
|
|
95
|
+
step: 0.1,
|
|
96
|
+
group: PROPERTY_GROUPS.stroke,
|
|
97
|
+
property: 'sizeRange',
|
|
98
|
+
allowCustomValue: true
|
|
99
|
+
},
|
|
100
|
+
trailLength: {
|
|
101
|
+
type: 'number',
|
|
102
|
+
defaultValue: 180,
|
|
103
|
+
label: 'layerVisConfigs.strokeWidth',
|
|
104
|
+
isRanged: false,
|
|
105
|
+
range: [1, 1000],
|
|
106
|
+
step: 1,
|
|
107
|
+
group: PROPERTY_GROUPS.stroke,
|
|
108
|
+
property: 'trailLength',
|
|
109
|
+
allowCustomValue: true
|
|
110
|
+
},
|
|
111
|
+
fadeTrail: {
|
|
112
|
+
defaultValue: true,
|
|
113
|
+
type: 'boolean',
|
|
114
|
+
label: 'layerVisConfigs.fadeTrail',
|
|
115
|
+
group: PROPERTY_GROUPS.stroke,
|
|
116
|
+
property: 'fadeTrail'
|
|
117
|
+
},
|
|
118
|
+
billboard: {
|
|
119
|
+
defaultValue: false,
|
|
120
|
+
type: 'boolean',
|
|
121
|
+
label: 'layerVisConfigs.billboard',
|
|
122
|
+
description: 'layerVisConfigs.billboardDescription',
|
|
123
|
+
group: PROPERTY_GROUPS.display,
|
|
124
|
+
property: 'billboard'
|
|
125
|
+
},
|
|
126
|
+
// radius is actually radiusScale in deck.gl
|
|
127
|
+
radius: {
|
|
128
|
+
type: 'number',
|
|
129
|
+
defaultValue: 10,
|
|
130
|
+
label: 'layerVisConfigs.radius',
|
|
131
|
+
isRanged: false,
|
|
132
|
+
range: [0, 100],
|
|
133
|
+
step: 0.1,
|
|
134
|
+
group: PROPERTY_GROUPS.radius,
|
|
135
|
+
property: 'radius',
|
|
136
|
+
allowCustomValue: true
|
|
137
|
+
},
|
|
138
|
+
fixedRadius: {
|
|
139
|
+
defaultValue: false,
|
|
140
|
+
type: 'boolean',
|
|
141
|
+
label: 'layerVisConfigs.fixedRadius',
|
|
142
|
+
description: 'layerVisConfigs.fixedRadiusDescription',
|
|
143
|
+
group: PROPERTY_GROUPS.radius,
|
|
144
|
+
property: 'fixedRadius'
|
|
145
|
+
},
|
|
146
|
+
fixedHeight: {
|
|
147
|
+
defaultValue: false,
|
|
148
|
+
type: 'boolean',
|
|
149
|
+
label: 'layerVisConfigs.fixedHeight',
|
|
150
|
+
description: 'layerVisConfigs.fixedHeightDescription',
|
|
151
|
+
group: PROPERTY_GROUPS.height,
|
|
152
|
+
property: 'fixedHeight'
|
|
153
|
+
},
|
|
154
|
+
radiusRange: {
|
|
155
|
+
type: 'number',
|
|
156
|
+
defaultValue: [0, 50],
|
|
157
|
+
isRanged: true,
|
|
158
|
+
range: [0, 500],
|
|
159
|
+
step: 0.1,
|
|
160
|
+
label: 'layerVisConfigs.radiusRange',
|
|
161
|
+
group: PROPERTY_GROUPS.radius,
|
|
162
|
+
property: 'radiusRange',
|
|
163
|
+
allowCustomValue: true
|
|
164
|
+
},
|
|
165
|
+
clusterRadius: {
|
|
166
|
+
type: 'number',
|
|
167
|
+
label: 'layerVisConfigs.clusterRadius',
|
|
168
|
+
defaultValue: 40,
|
|
169
|
+
isRanged: false,
|
|
170
|
+
range: [1, 500],
|
|
171
|
+
step: 0.1,
|
|
172
|
+
group: PROPERTY_GROUPS.radius,
|
|
173
|
+
property: 'clusterRadius',
|
|
174
|
+
allowCustomValue: true
|
|
175
|
+
},
|
|
176
|
+
clusterRadiusRange: {
|
|
177
|
+
type: 'number',
|
|
178
|
+
label: 'layerVisConfigs.radiusRangePixels',
|
|
179
|
+
defaultValue: [1, 40],
|
|
180
|
+
isRanged: true,
|
|
181
|
+
range: [1, 150],
|
|
182
|
+
step: 0.1,
|
|
183
|
+
group: PROPERTY_GROUPS.radius,
|
|
184
|
+
property: 'radiusRange',
|
|
185
|
+
allowCustomValue: true
|
|
186
|
+
},
|
|
187
|
+
opacity: {
|
|
188
|
+
type: 'number',
|
|
189
|
+
defaultValue: DEFAULT_LAYER_OPACITY,
|
|
190
|
+
label: 'layerVisConfigs.opacity',
|
|
191
|
+
isRanged: false,
|
|
192
|
+
range: [0, 1],
|
|
193
|
+
step: 0.01,
|
|
194
|
+
group: PROPERTY_GROUPS.color,
|
|
195
|
+
property: 'opacity',
|
|
196
|
+
allowCustomValue: false
|
|
197
|
+
},
|
|
198
|
+
coverage: {
|
|
199
|
+
type: 'number',
|
|
200
|
+
defaultValue: 1,
|
|
201
|
+
label: 'layerVisConfigs.coverage',
|
|
202
|
+
isRanged: false,
|
|
203
|
+
range: [0, 1],
|
|
204
|
+
step: 0.01,
|
|
205
|
+
group: PROPERTY_GROUPS.cell,
|
|
206
|
+
property: 'coverage',
|
|
207
|
+
allowCustomValue: false
|
|
208
|
+
},
|
|
209
|
+
// used in point layer
|
|
210
|
+
outline: {
|
|
211
|
+
type: 'boolean',
|
|
212
|
+
defaultValue: false,
|
|
213
|
+
label: 'layer.outline',
|
|
214
|
+
group: PROPERTY_GROUPS.display,
|
|
215
|
+
property: 'outline'
|
|
216
|
+
},
|
|
217
|
+
colorRange: {
|
|
218
|
+
type: 'color-range-select',
|
|
219
|
+
defaultValue: DEFAULT_COLOR_RANGE,
|
|
220
|
+
label: 'layerVisConfigs.colorRange',
|
|
221
|
+
group: PROPERTY_GROUPS.color,
|
|
222
|
+
property: 'colorRange'
|
|
223
|
+
},
|
|
224
|
+
strokeColorRange: {
|
|
225
|
+
type: 'color-range-select',
|
|
226
|
+
defaultValue: DEFAULT_COLOR_RANGE,
|
|
227
|
+
label: 'layerVisConfigs.strokeColorRange',
|
|
228
|
+
group: PROPERTY_GROUPS.color,
|
|
229
|
+
property: 'strokeColorRange'
|
|
230
|
+
},
|
|
231
|
+
targetColor: {
|
|
232
|
+
type: 'color-select',
|
|
233
|
+
label: 'layerVisConfigs.targetColor',
|
|
234
|
+
defaultValue: null,
|
|
235
|
+
group: PROPERTY_GROUPS.color,
|
|
236
|
+
property: 'targetColor'
|
|
237
|
+
},
|
|
238
|
+
strokeColor: {
|
|
239
|
+
type: 'color-select',
|
|
240
|
+
label: 'layerVisConfigs.strokeColor',
|
|
241
|
+
defaultValue: null,
|
|
242
|
+
group: PROPERTY_GROUPS.color,
|
|
243
|
+
property: 'strokeColor'
|
|
244
|
+
},
|
|
245
|
+
colorAggregation: {
|
|
246
|
+
type: 'select',
|
|
247
|
+
defaultValue: _defaultSettings.AGGREGATION_TYPES.average,
|
|
248
|
+
label: 'layerVisConfigs.colorAggregation',
|
|
249
|
+
// aggregation options are based on color field types
|
|
250
|
+
options: Object.keys(_defaultSettings.AGGREGATION_TYPES),
|
|
251
|
+
group: PROPERTY_GROUPS.color,
|
|
252
|
+
property: 'colorAggregation',
|
|
253
|
+
condition: function condition(config) {
|
|
254
|
+
return Boolean(config.colorField);
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
sizeAggregation: {
|
|
258
|
+
type: 'select',
|
|
259
|
+
defaultValue: _defaultSettings.AGGREGATION_TYPES.average,
|
|
260
|
+
label: 'layerVisConfigs.heightAggregation',
|
|
261
|
+
// aggregation options are based on color field types
|
|
262
|
+
options: Object.keys(_defaultSettings.AGGREGATION_TYPES),
|
|
263
|
+
group: PROPERTY_GROUPS.height,
|
|
264
|
+
property: 'sizeAggregation',
|
|
265
|
+
condition: function condition(config) {
|
|
266
|
+
return Boolean(config.sizeField);
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
percentile: {
|
|
270
|
+
type: 'number',
|
|
271
|
+
defaultValue: [0, 100],
|
|
272
|
+
label: function label(config) {
|
|
273
|
+
return "Filter by ".concat(config.colorField ? "".concat(config.visConfig.colorAggregation, " ").concat(config.colorField.name) : 'count', " percentile");
|
|
274
|
+
},
|
|
275
|
+
isRanged: true,
|
|
276
|
+
range: [0, 100],
|
|
277
|
+
step: 0.01,
|
|
278
|
+
group: PROPERTY_GROUPS.color,
|
|
279
|
+
property: 'percentile',
|
|
280
|
+
// percentile filter only makes sense with linear aggregation
|
|
281
|
+
condition: function condition(config) {
|
|
282
|
+
return config.colorScale !== 'ordinal';
|
|
283
|
+
},
|
|
284
|
+
allowCustomValue: false
|
|
285
|
+
},
|
|
286
|
+
elevationPercentile: {
|
|
287
|
+
type: 'number',
|
|
288
|
+
defaultValue: [0, 100],
|
|
289
|
+
label: function label(config) {
|
|
290
|
+
return "Filter by ".concat(config.sizeField ? "".concat(config.visConfig.sizeAggregation, " ").concat(config.sizeField.name) : 'count', " percentile");
|
|
291
|
+
},
|
|
292
|
+
isRanged: true,
|
|
293
|
+
range: [0, 100],
|
|
294
|
+
step: 0.01,
|
|
295
|
+
group: PROPERTY_GROUPS.height,
|
|
296
|
+
property: 'elevationPercentile',
|
|
297
|
+
// percentile filter only makes sense with linear aggregation
|
|
298
|
+
condition: function condition(config) {
|
|
299
|
+
return Boolean(config.visConfig.enable3d && (config.colorField || config.sizeField));
|
|
300
|
+
},
|
|
301
|
+
allowCustomValue: false
|
|
302
|
+
},
|
|
303
|
+
resolution: {
|
|
304
|
+
type: 'number',
|
|
305
|
+
defaultValue: 8,
|
|
306
|
+
label: 'layerVisConfigs.resolution',
|
|
307
|
+
isRanged: false,
|
|
308
|
+
range: [0, 13],
|
|
309
|
+
step: 1,
|
|
310
|
+
group: PROPERTY_GROUPS.cell,
|
|
311
|
+
property: 'resolution',
|
|
312
|
+
allowCustomValue: true
|
|
313
|
+
},
|
|
314
|
+
sizeScale: {
|
|
315
|
+
type: 'number',
|
|
316
|
+
defaultValue: 10,
|
|
317
|
+
label: 'layerVisConfigs.sizeScale',
|
|
318
|
+
isRanged: false,
|
|
319
|
+
range: [1, 1000],
|
|
320
|
+
step: 1,
|
|
321
|
+
group: PROPERTY_GROUPS.stroke,
|
|
322
|
+
property: 'sizeScale',
|
|
323
|
+
allowCustomValue: true
|
|
324
|
+
},
|
|
325
|
+
angle: {
|
|
326
|
+
type: 'number',
|
|
327
|
+
label: 'layerVisConfigs.angle',
|
|
328
|
+
defaultValue: 0,
|
|
329
|
+
isRanged: false,
|
|
330
|
+
range: [0, 360],
|
|
331
|
+
group: PROPERTY_GROUPS.angle,
|
|
332
|
+
step: 1,
|
|
333
|
+
property: 'angle',
|
|
334
|
+
allowCustomValue: true
|
|
335
|
+
},
|
|
336
|
+
worldUnitSize: {
|
|
337
|
+
type: 'number',
|
|
338
|
+
defaultValue: 1,
|
|
339
|
+
label: 'layerVisConfigs.worldUnitSize',
|
|
340
|
+
isRanged: false,
|
|
341
|
+
range: [0, 500],
|
|
342
|
+
step: 0.0001,
|
|
343
|
+
group: PROPERTY_GROUPS.cell,
|
|
344
|
+
property: 'worldUnitSize',
|
|
345
|
+
allowCustomValue: true
|
|
346
|
+
},
|
|
347
|
+
elevationScale: {
|
|
348
|
+
type: 'number',
|
|
349
|
+
defaultValue: 5,
|
|
350
|
+
label: 'layerVisConfigs.elevationScale',
|
|
351
|
+
isRanged: false,
|
|
352
|
+
range: [0, 1000],
|
|
353
|
+
step: 0.1,
|
|
354
|
+
group: PROPERTY_GROUPS.height,
|
|
355
|
+
property: 'elevationScale',
|
|
356
|
+
allowCustomValue: true
|
|
357
|
+
},
|
|
358
|
+
enableElevationZoomFactor: {
|
|
359
|
+
type: 'boolean',
|
|
360
|
+
defaultValue: true,
|
|
361
|
+
label: 'layerVisConfigs.enableElevationZoomFactor',
|
|
362
|
+
group: PROPERTY_GROUPS.height,
|
|
363
|
+
property: 'enableElevationZoomFactor',
|
|
364
|
+
description: 'layerVisConfigs.enableElevationZoomFactorDescription'
|
|
365
|
+
},
|
|
366
|
+
elevationRange: {
|
|
367
|
+
type: 'number',
|
|
368
|
+
defaultValue: [0, 500],
|
|
369
|
+
label: 'layerVisConfigs.heightScale',
|
|
370
|
+
isRanged: true,
|
|
371
|
+
range: [0, 1000],
|
|
372
|
+
step: 0.01,
|
|
373
|
+
group: PROPERTY_GROUPS.height,
|
|
374
|
+
property: 'sizeRange',
|
|
375
|
+
allowCustomValue: true
|
|
376
|
+
},
|
|
377
|
+
heightRange: {
|
|
378
|
+
type: 'number',
|
|
379
|
+
defaultValue: [0, 500],
|
|
380
|
+
label: 'Height Scale',
|
|
381
|
+
isRanged: true,
|
|
382
|
+
range: [0, 1000],
|
|
383
|
+
step: 0.01,
|
|
384
|
+
group: PROPERTY_GROUPS.height,
|
|
385
|
+
property: 'heightRange',
|
|
386
|
+
allowCustomValue: true
|
|
387
|
+
},
|
|
388
|
+
coverageRange: {
|
|
389
|
+
type: 'number',
|
|
390
|
+
defaultValue: [0, 1],
|
|
391
|
+
label: 'layerVisConfigs.coverageRange',
|
|
392
|
+
isRanged: true,
|
|
393
|
+
range: [0, 1],
|
|
394
|
+
step: 0.01,
|
|
395
|
+
group: PROPERTY_GROUPS.radius,
|
|
396
|
+
property: 'coverageRange',
|
|
397
|
+
allowCustomValue: false
|
|
398
|
+
},
|
|
399
|
+
// hi precision is deprecated by deck.gl
|
|
400
|
+
'hi-precision': {
|
|
401
|
+
type: 'boolean',
|
|
402
|
+
defaultValue: false,
|
|
403
|
+
label: 'layerVisConfigs.highPrecisionRendering',
|
|
404
|
+
group: PROPERTY_GROUPS.precision,
|
|
405
|
+
property: 'hi-precision',
|
|
406
|
+
description: 'layerVisConfigs.highPrecisionRenderingDescription'
|
|
407
|
+
},
|
|
408
|
+
enable3d: {
|
|
409
|
+
type: 'boolean',
|
|
410
|
+
defaultValue: false,
|
|
411
|
+
label: 'layerVisConfigs.height',
|
|
412
|
+
group: PROPERTY_GROUPS.height,
|
|
413
|
+
property: 'enable3d',
|
|
414
|
+
description: 'layerVisConfigs.heightDescription'
|
|
415
|
+
},
|
|
416
|
+
stroked: {
|
|
417
|
+
type: 'boolean',
|
|
418
|
+
label: 'layerVisConfigs.stroke',
|
|
419
|
+
defaultValue: true,
|
|
420
|
+
group: PROPERTY_GROUPS.display,
|
|
421
|
+
property: 'stroked'
|
|
422
|
+
},
|
|
423
|
+
filled: {
|
|
424
|
+
type: 'boolean',
|
|
425
|
+
label: 'layerVisConfigs.fill',
|
|
426
|
+
defaultValue: false,
|
|
427
|
+
group: PROPERTY_GROUPS.display,
|
|
428
|
+
property: 'filled'
|
|
429
|
+
},
|
|
430
|
+
extruded: {
|
|
431
|
+
type: 'boolean',
|
|
432
|
+
defaultValue: false,
|
|
433
|
+
label: 'layerVisConfigs.enablePolygonHeight',
|
|
434
|
+
group: PROPERTY_GROUPS.display,
|
|
435
|
+
property: 'extruded'
|
|
436
|
+
},
|
|
437
|
+
wireframe: {
|
|
438
|
+
type: 'boolean',
|
|
439
|
+
defaultValue: false,
|
|
440
|
+
label: 'layerVisConfigs.showWireframe',
|
|
441
|
+
group: PROPERTY_GROUPS.display,
|
|
442
|
+
property: 'wireframe'
|
|
443
|
+
},
|
|
444
|
+
// used for heatmap
|
|
445
|
+
weight: {
|
|
446
|
+
type: 'number',
|
|
447
|
+
defaultValue: 1,
|
|
448
|
+
label: 'layerVisConfigs.weightIntensity',
|
|
449
|
+
isRanged: false,
|
|
450
|
+
range: [0.01, 500],
|
|
451
|
+
step: 0.01,
|
|
452
|
+
group: PROPERTY_GROUPS.cell,
|
|
453
|
+
property: 'weight',
|
|
454
|
+
condition: function condition(config) {
|
|
455
|
+
return Boolean(config.weightField);
|
|
456
|
+
},
|
|
457
|
+
allowCustomValue: true
|
|
458
|
+
},
|
|
459
|
+
heatmapRadius: {
|
|
460
|
+
type: 'number',
|
|
461
|
+
defaultValue: 20,
|
|
462
|
+
label: 'layerVisConfigs.radius',
|
|
463
|
+
isRanged: false,
|
|
464
|
+
range: [0, 100],
|
|
465
|
+
step: 0.1,
|
|
466
|
+
group: PROPERTY_GROUPS.cell,
|
|
467
|
+
property: 'radius',
|
|
468
|
+
allowCustomValue: true
|
|
469
|
+
},
|
|
470
|
+
darkBaseMapEnabled: {
|
|
471
|
+
type: 'boolean',
|
|
472
|
+
defaultValue: true,
|
|
473
|
+
label: 'layerVisConfigs.darkModeEnabled',
|
|
474
|
+
property: 'darkBaseMapEnabled',
|
|
475
|
+
group: PROPERTY_GROUPS.display
|
|
476
|
+
},
|
|
477
|
+
allowHover: {
|
|
478
|
+
type: 'boolean',
|
|
479
|
+
defaultValue: true,
|
|
480
|
+
label: 'layerVisConfigs.allowHover',
|
|
481
|
+
description: 'layerVisConfigs.allowHoverDescription',
|
|
482
|
+
group: PROPERTY_GROUPS.interaction,
|
|
483
|
+
property: 'allowHover'
|
|
484
|
+
},
|
|
485
|
+
showNeighborOnHover: {
|
|
486
|
+
type: 'boolean',
|
|
487
|
+
defaultValue: false,
|
|
488
|
+
label: 'layerVisConfigs.showNeighborOnHover',
|
|
489
|
+
group: PROPERTY_GROUPS.interaction,
|
|
490
|
+
property: 'showNeighborOnHover'
|
|
491
|
+
},
|
|
492
|
+
showHighlightColor: {
|
|
493
|
+
type: 'boolean',
|
|
494
|
+
defaultValue: true,
|
|
495
|
+
label: 'layerVisConfigs.showHighlightColor',
|
|
496
|
+
group: PROPERTY_GROUPS.interaction,
|
|
497
|
+
property: 'showHighlightColor'
|
|
498
|
+
},
|
|
499
|
+
scenegraph: {
|
|
500
|
+
defaultValue: null,
|
|
501
|
+
type: 'input',
|
|
502
|
+
label: 'layerVisConfigs.scenegraph',
|
|
503
|
+
group: PROPERTY_GROUPS.scenegraph,
|
|
504
|
+
property: 'scenegraph'
|
|
505
|
+
},
|
|
506
|
+
scenegraphEnabled: {
|
|
507
|
+
defaultValue: false,
|
|
508
|
+
type: 'boolean',
|
|
509
|
+
label: 'layerVisConfigs.scenegraphEnabled',
|
|
510
|
+
group: PROPERTY_GROUPS.scenegraph,
|
|
511
|
+
property: 'scenegraphEnabled'
|
|
512
|
+
},
|
|
513
|
+
scenegraphCustomModelUrl: {
|
|
514
|
+
defaultValue: '',
|
|
515
|
+
type: 'input',
|
|
516
|
+
label: 'layerVisConfigs.scenegraphCustomModelUrl',
|
|
517
|
+
group: PROPERTY_GROUPS.scenegraph,
|
|
518
|
+
property: 'scenegraphCustomModelUrl'
|
|
519
|
+
},
|
|
520
|
+
scenegraphColorEnabled: {
|
|
521
|
+
defaultValue: false,
|
|
522
|
+
type: 'boolean',
|
|
523
|
+
label: 'layerVisConfigs.scenegraphColorEnabled',
|
|
524
|
+
group: PROPERTY_GROUPS.scenegraph,
|
|
525
|
+
property: 'scenegraphColorEnabled'
|
|
526
|
+
},
|
|
527
|
+
scenegraphUseTrailColor: {
|
|
528
|
+
defaultValue: false,
|
|
529
|
+
type: 'boolean',
|
|
530
|
+
label: 'layerVisConfigs.scenegraphUseTrailColor',
|
|
531
|
+
group: PROPERTY_GROUPS.scenegraph,
|
|
532
|
+
property: 'scenegraphUseTrailColor'
|
|
533
|
+
},
|
|
534
|
+
scenegraphColor: {
|
|
535
|
+
defaultValue: null,
|
|
536
|
+
type: 'color-select',
|
|
537
|
+
label: 'layerVisConfigs.scenegraphColor',
|
|
538
|
+
group: PROPERTY_GROUPS.scenegraph,
|
|
539
|
+
property: 'scenegraphColor'
|
|
540
|
+
}
|
|
541
|
+
};
|
|
542
|
+
var LAYER_TEXT_CONFIGS = exports.LAYER_TEXT_CONFIGS = {
|
|
543
|
+
fontSize: {
|
|
544
|
+
type: 'number',
|
|
545
|
+
range: [1, 100],
|
|
546
|
+
value0: 1,
|
|
547
|
+
step: 1,
|
|
548
|
+
isRanged: false,
|
|
549
|
+
label: 'Font size',
|
|
550
|
+
showInput: true
|
|
551
|
+
},
|
|
552
|
+
fontWeight: {
|
|
553
|
+
type: 'number',
|
|
554
|
+
range: [100, 900],
|
|
555
|
+
value0: 100,
|
|
556
|
+
step: 100,
|
|
557
|
+
isRanged: false,
|
|
558
|
+
label: 'Font weight',
|
|
559
|
+
showInput: true
|
|
560
|
+
},
|
|
561
|
+
outlineWidth: {
|
|
562
|
+
type: 'number',
|
|
563
|
+
range: [0, 1],
|
|
564
|
+
value0: 0,
|
|
565
|
+
step: 0.01,
|
|
566
|
+
isRanged: false,
|
|
567
|
+
label: 'Outline width',
|
|
568
|
+
showInput: true
|
|
569
|
+
},
|
|
570
|
+
textAnchor: {
|
|
571
|
+
type: 'select',
|
|
572
|
+
options: ['start', 'middle', 'end'],
|
|
573
|
+
multiSelect: false,
|
|
574
|
+
searchable: false
|
|
575
|
+
},
|
|
576
|
+
textAlignment: {
|
|
577
|
+
type: 'select',
|
|
578
|
+
options: ['top', 'center', 'bottom'],
|
|
579
|
+
multiSelect: false,
|
|
580
|
+
searchable: false
|
|
581
|
+
}
|
|
582
|
+
};
|
|
583
|
+
var LAYER_TYPES = exports.LAYER_TYPES = (0, _keymirror["default"])({
|
|
584
|
+
point: null,
|
|
585
|
+
arc: null,
|
|
586
|
+
line: null,
|
|
587
|
+
grid: null,
|
|
588
|
+
hexagon: null,
|
|
589
|
+
geojson: null,
|
|
590
|
+
cluster: null,
|
|
591
|
+
icon: null,
|
|
592
|
+
heatmap: null,
|
|
593
|
+
hexagonId: null,
|
|
594
|
+
'3D': null,
|
|
595
|
+
trip: null,
|
|
596
|
+
s2: null,
|
|
597
|
+
a5: null,
|
|
598
|
+
flow: null,
|
|
599
|
+
vectorTile: null,
|
|
600
|
+
rasterTile: null,
|
|
601
|
+
wms: null,
|
|
602
|
+
tile3d: null,
|
|
603
|
+
bitmap: null
|
|
604
|
+
});
|
|
605
|
+
var EDITOR_AVAILABLE_LAYERS = exports.EDITOR_AVAILABLE_LAYERS = [LAYER_TYPES.point, LAYER_TYPES.icon, LAYER_TYPES.grid, LAYER_TYPES.hexagon, LAYER_TYPES.cluster, LAYER_TYPES.arc, LAYER_TYPES.line, LAYER_TYPES.hexagonId, LAYER_TYPES.geojson, LAYER_TYPES.heatmap];
|
|
606
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfa2V5bWlycm9yIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZGVmYXVsdFNldHRpbmdzIiwiX2NvbG9yUGFsZXR0ZXMiLCJQUk9QRVJUWV9HUk9VUFMiLCJleHBvcnRzIiwia2V5TWlycm9yIiwiY29sb3IiLCJzdHJva2UiLCJyYWRpdXMiLCJoZWlnaHQiLCJhbmdsZSIsInNjZW5lZ3JhcGgiLCJjZWxsIiwicHJlY2lzaW9uIiwiZGlzcGxheSIsImludGVyYWN0aW9uIiwiREVGQVVMVF9MQVlFUl9PUEFDSVRZIiwiREVGQVVMVF9ISUdITElHSFRfQ09MT1IiLCJERUZBVUxUX0xBWUVSX0xBQkVMIiwiREVGQVVMVF9URVhUX0xBQkVMIiwiZmllbGQiLCJzaXplIiwid2VpZ2h0Iiwib2Zmc2V0IiwiYW5jaG9yIiwiYWxpZ25tZW50Iiwib3V0bGluZVdpZHRoIiwib3V0bGluZUNvbG9yIiwiYmFja2dyb3VuZCIsImJhY2tncm91bmRDb2xvciIsIkRFRkFVTFRfQ09MT1JfUEFMRVRURSIsIktFUExFUl9DT0xPUl9QQUxFVFRFUyIsImZpbmQiLCJfcmVmIiwibmFtZSIsIkRFRkFVTFRfTEFZRVJfQ09MT1JfUEFMRVRURSIsIkRFRkFVTFRfQ09MT1JfUkFOR0UiLCJjb2xvclBhbGV0dGVUb0NvbG9yUmFuZ2UiLCJyZXZlcnNlZCIsInN0ZXBzIiwiREVGQVVMVF9MQVlFUl9DT0xPUl9QQUxFVFRFX1NURVBTIiwiREVGQVVMVF9DVVNUT01fUEFMRVRURSIsInR5cGUiLCJjYXRlZ29yeSIsImNvbG9ycyIsIlVOS05PV05fQ09MT1JfS0VZIiwiREVGQVVMVF9DT0xPUl9VSSIsImN1c3RvbVBhbGV0dGUiLCJzaG93U2tldGNoZXIiLCJzaG93RHJvcGRvd24iLCJzaG93Q29sb3JDaGFydCIsImNvbG9yUmFuZ2VDb25maWciLCJjb2xvckJsaW5kU2FmZSIsImN1c3RvbSIsImN1c3RvbUJyZWFrcyIsIkxBWUVSX1ZJU19DT05GSUdTIiwidGhpY2tuZXNzIiwiZGVmYXVsdFZhbHVlIiwibGFiZWwiLCJpc1JhbmdlZCIsInJhbmdlIiwic3RlcCIsImdyb3VwIiwicHJvcGVydHkiLCJhbGxvd0N1c3RvbVZhbHVlIiwic3Ryb2tlV2lkdGhSYW5nZSIsInRyYWlsTGVuZ3RoIiwiZmFkZVRyYWlsIiwiYmlsbGJvYXJkIiwiZGVzY3JpcHRpb24iLCJmaXhlZFJhZGl1cyIsImZpeGVkSGVpZ2h0IiwicmFkaXVzUmFuZ2UiLCJjbHVzdGVyUmFkaXVzIiwiY2x1c3RlclJhZGl1c1JhbmdlIiwib3BhY2l0eSIsImNvdmVyYWdlIiwib3V0bGluZSIsImNvbG9yUmFuZ2UiLCJzdHJva2VDb2xvclJhbmdlIiwidGFyZ2V0Q29sb3IiLCJzdHJva2VDb2xvciIsImNvbG9yQWdncmVnYXRpb24iLCJBR0dSRUdBVElPTl9UWVBFUyIsImF2ZXJhZ2UiLCJvcHRpb25zIiwiT2JqZWN0Iiwia2V5cyIsImNvbmRpdGlvbiIsImNvbmZpZyIsIkJvb2xlYW4iLCJjb2xvckZpZWxkIiwic2l6ZUFnZ3JlZ2F0aW9uIiwic2l6ZUZpZWxkIiwicGVyY2VudGlsZSIsImNvbmNhdCIsInZpc0NvbmZpZyIsImNvbG9yU2NhbGUiLCJlbGV2YXRpb25QZXJjZW50aWxlIiwiZW5hYmxlM2QiLCJyZXNvbHV0aW9uIiwic2l6ZVNjYWxlIiwid29ybGRVbml0U2l6ZSIsImVsZXZhdGlvblNjYWxlIiwiZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvciIsImVsZXZhdGlvblJhbmdlIiwiaGVpZ2h0UmFuZ2UiLCJjb3ZlcmFnZVJhbmdlIiwic3Ryb2tlZCIsImZpbGxlZCIsImV4dHJ1ZGVkIiwid2lyZWZyYW1lIiwid2VpZ2h0RmllbGQiLCJoZWF0bWFwUmFkaXVzIiwiZGFya0Jhc2VNYXBFbmFibGVkIiwiYWxsb3dIb3ZlciIsInNob3dOZWlnaGJvck9uSG92ZXIiLCJzaG93SGlnaGxpZ2h0Q29sb3IiLCJzY2VuZWdyYXBoRW5hYmxlZCIsInNjZW5lZ3JhcGhDdXN0b21Nb2RlbFVybCIsInNjZW5lZ3JhcGhDb2xvckVuYWJsZWQiLCJzY2VuZWdyYXBoVXNlVHJhaWxDb2xvciIsInNjZW5lZ3JhcGhDb2xvciIsIkxBWUVSX1RFWFRfQ09ORklHUyIsImZvbnRTaXplIiwidmFsdWUwIiwic2hvd0lucHV0IiwiZm9udFdlaWdodCIsInRleHRBbmNob3IiLCJtdWx0aVNlbGVjdCIsInNlYXJjaGFibGUiLCJ0ZXh0QWxpZ25tZW50IiwiTEFZRVJfVFlQRVMiLCJwb2ludCIsImFyYyIsImxpbmUiLCJncmlkIiwiaGV4YWdvbiIsImdlb2pzb24iLCJjbHVzdGVyIiwiaWNvbiIsImhlYXRtYXAiLCJoZXhhZ29uSWQiLCJ0cmlwIiwiczIiLCJhNSIsImZsb3ciLCJ2ZWN0b3JUaWxlIiwicmFzdGVyVGlsZSIsIndtcyIsInRpbGUzZCIsImJpdG1hcCIsIkVESVRPUl9BVkFJTEFCTEVfTEFZRVJTIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xheWVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQga2V5TWlycm9yIGZyb20gJ2tleW1pcnJvcic7XG5cbmltcG9ydCB7XG4gIEFHR1JFR0FUSU9OX1RZUEVTLFxuICBERUZBVUxUX0xBWUVSX0NPTE9SX1BBTEVUVEUsXG4gIERFRkFVTFRfTEFZRVJfQ09MT1JfUEFMRVRURV9TVEVQU1xufSBmcm9tICcuL2RlZmF1bHQtc2V0dGluZ3MnO1xuaW1wb3J0IHtcbiAgQ29sb3JSYW5nZSxcbiAgQ29sb3JVSSxcbiAgTGF5ZXJUZXh0Q29uZmlnLFxuICBMYXllclRleHRMYWJlbCxcbiAgTGF5ZXJWaXNDb25maWdTZXR0aW5ncyxcbiAgUkdCQUNvbG9yXG59IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtDb2xvclBhbGV0dGUsIEtFUExFUl9DT0xPUl9QQUxFVFRFUywgY29sb3JQYWxldHRlVG9Db2xvclJhbmdlfSBmcm9tICcuL2NvbG9yLXBhbGV0dGVzJztcblxuZXhwb3J0IHR5cGUgQWdncmVnYXRpb25UeXBlcyA9IGtleW9mIHR5cGVvZiBBR0dSRUdBVElPTl9UWVBFUztcblxuZXhwb3J0IGNvbnN0IFBST1BFUlRZX0dST1VQUyA9IGtleU1pcnJvcih7XG4gIGNvbG9yOiBudWxsLFxuICBzdHJva2U6IG51bGwsXG4gIHJhZGl1czogbnVsbCxcbiAgaGVpZ2h0OiBudWxsLFxuICBhbmdsZTogbnVsbCxcbiAgc2NlbmVncmFwaDogbnVsbCxcbiAgLy8gZm9yIGhlYXRtYXAgYWdncmVnYXRpb25cbiAgY2VsbDogbnVsbCxcbiAgcHJlY2lzaW9uOiBudWxsLFxuICBkaXNwbGF5OiBudWxsLFxuICBpbnRlcmFjdGlvbjogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX09QQUNJVFkgPSAwLjg7XG5leHBvcnQgY29uc3QgREVGQVVMVF9ISUdITElHSFRfQ09MT1I6IFJHQkFDb2xvciA9IFsyNTIsIDI0MiwgMjYsIDI1NV07XG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9MQUJFTCA9ICduZXcgbGF5ZXInO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9URVhUX0xBQkVMOiBMYXllclRleHRMYWJlbCA9IHtcbiAgZmllbGQ6IG51bGwsXG4gIGNvbG9yOiBbMjU1LCAyNTUsIDI1NV0sXG4gIHNpemU6IDE4LFxuICB3ZWlnaHQ6IDQwMCxcbiAgb2Zmc2V0OiBbMCwgMF0sXG4gIGFuY2hvcjogJ3N0YXJ0JyxcbiAgYWxpZ25tZW50OiAnY2VudGVyJyxcbiAgb3V0bGluZVdpZHRoOiAwLFxuICBvdXRsaW5lQ29sb3I6IFsyNTUsIDAsIDAsIDI1NV0sXG4gIGJhY2tncm91bmQ6IGZhbHNlLFxuICBiYWNrZ3JvdW5kQ29sb3I6IFswLCAwLCAyMDAsIDI1NV1cbn07XG5cbmNvbnN0IERFRkFVTFRfQ09MT1JfUEFMRVRURSA9IEtFUExFUl9DT0xPUl9QQUxFVFRFUy5maW5kKFxuICAoe25hbWV9KSA9PiBuYW1lID09PSBERUZBVUxUX0xBWUVSX0NPTE9SX1BBTEVUVEVcbikgYXMgQ29sb3JQYWxldHRlO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT0xPUl9SQU5HRSA9IGNvbG9yUGFsZXR0ZVRvQ29sb3JSYW5nZShERUZBVUxUX0NPTE9SX1BBTEVUVEUsIHtcbiAgcmV2ZXJzZWQ6IGZhbHNlLFxuICBzdGVwczogREVGQVVMVF9MQVlFUl9DT0xPUl9QQUxFVFRFX1NURVBTXG59KTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ1VTVE9NX1BBTEVUVEU6IENvbG9yUmFuZ2UgPSB7XG4gIG5hbWU6ICdjb2xvci5jdXN0b21QYWxldHRlJyxcbiAgdHlwZTogJ2N1c3RvbScsXG4gIGNhdGVnb3J5OiAnQ3VzdG9tJyxcbiAgY29sb3JzOiBbXVxufTtcblxuZXhwb3J0IGNvbnN0IFVOS05PV05fQ09MT1JfS0VZID0gJ19fdW5rbm93bkNvbG9yX18nO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT0xPUl9VSTogQ29sb3JVSSA9IHtcbiAgLy8gY3VzdG9tUGFsZXR0ZSBpbiBlZGl0XG4gIGN1c3RvbVBhbGV0dGU6IERFRkFVTFRfQ1VTVE9NX1BBTEVUVEUsXG4gIC8vIHNob3cgY29sb3Igc2tldGNoZXIgbW9kYWxcbiAgc2hvd1NrZXRjaGVyOiBmYWxzZSxcbiAgLy8gc2hvdyBjb2xvciByYW5nZSBzZWxlY3Rpb24gcGFuZWxcbiAgc2hvd0Ryb3Bkb3duOiBmYWxzZSxcbiAgLy8gc2hvdyBjb2xvciBjaGFydFxuICBzaG93Q29sb3JDaGFydDogZmFsc2UsXG4gIC8vIGNvbG9yIHJhbmdlIHNlbGVjdG9yIGNvbmZpZ1xuICBjb2xvclJhbmdlQ29uZmlnOiB7XG4gICAgdHlwZTogJ2FsbCcsXG4gICAgc3RlcHM6IDYsXG4gICAgcmV2ZXJzZWQ6IGZhbHNlLFxuICAgIGNvbG9yQmxpbmRTYWZlOiBmYWxzZSxcbiAgICBjdXN0b206IGZhbHNlLFxuICAgIGN1c3RvbUJyZWFrczogZmFsc2VcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExBWUVSX1ZJU19DT05GSUdTOiBMYXllclZpc0NvbmZpZ1NldHRpbmdzID0ge1xuICB0aGlja25lc3M6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDIsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc3Ryb2tlV2lkdGgnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDEwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc3Ryb2tlLFxuICAgIHByb3BlcnR5OiAndGhpY2tuZXNzJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIHN0cm9rZVdpZHRoUmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCAxMF0sXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc3Ryb2tlV2lkdGhSYW5nZScsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAyMDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnN0cm9rZSxcbiAgICBwcm9wZXJ0eTogJ3NpemVSYW5nZScsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICB0cmFpbExlbmd0aDoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMTgwLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnN0cm9rZVdpZHRoJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFsxLCAxMDAwXSxcbiAgICBzdGVwOiAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc3Ryb2tlLFxuICAgIHByb3BlcnR5OiAndHJhaWxMZW5ndGgnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgZmFkZVRyYWlsOiB7XG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5mYWRlVHJhaWwnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc3Ryb2tlLFxuICAgIHByb3BlcnR5OiAnZmFkZVRyYWlsJ1xuICB9LFxuICBiaWxsYm9hcmQ6IHtcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5iaWxsYm9hcmQnLFxuICAgIGRlc2NyaXB0aW9uOiAnbGF5ZXJWaXNDb25maWdzLmJpbGxib2FyZERlc2NyaXB0aW9uJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmRpc3BsYXksXG4gICAgcHJvcGVydHk6ICdiaWxsYm9hcmQnXG4gIH0sXG4gIC8vIHJhZGl1cyBpcyBhY3R1YWxseSByYWRpdXNTY2FsZSBpbiBkZWNrLmdsXG4gIHJhZGl1czoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMTAsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MucmFkaXVzJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAxMDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnJhZGl1cyxcbiAgICBwcm9wZXJ0eTogJ3JhZGl1cycsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBmaXhlZFJhZGl1czoge1xuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmZpeGVkUmFkaXVzJyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5maXhlZFJhZGl1c0Rlc2NyaXB0aW9uJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnJhZGl1cyxcbiAgICBwcm9wZXJ0eTogJ2ZpeGVkUmFkaXVzJ1xuICB9LFxuICBmaXhlZEhlaWdodDoge1xuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmZpeGVkSGVpZ2h0JyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5maXhlZEhlaWdodERlc2NyaXB0aW9uJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ2ZpeGVkSGVpZ2h0J1xuICB9LFxuICByYWRpdXNSYW5nZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogWzAsIDUwXSxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzAsIDUwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnJhZGl1c1JhbmdlJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnJhZGl1cyxcbiAgICBwcm9wZXJ0eTogJ3JhZGl1c1JhbmdlJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIGNsdXN0ZXJSYWRpdXM6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5jbHVzdGVyUmFkaXVzJyxcbiAgICBkZWZhdWx0VmFsdWU6IDQwLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzEsIDUwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucmFkaXVzLFxuICAgIHByb3BlcnR5OiAnY2x1c3RlclJhZGl1cycsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBjbHVzdGVyUmFkaXVzUmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5yYWRpdXNSYW5nZVBpeGVscycsXG4gICAgZGVmYXVsdFZhbHVlOiBbMSwgNDBdLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMSwgMTUwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5yYWRpdXMsXG4gICAgcHJvcGVydHk6ICdyYWRpdXNSYW5nZScsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBvcGFjaXR5OiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0xBWUVSX09QQUNJVFksXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Mub3BhY2l0eScsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMV0sXG4gICAgc3RlcDogMC4wMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAnb3BhY2l0eScsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogZmFsc2VcbiAgfSxcbiAgY292ZXJhZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDEsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuY292ZXJhZ2UnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDFdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jZWxsLFxuICAgIHByb3BlcnR5OiAnY292ZXJhZ2UnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IGZhbHNlXG4gIH0sXG4gIC8vIHVzZWQgaW4gcG9pbnQgbGF5ZXJcbiAgb3V0bGluZToge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGxhYmVsOiAnbGF5ZXIub3V0bGluZScsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5kaXNwbGF5LFxuICAgIHByb3BlcnR5OiAnb3V0bGluZSdcbiAgfSxcbiAgY29sb3JSYW5nZToge1xuICAgIHR5cGU6ICdjb2xvci1yYW5nZS1zZWxlY3QnLFxuICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9DT0xPUl9SQU5HRSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5jb2xvclJhbmdlJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAnY29sb3JSYW5nZSdcbiAgfSxcbiAgc3Ryb2tlQ29sb3JSYW5nZToge1xuICAgIHR5cGU6ICdjb2xvci1yYW5nZS1zZWxlY3QnLFxuICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9DT0xPUl9SQU5HRSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zdHJva2VDb2xvclJhbmdlJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAnc3Ryb2tlQ29sb3JSYW5nZSdcbiAgfSxcbiAgdGFyZ2V0Q29sb3I6IHtcbiAgICB0eXBlOiAnY29sb3Itc2VsZWN0JyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy50YXJnZXRDb2xvcicsXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY29sb3IsXG4gICAgcHJvcGVydHk6ICd0YXJnZXRDb2xvcidcbiAgfSxcbiAgc3Ryb2tlQ29sb3I6IHtcbiAgICB0eXBlOiAnY29sb3Itc2VsZWN0JyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zdHJva2VDb2xvcicsXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY29sb3IsXG4gICAgcHJvcGVydHk6ICdzdHJva2VDb2xvcidcbiAgfSxcbiAgY29sb3JBZ2dyZWdhdGlvbjoge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIGRlZmF1bHRWYWx1ZTogQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5jb2xvckFnZ3JlZ2F0aW9uJyxcbiAgICAvLyBhZ2dyZWdhdGlvbiBvcHRpb25zIGFyZSBiYXNlZCBvbiBjb2xvciBmaWVsZCB0eXBlc1xuICAgIG9wdGlvbnM6IE9iamVjdC5rZXlzKEFHR1JFR0FUSU9OX1RZUEVTKSBhcyBBZ2dyZWdhdGlvblR5cGVzW10sXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ2NvbG9yQWdncmVnYXRpb24nLFxuICAgIGNvbmRpdGlvbjogY29uZmlnID0+IEJvb2xlYW4oY29uZmlnLmNvbG9yRmllbGQpXG4gIH0sXG4gIHNpemVBZ2dyZWdhdGlvbjoge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIGRlZmF1bHRWYWx1ZTogQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5oZWlnaHRBZ2dyZWdhdGlvbicsXG4gICAgLy8gYWdncmVnYXRpb24gb3B0aW9ucyBhcmUgYmFzZWQgb24gY29sb3IgZmllbGQgdHlwZXNcbiAgICBvcHRpb25zOiBPYmplY3Qua2V5cyhBR0dSRUdBVElPTl9UWVBFUykgYXMgQWdncmVnYXRpb25UeXBlc1tdLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnc2l6ZUFnZ3JlZ2F0aW9uJyxcbiAgICBjb25kaXRpb246IGNvbmZpZyA9PiBCb29sZWFuKGNvbmZpZy5zaXplRmllbGQpXG4gIH0sXG4gIHBlcmNlbnRpbGU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCAxMDBdLFxuICAgIGxhYmVsOiBjb25maWcgPT5cbiAgICAgIGBGaWx0ZXIgYnkgJHtcbiAgICAgICAgY29uZmlnLmNvbG9yRmllbGRcbiAgICAgICAgICA/IGAke2NvbmZpZy52aXNDb25maWcuY29sb3JBZ2dyZWdhdGlvbn0gJHtjb25maWcuY29sb3JGaWVsZC5uYW1lfWBcbiAgICAgICAgICA6ICdjb3VudCdcbiAgICAgIH0gcGVyY2VudGlsZWAsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAxMDBdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ3BlcmNlbnRpbGUnLFxuXG4gICAgLy8gcGVyY2VudGlsZSBmaWx0ZXIgb25seSBtYWtlcyBzZW5zZSB3aXRoIGxpbmVhciBhZ2dyZWdhdGlvblxuICAgIGNvbmRpdGlvbjogY29uZmlnID0+IGNvbmZpZy5jb2xvclNjYWxlICE9PSAnb3JkaW5hbCcsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogZmFsc2VcbiAgfSxcbiAgZWxldmF0aW9uUGVyY2VudGlsZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogWzAsIDEwMF0sXG4gICAgbGFiZWw6IGNvbmZpZyA9PlxuICAgICAgYEZpbHRlciBieSAke1xuICAgICAgICBjb25maWcuc2l6ZUZpZWxkID8gYCR7Y29uZmlnLnZpc0NvbmZpZy5zaXplQWdncmVnYXRpb259ICR7Y29uZmlnLnNpemVGaWVsZC5uYW1lfWAgOiAnY291bnQnXG4gICAgICB9IHBlcmNlbnRpbGVgLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMCwgMTAwXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnZWxldmF0aW9uUGVyY2VudGlsZScsXG4gICAgLy8gcGVyY2VudGlsZSBmaWx0ZXIgb25seSBtYWtlcyBzZW5zZSB3aXRoIGxpbmVhciBhZ2dyZWdhdGlvblxuICAgIGNvbmRpdGlvbjogY29uZmlnID0+XG4gICAgICBCb29sZWFuKGNvbmZpZy52aXNDb25maWcuZW5hYmxlM2QgJiYgKGNvbmZpZy5jb2xvckZpZWxkIHx8IGNvbmZpZy5zaXplRmllbGQpKSxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiBmYWxzZVxuICB9LFxuICByZXNvbHV0aW9uOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiA4LFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnJlc29sdXRpb24nLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDEzXSxcbiAgICBzdGVwOiAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY2VsbCxcbiAgICBwcm9wZXJ0eTogJ3Jlc29sdXRpb24nLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgc2l6ZVNjYWxlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAxMCxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zaXplU2NhbGUnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzEsIDEwMDBdLFxuICAgIHN0ZXA6IDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zdHJva2UsXG4gICAgcHJvcGVydHk6ICdzaXplU2NhbGUnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgYW5nbGU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5hbmdsZScsXG4gICAgZGVmYXVsdFZhbHVlOiAwLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDM2MF0sXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5hbmdsZSxcbiAgICBzdGVwOiAxLFxuICAgIHByb3BlcnR5OiAnYW5nbGUnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgd29ybGRVbml0U2l6ZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy53b3JsZFVuaXRTaXplJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCA1MDBdLFxuICAgIHN0ZXA6IDAuMDAwMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNlbGwsXG4gICAgcHJvcGVydHk6ICd3b3JsZFVuaXRTaXplJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIGVsZXZhdGlvblNjYWxlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiA1LFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmVsZXZhdGlvblNjYWxlJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAxMDAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdlbGV2YXRpb25TY2FsZScsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5lbmFibGVFbGV2YXRpb25ab29tRmFjdG9yJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ2VuYWJsZUVsZXZhdGlvblpvb21GYWN0b3InLFxuICAgIGRlc2NyaXB0aW9uOiAnbGF5ZXJWaXNDb25maWdzLmVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3JEZXNjcmlwdGlvbidcbiAgfSxcbiAgZWxldmF0aW9uUmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCA1MDBdLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmhlaWdodFNjYWxlJyxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzAsIDEwMDBdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdzaXplUmFuZ2UnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgaGVpZ2h0UmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCA1MDBdLFxuICAgIGxhYmVsOiAnSGVpZ2h0IFNjYWxlJyxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzAsIDEwMDBdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdoZWlnaHRSYW5nZScsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBjb3ZlcmFnZVJhbmdlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBbMCwgMV0sXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuY292ZXJhZ2VSYW5nZScsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAxXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucmFkaXVzLFxuICAgIHByb3BlcnR5OiAnY292ZXJhZ2VSYW5nZScsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogZmFsc2VcbiAgfSxcbiAgLy8gaGkgcHJlY2lzaW9uIGlzIGRlcHJlY2F0ZWQgYnkgZGVjay5nbFxuICAnaGktcHJlY2lzaW9uJzoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmhpZ2hQcmVjaXNpb25SZW5kZXJpbmcnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucHJlY2lzaW9uLFxuICAgIHByb3BlcnR5OiAnaGktcHJlY2lzaW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5oaWdoUHJlY2lzaW9uUmVuZGVyaW5nRGVzY3JpcHRpb24nXG4gIH0sXG4gIGVuYWJsZTNkOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuaGVpZ2h0JyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ2VuYWJsZTNkJyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5oZWlnaHREZXNjcmlwdGlvbidcbiAgfSxcbiAgc3Ryb2tlZDoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zdHJva2UnLFxuICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmRpc3BsYXksXG4gICAgcHJvcGVydHk6ICdzdHJva2VkJ1xuICB9LFxuICBmaWxsZWQ6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuZmlsbCcsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmRpc3BsYXksXG4gICAgcHJvcGVydHk6ICdmaWxsZWQnXG4gIH0sXG4gIGV4dHJ1ZGVkOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuZW5hYmxlUG9seWdvbkhlaWdodCcsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5kaXNwbGF5LFxuICAgIHByb3BlcnR5OiAnZXh0cnVkZWQnXG4gIH0sXG4gIHdpcmVmcmFtZToge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnNob3dXaXJlZnJhbWUnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuZGlzcGxheSxcbiAgICBwcm9wZXJ0eTogJ3dpcmVmcmFtZSdcbiAgfSxcbiAgLy8gdXNlZCBmb3IgaGVhdG1hcFxuICB3ZWlnaHQ6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDEsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Mud2VpZ2h0SW50ZW5zaXR5JyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLjAxLCA1MDBdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jZWxsLFxuICAgIHByb3BlcnR5OiAnd2VpZ2h0JyxcbiAgICBjb25kaXRpb246IGNvbmZpZyA9PiBCb29sZWFuKGNvbmZpZy53ZWlnaHRGaWVsZCksXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBoZWF0bWFwUmFkaXVzOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAyMCxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5yYWRpdXMnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDEwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY2VsbCxcbiAgICBwcm9wZXJ0eTogJ3JhZGl1cycsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBkYXJrQmFzZU1hcEVuYWJsZWQ6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmRhcmtNb2RlRW5hYmxlZCcsXG4gICAgcHJvcGVydHk6ICdkYXJrQmFzZU1hcEVuYWJsZWQnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuZGlzcGxheVxuICB9LFxuICBhbGxvd0hvdmVyOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5hbGxvd0hvdmVyJyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5hbGxvd0hvdmVyRGVzY3JpcHRpb24nLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaW50ZXJhY3Rpb24sXG4gICAgcHJvcGVydHk6ICdhbGxvd0hvdmVyJ1xuICB9LFxuICBzaG93TmVpZ2hib3JPbkhvdmVyOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc2hvd05laWdoYm9yT25Ib3ZlcicsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5pbnRlcmFjdGlvbixcbiAgICBwcm9wZXJ0eTogJ3Nob3dOZWlnaGJvck9uSG92ZXInXG4gIH0sXG4gIHNob3dIaWdobGlnaHRDb2xvcjoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc2hvd0hpZ2hsaWdodENvbG9yJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmludGVyYWN0aW9uLFxuICAgIHByb3BlcnR5OiAnc2hvd0hpZ2hsaWdodENvbG9yJ1xuICB9LFxuICBzY2VuZWdyYXBoOiB7XG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxuICAgIHR5cGU6ICdpbnB1dCcsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc2NlbmVncmFwaCcsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zY2VuZWdyYXBoLFxuICAgIHByb3BlcnR5OiAnc2NlbmVncmFwaCdcbiAgfSxcbiAgc2NlbmVncmFwaEVuYWJsZWQ6IHtcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zY2VuZWdyYXBoRW5hYmxlZCcsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zY2VuZWdyYXBoLFxuICAgIHByb3BlcnR5OiAnc2NlbmVncmFwaEVuYWJsZWQnXG4gIH0sXG4gIHNjZW5lZ3JhcGhDdXN0b21Nb2RlbFVybDoge1xuICAgIGRlZmF1bHRWYWx1ZTogJycsXG4gICAgdHlwZTogJ2lucHV0JyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zY2VuZWdyYXBoQ3VzdG9tTW9kZWxVcmwnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc2NlbmVncmFwaCxcbiAgICBwcm9wZXJ0eTogJ3NjZW5lZ3JhcGhDdXN0b21Nb2RlbFVybCdcbiAgfSxcbiAgc2NlbmVncmFwaENvbG9yRW5hYmxlZDoge1xuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnNjZW5lZ3JhcGhDb2xvckVuYWJsZWQnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc2NlbmVncmFwaCxcbiAgICBwcm9wZXJ0eTogJ3NjZW5lZ3JhcGhDb2xvckVuYWJsZWQnXG4gIH0sXG4gIHNjZW5lZ3JhcGhVc2VUcmFpbENvbG9yOiB7XG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc2NlbmVncmFwaFVzZVRyYWlsQ29sb3InLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc2NlbmVncmFwaCxcbiAgICBwcm9wZXJ0eTogJ3NjZW5lZ3JhcGhVc2VUcmFpbENvbG9yJ1xuICB9LFxuICBzY2VuZWdyYXBoQ29sb3I6IHtcbiAgICBkZWZhdWx0VmFsdWU6IG51bGwsXG4gICAgdHlwZTogJ2NvbG9yLXNlbGVjdCcsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc2NlbmVncmFwaENvbG9yJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnNjZW5lZ3JhcGgsXG4gICAgcHJvcGVydHk6ICdzY2VuZWdyYXBoQ29sb3InXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMQVlFUl9URVhUX0NPTkZJR1M6IExheWVyVGV4dENvbmZpZyA9IHtcbiAgZm9udFNpemU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICByYW5nZTogWzEsIDEwMF0sXG4gICAgdmFsdWUwOiAxLFxuICAgIHN0ZXA6IDEsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIGxhYmVsOiAnRm9udCBzaXplJyxcbiAgICBzaG93SW5wdXQ6IHRydWVcbiAgfSxcbiAgZm9udFdlaWdodDoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIHJhbmdlOiBbMTAwLCA5MDBdLFxuICAgIHZhbHVlMDogMTAwLFxuICAgIHN0ZXA6IDEwMCxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgbGFiZWw6ICdGb250IHdlaWdodCcsXG4gICAgc2hvd0lucHV0OiB0cnVlXG4gIH0sXG4gIG91dGxpbmVXaWR0aDoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIHJhbmdlOiBbMCwgMV0sXG4gICAgdmFsdWUwOiAwLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIGxhYmVsOiAnT3V0bGluZSB3aWR0aCcsXG4gICAgc2hvd0lucHV0OiB0cnVlXG4gIH0sXG4gIHRleHRBbmNob3I6IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBvcHRpb25zOiBbJ3N0YXJ0JywgJ21pZGRsZScsICdlbmQnXSxcbiAgICBtdWx0aVNlbGVjdDogZmFsc2UsXG4gICAgc2VhcmNoYWJsZTogZmFsc2VcbiAgfSxcbiAgdGV4dEFsaWdubWVudDoge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIG9wdGlvbnM6IFsndG9wJywgJ2NlbnRlcicsICdib3R0b20nXSxcbiAgICBtdWx0aVNlbGVjdDogZmFsc2UsXG4gICAgc2VhcmNoYWJsZTogZmFsc2VcbiAgfVxufTtcbmV4cG9ydCBjb25zdCBMQVlFUl9UWVBFUyA9IGtleU1pcnJvcih7XG4gIHBvaW50OiBudWxsLFxuICBhcmM6IG51bGwsXG4gIGxpbmU6IG51bGwsXG4gIGdyaWQ6IG51bGwsXG4gIGhleGFnb246IG51bGwsXG4gIGdlb2pzb246IG51bGwsXG4gIGNsdXN0ZXI6IG51bGwsXG4gIGljb246IG51bGwsXG4gIGhlYXRtYXA6IG51bGwsXG4gIGhleGFnb25JZDogbnVsbCxcbiAgJzNEJzogbnVsbCxcbiAgdHJpcDogbnVsbCxcbiAgczI6IG51bGwsXG4gIGE1OiBudWxsLFxuICBmbG93OiBudWxsLFxuICB2ZWN0b3JUaWxlOiBudWxsLFxuICByYXN0ZXJUaWxlOiBudWxsLFxuICB3bXM6IG51bGwsXG4gIHRpbGUzZDogbnVsbCxcbiAgYml0bWFwOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVESVRPUl9BVkFJTEFCTEVfTEFZRVJTOiBzdHJpbmdbXSA9IFtcbiAgTEFZRVJfVFlQRVMucG9pbnQsXG4gIExBWUVSX1RZUEVTLmljb24sXG4gIExBWUVSX1RZUEVTLmdyaWQsXG4gIExBWUVSX1RZUEVTLmhleGFnb24sXG4gIExBWUVSX1RZUEVTLmNsdXN0ZXIsXG4gIExBWUVSX1RZUEVTLmFyYyxcbiAgTEFZRVJfVFlQRVMubGluZSxcbiAgTEFZRVJfVFlQRVMuaGV4YWdvbklkLFxuICBMQVlFUl9UWVBFUy5nZW9qc29uLFxuICBMQVlFUl9UWVBFUy5oZWF0bWFwXG5dO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0EsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsZ0JBQUEsR0FBQUQsT0FBQTtBQWFBLElBQUFFLGNBQUEsR0FBQUYsT0FBQTtBQWxCQTtBQUNBOztBQXFCTyxJQUFNRyxlQUFlLEdBQUFDLE9BQUEsQ0FBQUQsZUFBQSxHQUFHLElBQUFFLHFCQUFTLEVBQUM7RUFDdkNDLEtBQUssRUFBRSxJQUFJO0VBQ1hDLE1BQU0sRUFBRSxJQUFJO0VBQ1pDLE1BQU0sRUFBRSxJQUFJO0VBQ1pDLE1BQU0sRUFBRSxJQUFJO0VBQ1pDLEtBQUssRUFBRSxJQUFJO0VBQ1hDLFVBQVUs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
|