@kepler.gl/constants 3.0.0-alpha.1 → 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 +44 -30
- package/dist/default-settings.js +306 -81
- package/dist/dnd-layer-items.js +3 -21
- package/dist/index.js +1 -21
- package/dist/keyevent.js +7 -22
- package/dist/layers.js +7 -23
- package/dist/tooltip.js +5 -22
- package/dist/user-feedbacks.js +5 -22
- package/dist/user-guides.js +5 -22
- package/package.json +6 -6
- package/umd/keplergl.min.js +3 -20
package/dist/default-settings.js
CHANGED
|
@@ -1,23 +1,3 @@
|
|
|
1
|
-
// Copyright (c) 2023 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,11 +6,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
26
6
|
value: true
|
|
27
7
|
});
|
|
28
8
|
exports.getHTMLMapModeTileUrl = getHTMLMapModeTileUrl;
|
|
29
|
-
exports.
|
|
30
|
-
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;
|
|
31
11
|
|
|
32
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
33
13
|
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
34
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
35
17
|
|
|
36
18
|
var _keymirror = _interopRequireDefault(require("keymirror"));
|
|
@@ -152,7 +134,7 @@ var KEPLER_GL_NAME = 'kepler.gl'; // __PACKAGE_VERSION__ is automatically inject
|
|
|
152
134
|
// an empty string which will allow us to retrieve the latest umd version
|
|
153
135
|
|
|
154
136
|
exports.KEPLER_GL_NAME = KEPLER_GL_NAME;
|
|
155
|
-
var KEPLER_GL_VERSION = "3.0.0-alpha.
|
|
137
|
+
var KEPLER_GL_VERSION = "3.0.0-alpha.2";
|
|
156
138
|
exports.KEPLER_GL_VERSION = KEPLER_GL_VERSION;
|
|
157
139
|
var KEPLER_GL_WEBSITE = 'http://kepler.gl/';
|
|
158
140
|
exports.KEPLER_GL_WEBSITE = KEPLER_GL_WEBSITE;
|
|
@@ -226,7 +208,7 @@ var PANELS = SIDEBAR_PANELS; // MAP STYLES
|
|
|
226
208
|
exports.PANELS = PANELS;
|
|
227
209
|
var DEFAULT_BLDG_COLOR = '#D1CEC7';
|
|
228
210
|
exports.DEFAULT_BLDG_COLOR = DEFAULT_BLDG_COLOR;
|
|
229
|
-
var DEFAULT_BACKGROUND_COLOR = '#
|
|
211
|
+
var DEFAULT_BACKGROUND_COLOR = '#000000'; // assists in identifying basemap background layers when auto-determining the backgroundColor
|
|
230
212
|
|
|
231
213
|
exports.DEFAULT_BACKGROUND_COLOR = DEFAULT_BACKGROUND_COLOR;
|
|
232
214
|
var BASE_MAP_BACKGROUND_LAYER_IDS = ['background', 'bg', 'land', 'water'];
|
|
@@ -338,50 +320,59 @@ exports.NO_BASEMAP_ICON = NO_BASEMAP_ICON;
|
|
|
338
320
|
var DEFAULT_MAP_STYLES = [{
|
|
339
321
|
id: NO_MAP_ID,
|
|
340
322
|
label: 'No Basemap',
|
|
341
|
-
url:
|
|
323
|
+
url: '',
|
|
342
324
|
icon: NO_BASEMAP_ICON,
|
|
343
325
|
layerGroups: [BACKGROUND_LAYER_GROUP],
|
|
344
326
|
colorMode: BASE_MAP_COLOR_MODES.NONE,
|
|
345
327
|
style: EMPTY_MAPBOX_STYLE
|
|
346
328
|
}, {
|
|
347
|
-
id: 'dark',
|
|
348
|
-
label: '
|
|
349
|
-
url: '
|
|
350
|
-
icon: "".concat(BASEMAP_ICON_PREFIX, "/
|
|
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'
|
|
336
|
+
}, {
|
|
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"),
|
|
351
341
|
layerGroups: DEFAULT_LAYER_GROUPS,
|
|
352
342
|
colorMode: BASE_MAP_COLOR_MODES.DARK,
|
|
353
|
-
complimentaryStyleId: '
|
|
343
|
+
complimentaryStyleId: 'positron-nolabels'
|
|
354
344
|
}, {
|
|
355
|
-
id: '
|
|
356
|
-
label: '
|
|
357
|
-
url: '
|
|
358
|
-
icon: "".concat(BASEMAP_ICON_PREFIX, "/
|
|
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"),
|
|
359
349
|
layerGroups: DEFAULT_LAYER_GROUPS,
|
|
360
350
|
colorMode: BASE_MAP_COLOR_MODES.LIGHT,
|
|
361
|
-
complimentaryStyleId: 'dark'
|
|
351
|
+
complimentaryStyleId: 'dark-matter'
|
|
362
352
|
}, {
|
|
363
|
-
id: '
|
|
364
|
-
label: '
|
|
365
|
-
url: '
|
|
366
|
-
icon: "".concat(BASEMAP_ICON_PREFIX, "/
|
|
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"),
|
|
367
357
|
layerGroups: DEFAULT_LAYER_GROUPS,
|
|
368
358
|
colorMode: BASE_MAP_COLOR_MODES.LIGHT,
|
|
369
|
-
complimentaryStyleId: '
|
|
359
|
+
complimentaryStyleId: 'dark-matter-nolabels'
|
|
370
360
|
}, {
|
|
371
|
-
id: '
|
|
372
|
-
label: '
|
|
373
|
-
url: '
|
|
374
|
-
icon: "".concat(BASEMAP_ICON_PREFIX, "/
|
|
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"),
|
|
375
365
|
layerGroups: DEFAULT_LAYER_GROUPS,
|
|
376
|
-
colorMode: BASE_MAP_COLOR_MODES.
|
|
377
|
-
complimentaryStyleId: '
|
|
366
|
+
colorMode: BASE_MAP_COLOR_MODES.LIGHT,
|
|
367
|
+
complimentaryStyleId: 'dark-matter'
|
|
378
368
|
}, {
|
|
379
|
-
id: '
|
|
380
|
-
label: '
|
|
381
|
-
url:
|
|
382
|
-
icon: "".concat(BASEMAP_ICON_PREFIX, "/
|
|
383
|
-
layerGroups:
|
|
384
|
-
colorMode: BASE_MAP_COLOR_MODES.
|
|
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'
|
|
385
376
|
}];
|
|
386
377
|
exports.DEFAULT_MAP_STYLES = DEFAULT_MAP_STYLES;
|
|
387
378
|
var GEOJSON_FIELDS = {
|
|
@@ -443,7 +434,8 @@ var ALL_FIELD_TYPES = (0, _keymirror["default"])({
|
|
|
443
434
|
timestamp: null,
|
|
444
435
|
point: null,
|
|
445
436
|
array: null,
|
|
446
|
-
object: null
|
|
437
|
+
object: null,
|
|
438
|
+
geoarrow: null
|
|
447
439
|
}); // Data Table
|
|
448
440
|
|
|
449
441
|
exports.ALL_FIELD_TYPES = ALL_FIELD_TYPES;
|
|
@@ -527,6 +519,9 @@ var FIELD_TYPE_DISPLAY = (_FIELD_TYPE_DISPLAY = {}, (0, _defineProperty2["defaul
|
|
|
527
519
|
}), (0, _defineProperty2["default"])(_FIELD_TYPE_DISPLAY, ALL_FIELD_TYPES.geojson, {
|
|
528
520
|
label: 'geo',
|
|
529
521
|
color: BLUE2
|
|
522
|
+
}), (0, _defineProperty2["default"])(_FIELD_TYPE_DISPLAY, ALL_FIELD_TYPES.geoarrow, {
|
|
523
|
+
label: 'geo',
|
|
524
|
+
color: BLUE2
|
|
530
525
|
}), (0, _defineProperty2["default"])(_FIELD_TYPE_DISPLAY, ALL_FIELD_TYPES.integer, {
|
|
531
526
|
label: 'int',
|
|
532
527
|
color: YELLOW
|
|
@@ -577,9 +572,20 @@ var AGGREGATION_TYPES = {
|
|
|
577
572
|
variance: 'variance',
|
|
578
573
|
// ordinal
|
|
579
574
|
mode: 'mode',
|
|
580
|
-
countUnique: '
|
|
575
|
+
countUnique: 'countUnique'
|
|
581
576
|
};
|
|
582
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;
|
|
583
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);
|
|
584
590
|
exports.linearFieldScaleFunctions = linearFieldScaleFunctions;
|
|
585
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);
|
|
@@ -665,6 +671,15 @@ var FIELD_OPTS = (_FIELD_OPTS = {}, (0, _defineProperty2["default"])(_FIELD_OPTS
|
|
|
665
671
|
},
|
|
666
672
|
tooltip: []
|
|
667
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
|
+
}
|
|
668
683
|
}), (0, _defineProperty2["default"])(_FIELD_OPTS, ALL_FIELD_TYPES.object, {
|
|
669
684
|
type: 'numerical',
|
|
670
685
|
scale: {},
|
|
@@ -1016,7 +1031,8 @@ var DATASET_FORMATS = (0, _keymirror["default"])({
|
|
|
1016
1031
|
row: null,
|
|
1017
1032
|
geojson: null,
|
|
1018
1033
|
csv: null,
|
|
1019
|
-
keplergl: null
|
|
1034
|
+
keplergl: null,
|
|
1035
|
+
arrow: null
|
|
1020
1036
|
});
|
|
1021
1037
|
exports.DATASET_FORMATS = DATASET_FORMATS;
|
|
1022
1038
|
var MAP_CONTROLS = (0, _keymirror["default"])({
|
|
@@ -1055,12 +1071,19 @@ var dataTestIds = {
|
|
|
1055
1071
|
removeLayerAction: 'remove-layer-action',
|
|
1056
1072
|
layerPanel: 'layer-panel',
|
|
1057
1073
|
sortableEffectItem: 'sortable-effect-item',
|
|
1058
|
-
staticEffectItem: 'static-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'
|
|
1059
1080
|
}; // Effects
|
|
1060
1081
|
|
|
1061
1082
|
exports.dataTestIds = dataTestIds;
|
|
1062
|
-
var
|
|
1063
|
-
exports.
|
|
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;
|
|
1064
1087
|
var DEFAULT_LIGHT_COLOR = [255, 255, 255];
|
|
1065
1088
|
exports.DEFAULT_LIGHT_COLOR = DEFAULT_LIGHT_COLOR;
|
|
1066
1089
|
var DEFAULT_LIGHT_INTENSITY = 1;
|
|
@@ -1069,14 +1092,15 @@ var DEFAULT_SHADOW_INTENSITY = 0.5;
|
|
|
1069
1092
|
exports.DEFAULT_SHADOW_INTENSITY = DEFAULT_SHADOW_INTENSITY;
|
|
1070
1093
|
var DEFAULT_SHADOW_COLOR = [0, 0, 0];
|
|
1071
1094
|
exports.DEFAULT_SHADOW_COLOR = DEFAULT_SHADOW_COLOR;
|
|
1072
|
-
var
|
|
1073
|
-
|
|
1074
|
-
|
|
1095
|
+
var LIGHT_AND_SHADOW_EFFECT_TIME_MODES = {
|
|
1096
|
+
pick: 'pick',
|
|
1097
|
+
current: 'current',
|
|
1098
|
+
animation: 'animation'
|
|
1075
1099
|
};
|
|
1076
|
-
exports.
|
|
1100
|
+
exports.LIGHT_AND_SHADOW_EFFECT_TIME_MODES = LIGHT_AND_SHADOW_EFFECT_TIME_MODES;
|
|
1077
1101
|
var DEFAULT_LIGHT_AND_SHADOW_PROPS = {
|
|
1078
1102
|
timestamp: Date.now(),
|
|
1079
|
-
|
|
1103
|
+
timeMode: LIGHT_AND_SHADOW_EFFECT_TIME_MODES.pick,
|
|
1080
1104
|
shadowIntensity: DEFAULT_SHADOW_INTENSITY,
|
|
1081
1105
|
shadowColor: [].concat(DEFAULT_SHADOW_COLOR),
|
|
1082
1106
|
sunLightColor: [].concat(DEFAULT_LIGHT_COLOR),
|
|
@@ -1085,71 +1109,272 @@ var DEFAULT_LIGHT_AND_SHADOW_PROPS = {
|
|
|
1085
1109
|
ambientLightIntensity: DEFAULT_LIGHT_INTENSITY
|
|
1086
1110
|
};
|
|
1087
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;
|
|
1088
1155
|
var POSTPROCESSING_EFFECTS = {
|
|
1089
1156
|
ink: {
|
|
1090
1157
|
type: 'ink',
|
|
1091
|
-
name: 'Ink'
|
|
1158
|
+
name: 'Ink',
|
|
1159
|
+
parameters: [{
|
|
1160
|
+
name: 'strength',
|
|
1161
|
+
min: 0,
|
|
1162
|
+
max: 1
|
|
1163
|
+
}]
|
|
1092
1164
|
},
|
|
1093
1165
|
brightnessContrast: {
|
|
1094
1166
|
type: 'brightnessContrast',
|
|
1095
|
-
name: 'Brightness & Contrast'
|
|
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
|
+
}]
|
|
1096
1177
|
},
|
|
1097
1178
|
hueSaturation: {
|
|
1098
1179
|
type: 'hueSaturation',
|
|
1099
|
-
name: 'Hue & Saturation'
|
|
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
|
+
}]
|
|
1100
1191
|
},
|
|
1101
1192
|
vibrance: {
|
|
1102
1193
|
type: 'vibrance',
|
|
1103
|
-
name: 'Vibrance'
|
|
1194
|
+
name: 'Vibrance',
|
|
1195
|
+
parameters: [{
|
|
1196
|
+
name: 'amount',
|
|
1197
|
+
defaultValue: 0.5,
|
|
1198
|
+
min: -1,
|
|
1199
|
+
max: 1
|
|
1200
|
+
}]
|
|
1104
1201
|
},
|
|
1105
1202
|
sepia: {
|
|
1106
1203
|
type: 'sepia',
|
|
1107
|
-
name: 'Sepia'
|
|
1204
|
+
name: 'Sepia',
|
|
1205
|
+
parameters: [{
|
|
1206
|
+
name: 'amount',
|
|
1207
|
+
min: 0,
|
|
1208
|
+
max: 1
|
|
1209
|
+
}]
|
|
1108
1210
|
},
|
|
1109
1211
|
dotScreen: {
|
|
1110
1212
|
type: 'dotScreen',
|
|
1111
|
-
name: 'Dot Screen'
|
|
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
|
+
}]
|
|
1112
1230
|
},
|
|
1113
1231
|
colorHalftone: {
|
|
1114
1232
|
type: 'colorHalftone',
|
|
1115
|
-
name: 'Color Halftone'
|
|
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
|
+
}]
|
|
1116
1250
|
},
|
|
1117
1251
|
noise: {
|
|
1118
1252
|
type: 'noise',
|
|
1119
|
-
name: 'Noise'
|
|
1253
|
+
name: 'Noise',
|
|
1254
|
+
parameters: [{
|
|
1255
|
+
name: 'amount',
|
|
1256
|
+
min: 0,
|
|
1257
|
+
max: 1
|
|
1258
|
+
}]
|
|
1120
1259
|
},
|
|
1121
1260
|
triangleBlur: {
|
|
1122
1261
|
type: 'triangleBlur',
|
|
1123
|
-
name: 'Blur (Triangle)'
|
|
1262
|
+
name: 'Blur (Triangle)',
|
|
1263
|
+
parameters: [{
|
|
1264
|
+
name: 'radius',
|
|
1265
|
+
min: 0,
|
|
1266
|
+
max: 100
|
|
1267
|
+
}]
|
|
1124
1268
|
},
|
|
1125
1269
|
zoomBlur: {
|
|
1126
1270
|
type: 'zoomBlur',
|
|
1127
|
-
name: 'Blur (Zoom)'
|
|
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
|
+
}]
|
|
1128
1285
|
},
|
|
1129
1286
|
tiltShift: {
|
|
1130
1287
|
type: 'tiltShift',
|
|
1131
|
-
name: 'Blur (Tilt Shift)'
|
|
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
|
+
}]
|
|
1132
1314
|
},
|
|
1133
1315
|
edgeWork: {
|
|
1134
1316
|
type: 'edgeWork',
|
|
1135
|
-
name: 'Edge work'
|
|
1317
|
+
name: 'Edge work',
|
|
1318
|
+
parameters: [{
|
|
1319
|
+
name: 'radius',
|
|
1320
|
+
min: 1,
|
|
1321
|
+
max: 50
|
|
1322
|
+
}]
|
|
1136
1323
|
},
|
|
1137
1324
|
vignette: {
|
|
1138
1325
|
type: 'vignette',
|
|
1139
|
-
name: '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
|
+
}]
|
|
1140
1336
|
},
|
|
1141
1337
|
magnify: {
|
|
1142
1338
|
type: 'magnify',
|
|
1143
|
-
name: '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
|
+
}]
|
|
1144
1363
|
},
|
|
1145
1364
|
hexagonalPixelate: {
|
|
1146
1365
|
type: 'hexagonalPixelate',
|
|
1147
|
-
name: 'Hexagonal Pixelate'
|
|
1366
|
+
name: 'Hexagonal Pixelate',
|
|
1367
|
+
parameters: [{
|
|
1368
|
+
name: 'scale',
|
|
1369
|
+
defaultValue: 20,
|
|
1370
|
+
min: 1,
|
|
1371
|
+
max: 50
|
|
1372
|
+
}]
|
|
1148
1373
|
}
|
|
1149
1374
|
};
|
|
1150
1375
|
exports.POSTPROCESSING_EFFECTS = POSTPROCESSING_EFFECTS;
|
|
1151
|
-
var
|
|
1376
|
+
var EFFECT_DESCRIPTIONS = [LIGHT_AND_SHADOW_EFFECT].concat((0, _toConsumableArray2["default"])(Object.keys(POSTPROCESSING_EFFECTS).map(function (keyName) {
|
|
1152
1377
|
return POSTPROCESSING_EFFECTS[keyName];
|
|
1153
1378
|
})));
|
|
1154
|
-
exports.
|
|
1155
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0LXNldHRpbmdzLnRzIl0sIm5hbWVzIjpbIkFDVElPTl9QUkVGSVgiLCJLRVBMRVJfVU5GT0xERURfQlVDS0VUIiwiQkFTRU1BUF9JQ09OX1BSRUZJWCIsIkRFRkFVTFRfTUFQQk9YX0FQSV9VUkwiLCJUUkFOU0lUSU9OX0RVUkFUSU9OIiwiREFUQV9UQUJMRV9JRCIsIkRFTEVURV9EQVRBX0lEIiwiQUREX0RBVEFfSUQiLCJFWFBPUlRfSU1BR0VfSUQiLCJFWFBPUlRfREFUQV9JRCIsIkFERF9NQVBfU1RZTEVfSUQiLCJFWFBPUlRfTUFQX0lEIiwiU0FWRV9NQVBfSUQiLCJPVkVSV1JJVEVfTUFQX0lEIiwiU0hBUkVfTUFQX0lEIiwiS0VQTEVSX0dMX05BTUUiLCJLRVBMRVJfR0xfVkVSU0lPTiIsIktFUExFUl9HTF9XRUJTSVRFIiwiRElNRU5TSU9OUyIsInNpZGVQYW5lbCIsIndpZHRoIiwibWFyZ2luIiwidG9wIiwibGVmdCIsImJvdHRvbSIsInJpZ2h0IiwiaGVhZGVySGVpZ2h0IiwibWFwQ29udHJvbCIsInBhZGRpbmciLCJtYXBMZWdlbmQiLCJwaW5uZWQiLCJUSEVNRSIsImxpZ2h0IiwiZGFyayIsImJhc2UiLCJTSURFQkFSX1BBTkVMUyIsImlkIiwibGFiZWwiLCJvbkNsaWNrIiwiUEFORUxfVklFV19UT0dHTEVTIiwibGlzdCIsImJ5RGF0YXNldCIsIlBBTkVMUyIsIkRFRkFVTFRfQkxER19DT0xPUiIsIkRFRkFVTFRfQkFDS0dST1VORF9DT0xPUiIsIkJBU0VfTUFQX0JBQ0tHUk9VTkRfTEFZRVJfSURTIiwiQkFDS0dST1VORF9MQVlFUl9HUk9VUF9TTFVHIiwiVEhSRUVfRF9CVUlMRElOR19MQVlFUl9HUk9VUF9TTFVHIiwiQkFDS0dST1VORF9MQVlFUl9HUk9VUCIsInNsdWciLCJmaWx0ZXIiLCJkZWZhdWx0VmlzaWJpbGl0eSIsImlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZSIsImlzTW92ZVRvVG9wQXZhaWxhYmxlIiwiaXNDb2xvclBpY2tlckF2YWlsYWJsZSIsIkRFRkFVTFRfTEFZRVJfR1JPVVBTIiwibWF0Y2giLCJCQVNFX01BUF9DT0xPUl9NT0RFUyIsIk5PTkUiLCJEQVJLIiwiTElHSFQiLCJOT19NQVBfSUQiLCJFTVBUWV9NQVBCT1hfU1RZTEUiLCJ2ZXJzaW9uIiwic291cmNlcyIsImxheWVycyIsIk5PX0JBU0VNQVBfSUNPTiIsIkRFRkFVTFRfTUFQX1NUWUxFUyIsInVybCIsImljb24iLCJsYXllckdyb3VwcyIsImNvbG9yTW9kZSIsInN0eWxlIiwiY29tcGxpbWVudGFyeVN0eWxlSWQiLCJHRU9KU09OX0ZJRUxEUyIsImdlb2pzb24iLCJJQ09OX0ZJRUxEUyIsIlRSSVBfUE9JTlRfRklFTERTIiwiQUxUSVRVREVfRklFTERTIiwiVFJJUF9BUkNfRklFTERTIiwibGF0MCIsImxuZzAiLCJsYXQxIiwibG5nMSIsIkZJTFRFUl9UWVBFUyIsInJhbmdlIiwic2VsZWN0IiwiaW5wdXQiLCJ0aW1lUmFuZ2UiLCJtdWx0aVNlbGVjdCIsInBvbHlnb24iLCJGSUxURVJfVklFV19UWVBFUyIsInNpZGUiLCJlbmxhcmdlZCIsIm1pbmlmaWVkIiwiREVGQVVMVF9GSUxURVJfVklFV19UWVBFIiwiU0NBTEVfVFlQRVMiLCJvcmRpbmFsIiwicXVhbnRpbGUiLCJxdWFudGl6ZSIsImxpbmVhciIsInNxcnQiLCJsb2ciLCJwb2ludCIsIlNDQUxFX0ZVTkMiLCJzY2FsZUxpbmVhciIsInNjYWxlUXVhbnRpemUiLCJzY2FsZVF1YW50aWxlIiwic2NhbGVPcmRpbmFsIiwic2NhbGVTcXJ0Iiwic2NhbGVMb2ciLCJzY2FsZVBvaW50IiwiQUxMX0ZJRUxEX1RZUEVTIiwiZGF0ZSIsImludGVnZXIiLCJyZWFsIiwic3RyaW5nIiwidGltZXN0YW1wIiwiYXJyYXkiLCJvYmplY3QiLCJTT1JUX09SREVSIiwiQVNDRU5ESU5HIiwiREVTQ0VORElORyIsIlVOU09SVCIsIlRBQkxFX09QVElPTiIsIlNPUlRfQVNDIiwiU09SVF9ERVMiLCJQSU4iLCJVTlBJTiIsIkNPUFkiLCJGT1JNQVRfQ09MVU1OIiwiVEFCTEVfT1BUSU9OX0xJU1QiLCJ2YWx1ZSIsImRpc3BsYXkiLCJjb25kaXRpb24iLCJwcm9wcyIsInNvcnRNb2RlIiwiaXNTb3J0ZWQiLCJpc1Bpbm5lZCIsIllFTExPVyIsIlBJTksiLCJQVVJQTEUiLCJCTFVFIiwiQkxVRTIiLCJCTFVFMyIsIkdSRUVOIiwiR1JFRU4yIiwiUkVEIiwiT1JBTkdFIiwiRklFTERfVFlQRV9ESVNQTEFZIiwiY29sb3IiLCJGSUVMRF9DT0xPUlMiLCJISUdITElHSF9DT0xPUl8zRCIsIkNIQU5ORUxfU0NBTEVTIiwicmFkaXVzIiwic2l6ZSIsImNvbG9yQWdnciIsInNpemVBZ2dyIiwiQUdHUkVHQVRJT05fVFlQRVMiLCJjb3VudCIsImF2ZXJhZ2UiLCJtYXhpbXVtIiwibWluaW11bSIsIm1lZGlhbiIsInN0ZGV2Iiwic3VtIiwidmFyaWFuY2UiLCJtb2RlIiwiY291bnRVbmlxdWUiLCJsaW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zIiwibGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMiLCJvcmRpbmFsRmllbGRTY2FsZUZ1bmN0aW9ucyIsIm9yZGluYWxGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyIsIm5vdFN1cHBvcnRlZFNjYWxlT3B0cyIsIm5vdFN1cHBvcnRBZ2dyT3B0cyIsIkRFRkFVTFRfQUdHUkVHQVRJT04iLCJGSUVMRF9PUFRTIiwidHlwZSIsInNjYWxlIiwiZm9ybWF0IiwibGVnZW5kIiwiZCIsInRvb2x0aXAiLCJUT09MVElQX0ZPUk1BVF9UWVBFUyIsIkRFQ0lNQUwiLCJQRVJDRU5UQUdFIiwiREFURSIsIkRBVEVfVElNRSIsIkJPT0xFQU4iLCJDSEFOTkVMX1NDQUxFX1NVUFBPUlRFRF9GSUVMRFMiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwiYWNjdSIsImtleSIsImZ0IiwibGVuZ3RoIiwiREVGQVVMVF9MQVlFUl9DT0xPUiIsInRyaXBBcmMiLCJiZWdpbnRyaXBfbGF0IiwiZHJvcG9mZl9sYXQiLCJyZXF1ZXN0X2xhdCIsIkRFRkFVTFRfVE9PTFRJUF9GSUVMRFMiLCJOT19WQUxVRV9DT0xPUiIsIkRFRkFVTFRfUElDS0lOR19SQURJVVMiLCJPVkVSTEFZX0JMRU5ESU5HUyIsIm5vcm1hbCIsInNjcmVlbiIsImRhcmtlbiIsIkxBWUVSX0JMRU5ESU5HUyIsImFkZGl0aXZlIiwiYmxlbmRGdW5jIiwiYmxlbmRFcXVhdGlvbiIsInN1YnRyYWN0aXZlIiwiTUFYX0RFRkFVTFRfVE9PTFRJUFMiLCJSRVNPTFVUSU9OUyIsIk9ORV9YIiwiVFdPX1giLCJFWFBPUlRfSU1HX1JBVElPUyIsIlNDUkVFTiIsIkZPVVJfQllfVEhSRUUiLCJTSVhURUVOX0JZX05JTkUiLCJDVVNUT00iLCJTY3JlZW5SYXRpb09wdGlvbiIsImdldFNpemUiLCJzY3JlZW5XIiwic2NyZWVuSCIsImhlaWdodCIsIkN1c3RvbVJhdGlvT3B0aW9uIiwiaGlkZGVuIiwibWFwVyIsIm1hcEgiLCJGb3VyQnlUaHJlZVJhdGlvT3B0aW9uIiwiTWF0aCIsInJvdW5kIiwiU2l4dGVlbkJ5TmluZVJhdGlvT3B0aW9uIiwiRVhQT1JUX0lNR19SQVRJT19PUFRJT05TIiwiT25lWFJlc29sdXRpb25PcHRpb24iLCJhdmFpbGFibGUiLCJUd29YUmVzb2x1dGlvbk9wdGlvbiIsIkVYUE9SVF9JTUdfUkVTT0xVVElPTl9PUFRJT05TIiwiRVhQT1JUX0RBVEFfVFlQRSIsIkNTViIsIkVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyIsInRvTG93ZXJDYXNlIiwiRVhQT1JUX01BUF9GT1JNQVRTIiwiSFRNTCIsIkpTT04iLCJFWFBPUlRfSFRNTF9NQVBfTU9ERVMiLCJSRUFEIiwiRURJVCIsIkVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMiLCJlbnRyaWVzIiwibWFwIiwiZW50cnkiLCJnZXRIVE1MTWFwTW9kZVRpbGVVcmwiLCJFWFBPUlRfSFRNTF9NQVBfTU9ERV9PUFRJT05TIiwiREVGQVVMVF9VVUlEX0NPVU5UIiwiREVGQVVMVF9OT1RJRklDQVRJT05fTUVTU0FHRSIsIkRFRkFVTFRfTk9USUZJQ0FUSU9OX1RZUEVTIiwiaW5mbyIsImVycm9yIiwid2FybmluZyIsInN1Y2Nlc3MiLCJERUZBVUxUX05PVElGSUNBVElPTl9UT1BJQ1MiLCJnbG9iYWwiLCJmaWxlIiwiVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUUiLCJCQVNFX1NQRUVEIiwiRlBTIiwiQU5JTUFUSU9OX1dJTkRPVyIsImZyZWUiLCJpbmNyZW1lbnRhbCIsImludGVydmFsIiwiREVGQVVMVF9USU1FX0ZPUk1BVCIsIlNQRUVEX0NPTlRST0xfUkFOR0UiLCJTUEVFRF9DT05UUk9MX1NURVAiLCJHRU9DT0RFUl9EQVRBU0VUX05BTUUiLCJHRU9DT0RFUl9MQVlFUl9JRCIsIkdFT0NPREVSX0dFT19PRkZTRVQiLCJHRU9DT0RFUl9JQ09OX0NPTE9SIiwiR0VPQ09ERVJfSUNPTl9TSVpFIiwiRURJVE9SX0xBWUVSX0lEIiwiRURJVE9SX0xBWUVSX1BJQ0tJTkdfUkFESVVTIiwiRURJVE9SX01PREVTIiwiRFJBV19QT0xZR09OIiwiRFJBV19SRUNUQU5HTEUiLCJQTE9UX1RZUEVTIiwiaGlzdG9ncmFtIiwibGluZUNoYXJ0IiwiSU5JVF9GSUxURVJfSVRFTVNfSU5fRFJPUERPV04iLCJNQVhfR1BVX0ZJTFRFUlMiLCJNQVBfVEhVTUJOQUlMX0RJTUVOU0lPTiIsIk1BUF9JTkZPX0NIQVJBQ1RFUiIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJMT0FESU5HX01FVEhPRFMiLCJ1cGxvYWQiLCJzdG9yYWdlIiwiREVGQVVMVF9GRUFUVVJFX0ZMQUdTIiwiREFUQVNFVF9GT1JNQVRTIiwicm93IiwiY3N2Iiwia2VwbGVyZ2wiLCJNQVBfQ09OVFJPTFMiLCJ2aXNpYmxlTGF5ZXJzIiwidG9nZ2xlM2QiLCJzcGxpdE1hcCIsIm1hcERyYXciLCJtYXBMb2NhbGUiLCJlZmZlY3QiLCJQUk9KRUNURURfUElYRUxfU0laRV9NVUxUSVBMSUVSIiwiVEVYVF9PVVRMSU5FX01VTFRJUExJRVIiLCJkYXRhVGVzdElkcyIsImluZm9JY29uIiwid2FybmluZ0ljb24iLCJlcnJvckljb24iLCJzdWNjZXNzSWNvbiIsImNoZWNrbWFya0ljb24iLCJzb3J0YWJsZUxheWVySXRlbSIsInN0YXRpY0xheWVySXRlbSIsImxheWVyVGl0bGVFZGl0b3IiLCJyZW1vdmVMYXllckFjdGlvbiIsImxheWVyUGFuZWwiLCJzb3J0YWJsZUVmZmVjdEl0ZW0iLCJzdGF0aWNFZmZlY3RJdGVtIiwiREVGQVVMVF9FRkZFQ1RfVFlQRSIsIkRFRkFVTFRfTElHSFRfQ09MT1IiLCJERUZBVUxUX0xJR0hUX0lOVEVOU0lUWSIsIkRFRkFVTFRfU0hBRE9XX0lOVEVOU0lUWSIsIkRFRkFVTFRfU0hBRE9XX0NPTE9SIiwiTElHSFRfQU5EX1NIQURPV19FRkZFQ1QiLCJuYW1lIiwiREVGQVVMVF9MSUdIVF9BTkRfU0hBRE9XX1BST1BTIiwiRGF0ZSIsIm5vdyIsInVzZUN1cnJlbnRUaW1lIiwic2hhZG93SW50ZW5zaXR5Iiwic2hhZG93Q29sb3IiLCJzdW5MaWdodENvbG9yIiwic3VuTGlnaHRJbnRlbnNpdHkiLCJhbWJpZW50TGlnaHRDb2xvciIsImFtYmllbnRMaWdodEludGVuc2l0eSIsIlBPU1RQUk9DRVNTSU5HX0VGRkVDVFMiLCJpbmsiLCJicmlnaHRuZXNzQ29udHJhc3QiLCJodWVTYXR1cmF0aW9uIiwidmlicmFuY2UiLCJzZXBpYSIsImRvdFNjcmVlbiIsImNvbG9ySGFsZnRvbmUiLCJub2lzZSIsInRyaWFuZ2xlQmx1ciIsInpvb21CbHVyIiwidGlsdFNoaWZ0IiwiZWRnZVdvcmsiLCJ2aWduZXR0ZSIsIm1hZ25pZnkiLCJoZXhhZ29uYWxQaXhlbGF0ZSIsIkVGRkVDVF9ERVNDUyIsImtleU5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFFQTs7QUFTQTs7Ozs7Ozs7QUFHTyxJQUFNQSxhQUFhLEdBQUcsY0FBdEI7O0FBQ0EsSUFBTUMsc0JBQXNCLEdBQUcsNERBQS9COztBQUNBLElB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V0FERztBQUVUMkosSUFBQUEsSUFBSSxFQUFFO0FBRkcsR0F6Q3dFO0FBNkNuRnVCLEVBQUFBLFFBQVEsRUFBRTtBQUNSbEwsSUFBQUEsSUFBSSxFQUFFLFVBREU7QUFFUjJKLElBQUFBLElBQUksRUFBRTtBQUZFLEdBN0N5RTtBQWlEbkZ3QixFQUFBQSxRQUFRLEVBQUU7QUFDUm5MLElBQUFBLElBQUksRUFBRSxVQURFO0FBRVIySixJQUFBQSxJQUFJLEVBQUU7QUFGRSxHQWpEeUU7QUFxRG5GeUIsRUFBQUEsT0FBTyxFQUFFO0FBQ1BwTCxJQUFBQSxJQUFJLEVBQUUsU0FEQztBQUVQMkosSUFBQUEsSUFBSSxFQUFFO0FBRkMsR0FyRDBFO0FBeURuRjBCLEVBQUFBLGlCQUFpQixFQUFFO0FBQ2pCckwsSUFBQUEsSUFBSSxFQUFFLG1CQURXO0FBRWpCMkosSUFBQUEsSUFBSSxFQUFFO0FBRlc7QUF6RGdFLENBQTlFOztBQStEQSxJQUFNMkIsWUFBNEMsSUFDdkQ1Qix1QkFEdUQsNkNBRXBEN0ksTUFBTSxDQUFDQyxJQUFQLENBQVl3SixzQkFBWixFQUFvQzFGLEdBQXBDLENBQXdDLFVBQUEyRyxPQUFPO0FBQUEsU0FBSWpCLHNCQUFzQixDQUFDaUIsT0FBRCxDQUExQjtBQUFBLENBQS9DLENBRm9ELEVBQWxEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IGtleU1pcnJvciBmcm9tICdrZXltaXJyb3InO1xuXG5pbXBvcnQge1xuICBzY2FsZUxpbmVhcixcbiAgc2NhbGVRdWFudGl6ZSxcbiAgc2NhbGVRdWFudGlsZSxcbiAgc2NhbGVPcmRpbmFsLFxuICBzY2FsZVNxcnQsXG4gIHNjYWxlTG9nLFxuICBzY2FsZVBvaW50XG59IGZyb20gJ2QzLXNjYWxlJztcbmltcG9ydCB7VE9PTFRJUF9GT1JNQVRfVFlQRVN9IGZyb20gJy4vdG9vbHRpcCc7XG5pbXBvcnQge1JHQkFDb2xvcn0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBBQ1RJT05fUFJFRklYID0gJ0BAa2VwbGVyLmdsLyc7XG5leHBvcnQgY29uc3QgS0VQTEVSX1VORk9MREVEX0JVQ0tFVCA9ICdodHRwczovL3N0dWRpby1wdWJsaWMtZGF0YS5mb3Vyc3F1YXJlLmNvbS9zdGF0aWNzL2tlcGxlcmdsJztcbmV4cG9ydCBjb25zdCBCQVNFTUFQX0lDT05fUFJFRklYID0gYCR7S0VQTEVSX1VORk9MREVEX0JVQ0tFVH0vZ2VvZHVkZWA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBCT1hfQVBJX1VSTCA9ICdodHRwczovL2FwaS5tYXBib3guY29tJztcbmV4cG9ydCBjb25zdCBUUkFOU0lUSU9OX0RVUkFUSU9OID0gMDtcblxuLy8gTW9kYWwgSWRzXG4vKipcbiAqIE1vZGFsIGlkOiBkYXRhIHRhYmxlXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBEQVRBX1RBQkxFX0lEID0gJ2RhdGFUYWJsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBkZWxldGUgZGF0YXNldCBjb25maXJtIGRpYWxvZ1xuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgREVMRVRFX0RBVEFfSUQgPSAnZGVsZXRlRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX0RBVEFfSUQgPSAnYWRkRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgaW1hZ2UgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUFHRV9JRCA9ICdleHBvcnRJbWFnZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfSUQgPSAnZXhwb3J0RGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgY3VzdG9tIG1hcCBzdHlsZSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX01BUF9TVFlMRV9JRCA9ICdhZGRNYXBTdHlsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgbWFwIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBFWFBPUlRfTUFQX0lEID0gJ2V4cG9ydE1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBzYXZlIG1hcCBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgU0FWRV9NQVBfSUQgPSAnc2F2ZU1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBjb25maXJtIHRvIG92ZXJ3cml0ZSBzYXZlZCBtYXBcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IE9WRVJXUklURV9NQVBfSUQgPSAnb3ZlcndyaXRlTWFwJztcbi8qKlxuICogTW9kYWwgaWQ6IHNoYXJlIG1hcCB1cmwgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IFNIQVJFX01BUF9JRCA9ICdzaGFyZU1hcCc7XG5cbmV4cG9ydCBjb25zdCBLRVBMRVJfR0xfTkFNRSA9ICdrZXBsZXIuZ2wnO1xuXG4vLyBfX1BBQ0tBR0VfVkVSU0lPTl9fIGlzIGF1dG9tYXRpY2FsbHkgaW5qZWN0ZWQgYnkgQmFiZWwvV2VicGFjayBkdXJpbmcgdGhlIGJ1aWxkaW5nIHByb2Nlc3Ncbi8vIFNpbmNlIHdlIGFyZSBpbmplY3RpbmcgdGhpcyBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3Mgd2l0aCBiYWJlbFxuLy8gd2hpbGUgZGV2ZWxvcGluZyBWRVJTSU9OIGlzIG5vdCBkZWZpbmVkLCB3ZSBjYXB0dXJlIHRoZSBleGNlcHRpb24gYW5kIHJldHVyblxuLy8gYW4gZW1wdHkgc3RyaW5nIHdoaWNoIHdpbGwgYWxsb3cgdXMgdG8gcmV0cmlldmUgdGhlIGxhdGVzdCB1bWQgdmVyc2lvblxuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9WRVJTSU9OID0gJ19fUEFDS0FHRV9WRVJTSU9OX18nO1xuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9XRUJTSVRFID0gJ2h0dHA6Ly9rZXBsZXIuZ2wvJztcblxuZXhwb3J0IGNvbnN0IERJTUVOU0lPTlMgPSB7XG4gIHNpZGVQYW5lbDoge1xuICAgIHdpZHRoOiAzMDAsXG4gICAgbWFyZ2luOiB7dG9wOiAyMCwgbGVmdDogMjAsIGJvdHRvbTogMzAsIHJpZ2h0OiAyMH0sXG4gICAgaGVhZGVySGVpZ2h0OiA5NlxuICB9LFxuICBtYXBDb250cm9sOiB7XG4gICAgd2lkdGg6IDE4NCxcbiAgICBwYWRkaW5nOiAxMixcbiAgICBtYXBMZWdlbmQ6IHtcbiAgICAgIHBpbm5lZDoge1xuICAgICAgICBib3R0b206IDIyLFxuICAgICAgICByaWdodDogMTJcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogVGhlbWUgbmFtZSB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gYEtlcGxlckdsYCBgcHJvcC50aGVtZWAuXG4gKiBBdmFpbGFibGUgdGhlbWVzIGFyZSBgVEhFTUUubGlnaHRgIGFuZCBgVEhFTUUuZGFya2AuIERlZmF1bHQgdGhlbWUgaXMgYFRIRU1FLmRhcmtgXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtvYmplY3R9XG4gKiBAcHVibGljXG4gKiBAZXhhbXBsZVxuICogYGBganNcbiAqIGNvbnN0IE1hcCA9ICgpID0+IDxLZXBsZXJHbCB0aGVtZT17VEhFTUUubGlnaHR9IGlkPVwibWFwXCIvPlxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBUSEVNRSA9IGtleU1pcnJvcih7XG4gIGxpZ2h0OiBudWxsLFxuICBkYXJrOiBudWxsLFxuICBiYXNlOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFNJREVCQVJfUEFORUxTID0gW1xuICB7XG4gICAgaWQ6ICdsYXllcicsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5sYXllcicsXG4gICAgb25DbGljazogbnVsbFxuICB9LFxuICB7XG4gICAgaWQ6ICdmaWx0ZXInLFxuICAgIGxhYmVsOiAnc2lkZWJhci5wYW5lbHMuZmlsdGVyJyxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ2ludGVyYWN0aW9uJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmludGVyYWN0aW9uJyxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ21hcCcsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5iYXNlbWFwJyxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH1cbl07XG5cbmV4cG9ydCBjb25zdCBQQU5FTF9WSUVXX1RPR0dMRVMgPSBrZXlNaXJyb3Ioe1xuICBsaXN0OiBudWxsLFxuICBieURhdGFzZXQ6IG51bGxcbn0pO1xuXG4vLyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG5leHBvcnQgY29uc3QgUEFORUxTID0gU0lERUJBUl9QQU5FTFM7XG5cbi8vIE1BUCBTVFlMRVNcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQkxER19DT0xPUiA9ICcjRDFDRUM3JztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQkFDS0dST1VORF9DT0xPUiA9ICcjRkZGRkZGJztcblxuLy8gYXNzaXN0cyBpbiBpZGVudGlmeWluZyBiYXNlbWFwIGJhY2tncm91bmQgbGF5ZXJzIHdoZW4gYXV0by1kZXRlcm1pbmluZyB0aGUgYmFja2dyb3VuZENvbG9yXG5leHBvcnQgY29uc3QgQkFTRV9NQVBfQkFDS0dST1VORF9MQVlFUl9JRFMgPSBbJ2JhY2tncm91bmQnLCAnYmcnLCAnbGFuZCcsICd3YXRlciddO1xuXG5leHBvcnQgY29uc3QgQkFDS0dST1VORF9MQVlFUl9HUk9VUF9TTFVHID0gJ0JhY2tncm91bmQnO1xuXG5leHBvcnQgY29uc3QgVEhSRUVfRF9CVUlMRElOR19MQVlFUl9HUk9VUF9TTFVHID0gJzNkIGJ1aWxkaW5nJztcblxuZXhwb3J0IHR5cGUgREVGQVVMVF9MQVlFUl9HUk9VUCA9IHtcbiAgc2x1Zzogc3RyaW5nO1xuICBmaWx0ZXI6ICh2YWx1ZSkgPT4gYm9vbGVhbjtcbiAgZGVmYXVsdFZpc2liaWxpdHk6IGJvb2xlYW47XG4gIGlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZT86IGJvb2xlYW47XG4gIGlzTW92ZVRvVG9wQXZhaWxhYmxlPzogYm9vbGVhbjtcbiAgaXNDb2xvclBpY2tlckF2YWlsYWJsZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY29uc3QgQkFDS0dST1VORF9MQVlFUl9HUk9VUDogREVGQVVMVF9MQVlFUl9HUk9VUCA9IHtcbiAgc2x1ZzogQkFDS0dST1VORF9MQVlFUl9HUk9VUF9TTFVHLFxuICBmaWx0ZXI6ICgpID0+IGZhbHNlLFxuICBkZWZhdWx0VmlzaWJpbGl0eTogZmFsc2UsXG4gIGlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZTogZmFsc2UsXG4gIGlzTW92ZVRvVG9wQXZhaWxhYmxlOiBmYWxzZSxcbiAgaXNDb2xvclBpY2tlckF2YWlsYWJsZTogdHJ1ZVxufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTEFZRVJfR1JPVVBTOiBERUZBVUxUX0xBWUVSX0dST1VQW10gPSBbXG4gIHtcbiAgICBzbHVnOiAnbGFiZWwnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0obGFiZWx8cGxhY2UtfHBvaS0pKS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlLFxuICAgIGlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc01vdmVUb1RvcEF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc0NvbG9yUGlja2VyQXZhaWxhYmxlOiBmYWxzZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ3JvYWQnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0ocm9hZHxyYWlsd2F5fHR1bm5lbHxzdHJlZXR8YnJpZGdlKSkoPyEuKmxhYmVsKS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlLFxuICAgIGlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc01vdmVUb1RvcEF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc0NvbG9yUGlja2VyQXZhaWxhYmxlOiBmYWxzZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2JvcmRlcicsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goL2JvcmRlcnxib3VuZGFyaWVzfGJvdW5kYXJ5LyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IGZhbHNlLFxuICAgIGlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc01vdmVUb1RvcEF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc0NvbG9yUGlja2VyQXZhaWxhYmxlOiBmYWxzZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2J1aWxkaW5nJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvYnVpbGRpbmcvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZSxcbiAgICBpc1Zpc2liaWxpdHlUb2dnbGVBdmFpbGFibGU6IHRydWUsXG4gICAgaXNNb3ZlVG9Ub3BBdmFpbGFibGU6IHRydWUsXG4gICAgaXNDb2xvclBpY2tlckF2YWlsYWJsZTogZmFsc2VcbiAgfSxcbiAge1xuICAgIHNsdWc6ICd3YXRlcicsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goLyg/PSh3YXRlcnxzdHJlYW18ZmVycnkpKS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlLFxuICAgIGlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc01vdmVUb1RvcEF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc0NvbG9yUGlja2VyQXZhaWxhYmxlOiBmYWxzZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2xhbmQnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0ocGFya3N8bGFuZGNvdmVyfGluZHVzdHJpYWx8c2FuZHxoaWxsc2hhZGUpKS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlLFxuICAgIGlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc01vdmVUb1RvcEF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc0NvbG9yUGlja2VyQXZhaWxhYmxlOiBmYWxzZVxuICB9LFxuICB7XG4gICAgc2x1ZzogVEhSRUVfRF9CVUlMRElOR19MQVlFUl9HUk9VUF9TTFVHLFxuICAgIGZpbHRlcjogKCkgPT4gZmFsc2UsXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IGZhbHNlLFxuICAgIGlzVmlzaWJpbGl0eVRvZ2dsZUF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc01vdmVUb1RvcEF2YWlsYWJsZTogdHJ1ZSxcbiAgICBpc0NvbG9yUGlja2VyQXZhaWxhYmxlOiB0cnVlXG4gIH1cbl07XG5cbmV4cG9ydCBjb25zdCBCQVNFX01BUF9DT0xPUl9NT0RFUyA9IGtleU1pcnJvcih7XG4gIE5PTkU6IG51bGwsXG4gIERBUks6IG51bGwsXG4gIExJR0hUOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IE5PX01BUF9JRCA9ICdub19tYXAnO1xuXG4vLyBGYWxsYmFjayBzdHlsZSB0byB1c2Ugd2hlbiBzdHlsZXMgYXJlIGJlaW5nIGZldGNoZWQsIG9yIHdoZW5cbi8vIGEgc3R5bGUgZmFpbHMgdG8gZmV0Y2hcbmV4cG9ydCBjb25zdCBFTVBUWV9NQVBCT1hfU1RZTEUgPSB7XG4gIHZlcnNpb246IDgsXG4gIHNvdXJjZXM6IHt9LFxuICBsYXllcnM6IFtdXG59O1xuXG5leHBvcnQgY29uc3QgTk9fQkFTRU1BUF9JQ09OID0gYCR7QkFTRU1BUF9JQ09OX1BSRUZJWH0vTk9fQkFTRU1BUC5wbmdgO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBfU1RZTEVTOiB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHVybDogc3RyaW5nIHwgbnVsbDtcbiAgaWNvbjogc3RyaW5nO1xuICBsYXllckdyb3VwczogdHlwZW9mIERFRkFVTFRfTEFZRVJfR1JPVVBTO1xuICBjb21wbGltZW50YXJ5U3R5bGVJZD86IHN0cmluZztcbiAgY29sb3JNb2RlOiBzdHJpbmc7XG4gIHN0eWxlPzogYW55O1xufVtdID0gW1xuICB7XG4gICAgaWQ6IE5PX01BUF9JRCxcbiAgICBsYWJlbDogJ05vIEJhc2VtYXAnLFxuICAgIHVybDogbnVsbCxcbiAgICBpY29uOiBOT19CQVNFTUFQX0lDT04sXG4gICAgbGF5ZXJHcm91cHM6IFtCQUNLR1JPVU5EX0xBWUVSX0dST1VQXSxcbiAgICBjb2xvck1vZGU6IEJBU0VfTUFQX0NPTE9SX01PREVTLk5PTkUsXG4gICAgc3R5bGU6IEVNUFRZX01BUEJPWF9TVFlMRVxuICB9LFxuICB7XG4gICAgaWQ6ICdkYXJrJyxcbiAgICBsYWJlbDogJ0RhcmsnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jam9xYmJmNmw5azMwMnNsOTZ0eXZrYTA5JyxcbiAgICBpY29uOiBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9VQkVSX0RBUktfVjIucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFMsXG4gICAgY29sb3JNb2RlOiBCQVNFX01BUF9DT0xPUl9NT0RFUy5EQVJLLFxuICAgIGNvbXBsaW1lbnRhcnlTdHlsZUlkOiAnbGlnaHQnXG4gIH0sXG4gIHtcbiAgICBpZDogJ2xpZ2h0JyxcbiAgICBsYWJlbDogJ0xpZ2h0JyxcbiAgICB1cmw6ICdtYXBib3g6Ly9zdHlsZXMvdWJlcmRhdGEvY2pvcWI5ajMzOWsxZjJzbDl0NWljNWJuNCcsXG4gICAgaWNvbjogYCR7QkFTRU1BUF9JQ09OX1BSRUZJWH0vVUJFUl9MSUdIVF9WMi5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQUyxcbiAgICBjb2xvck1vZGU6IEJBU0VfTUFQX0NPTE9SX01PREVTLkxJR0hULFxuICAgIGNvbXBsaW1lbnRhcnlTdHlsZUlkOiAnZGFyaydcbiAgfSxcbiAge1xuICAgIGlkOiAnbXV0ZWQnLFxuICAgIGxhYmVsOiAnTXV0ZWQgTGlnaHQnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jamZ5bDAza3AxdHVsMnNtZjV2MnRiZGQ0JyxcbiAgICBpY29uOiBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9VQkVSX01VVEVEX0xJR0hULnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTLFxuICAgIGNvbG9yTW9kZTogQkFTRV9NQVBfQ09MT1JfTU9ERVMuTElHSFQsXG4gICAgY29tcGxpbWVudGFyeVN0eWxlSWQ6ICdtdXRlZF9uaWdodCdcbiAgfSxcbiAge1xuICAgIGlkOiAnbXV0ZWRfbmlnaHQnLFxuICAgIGxhYmVsOiAnTXV0ZWQgTmlnaHQnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jamZ4aGxpa21hajFiMnNveXpldm55d2dzJyxcbiAgICBpY29uOiBgJHtCQVNFTUFQX0lDT05fUFJFRklYfS9VQkVSX01VVEVEX05JR0hULnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTLFxuICAgIGNvbG9yTW9kZTogQkFTRV9NQVBfQ09MT1JfTU9ERVMuREFSSyxcbiAgICBjb21wbGltZW50YXJ5U3R5bGVJZDogJ211dGVkJ1xuICB9LFxuICB7XG4gICAgaWQ6ICdzYXRlbGxpdGUnLFxuICAgIGxhYmVsOiAnU2F0ZWxsaXRlJyxcbiAgICB1cmw6IGBtYXBib3g6Ly9zdHlsZXMvbWFwYm94L3NhdGVsbGl0ZS12OWAsXG4gICAgaWNvbjogYCR7QkFTRU1BUF9JQ09OX1BSRUZJWH0vVUJFUl9TQVRFTExJVEUucG5nYCxcbiAgICBsYXllckdyb3VwczogW10sXG4gICAgY29sb3JNb2RlOiBCQVNFX01BUF9DT0xPUl9NT0RFUy5OT05FXG4gIH1cbl07XG5cbmV4cG9ydCBjb25zdCBHRU9KU09OX0ZJRUxEUyA9IHtcbiAgZ2VvanNvbjogWydfZ2VvanNvbicsICdhbGxfcG9pbnRzJywgJ2dlb2pzb24nXVxufTtcblxuZXhwb3J0IGNvbnN0IElDT05fRklFTERTID0ge1xuICBpY29uOiBbJ2ljb24nXVxufTtcblxuZXhwb3J0IGNvbnN0IFRSSVBfUE9JTlRfRklFTERTOiBbc3RyaW5nLCBzdHJpbmddW10gPSBbXG4gIFsnbGF0JywgJ2xuZyddLFxuICBbJ2xhdCcsICdsb24nXSxcbiAgWydsYXQnLCAnbG9uZyddLFxuICBbJ2xhdGl0dWRlJywgJ2xvbmdpdHVkZSddXG5dO1xuXG5leHBvcnQgY29uc3QgQUxUSVRVREVfRklFTERTID0gWydhbHQnLCAnYWx0aXR1ZGUnXTtcbmV4cG9ydCBjb25zdCBUUklQX0FSQ19GSUVMRFMgPSB7XG4gIGxhdDA6ICdiZWdpbnRyaXAnLFxuICBsbmcwOiAnYmVnaW50cmlwJyxcbiAgbGF0MTogJ2Ryb3BvZmYnLFxuICBsbmcxOiAnZHJvcG9mZidcbn07XG5cbmV4cG9ydCBjb25zdCBGSUxURVJfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICByYW5nZTogbnVsbCxcbiAgc2VsZWN0OiBudWxsLFxuICBpbnB1dDogbnVsbCxcbiAgdGltZVJhbmdlOiBudWxsLFxuICBtdWx0aVNlbGVjdDogbnVsbCxcbiAgcG9seWdvbjogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBGSUxURVJfVklFV19UWVBFUyA9IGtleU1pcnJvcih7XG4gIHNpZGU6IG51bGwsXG4gIGVubGFyZ2VkOiBudWxsLFxuICBtaW5pZmllZDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZJTFRFUl9WSUVXX1RZUEUgPSBGSUxURVJfVklFV19UWVBFUy5zaWRlO1xuXG5leHBvcnQgY29uc3QgU0NBTEVfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBvcmRpbmFsOiBudWxsLFxuICBxdWFudGlsZTogbnVsbCxcbiAgcXVhbnRpemU6IG51bGwsXG4gIGxpbmVhcjogbnVsbCxcbiAgc3FydDogbnVsbCxcbiAgbG9nOiBudWxsLFxuXG4gIC8vIG9yZGluYWwgZG9tYWluIHRvIGxpbmVhciByYW5nZVxuICBwb2ludDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBTQ0FMRV9GVU5DID0ge1xuICBbU0NBTEVfVFlQRVMubGluZWFyXTogc2NhbGVMaW5lYXIsXG4gIFtTQ0FMRV9UWVBFUy5xdWFudGl6ZV06IHNjYWxlUXVhbnRpemUsXG4gIFtTQ0FMRV9UWVBFUy5xdWFudGlsZV06IHNjYWxlUXVhbnRpbGUsXG4gIFtTQ0FMRV9UWVBFUy5vcmRpbmFsXTogc2NhbGVPcmRpbmFsLFxuICBbU0NBTEVfVFlQRVMuc3FydF06IHNjYWxlU3FydCxcbiAgW1NDQUxFX1RZUEVTLmxvZ106IHNjYWxlTG9nLFxuICBbU0NBTEVfVFlQRVMucG9pbnRdOiBzY2FsZVBvaW50XG59O1xuXG5leHBvcnQgY29uc3QgQUxMX0ZJRUxEX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgYm9vbGVhbjogbnVsbCxcbiAgZGF0ZTogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgaW50ZWdlcjogbnVsbCxcbiAgcmVhbDogbnVsbCxcbiAgc3RyaW5nOiBudWxsLFxuICB0aW1lc3RhbXA6IG51bGwsXG4gIHBvaW50OiBudWxsLFxuICBhcnJheTogbnVsbCxcbiAgb2JqZWN0OiBudWxsXG59KTtcblxuLy8gRGF0YSBUYWJsZVxuZXhwb3J0IGNvbnN0IFNPUlRfT1JERVIgPSBrZXlNaXJyb3Ioe1xuICBBU0NFTkRJTkc6IG51bGwsXG4gIERFU0NFTkRJTkc6IG51bGwsXG4gIFVOU09SVDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBUQUJMRV9PUFRJT04gPSBrZXlNaXJyb3Ioe1xuICBTT1JUX0FTQzogbnVsbCxcbiAgU09SVF9ERVM6IG51bGwsXG4gIFVOU09SVDogbnVsbCxcbiAgUElOOiBudWxsLFxuICBVTlBJTjogbnVsbCxcbiAgQ09QWTogbnVsbCxcbiAgRk9STUFUX0NPTFVNTjogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBUQUJMRV9PUFRJT05fTElTVCA9IFtcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uU09SVF9BU0MsXG4gICAgZGlzcGxheTogJ1NvcnQgQXNjZW5kaW5nJyxcbiAgICBpY29uOiAnQXJyb3dVcCcsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5zb3J0TW9kZSAhPT0gU09SVF9PUkRFUi5BU0NFTkRJTkdcbiAgfSxcbiAge1xuICAgIHZhbHVlOiBUQUJMRV9PUFRJT04uU09SVF9ERVMsXG4gICAgZGlzcGxheTogJ1NvcnQgRGVzY2VuZGluZycsXG4gICAgaWNvbjogJ0Fycm93RG93bicsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5zb3J0TW9kZSAhPT0gU09SVF9PUkRFUi5ERVNDRU5ESU5HXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlVOU09SVCxcbiAgICBkaXNwbGF5OiAnVW5zb3J0IENvbHVtbicsXG4gICAgaWNvbjogJ0NhbmNlbCcsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5pc1NvcnRlZFxuICB9LFxuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5QSU4sXG4gICAgZGlzcGxheTogJ1BpbiBDb2x1bW4nLFxuICAgIGljb246ICdQaW4nLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gIXByb3BzLmlzUGlubmVkXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlVOUElOLFxuICAgIGRpc3BsYXk6ICdVbnBpbiBDb2x1bW4nLFxuICAgIGljb246ICdDYW5jZWwnLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuaXNQaW5uZWRcbiAgfSxcbiAge3ZhbHVlOiBUQUJMRV9PUFRJT04uQ09QWSwgZGlzcGxheTogJ0NvcHkgQ29sdW1uJywgaWNvbjogJ0NsaXBib2FyZCd9LFxuICB7dmFsdWU6IFRBQkxFX09QVElPTi5GT1JNQVRfQ09MVU1OLCBkaXNwbGF5OiAnRm9ybWF0IENvbHVtbicsIGljb246ICdIYXNoJ31cbl07XG5cbmNvbnN0IFlFTExPVyA9ICcyNDgsIDE5NCwgMjgnO1xuY29uc3QgUElOSyA9ICcyNDIsIDE1MiwgMTYzJztcbmNvbnN0IFBVUlBMRSA9ICcxNjAsIDEwNiwgMjA2JztcbmNvbnN0IEJMVUUgPSAnMTQwLCAyMTAsIDIwNSc7XG5jb25zdCBCTFVFMiA9ICcxMDYsIDE2MCwgMjA2JztcbmNvbnN0IEJMVUUzID0gJzAsIDE3MiwgMjM3JztcbmNvbnN0IEdSRUVOID0gJzEwNiwgMTYwLCA1Nic7XG5jb25zdCBHUkVFTjIgPSAnNzQsIDE2NSwgMTUwJztcbmNvbnN0IFJFRCA9ICcyMzcsIDg4LCAxMDYnO1xuY29uc3QgT1JBTkdFID0gJzIzMSwgMTEwLCA1OCc7XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9UWVBFX0RJU1BMQVkgPSB7XG4gIFtBTExfRklFTERfVFlQRVMuYm9vbGVhbl06IHtcbiAgICBsYWJlbDogJ2Jvb2wnLFxuICAgIGNvbG9yOiBQSU5LXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZGF0ZV06IHtcbiAgICBsYWJlbDogJ2RhdGUnLFxuICAgIGNvbG9yOiBQVVJQTEVcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5nZW9qc29uXToge1xuICAgIGxhYmVsOiAnZ2VvJyxcbiAgICBjb2xvcjogQkxVRTJcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5pbnRlZ2VyXToge1xuICAgIGxhYmVsOiAnaW50JyxcbiAgICBjb2xvcjogWUVMTE9XXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMucmVhbF06IHtcbiAgICBsYWJlbDogJ2Zsb2F0JyxcbiAgICBjb2xvcjogWUVMTE9XXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuc3RyaW5nXToge1xuICAgIGxhYmVsOiAnc3RyaW5nJyxcbiAgICBjb2xvcjogQkxVRVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLnRpbWVzdGFtcF06IHtcbiAgICBsYWJlbDogJ3RpbWUnLFxuICAgIGNvbG9yOiBHUkVFTlxuICB9LFxuICAvLyBmaWVsZCBwYWlyc1xuICBbQUxMX0ZJRUxEX1RZUEVTLnBvaW50XToge1xuICAgIGxhYmVsOiAncG9pbnQnLFxuICAgIGNvbG9yOiBCTFVFM1xuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmFycmF5XToge1xuICAgIGxhYmVsOiAnYXJyYXknLFxuICAgIGNvbG9yOiBPUkFOR0VcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5vYmplY3RdOiB7XG4gICAgbGFiZWw6ICdvYmplY3QnLFxuICAgIGNvbG9yOiBHUkVFTjJcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEZJRUxEX0NPTE9SUyA9IHtcbiAgZGVmYXVsdDogUkVEXG59O1xuZXhwb3J0IGNvbnN0IEhJR0hMSUdIX0NPTE9SXzNEOiBSR0JBQ29sb3IgPSBbMjU1LCAyNTUsIDI1NSwgNjBdO1xuZXhwb3J0IGNvbnN0IENIQU5ORUxfU0NBTEVTID0ga2V5TWlycm9yKHtcbiAgY29sb3I6IG51bGwsXG4gIHJhZGl1czogbnVsbCxcbiAgc2l6ZTogbnVsbCxcbiAgY29sb3JBZ2dyOiBudWxsLFxuICBzaXplQWdncjogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBBR0dSRUdBVElPTl9UWVBFUzoge1xuICAvLyBkZWZhdWx0XG4gIGNvdW50OiAnY291bnQnO1xuICAvLyBsaW5lYXJcbiAgYXZlcmFnZTogJ2F2ZXJhZ2UnO1xuICBtYXhpbXVtOiAnbWF4aW11bSc7XG4gIG1pbmltdW06ICdtaW5pbXVtJztcbiAgbWVkaWFuOiAnbWVkaWFuJztcbiAgc3RkZXY6ICdzdGRldic7XG4gIHN1bTogJ3N1bSc7XG4gIHZhcmlhbmNlOiAndmFyaWFuY2UnO1xuICAvLyBvcmRpbmFsXG4gIG1vZGU6ICdtb2RlJztcbiAgY291bnRVbmlxdWU6ICdjb3VudCB1bmlxdWUnO1xufSA9IHtcbiAgLy8gZGVmYXVsdFxuICBjb3VudDogJ2NvdW50JyxcbiAgLy8gbGluZWFyXG4gIGF2ZXJhZ2U6ICdhdmVyYWdlJyxcbiAgbWF4aW11bTogJ21heGltdW0nLFxuICBtaW5pbXVtOiAnbWluaW11bScsXG4gIG1lZGlhbjogJ21lZGlhbicsXG4gIHN0ZGV2OiAnc3RkZXYnLFxuICBzdW06ICdzdW0nLFxuICB2YXJpYW5jZTogJ3ZhcmlhbmNlJyxcbiAgLy8gb3JkaW5hbFxuICBtb2RlOiAnbW9kZScsXG4gIGNvdW50VW5pcXVlOiAnY291bnQgdW5pcXVlJ1xufTtcblxuZXhwb3J0IGNvbnN0IGxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvcl06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGVdLFxuICBbQ0hBTk5FTF9TQ0FMRVMucmFkaXVzXTogW1NDQUxFX1RZUEVTLnNxcnRdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbn07XG5cbmV4cG9ydCBjb25zdCBsaW5lYXJGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyA9IHtcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGVdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5tYXhpbXVtXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZV0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW1dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWVkaWFuXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZV0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLnN0ZGV2XTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZV0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLnN1bV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGVdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGVdXG4gIH0sXG5cbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5hdmVyYWdlXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWF4aW11bV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5tZWRpYW5dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdGRldl06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLnN1bV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLnZhcmlhbmNlXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXVxuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgb3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvcl06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsXSxcbiAgW0NIQU5ORUxfU0NBTEVTLnJhZGl1c106IFtTQ0FMRV9UWVBFUy5wb2ludF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplXTogW1NDQUxFX1RZUEVTLnBvaW50XVxufTtcblxuZXhwb3J0IGNvbnN0IG9yZGluYWxGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9ucyA9IHtcbiAgLy8gW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsLCBTQ0FMRV9UWVBFUy5saW5lYXJdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5tb2RlXTogW1NDQUxFX1RZUEVTLm9yZGluYWxdLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudFVuaXF1ZV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGVdXG4gIH0sXG5cbiAgLy8gQ3VycmVudGx5IGRvZXNuJ3Qgc3VwcG9ydCB5ZXRcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge31cbn07XG5cbmV4cG9ydCBjb25zdCBub3RTdXBwb3J0ZWRTY2FsZU9wdHMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvcl06IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMucmFkaXVzXTogW10sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplXTogW11cbn07XG5cbmV4cG9ydCBjb25zdCBub3RTdXBwb3J0QWdnck9wdHMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiB7fSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge31cbn07XG5cbi8qKlxuICogRGVmYXVsdCBhZ2dyZWdhdGlvbiBhcmUgYmFzZWQgb24gb2N1bnRcbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQUdHUkVHQVRJT04gPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiB7XG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLmNvdW50XTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZV1cbiAgfSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuLyoqXG4gKiBEZWZpbmUgd2hhdCB0eXBlIG9mIHNjYWxlIG9wZXJhdGlvbiBpcyBhbGxvd2VkIG9uIGVhY2ggdHlwZSBvZiBmaWVsZHNcbiAqL1xuZXhwb3J0IGNvbnN0IEZJRUxEX09QVFMgPSB7XG4gIFtBTExfRklFTERfVFlQRVMuc3RyaW5nXToge1xuICAgIHR5cGU6ICdjYXRlZ29yaWNhbCcsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMucmVhbF06IHtcbiAgICB0eXBlOiAnbnVtZXJpY2FsJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLmxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1xuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5ERUNJTUFMLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5QRVJDRU5UQUdFXG4gICAgICBdXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLnRpbWVzdGFtcF06IHtcbiAgICB0eXBlOiAndGltZScsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLmxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5ub3RTdXBwb3J0QWdnck9wdHNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVfVElNRVxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5pbnRlZ2VyXToge1xuICAgIHR5cGU6ICdudW1lcmljYWwnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5saW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ubGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRFQ0lNQUwsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLlBFUkNFTlRBR0VcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuYm9vbGVhbl06IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkJPT0xFQU5dXG4gICAgfVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLmRhdGVdOiB7XG4gICAgdHlwZTogJ3RpbWUnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5vcmRpbmFsRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLm9yZGluYWxGaWVsZEFnZ3JTY2FsZUZ1bmN0aW9uc1xuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6IGQgPT4gZCxcbiAgICAgIHRvb2x0aXA6IFtUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLCBUT09MVElQX0ZPUk1BVF9UWVBFUy5EQVRFXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5nZW9qc29uXToge1xuICAgIHR5cGU6ICdnZW9tZXRyeScsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm5vdFN1cHBvcnRlZFNjYWxlT3B0cyxcbiAgICAgIC4uLm5vdFN1cHBvcnRBZ2dyT3B0c1xuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBsZWdlbmQ6IGQgPT4gJy4uLicsXG4gICAgICB0b29sdGlwOiBbXVxuICAgIH1cbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5vYmplY3RdOiB7XG4gICAgdHlwZTogJ251bWVyaWNhbCcsXG4gICAgc2NhbGU6IHt9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+ICcuLi4nLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuYXJyYXldOiB7XG4gICAgdHlwZTogJ251bWVyaWNhbCcsXG4gICAgc2NhbGU6IHt9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+ICcuLi4nLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDSEFOTkVMX1NDQUxFX1NVUFBPUlRFRF9GSUVMRFMgPSBPYmplY3Qua2V5cyhDSEFOTkVMX1NDQUxFUykucmVkdWNlKFxuICAoYWNjdSwga2V5KSA9PiAoe1xuICAgIC4uLmFjY3UsXG4gICAgW2tleV06IE9iamVjdC5rZXlzKEZJRUxEX09QVFMpLmZpbHRlcihcbiAgICAgIGZ0ID0+IEZJRUxEX09QVFNbZnRdLnNjYWxlW2tleV0gJiYgT2JqZWN0LmtleXMoRklFTERfT1BUU1tmdF0uc2NhbGVba2V5XSkubGVuZ3RoXG4gICAgKVxuICB9KSxcbiAge30gYXMge1tpZDogc3RyaW5nXTogc3RyaW5nW119XG4pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9DT0xPUiA9IHtcbiAgdHJpcEFyYzogJyM5MjI2QzYnLFxuICBiZWdpbnRyaXBfbGF0OiAnIzFFOTZCRScsXG4gIGRyb3BvZmZfbGF0OiAnI0ZGOTkxRicsXG4gIHJlcXVlc3RfbGF0OiAnIzUyQTM1Mydcbn07XG5cbi8vIGxldCB1c2VyIHBhc3MgaW4gZGVmYXVsdCB0b29sdGlwIGZpZWxkc1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVE9PTFRJUF9GSUVMRFM6IGFueVtdID0gW107XG5cbmV4cG9ydCBjb25zdCBOT19WQUxVRV9DT0xPUjogUkdCQUNvbG9yID0gWzAsIDAsIDAsIDBdO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9QSUNLSU5HX1JBRElVUyA9IDM7XG5cbmV4cG9ydCBjb25zdCBPVkVSTEFZX0JMRU5ESU5HUyA9IHtcbiAgbm9ybWFsOiB7XG4gICAgbGFiZWw6ICdvdmVybGF5QmxlbmRpbmcubm9ybWFsJyxcbiAgICB2YWx1ZTogJ25vcm1hbCdcbiAgfSxcbiAgc2NyZWVuOiB7XG4gICAgbGFiZWw6ICdvdmVybGF5QmxlbmRpbmcuc2NyZWVuJyxcbiAgICB2YWx1ZTogJ3NjcmVlbidcbiAgfSxcbiAgZGFya2VuOiB7XG4gICAgbGFiZWw6ICdvdmVybGF5QmxlbmRpbmcuZGFya2VuJyxcbiAgICB2YWx1ZTogJ2RhcmtlbidcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExBWUVSX0JMRU5ESU5HUyA9IHtcbiAgYWRkaXRpdmU6IHtcbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcuYWRkaXRpdmUnLFxuICAgIGJsZW5kRnVuYzogWydTUkNfQUxQSEEnLCAnRFNUX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogJ0ZVTkNfQUREJ1xuICB9LFxuICBub3JtYWw6IHtcbiAgICAvLyByZWZlcmVuY2UgdG9cbiAgICAvLyBodHRwczovL2xpbW51LmNvbS93ZWJnbC1ibGVuZGluZy15b3VyZS1wcm9iYWJseS13cm9uZy9cbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcubm9ybWFsJyxcbiAgICBibGVuZEZ1bmM6IFsnU1JDX0FMUEhBJywgJ09ORV9NSU5VU19TUkNfQUxQSEEnLCAnT05FJywgJ09ORV9NSU5VU19TUkNfQUxQSEEnXSxcbiAgICBibGVuZEVxdWF0aW9uOiBbJ0ZVTkNfQUREJywgJ0ZVTkNfQUREJ11cbiAgfSxcbiAgc3VidHJhY3RpdmU6IHtcbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcuc3VidHJhY3RpdmUnLFxuICAgIGJsZW5kRnVuYzogWydPTkUnLCAnT05FX01JTlVTX0RTVF9DT0xPUicsICdTUkNfQUxQSEEnLCAnRFNUX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogWydGVU5DX1NVQlRSQUNUJywgJ0ZVTkNfQUREJ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IE1BWF9ERUZBVUxUX1RPT0xUSVBTID0gNTtcblxuZXhwb3J0IGNvbnN0IFJFU09MVVRJT05TID0ga2V5TWlycm9yKHtcbiAgT05FX1g6IG51bGwsXG4gIFRXT19YOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUdfUkFUSU9TID0ga2V5TWlycm9yKHtcbiAgU0NSRUVOOiBudWxsLFxuICBGT1VSX0JZX1RIUkVFOiBudWxsLFxuICBTSVhURUVOX0JZX05JTkU6IG51bGwsXG4gIENVU1RPTTogbnVsbFxufSk7XG5cbmV4cG9ydCB0eXBlIEV4cG9ydEltYWdlID0ge1xuICByYXRpbzoga2V5b2YgdHlwZW9mIEVYUE9SVF9JTUdfUkFUSU9TO1xuICByZXNvbHV0aW9uOiBrZXlvZiB0eXBlb2YgUkVTT0xVVElPTlM7XG4gIGxlZ2VuZDogYm9vbGVhbjtcbiAgbWFwSDogbnVtYmVyO1xuICBtYXBXOiBudW1iZXI7XG4gIGltYWdlU2l6ZToge1xuICAgIHpvb21PZmZzZXQ6IG51bWJlcjtcbiAgICBzY2FsZTogbnVtYmVyO1xuICAgIGltYWdlVzogbnVtYmVyO1xuICAgIGltYWdlSDogbnVtYmVyO1xuICB9O1xuICAvLyBleHBvcnRpbmcgc3RhdGVcbiAgaW1hZ2VEYXRhVXJpOiBzdHJpbmc7XG4gIGV4cG9ydGluZzogYm9vbGVhbjtcbiAgcHJvY2Vzc2luZzogYm9vbGVhbjtcbiAgZXJyb3I6IEVycm9yIHwgZmFsc2U7XG4gIGVzY2FwZVhodG1sRm9yV2VicGFjaz86IGJvb2xlYW47XG4gIC8vIFRoaXMgZmllbGQgd2FzIG5vdCBpbiB0aGUgLmQudHMgZmlsZVxuICBjZW50ZXI6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBJbWFnZVJhdGlvT3B0aW9uID0ge1xuICBpZDoga2V5b2YgdHlwZW9mIEVYUE9SVF9JTUdfUkFUSU9TO1xuICBsYWJlbDogc3RyaW5nO1xuICBoaWRkZW4/OiBib29sZWFuO1xuICBnZXRTaXplOiAoc2NyZWVuVzogbnVtYmVyLCBzY3JlZW5IOiBudW1iZXIpID0+IHt3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcn07XG59O1xuXG5leHBvcnQgY29uc3QgU2NyZWVuUmF0aW9PcHRpb246IEltYWdlUmF0aW9PcHRpb24gPSB7XG4gIGlkOiBFWFBPUlRfSU1HX1JBVElPUy5TQ1JFRU4sXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW9PcmlnaW5hbFNjcmVlbicsXG4gIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe3dpZHRoOiBzY3JlZW5XLCBoZWlnaHQ6IHNjcmVlbkh9KVxufTtcbmV4cG9ydCBjb25zdCBDdXN0b21SYXRpb09wdGlvbjogSW1hZ2VSYXRpb09wdGlvbiA9IHtcbiAgaWQ6IEVYUE9SVF9JTUdfUkFUSU9TLkNVU1RPTSxcbiAgaGlkZGVuOiB0cnVlLFxuICBsYWJlbDogJ21vZGFsLmV4cG9ydEltYWdlLnJhdGlvQ3VzdG9tJyxcbiAgZ2V0U2l6ZTogKG1hcFcsIG1hcEgpID0+ICh7d2lkdGg6IG1hcFcsIGhlaWdodDogbWFwSH0pXG59O1xuZXhwb3J0IGNvbnN0IEZvdXJCeVRocmVlUmF0aW9PcHRpb246IEltYWdlUmF0aW9PcHRpb24gPSB7XG4gIGlkOiBFWFBPUlRfSU1HX1JBVElPUy5GT1VSX0JZX1RIUkVFLFxuICBsYWJlbDogJ21vZGFsLmV4cG9ydEltYWdlLnJhdGlvNF8zJyxcbiAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7XG4gICAgd2lkdGg6IHNjcmVlblcsXG4gICAgaGVpZ2h0OiBNYXRoLnJvdW5kKHNjcmVlblcgKiAwLjc1KVxuICB9KVxufTtcbmV4cG9ydCBjb25zdCBTaXh0ZWVuQnlOaW5lUmF0aW9PcHRpb246IEltYWdlUmF0aW9PcHRpb24gPSB7XG4gIGlkOiBFWFBPUlRfSU1HX1JBVElPUy5TSVhURUVOX0JZX05JTkUsXG4gIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW8xNl85JyxcbiAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7XG4gICAgd2lkdGg6IHNjcmVlblcsXG4gICAgaGVpZ2h0OiBNYXRoLnJvdW5kKHNjcmVlblcgKiAwLjU2MjUpXG4gIH0pXG59O1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0lNR19SQVRJT19PUFRJT05TOiBSZWFkb25seUFycmF5PEltYWdlUmF0aW9PcHRpb24+ID0gW1xuICBTY3JlZW5SYXRpb09wdGlvbixcbiAgQ3VzdG9tUmF0aW9PcHRpb24sXG4gIEZvdXJCeVRocmVlUmF0aW9PcHRpb24sXG4gIFNpeHRlZW5CeU5pbmVSYXRpb09wdGlvblxuXTtcblxuZXhwb3J0IHR5cGUgSW1hZ2VSZXNvbHV0aW9uT3B0aW9uID0ge1xuICBpZDoga2V5b2YgdHlwZW9mIFJFU09MVVRJT05TO1xuICBsYWJlbDogc3RyaW5nO1xuICBhdmFpbGFibGU6IGJvb2xlYW47XG4gIHNjYWxlOiBudW1iZXI7XG4gIGdldFNpemU6IChzY3JlZW5XOiBudW1iZXIsIHNjcmVlbkg6IG51bWJlcikgPT4ge3dpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyfTtcbn07XG5cbmV4cG9ydCBjb25zdCBPbmVYUmVzb2x1dGlvbk9wdGlvbjogSW1hZ2VSZXNvbHV0aW9uT3B0aW9uID0ge1xuICBpZDogUkVTT0xVVElPTlMuT05FX1gsXG4gIGxhYmVsOiAnMXgnLFxuICBhdmFpbGFibGU6IHRydWUsXG4gIHNjYWxlOiAxLFxuICBnZXRTaXplOiAoc2NyZWVuVywgc2NyZWVuSCkgPT4gKHtcbiAgICB3aWR0aDogc2NyZWVuVyxcbiAgICBoZWlnaHQ6IHNjcmVlbkhcbiAgfSlcbn07XG5cbmV4cG9ydCBjb25zdCBUd29YUmVzb2x1dGlvbk9wdGlvbjogSW1hZ2VSZXNvbHV0aW9uT3B0aW9uID0ge1xuICBpZDogUkVTT0xVVElPTlMuVFdPX1gsXG4gIGxhYmVsOiAnMngnLFxuICBhdmFpbGFibGU6IHRydWUsXG4gIHNjYWxlOiAyLFxuICBnZXRTaXplOiAoc2NyZWVuVywgc2NyZWVuSCkgPT4gKHtcbiAgICB3aWR0aDogc2NyZWVuVyAqIDIsXG4gICAgaGVpZ2h0OiBzY3JlZW5IICogMlxuICB9KVxufTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUdfUkVTT0xVVElPTl9PUFRJT05TOiBSZWFkb25seUFycmF5PEltYWdlUmVzb2x1dGlvbk9wdGlvbj4gPSBbXG4gIE9uZVhSZXNvbHV0aW9uT3B0aW9uLFxuICBUd29YUmVzb2x1dGlvbk9wdGlvblxuXTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9EQVRBX1RZUEUgPSBrZXlNaXJyb3Ioe1xuICBDU1Y6IG51bGxcbiAgLy8gU0hBUEVGSUxFOiBudWxsLFxuICAvLyBKU09OOiBudWxsLFxuICAvLyBHRU9KU09OOiBudWxsLFxuICAvLyBUT1BPSlNPTjogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfREFUQV9UWVBFX09QVElPTlMgPSBbXG4gIHtcbiAgICBpZDogRVhQT1JUX0RBVEFfVFlQRS5DU1YsXG4gICAgbGFiZWw6IEVYUE9SVF9EQVRBX1RZUEUuQ1NWLnRvTG93ZXJDYXNlKCksXG4gICAgYXZhaWxhYmxlOiB0cnVlXG4gIH1cbiAgLy8ge1xuICAvLyAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLlNIQVBFRklMRSxcbiAgLy8gICBsYWJlbDogJ3NoYXBlZmlsZScsXG4gIC8vICAgYXZhaWxhYmxlOiBmYWxzZVxuICAvLyB9LFxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuSlNPTixcbiAgLy8gICBsYWJlbDogJ2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfSxcbiAgLy8ge1xuICAvLyAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLkdFT0pTT04sXG4gIC8vICAgbGFiZWw6ICdnZW9qc29uJyxcbiAgLy8gICBhdmFpbGFibGU6IGZhbHNlXG4gIC8vIH0sXG4gIC8vIHtcbiAgLy8gICBpZDogRVhQT1JUX0RBVEFfVFlQRS5UT1BPSlNPTixcbiAgLy8gICBsYWJlbDogJ3RvcG9qc29uJyxcbiAgLy8gICBhdmFpbGFibGU6IGZhbHNlXG4gIC8vIH1cbl07XG5cbi8vIEV4cG9ydCBtYXAgdHlwZXNcbmV4cG9ydCBjb25zdCBFWFBPUlRfTUFQX0ZPUk1BVFMgPSBrZXlNaXJyb3Ioe1xuICBIVE1MOiBudWxsLFxuICBKU09OOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9IVE1MX01BUF9NT0RFUyA9IGtleU1pcnJvcih7XG4gIFJFQUQ6IG51bGwsXG4gIEVESVQ6IG51bGxcbn0pO1xuXG4vLyBFeHBvcnQgbWFwIG9wdGlvbnNcbmV4cG9ydCBjb25zdCBFWFBPUlRfTUFQX0ZPUk1BVF9PUFRJT05TID0gT2JqZWN0LmVudHJpZXMoRVhQT1JUX01BUF9GT1JNQVRTKS5tYXAoXG4gIChlbnRyeTogW3N0cmluZywgYW55XSkgPT4gKHtcbiAgICBpZDogZW50cnlbMF0sXG4gICAgbGFiZWw6IGVudHJ5WzFdLnRvTG93ZXJDYXNlKCksXG4gICAgYXZhaWxhYmxlOiB0cnVlXG4gIH0pXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SFRNTE1hcE1vZGVUaWxlVXJsKG1vZGU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgaHR0cHM6Ly9kMWEzZjRzcGF6enJwNC5jbG91ZGZyb250Lm5ldC9rZXBsZXIuZ2wvZG9jdW1lbnRhdGlvbi9tYXAtJHttb2RlLnRvTG93ZXJDYXNlKCl9LW1vZGUucG5nYDtcbn1cblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9IVE1MX01BUF9NT0RFX09QVElPTlMgPSBPYmplY3QuZW50cmllcyhFWFBPUlRfSFRNTF9NQVBfTU9ERVMpLm1hcChcbiAgKGVudHJ5OiBbc3RyaW5nLCBhbnldKSA9PiAoe1xuICAgIGlkOiBlbnRyeVswXSxcbiAgICBsYWJlbDogYG1vZGFsLmV4cG9ydE1hcC5odG1sLiR7ZW50cnlbMV0udG9Mb3dlckNhc2UoKX1gLFxuICAgIGF2YWlsYWJsZTogdHJ1ZSxcbiAgICB1cmw6IGdldEhUTUxNYXBNb2RlVGlsZVVybChlbnRyeVsxXSlcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1VVSURfQ09VTlQgPSA2O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9OT1RJRklDQVRJT05fTUVTU0FHRSA9ICdNRVNTQUdFX05PVF9QUk9WSURFRCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05PVElGSUNBVElPTl9UWVBFUyA9IGtleU1pcnJvcih7XG4gIGluZm86IG51bGwsXG4gIGVycm9yOiBudWxsLFxuICB3YXJuaW5nOiBudWxsLFxuICBzdWNjZXNzOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTk9USUZJQ0FUSU9OX1RPUElDUyA9IGtleU1pcnJvcih7XG4gIGdsb2JhbDogbnVsbCxcbiAgZmlsZTogbnVsbFxufSk7XG5cbi8vIE1pbmltdW0gdGltZSBiZXR3ZWVuIGlkZW50aWNhbCBub3RpZmljYXRpb25zIGFib3V0IGRlY2suZ2wgZXJyb3JzXG5leHBvcnQgY29uc3QgVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUUgPSAzMzA7XG5cbi8vIEFuaW1hdGlvblxuZXhwb3J0IGNvbnN0IEJBU0VfU1BFRUQgPSA2MDA7XG5leHBvcnQgY29uc3QgRlBTID0gNjA7XG5cbi8qKlxuICogNCBBbmltYXRpb24gV2luZG93IFR5cGVzXG4gKiAxLiBmcmVlXG4gKiAgfC0+ICB8LT5cbiAqIEN1cnJlbnQgdGltZSBpcyBhIGZpeGVkIHJhbmdlLCBhbmltYXRpb24gY29udHJvbGxlciBjYWxscyBuZXh0IGFuaW1hdGlvbiBmcmFtZXMgY29udGludW91c2x5IHRvIGFuaW1hdGlvbiBhIG1vdmluZyB3aW5kb3dcbiAqIFRoZSBpbmNyZW1lbnQgaWQgYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gKlxuICogMi4gaW5jcmVtZW50YWxcbiAqIHwgICAgfC0+XG4gKiBTYW1lIGFzIGZyZWUsIGN1cnJlbnQgdGltZSBpcyBhIGdyb3dpbmcgcmFuZ2UsIG9ubHkgdGhlIG1heCB2YWx1ZSBvZiByYW5nZSBpbmNyZW1lbnQgZHVyaW5nIGFuaW1hdGlvbi5cbiAqIFRoZSBpbmNyZW1lbnQgaXMgYWxzbyBiYXNlZCBvbiBkb21haW4gLyBCQVNFX1NQRUVEICogU1BFRURcbiAqXG4gKiAzLiBwb2ludFxuICogbyAtPiBvXG4gKiBDdXJyZW50IHRpbWUgaXMgYSBwb2ludCwgYW5pbWF0aW9uIGNvbnRyb2xsZXIgY2FsbHMgbmV4dCBhbmltYXRpb24gZnJhbWUgY29udGludW91c2x5IHRvIGFuaW1hdGlvbiBhIG1vdmluZyBwb2ludFxuICogVGhlIGluY3JlbWVudCBpcyBiYXNlZCBvbiBkb21haW4gLyBCQVNFX1NQRUVEICogU1BFRURcbiAqXG4gKiA0LiBpbnRlcnZhbFxuICogbyB+PiBvXG4gKiBDdXJyZW50IHRpbWUgaXMgYSBwb2ludC4gQW4gYXJyYXkgb2Ygc29ydGVkIHRpbWUgc3RlcHMgbmVlZCB0byBiZSBwcm92aWRlZC5cbiAqIGFuaW1hdGlvbiBjb250cm9sbGVyIGNhbGxzIG5leHQgYW5pbWF0aW9uIGF0IGEgaW50ZXJ2YWwgd2hlbiB0aGUgcG9pbnQganVtcHMgdG8gdGhlIG5leHQgc3RlcFxuICovXG5leHBvcnQgY29uc3QgQU5JTUFUSU9OX1dJTkRPVyA9IGtleU1pcnJvcih7XG4gIGZyZWU6IG51bGwsXG4gIGluY3JlbWVudGFsOiBudWxsLFxuICBwb2ludDogbnVsbCxcbiAgaW50ZXJ2YWw6IG51bGxcbn0pO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVElNRV9GT1JNQVQgPSAnTU0vREQvWVkgSEg6bW06c3NhJztcbmV4cG9ydCBjb25zdCBTUEVFRF9DT05UUk9MX1JBTkdFOiBbbnVtYmVyLCBudW1iZXJdID0gWzAsIDEwXTtcbmV4cG9ydCBjb25zdCBTUEVFRF9DT05UUk9MX1NURVAgPSAwLjAwMTtcblxuLy8gR2VvY29kZXJcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9EQVRBU0VUX05BTUUgPSAnZ2VvY29kZXJfZGF0YXNldCc7XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfTEFZRVJfSUQgPSAnZ2VvY29kZXJfbGF5ZXInO1xuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0dFT19PRkZTRVQgPSAwLjA1O1xuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0lDT05fQ09MT1I6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSA9IFsyNTUsIDAsIDBdO1xuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0lDT05fU0laRSA9IDgwO1xuXG4vLyBFZGl0b3JcbmV4cG9ydCBjb25zdCBFRElUT1JfTEFZRVJfSUQgPSAna2VwbGVyX2VkaXRvcl9sYXllcic7XG5leHBvcnQgY29uc3QgRURJVE9SX0xBWUVSX1BJQ0tJTkdfUkFESVVTID0gNjtcbmV4cG9ydCBjb25zdCBFRElUT1JfTU9ERVMgPSB7XG4gIERSQVdfUE9MWUdPTjogJ0RSQVdfUE9MWUdPTicsXG4gIERSQVdfUkVDVEFOR0xFOiAnRFJBV19SRUNUQU5HTEUnLFxuICBFRElUOiAnRURJVF9WRVJURVgnXG59O1xuXG5leHBvcnQgY29uc3QgUExPVF9UWVBFUyA9IGtleU1pcnJvcih7XG4gIGhpc3RvZ3JhbTogbnVsbCxcbiAgbGluZUNoYXJ0OiBudWxsXG59KTtcblxuLy8gRmlsdGVyXG5leHBvcnQgY29uc3QgSU5JVF9GSUxURVJfSVRFTVNfSU5fRFJPUERPV04gPSAxMDA7XG5cbi8vIEdQVSBGaWx0ZXJpbmdcbi8qKlxuICogTWF4IG51bWJlciBvZiBmaWx0ZXIgdmFsdWUgYnVmZmVycyB0aGF0IGRlY2suZ2wgcHJvdmlkZXNcbiAqL1xuZXhwb3J0IGNvbnN0IE1BWF9HUFVfRklMVEVSUyA9IDQ7XG5leHBvcnQgY29uc3QgTUFQX1RIVU1CTkFJTF9ESU1FTlNJT04gPSB7XG4gIHdpZHRoOiAzMDAsXG4gIGhlaWdodDogMjAwXG59O1xuXG5leHBvcnQgY29uc3QgTUFQX0lORk9fQ0hBUkFDVEVSID0ge1xuICB0aXRsZTogMTAwLFxuICBkZXNjcmlwdGlvbjogMTAwXG59O1xuXG4vLyBMb2FkIGRhdGFcbmV4cG9ydCBjb25zdCBMT0FESU5HX01FVEhPRFMgPSBrZXlNaXJyb3Ioe1xuICB1cGxvYWQ6IG51bGwsXG4gIHN0b3JhZ2U6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9GRUFUVVJFX0ZMQUdTID0ge307XG5cbmV4cG9ydCBjb25zdCBEQVRBU0VUX0ZPUk1BVFMgPSBrZXlNaXJyb3Ioe1xuICByb3c6IG51bGwsXG4gIGdlb2pzb246IG51bGwsXG4gIGNzdjogbnVsbCxcbiAga2VwbGVyZ2w6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgTUFQX0NPTlRST0xTID0ga2V5TWlycm9yKHtcbiAgdmlzaWJsZUxheWVyczogbnVsbCxcbiAgbWFwTGVnZW5kOiBudWxsLFxuICB0b2dnbGUzZDogbnVsbCxcbiAgc3BsaXRNYXA6IG51bGwsXG4gIG1hcERyYXc6IG51bGwsXG4gIG1hcExvY2FsZTogbnVsbCxcbiAgZWZmZWN0OiBudWxsXG59KTtcblxuLyoqXG4gKiBBIG11bHRpcGxpZXIgZm9yIHNjcmVlbi1zcGFjZSB3aWR0aC9zY2FsZSBmb3IgQXJjLCBMaW5lLCBJY29uIGFuZCBUZXh0IGxheWVycy5cbiAqIFJlcXVpcmVkIGluIG9yZGVyIHRvIG1haW50YWluIHRoZSBzYW1lIGFwcGVhcmFuY2UgYWZ0ZXIgdXBncmFkaW5nIHRvIGRlY2suZ2wgdjguNS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS92aXNnbC9kZWNrLmdsL2Jsb2IvbWFzdGVyL2RvY3MvdXBncmFkZS1ndWlkZS5tZFxuICovXG5leHBvcnQgY29uc3QgUFJPSkVDVEVEX1BJWEVMX1NJWkVfTVVMVElQTElFUiA9IDIgLyAzO1xuXG4vKipcbiAqIE1heGltdW0gdmFsdWUgZm9yIHRleHQgb3V0bGluZSB3aWR0aFxuICovXG5leHBvcnQgY29uc3QgVEVYVF9PVVRMSU5FX01VTFRJUExJRVIgPSA1O1xuXG5leHBvcnQgY29uc3QgZGF0YVRlc3RJZHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGluZm9JY29uOiAnaW5mby1pY29uJyxcbiAgd2FybmluZ0ljb246ICd3YXJuaW5nLWljb24nLFxuICBlcnJvckljb246ICdlcnJvci1pY29uJyxcbiAgc3VjY2Vzc0ljb246ICdzdWNjZXNzLWljb24nLFxuICBjaGVja21hcmtJY29uOiAnY2hlY2ttYXJrLWljb24nLFxuICBzb3J0YWJsZUxheWVySXRlbTogJ3NvcnRhYmxlLWxheWVyLWl0ZW0nLFxuICBzdGF0aWNMYXllckl0ZW06ICdzdGF0aWMtbGF5ZXItaXRlbScsXG4gIGxheWVyVGl0bGVFZGl0b3I6ICdsYXllcl9fdGl0bGVfX2VkaXRvcicsXG4gIHJlbW92ZUxheWVyQWN0aW9uOiAncmVtb3ZlLWxheWVyLWFjdGlvbicsXG4gIGxheWVyUGFuZWw6ICdsYXllci1wYW5lbCcsXG4gIHNvcnRhYmxlRWZmZWN0SXRlbTogJ3NvcnRhYmxlLWVmZmVjdC1pdGVtJyxcbiAgc3RhdGljRWZmZWN0SXRlbTogJ3N0YXRpYy1lZmZlY3QtaXRlbSdcbn07XG5cbi8vIEVmZmVjdHNcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRUZGRUNUX1RZUEUgPSAnaW5rJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTElHSFRfQ09MT1I6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSA9IFsyNTUsIDI1NSwgMjU1XTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xJR0hUX0lOVEVOU0lUWSA9IDE7XG5leHBvcnQgY29uc3QgREVGQVVMVF9TSEFET1dfSU5URU5TSVRZID0gMC41O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU0hBRE9XX0NPTE9SOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gPSBbMCwgMCwgMF07XG5leHBvcnQgY29uc3QgTElHSFRfQU5EX1NIQURPV19FRkZFQ1QgPSB7dHlwZTogJ2xpZ2h0QW5kU2hhZG93JywgbmFtZTogJ0xpZ2h0ICYgU2hhZG93J307XG5leHBvcnQgY29uc3QgREVGQVVMVF9MSUdIVF9BTkRfU0hBRE9XX1BST1BTID0ge1xuICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gIHVzZUN1cnJlbnRUaW1lOiBmYWxzZSxcbiAgc2hhZG93SW50ZW5zaXR5OiBERUZBVUxUX1NIQURPV19JTlRFTlNJVFksXG4gIHNoYWRvd0NvbG9yOiBbLi4uREVGQVVMVF9TSEFET1dfQ09MT1JdIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcbiAgc3VuTGlnaHRDb2xvcjogWy4uLkRFRkFVTFRfTElHSFRfQ09MT1JdIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcbiAgc3VuTGlnaHRJbnRlbnNpdHk6IERFRkFVTFRfTElHSFRfSU5URU5TSVRZLFxuICBhbWJpZW50TGlnaHRDb2xvcjogWy4uLkRFRkFVTFRfTElHSFRfQ09MT1JdIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcbiAgYW1iaWVudExpZ2h0SW50ZW5zaXR5OiBERUZBVUxUX0xJR0hUX0lOVEVOU0lUWVxufTtcblxuZXhwb3J0IGNvbnN0IFBPU1RQUk9DRVNTSU5HX0VGRkVDVFM6IHtba2V5OiBzdHJpbmddOiB7dHlwZTogc3RyaW5nOyBuYW1lOiBzdHJpbmd9fSA9IHtcbiAgaW5rOiB7XG4gICAgdHlwZTogJ2luaycsXG4gICAgbmFtZTogJ0luaydcbiAgfSxcbiAgYnJpZ2h0bmVzc0NvbnRyYXN0OiB7XG4gICAgdHlwZTogJ2JyaWdodG5lc3NDb250cmFzdCcsXG4gICAgbmFtZTogJ0JyaWdodG5lc3MgJiBDb250cmFzdCdcbiAgfSxcbiAgaHVlU2F0dXJhdGlvbjoge1xuICAgIHR5cGU6ICdodWVTYXR1cmF0aW9uJyxcbiAgICBuYW1lOiAnSHVlICYgU2F0dXJhdGlvbidcbiAgfSxcbiAgdmlicmFuY2U6IHtcbiAgICB0eXBlOiAndmlicmFuY2UnLFxuICAgIG5hbWU6ICdWaWJyYW5jZSdcbiAgfSxcbiAgc2VwaWE6IHtcbiAgICB0eXBlOiAnc2VwaWEnLFxuICAgIG5hbWU6ICdTZXBpYSdcbiAgfSxcbiAgZG90U2NyZWVuOiB7XG4gICAgdHlwZTogJ2RvdFNjcmVlbicsXG4gICAgbmFtZTogJ0RvdCBTY3JlZW4nXG4gIH0sXG4gIGNvbG9ySGFsZnRvbmU6IHtcbiAgICB0eXBlOiAnY29sb3JIYWxmdG9uZScsXG4gICAgbmFtZTogJ0NvbG9yIEhhbGZ0b25lJ1xuICB9LFxuICBub2lzZToge1xuICAgIHR5cGU6ICdub2lzZScsXG4gICAgbmFtZTogJ05vaXNlJ1xuICB9LFxuICB0cmlhbmdsZUJsdXI6IHtcbiAgICB0eXBlOiAndHJpYW5nbGVCbHVyJyxcbiAgICBuYW1lOiAnQmx1ciAoVHJpYW5nbGUpJ1xuICB9LFxuICB6b29tQmx1cjoge1xuICAgIHR5cGU6ICd6b29tQmx1cicsXG4gICAgbmFtZTogJ0JsdXIgKFpvb20pJ1xuICB9LFxuICB0aWx0U2hpZnQ6IHtcbiAgICB0eXBlOiAndGlsdFNoaWZ0JyxcbiAgICBuYW1lOiAnQmx1ciAoVGlsdCBTaGlmdCknXG4gIH0sXG4gIGVkZ2VXb3JrOiB7XG4gICAgdHlwZTogJ2VkZ2VXb3JrJyxcbiAgICBuYW1lOiAnRWRnZSB3b3JrJ1xuICB9LFxuICB2aWduZXR0ZToge1xuICAgIHR5cGU6ICd2aWduZXR0ZScsXG4gICAgbmFtZTogJ1ZpZ25ldHRlJ1xuICB9LFxuICBtYWduaWZ5OiB7XG4gICAgdHlwZTogJ21hZ25pZnknLFxuICAgIG5hbWU6ICdNYWduaWZ5J1xuICB9LFxuICBoZXhhZ29uYWxQaXhlbGF0ZToge1xuICAgIHR5cGU6ICdoZXhhZ29uYWxQaXhlbGF0ZScsXG4gICAgbmFtZTogJ0hleGFnb25hbCBQaXhlbGF0ZSdcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEVGRkVDVF9ERVNDUzoge3R5cGU6IHN0cmluZzsgbmFtZTogc3RyaW5nfVtdID0gW1xuICBMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVCxcbiAgLi4uT2JqZWN0LmtleXMoUE9TVFBST0NFU1NJTkdfRUZGRUNUUykubWFwKGtleU5hbWUgPT4gUE9TVFBST0NFU1NJTkdfRUZGRUNUU1trZXlOYW1lXSlcbl07XG4iXX0=
|
|
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=
|