@kepler.gl/constants 3.3.0-alpha.4 → 3.3.0-alpha.6

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