@kepler.gl/constants 3.0.0-alpha.0 → 3.0.0-alpha.2
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/color-palette.js +7 -22
- package/dist/color-ranges.d.ts +1 -1
- package/dist/color-ranges.js +1 -21
- package/dist/custom-color-ranges.js +6 -22
- package/dist/default-settings.d.ts +156 -29
- package/dist/default-settings.js +635 -154
- package/dist/dnd-layer-items.d.ts +8 -0
- package/dist/dnd-layer-items.js +26 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +15 -21
- package/dist/keyevent.js +7 -22
- package/dist/layers.js +28 -24
- package/dist/tooltip.d.ts +36 -0
- package/dist/tooltip.js +41 -22
- package/dist/user-feedbacks.js +5 -22
- package/dist/user-guides.js +5 -22
- package/package.json +7 -8
- package/umd/keplergl.min.js +3 -25
package/dist/default-settings.js
CHANGED
|
@@ -1,23 +1,3 @@
|
|
|
1
|
-
// Copyright (c) 2022 Uber Technologies, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
-
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
-
// in the Software without restriction, including without limitation the rights
|
|
6
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
-
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
-
// furnished to do so, subject to the following conditions:
|
|
9
|
-
//
|
|
10
|
-
// The above copyright notice and this permission notice shall be included in
|
|
11
|
-
// all copies or substantial portions of the Software.
|
|
12
|
-
//
|
|
13
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
-
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
-
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
-
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
-
// THE SOFTWARE.
|
|
20
|
-
|
|
21
1
|
"use strict";
|
|
22
2
|
|
|
23
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
@@ -26,19 +6,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
26
6
|
value: true
|
|
27
7
|
});
|
|
28
8
|
exports.getHTMLMapModeTileUrl = getHTMLMapModeTileUrl;
|
|
29
|
-
exports.
|
|
9
|
+
exports.GEOCODER_LAYER_ID = exports.GEOCODER_DATASET_NAME = exports.SPEED_CONTROL_STEP = exports.SPEED_CONTROL_RANGE = exports.DEFAULT_TIME_FORMAT = exports.ANIMATION_WINDOW = exports.FPS = exports.BASE_SPEED = exports.THROTTLE_NOTIFICATION_TIME = exports.DEFAULT_NOTIFICATION_TOPICS = exports.DEFAULT_NOTIFICATION_TYPES = exports.DEFAULT_NOTIFICATION_MESSAGE = exports.DEFAULT_UUID_COUNT = exports.EXPORT_HTML_MAP_MODE_OPTIONS = exports.EXPORT_MAP_FORMAT_OPTIONS = exports.EXPORT_HTML_MAP_MODES = exports.EXPORT_MAP_FORMATS = exports.EXPORT_DATA_TYPE_OPTIONS = exports.EXPORT_DATA_TYPE = exports.EXPORT_IMG_RESOLUTION_OPTIONS = exports.TwoXResolutionOption = exports.OneXResolutionOption = exports.EXPORT_IMG_RATIO_OPTIONS = exports.SixteenByNineRatioOption = exports.FourByThreeRatioOption = exports.CustomRatioOption = exports.ScreenRatioOption = exports.EXPORT_IMG_RATIOS = exports.RESOLUTIONS = exports.MAX_DEFAULT_TOOLTIPS = exports.LAYER_BLENDINGS = exports.OVERLAY_BLENDINGS = exports.DEFAULT_PICKING_RADIUS = exports.NO_VALUE_COLOR = exports.DEFAULT_TOOLTIP_FIELDS = exports.DEFAULT_LAYER_COLOR = exports.CHANNEL_SCALE_SUPPORTED_FIELDS = exports.FIELD_OPTS = exports.DEFAULT_AGGREGATION = exports.notSupportAggrOpts = exports.notSupportedScaleOpts = exports.ordinalFieldAggrScaleFunctions = exports.ordinalFieldScaleFunctions = exports.linearFieldAggrScaleFunctions = exports.linearFieldScaleFunctions = exports.AGGREGATION_TYPE_OPTIONS = exports.AGGREGATION_TYPES = exports.CHANNEL_SCALES = exports.HIGHLIGH_COLOR_3D = exports.FIELD_COLORS = exports.FIELD_TYPE_DISPLAY = exports.TABLE_OPTION_LIST = exports.TABLE_OPTION = exports.SORT_ORDER = exports.ALL_FIELD_TYPES = exports.SCALE_FUNC = exports.SCALE_TYPES = exports.DEFAULT_FILTER_VIEW_TYPE = exports.FILTER_VIEW_TYPES = exports.FILTER_TYPES = exports.TRIP_ARC_FIELDS = exports.ALTITUDE_FIELDS = exports.TRIP_POINT_FIELDS = exports.ICON_FIELDS = exports.GEOJSON_FIELDS = exports.DEFAULT_MAP_STYLES = exports.NO_BASEMAP_ICON = exports.EMPTY_MAPBOX_STYLE = exports.NO_MAP_ID = exports.BASE_MAP_COLOR_MODES = exports.DEFAULT_LAYER_GROUPS = exports.BACKGROUND_LAYER_GROUP = exports.THREE_D_BUILDING_LAYER_GROUP_SLUG = exports.BACKGROUND_LAYER_GROUP_SLUG = exports.BASE_MAP_BACKGROUND_LAYER_IDS = exports.DEFAULT_BACKGROUND_COLOR = exports.DEFAULT_BLDG_COLOR = exports.PANELS = exports.PANEL_VIEW_TOGGLES = exports.SIDEBAR_PANELS = exports.THEME = exports.DIMENSIONS = exports.KEPLER_GL_WEBSITE = exports.KEPLER_GL_VERSION = exports.KEPLER_GL_NAME = exports.SHARE_MAP_ID = exports.OVERWRITE_MAP_ID = exports.SAVE_MAP_ID = exports.EXPORT_MAP_ID = exports.ADD_MAP_STYLE_ID = exports.EXPORT_DATA_ID = exports.EXPORT_IMAGE_ID = exports.ADD_DATA_ID = exports.DELETE_DATA_ID = exports.DATA_TABLE_ID = exports.TRANSITION_DURATION = exports.DEFAULT_MAPBOX_API_URL = exports.BASEMAP_ICON_PREFIX = exports.KEPLER_UNFOLDED_BUCKET = exports.ACTION_PREFIX = void 0;
|
|
10
|
+
exports.EFFECT_DESCRIPTIONS = exports.POSTPROCESSING_EFFECTS = exports.LIGHT_AND_SHADOW_EFFECT = exports.DEFAULT_LIGHT_AND_SHADOW_PROPS = exports.LIGHT_AND_SHADOW_EFFECT_TIME_MODES = exports.DEFAULT_SHADOW_COLOR = exports.DEFAULT_SHADOW_INTENSITY = exports.DEFAULT_LIGHT_INTENSITY = exports.DEFAULT_LIGHT_COLOR = exports.DEFAULT_POST_PROCESSING_EFFECT_TYPE = exports.DEFAULT_TIMEZONE = exports.dataTestIds = exports.TEXT_OUTLINE_MULTIPLIER = exports.PROJECTED_PIXEL_SIZE_MULTIPLIER = exports.MAP_CONTROLS = exports.DATASET_FORMATS = exports.DEFAULT_FEATURE_FLAGS = exports.LOADING_METHODS = exports.MAP_INFO_CHARACTER = exports.MAP_THUMBNAIL_DIMENSION = exports.MAX_GPU_FILTERS = exports.INIT_FILTER_ITEMS_IN_DROPDOWN = exports.PLOT_TYPES = exports.EDITOR_MODES = exports.EDITOR_LAYER_PICKING_RADIUS = exports.EDITOR_LAYER_ID = exports.GEOCODER_ICON_SIZE = exports.GEOCODER_ICON_COLOR = exports.GEOCODER_GEO_OFFSET = void 0;
|
|
11
|
+
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
30
15
|
|
|
31
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
32
17
|
|
|
33
18
|
var _keymirror = _interopRequireDefault(require("keymirror"));
|
|
34
19
|
|
|
35
|
-
var _reactMapGlDraw = require("react-map-gl-draw");
|
|
36
|
-
|
|
37
20
|
var _d3Scale = require("d3-scale");
|
|
38
21
|
|
|
39
22
|
var _tooltip = require("./tooltip");
|
|
40
23
|
|
|
41
|
-
var _SCALE_FUNC, _FIELD_TYPE_DISPLAY, _linearFieldScaleFunc, _CHANNEL_SCALES$color, _CHANNEL_SCALES$sizeA, _linearFieldAggrScale, _ordinalFieldScaleFun, _CHANNEL_SCALES$color2, _ordinalFieldAggrScal, _notSupportedScaleOpt, _notSupportAggrOpts, _DEFAULT_AGGREGATION;
|
|
24
|
+
var _SCALE_FUNC, _FIELD_TYPE_DISPLAY, _linearFieldScaleFunc, _CHANNEL_SCALES$color, _CHANNEL_SCALES$sizeA, _linearFieldAggrScale, _ordinalFieldScaleFun, _CHANNEL_SCALES$color2, _ordinalFieldAggrScal, _notSupportedScaleOpt, _notSupportAggrOpts, _DEFAULT_AGGREGATION, _FIELD_OPTS;
|
|
42
25
|
|
|
43
26
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
44
27
|
|
|
@@ -46,10 +29,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
46
29
|
|
|
47
30
|
var ACTION_PREFIX = '@@kepler.gl/';
|
|
48
31
|
exports.ACTION_PREFIX = ACTION_PREFIX;
|
|
49
|
-
var
|
|
50
|
-
exports.
|
|
51
|
-
var
|
|
52
|
-
exports.
|
|
32
|
+
var KEPLER_UNFOLDED_BUCKET = 'https://studio-public-data.foursquare.com/statics/keplergl';
|
|
33
|
+
exports.KEPLER_UNFOLDED_BUCKET = KEPLER_UNFOLDED_BUCKET;
|
|
34
|
+
var BASEMAP_ICON_PREFIX = "".concat(KEPLER_UNFOLDED_BUCKET, "/geodude");
|
|
35
|
+
exports.BASEMAP_ICON_PREFIX = BASEMAP_ICON_PREFIX;
|
|
53
36
|
var DEFAULT_MAPBOX_API_URL = 'https://api.mapbox.com';
|
|
54
37
|
exports.DEFAULT_MAPBOX_API_URL = DEFAULT_MAPBOX_API_URL;
|
|
55
38
|
var TRANSITION_DURATION = 0; // Modal Ids
|
|
@@ -151,7 +134,7 @@ var KEPLER_GL_NAME = 'kepler.gl'; // __PACKAGE_VERSION__ is automatically inject
|
|
|
151
134
|
// an empty string which will allow us to retrieve the latest umd version
|
|
152
135
|
|
|
153
136
|
exports.KEPLER_GL_NAME = KEPLER_GL_NAME;
|
|
154
|
-
var KEPLER_GL_VERSION = "3.0.0-alpha.
|
|
137
|
+
var KEPLER_GL_VERSION = "3.0.0-alpha.2";
|
|
155
138
|
exports.KEPLER_GL_VERSION = KEPLER_GL_VERSION;
|
|
156
139
|
var KEPLER_GL_WEBSITE = 'http://kepler.gl/';
|
|
157
140
|
exports.KEPLER_GL_WEBSITE = KEPLER_GL_WEBSITE;
|
|
@@ -212,91 +195,184 @@ var SIDEBAR_PANELS = [{
|
|
|
212
195
|
id: 'map',
|
|
213
196
|
label: 'sidebar.panels.basemap',
|
|
214
197
|
onClick: null
|
|
215
|
-
}];
|
|
216
|
-
|
|
198
|
+
}];
|
|
217
199
|
exports.SIDEBAR_PANELS = SIDEBAR_PANELS;
|
|
200
|
+
var PANEL_VIEW_TOGGLES = (0, _keymirror["default"])({
|
|
201
|
+
list: null,
|
|
202
|
+
byDataset: null
|
|
203
|
+
}); // backward compatibility
|
|
204
|
+
|
|
205
|
+
exports.PANEL_VIEW_TOGGLES = PANEL_VIEW_TOGGLES;
|
|
218
206
|
var PANELS = SIDEBAR_PANELS; // MAP STYLES
|
|
219
207
|
|
|
220
208
|
exports.PANELS = PANELS;
|
|
209
|
+
var DEFAULT_BLDG_COLOR = '#D1CEC7';
|
|
210
|
+
exports.DEFAULT_BLDG_COLOR = DEFAULT_BLDG_COLOR;
|
|
211
|
+
var DEFAULT_BACKGROUND_COLOR = '#000000'; // assists in identifying basemap background layers when auto-determining the backgroundColor
|
|
212
|
+
|
|
213
|
+
exports.DEFAULT_BACKGROUND_COLOR = DEFAULT_BACKGROUND_COLOR;
|
|
214
|
+
var BASE_MAP_BACKGROUND_LAYER_IDS = ['background', 'bg', 'land', 'water'];
|
|
215
|
+
exports.BASE_MAP_BACKGROUND_LAYER_IDS = BASE_MAP_BACKGROUND_LAYER_IDS;
|
|
216
|
+
var BACKGROUND_LAYER_GROUP_SLUG = 'Background';
|
|
217
|
+
exports.BACKGROUND_LAYER_GROUP_SLUG = BACKGROUND_LAYER_GROUP_SLUG;
|
|
218
|
+
var THREE_D_BUILDING_LAYER_GROUP_SLUG = '3d building';
|
|
219
|
+
exports.THREE_D_BUILDING_LAYER_GROUP_SLUG = THREE_D_BUILDING_LAYER_GROUP_SLUG;
|
|
220
|
+
var BACKGROUND_LAYER_GROUP = {
|
|
221
|
+
slug: BACKGROUND_LAYER_GROUP_SLUG,
|
|
222
|
+
filter: function filter() {
|
|
223
|
+
return false;
|
|
224
|
+
},
|
|
225
|
+
defaultVisibility: false,
|
|
226
|
+
isVisibilityToggleAvailable: false,
|
|
227
|
+
isMoveToTopAvailable: false,
|
|
228
|
+
isColorPickerAvailable: true
|
|
229
|
+
};
|
|
230
|
+
exports.BACKGROUND_LAYER_GROUP = BACKGROUND_LAYER_GROUP;
|
|
221
231
|
var DEFAULT_LAYER_GROUPS = [{
|
|
222
232
|
slug: 'label',
|
|
223
233
|
filter: function filter(_ref) {
|
|
224
234
|
var id = _ref.id;
|
|
225
235
|
return id.match(/(?=(label|place-|poi-))/);
|
|
226
236
|
},
|
|
227
|
-
defaultVisibility: true
|
|
237
|
+
defaultVisibility: true,
|
|
238
|
+
isVisibilityToggleAvailable: true,
|
|
239
|
+
isMoveToTopAvailable: true,
|
|
240
|
+
isColorPickerAvailable: false
|
|
228
241
|
}, {
|
|
229
242
|
slug: 'road',
|
|
230
243
|
filter: function filter(_ref2) {
|
|
231
244
|
var id = _ref2.id;
|
|
232
245
|
return id.match(/(?=(road|railway|tunnel|street|bridge))(?!.*label)/);
|
|
233
246
|
},
|
|
234
|
-
defaultVisibility: true
|
|
247
|
+
defaultVisibility: true,
|
|
248
|
+
isVisibilityToggleAvailable: true,
|
|
249
|
+
isMoveToTopAvailable: true,
|
|
250
|
+
isColorPickerAvailable: false
|
|
235
251
|
}, {
|
|
236
252
|
slug: 'border',
|
|
237
253
|
filter: function filter(_ref3) {
|
|
238
254
|
var id = _ref3.id;
|
|
239
255
|
return id.match(/border|boundaries|boundary/);
|
|
240
256
|
},
|
|
241
|
-
defaultVisibility: false
|
|
257
|
+
defaultVisibility: false,
|
|
258
|
+
isVisibilityToggleAvailable: true,
|
|
259
|
+
isMoveToTopAvailable: true,
|
|
260
|
+
isColorPickerAvailable: false
|
|
242
261
|
}, {
|
|
243
262
|
slug: 'building',
|
|
244
263
|
filter: function filter(_ref4) {
|
|
245
264
|
var id = _ref4.id;
|
|
246
265
|
return id.match(/building/);
|
|
247
266
|
},
|
|
248
|
-
defaultVisibility: true
|
|
267
|
+
defaultVisibility: true,
|
|
268
|
+
isVisibilityToggleAvailable: true,
|
|
269
|
+
isMoveToTopAvailable: true,
|
|
270
|
+
isColorPickerAvailable: false
|
|
249
271
|
}, {
|
|
250
272
|
slug: 'water',
|
|
251
273
|
filter: function filter(_ref5) {
|
|
252
274
|
var id = _ref5.id;
|
|
253
275
|
return id.match(/(?=(water|stream|ferry))/);
|
|
254
276
|
},
|
|
255
|
-
defaultVisibility: true
|
|
277
|
+
defaultVisibility: true,
|
|
278
|
+
isVisibilityToggleAvailable: true,
|
|
279
|
+
isMoveToTopAvailable: true,
|
|
280
|
+
isColorPickerAvailable: false
|
|
256
281
|
}, {
|
|
257
282
|
slug: 'land',
|
|
258
283
|
filter: function filter(_ref6) {
|
|
259
284
|
var id = _ref6.id;
|
|
260
285
|
return id.match(/(?=(parks|landcover|industrial|sand|hillshade))/);
|
|
261
286
|
},
|
|
262
|
-
defaultVisibility: true
|
|
287
|
+
defaultVisibility: true,
|
|
288
|
+
isVisibilityToggleAvailable: true,
|
|
289
|
+
isMoveToTopAvailable: true,
|
|
290
|
+
isColorPickerAvailable: false
|
|
263
291
|
}, {
|
|
264
|
-
slug:
|
|
292
|
+
slug: THREE_D_BUILDING_LAYER_GROUP_SLUG,
|
|
265
293
|
filter: function filter() {
|
|
266
294
|
return false;
|
|
267
295
|
},
|
|
268
|
-
defaultVisibility: false
|
|
296
|
+
defaultVisibility: false,
|
|
297
|
+
isVisibilityToggleAvailable: true,
|
|
298
|
+
isMoveToTopAvailable: true,
|
|
299
|
+
isColorPickerAvailable: true
|
|
269
300
|
}];
|
|
270
301
|
exports.DEFAULT_LAYER_GROUPS = DEFAULT_LAYER_GROUPS;
|
|
302
|
+
var BASE_MAP_COLOR_MODES = (0, _keymirror["default"])({
|
|
303
|
+
NONE: null,
|
|
304
|
+
DARK: null,
|
|
305
|
+
LIGHT: null
|
|
306
|
+
});
|
|
307
|
+
exports.BASE_MAP_COLOR_MODES = BASE_MAP_COLOR_MODES;
|
|
308
|
+
var NO_MAP_ID = 'no_map'; // Fallback style to use when styles are being fetched, or when
|
|
309
|
+
// a style fails to fetch
|
|
310
|
+
|
|
311
|
+
exports.NO_MAP_ID = NO_MAP_ID;
|
|
312
|
+
var EMPTY_MAPBOX_STYLE = {
|
|
313
|
+
version: 8,
|
|
314
|
+
sources: {},
|
|
315
|
+
layers: []
|
|
316
|
+
};
|
|
317
|
+
exports.EMPTY_MAPBOX_STYLE = EMPTY_MAPBOX_STYLE;
|
|
318
|
+
var NO_BASEMAP_ICON = "".concat(BASEMAP_ICON_PREFIX, "/NO_BASEMAP.png");
|
|
319
|
+
exports.NO_BASEMAP_ICON = NO_BASEMAP_ICON;
|
|
271
320
|
var DEFAULT_MAP_STYLES = [{
|
|
272
|
-
id:
|
|
273
|
-
label: '
|
|
274
|
-
url: '
|
|
275
|
-
icon:
|
|
276
|
-
layerGroups:
|
|
321
|
+
id: NO_MAP_ID,
|
|
322
|
+
label: 'No Basemap',
|
|
323
|
+
url: '',
|
|
324
|
+
icon: NO_BASEMAP_ICON,
|
|
325
|
+
layerGroups: [BACKGROUND_LAYER_GROUP],
|
|
326
|
+
colorMode: BASE_MAP_COLOR_MODES.NONE,
|
|
327
|
+
style: EMPTY_MAPBOX_STYLE
|
|
277
328
|
}, {
|
|
278
|
-
id: '
|
|
279
|
-
label: '
|
|
280
|
-
url: '
|
|
281
|
-
icon: "".concat(
|
|
282
|
-
layerGroups: DEFAULT_LAYER_GROUPS
|
|
329
|
+
id: 'dark-matter',
|
|
330
|
+
label: 'DarkMatter',
|
|
331
|
+
url: 'https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json',
|
|
332
|
+
icon: "".concat(BASEMAP_ICON_PREFIX, "/DARKMATTER.png"),
|
|
333
|
+
layerGroups: DEFAULT_LAYER_GROUPS,
|
|
334
|
+
colorMode: BASE_MAP_COLOR_MODES.DARK,
|
|
335
|
+
complimentaryStyleId: 'positron'
|
|
283
336
|
}, {
|
|
284
|
-
id: '
|
|
285
|
-
label: '
|
|
286
|
-
url: '
|
|
287
|
-
icon: "".concat(
|
|
288
|
-
layerGroups: DEFAULT_LAYER_GROUPS
|
|
337
|
+
id: 'dark-matter-nolabels',
|
|
338
|
+
label: 'DarkMatterNoLabels',
|
|
339
|
+
url: 'https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json',
|
|
340
|
+
icon: "".concat(BASEMAP_ICON_PREFIX, "/DARKMATTER_NOLABELS.png"),
|
|
341
|
+
layerGroups: DEFAULT_LAYER_GROUPS,
|
|
342
|
+
colorMode: BASE_MAP_COLOR_MODES.DARK,
|
|
343
|
+
complimentaryStyleId: 'positron-nolabels'
|
|
289
344
|
}, {
|
|
290
|
-
id: '
|
|
291
|
-
label: '
|
|
292
|
-
url: '
|
|
293
|
-
icon: "".concat(
|
|
294
|
-
layerGroups: DEFAULT_LAYER_GROUPS
|
|
345
|
+
id: 'positron',
|
|
346
|
+
label: 'Positron',
|
|
347
|
+
url: 'https://basemaps.cartocdn.com/gl/positron-gl-style/style.json',
|
|
348
|
+
icon: "".concat(BASEMAP_ICON_PREFIX, "/POSITRON.png"),
|
|
349
|
+
layerGroups: DEFAULT_LAYER_GROUPS,
|
|
350
|
+
colorMode: BASE_MAP_COLOR_MODES.LIGHT,
|
|
351
|
+
complimentaryStyleId: 'dark-matter'
|
|
295
352
|
}, {
|
|
296
|
-
id: '
|
|
297
|
-
label: '
|
|
298
|
-
url:
|
|
299
|
-
icon: "".concat(
|
|
353
|
+
id: 'positron-nolabels',
|
|
354
|
+
label: 'PositronNoLabels',
|
|
355
|
+
url: 'https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json',
|
|
356
|
+
icon: "".concat(BASEMAP_ICON_PREFIX, "/POSITRON_NOLABELS.png"),
|
|
357
|
+
layerGroups: DEFAULT_LAYER_GROUPS,
|
|
358
|
+
colorMode: BASE_MAP_COLOR_MODES.LIGHT,
|
|
359
|
+
complimentaryStyleId: 'dark-matter-nolabels'
|
|
360
|
+
}, {
|
|
361
|
+
id: 'voyager',
|
|
362
|
+
label: 'Voyager',
|
|
363
|
+
url: 'https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json',
|
|
364
|
+
icon: "".concat(BASEMAP_ICON_PREFIX, "/VOYAGER.png"),
|
|
365
|
+
layerGroups: DEFAULT_LAYER_GROUPS,
|
|
366
|
+
colorMode: BASE_MAP_COLOR_MODES.LIGHT,
|
|
367
|
+
complimentaryStyleId: 'dark-matter'
|
|
368
|
+
}, {
|
|
369
|
+
id: 'voyager-nolabels',
|
|
370
|
+
label: 'VoyagerNoLabels',
|
|
371
|
+
url: 'https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json',
|
|
372
|
+
icon: "".concat(BASEMAP_ICON_PREFIX, "/VOYAGER_NOLABELS.png"),
|
|
373
|
+
layerGroups: DEFAULT_LAYER_GROUPS,
|
|
374
|
+
colorMode: BASE_MAP_COLOR_MODES.LIGHT,
|
|
375
|
+
complimentaryStyleId: 'dark-matter-nolabels'
|
|
300
376
|
}];
|
|
301
377
|
exports.DEFAULT_MAP_STYLES = DEFAULT_MAP_STYLES;
|
|
302
378
|
var GEOJSON_FIELDS = {
|
|
@@ -327,6 +403,14 @@ var FILTER_TYPES = (0, _keymirror["default"])({
|
|
|
327
403
|
polygon: null
|
|
328
404
|
});
|
|
329
405
|
exports.FILTER_TYPES = FILTER_TYPES;
|
|
406
|
+
var FILTER_VIEW_TYPES = (0, _keymirror["default"])({
|
|
407
|
+
side: null,
|
|
408
|
+
enlarged: null,
|
|
409
|
+
minified: null
|
|
410
|
+
});
|
|
411
|
+
exports.FILTER_VIEW_TYPES = FILTER_VIEW_TYPES;
|
|
412
|
+
var DEFAULT_FILTER_VIEW_TYPE = FILTER_VIEW_TYPES.side;
|
|
413
|
+
exports.DEFAULT_FILTER_VIEW_TYPE = DEFAULT_FILTER_VIEW_TYPE;
|
|
330
414
|
var SCALE_TYPES = (0, _keymirror["default"])({
|
|
331
415
|
ordinal: null,
|
|
332
416
|
quantile: null,
|
|
@@ -348,7 +432,10 @@ var ALL_FIELD_TYPES = (0, _keymirror["default"])({
|
|
|
348
432
|
real: null,
|
|
349
433
|
string: null,
|
|
350
434
|
timestamp: null,
|
|
351
|
-
point: null
|
|
435
|
+
point: null,
|
|
436
|
+
array: null,
|
|
437
|
+
object: null,
|
|
438
|
+
geoarrow: null
|
|
352
439
|
}); // Data Table
|
|
353
440
|
|
|
354
441
|
exports.ALL_FIELD_TYPES = ALL_FIELD_TYPES;
|
|
@@ -364,7 +451,8 @@ var TABLE_OPTION = (0, _keymirror["default"])({
|
|
|
364
451
|
UNSORT: null,
|
|
365
452
|
PIN: null,
|
|
366
453
|
UNPIN: null,
|
|
367
|
-
COPY: null
|
|
454
|
+
COPY: null,
|
|
455
|
+
FORMAT_COLUMN: null
|
|
368
456
|
});
|
|
369
457
|
exports.TABLE_OPTION = TABLE_OPTION;
|
|
370
458
|
var TABLE_OPTION_LIST = [{
|
|
@@ -406,16 +494,22 @@ var TABLE_OPTION_LIST = [{
|
|
|
406
494
|
value: TABLE_OPTION.COPY,
|
|
407
495
|
display: 'Copy Column',
|
|
408
496
|
icon: 'Clipboard'
|
|
497
|
+
}, {
|
|
498
|
+
value: TABLE_OPTION.FORMAT_COLUMN,
|
|
499
|
+
display: 'Format Column',
|
|
500
|
+
icon: 'Hash'
|
|
409
501
|
}];
|
|
410
502
|
exports.TABLE_OPTION_LIST = TABLE_OPTION_LIST;
|
|
411
|
-
var
|
|
412
|
-
var PINK = '
|
|
503
|
+
var YELLOW = '248, 194, 28';
|
|
504
|
+
var PINK = '242, 152, 163';
|
|
413
505
|
var PURPLE = '160, 106, 206';
|
|
414
506
|
var BLUE = '140, 210, 205';
|
|
415
507
|
var BLUE2 = '106, 160, 206';
|
|
416
508
|
var BLUE3 = '0, 172, 237';
|
|
417
509
|
var GREEN = '106, 160, 56';
|
|
510
|
+
var GREEN2 = '74, 165, 150';
|
|
418
511
|
var RED = '237, 88, 106';
|
|
512
|
+
var ORANGE = '231, 110, 58';
|
|
419
513
|
var FIELD_TYPE_DISPLAY = (_FIELD_TYPE_DISPLAY = {}, (0, _defineProperty2["default"])(_FIELD_TYPE_DISPLAY, ALL_FIELD_TYPES["boolean"], {
|
|
420
514
|
label: 'bool',
|
|
421
515
|
color: PINK
|
|
@@ -425,12 +519,15 @@ var FIELD_TYPE_DISPLAY = (_FIELD_TYPE_DISPLAY = {}, (0, _defineProperty2["defaul
|
|
|
425
519
|
}), (0, _defineProperty2["default"])(_FIELD_TYPE_DISPLAY, ALL_FIELD_TYPES.geojson, {
|
|
426
520
|
label: 'geo',
|
|
427
521
|
color: BLUE2
|
|
522
|
+
}), (0, _defineProperty2["default"])(_FIELD_TYPE_DISPLAY, ALL_FIELD_TYPES.geoarrow, {
|
|
523
|
+
label: 'geo',
|
|
524
|
+
color: BLUE2
|
|
428
525
|
}), (0, _defineProperty2["default"])(_FIELD_TYPE_DISPLAY, ALL_FIELD_TYPES.integer, {
|
|
429
526
|
label: 'int',
|
|
430
|
-
color:
|
|
527
|
+
color: YELLOW
|
|
431
528
|
}), (0, _defineProperty2["default"])(_FIELD_TYPE_DISPLAY, ALL_FIELD_TYPES.real, {
|
|
432
529
|
label: 'float',
|
|
433
|
-
color:
|
|
530
|
+
color: YELLOW
|
|
434
531
|
}), (0, _defineProperty2["default"])(_FIELD_TYPE_DISPLAY, ALL_FIELD_TYPES.string, {
|
|
435
532
|
label: 'string',
|
|
436
533
|
color: BLUE
|
|
@@ -440,6 +537,12 @@ var FIELD_TYPE_DISPLAY = (_FIELD_TYPE_DISPLAY = {}, (0, _defineProperty2["defaul
|
|
|
440
537
|
}), (0, _defineProperty2["default"])(_FIELD_TYPE_DISPLAY, ALL_FIELD_TYPES.point, {
|
|
441
538
|
label: 'point',
|
|
442
539
|
color: BLUE3
|
|
540
|
+
}), (0, _defineProperty2["default"])(_FIELD_TYPE_DISPLAY, ALL_FIELD_TYPES.array, {
|
|
541
|
+
label: 'array',
|
|
542
|
+
color: ORANGE
|
|
543
|
+
}), (0, _defineProperty2["default"])(_FIELD_TYPE_DISPLAY, ALL_FIELD_TYPES.object, {
|
|
544
|
+
label: 'object',
|
|
545
|
+
color: GREEN2
|
|
443
546
|
}), _FIELD_TYPE_DISPLAY);
|
|
444
547
|
exports.FIELD_TYPE_DISPLAY = FIELD_TYPE_DISPLAY;
|
|
445
548
|
var FIELD_COLORS = {
|
|
@@ -469,9 +572,20 @@ var AGGREGATION_TYPES = {
|
|
|
469
572
|
variance: 'variance',
|
|
470
573
|
// ordinal
|
|
471
574
|
mode: 'mode',
|
|
472
|
-
countUnique: '
|
|
575
|
+
countUnique: 'countUnique'
|
|
473
576
|
};
|
|
474
577
|
exports.AGGREGATION_TYPES = AGGREGATION_TYPES;
|
|
578
|
+
var AGGREGATION_TYPE_OPTIONS = Object.entries(AGGREGATION_TYPES).map(function (_ref7) {
|
|
579
|
+
var _ref8 = (0, _slicedToArray2["default"])(_ref7, 2),
|
|
580
|
+
key = _ref8[0],
|
|
581
|
+
value = _ref8[1];
|
|
582
|
+
|
|
583
|
+
return {
|
|
584
|
+
id: key,
|
|
585
|
+
label: key === 'stdev' ? 'Std Deviation' : key === 'countUnique' ? 'Count Unique' : typeof value === 'string' ? value.charAt(0).toUpperCase() + value.slice(1) : value
|
|
586
|
+
};
|
|
587
|
+
});
|
|
588
|
+
exports.AGGREGATION_TYPE_OPTIONS = AGGREGATION_TYPE_OPTIONS;
|
|
475
589
|
var linearFieldScaleFunctions = (_linearFieldScaleFunc = {}, (0, _defineProperty2["default"])(_linearFieldScaleFunc, CHANNEL_SCALES.color, [SCALE_TYPES.quantize, SCALE_TYPES.quantile]), (0, _defineProperty2["default"])(_linearFieldScaleFunc, CHANNEL_SCALES.radius, [SCALE_TYPES.sqrt]), (0, _defineProperty2["default"])(_linearFieldScaleFunc, CHANNEL_SCALES.size, [SCALE_TYPES.linear, SCALE_TYPES.sqrt, SCALE_TYPES.log]), _linearFieldScaleFunc);
|
|
476
590
|
exports.linearFieldScaleFunctions = linearFieldScaleFunctions;
|
|
477
591
|
var linearFieldAggrScaleFunctions = (_linearFieldAggrScale = {}, (0, _defineProperty2["default"])(_linearFieldAggrScale, CHANNEL_SCALES.colorAggr, (_CHANNEL_SCALES$color = {}, (0, _defineProperty2["default"])(_CHANNEL_SCALES$color, AGGREGATION_TYPES.average, [SCALE_TYPES.quantize, SCALE_TYPES.quantile]), (0, _defineProperty2["default"])(_CHANNEL_SCALES$color, AGGREGATION_TYPES.maximum, [SCALE_TYPES.quantize, SCALE_TYPES.quantile]), (0, _defineProperty2["default"])(_CHANNEL_SCALES$color, AGGREGATION_TYPES.minimum, [SCALE_TYPES.quantize, SCALE_TYPES.quantile]), (0, _defineProperty2["default"])(_CHANNEL_SCALES$color, AGGREGATION_TYPES.median, [SCALE_TYPES.quantize, SCALE_TYPES.quantile]), (0, _defineProperty2["default"])(_CHANNEL_SCALES$color, AGGREGATION_TYPES.stdev, [SCALE_TYPES.quantize, SCALE_TYPES.quantile]), (0, _defineProperty2["default"])(_CHANNEL_SCALES$color, AGGREGATION_TYPES.sum, [SCALE_TYPES.quantize, SCALE_TYPES.quantile]), (0, _defineProperty2["default"])(_CHANNEL_SCALES$color, AGGREGATION_TYPES.variance, [SCALE_TYPES.quantize, SCALE_TYPES.quantile]), _CHANNEL_SCALES$color)), (0, _defineProperty2["default"])(_linearFieldAggrScale, CHANNEL_SCALES.sizeAggr, (_CHANNEL_SCALES$sizeA = {}, (0, _defineProperty2["default"])(_CHANNEL_SCALES$sizeA, AGGREGATION_TYPES.average, [SCALE_TYPES.linear, SCALE_TYPES.sqrt, SCALE_TYPES.log]), (0, _defineProperty2["default"])(_CHANNEL_SCALES$sizeA, AGGREGATION_TYPES.maximum, [SCALE_TYPES.linear, SCALE_TYPES.sqrt, SCALE_TYPES.log]), (0, _defineProperty2["default"])(_CHANNEL_SCALES$sizeA, AGGREGATION_TYPES.minimum, [SCALE_TYPES.linear, SCALE_TYPES.sqrt, SCALE_TYPES.log]), (0, _defineProperty2["default"])(_CHANNEL_SCALES$sizeA, AGGREGATION_TYPES.median, [SCALE_TYPES.linear, SCALE_TYPES.sqrt, SCALE_TYPES.log]), (0, _defineProperty2["default"])(_CHANNEL_SCALES$sizeA, AGGREGATION_TYPES.stdev, [SCALE_TYPES.linear, SCALE_TYPES.sqrt, SCALE_TYPES.log]), (0, _defineProperty2["default"])(_CHANNEL_SCALES$sizeA, AGGREGATION_TYPES.sum, [SCALE_TYPES.linear, SCALE_TYPES.sqrt, SCALE_TYPES.log]), (0, _defineProperty2["default"])(_CHANNEL_SCALES$sizeA, AGGREGATION_TYPES.variance, [SCALE_TYPES.linear, SCALE_TYPES.sqrt, SCALE_TYPES.log]), _CHANNEL_SCALES$sizeA)), _linearFieldAggrScale);
|
|
@@ -494,81 +608,101 @@ var DEFAULT_AGGREGATION = (_DEFAULT_AGGREGATION = {}, (0, _defineProperty2["defa
|
|
|
494
608
|
*/
|
|
495
609
|
|
|
496
610
|
exports.DEFAULT_AGGREGATION = DEFAULT_AGGREGATION;
|
|
497
|
-
var FIELD_OPTS = {
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
tooltip: []
|
|
506
|
-
}
|
|
507
|
-
},
|
|
508
|
-
real: {
|
|
509
|
-
type: 'numerical',
|
|
510
|
-
scale: _objectSpread(_objectSpread({}, linearFieldScaleFunctions), linearFieldAggrScaleFunctions),
|
|
511
|
-
format: {
|
|
512
|
-
legend: function legend(d) {
|
|
513
|
-
return d;
|
|
514
|
-
},
|
|
515
|
-
tooltip: [_tooltip.TOOLTIP_FORMAT_TYPES.NONE, _tooltip.TOOLTIP_FORMAT_TYPES.DECIMAL, _tooltip.TOOLTIP_FORMAT_TYPES.PERCENTAGE]
|
|
516
|
-
}
|
|
517
|
-
},
|
|
518
|
-
timestamp: {
|
|
519
|
-
type: 'time',
|
|
520
|
-
scale: _objectSpread(_objectSpread({}, linearFieldScaleFunctions), notSupportAggrOpts),
|
|
521
|
-
format: {
|
|
522
|
-
legend: function legend(d) {
|
|
523
|
-
return d;
|
|
524
|
-
},
|
|
525
|
-
tooltip: [_tooltip.TOOLTIP_FORMAT_TYPES.NONE, _tooltip.TOOLTIP_FORMAT_TYPES.DATE, _tooltip.TOOLTIP_FORMAT_TYPES.DATE_TIME]
|
|
526
|
-
}
|
|
527
|
-
},
|
|
528
|
-
integer: {
|
|
529
|
-
type: 'numerical',
|
|
530
|
-
scale: _objectSpread(_objectSpread({}, linearFieldScaleFunctions), linearFieldAggrScaleFunctions),
|
|
531
|
-
format: {
|
|
532
|
-
legend: function legend(d) {
|
|
533
|
-
return d;
|
|
534
|
-
},
|
|
535
|
-
tooltip: [_tooltip.TOOLTIP_FORMAT_TYPES.NONE, _tooltip.TOOLTIP_FORMAT_TYPES.DECIMAL, _tooltip.TOOLTIP_FORMAT_TYPES.PERCENTAGE]
|
|
536
|
-
}
|
|
537
|
-
},
|
|
538
|
-
"boolean": {
|
|
539
|
-
type: 'boolean',
|
|
540
|
-
scale: _objectSpread(_objectSpread({}, ordinalFieldScaleFunctions), ordinalFieldAggrScaleFunctions),
|
|
541
|
-
format: {
|
|
542
|
-
legend: function legend(d) {
|
|
543
|
-
return d;
|
|
544
|
-
},
|
|
545
|
-
tooltip: [_tooltip.TOOLTIP_FORMAT_TYPES.NONE, _tooltip.TOOLTIP_FORMAT_TYPES.BOOLEAN]
|
|
546
|
-
}
|
|
547
|
-
},
|
|
548
|
-
date: {
|
|
549
|
-
scale: _objectSpread(_objectSpread({}, ordinalFieldScaleFunctions), ordinalFieldAggrScaleFunctions),
|
|
550
|
-
format: {
|
|
551
|
-
legend: function legend(d) {
|
|
552
|
-
return d;
|
|
553
|
-
},
|
|
554
|
-
tooltip: [_tooltip.TOOLTIP_FORMAT_TYPES.NONE, _tooltip.TOOLTIP_FORMAT_TYPES.DATE]
|
|
555
|
-
}
|
|
556
|
-
},
|
|
557
|
-
geojson: {
|
|
558
|
-
type: 'geometry',
|
|
559
|
-
scale: _objectSpread(_objectSpread({}, notSupportedScaleOpts), notSupportAggrOpts),
|
|
560
|
-
format: {
|
|
561
|
-
legend: function legend(d) {
|
|
562
|
-
return '...';
|
|
563
|
-
},
|
|
564
|
-
tooltip: []
|
|
565
|
-
}
|
|
611
|
+
var FIELD_OPTS = (_FIELD_OPTS = {}, (0, _defineProperty2["default"])(_FIELD_OPTS, ALL_FIELD_TYPES.string, {
|
|
612
|
+
type: 'categorical',
|
|
613
|
+
scale: _objectSpread(_objectSpread({}, ordinalFieldScaleFunctions), ordinalFieldAggrScaleFunctions),
|
|
614
|
+
format: {
|
|
615
|
+
legend: function legend(d) {
|
|
616
|
+
return d;
|
|
617
|
+
},
|
|
618
|
+
tooltip: []
|
|
566
619
|
}
|
|
567
|
-
}
|
|
620
|
+
}), (0, _defineProperty2["default"])(_FIELD_OPTS, ALL_FIELD_TYPES.real, {
|
|
621
|
+
type: 'numerical',
|
|
622
|
+
scale: _objectSpread(_objectSpread({}, linearFieldScaleFunctions), linearFieldAggrScaleFunctions),
|
|
623
|
+
format: {
|
|
624
|
+
legend: function legend(d) {
|
|
625
|
+
return d;
|
|
626
|
+
},
|
|
627
|
+
tooltip: [_tooltip.TOOLTIP_FORMAT_TYPES.NONE, _tooltip.TOOLTIP_FORMAT_TYPES.DECIMAL, _tooltip.TOOLTIP_FORMAT_TYPES.PERCENTAGE]
|
|
628
|
+
}
|
|
629
|
+
}), (0, _defineProperty2["default"])(_FIELD_OPTS, ALL_FIELD_TYPES.timestamp, {
|
|
630
|
+
type: 'time',
|
|
631
|
+
scale: _objectSpread(_objectSpread({}, linearFieldScaleFunctions), notSupportAggrOpts),
|
|
632
|
+
format: {
|
|
633
|
+
legend: function legend(d) {
|
|
634
|
+
return d;
|
|
635
|
+
},
|
|
636
|
+
tooltip: [_tooltip.TOOLTIP_FORMAT_TYPES.NONE, _tooltip.TOOLTIP_FORMAT_TYPES.DATE, _tooltip.TOOLTIP_FORMAT_TYPES.DATE_TIME]
|
|
637
|
+
}
|
|
638
|
+
}), (0, _defineProperty2["default"])(_FIELD_OPTS, ALL_FIELD_TYPES.integer, {
|
|
639
|
+
type: 'numerical',
|
|
640
|
+
scale: _objectSpread(_objectSpread({}, linearFieldScaleFunctions), linearFieldAggrScaleFunctions),
|
|
641
|
+
format: {
|
|
642
|
+
legend: function legend(d) {
|
|
643
|
+
return d;
|
|
644
|
+
},
|
|
645
|
+
tooltip: [_tooltip.TOOLTIP_FORMAT_TYPES.NONE, _tooltip.TOOLTIP_FORMAT_TYPES.DECIMAL, _tooltip.TOOLTIP_FORMAT_TYPES.PERCENTAGE]
|
|
646
|
+
}
|
|
647
|
+
}), (0, _defineProperty2["default"])(_FIELD_OPTS, ALL_FIELD_TYPES["boolean"], {
|
|
648
|
+
type: 'boolean',
|
|
649
|
+
scale: _objectSpread(_objectSpread({}, ordinalFieldScaleFunctions), ordinalFieldAggrScaleFunctions),
|
|
650
|
+
format: {
|
|
651
|
+
legend: function legend(d) {
|
|
652
|
+
return d;
|
|
653
|
+
},
|
|
654
|
+
tooltip: [_tooltip.TOOLTIP_FORMAT_TYPES.NONE, _tooltip.TOOLTIP_FORMAT_TYPES.BOOLEAN]
|
|
655
|
+
}
|
|
656
|
+
}), (0, _defineProperty2["default"])(_FIELD_OPTS, ALL_FIELD_TYPES.date, {
|
|
657
|
+
type: 'time',
|
|
658
|
+
scale: _objectSpread(_objectSpread({}, ordinalFieldScaleFunctions), ordinalFieldAggrScaleFunctions),
|
|
659
|
+
format: {
|
|
660
|
+
legend: function legend(d) {
|
|
661
|
+
return d;
|
|
662
|
+
},
|
|
663
|
+
tooltip: [_tooltip.TOOLTIP_FORMAT_TYPES.NONE, _tooltip.TOOLTIP_FORMAT_TYPES.DATE]
|
|
664
|
+
}
|
|
665
|
+
}), (0, _defineProperty2["default"])(_FIELD_OPTS, ALL_FIELD_TYPES.geojson, {
|
|
666
|
+
type: 'geometry',
|
|
667
|
+
scale: _objectSpread(_objectSpread({}, notSupportedScaleOpts), notSupportAggrOpts),
|
|
668
|
+
format: {
|
|
669
|
+
legend: function legend(d) {
|
|
670
|
+
return '...';
|
|
671
|
+
},
|
|
672
|
+
tooltip: []
|
|
673
|
+
}
|
|
674
|
+
}), (0, _defineProperty2["default"])(_FIELD_OPTS, ALL_FIELD_TYPES.geoarrow, {
|
|
675
|
+
type: 'geometry',
|
|
676
|
+
scale: _objectSpread(_objectSpread({}, notSupportedScaleOpts), notSupportAggrOpts),
|
|
677
|
+
format: {
|
|
678
|
+
legend: function legend(d) {
|
|
679
|
+
return '...';
|
|
680
|
+
},
|
|
681
|
+
tooltip: []
|
|
682
|
+
}
|
|
683
|
+
}), (0, _defineProperty2["default"])(_FIELD_OPTS, ALL_FIELD_TYPES.object, {
|
|
684
|
+
type: 'numerical',
|
|
685
|
+
scale: {},
|
|
686
|
+
format: {
|
|
687
|
+
legend: function legend(d) {
|
|
688
|
+
return '...';
|
|
689
|
+
},
|
|
690
|
+
tooltip: []
|
|
691
|
+
}
|
|
692
|
+
}), (0, _defineProperty2["default"])(_FIELD_OPTS, ALL_FIELD_TYPES.array, {
|
|
693
|
+
type: 'numerical',
|
|
694
|
+
scale: {},
|
|
695
|
+
format: {
|
|
696
|
+
legend: function legend(d) {
|
|
697
|
+
return '...';
|
|
698
|
+
},
|
|
699
|
+
tooltip: []
|
|
700
|
+
}
|
|
701
|
+
}), _FIELD_OPTS);
|
|
568
702
|
exports.FIELD_OPTS = FIELD_OPTS;
|
|
569
703
|
var CHANNEL_SCALE_SUPPORTED_FIELDS = Object.keys(CHANNEL_SCALES).reduce(function (accu, key) {
|
|
570
704
|
return _objectSpread(_objectSpread({}, accu), {}, (0, _defineProperty2["default"])({}, key, Object.keys(FIELD_OPTS).filter(function (ft) {
|
|
571
|
-
return Object.keys(FIELD_OPTS[ft].scale[key]).length;
|
|
705
|
+
return FIELD_OPTS[ft].scale[key] && Object.keys(FIELD_OPTS[ft].scale[key]).length;
|
|
572
706
|
})));
|
|
573
707
|
}, {});
|
|
574
708
|
exports.CHANNEL_SCALE_SUPPORTED_FIELDS = CHANNEL_SCALE_SUPPORTED_FIELDS;
|
|
@@ -584,6 +718,23 @@ var DEFAULT_TOOLTIP_FIELDS = [];
|
|
|
584
718
|
exports.DEFAULT_TOOLTIP_FIELDS = DEFAULT_TOOLTIP_FIELDS;
|
|
585
719
|
var NO_VALUE_COLOR = [0, 0, 0, 0];
|
|
586
720
|
exports.NO_VALUE_COLOR = NO_VALUE_COLOR;
|
|
721
|
+
var DEFAULT_PICKING_RADIUS = 3;
|
|
722
|
+
exports.DEFAULT_PICKING_RADIUS = DEFAULT_PICKING_RADIUS;
|
|
723
|
+
var OVERLAY_BLENDINGS = {
|
|
724
|
+
normal: {
|
|
725
|
+
label: 'overlayBlending.normal',
|
|
726
|
+
value: 'normal'
|
|
727
|
+
},
|
|
728
|
+
screen: {
|
|
729
|
+
label: 'overlayBlending.screen',
|
|
730
|
+
value: 'screen'
|
|
731
|
+
},
|
|
732
|
+
darken: {
|
|
733
|
+
label: 'overlayBlending.darken',
|
|
734
|
+
value: 'darken'
|
|
735
|
+
}
|
|
736
|
+
};
|
|
737
|
+
exports.OVERLAY_BLENDINGS = OVERLAY_BLENDINGS;
|
|
587
738
|
var LAYER_BLENDINGS = {
|
|
588
739
|
additive: {
|
|
589
740
|
label: 'layerBlending.additive',
|
|
@@ -778,7 +929,7 @@ var DEFAULT_NOTIFICATION_TOPICS = (0, _keymirror["default"])({
|
|
|
778
929
|
}); // Minimum time between identical notifications about deck.gl errors
|
|
779
930
|
|
|
780
931
|
exports.DEFAULT_NOTIFICATION_TOPICS = DEFAULT_NOTIFICATION_TOPICS;
|
|
781
|
-
var THROTTLE_NOTIFICATION_TIME =
|
|
932
|
+
var THROTTLE_NOTIFICATION_TIME = 330; // Animation
|
|
782
933
|
|
|
783
934
|
exports.THROTTLE_NOTIFICATION_TIME = THROTTLE_NOTIFICATION_TIME;
|
|
784
935
|
var BASE_SPEED = 600;
|
|
@@ -830,28 +981,32 @@ var GEOCODER_GEO_OFFSET = 0.05;
|
|
|
830
981
|
exports.GEOCODER_GEO_OFFSET = GEOCODER_GEO_OFFSET;
|
|
831
982
|
var GEOCODER_ICON_COLOR = [255, 0, 0];
|
|
832
983
|
exports.GEOCODER_ICON_COLOR = GEOCODER_ICON_COLOR;
|
|
833
|
-
var GEOCODER_ICON_SIZE = 80; //
|
|
834
|
-
// create a direct dependency with react-map-gl-draw
|
|
835
|
-
// Created this map to be independent from react-map-gl-draw
|
|
984
|
+
var GEOCODER_ICON_SIZE = 80; // Editor
|
|
836
985
|
|
|
837
986
|
exports.GEOCODER_ICON_SIZE = GEOCODER_ICON_SIZE;
|
|
987
|
+
var EDITOR_LAYER_ID = 'kepler_editor_layer';
|
|
988
|
+
exports.EDITOR_LAYER_ID = EDITOR_LAYER_ID;
|
|
989
|
+
var EDITOR_LAYER_PICKING_RADIUS = 6;
|
|
990
|
+
exports.EDITOR_LAYER_PICKING_RADIUS = EDITOR_LAYER_PICKING_RADIUS;
|
|
838
991
|
var EDITOR_MODES = {
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
EDIT: _reactMapGlDraw.EditorModes.EDIT_VERTEX
|
|
992
|
+
DRAW_POLYGON: 'DRAW_POLYGON',
|
|
993
|
+
DRAW_RECTANGLE: 'DRAW_RECTANGLE',
|
|
994
|
+
EDIT: 'EDIT_VERTEX'
|
|
843
995
|
};
|
|
844
996
|
exports.EDITOR_MODES = EDITOR_MODES;
|
|
845
997
|
var PLOT_TYPES = (0, _keymirror["default"])({
|
|
846
998
|
histogram: null,
|
|
847
999
|
lineChart: null
|
|
848
|
-
}); //
|
|
1000
|
+
}); // Filter
|
|
1001
|
+
|
|
1002
|
+
exports.PLOT_TYPES = PLOT_TYPES;
|
|
1003
|
+
var INIT_FILTER_ITEMS_IN_DROPDOWN = 100; // GPU Filtering
|
|
849
1004
|
|
|
850
1005
|
/**
|
|
851
1006
|
* Max number of filter value buffers that deck.gl provides
|
|
852
1007
|
*/
|
|
853
1008
|
|
|
854
|
-
exports.
|
|
1009
|
+
exports.INIT_FILTER_ITEMS_IN_DROPDOWN = INIT_FILTER_ITEMS_IN_DROPDOWN;
|
|
855
1010
|
var MAX_GPU_FILTERS = 4;
|
|
856
1011
|
exports.MAX_GPU_FILTERS = MAX_GPU_FILTERS;
|
|
857
1012
|
var MAP_THUMBNAIL_DIMENSION = {
|
|
@@ -876,7 +1031,8 @@ var DATASET_FORMATS = (0, _keymirror["default"])({
|
|
|
876
1031
|
row: null,
|
|
877
1032
|
geojson: null,
|
|
878
1033
|
csv: null,
|
|
879
|
-
keplergl: null
|
|
1034
|
+
keplergl: null,
|
|
1035
|
+
arrow: null
|
|
880
1036
|
});
|
|
881
1037
|
exports.DATASET_FORMATS = DATASET_FORMATS;
|
|
882
1038
|
var MAP_CONTROLS = (0, _keymirror["default"])({
|
|
@@ -885,7 +1041,8 @@ var MAP_CONTROLS = (0, _keymirror["default"])({
|
|
|
885
1041
|
toggle3d: null,
|
|
886
1042
|
splitMap: null,
|
|
887
1043
|
mapDraw: null,
|
|
888
|
-
mapLocale: null
|
|
1044
|
+
mapLocale: null,
|
|
1045
|
+
effect: null
|
|
889
1046
|
});
|
|
890
1047
|
/**
|
|
891
1048
|
* A multiplier for screen-space width/scale for Arc, Line, Icon and Text layers.
|
|
@@ -895,5 +1052,329 @@ var MAP_CONTROLS = (0, _keymirror["default"])({
|
|
|
895
1052
|
|
|
896
1053
|
exports.MAP_CONTROLS = MAP_CONTROLS;
|
|
897
1054
|
var PROJECTED_PIXEL_SIZE_MULTIPLIER = 2 / 3;
|
|
1055
|
+
/**
|
|
1056
|
+
* Maximum value for text outline width
|
|
1057
|
+
*/
|
|
1058
|
+
|
|
898
1059
|
exports.PROJECTED_PIXEL_SIZE_MULTIPLIER = PROJECTED_PIXEL_SIZE_MULTIPLIER;
|
|
899
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0LXNldHRpbmdzLnRzIl0sIm5hbWVzIjpbIkFDVElPTl9QUkVGSVgiLCJDTE9VREZST05UIiwiSUNPTl9QUkVGSVgiLCJERUZBVUxUX01BUEJPWF9BUElfVVJMIiwiVFJBTlNJVElPTl9EVVJBVElPTiIsIkRBVEFfVEFCTEVfSUQiLCJERUxFVEVfREFUQV9JRCIsIkFERF9EQVRBX0lEIiwiRVhQT1JUX0lNQUdFX0lEIiwiRVhQT1JUX0RBVEFfSUQiLCJBRERfTUFQX1NUWUxFX0lEIiwiRVhQT1JUX01BUF9JRCIsIlNBVkVfTUFQX0lEIiwiT1ZFUldSSVRFX01BUF9JRCIsIlNIQVJFX01BUF9JRCIsIktFUExFUl9HTF9OQU1FIiwiS0VQTEVSX0dMX1ZFUlNJT04iLCJLRVBMRVJfR0xfV0VCU0lURSIsIkRJTUVOU0lPTlMiLCJzaWRlUGFuZWwiLCJ3aWR0aCIsIm1hcmdpbiIsInRvcCIsImxlZnQiLCJib3R0b20iLCJyaWdodCIsImhlYWRlckhlaWdodCIsIm1hcENvbnRyb2wiLCJwYWRkaW5nIiwibWFwTGVnZW5kIiwicGlubmVkIiwiVEhFTUUiLCJsaWdodCIsImRhcmsiLCJiYXNlIiwiU0lERUJBUl9QQU5FTFMiLCJpZCIsImxhYmVsIiwib25DbGljayIsIlBBTkVMUyIsIkRFRkFVTFRfTEFZRVJfR1JPVVBTIiwic2x1ZyIsImZpbHRlciIsIm1hdGNoIiwiZGVmYXVsdFZpc2liaWxpdHkiLCJERUZBVUxUX01BUF9TVFlMRVMiLCJ1cmwiLCJpY29uIiwibGF5ZXJHcm91cHMiLCJHRU9KU09OX0ZJRUxEUyIsImdlb2pzb24iLCJJQ09OX0ZJRUxEUyIsIlRSSVBfUE9JTlRfRklFTERTIiwiQUxUSVRVREVfRklFTERTIiwiVFJJUF9BUkNfRklFTERTIiwibGF0MCIsImxuZzAiLCJsYXQxIiwibG5nMSIsIkZJTFRFUl9UWVBFUyIsInJhbmdlIiwic2VsZWN0IiwiaW5wdXQiLCJ0aW1lUmFuZ2UiLCJtdWx0aVNlbGVjdCIsInBvbHlnb24iLCJTQ0FMRV9UWVBFUyIsIm9yZGluYWwiLCJxdWFudGlsZSIsInF1YW50aXplIiwibGluZWFyIiwic3FydCIsImxvZyIsInBvaW50IiwiU0NBTEVfRlVOQyIsInNjYWxlTGluZWFyIiwic2NhbGVRdWFudGl6ZSIsInNjYWxlUXVhbnRpbGUiLCJzY2FsZU9yZGluYWwiLCJzY2FsZVNxcnQiLCJzY2FsZUxvZyIsInNjYWxlUG9pbnQiLCJBTExfRklFTERfVFlQRVMiLCJkYXRlIiwiaW50ZWdlciIsInJlYWwiLCJzdHJpbmciLCJ0aW1lc3RhbXAiLCJTT1JUX09SREVSIiwiQVNDRU5ESU5HIiwiREVTQ0VORElORyIsIlVOU09SVCIsIlRBQkxFX09QVElPTiIsIlNPUlRfQVNDIiwiU09SVF9ERVMiLCJQSU4iLCJVTlBJTiIsIkNPUFkiLCJUQUJMRV9PUFRJT05fTElTVCIsInZhbHVlIiwiZGlzcGxheSIsImNvbmRpdGlvbiIsInByb3BzIiwic29ydE1vZGUiLCJpc1NvcnRlZCIsImlzUGlubmVkIiwiT1JBTkdFIiwiUElOSyIsIlBVUlBMRSIsIkJMVUUiLCJCTFVFMiIsIkJMVUUzIiwiR1JFRU4iLCJSRUQiLCJGSUVMRF9UWVBFX0RJU1BMQVkiLCJjb2xvciIsIkZJRUxEX0NPTE9SUyIsIkhJR0hMSUdIX0NPTE9SXzNEIiwiQ0hBTk5FTF9TQ0FMRVMiLCJyYWRpdXMiLCJzaXplIiwiY29sb3JBZ2dyIiwic2l6ZUFnZ3IiLCJBR0dSRUdBVElPTl9UWVBFUyIsImNvdW50IiwiYXZlcmFnZSIsIm1heGltdW0iLCJtaW5pbXVtIiwibWVkaWFuIiwic3RkZXYiLCJzdW0iLCJ2YXJpYW5jZSIsIm1vZGUiLCJjb3VudFVuaXF1ZSIsImxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMiLCJsaW5lYXJGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyIsIm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zIiwib3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zIiwibm90U3VwcG9ydGVkU2NhbGVPcHRzIiwibm90U3VwcG9ydEFnZ3JPcHRzIiwiREVGQVVMVF9BR0dSRUdBVElPTiIsIkZJRUxEX09QVFMiLCJ0eXBlIiwic2NhbGUiLCJmb3JtYXQiLCJsZWdlbmQiLCJkIiwidG9vbHRpcCIsIlRPT0xUSVBfRk9STUFUX1RZUEVTIiwiTk9ORSIsIkRFQ0lNQUwiLCJQRVJDRU5UQUdFIiwiREFURSIsIkRBVEVfVElNRSIsIkJPT0xFQU4iLCJDSEFOTkVMX1NDQUxFX1NVUFBPUlRFRF9GSUVMRFMiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwiYWNjdSIsImtleSIsImZ0IiwibGVuZ3RoIiwiREVGQVVMVF9MQVlFUl9DT0xPUiIsInRyaXBBcmMiLCJiZWdpbnRyaXBfbGF0IiwiZHJvcG9mZl9sYXQiLCJyZXF1ZXN0X2xhdCIsIkRFRkFVTFRfVE9PTFRJUF9GSUVMRFMiLCJOT19WQUxVRV9DT0xPUiIsIkxBWUVSX0JMRU5ESU5HUyIsImFkZGl0aXZlIiwiYmxlbmRGdW5jIiwiYmxlbmRFcXVhdGlvbiIsIm5vcm1hbCIsInN1YnRyYWN0aXZlIiwiTUFYX0RFRkFVTFRfVE9PTFRJUFMiLCJSRVNPTFVUSU9OUyIsIk9ORV9YIiwiVFdPX1giLCJFWFBPUlRfSU1HX1JBVElPUyIsIlNDUkVFTiIsIkZPVVJfQllfVEhSRUUiLCJTSVhURUVOX0JZX05JTkUiLCJDVVNUT00iLCJTY3JlZW5SYXRpb09wdGlvbiIsImdldFNpemUiLCJzY3JlZW5XIiwic2NyZWVuSCIsImhlaWdodCIsIkN1c3RvbVJhdGlvT3B0aW9uIiwiaGlkZGVuIiwibWFwVyIsIm1hcEgiLCJGb3VyQnlUaHJlZVJhdGlvT3B0aW9uIiwiTWF0aCIsInJvdW5kIiwiU2l4dGVlbkJ5TmluZVJhdGlvT3B0aW9uIiwiRVhQT1JUX0lNR19SQVRJT19PUFRJT05TIiwiT25lWFJlc29sdXRpb25PcHRpb24iLCJhdmFpbGFibGUiLCJUd29YUmVzb2x1dGlvbk9wdGlvbiIsIkVYUE9SVF9JTUdfUkVTT0xVVElPTl9PUFRJT05TIiwiRVhQT1JUX0RBVEFfVFlQRSIsIkNTViIsIkVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyIsInRvTG93ZXJDYXNlIiwiRVhQT1JUX01BUF9GT1JNQVRTIiwiSFRNTCIsIkpTT04iLCJFWFBPUlRfSFRNTF9NQVBfTU9ERVMiLCJSRUFEIiwiRURJVCIsIkVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMiLCJlbnRyaWVzIiwibWFwIiwiZW50cnkiLCJnZXRIVE1MTWFwTW9kZVRpbGVVcmwiLCJFWFBPUlRfSFRNTF9NQVBfTU9ERV9PUFRJT05TIiwiREVGQVVMVF9VVUlEX0NPVU5UIiwiREVGQVVMVF9OT1RJRklDQVRJT05fTUVTU0FHRSIsIkRFRkFVTFRfTk9USUZJQ0FUSU9OX1RZUEVTIiwiaW5mbyIsImVycm9yIiwid2FybmluZyIsInN1Y2Nlc3MiLCJERUZBVUxUX05PVElGSUNBVElPTl9UT1BJQ1MiLCJnbG9iYWwiLCJmaWxlIiwiVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUUiLCJCQVNFX1NQRUVEIiwiRlBTIiwiQU5JTUFUSU9OX1dJTkRPVyIsImZyZWUiLCJpbmNyZW1lbnRhbCIsImludGVydmFsIiwiREVGQVVMVF9USU1FX0ZPUk1BVCIsIlNQRUVEX0NPTlRST0xfUkFOR0UiLCJTUEVFRF9DT05UUk9MX1NURVAiLCJHRU9DT0RFUl9EQVRBU0VUX05BTUUiLCJHRU9DT0RFUl9MQVlFUl9JRCIsIkdFT0NPREVSX0dFT19PRkZTRVQiLCJHRU9DT0RFUl9JQ09OX0NPTE9SIiwiR0VPQ09ERVJfSUNPTl9TSVpFIiwiRURJVE9SX01PREVTIiwiUkVBRF9PTkxZIiwiRWRpdG9yTW9kZXMiLCJEUkFXX1BPTFlHT04iLCJEUkFXX1JFQ1RBTkdMRSIsIkVESVRfVkVSVEVYIiwiUExPVF9UWVBFUyIsImhpc3RvZ3JhbSIsImxpbmVDaGFydCIsIk1BWF9HUFVfRklMVEVSUyIsIk1BUF9USFVNQk5BSUxfRElNRU5TSU9OIiwiTUFQX0lORk9fQ0hBUkFDVEVSIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIkxPQURJTkdfTUVUSE9EUyIsInVwbG9hZCIsInN0b3JhZ2UiLCJERUZBVUxUX0ZFQVRVUkVfRkxBR1MiLCJEQVRBU0VUX0ZPUk1BVFMiLCJyb3ciLCJjc3YiLCJrZXBsZXJnbCIsIk1BUF9DT05UUk9MUyIsInZpc2libGVMYXllcnMiLCJ0b2dnbGUzZCIsInNwbGl0TWFwIiwibWFwRHJhdyIsIm1hcExvY2FsZSIsIlBST0pFQ1RFRF9QSVhFTF9TSVpFX01VTFRJUExJRVIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFFQTs7QUFTQTs7Ozs7Ozs7QUFHTyxJQUFNQSxhQUFhLEdBQUcsY0FBdEI7O0FBQ0EsSUFBTUMsVUFBVSxHQUFHLGlEQUFuQjs7QUFDQSxJQUFNQyxXQUFXLGFBQU1ELFVBQU4sYUFBakI7O0FBQ0EsSUFBTUUsc0JBQXNCLEdBQUcsd0JBQS9COztBQUNBLElBQU1DLG1CQUFtQixHQUFHLENBQTVCLEMsQ0FFUDs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGFBQWEsR0FBRyxXQUF0QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsY0FBYyxHQUFHLFlBQXZCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxXQUFXLEdBQUcsU0FBcEI7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGVBQWUsR0FBRyxhQUF4QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsY0FBYyxHQUFHLFlBQXZCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxnQkFBZ0IsR0FBRyxhQUF6QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsYUFBYSxHQUFHLFdBQXRCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxXQUFXLEdBQUcsU0FBcEI7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1D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MiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBrZXlNaXJyb3IgZnJvbSAna2V5bWlycm9yJztcbmltcG9ydCB7RWRpdG9yTW9kZXN9IGZyb20gJ3JlYWN0LW1hcC1nbC1kcmF3JztcblxuaW1wb3J0IHtcbiAgc2NhbGVMaW5lYXIsXG4gIHNjYWxlUXVhbnRpemUsXG4gIHNjYWxlUXVhbnRpbGUsXG4gIHNjYWxlT3JkaW5hbCxcbiAgc2NhbGVTcXJ0LFxuICBzY2FsZUxvZyxcbiAgc2NhbGVQb2ludFxufSBmcm9tICdkMy1zY2FsZSc7XG5pbXBvcnQge1RPT0xUSVBfRk9STUFUX1RZUEVTfSBmcm9tICcuL3Rvb2x0aXAnO1xuaW1wb3J0IHtSR0JBQ29sb3J9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQUNUSU9OX1BSRUZJWCA9ICdAQGtlcGxlci5nbC8nO1xuZXhwb3J0IGNvbnN0IENMT1VERlJPTlQgPSAnaHR0cHM6Ly9kMWEzZjRzcGF6enJwNC5jbG91ZGZyb250Lm5ldC9rZXBsZXIuZ2wnO1xuZXhwb3J0IGNvbnN0IElDT05fUFJFRklYID0gYCR7Q0xPVURGUk9OVH0vZ2VvZHVkZWA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBCT1hfQVBJX1VSTCA9ICdodHRwczovL2FwaS5tYXBib3guY29tJztcbmV4cG9ydCBjb25zdCBUUkFOU0lUSU9OX0RVUkFUSU9OID0gMDtcblxuLy8gTW9kYWwgSWRzXG4vKipcbiAqIE1vZGFsIGlkOiBkYXRhIHRhYmxlXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBEQVRBX1RBQkxFX0lEID0gJ2RhdGFUYWJsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBkZWxldGUgZGF0YXNldCBjb25maXJtIGRpYWxvZ1xuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgREVMRVRFX0RBVEFfSUQgPSAnZGVsZXRlRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX0RBVEFfSUQgPSAnYWRkRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgaW1hZ2UgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUFHRV9JRCA9ICdleHBvcnRJbWFnZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfSUQgPSAnZXhwb3J0RGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgY3VzdG9tIG1hcCBzdHlsZSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX01BUF9TVFlMRV9JRCA9ICdhZGRNYXBTdHlsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgbWFwIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBFWFBPUlRfTUFQX0lEID0gJ2V4cG9ydE1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBzYXZlIG1hcCBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgU0FWRV9NQVBfSUQgPSAnc2F2ZU1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBjb25maXJtIHRvIG92ZXJ3cml0ZSBzYXZlZCBtYXBcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IE9WRVJXUklURV9NQVBfSUQgPSAnb3ZlcndyaXRlTWFwJztcbi8qKlxuICogTW9kYWwgaWQ6IHNoYXJlIG1hcCB1cmwgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IFNIQVJFX01BUF9JRCA9ICdzaGFyZU1hcCc7XG5cbmV4cG9ydCBjb25zdCBLRVBMRVJfR0xfTkFNRSA9ICdrZXBsZXIuZ2wnO1xuXG4vLyBfX1BBQ0tBR0VfVkVSU0lPTl9fIGlzIGF1dG9tYXRpY2FsbHkgaW5qZWN0ZWQgYnkgQmFiZWwvV2VicGFjayBkdXJpbmcgdGhlIGJ1aWxkaW5nIHByb2Nlc3Ncbi8vIFNpbmNlIHdlIGFyZSBpbmplY3RpbmcgdGhpcyBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3Mgd2l0aCBiYWJlbFxuLy8gd2hpbGUgZGV2ZWxvcGluZyBWRVJTSU9OIGlzIG5vdCBkZWZpbmVkLCB3ZSBjYXB0dXJlIHRoZSBleGNlcHRpb24gYW5kIHJldHVyblxuLy8gYW4gZW1wdHkgc3RyaW5nIHdoaWNoIHdpbGwgYWxsb3cgdXMgdG8gcmV0cmlldmUgdGhlIGxhdGVzdCB1bWQgdmVyc2lvblxuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9WRVJTSU9OID0gJ19fUEFDS0FHRV9WRVJTSU9OX18nO1xuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9XRUJTSVRFID0gJ2h0dHA6Ly9rZXBsZXIuZ2wvJztcblxuZXhwb3J0IGNvbnN0IERJTUVOU0lPTlMgPSB7XG4gIHNpZGVQYW5lbDoge1xuICAgIHdpZHRoOiAzMDAsXG4gICAgbWFyZ2luOiB7dG9wOiAyMCwgbGVmdDogMjAsIGJvdHRvbTogMzAsIHJpZ2h0OiAyMH0sXG4gICAgaGVhZGVySGVpZ2h0OiA5NlxuICB9LFxuICBtYXBDb250cm9sOiB7XG4gICAgd2lkdGg6IDE4NCxcbiAgICBwYWRkaW5nOiAxMixcbiAgICBtYXBMZWdlbmQ6IHtcbiAgICAgIHBpbm5lZDoge1xuICAgICAgICBib3R0b206IDIyLFxuICAgICAgICByaWdodDogMTJcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogVGhlbWUgbmFtZSB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gYEtlcGxlckdsYCBgcHJvcC50aGVtZWAuXG4gKiBBdmFpbGFibGUgdGhlbWVzIGFyZSBgVEhFTUUubGlnaHRgIGFuZCBgVEhFTUUuZGFya2AuIERlZmF1bHQgdGhlbWUgaXMgYFRIRU1FLmRhcmtgXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtvYmplY3R9XG4gKiBAcHVibGljXG4gKiBAZXhhbXBsZVxuICogYGBganNcbiAqIGNvbnN0IE1hcCA9ICgpID0+IDxLZXBsZXJHbCB0aGVtZT17VEhFTUUubGlnaHR9IGlkPVwibWFwXCIvPlxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBUSEVNRSA9IGtleU1pcnJvcih7XG4gIGxpZ2h0OiBudWxsLFxuICBkYXJrOiBudWxsLFxuICBiYXNlOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFNJREVCQVJfUEFORUxTID0gW1xuICB7XG4gICAgaWQ6ICdsYXllcicsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5sYXllcicsXG4gICAgb25DbGljazogbnVsbFxuICB9LFxuICB7XG4gICAgaWQ6ICdmaWx0ZXInLFxuICAgIGxhYmVsOiAnc2lkZWJhci5wYW5lbHMuZmlsdGVyJyxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ2ludGVyYWN0aW9uJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmludGVyYWN0aW9uJyxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ21hcCcsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5iYXNlbWFwJyxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH1cbl07XG5cbi8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbmV4cG9ydCBjb25zdCBQQU5FTFMgPSBTSURFQkFSX1BBTkVMUztcblxuLy8gTUFQIFNUWUxFU1xuXG50eXBlIERFRkFVTFRfTEFZRVJfR1JPVVAgPSB7XG4gIHNsdWc6IHN0cmluZztcbiAgZmlsdGVyOiAodmFsdWUpID0+IGJvb2xlYW47XG4gIGRlZmF1bHRWaXNpYmlsaXR5OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTEFZRVJfR1JPVVBTOiBERUZBVUxUX0xBWUVSX0dST1VQW10gPSBbXG4gIHtcbiAgICBzbHVnOiAnbGFiZWwnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0obGFiZWx8cGxhY2UtfHBvaS0pKS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAncm9hZCcsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goLyg/PShyb2FkfHJhaWx3YXl8dHVubmVsfHN0cmVldHxicmlkZ2UpKSg/IS4qbGFiZWwpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWVcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdib3JkZXInLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC9ib3JkZXJ8Ym91bmRhcmllc3xib3VuZGFyeS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiBmYWxzZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2J1aWxkaW5nJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvYnVpbGRpbmcvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ3dhdGVyJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHdhdGVyfHN0cmVhbXxmZXJyeSkpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWVcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdsYW5kJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHBhcmtzfGxhbmRjb3ZlcnxpbmR1c3RyaWFsfHNhbmR8aGlsbHNoYWRlKSkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJzNkIGJ1aWxkaW5nJyxcbiAgICBmaWx0ZXI6ICgpID0+IGZhbHNlLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiBmYWxzZVxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBfU1RZTEVTID0gW1xuICB7XG4gICAgaWQ6ICdkYXJrJyxcbiAgICBsYWJlbDogJ0RhcmsnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jam9xYmJmNmw5azMwMnNsOTZ0eXZrYTA5JyxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9EQVJLX1YyLnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTXG4gIH0sXG4gIHtcbiAgICBpZDogJ2xpZ2h0JyxcbiAgICBsYWJlbDogJ0xpZ2h0JyxcbiAgICB1cmw6ICdtYXBib3g6Ly9zdHlsZXMvdWJlcmRhdGEvY2pvcWI5ajMzOWsxZjJzbDl0NWljNWJuNCcsXG4gICAgaWNvbjogYCR7SUNPTl9QUkVGSVh9L1VCRVJfTElHSFRfVjIucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFNcbiAgfSxcbiAge1xuICAgIGlkOiAnbXV0ZWQnLFxuICAgIGxhYmVsOiAnTXV0ZWQgTGlnaHQnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jamZ5bDAza3AxdHVsMnNtZjV2MnRiZGQ0JyxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9NVVRFRF9MSUdIVC5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQU1xuICB9LFxuICB7XG4gICAgaWQ6ICdtdXRlZF9uaWdodCcsXG4gICAgbGFiZWw6ICdNdXRlZCBOaWdodCcsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2NqZnhobGlrbWFqMWIyc295emV2bnl3Z3MnLFxuICAgIGljb246IGAke0lDT05fUFJFRklYfS9VQkVSX01VVEVEX05JR0hULnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTXG4gIH0sXG4gIHtcbiAgICBpZDogJ3NhdGVsbGl0ZScsXG4gICAgbGFiZWw6ICdTYXRlbGxpdGUnLFxuICAgIHVybDogYG1hcGJveDovL3N0eWxlcy9tYXBib3gvc2F0ZWxsaXRlLXY5YCxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9TQVRFTExJVEUucG5nYFxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgR0VPSlNPTl9GSUVMRFMgPSB7XG4gIGdlb2pzb246IFsnX2dlb2pzb24nLCAnYWxsX3BvaW50cycsICdnZW9qc29uJ11cbn07XG5cbmV4cG9ydCBjb25zdCBJQ09OX0ZJRUxEUyA9IHtcbiAgaWNvbjogWydpY29uJ11cbn07XG5cbmV4cG9ydCBjb25zdCBUUklQX1BPSU5UX0ZJRUxEUzogW3N0cmluZywgc3RyaW5nXVtdID0gW1xuICBbJ2xhdCcsICdsbmcnXSxcbiAgWydsYXQnLCAnbG9uJ10sXG4gIFsnbGF0JywgJ2xvbmcnXSxcbiAgWydsYXRpdHVkZScsICdsb25naXR1ZGUnXVxuXTtcblxuZXhwb3J0IGNvbnN0IEFMVElUVURFX0ZJRUxEUyA9IFsnYWx0JywgJ2FsdGl0dWRlJ107XG5leHBvcnQgY29uc3QgVFJJUF9BUkNfRklFTERTID0ge1xuICBsYXQwOiAnYmVnaW50cmlwJyxcbiAgbG5nMDogJ2JlZ2ludHJpcCcsXG4gIGxhdDE6ICdkcm9wb2ZmJyxcbiAgbG5nMTogJ2Ryb3BvZmYnXG59O1xuXG5leHBvcnQgY29uc3QgRklMVEVSX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgcmFuZ2U6IG51bGwsXG4gIHNlbGVjdDogbnVsbCxcbiAgaW5wdXQ6IG51bGwsXG4gIHRpbWVSYW5nZTogbnVsbCxcbiAgbXVsdGlTZWxlY3Q6IG51bGwsXG4gIHBvbHlnb246IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgU0NBTEVfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBvcmRpbmFsOiBudWxsLFxuICBxdWFudGlsZTogbnVsbCxcbiAgcXVhbnRpemU6IG51bGwsXG4gIGxpbmVhcjogbnVsbCxcbiAgc3FydDogbnVsbCxcbiAgbG9nOiBudWxsLFxuXG4gIC8vIG9yZGluYWwgZG9tYWluIHRvIGxpbmVhciByYW5nZVxuICBwb2ludDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBTQ0FMRV9GVU5DID0ge1xuICBbU0NBTEVfVFlQRVMubGluZWFyXTogc2NhbGVMaW5lYXIsXG4gIFtTQ0FMRV9UWVBFUy5xdWFudGl6ZV06IHNjYWxlUXVhbnRpemUsXG4gIFtTQ0FMRV9UWVBFUy5xdWFudGlsZV06IHNjYWxlUXVhbnRpbGUsXG4gIFtTQ0FMRV9UWVBFUy5vcmRpbmFsXTogc2NhbGVPcmRpbmFsLFxuICBbU0NBTEVfVFlQRVMuc3FydF06IHNjYWxlU3FydCxcbiAgW1NDQUxFX1RZUEVTLmxvZ106IHNjYWxlTG9nLFxuICBbU0NBTEVfVFlQRVMucG9pbnRdOiBzY2FsZVBvaW50XG59O1xuXG5leHBvcnQgY29uc3QgQUxMX0ZJRUxEX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgYm9vbGVhbjogbnVsbCxcbiAgZGF0ZTogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgaW50ZWdlcjogbnVsbCxcbiAgcmVhbDogbnVsbCxcbiAgc3RyaW5nOiBudWxsLFxuICB0aW1lc3RhbXA6IG51bGwsXG4gIHBvaW50OiBudWxsXG59KTtcblxuLy8gRGF0YSBUYWJsZVxuZXhwb3J0IGNvbnN0IFNPUlRfT1JERVIgPSBrZXlNaXJyb3Ioe1xuICBBU0NFTkRJTkc6IG51bGwsXG4gIERFU0NFTkRJTkc6IG51bGwsXG4gIFVOU09SVDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBUQUJMRV9PUFRJT04gPSBrZXlNaXJyb3Ioe1xuICBTT1JUX0FTQzogbnVsbCxcbiAgU09SVF9ERVM6IG51bGwsXG4gIFVOU09SVDogbnVsbCxcbiAgUElOOiBudWxsLFxuICBVTlBJTjogbnVsbCxcbiAgQ09QWTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBUQUJMRV9PUFRJT05fTElTVCA9IFtcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uU09SVF9BU0MsXG4gICAgZGlzcGxheTogJ1NvcnQgQXNjZW5kaW5nJyxcbiAgICBpY29uOiAnQXJyb3dVcCcsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5zb3J0TW9kZSAhPT0gU09SVF9PUkRFUi5BU0NFTkRJTkdcbiAgfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uU09SVF9ERVMsXG4gICAgZGlzcGxheTogJ1NvcnQgRGVzY2VuZGluZycsXG4gICAgaWNvbjogJ0Fycm93RG93bicsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5zb3J0TW9kZSAhPT0gU09SVF9PUkRFUi5ERVNDRU5ESU5HXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlVOU09SVCxcbiAgICBkaXNwbGF5OiAnVW5zb3J0IENvbHVtbicsXG4gICAgaWNvbjogJ0NhbmNlbCcsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5pc1NvcnRlZFxuICB9LFxuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5QSU4sXG4gICAgZGlzcGxheTogJ1BpbiBDb2x1bW4nLFxuICAgIGljb246ICdQaW4nLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gIXByb3BzLmlzUGlubmVkXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlVOUElOLFxuICAgIGRpc3BsYXk6ICdVbnBpbiBDb2x1bW4nLFxuICAgIGljb246ICdDYW5jZWwnLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuaXNQaW5uZWRcbiAgfSxcbiAge3ZhbHVlOiBUQUJMRV9PUFRJT04uQ09QWSwgZGlzcGxheTogJ0NvcHkgQ29sdW1uJywgaWNvbjogJ0NsaXBib2FyZCd9XG5dO1xuXG5jb25zdCBPUkFOR0UgPSAnMjQ4LCAxOTQsIDI4JztcbmNvbnN0IFBJTksgPSAnMjMxLCAxODksIDE5NCc7XG5jb25zdCBQVVJQTEUgPSAnMTYwLCAxMDYsIDIwNic7XG5jb25zdCBCTFVFID0gJzE0MCwgMjEwLCAyMDUnO1xuY29uc3QgQkxVRTIgPSAnMTA2LCAxNjAsIDIwNic7XG5jb25zdCBCTFVFMyA9ICcwLCAxNzIsIDIzNyc7XG5jb25zdCBHUkVFTiA9ICcxMDYsIDE2MCwgNTYnO1xuY29uc3QgUkVEID0gJzIzNywgODgsIDEwNic7XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9UWVBFX0RJU1BMQVkgPSB7XG4gIFtBTExfRklFTERfVFlQRVMuYm9vbGVhbl06IHtcbiAgICBsYWJlbDogJ2Jvb2wnLFxuICAgIGNvbG9yOiBQSU5LXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZGF0ZV06IHtcbiAgICBsYWJlbDogJ2RhdGUnLFxuICAgIGNvbG9yOiBQVVJQTEVcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5nZW9qc29uXToge1xuICAgIGxhYmVsOiAnZ2VvJyxcbiAgICBjb2xvcjogQkxVRTJcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5pbnRlZ2VyXToge1xuICAgIGxhYmVsOiAnaW50JyxcbiAgICBjb2xvcjogT1JBTkdFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMucmVhbF06IHtcbiAgICBsYWJlbDogJ2Zsb2F0JyxcbiAgICBjb2xvcjogT1JBTkdFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuc3RyaW5nXToge1xuICAgIGxhYmVsOiAnc3RyaW5nJyxcbiAgICBjb2xvcjogQkxVRVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLnRpbWVzdGFtcF06IHtcbiAgICBsYWJlbDogJ3RpbWUnLFxuICAgIGNvbG9yOiBHUkVFTlxuICB9LFxuICAvLyBmaWVsZCBwYWlyc1xuICBbQUxMX0ZJRUxEX1RZUEVTLnBvaW50XToge1xuICAgIGxhYmVsOiAncG9pbnQnLFxuICAgIGNvbG9yOiBCTFVFM1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgRklFTERfQ09MT1JTID0ge1xuICBkZWZhdWx0OiBSRURcbn07XG5leHBvcnQgY29uc3QgSElHSExJR0hfQ09MT1JfM0Q6IFJHQkFDb2xvciA9IFsyNTUsIDI1NSwgMjU1LCA2MF07XG5leHBvcnQgY29uc3QgQ0hBTk5FTF9TQ0FMRVMgPSBrZXlNaXJyb3Ioe1xuICBjb2xvcjogbnVsbCxcbiAgcmFkaXVzOiBudWxsLFxuICBzaXplOiBudWxsLFxuICBjb2xvckFnZ3I6IG51bGwsXG4gIHNpemVBZ2dyOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEFHR1JFR0FUSU9OX1RZUEVTOiB7XG4gIC8vIGRlZmF1bHRcbiAgY291bnQ6ICdjb3VudCc7XG4gIC8vIGxpbmVhclxuICBhdmVyYWdlOiAnYXZlcmFnZSc7XG4gIG1heGltdW06ICdtYXhpbXVtJztcbiAgbWluaW11bTogJ21pbmltdW0nO1xuICBtZWRpYW46ICdtZWRpYW4nO1xuICBzdGRldjogJ3N0ZGV2JztcbiAgc3VtOiAnc3VtJztcbiAgdmFyaWFuY2U6ICd2YXJpYW5jZSc7XG4gIC8vIG9yZGluYWxcbiAgbW9kZTogJ21vZGUnO1xuICBjb3VudFVuaXF1ZTogJ2NvdW50IHVuaXF1ZSc7XG59ID0ge1xuICAvLyBkZWZhdWx0XG4gIGNvdW50OiAnY291bnQnLFxuICAvLyBsaW5lYXJcbiAgYXZlcmFnZTogJ2F2ZXJhZ2UnLFxuICBtYXhpbXVtOiAnbWF4aW11bScsXG4gIG1pbmltdW06ICdtaW5pbXVtJyxcbiAgbWVkaWFuOiAnbWVkaWFuJyxcbiAgc3RkZXY6ICdzdGRldicsXG4gIHN1bTogJ3N1bScsXG4gIHZhcmlhbmNlOiAndmFyaWFuY2UnLFxuICAvLyBvcmRpbmFsXG4gIG1vZGU6ICdtb2RlJyxcbiAgY291bnRVbmlxdWU6ICdjb3VudCB1bmlxdWUnXG59O1xuXG5leHBvcnQgY29uc3QgbGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyA9IHtcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZV0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMuc3FydF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXVxufTtcblxuZXhwb3J0IGNvbnN0IGxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5hdmVyYWdlXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZV0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1heGltdW1dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWluaW11bV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGVdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5tZWRpYW5dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3RkZXZdOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3VtXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZV0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLnZhcmlhbmNlXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZV1cbiAgfSxcblxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZUFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmF2ZXJhZ2VdOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5tYXhpbXVtXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWluaW11bV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1lZGlhbl06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLnN0ZGV2XTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3VtXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMudmFyaWFuY2VdOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBvcmRpbmFsRmllbGRTY2FsZUZ1bmN0aW9ucyA9IHtcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yXTogW1NDQUxFX1RZUEVTLm9yZGluYWxdLFxuICBbQ0hBTk5FTF9TQ0FMRVMucmFkaXVzXTogW1NDQUxFX1RZUEVTLnBvaW50XSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVdOiBbU0NBTEVfVFlQRVMucG9pbnRdXG59O1xuXG5leHBvcnQgY29uc3Qgb3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zID0ge1xuICAvLyBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXTogW1NDQUxFX1RZUEVTLm9yZGluYWwsIFNDQUxFX1RZUEVTLmxpbmVhcl0sXG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1vZGVdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmNvdW50VW5pcXVlXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZV1cbiAgfSxcblxuICAvLyBDdXJyZW50bHkgZG9lc24ndCBzdXBwb3J0IHlldFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZUFnZ3JdOiB7fVxufTtcblxuZXhwb3J0IGNvbnN0IG5vdFN1cHBvcnRlZFNjYWxlT3B0cyA9IHtcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yXTogW10sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbXSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVdOiBbXVxufTtcblxuZXhwb3J0IGNvbnN0IG5vdFN1cHBvcnRBZ2dyT3B0cyA9IHtcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IHt9LFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZUFnZ3JdOiB7fVxufTtcblxuLyoqXG4gKiBEZWZhdWx0IGFnZ3JlZ2F0aW9uIGFyZSBiYXNlZCBvbiBvY3VudFxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9BR0dSRUdBVElPTiA9IHtcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuY291bnRdOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlXVxuICB9LFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZUFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmNvdW50XTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXVxuICB9XG59O1xuXG4vKipcbiAqIERlZmluZSB3aGF0IHR5cGUgb2Ygc2NhbGUgb3BlcmF0aW9uIGlzIGFsbG93ZWQgb24gZWFjaCB0eXBlIG9mIGZpZWxkc1xuICovXG5leHBvcnQgY29uc3QgRklFTERfT1BUUyA9IHtcbiAgc3RyaW5nOiB7XG4gICAgdHlwZTogJ2NhdGVnb3JpY2FsJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ub3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5vcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXVxuICAgIH1cbiAgfSxcbiAgcmVhbDoge1xuICAgIHR5cGU6ICdudW1lcmljYWwnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5saW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ubGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRFQ0lNQUwsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLlBFUkNFTlRBR0VcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIHRpbWVzdGFtcDoge1xuICAgIHR5cGU6ICd0aW1lJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLm5vdFN1cHBvcnRBZ2dyT3B0c1xuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6IGQgPT4gZCxcbiAgICAgIHRvb2x0aXA6IFtcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuTk9ORSxcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuREFURSxcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuREFURV9USU1FXG4gICAgICBdXG4gICAgfVxuICB9LFxuICBpbnRlZ2VyOiB7XG4gICAgdHlwZTogJ251bWVyaWNhbCcsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLmxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5saW5lYXJGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9uc1xuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6IGQgPT4gZCxcbiAgICAgIHRvb2x0aXA6IFtcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuTk9ORSxcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuREVDSU1BTCxcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuUEVSQ0VOVEFHRVxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgYm9vbGVhbjoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ub3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5vcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbVE9PTFRJUF9GT1JNQVRfVFlQRVMuTk9ORSwgVE9PTFRJUF9GT1JNQVRfVFlQRVMuQk9PTEVBTl1cbiAgICB9XG4gIH0sXG4gIGRhdGU6IHtcbiAgICBzY2FsZToge1xuICAgICAgLi4ub3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5vcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbVE9PTFRJUF9GT1JNQVRfVFlQRVMuTk9ORSwgVE9PTFRJUF9GT1JNQVRfVFlQRVMuREFURV1cbiAgICB9XG4gIH0sXG4gIGdlb2pzb246IHtcbiAgICB0eXBlOiAnZ2VvbWV0cnknLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5ub3RTdXBwb3J0ZWRTY2FsZU9wdHMsXG4gICAgICAuLi5ub3RTdXBwb3J0QWdnck9wdHNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+ICcuLi4nLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDSEFOTkVMX1NDQUxFX1NVUFBPUlRFRF9GSUVMRFMgPSBPYmplY3Qua2V5cyhDSEFOTkVMX1NDQUxFUykucmVkdWNlKFxuICAoYWNjdSwga2V5KSA9PiAoe1xuICAgIC4uLmFjY3UsXG4gICAgW2tleV06IE9iamVjdC5rZXlzKEZJRUxEX09QVFMpLmZpbHRlcihmdCA9PiBPYmplY3Qua2V5cyhGSUVMRF9PUFRTW2Z0XS5zY2FsZVtrZXldKS5sZW5ndGgpXG4gIH0pLFxuICB7fSBhcyB7W2lkOiBzdHJpbmddOiBzdHJpbmdbXX1cbik7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0NPTE9SID0ge1xuICB0cmlwQXJjOiAnIzkyMjZDNicsXG4gIGJlZ2ludHJpcF9sYXQ6ICcjMUU5NkJFJyxcbiAgZHJvcG9mZl9sYXQ6ICcjRkY5OTFGJyxcbiAgcmVxdWVzdF9sYXQ6ICcjNTJBMzUzJ1xufTtcblxuLy8gbGV0IHVzZXIgcGFzcyBpbiBkZWZhdWx0IHRvb2x0aXAgZmllbGRzXG5leHBvcnQgY29uc3QgREVGQVVMVF9UT09MVElQX0ZJRUxEUzogYW55W10gPSBbXTtcblxuZXhwb3J0IGNvbnN0IE5PX1ZBTFVFX0NPTE9SOiBSR0JBQ29sb3IgPSBbMCwgMCwgMCwgMF07XG5cbmV4cG9ydCBjb25zdCBMQVlFUl9CTEVORElOR1MgPSB7XG4gIGFkZGl0aXZlOiB7XG4gICAgbGFiZWw6ICdsYXllckJsZW5kaW5nLmFkZGl0aXZlJyxcbiAgICBibGVuZEZ1bmM6IFsnU1JDX0FMUEhBJywgJ0RTVF9BTFBIQSddLFxuICAgIGJsZW5kRXF1YXRpb246ICdGVU5DX0FERCdcbiAgfSxcbiAgbm9ybWFsOiB7XG4gICAgLy8gcmVmZXJlbmNlIHRvXG4gICAgLy8gaHR0cHM6Ly9saW1udS5jb20vd2ViZ2wtYmxlbmRpbmcteW91cmUtcHJvYmFibHktd3JvbmcvXG4gICAgbGFiZWw6ICdsYXllckJsZW5kaW5nLm5vcm1hbCcsXG4gICAgYmxlbmRGdW5jOiBbJ1NSQ19BTFBIQScsICdPTkVfTUlOVVNfU1JDX0FMUEhBJywgJ09ORScsICdPTkVfTUlOVVNfU1JDX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogWydGVU5DX0FERCcsICdGVU5DX0FERCddXG4gIH0sXG4gIHN1YnRyYWN0aXZlOiB7XG4gICAgbGFiZWw6ICdsYXllckJsZW5kaW5nLnN1YnRyYWN0aXZlJyxcbiAgICBibGVuZEZ1bmM6IFsnT05FJywgJ09ORV9NSU5VU19EU1RfQ09MT1InLCAnU1JDX0FMUEhBJywgJ0RTVF9BTFBIQSddLFxuICAgIGJsZW5kRXF1YXRpb246IFsnRlVOQ19TVUJUUkFDVCcsICdGVU5DX0FERCddXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBNQVhfREVGQVVMVF9UT09MVElQUyA9IDU7XG5cbmV4cG9ydCBjb25zdCBSRVNPTFVUSU9OUyA9IGtleU1pcnJvcih7XG4gIE9ORV9YOiBudWxsLFxuICBUV09fWDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1HX1JBVElPUyA9IGtleU1pcnJvcih7XG4gIFNDUkVFTjogbnVsbCxcbiAgRk9VUl9CWV9USFJFRTogbnVsbCxcbiAgU0lYVEVFTl9CWV9OSU5FOiBudWxsLFxuICBDVVNUT006IG51bGxcbn0pO1xuXG5leHBvcnQgdHlwZSBFeHBvcnRJbWFnZSA9IHtcbiAgcmF0aW86IGtleW9mIHR5cGVvZiBFWFBPUlRfSU1HX1JBVElPUztcbiAgcmVzb2x1dGlvbjoga2V5b2YgdHlwZW9mIFJFU09MVVRJT05TO1xuICBsZWdlbmQ6IGJvb2xlYW47XG4gIG1hcEg6IG51bWJlcjtcbiAgbWFwVzogbnVtYmVyO1xuICBpbWFnZVNpemU6IHtcbiAgICB6b29tT2Zmc2V0OiBudW1iZXI7XG4gICAgc2NhbGU6IG51bWJlcjtcbiAgICBpbWFnZVc6IG51bWJlcjtcbiAgICBpbWFnZUg6IG51bWJlcjtcbiAgfTtcbiAgLy8gZXhwb3J0aW5nIHN0YXRlXG4gIGltYWdlRGF0YVVyaTogc3RyaW5nO1xuICBleHBvcnRpbmc6IGJvb2xlYW47XG4gIHByb2Nlc3Npbmc6IGJvb2xlYW47XG4gIGVycm9yOiBFcnJvciB8IGZhbHNlO1xuICAvLyBUaGlzIGZpZWxkIHdhcyBub3QgaW4gdGhlIC5kLnRzIGZpbGVcbiAgY2VudGVyOiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IGtleW9mIHR5cGVvZiBFWFBPUlRfSU1HX1JBVElPUztcbiAgbGFiZWw6IHN0cmluZztcbiAgaGlkZGVuPzogYm9vbGVhbjtcbiAgZ2V0U2l6ZTogKHNjcmVlblc6IG51bWJlciwgc2NyZWVuSDogbnVtYmVyKSA9PiB7d2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXJ9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNjcmVlblJhdGlvT3B0aW9uOiBJbWFnZVJhdGlvT3B0aW9uID0ge1xuICBpZDogRVhQT1JUX0lNR19SQVRJT1MuU0NSRUVOLFxuICBsYWJlbDogJ21vZGFsLmV4cG9ydEltYWdlLnJhdGlvT3JpZ2luYWxTY3JlZW4nLFxuICBnZXRTaXplOiAoc2NyZWVuVywgc2NyZWVuSCkgPT4gKHt3aWR0aDogc2NyZWVuVywgaGVpZ2h0OiBzY3JlZW5IfSlcbn07XG5leHBvcnQgY29uc3QgQ3VzdG9tUmF0aW9PcHRpb246IEltYWdlUmF0aW9PcHRpb24gPSB7XG4gIGlkOiBFWFBPUlRfSU1HX1JBVElPUy5DVVNUT00sXG4gIGhpZGRlbjogdHJ1ZSxcbiAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpb0N1c3RvbScsXG4gIGdldFNpemU6IChtYXBXLCBtYXBIKSA9PiAoe3dpZHRoOiBtYXBXLCBoZWlnaHQ6IG1hcEh9KVxufTtcbmV4cG9ydCBjb25zdCBGb3VyQnlUaHJlZVJhdGlvT3B0aW9uOiBJbWFnZVJhdGlvT3B0aW9uID0ge1xuICBpZDogRVhQT1JUX0lNR19SQVRJT1MuRk9VUl9CWV9USFJFRSxcbiAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpbzRfMycsXG4gIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgIHdpZHRoOiBzY3JlZW5XLFxuICAgIGhlaWdodDogTWF0aC5yb3VuZChzY3JlZW5XICogMC43NSlcbiAgfSlcbn07XG5leHBvcnQgY29uc3QgU2l4dGVlbkJ5TmluZVJhdGlvT3B0aW9uOiBJbWFnZVJhdGlvT3B0aW9uID0ge1xuICBpZDogRVhQT1JUX0lNR19SQVRJT1MuU0lYVEVFTl9CWV9OSU5FLFxuICBsYWJlbDogJ21vZGFsLmV4cG9ydEltYWdlLnJhdGlvMTZfOScsXG4gIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgIHdpZHRoOiBzY3JlZW5XLFxuICAgIGhlaWdodDogTWF0aC5yb3VuZChzY3JlZW5XICogMC41NjI1KVxuICB9KVxufTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUdfUkFUSU9fT1BUSU9OUzogUmVhZG9ubHlBcnJheTxJbWFnZVJhdGlvT3B0aW9uPiA9IFtcbiAgU2NyZWVuUmF0aW9PcHRpb24sXG4gIEN1c3RvbVJhdGlvT3B0aW9uLFxuICBGb3VyQnlUaHJlZVJhdGlvT3B0aW9uLFxuICBTaXh0ZWVuQnlOaW5lUmF0aW9PcHRpb25cbl07XG5cbmV4cG9ydCB0eXBlIEltYWdlUmVzb2x1dGlvbk9wdGlvbiA9IHtcbiAgaWQ6IGtleW9mIHR5cGVvZiBSRVNPTFVUSU9OUztcbiAgbGFiZWw6IHN0cmluZztcbiAgYXZhaWxhYmxlOiBib29sZWFuO1xuICBzY2FsZTogbnVtYmVyO1xuICBnZXRTaXplOiAoc2NyZWVuVzogbnVtYmVyLCBzY3JlZW5IOiBudW1iZXIpID0+IHt3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcn07XG59O1xuXG5leHBvcnQgY29uc3QgT25lWFJlc29sdXRpb25PcHRpb246IEltYWdlUmVzb2x1dGlvbk9wdGlvbiA9IHtcbiAgaWQ6IFJFU09MVVRJT05TLk9ORV9YLFxuICBsYWJlbDogJzF4JyxcbiAgYXZhaWxhYmxlOiB0cnVlLFxuICBzY2FsZTogMSxcbiAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7XG4gICAgd2lkdGg6IHNjcmVlblcsXG4gICAgaGVpZ2h0OiBzY3JlZW5IXG4gIH0pXG59O1xuXG5leHBvcnQgY29uc3QgVHdvWFJlc29sdXRpb25PcHRpb246IEltYWdlUmVzb2x1dGlvbk9wdGlvbiA9IHtcbiAgaWQ6IFJFU09MVVRJT05TLlRXT19YLFxuICBsYWJlbDogJzJ4JyxcbiAgYXZhaWxhYmxlOiB0cnVlLFxuICBzY2FsZTogMixcbiAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7XG4gICAgd2lkdGg6IHNjcmVlblcgKiAyLFxuICAgIGhlaWdodDogc2NyZWVuSCAqIDJcbiAgfSlcbn07XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1HX1JFU09MVVRJT05fT1BUSU9OUzogUmVhZG9ubHlBcnJheTxJbWFnZVJlc29sdXRpb25PcHRpb24+ID0gW1xuICBPbmVYUmVzb2x1dGlvbk9wdGlvbixcbiAgVHdvWFJlc29sdXRpb25PcHRpb25cbl07XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfREFUQV9UWVBFID0ga2V5TWlycm9yKHtcbiAgQ1NWOiBudWxsXG4gIC8vIFNIQVBFRklMRTogbnVsbCxcbiAgLy8gSlNPTjogbnVsbCxcbiAgLy8gR0VPSlNPTjogbnVsbCxcbiAgLy8gVE9QT0pTT046IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfVFlQRV9PUFRJT05TID0gW1xuICB7XG4gICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuQ1NWLFxuICAgIGxhYmVsOiBFWFBPUlRfREFUQV9UWVBFLkNTVi50b0xvd2VyQ2FzZSgpLFxuICAgIGF2YWlsYWJsZTogdHJ1ZVxuICB9XG4gIC8vIHtcbiAgLy8gICBpZDogRVhQT1JUX0RBVEFfVFlQRS5TSEFQRUZJTEUsXG4gIC8vICAgbGFiZWw6ICdzaGFwZWZpbGUnLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfSxcbiAgLy8ge1xuICAvLyAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLkpTT04sXG4gIC8vICAgbGFiZWw6ICdqc29uJyxcbiAgLy8gICBhdmFpbGFibGU6IGZhbHNlXG4gIC8vIH0sXG4gIC8vIHtcbiAgLy8gICBpZDogRVhQT1JUX0RBVEFfVFlQRS5HRU9KU09OLFxuICAvLyAgIGxhYmVsOiAnZ2VvanNvbicsXG4gIC8vICAgYXZhaWxhYmxlOiBmYWxzZVxuICAvLyB9LFxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuVE9QT0pTT04sXG4gIC8vICAgbGFiZWw6ICd0b3BvanNvbicsXG4gIC8vICAgYXZhaWxhYmxlOiBmYWxzZVxuICAvLyB9XG5dO1xuXG4vLyBFeHBvcnQgbWFwIHR5cGVzXG5leHBvcnQgY29uc3QgRVhQT1JUX01BUF9GT1JNQVRTID0ga2V5TWlycm9yKHtcbiAgSFRNTDogbnVsbCxcbiAgSlNPTjogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSFRNTF9NQVBfTU9ERVMgPSBrZXlNaXJyb3Ioe1xuICBSRUFEOiBudWxsLFxuICBFRElUOiBudWxsXG59KTtcblxuLy8gRXhwb3J0IG1hcCBvcHRpb25zXG5leHBvcnQgY29uc3QgRVhQT1JUX01BUF9GT1JNQVRfT1BUSU9OUyA9IE9iamVjdC5lbnRyaWVzKEVYUE9SVF9NQVBfRk9STUFUUykubWFwKFxuICAoZW50cnk6IFtzdHJpbmcsIGFueV0pID0+ICh7XG4gICAgaWQ6IGVudHJ5WzBdLFxuICAgIGxhYmVsOiBlbnRyeVsxXS50b0xvd2VyQ2FzZSgpLFxuICAgIGF2YWlsYWJsZTogdHJ1ZVxuICB9KVxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEhUTUxNYXBNb2RlVGlsZVVybChtb2RlKSB7XG4gIHJldHVybiBgaHR0cHM6Ly9kMWEzZjRzcGF6enJwNC5jbG91ZGZyb250Lm5ldC9rZXBsZXIuZ2wvZG9jdW1lbnRhdGlvbi9tYXAtJHttb2RlLnRvTG93ZXJDYXNlKCl9LW1vZGUucG5nYDtcbn1cblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9IVE1MX01BUF9NT0RFX09QVElPTlMgPSBPYmplY3QuZW50cmllcyhFWFBPUlRfSFRNTF9NQVBfTU9ERVMpLm1hcChcbiAgKGVudHJ5OiBbc3RyaW5nLCBhbnldKSA9PiAoe1xuICAgIGlkOiBlbnRyeVswXSxcbiAgICBsYWJlbDogYG1vZGFsLmV4cG9ydE1hcC5odG1sLiR7ZW50cnlbMV0udG9Mb3dlckNhc2UoKX1gLFxuICAgIGF2YWlsYWJsZTogdHJ1ZSxcbiAgICB1cmw6IGdldEhUTUxNYXBNb2RlVGlsZVVybChlbnRyeVsxXSlcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1VVSURfQ09VTlQgPSA2O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9OT1RJRklDQVRJT05fTUVTU0FHRSA9ICdNRVNTQUdFX05PVF9QUk9WSURFRCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05PVElGSUNBVElPTl9UWVBFUyA9IGtleU1pcnJvcih7XG4gIGluZm86IG51bGwsXG4gIGVycm9yOiBudWxsLFxuICB3YXJuaW5nOiBudWxsLFxuICBzdWNjZXNzOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTk9USUZJQ0FUSU9OX1RPUElDUyA9IGtleU1pcnJvcih7XG4gIGdsb2JhbDogbnVsbCxcbiAgZmlsZTogbnVsbFxufSk7XG5cbi8vIE1pbmltdW0gdGltZSBiZXR3ZWVuIGlkZW50aWNhbCBub3RpZmljYXRpb25zIGFib3V0IGRlY2suZ2wgZXJyb3JzXG5leHBvcnQgY29uc3QgVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUUgPSAyNTAwO1xuXG4vLyBBbmltYXRpb25cbmV4cG9ydCBjb25zdCBCQVNFX1NQRUVEID0gNjAwO1xuZXhwb3J0IGNvbnN0IEZQUyA9IDYwO1xuXG4vKipcbiAqIDQgQW5pbWF0aW9uIFdpbmRvdyBUeXBlc1xuICogMS4gZnJlZVxuICogIHwtPiAgfC0+XG4gKiBDdXJyZW50IHRpbWUgaXMgYSBmaXhlZCByYW5nZSwgYW5pbWF0aW9uIGNvbnRyb2xsZXIgY2FsbHMgbmV4dCBhbmltYXRpb24gZnJhbWVzIGNvbnRpbnVvdXNseSB0byBhbmltYXRpb24gYSBtb3Zpbmcgd2luZG93XG4gKiBUaGUgaW5jcmVtZW50IGlkIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDIuIGluY3JlbWVudGFsXG4gKiB8ICAgIHwtPlxuICogU2FtZSBhcyBmcmVlLCBjdXJyZW50IHRpbWUgaXMgYSBncm93aW5nIHJhbmdlLCBvbmx5IHRoZSBtYXggdmFsdWUgb2YgcmFuZ2UgaW5jcmVtZW50IGR1cmluZyBhbmltYXRpb24uXG4gKiBUaGUgaW5jcmVtZW50IGlzIGFsc28gYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gKlxuICogMy4gcG9pbnRcbiAqIG8gLT4gb1xuICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQsIGFuaW1hdGlvbiBjb250cm9sbGVyIGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lIGNvbnRpbnVvdXNseSB0byBhbmltYXRpb24gYSBtb3ZpbmcgcG9pbnRcbiAqIFRoZSBpbmNyZW1lbnQgaXMgYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gKlxuICogNC4gaW50ZXJ2YWxcbiAqIG8gfj4gb1xuICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQuIEFuIGFycmF5IG9mIHNvcnRlZCB0aW1lIHN0ZXBzIG5lZWQgdG8gYmUgcHJvdmlkZWQuXG4gKiBhbmltYXRpb24gY29udHJvbGxlciBjYWxscyBuZXh0IGFuaW1hdGlvbiBhdCBhIGludGVydmFsIHdoZW4gdGhlIHBvaW50IGp1bXBzIHRvIHRoZSBuZXh0IHN0ZXBcbiAqL1xuZXhwb3J0IGNvbnN0IEFOSU1BVElPTl9XSU5ET1cgPSBrZXlNaXJyb3Ioe1xuICBmcmVlOiBudWxsLFxuICBpbmNyZW1lbnRhbDogbnVsbCxcbiAgcG9pbnQ6IG51bGwsXG4gIGludGVydmFsOiBudWxsXG59KTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1RJTUVfRk9STUFUID0gJ01NL0REL1lZIEhIOm1tOnNzYSc7XG5leHBvcnQgY29uc3QgU1BFRURfQ09OVFJPTF9SQU5HRTogW251bWJlciwgbnVtYmVyXSA9IFswLCAxMF07XG5leHBvcnQgY29uc3QgU1BFRURfQ09OVFJPTF9TVEVQID0gMC4wMDE7XG5cbi8vIEdlb2NvZGVyXG5leHBvcnQgY29uc3QgR0VPQ09ERVJfREFUQVNFVF9OQU1FID0gJ2dlb2NvZGVyX2RhdGFzZXQnO1xuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0xBWUVSX0lEID0gJ2dlb2NvZGVyX2xheWVyJztcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9HRU9fT0ZGU0VUID0gMC4wNTtcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9JQ09OX0NPTE9SOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gPSBbMjU1LCAwLCAwXTtcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9JQ09OX1NJWkUgPSA4MDtcblxuLy8gV2UgY291bGQgdXNlIGRpcmVjdGx5IHJlYWN0LW1hcC1nbC1kcmF3IEVkaXRvck1vZGUgYnV0IHRoaXMgd291bGRcbi8vIGNyZWF0ZSBhIGRpcmVjdCBkZXBlbmRlbmN5IHdpdGggcmVhY3QtbWFwLWdsLWRyYXdcbi8vIENyZWF0ZWQgdGhpcyBtYXAgdG8gYmUgaW5kZXBlbmRlbnQgZnJvbSByZWFjdC1tYXAtZ2wtZHJhd1xuZXhwb3J0IGNvbnN0IEVESVRPUl9NT0RFUyA9IHtcbiAgUkVBRF9PTkxZOiBFZGl0b3JNb2Rlcy5SRUFEX09OTFksXG4gIERSQVdfUE9MWUdPTjogRWRpdG9yTW9kZXMuRFJBV19QT0xZR09OLFxuICBEUkFXX1JFQ1RBTkdMRTogRWRpdG9yTW9kZXMuRFJBV19SRUNUQU5HTEUsXG4gIEVESVQ6IEVkaXRvck1vZGVzLkVESVRfVkVSVEVYXG59O1xuXG5leHBvcnQgY29uc3QgUExPVF9UWVBFUyA9IGtleU1pcnJvcih7XG4gIGhpc3RvZ3JhbTogbnVsbCxcbiAgbGluZUNoYXJ0OiBudWxsXG59KTtcblxuLy8gR1BVIEZpbHRlcmluZ1xuLyoqXG4gKiBNYXggbnVtYmVyIG9mIGZpbHRlciB2YWx1ZSBidWZmZXJzIHRoYXQgZGVjay5nbCBwcm92aWRlc1xuICovXG5leHBvcnQgY29uc3QgTUFYX0dQVV9GSUxURVJTID0gNDtcbmV4cG9ydCBjb25zdCBNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTiA9IHtcbiAgd2lkdGg6IDMwMCxcbiAgaGVpZ2h0OiAyMDBcbn07XG5cbmV4cG9ydCBjb25zdCBNQVBfSU5GT19DSEFSQUNURVIgPSB7XG4gIHRpdGxlOiAxMDAsXG4gIGRlc2NyaXB0aW9uOiAxMDBcbn07XG5cbi8vIExvYWQgZGF0YVxuZXhwb3J0IGNvbnN0IExPQURJTkdfTUVUSE9EUyA9IGtleU1pcnJvcih7XG4gIHVwbG9hZDogbnVsbCxcbiAgc3RvcmFnZTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZFQVRVUkVfRkxBR1MgPSB7fTtcblxuZXhwb3J0IGNvbnN0IERBVEFTRVRfRk9STUFUUyA9IGtleU1pcnJvcih7XG4gIHJvdzogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgY3N2OiBudWxsLFxuICBrZXBsZXJnbDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBNQVBfQ09OVFJPTFMgPSBrZXlNaXJyb3Ioe1xuICB2aXNpYmxlTGF5ZXJzOiBudWxsLFxuICBtYXBMZWdlbmQ6IG51bGwsXG4gIHRvZ2dsZTNkOiBudWxsLFxuICBzcGxpdE1hcDogbnVsbCxcbiAgbWFwRHJhdzogbnVsbCxcbiAgbWFwTG9jYWxlOiBudWxsXG59KTtcblxuLyoqXG4gKiBBIG11bHRpcGxpZXIgZm9yIHNjcmVlbi1zcGFjZSB3aWR0aC9zY2FsZSBmb3IgQXJjLCBMaW5lLCBJY29uIGFuZCBUZXh0IGxheWVycy5cbiAqIFJlcXVpcmVkIGluIG9yZGVyIHRvIG1haW50YWluIHRoZSBzYW1lIGFwcGVhcmFuY2UgYWZ0ZXIgdXBncmFkaW5nIHRvIGRlY2suZ2wgdjguNS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS92aXNnbC9kZWNrLmdsL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZS1ndWlkZS5tZFxuICovXG5leHBvcnQgY29uc3QgUFJPSkVDVEVEX1BJWEVMX1NJWkVfTVVMVElQTElFUiA9IDIgLyAzO1xuIl19
|
|
1060
|
+
var TEXT_OUTLINE_MULTIPLIER = 5;
|
|
1061
|
+
exports.TEXT_OUTLINE_MULTIPLIER = TEXT_OUTLINE_MULTIPLIER;
|
|
1062
|
+
var dataTestIds = {
|
|
1063
|
+
infoIcon: 'info-icon',
|
|
1064
|
+
warningIcon: 'warning-icon',
|
|
1065
|
+
errorIcon: 'error-icon',
|
|
1066
|
+
successIcon: 'success-icon',
|
|
1067
|
+
checkmarkIcon: 'checkmark-icon',
|
|
1068
|
+
sortableLayerItem: 'sortable-layer-item',
|
|
1069
|
+
staticLayerItem: 'static-layer-item',
|
|
1070
|
+
layerTitleEditor: 'layer__title__editor',
|
|
1071
|
+
removeLayerAction: 'remove-layer-action',
|
|
1072
|
+
layerPanel: 'layer-panel',
|
|
1073
|
+
sortableEffectItem: 'sortable-effect-item',
|
|
1074
|
+
staticEffectItem: 'static-effect-item',
|
|
1075
|
+
providerLoading: 'provider-loading',
|
|
1076
|
+
providerMapInfoPanel: 'provider-map-info-panel',
|
|
1077
|
+
providerSelect: 'provider-select',
|
|
1078
|
+
cloudHeader: 'cloud-header',
|
|
1079
|
+
providerShareMap: 'provider-share-map'
|
|
1080
|
+
}; // Effects
|
|
1081
|
+
|
|
1082
|
+
exports.dataTestIds = dataTestIds;
|
|
1083
|
+
var DEFAULT_TIMEZONE = 'UTC';
|
|
1084
|
+
exports.DEFAULT_TIMEZONE = DEFAULT_TIMEZONE;
|
|
1085
|
+
var DEFAULT_POST_PROCESSING_EFFECT_TYPE = 'ink';
|
|
1086
|
+
exports.DEFAULT_POST_PROCESSING_EFFECT_TYPE = DEFAULT_POST_PROCESSING_EFFECT_TYPE;
|
|
1087
|
+
var DEFAULT_LIGHT_COLOR = [255, 255, 255];
|
|
1088
|
+
exports.DEFAULT_LIGHT_COLOR = DEFAULT_LIGHT_COLOR;
|
|
1089
|
+
var DEFAULT_LIGHT_INTENSITY = 1;
|
|
1090
|
+
exports.DEFAULT_LIGHT_INTENSITY = DEFAULT_LIGHT_INTENSITY;
|
|
1091
|
+
var DEFAULT_SHADOW_INTENSITY = 0.5;
|
|
1092
|
+
exports.DEFAULT_SHADOW_INTENSITY = DEFAULT_SHADOW_INTENSITY;
|
|
1093
|
+
var DEFAULT_SHADOW_COLOR = [0, 0, 0];
|
|
1094
|
+
exports.DEFAULT_SHADOW_COLOR = DEFAULT_SHADOW_COLOR;
|
|
1095
|
+
var LIGHT_AND_SHADOW_EFFECT_TIME_MODES = {
|
|
1096
|
+
pick: 'pick',
|
|
1097
|
+
current: 'current',
|
|
1098
|
+
animation: 'animation'
|
|
1099
|
+
};
|
|
1100
|
+
exports.LIGHT_AND_SHADOW_EFFECT_TIME_MODES = LIGHT_AND_SHADOW_EFFECT_TIME_MODES;
|
|
1101
|
+
var DEFAULT_LIGHT_AND_SHADOW_PROPS = {
|
|
1102
|
+
timestamp: Date.now(),
|
|
1103
|
+
timeMode: LIGHT_AND_SHADOW_EFFECT_TIME_MODES.pick,
|
|
1104
|
+
shadowIntensity: DEFAULT_SHADOW_INTENSITY,
|
|
1105
|
+
shadowColor: [].concat(DEFAULT_SHADOW_COLOR),
|
|
1106
|
+
sunLightColor: [].concat(DEFAULT_LIGHT_COLOR),
|
|
1107
|
+
sunLightIntensity: DEFAULT_LIGHT_INTENSITY,
|
|
1108
|
+
ambientLightColor: [].concat(DEFAULT_LIGHT_COLOR),
|
|
1109
|
+
ambientLightIntensity: DEFAULT_LIGHT_INTENSITY
|
|
1110
|
+
};
|
|
1111
|
+
exports.DEFAULT_LIGHT_AND_SHADOW_PROPS = DEFAULT_LIGHT_AND_SHADOW_PROPS;
|
|
1112
|
+
var LIGHT_AND_SHADOW_EFFECT = {
|
|
1113
|
+
type: 'lightAndShadow',
|
|
1114
|
+
name: 'Light & Shadow',
|
|
1115
|
+
parameters: [{
|
|
1116
|
+
name: 'timestamp',
|
|
1117
|
+
min: 0,
|
|
1118
|
+
max: Number.MAX_SAFE_INTEGER
|
|
1119
|
+
}, {
|
|
1120
|
+
name: 'shadowIntensity',
|
|
1121
|
+
min: 0,
|
|
1122
|
+
max: 1,
|
|
1123
|
+
defaultValue: DEFAULT_SHADOW_INTENSITY
|
|
1124
|
+
}, {
|
|
1125
|
+
name: 'sunLightIntensity',
|
|
1126
|
+
min: 0,
|
|
1127
|
+
max: 1,
|
|
1128
|
+
defaultValue: DEFAULT_LIGHT_INTENSITY
|
|
1129
|
+
}, {
|
|
1130
|
+
name: 'ambientLightIntensity',
|
|
1131
|
+
min: 0,
|
|
1132
|
+
max: 1,
|
|
1133
|
+
defaultValue: DEFAULT_LIGHT_INTENSITY
|
|
1134
|
+
}, {
|
|
1135
|
+
name: 'shadowColor',
|
|
1136
|
+
type: 'color',
|
|
1137
|
+
min: 0,
|
|
1138
|
+
max: 255,
|
|
1139
|
+
defaultValue: DEFAULT_SHADOW_COLOR
|
|
1140
|
+
}, {
|
|
1141
|
+
name: 'sunLightColor',
|
|
1142
|
+
type: 'color',
|
|
1143
|
+
min: 0,
|
|
1144
|
+
max: 255,
|
|
1145
|
+
defaultValue: DEFAULT_LIGHT_COLOR
|
|
1146
|
+
}, {
|
|
1147
|
+
name: 'ambientLightColor',
|
|
1148
|
+
type: 'color',
|
|
1149
|
+
min: 0,
|
|
1150
|
+
max: 255,
|
|
1151
|
+
defaultValue: DEFAULT_LIGHT_COLOR
|
|
1152
|
+
}]
|
|
1153
|
+
};
|
|
1154
|
+
exports.LIGHT_AND_SHADOW_EFFECT = LIGHT_AND_SHADOW_EFFECT;
|
|
1155
|
+
var POSTPROCESSING_EFFECTS = {
|
|
1156
|
+
ink: {
|
|
1157
|
+
type: 'ink',
|
|
1158
|
+
name: 'Ink',
|
|
1159
|
+
parameters: [{
|
|
1160
|
+
name: 'strength',
|
|
1161
|
+
min: 0,
|
|
1162
|
+
max: 1
|
|
1163
|
+
}]
|
|
1164
|
+
},
|
|
1165
|
+
brightnessContrast: {
|
|
1166
|
+
type: 'brightnessContrast',
|
|
1167
|
+
name: 'Brightness & Contrast',
|
|
1168
|
+
parameters: [{
|
|
1169
|
+
name: 'brightness',
|
|
1170
|
+
min: -1,
|
|
1171
|
+
max: 1
|
|
1172
|
+
}, {
|
|
1173
|
+
name: 'contrast',
|
|
1174
|
+
min: -1,
|
|
1175
|
+
max: 1
|
|
1176
|
+
}]
|
|
1177
|
+
},
|
|
1178
|
+
hueSaturation: {
|
|
1179
|
+
type: 'hueSaturation',
|
|
1180
|
+
name: 'Hue & Saturation',
|
|
1181
|
+
parameters: [{
|
|
1182
|
+
name: 'hue',
|
|
1183
|
+
min: -1,
|
|
1184
|
+
max: 1
|
|
1185
|
+
}, {
|
|
1186
|
+
name: 'saturation',
|
|
1187
|
+
defaultValue: 0.25,
|
|
1188
|
+
min: -1,
|
|
1189
|
+
max: 1
|
|
1190
|
+
}]
|
|
1191
|
+
},
|
|
1192
|
+
vibrance: {
|
|
1193
|
+
type: 'vibrance',
|
|
1194
|
+
name: 'Vibrance',
|
|
1195
|
+
parameters: [{
|
|
1196
|
+
name: 'amount',
|
|
1197
|
+
defaultValue: 0.5,
|
|
1198
|
+
min: -1,
|
|
1199
|
+
max: 1
|
|
1200
|
+
}]
|
|
1201
|
+
},
|
|
1202
|
+
sepia: {
|
|
1203
|
+
type: 'sepia',
|
|
1204
|
+
name: 'Sepia',
|
|
1205
|
+
parameters: [{
|
|
1206
|
+
name: 'amount',
|
|
1207
|
+
min: 0,
|
|
1208
|
+
max: 1
|
|
1209
|
+
}]
|
|
1210
|
+
},
|
|
1211
|
+
dotScreen: {
|
|
1212
|
+
type: 'dotScreen',
|
|
1213
|
+
name: 'Dot Screen',
|
|
1214
|
+
parameters: [{
|
|
1215
|
+
name: 'angle',
|
|
1216
|
+
min: 0,
|
|
1217
|
+
max: Math.PI / 2
|
|
1218
|
+
}, {
|
|
1219
|
+
name: 'size',
|
|
1220
|
+
min: 1,
|
|
1221
|
+
max: 20
|
|
1222
|
+
}, {
|
|
1223
|
+
name: 'center',
|
|
1224
|
+
type: 'array',
|
|
1225
|
+
label: ['Center X', 'Center Y'],
|
|
1226
|
+
defaultValue: [0.5, 0.5],
|
|
1227
|
+
min: 0,
|
|
1228
|
+
max: 1
|
|
1229
|
+
}]
|
|
1230
|
+
},
|
|
1231
|
+
colorHalftone: {
|
|
1232
|
+
type: 'colorHalftone',
|
|
1233
|
+
name: 'Color Halftone',
|
|
1234
|
+
parameters: [{
|
|
1235
|
+
name: 'angle',
|
|
1236
|
+
min: 0,
|
|
1237
|
+
max: Math.PI / 2
|
|
1238
|
+
}, {
|
|
1239
|
+
name: 'size',
|
|
1240
|
+
min: 1,
|
|
1241
|
+
max: 20
|
|
1242
|
+
}, {
|
|
1243
|
+
name: 'center',
|
|
1244
|
+
type: 'array',
|
|
1245
|
+
label: ['Center X', 'Center Y'],
|
|
1246
|
+
defaultValue: [0.5, 0.5],
|
|
1247
|
+
min: 0,
|
|
1248
|
+
max: 1
|
|
1249
|
+
}]
|
|
1250
|
+
},
|
|
1251
|
+
noise: {
|
|
1252
|
+
type: 'noise',
|
|
1253
|
+
name: 'Noise',
|
|
1254
|
+
parameters: [{
|
|
1255
|
+
name: 'amount',
|
|
1256
|
+
min: 0,
|
|
1257
|
+
max: 1
|
|
1258
|
+
}]
|
|
1259
|
+
},
|
|
1260
|
+
triangleBlur: {
|
|
1261
|
+
type: 'triangleBlur',
|
|
1262
|
+
name: 'Blur (Triangle)',
|
|
1263
|
+
parameters: [{
|
|
1264
|
+
name: 'radius',
|
|
1265
|
+
min: 0,
|
|
1266
|
+
max: 100
|
|
1267
|
+
}]
|
|
1268
|
+
},
|
|
1269
|
+
zoomBlur: {
|
|
1270
|
+
type: 'zoomBlur',
|
|
1271
|
+
name: 'Blur (Zoom)',
|
|
1272
|
+
parameters: [{
|
|
1273
|
+
name: 'strength',
|
|
1274
|
+
defaultValue: 0.05,
|
|
1275
|
+
min: 0,
|
|
1276
|
+
max: 1
|
|
1277
|
+
}, {
|
|
1278
|
+
name: 'center',
|
|
1279
|
+
type: 'array',
|
|
1280
|
+
label: ['Center X', 'Center Y'],
|
|
1281
|
+
defaultValue: [0.5, 0.5],
|
|
1282
|
+
min: 0,
|
|
1283
|
+
max: 1
|
|
1284
|
+
}]
|
|
1285
|
+
},
|
|
1286
|
+
tiltShift: {
|
|
1287
|
+
type: 'tiltShift',
|
|
1288
|
+
name: 'Blur (Tilt Shift)',
|
|
1289
|
+
parameters: [{
|
|
1290
|
+
name: 'blurRadius',
|
|
1291
|
+
label: 'Blur',
|
|
1292
|
+
min: 0,
|
|
1293
|
+
max: 50
|
|
1294
|
+
}, {
|
|
1295
|
+
name: 'gradientRadius',
|
|
1296
|
+
label: 'Gradient',
|
|
1297
|
+
min: 0,
|
|
1298
|
+
max: 400
|
|
1299
|
+
}, {
|
|
1300
|
+
name: 'start',
|
|
1301
|
+
type: 'array',
|
|
1302
|
+
label: ['Start', false],
|
|
1303
|
+
defaultValue: [0.0, 0.0],
|
|
1304
|
+
min: 0,
|
|
1305
|
+
max: 1
|
|
1306
|
+
}, {
|
|
1307
|
+
name: 'end',
|
|
1308
|
+
type: 'array',
|
|
1309
|
+
label: ['End', false],
|
|
1310
|
+
defaultValue: [1, 1],
|
|
1311
|
+
min: 0,
|
|
1312
|
+
max: 1
|
|
1313
|
+
}]
|
|
1314
|
+
},
|
|
1315
|
+
edgeWork: {
|
|
1316
|
+
type: 'edgeWork',
|
|
1317
|
+
name: 'Edge work',
|
|
1318
|
+
parameters: [{
|
|
1319
|
+
name: 'radius',
|
|
1320
|
+
min: 1,
|
|
1321
|
+
max: 50
|
|
1322
|
+
}]
|
|
1323
|
+
},
|
|
1324
|
+
vignette: {
|
|
1325
|
+
type: 'vignette',
|
|
1326
|
+
name: 'Vignette',
|
|
1327
|
+
parameters: [{
|
|
1328
|
+
name: 'amount',
|
|
1329
|
+
min: 0,
|
|
1330
|
+
max: 1
|
|
1331
|
+
}, {
|
|
1332
|
+
name: 'radius',
|
|
1333
|
+
min: 0,
|
|
1334
|
+
max: 1
|
|
1335
|
+
}]
|
|
1336
|
+
},
|
|
1337
|
+
magnify: {
|
|
1338
|
+
type: 'magnify',
|
|
1339
|
+
name: 'Magnify',
|
|
1340
|
+
parameters: [{
|
|
1341
|
+
name: 'screenXY',
|
|
1342
|
+
type: 'array',
|
|
1343
|
+
label: ['Position X', 'Position Y'],
|
|
1344
|
+
defaultValue: [0.5, 0.5],
|
|
1345
|
+
min: 0,
|
|
1346
|
+
max: 1
|
|
1347
|
+
}, {
|
|
1348
|
+
name: 'radiusPixels',
|
|
1349
|
+
label: 'Size',
|
|
1350
|
+
min: 10,
|
|
1351
|
+
max: 500
|
|
1352
|
+
}, {
|
|
1353
|
+
name: 'zoom',
|
|
1354
|
+
min: 0.5,
|
|
1355
|
+
max: 50
|
|
1356
|
+
}, {
|
|
1357
|
+
name: 'borderWidthPixels',
|
|
1358
|
+
label: 'Border Width',
|
|
1359
|
+
defaultValue: 3,
|
|
1360
|
+
min: 0,
|
|
1361
|
+
max: 50
|
|
1362
|
+
}]
|
|
1363
|
+
},
|
|
1364
|
+
hexagonalPixelate: {
|
|
1365
|
+
type: 'hexagonalPixelate',
|
|
1366
|
+
name: 'Hexagonal Pixelate',
|
|
1367
|
+
parameters: [{
|
|
1368
|
+
name: 'scale',
|
|
1369
|
+
defaultValue: 20,
|
|
1370
|
+
min: 1,
|
|
1371
|
+
max: 50
|
|
1372
|
+
}]
|
|
1373
|
+
}
|
|
1374
|
+
};
|
|
1375
|
+
exports.POSTPROCESSING_EFFECTS = POSTPROCESSING_EFFECTS;
|
|
1376
|
+
var EFFECT_DESCRIPTIONS = [LIGHT_AND_SHADOW_EFFECT].concat((0, _toConsumableArray2["default"])(Object.keys(POSTPROCESSING_EFFECTS).map(function (keyName) {
|
|
1377
|
+
return POSTPROCESSING_EFFECTS[keyName];
|
|
1378
|
+
})));
|
|
1379
|
+
exports.EFFECT_DESCRIPTIONS = EFFECT_DESCRIPTIONS;
|
|
1380
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0LXNldHRpbmdzLnRzIl0sIm5hbWVzIjpbIkFDVElPTl9QUkVGSVgiLCJLRVBMRVJfVU5GT0xERURfQlVDS0VUIiwiQkFTRU1BUF9JQ09OX1BSRUZJWCIsIkRFRkFVTFRfTUFQQk9YX0FQSV9VUkwiLCJUUkFOU0lUSU9OX0RVUkFUSU9OIiwiREFUQV9UQUJMRV9JRCIsIkRFTEVURV9EQVRBX0lEIiwiQUREX0RBVEFfSUQiLCJFWFBPUlRfSU1BR0VfSUQiLCJFWFBPUlRfREFUQV9JRCIsIkFERF9NQVBfU1RZTEVfSUQiLCJFWFBPUlRfTUFQX0lEIiwiU0FWRV9NQVBfSUQiLCJPVkVSV1JJVEVfTUFQX0lEIiwiU0hBUkVfTUFQX0lEIiwiS0VQTEVSX0dMX05BTUUiLCJLRVBMRVJfR0xfVkVSU0lPTiIsIktFUExFUl9HTF9XRUJTSVRFIiwiRElNRU5TSU9OUyIsInNpZGVQYW5lbCIsIndpZHRoIiwibWFyZ2luIiwidG9wIiwibGVmdCIsImJvdHRvbSIsInJpZ2h0IiwiaGVhZGVySGVpZ2h0IiwibWFwQ29udHJvbCIsInBhZGRpbmciLCJtYXBMZWdlbmQiLCJwaW5uZWQiLCJUSEVNRSIsImxpZ2h0IiwiZGFyayIsImJhc2UiLCJTSURFQkFSX1BBTkVMUyIsImlkIiwibGFiZWwiLCJvbkNsaWNrIiwiUEFORUxfVklFV19UT0dHTEVTIiwibGlzdCIsImJ5RGF0YXNldCIsIlBBTkVMUyIsIkRFRkFVTFRfQkxER19DT0xPUiIsIkRFRkFVTFRfQkFDS0dST1VORF9DT0xPUiIsIkJBU0VfTUFQX0JBQ0tHUk9VTkRfTEFZRVJfSURTIiwiQkFDS0dST1VORF9MQVlFUl9HUk9VUF9TTFVHIiwiVEhSRUVfRF9CVUlMRElOR19MQVlFUl9HUk9VUF9TTFVHIiwiQkFDS0dST1VORF9MQVlFUl9HUk9VUCIsInNsdWciLCJmaWx0ZXIiLCJkZWZhdWx0VmlzaWJpbGl0eSIsImlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZSIsImlzTW92ZVRvVG9wQXZhaWxhYmxlIiwiaXNDb2xvclBpY2tlckF2YWlsYWJsZSIsIkRFRkFVTFRfTEFZRVJfR1JPVVBTIiwibWF0Y2giLCJCQVNFX01BUF9DT0xPUl9NT0RFUyIsIk5PTkUiLCJEQVJLIiwiTElHSFQiLCJOT19NQVBfSUQiLCJFTVBUWV9NQVBCT1hfU1RZTEUiLCJ2ZXJzaW9uIiwic291cmNlcyIsImxheWVycyIsIk5PX0JBU0VNQVBfSUNPTiIsIkRFRkFVTFRfTUFQX1NUWUxFUyIsInVybCIsImljb24iLCJsYXllckdyb3VwcyIsImNvbG9yTW9kZSIsInN0eWxlIiwiY29tcGxpbWVudGFyeVN0eWxlSWQiLCJHRU9KU09OX0ZJRUxEUyIsImdlb2pzb24iLCJJQ09OX0ZJRUxEUyIsIlRSSVBfUE9JTlRfRklFTERTIiwiQUxUSVRVREVfRklFTERTIiwiVFJJUF9BUkNfRklFTERTIiwibGF0MCIsImxuZzAiLCJsYXQxIiwibG5nMSIsIkZJTFRFUl9UWVBFUyIsInJhbmdlIiwic2VsZWN0IiwiaW5wdXQiLCJ0aW1lUmFuZ2UiLCJtdWx0aVNlbGVjdCIsInBvbHlnb24iLCJGSUxURVJfVklFV19UWVBFUyIsInNpZGUiLCJlbmxhcmdlZCIsIm1pbmlmaWVkIiwiREVGQVVMVF9GSUxURVJfVklFV19UWVBFIiwiU0NBTEVfVFlQRVMiLCJvcmRpbmFsIiwicXVhbnRpbGUiLCJxdWFudGl6ZSIsImxpbmVhciIsInNxcnQiLCJsb2ciLCJwb2ludCIsIlNDQUxFX0ZVTkMiLCJzY2FsZUxpbmVhciIsInNjYWxlUXVhbnRpemUiLCJzY2FsZVF1YW50aWxlIiwic2NhbGVPcmRpbmFsIiwic2NhbGVTcXJ0Iiwic2NhbGVMb2ciLCJzY2FsZVBvaW50IiwiQUxMX0ZJRUxEX1RZUEVTIiwiZGF0ZSIsImludGVnZXIiLCJyZWFsIiwic3RyaW5nIiwidGltZXN0YW1wIiwiYXJyYXkiLCJvYmplY3QiLCJnZW9hcnJvdyIsIlNPUlRfT1JERVIiLCJBU0NFTkRJTkciLCJERVNDRU5ESU5HIiwiVU5TT1JUIiwiVEFCTEVfT1BUSU9OIiwiU09SVF9BU0MiLCJTT1JUX0RFUyIsIlBJTiIsIlVOUElOIiwiQ09QWSIsIkZPUk1BVF9DT0xVTU4iLCJUQUJMRV9PUFRJT05fTElTVCIsInZhbHVlIiwiZGlzcGxheSIsImNvbmRpdGlvbiIsInByb3BzIiwic29ydE1vZGUiLCJpc1NvcnRlZCIsImlzUGlubmVkIiwiWUVMTE9XIiwiUElOSyIsIlBVUlBMRSIsIkJMVUUiLCJCTFVFMiIsIkJMVUUzIiwiR1JFRU4iLCJHUkVFTjIiLCJSRUQiLCJPUkFOR0UiLCJGSUVMRF9UWVBFX0RJU1BMQVkiLCJjb2xvciIsIkZJRUxEX0NPTE9SUyIsIkhJR0hMSUdIX0NPTE9SXzNEIiwiQ0hBTk5FTF9TQ0FMRVMiLCJyYWRpdXMiLCJzaXplIiwiY29sb3JBZ2dyIiwic2l6ZUFnZ3IiLCJBR0dSRUdBVElPTl9UWVBFUyIsImNvdW50IiwiYXZlcmFnZSIsIm1heGltdW0iLCJtaW5pbXVtIiwibWVkaWFuIiwic3RkZXYiLCJzdW0iLCJ2YXJpYW5jZSIsIm1vZGUiLCJjb3VudFVuaXF1ZSIsIkFHR1JFR0FUSU9OX1RZUEVfT1BUSU9OUyIsIk9iamVjdCIsImVudHJpZXMiLCJtYXAiLCJrZXkiLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwibGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyIsImxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zIiwib3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMiLCJvcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMiLCJub3RTdXBwb3J0ZWRTY2FsZU9wdHMiLCJub3RTdXBwb3J0QWdnck9wdHMiLCJERUZBVUxUX0FHR1JFR0FUSU9OIiwiRklFTERfT1BUUyIsInR5cGUiLCJzY2FsZSIsImZvcm1hdCIsImxlZ2VuZCIsImQiLCJ0b29sdGlwIiwiVE9PTFRJUF9GT1JNQVRfVFlQRVMiLCJERUNJTUFMIiwiUEVSQ0VOVEFHRSIsIkRBVEUiLCJEQVRFX1RJTUUiLCJCT09MRUFOIiwiQ0hBTk5FTF9TQ0FMRV9TVVBQT1JURURfRklFTERTIiwia2V5cyIsInJlZHVjZSIsImFjY3UiLCJmdCIsImxlbmd0aCIsIkRFRkFVTFRfTEFZRVJfQ09MT1IiLCJ0cmlwQXJjIiwiYmVnaW50cmlwX2xhdCIsImRyb3BvZmZfbGF0IiwicmVxdWVzdF9sYXQiLCJERUZBVUxUX1RPT0xUSVBfRklFTERTIiwiTk9fVkFMVUVfQ09MT1IiLCJERUZBVUxUX1BJQ0tJTkdfUkFESVVTIiwiT1ZFUkxBWV9CTEVORElOR1MiLCJub3JtYWwiLCJzY3JlZW4iLCJkYXJrZW4iLCJMQVlFUl9CTEVORElOR1MiLCJhZGRpdGl2ZSIsImJsZW5kRnVuYyIsImJsZW5kRXF1YXRpb24iLCJzdWJ0cmFjdGl2ZSIsIk1BWF9ERUZBVUxUX1RPT0xUSVBTIiwiUkVTT0xVVElPTlMiLCJPTkVfWCIsIlRXT19YIiwiRVhQT1JUX0lNR19SQVRJT1MiLCJTQ1JFRU4iLCJGT1VSX0JZX1RIUkVFIiwiU0lYVEVFTl9CWV9OSU5FIiwiQ1VTVE9NIiwiU2NyZWVuUmF0aW9PcHRpb24iLCJnZXRTaXplIiwic2NyZWVuVyIsInNjcmVlbkgiLCJoZWlnaHQiLCJDdXN0b21SYXRpb09wdGlvbiIsImhpZGRlbiIsIm1hcFciLCJtYXBIIiwiRm91ckJ5VGhyZWVSYXRpb09wdGlvbiIsIk1hdGgiLCJyb3VuZCIsIlNpeHRlZW5CeU5pbmVSYXRpb09wdGlvbiIsIkVYUE9SVF9JTUdfUkFUSU9fT1BUSU9OUyIsIk9uZVhSZXNvbHV0aW9uT3B0aW9uIiwiYXZhaWxhYmxlIiwiVHdvWFJlc29sdXRpb25PcHRpb24iLCJFWFBPUlRfSU1HX1JFU09MVVRJT05fT1BUSU9OUyIsIkVYUE9SVF9EQVRBX1RZUEUiLCJDU1YiLCJFWFBPUlRfREFUQV9UWVBFX09QVElPTlMiLCJ0b0xvd2VyQ2FzZSIsIkVYUE9SVF9NQVBfRk9STUFUUyIsIkhUTUwiLCJKU09OIiwiRVhQT1JUX0hUTUxfTUFQX01PREVTIiwiUkVBRCIsIkVESVQiLCJFWFBPUlRfTUFQX0ZPUk1BVF9PUFRJT05TIiwiZW50cnkiLCJnZXRIVE1MTWFwTW9kZVRpbGVVcmwiLCJFWFBPUlRfSFRNTF9NQVBfTU9ERV9PUFRJT05TIiwiREVGQVVMVF9VVUlEX0NPVU5UIiwiREVGQVVMVF9OT1RJRklDQVRJT05fTUVTU0FHRSIsIkRFRkFVTFRfTk9USUZJQ0FUSU9OX1RZUEVTIiwiaW5mbyIsImVycm9yIiwid2FybmluZyIsInN1Y2Nlc3MiLCJERUZBVUxUX05PVElGSUNBVElPTl9UT1BJQ1MiLCJnbG9iYWwiLCJmaWxlIiwiVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUUiLCJCQVNFX1NQRUVEIiwiRlBTIiwiQU5JTUFUSU9OX1dJTkRPVyIsImZyZWUiLCJpbmNyZW1lbnRhbCIsImludGVydmFsIiwiREVGQVVMVF9USU1FX0ZPUk1BVCIsIlNQRUVEX0NPTlRST0xfUkFOR0UiLCJTUEVFRF9DT05UUk9MX1NURVAiLCJHRU9DT0RFUl9EQVRBU0VUX05BTUUiLCJHRU9DT0RFUl9MQVlFUl9JRCIsIkdFT0NPREVSX0dFT19PRkZTRVQiLCJHRU9DT0RFUl9JQ09OX0NPTE9SIiwiR0VPQ09ERVJfSUNPTl9TSVpFIiwiRURJVE9SX0xBWUVSX0lEIiwiRURJVE9SX0xBWUVSX1BJQ0tJTkdfUkFESVVTIiwiRURJVE9SX01PREVTIiwiRFJBV19QT0xZR09OIiwiRFJBV19SRUNUQU5HTEUiLCJQTE9UX1RZUEVTIiwiaGlzdG9ncmFtIiwibGluZUNoYXJ0IiwiSU5JVF9GSUxURVJfSVRFTVNfSU5fRFJPUERPV04iLCJNQVhfR1BVX0ZJTFRFUlMiLCJNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTiIsIk1BUF9JTkZPX0NIQVJBQ1RFUiIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJMT0FESU5HX01FVEhPRFMiLCJ1cGxvYWQiLCJzdG9yYWdlIiwiREVGQVVMVF9GRUFUVVJFX0ZMQUdTIiwiREFUQVNFVF9GT1JNQVRTIiwicm93IiwiY3N2Iiwia2VwbGVyZ2wiLCJhcnJvdyIsIk1BUF9DT05UUk9MUyIsInZpc2libGVMYXllcnMiLCJ0b2dnbGUzZCIsInNwbGl0TWFwIiwibWFwRHJhdyIsIm1hcExvY2FsZSIsImVmZmVjdCIsIlBST0pFQ1RFRF9QSVhFTF9TSVpFX01VTFRJUExJRVIiLCJURVhUX09VVExJTkVfTVVMVElQTElFUiIsImRhdGFUZXN0SWRzIiwiaW5mb0ljb24iLCJ3YXJuaW5nSWNvbiIsImVycm9ySWNvbiIsInN1Y2Nlc3NJY29uIiwiY2hlY2ttYXJrSWNvbiIsInNvcnRhYmxlTGF5ZXJJdGVtIiwic3RhdGljTGF5ZXJJdGVtIiwibGF5ZXJUaXRsZUVkaXRvciIsInJlbW92ZUxheWVyQWN0aW9uIiwibGF5ZXJQYW5lbCIsInNvcnRhYmxlRWZmZWN0SXRlbSIsInN0YXRpY0VmZmVjdEl0ZW0iLCJwcm92aWRlckxvYWRpbmciLCJwcm92aWRlck1hcEluZm9QYW5lbCIsInByb3ZpZGVyU2VsZWN0IiwiY2xvdWRIZWFkZXIiLCJwcm92aWRlclNoYXJlTWFwIiwiREVGQVVMVF9USU1FWk9ORSIsIkRFRkFVTFRfUE9TVF9QUk9DRVNTSU5HX0VGRkVDVF9UWVBFIiwiREVGQVVMVF9MSUdIVF9DT0xPUiIsIkRFRkFVTFRfTElHSFRfSU5URU5TSVRZIiwiREVGQVVMVF9TSEFET1dfSU5URU5TSVRZIiwiREVGQVVMVF9TSEFET1dfQ09MT1IiLCJMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVF9USU1FX01PREVTIiwicGljayIsImN1cnJlbnQiLCJhbmltYXRpb24iLCJERUZBVUxUX0xJR0hUX0FORF9TSEFET1dfUFJPUFMiLCJEYXRlIiwibm93IiwidGltZU1vZGUiLCJzaGFkb3dJbnRlbnNpdHkiLCJzaGFkb3dDb2xvciIsInN1bkxpZ2h0Q29sb3IiLCJzdW5MaWdodEludGVuc2l0eSIsImFtYmllbnRMaWdodENvbG9yIiwiYW1iaWVudExpZ2h0SW50ZW5zaXR5IiwiTElHSFRfQU5EX1NIQURPV19FRkZFQ1QiLCJuYW1lIiwicGFyYW1ldGVycyIsIm1pbiIsIm1heCIsIk51bWJlciIsIk1BWF9TQUZFX0lOVEVHRVIiLCJkZWZhdWx0VmFsdWUiLCJQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTIiwiaW5rIiwiYnJpZ2h0bmVzc0NvbnRyYXN0IiwiaHVlU2F0dXJhdGlvbiIsInZpYnJhbmNlIiwic2VwaWEiLCJkb3RTY3JlZW4iLCJQSSIsImNvbG9ySGFsZnRvbmUiLCJub2lzZSIsInRyaWFuZ2xlQmx1ciIsInpvb21CbHVyIiwidGlsdFNoaWZ0IiwiZWRnZVdvcmsiLCJ2aWduZXR0ZSIsIm1hZ25pZnkiLCJoZXhhZ29uYWxQaXhlbGF0ZSIsIkVGRkVDVF9ERVNDUklQVElPTlMiLCJrZXlOYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUdBOztBQUVBOztBQVNBOzs7Ozs7OztBQUdPLElBQU1BLGFBQWEsR0FBRyxjQUF0Qjs7QUFDQSxJQUFNQyxzQkFBc0IsR0FBRyw0REFBL0I7O0FBQ0EsSUFBTUMsbUJBQW1CLGFBQU1ELHNCQUFOLGFBQXpCOztBQUNBLElBQU1FLHNCQUFzQixHQUFHLHdCQUEvQjs7QUFDQSxJQUFNQyxtQkFBbUIsR0FBRyxDQUE1QixDLENBRVA7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxhQUFhLEdBQUcsV0FBdEI7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGNBQWMsR0FBRyxZQUF2QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsV0FBVyxHQUFHLFNBQXBCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxlQUFlLEdBQUcsYUFBeEI7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGNBQWMsR0FBRyxZQUF2QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsZ0JBQWdCLEdBQUcsYUFBekI7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGFBQWEsR0FBRyxXQUF0QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMs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LElBQUksRUFBRSxPQUFQO0FBQWdCTSxNQUFBQSxZQUFZLEVBQUUsRUFBOUI7QUFBa0NKLE1BQUFBLEdBQUcsRUFBRSxDQUF2QztBQUEwQ0MsTUFBQUEsR0FBRyxFQUFFO0FBQS9DLEtBQUQ7QUFISztBQTdMcUQsQ0FBbkU7O0FBb01BLElBQU1xQixtQkFBd0MsSUFDbkR6Qix1QkFEbUQsNkNBRWhEMUwsTUFBTSxDQUFDNEIsSUFBUCxDQUFZc0ssc0JBQVosRUFBb0NoTSxHQUFwQyxDQUF3QyxVQUFBa04sT0FBTztBQUFBLFNBQUlsQixzQkFBc0IsQ0FBQ2tCLE9BQUQsQ0FBMUI7QUFBQSxDQUEvQyxDQUZnRCxFQUE5QyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBrZXlNaXJyb3IgZnJvbSAna2V5bWlycm9yJztcblxuaW1wb3J0IHtcbiAgc2NhbGVMaW5lYXIsXG4gIHNjYWxlUXVhbnRpemUsXG4gIHNjYWxlUXVhbnRpbGUsXG4gIHNjYWxlT3JkaW5hbCxcbiAgc2NhbGVTcXJ0LFxuICBzY2FsZUxvZyxcbiAgc2NhbGVQb2ludFxufSBmcm9tICdkMy1zY2FsZSc7XG5pbXBvcnQge1RPT0xUSVBfRk9STUFUX1RZUEVTfSBmcm9tICcuL3Rvb2x0aXAnO1xuaW1wb3J0IHtSR0JBQ29sb3IsIEVmZmVjdERlc2NyaXB0aW9uLCBCYXNlTWFwU3R5bGV9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQUNUSU9OX1BSRUZJWCA9ICdAQGtlcGxlci5nbC8nO1xuZXhwb3J0IGNvbnN0IEtFUExFUl9VTkZPTERFRF9CVUNLRVQgPSAnaHR0cHM6Ly9zdHVkaW8tcHVibGljLWRhdGEuZm91cnNxdWFyZS5jb20vc3RhdGljcy9rZXBsZXJnbCc7XG5leHBvcnQgY29uc3QgQkFTRU1BUF9JQ09OX1BSRUZJWCA9IGAke0tFUExFUl9VTkZPTERFRF9CVUNLRVR9L2dlb2R1ZGVgO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUFQQk9YX0FQSV9VUkwgPSAnaHR0cHM6Ly9hcGkubWFwYm94LmNvbSc7XG5leHBvcnQgY29uc3QgVFJBTlNJVElPTl9EVVJBVElPTiA9IDA7XG5cbi8vIE1vZGFsIElkc1xuLyoqXG4gKiBNb2RhbCBpZDogZGF0YSB0YWJsZVxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgREFUQV9UQUJMRV9JRCA9ICdkYXRhVGFibGUnO1xuLyoqXG4gKiBNb2RhbCBpZDogZGVsZXRlIGRhdGFzZXQgY29uZmlybSBkaWFsb2dcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IERFTEVURV9EQVRBX0lEID0gJ2RlbGV0ZURhdGEnO1xuLyoqXG4gKiBNb2RhbCBpZDogYWRkIGRhdGEgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEFERF9EQVRBX0lEID0gJ2FkZERhdGEnO1xuLyoqXG4gKiBNb2RhbCBpZDogZXhwb3J0IGltYWdlIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1BR0VfSUQgPSAnZXhwb3J0SW1hZ2UnO1xuLyoqXG4gKiBNb2RhbCBpZDogZXhwb3J0IGRhdGEgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9EQVRBX0lEID0gJ2V4cG9ydERhdGEnO1xuLyoqXG4gKiBNb2RhbCBpZDogYWRkIGN1c3RvbSBtYXAgc3R5bGUgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEFERF9NQVBfU1RZTEVfSUQgPSAnYWRkTWFwU3R5bGUnO1xuLyoqXG4gKiBNb2RhbCBpZDogZXhwb3J0IG1hcCBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgRVhQT1JUX01BUF9JRCA9ICdleHBvcnRNYXAnO1xuLyoqXG4gKiBNb2RhbCBpZDogc2F2ZSBtYXAgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IFNBVkVfTUFQX0lEID0gJ3NhdmVNYXAnO1xuLyoqXG4gKiBNb2RhbCBpZDogY29uZmlybSB0byBvdmVyd3JpdGUgc2F2ZWQgbWFwXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBPVkVSV1JJVEVfTUFQX0lEID0gJ292ZXJ3cml0ZU1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBzaGFyZSBtYXAgdXJsIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBTSEFSRV9NQVBfSUQgPSAnc2hhcmVNYXAnO1xuXG5leHBvcnQgY29uc3QgS0VQTEVSX0dMX05BTUUgPSAna2VwbGVyLmdsJztcblxuLy8gX19QQUNLQUdFX1ZFUlNJT05fXyBpcyBhdXRvbWF0aWNhbGx5IGluamVjdGVkIGJ5IEJhYmVsL1dlYnBhY2sgZHVyaW5nIHRoZSBidWlsZGluZyBwcm9jZXNzXG4vLyBTaW5jZSB3ZSBhcmUgaW5qZWN0aW5nIHRoaXMgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzIHdpdGggYmFiZWxcbi8vIHdoaWxlIGRldmVsb3BpbmcgVkVSU0lPTiBpcyBub3QgZGVmaW5lZCwgd2UgY2FwdHVyZSB0aGUgZXhjZXB0aW9uIGFuZCByZXR1cm5cbi8vIGFuIGVtcHR5IHN0cmluZyB3aGljaCB3aWxsIGFsbG93IHVzIHRvIHJldHJpZXZlIHRoZSBsYXRlc3QgdW1kIHZlcnNpb25cbmV4cG9ydCBjb25zdCBLRVBMRVJfR0xfVkVSU0lPTiA9ICdfX1BBQ0tBR0VfVkVSU0lPTl9fJztcbmV4cG9ydCBjb25zdCBLRVBMRVJfR0xfV0VCU0lURSA9ICdodHRwOi8va2VwbGVyLmdsLyc7XG5cbmV4cG9ydCBjb25zdCBESU1FTlNJT05TID0ge1xuICBzaWRlUGFuZWw6IHtcbiAgICB3aWR0aDogMzAwLFxuICAgIG1hcmdpbjoge3RvcDogMjAsIGxlZnQ6IDIwLCBib3R0b206IDMwLCByaWdodDogMjB9LFxuICAgIGhlYWRlckhlaWdodDogOTZcbiAgfSxcbiAgbWFwQ29udHJvbDoge1xuICAgIHdpZHRoOiAxODQsXG4gICAgcGFkZGluZzogMTIsXG4gICAgbWFwTGVnZW5kOiB7XG4gICAgICBwaW5uZWQ6IHtcbiAgICAgICAgYm90dG9tOiAyMixcbiAgICAgICAgcmlnaHQ6IDEyXG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIFRoZW1lIG5hbWUgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIGBLZXBsZXJHbGAgYHByb3AudGhlbWVgLlxuICogQXZhaWxhYmxlIHRoZW1lcyBhcmUgYFRIRU1FLmxpZ2h0YCBhbmQgYFRIRU1FLmRhcmtgLiBEZWZhdWx0IHRoZW1lIGlzIGBUSEVNRS5kYXJrYFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7b2JqZWN0fVxuICogQHB1YmxpY1xuICogQGV4YW1wbGVcbiAqIGBgYGpzXG4gKiBjb25zdCBNYXAgPSAoKSA9PiA8S2VwbGVyR2wgdGhlbWU9e1RIRU1FLmxpZ2h0fSBpZD1cIm1hcFwiLz5cbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgVEhFTUUgPSBrZXlNaXJyb3Ioe1xuICBsaWdodDogbnVsbCxcbiAgZGFyazogbnVsbCxcbiAgYmFzZTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBTSURFQkFSX1BBTkVMUyA9IFtcbiAge1xuICAgIGlkOiAnbGF5ZXInLFxuICAgIGxhYmVsOiAnc2lkZWJhci5wYW5lbHMubGF5ZXInLFxuICAgIG9uQ2xpY2s6IG51bGxcbiAgfSxcbiAge1xuICAgIGlkOiAnZmlsdGVyJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmZpbHRlcicsXG4gICAgb25DbGljazogbnVsbFxuICB9LFxuICB7XG4gICAgaWQ6ICdpbnRlcmFjdGlvbicsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5pbnRlcmFjdGlvbicsXG4gICAgb25DbGljazogbnVsbFxuICB9LFxuICB7XG4gICAgaWQ6ICdtYXAnLFxuICAgIGxhYmVsOiAnc2lkZWJhci5wYW5lbHMuYmFzZW1hcCcsXG4gICAgb25DbGljazogbnVsbFxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgUEFORUxfVklFV19UT0dHTEVTID0ga2V5TWlycm9yKHtcbiAgbGlzdDogbnVsbCxcbiAgYnlEYXRhc2V0OiBudWxsXG59KTtcblxuLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuZXhwb3J0IGNvbnN0IFBBTkVMUyA9IFNJREVCQVJfUEFORUxTO1xuXG4vLyBNQVAgU1RZTEVTXG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0JMREdfQ09MT1IgPSAnI0QxQ0VDNyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0JBQ0tHUk9VTkRfQ09MT1IgPSAnIzAwMDAwMCc7XG5cbi8vIGFzc2lzdHMgaW4gaWRlbnRpZnlpbmcgYmFzZW1hcCBiYWNrZ3JvdW5kIGxheWVycyB3aGVuIGF1dG8tZGV0ZXJtaW5pbmcgdGhlIGJhY2tncm91bmRDb2xvclxuZXhwb3J0IGNvbnN0IEJBU0VfTUFQX0JBQ0tHUk9VTkRfTEFZRVJfSURTID0gWydiYWNrZ3JvdW5kJywgJ2JnJywgJ2xhbmQnLCAnd2F0ZXInXTtcblxuZXhwb3J0IGNvbnN0IEJBQ0tHUk9VTkRfTEFZRVJfR1JPVVBfU0xVRyA9ICdCYWNrZ3JvdW5kJztcblxuZXhwb3J0IGNvbnN0IFRIUkVFX0RfQlVJTERJTkdfTEFZRVJfR1JPVVBfU0xVRyA9ICczZCBidWlsZGluZyc7XG5cbmV4cG9ydCB0eXBlIERFRkFVTFRfTEFZRVJfR1JPVVAgPSB7XG4gIHNsdWc6IHN0cmluZztcbiAgZmlsdGVyOiAodmFsdWUpID0+IGJvb2xlYW47XG4gIGRlZmF1bHRWaXNpYmlsaXR5OiBib29sZWFuO1xuICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU/OiBib29sZWFuO1xuICBpc01vdmVUb1RvcEF2YWlsYWJsZT86IGJvb2xlYW47XG4gIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IEJBQ0tHUk9VTkRfTEFZRVJfR1JPVVA6IERFRkFVTFRfTEFZRVJfR1JPVVAgPSB7XG4gIHNsdWc6IEJBQ0tHUk9VTkRfTEFZRVJfR1JPVVBfU0xVRyxcbiAgZmlsdGVyOiAoKSA9PiBmYWxzZSxcbiAgZGVmYXVsdFZpc2liaWxpdHk6IGZhbHNlLFxuICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU6IGZhbHNlLFxuICBpc01vdmVUb1RvcEF2YWlsYWJsZTogZmFsc2UsXG4gIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU6IHRydWVcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0dST1VQUzogREVGQVVMVF9MQVlFUl9HUk9VUFtdID0gW1xuICB7XG4gICAgc2x1ZzogJ2xhYmVsJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KGxhYmVsfHBsYWNlLXxwb2ktKSkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZSxcbiAgICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU6IHRydWUsXG4gICAgaXNNb3ZlVG9Ub3BBdmFpbGFibGU6IHRydWUsXG4gICAgaXNDb2xvclBpY2tlckF2YWlsYWJsZTogZmFsc2VcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdyb2FkJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHJvYWR8cmFpbHdheXx0dW5uZWx8c3RyZWV0fGJyaWRnZSkpKD8hLipsYWJlbCkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZSxcbiAgICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU6IHRydWUsXG4gICAgaXNNb3ZlVG9Ub3BBdmFpbGFibGU6IHRydWUsXG4gICAgaXNDb2xvclBpY2tlckF2YWlsYWJsZTogZmFsc2VcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdib3JkZXInLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC9ib3JkZXJ8Ym91bmRhcmllc3xib3VuZGFyeS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiBmYWxzZSxcbiAgICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU6IHRydWUsXG4gICAgaXNNb3ZlVG9Ub3BBdmFpbGFibGU6IHRydWUsXG4gICAgaXNDb2xvclBpY2tlckF2YWlsYWJsZTogZmFsc2VcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdidWlsZGluZycsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goL2J1aWxkaW5nLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWUsXG4gICAgaXNWaXNpYmlsaXR5VG9nZ2xlQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzTW92ZVRvVG9wQXZhaWxhYmxlOiB0cnVlLFxuICAgIGlzQ29sb3JQaWNrZXJBdmFpbGFibGU6IGZhbHNlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAnd2F0ZXInLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0od2F0ZXJ8c3RyZWFtfGZlcnJ5KSkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZSxcbiAgICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU6IHRydWUsXG4gICAgaXNNb3ZlVG9Ub3BBdmFpbGFibGU6IHRydWUsXG4gICAgaXNDb2xvclBpY2tlckF2YWlsYWJsZTogZmFsc2VcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdsYW5kJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHBhcmtzfGxhbmRjb3ZlcnxpbmR1c3RyaWFsfHNhbmR8aGlsbHNoYWRlKSkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZSxcbiAgICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU6IHRydWUsXG4gICAgaXNNb3ZlVG9Ub3BBdmFpbGFibGU6IHRydWUsXG4gICAgaXNDb2xvclBpY2tlckF2YWlsYWJsZTogZmFsc2VcbiAgfSxcbiAge1xuICAgIHNsdWc6IFRIUkVFX0RfQlVJTERJTkdfTEFZRVJfR1JPVVBfU0xVRyxcbiAgICBmaWx0ZXI6ICgpID0+IGZhbHNlLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiBmYWxzZSxcbiAgICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU6IHRydWUsXG4gICAgaXNNb3ZlVG9Ub3BBdmFpbGFibGU6IHRydWUsXG4gICAgaXNDb2xvclBpY2tlckF2YWlsYWJsZTogdHJ1ZVxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgQkFTRV9NQVBfQ09MT1JfTU9ERVMgPSBrZXlNaXJyb3Ioe1xuICBOT05FOiBudWxsLFxuICBEQVJLOiBudWxsLFxuICBMSUdIVDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBOT19NQVBfSUQgPSAnbm9fbWFwJztcblxuLy8gRmFsbGJhY2sgc3R5bGUgdG8gdXNlIHdoZW4gc3R5bGVzIGFyZSBiZWluZyBmZXRjaGVkLCBvciB3aGVuXG4vLyBhIHN0eWxlIGZhaWxzIHRvIGZldGNoXG5leHBvcnQgY29uc3QgRU1QVFlfTUFQQk9YX1NUWUxFID0ge1xuICB2ZXJzaW9uOiA4LFxuICBzb3VyY2VzOiB7fSxcbiAgbGF5ZXJzOiBbXVxufTtcblxuZXhwb3J0IGNvbnN0IE5PX0JBU0VNQVBfSUNPTiA9IGAke0JBU0VNQVBfSUNPTl9QUkVGSVh9L05PX0JBU0VNQVAucG5nYDtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUFQX1NUWUxFUzogQmFzZU1hcFN0eWxlW10gPSBbXG4gIHtcbiAgICBpZDogTk9fTUFQX0lELFxuICAgIGxhYmVsOiAnTm8gQmFzZW1hcCcsXG4gICAgdXJsOiAnJyxcbiAgICBpY29uOiBOT19CQVNFTUFQX0lDT04sXG4gICAgbGF5ZXJHcm91cHM6IFtCQUNLR1JPVU5EX0xBWUVSX0dST1VQXSxcbiAgICBjb2xvck1vZGU6IEJBU0VfTUFQX0NPTE9SX01PREVTLk5PTkUsXG4gICAgc3R5bGU6IEVNUFRZX01BUEJPWF9TVFlMRVxuICB9LFxuICB7XG4gICAgaWQ6ICdkYXJrLW1hdHRlcicsXG4gICAgbGFiZWw6ICdEYXJrTWF0dGVyJyxcbiAgICB1cmw6ICdodHRwczovL2Jhc2VtYXBzLmNhcnRvY2RuLmNvbS9nbC9kYXJrLW1hdHRlci1nbC1zdHlsZS9zdHlsZS5qc29uJyxcbiAgICBpY29uOiBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9EQVJLTUFUVEVSLnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTLFxuICAgIGNvbG9yTW9kZTogQkFTRV9NQVBfQ09MT1JfTU9ERVMuREFSSyxcbiAgICBjb21wbGltZW50YXJ5U3R5bGVJZDogJ3Bvc2l0cm9uJ1xuICB9LFxuICB7XG4gICAgaWQ6ICdkYXJrLW1hdHRlci1ub2xhYmVscycsXG4gICAgbGFiZWw6ICdEYXJrTWF0dGVyTm9MYWJlbHMnLFxuICAgIHVybDogJ2h0dHBzOi8vYmFzZW1hcHMuY2FydG9jZG4uY29tL2dsL2RhcmstbWF0dGVyLW5vbGFiZWxzLWdsLXN0eWxlL3N0eWxlLmpzb24nLFxuICAgIGljb246IGAke0JBU0VNQVBfSUNPTl9QUkVGSVh9L0RBUktNQVRURVJfTk9MQUJFTFMucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFMsXG4gICAgY29sb3JNb2RlOiBCQVNFX01BUF9DT0xPUl9NT0RFUy5EQVJLLFxuICAgIGNvbXBsaW1lbnRhcnlTdHlsZUlkOiAncG9zaXRyb24tbm9sYWJlbHMnXG4gIH0sXG4gIHtcbiAgICBpZDogJ3Bvc2l0cm9uJyxcbiAgICBsYWJlbDogJ1Bvc2l0cm9uJyxcbiAgICB1cmw6ICdodHRwczovL2Jhc2VtYXBzLmNhcnRvY2RuLmNvbS9nbC9wb3NpdHJvbi1nbC1zdHlsZS9zdHlsZS5qc29uJyxcbiAgICBpY29uOiBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9QT1NJVFJPTi5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQUyxcbiAgICBjb2xvck1vZGU6IEJBU0VfTUFQX0NPTE9SX01PREVTLkxJR0hULFxuICAgIGNvbXBsaW1lbnRhcnlTdHlsZUlkOiAnZGFyay1tYXR0ZXInXG4gIH0sXG4gIHtcbiAgICBpZDogJ3Bvc2l0cm9uLW5vbGFiZWxzJyxcbiAgICBsYWJlbDogJ1Bvc2l0cm9uTm9MYWJlbHMnLFxuICAgIHVybDogJ2h0dHBzOi8vYmFzZW1hcHMuY2FydG9jZG4uY29tL2dsL3Bvc2l0cm9uLW5vbGFiZWxzLWdsLXN0eWxlL3N0eWxlLmpzb24nLFxuICAgIGljb246IGAke0JBU0VNQVBfSUNPTl9QUkVGSVh9L1BPU0lUUk9OX05PTEFCRUxTLnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTLFxuICAgIGNvbG9yTW9kZTogQkFTRV9NQVBfQ09MT1JfTU9ERVMuTElHSFQsXG4gICAgY29tcGxpbWVudGFyeVN0eWxlSWQ6ICdkYXJrLW1hdHRlci1ub2xhYmVscydcbiAgfSxcbiAge1xuICAgIGlkOiAndm95YWdlcicsXG4gICAgbGFiZWw6ICdWb3lhZ2VyJyxcbiAgICB1cmw6ICdodHRwczovL2Jhc2VtYXBzLmNhcnRvY2RuLmNvbS9nbC92b3lhZ2VyLWdsLXN0eWxlL3N0eWxlLmpzb24nLFxuICAgIGljb246IGAke0JBU0VNQVBfSUNPTl9QUkVGSVh9L1ZPWUFHRVIucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFMsXG4gICAgY29sb3JNb2RlOiBCQVNFX01BUF9DT0xPUl9NT0RFUy5MSUdIVCxcbiAgICBjb21wbGltZW50YXJ5U3R5bGVJZDogJ2RhcmstbWF0dGVyJ1xuICB9LFxuICB7XG4gICAgaWQ6ICd2b3lhZ2VyLW5vbGFiZWxzJyxcbiAgICBsYWJlbDogJ1ZveWFnZXJOb0xhYmVscycsXG4gICAgdXJsOiAnaHR0cHM6Ly9iYXNlbWFwcy5jYXJ0b2Nkbi5jb20vZ2wvdm95YWdlci1ub2xhYmVscy1nbC1zdHlsZS9zdHlsZS5qc29uJyxcbiAgICBpY29uOiBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9WT1lBR0VSX05PTEFCRUxTLnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTLFxuICAgIGNvbG9yTW9kZTogQkFTRV9NQVBfQ09MT1JfTU9ERVMuTElHSFQsXG4gICAgY29tcGxpbWVudGFyeVN0eWxlSWQ6ICdkYXJrLW1hdHRlci1ub2xhYmVscydcbiAgfVxuXTtcblxuZXhwb3J0IGNvbnN0IEdFT0pTT05fRklFTERTID0ge1xuICBnZW9qc29uOiBbJ19nZW9qc29uJywgJ2FsbF9wb2ludHMnLCAnZ2VvanNvbiddXG59O1xuXG5leHBvcnQgY29uc3QgSUNPTl9GSUVMRFMgPSB7XG4gIGljb246IFsnaWNvbiddXG59O1xuXG5leHBvcnQgY29uc3QgVFJJUF9QT0lOVF9GSUVMRFM6IFtzdHJpbmcsIHN0cmluZ11bXSA9IFtcbiAgWydsYXQnLCAnbG5nJ10sXG4gIFsnbGF0JywgJ2xvbiddLFxuICBbJ2xhdCcsICdsb25nJ10sXG4gIFsnbGF0aXR1ZGUnLCAnbG9uZ2l0dWRlJ11cbl07XG5cbmV4cG9ydCBjb25zdCBBTFRJVFVERV9GSUVMRFMgPSBbJ2FsdCcsICdhbHRpdHVkZSddO1xuZXhwb3J0IGNvbnN0IFRSSVBfQVJDX0ZJRUxEUyA9IHtcbiAgbGF0MDogJ2JlZ2ludHJpcCcsXG4gIGxuZzA6ICdiZWdpbnRyaXAnLFxuICBsYXQxOiAnZHJvcG9mZicsXG4gIGxuZzE6ICdkcm9wb2ZmJ1xufTtcblxuZXhwb3J0IGNvbnN0IEZJTFRFUl9UWVBFUyA9IGtleU1pcnJvcih7XG4gIHJhbmdlOiBudWxsLFxuICBzZWxlY3Q6IG51bGwsXG4gIGlucHV0OiBudWxsLFxuICB0aW1lUmFuZ2U6IG51bGwsXG4gIG11bHRpU2VsZWN0OiBudWxsLFxuICBwb2x5Z29uOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEZJTFRFUl9WSUVXX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgc2lkZTogbnVsbCxcbiAgZW5sYXJnZWQ6IG51bGwsXG4gIG1pbmlmaWVkOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRklMVEVSX1ZJRVdfVFlQRSA9IEZJTFRFUl9WSUVXX1RZUEVTLnNpZGU7XG5cbmV4cG9ydCBjb25zdCBTQ0FMRV9UWVBFUyA9IGtleU1pcnJvcih7XG4gIG9yZGluYWw6IG51bGwsXG4gIHF1YW50aWxlOiBudWxsLFxuICBxdWFudGl6ZTogbnVsbCxcbiAgbGluZWFyOiBudWxsLFxuICBzcXJ0OiBudWxsLFxuICBsb2c6IG51bGwsXG5cbiAgLy8gb3JkaW5hbCBkb21haW4gdG8gbGluZWFyIHJhbmdlXG4gIHBvaW50OiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFNDQUxFX0ZVTkMgPSB7XG4gIFtTQ0FMRV9UWVBFUy5saW5lYXJdOiBzY2FsZUxpbmVhcixcbiAgW1NDQUxFX1RZUEVTLnF1YW50aXplXTogc2NhbGVRdWFudGl6ZSxcbiAgW1NDQUxFX1RZUEVTLnF1YW50aWxlXTogc2NhbGVRdWFudGlsZSxcbiAgW1NDQUxFX1RZUEVTLm9yZGluYWxdOiBzY2FsZU9yZGluYWwsXG4gIFtTQ0FMRV9UWVBFUy5zcXJ0XTogc2NhbGVTcXJ0LFxuICBbU0NBTEVfVFlQRVMubG9nXTogc2NhbGVMb2csXG4gIFtTQ0FMRV9UWVBFUy5wb2ludF06IHNjYWxlUG9pbnRcbn07XG5cbmV4cG9ydCBjb25zdCBBTExfRklFTERfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBib29sZWFuOiBudWxsLFxuICBkYXRlOiBudWxsLFxuICBnZW9qc29uOiBudWxsLFxuICBpbnRlZ2VyOiBudWxsLFxuICByZWFsOiBudWxsLFxuICBzdHJpbmc6IG51bGwsXG4gIHRpbWVzdGFtcDogbnVsbCxcbiAgcG9pbnQ6IG51bGwsXG4gIGFycmF5OiBudWxsLFxuICBvYmplY3Q6IG51bGwsXG4gIGdlb2Fycm93OiBudWxsXG59KTtcblxuLy8gRGF0YSBUYWJsZVxuZXhwb3J0IGNvbnN0IFNPUlRfT1JERVIgPSBrZXlNaXJyb3Ioe1xuICBBU0NFTkRJTkc6IG51bGwsXG4gIERFU0NFTkRJTkc6IG51bGwsXG4gIFVOU09SVDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBUQUJMRV9PUFRJT04gPSBrZXlNaXJyb3Ioe1xuICBTT1JUX0FTQzogbnVsbCxcbiAgU09SVF9ERVM6IG51bGwsXG4gIFVOU09SVDogbnVsbCxcbiAgUElOOiBudWxsLFxuICBVTlBJTjogbnVsbCxcbiAgQ09QWTogbnVsbCxcbiAgRk9STUFUX0NPTFVNTjogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBUQUJMRV9PUFRJT05fTElTVCA9IFtcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uU09SVF9BU0MsXG4gICAgZGlzcGxheTogJ1NvcnQgQXNjZW5kaW5nJyxcbiAgICBpY29uOiAnQXJyb3dVcCcsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5zb3J0TW9kZSAhPT0gU09SVF9PUkRFUi5BU0NFTkRJTkdcbiAgfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uU09SVF9ERVMsXG4gICAgZGlzcGxheTogJ1NvcnQgRGVzY2VuZGluZycsXG4gICAgaWNvbjogJ0Fycm93RG93bicsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5zb3J0TW9kZSAhPT0gU09SVF9PUkRFUi5ERVNDRU5ESU5HXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlVOU09SVCxcbiAgICBkaXNwbGF5OiAnVW5zb3J0IENvbHVtbicsXG4gICAgaWNvbjogJ0NhbmNlbCcsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5pc1NvcnRlZFxuICB9LFxuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5QSU4sXG4gICAgZGlzcGxheTogJ1BpbiBDb2x1bW4nLFxuICAgIGljb246ICdQaW4nLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gIXByb3BzLmlzUGlubmVkXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlVOUElOLFxuICAgIGRpc3BsYXk6ICdVbnBpbiBDb2x1bW4nLFxuICAgIGljb246ICdDYW5jZWwnLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuaXNQaW5uZWRcbiAgfSxcbiAge3ZhbHVlOiBUQUJMRV9PUFRJT04uQ09QWSwgZGlzcGxheTogJ0NvcHkgQ29sdW1uJywgaWNvbjogJ0NsaXBib2FyZCd9LFxuICB7dmFsdWU6IFRBQkxFX09QVElPTi5GT1JNQVRfQ09MVU1OLCBkaXNwbGF5OiAnRm9ybWF0IENvbHVtbicsIGljb246ICdIYXNoJ31cbl07XG5cbmNvbnN0IFlFTExPVyA9ICcyNDgsIDE5NCwgMjgnO1xuY29uc3QgUElOSyA9ICcyNDIsIDE1MiwgMTYzJztcbmNvbnN0IFBVUlBMRSA9ICcxNjAsIDEwNiwgMjA2JztcbmNvbnN0IEJMVUUgPSAnMTQwLCAyMTAsIDIwNSc7XG5jb25zdCBCTFVFMiA9ICcxMDYsIDE2MCwgMjA2JztcbmNvbnN0IEJMVUUzID0gJzAsIDE3MiwgMjM3JztcbmNvbnN0IEdSRUVOID0gJzEwNiwgMTYwLCA1Nic7XG5jb25zdCBHUkVFTjIgPSAnNzQsIDE2NSwgMTUwJztcbmNvbnN0IFJFRCA9ICcyMzcsIDg4LCAxMDYnO1xuY29uc3QgT1JBTkdFID0gJzIzMSwgMTEwLCA1OCc7XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9UWVBFX0RJU1BMQVkgPSB7XG4gIFtBTExfRklFTERfVFlQRVMuYm9vbGVhbl06IHtcbiAgICBsYWJlbDogJ2Jvb2wnLFxuICAgIGNvbG9yOiBQSU5LXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZGF0ZV06IHtcbiAgICBsYWJlbDogJ2RhdGUnLFxuICAgIGNvbG9yOiBQVVJQTEVcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5nZW9qc29uXToge1xuICAgIGxhYmVsOiAnZ2VvJyxcbiAgICBjb2xvcjogQkxVRTJcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5nZW9hcnJvd106IHtcbiAgICBsYWJlbDogJ2dlbycsXG4gICAgY29sb3I6IEJMVUUyXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuaW50ZWdlcl06IHtcbiAgICBsYWJlbDogJ2ludCcsXG4gICAgY29sb3I6IFlFTExPV1xuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLnJlYWxdOiB7XG4gICAgbGFiZWw6ICdmbG9hdCcsXG4gICAgY29sb3I6IFlFTExPV1xuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLnN0cmluZ106IHtcbiAgICBsYWJlbDogJ3N0cmluZycsXG4gICAgY29sb3I6IEJMVUVcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy50aW1lc3RhbXBdOiB7XG4gICAgbGFiZWw6ICd0aW1lJyxcbiAgICBjb2xvcjogR1JFRU5cbiAgfSxcbiAgLy8gZmllbGQgcGFpcnNcbiAgW0FMTF9GSUVMRF9UWVBFUy5wb2ludF06IHtcbiAgICBsYWJlbDogJ3BvaW50JyxcbiAgICBjb2xvcjogQkxVRTNcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5hcnJheV06IHtcbiAgICBsYWJlbDogJ2FycmF5JyxcbiAgICBjb2xvcjogT1JBTkdFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMub2JqZWN0XToge1xuICAgIGxhYmVsOiAnb2JqZWN0JyxcbiAgICBjb2xvcjogR1JFRU4yXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9DT0xPUlMgPSB7XG4gIGRlZmF1bHQ6IFJFRFxufTtcbmV4cG9ydCBjb25zdCBISUdITElHSF9DT0xPUl8zRDogUkdCQUNvbG9yID0gWzI1NSwgMjU1LCAyNTUsIDYwXTtcbmV4cG9ydCBjb25zdCBDSEFOTkVMX1NDQUxFUyA9IGtleU1pcnJvcih7XG4gIGNvbG9yOiBudWxsLFxuICByYWRpdXM6IG51bGwsXG4gIHNpemU6IG51bGwsXG4gIGNvbG9yQWdncjogbnVsbCxcbiAgc2l6ZUFnZ3I6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgQUdHUkVHQVRJT05fVFlQRVM6IHtcbiAgLy8gZGVmYXVsdFxuICBjb3VudDogJ2NvdW50JztcbiAgLy8gbGluZWFyXG4gIGF2ZXJhZ2U6ICdhdmVyYWdlJztcbiAgbWF4aW11bTogJ21heGltdW0nO1xuICBtaW5pbXVtOiAnbWluaW11bSc7XG4gIG1lZGlhbjogJ21lZGlhbic7XG4gIHN0ZGV2OiAnc3RkZXYnO1xuICBzdW06ICdzdW0nO1xuICB2YXJpYW5jZTogJ3ZhcmlhbmNlJztcbiAgLy8gb3JkaW5hbFxuICBtb2RlOiAnbW9kZSc7XG4gIGNvdW50VW5pcXVlOiAnY291bnRVbmlxdWUnO1xufSA9IHtcbiAgLy8gZGVmYXVsdFxuICBjb3VudDogJ2NvdW50JyxcbiAgLy8gbGluZWFyXG4gIGF2ZXJhZ2U6ICdhdmVyYWdlJyxcbiAgbWF4aW11bTogJ21heGltdW0nLFxuICBtaW5pbXVtOiAnbWluaW11bScsXG4gIG1lZGlhbjogJ21lZGlhbicsXG4gIHN0ZGV2OiAnc3RkZXYnLFxuICBzdW06ICdzdW0nLFxuICB2YXJpYW5jZTogJ3ZhcmlhbmNlJyxcbiAgLy8gb3JkaW5hbFxuICBtb2RlOiAnbW9kZScsXG4gIGNvdW50VW5pcXVlOiAnY291bnRVbmlxdWUnXG59O1xuXG5leHBvcnQgY29uc3QgQUdHUkVHQVRJT05fVFlQRV9PUFRJT05TOiB7aWQ6IHN0cmluZzsgbGFiZWw6IHN0cmluZ31bXSA9IE9iamVjdC5lbnRyaWVzKFxuICBBR0dSRUdBVElPTl9UWVBFU1xuKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHtcbiAgaWQ6IGtleSxcbiAgbGFiZWw6XG4gICAga2V5ID09PSAnc3RkZXYnXG4gICAgICA/ICdTdGQgRGV2aWF0aW9uJ1xuICAgICAgOiBrZXkgPT09ICdjb3VudFVuaXF1ZSdcbiAgICAgID8gJ0NvdW50IFVuaXF1ZSdcbiAgICAgIDogdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJ1xuICAgICAgPyB2YWx1ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHZhbHVlLnNsaWNlKDEpXG4gICAgICA6IHZhbHVlXG59KSk7XG5cbmV4cG9ydCBjb25zdCBsaW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlXSxcbiAgW0NIQU5ORUxfU0NBTEVTLnJhZGl1c106IFtTQ0FMRV9UWVBFUy5zcXJ0XSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVdOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddXG59O1xuXG5leHBvcnQgY29uc3QgbGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmF2ZXJhZ2VdOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWF4aW11bV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGVdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZV0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1lZGlhbl06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGVdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdGRldl06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGVdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdW1dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMudmFyaWFuY2VdOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlXVxuICB9LFxuXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1heGltdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWVkaWFuXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3RkZXZdOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMucG9pbnRdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtTQ0FMRV9UWVBFUy5wb2ludF1cbn07XG5cbmV4cG9ydCBjb25zdCBvcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMgPSB7XG4gIC8vIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiBbU0NBTEVfVFlQRVMub3JkaW5hbCwgU0NBTEVfVFlQRVMubGluZWFyXSxcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubW9kZV06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuY291bnRVbmlxdWVdOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlXVxuICB9LFxuXG4gIC8vIEN1cnJlbnRseSBkb2Vzbid0IHN1cHBvcnQgeWV0XG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHt9XG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydGVkU2NhbGVPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbXSxcbiAgW0NIQU5ORUxfU0NBTEVTLnJhZGl1c106IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtdXG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydEFnZ3JPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge30sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHt9XG59O1xuXG4vKipcbiAqIERlZmF1bHQgYWdncmVnYXRpb24gYXJlIGJhc2VkIG9uIG9jdW50XG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FHR1JFR0FUSU9OID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGVdXG4gIH0sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuY291bnRdOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddXG4gIH1cbn07XG5cbi8qKlxuICogRGVmaW5lIHdoYXQgdHlwZSBvZiBzY2FsZSBvcGVyYXRpb24gaXMgYWxsb3dlZCBvbiBlYWNoIHR5cGUgb2YgZmllbGRzXG4gKi9cbmV4cG9ydCBjb25zdCBGSUVMRF9PUFRTID0ge1xuICBbQUxMX0ZJRUxEX1RZUEVTLnN0cmluZ106IHtcbiAgICB0eXBlOiAnY2F0ZWdvcmljYWwnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5vcmRpbmFsRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLm9yZGluYWxGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9uc1xuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6IGQgPT4gZCxcbiAgICAgIHRvb2x0aXA6IFtdXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLnJlYWxdOiB7XG4gICAgdHlwZTogJ251bWVyaWNhbCcsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLmxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5saW5lYXJGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9uc1xuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6IGQgPT4gZCxcbiAgICAgIHRvb2x0aXA6IFtcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuTk9ORSxcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuREVDSU1BTCxcbiAgICAgICAgVE9PTFRJUF9GT1JNQVRfVFlQRVMuUEVSQ0VOVEFHRVxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy50aW1lc3RhbXBdOiB7XG4gICAgdHlwZTogJ3RpbWUnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5saW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ubm90U3VwcG9ydEFnZ3JPcHRzXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1xuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5EQVRFLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5EQVRFX1RJTUVcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuaW50ZWdlcl06IHtcbiAgICB0eXBlOiAnbnVtZXJpY2FsJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLmxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1xuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5ERUNJTUFMLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5QRVJDRU5UQUdFXG4gICAgICBdXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmJvb2xlYW5dOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5vcmRpbmFsRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLm9yZGluYWxGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9uc1xuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6IGQgPT4gZCxcbiAgICAgIHRvb2x0aXA6IFtUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLCBUT09MVElQX0ZPUk1BVF9UWVBFUy5CT09MRUFOXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5kYXRlXToge1xuICAgIHR5cGU6ICd0aW1lJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ub3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5vcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbVE9PTFRJUF9GT1JNQVRfVFlQRVMuTk9ORSwgVE9PTFRJUF9GT1JNQVRfVFlQRVMuREFURV1cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZ2VvanNvbl06IHtcbiAgICB0eXBlOiAnZ2VvbWV0cnknLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5ub3RTdXBwb3J0ZWRTY2FsZU9wdHMsXG4gICAgICAuLi5ub3RTdXBwb3J0QWdnck9wdHNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+ICcuLi4nLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZ2VvYXJyb3ddOiB7XG4gICAgdHlwZTogJ2dlb21ldHJ5JyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubm90U3VwcG9ydGVkU2NhbGVPcHRzLFxuICAgICAgLi4ubm90U3VwcG9ydEFnZ3JPcHRzXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiAnLi4uJyxcbiAgICAgIHRvb2x0aXA6IFtdXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLm9iamVjdF06IHtcbiAgICB0eXBlOiAnbnVtZXJpY2FsJyxcbiAgICBzY2FsZToge30sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6IGQgPT4gJy4uLicsXG4gICAgICB0b29sdGlwOiBbXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5hcnJheV06IHtcbiAgICB0eXBlOiAnbnVtZXJpY2FsJyxcbiAgICBzY2FsZToge30sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6IGQgPT4gJy4uLicsXG4gICAgICB0b29sdGlwOiBbXVxuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENIQU5ORUxfU0NBTEVfU1VQUE9SVEVEX0ZJRUxEUyA9IE9iamVjdC5rZXlzKENIQU5ORUxfU0NBTEVTKS5yZWR1Y2UoXG4gIChhY2N1LCBrZXkpID0+ICh7XG4gICAgLi4uYWNjdSxcbiAgICBba2V5XTogT2JqZWN0LmtleXMoRklFTERfT1BUUykuZmlsdGVyKFxuICAgICAgZnQgPT4gRklFTERfT1BUU1tmdF0uc2NhbGVba2V5XSAmJiBPYmplY3Qua2V5cyhGSUVMRF9PUFRTW2Z0XS5zY2FsZVtrZXldKS5sZW5ndGhcbiAgICApXG4gIH0pLFxuICB7fSBhcyB7W2lkOiBzdHJpbmddOiBzdHJpbmdbXX1cbik7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0NPTE9SID0ge1xuICB0cmlwQXJjOiAnIzkyMjZDNicsXG4gIGJlZ2ludHJpcF9sYXQ6ICcjMUU5NkJFJyxcbiAgZHJvcG9mZl9sYXQ6ICcjRkY5OTFGJyxcbiAgcmVxdWVzdF9sYXQ6ICcjNTJBMzUzJ1xufTtcblxuLy8gbGV0IHVzZXIgcGFzcyBpbiBkZWZhdWx0IHRvb2x0aXAgZmllbGRzXG5leHBvcnQgY29uc3QgREVGQVVMVF9UT09MVElQX0ZJRUxEUzogYW55W10gPSBbXTtcblxuZXhwb3J0IGNvbnN0IE5PX1ZBTFVFX0NPTE9SOiBSR0JBQ29sb3IgPSBbMCwgMCwgMCwgMF07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BJQ0tJTkdfUkFESVVTID0gMztcblxuZXhwb3J0IGNvbnN0IE9WRVJMQVlfQkxFTkRJTkdTID0ge1xuICBub3JtYWw6IHtcbiAgICBsYWJlbDogJ292ZXJsYXlCbGVuZGluZy5ub3JtYWwnLFxuICAgIHZhbHVlOiAnbm9ybWFsJ1xuICB9LFxuICBzY3JlZW46IHtcbiAgICBsYWJlbDogJ292ZXJsYXlCbGVuZGluZy5zY3JlZW4nLFxuICAgIHZhbHVlOiAnc2NyZWVuJ1xuICB9LFxuICBkYXJrZW46IHtcbiAgICBsYWJlbDogJ292ZXJsYXlCbGVuZGluZy5kYXJrZW4nLFxuICAgIHZhbHVlOiAnZGFya2VuJ1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgTEFZRVJfQkxFTkRJTkdTID0ge1xuICBhZGRpdGl2ZToge1xuICAgIGxhYmVsOiAnbGF5ZXJCbGVuZGluZy5hZGRpdGl2ZScsXG4gICAgYmxlbmRGdW5jOiBbJ1NSQ19BTFBIQScsICdEU1RfQUxQSEEnXSxcbiAgICBibGVuZEVxdWF0aW9uOiAnRlVOQ19BREQnXG4gIH0sXG4gIG5vcm1hbDoge1xuICAgIC8vIHJlZmVyZW5jZSB0b1xuICAgIC8vIGh0dHBzOi8vbGltbnUuY29tL3dlYmdsLWJsZW5kaW5nLXlvdXJlLXByb2JhYmx5LXdyb25nL1xuICAgIGxhYmVsOiAnbGF5ZXJCbGVuZGluZy5ub3JtYWwnLFxuICAgIGJsZW5kRnVuYzogWydTUkNfQUxQSEEnLCAnT05FX01JTlVTX1NSQ19BTFBIQScsICdPTkUnLCAnT05FX01JTlVTX1NSQ19BTFBIQSddLFxuICAgIGJsZW5kRXF1YXRpb246IFsnRlVOQ19BREQnLCAnRlVOQ19BREQnXVxuICB9LFxuICBzdWJ0cmFjdGl2ZToge1xuICAgIGxhYmVsOiAnbGF5ZXJCbGVuZGluZy5zdWJ0cmFjdGl2ZScsXG4gICAgYmxlbmRGdW5jOiBbJ09ORScsICdPTkVfTUlOVVNfRFNUX0NPTE9SJywgJ1NSQ19BTFBIQScsICdEU1RfQUxQSEEnXSxcbiAgICBibGVuZEVxdWF0aW9uOiBbJ0ZVTkNfU1VCVFJBQ1QnLCAnRlVOQ19BREQnXVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgTUFYX0RFRkFVTFRfVE9PTFRJUFMgPSA1O1xuXG5leHBvcnQgY29uc3QgUkVTT0xVVElPTlMgPSBrZXlNaXJyb3Ioe1xuICBPTkVfWDogbnVsbCxcbiAgVFdPX1g6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0lNR19SQVRJT1MgPSBrZXlNaXJyb3Ioe1xuICBTQ1JFRU46IG51bGwsXG4gIEZPVVJfQllfVEhSRUU6IG51bGwsXG4gIFNJWFRFRU5fQllfTklORTogbnVsbCxcbiAgQ1VTVE9NOiBudWxsXG59KTtcblxuZXhwb3J0IHR5cGUgRXhwb3J0SW1hZ2UgPSB7XG4gIHJhdGlvOiBrZXlvZiB0eXBlb2YgRVhQT1JUX0lNR19SQVRJT1M7XG4gIHJlc29sdXRpb246IGtleW9mIHR5cGVvZiBSRVNPTFVUSU9OUztcbiAgbGVnZW5kOiBib29sZWFuO1xuICBtYXBIOiBudW1iZXI7XG4gIG1hcFc6IG51bWJlcjtcbiAgaW1hZ2VTaXplOiB7XG4gICAgem9vbU9mZnNldDogbnVtYmVyO1xuICAgIHNjYWxlOiBudW1iZXI7XG4gICAgaW1hZ2VXOiBudW1iZXI7XG4gICAgaW1hZ2VIOiBudW1iZXI7XG4gIH07XG4gIC8vIGV4cG9ydGluZyBzdGF0ZVxuICBpbWFnZURhdGFVcmk6IHN0cmluZztcbiAgZXhwb3J0aW5nOiBib29sZWFuO1xuICBwcm9jZXNzaW5nOiBib29sZWFuO1xuICBlcnJvcjogRXJyb3IgfCBmYWxzZTtcbiAgZXNjYXBlWGh0bWxGb3JXZWJwYWNrPzogYm9vbGVhbjtcbiAgLy8gVGhpcyBmaWVsZCB3YXMgbm90IGluIHRoZSAuZC50cyBmaWxlXG4gIGNlbnRlcjogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEltYWdlUmF0aW9PcHRpb24gPSB7XG4gIGlkOiBrZXlvZiB0eXBlb2YgRVhQT1JUX0lNR19SQVRJT1M7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGhpZGRlbj86IGJvb2xlYW47XG4gIGdldFNpemU6IChzY3JlZW5XOiBudW1iZXIsIHNjcmVlbkg6IG51bWJlcikgPT4ge3dpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTY3JlZW5SYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLlNDUkVFTixcbiAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpb09yaWdpbmFsU2NyZWVuJyxcbiAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7d2lkdGg6IHNjcmVlblcsIGhlaWdodDogc2NyZWVuSH0pXG59O1xuZXhwb3J0IGNvbnN0IEN1c3RvbVJhdGlvT3B0aW9uOiBJbWFnZVJhdGlvT3B0aW9uID0ge1xuICBpZDogRVhQT1JUX0lNR19SQVRJT1MuQ1VTVE9NLFxuICBoaWRkZW46IHRydWUsXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW9DdXN0b20nLFxuICBnZXRTaXplOiAobWFwVywgbWFwSCkgPT4gKHt3aWR0aDogbWFwVywgaGVpZ2h0OiBtYXBIfSlcbn07XG5leHBvcnQgY29uc3QgRm91ckJ5VGhyZWVSYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLkZPVVJfQllfVEhSRUUsXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW80XzMnLFxuICBnZXRTaXplOiAoc2NyZWVuVywgc2NyZWVuSCkgPT4gKHtcbiAgICB3aWR0aDogc2NyZWVuVyxcbiAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNzUpXG4gIH0pXG59O1xuZXhwb3J0IGNvbnN0IFNpeHRlZW5CeU5pbmVSYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLlNJWFRFRU5fQllfTklORSxcbiAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpbzE2XzknLFxuICBnZXRTaXplOiAoc2NyZWVuVywgc2NyZWVuSCkgPT4gKHtcbiAgICB3aWR0aDogc2NyZWVuVyxcbiAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNTYyNSlcbiAgfSlcbn07XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1HX1JBVElPX09QVElPTlM6IFJlYWRvbmx5QXJyYXk8SW1hZ2VSYXRpb09wdGlvbj4gPSBbXG4gIFNjcmVlblJhdGlvT3B0aW9uLFxuICBDdXN0b21SYXRpb09wdGlvbixcbiAgRm91ckJ5VGhyZWVSYXRpb09wdGlvbixcbiAgU2l4dGVlbkJ5TmluZVJhdGlvT3B0aW9uXG5dO1xuXG5leHBvcnQgdHlwZSBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBrZXlvZiB0eXBlb2YgUkVTT0xVVElPTlM7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGF2YWlsYWJsZTogYm9vbGVhbjtcbiAgc2NhbGU6IG51bWJlcjtcbiAgZ2V0U2l6ZTogKHNjcmVlblc6IG51bWJlciwgc2NyZWVuSDogbnVtYmVyKSA9PiB7d2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXJ9O1xufTtcblxuZXhwb3J0IGNvbnN0IE9uZVhSZXNvbHV0aW9uT3B0aW9uOiBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBSRVNPTFVUSU9OUy5PTkVfWCxcbiAgbGFiZWw6ICcxeCcsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgc2NhbGU6IDEsXG4gIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgIHdpZHRoOiBzY3JlZW5XLFxuICAgIGhlaWdodDogc2NyZWVuSFxuICB9KVxufTtcblxuZXhwb3J0IGNvbnN0IFR3b1hSZXNvbHV0aW9uT3B0aW9uOiBJbWFnZVJlc29sdXRpb25PcHRpb24gPSB7XG4gIGlkOiBSRVNPTFVUSU9OUy5UV09fWCxcbiAgbGFiZWw6ICcyeCcsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgc2NhbGU6IDIsXG4gIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgIHdpZHRoOiBzY3JlZW5XICogMixcbiAgICBoZWlnaHQ6IHNjcmVlbkggKiAyXG4gIH0pXG59O1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0lNR19SRVNPTFVUSU9OX09QVElPTlM6IFJlYWRvbmx5QXJyYXk8SW1hZ2VSZXNvbHV0aW9uT3B0aW9uPiA9IFtcbiAgT25lWFJlc29sdXRpb25PcHRpb24sXG4gIFR3b1hSZXNvbHV0aW9uT3B0aW9uXG5dO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfVFlQRSA9IGtleU1pcnJvcih7XG4gIENTVjogbnVsbFxuICAvLyBTSEFQRUZJTEU6IG51bGwsXG4gIC8vIEpTT046IG51bGwsXG4gIC8vIEdFT0pTT046IG51bGwsXG4gIC8vIFRPUE9KU09OOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyA9IFtcbiAge1xuICAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLkNTVixcbiAgICBsYWJlbDogRVhQT1JUX0RBVEFfVFlQRS5DU1YudG9Mb3dlckNhc2UoKSxcbiAgICBhdmFpbGFibGU6IHRydWVcbiAgfVxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuU0hBUEVGSUxFLFxuICAvLyAgIGxhYmVsOiAnc2hhcGVmaWxlJyxcbiAgLy8gICBhdmFpbGFibGU6IGZhbHNlXG4gIC8vIH0sXG4gIC8vIHtcbiAgLy8gICBpZDogRVhQT1JUX0RBVEFfVFlQRS5KU09OLFxuICAvLyAgIGxhYmVsOiAnanNvbicsXG4gIC8vICAgYXZhaWxhYmxlOiBmYWxzZVxuICAvLyB9LFxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuR0VPSlNPTixcbiAgLy8gICBsYWJlbDogJ2dlb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfSxcbiAgLy8ge1xuICAvLyAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLlRPUE9KU09OLFxuICAvLyAgIGxhYmVsOiAndG9wb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfVxuXTtcblxuLy8gRXhwb3J0IG1hcCB0eXBlc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUUyA9IGtleU1pcnJvcih7XG4gIEhUTUw6IG51bGwsXG4gIEpTT046IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0hUTUxfTUFQX01PREVTID0ga2V5TWlycm9yKHtcbiAgUkVBRDogbnVsbCxcbiAgRURJVDogbnVsbFxufSk7XG5cbi8vIEV4cG9ydCBtYXAgb3B0aW9uc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMgPSBPYmplY3QuZW50cmllcyhFWFBPUlRfTUFQX0ZPUk1BVFMpLm1hcChcbiAgKGVudHJ5OiBbc3RyaW5nLCBhbnldKSA9PiAoe1xuICAgIGlkOiBlbnRyeVswXSxcbiAgICBsYWJlbDogZW50cnlbMV0udG9Mb3dlckNhc2UoKSxcbiAgICBhdmFpbGFibGU6IHRydWVcbiAgfSlcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIVE1MTWFwTW9kZVRpbGVVcmwobW9kZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGBodHRwczovL2QxYTNmNHNwYXp6cnA0LmNsb3VkZnJvbnQubmV0L2tlcGxlci5nbC9kb2N1bWVudGF0aW9uL21hcC0ke21vZGUudG9Mb3dlckNhc2UoKX0tbW9kZS5wbmdgO1xufVxuXG5leHBvcnQgY29uc3QgRVhQT1JUX0hUTUxfTUFQX01PREVfT1BUSU9OUyA9IE9iamVjdC5lbnRyaWVzKEVYUE9SVF9IVE1MX01BUF9NT0RFUykubWFwKFxuICAoZW50cnk6IFtzdHJpbmcsIGFueV0pID0+ICh7XG4gICAgaWQ6IGVudHJ5WzBdLFxuICAgIGxhYmVsOiBgbW9kYWwuZXhwb3J0TWFwLmh0bWwuJHtlbnRyeVsxXS50b0xvd2VyQ2FzZSgpfWAsXG4gICAgYXZhaWxhYmxlOiB0cnVlLFxuICAgIHVybDogZ2V0SFRNTE1hcE1vZGVUaWxlVXJsKGVudHJ5WzFdKVxuICB9KVxuKTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfVVVJRF9DT1VOVCA9IDY7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05PVElGSUNBVElPTl9NRVNTQUdFID0gJ01FU1NBR0VfTk9UX1BST1ZJREVEJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTk9USUZJQ0FUSU9OX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgaW5mbzogbnVsbCxcbiAgZXJyb3I6IG51bGwsXG4gIHdhcm5pbmc6IG51bGwsXG4gIHN1Y2Nlc3M6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9OT1RJRklDQVRJT05fVE9QSUNTID0ga2V5TWlycm9yKHtcbiAgZ2xvYmFsOiBudWxsLFxuICBmaWxlOiBudWxsXG59KTtcblxuLy8gTWluaW11bSB0aW1lIGJldHdlZW4gaWRlbnRpY2FsIG5vdGlmaWNhdGlvbnMgYWJvdXQgZGVjay5nbCBlcnJvcnNcbmV4cG9ydCBjb25zdCBUSFJPVFRMRV9OT1RJRklDQVRJT05fVElNRSA9IDMzMDtcblxuLy8gQW5pbWF0aW9uXG5leHBvcnQgY29uc3QgQkFTRV9TUEVFRCA9IDYwMDtcbmV4cG9ydCBjb25zdCBGUFMgPSA2MDtcblxuLyoqXG4gKiA0IEFuaW1hdGlvbiBXaW5kb3cgVHlwZXNcbiAqIDEuIGZyZWVcbiAqICB8LT4gIHwtPlxuICogQ3VycmVudCB0aW1lIGlzIGEgZml4ZWQgcmFuZ2UsIGFuaW1hdGlvbiBjb250cm9sbGVyIGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lcyBjb250aW51b3VzbHkgdG8gYW5pbWF0aW9uIGEgbW92aW5nIHdpbmRvd1xuICogVGhlIGluY3JlbWVudCBpZCBiYXNlZCBvbiBkb21haW4gLyBCQVNFX1NQRUVEICogU1BFRURcbiAqXG4gKiAyLiBpbmNyZW1lbnRhbFxuICogfCAgICB8LT5cbiAqIFNhbWUgYXMgZnJlZSwgY3VycmVudCB0aW1lIGlzIGEgZ3Jvd2luZyByYW5nZSwgb25seSB0aGUgbWF4IHZhbHVlIG9mIHJhbmdlIGluY3JlbWVudCBkdXJpbmcgYW5pbWF0aW9uLlxuICogVGhlIGluY3JlbWVudCBpcyBhbHNvIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDMuIHBvaW50XG4gKiBvIC0+IG9cbiAqIEN1cnJlbnQgdGltZSBpcyBhIHBvaW50LCBhbmltYXRpb24gY29udHJvbGxlciBjYWxscyBuZXh0IGFuaW1hdGlvbiBmcmFtZSBjb250aW51b3VzbHkgdG8gYW5pbWF0aW9uIGEgbW92aW5nIHBvaW50XG4gKiBUaGUgaW5jcmVtZW50IGlzIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDQuIGludGVydmFsXG4gKiBvIH4+IG9cbiAqIEN1cnJlbnQgdGltZSBpcyBhIHBvaW50LiBBbiBhcnJheSBvZiBzb3J0ZWQgdGltZSBzdGVwcyBuZWVkIHRvIGJlIHByb3ZpZGVkLlxuICogYW5pbWF0aW9uIGNvbnRyb2xsZXIgY2FsbHMgbmV4dCBhbmltYXRpb24gYXQgYSBpbnRlcnZhbCB3aGVuIHRoZSBwb2ludCBqdW1wcyB0byB0aGUgbmV4dCBzdGVwXG4gKi9cbmV4cG9ydCBjb25zdCBBTklNQVRJT05fV0lORE9XID0ga2V5TWlycm9yKHtcbiAgZnJlZTogbnVsbCxcbiAgaW5jcmVtZW50YWw6IG51bGwsXG4gIHBvaW50OiBudWxsLFxuICBpbnRlcnZhbDogbnVsbFxufSk7XG5leHBvcnQgY29uc3QgREVGQVVMVF9USU1FX0ZPUk1BVCA9ICdNTS9ERC9ZWSBISDptbTpzc2EnO1xuZXhwb3J0IGNvbnN0IFNQRUVEX0NPTlRST0xfUkFOR0U6IFtudW1iZXIsIG51bWJlcl0gPSBbMCwgMTBdO1xuZXhwb3J0IGNvbnN0IFNQRUVEX0NPTlRST0xfU1RFUCA9IDAuMDAxO1xuXG4vLyBHZW9jb2RlclxuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0RBVEFTRVRfTkFNRSA9ICdnZW9jb2Rlcl9kYXRhc2V0JztcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9MQVlFUl9JRCA9ICdnZW9jb2Rlcl9sYXllcic7XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfR0VPX09GRlNFVCA9IDAuMDU7XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfSUNPTl9DT0xPUjogW251bWJlciwgbnVtYmVyLCBudW1iZXJdID0gWzI1NSwgMCwgMF07XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfSUNPTl9TSVpFID0gODA7XG5cbi8vIEVkaXRvclxuZXhwb3J0IGNvbnN0IEVESVRPUl9MQVlFUl9JRCA9ICdrZXBsZXJfZWRpdG9yX2xheWVyJztcbmV4cG9ydCBjb25zdCBFRElUT1JfTEFZRVJfUElDS0lOR19SQURJVVMgPSA2O1xuZXhwb3J0IGNvbnN0IEVESVRPUl9NT0RFUyA9IHtcbiAgRFJBV19QT0xZR09OOiAnRFJBV19QT0xZR09OJyxcbiAgRFJBV19SRUNUQU5HTEU6ICdEUkFXX1JFQ1RBTkdMRScsXG4gIEVESVQ6ICdFRElUX1ZFUlRFWCdcbn07XG5cbmV4cG9ydCBjb25zdCBQTE9UX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgaGlzdG9ncmFtOiBudWxsLFxuICBsaW5lQ2hhcnQ6IG51bGxcbn0pO1xuXG4vLyBGaWx0ZXJcbmV4cG9ydCBjb25zdCBJTklUX0ZJTFRFUl9JVEVNU19JTl9EUk9QRE9XTiA9IDEwMDtcblxuLy8gR1BVIEZpbHRlcmluZ1xuLyoqXG4gKiBNYXggbnVtYmVyIG9mIGZpbHRlciB2YWx1ZSBidWZmZXJzIHRoYXQgZGVjay5nbCBwcm92aWRlc1xuICovXG5leHBvcnQgY29uc3QgTUFYX0dQVV9GSUxURVJTID0gNDtcbmV4cG9ydCBjb25zdCBNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTiA9IHtcbiAgd2lkdGg6IDMwMCxcbiAgaGVpZ2h0OiAyMDBcbn07XG5cbmV4cG9ydCBjb25zdCBNQVBfSU5GT19DSEFSQUNURVIgPSB7XG4gIHRpdGxlOiAxMDAsXG4gIGRlc2NyaXB0aW9uOiAxMDBcbn07XG5cbi8vIExvYWQgZGF0YVxuZXhwb3J0IGNvbnN0IExPQURJTkdfTUVUSE9EUyA9IGtleU1pcnJvcih7XG4gIHVwbG9hZDogbnVsbCxcbiAgc3RvcmFnZTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZFQVRVUkVfRkxBR1MgPSB7fTtcblxuZXhwb3J0IGNvbnN0IERBVEFTRVRfRk9STUFUUyA9IGtleU1pcnJvcih7XG4gIHJvdzogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgY3N2OiBudWxsLFxuICBrZXBsZXJnbDogbnVsbCxcbiAgYXJyb3c6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgTUFQX0NPTlRST0xTID0ga2V5TWlycm9yKHtcbiAgdmlzaWJsZUxheWVyczogbnVsbCxcbiAgbWFwTGVnZW5kOiBudWxsLFxuICB0b2dnbGUzZDogbnVsbCxcbiAgc3BsaXRNYXA6IG51bGwsXG4gIG1hcERyYXc6IG51bGwsXG4gIG1hcExvY2FsZTogbnVsbCxcbiAgZWZmZWN0OiBudWxsXG59KTtcblxuLyoqXG4gKiBBIG11bHRpcGxpZXIgZm9yIHNjcmVlbi1zcGFjZSB3aWR0aC9zY2FsZSBmb3IgQXJjLCBMaW5lLCBJY29uIGFuZCBUZXh0IGxheWVycy5cbiAqIFJlcXVpcmVkIGluIG9yZGVyIHRvIG1haW50YWluIHRoZSBzYW1lIGFwcGVhcmFuY2UgYWZ0ZXIgdXBncmFkaW5nIHRvIGRlY2suZ2wgdjguNS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS92aXNnbC9kZWNrLmdsL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZS1ndWlkZS5tZFxuICovXG5leHBvcnQgY29uc3QgUFJPSkVDVEVEX1BJWEVMX1NJWkVfTVVMVElQTElFUiA9IDIgLyAzO1xuXG4vKipcbiAqIE1heGltdW0gdmFsdWUgZm9yIHRleHQgb3V0bGluZSB3aWR0aFxuICovXG5leHBvcnQgY29uc3QgVEVYVF9PVVRMSU5FX01VTFRJUExJRVIgPSA1O1xuXG5leHBvcnQgY29uc3QgZGF0YVRlc3RJZHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGluZm9JY29uOiAnaW5mby1pY29uJyxcbiAgd2FybmluZ0ljb246ICd3YXJuaW5nLWljb24nLFxuICBlcnJvckljb246ICdlcnJvci1pY29uJyxcbiAgc3VjY2Vzc0ljb246ICdzdWNjZXNzLWljb24nLFxuICBjaGVja21hcmtJY29uOiAnY2hlY2ttYXJrLWljb24nLFxuICBzb3J0YWJsZUxheWVySXRlbTogJ3NvcnRhYmxlLWxheWVyLWl0ZW0nLFxuICBzdGF0aWNMYXllckl0ZW06ICdzdGF0aWMtbGF5ZXItaXRlbScsXG4gIGxheWVyVGl0bGVFZGl0b3I6ICdsYXllcl9fdGl0bGVfX2VkaXRvcicsXG4gIHJlbW92ZUxheWVyQWN0aW9uOiAncmVtb3ZlLWxheWVyLWFjdGlvbicsXG4gIGxheWVyUGFuZWw6ICdsYXllci1wYW5lbCcsXG4gIHNvcnRhYmxlRWZmZWN0SXRlbTogJ3NvcnRhYmxlLWVmZmVjdC1pdGVtJyxcbiAgc3RhdGljRWZmZWN0SXRlbTogJ3N0YXRpYy1lZmZlY3QtaXRlbScsXG4gIHByb3ZpZGVyTG9hZGluZzogJ3Byb3ZpZGVyLWxvYWRpbmcnLFxuICBwcm92aWRlck1hcEluZm9QYW5lbDogJ3Byb3ZpZGVyLW1hcC1pbmZvLXBhbmVsJyxcbiAgcHJvdmlkZXJTZWxlY3Q6ICdwcm92aWRlci1zZWxlY3QnLFxuICBjbG91ZEhlYWRlcjogJ2Nsb3VkLWhlYWRlcicsXG4gIHByb3ZpZGVyU2hhcmVNYXA6ICdwcm92aWRlci1zaGFyZS1tYXAnXG59O1xuXG4vLyBFZmZlY3RzXG5leHBvcnQgY29uc3QgREVGQVVMVF9USU1FWk9ORSA9ICdVVEMnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUE9TVF9QUk9DRVNTSU5HX0VGRkVDVF9UWVBFOiBzdHJpbmcgPSAnaW5rJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTElHSFRfQ09MT1I6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSA9IFsyNTUsIDI1NSwgMjU1XTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xJR0hUX0lOVEVOU0lUWSA9IDE7XG5leHBvcnQgY29uc3QgREVGQVVMVF9TSEFET1dfSU5URU5TSVRZID0gMC41O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU0hBRE9XX0NPTE9SOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gPSBbMCwgMCwgMF07XG5cbmV4cG9ydCBjb25zdCBMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVF9USU1FX01PREVTID0ge1xuICBwaWNrOiAncGljaycgYXMgJ3BpY2snLFxuICBjdXJyZW50OiAnY3VycmVudCcgYXMgJ2N1cnJlbnQnLFxuICBhbmltYXRpb246ICdhbmltYXRpb24nIGFzICdhbmltYXRpb24nXG59O1xuZXhwb3J0IHR5cGUgTGlnaHRBbmRTaGFkb3dFZmZlY3RUaW1lTW9kZSA9ICdwaWNrJyB8ICdjdXJyZW50JyB8ICdhbmltYXRpb24nO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTElHSFRfQU5EX1NIQURPV19QUk9QUzoge1xuICB0aW1lc3RhbXA6IG51bWJlcjtcbiAgdGltZU1vZGU6IExpZ2h0QW5kU2hhZG93RWZmZWN0VGltZU1vZGU7XG4gIHNoYWRvd0ludGVuc2l0eTogbnVtYmVyO1xuICBzaGFkb3dDb2xvcjogW251bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICBzdW5MaWdodENvbG9yOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gIHN1bkxpZ2h0SW50ZW5zaXR5OiBudW1iZXI7XG4gIGFtYmllbnRMaWdodENvbG9yOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gIGFtYmllbnRMaWdodEludGVuc2l0eTogbnVtYmVyO1xufSA9IHtcbiAgdGltZXN0YW1wOiBEYXRlLm5vdygpLFxuICB0aW1lTW9kZTogTElHSFRfQU5EX1NIQURPV19FRkZFQ1RfVElNRV9NT0RFUy5waWNrIGFzIExpZ2h0QW5kU2hhZG93RWZmZWN0VGltZU1vZGUsXG4gIHNoYWRvd0ludGVuc2l0eTogREVGQVVMVF9TSEFET1dfSU5URU5TSVRZLFxuICBzaGFkb3dDb2xvcjogWy4uLkRFRkFVTFRfU0hBRE9XX0NPTE9SXSBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0sXG4gIHN1bkxpZ2h0Q29sb3I6IFsuLi5ERUZBVUxUX0xJR0hUX0NPTE9SXSBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0sXG4gIHN1bkxpZ2h0SW50ZW5zaXR5OiBERUZBVUxUX0xJR0hUX0lOVEVOU0lUWSxcbiAgYW1iaWVudExpZ2h0Q29sb3I6IFsuLi5ERUZBVUxUX0xJR0hUX0NPTE9SXSBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0sXG4gIGFtYmllbnRMaWdodEludGVuc2l0eTogREVGQVVMVF9MSUdIVF9JTlRFTlNJVFlcbn07XG5cbmV4cG9ydCBjb25zdCBMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVDogRWZmZWN0RGVzY3JpcHRpb24gPSB7XG4gIHR5cGU6ICdsaWdodEFuZFNoYWRvdycsXG4gIG5hbWU6ICdMaWdodCAmIFNoYWRvdycsXG4gIHBhcmFtZXRlcnM6IFtcbiAgICB7bmFtZTogJ3RpbWVzdGFtcCcsIG1pbjogMCwgbWF4OiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUn0sXG4gICAge25hbWU6ICdzaGFkb3dJbnRlbnNpdHknLCBtaW46IDAsIG1heDogMSwgZGVmYXVsdFZhbHVlOiBERUZBVUxUX1NIQURPV19JTlRFTlNJVFl9LFxuICAgIHtuYW1lOiAnc3VuTGlnaHRJbnRlbnNpdHknLCBtaW46IDAsIG1heDogMSwgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0xJR0hUX0lOVEVOU0lUWX0sXG4gICAge25hbWU6ICdhbWJpZW50TGlnaHRJbnRlbnNpdHknLCBtaW46IDAsIG1heDogMSwgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0xJR0hUX0lOVEVOU0lUWX0sXG4gICAge25hbWU6ICdzaGFkb3dDb2xvcicsIHR5cGU6ICdjb2xvcicsIG1pbjogMCwgbWF4OiAyNTUsIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9TSEFET1dfQ09MT1J9LFxuICAgIHtuYW1lOiAnc3VuTGlnaHRDb2xvcicsIHR5cGU6ICdjb2xvcicsIG1pbjogMCwgbWF4OiAyNTUsIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9MSUdIVF9DT0xPUn0sXG4gICAge25hbWU6ICdhbWJpZW50TGlnaHRDb2xvcicsIHR5cGU6ICdjb2xvcicsIG1pbjogMCwgbWF4OiAyNTUsIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9MSUdIVF9DT0xPUn1cbiAgXVxufTtcblxuZXhwb3J0IGNvbnN0IFBPU1RQUk9DRVNTSU5HX0VGRkVDVFM6IHtba2V5OiBzdHJpbmddOiBFZmZlY3REZXNjcmlwdGlvbn0gPSB7XG4gIGluazoge1xuICAgIHR5cGU6ICdpbmsnLFxuICAgIG5hbWU6ICdJbmsnLFxuICAgIHBhcmFtZXRlcnM6IFt7bmFtZTogJ3N0cmVuZ3RoJywgbWluOiAwLCBtYXg6IDF9XVxuICB9LFxuICBicmlnaHRuZXNzQ29udHJhc3Q6IHtcbiAgICB0eXBlOiAnYnJpZ2h0bmVzc0NvbnRyYXN0JyxcbiAgICBuYW1lOiAnQnJpZ2h0bmVzcyAmIENvbnRyYXN0JyxcbiAgICBwYXJhbWV0ZXJzOiBbXG4gICAgICB7bmFtZTogJ2JyaWdodG5lc3MnLCBtaW46IC0xLCBtYXg6IDF9LFxuICAgICAge25hbWU6ICdjb250cmFzdCcsIG1pbjogLTEsIG1heDogMX1cbiAgICBdXG4gIH0sXG4gIGh1ZVNhdHVyYXRpb246IHtcbiAgICB0eXBlOiAnaHVlU2F0dXJhdGlvbicsXG4gICAgbmFtZTogJ0h1ZSAmIFNhdHVyYXRpb24nLFxuICAgIHBhcmFtZXRlcnM6IFtcbiAgICAgIHtuYW1lOiAnaHVlJywgbWluOiAtMSwgbWF4OiAxfSxcbiAgICAgIHtuYW1lOiAnc2F0dXJhdGlvbicsIGRlZmF1bHRWYWx1ZTogMC4yNSwgbWluOiAtMSwgbWF4OiAxfVxuICAgIF1cbiAgfSxcbiAgdmlicmFuY2U6IHtcbiAgICB0eXBlOiAndmlicmFuY2UnLFxuICAgIG5hbWU6ICdWaWJyYW5jZScsXG4gICAgcGFyYW1ldGVyczogW3tuYW1lOiAnYW1vdW50JywgZGVmYXVsdFZhbHVlOiAwLjUsIG1pbjogLTEsIG1heDogMX1dXG4gIH0sXG4gIHNlcGlhOiB7XG4gICAgdHlwZTogJ3NlcGlhJyxcbiAgICBuYW1lOiAnU2VwaWEnLFxuICAgIHBhcmFtZXRlcnM6IFt7bmFtZTogJ2Ftb3VudCcsIG1pbjogMCwgbWF4OiAxfV1cbiAgfSxcbiAgZG90U2NyZWVuOiB7XG4gICAgdHlwZTogJ2RvdFNjcmVlbicsXG4gICAgbmFtZTogJ0RvdCBTY3JlZW4nLFxuICAgIHBhcmFtZXRlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2FuZ2xlJyxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IE1hdGguUEkgLyAyXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnc2l6ZScsXG4gICAgICAgIG1pbjogMSxcbiAgICAgICAgbWF4OiAyMFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2NlbnRlcicsXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIGxhYmVsOiBbJ0NlbnRlciBYJywgJ0NlbnRlciBZJ10sXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogWzAuNSwgMC41XSxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IDFcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIGNvbG9ySGFsZnRvbmU6IHtcbiAgICB0eXBlOiAnY29sb3JIYWxmdG9uZScsXG4gICAgbmFtZTogJ0NvbG9yIEhhbGZ0b25lJyxcbiAgICBwYXJhbWV0ZXJzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdhbmdsZScsXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiBNYXRoLlBJIC8gMlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3NpemUnLFxuICAgICAgICBtaW46IDEsXG4gICAgICAgIG1heDogMjBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdjZW50ZXInLFxuICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICBsYWJlbDogWydDZW50ZXIgWCcsICdDZW50ZXIgWSddLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IFswLjUsIDAuNV0sXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiAxXG4gICAgICB9XG4gICAgXVxuICB9LFxuICBub2lzZToge1xuICAgIHR5cGU6ICdub2lzZScsXG4gICAgbmFtZTogJ05vaXNlJyxcbiAgICBwYXJhbWV0ZXJzOiBbe25hbWU6ICdhbW91bnQnLCBtaW46IDAsIG1heDogMX1dXG4gIH0sXG4gIHRyaWFuZ2xlQmx1cjoge1xuICAgIHR5cGU6ICd0cmlhbmdsZUJsdXInLFxuICAgIG5hbWU6ICdCbHVyIChUcmlhbmdsZSknLFxuICAgIHBhcmFtZXRlcnM6IFt7bmFtZTogJ3JhZGl1cycsIG1pbjogMCwgbWF4OiAxMDB9XVxuICB9LFxuICB6b29tQmx1cjoge1xuICAgIHR5cGU6ICd6b29tQmx1cicsXG4gICAgbmFtZTogJ0JsdXIgKFpvb20pJyxcbiAgICBwYXJhbWV0ZXJzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzdHJlbmd0aCcsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogMC4wNSxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IDFcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdjZW50ZXInLFxuICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICBsYWJlbDogWydDZW50ZXIgWCcsICdDZW50ZXIgWSddLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IFswLjUsIDAuNV0sXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiAxXG4gICAgICB9XG4gICAgXVxuICB9LFxuICB0aWx0U2hpZnQ6IHtcbiAgICB0eXBlOiAndGlsdFNoaWZ0JyxcbiAgICBuYW1lOiAnQmx1ciAoVGlsdCBTaGlmdCknLFxuICAgIHBhcmFtZXRlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2JsdXJSYWRpdXMnLFxuICAgICAgICBsYWJlbDogJ0JsdXInLFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogNTBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdncmFkaWVudFJhZGl1cycsXG4gICAgICAgIGxhYmVsOiAnR3JhZGllbnQnLFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogNDAwXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnc3RhcnQnLFxuICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICBsYWJlbDogWydTdGFydCcsIGZhbHNlXSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBbMC4wLCAwLjBdLFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogMVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2VuZCcsXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIGxhYmVsOiBbJ0VuZCcsIGZhbHNlXSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBbMSwgMV0sXG4gICAgICAgIG1pbjogMCxcbiAgICAgICAgbWF4OiAxXG4gICAgICB9XG4gICAgXVxuICB9LFxuICBlZGdlV29yazoge1xuICAgIHR5cGU6ICdlZGdlV29yaycsXG4gICAgbmFtZTogJ0VkZ2Ugd29yaycsXG4gICAgcGFyYW1ldGVyczogW3tuYW1lOiAncmFkaXVzJywgbWluOiAxLCBtYXg6IDUwfV1cbiAgfSxcbiAgdmlnbmV0dGU6IHtcbiAgICB0eXBlOiAndmlnbmV0dGUnLFxuICAgIG5hbWU6ICdWaWduZXR0ZScsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAge25hbWU6ICdhbW91bnQnLCBtaW46IDAsIG1heDogMX0sXG4gICAgICB7bmFtZTogJ3JhZGl1cycsIG1pbjogMCwgbWF4OiAxfVxuICAgIF1cbiAgfSxcbiAgbWFnbmlmeToge1xuICAgIHR5cGU6ICdtYWduaWZ5JyxcbiAgICBuYW1lOiAnTWFnbmlmeScsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnc2NyZWVuWFknLFxuICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICBsYWJlbDogWydQb3NpdGlvbiBYJywgJ1Bvc2l0aW9uIFknXSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBbMC41LCAwLjVdLFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIG1heDogMVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3JhZGl1c1BpeGVscycsXG4gICAgICAgIGxhYmVsOiAnU2l6ZScsXG4gICAgICAgIG1pbjogMTAsXG4gICAgICAgIG1heDogNTAwXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnem9vbScsXG4gICAgICAgIG1pbjogMC41LFxuICAgICAgICBtYXg6IDUwXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnYm9yZGVyV2lkdGhQaXhlbHMnLFxuICAgICAgICBsYWJlbDogJ0JvcmRlciBXaWR0aCcsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogMyxcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBtYXg6IDUwXG4gICAgICB9XG4gICAgXVxuICB9LFxuICBoZXhhZ29uYWxQaXhlbGF0ZToge1xuICAgIHR5cGU6ICdoZXhhZ29uYWxQaXhlbGF0ZScsXG4gICAgbmFtZTogJ0hleGFnb25hbCBQaXhlbGF0ZScsXG4gICAgcGFyYW1ldGVyczogW3tuYW1lOiAnc2NhbGUnLCBkZWZhdWx0VmFsdWU6IDIwLCBtaW46IDEsIG1heDogNTB9XVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgRUZGRUNUX0RFU0NSSVBUSU9OUzogRWZmZWN0RGVzY3JpcHRpb25bXSA9IFtcbiAgTElHSFRfQU5EX1NIQURPV19FRkZFQ1QsXG4gIC4uLk9iamVjdC5rZXlzKFBPU1RQUk9DRVNTSU5HX0VGRkVDVFMpLm1hcChrZXlOYW1lID0+IFBPU1RQUk9DRVNTSU5HX0VGRkVDVFNba2V5TmFtZV0pXG5dO1xuXG5leHBvcnQgdHlwZSBFZmZlY3RUeXBlID1cbiAgfCAnaW5rJ1xuICB8ICdicmlnaHRuZXNzQ29udHJhc3QnXG4gIHwgJ2h1ZVNhdHVyYXRpb24nXG4gIHwgJ3ZpYnJhbmNlJ1xuICB8ICdzZXBpYSdcbiAgfCAnZG90U2NyZWVuJ1xuICB8ICdjb2xvckhhbGZ0b25lJ1xuICB8ICdub2lzZSdcbiAgfCAndHJpYW5nbGVCbHVyJ1xuICB8ICd6b29tQmx1cidcbiAgfCAndGlsdFNoaWZ0J1xuICB8ICdlZGdlV29yaydcbiAgfCAndmlnbmV0dGUnXG4gIHwgJ21hZ25pZnknXG4gIHwgJ2hleGFnb25hbFBpeGVsYXRlJ1xuICB8ICdsaWdodEFuZFNoYWRvdyc7XG4iXX0=
|