UNPKG

kepler.gl

Version:

kepler.gl is a webgl based application to visualize large scale location data in the browser

44 lines (29 loc) 22.7 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = exports.visStateReducerFactory = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _actionTypes = _interopRequireDefault(require("../constants/action-types")); var _reduxActions = require("redux-actions"); var visStateUpdaters = _interopRequireWildcard(require("./vis-state-updaters")); var _actionHandler; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } /** * Important: Do not rename `actionHandler` or the assignment pattern of property value. * It is used to generate documentation */ var actionHandler = (_actionHandler = {}, (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].ADD_FILTER, visStateUpdaters.addFilterUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].ADD_LAYER, visStateUpdaters.addLayerUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].ENLARGE_FILTER, visStateUpdaters.enlargeFilterUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].INTERACTION_CONFIG_CHANGE, visStateUpdaters.interactionConfigChangeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LAYER_CLICK, visStateUpdaters.layerClickUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LAYER_CONFIG_CHANGE, visStateUpdaters.layerConfigChangeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LAYER_HOVER, visStateUpdaters.layerHoverUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LAYER_TYPE_CHANGE, visStateUpdaters.layerTypeChangeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LAYER_VIS_CONFIG_CHANGE, visStateUpdaters.layerVisConfigChangeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LAYER_TEXT_LABEL_CHANGE, visStateUpdaters.layerTextLabelChangeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LAYER_VISUAL_CHANNEL_CHANGE, visStateUpdaters.layerVisualChannelChangeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LAYER_COLOR_UI_CHANGE, visStateUpdaters.layerColorUIChangeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LOAD_FILES, visStateUpdaters.loadFilesUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LOAD_FILES_ERR, visStateUpdaters.loadFilesErrUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LOAD_NEXT_FILE, visStateUpdaters.loadNextFileUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].MAP_CLICK, visStateUpdaters.mapClickUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].MOUSE_MOVE, visStateUpdaters.mouseMoveUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].RECEIVE_MAP_CONFIG, visStateUpdaters.receiveMapConfigUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].REMOVE_DATASET, visStateUpdaters.removeDatasetUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].REMOVE_FILTER, visStateUpdaters.removeFilterUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].REMOVE_LAYER, visStateUpdaters.removeLayerUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].REORDER_LAYER, visStateUpdaters.reorderLayerUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].RESET_MAP_CONFIG, visStateUpdaters.resetMapConfigUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SET_FILTER, visStateUpdaters.setFilterUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SET_FILTER_PLOT, visStateUpdaters.setFilterPlotUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SET_MAP_INFO, visStateUpdaters.setMapInfoUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SET_VISIBLE_LAYERS_FOR_MAP, visStateUpdaters.setVisibleLayersForMapUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SHOW_DATASET_TABLE, visStateUpdaters.showDatasetTableUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].TOGGLE_FILTER_ANIMATION, visStateUpdaters.toggleFilterAnimationUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].UPDATE_FILTER_ANIMATION_SPEED, visStateUpdaters.updateFilterAnimationSpeedUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].UPDATE_ANIMATION_TIME, visStateUpdaters.updateAnimationTimeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].UPDATE_LAYER_ANIMATION_SPEED, visStateUpdaters.updateLayerAnimationSpeedUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].TOGGLE_LAYER_FOR_MAP, visStateUpdaters.toggleLayerForMapUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].TOGGLE_SPLIT_MAP, visStateUpdaters.toggleSplitMapUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].UPDATE_LAYER_BLENDING, visStateUpdaters.updateLayerBlendingUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].UPDATE_VIS_DATA, visStateUpdaters.updateVisDataUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SET_FEATURES, visStateUpdaters.setFeaturesUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].DELETE_FEATURE, visStateUpdaters.deleteFeatureUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SET_POLYGON_FILTER_LAYER, visStateUpdaters.setPolygonFilterLayerUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SET_SELECTED_FEATURE, visStateUpdaters.setSelectedFeatureUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SET_EDITOR_MODE, visStateUpdaters.setEditorModeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].TOGGLE_EDITOR_VISIBILITY, visStateUpdaters.toggleEditorVisibility), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].TOGGLE_FILTER_FEATURE, visStateUpdaters.toggleFilterFeatureUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].APPLY_CPU_FILTER, visStateUpdaters.applyCPUFilterUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SORT_TABLE_COLUMN, visStateUpdaters.sortTableColumnUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].PIN_TABLE_COLUMN, visStateUpdaters.pinTableColumnUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].COPY_TABLE_COLUMN, visStateUpdaters.copyTableColumnUpdater), _actionHandler); // construct vis-state reducer var visStateReducerFactory = function visStateReducerFactory() { var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return (0, _reduxActions.handleActions)(actionHandler, _objectSpread({}, visStateUpdaters.INITIAL_VIS_STATE, {}, initialState, { initialState: initialState })); }; exports.visStateReducerFactory = visStateReducerFactory; var _default = visStateReducerFactory(); exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZWR1Y2Vycy92aXMtc3RhdGUuanMiXSwibmFtZXMiOlsiYWN0aW9uSGFuZGxlciIsIkFjdGlvblR5cGVzIiwiQUREX0ZJTFRFUiIsInZpc1N0YXRlVXBkYXRlcnMiLCJhZGRGaWx0ZXJVcGRhdGVyIiwiQUREX0xBWUVSIiwiYWRkTGF5ZXJVcGRhdGVyIiwiRU5MQVJHRV9GSUxURVIiLCJlbmxhcmdlRmlsdGVyVXBkYXRlciIsIklOVEVSQUNUSU9OX0NPTkZJR19DSEFOR0UiLCJpbnRlcmFjdGlvbkNvbmZpZ0NoYW5nZVVwZGF0ZXIiLCJMQVlFUl9DTElDSyIsImxheWVyQ2xpY2tVcGRhdGVyIiwiTEFZRVJfQ09ORklHX0NIQU5HRSIsImxheWVyQ29uZmlnQ2hhbmdlVXBkYXRlciIsIkxBWUVSX0hPVkVSIiwibGF5ZXJIb3ZlclVwZGF0ZXIiLCJMQVlFUl9UWVBFX0NIQU5HRSIsImxheWVyVHlwZUNoYW5nZVVwZGF0ZXIiLCJMQVlFUl9WSVNfQ09ORklHX0NIQU5HRSIsImxheWVyVmlzQ29uZmlnQ2hhbmdlVXBkYXRlciIsIkxBWUVSX1RFWFRfTEFCRUxfQ0hBTkdFIiwibGF5ZXJUZXh0TGFiZWxDaGFuZ2VVcGRhdGVyIiwiTEFZRVJfVklTVUFMX0NIQU5ORUxfQ0hBTkdFIiwibGF5ZXJWaXN1YWxDaGFubmVsQ2hhbmdlVXBkYXRlciIsIkxBWUVSX0NPTE9SX1VJX0NIQU5HRSIsImxheWVyQ29sb3JVSUNoYW5nZVVwZGF0ZXIiLCJMT0FEX0ZJTEVTIiwibG9hZEZpbGVzVXBkYXRlciIsIkxPQURfRklMRVNfRVJSIiwibG9hZEZpbGVzRXJyVXBkYXRlciIsIkxPQURfTkVYVF9GSUxFIiwibG9hZE5leHRGaWxlVXBkYXRlciIsIk1BUF9DTElDSyIsIm1hcENsaWNrVXBkYXRlciIsIk1PVVNFX01PVkUiLCJtb3VzZU1vdmVVcGRhdGVyIiwiUkVDRUlWRV9NQVBfQ09ORklHIiwicmVjZWl2ZU1hcENvbmZpZ1VwZGF0ZXIiLCJSRU1PVkVfREFUQVNFVCIsInJlbW92ZURhdGFzZXRVcGRhdGVyIiwiUkVNT1ZFX0ZJTFRFUiIsInJlbW92ZUZpbHRlclVwZGF0ZXIiLCJSRU1PVkVfTEFZRVIiLCJyZW1vdmVMYXllclVwZGF0ZXIiLCJSRU9SREVSX0xBWUVSIiwicmVvcmRlckxheWVyVXBkYXRlciIsIlJFU0VUX01BUF9DT05GSUciLCJyZXNldE1hcENvbmZpZ1VwZGF0ZXIiLCJTRVRfRklMVEVSIiwic2V0RmlsdGVyVXBkYXRlciIsIlNFVF9GSUxURVJfUExPVCIsInNldEZpbHRlclBsb3RVcGRhdGVyIiwiU0VUX01BUF9JTkZPIiwic2V0TWFwSW5mb1VwZGF0ZXIiLCJTRVRfVklTSUJMRV9MQVlFUlNfRk9SX01BUCIsInNldFZpc2libGVMYXllcnNGb3JNYXBVcGRhdGVyIiwiU0hPV19EQVRBU0VUX1RBQkxFIiwic2hvd0RhdGFzZXRUYWJsZVVwZGF0ZXIiLCJUT0dHTEVfRklMVEVSX0FOSU1BVElPTiIsInRvZ2dsZUZpbHRlckFuaW1hdGlvblVwZGF0ZXIiLCJVUERBVEVfRklMVEVSX0FOSU1BVElPTl9TUEVFRCIsInVwZGF0ZUZpbHRlckFuaW1hdGlvblNwZWVkVXBkYXRlciIsIlVQREFURV9BTklNQVRJT05fVElNRSIsInVwZGF0ZUFuaW1hdGlvblRpbWVVcGRhdGVyIiwiVVBEQVRFX0xBWUVSX0FOSU1BVElPTl9TUEVFRCIsInVwZGF0ZUxheWVyQW5pbWF0aW9uU3BlZWRVcGRhdGVyIiwiVE9HR0xFX0xBWUVSX0ZPUl9NQVAiLCJ0b2dnbGVMYXllckZvck1hcFVwZGF0ZXIiLCJUT0dHTEVfU1BMSVRfTUFQIiwidG9nZ2xlU3BsaXRNYXBVcGRhdGVyIiwiVVBEQVRFX0xBWUVSX0JMRU5ESU5HIiwidXBkYXRlTGF5ZXJCbGVuZGluZ1VwZGF0ZXIiLCJVUERBVEVfVklTX0RBVEEiLCJ1cGRhdGVWaXNEYXRhVXBkYXRlciIsIlNFVF9GRUFUVVJFUyIsInNldEZlYXR1cmVzVXBkYXRlciIsIkRFTEVURV9GRUFUVVJFIiwiZGVsZXRlRmVhdHVyZVVwZGF0ZXIiLCJTRVRfUE9MWUdPTl9GSUxURVJfTEFZRVIiLCJzZXRQb2x5Z29uRmlsdGVyTGF5ZXJVcGRhdGVyIiwiU0VUX1NFTEVDVEVEX0ZFQVRVUkUiLCJzZXRTZWxlY3RlZEZlYXR1cmVVcGRhdGVyIiwiU0VUX0VESVRPUl9NT0RFIiwic2V0RWRpdG9yTW9kZVVwZGF0ZXIiLCJUT0dHTEVfRURJVE9SX1ZJU0lCSUxJVFkiLCJ0b2dnbGVFZGl0b3JWaXNpYmlsaXR5IiwiVE9HR0xFX0ZJTFRFUl9GRUFUVVJFIiwidG9nZ2xlRmlsdGVyRmVhdHVyZVVwZGF0ZXIiLCJBUFBMWV9DUFVfRklMVEVSIiwiYXBwbHlDUFVGaWx0ZXJVcGRhdGVyIiwiU09SVF9UQUJMRV9DT0xVTU4iLCJzb3J0VGFibGVDb2x1bW5VcGRhdGVyIiwiUElOX1RBQkxFX0NPTFVNTiIsInBpblRhYmxlQ29sdW1uVXBkYXRlciIsIkNPUFlfVEFCTEVfQ09MVU1OIiwiY29weVRhYmxlQ29sdW1uVXBkYXRlciIsInZpc1N0YXRlUmVkdWNlckZhY3RvcnkiLCJpbml0aWFsU3RhdGUiLCJJTklUSUFMX1ZJU19TVEFURSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFQTs7OztBQUlBLElBQU1BLGFBQWEsMEVBQ2hCQyx3QkFBWUMsVUFESSxFQUNTQyxnQkFBZ0IsQ0FBQ0MsZ0JBRDFCLG9EQUdoQkgsd0JBQVlJLFNBSEksRUFHUUYsZ0JBQWdCLENBQUNHLGVBSHpCLG9EQUtoQkwsd0JBQVlNLGNBTEksRUFLYUosZ0JBQWdCLENBQUNLLG9CQUw5QixvREFPaEJQLHdCQUFZUSx5QkFQSSxFQU93Qk4sZ0JBQWdCLENBQUNPLDhCQVB6QyxvREFTaEJULHdCQUFZVSxXQVRJLEVBU1VSLGdCQUFnQixDQUFDUyxpQkFUM0Isb0RBV2hCWCx3QkFBWVksbUJBWEksRUFXa0JWLGdCQUFnQixDQUFDVyx3QkFYbkMsb0RBYWhCYix3QkFBWWMsV0FiSSxFQWFVWixnQkFBZ0IsQ0FBQ2EsaUJBYjNCLG9E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QS9FcEMsb0RBaUZoQmpGLHdCQUFZa0YsZUFqRkksRUFpRmNoRixnQkFBZ0IsQ0FBQ2lGLG9CQWpGL0Isb0RBbUZoQm5GLHdCQUFZb0Ysd0JBbkZJLEVBbUZ1QmxGLGdCQUFnQixDQUFDbUYsc0JBbkZ4QyxvREFxRmhCckYsd0JBQVlzRixxQkFyRkksRUFxRm9CcEYsZ0JBQWdCLENBQUNxRiwwQkFyRnJDLG9EQXVGaEJ2Rix3QkFBWXdGLGdCQXZGSSxFQXVGZXRGLGdCQUFnQixDQUFDdUYscUJBdkZoQyxvREF5RmhCekYsd0JBQVkwRixpQkF6RkksRUF5RmdCeEYsZ0JBQWdCLENBQUN5RixzQkF6RmpDLG9EQTJGaEIzRix3QkFBWTRGLGdCQTNGSSxFQTJGZTFGLGdCQUFnQixDQUFDMkYscUJBM0ZoQyxvREE2RmhCN0Ysd0JBQVk4RixpQkE3RkksRUE2RmdCNUYsZ0JBQWdCLENBQUM2RixzQkE3RmpDLGtCQUFuQixDLENBZ0dBOztBQUNPLElBQU1DLHNCQUFzQixHQUFHLFNBQXpCQSxzQkFBeUI7QUFBQSxNQUFDQyxZQUFELHVFQUFnQixFQUFoQjtBQUFBLFNBQ3BDLGlDQUFjbEcsYUFBZCxvQkFDS0csZ0JBQWdCLENBQUNnRyxpQkFEdEIsTUFFS0QsWUFGTDtBQUdFQSxJQUFBQSxZQUFZLEVBQVpBO0FBSEYsS0FEb0M7QUFBQSxDQUEvQjs7OztlQU9RRCxzQkFBc0IsRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMCBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBBY3Rpb25UeXBlcyBmcm9tICdjb25zdGFudHMvYWN0aW9uLXR5cGVzJztcbmltcG9ydCB7aGFuZGxlQWN0aW9uc30gZnJvbSAncmVkdXgtYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyB2aXNTdGF0ZVVwZGF0ZXJzIGZyb20gJy4vdmlzLXN0YXRlLXVwZGF0ZXJzJztcblxuLyoqXG4gKiBJbXBvcnRhbnQ6IERvIG5vdCByZW5hbWUgYGFjdGlvbkhhbmRsZXJgIG9yIHRoZSBhc3NpZ25tZW50IHBhdHRlcm4gb2YgcHJvcGVydHkgdmFsdWUuXG4gKiBJdCBpcyB1c2VkIHRvIGdlbmVyYXRlIGRvY3VtZW50YXRpb25cbiAqL1xuY29uc3QgYWN0aW9uSGFuZGxlciA9IHtcbiAgW0FjdGlvblR5cGVzLkFERF9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLmFkZEZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkFERF9MQVlFUl06IHZpc1N0YXRlVXBkYXRlcnMuYWRkTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5FTkxBUkdFX0ZJTFRFUl06IHZpc1N0YXRlVXBkYXRlcnMuZW5sYXJnZUZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLklOVEVSQUNUSU9OX0NPTkZJR19DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmludGVyYWN0aW9uQ29uZmlnQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfQ0xJQ0tdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyQ2xpY2tVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9DT05GSUdfQ0hBTkdFXTogdmlzU3RhdGVVcGRhdGVycy5sYXllckNvbmZpZ0NoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX0hPVkVSXTogdmlzU3RhdGVVcGRhdGVycy5sYXllckhvdmVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfVFlQRV9DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyVHlwZUNoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX1ZJU19DT05GSUdfQ0hBTkdFXTogdmlzU3RhdGVVcGRhdGVycy5sYXllclZpc0NvbmZpZ0NoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX1RFWFRfTEFCRUxfQ0hBTkdFXTogdmlzU3RhdGVVcGRhdGVycy5sYXllclRleHRMYWJlbENoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX1ZJU1VBTF9DSEFOTkVMX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJWaXN1YWxDaGFubmVsQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfQ09MT1JfVUlfQ0hBTkdFXTogdmlzU3RhdGVVcGRhdGVycy5sYXllckNvbG9yVUlDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MT0FEX0ZJTEVTXTogdmlzU3RhdGVVcGRhdGVycy5sb2FkRmlsZXNVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MT0FEX0ZJTEVTX0VSUl06IHZpc1N0YXRlVXBkYXRlcnMubG9hZEZpbGVzRXJyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTE9BRF9ORVhUX0ZJTEVdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxvYWROZXh0RmlsZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLk1BUF9DTElDS106IHZpc1N0YXRlVXBkYXRlcnMubWFwQ2xpY2tVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5NT1VTRV9NT1ZFXTogdmlzU3RhdGVVcGRhdGVycy5tb3VzZU1vdmVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRUNFSVZFX01BUF9DT05GSUddOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlY2VpdmVNYXBDb25maWdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfREFUQVNFVF06IHZpc1N0YXRlVXBkYXRlcnMucmVtb3ZlRGF0YXNldFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTU9WRV9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbW92ZUZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTU9WRV9MQVlFUl06IHZpc1N0YXRlVXBkYXRlcnMucmVtb3ZlTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU9SREVSX0xBWUVSXTogdmlzU3RhdGVVcGRhdGVycy5yZW9yZGVyTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRVNFVF9NQVBfQ09ORklHXTogdmlzU3RhdGVVcGRhdGVycy5yZXNldE1hcENvbmZpZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GSUxURVJfUExPVF06IHZpc1N0YXRlVXBkYXRlcnMuc2V0RmlsdGVyUGxvdFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9NQVBfSU5GT106IHZpc1N0YXRlVXBkYXRlcnMuc2V0TWFwSW5mb1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9WSVNJQkxFX0xBWUVSU19GT1JfTUFQXTogdmlzU3RhdGVVcGRhdGVycy5zZXRWaXNpYmxlTGF5ZXJzRm9yTWFwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0hPV19EQVRBU0VUX1RBQkxFXTogdmlzU3RhdGVVcGRhdGVycy5zaG93RGF0YXNldFRhYmxlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX0ZJTFRFUl9BTklNQVRJT05dOiB2aXNTdGF0ZVVwZGF0ZXJzLnRvZ2dsZUZpbHRlckFuaW1hdGlvblVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlVQREFURV9GSUxURVJfQU5JTUFUSU9OX1NQRUVEXTogdmlzU3RhdGVVcGRhdGVycy51cGRhdGVGaWx0ZXJBbmltYXRpb25TcGVlZFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlVQREFURV9BTklNQVRJT05fVElNRV06IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlQW5pbWF0aW9uVGltZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlVQREFURV9MQVlFUl9BTklNQVRJT05fU1BFRURdOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZUxheWVyQW5pbWF0aW9uU3BlZWRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5UT0dHTEVfTEFZRVJfRk9SX01BUF06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlTGF5ZXJGb3JNYXBVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5UT0dHTEVfU1BMSVRfTUFQXTogdmlzU3RhdGVVcGRhdGVycy50b2dnbGVTcGxpdE1hcFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlVQREFURV9MQVlFUl9CTEVORElOR106IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlTGF5ZXJCbGVuZGluZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlVQREFURV9WSVNfREFUQV06IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlVmlzRGF0YVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GRUFUVVJFU106IHZpc1N0YXRlVXBkYXRlcnMuc2V0RmVhdHVyZXNVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5ERUxFVEVfRkVBVFVSRV06IHZpc1N0YXRlVXBkYXRlcnMuZGVsZXRlRmVhdHVyZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9QT0xZR09OX0ZJTFRFUl9MQVlFUl06IHZpc1N0YXRlVXBkYXRlcnMuc2V0UG9seWdvbkZpbHRlckxheWVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX1NFTEVDVEVEX0ZFQVRVUkVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldFNlbGVjdGVkRmVhdHVyZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9FRElUT1JfTU9ERV06IHZpc1N0YXRlVXBkYXRlcnMuc2V0RWRpdG9yTW9kZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9FRElUT1JfVklTSUJJTElUWV06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlRWRpdG9yVmlzaWJpbGl0eSxcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX0ZJTFRFUl9GRUFUVVJFXTogdmlzU3RhdGVVcGRhdGVycy50b2dnbGVGaWx0ZXJGZWF0dXJlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQVBQTFlfQ1BVX0ZJTFRFUl06IHZpc1N0YXRlVXBkYXRlcnMuYXBwbHlDUFVGaWx0ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TT1JUX1RBQkxFX0NPTFVNTl06IHZpc1N0YXRlVXBkYXRlcnMuc29ydFRhYmxlQ29sdW1uVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUElOX1RBQkxFX0NPTFVNTl06IHZpc1N0YXRlVXBkYXRlcnMucGluVGFibGVDb2x1bW5VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5DT1BZX1RBQkxFX0NPTFVNTl06IHZpc1N0YXRlVXBkYXRlcnMuY29weVRhYmxlQ29sdW1uVXBkYXRlclxufTtcblxuLy8gY29uc3RydWN0IHZpcy1zdGF0ZSByZWR1Y2VyXG5leHBvcnQgY29uc3QgdmlzU3RhdGVSZWR1Y2VyRmFjdG9yeSA9IChpbml0aWFsU3RhdGUgPSB7fSkgPT5cbiAgaGFuZGxlQWN0aW9ucyhhY3Rpb25IYW5kbGVyLCB7XG4gICAgLi4udmlzU3RhdGVVcGRhdGVycy5JTklUSUFMX1ZJU19TVEFURSxcbiAgICAuLi5pbml0aWFsU3RhdGUsXG4gICAgaW5pdGlhbFN0YXRlXG4gIH0pO1xuXG5leHBvcnQgZGVmYXVsdCB2aXNTdGF0ZVJlZHVjZXJGYWN0b3J5KCk7XG4iXX0=