UNPKG

kepler.gl

Version:

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

36 lines (34 loc) 37.5 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports.visStateReducerFactory = exports["default"] = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _src = require("/Users/ihordykhta/Desktop/unfolded/kepler.gl/src/actions/src"); var _reduxActions = require("redux-actions"); var visStateUpdaters = _interopRequireWildcard(require("./vis-state-updaters")); var _actionHandler; // SPDX-License-Identifier: MIT // Copyright contributors to the kepler.gl project function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /** * Important: Do not rename `actionHandler` or the assignment pattern of property value. * It is used to generate documentation */ var actionHandler = (_actionHandler = {}, (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"])(_actionHandler, _src.ActionTypes.ADD_FILTER, visStateUpdaters.addFilterUpdater), _src.ActionTypes.CREATE_OR_UPDATE_FILTER, visStateUpdaters.createOrUpdateFilterUpdater), _src.ActionTypes.ADD_LAYER, visStateUpdaters.addLayerUpdater), _src.ActionTypes.APPLY_FILTER_CONFIG, visStateUpdaters.applyFilterConfigUpdater), _src.ActionTypes.APPLY_LAYER_CONFIG, visStateUpdaters.applyLayerConfigUpdater), _src.ActionTypes.DUPLICATE_LAYER, visStateUpdaters.duplicateLayerUpdater), _src.ActionTypes.SET_FILTER_VIEW, visStateUpdaters.setFilterViewUpdater), _src.ActionTypes.INTERACTION_CONFIG_CHANGE, visStateUpdaters.interactionConfigChangeUpdater), _src.ActionTypes.LAYER_CLICK, visStateUpdaters.layerClickUpdater), _src.ActionTypes.LAYER_CONFIG_CHANGE, visStateUpdaters.layerConfigChangeUpdater), (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"])(_actionHandler, _src.ActionTypes.LAYER_SET_IS_VALID, visStateUpdaters.layerSetIsValidUpdater), _src.ActionTypes.LAYER_HOVER, visStateUpdaters.layerHoverUpdater), _src.ActionTypes.LAYER_TYPE_CHANGE, visStateUpdaters.layerTypeChangeUpdater), _src.ActionTypes.LAYER_VIS_CONFIG_CHANGE, visStateUpdaters.layerVisConfigChangeUpdater), _src.ActionTypes.LAYER_TOGGLE_VISIBILITY, visStateUpdaters.layerToggleVisibilityUpdater), _src.ActionTypes.LAYER_TEXT_LABEL_CHANGE, visStateUpdaters.layerTextLabelChangeUpdater), _src.ActionTypes.LAYER_VISUAL_CHANNEL_CHANGE, visStateUpdaters.layerVisualChannelChangeUpdater), _src.ActionTypes.LAYER_COLOR_UI_CHANGE, visStateUpdaters.layerColorUIChangeUpdater), _src.ActionTypes.TOGGLE_LAYER_ANIMATION, visStateUpdaters.toggleLayerAnimationUpdater), _src.ActionTypes.TOGGLE_LAYER_ANIMATION_CONTROL, visStateUpdaters.toggleLayerAnimationControlUpdater), (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"])(_actionHandler, _src.ActionTypes.LOAD_FILES, visStateUpdaters.loadFilesUpdater), _src.ActionTypes.LOAD_FILES_ERR, visStateUpdaters.loadFilesErrUpdater), _src.ActionTypes.LOAD_NEXT_FILE, visStateUpdaters.loadNextFileUpdater), _src.ActionTypes.LOAD_FILE_STEP_SUCCESS, visStateUpdaters.loadFileStepSuccessUpdater), _src.ActionTypes.MAP_CLICK, visStateUpdaters.mapClickUpdater), _src.ActionTypes.MOUSE_MOVE, visStateUpdaters.mouseMoveUpdater), _src.ActionTypes.RECEIVE_MAP_CONFIG, visStateUpdaters.receiveMapConfigUpdater), _src.ActionTypes.REMOVE_DATASET, visStateUpdaters.removeDatasetUpdater), _src.ActionTypes.REMOVE_FILTER, visStateUpdaters.removeFilterUpdater), _src.ActionTypes.REMOVE_LAYER, visStateUpdaters.removeLayerUpdater), (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"])(_actionHandler, _src.ActionTypes.REORDER_LAYER, visStateUpdaters.reorderLayerUpdater), _src.ActionTypes.RESET_MAP_CONFIG, visStateUpdaters.resetMapConfigUpdater), _src.ActionTypes.SET_FILTER, visStateUpdaters.setFilterUpdater), _src.ActionTypes.SET_FILTER_ANIMATION_TIME, visStateUpdaters.setFilterAnimationTimeUpdater), _src.ActionTypes.SET_FILTER_ANIMATION_TIME_CONFIG, visStateUpdaters.setFilterAnimationTimeConfigUpdater), _src.ActionTypes.SET_FILTER_ANIMATION_WINDOW, visStateUpdaters.setFilterAnimationWindowUpdater), _src.ActionTypes.SET_FILTER_PLOT, visStateUpdaters.setFilterPlotUpdater), _src.ActionTypes.SET_MAP_INFO, visStateUpdaters.setMapInfoUpdater), _src.ActionTypes.SHOW_DATASET_TABLE, visStateUpdaters.showDatasetTableUpdater), _src.ActionTypes.UPDATE_TABLE_COLOR, visStateUpdaters.updateTableColorUpdater), (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"])(_actionHandler, _src.ActionTypes.TOGGLE_FILTER_ANIMATION, visStateUpdaters.toggleFilterAnimationUpdater), _src.ActionTypes.UPDATE_FILTER_ANIMATION_SPEED, visStateUpdaters.updateFilterAnimationSpeedUpdater), _src.ActionTypes.SET_ANIMATION_CONFIG, visStateUpdaters.setAnimationConfigUpdater), _src.ActionTypes.SET_LAYER_ANIMATION_TIME, visStateUpdaters.setLayerAnimationTimeUpdater), _src.ActionTypes.UPDATE_LAYER_ANIMATION_SPEED, visStateUpdaters.updateLayerAnimationSpeedUpdater), _src.ActionTypes.TOGGLE_LAYER_FOR_MAP, visStateUpdaters.toggleLayerForMapUpdater), _src.ActionTypes.TOGGLE_SPLIT_MAP, visStateUpdaters.toggleSplitMapUpdater), _src.ActionTypes.UPDATE_LAYER_BLENDING, visStateUpdaters.updateLayerBlendingUpdater), _src.ActionTypes.UPDATE_OVERLAY_BLENDING, visStateUpdaters.updateOverlayBlendingUpdater), _src.ActionTypes.UPDATE_VIS_DATA, visStateUpdaters.updateVisDataUpdater), (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"])(_actionHandler, _src.ActionTypes.RENAME_DATASET, visStateUpdaters.renameDatasetUpdater), _src.ActionTypes.UPDATE_DATASET_PROPS, visStateUpdaters.updateDatasetPropsUpdater), _src.ActionTypes.SET_FEATURES, visStateUpdaters.setFeaturesUpdater), _src.ActionTypes.DELETE_FEATURE, visStateUpdaters.deleteFeatureUpdater), _src.ActionTypes.SET_POLYGON_FILTER_LAYER, visStateUpdaters.setPolygonFilterLayerUpdater), _src.ActionTypes.SET_SELECTED_FEATURE, visStateUpdaters.setSelectedFeatureUpdater), _src.ActionTypes.SET_EDITOR_MODE, visStateUpdaters.setEditorModeUpdater), _src.ActionTypes.TOGGLE_EDITOR_VISIBILITY, visStateUpdaters.toggleEditorVisibilityUpdater), _src.ActionTypes.TOGGLE_FILTER_FEATURE, visStateUpdaters.toggleFilterFeatureUpdater), _src.ActionTypes.APPLY_CPU_FILTER, visStateUpdaters.applyCPUFilterUpdater), (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"])(_actionHandler, _src.ActionTypes.SORT_TABLE_COLUMN, visStateUpdaters.sortTableColumnUpdater), _src.ActionTypes.PIN_TABLE_COLUMN, visStateUpdaters.pinTableColumnUpdater), _src.ActionTypes.COPY_TABLE_COLUMN, visStateUpdaters.copyTableColumnUpdater), _src.ActionTypes.SET_COLUMN_DISPLAY_FORMAT, visStateUpdaters.setColumnDisplayFormatUpdater), _src.ActionTypes.NEXT_FILE_BATCH, visStateUpdaters.nextFileBatchUpdater), _src.ActionTypes.PROCESS_FILE_CONTENT, visStateUpdaters.processFileContentUpdater), _src.ActionTypes.SET_LAYER_ANIMATION_TIME_CONFIG, visStateUpdaters.setLayerAnimationTimeConfigUpdater), _src.ActionTypes.LAYER_FILTERED_ITEMS_CHANGE, visStateUpdaters.layerFilteredItemsChangeUpdater), _src.ActionTypes.WMS_FEATURE_INFO, visStateUpdaters.wmsFeatureInfoUpdater), _src.ActionTypes.SYNC_TIME_FILTER_WITH_LAYER_TIMELINE, visStateUpdaters.syncTimeFilterWithLayerTimelineUpdater), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_actionHandler, _src.ActionTypes.SYNC_TIME_FILTER_TIMELINE_MODE, visStateUpdaters.setTimeFilterTimelineModeUpdater), _src.ActionTypes.ADD_EFFECT, visStateUpdaters.addEffectUpdater), _src.ActionTypes.REORDER_EFFECT, visStateUpdaters.reorderEffectUpdater), _src.ActionTypes.REMOVE_EFFECT, visStateUpdaters.removeEffectUpdater), _src.ActionTypes.UPDATE_EFFECT, visStateUpdaters.updateEffectUpdater), _src.ActionTypes.CREATE_NEW_DATASET_SUCCESS, visStateUpdaters.createNewDatasetSuccessUpdater), _src.ActionTypes.SET_LOADING_INDICATOR, visStateUpdaters.setLoadingIndicatorUpdater)); // construct vis-state reducer var visStateReducerFactory = exports.visStateReducerFactory = function visStateReducerFactory() { var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return ( // @ts-expect-error (0, _reduxActions.handleActions)(actionHandler, _objectSpread(_objectSpread(_objectSpread({}, visStateUpdaters.INITIAL_VIS_STATE), initialState), {}, { initialState: initialState })) ); }; var _default = exports["default"] = visStateReducerFactory(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3JjIiwicmVxdWlyZSIsIl9yZWR1eEFjdGlvbnMiLCJ2aXNTdGF0ZVVwZGF0ZXJzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfYWN0aW9uSGFuZGxlciIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImFjdGlvbkhhbmRsZXIiLCJBY3Rpb25UeXBlcyIsIkFERF9GSUxURVIiLCJhZGRGaWx0ZXJVcGRhdGVyIiwiQ1JFQVRFX09SX1VQREFURV9GSUxURVIiLCJjcmVhdGVPclVwZGF0ZUZpbHRlclVwZGF0ZXIiLCJBRERfTEFZRVIiLCJhZGRMYXllclVwZGF0ZXIiLCJBUFBMWV9GSUxURVJfQ09ORklHIiwiYXBwbHlGaWx0ZXJDb25maWdVcGRhdGVyIiwiQVBQTFlfTEFZRVJfQ09ORklHIiwiYXBwbHlMYXllckNvbmZpZ1VwZGF0ZXIiLCJEVVBMSUNBVEVfTEFZRVIiLCJkdXBsaWNhdGVMYXllclVwZGF0ZXIiLCJTRVRfRklMVEVSX1ZJRVciLCJzZXRGaWx0ZXJWaWV3VXBkYXRlciIsIklOVEVSQUNUSU9OX0NPTkZJR19DSEFOR0UiLCJpbnRlcmFjdGlvbkNvbmZpZ0NoYW5nZVVwZGF0ZXIiLCJMQVlFUl9DTElDSyIsImxheWVyQ2xpY2tVcGRhdGVyIiwiTEFZRVJfQ09ORklHX0NIQU5HRSIsImxheWVyQ29uZmlnQ2hhbmdlVXBkYXRlciIsIkxBWUVSX1NFVF9JU19WQUxJRCIsImxheWVyU2V0SXNWYWxpZFVwZGF0ZXIiLCJMQVlFUl9IT1ZFUiIsImxheWVySG92ZXJVcGRhdGVyIiwiTEFZRVJfVFlQRV9DSEFOR0UiLCJsYXllclR5cGVDaGFuZ2VVcGRhdGVyIiwiTEFZRVJfVklTX0NPTkZJR19DSEFOR0UiLCJsYXllclZpc0NvbmZpZ0NoYW5nZVVwZGF0ZXIiLCJMQVlFUl9UT0dHTEVfVklTSUJJTElUWSIsImxheWVyVG9nZ2xlVmlzaWJpbGl0eVVwZGF0ZXIiLCJMQVlFUl9URVhUX0xBQkVMX0NIQU5HRSIsImxheWVyVGV4dExhYmVsQ2hhbmdlVXBkYXRlciIsIkxBWUVSX1ZJU1VBTF9DSEFOTkVMX0NIQU5HRSIsImxheWVyVmlzdWFsQ2hhbm5lbENoYW5nZVVwZGF0ZXIiLCJMQVlFUl9DT0xPUl9VSV9DSEFOR0UiLCJsYXllckNvbG9yVUlDaGFuZ2VVcGRhdGVyIiwiVE9HR0xFX0xBWUVSX0FOSU1BVElPTiIsInRvZ2dsZUxheWVyQW5pbWF0aW9uVXBkYXRlciIsIlRPR0dMRV9MQVlFUl9BTklNQVRJT05fQ09OVFJPTCIsInRvZ2dsZUxheWVyQW5pbWF0aW9uQ29udHJvbFVwZGF0ZXIiLCJMT0FEX0ZJTEVTIiwibG9hZEZpbGVzVXBkYXRlciIsIkxPQURfRklMRVNfRVJSIiwibG9hZEZpbGVzRXJyVXBkYXRlciIsIkxPQURfTkVYVF9GSUxFIiwibG9hZE5leHRGaWxlVXBkYXRlciIsIkxPQURfRklMRV9TVEVQX1NVQ0NFU1MiLCJsb2FkRmlsZVN0ZXBTdWNjZXNzVXBkYXRlciIsIk1BUF9DTElDSyIsIm1hcENsaWNrVXBkYXRlciIsIk1PVVNFX01PVkUiLCJtb3VzZU1vdmVVcGRhdGVyIiwiUkVDRUlWRV9NQVBfQ09ORklHIiwicmVjZWl2ZU1hcENvbmZpZ1VwZGF0ZXIiLCJSRU1PVkVfREFUQVNFVCIsInJlbW92ZURhdGFzZXRVcGRhdGVyIiwiUkVNT1ZFX0ZJTFRFUiIsInJlbW92ZUZpbHRlclVwZGF0ZXIiLCJSRU1PVkVfTEFZRVIiLCJyZW1vdmVMYXllclVwZGF0ZXIiLCJSRU9SREVSX0xBWUVSIiwicmVvcmRlckxheWVyVXBkYXRlciIsIlJFU0VUX01BUF9DT05GSUciLCJyZXNldE1hcENvbmZpZ1VwZGF0ZXIiLCJTRVRfRklMVEVSIiwic2V0RmlsdGVyVXBkYXRlciIsIlNFVF9GSUxURVJfQU5JTUFUSU9OX1RJTUUiLCJzZXRGaWx0ZXJBbmltYXRpb25UaW1lVXBkYXRlciIsIlNFVF9GSUxURVJfQU5JTUFUSU9OX1RJTUVfQ09ORklHIiwic2V0RmlsdGVyQW5pbWF0aW9uVGltZUNvbmZpZ1VwZGF0ZXIiLCJTRVRfRklMVEVSX0FOSU1BVElPTl9XSU5ET1ciLCJzZXRGaWx0ZXJBbmltYXRpb25XaW5kb3dVcGRhdGVyIiwiU0VUX0ZJTFRFUl9QTE9UIiwic2V0RmlsdGVyUGxvdFVwZGF0ZXIiLCJTRVRfTUFQX0lORk8iLCJzZXRNYXBJbmZvVXBkYXRlciIsIlNIT1dfREFUQVNFVF9UQUJMRSIsInNob3dEYXRhc2V0VGFibGVVcGRhdGVyIiwiVVBEQVRFX1RBQkxFX0NPTE9SIiwidXBkYXRlVGFibGVDb2xvclVwZGF0ZXIiLCJUT0dHTEVfRklMVEVSX0FOSU1BVElPTiIsInRvZ2dsZUZpbHRlckFuaW1hdGlvblVwZGF0ZXIiLCJVUERBVEVfRklMVEVSX0FOSU1BVElPTl9TUEVFRCIsInVwZGF0ZUZpbHRlckFuaW1hdGlvblNwZWVkVXBkYXRlciIsIlNFVF9BTklNQVRJT05fQ09ORklHIiwic2V0QW5pbWF0aW9uQ29uZmlnVXBkYXRlciIsIlNFVF9MQVlFUl9BTklNQVRJT05fVElNRSIsInNldExheWVyQW5pbWF0aW9uVGltZVVwZGF0ZXIiLCJVUERBVEVfTEFZRVJfQU5JTUFUSU9OX1NQRUVEIiwidXBkYXRlTGF5ZXJBbmltYXRpb25TcGVlZFVwZGF0ZXIiLCJUT0dHTEVfTEFZRVJfRk9SX01BUCIsInRvZ2dsZUxheWVyRm9yTWFwVXBkYXRlciIsIlRPR0dMRV9TUExJVF9NQVAiLCJ0b2dnbGVTcGxpdE1hcFVwZGF0ZXIiLCJVUERBVEVfTEFZRVJfQkxFTkRJTkciLCJ1cGRhdGVMYXllckJsZW5kaW5nVXBkYXRlciIsIlVQREFURV9PVkVSTEFZX0JMRU5ESU5HIiwidXBkYXRlT3ZlcmxheUJsZW5kaW5nVXBkYXRlciIsIlVQREFURV9WSVNfREFUQSIsInVwZGF0ZVZpc0RhdGFVcGRhdGVyIiwiUkVOQU1FX0RBVEFTRVQiLCJyZW5hbWVEYXRhc2V0VXBkYXRlciIsIlVQREFURV9EQVRBU0VUX1BST1BTIiwidXBkYXRlRGF0YXNldFByb3BzVXBkYXRlciIsIlNFVF9GRUFUVVJFUyIsInNldEZlYXR1cmVzVXBkYXRlciIsIkRFTEVURV9GRUFUVVJFIiwiZGVsZXRlRmVhdHVyZVVwZGF0ZXIiLCJTRVRfUE9MWUdPTl9GSUxURVJfTEFZRVIiLCJzZXRQb2x5Z29uRmlsdGVyTGF5ZXJVcGRhdGVyIiwiU0VUX1NFTEVDVEVEX0ZFQVRVUkUiLCJzZXRTZWxlY3RlZEZlYXR1cmVVcGRhdGVyIiwiU0VUX0VESVRPUl9NT0RFIiwic2V0RWRpdG9yTW9kZVVwZGF0ZXIiLCJUT0dHTEVfRURJVE9SX1ZJU0lCSUxJVFkiLCJ0b2dnbGVFZGl0b3JWaXNpYmlsaXR5VXBkYXRlciIsIlRPR0dMRV9GSUxURVJfRkVBVFVSRSIsInRvZ2dsZUZpbHRlckZlYXR1cmVVcGRhdGVyIiwiQVBQTFlfQ1BVX0ZJTFRFUiIsImFwcGx5Q1BVRmlsdGVyVXBkYXRlciIsIlNPUlRfVEFCTEVfQ09MVU1OIiwic29ydFRhYmxlQ29sdW1uVXBkYXRlciIsIlBJTl9UQUJMRV9DT0xVTU4iLCJwaW5UYWJsZUNvbHVtblVwZGF0ZXIiLCJDT1BZX1RBQkxFX0NPTFVNTiIsImNvcHlUYWJsZUNvbHVtblVwZGF0ZXIiLCJTRVRfQ09MVU1OX0RJU1BMQVlfRk9STUFUIiwic2V0Q29sdW1uRGlzcGxheUZvcm1hdFVwZGF0ZXIiLCJORVhUX0ZJTEVfQkFUQ0giLCJuZXh0RmlsZUJhdGNoVXBkYXRlciIsIlBST0NFU1NfRklMRV9DT05URU5UIiwicHJvY2Vzc0ZpbGVDb250ZW50VXBkYXRlciIsIlNFVF9MQVlFUl9BTklNQVRJT05fVElNRV9DT05GSUciLCJzZXRMYXllckFuaW1hdGlvblRpbWVDb25maWdVcGRhdGVyIiwiTEFZRVJfRklMVEVSRURfSVRFTVNfQ0hBTkdFIiwibGF5ZXJGaWx0ZXJlZEl0ZW1zQ2hhbmdlVXBkYXRlciIsIldNU19GRUFUVVJFX0lORk8iLCJ3bXNGZWF0dXJlSW5mb1VwZGF0ZXIiLCJTWU5DX1RJTUVfRklMVEVSX1dJVEhfTEFZRVJfVElNRUxJTkUiLCJzeW5jVGltZUZpbHRlcldpdGhMYXllclRpbWVsaW5lVXBkYXRlciIsIlNZTkNfVElNRV9GSUxURVJfVElNRUxJTkVfTU9ERSIsInNldFRpbWVGaWx0ZXJUaW1lbGluZU1vZGVVcGRhdGVyIiwiQUREX0VGRkVDVCIsImFkZEVmZmVjdFVwZGF0ZXIiLCJSRU9SREVSX0VGRkVDVCIsInJlb3JkZXJFZmZlY3RVcGRhdGVyIiwiUkVNT1ZFX0VGRkVDVCIsInJlbW92ZUVmZmVjdFVwZGF0ZXIiLCJVUERBVEVfRUZGRUNUIiwidXBkYXRlRWZmZWN0VXBkYXRlciIsIkNSRUFURV9ORVdfREFUQVNFVF9TVUNDRVNTIiwiY3JlYXRlTmV3RGF0YXNldFN1Y2Nlc3NVcGRhdGVyIiwiU0VUX0xPQURJTkdfSU5ESUNBVE9SIiwic2V0TG9hZGluZ0luZGljYXRvclVwZGF0ZXIiLCJ2aXNTdGF0ZVJlZHVjZXJGYWN0b3J5IiwiZXhwb3J0cyIsImluaXRpYWxTdGF0ZSIsInVuZGVmaW5lZCIsImhhbmRsZUFjdGlvbnMiLCJJTklUSUFMX1ZJU19TVEFURSIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlZHVjZXJzL3NyYy92aXMtc3RhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtBY3Rpb25UeXBlc30gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7aGFuZGxlQWN0aW9uc30gZnJvbSAncmVkdXgtYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyB2aXNTdGF0ZVVwZGF0ZXJzIGZyb20gJy4vdmlzLXN0YXRlLXVwZGF0ZXJzJztcblxuLyoqXG4gKiBJbXBvcnRhbnQ6IERvIG5vdCByZW5hbWUgYGFjdGlvbkhhbmRsZXJgIG9yIHRoZSBhc3NpZ25tZW50IHBhdHRlcm4gb2YgcHJvcGVydHkgdmFsdWUuXG4gKiBJdCBpcyB1c2VkIHRvIGdlbmVyYXRlIGRvY3VtZW50YXRpb25cbiAqL1xuY29uc3QgYWN0aW9uSGFuZGxlciA9IHtcbiAgW0FjdGlvblR5cGVzLkFERF9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLmFkZEZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkNSRUFURV9PUl9VUERBVEVfRklMVEVSXTogdmlzU3RhdGVVcGRhdGVycy5jcmVhdGVPclVwZGF0ZUZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkFERF9MQVlFUl06IHZpc1N0YXRlVXBkYXRlcnMuYWRkTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5BUFBMWV9GSUxURVJfQ09ORklHXTogdmlzU3RhdGVVcGRhdGVycy5hcHBseUZpbHRlckNvbmZpZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkFQUExZX0xBWUVSX0NPTkZJR106IHZpc1N0YXRlVXBkYXRlcnMuYXBwbHlMYXllckNvbmZpZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkRVUExJQ0FURV9MQVlFUl06IHZpc1N0YXRlVXBkYXRlcnMuZHVwbGljYXRlTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRklMVEVSX1ZJRVddOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlclZpZXdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5JTlRFUkFDVElPTl9DT05GSUdfQ0hBTkdFXTogdmlzU3RhdGVVcGRhdGVycy5pbnRlcmFjdGlvbkNvbmZpZ0NoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX0NMSUNLXTogdmlzU3RhdGVVcGRhdGVycy5sYXllckNsaWNrVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfQ09ORklHX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJDb25maWdDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9TRVRfSVNfVkFMSURdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyU2V0SXNWYWxpZFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX0hPVkVSXTogdmlzU3RhdGVVcGRhdGVycy5sYXllckhvdmVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfVFlQRV9DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyVHlwZUNoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX1ZJU19DT05GSUdfQ0hBTkdFXTogdmlzU3RhdGVVcGRhdGVycy5sYXllclZpc0NvbmZpZ0NoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX1RPR0dMRV9WSVNJQklMSVRZXTogdmlzU3RhdGVVcGRhdGVycy5sYXllclRvZ2dsZVZpc2liaWxpdHlVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9URVhUX0xBQkVMX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJUZXh0TGFiZWxDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9WSVNVQUxfQ0hBTk5FTF9DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyVmlzdWFsQ2hhbm5lbENoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX0NPTE9SX1VJX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJDb2xvclVJQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX0xBWUVSX0FOSU1BVElPTl06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlTGF5ZXJBbmltYXRpb25VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5UT0dHTEVfTEFZRVJfQU5JTUFUSU9OX0NPTlRST0xdOiB2aXNTdGF0ZVVwZGF0ZXJzLnRvZ2dsZUxheWVyQW5pbWF0aW9uQ29udHJvbFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxPQURfRklMRVNdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxvYWRGaWxlc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxPQURfRklMRVNfRVJSXTogdmlzU3RhdGVVcGRhdGVycy5sb2FkRmlsZXNFcnJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MT0FEX05FWFRfRklMRV06IHZpc1N0YXRlVXBkYXRlcnMubG9hZE5leHRGaWxlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTE9BRF9GSUxFX1NURVBfU1VDQ0VTU106IHZpc1N0YXRlVXBkYXRlcnMubG9hZEZpbGVTdGVwU3VjY2Vzc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLk1BUF9DTElDS106IHZpc1N0YXRlVXBkYXRlcnMubWFwQ2xpY2tVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5NT1VTRV9NT1ZFXTogdmlzU3RhdGVVcGRhdGVycy5tb3VzZU1vdmVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRUNFSVZFX01BUF9DT05GSUddOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlY2VpdmVNYXBDb25maWdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfREFUQVNFVF06IHZpc1N0YXRlVXBkYXRlcnMucmVtb3ZlRGF0YXNldFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTU9WRV9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbW92ZUZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTU9WRV9MQVlFUl06IHZpc1N0YXRlVXBkYXRlcnMucmVtb3ZlTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU9SREVSX0xBWUVSXTogdmlzU3RhdGVVcGRhdGVycy5yZW9yZGVyTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRVNFVF9NQVBfQ09ORklHXTogdmlzU3RhdGVVcGRhdGVycy5yZXNldE1hcENvbmZpZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GSUxURVJfQU5JTUFUSU9OX1RJTUVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlckFuaW1hdGlvblRpbWVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRklMVEVSX0FOSU1BVElPTl9USU1FX0NPTkZJR106XG4gICAgdmlzU3RhdGVVcGRhdGVycy5zZXRGaWx0ZXJBbmltYXRpb25UaW1lQ29uZmlnVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0ZJTFRFUl9BTklNQVRJT05fV0lORE9XXTogdmlzU3RhdGVVcGRhdGVycy5zZXRGaWx0ZXJBbmltYXRpb25XaW5kb3dVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRklMVEVSX1BMT1RdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlclBsb3RVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfTUFQX0lORk9dOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldE1hcEluZm9VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TSE9XX0RBVEFTRVRfVEFCTEVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNob3dEYXRhc2V0VGFibGVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfVEFCTEVfQ09MT1JdOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZVRhYmxlQ29sb3JVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5UT0dHTEVfRklMVEVSX0FOSU1BVElPTl06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlRmlsdGVyQW5pbWF0aW9uVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0ZJTFRFUl9BTklNQVRJT05fU1BFRURdOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZUZpbHRlckFuaW1hdGlvblNwZWVkVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0FOSU1BVElPTl9DT05GSUddOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEFuaW1hdGlvbkNvbmZpZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9MQVlFUl9BTklNQVRJT05fVElNRV06IHZpc1N0YXRlVXBkYXRlcnMuc2V0TGF5ZXJBbmltYXRpb25UaW1lVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0xBWUVSX0FOSU1BVElPTl9TUEVFRF06IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlTGF5ZXJBbmltYXRpb25TcGVlZFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9MQVlFUl9GT1JfTUFQXTogdmlzU3RhdGVVcGRhdGVycy50b2dnbGVMYXllckZvck1hcFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9TUExJVF9NQVBdOiB2aXNTdGF0ZVVwZGF0ZXJzLnRvZ2dsZVNwbGl0TWFwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0xBWUVSX0JMRU5ESU5HXTogdmlzU3RhdGVVcGRhdGVycy51cGRhdGVMYXllckJsZW5kaW5nVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX09WRVJMQVlfQkxFTkRJTkddOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZU92ZXJsYXlCbGVuZGluZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlVQREFURV9WSVNfREFUQV06IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlVmlzRGF0YVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTkFNRV9EQVRBU0VUXTogdmlzU3RhdGVVcGRhdGVycy5yZW5hbWVEYXRhc2V0VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0RBVEFTRVRfUFJPUFNdOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZURhdGFzZXRQcm9wc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GRUFUVVJFU106IHZpc1N0YXRlVXBkYXRlcnMuc2V0RmVhdHVyZXNVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5ERUxFVEVfRkVBVFVSRV06IHZpc1N0YXRlVXBkYXRlcnMuZGVsZXRlRmVhdHVyZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9QT0xZR09OX0ZJTFRFUl9MQVlFUl06IHZpc1N0YXRlVXBkYXRlcnMuc2V0UG9seWdvbkZpbHRlckxheWVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX1NFTEVDVEVEX0ZFQVRVUkVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldFNlbGVjdGVkRmVhdHVyZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9FRElUT1JfTU9ERV06IHZpc1N0YXRlVXBkYXRlcnMuc2V0RWRpdG9yTW9kZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9FRElUT1JfVklTSUJJTElUWV06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlRWRpdG9yVmlzaWJpbGl0eVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9GSUxURVJfRkVBVFVSRV06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlRmlsdGVyRmVhdHVyZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkFQUExZX0NQVV9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLmFwcGx5Q1BVRmlsdGVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU09SVF9UQUJMRV9DT0xVTU5dOiB2aXNTdGF0ZVVwZGF0ZXJzLnNvcnRUYWJsZUNvbHVtblVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlBJTl9UQUJMRV9DT0xVTU5dOiB2aXNTdGF0ZVVwZGF0ZXJzLnBpblRhYmxlQ29sdW1uVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQ09QWV9UQUJMRV9DT0xVTU5dOiB2aXNTdGF0ZVVwZGF0ZXJzLmNvcHlUYWJsZUNvbHVtblVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9DT0xVTU5fRElTUExBWV9GT1JNQVRdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldENvbHVtbkRpc3BsYXlGb3JtYXRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5ORVhUX0ZJTEVfQkFUQ0hdOiB2aXNTdGF0ZVVwZGF0ZXJzLm5leHRGaWxlQmF0Y2hVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5QUk9DRVNTX0ZJTEVfQ09OVEVOVF06IHZpc1N0YXRlVXBkYXRlcnMucHJvY2Vzc0ZpbGVDb250ZW50VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0xBWUVSX0FOSU1BVElPTl9USU1FX0NPTkZJR106XG4gICAgdmlzU3RhdGVVcGRhdGVycy5zZXRMYXllckFuaW1hdGlvblRpbWVDb25maWdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9GSUxURVJFRF9JVEVNU19DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyRmlsdGVyZWRJdGVtc0NoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLldNU19GRUFUVVJFX0lORk9dOiB2aXNTdGF0ZVVwZGF0ZXJzLndtc0ZlYXR1cmVJbmZvVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU1lOQ19USU1FX0ZJTFRFUl9XSVRIX0xBWUVSX1RJTUVMSU5FXTpcbiAgICB2aXNTdGF0ZVVwZGF0ZXJzLnN5bmNUaW1lRmlsdGVyV2l0aExheWVyVGltZWxpbmVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TWU5DX1RJTUVfRklMVEVSX1RJTUVMSU5FX01PREVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldFRpbWVGaWx0ZXJUaW1lbGluZU1vZGVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5BRERfRUZGRUNUXTogdmlzU3RhdGVVcGRhdGVycy5hZGRFZmZlY3RVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU9SREVSX0VGRkVDVF06IHZpc1N0YXRlVXBkYXRlcnMucmVvcmRlckVmZmVjdFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTU9WRV9FRkZFQ1RdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbW92ZUVmZmVjdFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlVQREFURV9FRkZFQ1RdOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZUVmZmVjdFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkNSRUFURV9ORVdfREFUQVNFVF9TVUNDRVNTXTogdmlzU3RhdGVVcGRhdGVycy5jcmVhdGVOZXdEYXRhc2V0U3VjY2Vzc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9MT0FESU5HX0lORElDQVRPUl06IHZpc1N0YXRlVXBkYXRlcnMuc2V0TG9hZGluZ0luZGljYXRvclVwZGF0ZXJcbn07XG5cbi8vIGNvbnN0cnVjdCB2aXMtc3RhdGUgcmVkdWNlclxuZXhwb3J0IGNvbnN0IHZpc1N0YXRlUmVkdWNlckZhY3RvcnkgPSAoaW5pdGlhbFN0YXRlID0ge30pID0+XG4gIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgaGFuZGxlQWN0aW9ucyhhY3Rpb25IYW5kbGVyLCB7XG4gICAgLi4udmlzU3RhdGVVcGRhdGVycy5JTklUSUFMX1ZJU19TVEFURSxcbiAgICAuLi5pbml0aWFsU3RhdGUsXG4gICAgaW5pdGlhbFN0YXRlXG4gIH0pO1xuXG5leHBvcnQgZGVmYXVsdCB2aXNTdGF0ZVJlZHVjZXJGYWN0b3J5KCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLElBQUFBLElBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGdCQUFBLEdBQUFDLHVCQUFBLENBQUFILE9BQUE7QUFBeUQsSUFBQUksY0FBQSxFQUx6RDtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFD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