UNPKG

kepler.gl

Version:

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

428 lines (427 loc) 32.9 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); var _exportNames = { KeplerGlLayers: true, LayerClasses: true, EditorLayerUtils: true, Layer: true, OVERLAY_TYPE_CONST: true, LAYER_ID_LENGTH: true, colorMaker: true, layerColors: true, pointToPolygonGeo: true, defaultElevation: true, defaultLineWidth: true, defaultRadius: true, COLUMN_MODE_TABLE: true, MAX_ZOOM_LEVEL: true, h3DefaultElevation: true, ScenegraphLayer: true, scenegraphVisConfigs: true, tripDefaultLineWidth: true, coordHasLength4: true, isTripGeoJsonField: true, parseTripGeoJsonTimestamp: true, getAnimationDomainFromTimestamps: true, s2DefaultElevation: true, getS2Center: true, AggregationLayer: true, getFilterDataFunc: true, VectorTileLayer: true, VectorTileIcon: true, RasterTileLayer: true, getNumRasterTilesBeingLoaded: true, RasterTileIcon: true, CATEGORICAL_COLORMAP_ID: true, DATA_SOURCE_COLOR_DEFAULTS: true, RASTER_COLOR_RESET_PARAMS: true, PRESET_OPTIONS: true, RasterLayerResources: true, getCategoricalColormapDataUrl: true, parseGeoJsonRawFeature: true, Table: true, getEditorLayer: true, ScenegraphLayerIcon: true }; Object.defineProperty(exports, "AggregationLayer", { enumerable: true, get: function get() { return _aggregationLayer["default"]; } }); Object.defineProperty(exports, "CATEGORICAL_COLORMAP_ID", { enumerable: true, get: function get() { return _config.CATEGORICAL_COLORMAP_ID; } }); Object.defineProperty(exports, "COLUMN_MODE_TABLE", { enumerable: true, get: function get() { return _geojsonLayer.COLUMN_MODE_TABLE; } }); Object.defineProperty(exports, "DATA_SOURCE_COLOR_DEFAULTS", { enumerable: true, get: function get() { return _config.DATA_SOURCE_COLOR_DEFAULTS; } }); exports.KeplerGlLayers = exports.EditorLayerUtils = void 0; Object.defineProperty(exports, "LAYER_ID_LENGTH", { enumerable: true, get: function get() { return _baseLayer.LAYER_ID_LENGTH; } }); Object.defineProperty(exports, "Layer", { enumerable: true, get: function get() { return _baseLayer["default"]; } }); exports.LayerClasses = void 0; Object.defineProperty(exports, "MAX_ZOOM_LEVEL", { enumerable: true, get: function get() { return _heatmapLayer.MAX_ZOOM_LEVEL; } }); Object.defineProperty(exports, "OVERLAY_TYPE_CONST", { enumerable: true, get: function get() { return _baseLayer.OVERLAY_TYPE_CONST; } }); Object.defineProperty(exports, "PRESET_OPTIONS", { enumerable: true, get: function get() { return _config.PRESET_OPTIONS; } }); Object.defineProperty(exports, "RASTER_COLOR_RESET_PARAMS", { enumerable: true, get: function get() { return _config.RASTER_COLOR_RESET_PARAMS; } }); Object.defineProperty(exports, "RasterLayerResources", { enumerable: true, get: function get() { return _url.RasterLayerResources; } }); Object.defineProperty(exports, "RasterTileIcon", { enumerable: true, get: function get() { return _rasterTileIcon["default"]; } }); Object.defineProperty(exports, "RasterTileLayer", { enumerable: true, get: function get() { return _rasterTileLayer["default"]; } }); Object.defineProperty(exports, "ScenegraphLayer", { enumerable: true, get: function get() { return _scenegraphLayer["default"]; } }); Object.defineProperty(exports, "ScenegraphLayerIcon", { enumerable: true, get: function get() { return _scenegraphLayerIcon["default"]; } }); Object.defineProperty(exports, "Table", { enumerable: true, get: function get() { return _table["default"]; } }); Object.defineProperty(exports, "VectorTileIcon", { enumerable: true, get: function get() { return _vectorTileIcon["default"]; } }); Object.defineProperty(exports, "VectorTileLayer", { enumerable: true, get: function get() { return _vectorTileLayer["default"]; } }); Object.defineProperty(exports, "colorMaker", { enumerable: true, get: function get() { return _baseLayer.colorMaker; } }); Object.defineProperty(exports, "coordHasLength4", { enumerable: true, get: function get() { return _tripUtils.coordHasLength4; } }); Object.defineProperty(exports, "defaultElevation", { enumerable: true, get: function get() { return _geojsonLayer.defaultElevation; } }); Object.defineProperty(exports, "defaultLineWidth", { enumerable: true, get: function get() { return _geojsonLayer.defaultLineWidth; } }); Object.defineProperty(exports, "defaultRadius", { enumerable: true, get: function get() { return _geojsonLayer.defaultRadius; } }); Object.defineProperty(exports, "getAnimationDomainFromTimestamps", { enumerable: true, get: function get() { return _tripUtils.getAnimationDomainFromTimestamps; } }); Object.defineProperty(exports, "getCategoricalColormapDataUrl", { enumerable: true, get: function get() { return _image.getCategoricalColormapDataUrl; } }); Object.defineProperty(exports, "getEditorLayer", { enumerable: true, get: function get() { return _editorLayer.getEditorLayer; } }); Object.defineProperty(exports, "getFilterDataFunc", { enumerable: true, get: function get() { return _aggregationLayer.getFilterDataFunc; } }); Object.defineProperty(exports, "getNumRasterTilesBeingLoaded", { enumerable: true, get: function get() { return _rasterTileLayer.getNumRasterTilesBeingLoaded; } }); Object.defineProperty(exports, "getS2Center", { enumerable: true, get: function get() { return _s2Utils.getS2Center; } }); Object.defineProperty(exports, "h3DefaultElevation", { enumerable: true, get: function get() { return _h3HexagonLayer.defaultElevation; } }); Object.defineProperty(exports, "isTripGeoJsonField", { enumerable: true, get: function get() { return _tripUtils.isTripGeoJsonField; } }); Object.defineProperty(exports, "layerColors", { enumerable: true, get: function get() { return _baseLayer.layerColors; } }); Object.defineProperty(exports, "parseGeoJsonRawFeature", { enumerable: true, get: function get() { return _geojsonUtils.parseGeoJsonRawFeature; } }); Object.defineProperty(exports, "parseTripGeoJsonTimestamp", { enumerable: true, get: function get() { return _tripUtils.parseTripGeoJsonTimestamp; } }); Object.defineProperty(exports, "pointToPolygonGeo", { enumerable: true, get: function get() { return _gridUtils.pointToPolygonGeo; } }); Object.defineProperty(exports, "s2DefaultElevation", { enumerable: true, get: function get() { return _s2GeometryLayer.defaultElevation; } }); Object.defineProperty(exports, "scenegraphVisConfigs", { enumerable: true, get: function get() { return _scenegraphLayer.scenegraphVisConfigs; } }); Object.defineProperty(exports, "tripDefaultLineWidth", { enumerable: true, get: function get() { return _tripLayer.defaultLineWidth; } }); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _baseLayer = _interopRequireWildcard(require("./base-layer")); Object.keys(_baseLayer).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _baseLayer[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _baseLayer[key]; } }); }); var _pointLayer = _interopRequireDefault(require("./point-layer/point-layer")); var _arcLayer = _interopRequireDefault(require("./arc-layer/arc-layer")); var _lineLayer = _interopRequireDefault(require("./line-layer/line-layer")); var _gridLayer = _interopRequireDefault(require("./grid-layer/grid-layer")); var _gridUtils = require("./grid-layer/grid-utils"); var _hexagonLayer = _interopRequireDefault(require("./hexagon-layer/hexagon-layer")); var _geojsonLayer = _interopRequireWildcard(require("./geojson-layer/geojson-layer")); var _clusterLayer = _interopRequireDefault(require("./cluster-layer/cluster-layer")); var _iconLayer = _interopRequireDefault(require("./icon-layer/icon-layer")); var _heatmapLayer = _interopRequireWildcard(require("./heatmap-layer/heatmap-layer")); var _h3HexagonLayer = _interopRequireWildcard(require("./h3-hexagon-layer/h3-hexagon-layer")); var _scenegraphLayer = _interopRequireWildcard(require("./scenegraph-layer/scenegraph-layer")); var _tripLayer = _interopRequireWildcard(require("./trip-layer/trip-layer")); var _tripUtils = require("./trip-layer/trip-utils"); var _s2GeometryLayer = _interopRequireWildcard(require("./s2-geometry-layer/s2-geometry-layer")); var _s2Utils = require("./s2-geometry-layer/s2-utils"); var _aggregationLayer = _interopRequireWildcard(require("./aggregation-layer")); var _vectorTileLayer = _interopRequireDefault(require("./vector-tile/vector-tile-layer")); var _vectorTileIcon = _interopRequireDefault(require("./vector-tile/vector-tile-icon")); var _rasterTileLayer = _interopRequireWildcard(require("./raster-tile/raster-tile-layer")); var _rasterTileIcon = _interopRequireDefault(require("./raster-tile/raster-tile-icon")); var _config = require("./raster-tile/config"); var _url = require("./raster-tile/url"); var _image = require("./raster-tile/image"); var _types = require("./raster-tile/types"); Object.keys(_types).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _types[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _types[key]; } }); }); var _rasterTileUtils = require("./raster-tile/raster-tile-utils"); Object.keys(_rasterTileUtils).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _rasterTileUtils[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _rasterTileUtils[key]; } }); }); var _constants = require("@kepler.gl/constants"); var _geojsonUtils = require("./geojson-layer/geojson-utils"); var _mapboxUtils = require("./mapbox-utils"); Object.keys(_mapboxUtils).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _mapboxUtils[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _mapboxUtils[key]; } }); }); var _h3HexagonLayer2 = require("./h3-hexagon-layer"); Object.keys(_h3HexagonLayer2).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _h3HexagonLayer2[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _h3HexagonLayer2[key]; } }); }); var _table = _interopRequireDefault(require("./table")); var _editorLayer = require("./editor-layer/editor-layer"); var _scenegraphLayerIcon = _interopRequireDefault(require("./scenegraph-layer/scenegraph-layer-icon")); var _editorLayerUtils = require("./editor-layer/editor-layer-utils"); var _layerUpdate = require("./layer-update"); Object.keys(_layerUpdate).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _layerUpdate[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _layerUpdate[key]; } }); }); var _layerUtils = require("./layer-utils"); Object.keys(_layerUtils).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _layerUtils[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _layerUtils[key]; } }); }); var _LayerClasses; // SPDX-License-Identifier: MIT // Copyright contributors to the kepler.gl project // base layer // eslint-disable-next-line prettier/prettier 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; } // individual layers var KeplerGlLayers = exports.KeplerGlLayers = { PointLayer: _pointLayer["default"], ArcLayer: _arcLayer["default"], LineLayer: _lineLayer["default"], GridLayer: _gridLayer["default"], HexagonLayer: _hexagonLayer["default"], GeojsonLayer: _geojsonLayer["default"], ClusterLayer: _clusterLayer["default"], IconLayer: _iconLayer["default"], HeatmapLayer: _heatmapLayer["default"], H3Layer: _h3HexagonLayer["default"], ScenegraphLayer: _scenegraphLayer["default"], TripLayer: _tripLayer["default"], S2GeometryLayer: _s2GeometryLayer["default"], VectorTileLayer: _vectorTileLayer["default"], RasterTileLayer: _rasterTileLayer["default"] }; var LayerClasses = exports.LayerClasses = (_LayerClasses = {}, (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"])(_LayerClasses, _constants.LAYER_TYPES.point, _pointLayer["default"]), _constants.LAYER_TYPES.arc, _arcLayer["default"]), _constants.LAYER_TYPES.line, _lineLayer["default"]), _constants.LAYER_TYPES.grid, _gridLayer["default"]), _constants.LAYER_TYPES.hexagon, _hexagonLayer["default"]), _constants.LAYER_TYPES.geojson, _geojsonLayer["default"]), _constants.LAYER_TYPES.cluster, _clusterLayer["default"]), _constants.LAYER_TYPES.icon, _iconLayer["default"]), _constants.LAYER_TYPES.heatmap, _heatmapLayer["default"]), _constants.LAYER_TYPES.hexagonId, _h3HexagonLayer["default"]), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_LayerClasses, _constants.LAYER_TYPES['3D'], _scenegraphLayer["default"]), _constants.LAYER_TYPES.trip, _tripLayer["default"]), _constants.LAYER_TYPES.s2, _s2GeometryLayer["default"]), _constants.LAYER_TYPES['vectorTile'], _vectorTileLayer["default"]), _constants.LAYER_TYPES['rasterTile'], _rasterTileLayer["default"])); var EditorLayerUtils = exports.EditorLayerUtils = { isDrawingActive: _editorLayerUtils.isDrawingActive, onClick: _editorLayerUtils.onClick, onHover: _editorLayerUtils.onHover, getTooltip: _editorLayerUtils.getTooltip, getCursor: _editorLayerUtils.getCursor }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYmFzZUxheWVyIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJfZXhwb3J0TmFtZXMiLCJleHBvcnRzIiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3BvaW50TGF5ZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2FyY0xheWVyIiwiX2xpbmVMYXllciIsIl9ncmlkTGF5ZXIiLCJfZ3JpZFV0aWxzIiwiX2hleGFnb25MYXllciIsIl9nZW9qc29uTGF5ZXIiLCJfY2x1c3RlckxheWVyIiwiX2ljb25MYXllciIsIl9oZWF0bWFwTGF5ZXIiLCJfaDNIZXhhZ29uTGF5ZXIiLCJfc2NlbmVncmFwaExheWVyIiwiX3RyaXBMYXllciIsIl90cmlwVXRpbHMiLCJfczJHZW9tZXRyeUxheWVyIiwiX3MyVXRpbHMiLCJfYWdncmVnYXRpb25MYXllciIsIl92ZWN0b3JUaWxlTGF5ZXIiLCJfdmVjdG9yVGlsZUljb24iLCJfcmFzdGVyVGlsZUxheWVyIiwiX3Jhc3RlclRpbGVJY29uIiwiX2NvbmZpZyIsIl91cmwiLCJfaW1hZ2UiLCJfdHlwZXMiLCJfcmFzdGVyVGlsZVV0aWxzIiwiX2NvbnN0YW50cyIsIl9nZW9qc29uVXRpbHMiLCJfbWFwYm94VXRpbHMiLCJfaDNIZXhhZ29uTGF5ZXIyIiwiX3RhYmxlIiwiX2VkaXRvckxheWVyIiwiX3NjZW5lZ3JhcGhMYXllckljb24iLCJfZWRpdG9yTGF5ZXJVdGlscyIsIl9sYXllclVwZGF0ZSIsIl9sYXllclV0aWxzIiwiX0xheWVyQ2xhc3NlcyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsIm4iLCJfX3Byb3RvX18iLCJhIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImkiLCJzZXQiLCJLZXBsZXJHbExheWVycyIsIlBvaW50TGF5ZXIiLCJBcmNMYXllciIsIkxpbmVMYXllciIsIkdyaWRMYXllciIsIkhleGFnb25MYXllciIsIkdlb2pzb25MYXllciIsIkNsdXN0ZXJMYXllciIsIkljb25MYXllciIsIkhlYXRtYXBMYXllciIsIkgzTGF5ZXIiLCJTY2VuZWdyYXBoTGF5ZXIiLCJUcmlwTGF5ZXIiLCJTMkdlb21ldHJ5TGF5ZXIiLCJWZWN0b3JUaWxlTGF5ZXIiLCJSYXN0ZXJUaWxlTGF5ZXIiLCJMYXllckNsYXNzZXMiLCJfZGVmaW5lUHJvcGVydHkyIiwiTEFZRVJfVFlQRVMiLCJwb2ludCIsImFyYyIsImxpbmUiLCJncmlkIiwiaGV4YWdvbiIsImdlb2pzb24iLCJjbHVzdGVyIiwiaWNvbiIsImhlYXRtYXAiLCJoZXhhZ29uSWQiLCJ0cmlwIiwiczIiLCJFZGl0b3JMYXllclV0aWxzIiwiaXNEcmF3aW5nQWN0aXZlIiwib25DbGljayIsIm9uSG92ZXIiLCJnZXRUb29sdGlwIiwiZ2V0Q3Vyc29yIl0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmV4cG9ydCB7XG4gIGRlZmF1bHQgYXMgTGF5ZXIsXG4gIE9WRVJMQVlfVFlQRV9DT05TVCxcbiAgTEFZRVJfSURfTEVOR1RILFxuICBjb2xvck1ha2VyLFxuICBsYXllckNvbG9yc1xufSBmcm9tICcuL2Jhc2UtbGF5ZXInO1xuaW1wb3J0IHtkZWZhdWx0IGFzIFBvaW50TGF5ZXJ9IGZyb20gJy4vcG9pbnQtbGF5ZXIvcG9pbnQtbGF5ZXInO1xuaW1wb3J0IHtkZWZhdWx0IGFzIEFyY0xheWVyfSBmcm9tICcuL2FyYy1sYXllci9hcmMtbGF5ZXInO1xuaW1wb3J0IHtkZWZhdWx0IGFzIExpbmVMYXllcn0gZnJvbSAnLi9saW5lLWxheWVyL2xpbmUtbGF5ZXInO1xuaW1wb3J0IHtkZWZhdWx0IGFzIEdyaWRMYXllcn0gZnJvbSAnLi9ncmlkLWxheWVyL2dyaWQtbGF5ZXInO1xuZXhwb3J0IHtwb2ludFRvUG9seWdvbkdlb30gZnJvbSAnLi9ncmlkLWxheWVyL2dyaWQtdXRpbHMnO1xuaW1wb3J0IHtkZWZhdWx0IGFzIEhleGFnb25MYXllcn0gZnJvbSAnLi9oZXhhZ29uLWxheWVyL2hleGFnb24tbGF5ZXInO1xuaW1wb3J0IHtkZWZhdWx0IGFzIEdlb2pzb25MYXllcn0gZnJvbSAnLi9nZW9qc29uLWxheWVyL2dlb2pzb24tbGF5ZXInO1xuZXhwb3J0IHtcbiAgZGVmYXVsdEVsZXZhdGlvbixcbiAgZGVmYXVsdExpbmVXaWR0aCxcbiAgZGVmYXVsdFJhZGl1cyxcbiAgQ09MVU1OX01PREVfVEFCTEVcbn0gZnJvbSAnLi9nZW9qc29uLWxheWVyL2dlb2pzb24tbGF5ZXInO1xuaW1wb3J0IHtkZWZhdWx0IGFzIENsdXN0ZXJMYXllcn0gZnJvbSAnLi9jbHVzdGVyLWxheWVyL2NsdXN0ZXItbGF5ZXInO1xuaW1wb3J0IHtkZWZhdWx0IGFzIEljb25MYXllcn0gZnJvbSAnLi9pY29uLWxheWVyL2ljb24tbGF5ZXInO1xuaW1wb3J0IHtkZWZhdWx0IGFzIEhlYXRtYXBMYXllcn0gZnJvbSAnLi9oZWF0bWFwLWxheWVyL2hlYXRtYXAtbGF5ZXInO1xuZXhwb3J0IHtNQVhfWk9PTV9MRVZFTH0gZnJvbSAnLi9oZWF0bWFwLWxheWVyL2hlYXRtYXAtbGF5ZXInO1xuaW1wb3J0IHtkZWZhdWx0IGFzIEgzTGF5ZXJ9IGZyb20gJy4vaDMtaGV4YWdvbi1sYXllci9oMy1oZXhhZ29uLWxheWVyJztcbmV4cG9ydCB7ZGVmYXVsdEVsZXZhdGlvbiBhcyBoM0RlZmF1bHRFbGV2YXRpb259IGZyb20gJy4vaDMtaGV4YWdvbi1sYXllci9oMy1oZXhhZ29uLWxheWVyJztcbmltcG9ydCB7ZGVmYXVsdCBhcyBTY2VuZWdyYXBoTGF5ZXJ9IGZyb20gJy4vc2NlbmVncmFwaC1sYXllci9zY2VuZWdyYXBoLWxheWVyJztcbmltcG9ydCB7ZGVmYXVsdCBhcyBUcmlwTGF5ZXJ9IGZyb20gJy4vdHJpcC1sYXllci90cmlwLWxheWVyJztcbmV4cG9ydCB7ZGVmYXVsdExpbmVXaWR0aCBhcyB0cmlwRGVmYXVsdExpbmVXaWR0aH0gZnJvbSAnLi90cmlwLWxheWVyL3RyaXAtbGF5ZXInO1xuZXhwb3J0IHtcbiAgY29vcmRIYXNMZW5ndGg0LFxuICBpc1RyaXBHZW9Kc29uRmllbGQsXG4gIHBhcnNlVHJpcEdlb0pzb25UaW1lc3RhbXAsXG4gIGdldEFuaW1hdGlvbkRvbWFpbkZyb21UaW1lc3RhbXBzXG59IGZyb20gJy4vdHJpcC1sYXllci90cmlwLXV0aWxzJztcbmltcG9ydCB7ZGVmYXVsdCBhcyBTMkdlb21ldHJ5TGF5ZXJ9IGZyb20gJy4vczItZ2VvbWV0cnktbGF5ZXIvczItZ2VvbWV0cnktbGF5ZXInO1xuZXhwb3J0IHtkZWZhdWx0RWxldmF0aW9uIGFzIHMyRGVmYXVsdEVsZXZhdGlvbn0gZnJvbSAnLi9zMi1nZW9tZXRyeS1sYXllci9zMi1nZW9tZXRyeS1sYXllcic7XG5leHBvcnQge2dldFMyQ2VudGVyfSBmcm9tICcuL3MyLWdlb21ldHJ5LWxheWVyL3MyLXV0aWxzJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBBZ2dyZWdhdGlvbkxheWVyfSBmcm9tICcuL2FnZ3JlZ2F0aW9uLWxheWVyJztcbmltcG9ydCB7ZGVmYXVsdCBhcyBWZWN0b3JUaWxlTGF5ZXJ9IGZyb20gJy4vdmVjdG9yLXRpbGUvdmVjdG9yLXRpbGUtbGF5ZXInO1xuXG5leHBvcnQge2RlZmF1bHQgYXMgVmVjdG9yVGlsZUljb259IGZyb20gJy4vdmVjdG9yLXRpbGUvdmVjdG9yLXRpbGUtaWNvbic7XG5leHBvcnQge2RlZmF1bHQgYXMgVmVjdG9yVGlsZUxheWVyfSBmcm9tICcuL3ZlY3Rvci10aWxlL3ZlY3Rvci10aWxlLWxheWVyJztcblxuaW1wb3J0IHtkZWZhdWx0IGFzIFJhc3RlclRpbGVMYXllcn0gZnJvbSAnLi9yYXN0ZXItdGlsZS9yYXN0ZXItdGlsZS1sYXllcic7XG5leHBvcnQge2RlZmF1bHQgYXMgUmFzdGVyVGlsZUljb259IGZyb20gJy4vcmFzdGVyLXRpbGUvcmFzdGVyLXRpbGUtaWNvbic7XG5leHBvcnQge1xuICBkZWZhdWx0IGFzIFJhc3RlclRpbGVMYXllcixcbiAgZ2V0TnVtUmFzdGVyVGlsZXNCZWluZ0xvYWRlZFxufSBmcm9tICcuL3Jhc3Rlci10aWxlL3Jhc3Rlci10aWxlLWxheWVyJztcbmV4cG9ydCB7XG4gIENBVEVHT1JJQ0FMX0NPTE9STUFQX0lELFxuICBEQVRBX1NPVVJDRV9DT0xPUl9ERUZBVUxUUyxcbiAgUkFTVEVSX0NPTE9SX1JFU0VUX1BBUkFNUyxcbiAgUFJFU0VUX09QVElPTlNcbn0gZnJvbSAnLi9yYXN0ZXItdGlsZS9jb25maWcnO1xuZXhwb3J0IHtSYXN0ZXJMYXllclJlc291cmNlc30gZnJvbSAnLi9yYXN0ZXItdGlsZS91cmwnO1xuZXhwb3J0IHtnZXRDYXRlZ29yaWNhbENvbG9ybWFwRGF0YVVybH0gZnJvbSAnLi9yYXN0ZXItdGlsZS9pbWFnZSc7XG5leHBvcnQgKiBmcm9tICcuL3Jhc3Rlci10aWxlL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcmFzdGVyLXRpbGUvcmFzdGVyLXRpbGUtdXRpbHMnO1xuXG5pbXBvcnQge0xBWUVSX1RZUEVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5leHBvcnQge3BhcnNlR2VvSnNvblJhd0ZlYXR1cmV9IGZyb20gJy4vZ2VvanNvbi1sYXllci9nZW9qc29uLXV0aWxzJztcbi8vIGJhc2UgbGF5ZXJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmV0dGllci9wcmV0dGllclxuZXhwb3J0IHR5cGUge1xuICBMYXllckJhc2VDb25maWcsXG4gIFZpc3VhbENoYW5uZWxEb21haW4sXG4gIFZpc3VhbENoYW5uZWwsXG4gIFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvblxufSBmcm9tICcuL2Jhc2UtbGF5ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLWxheWVyJztcblxuLy8gaW5kaXZpZHVhbCBsYXllcnNcbmV4cG9ydCBjb25zdCBLZXBsZXJHbExheWVycyA9IHtcbiAgUG9pbnRMYXllcixcbiAgQXJjTGF5ZXIsXG4gIExpbmVMYXllcixcbiAgR3JpZExheWVyLFxuICBIZXhhZ29uTGF5ZXIsXG4gIEdlb2pzb25MYXllcixcbiAgQ2x1c3RlckxheWVyLFxuICBJY29uTGF5ZXIsXG4gIEhlYXRtYXBMYXllcixcbiAgSDNMYXllcixcbiAgU2NlbmVncmFwaExheWVyLFxuICBUcmlwTGF5ZXIsXG4gIFMyR2VvbWV0cnlMYXllcixcbiAgVmVjdG9yVGlsZUxheWVyLFxuICBSYXN0ZXJUaWxlTGF5ZXJcbn07XG5cbmV4cG9ydCB0eXBlIExheWVyQ2xhc3Nlc1R5cGUgPSB0eXBlb2YgTGF5ZXJDbGFzc2VzO1xuZXhwb3J0IGNvbnN0IExheWVyQ2xhc3NlcyA9IHtcbiAgW0xBWUVSX1RZUEVTLnBvaW50XTogUG9pbnRMYXllcixcbiAgW0xBWUVSX1RZUEVTLmFyY106IEFyY0xheWVyLFxuICBbTEFZRVJfVFlQRVMubGluZV06IExpbmVMYXllcixcbiAgW0xBWUVSX1RZUEVTLmdyaWRdOiBHcmlkTGF5ZXIsXG4gIFtMQVlFUl9UWVBFUy5oZXhhZ29uXTogSGV4YWdvbkxheWVyLFxuICBbTEFZRVJfVFlQRVMuZ2VvanNvbl06IEdlb2pzb25MYXllcixcbiAgW0xBWUVSX1RZUEVTLmNsdXN0ZXJdOiBDbHVzdGVyTGF5ZXIsXG4gIFtMQVlFUl9UWVBFUy5pY29uXTogSWNvbkxheWVyLFxuICBbTEFZRVJfVFlQRVMuaGVhdG1hcF06IEhlYXRtYXBMYXllcixcbiAgW0xBWUVSX1RZUEVTLmhleGFnb25JZF06IEgzTGF5ZXIsXG4gIFtMQVlFUl9UWVBFU1snM0QnXV06IFNjZW5lZ3JhcGhMYXllcixcbiAgW0xBWUVSX1RZUEVTLnRyaXBdOiBUcmlwTGF5ZXIsXG4gIFtMQVlFUl9UWVBFUy5zMl06IFMyR2VvbWV0cnlMYXllcixcbiAgW0xBWUVSX1RZUEVTWyd2ZWN0b3JUaWxlJ11dOiBWZWN0b3JUaWxlTGF5ZXIsXG4gIFtMQVlFUl9UWVBFU1sncmFzdGVyVGlsZSddXTogUmFzdGVyVGlsZUxheWVyXG59O1xuXG5leHBvcnQgKiBmcm9tICcuL21hcGJveC11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2gzLWhleGFnb24tbGF5ZXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIFRhYmxlfSBmcm9tICcuL3RhYmxlJztcblxuZXhwb3J0IHtnZXRFZGl0b3JMYXllcn0gZnJvbSAnLi9lZGl0b3ItbGF5ZXIvZWRpdG9yLWxheWVyJztcblxuZXhwb3J0IHtcbiAgZGVmYXVsdCBhcyBTY2VuZWdyYXBoTGF5ZXIsXG4gIHNjZW5lZ3JhcGhWaXNDb25maWdzXG59IGZyb20gJy4vc2NlbmVncmFwaC1sYXllci9zY2VuZWdyYXBoLWxheWVyJztcbmV4cG9ydCB7ZGVmYXVsdCBhcyBTY2VuZWdyYXBoTGF5ZXJJY29ufSBmcm9tICcuL3NjZW5lZ3JhcGgtbGF5ZXIvc2NlbmVncmFwaC1sYXllci1pY29uJztcblxuaW1wb3J0IHtcbiAgaXNEcmF3aW5nQWN0aXZlLFxuICBvbkNsaWNrLFxuICBvbkhvdmVyLFxuICBnZXRUb29sdGlwLFxuICBnZXRDdXJzb3Jcbn0gZnJvbSAnLi9lZGl0b3ItbGF5ZXIvZWRpdG9yLWxheWVyLXV0aWxzJztcbmV4cG9ydCBjb25zdCBFZGl0b3JMYXllclV0aWxzID0ge1xuICBpc0RyYXdpbmdBY3RpdmUsXG4gIG9uQ2xpY2ssXG4gIG9uSG92ZXIsXG4gIGdldFRvb2x0aXAsXG4gIGdldEN1cnNvclxufTtcblxuZXhwb3J0IHtnZXRGaWx0ZXJEYXRhRnVuY30gZnJvbSAnLi9hZ2dyZWdhdGlvbi1sYXllcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItdXBkYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItdXRpbHMnO1xuIl0sIm1hcHBpbmdzIjoiOzs7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