kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
194 lines (189 loc) • 23 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.durationYear = exports.durationWeek = exports.durationSecond = exports.durationMonth = exports.durationMinute = exports.durationMillisecond = exports.durationHour = exports.durationDay = exports.WOW = exports.TIME_INTERVALS = exports.TIME_AGGREGATION = exports.TICK_INTERVALS = exports.PLOT_TYPE_OPTIONS = exports.INTERVAL_OPTIONS = exports.INTERVAL = exports.DURATIONS = exports.BINS_LARGE = exports.BINS = exports.ANIMATION_TYPE = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _keymirror = _interopRequireDefault(require("keymirror"));
var _d3Time = require("d3-time");
var _ = require("./");
var _TICK_INTERVALS; // SPDX-License-Identifier: MIT
// Copyright contributors to the kepler.gl project
// TODO: TimeInterval should be an enum
var durationMillisecond = exports.durationMillisecond = 1;
var durationSecond = exports.durationSecond = 1000;
var durationMinute = exports.durationMinute = durationSecond * 60;
var durationHour = exports.durationHour = durationMinute * 60;
var durationDay = exports.durationDay = durationHour * 24;
var durationWeek = exports.durationWeek = durationDay * 7;
var durationMonth = exports.durationMonth = durationDay * 30;
var durationYear = exports.durationYear = durationDay * 365;
// moment.duration functions
var DURATIONS = exports.DURATIONS = {
years: durationYear,
months: durationMonth,
weeks: durationWeek,
days: durationDay,
hours: durationHour,
minutes: durationMinute,
seconds: durationSecond,
milliseconds: durationMillisecond
};
// interval key to d3 time interval function
var TIME_INTERVALS = exports.TIME_INTERVALS = {
year: _d3Time.utcYear,
month: _d3Time.utcMonth,
week: _d3Time.utcWeek,
day: _d3Time.utcDay,
hour: _d3Time.utcHour,
minute: _d3Time.utcMinute,
second: _d3Time.utcSecond,
millisecond: _d3Time.utcMillisecond
};
var INTERVAL = exports.INTERVAL = (0, _keymirror["default"])({
'1-second': null,
'5-second': null,
'15-second': null,
'30-second': null,
'1-minute': null,
'5-minute': null,
'15-minute': null,
'30-minute': null,
'1-hour': null,
'3-hour': null,
'6-hour': null,
'12-hour': null,
'1-day': null,
'2-day': null,
'1-week': null,
'1-month': null,
'3-month': null,
'1-year': null
});
// interval eligible for calculate week over week
var WOW = exports.WOW = (0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, INTERVAL['1-day'], 7), INTERVAL['1-week'], 1);
var INTERVAL_OPTIONS = exports.INTERVAL_OPTIONS = Object.keys(INTERVAL).map(function (id) {
var _id$split = id.split('-'),
_id$split2 = (0, _slicedToArray2["default"])(_id$split, 2),
step = _id$split2[0],
interval = _id$split2[1];
// capitalizeFirstLetter(interval)
return {
id: id,
label: "".concat(step, " ").concat(interval)
};
});
var TICK_INTERVALS = exports.TICK_INTERVALS = (_TICK_INTERVALS = {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_TICK_INTERVALS, INTERVAL['1-millisecond'], {
interval: 'millisecond',
step: 1,
duration: durationMillisecond
}), INTERVAL['1-second'], {
interval: 'second',
step: 1,
duration: durationSecond
}), INTERVAL['5-second'], {
interval: 'second',
step: 5,
duration: 5 * durationSecond
}), INTERVAL['15-second'], {
interval: 'second',
step: 15,
duration: 15 * durationSecond
}), INTERVAL['30-second'], {
interval: 'second',
step: 30,
duration: 30 * durationSecond
}), INTERVAL['1-minute'], {
interval: 'minute',
step: 1,
duration: durationMinute
}), INTERVAL['5-minute'], {
interval: 'minute',
step: 5,
duration: 5 * durationMinute
}), INTERVAL['15-minute'], {
interval: 'minute',
step: 15,
duration: 15 * durationMinute
}), INTERVAL['30-minute'], {
interval: 'minute',
step: 30,
duration: 30 * durationMinute
}), INTERVAL['1-hour'], {
interval: 'hour',
step: 1,
duration: durationHour
}), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_TICK_INTERVALS, INTERVAL['3-hour'], {
interval: 'hour',
step: 3,
duration: 3 * durationHour
}), INTERVAL['6-hour'], {
interval: 'hour',
step: 6,
duration: 6 * durationHour
}), INTERVAL['12-hour'], {
interval: 'hour',
step: 12,
duration: 12 * durationHour
}), INTERVAL['1-day'], {
interval: 'day',
step: 1,
duration: durationDay
}), INTERVAL['2-day'], {
interval: 'day',
step: 2,
duration: 2 * durationDay
}), INTERVAL['1-week'], {
interval: 'week',
step: 1,
duration: durationWeek
}), INTERVAL['1-month'], {
interval: 'month',
step: 1,
duration: durationMonth
}), INTERVAL['3-month'], {
interval: 'month',
step: 3,
duration: 3 * durationMonth
}), INTERVAL['1-year'], {
interval: 'year',
step: 1,
duration: durationYear
}));
var PLOT_TYPE_OPTIONS = exports.PLOT_TYPE_OPTIONS = (0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _.PLOT_TYPES.lineChart, {
id: _.PLOT_TYPES.lineChart,
label: 'Chart',
icon: 'LineChart'
}), _.PLOT_TYPES.histogram, {
id: _.PLOT_TYPES.histogram,
label: 'Histogram',
icon: 'Histogram'
});
var BINS_LARGE = exports.BINS_LARGE = 100;
var BINS = exports.BINS = 30;
var TIME_AGGREGATION = exports.TIME_AGGREGATION = [{
id: _.AGGREGATION_TYPES.average,
label: 'Average'
}, {
id: _.AGGREGATION_TYPES.sum,
label: 'Sum'
}, {
id: _.AGGREGATION_TYPES.maximum,
label: 'Maximum'
}, {
id: _.AGGREGATION_TYPES.minimum,
label: 'Minimum'
}, {
id: _.AGGREGATION_TYPES.median,
label: 'Median'
}, {
id: _.AGGREGATION_TYPES.stdev,
label: 'Std Deviation'
}];
var ANIMATION_TYPE = exports.ANIMATION_TYPE = (0, _keymirror["default"])({
interval: null,
continuous: null
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfa2V5bWlycm9yIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZDNUaW1lIiwiXyIsIl9USUNLX0lOVEVSVkFMUyIsImR1cmF0aW9uTWlsbGlzZWNvbmQiLCJleHBvcnRzIiwiZHVyYXRpb25TZWNvbmQiLCJkdXJhdGlvbk1pbnV0ZSIsImR1cmF0aW9uSG91ciIsImR1cmF0aW9uRGF5IiwiZHVyYXRpb25XZWVrIiwiZHVyYXRpb25Nb250aCIsImR1cmF0aW9uWWVhciIsIkRVUkFUSU9OUyIsInllYXJzIiwibW9udGhzIiwid2Vla3MiLCJkYXlzIiwiaG91cnMiLCJtaW51dGVzIiwic2Vjb25kcyIsIm1pbGxpc2Vjb25kcyIsIlRJTUVfSU5URVJWQUxTIiwieWVhciIsInV0Y1llYXIiLCJtb250aCIsInV0Y01vbnRoIiwid2VlayIsInV0Y1dlZWsiLCJkYXkiLCJ1dGNEYXkiLCJob3VyIiwidXRjSG91ciIsIm1pbnV0ZSIsInV0Y01pbnV0ZSIsInNlY29uZCIsInV0Y1NlY29uZCIsIm1pbGxpc2Vjb25kIiwidXRjTWlsbGlzZWNvbmQiLCJJTlRFUlZBTCIsImtleU1pcnJvciIsIldPVyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJJTlRFUlZBTF9PUFRJT05TIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImlkIiwiX2lkJHNwbGl0Iiwic3BsaXQiLCJfaWQkc3BsaXQyIiwiX3NsaWNlZFRvQXJyYXkyIiwic3RlcCIsImludGVydmFsIiwibGFiZWwiLCJjb25jYXQiLCJUSUNLX0lOVEVSVkFMUyIsImR1cmF0aW9uIiwiUExPVF9UWVBFX09QVElPTlMiLCJQTE9UX1RZUEVTIiwibGluZUNoYXJ0IiwiaWNvbiIsImhpc3RvZ3JhbSIsIkJJTlNfTEFSR0UiLCJCSU5TIiwiVElNRV9BR0dSRUdBVElPTiIsIkFHR1JFR0FUSU9OX1RZUEVTIiwiYXZlcmFnZSIsInN1bSIsIm1heGltdW0iLCJtaW5pbXVtIiwibWVkaWFuIiwic3RkZXYiLCJBTklNQVRJT05fVFlQRSIsImNvbnRpbnVvdXMiXSwic291cmNlcyI6WyIuLi9zcmMvdGltZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQga2V5TWlycm9yIGZyb20gJ2tleW1pcnJvcic7XG5pbXBvcnQge1xuICB1dGNEYXksXG4gIHV0Y0hvdXIsXG4gIHV0Y01pbGxpc2Vjb25kLFxuICB1dGNNaW51dGUsXG4gIHV0Y01vbnRoLFxuICB1dGNTZWNvbmQsXG4gIHV0Y1dlZWssXG4gIHV0Y1llYXJcbn0gZnJvbSAnZDMtdGltZSc7XG5cbmltcG9ydCB7VmFsdWVPZn0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbmltcG9ydCB7QUdHUkVHQVRJT05fVFlQRVMsIFBMT1RfVFlQRVN9IGZyb20gJy4vJztcblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcnZhbE9wdGlvbiB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGltZUFnZ3JlZ2F0aW9uIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaW1lSW50ZXJ2YWxzIHtcbiAgeWVhcjogYW55O1xuICBtb250aDogYW55O1xuICB3ZWVrOiBhbnk7XG4gIGRheTogYW55O1xuICBob3VyOiBhbnk7XG4gIG1pbnV0ZTogYW55O1xuICBzZWNvbmQ6IGFueTtcbiAgbWlsbGlzZWNvbmQ6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEdXJhdGlvbnMge1xuICB5ZWFyczogbnVtYmVyO1xuICBtb250aHM6IG51bWJlcjtcbiAgd2Vla3M6IG51bWJlcjtcbiAgZGF5czogbnVtYmVyO1xuICBob3VyczogbnVtYmVyO1xuICBtaW51dGVzOiBudW1iZXI7XG4gIHNlY29uZHM6IG51bWJlcjtcbiAgbWlsbGlzZWNvbmRzOiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFRpbWVJbnRlcnZhbCA9IHN0cmluZzsgLy8gVE9ETzogVGltZUludGVydmFsIHNob3VsZCBiZSBhbiBlbnVtXG5cbmV4cG9ydCBpbnRlcmZhY2UgVGlja0ludGVydmFsIHtcbiAgaW50ZXJ2YWw6IFRpbWVJbnRlcnZhbDtcbiAgc3RlcDogbnVtYmVyO1xuICBkdXJhdGlvbjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRpY2tJbnRlcnZhbHMge1xuICBba2V5OiBWYWx1ZU9mPEludGVydmFsPl06IFRpY2tJbnRlcnZhbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcnZhbCB7XG4gICcxLXNlY29uZCc6IHN0cmluZztcbiAgJzUtc2Vjb25kJzogc3RyaW5nO1xuICAnMTUtc2Vjb25kJzogc3RyaW5nO1xuICAnMzAtc2Vjb25kJzogc3RyaW5nO1xuICAnMS1taW51dGUnOiBzdHJpbmc7XG4gICc1LW1pbnV0ZSc6IHN0cmluZztcbiAgJzE1LW1pbnV0ZSc6IHN0cmluZztcbiAgJzMwLW1pbnV0ZSc6IHN0cmluZztcbiAgJzEtaG91cic6IHN0cmluZztcbiAgJzMtaG91cic6IHN0cmluZztcbiAgJzYtaG91cic6IHN0cmluZztcbiAgJzEyLWhvdXInOiBzdHJpbmc7XG4gICcxLWRheSc6IHN0cmluZztcbiAgJzItZGF5Jzogc3RyaW5nO1xuICAnMS13ZWVrJzogc3RyaW5nO1xuICAnMS1tb250aCc6IHN0cmluZztcbiAgJzMtbW9udGgnOiBzdHJpbmc7XG4gICcxLXllYXInOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5pbWF0aW9uVHlwZSB7XG4gIGNvbnRpbnVvdXM6IHN0cmluZztcbiAgaW50ZXJ2YWw6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQW5pbWF0aW9uV2luZG93ID0gYW55O1xuXG5leHBvcnQgY29uc3QgZHVyYXRpb25NaWxsaXNlY29uZCA9IDE7XG5leHBvcnQgY29uc3QgZHVyYXRpb25TZWNvbmQgPSAxMDAwO1xuZXhwb3J0IGNvbnN0IGR1cmF0aW9uTWludXRlID0gZHVyYXRpb25TZWNvbmQgKiA2MDtcbmV4cG9ydCBjb25zdCBkdXJhdGlvbkhvdXIgPSBkdXJhdGlvbk1pbnV0ZSAqIDYwO1xuZXhwb3J0IGNvbnN0IGR1cmF0aW9uRGF5ID0gZHVyYXRpb25Ib3VyICogMjQ7XG5leHBvcnQgY29uc3QgZHVyYXRpb25XZWVrID0gZHVyYXRpb25EYXkgKiA3O1xuZXhwb3J0IGNvbnN0IGR1cmF0aW9uTW9udGggPSBkdXJhdGlvbkRheSAqIDMwO1xuZXhwb3J0IGNvbnN0IGR1cmF0aW9uWWVhciA9IGR1cmF0aW9uRGF5ICogMzY1O1xuXG4vLyBtb21lbnQuZHVyYXRpb24gZnVuY3Rpb25zXG5leHBvcnQgY29uc3QgRFVSQVRJT05TOiBEdXJhdGlvbnMgPSB7XG4gIHllYXJzOiBkdXJhdGlvblllYXIsXG4gIG1vbnRoczogZHVyYXRpb25Nb250aCxcbiAgd2Vla3M6IGR1cmF0aW9uV2VlayxcbiAgZGF5czogZHVyYXRpb25EYXksXG4gIGhvdXJzOiBkdXJhdGlvbkhvdXIsXG4gIG1pbnV0ZXM6IGR1cmF0aW9uTWludXRlLFxuICBzZWNvbmRzOiBkdXJhdGlvblNlY29uZCxcbiAgbWlsbGlzZWNvbmRzOiBkdXJhdGlvbk1pbGxpc2Vjb25kXG59O1xuXG4vLyBpbnRlcnZhbCBrZXkgdG8gZDMgdGltZSBpbnRlcnZhbCBmdW5jdGlvblxuZXhwb3J0IGNvbnN0IFRJTUVfSU5URVJWQUxTOiBUaW1lSW50ZXJ2YWxzID0ge1xuICB5ZWFyOiB1dGNZZWFyLFxuICBtb250aDogdXRjTW9udGgsXG4gIHdlZWs6IHV0Y1dlZWssXG4gIGRheTogdXRjRGF5LFxuICBob3VyOiB1dGNIb3VyLFxuICBtaW51dGU6IHV0Y01pbnV0ZSxcbiAgc2Vjb25kOiB1dGNTZWNvbmQsXG4gIG1pbGxpc2Vjb25kOiB1dGNNaWxsaXNlY29uZFxufTtcblxuZXhwb3J0IGNvbnN0IElOVEVSVkFMOiBJbnRlcnZhbCA9IGtleU1pcnJvcih7XG4gICcxLXNlY29uZCc6IG51bGwsXG4gICc1LXNlY29uZCc6IG51bGwsXG4gICcxNS1zZWNvbmQnOiBudWxsLFxuICAnMzAtc2Vjb25kJzogbnVsbCxcbiAgJzEtbWludXRlJzogbnVsbCxcbiAgJzUtbWludXRlJzogbnVsbCxcbiAgJzE1LW1pbnV0ZSc6IG51bGwsXG4gICczMC1taW51dGUnOiBudWxsLFxuICAnMS1ob3VyJzogbnVsbCxcbiAgJzMtaG91cic6IG51bGwsXG4gICc2LWhvdXInOiBudWxsLFxuICAnMTItaG91cic6IG51bGwsXG4gICcxLWRheSc6IG51bGwsXG4gICcyLWRheSc6IG51bGwsXG4gICcxLXdlZWsnOiBudWxsLFxuICAnMS1tb250aCc6IG51bGwsXG4gICczLW1vbnRoJzogbnVsbCxcbiAgJzEteWVhcic6IG51bGxcbn0pO1xuXG4vLyBpbnRlcnZhbCBlbGlnaWJsZSBmb3IgY2FsY3VsYXRlIHdlZWsgb3ZlciB3ZWVrXG5leHBvcnQgY29uc3QgV09XOiB7XG4gIFtrZXk6IFZhbHVlT2Y8SW50ZXJ2YWw+XTogbnVtYmVyO1xufSA9IHtcbiAgW0lOVEVSVkFMWycxLWRheSddXTogNyxcbiAgW0lOVEVSVkFMWycxLXdlZWsnXV06IDFcbn07XG5cbmV4cG9ydCBjb25zdCBJTlRFUlZBTF9PUFRJT05TOiBJbnRlcnZhbE9wdGlvbltdID0gT2JqZWN0LmtleXMoSU5URVJWQUwpLm1hcChpZCA9PiB7XG4gIGNvbnN0IFtzdGVwLCBpbnRlcnZhbF0gPSBpZC5zcGxpdCgnLScpO1xuICAvLyBjYXBpdGFsaXplRmlyc3RMZXR0ZXIoaW50ZXJ2YWwpXG4gIHJldHVybiB7aWQsIGxhYmVsOiBgJHtzdGVwfSAke2ludGVydmFsfWB9O1xufSk7XG5cbmV4cG9ydCBjb25zdCBUSUNLX0lOVEVSVkFMUzogVGlja0ludGVydmFscyA9IHtcbiAgW0lOVEVSVkFMWycxLW1pbGxpc2Vjb25kJ11dOiB7aW50ZXJ2YWw6ICdtaWxsaXNlY29uZCcsIHN0ZXA6IDEsIGR1cmF0aW9uOiBkdXJhdGlvbk1pbGxpc2Vjb25kfSxcbiAgW0lOVEVSVkFMWycxLXNlY29uZCddXToge2ludGVydmFsOiAnc2Vjb25kJywgc3RlcDogMSwgZHVyYXRpb246IGR1cmF0aW9uU2Vjb25kfSxcbiAgW0lOVEVSVkFMWyc1LXNlY29uZCddXToge2ludGVydmFsOiAnc2Vjb25kJywgc3RlcDogNSwgZHVyYXRpb246IDUgKiBkdXJhdGlvblNlY29uZH0sXG4gIFtJTlRFUlZBTFsnMTUtc2Vjb25kJ11dOiB7aW50ZXJ2YWw6ICdzZWNvbmQnLCBzdGVwOiAxNSwgZHVyYXRpb246IDE1ICogZHVyYXRpb25TZWNvbmR9LFxuICBbSU5URVJWQUxbJzMwLXNlY29uZCddXToge2ludGVydmFsOiAnc2Vjb25kJywgc3RlcDogMzAsIGR1cmF0aW9uOiAzMCAqIGR1cmF0aW9uU2Vjb25kfSxcbiAgW0lOVEVSVkFMWycxLW1pbnV0ZSddXToge2ludGVydmFsOiAnbWludXRlJywgc3RlcDogMSwgZHVyYXRpb246IGR1cmF0aW9uTWludXRlfSxcbiAgW0lOVEVSVkFMWyc1LW1pbnV0ZSddXToge2ludGVydmFsOiAnbWludXRlJywgc3RlcDogNSwgZHVyYXRpb246IDUgKiBkdXJhdGlvbk1pbnV0ZX0sXG4gIFtJTlRFUlZBTFsnMTUtbWludXRlJ11dOiB7aW50ZXJ2YWw6ICdtaW51dGUnLCBzdGVwOiAxNSwgZHVyYXRpb246IDE1ICogZHVyYXRpb25NaW51dGV9LFxuICBbSU5URVJWQUxbJzMwLW1pbnV0ZSddXToge2ludGVydmFsOiAnbWludXRlJywgc3RlcDogMzAsIGR1cmF0aW9uOiAzMCAqIGR1cmF0aW9uTWludXRlfSxcbiAgW0lOVEVSVkFMWycxLWhvdXInXV06IHtpbnRlcnZhbDogJ2hvdXInLCBzdGVwOiAxLCBkdXJhdGlvbjogZHVyYXRpb25Ib3VyfSxcbiAgW0lOVEVSVkFMWyczLWhvdXInXV06IHtpbnRlcnZhbDogJ2hvdXInLCBzdGVwOiAzLCBkdXJhdGlvbjogMyAqIGR1cmF0aW9uSG91cn0sXG4gIFtJTlRFUlZBTFsnNi1ob3VyJ11dOiB7aW50ZXJ2YWw6ICdob3VyJywgc3RlcDogNiwgZHVyYXRpb246IDYgKiBkdXJhdGlvbkhvdXJ9LFxuICBbSU5URVJWQUxbJzEyLWhvdXInXV06IHtpbnRlcnZhbDogJ2hvdXInLCBzdGVwOiAxMiwgZHVyYXRpb246IDEyICogZHVyYXRpb25Ib3VyfSxcbiAgW0lOVEVSVkFMWycxLWRheSddXToge2ludGVydmFsOiAnZGF5Jywgc3RlcDogMSwgZHVyYXRpb246IGR1cmF0aW9uRGF5fSxcbiAgW0lOVEVSVkFMWycyLWRheSddXToge2ludGVydmFsOiAnZGF5Jywgc3RlcDogMiwgZHVyYXRpb246IDIgKiBkdXJhdGlvbkRheX0sXG4gIFtJTlRFUlZBTFsnMS13ZWVrJ11dOiB7aW50ZXJ2YWw6ICd3ZWVrJywgc3RlcDogMSwgZHVyYXRpb246IGR1cmF0aW9uV2Vla30sXG4gIFtJTlRFUlZBTFsnMS1tb250aCddXToge2ludGVydmFsOiAnbW9udGgnLCBzdGVwOiAxLCBkdXJhdGlvbjogZHVyYXRpb25Nb250aH0sXG4gIFtJTlRFUlZBTFsnMy1tb250aCddXToge2ludGVydmFsOiAnbW9udGgnLCBzdGVwOiAzLCBkdXJhdGlvbjogMyAqIGR1cmF0aW9uTW9udGh9LFxuICBbSU5URVJWQUxbJzEteWVhciddXToge2ludGVydmFsOiAneWVhcicsIHN0ZXA6IDEsIGR1cmF0aW9uOiBkdXJhdGlvblllYXJ9XG59O1xuXG5leHBvcnQgY29uc3QgUExPVF9UWVBFX09QVElPTlMgPSB7XG4gIFtQTE9UX1RZUEVTLmxpbmVDaGFydF06IHtcbiAgICBpZDogUExPVF9UWVBFUy5saW5lQ2hhcnQsXG4gICAgbGFiZWw6ICdDaGFydCcsXG4gICAgaWNvbjogJ0xpbmVDaGFydCdcbiAgfSxcbiAgW1BMT1RfVFlQRVMuaGlzdG9ncmFtXToge1xuICAgIGlkOiBQTE9UX1RZUEVTLmhpc3RvZ3JhbSxcbiAgICBsYWJlbDogJ0hpc3RvZ3JhbScsXG4gICAgaWNvbjogJ0hpc3RvZ3JhbSdcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEJJTlNfTEFSR0UgPSAxMDA7XG5leHBvcnQgY29uc3QgQklOUyA9IDMwO1xuXG5leHBvcnQgY29uc3QgVElNRV9BR0dSRUdBVElPTjogVGltZUFnZ3JlZ2F0aW9uW10gPSBbXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZSxcbiAgICBsYWJlbDogJ0F2ZXJhZ2UnXG4gIH0sXG4gIHtcbiAgICBpZDogQUdHUkVHQVRJT05fVFlQRVMuc3VtLFxuICAgIGxhYmVsOiAnU3VtJ1xuICB9LFxuICB7XG4gICAgaWQ6IEFHR1JFR0FUSU9OX1RZUEVTLm1heGltdW0sXG4gICAgbGFiZWw6ICdNYXhpbXVtJ1xuICB9LFxuICB7XG4gICAgaWQ6IEFHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW0sXG4gICAgbGFiZWw6ICdNaW5pbXVtJ1xuICB9LFxuICB7XG4gICAgaWQ6IEFHR1JFR0FUSU9OX1RZUEVTLm1lZGlhbixcbiAgICBsYWJlbDogJ01lZGlhbidcbiAgfSxcbiAge1xuICAgIGlkOiBBR0dSRUdBVElPTl9UWVBFUy5zdGRldixcbiAgICBsYWJlbDogJ1N0ZCBEZXZpYXRpb24nXG4gIH1cbl07XG5cbmV4cG9ydCBjb25zdCBBTklNQVRJT05fVFlQRTogQW5pbWF0aW9uVHlwZSA9IGtleU1pcnJvcih7XG4gIGludGVydmFsOiBudWxsLFxuICBjb250aW51b3VzOiBudWxsXG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBYUEsSUFBQUUsQ0FBQSxHQUFBRixPQUFBO0FBQWlELElBQUFHLGVBQUEsRUFqQmpEO0FBQ0E7QUFrRG1DOztBQXdDNUIsSUFBTUMsbUJBQW1CLEdBQUFDLE9BQUEsQ0FBQUQsbUJBQUEsR0FBRyxDQUFDO0FBQzdCLElBQU1FLGNBQWMsR0FBQUQsT0FBQSxDQUFBQyxjQUFBLEdBQUcsSUFBSTtBQUMzQixJQUFNQyxj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