@hopara/react 0.1.112 → 0.1.114
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/build/index.js +2 -2
- package/build/static/css/main.css +8 -96
- package/build/static/media/{place-row.c46a02cf.svg → place-row.2bc3682c.svg} +0 -1
- package/package.json +51 -35
- package/build/static/media/filter-large.61677ff2.svg +0 -1
- package/build/static/media/layers-large.596ff81a.svg +0 -1
- package/build/static/media/table-large.72b90bd0.svg +0 -1
- package/build/static/media/tune-large.ecd7a42c.svg +0 -1
package/build/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*! For license information please see index.js.LICENSE.txt */
|
|
2
|
-
module.exports=function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId]){return installedModules[moduleId].exports}var module=installedModules[moduleId]={i:moduleId,l:false,exports:{}};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.l=true;return module.exports}__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.d=function(exports,name,getter){if(!__webpack_require__.o(exports,name)){Object.defineProperty(exports,name,{enumerable:true,get:getter})}};__webpack_require__.r=function(exports){if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(exports,"__esModule",{value:true})};__webpack_require__.t=function(value,mode){if(mode&1)value=__webpack_require__(value);if(mode&8)return value;if(mode&4&&typeof value==="object"&&value&&value.__esModule)return value;var ns=Object.create(null);__webpack_require__.r(ns);Object.defineProperty(ns,"default",{enumerable:true,value});if(mode&2&&typeof value!="string")for(var key in value)__webpack_require__.d(ns,key,function(key){return value[key]}.bind(null,key));return ns};__webpack_require__.n=function(module){var getter=module&&module.__esModule?function getDefault(){return module["default"]}:function getModuleExports(){return module};__webpack_require__.d(getter,"a",getter);return getter};__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)};__webpack_require__.p="";return __webpack_require__(__webpack_require__.s=155)}([function(module,exports){module.exports=require("react/jsx-runtime")},function(module,__webpack_exports__,__webpack_require__){"use strict";var external_typesafe_actions_=__webpack_require__(2);const actions={analyticsEvent:Object(external_typesafe_actions_["createAction"])("WA_EVENT")()};var GAActions=actions;const AppActions_actions={fetch:Object(external_typesafe_actions_["createAsyncAction"])("FETCH_APP_REQUEST","FETCH_APP_SUCCESS","FETCH_APP_FAILURE")(),appPageLoaded:Object(external_typesafe_actions_["createAction"])("APP_PAGE_LOADED")(),appEditToggle:Object(external_typesafe_actions_["createAction"])("APP_EDIT_TOGGLE")(),timeTravelRequested:Object(external_typesafe_actions_["createAction"])("TIME_TRAVEL_REQUESTED")(),restoreVersion:Object(external_typesafe_actions_["createAsyncAction"])("RESTORE_APP_VERSION_REQUEST","RESTORE_APP_VERSION_SUCCESS","RESTORE_APP_VERSION_FAILURE")(),checkoutVersion:Object(external_typesafe_actions_["createAsyncAction"])("CHECKOUT_APP_VERSION_REQUEST","CHECKOUT_APP_VERSION_SUCCESS","CHECKOUT_APP_VERSION_FAILURE")(),discardChanges:{request:Object(external_typesafe_actions_["createAction"])("DISCARD_APP_CHANGES_REQUEST")()},navigateToScreen:Object(external_typesafe_actions_["createAction"])("NavigateToScreen")()};var AppActions=AppActions_actions;const AppsActions_actions={pageLoaded:Object(external_typesafe_actions_["createAction"])("APPS_PAGE_LOADED")(),fetch:Object(external_typesafe_actions_["createAsyncAction"])("FETCH_APPS_REQUEST","FETCH_APPS_SUCCESS","FETCH_APPS_FAILURE")()};var AppsActions=AppsActions_actions;const AuthActions_actions={signedIn:Object(external_typesafe_actions_["createAction"])("SIGNED_IN")()};var AuthActions=AuthActions_actions;const DataBrowserActions_actions={rowChanged:Object(external_typesafe_actions_["createAction"])("DATA_BROWSER_ROW_CHANGED")(),rowPlaced:Object(external_typesafe_actions_["createAction"])("DATA_BROWSER_ROW_PLACED")(),rowUnplaced:Object(external_typesafe_actions_["createAction"])("DATA_BROWSER_ROW_UNPLACED")(),rowSelected:Object(external_typesafe_actions_["createAction"])("DATA_BROWSER_ROW_SELECTED")(),rowUnselected:Object(external_typesafe_actions_["createAction"])("DATA_BROWSER_ROW_UNSELECTED")(),rowCreate:{requested:Object(external_typesafe_actions_["createAction"])("DATA_BROWSER_ROW_CREATE_REQUESTED")()},rowDelete:{requested:Object(external_typesafe_actions_["createAction"])("DATA_BROWSER_ROW_DELETE_REQUESTED")()},fetch:Object(external_typesafe_actions_["createAsyncAction"])("DATA_BROWSER_FETCH_REQUEST","DATA_BROWSER_FETCH_SUCCESS","DATA_BROWSER_FETCH_FAILURE")(),dataBrowserSearch:Object(external_typesafe_actions_["createAction"])("DATA_BROWSER_SEARCH")(),navigateToPosition:Object(external_typesafe_actions_["createAction"])("NAVIGATE_TO_POSITION")(),paginateNext:Object(external_typesafe_actions_["createAction"])("DATA_BROWSER_PAGINATE_NEXT")(),paginatePrev:Object(external_typesafe_actions_["createAction"])("DATA_BROWSER_PAGINATE_PREVIOUS")()};var DataBrowserActions=DataBrowserActions_actions;const QueryActions_actions={dataListUpdated:Object(external_typesafe_actions_["createAction"])("DATA_LIST_UPDATED")(),fetch:Object(external_typesafe_actions_["createAsyncAction"])("FETCH_QUERIES_REQUEST","FETCH_QUERIES_SUCCESS","FETCH_QUERIES_FAILURE")()};var QueryActions=QueryActions_actions;const FilterActions_actions={sidebarFiltersClear:Object(external_typesafe_actions_["createAction"])("SIDEBAR_FILTERS_CLEAR")(),filterToggle:Object(external_typesafe_actions_["createAction"])("FILTER_TOGGLE")(),search:Object(external_typesafe_actions_["createAsyncAction"])("FILTER_SEARCH_REQUEST","FILTER_SEARCH_SUCCESS","FILTER_SEARCH_FAILURE")()};var FilterActions=FilterActions_actions;var HocActions=__webpack_require__(66);const LayerActions_actions={imageTransformed:Object(external_typesafe_actions_["createAction"])("LAYER_IMAGE_TRANSFORMED")(),imageUploaded:Object(external_typesafe_actions_["createAction"])("LAYER_IMAGE_UPLOADED")(),imageEditing:Object(external_typesafe_actions_["createAction"])("LAYER_IMAGE_EDITING")(),dragStart:Object(external_typesafe_actions_["createAction"])("LAYER_DRAG_START")(),dragEnded:Object(external_typesafe_actions_["createAction"])("LAYER_DRAG_ENDED")(),click:Object(external_typesafe_actions_["createAction"])("LAYER_CLICK")(),clickOut:Object(external_typesafe_actions_["createAction"])("LAYER_CLICK_OUT")(),mouseHover:Object(external_typesafe_actions_["createAction"])("LAYER_MOUSE_HOVER")(),mouseLeft:Object(external_typesafe_actions_["createAction"])("LAYER_MOUSE_LEFT")(),nameChanged:Object(external_typesafe_actions_["createAction"])("LAYER_NAME_CHANGED")(),visibilityChanged:Object(external_typesafe_actions_["createAction"])("LAYER_VISIBILITY_CHANGED")(),queryChanged:Object(external_typesafe_actions_["createAction"])("LAYER_QUERY_CHANGED")(),transformChanged:Object(external_typesafe_actions_["createAction"])("LAYER_TRANSFORM_CHANGED")(),animationChanged:Object(external_typesafe_actions_["createAction"])("LAYER_ANIMATION_CHANGED")(),layerChanged:Object(external_typesafe_actions_["createAction"])("LAYER_CHANGED")(),encodingChanged:Object(external_typesafe_actions_["createAction"])("LAYER_ENCODING_CHANGED")(),encodingPositionChanged:Object(external_typesafe_actions_["createAction"])("LAYER_POSITION_ENCODING_CHANGED")(),select:Object(external_typesafe_actions_["createAction"])("LAYER_SELECT")(),move:Object(external_typesafe_actions_["createAction"])("LAYER_MOVE")(),delete:Object(external_typesafe_actions_["createAction"])("LAYER_DELETE")(),createDraft:Object(external_typesafe_actions_["createAsyncAction"])("LAYER_CREATE_DRAFT_REQUEST","LAYER_CREATE_DRAFT_SUCCESS","LAYER_CREATE_DRAFT_FAILURE")()};var LayerActions=LayerActions_actions;const navigationActions={zoomInRequested:Object(external_typesafe_actions_["createAction"])("ZOOM_IN_REQUESTED")(),zoomOutRequested:Object(external_typesafe_actions_["createAction"])("ZOOM_OUT_REQUESTED")(),levelChangeRequested:Object(external_typesafe_actions_["createAction"])("LEVEL_CHANGE_REQUESTED")(),bearingModeToggle:Object(external_typesafe_actions_["createAction"])("BEARING_MODE_REQUESTED")()};const RootActions_actions={pageView:Object(external_typesafe_actions_["createAction"])("PAGE_VIEW")(),genericError:Object(external_typesafe_actions_["createAction"])("ERROR")()};var RootActions=RootActions_actions;const RowsetActions_actions={optimisticRowSaved:Object(external_typesafe_actions_["createAction"])("OPTIMISTIC_ROW_SAVED")(),rowSaved:Object(external_typesafe_actions_["createAction"])("ROW_SAVED")(),rowCreated:Object(external_typesafe_actions_["createAction"])("ROW_CREATED")(),rowDeleted:Object(external_typesafe_actions_["createAction"])("ROW_DELETED")(),rowFetched:Object(external_typesafe_actions_["createAction"])("ROW_FETCHED")(),fetchDataRequested:Object(external_typesafe_actions_["createAction"])("FETCH_DATA_REQUESTED")(),fetch:Object(external_typesafe_actions_["createAsyncAction"])("FETCH_DATA_REQUEST","FETCH_DATA_SUCCESS","FETCH_DATA_FAILURE")()};var RowsetActions=RowsetActions_actions;var ViewActions=__webpack_require__(52);const SidebarActions_actions={changeSize:Object(external_typesafe_actions_["createAction"])("SIDEBAR_CHANGE_SIZE")()};var SidebarActions=SidebarActions_actions;const UpdateActions_actions={subscribe:Object(external_typesafe_actions_["createAction"])("UPDATE_SUBSCRIBE")()};var UpdateActions=UpdateActions_actions;const encodingScopeActions={changed:Object(external_typesafe_actions_["createAction"])("ENCODING_SCOPE_CHANGED")()};const templateActions={createApp:Object(external_typesafe_actions_["createAsyncAction"])("CREATE_APP_FROM_TEMPLATE_REQUEST","CREATE_APP_FROM_TEMPLATE_SUCCESS","CREATE_APP_FROM_TEMPLATE_FAILURE")()};const templatesActions={fetch:Object(external_typesafe_actions_["createAsyncAction"])("FETCH_TEMPLATES_REQUEST","FETCH_TEMPLATES_SUCCESS","FETCH_TEMPLATES_FAILURE")()};const visualizationActions={jumpRequested:Object(external_typesafe_actions_["createAction"])("JUMP_REQUESTED")(),rowJumpRequested:Object(external_typesafe_actions_["createAction"])("ROW_JUMP_REQUESTED")(),jumpBackRequested:Object(external_typesafe_actions_["createAction"])("JUMP_BACK_REQUESTED")(),setInitialPosition:Object(external_typesafe_actions_["createAction"])("SET_INITIAL_POSITION")(),setMapStyle:Object(external_typesafe_actions_["createAction"])("SET_MAP_STYLE")(),save:Object(external_typesafe_actions_["createAsyncAction"])("VISUALIZATION_SAVE_REQUEST","VISUALIZATION_SAVE_SUCCESS","VISUALIZATION_SAVE_FAILURE")(),changeTab:Object(external_typesafe_actions_["createAction"])("CHANGE_VISUALIZATION_TAB")()};const worldActions={worldCreated:Object(external_typesafe_actions_["createAction"])("WORLD_CREATED")()};const webGLActions={status:Object(external_typesafe_actions_["createAction"])("WEBGL_STATUS")()};var TooltipActions=__webpack_require__(87);const Actions_actions={analytics:GAActions,app:AppActions,apps:AppsActions,auth:AuthActions,dataBrowser:DataBrowserActions,query:QueryActions,filter:FilterActions,hoc:HocActions["a"],layer:LayerActions,navigation:navigationActions,root:RootActions,rowset:RowsetActions,view:ViewActions["a"],sidebar:SidebarActions,update:UpdateActions,template:templateActions,templates:templatesActions,encodingScope:encodingScopeActions,visualization:visualizationActions,world:worldActions,tooltip:TooltipActions["a"],webgl:webGLActions};var Actions=__webpack_exports__["a"]=Actions_actions},function(module,exports){module.exports=require("typesafe-actions")},function(module,exports){module.exports=require("lodash/fp")},function(module,exports){module.exports=require("@redux-saga/core/effects")},function(module,exports){module.exports=require("react")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"i",(function(){return Row["a"]}));__webpack_require__.d(__webpack_exports__,"j",(function(){return Rows["a"]}));__webpack_require__.d(__webpack_exports__,"h",(function(){return Query_Query}));__webpack_require__.d(__webpack_exports__,"f",(function(){return LogicalOperator}));__webpack_require__.d(__webpack_exports__,"d",(function(){return DatasetService["a"]}));__webpack_require__.d(__webpack_exports__,"e",(function(){return Filters["a"]}));__webpack_require__.d(__webpack_exports__,"g",(function(){return Queries_Queries}));__webpack_require__.d(__webpack_exports__,"a",(function(){return Column_Column}));__webpack_require__.d(__webpack_exports__,"c",(function(){return Columns_Columns}));__webpack_require__.d(__webpack_exports__,"l",(function(){return Geti["a"]}));__webpack_require__.d(__webpack_exports__,"b",(function(){return ColumnType["a"]}));__webpack_require__.d(__webpack_exports__,"k",(function(){return ValueFormatter["a"]}));var Row=__webpack_require__(58);var Rows=__webpack_require__(73);var initializerDefineProperty=__webpack_require__(13);var applyDecoratedDescriptor=__webpack_require__(12);var initializerWarningHelper=__webpack_require__(40);var src=__webpack_require__(7);var external_class_transformer_=__webpack_require__(8);var external_reflect_metadata_=__webpack_require__(51);var ColumnType=__webpack_require__(24);var external_js_sentencecase_=__webpack_require__(53);var external_js_sentencecase_default=__webpack_require__.n(external_js_sentencecase_);class Column_Column{constructor(props){this.name=void 0;this.id=void 0;this.type=void 0;this.stats=void 0;this.quantitative=void 0;this.temporal=void 0;if(props){this.name=props.name;this.type=props.type;this.stats=props.stats;this.id=props.id}}isUpperCase(string){return string===string.toUpperCase()}getType(){if(this.type)return this.type;return ColumnType["b"]}isType(type){return this.type===type}getLabel(){if(this.isUpperCase(this.name))return this.name;return external_js_sentencecase_default()(this.name)}isQuantitative(){return this.quantitative}isTemporal(){return this.temporal}isPrivate(){return this.name.startsWith("_")}getName(){return this.name}getStats(){return this.stats}isGeometry(){return this.type===ColumnType["a"].GEOMETRY}}class Columns_Columns extends Array{get(name){return this.find((c=>c.name.toLowerCase()===(name===null||name===void 0?void 0:name.toLowerCase())))}getPublics(){return new Columns_Columns(...this.filter((column=>!column.isPrivate())))}getQuantitatives(){return new Columns_Columns(...this.filter((column=>column.isQuantitative())))}getPrintables(){return new Columns_Columns(...this.filter((column=>!(column.type===ColumnType["a"].GEOMETRY||column.type===ColumnType["a"].JSON))))}getId(){return this.find((column=>column.id))}hasId(){return!!this.find((column=>column.id))}pickByNames(){let names=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];const picked=new Columns_Columns;names.forEach((name=>{const column=this.get(name);if(column)picked.push(column)}));return picked}has(name){return!!this.get(name)}}var _dec,_dec2,_class,_descriptor;let Transform_Transform=(_dec=Object(external_class_transformer_["Type"])((()=>Column_Column)),_dec2=Object(external_class_transformer_["Transform"])((_ref=>{let{value}=_ref;return Array.isArray(value)?new Columns_Columns(...value):new Columns_Columns})),_class=class Transform{constructor(){this.type=void 0;Object(initializerDefineProperty["a"])(this,"columns",_descriptor,this)}getColumns(){if(!this.columns){return new Columns_Columns}return new Columns_Columns(...this.columns)}},_descriptor=Object(applyDecoratedDescriptor["a"])(_class.prototype,"columns",[_dec,_dec2],{configurable:true,enumerable:true,writable:true,initializer:null}),_class);var fp_=__webpack_require__(3);let QueryWriteMode;(function(QueryWriteMode){QueryWriteMode["NONE"]="NONE";QueryWriteMode["UPDATE"]="UPDATE";QueryWriteMode["INSERT"]="INSERT"})(QueryWriteMode||(QueryWriteMode={}));var Query_dec,Query_dec2,_dec3,_dec4,_dec5,_dec6,Query_class,Query_descriptor,_descriptor2,_descriptor3;let Query_Query=(Query_dec=Object(external_class_transformer_["Type"])((()=>Column_Column)),Query_dec2=Object(external_class_transformer_["Transform"])((_ref=>{let{value}=_ref;return Array.isArray(value)?new Columns_Columns(...value):new Columns_Columns})),_dec3=Object(external_class_transformer_["Type"])((()=>Transform_Transform)),_dec4=Object(external_class_transformer_["Transform"])((_ref2=>{let{value}=_ref2;return Array.isArray(value)?value:[]})),_dec5=Object(external_class_transformer_["Type"])((()=>Column_Column)),_dec6=Object(external_class_transformer_["Transform"])((_ref3=>{let{value}=_ref3;return Array.isArray(value)?new Columns_Columns(...value):new Columns_Columns})),Query_class=class Query{constructor(name,dataSource,columns){this.name=void 0;this.dataSource=void 0;this.writeMode=void 0;Object(initializerDefineProperty["a"])(this,"columns",Query_descriptor,this);Object(initializerDefineProperty["a"])(this,"transforms",_descriptor2,this);Object(initializerDefineProperty["a"])(this,"writeColumns",_descriptor3,this);this.name=name;this.dataSource=dataSource;this.columns=columns!==null&&columns!==void 0?columns:new Columns_Columns}initializeColumns(){if(Object(fp_["isNil"])(this.columns)){this.columns=new Columns_Columns}}getColumns(){this.initializeColumns();return new Columns_Columns(...this.columns)}getTransform(type){return this.transforms?this.transforms.find((transform=>transform.type.toLowerCase()===type.toLowerCase())):undefined}getTransformTypes(){return this.transforms?this.transforms.map((transform=>transform.type)):[]}getDataSource(){return this.dataSource}getResolutionRange(resolutionColumn){if(this.columns.has(resolutionColumn)){var _this$columns$get,_this$columns$get$sta,_this$columns$get2,_this$columns$get2$st;return new src["e"]({min:(_this$columns$get=this.columns.get(resolutionColumn))===null||_this$columns$get===void 0?void 0:(_this$columns$get$sta=_this$columns$get.stats)===null||_this$columns$get$sta===void 0?void 0:_this$columns$get$sta.min,max:(_this$columns$get2=this.columns.get(resolutionColumn))===null||_this$columns$get2===void 0?void 0:(_this$columns$get2$st=_this$columns$get2.stats)===null||_this$columns$get2$st===void 0?void 0:_this$columns$get2$st.max})}return undefined}canInsert(){return this.writeMode===QueryWriteMode.INSERT}canUpdate(){return this.writeMode===QueryWriteMode.INSERT||this.writeMode===QueryWriteMode.UPDATE}getName(){return this.name}},Query_descriptor=Object(applyDecoratedDescriptor["a"])(Query_class.prototype,"columns",[Query_dec,Query_dec2],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor2=Object(applyDecoratedDescriptor["a"])(Query_class.prototype,"transforms",[_dec3,_dec4],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor3=Object(applyDecoratedDescriptor["a"])(Query_class.prototype,"writeColumns",[_dec5,_dec6],{configurable:true,enumerable:true,writable:true,initializer:null}),Query_class);let LogicalOperator;(function(LogicalOperator){LogicalOperator["OR"]="OR";LogicalOperator["AND"]="AND"})(LogicalOperator||(LogicalOperator={}));var DatasetService=__webpack_require__(74);var Filters=__webpack_require__(81);class Queries_Queries extends Array{findQuery(key){if(!key)return;if(!key.query||!key.source)return;return this.find((q=>q.getName()===key.query&&q.getDataSource()===key.source))}findEntity(key){const query=this.findQuery(key);if(key.transform){return query===null||query===void 0?void 0:query.getTransform(key.transform)}return query}getColumns(key){const entity=this.findEntity(key);if(entity){return entity.columns}return new Columns_Columns}getColumn(queryKey,columnName){return this.getColumns(queryKey).find((column=>column.name===columnName))}}var Geti=__webpack_require__(64);var ValueFormatter=__webpack_require__(63);var BoxToFilter=__webpack_require__(82)},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Bounds_Bounds}));__webpack_require__.d(__webpack_exports__,"e",(function(){return Range}));__webpack_require__.d(__webpack_exports__,"b",(function(){return Box}));__webpack_require__.d(__webpack_exports__,"d",(function(){return Point}));__webpack_require__.d(__webpack_exports__,"c",(function(){return Coordinates}));let PointEnum;(function(PointEnum){PointEnum[PointEnum["x"]=0]="x";PointEnum[PointEnum["y"]=1]="y"})(PointEnum||(PointEnum={}));class Point extends Array{constructor(){for(var _len=arguments.length,point=new Array(_len),_key=0;_key<_len;_key++){point[_key]=arguments[_key]}super(...[point[PointEnum.x],point[PointEnum.y]])}getX(){return this[PointEnum.x]}getY(){return this[PointEnum.y]}}var invariant_=__webpack_require__(67);var bearing_=__webpack_require__(114);var bearing_default=__webpack_require__.n(bearing_);var helpers_=__webpack_require__(21);var projection_=__webpack_require__(102);var centroid_=__webpack_require__(43);var centroid_default=__webpack_require__.n(centroid_);var transform_rotate_=__webpack_require__(83);var transform_rotate_default=__webpack_require__.n(transform_rotate_);let BoundPointEnum;(function(BoundPointEnum){BoundPointEnum[BoundPointEnum["bottomLeft"]=0]="bottomLeft";BoundPointEnum[BoundPointEnum["topLeft"]=1]="topLeft";BoundPointEnum[BoundPointEnum["topRight"]=2]="topRight";BoundPointEnum[BoundPointEnum["bottomRight"]=3]="bottomRight"})(BoundPointEnum||(BoundPointEnum={}));class Bounds_Bounds extends Array{constructor(){super(...[new Point(...arguments.length<=0?undefined:arguments[0]),new Point(...arguments.length<=1?undefined:arguments[1]),new Point(...arguments.length<=2?undefined:arguments[2]),new Point(...arguments.length<=3?undefined:arguments[3])])}static fromPlain(bounds){if(bounds.length<4||bounds.length>5){throw new Error("Bounds must have 4 or 5 points")}return new Bounds_Bounds(...bounds)}static fromGeoJSON(polygon){const coordinatesList=Object(invariant_["getCoords"])(polygon);const coordinates=coordinatesList.length?coordinatesList[0]:[];if(coordinates.length!==5){throw new Error("Polygon must have exactly 5 points")}return Bounds_Bounds.fromPlain([coordinates[0],coordinates[1],coordinates[2],coordinates[3]])}static fromFeatureCollection(collection){return this.fromGeoJSON(collection[0])}toGeoJSON(){const coordinates=[[this[0],this[1],this[2],this[3],this[0]]];return Object(helpers_["polygon"])(coordinates)}toFeatureCollection(){return Object(helpers_["featureCollection"])([this.toGeoJSON()])}toPolygon(){return[this[0],this[1],this[2],this[3],this[0]]}getTopRight(){return this[BoundPointEnum.topRight]}getTopLeft(){return this[BoundPointEnum.topLeft]}getBottomRight(){return this[BoundPointEnum.bottomRight]}getBottomLeft(){return this[BoundPointEnum.bottomLeft]}getBearing(){return bearing_default()(this.getTopRight(),this.getTopLeft())+90}getCentroid(){const coords=Object(invariant_["getCoords"])(centroid_default()(this.toGeoJSON()));return new Point(...coords)}extrudeKeepingWidth(refWidth,refHeight){const mercatorBounds=Bounds_Bounds.fromGeoJSON(Object(projection_["toMercator"])(this.toGeoJSON()));const adjacentLeg=mercatorBounds.getTopRight().getX()-mercatorBounds.getTopLeft().getX();const oppositeLeg=mercatorBounds.getTopRight().getY()-mercatorBounds.getTopLeft().getY();const ratio=refWidth/refHeight;const newWidth=Math.sqrt(Math.pow(adjacentLeg,2)+Math.pow(oppositeLeg,2));const newHeight=newWidth/ratio;const x1=mercatorBounds.getCentroid().getX()-newWidth/2;const y1=mercatorBounds.getCentroid().getY()-newHeight/2;const x2=mercatorBounds.getCentroid().getX()+newWidth/2;const y2=mercatorBounds.getCentroid().getY()+newHeight/2;const newBounds=Bounds_Bounds.fromPlain([[x1,y1],[x1,y2],[x2,y2],[x2,y1]]);const wsg84Rect=Object(projection_["toWgs84"])(newBounds.toGeoJSON());const rotatedGeoJSONPolygon=transform_rotate_default()(wsg84Rect,this.getBearing());return Bounds_Bounds.fromGeoJSON(rotatedGeoJSONPolygon)}}class Range{constructor(){let{min,max}=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};this.min=void 0;this.max=void 0;this.min=min;this.max=max}hasValues(){return this.min!==undefined||this.max!==undefined}getInterval(){return this.getMax()-this.getMin()}getCount(){return this.getMax()-this.getMin()+1}multiply(multiplier){const intervalDelta=this.getInterval()*multiplier-this.getInterval();return new Range({min:this.getMin()-intervalDelta/2,max:this.getMax()+intervalDelta/2})}getMin(){if(this.min===undefined)return 0;return this.min}getMax(){if(this.max===undefined)return Number.MAX_SAFE_INTEGER;return this.max}isInRange(value){if(value===undefined)return false;return value>=this.getMin()&&value<this.getMax()}toPlain(){return[this.getMin(),this.getMax()]}}class Box{constructor(_ref){let{x,y,z}=_ref;this.x=void 0;this.y=void 0;this.z=void 0;this.x=x;this.y=y;this.z=z}isPointInRange(point){return this.x.isInRange(point.x)&&this.y.isInRange(point.y)}getDimensions(){return{width:this.x.getInterval(),height:this.y.getInterval()}}getPolygon(){return[[this.x.getMin(),this.y.getMin()],[this.x.getMax(),this.y.getMin()],[this.x.getMax(),this.y.getMax()],[this.x.getMin(),this.y.getMax()],[this.x.getMin(),this.y.getMin()]]}multiply(factor){return new Box({x:this.x.multiply(factor),y:this.y.multiply(factor),z:this.z})}}const fromDimensions=dimensions=>new Box({x:new Range({min:0,max:dimensions.width}),y:new Range({min:0,max:dimensions.height})});class Coordinates{constructor(){let props=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};this.x=void 0;this.y=void 0;this.z=void 0;this.default=void 0;if(!props){props={}}this.x=props.x;this.y=props.y;this.z=props.z;if(props.longitude)this.x=props.longitude;if(props.latitude)this.y=props.latitude;if(!this.x){this.x=0;this.default=true}if(!this.y){this.y=0;this.default=true}if(!this.z){this.z=0}}static fromArray(xyz){return new Coordinates({x:xyz[0],y:xyz[1],z:xyz[2]})}isAtOrigin(){return this.x===0&&this.y===0}toArray(){return[this.x,this.y,this.z]}move(xMoveDelta,yMoveDelta,zMoveDelta){if(xMoveDelta)this.x=this.x+xMoveDelta;if(yMoveDelta)this.y=this.y+yMoveDelta;if(zMoveDelta)this.z=this.z+zMoveDelta}}},function(module,exports){module.exports=require("class-transformer")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"f",(function(){return Encodings_Encodings}));__webpack_require__.d(__webpack_exports__,"e",(function(){return EncodingScope}));__webpack_require__.d(__webpack_exports__,"c",(function(){return DEFAULT_ENCODING_SCOPE}));__webpack_require__.d(__webpack_exports__,"h",(function(){return PositionEncoding_PositionEncoding}));__webpack_require__.d(__webpack_exports__,"a",(function(){return ColorEncoding["a"]}));__webpack_require__.d(__webpack_exports__,"b",(function(){return ColorEncoding["b"]}));__webpack_require__.d(__webpack_exports__,"p",(function(){return Schemes["b"]}));__webpack_require__.d(__webpack_exports__,"m",(function(){return getColorAccessor}));__webpack_require__.d(__webpack_exports__,"o",(function(){return getColumnStats}));__webpack_require__.d(__webpack_exports__,"g",(function(){return IconAccessor_IconAccessor}));__webpack_require__.d(__webpack_exports__,"q",(function(){return getSizeAccessor}));__webpack_require__.d(__webpack_exports__,"k",(function(){return TextEncoding_TextEncoding}));__webpack_require__.d(__webpack_exports__,"i",(function(){return scale_ScaleType["b"]}));__webpack_require__.d(__webpack_exports__,"d",(function(){return scale_ScaleType["a"]}));__webpack_require__.d(__webpack_exports__,"n",(function(){return scale_ScaleType["c"]}));__webpack_require__.d(__webpack_exports__,"l",(function(){return createScale}));__webpack_require__.d(__webpack_exports__,"j",(function(){return ScenegraphAccessor_ScenegraphAccessor}));var initializerDefineProperty=__webpack_require__(13);var applyDecoratedDescriptor=__webpack_require__(12);var initializerWarningHelper=__webpack_require__(40);var SizeEncoding=__webpack_require__(32);var ColorEncoding=__webpack_require__(23);class IconEncoding{constructor(props){this.value=void 0;this.field=void 0;this.createdTimestamp=void 0;this.map=void 0;Object.assign(this,props);this.createdTimestamp=new Date}isRenderable(){return!!this.value||!!this.field}}var src=__webpack_require__(6);var internals_src=__webpack_require__(15);var fp_=__webpack_require__(3);var external_d3_=__webpack_require__(28);class TextEncoding_TextEncoding{constructor(props){this.field=void 0;this.align=void 0;this.angle=void 0;this.suffix=void 0;this.prefix=void 0;this.format=void 0;Object.assign(this,props)}getField(){return this.field}getAnchor(){switch(this.align){case"left":return"start";case"right":return"end";default:return"middle"}}getAngle(){var _this$angle;return(_this$angle=this.angle)!==null&&_this$angle!==void 0?_this$angle:0}formatValue(value,columnType){if(this.format){try{if(columnType===src["b"].DATETIME){return external_d3_["utcFormat"](this.format)(value)}else{return external_d3_["format"](this.format)(value)}}catch(e){internals_src["c"].error("Invalid format "+this.format);return value}}return Object(src["k"])(value,columnType)}getValue(row,columnType){let value=Object(src["l"])(this.getField(),row);if(Object(fp_["isNil"])(value))return null;value=this.formatValue(value,columnType);if(this.prefix){value=this.prefix+value}if(this.suffix){value=value+this.suffix}return value}getMinPossibleSize(){return 6}isRenderable(){return!!this.field}}var ScaleKey=__webpack_require__(59);class PositionEncoding_PositionEncoding{constructor(props){this.x=void 0;this.y=void 0;this.z=void 0;this.createdTimestamp=void 0;Object.assign(this,props);this.createdTimestamp=new Date}getX(){return this.x}getY(){return this.y}getZ(){return this.z}hasZ(){return!!this.z}get(column){if(column==="x"){return this.getX()}else if(column==="y"){return this.getY()}else if(column==="z"){return this.getZ()}}is2D(){var _this$x,_this$y;return((_this$x=this.x)===null||_this$x===void 0?void 0:_this$x.field)===((_this$y=this.y)===null||_this$y===void 0?void 0:_this$y.field)}isRenderable(){var _this$x2,_this$y2;return!!((_this$x2=this.x)!==null&&_this$x2!==void 0&&_this$x2.field)&&!!((_this$y2=this.y)!==null&&_this$y2!==void 0&&_this$y2.field)}getScaleKeys(){var _this$x3,_this$x4,_this$x4$scale,_this$y3,_this$y4,_this$y4$scale,_this$z;const scaleKeys=new ScaleKey["b"]({field:(_this$x3=this.x)===null||_this$x3===void 0?void 0:_this$x3.field,type:(_this$x4=this.x)===null||_this$x4===void 0?void 0:(_this$x4$scale=_this$x4.scale)===null||_this$x4$scale===void 0?void 0:_this$x4$scale.type},{field:(_this$y3=this.y)===null||_this$y3===void 0?void 0:_this$y3.field,type:(_this$y4=this.y)===null||_this$y4===void 0?void 0:(_this$y4$scale=_this$y4.scale)===null||_this$y4$scale===void 0?void 0:_this$y4$scale.type});if((_this$z=this.z)!==null&&_this$z!==void 0&&_this$z.field){var _this$z2,_this$z3,_this$z3$scale;scaleKeys.setZ({field:(_this$z2=this.z)===null||_this$z2===void 0?void 0:_this$z2.field,type:(_this$z3=this.z)===null||_this$z3===void 0?void 0:(_this$z3$scale=_this$z3.scale)===null||_this$z3$scale===void 0?void 0:_this$z3$scale.type})}return scaleKeys}}class AnimationEncoding{constructor(props){this.field=void 0;this.timeline=void 0;Object.assign(this,props)}isRenderable(){return true}}class BoundsEncoding{constructor(props){this.field=void 0;Object.assign(this,props)}isRenderable(){return!!this.field}}class ImageEncoding{constructor(props){this.field=void 0;Object.assign(this,props)}isRenderable(){return!!this.field}}class PolygonEncoding_PolygonEncoding{constructor(props){this.field=void 0;this.contentType=void 0;Object.assign(this,props)}isGeoJson(columns){var _columns$get;if(this.contentType){return this.contentType==="geo-json"}return((_columns$get=columns.get(this.field))===null||_columns$get===void 0?void 0:_columns$get.getType())==src["b"].JSON}isRenderable(){return!!this.field}}var LineEncoding=__webpack_require__(65);var OffsetEncoding=__webpack_require__(85);var external_class_transformer_=__webpack_require__(8);class ScenegraphEncoding{constructor(props){this.value=void 0;this.field=void 0;this.createdTimestamp=void 0;this.map=void 0;Object.assign(this,props);this.createdTimestamp=new Date}isRenderable(){return!!this.value||!!this.field}}var _dec,_dec2,_class,_descriptor,_descriptor2;let Encodings_Encodings=(_dec=Object(external_class_transformer_["Transform"])((_ref=>{let{value}=_ref;return value.isEnabled&&value!==null&&value!==void 0&&value.isEnabled()?value:false}),{toPlainOnly:true}),_dec2=Object(external_class_transformer_["Transform"])((_ref2=>{let{value}=_ref2;return value!==null&&value!==void 0&&value.isEnabled&&value.isEnabled()?value:false}),{toPlainOnly:true}),_class=class Encodings{constructor(props){var _props$strokeColor,_props$table,_this$position,_this$position$x,_this$position2,_this$position2$y;this.color=void 0;Object(initializerDefineProperty["a"])(this,"strokeColor",_descriptor,this);this.size=void 0;Object(initializerDefineProperty["a"])(this,"strokeSize",_descriptor2,this);this.icon=void 0;this.text=void 0;this.position=void 0;this.x=void 0;this.y=void 0;this.z=void 0;this.heatmap=void 0;this.animation=void 0;this.line=void 0;this.polygon=void 0;this.bounds=void 0;this.image=void 0;this.table=void 0;this.offset=void 0;this.scenegraph=void 0;this.orientation=void 0;if(!props)return;Object.assign(this,props);if(props.color)this.color=new ColorEncoding["a"](props.color);this.strokeColor=new ColorEncoding["a"]((_props$strokeColor=props.strokeColor)!==null&&_props$strokeColor!==void 0?_props$strokeColor:{});if(props.size)this.size=new SizeEncoding["a"](props.size);if(props.strokeSize)this.strokeSize=new SizeEncoding["a"](props.strokeSize);if(props.icon)this.icon=new IconEncoding(props.icon);if(props.text)this.text=new TextEncoding_TextEncoding(props.text);if(props.polygon)this.polygon=new PolygonEncoding_PolygonEncoding(props.polygon);if(props.offset)this.offset=new OffsetEncoding["a"](props.offset);if(props.image)this.image=new ImageEncoding(props.image);if(props.line)this.line=new LineEncoding["b"](props.line);if(props.bounds)this.bounds=new BoundsEncoding(props.bounds);if(props.animation)this.animation=new AnimationEncoding(props.animation);if(props.scenegraph)this.scenegraph=new ScenegraphEncoding(props.scenegraph);if((_props$table=props.table)!==null&&_props$table!==void 0&&_props$table.length){this.table=props.table.map((field=>({...field,value:{encoding:{text:new TextEncoding_TextEncoding(field.value.encoding.text)}}})))}if(props.position||props.x||props.y||props.z){var _props$position;this.position=new PositionEncoding_PositionEncoding((_props$position=props.position)!==null&&_props$position!==void 0?_props$position:{x:props.x,y:props.y,z:props.z})}if((props.bounds||props.polygon||props.line)&&(!((_this$position=this.position)!==null&&_this$position!==void 0&&(_this$position$x=_this$position.x)!==null&&_this$position$x!==void 0&&_this$position$x.field)||!((_this$position2=this.position)!==null&&_this$position2!==void 0&&(_this$position2$y=_this$position2.y)!==null&&_this$position2$y!==void 0&&_this$position2$y.field))){var _ref3,_ref4,_this$position$x$fiel,_this$position3,_this$position3$x,_props$bounds,_props$polygon,_props$line,_ref5,_ref6,_this$position$y$fiel,_this$position4,_this$position4$y,_props$bounds2,_props$polygon2,_props$line2;const xField=(_ref3=(_ref4=(_this$position$x$fiel=(_this$position3=this.position)===null||_this$position3===void 0?void 0:(_this$position3$x=_this$position3.x)===null||_this$position3$x===void 0?void 0:_this$position3$x.field)!==null&&_this$position$x$fiel!==void 0?_this$position$x$fiel:(_props$bounds=props.bounds)===null||_props$bounds===void 0?void 0:_props$bounds.field)!==null&&_ref4!==void 0?_ref4:(_props$polygon=props.polygon)===null||_props$polygon===void 0?void 0:_props$polygon.field)!==null&&_ref3!==void 0?_ref3:(_props$line=props.line)===null||_props$line===void 0?void 0:_props$line.field;const yField=(_ref5=(_ref6=(_this$position$y$fiel=(_this$position4=this.position)===null||_this$position4===void 0?void 0:(_this$position4$y=_this$position4.y)===null||_this$position4$y===void 0?void 0:_this$position4$y.field)!==null&&_this$position$y$fiel!==void 0?_this$position$y$fiel:(_props$bounds2=props.bounds)===null||_props$bounds2===void 0?void 0:_props$bounds2.field)!==null&&_ref6!==void 0?_ref6:(_props$polygon2=props.polygon)===null||_props$polygon2===void 0?void 0:_props$polygon2.field)!==null&&_ref5!==void 0?_ref5:(_props$line2=props.line)===null||_props$line2===void 0?void 0:_props$line2.field;this.position=new PositionEncoding_PositionEncoding({...this.position,x:{...this.position.x,field:xField},y:{...this.position.y,field:yField}})}if(this.position){this.x=this.position.x;this.y=this.position.y;this.z=this.position.z}}getColor(){if(this.color instanceof ColorEncoding["a"])return this.color}},_descriptor=Object(applyDecoratedDescriptor["a"])(_class.prototype,"strokeColor",[_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor2=Object(applyDecoratedDescriptor["a"])(_class.prototype,"strokeSize",[_dec2],{configurable:true,enumerable:true,writable:true,initializer:null}),_class);let EncodingScope;(function(EncodingScope){EncodingScope["QUERY"]="Query";EncodingScope["VISIBLE"]="Visible"})(EncodingScope||(EncodingScope={}));const DEFAULT_ENCODING_SCOPE=EncodingScope.QUERY;var Schemes=__webpack_require__(57);var Colors=__webpack_require__(20);class ColorLiteralAccessor_ColorLiteralAccessor{constructor(colorEncoding){this.colorEncoding=void 0;this.colorEncoding=colorEncoding}getRawColor(){if(!this.colorEncoding){throw new Error("Color encoding is not defined")}if(this.colorEncoding.value){return Object(Colors["b"])(this.colorEncoding.value)}return}getColor(){var _this$colorEncoding$o,_this$colorEncoding;const color=this.getRawColor();if(!color)return;return Object(Colors["c"])(color.copy({opacity:(_this$colorEncoding$o=(_this$colorEncoding=this.colorEncoding)===null||_this$colorEncoding===void 0?void 0:_this$colorEncoding.opacity)!==null&&_this$colorEncoding$o!==void 0?_this$colorEncoding$o:1}))}}class ColorFieldAccessor_ColorFieldAccessor{constructor(colorEncoding){this.colorEncoding=colorEncoding;this.scale=void 0}getColor(rows,visibleRows,row,columnStats){if(!this.scale){this.scale=this.colorEncoding.getScale(rows,visibleRows,columnStats)}const value=Object(src["l"])(this.colorEncoding.getField(),row);if(Object(fp_["isNil"])(value)){return new ColorLiteralAccessor_ColorLiteralAccessor(new ColorEncoding["a"]({...this.colorEncoding})).getColor()}return this.scale(value)}}class ColorConditionalAccessor_ColorConditionalAccessor{getAcessor(colorEncoding){if(colorEncoding.isFieldBased()){return new ColorFieldAccessor_ColorFieldAccessor(colorEncoding)}else{return new ColorLiteralAccessor_ColorLiteralAccessor(colorEncoding)}}constructor(colorEncoding){this.colorEncoding=colorEncoding;this.scale=void 0;this.conditionalAcessor=void 0;this.acessor=void 0;this.acessor=this.getAcessor(colorEncoding);if(colorEncoding.hasCondition()){this.conditionalAcessor=this.getAcessor(new ColorEncoding["a"](colorEncoding.condition))}}getColor(rows,visibleRows,row,columnStats){var _this$colorEncoding$c;if(this.colorEncoding.hasCondition()&&Object(src["l"])((_this$colorEncoding$c=this.colorEncoding.condition)===null||_this$colorEncoding$c===void 0?void 0:_this$colorEncoding$c.test,row)){return this.conditionalAcessor.getColor(rows,visibleRows,row,columnStats)}return this.acessor.getColor(rows,visibleRows,row,columnStats)}}function getAccessorInstance(colorEncoding){if(!(colorEncoding instanceof ColorEncoding["a"])){throw new Error("Color encoding is not defined")}if(colorEncoding.hasCondition()){return new ColorConditionalAccessor_ColorConditionalAccessor(colorEncoding)}if(colorEncoding.getField()){return new ColorFieldAccessor_ColorFieldAccessor(colorEncoding)}return new ColorLiteralAccessor_ColorLiteralAccessor(colorEncoding)}function getColumnStats(colorEncoding,columns){if(!(colorEncoding!==null&&colorEncoding!==void 0&&colorEncoding.getField()))return;const column=columns===null||columns===void 0?void 0:columns.get(colorEncoding.getField());if(!column)return;return column.getStats()}function getColorAccessor(colorEncoding,rows,visibleRows,columns,rowTranslator){const accessor=getAccessorInstance(colorEncoding);if(accessor instanceof ColorLiteralAccessor_ColorLiteralAccessor){return accessor.getColor()}return row=>{if(rowTranslator)row=rowTranslator.translate(row);return accessor.getColor(rows,visibleRows,row,getColumnStats(colorEncoding,columns))}}var ScaleType=__webpack_require__(47);class IconAccessor_IconAccessor{constructor(props){this.iconStore=void 0;Object.assign(this,props)}getDefaultIcon(){return this.iconStore["marker"]}getFallbackIcon(iconEncoding){const fallbackIconName=!!iconEncoding.value&&iconEncoding.value.toLowerCase();if(fallbackIconName&&this.iconStore[fallbackIconName]){return this.iconStore[fallbackIconName]}else{return this.getDefaultIcon()}}getIconName(iconMap,value){if(value){if(iconMap&&Object(src["l"])(value,iconMap)){return Object(src["l"])(value,iconMap)}return value.toLowerCase()}}getIcon(encoding,row){if(!encoding)return this.getDefaultIcon();if(!encoding.field)return this.getFallbackIcon(encoding);const iconName=this.getIconName(encoding.map,row[encoding.field]);if(!iconName||!this.iconStore[iconName]){return this.getFallbackIcon(encoding)}return this.iconStore[iconName]}}const getSizeAccessor=_ref=>{let{encoding,factor=1,columns,rowTranslator}=_ref;if(!encoding){return 0}if(encoding.hasField()){const sizeField=encoding.getField();const column=columns&&columns.get(sizeField);const columnStats=column===null||column===void 0?void 0:column.getStats();const columnDomain=columnStats&&columnStats.percentiles;return row=>{if(rowTranslator)row=rowTranslator.translate(row);const columnValue=sizeField&&typeof row[sizeField]==="number"?Number(row[sizeField]):undefined;return encoding.getSize(columnValue,columnDomain)*factor}}return encoding.getSize()*factor};var scale_ScaleType=__webpack_require__(35);function createScale(scaleType){if(scaleType&&scaleType===scale_ScaleType["b"].SQUARE)return external_d3_["scaleSqrt"]();if(scaleType&&scaleType===scale_ScaleType["b"].TIME)return external_d3_["scaleTime"]();return external_d3_["scaleLinear"]()}class ScenegraphAccessor_ScenegraphAccessor{constructor(props){this.scenegraphStore=void 0;Object.assign(this,props)}getScenegraphName(scenegraphMap,value){if(value){if(scenegraphMap&&Object(src["l"])(value,scenegraphMap)){return Object(src["l"])(value,scenegraphMap)}return value.toLowerCase()}}getScenegraph(encoding,row){if(!encoding)return;const iconName=encoding.field?this.getScenegraphName(encoding.map,row[encoding.field]):encoding.value;if(!iconName||!this.scenegraphStore[iconName])return;return this.scenegraphStore[iconName]}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return styled}));var _mui_material_styles__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(62);var _mui_material_styles__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_mui_material_styles__WEBPACK_IMPORTED_MODULE_0__);const styled=(c,args)=>{if(!(args!==null&&args!==void 0&&args.name)){throw new Error("styled component requires a name. Otherwise it will be hard to debug.")}args.shouldForwardProp=prop=>!prop.includes("_");return Object(_mui_material_styles__WEBPACK_IMPORTED_MODULE_0__["styled"])(c,args)}},function(module,exports){module.exports=require("@mui/material")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return _applyDecoratedDescriptor}));function _applyDecoratedDescriptor(target,property,decorators,descriptor,context){var desc={};Object.keys(descriptor).forEach((function(key){desc[key]=descriptor[key]}));desc.enumerable=!!desc.enumerable;desc.configurable=!!desc.configurable;if("value"in desc||desc.initializer){desc.writable=true}desc=decorators.slice().reverse().reduce((function(desc,decorator){return decorator(target,property,desc)||desc}),desc);if(context&&desc.initializer!==void 0){desc.value=desc.initializer?desc.initializer.call(context):void 0;desc.initializer=undefined}if(desc.initializer===void 0){Object.defineProperty(target,property,desc);desc=null}return desc}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return _initializerDefineProperty}));function _initializerDefineProperty(target,property,descriptor,context){if(!descriptor)return;Object.defineProperty(target,property,{enumerable:descriptor.enumerable,configurable:descriptor.configurable,writable:descriptor.writable,value:descriptor.initializer?descriptor.initializer.call(context):void 0})}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return StoreContext}));__webpack_require__.d(__webpack_exports__,"d",(function(){return useSelector}));__webpack_require__.d(__webpack_exports__,"c",(function(){return useDispatch}));var external_reflect_metadata_=__webpack_require__(51);var external_react_=__webpack_require__(5);var external_react_default=__webpack_require__.n(external_react_);var external_redux_=__webpack_require__(71);var external_react_redux_=__webpack_require__(33);var core_=__webpack_require__(111);var core_default=__webpack_require__.n(core_);var external_redux_persist_=__webpack_require__(112);var src=__webpack_require__(15);var external_socket_io_client_=__webpack_require__(113);var external_socket_io_client_default=__webpack_require__.n(external_socket_io_client_);var Actions=__webpack_require__(1);var config_src=__webpack_require__(17);class UpdateWatcher_UpdateWatcher{onQueryUpdate(queries){const dataList=queries.map((query=>({query:query.name,source:query.dataSource})));UpdateWatcher_UpdateWatcher.dispatcher(Actions["a"].query.dataListUpdated({dataList}))}constructor(){this.socket=void 0;UpdateWatcher_UpdateWatcher.dispatcher({type:"WATCHER_INIT"});this.socket=external_socket_io_client_default()(config_src["a"].getValue("WATCHER_API_ADDRESS"));this.socket.on("QUERY_UPDATED",(message=>this.onQueryUpdate(message)))}subscribe(queries,tenant){const simplifiedQueries=queries.map((query=>({name:query.name,dataSource:query.dataSource})));this.socket.emit("SUBSCRIBE",{queries:simplifiedQueries,tenant})}static configure(dispatcher){UpdateWatcher_UpdateWatcher.dispatcher=dispatcher}static init(){UpdateWatcher_UpdateWatcher.instance=new UpdateWatcher_UpdateWatcher}static getInstance(){if(!UpdateWatcher_UpdateWatcher.instance)UpdateWatcher_UpdateWatcher.init();return UpdateWatcher_UpdateWatcher.instance}}UpdateWatcher_UpdateWatcher.instance=void 0;UpdateWatcher_UpdateWatcher.dispatcher=void 0;function getInitialState(childReducers,state,action){const reducedInitialState={};for(const key in childReducers){if({}.hasOwnProperty.call(childReducers,key)){reducedInitialState[key]=childReducers[key](undefined,action)}}return reducedInitialState}function getChildrenState(childReducers,state,action){const reducedState={...state};for(const key in childReducers){if({}.hasOwnProperty.call(childReducers,key)){reducedState[key]=childReducers[key](state[key],action,state)}}return reducedState}function reducer(childReducers){return function(state,action){if(state==null){return getInitialState(childReducers,state,action)}return getChildrenState(childReducers,state,action)}}var effects_=__webpack_require__(4);var GA=__webpack_require__(99);var external_slugify_=__webpack_require__(117);var external_slugify_default=__webpack_require__.n(external_slugify_);const formatName=name=>external_slugify_default()(name,{replacement:"_",lower:true,strict:true});function*notifyLogin(){GA["a"].login("auth0");yield}const getPageName=action=>{var _action$payload$autho;if((_action$payload$autho=action.payload.authorization)!==null&&_action$payload$autho!==void 0&&_action$payload$autho.tenant){var _action$payload$autho2;return`${action.payload.app.name} - ${(_action$payload$autho2=action.payload.authorization)===null||_action$payload$autho2===void 0?void 0:_action$payload$autho2.tenant}`}return action.payload.app.name};const getPagePath=action=>{var _window,_window$location,_action$payload$autho3;if((_window=window)!==null&&_window!==void 0&&(_window$location=_window.location)!==null&&_window$location!==void 0&&_window$location.search){var _window2,_window2$location;return(_window2=window)===null||_window2===void 0?void 0:(_window2$location=_window2.location)===null||_window2$location===void 0?void 0:_window2$location.search}else if((_action$payload$autho3=action.payload.authorization)!==null&&_action$payload$autho3!==void 0&&_action$payload$autho3.tenant){var _action$payload$autho4;return`/app/${(_action$payload$autho4=action.payload.authorization)===null||_action$payload$autho4===void 0?void 0:_action$payload$autho4.tenant}/${action.payload.app.name}`}return`/app/${action.payload.app.name}`};function*notifyPageView(action){GA["a"].pageview(getPageName(action),getPagePath(action));yield}function*notifyEngagement(action){const event={action:formatName(action.payload.event),label:action.payload.event,category:"engagement",value:action.payload.value||1};GA["a"].custom(event);yield}function*notifyViewZooming(action){yield notifyEngagement(Actions["a"].analytics.analyticsEvent({event:`View: Zoom ${action.payload.direction}`}))}function*notifyViewDragging(){yield notifyEngagement(Actions["a"].analytics.analyticsEvent({event:`View: Drag`}))}function*notifyJump(){yield notifyEngagement(Actions["a"].analytics.analyticsEvent({event:`Jump: Requested`,value:1}))}var http_client_src=__webpack_require__(27);var fp_=__webpack_require__(3);var external_class_transformer_=__webpack_require__(8);var dataset_src=__webpack_require__(6);var initializerDefineProperty=__webpack_require__(13);var applyDecoratedDescriptor=__webpack_require__(12);var initializerWarningHelper=__webpack_require__(40);var _dec,_dec2,_class,_descriptor,_descriptor2;let App_App=(_dec=Object(external_class_transformer_["Expose"])(),_dec2=Object(external_class_transformer_["Expose"])(),_class=class App{constructor(props){Object(initializerDefineProperty["a"])(this,"id",_descriptor,this);Object(initializerDefineProperty["a"])(this,"name",_descriptor2,this);Object.assign(this,props)}},_descriptor=Object(applyDecoratedDescriptor["a"])(_class.prototype,"id",[_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor2=Object(applyDecoratedDescriptor["a"])(_class.prototype,"name",[_dec2],{configurable:true,enumerable:true,writable:true,initializer:null}),_class);var Visualization=__webpack_require__(45);class Visualizations_Visualizations extends Array{constructor(){for(var _len=arguments.length,visualizations=new Array(_len),_key=0;_key<_len;_key++){visualizations[_key]=arguments[_key]}super(...visualizations);this.selectedId=void 0;if(visualizations.length>0){this.selectedId=visualizations[0].id}}clone(){const cloned=new Visualizations_Visualizations(...this);cloned.selectedId=this.selectedId;return cloned}set(visualizations){if(this.selectedId){visualizations.selectedId=this.selectedId}else if(visualizations.length>0){visualizations.selectedId=visualizations[0].id}return visualizations}getOrigin(){return this[0]}getById(id){return this.find((visualization=>visualization.id===id))}getByName(name){return this.find((visualization=>visualization.name===name))}getCurrent(){if(this.length<1)return;if(!this.selectedId)return this[0];return this.find((visualization=>visualization.id===this.selectedId))}getCurrentIndex(){const currentVisualization=this.getCurrent();if(!currentVisualization)return 0;return Object(fp_["findIndex"])({id:currentVisualization.id},this)}isLastVisualization(visualizationId){if(!this.length)return true;return this[this.length-1].id===visualizationId}getNext(){const currentVisualization=this.getCurrent();if(!currentVisualization)return;const currentIndex=Object(fp_["findIndex"])({id:currentVisualization.id},this);if(this.length-1===currentIndex)return;return this[currentIndex+1]}setSelected(visualizationId){if(!visualizationId)return this;const cloned=this.clone();cloned.selectedId=visualizationId;return cloned}setInitialPosition(params){const cloned=this.clone();const visualizationIndex=Object(fp_["findIndex"])({id:params.visualizationId},this);const newVisualization=new Visualization["b"](this[visualizationIndex]);newVisualization.setInitialPosition(params.coordinates,params.zoom,params.bearing);cloned.splice(visualizationIndex,1,newVisualization);return cloned}setMapStyle(visualizationId,mapStyle){const cloned=this.clone();const visualizationIndex=Object(fp_["findIndex"])({id:visualizationId},this);const newVisualization=new Visualization["b"](this[visualizationIndex]);newVisualization.setMapStyle(mapStyle);cloned.splice(visualizationIndex,1,newVisualization);return cloned}}var visualization_Visualizations=Visualizations_Visualizations;class DataBrowsers_DataBrowsers extends Array{clone(){return new DataBrowsers_DataBrowsers(...this)}getById(id){return this.find((dataBrowser=>dataBrowser.getId()===id))}getByData(data){return this.find((dataBrowser=>dataBrowser.data.query===data.query&&dataBrowser.data.source===data.source))}fromVisualization(visualizationId){if(!visualizationId)return;const dataBrowsers=this.filter((dataBrowser=>dataBrowser.visualization===visualizationId));return new DataBrowsers_DataBrowsers(...dataBrowsers)}withQuery(queryName){const dataBrowsers=this.filter((dataBrowser=>dataBrowser.getQueryName()===queryName));return new DataBrowsers_DataBrowsers(...dataBrowsers)}immutableSetRows(dataBrowserId,rows,offset,lastPage){const index=Object(fp_["findIndex"])((d=>d.getId()===dataBrowserId),this);const cloned=this.clone();const dataBrowser=cloned[index].clone();dataBrowser.setRows(rows).setOffset(offset,lastPage);cloned.splice(index,1,dataBrowser);return cloned}immutableSetSelectedRow(dataBrowserId,row){if(!dataBrowserId)return this;const cloned=this.clone();const index=Object(fp_["findIndex"])((d=>d.getId()===dataBrowserId),this);const dataBrowser=this[index].clone();dataBrowser.selectedRow=row;cloned.splice(index,1,dataBrowser);return cloned}immutableSetStatus(dataBrowserId,status){if(!dataBrowserId)return this;const cloned=this.clone();const index=Object(fp_["findIndex"])((d=>d.getId()===dataBrowserId),this);const dataBrowser=this[index].clone();dataBrowser.setStatus(status);cloned.splice(index,1,dataBrowser);return cloned}immutableSetSearch(dataBrowserId,search){if(!dataBrowserId)return this;const cloned=this.clone();const index=Object(fp_["findIndex"])((d=>d.getId()===dataBrowserId),this);const dataBrowser=this[index].resetOffset();dataBrowser.search=search;cloned.splice(index,1,dataBrowser);return cloned}}var data_browser_DataBrowsers=DataBrowsers_DataBrowsers;var external_js_sentencecase_=__webpack_require__(53);var external_js_sentencecase_default=__webpack_require__.n(external_js_sentencecase_);var encoding_src=__webpack_require__(9);class PlaceTransforms_PlaceTransforms extends Array{async transform(viewState,world,row,position,centroid){if(!this.length)return row;const transformedRow=await super.reduce((async(r,transformer)=>await transformer.transform(viewState,world,await r,position,centroid)),Promise.resolve(row));return new dataset_src["i"](transformedRow)}async getDiff(viewState,world,row,position,centroid){if(!this.length)return row;return super.reduce((async(r,transformer)=>{const resolvedRow=await r;return{...resolvedRow,...await transformer.getDiff(viewState,world,row,position,centroid)}}),Promise.resolve({}))}}class DefaultTransform_DefaultTransform{async transform(viewState,world,row,position,centroid){const diff=await this.getDiff(viewState,world,row,position,centroid);return new dataset_src["i"]({...row,...diff})}async getDiff(viewState,world,_,position,centroid){const unprojectedCoordinate=viewState.unProjectCoordinate(world,centroid);const diff={_x:unprojectedCoordinate[0],_y:unprojectedCoordinate[1]};if(position.z){diff["_z"]=viewState.coordinates.z}return diff}}let DataBrowserRowsetStatus;(function(DataBrowserRowsetStatus){DataBrowserRowsetStatus["NONE"]="NONE";DataBrowserRowsetStatus["LOADING"]="LOADING";DataBrowserRowsetStatus["UPDATED"]="UPDATED"})(DataBrowserRowsetStatus||(DataBrowserRowsetStatus={}));class DataBrowser_DataBrowser{constructor(props){this.id=void 0;this.name=void 0;this.visualization=void 0;this.data=void 0;this.encoding=void 0;this.list=void 0;this.navigate=void 0;this.drag=void 0;this.details=void 0;this.insert=void 0;this.search=void 0;this.rowset=void 0;this.selectedRow=void 0;if(!props)return this;Object.assign(this,props);if(!props.rowset){this.rowset={rows:new dataset_src["j"],status:DataBrowserRowsetStatus.NONE,offset:0,lastPage:true,canPaginate:false}}if(props.encoding){let position=props.encoding.position;if(props.encoding.x||props.encoding.y||props.encoding.z){position=new encoding_src["h"]({x:props.encoding.x,y:props.encoding.y,z:props.encoding.z})}this.encoding=new encoding_src["f"]({position,x:props.encoding.x,y:props.encoding.y,z:props.encoding.z})}}clone(){return new DataBrowser_DataBrowser(this)}getId(){if(this.id){return`${this.id}`}else{return`${this.visualization}-${this.getQueryName()}-${this.list.field}`}}getRows(){return this.rowset.rows}setRows(rows){const cloned=this.clone();cloned.rowset.status=DataBrowserRowsetStatus.UPDATED;cloned.rowset.rows=rows;return cloned}setTerm(term){this.search={term}}getName(){var _this$data;return this.name||external_js_sentencecase_default()((_this$data=this.data)===null||_this$data===void 0?void 0:_this$data.query)}getQueryName(){var _this$data2;return(_this$data2=this.data)===null||_this$data2===void 0?void 0:_this$data2.query}getDataSource(){var _this$data3;return(_this$data3=this.data)===null||_this$data3===void 0?void 0:_this$data3.source}hasMoreRows(){return this.rowset.rows&&this.rowset.rows.length>this.list.rowLimit}getData(){return this.data}setStatus(status){const cloned=this.clone();cloned.rowset.status=status;return cloned}isLoading(){return this.rowset.status===DataBrowserRowsetStatus.LOADING}getPlaceTransforms(){var _this$drag;const transforms=new PlaceTransforms_PlaceTransforms(new DefaultTransform_DefaultTransform);if((_this$drag=this.drag)!==null&&_this$drag!==void 0&&_this$drag.placeTransform){transforms.push(this.drag.placeTransform)}return transforms}setOffset(offset,lastPage){const cloned=this.clone();cloned.rowset.offset=offset;cloned.rowset.lastPage=lastPage;if(offset===0){cloned.rowset.canPaginate=!lastPage}return cloned}resetOffset(){const cloned=this.clone();cloned.rowset.offset=0;return cloned}}var data_browser_DataBrowser=DataBrowser_DataBrowser;class Legend{constructor(){this.layer=void 0;this.visualizationId=void 0}}class Legends extends Array{}class AxesList extends Array{filter(filterFunc){return new AxesList(...super.filter(filterFunc))}getFromVisualization(visualizationId){if(!visualizationId)return new AxesList;return this.filter((axes=>axes.visualizationId===visualizationId))}someFromVisualization(visualizationId){return this.some((axes=>axes.visualizationId===visualizationId))}}class FetchState{constructor(fetchBox){this.fetchBox=void 0;this.invalidated=void 0;this.fetchBox=fetchBox;this.invalidated=false}getFetchAgainBox(){return this.fetchBox.multiply(.75)}hasReachedUpThreshold(visibleWorldBox){return visibleWorldBox.y.getMax()>this.getFetchAgainBox().y.getMax()}hasReachedRightThreshold(visibleWorldBox){return visibleWorldBox.x.getMax()>this.getFetchAgainBox().x.getMax()}hasReachedDownThreshold(visibleWorldBox){return visibleWorldBox.y.getMin()<this.getFetchAgainBox().y.getMin()}hasReachedLeftThreshold(visibleWorldBox){return visibleWorldBox.x.getMin()<this.getFetchAgainBox().x.getMin()}hasReachedResizeThreshold(visibleWorldDimensions){return visibleWorldDimensions.height>this.getFetchAgainBox().getDimensions().height||visibleWorldDimensions.width>this.getFetchAgainBox().getDimensions().width}invalidate(){this.invalidated=true}shouldFetch(viewState,world){if(this.invalidated){return true}const visibleWorldBox=viewState.getVisibleWorld(world);const visibleWorldDimensions=viewState.getVisibleWorldDimensions(world);if(!visibleWorldBox)return false;return this.hasReachedUpThreshold(visibleWorldBox)||this.hasReachedDownThreshold(visibleWorldBox)||this.hasReachedRightThreshold(visibleWorldBox)||this.hasReachedLeftThreshold(visibleWorldBox)||this.hasReachedResizeThreshold(visibleWorldDimensions)}}var ScaleKey=__webpack_require__(59);const DEFAULT_TABLE_RESOLUTION=0;class Rowset_Rowset{constructor(props){var _props$rows,_props$resolution,_props$scales;this.data=void 0;this.transform=void 0;this.resolution=void 0;this.rows=void 0;this.fetchState=void 0;this.scales=void 0;Object.assign(this,props);this.rows=(_props$rows=props===null||props===void 0?void 0:props.rows)!==null&&_props$rows!==void 0?_props$rows:new dataset_src["j"];this.resolution=(_props$resolution=props===null||props===void 0?void 0:props.resolution)!==null&&_props$resolution!==void 0?_props$resolution:DEFAULT_TABLE_RESOLUTION;this.scales=(_props$scales=props===null||props===void 0?void 0:props.scales)!==null&&_props$scales!==void 0?_props$scales:new ScaleKey["a"]}cleanClone(){return new Rowset_Rowset({...this,rows:undefined,fetchState:undefined})}getId(){var _this$data$query,_this$data,_this$resolution,_this$scales$x$type,_this$scales$x,_this$scales$x$field,_this$scales$x2,_this$scales$y$type,_this$scales$y,_this$scales$y$field,_this$scales$y2,_this$transform$getTy,_this$transform;const keys=[(_this$data$query=(_this$data=this.data)===null||_this$data===void 0?void 0:_this$data.query)!==null&&_this$data$query!==void 0?_this$data$query:"no-query",(_this$resolution=this.resolution)!==null&&_this$resolution!==void 0?_this$resolution:0,(_this$scales$x$type=(_this$scales$x=this.scales.x)===null||_this$scales$x===void 0?void 0:_this$scales$x.type)!==null&&_this$scales$x$type!==void 0?_this$scales$x$type:"no-x-type",(_this$scales$x$field=(_this$scales$x2=this.scales.x)===null||_this$scales$x2===void 0?void 0:_this$scales$x2.field)!==null&&_this$scales$x$field!==void 0?_this$scales$x$field:"no-x",(_this$scales$y$type=(_this$scales$y=this.scales.y)===null||_this$scales$y===void 0?void 0:_this$scales$y.type)!==null&&_this$scales$y$type!==void 0?_this$scales$y$type:"no-y",(_this$scales$y$field=(_this$scales$y2=this.scales.y)===null||_this$scales$y2===void 0?void 0:_this$scales$y2.field)!==null&&_this$scales$y$field!==void 0?_this$scales$y$field:"no-y-type",(_this$transform$getTy=(_this$transform=this.transform)===null||_this$transform===void 0?void 0:_this$transform.getType())!==null&&_this$transform$getTy!==void 0?_this$transform$getTy:"no-transform"];return keys.join("_")}updateRow(newRow){const indexOnList=Object(fp_["findIndex"])({_id:newRow._id},this.rows);return this.updateRowByIndex(newRow,indexOnList)}updateRowByIndex(newRow,rowIndex){var _this$rows;if((_this$rows=this.rows)!==null&&_this$rows!==void 0&&_this$rows.length){this.rows.splice(rowIndex,1,newRow);this.rows.etag=`${this.rows.etag}_${1}`}return this}getData(){return this.data}fill(rows,fetchBox){const cloned=this.cleanClone();cloned.rows=rows;if(fetchBox)cloned.fetchState=new FetchState(fetchBox);return cloned}}var spatial_src=__webpack_require__(7);const DEFAULT_RESOLUTION=0;class Resolution_Resolution{constructor(props){this.min=void 0;this.max=void 0;this.availableResolution=void 0;Object.assign(this,props)}getMin(){if(this.availableResolution){if(Object(fp_["isNil"])(this.min)){return this.availableResolution.getMin()}else if(this.min<this.availableResolution.getMin()){return this.availableResolution.getMin()}}return this.min||DEFAULT_RESOLUTION}getMax(){if(this.availableResolution){if(Object(fp_["isNil"])(this.max)){return this.availableResolution.getMax()}else if(this.max>this.availableResolution.getMax()){return this.availableResolution.getMax()}}return this.max||DEFAULT_RESOLUTION}getRange(){return new spatial_src["e"]({min:this.getMin(),max:this.getMax()})}getTargetResolution(zoomRange,zoomLevel){if(!zoomRange||!zoomLevel)return this.getMin();if(zoomLevel>zoomRange.getMax()){return this.getMax()}if(zoomLevel<=zoomRange.getMin()){return this.getMin()}return this.doGetTargetResolution(zoomRange,zoomLevel)}}class ProportionalResolution_ProportionalResolution extends Resolution_Resolution{getResolutionIntervalProportion(zoomRange){if(this.getRange().getCount()>zoomRange.getInterval()){return 1}return zoomRange.getInterval()/this.getRange().getCount()}doGetTargetResolution(zoomRange,zoomLevel){const baseResolution=Math.floor((zoomLevel-zoomRange.getMin())/this.getResolutionIntervalProportion(zoomRange));if(Number.isNaN(baseResolution))return 0;return baseResolution+this.getRange().getMin()}}class ResolutionFactory_ResolutionFactory{constructor(){this.resolutionRange=void 0}static default(){return ResolutionFactory_ResolutionFactory.fromCount(1)}static fromCount(resolutionCount){return this.fromRange(new spatial_src["e"]({min:0,max:resolutionCount-1}))}static fromRange(resolutionRange){const resolution=new ProportionalResolution_ProportionalResolution({});resolution.min=resolutionRange===null||resolutionRange===void 0?void 0:resolutionRange.min;resolution.max=resolutionRange===null||resolutionRange===void 0?void 0:resolutionRange.max;return resolution}}function fromZoom(zoom){return layer=>layer.belongsToZoom(zoom)}function isFromVisualizationId(visualizationId){return layer=>layer.belongsToVisualization(visualizationId)}function hasId(id){return layer=>layer.id===id}const hasData=layer=>layer.hasData();function hasRowset(rowsets,zoom){return layer=>{var _layer$getTargetRowse;return layer.type==="image"||rowsets.hasRowset((_layer$getTargetRowse=layer.getTargetRowset(zoom))===null||_layer$getTargetRowse===void 0?void 0:_layer$getTargetRowse.getId())}}function isDataLoaded(rowsets){return layer=>rowsets.withData(layer.getData()).length>0}function withDataLoaded(rowsets){return layer=>isDataLoaded(rowsets)(layer)}function parseTooltipField(itemSpec){return{title:itemSpec.title,value:{encoding:{text:new encoding_src["k"](itemSpec.value.encoding.text)}}}}function parseTooltip(tooltipSpec){const tooltipContent={};if(Array.isArray(tooltipSpec.table)){tooltipContent.table=tooltipSpec.table.map((itemSpec=>parseTooltipField(itemSpec)))}else{tooltipContent.table=tooltipSpec.table}tooltipContent.actions=tooltipSpec.actions;return tooltipContent}var ZoomRange=__webpack_require__(39);var Visible_dec,Visible_class,Visible_descriptor;let Visible_Visible=(Visible_dec=Object(external_class_transformer_["Type"])((()=>ZoomRange["a"])),Visible_class=class Visible{constructor(props){this.value=void 0;Object(initializerDefineProperty["a"])(this,"zoomRange",Visible_descriptor,this);this.condition=void 0;Object.assign(this,props)}},Visible_descriptor=Object(applyDecoratedDescriptor["a"])(Visible_class.prototype,"zoomRange",[Visible_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),Visible_class);var external_case_=__webpack_require__(54);var external_case_default=__webpack_require__.n(external_case_);const getSubSchema=(schema,symbol)=>{const subSchema=Object(fp_["clone"])(schema.definitions[symbol]);if(subSchema){subSchema.definitions=schema.definitions}return subSchema};const columnToOption=column=>({value:column.name,label:column.getLabel()});const getOptionsFromQuery=(queries,queryKey,filter)=>{const columns=queries.getColumns(queryKey);if(!filter){filter=()=>true}return columns.filter(filter).map(columnToOption)};class EditorProps_EditorPropsFactory{constructor(props){this.layer=void 0;this.visualization=void 0;this.queries=void 0;this.isPartialQueries=void 0;this.schema=void 0;this.zoom=void 0;Object.assign(this,props)}create(type,onChange){return{...this,type,title:external_case_default.a.title(type),elementId:`${this.layer.id}-${type}-editor`,onChange:_ref=>{let{layer,value}=_ref;onChange(layer,value,type)},getOptions:predicate=>getOptionsFromQuery(this.queries,this.layer.getQueryKey(),predicate)}}}var PureComponent=__webpack_require__(25);var material_=__webpack_require__(11);var src_theme=__webpack_require__(10);var Icons=__webpack_require__(78);var jsx_runtime_=__webpack_require__(0);const isSelectOption=option=>!!option.label;class Select_Select extends external_react_default.a.PureComponent{render(){var _this$props$options;return Object(jsx_runtime_["jsxs"])(material_["FormControl"],{error:this.props.error,fullWidth:this.props.fullWidth!==false,children:[Object(jsx_runtime_["jsx"])(material_["Select"],{native:true,value:this.props.value,inputProps:this.props.inputProps,onChange:e=>this.props.onChange(e),fullWidth:this.props.fullWidth!==false,sx:{"& .MuiOutlinedInput-root:hover":{"& > fieldset":{borderColor:"orange"}}},children:((_this$props$options=this.props.options)===null||_this$props$options===void 0?void 0:_this$props$options.length)>0&&this.props.options.map(((option,index)=>{if(isSelectOption(option)){return Object(jsx_runtime_["jsx"])("option",{value:option.value,children:option.label},index)}return Object(jsx_runtime_["jsx"])("option",{value:option,children:option},index)}))}),this.props.error&&this.props.errorMessage&&Object(jsx_runtime_["jsx"])(material_["FormHelperText"],{sx:{ml:0},children:this.props.errorMessage})]})}}const SelectView=Object(src_theme["a"])("div",{name:"SelectView"})((_ref=>{let{theme}=_ref;return{...theme.components.HoparaInput,padding:"0",position:"relative",cursor:"pointer",":nth-of-type(1n) > select":{appearance:"none",backgroundColor:"transparent",border:"none",color:"inherit",padding:theme.components.HoparaInput.padding,paddingRight:"1.575rem",margin:"0",width:"100%",fontFamily:"inherit",fontSize:"inherit",cursor:"inherit",lineHeight:"inherit",":-ms-expand":{display:"none"}}}}));const SelectIconBox=Object(src_theme["a"])("span",{name:"SelectIconBox"})((_ref2=>{let{theme}=_ref2;return{alignItems:"center",boxSizing:"border-box",color:theme.palette.primary.main,display:"flex",height:"1.15em",pointerEvents:"none",position:"absolute",right:"8px",top:"50%",transform:"translateY(-50%)",width:"1.15em"}}));const SelectIcon=Object(src_theme["a"])(Icons["a"],{name:"SelectIcon"})({height:"100%",width:"100%",color:"inherit"});const colors=["#ffffff","#fef445","#fac710","#f24726","#e6e6e6","#8fd14f","#cee741","#da0063","#808080","#12cdd4","#0ca789","#9510ac","#1a1a1a","#2d9bf0","#414bb2","#652cb3"];class ColorPicker_ColorPicker extends external_react_default.a.Component{constructor(props){super(props);this.state={isOpen:false,color:props.color,lastColor:props.color,enabled:props.enabled}}handleColorClick(){this.setState({isOpen:false})}handleColorHover(color){this.setState({color},(()=>this.props.onChange(this.state.color)))}handleColorLeave(){this.setState({color:this.state.lastColor},(()=>this.props.onChange(this.state.color)))}handlePickerClick(){this.setState({isOpen:!this.state.isOpen})}render(){const{isOpen}=this.state;const styles={color:{height:"19px",borderRadius:10},swatch:{display:"inline-block",cursor:"pointer",borderRadius:12,overflow:"hidden",height:"25px",width:"calc(100% - 20px)",padding:1,border:"2px solid transparent"},selected:{border:"2px solid #622fb4",padding:1}};return Object(jsx_runtime_["jsxs"])(SelectView,{children:[Object(jsx_runtime_["jsx"])(SelectIconBox,{children:isOpen?Object(jsx_runtime_["jsx"])(SelectIcon,{icon:"chevron-up"}):Object(jsx_runtime_["jsx"])(SelectIcon,{icon:"chevron-down"})}),Object(jsx_runtime_["jsx"])("div",{onClick:this.handlePickerClick.bind(this),style:{margin:4},children:Object(jsx_runtime_["jsx"])("div",{style:styles.swatch,children:Object(jsx_runtime_["jsx"])("div",{style:{...styles.color,background:this.state.color,padding:0}})})}),isOpen&&Object(jsx_runtime_["jsx"])("div",{role:"list",style:{position:"relative",zIndex:1,backgroundColor:"white",padding:10,borderRadius:20,boxShadow:"0 0 0 1px rgba(0,0,0,.1)",display:"flex",flexWrap:"wrap",justifyContent:"space-between"},children:colors.map(((color,i)=>Object(jsx_runtime_["jsx"])("div",{role:"listitem",onClick:()=>this.handleColorClick(),onMouseEnter:()=>this.handleColorHover(color),onMouseLeave:()=>this.handleColorLeave(),style:{width:100/4+"%",height:25},children:Object(jsx_runtime_["jsx"])("div",{style:{...styles.swatch,width:"100%",...color===this.state.color?styles.selected:{}},children:Object(jsx_runtime_["jsx"])("div",{style:{...styles.color,backgroundColor:color}})})},"item-"+i)))})]})}}var react_=__webpack_require__(16);class ColorScheme_ColorScheme extends external_react_default.a.Component{render(){const swatchStyle=Object(react_["css"])({background:"#fff",cursor:"pointer",height:25,padding:1,border:"2px solid transparent"});const selectedStyle=Object(react_["css"])({border:"2px solid #622fb4"});const styles=[swatchStyle,Object(react_["css"])(this.props.style)];if(this.props.selected){styles.push(selectedStyle)}const ColorSchemeView=Object(src_theme["a"])("div",{name:"ColorSchemeView"})(Object(react_["css"])(styles));return Object(jsx_runtime_["jsx"])(ColorSchemeView,{children:Object(jsx_runtime_["jsx"])("div",{style:{display:"flex",borderRadius:30,overflow:"hidden",width:"98%",margin:"1px auto"},children:this.props.colors.map(((color,index)=>Object(jsx_runtime_["jsx"])("div",{style:{backgroundColor:color,height:17,flexGrow:1}},this.props.id+"-color-"+color+"-"+index)))})})}}var Schemes=__webpack_require__(57);const ColorSchemePicker_length=8;const schemes=Object(Schemes["c"])(ColorSchemePicker_length);class ColorSchemePicker_ColorSchemePicker extends external_react_default.a.Component{getSchemeNameFromProps(){if(this.props.range){return"custom"}else if(this.props.scheme&&Object.keys(schemes).includes(this.props.scheme)){return this.props.scheme}return Object.keys(schemes)[0]}constructor(props){super(props);this._viewRef=external_react_default.a.createRef();this.clickOutListenerCached=void 0;this.state={selectedScheme:this.getSchemeNameFromProps(),isOpen:false};this.clickOutListenerCached=this.clickOutListener.bind(this)}handleSchemeClick(e){e.stopPropagation();e.preventDefault();this.setState({isOpen:false,selectedScheme:this.state.hoveredSheme})}isCustom(scheme){return scheme==="custom"}handleSchemeHover(e,scheme){e.stopPropagation();e.preventDefault();if(scheme===this.state.hoveredSheme)return;this.setState({hoveredSheme:scheme});if(this.isCustom(scheme)){this.props.onRangeChange(this.props.range)}else{this.props.onSchemeChange(scheme)}}handleSchemeLeave(e){e.stopPropagation();e.preventDefault();if(this.isCustom(this.state.selectedScheme)){this.props.onRangeChange(this.props.range)}else{this.props.onSchemeChange(this.state.selectedScheme)}}clickOutListener(event){if(this._viewRef.current&&!this._viewRef.current.contains(event.target)){this.setState({isOpen:false})}document.removeEventListener("click",this.clickOutListenerCached,true)}listenClickOut(){if(this.state.isOpen)document.addEventListener("click",this.clickOutListenerCached,true)}handlePickerClick(e){e.stopPropagation();e.preventDefault();this.setState((prevState=>({isOpen:!prevState.isOpen})),(()=>this.listenClickOut()))}handleListBlur(){this.setState({isOpen:false})}getColors(scheme){let colors;if(this.isCustom(scheme)){colors=this.props.range}else{colors=schemes[scheme]}if(this.props.reverse){return colors.slice().reverse()}return colors}getSelectedColors(){return this.getColors(this.state.selectedScheme)}render(){var _this$props$range;const{isOpen}=this.state;let options=schemes;if((_this$props$range=this.props.range)!==null&&_this$props$range!==void 0&&_this$props$range.length){options={custom:this.props.range,...schemes}}return Object(jsx_runtime_["jsxs"])(SelectView,{ref:this._viewRef,children:[Object(jsx_runtime_["jsx"])(SelectIconBox,{children:isOpen?Object(jsx_runtime_["jsx"])(SelectIcon,{icon:"chevron-up"}):Object(jsx_runtime_["jsx"])(SelectIcon,{icon:"chevron-down"})}),Object(jsx_runtime_["jsx"])("div",{onClick:this.handlePickerClick.bind(this),style:{margin:4},children:Object(jsx_runtime_["jsx"])(ColorScheme_ColorScheme,{style:{width:"calc(100% - 20px)"},id:this.props.id+"-selected-color-scheme",colors:this.getSelectedColors()})}),isOpen&&Object(jsx_runtime_["jsx"])("ul",{style:{position:"relative",zIndex:1,backgroundColor:"white",padding:10,borderRadius:20,boxShadow:"0 0 0 1px rgba(0,0,0,.1)",listStyle:"none"},onBlur:this.handleListBlur.bind(this),children:Object.keys(options).map((schemeName=>Object(jsx_runtime_["jsx"])("li",{children:Object(jsx_runtime_["jsx"])("button",{onClick:this.handleSchemeClick.bind(this),onMouseEnter:e=>this.handleSchemeHover(e,schemeName),onMouseLeave:this.handleSchemeLeave.bind(this),style:{background:"none",border:"none",width:"100%",cursor:"pointer",padding:0},children:Object(jsx_runtime_["jsx"])(ColorScheme_ColorScheme,{id:this.props.id+schemeName,colors:this.getColors(schemeName),selected:this.state.hoveredSheme?schemeName===this.state.hoveredSheme:schemeName===this.state.selectedScheme})})},schemeName)))})]})}}var icons_material_=__webpack_require__(22);class InputSearch_InputSearch extends external_react_default.a.Component{constructor(props){super(props);this.state={value:this.props.initialValue?this.props.initialValue:this.props.value}}getValue(){return this.props.value||this.state.value||""}handleChange(e){if(!this.props.value){this.setState({value:e.target.value})}return this.props.onChange&&this.props.onChange(e)}render(){return Object(jsx_runtime_["jsx"])(material_["OutlinedInput"],{fullWidth:true,value:this.getValue(),placeholder:this.props.placeholder,onFocus:e=>this.props.onFocus&&this.props.onFocus(e),onBlur:e=>this.props.onBlur&&this.props.onBlur(e),onChange:e=>this.handleChange(e),endAdornment:Object(jsx_runtime_["jsx"])(material_["InputAdornment"],{position:"end",children:Object(jsx_runtime_["jsx"])(material_["IconButton"],{onClick:e=>this.props.onSubmit&&this.props.onSubmit(e),edge:"end",color:"primary",children:Object(jsx_runtime_["jsx"])(icons_material_["Search"],{fontSize:"small"})})})})}}var Slider_=__webpack_require__(100);var Slider_default=__webpack_require__.n(Slider_);var Link_=__webpack_require__(120);var Link_default=__webpack_require__.n(Link_);let ThumbFormat;(function(ThumbFormat){ThumbFormat[ThumbFormat["CIRCLE"]=0]="CIRCLE";ThumbFormat[ThumbFormat["RECTANGLE"]=1]="RECTANGLE";ThumbFormat[ThumbFormat["LINK"]=2]="LINK"})(ThumbFormat||(ThumbFormat={}));const hoparaSliderThumb=thumbFormats=>props=>{const localProps={...props,style:{...props.style,sx:undefined}};const circleProps={...localProps};const rectangleProps={...localProps,sx:{borderRadius:0,border:0,width:5}};let ppp;if(!thumbFormats||thumbFormats.length===0)ppp=circleProps;else{const format=thumbFormats[props["data-index"]];if(format===ThumbFormat.CIRCLE){ppp=circleProps}else if(format===ThumbFormat.LINK){ppp={...circleProps,sx:{backgroundColor:"#ddd",border:"2px solid #ccc"}}}else{ppp=rectangleProps}}if(thumbFormats!==null&&thumbFormats!==void 0&&thumbFormats.length&&thumbFormats[props["data-index"]]===ThumbFormat.LINK){return Object(jsx_runtime_["jsxs"])(Slider_["SliderThumb"],{...ppp,onChange:()=>({}),children:[props.children,Object(jsx_runtime_["jsx"])(Link_default.a,{sx:{padding:3}})]})}return Object(jsx_runtime_["jsx"])(Slider_["SliderThumb"],{...ppp,children:props.children})};class Slider_Slider extends external_react_default.a.PureComponent{render(){const thumbComponent=hoparaSliderThumb(this.props.thumbFormats);const omited=Object(fp_["omit"])(["thumbFormats"],this.props);return Object(jsx_runtime_["jsx"])("div",{children:Object(jsx_runtime_["jsx"])(Slider_default.a,{...omited,max:this.props.max,min:this.props.min,components:{Thumb:thumbComponent}})})}}var ColorEncoding=__webpack_require__(23);var Switch_=__webpack_require__(121);var Switch_default=__webpack_require__.n(Switch_);class SidebarCardTitle_SidebarCardTitle extends PureComponent["a"]{render(){return Object(jsx_runtime_["jsx"])(material_["Typography"],{variant:"h5",sx:{typography:"h6",...this.props.sx},children:this.props.children})}}class SidebarContent_SidebarContent extends external_react_default.a.PureComponent{render(){return Object(jsx_runtime_["jsx"])(material_["Box"],{...this.props,sx:{...this.props.sx},children:this.props.children})}}class EncodingEditorCard_EncodingEditorCard extends external_react_default.a.PureComponent{constructor(props){super(props)}render(){const showCardContent=this.props.canBeEnabled&&this.props.enabled||!this.props.canBeEnabled;return Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:[Object(jsx_runtime_["jsx"])(SidebarCardTitle_SidebarCardTitle,{children:this.props.title}),Object(jsx_runtime_["jsxs"])(SidebarContent_SidebarContent,{children:[this.props.canBeEnabled&&Object(jsx_runtime_["jsx"])(material_["Box"],{sx:{textAlign:"right"},children:Object(jsx_runtime_["jsx"])(Switch_default.a,{sx:{margin:"-1em auto"},checked:this.props.enabled,onChange:()=>this.props.onEnabledChange&&this.props.onEnabledChange(!this.props.enabled)})}),showCardContent&&this.props.children]})]})}}class OpacitySlider_OpacitySlider extends external_react_default.a.Component{handleOpacityChange(event){this.props.onOpacityChange(Number(event.target.value))}render(){return Object(jsx_runtime_["jsx"])(Slider_Slider,{min:0,max:1,step:.01,value:this.props.opacity,onChange:this.handleOpacityChange.bind(this),valueLabelDisplay:"auto",sx:this.props.sx})}}class SidebarSubCard_SidebarSubCard extends external_react_default.a.PureComponent{render(){return Object(jsx_runtime_["jsx"])(material_["Box"],{sx:{display:"grid",gridTemplateColumns:"1.05fr 2fr",marginTop:"0.33em",borderLeft:"3px solid #eee",paddingLeft:"0.5em",alignItems:"center",...this.props.sx},children:this.props.children})}}class SidebarSubCardTitle_SidebarSubCardTitle extends PureComponent["a"]{render(){return Object(jsx_runtime_["jsx"])(material_["Typography"],{variant:"h6",sx:{fontWeight:"500",textTransform:"uppercase",letterSpacing:.4,fontSize:11,...this.props.sx},children:this.props.children})}}const STATIC_FIELD="__static__";class ColorEncodingEditor_ColorEncodingEditor extends external_react_default.a.Component{handleValueChange(value){return this.props.onEncodingChange(new ColorEncoding["a"]({...this.props.encoding,value}))}handleReverseChange(reverse){return this.props.onEncodingChange(new ColorEncoding["a"]({...this.props.encoding,scale:{...this.props.encoding.scale,reverse}}))}handleFieldChange(event){if(event.target.value===STATIC_FIELD){return this.props.onEncodingChange(new ColorEncoding["a"]({...this.props.encoding,field:undefined}))}return this.props.onEncodingChange(new ColorEncoding["a"]({...this.props.encoding,field:event.target.value}))}handleSchemeChange(scheme){return this.props.onEncodingChange(new ColorEncoding["a"]({...this.props.encoding,scale:{...this.props.encoding.scale,scheme}}))}handleColorRangeChange(range){return this.props.onEncodingChange(new ColorEncoding["a"]({...this.props.encoding,scale:{...this.props.encoding.scale,range}}))}handleOpacityChange(opacity){return this.props.onEncodingChange(new ColorEncoding["a"]({...this.props.encoding,opacity}))}getField(){var _this$props$encoding;return((_this$props$encoding=this.props.encoding)===null||_this$props$encoding===void 0?void 0:_this$props$encoding.field)||STATIC_FIELD}isStaticField(){return this.getField()===STATIC_FIELD}render(){var _this$props$title,_this$props$encoding2,_this$props$encoding3,_this$props$encoding4,_this$props$encoding5,_this$props$encoding6;const options=this.props.options;return Object(jsx_runtime_["jsxs"])(EncodingEditorCard_EncodingEditorCard,{title:(_this$props$title=this.props.title)!==null&&_this$props$title!==void 0?_this$props$title:"Color",canBeEnabled:this.props.canBeEnabled,enabled:this.props.enabled,onEnabledChange:this.props.onEnabledChange,children:[Object(jsx_runtime_["jsx"])(Select_Select,{value:this.getField(),onChange:this.handleFieldChange.bind(this),options:[{label:"Fixed color",value:STATIC_FIELD},...options.map((option=>({value:option.value,label:`Bind to ${option.label} field`})))]}),this.isStaticField()&&Object(jsx_runtime_["jsx"])("div",{style:{marginTop:8},children:Object(jsx_runtime_["jsx"])(ColorPicker_ColorPicker,{color:(_this$props$encoding2=this.props.encoding)===null||_this$props$encoding2===void 0?void 0:_this$props$encoding2.value,enabled:true,onChange:this.handleValueChange.bind(this)})}),!this.isStaticField()&&Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:[Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Scheme"}),Object(jsx_runtime_["jsx"])(ColorSchemePicker_ColorSchemePicker,{id:this.props.id+"-color-scheme-picker",reverse:!!this.props.encoding.scale.reverse,scheme:(_this$props$encoding3=this.props.encoding)===null||_this$props$encoding3===void 0?void 0:_this$props$encoding3.scale.scheme,range:(_this$props$encoding4=this.props.encoding)===null||_this$props$encoding4===void 0?void 0:_this$props$encoding4.scale.range,onSchemeChange:this.handleSchemeChange.bind(this),onRangeChange:this.handleColorRangeChange.bind(this)})]}),Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Reverse"}),Object(jsx_runtime_["jsx"])(material_["Switch"],{size:"small",checked:!!this.props.encoding.scale.reverse,onChange:e=>{var _e$target;return this.handleReverseChange(!!(e!==null&&e!==void 0&&(_e$target=e.target)!==null&&_e$target!==void 0&&_e$target.checked))}})]}),Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Fallback"}),Object(jsx_runtime_["jsx"])(ColorPicker_ColorPicker,{color:(_this$props$encoding5=this.props.encoding)===null||_this$props$encoding5===void 0?void 0:_this$props$encoding5.value,enabled:true,onChange:this.handleValueChange.bind(this)})]})]}),Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Opacity"}),Object(jsx_runtime_["jsx"])(OpacitySlider_OpacitySlider,{opacity:(_this$props$encoding6=this.props.encoding)===null||_this$props$encoding6===void 0?void 0:_this$props$encoding6.opacity,onOpacityChange:this.handleOpacityChange.bind(this),sx:{width:"92%"}})]})]})}}var color_ColorEncodingEditor=ColorEncodingEditor_ColorEncodingEditor;const createColorEditor=props=>{const options=new encoding_src["a"](props.layer.encoding.color).requiresQuantitativeValues()?props.getOptions((column=>column.isQuantitative())):props.getOptions();return Object(jsx_runtime_["jsx"])(color_ColorEncodingEditor,{id:props.elementId,encoding:new encoding_src["a"](props.layer.encoding.color),options,transform:props.layer.transform,onEncodingChange:newEncoding=>{props.onChange({layer:props.layer,value:newEncoding})}},props.elementId)};var SizeEncoding=__webpack_require__(32);const NULL_FIELD="__static__";class FieldEditor_FieldEditor extends external_react_default.a.Component{constructor(props){super(props)}handleChange(event){if(event.target.value===NULL_FIELD){this.props.onChange(null)}else{this.props.onChange(event.target.value)}}render(){var _this$props$field;let options=this.props.options;options=options.map((option=>({value:option.value,label:`Bind to ${option.label} field`})));if(this.props.includeNullOption){var _this$props$nullOptio;options.unshift({label:(_this$props$nullOptio=this.props.nullOptionLabel)!==null&&_this$props$nullOptio!==void 0?_this$props$nullOptio:"None",value:NULL_FIELD})}const showError=this.props.required===true&&!this.props.field;const Wrapper=this.props.title?SidebarSubCard_SidebarSubCard:external_react_default.a.Fragment;return Object(jsx_runtime_["jsxs"])(Wrapper,{children:[this.props.title&&Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:this.props.title}),Object(jsx_runtime_["jsx"])(Select_Select,{error:showError,errorMessage:showError?"Please select a field":"",value:(_this$props$field=this.props.field)!==null&&_this$props$field!==void 0?_this$props$field:"",options,onChange:this.handleChange.bind(this)})]})}}var field_FieldEditor=FieldEditor_FieldEditor;const MIN_SIZE=0;const MAX_SIZE=100;class SizeEncodingEditor_SizeEncodingEditor extends external_react_default.a.Component{constructor(props){super(props)}getValue(){var _this$props$encoding;return(_this$props$encoding=this.props.encoding)!==null&&_this$props$encoding!==void 0&&_this$props$encoding.value?Math.round(this.props.encoding.value):0}isFixedSize(){var _this$props$encoding2;return!((_this$props$encoding2=this.props.encoding)!==null&&_this$props$encoding2!==void 0&&_this$props$encoding2.field)}resizeOnZoom(){var _this$props$encoding3,_this$props$encoding4;return Number.isFinite((_this$props$encoding3=this.props.encoding)===null||_this$props$encoding3===void 0?void 0:(_this$props$encoding4=_this$props$encoding3.resize)===null||_this$props$encoding4===void 0?void 0:_this$props$encoding4.referenceZoom)&&!this.props.disableResizeOnZooming}notifyChange(encoding){this.props.onEncodingChange(encoding)}handleFieldChange(field){this.notifyChange(new SizeEncoding["a"]({...this.props.encoding,field}))}handleValueChange(event){this.notifyChange(new SizeEncoding["a"]({...this.props.encoding,value:Number(event.target.value)}))}handleToggleResizeChange(){if(this.resizeOnZoom()){return this.notifyChange(new SizeEncoding["a"](Object(fp_["omit"])(["resize"],this.props.encoding)))}const referenceZoom=Math.round(this.props.currentZoom);this.notifyChange(new SizeEncoding["a"]({...this.props.encoding,resize:{referenceZoom,maxZoom:referenceZoom+1}}))}handleResizeRefZoomChange(event,value){var _this$props$encoding5;this.notifyChange(new SizeEncoding["a"]({...this.props.encoding,resize:{...(_this$props$encoding5=this.props.encoding)===null||_this$props$encoding5===void 0?void 0:_this$props$encoding5.resize,referenceZoom:value}}))}handleResizeMaxZoomChange(event,value){var _this$props$encoding6;this.notifyChange(new SizeEncoding["a"]({...this.props.encoding,resize:{...(_this$props$encoding6=this.props.encoding)===null||_this$props$encoding6===void 0?void 0:_this$props$encoding6.resize,maxZoom:value}}))}handleRangeChange(event){this.notifyChange(new SizeEncoding["a"]({...this.props.encoding,scale:{range:event.target.value}}))}renderFixedSize(){var _this$props$range,_this$props$range2,_this$props$encoding7,_this$props$encoding8,_this$props$encoding9;return Object(jsx_runtime_["jsxs"])("div",{children:[Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Size"}),Object(jsx_runtime_["jsx"])(Slider_Slider,{value:this.getValue(),onChange:this.handleValueChange.bind(this),min:(_this$props$range=this.props.range)===null||_this$props$range===void 0?void 0:_this$props$range.min,max:(_this$props$range2=this.props.range)===null||_this$props$range2===void 0?void 0:_this$props$range2.max,valueLabelDisplay:"auto"})]}),!this.props.disableResizeOnZooming&&Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Resize while zooming"}),Object(jsx_runtime_["jsx"])(material_["Switch"],{size:"small",onChange:this.handleToggleResizeChange.bind(this),checked:this.resizeOnZoom()})]}),this.resizeOnZoom()&&((_this$props$encoding7=this.props.encoding)===null||_this$props$encoding7===void 0?void 0:(_this$props$encoding8=_this$props$encoding7.resize)===null||_this$props$encoding8===void 0?void 0:_this$props$encoding8.referenceZoom)&&((_this$props$encoding9=this.props.encoding)===null||_this$props$encoding9===void 0?void 0:_this$props$encoding9.resize.maxZoom)&&Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Zoom level"}),Object(jsx_runtime_["jsx"])(Slider_Slider,{min:this.props.zoomRange.getMin(),max:this.props.zoomRange.getMax(),step:.5,value:this.props.encoding.resize.maxZoom,onChange:this.handleResizeMaxZoomChange.bind(this),valueLabelDisplay:"auto",valueLabelFormat:(level,pos)=>{switch(pos){case 0:return Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:["enlarge until",Object(jsx_runtime_["jsx"])("br",{}),Object(jsx_runtime_["jsxs"])("b",{children:["zoom ",level]})]})}}})]})]})}renderRangedField(){var _this$props$encoding$,_this$props$encoding10,_this$props$encoding11,_this$props$encoding$2,_this$props$encoding12,_this$props$encoding13;return Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:[Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Range"}),Object(jsx_runtime_["jsx"])(Slider_Slider,{min:MIN_SIZE,max:MAX_SIZE,thumbFormats:[ThumbFormat.RECTANGLE,ThumbFormat.RECTANGLE],value:[(_this$props$encoding$=(_this$props$encoding10=this.props.encoding)===null||_this$props$encoding10===void 0?void 0:(_this$props$encoding11=_this$props$encoding10.scale)===null||_this$props$encoding11===void 0?void 0:_this$props$encoding11.range[0])!==null&&_this$props$encoding$!==void 0?_this$props$encoding$:MIN_SIZE,(_this$props$encoding$2=(_this$props$encoding12=this.props.encoding)===null||_this$props$encoding12===void 0?void 0:(_this$props$encoding13=_this$props$encoding12.scale)===null||_this$props$encoding13===void 0?void 0:_this$props$encoding13.range[1])!==null&&_this$props$encoding$2!==void 0?_this$props$encoding$2:MAX_SIZE],onChange:this.handleRangeChange.bind(this),valueLabelDisplay:"auto"})]}),Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Fallback"}),Object(jsx_runtime_["jsx"])(Slider_Slider,{value:this.getValue(),onChange:this.handleValueChange.bind(this),valueLabelDisplay:"auto"})]})]})}render(){var _this$props$title,_this$props$encoding14;return Object(jsx_runtime_["jsxs"])(EncodingEditorCard_EncodingEditorCard,{title:(_this$props$title=this.props.title)!==null&&_this$props$title!==void 0?_this$props$title:"Size",canBeEnabled:this.props.canBeEnabled,enabled:this.props.enabled,onEnabledChange:this.props.onEnabledChange,children:[Object(jsx_runtime_["jsx"])(field_FieldEditor,{id:this.props.id,options:this.props.options,field:(_this$props$encoding14=this.props.encoding)===null||_this$props$encoding14===void 0?void 0:_this$props$encoding14.field,includeNullOption:true,nullOptionLabel:`Fixed ${this.props.title.toLowerCase()}`,onChange:this.handleFieldChange.bind(this)},this.props.id),this.isFixedSize()&&this.renderFixedSize(),!this.isFixedSize()&&this.renderRangedField()]})}}var size_SizeEncodingEditor=SizeEncodingEditor_SizeEncodingEditor;const sizeOptionsFilter=column=>column.isQuantitative()||column.isTemporal();const createSizeEditor=props=>{var _props$layer$visible$;return Object(jsx_runtime_["jsx"])(size_SizeEncodingEditor,{id:props.elementId,title:props.title,encoding:props.layer.encoding.size,options:props.getOptions(sizeOptionsFilter),onEncodingChange:newEncoding=>{props.onChange({layer:props.layer,value:newEncoding})},currentZoom:props.zoom,zoomRange:(_props$layer$visible$=props.layer.visible.zoomRange)!==null&&_props$layer$visible$!==void 0?_props$layer$visible$:new spatial_src["e"]},props.elementId)};var OffsetEncoding=__webpack_require__(85);const createOffsetEditor=props=>{var _props$layer$encoding,_props$layer$visible$;const range=new spatial_src["e"]({min:-50,max:50});return Object(jsx_runtime_["jsx"])(size_SizeEncodingEditor,{id:props.elementId,title:props.title,range,encoding:(_props$layer$encoding=props.layer.encoding.offset)===null||_props$layer$encoding===void 0?void 0:_props$layer$encoding.y,options:props.getOptions(sizeOptionsFilter),onEncodingChange:newEncoding=>{props.onChange({layer:props.layer,value:new OffsetEncoding["a"]({y:newEncoding})})},currentZoom:props.zoom,zoomRange:(_props$layer$visible$=props.layer.visible.zoomRange)!==null&&_props$layer$visible$!==void 0?_props$layer$visible$:new ZoomRange["a"]},props.elementId)};function createFieldBasedEditor(props){var _props$layer$encoding,_props$layer$encoding2;return Object(jsx_runtime_["jsx"])(EncodingEditorCard_EncodingEditorCard,{title:props.title,children:Object(jsx_runtime_["jsx"])(field_FieldEditor,{id:props.elementId,options:props.getOptions(),field:(_props$layer$encoding=(_props$layer$encoding2=props.layer.encoding[props.type])===null||_props$layer$encoding2===void 0?void 0:_props$layer$encoding2.field)!==null&&_props$layer$encoding!==void 0?_props$layer$encoding:"",transform:props.layer.transform,includeNullOption:true,onChange:field=>{const newEncoding={...props.layer.encoding[props.type],field};props.onChange({layer:props.layer,value:newEncoding})}},props.elementId)})}const createIconEditor=props=>createFieldBasedEditor({...props,getOptions:()=>props.getOptions((column=>column.type===dataset_src["b"].STRING))});const createImageEditor=props=>createFieldBasedEditor({...props,getOptions:()=>props.getOptions((column=>column.type===dataset_src["b"].STRING))});const createLineEditor=props=>createFieldBasedEditor({...props,getOptions:()=>props.getOptions((column=>column.isGeometry()))});const createPolygonEditor=props=>createFieldBasedEditor({...props,getOptions:()=>props.getOptions((column=>column.isGeometry()||column.type===dataset_src["b"].STRING||column.type===dataset_src["b"].JSON))});const createTextEditor=props=>createFieldBasedEditor({...props,getOptions:()=>props.getOptions((column=>column.type===dataset_src["b"].STRING||column.isQuantitative()))});const createBoundsEditor=props=>createFieldBasedEditor({...props,getOptions:()=>props.getOptions((column=>column.isGeometry()))});class HeatmapEncoding{constructor(props){this.intensity=void 0;this.radius=void 0;this.createdTimestamp=void 0;Object.assign(this,props);this.createdTimestamp=new Date}isRenderable(){return true}}var Tooltip_=__webpack_require__(122);var Tooltip_default=__webpack_require__.n(Tooltip_);var Info_=__webpack_require__(123);var Info_default=__webpack_require__.n(Info_);class Infotip_Infotip extends external_react_default.a.PureComponent{render(){const props={placement:"top",arrow:true,...this.props};return Object(jsx_runtime_["jsx"])(Tooltip_default.a,{...props,children:Object(jsx_runtime_["jsx"])(Info_default.a,{fontSize:"small"})})}}const MIN_INTENSITY_MULTIPLIER=0;const MAX_INTENSITY_MULTIPLIER=5;const MIN_RADIUS=0;const MAX_RADIUS=80;const HeatmapEncodingEditor_NULL_FIELD="__static__";class HeatmapEncodingEditor_HeatmapEncodingEditor extends external_react_default.a.Component{constructor(props){super(props)}notifyChange(encoding){this.props.onEncodingChange(encoding)}handleIntensityMultiplierChange(event){const encoding=new HeatmapEncoding({...this.props.encoding});encoding.intensity.multiplier=event.target.value;this.notifyChange(encoding)}getField(){var _this$props$encoding$;return(_this$props$encoding$=this.props.encoding.intensity.field)!==null&&_this$props$encoding$!==void 0?_this$props$encoding$:HeatmapEncodingEditor_NULL_FIELD}handleRadiusChange(event){const encoding=new HeatmapEncoding({...this.props.encoding});encoding.radius=event.target.value;this.notifyChange(encoding)}handleIntensityFieldChange(field){const encoding=new HeatmapEncoding({...this.props.encoding});if(field===HeatmapEncodingEditor_NULL_FIELD){encoding.intensity.field=undefined}else{encoding.intensity.field=field}this.notifyChange(encoding)}render(){return Object(jsx_runtime_["jsxs"])(EncodingEditorCard_EncodingEditorCard,{title:"Heatmap",children:[Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Intensity field"}),Object(jsx_runtime_["jsx"])(field_FieldEditor,{id:this.props.elementId,options:this.props.fieldOptions,field:this.getField(),transform:this.props.transforms,includeNullOption:true,onChange:this.handleIntensityFieldChange.bind(this)},this.props.elementId)]}),Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Intensity multiplier"}),Object(jsx_runtime_["jsx"])(Slider_Slider,{min:MIN_INTENSITY_MULTIPLIER,max:MAX_INTENSITY_MULTIPLIER,step:.1,value:this.props.encoding.intensity.multiplier,onChange:this.handleIntensityMultiplierChange.bind(this),valueLabelDisplay:"auto"}),Object(jsx_runtime_["jsx"])(Infotip_Infotip,{title:"The higher the multiplier the more biased towards the end of the color spectrum",sx:{ml:5}})]}),Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Aggregation radius"}),Object(jsx_runtime_["jsx"])(Slider_Slider,{min:MIN_RADIUS,max:MAX_RADIUS,step:2,value:this.props.encoding.radius,onChange:this.handleRadiusChange.bind(this),valueLabelDisplay:"auto"})]})]})}}var heatmap_HeatmapEncodingEditor=HeatmapEncodingEditor_HeatmapEncodingEditor;const createHeatmapEditor=props=>{const quantitativeFilter=column=>column.isQuantitative();return Object(jsx_runtime_["jsx"])(heatmap_HeatmapEncodingEditor,{elementId:props.elementId+"editor",transforms:props.layer.transform,onEncodingChange:newEncoding=>{props.onChange({layer:props.layer,value:newEncoding})},fieldOptions:getOptionsFromQuery(props.queries,props.layer.getQueryKey(),quantitativeFilter),encoding:props.layer.encoding.heatmap},props.elementId)};class SchemeColorEncodingEditor_SchemeColorEncodingEditor extends external_react_default.a.Component{handleReverseChange(reverse){return this.props.onEncodingChange(new ColorEncoding["a"]({...this.props.encoding,scale:{...this.props.encoding.scale,reverse}}))}handleSchemeChange(scheme){return this.props.onEncodingChange(new ColorEncoding["a"]({...this.props.encoding,scale:{...this.props.encoding.scale,scheme}}))}handleRangeChange(range){return this.props.onEncodingChange(new ColorEncoding["a"]({...this.props.encoding,scale:{...this.props.encoding.scale,range}}))}handleOpacityChange(opacity){return this.props.onEncodingChange(new ColorEncoding["a"]({...this.props.encoding,opacity}))}render(){var _this$props$encoding,_this$props$encoding2;return Object(jsx_runtime_["jsxs"])(EncodingEditorCard_EncodingEditorCard,{title:"Color",children:[Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Scheme"}),Object(jsx_runtime_["jsx"])(ColorSchemePicker_ColorSchemePicker,{id:this.props.id+"-color-scheme-picker",reverse:!!this.props.encoding.scale.reverse,scheme:(_this$props$encoding=this.props.encoding)===null||_this$props$encoding===void 0?void 0:_this$props$encoding.scale.scheme,range:(_this$props$encoding2=this.props.encoding)===null||_this$props$encoding2===void 0?void 0:_this$props$encoding2.scale.range,onSchemeChange:this.handleSchemeChange.bind(this),onRangeChange:this.handleRangeChange.bind(this)})]}),Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Reverse"}),Object(jsx_runtime_["jsx"])(material_["Switch"],{size:"small",checked:!!this.props.encoding.scale.reverse,onChange:e=>{var _e$target;return this.handleReverseChange(!!(e!==null&&e!==void 0&&(_e$target=e.target)!==null&&_e$target!==void 0&&_e$target.checked))}})]}),Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Opacity"}),Object(jsx_runtime_["jsx"])(OpacitySlider_OpacitySlider,{opacity:this.props.encoding.opacity,onOpacityChange:this.handleOpacityChange.bind(this)})]})]})}}var color_SchemeColorEncodingEditor=SchemeColorEncodingEditor_SchemeColorEncodingEditor;const createSchemeColorEditor=props=>Object(jsx_runtime_["jsx"])(color_SchemeColorEncodingEditor,{id:props.elementId,encoding:new encoding_src["a"](props.layer.encoding.color),onEncodingChange:newEncoding=>{props.onChange({layer:props.layer,value:newEncoding})}},props.elementId);class TypeEditor_TypeEditor extends external_react_default.a.Component{constructor(props){super(props)}render(){const options=this.props.options.map((option=>({value:option.value,label:option.label})));return Object(jsx_runtime_["jsx"])(EncodingEditorCard_EncodingEditorCard,{title:"Type",children:Object(jsx_runtime_["jsx"])(Select_Select,{value:this.props.type,options,onChange:event=>this.props.onChange(event.target.value)})})}}var type_editor_TypeEditor=TypeEditor_TypeEditor;const createTypeEditor=props=>Object(jsx_runtime_["jsx"])(type_editor_TypeEditor,{id:props.layer.id+"type-editor",type:props.layer.type,options:Object.keys(LayerType).map((type=>({value:type,label:external_case_default.a.title(type)}))),onChange:value=>{props.onChange({layer:props.layer,value})}},props.layer.id+"type-editor");class QueryEditor_QueryEditor extends external_react_default.a.Component{constructor(props){super(props)}handleQueryChange(event){const index=Number(event.target.value);this.props.onChange(this.props.queries[index])}render(){var _this$props$queries$i;const options=this.props.queries.map(((query,index)=>({value:index,label:query.getName()})));options.unshift({label:"None",value:""});if(this.props.isPartialQueries){options.push({label:"Loading more...",value:""})}const query=this.props.queries.findQuery(this.props.queryKey);return Object(jsx_runtime_["jsx"])(EncodingEditorCard_EncodingEditorCard,{title:"Query",children:Object(jsx_runtime_["jsx"])(Select_Select,{value:(_this$props$queries$i=this.props.queries.indexOf(query))!==null&&_this$props$queries$i!==void 0?_this$props$queries$i:"",options,error:!this.props.queryKey,errorMessage:!this.props.queryKey?"Please select a query":undefined,onChange:this.handleQueryChange.bind(this)})})}}var query_QueryEditor=QueryEditor_QueryEditor;const createQueryEditor=props=>Object(jsx_runtime_["jsx"])(query_QueryEditor,{id:props.layer.id+"-query",queryKey:props.layer.getData(),queries:props.queries,isPartialQueries:props.isPartialQueries,onChange:value=>{props.onChange({layer:props.layer,value})}},props.layer.id+"-query");var World=__webpack_require__(37);class PositionEncodingEditor_PositionEncodingEditor extends external_react_default.a.Component{constructor(props){super(props)}updateEncoding(newEncoding){this.props.onEncodingChange(newEncoding)}handleXFieldChange(field){var _this$props$encoding;this.updateEncoding(new encoding_src["h"]({...this.props.encoding,x:{...(_this$props$encoding=this.props.encoding)===null||_this$props$encoding===void 0?void 0:_this$props$encoding.x,field}}))}handleYFieldChange(field){var _this$props$encoding2;this.updateEncoding(new encoding_src["h"]({...this.props.encoding,y:{...(_this$props$encoding2=this.props.encoding)===null||_this$props$encoding2===void 0?void 0:_this$props$encoding2.y,field}}))}render(){var _this$props$encoding$,_this$props$encoding$2;const xTitle=this.props.worldType===World["b"].GEO?"Longitude":"X";const xSelect=Object(jsx_runtime_["jsx"])(field_FieldEditor,{id:"x-position-field",field:(_this$props$encoding$=this.props.encoding.x)===null||_this$props$encoding$===void 0?void 0:_this$props$encoding$.field,options:this.props.options,onChange:this.handleXFieldChange.bind(this),title:xTitle,includeNullOption:true,transform:this.props.transform},"x-position-field");const yTitle=this.props.worldType===World["b"].GEO?"Latitude":"Y";const ySelect=Object(jsx_runtime_["jsx"])(field_FieldEditor,{id:"y-position-field",field:(_this$props$encoding$2=this.props.encoding.y)===null||_this$props$encoding$2===void 0?void 0:_this$props$encoding$2.field,options:this.props.options,onChange:this.handleYFieldChange.bind(this),title:yTitle,includeNullOption:true,transform:this.props.transform},"y-position-field");const geoComponents=Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:[ySelect,xSelect]});const cartesianComponents=Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:[xSelect,ySelect]});return Object(jsx_runtime_["jsx"])(EncodingEditorCard_EncodingEditorCard,{title:"Position",children:this.props.worldType===World["b"].GEO?geoComponents:cartesianComponents})}}var position_PositionEncodingEditor=PositionEncodingEditor_PositionEncodingEditor;const createPositionEditor=props=>{const options=props.getOptions((column=>column.isQuantitative()||column.isGeometry()||column.isTemporal()));return Object(jsx_runtime_["jsx"])(position_PositionEncodingEditor,{id:props.elementId,options,worldType:props.visualization.type,encoding:props.layer.encoding.position,transform:props.layer.transform,onEncodingChange:newEncoding=>{props.onChange({layer:props.layer,value:newEncoding})}})};var external_supercluster_=__webpack_require__(124);var external_supercluster_default=__webpack_require__.n(external_supercluster_);class ClusterTransform_ClusterTransform{constructor(radius){this.radius=void 0;this.cache={};if(radius){this.radius=radius}else{this.radius=30}}getType(){return"CLUSTER"}apply(rows,columns,zoom){const zoomKey=Math.floor(zoom*10/5);const cacheKey=zoomKey+rows.etag;if(this.cache[cacheKey]){return this.cache[cacheKey]}const index=new external_supercluster_default.a({maxZoom:256,radius:this.radius*Math.sqrt(2),map:row=>{const map={};columns.forEach((column=>{if(!(column.isQuantitative()||column.isType(dataset_src["b"].BOOLEAN)))return;map[column.getName()]=row.getValue(column.getName())}));return map},reduce:(acc,row)=>{columns.forEach((column=>{if(!(column.isQuantitative()||column.isType(dataset_src["b"].BOOLEAN)))return;const name=column.getName();acc[column.getName()]=acc[name]>row[name]?acc[name]:row[name]}))}});index.load(rows.map((row=>({geometry:{coordinates:[row._x,row._y]},properties:row}))));const clusteredFeatures=index.getClusters([-180,-85,180,85],Math.floor(zoom!==null&&zoom!==void 0?zoom:0));const clusteredRows=new dataset_src["j"](...clusteredFeatures.map((feature=>{var _feature$properties$c,_feature$properties$p;return{...feature.properties,_x:feature.geometry.coordinates[0],_y:feature.geometry.coordinates[1],_id:`cluster-${(_feature$properties$c=feature.properties.cluster_id)!==null&&_feature$properties$c!==void 0?_feature$properties$c:feature.properties._id}`,point_count:(_feature$properties$p=feature.properties.point_count)!==null&&_feature$properties$p!==void 0?_feature$properties$p:1}})));clusteredRows.etag=rows.etag+zoomKey;this.cache[cacheKey]=clusteredRows;return clusteredRows}isBackend(){return false}}class BackendTransform{isBackend(){return true}}var TimeTransform_dec,TimeTransform_class,TimeTransform_descriptor;let TimeTransform_TimeTransform=(TimeTransform_dec=Object(external_class_transformer_["Type"])((()=>ProportionalResolution_ProportionalResolution)),TimeTransform_class=class TimeTransform extends BackendTransform{constructor(props){super();Object(initializerDefineProperty["a"])(this,"resolution",TimeTransform_descriptor,this);Object.assign(this,props)}getType(){return"TIME"}getResolution(){const availableResolution=new spatial_src["e"]({min:0,max:6});return new ProportionalResolution_ProportionalResolution({...this.resolution,availableResolution})}},TimeTransform_descriptor=Object(applyDecoratedDescriptor["a"])(TimeTransform_class.prototype,"resolution",[TimeTransform_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),TimeTransform_class);var Transforms_dec,Transforms_dec2,Transforms_class,Transforms_descriptor,Transforms_descriptor2;let Transforms_Transforms=(Transforms_dec=Object(external_class_transformer_["Type"])((()=>ClusterTransform_ClusterTransform)),Transforms_dec2=Object(external_class_transformer_["Type"])((()=>TimeTransform_TimeTransform)),Transforms_class=class Transforms{constructor(props){Object(initializerDefineProperty["a"])(this,"cluster",Transforms_descriptor,this);Object(initializerDefineProperty["a"])(this,"time",Transforms_descriptor2,this);Object.assign(this,props)}getCurrent(){var _this;const activeKeys=Object.keys(this).filter((key=>this[key]));return(_this=this[Object(fp_["first"])(activeKeys)])===null||_this===void 0?void 0:_this.getType()}getBackendTransform(){return this.time}},Transforms_descriptor=Object(applyDecoratedDescriptor["a"])(Transforms_class.prototype,"cluster",[Transforms_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),Transforms_descriptor2=Object(applyDecoratedDescriptor["a"])(Transforms_class.prototype,"time",[Transforms_dec2],{configurable:true,enumerable:true,writable:true,initializer:null}),Transforms_class);class TransformEditor_TransformEditor extends external_react_default.a.Component{constructor(props){super(props);this.onTypeChange=this.onTypeChange.bind(this);this.onClusterChange=this.onClusterChange.bind(this)}onTypeChange(event){const newTransform=new Transforms_Transforms;if(event.target.value){newTransform[event.target.value]=new ClusterTransform_ClusterTransform}this.props.onChange(newTransform)}onClusterChange(event){const newTransform=new Transforms_Transforms;newTransform.cluster=new ClusterTransform_ClusterTransform(event.target.value);this.props.onChange(newTransform)}getTypeOptions(){return this.props.options.map((option=>({label:external_js_sentencecase_default()(option),value:option.toLowerCase()})))}getCurrentType(){return Object.keys(this.props.transform).find((transformKey=>!!this.props.transform[transformKey]))}render(){var _this$props$transform,_this$getCurrentType,_this$props$transform2;const options=[{label:"None",value:""},...this.getTypeOptions()];const labelDisplay=((_this$props$transform=this.props.transform.cluster)===null||_this$props$transform===void 0?void 0:_this$props$transform.radius)+" pixels";return Object(jsx_runtime_["jsxs"])(EncodingEditorCard_EncodingEditorCard,{title:"Transform",children:[Object(jsx_runtime_["jsx"])(Select_Select,{value:(_this$getCurrentType=this.getCurrentType())!==null&&_this$getCurrentType!==void 0?_this$getCurrentType:"",options,onChange:this.onTypeChange}),this.getCurrentType()&&Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Aggregation radius"}),Object(jsx_runtime_["jsx"])(EncodingEditorCard_EncodingEditorCard,{children:Object(jsx_runtime_["jsx"])(Slider_Slider,{value:(_this$props$transform2=this.props.transform.cluster)===null||_this$props$transform2===void 0?void 0:_this$props$transform2.radius,onChange:this.onClusterChange,valueLabelDisplay:"auto",valueLabelFormat:()=>Object(jsx_runtime_["jsx"])(external_react_default.a.Fragment,{children:labelDisplay})})})]})]})}}var transform_TransformEditor=TransformEditor_TransformEditor;const createTransformEditor=props=>{var _query$getTransformTy;const query=props.queries.findQuery(props.layer.getQueryKey());return Object(jsx_runtime_["jsx"])(transform_TransformEditor,{id:props.elementId,options:(_query$getTransformTy=query===null||query===void 0?void 0:query.getTransformTypes())!==null&&_query$getTransformTy!==void 0?_query$getTransformTy:[],transform:props.layer.transform,onChange:newTransform=>{props.onChange({layer:props.layer,value:newTransform})}},props.elementId)};class VisibilityEditor_VisibilityEditor extends external_react_default.a.Component{constructor(props){super(props);this.toggle=this.toggle.bind(this);this.updateZoomRange=this.updateZoomRange.bind(this)}toggle(){const visible={...this.props.visible,value:!this.props.visible.value};this.props.onVisibilityChange(visible)}updateZoomRange(event){var _this$props$visible$z,_this$props$visible$z2,_this$props$visible$z3,_this$props$visible$z4,_this$props$visible$z5,_this$props$visible$z6,_this$props$visible$z7,_this$props$visible$z8,_this$props$visible$z9,_this$props$visible$z10,_this$props$visible$z11,_this$props$visible$z12,_this$props$visible$z13,_this$props$visible$z14,_this$props$visible$z15,_this$props$visible$z16,_this$props$visible$z17,_this$props$visible$z18;if((_this$props$visible$z=this.props.visible.zoomRange)!==null&&_this$props$visible$z!==void 0&&(_this$props$visible$z2=_this$props$visible$z.min)!==null&&_this$props$visible$z2!==void 0&&_this$props$visible$z2.relative&&(_this$props$visible$z3=this.props.visible.zoomRange)!==null&&_this$props$visible$z3!==void 0&&(_this$props$visible$z4=_this$props$visible$z3.max)!==null&&_this$props$visible$z4!==void 0&&_this$props$visible$z4.relative)return;else if((_this$props$visible$z5=this.props.visible.zoomRange)!==null&&_this$props$visible$z5!==void 0&&(_this$props$visible$z6=_this$props$visible$z5.min)!==null&&_this$props$visible$z6!==void 0&&_this$props$visible$z6.relative&&((_this$props$visible$z7=this.props.visible.zoomRange)===null||_this$props$visible$z7===void 0?void 0:(_this$props$visible$z8=_this$props$visible$z7.max)===null||_this$props$visible$z8===void 0?void 0:(_this$props$visible$z9=_this$props$visible$z8.fixed)===null||_this$props$visible$z9===void 0?void 0:_this$props$visible$z9.value)===event.target.value[1])return;else if((_this$props$visible$z10=this.props.visible.zoomRange)!==null&&_this$props$visible$z10!==void 0&&(_this$props$visible$z11=_this$props$visible$z10.max)!==null&&_this$props$visible$z11!==void 0&&_this$props$visible$z11.relative&&((_this$props$visible$z12=this.props.visible.zoomRange)===null||_this$props$visible$z12===void 0?void 0:(_this$props$visible$z13=_this$props$visible$z12.min)===null||_this$props$visible$z13===void 0?void 0:(_this$props$visible$z14=_this$props$visible$z13.fixed)===null||_this$props$visible$z14===void 0?void 0:_this$props$visible$z14.value)===event.target.value[0])return;const visible={...this.props.visible,zoomRange:new ZoomRange["a"]({min:(_this$props$visible$z15=this.props.visible.zoomRange)!==null&&_this$props$visible$z15!==void 0&&(_this$props$visible$z16=_this$props$visible$z15.min)!==null&&_this$props$visible$z16!==void 0&&_this$props$visible$z16.relative?this.props.visible.zoomRange.min:{fixed:{value:event.target.value[0]}},max:(_this$props$visible$z17=this.props.visible.zoomRange)!==null&&_this$props$visible$z17!==void 0&&(_this$props$visible$z18=_this$props$visible$z17.max)!==null&&_this$props$visible$z18!==void 0&&_this$props$visible$z18.relative?this.props.visible.zoomRange.max:{fixed:{value:event.target.value[1]}}})};this.props.onVisibilityChange(visible)}handleConditionFieldChange(field){const visible={...this.props.visible};visible.condition=field?{test:field}:undefined;this.props.onVisibilityChange(visible)}render(){var _this$props$visible$z19,_this$props$visible$z20,_this$props$visible$z21,_this$props$visible$z22,_this$props$visible$z23,_this$props$visible$z24,_this$props$visible$c,_this$props$visible$z25,_this$props$visible$z26,_this$props$visible$z27,_this$props$visible$z28;const isMinReferenced=!!((_this$props$visible$z19=this.props.visible.zoomRange)!==null&&_this$props$visible$z19!==void 0&&(_this$props$visible$z20=_this$props$visible$z19.min)!==null&&_this$props$visible$z20!==void 0&&(_this$props$visible$z21=_this$props$visible$z20.relative)!==null&&_this$props$visible$z21!==void 0&&_this$props$visible$z21.layer);const isMaxReferenced=!!((_this$props$visible$z22=this.props.visible.zoomRange)!==null&&_this$props$visible$z22!==void 0&&(_this$props$visible$z23=_this$props$visible$z22.max)!==null&&_this$props$visible$z23!==void 0&&(_this$props$visible$z24=_this$props$visible$z23.relative)!==null&&_this$props$visible$z24!==void 0&&_this$props$visible$z24.layer);return Object(jsx_runtime_["jsx"])(EncodingEditorCard_EncodingEditorCard,{title:"Visible",canBeEnabled:true,enabled:this.props.visible.value,onEnabledChange:this.toggle.bind(this),children:this.props.visible.value&&Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:[Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Condition"}),Object(jsx_runtime_["jsx"])(field_FieldEditor,{id:this.props.elementId,options:this.props.fieldOptions,field:(_this$props$visible$c=this.props.visible.condition)===null||_this$props$visible$c===void 0?void 0:_this$props$visible$c.test,transform:this.props.transforms,includeNullOption:true,onChange:this.handleConditionFieldChange.bind(this)},this.props.elementId)]}),Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Zoom"}),Object(jsx_runtime_["jsx"])(Slider_Slider,{min:this.props.minZoom,max:this.props.maxZoom,step:.5,thumbFormats:[isMinReferenced?ThumbFormat.LINK:ThumbFormat.CIRCLE,isMaxReferenced?ThumbFormat.LINK:ThumbFormat.CIRCLE],value:[(_this$props$visible$z25=(_this$props$visible$z26=this.props.visible.zoomRange)===null||_this$props$visible$z26===void 0?void 0:_this$props$visible$z26.getMin())!==null&&_this$props$visible$z25!==void 0?_this$props$visible$z25:this.props.minZoom,(_this$props$visible$z27=(_this$props$visible$z28=this.props.visible.zoomRange)===null||_this$props$visible$z28===void 0?void 0:_this$props$visible$z28.getMax())!==null&&_this$props$visible$z27!==void 0?_this$props$visible$z27:this.props.maxZoom],onChange:this.updateZoomRange.bind(this),valueLabelDisplay:"auto",valueLabelFormat:(level,pos)=>{if(pos===1){return Object(jsx_runtime_["jsxs"])(external_react_default.a.Fragment,{children:["visible until",Object(jsx_runtime_["jsx"])("br",{}),Object(jsx_runtime_["jsxs"])("b",{children:["zoom ",level]})]})}if(pos===0){return Object(jsx_runtime_["jsxs"])(external_react_default.a.Fragment,{children:["visible from",Object(jsx_runtime_["jsx"])("br",{}),Object(jsx_runtime_["jsxs"])("b",{children:["zoom ",level]})]})}}})]})]})})}}var visibility_editor_VisibilityEditor=VisibilityEditor_VisibilityEditor;const createVisibilityEditor=props=>Object(jsx_runtime_["jsx"])(visibility_editor_VisibilityEditor,{visible:props.layer.visible,elementId:props.elementId,transforms:props.layer.transform,onVisibilityChange:newVisibility=>{props.onChange({layer:props.layer,value:newVisibility})},fieldOptions:getOptionsFromQuery(props.queries,props.layer.getQueryKey()),maxZoom:props.visualization.zoomRange.getMax(),minZoom:props.visualization.zoomRange.getMin()},props.elementId);const getTypeOptions=(layerType,currentType)=>{const typeOptions=["custom",...Object.keys(layerAnimationTemplates)].map((key=>({value:key,label:external_case_default.a.title(key)})));if(currentType==="custom"){return typeOptions}return typeOptions.filter((option=>option.value!==LayerAnimationType.custom)).filter((option=>{if(option.value==="custom")return true;const template=layerAnimationTemplates[option.value];return template.layerTypes.includes(layerType)}))};class AnimationEditor_AnimationEditor extends external_react_default.a.PureComponent{onChange(params){var _params$enabled,_params$type,_this$props$animation;const enabled=(_params$enabled=params.enabled)!==null&&_params$enabled!==void 0?_params$enabled:this.props.animation.enabled;this.props.onChange(new LayerAnimation_LayerAnimation({enabled,data:enabled?{field:params.field,type:(_params$type=params.type)!==null&&_params$type!==void 0?_params$type:(_this$props$animation=this.props.animation.data)===null||_this$props$animation===void 0?void 0:_this$props$animation.type}:undefined}))}handleTypeChange(event){this.onChange({type:event.target.value})}handleFieldChange(field){this.onChange({field})}handleEnabledChange(enabled){var _getTypeOptions$;this.onChange({enabled,type:(_getTypeOptions$=getTypeOptions(this.props.layerType)[0])===null||_getTypeOptions$===void 0?void 0:_getTypeOptions$.value})}render(){var _this$props$animation2,_this$props$animation3,_this$props$animation4,_this$props$animation5,_this$props$animation6;const field=(_this$props$animation2=(_this$props$animation3=this.props.animation.data)===null||_this$props$animation3===void 0?void 0:_this$props$animation3.field)!==null&&_this$props$animation2!==void 0?_this$props$animation2:"";const type=(_this$props$animation4=(_this$props$animation5=this.props.animation.data)===null||_this$props$animation5===void 0?void 0:_this$props$animation5.type)!==null&&_this$props$animation4!==void 0?_this$props$animation4:LayerAnimationType.pulse;return Object(jsx_runtime_["jsxs"])(EncodingEditorCard_EncodingEditorCard,{title:"Animation",canBeEnabled:true,enabled:this.props.animation.enabled,onEnabledChange:this.handleEnabledChange.bind(this),children:[Object(jsx_runtime_["jsx"])(field_FieldEditor,{id:"field-editor",options:this.props.fieldOptions,transform:this.props.transform,title:"Condition",field,includeNullOption:true,nullOptionLabel:"Animate all rows",onChange:this.handleFieldChange.bind(this),required:false}),Object(jsx_runtime_["jsxs"])(SidebarSubCard_SidebarSubCard,{children:[Object(jsx_runtime_["jsx"])(SidebarSubCardTitle_SidebarSubCardTitle,{children:"Type"}),Object(jsx_runtime_["jsx"])(Select_Select,{value:(_this$props$animation6=this.props.animation.data)===null||_this$props$animation6===void 0?void 0:_this$props$animation6.type,options:getTypeOptions(this.props.layerType,type),onChange:this.handleTypeChange.bind(this)})]})]})}}const createAnimationEditor=props=>Object(jsx_runtime_["jsx"])(AnimationEditor_AnimationEditor,{id:props.elementId,layerType:props.layer.type,animation:props.layer.getAnimation(),fieldOptions:props.getOptions(),onChange:value=>{props.onChange({layer:props.layer,value})}},props.elementId);var TextField_=__webpack_require__(88);var TextField_default=__webpack_require__.n(TextField_);class SidebarCard_SidebarCard extends external_react_default.a.PureComponent{getGridProps(grid){if(!grid)return{};return{display:"grid",gridTemplateColumns:"0.7fr 2fr",borderBottom:theme=>theme.shape.borderLight,"& h5":{marginBottom:0,marginTop:5,fontSize:"14px",fontWeight:600}}}render(){return Object(jsx_runtime_["jsx"])(material_["Box"],{sx:{padding:"0.66em 1em","& h5":{marginBottom:"0.33em"},...this.getGridProps(this.props.grid)},children:this.props.children})}}var external_monaco_editor_react_=__webpack_require__(125);var external_monaco_editor_react_default=__webpack_require__.n(external_monaco_editor_react_);const JsonEditor=props=>{const theme=Object(material_["useTheme"])();const codeChanged=newCode=>{let obj;try{obj=JSON.parse(newCode!==null&&newCode!==void 0?newCode:"[]")}catch(e){}if(obj){props.onChange(obj)}};return Object(jsx_runtime_["jsx"])(external_monaco_editor_react_default.a,{height:props.height,defaultLanguage:"json",defaultValue:JSON.stringify(props.value,null,2),onChange:codeChanged,options:{minimap:{enabled:false}},theme:"materialYou",beforeMount:monaco=>{monaco.editor.defineTheme("materialYou",{base:"vs",inherit:true,rules:[{foreground:theme.palette.spec.outline},{token:"number",foreground:theme.palette.spec.secondary},{token:"keyword.json",foreground:theme.palette.spec.secondary},{token:"string.key.json",foreground:theme.palette.spec.primary},{token:"string.value.json",foreground:theme.palette.spec.tertiary}],colors:{"editor.foreground":theme.palette.spec.outline,"editor.background":theme.palette.spec.surface,"editorCursor.foreground":theme.palette.spec.primary,"editorLineNumber.foreground":theme.palette.spec.onPrimaryContainer,"editor.selectionBackground":theme.palette.spec.inversePrimary}});monaco.languages.json.jsonDefaults.setDiagnosticsOptions({validate:true,schemas:[{fileMatch:["*"],schema:props.schema}]})}})};var external_ajv_=__webpack_require__(126);var external_ajv_default=__webpack_require__.n(external_ajv_);const LayerCodeEditor=_ref=>{let{layer,onChange}=_ref;const schema=useSelector((store=>store.schema));const layerSchema={...schema===null||schema===void 0?void 0:schema.definitions.LayerSpec};layerSchema.definitions={...schema===null||schema===void 0?void 0:schema.definitions};const clonedLayer=Object(fp_["cloneDeep"])(layer);const visualization=clonedLayer._visualization;const ajv=new external_ajv_default.a({removeAdditional:true,useDefaults:true});const removeAdditional=ajv.compile(layerSchema);removeAdditional(clonedLayer);const codeChanged=parsed=>{onChange(Object(external_class_transformer_["plainToClass"])(Layer_Layer,{...parsed,_visualization:visualization}))};return Object(jsx_runtime_["jsx"])(JsonEditor,{height:"calc(100vh - 181px)",value:clonedLayer,onChange:codeChanged,schema:layerSchema})};const strings={ACCOUNT_CONFIRMATION:"Account Verification",ACCOUNT_CONFIRMED:"Account Verified",ACCOUNT_CREATED:"Account Created",CANCEL:"Cancel",CANT_FIND_THE_EMAIL_SEND_IT_AGAIN:"Can't find the email?",CHANGE:"Change",CONFIRM_PASSWORD:"Confirm password",CONFIRMING_YOUR_ACCOUNT_ELLIPSIS:"Verifying your account…",CONTINUE_TO_HOPARA:"Continue to Hopara",CONTINUE_WITH_YOUR_WORK_EMAIL:"Continue with\nyour work email",CONTINUE:"Continue",COPYRIGHT:"Hopara Inc © Copyright 2022. All Rights Reserved.",PRODUCT_TERMS:"Product Terms",PRIVACY_STATEMENT:"Privacy Statement",CREATE_A_NEW_ACCOUNT:"Choose a password\nto create a new account",CURRENT_PASSWORD:"Current password",EMAIL_SENT:"Email sent.",EMAIL:"Email",FORGOT_PASSWORD_QUESTION:"Forgot password?",FORGOT_PASSWORD_DESCRIPTION:"Use the button below to send an reset link to your email",GO_TO_YOUR_INBOX_AND_CLICK_ON_THE_LINK_THAT_WE_SENT_YOU:"An email was sent to your inbox. Use the link provided to verify your account.",I_ACCEPT_THE:"I accept the Hopara",AND:"and",INVALID_EMAIL:"Invalid email",NEW_PASSWORD:"New password",PASSWORD:"Password",RESET_PASSWORD:"Reset password",RESETTING_ELLIPSIS:"Resetting…",RESEND_EMAIL:"Resend email",RESET_LINK_WAS_SENT_TO_EMAIL:"Reset link was sent to {{email}}",SEND_EMAIL:"Send email",SENDING_ELLIPSIS:"Sending…",SIGN_IN:"Sign in",SIGN_OUT:"Sign out",SIGN_UP:"Sign up",SIGNIN_TO_HOPARA:"Sign in to Hopara",SIGNING_IN_ELLIPSIS:"Signing in…",SIGNING_UP_ELLIPSIS:"Signing up…",TEMPORARY_PASSWORD:"Temporary password",TOOLTIP_AUTH:"Enter your work email above",TYPE_YOUR_HOPARA_PASSWORD:"Type your\nHopara password",VERIFYING_ELLIPSIS:"Verifying…",YOUR_EMAIL_IS_STILL_NOT_CONFIRMED:"Your account\nis pending verification",YOUR_PASSWORD_HAS_BEEN_RESET:"Your password\nhas been reset.",CHANGE_PASSWORD:"Change password",CHANGING_ELLIPSIS:"Changing…",YOUR_PASSWORD_SHOULD_CONTAIN:"Your password should contain:",EIGHT_CHARS_LONG:"at least 8 characters long",ONE_UPPERCASE_CHAR:"at least 1 uppercase character",ONE_LOWERCASE_CHAR:"at least 1 lowercase character",ONE_SYMBOL_CHAR:"at least 1 symbol character",DATA_SOURCES_IN_YOUR_ORGANIZATION:"Data sources in your organization",CREATE_A_NEW_DATA_SOURCE:"Create new data source",MYSQL:"Mysql",POSTGRES:"Postgres",SINGLESTORE:"Singlestore",TIMESCALE:"Timescale",NAME:"Name",HOST:"Host",PORT:"Port",DATABASE:"Database",USER_NAME:"User name",SCHEMA:"Schema",LOADING_ELLIPSIS:"Loading…",EDIT:"Edit",DELETE:"Delete",DATA_SOURCES:"Data Sources",DATA_SOURCE:"Data source",APPS:"Apps",APPLICATION:"Application",UNKNOWN_ERROR:"Unknown error",SAVE:"Save",SAVING_ELLIPSIS:"Saving…",TEST_CONNECTION:"Test connection",TEST_CONNECTION_SUCCESS:"Test connection success",EDIT_DATA_SOURCE:"Edit data source",CREATE_DATA_SOURCE:"Create data source",DATA_SOURCE_SAVED_SUCCESSFULLY:"Data source saved successfully",QUERY:"Query",QUERY_SAVED_SUCCESSFULLY:"Query saved successfully",SQL:"SQL",NEW_QUERY:"New query",EDIT_QUERY:"Edit query",RUN:"Run",RUNNING_ELLIPSIS:"Running…",SHOW_HISTORY:"Show history",DISCARD_CHANGES:"Discard changes",RESTART_APP:"Restart app",ADVANCED_MODE:"Advanced mode",PASSWORDS_DO_NOT_MATCH:"Passwords do not match",TYPE:"Type",CREATE_AN_APP:"Create an app",APP_NAME:"App name",PLEASE_ENTER_A_NAME_FOR_THIS_APP:"Please enter a name for this app",SOMETHING_WENT_WRONG_CREATING_APP:"Something went wrong creating app",APP_CREATED:"App created",COMPANY_LOGO:"Company logo",DOCUMENTATION:"Documentation",DELETING_ELLIPSIS:"Deleting…",RENAME:"Rename",ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_APP:"Are you sure you want to delete this app?",APPS_IN_YOUR_ORGANIZATION:"Apps in your organization",APP_NAME_UPDATED:"App name updated",APP_DELETED:"App deleted",READ_ONLY:"Read only",WEBGL_DISABLED:"To use Hopara you need to enable WebGL in your browser.",WEBGL_UNSUPPORTED:"To use Hopara you need to use a browser that supports WebGL.",WEBGL_ERROR:"WebGL Error",SIMPLE_MODE:"Simple mode",ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_QUERY:"Are you sure you want to delete this query?",ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_DATA_SOURCE:"Are you sure you want to delete this data source?",QUERY_DELETED_SUCCESSFULLY:"Query deleted successfully"};const i18n=(key,params)=>{const string=strings[key];if(params){return string.replace(/{{(\w+)}}/g,((_,key)=>params[key]))}return string};const i18nWithNoBreaks=(key,params)=>i18n(key,params).replace(/\n/g," ");const LayerItem=props=>{var _props$components;const[anchorEl,setAnchorEl]=external_react_default.a.useState(null);const[title,setTitle]=external_react_default.a.useState(props.title);const[screen,setScreen]=external_react_default.a.useState("form");const titleRef=Object(external_react_["useRef"])();const menuOpen=Boolean(anchorEl);const notifyTitleChange=e=>{if(e.target.value===props.title)return;if(notifyDebounced.cancel)notifyDebounced.cancel();return props.onTitleChange(e.target.value)};const notifyDebounced=Object(fp_["debounce"])(2e3,notifyTitleChange);const handleTitleChange=e=>{setTitle(e.target.value);notifyDebounced(e)};function handleMenuOpen(event){setAnchorEl(event.currentTarget)}function handleMenuClose(){setAnchorEl(null)}if(!((_props$components=props.components)!==null&&_props$components!==void 0&&_props$components.length))return null;return Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:[Object(jsx_runtime_["jsxs"])("div",{style:{display:"flex",justifyContent:"space-between"},children:[Object(jsx_runtime_["jsx"])(material_["IconButton"],{onClick:()=>props.onBack(),children:Object(jsx_runtime_["jsx"])(icons_material_["ArrowBack"],{})}),Object(jsx_runtime_["jsx"])(material_["IconButton"],{onClick:handleMenuOpen,children:Object(jsx_runtime_["jsx"])(icons_material_["MoreVert"],{})}),Object(jsx_runtime_["jsx"])(material_["Menu"],{anchorEl,open:menuOpen,onClose:handleMenuClose,children:Object(jsx_runtime_["jsx"])(material_["MenuItem"],{onClick:()=>{setAnchorEl(null);setTimeout((()=>{const newValue=screen==="form"?"code":"form";setScreen(newValue);props.onScreenChange(newValue)}),100)},children:screen==="form"?i18n("ADVANCED_MODE"):i18n("SIMPLE_MODE")})})]}),screen==="code"&&Object(jsx_runtime_["jsx"])(LayerCodeEditor,{layer:props.layer,onChange:code=>{props.onChange(code)}}),screen==="form"&&Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:[Object(jsx_runtime_["jsxs"])(SidebarCard_SidebarCard,{grid:true,children:[Object(jsx_runtime_["jsx"])(SidebarCardTitle_SidebarCardTitle,{children:"Title"}),Object(jsx_runtime_["jsx"])(SidebarContent_SidebarContent,{children:Object(jsx_runtime_["jsx"])(TextField_default.a,{inputRef:titleRef,name:`layer-title`,value:title,inputProps:{"aria-label":props.title},onChange:handleTitleChange,onBlur:notifyTitleChange,variant:"outlined",fullWidth:true})})]}),props.components.map(((component,i)=>{if(!component)return null;return Object(jsx_runtime_["jsx"])(SidebarCard_SidebarCard,{grid:true,children:component},i)}))]})]})};var external_react_dom_=__webpack_require__(127);var external_react_dom_default=__webpack_require__.n(external_react_dom_);var external_react_transition_group_=__webpack_require__(68);var SidebarTransition_module=__webpack_require__(38);var SidebarTransition_module_default=__webpack_require__.n(SidebarTransition_module);var Add_=__webpack_require__(128);var Add_default=__webpack_require__.n(Add_);var Box_=__webpack_require__(56);var Box_default=__webpack_require__.n(Box_);var external_react_beautiful_dnd_=__webpack_require__(101);var ListItemButton_=__webpack_require__(89);var ListItemButton_default=__webpack_require__.n(ListItemButton_);var ListItemIcon_=__webpack_require__(90);var ListItemIcon_default=__webpack_require__.n(ListItemIcon_);class ListActionButton_ListActionButton extends external_react_default.a.PureComponent{render(){const hasIcon=!!this.props.icon;return Object(jsx_runtime_["jsxs"])(ListItemButton_default.a,{sx:{typography:"h6",fontWeight:"normal",margin:0,marginBottom:12,marginTop:12,border:"1px solid black",borderColor:"primary.main",borderRadius:2,color:this.props.active?"white":"primary.main",backgroundColor:this.props.active?"primary.main":"inherit","&:hover":{backgroundColor:this.props.active?"primary.main":"inherit"},...this.props.sx},onClick:this.props.onClick,children:[hasIcon?Object(jsx_runtime_["jsx"])(ListItemIcon_default.a,{sx:{color:this.props.active?"white":"primary.main"},children:this.props.icon}):undefined,Object(jsx_runtime_["jsx"])(material_["ListItemText"],{children:this.props.children})]})}}class SidebarListItem_SidebarListItem extends external_react_default.a.PureComponent{render(){return Object(jsx_runtime_["jsx"])(jsx_runtime_["Fragment"],{children:Object(jsx_runtime_["jsx"])(material_["ListItem"],{...this.props,disablePadding:true,sx:{borderBottom:theme=>theme.shape.borderLight,"&:last-child":{borderBottom:"none"},...this.props.sx},children:this.props.children})})}}var DragIndicator_=__webpack_require__(129);var DragIndicator_default=__webpack_require__.n(DragIndicator_);const getLayerIcon=type=>{switch(type){case"circle":return Object(jsx_runtime_["jsx"])("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAABkElEQVRIDbWVX04CMRDGkcT4JzGE+KKGN72AV/BePvDGFbiTBOMJegHCA4liIOr327RlthTY1N0v+bLtdPab7nRm2+t1jLNE/1LzC7Gf2JtOf+T4La7DCzbArYxDv4hjCdgYm1yKCytwpcmjeG6NhWM00EIzpoKon+IG4z+BxpeIZgzAp/1iyOBGtrE4F1eejLGxlgMprp0j+b/LeL7I5sStOBOnnoyxORGfFGihGZELwIvs5EN8jp67ATbW8EmDnAzApzsRAcr2EFjDx4k2XXsBbLnKt8ovKcjtnHULfPDlTCxqmgOt2BJ915w8NwW+HHwAWmhWJz3ScyK+iiEqdfwmNgW+T94ZDbTQHPW9sfNHmiI+t5UUhZ2H1IT5WINWDzntA0rOia2VaRpA2lXzdNZoBAB0qBNJF2fS6q9CehVIF2dCb6w8KQJsrOWw18lDed3nPAttD3oPzfhLXWt8LdpuZr0EaHDZoBk7lzEHTVQui0N3g5aOgnJHfCku8MRgwS3EH7K0w6m62qVvxTsZ/wFcI1I2OGPt8AAAAABJRU5ErkJggg=="});case"line":return Object(jsx_runtime_["jsx"])("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAAA80lEQVRIDe2UqwoCQRSGvWHSZDEZtYnRLBgFi2CwCgZBMPgEJsHiC/gCvolvYNOiySJ4wev3LwY99UwSD3zs/szOtzvDnonF/vVLO1BiMVWIfy4q9Rkc90nmtkC+LawhKg14K4vgDGk4whLuEKTqWPTFlSA2I2mS9eVPGJgxd+xguIK2ouu2GUGP/AC9oG3G3HGEQVtygobbZgRjsuQHqJkxV1TjzEDyPaiZgpX6ZA6S76AMwUqNswDJN1CEoDXEJvkKCiHNOWSZt3DCNe+Rf518iCTvgzp0CjdwVcLMvpAl168Y7MAy74iOXLsy+8w/h9uBF9m2J4WGYdEsAAAAAElFTkSuQmCC"});case"image":return Object(jsx_runtime_["jsx"])("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAABlElEQVRIDe2UPS8FQRSG1/VRkIgQya183ISK0CCRiMSvEImKjlrhT6jEDxCFTkVNodMpJJp1NSoRQuJK8LzMTGY2sze7t1FcJ3l2zpw5552zsx9J8m9/fQIdpoF1xinYhzoMgl3DLWRfZD3CCGzBNRxWuEhoBgagBrIe6C6JamTSkJY0XZPjTFbAJuEWMgltwIKXLQ1pSTMwt1sQbT65YllH8wlLXqrTqpigjmMCNBY1dTprkiU4Z/xAy25g1koNDbL3TEXKeGz86KBdJyHvDtRIZ7Ty94H6jQZa/kJOfTLEwilcQC2S9ERMz6CpBbt6mfP4ddCDFC+gt8Y3fT+7YJuNasWC+ljewYr74wnxYdiEN5NzxqjXNqYVBPtIOjJFvmjWf43kHGQ3sLdF3Nkq3pqb5Tu9kaWubMwGPli4BXXpPpJscsG5r+XERikeg0uowjS0YvcU3cAipHCnO1DH29APsnNQF63YA0XLoCN+hh1toGPRr1WvWwqyBpQ9KunIUpC4NG0Mt7zgT1HOpWxzOTJtEf4GcqtLS/PNVVcAAAAASUVORK5CYII="});case"polygon":return Object(jsx_runtime_["jsx"])("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAAB2klEQVRIDbWVzS4EURCF21+Mnw0isbOwZcWWlUfwEHY8wuyIjbDgJbDzBHgJiWRCIiwmdowQnK/NvWpK9+0ZGSc5um7VqbpXdc3tLPtnDLj6Na1HxUHn73b5IeGr2AoJdoMZOafEF/EzCHp8cjAO+SQ2be6YFgviiHX+0aYGtagZW8GunPwNZwKLisEUqEEtakbQnrm4KjY25X5uEzsFalEzIrXBtFRnIi9wt01sfMSK0PUGa8q+Fe/FdVMJGx8xNB6VGwwpoy6+i+firOiBjxiaukhOwK8NCISR5eVciMzztpgCOWjQkkMuCLW+V/rLSE3EVZbdyD4y6yoTLTkB1MrHFAe77ouH4qQI9sQGRpdoSEcOoAa1qFkruxJOFZwXl8UqrEiAlpxS+BbRwztxpzTjJ4AGre17R4uC1ArwHYjXIZh4okFr4WvlvzpGy4L55tJbsk5nE0Oz6vxxTIddwC4vtXgUt8QTGzD2hmw0V8ZXaJZdFcdSc8IU0XjE/yD0ig24Zh+cko/PuPP5JRcgPzQLNuBWbYYWccKikSXRJ8tVCWpxIcai3N+Mar8+ONRqiR2zS5v4ZBLId9ezV9ByisdPZngHoRDXBn0valfQpJ4cjJbmp08J+xb7AjESVYEwGMWdAAAAAElFTkSuQmCC"});case"text":return Object(jsx_runtime_["jsx"])("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAAB50lEQVRIDe1Vy07DMBC08yCqighVkiIQHBAcuMFvcIIDEpQDn8GBL4BvKYIr/E2lHqjEAYqgVWmJmUnrkLhJi4AjI228nt0d1/YmFeIfc05AFsQdcG4Br6miGjUJDjGOdCJHMzkCtwz7gOkiuN8CtWzYM+yxqMIHuQmb9euL6rIca6lBrQSWdjBWYVyd2/wpWEsNaiXILkCfR1OKIKgfBsHKQWnCOECNVDd15hSJKIr2hFQ3Qsa39Xp9d05+ere8FI0XOAM9McdKpXqBlqihL3oqVpV+v3dn5kzm1KBWguwO2D1s0SK4UooG+qqJ1mpioQaSypqBGtRKoBfYwuwSdj6m888wDPchHFqWuJZKNhGNyOWz0hk1qLVNRi9AvxRKyTME21LKB9tWLfidCVdaowPpZYDgtl5huTfR9/2a43odvHcLumgyDkbD99Vut/tk8DyiRRjbNbcDEjlxJjiOd0JxZckjKdQOTUlxjJDnuh5HE9RIxM3AOoglkwyi6D4Iwxb47G6tIIzajJn5mFNjQ/NlXaPjQsTxVWzbbL3stym2pDhVSmXb/Ksmn5vya/DQ578GNaiVINtFb2B40WX9Pa6Y/WQtNaiVIHuuJP78c20uwEV4L3oXRXHmmND3M/WHYyb+z6dO4BNrv2Owww/ybwAAAABJRU5ErkJggg=="});case"heatmap":return Object(jsx_runtime_["jsx"])("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAABOUlEQVRIDe2UsUoDQRCGT6NFbAKC2PgESRMUhIBKUihCCl/AvE5eII+QJg+QSrCyME+iiBLSpAqafD9sjmPY4+ZCIBD84WNnZmd29vZuL0n+VfIEDsg/B41b0aFZRf4F2LhJ87tbWyivZVGDJwrfoRsWOGUU0hE8wrEcryokXoFG6QWWMJaDBgHZ16C5Gzle2Qa3FI6gFRbQrsVadYxSH4RtsF4oNlYJ3sFJbDIvZhvovPtQA+18EpD9CjqiN3DLNmhS+Q0NOINFQPYHqMEPuGUb2MJLAkLqwBDu5XhV1MC7TppXdA+U2E6zk6SH/Rx8PYGO5yH40SH7yUUTCE4zE7OMPcf+Ao1u7eSI3LuLJXreQazOHct7B/qBbdL8j7rfbPe8BrpYm+iTIl3AVLEfVSyWFhQYutl7phUpgSMwPf0USwAAAABJRU5ErkJggg=="});case"icon":return Object(jsx_runtime_["jsx"])("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAACLUlEQVRIDdWUv0scQRTH31wODf4ovJ25JgoHASv/iBQmhYTUCiGmDcHGQhCLnE0KU0aIdkqaNFoFQUhhuvwB/gGHQUm83TSr66+7fXlvb+bcWWf3Dqwc2Js3732+77s3O7sAD32IXn+gVqs9DsNoBkQ8DSAmOjz+Biz9GB0d2ms0GpdFPQoNPK/6BgR+pAZPcpocA4rlIDj9mlOHXANPqXVAeK+FZwjwXQg45DUiTJHwJYUjSV3AetBsLiRxPz/UfMWTCpNLqf1KpTKe1XGOuP0Ut5JlnGsp5SSJWiyUUn1zQqkkM9rkhrWpUhKWsgl6kEuUe0TXn6urAbNFdzGd0cxfWpa11mKzBoL2+hUTAsRmGB4HFu1YMEPsBpe01nqulkGVBnGK4VjgL577GSlW6R5dmWXQbrfHTIX2KDJxrznNpnuwzjK4Hhz0TbM2wFMT95rTbLoH6yyD8OSEDMQRF2gjZ3nuZxA71+HEUafHrcoy4LQA3E3KCC/oTX59i7qjhEF4zlUy2slSdwzoLKwRdJGAAj8rpWayIrNOasToNWniT6ZmZutImaTnqXm6nS2zpngb4tKXcrnzqWi1YApK8Ts6l/NdBuFtEDS3u2sdOA24VpHyA53vuuYKJwSs//P9VRfEb6xzXETRz+GhEb6BZ05AJ+kmVgO/6WzOSK4BF6Po/KDIhJv7/mmd2bxRaMCiPJN+mueZOvNSVuvm08yxE7pvkh78Il/37fOw9P8BgG+jn5334VoAAAAASUVORK5CYII="});default:return Object(jsx_runtime_["jsx"])("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAAA80lEQVRIDe2UqwoCQRSGvWHSZDEZtYnRLBgFi2CwCgZBMPgEJsHiC/gCvolvYNOiySJ4wev3LwY99UwSD3zs/szOtzvDnonF/vVLO1BiMVWIfy4q9Rkc90nmtkC+LawhKg14K4vgDGk4whLuEKTqWPTFlSA2I2mS9eVPGJgxd+xguIK2ouu2GUGP/AC9oG3G3HGEQVtygobbZgRjsuQHqJkxV1TjzEDyPaiZgpX6ZA6S76AMwUqNswDJN1CEoDXEJvkKCiHNOWSZt3DCNe+Rf518iCTvgzp0CjdwVcLMvpAl168Y7MAy74iOXLsy+8w/h9uBF9m2J4WGYdEsAAAAAElFTkSuQmCC"})}};const LayerListItem=_ref=>{let{layerName,layerType,onClick,onDeleteClick}=_ref;const[anchorEl,setAnchorEl]=Object(external_react_["useState"])(null);const open=Boolean(anchorEl);if(!layerName)return null;const handleClick=event=>{setAnchorEl(event.currentTarget)};const handleClose=()=>{setAnchorEl(null)};return Object(jsx_runtime_["jsx"])(SidebarListItem_SidebarListItem,{sx:{"&:last-child":{}},secondaryAction:Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:[Object(jsx_runtime_["jsx"])(material_["IconButton"],{onClick:handleClick,children:Object(jsx_runtime_["jsx"])(icons_material_["MoreVert"],{})}),Object(jsx_runtime_["jsx"])(material_["Menu"],{anchorEl,open,onClose:handleClose,children:Object(jsx_runtime_["jsx"])(material_["MenuItem"],{onClick:onDeleteClick,children:i18n("DELETE")},"delete")})]}),children:Object(jsx_runtime_["jsxs"])(ListItemButton_default.a,{className:"drag-handle",onClick:()=>onClick(),children:[Object(jsx_runtime_["jsx"])(DragIndicator_default.a,{fontSize:"small",sx:{opacity:.33,transform:"translateX(-0.33em)",cursor:"grab"}}),Object(jsx_runtime_["jsx"])(ListItemIcon_default.a,{sx:{minWidth:"35px"},children:getLayerIcon(layerType)}),Object(jsx_runtime_["jsx"])(material_["ListItemText"],{onClick:()=>onClick(),children:layerName})]})})};class LayerList_DraggableItem extends external_react_default.a.PureComponent{constructor(){super(...arguments);this.portalElementId="__hopara__layerDraggablePortal"}createPortal(){const portal=document.createElement("div");portal.id=this.portalElementId;document.body.appendChild(portal)}getPortal(){return document.querySelector(`#${this.portalElementId}`)}deletePortal(){var _this$getPortal;return(_this$getPortal=this.getPortal())===null||_this$getPortal===void 0?void 0:_this$getPortal.remove()}componentDidMount(){this.createPortal()}componentWillUnmount(){this.deletePortal()}render(){const provided=this.props.provided;const snapshot=this.props.snapshot;const usePortal=snapshot.isDragging;const child=Object(jsx_runtime_["jsx"])(Box_default.a,{ref:provided.innerRef,...provided.draggableProps,...provided.dragHandleProps,sx:{...provided.draggableProps.style,userSelect:"none",backgroundColor:"background.paper"},children:this.props.children});if(!usePortal){return child}return external_react_dom_default.a.createPortal(child,this.getPortal())}}class LayerList_LayerList extends external_react_default.a.PureComponent{constructor(props){super(props);this.state={items:props.list};this.onDragEnd=this.onDragEnd.bind(this)}onDragEnd(result){if(!result.destination)return;this.props.onMoveLayer(this.props.list[result.source.index],result.destination.index-result.source.index)}render(){var _this$props$list;return Object(jsx_runtime_["jsx"])(external_react_transition_group_["SwitchTransition"],{children:Object(jsx_runtime_["jsx"])(external_react_transition_group_["CSSTransition"],{addEndListener:(node,done)=>node.addEventListener("transitionend",done,false),classNames:{appear:SidebarTransition_module_default.a.appear,appearActive:SidebarTransition_module_default.a.appearActive,appearDone:SidebarTransition_module_default.a.appearDone,enter:!this.props.selectedItem?SidebarTransition_module_default.a.enter:SidebarTransition_module_default.a.enterInvert,enterActive:SidebarTransition_module_default.a.enterActive,enterDone:SidebarTransition_module_default.a.enterDone,exit:SidebarTransition_module_default.a.exit,exitActive:this.props.selectedItem?SidebarTransition_module_default.a.exitActive:SidebarTransition_module_default.a.exitActiveInvert,exitDone:SidebarTransition_module_default.a.exitDone},children:Object(jsx_runtime_["jsxs"])("div",{className:SidebarTransition_module_default.a.transitionBlock,children:[!this.props.selectedItem&&Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:[Object(jsx_runtime_["jsx"])(Box_default.a,{sx:{paddingLeft:12,paddingRight:12},children:Object(jsx_runtime_["jsx"])(ListActionButton_ListActionButton,{onClick:()=>this.props.onNewLayerRequest("circle"),icon:Object(jsx_runtime_["jsx"])(Add_default.a,{}),children:"New Layer"})}),!!((_this$props$list=this.props.list)!==null&&_this$props$list!==void 0&&_this$props$list.length)&&Object(jsx_runtime_["jsx"])(external_react_beautiful_dnd_["DragDropContext"],{onDragEnd:this.onDragEnd,children:Object(jsx_runtime_["jsx"])(external_react_beautiful_dnd_["Droppable"],{droppableId:"droppable",children:provided=>Object(jsx_runtime_["jsxs"])(material_["List"],{sx:{borderTop:theme=>theme.shape.borderLight,padding:0,overflowX:"hidden"},ref:provided.innerRef,...provided.droppableProps,children:[this.props.list.map(((layer,i)=>Object(jsx_runtime_["jsx"])(external_react_beautiful_dnd_["Draggable"],{draggableId:layer.id,index:i,children:(provided,snapshot)=>Object(jsx_runtime_["jsx"])(LayerList_DraggableItem,{provided,snapshot,children:Object(jsx_runtime_["jsx"])(LayerListItem,{layerName:layer.name,layerType:layer.type,onDeleteClick:()=>{this.props.onLayerDelete(layer)},onClick:()=>{if(Object.keys(LayerType).includes(layer.type)){this.props.onLayerClick(layer.id)}}},`${layer.name}-${i}`)})},layer.id))),provided.placeholder]})})})]}),!!this.props.selectedItem&&this.props.renderItemContent(this.props.selectedItem)]})},`${!this.props.selectedItem}`)})}}let LayerType;(function(LayerType){LayerType["circle"]="circle";LayerType["heatmap"]="heatmap";LayerType["icon"]="icon";LayerType["image"]="image";LayerType["line"]="line";LayerType["polygon"]="polygon";LayerType["text"]="text";LayerType["vega-lite"]="vega-lite"})(LayerType||(LayerType={}));const encodingTypeToFactory={color:createColorEditor,size:createSizeEditor,offset:createOffsetEditor,image:createImageEditor,bounds:createBoundsEditor,heatmap:createHeatmapEditor,icon:createIconEditor,line:createLineEditor,polygon:createPolygonEditor,text:createTextEditor};class LayerListComponent_LayerListComponent extends PureComponent["a"]{constructor(props){super(props);this.state={}}getEditorTypes(layer,schema){const encodingName=external_case_["pascal"](layer.type)+"LayerEncoding";const layerEncoding=getSubSchema(schema,encodingName);return layerEncoding!==null&&layerEncoding!==void 0&&layerEncoding.properties?Object.keys(layerEncoding.properties):[]}getEncodingsEditorsFromSchema(layer,schema){const editorTypes=this.getEditorTypes(layer,schema);return editorTypes.map((type=>{let factory=encodingTypeToFactory[type];if(layer.isType(LayerType.heatmap)&&type==="color"){factory=createSchemeColorEditor}return{type,factory,onChange:this.props.onEncodingChange}})).filter((c=>c.factory))}getEditorFactories(layer,schema){const factories=[{factory:createTypeEditor,type:"type",onChange:this.props.onNewLayerRequest},{factory:createQueryEditor,type:"query",onChange:this.props.onQueryChange}];if(layer.hasExplicitPosition()){factories.push({factory:createPositionEditor,type:"position",onChange:this.props.onEncodingChange})}if(!layer.hasData())return factories;factories.push(...this.getEncodingsEditorsFromSchema(layer,schema));factories.push({type:"transform",factory:createTransformEditor,onChange:this.props.onTransformChange});factories.push({type:"visibility",factory:createVisibilityEditor,onChange:this.props.onVisibilityChange});if(layer.canAnimate()){factories.push({type:"animation",factory:createAnimationEditor,onChange:this.props.onAnimationChange})}return factories}createEditorComponents(visualization,layer,schema){const propsFactory=new EditorProps_EditorPropsFactory({layer,visualization,schema,queries:this.props.queries,isPartialQueries:this.props.isPartialQueries,zoom:this.props.zoom});return this.getEditorFactories(layer,schema).map((editorFactory=>editorFactory.factory(propsFactory.create(editorFactory.type,editorFactory.onChange))))}getLayerContents(visualization,layer){const components=this.createEditorComponents(visualization,layer,this.props.schema);if(!components.length)return null;return Object(jsx_runtime_["jsx"])(jsx_runtime_["Fragment"],{children:Object(jsx_runtime_["jsx"])(LayerItem,{layer,title:layer.name,onTitleChange:value=>this.props.onLayerNameChange(layer,value),onChange:value=>this.props.onLayerChange(layer,value),onScreenChange:value=>this.props.onScreenChange(value),components,onBack:this.props.onBackClick})})}render(){var _this$props$layers;return Object(jsx_runtime_["jsx"])(jsx_runtime_["Fragment"],{children:Object(jsx_runtime_["jsx"])(LayerList_LayerList,{list:this.props.layers,selectedItem:((_this$props$layers=this.props.layers)!==null&&_this$props$layers!==void 0?_this$props$layers:[]).find((l=>l.id===this.props.selectedLayerId)),onNewLayerRequest:type=>this.props.onNewLayerRequest(undefined,type),onLayerClick:layerId=>this.props.onLayerClick(layerId),onLayerDelete:layer=>this.props.onLayerDelete(layer),renderItemContent:layer=>{if(layer)return this.getLayerContents(this.props.visualization,layer);return Object(jsx_runtime_["jsx"])(jsx_runtime_["Fragment"],{})},onMoveLayer:(layer,steps)=>{this.props.onMoveLayer(layer.id,steps)}})})}}let LayerAnimationType;(function(LayerAnimationType){LayerAnimationType["custom"]="custom";LayerAnimationType["pulse"]="pulse";LayerAnimationType["ripple"]="ripple";LayerAnimationType["breathe"]="breathe";LayerAnimationType["blink"]="blink";LayerAnimationType["fadeInOut"]="fadeInOut";LayerAnimationType["flow"]="flow"})(LayerAnimationType||(LayerAnimationType={}));const layerAnimationTemplates={ripple:{layerTypes:[LayerType.circle,LayerType.icon],encodings:{color:{channel:{duration:1500},keyFrames:{"0%":{opacity:.7},"70%":{opacity:0},"100%":{opacity:0}}},size:{channel:{duration:1500},keyFrames:{"0%":{scale:1},"70%":{scale:2},"100%":{scale:2}}}}},pulse:{layerTypes:[LayerType.circle,LayerType.icon],encodings:{size:{channel:{duration:1500},keyFrames:{"0%":{scale:1},"60%":{scale:1.2},"90%":{scale:1}}}}},breathe:{layerTypes:[LayerType.circle,LayerType.icon],encodings:{size:{channel:{duration:5e3},keyFrames:{"0%":{scale:1},"50%":{scale:1.3},"90%":{scale:1.05},"100%":{scale:1}}}}},blink:{layerTypes:[LayerType.circle,LayerType.icon,LayerType.polygon],encodings:{color:{channel:{duration:1e3},keyFrames:{"0%":{opacity:1},"80%":{opacity:1},"81%":{opacity:0},"100%":{opacity:0}}}}},fadeInOut:{layerTypes:[LayerType.circle,LayerType.icon,LayerType.polygon],encodings:{color:{channel:{duration:1500},keyFrames:{"0%":{opacity:0},"50%":{opacity:1},"100%":{opacity:0}}}}},flow:{layerTypes:[LayerType.line],encodings:{color:{}}}};class LayerAnimation_LayerAnimation{constructor(data){this.enabled=void 0;this.data=void 0;Object.assign(this,data)}static createFromLayer(layer){var _animations$map$find;const animations=Object.values(layer.encoding).map((encoding=>encoding===null||encoding===void 0?void 0:encoding.animation)).filter(Boolean);if(animations.length===0){return new LayerAnimation_LayerAnimation({enabled:false})}return new LayerAnimation_LayerAnimation({enabled:true,data:{field:animations.map((animation=>animation.field)).find(Boolean),type:(_animations$map$find=animations.map((animation=>animation.type)).find(Boolean))!==null&&_animations$map$find!==void 0?_animations$map$find:LayerAnimationType.custom}})}fillLayer(layer){var _this$data;if(((_this$data=this.data)===null||_this$data===void 0?void 0:_this$data.type)==="custom"){Object.keys(layer.encoding).forEach((encodingName=>{var _layer$encoding$encod;if((_layer$encoding$encod=layer.encoding[encodingName])!==null&&_layer$encoding$encod!==void 0&&_layer$encoding$encod.animation){var _this$data2;layer.encoding[encodingName].animation.field=(_this$data2=this.data)===null||_this$data2===void 0?void 0:_this$data2.field}}));return layer}Object.keys(layer.encoding).forEach((encodingName=>{if(layer.encoding[encodingName]){delete layer.encoding[encodingName].animation}}));if(!this.enabled||!this.data)return layer;const template=Object(fp_["clone"])(layerAnimationTemplates[this.data.type]);const animationType=this.data.type;const animationField=this.data.field;Object.entries(layer.encoding).forEach((_ref=>{let[encodingName,encoding]=_ref;if(!encoding)return;const animationEncodingTemplate=template.encodings[encodingName];if(!animationEncodingTemplate)return;animationEncodingTemplate.type=animationType;animationEncodingTemplate.field=animationField;if(!encoding){layer.encoding[encodingName]={}}layer.encoding[encodingName].animation=animationEncodingTemplate}));return layer}}var Layer_dec,Layer_dec2,_dec3,_dec4,_dec5,_dec6,Layer_class,Layer_descriptor,Layer_descriptor2,_descriptor3,_descriptor4,_descriptor5,_descriptor6;const requiredEncodingsMap={circle:["position","size","color"],icon:["position","size","color"],heatmap:["position"],image:["image","bounds"],line:["line","size"],polygon:["polygon"],text:["text","position","color","size"],table:[],"vega-lite":[],scenegraph:[]};let Layer_Layer=(Layer_dec=Object(external_class_transformer_["Transform"])((_ref=>{let{value}=_ref;return value?new Date(value):undefined})),Layer_dec2=Object(external_class_transformer_["Transform"])((_ref2=>{let{obj,value}=_ref2;if(obj.type==="vega-lite")return value;return value?new encoding_src["f"](value):undefined})),_dec3=Object(external_class_transformer_["Type"])((()=>Transforms_Transforms)),_dec4=Object(external_class_transformer_["Transform"])((_ref3=>{let{value}=_ref3;return parseTooltip(value)})),_dec5=Object(external_class_transformer_["Type"])((()=>Visible_Visible)),_dec6=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),Layer_class=class Layer{constructor(props){this.id=void 0;this.name=void 0;this.type=void 0;Object(initializerDefineProperty["a"])(this,"lastModified",Layer_descriptor,this);this.editable=void 0;Object(initializerDefineProperty["a"])(this,"encoding",Layer_descriptor2,this);Object(initializerDefineProperty["a"])(this,"transform",_descriptor3,this);this.data=void 0;this.preRender=void 0;Object(initializerDefineProperty["a"])(this,"tooltip",_descriptor4,this);Object(initializerDefineProperty["a"])(this,"visible",_descriptor5,this);Object(initializerDefineProperty["a"])(this,"_visualization",_descriptor6,this);this.mark=void 0;this.autoHighlight=void 0;Object.assign(this,props)}isVega(){return this.type.toLocaleLowerCase()==="vega-lite"}isImage(){return this.type.toLocaleLowerCase()==="image"}clone(){const cloned=new Layer(this);cloned.lastModified=new Date;return cloned}isVisible(zoom){return this.visible.value&&this.belongsToZoom(zoom)}belongsToZoom(zoom){var _this$visible,_this$visible2,_this$visible3;return!((_this$visible=this.visible)!==null&&_this$visible!==void 0&&_this$visible.zoomRange)||((_this$visible2=this.visible)===null||_this$visible2===void 0?void 0:_this$visible2.zoomRange)&&((_this$visible3=this.visible)===null||_this$visible3===void 0?void 0:_this$visible3.zoomRange.isInRange(zoom))}shouldRender(rowsets){return this.isRenderable()&&withDataLoaded(rowsets)(this)}shouldPrerender(){return this.preRender!==false}isType(type){return this.type.toLowerCase()===type.toLowerCase()}getData(){return this.data}getQueryKey(){var _this$data,_this$data2,_this$transform;const queryKey={source:(_this$data=this.data)===null||_this$data===void 0?void 0:_this$data.source,query:(_this$data2=this.data)===null||_this$data2===void 0?void 0:_this$data2.query};if((_this$transform=this.transform)!==null&&_this$transform!==void 0&&_this$transform.getCurrent()){var _this$transform2;return{...queryKey,transform:(_this$transform2=this.transform)===null||_this$transform2===void 0?void 0:_this$transform2.getCurrent()}}return queryKey}hasData(){var _this$data3,_this$data4;return((_this$data3=this.data)===null||_this$data3===void 0?void 0:_this$data3.query)&&((_this$data4=this.data)===null||_this$data4===void 0?void 0:_this$data4.source)}getResolutions(){var _this$transform3;const transform=(_this$transform3=this.transform)===null||_this$transform3===void 0?void 0:_this$transform3.getBackendTransform();if(!transform){return ResolutionFactory_ResolutionFactory.fromCount(1)}return ResolutionFactory_ResolutionFactory.fromRange(transform.getResolution().getRange())}getTargetResolution(zoom){return this.getResolutions().getTargetResolution(this.visible.zoomRange,zoom)}getScaleKeys(){var _this$encoding$positi,_this$encoding,_this$encoding$positi2;if(this.isVega()){var _this$encoding$x,_this$encoding$x2,_this$encoding$x3,_this$encoding$x3$sca,_this$encoding$y,_this$encoding$y2,_this$encoding$y3,_this$encoding$y3$sca;return new ScaleKey["b"]((_this$encoding$x=this.encoding.x)!==null&&_this$encoding$x!==void 0&&_this$encoding$x.field?{field:(_this$encoding$x2=this.encoding.x)===null||_this$encoding$x2===void 0?void 0:_this$encoding$x2.field,type:(_this$encoding$x3=this.encoding.x)===null||_this$encoding$x3===void 0?void 0:(_this$encoding$x3$sca=_this$encoding$x3.scale)===null||_this$encoding$x3$sca===void 0?void 0:_this$encoding$x3$sca.type}:undefined,(_this$encoding$y=this.encoding.y)!==null&&_this$encoding$y!==void 0&&_this$encoding$y.field?{field:(_this$encoding$y2=this.encoding.y)===null||_this$encoding$y2===void 0?void 0:_this$encoding$y2.field,type:(_this$encoding$y3=this.encoding.y)===null||_this$encoding$y3===void 0?void 0:(_this$encoding$y3$sca=_this$encoding$y3.scale)===null||_this$encoding$y3$sca===void 0?void 0:_this$encoding$y3$sca.type}:undefined)}return(_this$encoding$positi=(_this$encoding=this.encoding)===null||_this$encoding===void 0?void 0:(_this$encoding$positi2=_this$encoding.position)===null||_this$encoding$positi2===void 0?void 0:_this$encoding$positi2.getScaleKeys())!==null&&_this$encoding$positi!==void 0?_this$encoding$positi:new ScaleKey["a"]}getTargetRowset(zoom){var _this$transform4;if(!this.isRenderable())return;return new Rowset_Rowset({data:this.getData(),transform:(_this$transform4=this.transform)===null||_this$transform4===void 0?void 0:_this$transform4.getBackendTransform(),resolution:this.getTargetResolution(zoom),scales:this.getScaleKeys()})}isFixedColor(){return this.type.toLowerCase()==="heatmap"}belongsToVisualization(visualizationId){return!!(visualizationId&&this._visualization&&this._visualization===visualizationId)}areEncodingsRenderable(){var _requiredEncodingsMap;return(_requiredEncodingsMap=requiredEncodingsMap[this.type.toLowerCase()])===null||_requiredEncodingsMap===void 0?void 0:_requiredEncodingsMap.map((encodingName=>{var _this$encoding$encodi;return(_this$encoding$encodi=this.encoding[encodingName])===null||_this$encoding$encodi===void 0?void 0:_this$encoding$encodi.isRenderable()})).every(Boolean)}isDataRenderable(){return!!this.data&&!!this.data.query&&!!this.data.source}isRenderable(){return this.areEncodingsRenderable()&&this.isDataRenderable()}change(partialLayer){const cloned=this.clone();return new Layer({...cloned,...partialLayer})}immutableSetAnimation(animation){return animation.fillLayer(this.clone())}getAnimation(){return LayerAnimation_LayerAnimation.createFromLayer(this)}canAnimate(){return this.isType(LayerType.circle)||this.isType(LayerType.polygon)||this.isType(LayerType.icon)||this.isType(LayerType.line)}hasExplicitPosition(){return!this.isType(LayerType.polygon)&&!this.isType(LayerType.image)&&!this.isType(LayerType.line)&&!this.isType(LayerType["vega-lite"])}},Layer_descriptor=Object(applyDecoratedDescriptor["a"])(Layer_class.prototype,"lastModified",[Layer_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),Layer_descriptor2=Object(applyDecoratedDescriptor["a"])(Layer_class.prototype,"encoding",[Layer_dec2],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor3=Object(applyDecoratedDescriptor["a"])(Layer_class.prototype,"transform",[_dec3],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor4=Object(applyDecoratedDescriptor["a"])(Layer_class.prototype,"tooltip",[_dec4],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor5=Object(applyDecoratedDescriptor["a"])(Layer_class.prototype,"visible",[_dec5],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor6=Object(applyDecoratedDescriptor["a"])(Layer_class.prototype,"_visualization",[_dec6],{configurable:true,enumerable:true,writable:true,initializer:null}),Layer_class);const setUnifiedScaleDomain=(scaleDomain,scaleType,domain)=>{if(!scaleDomain[scaleType]){scaleDomain[scaleType]={domainMin:domain.min,domainMax:domain.max}}const scaleDomainMin=scaleDomain[scaleType].domainMin;if(scaleDomainMin===undefined||!Object(fp_["isNumber"])(scaleDomainMin)){scaleDomain[scaleType].domainMin=domain.min}else if(Object(fp_["isNumber"])(domain.min)&&scaleDomainMin>domain.min){scaleDomain[scaleType].domainMin=domain.min}const scaleDomainMax=scaleDomain[scaleType].domainMax;if(scaleDomainMax===undefined||!Object(fp_["isNumber"])(scaleDomainMax)){scaleDomain[scaleType].domainMax=domain.max}else if(Object(fp_["isNumber"])(domain.max)&&scaleDomainMax<domain.max){scaleDomain[scaleType].domainMax=domain.max}};const getDomainValues=(rowsets,field)=>rowsets.reduce(((domain,rowset)=>{var _rowset$rows;const values=rowset===null||rowset===void 0?void 0:(_rowset$rows=rowset.rows)===null||_rowset$rows===void 0?void 0:_rowset$rows.getValues(field);if(!values)return domain;const minValue=Object(fp_["min"])(values);const maxValue=Object(fp_["max"])(values);return{min:Object(fp_["isNumber"])(domain.min)&&domain.min<minValue||!Object(fp_["isNumber"])(minValue)?domain.min:minValue,max:Object(fp_["isNumber"])(domain.max)&&domain.max>maxValue||!Object(fp_["isNumber"])(maxValue)?domain.max:maxValue}}),{min:undefined,max:undefined});function getUnifiedScaleDomains(rowsets){return rowsets.reduce(((scaleDomains,rowset)=>{var _rowset$scales,_rowset$scales2,_rowset$scales3;if(rowset!==null&&rowset!==void 0&&(_rowset$scales=rowset.scales)!==null&&_rowset$scales!==void 0&&_rowset$scales.x){const xDomain=getDomainValues(rowsets,rowset.scales.x.field);setUnifiedScaleDomain(scaleDomains["x"],rowset.scales.x.type,xDomain)}if(rowset!==null&&rowset!==void 0&&(_rowset$scales2=rowset.scales)!==null&&_rowset$scales2!==void 0&&_rowset$scales2.y){const yDomain=getDomainValues(rowsets,rowset.scales.y.field);setUnifiedScaleDomain(scaleDomains["y"],rowset.scales.y.type,yDomain)}if(rowset!==null&&rowset!==void 0&&(_rowset$scales3=rowset.scales)!==null&&_rowset$scales3!==void 0&&_rowset$scales3.z){if(!scaleDomains["z"][rowset.scales.z.type]){scaleDomains["z"][rowset.scales.z.type]={domainMin:0,domainMax:50}}setUnifiedScaleDomain(scaleDomains["z"],rowset.scales.z.type,{min:0,max:50})}return scaleDomains}),{x:{},y:{},z:{}})}class Rowsets_Rowsets extends Array{hasRowset(rowsetId){if(!rowsetId)return false;return this.some((rowset=>rowset.getId()===rowsetId))}withData(data){const rowsets=this.filter((rowset=>rowset.data.query===data.query&&rowset.data.source===data.source));return new Rowsets_Rowsets(...rowsets)}getUnifiedScaleDomains(){return getUnifiedScaleDomains(this)}}const getFieldPositionOrDefault=fieldPosition=>{var _fieldPosition$scale;return(_fieldPosition$scale=fieldPosition===null||fieldPosition===void 0?void 0:fieldPosition.scale)!==null&&_fieldPosition$scale!==void 0?_fieldPosition$scale:{}};const getFieldPositionScaleType=(columns,fieldPosition)=>{const xColumn=columns?columns.get(fieldPosition===null||fieldPosition===void 0?void 0:fieldPosition.field):undefined;return Object(encoding_src["n"])(xColumn)};const getLayersWithScaleTypes=(layers,queries)=>new Layers_Layers(...layers.map((layer=>{const clonedLayer=layer.clone();const query=queries.findQuery(clonedLayer.getQueryKey());if(clonedLayer.encoding.position&&clonedLayer.encoding.position.x&&clonedLayer.encoding.position.y){clonedLayer.encoding.position.x.scale=getFieldPositionOrDefault(clonedLayer.encoding.position.x);clonedLayer.encoding.position.y.scale=getFieldPositionOrDefault(clonedLayer.encoding.position.y);if(clonedLayer.encoding.position.z){clonedLayer.encoding.position.z.scale=getFieldPositionOrDefault(clonedLayer.encoding.position.z)}if(clonedLayer.encoding.position.x.scale.type!==encoding_src["i"].SQUARE){clonedLayer.encoding.position.x.scale.type=getFieldPositionScaleType(query===null||query===void 0?void 0:query.getColumns(),clonedLayer.encoding.position.x)}if(clonedLayer.encoding.position.y.scale.type!==encoding_src["i"].SQUARE){clonedLayer.encoding.position.y.scale.type=getFieldPositionScaleType(query===null||query===void 0?void 0:query.getColumns(),clonedLayer.encoding.position.y)}if(clonedLayer.encoding.position.z)clonedLayer.encoding.position.z.scale.type=encoding_src["d"]}if(clonedLayer.encoding.x&&clonedLayer.encoding.y){clonedLayer.encoding.x.scale=getFieldPositionOrDefault(clonedLayer.encoding.x);clonedLayer.encoding.y.scale=getFieldPositionOrDefault(clonedLayer.encoding.y);if(clonedLayer.encoding.x.scale.type!==encoding_src["i"].SQUARE){clonedLayer.encoding.x.scale.type=getFieldPositionScaleType(query===null||query===void 0?void 0:query.getColumns(),clonedLayer.encoding.x)}if(clonedLayer.encoding.y.scale.type!==encoding_src["i"].SQUARE){clonedLayer.encoding.y.scale.type=getFieldPositionScaleType(query===null||query===void 0?void 0:query.getColumns(),clonedLayer.encoding.y)}}return clonedLayer})));var Translate=__webpack_require__(76);function onlyTargetRowset(zoom){return layer=>layer.getTargetRowset(zoom)}const DEFAULT_MAX_ZOOM=24;class Layers_Layers extends Array{constructor(){for(var _len=arguments.length,layers=new Array(_len),_key=0;_key<_len;_key++){layers[_key]=arguments[_key]}const ls=layers.filter((layer=>!!layer));super(...ls)}filter(filterFunc){const filteredItems=super.filter(filterFunc);return new Layers_Layers(...filteredItems)}getById(layerId){return this.find(hasId(layerId))}upsertLayer(newLayer){const newLayerWithTimestamp=new Layer_Layer({...newLayer,lastModified:new Date});const cloned=new Layers_Layers(...this);const layerIndex=Object(fp_["findIndex"])((layer=>layer.id===newLayer.id),this);if(layerIndex>-1){cloned.splice(layerIndex,1,newLayerWithTimestamp)}else{cloned.push(newLayerWithTimestamp)}return cloned}changeLayer(id,partialLayer){const cloned=new Layers_Layers(...this);const layerIndex=Object(fp_["findIndex"])((layer=>layer.id===id),this);if(layerIndex>-1){const newLayer=this[layerIndex].change({...partialLayer});cloned.splice(layerIndex,1,newLayer)}return cloned}getRowsets(){let zoom=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;let visualizationId=arguments.length>1?arguments[1]:undefined;if(zoom<0)return new Rowsets_Rowsets;const layers=this.filter(isFromVisualizationId(visualizationId));const targetRowsets=layers.map(onlyTargetRowset(zoom));const validRowsets=targetRowsets.filter((rowset=>!!rowset));return new Rowsets_Rowsets(...Object(fp_["uniqBy"])((rowset=>rowset.getId()),validRowsets))}getTargetRowsets(zoom){if(zoom===undefined||zoom<0)return new Rowsets_Rowsets;const layers=this.filter(hasData).filter(fromZoom(zoom));const targetRowsets=layers.map(onlyTargetRowset(zoom));const validRowsets=targetRowsets.filter((rowset=>!!rowset));return new Rowsets_Rowsets(...Object(fp_["uniqBy"])((rowset=>rowset.getId()),validRowsets))}getFromVisualization(visualizationId){if(!visualizationId)return new Layers_Layers;return this.filter(isFromVisualizationId(visualizationId))}getVisibleFromVisualization(visualizationId,zoom){return this.getFromVisualization(visualizationId).getVisibles(zoom)}getVisibles(zoom){return this.filter((layer=>layer.isVisible(zoom)))}renderable(rowsets){return this.filter((layer=>layer.shouldRender(rowsets)))}someWithZPosition(){return this.some((layer=>{var _layer$encoding,_layer$encoding$posit;return((_layer$encoding=layer.encoding)===null||_layer$encoding===void 0?void 0:(_layer$encoding$posit=_layer$encoding.position)===null||_layer$encoding$posit===void 0?void 0:_layer$encoding$posit.hasZ)&&layer.encoding.position.hasZ()}))}everyIsVega(){return this.length>0&&this.every((layer=>layer.isVega()))}changeLayerName(layerId,name){const cloned=new Layers_Layers(...this);const layerIndex=cloned.findIndex((layer=>layer.id===layerId));if(cloned[layerIndex]){const newLayer=cloned[layerIndex].clone();newLayer.name=name;cloned.splice(layerIndex,1,newLayer)}return cloned}moveLayer(layerId,steps){const cloned=new Layers_Layers(...this);const layerIndex=cloned.findIndex((layer=>layer.id===layerId));const element=cloned[layerIndex];cloned.splice(layerIndex,1);cloned.splice(layerIndex+steps,0,element);return cloned}deleteLayer(layerId){const cloned=new Layers_Layers(...this);const layerIndex=cloned.findIndex((layer=>layer.id===layerId));if(cloned[layerIndex]){cloned.splice(layerIndex,1)}return cloned}updateLastModified(){const cloned=new Layers_Layers;for(const layer of this){cloned.push(layer.clone())}return cloned}changeEncoding(id,specificEncoding,type){const cloned=new Layers_Layers(...this);const targetLayerIndex=cloned.findIndex((layer=>layer.id===id));const targetLayer=cloned[targetLayerIndex];if(targetLayer&&type){const clonedLayer=targetLayer.clone();cloned.splice(targetLayerIndex,1,clonedLayer);clonedLayer.encoding=new encoding_src["f"]({...targetLayer.encoding,[type]:specificEncoding})}return cloned}changeAnimation(id,params){const cloned=new Layers_Layers(...this);const layerIndex=cloned.findIndex((layer=>layer.id===id));if(cloned[layerIndex]){const newLayer=cloned[layerIndex].immutableSetAnimation(params);cloned.splice(layerIndex,1,newLayer)}return cloned}fillScaleTypes(queries){if(!(queries!==null&&queries!==void 0&&queries.length))return this;return getLayersWithScaleTypes(this,queries)}setMaxZoom(layer,visualizationZoomRange){var _layer$visible,_layer$visible$zoomRa,_layer$visible$zoomRa2,_layer$visible2,_layer$visible$zoomRa4;if((_layer$visible=layer.visible)!==null&&_layer$visible!==void 0&&(_layer$visible$zoomRa=_layer$visible.zoomRange)!==null&&_layer$visible$zoomRa!==void 0&&(_layer$visible$zoomRa2=_layer$visible$zoomRa.max)!==null&&_layer$visible$zoomRa2!==void 0&&_layer$visible$zoomRa2.relative){var _layer$visible$zoomRa3;const refLayer=this.getById((_layer$visible$zoomRa3=layer.visible.zoomRange.max)===null||_layer$visible$zoomRa3===void 0?void 0:_layer$visible$zoomRa3.relative.layer);if(refLayer){layer.visible.zoomRange.max.fixed={value:Object(Translate["a"])(refLayer,layer.visible.zoomRange.max)}}}if((_layer$visible2=layer.visible)!==null&&_layer$visible2!==void 0&&_layer$visible2.zoomRange&&!((_layer$visible$zoomRa4=layer.visible.zoomRange.max)!==null&&_layer$visible$zoomRa4!==void 0&&_layer$visible$zoomRa4.fixed)){var _visualizationZoomRan,_visualizationZoomRan2,_visualizationZoomRan3;layer.visible.zoomRange.max={...layer.visible.zoomRange.max,fixed:{value:(_visualizationZoomRan=visualizationZoomRange===null||visualizationZoomRange===void 0?void 0:(_visualizationZoomRan2=visualizationZoomRange.max)===null||_visualizationZoomRan2===void 0?void 0:(_visualizationZoomRan3=_visualizationZoomRan2.fixed)===null||_visualizationZoomRan3===void 0?void 0:_visualizationZoomRan3.value)!==null&&_visualizationZoomRan!==void 0?_visualizationZoomRan:DEFAULT_MAX_ZOOM}}}}setMinZoom(layer,visualizationZoomRange){var _layer$visible3,_layer$visible3$zoomR,_layer$visible3$zoomR2,_layer$visible4,_layer$visible$zoomRa6;if((_layer$visible3=layer.visible)!==null&&_layer$visible3!==void 0&&(_layer$visible3$zoomR=_layer$visible3.zoomRange)!==null&&_layer$visible3$zoomR!==void 0&&(_layer$visible3$zoomR2=_layer$visible3$zoomR.min)!==null&&_layer$visible3$zoomR2!==void 0&&_layer$visible3$zoomR2.relative){var _layer$visible$zoomRa5;const refLayer=this.getById((_layer$visible$zoomRa5=layer.visible.zoomRange.min)===null||_layer$visible$zoomRa5===void 0?void 0:_layer$visible$zoomRa5.relative.layer);if(refLayer){layer.visible.zoomRange.min.fixed={value:Object(Translate["a"])(refLayer,layer.visible.zoomRange.min)}}}if((_layer$visible4=layer.visible)!==null&&_layer$visible4!==void 0&&_layer$visible4.zoomRange&&!((_layer$visible$zoomRa6=layer.visible.zoomRange.min)!==null&&_layer$visible$zoomRa6!==void 0&&_layer$visible$zoomRa6.fixed)){var _visualizationZoomRan4,_visualizationZoomRan5,_visualizationZoomRan6;layer.visible.zoomRange.min={...layer.visible.zoomRange.min,fixed:{value:(_visualizationZoomRan4=visualizationZoomRange===null||visualizationZoomRange===void 0?void 0:(_visualizationZoomRan5=visualizationZoomRange.min)===null||_visualizationZoomRan5===void 0?void 0:(_visualizationZoomRan6=_visualizationZoomRan5.fixed)===null||_visualizationZoomRan6===void 0?void 0:_visualizationZoomRan6.value)!==null&&_visualizationZoomRan4!==void 0?_visualizationZoomRan4:0}}}}fillZooms(visualizations){const cloned=new Layers_Layers(...this);cloned.forEach((layer=>{const visualization=visualizations.getById(layer._visualization);this.setMinZoom(layer,visualization===null||visualization===void 0?void 0:visualization.zoomRange);this.setMaxZoom(layer,visualization===null||visualization===void 0?void 0:visualization.zoomRange)}));return cloned}replaceLayer(layer){const cloned=new Layers_Layers(...this);const layerIndex=cloned.findIndex((l=>l.id===layer.id));if(layerIndex>-1){cloned.splice(layerIndex,1,layer)}return cloned}}const getLayersFromVisualizations=response=>{const visualizations=Object(fp_["get"])("app.visualizations",response);const visualizationsLayers=visualizations.map(((visualization,index)=>{const layers=Object(fp_["get"])(["layers"],visualization)||[];return layers.map((layer=>({...layer,_visualization:index.toString()})))}),visualizations);return Object(fp_["flatten"])(visualizationsLayers)};const parseLayers=response=>{const layers=Object(external_class_transformer_["plainToClass"])(Layer_Layer,getLayersFromVisualizations(response))||new Layers_Layers;return new Layers_Layers(...layers)};var image_src=__webpack_require__(69);const drawBoundsFromCentroid=function(centroid,size){let ratio=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;const widthDelta=size/2;const heightDelta=size*ratio/2;return[[centroid[0]-widthDelta,centroid[1]+heightDelta],[centroid[0]-widthDelta,centroid[1]-heightDelta],[centroid[0]+widthDelta,centroid[1]-heightDelta],[centroid[0]+widthDelta,centroid[1]+heightDelta],[centroid[0]-widthDelta,centroid[1]+heightDelta]]};class ImageTransform_ImageTransform{constructor(props){this.field=void 0;Object.assign(this,props)}async transform(viewState,world,row,position,centroid){const diff=await this.getDiff(viewState,world,row,position,centroid);return new dataset_src["i"]({...row,...diff})}async getDiff(viewState,world,row,position,centroid){var _position$x;if(!position.is2D())return{};let ratio=1;if(row[this.field]){const meta=await Object(image_src["a"])(row[this.field]);ratio=meta.ratio}if(!((_position$x=position.x)!==null&&_position$x!==void 0&&_position$x.field))return{};return{[position.x.field]:drawBoundsFromCentroid(centroid,100,ratio).map((coordinate=>viewState.unProjectCoordinate(world,coordinate)))}}}var external_moment_=__webpack_require__(75);var external_moment_default=__webpack_require__.n(external_moment_);var Filter=__webpack_require__(48);var RangeFilter_dec,RangeFilter_dec2,RangeFilter_dec3,RangeFilter_dec4,RangeFilter_dec5,RangeFilter_dec6,RangeFilter_class,RangeFilter_descriptor,RangeFilter_descriptor2,RangeFilter_descriptor3,RangeFilter_descriptor4,RangeFilter_descriptor5;let RangeFilter_RangeFilter=(RangeFilter_dec=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),RangeFilter_dec2=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),RangeFilter_dec3=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),RangeFilter_dec4=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),RangeFilter_dec5=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),RangeFilter_dec6=Object(external_class_transformer_["Expose"])(),RangeFilter_class=class RangeFilter{constructor(props){this.type=void 0;this.hidden=void 0;this.field=void 0;Object(initializerDefineProperty["a"])(this,"data",RangeFilter_descriptor,this);Object(initializerDefineProperty["a"])(this,"visualizationId",RangeFilter_descriptor2,this);Object(initializerDefineProperty["a"])(this,"required",RangeFilter_descriptor3,this);Object(initializerDefineProperty["a"])(this,"_values",RangeFilter_descriptor4,this);Object(initializerDefineProperty["a"])(this,"_options",RangeFilter_descriptor5,this);if(!props)return;if(props)Object.assign(this,props);this.values=props.values?new spatial_src["e"](props.values):new spatial_src["e"];this.options=props.options?new spatial_src["e"](props.options):new spatial_src["e"];if(!props.type)this.type=Filter["a"].RANGE}get values(){return this._values}set values(values){this._values=values}get options(){return this._options}set options(options){this._options=options}clone(){return new RangeFilter(this)}hasValues(){return this.values&&this.values.hasValues()}withValues(values){const cloned=this.clone();cloned.values=values;return cloned}toggleValue(value){this.values=value;return this}isRanged(){return true}toPlain(){const plain=Object(external_class_transformer_["classToPlain"])(this);return{...plain,values:[this.values.min,this.values.max]}}},RangeFilter_descriptor=Object(applyDecoratedDescriptor["a"])(RangeFilter_class.prototype,"data",[RangeFilter_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),RangeFilter_descriptor2=Object(applyDecoratedDescriptor["a"])(RangeFilter_class.prototype,"visualizationId",[RangeFilter_dec2],{configurable:true,enumerable:true,writable:true,initializer:null}),RangeFilter_descriptor3=Object(applyDecoratedDescriptor["a"])(RangeFilter_class.prototype,"required",[RangeFilter_dec3],{configurable:true,enumerable:true,writable:true,initializer:null}),RangeFilter_descriptor4=Object(applyDecoratedDescriptor["a"])(RangeFilter_class.prototype,"_values",[RangeFilter_dec4],{configurable:true,enumerable:true,writable:true,initializer:function(){return new spatial_src["e"]}}),RangeFilter_descriptor5=Object(applyDecoratedDescriptor["a"])(RangeFilter_class.prototype,"_options",[RangeFilter_dec5],{configurable:true,enumerable:true,writable:true,initializer:function(){return new spatial_src["e"]}}),Object(applyDecoratedDescriptor["a"])(RangeFilter_class.prototype,"values",[RangeFilter_dec6],Object.getOwnPropertyDescriptor(RangeFilter_class.prototype,"values"),RangeFilter_class.prototype),RangeFilter_class);var CategoricalFilter=__webpack_require__(49);class Filters_Filters extends Array{clone(){return new Filters_Filters(...this)}renderables(){const filters=this.filter((filter=>!filter.hidden));return new Filters_Filters(...filters)}exists(field,visualizationId){const filter=this.find((f=>{if(visualizationId)return f.field===field&&f.visualizationId===visualizationId;return f.field===field}));return!!filter}getByField(field){return this.find((filter=>filter.field===field))}getFromVisualization(visualizationId){const filters=this.filter((filter=>filter.visualizationId===visualizationId));return new Filters_Filters(...filters)}getSingleChoices(){const singleChoices=this.filter((filter=>filter.singleChoice));return new Filters_Filters(...singleChoices)}getWithValues(){const withSelecteds=this.filter((filter=>filter.hasValues()));return new Filters_Filters(...withSelecteds)}update(filter){const cloned=this.clone();const filterIndex=Object(fp_["findIndex"])({field:filter.field,visualizationId:filter.visualizationId},this);cloned.splice(filterIndex,1,filter);return cloned}upsert(filter){const cloned=this.clone();const filterIndex=Object(fp_["findIndex"])({field:filter.field,visualizationId:filter.visualizationId},this);if(filterIndex>=0){cloned.splice(filterIndex,1,filter)}else{cloned.push(filter)}return cloned}upsertList(filters){let cloned=this.clone();for(const filter of filters){cloned=cloned.upsert(filter)}return cloned}selectedValues(){return this.reduce(((values,filter)=>{if(filter instanceof CategoricalFilter["a"]){return[...values,...filter.values]}if(filter instanceof RangeFilter_RangeFilter&&(!!filter.values.min||!!filter.values.max)){return[...values,filter.values]}return values}),new Array)}categoricalSelectedValues(){return this.reduce(((values,filter)=>{if(filter instanceof CategoricalFilter["a"]){return[...values,...filter.values]}return values}),new Array)}someCategoricalWithSelectedWithoutDefaults(){return this.some((filter=>filter instanceof CategoricalFilter["a"]&&filter.getValuesWithoutDefaults().length>0))}clearCategoricalSelecteds(){const clear=this.map((filter=>{if(filter instanceof CategoricalFilter["a"]){const cloned=filter.clone();cloned.values=[];return cloned}return filter}));return new Filters_Filters(...clear)}overwrite(filters){const overwritten=new Filters_Filters;this.forEach((filter=>{const existingFilter=filters.getByField(filter.field);if(existingFilter){return overwritten.push(filter.withValues(existingFilter.values))}return overwritten.push(filter)}));return overwritten}mergeKeepingHidden(newFilters){const merged=this.overwrite(newFilters);newFilters.filter((filter=>!merged.exists(filter.field,filter.visualizationId))).forEach((filter=>filter.hidden&&merged.push(filter)));return merged}mergeVisualizations(visualizationId,sourceVisualization){if(!sourceVisualization){return this}const sourceFilters=this.getFromVisualization(sourceVisualization);const mergedFilters=new Filters_Filters;this.forEach((filter=>{if(filter.visualizationId!==visualizationId){mergedFilters.push(filter);return}const sameOnSourceFilters=sourceFilters.getByField(filter.field);if(sameOnSourceFilters){mergedFilters.push(filter.withValues(sameOnSourceFilters.values));return}mergedFilters.push(filter);return}));return mergedFilters}withoutHiddenFromVisualizations(visualizationId){const filters=this.filter((filter=>!(filter.hidden&&filter.visualizationId===visualizationId)));return new Filters_Filters(...filters)}getNonSingleChoice(){const filters=this.filter((filter=>!filter.singleChoice));return new Filters_Filters(...filters)}}var domain_Filters=Filters_Filters;const getDefaultSelectedValues=(plainFilter,column)=>{if(plainFilter.selectedValues)return plainFilter.selectedValues;const filterType=plainFilter.type&&plainFilter.type.toLowerCase();if(filterType===Filter["a"].RANGE&&(column===null||column===void 0?void 0:column.getType())===dataset_src["b"].DATETIME&&column.stats){const momentMax=external_moment_default()(column.stats.max);return new spatial_src["e"]({min:momentMax.subtract(1,"months").valueOf(),max:column.stats.max})}else if(filterType===Filter["a"].RANGE){return new spatial_src["e"]}return[]};const getDefaultOptions=(filter,column)=>{const filterType=filter.type&&filter.type.toLowerCase();if(filterType===Filter["a"].RANGE&&column!==null&&column!==void 0&&column.stats){return new spatial_src["e"]({min:column.stats.min,max:column.stats.max})}return filter.values};const createPlainFilter=(filterType,filter,column)=>({type:filterType,singleChoice:filter.singleChoice,required:filter.required,exactMatch:filter.exactMatch,field:filter.field,data:filter.data,visualizationId:filter.visualizationId,options:getDefaultOptions(filter,column),values:getDefaultSelectedValues(filter,column)});const parseFilters=(response,queries)=>{const visualizations=Object(fp_["get"])("app.visualizations",response);const visualizationsWithFilters=visualizations.filter((visualization=>visualization.filters));const visualizationsFilters=Object(fp_["flatMap"])((visualization=>visualization.filters.map((filter=>({...filter,visualizationId:visualization.id})))),visualizationsWithFilters);const validVisualizationsFilters=visualizationsFilters.filter((filter=>{const query=queries.findQuery(filter.data);if(!query)return false;return query.getColumns().get(filter.field)}));const filters=validVisualizationsFilters.map((filter=>{const query=queries.findQuery(filter.data);const column=query===null||query===void 0?void 0:query.getColumns().get(filter.field);const filterType=filter.type&&filter.type.toLowerCase();const plainFilter=createPlainFilter(filterType,filter,column);if(plainFilter.type===Filter["a"].RANGE)return new RangeFilter_RangeFilter(plainFilter);return new CategoricalFilter["a"](plainFilter)}));return new domain_Filters(...filters)};let AppApiErrorType;(function(AppApiErrorType){AppApiErrorType["FETCHING_APP"]="Error fetching app";AppApiErrorType["FETCHING_TABLE"]="Error fetching query"})(AppApiErrorType||(AppApiErrorType={}));class AppApiError extends Error{constructor(type,response){super(`AppApiError: ${type}`);this.type=void 0;this.response=void 0;this.type=type;this.response=response}isAppResourceError(){return this.type===AppApiErrorType.FETCHING_APP}}const getLegendsFromVisualizations=response=>{const visualizations=Object(fp_["get"])("app.visualizations",response);const visualizationsLegends=visualizations.map((visualization=>{var _get;const legends=(_get=Object(fp_["get"])(["legends"],visualization))!==null&&_get!==void 0?_get:[];return legends.map((legend=>({visualizationId:visualization.id,layer:legend.layer})))}));return Object(fp_["flatten"])(visualizationsLegends)};const getAxesFromVisualizations=response=>{const visualizations=Object(fp_["get"])("app.visualizations",response);return visualizations.map((visualization=>{var _get2;let axesList=(_get2=Object(fp_["get"])(["axes"],visualization))!==null&&_get2!==void 0?_get2:[];if(!Array.isArray(axesList)){axesList=[]}return axesList.map((axes=>({...axes,visualizationId:visualization.id})))})).flat()};const parseApp=response=>{const plain=Object(fp_["get"])("app",response);return Object(external_class_transformer_["plainToClass"])(App_App,plain,{excludeExtraneousValues:true})};const parseVisualizations=response=>{const visualizations=Object(external_class_transformer_["plainToClass"])(Visualization["b"],Object(fp_["get"])("app.visualizations",response),{excludeExtraneousValues:true})||new visualization_Visualizations;return new visualization_Visualizations(...visualizations)};const parseLegends=response=>{var _plainToClass;const legends=(_plainToClass=Object(external_class_transformer_["plainToClass"])(Legend,getLegendsFromVisualizations(response)))!==null&&_plainToClass!==void 0?_plainToClass:[];return new Legends(...legends)};const parseAxesList=response=>new AxesList(...getAxesFromVisualizations(response));const parseQueries=response=>{const queries=Object(fp_["get"])("queries",response);return new dataset_src["g"](...Object(external_class_transformer_["plainToClass"])(dataset_src["h"],queries))};const getPlaceTransform=plainPlaceTransform=>{if(!(plainPlaceTransform!==null&&plainPlaceTransform!==void 0&&plainPlaceTransform.image))return undefined;return new ImageTransform_ImageTransform(plainPlaceTransform.image)};const parseDataBrowsers=response=>{let visualizations=Object(fp_["get"])("app.visualizations",response);visualizations=visualizations.filter((visualization=>!!visualization.dataBrowsers));const dataBrowsers=Object(fp_["flatMap"])((visualization=>visualization.dataBrowsers.map((dataBrowser=>new data_browser_DataBrowser({...dataBrowser,visualization:visualization.id,list:dataBrowser.list?{...dataBrowser.list,encoding:dataBrowser.list.encoding?new encoding_src["f"](dataBrowser.list.encoding):undefined}:undefined,drag:dataBrowser.drag?{placeTransform:getPlaceTransform(dataBrowser.drag.placeTransform)}:undefined})))),visualizations);return new data_browser_DataBrowsers(...dataBrowsers)};const parseResponse=response=>{const queries=parseQueries(response);return{app:parseApp(response),schema:Object(fp_["get"])("schema",response),history:Object(fp_["get"])("history",response),queries,layers:parseLayers(response),legends:parseLegends(response),axesList:parseAxesList(response),visualizations:parseVisualizations(response),filters:parseFilters(response,queries),dataBrowsers:parseDataBrowsers(response)}};async function getApp(application,version,authorization){const response=await Object(http_client_src["b"])(config_src["a"].getValue("BFF_API_ADDRESS",authorization.tenant),`/app/${application}`,{version,filterValueLimit:6},authorization);const body=await response.json();return parseResponse(body)}function getApps(authorization){return Object(http_client_src["b"])(config_src["a"].getValue("APP_API_ADDRESS"),`/app`,{},authorization).then((res=>res.json()))}function deleteApp(appId,authorization){return Object(http_client_src["a"])(config_src["a"].getValue("APP_API_ADDRESS"),`/app/${appId}`,{},authorization).then((res=>res.json()))}function updateAppName(appId,name,authorization){return Object(http_client_src["d"])(config_src["a"].getValue("APP_API_ADDRESS"),`/app/${appId}/name`,{name},{},authorization).then((res=>res.json()))}function rollbackAppVersion(appId,version,authorization){return Object(http_client_src["d"])(config_src["a"].getValue("APP_API_ADDRESS"),`/app/${appId}/rollback`,{version},{},authorization).then((res=>res.json()))}function listAppHistory(appId,authorization){return Object(http_client_src["b"])(config_src["a"].getValue("APP_API_ADDRESS"),`/app/${appId}/history`,{},authorization).then((res=>res.json()))}var ViewState=__webpack_require__(60);class ViewStates_ViewStates extends Array{clone(){return new ViewStates_ViewStates(...this)}getFromVisualization(visualizationId){const viewState=this.find((vs=>vs.visualizationId===visualizationId));if(!visualizationId||!viewState){throw new Error("Cannot find a viewState")}return viewState}withUpdatedViewState(newViewState){if(!newViewState)return this;const cloned=this.clone();const viewStateIndex=Object(fp_["findIndex"])({visualizationId:newViewState.visualizationId},this);cloned.splice(viewStateIndex,1,newViewState);return cloned}transitionToPosition(visualizationId,position,duration){const cloned=this.clone();const viewStateIndex=Object(fp_["findIndex"])({visualizationId},this);const newViewState=this[viewStateIndex].transition(position,duration);cloned.splice(viewStateIndex,1,newViewState);return cloned}updateZ(visualizationId,z){const cloned=this.clone();const viewStateIndex=Object(fp_["findIndex"])({visualizationId},this);const newViewState=this[viewStateIndex].clone();newViewState.coordinates.z=z;cloned.splice(viewStateIndex,1,newViewState);return cloned}zoom(visualizationId,zoomJumpSize){const cloned=this.clone();const viewStateIndex=Object(fp_["findIndex"])({visualizationId},this);const newZoom=this[viewStateIndex].zoom+zoomJumpSize;const newViewState=this[viewStateIndex].zoomTransition(newZoom);cloned.splice(viewStateIndex,1,newViewState);return cloned}resetPosition(visualizationId){const cloned=this.clone();const viewStateIndex=Object(fp_["findIndex"])({visualizationId},cloned);const newViewState=cloned[viewStateIndex].resetPosition();cloned.splice(viewStateIndex,1,newViewState);return cloned}}var view_state_ViewStates=ViewStates_ViewStates;let AppsStatus;(function(AppsStatus){AppsStatus["IDLE"]="IDLE";AppsStatus["LOADING"]="LOADING";AppsStatus["DIRTY"]="DIRTY";AppsStatus["SAVING"]="SAVING";AppsStatus["UPDATED"]="UPDATED";AppsStatus["ERROR"]="ERROR"})(AppsStatus||(AppsStatus={}));class AppsStore{constructor(){this.status=void 0;this.apps=void 0;for(var _len=arguments.length,apps=new Array(_len),_key=0;_key<_len;_key++){apps[_key]=arguments[_key]}this.apps=apps;this.status=AppsStatus.IDLE}immutableSetStatus(value){const cloned=this.clone();cloned.status=value;return cloned}is(status){return this.status===status}clone(){const cloned=new AppsStore(...this.apps);cloned.status=this.status;return cloned}immutableRemoveApp(appId){const cloned=this.clone();cloned.apps=cloned.apps.filter((app=>app.id!==appId));return cloned}}var state_AppsStore=AppsStore;var external_typesafe_actions_=__webpack_require__(2);let DragMode;(function(DragMode){DragMode["PAN"]="pan";DragMode["ROTATE"]="rotate"})(DragMode||(DragMode={}));const DEFAULT_DRAG_MODE=DragMode.PAN;class ViewController{constructor(props){this.visualizationId=void 0;this.dragMode=void 0;this.dragPan=void 0;Object.assign(this,props);if(!this.dragMode)this.dragMode=DEFAULT_DRAG_MODE;if(props.dragPan!==false)this.dragPan=true}clone(){return new ViewController(this)}reset(){return new ViewController({visualizationId:this.visualizationId,dragMode:DEFAULT_DRAG_MODE,dragPan:true})}immutableToggleDragMode(){const cloned=this.clone();if(this.dragMode===DragMode.PAN){cloned.dragMode=DragMode.ROTATE}else{cloned.dragMode=DragMode.PAN}return cloned}isRotateMode(){return this.dragMode===DragMode.ROTATE}}class ViewControllers_ViewControllers extends Array{constructor(){for(var _len=arguments.length,viewControllers=new Array(_len),_key=0;_key<_len;_key++){viewControllers[_key]=arguments[_key]}const vs=viewControllers.map((viewController=>new ViewController(viewController)));super(...vs)}getFromVisualization(visualizationId){if(!visualizationId)return;return this.find((viewController=>viewController.visualizationId===visualizationId))}immutableToggleDragMode(visualizationId){const viewControllerIndex=Object(fp_["findIndex"])((viewController=>viewController.visualizationId===visualizationId),this);if(viewControllerIndex>-1){const cloned=new ViewControllers_ViewControllers(...this);const newViewController=this[viewControllerIndex].immutableToggleDragMode();cloned.splice(viewControllerIndex,1,newViewController);return cloned}return this}}class Worlds extends Array{clone(){return new Worlds(...this)}getFromVisualization(visualizationId){if(!visualizationId)return;return this.find((world=>world.visualizationId===visualizationId))}withInitialDimensions(dimensions){if(!dimensions)return this;const cloned=new Worlds(...this.map((world=>world.clone().withInitialDimensions(dimensions))));return cloned}immutableUpdateWorld(world){const worldIndex=this.findIndex((w=>w.visualizationId===world.visualizationId));if(!world||worldIndex<0)return this;let cloned=this.clone();if(world.hasInitialDimentions()){cloned=new Worlds(...cloned.map((w=>w.withInitialDimensions(world.getInitialDimentions()))))}cloned.splice(worldIndex,1,world);return cloned}immutableResetWorldFromVisualization(visualizationId){const cloned=this.clone();const worldIndex=cloned.findIndex((world=>world.visualizationId===visualizationId));const world=cloned[worldIndex].clone();world.scaleDomains=undefined;cloned.splice(worldIndex,1,world);return cloned}}const getViewStates=(visualizations,params)=>{const viewStates=visualizations.map((visualization=>{const isParamsForVisualization=params&¶ms.visualization===visualization.id;return new ViewState["a"]({visualizationId:visualization.id,zoomRange:visualization.zoomRange,coordinates:isParamsForVisualization&¶ms!==null&¶ms!==void 0&¶ms.coordinates?Object(ViewState["b"])(params===null||params===void 0?void 0:params.coordinates,visualizations.getCurrent()):visualization.getInitialCoordinates(),zoom:isParamsForVisualization&&(params===null||params===void 0?void 0:params.zoom)!==undefined?params===null||params===void 0?void 0:params.zoom:visualization.getInitialZoom(),bearing:isParamsForVisualization&&(params===null||params===void 0?void 0:params.bearing)!==undefined?params===null||params===void 0?void 0:params.bearing:visualization.getInitialBearing(),zoomBehavior:visualization.zoomBehavior})}));return new view_state_ViewStates(...viewStates)};const getViewControllers=visualizations=>{const viewControllers=visualizations.map((visualization=>new ViewController({visualizationId:visualization.id})));return new ViewControllers_ViewControllers(...viewControllers)};const getMergedFilters=(response,params)=>{var _params$filters;if(params!==null&¶ms!==void 0&&(_params$filters=params.filters)!==null&&_params$filters!==void 0&&_params$filters.length&¶ms.filters.length>0){return response.filters.mergeKeepingHidden(params.filters)}return response.filters};const getWorlds=visualizations=>new Worlds(...visualizations.map((visualization=>new World["a"]({visualizationId:visualization.id,type:visualization.type,sizeRatio:visualization.getSizeRatio()}))));const getMergedViewStates=(viewStates,worlds,oldViewStates,oldWorlds)=>{if(!(oldViewStates!==null&&oldViewStates!==void 0&&oldViewStates.length)||!(oldWorlds!==null&&oldWorlds!==void 0&&oldWorlds.length))return viewStates;return new view_state_ViewStates(...viewStates.map((viewState=>{const world=worlds.getFromVisualization(viewState.visualizationId);const oldWorld=oldWorlds===null||oldWorlds===void 0?void 0:oldWorlds.getFromVisualization(viewState.visualizationId);if((world===null||world===void 0?void 0:world.type)!==(oldWorld===null||oldWorld===void 0?void 0:oldWorld.type))return viewState;const oldViewState=oldViewStates.find((v=>v.visualizationId===viewState.visualizationId));if(!oldViewState)return viewState;return oldViewState})))};const responseToAction=(response,params,oldViewStates,oldWorlds)=>{if(!response)return{};const mergedFilters=getMergedFilters(response,params);const viewStates=getViewStates(response.visualizations,params);const worlds=getWorlds(response.visualizations);const mergedViewStates=getMergedViewStates(viewStates,worlds,oldViewStates,oldWorlds);return{...response,worlds,filters:mergedFilters,viewStates:mergedViewStates,visualizations:response.visualizations,viewControllers:getViewControllers(response.visualizations),version:params===null||params===void 0?void 0:params.version}};const getParams=action=>{var _action$payload$initi,_action$payload$initi2;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].app.appPageLoaded):return action.payload.params;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.checkoutVersion.request):return{appId:action.payload.appId,version:action.payload.version};case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):return{appId:action.payload.appId,coordinates:action.payload.initialPosition?new spatial_src["c"](action.payload.initialPosition):undefined,bearing:(_action$payload$initi=action.payload.initialPosition)===null||_action$payload$initi===void 0?void 0:_action$payload$initi.bearing,zoom:(_action$payload$initi2=action.payload.initialPosition)===null||_action$payload$initi2===void 0?void 0:_action$payload$initi2.zoom,visualization:action.payload.initialPosition?"0":undefined};default:return{appId:action.payload.appId}}};function*fetchApp(action){const authorization=yield Object(effects_["select"])((store=>store.authorization));const viewStates=yield Object(effects_["select"])((store=>store.viewStates));const worlds=yield Object(effects_["select"])((store=>store.worlds));const params=getParams(action);try{const appResponse=yield Object(effects_["call"])(getApp,params.appId,params.version,authorization);yield Object(effects_["put"])(Actions["a"].app.fetch.success(responseToAction(appResponse,params,viewStates,worlds)))}catch(e){if(e instanceof AppApiError){yield Object(effects_["put"])(Actions["a"].app.fetch.failure({exception:e,...responseToAction(e.response,params,viewStates,worlds)}))}else{yield Object(effects_["put"])(Actions["a"].app.fetch.failure({exception:e}))}}}function*fetchApps(){try{const authorization=yield Object(effects_["select"])((store=>store.authorization));const payload=yield Object(effects_["call"])(getApps,authorization);yield Object(effects_["put"])(Actions["a"].apps.fetch.success({appsStore:new state_AppsStore(...payload)}))}catch(e){yield Object(effects_["put"])(Actions["a"].apps.fetch.failure({exception:e}))}}var Toast=__webpack_require__(30);function getRowsetsToFetch(candidateRowsets,rowsetStore,viewState,world){const nonexistent=Object(fp_["differenceBy"])((r=>r.getId()),candidateRowsets,rowsetStore.getRowsets());const empty=Object(fp_["intersectionBy"])((r=>r.getId()),candidateRowsets,rowsetStore.getEmptyRowsets());const newData=Object(fp_["uniqBy"])((r=>r.getId()),Object(fp_["unionWith"])(fp_["isEqual"],nonexistent,empty));const fetchAgainData=Object(fp_["intersectionBy"])((r=>r.getId()),candidateRowsets,rowsetStore.getRowsetsToFetchAgain(viewState,world));const rowsetsToFetch=Object(fp_["uniqBy"])((r=>r.getId()),Object(fp_["unionWith"])(fp_["isEqual"],fetchAgainData,newData));return new Rowsets_Rowsets(...rowsetsToFetch)}function getVisibleRowsetsToFetch(layers,rowsetStore,viewState,visualization,world){return new Rowsets_Rowsets(...getRowsetsToFetch(layers.getFromVisualization(visualization.id).getTargetRowsets(viewState.zoom),rowsetStore,viewState,world))}function shouldFetchRowset(rowset,rowsetStore,viewState,world){if(!rowset)return false;return getRowsetsToFetch([rowset],rowsetStore,viewState,world).length>0}let prefetchThreshold=2;function setPrefetchThreshold(newPrefetchThreshold){return prefetchThreshold=newPrefetchThreshold}function getPrefetchThreshold(){return prefetchThreshold}function getZoomFetch(layer,rowsetStore,viewState,world,currentZoomLevel,targetZoomLevel){const targetViewState=viewState.withZoom(targetZoomLevel);const targetRowset=layer.getTargetRowset(targetZoomLevel);const currentRowset=layer.getTargetRowset(currentZoomLevel);if(targetRowset&¤tRowset){if(targetRowset.resolution>currentRowset.resolution){const nextResolution=(currentRowset===null||currentRowset===void 0?void 0:currentRowset.resolution)+1;targetRowset.resolution=nextResolution>layer.getResolutions().getMax()?layer.getResolutions().getMax():nextResolution}else if(targetRowset.resolution<currentRowset.resolution){const previousResolution=(currentRowset===null||currentRowset===void 0?void 0:currentRowset.resolution)-1;targetRowset.resolution=previousResolution<layer.getResolutions().getMin()?layer.getResolutions().getMin():previousResolution}}if(shouldFetchRowset(targetRowset,rowsetStore,targetViewState,world)){return{rowset:targetRowset,targetViewState}}}function getZoomFetchs(layers,rowsetStore,viewState,world,zoomLevel,targetZoomLevel){const zoomLayers=layers.filter(fromZoom(targetZoomLevel));return zoomLayers.map((layer=>getZoomFetch(layer,rowsetStore,viewState,world,zoomLevel,targetZoomLevel)))}function getZoomInPreFetchs(layers,rowsetStore,viewState,world){let zoomInPrefetchs=[];for(let i=1;i<=getPrefetchThreshold();i++){const zoomFetchs=getZoomFetchs(layers,rowsetStore,viewState,world,viewState.zoom,viewState.zoom+i);zoomInPrefetchs=zoomInPrefetchs.concat(zoomFetchs)}return zoomInPrefetchs}const prefetchRowsetId=prefetch=>{var _prefetch$rowset;return prefetch&&((_prefetch$rowset=prefetch.rowset)===null||_prefetch$rowset===void 0?void 0:_prefetch$rowset.getId())};function getPrefetchs(layers,rowsetStore,viewState,visualization,world){if(!viewState)return[];const visualizationLayers=layers.getFromVisualization(visualization.id);const zoomInPrefetchs=getZoomInPreFetchs(visualizationLayers,rowsetStore,viewState,world);const possiblePrefetchs=Object(fp_["uniqBy"])(prefetchRowsetId,zoomInPrefetchs);const zoomFetchs=getZoomFetchs(visualizationLayers,rowsetStore,viewState,world,viewState.zoom,viewState.zoom);const prefetchs=Object(fp_["differenceBy"])((prefetch=>{var _prefetch$rowset2;return prefetch&&((_prefetch$rowset2=prefetch.rowset)===null||_prefetch$rowset2===void 0?void 0:_prefetch$rowset2.getId())}),possiblePrefetchs,zoomFetchs);return prefetchs.filter((prefetch=>!!prefetch))}function getBleedMultiplier(){return 2}function getFetchBox(visibleWorld){if(!visibleWorld)return;return visibleWorld.multiply(getBleedMultiplier())}var DatasetService=__webpack_require__(74);var BoxToFilter=__webpack_require__(82);var projector_src=__webpack_require__(44);const getAuthorization=store=>store.authorization;const RowsetSaga_getApp=store=>store.appStore.app;const getRowsetStore=store=>store.rowsetStore;const RowsetSaga_getViewStates=store=>store.viewStates;const getLayers=store=>store.layers;const getFilterState=store=>store.filters;const getVisualizations=store=>store.visualizations;const getQueriesStore=store=>store.queryStore;const getProjectorStore=store=>store.projectorStore;const RowsetSaga_getWorlds=store=>store.worlds;function*showGenericErrorFeedback(){Object(Toast["a"])("An error has occurred.")}function*getPayloadFilters(action){let filters;if(Object(external_typesafe_actions_["isActionOf"])([Actions["a"].filter.sidebarFiltersClear,Actions["a"].filter.filterToggle],action)){filters=action.payload.filters}if(!filters){var _select;filters=yield(_select=Object(effects_["select"])(getFilterState))!==null&&_select!==void 0?_select:new domain_Filters}return{filters}}function*refreshData(action){const rowsetStore=yield Object(effects_["select"])(getRowsetStore);const layers=yield Object(effects_["select"])(getLayers);const visualizations=yield Object(effects_["select"])(getVisualizations);const app=yield Object(effects_["select"])(RowsetSaga_getApp);const worlds=yield Object(effects_["select"])(RowsetSaga_getWorlds);const visualization=action.payload.toVisualization||visualizations.getCurrent();let viewStates=action.payload.viewStates;if(!viewStates){viewStates=yield Object(effects_["select"])(RowsetSaga_getViewStates)}const viewState=viewStates.getFromVisualization(visualization.id);const world=worlds.getFromVisualization(visualization.id);if(!viewState||!world){throw new Error("Cannot refresh data without a view state and world")}const queryStore=yield Object(effects_["select"])(getQueriesStore);const subscribeQueries=new dataset_src["g"];const{filters}=yield getPayloadFilters(action);const rowsets=getVisibleRowsetsToFetch(layers,rowsetStore,viewState,visualization,world);if(rowsets.length>0){for(const rowset of rowsets){yield Object(effects_["put"])(Actions["a"].rowset.fetchDataRequested({app,visualization,rowset,viewState,filters}));const query=queryStore.queries.findQuery(rowset.getData());if(query){subscribeQueries.push(query)}}}yield Object(effects_["put"])(Actions["a"].update.subscribe({filters,queries:subscribeQueries}));const prefetchs=getPrefetchs(layers,rowsetStore,viewState,visualization,world);for(const prefetch of prefetchs){yield Object(effects_["put"])(Actions["a"].rowset.fetchDataRequested({app,visualization,rowset:prefetch.rowset,viewState:prefetch.targetViewState,filters}))}}const getSelectedFilters=(filterState,visualization)=>{if(!filterState)return new domain_Filters;return filterState.getFromVisualization(visualization.id).getWithValues()};const getFilters=(filters,visualization,rowset,modelBoxFilters)=>{const selectedFilters=getSelectedFilters(filters,visualization).map((f=>f.toPlain()));selectedFilters.push(...modelBoxFilters);return selectedFilters};function getTransformParams(rowset){if(rowset.transform){return{type:rowset.transform.getType(),resolution:rowset.resolution}}return undefined}function*fetchData(action){const authorization=yield Object(effects_["select"])(getAuthorization);const queryStore=yield Object(effects_["select"])(getQueriesStore);const projectorStore=yield Object(effects_["select"])(getProjectorStore);const rowset=action.payload.rowset;const query=queryStore.queries.findQuery(rowset.getData());if(!query)return;const worlds=yield Object(effects_["select"])(RowsetSaga_getWorlds);const world=worlds===null||worlds===void 0?void 0:worlds.getFromVisualization(action.payload.visualization.id);const fetchBox=getFetchBox(action.payload.viewState.getVisibleWorld(world));const projector=projectorStore.getFromVisualization(action.payload.visualization.id);let modelBoxFilters=[];if(projector&&fetchBox&&world!==null&&world!==void 0&&world.isGeo()){var _rowset$scales$z;const boxProjector=new projector_src["a"](projector,rowset.scales.x.type,rowset.scales.y.type);const fetchModelBox=boxProjector.unproject(fetchBox);modelBoxFilters=Object(BoxToFilter["a"])(fetchModelBox,rowset.scales.x.field,rowset.scales.y.field,(_rowset$scales$z=rowset.scales.z)===null||_rowset$scales$z===void 0?void 0:_rowset$scales$z.field,query.getColumns())}const filters=getFilters(action.payload.filters,action.payload.visualization,rowset,modelBoxFilters);yield Object(effects_["put"])(Actions["a"].rowset.fetch.request({rowset}));try{const queryLoader=queryStore.getLoader(query);let response;if(queryLoader){response=yield Object(effects_["call"])(DatasetService["a"].getRowsWithLoader,queryLoader.loader,query,getTransformParams(rowset),{filters})}else{response=yield Object(effects_["call"])(DatasetService["a"].getRows,query,getTransformParams(rowset),{filters},authorization)}const payload={rowset:action.payload.rowset.fill(response.rows,fetchBox)};yield Object(effects_["put"])(Actions["a"].rowset.fetch.success(payload))}catch(e){yield Object(effects_["put"])(Actions["a"].rowset.fetch.failure({reason:"FETCH_DATA_FAILED",exception:e,rowset:action.payload.rowset}))}}function fetchValues(data,columnName,filterTerm,authorization){return Object(http_client_src["b"])(config_src["a"].getValue("DATASET_API_ADDRESS",authorization.tenant),`/view/${data.query}/column/${columnName}/value`,{filterTerm,limit:6,dataSource:data.source},authorization).then((res=>res.json()))}function*fetchFilterSuggestions(action){const filterActions=Actions["a"].filter;const authorization=yield Object(effects_["select"])((state=>state.authorization));if(!action.payload.filter.searchTerm){yield Object(effects_["put"])(filterActions.search.success({filter:action.payload.filter.clone()}));return}try{const payload=yield Object(effects_["call"])(fetchValues,action.payload.filter.data,action.payload.filter.field,action.payload.filter.searchTerm,authorization);const newFilter=action.payload.filter.clone();newFilter.searchResults=payload;yield Object(effects_["put"])(filterActions.search.success({filter:newFilter}))}catch(e){yield Object(effects_["put"])(Actions["a"].filter.search.failure({exception:e}))}return}const RowSaga_getAuthorization=store=>store.authorization;const RowSaga_getRowsetStore=store=>store.rowsetStore;const RowSaga_getVisualizations=store=>store.visualizations;const getQueryStore=store=>store.queryStore;function*showRowSavedFeedback(){Object(Toast["b"])("Row saved successfully.")}const getData=(payload,rowsetStore)=>{if(payload.rowsetId){return rowsetStore.getRowset(payload.rowsetId).data}return payload.data};function*updateRow(action){const authorization=yield Object(effects_["select"])(RowSaga_getAuthorization);const visualizations=yield Object(effects_["select"])(RowSaga_getVisualizations);const queryStore=yield Object(effects_["select"])(getQueryStore);const rowsetStore=yield Object(effects_["select"])(RowSaga_getRowsetStore);const currentVisualization=visualizations.getCurrent();if(!currentVisualization)throw new Error("visualization should be available for update row");try{var _action$payload$row;const data=getData(action.payload,rowsetStore);const query=queryStore.queries.findQuery(data);yield Object(effects_["call"])(dataset_src["d"].updateRow,query,(_action$payload$row=action.payload.row)===null||_action$payload$row===void 0?void 0:_action$payload$row._id,action.payload.rowDiff,authorization);const isOptimistic=Object(external_typesafe_actions_["isActionOf"])([Actions["a"].layer.dragEnded,Actions["a"].layer.imageTransformed,Actions["a"].layer.imageUploaded],action);if(isOptimistic){yield Object(effects_["put"])(Actions["a"].rowset.optimisticRowSaved({...action.payload}))}else{yield Object(effects_["put"])(Actions["a"].rowset.rowSaved({...action.payload}))}}catch(e){yield Object(effects_["put"])(Actions["a"].root.genericError({reason:"ROW_UPDATE_FAILED",exception:e}))}return}function*createRow(action){const authorization=yield Object(effects_["select"])(RowSaga_getAuthorization);const queryStore=yield Object(effects_["select"])(getQueryStore);try{const query=queryStore.queries.findQuery(action.payload.data);const createdIds=yield Object(effects_["call"])(dataset_src["d"].createRow,action.payload.row,query,authorization);yield Object(effects_["put"])(Actions["a"].rowset.rowCreated({row:new dataset_src["i"]({...action.payload.row,_id:createdIds[0]}),data:action.payload.data}))}catch(e){yield Object(effects_["put"])(Actions["a"].root.genericError({reason:"ROW_CREATION_FAILED",exception:e}))}return}function*fetchRow(action){const authorization=yield Object(effects_["select"])(RowSaga_getAuthorization);const queryStore=yield Object(effects_["select"])(getQueryStore);const rowsetStore=yield Object(effects_["select"])(RowSaga_getRowsetStore);try{const data=getData(action.payload,rowsetStore);const query=queryStore.queries.findQuery(data);const row=yield Object(effects_["call"])(dataset_src["d"].getRow,action.payload.row._id,query,authorization);yield Object(effects_["put"])(Actions["a"].rowset.rowFetched({row:new dataset_src["i"](row),data:action.payload.data}))}catch(e){yield Object(effects_["put"])(Actions["a"].root.genericError({reason:"ROW_FETCH_FAILED",exception:e}))}return}function*deleteRow(action){const authorization=yield Object(effects_["select"])(RowSaga_getAuthorization);const queryStore=yield Object(effects_["select"])(getQueryStore);try{const query=queryStore.queries.findQuery(action.payload.data);yield Object(effects_["call"])(dataset_src["d"].deleteRow,action.payload.rowId,query,authorization);yield Object(effects_["put"])(Actions["a"].rowset.rowDeleted(action.payload))}catch(e){yield Object(effects_["put"])(Actions["a"].root.genericError({reason:"ROW_DELETE_FAILED",exception:e}))}return}function*subscribeForUpdates(action){const updateWatcher=UpdateWatcher_UpdateWatcher.getInstance();const authorization=yield Object(effects_["select"])((store=>store.authorization));updateWatcher.subscribe(action.payload.queries,authorization.tenant)}const getFilter=(dataBrowser,field)=>{var _dataBrowser$search,_dataBrowser$search2;return{field,values:(_dataBrowser$search=dataBrowser.search)!==null&&_dataBrowser$search!==void 0&&_dataBrowser$search.term?[(_dataBrowser$search2=dataBrowser.search)===null||_dataBrowser$search2===void 0?void 0:_dataBrowser$search2.term]:[],exactMatch:false,logicalOperator:dataset_src["f"].OR}};const DataBrowserSaga_getFilters=dataBrowser=>{var _dataBrowser$search3;const filters=new dataset_src["e"];if((_dataBrowser$search3=dataBrowser.search)!==null&&_dataBrowser$search3!==void 0&&_dataBrowser$search3.term){filters.push(getFilter(dataBrowser,dataBrowser.list.field));if(dataBrowser.list.secondaryField){filters.push(getFilter(dataBrowser,dataBrowser.list.secondaryField))}}return filters};function*getDataBrowser(dataBrowserId){const dataBrowsers=yield Object(effects_["select"])((store=>store.dataBrowsers));return dataBrowsers.getById(dataBrowserId)}function*getRow(data,rowId){const queryStore=yield Object(effects_["select"])((store=>store.queryStore));const query=queryStore.queries.findQuery(data);const authorization=yield Object(effects_["select"])((store=>store.authorization));return yield Object(effects_["call"])(dataset_src["d"].getRow,rowId,query,authorization)}function*getVisualizationId(){var _visualizations$getCu;const visualizations=yield Object(effects_["select"])((store=>store.visualizations));return(_visualizations$getCu=visualizations.getCurrent())===null||_visualizations$getCu===void 0?void 0:_visualizations$getCu.id}function*getInitialRow(){const initialRow=yield Object(effects_["select"])((store=>store.initialRow));return initialRow}function*navigateToInitialRow(){var _dataBrowser$encoding,_dataBrowser$navigate;const initialRow=yield*getInitialRow();if(!initialRow){return}const dataBrowser=yield*getDataBrowser(initialRow.dataBrowserId);if(!dataBrowser||!((_dataBrowser$encoding=dataBrowser.encoding)!==null&&_dataBrowser$encoding!==void 0&&_dataBrowser$encoding.position)){return}let row=yield*getRow(dataBrowser.data,initialRow.rowId);const visualizationId=yield*getVisualizationId();const projectorStore=yield Object(effects_["select"])((store=>store.projectorStore));const projector=projectorStore.getFromVisualization(visualizationId);const rowProjector=new projector_src["c"](projector,dataBrowser.encoding.position.getScaleKeys());row=rowProjector.projectRow(row);if(!rowProjector.isRowPlaced(row)){return}const coordinates=new spatial_src["c"]({x:row._x,y:row._y,z:row._z});const zoom=(_dataBrowser$navigate=dataBrowser.navigate)===null||_dataBrowser$navigate===void 0?void 0:_dataBrowser$navigate.zoom;yield Object(effects_["put"])(Actions["a"].dataBrowser.navigateToPosition({coordinates,visualizationId,zoom}))}function*fetchDataBrowsersRows(action){var _dataBrowsers,_dataBrowsers2,_action$payload$visua;const dataBrowsersState=yield Object(effects_["select"])((store=>store.dataBrowsers));let dataBrowsers=action.payload.dataBrowsers;if(!((_dataBrowsers=dataBrowsers)!==null&&_dataBrowsers!==void 0&&_dataBrowsers.length)&&action.payload.visualizationId){dataBrowsers=dataBrowsersState.fromVisualization(action.payload.visualizationId)}else if(!((_dataBrowsers2=dataBrowsers)!==null&&_dataBrowsers2!==void 0&&_dataBrowsers2.length)&&(_action$payload$visua=action.payload.visualizations)!==null&&_action$payload$visua!==void 0&&_action$payload$visua.length){var _action$payload$visua2;dataBrowsers=dataBrowsersState.fromVisualization((_action$payload$visua2=action.payload.visualizations.getCurrent())===null||_action$payload$visua2===void 0?void 0:_action$payload$visua2.id)}for(const db of(_dataBrowsers3=dataBrowsers)!==null&&_dataBrowsers3!==void 0?_dataBrowsers3:[]){var _dataBrowsers3;const dataBrowser=dataBrowsersState.getById(db.getId());if(!dataBrowser)return;yield Object(effects_["put"])(Actions["a"].dataBrowser.fetch.request({dataBrowser}))}}function isPaginationAction(action){return Object(external_typesafe_actions_["isActionOf"])([Actions["a"].dataBrowser.paginateNext,Actions["a"].dataBrowser.paginatePrev],action)}function*fetchDataBrowserRows(action){const dataBrowser=action.payload.dataBrowser;if(!dataBrowser){return}try{var _dataBrowser$rowset$o,_dataBrowser$rowset;const queryStore=yield Object(effects_["select"])((store=>store.queryStore));const query=queryStore.queries.findQuery(dataBrowser.getData());if(!query){yield Object(effects_["put"])(Actions["a"].dataBrowser.fetch.failure({exception:new Error(`Query ${JSON.stringify(dataBrowser.getData())} not found in query store`)}))}const limit=dataBrowser.list.rowLimit;const offset=isPaginationAction(action)?action.payload.offset:(_dataBrowser$rowset$o=(_dataBrowser$rowset=dataBrowser.rowset)===null||_dataBrowser$rowset===void 0?void 0:_dataBrowser$rowset.offset)!==null&&_dataBrowser$rowset$o!==void 0?_dataBrowser$rowset$o:0;const authorization=yield Object(effects_["select"])((store=>store.authorization));const filters=DataBrowserSaga_getFilters(dataBrowser);const response=yield Object(effects_["call"])(dataset_src["d"].getRows,query,undefined,{filters,limit,offset},authorization);yield Object(effects_["put"])(Actions["a"].dataBrowser.fetch.success({rows:response.rows,dataBrowserId:dataBrowser.getId(),offset,lastPage:response.lastPage}))}catch(e){yield Object(effects_["put"])(Actions["a"].dataBrowser.fetch.failure({exception:e}))}}function getTemplates(){return Object(http_client_src["b"])(config_src["a"].getValue("TEMPLATE_API_ADDRESS"),`/template`,{}).then((res=>res.json()))}function createAppFromTemplate(templateId,appName,authorization){return Object(http_client_src["c"])(config_src["a"].getValue("BFF_API_ADDRESS"),`/app`,{templateId,appName},{},authorization).then((res=>res.json()))}class Template_Template{constructor(templateId){this.id=void 0;this.id=templateId}getName(){return external_js_sentencecase_default()(this.id)}}function*fetchTemplates(){try{yield Object(effects_["put"])(Actions["a"].templates.fetch.request());const payload=yield Object(effects_["call"])(getTemplates);const templates=payload.map((template=>new Template_Template(template)));yield Object(effects_["put"])(Actions["a"].templates.fetch.success({templates}))}catch(e){yield Object(effects_["put"])(Actions["a"].templates.fetch.failure({exception:e}))}}function*createTemplateApps(action){try{const authorization=yield Object(effects_["select"])((store=>store.authorization));const payload=yield Object(effects_["call"])(createAppFromTemplate,action.payload.templateId,action.payload.name,authorization);yield Object(effects_["put"])(Actions["a"].template.createApp.success({id:payload.id}));if(payload.id){action.payload.history.push(`/${authorization.tenant}/app/${payload.id}`)}}catch(e){Object(Toast["a"])("Something went wrong creating the app");yield Object(effects_["put"])(Actions["a"].template.createApp.failure({exception:e}))}}const postLayer=async(type,partialLayer,authorization)=>{const res=await Object(http_client_src["c"])(config_src["a"].getValue("APP_API_ADDRESS"),`layer/${type}`,{partialLayer},{},authorization);return res.json()};const getLayer=async(type,partialLayer,authorization)=>postLayer(type,partialLayer,authorization);const deepSetsZoomRange=(obj,zoomRange)=>{if(obj.hasOwnProperty("zoomRange")){var _zoomRange$min,_zoomRange$min$fixed,_zoomRange$min2,_zoomRange$min2$fixed,_zoomRange$max,_zoomRange$max$fixed,_zoomRange$max2,_zoomRange$max2$fixed;if(!obj["zoomRange"])obj["zoomRange"]=Object(fp_["cloneDeep"])(zoomRange);if(!obj["zoomRange"].min&&((_zoomRange$min=zoomRange.min)===null||_zoomRange$min===void 0?void 0:(_zoomRange$min$fixed=_zoomRange$min.fixed)===null||_zoomRange$min$fixed===void 0?void 0:_zoomRange$min$fixed.value)!==undefined)obj["zoomRange"].min={fixed:{value:(_zoomRange$min2=zoomRange.min)===null||_zoomRange$min2===void 0?void 0:(_zoomRange$min2$fixed=_zoomRange$min2.fixed)===null||_zoomRange$min2$fixed===void 0?void 0:_zoomRange$min2$fixed.value}};if(!obj["zoomRange"].max&&((_zoomRange$max=zoomRange.max)===null||_zoomRange$max===void 0?void 0:(_zoomRange$max$fixed=_zoomRange$max.fixed)===null||_zoomRange$max$fixed===void 0?void 0:_zoomRange$max$fixed.value)!==undefined)obj["zoomRange"].max={fixed:{value:(_zoomRange$max2=zoomRange.max)===null||_zoomRange$max2===void 0?void 0:(_zoomRange$max2$fixed=_zoomRange$max2.fixed)===null||_zoomRange$max2$fixed===void 0?void 0:_zoomRange$max2$fixed.value}}}const currentZoomRange=obj["zoomRange"]||zoomRange||obj["visible"]&&obj["visible"]["zoomRange"];Object.keys(obj).forEach((key=>{if(obj[key]&&typeof obj[key]==="object")deepSetsZoomRange(obj[key],currentZoomRange)}))};const defaultZoomRange=new ZoomRange["a"]({min:{fixed:{value:0}},max:{fixed:{value:24}}});function*createLayerDraft(action){var _currentVisualization;const authorization=yield Object(effects_["select"])((store=>store.authorization));const visualizations=yield Object(effects_["select"])((store=>store.visualizations));const data=yield Object(effects_["call"])(getLayer,action.payload.type,action.payload.partialLayer,authorization);const currentVisualization=visualizations.getCurrent();data._visualization=currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id;const zoomRange=(_currentVisualization=currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.zoomRange)!==null&&_currentVisualization!==void 0?_currentVisualization:defaultZoomRange;const layer=Object(external_class_transformer_["plainToClass"])(Layer_Layer,data);deepSetsZoomRange(layer,zoomRange);yield Object(effects_["put"])(Actions["a"].layer.createDraft.success(layer))}function*restoreAppVersionRequest(action){const authorization=yield Object(effects_["select"])((state=>state.authorization));try{const appResponse=yield Object(effects_["call"])(rollbackAppVersion,action.payload.appId,action.payload.version,authorization);yield Object(effects_["put"])(Actions["a"].app.restoreVersion.success(appResponse))}catch(e){yield Object(effects_["put"])(Actions["a"].app.restoreVersion.failure({exception:e}))}}function*restoreAppVersionSuccess(action){yield Object(effects_["put"])(Actions["a"].app.fetch.request({appId:action.payload.id}));Object(Toast["b"])("App restored successfully.")}function*restoreAppVersionFailure(){Object(Toast["a"])("App could not be restored.")}async function put(appId,visualizationIndex,layers,initialPosition,authorization){const plainLayers=Object(external_class_transformer_["classToPlain"])(layers);const res=await Object(http_client_src["d"])(config_src["a"].getValue("APP_API_ADDRESS"),`app/${appId}/visualization/${visualizationIndex}`,{layers:plainLayers,initialPosition},{},authorization);return res.json()}const saveVisualization=async(appId,visualizationIndex,layers,initialPosition,authorization)=>put(appId,visualizationIndex,layers,initialPosition,authorization);const VisualizationSaga_getAuthorization=store=>store.authorization;const VisualizationSaga_getVisualizations=store=>store.visualizations;function*saveVisualizationRequest(action){const authorization=yield Object(effects_["select"])(VisualizationSaga_getAuthorization);const visualizations=yield Object(effects_["select"])(VisualizationSaga_getVisualizations);const appStore=yield Object(effects_["select"])((state=>state.appStore));const currentVisualization=visualizations.getCurrent();const visualizationIndex=visualizations.getCurrentIndex();try{var _appStore$app;yield Object(effects_["call"])(saveVisualization,(_appStore$app=appStore.app)===null||_appStore$app===void 0?void 0:_appStore$app.id,visualizationIndex,action.payload.layers,currentVisualization.initialPosition,authorization);yield Object(effects_["put"])(Actions["a"].visualization.save.success())}catch(e){yield Object(effects_["put"])(Actions["a"].visualization.save.failure({exception:e}))}}function*saveVisualizationSuccess(){Object(Toast["b"])("App saved successfully.")}function*saveVisualizationFailure(action){Object(Toast["a"])(`App could not be saved. ${action.payload.exception.message}`)}function*setCurrentPositionAsInitial(_){Object(Toast["b"])("Current position now is initial position")}function*fetchLatestAppVersion(){const appVersion=yield Object(effects_["select"])((store=>store.appStore.version));const appId=yield Object(effects_["select"])((store=>{var _store$appStore$app;return(_store$appStore$app=store.appStore.app)===null||_store$appStore$app===void 0?void 0:_store$appStore$app.id}));if(appVersion!==undefined){yield Object(effects_["put"])(Actions["a"].app.fetch.request({appId}))}}function takeLatestPerKey(patternOrChannel,worker,keySelector){for(var _len=arguments.length,args=new Array(_len>3?_len-3:0),_key=3;_key<_len;_key++){args[_key-3]=arguments[_key]}return Object(effects_["fork"])((function*(){const tasks={};while(true){const action=yield Object(effects_["take"])(patternOrChannel);const key=yield Object(effects_["call"])(keySelector,action);if(tasks[key]){yield Object(effects_["cancel"])(tasks[key])}tasks[key]=yield Object(effects_["fork"])(worker,...args,action)}}))}let RowsetStatus;(function(RowsetStatus){RowsetStatus["NONE"]="NONE";RowsetStatus["LOADING"]="LOADING";RowsetStatus["LOADED"]="LOADED";RowsetStatus["ERROR"]="ERROR"})(RowsetStatus||(RowsetStatus={}));function*createWorld(action){const visualizations=yield Object(effects_["select"])((_ref=>{let{visualizations}=_ref;return visualizations}));const currentVisualization=visualizations.getCurrent();if(!currentVisualization)return;const worlds=yield Object(effects_["select"])((_ref2=>{let{worlds}=_ref2;return worlds}));const currentWorld=worlds.getFromVisualization(currentVisualization.id);if(!currentWorld||currentWorld.isReady())return;const layers=yield Object(effects_["select"])((_ref3=>{let{layers}=_ref3;return layers}));const vizLayers=layers.getFromVisualization(currentVisualization.id);const rowsetsFromLayers=vizLayers.getRowsets(currentVisualization.getInitialZoom(),currentVisualization.id);const rowsetStore=yield Object(effects_["select"])((_ref4=>{let{rowsetStore}=_ref4;return rowsetStore}));const rowsetsStatus=rowsetsFromLayers.map((rowset=>{const isRowsetFromAction=action.payload.rowset.getId()===rowset.getId();if(isRowsetFromAction)return RowsetStatus.NONE;return rowsetStore.getStatus(rowset)}));if(rowsetsStatus.every((rowsetStatus=>rowsetStatus!==RowsetStatus.LOADING))){const rowsets=new Rowsets_Rowsets(...rowsetsFromLayers.map((rowset=>rowsetStore.getRowset(rowset.getId()))));const unifedScaleDomain=rowsets.getUnifiedScaleDomains();const world=currentWorld.setScaleDomains(unifedScaleDomain);return yield Object(effects_["put"])(Actions["a"].world.worldCreated({world}))}}async function getQueries(authorization){const response=await Object(http_client_src["b"])(config_src["a"].getValue("BFF_API_ADDRESS",authorization.tenant),`/query`,{},authorization);const body=await response.json();return new dataset_src["g"](...Object(external_class_transformer_["plainToClass"])(dataset_src["h"],body))}var QueryStore=__webpack_require__(41);function*fetchQueries(){try{const authorization=yield Object(effects_["select"])((state=>state.authorization));const queryStore=yield Object(effects_["select"])((state=>state.queryStore));if(queryStore.status!==QueryStore["a"].partial)return;const queries=yield Object(effects_["call"])(getQueries,authorization);yield Object(effects_["put"])(Actions["a"].query.fetch.success({queries}))}catch(e){yield Object(effects_["put"])(Actions["a"].query.fetch.failure({exception:e}))}}function*logError(action){src["c"].error(action.payload.reason,action.payload.exception);yield}let lastTime=new Date;function*log(action){if(src["a"].isDebugging()&&action.type!=="LAYER_MOUSE_LEFT"&&action.type!=="LAYER_MOUSE_HOVER"){const currentTime=new Date;src["c"].debug("action interval",currentTime.getTime()-lastTime.getTime());lastTime=currentTime;src["c"].debug("action",action)}yield}function selectRowsetId(action){return action.payload.rowset.getId()}function*appSaga(){yield Object(effects_["takeEvery"])(Actions["a"].apps.pageLoaded,fetchApps);yield Object(effects_["takeEvery"])(Actions["a"].apps.fetch.request,fetchApps);yield Object(effects_["takeEvery"])(Actions["a"].apps.pageLoaded,fetchTemplates);yield Object(effects_["takeEvery"])(Actions["a"].app.appPageLoaded,fetchApp);yield Object(effects_["takeEvery"])(Actions["a"].template.createApp.request,createTemplateApps);yield Object(effects_["takeEvery"])(Actions["a"].hoc.hocUpdated,fetchApp);yield Object(effects_["takeEvery"])(Actions["a"].hoc.hocLoaded,fetchApp);yield Object(effects_["takeLatest"])(Actions["a"].filter.filterToggle,refreshData);yield Object(effects_["takeLatest"])(Actions["a"].filter.search.request,fetchFilterSuggestions);yield Object(effects_["takeEvery"])(Actions["a"].filter.sidebarFiltersClear,refreshData);yield Object(effects_["takeEvery"])(Actions["a"].visualization.changeTab,fetchLatestAppVersion);yield Object(effects_["takeLatest"])(Actions["a"].layer.encodingPositionChanged,refreshData);yield Object(effects_["takeLatest"])(Actions["a"].layer.visibilityChanged,refreshData);yield Object(effects_["takeLatest"])(Actions["a"].layer.queryChanged,refreshData);yield Object(effects_["takeLatest"])(Actions["a"].layer.select,fetchQueries);yield Object(effects_["debounce"])(100,Actions["a"].navigation.zoomInRequested,refreshData);yield Object(effects_["debounce"])(100,Actions["a"].navigation.zoomOutRequested,refreshData);yield Object(effects_["debounce"])(100,Actions["a"].view.viewZooming,refreshData);yield Object(effects_["takeLatest"])(Actions["a"].view.viewDragEnd,refreshData);yield Object(effects_["takeLatest"])(Actions["a"].dataBrowser.navigateToPosition,refreshData);yield Object(effects_["takeLatest"])(Actions["a"].navigation.levelChangeRequested,refreshData);yield Object(effects_["takeEvery"])(Actions["a"].view.viewLoaded,refreshData);yield Object(effects_["takeEvery"])(Actions["a"].view.jumpViewLoaded,refreshData);yield Object(effects_["takeEvery"])(Actions["a"].update.subscribe,subscribeForUpdates);yield Object(effects_["takeEvery"])(Actions["a"].query.dataListUpdated,refreshData);yield Object(effects_["takeLatest"])(Actions["a"].rowset.rowSaved,refreshData);yield Object(effects_["takeLatest"])(Actions["a"].rowset.rowSaved,fetchDataBrowsersRows);yield Object(effects_["takeLatest"])(Actions["a"].rowset.rowSaved,showRowSavedFeedback);yield Object(effects_["takeLatest"])(Actions["a"].rowset.optimisticRowSaved,showRowSavedFeedback);yield Object(effects_["takeLatest"])(Actions["a"].root.genericError,showGenericErrorFeedback);yield Object(effects_["takeEvery"])(Actions["a"].layer.createDraft.request,createLayerDraft);yield Object(effects_["takeLatest"])(Actions["a"].visualization.save.request,saveVisualizationRequest);yield Object(effects_["takeLatest"])(Actions["a"].visualization.save.success,saveVisualizationSuccess);yield Object(effects_["takeLatest"])(Actions["a"].visualization.save.failure,saveVisualizationFailure);yield Object(effects_["takeLatest"])(Actions["a"].app.restoreVersion.request,restoreAppVersionRequest);yield Object(effects_["takeLatest"])(Actions["a"].app.restoreVersion.success,restoreAppVersionSuccess);yield Object(effects_["takeLatest"])(Actions["a"].app.restoreVersion.failure,restoreAppVersionFailure);yield Object(effects_["takeEvery"])(Actions["a"].layer.dragEnded,updateRow);yield Object(effects_["takeLatest"])(Actions["a"].layer.imageUploaded,updateRow);yield Object(effects_["takeLatest"])(Actions["a"].layer.imageTransformed,updateRow);yield Object(effects_["takeEvery"])(Actions["a"].dataBrowser.rowPlaced,updateRow);yield Object(effects_["takeEvery"])(Actions["a"].dataBrowser.rowChanged,updateRow);yield Object(effects_["takeEvery"])(Actions["a"].dataBrowser.rowUnplaced,updateRow);yield Object(effects_["takeEvery"])(Actions["a"].dataBrowser.fetch.request,fetchDataBrowserRows);yield Object(effects_["takeEvery"])(Actions["a"].dataBrowser.dataBrowserSearch,fetchDataBrowserRows);yield Object(effects_["takeEvery"])(Actions["a"].dataBrowser.paginateNext,fetchDataBrowserRows);yield Object(effects_["takeEvery"])(Actions["a"].dataBrowser.paginatePrev,fetchDataBrowserRows);yield Object(effects_["takeEvery"])(Actions["a"].dataBrowser.rowCreate.requested,createRow);yield Object(effects_["takeEvery"])(Actions["a"].dataBrowser.rowDelete.requested,deleteRow);yield Object(effects_["takeLatest"])(Actions["a"].rowset.rowCreated,fetchDataBrowsersRows);yield Object(effects_["takeLatest"])(Actions["a"].rowset.rowDeleted,fetchDataBrowsersRows);yield Object(effects_["takeLatest"])(Actions["a"].rowset.rowDeleted,refreshData);yield Object(effects_["takeLatest"])(Actions["a"].app.fetch.success,fetchDataBrowsersRows);yield Object(effects_["takeEvery"])(Actions["a"].rowset.rowSaved,fetchRow);yield takeLatestPerKey(Actions["a"].rowset.fetchDataRequested,fetchData,selectRowsetId);yield Object(effects_["takeEvery"])(Actions["a"].app.fetch.request,fetchApp);yield Object(effects_["takeEvery"])(Actions["a"].app.discardChanges.request,fetchApp);yield Object(effects_["takeEvery"])(Actions["a"].app.checkoutVersion.request,fetchApp);yield Object(effects_["takeEvery"])(Actions["a"].app.fetch.success,notifyPageView);yield Object(effects_["takeEvery"])(Actions["a"].auth.signedIn,notifyLogin);yield Object(effects_["takeEvery"])(Actions["a"].analytics.analyticsEvent,notifyEngagement);yield Object(effects_["debounce"])(100,Actions["a"].view.viewZooming,notifyViewZooming);yield Object(effects_["takeLatest"])(Actions["a"].view.viewDragEnd,notifyViewDragging);yield Object(effects_["takeEvery"])(Actions["a"].visualization.rowJumpRequested,notifyJump);yield Object(effects_["takeEvery"])(Actions["a"].visualization.jumpRequested,notifyJump);yield Object(effects_["all"])([Object(effects_["takeEvery"])("*",log)]);yield Object(effects_["all"])([Object(effects_["takeEvery"])("ERROR",logError)]);yield Object(effects_["takeEvery"])(Actions["a"].app.fetch.failure,logError);yield Object(effects_["takeEvery"])(Actions["a"].rowset.fetch.failure,logError);yield Object(effects_["takeEvery"])(Actions["a"].root.genericError,logError);yield Object(effects_["takeEvery"])(Actions["a"].visualization.setInitialPosition,setCurrentPositionAsInitial);yield Object(effects_["takeLatest"])(Actions["a"].rowset.fetch.success,createWorld);yield Object(effects_["takeEvery"])(Actions["a"].view.viewLoaded,navigateToInitialRow)}var AppStore=__webpack_require__(34);const appReducer=function(){var _action$payload$excep,_action$payload$excep2;let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new AppStore["b"];let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):return new AppStore["b"];case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.request):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.checkoutVersion.request):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.discardChanges.request):return state.setStatus(AppStore["a"].loading);case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):return state.updateApp(action.payload.app).setStatus(AppStore["a"].updated).setVersion(action.payload.version);case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):return new AppStore["b"]({app:new App_App({id:action.payload.appId})});case Object(external_typesafe_actions_["getType"])(Actions["a"].app.appPageLoaded):return state.updateApp(new App_App({id:action.payload.params.appId}));case Object(external_typesafe_actions_["getType"])(Actions["a"].app.appEditToggle):return state.setEditing(action.payload.isEditing);case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.failure):if((_action$payload$excep=action.payload.exception)!==null&&_action$payload$excep!==void 0&&_action$payload$excep.isAppResourceError&&(_action$payload$excep2=action.payload.exception)!==null&&_action$payload$excep2!==void 0&&_action$payload$excep2.isAppResourceError()){return state.setStatus(AppStore["a"].fetchingError)}else if(action.payload.app){return state.updateApp(action.payload.app)}return state.setStatus(AppStore["a"].fetchingError);case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.save.request):case Object(external_typesafe_actions_["getType"])(Actions["a"].template.createApp.request):return state.setStatus(AppStore["a"].saving);case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.save.success):return state.setStatus(AppStore["a"].updated);case Object(external_typesafe_actions_["getType"])(Actions["a"].app.restoreVersion.request):return state.setStatus(AppStore["a"].restoringVersion);case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.visibilityChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.animationChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.queryChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.transformChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.encodingPositionChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.encodingChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.nameChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.delete):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.move):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.createDraft.success):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.setInitialPosition):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.layerChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.save.failure):return state.setStatus(AppStore["a"].dirty);default:return state}};const appsReducer=function(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new state_AppsStore;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):return(new state_AppsStore).immutableSetStatus(AppsStatus.LOADING);case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.fetch.success):return action.payload.appsStore.immutableSetStatus(AppsStatus.UPDATED);case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.fetch.failure):return(new state_AppsStore).immutableSetStatus(AppsStatus.ERROR);default:return state}};class Authorization{constructor(params){var _params$signOut,_params$changeTenant;this.accessToken=void 0;this.tenants=void 0;this.tenant=void 0;this.permissions=void 0;this.email=void 0;this.signOut=void 0;this.changeTenant=void 0;this.accessToken=params.accessToken;this.tenant=params.tenant;this.tenants=params.tenants;this.email=params.email;this.permissions=params.permissions;this.signOut=(_params$signOut=params.signOut)!==null&&_params$signOut!==void 0?_params$signOut:()=>undefined;this.changeTenant=(_params$changeTenant=params.changeTenant)!==null&&_params$changeTenant!==void 0?_params$changeTenant:()=>undefined}static createEmpty(){return new Authorization({accessToken:"",tenant:"",tenants:[],email:"",permissions:[],signOut:()=>undefined,changeTenant:()=>undefined})}canEditApp(){return this.permissions.includes("app:write")}canEditRow(){return this.permissions.includes("row:write")}canListApps(){return this.permissions.includes("app:list")}containsTenant(tenant){var _this$tenants;return!!((_this$tenants=this.tenants)!==null&&_this$tenants!==void 0&&_this$tenants.length)&&this.tenants.includes(tenant)}static fromM2mToken(params){return new Authorization({accessToken:params.accessToken,tenant:params.tenant,permissions:params.permissions,tenants:params.tenants,email:"",signOut:()=>undefined,changeTenant:()=>undefined})}}const authorizationReducer=function(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:Authorization.createEmpty();let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].auth.signedIn):return new Authorization(action.payload);case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):return Authorization.fromM2mToken({accessToken:action.payload.accessToken,tenant:action.payload.tenant,tenants:action.payload.tenants,permissions:action.payload.permissions});default:return state}};const axesReducer=function(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new AxesList;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):return new AxesList;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):return action.payload.axesList;default:return state}};const dataBrowserReducer=function(){var _state$getByData,_state$getByData2;let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new data_browser_DataBrowsers;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):return new data_browser_DataBrowsers;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):return action.payload.dataBrowsers;case Object(external_typesafe_actions_["getType"])(Actions["a"].dataBrowser.fetch.success):return state.immutableSetRows(action.payload.dataBrowserId,action.payload.rows,action.payload.offset,action.payload.lastPage);case Object(external_typesafe_actions_["getType"])(Actions["a"].dataBrowser.fetch.request):return state.immutableSetStatus(action.payload.dataBrowser.getId(),DataBrowserRowsetStatus.LOADING);case Object(external_typesafe_actions_["getType"])(Actions["a"].dataBrowser.rowSelected):return state.immutableSetSelectedRow(action.payload.dataBrowserId,action.payload.row);case Object(external_typesafe_actions_["getType"])(Actions["a"].dataBrowser.rowUnselected):return state.immutableSetSelectedRow(action.payload.dataBrowserId,undefined);case Object(external_typesafe_actions_["getType"])(Actions["a"].rowset.rowCreated):case Object(external_typesafe_actions_["getType"])(Actions["a"].rowset.rowFetched):return state.immutableSetSelectedRow((_state$getByData=state.getByData(action.payload.data))===null||_state$getByData===void 0?void 0:_state$getByData.getId(),action.payload.row);case Object(external_typesafe_actions_["getType"])(Actions["a"].rowset.rowDeleted):return state.immutableSetSelectedRow((_state$getByData2=state.getByData(action.payload.data))===null||_state$getByData2===void 0?void 0:_state$getByData2.getId());case Object(external_typesafe_actions_["getType"])(Actions["a"].dataBrowser.dataBrowserSearch):return state.immutableSetSearch(action.payload.dataBrowser.getId(),action.payload.dataBrowser.search);default:return state}};const encodingScopeReducer=function(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:encoding_src["c"];let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):return encoding_src["c"];case Object(external_typesafe_actions_["getType"])(Actions["a"].encodingScope.changed):return action.payload.scope;default:return state}};const filterReducer=function(){var _action$payload$excep,_action$payload$excep2,_action$payload$fromV;let filterState=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new domain_Filters;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):return new domain_Filters;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):case Object(external_typesafe_actions_["getType"])(Actions["a"].filter.sidebarFiltersClear):case Object(external_typesafe_actions_["getType"])(Actions["a"].filter.filterToggle):return action.payload.filters;case Object(external_typesafe_actions_["getType"])(Actions["a"].filter.search.request):case Object(external_typesafe_actions_["getType"])(Actions["a"].filter.search.success):return filterState.update(action.payload.filter);case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.rowJumpRequested):return filterState.upsertList(new domain_Filters(...action.payload.filters));case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.failure):if((_action$payload$excep=action.payload.exception)!==null&&_action$payload$excep!==void 0&&_action$payload$excep.isAppResourceError&&!((_action$payload$excep2=action.payload.exception)!==null&&_action$payload$excep2!==void 0&&_action$payload$excep2.isAppResourceError())){return action.payload.filters}return filterState;case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.jumpBackRequested):return filterState.withoutHiddenFromVisualizations((_action$payload$fromV=action.payload.fromVisualization)===null||_action$payload$fromV===void 0?void 0:_action$payload$fromV.id);case Object(external_typesafe_actions_["getType"])(Actions["a"].app.timeTravelRequested):return filterState.withoutHiddenFromVisualizations(action.payload.params.visualization);default:return filterState}};const initialRowReducer=(initialRow,action)=>{switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].app.appPageLoaded):return action.payload.params.initialRow;case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):return action.payload.initialRow}return initialRow};class JumpStore{constructor(params){var _params$navigationPat;this.enabled=void 0;this.data=void 0;this.navigationPath=void 0;this.enabled=params===null||params===void 0?void 0:params.enabled;this.data=params===null||params===void 0?void 0:params.data;this.navigationPath=(_params$navigationPat=params===null||params===void 0?void 0:params.navigationPath)!==null&&_params$navigationPat!==void 0?_params$navigationPat:[]}addToNavigationPath(vizId){const cloned=new JumpStore(this);if(vizId){cloned.navigationPath=[...cloned.navigationPath,vizId]}return cloned}removeLastNavigation(){const cloned=new JumpStore(this);cloned.navigationPath=cloned.navigationPath.slice(0,-1);return cloned}previousVisualization(){if(!this.navigationPath.length)return;return this.navigationPath[this.navigationPath.length-1]}}var state_JumpStore=JumpStore;const jumpReducer=function(){var _action$payload$fromV;let jumpState=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new state_JumpStore;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):return new state_JumpStore;case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewLoaded):return new state_JumpStore({...jumpState,enabled:false,data:null});case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.jumpRequested):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.rowJumpRequested):return new state_JumpStore({...jumpState,enabled:false}).addToNavigationPath((_action$payload$fromV=action.payload.fromVisualization)===null||_action$payload$fromV===void 0?void 0:_action$payload$fromV.id);case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.jumpBackRequested):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.timeTravelRequested):return new state_JumpStore({...jumpState,enabled:false}).removeLastNavigation();default:return jumpState}};const layerReducer=function(){var _action$payload$excep,_action$payload$excep2,_globalState$querySto2;let layers=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new Layers_Layers;let action=arguments.length>1?arguments[1]:undefined;let globalState=arguments.length>2?arguments[2]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):return new Layers_Layers;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):return action.payload.layers.fillScaleTypes(action.payload.queries).fillZooms(globalState.visualizations);case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.visibilityChanged):return layers.changeLayer(action.payload.id,{visible:action.payload.visible}).fillZooms(globalState.visualizations);case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.queryChanged):{const data={query:action.payload.query.name,source:action.payload.query.dataSource};return layers.changeLayer(action.payload.id,{data})}case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.transformChanged):return layers.changeLayer(action.payload.id,{transform:action.payload.transform});case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.animationChanged):return layers.changeAnimation(action.payload.id,action.payload.params);case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.createDraft.success):{var _globalState$querySto;return layers.upsertLayer(action.payload).fillScaleTypes((_globalState$querySto=globalState.queryStore)===null||_globalState$querySto===void 0?void 0:_globalState$querySto.queries)}case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.failure):if((_action$payload$excep=action.payload.exception)!==null&&_action$payload$excep!==void 0&&_action$payload$excep.isAppResourceError&&!((_action$payload$excep2=action.payload.exception)!==null&&_action$payload$excep2!==void 0&&_action$payload$excep2.isAppResourceError())){return action.payload.layers}return layers;case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.nameChanged):return layers.changeLayerName(action.payload.layerId,action.payload.name);case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.move):return layers.moveLayer(action.payload.id,action.payload.steps);case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.delete):return layers.deleteLayer(action.payload.id);case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.encodingChanged):return layers.changeEncoding(action.payload.id,action.payload.encoding,action.payload.type).fillScaleTypes((_globalState$querySto2=globalState.queryStore)===null||_globalState$querySto2===void 0?void 0:_globalState$querySto2.queries);case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.jumpBackRequested):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.timeTravelRequested):return layers.updateLastModified();case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.layerChanged):return layers.replaceLayer(action.payload.layer);default:return layers}};const selectedLayerIdReducer=(layers,action)=>{switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.createDraft.success):return action.payload.id;case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.select):return action.payload.id;default:return layers}};const legendReducer=function(){let legendState=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new Legends;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):return new Legends;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):return action.payload.legends;default:return legendState}};class ProjectorStore_ProjectorStore{constructor(){this.projectors=void 0}clone(){const cloned=new ProjectorStore_ProjectorStore;cloned.projectors=this.projectors;return cloned}getFromVisualization(visualizationId){if(!visualizationId)return;return this.projectors&&this.projectors[visualizationId]}setProjectorFromWorld(world){if(!world)return;const unifiedScaleDomains=world.getMaximizedScaleDomains();const worldBox=world===null||world===void 0?void 0:world.box();if(!worldBox||!unifiedScaleDomains)return;const projector=new projector_src["b"](unifiedScaleDomains,worldBox);this.projectors={...this.projectors,[world.visualizationId]:projector}}immutableClearFromVisualization(visualizationId){const cloned=this.clone();if(cloned.projectors[visualizationId])delete cloned.projectors[visualizationId];return cloned}immutableUpdateWorld(world){const cloned=this.clone();if(!world)return cloned;cloned.setProjectorFromWorld(world);return cloned}}function projectorReducer(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new ProjectorStore_ProjectorStore;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):return new ProjectorStore_ProjectorStore;case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].view.jumpViewLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].world.worldCreated):return state.immutableUpdateWorld(action.payload.world);case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.jumpRequested):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.rowJumpRequested):return state.immutableClearFromVisualization(action.payload.toVisualization.id);default:return state}}const queryReducer=function(){var _action$payload$query;let queryStore=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new QueryStore["b"];let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):return new QueryStore["b"];case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):return queryStore.setQueries(action.payload.queries).setStatus(QueryStore["a"].partial);case Object(external_typesafe_actions_["getType"])(Actions["a"].query.fetch.success):return queryStore.setQueries(action.payload.queries);case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.failure):if(action.payload.exception.type===AppApiErrorType.FETCHING_TABLE){return queryStore.setStatus(QueryStore["a"].tableFetchingError)}else if(action.payload.queries){return queryStore.setQueries(action.payload.queries)}return queryStore;case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):return(new QueryStore["b"]).setLoaders((_action$payload$query=action.payload.queryLoaders)!==null&&_action$payload$query!==void 0?_action$payload$query:[]);default:return queryStore}};class RowsetStore_RowsetStore{constructor(){let rowsets=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};let status=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};this.rowsets={};this.status={};Object.assign(this.rowsets,rowsets);Object.assign(this.status,status)}add(rowset){if(!rowset)return;this.rowsets[rowset.getId()]=rowset;this.status[rowset.getId()]=RowsetStatus.NONE}immutableAdd(rowset){const clonedRowsetStore=this.clone();clonedRowsetStore.add(rowset);return clonedRowsetStore}invalidate(data){const rowsetsArray=new Rowsets_Rowsets(...Object.values(this.rowsets));for(const rowset of rowsetsArray.withData(data)){var _this$rowsets$rowset$;(_this$rowsets$rowset$=this.rowsets[rowset.getId()].fetchState)===null||_this$rowsets$rowset$===void 0?void 0:_this$rowsets$rowset$.invalidate()}}immutableInvalidate(data){const cloned=this.clone();cloned.invalidate(data);return cloned}invalidateAll(){for(const rowset of Object.values(this.rowsets)){var _this$rowsets$rowset$2;(_this$rowsets$rowset$2=this.rowsets[rowset.getId()].fetchState)===null||_this$rowsets$rowset$2===void 0?void 0:_this$rowsets$rowset$2.invalidate()}}immutableInvalidateAll(){const cloned=this.clone();cloned.invalidateAll();return cloned}getStatus(rowset){if(!(rowset!==null&&rowset!==void 0&&rowset.getId())||!this.status[rowset.getId()]){return RowsetStatus.NONE}else{return this.status[rowset.getId()]}}clone(){return new RowsetStore_RowsetStore(this.rowsets,this.status)}getRowsetsToFetchAgain(viewState,world){const rowsets=Object.values(this.rowsets).filter((rowset=>rowset.fetchState&&rowset.fetchState.shouldFetch(viewState,world)));return new Rowsets_Rowsets(...rowsets)}getRowsets(){return new Rowsets_Rowsets(...Object.values(this.rowsets))}getRowset(rowsetId){return this.rowsets[rowsetId]}getEmptyRowsets(){const rowsets=Object.values(this.rowsets).filter((rowset=>!rowset.rows));return new Rowsets_Rowsets(...rowsets)}getByTargetRowset(rowset){if(!rowset)return;return this.rowsets[rowset.getId()]}updateRow(rowsetId,row,rowDiff){const clonedRowsetStore=this.clone();if(!rowsetId)return clonedRowsetStore;const newRow=new dataset_src["i"]({...row,...rowDiff});clonedRowsetStore.rowsets[rowsetId].updateRow(newRow);return clonedRowsetStore}immutableSetStatusLoading(rowset){const cloned=this.clone();cloned.status[rowset.getId()]=RowsetStatus.LOADING;return cloned}someLoading(){return!Object(fp_["isEmpty"])(this.status)&&Object(fp_["some"])(Object(fp_["equals"])(RowsetStatus.LOADING),this.status)}noneFilled(){return Object(fp_["isEmpty"])(this.status)}immutableSetStatus(rowsets,status){const cloned=this.clone();rowsets.forEach((rowset=>{cloned.status[rowset.getId()]=status}));return cloned}everyWithError(){return!Object(fp_["isEmpty"])(this.status)&&Object(fp_["every"])(Object(fp_["equals"])(RowsetStatus.ERROR),this.status)}}const rowsetStoreReducer=function(){let rowsetStore=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new RowsetStore_RowsetStore;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.jumpBackRequested):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.rowJumpRequested):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.jumpRequested):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.timeTravelRequested):return new RowsetStore_RowsetStore;case Object(external_typesafe_actions_["getType"])(Actions["a"].filter.filterToggle):case Object(external_typesafe_actions_["getType"])(Actions["a"].filter.sidebarFiltersClear):case Object(external_typesafe_actions_["getType"])(Actions["a"].dataBrowser.rowPlaced):case Object(external_typesafe_actions_["getType"])(Actions["a"].rowset.rowSaved):case Object(external_typesafe_actions_["getType"])(Actions["a"].rowset.rowDeleted):case Object(external_typesafe_actions_["getType"])(Actions["a"].dataBrowser.rowUnplaced):case Object(external_typesafe_actions_["getType"])(Actions["a"].dataBrowser.navigateToPosition):case Object(external_typesafe_actions_["getType"])(Actions["a"].navigation.levelChangeRequested):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.encodingPositionChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.visibilityChanged):return rowsetStore.immutableInvalidateAll();case Object(external_typesafe_actions_["getType"])(Actions["a"].query.dataListUpdated):{const mutatedRowsetStore=rowsetStore.clone();for(const data of action.payload.dataList){mutatedRowsetStore.invalidate(data)}return mutatedRowsetStore}case Object(external_typesafe_actions_["getType"])(Actions["a"].rowset.fetch.request):return rowsetStore.immutableSetStatusLoading(action.payload.rowset);case Object(external_typesafe_actions_["getType"])(Actions["a"].rowset.fetch.success):return rowsetStore.immutableAdd(action.payload.rowset);case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.imageEditing):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.imageTransformed):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.imageUploaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.dragEnded):return rowsetStore.updateRow(action.payload.rowsetId,action.payload.row,action.payload.rowDiff);case Object(external_typesafe_actions_["getType"])(Actions["a"].rowset.fetch.failure):if(action.payload.rowset){return rowsetStore.immutableSetStatus(new Rowsets_Rowsets(action.payload.rowset),RowsetStatus.ERROR)}return rowsetStore;default:return rowsetStore}};const schemaReducer=function(){let schema=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):return{};case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):return action.payload.schema;default:return schema}};const sidebarReducer=function(){let sidebar=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{size:"small"};let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].sidebar.changeSize):return{size:action.payload.size};case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.changeTab):return{size:"small"};default:return sidebar}};let TemplateStoreStatus;(function(TemplateStoreStatus){TemplateStoreStatus["NONE"]="NONE";TemplateStoreStatus["LOADING"]="LOADING";TemplateStoreStatus["UPDATED"]="UPDATED";TemplateStoreStatus["ERROR"]="ERROR"})(TemplateStoreStatus||(TemplateStoreStatus={}));class TemplateStore{constructor(){let templates=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];let status=arguments.length>1?arguments[1]:undefined;this.templates=void 0;this.status=void 0;this.templates=templates;this.status=status!==null&&status!==void 0?status:TemplateStoreStatus.NONE}clone(){return new TemplateStore(this.templates,this.status)}immutableSetStatus(value){const cloned=this.clone();cloned.status=value;return cloned}isLoading(){return this.status===TemplateStoreStatus.LOADING}}const templateReducer=function(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new TemplateStore;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].templates.fetch.request):return state.immutableSetStatus(TemplateStoreStatus.LOADING);case Object(external_typesafe_actions_["getType"])(Actions["a"].templates.fetch.success):return new TemplateStore(action.payload.templates,TemplateStoreStatus.UPDATED);case Object(external_typesafe_actions_["getType"])(Actions["a"].templates.fetch.failure):return new TemplateStore([],TemplateStoreStatus.ERROR);default:return state}};class Tooltip{constructor(props){this.row=void 0;this.rowsetId=void 0;this.layerId=void 0;this.visible=void 0;this.coordinates=void 0;this.fixed=void 0;this.hovering=void 0;Object.assign(this,props);if(this.visible===undefined)this.visible=true}clone(){return new Tooltip(this)}getCoordinates(){return this.coordinates}isFixed(){return this.fixed}immutableSetFixed(){const cloned=this.clone();cloned.fixed=true;return cloned}isHovering(){return this.hovering}immutableSetHovering(){const cloned=this.clone();cloned.hovering=true;return cloned}immutableRemoveHovering(){const cloned=this.clone();cloned.hovering=false;return cloned}immutableMoveCoordinates(deltas){const cloned=this.clone();cloned.coordinates.move(deltas.x,deltas.y,deltas.z);return cloned}immutableSetCoordinates(x,y){const cloned=this.clone();cloned.coordinates.x=x!==null&&x!==void 0?x:this.coordinates.x;cloned.coordinates.y=y!==null&&y!==void 0?y:this.coordinates.y;return cloned}immutableSetVisibility(visible){const cloned=this.clone();cloned.visible=visible;return cloned}}var TooltipModel=Tooltip;function tooltipReducer(state,action){var _action$payload$pixel,_action$payload$pixel2;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.clickOut):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.appEditToggle):case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].dataBrowser.rowUnplaced):case Object(external_typesafe_actions_["getType"])(Actions["a"].dataBrowser.navigateToPosition):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.rowJumpRequested):return;case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.click):return new TooltipModel({layerId:action.payload.layerId,row:action.payload.row,coordinates:action.payload.pixel,fixed:true,rowsetId:action.payload.rowsetId});case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.mouseHover):if(state!==null&&state!==void 0&&state.isFixed())return state;return new TooltipModel({layerId:action.payload.layerId,row:action.payload.row,coordinates:action.payload.pixel,fixed:false,rowsetId:action.payload.rowsetId});case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.mouseLeft):if(state&&(state.isFixed()||state.isHovering()))return state;return;case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewDragEnd):if(!state)return;if(state&&action.payload.displacementDelta){return state.immutableMoveCoordinates(action.payload.displacementDelta).immutableSetVisibility(true)}return state.immutableSetVisibility(true);case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.dragEnded):if(!state)return;return state.immutableSetCoordinates((_action$payload$pixel=action.payload.pixel)===null||_action$payload$pixel===void 0?void 0:_action$payload$pixel.x,(_action$payload$pixel2=action.payload.pixel)===null||_action$payload$pixel2===void 0?void 0:_action$payload$pixel2.y).immutableSetVisibility(true);case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.dragStart):if(!state||state.layerId!==action.payload.layerId)return;return state.immutableSetVisibility(false);case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewDragStart):if(!state)return;return state.immutableSetVisibility(false);case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewZooming):return;case Object(external_typesafe_actions_["getType"])(Actions["a"].tooltip.onMouseLeave):return state===null||state===void 0?void 0:state.immutableRemoveHovering();case Object(external_typesafe_actions_["getType"])(Actions["a"].tooltip.onMouseEnter):if(state!==null&&state!==void 0&&state.hovering)return state;return state===null||state===void 0?void 0:state.immutableSetHovering();default:return state}}const viewControllerReducer=function(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new ViewControllers_ViewControllers;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):return new ViewControllers_ViewControllers;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.failure):return action.payload.viewControllers;case Object(external_typesafe_actions_["getType"])(Actions["a"].navigation.bearingModeToggle):return state.immutableToggleDragMode(action.payload.visualizationId);default:return state}};class ViewLayerStore{constructor(selectedRow){this.selectedRow=void 0;this.selectedRow=selectedRow}clone(){return new ViewLayerStore(this.selectedRow)}immutableSetSelectedRow(layerId,rowsetId,updatingRow,cursorDisplacement){const cloned=this.clone();cloned.selectedRow={layerId,rowsetId,updatingRow,cursorDisplacement};return cloned}immutableRemoveSelectedRow(){const cloned=this.clone();cloned.selectedRow=undefined;return cloned}}function viewLayerReducer(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new ViewLayerStore;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):return new ViewLayerStore;case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.clickOut):case Object(external_typesafe_actions_["getType"])(Actions["a"].dataBrowser.rowUnplaced):return state.immutableRemoveSelectedRow();case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.dragEnded):if(action.payload.keepSelected){return state.immutableSetSelectedRow(action.payload.layerId,action.payload.rowsetId,{...action.payload.row,...action.payload.rowDiff},action.payload.cursorDisplacement)}return state.immutableRemoveSelectedRow();case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.click):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.dragStart):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.imageUploaded):return state.immutableSetSelectedRow(action.payload.layerId,action.payload.rowsetId,{...action.payload.row,...action.payload.rowDiff},action.payload.cursorDisplacement);default:return state}}const ZOOM_JUMP_SIZE=1;function viewStateReducer(){var _action$payload;let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new view_state_ViewStates;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):return new view_state_ViewStates;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):return action.payload.viewStates||state;case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].view.jumpViewLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewDragEnd):case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewZooming):return action.payload.viewStates||state;case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewResized):return state.withUpdatedViewState(action.payload.viewState);case Object(external_typesafe_actions_["getType"])(Actions["a"].navigation.zoomInRequested):return state.zoom(action.payload.visualizationId,ZOOM_JUMP_SIZE);case Object(external_typesafe_actions_["getType"])(Actions["a"].navigation.zoomOutRequested):return state.zoom(action.payload.visualizationId,-ZOOM_JUMP_SIZE);case Object(external_typesafe_actions_["getType"])(Actions["a"].navigation.levelChangeRequested):return state.updateZ(action.payload.visualizationId,action.payload.level);case Object(external_typesafe_actions_["getType"])(Actions["a"].dataBrowser.navigateToPosition):return state.transitionToPosition(action.payload.visualizationId,{coordinates:action.payload.coordinates,zoom:(_action$payload=action.payload)===null||_action$payload===void 0?void 0:_action$payload.zoom},action.payload.duration);case Object(external_typesafe_actions_["getType"])(Actions["a"].dataBrowser.rowPlaced):if(action.payload.row._z!==undefined){return state.updateZ(action.payload.visualizationId,action.payload.row._z)}return state;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.failure):if(action.payload.viewStates){return action.payload.viewStates}return state;case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.jumpRequested):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.rowJumpRequested):return state.resetPosition(action.payload.toVisualization.id);default:return state}}const visualizationReducer=function(){var _action$payload$excep,_action$payload$excep2;let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new visualization_Visualizations;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):return new visualization_Visualizations;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.appPageLoaded):return state.setSelected(action.payload.params.visualization);case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):return state.set(action.payload.visualizations);case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.jumpBackRequested):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.rowJumpRequested):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.jumpRequested):return state.setSelected(action.payload.toVisualization.id);case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.failure):if((_action$payload$excep=action.payload.exception)!==null&&_action$payload$excep!==void 0&&_action$payload$excep.isAppResourceError&&!((_action$payload$excep2=action.payload.exception)!==null&&_action$payload$excep2!==void 0&&_action$payload$excep2.isAppResourceError())){return state.set(action.payload.visualizations)}return state;case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.setInitialPosition):return state.setInitialPosition(action.payload);case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.setMapStyle):return state.setMapStyle(action.payload.visualizationId,action.payload.mapStyle);case Object(external_typesafe_actions_["getType"])(Actions["a"].app.timeTravelRequested):return state.setSelected(action.payload.params.visualization);default:return state}};const getMessages=status=>{switch(status){case"disabled":return i18n("WEBGL_DISABLED");case"unsupported":return i18n("WEBGL_UNSUPPORTED");default:return}};const webGLReducer=function(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{status:"pending"};let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].webgl.status):return{status:action.payload,message:getMessages(action.payload)};default:return state}};const worldReducer=function(){var _action$payload$world,_action$payload$world2,_state$;let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new Worlds;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].apps.pageLoaded):return new Worlds;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.failure):return(_action$payload$world=(_action$payload$world2=action.payload.worlds)===null||_action$payload$world2===void 0?void 0:_action$payload$world2.withInitialDimensions((_state$=state[0])===null||_state$===void 0?void 0:_state$.getInitialDimentions()))!==null&&_action$payload$world!==void 0?_action$payload$world:state;case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewResized):case Object(external_typesafe_actions_["getType"])(Actions["a"].view.jumpViewLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].world.worldCreated):return action.payload.world?state.immutableUpdateWorld(action.payload.world):state;case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.jumpRequested):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.rowJumpRequested):return state.immutableResetWorldFromVisualization(action.payload.toVisualization.id);default:return state}};const getEnhancer=sagaMiddleware=>{if(src["a"].isDebugging()&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__){return Object(external_redux_["compose"])(Object(external_redux_["applyMiddleware"])(sagaMiddleware),window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__())}return Object(external_redux_["applyMiddleware"])(sagaMiddleware)};const childReducers={appStore:appReducer,appsStore:appsReducer,authorization:authorizationReducer,axesList:axesReducer,dataBrowsers:dataBrowserReducer,encodingScope:encodingScopeReducer,filters:filterReducer,initialRow:initialRowReducer,jump:jumpReducer,layers:layerReducer,legends:legendReducer,projectorStore:projectorReducer,queryStore:queryReducer,rowsetStore:rowsetStoreReducer,schema:schemaReducer,selectedLayerId:selectedLayerIdReducer,sidebar:sidebarReducer,templates:templateReducer,tooltip:tooltipReducer,viewControllers:viewControllerReducer,viewLayers:viewLayerReducer,viewStates:viewStateReducer,visualizations:visualizationReducer,webgl:webGLReducer,worlds:worldReducer};function getStore(){const sagaMiddleware=core_default()();const enhancer=getEnhancer(sagaMiddleware);const store=Object(external_redux_["createStore"])(reducer(childReducers),enhancer);Object(external_redux_persist_["persistStore"])(store);sagaMiddleware.run(appSaga);UpdateWatcher_UpdateWatcher.configure(store.dispatch);return store}var Store=__webpack_exports__["b"]=getStore;const StoreContext=external_react_default.a.createContext(null);const useSelector=Object(external_react_redux_["createSelectorHook"])(StoreContext);const useDispatch=Object(external_react_redux_["createDispatchHook"])(StoreContext);const CombinedReducers=Object(external_redux_["combineReducers"])(childReducers)},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return debug_Debug}));__webpack_require__.d(__webpack_exports__,"b",(function(){return internals_Internals}));__webpack_require__.d(__webpack_exports__,"c",(function(){return logger_Logger}));var fp_=__webpack_require__(3);const HOPARA_PREFIX="hopara-";class internals_Internals{static setParam(key,value){if(typeof window!=="undefined"){var _window;if((_window=window)!==null&&_window!==void 0&&_window.sessionStorage){window.sessionStorage.setItem(HOPARA_PREFIX+key,value)}}}static hasParam(key){return!Object(fp_["isNil"])(this.getParam(key))}static getParam(key){if(typeof window!=="undefined"){var _window2;if((_window2=window)!==null&&_window2!==void 0&&_window2.sessionStorage){return window.sessionStorage.getItem(HOPARA_PREFIX+key)}}}}const HOPARA_DEBUGGER_KEY="debugger";class debug_Debug{static enable(){internals_Internals.setParam(HOPARA_DEBUGGER_KEY,"true")}static disable(){internals_Internals.setParam(HOPARA_DEBUGGER_KEY,"false")}static isDebugging(){return internals_Internals.getParam(HOPARA_DEBUGGER_KEY)==="true"}}class logger_Logger{static info(){if(!debug_Debug.isDebugging())return;for(var _len=arguments.length,params=new Array(_len),_key=0;_key<_len;_key++){params[_key]=arguments[_key]}return console.log("INFO:",...params)}static debug(){if(!debug_Debug.isDebugging())return;for(var _len2=arguments.length,params=new Array(_len2),_key2=0;_key2<_len2;_key2++){params[_key2]=arguments[_key2]}return console.log("DEBUG:",...params)}static error(){for(var _len3=arguments.length,params=new Array(_len3),_key3=0;_key3<_len3;_key3++){params[_key3]=arguments[_key3]}return console.error("ERROR:",...params)}}},function(module,exports){module.exports=require("@emotion/react")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Config}));let ConfigEnvironment;(function(ConfigEnvironment){ConfigEnvironment["DEVELOPMENT"]="development";ConfigEnvironment["SYSTEM_TEST"]="systemTest";ConfigEnvironment["TEST"]="test";ConfigEnvironment["PRODUCTION"]="production"})(ConfigEnvironment||(ConfigEnvironment={}));const HOPARA_ENV_KEY="HOPARA_ENV";class ConfigMap extends Map{constructor(newMap){super();this.environment=void 0;Object.keys(newMap).forEach((configName=>{this.set(configName,newMap[configName])}))}setEnvironment(environment){this.environment=environment}isDev(){return this.environment===ConfigEnvironment.DEVELOPMENT}getValueFromNodeEnvironment(key){var _process$env$key;return(_process$env$key=Object({NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:undefined,WDS_SOCKET_PATH:undefined,WDS_SOCKET_PORT:undefined,FAST_REFRESH:true,REACT_APP_BUILD_NUMBER:"3491",REACT_APP_PACKAGE_VERSION:"0.1.112"})[key])!==null&&_process$env$key!==void 0?_process$env$key:Object({NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:undefined,WDS_SOCKET_PATH:undefined,WDS_SOCKET_PORT:undefined,FAST_REFRESH:true,REACT_APP_BUILD_NUMBER:"3491",REACT_APP_PACKAGE_VERSION:"0.1.112"})[`REACT_APP_${key}`]}getHoparaEnvironment(){var _this$getValueFromNod;if(this.environment)return this.environment;const env=(_this$getValueFromNod=this.getValueFromNodeEnvironment(HOPARA_ENV_KEY))!==null&&_this$getValueFromNod!==void 0?_this$getValueFromNod:"production";if(!env)return ConfigEnvironment.DEVELOPMENT;if(env==="production")return ConfigEnvironment.PRODUCTION;if(env==="test")return ConfigEnvironment.TEST;if(env==="systemTest")return ConfigEnvironment.SYSTEM_TEST;return ConfigEnvironment.DEVELOPMENT}getValue(key,tenant){var _this$get;if(key===HOPARA_ENV_KEY)return this.getHoparaEnvironment();const fromNodeEnv=this.getValueFromNodeEnvironment(key);if(fromNodeEnv)return fromNodeEnv;const tenantKey=tenant?`${tenant.toUpperCase()}_${key}`:key;const configValues=(_this$get=this.get(tenantKey))!==null&&_this$get!==void 0?_this$get:this.get(key);if(!configValues)return"";if(this.environment){var _configValues$this$en;return(_configValues$this$en=configValues[this.environment])!==null&&_configValues$this$en!==void 0?_configValues$this$en:configValues[ConfigEnvironment.DEVELOPMENT]}const hoparaEnv=this.getHoparaEnvironment();if(hoparaEnv){var _configValues$hoparaE;return(_configValues$hoparaE=configValues[hoparaEnv])!==null&&_configValues$hoparaE!==void 0?_configValues$hoparaE:configValues[ConfigEnvironment.DEVELOPMENT]}if(true){var _configValues$ConfigE;return(_configValues$ConfigE=configValues[ConfigEnvironment.PRODUCTION])!==null&&_configValues$ConfigE!==void 0?_configValues$ConfigE:configValues[ConfigEnvironment.DEVELOPMENT]}return configValues[ConfigEnvironment.DEVELOPMENT]}getValueAsBoolean(key,tenant){return this.getValue(key,tenant)==="true"}}const Config=new ConfigMap({BUILD_NUMBER:{development:"000"},PACKAGE_VERSION:{development:"0.0.0"},COOKIE_DOMAIN:{development:"localhost",test:".test.hopara.app",production:".hopara.app"},EXTERNAL_TOKEN_COOKIE_NAME:{development:"externalToken_dev",test:"externalToken_test",production:"externalToken"},PUBLIC_URL:{development:""},SYSTEM_TEST:{development:"false",systemTest:"true"},AUTH0_DOMAIN:{development:"dev-rflz2ws3.us.auth0.com",production:"login.hopara.app"},AUTH0_CLIENT_ID:{development:"6NbIMZAkEI56VJsAM7BDwIeEIGWx8z1N",production:"9muV5ImpE5sBPYcTb1QHVfDktiHWyBPg"},AUTH0_REDIRECT_URI:{development:"http://localhost:3000",test:"https://test.hopara.app",production:"https://hopara.app"},AUTH0_AUDIENCE:{development:"kyrix"},AUTH0_SCOPE:{development:"row:read row:write table:write app:write view:write query:tenant:read"},APP_API_ADDRESS:{development:"http://localhost:8081",test:"https://app.test.hopara.app",production:"https://app.hopara.app",systemTest:"http://localhost:1234"},BFF_API_ADDRESS:{development:"http://localhost:8086",test:"https://bff.test.hopara.app",production:"https://bff.hopara.app",systemTest:"http://localhost:1234"},TEMPLATE_API_ADDRESS:{development:"http://localhost:8089",test:"https://template.test.hopara.app",production:"https://template.hopara.app",systemTest:"http://localhost:1234"},WATCHER_API_ADDRESS:{development:"http://localhost:8085",test:"https://update-watcher.test.hopara.app",production:"https://update-watcher.hopara.app",systemTest:"http://localhost:1234"},DATASET_API_ADDRESS:{development:"http://localhost:8000",test:"https://dataset.test.hopara.app",production:"https://dataset.hopara.app",systemTest:"http://localhost:1234"},AUTH_API_ADDRESS:{development:"http://localhost:8088",test:"https://auth.test.hopara.app",production:"https://auth.hopara.app",systemTest:"http://localhost:1234"},IMAGES_API_ADDRESS:{development:"https://images.hopara.app"},CONTENT_ADDRESS:{development:"https://content.hopara.app"},"IBBX.TECH_BFF_API_ADDRESS":{development:"http://localhost:8086",test:"https://bff.test.hopara.app",production:"https://bff.hopara.app"},"IBBX.TECH_DATASET_API_ADDRESS":{development:"http://localhost:8000",test:"https://dataset.test.hopara.app",production:"https://dataset.hopara.app"},HOPARA_THEME_MODE:{development:"HOPARA"},STYLE_INTERFACE:{development:"aphrodite"},ENABLE_MAP:{development:"true",systemTest:"false"},FUNNY_ERRORS:{development:"true"}})},function(module,exports){module.exports=require("@deck.gl/layers")},function(module,exports){module.exports=require("reselect")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return rgbColor}));__webpack_require__.d(__webpack_exports__,"c",(function(){return toRGBArray}));__webpack_require__.d(__webpack_exports__,"a",(function(){return fromString}));var d3_dist_d3_min__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(103);var d3_dist_d3_min__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(d3_dist_d3_min__WEBPACK_IMPORTED_MODULE_0__);var lodash_fp__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(3);var lodash_fp__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_1__);const TRANSPARENT_COLOR=[255,255,255,0];const WHITE_COLOR=[255,255,255,255];const rgbColor=hexColor=>d3_dist_d3_min__WEBPACK_IMPORTED_MODULE_0__["rgb"](hexColor);const getAlpha=opacity=>{const maxOpacity=255;if(Object(lodash_fp__WEBPACK_IMPORTED_MODULE_1__["isNumber"])(opacity)&&opacity<=1&&opacity>=0){return Math.floor(maxOpacity*opacity)}return maxOpacity};function toRGBArray(color){const colorArr=[color.r,color.g,color.b];if(color.opacity!==undefined)colorArr.push(getAlpha(color.opacity));return colorArr}function fromString(cssColorSpecifier){let opacity=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;const color=d3_dist_d3_min__WEBPACK_IMPORTED_MODULE_0__["rgb"](cssColorSpecifier);color.opacity=opacity;return toRGBArray(color)}},function(module,exports){module.exports=require("@turf/helpers")},function(module,exports){module.exports=require("@mui/icons-material")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return ColorFormat}));__webpack_require__.d(__webpack_exports__,"c",(function(){return getValidValues}));__webpack_require__.d(__webpack_exports__,"a",(function(){return ColorEncoding_ColorEncoding}));var ScaleType=__webpack_require__(47);var Schemes=__webpack_require__(57);var external_d3_=__webpack_require__(28);function getDataDomain(values){var _values$sort;return(_values$sort=values===null||values===void 0?void 0:values.sort())!==null&&_values$sort!==void 0?_values$sort:[]}function getDomainFromStats(columnStats){var _columnStats$percenti;return(_columnStats$percenti=columnStats===null||columnStats===void 0?void 0:columnStats.percentiles)!==null&&_columnStats$percenti!==void 0?_columnStats$percenti:[]}class quantile_QuantileScaleBehavior{constructor(field){this.field=field}getScale(domain,colors){return external_d3_["scaleQuantile"](domain,colors)}getDomain(rows,visibleRows,columnStats){if(visibleRows.length)return getDataDomain(getValidValues(visibleRows,this.field));if(columnStats)return getDomainFromStats(columnStats);return[]}}var fp_=__webpack_require__(3);function getDataRange(values){const minValue=Object(fp_["min"])(values)||0;const maxValue=Object(fp_["max"])(values)||0;return[minValue,maxValue]}function quantize_getDomainFromStats(columnStats){return[columnStats.min,columnStats.max]}class quantize_QuantizeScaleBehavior{constructor(field){this.field=field}getScale(domain,colors){return external_d3_["scaleQuantize"](domain,colors)}getDomain(rows,visibleRows,columnStats){if(visibleRows.length)return getDataRange(getValidValues(visibleRows,this.field));if(columnStats)return quantize_getDomainFromStats(columnStats);return[]}}function ordinal_getDomainFromStats(columnStats){var _columnStats$values;return(_columnStats$values=columnStats===null||columnStats===void 0?void 0:columnStats.values)!==null&&_columnStats$values!==void 0?_columnStats$values:[columnStats.min,columnStats.max]}class ordinal_OrdinalScaleBehavior{constructor(field){this.field=field}getScale(domain,colors){return external_d3_["scaleOrdinal"](domain,colors)}getDomain(rows,visibleRows,columnStats){var _columnStats$values2;if(columnStats!==null&&columnStats!==void 0&&(_columnStats$values2=columnStats.values)!==null&&_columnStats$values2!==void 0&&_columnStats$values2.length){const rowsDomain=getValidValues(rows,this.field);const statsDomain=ordinal_getDomainFromStats(columnStats);return Object(fp_["concat"])(statsDomain,Object(fp_["difference"])(rowsDomain.sort(),statsDomain))}else if(visibleRows.length){return getValidValues(visibleRows,this.field)}return[]}}var src=__webpack_require__(6);let ColorFormat;(function(ColorFormat){ColorFormat["hex"]="hex";ColorFormat["rgb"]="rgb"})(ColorFormat||(ColorFormat={}));function getValidValues(rows,field){if(!(rows!==null&&rows!==void 0&&rows.length)){return[]}const valids=rows.getValues(field).filter((value=>Object(fp_["isNumber"])(value)||!Object(fp_["isEmpty"])(value)));return Object(fp_["uniq"])(valids)}class ColorEncoding_ColorEncoding{constructor(){let props=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};this.field=void 0;this.scale=void 0;this.opacity=void 0;this.value=void 0;this.animation=void 0;this.condition=void 0;this.createdTimestamp=void 0;Object.assign(this,props);if(!this.scale){this.scale={type:ScaleType["a"].ORDINAL}}this.createdTimestamp=new Date}getField(){return this.field}isFieldBased(){return!!this.field}hasCondition(){return!!this.condition}hasCustomScheme(){return!!this.scale.range}setField(field){this.field=field;return this}getScaleType(){return this.scale.type}isScale(scale){return Object(fp_["isString"])(this.getScaleType())&&this.getScaleType().toLowerCase()===scale.toLowerCase()}isOrdinal(){return this.isScale(ScaleType["a"].ORDINAL)}requiresQuantitativeValues(){return this.isScale(ScaleType["a"].QUANTIZE)||this.isScale(ScaleType["a"].QUANTILE)}getScale(){var _this$scale$domain;let rows=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new src["j"];let visibleRows=arguments.length>1&&arguments[1]!==undefined?arguments[1]:new src["j"];let columnStats=arguments.length>2?arguments[2]:undefined;let colorFormat=arguments.length>3&&arguments[3]!==undefined?arguments[3]:ColorFormat.rgb;const domain=(_this$scale$domain=this.scale.domain)!==null&&_this$scale$domain!==void 0?_this$scale$domain:this.getScaleBehavior().getDomain(rows,visibleRows,columnStats);return this.getScaleBehavior().getScale(domain,this.getColors(colorFormat))}getColors(){let colorFormat=arguments.length>0&&arguments[0]!==undefined?arguments[0]:ColorFormat.rgb;if(colorFormat==="rgb"){return Object(Schemes["b"])(this.scale.scheme||this.scale.range,this.scale.reverse,this.opacity).colors}return Object(Schemes["a"])(this.scale.scheme||this.scale.range,this.scale.reverse).colors}getFallback(){return this.value}isRenderable(){return!!(this.field&&this.scale.scheme)||!!this.value}isEnabled(){return this.isRenderable()}getScaleBehavior(){if(this.isScale(ScaleType["a"].QUANTIZE)){return new quantize_QuantizeScaleBehavior(this.getField())}if(this.isScale(ScaleType["a"].QUANTILE)){return new quantile_QuantileScaleBehavior(this.getField())}return new ordinal_OrdinalScaleBehavior(this.getField())}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return ColumnType}));__webpack_require__.d(__webpack_exports__,"b",(function(){return DEFAULT_COLUMN_TYPE}));let ColumnType;(function(ColumnType){ColumnType["STRING"]="STRING";ColumnType["JSON"]="JSON";ColumnType["INTEGER"]="INTEGER";ColumnType["DECIMAL"]="DECIMAL";ColumnType["STRING_ARRAY"]="STRING_ARRAY";ColumnType["DATETIME"]="DATETIME";ColumnType["GEOMETRY"]="GEOMETRY";ColumnType["BOOLEAN"]="BOOLEAN"})(ColumnType||(ColumnType={}));const DEFAULT_COLUMN_TYPE=ColumnType.STRING},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return PureComponent}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(5);var react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);var _toast_Toast__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(30);var _hopara_internals__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(15);class PureComponent extends react__WEBPACK_IMPORTED_MODULE_0___default.a.PureComponent{componentDidCatch(error,info){Object(_toast_Toast__WEBPACK_IMPORTED_MODULE_1__["a"])("Something went wrong");_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["c"].error(error,info)}}},function(module,exports){module.exports=require("vega")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return httpGet}));__webpack_require__.d(__webpack_exports__,"c",(function(){return httpPost}));__webpack_require__.d(__webpack_exports__,"d",(function(){return httpPut}));__webpack_require__.d(__webpack_exports__,"a",(function(){return httpDelete}));var query_string__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(46);var query_string__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(query_string__WEBPACK_IMPORTED_MODULE_0__);var lodash_fp__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(3);var lodash_fp__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_1__);function objectsToString(params){Object.keys(params).forEach((key=>{if(Object(lodash_fp__WEBPACK_IMPORTED_MODULE_1__["isPlainObject"])(params[key])){params[key]=JSON.stringify(params[key])}else if(Object(lodash_fp__WEBPACK_IMPORTED_MODULE_1__["isArray"])(params[key])){params[key]=params[key].map((item=>{if(Object(lodash_fp__WEBPACK_IMPORTED_MODULE_1__["isObject"])(item))return JSON.stringify(item);return item}))}}));return params}const getHeadersWithAuthorization=authorization=>{const headers=new Headers;const token=authorization===null||authorization===void 0?void 0:authorization.accessToken;if(authorization&&token){var _authorization$tenant;headers.append("Authorization","Bearer "+token);headers.append("tenant",(_authorization$tenant=authorization.tenant)!==null&&_authorization$tenant!==void 0?_authorization$tenant:"")}return headers};class HttpError extends Error{constructor(data,statusText){var _data$message;super((_data$message=data.message)!==null&&_data$message!==void 0?_data$message:statusText);this.data=data}}async function tryFetch(href,options){const res=await fetch(href,options);if(!res.ok){const data=await res.json();throw new HttpError(data,res.statusText)}return res}async function httpGet(endpoint,resource){let queryParams=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};let authorization=arguments.length>3?arguments[3]:undefined;const headers=await getHeadersWithAuthorization(authorization);const url=new URL(resource,endpoint);url.search=query_string__WEBPACK_IMPORTED_MODULE_0___default.a.stringify(objectsToString(queryParams));return tryFetch(url.href,{headers})}async function httpPost(endpoint,resource){let body=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};let queryParams=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};let authorization=arguments.length>4?arguments[4]:undefined;const headers=await getHeadersWithAuthorization(authorization);headers.append("Content-Type","application/json");const url=new URL(resource,endpoint);url.search=query_string__WEBPACK_IMPORTED_MODULE_0___default.a.stringify(objectsToString(queryParams));const options={method:"POST",headers,body:JSON.stringify(body)};return tryFetch(url.href,options)}async function httpPut(endpoint,resource){let body=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};let queryParams=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};let authorization=arguments.length>4?arguments[4]:undefined;const headers=await getHeadersWithAuthorization(authorization);headers.append("Content-Type","application/json");const url=new URL(resource,endpoint);url.search=query_string__WEBPACK_IMPORTED_MODULE_0___default.a.stringify(objectsToString(queryParams));const options={method:"PUT",headers,body:JSON.stringify(body)};return tryFetch(url.href,options)}async function httpDelete(endpoint,resource){let queryParams=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};let authorization=arguments.length>3?arguments[3]:undefined;const headers=await getHeadersWithAuthorization(authorization);headers.append("Content-Type","application/json");const url=new URL(resource,endpoint);url.search=query_string__WEBPACK_IMPORTED_MODULE_0___default.a.stringify(objectsToString(queryParams));const options={method:"DELETE",headers};return tryFetch(url.href,options)}},function(module,exports){module.exports=require("d3")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"d",(function(){return createThemeSpecFromBrand}));__webpack_require__.d(__webpack_exports__,"c",(function(){return createMuiThemeFromSpec}));var _mui_material__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(11);var _mui_material__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_mui_material__WEBPACK_IMPORTED_MODULE_0__);__webpack_require__.d(__webpack_exports__,"b",(function(){return _mui_material__WEBPACK_IMPORTED_MODULE_0__["ThemeProvider"]}));__webpack_require__.d(__webpack_exports__,"a",(function(){return _mui_material__WEBPACK_IMPORTED_MODULE_0__["CssBaseline"]}));var _mui_material_styles__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(62);var _mui_material_styles__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_mui_material_styles__WEBPACK_IMPORTED_MODULE_1__);var colorsys__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(105);var colorsys__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(colorsys__WEBPACK_IMPORTED_MODULE_2__);const createThemeSpecFromBrand=(tenantBrand,xxx)=>{const{themeFromSourceColor,argbFromHex,applyTheme,hexFromArgb}=xxx;const materialYou=themeFromSourceColor(argbFromHex(tenantBrand.originalColor));applyTheme(materialYou,{target:document.body});const material=materialYou.schemes[tenantBrand.mode||"light"];const borderColor=tenantBrand.mode==="dark"?materialYou.palettes.primary.tone(80):materialYou.palettes.neutral.tone(90);const luminance=Object(_mui_material_styles__WEBPACK_IMPORTED_MODULE_1__["getLuminance"])(tenantBrand.originalColor);const lightSourceColor=hexFromArgb(materialYou.schemes.light.onSurface);const darkSourceColor=hexFromArgb(materialYou.schemes.dark.onSurface);const tones=new Array(11).fill(0).map(((_,i)=>i*10));return{mode:tenantBrand.mode,logoUrl:tenantBrand.logoUrl,logoSmallUrl:tenantBrand.logoSmallUrl,original:tenantBrand.originalColor,onOriginal:luminance>.4?lightSourceColor:darkSourceColor,primary:hexFromArgb(material.primary),onPrimary:hexFromArgb(material.onPrimary),primaryContainer:hexFromArgb(material.primaryContainer),onPrimaryContainer:hexFromArgb(material.onPrimaryContainer),secondary:hexFromArgb(material.secondary),onSecondary:hexFromArgb(material.onSecondary),secondaryContainer:hexFromArgb(material.secondaryContainer),onSecondaryContainer:hexFromArgb(material.onSecondaryContainer),tertiary:hexFromArgb(material.tertiary),onTertiary:hexFromArgb(material.onTertiary),tertiaryContainer:hexFromArgb(material.tertiaryContainer),onTertiaryContainer:hexFromArgb(material.onTertiaryContainer),error:hexFromArgb(material.error),onError:hexFromArgb(material.onError),errorContainer:hexFromArgb(material.errorContainer),onErrorContainer:hexFromArgb(material.onErrorContainer),surface:hexFromArgb(material.surface),onSurface:hexFromArgb(material.onSurface),background:hexFromArgb(material.background),onBackground:hexFromArgb(material.onBackground),onBackgroundLight:hexFromArgb(materialYou.palettes.neutral.tone(50)),outline:hexFromArgb(material.outline),surfaceVariant:hexFromArgb(material.surfaceVariant),onSurfaceVariant:hexFromArgb(material.onSurfaceVariant),inverseSurface:hexFromArgb(material.inverseSurface),inversePrimary:hexFromArgb(material.inversePrimary),inverseOnSurface:hexFromArgb(material.inverseOnSurface),borderRadius:tenantBrand.borderRadius,borderColor:hexFromArgb(borderColor),hasBackgroundTexture:false,tonal:{primary:Object.fromEntries(tones.map((tone=>[tone,hexFromArgb(materialYou.palettes.primary.tone(tone))]))),secondary:Object.fromEntries(tones.map((tone=>[tone,hexFromArgb(materialYou.palettes.secondary.tone(tone))]))),tertiary:Object.fromEntries(tones.map((tone=>[tone,hexFromArgb(materialYou.palettes.tertiary.tone(tone))]))),error:Object.fromEntries(tones.map((tone=>[tone,hexFromArgb(materialYou.palettes.error.tone(tone))]))),neutral:Object.fromEntries(tones.map((tone=>[tone,hexFromArgb(materialYou.palettes.neutral.tone(tone))]))),neutralVariant:Object.fromEntries(tones.map((tone=>[tone,hexFromArgb(materialYou.palettes.neutralVariant.tone(tone))])))}}};const createMuiThemeFromSpec=spec=>{var _spec$fontSize;const fontSize=(_spec$fontSize=spec.fontSize)!==null&&_spec$fontSize!==void 0?_spec$fontSize:12;const luminance=Object(_mui_material_styles__WEBPACK_IMPORTED_MODULE_1__["getLuminance"])(spec.original);const mode=spec.mode;return Object(_mui_material_styles__WEBPACK_IMPORTED_MODULE_1__["createTheme"])({palette:{hue:colorsys__WEBPACK_IMPORTED_MODULE_2___default.a.rgb_to_hsl(colorsys__WEBPACK_IMPORTED_MODULE_2___default.a.parseCss(spec.primary)).h+12,contrast:luminance<=.4,mode,spec,original:{main:spec.original,contrastText:spec.onOriginal},primary:{main:spec.primary,light:spec.primaryContainer,contrastText:spec.onPrimary,dark:spec.onPrimaryContainer},secondary:{main:spec.secondary,light:spec.secondaryContainer,contrastText:spec.onSecondary,dark:spec.onSecondaryContainer},tertiary:{main:spec.tertiary,light:spec.tertiaryContainer,contrastText:spec.onTertiary,dark:spec.onTertiaryContainer},error:{main:spec.tonal.error[50],light:spec.tonal.error[70],contrastText:spec.tonal.error[50],dark:spec.tonal.error[20]},background:{default:mode==="dark"?"#000000":"#FFFFFF",paper:spec.surface},text:{primary:spec.onBackground,secondary:spec.onSurface,component:spec.onBackgroundLight}},shape:{borderRadius:spec.borderRadius,borderLight:`1px solid ${spec.borderColor}`,paddingInner:fontSize},typography:{fontSize,fontFamily:"Inter, Work Sans, sans-serif"},spacing:1,shadows:Object(_mui_material_styles__WEBPACK_IMPORTED_MODULE_1__["createTheme"])({}).shadows.map(((shadow,i)=>{if(i===2){return spec.mode==="dark"?"0 1px 1px 0 #444, 0 4px 18px 0 rgb(34 41 47 / 10%)":"0 1px 1px 0 #e5deee, 0 4px 18px 0 rgb(34 41 47 / 10%)"}return shadow})),components:{HoparaBranding:{logoUrl:spec.logoUrl,logoSmallUrl:spec.logoSmallUrl,hasBackgroundTexture:spec.hasBackgroundTexture},HoparaTable:{row:{backgroundEven:"#fcfaff",backgroundHover:"#faf8fd"}},HoparaInput:{backgroundColor:spec.background,backgroundClip:"padding-box",border:`1px solid ${spec.borderColor}`,borderColor:spec.borderColor,borderRadius:spec.borderRadius,display:"block",color:spec.onBackground,fontSize:"defaults.text.sizeSmall",lineHeight:"1.85",height:35,outline:"none",padding:".25em .75em",transition:"border-color 0.15s ease-in-out",width:"100%"},HoparaSidebar:{width:320,headerHeight:50,bottomHeight:25,headerBackgroundColor:spec.secondaryContainer,headerBackgroundColorLight:spec.surface,tabsSpacing:25,tabsBackground:spec.secondaryContainer,tabsBackgroundLight:spec.surface},MuiOutlinedInput:{styleOverrides:{root:{backgroundColor:spec.background,color:spec.onBackground},notchedOutline:{borderColor:spec.borderColor},input:{padding:"0.25em 0.75em",lineHeight:"26px",height:"26px"}}},MuiButton:{styleOverrides:{root:{}}},MuiListItemButton:{styleOverrides:{root:{}}}}})}},function(module,__webpack_exports__,__webpack_require__){"use strict";(function(global){__webpack_require__.d(__webpack_exports__,"b",(function(){return toastSuccess}));__webpack_require__.d(__webpack_exports__,"a",(function(){return toastError}));var react_toastify__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(50);var react_toastify__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react_toastify__WEBPACK_IMPORTED_MODULE_0__);const toastSuccess=text=>{react_toastify__WEBPACK_IMPORTED_MODULE_0__["toast"].dismiss();react_toastify__WEBPACK_IMPORTED_MODULE_0__["toast"].success(text)};const toastError=text=>{react_toastify__WEBPACK_IMPORTED_MODULE_0__["toast"].dismiss();react_toastify__WEBPACK_IMPORTED_MODULE_0__["toast"].error(text)};const window=global;window.TOAST={toastSuccess,toastError}}).call(this,__webpack_require__(80))},function(module,exports){module.exports=require("@deck.gl/core")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return SizeEncoding}));var lodash_fp__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(3);var lodash_fp__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_0__);var d3__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(28);var d3__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_1__);const pixelToCommon=(pixel,zoom)=>pixel/Math.pow(2,zoom);const commonToPixel=(commonSize,zoom)=>commonSize*Math.pow(2,zoom);class SizeEncoding{constructor(props){this.field=void 0;this.value=void 0;this.scale=void 0;this.animation=void 0;this.createdTimestamp=void 0;this.resize=void 0;Object.assign(this,props);this.createdTimestamp=new Date}getUnits(){if(this.isCommon())return"common";return"pixels"}getRange(columnDomain,range){if(!range)return[];const rangeValues=[range[0],range[1]];if(!rangeValues)return[];if(columnDomain.length===rangeValues.length)return rangeValues;const stepsArray=Array.from({length:columnDomain.length},((_,i)=>i+1));const scale=d3__WEBPACK_IMPORTED_MODULE_1__["scaleLinear"]().domain([stepsArray[0],stepsArray[stepsArray.length-1]]).range([rangeValues[0],rangeValues[rangeValues.length-1]]);return stepsArray.map((step=>{var _scale;return(_scale=scale(step))!==null&&_scale!==void 0?_scale:step}))}getScaleValue(value,columnDomain,range){const discreteRange=this.getRange(columnDomain,range);return d3__WEBPACK_IMPORTED_MODULE_1__["scaleQuantile"]().domain(columnDomain).range(discreteRange)(value)}getSize(columnValue,columnDomain){let value=columnValue;if(Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["isNumber"])(columnValue)&&columnDomain&&this.scale){value=this.getScaleValue(columnValue,columnDomain,this.scale.range)}if(!Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["isNumber"])(value)&&Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["isNumber"])(this.value)){value=this.value}if(!value){value=0}if(this.isCommon()){var _this$resize;return pixelToCommon(value,(_this$resize=this.resize)===null||_this$resize===void 0?void 0:_this$resize.referenceZoom)}return value}hasField(){return!!this.field}getField(){return this.field}setField(fieldName){this.field=fieldName}isCommon(){var _this$resize2;return typeof((_this$resize2=this.resize)===null||_this$resize2===void 0?void 0:_this$resize2.referenceZoom)==="number"}isPixels(){return!this.isCommon()}getMinPixels(){var _this$resize3;let factor=arguments.length>0&&arguments[0]!==undefined?arguments[0]:1;if(this.isCommon()&&(_this$resize3=this.resize)!==null&&_this$resize3!==void 0&&_this$resize3.referenceZoom){return commonToPixel(this.getSize(),this.resize.referenceZoom)*factor}}getMaxPixels(){var _this$resize4;let factor=arguments.length>0&&arguments[0]!==undefined?arguments[0]:1;if(this.isCommon()&&(_this$resize4=this.resize)!==null&&_this$resize4!==void 0&&_this$resize4.maxZoom){return commonToPixel(this.getSize(),this.resize.maxZoom)*factor}}isRenderable(){return!!(this.field&&this.scale)||Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["isNumber"])(this.value)}isEnabled(){return this.isRenderable()}}},function(module,exports){module.exports=require("react-redux")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return AppStatus}));__webpack_require__.d(__webpack_exports__,"b",(function(){return AppStore}));let AppStatus;(function(AppStatus){AppStatus["idle"]="idle";AppStatus["loading"]="loading";AppStatus["dirty"]="dirty";AppStatus["updated"]="updated";AppStatus["fetchingError"]="fetchingError";AppStatus["deleting"]="deleting";AppStatus["saving"]="saving";AppStatus["viewingVersion"]="viewingVersion";AppStatus["restoringVersion"]="restoringVersion"})(AppStatus||(AppStatus={}));class AppStore{constructor(props){var _this$status,_this$isEditing;this.app=void 0;this.status=void 0;this.isEditing=void 0;this.version=void 0;Object.assign(this,props!==null&&props!==void 0?props:{});this.status=(_this$status=this.status)!==null&&_this$status!==void 0?_this$status:AppStatus.loading;this.isEditing=(_this$isEditing=this.isEditing)!==null&&_this$isEditing!==void 0?_this$isEditing:false}updateApp(app){return new AppStore({...this,app,status:AppStatus.updated})}setStatus(status){return new AppStore({...this,status})}setEditing(isEditing){return new AppStore({...this,isEditing})}setVersion(version){return new AppStore({...this,status:version?AppStatus.viewingVersion:this.status,version})}isAppReady(){return!!(this.app&&[AppStatus.updated,AppStatus.dirty,AppStatus.viewingVersion].includes(this.status))}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return ScaleType}));__webpack_require__.d(__webpack_exports__,"a",(function(){return DEFAULT_SCALE_TYPE}));__webpack_require__.d(__webpack_exports__,"c",(function(){return getColumnScaleType}));var _hopara_dataset__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(6);let ScaleType;(function(ScaleType){ScaleType["LINEAR"]="linear";ScaleType["SQUARE"]="sqrt";ScaleType["TIME"]="utc";ScaleType["ORDINAL"]="ordinal";ScaleType["NULL"]="null"})(ScaleType||(ScaleType={}));const DEFAULT_SCALE_TYPE=ScaleType.LINEAR;const getColumnScaleType=column=>{if(!column)return DEFAULT_SCALE_TYPE;switch(column.getType()){case _hopara_dataset__WEBPACK_IMPORTED_MODULE_0__["b"].STRING:case _hopara_dataset__WEBPACK_IMPORTED_MODULE_0__["b"].JSON:case _hopara_dataset__WEBPACK_IMPORTED_MODULE_0__["b"].STRING_ARRAY:case _hopara_dataset__WEBPACK_IMPORTED_MODULE_0__["b"].GEOMETRY:case _hopara_dataset__WEBPACK_IMPORTED_MODULE_0__["b"].BOOLEAN:return ScaleType.ORDINAL;case _hopara_dataset__WEBPACK_IMPORTED_MODULE_0__["b"].DATETIME:return ScaleType.TIME;default:return DEFAULT_SCALE_TYPE}}},function(module,exports){module.exports=require("nebula.gl")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return WorldType}));__webpack_require__.d(__webpack_exports__,"a",(function(){return World}));var lodash_fp__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(3);var lodash_fp__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_0__);var _hopara_encoding__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(9);var _hopara_spatial__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7);let WorldType;(function(WorldType){WorldType["GEO"]="GEO";WorldType["CARTESIAN"]="CARTESIAN";WorldType["ORBIT"]="ORBIT";WorldType["CUSTOM"]="CUSTOM"})(WorldType||(WorldType={}));let WorldStatus;(function(WorldStatus){WorldStatus["NONE"]="NONE";WorldStatus["UPDATING"]="UPDATING";WorldStatus["UPDATED"]="UPDATED"})(WorldStatus||(WorldStatus={}));const SAFE_WORLD_BOX=new _hopara_spatial__WEBPACK_IMPORTED_MODULE_2__["b"]({x:new _hopara_spatial__WEBPACK_IMPORTED_MODULE_2__["e"]({min:-180,max:180}),y:new _hopara_spatial__WEBPACK_IMPORTED_MODULE_2__["e"]({min:-80,max:80})});const SAFE_WORLD_SCALE_DOMAINS={x:{[_hopara_encoding__WEBPACK_IMPORTED_MODULE_1__["i"].LINEAR]:{domainMin:SAFE_WORLD_BOX.x.getMin(),domainMax:SAFE_WORLD_BOX.x.getMax()}},y:{[_hopara_encoding__WEBPACK_IMPORTED_MODULE_1__["i"].LINEAR]:{domainMin:SAFE_WORLD_BOX.y.getMin(),domainMax:SAFE_WORLD_BOX.y.getMax()}},z:{[_hopara_encoding__WEBPACK_IMPORTED_MODULE_1__["i"].LINEAR]:{domainMin:0,domainMax:50}}};const getPadding=(axis,scaleDomains)=>{var _linerScaleDomain$dom,_linerScaleDomain$dom2;if(!scaleDomains)return 0;const linerScaleDomain=Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["get"])([axis,_hopara_encoding__WEBPACK_IMPORTED_MODULE_1__["i"].LINEAR],scaleDomains);const gNumber=linerScaleDomain?Math.max(String((_linerScaleDomain$dom=linerScaleDomain.domainMin)!==null&&_linerScaleDomain$dom!==void 0?_linerScaleDomain$dom:0).length,String((_linerScaleDomain$dom2=linerScaleDomain.domainMax)!==null&&_linerScaleDomain$dom2!==void 0?_linerScaleDomain$dom2:0).length):0;return gNumber*7};class World{constructor(partialWorld){this.type=void 0;this.visualizationId=void 0;this.scaleDomains=void 0;this.dimensions=void 0;this.sizeRatio=void 0;this.status=void 0;this.initialDimensions=void 0;Object.assign(this,partialWorld);if(!this.status)this.status=WorldStatus.NONE;if(!this.sizeRatio)this.sizeRatio={width:1,height:1};if(!this.initialDimensions)this.initialDimensions=this.dimensions;if(this.isCustom()&&!this.initialDimensions){this.initialDimensions={height:Number.MAX_SAFE_INTEGER,width:Number.MAX_SAFE_INTEGER}}if(this.isGeo()){this.scaleDomains=SAFE_WORLD_SCALE_DOMAINS;this.status=WorldStatus.UPDATED}}clone(){return new World(this)}isGeo(){return this.type===WorldType.GEO}isCartesian(){return this.type===WorldType.CARTESIAN}isCustom(){return this.type===WorldType.CUSTOM}box(){if(!this.initialDimensions)return;const width=this.initialDimensions.width*this.sizeRatio.width;const height=this.initialDimensions.height*this.sizeRatio.height;return new _hopara_spatial__WEBPACK_IMPORTED_MODULE_2__["b"]({x:this.isGeo()?SAFE_WORLD_BOX.x:new _hopara_spatial__WEBPACK_IMPORTED_MODULE_2__["e"]({min:0,max:width-this.getHorizontalPadding()}),y:this.isGeo()?SAFE_WORLD_BOX.y:new _hopara_spatial__WEBPACK_IMPORTED_MODULE_2__["e"]({min:0,max:height-this.getVertialPadding()}),z:new _hopara_spatial__WEBPACK_IMPORTED_MODULE_2__["e"]({min:0,max:50})})}getScaleDomains(){return this.scaleDomains}getMaximizedScaleDomains(){if(!this.scaleDomains)return;if(!this.isCartesian())return this.scaleDomains;return Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["mapValues"])((axisScaleDomains=>Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["mapValues"])((_ref=>{let{domainMin,domainMax}=_ref;const domainDiff=Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["isNumber"])(domainMax)&&Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["isNumber"])(domainMin)?domainMax-domainMin:undefined;const maximazedValue=domainDiff?(domainMax!==null&&domainMax!==void 0?domainMax:1)+.05*domainDiff:undefined;return{domainMin,domainMax:maximazedValue}}),axisScaleDomains)),this.scaleDomains)}setScaleDomains(scaleDomains){const cloned=this.clone();cloned.scaleDomains=scaleDomains;cloned.status=WorldStatus.UPDATED;return cloned}getPaddingLeft(){if(this.isCartesian())return getPadding("y",this.scaleDomains)/2;return 0}getHorizontalPadding(){if(this.isCartesian())return 100+this.getPaddingLeft();return 0}getVertialPadding(){if(this.isCartesian())return 100;return 0}getDimensions(){if(!this.dimensions&&!this.initialDimensions)return;if(!this.dimensions||!this.dimensions.width)this.dimensions=this.initialDimensions;return{width:this.dimensions.width-this.getHorizontalPadding(),height:this.dimensions.height-this.getVertialPadding()}}withDimensions(dimensions){const cloned=this.clone();cloned.dimensions=dimensions;return cloned}withInitialDimensions(dimensions){const cloned=this.clone();if(this.isCustom()){cloned.initialDimensions=this.initialDimensions;cloned.dimensions=this.initialDimensions}else{const calculatedDimensions={width:dimensions.width,height:dimensions.height};cloned.initialDimensions=calculatedDimensions;cloned.dimensions=calculatedDimensions}return cloned}hasInitialDimentions(){return!!this.initialDimensions}getInitialDimentions(){return this.initialDimensions}isReady(){return this.status===WorldStatus.UPDATED&&!!this.scaleDomains}setReady(){const cloned=this.clone();cloned.status=WorldStatus.UPDATED;return cloned}}},function(module,exports,__webpack_require__){module.exports={transitionBlock:"SidebarTransition_transitionBlock__AOkGN",enter:"SidebarTransition_enter__3zlrq",enterInvert:"SidebarTransition_enterInvert__1653O",enterActive:"SidebarTransition_enterActive__1Hx7o",enterDone:"SidebarTransition_enterDone__6v3KG",exit:"SidebarTransition_exit__28S_k",exitActive:"SidebarTransition_exitActive__1gP6e",exitActiveInvert:"SidebarTransition_exitActiveInvert__3GyQS"}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return ZoomRange}));class ZoomRange{constructor(props){this.min=void 0;this.max=void 0;Object.assign(this,props)}hasValues(){var _this$min,_this$min$fixed,_this$max,_this$max$fixed;return((_this$min=this.min)===null||_this$min===void 0?void 0:(_this$min$fixed=_this$min.fixed)===null||_this$min$fixed===void 0?void 0:_this$min$fixed.value)!==undefined||((_this$max=this.max)===null||_this$max===void 0?void 0:(_this$max$fixed=_this$max.fixed)===null||_this$max$fixed===void 0?void 0:_this$max$fixed.value)!==undefined}getMin(){var _this$min2,_this$min2$fixed;if(((_this$min2=this.min)===null||_this$min2===void 0?void 0:(_this$min2$fixed=_this$min2.fixed)===null||_this$min2$fixed===void 0?void 0:_this$min2$fixed.value)===undefined)return 0;return this.min.fixed.value}getMax(){var _this$max2,_this$max2$fixed;if(((_this$max2=this.max)===null||_this$max2===void 0?void 0:(_this$max2$fixed=_this$max2.fixed)===null||_this$max2$fixed===void 0?void 0:_this$max2$fixed.value)===undefined)return Number.MAX_SAFE_INTEGER;return this.max.fixed.value}getInterval(){return this.getMax()-this.getMin()}getCount(){return this.getMax()-this.getMin()+1}multiply(multiplier){const intervalDelta=this.getInterval()*multiplier-this.getInterval();return new ZoomRange({min:{...this.min,fixed:{value:this.getMin()-intervalDelta/2}},max:{...this.max,fixed:{value:this.getMax()+intervalDelta/2}}})}isInRange(value){if(value===undefined)return false;return value>=this.getMin()&&value<this.getMax()}}},function(module,__webpack_exports__,__webpack_require__){"use strict";function _initializerWarningHelper(descriptor,context){throw new Error("Decorating class property failed. Please ensure that "+"proposal-class-properties is enabled and runs after the decorators transform.")}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return QueryStoreStatus}));var _hopara_dataset__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(6);let QueryStoreStatus;(function(QueryStoreStatus){QueryStoreStatus["none"]="NONE";QueryStoreStatus["error"]="ERROR";QueryStoreStatus["tableNotFound"]="TABLE_NOT_FOUND";QueryStoreStatus["tableFetchingError"]="TABLE_FETCHING_ERROR";QueryStoreStatus["updated"]="UPDATED";QueryStoreStatus["partial"]="PARTIAL"})(QueryStoreStatus||(QueryStoreStatus={}));class QueryStore{constructor(queries,status,subsctiptions){this.queries=void 0;this.status=void 0;this.loaders=void 0;this.queries=queries||new _hopara_dataset__WEBPACK_IMPORTED_MODULE_0__["g"];this.status=status||QueryStoreStatus.none;this.loaders=subsctiptions||[]}setQueries(queries){return new QueryStore(queries,QueryStoreStatus.updated,this.loaders)}setStatus(status){return new QueryStore(this.queries,status,this.loaders)}setLoaders(queryLoaders){return new QueryStore(this.queries,this.status,queryLoaders)}getLoader(query){return this.loaders.find((loader=>loader.name===query.name&&loader.source===query.dataSource))}isPartialQueries(){return this.status===QueryStoreStatus.partial}}__webpack_exports__["b"]=QueryStore},function(module,exports,__webpack_require__){module.exports={transitionBlock:"ViewTransition_transitionBlock__3-hy8",enter:"ViewTransition_enter__1qfMc",enterActive:"ViewTransition_enterActive__3-7mt",enterDone:"ViewTransition_enterDone__1pAFe",exit:"ViewTransition_exit__3gsBJ",exitActive:"ViewTransition_exitActive__3ephY"}},function(module,exports){module.exports=require("@turf/centroid")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return Projector_Projector}));__webpack_require__.d(__webpack_exports__,"a",(function(){return BoxProjector_BoxProjector}));__webpack_require__.d(__webpack_exports__,"c",(function(){return RowProjector_RowProjector}));var src=__webpack_require__(9);class Projector_Projector{constructor(scaleDomains,worldBox){this.scales=void 0;this.scales={x:this.createScales(scaleDomains.x,worldBox.x),y:this.createScales(scaleDomains.y,worldBox.y),z:scaleDomains.z&&worldBox.z?this.createScales(scaleDomains.z,worldBox.z):undefined}}createScales(scaleDomains,range){return Object.keys(scaleDomains).reduce(((scales,scaleType)=>({...scales,[scaleType]:Object(src["l"])(scaleType).range(range.toPlain()).domain([scaleDomains[scaleType].domainMin,scaleDomains[scaleType].domainMax])})),{})}hasAllScalesSetted(xScaleType,yScaleType){const hasX=!!this.scales.x[xScaleType];const hasY=!!this.scales.y[yScaleType];return hasX&&hasY}projectX(value,scaleType){var _this$scales$x$scaleT;if(!scaleType)return undefined;const scale=(_this$scales$x$scaleT=this.scales.x[scaleType])!==null&&_this$scales$x$scaleT!==void 0?_this$scales$x$scaleT:this.scales.x[Object.keys(this.scales.x)[0]];if(!scale)return undefined;return scale(value)}projectY(value,scaleType){var _this$scales$y$scaleT;if(!scaleType)return undefined;const scale=(_this$scales$y$scaleT=this.scales.y[scaleType])!==null&&_this$scales$y$scaleT!==void 0?_this$scales$y$scaleT:this.scales.y[Object.keys(this.scales.y)[0]];if(!scale)return undefined;return scale(value)}projectZ(value){return value}project(point,xScaleType,yScaleType){if(!this.hasAllScalesSetted(xScaleType,yScaleType))return;const p=[this.projectX(point[0],xScaleType),this.projectY(point[1],yScaleType)];if(point[2]!==undefined){p.push(this.projectZ(point[2]))}return p}unprojectX(value,scaleType){var _this$scales$x$scaleT2;if(!scaleType)return 0;const scale=(_this$scales$x$scaleT2=this.scales.x[scaleType])!==null&&_this$scales$x$scaleT2!==void 0?_this$scales$x$scaleT2:this.scales.x[Object.keys(this.scales.x)[0]];if(!scale||value===undefined||value===null)return 0;return scale.invert(value)}unprojectY(value,scaleType){var _this$scales$y$scaleT2;if(!scaleType)return 0;const scale=(_this$scales$y$scaleT2=this.scales.y[scaleType])!==null&&_this$scales$y$scaleT2!==void 0?_this$scales$y$scaleT2:this.scales.y[Object.keys(this.scales.y)[0]];if(!scale||value===undefined||value===null)return 0;return scale.invert(value)}unprojectZ(value){return value}unproject(point,xScaleType,yScaleType){if(!this.hasAllScalesSetted(xScaleType,yScaleType))return;const p=[this.unprojectX(point[0],xScaleType),this.unprojectY(point[1],yScaleType)];if(point[2]!==undefined){p.push(this.unprojectZ(point[2]))}return p}}var spatial_src=__webpack_require__(7);class BoxProjector_BoxProjector{constructor(projector,xScaleType,yScaleType){this.projector=void 0;this.xScaleType=void 0;this.yScaleType=void 0;this.projector=projector;this.xScaleType=xScaleType;this.yScaleType=yScaleType}project(box){return new spatial_src["b"]({x:new spatial_src["e"]({min:this.projector.projectX(box.x.getMin(),this.xScaleType),max:this.projector.projectX(box.x.getMax(),this.xScaleType)}),y:new spatial_src["e"]({min:this.projector.projectY(box.y.getMin(),this.yScaleType),max:this.projector.projectY(box.y.getMax(),this.yScaleType)}),z:box.z?new spatial_src["e"]({min:this.projector.projectZ(box.z.getMin()),max:this.projector.projectZ(box.z.getMax())}):undefined})}unproject(box){return new spatial_src["b"]({x:new spatial_src["e"]({min:this.projector.unprojectX(box.x.getMin(),this.xScaleType),max:this.projector.unprojectX(box.x.getMax(),this.xScaleType)}),y:new spatial_src["e"]({min:this.projector.unprojectY(box.y.getMin(),this.yScaleType),max:this.projector.unprojectY(box.y.getMax(),this.yScaleType)}),z:box.z?new spatial_src["e"]({min:this.projector.unprojectZ(box.z.getMin()),max:this.projector.unprojectZ(box.z.getMax())}):undefined})}}var dataset_src=__webpack_require__(6);var centroid_=__webpack_require__(43);var centroid_default=__webpack_require__.n(centroid_);var helpers_=__webpack_require__(21);var fp_=__webpack_require__(3);class RowProjector_RowProjector{constructor(projector,scales){this.projector=void 0;this.scales=void 0;this.projector=projector;this.scales=scales}isPoint(value){return value.length===1}isPolygon(value){return value[0][0]===value[value.length-1][0]&&value[0][1]===value[value.length-1][1]}getGeometry(value){if(Object(fp_["isArray"])(value)){if(this.isPoint(value))return Object(helpers_["point"])(value[0]);if(this.isPolygon(value))return Object(helpers_["polygon"])([value]);return Object(helpers_["lineString"])(value)}return value}getCentroid(value){try{const geometry=this.getGeometry(value);const centroidGeoJson=centroid_default()(geometry);return centroidGeoJson.geometry.coordinates}catch(_){return[0,0]}}projectGeometry(data,index){if(Object(fp_["isArray"])(data))return data.map(this.projectGeometry.bind(this));if(index===0)return this.projector.projectX(Number(data),this.scales.x.type);if(index===1)return this.projector.projectY(Number(data),this.scales.y.type);if(index===2)return this.projector.projectZ(Number(data));return data}unprojectValue(value,index){if(index===0)return this.projector.unprojectX(Number(value),this.scales.x.type);if(index===1)return this.projector.unprojectY(Number(value),this.scales.y.type);if(index===2)return this.projector.unprojectZ(Number(value));return 0}unprojectGeometry(data,index){if(Object(fp_["isArray"])(data))return data.map(this.unprojectGeometry.bind(this));return this.unprojectValue(data,index)}isRowPlaced(row){return!((this.scales.x.type===src["i"].NULL||Object(fp_["isNil"])(row._x))&&(this.scales.y.type===src["i"].NULL||Object(fp_["isNil"])(row._y)))}project(rows,filterNotPlaceds){const projectedRows=rows.map((row=>{const projectedRow=this.projectRow(row);return new dataset_src["i"](projectedRow)}));if(filterNotPlaceds){return projectedRows.filter(this.isRowPlaced.bind(this))}return projectedRows}projectRow(row){var _this$scales$z;let xValue=row[this.scales.x.field];let yValue=row[this.scales.y.field];if(Object(fp_["isObject"])(row[this.scales.x.field])&&!(row[this.scales.x.field]instanceof Date)){const centroid=this.getCentroid(row[this.scales.x.field]);xValue=centroid[0];yValue=centroid[1]}return new dataset_src["i"]({...row,[this.scales.x.field]:Object(fp_["isArray"])(row[this.scales.x.field])?this.projectGeometry(row[this.scales.x.field]):row[this.scales.x.field],_x:this.projector.projectX(xValue,this.scales.x.type),_y:this.projector.projectY(yValue,this.scales.y.type),_z:(_this$scales$z=this.scales.z)!==null&&_this$scales$z!==void 0&&_this$scales$z.field?this.projector.projectZ(row[this.scales.z.field]):undefined})}unprojectX(row){return row["_x"]===null?null:this.projector.unprojectX(row._x,this.scales.x.type)}unprojectZ(row){return row["_z"]===null?null:this.projector.unprojectZ(row._z)}unprojectY(row){return row["_y"]===null?null:this.projector.unprojectY(row._y,this.scales.y.type)}unprojectRow(row){var _this$scales$z2;const unprojectedValues={};if(Object(fp_["isArray"])(row[this.scales.x.field])){unprojectedValues[this.scales.x.field]=this.unprojectGeometry(row[this.scales.x.field])}else if(this.scales.x.field===this.scales.y.field){if(Object(fp_["isNil"])(this.unprojectX(row))||Object(fp_["isNil"])(this.unprojectY(row))){unprojectedValues[this.scales.x.field]=null}else{unprojectedValues[this.scales.x.field]=[[this.unprojectX(row),this.unprojectY(row)]]}}else{unprojectedValues[this.scales.x.field]=this.unprojectX(row);unprojectedValues[this.scales.y.field]=this.unprojectY(row)}if(row["_z"]!==undefined&&(_this$scales$z2=this.scales.z)!==null&&_this$scales$z2!==void 0&&_this$scales$z2.field){unprojectedValues[this.scales.z.field]=this.unprojectZ(row)}return Object(fp_["omit"])(["_x","_y","_z"],{...row,...unprojectedValues})}unproject(rows){return rows.map((row=>{const unprojectedRow=this.unprojectRow(row);return new dataset_src["i"](unprojectedRow)}))}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return ZoomBehaviorType}));var _opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(13);var _opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(12);var _opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerWarningHelper_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(40);var class_transformer__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(8);var class_transformer__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(class_transformer__WEBPACK_IMPORTED_MODULE_3__);var _hopara_spatial__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7);var _world_World__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(37);var _zoom_ZoomRange__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(39);var _dec,_dec2,_dec3,_dec4,_dec5,_dec6,_dec7,_dec8,_dec9,_dec10,_class,_descriptor,_descriptor2,_descriptor3,_descriptor4,_descriptor5,_descriptor6,_descriptor7,_descriptor8;let ZoomBehaviorType;(function(ZoomBehaviorType){ZoomBehaviorType["FIXED"]="FIXED";ZoomBehaviorType["SCALE"]="SCALE"})(ZoomBehaviorType||(ZoomBehaviorType={}));let Visualization=(_dec=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Expose"])(),_dec2=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Transform"])((_ref=>{let{value}=_ref;return value==="VEGA"?"CARTESIAN":value})),_dec3=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Expose"])(),_dec4=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Expose"])(),_dec5=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Expose"])(),_dec6=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Expose"])(),_dec7=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Transform"])((_ref2=>{let{value}=_ref2;return new _zoom_ZoomRange__WEBPACK_IMPORTED_MODULE_6__["a"](value)})),_dec8=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Expose"])(),_dec9=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Expose"])(),_dec10=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Expose"])(),_class=class Visualization{constructor(props){Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"id",_descriptor,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"type",_descriptor2,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"name",_descriptor3,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"initialPosition",_descriptor4,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"mapStyle",_descriptor5,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"zoomRange",_descriptor6,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"zoomBehavior",_descriptor7,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"sizeRatio",_descriptor8,this);Object.assign(this,props)}getMapStyle(){if(!this.isGeo)return;return this.mapStyle}getInitialCoordinates(){return new _hopara_spatial__WEBPACK_IMPORTED_MODULE_4__["c"](this.initialPosition)}getSizeRatio(){if(!this.sizeRatio)return{width:1,height:1};return this.sizeRatio}getInitialZoom(){return this.initialPosition&&this.initialPosition.zoom||0}getInitialBearing(){return this.initialPosition&&this.initialPosition.bearing||0}setInitialPosition(coordinates,zoom,bearing){this.initialPosition={x:coordinates.x,y:coordinates.y,z:coordinates.z,zoom,bearing};if(this.isGeo()){this.initialPosition.longitude=coordinates.x;this.initialPosition.latitude=coordinates.y}}isGeo(){return this.type===_world_World__WEBPACK_IMPORTED_MODULE_5__["b"].GEO}isCartesian(){return this.type===_world_World__WEBPACK_IMPORTED_MODULE_5__["b"].CARTESIAN}isCustom(){return this.type===_world_World__WEBPACK_IMPORTED_MODULE_5__["b"].CUSTOM}isOrbit(){return this.type===_world_World__WEBPACK_IMPORTED_MODULE_5__["b"].ORBIT}getName(){var _this$name;return(_this$name=this.name)!==null&&_this$name!==void 0?_this$name:`Visualization ${this.id}`}setMapStyle(mapStyle){this.mapStyle=mapStyle}},_descriptor=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"id",[_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor2=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"type",[_dec2,_dec3],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor3=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"name",[_dec4],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor4=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"initialPosition",[_dec5],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor5=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"mapStyle",[_dec6],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor6=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"zoomRange",[_dec7,_dec8],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor7=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"zoomBehavior",[_dec9],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor8=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"sizeRatio",[_dec10],{configurable:true,enumerable:true,writable:true,initializer:null}),_class);__webpack_exports__["b"]=Visualization},function(module,exports){module.exports=require("query-string")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return ColorScaleType}));let ColorScaleType;(function(ColorScaleType){ColorScaleType["QUANTILE"]="quantile";ColorScaleType["QUANTIZE"]="quantize";ColorScaleType["ORDINAL"]="ordinal"})(ColorScaleType||(ColorScaleType={}))},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return FilterType}));let FilterType;(function(FilterType){FilterType["DEFAULT"]="categorical";FilterType["CATEGORICAL"]="categorical";FilterType["RANGE"]="range"})(FilterType||(FilterType={}))},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return CategoricalFilter}));var _opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(13);var _opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(12);var _opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerWarningHelper_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(40);var class_transformer__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(8);var class_transformer__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(class_transformer__WEBPACK_IMPORTED_MODULE_3__);var lodash_fp__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(3);var lodash_fp__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_4__);var reflect_metadata__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(51);var reflect_metadata__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(reflect_metadata__WEBPACK_IMPORTED_MODULE_5__);var _Filter__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(48);var _dec,_dec2,_dec3,_dec4,_dec5,_dec6,_dec7,_dec8,_dec9,_class,_descriptor,_descriptor2,_descriptor3,_descriptor4,_descriptor5,_descriptor6,_descriptor7,_descriptor8;let CategoricalFilter=(_dec=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Exclude"])({toPlainOnly:true}),_dec2=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Exclude"])({toPlainOnly:true}),_dec3=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Exclude"])({toPlainOnly:true}),_dec4=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Exclude"])({toPlainOnly:true}),_dec5=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Exclude"])({toPlainOnly:true}),_dec6=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Exclude"])({toPlainOnly:true}),_dec7=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Exclude"])({toPlainOnly:true}),_dec8=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Exclude"])({toPlainOnly:true}),_dec9=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Expose"])(),_class=class CategoricalFilter{constructor(props){this.type=void 0;this.hidden=void 0;this.exactMatch=void 0;this.field=void 0;Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"data",_descriptor,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"singleChoice",_descriptor2,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"required",_descriptor3,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"searchTerm",_descriptor4,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"visualizationId",_descriptor5,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"_values",_descriptor6,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"_options",_descriptor7,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"_searchResults",_descriptor8,this);if(!props)return;if(props)Object.assign(this,props);if(!props.type)this.type=_Filter__WEBPACK_IMPORTED_MODULE_6__["a"].CATEGORICAL}get values(){if((this.singleChoice||this.required)&&this._values.length<1)return Object(lodash_fp__WEBPACK_IMPORTED_MODULE_4__["take"])(1,this.options);if(this.singleChoice&&this._values.length>0)return Object(lodash_fp__WEBPACK_IMPORTED_MODULE_4__["take"])(1,this._values);return this._values}set values(values){this._values=values}get options(){return Object(lodash_fp__WEBPACK_IMPORTED_MODULE_4__["unionWith"])(lodash_fp__WEBPACK_IMPORTED_MODULE_4__["isEqual"],this._options,this._values)}set options(options){this._options=options}set searchResults(results){if(!Object(lodash_fp__WEBPACK_IMPORTED_MODULE_4__["isArray"])(results))return;this._searchResults=results}get searchResults(){return Object(lodash_fp__WEBPACK_IMPORTED_MODULE_4__["difference"])(this._searchResults,this.values)}withValues(values){const cloned=this.clone();cloned.values=values;return cloned}clone(){return new CategoricalFilter(this)}getValuesWithoutDefaults(){if(!this.singleChoice&&!this.required)return this._values;if(this._values.length===1&&Object(lodash_fp__WEBPACK_IMPORTED_MODULE_4__["head"])(this._values)===Object(lodash_fp__WEBPACK_IMPORTED_MODULE_4__["head"])(this.options))return[];return this._values}addValue(value){if(this._values.indexOf(value)>-1)return this;this._values.push(value);return this}removeValue(value){const valueIndex=this._values.indexOf(value);if(valueIndex>-1){this._values.splice(valueIndex,1)}return this}hasValue(value){return this.values.indexOf(value)>-1}hasValues(){return this.values.length>0}toggleValue(value){if(this.hasValue(value)){return this.removeValue(value)}else if(this.singleChoice){this.values=[value];return this}return this.addValue(value)}isRanged(){return false}toPlain(){return Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["classToPlain"])(this)}},_descriptor=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"data",[_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor2=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"singleChoice",[_dec2],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor3=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"required",[_dec3],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor4=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"searchTerm",[_dec4],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor5=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"visualizationId",[_dec5],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor6=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"_values",[_dec6],{configurable:true,enumerable:true,writable:true,initializer:function(){return[]}}),_descriptor7=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"_options",[_dec7],{configurable:true,enumerable:true,writable:true,initializer:function(){return[]}}),_descriptor8=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"_searchResults",[_dec8],{configurable:true,enumerable:true,writable:true,initializer:function(){return[]}}),Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"values",[_dec9],Object.getOwnPropertyDescriptor(_class.prototype,"values"),_class.prototype),_class)},function(module,exports){module.exports=require("react-toastify")},function(module,exports){module.exports=require("reflect-metadata")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return actions}));var _hopara_spatial__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(7);var lodash_fp__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(3);var lodash_fp__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_1__);var _view_state_ViewState__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(60);var _state_Actions__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(1);var typesafe_actions__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(2);var typesafe_actions__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(typesafe_actions__WEBPACK_IMPORTED_MODULE_4__);const viewActions=dispatch=>(viewStates,worlds,visualizations,hasSelectedRow,tooltipEnabled)=>({onViewLoad:(dimensions,deckViewState)=>{var _worlds$getFromVisual;const currentVisualization=visualizations.getCurrent();const currentWorld=worlds.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id);if(!currentVisualization||!currentWorld)return;const previousViewState=viewStates.getFromVisualization(currentVisualization.id);const coordinates=Object(_view_state_ViewState__WEBPACK_IMPORTED_MODULE_2__["b"])(previousViewState.coordinates,visualizations.getCurrent(),dimensions);const viewState=previousViewState.withDeckViewState(currentWorld,deckViewState).withInitialCoordinates(new _hopara_spatial__WEBPACK_IMPORTED_MODULE_0__["c"]({x:dimensions.width/2,y:dimensions.height/2})).withCoordinates(coordinates);const world=(_worlds$getFromVisual=worlds.getFromVisualization(currentVisualization.id))===null||_worlds$getFromVisual===void 0?void 0:_worlds$getFromVisual.withInitialDimensions(dimensions);if(visualizations.getCurrentIndex()>0){dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_3__["a"].view.jumpViewLoaded({visualizationId:currentVisualization.id,viewStates:viewStates.withUpdatedViewState(viewState),world}))}else{dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_3__["a"].view.viewLoaded({visualizationId:currentVisualization.id,viewStates:viewStates.withUpdatedViewState(viewState),world}))}},onViewZooming:event=>{var _event$viewState,_event$oldViewState;const currentVisualization=visualizations.getCurrent();const currentWorld=worlds.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id);if(!currentVisualization||!currentWorld)return;const viewState=viewStates.getFromVisualization(currentVisualization.id).withDeckViewState(currentWorld,event.viewState);dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_3__["a"].view.viewZooming({direction:((_event$viewState=event.viewState)===null||_event$viewState===void 0?void 0:_event$viewState.zoom)>((_event$oldViewState=event.oldViewState)===null||_event$oldViewState===void 0?void 0:_event$oldViewState.zoom)?"IN":"OUT",viewStates:viewStates.withUpdatedViewState(viewState)}))},onViewResize:_ref=>{let{width,height}=_ref;const currentVisualization=visualizations.getCurrent();if(!currentVisualization)return;const currentWorld=worlds.getFromVisualization(currentVisualization.id);if(!currentWorld||Object(lodash_fp__WEBPACK_IMPORTED_MODULE_1__["isEqual"])(currentWorld===null||currentWorld===void 0?void 0:currentWorld.getDimensions(),{width,height})||!(currentWorld!==null&¤tWorld!==void 0&¤tWorld.type))return;const previousViewState=viewStates.getFromVisualization(currentVisualization.id);const coordinates=Object(_view_state_ViewState__WEBPACK_IMPORTED_MODULE_2__["b"])(previousViewState.coordinates,visualizations.getCurrent(),{width,height});const viewState=previousViewState.withInitialCoordinates(new _hopara_spatial__WEBPACK_IMPORTED_MODULE_0__["c"]({x:width/2,y:height/2})).withCoordinates(coordinates);return dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_3__["a"].view.viewResized({world:currentWorld.withDimensions({width,height}),viewState}))},onViewHover:info=>{if(info.object||!hasSelectedRow&&!tooltipEnabled)return;return dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_3__["a"].layer.mouseLeft())},onViewClick:info=>{if(info.object||!hasSelectedRow&&!tooltipEnabled)return;return dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_3__["a"].layer.clickOut())},onViewDragStart:info=>{if(!info)return;return dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_3__["a"].view.viewDragStart({}))},onViewDragEnd:(info,deckViewState)=>{if(!info)return;const currentVisualization=visualizations.getCurrent();if(!currentVisualization)return;const currentViewState=viewStates.getFromVisualization(currentVisualization.id);const currentWorld=worlds.getFromVisualization(currentVisualization.id);if(!currentViewState||!currentWorld)return;const updatedViewState=currentViewState.withDeckViewState(currentWorld,deckViewState);const oldProjectedCoordinates=updatedViewState.projectCoordinate(currentWorld,[currentViewState.coordinates.x,currentViewState.coordinates.y]);const nextProjectedCoordinates=updatedViewState.projectCoordinate(currentWorld,[updatedViewState.coordinates.x,updatedViewState.coordinates.y]);const displacementDelta={x:oldProjectedCoordinates[0]-nextProjectedCoordinates[0],y:oldProjectedCoordinates[1]-nextProjectedCoordinates[1]};return dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_3__["a"].view.viewDragEnd({viewStates:viewStates.withUpdatedViewState(updatedViewState),displacementDelta}))}});__webpack_exports__["b"]=viewActions;const actions={viewLoaded:Object(typesafe_actions__WEBPACK_IMPORTED_MODULE_4__["createAction"])("VIEW_LOADED")(),jumpViewLoaded:Object(typesafe_actions__WEBPACK_IMPORTED_MODULE_4__["createAction"])("JUMP_VIEW_LOADED")(),viewResized:Object(typesafe_actions__WEBPACK_IMPORTED_MODULE_4__["createAction"])("VIEW_RESIZED")(),viewZooming:Object(typesafe_actions__WEBPACK_IMPORTED_MODULE_4__["createAction"])("VIEW_ZOOMING")(),viewDragStart:Object(typesafe_actions__WEBPACK_IMPORTED_MODULE_4__["createAction"])("VIEW_DRAG_START")(),viewDragEnd:Object(typesafe_actions__WEBPACK_IMPORTED_MODULE_4__["createAction"])("VIEW_DRAG_END")()}},function(module,exports){module.exports=require("js-sentencecase")},function(module,exports){module.exports=require("case")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return FilterType}));__webpack_require__.d(__webpack_exports__,"b",(function(){return toDatasetFilters}));let FilterType;(function(FilterType){FilterType["RANGE"]="range";FilterType["INTERSECT"]="intersect"})(FilterType||(FilterType={}));var ComparisonType;(function(ComparisonType){ComparisonType["GREATER_EQUALS_THAN"]="GREATER_EQUALS_THAN";ComparisonType["LESS_EQUALS_THAN"]="LESS_EQUALS_THAN";ComparisonType["PARTIAL_MATCH"]="PARTIAL_MATCH";ComparisonType["EQUALS"]="EQUALS";ComparisonType["INTERSECTS"]="INTERSECTS"})(ComparisonType||(ComparisonType={}));function convertRangeFilter(filter){const datasetFilters=[];const minValue=filter.values[0];if(minValue!==null&&minValue!==undefined&&!Number.isNaN(minValue)){const minFilter={column:filter.field,values:[minValue],comparisonType:ComparisonType.GREATER_EQUALS_THAN,logicalOperator:filter.logicalOperator};datasetFilters.push(minFilter)}const maxValue=filter.values[1];if(maxValue!==null&&maxValue!==undefined&&!Number.isNaN(maxValue)){const maxFilter={column:filter.field,values:[maxValue],comparisonType:ComparisonType.LESS_EQUALS_THAN,logicalOperator:filter.logicalOperator};datasetFilters.push(maxFilter)}return datasetFilters}function getComparisonType(filter){if(filter.type===FilterType.INTERSECT){return ComparisonType.INTERSECTS}if(filter.exactMatch){return ComparisonType.EQUALS}else{return ComparisonType.PARTIAL_MATCH}}function convertDefaultFilter(filter){const datasetFilters=[];const datasetFilter={column:filter.field,values:filter.values,comparisonType:getComparisonType(filter),logicalOperator:filter.logicalOperator};datasetFilters.push(datasetFilter);return datasetFilters}function filterToDatasetFilter(filter){if(filter.type==FilterType.RANGE){return convertRangeFilter(filter)}else{return convertDefaultFilter(filter)}}function toDatasetFilters(filters){if(filters){return filters.map((filter=>filterToDatasetFilter(filter))).flat()}return[]}},function(module,exports){module.exports=require("@mui/material/Box")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"c",(function(){return getSchemes}));__webpack_require__.d(__webpack_exports__,"a",(function(){return getHexScheme}));__webpack_require__.d(__webpack_exports__,"b",(function(){return getRgbScheme}));var _hopara_memoize__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(84);var vega__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(26);var vega__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(vega__WEBPACK_IMPORTED_MODULE_1__);var ___WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(9);var _Colors__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(20);const continuous=["blues","greens","greys","oranges","purples","reds","blueGreen","bluePurple","greenBlue","orangeRed","purpleBlue","purpleBlueGreen","purpleRed","redPurple","yellowGreen","yellowOrangeBrown","yellowOrangeRed","blueOrange","brownBlueGreen","purpleGreen","purpleOrange","redBlue","redGrey","yellowGreenBlue","redYellowBlue","redYellowGreen","pinkYellowGreen","spectral","viridis","magma","inferno","plasma","cividis","rainbow","sinebow","turbo","browns","tealBlues","teals","warmGreys","goldGreen","goldOrange","goldRed","lightGreyRed","lightGreyTeal","lightMulti","lightOrange","lightTealBlue","darkBlue","darkGold","darkGreen","darkMulti","darkRed"];const discrete=["category10","category20","category20b","category20c","tableau10","tableau20","accent","dark2","paired","pastel1","pastel2","set1","set2","set3"];const schemeNames=[...continuous,...discrete];const getSchemes=length=>{const continuousSteps=Array.from({length},((_,i)=>(i+1)/length));const discreteSteps=Array.from({length},((_,i)=>i));return Object.fromEntries(schemeNames.map((name=>{let colors=Object(vega__WEBPACK_IMPORTED_MODULE_1__["scheme"])(name);if(typeof colors==="function"){colors=continuousSteps.map((step=>colors(step)))}else{colors=discreteSteps.map((step=>colors[step]))}return[name.toLowerCase(),colors]})))};Object(vega__WEBPACK_IMPORTED_MODULE_1__["scheme"])("temperature",["#3690c0","#800026"]);const DEFAULT_COLOR_SCHEME="purpleblue";const seqPaletteSteps=Array.from({length:9},((_,i)=>(i+1)/10));function getScheme(paletteName){const name=paletteName.toLocaleLowerCase();let colors=Object(vega__WEBPACK_IMPORTED_MODULE_1__["scheme"])(paletteName);if(!colors)return null;if(typeof colors==="function"){colors=seqPaletteSteps.map((step=>Object(_Colors__WEBPACK_IMPORTED_MODULE_3__["b"])(colors(step))))}else{colors=colors.map((c=>Object(_Colors__WEBPACK_IMPORTED_MODULE_3__["b"])(c)))}if(!colors.length)return null;return{name,colors}}const getOpacity=function(){let alpha=arguments.length>0&&arguments[0]!==undefined?arguments[0]:255;return alpha/255};const getCustomScheme=scheme=>({name:"custom",colors:scheme.map((color=>{if(Array.isArray(color)){return Object(_Colors__WEBPACK_IMPORTED_MODULE_3__["b"])(`rgba(${color[0]}, ${color[1]}, ${color[2]}, ${getOpacity(color[3])})`)}return Object(_Colors__WEBPACK_IMPORTED_MODULE_3__["b"])(color)}))});function formatColorScheme(scheme,colorFormat){let opacity=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;let colorScheme;if(typeof scheme==="string"){colorScheme=getScheme(scheme.toLocaleLowerCase())}else if(Array.isArray(scheme)){colorScheme=getCustomScheme(scheme)}if(!colorScheme){colorScheme=getScheme(DEFAULT_COLOR_SCHEME)}return{name:colorScheme.name,colors:colorScheme.colors.map((c=>{const color=c.copy({opacity});if(colorFormat===___WEBPACK_IMPORTED_MODULE_2__["b"].hex)return color.formatHex();return Object(_Colors__WEBPACK_IMPORTED_MODULE_3__["c"])(color)}))}}function getHexScheme(scheme){let reverse=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;const colorScheme=formatColorScheme(scheme,___WEBPACK_IMPORTED_MODULE_2__["b"].hex);if(reverse)return{name:`${colorScheme.name}-reversed`,colors:[...colorScheme.colors].reverse()};return colorScheme}function doGetRgbScheme(name,reverse,opacity){const colorScheme=formatColorScheme(name,___WEBPACK_IMPORTED_MODULE_2__["b"].rgb,opacity);if(reverse)return{name:`${colorScheme.name}-reversed`,colors:[...colorScheme.colors].reverse()};return colorScheme}const getRgbSchemeCache=Object(_hopara_memoize__WEBPACK_IMPORTED_MODULE_0__["a"])(doGetRgbScheme);function getRgbScheme(scheme){let reverse=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;let opacity=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;return getRgbSchemeCache(scheme,reverse,opacity)}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Row}));var _Geti__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(64);class Row{constructor(values){this._id=void 0;this._x=void 0;this._y=void 0;Object.assign(this,values)}getValue(key){return Object(_Geti__WEBPACK_IMPORTED_MODULE_0__["a"])(key,this)}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return ScaleKeys}));__webpack_require__.d(__webpack_exports__,"a",(function(){return NullScaleKeys}));var _ScaleType__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(35);const NullScale={field:"_HP_NULL_FIELD_",type:_ScaleType__WEBPACK_IMPORTED_MODULE_0__["b"].NULL};class ScaleKeys{constructor(x,y,z){var _x$type,_y$type,_z$type;this.x=void 0;this.y=void 0;this.z=void 0;this.x=x!==null&&x!==void 0&&x.field?{type:(_x$type=x.type)!==null&&_x$type!==void 0?_x$type:_ScaleType__WEBPACK_IMPORTED_MODULE_0__["b"].LINEAR,field:x.field}:NullScale;this.y=y!==null&&y!==void 0&&y.field?{type:(_y$type=y.type)!==null&&_y$type!==void 0?_y$type:_ScaleType__WEBPACK_IMPORTED_MODULE_0__["b"].LINEAR,field:y.field}:NullScale;this.z=z!==null&&z!==void 0&&z.field?{type:(_z$type=z===null||z===void 0?void 0:z.type)!==null&&_z$type!==void 0?_z$type:_ScaleType__WEBPACK_IMPORTED_MODULE_0__["b"].LINEAR,field:z.field}:NullScale}setZ(scaleKey){var _scaleKey$type;this.z=scaleKey.field?{type:(_scaleKey$type=scaleKey===null||scaleKey===void 0?void 0:scaleKey.type)!==null&&_scaleKey$type!==void 0?_scaleKey$type:_ScaleType__WEBPACK_IMPORTED_MODULE_0__["b"].LINEAR,field:scaleKey.field}:undefined}}class NullScaleKeys extends ScaleKeys{constructor(){super({},{})}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return getCoordinates}));var core_=__webpack_require__(31);var fp_=__webpack_require__(3);var OrthographicView=__webpack_require__(61);var Visualization=__webpack_require__(45);var src=__webpack_require__(7);function getPosition(coordinates,zoom,bearing){const position={coordinates:new src["c"],zoom:0,bearing:0};if(zoom){position.zoom=zoom}if(coordinates){position.coordinates=coordinates}if(bearing){position.bearing=bearing}return position}var World=__webpack_require__(37);var ZoomRange=__webpack_require__(39);var Paddings=__webpack_require__(86);const getCoordinates=(previousCoordinates,visualization,viewDimensions)=>{if(previousCoordinates&&!previousCoordinates.isAtOrigin())return previousCoordinates;if(!visualization||!viewDimensions)return;if(visualization.getInitialCoordinates().default&&visualization.type===World["b"].CARTESIAN&&viewDimensions){return new src["c"]({x:viewDimensions.width/2,y:viewDimensions.height/2})}return visualization.getInitialCoordinates()};class ViewState_ViewState{constructor(props){this.visualizationId=void 0;this.coordinates=void 0;this.zoom=void 0;this.zoomRange=void 0;this.bearing=void 0;this._initialPosition=void 0;this._lastModified=void 0;this.transitioning=void 0;this.transitionDuration=void 0;this.zoomBehavior=void 0;this.rotationOrbit=void 0;this.rotationX=void 0;this.normalizedViewPortCache=void 0;Object.assign(this,props);if(props){const position=getPosition(props.coordinates,props.zoom,props.bearing);Object.assign(this,props,position);if(!this._initialPosition){this._initialPosition=position}}if(!this.coordinates)this.coordinates=new src["c"]({x:0,y:0});if(!this.zoomRange||!this.zoomRange.getMin()&&!this.zoomRange.getMax()){this.zoomRange=new ZoomRange["a"]({min:{fixed:{value:0}},max:{fixed:{value:20}}})}if(!this.zoom)this.zoom=0;if(!this.bearing)this.bearing=0}getDeckViewState(world){var _world$getDimensions,_world$getDimensions2;const deckViewState={pitch:0,bearing:this.bearing,minZoom:this.getMinZoom(),maxZoom:this.getMaxZoom(),x:this.coordinates.x,y:this.coordinates.y,longitude:(world===null||world===void 0?void 0:world.isGeo())&&this.coordinates.x,latitude:(world===null||world===void 0?void 0:world.isGeo())&&this.coordinates.y,target:this.coordinates.toArray(),zoom:this.zoom,height:world===null||world===void 0?void 0:(_world$getDimensions=world.getDimensions())===null||_world$getDimensions===void 0?void 0:_world$getDimensions.height,width:world===null||world===void 0?void 0:(_world$getDimensions2=world.getDimensions())===null||_world$getDimensions2===void 0?void 0:_world$getDimensions2.width,rotationOrbit:this.rotationOrbit,rotationX:this.rotationX};if(this.transitioning&&world){return{...this.getTransitionProps(world),...deckViewState}}return deckViewState}clone(){return new ViewState_ViewState({...this,normalizedViewPortCache:null,transitioning:false,_lastModified:Date.now()})}getInterpolator(world){if(world.isGeo()){return new core_["FlyToInterpolator"]}else{return new core_["LinearInterpolator"](["target","zoom"])}}getTransitionProps(world){var _this$transitionDurat;return{transitionInterpolator:this.getInterpolator(world),transitionDuration:(_this$transitionDurat=this.transitionDuration)!==null&&_this$transitionDurat!==void 0?_this$transitionDurat:500}}isTransitioning(){return!!this.transitioning}transition(positon,duration){var _positon$zoom,_positon$bearing;const cloned=this.clone();cloned.zoom=(_positon$zoom=positon.zoom)!==null&&_positon$zoom!==void 0?_positon$zoom:this.zoom;cloned.bearing=(_positon$bearing=positon.bearing)!==null&&_positon$bearing!==void 0?_positon$bearing:this.bearing;cloned.coordinates=positon.coordinates;cloned.transitioning=true;cloned.transitionDuration=duration;return cloned}zoomTransition(zoom){const cloned=this.clone();if(zoom<=this.getMinZoom()){cloned.zoom=this.getMinZoom()}else if(zoom>=this.getMaxZoom()){cloned.zoom=this.getMaxZoom()}else{cloned.zoom=zoom}cloned.transitioning=true;return cloned}getOrtographicViewPortProps(world,deckViewState){var _world$getDimensions3,_world$getDimensions4;const paddings=Object(Paddings["a"])(world);return{...deckViewState,flipY:false,x:paddings.viewHorizontalPadding+(world===null||world===void 0?void 0:world.getPaddingLeft())/2,y:paddings.axesVerticalPadding,fixedX:this.zoomBehavior.x===Visualization["a"].FIXED,fixedY:this.zoomBehavior.y===Visualization["a"].FIXED,translationMatrix:[paddings.viewHorizontalPadding+paddings.axesHorizontalPadding/2,paddings.viewVertialPadding+paddings.axesVerticalPadding/2,0],initialCoordinates:this._initialPosition.coordinates,height:world===null||world===void 0?void 0:(_world$getDimensions3=world.getDimensions())===null||_world$getDimensions3===void 0?void 0:_world$getDimensions3.height,width:world===null||world===void 0?void 0:(_world$getDimensions4=world.getDimensions())===null||_world$getDimensions4===void 0?void 0:_world$getDimensions4.width}}createViewPort(world,deckViewState){if(world.isGeo())return new core_["WebMercatorViewport"](deckViewState);return new OrthographicView["a"](this.getOrtographicViewPortProps(world,deckViewState))}getViewPort(world,deckViewState){return this.createViewPort(world,deckViewState!==null&&deckViewState!==void 0?deckViewState:this.getDeckViewState(world))}getNormalizedViewPort(world){if(this.normalizedViewPortCache){return this.normalizedViewPortCache}const deckViewState=Object(fp_["omit"])(["width","height"],this.getDeckViewState(world));const normalizedDeckViewState={...deckViewState,bearing:0};this.normalizedViewPortCache=this.createViewPort(world,normalizedDeckViewState);return this.normalizedViewPortCache}getVisibleWorldOrigin(world){const dimensions=world.getDimensions();return src["c"].fromArray(this.getNormalizedViewPort(world).unproject([dimensions&&-dimensions.width/2,dimensions&&-dimensions.height/2],{topLeft:false}))}getVisibleWorldTopRight(world){const dimensions=world.getDimensions();return src["c"].fromArray(this.getNormalizedViewPort(world).unproject([dimensions&&dimensions.width/2,dimensions&&dimensions.height/2],{topLeft:false}))}getVisibleWorldDimensions(world){const origin=this.getVisibleWorldOrigin(world);const topRight=this.getVisibleWorldTopRight(world);return{width:Math.abs(topRight.x-origin.x),height:Math.abs(topRight.y-origin.y)}}getVisibleWorld(world){if(!(world!==null&&world!==void 0&&world.getDimensions()))return;const worldOrigin=this.getVisibleWorldOrigin(world);const worldTopRight=this.getVisibleWorldTopRight(world);return new src["b"]({x:new src["e"]({min:Math.min(worldOrigin.x,worldTopRight.x),max:Math.max(worldOrigin.x,worldTopRight.x)}),y:new src["e"]({min:Math.min(worldOrigin.y,worldTopRight.y),max:Math.max(worldOrigin.y,worldTopRight.y)}),z:new src["e"]({min:this.coordinates.z,max:this.coordinates.z})})}unProjectCoordinate(world,coordinate){if(world.isGeo())this.getNormalizedViewPort(world).unproject(coordinate);return this.getViewPort(world).unproject(coordinate)}projectCoordinate(world,coordinate){if(world.isGeo())this.getNormalizedViewPort(world).project(coordinate);return this.getViewPort(world).project(coordinate)}withZoom(zoom){const cloned=this.clone();cloned.zoom=zoom;return cloned}getMaxZoom(){return this.zoomRange.getMax()-.01}getMinZoom(){return this.zoomRange.getMin()}withDeckViewState(world,deckViewState){var _deckViewState$target,_deckViewState$target2;const cloned=this.clone();if(world.isGeo()){cloned.coordinates=new src["c"]({x:deckViewState.longitude,y:deckViewState.latitude,z:this.coordinates.z})}else if((deckViewState===null||deckViewState===void 0?void 0:(_deckViewState$target=deckViewState.target)===null||_deckViewState$target===void 0?void 0:_deckViewState$target.length)===3){cloned.coordinates=src["c"].fromArray([...deckViewState.target])}else if((deckViewState===null||deckViewState===void 0?void 0:(_deckViewState$target2=deckViewState.target)===null||_deckViewState$target2===void 0?void 0:_deckViewState$target2.length)===2){cloned.coordinates=src["c"].fromArray([...deckViewState.target,this.coordinates.z])}cloned.rotationOrbit=deckViewState.rotationOrbit;cloned.rotationX=deckViewState.rotationX;cloned.bearing=deckViewState.bearing;cloned.zoom=deckViewState.zoom;return cloned}withCoordinates(coordinates){if(!coordinates)return this;const cloned=this.clone();cloned.coordinates=coordinates;return cloned}withInitialCoordinates(coordinates){if(!coordinates)return this;const cloned=this.clone();this._initialPosition.coordinates=coordinates;cloned.coordinates=coordinates;return cloned}isNewerThan(viewState){if(!viewState){return true}return this._lastModified>viewState._lastModified}getInitialPosition(){return this._initialPosition}resetPosition(){const cloned=this.clone();cloned._initialPosition={coordinates:new src["c"]({x:0,y:0,z:0}),zoom:0,bearing:0};cloned.coordinates=cloned._initialPosition.coordinates;cloned.zoom=cloned._initialPosition.zoom;cloned.bearing=cloned._initialPosition.bearing;return cloned}}var view_state_ViewState=__webpack_exports__["a"]=ViewState_ViewState},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return OrthographicViewport}));__webpack_require__.d(__webpack_exports__,"b",(function(){return OrthographicView}));var lodash_fp__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(3);var lodash_fp__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_0__);var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(31);var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__);var math_gl__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(79);var math_gl__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(math_gl__WEBPACK_IMPORTED_MODULE_2__);var _math_gl_web_mercator__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(115);var _math_gl_web_mercator__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_math_gl_web_mercator__WEBPACK_IMPORTED_MODULE_3__);var gl_matrix_vec2__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(98);var gl_matrix_vec2__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(gl_matrix_vec2__WEBPACK_IMPORTED_MODULE_4__);const viewMatrix=(new math_gl__WEBPACK_IMPORTED_MODULE_2__["Matrix4"]).lookAt({eye:[0,0,1]});function getProjectionMatrix(_ref){let{width,height,near,far,padding,translationMatrix}=_ref;let left=-width/2;let right=width/2;let bottom=-height/2;let top=height/2;if(padding){const{left:l=0,right:r=0,top:t=0,bottom:b=0}=padding;const offsetX=Object(math_gl__WEBPACK_IMPORTED_MODULE_2__["clamp"])((l+width-r)/2,0,width)-width/2;const offsetY=Object(math_gl__WEBPACK_IMPORTED_MODULE_2__["clamp"])((t+height-b)/2,0,height)-height/2;left-=offsetX;right-=offsetX;bottom+=offsetY;top+=offsetY}return(new math_gl__WEBPACK_IMPORTED_MODULE_2__["Matrix4"]).ortho({left,right,bottom,top,near,far}).clone().translate(translationMatrix)}class OrthographicViewport extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["Viewport"]{constructor(props){const{width,height,near=.1,far=1e3,zoom=0,target=[0,0,0],padding=null,flipY=true,fixedY=false,fixedX=false,translationMatrix=[0,0,0],initialCoordinates}=props;let zoomX=Array.isArray(zoom)?zoom[0]:zoom;let zoomY=Array.isArray(zoom)?zoom[1]:zoom;if(fixedY)zoomY=0;if(fixedX)zoomX=0;const zoom_=Math.min(zoomX,zoomY);const scale=Math.pow(2,zoom_);let distanceScales;if(zoomX!==zoomY){const scaleX=Math.pow(2,zoomX);const scaleY=Math.pow(2,zoomY);distanceScales={unitsPerMeter:[scaleX/scale,scaleY/scale,1],metersPerUnit:[scale/scaleX,scale/scaleY,1]}}super({...props,longitude:null,position:[fixedX&&initialCoordinates&&Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["isNumber"])(initialCoordinates.x)?initialCoordinates.x:target[0],fixedY&&initialCoordinates&&Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["isNumber"])(initialCoordinates.y)?initialCoordinates.y:target[1],target[2]],viewMatrix:viewMatrix.clone().scale([scale,scale*(flipY?-1:1),scale]),projectionMatrix:getProjectionMatrix({width:width||1,height:height||1,padding,near,far,translationMatrix}),zoom:zoom_,distanceScales})}projectFlat(_ref2){let[X,Y]=_ref2;const{unitsPerMeter}=this.distanceScales;return[X*unitsPerMeter[0],Y*unitsPerMeter[1]]}unprojectFlat(_ref3){let[x,y]=_ref3;const{metersPerUnit}=this.distanceScales;return[x*metersPerUnit[0],y*metersPerUnit[1]]}panByPosition(coords,pixel){const fromLocation=Object(_math_gl_web_mercator__WEBPACK_IMPORTED_MODULE_3__["pixelsToWorld"])(pixel,this.pixelUnprojectionMatrix);const toLocation=this.projectFlat(coords);const translate=gl_matrix_vec2__WEBPACK_IMPORTED_MODULE_4__["add"]([],toLocation,gl_matrix_vec2__WEBPACK_IMPORTED_MODULE_4__["negate"]([],fromLocation));const newCenter=gl_matrix_vec2__WEBPACK_IMPORTED_MODULE_4__["add"]([],this.center,translate);return{target:this.unprojectFlat(newCenter)}}}class OrthographicView extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["View"]{constructor(props){super({...props,type:OrthographicViewport})}get ViewportType(){return OrthographicViewport}get ControllerType(){return _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["OrthographicController"]}}},function(module,exports){module.exports=require("@mui/material/styles")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return getFormatter}));__webpack_require__.d(__webpack_exports__,"a",(function(){return formatValue}));var ColumnType=__webpack_require__(24);class BooleanFormatter{format(value){return String(value)}unformat(value){return Boolean(value)}}var D3Formatter=__webpack_require__(97);var external_moment_=__webpack_require__(75);var external_moment_default=__webpack_require__.n(external_moment_);class DateFormatter_DateFormatter{format(value){return external_moment_default.a.utc(value).format("YYYY-MM-DD")}unformat(value){return external_moment_default.a.utc(value).valueOf()}}class StringArrayFormatter{format(value){return value.join(", ")}unformat(value){return value.split(", ")}}var fp_=__webpack_require__(3);class JSONFromater{format(value){return JSON.stringify(value)}unformat(value){return JSON.parse(value)}}class ValueFormatter{format(value){return value}unformat(value){return value}}const getFormatter=columnType=>{switch(columnType){case ColumnType["a"].DECIMAL:case ColumnType["a"].INTEGER:return new D3Formatter["a"](columnType);case ColumnType["a"].DATETIME:return new DateFormatter_DateFormatter;case ColumnType["a"].STRING_ARRAY:return new StringArrayFormatter;case ColumnType["a"].BOOLEAN:return new BooleanFormatter;case ColumnType["a"].JSON:case ColumnType["a"].GEOMETRY:return new JSONFromater;default:return new ValueFormatter}};const formatValue=(value,columnType)=>{if(Object(fp_["isNil"])(value)){return""}const formatter=getFormatter(columnType);return formatter.format(value)}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return geti}));var lodash_fp__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(3);var lodash_fp__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_0__);function geti(key,object){if(!key)return;if(key.includes(".")){return Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["get"])(key,object)}for(const candidateKey in object){if((candidateKey+"").toLowerCase()===key.toLowerCase()){return object[candidateKey]}}return}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return LineCap}));__webpack_require__.d(__webpack_exports__,"b",(function(){return LineEncoding}));let LineCap;(function(LineCap){LineCap["BUTT"]="butt";LineCap["ROUND"]="round"})(LineCap||(LineCap={}));class LineEncoding{constructor(props){this.field=void 0;this.segmentLength=void 0;this.cap=void 0;Object.assign(this,props)}isRenderable(){return!!this.field}}},function(module,__webpack_exports__,__webpack_require__){"use strict";var typesafe_actions__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(2);var typesafe_actions__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(typesafe_actions__WEBPACK_IMPORTED_MODULE_0__);const actions={hocLoaded:Object(typesafe_actions__WEBPACK_IMPORTED_MODULE_0__["createAction"])("HOC_LOADED")(),hocUpdated:Object(typesafe_actions__WEBPACK_IMPORTED_MODULE_0__["createAction"])("HOC_UPDATED")()};__webpack_exports__["a"]=actions},function(module,exports){module.exports=require("@turf/invariant")},function(module,exports){module.exports=require("react-transition-group")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return imageMimeTypes}));__webpack_require__.d(__webpack_exports__,"a",(function(){return getMeta}));const svgMimeTypes="image/svg+xml";const imageMimeTypes=["image/png","image/jpeg",svgMimeTypes];const svgToPng=(svgImage,width,height)=>{const can=document.createElement("canvas");can.width=width;can.height=height;const ctx=can.getContext("2d");ctx.drawImage(svgImage,0,0);return can.toDataURL()};const getMeta=async(imageURI,options)=>new Promise(((resolve,reject)=>{if(!imageURI)return reject(new Error("invalid imageURI"));const img=new Image;img.src=imageURI;img.style.display="none";img.onload=event=>{const{naturalWidth:width,naturalHeight:height}=event.target;if(options!==null&&options!==void 0&&options.maxWidth&&options.maxWidth<width){reject(new Error(`Image width is too big. Max width is ${options.maxWidth}px`));return img.remove()}if(options!==null&&options!==void 0&&options.maxHeight&&options.maxHeight<height){reject(new Error(`Image height is too big. Max height is ${options.maxHeight}px`));return img.remove()}let base64=imageURI;if(base64.startsWith(`data:${svgMimeTypes}`)){base64=svgToPng(event.target,width,height)}resolve({base64,width,height,ratio:height/width});return img.remove()};window.document.body.appendChild(img)}))},function(module,__webpack_exports__,__webpack_require__){"use strict";(function(global){__webpack_require__.d(__webpack_exports__,"a",(function(){return HoparaStore}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(5);var react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);var react_redux__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(33);var react_redux__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);var _hopara_internals__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(15);var query_string__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(46);var query_string__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(query_string__WEBPACK_IMPORTED_MODULE_3__);var _state_Store__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(14);var _hopara_config__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(17);var _hopara_design_system_src_component_PureComponent__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(25);var _hopara_design_system_src_toast_ToastContainer__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(130);var _log__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(104);var _ThemeProvider__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(149);var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(0);var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10___default=__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__);const window=global;const queryString=query_string__WEBPACK_IMPORTED_MODULE_3___default.a.parse(window.location.search);if(queryString.debug==="true"){_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["a"].enable()}else{_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["a"].disable()}if(queryString.animate==="false"){_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["b"].setParam("animate",false)}else{_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["b"].setParam("animate",true)}if(queryString.heatmapDebounce){_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["b"].setParam("heatmapDebounce",Number(queryString.heatmapDebounce))}if(queryString.heatmapTextureSize){_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["b"].setParam("heatmapTextureSize",Number(queryString.heatmapTextureSize))}const HoparaStore=Object(_state_Store__WEBPACK_IMPORTED_MODULE_4__["b"])();if(_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["a"].isDebugging()){window._hoparaStore=HoparaStore;window._hoparaConfig=_hopara_config__WEBPACK_IMPORTED_MODULE_5__["a"]}window._hoparaEnableDebug=()=>{_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["a"].enable();Object(_log__WEBPACK_IMPORTED_MODULE_8__["a"])();window._hoparaStore=HoparaStore;window._hoparaConfig=_hopara_config__WEBPACK_IMPORTED_MODULE_5__["a"]};class HoparaProvider extends _hopara_design_system_src_component_PureComponent__WEBPACK_IMPORTED_MODULE_6__["a"]{componentDidMount(){Object(_log__WEBPACK_IMPORTED_MODULE_8__["a"])()}componentDidCatch(error,info){_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["c"].error(error,info)}render(){var _this$props$customSto;return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__["jsx"])(react_redux__WEBPACK_IMPORTED_MODULE_1__["Provider"],{context:_state_Store__WEBPACK_IMPORTED_MODULE_4__["a"],store:(_this$props$customSto=this.props.customStore)!==null&&_this$props$customSto!==void 0?_this$props$customSto:HoparaStore,children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__["jsxs"])(_ThemeProvider__WEBPACK_IMPORTED_MODULE_9__["a"],{children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__["jsx"])(_hopara_design_system_src_toast_ToastContainer__WEBPACK_IMPORTED_MODULE_7__["a"],{}),this.props.children]})})}}__webpack_exports__["b"]=HoparaProvider}).call(this,__webpack_require__(80))},function(module,exports){module.exports=require("redux")},function(module,exports){module.exports=require("react-table")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Rows}));var _Geti__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(64);var _Row__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(58);class Rows extends Array{constructor(){for(var _len=arguments.length,rows=new Array(_len),_key=0;_key<_len;_key++){rows[_key]=arguments[_key]}if(rows.length&&typeof rows[0]==="number"){super(rows[0]);this.etag=void 0}else{super();this.etag=void 0;rows.forEach((row=>super.push(new _Row__WEBPACK_IMPORTED_MODULE_1__["a"](row))))}}static empty(){return new Rows}getById(id){return this.find((row=>row._id===id))}filter(predicate,thisArg){const rows=new Rows;const filtered=super.filter(predicate,thisArg);filtered.forEach((row=>rows.push(row)));rows.etag=this.etag;return rows}map(callbackfn,thisArg){const rows=new Rows;const mapped=super.map(callbackfn,thisArg);mapped.forEach((row=>rows.push(row)));rows.etag=this.etag;return rows}getValues(field){return super.map((row=>Object(_Geti__WEBPACK_IMPORTED_MODULE_0__["a"])(field,row)))}getFromBox(delimiterBox){if(!delimiterBox)return this;const filtered=this.filter((row=>{const columnX="_x";const columnY="_y";const point={x:row[columnX],y:row[columnY]};return delimiterBox.isPointInRange(point)}));filtered.etag=`${filtered.etag}_${Date.now()}`;return filtered}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return DatasetService_DatasetService}));var src=__webpack_require__(17);var internals_src=__webpack_require__(15);var Filter=__webpack_require__(55);var http_client_src=__webpack_require__(27);const addParam=(queryParam,key,value)=>{if(value){if(Array.isArray(value)&&value.length>0){queryParam[key]=value}else{queryParam[key]=value}}};const getFilterParams=filterSet=>{const queryParams={};addParam(queryParams,"filter",Object(Filter["b"])(filterSet.filters));addParam(queryParams,"limit",filterSet.limit);addParam(queryParams,"offset",filterSet.offset);if(internals_src["a"].isDebugging())queryParams["debug"]=true;return queryParams};class DatasetRepository_DatasetRepository{static async getRows(query,transformParams,filter,authorization){const queryParams=getFilterParams(filter);addParam(queryParams,"dataSource",query.dataSource);addParam(queryParams,"transform",transformParams);return Object(http_client_src["b"])(src["a"].getValue("DATASET_API_ADDRESS"),`view/${query.name}/row`,queryParams,authorization)}static async getRow(rowId,query,authorization){const queryParams={};if(internals_src["a"].isDebugging())queryParams["debug"]=true;addParam(queryParams,"dataSource",query.dataSource);const response=await Object(http_client_src["b"])(src["a"].getValue("DATASET_API_ADDRESS"),`view/${query.name}/row/${rowId}`,queryParams,authorization);if(response.status!==200){throw new Error("Error getting row "+response.status)}return response.json()}static async updateRow(query,rowId,rowValues,authorization){const queryParams={};if(internals_src["a"].isDebugging())queryParams["debug"]=true;addParam(queryParams,"dataSource",query.dataSource);const response=await Object(http_client_src["c"])(src["a"].getValue("DATASET_API_ADDRESS"),`view/${query.name}/row/${rowId}`,rowValues,queryParams,authorization);if(response.status!==200){throw new Error("Error updating row "+response.status)}return response.json()}static async createRow(){let row=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};let query=arguments.length>1?arguments[1]:undefined;let authorization=arguments.length>2?arguments[2]:undefined;const queryParams={};if(internals_src["a"].isDebugging())queryParams["debug"]=true;addParam(queryParams,"dataSource",query.dataSource);const response=await Object(http_client_src["c"])(src["a"].getValue("DATASET_API_ADDRESS"),`view/${query.name}/row`,[row],queryParams,authorization);if(response.status!==200){throw new Error("Error updating row "+response.status)}return response.json()}static async deleteRow(rowId,query,authorization){const queryParams={};if(internals_src["a"].isDebugging())queryParams["debug"]=true;addParam(queryParams,"dataSource",query.dataSource);const response=await Object(http_client_src["a"])(src["a"].getValue("DATASET_API_ADDRESS"),`view/${query.name}/row/${rowId}`,queryParams,authorization);if(response.status!==200){throw new Error("Error deleting row "+response.status)}return response.json()}}var Row=__webpack_require__(58);var Rows=__webpack_require__(73);const addId=(rows,idColumn)=>{rows.forEach((row=>{row["_id"]=row[idColumn.name]}));return rows};class DatasetService_DatasetService{static async getRows(query,transformParams,filterSet,authorization){const response=await DatasetRepository_DatasetRepository.getRows(query,transformParams,filterSet,authorization);const body=await response.json();const rows=new Rows["a"];body.forEach((responseRow=>rows.push(new Row["a"](responseRow))));rows.etag=response.headers.get("ETag");if(query.getColumns().hasId()){addId(rows,query.getColumns().getId())}const lastPageHeader=response.headers.get("last-page");return{rows,lastPage:lastPageHeader!=="false"}}static async getRowsWithLoader(loader,query,transformParams,filterSet){const rows=new Rows["a"];const loaderRows=await loader(filterSet,transformParams);loaderRows.forEach((responseRow=>rows.push(new Row["a"](responseRow))));rows.etag=Date.now().toString();if(query.getColumns().hasId()){addId(rows,query.getColumns().getId())}return{rows,lastPage:true}}static async getRow(rowId,query,authorization){const row=await DatasetRepository_DatasetRepository.getRow(rowId,query,authorization);const rowIdColumn=query.getColumns().getId();if(rowIdColumn){row["_id"]=row[rowIdColumn.name]}return row}static async updateRow(query,rowId,rowValues,authorization){return DatasetRepository_DatasetRepository.updateRow(query,rowId,rowValues,authorization)}static async createRow(row,query,authorization){return DatasetRepository_DatasetRepository.createRow(row,query,authorization)}static async deleteRow(rowId,query,authorization){return DatasetRepository_DatasetRepository.deleteRow(rowId,query,authorization)}}},function(module,exports){module.exports=require("moment")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return translateRelativeZoom}));__webpack_require__.d(__webpack_exports__,"b",(function(){return translateZoom}));function translateRelativeZoom(layer,zoomValue){var _zoomValue$relative,_zoomValue$relative2;let value=0;if(((_zoomValue$relative=zoomValue.relative)===null||_zoomValue$relative===void 0?void 0:_zoomValue$relative.reference)==="MIN"){value=layer.visible.zoomRange.getMin()}else{value=layer.visible.zoomRange.getMax()}if((_zoomValue$relative2=zoomValue.relative)!==null&&_zoomValue$relative2!==void 0&&_zoomValue$relative2.increment){var _zoomValue$relative3;return value+((_zoomValue$relative3=zoomValue.relative)===null||_zoomValue$relative3===void 0?void 0:_zoomValue$relative3.increment)}else{return value}}function translateZoom(layer,zoomValue){if(zoomValue.fixed){return zoomValue.fixed.value}else if(zoomValue.relative){return translateRelativeZoom(layer,zoomValue)}return 0}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return getSpecFromTenant}));__webpack_require__.d(__webpack_exports__,"a",(function(){return createMuiThemeFromTenant}));var dist_namespaceObject={};__webpack_require__.r(dist_namespaceObject);__webpack_require__.d(dist_namespaceObject,"Blend",(function(){return blend_Blend}));__webpack_require__.d(dist_namespaceObject,"Cam16",(function(){return cam16_Cam16}));__webpack_require__.d(dist_namespaceObject,"Hct",(function(){return hct_Hct}));__webpack_require__.d(dist_namespaceObject,"ViewingConditions",(function(){return viewing_conditions_ViewingConditions}));__webpack_require__.d(dist_namespaceObject,"CorePalette",(function(){return core_palette_CorePalette}));__webpack_require__.d(dist_namespaceObject,"TonalPalette",(function(){return tonal_palette_TonalPalette}));__webpack_require__.d(dist_namespaceObject,"QuantizerCelebi",(function(){return quantizer_celebi_QuantizerCelebi}));__webpack_require__.d(dist_namespaceObject,"QuantizerMap",(function(){return quantizer_map_QuantizerMap}));__webpack_require__.d(dist_namespaceObject,"QuantizerWsmeans",(function(){return quantizer_wsmeans_QuantizerWsmeans}));__webpack_require__.d(dist_namespaceObject,"QuantizerWu",(function(){return quantizer_wu_QuantizerWu}));__webpack_require__.d(dist_namespaceObject,"Scheme",(function(){return scheme_Scheme}));__webpack_require__.d(dist_namespaceObject,"SchemeAndroid",(function(){return scheme_android_SchemeAndroid}));__webpack_require__.d(dist_namespaceObject,"Score",(function(){return score_Score}));__webpack_require__.d(dist_namespaceObject,"argbFromRgb",(function(){return argbFromRgb}));__webpack_require__.d(dist_namespaceObject,"argbFromLinrgb",(function(){return argbFromLinrgb}));__webpack_require__.d(dist_namespaceObject,"alphaFromArgb",(function(){return alphaFromArgb}));__webpack_require__.d(dist_namespaceObject,"redFromArgb",(function(){return redFromArgb}));__webpack_require__.d(dist_namespaceObject,"greenFromArgb",(function(){return greenFromArgb}));__webpack_require__.d(dist_namespaceObject,"blueFromArgb",(function(){return blueFromArgb}));__webpack_require__.d(dist_namespaceObject,"isOpaque",(function(){return isOpaque}));__webpack_require__.d(dist_namespaceObject,"argbFromXyz",(function(){return argbFromXyz}));__webpack_require__.d(dist_namespaceObject,"xyzFromArgb",(function(){return xyzFromArgb}));__webpack_require__.d(dist_namespaceObject,"argbFromLab",(function(){return argbFromLab}));__webpack_require__.d(dist_namespaceObject,"labFromArgb",(function(){return labFromArgb}));__webpack_require__.d(dist_namespaceObject,"argbFromLstar",(function(){return argbFromLstar}));__webpack_require__.d(dist_namespaceObject,"lstarFromArgb",(function(){return lstarFromArgb}));__webpack_require__.d(dist_namespaceObject,"yFromLstar",(function(){return yFromLstar}));__webpack_require__.d(dist_namespaceObject,"linearized",(function(){return linearized}));__webpack_require__.d(dist_namespaceObject,"delinearized",(function(){return color_utils_delinearized}));__webpack_require__.d(dist_namespaceObject,"whitePointD65",(function(){return whitePointD65}));__webpack_require__.d(dist_namespaceObject,"signum",(function(){return signum}));__webpack_require__.d(dist_namespaceObject,"lerp",(function(){return lerp}));__webpack_require__.d(dist_namespaceObject,"clampInt",(function(){return clampInt}));__webpack_require__.d(dist_namespaceObject,"clampDouble",(function(){return clampDouble}));__webpack_require__.d(dist_namespaceObject,"sanitizeDegreesInt",(function(){return sanitizeDegreesInt}));__webpack_require__.d(dist_namespaceObject,"sanitizeDegreesDouble",(function(){return sanitizeDegreesDouble}));__webpack_require__.d(dist_namespaceObject,"rotationDirection",(function(){return rotationDirection}));__webpack_require__.d(dist_namespaceObject,"differenceDegrees",(function(){return math_utils_differenceDegrees}));__webpack_require__.d(dist_namespaceObject,"matrixMultiply",(function(){return matrixMultiply}));__webpack_require__.d(dist_namespaceObject,"hexFromArgb",(function(){return hexFromArgb}));__webpack_require__.d(dist_namespaceObject,"argbFromHex",(function(){return argbFromHex}));__webpack_require__.d(dist_namespaceObject,"sourceColorFromImage",(function(){return sourceColorFromImage}));__webpack_require__.d(dist_namespaceObject,"themeFromSourceColor",(function(){return themeFromSourceColor}));__webpack_require__.d(dist_namespaceObject,"themeFromImage",(function(){return themeFromImage}));__webpack_require__.d(dist_namespaceObject,"customColor",(function(){return customColor}));__webpack_require__.d(dist_namespaceObject,"applyTheme",(function(){return applyTheme}));function signum(num){if(num<0){return-1}else if(num===0){return 0}else{return 1}}function lerp(start,stop,amount){return(1-amount)*start+amount*stop}function clampInt(min,max,input){if(input<min){return min}else if(input>max){return max}return input}function clampDouble(min,max,input){if(input<min){return min}else if(input>max){return max}return input}function sanitizeDegreesInt(degrees){degrees=degrees%360;if(degrees<0){degrees=degrees+360}return degrees}function sanitizeDegreesDouble(degrees){degrees=degrees%360;if(degrees<0){degrees=degrees+360}return degrees}function rotationDirection(from,to){const increasingDifference=sanitizeDegreesDouble(to-from);return increasingDifference<=180?1:-1}function math_utils_differenceDegrees(a,b){return 180-Math.abs(Math.abs(a-b)-180)}function matrixMultiply(row,matrix){const a=row[0]*matrix[0][0]+row[1]*matrix[0][1]+row[2]*matrix[0][2];const b=row[0]*matrix[1][0]+row[1]*matrix[1][1]+row[2]*matrix[1][2];const c=row[0]*matrix[2][0]+row[1]*matrix[2][1]+row[2]*matrix[2][2];return[a,b,c]}const SRGB_TO_XYZ=[[.41233895,.35762064,.18051042],[.2126,.7152,.0722],[.01932141,.11916382,.95034478]];const XYZ_TO_SRGB=[[3.2413774792388685,-1.5376652402851851,-.49885366846268053],[-.9691452513005321,1.8758853451067872,.04156585616912061],[.05562093689691305,-.20395524564742123,1.0571799111220335]];const WHITE_POINT_D65=[95.047,100,108.883];function argbFromRgb(red,green,blue){return(255<<24|(red&255)<<16|(green&255)<<8|blue&255)>>>0}function argbFromLinrgb(linrgb){const r=color_utils_delinearized(linrgb[0]);const g=color_utils_delinearized(linrgb[1]);const b=color_utils_delinearized(linrgb[2]);return argbFromRgb(r,g,b)}function alphaFromArgb(argb){return argb>>24&255}function redFromArgb(argb){return argb>>16&255}function greenFromArgb(argb){return argb>>8&255}function blueFromArgb(argb){return argb&255}function isOpaque(argb){return alphaFromArgb(argb)>=255}function argbFromXyz(x,y,z){const matrix=XYZ_TO_SRGB;const linearR=matrix[0][0]*x+matrix[0][1]*y+matrix[0][2]*z;const linearG=matrix[1][0]*x+matrix[1][1]*y+matrix[1][2]*z;const linearB=matrix[2][0]*x+matrix[2][1]*y+matrix[2][2]*z;const r=color_utils_delinearized(linearR);const g=color_utils_delinearized(linearG);const b=color_utils_delinearized(linearB);return argbFromRgb(r,g,b)}function xyzFromArgb(argb){const r=linearized(redFromArgb(argb));const g=linearized(greenFromArgb(argb));const b=linearized(blueFromArgb(argb));return matrixMultiply([r,g,b],SRGB_TO_XYZ)}function argbFromLab(l,a,b){const whitePoint=WHITE_POINT_D65;const fy=(l+16)/116;const fx=a/500+fy;const fz=fy-b/200;const xNormalized=labInvf(fx);const yNormalized=labInvf(fy);const zNormalized=labInvf(fz);const x=xNormalized*whitePoint[0];const y=yNormalized*whitePoint[1];const z=zNormalized*whitePoint[2];return argbFromXyz(x,y,z)}function labFromArgb(argb){const linearR=linearized(redFromArgb(argb));const linearG=linearized(greenFromArgb(argb));const linearB=linearized(blueFromArgb(argb));const matrix=SRGB_TO_XYZ;const x=matrix[0][0]*linearR+matrix[0][1]*linearG+matrix[0][2]*linearB;const y=matrix[1][0]*linearR+matrix[1][1]*linearG+matrix[1][2]*linearB;const z=matrix[2][0]*linearR+matrix[2][1]*linearG+matrix[2][2]*linearB;const whitePoint=WHITE_POINT_D65;const xNormalized=x/whitePoint[0];const yNormalized=y/whitePoint[1];const zNormalized=z/whitePoint[2];const fx=labF(xNormalized);const fy=labF(yNormalized);const fz=labF(zNormalized);const l=116*fy-16;const a=500*(fx-fy);const b=200*(fy-fz);return[l,a,b]}function argbFromLstar(lstar){const y=yFromLstar(lstar);const component=color_utils_delinearized(y);return argbFromRgb(component,component,component)}function lstarFromArgb(argb){const y=xyzFromArgb(argb)[1];return 116*labF(y/100)-16}function yFromLstar(lstar){return 100*labInvf((lstar+16)/116)}function linearized(rgbComponent){const normalized=rgbComponent/255;if(normalized<=.040449936){return normalized/12.92*100}else{return Math.pow((normalized+.055)/1.055,2.4)*100}}function color_utils_delinearized(rgbComponent){const normalized=rgbComponent/100;let delinearized=0;if(normalized<=.0031308){delinearized=normalized*12.92}else{delinearized=1.055*Math.pow(normalized,1/2.4)-.055}return clampInt(0,255,Math.round(delinearized*255))}function whitePointD65(){return WHITE_POINT_D65}function labF(t){const e=216/24389;const kappa=24389/27;if(t>e){return Math.pow(t,1/3)}else{return(kappa*t+16)/116}}function labInvf(ft){const e=216/24389;const kappa=24389/27;const ft3=ft*ft*ft;if(ft3>e){return ft3}else{return(116*ft-16)/kappa}}class viewing_conditions_ViewingConditions{constructor(n,aw,nbb,ncb,c,nc,rgbD,fl,fLRoot,z){this.n=n;this.aw=aw;this.nbb=nbb;this.ncb=ncb;this.c=c;this.nc=nc;this.rgbD=rgbD;this.fl=fl;this.fLRoot=fLRoot;this.z=z}static make(){let whitePoint=arguments.length>0&&arguments[0]!==undefined?arguments[0]:whitePointD65();let adaptingLuminance=arguments.length>1&&arguments[1]!==undefined?arguments[1]:200/Math.PI*yFromLstar(50)/100;let backgroundLstar=arguments.length>2&&arguments[2]!==undefined?arguments[2]:50;let surround=arguments.length>3&&arguments[3]!==undefined?arguments[3]:2;let discountingIlluminant=arguments.length>4&&arguments[4]!==undefined?arguments[4]:false;const xyz=whitePoint;const rW=xyz[0]*.401288+xyz[1]*.650173+xyz[2]*-.051461;const gW=xyz[0]*-.250268+xyz[1]*1.204414+xyz[2]*.045854;const bW=xyz[0]*-.002079+xyz[1]*.048952+xyz[2]*.953127;const f=.8+surround/10;const c=f>=.9?lerp(.59,.69,(f-.9)*10):lerp(.525,.59,(f-.8)*10);let d=discountingIlluminant?1:f*(1-1/3.6*Math.exp((-adaptingLuminance-42)/92));d=d>1?1:d<0?0:d;const nc=f;const rgbD=[d*(100/rW)+1-d,d*(100/gW)+1-d,d*(100/bW)+1-d];const k=1/(5*adaptingLuminance+1);const k4=k*k*k*k;const k4F=1-k4;const fl=k4*adaptingLuminance+.1*k4F*k4F*Math.cbrt(5*adaptingLuminance);const n=yFromLstar(backgroundLstar)/whitePoint[1];const z=1.48+Math.sqrt(n);const nbb=.725/Math.pow(n,.2);const ncb=nbb;const rgbAFactors=[Math.pow(fl*rgbD[0]*rW/100,.42),Math.pow(fl*rgbD[1]*gW/100,.42),Math.pow(fl*rgbD[2]*bW/100,.42)];const rgbA=[400*rgbAFactors[0]/(rgbAFactors[0]+27.13),400*rgbAFactors[1]/(rgbAFactors[1]+27.13),400*rgbAFactors[2]/(rgbAFactors[2]+27.13)];const aw=(2*rgbA[0]+rgbA[1]+.05*rgbA[2])*nbb;return new viewing_conditions_ViewingConditions(n,aw,nbb,ncb,c,nc,rgbD,fl,Math.pow(fl,.25),z)}}viewing_conditions_ViewingConditions.DEFAULT=viewing_conditions_ViewingConditions.make();class cam16_Cam16{constructor(hue,chroma,j,q,m,s,jstar,astar,bstar){this.hue=hue;this.chroma=chroma;this.j=j;this.q=q;this.m=m;this.s=s;this.jstar=jstar;this.astar=astar;this.bstar=bstar}distance(other){const dJ=this.jstar-other.jstar;const dA=this.astar-other.astar;const dB=this.bstar-other.bstar;const dEPrime=Math.sqrt(dJ*dJ+dA*dA+dB*dB);const dE=1.41*Math.pow(dEPrime,.63);return dE}static fromInt(argb){return cam16_Cam16.fromIntInViewingConditions(argb,viewing_conditions_ViewingConditions.DEFAULT)}static fromIntInViewingConditions(argb,viewingConditions){const red=(argb&16711680)>>16;const green=(argb&65280)>>8;const blue=argb&255;const redL=linearized(red);const greenL=linearized(green);const blueL=linearized(blue);const x=.41233895*redL+.35762064*greenL+.18051042*blueL;const y=.2126*redL+.7152*greenL+.0722*blueL;const z=.01932141*redL+.11916382*greenL+.95034478*blueL;const rC=.401288*x+.650173*y-.051461*z;const gC=-.250268*x+1.204414*y+.045854*z;const bC=-.002079*x+.048952*y+.953127*z;const rD=viewingConditions.rgbD[0]*rC;const gD=viewingConditions.rgbD[1]*gC;const bD=viewingConditions.rgbD[2]*bC;const rAF=Math.pow(viewingConditions.fl*Math.abs(rD)/100,.42);const gAF=Math.pow(viewingConditions.fl*Math.abs(gD)/100,.42);const bAF=Math.pow(viewingConditions.fl*Math.abs(bD)/100,.42);const rA=signum(rD)*400*rAF/(rAF+27.13);const gA=signum(gD)*400*gAF/(gAF+27.13);const bA=signum(bD)*400*bAF/(bAF+27.13);const a=(11*rA+-12*gA+bA)/11;const b=(rA+gA-2*bA)/9;const u=(20*rA+20*gA+21*bA)/20;const p2=(40*rA+20*gA+bA)/20;const atan2=Math.atan2(b,a);const atanDegrees=atan2*180/Math.PI;const hue=atanDegrees<0?atanDegrees+360:atanDegrees>=360?atanDegrees-360:atanDegrees;const hueRadians=hue*Math.PI/180;const ac=p2*viewingConditions.nbb;const j=100*Math.pow(ac/viewingConditions.aw,viewingConditions.c*viewingConditions.z);const q=4/viewingConditions.c*Math.sqrt(j/100)*(viewingConditions.aw+4)*viewingConditions.fLRoot;const huePrime=hue<20.14?hue+360:hue;const eHue=.25*(Math.cos(huePrime*Math.PI/180+2)+3.8);const p1=5e4/13*eHue*viewingConditions.nc*viewingConditions.ncb;const t=p1*Math.sqrt(a*a+b*b)/(u+.305);const alpha=Math.pow(t,.9)*Math.pow(1.64-Math.pow(.29,viewingConditions.n),.73);const c=alpha*Math.sqrt(j/100);const m=c*viewingConditions.fLRoot;const s=50*Math.sqrt(alpha*viewingConditions.c/(viewingConditions.aw+4));const jstar=(1+100*.007)*j/(1+.007*j);const mstar=1/.0228*Math.log(1+.0228*m);const astar=mstar*Math.cos(hueRadians);const bstar=mstar*Math.sin(hueRadians);return new cam16_Cam16(hue,c,j,q,m,s,jstar,astar,bstar)}static fromJch(j,c,h){return cam16_Cam16.fromJchInViewingConditions(j,c,h,viewing_conditions_ViewingConditions.DEFAULT)}static fromJchInViewingConditions(j,c,h,viewingConditions){const q=4/viewingConditions.c*Math.sqrt(j/100)*(viewingConditions.aw+4)*viewingConditions.fLRoot;const m=c*viewingConditions.fLRoot;const alpha=c/Math.sqrt(j/100);const s=50*Math.sqrt(alpha*viewingConditions.c/(viewingConditions.aw+4));const hueRadians=h*Math.PI/180;const jstar=(1+100*.007)*j/(1+.007*j);const mstar=1/.0228*Math.log(1+.0228*m);const astar=mstar*Math.cos(hueRadians);const bstar=mstar*Math.sin(hueRadians);return new cam16_Cam16(h,c,j,q,m,s,jstar,astar,bstar)}static fromUcs(jstar,astar,bstar){return cam16_Cam16.fromUcsInViewingConditions(jstar,astar,bstar,viewing_conditions_ViewingConditions.DEFAULT)}static fromUcsInViewingConditions(jstar,astar,bstar,viewingConditions){const a=astar;const b=bstar;const m=Math.sqrt(a*a+b*b);const M=(Math.exp(m*.0228)-1)/.0228;const c=M/viewingConditions.fLRoot;let h=Math.atan2(b,a)*(180/Math.PI);if(h<0){h+=360}const j=jstar/(1-(jstar-100)*.007);return cam16_Cam16.fromJchInViewingConditions(j,c,h,viewingConditions)}toInt(){return this.viewed(viewing_conditions_ViewingConditions.DEFAULT)}viewed(viewingConditions){const alpha=this.chroma===0||this.j===0?0:this.chroma/Math.sqrt(this.j/100);const t=Math.pow(alpha/Math.pow(1.64-Math.pow(.29,viewingConditions.n),.73),1/.9);const hRad=this.hue*Math.PI/180;const eHue=.25*(Math.cos(hRad+2)+3.8);const ac=viewingConditions.aw*Math.pow(this.j/100,1/viewingConditions.c/viewingConditions.z);const p1=eHue*(5e4/13)*viewingConditions.nc*viewingConditions.ncb;const p2=ac/viewingConditions.nbb;const hSin=Math.sin(hRad);const hCos=Math.cos(hRad);const gamma=23*(p2+.305)*t/(23*p1+11*t*hCos+108*t*hSin);const a=gamma*hCos;const b=gamma*hSin;const rA=(460*p2+451*a+288*b)/1403;const gA=(460*p2-891*a-261*b)/1403;const bA=(460*p2-220*a-6300*b)/1403;const rCBase=Math.max(0,27.13*Math.abs(rA)/(400-Math.abs(rA)));const rC=signum(rA)*(100/viewingConditions.fl)*Math.pow(rCBase,1/.42);const gCBase=Math.max(0,27.13*Math.abs(gA)/(400-Math.abs(gA)));const gC=signum(gA)*(100/viewingConditions.fl)*Math.pow(gCBase,1/.42);const bCBase=Math.max(0,27.13*Math.abs(bA)/(400-Math.abs(bA)));const bC=signum(bA)*(100/viewingConditions.fl)*Math.pow(bCBase,1/.42);const rF=rC/viewingConditions.rgbD[0];const gF=gC/viewingConditions.rgbD[1];const bF=bC/viewingConditions.rgbD[2];const x=1.86206786*rF-1.01125463*gF+.14918677*bF;const y=.38752654*rF+.62144744*gF-.00897398*bF;const z=-.0158415*rF-.03412294*gF+1.04996444*bF;const argb=argbFromXyz(x,y,z);return argb}}class hct_solver_HctSolver{static sanitizeRadians(angle){return(angle+Math.PI*8)%(Math.PI*2)}static trueDelinearized(rgbComponent){const normalized=rgbComponent/100;let delinearized=0;if(normalized<=.0031308){delinearized=normalized*12.92}else{delinearized=1.055*Math.pow(normalized,1/2.4)-.055}return delinearized*255}static chromaticAdaptation(component){const af=Math.pow(Math.abs(component),.42);return signum(component)*400*af/(af+27.13)}static hueOf(linrgb){const scaledDiscount=matrixMultiply(linrgb,hct_solver_HctSolver.SCALED_DISCOUNT_FROM_LINRGB);const rA=hct_solver_HctSolver.chromaticAdaptation(scaledDiscount[0]);const gA=hct_solver_HctSolver.chromaticAdaptation(scaledDiscount[1]);const bA=hct_solver_HctSolver.chromaticAdaptation(scaledDiscount[2]);const a=(11*rA+-12*gA+bA)/11;const b=(rA+gA-2*bA)/9;return Math.atan2(b,a)}static areInCyclicOrder(a,b,c){const deltaAB=hct_solver_HctSolver.sanitizeRadians(b-a);const deltaAC=hct_solver_HctSolver.sanitizeRadians(c-a);return deltaAB<deltaAC}static intercept(source,mid,target){return(mid-source)/(target-source)}static lerpPoint(source,t,target){return[source[0]+(target[0]-source[0])*t,source[1]+(target[1]-source[1])*t,source[2]+(target[2]-source[2])*t]}static setCoordinate(source,coordinate,target,axis){const t=hct_solver_HctSolver.intercept(source[axis],coordinate,target[axis]);return hct_solver_HctSolver.lerpPoint(source,t,target)}static isBounded(x){return 0<=x&&x<=100}static nthVertex(y,n){const kR=hct_solver_HctSolver.Y_FROM_LINRGB[0];const kG=hct_solver_HctSolver.Y_FROM_LINRGB[1];const kB=hct_solver_HctSolver.Y_FROM_LINRGB[2];const coordA=n%4<=1?0:100;const coordB=n%2===0?0:100;if(n<4){const g=coordA;const b=coordB;const r=(y-g*kG-b*kB)/kR;if(hct_solver_HctSolver.isBounded(r)){return[r,g,b]}else{return[-1,-1,-1]}}else if(n<8){const b=coordA;const r=coordB;const g=(y-r*kR-b*kB)/kG;if(hct_solver_HctSolver.isBounded(g)){return[r,g,b]}else{return[-1,-1,-1]}}else{const r=coordA;const g=coordB;const b=(y-r*kR-g*kG)/kB;if(hct_solver_HctSolver.isBounded(b)){return[r,g,b]}else{return[-1,-1,-1]}}}static bisectToSegment(y,targetHue){let left=[-1,-1,-1];let right=left;let leftHue=0;let rightHue=0;let initialized=false;let uncut=true;for(let n=0;n<12;n++){const mid=hct_solver_HctSolver.nthVertex(y,n);if(mid[0]<0){continue}const midHue=hct_solver_HctSolver.hueOf(mid);if(!initialized){left=mid;right=mid;leftHue=midHue;rightHue=midHue;initialized=true;continue}if(uncut||hct_solver_HctSolver.areInCyclicOrder(leftHue,midHue,rightHue)){uncut=false;if(hct_solver_HctSolver.areInCyclicOrder(leftHue,targetHue,midHue)){right=mid;rightHue=midHue}else{left=mid;leftHue=midHue}}}return[left,right]}static midpoint(a,b){return[(a[0]+b[0])/2,(a[1]+b[1])/2,(a[2]+b[2])/2]}static criticalPlaneBelow(x){return Math.floor(x-.5)}static criticalPlaneAbove(x){return Math.ceil(x-.5)}static bisectToLimit(y,targetHue){const segment=hct_solver_HctSolver.bisectToSegment(y,targetHue);let left=segment[0];let leftHue=hct_solver_HctSolver.hueOf(left);let right=segment[1];for(let axis=0;axis<3;axis++){if(left[axis]!==right[axis]){let lPlane=-1;let rPlane=255;if(left[axis]<right[axis]){lPlane=hct_solver_HctSolver.criticalPlaneBelow(hct_solver_HctSolver.trueDelinearized(left[axis]));rPlane=hct_solver_HctSolver.criticalPlaneAbove(hct_solver_HctSolver.trueDelinearized(right[axis]))}else{lPlane=hct_solver_HctSolver.criticalPlaneAbove(hct_solver_HctSolver.trueDelinearized(left[axis]));rPlane=hct_solver_HctSolver.criticalPlaneBelow(hct_solver_HctSolver.trueDelinearized(right[axis]))}for(let i=0;i<8;i++){if(Math.abs(rPlane-lPlane)<=1){break}else{const mPlane=Math.floor((lPlane+rPlane)/2);const midPlaneCoordinate=hct_solver_HctSolver.CRITICAL_PLANES[mPlane];const mid=hct_solver_HctSolver.setCoordinate(left,midPlaneCoordinate,right,axis);const midHue=hct_solver_HctSolver.hueOf(mid);if(hct_solver_HctSolver.areInCyclicOrder(leftHue,targetHue,midHue)){right=mid;rPlane=mPlane}else{left=mid;leftHue=midHue;lPlane=mPlane}}}}}return hct_solver_HctSolver.midpoint(left,right)}static inverseChromaticAdaptation(adapted){const adaptedAbs=Math.abs(adapted);const base=Math.max(0,27.13*adaptedAbs/(400-adaptedAbs));return signum(adapted)*Math.pow(base,1/.42)}static findResultByJ(hueRadians,chroma,y){let j=Math.sqrt(y)*11;const viewingConditions=viewing_conditions_ViewingConditions.DEFAULT;const tInnerCoeff=1/Math.pow(1.64-Math.pow(.29,viewingConditions.n),.73);const eHue=.25*(Math.cos(hueRadians+2)+3.8);const p1=eHue*(5e4/13)*viewingConditions.nc*viewingConditions.ncb;const hSin=Math.sin(hueRadians);const hCos=Math.cos(hueRadians);for(let iterationRound=0;iterationRound<5;iterationRound++){const jNormalized=j/100;const alpha=chroma===0||j===0?0:chroma/Math.sqrt(jNormalized);const t=Math.pow(alpha*tInnerCoeff,1/.9);const ac=viewingConditions.aw*Math.pow(jNormalized,1/viewingConditions.c/viewingConditions.z);const p2=ac/viewingConditions.nbb;const gamma=23*(p2+.305)*t/(23*p1+11*t*hCos+108*t*hSin);const a=gamma*hCos;const b=gamma*hSin;const rA=(460*p2+451*a+288*b)/1403;const gA=(460*p2-891*a-261*b)/1403;const bA=(460*p2-220*a-6300*b)/1403;const rCScaled=hct_solver_HctSolver.inverseChromaticAdaptation(rA);const gCScaled=hct_solver_HctSolver.inverseChromaticAdaptation(gA);const bCScaled=hct_solver_HctSolver.inverseChromaticAdaptation(bA);const linrgb=matrixMultiply([rCScaled,gCScaled,bCScaled],hct_solver_HctSolver.LINRGB_FROM_SCALED_DISCOUNT);if(linrgb[0]<0||linrgb[1]<0||linrgb[2]<0){return 0}const kR=hct_solver_HctSolver.Y_FROM_LINRGB[0];const kG=hct_solver_HctSolver.Y_FROM_LINRGB[1];const kB=hct_solver_HctSolver.Y_FROM_LINRGB[2];const fnj=kR*linrgb[0]+kG*linrgb[1]+kB*linrgb[2];if(fnj<=0){return 0}if(iterationRound===4||Math.abs(fnj-y)<.002){if(linrgb[0]>100.01||linrgb[1]>100.01||linrgb[2]>100.01){return 0}return argbFromLinrgb(linrgb)}j=j-(fnj-y)*j/(2*fnj)}return 0}static solveToInt(hueDegrees,chroma,lstar){if(chroma<1e-4||lstar<1e-4||lstar>99.9999){return argbFromLstar(lstar)}hueDegrees=sanitizeDegreesDouble(hueDegrees);const hueRadians=hueDegrees/180*Math.PI;const y=yFromLstar(lstar);const exactAnswer=hct_solver_HctSolver.findResultByJ(hueRadians,chroma,y);if(exactAnswer!==0){return exactAnswer}const linrgb=hct_solver_HctSolver.bisectToLimit(y,hueRadians);return argbFromLinrgb(linrgb)}static solveToCam(hueDegrees,chroma,lstar){return cam16_Cam16.fromInt(hct_solver_HctSolver.solveToInt(hueDegrees,chroma,lstar))}}hct_solver_HctSolver.SCALED_DISCOUNT_FROM_LINRGB=[[.001200833568784504,.002389694492170889,.0002795742885861124],[.0005891086651375999,.0029785502573438758,.0003270666104008398],[.00010146692491640572,.0005364214359186694,.0032979401770712076]];hct_solver_HctSolver.LINRGB_FROM_SCALED_DISCOUNT=[[1373.2198709594231,-1100.4251190754821,-7.278681089101213],[-271.815969077903,559.6580465940733,-32.46047482791194],[1.9622899599665666,-57.173814538844006,308.7233197812385]];hct_solver_HctSolver.Y_FROM_LINRGB=[.2126,.7152,.0722];hct_solver_HctSolver.CRITICAL_PLANES=[.015176349177441876,.045529047532325624,.07588174588720938,.10623444424209313,.13658714259697685,.16693984095186062,.19729253930674434,.2276452376616281,.2579979360165119,.28835063437139563,.3188300904430532,.350925934958123,.3848314933096426,.42057480301049466,.458183274052838,.4976837250274023,.5391024159806381,.5824650784040898,.6277969426914107,.6751227633498623,.7244668422128921,.775853049866786,.829304845476233,.8848452951698498,.942497089126609,1.0022825574869039,1.0642236851973577,1.1283421258858297,1.1946592148522128,1.2631959812511864,1.3339731595349034,1.407011200216447,1.4823302800086415,1.5599503113873272,1.6398909516233677,1.7221716113234105,1.8068114625156377,1.8938294463134073,1.9832442801866852,2.075074464868551,2.1693382909216234,2.2660538449872063,2.36523901573795,2.4669114995532007,2.5710888059345764,2.6777882626779785,2.7870270208169257,2.898822059350997,3.0131901897720907,3.1301480604002863,3.2497121605402226,3.3718988244681087,3.4967242352587946,3.624204428461639,3.754355295633311,3.887192587735158,4.022731918402185,4.160988767090289,4.301978482107941,4.445716283538092,4.592217266055746,4.741496401646282,4.893568542229298,5.048448422192488,5.20615066083972,5.3666897647573375,5.5300801301023865,5.696336044816294,5.865471690767354,6.037501145825082,6.212438385869475,6.390297286737924,6.571091626112461,6.7548350853498045,6.941541251256611,7.131223617812143,7.323895587840543,7.5195704746346665,7.7182615035334345,7.919981813454504,8.124744458384042,8.332562408825165,8.543448553206703,8.757415699253682,8.974476575321063,9.194643831691977,9.417930041841839,9.644347703669503,9.873909240696694,10.106627003236781,10.342513269534024,10.58158024687427,10.8238400726681,11.069304815507364,11.317986476196008,11.569896988756009,11.825048221409341,12.083451977536606,12.345119996613247,12.610063955123938,12.878295467455942,13.149826086772048,13.42466730586372,13.702830557985108,13.984327217668513,14.269168601521828,14.55736596900856,14.848930523210871,15.143873411576273,15.44220572664832,15.743938506781891,16.04908273684337,16.35764934889634,16.66964922287304,16.985093187232053,17.30399201960269,17.62635644741625,17.95219714852476,18.281524751807332,18.614349837764564,18.95068293910138,19.290534541298456,19.633915083172692,19.98083495742689,20.331304511189067,20.685334046541502,21.042933821039977,21.404114048223256,21.76888489811322,22.137256497705877,22.50923893145328,22.884842241736916,23.264076429332462,23.6469514538663,24.033477234264016,24.42366364919083,24.817520537484558,25.21505769858089,25.61628489293138,26.021211842414342,26.429848230738664,26.842203703840827,27.258287870275353,27.678110301598522,28.10168053274597,28.529008062403893,28.96010235337422,29.39497283293396,29.83362889318845,30.276079891419332,30.722335150426627,31.172403958865512,31.62629557157785,32.08401920991837,32.54558406207592,33.010999283389665,33.4802739966603,33.953417292456834,34.430438229418264,34.911345834551085,35.39614910352207,35.88485700094671,36.37747846067349,36.87402238606382,37.37449765026789,37.87891309649659,38.38727753828926,38.89959975977785,39.41588851594697,39.93615253289054,40.460400508064545,40.98864111053629,41.520882981230194,42.05713473317016,42.597404951718396,43.141702194811224,43.6900349931913,44.24241185063697,44.798841244188324,45.35933162437017,45.92389141541209,46.49252901546552,47.065252796817916,47.64207110610409,48.22299226451468,48.808024568002054,49.3971762874833,49.9904556690408,50.587870934119984,51.189430279724725,51.79514187861014,52.40501387947288,53.0190544071392,53.637271562750364,54.259673423945976,54.88626804504493,55.517063457223934,56.15206766869424,56.79128866487574,57.43473440856916,58.08241284012621,58.734331877617365,59.39049941699807,60.05092333227251,60.715611475655585,61.38457167773311,62.057811747619894,62.7353394731159,63.417162620860914,64.10328893648692,64.79372614476921,65.48848194977529,66.18756403501224,66.89098006357258,67.59873767827808,68.31084450182222,69.02730813691093,69.74813616640164,70.47333615344107,71.20291564160104,71.93688215501312,72.67524319850172,73.41800625771542,74.16517879925733,74.9167682708136,75.67278210128072,76.43322770089146,77.1981124613393,77.96744375590167,78.74122893956174,79.51947534912904,80.30219030335869,81.08938110306934,81.88105503125999,82.67721935322541,83.4778813166706,84.28304815182372,85.09272707154808,85.90692527145302,86.72564993000343,87.54890820862819,88.3767072518277,89.2090541872801,90.04595612594655,90.88742016217518,91.73345337380438,92.58406282226491,93.43925555268066,94.29903859396902,95.16341895893969,96.03240364439274,96.9059996312159,97.78421388448044,98.6670533535366,99.55452497210776];class hct_Hct{constructor(argb){this.argb=argb;const cam=cam16_Cam16.fromInt(argb);this.internalHue=cam.hue;this.internalChroma=cam.chroma;this.internalTone=lstarFromArgb(argb);this.argb=argb}static from(hue,chroma,tone){return new hct_Hct(hct_solver_HctSolver.solveToInt(hue,chroma,tone))}static fromInt(argb){return new hct_Hct(argb)}toInt(){return this.argb}get hue(){return this.internalHue}set hue(newHue){this.setInternalState(hct_solver_HctSolver.solveToInt(newHue,this.internalChroma,this.internalTone))}get chroma(){return this.internalChroma}set chroma(newChroma){this.setInternalState(hct_solver_HctSolver.solveToInt(this.internalHue,newChroma,this.internalTone))}get tone(){return this.internalTone}set tone(newTone){this.setInternalState(hct_solver_HctSolver.solveToInt(this.internalHue,this.internalChroma,newTone))}setInternalState(argb){const cam=cam16_Cam16.fromInt(argb);this.internalHue=cam.hue;this.internalChroma=cam.chroma;this.internalTone=lstarFromArgb(argb);this.argb=argb}}class blend_Blend{static harmonize(designColor,sourceColor){const fromHct=hct_Hct.fromInt(designColor);const toHct=hct_Hct.fromInt(sourceColor);const differenceDegrees=math_utils_differenceDegrees(fromHct.hue,toHct.hue);const rotationDegrees=Math.min(differenceDegrees*.5,15);const outputHue=sanitizeDegreesDouble(fromHct.hue+rotationDegrees*rotationDirection(fromHct.hue,toHct.hue));return hct_Hct.from(outputHue,fromHct.chroma,fromHct.tone).toInt()}static hctHue(from,to,amount){const ucs=blend_Blend.cam16Ucs(from,to,amount);const ucsCam=cam16_Cam16.fromInt(ucs);const fromCam=cam16_Cam16.fromInt(from);const blended=hct_Hct.from(ucsCam.hue,fromCam.chroma,lstarFromArgb(from));return blended.toInt()}static cam16Ucs(from,to,amount){const fromCam=cam16_Cam16.fromInt(from);const toCam=cam16_Cam16.fromInt(to);const fromJ=fromCam.jstar;const fromA=fromCam.astar;const fromB=fromCam.bstar;const toJ=toCam.jstar;const toA=toCam.astar;const toB=toCam.bstar;const jstar=fromJ+(toJ-fromJ)*amount;const astar=fromA+(toA-fromA)*amount;const bstar=fromB+(toB-fromB)*amount;return cam16_Cam16.fromUcs(jstar,astar,bstar).toInt()}}class tonal_palette_TonalPalette{constructor(hue,chroma){this.hue=hue;this.chroma=chroma;this.cache=new Map}static fromInt(argb){const hct=hct_Hct.fromInt(argb);return tonal_palette_TonalPalette.fromHueAndChroma(hct.hue,hct.chroma)}static fromHueAndChroma(hue,chroma){return new tonal_palette_TonalPalette(hue,chroma)}tone(tone){let argb=this.cache.get(tone);if(argb===undefined){argb=hct_Hct.from(this.hue,this.chroma,tone).toInt();this.cache.set(tone,argb)}return argb}}class core_palette_CorePalette{constructor(argb,isContent){const hct=hct_Hct.fromInt(argb);const hue=hct.hue;const chroma=hct.chroma;if(isContent){this.a1=tonal_palette_TonalPalette.fromHueAndChroma(hue,chroma);this.a2=tonal_palette_TonalPalette.fromHueAndChroma(hue,chroma/3);this.a3=tonal_palette_TonalPalette.fromHueAndChroma(hue+60,chroma/2);this.n1=tonal_palette_TonalPalette.fromHueAndChroma(hue,Math.min(chroma/12,4));this.n2=tonal_palette_TonalPalette.fromHueAndChroma(hue,Math.min(chroma/6,8))}else{this.a1=tonal_palette_TonalPalette.fromHueAndChroma(hue,Math.max(48,chroma));this.a2=tonal_palette_TonalPalette.fromHueAndChroma(hue,16);this.a3=tonal_palette_TonalPalette.fromHueAndChroma(hue+60,24);this.n1=tonal_palette_TonalPalette.fromHueAndChroma(hue,4);this.n2=tonal_palette_TonalPalette.fromHueAndChroma(hue,8)}this.error=tonal_palette_TonalPalette.fromHueAndChroma(25,84)}static of(argb){return new core_palette_CorePalette(argb,false)}static contentOf(argb){return new core_palette_CorePalette(argb,true)}}var point_provider=__webpack_require__(154);class lab_point_provider_LabPointProvider{fromInt(argb){return labFromArgb(argb)}toInt(point){return argbFromLab(point[0],point[1],point[2])}distance(from,to){const dL=from[0]-to[0];const dA=from[1]-to[1];const dB=from[2]-to[2];return dL*dL+dA*dA+dB*dB}}const MAX_ITERATIONS=10;const MIN_MOVEMENT_DISTANCE=3;class quantizer_wsmeans_QuantizerWsmeans{static quantize(inputPixels,startingClusters,maxColors){const pixelToCount=new Map;const points=new Array;const pixels=new Array;const pointProvider=new lab_point_provider_LabPointProvider;let pointCount=0;for(let i=0;i<inputPixels.length;i++){const inputPixel=inputPixels[i];const pixelCount=pixelToCount.get(inputPixel);if(pixelCount===undefined){pointCount++;points.push(pointProvider.fromInt(inputPixel));pixels.push(inputPixel);pixelToCount.set(inputPixel,1)}else{pixelToCount.set(inputPixel,pixelCount+1)}}const counts=new Array;for(let i=0;i<pointCount;i++){const pixel=pixels[i];const count=pixelToCount.get(pixel);if(count!==undefined){counts[i]=count}}let clusterCount=Math.min(maxColors,pointCount);if(startingClusters.length>0){clusterCount=Math.min(clusterCount,startingClusters.length)}const clusters=new Array;for(let i=0;i<startingClusters.length;i++){clusters.push(pointProvider.fromInt(startingClusters[i]))}const additionalClustersNeeded=clusterCount-clusters.length;if(startingClusters.length===0&&additionalClustersNeeded>0){for(let i=0;i<additionalClustersNeeded;i++){const l=Math.random()*100;const a=Math.random()*(100- -100+1)+-100;const b=Math.random()*(100- -100+1)+-100;clusters.push(new Array(l,a,b))}}const clusterIndices=new Array;for(let i=0;i<pointCount;i++){clusterIndices.push(Math.floor(Math.random()*clusterCount))}const indexMatrix=new Array;for(let i=0;i<clusterCount;i++){indexMatrix.push(new Array);for(let j=0;j<clusterCount;j++){indexMatrix[i].push(0)}}const distanceToIndexMatrix=new Array;for(let i=0;i<clusterCount;i++){distanceToIndexMatrix.push(new Array);for(let j=0;j<clusterCount;j++){distanceToIndexMatrix[i].push(new DistanceAndIndex)}}const pixelCountSums=new Array;for(let i=0;i<clusterCount;i++){pixelCountSums.push(0)}for(let iteration=0;iteration<MAX_ITERATIONS;iteration++){for(let i=0;i<clusterCount;i++){for(let j=i+1;j<clusterCount;j++){const distance=pointProvider.distance(clusters[i],clusters[j]);distanceToIndexMatrix[j][i].distance=distance;distanceToIndexMatrix[j][i].index=i;distanceToIndexMatrix[i][j].distance=distance;distanceToIndexMatrix[i][j].index=j}distanceToIndexMatrix[i].sort();for(let j=0;j<clusterCount;j++){indexMatrix[i][j]=distanceToIndexMatrix[i][j].index}}let pointsMoved=0;for(let i=0;i<pointCount;i++){const point=points[i];const previousClusterIndex=clusterIndices[i];const previousCluster=clusters[previousClusterIndex];const previousDistance=pointProvider.distance(point,previousCluster);let minimumDistance=previousDistance;let newClusterIndex=-1;for(let j=0;j<clusterCount;j++){if(distanceToIndexMatrix[previousClusterIndex][j].distance>=4*previousDistance){continue}const distance=pointProvider.distance(point,clusters[j]);if(distance<minimumDistance){minimumDistance=distance;newClusterIndex=j}}if(newClusterIndex!==-1){const distanceChange=Math.abs(Math.sqrt(minimumDistance)-Math.sqrt(previousDistance));if(distanceChange>MIN_MOVEMENT_DISTANCE){pointsMoved++;clusterIndices[i]=newClusterIndex}}}if(pointsMoved===0&&iteration!==0){break}const componentASums=new Array(clusterCount).fill(0);const componentBSums=new Array(clusterCount).fill(0);const componentCSums=new Array(clusterCount).fill(0);for(let i=0;i<clusterCount;i++){pixelCountSums[i]=0}for(let i=0;i<pointCount;i++){const clusterIndex=clusterIndices[i];const point=points[i];const count=counts[i];pixelCountSums[clusterIndex]+=count;componentASums[clusterIndex]+=point[0]*count;componentBSums[clusterIndex]+=point[1]*count;componentCSums[clusterIndex]+=point[2]*count}for(let i=0;i<clusterCount;i++){const count=pixelCountSums[i];if(count===0){clusters[i]=[0,0,0];continue}const a=componentASums[i]/count;const b=componentBSums[i]/count;const c=componentCSums[i]/count;clusters[i]=[a,b,c]}}const argbToPopulation=new Map;for(let i=0;i<clusterCount;i++){const count=pixelCountSums[i];if(count===0){continue}const possibleNewCluster=pointProvider.toInt(clusters[i]);if(argbToPopulation.has(possibleNewCluster)){continue}argbToPopulation.set(possibleNewCluster,count)}return argbToPopulation}}class DistanceAndIndex{constructor(){this.distance=-1;this.index=-1}}class quantizer_map_QuantizerMap{static quantize(pixels){var _a;const countByColor=new Map;for(let i=0;i<pixels.length;i++){const pixel=pixels[i];const alpha=alphaFromArgb(pixel);if(alpha<255){continue}countByColor.set(pixel,((_a=countByColor.get(pixel))!==null&&_a!==void 0?_a:0)+1)}return countByColor}}const INDEX_BITS=5;const SIDE_LENGTH=33;const TOTAL_SIZE=35937;const directions={RED:"red",GREEN:"green",BLUE:"blue"};class quantizer_wu_QuantizerWu{constructor(){let weights=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];let momentsR=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];let momentsG=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];let momentsB=arguments.length>3&&arguments[3]!==undefined?arguments[3]:[];let moments=arguments.length>4&&arguments[4]!==undefined?arguments[4]:[];let cubes=arguments.length>5&&arguments[5]!==undefined?arguments[5]:[];this.weights=weights;this.momentsR=momentsR;this.momentsG=momentsG;this.momentsB=momentsB;this.moments=moments;this.cubes=cubes}quantize(pixels,maxColors){this.constructHistogram(pixels);this.computeMoments();const createBoxesResult=this.createBoxes(maxColors);const results=this.createResult(createBoxesResult.resultCount);return results}constructHistogram(pixels){var _a;this.weights=Array.from({length:TOTAL_SIZE}).fill(0);this.momentsR=Array.from({length:TOTAL_SIZE}).fill(0);this.momentsG=Array.from({length:TOTAL_SIZE}).fill(0);this.momentsB=Array.from({length:TOTAL_SIZE}).fill(0);this.moments=Array.from({length:TOTAL_SIZE}).fill(0);const countByColor=quantizer_map_QuantizerMap.quantize(pixels);for(const[pixel,count]of countByColor.entries()){const red=redFromArgb(pixel);const green=greenFromArgb(pixel);const blue=blueFromArgb(pixel);const bitsToRemove=8-INDEX_BITS;const iR=(red>>bitsToRemove)+1;const iG=(green>>bitsToRemove)+1;const iB=(blue>>bitsToRemove)+1;const index=this.getIndex(iR,iG,iB);this.weights[index]=((_a=this.weights[index])!==null&&_a!==void 0?_a:0)+count;this.momentsR[index]+=count*red;this.momentsG[index]+=count*green;this.momentsB[index]+=count*blue;this.moments[index]+=count*(red*red+green*green+blue*blue)}}computeMoments(){for(let r=1;r<SIDE_LENGTH;r++){const area=Array.from({length:SIDE_LENGTH}).fill(0);const areaR=Array.from({length:SIDE_LENGTH}).fill(0);const areaG=Array.from({length:SIDE_LENGTH}).fill(0);const areaB=Array.from({length:SIDE_LENGTH}).fill(0);const area2=Array.from({length:SIDE_LENGTH}).fill(0);for(let g=1;g<SIDE_LENGTH;g++){let line=0;let lineR=0;let lineG=0;let lineB=0;let line2=0;for(let b=1;b<SIDE_LENGTH;b++){const index=this.getIndex(r,g,b);line+=this.weights[index];lineR+=this.momentsR[index];lineG+=this.momentsG[index];lineB+=this.momentsB[index];line2+=this.moments[index];area[b]+=line;areaR[b]+=lineR;areaG[b]+=lineG;areaB[b]+=lineB;area2[b]+=line2;const previousIndex=this.getIndex(r-1,g,b);this.weights[index]=this.weights[previousIndex]+area[b];this.momentsR[index]=this.momentsR[previousIndex]+areaR[b];this.momentsG[index]=this.momentsG[previousIndex]+areaG[b];this.momentsB[index]=this.momentsB[previousIndex]+areaB[b];this.moments[index]=this.moments[previousIndex]+area2[b]}}}}createBoxes(maxColors){this.cubes=Array.from({length:maxColors}).fill(0).map((()=>new Box));const volumeVariance=Array.from({length:maxColors}).fill(0);this.cubes[0].r0=0;this.cubes[0].g0=0;this.cubes[0].b0=0;this.cubes[0].r1=SIDE_LENGTH-1;this.cubes[0].g1=SIDE_LENGTH-1;this.cubes[0].b1=SIDE_LENGTH-1;let generatedColorCount=maxColors;let next=0;for(let i=1;i<maxColors;i++){if(this.cut(this.cubes[next],this.cubes[i])){volumeVariance[next]=this.cubes[next].vol>1?this.variance(this.cubes[next]):0;volumeVariance[i]=this.cubes[i].vol>1?this.variance(this.cubes[i]):0}else{volumeVariance[next]=0;i--}next=0;let temp=volumeVariance[0];for(let j=1;j<=i;j++){if(volumeVariance[j]>temp){temp=volumeVariance[j];next=j}}if(temp<=0){generatedColorCount=i+1;break}}return new CreateBoxesResult(maxColors,generatedColorCount)}createResult(colorCount){const colors=[];for(let i=0;i<colorCount;++i){const cube=this.cubes[i];const weight=this.volume(cube,this.weights);if(weight>0){const r=Math.round(this.volume(cube,this.momentsR)/weight);const g=Math.round(this.volume(cube,this.momentsG)/weight);const b=Math.round(this.volume(cube,this.momentsB)/weight);const color=255<<24|(r&255)<<16|(g&255)<<8|b&255;colors.push(color)}}return colors}variance(cube){const dr=this.volume(cube,this.momentsR);const dg=this.volume(cube,this.momentsG);const db=this.volume(cube,this.momentsB);const xx=this.moments[this.getIndex(cube.r1,cube.g1,cube.b1)]-this.moments[this.getIndex(cube.r1,cube.g1,cube.b0)]-this.moments[this.getIndex(cube.r1,cube.g0,cube.b1)]+this.moments[this.getIndex(cube.r1,cube.g0,cube.b0)]-this.moments[this.getIndex(cube.r0,cube.g1,cube.b1)]+this.moments[this.getIndex(cube.r0,cube.g1,cube.b0)]+this.moments[this.getIndex(cube.r0,cube.g0,cube.b1)]-this.moments[this.getIndex(cube.r0,cube.g0,cube.b0)];const hypotenuse=dr*dr+dg*dg+db*db;const volume=this.volume(cube,this.weights);return xx-hypotenuse/volume}cut(one,two){const wholeR=this.volume(one,this.momentsR);const wholeG=this.volume(one,this.momentsG);const wholeB=this.volume(one,this.momentsB);const wholeW=this.volume(one,this.weights);const maxRResult=this.maximize(one,directions.RED,one.r0+1,one.r1,wholeR,wholeG,wholeB,wholeW);const maxGResult=this.maximize(one,directions.GREEN,one.g0+1,one.g1,wholeR,wholeG,wholeB,wholeW);const maxBResult=this.maximize(one,directions.BLUE,one.b0+1,one.b1,wholeR,wholeG,wholeB,wholeW);let direction;const maxR=maxRResult.maximum;const maxG=maxGResult.maximum;const maxB=maxBResult.maximum;if(maxR>=maxG&&maxR>=maxB){if(maxRResult.cutLocation<0){return false}direction=directions.RED}else if(maxG>=maxR&&maxG>=maxB){direction=directions.GREEN}else{direction=directions.BLUE}two.r1=one.r1;two.g1=one.g1;two.b1=one.b1;switch(direction){case directions.RED:one.r1=maxRResult.cutLocation;two.r0=one.r1;two.g0=one.g0;two.b0=one.b0;break;case directions.GREEN:one.g1=maxGResult.cutLocation;two.r0=one.r0;two.g0=one.g1;two.b0=one.b0;break;case directions.BLUE:one.b1=maxBResult.cutLocation;two.r0=one.r0;two.g0=one.g0;two.b0=one.b1;break;default:throw new Error("unexpected direction "+direction)}one.vol=(one.r1-one.r0)*(one.g1-one.g0)*(one.b1-one.b0);two.vol=(two.r1-two.r0)*(two.g1-two.g0)*(two.b1-two.b0);return true}maximize(cube,direction,first,last,wholeR,wholeG,wholeB,wholeW){const bottomR=this.bottom(cube,direction,this.momentsR);const bottomG=this.bottom(cube,direction,this.momentsG);const bottomB=this.bottom(cube,direction,this.momentsB);const bottomW=this.bottom(cube,direction,this.weights);let max=0;let cut=-1;let halfR=0;let halfG=0;let halfB=0;let halfW=0;for(let i=first;i<last;i++){halfR=bottomR+this.top(cube,direction,i,this.momentsR);halfG=bottomG+this.top(cube,direction,i,this.momentsG);halfB=bottomB+this.top(cube,direction,i,this.momentsB);halfW=bottomW+this.top(cube,direction,i,this.weights);if(halfW===0){continue}let tempNumerator=(halfR*halfR+halfG*halfG+halfB*halfB)*1;let tempDenominator=halfW*1;let temp=tempNumerator/tempDenominator;halfR=wholeR-halfR;halfG=wholeG-halfG;halfB=wholeB-halfB;halfW=wholeW-halfW;if(halfW===0){continue}tempNumerator=(halfR*halfR+halfG*halfG+halfB*halfB)*1;tempDenominator=halfW*1;temp+=tempNumerator/tempDenominator;if(temp>max){max=temp;cut=i}}return new MaximizeResult(cut,max)}volume(cube,moment){return moment[this.getIndex(cube.r1,cube.g1,cube.b1)]-moment[this.getIndex(cube.r1,cube.g1,cube.b0)]-moment[this.getIndex(cube.r1,cube.g0,cube.b1)]+moment[this.getIndex(cube.r1,cube.g0,cube.b0)]-moment[this.getIndex(cube.r0,cube.g1,cube.b1)]+moment[this.getIndex(cube.r0,cube.g1,cube.b0)]+moment[this.getIndex(cube.r0,cube.g0,cube.b1)]-moment[this.getIndex(cube.r0,cube.g0,cube.b0)]}bottom(cube,direction,moment){switch(direction){case directions.RED:return-moment[this.getIndex(cube.r0,cube.g1,cube.b1)]+moment[this.getIndex(cube.r0,cube.g1,cube.b0)]+moment[this.getIndex(cube.r0,cube.g0,cube.b1)]-moment[this.getIndex(cube.r0,cube.g0,cube.b0)];case directions.GREEN:return-moment[this.getIndex(cube.r1,cube.g0,cube.b1)]+moment[this.getIndex(cube.r1,cube.g0,cube.b0)]+moment[this.getIndex(cube.r0,cube.g0,cube.b1)]-moment[this.getIndex(cube.r0,cube.g0,cube.b0)];case directions.BLUE:return-moment[this.getIndex(cube.r1,cube.g1,cube.b0)]+moment[this.getIndex(cube.r1,cube.g0,cube.b0)]+moment[this.getIndex(cube.r0,cube.g1,cube.b0)]-moment[this.getIndex(cube.r0,cube.g0,cube.b0)];default:throw new Error("unexpected direction $direction")}}top(cube,direction,position,moment){switch(direction){case directions.RED:return moment[this.getIndex(position,cube.g1,cube.b1)]-moment[this.getIndex(position,cube.g1,cube.b0)]-moment[this.getIndex(position,cube.g0,cube.b1)]+moment[this.getIndex(position,cube.g0,cube.b0)];case directions.GREEN:return moment[this.getIndex(cube.r1,position,cube.b1)]-moment[this.getIndex(cube.r1,position,cube.b0)]-moment[this.getIndex(cube.r0,position,cube.b1)]+moment[this.getIndex(cube.r0,position,cube.b0)];case directions.BLUE:return moment[this.getIndex(cube.r1,cube.g1,position)]-moment[this.getIndex(cube.r1,cube.g0,position)]-moment[this.getIndex(cube.r0,cube.g1,position)]+moment[this.getIndex(cube.r0,cube.g0,position)];default:throw new Error("unexpected direction $direction")}}getIndex(r,g,b){return(r<<INDEX_BITS*2)+(r<<INDEX_BITS+1)+r+(g<<INDEX_BITS)+g+b}}class Box{constructor(){let r0=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;let r1=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;let g0=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;let g1=arguments.length>3&&arguments[3]!==undefined?arguments[3]:0;let b0=arguments.length>4&&arguments[4]!==undefined?arguments[4]:0;let b1=arguments.length>5&&arguments[5]!==undefined?arguments[5]:0;let vol=arguments.length>6&&arguments[6]!==undefined?arguments[6]:0;this.r0=r0;this.r1=r1;this.g0=g0;this.g1=g1;this.b0=b0;this.b1=b1;this.vol=vol}}class CreateBoxesResult{constructor(requestedCount,resultCount){this.requestedCount=requestedCount;this.resultCount=resultCount}}class MaximizeResult{constructor(cutLocation,maximum){this.cutLocation=cutLocation;this.maximum=maximum}}class quantizer_celebi_QuantizerCelebi{static quantize(pixels,maxColors){const wu=new quantizer_wu_QuantizerWu;const wuResult=wu.quantize(pixels,maxColors);return quantizer_wsmeans_QuantizerWsmeans.quantize(pixels,wuResult,maxColors)}}class scheme_Scheme{constructor(props){this.props=props}get primary(){return this.props.primary}get onPrimary(){return this.props.onPrimary}get primaryContainer(){return this.props.primaryContainer}get onPrimaryContainer(){return this.props.onPrimaryContainer}get secondary(){return this.props.secondary}get onSecondary(){return this.props.onSecondary}get secondaryContainer(){return this.props.secondaryContainer}get onSecondaryContainer(){return this.props.onSecondaryContainer}get tertiary(){return this.props.tertiary}get onTertiary(){return this.props.onTertiary}get tertiaryContainer(){return this.props.tertiaryContainer}get onTertiaryContainer(){return this.props.onTertiaryContainer}get error(){return this.props.error}get onError(){return this.props.onError}get errorContainer(){return this.props.errorContainer}get onErrorContainer(){return this.props.onErrorContainer}get background(){return this.props.background}get onBackground(){return this.props.onBackground}get surface(){return this.props.surface}get onSurface(){return this.props.onSurface}get surfaceVariant(){return this.props.surfaceVariant}get onSurfaceVariant(){return this.props.onSurfaceVariant}get outline(){return this.props.outline}get outlineVariant(){return this.props.outlineVariant}get shadow(){return this.props.shadow}get scrim(){return this.props.scrim}get inverseSurface(){return this.props.inverseSurface}get inverseOnSurface(){return this.props.inverseOnSurface}get inversePrimary(){return this.props.inversePrimary}static light(argb){return scheme_Scheme.lightFromCorePalette(core_palette_CorePalette.of(argb))}static dark(argb){return scheme_Scheme.darkFromCorePalette(core_palette_CorePalette.of(argb))}static lightContent(argb){return scheme_Scheme.lightFromCorePalette(core_palette_CorePalette.contentOf(argb))}static darkContent(argb){return scheme_Scheme.darkFromCorePalette(core_palette_CorePalette.contentOf(argb))}static lightFromCorePalette(core){return new scheme_Scheme({primary:core.a1.tone(40),onPrimary:core.a1.tone(100),primaryContainer:core.a1.tone(90),onPrimaryContainer:core.a1.tone(10),secondary:core.a2.tone(40),onSecondary:core.a2.tone(100),secondaryContainer:core.a2.tone(90),onSecondaryContainer:core.a2.tone(10),tertiary:core.a3.tone(40),onTertiary:core.a3.tone(100),tertiaryContainer:core.a3.tone(90),onTertiaryContainer:core.a3.tone(10),error:core.error.tone(40),onError:core.error.tone(100),errorContainer:core.error.tone(90),onErrorContainer:core.error.tone(10),background:core.n1.tone(99),onBackground:core.n1.tone(10),surface:core.n1.tone(99),onSurface:core.n1.tone(10),surfaceVariant:core.n2.tone(90),onSurfaceVariant:core.n2.tone(30),outline:core.n2.tone(50),outlineVariant:core.n2.tone(80),shadow:core.n1.tone(0),scrim:core.n1.tone(0),inverseSurface:core.n1.tone(20),inverseOnSurface:core.n1.tone(95),inversePrimary:core.a1.tone(80)})}static darkFromCorePalette(core){return new scheme_Scheme({primary:core.a1.tone(80),onPrimary:core.a1.tone(20),primaryContainer:core.a1.tone(30),onPrimaryContainer:core.a1.tone(90),secondary:core.a2.tone(80),onSecondary:core.a2.tone(20),secondaryContainer:core.a2.tone(30),onSecondaryContainer:core.a2.tone(90),tertiary:core.a3.tone(80),onTertiary:core.a3.tone(20),tertiaryContainer:core.a3.tone(30),onTertiaryContainer:core.a3.tone(90),error:core.error.tone(80),onError:core.error.tone(20),errorContainer:core.error.tone(30),onErrorContainer:core.error.tone(80),background:core.n1.tone(10),onBackground:core.n1.tone(90),surface:core.n1.tone(10),onSurface:core.n1.tone(90),surfaceVariant:core.n2.tone(30),onSurfaceVariant:core.n2.tone(80),outline:core.n2.tone(60),outlineVariant:core.n2.tone(30),shadow:core.n1.tone(0),scrim:core.n1.tone(0),inverseSurface:core.n1.tone(90),inverseOnSurface:core.n1.tone(20),inversePrimary:core.a1.tone(40)})}toJSON(){return Object.assign({},this.props)}}class scheme_android_SchemeAndroid{constructor(props){this.props=props}get colorAccentPrimary(){return this.props.colorAccentPrimary}get colorAccentPrimaryVariant(){return this.props.colorAccentPrimaryVariant}get colorAccentSecondary(){return this.props.colorAccentSecondary}get colorAccentSecondaryVariant(){return this.props.colorAccentSecondaryVariant}get colorAccentTertiary(){return this.props.colorAccentTertiary}get colorAccentTertiaryVariant(){return this.props.colorAccentTertiaryVariant}get textColorPrimary(){return this.props.textColorPrimary}get textColorSecondary(){return this.props.textColorSecondary}get textColorTertiary(){return this.props.textColorTertiary}get textColorPrimaryInverse(){return this.props.textColorPrimaryInverse}get textColorSecondaryInverse(){return this.props.textColorSecondaryInverse}get textColorTertiaryInverse(){return this.props.textColorTertiaryInverse}get colorBackground(){return this.props.colorBackground}get colorBackgroundFloating(){return this.props.colorBackgroundFloating}get colorSurface(){return this.props.colorSurface}get colorSurfaceVariant(){return this.props.colorSurfaceVariant}get colorSurfaceHighlight(){return this.props.colorSurfaceHighlight}get surfaceHeader(){return this.props.surfaceHeader}get underSurface(){return this.props.underSurface}get offState(){return this.props.offState}get accentSurface(){return this.props.accentSurface}get textPrimaryOnAccent(){return this.props.textPrimaryOnAccent}get textSecondaryOnAccent(){return this.props.textSecondaryOnAccent}get volumeBackground(){return this.props.volumeBackground}get scrim(){return this.props.scrim}static light(argb){const core=core_palette_CorePalette.of(argb);return scheme_android_SchemeAndroid.lightFromCorePalette(core)}static dark(argb){const core=core_palette_CorePalette.of(argb);return scheme_android_SchemeAndroid.darkFromCorePalette(core)}static lightContent(argb){const core=core_palette_CorePalette.contentOf(argb);return scheme_android_SchemeAndroid.lightFromCorePalette(core)}static darkContent(argb){const core=core_palette_CorePalette.contentOf(argb);return scheme_android_SchemeAndroid.darkFromCorePalette(core)}static lightFromCorePalette(core){return new scheme_android_SchemeAndroid({colorAccentPrimary:core.a1.tone(90),colorAccentPrimaryVariant:core.a1.tone(40),colorAccentSecondary:core.a2.tone(90),colorAccentSecondaryVariant:core.a2.tone(40),colorAccentTertiary:core.a3.tone(90),colorAccentTertiaryVariant:core.a3.tone(40),textColorPrimary:core.n1.tone(10),textColorSecondary:core.n2.tone(30),textColorTertiary:core.n2.tone(50),textColorPrimaryInverse:core.n1.tone(95),textColorSecondaryInverse:core.n1.tone(80),textColorTertiaryInverse:core.n1.tone(60),colorBackground:core.n1.tone(95),colorBackgroundFloating:core.n1.tone(98),colorSurface:core.n1.tone(98),colorSurfaceVariant:core.n1.tone(90),colorSurfaceHighlight:core.n1.tone(100),surfaceHeader:core.n1.tone(90),underSurface:core.n1.tone(0),offState:core.n1.tone(20),accentSurface:core.a2.tone(95),textPrimaryOnAccent:core.n1.tone(10),textSecondaryOnAccent:core.n2.tone(30),volumeBackground:core.n1.tone(25),scrim:core.n1.tone(80)})}static darkFromCorePalette(core){return new scheme_android_SchemeAndroid({colorAccentPrimary:core.a1.tone(90),colorAccentPrimaryVariant:core.a1.tone(70),colorAccentSecondary:core.a2.tone(90),colorAccentSecondaryVariant:core.a2.tone(70),colorAccentTertiary:core.a3.tone(90),colorAccentTertiaryVariant:core.a3.tone(70),textColorPrimary:core.n1.tone(95),textColorSecondary:core.n2.tone(80),textColorTertiary:core.n2.tone(60),textColorPrimaryInverse:core.n1.tone(10),textColorSecondaryInverse:core.n1.tone(30),textColorTertiaryInverse:core.n1.tone(50),colorBackground:core.n1.tone(10),colorBackgroundFloating:core.n1.tone(10),colorSurface:core.n1.tone(20),colorSurfaceVariant:core.n1.tone(30),colorSurfaceHighlight:core.n1.tone(35),surfaceHeader:core.n1.tone(30),underSurface:core.n1.tone(0),offState:core.n1.tone(20),accentSurface:core.a2.tone(95),textPrimaryOnAccent:core.n1.tone(10),textSecondaryOnAccent:core.n2.tone(30),volumeBackground:core.n1.tone(25),scrim:core.n1.tone(80)})}toJSON(){return Object.assign({},this.props)}}class score_Score{constructor(){}static score(colorsToPopulation){let contentColor=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;let populationSum=0;for(const population of colorsToPopulation.values()){populationSum+=population}const colorsToProportion=new Map;const colorsToCam=new Map;const hueProportions=new Array(360).fill(0);for(const[color,population]of colorsToPopulation.entries()){const proportion=population/populationSum;colorsToProportion.set(color,proportion);const cam=cam16_Cam16.fromInt(color);colorsToCam.set(color,cam);const hue=Math.round(cam.hue);hueProportions[hue]+=proportion}const colorsToExcitedProportion=new Map;for(const[color,cam]of colorsToCam.entries()){const hue=Math.round(cam.hue);let excitedProportion=0;for(let i=hue-15;i<hue+15;i++){const neighborHue=sanitizeDegreesInt(i);excitedProportion+=hueProportions[neighborHue]}colorsToExcitedProportion.set(color,excitedProportion)}const colorsToScore=new Map;for(const[color,cam]of colorsToCam.entries()){const proportion=colorsToExcitedProportion.get(color);const proportionScore=proportion*100*score_Score.WEIGHT_PROPORTION;const chromaWeight=cam.chroma<score_Score.TARGET_CHROMA?score_Score.WEIGHT_CHROMA_BELOW:score_Score.WEIGHT_CHROMA_ABOVE;const chromaScore=(cam.chroma-score_Score.TARGET_CHROMA)*chromaWeight;const score=proportionScore+chromaScore;colorsToScore.set(color,score)}const filteredColors=contentColor?score_Score.filterContent(colorsToCam):score_Score.filter(colorsToExcitedProportion,colorsToCam);const dedupedColorsToScore=new Map;for(const color of filteredColors){let duplicateHue=false;const hue=colorsToCam.get(color).hue;for(const[alreadyChosenColor]of dedupedColorsToScore){const alreadyChosenHue=colorsToCam.get(alreadyChosenColor).hue;if(math_utils_differenceDegrees(hue,alreadyChosenHue)<15){duplicateHue=true;break}}if(duplicateHue){continue}dedupedColorsToScore.set(color,colorsToScore.get(color))}const colorsByScoreDescending=Array.from(dedupedColorsToScore.entries());colorsByScoreDescending.sort(((first,second)=>second[1]-first[1]));const answer=colorsByScoreDescending.map((entry=>entry[0]));if(answer.length===0){answer.push(4282549748)}return answer}static filter(colorsToExcitedProportion,colorsToCam){const filtered=new Array;for(const[color,cam]of colorsToCam.entries()){const proportion=colorsToExcitedProportion.get(color);if(cam.chroma>=score_Score.CUTOFF_CHROMA&&lstarFromArgb(color)>=score_Score.CUTOFF_TONE&&proportion>=score_Score.CUTOFF_EXCITED_PROPORTION){filtered.push(color)}}return filtered}static filterContent(colorsToCam){return Array.from(colorsToCam.keys())}}score_Score.TARGET_CHROMA=48;score_Score.WEIGHT_PROPORTION=.7;score_Score.WEIGHT_CHROMA_ABOVE=.3;score_Score.WEIGHT_CHROMA_BELOW=.1;score_Score.CUTOFF_CHROMA=15;score_Score.CUTOFF_TONE=10;score_Score.CUTOFF_EXCITED_PROPORTION=.01;const hexFromArgb=argb=>{const r=redFromArgb(argb);const g=greenFromArgb(argb);const b=blueFromArgb(argb);const outParts=[r.toString(16),g.toString(16),b.toString(16)];for(const[i,part]of outParts.entries()){if(part.length===1){outParts[i]="0"+part}}return"#"+outParts.join("")};const argbFromHex=hex=>{hex=hex.replace("#","");const isThree=hex.length===3;const isSix=hex.length===6;const isEight=hex.length===8;if(!isThree&&!isSix&&!isEight){throw new Error("unexpected hex "+hex)}let r=0;let g=0;let b=0;if(isThree){r=parseIntHex(hex.slice(0,1).repeat(2));g=parseIntHex(hex.slice(1,2).repeat(2));b=parseIntHex(hex.slice(2,3).repeat(2))}else if(isSix){r=parseIntHex(hex.slice(0,2));g=parseIntHex(hex.slice(2,4));b=parseIntHex(hex.slice(4,6))}else if(isEight){r=parseIntHex(hex.slice(2,4));g=parseIntHex(hex.slice(4,6));b=parseIntHex(hex.slice(6,8))}return(255<<24|(r&255)<<16|(g&255)<<8|b&255)>>>0};function parseIntHex(value){return parseInt(value,16)}async function sourceColorFromImage(image){const imageBytes=await new Promise(((resolve,reject)=>{const canvas=document.createElement("canvas");const context=canvas.getContext("2d");if(!context){return reject(new Error("Could not get canvas context"))}image.onload=()=>{canvas.width=image.width;canvas.height=image.height;context.drawImage(image,0,0);resolve(context.getImageData(0,0,image.width,image.height).data)}}));const pixels=[];for(let i=0;i<imageBytes.length;i+=4){const r=imageBytes[i];const g=imageBytes[i+1];const b=imageBytes[i+2];const a=imageBytes[i+3];if(a<255){continue}const argb=argbFromRgb(r,g,b);pixels.push(argb)}const result=quantizer_celebi_QuantizerCelebi.quantize(pixels,128);const ranked=score_Score.score(result);const top=ranked[0];return top}function themeFromSourceColor(source){let customColors=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];const palette=core_palette_CorePalette.of(source);return{source,schemes:{light:scheme_Scheme.light(source),dark:scheme_Scheme.dark(source)},palettes:{primary:palette.a1,secondary:palette.a2,tertiary:palette.a3,neutral:palette.n1,neutralVariant:palette.n2,error:palette.error},customColors:customColors.map((c=>customColor(source,c)))}}async function themeFromImage(image){let customColors=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];const source=await sourceColorFromImage(image);return themeFromSourceColor(source,customColors)}function customColor(source,color){let value=color.value;const from=value;const to=source;if(color.blend){value=blend_Blend.harmonize(from,to)}const palette=core_palette_CorePalette.of(value);const tones=palette.a1;return{color,value,light:{color:tones.tone(40),onColor:tones.tone(100),colorContainer:tones.tone(90),onColorContainer:tones.tone(10)},dark:{color:tones.tone(80),onColor:tones.tone(20),colorContainer:tones.tone(30),onColorContainer:tones.tone(90)}}}function applyTheme(theme,options){var _a,_b;const target=(options===null||options===void 0?void 0:options.target)||document.body;const isDark=(_a=options===null||options===void 0?void 0:options.dark)!==null&&_a!==void 0?_a:false;const scheme=isDark?theme.schemes.dark:theme.schemes.light;setSchemeProperties(target,scheme);if(options===null||options===void 0?void 0:options.brightnessSuffix){setSchemeProperties(target,theme.schemes.dark,"-dark");setSchemeProperties(target,theme.schemes.light,"-light")}if(options===null||options===void 0?void 0:options.paletteTones){const tones=(_b=options===null||options===void 0?void 0:options.paletteTones)!==null&&_b!==void 0?_b:[];for(const[key,palette]of Object.entries(theme.palettes)){const paletteKey=key.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();for(const tone of tones){const token=`--md-ref-palette-${paletteKey}-${paletteKey}${tone}`;const color=hexFromArgb(palette.tone(tone));target.style.setProperty(token,color)}}}}function setSchemeProperties(target,scheme){let suffix=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"";for(const[key,value]of Object.entries(scheme.toJSON())){const token=key.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();const color=hexFromArgb(value);target.style.setProperty(`--md-sys-color-${token}${suffix}`,color)}}var Theme=__webpack_require__(29);const ChoiceIotTheme={logoUrl:"https://www.choiceiot.com/wp-content/uploads/choice-IOT-2.png",logoSmallUrl:"https://www.choiceiot.com/wp-content/uploads/2018/12/cbc-ipad-retina-icon.png",mode:"dark",originalColor:"#55BAE5",secondaryColor:"#929598",borderRadius:3};const EmbraerTheme={originalColor:"#100690",secondaryColor:"#FCC317",borderRadius:3,logoUrl:"data:image/png;base64,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",logoSmallUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABDkAAAQ5CAYAAADIjtQUAAAACXBIWXMAAAsSAAALEgHS3X78AAAgAElEQVR4nOzdO3IbydYu7NxbHRky0zwmegakd0zQkwnOAJhBcQTNHgFzBsRvHuujqbbEGQgzEL8ZlKmoCEX8kerU3t2tGy+4VGU9jyWTWguhoF7kWisAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDf/Es5AACAVqWYb0IInQYzY7t+6M7n8tf/ZQQ/AwAAwF6lmFMI4V0I4UxlmbE+hLCZ01//3yP4GQAAAPYmxbwMIXwQcDBzJeC46IduN6cyCDkAAIBmpJiv6wuOpKvM3NXcAo5gXAUAAGhBHU+5DSGsNBQ+BxzbOZbB4lEAAGDSUsxlLOV/QggLnYSw7YduVns4/sq4CgAAMFkp5nI55b2AAz67m3PAEYyrAAAAU1THU8p52LUGwmdl/8asA45gXAUAAJiaOp5y63oK/MdDCOG8H7p+7iUxrgIAAExGinldr6cIOOBPJdi4FHD8yUsOAABgElLMZTyl0y34m4t+6O6V5E92cgAAAKOWYl7U6yleb8DfbQQcf2dcBQAAGK0U86peTxFwwN/93g/dVk3+zrgKAAAwSinm6xDCb7oDX9nO/VTs9wg5AACAUannYct4ylJn4Cv3/dBdKMu32ckBAACMRj0PW66nJF2Br+zKJRVl+T47OQAAgFFIMXd1/4aAA77mVOwjeMkBAACcVB1PuQ0hrHQCvqmvp2IflOfHhBwAAMDJ1PGUsn9joQvwXeVU7E55fs64CgAAcBIp5nXdvyHggO8rAced+jyOlxwAAMBR1fGUmxDCWuXhh3I/dFslejwnZAEAgKNJMS/qeMqZqsMPbfuh2yjR0xhXAQAAjiLFvKrXUwQc8GNl/8aVGj2dkAMAADi4FPNNfcHhPCz82K5eUnEq9hmMqwAAAAdT92+883oDHuXLqViXVJ7JSw4AAOAgUszLEMIHAQc8ioBjD4QcAADA3qWYr+sLDuMp8DhXAo6Xc0IWAADYmzqechtCWKkqPNqVU7H7YScHAACwFynms7pcdKGi8GhOxe6RcRUAAODFUsxdPQ8r4IDHuxNw7JdxFQAA4NnqeEo5D7tWRXiSsn9DwLFnxlUAAIBnqeMpt66nwJM9hBDO+6HrlW6/jKsAAABPlmJe1+spAg54mhJsXAo4DsNLDgAA4ElSzGU8pVM1eJaLfujule4w7OQAAAAeJcW8qNdTvN6A59kIOA7LuAoAAPBTKeZVvZ4i4IDn+b0fuq3aHZZxFQAA4IdSzNchhN9UCZ5t61TscQg5AACAb6rnYct4ylKF4Nnu+6G7UL7jsJMDAAD4Sj0PW66nJNWBZ9uVSyrKdzx2cgAAAH+TYu7q/g0BBzyfU7En4CUHAADwWR1PuQ0hrFQEXqSvp2IflPG4hBwAAMCX8ZSyf2OhGvBi5VTsThmPz7gKAADMXIp5XfdvCDjg5UrAcaeOp+ElBwAAzFQdT7kJIax9BmAvcj90W6U8HSdkAQBghlLMizqecqb/sBfbfug2SnlaQg4AAJiZFPOqLhh1PQX2Y9cP3blanp6dHAAAMCMp5pv6gkPAAftRFoxeqOU4eMkBAAAzUPdvvDOeAnv15VSsSyoj4SUHAAA0LsW8DCF8EHDAXgk4RkjIAQAADUsxX9cXHMZTYL+uBBzjY1wFAAAaVMdTynLRlf7C3m2cih2nX+ZeAAAAaE2K+awuF11oLuzdVsAxXsZVAACgISnmLoTwXsABB3HXD91GacfLSw4AAGhAHU8p52HX+gkHUfZvCDhGzk4OAACYuDqecut6ChzMQwjhvB+6XonHzbgKAABMWIp5Xa+nCDjgMEqwcSngmAYvOQAAYKJSzGU8pdM/OKhzp2Knw04OAACYmBTzol5P8XoDDmsj4JgW4yoAADAhKeZVvZ4i4IDD+t2p2OkxrgIAABORYr4OIfymX3BwW6dip0nIAQAAI1fPw5bxlKVewcHd90N3oczTZCcHAACMWD0PW66nJH2Cgyv7Ny6Vebrs5AAAgJFKMXd1/4aAAw6vnIi9cCp22rzkAACAkanjKbchhJXewFEIOBoh5AAAgBGp4yll/8ZCX+BonIpthHEVAAAYiRTzuu7fEHDA8ZSA40692+AlBwAAnFgdT7kJIaz1Ao4q90O3VfJ2OCELAAAnlGJe1PGUM32Ao9r2Q7dR8rYIOQAA4ERSzKu6YNT1FDiuXT9052reHjs5AADgBFLMN/UFh4ADjqssGL1Q8zZ5yQEAAEdU92+8M54CJ/HlVKxLKo3ykgMAAI4kxbwMIXwQcMBJCDhmQMgBAABHkGK+ri84jKfAaVwJONpnXAUAAA6ojqeU5aIrdYaT2TgVOw+/zL0AAABwKCnms7pcdKHIcDJbAcd8GFcBAIADSDF3IYT3Ag44qbt+6DZaMB9ecgAAwB7V8ZRyHnatrnBSZf+GgGNm7OQAAIA9qeMpt66nwMk9hBDO+6HrtWJejKsAAMAepJjX9XqKgANOqwQblwKOefKSAwAAXijFXMZTOnWEUTh3Kna+7OQAAIBnSjEv6vUUrzdgHDYCjnkzrgIAAM+QYl7V6ykCDhiH352KxbgKAAA8UYr5OoTwm7rBaGydiiUIOQAA4PHqedgynrJUNhiN+37oLrSDYCcHAAA8Tj0PW66nJCWD0Sj7Ny61gy/s5AAAgJ9IMXd1/4aAA8ajnIi9cCqWv/KSAwAAvqOOp9yGEFZqBKMi4OCb7OQAAIBvqOMpZf/GQn1gdErAca8t/JNxFQAA+IcU87ru3xBwwPhsBBx8j3EVAACo6njKTQhhrSYwSrkfuq3W8D3GVQAA4M+AY1HHU87UA0Zp2w/dRmv4ESEHAACzl2Je1QWjrqfAOO36oTvXG37GTg4AAGYtxXxTX3AIOGCcdmXRqN7wGF5yAAAwS3X/xjvjKTBq5UTseT90D9rEY3jJAQDA7KSYlyGEDwIOGLW+nooVcPBoQg4AAGYlxXxdX3AYT4Fxu+qHbqdHPIVxFQAAZqGOp5Tloisdh9HbOBXLc/yiagAAtC7FfFaXiy40G0ZvK+DguYyrAADQtBRzF0J4L+CASSgBx0areC4vOQAAaFIdTynnYdc6DJNQ9m9caRUvYScHAADNqeMpt66nwGQ81FOxvZbxEsZVAABoSop5Xa+nCDhgGkqwcSngYB+85AAAoBkp5jKe0ukoTMq5U7Hsi50cAABMXop5Ua+neL0B07IRcLBPxlUAAJi0FPOqXk8RcMC0XDkVy74JOQAAmKwU83V9wZF0ESalnIrNWsa+2ckBAMDk1POwJdxY6h5Mzn0/dBfaxiHYyQEAwKTU87DvvN6ASSr7Ny61jkMxrgIAwGSkmLu6f0PAAdNTTsReOBXLIXnJAQDA6NXxlNsQwkq3YJIEHByFnRwAAIxaHU8p+zcWOgWTVQKOe+3j0IyrAAAwWinmdd2/IeCA6doIODgW4yoAAIxOHU+5CSGsdQcmLfdDt9VCjsW4CgAAo5JiXtTxlDOdgUnb9kO30UKOScgBAMBopJhXdcGo6ykwbbt+6M71kGOzkwMAgFFIMd/UFxwCDpi2XVk0qoecgpccAACcVN2/8c54CjShnIg974fuQTs5BS85AAA4mRTzMoTwQcABTejrqVgBBycj5AAA4CRSzNf1BYfxFGjDVT90O73klIyrAABwVHU8pSwXXak8NGPjVCxj8IsuAABwLCnms7pcdKHo0IytgIOxMK4CAMBRpJi7EMJ7AQc0pQQcGy1lLLzkAADgoOp4SjkPu1ZpaErZv3GlpYyJnRwAABxMHU+5dT0FmvNQT8X2WsuYGFcBAOAgUszrej1FwAFtKcHGpYCDMfKSAwCAvUsxl/GUTmWhSedOxTJWdnIAALA3KeZFvZ7i9Qa0aSPgYMyMqwAAsBcp5lW9niLggDZdORXL2Ak5AAB4sRTzdX3BkVQTmlROxWatZezs5AAA4NnqedgSbixVEZp13w/dhfYyBXZyAADwLPU87DuvN6BpZf/GpRYzFcZVAAB4shRzV/dvCDigXeVE7IVTsUyJlxwAADxaHU+5DSGsVA2aJuBgkuzkAADgUep4Stm/sVAxaF4JOO61makxrgIAwE+lmNd1/4aAA9q3EXAwVcZVAAD4rjqechNCWKsSzMLv/dBttZqpMq4CAMA3pZgXdTzlTIVgFrb90G20mikTcgAA8JUU86ouGHU9BeZh1w/duV4zdXZyAADwNynmm/qCQ8AB87Ari0b1mhZ4yQEAwGd1/0YJN5YqArNRTsSe90P3oOW0wEsOAABKwFGCjQ8CDpiVvp6KFXDQDCEHAMDMpZiv63lY4ykwL+VU7E7PaYkTsgAAM1XHU8py0ZXPAMxOCTjutJ3WCDkAAGYoxXxW928s9B9mp5yK3Wo7LTKuAgAwMynmdQjhvYADZqkEHButp1VecgAAzEQdTynnYdd6DrNU9m9caT0tc0IWAGAG6nhK2b9xpt8wS7t6SaXXflpmXAUAoHF1POWdgANmq6+LRgUcNM9LDgCAhqWYy3hKp8cwa+dOxTIXdnIAADQoxbyo11O83oB52wg4mBPjKgAAjUkxL+v1FAEHzNuVU7HMjZADAKAhKebrun8j6SvMWjkVm+deBObHTg4AgAbU87BlPGWpnzB7d/3QXc69CMyTnRwAABNXz8N6vQGEeip2oxLMlXEVAIAJSzF3df+GgAMoJ2IvnIplzrzkAACYoDqechtCWOkfIOCAP9nJAQAwMXU85db1FOAvSsBxryDMnXEVAIAJSTGv6/4NAQfwxUbAAX8yrgIAMAF1POUmhLDWL+Avfu+Hbqsg8CfjKgAAI5diXtTzsF5vAH+17YfOJRX4CyEHAMCIpZhXdf+G6ynAX+36oTtXEfg7OzkAAEYqxXxTX3AIOIC/2pVFoyoCX/OSAwBgZOr+jRJuLPUG+IdyIva8H7oHhYGveckBADAiKeYSbHwQcADf0NdTsQIO+A4hBwDASKSYr+t5WOMpwLeUU7E7lYHvc0IWAODE6nhKWS660gvgO0rAcac48GNCDgCAE0oxn9X9Gwt9AL6jnIrdKg78nHEVAIATSTGvQwjvBRzAD5SAY6NA8DhecgAAHFkdTynnYddqD/xA2b9xpUDweE7IAgAcUR1PKfs3ztQd+IFdvaTSKxI8nnEVAIAjqeMp7wQcwE/0ddGogAOeyEsOAIAjSDGX8ZROrYFHOHcqFp7HTg4AgANKMS/q9RSvN4DH2Ag44PmMqwAAHEiKeVmvpwg4gMe4cioWXkbIAQBwACnm67p/I6kv8AjlVGxWKHgZOzkAAPaonoct4ylLdQUe6a4fukvFgpezkwMAYE/qeVivN4CnKPs3NioG+2FcBQBgD1LMXd2/IeAAHushhHDhVCzsj5ccAAAvUMdTbkMIK3UEnqAEG5cCDtgvOzkAAJ6pjqfcup4CPEN5wXGvcLBfxlUAAJ4hxbyu+zcEHMBTbQQccBjGVQAAnqCOp9yEENbqBjzD7/3QbRUODsO4CgDAI6WYF/U8rNcbwHNs+6FzSQUOSMgBAPAIKeZV3b/hegrwHPf90F2oHByWnRwAAD+RYr6pLzgEHMBz7MolFZWDw/OSAwDgO+r+jRJuLNUIeKZyIva8H7oHBYTD85IDAOAbUswl2Pgg4ABeoK+nYgUccCRCDgCAf0gxX9fzsMZTgJcop2J3KgjH44QsAEBVx1PKctGVmgAvVAKOO0WE4xJyAAD8GXCc1f0bC/UAXij3Q7dVRDg+i0cBgNlLMa/rCw6Al9r2Q7dRRTgNLzkAgNmq4ynlPOzapwDYg7J/40oh4XS85AAAZqmOp5TXG2c+AcAe7OollV4x4XRcVwEAZqeOp7wTcAB70tdFowIOODEvOQCAWUkxl/GUTteBPenrCw6nYmEE7OQAAGYhxbyo11O83gD26UrAAeNhXAUAaF6KeRlCeC/gAPbsyqlYGBchBwDQtBTzdd2/kXQa2KNyKjYrKIyLnRwAQJPqedgynrLUYWDP7vqhu1RUGB87OQCA5tTzsF5vAIdQ9m9sVBbGybgKANCUFHNX928IOIB9e6iXVJyKhZHykgMAaEIdT7kNIax0FDiAEmxcCjhg3OzkAAAmr46n3LqeAhxQecFxr8AwbsZVAIBJSzGv6/4NAQdwKBsBB0yDcRUAYJLqeMpNCGGtg8AB/d4P3VaBYRqMqwAAk5NiXtTzsF5vAIe07YfOJRWYECEHADApKeZV3b/hegpwSPf90F2oMEyLnRwAwGSkmG/qCw4BB3BIu3JJRYVherzkAABGr+7fKOHGUreAAysnYs/7oXtQaJgeLzkAgFFLMZdg44OAAziCvp6KFXDARAk5AIDRSjFf1/OwxlOAYyinYncqDdPlhCwAMDp1PKUsF13pDnAkJeC4U2yYNiEHADAqKeazun9joTPAkeR+6LaKDdNn8SgAMBop5nV9wQFwLNt+6DaqDW3wkgMAOLk6nlLOw651Aziisn/jSsGhHV5yAAAnVcdTyuuNM50AjmhXL6n0ig7tcF0FADiZOp7yTsABHFlfF40KOKAxXnIAACeRYi7jKZ3qA0fW1xccTsVCg+zkAACOKsW8qNdTvN4ATuFKwAHt8pIDADiaFPOyBhxJ1YET2DgVC22zkwMAOIoU83XdvyHgAE5hK+CA9nnJAQAcVD0PW15vLFUaOJG7fuguFR/aZycHAHAw9Tys1xvAKZX9GxsdgHkwrgIAHESKuVxOeS/gAE7ooV5ScSoWZsJLDgBgr+p4ym0IYaWywAmVYONSwAHzYicHALA3dTzl1nlYYATOnYqF+TGuAgDsRYp5XfdvCDiAU9sIOGCejKsAAC9Sx1NuQghrlQRG4HenYmG+jKsAAM+WYl7U87BebwBjsO2HziUVmDEhBwDwLCnmVd2/4XoKMAb3/dBd6ATMm50cAMCTpZhv6gsOAQcwBmX/xqVOAF5yAACPVvdvlHBjqWrASJQTsb86FQsELzkAgMdKMZdg44OAAxiREmxcCDiAL4QcAMBPpZiv63lY4ynAmDgVC/yNE7IAwHfV8ZSyXHSlSsDIlIDjTlOAvxJyAADflGI+q/s3FioEjEzuh26rKcA/WTwKAHwlxbyuLzgAxmbbD91GV4BvEXIAAP9Rx1PKedi1qgAjtOuH7lxjgO8xrgIAfFbHU8rrjTMVAUaoLBi90BjgR1xXAQC+jKe8E3AAI9XXRaNOxQI/ZFwFAGYuxVzGU7q51wEYrRJsXDgVCzyGcRUAmKkU86JeT/F6AxizKwEH8FhecgDADKWYlzXgSPoPjNjGqVjgKezkAICZSTFf1/0bAg5gzLYCDuCpvOQAgJmo52HL642lngMjd9cP3aUmAU9lJwcAzEA9D+v1BjAFZf/GRqeA5zCuAgCNSzGXyynvBRzABDzUSypOxQLP4iUHADSqjqfchhBWegxMQAk2LgUcwEvYyQEADarjKbfOwwITcu5ULPBSxlUAoDEp5nXdvyHgAKZiI+AA9sG4CgA0oo6n3IQQ1noKTMjvTsUC+2JcBQAakGJe1POwXm8AU7Lth84lFWBvhBwAMHEp5lXdv+F6CjAl9/3QXegYsE92cgDAhKWYb+oLDgEHMCVl/8aljgH75iUHAExQ3b9Rwo2l/gETU07E/upULHAIXnIAwMSkmEuw8UHAAUxQCTYuBBzAoQg5AGBCUszX9Tys8RRgipyKBQ7KCVkAmIA6nlKWi670C5ioEnDcaR5wSEIOABi5FPNZ3b+x0CtgonI/dFvNAw7N4lEAGLEU87q+4ACYqm0/dBvdA45ByAEAI1THU8p52LX+ABO264fuXAOBYzGuAgAjU8dTyuuNM70BJqwsGL3QQOCYXFcBgBGp4ynvBBzAxPV10ahTscBRGVcBgJFIMZfxlE4/gIkrwcaFU7HAKRhXAYATSzEv6vUUrzeAFlwJOIBT8ZIDAE4oxbysAUfSB6ABG6digVOykwMATiTFfF33bwg4gBZsBRzAqXnJAQBHVs/DltcbS7UHGlECjo1mAqdmJwcAHFE9D+v1BtCSsn/jSkeBMTCuAgBHkmIul1PeCziAhjzUSypOxQKj4CUHABxYHU+5DSGs1BpoSAk2LgUcwJjYyQEAB1THU26dhwUadO5ULDA2xlUA4EBSzOu6f0PAAbRmI+AAxsi4CgDsWR1PuQkhrNUWaNCVU7HAWBlXAYA9SjEv6nlYrzeAFjkVC4yakAMA9iTFvKr7N1xPAVp03w/dhc4CY2YnBwDsQYr5pr7gEHAALSr7Ny51Fhg7LzkA4AXq/o0SbizVEWhUORH7q1OxwBR4yQEAz5RiLsHGBwEH0LASbFwIOICpEHIAwDOkmK/reVjjKUDLLp2KBabECVkAeII6nlKWi67UDWjcph+6e00GpkTIAQCPlGI+q/s3FmoGNC73Q7fVZGBqLB4FgEdIMa/rCw6A1m37odvoMjBFQg4A+IE6nlLOw67VCZiBXT905xoNTJVxFQD4jjqeUl5vnKkRMANlweiFRgNT5iUHAHxDinlVAw7XU4A5KCdiz/uhe9BtYMqckAWAf0gx39QFowIOYA5KwHEh4ABaYFwFAKoU86KGG8ZTgDm56odup+NAC4yrAMCfAcfS6w1ghjZOxQItMa4CwOylmK9DCO8EHMDMbAUcQGu85ABgtup52PJ6Y+lTAMxMCTg2mg60xksOAGapnod9L+AAZqjs37jSeKBFQg4AZifF3NWAY6H7wMw81EsqvcYDLXJdBYDZqOMptyGEla4DM1SCjUsBB9AyOzkAmIU6nnLrPCwwY+dOxQKtM64CQPNSzOt6PUXAAczVRsABzIFxFQCalmIurzfWugzM2JVTscBcGFcBoEkp5kU9D+v1BjBnTsUCsyLkAKA5KeZV3b+RdBeYsft+6C58AIA5sZMDgKakmG/qCw4BBzBnZf/GpU8AMDdecgDQhHoetoQbSx0FZq6ciP3VqVhgjrzkAGDyUswl2Pgg4AD4HHBcCDiAuRJyADBpKeaunoc1ngIQwqVTscCcOSELwCTV8ZSyXHSlgwCfbfqhu1cKYM6EHABMTor5rO7fWOgewGe5H7qtUgBzZ/EoAJOSYl7XFxwA/GnbD91GLQCEHABMRB1PKedh13oG8B+7fujOlQPgT8ZVABi9Op5SXm+c6RbAf5QFoxfKAfBfXnIAMGop5lUNOFxPAfivciL2vB+6BzUB+C8nZAEYrRTzTV0wKuAA+K8ScFwIOAC+ZlwFgNFJMS9quGE8BeBr5VTsTl0AvuYlBwCjkmJehhDeCzgAvqkEHHdKA/BtQg4ARiPFfB1CeGc8BeCbyqnYrdIAfJ/FowCcXD0PW8ZTlroB8E0l4NgoDcCPeckBwEnV87DvBRwA31X2b1wpD8DPCTkAOJkUc1cDjoUuAHzTrl5S6ZUH4OeMqwBwdHU85TaEsFJ9gO/6cirWJRWARxJyAHBUdTzl1vUUgJ86F3AAPI1xFQCOJsW8rtdTBBwAP7YRcAA83S9qBsAxpJjL6421YgP81JVTsQDPY1wFgINKMS/qeVivNwB+zqlYgBcQcgBwMCnmVd2/kVQZ4Kfu+qG7VCaA57OTA4CDSDHf1BccAg6Anyv7N7zgAHghLzkA2Kt6HraEG0uVBXiUcir2137oeuUCeBkvOQDYmxRzCTY+CDgAHq0EGxcCDoD9EHIAsBcp5q6ehzWeAvB4l07FAuyPE7IAvEgdTynLRVcqCfAkm37o7pUMYH+EHAA8W4r5rO7fWKgiwJP83g/dVskA9sviUQCeJcW8ri84AHiabT90LqkAHICQA4AnqeMp5TzsWuUAnmzXD925sgEchnEVAB6tjqeU1xtnqgbwZGXB6IWyARyOlxwAPEqKeVUDDtdTAJ6unIg974fuQe0ADscJWQB+KsV8UxeMCjgAnq4EHBcCDoDDM64CwHelmBc13DCeAvB85VTsTv0ADs9LDgC+KcW8DCG8F3AAvEgJOO6UEOA4hBwAfCXFfB1CeGc8BeBFyqnYrRICHI/FowD8Rz0PW8ZTlqoC8CIl4NgoIcBxeckBwGf1POx7AQfAi5X9G1fKCHB8Qg4ASsDR1YBjoRoAL7Krl1R6ZQQ4PuMqADNWx1NuQwgrnwOAF/tyKtYlFYATEXIAzFQdT7l1PQVgb84FHACnZVwFYIZSzOt6PUXAAbAfGwEHwOn9ogcA85JiLq831toOsDdXTsUCjINxFYCZSDEv6nlYrzcA9sepWIAREXIAzECKeVX3byT9Btibu37oLpUTYDzs5ABoXIr5pr7gEHAA7E/Zv+EFB8DIeMkB0Kh6HraEG0s9Btircir2137oemUFGBcvOQAalGIuwcYHAQfA3pVg40LAATBOQg6AxqSYu3oe1ngKwP5dOhULMF5OyAI0oo6nlOWiKz0FOIhNP3T3SgswXkIOgAakmM/q/o2FfgIcxO/90G2VFmDcLB4FmLgU87q+4ADgMLb90LmkAjABQg6AiarjKeU87FoPAQ7mvh+6C+UFmAbjKgATVMdTyuuNM/0DOJiyYPRSeQGmw0sOgIlJMa9qwOF6CsDhlBOx5/3QPagxwHQ4IQswISnmm7pgVMABcDgl4LgQcABMj3EVgAlIMS9quGE8BeDwyqnYnToDTI+XHAAjl2JehhDeCzgAjqIEHHdKDTBNQg6AEUsxX4cQ3hlPATiK3A/dVqkBpsviUYARqudhy+4s9ooAACAASURBVHjKUn8AjmLbD91GqQGmzUsOgJGp52HfCzgAjqbs37hSboDpE3IAjEiKuasBx0JfAI5iVy+p9MoNMH3GVQBGoI6n3IYQVvoBcDRfTsW6pALQCCEHwInV8ZRb11MAjkrAAdAg4yoAJ5RiXtfrKQIOgOO6EnAAtOcXPQU4jRRzeb2xVn6Ao7tyKhagTcZVAI4sxbyo52G93gA4PqdiARom5AA4ohTzqu7fSOoOcHR3/dBdKjtAu+zkADiSFPNNfcEh4AA4vrJ/wwsOgMZ5yQFwYPU8bAk3lmoNcBIPIYTzfuh65Qdom5ccAAeUYi7BxgcBB8DJlGDjUsABMA9CDoADSTF39Tys8RSA07l0KhZgPpyQBdizOp5Slouu1BbgpDb90N1rAcB8CDkA9ijFfFb3byzUFeCkfu+HbqsFAPNi8SjAnqSY1/UFBwCnte2HziUVgBkScgC8UB1PKedh12oJcHL3/dBdaAPAPBlXAXiBOp5SXm+cqSPAyZUFo5faADBfXnIAPFOKeVUDDtdTAE6vnIg974fuQS8A5ssJWYBnSDHf1AWjAg6A0ysBx4WAAwDjKgBPkGJe1HDDeArAeJRTsTv9AMBLDoBHSjEvQwjvBRwAo1ICjjstASAIOQAeJ8V8HUJ4ZzwFYFRyP3RbLQHgC4tHAX6gnoct4ylLdQIYlW0/dBstAeCvvOQA+I56Hva9gANgdMr+jSttAeCfhBwA35Bi7mrAsVAfgFHZ1UsqvbYA8E/GVQD+oo6n3IYQVuoCMDpfTsW6pALANwk5AKo6nnLregrAKAk4APgp4yoAfwYc63o9RcABME5XAg4AfuYXFQLmLsVcXm+s514HgBG7cioWgMcwrgLMVop5Uc/Der0BMF5OxQLwaEIOYJZSzKu6fyP5BACM1l0/dJfaA8Bj2ckBzE6K+aa+4BBwAIxX2b/hBQcAT+IlBzAb9TxsCTeWug4wag8hhPN+6HptAuApvOQAZiHFXIKNDwIOgNErwcalgAOA5xByAM1LMXf1PKzxFIDxu3QqFoDnckIWaFYdTynLRVe6DDAJm37o7rUKgOcScgBNSjGf1f0bCx0GmITf+6HbahUAL2HxKNCcFPO6vuAAYBq2/dC5pALAiwk5gGbU8ZRyHnatqwCTcd8P3YV2AbAPxlWAJtTxlPJ640xHASajLBi91C4A9sVLDmDyUsyrGnC4ngIwHeVE7K9OxQKwT07IApOWYr6pC0YFHADTUYKNCwEHAPtmXAWYpBTzooYbxlMApqecit3pGwD75iUHMDkp5mUI4b2AA2CSSsBxp3UAHIKQA5iUFPN1COGd8RSAScr90G21DoBDsXgUmIR6HraMpyx1DGCStv3QbbQOgEMScgCjV8/DloBjoVsAk7Trh+5c6wA4NOMqwKilmLu6f0PAATBNZcHohd4BcAxecgCjVMdTbkMIKx0CmKwvp2JdUgHgKIQcwOjU8ZRb11MAJk3AAcDRGVcBRiXFvK7XUwQcANN2JeAA4Ni85ABGI8VcXm+sdQRg8jZOxQJwCr+oOnBqKeZFvZ7i9QbA9G0FHACcipccwEmlmFd1/0bSCYDJu+uH7lIbATgVOzmAk0kx39QXHAIOgOkr+zc2+gjAKXnJARxdPQ9bwo2l6gM04SGEcN4PXa+dAJySlxzAUaWYS7DxQcAB0IwSbFwKOAAYAyEHcDQp5q6ehzWeAtCOC6diARgL11WAg6vjKWW56Eq1AZqyEXAAMCZCDuCgUsxndf/GQqUBmvK7U7EAjI3Fo8DBpJjX9QUHAG3Z9kPnkgoAoyPkAPaujqeU87Br1QVozn0/dBfaCsAYGVcB9qqOp5TXG2cqC9Ccsn/jUlsBGCsvOYC9STGvasDhegpAe8qJ2F+digVgzJyQBfYixXxTF4wKOADa09dTsQIOAEbNuArwIinmRQ03jKcAtMupWAAmwUsO4NlSzMsQwnsBB0DTSsBxp8UATIGQA3iWFPN1COGd8RSApuV+6LZaDMBUWDwKPEk9D1vGU5YqB9C0bT90Gy0GYEqEHMCj1fOwJeBYqBpA03b90J1rMQBTY1wFeJQUc1f3bwg4ANpWFoxe6DEAU+QlB/BDdTzlNoSwUimA5n05FeuSCgCTJOQAvquOp9y6ngIwCwIOACbPuArwTSnmdb2eIuAAmIcrAQcAU+clB/CVFHN5vbFWGYDZ2DgVC0ALftFF4IsU86JeT/F6A2A+tgIOAFrhJQfwWYp5VfdvJBUBmI27fugutRuAVtjJAZSA47q+4BBwAMxH2b+x0W8AWuIlB8xYPQ9bwo2lzwHArDyEEM77oeu1HYCWeMkBM5ViLsHGBwEHwOyUYONSwAFAi4QcMEMp5q6ehzWeAjA/F07FAtAq11VgRup4SlkuutJ3gFnaCDgAaJmQA2YixXxW928s9Bxglq6cigWgdRaP8k31P8Q3qtOUM+MpALN2P/cCAMzQ1dxe8HnJwVdqwGFfAwC0xaJpgPmZ3f/pLB7lbwQcAAAATJWQg/8QcAAAADBlQg4+E3AAAAAwdUIOBBwAAAA0QcgxcwIOAAAAWiHkmDEBBwAAAC0RcsyUgAMAAIDWCDlmSMABAABAi4QcMyPgAAAAoFVCjhkRcAAAANAyIcdMCDgAAABonZBjBgQcAAAAzIGQo3ECDgAAAOZCyNEwAQcAAABzIuRolIADAACAuRFyNCjFvBBwAAAAMDdCjsakmEuw8T8CDgAAAOZGyNGQGnCUFxxnc68FAAAA8yPkaISAAwAAgLkTcjRAwAEAAABCjskTcAAAAMCfhBwTJuAAAACA/xJyTJSAAwAAAP5OyDFBAg4AAAD4mpBjYgQcAAAA8G1CjgkRcAAAAMD3CTkmQsABAAAAPybkmAABBwAAAPyckGPkBBwAAADwOEKOERNwAAAAwOMJOUZKwAEAAABPI+QYIQEHAAAAPJ2QY2QEHAAAAPA8Qo4REXAAAADA8wk5RkLAAQAAAC8j5BgBAQcAAAC8nJDjxAQcAAAAsB9CjhMScAAAAMD+CDlORMABAAAA+yXkOAEBBwAAAOyfkOPIBBwAAABwGEKOIxJwAAAAwOEIOY5EwAEAAACHJeQ4AgEHAAAAHJ6Q48AEHAAAAHAcQo4DEnAAAADA8Qg5DkTAAQAAAMcl5DgAAQcAAAAcn5BjzwQcAAAAcBpCjj0ScAAAAMDpCDn2RMABAAAApyXk2AMBBwAAAJyekOOFBBwAAAAwDkKOFxBwAAAAwHgIOZ5JwAEAAADjIuR4BgEHAAAAjI+Q44kEHAAAADBOQo4nEHAAAADAeAk5HknAAQAAAOMm5HgEAQcAAACMn5DjJwQcAAAAMA1Cjh8QcAAAAMB0CDm+Q8ABAAAA0yLk+AYBBwAAAEyPkOMfBBwAAAAwTUKOvxBwAAAAwHQJOSoBBwAAAEybkEPAAQAAAE2Yfcgh4AAAAIA2zDrkEHAAAABAO2Ybcgg4AAAAoC2zDDkEHAAAANCe2YUcAg4AAABo06xCDgEHAAAAtGs2IYeAAwAAANr2y4z624UQ+hDC/Qh+FjiFpaoDzFb5HWin/QCz08/tL/yvEfwMwBGkmEvI8T/lj+oNMEubfui2Wg9Ay4QcMCPGtgBm76IfOq9aAWiWkANmKMV8U0e4AJiXvgYdRlcAaJKQA2YqxbwKIdwaXwGYnRJ0/NoP3ezmtAFo36xOyAL/1Q/dXfk2zyI6gNn5PLpYRxgBoClCDpix+ly5BB0W0QHMy1ldRg0ATTGuAnyWYl6HEG6MrwDMyrYfuo2WA9CKVzoJFB8/vd29fvXmjxDCG0EHwGycvX715l8fP711cQWAJnjJAfxNndEuC0lXKgMwG5t+6IwuAjB5Qg7gm1LMXR1fAWAezp2WBWDqhBzAd6WYl3UxnfEVgPaVk7IXgg4ApkzIAfxQHV8pQcdSpQCa91BfdPRaDcAUCTmAR0kxX4cQflMtgObt6osOQQcAk/NvLQMeox+6EnJc1ufMALTrrC6gBoDJ8ZIDeJIU86KOr5ypHEDTtv3QbbQYgCkRcgDPkmIu3/KtVQ+gaU7LAjApxlWAZ6nf7m2MrwA07TbFLNAGYDK85ABeJMX8ZXbb+ApAm5yWBWAyvOQAXqT+0ntRZrdVEqBJ5ZT4uxpqA8CoeckB7E2KuQsh3KgoQJOclgVg9LzkAPamH7ocQjgPITyoKkBzykuOd9oKwJgJOYC9quMrJei4V1mA5pzV61oAMEqvtAXYt4+f3n78+Ont//f61ZsyErdUYICmnL1+9SZ9/PT2D20FYGzs5AAOKsVcQo7/qYvrAGjHph86S6cBGBUhB3BwKeZU57ht5gdoy2U/dHd6CsBYCDmAo0kxl8srnYoDNKOvF1d2WgrAGAg5gKNKMa9CCLfGVwCaUYKO837oXNYC4OSEHMDRpZgXdU+H8RWANuzqi45ePwE4JSdkgaOr3/ZdhBAsrANow1kNrwHgpLzkAE4qxbwOIdwYXwFowrYfuo1WAnAqr1QeOKWPn97uXr9680cI4Y2gA2Dyzl6/evOvj5/e3mslAKfgJQcwCvXMbFlIutIRgMnb9ENnJBGAoxNyAKOSYu7q+AoA01YWkXrRAcBRCTmA0UkxlwV274yvAExaX4OOnTYCcCxCDmCU6vhK2dS/1CGAySrXtM6dlgXgWIQcwKilmK9DCL/pEsBk7eqLDkEHAAf3byUGxqwfuhJyXNZnzwBMz1ldLA0AB+clBzAJKeZFHV850zGASdr2Q7fROgAOScgBTEqKuVxe6XQNYJKu+qHLWgfAobxSWWBKPn56+8frV2/+ty4kfa15AJPypvwb/vHTWxdXADgILzmASapnZm+NrwBMjtOyAByMxaPAJNVfji/KjLcOAkxKORH+robVALBXXnIAk5diLjs6bnQSYFKclgVg74QcQBPqN4Ll+spCRwEmQ9ABwF4ZVwGaUMdXzkMIdzoKMBlnXuIBsE+uqwDN+Pjp7cePn97+v9ev3vyrXl8BYPzOXr96k8r1LL0C4KWMqwBNSjEv6/hK0mGASdj0Q2eZNAAvIuQAmpVi/rzB35lZgMm47IfO2CEAzybkAJqXYi7z3p1OA4xeXxeR7rQKgOcQcgCzkGJehRBuja8AjF4JOs77oXvQKgCeSsgBzEaKeVH3dBhfARg3p2UBeBYnZIHZqN8KXoQQLLYDGLezulMJAJ7ESw5gllLM6xDCjfEVgFHb9kO30SIAHuuVSgFz9PHT293rV2/+CCG8EXQAjNbZ61dv/vXx09t7LQLgMbzkAGatnpktC0lXc68FwIht+qEzagjATwk5AP4MO7o6vgLAOJVFpF50APBDQg6AKsX8ZdGd8RWA8elr0LHTGwC+R8gB8Bd1fKWcmV2qC8DolKDjV6dlAfgeIQfAN6SYr0MIv6kNwOjs6osOQQcAX/m3kgB8rR+6EnJc1m8NARiPs7owGgC+4iUHwA+kmBd1fOVMnQBGZdsP3UZLAPgrIQfAI6SYy+WVTq0ARuWqH7qsJQB88UolAH7u46e3f7x+9eZ/60LS10oGMApvyr/NHz+9dXEFgM+85AB4gnpm9tb4CsConDstC0CweBTgaeov0RdlFlzpAEbjXQ2hAZg5LzkAninFvLbhH2A0nJYFQMgB8BL1m8NyfWWhkAAnJ+gAmDnjKgAvUMdXzkMId+oIcHIleL7RBoD58pIDYE9SzNchhN/UE+Dktv3QbbQBYH6EHAB7lGJe1vGVpK4AJ7Xph86SaICZEXIA7FmKOdWgY6m2ACcl6ACYGSEHwIGkmMtceKe+ACfT10WkOy0AmAchB8ABpZhX9cys8RWA0yhBx3k/dA/qD9A+IQfAgaWYF3V85UytAU7CaVmAmXBCFuDA6reHF2Xbv1oDnEQJmd8pPUD7vOQAOKIU8zqEcGN8BeAknJYFaNwrDQY4no+f3u5ev3rzRwjh/4YQ/o/SAxzV2etXb9LHT2//UHaANnnJAXAC9cxsWUi6Un+Ao3NaFqBRQg6AE0oxd3V8BYDjKotI79UcoC1CDoATSzF/WYhnTwfA8fQ16NipOUA7hBwAI1DHV8qZ2aV+ABxNCTp+dVoWoB1CDoARSTFfhxB+0xOAo9nVFx2CDoAG/FsTAcajH7oSclzUbxcBOLyz+pIOgAYIOQBGpi7CO6/fLgJweMsU8606A0yfcRWAEUsxl8srnR4BHMVVP3RZqQGm65XeAYzXx09v/3j96s3/1oWkr7UK4KDelH9zP3566yUdwER5yQEwAfXM7G2dHQfgsM6dlgWYJjs5ACag/rJdFpJu9Qvg4N7VcBmAifGSA2BiUszr+qoDgMN5qC86XLsCmBAhB8AE1W8Yy8nDhf4BHMznV3SCDoDpMK4CMEF1fKWcmb3TP4CDKYHyjfICTIeXHAATl2K+DiH8po8AB7Pth26jvADjJ+QAaECKeVnHV5J+AhzEph86y58BRk7IAdCIFHOqQcdSTwEOQtABMHJCDoDGpJjL/HinrwB719dFpDulBRgnIQdAg1LMq3pm1vgKwH4JOgBGTMgB0KgU86KOr5zpMcBeOS0LMFJOyAI0qh+6h/JLeLkKoMcAe1XC43dKCjA+XnIAzECKeR1CuDG+ArBXTssCjMwrDQFo38dPb3evX735I4Twf0MI/0fLAfbi7PWrN+njp/+/vXvXjSu51gBcMw0UOqxQYStz2MwcklmH0huw32DrCUg/ASt1RDqcSHTWjkhnE9JvQGcT7skaG2jgYMslH+vCEdnsy758HyDghPZaknH632vVWv1DOQG6wSQHwIiUM7Ptg6Tv9B1gZ5yWBegIIQfACKWYq7K+AsBuvK+b6lYtAY5LyAEwUinmebm+MvN3AODVnJYF6AAhB8CIlfWVNug49fcA4NXaoOOt07IAxyPkAKANOy5DCBcqAfBqD2WiQ9ABcAQ/KzoAdVO1IcdZ+QoJwPY+rwICcARCDgA+qZvqPoRwUr5CArC90xTztfoBHN5EzQH4bL1Z1evN6q/TyaJ9q+PPCgOwtfl0svhpvVndKyHA4XiTA4DvSjG/CyG0XyKTCgFsbVk31Y3yARyGkAOAJ5Uzs9dlxxyA7Zw4LQtwGN7kAOBJ5f8pbx8k9RUSYHt3JTQGYM9McgDwLCnm8zLVAcDLPZaJDlesAPZIyAHAs5Uvke1pxJmqAbzYp+k4QQfA/lhXAeDZyvpKe2b2VtUAXmxuIg5gv0xyALCVFHMVQrhSPYAXu6mbaqlsALsn5ABgaynm07K+4swswMt8qJsqqxnAbgk5AHiVFHMqQcepSgK8yLJuKterAHZIyAHATqSY29WVSjUBnq0uD5E+KBnAbgg5ANiZFPO78qie9RWA5xF0AOyQkAOAnUoxz8r6ylxlAZ7FaVmAHRFyALAXKeZ2ouNcdQGeRdABsAM/KyIA+1DOIy7LKDYAf2zuLDfA603UEIB9WW9WD9PJ4h8hhD+HEN4oNMAfmk8ni7TerP6hTADbsa4CwN6VM7Pt+so71Qb4IadlAbYk5ADgYFLMlXFsgGd5XzfVrVIBvIyQA4CDSjHPy/WVmcoDPMlpWYAtCDkAOLiyvtIGHaeqD/CkNug4qZvqUYkAnkfIAcDRpJgvQwgXOgDwJKdlAV7ACVkAjqZuqjbkOHNmFuBJn1f8AHgGIQcAR1U31X07jl2+VgLwrdMU87W6APzYRI0AOLb1ZlWvN6u/TieL9q2OP2sIwDfm08nip/Vmda80AE/zJgcAnZJifhdCaL9YJp0B+MaybqobZQH4PiEHAJ1Tzsxel110AL50Vlb9APiKNzkA6Jy6qR7Kg6S+VgJ862MJgwH4ikkOADotxXxepjoA+H+P7aPNTssCfEnIAUDnlS+W7QnFmW4B/NdDWV0RdAAU1lUA6LyyvtKemb3VLYD/mpt0A/iSSQ4AeiXFXIUQrnQN4L9u6qZaKgeAkAOAHkoxn5b1FWdmAf7jQ91UWS2AsRNyANBLKeZUgo5THQT4ZFk3latUwKgJOQDotRTzZQjhQhcBPjkp7xgBjJKQA4DeSzG/K4/vWV8Bxq4uF1cEHcAoCTkAGIQU86ysr8x1FBg5p2WB0RJyADAoKeZ2ouNcV4GRE3QAo/SztgMwJOWM4rKMbAOM1dy5bWCMTHIAMEgp5nl5p8P6CjBmNyX8BRiFiTYDMETrzeq36WTxSwjhjaADGLH5dLL493qz8hApMAomOQAYvBRzZWwbGLn3dVPdjr0IwPAJOQAYhbK+0l5fmek4MEJOywKjIOQAYDRSzKkEHae6DoxQG3Sc1E31qPnAUAk5ABidFPNlCOFC54ERcloWGDQnZAEYnbqp2pDjzJlZYITa1b07jQeGSsgBwCjVTXUfQnhbvmoCjMk8xXyt48AQOSELwGitN6v1erP663SyaN/q+LO/CcCItKdlf1pvVveaDgyJNzkA4D/vdLwLIbRfNpN6ACOyrJvqRsOBoRByAEBRzsxel511gLE4Kyt8AL3nTQ4AKOqmeigPkvqqCYzJxxLyAvSeSQ4A+I4U83kI4cr6CjAS7bWpt07LAn0n5ACAJ5Qvmx9DCDM1AkbgoayuCDqA3rKuAgBPKOsrJyGEWzUCRuBzsAvQWyY5AOAZUsxVWV8BGLqbuqmWugz0kZADAJ4pxXxavnJ6pwMYug91U2VdBvpGyAEAL5BiTiXoOFU3YOCWdVO5NgX0ipADALaQYr4MIVyoHTBwJ+V9IoBeEHIAwJZSzO9CCNfWV4ABq8vFFUEH0AtCDgB4hRTzrKyvzNURGKjHMtHhtCzQeUIOANiBFHM70XGulsBAPZSJDkEH0Gk/aw8AvF45t7gso90AQzN3RhvoA5McALBDKeZ5eafD+gowRDcl1AXopIm2AMDurDer36aTxS8hhDeCDmCA5tPJ4t/rzcpDpEAnmeQAgD1JMVfGu4GBWtZNdaO5QNcIOQBgj8r6Snt9ZabOwIA4LQt0kpADAPYsxZxK0HGq1sCA1OW07KOmAl0h5ACAA0kxX4YQLtQbGBCnZYFOcUIWAA6kbqo25DhzZhYYkHYl705Dga4QcgDAAdVNdR9CeFu+fgIMwTzFfK2TQBdYVwGAI0kxt5dXKvUHBiLXTfVBM4FjEnIAwBGlmN+FENovoEkfgAFwWhY4KiEHABxZinlWrq/M9QIYgLOymgdwcN7kAIAjK+cX2wdJff0EhuBjilloCxyFSQ4A6JAU83kI4cr6CtBz7RWpt07LAocm5ACAjilfQNv1lZneAD32UFZXBB3AwVhXAYCOqZuq/WFwEkK41Rugxz4HtgAHY5IDADosxVyV9RWAvrqpm2qpe8AhCDkAoOPK+sqddzqAHvtL3VSXGgjsm5ADAHogxZzK2PepfgE9taybyhUpYK+EHADQIynm9kvohZ4BPXVS3h0C2AshBwD0TIr5XQjh2voK0EN1ubgi6AD2QsgBAD2UYp6V9ZW5/gE981gmOpyWBXZOyAEAPZZibi+vVHoI9MxDmegQdAA79bNyAkB/1U31oX3Mr4yAA/TFvKzdAeyUSQ4AGIByZvba+grQMzd1Uy01DdiViUoCQP+tN6vfppPFLyGEN4IOoEfm08ni3+vNykOkwE6Y5ACAgUkxt290XOkr0CPLuqluNAx4LSEHAAxQWV9pr6/M9BfoAadlgZ3w8CgADFD5oXASQrjVX6AHUgjhrgS0AFszyQEAA5divgwhXOgz0ANOywKvYpIDAAaubqo25DhzZhbogXaS406jgG0JOQBgBOqmug8hvC1fSQG6bJ5ivtYhYBvWVQBgZFLM7eWVSt+Bjst1U33QJOAlhBwAMEIp5nchhOvy2B9AVzktC7yIkAMARirFPCtnZl0zALrsfd1ULkUBz+JNDgAYqbqpHsuDpL6SAl127bQs8FwmOQCAdqrjPIRwZX0F6Kj2OtRJCWcBniTkAAA+KV9K2/WVmYoAHdRehzqrm8o5bOBJ1lUAgE/qpmp/QJyEEOy+A130OYgFeJJJDgDgGynmqqyvAHTNTd1US10BvkfIAQB8V1lfufNOB9BBf6mb6lJjgK8JOQCAJ6WYUxkPP1UloGOWdVO5DgV8QcgBAPxQirn9YnqhUkDHtA+R3msK8JmQAwB4lhTzaZnqsL4CdEVdgo4HHQGCkAMAeIkU86wEHXOFAzrisb0M5bQsEIQcAMA2Uszt5ZVK8YCOeCgTHYIOGLmfx14AAODl6qb60D76V0bFAY6tnS671gXAJAcAsLVyZvba+grQETd1Uy01A8ZrovcAwLbWm9Vv08nilxDCG0EH0AHz6WTx+3qz+lUzYJxMcgAAO5FiPjcuDnTEsm6qG82A8RFyAAA7U9ZX2usrM1UFjshpWRgpD48CADtTflCchBBuVRU4ohRCuCvBKzAiJjkAgL1IMV+GEC5UFzgip2VhZIQcAMDepJhPy/pKUmXgSAQdMCLWVQCAvamb6j6E8DaEcK/KwJG0KytXig/jYJIDADiIFHP7I6NSbeBIct1UHxQfhk3IAQAcTIr5XTkza30FOAanZWHghBwAwEGlmGflnQ5XD4BjeF83lQtQMFDe5AAADqpuqsf2EcAQgq+pwDFcOy0Lw2WSAwA4mhTzeXkQ0PoKcEjtpZWTEroCAyLkAACOqnxRvba+AhyY07IwQNZVAICjqpvqoayv2JEHDqkNVu9UHIbFJAcA0Bkp5qqsrwAcyk3dVEvVhmEQcgAAnVLWV+680wEc0F/qprpUcOg/IQcA0Dkp5lTOzJ7qDnAgy7qpXH2CnhNyAACdlWJuv6xe6BBwIO1DpPeKDf0l5AAAOi3FfFqmOqyvAPtWl6DjQaWhn4QcAEDnpZhnJehwZhbYtzboeOu0LPSTkAMA6I0Uc3t5pdIxYM8eykSHoAN65mcNAwD6om6qD+3jgOVLK8C+tFNj16oL/WOSAwDonXJm9tr6CrBnN3VTLRUZ+mOiVwBA36w3q9+mk8UvIYQ3gg5gj+bTyeL39Wb1eQ5+aAAAE15JREFUqyJDP5jkAAB6LcV8bqwc2LNl3VQ3igzdJ+QAAHqvrK+011dmugnsyYnTstB9Hh4FAHqv/PA4CSHc6iawJ3clUAU6zCQHADAoKebLEMKFrgJ74LQsdJyQAwAYnBTzaVlfSboL7JigAzrMugoAMDh1U92HEN6GEO51F9ixdmXlSlGhm0xyAACDlmJuf4xUugzs2E3dVEtFhW4RcgAAg5diflfOzFpfAXbJaVnoGCEHADAKKeZZeafDdQRglwQd0CFCDgBgVFLM7UTHua4DO1KXh0gfFBSOT8gBAIxOivm8PBxofQXYhTboOKmb6lE14biEHADAKKWY5+WdDusrwC44LQsd4IQsADBKZbT8LIRw628AsANtYHqnkHBcJjkAgNFLMVdlfQXgtZyWhSMScgAA/P/6Snt9ZaYewCvluqk+KCIcnpADAKBIMacSdJyqCfBKTsvCEQg5AAC+kmK+DCFcqAvwSu1DpPeKCIcj5AAA+I4U82mZ6nBmFthWXYKOBxWEwxByAAA8IcU8K0GHM7PAttqg463TsnAYQg4AgB9IMbeXVyp1Arb0UCY6BB2wZz8rMADAHytXEt6XL7IAL/X5ehOwZ0IOAIBnqJvqtv0SW77IArzUaYr5WtVgvybqCwDwPOvN6rfpZPFLCOGNdzqALcynk8Xv683qV8WD/fAmBwDAFlLM5yEEX2WBbSzrprpROdg9IQcAwJZSzJ/37GdqCLzQidOysHve5AAA2FL5gXISQrhVQ+CF7kpQCuyQSQ4AgB1IMbcnZq/UEniBxzLR4XIT7IiQAwBgR1LMp2V9Jakp8EztRNiZoAN2w7oKAMCO1E11H0J4G0K4V1PgmeamwGB3THIAAOxBirn90VKpLfBMN3VTLRULXkfIAQCwJynmd+XMrPUV4DmcloVXEnIAAOxRinlW3ulwRQF4DkEHvIKQAwDgAFLM7UTHuVoDP1CXh0gfFApezsOjAAAHUHbtl+UHDMBT2vW2uxSz6S/YgkkOAIADKj9crq2vAD/gtCxswSQHAMABlRH0sxDCrboDf6ANQu8UCF7GJAcAwJGkmNsTs1fqD/wBp2XhBYQcAABHVNZX2usrM30AnpDrpvqgOPBjQg4AgCNLMacSdJzqBfAEp2XhGYQcAAAdkWK+DCFc6AfwhPd1U3nPB/6AkAMAoENSzKdlqiPpC/CVulxceVAY+D4hBwBAx6SYZyXocGYW+FobdLx1Wha+T8gBANBRKeb28kqlP8BXHspEh6ADvvKzggAAdFO5pvC+fLkF+OzzVSbgK0IOAIAOK48MnpUvtwCfnaaYr1UDvjRRDwCAbltvVr9NJ4tfQghvvNMB/I/5dLL4ab1Z3SsK/Ic3OQAAeiTFfB5CuHJ9Bfgfy7qpbhQEhBwAAL2TYv68jz/TPaA4cVoWvMkBANA75YfMSQjhVveA4q4EoDBqJjkAAHosxVyV9RWAxzLR4SIToyXkAADouRTzaVlf8U4H0E56nQk6GCvrKgAAPVc3VXtZ4W0IwYUFoF1ZcVqW0TLJAQAwICnmyxDChZ7C6N3UTbUcexEYn4meAwAMx3qzup9OFv8KISxCCFOthdGaTyeL39eb1a/+CjAmJjkAAAYoxTwr73S4tgDjtqyb6mbsRWA8hBwAAAOWYm5388/1GEarLg+RPvgrwBh4eBQAYMDKTv6y/NABxqe9unSXYjbVxSiY5AAAGIHyA+fa+gqMltOyjIJJDgCAESij6mftxQX9hlGal4mOpP0MmesqAAAjsd6s1uvN6u/txYVyfQUYlzftn/Z/B/SdobKuAgAwQmV9pb2+MtN/GJ1cN9UHbWeIhBwAACNVxtbboOPU3wEYHadlGSQhBwDAyKWYL0MIF2OvA4zQ+7qpbjWeIRFyAADQBh2nZarDo4QwHnW5uPKg5wyFkAMAgE/K+sqdM7MwKm3QcVI31aO2MwRCDgAAvpBivgohVKoCo/FQJjpqLafvftZBAAD+V7m68L584QWG7/O1Jeg9IQcAAN8ojxGelS+8wPCdppiv9Zm+m+ggAADfs96sfptOFr+EEN54pwNGYT6dLH5ab1b32k1feZMDAIAfSjGfhxCuXF+BUVjWTXWj1fSRkAMAgGdJMX/e25+pGAxe+xCpiQ56x5scAAA8S91U7fscJyGEWxWDwftYgk3oFZMcAAC8WIq5KusrwHA9tsGm07L0iZADAICtpJhPy/qKdzpguB7K6oqgg16wrgIAwFbKvv7bEIK9fRiudmXFaVl6wyQHAACvlmK+DCFcqCQM1k3dVEvtpesmOgQAwGutN6v76WTxrxDCIoQwVVAYnPl0svh9vVn9qrV0mUkOAAB2JsU8K+90uMoAw7Ssm+pGb+kqIQcAADuXYm53+M9VFgbppJyUhs7x8CgAADtXdvfbPy4ywPDcpZhNa9FJJjkAANib8kPo2voKDI7TsnSSSQ4AAPamjLSftZcZVBkGZV4mOpK20iWuqwAAsFfrzWq93qz+3l5mKNdXgGF40/5p/33rJ11hXQUAgIMp6yvt9ZWZqsNg3JR3eODorKsAAHAwZX3lJIRwq+owGOcpZteU6ASTHAAAHEWK+TKEcKH6MBjv66YSYHJUQg4AAI4mxXxa1lc8Xgj9V5eLKw96ybEIOQAAOKpyneHOmVkYhDboOKmb6lE7OQYhBwAAnZBivgohVLoBvfdQJjpqreTQPDwKAEAn1E31od3pL1+Cgf6al+ksODghBwAAnVEeLTwpX4KB/pqnmK/1j0ObqDgAAF2y3qzq6WTxSwjhjXc6oNfm08nip/Vmda+NHIo3OQAA6KwU83kI4cr1Fei1Zd1UN1rIIQg5AADotBTzvJyZnekU9Fb7EKmJDvbOmxwAAHRa3VQP5Z2OW52C3vpYAkvYK5McAAD0Roq5KusrQP+0l5PeOi3LPgk5AADolfI1+M47HdBLD2V1RdDBXlhXAQCgV8r6ytsQgv1+6J/Pb+zAXpjkAACgt1LMlyGECx2E3rmpm2qpbezaREUBAOir9WZ1P50s/hVCWIQQphoJvTGfTha/rzerX7WMXTLJAQBA76WYZ2UE3vUG6Jdl3VQ3esauCDkAABiMFHN7eaXSUeiVk/LWDryah0cBABiMuqk+tF+Gy6lKoB/uytUkeDWTHAAADE75wXRtfQV647FMdAgoeRWTHAAADE4ZfT9rLzjoLvTCrEx0JO3iNVxXAQBgkNab1Xq9Wf29veBQrq8A3fam/dP+u9UntmVdBQCAwSvrKx/L12Kg227qplrqEduwrgIAwOCV9ZWTEMKtbkPnnaeYz7WJbZjkAABgVFLMlyGEC12HzlvWTeVdHV5EyAEAwOikmE/L+opHDqG72ksrZ2USC55FyAEAwCiVKw53zsxCp9XltOyjNvEcQg4AAEYtxXwVQqjGXgfosIcy0VFrEj/i4VEAAEatbqoPIYT35Ysx0D3zMnUFPyTkAABg9Oqmui3XV+z+QzfNU8zXesOPTFQIAABCWG9W9XSy+CWE8MY7HdBJ8+lkkdab1T+0h6d4kwMAAL6SYj4PIVy5vgKd5LQsTxJyAADAd6SY5+XM7Ex9oHPah0jvtYWveZMDAAC+o26qh/JOx636QOd8LEEkfMEkBwAA/ECKuSrrK0B3tBeR3joty/8ScgAAwDOUr8Z33umATnkoqyuCDj6xrgIAAM9Q1lfehhC8AwDd8fntHPjEJAcAALxQivkyhHChbtAZN3VTLbWDyegrAAAAL7TerO6nk8U/QwjvQghT9YOjm08ni5/af5taMW4mOQAAYEsp5lkZlXflAbphWTfVjV6Ml5ADAABeKcXcXl6p1BE64aS8ocMIeXgUAABeqW6qD+0X5HLSEjiuu3INiREyyQEAADtSflhdW1+Bo3ssEx2Cx5ExyQEAADtSRuTP2ksPagpHNSsTHUkbxsUkBwAA7EGK+bxMdQDHc1s31Xv1Hw8hBwAA7ElZX/lYvioDx3FTN9VS7cfBugoAAOxJWV85ab8mqzEczXmZrGIETHIAAMABpJgvQwgXag1Hs6ybyns5AyfkAACAA0kxn5b1FY8hwuG1l1bOyoQVAyXkAACAAyrXHtqg41Td4eAEHQMn5AAAgCNIMV+FECq1h4N7KEFHrfTD4+FRAAA4grqpPoQQ3pcvy8DhtFeP7tR7mIQcAABwJHVT3ZbrK0bn4bDmKeZrNR+eydgLAAAAx7TerOrpZPFLCOFN+cIMHMZ8Olmk9Wb1D/UeDm9yAABAR6SYz0MIV66vwEE5LTsgQg4AAOiQFHM7zXFtqgMO6n1ZH6PnhBwAANAx5cxsG3S80xs4CKdlB0LIAQAAHZVirsr6CrB/bdBxUjfVo1r3l5ADAAA6rKyv3HmnAw7ioUx0OO3cU07IAgBAh5Xx+bchhHt9gr1rQ8WPytxfJjkAAKAnUsyXIYQL/YK9u6mbaqnM/TMZewEAAKAv1pvV/XSy+Gd5kHSqcbA38+lk8VP7b06J+8UkBwAA9EyKeVZG6p2Zhf1a1k11o8b9IeQAAICeSjG3l1cq/YO9ah8iNdHRE0IOAADosRTzeTkz6/oK7Eddgo4H9e0+IQcAAPRcOTN7bX0F9uYxhHDitGz3OSELAAA9V74wn7UXIfQS9qJ9B+cuxWxiquNMcgAAwICU9ZVrPYW9uK2b6r3SdpeQAwAABqasr3wsX5+B3bqpm2qppt00GXsBAABgaNab1W/TyeJvIYQ/lT/A7synk8Xv683qVzXtHpMcAAAwYCnmyxDChR7Dzi3rpvIOTscIOQAAYOBSzKdlfcWjibA7Tst2kJADAABGoFyFaIOOU/2GnRF0dIyQAwAARiTFfBVCqPQcduahBB21kh6fkAMAAEYmxfyunJm1vgK7IejoiJ/HXgAAABibuqluQwgn5YcZ8Hrt2eYrdTw+kxwAADBiKeZ2ouPc3wHYiVw31QelPJ7JWP+LAwAAIaw3q79PJ4t/lwdJp0oCr/Ln9t/TerMyJXUkJjkAAIB2omNe3umYqwa82vuyFsaBCTkAAIBPypnZNuh4pyLwKk7LHomQAwAA+EKKufKIIrxaG3Sc1E31qJSHI+QAAAC+UdZXPoYQZqoDW3Na9sCckAUAAL5RxuzbM7P3qgNba8PCO+U7HJMcAADAH0oxX4YQLlQJtnZTN9VS+fbPCVkAAOAPrTer++lk8c/yIKkzs/By8+lk8VP7b0nt9sskBwAA8Cwp5ll5p8OZWdjOsm6qG7XbHyEHAADwIinm9vJKpWqwlfYhUhMdeyLkAAAAXizF3K6uXLf/p+rBi9Ql6HhQtt0TcgAAAFspZ2avra/Ai7VBx1unZXfPCVkAAGAr5Uv0WXs5QgXhRdoJqLsUs0moHTPJAQAAvFqK+bxMdQDPd1s31Xv12h0hBwAAsBNlfaW9vjJTUXi2m7qplsq1G5Mh/JcAAACOb71Z/TadLP4WQvhT+QP82Hw6Wfy+3qx+VavXM8kBAADsXIq5PTF7pbLwbMu6qbxv80pCDgAAYC9SzKdlfcXjivA8J07Lvo7rKgAAwF7UTXXfnskMIdyrMDzLXXnbhi2Z5AAAAPYuxdyurlQqDT/06TRz3VS1Ur2ckAMAADiIFPO7cmbW+gr8MUHHlqyrAAAAB1E31W375kD5AQc8be7h3u2Y5AAAAA4uxdxOdJyrPPyhm7qplkr0fJO+/AcFAACGY71Z/X06Wfw7hNBeYJlqLXzXvP13st6sTD89k0kOAADgaMoliesyng9837Juqhu1+TEhBwAAcFQp5lSCjnc6Ad9Vl4dITXT8gJADAADohBRz5bFFeFIbdJzUTfWoRE8TcgAAAJ1R1lc+hhBmugLfcFr2B5yQBQAAOqOM47dnZu91Bb7RhoB3yvI0kxwAAEAnpZgvQwgXugPfcFr2CUIOAACgs1LMp2V9JekSfCHXTfVBSb4k5AAAADotxTwrQYczs/Alp2W/IuQAAAB6IcXcXl6pdAu+0D5E6g2bQsgBAAD0Ror5XQjh2voK/Fddgo720d7RE3IAAAC9Us7MXltfgf9qg463Tss6IQsAAPRM+WJ91l6Y0Dv4pJ1suksxj37CySQHAADQWynm8xDClfUV+OS+bqqzMZdCyAEAAPRaWV9pr6/MdBLCTd1Uy7GWYdKB/wwAAABbW29Wv00ni7+FEP5U/sCYzaeTxe/rzerXMdbAJAcAADAYKeaqrK/A2C3rphrduzVCDgAAYFBSzKdlfcU7HYzdydhOy7quAgAADErdVPftOc32EUadZeTuyps1oyHkAAAABqduqrpcmfiL7jJiqUw1AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwOgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMALhRD+D6d3j0j1LI4XAAAAAElFTkSuQmCC"};const HoparaTheme={originalColor:"#622AD4",secondaryColor:"#622AD4",borderRadius:3,mode:"light"};const IBBXTheme={originalColor:"#f66f2d",secondaryColor:"#219cb5",borderRadius:3,logoUrl:"https://ibbx.tech/wp-content/uploads/2021/12/ibbx-logo-preto.png",logoSmallUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMUAAAC1CAYAAADvGjsxAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMi1jMDAwIDc5LjU2NmViYzViNCwgMjAyMi8wNS8wOS0wODoyNTo1NSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjQgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTRGQTU0MDNFOUNBMTFFQ0E0RDNGMjJGRTRGODA4NkEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTRGQTU0MDRFOUNBMTFFQ0E0RDNGMjJGRTRGODA4NkEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1NEZBNTQwMUU5Q0ExMUVDQTREM0YyMkZFNEY4MDg2QSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1NEZBNTQwMkU5Q0ExMUVDQTREM0YyMkZFNEY4MDg2QSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkyM1agAACjeSURBVHja7F0HeBRFG373Lr2ThFBCIKB0UKogIlUMICDSRQQpgoBSpCoIkaIIoSv4y49IFRSQzg8WivSqUkMRQg0lkEBC6t3+u5u7cFxud2fLpc77PMuRu7293Znv/drMfMOwKUk18L73EXgiA64uaQiomQLv4EQUCYtHUKk4FC19G8GlryOw1FX4BV+Bp3cMjG43AaSAgiLPw+yF9PRSSEkMR8K9snhwswzuXQvjjuJ4GBOEh7f9kRTrg/gz7jClu3IscHHhvsXABFek8UeGJxKP+sOMYty73PUsB4SzwJ3BIjDsMYrVjsVzdf5F2VpnEFb1BAKK/Q1X90vcGam0EyhyEZ5IS6nACX4N3DhXE5ePVcPVY+GIPVYMcXd8BFlmLWcaLTJtlW3m6UUYNjmxJvr6nIAb4c+yFqJkcIfJ8rcX907512NQp/1RVG/2O0LK7oaL20WbW6CgcAaMSE+pjNuXmuLv35rh5MY6uLQ7lPNhGEHIecHn1b7hWaHPBuZZSWXYFI4UfWRIwYiIt/V9xkKSNAth/JCOOgP+QeMeW1Cu9ga4e/5jY3MoKLTABcmP6yD64FvYu7w1jq+ogmRO7HkCuFkIQCK7EnJObikYO2sh9cOsDUncOTK8MuAkIj5YhTLVf4LBeIP2K4VimNKfw8Wjb2Pn191w+MeqnNrlZSvTEkCZ0MuexgXanKXwfpYUStgl9+P8a7rlCHFJwpsLNqFBlwXw9t9He5pC1j16FNccu5cOxuYREUjgaOAmxLaOZU2r3EqSgpRpcjfkyIJYQ/GIYfvx5ugoFCmx2RKdUFBY4Y67Vzth3eQR2Pt9Tcs70nEBiZtPKKfPuk86MY3oxtMsLlbTAcfRZeJUBJbYQAPzQg9X3Ln6NlaN/gQHf64kWAQ1sa7amMJyvjZLoYSNYuelWlyrVkMPoMvnn3Ju1R4qG4UQCXfaYNmoKfhz+YvZXCSlCpeUCCLnGcCy2QNpMbAynzEy5zlyp3iz6M0dv85tgH4Bu/G/hathyginUlJIkJ5aBWunbkP/4ptxiCOEN4F1kJNPKfljHBBINqYgiQ2ciSfcEez3GCN2fY5yteZZ7AhFgQPrhdO7P8HcZiPxGB7wVGgRIGIVxBSzVDyczVKImR/IsI0hYC+joq28uOPxI1+MqR2FRYP2IfVJDSpABQxP4hthzttHEdlsPKfynhKCVF5YCe+FtXPPpc6DKClYefNj7xqxMjdGSjAxAvEDMT7c8cfClzDI+xAuHhmL7MMyFPkP7vhr51d4v8guHF1TBb4SgsuIyA6jkjwk12GyYgoCYSWN8pX4dySagdcgJq4hP6n3JVaN34mM9NJUrvIp0lKqYmG/fZgaMZoLog1CLCnnGrEigs4qkCtGgjAiyt8ge1FWwhIoYSVkTJqYyeP/5jXK5qnN8UnlY3gY25ZKWD5D7OWeGOp3EH8uriN4AGJxq1yQrCUhxDh4ZRx7NwYwjLRVELsIq/ImWZXk8hAatygGldiEM7s/VxmxUOQs3HBw/dcY8vxSPEn3FbUOjuRJjechdV2WUBFn89NZiQhdypwpBaPQz7O+54LMFO7EphOwccZ6sGwAlbs8CrOpJJaN2omZHQcLaVYjoRJVMs5A4oYzyhW1QfLLegq8I6LZs5WEeFZ3atXo9pj7zh5kpJWnEpjHkJpUB1Oa7se2qMZCXynV9KzCoJqVcf9J3Xo2ixSsegKQuD+k7hErEnuwItfiU7dHfnwBn76wD0kJjakk5hE8uN0ew3z+QPSf4YKF0EuWlDjLLGHALWItDERpMFKWMgqYquAmRX+Ld6VuRYdgSMD/cP9aVyqRuYyY04PxUcl1SOLsAz8YbFZIBJYglmAUeiYq8GygLZfqUhrU6OmaMQ4sSOYSWQgDQB+WWY2YUx9RycwlnN49CaOqfy2kW40qlaptvzIqZIPETSe4ztO5T84Eq+KhSK5lu96Wz06NemEezuyJpBKaw+AzTBObfia4tFKDbkplhiSAZu3OZWQsC8FvPrUUOZXgZGQYzShsJNvG4Af7Pm8yEcc2zaKSmiNwwa/fLRMyTH42aRtWozyxEnGm2GdSszEUunAGVe6MEvMmF2iTPARDGGfwT8MHd9PeHI4/f/wPlVmnwh1b5q3BdwPeFQghFxOSuNRyfc4SyIMWEjJPxUi5mSOJPeSyR1LBudr4w3oNPg04t3t/7F7+A+icKSe4w6wX1k5dh2VDOwgj1FIpVEaBgiPtc7VZKcLzs8cUWgNguUwCozLwJvFTba/BE2NBz17YOn8llC1vp5AmhC9WjduAn8a/kS3lyhIEzlq1O2N3KLFADByPnNvdm4vwRprNCQY4nh4OCd/O9uGVpFWVNBIrEWeIzavnO23pkG5gTQa0GfauzZNSqCXEyrG/YPP05qJjEIyGPpbw8zVdCyIyarYjs9lKCqNrEiIGH4DB6IKUJHc8ivVG4l1fPDjuj0dmD2EdtdlCFldkH64nnUIu9x5AtpxQjHisCFn5zls2vAtMJhe8OeJtSgzVhAjA8tEbsCWqseAykSo9Uq2tF5EcTVPiD740hrWAn8HiO/h5JiPoxQT4Fn0Mv2JJcPdJAcOYGDZ7StaNawBPmE0BSEsphqT4cNy/VhmXjtXAqR0vIHpbOJ5YctFyFRbUzGFhdbiOI9Imccc7UespMVQSYtmojdg2s5GQdtXatwyhEtXyG2ZLL/Mk8OHoUOXNf1Et4m+Uq/U3gkufh5ffVbh53AVjSOCIkAybFZ6OSCEFN6SnVkDsv41wfFNr7J7XCLdu+WZVXVAyJdhZhJG6biYxfrEQg9a9JSbEyE3YOutVSQuhh2LUY9lzqsUilKn4AE0G70bNiG0ICd8HF7fLlk/kb4PVMnhnNhdH7MW22PFtb/w2pz73k4wwVqDXmIcz1obzxHh72ha8NaYzaOV0OUIEYdmIDdg2u2GWhZBSeKQT8dQoNKlzzJae9ODsQsvxe9Cs7xKElN7OWYE4VWLH6jWi/eRxfexdMRxrBr3F3aCrMMKsh+CrbSg5i9Hty63oMLYLMkslUGQjhDkYS4Zvxo559QULoaYSsNJieUplgH+Pd3z8OYnrseJH1O8wF26ef2vWxaze0zzSk6tjx6JIrBzaQQhoSGvU5nQZNJ4YnSJ/RecJHTmf8jFlga3mNRXHN723YN/y2g4thBbLryQhI4UUIfFjQp8fVqBh9ylwcb2k222yzpr7lPiwCZYNn4XdS2sKLpUR6haQ6GV2HZ3LE6PV0L3oNfMtGIwPKBt4QmSEYW73rTj8c3VFZWdI212qJI1cEW9YAmfeOrQZ8Se6Rn4Md59jejeB80iRCVdcODwCX9WfwD2Ip+RidTW1e/QI7HhiNO13DP2/bccR43ahJkRGagXM7LAFJ7eVd0gI+wotUsLNaiSPI/BkCAlMwOj9Y1Gq0n+c5V84mxSZSEt+Af8dvAS7l9RyOOiTU8XWHPm4BktUUaPNeYxY344zwxcLJSH41XKTm27Av0dDhXhQzXJQLdW/pb7DWpRXuzG78fbkflwfXXaqmOQIKTLhgUProzC742Ch0Q0aG02LCwUH2RLeRw2vcQsT/uwAD5/DhYoQj+5HYHzZ1YhLDBCsOenAqtoxBSXn8u5SOnf2uD+moFrTSOTA5j85SYpMxP7bExOeW8gx30tRRWm9TbKj6/ODPT5IxJc3e6JIyV8KBSFuXuiHTyouEFxdo8qAmDRZYk8suX7hxxyKhT5A5PH34F9sc041Sc7PIC1ebhnmPmqG5xpcE3xESJhMR39rrdwAEX+YReY0liSOFoND1+HikTEFnA4GnNw+HSMqLnqGENa2YRW2pZKCBGJrImw/42WjTsczmP7vKzlJiNwhBQ9P38OYuKchGnMBbpKIcMsJOEP4GenqraepAT6NzGBcvWnYuWglzKxfwcswmYvhp0lb8UXrUULK1UjYXlJKyL6iNykcLSTiZaL9Z79i+E+N4ep2PqebJ+fdp2cahBO4tV+sxs/jW8lWftA60KPmfL5z6nU6iw9/6AV372MFghCPHzRH1Jvf4/y+0qJjEErGjpRmBOXOT+SO/t+tQIv3+yKX5qjlLimsuvnXRd9jUf8eikuikHSO0hFzR5vKeHD/jj0cifIvRYFw/kwehCf+2hmJGREjuecyZAXUeoz3aOkr25msfBZw1MY5qNtueG42VF4gRSYOrf8GMzsOypp0pleaVi6oI9GIZkuHtRx8CN2nfQRPn/xlNRIfNsV/B83HgdVVs4oLKFUoai0wyVQPs8UqR+6ahKpNJuZ2c+UdUvA4tnUGprUZmVWENyc3iyHRhqmC/52BD376L17uMBkG4608TYaM9Oew64dJWNK/u/Asbiq1PsnnUEka6+agkw6P4Szx9LzQbHmLFDzO7JmCz5uMe6ZcijNHSZUIBGNjNUqGxKPfmoWo8ur8PDcSbkoPx4n/Dcfidv3wkGtJrxxQHlDRxvx7/PjQtH+GIbz63LzSfHmPFDzO7Z+AiQ0/d2jq80wGB5lpwxLBCej27SrUbvUd3Lz+ysU7MiD5cT0cXPcBfurdCQ8sZGBkXBeW0NXUomzEVtbx7Tfj1IcoXe2bvNS1eZMUPM4fHI8JDSbLdqxe7pGjuTskv2eymH83jiZNPzqC5v1WI7Tidri4X8wB58+I9JTKuPJ3W/y+qDP2La4ppAHs17SIzVVindSucrASIursAIRV/i6viV7eJUUmMcZxxJiSZyyG3KQ3PoHIL2r05f6t0+806r65F+Vq7oNv8Cm4ul+ziIIWafJGelo44mNfxKXjDXFkXSOcXFWJc+eMsntO661AWILPHb1nXRA0kyNEqbxHiLxPCh4XDo/G+Ppf6UoMErdBqyZNx9NVv96c/i7T9Daee+kqQitdRUj4dfgUjYWn9wO4ez2Gi2sqJyyZv2BgGE77eyIt2RfJiUFIiC2OOzFhuHEmHFePhiNmf3Fhjby1jq4b9J+Kr/U8se+arIQ41x+lKi3KqyKX90lhSwxPPC3Bk1OCoId7YVtNwupyWa9rsLNCsNGorM3zGpA58mxA9vKUeq1T0ZM49uebBTeTxazo3ihZYWleFrf8QQoeF4+MxLh6MzRbDK2dq8dvSC24yc3qJ3LjOGrbJFMhsIi6wBGi/NK8Lmr5hxQ8Lp8YivG15wgug0FnbS4VlDrTZcsJC6fHOni1v5UhvGfCzGs9UTRsVX4Qs/xFCh43z3+AEZUXCtMUjNBnJZ7a4mxqireRTp8GyFOoUPCentZFrk35mMoFaYi68Q6CQtfmFxHLf6TgceviexhV4b8cKYwONwiRE1KIuAXOcJGUkEFPi6Q1eNZ6f5mp4Sf46nZXFCm+JT+JV/6syF2y/A+Yd70bZy1SntZ1I+xM0klwJLt4KvmcdCNEvTJscs8k5yaSbnri6HM+NV0kIB6zHrTNb4TIv6TgEVRqLWbeexNFAhOemWBMumEIq/FzxglCC5UEhYPnl5v0x2q8T0efW2cV88t6p994HT5F/siPopW/927wC96JGddacJ1wU+gMg0ItpyWgdkYgrlTQxb4nVRKf5LcZFfebVQCi7XlEHmoKD++j+VWs8v+GJnzjTzrSGHU7n35mFV9OT12QWnmmlJwMQQyklJxiAbiait+OvsOXk4sYug8jNzSBq/uF/CxSBWOXH6PrZQxb3RjtJ+4UVm6RdiyjgQCOhERu3zWSpbFSWw3YB9JKXCtWI+GlyMG3ed+Fq9F7dgQMhjv5XZzyZ/ZJHC44sHYe5nQemG30O7fKc2qpoSoloM4qYEx6rnXaBu+2jt81GdWaTCgoQlTQSJGJmNODMLH6bGTATZgfJCVQzlqnIaZlc/K3Sc5XO8eLn8PkzzlNk2P6o2jp1QVJfArmJollqi3AgvjX8Pwr156pKc5C3f7KSl0SRiLwZQgDaJJgmtSqkA4QkhKCj93qdj6DuUkNCxohCq6lsMJsDsHGGf/FyrFts5a45rarpEelQzXnyNV/Jbm2dZbrgO+Xodl7HxbUau0FmxRWXDk5HFNqfYFkeGQVeVYijCSfqR1BVhrraN3zQW2Mw5OhaNEEfHpgGIo//0NBFpfCscd02ZqzsfBJfTT54Khg+lkRwVRSYdBemEgH3UiqFZLei5qNGEmtR5a1tbhLbT/9HbNv1i7ohCg8luIpXBF9cBRmNhjPhYiexLstqXWh1MwrUjpBUEl8ofRe+HisRHA8hu8ax8VpC5G7tVUoKZyK9LRK2DBjNn4e31KYhu4K+aJoSmbBQkKItVTpVptWVpqpsu4q2mvBGrz+/mgYXa4VJvEonKSw4sGtt/D94C9wZEMlwWq4aBC4nFrSqecaDPv30y2EaNLnBHpOHwOfoN8Ko1gUblJkwgMx/7yPxf3H4Ozh0GwFh7UQQIsw58QyU8aGDHwgXTPiMvosmIzi5VYi/5YHpaTQDSzrj8vH+2PFsCE4u7+UkKVyyQHBB5zvqYu5eKkWQtR64xJ6TI9CqSrLoLniCCVFQSSHD25Fd8e6qR/i4IrqgjB5QHqGal4oGEAKs4UMfN6x2cAjaDdqHkLKrgPdU5ySggAueBTXDPt+fB9bh7XCPZO3YDncIL9WIacqbJASh7XECrxDFFY6Hm9EbkL9jovg5bcfhSSjREmhN8ymUFw/9xb2Lu2CvVH1kMBRw2ghiMGJWl7LQJzJQgTeMgTjCZpE7kfD7mtQ4rlNYAz3aKdSUugHU/pzuHkxAsc3t8LhpfURcy5YEECeJK4SQTpUCjcpQTIs8YHZcg/l68aifq8DqNVyK0LK/AqDy3XaeZQUORF/BOBJfC1cO9sQ5/bWx6kd1XB1T0kuVDVmCSdjCdgZqFvDYbtWw2oBzJZXq4vGVyB8/vXrqNbiFCo3PoDQivvh6ft3QZ2bREmRv+CJ9NSySHxQEXdjquBmdEXcOFcWt0+VwP2LgXhw0ZcLcl0EoTZDegNFWxLx5PLi7ECRKo9RtNJ9lKx4C6FVr3DCH43g0mfhExANF7cYSwhNQUmRL+AG1uwPk6kIR5oinAvmj9Qnflys4o2UJE+Y0twF8Rc0P2MWasu6eyfDYEyCh3cCJ/Dc4fqQ+/shFw8koBCPIVBSUFDkAgy0CSgoKCkoKCgpKCgoKSgoKCkoKCgpKCgoKSgoKCkoKCgpKCgoKSgoKCkoKCgpKCgoKSgoKCkoKCgpKCgoKSgoKCkoKCgpKCgoKCkoKCgpKCgoKSgoKCkoKCgpKCgoKSgoKCkoKCgpKCjyAFxoE+QYPMCa+fqx/khP4199kZ7qhYw07n2TO1iGU1AsA8aQAQZpcPNIhotrEoxuiTAYH8HoksB99gi0iDIlRb6zvOaMYkh58jziYyvh7pWKuBFdDrejS+Hu5aJ4eCEA8Vd8OJF3EUrpW8vp87Dfathaxp+35Z5Ih3/5RAQ9H4+Q8ndRsuJ1lCh/GcXKnod/sWh4eF+2bMRCCwPrAFpgWRvckJZSGfeu1seFww1wZlcNXNpWDnfu+QgCb3VQjZZXA+T3qHC0NZi1ZL/tvhQmG7VWvNQjVGh5CVWbn8DztQ8guPQhuLpfBK1OTkmRI2DNwXhwuwnO7G6Ng6sa4SxHgmROhHkhdsXTDVqIewDKtx+GnYWxkiXN8r4391f1zhdRv+suVHl1G/yL7gPDxNPOo6TQkQisP+JuRuDg2m7YPaspblwPeIYEWoSdZGsvNciwkIRHePV7aPbRr6jfbjX8Q37nfuAJ7VRKCnVITaqFkzv6YtPkjrj0VzHRfe2kdkOVEnCSz8TOUUI6200hqzS6jnZj16Ba0yVw9ThLO5mSggSunHvUBtvnD8H2LxtxIa5B2GjeqIMmz+mthMUsSCoy98lr+8VOvNZ/DvyCfrdQhoKSwi5ojv23G36OHIU/l1cT3CJ3Hfx/tc3rbOJY99bmrchrg46g07ivUKTkRpsQnpKiEMOA+9c7Y+XoCdi3uopABNdciAFy0nrY/5Z14/nmA4+hS+REBIRso6QorHjy6FWs+ewrbJ/3chYZctu9cSYJbd03OLiGlRwdJvyK9mPHwN3zJCVFYYHZVBK7l03D4j49OMFg4E4oaHqRRc11tH6H9Pl4JAvOZAYGrV+Il9pHgmEeUFIUZNyK7odZbabh2qUgLtiUFxYl2R+lQujoPC1xi9JMl5jFsL6XxB2V693A0HXDERS6lpKioMGUEY61U7/FusgIeEJ8KqSerhOpkCq1UmoIp5akvDuVzh19/rMaLfoNBWO4S0lREHDnSg9Me2UeYm8XgQeyzzMS87tZGW2qt/tDarXshR0y1kxrXMKfm8gdFerewsjNAxBQbEvBzrwUZLCsLxc7fI+Pyi3HfRtCsDaHI7fBXnD00BusDuc4EnCp+2Nl3CMl9867mjFHS2JA8c04tnWmEHVQS5HPkJZSHQv6rMSBH6sLHapFuztyQ+RiATnXRc9YQot1IB1QtP38MXe8MXQ/ekb1gNHlKiVFfsC9a13xWZlFSICvYB2cmeGRc73EXDC10zfEyKZUuNW6h9bv8RmqMlXuYPzed+Eb9Ct1n/Iyzuz9HB+VWY0nNoRgHGRcSNwXRuFvsxLxCkvovrAiv8vIXJNV4ILZu2LW/zOEz8iDT1bcPFsMg4O348pfQygp8iY8sePbVYhsPEEgg5FQOLXGAYyD74iRg9Hwu0o0OakiYEXuW+y79p+5ChJkxOiac3Fw/XxknypJ3adcgymjOJaN/Bnb5zYUjR+0uh2ksYFUzCAVMGvNVDljxq2Se+SzU92nbUL70T3AMI8pKXITGWkVEdVhI/7aWlEw6Ur9cqgUBr0n+4kJudJ7ZSRcQbnra42p+MG+1wYcRr9vOsBgvEVJkRtITnwJk17egJjTJbLNaHV2UE1ihXK8N6F+QFAvxcEH4DXeuICR69vCxe0CJUVOIjGuOcZXXot79wKyMuY5ObVbTwLosZAoN6eo216Dj1L5dX3P172JcbvawcP7BCVFTiD+TjuMKL4aaZzD5KLR31YTLygVJhJXKK+tvdDqgvIzboOLxeGL6Pbw9t9Hs0/OBD8GMbz4WlFCOPKn1cwuBchnlZJmk1jCjBOj4HccTfmARMZI6hkYwvsB5DNqvPWOuxOEMeFbkfiwOSWFsxB76V0MK7MSZrhmLQRidBBakoEssdSrs+MChpBMYuc5ShGDUJnYvs+oeBa+jxLi/TA8cBMS7rSipNAbty/1xsfll3LWwSjcNelglZ6anIH0wJoaa8RICKCS8Q1SzU76PqmrxEpYHWvFkxR4cdZ9PR7cakdjCr1w62I/fFxhkWCSjRo7keR8Z/jo1tpMJsv/WQfuDStCDtuCakYNz+KszBjJWg2TcO+pmHmrKwJLbKSk0ESI6PfxcaXvJAmhZMGPWgIovUaG5TBZtGWx0gko3eAGwl64jpCyNxFUMhYefnHw8nkMg2sy3xPChVhO9DPSPZH62A+JCUGcdi2OO5dK4cbpMMTsLYV7d3yE64qV28mTUmZpH/6+XThizLrZDUVKbqCkUIOb5wdgROVvhTEIg8JMkZZ1EGo1arol68ILa5UWV1Gv6wFUenk/gsJOWuq93of6UjJGmE0hSE58Hveu1cbZvQ1xdHV9RO8LFYTNQ6HScFYGS+46GUJfpmP2jXcQGPozJYUSXD83GKOrfJ1lIfLabdpOpku1vNbpcAGvD1yPCvU2wsP3JJxeIZz1RlJCHZzb1x475rfHPzvDhbbygPPHN7QQJNPSpWMmR4ygvEeMvEmK62c/xKiq84ljiNzodOv0ab6GeIe5W/DqOwvhF7THYi9yAx6Ij30dvy8eiI3jW3B0NGZbdsvmofazEiPqek8El1pNSSGFS8eGY1zdWUKHMjoRQctEPkfgyeDNiV2vFSvQoPMMuLhF56k2TEuuiV1Lx2LVwI5Z5FDTflpK6ZBkuDJdKRNmXHkPIeErKCkcIfrQWHz28peShQXkOoJ0NZxSzchYnCE+Inhn9npEDBwPV/dzeTrATUmqjU1RX2JdZAshznHVQfjVrPiTglmIw1hMP/c+wiotpqSwxZk9k/B5k8/gBfGxAGf7v2JazWyxDi+9GY3+i4bBr+j/kJ8Qd70L5naNwoWDYYqshpa2V2Kdra7o9H+Gokz1eZQUPA5vnIuo9kOy6jCpFV69g0IG1j0fWHy8ZQ5qt/6MezMJ+REsG4jdy6Pwba/eQqzmohMp9CIMr3hSuCPyz89QueGUwkwKN/y6aDEW9e+huriAHlpO7Bx+tmfFejcwaltf+AbuREHA/WtdMKX+Qty9HUg83V5sfpUe5XPsLQbf5iM3zOWs8rDCRwrWHIjVE1fjlyktHBKCtCqF1rqqYtfk1451jtyJTuN7wWCMRUFCRvpz+P6jlfjtP/Wcpozk4g8pa8+v4uu7YA1aDuxtcawKASky0iphbve1OLKualYMoWQVmNZpzXJmnA+oR2+NQq3WY1Bw923wwK6lC7Dwvd5CHxgUtLeWZa2k/co7qREfHkDvOV04pXSzYJMi4d4bmFR7KW5fDxKCPrMTNJFamJA52jr1/GCEVlyEwoALR8ZiYr0vs00ZIZ05rKYsKKnLxduIiq9cw5ht3eHlt78gksKAs1wQNbXRRO5/jORecYD2GqiKrRd3BATEY+rFbvAL3oHChLtXu+OTst9z6sBddOsyqX5S22ckLlW6EHmmYuKpkShT7eucEdScAF/c+McJOzCxUSSnkZhsO4jaB28kJWnkBohIaz0ZLO5SWM0bmHHjtUJHCB4h4aswN64N/DilkCbS1lLrSUj7TKovxNZ9uArehDtGVZ+PbfN/5mLRkPxvKW5d6IuoZtNx+2agomp9znKR7MGnAWu0uYAR69vAxfUiCjNSkupicqONuHqiRLZKsUpL+TsDfGaqfN1bGP7LEASFrst/pEhLfgFrp87ChqnNhdSfC7Qv0CfpJCXpV54Q9br8jY9WtoHR5QYoOHcltQomN9uKSwfCs5SYWCnQnNzSzHb6Oe9SvTP7F7QaPJpTZJfyPilMGaVxaMMnWNy5D8dsN8kRVLUBmNqAzz6IazbwCN7/um1h2HNBWXyV/jxmddqKE5sqCJkpZ1sCJQXlbBWaP5IwYPs3qPH6TD37UD9SpKdWwLGtQ7C8cy/EmX2cNqFP6yIh/pVP97UYfAB957XjGjOOssABzBllMPvtbTi6topuxFCyxRjp1gW8S1WmfBx6fLMI1Zp+y1n8mNwlBcv6ID72Nexd0QcbR0dwwub2DBmUVMVgc0DzGCyEiBj6J96bzRGCiafSL0UMUxjmdN+GIz9VIyKGHjsnkSo22++YLJYjiKNI+4Wb0aDzEvgK0/hTcoYUZlMo4u+8jFO/v4HfvonAhcMlBGFzV2kZ1DSGWApQrkYsr1VaDt3DEaI9JQSxxSiBeT2349CPLwqj32YVrq5eg60klsO6rKtKsxg0/2A7qjbeBr/gI5xHcEcrKVyEXYDMGUFISSqNuFsVceNMDZz+oxZOLamCu6lewoPwRDCKCKLeWQmS7IdU4/KEaP3xH+gZ1T6/FwDOcZg4Ysy3EMMLzp8cqDazZXsta0DO/12i5GO80OkMqjY9jrCqfyMgJBru3jdgMMZxspBosTU2pMhIK4ctc+ZwvoULkh56IPmhDx7e9kfc1SK4fzKAczdchR9gLBkkF2RfLw3oPyVDal86peBdpjdGcISYQQmh3pXiLcY2HFpVI4sYSqu36zV5UKnLZcLTQhKsRYb5FZNFaz9EYNl4+BdPgE9gIryLJHPyYWLYlMSaeNvnxDNLP414OmDDaHwI0qoazkrn8Rai7Se/4Z2pHSghNBOjGBa8twX7VtTRHHzruS2AGsLZ7ntosryaraEn/4en5XCzHEY8rTPk6GL2P0y6OxArcx1Hf8ttOMLIWIiuU/+HHl+8SQmhAwzGOxi4tDVe7X1UUDYg6AOl1p80O0Wy5JWV+b7BYjXcLKGAhQcG2cCFJLixH55XE3CrbSSxB+cJ0f2rzejwaQeLvaDQA0bDPQxa3BIRQw8gyaYPGIK+17OANOn0HxVyZ8j2UGI/oKToL+ucmyW+n0fc8e6stWg/uhNyYT5+gQfDPMB7s1ujzehdSNJJ8KU8D7FEjp5K1ObVwD2gOBOVbGQoZi0YHZlNcj+8kzRoyTK0Hd4NcDi9jUIfYiTg3Wlt0XXKVmFRkNI4U4nnYd/HWmMZmesadLkoidCSfEfLOIfZ4jKNWPc1mr3XC3ZpNgqnECMJHcd1QJ9vVuOxgj7Uy/VRAwK5NCgmAekDMSoIpiY1Z7uv88Tdk/Byh4+otOYo0tBqUHeM+HmBYDHMCvpOKm6QcpMY5xLKICuJLKHA25eqZwkeTs2D22cw0oXDjKjTg1G18UQqo7kCFi93GozP904UlJMZZBvNMBKBtBJtr2aYQJoUjHgcQBpPiMUhWjcKkbs+HzF4c/pp/q2OKF11AZXNXEaVVydhdnQ/QU2lEXgErHYBJnbB5XZpYmwDbdtpHqyDaF9rYEyS1VJj+niNVKFhDOYkNkVgiQ1UIvMISlZYjG/ut0bxsvez5iFJbexCqmSVbqVGShzbUXjL/w2SrGIV/CgIHkxr7GD9P++7tvp4Lz7b3QAe3seoJOYx+AT9hmnnX0G9d/6RTNmSDuCSKGQtytrunjJTstBBaLVkA1gZq2E9x2whxLA1C9Fr5uv5eQPzAg9+D+0hy19FnwVrhMyUWaFbo9S9UuJCycQgBqJfJp1yoZU8YpsrWosbe3B6Z+6FPnilyyA4fe8HCs1gmEdoObAbvjo+kuvDzDiDUZlsEXOlWAJy2RNBZgTe4PBdqcCI0SD8rEKSWL/Da5pX3juJ+ckvo0T5JVTa8hmeqzUTCxKaolrLS4Kl1wo1br0YERxO83C0noJVYOK0zKKVOy9NyGOwGLtlFgYveQVuHqeohOVT8MXMxm6ri0FLlwgz0TIUBseKrZQEMVg594lhpDMDpCSxL44l53JJWQnr6PQLbS/g2/uvofYbI0DnMBUEdyoeTXr2wcKbHRBe56bQx2LjYFLjVGrStAq2YX5qKRiQT9OQM1/2hbKUuFKZop+OT7bPwJiNteEb9AeVpgKGwJK/YNLhFzFk9SLBE0gmjC1ZeS0vG48QBdpytUKVxgBKrANj5yrxmqPdp3/gu6SXULPlaO6ERCpBBdVqGOLQsGt/fBffCE0HHhH6Xs1sNTUb/MiQyiBpTtTMYWcUmC5rcSu+QWp1OoeFNzqhO188zesvKjWFBN7++9B/QQPMvdgH5ZvFCIF4hoh8MYQCrqZsp+0pbEpSTfTxPpGtTKIcO9XukWb9m5+zxCdVX2x+Bb3mT0NY5aWgadbCDb5k0uXjH+CHD4cj+nBJYSWcEc7bB1zkO8+SQsu6aTHht88Pp1nMZL2u59A1cjZCK67kTqIr4yhsyeGPf0/0xZpPP8RfO8sKRZbddCIFwXnKLIXSnTFt63/yNsCLo0OribvQYsA3CCyxDXQREIU0PHH3SgdsmTcIf8x5mZMWJqsuMWmsoULJZyeFXoWpTLBuosi5SC2voPWwn1G1yXK4up+mfU2hGKmJdfD3b72wZfpbiD4YKrxnrTumxTI4UOjSlkJJSRqra8RbBd7cVWt1BY167+BihnXwCdwHlSUMKSjsBM0b8Xeb4q8dHbHn+xaI3hOaJXP8YdDuRjFscmJN9PU5Ibkfgf3/rcWlzJb/8+YstMID1Oz8F+q02YWwqr/B0/ckDZwpnE6QJ4/qcPFHCxzf0hgnf3wBsbf9BLm0lq8RK9VEHGhbNb51Ripr97dRCHjMKF4jDuH1r6H8S+dQruYJFCt3HB6+p4UqDxQUucYRc1EkJVRH7KU6uHy8Fi4froSYw2G4c66IEI9YCWDA07pPBrsYxGIpXsQHPocFYfcKTYNPWCrcvJMRWPIx/Es+RHDYXRQNu4XAsBgUKXYFXkWuws39mqWEPUt7giIPwwAzR5S0J6WR9LAsHtzljmulce96Ce41BPF3AhB/wxepyZ5IvOaG1NsunEQb/i/AAPaCCgz4d520AAAAAElFTkSuQmCC"};const MWMTheme={logoSmallUrl:"data:image/png;base64,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",originalColor:"#0067A9",secondaryColor:"#FFBC00",borderRadius:3};const SEWTheme={logoUrl:"https://www.sew-eurodrive.com.br/media/required_files/layout/img/sew-logo_bp40_bp50_91x67_2x-4.png",logoSmallUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACQCAYAAACyAlbPAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMi1jMDAwIDc5LjU2NmViYzViNCwgMjAyMi8wNS8wOS0wODoyNTo1NSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjQgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6N0RDRDMzODdGRkUwMTFFQzlDQjdCN0VCQzk4MjlENUYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6N0RDRDMzODhGRkUwMTFFQzlDQjdCN0VCQzk4MjlENUYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3RENEMzM4NUZGRTAxMUVDOUNCN0I3RUJDOTgyOUQ1RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3RENEMzM4NkZGRTAxMUVDOUNCN0I3RUJDOTgyOUQ1RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqO/74wAAB5uSURBVHja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",originalColor:"#de0000",secondaryColor:"#008585",borderRadius:3};const SGPAMTheme={logoUrl:"https://sgpam.com.br/sites/all/themes/pam/images/logo.png?a=x",logoSmallUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t+KAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAG71JREFUeNrs3fFRG0naB+Dmyv8fGXiqvgCsDNBGYO+XgHEEu47ASwRrIjiRwB2O4EQGcgBflZwBm8GnNt1m0AoM0kjq7nmeKhX4zovRwNu/fntmekIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgcE52/QIX//6/P1cfJk/8leXq9a3359vVa5E///S//7PwY4AyrOp52vtjrOvT3p9fr17dll+6Pw4s0yus6n/uqMOP+vtj9eF621x8NcD3EIt+usMbyJ8uemH/V/6zgofBwzp/PHskuA/5PeVPc53f9AJ/sar/Wz85RlCbsf7+k2pz68x7VdB7mqwNNv2Cz0EfX19jsQt6eHRgmKTX697np4V/69NH6j+H+00eA1a1v/STpqGafbf68K8hanSIJff/7tKh76gf8nPL94xsIOh6gX1WSXAPIU/wc8jPdfJUOvn+tHr9vvZ//bJtw/qq8mMy6XX2uZufp0Kf6+JpbACYpsnzm/TxdKSH4jS9/+laJ9+vfV08JdfyJHXlkyG/bu0d+nPkIr/WwVNpgJ8VXmMlEvCUWtd/pM78MVt36GMI9L64LHfdC3jLdJQ2a4+19FaA7zXg1T4ld+UCfYfu/UsqcDN4Dl3gp2sB3jkqB7PI9e/UHAV05QJ9DwV+Jdw5QIi/SyH+zhEpwm1vcm95niHrPWbjz/ZqEegHCPfLYGmOYYq664X41BGpov7zyp3rbth24r7pCnaBfmTxnPvV6gBf+zVFJz46y3C/NG8M4Dm1v+t95QL9AGKnPouduyU5flLM74V4s2PAvNe9W72jX/tdCvJd81CgH9g8de0zv8akq1d/SyF+6oiMxnVw3l39363GxaX1TwN9SYGua+cIRXyeuvGJIzJ6Lqod5zgQx4A/B57IC/RCZuuXboFpvoCnKcTPHQ2E+6jHgZdevS7QKxQL+CI4x9ZiNx6X1TtHhBeOB/nCWlfM1z8WdCnI93mNjEAvkOX4+os3nxvXjSPcBfmnA40FAr1ws1TEc4eiiuLN3bhz4wj3cY8F+YK3OB4c6oJXgV6JeerY3c9a5gw8d+OuVOfQ4R7HBve6jzvIBXrFBew8exmFOw33t5zBseUHSAn38QW5QG+geOMWs58F+8GLNgZ4PCfWOSKUHu7h7l53Y8T+xoQujQcl7CUh0Bswi4fTBXR7L1rL6tQqh7uVveHGhBIvfBXoDZmnYJ87FIMV7TRYVqct7nXfbUyIAf6+0OwS6A2KReo8+/a/l+4dZ0xjRT7vrhF4fEzowv3ujiWPCQK9Yfk8+8xM/Fm/j/ZVZ+zjRQz3G83AjzGhtgcmCfSRsL3s4934u+DecVg3yme7p4l93qK5tom9QB+ZZa9rH+0MXDcOL+7e573ufdloiMfxoKv4rQj0kXftV2O5ZzWdB8vdeOfHDzs1Bjngq3wEbLrg9W0DIS7Q+dvsexYa3Eqyt6SeCxfYbwe/KPHUXurCY96cpY8trswJdP428656n2ghDkVYpNfX/PmhTvOlMSAH+JuGA1yg8+Jwvyl9Wb43+34fXNwGJXfyOej/Sl192DbsU93n8D5N3XcXxntKTaDzbPEXJZ8zmx/zG0mFPEkF7MI2aKuzfyrcxxzYewv0V47d6EzT69MqUHPA5yW15b5CPoV31wvwiQCHZllhOwKBTg74HLwh3C+p3aagj5bp9ZyvF/2zF9qKG0CgcwSnvWB2QRpABf7hEACAQAcACmDJHRjCMtxfY+G6Cag00J/auGTqEEPVAR1f39YC+8X3G6cte7u1ceFM+MPfbL1xz8mhvsO0524INg+A0gaPOCm/yaF9jP0JNtzWaGxgjD6s6m9WfKA/I+xjIb9JH83YYT9ieM/D/X7dy1K/0dTV9/ctmPrxIcwLD/QNhdzfw/dMIcMgAT6v/XG7afJvXKAlsSZ/HWJl7KTCQn6rg4cnB4frcP/M69tW32ia+Odwb+nxmYzHMoX5IA/ROqm4kN8Fe4BDHhRiiH8p8ZGXBxwXurVxAUoWQ/yXISfdJ40UcuzY36fZuu6dMYV4tY/IPVD3/taknwLNVnX7YegvetJgIedZukdwIsTJ40I/3DtHhCPa+eK30QS6cKcxcTluJsQHHRfyip5w59AT8l/3WccnIypi4U5Ncid+7VAId5qo5w/7vkj1ZKRFnMP9N0VMQeLM/SrcnV+7dTiOFu7nwTl3hvNxVc+fD/EPnShiM3SOKt9mdmlJvahxIY4HLqhjF8uw5yV2ga6IKcM83C2pzxyKasaFc0eDZ4od+cWhV9oE+uNFfN4LdxiqG5+lbnzpcFQ3JuT9L4wLPFXjvx5rPwiB/rwijuHuYjp04xgXeEys74/HvP5FoL+siLtwdyGd8+3oxumPCzncjQvjE+v7Qwm7NAr07YvY+XZ046yPCy6yHdmPfPX6XMpdKQJ99wJ2Xg3dOCb945u4fyztzhSBPmwBd8HmNbpxeDzczx2NqsUJ+0WpNS/Q91fAlt7aLei8+YtunJeOC1b06hRX4S5DQcvrAv34s3NLb/WKM/IvtmJFuI+y9j/WsHujQD9euJ87GsVbpFn5ta1YEe6jDPKLmlbiBLoC5qFYvHkr1qXDgbFBkAt0FHA98n7qVyXcSwobxoaz4JSdIBfowp0nQ9x5cWoaH/rh3jkig4wD8bRaExe5CvQ6CtgFdUIc1seGeCfNNI0PU0fkRWJ4x01hmro+RqDXV8DvU/G6z/35hZuX0z2elFbHhtO1cNe9Pz6hb/bUmkCvt4C7tQLWvd8XbSzWmzT7XjokGB9GPT58X5ULI7hbRaC31b3n82vTkb39HOBzF7XBo+NDHBfejKSDvx7jpF6gt1vAsWgnvYBvZYaeO/CvAhx26uAna2NE7eNCP8RHuW+EQB9XAecZei7k0wqKdJGKNH5cWEKHvXbxk9S9n6WPXcFjwzzcr8y5PkagC/lUsDHoX6fPjxH0ucuOxblMr4Xd2aCIcWLaC/c3aXw45DiRxwQTe4HODrP107VZ+ustZ+w3vc8XaXYdLJdDM+NEDvnszRaBf9Prvr+PEzpvAAAAAAAAAAAAAACo1c63rV38+//+G36+y9AyvbJ4K8Jfvc/jbQpL9xbCYaWHeuTbjbrw+C2KXdh9k5EftyyG+1uU8tig/hl7Lcb6+s/q9XHbW3pfHeh7XR8Mpo+8oRDu70GMxf0t3N+POPcjh60GilhvObhf9+qxO/C3MnlqDEj1n0P/phf0ap/WazQ+h+NfYcfNel4V+N5Onyj2PJu3YxBsDu4Y0nl732OE9lChP90Q9PH1NdW9kKeFmo1592n1+n2Ir/eqsvefB6h+sff3+54HW4YynvCehId787fswXtcC/mbVPd2FaOmGp6krnyw2j3UOfRDW4SHG/cLeGqfxccaO0vFP3VUNvLADmqp6T9SZ77JL9uuQLUa6JsC/kvwuE3qC/DpCLpvAY+uXKBvXeSjf24uRRb6u9DGs6lrqP25628oqCsX6AO5Tt27cOfQBR4D/G0K8lNH5ODyqbkvVu44clcu0IU7lRX2aQrvHOKU1b3Pw/2pOd07h+zKBfohwn11YGd+LRHio+ze8+TeuXdeWvfT1JV3W/znAn3PM/cY7pcKmxfUxbkQb8YyjQE3qzHg2uHgJxP4P1ev8x2+jEA/YGFfrl4zS/I8Mit/H5wTb5mLanms/uPmMJ8GqH2BfgSz1evKxTSjL+IuzcZjkHeOyOi47sYYME1d+VC3lwr0I3ftFwp6dEWcQ3zqaJDMe+G+dDhGMZmPQT70aTWBXoC8FHehmJsu4N9SR25JnafE622uhHuT40Cs/by8vg8CvcCZ+oXleN04CPemxoKhzpML9AotU7DPHIoqu/Hz1JHrxhlyTIgreVfumqluUh+DvDvAPyfQCxeX4+PV8Z+dZy++cKcpxN1uhnA3HhwyyAV6hWbBefbSijZv/nLowgXhLsgFegPmwXn2YxdtF1zkRnnyBbZfbGQzqiAX6A2Is/FL59kPWrTTYFkd4U4ocoVOoDdgGe6uhHWefRxFC9uwkc2wY8LvobwLXwV6gzNy59mHKdouhbjtWGnNPNjIZpsxYRLuT7WVSKA3PBu/dJ59q9/Ld6lo/W4yBstwvzRvvNjcjecxYVL4tyvQR1Cstpd9XjceZ932VWfMPEDm7914TSt0An1EhTpLXfvS4XjQjeennAEP5We7z8fQvTcwsRfoIxR/4FdjvTpeNw5by937vJV73tN4kCf2k8rfjkAfedeez7U3vSFFZefBoJbxY15jwKfbT9+mMaGlSb1A57tluLv1bdbKknwvxHPhAvuVAz6G+6KUsSQFeJzInzU+Fgh0/iafN7uurXMX4lBcF79IIR/Dfbnvc/HpYrb4epM+jiljBDo/7dz7582Ku+o1FXAOccvpUE/Qx/HlW+/P3z0WSmnCnmu8//nZ2p/HSqDz4u59fsyAX1s+mwabvgDsFOivHLtRystZv6dwXaZZdj5vdjvUklrqvE9TaL/u/dsADEigE3XpNe0Fcb+bzx38zU++zutwf7XpRNcNINApq5vPpg4HQJn+4RAAgEAHAApgyR14iQe3JiWPXVsR7yHuX0cxdfig7EC/eqKg/xnuz8F2wZ7bULplesXQ/ivc3d4YLYa6vTHtu91/nRkf4MeEebntf3xy6O+2V8wx6Pu3MbkiGg5rkV5fw/02n0fddKi3P8Gb4BZHxhfmv+yys+dJKe8kBX0u4LzZCDCc2G3fpI+LWp6TnUJ+mkJ+avJPo5PrD7tu031SeCHnPXztJgbbDRLNPQe7Ny68NfGnkTr9ZYgJ9kmFhfxOBw8b5Ufpxi78upYOfKAOPoe7JXpqMlu9Pg5VqycVF/Fpb5b+TvfOSC1TiH9pqQvfYVzoepN+T+qj6F/XVc3+MeQXPGmokOPM/H1o72H38FiIX9X2aFyTfvi+khbPl18P/YVPGi3kfI4tBrwlOFoZBGZCfKdx4Z1w58gGufhtVIG+VsRdKmDhTo0hnpfTrx2OwcM9L8t3jggHECfkH/d5bcvJyIo4h/tvipiCzcPdhk2jubBN507jYpB/3vc/cjLiInbOnZIsU4jPVoW/dDiEO03Y6xK7QN9cxNNeuCtiDmkWLKmXHu7njgZbiB35xSFX2QT65iLO4Q776sYvUzduSb38MeE0jQdvjQs8w96uYhfouxdxPN/uYjqG6sav3C9e/bhwHlxky2bXKcyPMlEX6M8r4q5XxJ0jgm4cF9lSQlcu0Hcr4kkqYOfb0Y3THxdcZDveWv9YwoRdoO9WxLFrd14N3Tj9ccGV8uOp9w8lTdoF+jAF7LyaGbpunMfC3UW2bYmT9cuh92EX6GUWcBful+Q7R6RZ8b7SK904L5j0u1K+jcn7Ral7RQj0/RbxNLi/vbWZ+XWandtPHeE+HvMU5POSv0mBfrgitklF3cVsK1b2MS50wbMmShY78Q+1nE4T6GbnPF7ItmJFuI+3/mNHPqvpmxbowp17ltQxNgjy6oJcoCtgHoa4/dSpYWyYBtfj7MM83N2pMqv5TQh04S7Eoa7xwbPch5NX5OYtvBmBXke4T4ONKoQ4/H18mPTGh6kj8uyxIG8AtWzpjQn0Ogv4fSpeF848LZ4Hn6cQnzscjGTyf2Z8eLQbv2p5Qi/Q6y7grlfAuve7mff3AI8fXZ2O8eFBwHcjndSPZgMogd5e994v4NYDPgf4TQpwV6bDzwP+TeMdfJ7UX49tUi/Q2w/4SQr4SQMFvEivGOALAQ47jxHTXshPKu3il72J/ag3fxLo4yre01S0sYBfFx7y8xTe31J4z/0E4WAhP1kbI0pa7etP7J1aE+hs6OS7XhF3vdc+Z9XxFWfTX3t/XtheFYptBvK4kMeJ0z02BYs0Ptzk8cHEfs+BvvpB/7nhB5oH6U1d148B3cyqqhl79tLZev9nfmuZvJoJXv9nPN3w114/c8IXf95/bRikg8G5ud+b9SZgukV4hzFP6lfH8DzscDpxiED/b9j9/sd5r2v7pluDvXZZ/a7qLH3swvHOn/Y7sdv0ZxN+xlabsTmOgf7LtpPdV4W8n+kTbzQHfg77uWKHn3bYXXh4CmVa8Lc82TQOrNX+1+BaCtqt1/8MMaF+Vcl77hf6p3QQ8kz+Jn2c6+YZ4WAwTYH4poLg3nmyn0I+XxT1Nbhdkbrr94+caUN4VfGxyLsiTXsHZxke3pesi6el4s+B3fp9xM/p6CcbOvmb9NGpOmqo5X8NPQEv5Rz6vgh4ai/6d70A7xyVZ1us1b6Ap5S6/j115Y9dXLz1OfTWA/2xIre3NyUWen7K3pi36tyXfrirfUruygX6Fjx9ixKKfBLuH5XrYRqHq/0c8NdW7iigKxfoA8vhPvPrx56LOwe4LrwMy1T/Nyb3HKkrF+g6dyoMcU/Fq6N7zw/3cO6dbWv+j9WH37aod4G+x+KOHfuVW2MQ4qOUH7/p9jieW/cxDzftoCrQCyzsmVk7T9RDLOL34W7HJyHelmW4W70zwWdT7fd3e9uFQD+w3LXP/RrTu70sLq91jsgoODVHfwx4yUVvAr3gGftFcK5trEUcZ+J5SR3hfmMsGN0YMA27La8L9IIL+sItMKPoxmMnfh4sqbPZ985duDc/Dvy5p8m8QC9I/EFcWoZrsht/73cd4T7qcSBO4uPS+u97/GcEeoFip34ZXERX+yz8PGx36wlsmuzncF86HNUF+e8HGgsEesHyrW+Xiria4p2mwnVunH3Jd80I9/LHgyEveBPoDcnB7paXMmfg71Lhdo4Iwn30Y8L5kcYDgV6ZeXCevZSi7VLR2vyFUsI9jg/udR9fkAv0ysXZ+IX9449StPm+cb+7lDw+2MjmMOPBIc+RC/TGxfPs8QK6zy6g23vRngcbwFBnuMdB3kY2w44JXSjvwleB3pBZcD/7PorWsjotNQA2stltTIiZlbdoLo1Ab9A8Bfvcodj6d/M8uHec9vXDXSPw+HiQL3yN3fik4G9VoDcsFqjtZV/Wjecg7xwRRiZfVPdFM/BjTJiE+9tQa1ihE+gjYHvZp38P36UQd+843I8Z38M93D3+dTmi8aBLY8H7wrtxgc6P21pmunHdOLywe79JAX/b2HiQl9Rrf2CSQB/xDHwWRnZbi6ecwWAB/yWF/KLGgO914m8byiGBTtu7TaUl9RzirlSH/XbwixLHkdSFx7w5S2NB1+DPQaDzwDyFe9XnzYQ4HNVtCvmb9PHgIZ868Jgvb9LHyQiOu0Dnp537vPRl+d45sDMhDkU3DDHYv6Xx5TbsuGSfrkQ/TYH9On0ca65sHeiv/G42b5JntauiWYaHF8UctXtfWz4by+wbajd9pJ77XX1fDv83GybpmsEBCfRx6cLdVeHnvYCPxfc1z7r3GfJpd6ZJKuyJAIfmnAppgc7xAj6+8mND8yx7nmbaX9Pfm/f/o/XloNRpTzZ83X+m/z3/GQCBzgHlGXa+LezTWoA7QgCF+YdDAAACHQAQ6ADAEIY6h75Mr6gLLoCCFvy4x3j1+ius3ZL03Htl090NWf4838I0dZhhGCf7/gfWroDOmwe8SaHvtiUoI7jjhDzfvnh7yE2IemOEWxoZu9mq9j4UG+jPKOZJL9zPeqEPDC8/UjPv1z0v9Rvt7VuQx4XOj4+Gfdj1CZonhRbypFfIU4UMOwX4dShkd8Adx4UuPNxZ0LiAMC890BUy7CR23V9CBfv3DzQu5EdnWtmjxgn3L0PV6UmlhTxZK2TQhd914dc1Ptd6oHGhPyY4B0/pFqkzH2zSfdJAEZ/2wt0TuhhbiH9ZDQjXDsfG7r3/5D4oyXUK80En3ycNFnK/iDu/Nwjx0Yd7fizvW+FOCb+Sq/r9Yx9f+KTxQo7Lbu+FOw3M5r8McdGMcLeix1En5B/2ORk/GVEhC3dqEs+rXYYRnxM/0LiQO/dzR4M91/Ov+77L5GSkRTzthbsZOiXN4GMXflnz7WUVd+6W5dmHz6t6/niIf+hEIZuhc3RxCe7KeXHhTnMT9A+HrOsTx1wRcxSxA89L6rrxsseFONmPK3puheMlk/QPhz5dJtA3F3GXQl0RM7RZ6sbnDkW148JvwXU4PN6Vx6vYPx/jHxfoPy9iF9MxVDc+c4GbcYFmzVNXvjzWNyDQX1bEzrejG2d9XJgGF9nqyo/UlQv03Qs4n2+PRTx1RNCN05v053CnfUc5Vy7Q91fAXXBeDd04myf9LrJtd+L+obR6F+jDFnE+r3YeLL3pxiG4yLYxsc4v97V1q0Avt4idb2+3oK914wj30ZmtXh9LnrwL9P0XsKW3NtiKlX2Fu9N1ZYsT9w817Bch0A8f7udm59VYpm7cVqzse2xwG1yZQX5R00qcQD/+7Fy4l8UjSjE2CPKLGk+pCXQFzJ3vIR4sqWNsEOSVEugKWIgLceoYG1yPsx+zcHdabVH7GxHodYT7mQIW4rA2PvTHhs4ReZHvt5+Fu1tOl628KYFe3+w8F7D73J9fuDHEb4Q4Jv+jNw93t5zOWnxzAr3eAp6E++U3S/MPLVLhfnGvOCMdH6bhblvqs2B76tiBX7XWjQv0trv3fvFORliwc104CPjemJA3gFqM5ecs0AV8zR341/jRPeKwVcBP0hgRP3YNvK04JnxJY8JijD9XgT6+Gfqbygp4kV4xvBeW0GFvTcCkN0Z0FTQCeWJ/k0J89CtzAl3Ix6J93Qv5YwV9LMzbHNyr13Kss2woaIyY9ML9de/z0yOMD0sTe4HOdkV8ula4Z2t/bfqMAuzLYR1SYcZXUJhQ/Thx2uvmX29oCp4aK27TBL7fdf/V+9+XTqkBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwBv8vwABLW9UJoNwNRgAAAABJRU5ErkJggg==",originalColor:"#2896b6",secondaryColor:"#e8922c",borderRadius:3};const ConfibraTheme={logoSmallUrl:"data:image/png;base64,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Y7u9dt83lLX3aTPHL9EJECPVJAAa6ymsEhgsB+hA3BJkQfEY+df/nkb+5yH2fxhz/jPLb7vtFO4RLEZd1EILcUFgARG4LJYBq5XXb3RvUPjJ73wnjSX5tNucTNmty3BabwK3DU9WS1q7P77tp+jbfqmWDCSAU9BBpL3sdHrFm998rnZikkIQWBoIVBr0lgZnNXJx7LnnUpAEkmpstNcrFHqt555Wdt/ToIKBmTbr+IYKTGM96QHIl0f+Sm5Oo1Nfe71yfv7Dyoo3PG83NMnIz+CIfVkjcFlLAKXId91xxwjcI68//3waDT5tQRKATsCXBCANwNTW2/mxSdtfj809yZaMhZEfNxWlB6dz6XUy8mtM5c/ljUBtbeIyKCtLAu7gYC8+9NFrf+sZZX3rWT3m0wdJyZTO9nlFIPAz0oK5mBRr/e/8KfzuplTPR2TOr/GTP1cOAleMBMCvpCgJfGtfGo07XYAk4EASsLROYPZVuuJkAaO+akxg5E+NqquWj0DfgJF/WkZ+BlrsKwKBK04C4LdSlASgE8AFHr221glghUDrBILzAxyfgTAHivFl7zvfhd+7cftPZLfdsnJ3Lu9llt+2XrT9DJjYVwQCV5wEwG+lKAn4OgHl6wQ8SALWpJEEuNFTmuLIT3N+OtCTbMHIv2wEp33TLbeuTzNdsQWBKwmBK7YD4JeUm5rag9WBr6l/8eO97i0/1mvtJZ0AfmjxwVoAYutLRjDn736HcmjOb9mPInw3HuSGHwZT7CsOgSu+AyhKAvv2lawOLE9a+CKx3iuAV6pHfz3nb6K1/lGL5vzKwsh/q4z8V1yVlwKVInDFdwBcWHyDUEsC7pa39arb3trr9T2lHOgFzNdHcIfg7Vv1vF9FrEftmNqtMvLpb8ZO7CsXgX82HQBLAq999+9H9dyfRnwYGv3pZ2Heb121AlsIvNGW9TLyEzZiBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFB4MpD4P8DtGktnoREaAYAAAAASUVORK5CYII=",originalColor:"#E93323",secondaryColor:"#363435",borderRadius:3};const JMendesTheme={logoSmallUrl:"data:image/png;base64,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",originalColor:"#006373",secondaryColor:"#000000",borderRadius:3};const SAAECapivariTheme={logoSmallUrl:"data:image/png;base64,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dxV1tU+gjYWYptzwr3fOSgbmPOz69jDOTaqo6D+ebbif6cPRjPaJR740qkMdrHbd2DgmulMRqFNZ5TiNvsG1Nzv/rcJ/oQzHTYSBXSHAiMguJ6Z2tme66cWKJ+ur2a2i2qVJYo5nidkuKx5EOFsvPvoq3ILw26l8b2tnV8e2lbcutwa+UyJ94pHFo9KOPxayrEZYT4w8h7MHo6mYLvHjdyppOwI+uwsUO5CNwIjnKgQKPWKBtk0ELjvpscZcRSQ3bWzkJLuph+kOPil8Iog7LE6ZINqPdXYHdE10a32QgCdNCU83PvmZB/fxezYTm9FwpO4OHY6c389Tf+Avfzi2vSU1gVnyaG3SqMgup9pYjyxkrYnsKbcxjqtm66llFBqMqkxUFuLMRV0QUztHODYiDVrYUbETv4N9ftS6o32vu9seHf5+MX/cVwuWLvFZi60o5aTbp//ie7sGRTggfd2jfzVR+Z1TA6Mq8QAaBdFOg+Yw6rp2pGM/RmQNlx69goAmV5ssSdIpVjjz2UXfoNE4rUiEHRD6TsIj7WHnRnNQWrTr2Y8VPohFtg4n+L8bfvqVsamWzomuayqYxoyH0ycgGCbbQ9fBK2ZCNvsQo6pbYCIuuQAkixHM73Q5UZiEuZNRiIHaU3vdEAHpxlo5QemAcZ2mhNq1sxBW/VxhORECoN862TDXma4i1OjQL3FDx4kVGTdebDLpXUH12LnJlbVX2vVuSScYAetMVNJR4h+IDvitTpUbL+FgwC4WRg+lhBdEHQczmZWN81Dna0eiOn+4qsP7STwMCnAWzq1PqI4Sz+LkFbMZMBMz7ftiprKyOQ1jD+vS5vA2UHIXBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBAQBAQBQUAQEAQEAUFAEBAEBAFBQBA4mQj8X33C1WZd1V9aAAAAAElFTkSuQmCC",originalColor:"#2A629B",secondaryColor:"#4AA366",borderRadius:3};const SaoMartinhoTheme={logoSmallUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAABdWlDQ1BrQ0dDb2xvclNwYWNlRGlzcGxheVAzAAAokXWQvUvDUBTFT6tS0DqIDh0cMolD1NIKdnFoKxRFMFQFq1OafgltfCQpUnETVyn4H1jBWXCwiFRwcXAQRAcR3Zw6KbhoeN6XVNoi3sfl/Ticc7lcwBtQGSv2AijplpFMxKS11Lrke4OHnlOqZrKooiwK/v276/PR9d5PiFlNu3YQ2U9cl84ul3aeAlN//V3Vn8maGv3f1EGNGRbgkYmVbYsJ3iUeMWgp4qrgvMvHgtMunzuelWSc+JZY0gpqhrhJLKc79HwHl4plrbWD2N6f1VeXxRzqUcxhEyYYilBRgQQF4X/8044/ji1yV2BQLo8CLMpESRETssTz0KFhEjJxCEHqkLhz634PrfvJbW3vFZhtcM4v2tpCAzidoZPV29p4BBgaAG7qTDVUR+qh9uZywPsJMJgChu8os2HmwiF3e38M6Hvh/GMM8B0CdpXzryPO7RqFn4Er/QcXKWq8UwZBywAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAABAKADAAQAAAABAAABAAAAAABEIjhzAABAAElEQVR4Aey9WY9dWXbnt88+w703Rk5BJpmsVIqVGrpoldBmd8OCbIAPjYarAQl+YT8YaEMPhvpJ38BGx1cw/KYHowE/uWm7AeuhYQENsG1IstGgZFUXq0vVWVlUJpNTzHHnM+zj33+fCE5xgzHwRsSJ5NmZl/fGHc7Ze+211l7zMqYZDQQaCDQQaCDQQKCBQAOBBgINBBoINBBoINBAoIFAA4EGAg0EGgg0EGgg0ECggUADgQYCDQQaCDQQaCDQQKCBQAOBBgINBBoINBBoINBAoIFAA4EGAg0EGgg0EGgg0ECggUADgQYCDQQaCDQQaCDQQKCBQAOBBgINBBoINBBoINBAoIFAA4EGAg0EGgg0EGgg0ECggUADgQYCDQQaCDQQaCDQQKCBQAOBBgINBBoINBBoINBAoIFAA4EGAg0EGgg0EGgg0ECggUADgQYCDQQaCDQQaCDQQKCBQAOBBgINBBoINBBoINBAoIFAA4EGAg0EGgg0EGgg0ECggUADgQYCDQQaCDQQaCDQQKCBQAOBBgINBBoINBBoINBAoIFAA4EGAg0EGgg0EGgg0ECggUADgQYCDQQaCDQQaCDQQKCBQAOBBgINBBoINBBoINBAoIFAA4EGAg0EGgg0EGgg0ECggUADgQYCDQQaCDQQaCDQQKCBQAOBBgINBL4jEAi+I+s42jLumfB3/97vztgw/15oo5midIumyH/dlOF/a8ry101g5o52wVP+dmnyIDBbJQ/jXwfflsb8qzwd/u9/8d/99bcHzWbmN37/Rtxu/74Ngt8vy/IG34/L0lzmWpf0+qDfn+XnIGyf+3/pguBfsP4vozDYKgvTM8Hol5v/32bPmAf5W/P7/A/ai3PDT21U/pe8/6lzZpH9XQqc+R1gtsR7rbe+X7s/ynFQmufOBP9Wz4FxYxMEa5s/uf8/TGOqdhoXaa7RQKCBwPmEwMfJAO4ZMypHNrA2LIsy5gSJ4aphaUrL6VD/ESCnGM6w0hSSAEpnisCVzsaWQ+29Q6sLytLpYfmtf5RlAB5wnp6PwdKZecCaLY9Qj4BHrAN97/rzfrVeU0asMWL11TNwECzqv2TO/SDQ5uTaa2NsFpQ2m9a8AcbHN+7+9G4wXhiHReZmgew8hD8fOjMbGFAJQtiLRXWDEcRvyjGPXhkEY+bsn1MT8f5+415obptQn5ahSYy1SenKNuvvwE7AgwDi4L/6Lr7YWRkam0mhiVHhTJ8F9yNXjlZzmOGk4UbQSxJB9x1WN8f6UO/KDssU7p8DBsBsYfRBEAzYqy5zHpWhlRo0lfFRMoAVs2IXBgudpB3c4PRbQg9eNLa84QrTAci1l4qg0hzUXQcDHjPZPgiyCmKvz4bubf33NYrYG3dGLZtcbbt0YAdFsFjmxRWI6BP43XVQTMeMdH/PIF7/rDavWKK3ezieR6xdhP88c8G3SHHYQVq5af97GOLDvQzwYtuGheuUNrgZFOX3WRE2gGAWsYD3vARUm0VOmggcqmC9wzIonsK42e+yz7QbBjAJWId9b3xpHISDNHRFS4iABGDmhRSIhyKA2p8KEKtjkmPIFqOXPxWQANx4bJO9BOCBci/IRpz5rTQqTIiwk8WBLVswP52EnWrJsD6AcFgYnvb3mJlXeXjOYdiZy4PheJANxuvZwCQtZx4/lATAct4ZOTa0eCZERZphfXMscI7fIw2gPACAd75d1z8L9nwAu+qywL4J3XBaE/0oJYCb63ngwjAM2mXC4dcGmO0gcEkpbRLaAtjTgu/JXAcMZorSB0eg/NAEFjnXZOFY+DF55G2DpuwS50rZOrTuCElC0s6OxFPnNbO6EvlMp6HsHpIGQpubViszcyGnf1Kax3uIv1pXNrCljaIgSmQkgOmVLWCHtOPXPhlY9Xh3dy/F1MFMmzLnMYarEaYrpJ3pjI+SAYy3rgetq0aEMIvoP89JICkAGwDvoVTXnf6ZH6Kw1/37nGRdiYVIL2k/2EcCuPOVzbLPWu2sNYsdKbYOacfIDsB/u2g2HXw6masgpsHyhmwMRIDLryyHsOoc/leaNoa/+RvvrsKa2/ci01/BqGtbLooSbIYweSuXX8szQM/4vNRzMnP+sKtqPSJ8PefMV4a/IbrAwNoClc8JDlMZHyUD6N9AjSpmO5EpbxoX3IKYFjkNF0CHDkxg50ScCnxP6iISg9dL4x5L/2f+fWOD9SzMJtsAnt2Ig8v2kkuyz/B6zLDCJdZ9id/W2uf/Cni7sQ7O9GDPW+j9T4os7ZuySM3DP95d8y4TCET8NxcW5tK5xXg4ShdDN74Io7wMH7nCNRdQBWB8pTw/dRV7cPub1Es76P9Ia11XlC+yPPzWRnbbJHP7qHqvIHboFx8lAyj6RWBaWVQG8QwYMA+jRQIIZjhXK0v4ocF3Vl+UDaBMnXEYg0AOUw45L8az8exkxLgyDiKXJJyZsoDP8us5ThWJwlzmrNZw+PtCpmguEAKMzjM7LwGgAkSj3VPy7YuNe0HqFuPcFQmMMimxfgQub8Hg20h4qHwsuu7G3krV8W5eFpcCgNEoywYjiw1gtPH2ej/gr/Nw2n3A8vb8VBw/uDDIA1tYGfwqvdAEiIZlDD3Yuh4Jb65EEjGneFaG0Qib3tDErVEZJHlr+9lkci4WoXkbO+fauNA6iJAQAm4wqOnN69b2NdwKJpCy5hHRGiPO7xRHaGFWkeb3jsCM5theGTyDmIjBGGNpBOFrvdpz4XyN8Z6dqcT/HeIPcjYJmwcens4gNz9g3XpMaXxMEkBwd/lu2H3aDdzMKIbkY4t7CDEQK3gp0R+fuAxDNdULOatBDY/w0K184WMbuj6hrT2se7g1ivTJWjSJIPAX9Kxrz7ZsGGLvcAvwuXnMajJ+1pgQ3sJwx9qRdsouEOiy9r4CgIxtT1jvvQBHX4jNfDawacc6N8/e4uER8ddW5H9jsTJ4mgIsHOzaPOB+AyS8wkQ6r6Y7PhoGcO9fGruyYtoXr5twNGrPmXGI3u+uAuzr0PwiPnEhiIxE9SMKtl1iMIY+nQr8wSkY2HXroidBFD7ptDtFf7s//PL5l7v68FtYMh+10fXDS64MfgXj92UugTusvARhTB+j3rrzdP5gvsp9eAoTeMYVt6w1L9IclaDd26vyYPCcc7c6WTG8GTh7gTUuYiu5iTUQZg+DF3+v8whgbyYYEvv3rZid1gtL+BY1r2fcIDP3/3Rqp7/AUD9kP5nNCVaI/ouiLs6/JMSNgg8wjwGwouCw/stHrBOxpq6h16e/WIEQBEZQjjkU+i51vZTonoXOQmrue8vxHgiWeWQtMgBMjngHBcLwXFdmt2f2/g1MACXW75LTn4e8HhknYgtTxrtjdCtwoyLCXTYDjJB0eATBDF/ksDsHEoBisqT/IwHAq0hyCvQYvEfleRcCR/r7Y2EARtF/In4C59ELsX6HAfIyeqFcf4iHIIhgUefjQaedTvjqoYCYoMxZTW5mTP6y9XLvaciX/ShzZAfy4RD7ISKYHs/YPPiszuvdmXy1AiZK+C+uQMsDe4CNIZJ9RlmEFp2hVdk7ZPMg409Wk/MyJO1h5GWdRD2WI0wC2D/eF+Z9/IV9HCrAsgkWFhbC4VY+a4OohU15ntwZ+cJF+LUnAnRBjxAQL75wj/i4wOw4LsKi1V50XlBcB8XBmndQwa+tbEdkCZUtzhbFOigSDmkgIHpGJ+K7P3nnCnX4E4JgrgNoWJGPPYyYA2aPDeCrvZPHA4BkQECXnUGem2PNc0g+SHgEQHGROizngDlIScnZ8AHSi1QAHvj/i5y4h0k2jwOudsDHHwUDuGvu2vH2uGM7lnxwjGCmXMTe/ynYMwMJ1J4JME+d+psgwgqGAJJ/zHPodn3DDId/tf7nVWbYP+ed5bd2OzD37vlTz/3UoPeYS6z1M4jgU56173IJnov9h4jJfQieQBm/IABoK3LRcDPNhubRLejk4VuLNoMojDpuhmTHTyH3z/hwEYYne4fUPHkB6j5gdkg5sgEY8y3zxgYQrIxjXL2TbB4fuJpzgQAfuEYjy3/rRhY5N4cuWEj/nYcQdCpILJY3vN5DWqHcYMSBQwwYANGBCQtN8qSA6CECxrL/981/ArOy4ldWhvNhUHYU/iu9GMJHkA6IBDw/NiBHMs+gKJOeDaOea+Vjs5qhAtzfKwGwKGSDMIhZKzEegA4vAK8Jga79PjNhmDP8SlIeNg9kO5hel3n3g/1sHvzmQ8ZHwQBGN+Q6nrFx4NAFyQAwEoHLFlZxiuKcB7QAJfwpaMagBzphoFTgPMyGEwmgQgjcYU96/sQr4yQqI0ecg1Wgk4yfSJdau6TN2g6tbXd9BVPNLUlAZPBkoUuI/0cYev3560UQ9ISGYzEW4tEh6Ef7zV6zzzA91lvrJWsZ7LWPA7Bj1DSKVmAHkNQXohW0/nYXHq/X+4GvPgoGIBhFEdl/ZVunPhIAJwMSANh/HkRC9t/rwCnz7aPXov8r9NeMx3NxdfrvRQJrbprkwty1lsv6tgiiDrHP6Pwy/OFB90yvph6Pai0gugJgSHsWkZcQgHNjWFYa2TBNbJlN8ABUzGwM8YcuInkGac8h7cjluSv+wwbqPuBWTDJnd4bgaA+5hdwHM7Rjkp5+opSV6Y6PggEsbC2E5qrpWFt+SmTYp+DUIqL0EhJAh+Oi9qKhdGCyFNc4wX5pHXUAbbAJUazP9woRyN5BLDwWzkUb9C9x3iemyK4TTHIF1JLfjMAnyMsnPdX0OJQVvCwx+oH8Ph++XEUm3uj1nm92t9JtM7vkzKP7FXOoVh+YO38YESIbmIy6BwQ8QTzX0XR+BWZHHICiPOX9ENOrOw9AdqHmASEL+P6DX2LM3IqdHW4kfSSBB/sx/AoKx/j3o2AA5nsou1mGFTj0vmHgNA/qewPgMWB26j9BYlf+f+pPf2L/0Wf6SPDjkSEPftLAEo53IAbbdQoi/kr3VxacN/5VUg9cpbZDCk9l+FPaq4KARuwfyTEUxHz8YDcT7u21i/jlAUD89zkdNkDCw96hCkA+CvAcRQLuSADO2V5pw56LSAXeQAKQNDTl8XEwAAENtKH6H94//uOEQQrmUPHIlQFVHQt6iDjqd0QgpjCrjFOfUwDR0JEHC4FEnc1DIQQMAJWfEholRUT8NfzJz1phJVyUa2rwvPuyeuPs/mWmvt4Bvn9jMh5pEKL3xzMi+rcJ/91J+vCOEEFP1ZEwnWEz4Fo7DIUv68rV8B6Sd39+hn9X6yISsMLNMsNIg8pj0yRwk1SeqUz1o2AASpJxs1dTSGDThBax34zhA4W1wVp12AQtsILAoFL6omCyiyRTAfIULgJyBGMsW+iDwbbP/+c0XAv3kQCIkBsVad6yMely1MIpyj4ptOuolwqlVTkx1qiyWIb6AD4YSlMU86sJUfhwWLFsZTuO4XJ9aIBY+InJP5o7cZwXd5kh+1pSKCB4wSYu8vsuzLJlg1JlzxXqLZUPUPK6LhmBiGmwYgy8PKPvs08jypymlkWL+FtFG6Pno931+eVO65+PggEY83k+ygbbbWt/UpTlNwB4NgwsueGQhwmuoBCjMits1P6qngHuLlzqwQg47Yls28Bp+bcuL5+HkaUyTLk+eEx22KTxyBQzv5H3bKflXEoATGSGVAr4a29e8jpxMAula608VBzEGwRlNcc16F9PuuqpvQfQFeW4xg1/yXxU9GS1CIn9X/Ppv5PncWvDebfnejJOy/mXbRP/GRTzJT61eYjrIhz0t8khuIgEpJDvFu+pHoIYwlkzPU/8zHWddarm/xZzfllE5UZ3NNzaclHXtHFcPXzYqACTd/7gdx88elDSCARSsJsxVmSCgcgrp8pyYdZguVQCRrwWK9DpKJGAF/UasgG4MfPucTJsUyAyy20yXhwTBThx3C9Xx3+QXcyTkYMPpCqJE43XkYTJFw5UVGMBT/MlXoNwVZgs79UpMUjrSjkQ+6gvRMIhwTjy//ePhKtOxyWqA405RQeS8AKCpaiZQNVn3IfETgS/KgmArfX6FP/uA7uJAD3ZN1moiJ+5KdKTEm/BKJDNg2PL/OxfV4FezPskJrF70p3EtetzzdvkkdquuxpeHRUU/iMzhrnZXl64LgDXKQAfkD6sv8k4LxUkI++AKuXy/GroO6c0Kr3VbzrEib3CohM6YuCpB0cOQJzlRXJjX7cQ2f4vyrB93VH5rwzSNEefHFIKbBtJAgs7gmZAZGFQqrMQEbbKlZfuqT92pB8Zzqr8+VNa8Fu3kWECmwe1DlXshLY/FHBwJkJjO2g8Wynt3PU8TKQ+hH5dcoFi8dmCiSr8WTYBnaZKExY32FV9RAunt7+766iADjNCz/eWqh27RxiT7ET91hMi/N3bfxwMgNXOhrMUVXHjEDd4SoEVMy4SROmnZeEIuyyJG6dUdhG0sR6hNyozELtAWV4VgwBpQJLSgpUU0jwVJIESvZFS6b+izJS5pGFmx4XNfQRgEKX5gx882J8gFr/nkkumKMZZkJEuGPXoHZCbdU5CVQ+ivhy5EIElQrCcY12KClyCLaAO+de870ukK3HoDQa4izYn/ixX2NhY1+N5G429F4yQ1yIVMT5g8B07M8rLcatHjQRZQFJdLLTlV4j/m6y1w/rJh/DSnuIEEq2Zfb3k4fA6aUj84TSG1gSDJ7YDvz+vFf3XZ/eJZ5x+7P+7CzqtRb5739P/m36Av/M7v5Nsb29zhI7tpeSSKsUsJjaJYQwJyDJH1NXnGMxxHeEvL801joP/Qs9sDgVDSirqqG6Ar6N3wnAT8XPyBeUApKB+mSEu3P6vFPP+3wDct62LrbKbdouH/+y9eiE/q3IB+E1oPs9mZi7bDjZxch+yuG3bMLrwApdXbbwFCOU2/pHbes09FStAzgD5EtXr092vwPc5eADj/bcQ52pIHfzMjP7fXvz1Brrwrki835yICbgTXSh+a7YIxxGOQ47RMmmbTHaAhJjiNhztkrPBD9lf1CC5CakX6Nzf0zN/S/oDdmL63P3kB8wdVdSWD7ntGji4xRy+cWnwf3R77hvz5P7USoBPWspHIwGQK1/8hfmLXR+yMReNvXvjbr9rusTHblE0enG2mG0RbmpnIYB5MgbHZZGrAs0F0EFwgvZ9Vp449mkghk5/9GAvCaDZujRNi/Th6OGYM9GYf86n/4zH/oPP7svVqVGYx/eKQdSrkImEmdHF7a2Z9uwLMQRbFhetiRcolHAVAxQGOCMj4SWufjZ6Mvdl3WMi+nDsY/MIi6EdRbn58b4qT7XK6l9vMNu8O98zXTQ6KXhbV+0wjDdN1iIcOG8l7ejKTB5cQJYbwODE1AkRQs2oMi2B22ls76sps1T2x9HsQ9WOqu4/fZASiQcnzQmPj4cBCJAwgTfgWTwwD6rTpOoWXCah66IrF2WaQwVuGy8RHXjLBZCQWHTT4SRRIxHZBrRpciKcTBSh0kGEFEFAOWhEVZ5Jb8mTdPy+5J83ljbpJczgy1frJwzqR8XMhQuZi4iyxTxKyvkWvnMetAyR1FEGNBtRWSoEcM1GPfXKUzsVuSNFDGQYwyXm6+DLo3n4UZoHD97xkCxXe/3543E4zpKwk22jW0n813aqYEgXRqDAIeEIUpJKxUn9AQrV2H3e+XNaT9y5tLonMQ92COMdgmcpBVx57/G0brLvdT4uBrAfGDASji6MingAlnHQiNr5fx2yeMyZr+AbIgcDVZcBIQK5CZVQI0ageoISFac9hOyKgqMajM8C7OH7H9Pd4ihE8P45vWEjKNZgec5Satb5MlQQvPLoSaTBDuBFZCSgEtXAl9R+5SJ9//WP+qm3P3JHBoSIN4ZaR7nUINqAFS7dHKkxCFb+Dx2PX+DsvZCRK0BMiPgaYbfEDOE1eIyURRUeqgexrwQK3NAzt9tVBaBNsYtpD7AKZo8Qwr2xeVAFiL0ejCKYwmFsHh84nZNA3g+c0hn8/AH+sc4z9+vXf5D2tkb9ctzbbnXaa+kwf0L66U+QSH+KfvyEwCElEHGyULOtIlAxAJgoKDvdIffcM6SPX3ISv+D6T8H8n5Eb88uv/83zwVRu9exh2f35Ldf/RZ4Pnm2NoxvJVhCGT4qi/DlNxB6Dlasg4xoegq+591NWiHqK2Ox1ZD+Dqa5ZRMCaFaQEkwuIAQj+kuYH/w9Vvb8m/mErbS31zLP/WSflMccDlqHHly678r3MpvE2XO9FVrinLrdPaZX6EmHnb/DH/UecRM+5/2W4A14gRjUn0YqYwFQHhM/JX65w5Pw5N/qKez/jNitm3H+W/sfnHD7Ppsf0J8y8kQB2gYJ68KfmT3XaG7roBje2b4x++9L303GeJ+PMzYXED3AiyIouSYAvsW3E2PG3/pjy8LYG+YV9BRxuge8+GA+LfbP/jnN/5v3KRuB69g83zVraNbTTNq1kfi4ezYRRQOUkX2/oIuu9yQ/eEauPc9uJv+HSwBHVB0bDayDrynGeRv10MyfzEWv4CwJ9+GDir4/2Zmm+/Ndp7/a9LZ870C0is9QeLOStlgtLOm5gEC2wu9CBB7cPXXlgSFDnzr11/6kyPr9uIlLwMQ0wMfU4TnqoJgP6GcHsDmXzONrq3/l2wwDeBMiujeC+Mb/7L3+3XFlZsVGrhdeQ6MyRyjOVqtCKlRYcwJ2OvQAxnRoD+rt6a0o2Aa9146/GMKWGGDxzPuZhSvzSyQwMZ38sHbnSk2/fC0MbI4o6mRtFeAjLisgzkj5wkYpapRZUxlH+/vBRxSH4QCxASTos6cARCTCzHRqAQAgv/sdprr0km3DHIHwvNxfGNpoxPSxx1FllX6N4G9aOTUBBSAoVoJei1D6v7jG76Q7QSYFeJXX/CPcmJJgbpiZR3oNMEyc7pi7SnOx0T+/q9+/fN0tLS1RiywvbtWrC0XNF8cwF7jEdeR6zM094kJZLxpbq1SkGDQPilGZIvI5PX6INtmrhUx2G/lZ0ADlRcfDV3DcwhcTFIIjtGqFPK+Thv+RsJqGC0ty05GZuKkkm4pjOehGxISt5PEgBxviI2w8TC+2MuP7s50TtyzvHHU9kUFWoNXJx0R6Gpj2wQadnCuwhtvyGff6KjfgljA83LMwvwDRXMcRp7INg5x/AVXEeIyzPfcq89qPCjTbE8k9hNBLAfkBWie17EOGKCZ6tPcs+ufGJ4tP/T4oJw5ZzjqTyM1w3hM/yTNtp8FMOp6Xq+cMiBnUCIgqvc+4+DklYQieXKrB+wfRPSgR/GwpP2+NyJvp23Eo3iE8Lw1ilxIMeRoB11qf8+nle/wD7xN+BKmUU/bAhTwf5/pyCL7EzqNrRc1vmazYj4/lvlnfXfEIMgH3+8eLoxQ9fvDRUjef4T1pxsN4pcfoE5QWYnRKKbsKj/rGemYQMgxIDdh/HWbvcnBmqHc+S8EzPBeHzzIXfUrlmiz6muQlx95qH02A0751fwwD2B095/5/c390A17rX6tv/1D4lAI/DkaChiFw7CnOwkRiLJCIzHNojWPyhmMo1CUhEFCQWnmOA7r9uQHPIdGDau/PZf9ZT+eR+sf537/XNT/GAyAyWReM5m7/gRL6MtRxmVBJFYSEGnYgfulo/YS6izr86+Ynb9890O6pKf5/CmrGF/PheZf8xvfH4N9sl0ULfkIAkw8Ni5AUUavMTI8E8NR9Jzlq433a/gqP9g61DIdlY/zF8cqHMZcFwNKD330bGNpPj8eVDSQBTAe77ptYwgPdB5/UGlI9uP8rvju8OFTiEdBbMJ/5UJm7AbAt72SokV4Q4PesvDb06zqiuhj4sYlDoLs+xyZIFQtlPa9z3BsJKDP2N3x+H0UyfDERsAuJvhBDLbVXFrld2g8pddiyVEiDBVyQFlFVCTMCzs1kw2ifd+URgsGsQvadppHFCIhLTIgMpIIdC9h/FRBBI5d2+aiOvtWp/j7rH2kNhiSQbwVelz3BLwkzbnczMcvrPo/J8uYNDfOEkR8MAjgDdJaqI6euEEuc2x2ccOenC1BEgmozYQsLJlnhWEwqhBfsKshwNPfRL0IO4d1XBUXx4UHZD9GHKYqRPk/c0//A/PKF/urTauFaoLv86KDuC0eH/sGusc4P54baWPbQkZkCptsdylWndcn1K1aHaEW3ATZEG1D05oRW957LYBOZ+r4jykEjEiAhp6vEQFEazPuoLlMRGUFG6aiN/lcntqgPvud67H2lJBJvBTEARGSLpc8DrkGxHR5HXebrVL/3g1NbdMIB392e/v5eNu7/s69DhJbzt2q320/mi/W9II1yAndN+1/wK0uElzOPqM6AcewUKeYv5fpd89b7HCXRR0tZ2mIcwf93m8TcYn5/ESauwie1/+X//uU6N0x/YBMxM8iRtpeuyCaD7XKH3ToKVnIQic4X1t1mreixeZ91a81EHmX9mg+t8Dfw2gcMW112P8vaudHHU633I95152B4/v9N/CRuiBWnWnptpE6HX+r9gdddQ2rEJkCRWlr+rZ4hZtp/DDxmKRfD0OcTrqdRsshSDpy5LyV7E5vRguZK6uPjhL3r8bx5LZDv+7c75L2EChscj8yjnrKJja/Hc5uXXaHEEy7jncHL56YS0bPLRPAI+nkCCIf/xWqG4YyoA9Knn3bVbtj9cH6bmX3L/MxmyCaR9MHR9GJsVl7lVJP51zn2iB6myFATbzFupu8eaHzDT/2OQkchHMrd5hgrSDTlYzmSgDsAEzN+0BrQa7xW9aBtCfYG3/pkezHaVvVbZ7qOvVxoUuj9SxFDG3VIPtTxTvYNV5QEJFv5xKitvJIDjgHmZgIA/2iqu/tqv9cf5WB1H0GLzzaxI1b2Hk0zGnTJBOuZkVKTgAQPK4RsyMKWcfPKISxxOowX6W3c6Wftiu/zexveKB8GDAy50gh+/YROIb98bhqHbBJdfMk/ZPdR09BJ310m+QxSgNZzhkDPyRk++zIloKXlGOCxFTyn9fXQCO+QND/7ajk3g2h36L3w2ispYqcTaHWoU0lbeSl3BLsASWb8OUplL9XzA4OxX1COqDr+XK7ULz+9jRib99z0lzw646nE/Phg5j3vl7/jvbl6+WQzD4TBqRWk2yAggKV4SKvwTCEDi6wJ4cQEbEuLiIWLn/YmgAhbk+fnkH9JhC9Mtulna3sQo9Awf2Q+mFgn3wTuzHW6NL+aXn7DOv8RXTvYknhBbyPZxHSIWIQjLhVt6HIYJQBDU7gtK2VReQgzDMiu2geSuOPzBcz72BR7ecr3bZtAO7TeFdauofPOUHB3z/DWZo/RcVDqx77uo1GKpAwcwAdi7Mh0JtWbNuD1ZJa/DIBubpHvqDK9hAMfDjPLB8oMCkXyIqyy41ruWf/+TGy8i13pko+AFuh396Ay9B4O/C5dXi6r3Dx9AJAbg6+DR2kYx+OU2LT1G9//7+2ehB79/vj9Ox+63gm9sEm0GuEVpw3EdsxY2AGoKVE04MAqqA7EvpHIgA+AUzRGitgnCe44f/inFfwi8am+ba0QBPnn/VE7+UySBR/eGq78z/hr2rHyAObqs5FhlvobwVT1K6cQqqqLy47Rfe/+MpDagKFHTETXClc/EADg4VocjJB71Ozjl0TCA4wO8NP+kOqGuLF+xyqslTk8lt0jZUweKUtlzh9tQaf5VIgzBHwQdYxFHfcjp46XfH4BSx1/A8X/5oFi6+UeDze0+4boEzqepiF31+2BW3r+taR9+3kp/puQZtdpGuNyGNm7ldDQi//+bw1/j+Is5xC9hAn8hFyDjh/+IsP1FGe8w2ROq7SsO+FBhpBWt40B+p6/I7TnmQYw5bl4kAgrSsNenn5vXMIBDbP9BX2k/JXDk87wI4ha96wuJ8viPLG6zUlFtqkHHE6KhTyGecDVlF3m/MDH/iv0HsTCwZWEiV3t9RxC3fQlhciMLW6aqYIQKI6Mg+XuV/q8Y+skiMbmvfK9ikCTd8DonGzEn+zK3LXKyzSyfrdRv8autMriE6Vd5AqqrqJ3zVE/IADrMISYsJoHmpFgHMRAVLOW1Sry3Tj755935NQzgXYgc4++HGw/d3Ru3h2SuPKXq8AZC3kKGIZ9SO2vsNnUEPZ3IT05psQkEIY8BIj+49BzkUHubNXLBurlrn70OPBke5c3h5cJ0yNrtzJr17rifx6QMl8FPQWxSW+nEWprP+amK2k3AMU/8Yo74wfVahVjCblbE24ELCTaac5ur3/L5g4pBTJ7D2bw7kxeFzbqJS37Ofm3AumXn+RRm8DnPkvpkA9l/8CP4PTYES7p18JQ8iy1e9+Lt3tj8hKLNpzwmbM4pz+C7cDuyCB+YR8Mf/oMffjvoD8LZyM53wgUKa4YYeny5bXrTgepVwc29JyKnH4ikzLvnYIA8CVsgxjZ1Ic/G73+IPXlQ+as9g7rw+X/VsxfjpxDBz3iAxSV1AyimUZobXGqvDaSSeCBw7/bjGsEW1Zq3i2yz2//ZpuDA8MRfPwbw5VzevmW6bqH4G877bwnZWoSl9zAI/mcwNAUH7cYFaMsnDMX/4+WxxWpRhs+IANwKw/F4I4/PhOE1DGDCFh3rLZjAj2//2OuJd6Jb8g4RO66MPpNh8dUlFd03eUh0FBNQK2gq9iINUKUmyCKcT5N/UIt3X81tk9z1y0WI2oIhT/YP1B2YALH1nO6TBh/yNic/MPHiP25TngMXY0N4UFumVy3ldrkx94v8ap52M4yBmC9I1PS1/AjplQrwCiyTVs572mufNTK2RTkiz4Bqh1Fq2puC1UE/3ueax39772l0/Gs1v9yBwNaIMnoQNH/i48XN4/29sgfsQxCciDCMKv+fttBoCSOYwaF7/5054GnZhVU7xcjRB6GoI0BZa9VKqAJlhNTvIrb+Bj7eiIbdhGdafvOTd7935kvbO4FlY1Y3yzAO89DExARExPH7Wv4jaJu1eBuOpJs3mR/r8vggIym/wS6kqE/iDC0JTzbO0f/VuPn0RyMBTBPm/7xC9MU/XszDTaziJvg5G74GUrC7/FsSLFPVqX37rj5qkAi4QLkFwQp0M7Ch3R705upqA3h7/uMencfm1ui5gFvMKYPnE1xbvwa/U2RklS6syspVUVFBgpqrinkon8Po1KfgJQxz27Z8B9y3r12/v4h2uJ6Fo42uC9sy+ubUDVrFFYoNhF6LJXaAKi6AEGmpAxL/lDVJ4I+P8Qjw+9OQxbpuYbIeMd59qkwW5gEPvnzay20YwDQhLhJnjJZHeRJFvSgOv+QgeAHxXwILaDxR3pp8O386YAArXyAjPNNpSkxgd2RGQpz6jy//dbZx5w9XzajomWxg4zjod1z+knXgEfH5/bvKjyROQUnIvo3c8wyiUbzvGorDdlAU54HhqXpS/uTu8rbpPkWJCdOZIr2QFBkGXM8AaMTqGb6iIykeizUHaQd9R1F/kgyoNE0a+dh0h6OgO/yJIgo1diIPqz9O7d+GAZwAqNvX26VbjdAJMRZ5sZ/G5H7z91MBpBeqnTW6P408saRnRBhm7SUZ0c/FIBj4Rmq21ihcRus1apch4r5WAXQIvn24SSAibNipZ5/sJtg8WH9Ya5vHmxtB2fHlijn/8B8h0i+mUmPgbSoWi+vTFxNFENL2+bXzwksBqADKFcHeEea58XX/zobwdxdznhlAYO4uh54Ljygm05+1l669SNyY5g+MaNYVq39Gg0V1wXpVTvqUgP0QLPicvpRlrKwv6ltIL/TGQPiB9/lrikqircxhQojSZuQT5JwXqhSTp0Sbzj/b1y9szed/kFy8nLRcStg8jfCi4XqxStquL6CphhKXExJa/lhIehpM5PU9VL8vfOnDXUF9RTfqhFfBFOx8UgPQfFk1/6vfwYgXGD2xAWj9PWkMEwfdfn6v47Pzdj9+s1W4Wp3+xYoMiG9KEPtda/cK03lWXMDFneQeL/GofwInf2Xg1O6zVJ8Y5pkEcFDhkdSo959PHJ3ONI57lfPKAECIP4wWVh7No4dFLg+jeG6zkw0uXKWWZAduXJJKNrj0nwyfZhvtQdSSQc0UK4R0noaopbiA3/3+b4xMtPgEVE/IIOM0DNdAhiHoQMQbXICMek56ISyIWvosuChMNqPAbrQC+FiZDKlS/KYh6fUeQ/yLc8NPqRH0KcjVLomaS6NOd+4TDHBiIkkfkXNru2vuYoA8Jav6XTT5B5f9HO36+hgP5gYc8BsIXKceunBwjZUqMCiEEXjpCBvJS5jjOnHD3TwOutudfWwAt+/FV7LW9/J2PgPESLOWk4HaITwrYTfsudHanaVnZutHI3MThq8uwfd9NaeTZwLE74d5e0g2wLdwOO3XIqreNWb4fZ7VZk0mXgp+mhWelScio/BKkcEE1n32n4fZWf1zfhnAs2fx7LX5+awo20VMTrZ63RXlb0JoBGZwnoRmvTBJbi+b9RBHqxK7SeRPzSNvnT1ZxKCe4Ogfzo3a2fyTnIa+QZbnMIF1EuUUOkrmEG4geBSnQQZ+qCCmTsmtXuA2ioWMFNuxuXXxliPUeDIDsP1WUQSfRmHw28o74JpUky1fQlkkJNlxWIa6j+neHA+IpT+dU3F5WTD19wq/+NE4aM+tIe5Qz6AkZNbMMh1ac/vee62d01GdeF6gL68gsg3og9FFc35zrq9pImzHZMt+BlFdwufG6QpbIffICxVFiZu12LqEzcVei92cuZbNms9J2aawh2eury9zIq+I30fMGiYhhUPLckhOg/ZDRk55N1TclSfalRfK8ygUFwIDoAegKcYmpvTXGY9zygCWjbnyi6DI0qiwKpaf09XL0tmXBFpDFp4/YMucELwkJ0jfwaPpLV2Y8SZ4eCqjfPjsYfF7139vGG6HQYqth+gP1BF/QlRioZBToiE+YWbEs8UPXmY0/NSJaR7y335jcTbG41a0wS4xu4sgncJJh2xmj9eAgMvJweSunNZ6NVURnB+2NaeGpqp0qzLiSpvlT1/9pkJ4Vs77GSckoc9k/lkzypQPv7KPzWO8ZV2nM8MJOsd1pGPzez0UUg9c1T1pXERl3qJQUz8Y99ZOb92PviqDL24VZexj+qXDoALQy9AbOjVH1DzP8DGGqmYCsR6sg9BfUkZOofOP35D3/HNOGcCj4NKgF+atSy1b5J3ShZRwDWdJqEABDRY8arALdIK9TrMHOn6mNJYKR53ZuSj6zf9mFLZtEc0SivVnf40+9lbxRW3W1Iby+HWxojcAU2FFXm71OiCHI8c8iAAe8xoDElzM5u8tgQVSV91+i8EQmSfpcA0IgopEuBb5cFy6ggKTGA9yM8zKDPCERTj/+0MV16TK/3hT0WbISX6BP+C5yvGf2np3LxSQBlG4WdkfgK8kABvDoMTYduGruAff+w9tiN5/dmxzPImRIqcnjGKeszRTRCFdm6m+LBaqQp1QEj/AmEjPtKi4jieh06WU12D168x89l/3DBqgieedSS478/hfKCjrBE5cKoRFNFYLItVwgLhVHVoxEMpz0PTgdl41KJUCLFsQkoEbj7H4GPOYP892nFMG8JVNza1WO8qugVwKO53DgEZ/+/A3sSwvsRFhGAQDwsxuYCEjIo/AGvzqcZn90rSH2yiOI+K4enN/99ZXvZWkZ66lFGKEdzx4IOKYjIRH3adlrrNMgWf6aHRbeepoPAqiEicvC7FqwmEAsz44SPdUYY2uC8j9nzwCgx5Mv3hIeYSVMJnneL+BMvwbTPaaj6Irgy7tyzlt1c2mHFGX7Hnk7HPScsiwgyHM22/agfk6LEDAxBSdn5rhijkZm8jW0BWXOiQGBeEzcl+VHHURbxjp0Yr9J+pPp3ZZdF1OPnzo6DcQZEVku+YyrvHHewEwHw1o4R79CvT0GQRGuTWKklr1LVRxUi8G9MklvMVLApDcsHDx9vwF9zdu/tq2V4nC0Wjzxu+9NE//RAa4KTOBJRVtHF9xbi2n2zCnzoCcPpWJU7dhFTphr31U5Crzf8bfNGC1q9iFzyT9913onk8G8MVVW7TTNgf/VcTgq47CG2w0hFD8gAVe40FeNoUsTfBbbLdKLyNqunVqr/8VPHkdqbtLLYeXCQ0xoyvXsrkkpiDrJ+7LKv58OgwARkINQS/O//3lvz9KkmCbGpMyBFHrU7oupwEiIae3epGSGFJ281Zenc7v7hJfNu1RNB92MPgRQuKChciFN1jHr8NIbhJ4C44J0WRt1rEIcwnsCsS/4pmfLTcjY/8yKXC9JcVmWMZkGjK1O1+N0TT2u+feWRz2nUWy+fJom9NdyU104SW92ZSUUNcJqQhApcLardzRcIRyJzbuuN5Kf2yeeGlsz10cNl4qBH3G0n6N61FshVqLZXkRqcLXH0TcVmrtBjlXkqgGeBWe41BsucQ+5yDoAZvthYvt7e2nd2FAD6bMAGRsvJfSZ3C1CKI4z90QeeQy/Rzw+bPPLBpGQJRguIIv5Cksi+5SxP8H6dg8WpnyXPaA7sA3zicDYFmtgrKUzrUhnhk9wHpad1OxtcrIEmLwkg2QG8b74LFEB0ZWaSRuuaIw2CCauiy2DptZPqSX/PSH7m3iWZK/ijbGKgWCeL2XefGM3o5UoPpwuMFI/01VT3TSuCcWZnEMkHUrK3jGF0PKjfmTRpbmnVG9ABZqOKliFdAGv6ANNs+LdKHucB863ED8EdcZ3GLN+9sadq965OcXpAlfpqiH3HxyfFa6vm/75bcFymXPcmvz8VySjizsevPaVyr+8Wolb96zzMfk2nSUSYnKo4Z5ZRsjyGVYHfusSwUYU/3+qiTZgEfprFtQey9n1Xqb7Lsx66UD+JvXndJr2oxhkrxr0rybIwCgjkVIOGRygWhMi//h1EhCCgIaSg1wBSpPnJ458Wv955MB5LjXZ+YwdqFvcRoAYp0IsjLrPTZ5zz7zBuchjII1z7MbfN1SjCG/hoJY9rP2cLS+nZlr/3TDvPhLqEOVWXAlmem4kkLoFUSU3xvRV0xART8rBsCchaAwA/X+248BrBBTdiEqktkWgg22zaAFcivNeM9CtakaTF4XS/wXaPPNs9xTV2GJCTLEKMUrTaeBHNViBC9Bfhhl9MuTxMLPPnBEK6WNrhXAm4aqjj3xJzNSicRifP4QJDeh5D5KSmLLqEXcwp5c+GV+96iafgaeEurArJRqqwevmf+bQ/EFEu+DIILptKG9C6XDm1oIR/ht216ZvX2L1j+3UlhnsfFwBdVkeiqfTdqyREgIg+0S0Yi05ddJtSPYHUY/WLiD8FUIJAEPNk6n99+bIJr0+nwygHTewlFbiMFXIJzr8NlF0HanJpuYgB8giEcSseGYTaCEdfCrWNqvIkKqmsun6MacovkmZwTW23h9/lr5V+WNf7Aew56j+ahYeXAXnfHDkSRvt4soLfqI42q5DXPxQTB4/az0Y6z/wTbIsu0uyaM0YXzRCS/l7XmbF1BVFWsPUsv4J6TfO7yEE8wAE5bpTyL0ZhGHxS2g/nu2h3jw84tR+XNy2Xo2z1Nk9LX+7Xvrr5tm7r3sod+5/Ot4XLo9ql6s0jYhpqcixGFfMGcqJ0smkM2j3A7HNr0WXcw5L83jh3eBy4Nd5hN8/vnjZDtKktKlQdZ28/Bv2pOxz3rAAFgauOuZvRgBkj6uYDUrpSKTD751wR10LR35xOAHGyCBbEX0/AsG+TjYmvv+xS97v/gRLrm5HZh/SJDY/fLK4nLWTx8X6XCAuBLj/XC4c4NVGL0UtJfg3cssp7eAa23TAmC8TstZDpjd9R4atNP+4vlkAFdUQUkpaOESgP1UDABX0hxERFgWKCK8qMYugSj4JIQzJDABid9kcqEC+CKWiOHq7oOBLLbFWsYvyGnp29Sl5gs6tXwJAX3gSNMUGxfln8uSctLeGg7RW4xkvgaArOF9SupsD2kAPvFWgyg0SbZg4ugTZj/DKYKIQgpJ1aVm7090Ggbe9+51ZE5D6aJXYDS/yZcJQFKPPyIkojKhBNc6HWkHLQqQ9Td7ysWXoe7DxsMbRXn7ZX+cAOIMsEdDmiTQWqwIYAKQKEUwkcK2C/Tgh1W0ou73BjHcs9vXMly76Qy7QF0VM0dzDgjYXGR3KLqhDeZMrRi8fst61ZtALyE3knJ4cYGvqdKQJC6anJbzoMYaQUe+8IqbS1bNF6MRikNp2heJ7xdjfnMOutahh3t0f1nSkzG/8fvDRYRKzpx1FBH5/XXRl8SCvRzk7qXJV3umg63nyZLgrHue6TifDKCgEQ9CNSKlokG8CgCQW5zyMP0KDSZAlUNPFmRGVbpaCKNcfbmq5GMegJQdtOcY12FYcEia/JpQSo83kFMXOPpguli/ZRiS+w/XlbR6b5ysXiv/Px4qZWDCuHIhcEWq062Fvwl1Ry3JOe3gHML3iaMSiT0D3PmKfgPTYBAfwcl0iapDJKwgjsIJwcTEXES1fuq/8YH/LFPf8g/yYjg/diQ54v6U64I6+l70l3V87NN/lSOzD2wVDI08FOqBLUEPFVXZUQG0Je+Mar286T8TXrO/4gU+HsFiDblc7SKSQ0BbsyzCkcKZMb1RbQTnUlAQjRHrvn6/4bV4YjJcsKheqAfgGwynUi+nd/djXum8MYBKvB8T8drqqG+TYq6F2OLjvH4l/h8GHGz+K71SRrIZyOkyIel9FxYzhLH2Md2wWfeEpDsn8/HERBX2cAQEYxmWIQw7vuL9QQ4MkZxjGK6wAaAW7Nv7D9cfEg4tqqyYHZV2ZPwK1Jn4uAjMoSp7CE0+kchhpAliCGXMW/PYBDhPP9gmUEadeUCJp45Trhz0UYxH+MadDHRq/YUR5329/1YA1PUYEwHBTg5xn/UqwAmK2iHww+zv7nf0K+UfaDJK15W3ZAHOSRCJHRFYOAi73ax7+972VGwg4RahiYs5CCU102f6wWyHuVp/qfM5vsI6jfPEAKz54o9iM3quKMqOs+EMVq6LMIBLAFR6oYiY9EtFwh1EF6C8r1vvI8t0UuBNkFBR/OfW2VXsOPSCcytzc9Gfme/nK0kwM4pnbPHCd5A9OhMgi8UV0TyGL+r9wU74P+Vea3HgVnDppaElrKF03e1tNcTZOy70s8jMJgtI6dcgpwuY1RZBKkRa35dw7w8mvuOJx2Mfi6fFefAZTEV/D8nf24TKOoscVDCnTQ4s6n4Xq4Pb99aOaxPwNQMX1lJ5V/rODPJhtoa//xv2hngIaukFwUbYiSfbPD6H2WX5fGhDuXThRsE1mDOM/kgMvoICqVg7670J17vMLqOfBxcx2G21YvuCoj4Qqduc65uf9MydTbwilSg/EYaHeHN90RGMPiwj+40wSr/ADPCU+nA9ioln5iZFk5YoD/HoENc6ha+cFwYArt+1V651krz/aTgad9s2HM5SiwGdEN0Wd1hF+F5EPIj6+Qm/kAgttxK7BIIhnpezRBO2sC4qrHabQo1fJUHxt/l8J8V3i/U4Vy4BlnKvt+lkO/To0ta77YpxFIa0gsIWjDUcv/yqGUcvaAgzSkj+Gabh8JH5dxMJomgjJ+DWQgK4zk0lyiokVrqwF/EPNxG/5kolCAKknfJzrvMJvxVLwiYAGwoT9FK3Dhfot4DOINg6rk2g3KkZ6AnA3PqHw8tzi+jD4dec6BtK/skKt7mdUUd10lj4HhBPyfFzNBqxuHfdFfh6izmzTZN+8J73UA34SQe7yWd8CwZLZLYxV9l0rPNuHZayxetvcQg/MTdu9M3Th7tzOuqdqkkQaZnn4aATFU9geEh2aAC2XE1HYddErTHBZrvXr75/xv+eFwbgwVSMNq3LCkgoxSbkmLvPu8Y19qpB41Hkqx0moH3GRejVB3zLiOe8IbfilvRtl2WxcwkBdB+WSwBGo1Xgr8YISLUcSQC4hMpRMm+GscyRl+Yy80eg97Jf6tv/EO5gkSHQm9uslY603uCFPiyiPg6eesu0OtvqwSVwTSipyOTYBJBG4AlQLvGCanp87OEB63/duUjuUpjCXPFAsAp89fjxUwhi8uSl8oRhDLNkvZqj7B78xYtjzkYxEdVaFTrsy5GVSI6wFPwTXLuHm5YoS3whHzowKAbjrtSMAWD1KgD3GWDBKExLun+9xvlhALjCMpclBd5w0FP6nE8tnSo4K0OSTi0Zm9Cz3UWMNlecTRPaNgyp24b4eA8OfjQ1INlKStsC8QjLRQVQcCgYjheek1/E35ojSFnC/z7oVxYUGYxDbBwWiimFyDz7OICjMDx+tu/AjeZjJLCcs3wC24lomafCz4z54keVSEw13KOu+9XdNkbOLs2lnIRD1k7BEKIg6f5jNvcJhsHGE9o51huimjnFbsj2ISLeB0Kv7nSIF16KCGH0MBVvB9H6ZgtXLJiEjNJb9yJYBd2AVMPhaPvsb/7woSE5yFmgB89SMhRshixQZWj/5ASCrvxNj//POWEAJMGE46QV5FdyDHREmCwSBH5FJz+EJLH2AxGjEo9f+ZI5qrHYo28Hdwg6/xTevUU2z0rH9IfDm6srRKzJmq8hZnHgSH8zzYPtbDvJ4uecY3gbTRbR+mq4GEIIc5mIn+6/YgHvnhB+XSS6RKGNMFwpzFktuMX8SkU9HkEF2H+aXFd1/D7l2oqchCUF1PeL8tl2sUG4daJkosEXvb758h7urWMQxcU2+f/5Jv88cTg0kXzScWw38Trkk7wOix2LFwYSKstPmM9F5KMFrHgSF5iqB8n+iznwE6IE1LbMtzKXqxADDWFIrcj+HbuYLKAqdCGK3sYt87X56h4n+FHXSy/BcDxqh63nlEeSCoWuaUldG6MOkOJ9EpGXB655/y+cEwbwlZ0vb1BAKb8M8qjvHka/UgYd+bkhAk/A+6/ycJ+89iX7jC7uYM0djkNfxAFH2WNbzvzMJLNb5u7dbKfohLDxXaLdczelBt81n29H7cvjUZkS/Ja4XuzSv1h6kJp7bzCR5bd+Gph7Vfaf+7KABLFclzAlEpxYv9Y8g3tJ1u0PHlxC2YQ3uZAqeqg+wQvus4kR7hsihkNq9aSSiQa3cV0S9nrkGz66n0c//KebaYvQ4IxwZmL/h8XG0Pz1n0zUh914IbRtMjsDGB7xCxhpsd4rDdgbLY98+3d+IBWkQ+zDda4teWwIMAmRtj/ArXIBkYpefXZ1Jh6sDW63hkdfL9Gjc3dGRXnnOQmonr4IA6dm6kMYwMNDHRjvzPdE/5yWCHmikxQZlu0IFRI/uMOdwwaiS0sMlt9/ekOEpQfhpEgWUjMkEi8RvKbY4AsgSmIWjuE7XhaZPs7jma1RNO4O9dzaxiKsgh8ya+0+9lsJsaOaE+J/5Qb0QS/yeEyF8emuqOQ7bkEYKzyAqEokDNyNirhk7Ql3I+eNpkXHG+XNuJMi8AwW7KivZ2NI1WVbJ13Oqzy4OdkD6f7K9dAz4IclTGNgWQR/2F8xllL1uNWHnLzhwD8KcpnLeOa46yWo6GGxOJ+O52Fyeui13ttvvdNY0nGvcT4kgNEtcABjKt5/UEaGIWK9vf8fBjY1IngbhgooUmyBiB4RUfd0cTGLDX/ObBKUlo3Z0LvoiQ8Os7Hl0g+o+/Wco+YSdPx6vPn69buSc+/ciVA1SCvBXFDOEBJLiGtl9Rexyo+vMKATGhjqvK0BGwiGSzSDYZTixhop/+L4QzH/OvInx/6/vm7ZUcyUcjcw7npxHQlFlRWFBftB7PXPj/gKLkoIMWLPHNdWqLFEoEE8KFrDXgF9yOajcTRVQHEQ+Vj1QVgvr/Vcx3E+GAAnTxF3WnRjwB1UfgI0ZZ6+AkBFmNMnA8Vvq/IMcec8ywiFD9r1Qxd9f5acHRpCbEeDqL/+RfbksHrx/Z+a8q65KWbhx11z1z0wD3b+evfJi/4zWPtw97XlAryMdk6OOYYrGB/rl0QwvRPR317GsVd+dtVV/Azt6g7ApY692UT1ChbtYIXgee/a4idHQery1q0NZ76S1xZJHj/DO7H/vL8Mc6mSf/CJJpR3weYRXOUusnkQ4yzjOAAAM3RJREFUBUhtxdfz460pDYKEWIjCyL8Aqle5Kum6ZgHT409movagNWuiY9ST9L0Tu0RTaJbzw8vll0eD15QWd/BlzgcD4OSJI1qyY/gDIYUQi3DpyyEG9Mp9d/BCj/YNf7Yq9JSjHrTDQg4yKoPt+yQgkb+m4o5ufbZ9Ya1/Z36IXecVYe97n2Ujgn9FNPsTP1e4bcKZQTHTyuKLXvx27hK1Lwj8QWxVuqlneV4c9q/2vedRPmCBrLW6svr6Gfzmvpchvmxq97koflnMdghfWd6557Ku/mo9+uN9435VpNMTxM733v7tPYj/p7Jt6AQOEqI8VVvvGiI6dQ+QePxcNL+d27/vZkf5rDIiK67i12CqCtHGcFd2MDIvmSTeINyMSR25nuRuHMSbM3l7vW9+coavzwcDwIti4oTMbmL/8Q0DL4WG7hL/lDHi1W7oulIBNJTa2iF+kAg6ncoqMkIyETk+NIg9yv0PhwRIPOVMh5ZzJpEOzv1EEDH3F4F8kBjO7w8xqCXgmQDhwWpjBfPj/jNlpmI3xx6HW7suT4E9DLBSebwKwDuC8Qmpe56dig7YV/lAPZORzJ5QVVIJvuzDsWJADr9ebn5W4xSQaTpLU0I9SCHxV8Y5EaMI41Tm79UMREWwcA7RmNZPvg30HOzhuIai9wOFegfJmO5z1Agjk0ZFPEg293kLR2E277/Hez/lNv5kVEMTnICI35zBGGDbHbP0aMZc+wUSAiXKpnccB+avepHJxy0Mjdh4xPSwAVRt1TUZeMG0j/43ASCi1/DP4BT2FqIt6dy7wK6rAtGsmZE94CTn4Cdw6v+cDwmALDXSaTAAhlewiF2HK9OSOSBEFIagePaT57U6+XTy3wJTLnFmSC+epRLxX5mtOcJol2XRZiy/KeJWbx3n34WECOGc8OaAUFgqHWHvQBFZYKVTcfsdPKVS+fWKwRdkibtC/QnMJ/Fc+b24k1AugZisebPZ+3IKsfN+MnfDhaW5WRvg+htbBSFdprA2mYsKfJIUJpPHSRKfp3/2mPVWvQsWUDE/RyBA6DRbVG/ZmDOzvd6dOynW/Ons8cGbcCrfqDsD8DvDqWAdRkCwUoY/iELGOSX/YFE60ZPh1R7o9J/FEv997kd9Qd/cIQqicN5cdYn57OmY1lgUFeUTjo9Xvzrui95iVHTMPNHD1xBKsUyXiOLKdyBs9XSGTkFVEZKUJeLLgf0nCMM3LbV5bDgeEqlfmpu3etTx22F+HzAxojwjl8yERXEJXYvgLsJ0A1KV5f57rYZVuPABt3nPT3VtL00Kp2B+MB93i5DtWTF7JMBnoYl+adbmFdjz4et9z0RO+6PTQqgPW5fL0Ak7yudXQQ9OJh8ARF63jEYS204SNzR1BHCfPUihCeXScyyDFLxGLKc57Ictbu+vL7Be8DHG9U0obEnJc9yeCv3lnw/nLnvvt887knr0EEdTEE4LWYC5KDTXp2OQTz+YztpReRx1/Ss1o1CUHoFJUj8I1zn5zdUSNXbXgkSpqkLeJkAJb5avis0ZsKDwdPXV786/dWYAVSnsKvgkwQMknVMiMBukACCE/9MdbL53kykmnXmQUOqo+p1jMd/qZyb7BZ4A6usd0V88aQnlvMrJzWBglNtPln//jFcCdDyLwZEIUaiICEzPDtUAlOypxFCoZFIo75GnCGHFJiP5B+aOsZXTl5M/ZP2viPLIl/yQH8DwtMfAPiBDlNqFvMYs6pnhh1y3jr+tKwPwxD+fjRbw/8fg2yI5+heIRpO/Vi4q+cMrZnAqROEJT0xHgUiSPFSFdkGuoplWvBlG+Qz24tHGjdEqBCE/+QfpiT4UNi4WCMdRswvSnbEDyPjoy2Cdogywg7EQPqexuUSKtNpzLWKP3QQGaxe2u/HmNLB60YSpi+bJQ/wEwBGQQ5h3ZWg9faKTsVdMKAhu8Ez4tdp5U8Yjs7OmTRUhs7yTBzIle8804PcB16gvAwi3CMZcnKdGX4eeMYtgwgVEfxniKOvlC15q2acpBajOntxSkoklg+Aqslc5p7bp0demymDvwtVwe3MKteddnJP8YyF48wm3+4T1ivFQBNR7ArTuUx6yPZSXsM5/TmEeimy6VcJm/zZIOlPBH1/w5EJbzTQ+wd14AQOcCp4oEOitsMlTWXQVBNaBhd8A7tL3t8iVHroYT0A5iM2dp+FU7T2nsqj9bzKVDdz/8sf95J6vZVtEOX3/jHdFIQ0S+04QXqWXnibhv15EFTSivyV9MC8CkcjPp6hWisiYmZyefVMY1AqQgkM7LZUA8xIPBs/3lwGfwm3fcwlFRmL78FGRiosKBryRONKU3/OjQ38klYfoSmweVpIdbk8vfp+RCuC1LK1LuQKyfeRIAFLDeK8qqXjohZ2DL9aUAQA5LP+FnWvRQZvef0GHTj4yDLEJZ6MGv72XMjxiIyY3gRB1qnWo800xLkYR81Ml6mMNfrfsf1tmPyZfHXs7VMGVRPyV/eOMFg/xMy9/GitrEF6nGH1q9SlmfwqDlH9oHk+vkpx8ElZV8OSMbB5aU/Vgof4/GD8FhBLaz7XNiJZeyYbsPYDlaPkBUwDV1C9RUwbwFRk3t1qIgks2iC9A9qT/Onr/CfFqwARQyHEJUj4suKLmExyJs2SZU/Y1b5nbhAo8OnLhB5J//jC6YZ7GRTZU+ZiZ0NHZpgzkDqMEmDdAzfD6NGIeJiCZzztQDULKJCMWwwIoyb7gDC0Kl5d1WsK7liEIyPcYQ117cLh5lYefL/FQTwMdt6dvA6jmLwZAQRLur3qRzAed7MJsEF1KkhCTj01XPn+8aR779X6Qvae63dn9W08GoN5/M0UrceESnWWWZHgCRLyWX9pb4s8OYtwZHyBFJQLSZIPLkCQ1blADyC1PWllr2KX1+9EHOPYs7iVXEflzGh4HBMWEGKDcRWhNOfoaUjvOiiCwd+IblxsWTsxkOQFhUEEeU+Nud70ihOMxgJiCJ/Q7BKYkepWK85CrVV2ezwo/WdNOzIUOHdQB/r4Yh8XlKKANeRkNrrQW+qvmHjaC+3x8fsdZAfhAiBGBHqp6DEigBBiy07wv+qwI4J35Mht0AOQAIYfaUFHyGoZAt7vj+YqXCS/5BWIwqnWGGqHqvDTX4poQnCe6d+5/2n9WcRAQqG7MdtCaTIVu0M2mMhPaBKPlyOC3owJI5XE8qhtO5R5HvogkTT/EDHALFlLFWoVj7cE4J2iRtZPWeM5HPRkAgSGtkGYwsaLCMAyBGEgCLVLC1AwEwE8H7z5w7yBYGeZkDPThqhF9BPhzF2+OcnUy4WIT5REN5lyBGwqvQqEU2HosdHclovwdHgCDwjNeIJE8hhFESs+4y9ce8HxYKWAZQLFu/YAMa/ZaRU+9wZd3EL+R9LTVh72cLnQyg0nADNB5VCsRaS+iw0NYzvWZ/6af/8nc9nSuWk8GoN5/8yJ4ewWCvw5WoQIEl+qiArA1EL8IlIj4qtQ0yOCoIkywkjIXjzq+6EWd8eIC4g7tzp08C6qDT0UeCKEeTEB0/6r6Eq8VC9EJ42h+rr00H1Diq3uHEl8PfQyEmMBBI/jiR2vx5vZ84mjUR+u0eWztuP4sIc+kPsPouYes8DWQ+MSFJI0pNyFUuzFYUxHkPblAv+Gz8z1A3BoOev+hU6uzLYY/o4AM5YTLOEQosD8WznbS1Rw48YnPL4KLaMQ8AnRiSpUz9yNPjt5/nbKYp/74J3FRfsox+AkHn4xiNSCA3dVIJFYcgn8QmRm0wyiYDaN4PkrM7GI6jzp095D4dM9ubveTsMw6VvaO0s5yvIqZqvefmr0o10MBX4e83u4cT+AZeocRSdKbJ+z7AqUB6KDE8USshjf4nsAtT/OS9ZQAqEcfl1gAYpiAwjCryD9y4nHH7AihpwmkvffyNK5/lLIqUV0nNTqx8IS6nUcdVe8/pAf6h2BQRLdG7cEIpbUid9dk+EXvzIV5EblfuMgVVXCSo9jnUeapk58w6tBl/pRXVR7BcPdxlEudxndBQ+3HjrrnW5DTXwSt4LyPI23aKSxW88Gr3uNQyEIy4ZCKZWhTwE1NTv8KCJ4AQAhFB8p4JeTAUETjN5paHBlOvvefo/dfQPJPlf+PkEHgUw2knUmLkXdcvvEiZO301EkjYgIwXt45bAzECh1SwjgjgjK3JDupRr9gWA91Z9KKKUbh60HEWH6p08DaEzWbPv+jThKA/eJHfxSPNp/bje64E8RUY8uVe2+vgGxyA2KFxSKOC+7M8aQyhlGRjPhwKIBzmoLFZja2SC3Z0VWA173/qIPvTBUKaxQKe5Tef6eHjKxVOjr1/QtqMgTzNDoaj4tiYLpXD0cUn5soRO8HXNccUg/XugZLIRTYM4HTW8gh7sRaxdCRUNwc/HiBWgUIoTQ4oWsxB5U+O9ejRgzgXrA1LOI8vQhhjfCxj2fAJnTCkrrwMACQDsKviVEM06Ry8yncxWGo05+QABpuZhHpwUdPkX2j9x9x/97vT86DctLrYASbiN8IKmrHTnJW6eZp9RNjFNga4r2Z+O1331TBk1x+f/cJxCQmqtr/rJeAIy5cryEpDMu/85mBCyAhvIA2v5b05cOut14Lems2dWEAAHklKLP5AL0SnFLfRhnAaKotF2AVjKGJH+6EeWuJJ/RHJQbLBsAUYUyU7VaHwWOVi5h6778TWvPry2r1SMXS/zHXBC5X3MahYyCw8ThKLHO5NtFDGPsUbSeVh6vWbmipBD6TiMWCvb2HXaarYUS11M9rN9ujTqg+BHV7yY6znO5ZEHysJBjp/Gcf9XcAQCWVCIa7jwO+PvnjqhGGg5AUZELyjy/9jWQh/3N9BywAz71/oCInMoAecmAARGyKvc3D1zwUk/fGxMNf45C3msLXNCcZY8Xw2A8elAojMxIjZr+O8z3SkmsiAVAHn4KQrVHrSh6kM1j76f1HnD2FIYAwksCuMaxW8PanIKeWTMHyTggxjjLBgPh5//3iXz3CsORDf2mFtdP7D5EYJlhXM7PcE5zY7A9GS4VEFjn6+yFjIBZp8ZoT+gtZ0fuvJNzZ0pPPqciYDKp1HHL+q1ColwD4A++HKkHVmT8fDow1YQArwXxwMSmC8RKYtYiFSR1aquSfCspHIazDrfyDvuWnIyJQsgiCikpYm7DAnE3djMNf+dFOJJz0SQxMGNQwhu30/iun1/vv8BM65DfF+qiVbR09j0mWsaQvxAF+ccVAPD34Gju9/2T0oz8fjB5jogxsXFbM/uALnPI3mBGU7qMAE9g8XZp4HftyZac8k+nfrh4MAPcR7fesKxT84yvBUgDDKRBIVXigM09w01/98a+oCfGA9L14qNd6MFGHf/iow/f+UyusV73/dLRwwur69SOIaunaFEdNZnnIEImLw8dAyMZjHGFEPv1X9Q6qkmcVDI8KvBP/vvZT+6A9UWNRnr0acLy9PvHpHu0G9WAAVe8/iuCo5FbRQQXowGlJOKEye0VkR1tV/b99xr3/PhBAHNevrqDX/i/Un8PGQMzIyCujnwjfJ3vJCChvCsz+1ZWbF6cAgXowAPyprjWXYFBS/ftr8FiVwpb/X9mAr5HtFABypFuoNgGWIWbIKaiT4bDjnr24YWYIfp2jxkSYq/efauApEGin9x+08Ibt47DXPaXvcXRXhMqSSZSrpBR2KpTTZp+hugE7Kk/xH9JWaL3bb4nrXAd+cu+S+1C/OIB9VvOdebseDEC9/2K1oY7lD/bJP1DVFZzCSjs9AmGd4r6I7KuwZM1PD04vGQEPwa/o/Td29P4r6f1HynOg3n8BPQZ8BeCqFj9EpQsd4mKnuOYPuZWI/6uLfi/LYI3TH6OnMVfhJNfR8mRHVEphXY2eH7LyWv+2HsSF9RgnUEgGkIJLVBOOhyd+IcR3hwh2UUG9/2grhg/c9/4D8Sk3RSqsr/wjXdPrm/Vd97sqgF/X4VUAld2H2SHy+/4OuD297aMmQV67m/RxPNdDAgDWvvdfiA2AZBgIwfvCYQT1YFCTcMFrq17i1T/+BXOvnid9/833iCBLxnNxGKMD+2Qn8v+tzySqL9G/OX+tU8HPbBQP+BjP0oL2VwGq3n8tRH1iAMqoJfsOUsCO5FRvJr+zv35vX78mBIJykIfb7zdhV7PXZ80AKoRXEyyabERRjA2g9O2/+UAhouoGLD27bqNCBPxXTKxgfqqOqdcgheqDHDAIhc1JKcV08AmCvg+FBb1OsfffAfM78GO/RMKfCeglCpB1yKwPI3ixzy/vhoudizM2ieZdGkcucJdtid9fUZ6SfjSUWCW1qoaDvUHmYX3st/bZv05l9mHJ53ycNQOowFdkQWQjpf76/H/OE9/7jw9Pq/ffMbZRJwI1cSjiJ0Lwr3UqHGbQ+892aDoRFtTBx+Bp1fuPwJjT6/13mFm+7zuQKhShhF6r2vlBTi+jovLgTvgZvf/CGWoHFOnlQlWe1PyTiqLATlmAEv3FOmtJ/H5uTI4B8eOo1rNn/CoHVg/y0eSOO+qxgjPv/XdU8L2ic16IEQhD9AwfUN/QA0ZNev8dMMv3fKwV61CEIvx/If9mML/1fX6DylOD3n/7TO4Qb3vVTmoO7Nof+7CAwzL7Q1z+LL9ylgygbr3/jroPCIYgfiX6IwmgCx/SBlC73n9HXbm+jwQAzytgAgUxGzznni1MvFTNev9NnOP735S1Q1aPAqMUHcPZa8U/fQfGWTEAT/yfzubz6cxcPBoT+1+6CwiBSi+l/j1VceRbV0Zg5WqrGag57YUQgUnxVkgWHBPDkAZ5wYwPtgG87v1nKIO90/vPp//WMxR2L/AR4jnzgQB9EO2AqkAjbJiZSeYnK8X0/qPRCeXTHC4/9f4zl6EobABab91HdfJz4g/ByQHoOGD+vM4Ihl4790zg7BgAvf/y0eJCQe8/AErBD1v1/lNePW5A3gM/6usFkPhL5t4Y1XXEPIdwBEqDRxDAwe3jfe8/E5L7rPphFAHxDU/OsvffUYnQ+wEzjkIKANAjvCSR09BAO3oxkSBU8CSP2+T722tA7QJAWiSmtrYFT96GhlQ7STnsM3XbeR5wKI3MCPuPr4b89rfP219nxADuyWREi4Wa9f472u5B84jBiIVCEOmH7xWD37h21fsPN5h6/4nZqecBCUV8pcaGsDcW4F9KD4YIpAJoNzne3/3G7t/16v23O6vDP8MB2Gt6QWH8kxqA1OdGVhGQ53+cnZ9dvf9c1KIPZtX7DxMycD67+RxlL6uIdSEAxu/dByUxZBiiVMQ+lxJxa300/xgqi1Cpr7KAK36WICAfBXcuGACTlM0euwetUEqXWZfn9MpwpjU3ce2+919B7z8lO5Hn4Z+VTnxuGJ6XAiTaSd0j20t7/d1gAGckAdS89x+7/P4hm1Ag4u+CwzzMll5nZUFdnO4kIvC9/24ms5FL+0Gv6HXo/0XrK3cZQlLOA7ow6b9SeSb9+v2TOZ1PZfWoPB66Xw6rHpaJ3cYOskmBzDzq2pF5tDJRCqhh779Dwwzphs0uce8EPV5t6YG9pxcUab4fwzv0xWvwxbNhADXv/XfgvqD8852cs1zEvwnhyvfXDTKbm9WJEgBC/kbUa82Q71BYumrPYFRCB3aXuJBqHjKoLVBJAfqjhoM1I/tWEyMgpixJZ7BdE85sodK4bruNQfA2DODBnrm7+vX+2zPHfd+A+lF2cmddD8v/Fix6C02gR9Hq3Hz51Q489v117T84GwYAWOrd++8w+yZiUBCMREKJhrym2PW+v0xHGAy6tkzp/0c5YU4SwV5RcFUk3L4/rOMHWrp04ShDrs9ssOjMWhfiX5482Vr2/ps81b3vivFRBhQmgBDkVT5sP3kQ4QUggXHv98/XO2fDAAgMOQe9/963k0i+AVYvXIBYhPljhDifBmFCNNykqlYYPaOErtJ9Yv4R922BLhxQXgoBs7Yy/1vL9zo/k1WkE8s1Y/7NqJJFTaB5Z2UNp6aRPnv9q2XsHTsVj+rd++/1lPd9heXCBKkNcHda2p85m9o45b3zP86GAagkfLLT+4/Yf85S8v/p/UepaQB9DgyBMgHo1LeUMjbPIWNUALsSBqPURJtvEMEOgqj337CzkCTJkiPjEaGS3n9BnXr/HYTJIHvZ5wRED8b4F5g1XIDdrD8a9bYC1sy7X/57eUN2xznq/bc75T3PO+spJdYNkQDWKPn2ghJVW7ELhmtBxv4/OPdM4GwYgHr/uSRR80/A7vP/ISTlw1e9/3TG1HhAvIoKG6O0r3I2PMP2vwUTWBukdmxml/YiBb3/ZtrxvC3KT4qinGF5S1ygZr3/3gtwEUOfwIc1diaFIFZRYbatHYzM4/9FlnENMb4d5nfPbg2fx/QKais0ikhhejyEkpfp8+B7/+mLCgKqK7PXOrSPMHrEfVcOC2tXszR6Bopule2wMA+fjl+vl1fndJzNBlAXHo+fOur4opL4k6mEoxZgQgiJxXUf0v9L0sOCMbUsUAHsyAV2HJDjZ9oTDENieIaYB0fary+BpVJYOyWw6r7Uan7yASgTTsSu1kcpBrHMxh0xBhFKRSzVd/2/xTDB2EnNg5QoQNqIcwEdNnL97T7OBvfemOMhX4oJEONRpJa2T50wHc8mG8Dh7p41H/J6tfraaUsA1aar9184E1ELUznhInxM5zTZhJIQL+s/IH88dhKFsQHYIXUxhwTCpDadLcxPJkzfN8KwEeHOvow29EIdADXUOBer1YKk82T8M4JRY++wNECkEDj8b8JqeWslyO0Sab9h24VFhM2TysHstcB2PgYEj2pTMT0iPQnzJl9d9p0w7lDO4LsRA6CtOE0GYG/fW476K4/t6la/FRetjitTev8F8oPvpP+KIdRa/t9BeNUBwA1WBquBy57z5hZWsH7sNjkZbnEyPHwLzX3vv7loIY/CnVDYABGISuicivtQ0Fu/P+s/oFqlO3cxYJLwjw88KNcg6m3vCps0OdJ/7Siep066+hyoypPKnaMCnIfYfyz+Xs0pN1mrxHz21m2w3sHAjscDM4Pn53O2bfk8bN2k3XnrvVNkAPeC1a1enA3BiyxoWzua5bi/CBFUvf+88Q8bQH31wteAUx4ANgAKW6zhA3weRmbL2jzt97GOm/sSDd8aVe8/SxNN4v4tvf+UEEPzT57PQTKMXwpFMEpa/5YvIOYtTsRNi08T/8eOoeyt5RozQ43wPKP3X4ixUwVPYPIBNh4dOHUnGxapRCfWu8mrPnPWejeKIsX6n2fm4R/LE6JR95VUszzg39NiADDVr2y6djHK+yMaLeYxQaHUwXMtoqpUFUZhwF6uPmC+Z/kxB9grXZf4d4xDpcU63BpEpjUIMyLDFi/uIX5NuMwjS7WsFmoDDTBECOUMi4XZcaaeg8HOKBgG1x9eACIfIf4eVJB296t+JJWHBhrUS5kDIDA7N4fEQ8n3c2LfQeGH0aHWBX0QV0xgSIH63MQj7e93gvB30e60EDAwn/8W1uDBTNiJ58IkAiEgAtrKCrd2J1PzZ4mGFLRTBhzIUZZUMiUwpMhyKt3k0Sw2gYc/n4wcqoNfkutQ0PGX0l+YlHQaYgDlv/MxHAsj25GwZ+/yhAkEbmTi8USGR9tsa0MMnZbC5+ryxDOMb8fIW/MFw+rYI9l3+tRp7Ppoz6DsY8Ut9onyrPmC3j+9U5IA7toLFzbbWRrfCKLxHMEUiyDEDRBqFi4r41DdRWGvF0IFuL8CWcHRC8sXmCu2RjbrjsK5volvQCP/k0TiN5jAsmewRf9nLdsh7t+6X+HTT0EuROFArbG09vMw0HvLdXThv0UIemFsqNTYdTPeViTknjEftemWbC7hJWG99jLrhOGbSzwOLpaw52qn/YZquwcDdP4nBPywVr/Xz3D8DUyiaMfv1jglBtANisF8FM131Aqaoh9CCCr/kg4IOMEL/q/zYLL8p/p/ygTj5CcaDAMRvcBTk2cH6oVlQhCZiVuYlyrdv7JznI8TsdogVTtC/nU6EYmFz9O0zCfHPPB9qTwusS2MhfL9U+uhnAFu8nyclsT5AdiEsKYwZ0R/2T24UJdJo7iy/4VaF3y3xukwgDugQAZSUDMGwiEMFmRQDjw6AEjCh+cAqD4BUK4hFf7w4nCKqYiqMD75Z9IKwKGnlWRTtENDwhyr3PGBS/eXRVyMb9JPawGP1xvjbR+U/yrD1NpibE1E2pPLJ8Y8aOolKo8v+81eq8S7r/4bqHmgFlzrgZVCRkBsPEQwyO1peFjcvRkMYJ9051ov6IDJnQ4DoPcfblRcqHSBdSXuLzOPEW0WMVFEUHukAKM5FWT0wyBU+vTfbSra9FMZhizawMRBy/Mv+h01C3WhneFLnIhe1SGAUGwPCPBi4k/r8SbiLpqvRknNA5heQGgPNY+GYYI5fEg23E/eSoZ5tZayHal1Lm3dylnenONZgU/UPdBe7wOueqy5mgUSAHMdMFMvAaCuDrB3TvZ41Gnex5jL6TCA/oqN5y7MUET6JvrVp4TOyu+/xMGi8l86DY8x9VP8CZV/mOEQcv2Wu65WemHwbZhhDNwkE27vsObOqLVUxNeQJeMiLz/h95fAfYX/YvdgxVp3bY2AnvCJaVC9Q70uu9g/1kcufp5mw2cmJ3whtHz24DVRLC8Hu73/3E/lAUDnD8xn7O+nPINnJeqPnms+FPyDodfZ4lt26JfEMKLylL1kKxr2v0IK+I6N09kQqsK6UClh5Sz4pGMDKUAGwPMjAXBY5zAASQDbIMg2RgEsw+T/RysTjjSy/3rjMJ8dE+xE+y/CfymaKQkA4x95/xpcpOZD5c6I9pPrk8w/Z8c2J7j3b7Zxj2k8EON7exErK56Tl+E8W90mAMjOsF4I36t6qnwEs6//qGwAGAIDJABrukr+WcFiVf+ZH32Gp8MA6P1nsAqVav0lGwA6IVOVX1gIUfPjX0CFWlkB/8oXrsR+bwSkIQ42gH0MQ9mAkmcLZP6pxyE+cEX9eWnnHKwXOxhkL8Kn4w+Ir/x3dQCKiXV4feq/TfwPHljzpOOZWxkndHrExev7/2H3AAB8WZ/VeK9ZczUweMoIaMn9J+2XMGB0tsy0+8DjT3a/s/PV8/90OgyAZBhCZSPjIhmE8AJwKigpRgkiEoNrrQpXmwx6KPhnwFTlC++SyjQYjvc7FVaChc4SsT/BHNlwWqdOQeU7nIsTkP3Q6Y6xs+xBu+T9ux6hj2MzTvT+pGFvjpfi3txsy2V9WwRwxaCAyavuH8ZOr+pI/6/tgLB9cRcxepV6H5PfMSIcaIj4NkzCMK0KntR2/see2EkzgGrTB2FoW9EM6P8pb9zCoibXUBu8oEBk/cVC5qzAEGwAxVME+MecZdSGM1tRVA7Nz4Z7RcPbSzaLEPsD+yvOlgr+kf4vP/hJw/vYiPDmDzFRUv0mUJ+fJ3Bngp6Cl+zXetgmFJYXb37Xv759LxoTB2mD/iXO+8QUGfX/w8uQvKqEiukzvOejwofqjZr8q5PfdzWh3r9avOH3L81mVuar/aK7gttz27Sx8zx+gM1DUtF3a5wOQqr1FymhaIKEwPqgECGGrMQSE0GKGuLF3n32lmHphHqQGzYI2/tYhmn/3TZzoYnsHMrwAsq0DGCEAhNbtve69XvHSwD0PEACYG/6MAT6mRP3MGpPJgDWm7fnEnydeDscto5Afn/5R4Vflc2j3nssJkBJt50Sb0EwpmjryAzHQ/MfHuzYPL57xC/EO0kGAFXjCiM11KREAXewp5Yq+CF3kLcSUxe/3lgBfHbpVYhfBN7yLfGQPNgoQizs8f7S7ncEz2qoF94MDKBqfikpB2lnV93Z/VKdn5mx3J6UOmMThxA0kX9EcVD6YOKstd50Br0/aDnn8P2TAah6BxKoaz/QTsXwkHpgcnJ3KhGI1wlVfxck3U1merVf1+EmeIIMAOLHFWZ6CxACqb/o/LxAJ/T14EX8OhlgELXFESG7Nl/PVUFIkn/QBfAPB4OYtlgvZgoQ5P5eosDrIYnHho42WKVCfr0EwJXOhw1Aa/YGT9ODEajOuTgdNQ/3yV6mxFtkEiQ6N+st/7g6uYAMvudivUg4ku5Q8Urleajs2TCwGZF/7Px3fJwUA7DmpkluJu2L2ULcGqduEUPSFWyptMEmDTZQSKyn/DpbhmUN9kUheJYejNhfviD159vQJFuFkn/+XTq5LNSlLap/LXasK38VpLrKGSM9mFwAuQHrj1FMkTp4pWwAj5Ha1glY6FLNfG07H06M/TczC5Fz2WW29Fc5/Yl1KFX66xIP8Kv2C1a3Hwi+fMJMSf31PR6eYO0Ymu4+Kl79t/DQMzwpBkDYy5bN8iutjJh/fCqd0JfDcgkcdlcKYJK1tgwLd3UGKAdAxqGUgp6jUZYNSAAamNFF8OWBPt+L4aTDxiV5DlYeD3r+yeUpL8B5kQBUAsup4AmxDsYiAZR9JJ/UtCYGPZkLed+WrRmlNyMBlPOU06HWg5Pr83zYPHzkH8ZOip6yV5UEEH4M5/+JBWYQCDNucwpmSMopOn+OR8xVLiEvForw60z8kGol/u8Qv/eH50FI/HtnkJsfgBy3NnbVA776akifCUyO2xMVAPAq/FXEz/p9NRx9Xv/Bsc/2sF5cYXQAsrFKgGEDWJ1Q8ZjVlPMzqM8F7c0c7j+KnurZM/o67/GrbWDK/39757Ibx3GF4erqngtJUbLkMLIlx3YCJItkqTyAVnkDvY/eR7tsDGTlFzCSjQMvDFqORVkSIREczr27q/P91SRNcWYSw56BukengBGpETmq+rvOqVPn8h+y/+tS71johf9i5nIoH2ndePlTW/rNhiyA4+SDnQ/gyPB7ECncwMWienBOhXjvb4EQyDFEPrjaQevk41RAgMd4BOgIu7KiNXEPH6buDOKc6awDYX6HmnkcgIp8nPs9otJrw54S6zFx/xA4EWn/5cKUEM7MdT+UoCyMkE981u30oEjjakfXX8J//FC0ABZ+uHFv1MqO5z2Cs2HA5hzwzgiltyLLs3EL+FUT2owCIA4+n5U73U7yCcbzhygASCHcJ0jVDpujuf3vLqBMdCIk4oI/YmOoIOQUlXBEOG9IN+zcPfnHEvfQI3/gDvqFKyiWn94gokQL7PARm+k+v8+vE/lQZlxzhzRT1E5ELOZE7d/Q8eM/3vkj9f6rRtNT9/SprkILI2R9vIPlHSjPPuMD7nKiqvjnNsqP9caPXPidprzBaY+ywweQuiMK1X5gd0LvlryeTbgSLKN4b8rE1zSPzXhpiQtX0P7QTJlccLHfQIBZRRospcM23wLAKGTfKvlHmX/yhOs1RpGtYoXh9IcJ9wxyoG6ZkvIs2lhYfzGHvV5qAd4iVtwLH0CRDylkGpT5dDhI+zg8Hy61ACoqhD1eAPCKFkD9tT0WABuyqILHAsgGGGuDqkxHvk+14zKK9zUJXlM+ZmMnUgVLdtXpKRde90FO/pgPvxmFswk0YxFMNWfe0EJXxMGpjKMVFr7A5f/b8YEvb55AhMsdIfo7cAJyhHICnifCNPskRGgl3OcCLgrstEjKXp66Xk4yY3BvMIDc46trv1Tk8VmHPaX84ggUxbuUncheWuADkLJnsiSpiedhiiUA9Tk9Hs6o8/jmrXLnq2vfmu83owDU+29nFxr8QBdcfABkwnHy70KLowYRbJzLvdNUIDVJdgA+gKpmhWHOVPcU1P8vdQyJKS/NdtM9V6Y9SKX2CStR7aiPacXgmk8STOx1qEnj7yC1B/8NJA4pqf2EyfsfSTn8pMUekefx7+jTkYpTVqcKvGLjE5SlhP+8zqMV6y/Zqyr3jtYe6m+yMsuzFcv5+ZPcjAKgfKLcCbtpx91H4H/PvqH3HxwAQUSg9ab5+VN8Jz8pEszaB+DcEVKMDyA5nnW4F/aVE3N9PPQ3b2Hml9X9LIEOO8Xnwd2fz9CJ2AIloFJneP9dRY9DZcPBdxj863I8HQwPfxArLuPLqwrA3zu83fM3y36g2/G4pM+B8gAq9xHq42MpvtoKaPSzPvfjkJ2C0y/x/scypN+7LD3tdP38+PgFFZ9xzfXyt/TPzSiAu2wB5f7r3h9psCMnfC38EoefzpFGworhqkAYG4SGmPDfczKoAnBEpvhyWqgHZ+z/23Dh98X8s49bSWy49ADk9t/wtdYPgNVK8HGG8Xeq4eh0FMr56vLfR8m8L36HPOMxp9Dod7D/lfsfr3u1zpP104IrgPyzVVWGqpyUs3xU5GHk9rLCPT1bnuPRyB37yye17ju5xDvmAGAG6+5LHFzdcGPfP1hilBrahk0hgYiRgBn3wSlVfcTB/0fvPyjPqhLOw4o+B7T/wq3MPYE1t8HhWe8ddJWy3vB50PGIK/GcEzFPst7Fqb+gxopRSPMydAu6vLJWXrGuRPvp/NXo56z1aG1y9EJ6Qs6D50XoL0P4s30pf3V4aof6Zp6/eKzZAiAOrjEps+xGRwHzXYClM4xyw1Ueq4IgIG/6QByYZMH5PWG+Q+64MTvMQ/JzjQfvciW4vKLFwy/WnIesnTU3f62sAFFVKAzBT8h3iFefIbUbcADmEoLF8eDQ9/I/d8tJwnMtOj7w1ccqwDZYPBJ+JXjJ2tEpT9tz1iweAMKd2X5Z9g7i+4vr3sJ31qoA7v7trz3uhMnodLqDQ3Xf5QWXAeLgcAAiCSmbi+SQNggF3gqxwVYe13fyHVYAPeH95KQ7Wn4vxAHYwQcQuvAdKO6vvgeuggeNjOA2bJpI/ZW8Zq7fcXxT7gwXgGoASkzhZePHe53i4+IOnsNPKaPZZb0HnKd3UCJ4/xs/pNxp66YyVZRAbHTiXlSz8mw8no/H/+xIMTCeSDls/VirAihHkEZPC1/RKIfcty6bifh3JMEU/59OQ1kI+trwgRifWwAh+GHl02HIIME8wQJYYRZiJaSYz/JzqOuPSEDEfdCCtcZZiv/v3AJIBkxbDUBnyarOPzA8lWG3x+Vfcf89FJ0y/0h3Zr1N13jy70Tab6y7QO8/+XaSRFVOc7fX4fm+H4LP84pjrQogHzzLwkxJMAl9lDGKFQ6K2WCX3uCmC0Rt8pIJyF7WnTgXJxwk1/Mubr6VvPBwHlZw/1epFxsuDTDEediSRqfaBpgrCH2s/0dp61RU3kPuBisMGIqdkCIlRSgmuoO7pM9VL3L/1duqyX/GSyhTp+U3Of9sSBQf5j/E9S5V5fP7NeSwWdtId3f3fD/bb2XvP0XCde/VfTDeDyH/LB3ZTCGX8PdKsnxXZYaJ89BjAQSsHfX906vC96ETsQWDXc+VBwYgF4ZlEgYkMvG1nJ2ssgBa3fuPB3Je54HFQstz+A4usjxftuBhrXmKa7UA3Pz0d6C7Sy61uuC2q/efdwgA/e5UCZYk8MJVr8qsOjmbTk5PQ3bm+hx2X3117QrwuFagw6+ztEfn325F3n/1B56ROA+JCMT03zU/so18XMFCdO//HuX3KvXVZD4PJ27UW+oDaHfvv3Ny10Cdh3Ov0NF61s/TzI/dzvy9uPdf3UFrVQCAuYcpSOafFydce3r/CRGOPwl/tACiGZxMk1y9/6a5++aLCyKM5SaiOA99h9RfKv8S1T6ICFSFMDEkdhXvpn4fLQBOfd39B9Afz3Kfz1xfyZCLo/W9//D+Y+3RAJSoB5WehDzH05ww6CqK90UItuadtSoAOqrCCUcMPHAHblPvP7mupABU814n+xMPpx1W2iHxB1eX1MPikHnPwfkcFrmbaVWSNp8W8oJfvHB46keW/erih72jd+LkuAsrDEgPAMgwfULeg5sXXTHkirt1yWhx7796NVzWKHcm2BtbvXP9nyX0O3P5eQBgyZK39a21KgB6x6kNtNpfqfinRb3/opRi/iV0/iHmTyiM++EIHwCJbktz//kRcuH/8nUfl5kiG3tEAciCiw0w1fJLVwNi4oo4NXZIsdUnfIVE4wyjc8sE3sZxGjo5zQBohnF4VQFcrqXNvf84+bH4oT0Xv4PqPGo/wDjJaXqyhc0//9/uW6sCoH/s59whYcSMaaEt6v2HIOD4I//nOUL8GukVN/xzFYW4U7piL45IeHrP9e/McXvO5+4WGU6/wY8M52EMA16EPS+FZvEj3uk7CDZe/mjt8MSoAwgheTMtkxfzUUVPPN6jt5n7Nvo86oluT+8/Ijz0/nPhCNV9yOu0Ktyw2wuT8b/eLHvW7/RBbfo/X6sCAFjiweEm5x7cf23q/Yf4wwtH+a4sgDr3nwwxinm5FyqJ8fqA8mxK36i9gtAACUBJQuJTAvEn3Y9E/33JhX/995rydwk4K43pzlH5QdtIxKNMx+7w1rie5R+xiL54e+3b0fsP3Q7FqRfPYSAK4M6ybjKG4Z31LqF4b8oj29A81qoACB/FuDDSpHtwi3r/SRZg+VU82PkJFgAnBHnxhVJCny6HnlBY2N2F87DE268aeN8ho1b3fp36ejV4SN9RuwgPPqc/p54aYvBKp6z3T8KB8fht4d+m3n9yAqr3X3Le+4/25653Bg5/f3vNNRBb/edaFQCbSHn/sP/EWnDuxJyGHI14xBsOInktsSFkBQMQPHjUhXOBH08zlMJSz/BxcmtnL03gPIT4bx/qWzgPiYC0JtNRcX8SYLxqHFBzrJf5z5L5Nvf+kzKX5RM9mCp5nnrSu0l1mnQyIh4vlzMeN3zj/urprVcBlMmngPw5JyKHaJt6/+kUrDj1k2cgSu6/ev/502w+mrhvX/Fv14Y4Dz2FTtQ5IDgHSJNqHe6zdghQ5Py79vPN+6vi+ycY/8TCxXbkSYEJb/zOFLqjx4vrffAgvez91yXSUVT3iHvekaOXparnAQNjurZ+6r825089DQm/rjZU/yWQnNL7r6iOR/Pw0s1mA4IdpXtGA9ALp2hz5r7xmaxVASD3WAAV1XDoV+WGt6b3XzwZSvj7xIQzxG4Zkgw8JqjJxllCC3XZ+w/++2jx8EPUPMgCQPnxpdmDCUrIVRAz5FlF3kOstlkyieW/i5M//a0vb6cYO+UOt5weKo6vuu55XfUUBWE0ddmSfz1fpXZT+hvDnS73IUzd+GzintH/L979nywqPi1ry8daFQDg8nmVEsgVbKnN/9YAiAioJl614aqOEwFouiIXnjVVgWtkkqn/X4bwa636vqlScO0pRIWnWLhORkKA9DyiFUjiV7T+4rdDMYflHA6QKio5Cp/IFmjVYOY8tng2qRxIuf9dtXb7UopBQ//+3g3MNhuGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAobAdiDwX9mCiaMr5aY4AAAAAElFTkSuQmCC",originalColor:"#0F2D56",secondaryColor:"#3D8937",borderRadius:3};const VallourecTheme={logoSmallUrl:"data:image/png;base64,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dgh1xGwQ+IndT9zwg2O/v5hjlGzvj0CaAPpjsihrrrvwyN8g70/TW3vlRMCsDxNCH9JTtqmILvnVnm9fli97rdgSLp0IpAlg6YxlNtbe5XQs1b/RLUC1ffdJwFf86pN/bFdd3+QQtbWy4r3XXXLkVUsoVMmVEIE0ASyhS+H6iw+9u9XNThj0Pr+9EwB/y3cFeO/P1Z73/zxYhCAD/+buipX2gSNrTy9LKgJpAlhSw5llN/zo2A9jVb8Y6dvzDUDeGtg9vtD8DjuAsGXQ7YPxcj7A5IAL5M03/d8/bVhiYUruhAikCWCJXQp8jx5f1DlSW3shk1lP+PXUn22kbWIgHbb92iG08vyme++60xlLLETJnSgCaQKIgrFUyBsuO+4C5LJ9OjBs4801+6YgKP9mH5Z42w04xnTUfvLl579q81KJS/KjPwJpAuiPyZKoWZGN/TOW923czuvbfkxy0mHHz5NAW0NEMwT5L/dcvutZSyIYyYmBEUg/Cz4wNIu74c6bvnrbut2ftQuS/Cna4tMjuyWQa7Xf/LJbANSFW4FXXvmjIy4Va8KlGYG0A1ia42perRxbfQoS/paBLnIHwGI7geotQTxDuOTGH5+Av0uYylKPQJoAlvAIX/3DI27Hd3fXT9XFVruVvvAz1aAtUv40ASzSgZus2Q/d7SlnYVf/08nyY8L46vWXHf+1SfMnxkUdgTQBLOrhG278+efvP561WkcP5yQHvvDTztIXfiYXrCXBlSaAJTGMEztx42UnnMeVfWIutObFx66/9MRLhvIlhiUTgTQBLJmhHOJIOzsSk0BnIFeeb1/Raqcv/AwM0NJsSBPA0hzXPq82XHrij1H5/r6GUIHnBO+59rLjfzmoPdUvzQikCWBpjmuzV+3l+PPdecNPeaNuWZ6+8NMctSVdmyaAJT28vc5tuPSYm3Ab8MbeWkwJeX7GjT844eZ6fTpf+hFIE8DSH+MeD1ftdv+34m8JXV1W5vmGe2c7n1meJ2KHikCaAHao4c6yq88/eEvRapVv9eGDv6+//PL0hZ8d7DIo3U0TQBmKHYfY8OPjP459/4U4rtpz5W7v23E8T57WIzBWr0jnO0gE2vkR+Xj3QRdffOj2HcTj5GaKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIpAikCKQIrALETg/wMyQJ8pIYtP9gAAAABJRU5ErkJggg==",originalColor:"#469CDA",secondaryColor:"#469CDA",borderRadius:3};const LexmarkTheme={logoSmallUrl:"data:image/png;base64,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",originalColor:"#008A44",secondaryColor:"#006446",borderRadius:3};const ElementalMachinesTheme={logoSmallUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAABdWlDQ1BrQ0dDb2xvclNwYWNlRGlzcGxheVAzAAAokXWQvUvDUBTFT6tS0DqIDh0cMolD1NIKdnFoKxRFMFQFq1OafgltfCQpUnETVyn4H1jBWXCwiFRwcXAQRAcR3Zw6KbhoeN6XVNoi3sfl/Ticc7lcwBtQGSv2AijplpFMxKS11Lrke4OHnlOqZrKooiwK/v276/PR9d5PiFlNu3YQ2U9cl84ul3aeAlN//V3Vn8maGv3f1EGNGRbgkYmVbYsJ3iUeMWgp4qrgvMvHgtMunzuelWSc+JZY0gpqhrhJLKc79HwHl4plrbWD2N6f1VeXxRzqUcxhEyYYilBRgQQF4X/8044/ji1yV2BQLo8CLMpESRETssTz0KFhEjJxCEHqkLhz634PrfvJbW3vFZhtcM4v2tpCAzidoZPV29p4BBgaAG7qTDVUR+qh9uZywPsJMJgChu8os2HmwiF3e38M6Hvh/GMM8B0CdpXzryPO7RqFn4Er/QcXKWq8UwZBywAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAABAKADAAQAAAABAAABAAAAAABEIjhzAAAIzklEQVR4Ae3csW4cRRgH8FkLCwOWCG2gThEKUyDRBIknwFA6SIhXoIrEA4BSpaWMkAgtyRNEwgVINCnMG5CUSSQ7MQrysmOiFFFm9jTxrnfmfq4cz83sN79v5+/L+XQh+CJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI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",originalColor:"#2F59F5",secondaryColor:"#2F59F5",borderRadius:3};const EuEntregoTheme={logoSmallUrl:"data:image/png;base64,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",originalColor:"#00B9CC",secondaryColor:"#00B9CC",borderRadius:3};const FitesaTheme={logoSmallUrl:"data:image/png;base64,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",originalColor:"#005A60",secondaryColor:"#7BC5BF",borderRadius:3};const FuelicsTheme={logoSmallUrl:"data:image/png;base64,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",originalColor:"#277822",secondaryColor:"#01060A",borderRadius:3};const HealthmetryxTheme={logoSmallUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAABdWlDQ1BrQ0dDb2xvclNwYWNlRGlzcGxheVAzAAAokXWQvUvDUBTFT6tS0DqIDh0cMolD1NIKdnFoKxRFMFQFq1OafgltfCQpUnETVyn4H1jBWXCwiFRwcXAQRAcR3Zw6KbhoeN6XVNoi3sfl/Ticc7lcwBtQGSv2AijplpFMxKS11Lrke4OHnlOqZrKooiwK/v276/PR9d5PiFlNu3YQ2U9cl84ul3aeAlN//V3Vn8maGv3f1EGNGRbgkYmVbYsJ3iUeMWgp4qrgvMvHgtMunzuelWSc+JZY0gpqhrhJLKc79HwHl4plrbWD2N6f1VeXxRzqUcxhEyYYilBRgQQF4X/8044/ji1yV2BQLo8CLMpESRETssTz0KFhEjJxCEHqkLhz634PrfvJbW3vFZhtcM4v2tpCAzidoZPV29p4BBgaAG7qTDVUR+qh9uZywPsJMJgChu8os2HmwiF3e38M6Hvh/GMM8B0CdpXzryPO7RqFn4Er/QcXKWq8UwZBywAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAABAKADAAQAAAABAAABAAAAAABEIjhzAAAWTUlEQVR4Ae2dD4wc1X3H35vd+2O75k/wnQ8DTaFCISaljZuoEi0kkIQag+8w9m3AJaCWiEpRWrW0ilrStKZJqRo1EaBUURSoAiUQ7g5ir/nTlqQyfxRIEwMtxihRUogC+O5sEvPHcH925/U3xgifmZuZ3Z3dffPeZ6TT7c77vfd+v89v57tv3ryZ1SplGx6f+gsxWZ5i1rXioNx7/dYNx+7vmgMNdrx+fPIarXRvg9XaZl4Ogq/dvXFgT9s6oGGrCZQzeBcJwPEZ7LpiUp+fvUU6LowAyMH/WfF3aVdgxXQ6r1RVdiMAMWx82BX4ECQxQgAC8QQQgHgu7IWAFwQQAC/STJAQiCeAAMRzYS8EvCCAAHiRZoKEQDwBBCCeC3sh4AUBBMCLNBMkBOIJIADxXNgLAS8IIABepJkgIRBPAAGI58JeCHhBAAHwIs0ECYF4AghAPBf2QsALAgiAF2kmSAjEE0AA4rmwFwJeEEAAvEgzQUIgngACEM+FvRDwggAC4EWaCRIC8QQQgHgu7IWAFwQQAC/STJAQiCeAAMRzYS8EvCCAAHiRZoKEQDwBBCCeC3sh4AUBBMCLNBMkBOIJIADxXNgLAS8IIABepJkgIRBPAAGI58JeCHhBAAHwIs0ECYF4AghAPBf2QsALAgiAF2kmSAjEE0AA4rmwFwJeEEAAvEgzQUIgngACEM+FvRDwggAC4EWaCRIC8QQQgHgu7IWAFwTKhY9SBxeOjE1O2xJHqVR66O6NA3sW80drdVeodO9i5Xnu18ask/aW59kmbblFoPACoJW50chRZctWN+YC8WVRAdi2aeXlnfJ1eHzyGaX0aZ3qj36KR4BTgOLlDI8hkBuB1BGA1maDMkFHhqxZojLK3CB2789iiw0EIJBMIFUAtm0a+n5yE50tHR6b3q+06Wyn9AYBRwlwCuBoYgkLAlkIIABZKGEDAUcJIACOJpawIJCFAAKQhRI2EHCUAALgaGIJCwJZCCAAWShhAwFHCSAAjiaWsCCQhQACkIUSNhBwlAAC4GhiCQsCWQggAFkoYQMBRwkgAI4mlrAgkIUAApCFEjYQcJQAAuBoYgkLAlkIIABZKGEDAUcJIACOJpawIJCFAAKQhRI2EHCUAALgaGIJCwJZCCAAWShhAwFHCSAAjiaWsCCQhQACkIUSNhBwlAAC4GhiCQsCWQggAFkoYQMBRwkgAI4mlrAgkIUAApCFEjYQcJQAAuBoYgkLAlkIIABZKGEDAUcJIACOJpawIJCFAAKQhRI2EHCUAALgaGIJCwJZCCAAWShhAwFHCSAAjiaWsCCQhQACkIUSNhBwlAAC4GhiCQsCWQiUsxhhkz+B9RPTFW3Ml/NveUGLKxe84w0EjiBQOAEwOvyyNvpbR8Rhz9va/FOZnAnVUqXVCZlsMUolcN6tk8uW9Ya/Wgt6BpWuLw+M7lHK9IZK96pAz+pQHzBKvaYDdUCFZr9ZUntx+/pVr6c27LhB4QRg++jQPY7nhPBSCFw4MX1qKQzXGK3XiOkZ8vc++TuxrkqiqaG81Mpo+Sf/D/4zcuhrc+j1wd1Kz5TU8PjUL+Xd8/L3glj8TL5YdgW6vqs+b3Zt37xqn+x3fiucADifEQJcQGDLFhM8uXrvGSZQZxtjPiSFZyljBuTgX2DX5JtjpV709xtv6oUR+QhUNHYQcZiU/dFo7rFQmQd1f/ioiyMGBEAyzGYXgfW3v7hC95aHTaguelxPny3eHa3kK7rD25D0F/19TCThc2qmNC+i8AMZU+wQIdrRp/Y9OF45fa7DPuXeHQKQO1IabIbAhWP7TghUuEHqXizD9bPlW76Uz5d8M97E1pFxgTrTKHOmnEtcM6tW7BdB2KZMMN6nph8oqhggALG5ZmcnCIyO/XzJjOrZLN+qn5SJu9+RPnMZ13fCd+njGPm7QunwChGDl0cmpqomDO5cs3vF/Vu26GgiohAbAlCINLnl5AV3TZ1SCtWnZpX6Iznio3Pwom9HyzzjJ0QMPvH46dPPDo9NfaVP9dw8XnnXy7YHhgDYniFX/DNGr5/Yu1aZ8NPy/bhWwnJ1EdrJMo750qya//uR8albjAlurFYGfmRrGl1Ngq28vfMrmsUfHp+8ZHhiardcnLtPa73O4YP/8Pwuk3nLT8mo4BmJ/x6JP7pcad2GAFiXEncckkmyi59YPf0/cmp/h/yd5k5kDUUiZzn6ArmK8cTwxPRNF9+19/iGarfZmFOANgP2sfmLxqZ/K9TmRon9rDcX5PhI4R0xB3Jl48qaMZeMjE19MVxS/2cb1hUwAnhHntjRLIENdz9/nAx1vyYH/05p46xm23G83jIRxWtlJeKPo1OjbseKAHQ7A470PzI2vale79ktQ92rJCQ+V+l5lftA9B1ymvRvw9v2Lk83b48FiWoPV29aPX9sz4B8iMeMNuMS9KA3gecX6GVqLnxyZGIyWgfR8Q0B6DhydzocuWvqoz062CURjboTVVciOUWukj4yPD7919FVk0560NHOOhkYfbWPQPQhXT8xda2s1f8P6YVv/XxQy4S8ue7x1Xu/E82l5NNkeisIQDojLA4jEN2oI6vdHpC7a/9WdvP5OYxNLi+1OUfmUh4avmPvqlzaS2mEBKYAovhtAsNje9+je0uPyZ5z397LqzYQWK3K4SPRkuk2tL2gSQRgAQ7eLEbgovE9H5ZVbY/KLP+vL2bD/lwJnCz3Szy8fmLP6bm2ekRjqQuBhif2fkCbsPeIeta8nVv2ys77150q95WwtYvA+onJS0OjvyHtW/s5aFfsXW53lTbBg3IMrq1uGvhhO3xJFQC5eaMqa5qtWr54OIjya8ujYdKzh+/jdX4EZPnqFbKC7V+lRUaL+WFtpKXj5Bj8L8nDh6qbBp9opGIWW5KahZKnNuvHJq/k4Lci+cvlCdLfjiZg8/YGAcibqCPtyT3tV8mde1+XcPiMWJBTGYW/W/eU7hwdM6U83SG5edJ0pC25xr9R7mn/qoRTpCf0OEI/MYxzZ4PpLyZaNFiIADQIzHXz9WPTvyfX+G+TOPls2Jhso64eGZvcnJdrJDkvkg60MzK2Z7XWpiqh9DsQjrMhyCPRb4puuc4jQAQgD4oOtHFw+akO7pNQXHhGnwMZSQxhST1Qt4+OPd3yZVkEIJGzH4XR2v56reeb0USTHxEXP0q5KvDeObXir1qNBAFolaAD9Xe+b/rvZLrv9x0IxasQ5MEi10TLs1sJGgFohZ4DdXVYXyeTfp9zIBQfQ+iT5dnXtxJ4+krAVlqnbgEI6C3iZFEu9x0QX/9P7kf4pXgcvX5Nfj3ogDyT/0D05E05hZHn8+uj5OnDR0vZ0WJzlPyPfsDD5XmNtcN3TZ9d3Tj4kMTZ8IYANIzMuQq5LizJiU5NDvIfyoXIh+W4flqeO/DTulI/ua8yONlM+xd8c/+xumf2tCDQ75V77j8gbUe/N7ha/ooifMlhh+YfxeB3k43iSxGAeC7s7TyBp+TyVlWH5sGZGfO9/7x8KPqGz2W79w+OiX4G/NFDf9F9DSq66hHWyh8VDbhEzqXPl1190f6CbmeOTEyv27ZpMLqK09CGADSEC+OcCUzJsP32ktG3bq0MPplz24nNffviE18Sgzujv/Nve+mo3r75SqiDq6PZ9cSKthYac7W4hgDYmh/8WkBgp/zK7uf7zcp7xitaRvfd3e6/7LhXxIOb5Manm2UZ9LDcgvtZmVH4YHe9aqx3EdKPRM8O2L7p+KcbqckIoBFa2LZK4Ak5yLZUK0PRakP7NlkGuV0p+clvU5Vf+70yVPqfZJLgXfY5Gu+RVsGfSskfx5fG7+UyYDwX9uZLYI82elTuZ/9taw/+w+MVIdg2OnSTmq+/R+YIvnV4kdWvjbrsvFsnlzXiIwLQCC1smyFwa32u7/RtlcEJJQdWMw10q872zav2VUcHL5XTlT8XH2rd8qOBfpf2LVXDDdhzx1cjsLBtiMCLygQXVkdXXnFoFr6hyjYZbx8duj5Q4cdEvX5hk19xvshIq6GfG2MEEEeRfa0S+L6aV2uqlYF7W23IlvpbR4/fUTLBeeLPy7b4tIgfa0fHfhEthMq0IQCZMGHUAIHxPjN3TnXzyqkG6hTCdGtlYKcJzFpx9lWLHe6dCebWZfUPAchKCrtUAlrp62Si7+PjlZPeSDUuqMH2jUOPhcpsEPdDa0MwwblZfUMAspLCLpGALKD5m22jg3L9vFgTfYlBLVJ4z+jQdyXKaxcp7vpuuRfiI1mdQACyksIuicCXtlWG/iHJwLWy9+8e/IKsEfiupXGdLE90PjmLbwhAFkrYLE5A65tlpv8vFzdws2TLFh3OG32ZRGflpKAOguiGp9QNAUhFhEECgeqaXQNXJZQ7XXTw7kSj7Bz5GJXpmYEIgNMf0TYGp9VzQbn3iuibsI29WN90n9p3g9xU/FPrHDXqN7P4hABkoYTNkQTmgjD8+NYNx+4/ssC39+OV0+fk+QKfsS5ubc7I4hMCkIUSNgsJGPOZrZXj/3vhTn/fyRzI3fIsg2csI3DchWP7TkjzibsB0wi1qVyWlsotscE1bWr+ULMH17AP5NmHMea+7ZWhG/Js04m2jPmKxPEvNsVS0uEp4s8LST4hAEl02lgml82ekuajv7Ztw+OTl8vdbHkKwIw4++m2OVzghvvloSaz+uCjuY6yJYxQhyem+cIpQBohyg8ncJ18+z97+A5ev0lgvDL4mizAucUmHnJj0Elp/iAAaYQof4vAT+aXvZLrD1O+1bAr/2U15G02xSKCxAjApoQU2hej/+T+dafOFjqGNju/dXToB9KFPTdBGb0qLWRGAGmEKJcnaauHqpXBfwdFCoGD90EYa26Blqcdp85HIAApOaVYphFL6vNwyEZALgfKYwWt2VIfD4YAWJMrSx0x6rFtG1d+x1LvrHNr9nXzgDg1b4VjRiEAViSi0E4EXyi0+x12/uAPmpj2Xt7NHJJOF4As6wCul0Hg8syddtgwnO/zfjlqG5E/4dJjvdrIaUHTchrwuMzAr1mwsztvlqZ1myoAssyRSz9pFF0t1+arrobWzrhkLnCnTJx+sp19ZGw79fhmDiAjSQ/NDqieUnGeiW9RguRGqcctcSf1h18RAEsyZZ8b5s7qyIDND7+0D9khj/YfmPlfeVmzwMHU4zvVwIIgcKELBEKjb+pCt050ueMPT56Rx4Ul3oTToUBTj+9Ugw45Sjd2Edh9T2Vl9HPabE0SMEY932TVPKtxCpAnTV/akjXtt/sSa7viNIG2QQBSv+BTDdoFiHbtJVAryy/ksrVEQETUBgFgBNBSFn2sLM+3u/fioV0+hp5rzMb8PNf2mmss9Qs+1aC5fqlVVAJy7lotqu9W+a2DFy3wJ/X4Tl0oYEEQC1wYueOFk0ypN3WF04JKHXwzM1N//uBy0A72mWtXJmD4nwdQI78fKJcCurylngIUTgBMufwN+Vm2c7sMdtHulywNLpDC+xY1sLvgpX614hG7XSyGd0bpN2Q5cPedNXJTcMLPtaUOEbofAR50ioD83t2O8Yqud6o/l/sJgnr0/MSub6PjKvEYTyzsuvc40FkCgX6osx2621s0ArAjut2JpwEIgB1ZssILGbA+bIUjDjgRWiIAew8sTTzGEwsdyAMhZCfwSl84EK1hZ8uBQK8uWTECWL6iL/EYTyzMgQNNFIfA9zj/zy9ZtdmaFU8F6n+jnHiMJxbmh4OWbCdglGH4b3uSmvBvtk8nXoxEAJqA6mQVefafk3F5HlTfbCnxGE8s9JydX+HXQs7/Hcz46/NB4jGeWOggD0KKJ7Bn++ZV++KL2FtkAkt7XuUUoMgJ7IjvRvHt3xHQne9kpsYpQOepF63HAAEoWsqy+lvu5xQgKyuf7RgBOJr9+gxXARxNbX5hhYElP2SRX0i0dIhAuY8RAB+GFAJLanM/TjGhuKAE5uo6caI/sbCgMeN2YwSmxisnWbFstTG3sc5CoLfEKUAWTj7bPOdz8K7HPl+fTfySTyx0HQ7xRQT0s3Bwl0CJUwB3k5tHZEaHz+XRDm3YSWC+N3kSsHCPBLMTc3avhscnd8i3bn/2Gi1Z/lpabR0yAkhjVOTynvnkJxMiAB3Prv6gdGnNQ03liXHPdRwBHXaMQBgwCdgx2IXsKAi4B6CQicvmtKzx4F6AbKiwgoB/BLgK4F/OidgjAj01TgE8SjehQmAhgTqnAAuB8A4CPhGQXylmDsCnhBMrBA4nUK7NIQCHA+E1BHwiwGVAn7JNrBA4ggCXAY8AwlsI+ESAEYBP2SZWCBxBoFxjIdARSHgLAX8IcBXAn1wTKQTeQYA5gHcgYQcEIPAWAZYCv0WC/xBwkECZpcAOZpWQIJATAUYAOYGkGQgUkQACUMSs4TMEMhJImwQs3hOBjKmqQP8oY/wdNwtV/WeJnWr9daVMb6JNXoVGXSpNHZNXc7TjHoHCCUC1MnRDkdNQ3TT4Z53yX54/eI48fxAB6BTwAvbDKUABk4bLEMhKwGhuB87KCjsIeEeAEYB3KSdgCLxNAAF4mwWvIOAdAQTAu5QTsE8ESnXuBvQp38QKgYYIMAJoCBfGEHCLAALgVj6JBgILCKStBEQAFuDiDQTcIhCEyiRFhAAk0aEMAo4TQAAcTzDhQSCJAAKQRIcyCBScQL3EKUDBU4j7EGgfAUYA7WNLyxCwngACYH2KcBACzRPQxnAVoHl81ISA2wQYAbidX6KDQCIBBCARD4UQcJsAAuB2fonOcwKsBPT8A0D4EEgiwAggiQ5lEHCcAALgeIIJz28CtTKXAf3+BBA9BBIIMAJIgEMRBIpOgEnAomcQ/yHQAgEdcgrQAj6qQqDYBGpl7gYsdgbxHgItEAgYAbRAj6oQKDgB5gAKnkDch0ArBBgBtEKPuhAoOIFauZfbgQueQ9yHQNsIsA6gbWhpGALdJ5B2GbDcfRf98mB4bGqnCfSSjkRtzCkd6YdOrCVQSvldAASg06nT6jR5TNPSTndLf34SmOdeAD8TT9QQiAhwGZDPAQQ8JsBlQI+TT+gQmO9hKTCfAgh4SyCoczOQt8kncAiUEAA+BBDwl0C9ZMKk6FkIlESHMggUnACnAAVPIO5DoBUC9VIfI4BWAFIXAkUmwAigyNnDdwi0SKDcy2XAFhFSHQLFJVCbDTkFKG768BwCrREo9bMOoDWC1IZAgQnUZhgBFDh9uA6B1giU+0OeCNQaQmpDoLgE5t74FeYAips+PIdAawR6ljIH0BpBakOgwARmDzAHUOD04ToEWiPQs5w5gNYIUhsCBSbQN8spQIHTh+sQaI3AzJIak4CtIaQ2BIpLoP+NOpcBi5s+PIdAqwReqSe1wPMAkuhQBoGCE9g7sJpTgILnEPch0DSBDz+oEICm6VERAgUnsGWLRgAKnkPch0CzBBInAKNGmQNoFi31IGA/gcRv/8h9BMD+JOIhBJolgAA0S456EHCAAALgQBIJAQLNEkAAmiVHPQg4QAABcCCJhACBZgkgAM2Sox4EHCCAADiQREKAQLMEEIBmyVEPAg4QQAAcSCIhQKBZAqkCUG62Zeo1TWBKai5punbOFYN6fT7nJmnOHgIIgD25eNOT6ujKU2zzCX/yJzBTM6/19+hr82+5oRZfTbP+fwykZ9aR4HruAAAAAElFTkSuQmCC",originalColor:"#4EABE9",secondaryColor:"#4EABE9",borderRadius:3};const getSpecFromTenant=tenant=>{switch(tenant){case"brf-global.com":case"pilkington.com":case"jbs.com.br":case"unipac.com.br":case"cecil.com.br":case"tirolez.com.br":case"eldoradobrasil.com.br":case"entrevias.com.br":case"ibbx.tech":return Object(Theme["d"])(IBBXTheme,dist_namespaceObject);case"choiceiot.com":return Object(Theme["d"])(ChoiceIotTheme,dist_namespaceObject);case"sgpam.com.br":return Object(Theme["d"])(SGPAMTheme,dist_namespaceObject);case"embraer.com":return Object(Theme["d"])(EmbraerTheme,dist_namespaceObject);case"mwm.com.br":return Object(Theme["d"])(MWMTheme,dist_namespaceObject);case"sew.com.br":return Object(Theme["d"])(SEWTheme,dist_namespaceObject);case"confibra.com.br":return Object(Theme["d"])(ConfibraTheme,dist_namespaceObject);case"jmendes.com.br":return Object(Theme["d"])(JMendesTheme,dist_namespaceObject);case"saaecapivari.com.br":return Object(Theme["d"])(SAAECapivariTheme,dist_namespaceObject);case"saomartinho.com.br":return Object(Theme["d"])(SaoMartinhoTheme,dist_namespaceObject);case"vallourec.com":return Object(Theme["d"])(VallourecTheme,dist_namespaceObject);case"lexmark.com":return Object(Theme["d"])(LexmarkTheme,dist_namespaceObject);case"elementalmachines.com":return Object(Theme["d"])(ElementalMachinesTheme,dist_namespaceObject);case"euentrego.com":return Object(Theme["d"])(EuEntregoTheme,dist_namespaceObject);case"fitesa.com":return Object(Theme["d"])(FitesaTheme,dist_namespaceObject);case"fuelics.com":return Object(Theme["d"])(FuelicsTheme,dist_namespaceObject);case"healthmetryx.com":return Object(Theme["d"])(HealthmetryxTheme,dist_namespaceObject);default:return Object(Theme["d"])(HoparaTheme,dist_namespaceObject)}};const createMuiThemeFromTenant=tenant=>{const spec=getSpecFromTenant(tenant);return Object(Theme["c"])(spec)}},function(module,__webpack_exports__,__webpack_require__){"use strict";var external_react_=__webpack_require__(5);var external_react_default=__webpack_require__.n(external_react_);var external_feather_icons_react_=__webpack_require__(118);var external_feather_icons_react_default=__webpack_require__.n(external_feather_icons_react_);function _extends(){_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function SvgCompass(_ref,svgRef){let{title,titleId,...props}=_ref;return external_react_["createElement"]("svg",_extends({viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",ref:svgRef,"aria-labelledby":titleId},props),title?external_react_["createElement"]("title",{id:titleId},title):null,external_react_["createElement"]("g",{fillRule:"evenodd",transform:"matrix(1.021277, 0, 0, 1.021277, 7.404254, -0.000004)"},external_react_["createElement"]("path",{d:"M 4.55 23.5 L 0 11.75 L 4.55 0 L 9 11.75 L 4.55 23.5 Z M 4.54 20.704 L 7.836 11.75 L 1.087 11.75 L 4.54 20.704 Z",style:{stroke:"none"}})))}const ForwardRef=external_react_["forwardRef"](SvgCompass);var compass=__webpack_require__.p+"static/media/compass.1b7cfab3.svg";var _path;function target_extends(){target_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return target_extends.apply(this,arguments)}function SvgTarget(_ref,svgRef){let{title,titleId,...props}=_ref;return external_react_["createElement"]("svg",target_extends({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",ref:svgRef,"aria-labelledby":titleId},props),title?external_react_["createElement"]("title",{id:titleId},title):null,_path||(_path=external_react_["createElement"]("path",{d:"M11,2V4.07C7.38,4.53 4.53,7.38 4.07,11H2V13H4.07C4.53,16.62 7.38,19.47 11,19.93V22H13V19.93C16.62,19.47 19.47,16.62 19.93,13H22V11H19.93C19.47,7.38 16.62,4.53 13,4.07V2M11,6.08V8H13V6.09C15.5,6.5 17.5,8.5 17.92,11H16V13H17.91C17.5,15.5 15.5,17.5 13,17.92V16H11V17.91C8.5,17.5 6.5,15.5 6.08,13H8V11H6.09C6.5,8.5 8.5,6.5 11,6.08M12,11A1,1 0 0,0 11,12A1,1 0 0,0 12,13A1,1 0 0,0 13,12A1,1 0 0,0 12,11Z"})))}const target_ForwardRef=external_react_["forwardRef"](SvgTarget);var target=__webpack_require__.p+"static/media/target.5caa5a92.svg";var _g;function place_row_extends(){place_row_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return place_row_extends.apply(this,arguments)}function SvgPlaceRow(_ref,svgRef){let{title,titleId,...props}=_ref;return external_react_["createElement"]("svg",place_row_extends({width:"24px",height:"24px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",ref:svgRef,"aria-labelledby":titleId},props),title===undefined?external_react_["createElement"]("title",{id:titleId},"placeRow"):title?external_react_["createElement"]("title",{id:titleId},title):null,_g||(_g=external_react_["createElement"]("g",{id:"placeRow",fillRule:"evenodd"},external_react_["createElement"]("polygon",{fill:"currentColor",points:"12 2 16.2426407 6.24264069 15.1213203 7.36396103 13 5.242 13 11 18.759 11 16.636039 8.87867966 17.7573593 7.75735931 22 12 17.7573593 16.2426407 16.636039 15.1213203 18.757 13 13 13 13 18.757 15.1213203 16.636039 16.2426407 17.7573593 12 22 7.75735931 17.7573593 8.87867966 16.636039 11 18.759 11 13 5.242 13 7.36396103 15.1213203 6.24264069 16.2426407 2 12 6.24264069 7.75735931 7.36396103 8.87867966 5.24 11 11 11 11 5.24 8.87867966 7.36396103 7.75735931 6.24264069"}))))}const place_row_ForwardRef=external_react_["forwardRef"](SvgPlaceRow);var place_row=__webpack_require__.p+"static/media/place-row.c46a02cf.svg";var filter_large_path;function filter_large_extends(){filter_large_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return filter_large_extends.apply(this,arguments)}function SvgFilterLarge(_ref,svgRef){let{title,titleId,...props}=_ref;return external_react_["createElement"]("svg",filter_large_extends({xmlns:"http://www.w3.org/2000/svg",height:48,width:48,ref:svgRef,"aria-labelledby":titleId},props),title?external_react_["createElement"]("title",{id:titleId},title):null,filter_large_path||(filter_large_path=external_react_["createElement"]("path",{d:"M21.3 34.7v-1.1h5.4v1.1Zm-8-11.15v-1.1h21.4v1.1Zm-6-11.15v-1.1h33.4v1.1Z"})))}const filter_large_ForwardRef=external_react_["forwardRef"](SvgFilterLarge);var filter_large=__webpack_require__.p+"static/media/filter-large.61677ff2.svg";var table_large_path;function table_large_extends(){table_large_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return table_large_extends.apply(this,arguments)}function SvgTableLarge(_ref,svgRef){let{title,titleId,...props}=_ref;return external_react_["createElement"]("svg",table_large_extends({xmlns:"http://www.w3.org/2000/svg",height:48,width:48,ref:svgRef,"aria-labelledby":titleId},props),title?external_react_["createElement"]("title",{id:titleId},title):null,table_large_path||(table_large_path=external_react_["createElement"]("path",{d:"M8.6 39.4V8.6h30.8v30.8Zm1.1-21.3h28.6V9.7H9.7Zm9.9 10.1h8.8v-9h-8.8Zm0 10.1h8.8v-9h-8.8ZM9.7 28.2h8.8v-9H9.7Zm19.8 0h8.8v-9h-8.8ZM9.7 38.3h8.8v-9H9.7Zm19.8 0h8.8v-9h-8.8Z"})))}const table_large_ForwardRef=external_react_["forwardRef"](SvgTableLarge);var table_large=__webpack_require__.p+"static/media/table-large.72b90bd0.svg";var layers_large_path;function layers_large_extends(){layers_large_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return layers_large_extends.apply(this,arguments)}function SvgLayersLarge(_ref,svgRef){let{title,titleId,...props}=_ref;return external_react_["createElement"]("svg",layers_large_extends({xmlns:"http://www.w3.org/2000/svg",height:48,width:48,ref:svgRef,"aria-labelledby":titleId},props),title?external_react_["createElement"]("title",{id:titleId},title):null,layers_large_path||(layers_large_path=external_react_["createElement"]("path",{d:"M24 35.9 10.2 25.2l.85-.7L24 34.5l12.95-10 .85.7Zm0-6.15-13.8-10.7L24 8.35l13.8 10.7Zm0-11Zm0 9.6 12-9.3L24 9.8l-12 9.25Z"})))}const layers_large_ForwardRef=external_react_["forwardRef"](SvgLayersLarge);var layers_large=__webpack_require__.p+"static/media/layers-large.596ff81a.svg";var tune_large_path;function tune_large_extends(){tune_large_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return tune_large_extends.apply(this,arguments)}function SvgTuneLarge(_ref,svgRef){let{title,titleId,...props}=_ref;return external_react_["createElement"]("svg",tune_large_extends({xmlns:"http://www.w3.org/2000/svg",height:48,width:48,ref:svgRef,"aria-labelledby":titleId},props),title?external_react_["createElement"]("title",{id:titleId},title):null,tune_large_path||(tune_large_path=external_react_["createElement"]("path",{d:"M23.1 40.7v-9.2h1.1v4.05h16.5v1.1H24.2v4.05ZM7.3 36.65v-1.1h9.5v1.1Zm8.4-8.05v-4.05H7.3v-1.1h8.4V19.4h1.1v9.2Zm7.4-4.05v-1.1h17.6v1.1Zm8.1-8.1V7.3h1.1v4.05h8.4v1.1h-8.4v4Zm-23.9-4v-1.1h17.6v1.1Z"})))}const tune_large_ForwardRef=external_react_["forwardRef"](SvgTuneLarge);var tune_large=__webpack_require__.p+"static/media/tune-large.ecd7a42c.svg";var styles_=__webpack_require__(119);var icons_material_=__webpack_require__(22);var jsx_runtime_=__webpack_require__(0);class Icons_Icons extends external_react_default.a.PureComponent{render(){const style={...this.props.style,fill:"currentColor",width:"1em",height:"1em"};if(this.props.icon==="compass"){return Object(jsx_runtime_["jsx"])(ForwardRef,{style})}if(this.props.icon==="target"){return Object(jsx_runtime_["jsx"])(target_ForwardRef,{style})}if(this.props.icon==="placing-row"){return Object(jsx_runtime_["jsx"])(icons_material_["LocationOnOutlined"],{style})}if(this.props.icon==="place-row"){return Object(jsx_runtime_["jsx"])(place_row_ForwardRef,{style})}if(this.props.icon==="filter-large"){return Object(jsx_runtime_["jsx"])(filter_large_ForwardRef,{style})}if(this.props.icon==="table-large"){return Object(jsx_runtime_["jsx"])(table_large_ForwardRef,{style})}if(this.props.icon==="layers-large"){return Object(jsx_runtime_["jsx"])(layers_large_ForwardRef,{style})}if(this.props.icon==="tune-large"){return Object(jsx_runtime_["jsx"])(tune_large_ForwardRef,{style})}if(this.props.icon==="edit"){return Object(jsx_runtime_["jsx"])(icons_material_["EditOutlined"],{style})}if(this.props.icon==="delete"){return Object(jsx_runtime_["jsx"])(icons_material_["DeleteOutline"],{style})}if(this.props.icon==="toggleOn"){return Object(jsx_runtime_["jsx"])(icons_material_["ToggleOnOutlined"],{style})}if(this.props.icon==="toggleOff"){return Object(jsx_runtime_["jsx"])(icons_material_["ToggleOffOutlined"],{style})}if(this.props.icon==="search"){return Object(jsx_runtime_["jsx"])(icons_material_["SearchOutlined"],{style})}if(this.props.icon==="accountCircle"){return Object(jsx_runtime_["jsx"])(icons_material_["AccountCircleOutlined"],{style})}if(this.props.icon==="help"){return Object(jsx_runtime_["jsx"])(icons_material_["HelpOutlineOutlined"],{style})}if(this.props.icon==="logout"){return Object(jsx_runtime_["jsx"])(icons_material_["Logout"],{style})}return Object(jsx_runtime_["jsx"])(external_feather_icons_react_default.a,{icon:this.props.icon,style:this.props.style})}}var icons_Icons=__webpack_exports__["a"]=Object(styles_["withTheme"])(Icons_Icons)},function(module,exports){module.exports=require("math.gl")},function(module,exports){var g;g=function(){return this}();try{g=g||new Function("return this")()}catch(e){if(typeof window==="object")g=window}module.exports=g},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Filters}));var lodash_fp__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(3);var lodash_fp__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_0__);class Filters extends Array{push(item){const existingFilter=this.find((filter=>Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["isEqual"])(filter,item)));if(!existingFilter){return super.push(item)}return this.length}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return toFilters}));var _column_ColumnType__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(24);var _Filter__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(55);var _Filters__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(81);function toFilters(box,xField,yField,zField,columns){var _columns$get,_columns$get3;const filters=new _Filters__WEBPACK_IMPORTED_MODULE_2__["a"];if(!box)return filters;if(xField&&((_columns$get=columns.get(xField))===null||_columns$get===void 0?void 0:_columns$get.getType())!==_column_ColumnType__WEBPACK_IMPORTED_MODULE_0__["a"].JSON){var _columns$get2;if(((_columns$get2=columns.get(xField))===null||_columns$get2===void 0?void 0:_columns$get2.getType())===_column_ColumnType__WEBPACK_IMPORTED_MODULE_0__["a"].GEOMETRY){filters.push({field:xField,type:_Filter__WEBPACK_IMPORTED_MODULE_1__["a"].INTERSECT,values:box.getPolygon()})}else{filters.push({field:xField,type:_Filter__WEBPACK_IMPORTED_MODULE_1__["a"].RANGE,values:[box.x.getMin(),box.x.getMax()]})}}if(yField&&((_columns$get3=columns.get(yField))===null||_columns$get3===void 0?void 0:_columns$get3.getType())!==_column_ColumnType__WEBPACK_IMPORTED_MODULE_0__["a"].JSON){var _columns$get4;if(((_columns$get4=columns.get(yField))===null||_columns$get4===void 0?void 0:_columns$get4.getType())===_column_ColumnType__WEBPACK_IMPORTED_MODULE_0__["a"].GEOMETRY){filters.push({field:yField,type:_Filter__WEBPACK_IMPORTED_MODULE_1__["a"].INTERSECT,values:box.getPolygon()})}else{filters.push({field:yField,type:_Filter__WEBPACK_IMPORTED_MODULE_1__["a"].RANGE,values:[box.y.getMin(),box.y.getMax()]})}}if(zField){if(zField&&box.z){filters.push({field:zField,type:_Filter__WEBPACK_IMPORTED_MODULE_1__["a"].RANGE,values:[box.z.getMin(),box.z.getMax()]})}}return filters}},function(module,exports){module.exports=require("@turf/transform-rotate")},function(module,__webpack_exports__,__webpack_require__){"use strict";(function(setImmediate){__webpack_require__.d(__webpack_exports__,"a",(function(){return memoize}));var fast_memoize__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(116);var fast_memoize__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(fast_memoize__WEBPACK_IMPORTED_MODULE_0__);const defaultStore=new Map;const memoize=(fn,options)=>fast_memoize__WEBPACK_IMPORTED_MODULE_0___default()(fn,{cache:{create(){var _options$cacheStore,_options$cachePrefix;const store=(_options$cacheStore=options===null||options===void 0?void 0:options.cacheStore)!==null&&_options$cacheStore!==void 0?_options$cacheStore:defaultStore;const keyPrefix=(_options$cachePrefix=options===null||options===void 0?void 0:options.cachePrefix)!==null&&_options$cachePrefix!==void 0?_options$cachePrefix:"";return{has(key){var _options$cacheKey;return store.has((_options$cacheKey=options===null||options===void 0?void 0:options.cacheKey)!==null&&_options$cacheKey!==void 0?_options$cacheKey:keyPrefix+key)},get(key){var _options$cacheKey2;return store.get((_options$cacheKey2=options===null||options===void 0?void 0:options.cacheKey)!==null&&_options$cacheKey2!==void 0?_options$cacheKey2:keyPrefix+key)},set(key,value){var _options$cacheKey3;const cacheKey=(_options$cacheKey3=options===null||options===void 0?void 0:options.cacheKey)!==null&&_options$cacheKey3!==void 0?_options$cacheKey3:key;const keyToDelete=(options===null||options===void 0?void 0:options.deleteKeyOnSet)&&(options===null||options===void 0?void 0:options.deleteKeyOnSet(store,cacheKey,keyPrefix));if(keyToDelete)setImmediate((()=>store.delete(keyToDelete)));store.set(keyPrefix+cacheKey,value)}}}}})}).call(this,__webpack_require__(150).setImmediate)},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return OffsetEncoding}));var _size_SizeEncoding__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(32);class OffsetEncoding{constructor(offset){this.x=void 0;this.y=void 0;if(offset.x)this.x=new _size_SizeEncoding__WEBPACK_IMPORTED_MODULE_0__["a"](offset.x);if(offset.y)this.y=new _size_SizeEncoding__WEBPACK_IMPORTED_MODULE_0__["a"](offset.y)}isRenderable(){return!!this.x||!!this.y}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return getCartesianPaddings}));const getCartesianPaddings=world=>{const viewHorizontalPadding=world.getHorizontalPadding()/2;const viewVertialPadding=world.getVertialPadding()/2;return{viewHorizontalPadding,viewVertialPadding,axesHorizontalPadding:viewHorizontalPadding/2,axesVerticalPadding:viewVertialPadding/2}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return actions}));var typesafe_actions__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(2);var typesafe_actions__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(typesafe_actions__WEBPACK_IMPORTED_MODULE_0__);var _hopara_spatial__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(7);var _state_Actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(1);var _hopara_dataset__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(6);var _hopara_encoding__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(9);var _hopara_projector__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(44);var _zoom_Translate__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(76);const tooltipActions=dispatch=>({onImageUpload:(layer,tooltip)=>info=>{if(!tooltip.row||!tooltip.rowsetId||!layer)return;const boundsColumnField=layer.encoding.bounds.field;const bounds=_hopara_spatial__WEBPACK_IMPORTED_MODULE_1__["a"].fromPlain(tooltip.row[boundsColumnField]).extrudeKeepingWidth(info.width,info.height).toPolygon();const imageColumnField=layer.encoding.image.field;dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].layer.imageUploaded({layerId:layer.id,rowsetId:tooltip.rowsetId,row:tooltip.row,rowDiff:{[imageColumnField]:info.base64,[boundsColumnField]:bounds}}))},onUnplaceClick:(visualizations,rowsetStore,projectorStore)=>tooltip=>{var _tooltip$row;const currentVisualization=visualizations.getCurrent();if(!currentVisualization||!tooltip.rowsetId)return;const rowset=rowsetStore.getRowset(tooltip.rowsetId);const rowDiff=new _hopara_dataset__WEBPACK_IMPORTED_MODULE_3__["i"]({_x:null,_y:null,_z:null});const projector=projectorStore.getFromVisualization(currentVisualization.id);if(!projector)return;const rowProjector=new _hopara_projector__WEBPACK_IMPORTED_MODULE_5__["c"](projector,rowset.scales);dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].dataBrowser.rowUnplaced({visualizationId:currentVisualization.id,position:new _hopara_encoding__WEBPACK_IMPORTED_MODULE_4__["h"]({}),data:rowset.data,row:new _hopara_dataset__WEBPACK_IMPORTED_MODULE_3__["i"](rowProjector.unprojectRow({...tooltip.row,...rowDiff,_id:(_tooltip$row=tooltip.row)===null||_tooltip$row===void 0?void 0:_tooltip$row._id})),rowDiff:rowProjector.unprojectRow(rowDiff)}))},onJumpClick:visualizations=>(jumpAction,filters)=>{const toVisualization=visualizations.getByName(jumpAction.visualization);if(!toVisualization)throw new Error("Target visualization should exists to jump");const fromVisualization=visualizations.getCurrent();if(!fromVisualization)throw new Error("Origin visualization should exists to jump");for(const filter of filters){filter.visualizationId=toVisualization.id}return dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].visualization.rowJumpRequested({fromVisualization,toVisualization,filters}))},onZoomClick:(visualization,layer)=>(zoom,coordinates)=>{dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].dataBrowser.navigateToPosition({zoom:Object(_zoom_Translate__WEBPACK_IMPORTED_MODULE_6__["b"])(layer,zoom),coordinates,visualizationId:visualization===null||visualization===void 0?void 0:visualization.id,duration:1500}))},onMouseEnter:()=>{dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].tooltip.onMouseEnter())},onMouseLeave:()=>{dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].tooltip.onMouseLeave())}});__webpack_exports__["b"]=tooltipActions;const actions={onMouseEnter:Object(typesafe_actions__WEBPACK_IMPORTED_MODULE_0__["createAction"])("TOOLTIP_MOUSE_ENTER")(),onMouseLeave:Object(typesafe_actions__WEBPACK_IMPORTED_MODULE_0__["createAction"])("TOOLTIP_MOUSE_LEAVE")()}},function(module,exports){module.exports=require("@mui/material/TextField")},function(module,exports){module.exports=require("@mui/material/ListItemButton")},function(module,exports){module.exports=require("@mui/material/ListItemIcon")},function(module,exports){module.exports=require("@turf/rhumb-distance")},function(module,exports){module.exports=require("@turf/rhumb-bearing")},function(module,exports){module.exports=require("@turf/transform-translate")},function(module,exports){module.exports=require("deck.gl")},function(module,exports){module.exports=require("vega-lite")},function(module,exports){module.exports=require("@mui/material/TableRow")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return D3Formatter_D3Formatter}));var external_d3_=__webpack_require__(28);var ColumnType=__webpack_require__(24);const getDecimalsQty=(value,decimalSeparator)=>{let splitted=[];if(typeof value==="string"){splitted=value.split(decimalSeparator)}else if(typeof value==="number"){const numStr=value.toString();splitted=numStr.split(".")}return splitted.length===2?splitted[1].length:0};class D3Formatter_D3Formatter{constructor(columnType){this.columnType=void 0;this.columnType=columnType}getFormatString(){switch(this.columnType){case ColumnType["a"].DECIMAL:return",.2f";case ColumnType["a"].INTEGER:return",d";default:return}}getDecimalSeparator(){return"."}format(value){const formatString=this.getFormatString();if(!formatString)return value;return external_d3_["format"](formatString)(value)}unformatDecimal(value){const unformatted=typeof value==="string"?Number(value.replace(/,/g,"")):value;const decimalsQty=getDecimalsQty(value,this.getDecimalSeparator());if(!decimalsQty){return Number(unformatted)/100}else if(decimalsQty===1){return Number(unformatted)/10}else if(decimalsQty>2){return Number(unformatted)*10}return unformatted}unformat(value){switch(this.columnType){case ColumnType["a"].INTEGER:return typeof value==="string"?Number(value.replace(/,/g,"")):value;case ColumnType["a"].DECIMAL:return this.unformatDecimal(value);default:return value}}}},function(module,exports){module.exports=require("gl-matrix/vec2")},function(module,__webpack_exports__,__webpack_require__){"use strict";(function(global){const window=global;const sendEvent=(name,props)=>{if(!window.gtag)return;window.gtag("event",name,props)};const pageview=(title,path)=>{sendEvent("page_view",{page_path:path,page_location:window.location.href,page_title:title})};const login=method=>{sendEvent("login",{method})};const custom=event=>{sendEvent(event.action,{event_category:event.category,event_label:event.label,value:event.value})};const GA={pageview,login,custom};__webpack_exports__["a"]=GA}).call(this,__webpack_require__(80))},function(module,exports){module.exports=require("@mui/material/Slider")},function(module,exports){module.exports=require("react-beautiful-dnd")},function(module,exports){module.exports=require("@turf/projection")},function(module,exports){module.exports=require("d3/dist/d3.min")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return logAppInfo}));var _hopara_config__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(17);var _hopara_internals__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(15);const logAppInfo=()=>{if(!_hopara_internals__WEBPACK_IMPORTED_MODULE_1__["a"].isDebugging())return;const envs=["HOPARA_ENV","PACKAGE_VERSION","BUILD_NUMBER","APP_API_ADDRESS","BFF_ADDRESS","DATASET_API_ADDRESS"];return envs.forEach((env=>_hopara_internals__WEBPACK_IMPORTED_MODULE_1__["c"].info(env,"=",_hopara_config__WEBPACK_IMPORTED_MODULE_0__["a"].getValue(env))))}},function(module,exports){module.exports=require("colorsys")},function(module,exports){module.exports=require("@react-google-maps/api")},function(module,exports){module.exports=require("@luma.gl/engine")},function(module,exports){module.exports=require("@mui/material/TableCell")},function(module,exports){module.exports=require("d3-svg-legend")},function(module,exports){module.exports=require("jwt-decode")},function(module,exports){module.exports=require("@redux-saga/core")},function(module,exports){module.exports=require("redux-persist")},function(module,exports){module.exports=require("socket.io-client")},function(module,exports){module.exports=require("@turf/bearing")},function(module,exports){module.exports=require("@math.gl/web-mercator")},function(module,exports){module.exports=require("fast-memoize")},function(module,exports){module.exports=require("slugify")},function(module,exports){module.exports=require("feather-icons-react")},function(module,exports){module.exports=require("@mui/styles")},function(module,exports){module.exports=require("@mui/icons-material/Link")},function(module,exports){module.exports=require("@mui/material/Switch")},function(module,exports){module.exports=require("@mui/material/Tooltip")},function(module,exports){module.exports=require("@mui/icons-material/Info")},function(module,exports){module.exports=require("supercluster")},function(module,exports){module.exports=require("@monaco-editor/react")},function(module,exports){module.exports=require("ajv")},function(module,exports){module.exports=require("react-dom")},function(module,exports){module.exports=require("@mui/icons-material/Add")},function(module,exports){module.exports=require("@mui/icons-material/DragIndicator")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return ToastContainer}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(5);var react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);var react_toastify__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(50);var react_toastify__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react_toastify__WEBPACK_IMPORTED_MODULE_1__);var react_toastify_dist_ReactToastify_css__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(152);var react_toastify_dist_ReactToastify_css__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(react_toastify_dist_ReactToastify_css__WEBPACK_IMPORTED_MODULE_2__);var _toast_css__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(153);var _toast_css__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_toast_css__WEBPACK_IMPORTED_MODULE_3__);var _emotion_react__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(16);var _emotion_react__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_emotion_react__WEBPACK_IMPORTED_MODULE_4__);var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(0);var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__);react_toastify__WEBPACK_IMPORTED_MODULE_1__["toast"].configure();const transition=Object(react_toastify__WEBPACK_IMPORTED_MODULE_1__["cssTransition"])({enter:"hopara-Toastify__fade-in",exit:"hopara-Toastify__fade-out"});class ToastContainerClass extends react__WEBPACK_IMPORTED_MODULE_0___default.a.PureComponent{render(){const position="bottom-left";return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__["jsx"])(react_toastify__WEBPACK_IMPORTED_MODULE_1__["ToastContainer"],{autoClose:3500,limit:1,newestOnTop:true,position,theme:"light",hideProgressBar:true,icon:false,transition,containerId:"hp-toast-global",className:"hopara-Toastify",toastClassName:this.props.theme.palette.mode==="dark"?"hopara-Toastify__toast__dark":"hopara-Toastify__toast__light",bodyClassName:"hopara-Toastify__body"})}}const ToastContainer=Object(_emotion_react__WEBPACK_IMPORTED_MODULE_4__["withTheme"])(ToastContainerClass)},function(module,exports){module.exports=require("@deck.gl/react/typed")},function(module,exports){module.exports=require("react-map-gl")},function(module,exports){module.exports=require("maplibre-gl")},function(module,exports){module.exports=require("@deck.gl/aggregation-layers")},function(module,exports){module.exports=require("@turf/bbox-polygon")},function(module,exports){module.exports=require("@turf/bbox")},function(module,exports){module.exports=require("@turf/meta")},function(module,exports){module.exports=require("@turf/polygon-to-line")},function(module,exports){module.exports=require("@deck.gl/core/typed")},function(module,exports){module.exports=require("@turf/distance")},function(module,exports){module.exports=require("@mui/material/Table")},function(module,exports){module.exports=require("@mui/material/TableContainer")},function(module,exports){module.exports=require("@mui/material/Paper")},function(module,exports){module.exports=require("@mui/material/TablePagination")},function(module,exports){module.exports=require("@mui/material/TableSortLabel")},function(module,exports){module.exports=require("@mui/material/TableBody")},function(module,exports){module.exports=require("@mui/material/TableHead")},function(module,exports){module.exports=require("@deck.gl/mesh-layers")},function(module,__webpack_exports__,__webpack_require__){"use strict";var external_react_redux_=__webpack_require__(33);var Store=__webpack_require__(14);var external_react_=__webpack_require__(5);var external_react_default=__webpack_require__.n(external_react_);var src=__webpack_require__(17);var Theme=__webpack_require__(29);var SpecFromTenant=__webpack_require__(77);var jsx_runtime_=__webpack_require__(0);const DEFAULT_STYLE_INTERFACE=src["a"].getValue("STYLE_INTERFACE").toLowerCase();class ThemeProvider_ThemeProvider extends external_react_default.a.Component{constructor(props){super(props);this.interfaceName=void 0;this.state={selectedTheme:null,theme:Object(SpecFromTenant["a"])("hopara")};this.interfaceName=DEFAULT_STYLE_INTERFACE}componentDidUpdate(){var _this$props$authoriza;if((_this$props$authoriza=this.props.authorization)!==null&&_this$props$authoriza!==void 0&&_this$props$authoriza.tenant&&this.state.selectedTheme!==this.props.authorization.tenant){this.setState({selectedTheme:this.props.authorization.tenant,theme:Object(SpecFromTenant["a"])(this.props.authorization.tenant)})}}render(){return Object(jsx_runtime_["jsxs"])(Theme["b"],{theme:this.state.theme,children:[Object(jsx_runtime_["jsx"])(Theme["a"],{}),this.props.children]})}}var hoc_ThemeProvider=__webpack_exports__["a"]=Object(external_react_redux_["connect"])((store=>({authorization:store.authorization})),null,null,{context:Store["a"]})(ThemeProvider_ThemeProvider)},function(module,exports,__webpack_require__){(function(global){var scope=typeof global!=="undefined"&&global||typeof self!=="undefined"&&self||window;var apply=Function.prototype.apply;exports.setTimeout=function(){return new Timeout(apply.call(setTimeout,scope,arguments),clearTimeout)};exports.setInterval=function(){return new Timeout(apply.call(setInterval,scope,arguments),clearInterval)};exports.clearTimeout=exports.clearInterval=function(timeout){if(timeout){timeout.close()}};function Timeout(id,clearFn){this._id=id;this._clearFn=clearFn}Timeout.prototype.unref=Timeout.prototype.ref=function(){};Timeout.prototype.close=function(){this._clearFn.call(scope,this._id)};exports.enroll=function(item,msecs){clearTimeout(item._idleTimeoutId);item._idleTimeout=msecs};exports.unenroll=function(item){clearTimeout(item._idleTimeoutId);item._idleTimeout=-1};exports._unrefActive=exports.active=function(item){clearTimeout(item._idleTimeoutId);var msecs=item._idleTimeout;if(msecs>=0){item._idleTimeoutId=setTimeout((function onTimeout(){if(item._onTimeout)item._onTimeout()}),msecs)}};__webpack_require__(151);exports.setImmediate=typeof self!=="undefined"&&self.setImmediate||typeof global!=="undefined"&&global.setImmediate||this&&this.setImmediate;exports.clearImmediate=typeof self!=="undefined"&&self.clearImmediate||typeof global!=="undefined"&&global.clearImmediate||this&&this.clearImmediate}).call(this,__webpack_require__(80))},function(module,exports){module.exports=require("setimmediate")},function(module,exports){module.exports=require("react-toastify/dist/ReactToastify.css")},function(module,exports,__webpack_require__){},function(module,exports){},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"Hopara",(function(){return HoparaHOC}));__webpack_require__.d(__webpack_exports__,"View",(function(){return ViewContainer}));var external_react_=__webpack_require__(5);var external_react_default=__webpack_require__.n(external_react_);var external_jwt_decode_=__webpack_require__(110);var external_jwt_decode_default=__webpack_require__.n(external_jwt_decode_);var PureComponent=__webpack_require__(25);var src=__webpack_require__(15);var Provider=__webpack_require__(70);var HocActions=__webpack_require__(66);var jsx_runtime_=__webpack_require__(0);const logInit=(message,props)=>{var _props$accessToken;src["c"].debug(message,{appId:props.app,accessToken:props.accessToken?`${(_props$accessToken=props.accessToken)===null||_props$accessToken===void 0?void 0:_props$accessToken.substring(0,50)}...`:undefined})};class HoparaHOC_Hopara extends PureComponent["a"]{getActionPayload(){var _this$props$tenant;const accessTokenDecoded=external_jwt_decode_default()(this.props.accessToken);const{tenants=[],scope=""}=accessTokenDecoded;return{appId:this.props.app,accessToken:this.props.accessToken,tenant:(_this$props$tenant=this.props.tenant)!==null&&_this$props$tenant!==void 0?_this$props$tenant:tenants[0],tenants,permissions:scope===null||scope===void 0?void 0:scope.split(" "),queryLoaders:this.props.queryLoaders,initialPosition:this.props.initialPosition,initialRow:this.props.initialRow}}componentDidMount(){if(!this.props.app||!this.props.accessToken)return;logInit("initializing module",this.props);Provider["a"].dispatch(HocActions["a"].hocLoaded(this.getActionPayload()))}componentDidUpdate(prevProps){var _state$appStore$app;if(!this.props.app||!this.props.accessToken)return;const state=Provider["a"].getState();if(this.props.app===((_state$appStore$app=state.appStore.app)===null||_state$appStore$app===void 0?void 0:_state$appStore$app.id)&&this.props.accessToken===state.authorization.accessToken&&this.props.tenant===state.authorization.tenant)return;if(!prevProps.app||!prevProps.accessToken){logInit("initializing module",this.props);Provider["a"].dispatch(HocActions["a"].hocLoaded(this.getActionPayload()))}else{logInit("updating module",this.props);Provider["a"].dispatch(HocActions["a"].hocUpdated(this.getActionPayload()))}}render(){return Object(jsx_runtime_["jsx"])(Provider["b"],{children:this.props.children})}}var HoparaHOC=HoparaHOC_Hopara;var Store=__webpack_require__(14);var AppStore=__webpack_require__(34);var QueryStore=__webpack_require__(41);const getZoomButtons=props=>[{active:false,title:"Zoom in",icon:"plus",clickCallback:props.onZoomInClick,display:"DESKTOP"},{active:false,title:"Zoom out",icon:"minus",clickCallback:props.onZoomOutClick,display:"DESKTOP"}];const getSearchButton=props=>[{active:props.searchEnabled,title:"Search",icon:"search",clickCallback:props.onSearchToggle,display:"ALL"}];const getJumpBackButton=props=>[{active:false,title:"Back to origin",icon:"arrow-left",clickCallback:props.onJumpBackClick,display:"ALL"}];const getBearingButton=props=>[{active:!!props.isBearing,title:"Change bearing",icon:"compass",iconStyle:{transform:`rotate(${props.currentBearing*-1}deg) scale(1.5)`},clickCallback:props.onBearingModeClick,display:"DESKTOP"}];const MIN_Z=0;const MAX_Z=50;const getZSteps=currentZ=>{let steps;if(currentZ<=MIN_Z){steps=[MIN_Z,MIN_Z+1,MIN_Z+2]}else if(currentZ>=MAX_Z){steps=[MAX_Z-2,MAX_Z-1,MAX_Z]}else{steps=[currentZ-1,currentZ,currentZ+1]}return steps};const getZAxisButton=props=>{const currentZ=props.currentZ;if(currentZ===undefined)return[];const steps=getZSteps(currentZ);const zActions=[];zActions.push({active:false,disabled:currentZ<=MIN_Z,title:"Previous level",icon:"chevron-down",clickCallback:()=>props.onLevelChange(currentZ-1),display:"ALL"});steps.forEach((step=>{zActions.push({active:step===currentZ,title:`Level ${step+1}`,label:(step+1).toString(),clickCallback:()=>currentZ!==step&&props.onLevelChange(step),display:"ALL"})}));zActions.push({active:false,disabled:currentZ>=MAX_Z,title:"Next level",icon:"chevron-up",clickCallback:()=>props.onLevelChange(currentZ+1),display:"ALL"});return zActions.reverse()};var src_theme=__webpack_require__(10);var Icons=__webpack_require__(78);const DesktopNavigationBar=Object(src_theme["a"])("div",{name:"DesktopNavigationBar"})((_ref=>{let{theme}=_ref;return{position:"absolute",zIndex:7,transition:"transform 0.5s ease-in-out",bottom:"auto",right:theme.shape.paddingInner,top:theme.shape.paddingInner+55,[theme.breakpoints.up("sm")]:{top:theme.shape.paddingInner},"@media (hover: none)":{display:"none"}}}));const MobileNavigationBar=Object(src_theme["a"])("div",{name:"MobileNavigationBar"})((_ref2=>{let{theme}=_ref2;return{position:"absolute",zIndex:7,transition:"transform 0.5s ease-in-out",bottom:"auto",right:theme.shape.paddingInner,top:theme.shape.paddingInner,[theme.breakpoints.down("sm")]:{top:theme.shape.paddingInner+55},"@media (hover: hover)":{display:"none"}}}));const NavigationBarActions=Object(src_theme["a"])("ul",{name:"NavigationViewActions"})({alignItems:"flex-end",display:"flex",flexDirection:"column",listStyle:"none",margin:0,padding:0});const NavigationBarAction=Object(src_theme["a"])("li",{name:"NavigationViewAction"})({marginBottom:8,display:"flex",flexDirection:"row-reverse",":last-of-type":{marginBottom:0},":hover:nth-of-type(1n) > ul":{visibility:"visible",opacity:1,width:"auto"}});const NavigationBarActionInner=Object(src_theme["a"])("div",{name:"NavigationViewActionInner"})((_ref3=>{let{theme}=_ref3;return{width:32,borderRadius:theme.shape.borderRadius,boxShadow:theme.shadows[2],backgroundColor:theme.palette.background.paper,display:"block"}}));const NavigationBarButton=Object(src_theme["a"])("button",{name:"NavigationViewButton"})((_ref4=>{let{theme,_active}=_ref4;return{color:theme.palette.primary.main,alignItems:"center",background:"none",borderRadius:_active?theme.shape.borderRadius:0,border:_active?`1px solid ${theme.palette.primary.main}`:"none",cursor:"pointer",display:"flex",justifyContent:"center",padding:8,position:"relative",width:32,height:32,":disabled":{color:"#ccc"}}}));const NavigationBarButtonIcon=Object(src_theme["a"])(Icons["a"],{name:"NavigationViewButtonIcon"})({width:16,height:16,flex:1,color:"inherit",lineHeight:0});const NavigationBarButtonBadge=Object(src_theme["a"])(Icons["a"],{name:"NavigationViewButtonBadgeIcon"})((_ref5=>{let{theme}=_ref5;return{background:"#fff",border:"1px solid #fff",borderRadius:"50%",bottom:4,color:theme.palette.secondary.main,height:11,position:"absolute",right:4,width:11}}));var api_=__webpack_require__(106);var material_=__webpack_require__(11);var TextField_=__webpack_require__(88);var TextField_default=__webpack_require__.n(TextField_);const viewPortToZoom=viewPort=>{if(!viewPort)return undefined;const WORLD_DIM={height:256,width:256};const ZOOM_MAX=24;const latRad=lat=>{const sin=Math.sin(lat*Math.PI/180);const radX2=Math.log((1+sin)/(1-sin))/2;return Math.max(Math.min(radX2,Math.PI),-Math.PI)/2};const zoom=(mapPx,worldPx,fraction)=>Math.floor(Math.log(mapPx/worldPx/fraction)/Math.LN2);const ne=viewPort.getNorthEast();const sw=viewPort.getSouthWest();const latFraction=(latRad(ne.lat())-latRad(sw.lat()))/Math.PI;const lngDiff=ne.lng()-sw.lng();const lngFraction=(lngDiff<0?lngDiff+360:lngDiff)/360*(256/360);const latZoom=zoom(500,WORLD_DIM.height,latFraction);const lngZoom=zoom(500,WORLD_DIM.width,lngFraction);return Math.min(latZoom,lngZoom,ZOOM_MAX)};const libraries=["places"];const SearchBox=Object(material_["styled"])("div",{name:"SearchInput"})((_ref=>{let{theme}=_ref;return{boxSizing:`border-box`,border:`1px solid transparent`,width:350,height:32,borderRadius:3,fontSize:14,position:"absolute",right:50,top:67,boxShadow:"0 1px 1px 0 #e5deee,0 4px 18px 0 rgb(34 41 47 / 10%)",[theme.breakpoints.up("sm")]:{top:12}}}));const PlaceSearchBox=_ref2=>{let{onPlaceChanged,visible,bounds}=_ref2;const ref=external_react_default.a.useRef(null);if(!bounds)return null;return Object(jsx_runtime_["jsx"])(jsx_runtime_["Fragment"],{children:Object(jsx_runtime_["jsx"])(api_["LoadScript"],{googleMapsApiKey:"AIzaSyAC42qeOUIZ0j7T-b_c9MXvG3-Wtld8Be4",libraries,children:visible?Object(jsx_runtime_["jsx"])(api_["StandaloneSearchBox"],{onLoad:rf=>{ref.current=rf},onPlacesChanged:()=>{const places=ref.current.getPlaces();if(places!==null&&places!==void 0&&places.length){var _placeResult$geometry,_placeResult$geometry2;const placeResult=places[0];const location=(_placeResult$geometry=placeResult.geometry)===null||_placeResult$geometry===void 0?void 0:_placeResult$geometry.location;const place={latitude:location===null||location===void 0?void 0:location.lat(),longitude:location===null||location===void 0?void 0:location.lng(),zoom:viewPortToZoom((_placeResult$geometry2=placeResult.geometry)===null||_placeResult$geometry2===void 0?void 0:_placeResult$geometry2.viewport)};if(place.latitude&&place.longitude&&place.zoom){onPlaceChanged(place)}}},bounds:{north:bounds.y.getMax(),south:bounds.y.getMin(),east:bounds.x.getMax(),west:bounds.x.getMin()},children:Object(jsx_runtime_["jsx"])(SearchBox,{children:Object(jsx_runtime_["jsx"])(TextField_default.a,{type:"text",placeholder:"Type a place to navigate",autoFocus:true,fullWidth:true,sx:{"& fieldset":{outline:"none",border:"none"}}})})}):null})})};var spatial_src=__webpack_require__(7);const canJumpBack=visualizations=>{if(visualizations&&visualizations.length<=1)return false;return visualizations.getCurrentIndex()>0};const doActionList=props=>{var _props$visualizations;const actions=new Array;const currentVisualization=(_props$visualizations=props.visualizations)===null||_props$visualizations===void 0?void 0:_props$visualizations.getCurrent();if(currentVisualization!==null&¤tVisualization!==void 0&¤tVisualization.isGeo())actions.push(getSearchButton(props));if(!(currentVisualization!==null&¤tVisualization!==void 0&¤tVisualization.isCustom()))actions.push(getZoomButtons(props));if(currentVisualization!==null&¤tVisualization!==void 0&¤tVisualization.isGeo())actions.push(getBearingButton(props));if(!(currentVisualization!==null&¤tVisualization!==void 0&¤tVisualization.isOrbit())&&props.hasZAxes)actions.push(getZAxisButton(props));if(canJumpBack(props.visualizations))actions.push(getJumpBackButton(props));return actions};const RenderNavigationBar=props=>{const actions=Object(jsx_runtime_["jsx"])(NavigationBarActions,{children:doActionList(props).map(((items,i)=>Object(jsx_runtime_["jsx"])(NavigationBarAction,{children:Object(jsx_runtime_["jsx"])(NavigationBarActionInner,{children:items.filter((item=>item.display==="ALL"||item.display===props.type)).map(((item,index)=>Object(jsx_runtime_["jsxs"])(NavigationBarButton,{disabled:item.disabled,onClick:()=>item.clickCallback(),title:item.title,_active:item.active,children:[item.icon&&Object(jsx_runtime_["jsx"])(NavigationBarButtonIcon,{icon:item.icon,style:item.iconStyle}),item.badgeIcon&&Object(jsx_runtime_["jsx"])(NavigationBarButtonBadge,{icon:item.badgeIcon}),!item.icon&&item.label&&Object(jsx_runtime_["jsx"])("span",{children:item.label})]},index)))})},i)))});if(props.type==="DESKTOP"){return Object(jsx_runtime_["jsx"])(DesktopNavigationBar,{children:actions})}else{return Object(jsx_runtime_["jsx"])(MobileNavigationBar,{children:actions})}};const NavigationComponent=props=>{const[searchEnabled,setSearchEnabled]=external_react_default.a.useState(false);const onSearchToggle=()=>{setSearchEnabled(!searchEnabled)};return Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:[Object(jsx_runtime_["jsx"])(PlaceSearchBox,{visible:searchEnabled,bounds:props.visibleWorld,onPlaceChanged:place=>{props.onPlaceChanged(new spatial_src["c"]({y:place.latitude,x:place.longitude}),place.zoom)}}),Object(jsx_runtime_["jsx"])(RenderNavigationBar,{...props,type:"DESKTOP",searchEnabled,onSearchToggle}),Object(jsx_runtime_["jsx"])(RenderNavigationBar,{...props,type:"MOBILE",searchEnabled,onSearchToggle})]})};var Actions=__webpack_require__(1);const NavigationContainer=()=>{var _currentViewState$coo;const dispatch=Object(Store["c"])();const currentVisualization=Object(Store["d"])((state=>state.visualizations.getCurrent()));const currentLayers=Object(Store["d"])((state=>state.layers.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const hasZAxes=currentLayers.someWithZPosition();const currentViewState=Object(Store["d"])((state=>state.viewStates.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const currentZ=currentViewState===null||currentViewState===void 0?void 0:(_currentViewState$coo=currentViewState.coordinates)===null||_currentViewState$coo===void 0?void 0:_currentViewState$coo.z;const currentBearing=currentViewState===null||currentViewState===void 0?void 0:currentViewState.bearing;const currentWorld=Object(Store["d"])((state=>state.worlds.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const visibleWorld=currentViewState===null||currentViewState===void 0?void 0:currentViewState.getVisibleWorld(currentWorld);const isBearing=Object(Store["d"])((state=>{var _state$viewController;return(_state$viewController=state.viewControllers.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id))===null||_state$viewController===void 0?void 0:_state$viewController.isRotateMode()}));const jumpStore=Object(Store["d"])((state=>state.jump));const visualizations=Object(Store["d"])((state=>state.visualizations));const onZoomIn=()=>{const currentVisualization=visualizations.getCurrent();if(!currentVisualization){dispatch(Actions["a"].root.genericError({reason:"Cannot zoom while visualization does not exist"}));return}dispatch(Actions["a"].navigation.zoomInRequested({visualizationId:currentVisualization.id}));dispatch(Actions["a"].analytics.analyticsEvent({event:"Sidebar Zoom: In"}))};const onZoomOut=()=>{const currentVisualization=visualizations.getCurrent();if(!currentVisualization){dispatch(Actions["a"].root.genericError({reason:"Cannot zoom while visualization does not exist"}));return}dispatch(Actions["a"].navigation.zoomOutRequested({visualizationId:currentVisualization.id}));dispatch(Actions["a"].analytics.analyticsEvent({event:"Sidebar Zoom: Out"}))};const onJumpBack=()=>{const previousViz=jumpStore.previousVisualization();const toVisualization=previousViz?visualizations.getById(previousViz):visualizations.getOrigin();const fromVisualization=visualizations.getCurrent();if(!toVisualization||!fromVisualization)return;dispatch(Actions["a"].analytics.analyticsEvent({event:"Jump: Back"}));dispatch(Actions["a"].visualization.jumpBackRequested({fromVisualization,toVisualization}))};const onLevelChange=level=>{const currentVisualization=visualizations.getCurrent();if(!currentVisualization)throw new Error("Cannot change level while visualization does not exist");dispatch(Actions["a"].analytics.analyticsEvent({event:"Level: Change"}));return dispatch(Actions["a"].navigation.levelChangeRequested({level,visualizationId:currentVisualization.id}))};const onBearingMode=()=>{const currentVisualization=visualizations.getCurrent();if(!currentVisualization)throw new Error("Cannot change bearing while visualization does not exist");dispatch(Actions["a"].analytics.analyticsEvent({event:"Bearing: Toggle"}));return dispatch(Actions["a"].navigation.bearingModeToggle({visualizationId:currentVisualization.id}))};const onPlaceChanged=(coordinates,zoom)=>{const currentVisualization=visualizations.getCurrent();dispatch(Actions["a"].dataBrowser.navigateToPosition({coordinates,zoom,visualizationId:currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id}))};return Object(jsx_runtime_["jsx"])(NavigationComponent,{hasZAxes,onPlaceChanged,onZoomInClick:onZoomIn,onZoomOutClick:onZoomOut,onLevelChange,onBearingModeClick:onBearingMode,onJumpBackClick:onJumpBack,visibleWorld,visualizations,currentBearing,isBearing,currentZ})};var external_react_redux_=__webpack_require__(33);var TooltipActions=__webpack_require__(87);let TooltipPlacement;(function(TooltipPlacement){TooltipPlacement["top"]="top";TooltipPlacement["bottom"]="bottom";TooltipPlacement["left"]="left";TooltipPlacement["right"]="right";TooltipPlacement["topRight"]="topRight";TooltipPlacement["topLeft"]="topLeft";TooltipPlacement["bottomRight"]="bottomRight";TooltipPlacement["bottomLeft"]="bottomLeft"})(TooltipPlacement||(TooltipPlacement={}));var react_=__webpack_require__(16);const TooltipView=Object(src_theme["a"])("div",{name:"TooltipView"})((_ref=>{let{theme,_visible,_fixed,_placement}=_ref;const tooltipVisible=Object(react_["css"])({opacity:.97});const tooltipFixed=Object(react_["css"])({pointerEvents:"inherit"});const tooltipTop=Object(react_["css"])({paddingBottom:15,transform:"translate3d(-50%, calc(-100% - 2px), 0)"});const tooltipBottom=Object(react_["css"])({marginTop:5,paddingTop:15,transform:"translate3d(-50%, 0, 0)"});const tooltipLeft=Object(react_["css"])({marginRight:5,paddingRight:15,transform:"translate3d(-100%, -50%, 0)"});const tooltipRight=Object(react_["css"])({marginLeft:5,paddingLeft:15,transform:"translate3d(0, -50%, 0)"});const tooltipTopRight=Object(react_["css"])({transform:"translate3d(0, -100%, 0)"});const tooltipTopLeft=Object(react_["css"])({transform:"translate3d(-100%, -100%, 0)"});const tooltipBottomRight=Object(react_["css"])({transform:"translate3d(0, 0, 0)"});const tooltipBottomLeft=Object(react_["css"])({transform:"translate3d(-100%, 0, 0)"});const tooltipUnplaced=Object(react_["css"])({visibility:"hidden"});const styles=[Object(react_["css"])({fontSize:theme.typography.fontSize,display:"block",position:"absolute",transition:"opacity 0.14s ease-out",zIndex:999,opacity:0,visibility:"visible",maxWidth:500})];if(_visible){styles.push(tooltipVisible)}if(_fixed){styles.push(tooltipFixed)}if(_placement===TooltipPlacement.top){styles.push(tooltipTop)}if(_placement===TooltipPlacement.bottom){styles.push(tooltipBottom)}if(_placement===TooltipPlacement.left){styles.push(tooltipLeft)}if(_placement===TooltipPlacement.right){styles.push(tooltipRight)}if(_placement===TooltipPlacement.topRight){styles.push(tooltipTopRight)}if(_placement===TooltipPlacement.topLeft){styles.push(tooltipTopLeft)}if(_placement===TooltipPlacement.bottomRight){styles.push(tooltipBottomRight)}if(_placement===TooltipPlacement.bottomLeft){styles.push(tooltipBottomLeft)}if(!_placement){styles.push(tooltipUnplaced)}return styles}));const TooltipContent=Object(src_theme["a"])("div",{name:"TooltipContent"})((_ref2=>{let{theme}=_ref2;return{borderRadius:theme.shape.borderRadius,border:`1px solid ${theme.palette.background.paper}`,boxShadow:theme.shadows[2],backgroundColor:theme.palette.background.paper,overflow:"hidden"}}));const TooltipTableView=Object(src_theme["a"])("table",{name:"TooltipTableView"})((_ref3=>{let{theme}=_ref3;return{borderCollapse:"collapse",borderRadius:theme.shape.borderRadius,overflow:"hidden"}}));const TooltipRow=Object(src_theme["a"])("tr",{name:"TooltipRow"})((_ref4=>{let{theme}=_ref4;return{padding:0,":nth-of-type(odd)":{backgroundColor:theme.palette.mode==="dark"?"#444":"#f3f3f3"}}}));const TooltipHeading=Object(src_theme["a"])("th",{name:"TooltipHeading"})((_ref5=>{let{theme}=_ref5;return{borderRight:`1px solid ${theme.palette.background.paper}`,padding:"0.75em",paddingRight:"1em",textAlign:"left",whiteSpace:"nowrap"}}));const TooltipField=Object(src_theme["a"])("td",{name:"TooltipField"})({padding:"0.75em"});const TooltipToolbarView=Object(src_theme["a"])("div",{name:"TooltipToolbarView"})({alignItems:"center",display:"flex",flexDirection:"row",justifyContent:"center",padding:"0.5rem",":nth-of-type(1n) button":{marginRight:"0.5rem",":last-child":{marginRight:0}}});class TooltipView_Tooltip extends external_react_["Component"]{constructor(props){super(props);this._ref=external_react_default.a.createRef();this.state={}}hasCoordinates(){var _this$props$coordinat,_this$props$coordinat2;return!!((_this$props$coordinat=this.props.coordinates)!==null&&_this$props$coordinat!==void 0&&_this$props$coordinat.x&&(_this$props$coordinat2=this.props.coordinates)!==null&&_this$props$coordinat2!==void 0&&_this$props$coordinat2.y)}getPlacement(){const offset=10;if(!this._ref.current||!this.hasCoordinates())return;const tooltipWidth=this._ref.current.clientWidth;const tooltipHeight=this._ref.current.clientHeight;const parentWidth=this._ref.current.parentElement?this._ref.current.parentElement.clientWidth:window.innerWidth;const parentHeight=this._ref.current.parentElement?this._ref.current.parentElement.clientHeight:window.innerHeight;const hasTopSpace=this.props.coordinates.y>tooltipHeight+offset;const hasBottomSpace=parentHeight-this.props.coordinates.y>tooltipHeight+offset;const hasRightSpace=parentWidth-this.props.coordinates.x>tooltipWidth+offset;const hasLeftSpace=this.props.coordinates.x>tooltipWidth+offset;const hasMiddleTopSpace=this.props.coordinates.y>tooltipHeight/2;const hasMiddleBottomSpace=parentHeight-this.props.coordinates.y>tooltipHeight/2;const hasMiddleRightSpace=parentWidth-this.props.coordinates.x>tooltipWidth/2;const hasMiddleLeftSpace=this.props.coordinates.x>tooltipWidth/2;if(hasTopSpace&&hasMiddleRightSpace&&hasMiddleLeftSpace)return TooltipPlacement.top;if(hasBottomSpace&&hasMiddleRightSpace&&hasMiddleLeftSpace)return TooltipPlacement.bottom;if(hasLeftSpace&&hasMiddleTopSpace&&hasMiddleBottomSpace)return TooltipPlacement.left;if(hasRightSpace&&hasMiddleTopSpace&&hasMiddleBottomSpace)return TooltipPlacement.right;if(hasTopSpace&&hasRightSpace)return TooltipPlacement.topRight;if(hasTopSpace&&hasLeftSpace)return TooltipPlacement.topLeft;if(hasBottomSpace&&hasRightSpace)return TooltipPlacement.bottomRight;if(hasBottomSpace&&hasLeftSpace)return TooltipPlacement.bottomLeft;if(hasBottomSpace)return TooltipPlacement.bottom;if(hasLeftSpace)return TooltipPlacement.left;if(hasRightSpace)return TooltipPlacement.right;if(hasTopSpace)return TooltipPlacement.top}componentDidUpdate(){if(!this.hasCoordinates()||!this.props.children)return;const placement=this.getPlacement();if(this.state.placement!==placement)this.setState({placement})}render(){var _this$props$coordinat3,_this$props$coordinat4;if(!this.props.children)return;return Object(jsx_runtime_["jsx"])(TooltipView,{id:"__hopara__tooltip__",ref:this._ref,_visible:this.props.isVisible,_fixed:this.props.isFixed,onMouseEnter:e=>{if(this.props.children)this.props.onMouseEnter(e)},onMouseLeave:e=>{if(this.props.children)this.props.onMouseLeave(e)},_placement:this.state.placement,"data-placement":this.state.placement,style:{display:this.hasCoordinates(),left:(_this$props$coordinat3=this.props.coordinates)===null||_this$props$coordinat3===void 0?void 0:_this$props$coordinat3.x,top:(_this$props$coordinat4=this.props.coordinates)===null||_this$props$coordinat4===void 0?void 0:_this$props$coordinat4.y},children:this.props.children&&Object(jsx_runtime_["jsx"])(TooltipContent,{children:this.props.children})})}}var fp_=__webpack_require__(3);var icons_material_=__webpack_require__(22);class TooltipTable_TooltipTable extends external_react_default.a.PureComponent{renderUnplaceAction(key,line){return Object(jsx_runtime_["jsx"])(TooltipRow,{children:Object(jsx_runtime_["jsx"])(TooltipField,{style:{textAlign:"center"},colSpan:2,children:Object(jsx_runtime_["jsxs"])(material_["Button"],{color:"secondary",variant:"outlined",onClick:line["onUnplaceClick"],children:[Object(jsx_runtime_["jsx"])(icons_material_["DeleteOutline"],{})," Unplace"]})})},key)}renderJumpAction(key,line){return Object(jsx_runtime_["jsx"])(TooltipRow,{children:Object(jsx_runtime_["jsx"])(TooltipField,{colSpan:2,children:Object(jsx_runtime_["jsxs"])(material_["Link"],{href:"#",target:line.target,underline:"none",onClick:e=>{e.preventDefault();e.stopPropagation();return line.onClick(e)},sx:{display:"flex",alignItems:"center"},children:[line.title,line.icon!==null&&Object(jsx_runtime_["jsx"])(icons_material_["NavigateNextOutlined"],{})]})})},key)}renderLinkLine(key,line){return Object(jsx_runtime_["jsx"])(TooltipRow,{children:Object(jsx_runtime_["jsx"])(TooltipField,{colSpan:2,children:Object(jsx_runtime_["jsxs"])(material_["Link"],{href:line.href,target:line.target,underline:"none",sx:{display:"flex",alignItems:"center"},children:[line.title,Object(jsx_runtime_["jsx"])(icons_material_["NavigateNextOutlined"],{})]})})},key)}renderTableLine(key,line){return Object(jsx_runtime_["jsxs"])(TooltipRow,{children:[Object(jsx_runtime_["jsx"])(TooltipHeading,{children:line.title}),Object(jsx_runtime_["jsx"])(TooltipField,{children:line.value})]},key)}triggerAction(line){if(line.onClick){return line.onClick()}else if(line.href&&window){window.open(line.href,line.target)}}componentDidMount(){if(this.props.autoTrigger)this.triggerAction(this.props.lines[0])}componentDidUpdate(){if(this.props.autoTrigger)this.triggerAction(this.props.lines[0])}render(){if(this.props.autoTrigger)return Object(jsx_runtime_["jsx"])(jsx_runtime_["Fragment"],{});const lineKeys=Object.keys(this.props.lines);if(!lineKeys.length)return null;return Object(jsx_runtime_["jsx"])(TooltipTableView,{children:Object(jsx_runtime_["jsx"])("tbody",{children:lineKeys.map((key=>{const line=this.props.lines[key];if(line["onUnplaceClick"])return this.renderUnplaceAction(key,line);else if(line["onClick"])return this.renderJumpAction(key,line);else if(line["href"])return this.renderLinkLine(key,line);else if(line["title"]&&!Object(fp_["isNil"])(line["value"]))return this.renderTableLine(key,line);return null}))})})}}var image_src=__webpack_require__(69);var Toast=__webpack_require__(30);const MAX_TEXTURE_SIZE=4096;const MAX_FILE_SIZE=2*1024*1024;function niceBytes(x){const units=["bytes","KB","MB","GB","TB","PB","EB","ZB","YB"];let l=0;let n=parseInt(x,10)||0;while(n>=1024&&++l){n=n/1024}return n.toFixed(n<10&&l>0?1:0)+" "+units[l]}const TooltipToolbar=props=>{const inputFile=Object(external_react_["useRef"])(null);return Object(jsx_runtime_["jsxs"])(TooltipToolbarView,{children:[props.onImageUpload&&Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:[Object(jsx_runtime_["jsx"])("input",{type:"file",id:"file",accept:image_src["b"].join(", "),ref:inputFile,style:{display:"none"},onChange:event=>{var _event$target;event.stopPropagation();event.preventDefault();const file=(event===null||event===void 0?void 0:(_event$target=event.target)===null||_event$target===void 0?void 0:_event$target.files)&&event.target.files[0];if(!file)return;if(file.size>MAX_FILE_SIZE){Object(Toast["a"])(`Image file size is too big. Max file size is ${niceBytes(MAX_FILE_SIZE)}`);return}const reader=new FileReader;reader.onload=async function(){const result=this.result;if(image_src["b"].every((mimeType=>!(result!==null&&result!==void 0&&result.includes(mimeType))))){Object(Toast["a"])("Invalid type detected. Allowed types: jpg, png and svg");return}return Object(image_src["a"])(result,{maxWidth:MAX_TEXTURE_SIZE,maxHeight:MAX_TEXTURE_SIZE}).then((imageMeta=>props.onImageUpload&&props.onImageUpload(imageMeta))).catch((err=>{console.log(err);Object(Toast["a"])(err.message)}))};reader.readAsDataURL(file)}}),Object(jsx_runtime_["jsxs"])(material_["Button"],{color:"primary",variant:"outlined",onClick:()=>{var _inputFile$current;return inputFile===null||inputFile===void 0?void 0:(_inputFile$current=inputFile.current)===null||_inputFile$current===void 0?void 0:_inputFile$current.click()},children:[Object(jsx_runtime_["jsx"])(icons_material_["UploadOutlined"],{})," Replace Image"]})]}),Object(jsx_runtime_["jsxs"])(material_["Button"],{color:"secondary",variant:"outlined",onClick:props.onUnplaceClick,children:[Object(jsx_runtime_["jsx"])(icons_material_["DeleteOutline"],{})," Unplace"]})]})};var view_TooltipToolbar=TooltipToolbar;var encoding_src=__webpack_require__(9);var dataset_src=__webpack_require__(6);var external_query_string_=__webpack_require__(46);var external_query_string_default=__webpack_require__.n(external_query_string_);const getLocation=href=>{const match=href.match(/^((https|http)?:\/\/(([^:/?#]*)(?::([0-9]+))?))?([/]{0,1}[^?#]*)(\?[^#]*|)(#.*|)$/);return match&&{origin:match[1]||"",protocol:match[2]||"",host:match[3]||"",hostname:match[4]||"",port:match[5]||"",pathname:match[6]||"",search:match[7]||"",hash:match[8]||""}};const replaceValue=(value,row)=>{if(value.startsWith(":")){var _row$columnName;const columnName=value.replace(":","");return(_row$columnName=row[columnName])!==null&&_row$columnName!==void 0?_row$columnName:""}return value};const replacePathWithRowValues=(path,row)=>{const splittedPath=path.split("/");if(!splittedPath.length)return"";const replecedPath=splittedPath.map((value=>replaceValue(value,row)));return replecedPath.join("/")};const replaceSearchWithRowValues=(search,row)=>{if(!search)return"";const parsedSearch=external_query_string_default.a.parse(search);if(Object(fp_["isEmpty"])(parsedSearch))return"";const searchWithReplacedKeys=Object(fp_["mapKeys"])((k=>replaceValue(k,row)),parsedSearch);const searchWithReplecedValues=Object(fp_["mapValues"])((v=>replaceValue(v,row)),searchWithReplacedKeys);const searchStringifyed=external_query_string_default.a.stringify(searchWithReplecedValues);return searchStringifyed?`?${searchStringifyed}`:""};class URLStringTemplate{constructor(href){this.origin="";this.protocol="";this.host="";this.hostname="";this.port="";this.pathname="";this.search="";this.hash="";Object.assign(this,href?getLocation(href):undefined)}clone(){const cloned=new URLStringTemplate;Object.assign(cloned,this);return cloned}getValue(){return`${this.origin}${this.pathname}${this.search}${this.hash}`}getCompiledValue(row){const cloned=this.clone();cloned.pathname=replacePathWithRowValues(this.pathname,row);cloned.search=replaceSearchWithRowValues(this.search,row);return cloned.getValue()}}var CategoricalFilter=__webpack_require__(49);function createFilter(jumpFilter,value){return new CategoricalFilter["a"]({hidden:true,exactMatch:true,field:jumpFilter.targetField||jumpFilter.field,values:[value]})}const createFilters=(action,row)=>{const validFilters=action.filters.filter((filter=>filter.field&&row[filter.field]||filter.value));const filters=validFilters.map((filter=>createFilter(filter,filter.value||row[filter.field])));return filters};const createJumpLine=(row,title,action,onJumpClick)=>({title,type:"action",onClick:()=>{onJumpClick(action,createFilters(action,row))}});const createLinkLine=(row,title,action)=>{var _action$target;const urlStringTemple=new URLStringTemplate(action.href);const formattedHref=urlStringTemple.getCompiledValue(row);return{title,type:"action",href:formattedHref,target:(_action$target=action.target)!==null&&_action$target!==void 0?_action$target:"_top"}};const createZoomLine=(row,title,action,onZoomClick)=>({title,type:"action",onClick:()=>{onZoomClick(action,new spatial_src["c"]({x:row._x,y:row._y,z:row._z}))}});const createActionLine=(row,actionItem,onJumpClick,onZoomClick)=>{var _actionItem$visible,_actionItem$visible$c;const testField=(_actionItem$visible=actionItem.visible)===null||_actionItem$visible===void 0?void 0:(_actionItem$visible$c=_actionItem$visible.condition)===null||_actionItem$visible$c===void 0?void 0:_actionItem$visible$c.test;if(testField&&Object(fp_["isNil"])(Object(dataset_src["l"])(testField,row)))return null;if(actionItem.jump)return createJumpLine(row,actionItem.title,actionItem.jump,onJumpClick);if(actionItem.link)return createLinkLine(row,actionItem.title,actionItem.link);if(actionItem.zoom)return createZoomLine(row,actionItem.title,actionItem.zoom,onZoomClick);return null};const getRowColumn=(columns,name)=>{if(columns.has(name)){return columns.get(name)}return new dataset_src["a"]({name})};const createLine=(column,value,title)=>({title:title!==null&&title!==void 0?title:column.getLabel(),value});const createFieldLine=(row,columns,item)=>{const textEncoding=item.value.encoding.text;const column=getRowColumn(columns,textEncoding.field);return createLine(column,textEncoding.getValue(row,column===null||column===void 0?void 0:column.getType()),item.title)};const createTooltipItem=column=>{const textEncoding=new encoding_src["k"]({field:column.getName()});return{title:column.getLabel(),value:{encoding:{text:textEncoding}}}};const createTooltipFields=columns=>columns.map((column=>createTooltipItem(column)));const getTooltipFields=(table,columns)=>{if(src["a"].isDebugging()){return createTooltipFields(columns.getPrintables())}if(table===true){const tooltipColumns=columns.getPublics().getPrintables();return createTooltipFields(new dataset_src["c"](...tooltipColumns))}else if(Array.isArray(table)){return table}return[]};const getLines=(row,columns,tooltipSpec,onJumpClick,onZoomClick)=>{var _tooltipSpec$actions$,_tooltipSpec$actions;if(!tooltipSpec)return[];const tooltipFields=getTooltipFields(tooltipSpec.table,columns);const tooltipFieldLines=tooltipFields.map((field=>createFieldLine(row,columns,field)));const tooltipActionLines=(_tooltipSpec$actions$=tooltipSpec===null||tooltipSpec===void 0?void 0:(_tooltipSpec$actions=tooltipSpec.actions)===null||_tooltipSpec$actions===void 0?void 0:_tooltipSpec$actions.map((action=>createActionLine(row,action,onJumpClick,onZoomClick))))!==null&&_tooltipSpec$actions$!==void 0?_tooltipSpec$actions$:[];return[...tooltipFieldLines,...tooltipActionLines].filter((line=>!!line))};class TooltipComponent_TooltipComponent extends PureComponent["a"]{renderToolbar(){var _this$props$tooltip;if(!((_this$props$tooltip=this.props.tooltip)!==null&&_this$props$tooltip!==void 0&&_this$props$tooltip.fixed)||!this.props.isEditing)return;return Object(jsx_runtime_["jsx"])(view_TooltipToolbar,{...this.props,onImageUpload:this.props.canEditImage?this.props.onImageUpload:undefined,onUnplaceClick:()=>this.props.onUnplaceClick(this.props.tooltip)})}renderTable(){const lines=getLines(this.props.tooltip.row,this.props.columns,this.props.layer.tooltip,this.props.onJumpClick,this.props.onZoomClick);if(this.props.isEditing){lines.push({title:"Unplace row",onUnplaceClick:()=>this.props.onUnplaceClick(this.props.tooltip),icon:null})}if(!lines.length)return null;const shouldTriggerAutomatically=lines.length===1&&lines[0].type==="action";if(shouldTriggerAutomatically&&!this.props.tooltip.isFixed())return null;return Object(jsx_runtime_["jsx"])(TooltipTable_TooltipTable,{...this.props,lines,autoTrigger:shouldTriggerAutomatically})}getTooltipContent(){var _this$props$layer,_this$props$tooltip2;if((_this$props$layer=this.props.layer)!==null&&_this$props$layer!==void 0&&_this$props$layer.isImage()&&this.props.layer.editable&&this.props.isEditing){return this.renderToolbar()}else if((_this$props$tooltip2=this.props.tooltip)!==null&&_this$props$tooltip2!==void 0&&_this$props$tooltip2.row){return this.renderTable()}return null}render(){var _this$props$tooltip3,_this$props$tooltip4,_this$props$tooltip5;return Object(jsx_runtime_["jsx"])(TooltipView_Tooltip,{coordinates:(_this$props$tooltip3=this.props.tooltip)===null||_this$props$tooltip3===void 0?void 0:_this$props$tooltip3.getCoordinates(),isFixed:(_this$props$tooltip4=this.props.tooltip)===null||_this$props$tooltip4===void 0?void 0:_this$props$tooltip4.isFixed(),isVisible:(_this$props$tooltip5=this.props.tooltip)===null||_this$props$tooltip5===void 0?void 0:_this$props$tooltip5.visible,onMouseEnter:this.props.onMouseEnter,onMouseLeave:this.props.onMouseLeave,children:this.getTooltipContent()})}}var tooltip_TooltipComponent=TooltipComponent_TooltipComponent;function getLayer(state,currentVisualization){var _state$tooltip;if(state.layers&&(_state$tooltip=state.tooltip)!==null&&_state$tooltip!==void 0&&_state$tooltip.layerId){return state.layers.getFromVisualization(currentVisualization.id).getById(state.tooltip.layerId)}return undefined}const mapStateToProps=state=>{var _queries$findQuery;const currentVisualization=state.visualizations.getCurrent();const layer=getLayer(state,currentVisualization);const columns=(_queries$findQuery=state.queryStore.queries.findQuery(layer===null||layer===void 0?void 0:layer.getQueryKey()))===null||_queries$findQuery===void 0?void 0:_queries$findQuery.getColumns();const canEditImage=!!(layer!==null&&layer!==void 0&&layer.isType("image"));return{layer,columns,visualizations:state.visualizations,rowsetStore:state.rowsetStore,projectorStore:state.projectorStore,tooltip:state.tooltip,currentVisualization:state.visualizations.getCurrent(),isEditing:state.appStore.isEditing&&(layer===null||layer===void 0?void 0:layer.editable),canEditImage}};const mapDispatchToProps=dispatch=>Object(TooltipActions["b"])(dispatch);const mergeProps=(stateProps,dispatchProps)=>({...stateProps,...dispatchProps,onImageUpload:dispatchProps.onImageUpload(stateProps.layer,stateProps.tooltip),onUnplaceClick:dispatchProps.onUnplaceClick(stateProps.visualizations,stateProps.rowsetStore,stateProps.projectorStore),onJumpClick:dispatchProps.onJumpClick(stateProps.visualizations),onZoomClick:dispatchProps.onZoomClick(stateProps.currentVisualization,stateProps.layer)});var TooltipContainer=Object(external_react_redux_["connect"])(mapStateToProps,mapDispatchToProps,mergeProps,{context:Store["a"]})(tooltip_TooltipComponent);const layerActions=dispatch=>(visualizations,isEditing,hasSelectedRow,tooltipEnabled)=>({onLayerHover:info=>{if(!info)return;if(!info.row&&(hasSelectedRow||tooltipEnabled))return dispatch(Actions["a"].layer.mouseLeft());if(!info.row)return;dispatch(Actions["a"].layer.mouseHover({layerId:info.layerId,coordinates:info.coordinates,pixel:info.pixel,row:info.row,rowIndex:info.rowIndex,rowsetId:info.rowsetId}))},onLayerClick:info=>{if(!(info!==null&&info!==void 0&&info.row)&&(hasSelectedRow||tooltipEnabled))return dispatch(Actions["a"].layer.clickOut());if(!(info!==null&&info!==void 0&&info.row))return;dispatch(Actions["a"].layer.click({layerId:info.layerId,coordinates:info.coordinates,pixel:info.pixel,row:info.row,rowIndex:info.rowIndex,rowsetId:info.rowsetId}))},onLayerDragStart:info=>{if(!info||!isEditing)return;dispatch(Actions["a"].layer.dragStart({layerId:info.layerId,coordinates:info.coordinates,pixel:info.pixel,row:info.row,rowDiff:info.updatedData,rowIndex:info.rowIndex,rowsetId:info.rowsetId}))},onLayerDragEnd:(info,e,keepSelected)=>{if(!info||!isEditing||!info.coordinates)return;dispatch(Actions["a"].layer.dragEnded({layerId:info.layerId,coordinates:info.coordinates,pixel:info.pixel,row:info.row,rowDiff:info.updatedData,rowIndex:info.rowIndex,rowsetId:info.rowsetId,keepSelected}))}});var ViewLayerActions=layerActions;var ViewActions=__webpack_require__(52);var typed_=__webpack_require__(131);var typed_default=__webpack_require__.n(typed_);var external_react_map_gl_=__webpack_require__(132);var external_react_map_gl_default=__webpack_require__.n(external_react_map_gl_);var external_maplibre_gl_=__webpack_require__(133);var external_maplibre_gl_default=__webpack_require__.n(external_maplibre_gl_);var layers_=__webpack_require__(18);var engine_=__webpack_require__(107);let keyFramesCollection={};let lastRenderTime={};const getUniformsFromKeyframes=keyFramesList=>{const newUniformValues={};keyFramesList.forEach((keyFrames=>{const startValues=keyFrames.getStartData();const endValues=keyFrames.getEndData();for(const key in startValues){const startValue=startValues[key];const endValue=endValues[key];newUniformValues[key]=startValue+keyFrames.factor*(endValue-startValue)}}));return newUniformValues};class AnimationEngine_AnimationEngine{constructor(params){var _params$fps;this.layerId=void 0;this.timeline=void 0;this.animationData=void 0;this.redrawFn=void 0;this.fps=void 0;this.layerId=params.layerId;this.timeline=params.timeline;this.animationData=params.animationDataList;this.redrawFn=params.redrawFn;this.fps=(_params$fps=params.fps)!==null&&_params$fps!==void 0?_params$fps:30}createKeyFrames(){var _this$animationData;if(!((_this$animationData=this.animationData)!==null&&_this$animationData!==void 0&&_this$animationData.length))return[];const keyFramesList=[];this.animationData.forEach((animationData=>{var _animationData$channe;if(!animationData)return new engine_["KeyFrames"]([]);const sanitizedChannel=(_animationData$channe=animationData.channel)!==null&&_animationData$channe!==void 0?_animationData$channe:{};if(sanitizedChannel.repeat===-1||!sanitizedChannel.repeat){sanitizedChannel.repeat=Number.POSITIVE_INFINITY}if(!sanitizedChannel.duration){sanitizedChannel.duration=5e3}const channel=this.timeline.addChannel(animationData.channel);const frames=new Array;Object.entries(animationData.keyFrames).forEach((_ref=>{let[timePercent,values]=_ref;const time=animationData.channel.duration*parseInt(timePercent)/100;frames.push([time,values])}));const keyFrames=new engine_["KeyFrames"](frames);this.timeline.attachAnimation(keyFrames,channel);keyFramesList.push(keyFrames)}));return keyFramesList}getUniforms(){if(!this.layerId){return{}}if(!keyFramesCollection[this.layerId]){keyFramesCollection[this.layerId]=this.createKeyFrames()}return getUniformsFromKeyframes(keyFramesCollection[this.layerId])}render(){if(!this.layerId){return}if(this.timeline.animations.size===0){keyFramesCollection={};lastRenderTime={}}const timeFraction=1e3/this.fps;if(!lastRenderTime[this.layerId]||lastRenderTime[this.layerId]+timeFraction<=this.timeline.time){lastRenderTime[this.layerId]=this.timeline.time;setTimeout((()=>{window.requestAnimationFrame((()=>{this.redrawFn()}))}),timeFraction)}}}const UNIT={common:0,meters:1,pixels:2};class AnimatedCircleLayer_AnimatedCircleLayer extends layers_["ScatterplotLayer"]{draw(opts){const animationEngine=new AnimationEngine_AnimationEngine({layerId:this.props.id,timeline:opts.context.timeline,animationDataList:this.props.animations,redrawFn:()=>this.setNeedsRedraw()});const uniformValues=animationEngine.getUniforms();const{radiusUnits,radiusScale,radiusMinPixels,radiusMaxPixels,stroked,filled,billboard,antialiasing,lineWidthUnits,lineWidthScale,lineWidthMinPixels,lineWidthMaxPixels}=this.props;this.state.model.setUniforms(opts.uniforms).setUniforms({stroked:stroked?1:0,filled,billboard,antialiasing,radiusUnits:UNIT[radiusUnits],radiusScale,radiusMinPixels,radiusMaxPixels,lineWidthUnits:UNIT[lineWidthUnits],lineWidthScale,lineWidthMinPixels,lineWidthMaxPixels,...uniformValues}).draw();animationEngine.render()}}AnimatedCircleLayer_AnimatedCircleLayer.layerName="AnimatedCircleLayer";var core_=__webpack_require__(31);class AnimatedLayerFactory_AnimatedCompositeLayer extends core_["CompositeLayer"]{constructor(props){super(props)}renderLayers(){return this.props.layers}}AnimatedLayerFactory_AnimatedCompositeLayer.layerName="AnimatedCompositeLayer";function attributeReplacement(keyFrames,replacements,originalProps){return Object.fromEntries(Object.entries(keyFrames).map((_ref=>{let[percent,keyframe]=_ref;Object.entries(replacements).forEach((_ref2=>{let[key,fn]=_ref2;keyframe[key]=fn(keyframe,originalProps)}));return[percent,Object(fp_["omitBy"])(fp_["isUndefined"],keyframe)]})))}class AnimatedLayerFactory_AnimatedLayerFactory{constructor(StaticClass,AnimatedClass){let replacements=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};this.StaticClass=StaticClass;this.AnimatedClass=AnimatedClass;this.replacements=replacements}create(encoding,deckProps,callbacks){const animations=this.getAnimations(encoding);const layers=this.createLayers(animations,deckProps);return new AnimatedLayerFactory_AnimatedCompositeLayer({id:deckProps.id,layerId:deckProps.layerId,layers,pickable:deckProps.pickable,...callbacks})}createAnimation(encoding){var _encoding$animation,_encoding$animation2,_encoding$animation3;return{field:(_encoding$animation=encoding.animation)===null||_encoding$animation===void 0?void 0:_encoding$animation.field,keyFrames:attributeReplacement((_encoding$animation2=encoding.animation)===null||_encoding$animation2===void 0?void 0:_encoding$animation2.keyFrames,this.replacements,encoding),channel:(_encoding$animation3=encoding.animation)===null||_encoding$animation3===void 0?void 0:_encoding$animation3.channel}}static hasAnimations(encodings){var _encodings$size,_encodings$color;if(src["b"].getParam("animate")==="false"){return false}return!!((_encodings$size=encodings.size)!==null&&_encodings$size!==void 0&&_encodings$size.animation||(_encodings$color=encodings.color)!==null&&_encodings$color!==void 0&&_encodings$color.animation)}getAnimations(encodings){var _encodings$size2,_encodings$color2;const animations=[];if((_encodings$size2=encodings.size)!==null&&_encodings$size2!==void 0&&_encodings$size2.animation){animations.push(this.createAnimation(encodings.size))}if((_encodings$color2=encodings.color)!==null&&_encodings$color2!==void 0&&_encodings$color2.animation){animations.push(this.createAnimation(encodings.color))}return animations}createLayers(allAnimations,deckProps){const animatedData=[];const notAnimatedData=[];deckProps.data.forEach((row=>{var _allAnimations$;const field=(_allAnimations$=allAnimations[0])===null||_allAnimations$===void 0?void 0:_allAnimations$.field;if(!field||row[field]){animatedData.push(row)}else{notAnimatedData.push(row)}}));const animatedProps=Object(fp_["omitBy"])(fp_["isUndefined"],{...deckProps,id:`${deckProps.id}-animated`,data:animatedData});const notAnimatedProps=Object(fp_["omitBy"])(fp_["isUndefined"],{...deckProps,id:`${deckProps.id}-not-animated`,data:notAnimatedData});return[new this.StaticClass(notAnimatedProps),new this.AnimatedClass({...animatedProps,animations:allAnimations})]}}class RenderController{constructor(){this._shouldRender=true;this.params={}}shouldRender(){return this._shouldRender}update(params){if(!params.cacheKey){this._shouldRender=false;return}this._shouldRender=params.cacheKey!==this.params.cacheKey||this.params.selectedRow!==params.selectedRow||this.params.lastModified!==params.lastModified;this.params=params}}class DataComparator_DataComparator{constructor(){this.renderControllers={}}getRenderController(layerId){if(!this.renderControllers[layerId]){this.renderControllers[layerId]=new RenderController}return this.renderControllers[layerId]}isEqual(layerId,params){const controller=this.getRenderController(layerId);controller.update(params);if(params.encoding&&AnimatedLayerFactory_AnimatedLayerFactory.hasAnimations(params.encoding))return false;return!controller.shouldRender()}}var rhumb_distance_=__webpack_require__(91);var rhumb_distance_default=__webpack_require__.n(rhumb_distance_);var rhumb_bearing_=__webpack_require__(92);var rhumb_bearing_default=__webpack_require__.n(rhumb_bearing_);var helpers_=__webpack_require__(21);var transform_translate_=__webpack_require__(93);var transform_translate_default=__webpack_require__.n(transform_translate_);const HIGHLIGHT_COLOR=[0,0,0,77];class BaseFactory_BaseFactory{constructor(){this.dataComparator=new DataComparator_DataComparator}getDeckProps(factoryProps,layerProps){var _factoryProps$dataCom,_this$getRows,_factoryProps$visible;const dataComparator=(_factoryProps$dataCom=factoryProps.dataComparator)!==null&&_factoryProps$dataCom!==void 0?_factoryProps$dataCom:this.dataComparator;const comparisonParams={cacheKey:(_this$getRows=this.getRows(factoryProps))===null||_this$getRows===void 0?void 0:_this$getRows.etag,lastModified:factoryProps.lastModified,selectedRow:factoryProps.selectedRow,encoding:factoryProps.encoding};const validProps={...layerProps,layerId:factoryProps.layerId,visible:(_factoryProps$visible=factoryProps.visible)===null||_factoryProps$visible===void 0?void 0:_factoryProps$visible.value,editable:factoryProps.editable,dataComparator:()=>dataComparator.isEqual(factoryProps.id,comparisonParams),stroked:!!layerProps.stroked,...factoryProps.autoHighlight&&{highlightColor:HIGHLIGHT_COLOR,autoHighlight:true}};validProps.colorEncoding=factoryProps.encoding.getColor();return Object(fp_["omitBy"])(fp_["isUndefined"],validProps)}getColorUpdateTrigger(color,visibleRows){const triggers=new Array;triggers.push(color===null||color===void 0?void 0:color.createdTimestamp,visibleRows===null||visibleRows===void 0?void 0:visibleRows.etag);return triggers}getPositionUpdateTrigger(position,editing){const triggers=[Math.random()];if(editing){triggers.push((()=>({})))}return triggers}getSizeUpdateTrigger(size){const triggers=new Array;triggers.push(size===null||size===void 0?void 0:size.createdTimestamp);return triggers}getIconUpdateTrigger(icon){const triggers=new Array;triggers.push(icon===null||icon===void 0?void 0:icon.createdTimestamp);return triggers}getPositionAccessor(props){const xColumn="_x";const yColumn="_y";return row=>{var _props$selectedRow,_props$selectedRow$up,_props$selectedRow2,_props$selectedRow2$u,_props$selectedRow3;const tempRow=props.selectedRow&&((_props$selectedRow=props.selectedRow)===null||_props$selectedRow===void 0?void 0:(_props$selectedRow$up=_props$selectedRow.updatingRow)===null||_props$selectedRow$up===void 0?void 0:_props$selectedRow$up._id)!==undefined&&((_props$selectedRow2=props.selectedRow)===null||_props$selectedRow2===void 0?void 0:(_props$selectedRow2$u=_props$selectedRow2.updatingRow)===null||_props$selectedRow2$u===void 0?void 0:_props$selectedRow2$u._id)===row._id?(_props$selectedRow3=props.selectedRow)===null||_props$selectedRow3===void 0?void 0:_props$selectedRow3.updatingRow:undefined;const rowToPlace=tempRow?tempRow:row;return[Number(rowToPlace[xColumn]),Number(rowToPlace[yColumn])]}}get3dPositionAccessor(){const xColumn="_x";const yColumn="_y";const zColumn="_z";return row=>{var _row$xColumn,_row$yColumn,_row$zColumn;return[Number((_row$xColumn=row[xColumn])!==null&&_row$xColumn!==void 0?_row$xColumn:0),Number((_row$yColumn=row[yColumn])!==null&&_row$yColumn!==void 0?_row$yColumn:0),Number((_row$zColumn=row[zColumn])!==null&&_row$zColumn!==void 0?_row$zColumn:0)]}}getRows(props){var _props$visible,_props$visible$condit,_props$visible2;if(!props.rows){return new dataset_src["j"]}let rows=props.rows;const conditionField=(_props$visible=props.visible)===null||_props$visible===void 0?void 0:(_props$visible$condit=_props$visible.condition)===null||_props$visible$condit===void 0?void 0:_props$visible$condit.test;if(conditionField){rows=rows.filter((row=>row[conditionField]))}if(!props.transform||!props.transform.cluster||!((_props$visible2=props.visible)!==null&&_props$visible2!==void 0&&_props$visible2.value))return rows;return props.transform.cluster.apply(rows,props.columns,props.zoom)}getColorAccessor(columns,color,rows,visibleRows,rowTranslator){return Object(encoding_src["m"])(color,rows||new dataset_src["j"],visibleRows||new dataset_src["j"],columns,rowTranslator)}getColorRange(color){return Object(encoding_src["p"])(color.scale.scheme||color.scale.range,color.scale.reverse,color.opacity).colors}getSizeAccessor(props){return Object(encoding_src["q"])(props)}getTranslatedRow(rowTranslator,originalObject){if(!rowTranslator){return{row:originalObject}}return{row:rowTranslator.translate(originalObject)}}getInfoCoordinate(coordinate){if(!coordinate||!coordinate[0]||!coordinate[1])return;return new spatial_src["c"]({x:coordinate[0],y:coordinate[1]})}getRowIndex(rows,row){var _rows$findIndex;if(!rows)return;const rowIndex=(_rows$findIndex=rows.findIndex((r=>r===row)))!==null&&_rows$findIndex!==void 0?_rows$findIndex:-1;return rowIndex>=0?rowIndex:undefined}isGeoJSON(info){return info.layer instanceof layers_["GeoJsonLayer"]}getCursorDisplacement(props,coordinate,row){var _props$selectedRow4,_props$selectedRow5;if((_props$selectedRow4=props.selectedRow)!==null&&_props$selectedRow4!==void 0&&_props$selectedRow4.cursorDisplacement)return(_props$selectedRow5=props.selectedRow)===null||_props$selectedRow5===void 0?void 0:_props$selectedRow5.cursorDisplacement;if(!coordinate||!row||!row._x||!row._y)return;const from=Object(helpers_["point"])([coordinate[0],coordinate[1]]);const to=Object(helpers_["point"])([row._x,row._y]);const d=rhumb_distance_default()(from,to);const b=rhumb_bearing_default()(from,to);return{distance:d,bearing:b}}getFixedCoordinate(coordinate,cursorDisplacement){if(!cursorDisplacement)return coordinate;const pointCoordinate=Object(helpers_["point"])(coordinate);const translated=transform_translate_default()(pointCoordinate,cursorDisplacement.distance,cursorDisplacement.bearing);return translated.geometry.coordinates}getUpdatedData(info,coordinates,cursorDisplacement){if(!cursorDisplacement)return undefined;if(info.updatedData)return info.updatedData;const fixedCoordinate=coordinates?this.getFixedCoordinate([coordinates===null||coordinates===void 0?void 0:coordinates.x,coordinates===null||coordinates===void 0?void 0:coordinates.y],cursorDisplacement):[0,0];return{_x:fixedCoordinate[0],_y:fixedCoordinate[1]}}getCallbackInfo(info,props,editHandler){var _info$layer,_info$layer$props,_this$getRowIndex,_props$selectedRow6;if(!(info!==null&&info!==void 0&&(_info$layer=info.layer)!==null&&_info$layer!==void 0&&(_info$layer$props=_info$layer.props)!==null&&_info$layer$props!==void 0&&_info$layer$props.pickable))return;const rowIndex=this.isGeoJSON(info)?info.index:(_this$getRowIndex=this.getRowIndex(props.rows,info.object))!==null&&_this$getRowIndex!==void 0?_this$getRowIndex:info.index;const row=props.rows?props.rows[rowIndex]:info.object;const coordinates=this.getInfoCoordinate(info.coordinate);const updatedData=editHandler&&props.editable?this.getUpdatedData(info,coordinates,(_props$selectedRow6=props.selectedRow)===null||_props$selectedRow6===void 0?void 0:_props$selectedRow6.cursorDisplacement):undefined;const cursorDisplacement=editHandler?this.getCursorDisplacement(props,info.coordinate,row):undefined;return{row,rowIndex,rowsetId:props.rowsetId,layerId:props.layerId,updatedData:editHandler?updatedData:undefined,coordinates,pixel:this.getInfoCoordinate(info.pixel),editable:props.editable,cursorDisplacement}}getDeckLayerCallbacks(props){const callbacks=props.layerCallbacks;return{onHover:info=>(callbacks===null||callbacks===void 0?void 0:callbacks.onHover)&&callbacks.onHover(this.getCallbackInfo(info,props)),onClick:info=>(callbacks===null||callbacks===void 0?void 0:callbacks.onClick)&&callbacks.onClick(this.getCallbackInfo(info,props)),onDragStart:info=>(callbacks===null||callbacks===void 0?void 0:callbacks.onDragStart)&&callbacks.onDragStart(this.getCallbackInfo(info,props,true)),onDrag:info=>(callbacks===null||callbacks===void 0?void 0:callbacks.onDrag)&&callbacks.onDrag(this.getCallbackInfo(info,props,true)),onDragEnd:(info,event,keepSelected)=>(callbacks===null||callbacks===void 0?void 0:callbacks.onDragEnd)&&callbacks.onDragEnd(this.getCallbackInfo(info,props,true),event,!!keepSelected),onEdit:info=>(callbacks===null||callbacks===void 0?void 0:callbacks.onEdit)&&callbacks.onEdit(this.getCallbackInfo(info,props,true)),onEditEnd:info=>(callbacks===null||callbacks===void 0?void 0:callbacks.onEditEnd)&&callbacks.onEditEnd(this.getCallbackInfo(info,props,true))}}}class StrokableFactory_StrokableFactory extends BaseFactory_BaseFactory{getColorStrokeProps(color,rows,visibleRows,columns,rowTranslator){if(!color){return{}}const colorAccessor=super.getColorAccessor(columns,color,rows,visibleRows,rowTranslator);return{stroked:!!colorAccessor,getLineColor:colorAccessor}}getStrokeSizeProps(visibleRows,columns,size,rowTranslator){if(!size){return{}}return{getLineWidth:super.getSizeAccessor({encoding:size,visibleRows,columns,rowTranslator}),lineWidthUnits:size===null||size===void 0?void 0:size.getUnits(),stroked:true}}}const DIAMETER_TO_RADIUS=.5;const animatedLayerFactory=new AnimatedLayerFactory_AnimatedLayerFactory(layers_["ScatterplotLayer"],AnimatedCircleLayer_AnimatedCircleLayer,{radiusScale:kProps=>kProps.scale,radiusMinPixels:(kProps,props)=>props.getMinPixels&&props.getMinPixels(kProps.scale*DIAMETER_TO_RADIUS),radiusMaxPixels:(kProps,props)=>props.getMaxPixels&&props.getMaxPixels(kProps.scale*DIAMETER_TO_RADIUS)});class CircleFactory_CircleFactory extends StrokableFactory_StrokableFactory{getStrokeProps(props){var _props$encoding;const sizeProps=this.getStrokeSizeProps(props.visibleRows,props.columns,props.encoding.strokeSize);const colorProps=this.getColorStrokeProps((_props$encoding=props.encoding)===null||_props$encoding===void 0?void 0:_props$encoding.strokeColor,props.rows,props.visibleRows,props.columns);if(sizeProps.stroked&&colorProps.stroked){return{...sizeProps,...colorProps,stroked:true}}}create(props){var _props$encoding2,_props$encoding3,_props$encoding4,_props$encoding4$size,_props$encoding5,_props$encoding5$size,_props$encoding6,_props$encoding6$size;const deckProps=super.getDeckProps(props,{id:props.id,data:super.getRows(props),getFillColor:super.getColorAccessor(props.columns,(_props$encoding2=props.encoding)===null||_props$encoding2===void 0?void 0:_props$encoding2.color,props.rows,props.visibleRows),getPosition:super.getPositionAccessor(props),getRadius:super.getSizeAccessor({encoding:(_props$encoding3=props.encoding)===null||_props$encoding3===void 0?void 0:_props$encoding3.size,factor:DIAMETER_TO_RADIUS,visibleRows:props.visibleRows,columns:props.columns}),updateTriggers:{getFillColor:Math.random(),getRadius:Math.random(),getPosition:Math.random()},radiusUnits:(_props$encoding4=props.encoding)===null||_props$encoding4===void 0?void 0:(_props$encoding4$size=_props$encoding4.size)===null||_props$encoding4$size===void 0?void 0:_props$encoding4$size.getUnits(),...this.getStrokeProps(props),pickable:props.pickable,radiusMaxPixels:(_props$encoding5=props.encoding)===null||_props$encoding5===void 0?void 0:(_props$encoding5$size=_props$encoding5.size)===null||_props$encoding5$size===void 0?void 0:_props$encoding5$size.getMaxPixels(DIAMETER_TO_RADIUS),radiusMinPixels:(_props$encoding6=props.encoding)===null||_props$encoding6===void 0?void 0:(_props$encoding6$size=_props$encoding6.size)===null||_props$encoding6$size===void 0?void 0:_props$encoding6$size.getMinPixels(DIAMETER_TO_RADIUS),...super.getDeckLayerCallbacks(props)});if(AnimatedLayerFactory_AnimatedLayerFactory.hasAnimations(props.encoding)){return animatedLayerFactory.create(props.encoding,deckProps,super.getDeckLayerCallbacks(props))}else{return new layers_["ScatterplotLayer"](deckProps)}}}var aggregation_layers_=__webpack_require__(134);const getWeight=encoding=>row=>{if(encoding&&encoding.intensity.field){if(Object(fp_["isNil"])(row[encoding.intensity.field])){return 1}return Math.abs(parseFloat(row[encoding.intensity.field]))}return 1};const previousRows={};class HeatmapFactory_HeatmapFactory extends BaseFactory_BaseFactory{getWeightUpdateTrigger(heatmap){const triggers=new Array;triggers.push(heatmap===null||heatmap===void 0?void 0:heatmap.createdTimestamp);return triggers}create(props){var _props$encoding,_props$encoding2,_props$encoding$heatm,_props$encoding$heatm2;let rows;if(!(props!==null&&props!==void 0&&props.rows)){rows=previousRows[props.layerId]}else{previousRows[props.layerId]=props===null||props===void 0?void 0:props.rows;rows=props===null||props===void 0?void 0:props.rows}const deckProps=super.getDeckProps(props,{id:props.id,data:rows,colorRange:super.getColorRange((_props$encoding=props.encoding)===null||_props$encoding===void 0?void 0:_props$encoding.color),getPosition:super.getPositionAccessor(props),getWeight:getWeight((_props$encoding2=props.encoding)===null||_props$encoding2===void 0?void 0:_props$encoding2.heatmap),weightsTextureSize:src["b"].hasParam("heatmapTextureSize")?src["b"].getParam("heatmapTextureSize"):512,debounceTimeout:src["b"].hasParam("heatmapDebounce")?src["b"].getParam("heatmapDebounce"):0,intensity:(_props$encoding$heatm=props.encoding.heatmap)===null||_props$encoding$heatm===void 0?void 0:_props$encoding$heatm.intensity.multiplier,radiusPixels:(_props$encoding$heatm2=props.encoding.heatmap)===null||_props$encoding$heatm2===void 0?void 0:_props$encoding$heatm2.radius,updateTriggers:{getWeight:this.getWeightUpdateTrigger(props.encoding.heatmap)},...super.getDeckLayerCallbacks(props)});return new aggregation_layers_["HeatmapLayer"](Object(fp_["omitBy"])(fp_["isUndefined"],deckProps))}}var config_src=__webpack_require__(17);const CustomIcons=["apple","centrifuge","deflection","desktop","electric","image-placeholder","incubator","ip-address","laptop","linux","load-balancer","macaddress","machine","marker","microchip","mobile","person","pressure","refrigerator","server","stove","tag","temperature-and-vibration","wifi-excellent","wifi-fair","wifi-good","wifi-off","wifi-weak","windows"];const MaterialIcons=["10k","10mp","11mp","123","12mp","13mp","14mp","15mp","16mp","17mp","18-up-rating","18mp","19mp","1k-plus","1k","1x-mobiledata","20mp","21mp","22mp","23mp","24mp","2k-plus","2k","2mp","30fps-select","30fps","360","3d-rotation","3g-mobiledata","3k-plus","3k","3mp","3p","4g-mobiledata","4g-plus-mobiledata","4k-plus","4k","4mp","5g","5k-plus","5k","5mp","6-ft-apart","60fps-select","60fps","6k-plus","6k","6mp","7k-plus","7k","7mp","8k-plus","8k","8mp","9k-plus","9k","9mp","abc","ac-unit","access-alarm","access-alarms","access-time-filled","access-time","accessibility-new","accessibility","accessible-forward","accessible","account-balance-wallet","account-balance","account-box","account-circle","account-tree","ad-units","adb","add-a-photo","add-alarm","add-alert","add-box","add-business","add-call","add-card","add-chart","add-circle-outline","add-circle","add-comment","add-home-work","add-home","add-ic-call","add-link","add-location-alt","add-location","add-moderator","add-photo-alternate","add-reaction","add-road","add-shopping-cart","add-task","add-to-drive","add-to-home-screen","add-to-photos","add-to-queue","add","addchart","adf-scanner","adjust","admin-panel-settings","ads-click","agriculture","air","airline-seat-flat-angled","airline-seat-flat","airline-seat-individual-suite","airline-seat-legroom-extra","airline-seat-legroom-normal","airline-seat-legroom-reduced","airline-seat-recline-extra","airline-seat-recline-normal","airline-stops","airlines","airplane-ticket","airplanemode-active","airplanemode-inactive","airplay","airport-shuttle","alarm-add","alarm-off","alarm-on","alarm","album","align-horizontal-center","align-horizontal-left","align-horizontal-right","align-vertical-bottom","align-vertical-center","align-vertical-top","all-inbox","all-inclusive","all-out","alt-route","alternate-email","amp-stories","analytics","anchor","android","animation","announcement","aod","apartment","api","app-blocking","app-registration","app-settings-alt","app-shortcut","approval","apps-outage","apps","architecture","archive","area-chart","arrow-back-ios-new","arrow-back-ios","arrow-back","arrow-circle-down","arrow-circle-left","arrow-circle-right","arrow-circle-up","arrow-downward","arrow-drop-down-circle","arrow-drop-down","arrow-drop-up","arrow-forward-ios","arrow-forward","arrow-left","arrow-outward","arrow-right-alt","arrow-right","arrow-upward","art-track","article","aspect-ratio","assessment","assignment-ind","assignment-late","assignment-return","assignment-returned","assignment-turned-in","assignment","assist-walker","assistant-direction","assistant-navigation","assistant-photo","assistant","assured-workload","atm","attach-email","attach-file","attach-money","attachment","attractions","attribution","audio-file","audiotrack","auto-awesome-mosaic","auto-awesome-motion","auto-awesome","auto-delete","auto-fix-high","auto-fix-normal","auto-fix-off","auto-graph","auto-mode","auto-stories","autofps-select","autorenew","av-timer","baby-changing-station","back-hand","backpack","backspace","backup-table","backup","badge","bakery-dining","balance","balcony","ballot","bar-chart","batch-prediction","bathroom","bathtub","battery-0-bar","battery-1-bar","battery-2-bar","battery-3-bar","battery-4-bar","battery-5-bar","battery-6-bar","battery-alert","battery-charging-full","battery-full","battery-saver","battery-std","battery-unknown","beach-access","bed","bedroom-baby","bedroom-child","bedroom-parent","bedtime-off","bedtime","beenhere","bento","bike-scooter","biotech","blender","blind","blinds-closed","blinds","block-flipped","block","bloodtype","bluetooth-audio","bluetooth-connected","bluetooth-disabled","bluetooth-drive","bluetooth-searching","bluetooth","blur-circular","blur-linear","blur-off","blur-on","bolt","book-online","book","bookmark-add","bookmark-added","bookmark-border","bookmark-remove","bookmark","bookmarks","border-all","border-bottom","border-clear","border-color","border-horizontal","border-inner","border-left","border-outer","border-right","border-style","border-top","border-vertical","boy","branding-watermark","breakfast-dining","brightness-1","brightness-2","brightness-3","brightness-4","brightness-5","brightness-6","brightness-7","brightness-auto","brightness-high","brightness-low","brightness-medium","broadcast-on-home","broadcast-on-personal","broken-image","browse-gallery","browser-not-supported","browser-updated","brunch-dining","brush","bubble-chart","bug-report","build-circle","build","bungalow","burst-mode","bus-alert","business-center","business","cabin","cable","cached","cake","calculate","calendar-month","calendar-today","calendar-view-day","calendar-view-month","calendar-view-week","call-end","call-made","call-merge","call-missed-outgoing","call-missed","call-received","call-split","call-to-action","call","camera-alt","camera-enhance","camera-front","camera-indoor","camera-outdoor","camera-rear","camera-roll","camera","cameraswitch","campaign","cancel-presentation","cancel-schedule-send","cancel","candlestick-chart","car-crash","car-rental","car-repair","card-giftcard","card-membership","card-travel","carpenter","cases","casino","cast-connected","cast-for-education","cast","castle","catching-pokemon","category","celebration","cell-tower","cell-wifi","center-focus-strong","center-focus-weak","chair-alt","chair","chalet","change-circle","change-history","charging-station","chat-bubble-outline","chat-bubble","chat","check-box-outline-blank","check-box","check-circle-outline","check-circle","check","checklist-rtl","checklist","checkroom","chevron-left","chevron-right","child-care","child-friendly","chrome-reader-mode","church","circle-notifications","circle","class","clean-hands","cleaning-services","clear-all","clear","close-fullscreen","close","closed-caption-disabled","closed-caption-off","closed-caption","cloud-circle","cloud-done","cloud-download","cloud-off","cloud-queue","cloud-sync","cloud-upload","cloud","cloudy-snowing","co-present","co2","code-off","code","coffee-maker","coffee","collections-bookmark","collections","color-lens","colorize","comment-bank","comment","comments-disabled","commit","commute","compare-arrows","compare","compass-calibration","compost","compress","computer","confirmation-number","connect-without-contact","connected-tv","connecting-airports","construction","contact-emergency","contact-mail","contact-page","contact-phone","contact-support","contactless","contacts","content-copy","content-cut","content-paste-go","content-paste-off","content-paste-search","content-paste","contrast","control-camera","control-point-duplicate","control-point","cookie","copy-all","copyright","coronavirus","corporate-fare","cottage","countertops","create-new-folder","create","credit-card-off","credit-card","credit-score","crib","crisis-alert","crop-16-9","crop-3-2","crop-5-4","crop-7-5","crop-din","crop-free","crop-landscape","crop-original","crop-portrait","crop-rotate","crop-square","crop","cruelty-free","css","currency-bitcoin","currency-exchange","currency-franc","currency-lira","currency-pound","currency-ruble","currency-rupee","currency-yen","currency-yuan","curtains-closed","curtains","cyclone","dangerous","dark-mode","dashboard-customize","dashboard","data-array","data-exploration","data-object","data-saver-off","data-saver-on","data-thresholding","data-usage","dataset-linked","dataset","date-range","deblur","deck","dehaze","delete-forever","delete-outline","delete-sweep","delete","delivery-dining","density-large","density-medium","density-small","departure-board","description","deselect","design-services","desk","desktop-access-disabled","desktop-mac","desktop-windows","details","developer-board-off","developer-board","developer-mode","device-hub","device-thermostat","device-unknown","devices-fold","devices-other","devices","dialer-sip","dialpad","diamond","difference","dining","dinner-dining","directions-bike","directions-boat-filled","directions-boat","directions-bus-filled","directions-bus","directions-car-filled","directions-car","directions-off","directions-railway-filled","directions-railway","directions-run","directions-subway-filled","directions-subway","directions-transit-filled","directions-transit","directions-walk","directions","dirty-lens","disabled-by-default","disabled-visible","disc-full","discount","display-settings","diversity-1","diversity-2","diversity-3","dns","do-disturb-alt","do-disturb-off","do-disturb-on","do-disturb","do-not-disturb-alt","do-not-disturb-off","do-not-disturb-on-total-silence","do-not-disturb-on","do-not-disturb","do-not-step","do-not-touch","dock","document-scanner","domain-add","domain-disabled","domain-verification","domain","done-all","done-outline","done","donut-large","donut-small","door-back","door-front","door-sliding","doorbell","double-arrow","downhill-skiing","download-done","download-for-offline","download","downloading","drafts","drag-handle","drag-indicator","draw","drive-eta","drive-file-move-outline","drive-file-move-rtl","drive-file-move","drive-file-rename-outline","drive-folder-upload","dry-cleaning","dry","duo","dvr","dynamic-feed","dynamic-form","e-mobiledata","earbuds-battery","earbuds","east","eco","edgesensor-high","edgesensor-low","edit-attributes","edit-calendar","edit-location-alt","edit-location","edit-note","edit-notifications","edit-off","edit-road","edit","egg-alt","egg","eject","elderly-woman","elderly","electric-bike","electric-bolt","electric-car","electric-meter","electric-moped","electric-rickshaw","electric-scooter","electrical-services","elevator","email","emergency-recording","emergency-share","emergency","emoji-emotions","emoji-events","emoji-flags","emoji-food-beverage","emoji-nature","emoji-objects","emoji-people","emoji-symbols","emoji-transportation","energy-savings-leaf","engineering","enhanced-encryption","equalizer","error-outline","error","escalator-warning","escalator","euro-symbol","euro","ev-station","event-available","event-busy","event-note","event-repeat","event-seat","event","exit-to-app","expand-circle-down","expand-less","expand-more","expand","explicit","explore-off","explore","exposure-neg-1","exposure-neg-2","exposure-plus-1","exposure-plus-2","exposure-zero","exposure","extension-off","extension","face-2","face-3","face-4","face-5","face-6","face-retouching-natural","face-retouching-off","face-unlock","face","facebook","fact-check","factory","family-restroom","fast-forward","fast-rewind","fastfood","favorite-border","favorite","fax","featured-play-list","featured-video","feed","feedback","female","fence","festival","fiber-dvr","fiber-manual-record","fiber-new","fiber-pin","fiber-smart-record","file-copy","file-download-done","file-download-off","file-download","file-open","file-present","file-upload","filter-1","filter-2","filter-3","filter-4","filter-5","filter-6","filter-7","filter-8","filter-9-plus","filter-9","filter-alt-off","filter-alt","filter-b-and-w","filter-center-focus","filter-drama","filter-frames","filter-hdr","filter-list-alt","filter-list-off","filter-list","filter-none","filter-tilt-shift","filter-vintage","filter","find-in-page","find-replace","fingerprint","fire-extinguisher","fire-hydrant-alt","fire-truck","fireplace","first-page","fit-screen","fitbit","fitness-center","flag-circle","flag","flaky","flare","flash-auto","flash-off","flash-on","flashlight-off","flashlight-on","flatware","flight-class","flight-land","flight-takeoff","flight","flip-camera-android","flip-camera-ios","flip-to-back","flip-to-front","flip","flood","flourescent","flutter-dash","fmd-bad","fmd-good","foggy","folder-copy","folder-delete","folder-off","folder-open","folder-shared","folder-special","folder-zip","folder","follow-the-signs","font-download-off","font-download","food-bank","forest","fork-left","fork-right","format-align-center","format-align-justify","format-align-left","format-align-right","format-bold","format-clear","format-color-fill","format-color-reset","format-color-text","format-indent-decrease","format-indent-increase","format-italic","format-line-spacing","format-list-bulleted","format-list-numbered-rtl","format-list-numbered","format-overline","format-paint","format-quote","format-shapes","format-size","format-strikethrough","format-textdirection-l-to-r","format-textdirection-r-to-l","format-underlined","fort","forum","forward-10","forward-30","forward-5","forward-to-inbox","forward","foundation","free-breakfast","free-cancellation","front-hand","fullscreen-exit","fullscreen","functions","g-mobiledata","g-translate","gamepad","games","garage","gas-meter","gavel","generating-tokens","gesture","get-app","gif-box","gif","girl","gite","golf-course","gpp-bad","gpp-good","gpp-maybe","gps-fixed","gps-not-fixed","gps-off","grade","gradient","grading","grain","graphic-eq","grass","grid-3x3","grid-4x4","grid-goldenratio","grid-off","grid-on","grid-view","group-add","group-off","group-remove","group-work","group","groups-2","groups-3","groups","h-mobiledata","h-plus-mobiledata","hail","handshake","handyman","hardware","hd","hdr-auto-select","hdr-auto","hdr-enhanced-select","hdr-off-select","hdr-off","hdr-on-select","hdr-on","hdr-plus","hdr-strong","hdr-weak","headphones-battery","headphones","headset-mic","headset-off","headset","healing","health-and-safety","hearing-disabled","hearing","heart-broken","heat-pump","height","help-center","help-outline","help","hevc","hexagon","hide-image","hide-source","high-quality","highlight-alt","highlight-off","highlight","hiking","history-edu","history-toggle-off","history","hive","hls-off","hls","holiday-village","home-filled","home-max","home-mini","home-repair-service","home-work","home","horizontal-distribute","horizontal-rule","horizontal-split","hot-tub","hotel-class","hotel","hourglass-bottom","hourglass-disabled","hourglass-empty","hourglass-full","hourglass-top","house-siding","house","houseboat","how-to-reg","how-to-vote","html","http","https","hub","hvac","ice-skating","icecream","image-aspect-ratio","image-not-supported","image-search","image","imagesearch-roller","import-contacts","import-export","important-devices","inbox","incomplete-circle","indeterminate-check-box","info-outline","info","input","insert-chart-outlined","insert-chart","insert-comment","insert-drive-file","insert-emoticon","insert-invitation","insert-link","insert-page-break","insert-photo","insights","install-desktop","install-mobile","integration-instructions","interests","interpreter-mode","inventory-2","inventory","invert-colors-off","invert-colors","ios-share","iron","iso","javascript","join-full","join-inner","join-left","join-right","kayaking","kebab-dining","key-off","key","keyboard-alt","keyboard-arrow-down","keyboard-arrow-left","keyboard-arrow-right","keyboard-arrow-up","keyboard-backspace","keyboard-capslock","keyboard-command-key","keyboard-control-key","keyboard-double-arrow-down","keyboard-double-arrow-left","keyboard-double-arrow-right","keyboard-double-arrow-up","keyboard-hide","keyboard-option-key","keyboard-return","keyboard-tab","keyboard-voice","keyboard","king-bed","kitchen","kitesurfing","label-important-outline","label-important","label-off","label-outline","label","lan","landscape","landslide","language","laptop-chromebook","laptop-mac","laptop-windows","laptop","last-page","launch","layers-clear","layers","leaderboard","leak-add","leak-remove","legend-toggle","lens-blur","lens","library-add-check","library-add","library-books","library-music","light-mode","light","lightbulb-circle","lightbulb-outline","lightbulb","line-axis","line-style","line-weight","linear-scale","link-off","link","linked-camera","liquor","list-alt","list","live-help","live-tv","living","local-activity","local-airport","local-atm","local-bar","local-cafe","local-car-wash","local-convenience-store","local-dining","local-drink","local-fire-department","local-florist","local-gas-station","local-grocery-store","local-hospital","local-hotel","local-laundry-service","local-library","local-mall","local-movies","local-offer","local-parking","local-pharmacy","local-phone","local-pizza","local-play","local-police","local-post-office","local-printshop","local-see","local-shipping","local-taxi","location-city","location-disabled","location-off","location-on","location-pin","location-searching","lock-clock","lock-open","lock-outline","lock-person","lock-reset","lock","login","logo-dev","logout","looks-3","looks-4","looks-5","looks-6","looks-one","looks-two","looks","loop","loupe","low-priority","loyalty","lte-mobiledata","lte-plus-mobiledata","luggage","lunch-dining","lyrics","macro-off","mail-lock","mail-outline","mail","male","man-2","man-3","man-4","man","manage-accounts","manage-history","manage-search","map","maps-home-work","maps-ugc","margin","mark-as-unread","mark-chat-read","mark-chat-unread","mark-email-read","mark-email-unread","mark-unread-chat-alt","markunread-mailbox","markunread","masks","maximize","media-bluetooth-off","media-bluetooth-on","mediation","medical-information","medical-services","medication-liquid","medication","meeting-room","memory","menu-book","menu-open","menu","merge-type","merge","message","mic-external-off","mic-external-on","mic-none","mic-off","mic","microwave","military-tech","minimize","minor-crash","miscellaneous-services","missed-video-call","mms","mobile-friendly","mobile-off","mobile-screen-share","mobiledata-off","mode-comment","mode-edit-outline","mode-edit","mode-fan-off","mode-night","mode-of-travel","mode-standby","mode","model-training","monetization-on","money-off-csred","money-off","money","monitor-heart","monitor-weight","monitor","monochrome-photos","mood-bad","mood","moped","more-horiz","more-time","more-vert","more","mosque","motion-photos-auto","motion-photos-off","motion-photos-on","motion-photos-pause","motion-photos-paused","mouse","move-down","move-to-inbox","move-up","movie-creation","movie-filter","movie","moving","mp","multiline-chart","multiple-stop","museum","music-note","music-off","music-video","my-location","nat","nature-people","nature","navigate-before","navigate-next","navigation","near-me-disabled","near-me","nearby-error","nearby-off","nest-cam-wired-stand","network-cell","network-check","network-locked","network-ping","network-wifi-1-bar","network-wifi-2-bar","network-wifi-3-bar","network-wifi","new-label","new-releases","newspaper","next-plan","next-week","nfc","night-shelter","nightlife","nightlight-round","nightlight","nights-stay","no-accounts","no-adult-content","no-backpack","no-cell","no-crash","no-drinks","no-encryption-gmailerrorred","no-encryption","no-flash","no-food","no-luggage","no-meals-ouline","no-meals","no-meeting-room","no-photography","no-sim","no-stroller","no-transfer","noise-aware","noise-control-off","nordic-walking","north-east","north-west","north","not-accessible","not-interested","not-listed-location","not-started","note-add","note-alt","note","notes","notification-add","notification-important","notifications-active","notifications-none","notifications-off","notifications-paused","notifications","numbers","offline-bolt","offline-pin","offline-share","oil-barrel","on-device-training","ondemand-video","online-prediction","opacity","open-in-browser","open-in-full","open-in-new-off","open-in-new","open-with","other-houses","outbond","outbound","outbox","outdoor-grill","outgoing-mail","outlet","outlined-flag","output","padding","pages","pageview","paid","palette","pan-tool-alt","pan-tool","panorama-fish-eye","panorama-horizontal-select","panorama-horizontal","panorama-photosphere-select","panorama-photosphere","panorama-vertical-select","panorama-vertical","panorama-wide-angle-select","panorama-wide-angle","panorama","paragliding","park","party-mode","password","pattern","pause-circle-filled","pause-circle-outline","pause-circle","pause-presentation","pause","payment","payments","pedal-bike","pending-actions","pending","pentagon","people-alt","people-outline","people","percent","perm-camera-mic","perm-contact-calendar","perm-data-setting","perm-device-information","perm-identity","perm-media","perm-phone-msg","perm-scan-wifi","person-2","person-3","person-4","person-add-alt-1","person-add-alt","person-add-disabled","person-add","person-off","person-outline","person-pin-circle","person-pin","person-remove-alt-1","person-remove","person-search","person","personal-injury","personal-video","pest-control-rodent","pest-control","pets","phishing","phone-android","phone-bluetooth-speaker","phone-callback","phone-disabled","phone-enabled","phone-forwarded","phone-in-talk","phone-iphone","phone-locked","phone-missed","phone-paused","phone","phonelink-erase","phonelink-lock","phonelink-off","phonelink-ring","phonelink-setup","phonelink","photo-album","photo-camera-back","photo-camera-front","photo-camera","photo-filter","photo-library","photo-size-select-actual","photo-size-select-large","photo-size-select-small","photo","php","piano-off","piano","picture-as-pdf","picture-in-picture-alt","picture-in-picture","pie-chart-outline","pie-chart-outlined","pie-chart","pin-drop","pin-end","pin-invoke","pin","pinch","pivot-table-chart","pix","place","plagiarism","play-arrow","play-circle-filled","play-circle-outline","play-circle","play-disabled","play-for-work","play-lesson","playlist-add-check-circle","playlist-add-check","playlist-add-circle","playlist-add","playlist-play","playlist-remove","plumbing","plus-one","podcasts","point-of-sale","policy","poll","polyline","polymer","pool","portable-wifi-off","portrait","post-add","power-input","power-off","power-settings-new","power","precision-manufacturing","pregnant-woman","present-to-all","preview","price-change","price-check","print-disabled","print","priority-high","privacy-tip","private-connectivity","production-quantity-limits","propane-tank","propane","psychology-alt","psychology","public-off","public","publish","published-with-changes","punch-clock","push-pin","qr-code-2","qr-code-scanner","qr-code","query-builder","query-stats","question-answer","question-mark","queue-music","queue-play-next","queue","quickreply","quiz","r-mobiledata","radar","radio-button-checked","radio-button-unchecked","radio","railway-alert","ramen-dining","ramp-left","ramp-right","rate-review","raw-off","raw-on","read-more","real-estate-agent","receipt-long","receipt","recent-actors","recommend","record-voice-over","rectangle","recycling","redeem","redo","reduce-capacity","refresh","remember-me","remove-circle-outline","remove-circle","remove-done","remove-from-queue","remove-moderator","remove-red-eye","remove-road","remove-shopping-cart","remove","reorder","repartition","repeat-on","repeat-one-on","repeat-one","repeat","replay-10","replay-30","replay-5","replay-circle-filled","replay","reply-all","reply","report-gmailerrorred","report-off","report-problem","report","request-page","request-quote","reset-tv","restart-alt","restaurant-menu","restaurant","restore-from-trash","restore-page","restore","reviews","rice-bowl","ring-volume","rocket-launch","rocket","roller-shades-closed","roller-shades","roller-skating","roofing","room-preferences","room-service","room","rotate-90-degrees-ccw","rotate-90-degrees-cw","rotate-left","rotate-right","roundabout-left","roundabout-right","rounded-corner","route","router","rowing","rss-feed","rsvp","rtt","rule-folder","rule","run-circle","running-with-errors","rv-hookup","safety-check","safety-divider","sailing","sanitizer","satellite-alt","satellite","save-alt","save-as","save","saved-search","savings","scale","scanner","scatter-plot","schedule-send","schedule","schema","school","science","score","scoreboard","screen-lock-landscape","screen-lock-portrait","screen-lock-rotation","screen-rotation-alt","screen-rotation","screen-search-desktop","screen-share","screenshot-monitor","screenshot","scuba-diving","sd-card-alert","sd-card","sd-storage","sd","search-off","search","security-update-good","security-update-warning","security-update","security","segment","select-all","self-improvement","sell","send-and-archive","send-time-extension","send-to-mobile","send","sensor-door","sensor-occupied","sensor-window","sensors-off","sensors","sentiment-dissatisfied","sentiment-neutral","sentiment-satisfied-alt","sentiment-satisfied","sentiment-very-dissatisfied","sentiment-very-satisfied","set-meal","settings-accessibility","settings-applications","settings-backup-restore","settings-bluetooth","settings-brightness","settings-cell","settings-ethernet","settings-input-antenna","settings-input-component","settings-input-composite","settings-input-hdmi","settings-input-svideo","settings-overscan","settings-phone","settings-power","settings-remote","settings-suggest","settings-system-daydream","settings-voice","settings","severe-cold","shape-line","share-location","share","shield-moon","shield","shop-2","shop-two","shop","shopping-bag","shopping-basket","shopping-cart-checkout","shopping-cart","short-text","shortcut","show-chart","shower","shuffle-on","shuffle","shutter-speed","sick","sign-language","signal-cellular-0-bar","signal-cellular-4-bar","signal-cellular-alt-1-bar","signal-cellular-alt-2-bar","signal-cellular-alt","signal-cellular-connected-no-internet-0-bar","signal-cellular-connected-no-internet-4-bar","signal-cellular-no-sim","signal-cellular-nodata","signal-cellular-null","signal-cellular-off","signal-wifi-0-bar","signal-wifi-4-bar-lock","signal-wifi-4-bar","signal-wifi-bad","signal-wifi-connected-no-internet-4","signal-wifi-off","signal-wifi-statusbar-4-bar","signal-wifi-statusbar-connected-no-internet-4","signal-wifi-statusbar-null","signpost","sim-card-alert","sim-card-download","sim-card","single-bed","sip","skateboarding","skip-next","skip-previous","sledding","slideshow","slow-motion-video","smart-button","smart-display","smart-screen","smart-toy","smartphone","smoke-free","smoking-rooms","sms-failed","sms","snippet-folder","snooze","snowboarding","snowing","snowmobile","snowshoeing","soap","social-distance","solar-power","sort-by-alpha","sort","sos","soup-kitchen","source","south-america","south-east","south-west","south","spa","space-bar","space-dashboard","spatial-audio-off","spatial-audio","spatial-tracking","speaker-group","speaker-notes-off","speaker-notes","speaker-phone","speaker","speed","spellcheck","splitscreen","spoke","sports-bar","sports-baseball","sports-basketball","sports-cricket","sports-esports","sports-football","sports-golf","sports-gymnastics","sports-handball","sports-hockey","sports-kabaddi","sports-martial-arts","sports-mma","sports-motorsports","sports-rugby","sports-score","sports-soccer","sports-tennis","sports-volleyball","sports","square-foot","square","ssid-chart","stacked-bar-chart","stacked-line-chart","stadium","stairs","star-border-purple500","star-border","star-half","star-outline","star-purple500","star-rate","star","stars","start","stay-current-landscape","stay-current-portrait","stay-primary-landscape","stay-primary-portrait","sticky-note-2","stop-circle","stop-screen-share","stop","storage","store-mall-directory","store","storefront","storm","straight","straighten","stream","streetview","strikethrough-s","stroller","style","subdirectory-arrow-left","subdirectory-arrow-right","subject","subscript","subscriptions","subtitles-off","subtitles","subway","summarize","sunny-snowing","sunny","superscript","supervised-user-circle","supervisor-account","support-agent","support","surfing","surround-sound","swap-calls","swap-horiz","swap-horizontal-circle","swap-vert","swap-vertical-circle","swipe-down-alt","swipe-down","swipe-left-alt","swipe-left","swipe-right-alt","swipe-right","swipe-up-alt","swipe-up","swipe-vertical","swipe","switch-access-shortcut-add","switch-access-shortcut","switch-account","switch-camera","switch-left","switch-right","switch-video","synagogue","sync-alt","sync-disabled","sync-lock","sync-problem","sync","system-security-update-good","system-security-update-warning","system-security-update","system-update-alt","system-update","tab-unselected","tab","table-bar","table-chart","table-restaurant","table-rows","table-view","tablet-android","tablet-mac","tablet","tag-faces","tag","takeout-dining","tap-and-play","tapas","task-alt","task","taxi-alert","temple-buddhist","temple-hindu","terminal","terrain","text-decrease","text-fields","text-format","text-increase","text-rotate-up","text-rotate-vertical","text-rotation-angledown","text-rotation-angleup","text-rotation-down","text-rotation-none","text-snippet","textsms","texture","theater-comedy","theaters","thermostat-auto","thermostat","thermostat-vibration","thumb-down-alt","thumb-down-off-alt","thumb-down","thumb-up-alt","thumb-up-off-alt","thumb-up","thumbs-up-down","thunderstorm","time-to-leave","timelapse","timeline","timer-10-select","timer-10","timer-3-select","timer-3","timer-off","timer","tips-and-updates","tire-repair","title","toc","today","toggle-off","toggle-on","token","toll","tonality","topic","tornado","touch-app","tour","toys","track-changes","traffic","train","tram","transcribe","transfer-within-a-station","transform","transgender","transit-enterexit","translate","travel-explore","trending-down","trending-flat","trending-up","trip-origin","troubleshoot","try","tsunami","tty","tune","tungsten","turn-left","turn-right","turn-sharp-left","turn-sharp-right","turn-slight-left","turn-slight-right","turned-in-not","turned-in","tv-off","tv","two-wheeler","type-specimen","u-turn-left","u-turn-right","umbrella","unarchive","undo","unfold-less-double","unfold-less","unfold-more-double","unfold-more","unpublished","unsubscribe","upcoming","update-disabled","update","upgrade","upload-file","upload","usb-off","usb","vaccines","vape-free","vaping-rooms","verified-user","verified","vertical-align-bottom","vertical-align-center","vertical-align-top","vertical-distribute","vertical-shades-closed","vertical-shades","vertical-split","vibration","video-call","video-camera-back","video-camera-front","video-file","video-label","video-library","video-settings","video-stable","videocam-off","videocam","videogame-asset-off","videogame-asset","view-agenda","view-array","view-carousel","view-column","view-comfy-alt","view-comfy","view-compact-alt","view-compact","view-cozy","view-day","view-headline","view-in-ar","view-kanban","view-list","view-module","view-quilt","view-sidebar","view-stream","view-timeline","view-week","vignette","villa","visibility-off","visibility","voice-chat","voice-over-off","voicemail","volcano","volume-down-alt","volume-down","volume-mute","volume-off","volume-up","volunteer-activism","vpn-key-off","vpn-key","vpn-lock","vrpano","wallet","wallpaper","warehouse","warning-amber","warning","wash","watch-later","watch-off","watch","water-damage","water-drop","water","waterfall-chart","waves","waving-hand","wb-auto","wb-cloudy","wb-incandescent","wb-iridescent","wb-shade","wb-sunny","wb-twighlight","wb-twilight","wc","web-asset-off","web-asset","web-stories","web","webhook","weekend","west","whatsapp","whatshot","wheelchair-pickup","where-to-vote","widgets","width-full","width-normal","width-wide","wifi-1-bar","wifi-2-bar","wifi-calling-3","wifi-calling","wifi-channel","wifi-find","wifi-lock","wifi-off","wifi-password","wifi-protected-setup","wifi-tethering-error-rounded","wifi-tethering-error","wifi-tethering-off","wifi-tethering","wifi","wind-power","window","wine-bar","woman-2","woman","work-history","work-off","work-outline","work","workspace-premium","workspaces-filled","workspaces-outline","workspaces","wrap-text","wrong-location","wysiwyg","yard","youtube-searched-for","zoom-in-map","zoom-in","zoom-out-map","zoom-out"];const FuelicsIcons=["fuelics-dieselTank","fuelics-dumpster","fuelics-parkingSpace","fuelics-powerMeter","fuelics-septicTank","fuelics-waterMeter","fuelics-waterTank"];const customMappings={marker:{width:480,height:640,anchorY:640},refrigerator:{width:480,height:640},stove:{width:480,height:550},centrifuge:{width:480,height:550},incubator:{width:480,height:550},machine:{width:640,height:640},"temperature-and-vibration":{width:480,height:480},deflection:{width:480,height:480},desktop:{width:256,height:256},laptop:{width:256,height:256}};const generateIconURL=(iconName,type)=>`${config_src["a"].getValue("IMAGES_API_ADDRESS")}/icons/${type?type+"/":""}${iconName}.png`;const generateCustomMappings=()=>CustomIcons.reduce(((mapping,iconName)=>({...mapping,[iconName]:{url:generateIconURL(iconName,"custom"),width:customMappings[iconName]&&customMappings[iconName].width?customMappings[iconName].width:240,height:customMappings[iconName]&&customMappings[iconName].height?customMappings[iconName].height:240,anchorY:customMappings[iconName]&&customMappings[iconName].anchorY?customMappings[iconName].anchorY:undefined,mask:true}})),{});const generateMaterialMappings=()=>MaterialIcons.reduce(((mapping,iconName)=>({...mapping,[iconName]:{url:generateIconURL(iconName,"material"),width:240,height:240,mask:true}})),{});const generateFuelicsMappings=()=>FuelicsIcons.reduce(((mapping,iconName)=>({...mapping,[iconName]:{url:generateIconURL(iconName,"fuelics"),width:640,height:640,mask:true}})),{});const RasterMappings={...generateMaterialMappings(),...generateCustomMappings(),...generateFuelicsMappings()};class AnimatedIconLayer_AnimatedIconLayer extends layers_["IconLayer"]{draw(_ref){let{uniforms,context}=_ref;const animationEngine=new AnimationEngine_AnimationEngine({layerId:this.props.id,timeline:context.timeline,animationDataList:this.props.animations,redrawFn:()=>this.setNeedsRedraw()});const uniformValues=animationEngine.getUniforms();const{sizeScale,sizeMinPixels,sizeMaxPixels,sizeUnits,billboard,alphaCutoff}=this.props;const{iconManager}=this.state;const iconsTexture=iconManager.getTexture();if(iconsTexture){this.state.model.setUniforms(uniforms).setUniforms({iconsTexture,iconsTextureDim:[iconsTexture.width,iconsTexture.height],sizeUnits:UNIT[sizeUnits],sizeScale,sizeMinPixels,sizeMaxPixels,billboard,alphaCutoff,...uniformValues}).draw()}animationEngine.render()}}AnimatedIconLayer_AnimatedIconLayer.layerName="AnimatedIconLayer";const IconFactory_animatedLayerFactory=new AnimatedLayerFactory_AnimatedLayerFactory(layers_["IconLayer"],AnimatedIconLayer_AnimatedIconLayer,{sizeScale:kProps=>kProps.scale,sizeMinPixels:(kProps,props)=>props.getMinPixels&&props.getMinPixels(kProps.scale),sizeMaxPixels:(kProps,props)=>props.getMaxPixels&&props.getMaxPixels(kProps.scale)});class IconFactory_IconFactory extends BaseFactory_BaseFactory{create(props){var _props$encoding$size,_props$encoding,_props$encoding$size2;const iconAccessor=new encoding_src["g"]({iconStore:RasterMappings});const deckProps=super.getDeckProps(props,{id:`${props.id}`,data:super.getRows(props),pickable:props.pickable,sizeUnits:(_props$encoding$size=props.encoding.size)===null||_props$encoding$size===void 0?void 0:_props$encoding$size.getUnits(),getSize:Object(encoding_src["q"])({encoding:props.encoding.size,columns:props.columns}),getColor:super.getColorAccessor(props.columns,(_props$encoding=props.encoding)===null||_props$encoding===void 0?void 0:_props$encoding.color,props.rows,props.visibleRows),getPosition:super.getPositionAccessor(props),getIcon:row=>iconAccessor.getIcon(props.encoding.icon,row),updateTriggers:{getColor:super.getColorUpdateTrigger(props.encoding.color,props.visibleRows),getSize:super.getSizeUpdateTrigger(props.encoding.size),getPosition:super.getPositionUpdateTrigger(props.encoding.position,props.editing),getIcon:super.getIconUpdateTrigger(props.encoding.icon)},alphaCutoff:0,...super.getDeckLayerCallbacks(props)});if((_props$encoding$size2=props.encoding.size)!==null&&_props$encoding$size2!==void 0&&_props$encoding$size2.isCommon()){if(props.encoding.size.getMinPixels()){deckProps.sizeMinPixels=props.encoding.size.getMinPixels()}if(props.encoding.size.getMaxPixels()){deckProps.sizeMaxPixels=props.encoding.size.getMaxPixels()}}if(AnimatedLayerFactory_AnimatedLayerFactory.hasAnimations(props.encoding)){return IconFactory_animatedLayerFactory.create(props.encoding,deckProps,super.getDeckLayerCallbacks(props))}else{return new layers_["IconLayer"](deckProps)}}}var centroid_=__webpack_require__(43);var centroid_default=__webpack_require__.n(centroid_);var external_deck_gl_=__webpack_require__(94);var external_nebula_gl_=__webpack_require__(36);var bbox_polygon_=__webpack_require__(135);var bbox_polygon_default=__webpack_require__.n(bbox_polygon_);var bbox_=__webpack_require__(136);var bbox_default=__webpack_require__.n(bbox_);var meta_=__webpack_require__(137);var polygon_to_line_=__webpack_require__(138);var polygon_to_line_default=__webpack_require__.n(polygon_to_line_);class ImageScaleMode_ImageScaleMode extends external_nebula_gl_["ScaleMode"]{getGuides(props){this._cornerGuidePoints=[];const selectedGeometry=this.getSelectedFeaturesAsFeatureCollection(props);if(this._isSinglePointGeometrySelected(selectedGeometry)){return{type:"FeatureCollection",features:[]}}const boundingBox=bbox_polygon_default()(bbox_default()(selectedGeometry));if(boundingBox.properties)boundingBox.properties.mode="scale";const cornerGuidePoints=[];Object(meta_["coordEach"])(selectedGeometry,((coord,coordIndex)=>{if(coordIndex<4){const cornerPoint=Object(helpers_["point"])(coord,{guideType:"editHandle",editHandleType:"scale",positionIndexes:[coordIndex]});cornerGuidePoints.push(cornerPoint)}}));this._cornerGuidePoints=cornerGuidePoints;const lines=selectedGeometry.features.length&&polygon_to_line_default()(selectedGeometry.features[0]);let collection=[];if(lines)collection.push(lines);collection=[...collection,...this._cornerGuidePoints];return Object(helpers_["featureCollection"])(collection)}}var invariant_=__webpack_require__(67);var transform_rotate_=__webpack_require__(83);var transform_rotate_default=__webpack_require__.n(transform_rotate_);function getMiddlePoint(p1,p2){const x1=p1[0];const x2=p2[0];const y1=p1[1];const y2=p2[1];const maxX=Math.max(x1,x2);const maxY=Math.max(y1,y2);const minX=Math.min(x1,x2);const minY=Math.min(y1,y2);return new spatial_src["d"](minX+(maxX-minX)/2,minY+(maxY-minY)/2)}class ImageRotateMode_ImageRotateMode extends external_nebula_gl_["RotateMode"]{getGuides(props){const selectedGeometry=this._geometryBeingRotated||this.getSelectedFeaturesAsFeatureCollection(props);if(!selectedGeometry.features.length)return Object(helpers_["featureCollection"])([]);if(this._isRotating){return Object(helpers_["featureCollection"])([centroid_default()(selectedGeometry)])}const coords=Object(invariant_["getCoords"])(selectedGeometry.features[0]);const topLeft=coords[0][1];const topRight=coords[0][2];const topCenter=getMiddlePoint(topLeft,topRight);const pointToRotate=Object(helpers_["point"])(topLeft);const topCenterHigh=transform_rotate_default()(pointToRotate,90,{pivot:topCenter});const topCenterMiddle=getMiddlePoint(topCenter,Object(invariant_["getCoord"])(topCenterHigh));const topCenterLine=Object(helpers_["lineString"])([topCenterMiddle,topCenter]);const rotateHandle=Object(helpers_["point"])(topCenterMiddle,{guideType:"editHandle",editHandleType:"rotate"});return Object(helpers_["featureCollection"])([rotateHandle,topCenterLine])}}class ImageTranslateMode_ImageTranslateMode extends external_nebula_gl_["TranslateMode"]{handlePointerMove(event,props){this._isTranslatable=false;this.updateCursor(props)}}class ImageTransformMode_ImageTransformMode extends external_nebula_gl_["CompositeMode"]{constructor(){super([new ImageTranslateMode_ImageTranslateMode,new ImageScaleMode_ImageScaleMode,new ImageRotateMode_ImageRotateMode])}handlePointerMove(event,props){let updatedCursor=null;super.handlePointerMove(event,{...props,onUpdateCursor:cursor=>{updatedCursor=cursor||updatedCursor}});props.onUpdateCursor(updatedCursor)}handleStartDragging(event,props){let scaleMode=null;let translateMode=null;const filteredModes=[];this._modes.forEach((mode=>{if(mode instanceof ImageTranslateMode_ImageTranslateMode){translateMode=mode}else{if(mode instanceof ImageScaleMode_ImageScaleMode){scaleMode=mode}filteredModes.push(mode)}}));if(scaleMode instanceof ImageScaleMode_ImageScaleMode&&!scaleMode.isEditHandleSelected()){filteredModes.push(translateMode)}filteredModes.filter(Boolean).forEach((mode=>mode.handleStartDragging(event,props)))}}class ImageLayer_ImageLayer extends external_deck_gl_["CompositeLayer"]{getCentroid(bounds){const poly=Object(helpers_["polygon"])([bounds]);const center=centroid_default()(poly);return center.geometry.coordinates}getBoundsColumnField(){var _this$props$bounds;return(_this$props$bounds=this.props.bounds)===null||_this$props$bounds===void 0?void 0:_this$props$bounds.field}getBounds(props,row){var _props$selectedRow,_props$selectedRow2,_props$selectedRow3;if(!this.props.bounds)return undefined;if(this.props.editable&&(_props$selectedRow=props.selectedRow)!==null&&_props$selectedRow!==void 0&&_props$selectedRow.updatingRow&&(_props$selectedRow2=props.selectedRow)!==null&&_props$selectedRow2!==void 0&&_props$selectedRow2.updatingRow._id&&((_props$selectedRow3=props.selectedRow)===null||_props$selectedRow3===void 0?void 0:_props$selectedRow3.updatingRow._id)===row._id){return props.selectedRow.updatingRow[this.getBoundsColumnField()]}return row[this.getBoundsColumnField()]}getImageColumnField(){var _this$props$image;return(_this$props$image=this.props.image)===null||_this$props$image===void 0?void 0:_this$props$image.field}getImage(props,row){if(!this.props.image)return undefined;return row[this.getImageColumnField()]}createEditLayer(id,bounds,selected,boundsColumn,index){return new external_nebula_gl_["EditableGeoJsonLayer"](Object(fp_["omitBy"])(fp_["isUndefined"],{id:`${id}-editable`,layerId:this.props.layerId,data:spatial_src["a"].fromPlain(bounds).toFeatureCollection(),mode:ImageTransformMode_ImageTransformMode,visible:this.props.visible&&selected,pickable:true,boundsColumn,selected,pickingDepth:1,filled:false,selectedFeatureIndexes:[0],getFillColor:[0,0,0,0],getLineWidth:0,getLineColor:[0,0,0,0],getEditHandlePointRadius:1,editHandlePointRadiusScale:1,editHandlePointRadiusUnits:"meters",editHandlePointRadiusMaxPixels:16,editHandlePointRadiusMinPixels:6,_subLayerProps:{geoJson:{pickable:false}},onEdit:event=>{var _event$updatedData;const bounds=(_event$updatedData=event.updatedData)===null||_event$updatedData===void 0?void 0:_event$updatedData.features[0].geometry.coordinates[0];if(!bounds)return;const coordinate=this.getCentroid(bounds);const pixel=this.context.viewport.project(coordinate);return this.props.onEdit&&this.props.onEdit({layer:{props:{pickable:this.props.pickable}},layerId:this.props.layerId,rowsetId:this.props.rowsetId,index,boundsColumn,editType:event.editType,bounds,coordinate,pixel})}}))}createBitmapLayer(id,image,bounds,selected,boundsColumn,index){return new layers_["BitmapLayer"](Object(fp_["omitBy"])(fp_["isUndefined"],{id:`${id}-image`,layerId:this.props.layerId,image:image||RasterMappings["image-placeholder"].url,bounds,boundsColumn,selected,bitmap:null,visible:this.props.visible,pickable:true,index}))}renderLayers(){var _props$rows;if(!this.props.bounds){return[]}const layers=(_props$rows=this.props.rows)===null||_props$rows===void 0?void 0:_props$rows.map(((row,index)=>{var _row$_id,_this$props$selectedR,_this$props$selectedR2,_this$props$selectedR3;const id=`${this.props.id}-${(_row$_id=row._id)!==null&&_row$_id!==void 0?_row$_id:index}`;const bounds=this.getBounds(this.props,row);const boundsColumn=this.getBoundsColumnField();const image=this.getImage(this.props,row);const selected=row._id&&this.props.layerId===((_this$props$selectedR=this.props.selectedRow)===null||_this$props$selectedR===void 0?void 0:_this$props$selectedR.layerId)&&true&&row._id===((_this$props$selectedR2=this.props.selectedRow)===null||_this$props$selectedR2===void 0?void 0:(_this$props$selectedR3=_this$props$selectedR2.updatingRow)===null||_this$props$selectedR3===void 0?void 0:_this$props$selectedR3._id);const subLayers=[];subLayers.push(this.createBitmapLayer(id,image,bounds,selected,boundsColumn,index));if(this.props.editable&&this.props.editing&&!this.props.dragging){subLayers.push(this.createEditLayer(id,bounds,selected,boundsColumn,index))}return subLayers}));return layers.flat()}}ImageLayer_ImageLayer.layerName="HoparaImageLayer";class ImageFactory_ImageFactory extends BaseFactory_BaseFactory{constructor(){super(...arguments);this.dragging=void 0}getTranslatedBounds(bounds,newCoordinate){const poly=Object(helpers_["polygon"])([bounds]);const center=centroid_default()(poly);const from=Object(helpers_["point"])(center.geometry.coordinates);const to=Object(helpers_["point"])(newCoordinate);const bearing=rhumb_bearing_default()(from,to);const distance=rhumb_distance_default()(from,to);const translated=transform_translate_default()(poly,distance,bearing);return translated.geometry.coordinates[0]}setDragging(dragging){this.dragging=dragging}isDragging(){return!!this.dragging}create(props){var _props$encoding,_props$encoding2;const callbacks=this.getDeckLayerCallbacks(props);const deckProps=super.getDeckProps(props,{id:props.id,bounds:(_props$encoding=props.encoding)===null||_props$encoding===void 0?void 0:_props$encoding.bounds,image:(_props$encoding2=props.encoding)===null||_props$encoding2===void 0?void 0:_props$encoding2.image,rowsetId:props.rowsetId,rows:props.rows,editing:!!props.editing,dragging:!!props.dragging,selectedRow:props.selectedRow,pickable:props.pickable,...callbacks,onHover:(info,event)=>callbacks.onHover&&callbacks.onHover({...info,index:info.sourceLayer.props.index},event),onClick:(info,event)=>callbacks.onClick&&callbacks.onClick({...info,index:info.sourceLayer.props.index},event),onDragStart:(info,event)=>{if(!info.sourceLayer.props.selected||info.sourceLayer instanceof external_nebula_gl_["EditableGeoJsonLayer"])return;this.setDragging(true);const{index}=info.sourceLayer.props;return callbacks.onDragStart&&callbacks.onDragStart({...info,index},event)},onDrag:(info,event)=>{var _props$selectedRow,_props$selectedRow2;if(!info.sourceLayer.props.selected||!props.editing||info.sourceLayer instanceof external_nebula_gl_["EditableGeoJsonLayer"])return;const{index,bounds,boundsColumn}=info.sourceLayer.props;if(!bounds||!((_props$selectedRow=props.selectedRow)!==null&&_props$selectedRow!==void 0&&_props$selectedRow.cursorDisplacement))return;const fixedCoordinate=this.getFixedCoordinate(info.coordinate,(_props$selectedRow2=props.selectedRow)===null||_props$selectedRow2===void 0?void 0:_props$selectedRow2.cursorDisplacement);const newBounds=this.getTranslatedBounds(bounds,fixedCoordinate);const updatedData={[boundsColumn]:newBounds};return callbacks.onDrag&&callbacks.onDrag({...info,index,updatedData},event)},onDragEnd:(info,event)=>{var _props$selectedRow3;if(!info.sourceLayer.props.selected||!props.editing)return;const{index,bounds,boundsColumn}=info.sourceLayer.props;if(!bounds)return;const fixedCoordinate=this.getFixedCoordinate(info.coordinate,(_props$selectedRow3=props.selectedRow)===null||_props$selectedRow3===void 0?void 0:_props$selectedRow3.cursorDisplacement);const newBounds=this.getTranslatedBounds(bounds,fixedCoordinate);const updatedData={[boundsColumn]:newBounds};this.setDragging(false);return callbacks.onDragEnd&&callbacks.onDragEnd({...info,index,updatedData},event,true)},onEdit:info=>{if(this.isDragging())return;const{bounds,coordinate,boundsColumn,editType}=info;const updatedData={[boundsColumn]:bounds,_x:coordinate[0],_y:coordinate[1]};if(["translated","scaled","rotated","extruded"].indexOf(editType)>-1){return callbacks.onEditEnd&&callbacks.onEditEnd({...info,coordinate,updatedData},{})}return callbacks.onEdit&&callbacks.onEdit({...info,coordinate,updatedData},{})}});return new ImageLayer_ImageLayer(deckProps)}}var core_typed_=__webpack_require__(139);const functions=`\nvec4 hsla2rgba(vec4 hsla) {\n float h = hsla.x;\n float s = hsla.y;\n float l = hsla.z;\n float a = hsla.w;\n float c = (1.0 - abs(2.0 * l - 1.0)) * s;\n float x = c * (1.0 - abs(mod(h / 60.0, 2.0) - 1.0));\n float m = l - 0.5 * c;\n vec3 rgb;\n if (h < 60.0) {\n rgb = vec3(c, x, 0.0);\n } else if (h < 120.0) {\n rgb = vec3(x, c, 0.0);\n } else if (h < 180.0) {\n rgb = vec3(0.0, c, x);\n } else if (h < 240.0) {\n rgb = vec3(0.0, x, c);\n } else if (h < 300.0) {\n rgb = vec3(x, 0.0, c);\n } else {\n rgb = vec3(c, 0.0, x);\n }\n return vec4(rgb + m, a);\n}\n\nvec4 rgba2hsla(vec4 rgba) {\n float r = rgba.x;\n float g = rgba.y;\n float b = rgba.z;\n float a = rgba.w;\n float max = max(r, max(g, b));\n float min = min(r, min(g, b));\n float h = 0.0;\n float s = 0.0;\n float l = (max + min) / 2.0;\n float d = max - min;\n if (max != min) {\n if (max == r) {\n h = 60.0 * (g - b) / d;\n } else if (max == g) {\n h = 60.0 * (b - r) / d + 120.0;\n } else {\n h = 60.0 * (r - g) / d + 240.0;\n }\n if (l > 0.5) {\n s = d / (2.0 - max - min);\n } else {\n s = d / (max + min);\n }\n }\n return vec4(h, s, l, a);\n}\n\n// function that receives a rgba color and returns a new rgba color with lightness increased by 20%\nvec4 lighten(vec4 color, float lightness) {\n float h, s, l, a;\n vec4 hsla = rgba2hsla(color);\n h = hsla.x;\n s = hsla.y;\n l = hsla.z;\n a = hsla.w;\n l = l + lightness;\n if (l > 1.0) {\n l = 1.0;\n }\n return hsla2rgba(vec4(h, s, l, a));\n}\n`;class LineLayer_LineLayer extends layers_["PathLayer"]{initializeState(){super.initializeState({});const attributeManager=this.getAttributeManager();attributeManager.addInstanced({timestamps:{size:1,accessor:"getTimestamps",shaderAttributes:{instanceTimestamps:{vertexOffset:0},instanceNextTimestamps:{vertexOffset:1}}},isAnimated:{size:1,accessor:"getIsAnimated",shaderAttributes:{instanceIsAnimated:{vertexOffset:0}}}})}draw(opts){let uniformValues={};let animationEngine;if(this.props.animationType){animationEngine=new AnimationEngine_AnimationEngine({layerId:this.props.id,timeline:opts.context.timeline,animationDataList:this.props.animations,redrawFn:()=>this.setNeedsRedraw()});uniformValues=animationEngine.getUniforms()}const{jointRounded,capRounded,billboard,miterLimit,widthUnits,widthScale,widthMinPixels,widthMaxPixels}=this.props;this.state.model.setUniforms(opts.uniforms).setUniforms({jointType:Number(jointRounded),capType:Number(capRounded),billboard,widthUnits:core_typed_["UNIT"][widthUnits],widthScale,miterLimit,widthMinPixels,widthMaxPixels,segmentLength:this.props.segmentLength/this.props.speed,...uniformValues}).draw();if(animationEngine){animationEngine.render()}}getShaders(){const shaders=super.getShaders();shaders.inject={"vs:#decl":`\n uniform float segmentLength;\n attribute float instanceTimestamps;\n attribute float instanceNextTimestamps;\n attribute float instanceIsAnimated;\n varying float vTime;\n varying float segmentLengthReal;\n varying float pathLengthCommons;\n varying float pathLengthPixel;\n varying float totalTime;\n varying float isAnimated;\n `,"vs:#main-end":`\n vTime = instanceTimestamps + (instanceNextTimestamps - instanceTimestamps) * vPathPosition.y / vPathLength;\n pathLengthPixel = vPathLength;\n pathLengthCommons = project_pixel_size(vPathLength);\n totalTime = instanceNextTimestamps - instanceTimestamps;\n isAnimated = instanceIsAnimated;\n \n `,"fs:#decl":`\n uniform float currentTime;\n uniform float segmentLength;\n varying float vTime;\n varying float pathLengthCommons;\n varying float pathLengthPixel;\n varying float totalTime;\n varying float isAnimated;\n ${functions}\n \n `,"fs:DECKGL_FILTER_COLOR":`\n int currentStep = 0;\n if (isAnimated > 0.0) { \n currentStep = int((currentTime - vTime) / segmentLength);\n } else {\n currentStep = int(vTime / segmentLength);\n }\n if(segmentLength > 0.0) {\n if (mod(float(currentStep), 2.0) > 0.0) {\n vec4 rgba = lighten(vec4(color.r, color.g, color.b, color.a), 0.1);\n color.r = rgba.x;\n color.g = rgba.y;\n color.b = rgba.z;\n color.a = rgba.a;\n }\n }\n `};return shaders}}LineLayer_LineLayer.layerName="LineLayer";function maxBy(array,field){return array.reduce(((max,item)=>{if(max[field]<item[field]){return item}return max}))}function deepMax(array){let max=0;array.forEach((item=>{if(Array.isArray(item)){const candidate=deepMax(item);if(candidate>max){max=candidate}}else{if(item>max){max=item}}}));return max}var LineEncoding=__webpack_require__(65);var distance_=__webpack_require__(140);var distance_default=__webpack_require__.n(distance_);const SPEED_KM_PER_SECOND=1;const getRowDistances=(row,pathField)=>{const route=row[pathField];const distances=route.map(((_,index)=>{const point1=route[index];const point2=route[index+1];if(!point2){return}return distance_default()(point1,point2,{units:"kilometers"})})).filter((distance=>!!distance));let accDistance=0;return distances.map((distance=>{accDistance+=distance;return accDistance}))};const getTimelineData=(data,pathField)=>{if(!pathField){return{durationMs:0,timestampFn:()=>undefined}}const allDistances=data.map((row=>getRowDistances(row,pathField)));const maxDistance=deepMax(allDistances);const durationMs=1e3*(maxDistance/SPEED_KM_PER_SECOND);return{durationMs,timestampFn:row=>{const distances=getRowDistances(row,pathField);return[0,...distances.map((distance=>1e3*(distance/SPEED_KM_PER_SECOND)))]}}};class LineFactory_LineFactory extends BaseFactory_BaseFactory{create(props){var _props$encoding,_props$encoding$line,_props$encoding3,_props$encoding$line2,_props$encoding4,_props$encoding4$size,_props$encoding5,_props$encoding$line3,_props$encoding$color,_props$encoding$color2,_props$encoding6,_props$encoding6$size;const pathField=(_props$encoding=props.encoding)===null||_props$encoding===void 0?void 0:(_props$encoding$line=_props$encoding.line)===null||_props$encoding$line===void 0?void 0:_props$encoding$line.field;const data=super.getRows(props);const timelineData=getTimelineData(data,pathField);const deckProps=super.getDeckProps(props,{id:props.id,layerId:props.layerId,data,getPath:row=>pathField?row[pathField]:undefined,getIsAnimated:row=>{var _props$encoding2,_props$encoding2$colo,_props$encoding2$colo2;if(!AnimatedLayerFactory_AnimatedLayerFactory.hasAnimations(props.encoding)){return[0]}const animationField=(_props$encoding2=props.encoding)===null||_props$encoding2===void 0?void 0:(_props$encoding2$colo=_props$encoding2.color)===null||_props$encoding2$colo===void 0?void 0:(_props$encoding2$colo2=_props$encoding2$colo.animation)===null||_props$encoding2$colo2===void 0?void 0:_props$encoding2$colo2.field;if(!animationField){return[1]}return row[animationField]?[1]:[0]},getColor:this.getColorAccessor(props.columns,(_props$encoding3=props.encoding)===null||_props$encoding3===void 0?void 0:_props$encoding3.color,props.rows,props.visibleRows),capRounded:((_props$encoding$line2=props.encoding.line)===null||_props$encoding$line2===void 0?void 0:_props$encoding$line2.cap)===LineEncoding["a"].ROUND,jointRounded:true,widthUnits:(_props$encoding4=props.encoding)===null||_props$encoding4===void 0?void 0:(_props$encoding4$size=_props$encoding4.size)===null||_props$encoding4$size===void 0?void 0:_props$encoding4$size.getUnits(),getWidth:super.getSizeAccessor({encoding:(_props$encoding5=props.encoding)===null||_props$encoding5===void 0?void 0:_props$encoding5.size,factor:.5,visibleRows:props.visibleRows,columns:props.columns}),speed:SPEED_KM_PER_SECOND,segmentLength:(_props$encoding$line3=props.encoding.line)===null||_props$encoding$line3===void 0?void 0:_props$encoding$line3.segmentLength,updateTrigger:{getColor:super.getColorUpdateTrigger(props.encoding.color,props.visibleRows),getWidth:super.getSizeUpdateTrigger(props.encoding.size),getPath:super.getPositionUpdateTrigger(props.encoding.position,props.editing)},pickable:true,getTimestamps:timelineData.timestampFn,animationType:(_props$encoding$color=props.encoding.color)===null||_props$encoding$color===void 0?void 0:(_props$encoding$color2=_props$encoding$color.animation)===null||_props$encoding$color2===void 0?void 0:_props$encoding$color2.type,animations:[{channel:{duration:timelineData.durationMs,repeat:Number.POSITIVE_INFINITY},keyFrames:{"0%":{currentTime:0},"100%":{currentTime:timelineData.durationMs}}}],...super.getDeckLayerCallbacks(props)});if((_props$encoding6=props.encoding)!==null&&_props$encoding6!==void 0&&(_props$encoding6$size=_props$encoding6.size)!==null&&_props$encoding6$size!==void 0&&_props$encoding6$size.isCommon()){var _props$encoding7,_props$encoding7$size,_props$encoding8,_props$encoding8$size;deckProps.widthMinPixels=(_props$encoding7=props.encoding)===null||_props$encoding7===void 0?void 0:(_props$encoding7$size=_props$encoding7.size)===null||_props$encoding7$size===void 0?void 0:_props$encoding7$size.getMinPixels();deckProps.widthMaxPixels=(_props$encoding8=props.encoding)===null||_props$encoding8===void 0?void 0:(_props$encoding8$size=_props$encoding8.size)===null||_props$encoding8$size===void 0?void 0:_props$encoding8$size.getMaxPixels()}return new LineLayer_LineLayer(Object(fp_["omitBy"])(fp_["isUndefined"],deckProps))}}class RowTranslator{constructor(rows,fieldName){this.rows=void 0;this.fieldName=void 0;this.rows=rows;this.fieldName=fieldName}translate(field){return this.rows.find((row=>row[this.fieldName]===field))}}const layerIdEtagDict={};const etagChanged=props=>{var _props$rows2;if(!layerIdEtagDict[props.layerId]){var _props$rows;layerIdEtagDict[props.layerId]=(_props$rows=props.rows)===null||_props$rows===void 0?void 0:_props$rows.etag;return true}if(layerIdEtagDict[props.layerId]!==((_props$rows2=props.rows)===null||_props$rows2===void 0?void 0:_props$rows2.etag)){var _props$rows3;layerIdEtagDict[props.layerId]=(_props$rows3=props.rows)===null||_props$rows3===void 0?void 0:_props$rows3.etag;return true}return false};function decorateTransitionProps(viewLayerProps,deckProps,colorAccessorName){var _deckProps$updateTrig;const props={...deckProps,id:deckProps.id,[colorAccessorName]:row=>{var _ref;const accessor=deckProps[colorAccessorName];let color=(_ref=typeof accessor==="function"?accessor(row):accessor)!==null&&_ref!==void 0?_ref:[0,0,0,0];if(!deckProps.visible){color=[color[0],color[1],color[2],0]}return color},updateTriggers:{...deckProps.updateTriggers,[colorAccessorName]:[...(_deckProps$updateTrig=deckProps.updateTriggers[colorAccessorName])!==null&&_deckProps$updateTrig!==void 0?_deckProps$updateTrig:[],deckProps.visible]},pickable:deckProps.visible?deckProps.pickable:false,visible:true};if(etagChanged(viewLayerProps)){return props}return Object(fp_["omitBy"])(fp_["isUndefined"],{...props,transitions:{[colorAccessorName]:{duration:300}}})}const GL={LINE_STRIP:3,TRIANGLE_FAN:6};const getSolidPolygonLayerClass=animationDataList=>class AnimatedSolidPolygonLayer extends layers_["SolidPolygonLayer"]{draw(opts){const animationEngine=new AnimationEngine_AnimationEngine({layerId:this.props.id,timeline:opts.context.timeline,animationDataList,redrawFn:()=>{this.setNeedsRedraw()}});const uniformValues=animationEngine.getUniforms();const{extruded,filled,wireframe,elevationScale}=this.props;const{topModel,sideModel,polygonTesselator}=this.state;const renderUniforms={...opts.uniforms,extruded:Boolean(extruded),elevationScale,...uniformValues};if(sideModel){sideModel.setInstanceCount(polygonTesselator.instanceCount-1);sideModel.setUniforms(renderUniforms);if(wireframe){sideModel.setDrawMode(GL.LINE_STRIP);sideModel.setUniforms({isWireframe:true}).draw()}if(filled){sideModel.setDrawMode(GL.TRIANGLE_FAN);sideModel.setUniforms({isWireframe:false}).draw()}}if(topModel){topModel.setVertexCount(polygonTesselator.vertexCount);topModel.setUniforms(renderUniforms).draw()}animationEngine.render()}};class AnimatedPolygonLayer_AnimatedGeoJsonLayer extends layers_["GeoJsonLayer"]{getSubLayerClass(subLayerId,DefaultLayerClass){const{_subLayerProps:overridingProps}=this.props;const geoJsonProps=this.props;const AnimatedSolidPolygonLayer=getSolidPolygonLayerClass(geoJsonProps.animations);return overridingProps&&overridingProps[subLayerId]&&overridingProps[subLayerId].type||AnimatedSolidPolygonLayer}}AnimatedPolygonLayer_AnimatedGeoJsonLayer.layerName="AnimatedGeoJsonLayer";class AnimatedPolygonLayer_AnimatedPolygonLayer extends layers_["PolygonLayer"]{getSubLayerClass(subLayerId,DefaultLayerClass){const{_subLayerProps:overridingProps}=this.props;const geoJsonProps=this.props;const AnimatedSolidPolygonLayer=getSolidPolygonLayerClass(geoJsonProps.animations);return overridingProps&&overridingProps[subLayerId]&&overridingProps[subLayerId].type||AnimatedSolidPolygonLayer}}AnimatedPolygonLayer_AnimatedPolygonLayer.layerName="AnimatedPolygonLayer";const animatedGeoJsonLayerFactory=new AnimatedLayerFactory_AnimatedLayerFactory(layers_["GeoJsonLayer"],AnimatedPolygonLayer_AnimatedGeoJsonLayer);const animatedPolygonLayerFactory=new AnimatedLayerFactory_AnimatedLayerFactory(layers_["PolygonLayer"],AnimatedPolygonLayer_AnimatedPolygonLayer);class PolygonFactory_PolygonFactory extends StrokableFactory_StrokableFactory{getRowTranslator(rows,encoding,columns){var _encoding$polygon;if((_encoding$polygon=encoding.polygon)!==null&&_encoding$polygon!==void 0&&_encoding$polygon.isGeoJson(columns)){return new RowTranslator(rows,encoding.polygon.field)}}getColorProps(color,rows,visibleRows,columns,rowTranslator){if(color){const colorAccessor=super.getColorAccessor(columns,color,rows,visibleRows,rowTranslator);return{filled:true,getFillColor:colorAccessor}}else{return{filled:false,pickable:false}}}getData(rows,encoding,columns){if(encoding.polygon&&encoding.polygon.isGeoJson(columns)){const field=encoding.polygon.field;if(rows){return rows.map((row=>row[field]))}}return rows}getPolygon(polygonEncoding){return row=>Object(fp_["isArray"])(row[polygonEncoding.field])?row[polygonEncoding.field]:[]}getLayerProps(props){var _props$encoding,_props$encoding2,_props$encoding3,_props$encoding4,_props$encoding5;const rowTranslator=this.getRowTranslator(props.rows,props.encoding,props.columns);return{id:props.id,layerId:props.layerId,pickable:props.pickable,updateTriggers:{getFillColor:super.getColorUpdateTrigger((_props$encoding=props.encoding)===null||_props$encoding===void 0?void 0:_props$encoding.color,props.visibleRows),getLineColor:super.getColorUpdateTrigger((_props$encoding2=props.encoding)===null||_props$encoding2===void 0?void 0:_props$encoding2.strokeColor,props.visibleRows),getLineWidth:super.getSizeUpdateTrigger((_props$encoding3=props.encoding)===null||_props$encoding3===void 0?void 0:_props$encoding3.strokeSize),getPosition:super.getPositionUpdateTrigger(props.encoding.position,props.editing)},data:this.getData(props.rows,props.encoding,props.columns),...this.getColorProps((_props$encoding4=props.encoding)===null||_props$encoding4===void 0?void 0:_props$encoding4.color,props.rows,props.visibleRows,props.columns,rowTranslator),...this.getStrokeSizeProps(props.visibleRows,props.columns,props.encoding.strokeSize,rowTranslator),...this.getColorStrokeProps((_props$encoding5=props.encoding)===null||_props$encoding5===void 0?void 0:_props$encoding5.strokeColor,props.rows,props.visibleRows,props.columns,rowTranslator),...super.getDeckLayerCallbacks(props)}}doCreate(props){var _props$encoding$polyg;const layerProps=this.getLayerProps(props);if((_props$encoding$polyg=props.encoding.polygon)!==null&&_props$encoding$polyg!==void 0&&_props$encoding$polyg.isGeoJson(props.columns)){const deckProps=super.getDeckProps(props,layerProps);const decoratedDeckProps=decorateTransitionProps(props,deckProps,"getFillColor");if(AnimatedLayerFactory_AnimatedLayerFactory.hasAnimations(props.encoding)){return animatedGeoJsonLayerFactory.create(props.encoding,decoratedDeckProps,super.getDeckLayerCallbacks(props))}else{return new layers_["GeoJsonLayer"](decoratedDeckProps)}}const deckProps=super.getDeckProps(props,{...layerProps,getPolygon:this.getPolygon(props.encoding.polygon)});const decoratedDeckProps=decorateTransitionProps(props,deckProps,"getFillColor");if(AnimatedLayerFactory_AnimatedLayerFactory.hasAnimations(props.encoding)){return animatedPolygonLayerFactory.create(props.encoding,decoratedDeckProps,super.getDeckLayerCallbacks(props))}return new layers_["PolygonLayer"](decoratedDeckProps)}parseContent(row,polygonEncoding){const fieldContent=row[polygonEncoding.field];if(typeof fieldContent==="string"){try{return JSON.parse(fieldContent)}catch{}}return fieldContent}create(props){for(const row of(_props$rows=props.rows)!==null&&_props$rows!==void 0?_props$rows:[]){var _props$rows,_props$encoding$polyg2;const field=(_props$encoding$polyg2=props.encoding.polygon)===null||_props$encoding$polyg2===void 0?void 0:_props$encoding$polyg2.field;if(field)row[field]=this.parseContent(row,props.encoding.polygon)}return this.doCreate(props)}}class CommonOffsetExtension_CommonOffsetExtension extends core_["LayerExtension"]{getShaders(){return{...super.getShaders(null),inject:{"vs:#decl":`\n uniform float offsetMinPixels;\n uniform float offsetMaxPixels;\n uniform float offsetCommons;\n `,"vs:DECKGL_FILTER_GL_POSITION":`\n float common_y = offsetCommons * project_size();\n float pixel_y = project_size_to_pixel(common_y, UNIT_COMMON);\n pixel_y = clamp(pixel_y, offsetMinPixels, offsetMaxPixels);\n vec2 clipspace_pos = project_pixel_size_to_clipspace(vec2(1.0, pixel_y));\n position.y -= clipspace_pos.y;\n `}}}updateState(params){if(!params||!params.props)return;const{offsetMinPixels=0,offsetMaxPixels=Number.MAX_SAFE_INTEGER,offsetCommons=0}=params.props;const models=this.getModels();for(const model of models){model.setUniforms({offsetMinPixels,offsetMaxPixels,offsetCommons})}}getSubLayerProps(){if(!this.props)return;const{offsetMinPixels=0,offsetMaxPixels=Number.MAX_SAFE_INTEGER,offsetCommons=0}=this.props;return{offsetMinPixels,offsetMaxPixels,offsetCommons}}}const MAX_TEXT_LENGTH=32;const getSpecialChars=()=>{const charNumbers=[...Array(256).keys(),8722];return charNumbers.map((charCode=>String.fromCharCode(charCode)))};const characterSet=getSpecialChars();const extensions=[new CommonOffsetExtension_CommonOffsetExtension];const fontSettings={fontSize:50};class TextFactory_TextFactory extends BaseFactory_BaseFactory{constructor(){super(...arguments);this.getText=text=>row=>{const value=text.getValue(row);if(value){return value.toString().substring(0,MAX_TEXT_LENGTH)}return""}}create(props){var _props$encoding,_props$encoding2,_props$encoding3,_props$encoding4,_props$encoding4$size,_props$encoding5,_props$encoding5$size,_props$encoding6,_props$encoding6$size,_props$encoding$offse,_props$encoding7,_props$encoding7$offs,_props$encoding7$offs2,_props$encoding$offse2,_props$encoding8,_props$encoding8$offs,_props$encoding8$offs2,_props$encoding9,_props$encoding9$offs,_props$encoding9$offs2;const textEncoding=(_props$encoding=props.encoding)===null||_props$encoding===void 0?void 0:_props$encoding.text;const colorAccessor=super.getColorAccessor(props.columns,(_props$encoding2=props.encoding)===null||_props$encoding2===void 0?void 0:_props$encoding2.color,props.rows,props.visibleRows);const sizeAccessor=super.getSizeAccessor({encoding:(_props$encoding3=props.encoding)===null||_props$encoding3===void 0?void 0:_props$encoding3.size,visibleRows:props.visibleRows,columns:props.columns});const deckProps=super.getDeckProps(props,{id:props.id,pickable:props.pickable,data:super.getRows(props),getText:this.getText(textEncoding),characterSet,sizeUnits:((_props$encoding4=props.encoding)===null||_props$encoding4===void 0?void 0:(_props$encoding4$size=_props$encoding4.size)===null||_props$encoding4$size===void 0?void 0:_props$encoding4$size.getUnits())||"pixels",getAngle:textEncoding.getAngle(),getTextAnchor:textEncoding.getAnchor(),getPosition:super.getPositionAccessor(props),getSize:sizeAccessor,sizeMaxPixels:((_props$encoding5=props.encoding)===null||_props$encoding5===void 0?void 0:(_props$encoding5$size=_props$encoding5.size)===null||_props$encoding5$size===void 0?void 0:_props$encoding5$size.getMaxPixels())||Number.MAX_SAFE_INTEGER,sizeMinPixels:((_props$encoding6=props.encoding)===null||_props$encoding6===void 0?void 0:(_props$encoding6$size=_props$encoding6.size)===null||_props$encoding6$size===void 0?void 0:_props$encoding6$size.getMinPixels())||textEncoding.getMinPossibleSize(),offsetMinPixels:(_props$encoding$offse=(_props$encoding7=props.encoding)===null||_props$encoding7===void 0?void 0:(_props$encoding7$offs=_props$encoding7.offset)===null||_props$encoding7$offs===void 0?void 0:(_props$encoding7$offs2=_props$encoding7$offs.y)===null||_props$encoding7$offs2===void 0?void 0:_props$encoding7$offs2.getMinPixels())!==null&&_props$encoding$offse!==void 0?_props$encoding$offse:0,offsetMaxPixels:(_props$encoding$offse2=(_props$encoding8=props.encoding)===null||_props$encoding8===void 0?void 0:(_props$encoding8$offs=_props$encoding8.offset)===null||_props$encoding8$offs===void 0?void 0:(_props$encoding8$offs2=_props$encoding8$offs.y)===null||_props$encoding8$offs2===void 0?void 0:_props$encoding8$offs2.getMaxPixels())!==null&&_props$encoding$offse2!==void 0?_props$encoding$offse2:0,extensions,getColor:colorAccessor,updateTriggers:{getColor:super.getColorUpdateTrigger(props.encoding.color,props.visibleRows),getSize:super.getSizeUpdateTrigger(props.encoding.size),getPosition:super.getPositionUpdateTrigger(props.encoding.position,props.editing)},fontFamily:"Arial",fontSettings,...super.getDeckLayerCallbacks(props)});if((_props$encoding9=props.encoding)!==null&&_props$encoding9!==void 0&&(_props$encoding9$offs=_props$encoding9.offset)!==null&&_props$encoding9$offs!==void 0&&(_props$encoding9$offs2=_props$encoding9$offs.y)!==null&&_props$encoding9$offs2!==void 0&&_props$encoding9$offs2.isCommon()){var _props$encoding10,_props$encoding10$off,_props$encoding10$off2;deckProps.offsetCommons=(_props$encoding10=props.encoding)===null||_props$encoding10===void 0?void 0:(_props$encoding10$off=_props$encoding10.offset)===null||_props$encoding10$off===void 0?void 0:(_props$encoding10$off2=_props$encoding10$off.y)===null||_props$encoding10$off2===void 0?void 0:_props$encoding10$off2.getSize()}else{var _props$encoding$offse3,_props$encoding11,_props$encoding11$off,_props$encoding11$off2;deckProps.getPixelOffset=[0,(_props$encoding$offse3=(_props$encoding11=props.encoding)===null||_props$encoding11===void 0?void 0:(_props$encoding11$off=_props$encoding11.offset)===null||_props$encoding11$off===void 0?void 0:(_props$encoding11$off2=_props$encoding11$off.y)===null||_props$encoding11$off2===void 0?void 0:_props$encoding11$off2.value)!==null&&_props$encoding$offse3!==void 0?_props$encoding$offse3:0]}return new layers_["TextLayer"](Object(fp_["omitBy"])(fp_["isUndefined"],deckProps))}}var external_vega_=__webpack_require__(26);var external_vega_lite_=__webpack_require__(95);var memoize_src=__webpack_require__(84);function getDeckProps(id,data,cacheKey,dataComparator){return{id,data,dataComparator:()=>dataComparator.isEqual(id,{cacheKey})}}function newVegaLineLayer(id,data,cacheKey,dataComparator){return new layers_["LineLayer"]({...getDeckProps(id,data,cacheKey,dataComparator),widthUnits:"pixels",getColor:o=>o.color,getWidth:o=>o.strokeWidth})}const getCharacterSet=()=>{const charNumbers=[...Array(256).keys(),8722];return charNumbers.map((charCode=>String.fromCharCode(charCode)))};const VegaTextLayerFactory_characterSet=getCharacterSet();const VegaTextLayerFactory_fontSettings={sdf:false,fontSize:128,buffer:3};const _subLayerProps={characters:{alphaCutoff:.1}};function newVegaTextLayer(id,data,cacheKey,dataComparator){return new layers_["TextLayer"]({...getDeckProps(id,data,cacheKey,dataComparator),characterSet:VegaTextLayerFactory_characterSet,sizeUnits:"pixels",autoHighlight:true,pickable:true,fontFamily:"Arial",fontSettings:VegaTextLayerFactory_fontSettings,getColor:o=>o.color,getTextAnchor:o=>o.textAnchor,getSize:o=>o.size,getAngle:o=>o.angle,_subLayerProps})}function newVegaPathLayer(id,data,cacheKey,dataComparator){if(!data)return null;return new layers_["PathLayer"]({...getDeckProps(id,data,cacheKey,dataComparator),widthScale:1,widthMinPixels:2,widthUnits:"pixels",getPath:o=>o.positions,getColor:o=>o.strokeColor,getWidth:o=>o.strokeWidth})}function newVegaPolygonLayer(id,data,cacheKey,dataComparator){if(!data)return null;const newlayer=new layers_["PolygonLayer"]({...getDeckProps(id,data,cacheKey,dataComparator),getPolygon:o=>o.positions,getFillColor:o=>o.fillColor,getLineColor:o=>o.strokeColor,wireframe:false,filled:true,stroked:true,pickable:true,extruded:true,getElevation:o=>o.depth,getLineWidth:o=>o.strokeWidth});return newlayer}function newVegaCircleLayer(id,data,cacheKey,dataComparator){return new layers_["ScatterplotLayer"]({...getDeckProps(id,data,cacheKey,dataComparator),stroked:true,filled:true,pickable:true,radiusUnits:"pixels",getFillColor:o=>o.color,getLineColor:o=>o.strokeColor,getLineWidth:o=>o.strokeWidth,getPosition:o=>o.position,getRadius:o=>o.size})}const layerNames={lines:"VEGA_LAYER_LINES",text:"VEGA_LAYER_TEXT",paths:"VEGA_LAYER_PATHS",polygons:"VEGA_LAYER_POLYGONS",circles:"VEGA_LAYER_CIRCLES"};function getFacetLayers(stage,cacheKey,dataComparator,guideLines){if(!stage.facets)return[];const lines=guideLines!==null&&guideLines!==void 0&&guideLines.length?guideLines:[];stage.facets.forEach((f=>{if(f.lines)lines.push.apply(lines,f.lines)}));const facetLineLayer=newVegaLineLayer("FACET_"+layerNames.lines,lines,cacheKey,dataComparator);return[facetLineLayer]}function getAxesDomainLayers(stage,cacheKey,dataComparator){const{x,y,z}=stage.axes;return[x,y,z].map(((axes,i)=>{const lines=[];const texts=[];const role=i===0?"X":i===1?"Y":"Z";axes.forEach((axis=>{if(axis.domain)lines.push(axis.domain);if(axis.title)texts.push(axis.title)}));const layerPrefix="AXIS_"+role+"_DOMAIN_";const lineLayer=newVegaLineLayer(layerPrefix+layerNames.lines,lines,cacheKey,dataComparator);const textLayer=newVegaTextLayer(layerPrefix+layerNames.text,texts,cacheKey,dataComparator);return[textLayer,lineLayer]}))}function getAxesTicksLayers(stage,cacheKey,dataComparator){const{x,y,z}=stage.axes;return[x,y,z].map(((axes,i)=>{const lines=[];const texts=[];const gridLines=[];const role=i===0?"X":i===1?"Y":"Z";axes.forEach((axis=>{var _stage$gridLines;if((_stage$gridLines=stage.gridLines)!==null&&_stage$gridLines!==void 0&&_stage$gridLines.length){var _stage$gridLines2;const filtereds=(_stage$gridLines2=stage.gridLines)===null||_stage$gridLines2===void 0?void 0:_stage$gridLines2.filter((line=>line.role===axis.role));filtereds.forEach((gridLine=>gridLines.push(gridLine)))}if(axis.ticks)axis.ticks.forEach((tickLine=>lines.push(tickLine)));if(axis.tickText)axis.tickText.forEach((text=>texts.push(text)))}));const layerPrefix="AXIS_"+role+"_TICKS_";const lineLayer=newVegaLineLayer(layerPrefix+layerNames.lines,lines,cacheKey,dataComparator);const gridLineLayer=newVegaLineLayer(layerPrefix+"GRID_"+layerNames.lines,gridLines,cacheKey,dataComparator);const textLayer=newVegaTextLayer(layerPrefix+layerNames.text,texts,cacheKey,dataComparator);return[textLayer,lineLayer,gridLineLayer]}))}function getChartLayers(stage,cacheKey,dataComparator){const textLayer=newVegaTextLayer(layerNames.text,stage.text,cacheKey,dataComparator);const pathLayer=newVegaPathLayer(layerNames.paths,stage.path,cacheKey,dataComparator);const polygonLayer=newVegaPolygonLayer(layerNames.polygons,stage.polygon,cacheKey,dataComparator);const circleLayer=newVegaCircleLayer(layerNames.circles,stage.circle,cacheKey,dataComparator);return[textLayer,pathLayer,polygonLayer,circleLayer]}const legendMap={"legend-title":(legend,textItem)=>{legend.title=textItem.text},"legend-symbol"(legend,symbol){const{bounds,fill,shape}=symbol;const legendRowSymbol={bounds,fill,shape};const i=symbol.datum.index;legend.rows[i]=legend.rows[i]||{};legend.rows[i].symbol=legendRowSymbol},"legend-label"(legend,label){const i=label.datum.index;legend.rows[i]=legend.rows[i]||{};const row=legend.rows[i];row.label=label.text;row.value=label.datum.value}};const markStager=(options,stage,scene,x,y,groupType)=>{external_vega_["sceneVisit"](scene,(function(item){var _item$mark;const fn=legendMap[(_item$mark=item.mark)===null||_item$mark===void 0?void 0:_item$mark.role];if(fn){fn(stage.legend,item)}else{}}))};var legend=markStager;var Colors=__webpack_require__(20);const min3dDepth=.05;const rect_markStager=(options,stage,scene,x,y,groupType)=>{external_vega_["sceneVisit"](scene,(function(item){const z=item.z||0;const depth=(item.depth||0)+min3dDepth;const ty=options.projection&&options.projection.flipY===false?1:-1;const ordinal=options.assignCubeOrdinal(item.datum);if(ordinal!==undefined&&ordinal>options.maxOrdinal){options.maxOrdinal=ordinal}if(ordinal===undefined){}else{var _options$projection$x,_options$projection,_options$projection$y,_options$projection2;const cube={ordinal,size:[item.width,item.height,depth],position:[x+Math.round(item.x||0)+((_options$projection$x=(_options$projection=options.projection)===null||_options$projection===void 0?void 0:_options$projection.xOffset)!==null&&_options$projection$x!==void 0?_options$projection$x:0),ty*(y+Math.round(item.y||0))-item.height+((_options$projection$y=(_options$projection2=options.projection)===null||_options$projection2===void 0?void 0:_options$projection2.yOffset)!==null&&_options$projection$y!==void 0?_options$projection$y:0),z],color:item.fill&&item.fill!=="transparent"&&Object(Colors["a"])(item.fill,item.opacity)||options.defaultCubeColor||[128,128,128,128]};cube.color[3]=item.opacity===undefined?255:255*item.opacity;if(stage.cube){stage.cube.push(cube)}}}))};var rect=rect_markStager;function zSwap(v3){const temp=-v3[1];if(v3[0]===-1){v3[0]=0}if(v3[2]){v3[1]=v3[2];v3[2]=temp}}const lineZ=-1;function styledLine(options,x1,y1,x2,y2,stroke,strokeWidth,role){var _options$projection$x,_options$projection,_options$projection$y,_options$projection2,_options$projection$x2,_options$projection3,_options$projection$y2,_options$projection4;const ty=options.projection&&options.projection.flipY===false?1:-1;const line={sourcePosition:[x1+((_options$projection$x=(_options$projection=options.projection)===null||_options$projection===void 0?void 0:_options$projection.xOffset)!==null&&_options$projection$x!==void 0?_options$projection$x:0),y1*ty+((_options$projection$y=(_options$projection2=options.projection)===null||_options$projection2===void 0?void 0:_options$projection2.yOffset)!==null&&_options$projection$y!==void 0?_options$projection$y:0),lineZ],targetPosition:[x2+((_options$projection$x2=(_options$projection3=options.projection)===null||_options$projection3===void 0?void 0:_options$projection3.xOffset)!==null&&_options$projection$x2!==void 0?_options$projection$x2:0),y2*ty+((_options$projection$y2=(_options$projection4=options.projection)===null||_options$projection4===void 0?void 0:_options$projection4.yOffset)!==null&&_options$projection$y2!==void 0?_options$projection$y2:0),lineZ],color:Object(Colors["a"])(stroke),strokeWidth,role};return line}const rule_markStager=(options,stage,scene,x,y,groupType)=>{external_vega_["sceneVisit"](scene,(function(item){const x1=item.x||0;const y1=item.y||0;const x2=item.x2!=null?item.x2:x1;const y2=item.y2!=null?item.y2:y1;const lineItem=styledLine(options,x1,y1+y,x2,y2+y,item.stroke,item.strokeWidth,options.currAxis.role);if(item.mark.role==="axis-tick"){if(options.currAxis.role==="z"){zSwap(lineItem.sourcePosition);zSwap(lineItem.targetPosition)}options.currAxis.ticks.push(lineItem)}else if(item.mark.role==="axis-domain"){if(options.currAxis.role==="z"){zSwap(lineItem.sourcePosition);zSwap(lineItem.targetPosition)}options.currAxis.domain=lineItem}else if(stage.gridLines){stage.gridLines.push(lineItem)}}))};function box(options,gx,gy,height,width,stroke,strokeWidth){let diagonals=arguments.length>7&&arguments[7]!==undefined?arguments[7]:false;const lines=[styledLine(options,gx,gy,gx+width,gy,stroke,strokeWidth),styledLine(options,gx+width,gy,gx+width,gy+height,stroke,strokeWidth),styledLine(options,gx+width,gy+height,gx,gy+height,stroke,strokeWidth),styledLine(options,gx,gy+height,gx,gy,stroke,strokeWidth)];if(diagonals){lines.push(styledLine(options,gx,gy,gx+width,gy+height,stroke,strokeWidth));lines.push(styledLine(options,gx,gy+height,gx+width,gy,stroke,strokeWidth))}return lines}var rule=rule_markStager;const line_markStager=(options,stage,scene,x,y,groupType)=>{const ty=options.projection&&options.projection.flipY===false?1:-1;const g={opacity:1,strokeOpacity:1,strokeWidth:1,...scene.items[0]};const path={strokeWidth:g.strokeWidth,strokeColor:g.stroke&&g.stroke!=="transparent"?Object(Colors["a"])(g.stroke,g.opacity):[0,0,0,0],positions:scene.items.map((it=>{var _options$projection$x,_options$projection,_options$projection$y,_options$projection2;return[it.x+((_options$projection$x=(_options$projection=options.projection)===null||_options$projection===void 0?void 0:_options$projection.xOffset)!==null&&_options$projection$x!==void 0?_options$projection$x:0),ty*it.y+ +((_options$projection$y=(_options$projection2=options.projection)===null||_options$projection2===void 0?void 0:_options$projection2.yOffset)!==null&&_options$projection$y!==void 0?_options$projection$y:0),it.z||0]}))};if(path.strokeColor[3]){path.strokeColor[3]*=g.strokeOpacity;path.strokeColor[3]*=g.opacity}if(stage.path){stage.path.push(path)}};var marks_line=line_markStager;function convertAngle(vegaTextAngle){if(vegaTextAngle&&!isNaN(vegaTextAngle)){return 360-vegaTextAngle}return 0}function convertAlignment(textAlign){switch(textAlign){case"center":return"middle";case"left":return"start";case"right":return"end"}return"start"}function convertBaseline(baseline){switch(baseline){case"middle":return"center"}return baseline||"bottom"}const text_markStager=(options,stage,scene,x,y,groupType)=>{const fontScale=1;const ty=options.projection&&options.projection.flipY===false?1:-1;external_vega_["sceneVisit"](scene,(function(item){var _options$projection$x,_options$projection,_options$projection$y,_options$projection2;if(!item.text)return;const size=item.fontSize*fontScale;const alignmentBaseline=convertBaseline(item.baseline);const yOffset=alignmentBaseline==="top"?item.fontSize/2:0;const textItem={color:item.fill&&item.fill!=="transparent"?Object(Colors["a"])(item.fill,item.opacity):[0,0,0,0],text:item.limit===undefined?item.text:external_vega_["truncate"](item.text,item.limit,"right",item.ellipsis||"..."),position:[x+(item.x||0)+((_options$projection$x=(_options$projection=options.projection)===null||_options$projection===void 0?void 0:_options$projection.xOffset)!==null&&_options$projection$x!==void 0?_options$projection$x:0),ty*(y+(item.y||0)+yOffset)+((_options$projection$y=(_options$projection2=options.projection)===null||_options$projection2===void 0?void 0:_options$projection2.yOffset)!==null&&_options$projection$y!==void 0?_options$projection$y:0),0],size,angle:convertAngle(item.angle),textAnchor:convertAlignment(item.align),alignmentBaseline,metaData:item.metaData};if(item.mark.role==="axis-label"){const tickText=textItem;tickText.value=item.datum.value;if(options.currAxis.role==="x"){var _options$projection$x2,_options$projection3;textItem.position[0]=(item.x||0)+((_options$projection$x2=(_options$projection3=options.projection)===null||_options$projection3===void 0?void 0:_options$projection3.xOffset)!==null&&_options$projection$x2!==void 0?_options$projection$x2:0)}else if(options.currAxis.role==="y"){var _options$projection$y2,_options$projection4;textItem.position[1]=ty*((item.y||0)+yOffset)+((_options$projection$y2=(_options$projection4=options.projection)===null||_options$projection4===void 0?void 0:_options$projection4.yOffset)!==null&&_options$projection$y2!==void 0?_options$projection$y2:0)}else if(options.currAxis.role==="z"){zSwap(tickText.position)}options.currAxis.tickText.push(tickText)}else if(item.mark.role==="axis-title"){if(options.currAxis.role==="y"){textItem.position[0]=textItem.position[0]-6}else if(options.currAxis.role==="x"){textItem.position[1]=textItem.position[1]-6}else if(options.currAxis.role==="z"){zSwap(textItem.position)}options.currAxis.title=textItem}else if(stage.text){stage.text.push(textItem)}}))};var marks_text=text_markStager;const area_markStager=(options,stage,scene,x,y,groupType)=>{const ty=options.projection&&options.projection.flipY===false?1:-1;const g={fillOpacity:1,opacity:1,strokeOpacity:1,strokeWidth:0,depth:0,...scene.items[0]};const points=scene.items.map((groupItem=>{var _item$x,_options$projection$x,_options$projection,_item$y,_options$projection$y,_options$projection2,_item$x2,_options$projection$x2,_options$projection3,_item$y2,_options$projection$y2,_options$projection4;const item={z:0,x2:groupItem.x,y2:groupItem.y,z2:groupItem.z,...groupItem};return[((_item$x=item.x)!==null&&_item$x!==void 0?_item$x:0)+((_options$projection$x=(_options$projection=options.projection)===null||_options$projection===void 0?void 0:_options$projection.xOffset)!==null&&_options$projection$x!==void 0?_options$projection$x:0),ty*((_item$y=item.y)!==null&&_item$y!==void 0?_item$y:0)+((_options$projection$y=(_options$projection2=options.projection)===null||_options$projection2===void 0?void 0:_options$projection2.yOffset)!==null&&_options$projection$y!==void 0?_options$projection$y:0),item.z,((_item$x2=item.x2)!==null&&_item$x2!==void 0?_item$x2:0)+((_options$projection$x2=(_options$projection3=options.projection)===null||_options$projection3===void 0?void 0:_options$projection3.xOffset)!==null&&_options$projection$x2!==void 0?_options$projection$x2:0),ty*((_item$y2=item.y2)!==null&&_item$y2!==void 0?_item$y2:0)+((_options$projection$y2=(_options$projection4=options.projection)===null||_options$projection4===void 0?void 0:_options$projection4.yOffset)!==null&&_options$projection$y2!==void 0?_options$projection$y2:0),item.z2]}));const positions=[];const startpoint=[points[0][0],points[0][1],points[0][2]];points.forEach((p=>{positions.push([p[0],p[1],p[2]])}));points.reverse().forEach((p=>{positions.push([p[3],p[4],p[5]])}));positions.push(startpoint);const polygon={fillColor:g.fill&&g.fill!=="transparent"?Object(Colors["a"])(g.fill,g.opacity):[0,0,0,0],positions,strokeColor:g.stroke&&g.stroke!=="transparent"?Object(Colors["a"])(g.stroke):[0,0,0,0],strokeWidth:g.strokeWidth,depth:g.depth};if(polygon.fillColor[3]){polygon.fillColor[3]*=g.fillOpacity;polygon.fillColor[3]*=g.opacity}if(polygon.strokeColor[3]){polygon.strokeColor[3]*=g.strokeOpacity;polygon.strokeColor[3]*=g.opacity}if(stage.polygon){stage.polygon.push(polygon)}};var marks_area=area_markStager;const symbol_markStager=(options,stage,scene,x,y,groupType)=>{external_vega_["sceneVisit"](scene,(function(item){const z=item.z||0;const ty=options.projection&&options.projection.flipY===false?1:-1;if(item.shape==="circle"&&stage.circle){var _options$projection$x,_options$projection,_options$projection$y,_options$projection2;const circle={size:item.size,position:[x+Math.round(item.x||0)+((_options$projection$x=(_options$projection=options.projection)===null||_options$projection===void 0?void 0:_options$projection.xOffset)!==null&&_options$projection$x!==void 0?_options$projection$x:0),ty*(y+Math.round(item.y||0))+((_options$projection$y=(_options$projection2=options.projection)===null||_options$projection2===void 0?void 0:_options$projection2.yOffset)!==null&&_options$projection$y!==void 0?_options$projection$y:0),z],color:item.fill&&item.fill!=="transparent"?Object(Colors["a"])(item.fill,item.opacity):[0,0,0,0],strokeWidth:item.strokeWidth,strokeColor:item.stroke&&item.stroke!=="transparent"?Object(Colors["a"])(item.stroke,item.opacity):[0,0,0,0]};stage.circle.push(circle)}}))};var symbol=symbol_markStager;let GroupType;(function(GroupType){GroupType[GroupType["none"]=0]="none";GroupType[GroupType["legend"]=1]="legend";GroupType[GroupType["xAxis"]=2]="xAxis";GroupType[GroupType["yAxis"]=3]="yAxis";GroupType[GroupType["zAxis"]=4]="zAxis"})(GroupType||(GroupType={}));function getOrientItem(group){if(group.orient){return group}return group.datum}function setCurrentAxis(options,stage,groupType){var _stage$axes$x,_stage$axes,_stage$axes$y,_stage$axes2,_stage$axes$z,_stage$axes3;let axes;let role;switch(groupType){case GroupType.xAxis:axes=(_stage$axes$x=(_stage$axes=stage.axes)===null||_stage$axes===void 0?void 0:_stage$axes.x)!==null&&_stage$axes$x!==void 0?_stage$axes$x:[];role="x";break;case GroupType.yAxis:axes=(_stage$axes$y=(_stage$axes2=stage.axes)===null||_stage$axes2===void 0?void 0:_stage$axes2.y)!==null&&_stage$axes$y!==void 0?_stage$axes$y:[];role="y";break;case GroupType.zAxis:axes=(_stage$axes$z=(_stage$axes3=stage.axes)===null||_stage$axes3===void 0?void 0:_stage$axes3.z)!==null&&_stage$axes$z!==void 0?_stage$axes$z:[];role="z";break;default:return}options.currAxis={domain:null,tickText:[],ticks:[],role};axes.push(options.currAxis)}function convertGroupRole(group,options){if(group.mark.role==="legend")return GroupType.legend;if(group.mark.role==="axis"){if(group.mark.zindex===options.zAxisZindex&&options.zAxisZindex!==undefined){return GroupType.zAxis}const orientItem=getOrientItem(group);if(orientItem){switch(orientItem.orient){case"bottom":case"top":return GroupType.xAxis;case"left":case"right":return GroupType.yAxis}}}}const SceneToStage_group=(options,stage,scene,x,y,groupType)=>{external_vega_["sceneVisit"](scene,(function(g){const gx=g.x||0;const gy=g.y||0;if(g.context&&g.context.background&&!stage.backgroundColor){stage.backgroundColor=Object(Colors["a"])(g.context.background)}if(g.stroke&&stage.facets){const facetRect={datum:g.datum,lines:box(options,gx+x,gy+y,g.height,g.width,g.stroke,1)};stage.facets.push(facetRect)}groupType=convertGroupRole(g,options)||groupType;setCurrentAxis(options,stage,groupType);external_vega_["sceneVisit"](g,(function(item){mainStager(options,stage,item,gx+x,gy+y,groupType)}))}))};const markStagers={group:SceneToStage_group,legend,rect,rule,line:marks_line,area:marks_area,text:marks_text,symbol};const mainStager=(options,stage,scene,x,y,groupType)=>{if(scene.marktype!=="group"&&groupType===GroupType.legend){legend(options,stage,scene,x,y,groupType)}else if(markStagers[scene.marktype]){markStagers[scene.marktype](options,stage,scene,x,y,groupType)}};function orderDomain(domain,dim){if(domain.sourcePosition[dim]>domain.targetPosition[dim]){const temp=domain.targetPosition;domain.targetPosition=domain.sourcePosition;domain.sourcePosition=temp}}function sortAxis(axes,dim){axes.forEach((axis=>{if(axis.domain)orderDomain(axis.domain,dim);axis.ticks.sort(((a,b)=>a.sourcePosition[dim]-b.sourcePosition[dim]));axis.tickText.sort(((a,b)=>a.position[dim]-b.position[dim]))}))}function sceneToStage(options,scene){var _stage$axes$x2,_stage$axes4,_stage$axes$y2,_stage$axes5;const stage={circle:[],cube:[],path:[],polygon:[],axes:{x:[],y:[],z:[]},gridLines:[],text:[],legend:{rows:{}},facets:[]};mainStager(options,stage,scene,0,0);sortAxis((_stage$axes$x2=(_stage$axes4=stage.axes)===null||_stage$axes4===void 0?void 0:_stage$axes4.x)!==null&&_stage$axes$x2!==void 0?_stage$axes$x2:[],0);sortAxis((_stage$axes$y2=(_stage$axes5=stage.axes)===null||_stage$axes5===void 0?void 0:_stage$axes5.y)!==null&&_stage$axes$y2!==void 0?_stage$axes$y2:[],1);return stage}var Visualization=__webpack_require__(45);class VegaLiteFactory_VegaCompositeLayer extends external_deck_gl_["CompositeLayer"]{renderLayers(){return this.props.layers}}VegaLiteFactory_VegaCompositeLayer.layerName="HoparaVegaCompositeLayer";const MAX_TICKS=4e3;class VegaLiteFactory_VegaLiteFactory{constructor(cacheStore,dataComparator){this.cacheStore=void 0;this.dataComparator=void 0;this.cacheStore=cacheStore!==null&&cacheStore!==void 0?cacheStore:new Map;this.dataComparator=dataComparator!==null&&dataComparator!==void 0?dataComparator:new DataComparator_DataComparator}getWorldDomainMin(axis,scaleType,scaleDomains){if(!axis||!scaleType||!scaleDomains)return;return Object(fp_["get"])([axis,scaleType,"domainMin"],scaleDomains)}getWorldDomainMax(axis,scaleType,scaleDomains){if(!axis||!scaleType||!scaleDomains)return;return Object(fp_["get"])([axis,scaleType,"domainMax"],scaleDomains)}getAxisTicksByZoom(axisConfig){let zoom=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;let size=arguments.length>2?arguments[2]:undefined;let zoomBehavior=arguments.length>3?arguments[3]:undefined;const shouldUseZoomableBehavior=(axisConfig===null||axisConfig===void 0?void 0:axisConfig.tickCount)===undefined&&zoomBehavior!==Visualization["a"].FIXED;const tickCount=Math.ceil((size||0)/140*Math.pow(2,Math.ceil(zoom)));return{tickCount:shouldUseZoomableBehavior?tickCount<MAX_TICKS?tickCount:MAX_TICKS:axisConfig===null||axisConfig===void 0?void 0:axisConfig.tickCount,labelOverlap:shouldUseZoomableBehavior?zoom&&Math.ceil(zoom||1)<2:axisConfig===null||axisConfig===void 0?void 0:axisConfig.labelOverlap,tickRound:shouldUseZoomableBehavior?false:axisConfig===null||axisConfig===void 0?void 0:axisConfig.tickRound}}getEncodingWithDomains(props,baseProps){var _props$encoding$x,_props$encoding$x2,_props$encoding$x2$sc,_props$encoding$x3,_props$encoding$x3$sc,_props$encoding,_props$encoding$y,_props$encoding2,_props$encoding2$x,_baseProps$worldDimen,_baseProps$zoomBehavi,_props$encoding$y2,_props$encoding$y2$sc,_props$encoding$y3,_props$encoding$y3$sc,_props$encoding3,_props$encoding3$y,_props$encoding4,_props$encoding4$y,_baseProps$worldDimen2,_baseProps$zoomBehavi2;return{...props.encoding,x:{...props.encoding.x,scale:{...(_props$encoding$x=props.encoding.x)===null||_props$encoding$x===void 0?void 0:_props$encoding$x.scale,domainMin:this.getWorldDomainMin("x",(_props$encoding$x2=props.encoding.x)===null||_props$encoding$x2===void 0?void 0:(_props$encoding$x2$sc=_props$encoding$x2.scale)===null||_props$encoding$x2$sc===void 0?void 0:_props$encoding$x2$sc.type,baseProps.scaleDomains),domainMax:this.getWorldDomainMax("x",(_props$encoding$x3=props.encoding.x)===null||_props$encoding$x3===void 0?void 0:(_props$encoding$x3$sc=_props$encoding$x3.scale)===null||_props$encoding$x3$sc===void 0?void 0:_props$encoding$x3$sc.type,baseProps.scaleDomains)},axis:{...(_props$encoding=props.encoding)===null||_props$encoding===void 0?void 0:(_props$encoding$y=_props$encoding.y)===null||_props$encoding$y===void 0?void 0:_props$encoding$y.axis,...this.getAxisTicksByZoom((_props$encoding2=props.encoding)===null||_props$encoding2===void 0?void 0:(_props$encoding2$x=_props$encoding2.x)===null||_props$encoding2$x===void 0?void 0:_props$encoding2$x.axis,baseProps.zoom,(_baseProps$worldDimen=baseProps.worldDimensions)===null||_baseProps$worldDimen===void 0?void 0:_baseProps$worldDimen.width,(_baseProps$zoomBehavi=baseProps.zoomBehavior)===null||_baseProps$zoomBehavi===void 0?void 0:_baseProps$zoomBehavi.x)}},y:{...props.encoding.y,scale:{...props.encoding.y.scale,domainMin:this.getWorldDomainMin("y",(_props$encoding$y2=props.encoding.y)===null||_props$encoding$y2===void 0?void 0:(_props$encoding$y2$sc=_props$encoding$y2.scale)===null||_props$encoding$y2$sc===void 0?void 0:_props$encoding$y2$sc.type,baseProps.scaleDomains),domainMax:this.getWorldDomainMax("y",(_props$encoding$y3=props.encoding.y)===null||_props$encoding$y3===void 0?void 0:(_props$encoding$y3$sc=_props$encoding$y3.scale)===null||_props$encoding$y3$sc===void 0?void 0:_props$encoding$y3$sc.type,baseProps.scaleDomains)},axis:{...(_props$encoding3=props.encoding)===null||_props$encoding3===void 0?void 0:(_props$encoding3$y=_props$encoding3.y)===null||_props$encoding3$y===void 0?void 0:_props$encoding3$y.axis,...this.getAxisTicksByZoom((_props$encoding4=props.encoding)===null||_props$encoding4===void 0?void 0:(_props$encoding4$y=_props$encoding4.y)===null||_props$encoding4$y===void 0?void 0:_props$encoding4$y.axis,baseProps.zoom,(_baseProps$worldDimen2=baseProps.worldDimensions)===null||_baseProps$worldDimen2===void 0?void 0:_baseProps$worldDimen2.height,(_baseProps$zoomBehavi2=baseProps.zoomBehavior)===null||_baseProps$zoomBehavi2===void 0?void 0:_baseProps$zoomBehavi2.y)}}}}getLayerSpec(props,baseProps){var _props$rows;return{data:{values:(_props$rows=props.rows)!==null&&_props$rows!==void 0?_props$rows:[]},mark:props.mark,encoding:this.getEncodingWithDomains(props,baseProps)}}getSpec(props){const worldDimensions=props.worldDimensions;return{height:worldDimensions?worldDimensions.height:"container",width:worldDimensions?worldDimensions.width:"container",layer:props.layers.map((layerSpec=>this.getLayerSpec(layerSpec,props))),config:props.themeMode==="dark"?{axis:{labelColor:"#fff",gridColor:"#444",domainColor:"#666",titleColor:"#fff"}}:undefined}}getStage(props,view){var _props$worldDimension;return sceneToStage({projection:{yOffset:(_props$worldDimension=props.worldDimensions)===null||_props$worldDimension===void 0?void 0:_props$worldDimension.height}},view.scenegraph().root)}getVegaStage(props){const vegaSpec=this.getSpec(props);const compiledSpec=external_vega_lite_["compile"](vegaSpec);if(!compiledSpec||!compiledSpec.spec)return;const runtime=external_vega_["parse"](compiledSpec.spec);const view=new external_vega_["View"](runtime);view.run();return this.getStage(props,view)}getZoomCacheKey(props){var _props$worldDimension2,_props$worldDimension3;const layerKey=props.layers.reduce(((key,layer)=>`${key}-${layer.id}-${layer.rows.etag}-${props.zoom.toFixed(0)}`),"");return`${layerKey}-${(_props$worldDimension2=props.worldDimensions)===null||_props$worldDimension2===void 0?void 0:_props$worldDimension2.height}-${(_props$worldDimension3=props.worldDimensions)===null||_props$worldDimension3===void 0?void 0:_props$worldDimension3.width}`}getCacheKey(props){var _props$worldDimension4,_props$worldDimension5;const layerKey=props.layers.reduce(((key,layer)=>`${key}-${layer.id}-${layer.rows.etag}`),"");return`${layerKey}-${(_props$worldDimension4=props.worldDimensions)===null||_props$worldDimension4===void 0?void 0:_props$worldDimension4.height}-${(_props$worldDimension5=props.worldDimensions)===null||_props$worldDimension5===void 0?void 0:_props$worldDimension5.width}`}vegaStage(props){return Object(memoize_src["a"])(this.getVegaStage.bind(this),{cacheStore:this.cacheStore,cacheKey:this.getZoomCacheKey(props)})(props)}create(props){if(!props.worldDimensions)return[];const stage=this.vegaStage({layers:props.layers,worldDimensions:props.worldDimensions,themeMode:props.themeMode,scaleDomains:props.scaleDomains,zoom:props.zoom,zoomBehavior:props.zoomBehavior});if(!stage)return[];const zoomCacheKey=this.getZoomCacheKey(props);const cacheKey=this.getCacheKey(props);const chartLayers=getChartLayers(stage,cacheKey,this.dataComparator);const axesTicksLayers=getAxesTicksLayers(stage,zoomCacheKey,this.dataComparator);const axesXTicksLayers=axesTicksLayers.length>1?axesTicksLayers[0].flat():[];const axesYTicksLayers=axesTicksLayers.length>1?axesTicksLayers[1].flat():[];const axesDomainLayers=getAxesDomainLayers(stage,zoomCacheKey,this.dataComparator).flat();const facetLayers=getFacetLayers(stage,cacheKey,this.dataComparator);return[new VegaLiteFactory_VegaCompositeLayer({id:"vega-facet"+Date.now(),targetView:"vega-background",layers:facetLayers}),new VegaLiteFactory_VegaCompositeLayer({id:"vega-axes-domain"+Date.now(),targetView:"vega-background",layers:axesDomainLayers}),new VegaLiteFactory_VegaCompositeLayer({id:"vega-axes-x"+Date.now(),targetView:"vega-axes-x",layers:axesXTicksLayers}),new VegaLiteFactory_VegaCompositeLayer({id:"vega-axes-y"+Date.now(),targetView:"vega-axes-y",layers:axesYTicksLayers}),new VegaLiteFactory_VegaCompositeLayer({id:"vega-chart"+Date.now(),layers:chartLayers})]}}var external_react_table_=__webpack_require__(72);var Box_=__webpack_require__(56);var Box_default=__webpack_require__.n(Box_);var Table_=__webpack_require__(141);var Table_default=__webpack_require__.n(Table_);var TableCell_=__webpack_require__(108);var TableCell_default=__webpack_require__.n(TableCell_);var TableContainer_=__webpack_require__(142);var TableContainer_default=__webpack_require__.n(TableContainer_);var Paper_=__webpack_require__(143);var Paper_default=__webpack_require__.n(Paper_);var TablePagination_=__webpack_require__(144);var TablePagination_default=__webpack_require__.n(TablePagination_);var TableSortLabel_=__webpack_require__(145);var TableSortLabel_default=__webpack_require__.n(TableSortLabel_);const TableLayerBox=Object(src_theme["a"])(Box_default.a,{name:"TableLayerBox"})({width:"100%",height:"100%"});const TableLayerPaper=Object(src_theme["a"])(Paper_default.a,{name:"TableLayerPaper"})({width:"100%",height:"100%",mb:2,display:"flex",flexDirection:"column"});const TableLayerContainer=Object(src_theme["a"])(TableContainer_default.a,{name:"TableLayerContainer"})({overflow:"auto",flex:"1 1"});const TableLayerTable=Object(src_theme["a"])(Table_default.a,{name:"TableLayerTable"})({position:"relative"});const TableLayerTableCell=Object(src_theme["a"])(TableCell_default.a,{name:"TableLayerTable"})((_ref=>{let{_styleprops}=_ref;return{..._styleprops,display:"inline-flex",alignItems:"center",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}));const TableLayerTableCellBox=Object(src_theme["a"])(Box_default.a,{name:"TableLayerTableCellBox"})({display:"inline-block",overflow:"hidden",width:"100%",textOverflow:"ellipsis",whiteSpace:"nowrap"});const TableLayerHeaderCell=Object(src_theme["a"])(TableCell_default.a,{name:"TableLayerHeaderCell"})((_ref2=>{let{_cellstyles}=_ref2;return{..._cellstyles,position:"sticky",top:0}}));const TableLayerHeaderSortLabel=Object(src_theme["a"])(TableSortLabel_default.a,{name:"TableLayerHeaderSortLabel"})((_ref3=>{let{_cellstyles}=_ref3;return{..._cellstyles,display:undefined,overflow:"hidden",width:"100%"}}));const TableLayerHeaderLabel=Object(src_theme["a"])(Box_default.a,{name:"TableLayerHeaderLabel"})({display:"inline-block",overflow:"hidden",maxWidth:"100%",textOverflow:"ellipsis",whiteSpace:"nowrap"});const TableLayerHeaderLabelAria=Object(src_theme["a"])(Box_default.a,{name:"TableLayerHeaderLabelAria"})({border:0,clip:"rect(0 0 0 0)",height:"1px",margin:-1,overflow:"hidden",padding:0,position:"absolute",whiteSpace:"nowrap",width:"1px"});const TableLayerHeaderResizer=Object(src_theme["a"])("div",{name:"TableLayerHeaderResizer"})((props=>{const style=Object(react_["css"])({alignItems:"center",display:"flex",height:"70%",justifyContent:"center",position:"absolute",right:3,top:0,touchAction:"none",transform:"translate(50%, 15%)",width:10,zIndex:3,":before":{borderLeft:"1px solid #ccc",content:'""',height:"100%",left:"50%",position:"absolute",transform:"translateX(-50%)",transition:"border 0.2s ease"},":after":{background:"#efefef",border:"1px solid #999",borderRadius:"50%",content:'""',height:6,transition:"border 0.2s ease",width:6,zIndex:2},":hover:before":{borderColor:props.theme.palette.primary.main},":hover:after":{borderColor:props.theme.palette.primary.main}});if(props._isResizing){return Object(react_["css"])([style,Object(react_["css"])({":before":{borderColor:props.theme.palette.primary.main},":after":{borderColor:props.theme.palette.primary.main}})])}return style}));const TableLayerPagination=Object(src_theme["a"])(TablePagination_default.a,{name:"TableLayerPagination"})({borderTop:"1px solid #ebe9f1"});var TableBody_=__webpack_require__(146);var TableBody_default=__webpack_require__.n(TableBody_);var TableRow_=__webpack_require__(96);var TableRow_default=__webpack_require__.n(TableRow_);var TableHead_=__webpack_require__(147);var TableHead_default=__webpack_require__.n(TableHead_);const TableHeader=_ref=>{let{headerGroups}=_ref;return Object(jsx_runtime_["jsx"])(TableHead_default.a,{children:headerGroups.map(((headerGroup,index)=>Object(external_react_["createElement"])(TableRow_default.a,{...headerGroup.getHeaderGroupProps(),key:index},headerGroup.headers.map(((column,i)=>{const cellProps=column.getHeaderProps(column.getSortByToggleProps());return Object(jsx_runtime_["jsxs"])(TableLayerHeaderCell,{sortDirection:column.isSorted?column.isSortedDesc?"desc":"asc":false,_cellstyles:cellProps.style,children:[Object(jsx_runtime_["jsxs"])(TableLayerHeaderSortLabel,{...Object(fp_["omit"])(["style"],cellProps),active:column.isSorted,direction:column.isSorted&&column.isSortedDesc?"desc":"asc",_cellstyles:cellProps.style,children:[Object(jsx_runtime_["jsx"])(TableLayerHeaderLabel,{component:"span",children:column.render("Header")}),column.isSorted?Object(jsx_runtime_["jsx"])(TableLayerHeaderLabelAria,{component:"span",children:column.isSortedDesc?"sorted descending":"sorted ascending"}):null]}),Object(jsx_runtime_["jsx"])(TableLayerHeaderResizer,{_isResizing:column.isResizing,...column.getResizerProps()})]},i)})))))})};const TablePagination=_ref=>{let{gotoPage,pageIndex,pageSize,setPageSize,dataLength}=_ref;return Object(jsx_runtime_["jsx"])(TableLayerPagination,{rowsPerPageOptions:[10,20,50,100],component:"div",count:dataLength,rowsPerPage:pageSize,page:pageIndex,onPageChange:(e,page)=>gotoPage(page),onRowsPerPageChange:e=>setPageSize(Number(e.target.value)),sx:{}})};const ColumnCell=_ref=>{let{value,column,valueFormatter}=_ref;return valueFormatter?valueFormatter(value,column.id):value};const TableLayout=_ref2=>{let{columns,rows,valueFormatter}=_ref2;const tableData=external_react_default.a.useMemo((()=>rows),[rows]);const tableColumns=external_react_default.a.useMemo((()=>columns),[columns]);const defaultColumn=external_react_default.a.useMemo((()=>({minWidth:50,width:180,maxWidth:400,Cell:ColumnCell})),[]);const{getTableProps,getTableBodyProps,headerGroups,page,prepareRow,gotoPage,setPageSize,state:{pageIndex,pageSize}}=Object(external_react_table_["useTable"])({columns:tableColumns,data:tableData,defaultColumn,initialState:{pageSize:20},valueFormatter},external_react_table_["useBlockLayout"],external_react_table_["useResizeColumns"],external_react_table_["useSortBy"],external_react_table_["usePagination"]);return Object(jsx_runtime_["jsx"])(TableLayerBox,{"data-testid":"table",children:Object(jsx_runtime_["jsxs"])(TableLayerPaper,{children:[Object(jsx_runtime_["jsx"])(TableLayerContainer,{children:Object(jsx_runtime_["jsxs"])(TableLayerTable,{...getTableProps(),children:[Object(jsx_runtime_["jsx"])(TableHeader,{headerGroups}),Object(jsx_runtime_["jsx"])(TableBody_default.a,{...getTableBodyProps(),children:page===null||page===void 0?void 0:page.map(((row,index)=>{prepareRow(row);return Object(external_react_["createElement"])(TableRow_default.a,{...row.getRowProps(),key:index},row.cells.map(((cell,i)=>{const cellProps=cell.getCellProps();return Object(external_react_["createElement"])(TableLayerTableCell,{...Object(fp_["omit"])(["style"],cellProps),_styleprops:cellProps.style,key:i},Object(jsx_runtime_["jsx"])(TableLayerTableCellBox,{component:"span",children:cell.render("Cell")}))})))}))})]})}),Object(jsx_runtime_["jsx"])(TablePagination,{gotoPage,pageIndex,pageSize,setPageSize,dataLength:tableData===null||tableData===void 0?void 0:tableData.length})]})})};class Table_Table extends PureComponent["a"]{render(){var _this$props$rows,_this$props$columns;return Object(jsx_runtime_["jsx"])(TableLayout,{rows:(_this$props$rows=this.props.rows)!==null&&_this$props$rows!==void 0?_this$props$rows:[],columns:(_this$props$columns=this.props.columns)!==null&&_this$props$columns!==void 0?_this$props$columns:[],valueFormatter:this.props.valueFormatter})}}const formatTableColumns=(columns,fields)=>{if(!columns)return[];if(fields!==null&&fields!==void 0&&fields.length){return fields.map((field=>{var _field$title;const column=columns.get(field.value.encoding.text.field);if(!column)return;return{Header:(_field$title=field.title)!==null&&_field$title!==void 0?_field$title:column===null||column===void 0?void 0:column.getLabel(),accessor:column===null||column===void 0?void 0:column.getName()}})).filter((tableColumn=>!!tableColumn))}return columns.map((column=>({Header:column.getLabel(),accessor:column.getName()})))};const valueFormater=(columns,fields)=>(value,columnName)=>{const column=columns===null||columns===void 0?void 0:columns.get(columnName);const tableField=fields===null||fields===void 0?void 0:fields.find((field=>field.value.encoding.text.field===columnName));if(!column||!tableField)return value;return tableField.value.encoding.text.formatValue(value,column.getType())};class TableLayer_Table extends PureComponent["a"]{render(){const formattedColumns=formatTableColumns(this.props.columns,this.props.fields);return Object(jsx_runtime_["jsx"])(Table_Table,{rows:this.props.rows,columns:formattedColumns,valueFormatter:valueFormater(this.props.columns,this.props.fields)})}}var TableLayer=TableLayer_Table;class TableFactory_TableFactory{create(props){var _props$encoding$table,_props$encoding;return external_react_default.a.createElement(TableLayer,{columns:props.columns,fields:(_props$encoding$table=(_props$encoding=props.encoding)===null||_props$encoding===void 0?void 0:_props$encoding.table)!==null&&_props$encoding$table!==void 0?_props$encoding$table:[],rows:props.rows,key:props.id})}}class ViewLayers extends Array{}var mesh_layers_=__webpack_require__(148);const ScenegraphFactory_Store={"steam-turbine":"https://images.hopara.app/scenegraph/industrial/steam-turbine.glb",sensor:"https://images.hopara.app/scenegraph/industrial/sensor.glb","sensor-red":"https://images.hopara.app/scenegraph/industrial/sensor-red.glb"};class ScenegraphFactory_ScenegraphFactory extends BaseFactory_BaseFactory{getOrientation(props,row){var _props$encoding$orien,_props$encoding$orien2,_props$encoding$orien3;if((_props$encoding$orien=props.encoding.orientation)!==null&&_props$encoding$orien!==void 0&&_props$encoding$orien.value)return(_props$encoding$orien2=props.encoding.orientation)===null||_props$encoding$orien2===void 0?void 0:_props$encoding$orien2.value;if((_props$encoding$orien3=props.encoding.orientation)!==null&&_props$encoding$orien3!==void 0&&_props$encoding$orien3.field&&row[props.encoding.orientation.field]){let value=row[props.encoding.orientation.field];if(typeof value==="string")value=JSON.parse(value);if(Array.isArray(value))return value}return[0,0,0]}create(props){const scenegrapAccessor=new encoding_src["j"]({scenegraphStore:ScenegraphFactory_Store});const rowsByScenegraph=super.getRows(props).reduce(((rows,row)=>{const scenegraph=scenegrapAccessor.getScenegraph(props.encoding.scenegraph,row);if(!scenegraph)return rows;if(!rows[scenegraph]){const rs=new dataset_src["j"];rs.push(row);return{...rows,[scenegraph]:rs}}else{const rs=rows[scenegraph];rs.push(row);return{...rows,[scenegraph]:rs}}}),{});const layers=Object.keys(rowsByScenegraph).map(((scenegraph,i)=>{const sizeAccessor=Object(encoding_src["q"])({encoding:props.encoding.size,columns:props.columns})||1;const deckProps=super.getDeckProps(props,{id:`${props.id}-${i}`,pickable:props.pickable,scenegraph,data:rowsByScenegraph[scenegraph],_lighting:"pbr",getScale:row=>{let size=sizeAccessor;if(typeof size==="function"){size=size(row)}return[size,size,size]},getPosition:super.get3dPositionAccessor(),getOrientation:row=>this.getOrientation(props,row),...super.getDeckLayerCallbacks(props)});return new mesh_layers_["ScenegraphLayer"](deckProps)}));return layers}}const factories={circle:new CircleFactory_CircleFactory,heatmap:new HeatmapFactory_HeatmapFactory,icon:new IconFactory_IconFactory,image:new ImageFactory_ImageFactory,line:new LineFactory_LineFactory,polygon:new PolygonFactory_PolygonFactory,text:new TextFactory_TextFactory,table:new TableFactory_TableFactory,scenegraph:new ScenegraphFactory_ScenegraphFactory};function getFactory(type){return factories[type.toLowerCase()]}function hasFactory(layer){return!!getFactory(layer.type)}function isVegaLayer(layer){return layer.isVega()}function getViewLayerId(layer){var _animation$data,_animation$data2;const animation=layer.getAnimation();return[layer.id,layer.type,animation===null||animation===void 0?void 0:(_animation$data=animation.data)===null||_animation$data===void 0?void 0:_animation$data.type,animation===null||animation===void 0?void 0:(_animation$data2=animation.data)===null||_animation$data2===void 0?void 0:_animation$data2.field].join("#")}function getVisibleRows(layer,props,rowset){var _props$projectedRows$;if(layer.isFixedColor()||props.encodingScope===encoding_src["e"].QUERY){return new dataset_src["j"]}if(!props.projectedRows){return new dataset_src["j"]}return(_props$projectedRows$=props.projectedRows[rowset.getId()])===null||_props$projectedRows$===void 0?void 0:_props$projectedRows$.getFromBox(props.visibleWorldBox)}function createViewLayer(props,layer){var _props$queries,_props$selectedRow,_layer$transform$clus,_layer$transform,_layer$encoding;if(!layer.shouldRender(props.rowsetStore.getRowsets())){return null}const rowset=props.rowsetStore.getByTargetRowset(layer.getTargetRowset(props.zoom));if(!rowset)return null;const columns=(_props$queries=props.queries)===null||_props$queries===void 0?void 0:_props$queries.getColumns(layer.getQueryKey());const visibleRows=getVisibleRows(layer,props,rowset);const factory=getFactory(layer.type);const rows=layer.type!=="scenegraph"&&props.projectedRows&&props.projectedRows[rowset.getId()]?props.projectedRows[rowset.getId()]:rowset.rows;return factory.create({id:getViewLayerId(layer),layerId:layer.id,encoding:layer.encoding,bearing:props.bearing,columns,editable:layer.editable,editing:!!props.editing,dragging:props.dragging,pickable:props.editing&&layer.editable||!!layer.tooltip,layerCallbacks:props.layerCallbacks,lastModified:layer.lastModified,transform:layer.transform,rows,rowsetId:rowset===null||rowset===void 0?void 0:rowset.getId(),selectedRow:((_props$selectedRow=props.selectedRow)===null||_props$selectedRow===void 0?void 0:_props$selectedRow.rowsetId)===(rowset===null||rowset===void 0?void 0:rowset.getId())?props.selectedRow:undefined,visible:{value:layer.isVisible(props.zoom),condition:layer.visible.condition},visibleRows,zoom:((_layer$transform$clus=(_layer$transform=layer.transform)===null||_layer$transform===void 0?void 0:_layer$transform.cluster)!==null&&_layer$transform$clus!==void 0?_layer$transform$clus:(_layer$encoding=layer.encoding)===null||_layer$encoding===void 0?void 0:_layer$encoding.cluster)?Math.floor(props.zoom):undefined,autoHighlight:layer.autoHighlight,dataComparator:props.dataComparator})}const createVegaViewLayers=(vegaLayers,props)=>{const layersSpec=vegaLayers.map((layer=>{var _rowset$rows;if(!layer.shouldRender(props.rowsetStore.getRowsets()))return null;if(!layer.isVisible(props.zoom))return null;const rowset=props.rowsetStore.getByTargetRowset(layer.getTargetRowset(props.zoom));if(!(rowset!==null&&rowset!==void 0&&(_rowset$rows=rowset.rows)!==null&&_rowset$rows!==void 0&&_rowset$rows.length))return null;const rows=props.projectedRows&&props.projectedRows[rowset.getId()]?props.projectedRows[rowset.getId()]:rowset.rows;return{id:layer.id,rows,mark:layer.mark,encoding:layer.encoding}})).filter((layerSpec=>!!layerSpec));return new VegaLiteFactory_VegaLiteFactory(props.cacheStore,props.dataComparator).create({layers:layersSpec,worldDimensions:props.worldDimensions,themeMode:props.themeMode,scaleDomains:props.scaleDomains,zoom:props.zoom,zoomBehavior:props.zoomBehavior})};const createViewLayers=props=>{if(!props.layers||props.layers.length===0){return new ViewLayers}const viewLayers=[];const vegaLayers=props.layers.filter(isVegaLayer);if(vegaLayers.length){const vegaViewLayers=createVegaViewLayers(vegaLayers,props);viewLayers.push(...vegaViewLayers)}const hoparaLayers=props.layers.filter(hasFactory).map((layer=>createViewLayer(props,layer)));if(hoparaLayers.length){viewLayers.push(...hoparaLayers)}return new ViewLayers(...viewLayers)};let MapStyle;(function(MapStyle){MapStyle["building"]="building";MapStyle["dark"]="dark";MapStyle["light"]="light";MapStyle["lightStreet"]="light-street";MapStyle["terrain"]="terrain"})(MapStyle||(MapStyle={}));const mapStyleNameToId={building:"winter",dark:"6bafab84-bb35-4ff5-b048-d419f7d0da53","light-street":"659eb88b-0a25-45ca-a129-3682b21b1b80",light:"419395b0-c660-4d87-b01d-e0d48df9c702",terrain:"hybrid"};const getMapStyle=style=>{var _ref;const styleId=(_ref=style&&mapStyleNameToId[style])!==null&&_ref!==void 0?_ref:mapStyleNameToId.light;return`https://api.maptiler.com/maps/${styleId}/style.json?key=t0AYWwS0LsMuX1Of2myK&c=adasd`};const isDarkStyle=style=>!!style&&style==="dark";var SpecFromTenant=__webpack_require__(77);var projector_src=__webpack_require__(44);class DeckView_DeckView extends PureComponent["a"]{constructor(props){super(props);this.deckgl=void 0;this.viewLayerCache=void 0;this.visualizationId=void 0;this.renderMap=void 0;this.previousViewLayers=void 0;this.usePreviousViewLayers=void 0;this.previousLastModified=void 0;this.previousRows=void 0;this.viewLayerFilter=void 0;this.cacheStore=new Map;this.dataComparator=void 0;this.zoomStep=.5;this.state={isHoveringLayer:false,isItemDragging:false,isViewDragging:false};this.viewLayerCache=new Map;this.deckgl=external_react_default.a.createRef();this.visualizationId=props.visualization.id;this.renderMap=false;this.previousRows={};this.dataComparator=new DataComparator_DataComparator}getCursor(_ref){let{isDragging}=_ref;if(isDragging)return"grabbing";if(this.state.isHoveringLayer)return"pointer";return"grab"}shouldUseViewStateFromProps(){return this.props.viewState.visualizationId===this.visualizationId&&this.props.viewState.isNewerThan(this.state.viewState)}getViewState(){if(this.shouldUseViewStateFromProps()){return this.props.viewState}return this.state.viewState}getRowProjector(rowset){return rowset&&this.props.projector?new projector_src["c"](this.props.projector,rowset.scales):undefined}onLayerHover(info){if(!info&&this.state.isHoveringLayer)this.setState({isHoveringLayer:false});else if(info&&!this.state.isHoveringLayer)this.setState({isHoveringLayer:true});return this.props.onLayerHover&&this.props.onLayerHover(info)}onLayerDrag(info){var _info$cursorDisplacem,_this$state$draggingR;if(!info||!info.editable||!this.props.isEditing)return;this.setState({draggingRow:{layerId:info.layerId,rowsetId:info.rowsetId,updatingRow:{...info.row,...info.updatedData},cursorDisplacement:(_info$cursorDisplacem=info.cursorDisplacement)!==null&&_info$cursorDisplacem!==void 0?_info$cursorDisplacem:(_this$state$draggingR=this.state.draggingRow)===null||_this$state$draggingR===void 0?void 0:_this$state$draggingR.cursorDisplacement}})}onLayerDragStart(info,event){if(!info||!info.editable||!this.props.isEditing)return;if(this.props.isEditing&&info!==null&&info!==void 0&&info.editable){this.setState({isItemDragging:true,draggingRow:{layerId:info.layerId,rowsetId:info.rowsetId,updatingRow:{...info.row,...info.updatedData},cursorDisplacement:info.cursorDisplacement}})}return this.props.onLayerDragStart(info,event)}onLayerDragEnd(info,event,keepSelected){this.setState({isItemDragging:false,draggingRow:undefined});if(!this.props.isEditing||!(info!==null&&info!==void 0&&info.editable))return;const rowset=this.props.rowsetStore.getRowset(info.rowsetId);const rowProjector=this.getRowProjector(rowset);const unprojectedInfo={...info,row:rowProjector===null||rowProjector===void 0?void 0:rowProjector.unprojectRow(info.row),updatedData:rowProjector===null||rowProjector===void 0?void 0:rowProjector.unprojectRow(info.updatedData)};return this.props.onLayerDragEnd&&this.props.onLayerDragEnd(unprojectedInfo,event,keepSelected)}onLayerEdit(info){return this.onLayerDrag(info)}onLayerEditEnd(info,event){return this.onLayerDragEnd(info,event,true)}getZoom(){var _this$props$viewState;return Number((_this$props$viewState=this.props.viewState)===null||_this$props$viewState===void 0?void 0:_this$props$viewState.zoom.toFixed(2))}getBearing(){var _this$props$viewState2;return(_this$props$viewState2=this.props.viewState)===null||_this$props$viewState2===void 0?void 0:_this$props$viewState2.bearing}getVisibleWorld(){var _this$props$viewState3;return(_this$props$viewState3=this.props.viewState)===null||_this$props$viewState3===void 0?void 0:_this$props$viewState3.getVisibleWorld(this.props.world)}getWorldDimensions(){return this.props.world?this.props.world.getDimensions():undefined}getSelectedRow(){return this.state.draggingRow||this.props.selectedRow}getThemeMode(){var _this$props$visualiza,_this$props$visualiza2;const theme=this.props.tenant?Object(SpecFromTenant["b"])(this.props.tenant):undefined;return(_this$props$visualiza=this.props.visualization)!==null&&_this$props$visualiza!==void 0&&_this$props$visualiza.getMapStyle()&&isDarkStyle((_this$props$visualiza2=this.props.visualization)===null||_this$props$visualiza2===void 0?void 0:_this$props$visualiza2.getMapStyle())?"dark":(theme===null||theme===void 0?void 0:theme.mode)==="dark"?"dark":"light"}getProjectedRows(){return this.props.rowsetStore.getRowsets().reduce(((map,rowset)=>{var _this$previousRows$ro,_rowset$rows;const rowsChanged=((_this$previousRows$ro=this.previousRows[rowset.getId()])===null||_this$previousRows$ro===void 0?void 0:_this$previousRows$ro.etag)!==((_rowset$rows=rowset.rows)===null||_rowset$rows===void 0?void 0:_rowset$rows.etag);if(!rowsChanged){return{...map,[rowset.getId()]:this.previousRows[rowset.getId()]}}const rowProjector=this.getRowProjector(rowset);const rows=rowProjector?rowProjector.project(rowset.rows,true):new dataset_src["j"];this.previousRows[rowset.getId()]=rows;return{...map,[rowset.getId()]:rows}}),{})}doGetViewLayers(){var _this$props$world;const{visualization,queries,rowsetStore,isEditing,encodingScope}=this.props;const zoom=this.getZoom();const bearing=this.getBearing();const visibleWorldBox=this.getVisibleWorld();const worldDimensions=this.getWorldDimensions();const layerCallbacks={onSelectionEdit:this.props.onSelectionEdit,onClick:this.props.onLayerClick,onDrag:this.onLayerDrag.bind(this),onHover:this.onLayerHover.bind(this),onDragStart:this.onLayerDragStart.bind(this),onDragEnd:this.onLayerDragEnd.bind(this),onEdit:this.onLayerEdit.bind(this),onEditEnd:this.onLayerEditEnd.bind(this)};return createViewLayers({visualization,zoom,bearing,visibleWorldBox,worldDimensions,queries,rowsetStore,layerCallbacks,encodingScope,editing:isEditing,dragging:this.state.isItemDragging,layers:this.props.layers,projectedRows:this.getProjectedRows(),selectedRow:this.getSelectedRow(),themeMode:this.getThemeMode(),cacheStore:this.cacheStore,scaleDomains:(_this$props$world=this.props.world)===null||_this$props$world===void 0?void 0:_this$props$world.getMaximizedScaleDomains(),zoomBehavior:this.props.viewState.zoomBehavior,dataComparator:this.dataComparator})}getMostRecentLayerLastModified(){return Math.max(...this.props.layers.map((layer=>{var _layer$lastModified;return(_layer$lastModified=layer.lastModified)===null||_layer$lastModified===void 0?void 0:_layer$lastModified.getMilliseconds()})))}wasLayerModified(){return!!this.previousLastModified&&this.previousLastModified!==this.getMostRecentLayerLastModified()}getViewLayers(){if(this.usePreviousViewLayers&&this.previousViewLayers&&!this.wasLayerModified()){return this.previousViewLayers}const viewLayers=this.doGetViewLayers();this.previousViewLayers=viewLayers;this.previousLastModified=this.getMostRecentLayerLastModified();return viewLayers}getZoomDirection(event){var _event$oldViewState,_event$viewState;const oldValue=(_event$oldViewState=event.oldViewState)===null||_event$oldViewState===void 0?void 0:_event$oldViewState.zoom;const currentValue=(_event$viewState=event.viewState)===null||_event$viewState===void 0?void 0:_event$viewState.zoom;if(currentValue-oldValue>0)return"in";return"out"}nextZoomStep(zoom){if(Number.isInteger(zoom))return zoom+this.zoomStep;return Math.ceil(zoom*(1/this.zoomStep))/(1/this.zoomStep)}prevZoomStep(zoom){if(Number.isInteger(zoom))return zoom-this.zoomStep;return Math.floor(zoom*(1/this.zoomStep))/(1/this.zoomStep)}shouldNotifyZooming(event){var _event$interactionSta,_event$oldViewState3,_event$viewState3;if((_event$interactionSta=event.interactionState)!==null&&_event$interactionSta!==void 0&&_event$interactionSta.inTransition){return false}if(this.getZoomDirection(event)==="in"){var _event$oldViewState2,_event$viewState2;const stateNextStep=this.nextZoomStep((_event$oldViewState2=event.oldViewState)===null||_event$oldViewState2===void 0?void 0:_event$oldViewState2.zoom);const eventNextStep=this.nextZoomStep((_event$viewState2=event.viewState)===null||_event$viewState2===void 0?void 0:_event$viewState2.zoom);return stateNextStep!=eventNextStep}const statePrevStep=this.prevZoomStep((_event$oldViewState3=event.oldViewState)===null||_event$oldViewState3===void 0?void 0:_event$oldViewState3.zoom);const eventPrevStep=this.prevZoomStep((_event$viewState3=event.viewState)===null||_event$viewState3===void 0?void 0:_event$viewState3.zoom);return statePrevStep!==eventPrevStep}getViews(){return[]}getViewController(){if(this.props.viewController.dragPan&&this.state.isItemDragging){const controller=this.props.viewController.clone();controller.dragPan=!this.state.isItemDragging;return controller}return this.props.viewController}onViewStateChange(event){if(this.props.visualization.id!==this.visualizationId)return;if(event.interactionState.isZooming&&this.shouldNotifyZooming(event)&&this.props.onViewZooming){return this.props.onViewZooming({...event})}else{this.setState({viewState:this.props.viewState.withDeckViewState(this.props.world,event.viewState)})}}onViewHover(info){var _info$layer,_info$layer$props,_info$layer2,_info$layer2$props;if(!(info!==null&&info!==void 0&&(_info$layer=info.layer)!==null&&_info$layer!==void 0&&(_info$layer$props=_info$layer.props)!==null&&_info$layer$props!==void 0&&_info$layer$props.pickable)&&this.state.isHoveringLayer)return this.setState({isHoveringLayer:false});if(this.props.isEditing&&(_info$layer2=info.layer)!==null&&_info$layer2!==void 0&&(_info$layer2$props=_info$layer2.props)!==null&&_info$layer2$props!==void 0&&_info$layer2$props.editable)return;return this.props.onViewHover&&this.props.onViewHover(info)}onViewClick(info){var _info$layer3,_info$layer3$props;if(this.props.isEditing&&(_info$layer3=info.layer)!==null&&_info$layer3!==void 0&&(_info$layer3$props=_info$layer3.props)!==null&&_info$layer3$props!==void 0&&_info$layer3$props.editable)return;return this.props.onViewClick&&this.props.onViewClick(info)}onViewDragStart(info){var _info$layer4,_info$layer4$props;if(this.props.isEditing&&(_info$layer4=info.layer)!==null&&_info$layer4!==void 0&&(_info$layer4$props=_info$layer4.props)!==null&&_info$layer4$props!==void 0&&_info$layer4$props.editable&&this.state.isItemDragging)return;this.setState({isViewDragging:true});return this.props.onViewDragStart&&this.props.onViewDragStart(info)}onViewDragEnd(info){var _this$getViewState;if(!this.state.isViewDragging)return;if(this.props.onViewDragEnd)this.props.onViewDragEnd(info,(_this$getViewState=this.getViewState())===null||_this$getViewState===void 0?void 0:_this$getViewState.getDeckViewState(this.props.world));this.setState({isViewDragging:false})}UNSAFE_componentWillUpdate(nextProps,nextState){this.usePreviousViewLayers=nextState.viewState!==this.state.viewState&&nextProps===this.props&&this.state.draggingRow===nextState.draggingRow}onViewLoad(){const dimensions={width:this.deckgl.current.deck.width,height:this.deckgl.current.deck.height};const viewState=this.deckgl.current.deck.props.viewState;this.props.onViewLoad(dimensions,viewState)}getEffects(){return[]}render(){var _this$getViewState2;const deckViewState=(_this$getViewState2=this.getViewState())===null||_this$getViewState2===void 0?void 0:_this$getViewState2.getDeckViewState(this.props.world);if(!deckViewState)return null;return Object(jsx_runtime_["jsx"])(jsx_runtime_["Fragment"],{children:Object(jsx_runtime_["jsx"])(typed_default.a,{ref:this.deckgl,viewState:deckViewState,views:this.getViews(),layers:this.getViewLayers(),onLoad:this.onViewLoad.bind(this),onResize:size=>this.props.onViewResize&&this.props.onViewResize(size),onHover:this.onViewHover.bind(this),layerFilter:this.viewLayerFilter,onClick:this.onViewClick.bind(this),onDragStart:this.onViewDragStart.bind(this),onDragEnd:this.onViewDragEnd.bind(this),onViewStateChange:event=>this.onViewStateChange(event),getCursor:this.getCursor.bind(this),effects:this.getEffects(),children:this.renderMap&&Object(jsx_runtime_["jsx"])(external_react_map_gl_default.a,{reuseMaps:true,mapLib:external_maplibre_gl_default.a,mapStyle:getMapStyle(this.props.visualization.mapStyle),styleDiffing:false,attributionControl:false,interactive:false})})})}}var view_DeckView=DeckView_DeckView;const isMapEnabled=config_src["a"].getValueAsBoolean("ENABLE_MAP");class GeoViewComponent_GeoViewComponent extends view_DeckView{constructor(props){super(props);this.renderMap=isMapEnabled}getViews(){return[new core_["MapView"]({id:"main-view",controller:this.getViewController()})]}}var external_reselect_=__webpack_require__(19);const currentVisualizationSelector=Object(external_reselect_["createSelector"])([_ref=>{let{visualizations}=_ref;return visualizations}],(visualizations=>visualizations.getCurrent()));const viewStateSelector=Object(external_reselect_["createSelector"])([_ref2=>{let{viewStates}=_ref2;return viewStates},currentVisualizationSelector],((viewStates,currentVisualization)=>viewStates.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const viewControllerSelector=Object(external_reselect_["createSelector"])([_ref3=>{let{viewControllers}=_ref3;return viewControllers},currentVisualizationSelector],((viewControllers,currentVisualization)=>viewControllers.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const axesListSelector=Object(external_reselect_["createSelector"])([_ref4=>{let{axesList}=_ref4;return axesList},currentVisualizationSelector],((axesList,currentVisualization)=>axesList.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const projectorSelector=Object(external_reselect_["createSelector"])([_ref5=>{let{projectorStore}=_ref5;return projectorStore},currentVisualizationSelector],((projectorStore,currentVisualization)=>projectorStore.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const layersSelector=Object(external_reselect_["createSelector"])([_ref6=>{let{layers}=_ref6;return layers},currentVisualizationSelector],((layers,currentVisualization)=>layers.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const worldSelector=Object(external_reselect_["createSelector"])([_ref7=>{let{worlds}=_ref7;return worlds},currentVisualizationSelector],((worlds,currentVisualization)=>worlds.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const GeoViewContainer_mapStateToProps=state=>({isEditing:state.appStore.isEditing,jumpState:state.jump,layers:layersSelector(state),queries:state.queryStore.queries,rowsetStore:state.rowsetStore,encodingScope:state.encodingScope,selectedRow:state.viewLayers.selectedRow,tooltipEnabled:!!state.tooltip,tenant:state.authorization.tenant,viewStates:state.viewStates,viewState:viewStateSelector(state),visualization:currentVisualizationSelector(state),visualizations:state.visualizations,viewController:viewControllerSelector(state),axesList:axesListSelector(state),projector:projectorSelector(state),worlds:state.worlds,world:worldSelector(state)});const GeoViewContainer_mapDispatchToProps=dispatch=>({layerActions:ViewLayerActions(dispatch),viewActions:Object(ViewActions["b"])(dispatch)});const GeoViewContainer_mergeProps=(stateProps,dispatchProps)=>({...stateProps,...dispatchProps.layerActions(stateProps.visualizations,stateProps.isEditing,!!stateProps.selectedRow,stateProps.tooltipEnabled),...dispatchProps.viewActions(stateProps.viewStates,stateProps.worlds,stateProps.visualizations,!!stateProps.selectedRow,stateProps.tooltipEnabled)});var GeoViewContainer=Object(external_react_redux_["connect"])(GeoViewContainer_mapStateToProps,GeoViewContainer_mapDispatchToProps,GeoViewContainer_mergeProps,{context:Store["a"]})(GeoViewComponent_GeoViewComponent);var OrthographicView=__webpack_require__(61);var Paddings=__webpack_require__(86);class CartesianViewComponent_CartesianViewComponent extends view_DeckView{constructor(){super(...arguments);this.viewLayerFilter=_ref=>{let{layer,viewport}=_ref;if(!layer.props.targetView&&viewport.id==="main-view")return true;return layer.props.targetView===viewport.id}}getViews(){const viewPortProps=this.props.viewState.getOrtographicViewPortProps(this.props.world);const paddings=Object(Paddings["a"])(this.props.world);return[new OrthographicView["b"]({...viewPortProps,id:"vega-background",controller:false,width:viewPortProps.width+paddings.viewHorizontalPadding*2,height:viewPortProps.height+paddings.viewVertialPadding*2,x:this.props.world.getPaddingLeft()/2,y:0,fixedX:true,fixedY:true,translationMatrix:[paddings.viewHorizontalPadding,paddings.viewVertialPadding+paddings.axesVerticalPadding,0]}),new OrthographicView["b"]({...viewPortProps,id:"vega-axes-y",controller:false,width:viewPortProps.width+paddings.axesHorizontalPadding+this.props.world.getPaddingLeft(),x:paddings.axesHorizontalPadding,y:paddings.axesVerticalPadding,fixedX:true,translationMatrix:[viewPortProps.translationMatrix[0],viewPortProps.translationMatrix[1],0]}),new OrthographicView["b"]({...viewPortProps,id:"vega-axes-x",controller:false,height:viewPortProps.height+paddings.axesVerticalPadding,fixedY:true}),new OrthographicView["b"]({...viewPortProps,id:"main-view",controller:this.getViewController()})]}}const CartesianViewContainer_currentVisualizationSelector=Object(external_reselect_["createSelector"])([_ref=>{let{visualizations}=_ref;return visualizations}],(visualizations=>visualizations.getCurrent()));const CartesianViewContainer_viewStateSelector=Object(external_reselect_["createSelector"])([_ref2=>{let{viewStates}=_ref2;return viewStates},CartesianViewContainer_currentVisualizationSelector],((viewStates,currentVisualization)=>viewStates.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const CartesianViewContainer_viewControllerSelector=Object(external_reselect_["createSelector"])([_ref3=>{let{viewControllers}=_ref3;return viewControllers},CartesianViewContainer_currentVisualizationSelector],((viewControllers,currentVisualization)=>viewControllers.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const CartesianViewContainer_axesListSelector=Object(external_reselect_["createSelector"])([_ref4=>{let{axesList}=_ref4;return axesList},CartesianViewContainer_currentVisualizationSelector],((axesList,currentVisualization)=>axesList.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const CartesianViewContainer_projectorSelector=Object(external_reselect_["createSelector"])([_ref5=>{let{projectorStore}=_ref5;return projectorStore},CartesianViewContainer_currentVisualizationSelector],((projectorStore,currentVisualization)=>projectorStore.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const CartesianViewContainer_layersSelector=Object(external_reselect_["createSelector"])([_ref6=>{let{layers}=_ref6;return layers},CartesianViewContainer_currentVisualizationSelector],((layers,currentVisualization)=>layers.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const CartesianViewContainer_worldSelector=Object(external_reselect_["createSelector"])([_ref7=>{let{worlds}=_ref7;return worlds},CartesianViewContainer_currentVisualizationSelector],((worlds,currentVisualization)=>worlds.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const CartesianViewContainer_mapStateToProps=state=>({isEditing:state.appStore.isEditing,jumpState:state.jump,layers:CartesianViewContainer_layersSelector(state),queries:state.queryStore.queries,rowsetStore:state.rowsetStore,encodingScope:state.encodingScope,selectedRow:state.viewLayers.selectedRow,tooltipEnabled:!!state.tooltip,tenant:state.authorization.tenant,viewStates:state.viewStates,viewState:CartesianViewContainer_viewStateSelector(state),visualization:CartesianViewContainer_currentVisualizationSelector(state),visualizations:state.visualizations,viewController:CartesianViewContainer_viewControllerSelector(state),axesList:CartesianViewContainer_axesListSelector(state),projector:CartesianViewContainer_projectorSelector(state),worlds:state.worlds,world:CartesianViewContainer_worldSelector(state)});const CartesianViewContainer_mapDispatchToProps=dispatch=>({layerActions:ViewLayerActions(dispatch),viewActions:Object(ViewActions["b"])(dispatch)});const CartesianViewContainer_mergeProps=(stateProps,dispatchProps)=>({...stateProps,...dispatchProps.layerActions(stateProps.visualizations,stateProps.isEditing,!!stateProps.selectedRow,stateProps.tooltipEnabled),...dispatchProps.viewActions(stateProps.viewStates,stateProps.worlds,stateProps.visualizations,!!stateProps.selectedRow,stateProps.tooltipEnabled),visualizations:null,viewStates:null});var CartesianViewContainer=Object(external_react_redux_["connect"])(CartesianViewContainer_mapStateToProps,CartesianViewContainer_mapDispatchToProps,CartesianViewContainer_mergeProps,{context:Store["a"]})(CartesianViewComponent_CartesianViewComponent);var external_d3_=__webpack_require__(28);const LegendView=Object(src_theme["a"])("div",{name:"LegendView"})((_ref=>{let{theme,_isCartesian,_visible}=_ref;const style=Object(react_["css"])({borderRadius:theme.shape.borderRadius,fontSize:theme.typography.fontSize,position:"absolute",right:theme.shape.paddingInner,bottom:theme.shape.paddingInner+30,padding:theme.shape.paddingInner,backgroundColor:"rgba(255,255,255,0.66)",backdropFilter:"blur(10px)",transition:"all 0.42s ease",overflow:"hidden",transform:`translateX(${_visible?"0":"250%"})`,zIndex:99,"& svg":{transition:"height 0.2s ease"},"& .LegendViewBox":{transform:"translate(0, 0)"},"& text":{fontSize:theme.typography.body2.fontSize,fontFamily:theme.typography.body2.fontFamily,fill:theme.palette.text.primary},"& .legendTitle":{display:"none"},"& .role-legend-title":{display:"none"},"& .role-legend-entry > g":{transform:"translate(0, 0)"},"& .role-mark":{display:"none"},"& .role-legend > g":{transform:"translate(0, 0)"},"& .legendCells":{opacity:0,transition:"opacity 0.2s ease"},"& .LegendExpanded .legendCells":{opacity:1},"& .LegendExpanded .role-legend-entry":{opacity:1}});if(_isCartesian){return Object(react_["css"])([style,Object(react_["css"])({"@media (min-width: 768px)":{transform:`translateX(${_visible?"0":"-250%"})`,bottom:"auto",right:"auto",left:55,top:30}})])}return style}));const LegendViewContent=Object(src_theme["a"])("div",{name:"LegendViewContent"})({transition:"height 0.2s ease",overflow:"hidden"});const LegendTitleBox=Object(src_theme["a"])(material_["Box"],{name:"LegendTitleBox"})({display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"});const LegendTitleTypography=Object(src_theme["a"])(material_["Typography"],{name:"LegendTitleTypography"})({cursor:"pointer"});const LegendTitleIconButton=Object(src_theme["a"])(material_["IconButton"],{name:"LegendTitleIconButton"})({marginLeft:5});const LegendTitle=_ref=>{let{title,onClick,expanded}=_ref;return Object(jsx_runtime_["jsxs"])(LegendTitleBox,{children:[Object(jsx_runtime_["jsx"])(LegendTitleTypography,{variant:"body1",onClick:()=>onClick(),children:title}),Object(jsx_runtime_["jsxs"])(LegendTitleIconButton,{onClick:()=>onClick(),children:[!expanded&&Object(jsx_runtime_["jsx"])(icons_material_["ExpandMore"],{}),expanded&&Object(jsx_runtime_["jsx"])(icons_material_["ExpandLess"],{})]})]})};class LegendCartesianComponent_LegendCartesianComponent extends PureComponent["a"]{constructor(props){super(props);this._ref=external_react_default.a.createRef();this.view=void 0;this.lastCacheKey="";this.state={expanded:false,visible:false,title:""}}setTitle(title){if(this.state.title!==title){this.setState({title})}}getLayerSpec(layer){var _layer$getTargetRowse,_this$props$rowsetSto,_this$props$rowsetSto2;const rowsetId=(_layer$getTargetRowse=layer.getTargetRowset(this.props.zoom))===null||_layer$getTargetRowse===void 0?void 0:_layer$getTargetRowse.getId();const layerRows=rowsetId?(_this$props$rowsetSto=(_this$props$rowsetSto2=this.props.rowsetStore.getRowset(rowsetId))===null||_this$props$rowsetSto2===void 0?void 0:_this$props$rowsetSto2.rows)!==null&&_this$props$rowsetSto!==void 0?_this$props$rowsetSto:[]:[];return{data:{values:layerRows},mark:layer.mark,encoding:{...layer===null||layer===void 0?void 0:layer.encoding,x:null,y:null,z:null}}}getSpec(){var _this$props$layers$fi;return{background:null,height:0,width:0,layer:(_this$props$layers$fi=this.props.layers.filter((layer=>layer.isVega())).map((layerSpec=>this.getLayerSpec(layerSpec))))!==null&&_this$props$layers$fi!==void 0?_this$props$layers$fi:[]}}createCacheKey(inputSpec){const dataKeys=inputSpec.layer.reduce(((key,layer)=>{var _layer$data,_layer$data$values;return`${key}_${(_layer$data=layer.data)===null||_layer$data===void 0?void 0:(_layer$data$values=_layer$data.values)===null||_layer$data$values===void 0?void 0:_layer$data$values.etag}`}),"");return`${dataKeys}_${this.state.expanded}_${this.state.visible}`}shouldRecreate(inputSpec){const cacheKey=this.createCacheKey(inputSpec);if(cacheKey===this.lastCacheKey)return false;this.lastCacheKey=cacheKey;return true}async createLegend(){var _innerHTML,_svgElm$select$node,_d3$select$select$nod;const inputSpec=this.getSpec();if(!this.shouldRecreate(inputSpec))return;const vegaSpec=external_vega_lite_["compile"](inputSpec);if(!vegaSpec||!vegaSpec.spec)return;const runtime=external_vega_["parse"](vegaSpec.spec);this.view=await new external_vega_["View"](runtime,{renderer:"svg",container:this._ref.current}).runAsync();if(external_d3_["select"](this._ref.current).select("g.role-legend").empty()&&this._ref.current){return this.setState({visible:false})}else if(!this._ref.current){return}this.setState({visible:true});const svgElm=external_d3_["select"](this._ref.current).select("svg");if(!svgElm.empty()&&this.state.expanded){svgElm.node().classList.add("LegendExpanded")}const firstGElm=svgElm.select("g").node();if(firstGElm){firstGElm.style.transform="translate(0, 0)"}const title=(_innerHTML=(_svgElm$select$node=svgElm.select(".role-legend-title text").node())===null||_svgElm$select$node===void 0?void 0:_svgElm$select$node.innerHTML)!==null&&_innerHTML!==void 0?_innerHTML:"";this.setTitle(title);const dimensions=(_d3$select$select$nod=external_d3_["select"](this._ref.current).select(".role-legend-entry").node())===null||_d3$select$select$nod===void 0?void 0:_d3$select$select$nod.getBBox();if(dimensions){this._ref.current.style.height=`${this.state.expanded?dimensions.height:0}px`}}componentDidUpdate(){this.createLegend()}render(){var _this$props$visualiza;if(!this.props.layers.length)return null;return Object(jsx_runtime_["jsxs"])(LegendView,{_isCartesian:(_this$props$visualiza=this.props.visualization)===null||_this$props$visualiza===void 0?void 0:_this$props$visualiza.isCartesian(),_visible:!!this.state.visible,children:[Object(jsx_runtime_["jsx"])(LegendTitle,{title:this.state.title,onClick:()=>this.setState({expanded:!this.state.expanded}),expanded:!!this.state.expanded}),Object(jsx_runtime_["jsx"])(LegendViewContent,{ref:this._ref})]})}}var external_d3_svg_legend_=__webpack_require__(109);var external_d3_svg_legend_default=__webpack_require__.n(external_d3_svg_legend_);var D3Formatter=__webpack_require__(97);var ValueFormatter=__webpack_require__(63);external_d3_svg_legend_default.a.legendColor.prototype.labelFormat=fn=>fn;const d3=__webpack_require__(28);const isLegendCandidate=layer=>{var _layer$encoding$color;if(!layer)return false;if(!((_layer$encoding$color=layer.encoding.color)!==null&&_layer$encoding$color!==void 0&&_layer$encoding$color.field))return false;return!layer.isFixedColor()};const getScale=_ref=>{let{visualization,layers,rowsetStore,zoom,queries,legends,visibleWorldBox}=_ref;if(!visualization)return{};const validLayers=layers.getVisibleFromVisualization(visualization.id,zoom).renderable(rowsetStore.getRowsets());const validLegend=legends.find((legend=>validLayers.some((layer=>legend.layer===layer.name&&layer.belongsToVisualization(legend.visualizationId)))));if(!validLegend)return{};const validLayer=validLayers.find((layer=>layer.name===validLegend.layer));if(!validLayer)return{};if(!isLegendCandidate(validLayer)){return{}}const targetRowset=validLayer.getTargetRowset(zoom);if(!targetRowset)return{};const rowset=rowsetStore.getRowset(targetRowset.getId());if(!rowset)return{};const query=queries.findQuery(rowset.getData());const color=validLayer.encoding.color;const column=query===null||query===void 0?void 0:query.getColumns().get(color.field);if(!column)return{};const scale=color.getScale(rowset.rows,rowset.rows.getFromBox(visibleWorldBox),Object(encoding_src["o"])(color,query===null||query===void 0?void 0:query.getColumns()),encoding_src["b"].hex);return{scale,valueFormatter:Object(ValueFormatter["b"])(column.getType()),columnLabel:column.getLabel(),reversed:color.scale.reverse}};const DEFAULT_INVALID_LABEL_VALUE="___INVALID_LABEL_VALUE___";class LegendGeoComponent_LegendGeoComponent extends external_react_["PureComponent"]{constructor(props){super(props);this._ref=external_react_default.a.createRef();this.state={expanded:false,visible:false,title:""}}setTitle(title){if(title!==this.state.title){this.setState({title})}}removeQuantileDuplicatedValues(scale,_ref2){let{i,domain,generatedLabels}=_ref2;const quantilesWithMin=[domain[0],...scale.quantiles()];const isSameAsNext=i<quantilesWithMin.length+1?quantilesWithMin[i]===quantilesWithMin[i+1]:false;if(isSameAsNext)return DEFAULT_INVALID_LABEL_VALUE;return generatedLabels[i]}formatLabels(scale,_ref3){let{i,domain,generatedLabels}=_ref3;const isQuantile=!!scale.quantiles;if(isQuantile)return this.removeQuantileDuplicatedValues(scale,{i,domain,generatedLabels});return generatedLabels[i]}removeInvalidValues(){for(var _len=arguments.length,filterParams=new Array(_len),_key=0;_key<_len;_key++){filterParams[_key]=arguments[_key]}const[cell]=filterParams;return cell.label!==DEFAULT_INVALID_LABEL_VALUE}renderLegend(){const{scale,valueFormatter,columnLabel,reversed}=getScale({layers:this.props.layers,rowsetStore:this.props.rowsetStore,zoom:this.props.zoom,visualization:this.props.visualization,queries:this.props.queries,legends:this.props.legends,visibleWorldBox:this.props.visibleWorldBox});const svgElm=d3.select(this._ref.current).select("svg");if(svgElm.empty()){d3.select(this._ref.current).append("svg")}const svg=d3.select(this._ref.current).select("svg");d3.select(this._ref.current).selectAll("g").remove();if(!scale){return this.setState({visible:false})}else if(!this._ref.current){return}this.setState({visible:true});let stringFormat="";if(valueFormatter instanceof D3Formatter["a"]){var _valueFormatter$getFo;stringFormat=(_valueFormatter$getFo=valueFormatter.getFormatString())!==null&&_valueFormatter$getFo!==void 0?_valueFormatter$getFo:""}const legendBoxClasses=["LegendViewBox"];if(this.state.expanded){legendBoxClasses.push("LegendExpanded")}svg.append("g").attr("class",legendBoxClasses.join(" ")).attr("transform","translate(20, 30)");const legendSettings=external_d3_svg_legend_default.a.legendColor().title(columnLabel!==null&&columnLabel!==void 0?columnLabel:"").shapeWidth(15).orient("vertical").ascending(!reversed).labelFormat(d3.format(stringFormat)).labels((props=>this.formatLabels(scale,props))).cellFilter(this.removeInvalidValues).scale(scale);svg.select(".LegendViewBox").call(legendSettings);const title=svg.select(".legendTitle").node().innerHTML;this.setTitle(title);const dimensions=d3.select(this._ref.current).select("svg .legendCells").node().getBBox();if(dimensions){this._ref.current.style.width=`${dimensions.width}px`;this._ref.current.style.height=`${this.state.expanded?dimensions.height:0}px`}}componentDidMount(){this.renderLegend()}componentDidUpdate(){this.renderLegend()}render(){var _this$props$visualiza;return Object(jsx_runtime_["jsxs"])(LegendView,{_isCartesian:(_this$props$visualiza=this.props.visualization)===null||_this$props$visualiza===void 0?void 0:_this$props$visualiza.isCartesian(),_visible:!!this.state.visible,children:[Object(jsx_runtime_["jsx"])(LegendTitle,{title:this.state.title,onClick:()=>this.setState({expanded:!this.state.expanded}),expanded:this.state.expanded}),Object(jsx_runtime_["jsx"])(LegendViewContent,{ref:this._ref})]})}}const LegendComponent=props=>{var _props$visualization,_props$visualization2;if((_props$visualization=props.visualization)!==null&&_props$visualization!==void 0&&_props$visualization.isCartesian()){return Object(jsx_runtime_["jsx"])(LegendCartesianComponent_LegendCartesianComponent,{...props})}else if((_props$visualization2=props.visualization)!==null&&_props$visualization2!==void 0&&_props$visualization2.isGeo()){return Object(jsx_runtime_["jsx"])(LegendGeoComponent_LegendGeoComponent,{...props})}return null};const LegendContainer_layersSelector=_ref=>{let{layers}=_ref;return layers};const visualizationSelector=_ref2=>{let{visualizations}=_ref2;return visualizations};const viewStatesSelector=_ref3=>{let{viewStates}=_ref3;return viewStates};const worldsSelector=_ref4=>{let{worlds}=_ref4;return worlds};const LegendContainer_currentVisualizationSelector=Object(external_reselect_["createSelector"])([visualizationSelector],(visualizations=>visualizations.getCurrent()));const currentLayersSelector=Object(external_reselect_["createSelector"])([LegendContainer_layersSelector,LegendContainer_currentVisualizationSelector],((layers,currentVisualization)=>layers.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const currentViewStateSelector=Object(external_reselect_["createSelector"])([viewStatesSelector,LegendContainer_currentVisualizationSelector],((viewStates,currentVisualization)=>viewStates.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const currentWorldSelector=Object(external_reselect_["createSelector"])([worldsSelector,LegendContainer_currentVisualizationSelector],((worlds,currentVisualization)=>worlds.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const LegendContainer_viewStateSelector=Object(external_reselect_["createSelector"])([currentViewStateSelector,currentWorldSelector],((viewState,world)=>{const zoom=Number(viewState.zoom.toFixed(0));const visibleWorldBox=viewState.getVisibleWorld(world);return{zoom,visibleWorldBox}}));const LegendContainer=()=>{const rowsetStore=Object(Store["d"])((store=>store.rowsetStore));const queries=Object(Store["d"])((store=>store.queryStore.queries));const legends=Object(Store["d"])((store=>store.legends));const layers=Object(Store["d"])(currentLayersSelector);const visualization=Object(Store["d"])(LegendContainer_currentVisualizationSelector);const{zoom,visibleWorldBox}=Object(Store["d"])(LegendContainer_viewStateSelector);return Object(jsx_runtime_["jsx"])(LegendComponent,{layers,visualization,rowsetStore,zoom,queries,legends,visibleWorldBox})};const CustomView=Object(src_theme["a"])("div",{name:"CustomView"})((_ref=>{let{theme}=_ref;return{padding:`70px 3.5rem ${theme.shape.paddingInner}px ${theme.shape.paddingInner}px`,height:"100%","@media (min-width: 768px)":{paddingTop:theme.shape.paddingInner}}}));class CustomViewComponent_CustomViewComponent extends PureComponent["a"]{constructor(props){super(props);this.viewLayerCache=void 0;this.viewLayerCache=new Map}componentDidMount(){this.props.onViewLoad()}getViewLayers(){return createViewLayers({visualization:this.props.currentVisualization,layers:this.props.layers.getFromVisualization(this.props.currentVisualization.id).renderable(this.props.rowsetStore.getRowsets()),queries:this.props.queries,rowsetStore:this.props.rowsetStore,visibleWorldBox:this.props.visibleWorldBox,zoom:0,encodingScope:this.props.encodingScope,themeMode:"light"})}render(){return Object(jsx_runtime_["jsx"])(CustomView,{children:this.getViewLayers()})}}const CustomViewContainer=()=>{const dispatch=Object(Store["c"])();const visualizations=Object(Store["d"])((store=>store.visualizations));const layers=Object(Store["d"])((store=>store.layers));const queries=Object(Store["d"])((store=>store.queryStore.queries));const rowsetStore=Object(Store["d"])((store=>store.rowsetStore));const currentVisualization=Object(Store["d"])((store=>store.visualizations.getCurrent()));const encodingScope=Object(Store["d"])((store=>store.encodingScope));const visibleWorldBox=Object(Store["d"])((store=>{var _getFromVisualization,_store$visualizations;return store.visualizations.getCurrent()&&((_getFromVisualization=store.worlds.getFromVisualization((_store$visualizations=store.visualizations.getCurrent())===null||_store$visualizations===void 0?void 0:_store$visualizations.id))===null||_getFromVisualization===void 0?void 0:_getFromVisualization.box())}));const onViewLoad=()=>{const currentVisualization=visualizations.getCurrent();if(!currentVisualization)return;if(visualizations.getCurrentIndex()>0){dispatch(Actions["a"].view.jumpViewLoaded({visualizationId:currentVisualization.id}))}else{dispatch(Actions["a"].view.viewLoaded({visualizationId:currentVisualization.id}))}};return Object(jsx_runtime_["jsx"])(CustomViewComponent_CustomViewComponent,{layers,queries,rowsetStore,currentVisualization,encodingScope,visibleWorldBox,onViewLoad})};var external_react_transition_group_=__webpack_require__(68);var ViewTransition_module=__webpack_require__(42);var ViewTransition_module_default=__webpack_require__.n(ViewTransition_module);const dotBricksKeyframes=react_["keyframes"]`
|
|
2
|
+
module.exports=function(modules){function webpackJsonpCallback(data){var chunkIds=data[0];var moreModules=data[1];var prefetchChunks=data[3]||[];var moduleId,chunkId,i=0,resolves=[];for(;i<chunkIds.length;i++){chunkId=chunkIds[i];if(Object.prototype.hasOwnProperty.call(installedChunks,chunkId)&&installedChunks[chunkId]){resolves.push(installedChunks[chunkId][0])}installedChunks[chunkId]=0}for(moduleId in moreModules){if(Object.prototype.hasOwnProperty.call(moreModules,moduleId)){modules[moduleId]=moreModules[moduleId]}}if(parentJsonpFunction)parentJsonpFunction(data);prefetchChunks.forEach((function(chunkId){if(installedChunks[chunkId]===undefined){installedChunks[chunkId]=null;var link=document.createElement("link");if(__webpack_require__.nc){link.setAttribute("nonce",__webpack_require__.nc)}link.rel="prefetch";link.as="script";link.href=jsonpScriptSrc(chunkId);document.head.appendChild(link)}}));while(resolves.length){resolves.shift()()}}var installedModules={};var installedChunks={0:0};function jsonpScriptSrc(chunkId){return __webpack_require__.p+""+chunkId+".index.js"}function __webpack_require__(moduleId){if(installedModules[moduleId]){return installedModules[moduleId].exports}var module=installedModules[moduleId]={i:moduleId,l:false,exports:{}};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.l=true;return module.exports}__webpack_require__.e=function requireEnsure(){return Promise.resolve()};__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.d=function(exports,name,getter){if(!__webpack_require__.o(exports,name)){Object.defineProperty(exports,name,{enumerable:true,get:getter})}};__webpack_require__.r=function(exports){if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(exports,"__esModule",{value:true})};__webpack_require__.t=function(value,mode){if(mode&1)value=__webpack_require__(value);if(mode&8)return value;if(mode&4&&typeof value==="object"&&value&&value.__esModule)return value;var ns=Object.create(null);__webpack_require__.r(ns);Object.defineProperty(ns,"default",{enumerable:true,value});if(mode&2&&typeof value!="string")for(var key in value)__webpack_require__.d(ns,key,function(key){return value[key]}.bind(null,key));return ns};__webpack_require__.n=function(module){var getter=module&&module.__esModule?function getDefault(){return module["default"]}:function getModuleExports(){return module};__webpack_require__.d(getter,"a",getter);return getter};__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)};__webpack_require__.p="";__webpack_require__.oe=function(err){console.error(err);throw err};var jsonpArray=window["webpackJsonp"]=window["webpackJsonp"]||[];var oldJsonpFunction=jsonpArray.push.bind(jsonpArray);jsonpArray.push=webpackJsonpCallback;jsonpArray=jsonpArray.slice();for(var i=0;i<jsonpArray.length;i++)webpackJsonpCallback(jsonpArray[i]);var parentJsonpFunction=oldJsonpFunction;var startupResult=function(){return __webpack_require__(__webpack_require__.s=148)}();webpackJsonpCallback([[],{},0,[0]]);return startupResult}([function(module,__webpack_exports__,__webpack_require__){"use strict";var external_typesafe_actions_=__webpack_require__(1);const actions={analyticsEvent:Object(external_typesafe_actions_["createAction"])("WA_EVENT")()};var GAActions=actions;const AppActions_actions={fetch:Object(external_typesafe_actions_["createAsyncAction"])("FETCH_APP_REQUEST","FETCH_APP_SUCCESS","FETCH_APP_FAILURE")(),pageLoaded:Object(external_typesafe_actions_["createAction"])("APP_PAGE_LOADED")(),restoreVersion:Object(external_typesafe_actions_["createAsyncAction"])("RESTORE_APP_VERSION_REQUEST","RESTORE_APP_VERSION_SUCCESS","RESTORE_APP_VERSION_FAILURE")(),checkoutVersion:Object(external_typesafe_actions_["createAction"])("CHECKOUT_APP_VERSION_REQUEST")(),discardChanges:{request:Object(external_typesafe_actions_["createAction"])("DISCARD_APP_CHANGES_REQUEST")()}};var AppActions=AppActions_actions;var AuthActions=__webpack_require__(84);const EntityActions_actions={rowChanged:Object(external_typesafe_actions_["createAction"])("ENTITY_ROW_CHANGED")(),rowPlaced:Object(external_typesafe_actions_["createAction"])("ENTITY_ROW_PLACED")(),rowUnplaced:Object(external_typesafe_actions_["createAction"])("ENTITY_ROW_UNPLACED")(),fetch:Object(external_typesafe_actions_["createAsyncAction"])("ENTITY_FETCH_REQUEST","ENTITY_FETCH_SUCCESS","ENTITY_FETCH_FAILURE")(),refresh:Object(external_typesafe_actions_["createAction"])("ENTITY_REFRESH")(),tabLoaded:Object(external_typesafe_actions_["createAction"])("ENTITY_TAB_LOADED")(),search:Object(external_typesafe_actions_["createAction"])("ENTITY_SEARCH")(),placingRowsClick:Object(external_typesafe_actions_["createAction"])("ENTITY_PLACING_ROWS_CLICKED")(),onEntityRowClick:Object(external_typesafe_actions_["createAction"])("ENTITY_NAVIGATE_TO_POSITION")(),navigateToInitialRow:Object(external_typesafe_actions_["createAction"])("ENTITY_NAVIGATE_TO_INITIAL_ROW_FAILURE")(),paginate:Object(external_typesafe_actions_["createAction"])("ENTITY_PAGINATE")(),move:Object(external_typesafe_actions_["createAction"])("ENTITY_MOVE")(),delete:Object(external_typesafe_actions_["createAction"])("ENTITY_DELETE")(),selected:Object(external_typesafe_actions_["createAction"])("ENTITY_SELECT")(),codeChanged:Object(external_typesafe_actions_["createAction"])("ENTITY_CODE_CHANGED")(),nameChanged:Object(external_typesafe_actions_["createAction"])("ENTITY_NAME_CHANGED")(),iconChanged:Object(external_typesafe_actions_["createAction"])("ENTITY_ICON_CHANGED")(),dataSourceChanged:Object(external_typesafe_actions_["createAction"])("ENTITY_DATA_SOURCE_CHANGED")(),queryChanged:Object(external_typesafe_actions_["createAction"])("ENTITY_QUERY_CHANGED")(),primaryFieldChanged:Object(external_typesafe_actions_["createAction"])("ENTITY_PRIMARY_FIELD_CHANGED")(),secondaryFieldChanged:Object(external_typesafe_actions_["createAction"])("ENTITY_SECONDARY_FIELD_CHANGED")(),iconFieldChanged:Object(external_typesafe_actions_["createAction"])("ENTITY_ICON_FIELD_CHANGED")(),layerChanged:Object(external_typesafe_actions_["createAction"])("ENTITY_LAYER_CHANGED")(),zoomChanged:Object(external_typesafe_actions_["createAction"])("ENTITY_ZOOM_CHANGED")(),zoomBoundsFieldChanged:Object(external_typesafe_actions_["createAction"])("ENTITY_ZOOM_BOUNDS_FIELD_CHANGED")(),bearingFieldChanged:Object(external_typesafe_actions_["createAction"])("ENTITY_BEARING_FIELD_CHANGED")(),create:Object(external_typesafe_actions_["createAsyncAction"])("ENTITY_CREATE_REQUEST","ENTITY_CREATE_SUCCESS","ENTITY_CREATE_FAILURE")(),rowsetFilterChanged:Object(external_typesafe_actions_["createAction"])("ENTITY_ROWSET_FILTER_CHANGED")(),undoRequest:Object(external_typesafe_actions_["createAction"])("ENTITY_UNDO_REQUEST")()};var EntityActions=EntityActions_actions;const QueryActions_actions={dataListUpdated:Object(external_typesafe_actions_["createAction"])("DATA_LIST_UPDATED")(),fetch:Object(external_typesafe_actions_["createAsyncAction"])("FETCH_QUERIES_REQUEST","FETCH_QUERIES_SUCCESS","FETCH_QUERIES_FAILURE")()};var QueryActions=QueryActions_actions;const FilterActions_actions={sidebarFiltersClear:Object(external_typesafe_actions_["createAction"])("SIDEBAR_FILTERS_CLEAR")(),filterToggle:Object(external_typesafe_actions_["createAction"])("FILTER_TOGGLE")(),search:Object(external_typesafe_actions_["createAsyncAction"])("FILTER_SEARCH_REQUEST","FILTER_SEARCH_SUCCESS","FILTER_SEARCH_FAILURE")()};var FilterActions=FilterActions_actions;var HocActions=__webpack_require__(65);const LayerActions_actions={selected:Object(external_typesafe_actions_["createAction"])("LAYER_SELECTED")(),moved:Object(external_typesafe_actions_["createAction"])("LAYER_MOVED")(),deleted:Object(external_typesafe_actions_["createAction"])("LAYER_DELETED")(),changed:Object(external_typesafe_actions_["createAction"])("LAYER_CHANGED")(),visibilityChanged:Object(external_typesafe_actions_["createAction"])("LAYER_VISIBILITY_CHANGED")(),queryChanged:Object(external_typesafe_actions_["createAction"])("LAYER_QUERY_CHANGED")(),positionChanged:Object(external_typesafe_actions_["createAction"])("LAYER_POSITION_CHANGED")(),createDraft:Object(external_typesafe_actions_["createAsyncAction"])("LAYER_CREATE_DRAFT_REQUEST","LAYER_CREATE_DRAFT_SUCCESS","LAYER_CREATE_DRAFT_FAILURE")(),codeChanged:Object(external_typesafe_actions_["createAction"])("LAYER_CODE_CHANGED")(),openGroupsChanged:Object(external_typesafe_actions_["createAction"])("LAYER_OPEN_GROUPS_CHANGED")(),duplicateLayerRequest:Object(external_typesafe_actions_["createAction"])("LAYER_DUPLICATE_REQUEST")()};var LayerActions=LayerActions_actions;const ViewLayerActions_actions={dragStarted:Object(external_typesafe_actions_["createAction"])("LAYER_DRAG_STARTED")(),dragEnded:Object(external_typesafe_actions_["createAction"])("LAYER_DRAG_ENDED")(),click:Object(external_typesafe_actions_["createAction"])("LAYER_CLICK")(),clickOut:Object(external_typesafe_actions_["createAction"])("LAYER_CLICK_OUT")(),mouseHover:Object(external_typesafe_actions_["createAction"])("LAYER_MOUSE_HOVER")(),mouseLeft:Object(external_typesafe_actions_["createAction"])("LAYER_MOUSE_LEFT")()};var ViewLayerActions=ViewLayerActions_actions;const navigationActions={zoomInRequested:Object(external_typesafe_actions_["createAction"])("NAVIGATION_ZOOM_IN_REQUESTED")(),zoomOutRequested:Object(external_typesafe_actions_["createAction"])("NAVIGATION_ZOOM_OUT_REQUESTED")(),floorChangeRequested:Object(external_typesafe_actions_["createAction"])("NAVIGATION_FLOOR_CHANGE_REQUESTED")(),bearingModeToggle:Object(external_typesafe_actions_["createAction"])("NAVIGATION_BEARING_MODE_REQUESTED")(),goToPlace:Object(external_typesafe_actions_["createAction"])("NAVIGATION_GO_TO_PLACE_REQUESTED")()};const LogActions_actions={genericError:Object(external_typesafe_actions_["createAction"])("ERROR")()};var LogActions=LogActions_actions;const RowsetActions_actions={optimisticRowSaved:Object(external_typesafe_actions_["createAction"])("ROWSET_OPTIMISTIC_ROW_SAVED")(),rowSaved:Object(external_typesafe_actions_["createAction"])("ROWSET_ROW_SAVED")(),fetchDataRequested:Object(external_typesafe_actions_["createAction"])("ROWSET_FETCH_DATA_REQUESTED")(),fetch:Object(external_typesafe_actions_["createAsyncAction"])("ROWSET_FETCH_DATA_REQUEST","ROWSET_FETCH_DATA_SUCCESS","ROWSET_FETCH_DATA_FAILURE")(),fetchProgress:Object(external_typesafe_actions_["createAction"])("ROWSET_FETCH_DATA_PROGRESS")()};var RowsetActions=RowsetActions_actions;const ViewActions_actions={viewLoaded:Object(external_typesafe_actions_["createAction"])("VIEW_LOADED")(),viewResized:Object(external_typesafe_actions_["createAction"])("VIEW_RESIZED")(),viewZooming:Object(external_typesafe_actions_["createAction"])("VIEW_ZOOMING")(),viewDragStart:Object(external_typesafe_actions_["createAction"])("VIEW_DRAG_START")(),viewDragEnd:Object(external_typesafe_actions_["createAction"])("VIEW_DRAG_END")()};const UpdateActions_actions={subscribe:Object(external_typesafe_actions_["createAction"])("UPDATE_SUBSCRIBE")()};var UpdateActions=UpdateActions_actions;const visualizationActions={changed:Object(external_typesafe_actions_["createAction"])("VISUALIZATION_CHANGE_REQUESTED")(),setInitialPosition:Object(external_typesafe_actions_["createAction"])("VISUALIZATION_SET_INITIAL_POSITION")(),setMapStyle:Object(external_typesafe_actions_["createAction"])("VISUALIZATION_SET_MAP_STYLE")(),editingToggle:Object(external_typesafe_actions_["createAction"])("VISUALIZATION_EDITING_TOGGLE")(),save:Object(external_typesafe_actions_["createAsyncAction"])("VISUALIZATION_SAVE_REQUEST","VISUALIZATION_SAVE_SUCCESS","VISUALIZATION_SAVE_FAILURE")()};const worldActions={worldCreated:Object(external_typesafe_actions_["createAction"])("WORLD_CREATED")()};const webGLActions={status:Object(external_typesafe_actions_["createAction"])("WEBGL_STATUS")()};const schemaActions={fetch:Object(external_typesafe_actions_["createAsyncAction"])("FETCH_SCHEMA_REQUEST","FETCH_SCHEMA_SUCCESS","FETCH_SCHEMA_FAILURE")()};const toolbarActions={changeScreen:Object(external_typesafe_actions_["createAction"])("TOOLBAR_CHANGE_SCREEN")(),changeScreenSize:Object(external_typesafe_actions_["createAction"])("TOOLBAR_SCREEN_SIZE")(),closeScreen:Object(external_typesafe_actions_["createAction"])("TOOLBAR_CLOSE_SCREEN")()};const detailsActions={openLayerDetails:Object(external_typesafe_actions_["createAction"])("DETAILS_OPEN_TOOLBAR")(),backClicked:Object(external_typesafe_actions_["createAction"])("DETAILS_BACK_CLICKED")(),closeClicked:Object(external_typesafe_actions_["createAction"])("DETAILS_CLOSE_CLICKED")(),zoomRequested:Object(external_typesafe_actions_["createAction"])("DETAILS_ZOOM_REQUESTED")(),modelUpload:Object(external_typesafe_actions_["createAction"])("DETAILS_MODEL_UPLOAD")(),imageUpload:Object(external_typesafe_actions_["createAction"])("DETAILS_IMAGE_UPLOAD")()};const resourceActions={modelUpload:Object(external_typesafe_actions_["createAsyncAction"])("RESOURCE_MODEL_UPLOAD_REQUEST","RESOURCE_MODEL_UPLOAD_SUCCESS","RESOURCE_MODEL_UPLOAD_FAILURE")(),modelUploadProgress:Object(external_typesafe_actions_["createAction"])("RESOURCE_MODEL_UPLOAD_PROGRESS")(),imageUpload:Object(external_typesafe_actions_["createAsyncAction"])("RESOURCE_IMAGE_UPLOAD_REQUEST","RESOURCE_IMAGE_UPLOAD_SUCCESS","RESOURCE_IMAGE_UPLOAD_FAILURE")(),imageUploadProgress:Object(external_typesafe_actions_["createAction"])("RESOURCE_IMAGE_UPLOAD_PROGRESS")(),downloadProgress:Object(external_typesafe_actions_["createAction"])("RESOURCE_DOWNLOAD_PROGRESS")()};const floorActions={valuesFetched:Object(external_typesafe_actions_["createAction"])("ROWSET_FLOOR_VALUES_FETCHED")()};const Actions_actions={analytics:GAActions,app:AppActions,auth:AuthActions["a"],entity:EntityActions,query:QueryActions,filter:FilterActions,hoc:HocActions["a"],layer:LayerActions,navigation:navigationActions,log:LogActions,rowset:RowsetActions,view:ViewActions_actions,viewLayer:ViewLayerActions,update:UpdateActions,visualization:visualizationActions,world:worldActions,webgl:webGLActions,schema:schemaActions,toolbar:toolbarActions,details:detailsActions,resource:resourceActions,floor:floorActions};var Actions=__webpack_exports__["a"]=Actions_actions},function(module,exports){module.exports=require("typesafe-actions")},function(module,exports){module.exports=require("lodash/fp")},function(module,exports){module.exports=require("@redux-saga/core/effects")},function(module,exports){module.exports=require("react/jsx-runtime")},function(module,exports){module.exports=require("react")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"i",(function(){return Row["a"]}));__webpack_require__.d(__webpack_exports__,"k",(function(){return Rows["a"]}));__webpack_require__.d(__webpack_exports__,"h",(function(){return Query_Query}));__webpack_require__.d(__webpack_exports__,"f",(function(){return LogicalOperator}));__webpack_require__.d(__webpack_exports__,"d",(function(){return DatasetService["a"]}));__webpack_require__.d(__webpack_exports__,"e",(function(){return Filters["a"]}));__webpack_require__.d(__webpack_exports__,"g",(function(){return Queries_Queries}));__webpack_require__.d(__webpack_exports__,"a",(function(){return Column["a"]}));__webpack_require__.d(__webpack_exports__,"c",(function(){return Columns["a"]}));__webpack_require__.d(__webpack_exports__,"m",(function(){return Geti["a"]}));__webpack_require__.d(__webpack_exports__,"b",(function(){return ColumnType["a"]}));__webpack_require__.d(__webpack_exports__,"l",(function(){return ValueFormatter["a"]}));__webpack_require__.d(__webpack_exports__,"j",(function(){return RowTranslator["a"]}));var Row=__webpack_require__(50);var Rows=__webpack_require__(74);var initializerDefineProperty=__webpack_require__(12);var applyDecoratedDescriptor=__webpack_require__(11);var initializerWarningHelper=__webpack_require__(35);var external_class_transformer_=__webpack_require__(7);var external_reflect_metadata_=__webpack_require__(48);var Column=__webpack_require__(49);var Columns=__webpack_require__(29);var _dec,_dec2,_class,_descriptor;let Transform_Transform=(_dec=Object(external_class_transformer_["Type"])((()=>Column["a"])),_dec2=Object(external_class_transformer_["Transform"])((_ref=>{let{value}=_ref;return Array.isArray(value)?new Columns["a"](...value):new Columns["a"]})),_class=class Transform{constructor(){this.type=void 0;Object(initializerDefineProperty["a"])(this,"columns",_descriptor,this)}getColumns(){if(!this.columns){return new Columns["a"]}return new Columns["a"](...this.columns)}},_descriptor=Object(applyDecoratedDescriptor["a"])(_class.prototype,"columns",[_dec,_dec2],{configurable:true,enumerable:true,writable:true,initializer:null}),_class);var fp_=__webpack_require__(2);let QueryWriteMode;(function(QueryWriteMode){QueryWriteMode["NONE"]="NONE";QueryWriteMode["UPDATE"]="UPDATE";QueryWriteMode["INSERT"]="INSERT"})(QueryWriteMode||(QueryWriteMode={}));var Query_dec,Query_dec2,_dec3,_dec4,Query_class,Query_descriptor,_descriptor2;let Query_Query=(Query_dec=Object(external_class_transformer_["Type"])((()=>Column["a"])),Query_dec2=Object(external_class_transformer_["Transform"])((_ref=>{let{value}=_ref;return Array.isArray(value)?new Columns["a"](...value):new Columns["a"]})),_dec3=Object(external_class_transformer_["Type"])((()=>Transform_Transform)),_dec4=Object(external_class_transformer_["Transform"])((_ref2=>{let{value}=_ref2;return Array.isArray(value)?value:[]})),Query_class=class Query{constructor(name,dataSource,columns){this.name=void 0;this.dataSource=void 0;this.writeMode=void 0;Object(initializerDefineProperty["a"])(this,"columns",Query_descriptor,this);Object(initializerDefineProperty["a"])(this,"transforms",_descriptor2,this);this.name=name;this.dataSource=dataSource;this.columns=columns!==null&&columns!==void 0?columns:new Columns["a"]}initializeColumns(){if(Object(fp_["isNil"])(this.columns)){this.columns=new Columns["a"]}}getColumns(transformType){this.initializeColumns();const tranform=this.getTransform(transformType);if(tranform){return tranform.getColumns()}return new Columns["a"](...this.columns)}getTransform(type){if(!type){return undefined}return this.transforms?this.transforms.find((transform=>transform.type.toLowerCase()===type.toLowerCase())):undefined}getTransformTypes(){return this.transforms?this.transforms.map((transform=>transform.type)):[]}getDataSource(){return this.dataSource}canUpdate(){return this.writeMode===QueryWriteMode.INSERT||this.writeMode===QueryWriteMode.UPDATE}getName(){return this.name}toQueryKey(){return{query:this.name,source:this.dataSource}}},Query_descriptor=Object(applyDecoratedDescriptor["a"])(Query_class.prototype,"columns",[Query_dec,Query_dec2],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor2=Object(applyDecoratedDescriptor["a"])(Query_class.prototype,"transforms",[_dec3,_dec4],{configurable:true,enumerable:true,writable:true,initializer:null}),Query_class);let LogicalOperator;(function(LogicalOperator){LogicalOperator["OR"]="OR";LogicalOperator["AND"]="AND"})(LogicalOperator||(LogicalOperator={}));var DatasetService=__webpack_require__(76);var Filters=__webpack_require__(82);class Queries_Queries extends Array{findQuery(key){if(!key)return;if(!key.query||!key.source)return;return this.find((q=>q.getName()===key.query&&q.getDataSource()===key.source))}findEntity(key){const query=this.findQuery(key);if(key.transform){return query===null||query===void 0?void 0:query.getTransform(key.transform)}return query}getColumns(key){const entity=this.findEntity(key);if(entity){return entity.columns}return new Columns["a"]}getColumn(queryKey,columnName){return this.getColumns(queryKey).find((column=>column.name===columnName))}}var Geti=__webpack_require__(60);var ColumnType=__webpack_require__(26);var ValueFormatter=__webpack_require__(59);var BoxToFilter=__webpack_require__(83);var RowTranslator=__webpack_require__(75)},function(module,exports){module.exports=require("class-transformer")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Bounds_Bounds}));__webpack_require__.d(__webpack_exports__,"e",(function(){return Range}));__webpack_require__.d(__webpack_exports__,"b",(function(){return Box}));__webpack_require__.d(__webpack_exports__,"d",(function(){return Point}));__webpack_require__.d(__webpack_exports__,"c",(function(){return Coordinates}));__webpack_require__.d(__webpack_exports__,"f",(function(){return getPolygonBearing}));let PointEnum;(function(PointEnum){PointEnum[PointEnum["x"]=0]="x";PointEnum[PointEnum["y"]=1]="y"})(PointEnum||(PointEnum={}));class Point extends Array{constructor(){for(var _len=arguments.length,point=new Array(_len),_key=0;_key<_len;_key++){point[_key]=arguments[_key]}super(...[point[PointEnum.x],point[PointEnum.y]])}getX(){return this[PointEnum.x]}getY(){return this[PointEnum.y]}}var invariant_=__webpack_require__(45);var bearing_=__webpack_require__(66);var bearing_default=__webpack_require__.n(bearing_);var helpers_=__webpack_require__(17);var projection_=__webpack_require__(100);var centroid_=__webpack_require__(37);var centroid_default=__webpack_require__.n(centroid_);var transform_rotate_=__webpack_require__(55);var transform_rotate_default=__webpack_require__.n(transform_rotate_);var bbox_=__webpack_require__(85);var bbox_default=__webpack_require__.n(bbox_);var bbox_polygon_=__webpack_require__(86);var bbox_polygon_default=__webpack_require__.n(bbox_polygon_);var src=__webpack_require__(13);var rewind_=__webpack_require__(77);var rewind_default=__webpack_require__.n(rewind_);let BoundPointEnum;(function(BoundPointEnum){BoundPointEnum[BoundPointEnum["bottomLeft"]=0]="bottomLeft";BoundPointEnum[BoundPointEnum["topLeft"]=1]="topLeft";BoundPointEnum[BoundPointEnum["topRight"]=2]="topRight";BoundPointEnum[BoundPointEnum["bottomRight"]=3]="bottomRight"})(BoundPointEnum||(BoundPointEnum={}));class Bounds_Bounds extends Array{constructor(){super(...[new Point(...arguments.length<=0?undefined:arguments[0]),new Point(...arguments.length<=1?undefined:arguments[1]),new Point(...arguments.length<=2?undefined:arguments[2]),new Point(...arguments.length<=3?undefined:arguments[3])])}static fromPlain(bounds){if(bounds.length<4||bounds.length>5){throw new Error(Object(src["a"])("BOUNDS_MUST_HAVE_4_OR_5_POINTS"))}return new Bounds_Bounds(...bounds)}static fromGeoJSON(polygon){const coordinatesList=Object(invariant_["getCoords"])(polygon);const coordinates=coordinatesList[0];if((coordinates===null||coordinates===void 0?void 0:coordinates.length)!==5){throw new Error(Object(src["a"])("POLYGON_MUST_HAVE_EXACTLY_5_POINTS"))}return Bounds_Bounds.fromPlain([coordinates[0],coordinates[1],coordinates[2],coordinates[3]])}static fromFeatureCollection(collection){return this.fromGeoJSON(collection[0])}static fromGeometry(geometry){const polygon=Object(helpers_["polygon"])([geometry]);const normalizedPolygon=rewind_default()(polygon,{reverse:true});const coordinates=Object(invariant_["getCoords"])(normalizedPolygon)[0];const bottomLeftPoint=Object(helpers_["point"])(coordinates[0]);const topLeftPoint=Object(helpers_["point"])(coordinates[1]);const bearing=bearing_default()(bottomLeftPoint,topLeftPoint);const rotatedPolygon=transform_rotate_default()(normalizedPolygon,bearing*-1);const rotatedBBox=bbox_default()(rotatedPolygon);const rotatedBBoxPolygon=rewind_default()(bbox_polygon_default()(rotatedBBox),{reverse:true});const bboxPolygon=transform_rotate_default()(rotatedBBoxPolygon,bearing);return this.fromGeoJSON(bboxPolygon)}toGeoJSON(){const coordinates=[[this[0],this[1],this[2],this[3],this[0]]];const polygon=Object(helpers_["polygon"])(coordinates);return polygon}toFeatureCollection(){return Object(helpers_["featureCollection"])([this.toGeoJSON()])}toPolygon(){return[this[0],this[1],this[2],this[3],this[0]]}getTopRight(){return this[BoundPointEnum.topRight]}getTopLeft(){return this[BoundPointEnum.topLeft]}getBottomRight(){return this[BoundPointEnum.bottomRight]}getBottomLeft(){return this[BoundPointEnum.bottomLeft]}getBearing(){return bearing_default()(this.getTopRight(),this.getTopLeft())+90}getCentroid(){const coords=Object(invariant_["getCoords"])(centroid_default()(this.toGeoJSON()));return new Point(...coords)}extrudeKeepingWidth(refWidth,refHeight){const mercatorBounds=Bounds_Bounds.fromGeoJSON(Object(projection_["toMercator"])(this.toGeoJSON()));const adjacentLeg=mercatorBounds.getTopRight().getX()-mercatorBounds.getTopLeft().getX();const oppositeLeg=mercatorBounds.getTopRight().getY()-mercatorBounds.getTopLeft().getY();const ratio=refWidth/refHeight;const newWidth=Math.sqrt(Math.pow(adjacentLeg,2)+Math.pow(oppositeLeg,2));const newHeight=newWidth/ratio;const x1=mercatorBounds.getCentroid().getX()-newWidth/2;const y1=mercatorBounds.getCentroid().getY()-newHeight/2;const x2=mercatorBounds.getCentroid().getX()+newWidth/2;const y2=mercatorBounds.getCentroid().getY()+newHeight/2;const newBounds=Bounds_Bounds.fromPlain([[x1,y1],[x1,y2],[x2,y2],[x2,y1]]);const wsg84Rect=Object(projection_["toWgs84"])(newBounds.toGeoJSON());const rotatedGeoJSONPolygon=transform_rotate_default()(wsg84Rect,this.getBearing());return Bounds_Bounds.fromGeoJSON(rotatedGeoJSONPolygon)}normalizeBearing(){const boundsPolygon=this.toGeoJSON();const bottomLeftPoint=Object(helpers_["point"])(this.getBottomLeft());const topLeftPoint=Object(helpers_["point"])(this.getTopLeft());const bearing=bearing_default()(bottomLeftPoint,topLeftPoint);const rotatedPolygon=transform_rotate_default()(boundsPolygon,bearing*-1);return Bounds_Bounds.fromGeoJSON(rotatedPolygon)}}class Range{constructor(){let{min,max}=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};this.min=void 0;this.max=void 0;this.min=min;this.max=max}hasValues(){return this.min!==undefined||this.max!==undefined}getInterval(){return Math.abs(this.getMax()-this.getMin())}getCount(){return this.getMax()-this.getMin()+1}multiply(multiplier){const intervalDelta=this.getInterval()*multiplier-this.getInterval();return new Range({min:this.getMin()-intervalDelta/2,max:this.getMax()+intervalDelta/2})}getMin(){if(this.min===undefined)return Number.MIN_SAFE_INTEGER;return this.min}getMax(){if(this.max===undefined)return Number.MAX_SAFE_INTEGER;return this.max}isInRange(value){if(value===undefined)return false;return value>=this.getMin()&&value<this.getMax()}toPlain(){return[this.getMin(),this.getMax()]}}class Box{constructor(_ref){let{x,y,z}=_ref;this.x=void 0;this.y=void 0;this.z=void 0;this.x=x;this.y=y;this.z=z}isPointInRange(point){return this.x.isInRange(point.x)&&this.y.isInRange(point.y)}getDimensions(){return{width:this.x.getInterval(),height:this.y.getInterval()}}getPolygon(){return[[this.x.getMin(),this.y.getMin()],[this.x.getMax(),this.y.getMin()],[this.x.getMax(),this.y.getMax()],[this.x.getMin(),this.y.getMax()],[this.x.getMin(),this.y.getMin()]]}multiply(factor){return new Box({x:this.x.multiply(factor),y:this.y.multiply(factor),z:this.z})}bottomLeft(){return[this.x.getMin(),this.y.getMin()]}topRight(){return[this.x.getMax(),this.y.getMax()]}}class Coordinates{constructor(){let props=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};this.x=void 0;this.y=void 0;this.z=void 0;this.default=void 0;if(!props){props={}}this.x=props.x;this.y=props.y;this.z=props.z;if(props.longitude)this.x=props.longitude;if(props.latitude)this.y=props.latitude;if(!this.x){this.x=0;this.default=true}if(!this.y){this.y=0;this.default=true}if(!this.z){this.z=0}}static fromArray(xyz){return new Coordinates({x:xyz[0],y:xyz[1],z:xyz[2]})}isAtOrigin(){return this.x===0&&this.y===0}toArray(){return[this.x,this.y,this.z]}move(xMoveDelta,yMoveDelta,zMoveDelta){if(xMoveDelta)this.x=this.x+xMoveDelta;if(yMoveDelta)this.y=this.y+yMoveDelta;if(zMoveDelta)this.z=this.z+zMoveDelta}}const getPolygonBearing=polygonLike=>{const polygon=Object(helpers_["polygon"])([polygonLike]);const normalizedPolygon=rewind_default()(polygon,{reverse:true});const coordinates=Object(invariant_["getCoords"])(normalizedPolygon)[0];const pointA=Object(helpers_["point"])(coordinates[0]);const pointB=Object(helpers_["point"])(coordinates[1]);return bearing_default()(pointA,pointB)}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return StoreContext}));__webpack_require__.d(__webpack_exports__,"d",(function(){return useSelector}));__webpack_require__.d(__webpack_exports__,"c",(function(){return useDispatch}));var external_reflect_metadata_=__webpack_require__(48);var external_react_=__webpack_require__(5);var external_react_default=__webpack_require__.n(external_react_);var external_redux_=__webpack_require__(71);var external_react_redux_=__webpack_require__(52);var core_=__webpack_require__(110);var core_default=__webpack_require__.n(core_);var external_redux_persist_=__webpack_require__(111);var src=__webpack_require__(16);var external_socket_io_client_=__webpack_require__(112);var external_socket_io_client_default=__webpack_require__.n(external_socket_io_client_);var Actions=__webpack_require__(0);var config_src=__webpack_require__(15);var initializerDefineProperty=__webpack_require__(12);var applyDecoratedDescriptor=__webpack_require__(11);var initializerWarningHelper=__webpack_require__(35);var external_class_transformer_=__webpack_require__(7);var _dec,_class,_descriptor;let Data_Data=(_dec=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),_class=class Data{constructor(props){this.source=void 0;this.query=void 0;Object(initializerDefineProperty["a"])(this,"smartLoad",_descriptor,this);Object.assign(this,props)}isEqual(data){return data.source===this.source&&data.query===this.query}},_descriptor=Object(applyDecoratedDescriptor["a"])(_class.prototype,"smartLoad",[_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),_class);class UpdateWatcher_UpdateWatcher{onQueryUpdate(queries){const dataList=queries.map((query=>new Data_Data({query:query.name,source:query.dataSource})));UpdateWatcher_UpdateWatcher.dispatcher(Actions["a"].query.dataListUpdated({dataList}))}constructor(){this.socket=void 0;UpdateWatcher_UpdateWatcher.dispatcher({type:"WATCHER_INIT"});this.socket=external_socket_io_client_default()(config_src["a"].getValue("WATCHER_API_ADDRESS"));this.socket.on("QUERY_UPDATED",(message=>this.onQueryUpdate(message)))}subscribe(queries,tenant){const simplifiedQueries=queries.map((query=>({name:query.name,dataSource:query.dataSource})));this.socket.emit("SUBSCRIBE",{queries:simplifiedQueries,tenant})}static configure(dispatcher){UpdateWatcher_UpdateWatcher.dispatcher=dispatcher}static init(){UpdateWatcher_UpdateWatcher.instance=new UpdateWatcher_UpdateWatcher}static getInstance(){if(!UpdateWatcher_UpdateWatcher.instance)UpdateWatcher_UpdateWatcher.init();return UpdateWatcher_UpdateWatcher.instance}}UpdateWatcher_UpdateWatcher.instance=void 0;UpdateWatcher_UpdateWatcher.dispatcher=void 0;function getInitialState(childReducers,state,action){const reducedInitialState={};for(const key in childReducers){if({}.hasOwnProperty.call(childReducers,key)){reducedInitialState[key]=childReducers[key](undefined,action)}}return reducedInitialState}function getChildrenState(childReducers,state,action){const reducedState={...state};for(const key in childReducers){if({}.hasOwnProperty.call(childReducers,key)){reducedState[key]=childReducers[key](state[key],action,state)}}return reducedState}function reducer(childReducers){return function(state,action){if(state==null){return getInitialState(childReducers,state,action)}return getChildrenState(childReducers,state,action)}}var effects_=__webpack_require__(3);var GA=__webpack_require__(97);var external_slugify_=__webpack_require__(113);var external_slugify_default=__webpack_require__.n(external_slugify_);const formatName=name=>external_slugify_default()(name,{replacement:"_",lower:true,strict:true});function*notifyLogin(){GA["a"].login("auth0");yield}const getPageName=action=>{var _action$payload$autho;if((_action$payload$autho=action.payload.authorization)!==null&&_action$payload$autho!==void 0&&_action$payload$autho.tenant){var _action$payload$autho2;return`${action.payload.app.name} - ${(_action$payload$autho2=action.payload.authorization)===null||_action$payload$autho2===void 0?void 0:_action$payload$autho2.tenant}`}return action.payload.app.name};const getPagePath=action=>{var _window,_window$location,_action$payload$autho3;if((_window=window)!==null&&_window!==void 0&&(_window$location=_window.location)!==null&&_window$location!==void 0&&_window$location.search){var _window2,_window2$location;return(_window2=window)===null||_window2===void 0?void 0:(_window2$location=_window2.location)===null||_window2$location===void 0?void 0:_window2$location.search}else if((_action$payload$autho3=action.payload.authorization)!==null&&_action$payload$autho3!==void 0&&_action$payload$autho3.tenant){var _action$payload$autho4;return`/app/${(_action$payload$autho4=action.payload.authorization)===null||_action$payload$autho4===void 0?void 0:_action$payload$autho4.tenant}/${action.payload.app.name}`}return`/app/${action.payload.app.name}`};function*notifyPageView(action){GA["a"].pageview(getPageName(action),getPagePath(action));yield}function*notifyEngagement(action){const event={action:formatName(action.payload.event),label:action.payload.event,category:"engagement",value:action.payload.value||1};GA["a"].custom(event);yield}function*notifyViewZooming(action){yield notifyEngagement(Actions["a"].analytics.analyticsEvent({event:`View: Zoom ${action.payload.direction}`}))}function*notifyViewDragging(){yield notifyEngagement(Actions["a"].analytics.analyticsEvent({event:`View: Drag`}))}const analyticsSagas=[Object(effects_["debounce"])(100,Actions["a"].view.viewZooming,notifyViewZooming),Object(effects_["takeEvery"])(Actions["a"].analytics.analyticsEvent,notifyEngagement),Object(effects_["takeEvery"])(Actions["a"].app.fetch.success,notifyPageView),Object(effects_["takeEvery"])(Actions["a"].auth.signedIn,notifyLogin),Object(effects_["takeLatest"])(Actions["a"].view.viewDragEnd,notifyViewDragging)];var AnimationEngine=__webpack_require__(38);const animationSagas=[Object(effects_["takeLatest"])(Actions["a"].layer.changed,AnimationEngine["b"]),Object(effects_["takeLatest"])(Actions["a"].layer.codeChanged,AnimationEngine["b"])];var http_client_src=__webpack_require__(25);var fp_=__webpack_require__(2);var dataset_src=__webpack_require__(6);var App_dec,_dec2,App_class,App_descriptor,_descriptor2;let App_App=(App_dec=Object(external_class_transformer_["Expose"])(),_dec2=Object(external_class_transformer_["Expose"])(),App_class=class App{constructor(props){Object(initializerDefineProperty["a"])(this,"id",App_descriptor,this);Object(initializerDefineProperty["a"])(this,"name",_descriptor2,this);Object.assign(this,props)}},App_descriptor=Object(applyDecoratedDescriptor["a"])(App_class.prototype,"id",[App_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor2=Object(applyDecoratedDescriptor["a"])(App_class.prototype,"name",[_dec2],{configurable:true,enumerable:true,writable:true,initializer:null}),App_class);var Visualization=__webpack_require__(30);var encoding_src=__webpack_require__(14);var external_case_=__webpack_require__(51);var external_case_default=__webpack_require__.n(external_case_);var external_uuid_=__webpack_require__(88);var Entity_dec,Entity_class,Entity_descriptor;const DEFAULT_ENTITY_NAVIGATE_ZOOM=1;let Entity_Entity=(Entity_dec=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),Entity_class=class Entity{constructor(props){var _props,_props$id,_this$data,_this$list;this.id=void 0;this.name=void 0;this.icon=void 0;Object(initializerDefineProperty["a"])(this,"visualization",Entity_descriptor,this);this.data=void 0;this.layer=void 0;this.list=void 0;this.navigate=void 0;props=(_props=props)!==null&&_props!==void 0?_props:{};this.id=(_props$id=props.id)!==null&&_props$id!==void 0?_props$id:Object(external_uuid_["v4"])();Object.assign(this,props);this.data=new Data_Data((_this$data=this.data)!==null&&_this$data!==void 0?_this$data:{});this.list=(_this$list=this.list)!==null&&_this$list!==void 0?_this$list:{}}clone(){return new Entity(this)}getId(){return this.id}getName(){if(Object(fp_["isNil"])(this.name)){return external_case_default.a.sentence(this.getQueryName())}return this.name}getIcon(){var _this$icon;return external_case_default.a.kebab((_this$icon=this.icon)!==null&&_this$icon!==void 0?_this$icon:this.getName())}getQueryName(){var _this$data2;return(_this$data2=this.data)===null||_this$data2===void 0?void 0:_this$data2.query}getData(){return this.data}setIconField(iconField){this.list.encoding=new encoding_src["e"]({...this.list.encoding,icon:new encoding_src["h"]({field:iconField})})}},Entity_descriptor=Object(applyDecoratedDescriptor["a"])(Entity_class.prototype,"visualization",[Entity_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),Entity_class);var entity_Entity=Entity_Entity;class Entities_Entities extends Array{clone(){return new Entities_Entities(...this)}getById(id){return this.find((entity=>entity.getId()===id))}getByData(data){return this.find((entity=>entity.data.isEqual(data)))}getByLayer(layerId){return this.find((entity=>entity.layer===layerId))}move(id,steps){const cloned=this.clone();const index=cloned.findIndex((entity=>entity.getId()===id));const entity=cloned[index];cloned.splice(index,1);cloned.splice(index+steps,0,entity);return cloned}delete(id){const cloned=this.clone();const index=cloned.findIndex((entity=>entity.getId()===id));if(cloned[index]){cloned.splice(index,1)}return cloned}upsertEntity(newEntity){const newEntityObj=new entity_Entity(newEntity);const cloned=new Entities_Entities(...this);const index=Object(fp_["findIndex"])((entity=>entity.getId()===newEntity.getId()),this);if(index>-1){cloned.splice(index,1,newEntityObj)}else{const lastPos=cloned.findLastIndex((entity=>entity.visualization===newEntity.visualization));if(lastPos>-1){cloned.splice(lastPos+1,0,newEntityObj)}else{cloned.push(newEntityObj)}}return cloned}immutableSet(id,callback){if(!id)return this;const cloned=this.clone();const index=Object(fp_["findIndex"])((entity=>entity.getId()===id),this);const entity=this[index].clone();callback(entity);cloned.splice(index,1,entity);return cloned}}var entity_Entities=Entities_Entities;class Legend{constructor(){this.layer=void 0;this.visualizationId=void 0}}class Legends extends Array{}class AxesList extends Array{filter(filterFunc){return new AxesList(...super.filter(filterFunc))}}class FetchState{constructor(fetchBox){this.fetchBox=void 0;this.invalidated=void 0;this.fetchBox=fetchBox;this.invalidated=false}getFetchAgainBox(){return this.fetchBox.multiply(.75)}hasReachedUpThreshold(visibleWorldBox){return visibleWorldBox.y.getMax()>this.getFetchAgainBox().y.getMax()}hasReachedRightThreshold(visibleWorldBox){return visibleWorldBox.x.getMax()>this.getFetchAgainBox().x.getMax()}hasReachedDownThreshold(visibleWorldBox){return visibleWorldBox.y.getMin()<this.getFetchAgainBox().y.getMin()}hasReachedLeftThreshold(visibleWorldBox){return visibleWorldBox.x.getMin()<this.getFetchAgainBox().x.getMin()}hasReachedResizeThreshold(visibleWorldDimensions){return visibleWorldDimensions.height>this.getFetchAgainBox().getDimensions().height||visibleWorldDimensions.width>this.getFetchAgainBox().getDimensions().width}invalidate(){this.invalidated=true}shouldFetch(viewState,world){if(this.invalidated){return true}const visibleWorldBox=viewState.getVisibleWorld(world);const visibleWorldDimensions=viewState.getVisibleWorldDimensions(world);if(!visibleWorldBox)return false;return this.hasReachedUpThreshold(visibleWorldBox)||this.hasReachedDownThreshold(visibleWorldBox)||this.hasReachedRightThreshold(visibleWorldBox)||this.hasReachedLeftThreshold(visibleWorldBox)||this.hasReachedResizeThreshold(visibleWorldDimensions)}}const DEFAULT_TABLE_RESOLUTION=0;class Rowset_Rowset{constructor(props){var _props$rows,_props$resolution,_props$scales;this.data=void 0;this.transform=void 0;this.resolution=void 0;this.rows=void 0;this.fetchState=void 0;this.scales=void 0;this.floorField=void 0;Object.assign(this,props);this.rows=(_props$rows=props===null||props===void 0?void 0:props.rows)!==null&&_props$rows!==void 0?_props$rows:new dataset_src["k"];this.resolution=(_props$resolution=props===null||props===void 0?void 0:props.resolution)!==null&&_props$resolution!==void 0?_props$resolution:DEFAULT_TABLE_RESOLUTION;this.scales=(_props$scales=props===null||props===void 0?void 0:props.scales)!==null&&_props$scales!==void 0?_props$scales:new encoding_src["k"]}cleanClone(){return new Rowset_Rowset({...this,rows:undefined,fetchState:undefined})}getId(){var _this$data$query,_this$data,_this$resolution,_this$scales$x$type,_this$scales$x,_this$scales$x$field,_this$scales$x2,_this$scales$y$type,_this$scales$y,_this$scales$y$field,_this$scales$y2,_this$transform$getTy,_this$transform,_this$floorField;const keys=[(_this$data$query=(_this$data=this.data)===null||_this$data===void 0?void 0:_this$data.query)!==null&&_this$data$query!==void 0?_this$data$query:"no-query",(_this$resolution=this.resolution)!==null&&_this$resolution!==void 0?_this$resolution:0,(_this$scales$x$type=(_this$scales$x=this.scales.x)===null||_this$scales$x===void 0?void 0:_this$scales$x.type)!==null&&_this$scales$x$type!==void 0?_this$scales$x$type:"no-x-type",(_this$scales$x$field=(_this$scales$x2=this.scales.x)===null||_this$scales$x2===void 0?void 0:_this$scales$x2.field)!==null&&_this$scales$x$field!==void 0?_this$scales$x$field:"no-x",(_this$scales$y$type=(_this$scales$y=this.scales.y)===null||_this$scales$y===void 0?void 0:_this$scales$y.type)!==null&&_this$scales$y$type!==void 0?_this$scales$y$type:"no-y",(_this$scales$y$field=(_this$scales$y2=this.scales.y)===null||_this$scales$y2===void 0?void 0:_this$scales$y2.field)!==null&&_this$scales$y$field!==void 0?_this$scales$y$field:"no-y-type",(_this$transform$getTy=(_this$transform=this.transform)===null||_this$transform===void 0?void 0:_this$transform.getType())!==null&&_this$transform$getTy!==void 0?_this$transform$getTy:"no-transform",(_this$floorField=this.floorField)!==null&&_this$floorField!==void 0?_this$floorField:"no-floor"];return keys.join("_")}updateRow(row){const index=Object(fp_["findIndex"])({_id:row._id},this.rows);if(index===-1){return this.addRow(row)}else{return this.updateRowByIndex(row,index)}}addRow(row){this.rows.push(row);this.rows.etag=`${this.rows.etag}_${row._id}`;return this}updateRowByIndex(row,index){var _this$rows;if((_this$rows=this.rows)!==null&&_this$rows!==void 0&&_this$rows.length){this.rows.splice(index,1,row);this.rows.etag=`${this.rows.etag}_${1}`}return this}getData(){return this.data}shouldSmartLoad(){if(Object(fp_["isNil"])(this.data.smartLoad)){return true}return this.data.smartLoad}fill(rows,fetchBox){const cloned=this.cleanClone();cloned.rows=rows;if(fetchBox)cloned.fetchState=new FetchState(fetchBox);return cloned}}var spatial_src=__webpack_require__(8);const DEFAULT_RESOLUTION=0;class Resolution_Resolution{constructor(props){this.min=void 0;this.max=void 0;this.availableResolution=void 0;Object.assign(this,props)}getMin(){if(this.availableResolution){if(Object(fp_["isNil"])(this.min)){return this.availableResolution.getMin()}else if(this.min<this.availableResolution.getMin()){return this.availableResolution.getMin()}}return this.min||DEFAULT_RESOLUTION}getMax(){if(this.availableResolution){if(Object(fp_["isNil"])(this.max)){return this.availableResolution.getMax()}else if(this.max>this.availableResolution.getMax()){return this.availableResolution.getMax()}}return this.max||DEFAULT_RESOLUTION}getRange(){return new spatial_src["e"]({min:this.getMin(),max:this.getMax()})}getTargetResolution(zoomRange,zoomLevel){if(!zoomRange||!zoomLevel)return this.getMin();if(zoomLevel>zoomRange.getMax()){return this.getMax()}if(zoomLevel<=zoomRange.getMin()){return this.getMin()}return this.doGetTargetResolution(zoomRange,zoomLevel)}}class ProportionalResolution_ProportionalResolution extends Resolution_Resolution{getResolutionIntervalProportion(zoomRange){if(this.getRange().getCount()>zoomRange.getInterval()){return 1}return zoomRange.getInterval()/this.getRange().getCount()}doGetTargetResolution(zoomRange,zoomLevel){const baseResolution=Math.floor((zoomLevel-zoomRange.getMin())/this.getResolutionIntervalProportion(zoomRange));if(Number.isNaN(baseResolution))return 0;return baseResolution+this.getRange().getMin()}}class ResolutionFactory_ResolutionFactory{static default(){return ResolutionFactory_ResolutionFactory.fromCount(1)}static fromCount(resolutionCount){return this.fromRange(new spatial_src["e"]({min:0,max:resolutionCount-1}))}static fromRange(resolutionRange){const resolution=new ProportionalResolution_ProportionalResolution({});resolution.min=resolutionRange===null||resolutionRange===void 0?void 0:resolutionRange.min;resolution.max=resolutionRange===null||resolutionRange===void 0?void 0:resolutionRange.max;return resolution}}function fromZoom(zoom){return layer=>layer.belongsToZoom(zoom)}function isFromVisualizationId(visualizationId){return layer=>layer.belongsToVisualization(visualizationId)}function hasId(id){return layer=>layer.id===id}const hasData=layer=>layer.hasData();function hasRowset(rowsets,zoom){return layer=>{var _layer$getTargetRowse;return layer.type==="image"||rowsets.hasRowset((_layer$getTargetRowse=layer.getTargetRowset(zoom))===null||_layer$getTargetRowse===void 0?void 0:_layer$getTargetRowse.getId())}}function isDataLoaded(rowsets){return layer=>rowsets.withData(layer.getData()).length>0}function withDataLoaded(rowsets){return layer=>isDataLoaded(rowsets)(layer)}var ZoomRange=__webpack_require__(42);var Visible_dec,Visible_class,Visible_descriptor;let Visible_Visible=(Visible_dec=Object(external_class_transformer_["Type"])((()=>ZoomRange["a"])),Visible_class=class Visible{constructor(props){this.value=void 0;Object(initializerDefineProperty["a"])(this,"zoomRange",Visible_descriptor,this);this.condition=void 0;Object.assign(this,props)}},Visible_descriptor=Object(applyDecoratedDescriptor["a"])(Visible_class.prototype,"zoomRange",[Visible_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),Visible_class);let LayerAnimationType;(function(LayerAnimationType){LayerAnimationType["custom"]="custom";LayerAnimationType["pulse"]="pulse";LayerAnimationType["ripple"]="ripple";LayerAnimationType["breathe"]="breathe";LayerAnimationType["blink"]="blink";LayerAnimationType["fadeInOut"]="fadeInOut";LayerAnimationType["flow"]="flow"})(LayerAnimationType||(LayerAnimationType={}));const layerAnimationTemplates={pulse:{layerTypes:["circle","icon"],encodings:{size:{channel:{duration:1500},keyFrames:{"0%":{scale:1},"60%":{scale:1.2},"90%":{scale:1}}}}},ripple:{layerTypes:["circle","icon"],encodings:{color:{channel:{duration:1500},keyFrames:{"0%":{opacity:.7},"70%":{opacity:0},"100%":{opacity:0}}},size:{channel:{duration:1500},keyFrames:{"0%":{scale:1},"70%":{scale:2},"100%":{scale:2}}}}},breathe:{layerTypes:["circle","icon"],encodings:{size:{channel:{duration:5e3},keyFrames:{"0%":{scale:1},"50%":{scale:1.3},"90%":{scale:1.05},"100%":{scale:1}}}}},blink:{layerTypes:["circle","icon","polygon"],encodings:{color:{channel:{duration:1e3},keyFrames:{"0%":{opacity:1},"80%":{opacity:1},"81%":{opacity:0},"100%":{opacity:0}}}}},fadeInOut:{layerTypes:["circle","icon","polygon"],encodings:{color:{channel:{duration:1500},keyFrames:{"0%":{opacity:0},"50%":{opacity:1},"100%":{opacity:0}}}}},flow:{layerTypes:["line"],encodings:{color:{}}}};class LayerAnimation_LayerAnimation{constructor(data){this.enabled=void 0;this.data=void 0;Object.assign(this,data)}static createFromLayer(layer){var _animations$map$find;const animations=Object.values(layer.encoding).map((encoding=>encoding===null||encoding===void 0?void 0:encoding.animation)).filter(Boolean);if(animations.length===0){return new LayerAnimation_LayerAnimation({enabled:false})}return new LayerAnimation_LayerAnimation({enabled:true,data:{field:animations.map((animation=>animation.field)).find(Boolean),type:(_animations$map$find=animations.map((animation=>animation.type)).find(Boolean))!==null&&_animations$map$find!==void 0?_animations$map$find:LayerAnimationType.custom}})}fillLayer(layer){var _this$data;if(((_this$data=this.data)===null||_this$data===void 0?void 0:_this$data.type)==="custom"){Object.keys(layer.encoding).forEach((encodingName=>{var _layer$encoding$encod;if((_layer$encoding$encod=layer.encoding[encodingName])!==null&&_layer$encoding$encod!==void 0&&_layer$encoding$encod.animation){var _this$data2;layer.encoding[encodingName].animation.field=(_this$data2=this.data)===null||_this$data2===void 0?void 0:_this$data2.field}}));return layer}Object.keys(layer.encoding).forEach((encodingName=>{if(layer.encoding[encodingName]){delete layer.encoding[encodingName].animation}}));if(!this.enabled||!this.data)return layer;const template=Object(fp_["clone"])(layerAnimationTemplates[this.data.type]);const animationType=this.data.type;const animationField=this.data.field;Object.entries(layer.encoding).forEach((_ref=>{let[encodingName,encoding]=_ref;if(!encoding)return;const animationEncodingTemplate=template.encodings[encodingName];if(!animationEncodingTemplate)return;animationEncodingTemplate.type=animationType;animationEncodingTemplate.field=animationField;if(!encoding){layer.encoding[encodingName]={}}layer.encoding[encodingName].animation=animationEncodingTemplate}));return layer}}var external_supercluster_=__webpack_require__(117);var external_supercluster_default=__webpack_require__.n(external_supercluster_);var ClusterTransform_dec,ClusterTransform_class,ClusterTransform_descriptor;let ClusterTransform_ClusterTransform=(ClusterTransform_dec=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),ClusterTransform_class=class ClusterTransform{constructor(radius){this.radius=void 0;Object(initializerDefineProperty["a"])(this,"cache",ClusterTransform_descriptor,this);if(radius){this.radius=radius}else{this.radius=30}}getType(){return"CLUSTER"}apply(rows,columns,zoom){const zoomKey=Math.floor(zoom*10/5);const cacheKey=zoomKey+rows.etag;if(this.cache[cacheKey]){return this.cache[cacheKey]}const index=new external_supercluster_default.a({maxZoom:256,radius:this.radius*Math.sqrt(2),map:row=>{const map={};columns.forEach((column=>{if(!(column.isQuantitative()||column.isType(dataset_src["b"].BOOLEAN)))return;map[column.getName()]=row.getValue(column.getName())}));return map},reduce:(acc,row)=>{columns.forEach((column=>{if(!(column.isQuantitative()||column.isType(dataset_src["b"].BOOLEAN)))return;const name=column.getName();acc[column.getName()]=acc[name]>row[name]?acc[name]:row[name]}))}});index.load(rows.map((row=>({geometry:{coordinates:[row._x,row._y]},properties:row}))));const clusteredFeatures=index.getClusters([-180,-85,180,85],Math.floor(zoom!==null&&zoom!==void 0?zoom:0));const clusteredRows=new dataset_src["k"](...clusteredFeatures.map((feature=>{var _feature$properties$c,_feature$properties$p;return{...feature.properties,_x:feature.geometry.coordinates[0],_y:feature.geometry.coordinates[1],_id:`cluster-${(_feature$properties$c=feature.properties.cluster_id)!==null&&_feature$properties$c!==void 0?_feature$properties$c:feature.properties._id}`,point_count:(_feature$properties$p=feature.properties.point_count)!==null&&_feature$properties$p!==void 0?_feature$properties$p:1}})));clusteredRows.etag=rows.etag+zoomKey;clusteredRows.columns=rows.columns;this.cache[cacheKey]=clusteredRows;return clusteredRows}},ClusterTransform_descriptor=Object(applyDecoratedDescriptor["a"])(ClusterTransform_class.prototype,"cache",[ClusterTransform_dec],{configurable:true,enumerable:true,writable:true,initializer:function(){return{}}}),ClusterTransform_class);class BackendTransform{}var TimeTransform_dec,TimeTransform_class,TimeTransform_descriptor;let TimeTransform_TimeTransform=(TimeTransform_dec=Object(external_class_transformer_["Type"])((()=>ProportionalResolution_ProportionalResolution)),TimeTransform_class=class TimeTransform extends BackendTransform{constructor(props){super();Object(initializerDefineProperty["a"])(this,"resolution",TimeTransform_descriptor,this);Object.assign(this,props)}getType(){return"TIME"}getResolution(){const availableResolution=new spatial_src["e"]({min:0,max:6});return new ProportionalResolution_ProportionalResolution({...this.resolution,availableResolution})}},TimeTransform_descriptor=Object(applyDecoratedDescriptor["a"])(TimeTransform_class.prototype,"resolution",[TimeTransform_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),TimeTransform_class);var RoomClusterTransform_dec,RoomClusterTransform_class,RoomClusterTransform_descriptor;var Orientation;(function(Orientation){Orientation[Orientation["VERTICAL"]=0]="VERTICAL";Orientation[Orientation["HORIZONTAL"]=1]="HORIZONTAL"})(Orientation||(Orientation={}));let RoomClusterTransform_RoomClusterTransform=(RoomClusterTransform_dec=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),RoomClusterTransform_class=class RoomClusterTransform{constructor(cellSize,field){this.cellSize=void 0;this.field=void 0;Object(initializerDefineProperty["a"])(this,"cache",RoomClusterTransform_descriptor,this);this.cellSize=cellSize;this.field=field}getResolution(){return ResolutionFactory_ResolutionFactory.fromCount(0)}getType(){return"ROOM_CLUSTER"}getCellSize(){if(this.cellSize){return this.cellSize}else{return 30}}getHorizontalRange(roomGeometry,viewState,world){const leftCoordinate=roomGeometry[0];const rightCoordinate=roomGeometry[3];const screenLeftCoordinate=viewState.projectCoordinate(world,leftCoordinate);const screenRightCoordinate=viewState.projectCoordinate(world,rightCoordinate);return new spatial_src["e"]({min:screenLeftCoordinate[0],max:screenRightCoordinate[0]})}getVerticalRange(roomGeometry,viewState,world){const topCoordinate=roomGeometry[0];const bottomCoordinate=roomGeometry[1];const screenTopCoordinate=viewState.projectCoordinate(world,topCoordinate);const screenBottomCoordinate=viewState.projectCoordinate(world,bottomCoordinate);return new spatial_src["e"]({min:screenBottomCoordinate[1],max:screenTopCoordinate[1]})}getOrientation(roomGeometry,viewState,world){const horizontalRange=this.getHorizontalRange(roomGeometry,viewState,world);const verticalRange=this.getVerticalRange(roomGeometry,viewState,world);if(horizontalRange.getInterval()>verticalRange.getInterval()){return Orientation.HORIZONTAL}else{return Orientation.VERTICAL}}getScreenRange(roomGeometry,viewState,world){const horizontalRange=this.getHorizontalRange(roomGeometry,viewState,world);const verticalRange=this.getVerticalRange(roomGeometry,viewState,world);if(horizontalRange.getInterval()>verticalRange.getInterval()){return horizontalRange}else{return verticalRange}}getCellCount(room,viewState,world){const screenRange=this.getScreenRange(room.geometry,viewState,world);let cellCount=Math.floor(screenRange.getInterval()/this.getCellSize());cellCount=Math.min(cellCount,room.items.length);cellCount=Math.max(cellCount,1);return cellCount}itemCount(items){return items.reduce(((accumulator,object)=>accumulator+object.item_count),0)}crop(items,limit){const rows=new dataset_src["k"](...items.slice(0,limit));const lastIndex=limit-1;if(items.length>limit){const row=new dataset_src["i"]({...rows[lastIndex],item_count:this.itemCount(items.slice(lastIndex,items.length))});row[this.field]="others";rows[lastIndex]=row}return rows}limitItems(room,viewState,world){const cellCount=this.getCellCount(room,viewState,world);return{...room,items:this.crop(room.items,cellCount)}}getPosition(room,row,offset,viewState,world){const screenCoordinates=viewState.projectCoordinate(world,[row._x,row._y]);const roomScreenCoordinates=viewState.projectCoordinate(world,room.geometry[1]);const orientation=this.getOrientation(room.geometry,viewState,world);if(orientation===Orientation.HORIZONTAL){const newX=roomScreenCoordinates[0]+offset+row["index_in_room"]*offset*2;return viewState.unprojectCoordinate(world,[newX,screenCoordinates[1]])}else{const newY=roomScreenCoordinates[1]+offset+row["index_in_room"]*offset*2;return viewState.unprojectCoordinate(world,[screenCoordinates[0],newY])}}updatePosition(room,row,offset,viewState,world){const newPosition=this.getPosition(room,row,offset,viewState,world);return new dataset_src["i"]({...row,_x:newPosition[0],_y:newPosition[1]})}repositionItems(room,viewState,world){const cellCount=this.getCellCount(room,viewState,world);const screenRange=this.getScreenRange(room.geometry,viewState,world);const offset=screenRange.getInterval()/(cellCount*2);const updatedRows=room.items.map((row=>this.updatePosition(room,row,offset,viewState,world)));return{...room,items:new dataset_src["k"](...updatedRows)}}getRooms(rows){const groupedRows=Object(fp_["groupBy"])((row=>row["room_name"]),rows);return Object.keys(groupedRows).map((roomName=>({geometry:groupedRows[roomName][0]["room_geometry"],name:roomName,items:new dataset_src["k"](...groupedRows[roomName])})))}apply(rows,viewState,world){const zoomKey=Math.floor(viewState.zoom*10/5);const cacheKey=zoomKey+rows.etag;if(this.cache[cacheKey]){return this.cache[cacheKey]}const transformedRows=this.getRooms(rows).map((room=>this.limitItems(room,viewState,world))).map((room=>this.repositionItems(room,viewState,world))).map((room=>room.items)).flat();const transformedRowsObject=new dataset_src["k"](...transformedRows);transformedRowsObject.etag=rows.etag+zoomKey;this.cache[cacheKey]=transformedRowsObject;return transformedRowsObject}},RoomClusterTransform_descriptor=Object(applyDecoratedDescriptor["a"])(RoomClusterTransform_class.prototype,"cache",[RoomClusterTransform_dec],{configurable:true,enumerable:true,writable:true,initializer:function(){return{}}}),RoomClusterTransform_class);var Transforms_dec,Transforms_dec2,_dec3,Transforms_class,Transforms_descriptor,Transforms_descriptor2,_descriptor3;let Transforms_Transforms=(Transforms_dec=Object(external_class_transformer_["Type"])((()=>ClusterTransform_ClusterTransform)),Transforms_dec2=Object(external_class_transformer_["Type"])((()=>RoomClusterTransform_RoomClusterTransform)),_dec3=Object(external_class_transformer_["Type"])((()=>TimeTransform_TimeTransform)),Transforms_class=class Transforms{constructor(props){Object(initializerDefineProperty["a"])(this,"cluster",Transforms_descriptor,this);Object(initializerDefineProperty["a"])(this,"roomCluster",Transforms_descriptor2,this);Object(initializerDefineProperty["a"])(this,"time",_descriptor3,this);Object.assign(this,props)}getCurrent(){var _this;const activeKeys=Object.keys(this).filter((key=>this[key]));return(_this=this[Object(fp_["first"])(activeKeys)])===null||_this===void 0?void 0:_this.getType()}getBackendTransform(){return this.roomCluster||this.time}},Transforms_descriptor=Object(applyDecoratedDescriptor["a"])(Transforms_class.prototype,"cluster",[Transforms_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),Transforms_descriptor2=Object(applyDecoratedDescriptor["a"])(Transforms_class.prototype,"roomCluster",[Transforms_dec2],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor3=Object(applyDecoratedDescriptor["a"])(Transforms_class.prototype,"time",[_dec3],{configurable:true,enumerable:true,writable:true,initializer:null}),Transforms_class);var World=__webpack_require__(34);let LayerType;(function(LayerType){LayerType["circle"]="circle";LayerType["heatmap"]="heatmap";LayerType["icon"]="icon";LayerType["image"]="image";LayerType["line"]="line";LayerType["polygon"]="polygon";LayerType["text"]="text";LayerType["vega-lite"]="vega-lite";LayerType["model"]="model";LayerType["table"]="table"})(LayerType||(LayerType={}));const GeoLayerTypes=[LayerType.circle,LayerType.heatmap,LayerType.icon,LayerType.image,LayerType.line,LayerType.polygon,LayerType.text];const CartesianLayerTypes=[...GeoLayerTypes,LayerType["vega-lite"]];const OrbitLayerTypes=[...GeoLayerTypes,LayerType.model];const DefaultLayerTypeByWorld={[World["b"].CARTESIAN]:LayerType["vega-lite"],[World["b"].GEO]:LayerType.circle,[World["b"].ORBIT]:LayerType.model,[World["b"].CUSTOM]:LayerType.table};var DetailsFactory=__webpack_require__(78);var i18n_src=__webpack_require__(13);var Layer_dec,Layer_dec2,Layer_dec3,_dec4,_dec5,_dec6,Layer_class,Layer_descriptor,Layer_descriptor2,Layer_descriptor3,_descriptor4,_descriptor5,_descriptor6;const requiredPropsMap={circle:["encoding.position","encoding.size","encoding.color"],icon:["encoding.position","encoding.size","encoding.color"],heatmap:["encoding.position"],image:["encoding.image","encoding.bounds"],line:["encoding.line","encoding.size"],polygon:["encoding.polygon"],text:["encoding.text","encoding.position","encoding.color","encoding.size"],table:[],"vega-lite":["mark"],model:["encoding.model"]};let Layer_Layer=(Layer_dec=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),Layer_dec2=Object(external_class_transformer_["Transform"])((_ref=>{let{obj,value}=_ref;if(obj.type==="vega-lite")return value;return value?new encoding_src["e"](value):undefined})),Layer_dec3=Object(external_class_transformer_["Type"])((()=>Transforms_Transforms)),_dec4=Object(external_class_transformer_["Transform"])((_ref2=>{let{value}=_ref2;return Object(DetailsFactory["b"])(value)})),_dec5=Object(external_class_transformer_["Type"])((()=>Visible_Visible)),_dec6=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),Layer_class=class Layer{constructor(props){this.id=void 0;this.name=void 0;this.type=void 0;Object(initializerDefineProperty["a"])(this,"lastModified",Layer_descriptor,this);Object(initializerDefineProperty["a"])(this,"encoding",Layer_descriptor2,this);Object(initializerDefineProperty["a"])(this,"transform",Layer_descriptor3,this);this.data=void 0;this.preRender=void 0;Object(initializerDefineProperty["a"])(this,"details",_descriptor4,this);this.actions=void 0;Object(initializerDefineProperty["a"])(this,"visible",_descriptor5,this);Object(initializerDefineProperty["a"])(this,"_visualization",_descriptor6,this);this.mark=void 0;this.highlight=void 0;Object.assign(this,props);if(this.lastModified)this.lastModified=new Date;if(this.data)this.data=new Data_Data(this.data)}isVega(){return this.type.toLowerCase()===LayerType["vega-lite"]}isIcon(){return this.type.toLowerCase()===LayerType.icon}isImage(){return this.type.toLowerCase()===LayerType.image}isModel(){return this.type.toLowerCase()===LayerType.model}clone(){const cloned=new Layer(this);cloned.lastModified=new Date;return cloned}duplicate(){const cloned=new Layer(this);cloned.id=Object(external_uuid_["v4"])();cloned.name=cloned.name+` (${Object(i18n_src["a"])("COPY")})`;cloned.lastModified=new Date;return cloned}isVisible(zoom){return this.visible.value&&this.belongsToZoom(zoom)}belongsToZoom(zoom){var _this$visible,_this$visible2,_this$visible3;return!((_this$visible=this.visible)!==null&&_this$visible!==void 0&&_this$visible.zoomRange)||((_this$visible2=this.visible)===null||_this$visible2===void 0?void 0:_this$visible2.zoomRange)&&((_this$visible3=this.visible)===null||_this$visible3===void 0?void 0:_this$visible3.zoomRange.isInRange(zoom))}shouldRender(rowsets){return this.isRenderable()&&withDataLoaded(rowsets)(this)}shouldPrerender(){return this.preRender!==false}isType(type){return this.type.toLowerCase()===type.toLowerCase()}getData(){return this.data}getQueryKey(){var _this$data,_this$data2,_this$transform;const queryKey={source:(_this$data=this.data)===null||_this$data===void 0?void 0:_this$data.source,query:(_this$data2=this.data)===null||_this$data2===void 0?void 0:_this$data2.query};if((_this$transform=this.transform)!==null&&_this$transform!==void 0&&_this$transform.getCurrent()){var _this$transform2;return{...queryKey,transform:(_this$transform2=this.transform)===null||_this$transform2===void 0?void 0:_this$transform2.getCurrent()}}return queryKey}hasData(){var _this$data3,_this$data4;return((_this$data3=this.data)===null||_this$data3===void 0?void 0:_this$data3.query)&&((_this$data4=this.data)===null||_this$data4===void 0?void 0:_this$data4.source)}getResolutions(){var _this$transform3;const transform=(_this$transform3=this.transform)===null||_this$transform3===void 0?void 0:_this$transform3.getBackendTransform();if(!transform){return ResolutionFactory_ResolutionFactory.fromCount(1)}return ResolutionFactory_ResolutionFactory.fromRange(transform.getResolution().getRange())}getTargetResolution(zoom){return this.getResolutions().getTargetResolution(this.visible.zoomRange,zoom)}getPositionKeys(){var _this$encoding$positi,_this$encoding,_this$encoding$positi2;if(this.isVega()){var _encoding$x,_encoding$x2,_encoding$x3,_encoding$x3$scale,_encoding$y,_encoding$y2,_encoding$y3,_encoding$y3$scale;const encoding=this.encoding;return new encoding_src["m"]((_encoding$x=encoding.x)!==null&&_encoding$x!==void 0&&_encoding$x.field?{field:(_encoding$x2=encoding.x)===null||_encoding$x2===void 0?void 0:_encoding$x2.field,type:(_encoding$x3=encoding.x)===null||_encoding$x3===void 0?void 0:(_encoding$x3$scale=_encoding$x3.scale)===null||_encoding$x3$scale===void 0?void 0:_encoding$x3$scale.type}:undefined,(_encoding$y=encoding.y)!==null&&_encoding$y!==void 0&&_encoding$y.field?{field:(_encoding$y2=encoding.y)===null||_encoding$y2===void 0?void 0:_encoding$y2.field,type:(_encoding$y3=encoding.y)===null||_encoding$y3===void 0?void 0:(_encoding$y3$scale=_encoding$y3.scale)===null||_encoding$y3$scale===void 0?void 0:_encoding$y3$scale.type}:undefined)}return(_this$encoding$positi=(_this$encoding=this.encoding)===null||_this$encoding===void 0?void 0:(_this$encoding$positi2=_this$encoding.position)===null||_this$encoding$positi2===void 0?void 0:_this$encoding$positi2.getPositonKeys())!==null&&_this$encoding$positi!==void 0?_this$encoding$positi:new encoding_src["k"]}getTargetRowset(zoom){var _this$transform4,_this$encoding$positi3,_this$encoding$positi4;if(!this.isRenderable())return;return new Rowset_Rowset({data:this.getData(),transform:(_this$transform4=this.transform)===null||_this$transform4===void 0?void 0:_this$transform4.getBackendTransform(),resolution:this.getTargetResolution(zoom),scales:this.getPositionKeys(),floorField:(_this$encoding$positi3=this.encoding.position)===null||_this$encoding$positi3===void 0?void 0:(_this$encoding$positi4=_this$encoding$positi3.getFloor())===null||_this$encoding$positi4===void 0?void 0:_this$encoding$positi4.field})}isFixedColor(){return this.type.toLowerCase()==="heatmap"}belongsToVisualization(visualizationId){return!!(visualizationId&&this._visualization&&this._visualization===visualizationId)}arePropsRenderable(){var _requiredPropsMap$thi;const requiredProps=(_requiredPropsMap$thi=requiredPropsMap[this.type])!==null&&_requiredPropsMap$thi!==void 0?_requiredPropsMap$thi:[];return requiredProps.map((propPath=>{const prop=Object(fp_["get"])(propPath,this);if(!prop)return false;if(prop.isRenderable){return prop===null||prop===void 0?void 0:prop.isRenderable()}return!!prop})).every(Boolean)}isDataRenderable(){return!!this.data&&!!this.data.query&&!!this.data.source}isRenderable(){return this.arePropsRenderable()&&this.isDataRenderable()}immutableChange(partialLayer){const cloned=this.clone();return new Layer({...cloned,...partialLayer})}immutableSetAnimation(animation){return animation.fillLayer(this.clone())}getAnimation(){return LayerAnimation_LayerAnimation.createFromLayer(this)}isEditable(canWriteToDatabase){var _this$encoding$positi5;if(this.transform&&this.transform.getCurrent()){return false}return!!canWriteToDatabase&&!((_this$encoding$positi5=this.encoding.position)!==null&&_this$encoding$positi5!==void 0&&_this$encoding$positi5.isFixed())}canAnimate(){return this.isType(LayerType.circle)||this.isType(LayerType.polygon)||this.isType(LayerType.icon)||this.isType(LayerType.line)}hasExplicitPosition(){return!this.isType(LayerType.polygon)&&!this.isType(LayerType.image)&&!this.isType(LayerType.line)&&!this.isType(LayerType["vega-lite"])}immutableChangeEncoding(encoding){return this.immutableChange({encoding:new encoding_src["e"](encoding)})}immutableChangeTooltip(tooltip){return this.immutableChange({details:{...this.details,tooltip}})}},Layer_descriptor=Object(applyDecoratedDescriptor["a"])(Layer_class.prototype,"lastModified",[Layer_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),Layer_descriptor2=Object(applyDecoratedDescriptor["a"])(Layer_class.prototype,"encoding",[Layer_dec2],{configurable:true,enumerable:true,writable:true,initializer:null}),Layer_descriptor3=Object(applyDecoratedDescriptor["a"])(Layer_class.prototype,"transform",[Layer_dec3],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor4=Object(applyDecoratedDescriptor["a"])(Layer_class.prototype,"details",[_dec4],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor5=Object(applyDecoratedDescriptor["a"])(Layer_class.prototype,"visible",[_dec5],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor6=Object(applyDecoratedDescriptor["a"])(Layer_class.prototype,"_visualization",[_dec6],{configurable:true,enumerable:true,writable:true,initializer:null}),Layer_class);const setUnifiedScaleDomain=(scaleDomain,scaleType,domain)=>{if(!scaleDomain[scaleType]){scaleDomain[scaleType]={domainMin:domain.min,domainMax:domain.max}}const scaleDomainMin=scaleDomain[scaleType].domainMin;if(scaleDomainMin===undefined||!Object(fp_["isNumber"])(scaleDomainMin)){scaleDomain[scaleType].domainMin=domain.min}else if(Object(fp_["isNumber"])(domain.min)&&scaleDomainMin>domain.min){scaleDomain[scaleType].domainMin=domain.min}const scaleDomainMax=scaleDomain[scaleType].domainMax;if(scaleDomainMax===undefined||!Object(fp_["isNumber"])(scaleDomainMax)){scaleDomain[scaleType].domainMax=domain.max}else if(Object(fp_["isNumber"])(domain.max)&&scaleDomainMax<domain.max){scaleDomain[scaleType].domainMax=domain.max}};const getDomainValues=(rowsets,field)=>rowsets.reduce(((domain,rowset)=>{var _rowset$rows;const values=rowset===null||rowset===void 0?void 0:(_rowset$rows=rowset.rows)===null||_rowset$rows===void 0?void 0:_rowset$rows.getValues(field);if(!values)return domain;const minValue=Object(fp_["min"])(values);const maxValue=Object(fp_["max"])(values);return{min:Object(fp_["isNumber"])(domain.min)&&domain.min<minValue||!Object(fp_["isNumber"])(minValue)?domain.min:minValue,max:Object(fp_["isNumber"])(domain.max)&&domain.max>maxValue||!Object(fp_["isNumber"])(maxValue)?domain.max:maxValue}}),{min:undefined,max:undefined});function getUnifiedScaleDomains(rowsets){return rowsets.reduce(((scaleDomains,rowset)=>{var _rowset$scales,_rowset$scales2,_rowset$scales3;if(rowset!==null&&rowset!==void 0&&(_rowset$scales=rowset.scales)!==null&&_rowset$scales!==void 0&&_rowset$scales.x){const xDomain=getDomainValues(rowsets,rowset.scales.x.field);setUnifiedScaleDomain(scaleDomains["x"],rowset.scales.x.type,xDomain)}if(rowset!==null&&rowset!==void 0&&(_rowset$scales2=rowset.scales)!==null&&_rowset$scales2!==void 0&&_rowset$scales2.y){const yDomain=getDomainValues(rowsets,rowset.scales.y.field);setUnifiedScaleDomain(scaleDomains["y"],rowset.scales.y.type,yDomain)}if(rowset!==null&&rowset!==void 0&&(_rowset$scales3=rowset.scales)!==null&&_rowset$scales3!==void 0&&_rowset$scales3.z){if(!scaleDomains["z"][rowset.scales.z.type]){scaleDomains["z"][rowset.scales.z.type]={domainMin:0,domainMax:50}}setUnifiedScaleDomain(scaleDomains["z"],rowset.scales.z.type,{min:0,max:50})}return scaleDomains}),{x:{},y:{},z:{}})}class Rowsets_Rowsets extends Array{hasRowset(rowsetId){if(!rowsetId)return false;return this.some((rowset=>rowset.getId()===rowsetId))}withData(data){const rowsets=this.filter((rowset=>rowset.data.query===data.query&&rowset.data.source===data.source));return new Rowsets_Rowsets(...rowsets)}getUnifiedScaleDomains(){return getUnifiedScaleDomains(this)}}const getFieldPositionOrDefault=fieldPosition=>{var _fieldPosition$scale;return(_fieldPosition$scale=fieldPosition===null||fieldPosition===void 0?void 0:fieldPosition.scale)!==null&&_fieldPosition$scale!==void 0?_fieldPosition$scale:{}};const getFieldPositionScaleType=(columns,fieldPosition,geometricPosition)=>{const xColumn=columns?columns.get(fieldPosition===null||fieldPosition===void 0?void 0:fieldPosition.field):undefined;return geometricPosition?encoding_src["c"]:Object(encoding_src["t"])(xColumn)};const isGeometricPosition=(xField,yField,zField)=>{if(zField)return zField===yField&&xField===zField;return!!xField&&xField===yField};const getLayersWithScaleTypes=(layers,queries)=>new Layers_Layers(...layers.map((layer=>{const clonedLayer=layer.clone();const query=queries.findQuery(clonedLayer.getQueryKey());if(clonedLayer.encoding.position&&clonedLayer.encoding.position.x&&clonedLayer.encoding.position.y){var _clonedLayer$encoding;clonedLayer.encoding.position.x.scale=getFieldPositionOrDefault(clonedLayer.encoding.position.x);clonedLayer.encoding.position.y.scale=getFieldPositionOrDefault(clonedLayer.encoding.position.y);if(clonedLayer.encoding.position.z){clonedLayer.encoding.position.z.scale=getFieldPositionOrDefault(clonedLayer.encoding.position.z)}const geometricPosition=isGeometricPosition(clonedLayer.encoding.position.x.field,clonedLayer.encoding.position.y.field,(_clonedLayer$encoding=clonedLayer.encoding.position.z)===null||_clonedLayer$encoding===void 0?void 0:_clonedLayer$encoding.field);if(clonedLayer.encoding.position.x.scale&&clonedLayer.encoding.position.x.scale.type!==encoding_src["o"].SQUARE){clonedLayer.encoding.position.x.scale.type=getFieldPositionScaleType(query===null||query===void 0?void 0:query.getColumns(),clonedLayer.encoding.position.x,geometricPosition)}if(clonedLayer.encoding.position.y.scale&&clonedLayer.encoding.position.y.scale.type!==encoding_src["o"].SQUARE){clonedLayer.encoding.position.y.scale.type=getFieldPositionScaleType(query===null||query===void 0?void 0:query.getColumns(),clonedLayer.encoding.position.y,geometricPosition)}if(clonedLayer.encoding.position.z&&clonedLayer.encoding.position.z.scale){clonedLayer.encoding.position.z.scale.type=encoding_src["c"]}}return clonedLayer})));function translateRelativeZoom(referenceLayer,zoomValue){var _zoomValue$relative,_zoomValue$relative2;let value=0;if((zoomValue===null||zoomValue===void 0?void 0:(_zoomValue$relative=zoomValue.relative)===null||_zoomValue$relative===void 0?void 0:_zoomValue$relative.reference)==="MIN"&&referenceLayer){value=referenceLayer.visible.zoomRange.getMin()}else if(referenceLayer){value=referenceLayer.visible.zoomRange.getMax()}if(zoomValue!==null&&zoomValue!==void 0&&(_zoomValue$relative2=zoomValue.relative)!==null&&_zoomValue$relative2!==void 0&&_zoomValue$relative2.increment){var _zoomValue$relative3;return value+((_zoomValue$relative3=zoomValue.relative)===null||_zoomValue$relative3===void 0?void 0:_zoomValue$relative3.increment)}else{return value}}function translateZoom(navigateAction,referenceLayer,row,viewState,world){var _navigateAction$zoom,_navigateAction$zoom2,_navigateAction$zoom3,_navigateAction$zoom6;if((_navigateAction$zoom=navigateAction.zoom)!==null&&_navigateAction$zoom!==void 0&&_navigateAction$zoom.fixed){return navigateAction.zoom.fixed.value}if((_navigateAction$zoom2=navigateAction.zoom)!==null&&_navigateAction$zoom2!==void 0&&(_navigateAction$zoom3=_navigateAction$zoom2.relative)!==null&&_navigateAction$zoom3!==void 0&&_navigateAction$zoom3.bounds&&row&&viewState&&world){var _navigateAction$zoom4,_navigateAction$zoom5;const bounds=row[navigateAction.zoom.relative.bounds.field];const fitZoom=viewState.getFitBoundsZoom(world,bounds,!!navigateAction.bearing);if(!Object(fp_["isNil"])(fitZoom))return(_navigateAction$zoom4=navigateAction.zoom)!==null&&_navigateAction$zoom4!==void 0&&_navigateAction$zoom4.relative.increment?fitZoom+((_navigateAction$zoom5=navigateAction.zoom)===null||_navigateAction$zoom5===void 0?void 0:_navigateAction$zoom5.relative.increment):fitZoom}if((_navigateAction$zoom6=navigateAction.zoom)!==null&&_navigateAction$zoom6!==void 0&&_navigateAction$zoom6.relative&&referenceLayer){return translateRelativeZoom(referenceLayer,navigateAction.zoom)}return 0}function onlyTargetRowset(zoom){return layer=>layer.getTargetRowset(zoom)}function getDefaultZoomRange(){return new ZoomRange["a"]({min:{fixed:{value:0}},max:{fixed:{value:25}}})}class Layers_Layers extends Array{constructor(){for(var _len=arguments.length,layers=new Array(_len),_key=0;_key<_len;_key++){layers[_key]=arguments[_key]}const ls=layers.filter((layer=>!!layer));super(...ls)}filter(filterFunc){const filteredItems=super.filter(filterFunc);return new Layers_Layers(...filteredItems)}getById(layerId){return this.find(hasId(layerId))}upsertLayer(newLayer){const newLayerWithTimestamp=new Layer_Layer({...newLayer,lastModified:new Date});const cloned=new Layers_Layers(...this);const layerIndex=Object(fp_["findIndex"])((layer=>layer.id===newLayer.id),this);if(layerIndex>-1){cloned.splice(layerIndex,1,newLayerWithTimestamp)}else{const lastLayerPos=cloned.findLastIndex((layer=>layer._visualization===newLayer._visualization));if(lastLayerPos>-1){cloned.splice(lastLayerPos+1,0,newLayerWithTimestamp)}else{cloned.push(newLayerWithTimestamp)}}return cloned}changeLayer(id,partialLayer){const cloned=new Layers_Layers(...this);const layerIndex=Object(fp_["findIndex"])((layer=>layer.id===id),this);if(layerIndex>-1){const newLayer=this[layerIndex].immutableChange({...partialLayer});cloned.splice(layerIndex,1,newLayer)}return cloned}getRowsets(){let zoom=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;let visualizationId=arguments.length>1?arguments[1]:undefined;if(zoom<0)return new Rowsets_Rowsets;const layers=this.filter(isFromVisualizationId(visualizationId));const targetRowsets=layers.map(onlyTargetRowset(zoom));const validRowsets=targetRowsets.filter((rowset=>!!rowset));return new Rowsets_Rowsets(...Object(fp_["uniqBy"])((rowset=>rowset.getId()),validRowsets))}getTargetRowsets(zoom){if(zoom===undefined||zoom<0)return new Rowsets_Rowsets;const layers=this.filter(hasData).filter(fromZoom(zoom));const targetRowsets=layers.map(onlyTargetRowset(zoom));const validRowsets=targetRowsets.filter((rowset=>!!rowset));return new Rowsets_Rowsets(...Object(fp_["uniqBy"])((rowset=>rowset.getId()),validRowsets))}renderable(rowsets){return this.filter((layer=>layer.shouldRender(rowsets)))}someWithFloor(){return this.some((layer=>{var _layer$encoding,_layer$encoding$posit;return((_layer$encoding=layer.encoding)===null||_layer$encoding===void 0?void 0:(_layer$encoding$posit=_layer$encoding.position)===null||_layer$encoding$posit===void 0?void 0:_layer$encoding$posit.hasFloor)&&layer.encoding.position.hasFloor()}))}moveLayer(layerId,steps){const cloned=new Layers_Layers(...this);const layerIndex=cloned.findIndex((layer=>layer.id===layerId));const element=cloned[layerIndex];cloned.splice(layerIndex,1);cloned.splice(layerIndex+steps,0,element);return cloned}deleteLayer(layerId){const cloned=new Layers_Layers(...this);const layerIndex=cloned.findIndex((layer=>layer.id===layerId));if(cloned[layerIndex]){cloned.splice(layerIndex,1)}return cloned}fillScaleTypes(queries){if(!(queries!==null&&queries!==void 0&&queries.length))return this;return getLayersWithScaleTypes(this,queries)}getMaxZoom(layer,visualizationZoomRange){var _layer$visible,_layer$visible$zoomRa,_layer$visible$zoomRa2,_layer$visible2,_layer$visible2$zoomR,_layer$visible2$zoomR2,_visualizationZoomRan,_visualizationZoomRan2;if((_layer$visible=layer.visible)!==null&&_layer$visible!==void 0&&(_layer$visible$zoomRa=_layer$visible.zoomRange)!==null&&_layer$visible$zoomRa!==void 0&&(_layer$visible$zoomRa2=_layer$visible$zoomRa.max)!==null&&_layer$visible$zoomRa2!==void 0&&_layer$visible$zoomRa2.fixed){var _layer$visible$zoomRa3;return(_layer$visible$zoomRa3=layer.visible.zoomRange.max)===null||_layer$visible$zoomRa3===void 0?void 0:_layer$visible$zoomRa3.fixed.value}if((_layer$visible2=layer.visible)!==null&&_layer$visible2!==void 0&&(_layer$visible2$zoomR=_layer$visible2.zoomRange)!==null&&_layer$visible2$zoomR!==void 0&&(_layer$visible2$zoomR2=_layer$visible2$zoomR.max)!==null&&_layer$visible2$zoomR2!==void 0&&_layer$visible2$zoomR2.relative){var _layer$visible$zoomRa4;const refLayer=this.getById((_layer$visible$zoomRa4=layer.visible.zoomRange.max)===null||_layer$visible$zoomRa4===void 0?void 0:_layer$visible$zoomRa4.relative.layer);if(refLayer){return translateRelativeZoom(refLayer,layer.visible.zoomRange.max)}}if(visualizationZoomRange!==null&&visualizationZoomRange!==void 0&&(_visualizationZoomRan=visualizationZoomRange.max)!==null&&_visualizationZoomRan!==void 0&&(_visualizationZoomRan2=_visualizationZoomRan.fixed)!==null&&_visualizationZoomRan2!==void 0&&_visualizationZoomRan2.value){var _visualizationZoomRan3,_visualizationZoomRan4;return visualizationZoomRange===null||visualizationZoomRange===void 0?void 0:(_visualizationZoomRan3=visualizationZoomRange.max)===null||_visualizationZoomRan3===void 0?void 0:(_visualizationZoomRan4=_visualizationZoomRan3.fixed)===null||_visualizationZoomRan4===void 0?void 0:_visualizationZoomRan4.value}return getDefaultZoomRange().max.fixed.value}setMaxZoom(layer,visualizationZoomRange){if(!layer.visible.zoomRange){layer.visible.zoomRange=new ZoomRange["a"]}layer.visible.zoomRange.max={...layer.visible.zoomRange.max,fixed:{value:this.getMaxZoom(layer,visualizationZoomRange)}}}getMinZoom(layer,visualizationZoomRange){var _layer$visible3,_layer$visible3$zoomR,_layer$visible3$zoomR2,_layer$visible4,_layer$visible4$zoomR,_layer$visible4$zoomR2,_visualizationZoomRan5,_visualizationZoomRan6;if((_layer$visible3=layer.visible)!==null&&_layer$visible3!==void 0&&(_layer$visible3$zoomR=_layer$visible3.zoomRange)!==null&&_layer$visible3$zoomR!==void 0&&(_layer$visible3$zoomR2=_layer$visible3$zoomR.min)!==null&&_layer$visible3$zoomR2!==void 0&&_layer$visible3$zoomR2.fixed){var _layer$visible$zoomRa5;return(_layer$visible$zoomRa5=layer.visible.zoomRange.min)===null||_layer$visible$zoomRa5===void 0?void 0:_layer$visible$zoomRa5.fixed.value}if((_layer$visible4=layer.visible)!==null&&_layer$visible4!==void 0&&(_layer$visible4$zoomR=_layer$visible4.zoomRange)!==null&&_layer$visible4$zoomR!==void 0&&(_layer$visible4$zoomR2=_layer$visible4$zoomR.min)!==null&&_layer$visible4$zoomR2!==void 0&&_layer$visible4$zoomR2.relative){var _layer$visible$zoomRa6;const refLayer=this.getById((_layer$visible$zoomRa6=layer.visible.zoomRange.min)===null||_layer$visible$zoomRa6===void 0?void 0:_layer$visible$zoomRa6.relative.layer);if(refLayer){return translateRelativeZoom(refLayer,layer.visible.zoomRange.min)}}if(visualizationZoomRange!==null&&visualizationZoomRange!==void 0&&(_visualizationZoomRan5=visualizationZoomRange.min)!==null&&_visualizationZoomRan5!==void 0&&(_visualizationZoomRan6=_visualizationZoomRan5.fixed)!==null&&_visualizationZoomRan6!==void 0&&_visualizationZoomRan6.value){var _visualizationZoomRan7,_visualizationZoomRan8;return visualizationZoomRange===null||visualizationZoomRange===void 0?void 0:(_visualizationZoomRan7=visualizationZoomRange.min)===null||_visualizationZoomRan7===void 0?void 0:(_visualizationZoomRan8=_visualizationZoomRan7.fixed)===null||_visualizationZoomRan8===void 0?void 0:_visualizationZoomRan8.value}return getDefaultZoomRange().min.fixed.value}setMinZoom(layer,visualizationZoomRange){if(!layer.visible.zoomRange){layer.visible.zoomRange=new ZoomRange["a"]}layer.visible.zoomRange.min={...layer.visible.zoomRange.min,fixed:{value:this.getMinZoom(layer,visualizationZoomRange)}}}fillZooms(visualization){const cloned=new Layers_Layers(...this);cloned.forEach((layer=>{this.setMinZoom(layer,visualization===null||visualization===void 0?void 0:visualization.zoomRange);this.setMaxZoom(layer,visualization===null||visualization===void 0?void 0:visualization.zoomRange)}));return cloned}replaceLayer(layer){const cloned=new Layers_Layers(...this);const layerIndex=cloned.findIndex((l=>l.id===layer.id));if(layerIndex>-1){cloned.splice(layerIndex,1,layer)}return cloned}findFirstVisibleWithFloor(currentZoom){return this.find((layer=>{var _layer$encoding2,_layer$encoding2$posi;return layer.visible.zoomRange.isInRange(currentZoom)&&((_layer$encoding2=layer.encoding)===null||_layer$encoding2===void 0?void 0:(_layer$encoding2$posi=_layer$encoding2.position)===null||_layer$encoding2$posi===void 0?void 0:_layer$encoding2$posi.hasFloor())}))}duplicate(layerId){const cloned=new Layers_Layers(...this);const layerIndex=cloned.findIndex((layer=>layer.id===layerId));const layer=cloned[layerIndex];cloned.splice(layerIndex+1,0,layer.duplicate());return cloned}}const getLayersFromVisualizations=response=>{const visualizations=Object(fp_["get"])("app.visualizations",response);const visualizationsLayers=visualizations.map((visualization=>{const layers=Object(fp_["get"])(["layers"],visualization)||[];return layers.map((layer=>({...layer,_visualization:visualization.id})))}),visualizations);return Object(fp_["flatten"])(visualizationsLayers)};const parseLayers=response=>{const layers=Object(external_class_transformer_["plainToInstance"])(Layer_Layer,getLayersFromVisualizations(response))||new Layers_Layers;return new Layers_Layers(...layers)};let FilterType;(function(FilterType){FilterType["DEFAULT"]="categorical";FilterType["CATEGORICAL"]="categorical";FilterType["RANGE"]="range"})(FilterType||(FilterType={}));var RangeFilter_dec,RangeFilter_dec2,RangeFilter_dec3,RangeFilter_dec4,RangeFilter_dec5,RangeFilter_dec6,RangeFilter_class,RangeFilter_descriptor,RangeFilter_descriptor2,RangeFilter_descriptor3,RangeFilter_descriptor4,RangeFilter_descriptor5;let RangeFilter_RangeFilter=(RangeFilter_dec=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),RangeFilter_dec2=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),RangeFilter_dec3=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),RangeFilter_dec4=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),RangeFilter_dec5=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),RangeFilter_dec6=Object(external_class_transformer_["Expose"])(),RangeFilter_class=class RangeFilter{constructor(props){this.type=void 0;this.hidden=void 0;this.field=void 0;Object(initializerDefineProperty["a"])(this,"data",RangeFilter_descriptor,this);Object(initializerDefineProperty["a"])(this,"visualizationId",RangeFilter_descriptor2,this);Object(initializerDefineProperty["a"])(this,"required",RangeFilter_descriptor3,this);Object(initializerDefineProperty["a"])(this,"_values",RangeFilter_descriptor4,this);Object(initializerDefineProperty["a"])(this,"_options",RangeFilter_descriptor5,this);if(!props)return;if(props)Object.assign(this,props);this.values=props.values?new spatial_src["e"](props.values):new spatial_src["e"];this.options=props.options?new spatial_src["e"](props.options):new spatial_src["e"];if(!props.type)this.type=FilterType.RANGE}get values(){return this._values}set values(values){this._values=values}get options(){return this._options}set options(options){this._options=options}clone(){return new RangeFilter(this)}hasValues(){return this.values&&this.values.hasValues()}withValues(values){const cloned=this.clone();cloned.values=values;return cloned}toggleValue(value){this.values=value;return this}isRanged(){return true}toPlain(){const plain=Object(external_class_transformer_["classToPlain"])(this);return{...plain,values:[this.values.min,this.values.max]}}},RangeFilter_descriptor=Object(applyDecoratedDescriptor["a"])(RangeFilter_class.prototype,"data",[RangeFilter_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),RangeFilter_descriptor2=Object(applyDecoratedDescriptor["a"])(RangeFilter_class.prototype,"visualizationId",[RangeFilter_dec2],{configurable:true,enumerable:true,writable:true,initializer:null}),RangeFilter_descriptor3=Object(applyDecoratedDescriptor["a"])(RangeFilter_class.prototype,"required",[RangeFilter_dec3],{configurable:true,enumerable:true,writable:true,initializer:null}),RangeFilter_descriptor4=Object(applyDecoratedDescriptor["a"])(RangeFilter_class.prototype,"_values",[RangeFilter_dec4],{configurable:true,enumerable:true,writable:true,initializer:function(){return new spatial_src["e"]}}),RangeFilter_descriptor5=Object(applyDecoratedDescriptor["a"])(RangeFilter_class.prototype,"_options",[RangeFilter_dec5],{configurable:true,enumerable:true,writable:true,initializer:function(){return new spatial_src["e"]}}),Object(applyDecoratedDescriptor["a"])(RangeFilter_class.prototype,"values",[RangeFilter_dec6],Object.getOwnPropertyDescriptor(RangeFilter_class.prototype,"values"),RangeFilter_class.prototype),RangeFilter_class);var CategoricalFilter_dec,CategoricalFilter_dec2,CategoricalFilter_dec3,CategoricalFilter_dec4,CategoricalFilter_dec5,CategoricalFilter_dec6,_dec7,_dec8,_dec9,CategoricalFilter_class,CategoricalFilter_descriptor,CategoricalFilter_descriptor2,CategoricalFilter_descriptor3,CategoricalFilter_descriptor4,CategoricalFilter_descriptor5,CategoricalFilter_descriptor6,_descriptor7,_descriptor8;let CategoricalFilter_CategoricalFilter=(CategoricalFilter_dec=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),CategoricalFilter_dec2=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),CategoricalFilter_dec3=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),CategoricalFilter_dec4=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),CategoricalFilter_dec5=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),CategoricalFilter_dec6=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),_dec7=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),_dec8=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),_dec9=Object(external_class_transformer_["Expose"])(),CategoricalFilter_class=class CategoricalFilter{constructor(props){this.type=void 0;this.hidden=void 0;this.exactMatch=void 0;this.field=void 0;Object(initializerDefineProperty["a"])(this,"data",CategoricalFilter_descriptor,this);Object(initializerDefineProperty["a"])(this,"singleChoice",CategoricalFilter_descriptor2,this);Object(initializerDefineProperty["a"])(this,"required",CategoricalFilter_descriptor3,this);Object(initializerDefineProperty["a"])(this,"searchTerm",CategoricalFilter_descriptor4,this);Object(initializerDefineProperty["a"])(this,"visualizationId",CategoricalFilter_descriptor5,this);Object(initializerDefineProperty["a"])(this,"_values",CategoricalFilter_descriptor6,this);Object(initializerDefineProperty["a"])(this,"_options",_descriptor7,this);Object(initializerDefineProperty["a"])(this,"_searchResults",_descriptor8,this);if(!props)return;if(props)Object.assign(this,props);if(!props.type)this.type=FilterType.CATEGORICAL}get values(){if((this.singleChoice||this.required)&&this._values.length<1)return Object(fp_["take"])(1,this.options);if(this.singleChoice&&this._values.length>0)return Object(fp_["take"])(1,this._values);return this._values}set values(values){this._values=values}get options(){return Object(fp_["unionWith"])(fp_["isEqual"],this._options,this._values)}set options(options){this._options=options}set searchResults(results){if(!Object(fp_["isArray"])(results))return;this._searchResults=results}get searchResults(){return Object(fp_["difference"])(this._searchResults,this.values)}withValues(values){const cloned=this.clone();cloned.values=values;return cloned}clone(){return new CategoricalFilter(this)}getValuesWithoutDefaults(){if(!this.singleChoice&&!this.required)return this._values;if(this._values.length===1&&Object(fp_["head"])(this._values)===Object(fp_["head"])(this.options))return[];return this._values}addValue(value){if(this._values.indexOf(value)>-1)return this;this._values.push(value);return this}removeValue(value){const valueIndex=this._values.indexOf(value);if(valueIndex>-1){this._values.splice(valueIndex,1)}return this}hasValue(value){return this.values.indexOf(value)>-1}hasValues(){return this.values.length>0}toggleValue(value){if(this.hasValue(value)){return this.removeValue(value)}else if(this.singleChoice){this.values=[value];return this}return this.addValue(value)}isRanged(){return false}toPlain(){return Object(external_class_transformer_["classToPlain"])(this)}},CategoricalFilter_descriptor=Object(applyDecoratedDescriptor["a"])(CategoricalFilter_class.prototype,"data",[CategoricalFilter_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),CategoricalFilter_descriptor2=Object(applyDecoratedDescriptor["a"])(CategoricalFilter_class.prototype,"singleChoice",[CategoricalFilter_dec2],{configurable:true,enumerable:true,writable:true,initializer:null}),CategoricalFilter_descriptor3=Object(applyDecoratedDescriptor["a"])(CategoricalFilter_class.prototype,"required",[CategoricalFilter_dec3],{configurable:true,enumerable:true,writable:true,initializer:null}),CategoricalFilter_descriptor4=Object(applyDecoratedDescriptor["a"])(CategoricalFilter_class.prototype,"searchTerm",[CategoricalFilter_dec4],{configurable:true,enumerable:true,writable:true,initializer:null}),CategoricalFilter_descriptor5=Object(applyDecoratedDescriptor["a"])(CategoricalFilter_class.prototype,"visualizationId",[CategoricalFilter_dec5],{configurable:true,enumerable:true,writable:true,initializer:null}),CategoricalFilter_descriptor6=Object(applyDecoratedDescriptor["a"])(CategoricalFilter_class.prototype,"_values",[CategoricalFilter_dec6],{configurable:true,enumerable:true,writable:true,initializer:function(){return[]}}),_descriptor7=Object(applyDecoratedDescriptor["a"])(CategoricalFilter_class.prototype,"_options",[_dec7],{configurable:true,enumerable:true,writable:true,initializer:function(){return[]}}),_descriptor8=Object(applyDecoratedDescriptor["a"])(CategoricalFilter_class.prototype,"_searchResults",[_dec8],{configurable:true,enumerable:true,writable:true,initializer:function(){return[]}}),Object(applyDecoratedDescriptor["a"])(CategoricalFilter_class.prototype,"values",[_dec9],Object.getOwnPropertyDescriptor(CategoricalFilter_class.prototype,"values"),CategoricalFilter_class.prototype),CategoricalFilter_class);class Filters_Filters extends Array{clone(){return new Filters_Filters(...this)}renderables(){const filters=this.filter((filter=>!filter.hidden));return new Filters_Filters(...filters)}exists(field,visualizationId){const filter=this.find((f=>{if(visualizationId)return f.field===field&&f.visualizationId===visualizationId;return f.field===field}));return!!filter}getByField(field){return this.find((filter=>filter.field===field))}getSingleChoices(){const singleChoices=this.filter((filter=>filter.singleChoice));return new Filters_Filters(...singleChoices)}getWithValues(){const withSelecteds=this.filter((filter=>filter.hasValues()));return new Filters_Filters(...withSelecteds)}update(filter){const cloned=this.clone();const filterIndex=Object(fp_["findIndex"])({field:filter.field,visualizationId:filter.visualizationId},this);cloned.splice(filterIndex,1,filter);return cloned}selectedValues(){return this.reduce(((values,filter)=>{if(filter instanceof CategoricalFilter_CategoricalFilter){return[...values,...filter.values]}if(filter instanceof RangeFilter_RangeFilter&&(!!filter.values.min||!!filter.values.max)){return[...values,filter.values]}return values}),new Array)}categoricalSelectedValues(){return this.reduce(((values,filter)=>{if(filter instanceof CategoricalFilter_CategoricalFilter){return[...values,...filter.values]}return values}),new Array)}someCategoricalWithSelectedWithoutDefaults(){return this.some((filter=>filter instanceof CategoricalFilter_CategoricalFilter&&filter.getValuesWithoutDefaults().length>0))}clearCategoricalSelecteds(){const clear=this.map((filter=>{if(filter instanceof CategoricalFilter_CategoricalFilter){const cloned=filter.clone();cloned.values=[];return cloned}return filter}));return new Filters_Filters(...clear)}overwrite(filters){const overwritten=new Filters_Filters;this.forEach((filter=>{const existingFilter=filters.getByField(filter.field);if(existingFilter){return overwritten.push(filter.withValues(existingFilter.values))}return overwritten.push(filter)}));return overwritten}mergeKeepingHidden(newFilters){const merged=this.overwrite(newFilters);newFilters.filter((filter=>!merged.exists(filter.field,filter.visualizationId))).forEach((filter=>filter.hidden&&merged.push(filter)));return merged}getNonSingleChoice(){const filters=this.filter((filter=>!filter.singleChoice));return new Filters_Filters(...filters)}}var domain_Filters=Filters_Filters;var external_dayjs_=__webpack_require__(67);var external_dayjs_default=__webpack_require__.n(external_dayjs_);const getDefaultSelectedValues=(plainFilter,column)=>{var _plainFilter$selected,_plainFilter$selected2;const filterType=plainFilter.type&&plainFilter.type.toLowerCase();if(filterType===FilterType.RANGE&&(_plainFilter$selected=plainFilter.selectedValues)!==null&&_plainFilter$selected!==void 0&&_plainFilter$selected.length){return new spatial_src["e"]({min:Number(plainFilter.selectedValues[0]),max:Number(plainFilter.selectedValues[1])})}else if(filterType===FilterType.RANGE&&(column===null||column===void 0?void 0:column.getType())===dataset_src["b"].DATETIME&&column.stats){const dayJsMax=external_dayjs_default.a.utc(column.stats.max).add(1,"day");return new spatial_src["e"]({min:dayJsMax.subtract(1,"months").valueOf(),max:dayJsMax.valueOf()})}else if(filterType===FilterType.RANGE){return new spatial_src["e"]}else if((_plainFilter$selected2=plainFilter.selectedValues)!==null&&_plainFilter$selected2!==void 0&&_plainFilter$selected2.length){return plainFilter.selectedValues}return[]};const getDefaultOptions=(filter,column)=>{const filterType=filter.type&&filter.type.toLowerCase();if(filterType===FilterType.RANGE&&column!==null&&column!==void 0&&column.stats){return new spatial_src["e"]({min:column.stats.min,max:column.stats.max})}return filter.values};const createPlainFilter=(filterType,filter,column)=>({type:filterType,singleChoice:filter.singleChoice,required:filter.required,exactMatch:filter.exactMatch,field:filter.field,data:filter.data,visualizationId:filter.visualizationId,options:getDefaultOptions(filter,column),values:getDefaultSelectedValues(filter,column)});const parseFilters=(response,queries)=>{const visualizations=Object(fp_["get"])("app.visualizations",response);const visualizationsWithFilters=visualizations.filter((visualization=>visualization.filters));const visualizationsFilters=Object(fp_["flatMap"])((visualization=>visualization.filters.map((filter=>({...filter,visualizationId:visualization.id})))),visualizationsWithFilters);const validVisualizationsFilters=visualizationsFilters.filter((filter=>{const query=queries.findQuery(filter.data);if(!query)return false;return query.getColumns().get(filter.field)}));const filters=validVisualizationsFilters.map((filter=>{const query=queries.findQuery(filter.data);const column=query===null||query===void 0?void 0:query.getColumns().get(filter.field);const filterType=filter.type&&filter.type.toLowerCase();const plainFilter=createPlainFilter(filterType,filter,column);if(plainFilter.type===FilterType.RANGE)return new RangeFilter_RangeFilter(plainFilter);return new CategoricalFilter_CategoricalFilter(plainFilter)}));return new domain_Filters(...filters)};let AppApiErrorType;(function(AppApiErrorType){AppApiErrorType["FETCHING_APP"]="Error fetching app";AppApiErrorType["FETCHING_TABLE"]="Error fetching query"})(AppApiErrorType||(AppApiErrorType={}));class AppApiError extends Error{constructor(type,response){super(`AppApiError: ${type}`);this.type=void 0;this.response=void 0;this.type=type;this.response=response}isAppResourceError(){return this.type===AppApiErrorType.FETCHING_APP}}const getLegendsFromVisualizations=response=>{const visualizations=Object(fp_["get"])("app.visualizations",response);const visualizationsLegends=visualizations.map((visualization=>{var _get;const legends=(_get=Object(fp_["get"])(["legends"],visualization))!==null&&_get!==void 0?_get:[];return legends.map((legend=>({visualizationId:visualization.id,layer:legend.layer})))}));return Object(fp_["flatten"])(visualizationsLegends)};const getAxesFromVisualizations=response=>{const visualizations=Object(fp_["get"])("app.visualizations",response);return visualizations.map((visualization=>{var _get2;let axesList=(_get2=Object(fp_["get"])(["axes"],visualization))!==null&&_get2!==void 0?_get2:[];if(!Array.isArray(axesList)){axesList=[]}return axesList.map((axes=>({...axes,visualizationId:visualization.id})))})).flat()};const parseApp=response=>{const plain=Object(fp_["get"])("app",response);return Object(external_class_transformer_["plainToClass"])(App_App,plain,{excludeExtraneousValues:true})};const parseVisualizations=response=>Object(external_class_transformer_["plainToClass"])(Visualization["c"],Object(fp_["get"])("app.visualizations",response),{excludeExtraneousValues:true})||[];const parseLegends=response=>{var _plainToClass;const legends=(_plainToClass=Object(external_class_transformer_["plainToClass"])(Legend,getLegendsFromVisualizations(response)))!==null&&_plainToClass!==void 0?_plainToClass:[];return new Legends(...legends)};const parseAxesList=response=>new AxesList(...getAxesFromVisualizations(response));const parseQueries=response=>{const queries=Object(fp_["get"])("queries",response);return new dataset_src["g"](...Object(external_class_transformer_["plainToClass"])(dataset_src["h"],queries))};const parseEntities=response=>{let visualizations=Object(fp_["get"])("app.visualizations",response);visualizations=visualizations.filter((visualization=>!!(visualization.entities||visualization.dataBrowsers)));const entities=Object(fp_["flatMap"])((visualization=>{var _visualization$entiti;const entities=(_visualization$entiti=visualization.entities)!==null&&_visualization$entiti!==void 0?_visualization$entiti:visualization.dataBrowsers;return entities.map((entity=>new entity_Entity({...entity,visualization:visualization.id,list:entity.list?{...entity.list,encoding:entity.list.encoding?new encoding_src["e"](entity.list.encoding):undefined}:undefined})))}),visualizations);return new entity_Entities(...entities)};const parseResponse=response=>{const queries=parseQueries(response);return{app:parseApp(response),schema:Object(fp_["get"])("schema",response),history:Object(fp_["get"])("history",response),queries,layers:parseLayers(response),legends:parseLegends(response),axes:parseAxesList(response),visualizations:parseVisualizations(response),filters:parseFilters(response,queries),entities:parseEntities(response)}};async function getApp(application,version,authorization){const response=await Object(http_client_src["a"])(config_src["a"].getValue("BFF_API_ADDRESS",authorization.tenant),`/app/${application}`,{version,filterValueLimit:6},authorization);const body=await response.data;return parseResponse(body)}function rollbackAppVersion(appId,version,authorization){return Object(http_client_src["d"])(config_src["a"].getValue("APP_API_ADDRESS"),`/app/${appId}/rollback`,{version},{},authorization).then((res=>res.data))}function listAppHistory(appId,authorization){return Object(http_client_src["a"])(config_src["a"].getValue("APP_API_ADDRESS"),`/app/${appId}/history`,{},authorization).then((res=>res.data))}var ViewState=__webpack_require__(69);var external_typesafe_actions_=__webpack_require__(1);let DragMode;(function(DragMode){DragMode["PAN"]="pan";DragMode["ROTATE"]="rotate"})(DragMode||(DragMode={}));const DEFAULT_DRAG_MODE=DragMode.PAN;class ViewController_ViewController{constructor(props){this.visualizationId=void 0;this.worldType=void 0;this.dragMode=void 0;this.dragPan=void 0;this.dragRotate=void 0;this.touchRotate=void 0;Object.assign(this,props);if(this.worldType===World["b"].ORBIT)this.dragMode=DragMode.ROTATE;if(!this.dragMode)this.dragMode=DEFAULT_DRAG_MODE;if(props.dragPan!==false)this.dragPan=true;if(props.dragRotate!==false)this.dragRotate=true;if(props.touchRotate!==false)this.touchRotate=true}clone(){return new ViewController_ViewController(this)}reset(){return new ViewController_ViewController({visualizationId:this.visualizationId,worldType:this.worldType,dragMode:DEFAULT_DRAG_MODE,dragPan:true,dragRotate:true})}immutableToggleDragMode(){const cloned=this.clone();if(this.dragMode===DragMode.PAN){cloned.dragMode=DragMode.ROTATE}else{cloned.dragMode=DragMode.PAN}return cloned}isRotateMode(){return this.dragMode===DragMode.ROTATE}}const getViewState=(visualization,params)=>{const isParamsForVisualization=params&¶ms.visualizationId===visualization.id;return new ViewState["a"]({visualizationId:visualization.id,zoomRange:visualization.zoomRange,coordinates:isParamsForVisualization&¶ms!==null&¶ms!==void 0&¶ms.coordinates?Object(ViewState["b"])(params===null||params===void 0?void 0:params.coordinates,visualization):visualization.getInitialCoordinates(),zoom:isParamsForVisualization&&(params===null||params===void 0?void 0:params.zoom)!==undefined?params===null||params===void 0?void 0:params.zoom:visualization.getInitialZoom(),bearing:isParamsForVisualization&&(params===null||params===void 0?void 0:params.bearing)!==undefined?params===null||params===void 0?void 0:params.bearing:visualization.getInitialBearing(),zoomBehavior:visualization.zoomBehavior})};const getMergedFilters=(visualizationId,response,params)=>{var _params$filters;const filters=new domain_Filters(...response.filters.filter((filter=>filter.visualizationId===visualizationId)));if(params!==null&¶ms!==void 0&&(_params$filters=params.filters)!==null&&_params$filters!==void 0&&_params$filters.length&¶ms.filters.length>0){return filters.mergeKeepingHidden(params.filters)}return filters};const getWorld=visualization=>new World["a"]({visualizationId:visualization.id,type:visualization.type,sizeRatio:visualization.getSizeRatio()});const responseToAction=(response,params)=>{if(!response)return{};const currentVisualizationId=params===null||params===void 0?void 0:params.visualizationId;const currentVisualization=currentVisualizationId?response.visualizations.find((visualization=>visualization.id===currentVisualizationId)):response.visualizations[0];if(!currentVisualization)return{};const currentVisualizationIndex=currentVisualizationId?response.visualizations.findIndex((visualization=>visualization.id===currentVisualizationId)):0;currentVisualization.isRoot=currentVisualizationIndex===0;const mergedFilters=getMergedFilters(currentVisualization.id,response,params);const viewState=getViewState(currentVisualization,params);const world=getWorld(currentVisualization);const viewController=new ViewController_ViewController({visualizationId:currentVisualization.id,worldType:currentVisualization.type});const visualizationLayers=response.layers.filter((layer=>layer._visualization===currentVisualization.id));const visualizationEntities=new entity_Entities(...response.entities.filter((entity=>entity.visualization===currentVisualization.id)));const visualizationAxes=response.axes.filter((axes=>axes.visualizationId===currentVisualization.id));return{...response,axes:visualizationAxes,world,viewState,viewController,filters:mergedFilters,visualization:currentVisualization,entities:visualizationEntities,layers:visualizationLayers,floor:params===null||params===void 0?void 0:params.floor,version:params===null||params===void 0?void 0:params.version}};const getParams=action=>{var _action$payload$initi,_action$payload$initi2;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].app.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.changed):return action.payload.params;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.checkoutVersion):return{appId:action.payload.appId,version:action.payload.version};case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):return{appId:action.payload.appId,coordinates:action.payload.initialPosition?new spatial_src["c"](action.payload.initialPosition):undefined,bearing:(_action$payload$initi=action.payload.initialPosition)===null||_action$payload$initi===void 0?void 0:_action$payload$initi.bearing,zoom:(_action$payload$initi2=action.payload.initialPosition)===null||_action$payload$initi2===void 0?void 0:_action$payload$initi2.zoom};default:return{appId:action.payload.appId}}};function*fetchApp(action){const authorization=yield Object(effects_["select"])((store=>store.authorization));const params=getParams(action);try{const appResponse=yield Object(effects_["call"])(getApp,params.appId,params.version,authorization);yield Object(effects_["put"])(Actions["a"].app.fetch.success(responseToAction(appResponse,params)))}catch(e){if(e instanceof AppApiError){yield Object(effects_["put"])(Actions["a"].app.fetch.failure({exception:e,...responseToAction(e.response,params)}))}else{yield Object(effects_["put"])(Actions["a"].app.fetch.failure({exception:e}))}}}const appSagas=[Object(effects_["takeEvery"])(Actions["a"].app.checkoutVersion,fetchApp),Object(effects_["takeEvery"])(Actions["a"].app.discardChanges.request,fetchApp),Object(effects_["takeEvery"])(Actions["a"].app.fetch.request,fetchApp),Object(effects_["takeEvery"])(Actions["a"].app.pageLoaded,fetchApp),Object(effects_["takeEvery"])(Actions["a"].hoc.hocLoaded,fetchApp),Object(effects_["takeEvery"])(Actions["a"].hoc.hocUpdated,fetchApp),Object(effects_["takeEvery"])(Actions["a"].visualization.changed,fetchApp)];function*handleLayerDetails(action){var _action$payload$row;const layer=yield Object(effects_["select"])((store=>store.layers.getById(action.payload.layerId)));const entities=yield Object(effects_["select"])((store=>store.entityStore.entities));const entity=entities.getByLayer(layer.id);const tabIndex=entities.findIndex((e=>e===entity));const layerAction=layer.actions.find((action=>action.navigate!==undefined));const coordinates=(_action$payload$row=action.payload.row)===null||_action$payload$row===void 0?void 0:_action$payload$row.getCoordinates();if(layerAction&&layerAction.navigate!==undefined&&coordinates){yield Object(effects_["put"])(Actions["a"].details.zoomRequested({row:action.payload.row,coordinates,layer,navigate:layerAction.navigate}))}else{yield Object(effects_["put"])(Actions["a"].details.openLayerDetails({row:action.payload.row,layerId:action.payload.layerId,tabIndex}))}}const detailsSagas=[Object(effects_["takeEvery"])(Actions["a"].viewLayer.click,handleLayerDetails)];var projector_src=__webpack_require__(39);class EntityRepository_EntityRepository{static async create(authorization){const res=await Object(http_client_src["b"])(config_src["a"].getValue("APP_API_ADDRESS"),`entity`,{},{},authorization);return res.data}}const getLayers=store=>store.layers;const getSearchFilter=(entityRowset,field)=>({field,values:entityRowset.searchTerm?[entityRowset.searchTerm]:[],exactMatch:false,logicalOperator:dataset_src["f"].OR});const getFilters=(entity,entityRowset,appFilters)=>{const filters=new dataset_src["e"];if(entityRowset!==null&&entityRowset!==void 0&&entityRowset.searchTerm){filters.push(getSearchFilter(entityRowset,entity.list.field));if(entity.list.secondaryField){filters.push(getSearchFilter(entityRowset,entity.list.secondaryField))}}if(appFilters.length){appFilters.forEach((filter=>{if(filter.hidden){filters.push(filter)}}))}return filters};function*getEntity(entityId){const entities=yield Object(effects_["select"])((store=>store.entityStore.entities));return entities.getById(entityId)}function*getRow(data,rowId){const queryStore=yield Object(effects_["select"])((store=>store.queryStore));const query=queryStore.queries.findQuery(data);const authorization=yield Object(effects_["select"])((store=>store.authorization));return yield Object(effects_["call"])(dataset_src["d"].getRow,rowId,query,authorization)}function*getInitialRow(){const initialRow=yield Object(effects_["select"])((store=>store.initialRow));return initialRow}function*navigateToInitialRow(){const initialRow=yield*getInitialRow();if(!initialRow){return}const entity=yield*getEntity(initialRow.entityId);if(!entity){return}const layers=yield Object(effects_["select"])(getLayers);const layer=layers.getById(entity.getId());if(!(layer!==null&&layer!==void 0&&layer.encoding.position)){return}try{var _layer$encoding$posit,_layer$encoding$posit2;let row=yield*getRow(entity.data,initialRow.rowId);const projector=yield Object(effects_["select"])((store=>store.projectorStore.projector));const rowProjector=new projector_src["d"](projector,layer.encoding.position.getPositonKeys());row=rowProjector.projectRow(row);if(!row.isPlaced()){return}const floorField=(_layer$encoding$posit=layer.encoding.position)===null||_layer$encoding$posit===void 0?void 0:(_layer$encoding$posit2=_layer$encoding$posit.getFloor())===null||_layer$encoding$posit2===void 0?void 0:_layer$encoding$posit2.field;const floor=floorField?row[floorField]:undefined;yield Object(effects_["put"])(Actions["a"].entity.navigateToInitialRow({entity,row,floor}))}catch(e){yield Object(effects_["put"])(Actions["a"].log.genericError({reason:e.message}))}}function*refreshEntityRows(action){var _entities,_entities2,_visualizations,_entities3;const entitiesState=yield Object(effects_["select"])((store=>store.entityStore.entities));let entities=action.payload.entities;if(!((_entities=entities)!==null&&_entities!==void 0&&_entities.length)&&action.payload.visualizationId){entities=entitiesState}else if(!((_entities2=entities)!==null&&_entities2!==void 0&&_entities2.length)&&(_visualizations=action.payload.visualizations)!==null&&_visualizations!==void 0&&_visualizations.length){entities=entitiesState}else if(!((_entities3=entities)!==null&&_entities3!==void 0&&_entities3.length)&&action.payload.data){const entity=entitiesState.getByData(action.payload.data);entities=entity?new entity_Entities(entity):undefined}for(const db of(_entities4=entities)!==null&&_entities4!==void 0?_entities4:[]){var _entities4;const entity=entitiesState.getById(db.getId());if(!entity)return;yield Object(effects_["put"])(Actions["a"].entity.refresh({entity}))}}function isPaginationAction(action){return Object(external_typesafe_actions_["isActionOf"])([Actions["a"].entity.paginate],action)}function isLoadAction(action){return Object(external_typesafe_actions_["isActionOf"])([Actions["a"].entity.tabLoaded],action)}function*fetchEntityRows(action){const entity=action.payload.entity;const entityRowset=yield Object(effects_["select"])((store=>store.entityStore.rowsets[entity.id]));if(!entity||!entityRowset||isLoadAction(action)&&!(entityRowset!==null&&entityRowset!==void 0&&entityRowset.isInitialState())){return}try{yield Object(effects_["put"])(Actions["a"].entity.fetch.request({entity}));const queryStore=yield Object(effects_["select"])((store=>store.queryStore));const visualizationFilters=yield Object(effects_["select"])((store=>store.filters));const query=queryStore.queries.findQuery(entity.getData());if(!query){yield Object(effects_["put"])(Actions["a"].entity.fetch.failure({exception:new Error(`Query ${JSON.stringify(entity.getData())} not found in query store`)}))}const limit=isLoadAction(action)?action.payload.pageSize:entityRowset.limit;const offset=isPaginationAction(action)?action.payload.offset:entityRowset===null||entityRowset===void 0?void 0:entityRowset.offset;const authorization=yield Object(effects_["select"])((store=>store.authorization));const filters=getFilters(entity,entityRowset,visualizationFilters);const rowsetFilter=entityRowset.filter;const layers=yield Object(effects_["select"])(getLayers);const layer=layers.getById(entity.layer);if(rowsetFilter.onlyNotPlaced){var _layer$encoding$posit3,_layer$encoding$posit4,_layer$encoding$posit5,_layer$encoding$posit6;filters.push({field:layer===null||layer===void 0?void 0:(_layer$encoding$posit3=layer.encoding.position)===null||_layer$encoding$posit3===void 0?void 0:(_layer$encoding$posit4=_layer$encoding$posit3.getPositonKeys())===null||_layer$encoding$posit4===void 0?void 0:_layer$encoding$posit4.x.field,exactMatch:true,values:[null]});filters.push({field:layer===null||layer===void 0?void 0:(_layer$encoding$posit5=layer.encoding.position)===null||_layer$encoding$posit5===void 0?void 0:(_layer$encoding$posit6=_layer$encoding$posit5.getPositonKeys())===null||_layer$encoding$posit6===void 0?void 0:_layer$encoding$posit6.y.field,exactMatch:true,values:[null]})}const response=yield Object(effects_["call"])(dataset_src["d"].getRows,query,undefined,{filters,limit,offset},false,authorization);yield Object(effects_["put"])(Actions["a"].entity.fetch.success({offset,limit,rows:response.rows,entityId:entity.getId(),lastPage:response.lastPage,append:isPaginationAction(action)}))}catch(e){yield Object(effects_["put"])(Actions["a"].entity.fetch.failure({exception:e}))}}function*createEntity(){const authorization=yield Object(effects_["select"])((store=>store.authorization));const visualization=yield Object(effects_["select"])((store=>store.visualizationStore.visualization));try{const data=yield Object(effects_["call"])(EntityRepository_EntityRepository.create,authorization);data.visualization=visualization===null||visualization===void 0?void 0:visualization.id;const entity=Object(external_class_transformer_["plainToInstance"])(entity_Entity,data);yield Object(effects_["put"])(Actions["a"].entity.create.success({entity}));yield Object(effects_["put"])(Actions["a"].entity.selected(entity))}catch(error){yield Object(effects_["put"])(Actions["a"].layer.createDraft.failure({exception:error}))}}const entitySagas=[Object(effects_["debounce"])(300,Actions["a"].entity.search,fetchEntityRows),Object(effects_["takeEvery"])(Actions["a"].entity.create.request,createEntity),Object(effects_["takeEvery"])(Actions["a"].entity.refresh,fetchEntityRows),Object(effects_["takeEvery"])(Actions["a"].entity.paginate,fetchEntityRows),Object(effects_["takeEvery"])(Actions["a"].entity.rowsetFilterChanged,fetchEntityRows),Object(effects_["takeEvery"])(Actions["a"].entity.tabLoaded,fetchEntityRows),Object(effects_["takeEvery"])(Actions["a"].view.viewLoaded,navigateToInitialRow),Object(effects_["takeLatest"])(Actions["a"].rowset.rowSaved,refreshEntityRows)];var Filter=__webpack_require__(53);var external_natural_compare_lite_=__webpack_require__(136);var external_natural_compare_lite_default=__webpack_require__.n(external_natural_compare_lite_);function fetchValues(data,columnName,filterTerm){let filters=arguments.length>3&&arguments[3]!==undefined?arguments[3]:[];let authorization=arguments.length>4?arguments[4]:undefined;let sort=arguments.length>5&&arguments[5]!==undefined?arguments[5]:false;return Object(http_client_src["a"])(config_src["a"].getValue("DATASET_API_ADDRESS",authorization.tenant),`/view/${data.query}/column/${columnName}/value`,{filterTerm,limit:6,dataSource:data.source,filter:Object(Filter["b"])(filters)},authorization).then((res=>{const values=res.data.slice();if(!sort)return values;values.sort(external_natural_compare_lite_default.a);return values}))}function*fetchFilterSuggestions(action){const filterActions=Actions["a"].filter;const authorization=yield Object(effects_["select"])((state=>state.authorization));if(!action.payload.filter.searchTerm){yield Object(effects_["put"])(filterActions.search.success({filter:action.payload.filter.clone()}));return}try{const payload=yield Object(effects_["call"])(fetchValues,action.payload.filter.data,action.payload.filter.field,action.payload.filter.searchTerm,[],authorization);const newFilter=action.payload.filter.clone();newFilter.searchResults=payload;yield Object(effects_["put"])(filterActions.search.success({filter:newFilter}))}catch(e){yield Object(effects_["put"])(Actions["a"].filter.search.failure({exception:e}))}return}const filterSagas=[Object(effects_["takeLatest"])(Actions["a"].filter.search.request,fetchFilterSuggestions)];const createLayer=async(type,partialLayer,authorization)=>{const res=await Object(http_client_src["b"])(config_src["a"].getValue("APP_API_ADDRESS"),`layer/${type}`,{partialLayer},{},authorization);return res.data};const LayerService_createLayer=async(type,partialLayer,authorization)=>createLayer(type,partialLayer,authorization);const deepSetsZoomRange=(obj,zoomRange)=>{if(obj.hasOwnProperty("zoomRange")){var _zoomRange$min,_zoomRange$min$fixed,_zoomRange$min2,_zoomRange$min2$fixed,_zoomRange$max,_zoomRange$max$fixed,_zoomRange$max2,_zoomRange$max2$fixed;if(!obj["zoomRange"])obj["zoomRange"]=Object(fp_["cloneDeep"])(zoomRange);if(!obj["zoomRange"].min&&((_zoomRange$min=zoomRange.min)===null||_zoomRange$min===void 0?void 0:(_zoomRange$min$fixed=_zoomRange$min.fixed)===null||_zoomRange$min$fixed===void 0?void 0:_zoomRange$min$fixed.value)!==undefined)obj["zoomRange"].min={fixed:{value:(_zoomRange$min2=zoomRange.min)===null||_zoomRange$min2===void 0?void 0:(_zoomRange$min2$fixed=_zoomRange$min2.fixed)===null||_zoomRange$min2$fixed===void 0?void 0:_zoomRange$min2$fixed.value}};if(!obj["zoomRange"].max&&((_zoomRange$max=zoomRange.max)===null||_zoomRange$max===void 0?void 0:(_zoomRange$max$fixed=_zoomRange$max.fixed)===null||_zoomRange$max$fixed===void 0?void 0:_zoomRange$max$fixed.value)!==undefined)obj["zoomRange"].max={fixed:{value:(_zoomRange$max2=zoomRange.max)===null||_zoomRange$max2===void 0?void 0:(_zoomRange$max2$fixed=_zoomRange$max2.fixed)===null||_zoomRange$max2$fixed===void 0?void 0:_zoomRange$max2$fixed.value}}}const currentZoomRange=obj["zoomRange"]||zoomRange||obj["visible"]&&obj["visible"]["zoomRange"];Object.keys(obj).forEach((key=>{if(obj[key]&&typeof obj[key]==="object")deepSetsZoomRange(obj[key],currentZoomRange)}))};function*createLayerDraft(action){const authorization=yield Object(effects_["select"])((store=>store.authorization));const visualization=yield Object(effects_["select"])((store=>store.visualizationStore.visualization));try{var _visualization$zoomRa;const data=yield Object(effects_["call"])(LayerService_createLayer,action.payload.type,action.payload.partialLayer,authorization);data._visualization=visualization===null||visualization===void 0?void 0:visualization.id;const zoomRange=(_visualization$zoomRa=visualization===null||visualization===void 0?void 0:visualization.zoomRange)!==null&&_visualization$zoomRa!==void 0?_visualization$zoomRa:getDefaultZoomRange();const layer=Object(external_class_transformer_["plainToInstance"])(Layer_Layer,data);deepSetsZoomRange(layer,zoomRange);yield Object(effects_["put"])(Actions["a"].layer.createDraft.success({layer}))}catch(error){yield Object(effects_["put"])(Actions["a"].layer.createDraft.failure({exception:error}))}}const layerSagas=[Object(effects_["takeEvery"])(Actions["a"].layer.createDraft.request,createLayerDraft)];var Toast=__webpack_require__(33);function*logError(action){src["c"].error(action.payload.reason,action.payload.exception);yield}function*showGenericErrorFeedback(){Object(Toast["a"])("An error has occurred.")}let lastTime=new Date;function*log(action){if(src["a"].isDebugging()&&action.type!=="LAYER_MOUSE_LEFT"&&action.type!=="LAYER_MOUSE_HOVER"&&action.type!=="RESOURCE_DOWNLOAD_PROGRESS"){const currentTime=new Date;src["c"].debug("action interval",currentTime.getTime()-lastTime.getTime());lastTime=currentTime;src["c"].debug("action",action)}yield}const logSagas=[Object(effects_["takeEvery"])("*",log),Object(effects_["takeEvery"])(Actions["a"].app.fetch.failure,logError),Object(effects_["takeEvery"])(Actions["a"].rowset.fetch.failure,logError),Object(effects_["takeEvery"])(Actions["a"].log.genericError,logError),Object(effects_["takeLatest"])(Actions["a"].log.genericError,showGenericErrorFeedback)];async function getQueries(authorization){const response=await Object(http_client_src["a"])(config_src["a"].getValue("BFF_API_ADDRESS",authorization.tenant),`/query`,{},authorization);const body=await response.data;return new dataset_src["g"](...Object(external_class_transformer_["plainToInstance"])(dataset_src["h"],body))}var QueryStore=__webpack_require__(40);function*fetchQueries(){try{const authorization=yield Object(effects_["select"])((state=>state.authorization));const queryStore=yield Object(effects_["select"])((state=>state.queryStore));if(queryStore.status!==QueryStore["a"].partial)return;const queries=yield Object(effects_["call"])(getQueries,authorization);yield Object(effects_["put"])(Actions["a"].query.fetch.success({queries}))}catch(e){yield Object(effects_["put"])(Actions["a"].query.fetch.failure({exception:e}))}}const querySagas=[Object(effects_["takeLatest"])(Actions["a"].entity.selected,fetchQueries),Object(effects_["takeLatest"])(Actions["a"].layer.createDraft.request,fetchQueries),Object(effects_["takeLatest"])(Actions["a"].layer.selected,fetchQueries)];var external_redux_saga_=__webpack_require__(43);class ImageRepository_ImageRepository{static async save(imageFile,authorization,onUploadProgress){try{const data=new FormData;data.append("file",imageFile,imageFile.name);return Object(http_client_src["c"])(config_src["a"].getValue("RESOURCE_API_ADDRESS"),`/tenant/${authorization.tenant}/image`,data,authorization,onUploadProgress)}catch(err){var _err$message;throw new Error((_err$message=err===null||err===void 0?void 0:err.message)!==null&&_err$message!==void 0?_err$message:Object(i18n_src["a"])("UNKNOWN_ERROR"))}}}class ModelRepository_ModelRepository{static async save(modelName,modelFile,authorization,onUploadProgress){try{const data=new FormData;data.append("file",modelFile,modelFile.name);return Object(http_client_src["e"])(config_src["a"].getValue("RESOURCE_API_ADDRESS"),`/tenant/${authorization.tenant}/model/${modelName}`,data,authorization,onUploadProgress)}catch(err){var _err$message;throw new Error((_err$message=err===null||err===void 0?void 0:err.message)!==null&&_err$message!==void 0?_err$message:Object(i18n_src["a"])("UNKNOWN_ERROR"))}}}function createUploadFunctionChannel(fn){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}return Object(external_redux_saga_["eventChannel"])((emitter=>{fn(...args,(p=>emitter({progress:p.progress}))).then((response=>{setTimeout((()=>{emitter({...response.data,success:true});emitter(external_redux_saga_["END"])}),200)})).catch((err=>{emitter({err});emitter(external_redux_saga_["END"])}));return()=>({})}),external_redux_saga_["buffers"].sliding(2))}function*uploadModelFile(action){const authorization=yield Object(effects_["select"])((store=>store.authorization));try{yield Object(effects_["put"])(Actions["a"].resource.modelUploadProgress({sourceLayerId:action.payload.layerId,progress:0}));const channel=yield Object(effects_["call"])(createUploadFunctionChannel,ModelRepository_ModelRepository.save,action.payload.name,action.payload.file,authorization);while(true){const{progress=0,err,success}=yield Object(effects_["take"])(channel);if(err){yield Object(effects_["put"])(Actions["a"].resource.modelUpload.failure({sourceLayerId:action.payload.layerId,exception:err}));return}else if(success){yield Object(effects_["put"])(Actions["a"].resource.modelUpload.success({sourceLayerId:action.payload.layerId}));return}yield Object(effects_["put"])(Actions["a"].resource.modelUploadProgress({sourceLayerId:action.payload.layerId,progress}))}}catch(error){yield Object(effects_["put"])(Actions["a"].resource.modelUpload.failure({sourceLayerId:action.payload.layerId,exception:error}));Object(Toast["a"])(Object(i18n_src["a"])("AN_ERROR_OCCURRED_WHILE_UPLOADING_THE_MODEL_FILE"))}}function*uploadImageFile(action){const authorization=yield Object(effects_["select"])((store=>store.authorization));const layers=yield Object(effects_["select"])((store=>store.layers));try{yield Object(effects_["put"])(Actions["a"].resource.imageUploadProgress({sourceLayerId:action.payload.layerId,progress:0}));const channel=yield Object(effects_["call"])(createUploadFunctionChannel,ImageRepository_ImageRepository.save,action.payload.file,authorization);while(true){const{progress=0,err,success,dimensions,url}=yield Object(effects_["take"])(channel);if(err){yield Object(effects_["put"])(Actions["a"].resource.imageUpload.failure({sourceLayerId:action.payload.layerId,exception:err}));return}else if(success){var _layer$encoding$image,_layer$encoding$bound;const layer=layers.getById(action.payload.layerId);if(!layer)return;const imageColumnField=(_layer$encoding$image=layer.encoding.image)===null||_layer$encoding$image===void 0?void 0:_layer$encoding$image.field;const boundsColumnField=(_layer$encoding$bound=layer.encoding.bounds)===null||_layer$encoding$bound===void 0?void 0:_layer$encoding$bound.field;const bounds=spatial_src["a"].fromPlain(action.payload.row[boundsColumnField]).extrudeKeepingWidth(dimensions.width,dimensions.height).toPolygon();yield Object(effects_["put"])(Actions["a"].resource.imageUpload.success({sourceLayerId:action.payload.layerId,rowsetId:action.payload.rowsetId,row:action.payload.row,rowDiff:{[imageColumnField]:url,[boundsColumnField]:bounds}}));return}yield Object(effects_["put"])(Actions["a"].resource.imageUploadProgress({sourceLayerId:action.payload.layerId,progress}))}}catch(error){yield Object(effects_["put"])(Actions["a"].resource.imageUpload.failure({sourceLayerId:action.payload.layerId,exception:error}));Object(Toast["a"])(Object(i18n_src["a"])("AN_ERROR_OCCURRED_WHILE_UPLOADING_THE_IMAGE_FILE"))}}const resourceSagas=[Object(effects_["takeEvery"])(Actions["a"].details.imageUpload,uploadImageFile),Object(effects_["takeEvery"])(Actions["a"].details.modelUpload,uploadModelFile)];const getAuthorization=store=>store.authorization;const getRowsetStore=store=>store.rowsetStore;const getVisualization=store=>store.visualizationStore.visualization;const getQueryStore=store=>store.queryStore;const RowSaga_getLayers=store=>store.layers;const RowSaga_getViewState=store=>store.viewState;const getEntities=store=>store.entityStore.entities;function*showRowSavedFeedback(action){const entities=yield Object(effects_["select"])((store=>store.entityStore.entities));let entity;if(action.payload.entityId){entity=entities.getById(action.payload.entityId)}else if(action.payload.layerId){entity=entities.getByLayer(action.payload.layerId)}let entityName=Object(i18n_src["a"])("ROW");if(entity){var _entity$getName;entityName=(_entity$getName=entity.getName())!==null&&_entity$getName!==void 0?_entity$getName:Object(i18n_src["a"])("ROW")}let message=Object(i18n_src["a"])("OBJECT_ENTITY_WAS_SAVED_SUCCESSFULLY",{entity:entityName});if(!action.payload.undoDiff){message=Object(i18n_src["a"])("UPDATE_HAS_BEEN_UNDONE")}function onUndoClick(){if(action.payload.undoDiff){Object(effects_["put"])(Actions["a"].entity.undoRequest({entityId:action.payload.entityId,row:action.payload.row,rowDiff:action.payload.undoDiff,rowsetId:action.payload.rowsetId}))}}Object(Toast["b"])(message,onUndoClick)}const getData=(payload,rowsetStore)=>{if(payload.rowsetId){var _rowsetStore$getRowse,_rowsetStore$getRowse2;return(_rowsetStore$getRowse=(_rowsetStore$getRowse2=rowsetStore.getRowset(payload.rowsetId))===null||_rowsetStore$getRowse2===void 0?void 0:_rowsetStore$getRowse2.data)!==null&&_rowsetStore$getRowse!==void 0?_rowsetStore$getRowse:payload.data}return payload.data};function*updateRow(action){const authorization=yield Object(effects_["select"])(getAuthorization);const visualization=yield Object(effects_["select"])(getVisualization);const queryStore=yield Object(effects_["select"])(getQueryStore);const rowsetStore=yield Object(effects_["select"])(getRowsetStore);const layers=yield Object(effects_["select"])(RowSaga_getLayers);const entities=yield Object(effects_["select"])(getEntities);const viewState=yield Object(effects_["select"])(RowSaga_getViewState);if(!visualization)throw new Error("visualization should be available for update row");try{const data=getData(action.payload,rowsetStore);const query=queryStore.queries.findQuery(data);const queryUpdater=queryStore.updaters.getUpdater(query);if(queryUpdater){yield Object(effects_["call"])(queryUpdater.updater,action.payload.row,action.payload.rowDiff)}else{yield Object(effects_["call"])(dataset_src["d"].updateRow,query,action.payload.row._id,action.payload.rowDiff,authorization)}let undoDiff;if(action.type!==Object(external_typesafe_actions_["getType"])(Actions["a"].entity.undoRequest)){undoDiff=Object.fromEntries(Object.keys(action.payload.rowDiff).map((key=>{var _action$payload$row$k;return[key,(_action$payload$row$k=action.payload.row[key])!==null&&_action$payload$row$k!==void 0?_action$payload$row$k:null]})))}let isOptimistic=Object(external_typesafe_actions_["isActionOf"])([Actions["a"].viewLayer.dragEnded,Actions["a"].entity.rowPlaced,Actions["a"].entity.rowUnplaced,Actions["a"].resource.imageUpload.success,Actions["a"].entity.undoRequest],action);if(Object(external_typesafe_actions_["isActionOf"])([Actions["a"].entity.rowPlaced],action)&&action.payload.entityId){const entity=entities.getById(action.payload.entityId);const layer=layers.getById(entity===null||entity===void 0?void 0:entity.layer);const isInRange=layer===null||layer===void 0?void 0:layer.visible.zoomRange.isInRange(viewState.zoom);if(isOptimistic&&isInRange===false)isOptimistic=false}const savedPayload={...action.payload,undoDiff};if(isOptimistic){yield Object(effects_["put"])(Actions["a"].rowset.optimisticRowSaved(savedPayload))}else{yield Object(effects_["put"])(Actions["a"].rowset.rowSaved(savedPayload))}}catch(e){yield Object(effects_["put"])(Actions["a"].log.genericError({reason:"ROW_UPDATE_FAILED",exception:e}))}return}const rowSagas=[Object(effects_["takeEvery"])(Actions["a"].entity.rowChanged,updateRow),Object(effects_["takeEvery"])(Actions["a"].entity.rowPlaced,updateRow),Object(effects_["takeEvery"])(Actions["a"].entity.rowUnplaced,updateRow),Object(effects_["takeEvery"])(Actions["a"].viewLayer.dragEnded,updateRow),Object(effects_["takeEvery"])(Actions["a"].entity.undoRequest,updateRow),Object(effects_["takeLatest"])(Actions["a"].resource.imageUpload.success,updateRow),Object(effects_["takeLatest"])(Actions["a"].rowset.optimisticRowSaved,showRowSavedFeedback),Object(effects_["takeLatest"])(Actions["a"].rowset.rowSaved,showRowSavedFeedback)];function getRowsetsToFetch(candidateRowsets,rowsetStore,viewState,world){const nonexistent=Object(fp_["differenceBy"])((r=>r.getId()),candidateRowsets,rowsetStore.getRowsets());const empty=Object(fp_["intersectionBy"])((r=>r.getId()),candidateRowsets,rowsetStore.getEmptyRowsets());const newData=Object(fp_["uniqBy"])((r=>r.getId()),Object(fp_["unionWith"])(fp_["isEqual"],nonexistent,empty));const fetchAgainData=Object(fp_["intersectionBy"])((r=>r.getId()),candidateRowsets,rowsetStore.getRowsetsToFetchAgain(viewState,world));const rowsetsToFetch=Object(fp_["uniqBy"])((r=>r.getId()),Object(fp_["unionWith"])(fp_["isEqual"],fetchAgainData,newData));return new Rowsets_Rowsets(...rowsetsToFetch)}function getVisibleRowsetsToFetch(layers,rowsetStore,viewState,world){return new Rowsets_Rowsets(...getRowsetsToFetch(layers.getTargetRowsets(viewState.zoom),rowsetStore,viewState,world))}function shouldFetchRowset(rowset,rowsetStore,viewState,world){if(!rowset)return false;return getRowsetsToFetch([rowset],rowsetStore,viewState,world).length>0}let prefetchThreshold=2;function setPrefetchThreshold(newPrefetchThreshold){return prefetchThreshold=newPrefetchThreshold}function getPrefetchThreshold(){return prefetchThreshold}function getClosestResolution(targetRowset,currentRowset,layer){if(targetRowset.resolution>currentRowset.resolution){const nextResolution=(currentRowset===null||currentRowset===void 0?void 0:currentRowset.resolution)+1;return nextResolution>layer.getResolutions().getMax()?layer.getResolutions().getMax():nextResolution}else if(targetRowset.resolution<currentRowset.resolution){const previousResolution=(currentRowset===null||currentRowset===void 0?void 0:currentRowset.resolution)-1;return previousResolution<layer.getResolutions().getMin()?layer.getResolutions().getMin():previousResolution}return targetRowset.resolution}function getZoomFetch(layer,rowsetStore,viewState,world,currentZoomLevel,targetZoomLevel){const targetViewState=viewState.withZoom(targetZoomLevel);const targetRowset=layer.getTargetRowset(targetZoomLevel);const currentRowset=layer.getTargetRowset(currentZoomLevel);if(targetRowset&¤tRowset){const closestResolution=getClosestResolution(targetRowset,currentRowset,layer);targetRowset.resolution=closestResolution}if(shouldFetchRowset(targetRowset,rowsetStore,targetViewState,world)){return{rowset:targetRowset,targetViewState}}}function getZoomFetchs(layers,rowsetStore,viewState,world,zoomLevel,targetZoomLevel){const zoomLayers=layers.filter(fromZoom(targetZoomLevel));return zoomLayers.map((layer=>getZoomFetch(layer,rowsetStore,viewState,world,zoomLevel,targetZoomLevel))).filter((fetch=>!!fetch))}function getZoomInPreFetchs(layers,rowsetStore,viewState,world){let zoomInPrefetchs=[];for(let i=1;i<=getPrefetchThreshold();i++){const zoomFetchs=getZoomFetchs(layers,rowsetStore,viewState,world,viewState.zoom,viewState.zoom+i);zoomInPrefetchs=zoomInPrefetchs.concat(zoomFetchs)}return zoomInPrefetchs}const prefetchRowsetId=prefetch=>{var _prefetch$rowset;return prefetch&&((_prefetch$rowset=prefetch.rowset)===null||_prefetch$rowset===void 0?void 0:_prefetch$rowset.getId())};function getPrefetchs(layers,rowsetStore,viewState,visualization,world){if(!viewState)return[];const zoomInPrefetchs=getZoomInPreFetchs(layers,rowsetStore,viewState,world);const possiblePrefetchs=Object(fp_["uniqBy"])(prefetchRowsetId,zoomInPrefetchs);const zoomFetchs=getZoomFetchs(layers,rowsetStore,viewState,world,viewState.zoom,viewState.zoom);const prefetchs=Object(fp_["differenceBy"])((prefetch=>{var _prefetch$rowset2;return prefetch&&((_prefetch$rowset2=prefetch.rowset)===null||_prefetch$rowset2===void 0?void 0:_prefetch$rowset2.getId())}),possiblePrefetchs,zoomFetchs);return prefetchs.filter((prefetch=>!!prefetch))}function getBleedMultiplier(){return 2}function getFetchBox(smartLoad,visibleWorld){if(!visibleWorld)return;if(smartLoad){return visibleWorld.multiply(getBleedMultiplier())}else{return new spatial_src["b"]({x:new spatial_src["e"],y:new spatial_src["e"],z:visibleWorld.z})}}var DatasetService=__webpack_require__(76);var BoxToFilter=__webpack_require__(83);var Fetch=__webpack_require__(31);function takeLatestPerKey(patternOrChannel,worker,keySelector){for(var _len=arguments.length,args=new Array(_len>3?_len-3:0),_key=3;_key<_len;_key++){args[_key-3]=arguments[_key]}return Object(effects_["fork"])((function*(){const tasks={};while(true){const action=yield Object(effects_["take"])(patternOrChannel);const key=yield Object(effects_["call"])(keySelector,action);if(tasks[key]){yield Object(effects_["cancel"])(tasks[key])}tasks[key]=yield Object(effects_["fork"])(worker,...args,action)}}))}const RowsetSaga_getAuthorization=store=>store.authorization;const RowsetSaga_getApp=store=>store.appStore.app;const RowsetSaga_getRowsetStore=store=>store.rowsetStore;const RowsetSaga_getViewState=store=>store.viewState;const RowsetSaga_getLayers=store=>store.layers;const getFilterState=store=>store.filters;const RowsetSaga_getVisualization=store=>store.visualizationStore.visualization;const getQueriesStore=store=>store.queryStore;const getProjectorStore=store=>store.projectorStore;const RowsetSaga_getWorld=store=>store.world;function*getPayloadFilters(action){let filters;if(Object(external_typesafe_actions_["isActionOf"])([Actions["a"].filter.sidebarFiltersClear,Actions["a"].filter.filterToggle],action)){filters=new domain_Filters;filters.push(...action.payload.filters)}if(!filters){const stateFilters=yield Object(effects_["select"])(getFilterState);filters=new domain_Filters;filters.push(...stateFilters)}const floorStore=yield Object(effects_["select"])((store=>store.floor));if(!Object(fp_["isNil"])(floorStore.field)&&!Object(fp_["isNil"])(floorStore.current)){filters.push(new CategoricalFilter_CategoricalFilter({field:floorStore.field,values:[floorStore.current],exactMatch:true}))}return{filters}}const getModelBoxFilters=(rowset,columns,projector,fetchBox,world)=>{var _rowset$scales$z;if(!projector||!fetchBox||!(world!==null&&world!==void 0&&world.isGeo())||!columns)return[];const fields={};fields.z=(_rowset$scales$z=rowset.scales.z)===null||_rowset$scales$z===void 0?void 0:_rowset$scales$z.field;if(rowset.shouldSmartLoad()){fields.x=rowset.scales.x.field;fields.y=rowset.scales.y.field}const boxProjector=new projector_src["a"](projector,rowset.scales.x.type,rowset.scales.y.type);const fetchModelBox=boxProjector.unproject(fetchBox);return Object(BoxToFilter["a"])(fetchModelBox,fields,columns)};function*refreshData(action){const rowsetStore=yield Object(effects_["select"])(RowsetSaga_getRowsetStore);const layers=yield Object(effects_["select"])(RowsetSaga_getLayers);const visualization=yield Object(effects_["select"])(RowsetSaga_getVisualization);const app=yield Object(effects_["select"])(RowsetSaga_getApp);const world=yield Object(effects_["select"])(RowsetSaga_getWorld);const viewState=yield Object(effects_["select"])(RowsetSaga_getViewState);const queryStore=yield Object(effects_["select"])(getQueriesStore);if(!viewState||!world)throw new Error(Object(i18n_src["a"])("CANNOT_REFRESH_DATA_WITHOUT_VIEW_STATE_AND_WORLD"));const{filters}=yield getPayloadFilters(action);const filtersToFetch=new domain_Filters(...filters);const rowsets=getVisibleRowsetsToFetch(layers,rowsetStore,viewState,world);const prefetchs=getPrefetchs(layers,rowsetStore,viewState,visualization,world);const subscribeQueries=new dataset_src["g"];if(rowsets.length>0){for(const rowset of rowsets){yield Object(effects_["put"])(Actions["a"].rowset.fetchDataRequested({app,visualization,rowset,viewState,filters:filtersToFetch}));const query=queryStore.queries.findQuery(rowset.getData());if(query){subscribeQueries.push(query)}}}yield Object(effects_["put"])(Actions["a"].update.subscribe({filters,queries:subscribeQueries}));for(const prefetch of prefetchs){yield Object(effects_["put"])(Actions["a"].rowset.fetchDataRequested({app,visualization,rowset:prefetch.rowset,viewState:prefetch.targetViewState,filters:filtersToFetch}))}}const getSelectedFilters=filterState=>{if(!filterState)return new domain_Filters;return filterState.getWithValues()};const RowsetSaga_getFilters=(filters,modelBoxFilters,floorFilter)=>{const selectedFilters=getSelectedFilters(filters).map((f=>f.toPlain()));selectedFilters.push(...modelBoxFilters);if(floorFilter)selectedFilters.push(floorFilter);return selectedFilters};function getTransformParams(rowset){if(rowset.transform){return{type:rowset.transform.getType(),resolution:rowset.resolution}}return undefined}function createFetchRowFunctionChannel(fn){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}return Object(external_redux_saga_["eventChannel"])((emitter=>{fn(...args,(p=>emitter({progress:p}))).then((response=>{setTimeout((()=>{emitter({...response,success:true});emitter(external_redux_saga_["END"])}),100)})).catch((err=>{emitter({err});emitter(external_redux_saga_["END"])}));return()=>({})}),external_redux_saga_["buffers"].sliding(2))}function*fetchData(action){var _rowset$transform;const authorization=yield Object(effects_["select"])(RowsetSaga_getAuthorization);const queryStore=yield Object(effects_["select"])(getQueriesStore);const projectorStore=yield Object(effects_["select"])(getProjectorStore);const rowset=action.payload.rowset;const query=queryStore.queries.findQuery(rowset.getData());if(!query)return;const world=yield Object(effects_["select"])(RowsetSaga_getWorld);const fetchBox=getFetchBox(rowset.shouldSmartLoad(),action.payload.viewState.getVisibleWorld(world));const projector=projectorStore.projector;const modelBoxFilters=getModelBoxFilters(rowset,query.getColumns((_rowset$transform=rowset.transform)===null||_rowset$transform===void 0?void 0:_rowset$transform.getType()),projector,fetchBox,world);const filters=RowsetSaga_getFilters(action.payload.filters,modelBoxFilters);yield Object(effects_["put"])(Actions["a"].rowset.fetch.request({rowset}));try{const queryLoader=queryStore.loaders.getLoader(query);let response;if(queryLoader){response=yield Object(effects_["call"])(DatasetService["a"].getRowsWithLoader,queryLoader.loader,query,getTransformParams(rowset),{filters});const payload={rowset:action.payload.rowset.fill(response.rows,fetchBox)};yield Object(effects_["put"])(Actions["a"].rowset.fetch.success(payload))}else{const channel=yield Object(effects_["call"])(createFetchRowFunctionChannel,DatasetService["a"].getRows,query,getTransformParams(rowset),{filters},action.payload.visualization.isFetchScope(),authorization);const progressPayload={key:rowset.getId(),entity:Fetch["a"].DATA,progress:0};yield Object(effects_["put"])(Actions["a"].rowset.fetchProgress(progressPayload));while(true){const{progress=0,err,success,rows}=yield Object(effects_["take"])(channel);if(err){yield Object(effects_["put"])(Actions["a"].rowset.fetch.failure({reason:"FETCH_DATA_FAILED",exception:err,rowset:action.payload.rowset}));yield Object(effects_["put"])(Actions["a"].rowset.fetchProgress({...progressPayload,progress:undefined}));return}else if(success){const payload={rowset:action.payload.rowset.fill(rows,fetchBox)};yield Object(effects_["put"])(Actions["a"].rowset.fetch.success(payload));yield Object(effects_["put"])(Actions["a"].rowset.fetchProgress({...progressPayload,progress:undefined}));return}yield Object(effects_["put"])(Actions["a"].rowset.fetchProgress({...progressPayload,progress}))}}}catch(e){yield Object(effects_["put"])(Actions["a"].rowset.fetch.failure({reason:"FETCH_DATA_FAILED",exception:e,rowset:action.payload.rowset}))}}function selectRowsetId(action){return action.payload.rowset.getId()}const rowsetSagas=[Object(effects_["takeEvery"])(Actions["a"].floor.valuesFetched,refreshData),Object(effects_["takeEvery"])(Actions["a"].filter.sidebarFiltersClear,refreshData),Object(effects_["takeEvery"])(Actions["a"].query.dataListUpdated,refreshData),Object(effects_["takeLatest"])(Actions["a"].filter.filterToggle,refreshData),Object(effects_["takeLatest"])(Actions["a"].layer.positionChanged,refreshData),Object(effects_["takeLatest"])(Actions["a"].layer.visibilityChanged,refreshData),Object(effects_["takeLatest"])(Actions["a"].rowset.rowSaved,refreshData),takeLatestPerKey(Actions["a"].rowset.fetchDataRequested,fetchData,selectRowsetId)];async function getSchema(){const response=await Object(http_client_src["a"])(config_src["a"].getValue("APP_API_ADDRESS"),"/schema");return await response.data}function*verifySchema(){const schema=yield Object(effects_["select"])((store=>store.schema));if(Object.keys(schema).length===0){yield Object(effects_["put"])(Actions["a"].schema.fetch.request())}}function*fetchSchema(){try{const schema=yield Object(effects_["call"])(getSchema);yield Object(effects_["put"])(Actions["a"].schema.fetch.success(schema))}catch(e){yield Object(effects_["put"])(Actions["a"].schema.fetch.failure({exception:e}))}}const schemaSagas=[Object(effects_["takeEvery"])(Actions["a"].app.pageLoaded,verifySchema),Object(effects_["takeEvery"])(Actions["a"].schema.fetch.request,fetchSchema)];function*subscribeForUpdates(action){const updateWatcher=UpdateWatcher_UpdateWatcher.getInstance();const authorization=yield Object(effects_["select"])((store=>store.authorization));updateWatcher.subscribe(action.payload.queries,authorization.tenant)}const updateSagas=[Object(effects_["takeEvery"])(Actions["a"].update.subscribe,subscribeForUpdates)];async function put(appId,visualizationId,partialVisualization,authorization){const encodedVisualizationId=encodeURIComponent(visualizationId);const res=await Object(http_client_src["d"])(config_src["a"].getValue("APP_API_ADDRESS"),`app/${appId}/visualization/${encodedVisualizationId}`,partialVisualization,{},authorization);return res.data}const saveVisualization=async(appId,visualization,layers,entities,authorization)=>{const plainLayers=Object(external_class_transformer_["classToPlain"])(layers);const plainEntities=Object(external_class_transformer_["classToPlain"])(entities);const dataToBeSaved={layers:plainLayers,entities:plainEntities,initialPosition:visualization.initialPosition,mapStyle:visualization.mapStyle};return put(appId,visualization.id,dataToBeSaved,authorization)};const VisualizationSaga_getAuthorization=store=>store.authorization;const VisualizationSaga_getVisualization=store=>store.visualizationStore.visualization;function*saveVisualizationRequest(action){const authorization=yield Object(effects_["select"])(VisualizationSaga_getAuthorization);const visualization=yield Object(effects_["select"])(VisualizationSaga_getVisualization);const appStore=yield Object(effects_["select"])((state=>state.appStore));if(!visualization)return;try{var _appStore$app;yield Object(effects_["call"])(saveVisualization,(_appStore$app=appStore.app)===null||_appStore$app===void 0?void 0:_appStore$app.id,visualization,action.payload.layers,action.payload.entities,authorization);yield Object(effects_["put"])(Actions["a"].visualization.save.success())}catch(e){yield Object(effects_["put"])(Actions["a"].visualization.save.failure({exception:e}))}}function*saveVisualizationSuccess(){Object(Toast["b"])("App saved successfully.")}const formatErrorMessage=exception=>{var _exception$message;if(!exception)return"";if(Array.isArray(exception.responseData)&&exception.responseData.length){const firstErrorMessage=`${exception.responseData[0].instancePath}:\n ${exception.responseData[0].message}`;if(exception.responseData.length>1)return`${firstErrorMessage}\n and other ${exception.responseData.length-1} errors...`;return firstErrorMessage}return(_exception$message=exception.message)!==null&&_exception$message!==void 0?_exception$message:""};function*saveVisualizationFailure(action){const exceptionMessage=formatErrorMessage(action.payload.exception);Object(Toast["a"])("App could not be saved.\n"+exceptionMessage)}function*setCurrentPositionAsInitial(_){Object(Toast["b"])(Object(i18n_src["a"])("CURRENT_POSITION_NOW_IS_INITIAL_POSITION"))}const visualizationSagas=[Object(effects_["takeEvery"])(Actions["a"].visualization.setInitialPosition,setCurrentPositionAsInitial),Object(effects_["takeLatest"])(Actions["a"].visualization.save.failure,saveVisualizationFailure),Object(effects_["takeLatest"])(Actions["a"].visualization.save.request,saveVisualizationRequest),Object(effects_["takeLatest"])(Actions["a"].visualization.save.success,saveVisualizationSuccess)];let RowsetStatus;(function(RowsetStatus){RowsetStatus["NONE"]="NONE";RowsetStatus["LOADING"]="LOADING";RowsetStatus["LOADED"]="LOADED";RowsetStatus["ERROR"]="ERROR"})(RowsetStatus||(RowsetStatus={}));function*createWorld(action){const visualization=yield Object(effects_["select"])((_ref=>{let{visualizationStore}=_ref;return visualizationStore.visualization}));if(!visualization)return;const world=yield Object(effects_["select"])((_ref2=>{let{world}=_ref2;return world}));if(!world||world.isReady())return;const vizLayers=yield Object(effects_["select"])((_ref3=>{let{layers}=_ref3;return layers}));const rowsetsFromLayers=vizLayers.getRowsets(visualization.getInitialZoom(),visualization.id);const rowsetStore=yield Object(effects_["select"])((_ref4=>{let{rowsetStore}=_ref4;return rowsetStore}));const rowsetsStatus=rowsetsFromLayers.map((rowset=>{const isRowsetFromAction=action.payload.rowset.getId()===rowset.getId();if(isRowsetFromAction)return RowsetStatus.NONE;return rowsetStore.getStatus(rowset)}));if(rowsetsStatus.every((rowsetStatus=>rowsetStatus!==RowsetStatus.LOADING))){const rowsets=new Rowsets_Rowsets(...rowsetsFromLayers.map((rowset=>rowsetStore.getRowset(rowset.getId()))));const unifedScaleDomain=rowsets.getUnifiedScaleDomains();const newWorld=world.setScaleDomains(unifedScaleDomain);return yield Object(effects_["put"])(Actions["a"].world.worldCreated({world:newWorld}))}}const worldSagas=[Object(effects_["takeLatest"])(Actions["a"].rowset.fetch.success,createWorld)];function*restoreAppVersionRequest(action){const authorization=yield Object(effects_["select"])((state=>state.authorization));try{const appResponse=yield Object(effects_["call"])(rollbackAppVersion,action.payload.appId,action.payload.version,authorization);yield Object(effects_["put"])(Actions["a"].app.restoreVersion.success(appResponse))}catch(e){yield Object(effects_["put"])(Actions["a"].app.restoreVersion.failure({exception:e}))}}function*restoreAppVersionSuccess(action){yield Object(effects_["put"])(Actions["a"].app.fetch.request({appId:action.payload.id}));Object(Toast["b"])("App restored successfully.")}function*restoreAppVersionFailure(){Object(Toast["a"])("App could not be restored.")}function*fetchLatestAppVersion(){const appVersion=yield Object(effects_["select"])((store=>store.appStore.version));const appId=yield Object(effects_["select"])((store=>{var _store$appStore$app;return(_store$appStore$app=store.appStore.app)===null||_store$appStore$app===void 0?void 0:_store$appStore$app.id}));if(appVersion!==undefined){yield Object(effects_["put"])(Actions["a"].app.fetch.request({appId}))}}const historySagas=[Object(effects_["takeEvery"])(Actions["a"].toolbar.changeScreen,fetchLatestAppVersion),Object(effects_["takeEvery"])(Actions["a"].toolbar.closeScreen,fetchLatestAppVersion),Object(effects_["takeLatest"])(Actions["a"].app.restoreVersion.request,restoreAppVersionRequest),Object(effects_["takeLatest"])(Actions["a"].app.restoreVersion.success,restoreAppVersionSuccess),Object(effects_["takeLatest"])(Actions["a"].app.restoreVersion.failure,restoreAppVersionFailure)];function*refreshFloorFilter(action){var _fetchRowset$transfor;const layers=yield Object(effects_["select"])((store=>store.layers));let viewState=action.payload.viewState;if(!viewState)viewState=yield Object(effects_["select"])((store=>store.viewState));const projectorStore=yield Object(effects_["select"])((store=>store.projectorStore));const authorization=yield Object(effects_["select"])((store=>store.authorization));const queryStore=yield Object(effects_["select"])((store=>store.queryStore));const world=yield Object(effects_["select"])((store=>store.world));const currentFloor=yield Object(effects_["select"])((store=>store.floor.current));const firstLayerWithFloor=layers.findFirstVisibleWithFloor(viewState.zoom);const rowset=firstLayerWithFloor===null||firstLayerWithFloor===void 0?void 0:firstLayerWithFloor.getTargetRowset(viewState.zoom);if(!(rowset!==null&&rowset!==void 0&&rowset.floorField))return yield Object(effects_["put"])(Actions["a"].floor.valuesFetched());const fetchRowset=new Rowset_Rowset(rowset);fetchRowset.data=new Data_Data({...fetchRowset.data,smartLoad:true});const fetchBox=getFetchBox(fetchRowset.shouldSmartLoad(),viewState.getVisibleWorld(world));const query=queryStore.queries.findQuery(fetchRowset.getData());const columns=query===null||query===void 0?void 0:query.getColumns((_fetchRowset$transfor=fetchRowset.transform)===null||_fetchRowset$transfor===void 0?void 0:_fetchRowset$transfor.getType());const projector=projectorStore.projector;const modelBoxFilters=getModelBoxFilters(fetchRowset,columns,projector,fetchBox,world);const values=yield Object(effects_["call"])(fetchValues,rowset.getData(),rowset.floorField,undefined,modelBoxFilters,authorization,true);const column=columns===null||columns===void 0?void 0:columns.get(rowset.floorField);const currentFloorValue=column!==null&&column!==void 0&&column.isQuantitative()?Number(currentFloor):String(currentFloor);const filterValue=values!==null&&values!==void 0&&values.length&&!Object(fp_["isNil"])(currentFloorValue)&&values.indexOf(currentFloorValue)>=0?currentFloorValue:values[0];yield Object(effects_["put"])(Actions["a"].floor.valuesFetched({field:rowset.floorField,values,value:filterValue}))}const floorSagas=[Object(effects_["takeEvery"])(Actions["a"].view.viewLoaded,refreshFloorFilter),Object(effects_["takeLatest"])(Actions["a"].details.zoomRequested,refreshFloorFilter),Object(effects_["takeLatest"])(Actions["a"].entity.navigateToInitialRow,refreshFloorFilter),Object(effects_["takeLatest"])(Actions["a"].entity.onEntityRowClick,refreshFloorFilter),Object(effects_["takeLatest"])(Actions["a"].navigation.floorChangeRequested,refreshFloorFilter),Object(effects_["takeLatest"])(Actions["a"].navigation.goToPlace,refreshFloorFilter),Object(effects_["takeLatest"])(Actions["a"].view.viewDragEnd,refreshFloorFilter),Object(effects_["takeLatest"])(Actions["a"].layer.queryChanged,refreshFloorFilter),Object(effects_["debounce"])(3e3,Actions["a"].layer.codeChanged,refreshFloorFilter),Object(effects_["debounce"])(100,Actions["a"].navigation.zoomInRequested,refreshFloorFilter),Object(effects_["debounce"])(100,Actions["a"].navigation.zoomOutRequested,refreshFloorFilter),Object(effects_["throttle"])(500,Actions["a"].view.viewZooming,refreshFloorFilter)];function*rootSaga(){yield Object(effects_["all"])([...analyticsSagas,...animationSagas,...appSagas,...detailsSagas,...entitySagas,...filterSagas,...layerSagas,...logSagas,...querySagas,...resourceSagas,...rowSagas,...rowsetSagas,...schemaSagas,...updateSagas,...visualizationSagas,...worldSagas,...historySagas,...floorSagas])}var AppStore=__webpack_require__(44);const appReducer=function(){var _action$payload$excep,_action$payload$excep2;let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new AppStore["b"];let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.request):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.checkoutVersion):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.discardChanges.request):return state.setStatus(AppStore["a"].loading);case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):return state.updateApp(action.payload.app).setStatus(AppStore["a"].updated).setVersion(action.payload.version);case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):return new AppStore["b"]({app:new App_App({id:action.payload.appId})});case Object(external_typesafe_actions_["getType"])(Actions["a"].app.pageLoaded):return state.setEditing(false).updateApp(new App_App({id:action.payload.params.appId}));case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.editingToggle):return state.setEditing(action.payload.isEditing);case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.failure):if((_action$payload$excep=action.payload.exception)!==null&&_action$payload$excep!==void 0&&_action$payload$excep.isAppResourceError&&(_action$payload$excep2=action.payload.exception)!==null&&_action$payload$excep2!==void 0&&_action$payload$excep2.isAppResourceError()){return state.setStatus(AppStore["a"].fetchingError)}else if(action.payload.app){return state.updateApp(action.payload.app)}return state.setStatus(AppStore["a"].fetchingError);case Object(external_typesafe_actions_["getType"])(Actions["a"].app.restoreVersion.request):return state.setStatus(AppStore["a"].restoringVersion);default:return state}};class Authorization{constructor(params){var _params$signOut,_params$changeTenant;this.accessToken=void 0;this.tenants=void 0;this.tenant=void 0;this.permissions=void 0;this.email=void 0;this.signOut=void 0;this.changeTenant=void 0;this.accessToken=params.accessToken;this.tenant=params.tenant;this.tenants=params.tenants;this.email=params.email;this.permissions=params.permissions;this.signOut=(_params$signOut=params.signOut)!==null&&_params$signOut!==void 0?_params$signOut:()=>undefined;this.changeTenant=(_params$changeTenant=params.changeTenant)!==null&&_params$changeTenant!==void 0?_params$changeTenant:()=>undefined}static createEmpty(){return new Authorization({accessToken:"",tenant:"",tenants:[],email:"",permissions:[],signOut:()=>undefined,changeTenant:()=>undefined})}canEditApp(){return this.permissions.includes("app:write")}canEditRow(){return this.permissions.includes("row:write")}canListApps(){return this.permissions.includes("app:list")}static fromM2mToken(params){return new Authorization({accessToken:params.accessToken,tenant:params.tenant,permissions:params.permissions,tenants:params.tenants,email:"",signOut:()=>undefined,changeTenant:()=>undefined})}}var AuthActions=__webpack_require__(84);const authorizationReducer=function(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:Authorization.createEmpty();let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(AuthActions["a"].signedIn):return new Authorization(action.payload);case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):return Authorization.fromM2mToken({accessToken:action.payload.accessToken,tenant:action.payload.tenant,tenants:action.payload.tenants,permissions:action.payload.permissions});default:return state}};const axesReducer=function(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new AxesList;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):return new AxesList;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):return action.payload.axes;default:return state}};let EntityRowsetStatus;(function(EntityRowsetStatus){EntityRowsetStatus["NONE"]="NONE";EntityRowsetStatus["LOADING"]="LOADING";EntityRowsetStatus["UPDATED"]="UPDATED"})(EntityRowsetStatus||(EntityRowsetStatus={}));class EntityRowset_EntityRowset{constructor(props){this.rows=void 0;this.status=void 0;this.limit=void 0;this.offset=void 0;this.lastPage=void 0;this.filter=void 0;this.searchTerm=void 0;Object.assign(this,props);if(!this.rows)this.rows=new dataset_src["k"];if(!this.status)this.status=EntityRowsetStatus.NONE;if(!this.limit)this.limit=0;if(!this.offset)this.offset=0;if(this.lastPage===undefined)this.lastPage=true;if(this.filter===undefined)this.filter={onlyNotPlaced:false}}clone(){return new EntityRowset_EntityRowset(this)}isLoading(){return this.status===EntityRowsetStatus.LOADING}isLoaded(){return this.status===EntityRowsetStatus.UPDATED}isInitialState(){return this.status===EntityRowsetStatus.NONE}setRows(rows){const cloned=this.clone();cloned.rows=rows;cloned.status=EntityRowsetStatus.UPDATED;return cloned}appendRows(rows){const cloned=this.clone();cloned.rows.etag=rows.etag;for(let index=0;index<rows.length;index++){cloned.rows.push(rows[index])}cloned.status=EntityRowsetStatus.UPDATED;return cloned}updateRow(row){const cloned=this.clone();const rowIndex=cloned.rows.findIndex((r=>r._id===row._id));if(rowIndex>=0){cloned.rows.splice(rowIndex,1,row);cloned.rows.etag=`${cloned.rows.etag}_1`}cloned.status=EntityRowsetStatus.UPDATED;return cloned}}class EntityStore_EntityStore{constructor(props){this.entities=void 0;this.placingId=void 0;this.editingId=void 0;this.rowsets=void 0;Object.assign(this,props);if(!this.entities)this.entities=new entity_Entities;if(!this.rowsets)this.rowsets={}}clone(){return new EntityStore_EntityStore(this)}getPlacing(){return this.entities.find((entity=>entity.getId()===this.placingId))}setEntities(entities){const cloned=this.clone();cloned.entities=entities;entities.forEach((entity=>this.rowsets[entity.getId()]=new EntityRowset_EntityRowset));return cloned}getUpdatedRowset(entityId,rowsetInfo){let clean=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(clean)return new EntityRowset_EntityRowset({...rowsetInfo});return new EntityRowset_EntityRowset({...this.rowsets[entityId],...rowsetInfo})}immutableUpdateRowset(entityId,rowsetInfo,clean){const cloned=this.clone();cloned.rowsets[entityId]=this.getUpdatedRowset(entityId,rowsetInfo,clean);return cloned}setRows(entityId,rows,limit,offset,lastPage,append){const cloned=this.clone();const entityRowset=this.getUpdatedRowset(entityId,{limit,offset,lastPage});if(append)cloned.rowsets[entityId]=entityRowset.appendRows(rows);else cloned.rowsets[entityId]=entityRowset.setRows(rows);return cloned}updateEntityRow(entityId,row,rowDiff){const cloned=this.clone();if(!entityId)return cloned;const entityRowset=new EntityRowset_EntityRowset({...this.rowsets[entityId]});const newRow=new dataset_src["i"]({...row,...rowDiff});cloned.rowsets[entityId]=entityRowset.updateRow(newRow);return cloned}setEntityStatus(entityId,status){return this.immutableUpdateRowset(entityId,{status})}setSearch(entityId,searchTerm){return this.immutableUpdateRowset(entityId,{searchTerm},true)}setRowsetFilter(entity,filter){return this.immutableUpdateRowset(entity.getId(),{filter,offset:0})}moveEntity(entityId,steps){return this.setEntities(this.entities.move(entityId,steps))}deleteEntity(entityId){return this.setEntities(this.entities.delete(entityId))}upsertEntity(entity){return this.setEntities(this.entities.upsertEntity(entity))}setAttribute(entityId,modifierFunc){return this.setEntities(this.entities.immutableSet(entityId,modifierFunc))}setSelected(entityId){const cloned=this.clone();cloned.editingId=entityId;return cloned}setEditing(entityId){const cloned=this.clone();cloned.placingId=entityId;return cloned}toggleEditing(entityId){return this.setEditing(entityId!==this.placingId?entityId:undefined)}}const entityReducer=function(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new EntityStore_EntityStore;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.changed):return new EntityStore_EntityStore;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):return state.setEntities(action.payload.entities);case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.fetch.success):return state.setRows(action.payload.entityId,action.payload.rows,action.payload.limit,action.payload.offset,action.payload.lastPage,action.payload.append);case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.fetch.request):return state.setEntityStatus(action.payload.entity.getId(),EntityRowsetStatus.LOADING);case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.search):return state.setSearch(action.payload.entity.getId(),action.payload.searchTerm);case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.move):return state.moveEntity(action.payload.id,action.payload.steps);case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.delete):return state.deleteEntity(action.payload.id);case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.codeChanged):return state.upsertEntity(action.payload.entity);case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.nameChanged):return state.setAttribute(action.payload.id,(entity=>entity.name=action.payload.name));case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.iconChanged):return state.setAttribute(action.payload.id,(entity=>entity.icon=action.payload.icon));case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.dataSourceChanged):return state.setAttribute(action.payload.id,(entity=>entity.data.source=action.payload.dataSource));case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.queryChanged):return state.setAttribute(action.payload.id,(entity=>{entity.data=new Data_Data(action.payload.query.toQueryKey())}));case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.primaryFieldChanged):return state.setAttribute(action.payload.id,(entity=>entity.list.field=action.payload.primaryField));case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.secondaryFieldChanged):return state.setAttribute(action.payload.id,(entity=>entity.list.secondaryField=action.payload.secondaryField));case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.iconFieldChanged):return state.setAttribute(action.payload.id,(entity=>entity.setIconField(action.payload.iconField)));case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.layerChanged):return state.setAttribute(action.payload.id,(entity=>entity.layer=action.payload.layerId));case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.zoomChanged):return state.setAttribute(action.payload.id,(entity=>{if(!entity.navigate)entity.navigate={zoom:{fixed:{value:action.payload.zoom}}};else entity.navigate.zoom={fixed:{value:action.payload.zoom}}}));case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.zoomBoundsFieldChanged):return state.setAttribute(action.payload.id,(entity=>{if(!action.payload.field)entity.navigate={...entity.navigate,zoom:{fixed:{value:0}}};else if(!entity.navigate)entity.navigate={zoom:{relative:{bounds:{field:action.payload.field}}}};else entity.navigate.zoom={relative:{bounds:{field:action.payload.field}}}}));case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.bearingFieldChanged):return state.setAttribute(action.payload.id,(entity=>{if(!action.payload.field)entity.navigate=Object(fp_["omit"])(["bearing"],entity.navigate);else if(!entity.navigate)entity.navigate={bearing:{field:action.payload.field}};else entity.navigate.bearing={field:action.payload.field}}));case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.create.success):return state.upsertEntity(action.payload.entity);case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.rowPlaced):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.rowUnplaced):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.undoRequest):return state.updateEntityRow(action.payload.entityId,action.payload.row,action.payload.rowDiff);case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.rowsetFilterChanged):return state.setRowsetFilter(action.payload.entity,action.payload.filter);case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.selected):return state.setSelected(action.payload.id);case Object(external_typesafe_actions_["getType"])(Actions["a"].app.checkoutVersion):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.restoreVersion.request):return state.setSelected(undefined);case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.placingRowsClick):return state.toggleEditing(action.payload.entityId);case Object(external_typesafe_actions_["getType"])(Actions["a"].toolbar.changeScreen):case Object(external_typesafe_actions_["getType"])(Actions["a"].toolbar.closeScreen):case Object(external_typesafe_actions_["getType"])(Actions["a"].details.closeClicked):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.editingToggle):return state.toggleEditing();default:return state}};const filterReducer=function(){var _action$payload$excep,_action$payload$excep2;let filterState=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new domain_Filters;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.changed):return new domain_Filters;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):case Object(external_typesafe_actions_["getType"])(Actions["a"].filter.sidebarFiltersClear):case Object(external_typesafe_actions_["getType"])(Actions["a"].filter.filterToggle):return action.payload.filters;case Object(external_typesafe_actions_["getType"])(Actions["a"].filter.search.request):case Object(external_typesafe_actions_["getType"])(Actions["a"].filter.search.success):return filterState.update(action.payload.filter);case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.failure):if((_action$payload$excep=action.payload.exception)!==null&&_action$payload$excep!==void 0&&_action$payload$excep.isAppResourceError&&!((_action$payload$excep2=action.payload.exception)!==null&&_action$payload$excep2!==void 0&&_action$payload$excep2.isAppResourceError())){return action.payload.filters}return filterState;default:return filterState}};const initialRowReducer=(initialRow,action)=>{switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].app.pageLoaded):return action.payload.params.initialRow;case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):return action.payload.initialRow}return initialRow};class JumpStore{constructor(params){var _params$navigationPat;this.enabled=void 0;this.data=void 0;this.navigationPath=void 0;this.enabled=params===null||params===void 0?void 0:params.enabled;this.data=params===null||params===void 0?void 0:params.data;this.navigationPath=(_params$navigationPat=params===null||params===void 0?void 0:params.navigationPath)!==null&&_params$navigationPat!==void 0?_params$navigationPat:[]}}var state_JumpStore=JumpStore;const jumpReducer=function(){let jumpState=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new state_JumpStore;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewLoaded):return new state_JumpStore({...jumpState,enabled:false,data:null});default:return jumpState}};const layerReducer=function(){var _action$payload$excep,_action$payload$excep2,_globalState$querySto2;let layers=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new Layers_Layers;let action=arguments.length>1?arguments[1]:undefined;let globalState=arguments.length>2?arguments[2]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.changed):return new Layers_Layers;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):return action.payload.layers.fillScaleTypes(action.payload.queries).fillZooms(globalState.visualizations);case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.visibilityChanged):return layers.changeLayer(action.payload.id,{visible:action.payload.visible}).fillZooms(globalState.visualizations);case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.queryChanged):{let data;if(!action.payload.query){data=new Data_Data}else{data=new Data_Data(action.payload.query.toQueryKey())}return layers.changeLayer(action.payload.id,{data})}case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.codeChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.createDraft.success):{var _globalState$querySto;return layers.upsertLayer(action.payload.layer).fillScaleTypes((_globalState$querySto=globalState.queryStore)===null||_globalState$querySto===void 0?void 0:_globalState$querySto.queries).fillZooms(globalState.visualizations)}case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.failure):if((_action$payload$excep=action.payload.exception)!==null&&_action$payload$excep!==void 0&&_action$payload$excep.isAppResourceError&&!((_action$payload$excep2=action.payload.exception)!==null&&_action$payload$excep2!==void 0&&_action$payload$excep2.isAppResourceError())){return action.payload.layers}return layers;case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.moved):return layers.moveLayer(action.payload.id,action.payload.steps);case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.deleted):return layers.deleteLayer(action.payload.id);case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.changed):return layers.replaceLayer(action.payload.layer).fillScaleTypes((_globalState$querySto2=globalState.queryStore)===null||_globalState$querySto2===void 0?void 0:_globalState$querySto2.queries);case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.duplicateLayerRequest):return layers.duplicate(action.payload.layerId);default:return layers}};const selectedLayerIdReducer=(layerId,action)=>{switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.createDraft.success):return action.payload.layer.id;case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.selected):return action.payload.id;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.checkoutVersion):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.restoreVersion.request):return undefined;default:return layerId}};const layerOpenGroupsReducer=function(){let openGroups=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.openGroupsChanged):return action.payload.groups;default:return openGroups}};const legendReducer=function(){let legendState=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new Legends;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.changed):return new Legends;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):return action.payload.legends;default:return legendState}};class ProjectorStore_ProjectorStore{constructor(){this.projector=void 0}clone(){const cloned=new ProjectorStore_ProjectorStore;cloned.projector=this.projector;return cloned}setProjectorFromWorld(world){if(!world)return;const unifiedScaleDomains=world.getMaximizedScaleDomains();const worldBox=world===null||world===void 0?void 0:world.box();if(!worldBox||!unifiedScaleDomains)return;let projector;if(world.isGeo()||world.isOrbit())projector=new projector_src["b"](unifiedScaleDomains,worldBox);else projector=new projector_src["c"](unifiedScaleDomains,worldBox);this.projector=projector}immutableUpdateWorld(world){const cloned=this.clone();if(!world)return cloned;cloned.setProjectorFromWorld(world);return cloned}}function projectorReducer(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new ProjectorStore_ProjectorStore;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].app.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.changed):return new ProjectorStore_ProjectorStore;case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].world.worldCreated):return state.immutableUpdateWorld(action.payload.world);default:return state}}const queryReducer=function(){var _action$payload$query;let queryStore=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new QueryStore["b"];let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].app.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.changed):return new QueryStore["b"];case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):return queryStore.setQueries(action.payload.queries).setStatus(QueryStore["a"].partial);case Object(external_typesafe_actions_["getType"])(Actions["a"].query.fetch.success):return queryStore.setQueries(action.payload.queries);case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.failure):if(action.payload.exception.type===AppApiErrorType.FETCHING_TABLE){return queryStore.setStatus(QueryStore["a"].tableFetchingError)}else if(action.payload.queries){return queryStore.setQueries(action.payload.queries)}return queryStore;case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):return(new QueryStore["b"]).setLoaders((_action$payload$query=action.payload.queryLoaders)!==null&&_action$payload$query!==void 0?_action$payload$query:[]);default:return queryStore}};class RowsetStore_RowsetStore{constructor(){let rowsets=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};let status=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};this.rowsets={};this.status={};Object.assign(this.rowsets,rowsets);Object.assign(this.status,status)}add(rowset){if(!rowset)return;this.rowsets[rowset.getId()]=rowset;this.status[rowset.getId()]=RowsetStatus.NONE}immutableAdd(rowset){const clonedRowsetStore=this.clone();clonedRowsetStore.add(rowset);return clonedRowsetStore}invalidate(data){const rowsetsArray=new Rowsets_Rowsets(...Object.values(this.rowsets));for(const rowset of rowsetsArray.withData(data)){var _this$rowsets$rowset$;(_this$rowsets$rowset$=this.rowsets[rowset.getId()].fetchState)===null||_this$rowsets$rowset$===void 0?void 0:_this$rowsets$rowset$.invalidate()}}invalidateAll(){for(const rowset of Object.values(this.rowsets)){var _this$rowsets$rowset$2;(_this$rowsets$rowset$2=this.rowsets[rowset.getId()].fetchState)===null||_this$rowsets$rowset$2===void 0?void 0:_this$rowsets$rowset$2.invalidate()}}immutableInvalidateAll(){const cloned=this.clone();cloned.invalidateAll();return cloned}getStatus(rowset){if(!(rowset!==null&&rowset!==void 0&&rowset.getId())||!this.status[rowset.getId()]){return RowsetStatus.NONE}else{return this.status[rowset.getId()]}}clone(){return new RowsetStore_RowsetStore(this.rowsets,this.status)}getRowsetsToFetchAgain(viewState,world){const rowsets=Object.values(this.rowsets).filter((rowset=>rowset.fetchState&&rowset.fetchState.shouldFetch(viewState,world)));return new Rowsets_Rowsets(...rowsets)}getRowsets(){return new Rowsets_Rowsets(...Object.values(this.rowsets))}getRowset(rowsetId){return this.rowsets[rowsetId]}getEmptyRowsets(){const rowsets=Object.values(this.rowsets).filter((rowset=>!rowset.rows));return new Rowsets_Rowsets(...rowsets)}getByTargetRowset(rowset){if(!rowset)return;return this.rowsets[rowset.getId()]}updateRow(rowsetId,row,rowDiff){const clonedRowsetStore=this.clone();if(!rowsetId)return clonedRowsetStore;const newRow=new dataset_src["i"]({...row,...rowDiff});const rowset=clonedRowsetStore.rowsets[rowsetId];if(rowset){clonedRowsetStore.rowsets[rowsetId].updateRow(newRow)}else{src["c"].info(`rowset ${rowsetId} doesn't exists`)}return clonedRowsetStore}immutableSetStatusLoading(rowset){const cloned=this.clone();cloned.status[rowset.getId()]=RowsetStatus.LOADING;return cloned}someLoading(){return!Object(fp_["isEmpty"])(this.status)&&Object(fp_["some"])(Object(fp_["equals"])(RowsetStatus.LOADING),this.status)}noneFilled(){return Object(fp_["isEmpty"])(this.status)}immutableSetStatus(rowsets,status){const cloned=this.clone();rowsets.forEach((rowset=>{cloned.status[rowset.getId()]=status}));return cloned}everyWithError(){return!Object(fp_["isEmpty"])(this.status)&&Object(fp_["every"])(Object(fp_["equals"])(RowsetStatus.ERROR),this.status)}}const rowsetStoreReducer=function(){let rowsetStore=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new RowsetStore_RowsetStore;let action=arguments.length>1?arguments[1]:undefined;let globalState=arguments.length>2?arguments[2]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.changed):return new RowsetStore_RowsetStore;case Object(external_typesafe_actions_["getType"])(Actions["a"].filter.filterToggle):case Object(external_typesafe_actions_["getType"])(Actions["a"].filter.sidebarFiltersClear):case Object(external_typesafe_actions_["getType"])(Actions["a"].rowset.rowSaved):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.onEntityRowClick):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.navigateToInitialRow):case Object(external_typesafe_actions_["getType"])(Actions["a"].navigation.floorChangeRequested):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.positionChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.visibilityChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.codeChanged):return rowsetStore.immutableInvalidateAll();case Object(external_typesafe_actions_["getType"])(Actions["a"].query.dataListUpdated):{const mutatedRowsetStore=rowsetStore.clone();for(const data of action.payload.dataList){mutatedRowsetStore.invalidate(data)}return mutatedRowsetStore}case Object(external_typesafe_actions_["getType"])(Actions["a"].rowset.fetch.request):return rowsetStore.immutableSetStatusLoading(action.payload.rowset);case Object(external_typesafe_actions_["getType"])(Actions["a"].rowset.fetch.success):return rowsetStore.immutableAdd(action.payload.rowset);case Object(external_typesafe_actions_["getType"])(Actions["a"].resource.imageUpload.success):case Object(external_typesafe_actions_["getType"])(Actions["a"].viewLayer.dragEnded):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.rowPlaced):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.rowUnplaced):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.undoRequest):return rowsetStore.updateRow(action.payload.rowsetId,action.payload.row,action.payload.rowDiff);case Object(external_typesafe_actions_["getType"])(Actions["a"].rowset.fetch.failure):if(action.payload.rowset){return rowsetStore.immutableSetStatus(new Rowsets_Rowsets(action.payload.rowset),RowsetStatus.ERROR)}return rowsetStore;case Object(external_typesafe_actions_["getType"])(Actions["a"].floor.valuesFetched):if(!action.payload)return rowsetStore;if(action.payload&&action.payload.value===globalState.floor.current)return rowsetStore;return rowsetStore.immutableInvalidateAll();default:return rowsetStore}};const schemaReducer=function(){let schema=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].schema.fetch.success):return action.payload;default:return schema}};class Tooltip{constructor(props){this.row=void 0;this.rowsetId=void 0;this.layerId=void 0;this.visible=void 0;this.coordinates=void 0;this.hovering=void 0;Object.assign(this,props);if(this.visible===undefined)this.visible=true}clone(){return new Tooltip(this)}getCoordinates(){return this.coordinates}isHovering(){return this.hovering}}var TooltipModel=Tooltip;function tooltipReducer(state,action){switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].app.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.changed):case Object(external_typesafe_actions_["getType"])(Actions["a"].viewLayer.clickOut):case Object(external_typesafe_actions_["getType"])(Actions["a"].viewLayer.dragStarted):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.deleted):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.changed):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.codeChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewDragStart):case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewZooming):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.rowUnplaced):case Object(external_typesafe_actions_["getType"])(Actions["a"].resource.modelUpload.success):case Object(external_typesafe_actions_["getType"])(Actions["a"].resource.modelUpload.failure):case Object(external_typesafe_actions_["getType"])(Actions["a"].resource.imageUpload.success):case Object(external_typesafe_actions_["getType"])(Actions["a"].resource.imageUpload.failure):return;case Object(external_typesafe_actions_["getType"])(Actions["a"].viewLayer.mouseHover):return new TooltipModel({layerId:action.payload.layerId,row:action.payload.row,coordinates:action.payload.pixel,rowsetId:action.payload.rowsetId});case Object(external_typesafe_actions_["getType"])(Actions["a"].viewLayer.mouseLeft):if(state&&state.isHovering())return state;return;default:return state}}const viewControllerReducer=(state,action)=>{switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.changed):return;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.failure):return action.payload.viewController;case Object(external_typesafe_actions_["getType"])(Actions["a"].navigation.bearingModeToggle):return state===null||state===void 0?void 0:state.immutableToggleDragMode();default:return state}};class ViewLayerStore{constructor(selectedRow){this.selectedRow=void 0;this.selectedRow=selectedRow}clone(){return new ViewLayerStore(this.selectedRow)}immutableSetSelectedRow(layerId,rowsetId,updatingRow,cursorDisplacement){if(updatingRow._id===undefined)return this;const cloned=this.clone();cloned.selectedRow={layerId,rowsetId,updatingRow,cursorDisplacement};return cloned}immutableRemoveSelectedRow(){const cloned=this.clone();cloned.selectedRow=undefined;return cloned}}function viewLayerReducer(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new ViewLayerStore;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].app.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.changed):return new ViewLayerStore;case Object(external_typesafe_actions_["getType"])(Actions["a"].viewLayer.clickOut):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.changed):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.codeChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.rowUnplaced):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.rowPlaced):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.undoRequest):return state.immutableRemoveSelectedRow();case Object(external_typesafe_actions_["getType"])(Actions["a"].viewLayer.dragEnded):if(action.payload.keepSelected){return state.immutableSetSelectedRow(action.payload.layerId,action.payload.rowsetId,{...action.payload.row,...action.payload.rowDiff})}return state.immutableRemoveSelectedRow();case Object(external_typesafe_actions_["getType"])(Actions["a"].viewLayer.click):case Object(external_typesafe_actions_["getType"])(Actions["a"].viewLayer.dragStarted):return state.immutableSetSelectedRow(action.payload.layerId,action.payload.rowsetId,{...action.payload.row,...action.payload.rowDiff},action.payload.cursorDisplacement);case Object(external_typesafe_actions_["getType"])(Actions["a"].resource.imageUpload.success):return state.immutableSetSelectedRow(action.payload.sourceLayerId,action.payload.rowsetId,{...action.payload.row,...action.payload.rowDiff});default:return state}}const ZOOM_JUMP_SIZE=1;function getJumpToLayerZoomStep(viewZoom,layerMinZoom,layerMaxZoom){if(viewZoom>=layerMaxZoom){return layerMaxZoom-viewZoom-.5}else{return layerMinZoom-viewZoom}}function jumpToLayer(state,id,globalState){if(!state)return;const layer=globalState.layers.getById(id);if(layer){const viewZoom=state.zoom;if(!layer.belongsToZoom(viewZoom)){const zoomStep=getJumpToLayerZoomStep(viewZoom,layer.visible.zoomRange.min.fixed.value,layer.visible.zoomRange.max.fixed.value);return state.addZoom(zoomStep)}}return state}function getRowBearing(row,entity,viewState,globalState){var _position$x,_position$x2,_position$y;const layer=globalState.layers.getById(entity.layer);if(!layer)return viewState.bearing;const position=layer.encoding.position;if(!(position!==null&&position!==void 0&&(_position$x=position.x)!==null&&_position$x!==void 0&&_position$x.field)||(position===null||position===void 0?void 0:(_position$x2=position.x)===null||_position$x2===void 0?void 0:_position$x2.field)!==(position===null||position===void 0?void 0:(_position$y=position.y)===null||_position$y===void 0?void 0:_position$y.field))return viewState.bearing;const rowValue=row[position.x.field];if(!Array.isArray(rowValue)||rowValue.length<4)return viewState.bearing;return Object(spatial_src["f"])(rowValue)}function getEntityZoom(entityId,row,globalState){if(!entityId)return DEFAULT_ENTITY_NAVIGATE_ZOOM;const entity=globalState.entityStore.entities.getById(entityId);if(!entity)return DEFAULT_ENTITY_NAVIGATE_ZOOM;const layer=globalState.layers.getById(entity.layer);if(!Object(fp_["isNil"])(entity.navigate))return translateZoom(entity.navigate,layer,row,globalState.viewState,globalState.world);return layer?layer.visible.zoomRange.getMin():DEFAULT_ENTITY_NAVIGATE_ZOOM}function isCurrentZoomOutOfRange(payload,viewState,globalState){if(!payload.entityId)return;const entity=globalState.entityStore.entities.getById(payload.entityId);if(!(entity!==null&&entity!==void 0&&entity.layer))return;const entityLayer=globalState.layers.getById(entity.layer);if(!entityLayer)return;return entityLayer.visible.zoomRange&&!entityLayer.visible.zoomRange.isInRange(viewState.zoom)}function getRowCoordinates(payload,globalState){var _payload$row;if(!payload.position||!payload.rowDiff)return(_payload$row=payload.row)===null||_payload$row===void 0?void 0:_payload$row.getCoordinates();const viewProjector=globalState.projectorStore.projector;const rowProjector=new projector_src["d"](viewProjector,payload.position.getPositonKeys());return rowProjector.projectRow(new dataset_src["i"]({...payload.row,...payload.rowDiff})).getCoordinates()}function getNavigateActionBearing(navigateAction,row){var _navigateAction$beari;if(!row||!((_navigateAction$beari=navigateAction.bearing)!==null&&_navigateAction$beari!==void 0&&_navigateAction$beari.field))return;const rowValue=row[navigateAction.bearing.field];if(!Array.isArray(rowValue)||rowValue.length<4)return;return Object(spatial_src["f"])(rowValue)}function viewStateReducer(state,action,globalState){var _action$payload$beari;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.changed):return;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):return action.payload.viewState;case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewDragEnd):case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewZooming):return action.payload.viewState||state;case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewResized):return action.payload.viewState;case Object(external_typesafe_actions_["getType"])(Actions["a"].navigation.zoomInRequested):return state===null||state===void 0?void 0:state.addZoom(ZOOM_JUMP_SIZE);case Object(external_typesafe_actions_["getType"])(Actions["a"].navigation.zoomOutRequested):return state===null||state===void 0?void 0:state.addZoom(-ZOOM_JUMP_SIZE);case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.selected):return jumpToLayer(state,action.payload.id,globalState);case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.onEntityRowClick):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.navigateToInitialRow):if(action.payload.row.isPlaced()){return state===null||state===void 0?void 0:state.transition({coordinates:action.payload.row.getCoordinates(),zoom:getEntityZoom(action.payload.entity.getId(),action.payload.row,globalState),bearing:getRowBearing(action.payload.row,action.payload.entity,state,globalState)},1500,true)}else{return state}case Object(external_typesafe_actions_["getType"])(Actions["a"].navigation.goToPlace):return state===null||state===void 0?void 0:state.transition({coordinates:action.payload.coordinates,bearing:(_action$payload$beari=action.payload.bearing)!==null&&_action$payload$beari!==void 0?_action$payload$beari:state.bearing,zoom:action.payload.zoom},1500,true);case Object(external_typesafe_actions_["getType"])(Actions["a"].details.zoomRequested):return state===null||state===void 0?void 0:state.transition({coordinates:action.payload.coordinates,zoom:translateZoom(action.payload.navigate,action.payload.layer,action.payload.row,state,globalState.world),bearing:getNavigateActionBearing(action.payload.navigate,action.payload.row)},1500,true);case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.failure):if(action.payload.viewState){return action.payload.viewState}return state;case Object(external_typesafe_actions_["getType"])(Actions["a"].rowset.rowSaved):if(isCurrentZoomOutOfRange(action.payload,state,globalState)&&action.payload.row){return state===null||state===void 0?void 0:state.transition({coordinates:getRowCoordinates(action.payload,globalState),bearing:state.bearing,zoom:getEntityZoom(action.payload.entityId,action.payload.row,globalState)},1500,true)}return state;default:return state}}class VisualizationStore{constructor(props){this.status=void 0;this.isEditing=void 0;this.visualization=void 0;Object.assign(this,props)}clone(){return new VisualizationStore(this)}setVisualization(visualization){const cloned=this.clone();cloned.visualization=visualization;return cloned}setInitialPosition(coordinates,zoom,bearing){var _cloned$visualization;const cloned=this.clone();cloned.visualization=(_cloned$visualization=cloned.visualization)===null||_cloned$visualization===void 0?void 0:_cloned$visualization.setInitialPosition(coordinates,zoom,bearing);return cloned}setMapStyle(mapStyle){var _cloned$visualization2;const cloned=this.clone();cloned.visualization=(_cloned$visualization2=cloned.visualization)===null||_cloned$visualization2===void 0?void 0:_cloned$visualization2.setMapStyle(mapStyle);return cloned}setEditing(editing){const cloned=this.clone();cloned.isEditing=editing;return cloned}setStatus(status){const cloned=this.clone();cloned.status=status;return cloned}}const visualizationReducer=function(){var _action$payload$excep,_action$payload$excep2;let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new VisualizationStore;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.changed):return new VisualizationStore;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):return state.setVisualization(action.payload.visualization).setStatus(Visualization["a"].updated);case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.failure):if((_action$payload$excep=action.payload.exception)!==null&&_action$payload$excep!==void 0&&_action$payload$excep.isAppResourceError&&!((_action$payload$excep2=action.payload.exception)!==null&&_action$payload$excep2!==void 0&&_action$payload$excep2.isAppResourceError())){return state.setVisualization(action.payload.visualization)}return state;case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.setInitialPosition):return state.setInitialPosition(action.payload.coordinates,action.payload.zoom,action.payload.bearing).setStatus(Visualization["a"].dirty);case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.setMapStyle):return state.setMapStyle(action.payload.mapStyle).setStatus(Visualization["a"].dirty);case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.editingToggle):return state.setEditing(action.payload.isEditing);case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.save.request):return state.setStatus(Visualization["a"].saving);case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.save.success):return state.setStatus(Visualization["a"].updated);case Object(external_typesafe_actions_["getType"])(Actions["a"].app.discardChanges.request):return state.setStatus(Visualization["a"].discarding);case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.createDraft.success):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.visibilityChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.queryChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.positionChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.deleted):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.moved):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.move):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.changed):case Object(external_typesafe_actions_["getType"])(Actions["a"].layer.codeChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.create.success):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.codeChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.delete):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.nameChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.iconChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.dataSourceChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.queryChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.primaryFieldChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.secondaryFieldChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.iconFieldChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.layerChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.zoomChanged):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.save.failure):return state.setStatus(Visualization["a"].dirty);default:return state}};const DEFAULT_MAX_TEXTURE_SIZE=4096;const getMaxtextureSize=()=>{var _gl$getParameter;const gl=document.createElement("canvas").getContext("webgl");return(_gl$getParameter=gl===null||gl===void 0?void 0:gl.getParameter(gl===null||gl===void 0?void 0:gl.MAX_TEXTURE_SIZE))!==null&&_gl$getParameter!==void 0?_gl$getParameter:DEFAULT_MAX_TEXTURE_SIZE};class WebGLReducer_WebGLStore{constructor(props){this.status=void 0;this.message=void 0;this.maxTextureSize=void 0;Object.assign(this,props);if(Object(fp_["isNil"])(this.status))this.status="pending";if(Object(fp_["isNil"])(this.maxTextureSize))this.maxTextureSize=getMaxtextureSize()}clone(){return new WebGLReducer_WebGLStore(this)}getMessage(status){switch(status){case"disabled":return Object(i18n_src["a"])("WEBGL_DISABLED");case"unsupported":return Object(i18n_src["a"])("WEBGL_UNSUPPORTED");default:return}}setStatus(status){const cloned=this.clone();cloned.status=status;cloned.message=this.getMessage(status);return cloned}}const webGLReducer=function(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new WebGLReducer_WebGLStore;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].webgl.status):return state.setStatus(action.payload);default:return state}};const worldReducer=(state,action)=>{var _action$payload$world,_action$payload$world2;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].app.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.changed):return;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.failure):return state!==null&&state!==void 0&&state.getInitialDimentions()?(_action$payload$world=action.payload.world)===null||_action$payload$world===void 0?void 0:_action$payload$world.withInitialDimensions(state===null||state===void 0?void 0:state.getInitialDimentions()):action.payload.world;case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewResized):case Object(external_typesafe_actions_["getType"])(Actions["a"].view.viewLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].world.worldCreated):return(_action$payload$world2=action.payload.world)!==null&&_action$payload$world2!==void 0?_action$payload$world2:state;default:return state}};var Resource=__webpack_require__(80);class ResourceStore{constructor(props){this.upload=void 0;this.maxTextureSize=void 0;Object.assign(this,props)}clone(){return new ResourceStore(this)}uploadChange(upload){const cloned=this.clone();cloned.upload=upload;return cloned}uploadClear(){const cloned=this.clone();cloned.upload=undefined;return cloned}}const resourceReducer=function(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new ResourceStore;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].resource.modelUploadProgress):case Object(external_typesafe_actions_["getType"])(Actions["a"].resource.imageUploadProgress):return state.uploadChange({sourceLayerId:action.payload.sourceLayerId,progress:action.payload.progress,status:Resource["a"].UPLOADING});case Object(external_typesafe_actions_["getType"])(Actions["a"].resource.modelUpload.success):case Object(external_typesafe_actions_["getType"])(Actions["a"].resource.imageUpload.success):return state.uploadChange({...state.upload,status:Resource["a"].UPLOADED});case Object(external_typesafe_actions_["getType"])(Actions["a"].resource.modelUpload.failure):case Object(external_typesafe_actions_["getType"])(Actions["a"].resource.imageUpload.failure):return state.uploadClear();default:return state}};class FetchStore_FetchProgressStore{constructor(progress){this.progress=void 0;this.progress=progress!==null&&progress!==void 0?progress:{}}addProgress(_ref){let{key,entity,progress}=_ref;const cloned=new FetchStore_FetchProgressStore(this.progress);const fetchKey=`${entity}-${key}`;if(progress===undefined)delete cloned.progress[fetchKey];else cloned.progress[fetchKey]=progress;return cloned}getProgressMean(){return!Object(fp_["isEmpty"])(this.progress)?Object(fp_["mean"])(Object.values(this.progress)):undefined}}const fetchReducer=function(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new FetchStore_FetchProgressStore;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].resource.downloadProgress):case Object(external_typesafe_actions_["getType"])(Actions["a"].rowset.fetchProgress):return state===null||state===void 0?void 0:state.addProgress(action.payload);default:return state}};var theme=__webpack_require__(10);var material_=__webpack_require__(21);var jsx_runtime_=__webpack_require__(4);let ToolbarScreenSize;(function(ToolbarScreenSize){ToolbarScreenSize[ToolbarScreenSize["small"]=380]="small";ToolbarScreenSize[ToolbarScreenSize["large"]=480]="large"})(ToolbarScreenSize||(ToolbarScreenSize={}));const ToolbarScreenStyle=Object(theme["a"])(material_["Box"],{name:"ToolbarScreenStyle"})((_ref=>{let{theme}=_ref;return{display:"flex",flexDirection:"column",borderRight:`1px solid ${theme.palette.divider}`,overflow:"hidden",height:"100%",width:"100%",backgroundColor:theme.palette.background.default,minWidth:ToolbarScreenSize.small,[theme.breakpoints.down("md")]:{borderTop:`1px solid ${theme.palette.divider}`,borderRight:"none"}}}));const ToolbarScreenHeader=Object(theme["a"])(material_["Box"],{name:"ToolbarScreenHeader"})((_ref2=>{let{theme,_divider}=_ref2;return{display:"flex",flexDirection:"column",borderBottom:_divider?`1px solid ${theme.palette.divider}`:"none"}}));const ToolbarScreenContent=Object(theme["a"])(material_["Box"],{name:"ToolbarScreenContent"})({transition:"transform 0.42s ease-in-out",overflowY:"auto",overflowX:"hidden",flex:1,display:"flex",flexDirection:"column",gap:"1em"});const Screen=props=>{const{header,divider,...rest}=props;return Object(jsx_runtime_["jsxs"])(ToolbarScreenStyle,{...rest,sx:{...rest.sx},children:[Object(jsx_runtime_["jsx"])(ToolbarScreenHeader,{_divider:!!divider,children:header}),Object(jsx_runtime_["jsx"])(ToolbarScreenContent,{children:props.children})]})};const toolbarReducer=function(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{size:ToolbarScreenSize.small};let action=arguments.length>1?arguments[1]:undefined;let globalState=arguments.length>2?arguments[2]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].app.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.changed):case Object(external_typesafe_actions_["getType"])(Actions["a"].details.closeClicked):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.editingToggle):return{size:ToolbarScreenSize.small};case Object(external_typesafe_actions_["getType"])(Actions["a"].toolbar.changeScreen):return{size:ToolbarScreenSize.small,selectedTabIndex:action.payload.index,lastTabIndex:state.selectedTabIndex};case Object(external_typesafe_actions_["getType"])(Actions["a"].toolbar.closeScreen):return{size:ToolbarScreenSize.small,selectedTabIndex:undefined,lastTabIndex:state.selectedTabIndex};case Object(external_typesafe_actions_["getType"])(Actions["a"].toolbar.changeScreenSize):return{...state,size:action.payload.size};case Object(external_typesafe_actions_["getType"])(Actions["a"].details.backClicked):if(state.selectedTabIndex!==undefined&&state.selectedTabIndex>=0)return state;return{size:ToolbarScreenSize.small,selectedTabIndex:state.lastTabIndex,lastTabIndex:state.selectedTabIndex};case Object(external_typesafe_actions_["getType"])(Actions["a"].details.openLayerDetails):if(globalState.appStore.isEditing)return state;return{size:ToolbarScreenSize.small,selectedTabIndex:action.payload.tabIndex,lastTabIndex:action.payload.tabIndex};default:return state}};function detailsReducer(){var _state$row,_action$payload$row;let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};let action=arguments.length>1?arguments[1]:undefined;if(!state)return{};switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].details.backClicked):case Object(external_typesafe_actions_["getType"])(Actions["a"].details.closeClicked):case Object(external_typesafe_actions_["getType"])(Actions["a"].toolbar.changeScreen):case Object(external_typesafe_actions_["getType"])(Actions["a"].toolbar.closeScreen):return{};case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.onEntityRowClick):return{row:new dataset_src["i"]({...action.payload.row}),entityId:action.payload.entity.getId(),layerId:action.payload.entity.layer};case Object(external_typesafe_actions_["getType"])(Actions["a"].details.openLayerDetails):return{row:new dataset_src["i"]({...action.payload.row}),layerId:action.payload.layerId};case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.undoRequest):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.rowPlaced):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.rowUnplaced):if(!state.row||((_state$row=state.row)===null||_state$row===void 0?void 0:_state$row._id)!==((_action$payload$row=action.payload.row)===null||_action$payload$row===void 0?void 0:_action$payload$row._id))return state;return{...state,row:new dataset_src["i"]({...state.row,...action.payload.row,...action.payload.rowDiff})};default:return state}}class FloorStore{constructor(props){this.values=void 0;this.current=void 0;this.field=void 0;Object.assign(this,props)}clone(){return new FloorStore(this)}setField(field){const cloned=this.clone();cloned.field=field;return cloned}setValues(values){const cloned=this.clone();cloned.values=values;return cloned}setCurrent(value){const cloned=this.clone();cloned.current=value;return cloned}}const getFloorValue=(rowDiff,position)=>{var _position$getFloor;const floorField=(_position$getFloor=position.getFloor())===null||_position$getFloor===void 0?void 0:_position$getFloor.field;if(!floorField)return;return rowDiff[floorField]};const floorReducer=function(){let state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new FloorStore;let action=arguments.length>1?arguments[1]:undefined;switch(action.type){case Object(external_typesafe_actions_["getType"])(Actions["a"].hoc.hocUpdated):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.pageLoaded):case Object(external_typesafe_actions_["getType"])(Actions["a"].visualization.changed):return new FloorStore;case Object(external_typesafe_actions_["getType"])(Actions["a"].floor.valuesFetched):if(!action.payload)return state;return state.setValues(action.payload.values).setCurrent(action.payload.value).setField(action.payload.field);case Object(external_typesafe_actions_["getType"])(Actions["a"].navigation.floorChangeRequested):return state.setCurrent(action.payload.floor);case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.onEntityRowClick):case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.navigateToInitialRow):if(!Object(fp_["isNil"])(action.payload.floor))return state.setCurrent(action.payload.floor);return state;case Object(external_typesafe_actions_["getType"])(Actions["a"].entity.rowPlaced):if(getFloorValue(action.payload.rowDiff,action.payload.position)!==undefined){return state===null||state===void 0?void 0:state.setCurrent(getFloorValue(action.payload.rowDiff,action.payload.position))}return state;case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.success):case Object(external_typesafe_actions_["getType"])(Actions["a"].app.fetch.failure):if(!Object(fp_["isNil"])(action.payload.floor))return state.setCurrent(action.payload.floor);return state;default:return state}};const getEnhancer=sagaMiddleware=>{if(src["a"].isDebugging()&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__){return Object(external_redux_["compose"])(Object(external_redux_["applyMiddleware"])(sagaMiddleware),window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__())}return Object(external_redux_["applyMiddleware"])(sagaMiddleware)};const childReducers={appStore:appReducer,authorization:authorizationReducer,axes:axesReducer,entityStore:entityReducer,filters:filterReducer,initialRow:initialRowReducer,jump:jumpReducer,layers:layerReducer,legends:legendReducer,projectorStore:projectorReducer,queryStore:queryReducer,rowsetStore:rowsetStoreReducer,schema:schemaReducer,selectedLayerId:selectedLayerIdReducer,openGroups:layerOpenGroupsReducer,tooltip:tooltipReducer,viewController:viewControllerReducer,viewLayers:viewLayerReducer,viewState:viewStateReducer,visualizationStore:visualizationReducer,webgl:webGLReducer,world:worldReducer,resource:resourceReducer,fetch:fetchReducer,toolbar:toolbarReducer,details:detailsReducer,floor:floorReducer};function getStore(){const sagaMiddleware=core_default()();const enhancer=getEnhancer(sagaMiddleware);const store=Object(external_redux_["createStore"])(reducer(childReducers),enhancer);Object(external_redux_persist_["persistStore"])(store);sagaMiddleware.run(rootSaga);UpdateWatcher_UpdateWatcher.configure(store.dispatch);return store}var Store=__webpack_exports__["b"]=getStore;const StoreContext=external_react_default.a.createContext(null);const useSelector=Object(external_react_redux_["createSelectorHook"])(StoreContext);const useDispatch=Object(external_react_redux_["createDispatchHook"])(StoreContext);const CombinedReducers=Object(external_redux_["combineReducers"])(childReducers)},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return styled}));__webpack_require__.d(__webpack_exports__,"b",(function(){return useTheme}));var _mui_material_styles__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(68);var _mui_material_styles__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_mui_material_styles__WEBPACK_IMPORTED_MODULE_0__);var _mui_material__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(21);var _mui_material__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_mui_material__WEBPACK_IMPORTED_MODULE_1__);const styled=(c,args)=>{if(!(args!==null&&args!==void 0&&args.name)){throw new Error("styled component requires a name. Otherwise it will be hard to debug.")}args.shouldForwardProp=prop=>!prop.includes("_");return Object(_mui_material_styles__WEBPACK_IMPORTED_MODULE_0__["styled"])(c,args)};const useTheme=()=>Object(_mui_material__WEBPACK_IMPORTED_MODULE_1__["useTheme"])()},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return _applyDecoratedDescriptor}));function _applyDecoratedDescriptor(target,property,decorators,descriptor,context){var desc={};Object.keys(descriptor).forEach((function(key){desc[key]=descriptor[key]}));desc.enumerable=!!desc.enumerable;desc.configurable=!!desc.configurable;if("value"in desc||desc.initializer){desc.writable=true}desc=decorators.slice().reverse().reduce((function(desc,decorator){return decorator(target,property,desc)||desc}),desc);if(context&&desc.initializer!==void 0){desc.value=desc.initializer?desc.initializer.call(context):void 0;desc.initializer=undefined}if(desc.initializer===void 0){Object.defineProperty(target,property,desc);desc=null}return desc}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return _initializerDefineProperty}));function _initializerDefineProperty(target,property,descriptor,context){if(!descriptor)return;Object.defineProperty(target,property,{enumerable:descriptor.enumerable,configurable:descriptor.configurable,writable:descriptor.writable,value:descriptor.initializer?descriptor.initializer.call(context):void 0})}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return i18n}));const stringsEnUs={ACCOUNT_CONFIRMATION:"Account Verification",ACCOUNT_CONFIRMED:"Account Verified",ACCOUNT_CREATED:"Account Created",CANCEL:"Cancel",CANT_FIND_THE_EMAIL_SEND_IT_AGAIN:"Can't find the email?",CHANGE:"Change",CONFIRM_PASSWORD:"Confirm password",CONFIRMING_YOUR_ACCOUNT_ELLIPSIS:"Verifying your account…",CONTINUE_TO_HOPARA:"Continue to Hopara",CONTINUE_WITH_YOUR_WORK_EMAIL:"Continue with\nyour work email",CONTINUE:"Continue",COPYRIGHT:"Copyright © 2022 Hopara, Inc. All Rights Reserved.",HOPARA_INC:"Hopara, Inc.",PRODUCT_TERMS:"Product Terms",PRIVACY_STATEMENT:"Privacy Statement",CREATE_A_NEW_ACCOUNT:"Choose a password\nto create a new account",CURRENT_PASSWORD:"Current password",EMAIL_SENT:"Email sent.",EMAIL:"Email",FORGOT_PASSWORD_QUESTION:"Forgot password?",FORGOT_PASSWORD_DESCRIPTION:"Use the button below to send an reset link to your email",GO_TO_YOUR_INBOX_AND_CLICK_ON_THE_LINK_THAT_WE_SENT_YOU:"An email was sent to your inbox. Use the link provided to verify your account.",I_ACCEPT_THE:"I accept the Hopara",AND:"and",INVALID_EMAIL:"Invalid email",NEW_PASSWORD:"New password",PASSWORD:"Password",RESET_PASSWORD:"Reset password",RESETTING_ELLIPSIS:"Resetting…",RESEND_EMAIL:"Resend email",RESET_LINK_WAS_SENT_TO_EMAIL:"Reset link was sent to {{email}}",SEND_EMAIL:"Send email",SENDING_ELLIPSIS:"Sending…",SIGN_IN:"Sign in",SIGN_OUT:"Sign out",SIGN_UP:"Sign up",SIGNIN_TO_HOPARA:"Sign in to Hopara",SIGNING_IN_ELLIPSIS:"Signing in…",SIGNING_UP_ELLIPSIS:"Signing up…",TEMPORARY_PASSWORD:"Temporary password",TOOLTIP_AUTH:"Enter your work email above",TYPE_YOUR_HOPARA_PASSWORD:"Type your\nHopara password",VERIFYING_ELLIPSIS:"Verifying…",YOUR_EMAIL_IS_STILL_NOT_CONFIRMED:"Your account\nis pending verification",YOUR_PASSWORD_HAS_BEEN_RESET:"Your password\nhas been reset.",CHANGE_PASSWORD:"Change password",CHANGING_ELLIPSIS:"Changing…",YOUR_PASSWORD_SHOULD_CONTAIN:"Your password should contain:",EIGHT_CHARS_LONG:"at least 8 characters long",ONE_UPPERCASE_CHAR:"at least 1 uppercase character",ONE_LOWERCASE_CHAR:"at least 1 lowercase character",ONE_SYMBOL_CHAR:"at least 1 symbol character",DATA_SOURCES_IN_YOUR_ORGANIZATION:"Data sources in your organization",CREATE_A_NEW_DATA_SOURCE:"Create a new data source",MYSQL:"Mysql",POSTGRES:"Postgres",SINGLESTORE:"Singlestore",TIMESCALE:"Timescale",NAME:"Name",QUERY_NAME:"Query name",HOST:"Host",PORT:"Port",DATABASE:"Database",USER_NAME:"User name",SCHEMA:"Schema",LOADING_ELLIPSIS:"Loading…",EDIT:"Edit",DELETE:"Delete",DATA_SOURCES:"Data Sources",DATA_SOURCE:"Data source",APPS:"Apps",APPLICATION:"Application",UNKNOWN_ERROR:"Unknown error",SAVE:"Save",SAVING_ELLIPSIS:"Saving…",TEST_CONNECTION:"Test connection",TEST_CONNECTION_SUCCESS:"Test connection success",EDIT_DATA_SOURCE:"Edit data source",CREATE_DATA_SOURCE:"Create data source",CREATE_A_NEW_DATA_SOURCE_DESCRIPTION:"Connect your database to Hopara to make your data visible to apps. Hopara doesn't persist any data internally, everything is fetched on the fly when visualizing an app.",DATA_SOURCE_SAVED_SUCCESSFULLY:"Data source saved successfully",QUERY:"Query",QUERY_SAVED_SUCCESSFULLY:"Query saved successfully",SQL:"SQL",NEW_QUERY:"New query",EDIT_QUERY:"Edit query",RUN:"Run",RUNNING_ELLIPSIS:"Running…",SHOW_HISTORY:"Show history",DISCARD_CHANGES:"Discard changes",RESTART_APP:"Restart app",ADVANCED_MODE:"Advanced mode",PASSWORDS_DO_NOT_MATCH:"Passwords do not match",TYPE:"Type",CREATE_AN_APP:"Create an app",CREATE_AN_APP_DESCRIPTION:"Create a Hopara app from one of our pre-designed templates and sample data.",APP_NAME:"App name",ENTER_A_NAME_FOR_THIS_APP:"Enter a name for this app",SOMETHING_WENT_WRONG_CREATING_APP:"Something went wrong creating app",APP_CREATED:"App created",COMPANY_LOGO:"Company logo",DOCUMENTATION:"Documentation",DELETING_ELLIPSIS:"Deleting…",RENAME:"Rename",ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_APP:"Are you sure you want to delete this app?",APPS_IN_YOUR_ORGANIZATION:"Apps in your organization",APP_NAME_UPDATED:"App name updated",APP_DELETED:"App deleted",READ_ONLY:"Read only",WEBGL_DISABLED:"To use Hopara you need to enable WebGL in your browser.",WEBGL_UNSUPPORTED:"To use Hopara you need to use a browser that supports WebGL.",WEBGL_ERROR:"WebGL Error",SIMPLE_MODE:"Simple mode",ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_QUERY:"Are you sure you want to delete this query?",ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_DATA_SOURCE:"Are you sure you want to delete this data source?",QUERY_DELETED_SUCCESSFULLY:"Query deleted successfully",FILTERS:"Filters",ENTITIES:"Entities",LAYERS:"Layers",GENERAL:"General",EDIT_ENTITIES:"Edit entities",EDITING_ENTITIES:"Editing entities",USE:"Use",FIELD:"Field",COLOR:"Color",SIZE:"Size",POSITION:"Position",OFFSET:"Offset",IMAGE:"Image",BOUNDS:"Bounds",HEATMAP:"Heatmap",ICON:"Icon",LINE:"Line",POLYGON:"Polygon",TEXT:"Text",ANIMATION:"Animation",VISIBLE:"Visible",MARK:"Mark",TRANSFORM:"Transform",TITLE:"Title",COLOR_VALUE:"Color value.",RESIZE_WHILE_ZOOMING:"The objects will shrink when zooming out and enlarge whem zooming in.",INTENSITY_FIELD:"Intensity field.",INTENSITY_MULTIPLIER:"Intensity Multiplies",RADIUS_AGGREGATION:"Radius Aggregation",VERSION_HISTORY:"Version history",NEW_LAYER:"New layer",VISIBLE_FROM:"Visible from",VISIBLE_UNTIL:"Visible until",ZOOM:"Zoom",CURRENT_ZOOM:"Current zoom",RANGE:"Range",RANGE_HELPER:"The values of the selected field will be translated (scaled) to this range in pixels",FALLBACK:"Default",FALLBACK_COLOR_HELPER:"Color used when the field value is null",FALLBACK_SIZE_HELPER:"Size used when the field value is null",ICON_LIBRARIES_DESCRIPTION:"Use resources to load external data into your app. Resources are loaded once and cached for the duration of the app session.",ICONS:"Icons",IMAGES:"Images",MODELS_3D:"3D models",MODEL_3D:"3D model",ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_ICON:"Are you sure you want to delete this icon?",RESOURCE_DELETED_SUCCESSFULLY:"Icon deleted successfully",ICON_LIBRARIES:"Icon Libraries",ICON_LIBRARY:"Icon Library",CREATE_ICON:"Add icon",EDIT_ICON:"Edit icon",ICON_SAVED_SUCCESSFULLY:"Icon saved successfully",CLICK_OR_DRAG_TO_UPLOAD_AN_ICON:"Click or drag to upload an icon",DROP_AN_ICON_HERE:"Drop an icon here",QUERIES:"Queries",CREATE:"Create",SEARCH:"Search",ICON_NAME_COPIED_TO_CLIPBOARD:"Icon name copied to clipboard",ADD_YOUR_ICONS_HERE:"Add your icons here",ORGANIZATION_LOGO:"Organization logo",START_TYPING_YOUR_SQL_QUERY_HERE:"Start typing your SQL query here",VALUE:"Value",COLOR_SCHEME:"Color scheme",SCHEME:"Scheme",YOU_CAN_ALWAYS_RESTORE_THE_APP_TO_PREVIOUS_VERSIONS:"You can always restore the app to previous versions.",RESTORE_THIS_VERSION:"Restore this version",MULTIPLIER:"Multiplier",RESIZE:"Resize",FONT_ALIGNMENT:"Font alignment",ALIGN:"Align",FONT_WEIGHT:"Font weight",WEIGHT:"Weight",ERROR:"Error",NO_FLIGHT_FOR_YOU:"No flight for you",OOPS_SOMETHING_WENT_WRONG:"Oops, something went wrong",REVERSE:"Reverse",PLACE_ROW:"Drag to place row",CONDITION:"Condition",ANIMATION_CONDITION_HELPER:"When using a field, rows with the value true or different from 0 will be animated",VISIBILITY_CONDITION_HELPER:"When using a field, rows with the value true or different from 0 will be visible",ANIMATE_ALL_ROWS:"Animate all rows",DEBUG_PAGE:"Debug page",PALETTE:"Palette",THERE_ARE_NO_EDITABLE_COLUMNS:"There are no editable columns",NEW:"New",CLEAR_ALL:"Clear all",OPACITY:"Opacity",AGGREGATION_RADIUS:"Aggregation radius",INITIAL_POSITION:"Initial position",SET_CURRENT_AS_INITIAL:"Set current as initial",MAP_STYLE:"Map style",BACK:"Back",SESSION_INFO:"Session info",USER_ATTRIBUTES:"User attributes",TONAL:"Tonal",TEXTFIELD:"Textfield",BUTTON:"Button",RESTORE:"Restore",RADIUS:"Radius",EDIT_LAYER:"Edit layer",PLACE:"Place",UNPLACE:"Unplace",PREVIOUS:"Previous",NEXT:"Next",THERE_ARE_NO_ICONS_MATCHING_YOUR_SEARCH:'There are no icons matching your search "{{query}}"',PROCESSING:"Processing",UPLOAD:"Upload",UPLOADING:"Uploading",UPLOADED:"Uploaded",RUN_QUERY_TO_SEE_RESULTS:"Run query to see results",ENABLE_WRITE_OPERATIONS:"Enable update operations",WRITE_ID_COLUMN:"Primary key column",WRITE_TABLE:"Table to write",SELECT_ELLIPSIS:"Select…",FIXED_FEMALE:"Fixed",USE_FIELD:"Use {{field}} field",SELECT_A_FIELD:"Select a field",NONE:"None",LATITUDE:"Latitude",LONGITUDE:"Longitude",X:"X",Y:"Y",SELECT_A_QUERY:"Select a query",FIXED:"Fixed",LAYER:"Layer",FLOOR:"Floor",INVALID_LAYER:"Invalid layer",TYPE_A_PLACE_TO_NAVIGATE:"Type a place to navigate",CANNOT_REFRESH_DATA_WITHOUT_VIEW_STATE_AND_WORLD:"Cannot refresh data without viewState and world",SOMETHING_WENT_WRONG_CREATING_THE_APP:"Something went wrong creating the app",TARGET_VISUALIZATION_SHOULD_EXISTS_TO_JUMP:"Target visualization should exists to jump",ORIGIN_VISUALIZATION_SHOULD_EXISTS_TO_JUMP:"Origin visualization should exists to jump",REPLACE_IMAGE:"Replace image",REPLACE_3D_MODEL:"Replace 3D model",UNPLACE_ROW:"Unplace row",ZOOM_IN:"Zoom in",ZOOM_OUT:"Zoom out",SELECT_TO_ROTATE_THE_VIEW:"Select to rotate the view",SELECT_TO_PAN_THE_VIEW:"Select to pan the view",OR_HOLD_ALT:"or hold ALT",CANNOT_ZOOM_WHILE_VISUALIZATION_DOES_NOT_EXIST:"Cannot zoom while visualization does not exist",CANNOT_CHANGE_BEARING_WHILE_VISUALIZATION_DOES_NOT_EXIST:"Cannot change bearing while visualization does not exist",CANNOT_FIND_A_VIEW_STATE:"Cannot find a viewState",CURRENT_POSITION_NOW_IS_INITIAL_POSITION:"Current position now is initial position",SOMETING_WENT_WRONG:"Someting went wrong",COLOR_ENCODING_IS_NOT_DEFINED:"Color encoding is not defined",BOUNDS_MUST_HAVE_4_OR_5_POINTS:"Bounds must have 4 or 5 points",POLYGON_MUST_HAVE_EXACTLY_5_POINTS:"Polygon must have exactly 5 points",BACK_TO_ORIGIN:"Back to origin",HISTORY:"History",PLACE_ENTITIES:"Place {{entity}}",PLACING_ENTITIES:"Placing {{entity}}",APP_STUDIO:"App Studio",NOT_PLACED:"Not placed",PLACED:"Placed",DATA:"Data",APPEARANCE:"Appearance",VISIBILITY:"Visibility",EXIT:"Exit",MAP:"Map",NEW_ENTITY:"New entity",GO_TO_APPS:"Go to apps",CONFIRM:"Confirm",ARE_YOU_SURE_YOU_WANT_TO_DISCARD_CHANGES:"Are you sure you want to discard changes?",ARE_YOU_SURE_YOU_WANT_TO_DISCARD_CHANGES_AND_EXIT:"Are you sure you want to discard changes and exit?",DISCAND_AND_EXIT:"Discard and exit",DISCARD:"Discard",LIST_FIELDS:"List fields",PRIMARY_FIELD:"Primary field",SECONDARY_FIELD:"Secondary field",UNNAMED_ENTITY:"Unnamed entity",NAME_IS_REQUIRED:"Name is required",SELECT_A_LAYER:"Select a layer",META:"Meta",LISTING:"Listing",NAVIGATION:"Navigation",NAVIGATION_ZOOM_HELPER:"When selecting an item, the visualization will be centered around it. Set a field or a fixed value to define the zoom level the user will be taken.",ONLY_PLACED:"Placed",ONLY_NOT_PLACED:"Not placed",ALL:"All",MORE:"More…",INVALID_ENTITY:"Invalid entity",TOGGLE_TO_PLACE:"Toggle to place in the visualization",TOOLTIP:"Tooltip",SHOW_TOOLTIP:"Show tooltip",DETAILS:"Details",NO_RESULTS_FOUND:"No results found",DATA_SOURCE_DELETED_SUCCESSFULLY:"Data source deleted successfully",AN_ERROR_OCCURRED_WHILE_LOADING_THE_ICON_LIST:"An error occurred while loading the icon list",AN_ERROR_OCCURRED_WHILE_UPLOADING_THE_IMAGE_FILE:"An error occurred while uploading the image file",AN_ERROR_OCCURRED_WHILE_UPLOADING_THE_MODEL_FILE:"An error occurred while uploading the model file",TYPE_TO_SEARCH:"Type to search",DISCARDING_ELLIPSIS:"Discarding…",OBJECT_ENTITY_WAS_SAVED_SUCCESSFULLY:"The object {{entity}} was saved successfully",ROW:"Row",UPDATE_HAS_BEEN_UNDONE:"Update has been undone",UNDO:"Undo",BEARING:"Bearing",NAVIGATION_BEARING_HELPER:`Select the field to rotate the map automatically on the user's navigation`,DUPLICATE:"Duplicate",COPY:"Copy"};const stringsPtBr={ACCOUNT_CONFIRMATION:"Confirmação de Conta",ACCOUNT_CONFIRMED:"Conta Confirmada",ACCOUNT_CREATED:"Conta Criada",CANCEL:"Cancelar",CANT_FIND_THE_EMAIL_SEND_IT_AGAIN:"Não consegue encontrar o email?",CHANGE:"Mudar",CONFIRM_PASSWORD:"Confirmar senha",CONFIRMING_YOUR_ACCOUNT_ELLIPSIS:"Verificando sua conta…",CONTINUE_TO_HOPARA:"Continuar para Hopara",CONTINUE_WITH_YOUR_WORK_EMAIL:"Continue com\nseu email de trabalho",CONTINUE:"Continuar",COPYRIGHT:"Direitos Autorais © 2022 Hopara, Inc. Todos os direitos reservados.",HOPARA_INC:"Hopara, Inc.",PRODUCT_TERMS:"Termos de Produto",PRIVACY_STATEMENT:"Declaração de Privacidade",CREATE_A_NEW_ACCOUNT:"Escolha uma senha\npara criar uma nova conta",CURRENT_PASSWORD:"Senha atual",EMAIL_SENT:"Email enviado.",EMAIL:"Email",FORGOT_PASSWORD_QUESTION:"Esqueceu a senha?",FORGOT_PASSWORD_DESCRIPTION:"Use o botão abaixo para enviar um link de redefinição para seu email",GO_TO_YOUR_INBOX_AND_CLICK_ON_THE_LINK_THAT_WE_SENT_YOU:"Um email foi enviado para a sua caixa de entrada. Use o link fornecido para verificar sua conta.",I_ACCEPT_THE:"Eu aceito o",AND:"e",INVALID_EMAIL:"Email inválido",NEW_PASSWORD:"Nova senha",PASSWORD:"Senha",RESET_PASSWORD:"Redefinir senha",RESETTING_ELLIPSIS:"Redefinindo…",RESEND_EMAIL:"Reenviar email",RESET_LINK_WAS_SENT_TO_EMAIL:"Link de redefinição foi enviado para {{email}}",SEND_EMAIL:"Enviar email",SENDING_ELLIPSIS:"Enviando…",SIGN_IN:"Entrar",SIGN_OUT:"Sair",SIGN_UP:"Cadastrar",SIGNIN_TO_HOPARA:"Entrar no Hopara",SIGNING_IN_ELLIPSIS:"Entrando…",SIGNING_UP_ELLIPSIS:"Cadastrando…",TEMPORARY_PASSWORD:"Senha temporária",TOOLTIP_AUTH:"Digite seu email de trabalho acima",TYPE_YOUR_HOPARA_PASSWORD:"Digite sua senha\nHopara",VERIFYING_ELLIPSIS:"Verificando…",YOUR_EMAIL_IS_STILL_NOT_CONFIRMED:"Sua conta\nestá aguardando verificação",YOUR_PASSWORD_HAS_BEEN_RESET:"Sua senha\nfoi redefinida.",CHANGE_PASSWORD:"Mudar senha",CHANGING_ELLIPSIS:"Mudando…",YOUR_PASSWORD_SHOULD_CONTAIN:"Sua senha deve conter:",EIGHT_CHARS_LONG:"pelo menos 8 caracteres",ONE_UPPERCASE_CHAR:"pelo menos 1 caractere maiúsculo",ONE_LOWERCASE_CHAR:"pelo menos 1 caractere minúsculo",ONE_SYMBOL_CHAR:"pelo menos 1 caractere especial",DATA_SOURCES_IN_YOUR_ORGANIZATION:"Fontes de dados na sua organização",CREATE_A_NEW_DATA_SOURCE:"Criar uma nova fonte de dados",MYSQL:"Mysql",POSTGRES:"Postgres",SINGLESTORE:"Singlestore",TIMESCALE:"Timescale",NAME:"Nome",QUERY_NAME:"Nome da query",HOST:"Host",PORT:"Porta",DATABASE:"Banco de dados",USER_NAME:"Nome de usuário",SCHEMA:"Esquema",LOADING_ELLIPSIS:"Carregando...",EDIT:"Editar",DELETE:"Excluir",DATA_SOURCES:"Fontes de Dados",DATA_SOURCE:"Fonte de dados",APPS:"Visualizações",APPLICATION:"Visualização",UNKNOWN_ERROR:"Erro desconhecido",SAVE:"Salvar",SAVING_ELLIPSIS:"Salvando...",TEST_CONNECTION:"Testar conexão",TEST_CONNECTION_SUCCESS:"Teste de conexão bem-sucedido",EDIT_DATA_SOURCE:"Editar fonte de dados",CREATE_DATA_SOURCE:"Criar fonte de dados",CREATE_A_NEW_DATA_SOURCE_DESCRIPTION:"Conecte seu banco de dados ao Hopara para tornar seus dados visíveis às visualizações. O Hopara não armazena nenhum dado internamente, tudo é buscado na hora ao exibir uma visualização.",DATA_SOURCE_SAVED_SUCCESSFULLY:"Fonte de dados salva com sucesso",QUERY:"Query",QUERY_SAVED_SUCCESSFULLY:"Query salva com sucesso",SQL:"SQL",NEW_QUERY:"Nova query",EDIT_QUERY:"Editar query",RUN:"Executar",RUNNING_ELLIPSIS:"Executando...",SHOW_HISTORY:"Mostrar histórico",DISCARD_CHANGES:"Descartar alterações",RESTART_APP:"Reiniciar visualização",ADVANCED_MODE:"Modo avançado",PASSWORDS_DO_NOT_MATCH:"As senhas não coincidem",TYPE:"Tipo",CREATE_AN_APP:"Criar uma visualização",CREATE_AN_APP_DESCRIPTION:"Crie uma visualização Hopara a partir de nossos modelos e dados predefinidos.",APP_NAME:"Nome da visualização",ENTER_A_NAME_FOR_THIS_APP:"Insira um nome para esta visualização",SOMETHING_WENT_WRONG_CREATING_APP:"Algo deu errado ao criar a visualização",APP_CREATED:"Visualização criada",COMPANY_LOGO:"Logotipo da empresa",DOCUMENTATION:"Documentação",DELETING_ELLIPSIS:"Excluindo...",RENAME:"Renomear",ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_APP:"Tem certeza de que deseja excluir esta visualização?",APPS_IN_YOUR_ORGANIZATION:"Visualizações em sua organização",APP_NAME_UPDATED:"Nome da visualização atualizado",APP_DELETED:"Visualização excluída",READ_ONLY:"Somente leitura",WEBGL_DISABLED:"Para usar o Hopara, você precisa habilitar o WebGL em seu navegador.",WEBGL_UNSUPPORTED:"Para usar o Hopara, você precisa usar um navegador que suporte o WebGL.",WEBGL_ERROR:"Erro WebGL",SIMPLE_MODE:"Modo simples",ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_QUERY:"Tem certeza de que deseja excluir esta query?",ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_DATA_SOURCE:"Tem certeza de que deseja excluir esta fonte de dados?",QUERY_DELETED_SUCCESSFULLY:"Query excluída com sucesso",FILTERS:"Filtros",ENTITIES:"Entidades",LAYERS:"Camadas",GENERAL:"Geral",EDIT_ENTITIES:"Editar entidades",EDITING_ENTITIES:"Editando entidades",USE:"Usar",FIELD:"Campo",COLOR:"Cor",SIZE:"Tamanho",POSITION:"Posição",OFFSET:"Offset",IMAGE:"Imagem",BOUNDS:"Limites",HEATMAP:"Mapa de calor",ICON:"Ícone",LINE:"Linha",POLYGON:"Polígono",TEXT:"Texto",ANIMATION:"Animação",VISIBLE:"Visível",MARK:"Marca",TRANSFORM:"Transform",TITLE:"Título",COLOR_VALUE:"Valor da cor",RESIZE_WHILE_ZOOMING:"Os objetos diminuirão ao dar zoom e aumentarão ao aproximar.",INTENSITY_FIELD:"Campo de intensidade",INTENSITY_MULTIPLIER:"Multiplicador de intensidade",RADIUS_AGGREGATION:"Agregação de raio",VERSION_HISTORY:"Histórico de versões",NEW_LAYER:"Nova camada",VISIBLE_FROM:"Visível a partir de",VISIBLE_UNTIL:"Visível até",ZOOM:"Zoom",CURRENT_ZOOM:"Zoom atual",RANGE:"Intervalo",RANGE_HELPER:"Os valores do campo selecionado serão traduzidos para este intervalo em pixels",FALLBACK:"Padrão",FALLBACK_COLOR_HELPER:"Cor a ser aplicada quando o campo é nulo",FALLBACK_SIZE_HELPER:"Tamanho a ser aplicado quando o campo é nulo",ICON_LIBRARIES_DESCRIPTION:"Use recursos para carregar dados externos em sua visualização. Os recursos são carregados uma vez e armazenados em cache durante a sessão da visualização.",ICONS:"Ícones",IMAGES:"Imagens",MODELS_3D:"Modelos 3D",MODEL_3D:"Modelo 3D",ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_ICON:"Tem certeza de que deseja excluir este ícone?",RESOURCE_DELETED_SUCCESSFULLY:"Ícone excluído com sucesso",ICON_LIBRARIES:"Bibliotecas de ícones",ICON_LIBRARY:"Biblioteca de ícones",CREATE_ICON:"Adicionar ícone",EDIT_ICON:"Editar ícone",ICON_SAVED_SUCCESSFULLY:"Ícone salvo com sucesso",CLICK_OR_DRAG_TO_UPLOAD_AN_ICON:"Clique ou arraste para fazer upload de um ícone",DROP_AN_ICON_HERE:"Arraste um ícone aqui",QUERIES:"Queries",CREATE:"Criar",SEARCH:"Buscar",ICON_NAME_COPIED_TO_CLIPBOARD:"Nome do ícone copiado para a área de transferência",ADD_YOUR_ICONS_HERE:"Adicione seus ícones aqui",ORGANIZATION_LOGO:"Logotipo da organização",START_TYPING_YOUR_SQL_QUERY_HERE:"Comece a digitar sua query SQL aqui",VALUE:"Valor",COLOR_SCHEME:"Esquema de cores",SCHEME:"Esquema",YOU_CAN_ALWAYS_RESTORE_THE_APP_TO_PREVIOUS_VERSIONS:"Você sempre pode restaurar a visualização para versões anteriores.",RESTORE_THIS_VERSION:"Restaurar esta versão",MULTIPLIER:"Multiplicador",RESIZE:"Redimensionar",FONT_ALIGNMENT:"Alinhamento da fonte",ALIGN:"Alinhar",FONT_WEIGHT:"Peso da fonte",WEIGHT:"Peso",ERROR:"Erro",NO_FLIGHT_FOR_YOU:"Sem voo para você",OOPS_SOMETHING_WENT_WRONG:"Oops, algo deu errado",REVERSE:"Inverter",PLACE_ROW:"Arraste para posicionar na visualização",CONDITION:"Condição",ANIMATION_CONDITION_HELPER:"Ao usar um campo, linhas com o valor verdadeiro ou diferente de 0 serão animadas",VISIBILITY_CONDITION_HELPER:"Ao usar um campo, linhas com o valor verdadeiro ou diferente de 0 estarão visíveis",ANIMATE_ALL_ROWS:"Animar todas as linhas",DEBUG_PAGE:"Página de depuração",PALETTE:"Paleta",THERE_ARE_NO_EDITABLE_COLUMNS:"Não há colunas editáveis",NEW:"Novo",CLEAR_ALL:"Limpar tudo",OPACITY:"Opacidade",AGGREGATION_RADIUS:"Raio de agregação",INITIAL_POSITION:"Posição inicial",SET_CURRENT_AS_INITIAL:"Definir atual como inicial",MAP_STYLE:"Estilo do mapa",BACK:"Voltar",SESSION_INFO:"Informações da sessão",USER_ATTRIBUTES:"Atributos do usuário",TONAL:"Tonal",TEXTFIELD:"Campo de texto",BUTTON:"Botão",RESTORE:"Restaurar",RADIUS:"Raio",EDIT_LAYER:"Editar camada",PLACE:"Posicionar",UNPLACE:"Desposicionar",PREVIOUS:"Anterior",NEXT:"Próximo",THERE_ARE_NO_ICONS_MATCHING_YOUR_SEARCH:'Não há ícones correspondentes à sua pesquisa "{{query}}"',PROCESSING:"Processando",UPLOAD:"Enviar",UPLOADING:"Enviando",UPLOADED:"Enviado",RUN_QUERY_TO_SEE_RESULTS:"Execute a query para ver os resultados",ENABLE_WRITE_OPERATIONS:"Habilitar operações de atualização",WRITE_ID_COLUMN:"Coluna de chave primária",WRITE_TABLE:"Tabela para escrever",SELECT_ELLIPSIS:"Selecione…",FIXED_FEMALE:"Fixa",USE_FIELD:"Usar campo {{field}}",SELECT_A_FIELD:"Selecione um campo",NONE:"Nenhum",LATITUDE:"Latitude",LONGITUDE:"Longitude",X:"X",Y:"Y",SELECT_A_QUERY:"Selecione uma query",FIXED:"Fixo",LAYER:"Camada",FLOOR:"Piso",INVALID_LAYER:"Camada inválida",TYPE_A_PLACE_TO_NAVIGATE:"Digite um lugar para navegar",CANNOT_REFRESH_DATA_WITHOUT_VIEW_STATE_AND_WORLD:"Não é possível atualizar os dados sem viewState e world",SOMETHING_WENT_WRONG_CREATING_THE_APP:"Algo deu errado ao criar a visualização",TARGET_VISUALIZATION_SHOULD_EXISTS_TO_JUMP:"A visualização de destino deve existir para pular",ORIGIN_VISUALIZATION_SHOULD_EXISTS_TO_JUMP:"A visualização de origem deve existir para pular",REPLACE_IMAGE:"Substituir imagem",REPLACE_3D_MODEL:"Substituir modelo 3D",UNPLACE_ROW:"Descolocar linha",ZOOM_IN:"Aumentar zoom",ZOOM_OUT:"Diminuir zoom",SELECT_TO_ROTATE_THE_VIEW:"Selecione para girar a visualização",SELECT_TO_PAN_THE_VIEW:"Selecione para mover a visualização",OR_HOLD_ALT:"ou pressione ALT",CANNOT_ZOOM_WHILE_VISUALIZATION_DOES_NOT_EXIST:"Não é possível dar zoom enquanto a visualização não existe",CANNOT_CHANGE_BEARING_WHILE_VISUALIZATION_DOES_NOT_EXIST:"Não é possível mudar o rolamento enquanto a visualização não existe",CANNOT_FIND_A_VIEW_STATE:"Não é possível encontrar um viewState",CURRENT_POSITION_NOW_IS_INITIAL_POSITION:"A posição atual agora é a posição inicial",SOMETING_WENT_WRONG:"Algo deu errado",COLOR_ENCODING_IS_NOT_DEFINED:"A codificação de cores não está definida",BOUNDS_MUST_HAVE_4_OR_5_POINTS:"Os limites devem ter 4 ou 5 pontos",POLYGON_MUST_HAVE_EXACTLY_5_POINTS:"O polígono deve ter exatamente 5 pontos",BACK_TO_ORIGIN:"Voltar à origem",HISTORY:"Histórico",PLACE_ENTITIES:"Posicionar {{entity}}",PLACING_ENTITIES:"Posicionar {{entity}}",APP_STUDIO:"App Studio",NOT_PLACED:"Não posicionado",PLACED:"Posicionado",DATA:"Dados",APPEARANCE:"Aparência",VISIBILITY:"Visibilidade",EXIT:"Sair",MAP:"Mapa",NEW_ENTITY:"Nova entidade",GO_TO_APPS:"Ir para visualizações",CONFIRM:"Confirmar",ARE_YOU_SURE_YOU_WANT_TO_DISCARD_CHANGES:"Tem certeza de que deseja descartar as alterações?",ARE_YOU_SURE_YOU_WANT_TO_DISCARD_CHANGES_AND_EXIT:"Tem certeza de que deseja descartar as alterações e sair?",DISCAND_AND_EXIT:"Descartar e sair",DISCARD:"Descartar",LIST_FIELDS:"Campos da lista",PRIMARY_FIELD:"Campo primário",SECONDARY_FIELD:"Campo secundário",UNNAMED_ENTITY:"Entidade sem nome",NAME_IS_REQUIRED:"O nome é obrigatório",SELECT_A_LAYER:"Selecione uma camada",META:"Meta",LISTING:"Listagem",NAVIGATION:"Navegação",NAVIGATION_ZOOM_HELPER:"Ao selecionar um item, a visualização será centralizada nele. Use um campo de referência ou especifique um valor fixo para o zoom onde o usuário será redirecionado.",ONLY_NOT_PLACED:"Não Posicionados",ONLY_PLACED:"Posicionados",ALL:"Ver Todos",MORE:"Mais ações…",INVALID_ENTITY:"Entidade inválida",TOGGLE_TO_PLACE:"Ative para posicioná-los na visualização",TOOLTIP:"Tooltip",SHOW_TOOLTIP:"Mostrar tooltip",DETAILS:"Detalhes",NO_RESULTS_FOUND:"Nenhum resultado encontrado",DATA_SOURCE_DELETED_SUCCESSFULLY:"Fonte de dados excluída com sucesso",AN_ERROR_OCCURRED_WHILE_LOADING_THE_ICON_LIST:"Ocorreu um erro ao carregar a lista de ícones",AN_ERROR_OCCURRED_WHILE_UPLOADING_THE_IMAGE_FILE:"Ocorreu um erro ao enviar o arquivo de imagem",AN_ERROR_OCCURRED_WHILE_UPLOADING_THE_MODEL_FILE:"Ocorreu um erro ao enviar o arquivo do modelo",TYPE_TO_SEARCH:"Digite para pesquisar",DISCARDING_ELLIPSIS:"Descartando…",OBJECT_ENTITY_WAS_SAVED_SUCCESSFULLY:"Objeto {{entity}} salvo com sucesso",ROW:"Linha",UPDATE_HAS_BEEN_UNDONE:"A atualização foi desfeita",UNDO:"Desfazer",BEARING:"Rotação",NAVIGATION_BEARING_HELPER:"Selecione o campo que será usado para rotacionar o mapa automaticamente na navegação.",DUPLICATE:"Duplicar",COPY:"Cópia"};const isPortuguese=typeof navigator!=="undefined"&&(navigator.language.includes("pt-")||navigator.language==="pt");const i18n=(key,params)=>{let string=isPortuguese?stringsPtBr[key]:stringsEnUs[key];if(!string){string=stringsEnUs[key]}if(params){return string.replace(/{{(\w+)}}/g,((_,key)=>params[key]))}return string};const i18nWithNoBreaks=(key,params)=>i18n(key,params).replace(/\n/g," ")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"e",(function(){return Encodings_Encodings}));__webpack_require__.d(__webpack_exports__,"d",(function(){return EncodingScope}));__webpack_require__.d(__webpack_exports__,"k",(function(){return NullPositionKeys}));__webpack_require__.d(__webpack_exports__,"m",(function(){return PositionKey_PositionKeys}));__webpack_require__.d(__webpack_exports__,"j",(function(){return NullPositionKey}));__webpack_require__.d(__webpack_exports__,"l",(function(){return PositionAcessor}));__webpack_require__.d(__webpack_exports__,"b",(function(){return ColorFormat}));__webpack_require__.d(__webpack_exports__,"u",(function(){return getRgbScheme}));__webpack_require__.d(__webpack_exports__,"r",(function(){return getColorAccessor}));__webpack_require__.d(__webpack_exports__,"s",(function(){return getColumn}));__webpack_require__.d(__webpack_exports__,"n",(function(){return Colors["c"]}));__webpack_require__.d(__webpack_exports__,"f",(function(){return Colors["b"]}));__webpack_require__.d(__webpack_exports__,"a",(function(){return Colors["a"]}));__webpack_require__.d(__webpack_exports__,"h",(function(){return IconEncoding_IconEncoding}));__webpack_require__.d(__webpack_exports__,"g",(function(){return IconAccessor_IconAccessor}));__webpack_require__.d(__webpack_exports__,"v",(function(){return getSizeAccessor}));__webpack_require__.d(__webpack_exports__,"p",(function(){return TextEncoding_TextEncoding}));__webpack_require__.d(__webpack_exports__,"o",(function(){return ScaleType}));__webpack_require__.d(__webpack_exports__,"c",(function(){return DEFAULT_SCALE_TYPE}));__webpack_require__.d(__webpack_exports__,"t",(function(){return getColumnScaleType}));__webpack_require__.d(__webpack_exports__,"q",(function(){return createScale}));__webpack_require__.d(__webpack_exports__,"i",(function(){return ModelAccessor_ModelAccessor}));var src=__webpack_require__(87);var external_vega_=__webpack_require__(24);var Colors=__webpack_require__(19);var fp_=__webpack_require__(2);const continuous=["greenyellowred","whiteyellowred","greens","reds","blues","redPurple","redGrey","redYellowGreen"];const discrete=["graygreen","category20","category20b","tableau20"];const getColor=(colors,step)=>{if(Object(fp_["isFunction"])(colors)){return colors(step)}if(Object(fp_["isArray"])(colors)){const index=(colors.length-1)*step;if(index>=colors.length){return colors[colors.length-1]}return colors[Math.round(index)]}return"#000000"};const getSteps=count=>{if(count<=1){return[0]}return Array.from(Array(count),((_,i)=>i/(count-1)))};const getSchemes=(schemeNames,count)=>{const steps=getSteps(count);return Object.fromEntries(schemeNames.map((name=>{let colors=Object(external_vega_["scheme"])(name);colors=steps.map((step=>getColor(colors,step)));return[name.toLowerCase(),colors]})))};const getContinousSchemes=count=>getSchemes(continuous,count);const getDiscreteSchemes=count=>getSchemes(discrete,count);Object(external_vega_["scheme"])("greenyellowred",["#2e7d32","#ffc107","#f44336"]);Object(external_vega_["scheme"])("whiteyellowred",["#ffffff","#ffc107","#f44336"]);Object(external_vega_["scheme"])("graygreen",["#7f7f7f","#2e7d32"]);const DEFAULT_COLOR_SCHEME="redYellowGreen";const seqPaletteSteps=Array.from({length:9},((_,i)=>(i+1)/10));function getScheme(paletteName){const name=paletteName.toLocaleLowerCase();let colors=Object(external_vega_["scheme"])(paletteName);if(!colors)return null;if(typeof colors==="function"){colors=seqPaletteSteps.map((step=>Object(Colors["e"])(colors(step))))}else{colors=colors.map((c=>Object(Colors["e"])(c)))}if(!colors.length)return null;return{name,colors}}const getOpacity=function(){let alpha=arguments.length>0&&arguments[0]!==undefined?arguments[0]:255;return alpha/255};const getCustomScheme=scheme=>({name:"custom",colors:scheme.map((color=>{if(Array.isArray(color)){return Object(Colors["e"])(`rgba(${color[0]}, ${color[1]}, ${color[2]}, ${getOpacity(color[3])})`)}return Object(Colors["e"])(color)}))});function formatColorScheme(scheme,colorFormat){let opacity=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;let colorScheme;if(typeof scheme==="string"){colorScheme=getScheme(scheme.toLocaleLowerCase())}else if(Array.isArray(scheme)){colorScheme=getCustomScheme(scheme)}if(!colorScheme){colorScheme=getScheme(DEFAULT_COLOR_SCHEME)}return{name:colorScheme.name,colors:colorScheme.colors.map((c=>{const color=c.copy({opacity});if(colorFormat===ColorFormat.hex)return color.formatHex();return Object(Colors["f"])(color)}))}}function getHexScheme(scheme){let reverse=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;const colorScheme=formatColorScheme(scheme,ColorFormat.hex);if(reverse)return{name:`${colorScheme.name}-reversed`,colors:[...colorScheme.colors].reverse()};return colorScheme}function doGetRgbScheme(name,reverse,opacity){const colorScheme=formatColorScheme(name,ColorFormat.rgb,opacity);if(reverse)return{name:`${colorScheme.name}-reversed`,colors:[...colorScheme.colors].reverse()};return colorScheme}const getRgbSchemeCache=Object(src["a"])(doGetRgbScheme);function getRgbScheme(scheme){let reverse=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;let opacity=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;return getRgbSchemeCache(scheme,reverse,opacity)}var external_d3_=__webpack_require__(23);var initializerDefineProperty=__webpack_require__(12);var applyDecoratedDescriptor=__webpack_require__(11);var initializerWarningHelper=__webpack_require__(35);var external_class_transformer_=__webpack_require__(7);var _dec,_class,_descriptor;let BaseEncoding_BaseEncoding=(_dec=Object(external_class_transformer_["Exclude"])({toPlainOnly:true}),_class=class BaseEncoding{constructor(){Object(initializerDefineProperty["a"])(this,"createdTimestamp",_descriptor,this);this.createdTimestamp=new Date}getCreatedTimestamp(){return this.createdTimestamp.getTime()}},_descriptor=Object(applyDecoratedDescriptor["a"])(_class.prototype,"createdTimestamp",[_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),_class);const pixelToCommon=(pixel,zoom)=>pixel/Math.pow(2,zoom);const commonToPixel=(commonSize,zoom)=>commonSize*Math.pow(2,zoom);let SizeUnits;(function(SizeUnits){SizeUnits["METERS"]="meters";SizeUnits["COMMON"]="common";SizeUnits["PIXELS"]="pixels"})(SizeUnits||(SizeUnits={}));class SizeEncoding_SizeEncoding extends BaseEncoding_BaseEncoding{constructor(props){super();this.field=void 0;this.value=void 0;this.scale=void 0;this.units=void 0;this.animation=void 0;this.resize=void 0;Object.assign(this,props);if(!this.units){this.units=SizeUnits.PIXELS}}getUnits(){if(this.isCommon())return SizeUnits.COMMON;return this.units}getRange(columnDomain,range){if(!range)return[];const rangeValues=[range[0],range[1]];if(!rangeValues)return[];if(columnDomain.length===rangeValues.length)return rangeValues;const stepsArray=Array.from({length:columnDomain.length},((_,i)=>i+1));const scale=Object(external_d3_["scaleLinear"])().domain([stepsArray[0],stepsArray[stepsArray.length-1]]).range([rangeValues[0],rangeValues[rangeValues.length-1]]);return stepsArray.map((step=>{var _scale;return(_scale=scale(step))!==null&&_scale!==void 0?_scale:step}))}getScaleValue(value,columnDomain,range){const discreteRange=this.getRange(columnDomain,range);return Object(external_d3_["scaleQuantile"])().domain(columnDomain).range(discreteRange)(value)}getSize(columnValue,columnDomain){let value=columnValue;if(Object(fp_["isNumber"])(columnValue)&&columnDomain&&this.scale){value=this.getScaleValue(columnValue,columnDomain,this.scale.range)}if(!Object(fp_["isNumber"])(value)&&Object(fp_["isNumber"])(this.value)){value=this.value}if(!value){value=0}if(this.isCommon()){var _this$resize;return pixelToCommon(value,(_this$resize=this.resize)===null||_this$resize===void 0?void 0:_this$resize.referenceZoom)}return value}hasField(){return!!this.field}getField(){return this.field}setField(fieldName){this.field=fieldName}isCommon(){var _this$resize2;return typeof((_this$resize2=this.resize)===null||_this$resize2===void 0?void 0:_this$resize2.referenceZoom)==="number"}isPixels(){return!this.isCommon()}getMinPixels(){var _this$resize3;let factor=arguments.length>0&&arguments[0]!==undefined?arguments[0]:1;if(this.isCommon()&&(_this$resize3=this.resize)!==null&&_this$resize3!==void 0&&_this$resize3.referenceZoom){return commonToPixel(this.getSize(),this.resize.referenceZoom)*factor}}getMaxPixels(){var _this$resize4;let factor=arguments.length>0&&arguments[0]!==undefined?arguments[0]:1;if(this.isCommon()&&(_this$resize4=this.resize)!==null&&_this$resize4!==void 0&&_this$resize4.maxZoom){return commonToPixel(this.getSize(),this.resize.maxZoom)*factor}}isRenderable(){return!!(this.field&&this.scale)||Object(fp_["isNumber"])(this.value)}}let ColorScaleType;(function(ColorScaleType){ColorScaleType["QUANTILE"]="quantile";ColorScaleType["QUANTIZE"]="quantize";ColorScaleType["ORDINAL"]="ordinal"})(ColorScaleType||(ColorScaleType={}));function getDataDomain(values){var _values$sort;return(_values$sort=values===null||values===void 0?void 0:values.sort())!==null&&_values$sort!==void 0?_values$sort:[]}function getDomainFromStats(columnStats){var _columnStats$percenti;return(_columnStats$percenti=columnStats===null||columnStats===void 0?void 0:columnStats.percentiles)!==null&&_columnStats$percenti!==void 0?_columnStats$percenti:[]}class quantile_QuantileScaleBehavior{constructor(field){this.field=field}getScale(domain,colors){return Object(external_d3_["scaleQuantile"])(domain,colors)}getDomain(rows,columnStats){if(columnStats)return getDomainFromStats(columnStats);else if(rows.length)return getDataDomain(getValidValues(rows,this.field));return[]}}function getDataRange(values){const minValue=Object(fp_["min"])(values)||0;const maxValue=Object(fp_["max"])(values)||0;return[minValue,maxValue]}function quantize_getDomainFromStats(columnStats){return[columnStats.min,columnStats.max]}class quantize_QuantizeScaleBehavior{constructor(field){this.field=field}getScale(domain,colors){return Object(external_d3_["scaleQuantize"])(domain,colors)}getDomain(rows,columnStats){if(columnStats)return quantize_getDomainFromStats(columnStats);if(rows.length)return getDataRange(getValidValues(rows,this.field));return[]}}function ordinal_getDomainFromStats(columnStats){var _columnStats$values;return(_columnStats$values=columnStats===null||columnStats===void 0?void 0:columnStats.values)!==null&&_columnStats$values!==void 0?_columnStats$values:[columnStats.min,columnStats.max]}class ordinal_OrdinalScaleBehavior{constructor(field){this.field=field}getScale(domain,colors){return Object(external_d3_["scaleOrdinal"])(domain,colors)}getDomain(rows,columnStats){var _columnStats$values2;if(columnStats!==null&&columnStats!==void 0&&(_columnStats$values2=columnStats.values)!==null&&_columnStats$values2!==void 0&&_columnStats$values2.length){const rowsDomain=getValidValues(rows,this.field);const statsDomain=ordinal_getDomainFromStats(columnStats);return Object(fp_["concat"])(statsDomain,Object(fp_["difference"])(rowsDomain.sort(),statsDomain)).sort()}else if(rows.length){return getValidValues(rows,this.field).sort()}return[]}}var dataset_src=__webpack_require__(6);let ColorFormat;(function(ColorFormat){ColorFormat["hex"]="hex";ColorFormat["rgb"]="rgb"})(ColorFormat||(ColorFormat={}));function getValidValues(rows,field){if(!(rows!==null&&rows!==void 0&&rows.length)){return[]}const valids=rows.getValues(field).filter((value=>Object(fp_["isNumber"])(value)||!Object(fp_["isEmpty"])(value)));return Object(fp_["uniq"])(valids)}class ColorEncoding_ColorEncoding extends BaseEncoding_BaseEncoding{constructor(){let props=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};super();this.field=void 0;this.scale=void 0;this.opacity=void 0;this.value=void 0;this.animation=void 0;this.condition=void 0;Object.assign(this,props)}getDefaultScale(){return{type:ColorScaleType.ORDINAL}}getScale(){if(!this.scale){return this.getDefaultScale()}return this.scale}getField(){return this.field}isFieldBased(){return!!this.field}hasCondition(){return!!this.condition}setField(field){this.field=field;return this}getScaleType(){return this.getScale().type}isScale(scale){return Object(fp_["isString"])(this.getScaleType())&&this.getScaleType().toLowerCase()===scale.toLowerCase()}requiresQuantitativeValues(){return this.isScale(ColorScaleType.QUANTIZE)||this.isScale(ColorScaleType.QUANTILE)}getScaleDomain(rows,column,scaleBehavior){var _rows$columns,_rows$columns$get;const scaleDomain=this.getScale().domain;if(scaleDomain)return scaleDomain;const rowsStats=((_rows$columns=rows.columns)===null||_rows$columns===void 0?void 0:(_rows$columns$get=_rows$columns.get(column===null||column===void 0?void 0:column.name))===null||_rows$columns$get===void 0?void 0:_rows$columns$get.getStats())||(column===null||column===void 0?void 0:column.getStats());return scaleBehavior.getDomain(rows,rowsStats)}getScaleFunction(){let rows=arguments.length>0&&arguments[0]!==undefined?arguments[0]:new dataset_src["k"];let column=arguments.length>1?arguments[1]:undefined;let colorFormat=arguments.length>2&&arguments[2]!==undefined?arguments[2]:ColorFormat.rgb;const scaleBehavior=this.getScaleBehavior(column);const domain=this.getScaleDomain(rows,column,scaleBehavior);return scaleBehavior.getScale(domain,this.getColors(colorFormat))}getColors(){let colorFormat=arguments.length>0&&arguments[0]!==undefined?arguments[0]:ColorFormat.rgb;if(colorFormat==="rgb"){return getRgbScheme(this.getScale().scheme||this.getScale().range,this.getScale().reverse,this.opacity).colors}return getHexScheme(this.getScale().scheme||this.getScale().range,this.getScale().reverse).colors}getFallback(){return this.value}isRenderable(){return!!(this.field&&this.getScale().scheme)||!!this.value}getDefaultScaleBehavior(column){if(column!==null&&column!==void 0&&column.isQuantitative()||column!==null&&column!==void 0&&column.isTemporal()){return new quantile_QuantileScaleBehavior(this.getField())}else{return new ordinal_OrdinalScaleBehavior(this.getField())}}getScaleBehavior(column){if(!this.scale){return this.getDefaultScaleBehavior(column)}if(this.isScale(ColorScaleType.QUANTIZE)){return new quantize_QuantizeScaleBehavior(this.getField())}if(this.isScale(ColorScaleType.QUANTILE)){return new quantile_QuantileScaleBehavior(this.getField())}else{return new ordinal_OrdinalScaleBehavior(this.getField())}}}class IconEncoding_IconEncoding extends BaseEncoding_BaseEncoding{constructor(props){super();this.value=void 0;this.field=void 0;this.map=void 0;Object.assign(this,props)}isRenderable(){return!!this.value||!!this.field}}var internals_src=__webpack_require__(16);let Alignment;(function(Alignment){Alignment["LEFT"]="left";Alignment["CENTER"]="center";Alignment["RIGHT"]="right"})(Alignment||(Alignment={}));class TextEncoding_TextEncoding extends BaseEncoding_BaseEncoding{constructor(props){super();this.field=void 0;this.align=void 0;this.angle=void 0;this.suffix=void 0;this.prefix=void 0;this.format=void 0;this.weight=void 0;Object.assign(this,props)}getField(){return this.field}getWeight(){return this.weight}getAnchor(){switch(this.align){case"left":return"end";case"right":return"start";default:return"middle"}}getAngle(){var _this$angle;return(_this$angle=this.angle)!==null&&_this$angle!==void 0?_this$angle:0}formatValue(value,columnType){if(this.format){try{if(columnType===dataset_src["b"].DATETIME){return Object(external_d3_["timeFormat"])(this.format)(value)}else{return Object(external_d3_["format"])(this.format)(value)}}catch(e){internals_src["c"].error("Invalid format "+this.format);return value}}return Object(dataset_src["l"])(value,columnType)}getValue(row,columnType){let value=Object(dataset_src["m"])(this.getField(),row);if(Object(fp_["isNil"])(value))return null;value=this.formatValue(value,columnType);if(this.prefix){value=this.prefix+value}if(this.suffix){value=value+this.suffix}return value}isRenderable(){return!!this.field}}let ScaleType;(function(ScaleType){ScaleType["LINEAR"]="linear";ScaleType["SQUARE"]="sqrt";ScaleType["TIME"]="utc";ScaleType["ORDINAL"]="ordinal";ScaleType["NULL"]="null"})(ScaleType||(ScaleType={}));const DEFAULT_SCALE_TYPE=ScaleType.LINEAR;const getColumnScaleType=column=>{if(!column)return DEFAULT_SCALE_TYPE;switch(column.getType()){case dataset_src["b"].STRING:case dataset_src["b"].JSON:case dataset_src["b"].STRING_ARRAY:case dataset_src["b"].GEOMETRY:case dataset_src["b"].BOOLEAN:return ScaleType.ORDINAL;case dataset_src["b"].DATETIME:return ScaleType.TIME;default:return DEFAULT_SCALE_TYPE}};const NullPositionKey={field:"_HP_NULL_FIELD_",type:ScaleType.NULL};class PositionKey_PositionKeys{safeGetPositionKey(key){var _key$type;let defaulKey=arguments.length>1&&arguments[1]!==undefined?arguments[1]:NullPositionKey;if(!(key!==null&&key!==void 0&&key.field)){if(!Object(fp_["isNil"])(key===null||key===void 0?void 0:key.value)){return{...NullPositionKey,value:key.value}}return defaulKey}return{type:(_key$type=key.type)!==null&&_key$type!==void 0?_key$type:ScaleType.LINEAR,field:key.field,value:key.value}}constructor(x,y,z){this.x=void 0;this.y=void 0;this.z=void 0;this.x=this.safeGetPositionKey(x);this.y=this.safeGetPositionKey(y);this.z=this.safeGetPositionKey(z)}setZ(positionKey){this.z=this.safeGetPositionKey(positionKey,undefined)}}class NullPositionKeys extends PositionKey_PositionKeys{constructor(){super({},{})}}class PositionEncoding_PositionEncoding extends BaseEncoding_BaseEncoding{constructor(props){super();this.x=void 0;this.y=void 0;this.z=void 0;this.floor=void 0;Object.assign(this,props)}getX(){return this.x}getY(){return this.y}getZ(){return this.z}getFloor(){return this.floor}hasFloor(){return!!this.floor}get(axis){if(axis==="x"){return this.getX()}else if(axis==="y"){return this.getY()}else if(axis==="z"){return this.getZ()}else if(axis==="floor"){return this.getFloor()}}is2D(){var _this$x,_this$y;return((_this$x=this.x)===null||_this$x===void 0?void 0:_this$x.field)===((_this$y=this.y)===null||_this$y===void 0?void 0:_this$y.field)}isRenderable(){var _this$x2,_this$y2;return!!((_this$x2=this.x)!==null&&_this$x2!==void 0&&_this$x2.field)&&!!((_this$y2=this.y)!==null&&_this$y2!==void 0&&_this$y2.field)}getPositonKeys(){var _this$x3,_this$x4,_this$x4$scale,_this$x5,_this$y3,_this$y4,_this$y4$scale,_this$y5,_this$z,_this$z2;const positionKeys=new PositionKey_PositionKeys({field:(_this$x3=this.x)===null||_this$x3===void 0?void 0:_this$x3.field,type:(_this$x4=this.x)===null||_this$x4===void 0?void 0:(_this$x4$scale=_this$x4.scale)===null||_this$x4$scale===void 0?void 0:_this$x4$scale.type,value:(_this$x5=this.x)===null||_this$x5===void 0?void 0:_this$x5.value},{field:(_this$y3=this.y)===null||_this$y3===void 0?void 0:_this$y3.field,type:(_this$y4=this.y)===null||_this$y4===void 0?void 0:(_this$y4$scale=_this$y4.scale)===null||_this$y4$scale===void 0?void 0:_this$y4$scale.type,value:(_this$y5=this.y)===null||_this$y5===void 0?void 0:_this$y5.value});if((_this$z=this.z)!==null&&_this$z!==void 0&&_this$z.field||((_this$z2=this.z)===null||_this$z2===void 0?void 0:_this$z2.value)!==undefined){var _this$z3,_this$z4,_this$z4$scale;positionKeys.setZ({field:(_this$z3=this.z)===null||_this$z3===void 0?void 0:_this$z3.field,type:(_this$z4=this.z)===null||_this$z4===void 0?void 0:(_this$z4$scale=_this$z4.scale)===null||_this$z4$scale===void 0?void 0:_this$z4$scale.type,value:this.z.value})}return positionKeys}isFixed(){var _this$x6,_this$x7,_this$y6,_this$y7,_this$z5,_this$z6;const isXFixed=!Object(fp_["isNil"])((_this$x6=this.x)===null||_this$x6===void 0?void 0:_this$x6.value)&&Object(fp_["isNil"])((_this$x7=this.x)===null||_this$x7===void 0?void 0:_this$x7.field);const isYFixed=!Object(fp_["isNil"])((_this$y6=this.y)===null||_this$y6===void 0?void 0:_this$y6.value)&&Object(fp_["isNil"])((_this$y7=this.y)===null||_this$y7===void 0?void 0:_this$y7.field);const isZFixed=!Object(fp_["isNil"])((_this$z5=this.z)===null||_this$z5===void 0?void 0:_this$z5.value)&&Object(fp_["isNil"])((_this$z6=this.z)===null||_this$z6===void 0?void 0:_this$z6.field);return isXFixed||isYFixed||isZFixed}}class AnimationEncoding{constructor(props){this.field=void 0;this.timeline=void 0;Object.assign(this,props)}isRenderable(){return true}}class BoundsEncoding_BoundsEncoding extends BaseEncoding_BaseEncoding{constructor(props){super();this.field=void 0;Object.assign(this,props)}isRenderable(){return!!this.field}}class ImageEncoding_ImageEncoding extends BaseEncoding_BaseEncoding{constructor(props){super();this.field=void 0;Object.assign(this,props)}isRenderable(){return!!this.field}}class PolygonEncoding_PolygonEncoding extends BaseEncoding_BaseEncoding{constructor(props){super();this.field=void 0;this.contentType=void 0;Object.assign(this,props)}isGeoJson(columns){var _columns$get;if(this.contentType){return this.contentType==="geo-json"}return((_columns$get=columns.get(this.field))===null||_columns$get===void 0?void 0:_columns$get.getType())==dataset_src["b"].JSON}isRenderable(){return!!this.field}}var LineEncoding=__webpack_require__(61);class HeatmapEncoding_HeatmapEncoding extends BaseEncoding_BaseEncoding{constructor(props){super();this.intensity=void 0;this.radius=void 0;Object.assign(this,props)}isRenderable(){return true}}class OffsetEncoding_OffsetEncoding extends BaseEncoding_BaseEncoding{constructor(offset){super();this.x=void 0;this.y=void 0;if(offset.x)this.x=new SizeEncoding_SizeEncoding(offset.x);if(offset.y)this.y=new SizeEncoding_SizeEncoding(offset.y)}isRenderable(){return!!this.x||!!this.y}}class ModelEncoding_ModelEncoding extends BaseEncoding_BaseEncoding{constructor(props){super();this.value=void 0;this.field=void 0;this.overlap=void 0;this.map=void 0;Object.assign(this,props)}isRenderable(){return!!this.value||!!this.field}}class RotationEncoding_RotationEncoding extends BaseEncoding_BaseEncoding{constructor(props){super();this.x=void 0;this.y=void 0;this.z=void 0;this.value=void 0;Object.assign(this,props)}isRenderable(){return true}}class Encodings_Encodings{constructor(encodings){var _encodings$table,_this$position,_this$position$x,_this$position2,_this$position2$y;this.color=void 0;this.strokeColor=void 0;this.strokeSize=void 0;this.size=void 0;this.icon=void 0;this.text=void 0;this.position=void 0;this.heatmap=void 0;this.animation=void 0;this.line=void 0;this.polygon=void 0;this.bounds=void 0;this.image=void 0;this.table=void 0;this.offset=void 0;this.model=void 0;this.rotation=void 0;if(!encodings)return;Object.assign(this,encodings);if(encodings.color)this.color=new ColorEncoding_ColorEncoding(encodings.color);if(encodings.strokeColor){this.strokeColor=new ColorEncoding_ColorEncoding(encodings.strokeColor)}if(encodings.size)this.size=new SizeEncoding_SizeEncoding(encodings.size);if(encodings.strokeSize){this.strokeSize=new SizeEncoding_SizeEncoding(encodings.strokeSize)}if(encodings.icon)this.icon=new IconEncoding_IconEncoding(encodings.icon);if(encodings.text)this.text=new TextEncoding_TextEncoding(encodings.text);if(encodings.polygon)this.polygon=new PolygonEncoding_PolygonEncoding(encodings.polygon);if(encodings.offset)this.offset=new OffsetEncoding_OffsetEncoding(encodings.offset);if(encodings.image)this.image=new ImageEncoding_ImageEncoding(encodings.image);if(encodings.line)this.line=new LineEncoding["b"](encodings.line);if(encodings.bounds)this.bounds=new BoundsEncoding_BoundsEncoding(encodings.bounds);if(encodings.rotation)this.rotation=new RotationEncoding_RotationEncoding(encodings.rotation);if(encodings.animation)this.animation=new AnimationEncoding(encodings.animation);if(encodings.model)this.model=new ModelEncoding_ModelEncoding(encodings.model);if(encodings.heatmap)this.heatmap=new HeatmapEncoding_HeatmapEncoding(encodings.heatmap);if((_encodings$table=encodings.table)!==null&&_encodings$table!==void 0&&_encodings$table.length){this.table=encodings.table.map((field=>({...field,value:{encoding:{text:new TextEncoding_TextEncoding(field.value.encoding.text)}}})))}if(encodings.position){this.position=new PositionEncoding_PositionEncoding(encodings.position)}if((encodings.bounds||encodings.polygon||encodings.line)&&(!((_this$position=this.position)!==null&&_this$position!==void 0&&(_this$position$x=_this$position.x)!==null&&_this$position$x!==void 0&&_this$position$x.field)||!((_this$position2=this.position)!==null&&_this$position2!==void 0&&(_this$position2$y=_this$position2.y)!==null&&_this$position2$y!==void 0&&_this$position2$y.field))){var _ref,_ref2,_this$position$x$fiel,_this$position3,_this$position3$x,_encodings$bounds,_encodings$polygon,_encodings$line,_ref3,_ref4,_this$position$y$fiel,_this$position4,_this$position4$y,_encodings$bounds2,_encodings$polygon2,_encodings$line2,_this$position5,_this$position6,_this$position7,_this$position8;const xField=(_ref=(_ref2=(_this$position$x$fiel=(_this$position3=this.position)===null||_this$position3===void 0?void 0:(_this$position3$x=_this$position3.x)===null||_this$position3$x===void 0?void 0:_this$position3$x.field)!==null&&_this$position$x$fiel!==void 0?_this$position$x$fiel:(_encodings$bounds=encodings.bounds)===null||_encodings$bounds===void 0?void 0:_encodings$bounds.field)!==null&&_ref2!==void 0?_ref2:(_encodings$polygon=encodings.polygon)===null||_encodings$polygon===void 0?void 0:_encodings$polygon.field)!==null&&_ref!==void 0?_ref:(_encodings$line=encodings.line)===null||_encodings$line===void 0?void 0:_encodings$line.field;const yField=(_ref3=(_ref4=(_this$position$y$fiel=(_this$position4=this.position)===null||_this$position4===void 0?void 0:(_this$position4$y=_this$position4.y)===null||_this$position4$y===void 0?void 0:_this$position4$y.field)!==null&&_this$position$y$fiel!==void 0?_this$position$y$fiel:(_encodings$bounds2=encodings.bounds)===null||_encodings$bounds2===void 0?void 0:_encodings$bounds2.field)!==null&&_ref4!==void 0?_ref4:(_encodings$polygon2=encodings.polygon)===null||_encodings$polygon2===void 0?void 0:_encodings$polygon2.field)!==null&&_ref3!==void 0?_ref3:(_encodings$line2=encodings.line)===null||_encodings$line2===void 0?void 0:_encodings$line2.field;if((_this$position5=this.position)!==null&&_this$position5!==void 0&&_this$position5.x){this.position.x.field=xField}if((_this$position6=this.position)!==null&&_this$position6!==void 0&&_this$position6.y){this.position.y.field=yField}if((_this$position7=this.position)!==null&&_this$position7!==void 0&&_this$position7.x&&(_this$position8=this.position)!==null&&_this$position8!==void 0&&_this$position8.y){this.position=new PositionEncoding_PositionEncoding({...this.position,x:{...this.position.x,field:xField},y:{...this.position.y,field:yField}})}}}getColor(){if(this.color instanceof ColorEncoding_ColorEncoding)return this.color}}let EncodingScope;(function(EncodingScope){EncodingScope["QUERY"]="QUERY";EncodingScope["FETCH"]="FETCH"})(EncodingScope||(EncodingScope={}));class PositionAcessor{static getPosition(updatingRow){return row=>{const rowToPlace=updatingRow&&(updatingRow===null||updatingRow===void 0?void 0:updatingRow._id)===row._id?updatingRow:row;return[Number(rowToPlace[this.xColumn]),Number(rowToPlace[this.yColumn]),Number(rowToPlace[this.zColumn])]}}}PositionAcessor.xColumn="_x";PositionAcessor.yColumn="_y";PositionAcessor.zColumn="_z";var i18n_src=__webpack_require__(13);class ColorLiteralAccessor_ColorLiteralAccessor{constructor(colorEncoding){this.colorEncoding=void 0;this.colorEncoding=colorEncoding}getRawColor(){if(!this.colorEncoding){throw new Error(Object(i18n_src["a"])("COLOR_ENCODING_IS_NOT_DEFINED"))}if(this.colorEncoding.value){return Object(Colors["e"])(this.colorEncoding.value)}return}getColor(){var _this$colorEncoding$o,_this$colorEncoding;const color=this.getRawColor();if(!color)return;return Object(Colors["f"])(color.copy({opacity:(_this$colorEncoding$o=(_this$colorEncoding=this.colorEncoding)===null||_this$colorEncoding===void 0?void 0:_this$colorEncoding.opacity)!==null&&_this$colorEncoding$o!==void 0?_this$colorEncoding$o:1}))}}class ColorFieldAccessor_ColorFieldAccessor{constructor(colorEncoding){this.colorEncoding=colorEncoding;this.scale=void 0}getColor(rows,row,column){if(!this.scale){this.scale=this.colorEncoding.getScaleFunction(rows,column,undefined)}const value=Object(dataset_src["m"])(this.colorEncoding.getField(),row);if(Object(fp_["isNil"])(value)){return new ColorLiteralAccessor_ColorLiteralAccessor(new ColorEncoding_ColorEncoding({...this.colorEncoding})).getColor()}return this.scale(value)}}class ColorConditionalAccessor_ColorConditionalAccessor{getAcessor(colorEncoding){if(colorEncoding.isFieldBased()){return new ColorFieldAccessor_ColorFieldAccessor(colorEncoding)}else{return new ColorLiteralAccessor_ColorLiteralAccessor(colorEncoding)}}constructor(colorEncoding){this.colorEncoding=colorEncoding;this.scale=void 0;this.conditionalAcessor=void 0;this.acessor=void 0;this.acessor=this.getAcessor(colorEncoding);if(colorEncoding.hasCondition()){this.conditionalAcessor=this.getAcessor(new ColorEncoding_ColorEncoding(colorEncoding.condition))}}getColor(rows,row,column){var _this$colorEncoding$c;if(this.colorEncoding.hasCondition()&&Object(dataset_src["m"])((_this$colorEncoding$c=this.colorEncoding.condition)===null||_this$colorEncoding$c===void 0?void 0:_this$colorEncoding$c.test,row)){return this.conditionalAcessor.getColor(rows,row,column)}return this.acessor.getColor(rows,row,column)}}function getAccessorInstance(colorEncoding){if(!(colorEncoding instanceof ColorEncoding_ColorEncoding)){throw new Error(Object(i18n_src["a"])("COLOR_ENCODING_IS_NOT_DEFINED"))}if(colorEncoding.hasCondition()){return new ColorConditionalAccessor_ColorConditionalAccessor(colorEncoding)}if(colorEncoding.getField()){return new ColorFieldAccessor_ColorFieldAccessor(colorEncoding)}return new ColorLiteralAccessor_ColorLiteralAccessor(colorEncoding)}function getColumn(colorEncoding,columns){if(!(colorEncoding!==null&&colorEncoding!==void 0&&colorEncoding.getField()))return;const column=columns===null||columns===void 0?void 0:columns.get(colorEncoding.getField());if(!column)return;return column}function getColorAccessor(colorEncoding,rows,columns,rowTranslator){const accessor=getAccessorInstance(colorEncoding);if(accessor instanceof ColorLiteralAccessor_ColorLiteralAccessor){return accessor.getColor()}return row=>{if(rowTranslator)row=rowTranslator.translate(row);return accessor.getColor(rows,row,getColumn(colorEncoding,columns))}}class IconAccessor_IconAccessor{static getIconNameWithFallback(encoding,iconName){if(iconName&&encoding!==null&&encoding!==void 0&&encoding.value&&iconName!==encoding.value)return`${iconName}?fallback=${encoding.value}`;return iconName!==null&&iconName!==void 0?iconName:"map-marker"}static getIcon(encoding,row){var _geti;let icon=undefined;if(!(encoding!==null&&encoding!==void 0&&encoding.field)&&encoding!==null&&encoding!==void 0&&encoding.value)icon=encoding===null||encoding===void 0?void 0:encoding.value;else if(encoding!==null&&encoding!==void 0&&encoding.field)icon=row[encoding.field];if(encoding!==null&&encoding!==void 0&&encoding.map&&icon)icon=(_geti=Object(dataset_src["m"])(icon,encoding.map))!==null&&_geti!==void 0?_geti:icon;return{url:IconAccessor_IconAccessor.getIconNameWithFallback(encoding,icon),width:240,height:240,mask:true}}}const getSizeAccessor=_ref=>{let{encoding,rows,factor=1,rowTranslator}=_ref;if(!encoding){return 0}if(encoding.hasField()){var _rows$columns,_rows$columns$get,_rows$columns$get$get;const sizeField=encoding.getField();const columnDomain=(_rows$columns=rows.columns)===null||_rows$columns===void 0?void 0:(_rows$columns$get=_rows$columns.get(sizeField))===null||_rows$columns$get===void 0?void 0:(_rows$columns$get$get=_rows$columns$get.getStats())===null||_rows$columns$get$get===void 0?void 0:_rows$columns$get$get.percentiles;return row=>{if(rowTranslator)row=rowTranslator.translate(row);const columnValue=sizeField&&typeof row[sizeField]==="number"?Number(row[sizeField]):undefined;return encoding.getSize(columnValue,columnDomain)*factor}}return encoding.getSize()*factor};function createScale(scaleType){if(scaleType&&scaleType===ScaleType.SQUARE)return Object(external_d3_["scaleSqrt"])();if(scaleType&&scaleType===ScaleType.TIME)return Object(external_d3_["scaleTime"])();return Object(external_d3_["scaleLinear"])()}class ModelAccessor_ModelAccessor{static getModel(encoding,row){var _encoding$value;const modelMap=encoding===null||encoding===void 0?void 0:encoding.map;if(!(encoding!==null&&encoding!==void 0&&encoding.field))return(_encoding$value=encoding===null||encoding===void 0?void 0:encoding.value)!==null&&_encoding$value!==void 0?_encoding$value:"placeholder";const value=row?row[encoding.field]:undefined;if(value){if(modelMap&&Object(dataset_src["m"])(value,modelMap)){return Object(dataset_src["m"])(value,modelMap)}return value}}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Config}));let ConfigEnvironment;(function(ConfigEnvironment){ConfigEnvironment["DEVELOPMENT"]="development";ConfigEnvironment["SYSTEM_TEST"]="systemTest";ConfigEnvironment["TEST"]="test";ConfigEnvironment["PRODUCTION"]="production";ConfigEnvironment["LOCAL"]="local"})(ConfigEnvironment||(ConfigEnvironment={}));const HOPARA_ENV_KEY="HOPARA_ENV";class ConfigMap extends Map{constructor(newMap){super();this.environment=void 0;Object.keys(newMap).forEach((configName=>{this.set(configName,newMap[configName])}))}isDev(){return this.environment===ConfigEnvironment.DEVELOPMENT}getValueFromNodeEnvironment(key){var _process$env$key;return(_process$env$key=Object({NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:undefined,WDS_SOCKET_PATH:undefined,WDS_SOCKET_PORT:undefined,FAST_REFRESH:true,REACT_APP_BUILD_NUMBER:"4359",REACT_APP_PACKAGE_VERSION:"0.1.114"})[key])!==null&&_process$env$key!==void 0?_process$env$key:Object({NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:undefined,WDS_SOCKET_PATH:undefined,WDS_SOCKET_PORT:undefined,FAST_REFRESH:true,REACT_APP_BUILD_NUMBER:"4359",REACT_APP_PACKAGE_VERSION:"0.1.114"})[`REACT_APP_${key}`]}getHoparaEnvironment(){var _this$getValueFromNod;if(this.environment)return this.environment;const env=(_this$getValueFromNod=this.getValueFromNodeEnvironment(HOPARA_ENV_KEY))!==null&&_this$getValueFromNod!==void 0?_this$getValueFromNod:"production";if(!env)return ConfigEnvironment.DEVELOPMENT;if(env==="local")return ConfigEnvironment.LOCAL;if(env==="production")return ConfigEnvironment.PRODUCTION;if(env==="test")return ConfigEnvironment.TEST;if(env==="systemTest")return ConfigEnvironment.SYSTEM_TEST;return ConfigEnvironment.DEVELOPMENT}getValue(key,tenant){var _this$get;if(key===HOPARA_ENV_KEY)return this.getHoparaEnvironment();const fromNodeEnv=this.getValueFromNodeEnvironment(key);if(fromNodeEnv)return fromNodeEnv;const tenantKey=tenant?`${tenant.toUpperCase()}_${key}`:key;const configValues=(_this$get=this.get(tenantKey))!==null&&_this$get!==void 0?_this$get:this.get(key);if(!configValues)return"";if(this.environment){var _configValues$this$en;return(_configValues$this$en=configValues[this.environment])!==null&&_configValues$this$en!==void 0?_configValues$this$en:configValues[ConfigEnvironment.DEVELOPMENT]}const hoparaEnv=this.getHoparaEnvironment();if(hoparaEnv){var _configValues$hoparaE;return(_configValues$hoparaE=configValues[hoparaEnv])!==null&&_configValues$hoparaE!==void 0?_configValues$hoparaE:configValues[ConfigEnvironment.DEVELOPMENT]}if(true){var _configValues$ConfigE;return(_configValues$ConfigE=configValues[ConfigEnvironment.PRODUCTION])!==null&&_configValues$ConfigE!==void 0?_configValues$ConfigE:configValues[ConfigEnvironment.DEVELOPMENT]}return configValues[ConfigEnvironment.DEVELOPMENT]}getValueAsBoolean(key,tenant){return this.getValue(key,tenant)==="true"}}const Config=new ConfigMap({BUILD_NUMBER:{development:"000"},PACKAGE_VERSION:{development:"0.0.0"},COOKIE_DOMAIN:{development:"localhost",test:".test.hopara.app",production:".hopara.app"},EXTERNAL_TOKEN_COOKIE_NAME:{development:"externalToken_dev",test:"externalToken_test",production:"externalToken"},PUBLIC_URL:{development:""},SYSTEM_TEST:{development:"false",systemTest:"true"},AUTH0_DOMAIN:{development:"dev-rflz2ws3.us.auth0.com",production:"login.hopara.app",local:"login.hopara.app"},AUTH0_CLIENT_ID:{development:"6NbIMZAkEI56VJsAM7BDwIeEIGWx8z1N",production:"9muV5ImpE5sBPYcTb1QHVfDktiHWyBPg",local:"9muV5ImpE5sBPYcTb1QHVfDktiHWyBPg"},AUTH0_REDIRECT_URI:{development:"http://localhost:3000",test:"https://test.hopara.app",production:"https://hopara.app",local:"http://localhost:3000"},AUTH0_AUDIENCE:{development:"kyrix"},AUTH0_SCOPE:{development:"row:read row:write table:write app:write view:write query:tenant:read"},APP_API_ADDRESS:{development:"http://localhost:8081",test:"https://app.test.hopara.app",production:"https://app.hopara.app",systemTest:"http://localhost:1234"},BFF_API_ADDRESS:{development:"http://localhost:8086",test:"https://bff.test.hopara.app",production:"https://bff.hopara.app",systemTest:"http://localhost:1234"},WATCHER_API_ADDRESS:{development:"http://localhost:8085",test:"https://update-watcher.test.hopara.app",production:"https://update-watcher.hopara.app",systemTest:"http://localhost:1234"},DATASET_API_ADDRESS:{development:"http://localhost:8000",test:"https://dataset.test.hopara.app",production:"https://dataset.hopara.app",systemTest:"http://localhost:1234"},TEMPLATE_API_ADDRESS:{development:"http://localhost:8089",test:"https://template.test.hopara.app",production:"https://template.hopara.app",local:"https://template.hopara.app",systemTest:"http://localhost:1234"},RESOURCE_API_ADDRESS:{development:"http://localhost:2022",test:"https://resource.test.hopara.app",production:"https://resource.hopara.app",local:"https://resource.hopara.app",systemTest:"https://resource.test.hopara.app"},AUTH_API_ADDRESS:{development:"http://localhost:8088",test:"https://auth.test.hopara.app",production:"https://auth.hopara.app",local:"https://auth.hopara.app",systemTest:"http://localhost:1234"},IMAGES_API_ADDRESS:{development:"https://images.hopara.app"},CONTENT_ADDRESS:{development:"https://content.hopara.app"},"IBBX.TECH_BFF_API_ADDRESS":{development:"http://localhost:8086",test:"https://bff.test.hopara.app",production:"https://bff.hopara.app"},"IBBX.TECH_DATASET_API_ADDRESS":{development:"http://localhost:8000",test:"https://dataset.test.hopara.app",production:"https://dataset.hopara.app"},HOPARA_THEME_MODE:{development:"HOPARA"},STYLE_INTERFACE:{development:"aphrodite"},ENABLE_MAP:{development:"true",systemTest:"false"},ARCGIS_API_TOKEN:{development:"AAPKe1f53068399740f39871d71c84e6c8ecFKw2zeYlVDGYjbtVi7cxjVAfXQCegLG-vMbhwvN1eFtdDnbHa-jSi5IMTnzUxJN4"},MAPTILER_API_TOKEN:{development:"t0AYWwS0LsMuX1Of2myK&c=adasd"},FUNNY_ERRORS:{development:"true"}})},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return debug_Debug}));__webpack_require__.d(__webpack_exports__,"b",(function(){return internals_Internals}));__webpack_require__.d(__webpack_exports__,"c",(function(){return logger_Logger}));var fp_=__webpack_require__(2);const HOPARA_PREFIX="hopara-";class internals_Internals{static setParam(key,value){if(typeof window!=="undefined"){var _window;if((_window=window)!==null&&_window!==void 0&&_window.sessionStorage){window.sessionStorage.setItem(HOPARA_PREFIX+key,value)}}}static hasParam(key){return!Object(fp_["isNil"])(this.getParam(key))}static getParam(key){if(typeof window!=="undefined"){var _window2;if((_window2=window)!==null&&_window2!==void 0&&_window2.sessionStorage){return window.sessionStorage.getItem(HOPARA_PREFIX+key)}}}}const HOPARA_DEBUGGER_KEY="debugger";class debug_Debug{static enable(){internals_Internals.setParam(HOPARA_DEBUGGER_KEY,"true")}static disable(){internals_Internals.setParam(HOPARA_DEBUGGER_KEY,"false")}static isDebugging(){return internals_Internals.getParam(HOPARA_DEBUGGER_KEY)==="true"}}class logger_Logger{static info(){if(!debug_Debug.isDebugging())return;for(var _len=arguments.length,params=new Array(_len),_key=0;_key<_len;_key++){params[_key]=arguments[_key]}return console.log("INFO:",...params)}static debug(){if(!debug_Debug.isDebugging())return;for(var _len2=arguments.length,params=new Array(_len2),_key2=0;_key2<_len2;_key2++){params[_key2]=arguments[_key2]}return console.log("DEBUG:",...params)}static error(){for(var _len3=arguments.length,params=new Array(_len3),_key3=0;_key3<_len3;_key3++){params[_key3]=arguments[_key3]}return console.error("ERROR:",...params)}}},function(module,exports){module.exports=require("@turf/helpers")},function(module,exports){module.exports=require("@deck.gl/layers")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"c",(function(){return RED_COLOR}));__webpack_require__.d(__webpack_exports__,"b",(function(){return GREEN_COLOR}));__webpack_require__.d(__webpack_exports__,"a",(function(){return BLUE_COLOR}));__webpack_require__.d(__webpack_exports__,"e",(function(){return rgbColor}));__webpack_require__.d(__webpack_exports__,"f",(function(){return toRGBArray}));__webpack_require__.d(__webpack_exports__,"d",(function(){return fromString}));var d3__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(23);var d3__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(d3__WEBPACK_IMPORTED_MODULE_0__);var lodash_fp__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(2);var lodash_fp__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_1__);const TRANSPARENT_COLOR=[255,255,255,0];const WHITE_COLOR=[255,255,255,255];const RED_COLOR=[255,59,40,255];const GREEN_COLOR=[72,235,18,255];const BLUE_COLOR=[0,167,250,255];const rgbColor=hexColor=>Object(d3__WEBPACK_IMPORTED_MODULE_0__["rgb"])(hexColor);const getAlpha=opacity=>{const maxOpacity=255;if(Object(lodash_fp__WEBPACK_IMPORTED_MODULE_1__["isNumber"])(opacity)&&opacity<=1&&opacity>=0){return Math.floor(maxOpacity*opacity)}return maxOpacity};function toRGBArray(color){const colorArr=[color.r,color.g,color.b];if(color.opacity!==undefined)colorArr.push(getAlpha(color.opacity));return colorArr}function fromString(cssColorSpecifier){let opacity=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;const color=Object(d3__WEBPACK_IMPORTED_MODULE_0__["rgb"])(cssColorSpecifier);color.opacity=opacity;return toRGBArray(color)}},function(module,exports){module.exports=require("@emotion/react")},function(module,exports){module.exports=require("@mui/material")},function(module,exports){module.exports=require("@deck.gl/core")},function(module,exports){module.exports=require("d3")},function(module,exports){module.exports=require("vega")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return httpGet}));__webpack_require__.d(__webpack_exports__,"b",(function(){return httpPost}));__webpack_require__.d(__webpack_exports__,"d",(function(){return httpPut}));__webpack_require__.d(__webpack_exports__,"e",(function(){return httpPutFormData}));__webpack_require__.d(__webpack_exports__,"c",(function(){return httpPostFormData}));var query_string__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(54);var query_string__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(query_string__WEBPACK_IMPORTED_MODULE_0__);var lodash_fp__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(2);var lodash_fp__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_1__);var axios__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(114);var axios__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_2__);var _hopara_i18n_src__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(13);function objectsToString(params){Object.keys(params).forEach((key=>{if(Object(lodash_fp__WEBPACK_IMPORTED_MODULE_1__["isPlainObject"])(params[key])){params[key]=JSON.stringify(params[key])}else if(Object(lodash_fp__WEBPACK_IMPORTED_MODULE_1__["isArray"])(params[key])){params[key]=params[key].map((item=>{if(Object(lodash_fp__WEBPACK_IMPORTED_MODULE_1__["isObject"])(item))return JSON.stringify(item);return item}))}}));return params}const getHeadersWithAuthorization=authorization=>{const headers={};const token=authorization===null||authorization===void 0?void 0:authorization.accessToken;if(authorization&&token){headers["Authorization"]="Bearer "+token;headers["tenant"]=authorization.tenant}return headers};class HttpError extends Error{constructor(error){super();this.responseData=void 0;this.message=this.getErrorMessage(error);this.responseData=error.response.data}getErrorMessage(error){var _ref,_ref2,_error$response$data$,_error$response,_error$response$data,_error$response2;return(_ref=(_ref2=(_error$response$data$=error===null||error===void 0?void 0:(_error$response=error.response)===null||_error$response===void 0?void 0:(_error$response$data=_error$response.data)===null||_error$response$data===void 0?void 0:_error$response$data.message)!==null&&_error$response$data$!==void 0?_error$response$data$:error===null||error===void 0?void 0:error.message)!==null&&_ref2!==void 0?_ref2:error===null||error===void 0?void 0:(_error$response2=error.response)===null||_error$response2===void 0?void 0:_error$response2.statusText)!==null&&_ref!==void 0?_ref:Object(_hopara_i18n_src__WEBPACK_IMPORTED_MODULE_3__["a"])("UNKNOWN_ERROR")}}async function tryFetch(href,options){try{return await axios__WEBPACK_IMPORTED_MODULE_2___default.a.request({...options,url:href})}catch(e){throw new HttpError(e)}}async function httpGet(endpoint,resource){let queryParams=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};let authorization=arguments.length>3?arguments[3]:undefined;let downloadProgressCallback=arguments.length>4?arguments[4]:undefined;const headers=getHeadersWithAuthorization(authorization);const url=new URL(resource,endpoint);url.search=query_string__WEBPACK_IMPORTED_MODULE_0___default.a.stringify(objectsToString(queryParams));let onDownloadProgress=undefined;if(downloadProgressCallback){onDownloadProgress=progressEvent=>{var _progressEvent$total;const progress=Math.round(progressEvent.loaded*100/((_progressEvent$total=progressEvent.total)!==null&&_progressEvent$total!==void 0?_progressEvent$total:0));return downloadProgressCallback(progress)}}return tryFetch(url.href,{headers,onDownloadProgress})}async function httpPost(endpoint,resource){let body=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};let queryParams=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};let authorization=arguments.length>4?arguments[4]:undefined;const headers=await getHeadersWithAuthorization(authorization);headers["Content-Type"]="application/json";const url=new URL(resource,endpoint);url.search=query_string__WEBPACK_IMPORTED_MODULE_0___default.a.stringify(objectsToString(queryParams));const options={method:"POST",headers,data:JSON.stringify(body)};return tryFetch(url.href,options)}async function httpPut(endpoint,resource){let body=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};let queryParams=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};let authorization=arguments.length>4?arguments[4]:undefined;const headers=await getHeadersWithAuthorization(authorization);headers["Content-Type"]="application/json";const url=new URL(resource,endpoint);url.search=query_string__WEBPACK_IMPORTED_MODULE_0___default.a.stringify(objectsToString(queryParams));const options={method:"PUT",headers,data:JSON.stringify(body)};return tryFetch(url.href,options)}async function httpPutFormData(endpoint,resource,formData,authorization,onUploadProgress){const headers=await getHeadersWithAuthorization(authorization);const url=new URL(resource,endpoint);const options={method:"PUT",headers,data:formData,onUploadProgress};return tryFetch(url.href,options)}async function httpPostFormData(endpoint,resource,formData,authorization,onUploadProgress){const headers=await getHeadersWithAuthorization(authorization);const url=new URL(resource,endpoint);const options={method:"POST",headers,data:formData,onUploadProgress};return tryFetch(url.href,options)}async function httpDelete(endpoint,resource){let queryParams=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};let authorization=arguments.length>3?arguments[3]:undefined;const headers=await getHeadersWithAuthorization(authorization);headers["Content-Type"]="application/json";const url=new URL(resource,endpoint);url.search=query_string__WEBPACK_IMPORTED_MODULE_0___default.a.stringify(objectsToString(queryParams));const options={method:"DELETE",headers};return tryFetch(url.href,options)}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return ColumnType}));__webpack_require__.d(__webpack_exports__,"b",(function(){return DEFAULT_COLUMN_TYPE}));let ColumnType;(function(ColumnType){ColumnType["STRING"]="STRING";ColumnType["JSON"]="JSON";ColumnType["INTEGER"]="INTEGER";ColumnType["DECIMAL"]="DECIMAL";ColumnType["STRING_ARRAY"]="STRING_ARRAY";ColumnType["DATETIME"]="DATETIME";ColumnType["GEOMETRY"]="GEOMETRY";ColumnType["BOOLEAN"]="BOOLEAN"})(ColumnType||(ColumnType={}));const DEFAULT_COLUMN_TYPE=ColumnType.STRING},function(module,exports){module.exports=require("@mui/icons-material")},function(module,exports){module.exports=require("nebula.gl")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Columns}));var _ColumnType__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(26);class Columns extends Array{constructor(){for(var _len=arguments.length,columns=new Array(_len),_key=0;_key<_len;_key++){columns[_key]=arguments[_key]}const cls=columns.filter((column=>!!column));super(...cls)}get(name){return this.find((c=>{var _c$name;return((_c$name=c.name)===null||_c$name===void 0?void 0:_c$name.toLowerCase())===(name===null||name===void 0?void 0:name.toLowerCase())}))}getPublics(){return new Columns(...this.filter((column=>!column.isPrivate())))}getPrintables(){return new Columns(...this.filter((column=>!(column.type===_ColumnType__WEBPACK_IMPORTED_MODULE_0__["a"].GEOMETRY||column.type===_ColumnType__WEBPACK_IMPORTED_MODULE_0__["a"].JSON))))}getId(){return this.find((column=>column.id))}hasId(){return!!this.find((column=>column.id))}pickByNames(){let names=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];const picked=new Columns;names.forEach((name=>{const column=this.get(name);if(column)picked.push(column)}));return picked}pickByType(type){const picked=this.filter((column=>column.isType(type)));return new Columns(...picked)}has(name){return!!this.get(name)}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return ZoomBehaviorType}));__webpack_require__.d(__webpack_exports__,"a",(function(){return VisualizationStatus}));var _opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(12);var _opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(11);var _opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerWarningHelper_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(35);var class_transformer__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(7);var class_transformer__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(class_transformer__WEBPACK_IMPORTED_MODULE_3__);var _hopara_spatial__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(8);var _world_World__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(34);var _zoom_ZoomRange__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(42);var _hopara_encoding__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(14);var _dec,_dec2,_dec3,_dec4,_dec5,_dec6,_dec7,_dec8,_dec9,_dec10,_dec11,_class,_descriptor,_descriptor2,_descriptor3,_descriptor4,_descriptor5,_descriptor6,_descriptor7,_descriptor8,_descriptor9;let ZoomBehaviorType;(function(ZoomBehaviorType){ZoomBehaviorType["FIXED"]="FIXED";ZoomBehaviorType["SCALE"]="SCALE"})(ZoomBehaviorType||(ZoomBehaviorType={}));let VisualizationStatus;(function(VisualizationStatus){VisualizationStatus["updated"]="updated";VisualizationStatus["dirty"]="dirty";VisualizationStatus["saving"]="saving";VisualizationStatus["discarding"]="discarding"})(VisualizationStatus||(VisualizationStatus={}));let Visualization=(_dec=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Expose"])(),_dec2=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Transform"])((_ref=>{let{value}=_ref;return value==="VEGA"?"CARTESIAN":value})),_dec3=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Expose"])(),_dec4=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Expose"])(),_dec5=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Expose"])(),_dec6=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Expose"])(),_dec7=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Expose"])(),_dec8=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Transform"])((_ref2=>{let{value}=_ref2;return new _zoom_ZoomRange__WEBPACK_IMPORTED_MODULE_6__["a"](value)})),_dec9=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Expose"])(),_dec10=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Expose"])(),_dec11=Object(class_transformer__WEBPACK_IMPORTED_MODULE_3__["Expose"])(),_class=class Visualization{constructor(props){Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"id",_descriptor,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"type",_descriptor2,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"name",_descriptor3,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"initialPosition",_descriptor4,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"mapStyle",_descriptor5,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"encodingScope",_descriptor6,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"zoomRange",_descriptor7,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"zoomBehavior",_descriptor8,this);Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_initializerDefineProperty_js__WEBPACK_IMPORTED_MODULE_0__["a"])(this,"sizeRatio",_descriptor9,this);this.isRoot=void 0;Object.assign(this,props)}getMapStyle(){if(!this.isGeo)return;return this.mapStyle}getInitialCoordinates(){return new _hopara_spatial__WEBPACK_IMPORTED_MODULE_4__["c"](this.initialPosition)}getSizeRatio(){if(!this.sizeRatio)return{width:1,height:1};return this.sizeRatio}getInitialZoom(){return this.initialPosition&&this.initialPosition.zoom||0}getInitialBearing(){return this.initialPosition&&this.initialPosition.bearing||0}setInitialPosition(coordinates,zoom,bearing){const cloned=new Visualization(this);cloned.initialPosition={x:coordinates.x,y:coordinates.y,z:coordinates.z,zoom,bearing};if(cloned.isGeo()){cloned.initialPosition.longitude=coordinates.x;cloned.initialPosition.latitude=coordinates.y}return cloned}isGeo(){return this.type===_world_World__WEBPACK_IMPORTED_MODULE_5__["b"].GEO}isCartesian(){return this.type===_world_World__WEBPACK_IMPORTED_MODULE_5__["b"].CARTESIAN}isCustom(){return this.type===_world_World__WEBPACK_IMPORTED_MODULE_5__["b"].CUSTOM}isOrbit(){return this.type===_world_World__WEBPACK_IMPORTED_MODULE_5__["b"].ORBIT}isFetchScope(){return this.encodingScope===_hopara_encoding__WEBPACK_IMPORTED_MODULE_7__["d"].FETCH}getName(){var _this$name;return(_this$name=this.name)!==null&&_this$name!==void 0?_this$name:`Visualization ${this.id}`}setMapStyle(mapStyle){const cloned=new Visualization(this);cloned.mapStyle=mapStyle;return cloned}},_descriptor=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"id",[_dec],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor2=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"type",[_dec2,_dec3],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor3=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"name",[_dec4],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor4=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"initialPosition",[_dec5],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor5=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"mapStyle",[_dec6],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor6=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"encodingScope",[_dec7],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor7=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"zoomRange",[_dec8,_dec9],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor8=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"zoomBehavior",[_dec10],{configurable:true,enumerable:true,writable:true,initializer:null}),_descriptor9=Object(_opt_atlassian_pipelines_agent_build_node_modules_babel_runtime_helpers_esm_applyDecoratedDescriptor_js__WEBPACK_IMPORTED_MODULE_1__["a"])(_class.prototype,"sizeRatio",[_dec11],{configurable:true,enumerable:true,writable:true,initializer:null}),_class);__webpack_exports__["c"]=Visualization},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return FetchEntity}));__webpack_require__.d(__webpack_exports__,"b",(function(){return handleFetchProgressCallback}));let FetchEntity;(function(FetchEntity){FetchEntity["IMAGE"]="image";FetchEntity["ICON"]="icon";FetchEntity["MODEL"]="model";FetchEntity["DATA"]="data"})(FetchEntity||(FetchEntity={}));const handleFetchProgressCallback=async(key,fetchEntity,response,callback)=>{var _response$clone$body;callback(key,fetchEntity,0);const reader=response===null||response===void 0?void 0:(_response$clone$body=response.clone().body)===null||_response$clone$body===void 0?void 0:_response$clone$body.getReader();if(reader){let receivedLenght=0;while(true){var _response$clone$heade,_value$length;const contentLength=response===null||response===void 0?void 0:(_response$clone$heade=response.clone().headers)===null||_response$clone$heade===void 0?void 0:_response$clone$heade.get("Content-Length");const total=contentLength?parseFloat(contentLength):undefined;const{done,value}=await reader.read();receivedLenght=receivedLenght+((_value$length=value===null||value===void 0?void 0:value.length)!==null&&_value$length!==void 0?_value$length:0);const progress=done?100:receivedLenght/(total!==null&&total!==void 0?total:0)*100;if(done||progress===100){callback(key,fetchEntity,progress);setTimeout((()=>callback(key,fetchEntity,undefined)),100);break}callback(key,fetchEntity,progress)}}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return PureComponent}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(5);var react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);var _toast_Toast__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(33);var _hopara_internals__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(16);var _hopara_i18n_src__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(13);class PureComponent extends react__WEBPACK_IMPORTED_MODULE_0___default.a.PureComponent{componentDidCatch(error,info){Object(_toast_Toast__WEBPACK_IMPORTED_MODULE_1__["a"])(Object(_hopara_i18n_src__WEBPACK_IMPORTED_MODULE_3__["a"])("SOMETING_WENT_WRONG"));_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["c"].error(error,info)}}},function(module,__webpack_exports__,__webpack_require__){"use strict";(function(global){__webpack_require__.d(__webpack_exports__,"b",(function(){return toastSuccess}));__webpack_require__.d(__webpack_exports__,"a",(function(){return toastError}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(5);var react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);var react_toastify__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(47);var react_toastify__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react_toastify__WEBPACK_IMPORTED_MODULE_1__);var _Link__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(142);var _hopara_i18n_src__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(13);var _mui_material__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(21);var _mui_material__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_mui_material__WEBPACK_IMPORTED_MODULE_4__);var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(4);var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__);const toastSuccess=(message,onUndo)=>{react_toastify__WEBPACK_IMPORTED_MODULE_1__["toast"].dismiss();react_toastify__WEBPACK_IMPORTED_MODULE_1__["toast"].success((_ref=>{let{closeToast}=_ref;return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__["jsxs"])(_mui_material__WEBPACK_IMPORTED_MODULE_4__["Box"],{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%"},children:[message,onUndo&&Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__["jsx"])(_Link__WEBPACK_IMPORTED_MODULE_2__["a"],{sx:{color:"white"},onClick:()=>{if(closeToast)closeToast();onUndo()},children:Object(_hopara_i18n_src__WEBPACK_IMPORTED_MODULE_3__["a"])("UNDO")})]})}))};const toastError=toastContent=>{react_toastify__WEBPACK_IMPORTED_MODULE_1__["toast"].dismiss();react_toastify__WEBPACK_IMPORTED_MODULE_1__["toast"].error(toastContent)};const window=global;window.TOAST={toastSuccess,toastError}}).call(this,__webpack_require__(81))},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return WorldType}));__webpack_require__.d(__webpack_exports__,"a",(function(){return World}));var lodash_fp__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(2);var lodash_fp__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_0__);var _hopara_encoding__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14);var _hopara_spatial__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(8);let WorldType;(function(WorldType){WorldType["GEO"]="GEO";WorldType["CARTESIAN"]="CARTESIAN";WorldType["ORBIT"]="ORBIT";WorldType["CUSTOM"]="CUSTOM"})(WorldType||(WorldType={}));let WorldStatus;(function(WorldStatus){WorldStatus["NONE"]="NONE";WorldStatus["UPDATING"]="UPDATING";WorldStatus["UPDATED"]="UPDATED"})(WorldStatus||(WorldStatus={}));const SAFE_WORLD_BOX=new _hopara_spatial__WEBPACK_IMPORTED_MODULE_2__["b"]({x:new _hopara_spatial__WEBPACK_IMPORTED_MODULE_2__["e"]({min:-180,max:180}),y:new _hopara_spatial__WEBPACK_IMPORTED_MODULE_2__["e"]({min:-80,max:80})});const SAFE_WORLD_SCALE_DOMAINS={x:{[_hopara_encoding__WEBPACK_IMPORTED_MODULE_1__["o"].LINEAR]:{domainMin:SAFE_WORLD_BOX.x.getMin(),domainMax:SAFE_WORLD_BOX.x.getMax()}},y:{[_hopara_encoding__WEBPACK_IMPORTED_MODULE_1__["o"].LINEAR]:{domainMin:SAFE_WORLD_BOX.y.getMin(),domainMax:SAFE_WORLD_BOX.y.getMax()}},z:{[_hopara_encoding__WEBPACK_IMPORTED_MODULE_1__["o"].LINEAR]:{domainMin:0,domainMax:50}}};const getPadding=(axis,scaleDomains)=>{var _linerScaleDomain$dom,_linerScaleDomain$dom2;if(!scaleDomains)return 0;const linerScaleDomain=Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["get"])([axis,_hopara_encoding__WEBPACK_IMPORTED_MODULE_1__["o"].LINEAR],scaleDomains);const gNumber=linerScaleDomain?Math.max(String((_linerScaleDomain$dom=linerScaleDomain.domainMin)!==null&&_linerScaleDomain$dom!==void 0?_linerScaleDomain$dom:0).length,String((_linerScaleDomain$dom2=linerScaleDomain.domainMax)!==null&&_linerScaleDomain$dom2!==void 0?_linerScaleDomain$dom2:0).length):0;return gNumber*7};class World{constructor(partialWorld){this.type=void 0;this.visualizationId=void 0;this.scaleDomains=void 0;this.dimensions=void 0;this.sizeRatio=void 0;this.status=void 0;this.initialDimensions=void 0;Object.assign(this,partialWorld);if(!this.status)this.status=WorldStatus.NONE;if(!this.sizeRatio)this.sizeRatio={width:1,height:1};if(!this.initialDimensions)this.initialDimensions=this.dimensions;if(this.isCustom()&&!this.initialDimensions){this.initialDimensions={height:Number.MAX_SAFE_INTEGER,width:Number.MAX_SAFE_INTEGER}}if(this.isGeo()){this.scaleDomains=SAFE_WORLD_SCALE_DOMAINS;this.status=WorldStatus.UPDATED}}clone(){return new World(this)}isGeo(){return this.type===WorldType.GEO}isCartesian(){return this.type===WorldType.CARTESIAN}isCustom(){return this.type===WorldType.CUSTOM}isOrbit(){return this.type===WorldType.ORBIT}box(){if(!this.initialDimensions)return;const width=this.initialDimensions.width*this.sizeRatio.width;const height=this.initialDimensions.height*this.sizeRatio.height;return new _hopara_spatial__WEBPACK_IMPORTED_MODULE_2__["b"]({x:this.isGeo()?SAFE_WORLD_BOX.x:new _hopara_spatial__WEBPACK_IMPORTED_MODULE_2__["e"]({min:0,max:width-this.getHorizontalPadding()}),y:this.isGeo()?SAFE_WORLD_BOX.y:new _hopara_spatial__WEBPACK_IMPORTED_MODULE_2__["e"]({min:0,max:height-this.getVertialPadding()}),z:new _hopara_spatial__WEBPACK_IMPORTED_MODULE_2__["e"]({min:0,max:50})})}getMaximizedScaleDomains(){if(!this.scaleDomains)return;if(!this.isCartesian())return this.scaleDomains;return Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["mapValues"])((axisScaleDomains=>Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["mapValues"])((_ref=>{let{domainMin,domainMax}=_ref;const domainDiff=Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["isNumber"])(domainMax)&&Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["isNumber"])(domainMin)?domainMax-domainMin:undefined;const maximazedValue=domainDiff?(domainMax!==null&&domainMax!==void 0?domainMax:1)+.05*domainDiff:undefined;return{domainMin,domainMax:maximazedValue}}),axisScaleDomains)),this.scaleDomains)}setScaleDomains(scaleDomains){const cloned=this.clone();cloned.scaleDomains=scaleDomains;cloned.status=WorldStatus.UPDATED;return cloned}getPaddingLeft(){if(this.isCartesian())return getPadding("y",this.scaleDomains)/2;return 0}getHorizontalPadding(){if(this.isCartesian())return 100+this.getPaddingLeft();return 0}getVertialPadding(){if(this.isCartesian())return 100;return 0}getDimensions(){if(!this.dimensions&&!this.initialDimensions)return;if(!this.dimensions||!this.dimensions.width)this.dimensions=this.initialDimensions;return{width:this.dimensions.width-this.getHorizontalPadding(),height:this.dimensions.height-this.getVertialPadding()}}withDimensions(dimensions){const cloned=this.clone();cloned.dimensions=dimensions;return cloned}withInitialDimensions(dimensions){const cloned=this.clone();if(this.isCustom()){cloned.initialDimensions=this.initialDimensions;cloned.dimensions=this.initialDimensions}else{const calculatedDimensions={width:dimensions.width,height:dimensions.height};cloned.initialDimensions=calculatedDimensions;cloned.dimensions=calculatedDimensions}return cloned}getInitialDimentions(){return this.initialDimensions}isReady(){return this.status===WorldStatus.UPDATED&&!!this.scaleDomains}}},function(module,__webpack_exports__,__webpack_require__){"use strict";function _initializerWarningHelper(descriptor,context){throw new Error("Decorating class property failed. Please ensure that "+"proposal-class-properties is enabled and runs after the decorators transform.")}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return AnimatedLayerFactory}));var lodash_fp__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(2);var lodash_fp__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_0__);var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(22);var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__);var _hopara_internals__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(16);class AnimatedCompositeLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["CompositeLayer"]{constructor(props){super(props)}renderLayers(){return this.props.layers}}AnimatedCompositeLayer.layerName="AnimatedCompositeLayer";function attributeReplacement(keyFrames,replacements,originalProps){return Object.fromEntries(Object.entries(keyFrames).map((_ref=>{let[percent,keyframe]=_ref;Object.entries(replacements).forEach((_ref2=>{let[key,fn]=_ref2;keyframe[key]=fn(keyframe,originalProps)}));return[percent,Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["omitBy"])(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["isUndefined"],keyframe)]})))}class AnimatedLayerFactory{constructor(StaticClass,AnimatedClass){let replacements=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};this.StaticClass=StaticClass;this.AnimatedClass=AnimatedClass;this.replacements=replacements}create(encoding,deckProps,callbacks){const animations=this.getAnimations(encoding);const layers=this.createLayers(animations,deckProps);return new AnimatedCompositeLayer({id:deckProps.id,layerId:deckProps.layerId,layers,pickable:deckProps.pickable,...callbacks})}createAnimation(encoding){var _encoding$animation,_encoding$animation2,_encoding$animation3;return{field:(_encoding$animation=encoding.animation)===null||_encoding$animation===void 0?void 0:_encoding$animation.field,keyFrames:attributeReplacement((_encoding$animation2=encoding.animation)===null||_encoding$animation2===void 0?void 0:_encoding$animation2.keyFrames,this.replacements,encoding),channel:(_encoding$animation3=encoding.animation)===null||_encoding$animation3===void 0?void 0:_encoding$animation3.channel}}static hasAnimations(encodings){var _encodings$size,_encodings$color;if(_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["b"].getParam("animate")==="false"){return false}return!!((_encodings$size=encodings.size)!==null&&_encodings$size!==void 0&&_encodings$size.animation||(_encodings$color=encodings.color)!==null&&_encodings$color!==void 0&&_encodings$color.animation)}getAnimations(encodings){var _encodings$size2,_encodings$color2;const animations=[];if((_encodings$size2=encodings.size)!==null&&_encodings$size2!==void 0&&_encodings$size2.animation){animations.push(this.createAnimation(encodings.size))}if((_encodings$color2=encodings.color)!==null&&_encodings$color2!==void 0&&_encodings$color2.animation){animations.push(this.createAnimation(encodings.color))}return animations}createLayers(allAnimations,deckProps){const animatedData=[];const notAnimatedData=[];deckProps.data.forEach((row=>{var _allAnimations$;const field=(_allAnimations$=allAnimations[0])===null||_allAnimations$===void 0?void 0:_allAnimations$.field;if(!field||row[field]){animatedData.push(row)}else{notAnimatedData.push(row)}}));const animatedProps=Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["omitBy"])(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["isUndefined"],{...deckProps,id:`${deckProps.id}-animated`,data:animatedData});const notAnimatedProps=Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["omitBy"])(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["isUndefined"],{...deckProps,id:`${deckProps.id}-not-animated`,data:notAnimatedData});return[new this.StaticClass(notAnimatedProps),new this.AnimatedClass({...animatedProps,animations:allAnimations})]}}},function(module,exports){module.exports=require("@turf/centroid")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return clearAnimationCache}));__webpack_require__.d(__webpack_exports__,"a",(function(){return AnimationEngine}));var _luma_gl_engine__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(99);var _luma_gl_engine__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_luma_gl_engine__WEBPACK_IMPORTED_MODULE_0__);let keyFramesCollection={};let lastRenderTime={};const getUniformsFromKeyframes=keyFramesList=>{const newUniformValues={};keyFramesList.forEach((keyFrames=>{const startValues=keyFrames.getStartData();const endValues=keyFrames.getEndData();for(const key in startValues){const startValue=startValues[key];const endValue=endValues[key];newUniformValues[key]=startValue+keyFrames.factor*(endValue-startValue)}}));return newUniformValues};function clearAnimationCache(){keyFramesCollection={};lastRenderTime={}}class AnimationEngine{constructor(params){var _params$fps;this.layerId=void 0;this.timeline=void 0;this.animationData=void 0;this.redrawFn=void 0;this.fps=void 0;this.layerId=params.layerId;this.timeline=params.timeline;this.animationData=params.animationDataList;this.redrawFn=params.redrawFn;this.fps=(_params$fps=params.fps)!==null&&_params$fps!==void 0?_params$fps:30}createKeyFrames(){var _this$animationData;if(!((_this$animationData=this.animationData)!==null&&_this$animationData!==void 0&&_this$animationData.length))return[];const keyFramesList=[];this.animationData.forEach((animationData=>{var _animationData$channe;if(!animationData)return new _luma_gl_engine__WEBPACK_IMPORTED_MODULE_0__["KeyFrames"]([]);const sanitizedChannel=(_animationData$channe=animationData.channel)!==null&&_animationData$channe!==void 0?_animationData$channe:{};if(sanitizedChannel.repeat===-1||!sanitizedChannel.repeat){sanitizedChannel.repeat=Number.POSITIVE_INFINITY}if(!sanitizedChannel.duration){sanitizedChannel.duration=5e3}const channel=this.timeline.addChannel(animationData.channel);const frames=new Array;Object.entries(animationData.keyFrames).forEach((_ref=>{let[timePercent,values]=_ref;const time=animationData.channel.duration*parseInt(timePercent)/100;frames.push([time,values])}));const keyFrames=new _luma_gl_engine__WEBPACK_IMPORTED_MODULE_0__["KeyFrames"](frames);this.timeline.attachAnimation(keyFrames,channel);keyFramesList.push(keyFrames)}));return keyFramesList}getUniforms(){if(!this.layerId){return{}}if(!keyFramesCollection[this.layerId]){keyFramesCollection[this.layerId]=this.createKeyFrames()}return getUniformsFromKeyframes(keyFramesCollection[this.layerId])}render(){if(!this.layerId){return}if(this.timeline.animations.size===0){clearAnimationCache()}const timeFraction=1e3/this.fps;if(!lastRenderTime[this.layerId]||lastRenderTime[this.layerId]+timeFraction<=this.timeline.time){lastRenderTime[this.layerId]=this.timeline.time;setTimeout((()=>{window.requestAnimationFrame((()=>{this.redrawFn()}))}),timeFraction)}}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"c",(function(){return Projector_Projector}));__webpack_require__.d(__webpack_exports__,"b",(function(){return IdentityProjector_IdentityProjector}));__webpack_require__.d(__webpack_exports__,"a",(function(){return BoxProjector_BoxProjector}));__webpack_require__.d(__webpack_exports__,"d",(function(){return RowProjector_RowProjector}));var src=__webpack_require__(14);class Projector_Projector{constructor(scaleDomains,worldBox){this.scales=void 0;this.scales={x:this.createScales(scaleDomains.x,worldBox.x),y:this.createScales(scaleDomains.y,worldBox.y),z:scaleDomains.z&&worldBox.z?this.createScales(scaleDomains.z,worldBox.z):undefined}}createScales(scaleDomains,range){return Object.keys(scaleDomains).reduce(((scales,scaleType)=>({...scales,[scaleType]:Object(src["q"])(scaleType).range(range.toPlain()).domain([scaleDomains[scaleType].domainMin,scaleDomains[scaleType].domainMax])})),{})}hasAllScalesSetted(xScaleType,yScaleType){const hasX=!!this.scales.x[xScaleType];const hasY=!!this.scales.y[yScaleType];return hasX&&hasY}projectX(value,scaleType){var _this$scales$x$scaleT;if(!scaleType)return undefined;const scale=(_this$scales$x$scaleT=this.scales.x[scaleType])!==null&&_this$scales$x$scaleT!==void 0?_this$scales$x$scaleT:this.scales.x[Object.keys(this.scales.x)[0]];if(!scale)return undefined;return scale(value)}projectY(value,scaleType){var _this$scales$y$scaleT;if(!scaleType)return undefined;const scale=(_this$scales$y$scaleT=this.scales.y[scaleType])!==null&&_this$scales$y$scaleT!==void 0?_this$scales$y$scaleT:this.scales.y[Object.keys(this.scales.y)[0]];if(!scale)return undefined;return scale(value)}projectZ(value){return value}project(point,xScaleType,yScaleType){if(!this.hasAllScalesSetted(xScaleType,yScaleType))return;const p=[this.projectX(point[0],xScaleType),this.projectY(point[1],yScaleType)];if(point[2]!==undefined){p.push(this.projectZ(point[2]))}return p}unprojectX(value,scaleType){var _this$scales$x$scaleT2;if(!scaleType)return 0;const scale=(_this$scales$x$scaleT2=this.scales.x[scaleType])!==null&&_this$scales$x$scaleT2!==void 0?_this$scales$x$scaleT2:this.scales.x[Object.keys(this.scales.x)[0]];if(!scale||value===undefined||value===null)return 0;return scale.invert(value)}unprojectY(value,scaleType){var _this$scales$y$scaleT2;if(!scaleType)return 0;const scale=(_this$scales$y$scaleT2=this.scales.y[scaleType])!==null&&_this$scales$y$scaleT2!==void 0?_this$scales$y$scaleT2:this.scales.y[Object.keys(this.scales.y)[0]];if(!scale||value===undefined||value===null)return 0;return scale.invert(value)}unprojectZ(value,scaleType){var _scaleType;if(!scaleType)return value;const scale=(_scaleType=this.scales.z[scaleType])!==null&&_scaleType!==void 0?_scaleType:this.scales.z[Object.keys(this.scales.z)[0]];if(!scale)return value;return scale.invert(value)}unproject(point,xScaleType,yScaleType){if(!this.hasAllScalesSetted(xScaleType,yScaleType))return;const p=[this.unprojectX(point[0],xScaleType),this.unprojectY(point[1],yScaleType)];if(point[2]!==undefined){p.push(this.unprojectZ(point[2]))}return p}}function IdentityScale(value){function unproject(value){return value}function invert(value){return value}return value}IdentityScale.unproject=function(value){return value};IdentityScale.invert=function(value){return value};class IdentityProjector_IdentityProjector extends Projector_Projector{createScales(scaleDomains){return Object.keys(scaleDomains).reduce(((scales,scaleType)=>({...scales,[scaleType]:IdentityScale})),{})}}var spatial_src=__webpack_require__(8);class BoxProjector_BoxProjector{constructor(projector,xScaleType,yScaleType){this.projector=void 0;this.xScaleType=void 0;this.yScaleType=void 0;this.projector=projector;this.xScaleType=xScaleType;this.yScaleType=yScaleType}project(box){return new spatial_src["b"]({x:new spatial_src["e"]({min:this.projector.projectX(box.x.getMin(),this.xScaleType),max:this.projector.projectX(box.x.getMax(),this.xScaleType)}),y:new spatial_src["e"]({min:this.projector.projectY(box.y.getMin(),this.yScaleType),max:this.projector.projectY(box.y.getMax(),this.yScaleType)}),z:box.z?new spatial_src["e"]({min:this.projector.projectZ(box.z.getMin()),max:this.projector.projectZ(box.z.getMax())}):undefined})}unproject(box){return new spatial_src["b"]({x:new spatial_src["e"]({min:this.projector.unprojectX(box.x.getMin(),this.xScaleType),max:this.projector.unprojectX(box.x.getMax(),this.xScaleType)}),y:new spatial_src["e"]({min:this.projector.unprojectY(box.y.getMin(),this.yScaleType),max:this.projector.unprojectY(box.y.getMax(),this.yScaleType)}),z:box.z?new spatial_src["e"]({min:this.projector.unprojectZ(box.z.getMin()),max:this.projector.unprojectZ(box.z.getMax())}):undefined})}}var dataset_src=__webpack_require__(6);var centroid_=__webpack_require__(37);var centroid_default=__webpack_require__.n(centroid_);var helpers_=__webpack_require__(17);var fp_=__webpack_require__(2);class RowProjector_RowProjector{constructor(projector,positionKeys){this.projector=void 0;this.positionKeys=void 0;this.projector=projector;this.positionKeys=positionKeys}isPoint(value){return value.length===1}isPolygon(value){return value[0][0]===value[value.length-1][0]&&value[0][1]===value[value.length-1][1]}getGeometry(value){if(Object(fp_["isArray"])(value)){if(this.isPoint(value))return Object(helpers_["point"])(value[0]);if(this.isPolygon(value))return Object(helpers_["polygon"])([value]);return Object(helpers_["lineString"])(value)}return value}getZ(value){if(!this.isPoint(value))return;return Object(fp_["isNumber"])(value[0][2])?value[0][2]:undefined}getCentroid(value){try{const geometry=this.getGeometry(value);const centroidGeoJson=centroid_default()(geometry);const coordinates=centroidGeoJson.geometry.coordinates;if(!Object(fp_["isNil"])(this.getZ(value)))coordinates[2]=this.getZ(value);return coordinates}catch(_){return[0,0]}}projectGeometry(data,index){if(Object(fp_["isArray"])(data))return data.map(this.projectGeometry.bind(this));if(index===0)return this.projector.projectX(Number(data),this.positionKeys.x.type);if(index===1)return this.projector.projectY(Number(data),this.positionKeys.y.type);if(index===2)return this.projector.projectZ(Number(data));return data}unprojectValue(value,index){var _this$positionKeys$z;if(index===0)return this.projector.unprojectX(Number(value),this.positionKeys.x.type);if(index===1)return this.projector.unprojectY(Number(value),this.positionKeys.y.type);if(index===2)return this.projector.unprojectZ(Number(value),(_this$positionKeys$z=this.positionKeys.z)===null||_this$positionKeys$z===void 0?void 0:_this$positionKeys$z.type);return 0}unprojectGeometry(data,index){if(Object(fp_["isArray"])(data))return data.map(this.unprojectGeometry.bind(this));return this.unprojectValue(data,index)}project(rows,filterNotPlaceds){const projectedRows=rows.map((row=>{const projectedRow=this.projectRow(row);return new dataset_src["i"](projectedRow)}));if(filterNotPlaceds){return projectedRows.filter((row=>row.isPlaced()))}return projectedRows}isGeometryOrGeoJSON(value){return Object(fp_["isObjectLike"])(value)}projectRow(row){var _row$this$positionKey,_row$this$positionKey2,_this$positionKeys$z2,_this$positionKeys$z3;let xValue=(_row$this$positionKey=row[this.positionKeys.x.field])!==null&&_row$this$positionKey!==void 0?_row$this$positionKey:this.positionKeys.x.value;let yValue=(_row$this$positionKey2=row[this.positionKeys.y.field])!==null&&_row$this$positionKey2!==void 0?_row$this$positionKey2:this.positionKeys.y.value;let zValue=(_this$positionKeys$z2=this.positionKeys.z)===null||_this$positionKeys$z2===void 0?void 0:_this$positionKeys$z2.value;if((_this$positionKeys$z3=this.positionKeys.z)!==null&&_this$positionKeys$z3!==void 0&&_this$positionKeys$z3.field&&!Object(fp_["isNil"])(row[this.positionKeys.z.field])){zValue=row[this.positionKeys.z.field]}if(this.isGeometryOrGeoJSON(xValue)){var _centroid$;const centroid=this.getCentroid(row[this.positionKeys.x.field]);xValue=centroid[0];yValue=centroid[1];zValue=(_centroid$=centroid[2])!==null&&_centroid$!==void 0?_centroid$:zValue}return new dataset_src["i"]({...row,[this.positionKeys.x.field]:Object(fp_["isArray"])(row[this.positionKeys.x.field])?this.projectGeometry(row[this.positionKeys.x.field]):row[this.positionKeys.x.field],_x:this.projector.projectX(xValue,this.positionKeys.x.type),_y:this.projector.projectY(yValue,this.positionKeys.y.type),_z:zValue!==undefined?this.projector.projectZ(zValue):undefined})}unprojectX(row){return row["_x"]===null?null:this.projector.unprojectX(row._x,this.positionKeys.x.type)}unprojectZ(row){return row["_z"]===null?null:this.projector.unprojectZ(row._z)}unprojectY(row){return row["_y"]===null?null:this.projector.unprojectY(row._y,this.positionKeys.y.type)}unplaceRow(row){var _this$positionKeys$z4,_this$positionKeys$z5;const unplacedRow={[this.positionKeys.x.field]:null,[this.positionKeys.y.field]:null};if((_this$positionKeys$z4=this.positionKeys.z)!==null&&_this$positionKeys$z4!==void 0&&_this$positionKeys$z4.field&&((_this$positionKeys$z5=this.positionKeys.z)===null||_this$positionKeys$z5===void 0?void 0:_this$positionKeys$z5.field)!==src["j"].field){unplacedRow[this.positionKeys.z.field]=null}return Object(fp_["omit"])(["_x","_y","_z"],{...row,...unplacedRow})}isNilField(field){return!field||field===src["j"].field}unprojectPolygon(row){var _this$positionKeys$z6;const unprojectedValues={};unprojectedValues[this.positionKeys.x.field]=this.unprojectGeometry(row[this.positionKeys.x.field]);if(!this.isNilField((_this$positionKeys$z6=this.positionKeys.z)===null||_this$positionKeys$z6===void 0?void 0:_this$positionKeys$z6.field)&&this.positionKeys.x.field!==this.positionKeys.z.field){unprojectedValues[this.positionKeys.z.field]=this.unprojectZ(row)}return unprojectedValues}unprojectPoint(row){var _this$positionKeys$z7,_this$positionKeys$z8;const unprojectedValues={};unprojectedValues[this.positionKeys.x.field]=[[this.unprojectX(row),this.unprojectY(row)]];if(this.positionKeys.x.field===((_this$positionKeys$z7=this.positionKeys.z)===null||_this$positionKeys$z7===void 0?void 0:_this$positionKeys$z7.field)){unprojectedValues[this.positionKeys.x.field][0][2]=this.unprojectZ(row)}else if(!this.isNilField((_this$positionKeys$z8=this.positionKeys.z)===null||_this$positionKeys$z8===void 0?void 0:_this$positionKeys$z8.field)){unprojectedValues[this.positionKeys.z.field]=this.unprojectZ(row)}return unprojectedValues}unprojectPosition(row){var _this$positionKeys$z9;const unprojectedValues={};unprojectedValues[this.positionKeys.x.field]=this.unprojectX(row);unprojectedValues[this.positionKeys.y.field]=this.unprojectY(row);if(!this.isNilField((_this$positionKeys$z9=this.positionKeys.z)===null||_this$positionKeys$z9===void 0?void 0:_this$positionKeys$z9.field)){unprojectedValues[this.positionKeys.z.field]=this.unprojectZ(row)}return unprojectedValues}isProjectedPolygon(value){return Object(fp_["isArray"])(value)}isProjectedPoint(){return this.positionKeys.x.field===this.positionKeys.y.field}unprojectRow(row){if(!row)return{};let unprojectedValues;if(this.isProjectedPolygon(row[this.positionKeys.x.field])){unprojectedValues=this.unprojectPolygon(row)}else if(this.isProjectedPoint()){unprojectedValues=this.unprojectPoint(row)}else{unprojectedValues=this.unprojectPosition(row)}return Object(fp_["omit"])(["_x","_y","_z"],{...row,...unprojectedValues})}unproject(rows){return rows.map((row=>{const unprojectedRow=this.unprojectRow(row);return new dataset_src["i"](unprojectedRow)}))}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return QueryStoreStatus}));var src=__webpack_require__(6);class QueryLoader{constructor(props){this.name=void 0;this.source=void 0;this.loader=void 0;Object.assign(this,props)}isFromQuery(query){return this.name.toLowerCase()===query.name.toLowerCase()&&this.source.toLowerCase()===query.dataSource.toLowerCase()}}class QueryLoaders extends Array{getLoader(query){if(!query)return undefined;return this.find((loader=>loader.isFromQuery(query)))}}class QueryUpdater{constructor(props){this.name=void 0;this.source=void 0;this.updater=void 0;Object.assign(this,props)}isFromQuery(query){return this.name.toLowerCase()===query.name.toLowerCase()&&this.source.toLowerCase()===query.dataSource.toLowerCase()}}class QueryUpdaters extends Array{getUpdater(query){if(!query)return undefined;return this.find((loader=>loader.isFromQuery(query)))}}let QueryStoreStatus;(function(QueryStoreStatus){QueryStoreStatus["none"]="NONE";QueryStoreStatus["error"]="ERROR";QueryStoreStatus["tableNotFound"]="TABLE_NOT_FOUND";QueryStoreStatus["tableFetchingError"]="TABLE_FETCHING_ERROR";QueryStoreStatus["updated"]="UPDATED";QueryStoreStatus["partial"]="PARTIAL"})(QueryStoreStatus||(QueryStoreStatus={}));class QueryStore_QueryStore{constructor(props){this.queries=void 0;this.status=void 0;this.loaders=void 0;this.updaters=void 0;Object.assign(this,props);if(!this.queries)this.queries=new src["g"];if(!this.status)this.status=QueryStoreStatus.none;if(!this.loaders)this.loaders=new QueryLoaders;if(!this.updaters)this.updaters=new QueryUpdaters}setQueries(queries){return new QueryStore_QueryStore({...this,queries,status:QueryStoreStatus.updated})}setStatus(status){return new QueryStore_QueryStore({...this,status})}setLoaders(queryLoaders){return new QueryStore_QueryStore({...this,loaders:new QueryLoaders(...queryLoaders)})}setUpdaters(queryUpdaters){return new QueryStore_QueryStore({...this,updaters:new QueryUpdaters(...queryUpdaters)})}isPartialQueries(){return this.status===QueryStoreStatus.partial}}var query_QueryStore=__webpack_exports__["b"]=QueryStore_QueryStore},function(module,exports,__webpack_require__){module.exports={transitionBlock:"ViewTransition_transitionBlock__3-hy8",enter:"ViewTransition_enter__1qfMc",enterActive:"ViewTransition_enterActive__3-7mt",enterDone:"ViewTransition_enterDone__1pAFe",exit:"ViewTransition_exit__3gsBJ",exitActive:"ViewTransition_exitActive__3ephY"}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return ZoomRange}));class ZoomRange{constructor(props){this.min=void 0;this.max=void 0;Object.assign(this,props)}getMin(){var _this$min,_this$min$fixed;if(((_this$min=this.min)===null||_this$min===void 0?void 0:(_this$min$fixed=_this$min.fixed)===null||_this$min$fixed===void 0?void 0:_this$min$fixed.value)===undefined)return 0;return this.min.fixed.value}getMax(){var _this$max,_this$max$fixed;if(((_this$max=this.max)===null||_this$max===void 0?void 0:(_this$max$fixed=_this$max.fixed)===null||_this$max$fixed===void 0?void 0:_this$max$fixed.value)===undefined)return Number.MAX_SAFE_INTEGER;return this.max.fixed.value}getInterval(){return this.getMax()-this.getMin()}multiply(multiplier){const intervalDelta=this.getInterval()*multiplier-this.getInterval();return new ZoomRange({min:{...this.min,fixed:{value:this.getMin()-intervalDelta/2}},max:{...this.max,fixed:{value:this.getMax()+intervalDelta/2}}})}isInRange(value){if(value===undefined)return false;return value>=this.getMin()&&value<this.getMax()}}},function(module,exports){module.exports=require("redux-saga")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return AppStatus}));__webpack_require__.d(__webpack_exports__,"b",(function(){return AppStore}));let AppStatus;(function(AppStatus){AppStatus["loading"]="loading";AppStatus["fetchingError"]="fetchingError";AppStatus["viewingVersion"]="viewingVersion";AppStatus["restoringVersion"]="restoringVersion";AppStatus["updated"]="updated"})(AppStatus||(AppStatus={}));class AppStore{constructor(props){var _this$status,_this$isEditing;this.app=void 0;this.status=void 0;this.version=void 0;this.isEditing=void 0;Object.assign(this,props!==null&&props!==void 0?props:{});this.status=(_this$status=this.status)!==null&&_this$status!==void 0?_this$status:AppStatus.loading;this.isEditing=(_this$isEditing=this.isEditing)!==null&&_this$isEditing!==void 0?_this$isEditing:false}updateApp(app){return new AppStore({...this,app,status:AppStatus.updated})}setStatus(status){return new AppStore({...this,status})}setEditing(isEditing){return new AppStore({...this,isEditing})}setVersion(version){return new AppStore({...this,status:version?AppStatus.viewingVersion:this.status,version})}isAppReady(){return!!(this.app&&[AppStatus.updated,AppStatus.viewingVersion].includes(this.status))}}},function(module,exports){module.exports=require("@turf/invariant")},function(module,exports){module.exports=require("@loaders.gl/core")},function(module,exports){module.exports=require("react-toastify")},function(module,exports){module.exports=require("reflect-metadata")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Column}));var _ColumnType__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(26);var case__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(51);var case__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(case__WEBPACK_IMPORTED_MODULE_1__);class Column{constructor(props){this.name=void 0;this.id=void 0;this.type=void 0;this.stats=void 0;this.quantitative=void 0;this.temporal=void 0;if(props){this.name=props.name;this.type=props.type;this.stats=props.stats;this.id=props.id;this.quantitative=props.quantitative}}isUpperCase(string){return string===string.toUpperCase()}getType(){if(this.type)return this.type;return _ColumnType__WEBPACK_IMPORTED_MODULE_0__["b"]}isType(type){return this.type===type}getLabel(){if(this.isUpperCase(this.name))return this.name;return case__WEBPACK_IMPORTED_MODULE_1___default.a.sentence(this.name)}isQuantitative(){return this.quantitative}isTemporal(){return this.temporal}isPrivate(){return this.name.startsWith("_")}getName(){return this.name}getStats(){return this.stats}isGeometry(){return this.type===_ColumnType__WEBPACK_IMPORTED_MODULE_0__["a"].GEOMETRY}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Row}));var _Geti__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(60);var lodash_fp__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(2);var lodash_fp__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_1__);var _hopara_spatial__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(8);class Row{constructor(values){this._id=void 0;this._x=void 0;this._y=void 0;Object.assign(this,values)}getValue(key){return Object(_Geti__WEBPACK_IMPORTED_MODULE_0__["a"])(key,this)}isPlaced(){return!Object(lodash_fp__WEBPACK_IMPORTED_MODULE_1__["isNil"])(this._x)||!Object(lodash_fp__WEBPACK_IMPORTED_MODULE_1__["isNil"])(this._y)}getCoordinates(){return new _hopara_spatial__WEBPACK_IMPORTED_MODULE_2__["c"]({x:this._x,y:this._y,z:this._z})}}},function(module,exports){module.exports=require("case")},function(module,exports){module.exports=require("react-redux")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return FilterType}));__webpack_require__.d(__webpack_exports__,"b",(function(){return toDatasetFilters}));let FilterType;(function(FilterType){FilterType["RANGE"]="range";FilterType["INTERSECT"]="intersect"})(FilterType||(FilterType={}));var ComparisonType;(function(ComparisonType){ComparisonType["GREATER_EQUALS_THAN"]="GREATER_EQUALS_THAN";ComparisonType["LESS_EQUALS_THAN"]="LESS_EQUALS_THAN";ComparisonType["PARTIAL_MATCH"]="PARTIAL_MATCH";ComparisonType["EQUALS"]="EQUALS";ComparisonType["INTERSECTS"]="INTERSECTS"})(ComparisonType||(ComparisonType={}));function convertRangeFilter(filter){const datasetFilters=[];const minValue=filter.values[0];if(minValue!==null&&minValue!==undefined&&!Number.isNaN(minValue)){const minFilter={column:filter.field,values:[minValue],comparisonType:ComparisonType.GREATER_EQUALS_THAN,logicalOperator:filter.logicalOperator};datasetFilters.push(minFilter)}const maxValue=filter.values[1];if(maxValue!==null&&maxValue!==undefined&&!Number.isNaN(maxValue)){const maxFilter={column:filter.field,values:[maxValue],comparisonType:ComparisonType.LESS_EQUALS_THAN,logicalOperator:filter.logicalOperator};datasetFilters.push(maxFilter)}return datasetFilters}function getComparisonType(filter){if(filter.type===FilterType.INTERSECT){return ComparisonType.INTERSECTS}if(filter.exactMatch){return ComparisonType.EQUALS}else{return ComparisonType.PARTIAL_MATCH}}function convertDefaultFilter(filter){const datasetFilters=[];const datasetFilter={column:filter.field,values:filter.values,comparisonType:getComparisonType(filter),logicalOperator:filter.logicalOperator};datasetFilters.push(datasetFilter);return datasetFilters}function filterToDatasetFilter(filter){if(filter.type==FilterType.RANGE){return convertRangeFilter(filter)}else{return convertDefaultFilter(filter)}}function toDatasetFilters(filters){if(filters){return filters.map((filter=>filterToDatasetFilter(filter))).flat()}return[]}},function(module,exports){module.exports=require("query-string")},function(module,exports){module.exports=require("@turf/transform-rotate")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return OrthographicViewport}));__webpack_require__.d(__webpack_exports__,"b",(function(){return OrthographicView}));var lodash_fp__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(2);var lodash_fp__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_0__);var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(22);var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__);var math_gl__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(57);var math_gl__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(math_gl__WEBPACK_IMPORTED_MODULE_2__);var _math_gl_web_mercator__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(79);var _math_gl_web_mercator__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_math_gl_web_mercator__WEBPACK_IMPORTED_MODULE_3__);var gl_matrix_vec2__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(98);var gl_matrix_vec2__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(gl_matrix_vec2__WEBPACK_IMPORTED_MODULE_4__);const viewMatrix=(new math_gl__WEBPACK_IMPORTED_MODULE_2__["Matrix4"]).lookAt({eye:[0,0,1]});function getProjectionMatrix(_ref){let{width,height,near,far,padding,translationMatrix}=_ref;let left=-width/2;let right=width/2;let bottom=-height/2;let top=height/2;if(padding){const{left:l=0,right:r=0,top:t=0,bottom:b=0}=padding;const offsetX=Object(math_gl__WEBPACK_IMPORTED_MODULE_2__["clamp"])((l+width-r)/2,0,width)-width/2;const offsetY=Object(math_gl__WEBPACK_IMPORTED_MODULE_2__["clamp"])((t+height-b)/2,0,height)-height/2;left-=offsetX;right-=offsetX;bottom+=offsetY;top+=offsetY}return(new math_gl__WEBPACK_IMPORTED_MODULE_2__["Matrix4"]).ortho({left,right,bottom,top,near,far}).clone().translate(translationMatrix)}class OrthographicViewport extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["Viewport"]{constructor(props){const{width,height,near=.1,far=1e3,zoom=0,target=[0,0,0],padding=null,flipY=true,fixedY=false,fixedX=false,translationMatrix=[0,0,0],initialCoordinates}=props;let zoomX=Array.isArray(zoom)?zoom[0]:zoom;let zoomY=Array.isArray(zoom)?zoom[1]:zoom;if(fixedY)zoomY=0;if(fixedX)zoomX=0;const zoom_=Math.min(zoomX,zoomY);const scale=Math.pow(2,zoom_);let distanceScales;if(zoomX!==zoomY){const scaleX=Math.pow(2,zoomX);const scaleY=Math.pow(2,zoomY);distanceScales={unitsPerMeter:[scaleX/scale,scaleY/scale,1],metersPerUnit:[scale/scaleX,scale/scaleY,1]}}super({...props,longitude:null,position:[fixedX&&initialCoordinates&&Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["isNumber"])(initialCoordinates.x)?initialCoordinates.x:target[0],fixedY&&initialCoordinates&&Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["isNumber"])(initialCoordinates.y)?initialCoordinates.y:target[1],target[2]],viewMatrix:viewMatrix.clone().scale([scale,scale*(flipY?-1:1),scale]),projectionMatrix:getProjectionMatrix({width:width||1,height:height||1,padding,near,far,translationMatrix}),zoom:zoom_,distanceScales})}projectFlat(_ref2){let[X,Y]=_ref2;const{unitsPerMeter}=this.distanceScales;return[X*unitsPerMeter[0],Y*unitsPerMeter[1]]}unprojectFlat(_ref3){let[x,y]=_ref3;const{metersPerUnit}=this.distanceScales;return[x*metersPerUnit[0],y*metersPerUnit[1]]}panByPosition(coords,pixel){const fromLocation=Object(_math_gl_web_mercator__WEBPACK_IMPORTED_MODULE_3__["pixelsToWorld"])(pixel,this.pixelUnprojectionMatrix);const toLocation=this.projectFlat(coords);const translate=gl_matrix_vec2__WEBPACK_IMPORTED_MODULE_4__["add"]([],toLocation,gl_matrix_vec2__WEBPACK_IMPORTED_MODULE_4__["negate"]([],fromLocation));const newCenter=gl_matrix_vec2__WEBPACK_IMPORTED_MODULE_4__["add"]([],this.center,translate);return{target:this.unprojectFlat(newCenter)}}}class OrthographicView extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["View"]{constructor(props){super({...props,type:OrthographicViewport})}get ViewportType(){return OrthographicViewport}get ControllerType(){return _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["OrthographicController"]}}},function(module,exports){module.exports=require("math.gl")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return MapStyle}));__webpack_require__.d(__webpack_exports__,"c",(function(){return isArgGISMapStype}));__webpack_require__.d(__webpack_exports__,"b",(function(){return getMapStyle}));__webpack_require__.d(__webpack_exports__,"d",(function(){return isDarkStyle}));var _hopara_config__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(15);let MapStyle;(function(MapStyle){MapStyle["none"]="none";MapStyle["building"]="building";MapStyle["dark"]="dark";MapStyle["light"]="light";MapStyle["lightStreet"]="light-street";MapStyle["navigation"]="navigation";MapStyle["satellite"]="satellite"})(MapStyle||(MapStyle={}));const mapStyleNameToId={building:"winter",dark:"6bafab84-bb35-4ff5-b048-d419f7d0da53","light-street":"659eb88b-0a25-45ca-a129-3682b21b1b80",light:"419395b0-c660-4d87-b01d-e0d48df9c702",navigation:"ArcGIS:Navigation",satellite:"ArcGIS:Imagery"};const arcgisMapStyles=[MapStyle.navigation,MapStyle.satellite];const isArgGISMapStype=style=>!!style&&arcgisMapStyles.includes(style);const getMapStyle=style=>{var _ref;const styleId=(_ref=style&&mapStyleNameToId[style])!==null&&_ref!==void 0?_ref:mapStyleNameToId.light;if(isArgGISMapStype(style)){return`https://basemaps-api.arcgis.com/arcgis/rest/services/styles/${styleId}?type=style&token=${_hopara_config__WEBPACK_IMPORTED_MODULE_0__["a"].getValue("ARCGIS_API_TOKEN")}`}return`https://api.maptiler.com/maps/${styleId}/style.json?key=${_hopara_config__WEBPACK_IMPORTED_MODULE_0__["a"].getValue("MAPTILER_API_TOKEN")}`};const isDarkStyle=style=>!!style&&style===MapStyle.dark},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return getFormatter}));__webpack_require__.d(__webpack_exports__,"a",(function(){return formatValue}));var ColumnType=__webpack_require__(26);class BooleanFormatter{format(value){return String(value)}unformat(value){return Boolean(value)}}var D3Formatter=__webpack_require__(96);var external_dayjs_=__webpack_require__(67);var external_dayjs_default=__webpack_require__.n(external_dayjs_);var utc_=__webpack_require__(115);var utc_default=__webpack_require__.n(utc_);external_dayjs_default.a.extend(utc_default.a);class DateFormatter_DateFormatter{format(value){return external_dayjs_default.a.utc(value).format("YYYY-MM-DD")}unformat(value){return external_dayjs_default.a.utc(value).valueOf()}}class StringArrayFormatter{format(value){return value.join(", ")}unformat(value){return value.split(", ")}}var fp_=__webpack_require__(2);class JSONFromater{format(value){return JSON.stringify(value)}unformat(value){return JSON.parse(value)}}class ValueFormatter{format(value){return value}unformat(value){return value}}const getFormatter=columnType=>{switch(columnType){case ColumnType["a"].DECIMAL:case ColumnType["a"].INTEGER:return new D3Formatter["a"](columnType);case ColumnType["a"].DATETIME:return new DateFormatter_DateFormatter;case ColumnType["a"].STRING_ARRAY:return new StringArrayFormatter;case ColumnType["a"].BOOLEAN:return new BooleanFormatter;case ColumnType["a"].JSON:case ColumnType["a"].GEOMETRY:return new JSONFromater;default:return new ValueFormatter}};const formatValue=(value,columnType)=>{if(Object(fp_["isNil"])(value)){return""}const formatter=getFormatter(columnType);return formatter.format(value)}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return geti}));var lodash_fp__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(2);var lodash_fp__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_0__);function geti(key,object){if(!key)return;if(key.includes(".")){return Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["get"])(key,object)}for(const candidateKey in object){if((candidateKey+"").toLowerCase()===key.toLowerCase()){return object[candidateKey]}}return}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return LineCap}));__webpack_require__.d(__webpack_exports__,"b",(function(){return LineEncoding}));let LineCap;(function(LineCap){LineCap["BUTT"]="butt";LineCap["ROUND"]="round"})(LineCap||(LineCap={}));class LineEncoding{constructor(props){this.field=void 0;this.segmentLength=void 0;this.cap=void 0;this.animation=void 0;Object.assign(this,props)}isRenderable(){return!!this.field}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return DeckViewContainer}));var _hopara_spatial__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(8);var lodash_fp__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(2);var lodash_fp__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_1__);var _state_Actions__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(0);var _state_Store__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(9);var _view_state_ViewState__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(69);const DeckViewContainer=props=>{var _layers$getById;const dispatch=Object(_state_Store__WEBPACK_IMPORTED_MODULE_3__["c"])();const authorization=Object(_state_Store__WEBPACK_IMPORTED_MODULE_3__["d"])((store=>store.authorization));const axesList=Object(_state_Store__WEBPACK_IMPORTED_MODULE_3__["d"])((store=>store.axes));const jumpState=Object(_state_Store__WEBPACK_IMPORTED_MODULE_3__["d"])((store=>store.jump));const layers=Object(_state_Store__WEBPACK_IMPORTED_MODULE_3__["d"])((store=>store.layers));const projector=Object(_state_Store__WEBPACK_IMPORTED_MODULE_3__["d"])((store=>store.projectorStore.projector));const queries=Object(_state_Store__WEBPACK_IMPORTED_MODULE_3__["d"])((store=>store.queryStore.queries));const rowsetStore=Object(_state_Store__WEBPACK_IMPORTED_MODULE_3__["d"])((store=>store.rowsetStore));const uploadedResource=Object(_state_Store__WEBPACK_IMPORTED_MODULE_3__["d"])((store=>store.resource.upload));const viewController=Object(_state_Store__WEBPACK_IMPORTED_MODULE_3__["d"])((store=>store.viewController));const webGLMaxTextureSize=Object(_state_Store__WEBPACK_IMPORTED_MODULE_3__["d"])((store=>store.webgl.maxTextureSize));const editingEntity=Object(_state_Store__WEBPACK_IMPORTED_MODULE_3__["d"])((store=>store.entityStore.getPlacing()));const editingLayerId=editingEntity?(_layers$getById=layers.getById(editingEntity.layer))===null||_layers$getById===void 0?void 0:_layers$getById.id:undefined;const selectedRow=Object(_state_Store__WEBPACK_IMPORTED_MODULE_3__["d"])((store=>store.viewLayers.selectedRow));const tooltip=Object(_state_Store__WEBPACK_IMPORTED_MODULE_3__["d"])((store=>store.tooltip));const viewState=Object(_state_Store__WEBPACK_IMPORTED_MODULE_3__["d"])((store=>store.viewState));const world=Object(_state_Store__WEBPACK_IMPORTED_MODULE_3__["d"])((store=>store.world));const visualization=Object(_state_Store__WEBPACK_IMPORTED_MODULE_3__["d"])((store=>store.visualizationStore.visualization));const isPlacingRows=!!editingLayerId;const isTooltipEnabled=!!tooltip;const hasSelectedRow=!!selectedRow;const onLayerHover=info=>{if(!info)return;if(!info.row&&(hasSelectedRow||isTooltipEnabled)){dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].viewLayer.mouseLeft())}if(!info.row)return;dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].viewLayer.mouseHover({layerId:info.layerId,coordinates:info.coordinates,pixel:info.pixel,row:info.row,rowsetId:info.rowsetId}))};const onLayerClick=info=>{if(!(info!==null&&info!==void 0&&info.row)&&(hasSelectedRow||isTooltipEnabled))dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].viewLayer.clickOut());if(!(info!==null&&info!==void 0&&info.row))return;dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].viewLayer.click({layerId:info.layerId,coordinates:info.coordinates,pixel:info.pixel,row:info.row,rowsetId:info.rowsetId,rowDiff:{}}))};const onLayerDragStart=info=>{if(!info||!isPlacingRows)return;dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].viewLayer.dragStarted({layerId:info.layerId,coordinates:info.coordinates,pixel:info.pixel,row:info.row,rowDiff:info.updatedData,rowsetId:info.rowsetId}))};const onLayerDragEnd=(info,keepSelected)=>{if(!info||!isPlacingRows||!info.coordinates)return;dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].viewLayer.dragEnded({layerId:info.layerId,coordinates:info.coordinates,pixel:info.pixel,row:info.row,rowDiff:info.updatedData,rowsetId:info.rowsetId,keepSelected}))};const onResourceDownloadProgressChange=(key,entity,progress)=>{dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].resource.downloadProgress({key,entity,progress}))};const onViewLoad=(dimensions,deckViewState)=>{if(!visualization||!world)return;const coordinates=Object(_view_state_ViewState__WEBPACK_IMPORTED_MODULE_4__["b"])(viewState===null||viewState===void 0?void 0:viewState.coordinates,visualization,dimensions);const updatedViewState=viewState===null||viewState===void 0?void 0:viewState.withDeckViewState(world,deckViewState).withInitialCoordinates(new _hopara_spatial__WEBPACK_IMPORTED_MODULE_0__["c"]({x:dimensions.width/2,y:dimensions.height/2})).withCoordinates(coordinates);const updatedWorld=world.withInitialDimensions(dimensions);dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].view.viewLoaded({visualizationId:visualization.id,viewState:updatedViewState,world:updatedWorld}))};const onViewZooming=(event,viewState)=>{var _event$viewState,_event$oldViewState;if(!visualization||!world||!viewState)return;const updatedViewState=viewState.withDeckViewState(world,event.viewState);dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].view.viewZooming({direction:((_event$viewState=event.viewState)===null||_event$viewState===void 0?void 0:_event$viewState.zoom)>((_event$oldViewState=event.oldViewState)===null||_event$oldViewState===void 0?void 0:_event$oldViewState.zoom)?"IN":"OUT",viewState:updatedViewState}))};const onViewResize=_ref=>{let{width,height}=_ref;if(!visualization||!viewState||!world||Object(lodash_fp__WEBPACK_IMPORTED_MODULE_1__["isEqual"])(world===null||world===void 0?void 0:world.getDimensions(),{width,height})||!(world!==null&&world!==void 0&&world.type))return;const coordinates=Object(_view_state_ViewState__WEBPACK_IMPORTED_MODULE_4__["b"])(viewState.coordinates,visualization,{width,height});const updatedViewState=viewState.withInitialCoordinates(new _hopara_spatial__WEBPACK_IMPORTED_MODULE_0__["c"]({x:width/2,y:height/2})).withCoordinates(coordinates);return dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].view.viewResized({world:world.withDimensions({width,height}),viewState:updatedViewState}))};const onViewHover=info=>{if(info.object||info.bitmap||!hasSelectedRow&&!isTooltipEnabled)return;return dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].viewLayer.mouseLeft())};const onViewClick=info=>{if(info.object||!hasSelectedRow&&!isTooltipEnabled)return;return dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].viewLayer.clickOut())};const onViewDragStart=info=>{if(!info)return;return dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].view.viewDragStart({}))};const onViewDragEnd=(info,deckViewState)=>{if(!info||!visualization||!viewState||!world)return;const updatedViewState=viewState.withDeckViewState(world,deckViewState);const oldProjectedCoordinates=updatedViewState.projectCoordinate(world,[viewState.coordinates.x,viewState.coordinates.y]);const nextProjectedCoordinates=updatedViewState.projectCoordinate(world,[updatedViewState.coordinates.x,updatedViewState.coordinates.y]);const displacementDelta={x:oldProjectedCoordinates[0]-nextProjectedCoordinates[0],y:oldProjectedCoordinates[1]-nextProjectedCoordinates[1]};return dispatch(_state_Actions__WEBPACK_IMPORTED_MODULE_2__["a"].view.viewDragEnd({viewState:updatedViewState,displacementDelta}))};return props.component({authorization,axesList,editingLayerId,isTooltipEnabled,jumpState,layers,projector,queries,rowsetStore,selectedRow,uploadedResource,viewController,viewState,visualization,world,webGLMaxTextureSize,onLayerHover,onLayerClick,onLayerDragStart,onLayerDragEnd,onResourceDownloadProgressChange,onViewLoad,onViewZooming,onViewResize,onViewHover,onViewClick,onViewDragStart,onViewDragEnd})}},function(module,__webpack_exports__,__webpack_require__){"use strict";var typed_=__webpack_require__(118);var typed_default=__webpack_require__.n(typed_);var src=__webpack_require__(6);var external_react_=__webpack_require__(5);var external_react_default=__webpack_require__.n(external_react_);var theme=__webpack_require__(10);var _g,_g2,_g3;function _extends(){_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function SvgLogoMediumOutline(_ref,svgRef){let{title,titleId,...props}=_ref;return external_react_["createElement"]("svg",_extends({width:"170px",height:"62px",viewBox:"0 0 170 62",xmlns:"http://www.w3.org/2000/svg",ref:svgRef,"aria-labelledby":titleId},props),title?external_react_["createElement"]("title",{id:titleId},title):null,_g||(_g=external_react_["createElement"]("g",{strokeWidth:1,className:"logo-stroke"},external_react_["createElement"]("g",{id:"logo-stroke",transform:"translate(2.000000, 1.000000)",fill:"#FFFFFF",fillRule:"nonzero"},external_react_["createElement"]("path",{d:"M66.9368533,13.4680091 L66.9368533,42.3680091 C73.6612978,42.3674726 80.3857422,42.3740535 87.0724089,42.3740535 L87.0724089,40.7571646 C88.8857422,42.0340535 91.1146311,42.672498 93.4568533,42.672498 C95.8519644,42.672498 98.1412978,41.9887202 99.9924089,40.6400535 L99.9924089,48.5356091 L109.739076,48.5356091 L109.739076,42.5289424 C110.107787,42.5727646 110.456853,42.6638091 110.842187,42.6638091 C113.467742,42.6638091 115.979964,41.7533646 117.831076,39.9929202 C118.15672,40.3533202 118.511076,40.6880313 118.900187,40.9713646 C120.615298,42.2218091 122.640187,42.6562535 124.566853,42.6562535 C125.934409,42.6562535 127.260409,42.2856535 128.53352,41.7382535 C129.678187,42.3880313 130.87952,42.6562535 131.873076,42.6562535 C132.643742,42.6568731 133.410631,42.5565202 134.151076,42.3615869 L141.857742,42.3615869 L141.857742,38.0171424 C142.375298,39.1995869 143.179964,40.2195869 144.196187,40.9638091 C145.911298,42.2142535 147.939964,42.648698 149.862853,42.648698 C151.230409,42.648698 152.556409,42.278098 153.82952,41.730698 C154.970409,42.3804757 156.17552,42.648698 157.165298,42.648698 C158.173964,42.6497973 159.175076,42.4805869 160.123298,42.1500313 L162.46552,41.3302535 L162.892409,32.3013646 L160.501076,32.7055869 L160.501076,28.6633646 C160.501076,26.0075869 159.424409,23.5255869 157.482631,21.976698 C156.122631,20.8811424 154.524631,20.4240313 152.91152,20.1898091 L152.851076,19.940098 L151.067964,19.940098 C149.500187,19.940098 147.958853,20.2638535 146.572409,20.8807646 L145.73752,20.5233869 L145.735529,20.5233869 C144.745751,20.1002757 143.687974,19.926498 142.645307,19.9529424 L142.65324,19.9392669 C142.638129,19.9393277 142.623396,19.9449713 142.608662,19.9451602 C142.601485,19.945377 142.594307,19.9409669 142.587129,19.9412691 L138.620462,20.0738691 L138.719818,20.2298913 L132.146485,20.2298913 L132.146485,21.9110024 C130.287818,20.4527802 128.028707,19.9390024 125.799818,19.9390024 C122.936262,19.9390024 120.133151,21.0118913 118.28204,23.006558 C116.389374,20.9854469 113.710929,19.9314469 110.877596,19.9314469 C110.103151,19.9314469 109.358929,20.0564913 108.637374,20.2261135 L100.02404,20.2261135 L100.02404,21.9676691 C98.1842624,20.6152246 95.9062624,19.9352246 93.4884847,19.9352246 C90.4662624,19.9352246 87.5951513,21.0043357 85.5929291,23.1614469 C85.4924402,23.2706246 85.4074402,23.3900024 85.312618,23.502958 C84.9771513,23.0458469 84.6061736,22.618958 84.1830624,22.2411802 C82.3395069,20.5940691 79.9897291,19.9367357 77.7230624,19.9442913 L77.717018,19.9442913 C77.3747513,19.9444843 77.037018,20.0221135 76.697018,20.0576246 L76.697018,13.4842913 L66.9368533,13.4680091 Z M29.005305,0 L29.298,0.008 L29.5508575,0.0108763774 C45.7056444,0.317224972 58.7344319,13.3639132 58.9959914,29.5062964 L59,30.0014077 C59,46.3046686 45.9731173,59.5850938 29.7707027,59.9873741 L29.0532461,60 C27.3844167,60 25.8686763,59.3426993 24.7519877,58.2727906 C23.7694096,59.0846931 22.5039335,59.5717416 21.1286197,59.5717416 C18.760475,59.5717416 16.7179903,58.127682 15.8774281,56.066954 C15.1111378,56.6164574 14.1689478,56.9388105 13.1571699,56.9388105 C10.622224,56.9388105 8.52409606,54.9153307 8.52409606,52.3638389 C8.52409606,51.4157795 8.81377357,50.5406199 9.30790202,49.8150788 C8.99324646,49.4998496 8.71896916,49.1446719 8.49282584,48.7582219 C7.77473749,49.257001 6.90055492,49.5478018 5.96398274,49.5478018 C3.55364136,49.5478018 1.55652527,47.62174 1.55652527,45.1904195 C1.55652527,44.2023301 1.88637136,43.2976899 2.43975032,42.5718653 C0.980192844,41.6751392 0,40.0793916 0,38.2397003 C0,36.6447057 0.736783726,35.2330768 1.88448778,34.3002922 C0.736783726,33.3688575 0,31.9572286 0,30.3622341 C0,28.7677103 0.736348853,27.3564439 1.88347162,26.4236521 C0.736348853,25.490558 0,24.0792916 0,22.4847679 C0,20.6987068 0.923877108,19.1425739 2.31407259,18.2312635 C1.76089446,17.4989418 1.43144287,16.5880812 1.43144287,15.5939977 C1.43144287,13.1293655 3.45655961,11.1762993 5.90144154,11.1762993 C6.94790474,11.1762993 7.91746577,11.5341065 8.68424127,12.136686 C8.89793591,11.7936421 9.15225942,11.4776252 9.43960568,11.1944765 C8.76909204,10.3846067 8.36399711,9.34689534 8.36399711,8.20759169 C8.36399711,5.57082556 10.5338038,3.47821725 13.1571699,3.47821725 C14.1236287,3.47821725 15.0285298,3.76222939 15.78606,4.25283053 C16.6649296,2.18693491 18.7339886,0.745238411 21.1286197,0.745238411 C22.4126044,0.745238411 23.6029861,1.15973056 24.5666323,1.86290588 C25.6944809,0.712963103 27.2668663,0 29.005305,0 Z",id:"branco"})))),_g2||(_g2=external_react_["createElement"]("g",{strokeWidth:.999,className:"logo-typo"},external_react_["createElement"]("path",{d:"M135.80352,37.7391202 L135.658831,39.5864535 C135.09972,39.7821424 134.506609,39.881498 133.913498,39.8803742 C132.489276,39.8803742 131.559942,39.3401424 131.299276,37.7232535 C130.369942,39.0983646 128.481053,39.8803742 126.614831,39.8803742 C123.883498,39.8803742 121.665942,38.5921424 121.665942,35.9514757 C121.665942,33.7528091 123.585053,32.0225869 127.332609,31.3803646 L131.185942,30.7343646 L131.185942,29.9259202 C131.185942,27.991698 129.96572,26.6883646 127.785942,26.6883646 C125.866831,26.6883646 124.416164,27.6252535 123.630387,29.4763646 L121.915276,28.2334757 C122.670831,26.0763646 124.963942,24.659698 127.770831,24.659698 C131.083942,24.659698 133.513053,26.2425869 133.513053,29.6463646 L133.513053,36.8619202 C133.513053,37.5645869 133.802053,37.9159202 134.616164,37.9159202 C135.009053,37.9124371 135.398164,37.8592535 135.77972,37.7621646 L135.80352,37.7391202 Z M131.194631,34.6640091 L131.194631,32.642898 L127.941964,33.2586757 C125.380631,33.7271202 124.088631,34.5771202 124.088631,35.9560091 C124.088631,37.1875646 125.074631,37.8297869 126.733076,37.8297869 C129.056409,37.8297869 131.190853,36.5982313 131.190853,34.6677869 L131.194631,34.6640091 Z M102.559076,32.2613424 C102.559076,37.0213424 99.9184089,39.8924535 95.5324089,39.8924535 C91.1464089,39.8924535 88.5057422,37.0137869 88.5057422,32.2613424 C88.5057422,27.5013424 91.1501867,24.6302313 95.5324089,24.6302313 C99.9146311,24.6302313 102.559076,27.4975646 102.559076,32.2613424 Z M90.8101867,32.2613424 C90.8101867,35.7482313 92.5819644,37.8524535 95.5324089,37.8524535 C98.4677422,37.8524535 100.254631,35.7444535 100.254631,32.2613424 C100.254631,28.7744535 98.4866311,26.6702313 95.5324089,26.6702313 C92.58952,26.6702313 90.8101867,28.7782313 90.8101867,32.2613424 Z M85.5590756,30.2213424 L85.5590756,39.5902313 L83.2357422,39.5902313 L83.2357422,31.0146757 C83.2357422,27.7620091 81.6641867,26.6702313 79.6619644,26.6702313 C77.5426311,26.6702313 75.1664089,28.0491202 75.1664089,31.8080091 L75.1664089,39.5902313 L72.8430756,39.5902313 L72.8430756,18.2080091 L75.1664089,18.2080091 L75.1664089,27.1613424 C76.1826311,25.4046757 77.9279644,24.6717869 79.8886311,24.6717869 C82.9977422,24.6615869 85.5552978,26.4511202 85.5552978,30.2251202 L85.5590756,30.2213424 Z M119.559076,32.2613424 C119.559076,37.0213424 116.971298,39.8924535 112.947964,39.8924535 C110.768187,39.8924535 109.019076,38.8346757 108.150187,37.3122313 L108.150187,45.7744535 L105.826853,45.7744535 L105.826853,24.958898 L107.863076,24.958898 L108.007764,27.508898 C108.850209,25.8391202 110.682431,24.6642313 112.994431,24.6642313 C117.036653,24.6642313 119.605542,27.508898 119.605542,32.2953424 L119.559076,32.2613424 Z M117.235742,32.2613424 C117.235742,28.8613424 115.520631,26.7080091 112.664631,26.7080091 C109.903076,26.7080091 108.09352,28.7895646 108.09352,32.1102313 L108.09352,32.4608091 C108.09352,35.7739202 109.89552,37.8630313 112.664631,37.8630313 C115.513076,37.8528313 117.235742,35.6870313 117.235742,32.309698 L117.235742,32.2613424 Z M146.381298,24.9324535 L145.916631,27.2180091 C145.346187,26.9467646 144.719076,26.8175646 144.088187,26.8364535 C142.342853,26.8364535 140.234853,28.3891202 140.234853,31.6720091 L140.234853,39.5675646 L137.91152,39.5675646 L137.91152,24.9097869 L139.800409,24.9097869 L140.12152,27.3124535 C140.922409,25.5255646 142.505298,24.6151202 144.768187,24.6151202 C145.315964,24.5946446 145.863742,24.693698 146.366187,24.9090313 L146.381298,24.9324535 Z M161.114631,37.7391202 L160.969942,39.5864535 C160.410831,39.7821424 159.81772,39.881498 159.224609,39.8803742 C157.800387,39.8803742 156.871053,39.3401424 156.610387,37.7232535 C155.681053,39.0983646 153.792164,39.8803742 151.925942,39.8803742 C149.194609,39.8803742 146.977053,38.5921424 146.977053,35.9514757 C146.977053,33.7528091 148.896164,32.0225869 152.64372,31.3803646 L156.497053,30.7343646 L156.497053,29.9259202 C156.497053,27.991698 155.276831,26.6883646 153.097053,26.6883646 C151.177942,26.6883646 149.727276,27.6252535 148.941498,29.4763646 L147.226387,28.2334757 C147.981942,26.0763646 150.275053,24.659698 153.081942,24.659698 C156.395053,24.659698 158.824164,26.2425869 158.824164,29.6463646 L158.824164,36.8619202 C158.824164,37.5645869 159.113164,37.9159202 159.927276,37.9159202 C160.320164,37.9124371 160.709276,37.8592535 161.090831,37.7621646 L161.114631,37.7391202 Z M156.505742,34.6640091 L156.505742,32.642898 L153.253076,33.2586757 C150.69552,33.7271202 149.399742,34.5771202 149.399742,35.9560091 C149.399742,37.1875646 150.385742,37.8297869 152.040409,37.8297869 C154.363742,37.8297869 156.498187,36.5982313 156.498187,34.6677869 L156.505742,34.6640091 Z",id:"texto"}))),_g3||(_g3=external_react_["createElement"]("g",{strokeWidth:.999,className:"logo-symbol"},external_react_["createElement"]("path",{d:"M31.005305,4 C31.0740593,4 31.1423099,4.00215222 31.2099927,4.00639281 L31.0469703,4.00547658 C45.9398623,4.04711075 58,16.1176476 58,31.0014077 C58,45.6825629 46.2659643,57.6265635 31.6535598,57.988975 L31.0532461,58 C29.2780404,58 27.8389518,56.5640031 27.8389518,54.7926111 C27.8389518,53.0823016 29.1805041,51.6846553 30.8708483,51.5902996 L31.046,51.585 L31.0464347,50.1855503 L30.8429259,50.1918749 C29.0677202,50.1918749 27.6286316,48.755878 27.6286316,46.984486 C27.6286316,45.2130941 29.0677202,43.7770972 30.8429259,43.7770972 C30.9112815,43.7770972 30.9791388,43.7792263 31.0464347,43.7834218 L31.0464347,42.2312259 L30.8429259,42.2375505 C29.0677202,42.2375505 27.6286316,40.8015536 27.6286316,39.0301616 C27.6286316,37.2587697 29.0677202,35.8227727 30.8429259,35.8227727 C30.9112815,35.8227727 30.9791388,35.8249019 31.0464347,35.8290973 L31.0464347,34.2769015 C30.9791388,34.2810969 30.9112815,34.2832261 30.8429259,34.2832261 C29.0677202,34.2832261 27.6286316,32.8472292 27.6286316,31.0758372 C27.6286316,29.3044452 29.0677202,27.8684483 30.8429259,27.8684483 L31.0464347,27.8747729 L31.0464347,26.3225771 C30.9791388,26.3267725 30.9112815,26.3289017 30.8429259,26.3289017 C29.0677202,26.3289017 27.6286316,24.8929047 27.6286316,23.1215128 C27.6286316,21.3501208 29.0677202,19.9141239 30.8429259,19.9141239 C30.9112815,19.9141239 30.9791388,19.916253 31.0464347,19.9204485 L31.0464347,18.3682527 L30.8429259,18.3745772 C29.0677202,18.3745772 27.6286316,16.9385803 27.6286316,15.1671884 C27.6286316,13.3957964 29.0677202,11.9597995 30.8429259,11.9597995 C30.9112815,11.9597995 30.9791388,11.9619286 31.0464347,11.9661241 L31.046,10.419 L31.005305,10.4202528 C29.2898504,10.4202528 27.8879995,9.08044012 27.7933599,7.39228766 L27.7882673,7.21012641 C27.7882673,5.43722255 29.2285841,4 31.005305,4 Z M23.1286197,52.3692605 C24.5978953,52.3692605 25.7889785,53.5338756 25.7889785,54.9705011 C25.7889785,56.4071266 24.5978953,57.5717416 23.1286197,57.5717416 C21.659344,57.5717416 20.4682608,56.4071266 20.4682608,54.9705011 C20.4682608,53.5338756 21.659344,52.3692605 23.1286197,52.3692605 Z M15.1571699,51.7888674 C16.0590917,51.7888674 16.7902437,52.4940061 16.7902437,53.3638389 C16.7902437,54.2336717 16.0590917,54.9388105 15.1571699,54.9388105 C14.2552481,54.9388105 13.5240961,54.2336717 13.5240961,53.3638389 C13.5240961,52.4940061 14.2552481,51.7888674 15.1571699,51.7888674 Z M23.1286197,43.9532642 C24.7618089,43.9532642 26.0857704,45.2478047 26.0857704,46.8447013 C26.0857704,48.441598 24.7618089,49.7361385 23.1286197,49.7361385 C21.4954304,49.7361385 20.1714689,48.441598 20.1714689,46.8447013 C20.1714689,45.2478047 21.4954304,43.9532642 23.1286197,43.9532642 Z M15.1571699,44.8330372 C16.4698081,44.8330372 17.5339116,45.8582157 17.5339116,47.1228374 C17.5339116,48.3874591 16.4698081,49.4126375 15.1571699,49.4126375 C13.8445317,49.4126375 12.7804282,48.3874591 12.7804282,47.1228374 C12.7804282,45.8582157 13.8445317,44.8330372 15.1571699,44.8330372 Z M7.96398274,44.8330372 C8.74130003,44.8330372 9.3714402,45.440758 9.3714402,46.1904195 C9.3714402,46.940081 8.74130003,47.5478018 7.96398274,47.5478018 C7.18666544,47.5478018 6.55652527,46.940081 6.55652527,46.1904195 C6.55652527,45.440758 7.18666544,44.8330372 7.96398274,44.8330372 Z M15.1571699,36.7018864 C16.6483427,36.7018864 17.8571771,37.8665014 17.8571771,39.3031269 C17.8571771,40.7397524 16.6483427,41.9043675 15.1571699,41.9043675 C13.6659971,41.9043675 12.4571627,40.7397524 12.4571627,39.3031269 C12.4571627,37.8665014 13.6659971,36.7018864 15.1571699,36.7018864 Z M23.1286197,36.117661 C24.7618089,36.117661 26.0857704,37.4122015 26.0857704,39.0090982 C26.0857704,40.6059948 24.7618089,41.9005353 23.1286197,41.9005353 C21.4954304,41.9005353 20.1714689,40.6059948 20.1714689,39.0090982 C20.1714689,37.4122015 21.4954304,36.117661 23.1286197,36.117661 Z M7.1857201,37.1317447 C8.39285998,37.1317447 9.3714402,38.0755086 9.3714402,39.2397003 C9.3714402,40.4038919 8.39285998,41.3476558 7.1857201,41.3476558 C5.97858022,41.3476558 5,40.4038919 5,39.2397003 C5,38.0755086 5.97858022,37.1317447 7.1857201,37.1317447 Z M15.1571699,28.8821759 C16.6483427,28.8821759 17.8571771,30.046791 17.8571771,31.4834165 C17.8571771,32.920042 16.6483427,34.084657 15.1571699,34.084657 C13.6659971,34.084657 12.4571627,32.920042 12.4571627,31.4834165 C12.4571627,30.046791 13.6659971,28.8821759 15.1571699,28.8821759 Z M23.1286197,28.2820579 C24.7618089,28.2820579 26.0857704,29.5765984 26.0857704,31.173495 C26.0857704,32.7703916 24.7618089,34.0649322 23.1286197,34.0649322 C21.4954304,34.0649322 20.1714689,32.7703916 20.1714689,31.173495 C20.1714689,29.5765984 21.4954304,28.2820579 23.1286197,28.2820579 Z M7.1857201,29.2542785 C8.39285998,29.2542785 9.3714402,30.1980424 9.3714402,31.3622341 C9.3714402,32.5264257 8.39285998,33.4701896 7.1857201,33.4701896 C5.97858022,33.4701896 5,32.5264257 5,31.3622341 C5,30.1980424 5.97858022,29.2542785 7.1857201,29.2542785 Z M15.1571699,21.0624655 C16.6483427,21.0624655 17.8571771,22.2270805 17.8571771,23.663706 C17.8571771,25.1003315 16.6483427,26.2649466 15.1571699,26.2649466 C13.6659971,26.2649466 12.4571627,25.1003315 12.4571627,23.663706 C12.4571627,22.2270805 13.6659971,21.0624655 15.1571699,21.0624655 Z M23.1286197,20.4464547 C24.7618089,20.4464547 26.0857704,21.7409952 26.0857704,23.3378919 C26.0857704,24.9347885 24.7618089,26.229329 23.1286197,26.229329 C21.4954304,26.229329 20.1714689,24.9347885 20.1714689,23.3378919 C20.1714689,21.7409952 21.4954304,20.4464547 23.1286197,20.4464547 Z M7.1857201,21.3768123 C8.39285998,21.3768123 9.3714402,22.3205762 9.3714402,23.4847679 C9.3714402,24.6489596 8.39285998,25.5927234 7.1857201,25.5927234 C5.97858022,25.5927234 5,24.6489596 5,23.4847679 C5,22.3205762 5.97858022,21.3768123 7.1857201,21.3768123 Z M23.1286197,12.6108516 C24.7618089,12.6108516 26.0857704,13.9053921 26.0857704,15.5022887 C26.0857704,17.0991853 24.7618089,18.3937258 23.1286197,18.3937258 C21.4954304,18.3937258 20.1714689,17.0991853 20.1714689,15.5022887 C20.1714689,13.9053921 21.4954304,12.6108516 23.1286197,12.6108516 Z M15.1571699,13.6762951 C16.3998139,13.6762951 17.4071759,14.6468077 17.4071759,15.8439956 C17.4071759,17.0411835 16.3998139,18.0116961 15.1571699,18.0116961 C13.9145259,18.0116961 12.9071639,17.0411835 12.9071639,15.8439956 C12.9071639,14.6468077 13.9145259,13.6762951 15.1571699,13.6762951 Z M7.90144154,15.1762993 C8.71329938,15.1762993 9.3714402,15.8110245 9.3714402,16.5939977 C9.3714402,17.3769709 8.71329938,18.0116961 7.90144154,18.0116961 C7.08958369,18.0116961 6.43144287,17.3769709 6.43144287,16.5939977 C6.43144287,15.8110245 7.08958369,15.1762993 7.90144154,15.1762993 Z M15.1571699,7.47821725 C16.1475119,7.47821725 16.9503427,8.25248456 16.9503427,9.20759169 C16.9503427,10.1626988 16.1475119,10.9369661 15.1571699,10.9369661 C14.1668279,10.9369661 13.3639971,10.1626988 13.3639971,9.20759169 C13.3639971,8.25248456 14.1668279,7.47821725 15.1571699,7.47821725 Z M23.1286197,4.74523841 C24.6723059,4.74523841 25.9237108,5.96883472 25.9237108,7.47821725 C25.9237108,8.98759979 24.6723059,10.2111961 23.1286197,10.2111961 C21.5849335,10.2111961 20.3335285,8.98759979 20.3335285,7.47821725 C20.3335285,5.96883472 21.5849335,4.74523841 23.1286197,4.74523841 Z",id:"simbolo"}))))}const ForwardRef=external_react_["forwardRef"](SvgLogoMediumOutline);var logo_medium_outline=__webpack_require__.p+"static/media/logo-medium-outline.96d20e5a.svg";var jsx_runtime_=__webpack_require__(4);const AttributionFooterView=Object(theme["a"])("div",{name:"AttributionFooterView"})({bottom:0,boxSizing:"border-box",left:0,padding:"6px 12px",display:"flex",alignItems:"center",justifyContent:"space-between",pointerEvents:"none",position:"absolute",right:0,gap:6});const AttributionFooterLogo=Object(theme["a"])(ForwardRef,{name:"AttributionFooterLogo"})((_ref=>{let{theme}=_ref;return{fill:theme.palette.mode==="dark"?"#ddd":"#555",maxWidth:77,maxHeight:28,opacity:.85,":nth-of-type(1n) .logo-stroke":{opacity:theme.palette.mode==="dark"?"inherit":.9,fill:theme.palette.mode==="dark"?"#555":"#fff"}}}));const AttributionFooterLinks=Object(theme["a"])("div",{name:"AttributionFooterLinks"})({alignItems:"center",fontSize:9,pointerEvents:"auto",padding:"3px 6px",color:"#343434",backgroundColor:"rgba(255, 255, 255, 0.5)",borderRadius:2,textAlign:"right",backdropFilter:"blur(10px)"});const AttributionFooterLogoLink=Object(theme["a"])("a",{name:"AttributionFooterLogoLink"})({display:"inline-block",lineHeight:0});const AttributionFooterLink=Object(theme["a"])("a",{name:"AttributionFooterLink"})((_ref2=>{let{theme}=_ref2;return{textDecoration:"none",display:"inline",color:theme.palette.mode==="dark"?"#ccc":"#333"}}));class AttributionFooter_AttributionFooter extends external_react_["PureComponent"]{render(){return Object(jsx_runtime_["jsxs"])(AttributionFooterView,{children:[Object(jsx_runtime_["jsx"])(AttributionFooterLogoLink,{href:"https://hopara.io",target:"_blank",rel:"noreferrer",children:Object(jsx_runtime_["jsx"])(AttributionFooterLogo,{})}),this.props.showMapAttribution&&!this.props.isArcGISMap&&Object(jsx_runtime_["jsxs"])(AttributionFooterLinks,{children:["© ",Object(jsx_runtime_["jsx"])(AttributionFooterLink,{href:"https://www.maptiler.com/copyright",target:"_blank",rel:"noreferrer",children:"MapTiler"})," © ",Object(jsx_runtime_["jsx"])(AttributionFooterLink,{href:"http://www.openstreetmap.org/copyright",target:"_blank",rel:"noreferrer",children:"OpenStreetMap contributors"})]}),this.props.showMapAttribution&&this.props.isArcGISMap&&Object(jsx_runtime_["jsxs"])(AttributionFooterLinks,{children:["Esri, Maxar, GeoEye, Earthstar Geographics, AeroGRID, IGN, CNES/Airbus DS, USDA, USGS, HERE, Garmin, FAO, NOAA, USGS, © OpenStreetMap contributors, and the GIS User Community | Powered by "," ",Object(jsx_runtime_["jsx"])(AttributionFooterLink,{href:"https://www.esri.com/",target:"_blank",rel:"noreferrer",children:"Esri"})]})]})}}var PureComponent=__webpack_require__(32);var projector_src=__webpack_require__(39);var fp_=__webpack_require__(2);var external_maplibre_gl_=__webpack_require__(119);var external_maplibre_gl_default=__webpack_require__.n(external_maplibre_gl_);var external_react_map_gl_=__webpack_require__(120);var external_react_map_gl_default=__webpack_require__.n(external_react_map_gl_);var DataComparator=__webpack_require__(64);var Factory=__webpack_require__(95);var MapStyle=__webpack_require__(58);class DeckView_DeckView extends PureComponent["a"]{constructor(props){var _props$visualization;super(props);this.deckgl=void 0;this.viewLayerCache=void 0;this.visualizationId=void 0;this.renderMap=void 0;this.previousViewLayers=void 0;this.usePreviousViewLayers=void 0;this.previousLastModified=void 0;this.previousRows=void 0;this.viewLayerFilter=void 0;this.cacheStore=new Map;this.dataComparator=void 0;this.onViewZoomingDebounced=void 0;this.zoomStep=.5;this.mapRef=external_react_default.a.createRef();this.state={isHoveringLayer:false,isItemDragging:false,isViewDragging:false};this.viewLayerCache=new Map;this.deckgl=external_react_default.a.createRef();this.visualizationId=(_props$visualization=props.visualization)===null||_props$visualization===void 0?void 0:_props$visualization.id;this.renderMap=false;this.previousRows={};this.dataComparator=new DataComparator["a"];this.onViewZoomingDebounced=Object(fp_["debounce"])(500,(e=>props.onViewZooming&&props.onViewZooming(e)))}getCursor(_ref){let{isDragging}=_ref;const selectedRow=this.state.draggingRow||this.props.selectedRow;if(selectedRow&&this.state.isItemDragging)return"grabbing";else if(!selectedRow&&isDragging)return"grabbing";else if(this.state.isHoveringLayer)return"pointer";return"grab"}shouldUseViewStateFromProps(){return this.props.viewState.visualizationId===this.visualizationId&&this.props.viewState.isNewerThan(this.state.viewState)}getViewState(){if(this.shouldUseViewStateFromProps()){return this.props.viewState}return this.state.viewState}getRowProjector(rowset){return rowset&&this.props.projector?new projector_src["d"](this.props.projector,rowset.scales):undefined}onLayerHover(info){if(!info&&this.state.isHoveringLayer)this.setState({isHoveringLayer:false});else if(info&&!this.state.isHoveringLayer)this.setState({isHoveringLayer:true});this.props.onLayerHover(info)}onLayerDrag(info){var _info$cursorDisplacem,_this$state$draggingR;if(!info||!info.editable||!this.props.editingLayerId||info.row._id===undefined)return;this.setState({draggingRow:{layerId:info.layerId,rowsetId:info.rowsetId,updatingRow:{...info.row,...info.updatedData},cursorDisplacement:(_info$cursorDisplacem=info.cursorDisplacement)!==null&&_info$cursorDisplacem!==void 0?_info$cursorDisplacem:(_this$state$draggingR=this.state.draggingRow)===null||_this$state$draggingR===void 0?void 0:_this$state$draggingR.cursorDisplacement}})}onLayerDragStart(info){if(!info||!info.editable||!this.props.editingLayerId)return;if(this.props.editingLayerId&&info!==null&&info!==void 0&&info.editable||info.row._id!==undefined){this.setState({isItemDragging:true,draggingRow:{layerId:info.layerId,rowsetId:info.rowsetId,updatingRow:{...info.row,...info.updatedData},cursorDisplacement:info.cursorDisplacement}})}return this.props.onLayerDragStart(info)}onLayerDragEnd(info,keepSelected){this.setState({isItemDragging:false,draggingRow:undefined},(()=>{if(!this.props.editingLayerId||!(info!==null&&info!==void 0&&info.editable))return;const rowset=this.props.rowsetStore.getRowset(info.rowsetId);const rowProjector=this.getRowProjector(rowset);const unprojectedInfo={...info,updatedData:rowProjector===null||rowProjector===void 0?void 0:rowProjector.unprojectRow(info.updatedData)};return this.props.onLayerDragEnd&&this.props.onLayerDragEnd(unprojectedInfo,keepSelected)}))}onLayerEdit(info){return this.onLayerDrag(info)}onLayerEditEnd(info){return this.onLayerDragEnd(info,true)}getZoom(){var _this$props$viewState;return Number((_this$props$viewState=this.props.viewState)===null||_this$props$viewState===void 0?void 0:_this$props$viewState.zoom.toFixed(2))}getBearing(){var _this$props$viewState2;return(_this$props$viewState2=this.props.viewState)===null||_this$props$viewState2===void 0?void 0:_this$props$viewState2.bearing}getVisibleWorld(){var _this$props$viewState3;return(_this$props$viewState3=this.props.viewState)===null||_this$props$viewState3===void 0?void 0:_this$props$viewState3.getVisibleWorld(this.props.world)}getWorldDimensions(){return this.props.world?this.props.world.getDimensions():undefined}getSelectedRow(){var _this$props$selectedR;if(this.state.draggingRow)return this.state.draggingRow;if(!((_this$props$selectedR=this.props.selectedRow)!==null&&_this$props$selectedR!==void 0&&_this$props$selectedR.rowsetId))return;const rowset=this.props.rowsetStore.getRowset(this.props.selectedRow.rowsetId);const rowProjector=this.getRowProjector(rowset);const updatingRow=rowProjector?rowProjector.projectRow(this.props.selectedRow.updatingRow):this.props.selectedRow.updatingRow;return{...this.props.selectedRow,updatingRow}}getThemeMode(){var _this$props$visualiza,_this$props$visualiza2;return(_this$props$visualiza=this.props.visualization)!==null&&_this$props$visualiza!==void 0&&_this$props$visualiza.getMapStyle()&&Object(MapStyle["d"])((_this$props$visualiza2=this.props.visualization)===null||_this$props$visualiza2===void 0?void 0:_this$props$visualiza2.getMapStyle())?"dark":"light"}getProjectedRows(){return this.props.rowsetStore.getRowsets().reduce(((prev,rowset)=>{var _this$previousRows$ro,_rowset$rows;const rowsChanged=((_this$previousRows$ro=this.previousRows[rowset.getId()])===null||_this$previousRows$ro===void 0?void 0:_this$previousRows$ro.etag)!==((_rowset$rows=rowset.rows)===null||_rowset$rows===void 0?void 0:_rowset$rows.etag);if(!rowsChanged){return{...prev,[rowset.getId()]:this.previousRows[rowset.getId()]}}const rowProjector=this.getRowProjector(rowset);const rows=rowProjector?rowProjector.project(rowset.rows,true):new src["k"];this.previousRows[rowset.getId()]=rows;return{...prev,[rowset.getId()]:rows}}),{})}doGetViewLayers(){var _this$props$world;const{visualization,queries,rowsetStore,editingLayerId}=this.props;if(!visualization)return[];return Object(Factory["a"])({visualization,editingLayerId,zoom:this.getZoom(),visibleWorldBox:this.getVisibleWorld(),world:this.props.world,viewState:this.props.viewState,queries,rowsetStore,dragging:this.state.isItemDragging,layers:this.props.layers,projectedRows:this.getProjectedRows(),selectedRow:this.getSelectedRow(),themeMode:this.getThemeMode(),cacheStore:this.cacheStore,scaleDomains:(_this$props$world=this.props.world)===null||_this$props$world===void 0?void 0:_this$props$world.getMaximizedScaleDomains(),zoomBehavior:this.props.viewState.zoomBehavior,dataComparator:this.dataComparator,authorization:this.props.authorization,uploadedResource:this.props.uploadedResource,maxTextureSize:this.props.webGLMaxTextureSize,onResourceDownloadProgressChange:this.props.onResourceDownloadProgressChange,onClick:this.props.onLayerClick,onDrag:this.onLayerDrag.bind(this),onHover:this.onLayerHover.bind(this),onDragStart:this.onLayerDragStart.bind(this),onDragEnd:this.onLayerDragEnd.bind(this),onEdit:this.onLayerEdit.bind(this),onEditEnd:this.onLayerEditEnd.bind(this)})}getMostRecentLayerLastModified(){return Math.max(...this.props.layers.map((layer=>{var _layer$lastModified;return(_layer$lastModified=layer.lastModified)===null||_layer$lastModified===void 0?void 0:_layer$lastModified.getMilliseconds()})))}wasLayerModified(){return!!this.previousLastModified&&this.previousLastModified!==this.getMostRecentLayerLastModified()}getViewLayers(){if(this.usePreviousViewLayers&&this.previousViewLayers&&!this.wasLayerModified()){return this.previousViewLayers}const viewLayers=this.doGetViewLayers();this.previousViewLayers=viewLayers;this.previousLastModified=this.getMostRecentLayerLastModified();return viewLayers}getZoomDirection(event){var _event$oldViewState,_event$viewState;const oldValue=(_event$oldViewState=event.oldViewState)===null||_event$oldViewState===void 0?void 0:_event$oldViewState.zoom;const currentValue=(_event$viewState=event.viewState)===null||_event$viewState===void 0?void 0:_event$viewState.zoom;if(currentValue-oldValue>0)return"in";return"out"}nextZoomStep(zoom){if(Number.isInteger(zoom))return zoom+this.zoomStep;return Math.ceil(zoom*(1/this.zoomStep))/(1/this.zoomStep)}prevZoomStep(zoom){if(Number.isInteger(zoom))return zoom-this.zoomStep;return Math.floor(zoom*(1/this.zoomStep))/(1/this.zoomStep)}shouldNotifyZooming(event){var _event$oldViewState3,_event$viewState3;if(this.getZoomDirection(event)==="in"){var _event$oldViewState2,_event$viewState2;const stateNextStep=this.nextZoomStep((_event$oldViewState2=event.oldViewState)===null||_event$oldViewState2===void 0?void 0:_event$oldViewState2.zoom);const eventNextStep=this.nextZoomStep((_event$viewState2=event.viewState)===null||_event$viewState2===void 0?void 0:_event$viewState2.zoom);return stateNextStep!=eventNextStep}const statePrevStep=this.prevZoomStep((_event$oldViewState3=event.oldViewState)===null||_event$oldViewState3===void 0?void 0:_event$oldViewState3.zoom);const eventPrevStep=this.prevZoomStep((_event$viewState3=event.viewState)===null||_event$viewState3===void 0?void 0:_event$viewState3.zoom);return statePrevStep!==eventPrevStep}getViews(){return[]}getViewController(){var _this$props$viewContr,_this$props$viewContr2;if(((_this$props$viewContr=this.props.viewController)!==null&&_this$props$viewContr!==void 0&&_this$props$viewContr.dragPan||(_this$props$viewContr2=this.props.viewController)!==null&&_this$props$viewContr2!==void 0&&_this$props$viewContr2.dragRotate)&&this.state.isItemDragging){const controller=this.props.viewController.clone();controller.dragPan=!this.state.isItemDragging;controller.dragRotate=!this.state.isItemDragging;return controller}return this.props.viewController}notifyViewZooming(event){if(!this.props.onViewZooming)return;if(this.shouldNotifyZooming(event)){if(this.onViewZoomingDebounced.cancel)this.onViewZoomingDebounced.cancel();this.props.onViewZooming(event,this.getViewState())}else{this.onViewZoomingDebounced(event,this.getViewState())}}onViewStateChange(event){var _this$props$visualiza3,_event$interactionSta;if(((_this$props$visualiza3=this.props.visualization)===null||_this$props$visualiza3===void 0?void 0:_this$props$visualiza3.id)!==this.visualizationId||!this.props.world)return;if(event.interactionState.isZooming&&!((_event$interactionSta=event.interactionState)!==null&&_event$interactionSta!==void 0&&_event$interactionSta.inTransition)){this.notifyViewZooming(event)}this.setState({viewState:this.props.viewState.withDeckViewState(this.props.world,event.viewState)})}onViewHover(info){var _info$layer,_info$layer$props,_info$layer2,_info$layer2$props;if(!(info!==null&&info!==void 0&&(_info$layer=info.layer)!==null&&_info$layer!==void 0&&(_info$layer$props=_info$layer.props)!==null&&_info$layer$props!==void 0&&_info$layer$props.pickable)&&this.state.isHoveringLayer)return this.setState({isHoveringLayer:false});if(this.props.editingLayerId&&(_info$layer2=info.layer)!==null&&_info$layer2!==void 0&&(_info$layer2$props=_info$layer2.props)!==null&&_info$layer2$props!==void 0&&_info$layer2$props.editable)return;return this.props.onViewHover&&this.props.onViewHover(info)}onViewClick(info){var _info$layer3,_info$layer3$props;if(this.props.editingLayerId&&(_info$layer3=info.layer)!==null&&_info$layer3!==void 0&&(_info$layer3$props=_info$layer3.props)!==null&&_info$layer3$props!==void 0&&_info$layer3$props.editable)return;return this.props.onViewClick&&this.props.onViewClick(info)}onViewDragStart(info){var _info$layer4,_info$layer4$props;if(this.props.editingLayerId&&(_info$layer4=info.layer)!==null&&_info$layer4!==void 0&&(_info$layer4$props=_info$layer4.props)!==null&&_info$layer4$props!==void 0&&_info$layer4$props.editable&&this.state.isItemDragging)return;this.setState({isViewDragging:true});return this.props.onViewDragStart&&this.props.onViewDragStart(info)}onViewDragEnd(info){var _this$getViewState;if(!this.state.isViewDragging)return;if(this.props.onViewDragEnd)this.props.onViewDragEnd(info,(_this$getViewState=this.getViewState())===null||_this$getViewState===void 0?void 0:_this$getViewState.getDeckViewState(this.props.world));this.setState({isViewDragging:false})}UNSAFE_componentWillUpdate(nextProps,nextState){this.usePreviousViewLayers=nextState.viewState!==this.state.viewState&&nextProps===this.props&&this.state.draggingRow===nextState.draggingRow}onViewLoad(){const dimensions={width:this.deckgl.current.deck.width,height:this.deckgl.current.deck.height};const viewState=this.deckgl.current.deck.props.viewState;this.props.onViewLoad(dimensions,viewState)}getEffects(){return[]}getPickingRadius(){return 0}render(){var _this$getViewState2,_this$props$visualiza4,_this$props$visualiza5,_this$props$visualiza6,_this$props$visualiza7;const deckViewState=(_this$getViewState2=this.getViewState())===null||_this$getViewState2===void 0?void 0:_this$getViewState2.getDeckViewState(this.props.world);if(!this.props.visualization||!deckViewState)return null;return Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:[Object(jsx_runtime_["jsx"])(typed_default.a,{ref:this.deckgl,viewState:deckViewState,views:this.getViews(),layers:this.getViewLayers(),onLoad:this.onViewLoad.bind(this),onResize:size=>this.props.onViewResize&&this.props.onViewResize(size),onHover:this.onViewHover.bind(this),layerFilter:this.viewLayerFilter,onClick:this.onViewClick.bind(this),onDragStart:this.onViewDragStart.bind(this),onDragEnd:this.onViewDragEnd.bind(this),onViewStateChange:event=>this.onViewStateChange(event),getCursor:this.getCursor.bind(this),effects:this.getEffects(),pickingRadius:this.getPickingRadius(),children:this.renderMap&&((_this$props$visualiza4=this.props.visualization)===null||_this$props$visualiza4===void 0?void 0:_this$props$visualiza4.mapStyle)!==MapStyle["a"].none&&Object(jsx_runtime_["jsx"])(external_react_map_gl_default.a,{ref:this.mapRef,minZoom:deckViewState.minZoom,maxZoom:deckViewState.maxZoom,reuseMaps:true,mapLib:external_maplibre_gl_default.a,mapStyle:Object(MapStyle["b"])((_this$props$visualiza5=this.props.visualization)===null||_this$props$visualiza5===void 0?void 0:_this$props$visualiza5.mapStyle),interactive:false,attributionControl:false})}),Object(jsx_runtime_["jsx"])(AttributionFooter_AttributionFooter,{showMapAttribution:!!((_this$props$visualiza6=this.props.visualization)!==null&&_this$props$visualiza6!==void 0&&_this$props$visualiza6.mapStyle),isArcGISMap:Object(MapStyle["c"])((_this$props$visualiza7=this.props.visualization)===null||_this$props$visualiza7===void 0?void 0:_this$props$visualiza7.mapStyle)})]})}}var view_DeckView=__webpack_exports__["a"]=DeckView_DeckView},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return DataComparator_DataComparator}));var AnimatedLayerFactory=__webpack_require__(36);class RenderController_RenderController{constructor(){this._shouldRender=true;this.params={}}shouldRender(){return this._shouldRender}update(params){if(!params.cacheKey){this._shouldRender=false;return}this._shouldRender=params.cacheKey!==this.params.cacheKey||params.encoding&&AnimatedLayerFactory["a"].hasAnimations(params.encoding)||this.params.selectedRow!==params.selectedRow||this.params.lastModified!==params.lastModified;this.params=params}}class DataComparator_DataComparator{constructor(){this.renderControllers={}}getRenderController(layerId){if(!this.renderControllers[layerId]){this.renderControllers[layerId]=new RenderController_RenderController}return this.renderControllers[layerId]}update(layerId,params){const controller=this.getRenderController(layerId);controller.update(params)}isEqual(layerId){const controller=this.getRenderController(layerId);return!controller.shouldRender()}}},function(module,__webpack_exports__,__webpack_require__){"use strict";var typesafe_actions__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(1);var typesafe_actions__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(typesafe_actions__WEBPACK_IMPORTED_MODULE_0__);const actions={hocLoaded:Object(typesafe_actions__WEBPACK_IMPORTED_MODULE_0__["createAction"])("HOC_LOADED")(),hocUpdated:Object(typesafe_actions__WEBPACK_IMPORTED_MODULE_0__["createAction"])("HOC_UPDATED")()};__webpack_exports__["a"]=actions},function(module,exports){module.exports=require("@turf/bearing")},function(module,exports){module.exports=require("dayjs")},function(module,exports){module.exports=require("@mui/material/styles")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return getCoordinates}));var core_=__webpack_require__(22);var fp_=__webpack_require__(2);var OrthographicView=__webpack_require__(56);var Visualization=__webpack_require__(30);var src=__webpack_require__(8);function getPosition(coordinates,zoom,bearing){const position={coordinates:new src["c"],zoom:0,bearing:0};if(zoom){position.zoom=zoom}if(coordinates){position.coordinates=coordinates}if(bearing){position.bearing=bearing}return position}var World=__webpack_require__(34);var ZoomRange=__webpack_require__(42);var Paddings=__webpack_require__(89);var external_math_gl_=__webpack_require__(57);var web_mercator_=__webpack_require__(79);const DEGREES_TO_RADIANS=Math.PI/180;function getViewMatrix(_ref){let{height,focalDistance,orbitAxis,rotationX,rotationOrbit,zoom}=_ref;const up=orbitAxis==="Z"?[0,0,1]:[0,1,0];const eye=orbitAxis==="Z"?[0,-focalDistance,0]:[0,0,focalDistance];const viewMatrix=(new external_math_gl_["Matrix4"]).lookAt({eye,up});viewMatrix.rotateX(rotationX*DEGREES_TO_RADIANS);if(orbitAxis==="Z"){viewMatrix.rotateZ(rotationOrbit*DEGREES_TO_RADIANS)}else{viewMatrix.rotateY(rotationOrbit*DEGREES_TO_RADIANS)}const projectionScale=Math.pow(2,zoom)/height;viewMatrix.scale(projectionScale);return viewMatrix}class OrbitViewport_OrbitViewport extends core_["Viewport"]{constructor(props){const{height,projectionMatrix,fovy=50,orbitAxis="Z",target=[0,0,0],rotationX=0,rotationOrbit=0,zoom=0}=props;const focalDistance=projectionMatrix?projectionMatrix[5]/2:Object(web_mercator_["fovyToAltitude"])(fovy);super({...props,longitude:undefined,viewMatrix:getViewMatrix({height:height||1,focalDistance,orbitAxis,rotationX,rotationOrbit,zoom}),fovy,focalDistance,position:target,zoom});this.projectedCenter=void 0;this.projectedCenter=this.project(this.center)}unproject(xyz){let{topLeft=true}=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};const[x,y,z=this.projectedCenter[2]]=xyz;const y2=topLeft?y:this.height-y;const[X,Y,Z]=Object(web_mercator_["pixelsToWorld"])([x,y2,z],this.pixelUnprojectionMatrix);return[X,Y,Z]}panByPosition(coords,pixel){const p0=this.project(coords);const nextCenter=[this.width/2+p0[0]-pixel[0],this.height/2+p0[1]-pixel[1],this.projectedCenter[2]];return{target:this.unproject(nextCenter)}}}var OrbitViewComponent=__webpack_require__(90);const getCoordinates=(previousCoordinates,visualization,viewDimensions)=>{if(previousCoordinates&&!previousCoordinates.isAtOrigin())return previousCoordinates;if(!visualization||!viewDimensions)return;if(visualization.getInitialCoordinates().default&&visualization.type===World["b"].CARTESIAN&&viewDimensions){return new src["c"]({x:viewDimensions.width/2,y:viewDimensions.height/2})}return visualization.getInitialCoordinates()};class ViewState_ViewState{constructor(props){this.visualizationId=void 0;this.coordinates=void 0;this.zoom=void 0;this.zoomRange=void 0;this.bearing=void 0;this._initialPosition=void 0;this._lastModified=void 0;this.transitioning=void 0;this.transitionDuration=void 0;this.preventTransitionInterruption=void 0;this.zoomBehavior=void 0;this.rotationOrbit=void 0;this.rotationX=void 0;this.normalizedViewPortCache=void 0;Object.assign(this,props);if(props){const position=getPosition(props.coordinates,props.zoom,props.bearing);Object.assign(this,props,position);if(!this._initialPosition){this._initialPosition=position}}if(!this.coordinates)this.coordinates=new src["c"]({x:0,y:0});if(!this.zoomRange||!this.zoomRange.getMin()&&!this.zoomRange.getMax()){this.zoomRange=new ZoomRange["a"]({min:{fixed:{value:0}},max:{fixed:{value:20}}})}if(!this.zoom)this.zoom=0;if(!this.bearing)this.bearing=0}getDeckViewState(world){var _world$getDimensions,_world$getDimensions2;const deckViewState={pitch:0,bearing:this.bearing,minZoom:this.getMinZoom(),maxZoom:this.getMaxZoom(),x:this.coordinates.x,y:this.coordinates.y,longitude:(world===null||world===void 0?void 0:world.isGeo())&&this.coordinates.x,latitude:(world===null||world===void 0?void 0:world.isGeo())&&this.coordinates.y,target:this.coordinates.toArray(),zoom:this.zoom,height:world===null||world===void 0?void 0:(_world$getDimensions=world.getDimensions())===null||_world$getDimensions===void 0?void 0:_world$getDimensions.height,width:world===null||world===void 0?void 0:(_world$getDimensions2=world.getDimensions())===null||_world$getDimensions2===void 0?void 0:_world$getDimensions2.width,rotationOrbit:this.rotationOrbit,rotationX:this.rotationX,orbitAxis:world!==null&&world!==void 0&&world.isOrbit()?OrbitViewComponent["a"]:undefined};if(this.transitioning&&world){return{...this.getTransitionProps(world),...deckViewState}}return deckViewState}clone(){return new ViewState_ViewState({...this,normalizedViewPortCache:null,transitioning:false,_lastModified:Date.now(),preventTransitionInterruption:false})}getInterpolator(world){if(world.isGeo()){return new core_["FlyToInterpolator"]}else{return new core_["LinearInterpolator"](["target","zoom"])}}getTransitionProps(world){var _this$transitionDurat;return{transitionInterpolator:this.getInterpolator(world),transitionDuration:(_this$transitionDurat=this.transitionDuration)!==null&&_this$transitionDurat!==void 0?_this$transitionDurat:500,transitionInterruption:this.preventTransitionInterruption?core_["TRANSITION_EVENTS"].IGNORE:undefined}}transition(position,duration,preventTransitionInterruption){var _position$zoom,_position$bearing;const cloned=this.clone();cloned.zoom=(_position$zoom=position.zoom)!==null&&_position$zoom!==void 0?_position$zoom:this.zoom;cloned.bearing=(_position$bearing=position.bearing)!==null&&_position$bearing!==void 0?_position$bearing:this.bearing;cloned.coordinates=position.coordinates;cloned.transitioning=true;cloned.transitionDuration=duration!==null&&duration!==void 0?duration:1e3;cloned.preventTransitionInterruption=!!preventTransitionInterruption;return cloned}zoomTransition(zoom){const cloned=this.clone();if(zoom<=this.getMinZoom()){cloned.zoom=this.getMinZoom()}else if(zoom>=this.getMaxZoom()){cloned.zoom=this.getMaxZoom()}else{cloned.zoom=zoom}cloned.transitioning=true;return cloned}addZoom(zoomStep){return this.zoomTransition(this.zoom+zoomStep)}getOrtographicViewPortProps(world,deckViewState){var _world$getDimensions3,_world$getDimensions4;const paddings=Object(Paddings["a"])(world);return{...deckViewState,flipY:false,x:paddings.viewHorizontalPadding+(world===null||world===void 0?void 0:world.getPaddingLeft())/2,y:paddings.axesVerticalPadding,fixedX:this.zoomBehavior.x===Visualization["b"].FIXED,fixedY:this.zoomBehavior.y===Visualization["b"].FIXED,translationMatrix:[paddings.viewHorizontalPadding+paddings.axesHorizontalPadding/2,paddings.viewVertialPadding+paddings.axesVerticalPadding/2,0],initialCoordinates:this._initialPosition.coordinates,height:world===null||world===void 0?void 0:(_world$getDimensions3=world.getDimensions())===null||_world$getDimensions3===void 0?void 0:_world$getDimensions3.height,width:world===null||world===void 0?void 0:(_world$getDimensions4=world.getDimensions())===null||_world$getDimensions4===void 0?void 0:_world$getDimensions4.width}}createViewPort(world,deckViewState){if(world.isGeo())return new core_["WebMercatorViewport"](deckViewState);if(world.isOrbit())return new OrbitViewport_OrbitViewport(deckViewState);return new OrthographicView["a"](this.getOrtographicViewPortProps(world,deckViewState))}getViewPort(world,deckViewState){return this.createViewPort(world,deckViewState!==null&&deckViewState!==void 0?deckViewState:this.getDeckViewState(world))}getNormalizedViewPort(world){if(this.normalizedViewPortCache){return this.normalizedViewPortCache}const deckViewState=Object(fp_["omit"])(["width","height"],this.getDeckViewState(world));const normalizedDeckViewState={...deckViewState,bearing:0};this.normalizedViewPortCache=this.createViewPort(world,normalizedDeckViewState);return this.normalizedViewPortCache}getVisibleWorldOrigin(world){const dimensions=world.getDimensions();return src["c"].fromArray(this.getNormalizedViewPort(world).unproject([dimensions&&-dimensions.width/2,dimensions&&-dimensions.height/2],{topLeft:false}))}getVisibleWorldTopRight(world){const dimensions=world.getDimensions();return src["c"].fromArray(this.getNormalizedViewPort(world).unproject([dimensions&&dimensions.width/2,dimensions&&dimensions.height/2],{topLeft:false}))}getVisibleWorldDimensions(world){const origin=this.getVisibleWorldOrigin(world);const topRight=this.getVisibleWorldTopRight(world);return{width:Math.abs(topRight.x-origin.x),height:Math.abs(topRight.y-origin.y)}}getVisibleWorld(world){if(!(world!==null&&world!==void 0&&world.getDimensions()))return;const worldOrigin=this.getVisibleWorldOrigin(world);const worldTopRight=this.getVisibleWorldTopRight(world);return new src["b"]({x:new src["e"]({min:Math.min(worldOrigin.x,worldTopRight.x),max:Math.max(worldOrigin.x,worldTopRight.x)}),y:new src["e"]({min:Math.min(worldOrigin.y,worldTopRight.y),max:Math.max(worldOrigin.y,worldTopRight.y)}),z:new src["e"]({min:this.coordinates.z,max:this.coordinates.z})})}unprojectCoordinateWithTargetZoom(world,coordinate,targetZoom){const viewport=this.getViewPort(world);const targetCoordinate=viewport.unproject(coordinate);const deckViewState=this.getDeckViewState(world);deckViewState.zoom=targetZoom;deckViewState.target=[targetCoordinate[0],targetCoordinate[1],this.coordinates.z];deckViewState.x=targetCoordinate[0];deckViewState.y=targetCoordinate[1];if(world.isGeo()){deckViewState.longitude=targetCoordinate[0];deckViewState.latitude=targetCoordinate[1]}const zoomedViewport=this.getViewPort(world,deckViewState);return zoomedViewport.unproject(coordinate)}unprojectCoordinate(world,coordinate,targetZoom){if(!Object(fp_["isNil"])(targetZoom)){return this.unprojectCoordinateWithTargetZoom(world,coordinate,targetZoom)}const viewport=this.getViewPort(world);return viewport.unproject(coordinate)}projectCoordinate(world,coordinate){return this.getViewPort(world).project(coordinate)}withZoom(zoom){const cloned=this.clone();cloned.zoom=zoom;return cloned}getMaxZoom(){return this.zoomRange.getMax()-.01}getMinZoom(){return this.zoomRange.getMin()}withDeckViewState(world,deckViewState){var _deckViewState$target,_deckViewState$target2;const cloned=this.clone();if(world.isGeo()){cloned.coordinates=new src["c"]({x:deckViewState.longitude,y:deckViewState.latitude,z:this.coordinates.z})}else if((deckViewState===null||deckViewState===void 0?void 0:(_deckViewState$target=deckViewState.target)===null||_deckViewState$target===void 0?void 0:_deckViewState$target.length)===3){cloned.coordinates=src["c"].fromArray([...deckViewState.target])}else if((deckViewState===null||deckViewState===void 0?void 0:(_deckViewState$target2=deckViewState.target)===null||_deckViewState$target2===void 0?void 0:_deckViewState$target2.length)===2){cloned.coordinates=src["c"].fromArray([...deckViewState.target,this.coordinates.z])}cloned.rotationOrbit=deckViewState.rotationOrbit;cloned.rotationX=deckViewState.rotationX;cloned.bearing=deckViewState.bearing;cloned.zoom=deckViewState.zoom;return cloned}withCoordinates(coordinates){if(!coordinates)return this;const cloned=this.clone();cloned.coordinates=coordinates;return cloned}withInitialCoordinates(coordinates){if(!coordinates)return this;const cloned=this.clone();this._initialPosition.coordinates=coordinates;cloned.coordinates=coordinates;return cloned}isNewerThan(viewState){if(!viewState){return true}return this._lastModified>viewState._lastModified}resetPosition(){const cloned=this.clone();cloned._initialPosition={coordinates:new src["c"]({x:0,y:0,z:0}),zoom:0,bearing:0};cloned.coordinates=cloned._initialPosition.coordinates;cloned.zoom=cloned._initialPosition.zoom;cloned.bearing=cloned._initialPosition.bearing;return cloned}withBearing(bearing){const cloned=this.clone();cloned.bearing=bearing;return cloned}getFitBoundsZoom(world,bounds){let autoBearing=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;const viewPort=this.getViewPort(world);if(!(viewPort instanceof core_["WebMercatorViewport"])||bounds.length<4)return;let bbox=src["a"].fromGeometry(bounds);if(autoBearing)bbox=bbox.normalizeBearing();const boundsToFit=[bbox.getBottomLeft(),bbox.getTopRight()];return Number(viewPort.fitBounds(boundsToFit,{maxZoom:this.zoomRange.getMax(),padding:50}).zoom.toFixed(2))}}var view_state_ViewState=__webpack_exports__["a"]=ViewState_ViewState},function(module,__webpack_exports__,__webpack_require__){"use strict";(function(global){__webpack_require__.d(__webpack_exports__,"a",(function(){return HoparaStore}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(5);var react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);var react_redux__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(52);var react_redux__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);var _hopara_internals__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(16);var query_string__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(54);var query_string__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(query_string__WEBPACK_IMPORTED_MODULE_3__);var _state_Store__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(9);var _hopara_config__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(15);var _hopara_design_system_src_component_PureComponent__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(32);var _hopara_design_system_src_toast_ToastContainer__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(137);var _log_Log__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(103);var _ThemeProvider__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(141);var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(4);var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10___default=__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__);const window=global;const queryString=query_string__WEBPACK_IMPORTED_MODULE_3___default.a.parse(window.location.search);if(queryString.debug==="true"){_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["a"].enable()}else{_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["a"].disable()}if(queryString.animate==="false"){_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["b"].setParam("animate",false)}else{_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["b"].setParam("animate",true)}if(queryString.heatmapDebounce){_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["b"].setParam("heatmapDebounce",Number(queryString.heatmapDebounce))}if(queryString.heatmapTextureSize){_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["b"].setParam("heatmapTextureSize",Number(queryString.heatmapTextureSize))}const HoparaStore=Object(_state_Store__WEBPACK_IMPORTED_MODULE_4__["b"])();if(_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["a"].isDebugging()){window._hoparaStore=HoparaStore;window._hoparaConfig=_hopara_config__WEBPACK_IMPORTED_MODULE_5__["a"]}window._hoparaEnableDebug=()=>{_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["a"].enable();Object(_log_Log__WEBPACK_IMPORTED_MODULE_8__["a"])();window._hoparaStore=HoparaStore;window._hoparaConfig=_hopara_config__WEBPACK_IMPORTED_MODULE_5__["a"]};class HoparaProvider extends _hopara_design_system_src_component_PureComponent__WEBPACK_IMPORTED_MODULE_6__["a"]{componentDidMount(){Object(_log_Log__WEBPACK_IMPORTED_MODULE_8__["a"])()}componentDidCatch(error,info){_hopara_internals__WEBPACK_IMPORTED_MODULE_2__["c"].error(error,info)}render(){var _this$props$customSto;return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__["jsx"])(react_redux__WEBPACK_IMPORTED_MODULE_1__["Provider"],{context:_state_Store__WEBPACK_IMPORTED_MODULE_4__["a"],store:(_this$props$customSto=this.props.customStore)!==null&&_this$props$customSto!==void 0?_this$props$customSto:HoparaStore,children:Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__["jsxs"])(_ThemeProvider__WEBPACK_IMPORTED_MODULE_9__["a"],{children:[Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__["jsx"])(_hopara_design_system_src_toast_ToastContainer__WEBPACK_IMPORTED_MODULE_7__["a"],{}),this.props.children]})})}}__webpack_exports__["b"]=HoparaProvider}).call(this,__webpack_require__(81))},function(module,exports){module.exports=require("redux")},function(module,exports){module.exports=require("react-table")},function(module,exports){module.exports=require("@mui/material/Box")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Rows}));var _Geti__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(60);var _Row__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(50);class Rows extends Array{constructor(){for(var _len=arguments.length,rows=new Array(_len),_key=0;_key<_len;_key++){rows[_key]=arguments[_key]}if(rows.length&&typeof rows[0]==="number"){super(rows[0]);this.etag=void 0;this.columns=void 0}else{super();this.etag=void 0;this.columns=void 0;rows.forEach((row=>super.push(new _Row__WEBPACK_IMPORTED_MODULE_1__["a"](row))))}}setColumns(columns){this.columns=columns}static empty(){return new Rows}getById(id){return this.find((row=>row._id===id))}filter(predicate,thisArg){const rows=new Rows;const filtered=super.filter(predicate,thisArg);filtered.forEach((row=>rows.push(row)));rows.etag=this.etag;rows.columns=this.columns;return rows}map(callbackfn,thisArg){const rows=new Rows;const mapped=super.map(callbackfn,thisArg);mapped.forEach((row=>rows.push(row)));rows.etag=this.etag;rows.columns=this.columns;return rows}getValues(field){const values=[];super.forEach((row=>values.push(Object(_Geti__WEBPACK_IMPORTED_MODULE_0__["a"])(field,row))));return values}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return RowTranslator}));var lodash_fp__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(2);var lodash_fp__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_0__);class RowTranslator{constructor(rows,fieldName){this.rows=void 0;this.fieldName=void 0;this.rows=rows;this.fieldName=fieldName}translate(field){return this.rows.find((row=>row[this.fieldName]===field))}findIndex(field,path){return this.rows.findIndex((row=>{if(path)return Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["get"])(path,row[this.fieldName])===Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["get"])(path,field);return row[this.fieldName]===field}))}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return DatasetService_DatasetService}));var external_class_transformer_=__webpack_require__(7);var Column=__webpack_require__(49);var Columns=__webpack_require__(29);var src=__webpack_require__(15);var internals_src=__webpack_require__(16);var Filter=__webpack_require__(53);var http_client_src=__webpack_require__(25);const addParam=(queryParam,key,value)=>{if(value){if(Array.isArray(value)&&value.length>0){queryParam[key]=value}else{queryParam[key]=value}}};const getFilterParams=filterSet=>{const queryParams={};addParam(queryParams,"filter",Object(Filter["b"])(filterSet.filters));addParam(queryParams,"limit",filterSet.limit);addParam(queryParams,"offset",filterSet.offset);if(internals_src["a"].isDebugging())queryParams["debug"]=true;return queryParams};class DatasetRepository_DatasetRepository{static async getRows(query,transformParams,filter,calculateStats,authorization,downloadProgressCallback){const queryParams=getFilterParams(filter);addParam(queryParams,"dataSource",query.dataSource);addParam(queryParams,"transform",transformParams);if(calculateStats)addParam(queryParams,"calculateStats",true);return Object(http_client_src["a"])(src["a"].getValue("DATASET_API_ADDRESS"),`view/${query.name}/row`,queryParams,authorization,downloadProgressCallback)}static async getRow(rowId,query,authorization){const queryParams={};if(internals_src["a"].isDebugging())queryParams["debug"]=true;addParam(queryParams,"dataSource",query.dataSource);const response=await Object(http_client_src["a"])(src["a"].getValue("DATASET_API_ADDRESS"),`view/${query.name}/row/${rowId}`,queryParams,authorization);if(response.status!==200){throw new Error("Error getting row "+response.status)}return response.data}static async updateRow(query,rowId,rowValues,authorization){const queryParams={};if(internals_src["a"].isDebugging())queryParams["debug"]=true;addParam(queryParams,"dataSource",query.dataSource);const response=await Object(http_client_src["b"])(src["a"].getValue("DATASET_API_ADDRESS"),`view/${query.name}/row/${rowId}`,rowValues,queryParams,authorization);if(response.status!==200){throw new Error("Error updating row "+response.status)}return response.data}}var Row=__webpack_require__(50);var Rows=__webpack_require__(74);const addId=(rows,idColumn)=>{rows.forEach((row=>{row["_id"]=row[idColumn.name]}));return rows};class DatasetService_DatasetService{static async getRows(query,transformParams,filterSet){var _body$columns;let calculateStats=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;let authorization=arguments.length>4?arguments[4]:undefined;let downloadProgressCallback=arguments.length>5?arguments[5]:undefined;const response=await DatasetRepository_DatasetRepository.getRows(query,transformParams,filterSet,calculateStats,authorization,downloadProgressCallback);const body=await response.data;const responseRows=Array.isArray(body)?body:body.rows;const rows=new Rows["a"];responseRows.forEach((responseRow=>rows.push(new Row["a"](responseRow))));rows.etag=response.headers.get("ETag");if((_body$columns=body.columns)!==null&&_body$columns!==void 0&&_body$columns.length){const columns=Object(external_class_transformer_["plainToInstance"])(Column["a"],body.columns);rows.setColumns(new Columns["a"](...columns))}if(query.getColumns().hasId()){addId(rows,query.getColumns().getId())}const lastPageHeader=response.headers.get("last-page");return{rows,lastPage:lastPageHeader!=="false"}}static async getRowsWithLoader(loader,query,transformParams,filterSet){const rows=new Rows["a"];const loaderRows=await loader(filterSet,transformParams);loaderRows.forEach((responseRow=>rows.push(new Row["a"](responseRow))));rows.etag=Date.now().toString();rows.setColumns(query.getColumns());if(query.getColumns().hasId()){addId(rows,query.getColumns().getId())}return{rows,lastPage:true}}static async getRow(rowId,query,authorization){const row=await DatasetRepository_DatasetRepository.getRow(rowId,query,authorization);const rowIdColumn=query.getColumns().getId();if(rowIdColumn){row["_id"]=row[rowIdColumn.name]}return row}static async updateRow(query,rowId,rowValues,authorization){return DatasetRepository_DatasetRepository.updateRow(query,rowId,rowValues,authorization)}}},function(module,exports){module.exports=require("@turf/rewind")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return createDetailsFromColumns}));__webpack_require__.d(__webpack_exports__,"b",(function(){return createDetailsFromSpec}));var _hopara_encoding__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(14);function createDetailsFieldFromColumn(column){const textEncoding=new _hopara_encoding__WEBPACK_IMPORTED_MODULE_0__["p"]({field:column.getName()});return{title:column.getLabel(),value:{encoding:{text:textEncoding}}}}function createDetailsFromColumns(columns){let rowColumnNames=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];if(rowColumnNames.length){return rowColumnNames.map((columnName=>{const column=columns.get(columnName);return column?createDetailsFieldFromColumn(column):undefined})).filter((column=>!!column))}return columns.map((column=>createDetailsFieldFromColumn(column)))}function createDetailsFieldFromSpec(fieldSpec){var _fieldSpec$value,_fieldSpec$value$enco;return{title:fieldSpec.title,value:{encoding:{text:new _hopara_encoding__WEBPACK_IMPORTED_MODULE_0__["p"]((_fieldSpec$value=fieldSpec.value)===null||_fieldSpec$value===void 0?void 0:(_fieldSpec$value$enco=_fieldSpec$value.encoding)===null||_fieldSpec$value$enco===void 0?void 0:_fieldSpec$value$enco.text)}}}}function createDetailsFromSpec(details){const parsedDetails={tooltip:details.tooltip};if(Array.isArray(details.fields)){parsedDetails.fields=details.fields.map((itemSpec=>createDetailsFieldFromSpec(itemSpec)))}return parsedDetails}},function(module,exports){module.exports=require("@math.gl/web-mercator")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return ResourceUploadStatus}));let ResourceUploadStatus;(function(ResourceUploadStatus){ResourceUploadStatus["UPLOADING"]="uploading";ResourceUploadStatus["UPLOADED"]="uplodaded"})(ResourceUploadStatus||(ResourceUploadStatus={}))},function(module,exports){var g;g=function(){return this}();try{g=g||new Function("return this")()}catch(e){if(typeof window==="object")g=window}module.exports=g},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Filters}));var lodash_fp__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(2);var lodash_fp__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_0__);class Filters extends Array{push(item){const existingFilter=this.find((filter=>Object(lodash_fp__WEBPACK_IMPORTED_MODULE_0__["isEqual"])(filter,item)));if(!existingFilter){return super.push(item)}return this.length}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return toFilters}));var _column_ColumnType__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(26);var _Filter__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(53);var _Filters__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(82);const NULL_FIELD="_HP_NULL_FIELD_";function getFilter(box,range,field,column){if((column===null||column===void 0?void 0:column.getType())===_column_ColumnType__WEBPACK_IMPORTED_MODULE_0__["a"].GEOMETRY){return{field,type:_Filter__WEBPACK_IMPORTED_MODULE_1__["a"].INTERSECT,values:[box.getPolygon()]}}else{return{field,type:_Filter__WEBPACK_IMPORTED_MODULE_1__["a"].RANGE,values:[range.getMin(),range.getMax()]}}}function toFilters(box,fields,columns){const filters=new _Filters__WEBPACK_IMPORTED_MODULE_2__["a"];if(!box)return filters;if(fields.x&&fields.x&&fields.x!=NULL_FIELD){filters.push(getFilter(box,box.x,fields.x,columns.get(fields.x)))}if(fields.y&&fields.y!=NULL_FIELD){filters.push(getFilter(box,box.y,fields.y,columns.get(fields.y)))}if(fields.z&&fields.z!=NULL_FIELD&&box.z){filters.push(getFilter(box,box.z,fields.z,columns.get(fields.z)))}return filters}},function(module,__webpack_exports__,__webpack_require__){"use strict";var typesafe_actions__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(1);var typesafe_actions__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(typesafe_actions__WEBPACK_IMPORTED_MODULE_0__);const actions={signedIn:Object(typesafe_actions__WEBPACK_IMPORTED_MODULE_0__["createAction"])("SIGNED_IN")()};__webpack_exports__["a"]=actions},function(module,exports){module.exports=require("@turf/bbox")},function(module,exports){module.exports=require("@turf/bbox-polygon")},function(module,__webpack_exports__,__webpack_require__){"use strict";(function(setImmediate){__webpack_require__.d(__webpack_exports__,"a",(function(){return memoize}));var fast_memoize__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(116);var fast_memoize__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(fast_memoize__WEBPACK_IMPORTED_MODULE_0__);const defaultStore=new Map;const memoize=(fn,options)=>fast_memoize__WEBPACK_IMPORTED_MODULE_0___default()(fn,{cache:{create(){var _options$cacheStore,_options$cachePrefix;const store=(_options$cacheStore=options===null||options===void 0?void 0:options.cacheStore)!==null&&_options$cacheStore!==void 0?_options$cacheStore:defaultStore;const keyPrefix=(_options$cachePrefix=options===null||options===void 0?void 0:options.cachePrefix)!==null&&_options$cachePrefix!==void 0?_options$cachePrefix:"";return{has(key){var _options$cacheKey;return store.has((_options$cacheKey=options===null||options===void 0?void 0:options.cacheKey)!==null&&_options$cacheKey!==void 0?_options$cacheKey:keyPrefix+key)},get(key){var _options$cacheKey2;return store.get((_options$cacheKey2=options===null||options===void 0?void 0:options.cacheKey)!==null&&_options$cacheKey2!==void 0?_options$cacheKey2:keyPrefix+key)},set(key,value){var _options$cacheKey3;const cacheKey=(_options$cacheKey3=options===null||options===void 0?void 0:options.cacheKey)!==null&&_options$cacheKey3!==void 0?_options$cacheKey3:key;const keyToDelete=(options===null||options===void 0?void 0:options.deleteKeyOnSet)&&(options===null||options===void 0?void 0:options.deleteKeyOnSet(store,cacheKey,keyPrefix));if(keyToDelete)setImmediate((()=>store.delete(keyToDelete)));store.set(keyPrefix+cacheKey,value)}}}}})}).call(this,__webpack_require__(143).setImmediate)},function(module,exports){module.exports=require("uuid")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return getCartesianPaddings}));const getCartesianPaddings=world=>{const viewHorizontalPadding=world.getHorizontalPadding()/2;const viewVertialPadding=world.getVertialPadding()/2;return{viewHorizontalPadding,viewVertialPadding,axesHorizontalPadding:viewHorizontalPadding/2,axesVerticalPadding:viewVertialPadding/2}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return DEFAULT_ORBIT_AXIS}));__webpack_require__.d(__webpack_exports__,"b",(function(){return OrbitViewComponent}));var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(22);var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);var _DeckView__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(63);const DEFAULT_ORBIT_AXIS="Y";const ambientLight=new _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["AmbientLight"]({color:[255,255,255],intensity:2.25});const cameraLight=new _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["_CameraLight"]({color:[255,255,255],intensity:15});const directionalLight1=new _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["DirectionalLight"]({color:[255,255,255],intensity:2,direction:[-1,1,-1]});const directionalLight2=new _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["DirectionalLight"]({color:[255,255,255],intensity:1.8,direction:[1,-1,1]});class OrbitViewComponent extends _DeckView__WEBPACK_IMPORTED_MODULE_1__["a"]{constructor(){super(...arguments);this.lightingEffect=new _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["LightingEffect"]({ambientLight,cameraLight,directionalLight1,directionalLight2})}getViews(){return[new _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["OrbitView"]({id:"main-view",orbitAxis:DEFAULT_ORBIT_AXIS,controller:this.getViewController()})]}getEffects(){return[this.lightingEffect]}getPickingRadius(){return!!this.props.editingLayerId&&(this.state.draggingRow||this.props.selectedRow)?20:0}}},function(module,exports){module.exports=require("deck.gl")},function(module,exports){module.exports=require("vega-lite")},function(module,exports){module.exports=require("@mui/material/TableRow")},function(module,exports){module.exports=require("react-router-dom")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return createViewLayers}));var layers_=__webpack_require__(18);var AnimationEngine=__webpack_require__(38);const UNIT={common:0,meters:1,pixels:2};class AnimatedCircleLayer_AnimatedCircleLayer extends layers_["ScatterplotLayer"]{draw(opts){const animationEngine=new AnimationEngine["a"]({layerId:this.props.id,timeline:opts.context.timeline,animationDataList:this.props.animations,redrawFn:()=>this.setNeedsRedraw()});const uniformValues=animationEngine.getUniforms();const{radiusUnits,radiusScale,radiusMinPixels,radiusMaxPixels,stroked,filled,billboard,antialiasing,lineWidthUnits,lineWidthScale,lineWidthMinPixels,lineWidthMaxPixels}=this.props;this.state.model.setUniforms(opts.uniforms).setUniforms({stroked:stroked?1:0,filled,billboard,antialiasing,radiusUnits:UNIT[radiusUnits],radiusScale,radiusMinPixels,radiusMaxPixels,lineWidthUnits:UNIT[lineWidthUnits],lineWidthScale,lineWidthMinPixels,lineWidthMaxPixels,...uniformValues}).draw();animationEngine.render()}}AnimatedCircleLayer_AnimatedCircleLayer.layerName="AnimatedCircleLayer";var AnimatedLayerFactory=__webpack_require__(36);var external_lodash_=__webpack_require__(121);var fp_=__webpack_require__(2);var src=__webpack_require__(14);var dataset_src=__webpack_require__(6);var RowTranslator=__webpack_require__(75);var DataComparator=__webpack_require__(64);var spatial_src=__webpack_require__(8);const HIGHLIGHT_COLOR=[0,0,0,77];class BaseFactory_BaseFactory{constructor(){this.EDITABLE_FEATURE_FIELD="_EDITABLE_GEOMETRY_FEATURE_";this.dataComparator=new DataComparator["a"]}getSelectedRow(factoryProps){var _factoryProps$selecte;return((_factoryProps$selecte=factoryProps.selectedRow)===null||_factoryProps$selecte===void 0?void 0:_factoryProps$selecte.rowsetId)===factoryProps.rowsetId?factoryProps.selectedRow:undefined}getDeckProps(factoryProps,layerProps){var _factoryProps$dataCom,_factoryProps$rows,_factoryProps$visible;const dataComparator=(_factoryProps$dataCom=factoryProps.dataComparator)!==null&&_factoryProps$dataCom!==void 0?_factoryProps$dataCom:this.dataComparator;dataComparator.update(factoryProps.id,{cacheKey:(_factoryProps$rows=factoryProps.rows)===null||_factoryProps$rows===void 0?void 0:_factoryProps$rows.etag,lastModified:factoryProps.lastModified,selectedRow:this.getSelectedRow(factoryProps),encoding:factoryProps.encoding});const validProps={...layerProps,layerId:factoryProps.layerId,visible:(_factoryProps$visible=factoryProps.visible)===null||_factoryProps$visible===void 0?void 0:_factoryProps$visible.value,editable:factoryProps.editable,dataComparator:()=>dataComparator.isEqual(factoryProps.id),stroked:!!layerProps.stroked,...factoryProps.highlight&&{highlightColor:HIGHLIGHT_COLOR,autoHighlight:true}};validProps.colorEncoding=factoryProps.encoding.getColor();return Object(fp_["omitBy"])(fp_["isUndefined"],validProps)}getPositionUpdateTrigger(position,editing,rows){const triggers=this.getEncodingUpdateTrigger(position,rows);if(editing){triggers.push((()=>({})))}return triggers}getEncodingUpdateTrigger(encoding,rows){const triggers=new Array;if(Object(fp_["isBoolean"])(encoding)){triggers.push(encoding)}else{triggers.push(encoding===null||encoding===void 0?void 0:encoding.getCreatedTimestamp())}triggers.push(rows===null||rows===void 0?void 0:rows.etag);return triggers}getPositionAccessor(props){var _selectedRow$updating;const selectedRow=this.getSelectedRow(props);const updatingRow=selectedRow&&(selectedRow===null||selectedRow===void 0?void 0:(_selectedRow$updating=selectedRow.updatingRow)===null||_selectedRow$updating===void 0?void 0:_selectedRow$updating._id)!==undefined?selectedRow===null||selectedRow===void 0?void 0:selectedRow.updatingRow:undefined;return src["l"].getPosition(updatingRow)}getColorAccessor(columns,color,rows,rowTranslator){return Object(src["r"])(color,rows||new dataset_src["k"],columns,rowTranslator)}getColorRange(color){return Object(src["u"])(color.scale.scheme||color.scale.range,color.scale.reverse,color.opacity).colors}getSizeAccessor(props){return Object(src["v"])(props)}getRowTranslator(rows,encoding,columns,editing){var _encoding$polygon;if(editing){return new RowTranslator["a"](rows,this.EDITABLE_FEATURE_FIELD)}if((_encoding$polygon=encoding.polygon)!==null&&_encoding$polygon!==void 0&&_encoding$polygon.isGeoJson(columns)){return new RowTranslator["a"](rows,encoding.polygon.field)}}getTranslatedRow(rowTranslator,originalObject){if(!rowTranslator){return{row:originalObject}}return{row:rowTranslator.translate(originalObject)}}getInfoCoordinate(coordinate){var _coordinate$;if(!coordinate||!coordinate[0]||!coordinate[1])return;return new spatial_src["c"]({x:coordinate[0],y:coordinate[1],z:(_coordinate$=coordinate[2])!==null&&_coordinate$!==void 0?_coordinate$:0})}getRowIndex(info,props,rowTranslator){var _props$rows$findIndex;if(!props.rows||!info.object)return;const infoRow=info.object;let rowIndex;if(rowTranslator)rowIndex=rowTranslator.findIndex(infoRow,props.editing&&props.editable?"properties.rowId":undefined);else rowIndex=(_props$rows$findIndex=props.rows.findIndex((r=>r._id&&infoRow._id?r._id===infoRow._id:r===infoRow)))!==null&&_props$rows$findIndex!==void 0?_props$rows$findIndex:-1;return rowIndex>=0?rowIndex:undefined}getCursorDisplacement(props,coordinate,row){var _this$getSelectedRow,_this$getSelectedRow2;if((_this$getSelectedRow=this.getSelectedRow(props))!==null&&_this$getSelectedRow!==void 0&&_this$getSelectedRow.cursorDisplacement)return(_this$getSelectedRow2=this.getSelectedRow(props))===null||_this$getSelectedRow2===void 0?void 0:_this$getSelectedRow2.cursorDisplacement;if(!coordinate||!row||row._x===undefined||row._y===undefined)return;const displacement={x:coordinate[0]-row._x,y:coordinate[1]-row._y};if(coordinate[2]!==undefined&&row._z!==undefined)displacement.z=coordinate[2]-row._z;return displacement}getFixedCoordinate(coordinate,cursorDisplacement){if(!cursorDisplacement)return coordinate;return[coordinate[0]-cursorDisplacement.x,coordinate[1]-cursorDisplacement.y,coordinate[2]!==undefined&&cursorDisplacement.z!==undefined?coordinate[2]-cursorDisplacement.z:undefined]}getUpdatedData(info,coordinates,cursorDisplacement){if(!cursorDisplacement&&!info.updatedData)return undefined;if(info.updatedData)return info.updatedData;const fixedCoordinate=coordinates?this.getFixedCoordinate([coordinates===null||coordinates===void 0?void 0:coordinates.x,coordinates===null||coordinates===void 0?void 0:coordinates.y,coordinates===null||coordinates===void 0?void 0:coordinates.z],cursorDisplacement):[0,0,0];return{_x:fixedCoordinate[0],_y:fixedCoordinate[1],_z:fixedCoordinate[2]}}getInfoRow(info,rowIndex,props){var _props$transform;if(props.rows&&!((_props$transform=props.transform)!==null&&_props$transform!==void 0&&_props$transform.cluster))return props.rows[rowIndex];return new dataset_src["i"](info.object)}getEventInfo(info,props,rowTranslator,editHandler){var _layer,_layer$props,_this$getRowIndex,_props$selectedRow;if(!(info!==null&&info!==void 0&&(_layer=info.layer)!==null&&_layer!==void 0&&(_layer$props=_layer.props)!==null&&_layer$props!==void 0&&_layer$props.pickable)||info.layer.props.layerId!==props.layerId)return;const rowIndex=(_this$getRowIndex=this.getRowIndex(info,props,rowTranslator))!==null&&_this$getRowIndex!==void 0?_this$getRowIndex:info.index;const row=this.getInfoRow(info,rowIndex,props);const coordinates=this.getInfoCoordinate(info.coordinate);const updatedData=editHandler&&props.editable?this.getUpdatedData(info,coordinates,(_props$selectedRow=props.selectedRow)===null||_props$selectedRow===void 0?void 0:_props$selectedRow.cursorDisplacement):undefined;const cursorDisplacement=editHandler?this.getCursorDisplacement(props,info.coordinate,row):undefined;if(!row&&!info.isGuide)return;return{row,rowsetId:props.rowsetId,layerId:props.layerId,updatedData:editHandler?updatedData:undefined,coordinates,pixel:this.getInfoCoordinate(info.pixel),editable:props.editable,cursorDisplacement}}getBaseDeckLayerCallbacks(props,rowTranslator){return{onHover:info=>props.onHover&&props.onHover(this.getEventInfo(info,props,rowTranslator)),onClick:info=>props.onClick&&props.onClick(this.getEventInfo(info,props,rowTranslator)),onEdit:info=>props.onEdit&&props.onEdit(this.getEventInfo(info,props,rowTranslator,true)),onEditEnd:info=>props.onEditEnd&&props.onEditEnd(this.getEventInfo(info,props,rowTranslator,true))}}getDeckLayerCallbacks(props,rowTranslator){return{...this.getBaseDeckLayerCallbacks(props,rowTranslator),onDragStart:info=>props.onDragStart&&props.onDragStart(this.getEventInfo(info,props,rowTranslator,true)),onDrag:info=>props.onDrag&&props.onDrag(this.getEventInfo(info,props,rowTranslator,true)),onDragEnd:(info,event,keepSelected)=>props.onDragEnd&&props.onDragEnd(this.getEventInfo(info,props,rowTranslator,true),event,!!keepSelected)}}}class StrokableFactory_StrokableFactory extends BaseFactory_BaseFactory{getColorStrokeProps(color,rows,columns,rowTranslator){if(!color){return{}}const colorAccessor=super.getColorAccessor(columns,color,rows,rowTranslator);return{stroked:!!colorAccessor,getLineColor:colorAccessor}}hasStroke(){let size=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;return size&&!Object(external_lodash_["isBoolean"])(size)}getStrokeSizeProps(rows,columns){var _size,_size2;let size=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;let rowTranslator=arguments.length>3?arguments[3]:undefined;if(!this.hasStroke(size)){return{}}size=size;return{getLineWidth:super.getSizeAccessor({rows,encoding:size,columns,rowTranslator}),lineWidthUnits:(_size=size)===null||_size===void 0?void 0:_size.getUnits(),lineWidthMaxPixels:(_size2=size)===null||_size2===void 0?void 0:_size2.getMaxPixels(),stroked:true}}}var core_=__webpack_require__(22);class CommonOffsetExtension_CommonOffsetExtension extends core_["LayerExtension"]{getShaders(){return{...super.getShaders(null),inject:{"vs:#decl":`\n uniform float offsetMinPixelsY;\n uniform float offsetMaxPixelsY;\n uniform float offsetMinPixelsX;\n uniform float offsetMaxPixelsX;\n uniform float offsetCommonsY;\n uniform float offsetCommonsX;\n `,"vs:DECKGL_FILTER_GL_POSITION":`\n float common_y = offsetCommonsY * project_size();\n float common_x = offsetCommonsX * project_size();\n float raw_pixel_y = project_size_to_pixel(common_y, UNIT_COMMON);\n float raw_pixel_x = project_size_to_pixel(common_x, UNIT_COMMON);\n float pixel_y = clamp(raw_pixel_y, offsetMinPixelsY, offsetMaxPixelsY);\n float pixel_x = clamp(raw_pixel_x, offsetMinPixelsX, offsetMaxPixelsX);\n\n vec2 clipspace_pos = project_pixel_size_to_clipspace(vec2(pixel_x, pixel_y));\n\n position.y -= clipspace_pos.y;\n position.x -= clipspace_pos.x;\n `}}}updateState(params){if(!params||!params.props)return;const{offsetMinPixelsY=0,offsetMaxPixelsY=Number.MAX_SAFE_INTEGER,offsetCommonsY=0,offsetCommonsX=0,offsetMinPixelsX=0,offsetMaxPixelsX=Number.MAX_SAFE_INTEGER}=params.props;const models=this.getModels();for(const model of models){model.setUniforms({offsetMinPixelsY,offsetMaxPixelsY,offsetMinPixelsX,offsetMaxPixelsX,offsetCommonsX,offsetCommonsY})}}getSubLayerProps(){if(!this.props)return;const{offsetMinPixelsY=0,offsetMaxPixelsY=Number.MAX_SAFE_INTEGER,offsetCommonsY=0,offsetCommonsX=0,offsetMinPixelsX=0,offsetMaxPixelsX=Number.MAX_SAFE_INTEGER}=this.props;return{offsetMinPixelsY,offsetMaxPixelsY,offsetCommonsX,offsetCommonsY,offsetMinPixelsX,offsetMaxPixelsX}}}class OffsetExtension_OffsetExtension extends core_["LayerExtension"]{getShaders(){return{...super.getShaders(null),inject:{"vs:#decl":`\n uniform float offsetX;\n uniform float offsetY;\n `,"vs:DECKGL_FILTER_GL_POSITION":`\n vec2 clipspace_pos = project_pixel_size_to_clipspace(vec2(offsetX, offsetY));\n\n position.y -= clipspace_pos.y;\n position.x -= clipspace_pos.x;\n `}}}updateState(params){if(!params||!params.props)return;const{offsetX=0,offsetY=0}=params.props;const models=this.getModels();for(const model of models){model.setUniforms({offsetX,offsetY})}}getSubLayerProps(){if(!this.props)return;const{offsetX=0,offsetY=0}=this.props;return{offsetX,offsetY}}}const commonOffsetExtensions=[new CommonOffsetExtension_CommonOffsetExtension];const offsetExtensions=[new OffsetExtension_OffsetExtension];function decorateOffset(layerProps,deckProps,offsetProp){var _layerProps$encoding$,_layerProps$encoding,_layerProps$encoding$2,_layerProps$encoding$3,_layerProps$encoding$4,_layerProps$encoding2,_layerProps$encoding3,_layerProps$encoding4,_layerProps$encoding$5,_layerProps$encoding5,_layerProps$encoding6,_layerProps$encoding7,_layerProps$encoding$6,_layerProps$encoding8,_layerProps$encoding9,_layerProps$encoding10,_layerProps$encoding11,_layerProps$encoding12,_layerProps$encoding13;const decoratedProps={...deckProps};decoratedProps.offsetMinPixelsY=(_layerProps$encoding$=(_layerProps$encoding=layerProps.encoding)===null||_layerProps$encoding===void 0?void 0:(_layerProps$encoding$2=_layerProps$encoding.offset)===null||_layerProps$encoding$2===void 0?void 0:(_layerProps$encoding$3=_layerProps$encoding$2.y)===null||_layerProps$encoding$3===void 0?void 0:_layerProps$encoding$3.getMinPixels())!==null&&_layerProps$encoding$!==void 0?_layerProps$encoding$:0;decoratedProps.offsetMaxPixelsY=(_layerProps$encoding$4=(_layerProps$encoding2=layerProps.encoding)===null||_layerProps$encoding2===void 0?void 0:(_layerProps$encoding3=_layerProps$encoding2.offset)===null||_layerProps$encoding3===void 0?void 0:(_layerProps$encoding4=_layerProps$encoding3.y)===null||_layerProps$encoding4===void 0?void 0:_layerProps$encoding4.getMaxPixels())!==null&&_layerProps$encoding$4!==void 0?_layerProps$encoding$4:0;decoratedProps.offsetMinPixelsX=(_layerProps$encoding$5=(_layerProps$encoding5=layerProps.encoding)===null||_layerProps$encoding5===void 0?void 0:(_layerProps$encoding6=_layerProps$encoding5.offset)===null||_layerProps$encoding6===void 0?void 0:(_layerProps$encoding7=_layerProps$encoding6.x)===null||_layerProps$encoding7===void 0?void 0:_layerProps$encoding7.getMinPixels())!==null&&_layerProps$encoding$5!==void 0?_layerProps$encoding$5:0;decoratedProps.offsetMaxPixelsX=(_layerProps$encoding$6=(_layerProps$encoding8=layerProps.encoding)===null||_layerProps$encoding8===void 0?void 0:(_layerProps$encoding9=_layerProps$encoding8.offset)===null||_layerProps$encoding9===void 0?void 0:(_layerProps$encoding10=_layerProps$encoding9.x)===null||_layerProps$encoding10===void 0?void 0:_layerProps$encoding10.getMaxPixels())!==null&&_layerProps$encoding$6!==void 0?_layerProps$encoding$6:0;if((_layerProps$encoding11=layerProps.encoding)!==null&&_layerProps$encoding11!==void 0&&(_layerProps$encoding12=_layerProps$encoding11.offset)!==null&&_layerProps$encoding12!==void 0&&(_layerProps$encoding13=_layerProps$encoding12.y)!==null&&_layerProps$encoding13!==void 0&&_layerProps$encoding13.isCommon()){var _layerProps$encoding14,_layerProps$encoding15,_layerProps$encoding16,_layerProps$encoding17,_layerProps$encoding18,_layerProps$encoding19;decoratedProps.offsetCommonsY=(_layerProps$encoding14=layerProps.encoding)===null||_layerProps$encoding14===void 0?void 0:(_layerProps$encoding15=_layerProps$encoding14.offset)===null||_layerProps$encoding15===void 0?void 0:(_layerProps$encoding16=_layerProps$encoding15.y)===null||_layerProps$encoding16===void 0?void 0:_layerProps$encoding16.getSize();decoratedProps.offsetCommonsX=(_layerProps$encoding17=layerProps.encoding)===null||_layerProps$encoding17===void 0?void 0:(_layerProps$encoding18=_layerProps$encoding17.offset)===null||_layerProps$encoding18===void 0?void 0:(_layerProps$encoding19=_layerProps$encoding18.x)===null||_layerProps$encoding19===void 0?void 0:_layerProps$encoding19.getSize();decoratedProps.extensions=commonOffsetExtensions}else{if(offsetProp){var _layerProps$encoding$7,_layerProps$encoding20,_layerProps$encoding21,_layerProps$encoding22,_layerProps$encoding$8,_layerProps$encoding23,_layerProps$encoding24,_layerProps$encoding25;decoratedProps[offsetProp]=[(_layerProps$encoding$7=(_layerProps$encoding20=layerProps.encoding)===null||_layerProps$encoding20===void 0?void 0:(_layerProps$encoding21=_layerProps$encoding20.offset)===null||_layerProps$encoding21===void 0?void 0:(_layerProps$encoding22=_layerProps$encoding21.x)===null||_layerProps$encoding22===void 0?void 0:_layerProps$encoding22.value)!==null&&_layerProps$encoding$7!==void 0?_layerProps$encoding$7:0,(_layerProps$encoding$8=(_layerProps$encoding23=layerProps.encoding)===null||_layerProps$encoding23===void 0?void 0:(_layerProps$encoding24=_layerProps$encoding23.offset)===null||_layerProps$encoding24===void 0?void 0:(_layerProps$encoding25=_layerProps$encoding24.y)===null||_layerProps$encoding25===void 0?void 0:_layerProps$encoding25.value)!==null&&_layerProps$encoding$8!==void 0?_layerProps$encoding$8:0]}else{var _layerProps$encoding26,_layerProps$encoding27,_layerProps$encoding28,_layerProps$encoding29,_layerProps$encoding30,_layerProps$encoding31;decoratedProps.offsetY=(_layerProps$encoding26=layerProps.encoding)===null||_layerProps$encoding26===void 0?void 0:(_layerProps$encoding27=_layerProps$encoding26.offset)===null||_layerProps$encoding27===void 0?void 0:(_layerProps$encoding28=_layerProps$encoding27.y)===null||_layerProps$encoding28===void 0?void 0:_layerProps$encoding28.getSize();decoratedProps.offsetX=(_layerProps$encoding29=layerProps.encoding)===null||_layerProps$encoding29===void 0?void 0:(_layerProps$encoding30=_layerProps$encoding29.offset)===null||_layerProps$encoding30===void 0?void 0:(_layerProps$encoding31=_layerProps$encoding30.x)===null||_layerProps$encoding31===void 0?void 0:_layerProps$encoding31.getSize();decoratedProps.extensions=offsetExtensions}}return decoratedProps}const DIAMETER_TO_RADIUS=.5;const animatedLayerFactory=new AnimatedLayerFactory["a"](layers_["ScatterplotLayer"],AnimatedCircleLayer_AnimatedCircleLayer,{radiusScale:kProps=>kProps.scale,radiusMinPixels:(kProps,props)=>props.getMinPixels&&props.getMinPixels(kProps.scale*DIAMETER_TO_RADIUS),radiusMaxPixels:(kProps,props)=>props.getMaxPixels&&props.getMaxPixels(kProps.scale*DIAMETER_TO_RADIUS)});class CircleFactory_CircleFactory extends StrokableFactory_StrokableFactory{getStrokeProps(props){var _props$encoding;const sizeProps=this.getStrokeSizeProps(props.rows,props.columns,props.encoding.strokeSize);const colorProps=this.getColorStrokeProps((_props$encoding=props.encoding)===null||_props$encoding===void 0?void 0:_props$encoding.strokeColor,props.rows,props.columns);if(sizeProps.stroked&&colorProps.stroked){return{...sizeProps,...colorProps,stroked:true}}}create(props){var _props$encoding$size,_props$encoding$size2;let deckProps=super.getDeckProps(props,{id:props.id,data:props.rows,getFillColor:super.getColorAccessor(props.columns,props.encoding.color,props.rows),getPosition:super.getPositionAccessor(props),getRadius:super.getSizeAccessor({rows:props.rows,encoding:props.encoding.size,factor:DIAMETER_TO_RADIUS,columns:props.columns}),updateTriggers:{getFillColor:super.getEncodingUpdateTrigger(props.encoding.color,props.rows),getRadius:super.getEncodingUpdateTrigger(props.encoding.size,props.rows),getPosition:super.getPositionUpdateTrigger(props.encoding.position,props.editing,props.rows)},radiusUnits:(_props$encoding$size=props.encoding.size)===null||_props$encoding$size===void 0?void 0:_props$encoding$size.getUnits(),...this.getStrokeProps(props),pickable:props.pickable,...super.getDeckLayerCallbacks(props)});if((_props$encoding$size2=props.encoding.size)!==null&&_props$encoding$size2!==void 0&&_props$encoding$size2.isCommon()){if(props.encoding.size.getMinPixels(DIAMETER_TO_RADIUS)){deckProps.radiusMinPixels=props.encoding.size.getMinPixels(DIAMETER_TO_RADIUS)}if(props.encoding.size.getMaxPixels(DIAMETER_TO_RADIUS)){deckProps.radiusMaxPixels=props.encoding.size.getMaxPixels(DIAMETER_TO_RADIUS)}}deckProps=decorateOffset(props,deckProps);if(AnimatedLayerFactory["a"].hasAnimations(props.encoding)){return animatedLayerFactory.create(props.encoding,deckProps,super.getDeckLayerCallbacks(props))}else{return new layers_["ScatterplotLayer"](deckProps)}}}var aggregation_layers_=__webpack_require__(122);var internals_src=__webpack_require__(16);const getWeight=encoding=>row=>{if(encoding&&encoding.intensity.field){if(Object(fp_["isNil"])(row[encoding.intensity.field])){return 1}return Math.abs(parseFloat(row[encoding.intensity.field]))}return 1};const previousRows={};class HeatmapFactory_HeatmapFactory extends BaseFactory_BaseFactory{create(props){var _props$encoding,_props$encoding2,_props$encoding$heatm,_props$encoding$heatm2;let rows;if(!(props!==null&&props!==void 0&&props.rows)){rows=previousRows[props.layerId]}else{previousRows[props.layerId]=props===null||props===void 0?void 0:props.rows;rows=props===null||props===void 0?void 0:props.rows}const deckProps=super.getDeckProps(props,{id:props.id,data:rows,colorRange:super.getColorRange((_props$encoding=props.encoding)===null||_props$encoding===void 0?void 0:_props$encoding.color),getPosition:super.getPositionAccessor(props),getWeight:getWeight((_props$encoding2=props.encoding)===null||_props$encoding2===void 0?void 0:_props$encoding2.heatmap),weightsTextureSize:internals_src["b"].hasParam("heatmapTextureSize")?internals_src["b"].getParam("heatmapTextureSize"):512,debounceTimeout:internals_src["b"].hasParam("heatmapDebounce")?internals_src["b"].getParam("heatmapDebounce"):0,intensity:(_props$encoding$heatm=props.encoding.heatmap)===null||_props$encoding$heatm===void 0?void 0:_props$encoding$heatm.intensity.multiplier,radiusPixels:(_props$encoding$heatm2=props.encoding.heatmap)===null||_props$encoding$heatm2===void 0?void 0:_props$encoding$heatm2.radius,updateTriggers:{getWeight:this.getEncodingUpdateTrigger(props.encoding.heatmap,props.rows)},...super.getDeckLayerCallbacks(props)});return new aggregation_layers_["HeatmapLayer"](Object(fp_["omitBy"])(fp_["isUndefined"],deckProps))}}class AnimatedIconLayer_AnimatedIconLayer extends layers_["IconLayer"]{draw(_ref){let{uniforms,context}=_ref;const animationEngine=new AnimationEngine["a"]({layerId:this.props.id,timeline:context.timeline,animationDataList:this.props.animations,redrawFn:()=>this.setNeedsRedraw()});const uniformValues=animationEngine.getUniforms();const{sizeScale,sizeMinPixels,sizeMaxPixels,sizeUnits,billboard,alphaCutoff}=this.props;const{iconManager}=this.state;const iconsTexture=iconManager.getTexture();if(iconsTexture){this.state.model.setUniforms(uniforms).setUniforms({iconsTexture,iconsTextureDim:[iconsTexture.width,iconsTexture.height],sizeUnits:UNIT[sizeUnits],sizeScale,sizeMinPixels,sizeMaxPixels,billboard,alphaCutoff,...uniformValues}).draw()}animationEngine.render()}}AnimatedIconLayer_AnimatedIconLayer.layerName="AnimatedIconLayer";var config_src=__webpack_require__(15);var external_loaders_gl_core_=__webpack_require__(46);var Fetch=__webpack_require__(31);class CacheService{static setSessionCacheKey(){const cacheKey=window.btoa(Date.now().toString());sessionStorage.setItem(CacheService.sessionCachekey,cacheKey)}static getSessionCacheKey(){const cacheKey=sessionStorage.getItem(CacheService.sessionCachekey);if(cacheKey)return cacheKey;CacheService.setSessionCacheKey();return sessionStorage.getItem(CacheService.sessionCachekey)}static getURLWithCacheParam(inputURL){const url=new URL(inputURL);const cacheKey=CacheService.getSessionCacheKey();if(cacheKey)url.searchParams.append("sessionCacheKey",cacheKey);return url}}CacheService.sessionCachekey="hopara-sessionCacheKey";const ICON_PLACEHOLDER_NAME="map-marker";class IconFetch_IconFetch{static getIconUrl(iconName,authorization,fallback){const url=CacheService.getURLWithCacheParam(`${config_src["a"].getValue("RESOURCE_API_ADDRESS")}/tenant/${authorization.tenant}/icon/${iconName}`);if(fallback)url.searchParams.append("fallback",fallback);return url.toString()}fetch(authorization,downloadProgressCallback){return async(iconName,options)=>{try{const response=await Object(external_loaders_gl_core_["fetchFile"])(IconFetch_IconFetch.getIconUrl(iconName,authorization),{...options,cache:"force-cache"});if(downloadProgressCallback)await Object(Fetch["b"])(iconName,Fetch["a"].ICON,response,downloadProgressCallback);if(!response.ok)throw new Error("invalid response");return response}catch(e){const placeholderUrl=IconFetch_IconFetch.getIconUrl(ICON_PLACEHOLDER_NAME,authorization);const response=await Object(external_loaders_gl_core_["fetchFile"])(placeholderUrl,{...options,cache:"force-cache"});if(downloadProgressCallback){await Object(Fetch["b"])(ICON_PLACEHOLDER_NAME,Fetch["a"].ICON,response,downloadProgressCallback)}return response}}}}const IconFactory_animatedLayerFactory=new AnimatedLayerFactory["a"](layers_["IconLayer"],AnimatedIconLayer_AnimatedIconLayer,{sizeScale:kProps=>kProps.scale,sizeMinPixels:(kProps,props)=>props.getMinPixels&&props.getMinPixels(kProps.scale),sizeMaxPixels:(kProps,props)=>props.getMaxPixels&&props.getMaxPixels(kProps.scale)});class IconFactory_IconFactory extends BaseFactory_BaseFactory{getLoadOptions(props){const iconFetch=new IconFetch_IconFetch;return{fetch:iconFetch.fetch(props.authorization,props.onResourceDownloadProgressChange)}}create(props){var _props$encoding$size,_props$encoding,_props$encoding$size2;let deckProps=super.getDeckProps(props,{id:props.id,data:props.rows,loadOptions:this.getLoadOptions(props),pickable:props.pickable,sizeUnits:(_props$encoding$size=props.encoding.size)===null||_props$encoding$size===void 0?void 0:_props$encoding$size.getUnits(),getSize:Object(src["v"])({rows:props.rows,encoding:props.encoding.size}),getColor:super.getColorAccessor(props.columns,(_props$encoding=props.encoding)===null||_props$encoding===void 0?void 0:_props$encoding.color,props.rows),getPosition:super.getPositionAccessor(props),getIcon:row=>src["g"].getIcon(props.encoding.icon,row),updateTriggers:{getColor:super.getEncodingUpdateTrigger(props.encoding.color,props.rows),getSize:super.getEncodingUpdateTrigger(props.encoding.size,props.rows),getPosition:super.getPositionUpdateTrigger(props.encoding.position,props.editing,props.rows),getIcon:super.getEncodingUpdateTrigger(props.encoding.icon,props.rows)},alphaCutoff:0,...super.getDeckLayerCallbacks(props)});deckProps.dataComparator=()=>false;if((_props$encoding$size2=props.encoding.size)!==null&&_props$encoding$size2!==void 0&&_props$encoding$size2.isCommon()){if(props.encoding.size.getMinPixels()){deckProps.sizeMinPixels=props.encoding.size.getMinPixels()}if(props.encoding.size.getMaxPixels()){deckProps.sizeMaxPixels=props.encoding.size.getMaxPixels()}}deckProps=decorateOffset(props,deckProps,"getPixelOffset");if(AnimatedLayerFactory["a"].hasAnimations(props.encoding)){return IconFactory_animatedLayerFactory.create(props.encoding,deckProps,super.getDeckLayerCallbacks(props))}else{return new layers_["IconLayer"](deckProps)}}}var helpers_=__webpack_require__(17);var centroid_=__webpack_require__(37);var centroid_default=__webpack_require__.n(centroid_);var rhumb_bearing_=__webpack_require__(123);var rhumb_bearing_default=__webpack_require__.n(rhumb_bearing_);var rhumb_distance_=__webpack_require__(124);var rhumb_distance_default=__webpack_require__.n(rhumb_distance_);var transform_translate_=__webpack_require__(125);var transform_translate_default=__webpack_require__.n(transform_translate_);var external_deck_gl_=__webpack_require__(91);var external_nebula_gl_=__webpack_require__(28);var bbox_polygon_=__webpack_require__(86);var bbox_polygon_default=__webpack_require__.n(bbox_polygon_);var bbox_=__webpack_require__(85);var bbox_default=__webpack_require__.n(bbox_);var meta_=__webpack_require__(126);var polygon_to_line_=__webpack_require__(127);var polygon_to_line_default=__webpack_require__.n(polygon_to_line_);class ScaleMode_ScaleMode extends external_nebula_gl_["ScaleMode"]{getGuides(props){this._cornerGuidePoints=[];const selectedGeometry=this.getSelectedFeaturesAsFeatureCollection(props);if(this._isSinglePointGeometrySelected(selectedGeometry)){return{type:"FeatureCollection",features:[]}}const boundingBox=bbox_polygon_default()(bbox_default()(selectedGeometry));if(boundingBox.properties)boundingBox.properties.mode="scale";const cornerGuidePoints=[];Object(meta_["coordEach"])(selectedGeometry,((coord,coordIndex)=>{if(coordIndex<4){const cornerPoint=Object(helpers_["point"])(coord,{guideType:"editHandle",editHandleType:"scale",positionIndexes:[coordIndex]});cornerGuidePoints.push(cornerPoint)}}));this._cornerGuidePoints=cornerGuidePoints;const lines=selectedGeometry.features.length&&polygon_to_line_default()(selectedGeometry.features[0]);let collection=[];if(lines)collection.push(lines);collection=[...collection,...this._cornerGuidePoints];return Object(helpers_["featureCollection"])(collection)}}class StaticTranslateMode_StaticTranslateMode extends external_nebula_gl_["TranslateMode"]{handlePointerMove(event,props){this._isTranslatable=false;this.updateCursor(props)}}class TransformMode_TransformMode extends external_nebula_gl_["CompositeMode"]{handlePointerMove(event,props){let updatedCursor=null;super.handlePointerMove(event,{...props,onUpdateCursor:cursor=>{updatedCursor=cursor||updatedCursor}});props.onUpdateCursor(updatedCursor)}handleStartDragging(event,props){let scaleMode=null;let translateMode=null;const filteredModes=[];this._modes.forEach((mode=>{if(mode instanceof external_nebula_gl_["TranslateMode"]||mode instanceof StaticTranslateMode_StaticTranslateMode){translateMode=mode}else{if(mode instanceof ScaleMode_ScaleMode){scaleMode=mode}filteredModes.push(mode)}}));if(scaleMode instanceof ScaleMode_ScaleMode&&!scaleMode.isEditHandleSelected()){filteredModes.push(translateMode)}filteredModes.filter(Boolean).forEach((mode=>mode.handleStartDragging(event,props)))}}var invariant_=__webpack_require__(45);var transform_rotate_=__webpack_require__(55);var transform_rotate_default=__webpack_require__.n(transform_rotate_);function getMiddlePoint(p1,p2){const x1=p1[0];const x2=p2[0];const y1=p1[1];const y2=p2[1];const maxX=Math.max(x1,x2);const maxY=Math.max(y1,y2);const minX=Math.min(x1,x2);const minY=Math.min(y1,y2);return new spatial_src["d"](minX+(maxX-minX)/2,minY+(maxY-minY)/2)}class RotateMode_RotateMode extends external_nebula_gl_["RotateMode"]{getGuides(props){const selectedGeometry=this._geometryBeingRotated||this.getSelectedFeaturesAsFeatureCollection(props);if(!selectedGeometry.features.length)return Object(helpers_["featureCollection"])([]);if(this._isRotating){return Object(helpers_["featureCollection"])([centroid_default()(selectedGeometry)])}const coords=Object(invariant_["getCoords"])(selectedGeometry.features[0]);const topLeft=coords[0][1];const topRight=coords[0][2];const topCenter=getMiddlePoint(topLeft,topRight);const pointToRotate=Object(helpers_["point"])(topLeft);const topCenterHigh=transform_rotate_default()(pointToRotate,90,{pivot:topCenter});const topCenterMiddle=getMiddlePoint(topCenter,Object(invariant_["getCoord"])(topCenterHigh));const topCenterLine=Object(helpers_["lineString"])([topCenterMiddle,topCenter]);const rotateHandle=Object(helpers_["point"])(topCenterMiddle,{guideType:"editHandle",editHandleType:"rotate"});return Object(helpers_["featureCollection"])([rotateHandle,topCenterLine])}}const ImageTransformMode=new TransformMode_TransformMode([new StaticTranslateMode_StaticTranslateMode,new ScaleMode_ScaleMode,new RotateMode_RotateMode]);class ImageLayer_ImageLayer extends external_deck_gl_["CompositeLayer"]{getCentroid(bounds){const poly=Object(helpers_["polygon"])([bounds]);const center=centroid_default()(poly);return center.geometry.coordinates}getBoundsColumnField(){var _this$props$bounds;return(_this$props$bounds=this.props.bounds)===null||_this$props$bounds===void 0?void 0:_this$props$bounds.field}getBounds(props,row){var _props$selectedRow,_props$selectedRow2,_props$selectedRow3;if(!this.props.bounds)return undefined;if(this.props.editable&&(_props$selectedRow=props.selectedRow)!==null&&_props$selectedRow!==void 0&&_props$selectedRow.updatingRow&&(_props$selectedRow2=props.selectedRow)!==null&&_props$selectedRow2!==void 0&&_props$selectedRow2.updatingRow._id&&((_props$selectedRow3=props.selectedRow)===null||_props$selectedRow3===void 0?void 0:_props$selectedRow3.updatingRow._id)===row._id){return props.selectedRow.updatingRow[this.getBoundsColumnField()]}return row[this.getBoundsColumnField()]}getImageColumnField(){var _this$props$image;return(_this$props$image=this.props.image)===null||_this$props$image===void 0?void 0:_this$props$image.field}getImage(props,row){if(!this.props.image)return undefined;return row[this.getImageColumnField()]}createEditLayer(id,bounds,selected,boundsColumn,index){return new external_nebula_gl_["EditableGeoJsonLayer"](Object(fp_["omitBy"])(fp_["isUndefined"],{id:`${id}-editable`,layerId:this.props.layerId,data:spatial_src["a"].fromPlain(bounds).toFeatureCollection(),mode:ImageTransformMode,visible:this.props.visible&&selected,pickable:true,boundsColumn,selected,editable:true,pickingDepth:1,filled:false,selectedFeatureIndexes:[0],getFillColor:[0,0,0,0],getLineWidth:0,getLineColor:[0,0,0,0],getEditHandlePointRadius:1,editHandlePointRadiusScale:1,editHandlePointRadiusUnits:"meters",editHandlePointRadiusMaxPixels:16,editHandlePointRadiusMinPixels:6,_subLayerProps:{geoJson:{pickable:false}},onEdit:event=>{var _event$updatedData;const bounds=(_event$updatedData=event.updatedData)===null||_event$updatedData===void 0?void 0:_event$updatedData.features[0].geometry.coordinates[0];if(!bounds)return;const coordinate=this.getCentroid(bounds);const pixel=this.context.viewport.project(coordinate);return this.props.onEdit&&this.props.onEdit({layer:{props:{layerId:this.props.layerId,pickable:this.props.pickable}},layerId:this.props.layerId,rowsetId:this.props.rowsetId,index,boundsColumn,editType:event.editType,bounds,coordinate,pixel})}}))}createBitmapLayer(id,image,bounds,selected,boundsColumn,index,etag){return new layers_["BitmapLayer"](Object(fp_["omitBy"])(fp_["isUndefined"],{id:`${id}-image_${etag}`,layerId:this.props.layerId,image:image!==null&&image!==void 0?image:"placeholder",loadOptions:this.props.loadOptions,bounds,boundsColumn,selected,bitmap:null,visible:this.props.visible,pickable:true,index}))}renderLayers(){var _props$rows;if(!this.props.bounds){return[]}const layers=(_props$rows=this.props.rows)===null||_props$rows===void 0?void 0:_props$rows.map(((row,index)=>{var _row$_id,_this$props$selectedR,_this$props$selectedR2,_this$props$selectedR3,_this$props$rows;const id=`${this.props.id}-${(_row$_id=row._id)!==null&&_row$_id!==void 0?_row$_id:index}`;const bounds=this.getBounds(this.props,row);const boundsColumn=this.getBoundsColumnField();const image=this.getImage(this.props,row);const selected=row._id&&this.props.layerId===((_this$props$selectedR=this.props.selectedRow)===null||_this$props$selectedR===void 0?void 0:_this$props$selectedR.layerId)&&true&&row._id===((_this$props$selectedR2=this.props.selectedRow)===null||_this$props$selectedR2===void 0?void 0:(_this$props$selectedR3=_this$props$selectedR2.updatingRow)===null||_this$props$selectedR3===void 0?void 0:_this$props$selectedR3._id);const subLayers=[];subLayers.push(this.createBitmapLayer(id,image,bounds,selected,boundsColumn,index,(_this$props$rows=this.props.rows)===null||_this$props$rows===void 0?void 0:_this$props$rows.etag));if(this.props.editable&&selected&&this.props.editing&&!this.props.dragging){subLayers.push(this.createEditLayer(id,bounds,selected,boundsColumn,index))}return subLayers}));return layers.flat()}}ImageLayer_ImageLayer.layerName="HoparaImageLayer";const IMAGE_PLACEHOLDER_NAME="placeholder";class ImageFetch_ImageFetch{getFormattedURL(imageURI,webGLMaxTextureSize){try{const url=new URL(imageURI);if(url.href.indexOf(config_src["a"].getValue("RESOURCE_API_ADDRESS"))<0)return imageURI;if(!Object(fp_["isNil"])(webGLMaxTextureSize))url.searchParams.append("max-size",webGLMaxTextureSize.toString());return url.toString()}catch(e){return imageURI}}getImageUrl(imageURI,webGLMaxTextureSize){if(imageURI==="placeholder")return;return this.getFormattedURL(imageURI,webGLMaxTextureSize)}fetch(authorization,downloadProgressCallback,opts){return async(imageURI,options)=>{const placeholderUrl=`${config_src["a"].getValue("RESOURCE_API_ADDRESS")}/tenant/${authorization.tenant}/image/${IMAGE_PLACEHOLDER_NAME}`;try{var _this$getImageUrl;const response=await Object(external_loaders_gl_core_["fetchFile"])((_this$getImageUrl=this.getImageUrl(imageURI,opts===null||opts===void 0?void 0:opts.webGLMaxTextureSize))!==null&&_this$getImageUrl!==void 0?_this$getImageUrl:placeholderUrl,options);if(downloadProgressCallback)await Object(Fetch["b"])(imageURI,Fetch["a"].IMAGE,response,downloadProgressCallback);if(!response.ok)throw new Error("invalid response");return response}catch(e){const response=await Object(external_loaders_gl_core_["fetchFile"])(placeholderUrl,options);if(downloadProgressCallback)await Object(Fetch["b"])(placeholderUrl,Fetch["a"].IMAGE,response,downloadProgressCallback);return response}}}}class ImageFactory_ImageFactory extends BaseFactory_BaseFactory{constructor(){super(...arguments);this.dragging=void 0}getTranslatedBounds(bounds,newCoordinate){const poly=Object(helpers_["polygon"])([bounds]);const center=centroid_default()(poly);const from=Object(helpers_["point"])(center.geometry.coordinates);const to=Object(helpers_["point"])(newCoordinate);const bearing=rhumb_bearing_default()(from,to);const distance=rhumb_distance_default()(from,to);const translated=transform_translate_default()(poly,distance,bearing);return translated.geometry.coordinates[0]}setDragging(dragging){this.dragging=dragging}isDragging(){return!!this.dragging}getLoadOptions(props){const imageFetch=new ImageFetch_ImageFetch;return{fetch:imageFetch.fetch(props.authorization,props.onResourceDownloadProgressChange,{webGLMaxTextureSize:props.maxTextureSize})}}create(props){var _props$encoding,_props$encoding2;const callbacks=this.getDeckLayerCallbacks(props);const deckProps=super.getDeckProps(props,{id:props.id,bounds:(_props$encoding=props.encoding)===null||_props$encoding===void 0?void 0:_props$encoding.bounds,loadOptions:this.getLoadOptions(props),image:(_props$encoding2=props.encoding)===null||_props$encoding2===void 0?void 0:_props$encoding2.image,rowsetId:props.rowsetId,rows:props.rows,editing:!!props.editing,dragging:!!props.dragging,selectedRow:this.getSelectedRow(props),pickable:props.pickable,...callbacks,onHover:(info,event)=>callbacks.onHover&&callbacks.onHover({...info,index:info.sourceLayer.props.index},event),onClick:(info,event)=>callbacks.onClick&&callbacks.onClick({...info,index:info.sourceLayer.props.index},event),onDragStart:(info,event)=>{if(!info.sourceLayer.props.selected||info.sourceLayer instanceof external_nebula_gl_["EditableGeoJsonLayer"])return;this.setDragging(true);const{index}=info.sourceLayer.props;return callbacks.onDragStart&&callbacks.onDragStart({...info,index},event)},onDrag:(info,event)=>{var _this$getSelectedRow,_this$getSelectedRow2;if(!info.sourceLayer.props.selected||!props.editing||info.sourceLayer instanceof external_nebula_gl_["EditableGeoJsonLayer"])return;const{index,bounds,boundsColumn}=info.sourceLayer.props;if(!bounds||!((_this$getSelectedRow=this.getSelectedRow(props))!==null&&_this$getSelectedRow!==void 0&&_this$getSelectedRow.cursorDisplacement))return;const fixedCoordinate=this.getFixedCoordinate(info.coordinate,(_this$getSelectedRow2=this.getSelectedRow(props))===null||_this$getSelectedRow2===void 0?void 0:_this$getSelectedRow2.cursorDisplacement);const newBounds=this.getTranslatedBounds(bounds,fixedCoordinate);const updatedData={[boundsColumn]:newBounds};return callbacks.onDrag&&callbacks.onDrag({...info,index,updatedData},event)},onDragEnd:(info,event)=>{var _this$getSelectedRow3;if(!info.sourceLayer.props.selected||!props.editing)return;const{index,bounds,boundsColumn}=info.sourceLayer.props;if(!bounds)return;const fixedCoordinate=this.getFixedCoordinate(info.coordinate,(_this$getSelectedRow3=this.getSelectedRow(props))===null||_this$getSelectedRow3===void 0?void 0:_this$getSelectedRow3.cursorDisplacement);const newBounds=this.getTranslatedBounds(bounds,fixedCoordinate);const updatedData={[boundsColumn]:newBounds};this.setDragging(false);return callbacks.onDragEnd&&callbacks.onDragEnd({...info,index,updatedData},event,true)},onEdit:info=>{if(this.isDragging())return;const{bounds,coordinate,boundsColumn,editType}=info;const updatedData={[boundsColumn]:bounds,_x:coordinate[0],_y:coordinate[1]};if(["translated","scaled","rotated","extruded"].indexOf(editType)>-1){return callbacks.onEditEnd&&callbacks.onEditEnd({...info,coordinate,updatedData},{})}return callbacks.onEdit&&callbacks.onEdit({...info,coordinate,updatedData},{})}});return new ImageLayer_ImageLayer(deckProps)}}var typed_=__webpack_require__(128);const functions=`\nvec4 hsla2rgba(vec4 hsla) {\n float h = hsla.x;\n float s = hsla.y;\n float l = hsla.z;\n float a = hsla.w;\n float c = (1.0 - abs(2.0 * l - 1.0)) * s;\n float x = c * (1.0 - abs(mod(h / 60.0, 2.0) - 1.0));\n float m = l - 0.5 * c;\n vec3 rgb;\n if (h < 60.0) {\n rgb = vec3(c, x, 0.0);\n } else if (h < 120.0) {\n rgb = vec3(x, c, 0.0);\n } else if (h < 180.0) {\n rgb = vec3(0.0, c, x);\n } else if (h < 240.0) {\n rgb = vec3(0.0, x, c);\n } else if (h < 300.0) {\n rgb = vec3(x, 0.0, c);\n } else {\n rgb = vec3(c, 0.0, x);\n }\n return vec4(rgb + m, a);\n}\n\nvec4 rgba2hsla(vec4 rgba) {\n float r = rgba.x;\n float g = rgba.y;\n float b = rgba.z;\n float a = rgba.w;\n float max = max(r, max(g, b));\n float min = min(r, min(g, b));\n float h = 0.0;\n float s = 0.0;\n float l = (max + min) / 2.0;\n float d = max - min;\n if (max != min) {\n if (max == r) {\n h = 60.0 * (g - b) / d;\n } else if (max == g) {\n h = 60.0 * (b - r) / d + 120.0;\n } else {\n h = 60.0 * (r - g) / d + 240.0;\n }\n if (l > 0.5) {\n s = d / (2.0 - max - min);\n } else {\n s = d / (max + min);\n }\n }\n return vec4(h, s, l, a);\n}\n\n// function that receives a rgba color and returns a new rgba color with lightness increased by 20%\nvec4 lighten(vec4 color, float lightness) {\n float h, s, l, a;\n vec4 hsla = rgba2hsla(color);\n h = hsla.x;\n s = hsla.y;\n l = hsla.z;\n a = hsla.w;\n l = l + lightness;\n if (l > 1.0) {\n l = 1.0;\n }\n return hsla2rgba(vec4(h, s, l, a));\n}\n`;class LineLayer_LineLayer extends layers_["PathLayer"]{initializeState(){super.initializeState({});const attributeManager=this.getAttributeManager();attributeManager.addInstanced({timestamps:{size:1,accessor:"getTimestamps",shaderAttributes:{instanceTimestamps:{vertexOffset:0},instanceNextTimestamps:{vertexOffset:1}}},isAnimated:{size:1,accessor:"getIsAnimated",shaderAttributes:{instanceIsAnimated:{vertexOffset:0}}}})}draw(opts){let uniformValues={};let animationEngine;if(this.props.animationType){animationEngine=new AnimationEngine["a"]({layerId:this.props.id,timeline:opts.context.timeline,animationDataList:this.props.animations,redrawFn:()=>this.setNeedsRedraw()});uniformValues=animationEngine.getUniforms()}const{jointRounded,capRounded,billboard,miterLimit,widthUnits,widthScale,widthMinPixels,widthMaxPixels}=this.props;this.state.model.setUniforms(opts.uniforms).setUniforms({jointType:Number(jointRounded),capType:Number(capRounded),billboard,widthUnits:typed_["UNIT"][widthUnits],widthScale,miterLimit,widthMinPixels,widthMaxPixels,segmentLength:this.props.segmentLength/this.props.speed,...uniformValues}).draw();if(animationEngine){animationEngine.render()}}getShaders(){const shaders=super.getShaders();shaders.inject={"vs:#decl":`\n uniform float segmentLength;\n attribute float instanceTimestamps;\n attribute float instanceNextTimestamps;\n attribute float instanceIsAnimated;\n varying float vTime;\n varying float segmentLengthReal;\n varying float pathLengthCommons;\n varying float pathLengthPixel;\n varying float totalTime;\n varying float isAnimated;\n `,"vs:#main-end":`\n vTime = instanceTimestamps + (instanceNextTimestamps - instanceTimestamps) * vPathPosition.y / vPathLength;\n pathLengthPixel = vPathLength;\n pathLengthCommons = project_pixel_size(vPathLength);\n totalTime = instanceNextTimestamps - instanceTimestamps;\n isAnimated = instanceIsAnimated;\n \n `,"fs:#decl":`\n uniform float currentTime;\n uniform float segmentLength;\n varying float vTime;\n varying float pathLengthCommons;\n varying float pathLengthPixel;\n varying float totalTime;\n varying float isAnimated;\n ${functions}\n \n `,"fs:DECKGL_FILTER_COLOR":`\n int currentStep = 0;\n if (isAnimated > 0.0) { \n currentStep = int((currentTime - vTime) / segmentLength);\n } else {\n currentStep = int(vTime / segmentLength);\n }\n if(segmentLength > 0.0) {\n if (mod(float(currentStep), 2.0) > 0.0) {\n vec4 rgba = lighten(vec4(color.r, color.g, color.b, color.a), 0.1);\n color.r = rgba.x;\n color.g = rgba.y;\n color.b = rgba.z;\n color.a = rgba.a;\n }\n }\n `};return shaders}}LineLayer_LineLayer.layerName="LineLayer";function maxBy(array,field){return array.reduce(((max,item)=>{if(max[field]<item[field]){return item}return max}))}function deepMax(array){let max=0;array.forEach((item=>{if(Array.isArray(item)){const candidate=deepMax(item);if(candidate>max){max=candidate}}else{if(item>max){max=item}}}));return max}var LineEncoding=__webpack_require__(61);var distance_=__webpack_require__(129);var distance_default=__webpack_require__.n(distance_);const DEFAULT_METERS_PER_SECOND=500;const getRowDistances=(row,pathField)=>{const route=row[pathField];const distances=route.map(((_,index)=>{const point1=route[index];const point2=route[index+1];if(!point2){return}return distance_default()(point1,point2,{units:"kilometers"})})).filter((distance=>!!distance));let accDistance=0;return distances.map((distance=>{accDistance+=distance;return accDistance}))};const getDurationMs=(distanceMeters,speedMPerSecond)=>1e3*(distanceMeters/(speedMPerSecond/1e3));const getTimelineData=(data,pathField,speedMPerSecond)=>{if(!pathField){return{durationMs:0,timestampFn:()=>undefined}}const allDistances=data.map((row=>getRowDistances(row,pathField)));const maxDistance=deepMax(allDistances);const durationMs=getDurationMs(maxDistance,speedMPerSecond);return{durationMs,timestampFn:row=>{const distances=getRowDistances(row,pathField);return[0,...distances.map((distance=>getDurationMs(distance,speedMPerSecond)))]}}};class LineFactory_LineFactory extends BaseFactory_BaseFactory{create(props){var _props$encoding,_props$encoding$line,_props$encoding$color,_props$encoding2,_props$encoding2$colo,_props$encoding2$colo2,_props$encoding4,_props$encoding$line2,_props$encoding5,_props$encoding5$size,_props$encoding6,_props$encoding$line3,_props$encoding$color2,_props$encoding$color3,_props$encoding7,_props$encoding7$size;const pathField=(_props$encoding=props.encoding)===null||_props$encoding===void 0?void 0:(_props$encoding$line=_props$encoding.line)===null||_props$encoding$line===void 0?void 0:_props$encoding$line.field;const data=props.rows;const speed=(_props$encoding$color=(_props$encoding2=props.encoding)===null||_props$encoding2===void 0?void 0:(_props$encoding2$colo=_props$encoding2.color)===null||_props$encoding2$colo===void 0?void 0:(_props$encoding2$colo2=_props$encoding2$colo.animation)===null||_props$encoding2$colo2===void 0?void 0:_props$encoding2$colo2.speed)!==null&&_props$encoding$color!==void 0?_props$encoding$color:DEFAULT_METERS_PER_SECOND;const timelineData=getTimelineData(data,pathField,speed);const deckProps=super.getDeckProps(props,{id:props.id,layerId:props.layerId,data,getPath:row=>pathField?row[pathField]:undefined,getIsAnimated:row=>{var _props$encoding3,_props$encoding3$colo,_props$encoding3$colo2;if(!AnimatedLayerFactory["a"].hasAnimations(props.encoding)){return[0]}const animationField=(_props$encoding3=props.encoding)===null||_props$encoding3===void 0?void 0:(_props$encoding3$colo=_props$encoding3.color)===null||_props$encoding3$colo===void 0?void 0:(_props$encoding3$colo2=_props$encoding3$colo.animation)===null||_props$encoding3$colo2===void 0?void 0:_props$encoding3$colo2.field;if(!animationField){return[1]}return row[animationField]?[1]:[0]},getColor:this.getColorAccessor(props.columns,(_props$encoding4=props.encoding)===null||_props$encoding4===void 0?void 0:_props$encoding4.color,props.rows),capRounded:((_props$encoding$line2=props.encoding.line)===null||_props$encoding$line2===void 0?void 0:_props$encoding$line2.cap)===LineEncoding["a"].ROUND,jointRounded:true,widthUnits:(_props$encoding5=props.encoding)===null||_props$encoding5===void 0?void 0:(_props$encoding5$size=_props$encoding5.size)===null||_props$encoding5$size===void 0?void 0:_props$encoding5$size.getUnits(),getWidth:super.getSizeAccessor({rows:props.rows,encoding:(_props$encoding6=props.encoding)===null||_props$encoding6===void 0?void 0:_props$encoding6.size,factor:.5,columns:props.columns}),speed:speed/1e3,segmentLength:(_props$encoding$line3=props.encoding.line)===null||_props$encoding$line3===void 0?void 0:_props$encoding$line3.segmentLength,updateTrigger:{getColor:super.getEncodingUpdateTrigger(props.encoding.color,props.rows),getWidth:super.getEncodingUpdateTrigger(props.encoding.size,props.rows),getPath:super.getPositionUpdateTrigger(props.encoding.position,props.editing,props.rows)},pickable:true,getTimestamps:timelineData.timestampFn,animationType:(_props$encoding$color2=props.encoding.color)===null||_props$encoding$color2===void 0?void 0:(_props$encoding$color3=_props$encoding$color2.animation)===null||_props$encoding$color3===void 0?void 0:_props$encoding$color3.type,animations:[{channel:{duration:timelineData.durationMs,repeat:Number.POSITIVE_INFINITY},keyFrames:{"0%":{currentTime:0},"100%":{currentTime:timelineData.durationMs}}}],...super.getDeckLayerCallbacks(props)});if((_props$encoding7=props.encoding)!==null&&_props$encoding7!==void 0&&(_props$encoding7$size=_props$encoding7.size)!==null&&_props$encoding7$size!==void 0&&_props$encoding7$size.isCommon()){var _props$encoding8,_props$encoding8$size,_props$encoding9,_props$encoding9$size;deckProps.widthMinPixels=(_props$encoding8=props.encoding)===null||_props$encoding8===void 0?void 0:(_props$encoding8$size=_props$encoding8.size)===null||_props$encoding8$size===void 0?void 0:_props$encoding8$size.getMinPixels();deckProps.widthMaxPixels=(_props$encoding9=props.encoding)===null||_props$encoding9===void 0?void 0:(_props$encoding9$size=_props$encoding9.size)===null||_props$encoding9$size===void 0?void 0:_props$encoding9$size.getMaxPixels()}return new LineLayer_LineLayer(Object(fp_["omitBy"])(fp_["isUndefined"],deckProps))}}const layerIdEtagDict={};const etagChanged=props=>{var _props$rows2;if(!layerIdEtagDict[props.layerId]){var _props$rows;layerIdEtagDict[props.layerId]=(_props$rows=props.rows)===null||_props$rows===void 0?void 0:_props$rows.etag;return true}if(layerIdEtagDict[props.layerId]!==((_props$rows2=props.rows)===null||_props$rows2===void 0?void 0:_props$rows2.etag)){var _props$rows3;layerIdEtagDict[props.layerId]=(_props$rows3=props.rows)===null||_props$rows3===void 0?void 0:_props$rows3.etag;return true}return false};function getUpdateTriggers(currentUpdateTriggers,visible,colorAccessorName){var _currentUpdateTrigger,_updateTriggers$color;const updateTriggers=(_currentUpdateTrigger=currentUpdateTriggers.updateTriggers)!==null&&_currentUpdateTrigger!==void 0?_currentUpdateTrigger:{};return{...updateTriggers,[colorAccessorName]:[...(_updateTriggers$color=updateTriggers[colorAccessorName])!==null&&_updateTriggers$color!==void 0?_updateTriggers$color:[],visible]}}function decorateAccessor(accessor,visible){return row=>{var _ref;let color=(_ref=typeof accessor==="function"?accessor(row):accessor)!==null&&_ref!==void 0?_ref:[0,0,0,0];if(!visible){color=[color[0],color[1],color[2],0]}return color}}function decorateTransition(layerProps,deckProps,colorAccessorName){if(!deckProps[colorAccessorName]){return deckProps}if(etagChanged(layerProps)){return deckProps}const props={...deckProps,id:deckProps.id,[colorAccessorName]:decorateAccessor(deckProps[colorAccessorName],deckProps.visible),updateTriggers:getUpdateTriggers(deckProps.updateTriggers,deckProps.visible,colorAccessorName),pickable:deckProps.visible?deckProps.pickable:false,visible:true};return Object(fp_["omitBy"])(fp_["isUndefined"],{...props,transitions:{...props.transitions,[colorAccessorName]:{duration:300}}})}const GL={LINE_STRIP:3,TRIANGLE_FAN:6};const getSolidPolygonLayerClass=animationDataList=>{const animatedSolidPolygonLayer=class AnimatedSolidPolygonLayer extends layers_["SolidPolygonLayer"]{draw(opts){const animationEngine=new AnimationEngine["a"]({layerId:this.props.id,timeline:opts.context.timeline,animationDataList,redrawFn:()=>{this.setNeedsRedraw()}});const uniformValues=animationEngine.getUniforms();const{extruded,filled,wireframe,elevationScale}=this.props;const{topModel,sideModel,polygonTesselator}=this.state;const renderUniforms={...opts.uniforms,extruded:Boolean(extruded),elevationScale,...uniformValues};if(sideModel){sideModel.setInstanceCount(polygonTesselator.instanceCount-1);sideModel.setUniforms(renderUniforms);if(wireframe){sideModel.setDrawMode(GL.LINE_STRIP);sideModel.setUniforms({isWireframe:true}).draw()}if(filled){sideModel.setDrawMode(GL.TRIANGLE_FAN);sideModel.setUniforms({isWireframe:false}).draw()}}if(topModel){topModel.setVertexCount(polygonTesselator.vertexCount);topModel.setUniforms(renderUniforms).draw()}animationEngine.render()}};animatedSolidPolygonLayer.layerName="HoparaAnimatedSolidPolygonLayer";return animatedSolidPolygonLayer};class AnimatedPolygonLayer_AnimatedGeoJsonLayer extends layers_["GeoJsonLayer"]{getSubLayerClass(subLayerId,DefaultLayerClass){const{_subLayerProps:overridingProps}=this.props;const geoJsonProps=this.props;const AnimatedSolidPolygonLayer=getSolidPolygonLayerClass(geoJsonProps.animations);return overridingProps&&overridingProps[subLayerId]&&overridingProps[subLayerId].type||AnimatedSolidPolygonLayer}}AnimatedPolygonLayer_AnimatedGeoJsonLayer.layerName="AnimatedGeoJsonLayer";class AnimatedPolygonLayer_AnimatedPolygonLayer extends layers_["PolygonLayer"]{getSubLayerClass(subLayerId,DefaultLayerClass){const{_subLayerProps:overridingProps}=this.props;const geoJsonProps=this.props;const AnimatedSolidPolygonLayer=getSolidPolygonLayerClass(geoJsonProps.animations);return overridingProps&&overridingProps[subLayerId]&&overridingProps[subLayerId].type||AnimatedSolidPolygonLayer}}AnimatedPolygonLayer_AnimatedPolygonLayer.layerName="AnimatedPolygonLayer";function getPickedEditHandles(picks){const handles=picks&&picks.filter((pick=>pick.isGuide&&pick.object.properties.guideType==="editHandle")).map((pick=>pick.object))||[];return handles}function getPickedEditHandle(picks){const handles=getPickedEditHandles(picks);return handles.length?handles[0]:null}function getPickedIntermediateEditHandle(picks){const handles=getPickedEditHandles(picks);return handles.find((_ref=>{let{properties}=_ref;return properties.featureIndex>=0&&properties.editHandleType==="intermediate"}))}class ExtrudeMode_ExtrudeMode extends external_nebula_gl_["ExtrudeMode"]{handleClick(){return}handleDragging(event,props){const editHandle=getPickedEditHandle(event.pointerDownPicks);if(editHandle){const{featureIndex}=editHandle.properties;if(featureIndex===undefined)return;super.handleDragging(event,props)}}handleStartDragging(event,props){const selectedFeatureIndexes=props.selectedIndexes;const editHandle=getPickedIntermediateEditHandle(event.picks);if(selectedFeatureIndexes.length&&editHandle){const{positionIndexes,featureIndex}=editHandle.properties;if(positionIndexes!==undefined&&featureIndex!==undefined)super.handleStartDragging(event,props)}}handleStopDragging(event,props){const selectedFeatureIndexes=props.selectedIndexes;const editHandle=getPickedEditHandle(event.pointerDownPicks);if(selectedFeatureIndexes.length&&editHandle){const{featureIndex,positionIndexes}=editHandle.properties;if(positionIndexes!==undefined&&featureIndex!==undefined)super.handleStopDragging(event,props)}}}class TranslateMode_TranslateMode extends external_nebula_gl_["TranslateMode"]{constructor(){super(...arguments);this._isTranslatable=void 0;this._geometryBeforeTranslate=void 0}handleClick(){return}handleDragging(event,props){if(!this._isTranslatable){return}if(this._geometryBeforeTranslate){const editAction=this.getTranslateAction(event.pointerDownMapCoords,event.mapCoords,"translating",props);if(editAction){props.onEdit(editAction)}}event.cancelPan()}notContainsGuide(picks){return!picks.some((elm=>elm.isGuide))}handlePointerMove(event,props){this._isTranslatable=this.isSelectionPicked(event.pointerDownPicks||event.picks,props)&&this.notContainsGuide(event.picks);this.updateCursor(props)}handleStartDragging(event,props){if(!this._isTranslatable){return}this._geometryBeforeTranslate=this.getSelectedFeaturesAsFeatureCollection(props)}handleStopDragging(event,props){if(this._geometryBeforeTranslate){const editAction=this.getTranslateAction(event.pointerDownMapCoords,event.mapCoords,"translated",props);if(editAction){props.onEdit(editAction)}this._geometryBeforeTranslate=null}}}const animatedGeoJsonLayerFactory=new AnimatedLayerFactory["a"](layers_["GeoJsonLayer"],AnimatedPolygonLayer_AnimatedGeoJsonLayer);const animatedPolygonLayerFactory=new AnimatedLayerFactory["a"](layers_["PolygonLayer"],AnimatedPolygonLayer_AnimatedPolygonLayer);const PolygonTransformMode=new TransformMode_TransformMode([new TranslateMode_TranslateMode,new ExtrudeMode_ExtrudeMode,new ScaleMode_ScaleMode,new RotateMode_RotateMode]);class PolygonFactory_PolygonFactory extends StrokableFactory_StrokableFactory{getColorProps(color,rows,columns,rowTranslator){if(color){const colorAccessor=super.getColorAccessor(columns,color,rows,rowTranslator);return{filled:true,getFillColor:colorAccessor}}else{return{filled:false,pickable:false}}}getData(rows,encoding,columns){if(encoding.polygon&&encoding.polygon.isGeoJson(columns)){const field=encoding.polygon.field;if(rows){return rows.map((row=>row[field]))}}return rows}getPolygon(polygonEncoding){return row=>Object(fp_["isArray"])(row[polygonEncoding.field])?row[polygonEncoding.field]:[]}getLayerProps(props,rows,rowTranslator){var _props$encoding,_props$encoding2,_props$encoding3,_props$encoding4,_props$encoding5;return{id:props.id+(rows===null||rows===void 0?void 0:rows.etag),layerId:props.layerId,pickable:props.pickable,updateTriggers:{getFillColor:super.getEncodingUpdateTrigger((_props$encoding=props.encoding)===null||_props$encoding===void 0?void 0:_props$encoding.color,rows),getLineColor:super.getEncodingUpdateTrigger((_props$encoding2=props.encoding)===null||_props$encoding2===void 0?void 0:_props$encoding2.strokeColor,rows),getLineWidth:super.getEncodingUpdateTrigger((_props$encoding3=props.encoding)===null||_props$encoding3===void 0?void 0:_props$encoding3.strokeSize,rows),getPosition:super.getPositionUpdateTrigger(props.encoding.position,props.editing,rows)},data:this.getData(rows,props.encoding,props.columns),...this.getColorProps((_props$encoding4=props.encoding)===null||_props$encoding4===void 0?void 0:_props$encoding4.color,rows,props.columns,rowTranslator),...this.getStrokeSizeProps(rows,props.columns,props.encoding.strokeSize,rowTranslator),...this.getColorStrokeProps((_props$encoding5=props.encoding)===null||_props$encoding5===void 0?void 0:_props$encoding5.strokeColor,rows,props.columns,rowTranslator),...super.getDeckLayerCallbacks(props,rowTranslator)}}getCentroid(bounds){const poly=Object(helpers_["polygon"])([bounds]);const center=centroid_default()(poly);return center.geometry.coordinates}getTransformMode(props,selectedRowIndex){return this.getSelectedRow(props)&&selectedRowIndex>=0?PolygonTransformMode:new external_nebula_gl_["ViewMode"]}createEditablePolygonLayer(props,deckProps,rows){const rowsAsGeoJson=rows===null||rows===void 0?void 0:rows.map((row=>row[this.EDITABLE_FEATURE_FIELD])).filter((feature=>!!feature));const data=Object(helpers_["featureCollection"])(rowsAsGeoJson);const selectedRow=rows.find((r=>{var _this$getSelectedRow;return r._id===((_this$getSelectedRow=this.getSelectedRow(props))===null||_this$getSelectedRow===void 0?void 0:_this$getSelectedRow.updatingRow._id)}));const selectedRowIndex=selectedRow?rowsAsGeoJson.findIndex((r=>JSON.stringify(r)===JSON.stringify(selectedRow[this.EDITABLE_FEATURE_FIELD]))):-1;return new external_nebula_gl_["EditableGeoJsonLayer"]({...deckProps,id:deckProps.id+"#editable",data,mode:this.getTransformMode(props,selectedRowIndex),selectedFeatureIndexes:this.getSelectedRow(props)&&selectedRowIndex>=0?[selectedRowIndex]:undefined,onDragStart:undefined,onDrag:undefined,onDragEnd:undefined,onClick:(o,e)=>{if(o.isGuide)return;return deckProps.onClick(o,e)},getEditHandlePointRadius:1,editHandlePointRadiusScale:1,editHandlePointRadiusUnits:"meters",editHandlePointRadiusMaxPixels:16,editHandlePointRadiusMinPixels:6,dataComparator:()=>false,onEdit:event=>{var _event$updatedData,_event$updatedData2,_props$encoding$polyg,_props$encoding$polyg2;const bounds=(_event$updatedData=event.updatedData)===null||_event$updatedData===void 0?void 0:_event$updatedData.features[selectedRowIndex].geometry.coordinates[0];if(!bounds)return;const coordinate=this.getCentroid(bounds);const pixel=coordinate;const callbackInfo={layer:{props:{pickable:deckProps.pickable,layerId:deckProps.layerId}},object:(_event$updatedData2=event.updatedData)===null||_event$updatedData2===void 0?void 0:_event$updatedData2.features[selectedRowIndex],layerId:deckProps.layerId,rowsetId:deckProps.rowsetId,index:event.index,editType:event.editType,bounds,coordinate,pixel,updatedData:(_props$encoding$polyg=props.encoding.polygon)!==null&&_props$encoding$polyg!==void 0&&_props$encoding$polyg.field?{[(_props$encoding$polyg2=props.encoding.polygon)===null||_props$encoding$polyg2===void 0?void 0:_props$encoding$polyg2.field]:bounds,_x:coordinate[0],_y:coordinate[1]}:undefined};if(["translated","scaled","rotated","extruded"].indexOf(event.editType)>-1){return deckProps.onEditEnd&&deckProps.onEditEnd(callbackInfo)}return deckProps.onEdit&&deckProps.onEdit(callbackInfo)}})}createGeoJsonLayers(props,rows){const rowTranslator=this.getRowTranslator(rows,props.encoding,props.columns,props.editable&&props.editing);const layerProps=this.getLayerProps(props,rows,rowTranslator);const deckProps=super.getDeckProps(props,layerProps);const decoratedDeckProps=decorateTransition(props,deckProps,"getFillColor");if(props.editable&&props.editing){return this.createEditablePolygonLayer(props,decoratedDeckProps,rows)}else if(AnimatedLayerFactory["a"].hasAnimations(props.encoding)){return animatedGeoJsonLayerFactory.create(props.encoding,decoratedDeckProps,super.getDeckLayerCallbacks(props,rowTranslator))}return new layers_["GeoJsonLayer"](decoratedDeckProps)}createPolygonLayers(props,rows){const rowTranslator=this.getRowTranslator(rows,props.encoding,props.columns,props.editable&&props.editing);const layerProps=this.getLayerProps(props,rows,rowTranslator);const deckProps=super.getDeckProps(props,{...layerProps,getPolygon:this.getPolygon(props.encoding.polygon)});let decoratedDeckProps=deckProps;if(!this.hasStroke(props.encoding.strokeSize)){decoratedDeckProps=decorateTransition(props,deckProps,"getFillColor")}if(props.editable&&props.editing){return this.createEditablePolygonLayer(props,decoratedDeckProps,rows)}else if(AnimatedLayerFactory["a"].hasAnimations(props.encoding)){return animatedPolygonLayerFactory.create(props.encoding,decoratedDeckProps,super.getDeckLayerCallbacks(props,rowTranslator))}return new layers_["PolygonLayer"](decoratedDeckProps)}doCreate(props,rows){var _props$encoding$polyg3;if((_props$encoding$polyg3=props.encoding.polygon)!==null&&_props$encoding$polyg3!==void 0&&_props$encoding$polyg3.isGeoJson(props.columns))return this.createGeoJsonLayers(props,rows);return this.createPolygonLayers(props,rows)}parseContent(row,polygonEncoding){const fieldContent=row[polygonEncoding.field];if(typeof fieldContent==="string"){try{return JSON.parse(fieldContent)}catch{}}return fieldContent}getEditableFeature(row,field,props){var _this$getSelectedRow2,_this$getSelectedRow3,_this$getSelectedRow4,_this$getSelectedRow5,_row$field,_props$encoding$polyg4;const geometry=((_this$getSelectedRow2=this.getSelectedRow(props))===null||_this$getSelectedRow2===void 0?void 0:(_this$getSelectedRow3=_this$getSelectedRow2.updatingRow)===null||_this$getSelectedRow3===void 0?void 0:_this$getSelectedRow3._id)!==undefined&&((_this$getSelectedRow4=this.getSelectedRow(props))===null||_this$getSelectedRow4===void 0?void 0:_this$getSelectedRow4.updatingRow._id)===row._id?(_this$getSelectedRow5=this.getSelectedRow(props))===null||_this$getSelectedRow5===void 0?void 0:_this$getSelectedRow5.updatingRow[field]:(_row$field=row[field])!==null&&_row$field!==void 0?_row$field:[];if((_props$encoding$polyg4=props.encoding.polygon)!==null&&_props$encoding$polyg4!==void 0&&_props$encoding$polyg4.isGeoJson(props.columns)){return{...geometry,properties:{...geometry.properties,rowId:row._id}}}return geometry&&geometry.length>=4?Object(helpers_["polygon"])([geometry],{rowId:row._id}):undefined}create(props){const parsedRows=new dataset_src["k"];for(const row of(_props$rows=props.rows)!==null&&_props$rows!==void 0?_props$rows:[]){var _props$rows,_props$encoding$polyg5;const clonedRow=new dataset_src["i"](row);const field=(_props$encoding$polyg5=props.encoding.polygon)===null||_props$encoding$polyg5===void 0?void 0:_props$encoding$polyg5.field;if(field)clonedRow[field]=this.parseContent(clonedRow,props.encoding.polygon);if(field&&props.editable&&props.editing)clonedRow[this.EDITABLE_FEATURE_FIELD]=this.getEditableFeature(clonedRow,field,props);parsedRows.push(clonedRow)}parsedRows.etag=props.rows.etag;parsedRows.columns=props.rows.columns;return this.doCreate(props,parsedRows)}}const MAX_TEXT_LENGTH=32;const getSpecialChars=()=>{const charNumbers=[...Array(256).keys(),8722];return charNumbers.map((charCode=>String.fromCharCode(charCode)))};const characterSet=getSpecialChars();const fontSettings={fontSize:50};class TextFactory_TextFactory extends BaseFactory_BaseFactory{constructor(){super(...arguments);this.getText=text=>row=>{const value=text.getValue(row);if(!Object(fp_["isNil"])(value)){return value.toString().substring(0,MAX_TEXT_LENGTH)}return""}}create(props){var _props$encoding,_props$encoding2,_props$encoding3,_props$encoding4,_props$encoding4$size,_props$encoding5,_props$encoding5$size;const textEncoding=(_props$encoding=props.encoding)===null||_props$encoding===void 0?void 0:_props$encoding.text;const colorAccessor=super.getColorAccessor(props.columns,(_props$encoding2=props.encoding)===null||_props$encoding2===void 0?void 0:_props$encoding2.color,props.rows);const sizeAccessor=super.getSizeAccessor({rows:props.rows,encoding:(_props$encoding3=props.encoding)===null||_props$encoding3===void 0?void 0:_props$encoding3.size,columns:props.columns});let deckProps=super.getDeckProps(props,{id:`${props.id}-#${textEncoding.field}`,pickable:props.pickable,data:props.rows,getText:this.getText(textEncoding),characterSet,sizeUnits:((_props$encoding4=props.encoding)===null||_props$encoding4===void 0?void 0:(_props$encoding4$size=_props$encoding4.size)===null||_props$encoding4$size===void 0?void 0:_props$encoding4$size.getUnits())||"pixels",getAngle:textEncoding.getAngle(),fontWeight:textEncoding.getWeight(),getTextAnchor:textEncoding.getAnchor(),getPosition:super.getPositionAccessor(props),getSize:sizeAccessor,sizeMaxPixels:((_props$encoding5=props.encoding)===null||_props$encoding5===void 0?void 0:(_props$encoding5$size=_props$encoding5.size)===null||_props$encoding5$size===void 0?void 0:_props$encoding5$size.getMaxPixels())||Number.MAX_SAFE_INTEGER,getColor:colorAccessor,updateTriggers:{getColor:super.getEncodingUpdateTrigger(props.encoding.color,props.rows),getSize:super.getEncodingUpdateTrigger(props.encoding.size,props.rows),getPosition:super.getPositionUpdateTrigger(props.encoding.position,props.editing,props.rows),getText:super.getEncodingUpdateTrigger(props.encoding.text,props.rows),getWeight:super.getEncodingUpdateTrigger(props.encoding.text,props.rows),getTextAnchor:super.getEncodingUpdateTrigger(props.encoding.text,props.rows)},fontFamily:"Arial",fontSettings,...super.getDeckLayerCallbacks(props)});deckProps=decorateOffset(props,deckProps,"getPixelOffset");return new layers_["TextLayer"](Object(fp_["omitBy"])(fp_["isUndefined"],deckProps))}}var external_vega_=__webpack_require__(24);var external_vega_lite_=__webpack_require__(92);var memoize_src=__webpack_require__(87);function getDeckProps(id,data,cacheKey,dataComparator){dataComparator.update(id,{cacheKey});return{id,data,dataComparator:()=>dataComparator.isEqual(id)}}function newVegaLineLayer(id,data,cacheKey,dataComparator){return new layers_["LineLayer"]({...getDeckProps(id,data,cacheKey,dataComparator),widthUnits:"pixels",getColor:o=>o.color,getWidth:o=>o.strokeWidth})}const getCharacterSet=()=>{const charNumbers=[...Array(256).keys(),8722];return charNumbers.map((charCode=>String.fromCharCode(charCode)))};const VegaTextLayerFactory_characterSet=getCharacterSet();const VegaTextLayerFactory_fontSettings={sdf:false,fontSize:128,buffer:3};const _subLayerProps={characters:{alphaCutoff:.1}};function newVegaTextLayer(id,data,cacheKey,dataComparator){return new layers_["TextLayer"]({...getDeckProps(id,data,cacheKey,dataComparator),characterSet:VegaTextLayerFactory_characterSet,sizeUnits:"pixels",autoHighlight:true,pickable:true,fontFamily:"Arial",fontSettings:VegaTextLayerFactory_fontSettings,getColor:o=>o.color,getTextAnchor:o=>o.textAnchor,getSize:o=>o.size,getAngle:o=>o.angle,_subLayerProps})}function newVegaPathLayer(id,data,cacheKey,dataComparator){if(!data)return null;return new layers_["PathLayer"]({...getDeckProps(id,data,cacheKey,dataComparator),widthScale:1,widthMinPixels:2,widthUnits:"pixels",getPath:o=>o.positions,getColor:o=>o.strokeColor,getWidth:o=>o.strokeWidth})}function newVegaPolygonLayer(id,data,cacheKey,dataComparator){if(!data)return null;const newlayer=new layers_["PolygonLayer"]({...getDeckProps(id,data,cacheKey,dataComparator),getPolygon:o=>o.positions,getFillColor:o=>o.fillColor,getLineColor:o=>o.strokeColor,wireframe:false,filled:true,stroked:true,pickable:true,extruded:true,getElevation:o=>o.depth,getLineWidth:o=>o.strokeWidth});return newlayer}function newVegaCircleLayer(id,data,cacheKey,dataComparator){return new layers_["ScatterplotLayer"]({...getDeckProps(id,data,cacheKey,dataComparator),stroked:true,filled:true,pickable:true,radiusUnits:"pixels",getFillColor:o=>o.color,getLineColor:o=>o.strokeColor,getLineWidth:o=>o.strokeWidth,getPosition:o=>o.position,getRadius:o=>o.size})}const layerNames={lines:"VEGA_LAYER_LINES",text:"VEGA_LAYER_TEXT",paths:"VEGA_LAYER_PATHS",polygons:"VEGA_LAYER_POLYGONS",circles:"VEGA_LAYER_CIRCLES"};function getFacetLayers(stage,cacheKey,dataComparator,guideLines){if(!stage.facets)return[];const lines=guideLines!==null&&guideLines!==void 0&&guideLines.length?guideLines:[];stage.facets.forEach((f=>{if(f.lines)lines.push.apply(lines,f.lines)}));const facetLineLayer=newVegaLineLayer("FACET_"+layerNames.lines,lines,cacheKey,dataComparator);return[facetLineLayer]}function getAxesDomainLayers(stage,cacheKey,dataComparator){const{x,y,z}=stage.axes;return[x,y,z].map(((axes,i)=>{const lines=[];const texts=[];const role=i===0?"X":i===1?"Y":"Z";axes.forEach((axis=>{if(axis.domain)lines.push(axis.domain);if(axis.title)texts.push(axis.title)}));const layerPrefix="AXIS_"+role+"_DOMAIN_";const lineLayer=newVegaLineLayer(layerPrefix+layerNames.lines,lines,cacheKey,dataComparator);const textLayer=newVegaTextLayer(layerPrefix+layerNames.text,texts,cacheKey,dataComparator);return[textLayer,lineLayer]}))}function getAxesTicksLayers(stage,cacheKey,dataComparator){const{x,y,z}=stage.axes;return[x,y,z].map(((axes,i)=>{const lines=[];const texts=[];const gridLines=[];const role=i===0?"X":i===1?"Y":"Z";axes.forEach((axis=>{var _stage$gridLines;if((_stage$gridLines=stage.gridLines)!==null&&_stage$gridLines!==void 0&&_stage$gridLines.length){var _stage$gridLines2;const filtereds=(_stage$gridLines2=stage.gridLines)===null||_stage$gridLines2===void 0?void 0:_stage$gridLines2.filter((line=>line.role===axis.role));filtereds.forEach((gridLine=>gridLines.push(gridLine)))}if(axis.ticks)axis.ticks.forEach((tickLine=>lines.push(tickLine)));if(axis.tickText)axis.tickText.forEach((text=>texts.push(text)))}));const layerPrefix="AXIS_"+role+"_TICKS_";const lineLayer=newVegaLineLayer(layerPrefix+layerNames.lines,lines,cacheKey,dataComparator);const gridLineLayer=newVegaLineLayer(layerPrefix+"GRID_"+layerNames.lines,gridLines,cacheKey,dataComparator);const textLayer=newVegaTextLayer(layerPrefix+layerNames.text,texts,cacheKey,dataComparator);return[textLayer,lineLayer,gridLineLayer]}))}function getChartLayers(stage,cacheKey,dataComparator){const textLayer=newVegaTextLayer(layerNames.text,stage.text,cacheKey,dataComparator);const pathLayer=newVegaPathLayer(layerNames.paths,stage.path,cacheKey,dataComparator);const polygonLayer=newVegaPolygonLayer(layerNames.polygons,stage.polygon,cacheKey,dataComparator);const circleLayer=newVegaCircleLayer(layerNames.circles,stage.circle,cacheKey,dataComparator);return[textLayer,pathLayer,polygonLayer,circleLayer]}const legendMap={"legend-title":(legend,textItem)=>{legend.title=textItem.text},"legend-symbol"(legend,symbol){const{bounds,fill,shape}=symbol;const legendRowSymbol={bounds,fill,shape};const i=symbol.datum.index;legend.rows[i]=legend.rows[i]||{};legend.rows[i].symbol=legendRowSymbol},"legend-label"(legend,label){const i=label.datum.index;legend.rows[i]=legend.rows[i]||{};const row=legend.rows[i];row.label=label.text;row.value=label.datum.value}};const markStager=(options,stage,scene)=>{Object(external_vega_["sceneVisit"])(scene,(function(item){var _item$mark;const fn=legendMap[(_item$mark=item.mark)===null||_item$mark===void 0?void 0:_item$mark.role];if(fn){fn(stage.legend,item)}else{}}))};var legend=markStager;var Colors=__webpack_require__(19);const min3dDepth=.05;const createRectPolygonData=(item,ty,options)=>{var _item$x,_options$projection$x,_options$projection,_item$y,_options$projection$y,_options$projection2,_item$xc,_options$projection$x2,_options$projection3,_item$y2,_options$projection$y2,_options$projection4,_item$xc2,_options$projection$x3,_options$projection5,_item$y3,_options$projection$y3,_options$projection6,_item$x2,_options$projection$x4,_options$projection7,_item$y4,_options$projection$y4,_options$projection8,_item$x3,_options$projection$x5,_options$projection9,_item$y5,_options$projection$y5,_options$projection10;const polygon={fillColor:item.fill&&item.fill!=="transparent"?Object(Colors["d"])(item.fill,item.opacity):[0,0,0,0],positions:[[((_item$x=item.x)!==null&&_item$x!==void 0?_item$x:0)+((_options$projection$x=(_options$projection=options.projection)===null||_options$projection===void 0?void 0:_options$projection.xOffset)!==null&&_options$projection$x!==void 0?_options$projection$x:0),ty*((_item$y=item.y)!==null&&_item$y!==void 0?_item$y:0)+((_options$projection$y=(_options$projection2=options.projection)===null||_options$projection2===void 0?void 0:_options$projection2.yOffset)!==null&&_options$projection$y!==void 0?_options$projection$y:0),item.z],[((_item$xc=item.xc)!==null&&_item$xc!==void 0?_item$xc:0)+((_options$projection$x2=(_options$projection3=options.projection)===null||_options$projection3===void 0?void 0:_options$projection3.xOffset)!==null&&_options$projection$x2!==void 0?_options$projection$x2:0),ty*((_item$y2=item.y)!==null&&_item$y2!==void 0?_item$y2:0)+((_options$projection$y2=(_options$projection4=options.projection)===null||_options$projection4===void 0?void 0:_options$projection4.yOffset)!==null&&_options$projection$y2!==void 0?_options$projection$y2:0),item.z],[((_item$xc2=item.xc)!==null&&_item$xc2!==void 0?_item$xc2:0)+((_options$projection$x3=(_options$projection5=options.projection)===null||_options$projection5===void 0?void 0:_options$projection5.xOffset)!==null&&_options$projection$x3!==void 0?_options$projection$x3:0),ty*((_item$y3=item.y2)!==null&&_item$y3!==void 0?_item$y3:0)+((_options$projection$y3=(_options$projection6=options.projection)===null||_options$projection6===void 0?void 0:_options$projection6.yOffset)!==null&&_options$projection$y3!==void 0?_options$projection$y3:0),item.z],[((_item$x2=item.x)!==null&&_item$x2!==void 0?_item$x2:0)+((_options$projection$x4=(_options$projection7=options.projection)===null||_options$projection7===void 0?void 0:_options$projection7.xOffset)!==null&&_options$projection$x4!==void 0?_options$projection$x4:0),ty*((_item$y4=item.y2)!==null&&_item$y4!==void 0?_item$y4:0)+((_options$projection$y4=(_options$projection8=options.projection)===null||_options$projection8===void 0?void 0:_options$projection8.yOffset)!==null&&_options$projection$y4!==void 0?_options$projection$y4:0),item.z],[((_item$x3=item.x)!==null&&_item$x3!==void 0?_item$x3:0)+((_options$projection$x5=(_options$projection9=options.projection)===null||_options$projection9===void 0?void 0:_options$projection9.xOffset)!==null&&_options$projection$x5!==void 0?_options$projection$x5:0),ty*((_item$y5=item.y)!==null&&_item$y5!==void 0?_item$y5:0)+((_options$projection$y5=(_options$projection10=options.projection)===null||_options$projection10===void 0?void 0:_options$projection10.yOffset)!==null&&_options$projection$y5!==void 0?_options$projection$y5:0),item.z]],strokeColor:item.stroke&&item.stroke!=="transparent"?Object(Colors["d"])(item.stroke):[0,0,0,0],strokeWidth:item.strokeWidth,depth:item.depth};if(polygon.fillColor[3]){polygon.fillColor[3]*=item.fillOpacity;polygon.fillColor[3]*=item.opacity}if(polygon.strokeColor[3]){polygon.strokeColor[3]*=item.strokeOpacity;polygon.strokeColor[3]*=item.opacity}return polygon};const createCubeData=(item,x,y,ty,options,ordinal)=>{var _options$projection$x6,_options$projection11,_options$projection$y6,_options$projection12;const cube={ordinal,size:[item.width,item.height,item.depth],position:[x+Math.round(item.x||0)+((_options$projection$x6=(_options$projection11=options.projection)===null||_options$projection11===void 0?void 0:_options$projection11.xOffset)!==null&&_options$projection$x6!==void 0?_options$projection$x6:0),ty*(y+Math.round(item.y||0))-item.height+((_options$projection$y6=(_options$projection12=options.projection)===null||_options$projection12===void 0?void 0:_options$projection12.yOffset)!==null&&_options$projection$y6!==void 0?_options$projection$y6:0),item.z],color:item.fill&&item.fill!=="transparent"&&Object(Colors["d"])(item.fill,item.opacity)||options.defaultCubeColor||[128,128,128,128]};cube.color[3]=item.opacity===undefined?255:255*item.opacity;return cube};const rect_markStager=(options,stage,scene,x,y)=>{Object(external_vega_["sceneVisit"])(scene,(function(item){const z=item.z||0;const depth=(item.depth||0)+min3dDepth;const ty=options.projection&&options.projection.flipY===false?1:-1;const ordinal=options!==null&&options!==void 0&&options.assignCubeOrdinal?options===null||options===void 0?void 0:options.assignCubeOrdinal(item.datum):undefined;if(ordinal!==undefined&&ordinal>options.maxOrdinal){options.maxOrdinal=ordinal}if(ordinal===undefined){const polygon=createRectPolygonData({...item,z},ty,options);if(stage.polygon){stage.polygon.push(polygon)}}else{const cube=createCubeData({...item,depth},x,y,ty,ordinal,options);if(stage.cube){stage.cube.push(cube)}}}))};var rect=rect_markStager;function zSwap(v3){const temp=-v3[1];if(v3[0]===-1){v3[0]=0}if(v3[2]){v3[1]=v3[2];v3[2]=temp}}const lineZ=-1;function styledLine(options,x1,y1,x2,y2,stroke,strokeWidth,role){var _options$projection$x,_options$projection,_options$projection$y,_options$projection2,_options$projection$x2,_options$projection3,_options$projection$y2,_options$projection4;const ty=options.projection&&options.projection.flipY===false?1:-1;const line={sourcePosition:[x1+((_options$projection$x=(_options$projection=options.projection)===null||_options$projection===void 0?void 0:_options$projection.xOffset)!==null&&_options$projection$x!==void 0?_options$projection$x:0),y1*ty+((_options$projection$y=(_options$projection2=options.projection)===null||_options$projection2===void 0?void 0:_options$projection2.yOffset)!==null&&_options$projection$y!==void 0?_options$projection$y:0),lineZ],targetPosition:[x2+((_options$projection$x2=(_options$projection3=options.projection)===null||_options$projection3===void 0?void 0:_options$projection3.xOffset)!==null&&_options$projection$x2!==void 0?_options$projection$x2:0),y2*ty+((_options$projection$y2=(_options$projection4=options.projection)===null||_options$projection4===void 0?void 0:_options$projection4.yOffset)!==null&&_options$projection$y2!==void 0?_options$projection$y2:0),lineZ],color:Object(Colors["d"])(stroke),strokeWidth,role};return line}const rule_markStager=(options,stage,scene,x,y)=>{Object(external_vega_["sceneVisit"])(scene,(function(item){const x1=item.x||0;const y1=item.y||0;const x2=item.x2!=null?item.x2:x1;const y2=item.y2!=null?item.y2:y1;const lineItem=styledLine(options,x1,y1+y,x2,y2+y,item.stroke,item.strokeWidth,options.currAxis.role);if(item.mark.role==="axis-tick"){if(options.currAxis.role==="z"){zSwap(lineItem.sourcePosition);zSwap(lineItem.targetPosition)}options.currAxis.ticks.push(lineItem)}else if(item.mark.role==="axis-domain"){if(options.currAxis.role==="z"){zSwap(lineItem.sourcePosition);zSwap(lineItem.targetPosition)}options.currAxis.domain=lineItem}else if(stage.gridLines){stage.gridLines.push(lineItem)}}))};function box(options,gx,gy,height,width,stroke,strokeWidth){let diagonals=arguments.length>7&&arguments[7]!==undefined?arguments[7]:false;const lines=[styledLine(options,gx,gy,gx+width,gy,stroke,strokeWidth),styledLine(options,gx+width,gy,gx+width,gy+height,stroke,strokeWidth),styledLine(options,gx+width,gy+height,gx,gy+height,stroke,strokeWidth),styledLine(options,gx,gy+height,gx,gy,stroke,strokeWidth)];if(diagonals){lines.push(styledLine(options,gx,gy,gx+width,gy+height,stroke,strokeWidth));lines.push(styledLine(options,gx,gy+height,gx+width,gy,stroke,strokeWidth))}return lines}var rule=rule_markStager;const line_markStager=(options,stage,scene)=>{const ty=options.projection&&options.projection.flipY===false?1:-1;const g={opacity:1,strokeOpacity:1,strokeWidth:1,...scene.items[0]};const path={strokeWidth:g.strokeWidth,strokeColor:g.stroke&&g.stroke!=="transparent"?Object(Colors["d"])(g.stroke,g.opacity):[0,0,0,0],positions:scene.items.map((it=>{var _options$projection$x,_options$projection,_options$projection$y,_options$projection2;return[it.x+((_options$projection$x=(_options$projection=options.projection)===null||_options$projection===void 0?void 0:_options$projection.xOffset)!==null&&_options$projection$x!==void 0?_options$projection$x:0),ty*it.y+ +((_options$projection$y=(_options$projection2=options.projection)===null||_options$projection2===void 0?void 0:_options$projection2.yOffset)!==null&&_options$projection$y!==void 0?_options$projection$y:0),it.z||0]}))};if(path.strokeColor[3]){path.strokeColor[3]*=g.strokeOpacity;path.strokeColor[3]*=g.opacity}if(stage.path){stage.path.push(path)}};var marks_line=line_markStager;function convertAngle(vegaTextAngle){if(vegaTextAngle&&!isNaN(vegaTextAngle)){return 360-vegaTextAngle}return 0}function convertAlignment(textAlign){switch(textAlign){case"center":return"middle";case"left":return"start";case"right":return"end"}return"start"}function convertBaseline(baseline){switch(baseline){case"middle":return"center"}return baseline||"bottom"}const text_markStager=(options,stage,scene,x,y)=>{const fontScale=1;const ty=options.projection&&options.projection.flipY===false?1:-1;Object(external_vega_["sceneVisit"])(scene,(function(item){var _options$projection$x,_options$projection,_options$projection$y,_options$projection2;if(!item.text)return;const size=item.fontSize*fontScale;const alignmentBaseline=convertBaseline(item.baseline);const yOffset=alignmentBaseline==="top"?item.fontSize/2:0;const textItem={color:item.fill&&item.fill!=="transparent"?Object(Colors["d"])(item.fill,item.opacity):[0,0,0,0],text:item.limit===undefined?item.text:Object(external_vega_["truncate"])(item.text,item.limit,"right",item.ellipsis||"..."),position:[x+(item.x||0)+((_options$projection$x=(_options$projection=options.projection)===null||_options$projection===void 0?void 0:_options$projection.xOffset)!==null&&_options$projection$x!==void 0?_options$projection$x:0),ty*(y+(item.y||0)+yOffset)+((_options$projection$y=(_options$projection2=options.projection)===null||_options$projection2===void 0?void 0:_options$projection2.yOffset)!==null&&_options$projection$y!==void 0?_options$projection$y:0),0],size,angle:convertAngle(item.angle),textAnchor:convertAlignment(item.align),alignmentBaseline,metaData:item.metaData};if(item.mark.role==="axis-label"){const tickText=textItem;tickText.value=item.datum.value;if(options.currAxis.role==="x"){var _options$projection$x2,_options$projection3;textItem.position[0]=(item.x||0)+((_options$projection$x2=(_options$projection3=options.projection)===null||_options$projection3===void 0?void 0:_options$projection3.xOffset)!==null&&_options$projection$x2!==void 0?_options$projection$x2:0)}else if(options.currAxis.role==="y"){var _options$projection$y2,_options$projection4;textItem.position[1]=ty*((item.y||0)+yOffset)+((_options$projection$y2=(_options$projection4=options.projection)===null||_options$projection4===void 0?void 0:_options$projection4.yOffset)!==null&&_options$projection$y2!==void 0?_options$projection$y2:0)}else if(options.currAxis.role==="z"){zSwap(tickText.position)}options.currAxis.tickText.push(tickText)}else if(item.mark.role==="axis-title"){if(options.currAxis.role==="y"){textItem.position[0]=textItem.position[0]-6}else if(options.currAxis.role==="x"){textItem.position[1]=textItem.position[1]-6}else if(options.currAxis.role==="z"){zSwap(textItem.position)}options.currAxis.title=textItem}else if(stage.text){stage.text.push(textItem)}}))};var marks_text=text_markStager;const area_markStager=(options,stage,scene)=>{const ty=options.projection&&options.projection.flipY===false?1:-1;const g={fillOpacity:1,opacity:1,strokeOpacity:1,strokeWidth:0,depth:0,...scene.items[0]};const points=scene.items.map((groupItem=>{var _item$x,_options$projection$x,_options$projection,_item$y,_options$projection$y,_options$projection2,_item$x2,_options$projection$x2,_options$projection3,_item$y2,_options$projection$y2,_options$projection4;const item={z:0,x2:groupItem.x,y2:groupItem.y,z2:groupItem.z,...groupItem};return[((_item$x=item.x)!==null&&_item$x!==void 0?_item$x:0)+((_options$projection$x=(_options$projection=options.projection)===null||_options$projection===void 0?void 0:_options$projection.xOffset)!==null&&_options$projection$x!==void 0?_options$projection$x:0),ty*((_item$y=item.y)!==null&&_item$y!==void 0?_item$y:0)+((_options$projection$y=(_options$projection2=options.projection)===null||_options$projection2===void 0?void 0:_options$projection2.yOffset)!==null&&_options$projection$y!==void 0?_options$projection$y:0),item.z,((_item$x2=item.x2)!==null&&_item$x2!==void 0?_item$x2:0)+((_options$projection$x2=(_options$projection3=options.projection)===null||_options$projection3===void 0?void 0:_options$projection3.xOffset)!==null&&_options$projection$x2!==void 0?_options$projection$x2:0),ty*((_item$y2=item.y2)!==null&&_item$y2!==void 0?_item$y2:0)+((_options$projection$y2=(_options$projection4=options.projection)===null||_options$projection4===void 0?void 0:_options$projection4.yOffset)!==null&&_options$projection$y2!==void 0?_options$projection$y2:0),item.z2]}));const positions=[];const startpoint=[points[0][0],points[0][1],points[0][2]];points.forEach((p=>{positions.push([p[0],p[1],p[2]])}));points.reverse().forEach((p=>{positions.push([p[3],p[4],p[5]])}));positions.push(startpoint);const polygon={fillColor:g.fill&&g.fill!=="transparent"?Object(Colors["d"])(g.fill,g.opacity):[0,0,0,0],positions,strokeColor:g.stroke&&g.stroke!=="transparent"?Object(Colors["d"])(g.stroke):[0,0,0,0],strokeWidth:g.strokeWidth,depth:g.depth};if(polygon.fillColor[3]){polygon.fillColor[3]*=g.fillOpacity;polygon.fillColor[3]*=g.opacity}if(polygon.strokeColor[3]){polygon.strokeColor[3]*=g.strokeOpacity;polygon.strokeColor[3]*=g.opacity}if(stage.polygon){stage.polygon.push(polygon)}};var marks_area=area_markStager;const symbol_markStager=(options,stage,scene,x,y)=>{Object(external_vega_["sceneVisit"])(scene,(function(item){const z=item.z||0;const ty=options.projection&&options.projection.flipY===false?1:-1;if(item.shape==="circle"&&stage.circle){var _options$projection$x,_options$projection,_options$projection$y,_options$projection2;const circle={size:item.size,position:[x+Math.round(item.x||0)+((_options$projection$x=(_options$projection=options.projection)===null||_options$projection===void 0?void 0:_options$projection.xOffset)!==null&&_options$projection$x!==void 0?_options$projection$x:0),ty*(y+Math.round(item.y||0))+((_options$projection$y=(_options$projection2=options.projection)===null||_options$projection2===void 0?void 0:_options$projection2.yOffset)!==null&&_options$projection$y!==void 0?_options$projection$y:0),z],color:item.fill&&item.fill!=="transparent"?Object(Colors["d"])(item.fill,item.opacity):[0,0,0,0],strokeWidth:item.strokeWidth,strokeColor:item.stroke&&item.stroke!=="transparent"?Object(Colors["d"])(item.stroke,item.opacity):[0,0,0,0]};stage.circle.push(circle)}}))};var symbol=symbol_markStager;let GroupType;(function(GroupType){GroupType[GroupType["none"]=0]="none";GroupType[GroupType["legend"]=1]="legend";GroupType[GroupType["xAxis"]=2]="xAxis";GroupType[GroupType["yAxis"]=3]="yAxis";GroupType[GroupType["zAxis"]=4]="zAxis"})(GroupType||(GroupType={}));function getOrientItem(group){if(group.orient){return group}return group.datum}function setCurrentAxis(options,stage,groupType){var _stage$axes$x,_stage$axes,_stage$axes$y,_stage$axes2,_stage$axes$z,_stage$axes3;let axes;let role;switch(groupType){case GroupType.xAxis:axes=(_stage$axes$x=(_stage$axes=stage.axes)===null||_stage$axes===void 0?void 0:_stage$axes.x)!==null&&_stage$axes$x!==void 0?_stage$axes$x:[];role="x";break;case GroupType.yAxis:axes=(_stage$axes$y=(_stage$axes2=stage.axes)===null||_stage$axes2===void 0?void 0:_stage$axes2.y)!==null&&_stage$axes$y!==void 0?_stage$axes$y:[];role="y";break;case GroupType.zAxis:axes=(_stage$axes$z=(_stage$axes3=stage.axes)===null||_stage$axes3===void 0?void 0:_stage$axes3.z)!==null&&_stage$axes$z!==void 0?_stage$axes$z:[];role="z";break;default:return}options.currAxis={domain:null,tickText:[],ticks:[],role};axes.push(options.currAxis)}function convertGroupRole(group,options){if(group.mark.role==="legend")return GroupType.legend;if(group.mark.role==="axis"){if(group.mark.zindex===options.zAxisZindex&&options.zAxisZindex!==undefined){return GroupType.zAxis}const orientItem=getOrientItem(group);if(orientItem){switch(orientItem.orient){case"bottom":case"top":return GroupType.xAxis;case"left":case"right":return GroupType.yAxis}}}}const SceneToStage_group=(options,stage,scene,x,y,groupType)=>{Object(external_vega_["sceneVisit"])(scene,(function(g){const gx=g.x||0;const gy=g.y||0;if(g.context&&g.context.background&&!stage.backgroundColor){stage.backgroundColor=Object(Colors["d"])(g.context.background)}if(g.stroke&&stage.facets){const facetRect={datum:g.datum,lines:box(options,gx+x,gy+y,g.height,g.width,g.stroke,1)};stage.facets.push(facetRect)}groupType=convertGroupRole(g,options)||groupType;setCurrentAxis(options,stage,groupType);Object(external_vega_["sceneVisit"])(g,(function(item){mainStager(options,stage,item,gx+x,gy+y,groupType)}))}))};const markStagers={group:SceneToStage_group,legend,rect,rule,line:marks_line,area:marks_area,text:marks_text,symbol};const mainStager=(options,stage,scene,x,y,groupType)=>{if((scene===null||scene===void 0?void 0:scene.marktype)!=="group"&&groupType===GroupType.legend){legend(options,stage,scene,x,y,groupType)}else if(markStagers[scene===null||scene===void 0?void 0:scene.marktype]){markStagers[scene.marktype](options,stage,scene,x,y,groupType)}};function orderDomain(domain,dim){if(domain.sourcePosition[dim]>domain.targetPosition[dim]){const temp=domain.targetPosition;domain.targetPosition=domain.sourcePosition;domain.sourcePosition=temp}}function sortAxis(axes,dim){axes.forEach((axis=>{if(axis.domain)orderDomain(axis.domain,dim);axis.ticks.sort(((a,b)=>a.sourcePosition[dim]-b.sourcePosition[dim]));axis.tickText.sort(((a,b)=>a.position[dim]-b.position[dim]))}))}function sceneToStage(options,scene){var _stage$axes$x2,_stage$axes4,_stage$axes$y2,_stage$axes5;const stage={circle:[],cube:[],path:[],polygon:[],axes:{x:[],y:[],z:[]},gridLines:[],text:[],legend:{rows:{}},facets:[]};mainStager(options,stage,scene,0,0);sortAxis((_stage$axes$x2=(_stage$axes4=stage.axes)===null||_stage$axes4===void 0?void 0:_stage$axes4.x)!==null&&_stage$axes$x2!==void 0?_stage$axes$x2:[],0);sortAxis((_stage$axes$y2=(_stage$axes5=stage.axes)===null||_stage$axes5===void 0?void 0:_stage$axes5.y)!==null&&_stage$axes$y2!==void 0?_stage$axes$y2:[],1);return stage}var Visualization=__webpack_require__(30);class VegaLiteFactory_VegaCompositeLayer extends external_deck_gl_["CompositeLayer"]{renderLayers(){return this.props.layers}}VegaLiteFactory_VegaCompositeLayer.layerName="HoparaVegaCompositeLayer";const MAX_TICKS=4e3;class VegaLiteFactory_VegaLiteFactory{constructor(cacheStore,dataComparator){this.cacheStore=void 0;this.dataComparator=void 0;this.cacheStore=cacheStore!==null&&cacheStore!==void 0?cacheStore:new Map;this.dataComparator=dataComparator!==null&&dataComparator!==void 0?dataComparator:new DataComparator["a"]}getWorldDomainMin(axis,scaleType,scaleDomains){if(!axis||!scaleType||!scaleDomains)return;return Object(fp_["get"])([axis,scaleType,"domainMin"],scaleDomains)}getWorldDomainMax(axis,scaleType,scaleDomains){if(!axis||!scaleType||!scaleDomains)return;return Object(fp_["get"])([axis,scaleType,"domainMax"],scaleDomains)}getAxisTicksByZoom(axisConfig){let zoom=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;let size=arguments.length>2?arguments[2]:undefined;let zoomBehavior=arguments.length>3?arguments[3]:undefined;const shouldUseZoomableBehavior=(axisConfig===null||axisConfig===void 0?void 0:axisConfig.tickCount)===undefined&&zoomBehavior!==Visualization["b"].FIXED;const tickCount=Math.ceil((size||0)/140*Math.pow(2,Math.ceil(zoom)));return{tickCount:shouldUseZoomableBehavior?tickCount<MAX_TICKS?tickCount:MAX_TICKS:axisConfig===null||axisConfig===void 0?void 0:axisConfig.tickCount,labelOverlap:shouldUseZoomableBehavior?zoom&&Math.ceil(zoom||1)<2:axisConfig===null||axisConfig===void 0?void 0:axisConfig.labelOverlap,tickRound:shouldUseZoomableBehavior?false:axisConfig===null||axisConfig===void 0?void 0:axisConfig.tickRound}}getEncodingWithDomains(props,baseProps){var _encoding$x,_encoding$x2,_encoding$x2$scale,_encoding$x3,_encoding$x3$scale,_encoding$y,_encoding$x4,_baseProps$worldDimen,_baseProps$zoomBehavi,_encoding$y2,_encoding$y3,_encoding$y3$scale,_encoding$y4,_encoding$y4$scale,_encoding$y5,_encoding$y6,_baseProps$worldDimen2,_baseProps$zoomBehavi2;const encoding=props.encoding;return{...encoding,x:{...encoding.x,scale:{...(_encoding$x=encoding.x)===null||_encoding$x===void 0?void 0:_encoding$x.scale,domainMin:this.getWorldDomainMin("x",(_encoding$x2=encoding.x)===null||_encoding$x2===void 0?void 0:(_encoding$x2$scale=_encoding$x2.scale)===null||_encoding$x2$scale===void 0?void 0:_encoding$x2$scale.type,baseProps.scaleDomains),domainMax:this.getWorldDomainMax("x",(_encoding$x3=encoding.x)===null||_encoding$x3===void 0?void 0:(_encoding$x3$scale=_encoding$x3.scale)===null||_encoding$x3$scale===void 0?void 0:_encoding$x3$scale.type,baseProps.scaleDomains)},axis:{...encoding===null||encoding===void 0?void 0:(_encoding$y=encoding.y)===null||_encoding$y===void 0?void 0:_encoding$y.axis,...this.getAxisTicksByZoom(encoding===null||encoding===void 0?void 0:(_encoding$x4=encoding.x)===null||_encoding$x4===void 0?void 0:_encoding$x4.axis,baseProps.zoom,(_baseProps$worldDimen=baseProps.worldDimensions)===null||_baseProps$worldDimen===void 0?void 0:_baseProps$worldDimen.width,(_baseProps$zoomBehavi=baseProps.zoomBehavior)===null||_baseProps$zoomBehavi===void 0?void 0:_baseProps$zoomBehavi.x)}},y:{...encoding.y,scale:{...(_encoding$y2=encoding.y)===null||_encoding$y2===void 0?void 0:_encoding$y2.scale,domainMin:this.getWorldDomainMin("y",(_encoding$y3=encoding.y)===null||_encoding$y3===void 0?void 0:(_encoding$y3$scale=_encoding$y3.scale)===null||_encoding$y3$scale===void 0?void 0:_encoding$y3$scale.type,baseProps.scaleDomains),domainMax:this.getWorldDomainMax("y",(_encoding$y4=encoding.y)===null||_encoding$y4===void 0?void 0:(_encoding$y4$scale=_encoding$y4.scale)===null||_encoding$y4$scale===void 0?void 0:_encoding$y4$scale.type,baseProps.scaleDomains)},axis:{...encoding===null||encoding===void 0?void 0:(_encoding$y5=encoding.y)===null||_encoding$y5===void 0?void 0:_encoding$y5.axis,...this.getAxisTicksByZoom(encoding===null||encoding===void 0?void 0:(_encoding$y6=encoding.y)===null||_encoding$y6===void 0?void 0:_encoding$y6.axis,baseProps.zoom,(_baseProps$worldDimen2=baseProps.worldDimensions)===null||_baseProps$worldDimen2===void 0?void 0:_baseProps$worldDimen2.height,(_baseProps$zoomBehavi2=baseProps.zoomBehavior)===null||_baseProps$zoomBehavi2===void 0?void 0:_baseProps$zoomBehavi2.y)}}}}getLayerSpec(props,baseProps){var _props$rows;return{data:{values:(_props$rows=props.rows)!==null&&_props$rows!==void 0?_props$rows:[]},mark:props.mark,encoding:this.getEncodingWithDomains(props,baseProps)}}getSpec(props){const worldDimensions=props.worldDimensions;return{height:worldDimensions?worldDimensions.height:"container",width:worldDimensions?worldDimensions.width:"container",layer:props.layers.map((layerSpec=>this.getLayerSpec(layerSpec,props))),config:props.themeMode==="dark"?{axis:{labelColor:"#fff",gridColor:"#444",domainColor:"#666",titleColor:"#fff"}}:undefined}}getStage(props,view){var _props$worldDimension;return sceneToStage({projection:{yOffset:(_props$worldDimension=props.worldDimensions)===null||_props$worldDimension===void 0?void 0:_props$worldDimension.height}},view.scenegraph().root)}getVegaStage(props){const vegaSpec=this.getSpec(props);const compiledSpec=Object(external_vega_lite_["compile"])(vegaSpec);if(!compiledSpec||!compiledSpec.spec)return;const runtime=Object(external_vega_["parse"])(compiledSpec.spec);const view=new external_vega_["View"](runtime);view.run();return this.getStage(props,view)}getLayerKey(key,layer){return`${key}-${layer.id}-${layer.lastModified}-${layer.rows.etag}`}getZoomCacheKey(props){var _props$worldDimension2,_props$worldDimension3;const layerKey=props.layers.reduce(((key,layer)=>`${this.getLayerKey(key,layer)}-${props.zoom.toFixed(0)}`),"");return`${layerKey}-${(_props$worldDimension2=props.worldDimensions)===null||_props$worldDimension2===void 0?void 0:_props$worldDimension2.height}-${(_props$worldDimension3=props.worldDimensions)===null||_props$worldDimension3===void 0?void 0:_props$worldDimension3.width}`}getCacheKey(props){var _props$worldDimension4,_props$worldDimension5;const layerKey=props.layers.reduce(((key,layer)=>`${this.getLayerKey(key,layer)}`),"");return`${layerKey}-${(_props$worldDimension4=props.worldDimensions)===null||_props$worldDimension4===void 0?void 0:_props$worldDimension4.height}-${(_props$worldDimension5=props.worldDimensions)===null||_props$worldDimension5===void 0?void 0:_props$worldDimension5.width}`}vegaStage(props){return Object(memoize_src["a"])(this.getVegaStage.bind(this),{cacheStore:this.cacheStore,cacheKey:this.getZoomCacheKey(props)})(props)}create(props){if(!props.worldDimensions)return[];const stage=this.vegaStage({layers:props.layers,worldDimensions:props.worldDimensions,themeMode:props.themeMode,scaleDomains:props.scaleDomains,zoom:props.zoom,zoomBehavior:props.zoomBehavior});if(!stage)return[];const zoomCacheKey=this.getZoomCacheKey(props);const cacheKey=this.getCacheKey(props);const chartLayers=getChartLayers(stage,cacheKey,this.dataComparator);const axesTicksLayers=getAxesTicksLayers(stage,zoomCacheKey,this.dataComparator);const axesXTicksLayers=axesTicksLayers.length>1?axesTicksLayers[0].flat():[];const axesYTicksLayers=axesTicksLayers.length>1?axesTicksLayers[1].flat():[];const axesDomainLayers=getAxesDomainLayers(stage,zoomCacheKey,this.dataComparator).flat();const facetLayers=getFacetLayers(stage,cacheKey,this.dataComparator);return[new VegaLiteFactory_VegaCompositeLayer({id:"vega-facet"+Date.now(),targetView:"vega-background",layers:facetLayers}),new VegaLiteFactory_VegaCompositeLayer({id:"vega-axes-domain"+Date.now(),targetView:"vega-background",layers:axesDomainLayers}),new VegaLiteFactory_VegaCompositeLayer({id:"vega-axes-x"+Date.now(),targetView:"vega-axes-x",layers:axesXTicksLayers}),new VegaLiteFactory_VegaCompositeLayer({id:"vega-axes-y"+Date.now(),targetView:"vega-axes-y",layers:axesYTicksLayers}),new VegaLiteFactory_VegaCompositeLayer({id:"vega-chart"+Date.now(),layers:chartLayers})]}}var external_react_=__webpack_require__(5);var external_react_default=__webpack_require__.n(external_react_);var external_react_table_=__webpack_require__(72);var theme=__webpack_require__(10);var react_=__webpack_require__(20);var Box_=__webpack_require__(73);var Box_default=__webpack_require__.n(Box_);var Table_=__webpack_require__(130);var Table_default=__webpack_require__.n(Table_);var TableCell_=__webpack_require__(101);var TableCell_default=__webpack_require__.n(TableCell_);var TableContainer_=__webpack_require__(131);var TableContainer_default=__webpack_require__.n(TableContainer_);var TablePagination_=__webpack_require__(132);var TablePagination_default=__webpack_require__.n(TablePagination_);var TableSortLabel_=__webpack_require__(133);var TableSortLabel_default=__webpack_require__.n(TableSortLabel_);const TableLayerBox=Object(theme["a"])(Box_default.a,{name:"TableLayerBox"})({width:"100%",height:"100%"});const TableLayerPaper=Object(theme["a"])(Box_default.a,{name:"TableLayerPaper"})((_ref=>{let{theme}=_ref;return{width:"100%",height:"100%",mb:2,display:"flex",flexDirection:"column",backgroundColor:theme.palette.spec.input}}));const TableLayerContainer=Object(theme["a"])(TableContainer_default.a,{name:"TableLayerContainer"})({overflow:"auto",flex:"1 1"});const TableLayerTable=Object(theme["a"])(Table_default.a,{name:"TableLayerTable"})({position:"relative"});const TableLayerTableCell=Object(theme["a"])(TableCell_default.a,{name:"TableLayerTable"})((_ref2=>{let{_styleprops}=_ref2;return{..._styleprops,display:"inline-flex",alignItems:"center",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}));const TableLayerTableCellBox=Object(theme["a"])(Box_default.a,{name:"TableLayerTableCellBox"})({display:"inline-block",overflow:"hidden",width:"100%",textOverflow:"ellipsis",whiteSpace:"nowrap"});const TableLayerHeaderCell=Object(theme["a"])(TableCell_default.a,{name:"TableLayerHeaderCell"})((_ref3=>{let{_cellstyles}=_ref3;return{..._cellstyles,position:"sticky",top:0}}));const TableLayerHeaderSortLabel=Object(theme["a"])(TableSortLabel_default.a,{name:"TableLayerHeaderSortLabel"})((_ref4=>{let{_cellstyles}=_ref4;return{..._cellstyles,display:undefined,overflow:"hidden",width:"100%"}}));const TableLayerHeaderLabel=Object(theme["a"])(Box_default.a,{name:"TableLayerHeaderLabel"})({display:"inline-block",overflow:"hidden",maxWidth:"100%",textOverflow:"ellipsis",whiteSpace:"nowrap"});const TableLayerHeaderLabelAria=Object(theme["a"])(Box_default.a,{name:"TableLayerHeaderLabelAria"})({border:0,clip:"rect(0 0 0 0)",height:"1px",margin:-1,overflow:"hidden",padding:0,position:"absolute",whiteSpace:"nowrap",width:"1px"});const TableLayerHeaderResizer=Object(theme["a"])("div",{name:"TableLayerHeaderResizer"})((props=>{const style=Object(react_["css"])({alignItems:"center",display:"flex",height:"70%",justifyContent:"center",position:"absolute",right:3,top:0,touchAction:"none",transform:"translate(50%, 15%)",width:10,zIndex:3,":before":{borderLeft:"1px solid #ccc",content:'""',height:"100%",left:"50%",position:"absolute",transform:"translateX(-50%)",transition:"border 0.2s ease"},":after":{background:"#efefef",border:"1px solid #999",borderRadius:"50%",content:'""',height:6,transition:"border 0.2s ease",width:6,zIndex:2},":hover:before":{borderColor:props.theme.palette.primary.main},":hover:after":{borderColor:props.theme.palette.primary.main}});if(props._isResizing){return Object(react_["css"])([style,Object(react_["css"])({":before":{borderColor:props.theme.palette.primary.main},":after":{borderColor:props.theme.palette.primary.main}})])}return style}));const TableLayerPagination=Object(theme["a"])(TablePagination_default.a,{name:"TableLayerPagination"})((props=>({borderTop:`1px solid ${props.theme.palette.spec.tonal.neutral[90]}`})));var TableBody_=__webpack_require__(134);var TableBody_default=__webpack_require__.n(TableBody_);var TableRow_=__webpack_require__(93);var TableRow_default=__webpack_require__.n(TableRow_);var TableHead_=__webpack_require__(135);var TableHead_default=__webpack_require__.n(TableHead_);var jsx_runtime_=__webpack_require__(4);const TableHeader=_ref=>{let{headerGroups}=_ref;return Object(jsx_runtime_["jsx"])(TableHead_default.a,{children:headerGroups.map(((headerGroup,index)=>Object(external_react_["createElement"])(TableRow_default.a,{...headerGroup.getHeaderGroupProps(),key:index},headerGroup.headers.map(((column,i)=>{const cellProps=column.getHeaderProps(column.getSortByToggleProps());return Object(jsx_runtime_["jsxs"])(TableLayerHeaderCell,{sortDirection:column.isSorted?column.isSortedDesc?"desc":"asc":false,_cellstyles:cellProps.style,children:[Object(jsx_runtime_["jsxs"])(TableLayerHeaderSortLabel,{...Object(fp_["omit"])(["style"],cellProps),active:column.isSorted,direction:column.isSorted&&column.isSortedDesc?"desc":"asc",_cellstyles:cellProps.style,children:[Object(jsx_runtime_["jsx"])(TableLayerHeaderLabel,{component:"span",children:column.render("Header")}),column.isSorted?Object(jsx_runtime_["jsx"])(TableLayerHeaderLabelAria,{component:"span",children:column.isSortedDesc?"sorted descending":"sorted ascending"}):null]}),Object(jsx_runtime_["jsx"])(TableLayerHeaderResizer,{_isResizing:column.isResizing,...column.getResizerProps()})]},i)})))))})};const TablePagination=_ref=>{let{gotoPage,pageIndex,pageSize,setPageSize,dataLength}=_ref;return Object(jsx_runtime_["jsx"])(TableLayerPagination,{rowsPerPageOptions:[10,20,50,100],component:"div",count:dataLength,rowsPerPage:pageSize,page:pageIndex,onPageChange:(e,page)=>gotoPage(page),onRowsPerPageChange:e=>setPageSize(Number(e.target.value)),sx:{}})};var PureComponent=__webpack_require__(32);const ColumnCell=_ref=>{let{value,column,valueFormatter}=_ref;return valueFormatter?valueFormatter(value,column.id):value};const TableLayout=_ref2=>{let{columns,rows,valueFormatter}=_ref2;const tableData=external_react_default.a.useMemo((()=>rows),[rows]);const tableColumns=external_react_default.a.useMemo((()=>columns),[columns]);const defaultColumn=external_react_default.a.useMemo((()=>({minWidth:50,width:180,maxWidth:400,Cell:ColumnCell})),[]);const{getTableProps,getTableBodyProps,headerGroups,page,prepareRow,gotoPage,setPageSize,state:{pageIndex,pageSize}}=Object(external_react_table_["useTable"])({columns:tableColumns,data:tableData,defaultColumn,initialState:{pageSize:20},valueFormatter},external_react_table_["useBlockLayout"],external_react_table_["useResizeColumns"],external_react_table_["useSortBy"],external_react_table_["usePagination"]);return Object(jsx_runtime_["jsx"])(TableLayerBox,{"data-testid":"table",children:Object(jsx_runtime_["jsxs"])(TableLayerPaper,{children:[Object(jsx_runtime_["jsx"])(TableLayerContainer,{children:Object(jsx_runtime_["jsxs"])(TableLayerTable,{...getTableProps(),children:[Object(jsx_runtime_["jsx"])(TableHeader,{headerGroups}),Object(jsx_runtime_["jsx"])(TableBody_default.a,{...getTableBodyProps(),children:page===null||page===void 0?void 0:page.map(((row,index)=>{prepareRow(row);return Object(external_react_["createElement"])(TableRow_default.a,{...row.getRowProps(),key:index},row.cells.map(((cell,i)=>{const cellProps=cell.getCellProps();return Object(external_react_["createElement"])(TableLayerTableCell,{...Object(fp_["omit"])(["style"],cellProps),_styleprops:cellProps.style,key:i},Object(jsx_runtime_["jsx"])(TableLayerTableCellBox,{component:"span",children:cell.render("Cell")}))})))}))})]})}),Object(jsx_runtime_["jsx"])(TablePagination,{gotoPage,pageIndex,pageSize,setPageSize,dataLength:tableData===null||tableData===void 0?void 0:tableData.length})]})})};class Table_Table extends PureComponent["a"]{render(){var _this$props$rows,_this$props$columns;return Object(jsx_runtime_["jsx"])(TableLayout,{rows:(_this$props$rows=this.props.rows)!==null&&_this$props$rows!==void 0?_this$props$rows:[],columns:(_this$props$columns=this.props.columns)!==null&&_this$props$columns!==void 0?_this$props$columns:[],valueFormatter:this.props.valueFormatter})}}const formatTableColumns=(columns,fields)=>{if(!columns)return[];if(fields!==null&&fields!==void 0&&fields.length){return fields.map((field=>{var _field$title;const column=columns.get(field.value.encoding.text.field);if(!column)return;return{Header:(_field$title=field.title)!==null&&_field$title!==void 0?_field$title:column===null||column===void 0?void 0:column.getLabel(),accessor:column===null||column===void 0?void 0:column.getName()}})).filter((tableColumn=>!!tableColumn))}return columns.map((column=>({Header:column.getLabel(),accessor:column.getName()})))};const valueFormater=(columns,fields)=>(value,columnName)=>{const column=columns===null||columns===void 0?void 0:columns.get(columnName);const tableField=fields===null||fields===void 0?void 0:fields.find((field=>field.value.encoding.text.field===columnName));if(!column||!tableField)return value;return tableField.value.encoding.text.formatValue(value,column.getType())};class TableLayer_Table extends PureComponent["a"]{render(){const formattedColumns=formatTableColumns(this.props.columns,this.props.fields);return Object(jsx_runtime_["jsx"])(Table_Table,{rows:this.props.rows,columns:formattedColumns,valueFormatter:valueFormater(this.props.columns,this.props.fields)})}}var TableLayer=TableLayer_Table;class TableFactory_TableFactory{create(props){var _props$encoding$table,_props$encoding;return external_react_default.a.createElement(TableLayer,{columns:props.columns,fields:(_props$encoding$table=(_props$encoding=props.encoding)===null||_props$encoding===void 0?void 0:_props$encoding.table)!==null&&_props$encoding$table!==void 0?_props$encoding$table:[],rows:props.rows,key:props.id})}}class ViewLayers extends Array{}var mesh_layers_=__webpack_require__(102);const MODEL_PLACEHOLDER_NAME="placeholder";class ModelFetch_ModelFetch{getModelUrl(modelName){let cacheBypass=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;let authorization=arguments.length>2?arguments[2]:undefined;const url=new URL(`${config_src["a"].getValue("RESOURCE_API_ADDRESS")}/tenant/${authorization.tenant}/model/${modelName}`);if(cacheBypass)url.searchParams.append("version",Date.now().toString());return url.toString()}fetch(authorization,downloadProgressCallback,opts){return async(modelName,options)=>{try{const response=await Object(external_loaders_gl_core_["fetchFile"])(this.getModelUrl(modelName,opts===null||opts===void 0?void 0:opts.cacheBypass,authorization),{...options,signal:AbortSignal.timeout(6e4)});if(downloadProgressCallback)await Object(Fetch["b"])(modelName,Fetch["a"].MODEL,response,downloadProgressCallback);if(!response.ok)throw new Error("invalid response");return response}catch(e){const response=await Object(external_loaders_gl_core_["fetchFile"])(this.getModelUrl(MODEL_PLACEHOLDER_NAME,opts===null||opts===void 0?void 0:opts.cacheBypass,authorization),options);if(downloadProgressCallback){await Object(Fetch["b"])(MODEL_PLACEHOLDER_NAME,Fetch["a"].MODEL,response,downloadProgressCallback)}return response}}}}var Resource=__webpack_require__(80);class ModelFactory_ModelFactory extends BaseFactory_BaseFactory{constructor(){super(...arguments);this.status={}}getLoadOptions(props){const modelFetch=new ModelFetch_ModelFetch;return{fetch:modelFetch.fetch(props.authorization,props.onResourceDownloadProgressChange,{cacheBypass:props.editing})}}castValue(value){if(typeof value==="string"){return JSON.parse(value)}return value}getRotationField(rotationEncoding,axis,index,row){if(!rotationEncoding||!rotationEncoding[axis]){return 0}const field=rotationEncoding[axis].field;if(field&&row[field]){const value=this.castValue(row[field]);if(Array.isArray(value)){return value[index]}return value}return 0}getOrientation(props,row){var _props$encoding$rotat,_props$encoding$rotat2;if((_props$encoding$rotat=props.encoding.rotation)!==null&&_props$encoding$rotat!==void 0&&_props$encoding$rotat.value)return(_props$encoding$rotat2=props.encoding.rotation)===null||_props$encoding$rotat2===void 0?void 0:_props$encoding$rotat2.value;const x=this.getRotationField(props.encoding.rotation,"x",0,row);const y=this.getRotationField(props.encoding.rotation,"y",1,row);const z=this.getRotationField(props.encoding.rotation,"z",2,row);return[y,z,x]}getScaleAccessor(rows,sizeEncoding){let factor=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;const sizeAccessor=Object(src["v"])({rows,encoding:sizeEncoding})||1;return row=>{let size=sizeAccessor;if(typeof size==="function")size=size(row);return[size*factor,size*factor,size*factor]}}updateLayerVersion(props){var _props$uploadedResour,_props$uploadedResour2;if(!this.status[props.layerId])this.status[props.layerId]={version:1,status:undefined};if(((_props$uploadedResour=props.uploadedResource)===null||_props$uploadedResour===void 0?void 0:_props$uploadedResour.sourceLayerId)===props.layerId&&props.uploadedResource.status===Resource["a"].UPLOADED&&props.uploadedResource.status!==this.status[props.layerId].status){this.status[props.layerId].version=this.status[props.layerId].version+1}this.status[props.layerId].status=(_props$uploadedResour2=props.uploadedResource)===null||_props$uploadedResour2===void 0?void 0:_props$uploadedResour2.status}getLayerId(props,i){this.updateLayerVersion(props);return`${props.id}-${i}-${this.status[props.layerId].version}`}getAxisColor(row){if(row.axis==="x")return src["n"];if(row.axis==="y")return src["a"];if(row.axis==="z")return src["f"]}getAxisOrientation(row){if(row.axis==="x")return[90,0,0];if(row.axis==="y")return[0,0,90];if(row.axis==="z")return[180,0,0]}handleAxisCallback(props,callback,keepSelected){return(info,event)=>{var _this$getSelectedRow,_this$getSelectedRow2,_this$getSelectedRow3;if(!callback)return;const cursorDisplacement=(_this$getSelectedRow=this.getSelectedRow(props))!==null&&_this$getSelectedRow!==void 0&&_this$getSelectedRow.cursorDisplacement?(_this$getSelectedRow2=this.getSelectedRow(props))===null||_this$getSelectedRow2===void 0?void 0:_this$getSelectedRow2.cursorDisplacement:this.getCursorDisplacement(props,info.coordinate,(_this$getSelectedRow3=this.getSelectedRow(props))===null||_this$getSelectedRow3===void 0?void 0:_this$getSelectedRow3.updatingRow);const coordinates=this.getInfoCoordinate(info.coordinate);const fixedCoordinate=coordinates&&cursorDisplacement?this.getFixedCoordinate([coordinates===null||coordinates===void 0?void 0:coordinates.x,coordinates===null||coordinates===void 0?void 0:coordinates.y,coordinates===null||coordinates===void 0?void 0:coordinates.z],cursorDisplacement):[0,0,0];if(info.object.axis==="x"){var _this$getSelectedRow4,_this$getSelectedRow5;info.updatedData={_x:fixedCoordinate[0],_y:(_this$getSelectedRow4=this.getSelectedRow(props))===null||_this$getSelectedRow4===void 0?void 0:_this$getSelectedRow4.updatingRow._y,_z:(_this$getSelectedRow5=this.getSelectedRow(props))===null||_this$getSelectedRow5===void 0?void 0:_this$getSelectedRow5.updatingRow._z}}if(info.object.axis==="y"){var _this$getSelectedRow6,_this$getSelectedRow7;info.updatedData={_x:(_this$getSelectedRow6=this.getSelectedRow(props))===null||_this$getSelectedRow6===void 0?void 0:_this$getSelectedRow6.updatingRow._x,_y:fixedCoordinate[1],_z:(_this$getSelectedRow7=this.getSelectedRow(props))===null||_this$getSelectedRow7===void 0?void 0:_this$getSelectedRow7.updatingRow._z}}if(info.object.axis==="z"){var _this$getSelectedRow8,_this$getSelectedRow9;info.updatedData={_x:(_this$getSelectedRow8=this.getSelectedRow(props))===null||_this$getSelectedRow8===void 0?void 0:_this$getSelectedRow8.updatingRow._x,_y:(_this$getSelectedRow9=this.getSelectedRow(props))===null||_this$getSelectedRow9===void 0?void 0:_this$getSelectedRow9.updatingRow._y,_z:fixedCoordinate[2]}}return callback(info,event,keepSelected)}}getColor(props){var _props$encoding$model,_props$encoding$model2;if(!props.encoding.color)return undefined;const rowTranslator=(_props$encoding$model=props.encoding.model)!==null&&_props$encoding$model!==void 0&&_props$encoding$model.field?new dataset_src["j"](props.rows,(_props$encoding$model2=props.encoding.model)===null||_props$encoding$model2===void 0?void 0:_props$encoding$model2.field):undefined;return super.getColorAccessor(props.columns,props.encoding.color,props.rows,rowTranslator)}getOpacity(props){if(props.hasOtherLayerEditing)return.5;return 1}createEditingAxisLayer(props){const selectedRow=this.getSelectedRow(props);if(!props.editing||!selectedRow||!props.editable)return;const deckCallbacks=super.getDeckLayerCallbacks(props);const position=super.getPositionAccessor(props)(selectedRow===null||selectedRow===void 0?void 0:selectedRow.updatingRow);const data=[{...selectedRow.updatingRow,axis:"x"},{...selectedRow.updatingRow,axis:"y"},{...selectedRow.updatingRow,axis:"z"}];return new mesh_layers_["ScenegraphLayer"](super.getDeckProps(props,{id:"model-axis",pickable:true,scenegraph:"axis-arrow",data,loadOptions:this.getLoadOptions(props),_lighting:"pbr",getScale:this.getScaleAccessor(props.rows,props.encoding.size,1.5),sizeMinPixels:3,parameters:{depthTest:false,blend:false},getPosition:position,updateTriggers:{getPosition:position},getColor:this.getAxisColor.bind(this),getOrientation:this.getAxisOrientation.bind(this),...deckCallbacks,onDrag:this.handleAxisCallback(props,deckCallbacks.onDrag),onDragEnd:this.handleAxisCallback(props,deckCallbacks.onDragEnd,true)}))}createSceneLayers(props,rowsByModel){return Object.keys(rowsByModel).map(((model,i)=>{var _props$selectedRow,_props$encoding$model3;const deckProps=super.getDeckProps(props,{id:this.getLayerId(props,i),pickable:(props.pickable||props.editing)&&!(props.editing&&!!((_props$selectedRow=props.selectedRow)!==null&&_props$selectedRow!==void 0&&_props$selectedRow.layerId)),scenegraph:model,data:rowsByModel[model],loadOptions:this.getLoadOptions(props),_lighting:"pbr",getColor:this.getColor(props),opacity:this.getOpacity(props),getScale:this.getScaleAccessor(props.rows,props.encoding.size),getPosition:super.getPositionAccessor(props),getOrientation:row=>this.getOrientation(props,row),parameters:{depthTest:!((_props$encoding$model3=props.encoding.model)!==null&&_props$encoding$model3!==void 0&&_props$encoding$model3.overlap)},updateTriggers:{getScale:super.getEncodingUpdateTrigger(props.encoding.size,props.rows),getPosition:super.getPositionUpdateTrigger(props.encoding.position,props.editing,props.rows),getOrientation:super.getEncodingUpdateTrigger(props.encoding.rotation,props.rows)},...super.getBaseDeckLayerCallbacks(props)});return new mesh_layers_["ScenegraphLayer"](deckProps)}))}create(props){const rowsByModel=Object(fp_["groupBy"])((row=>src["i"].getModel(props.encoding.model,row)),props.rows);const layers=this.createSceneLayers(props,rowsByModel);const editingAxisLayer=this.createEditingAxisLayer(props);if(editingAxisLayer)layers.push(editingAxisLayer);return layers}}class RowProcessorDecorator_RowProcessorDecorator{constructor(factory,viewState,world){this.factory=void 0;this.viewState=void 0;this.world=void 0;this.factory=factory;this.viewState=viewState;this.world=world}processRows(props){var _props$visible,_props$visible$condit,_props$visible2;if(!props.rows){return new dataset_src["k"]}let rows=props.rows;const conditionField=(_props$visible=props.visible)===null||_props$visible===void 0?void 0:(_props$visible$condit=_props$visible.condition)===null||_props$visible$condit===void 0?void 0:_props$visible$condit.test;if(conditionField){rows=rows.filter((row=>row[conditionField]))}if(!props.transform||!((_props$visible2=props.visible)!==null&&_props$visible2!==void 0&&_props$visible2.value))return rows;if(props.transform.cluster){return props.transform.cluster.apply(rows,props.columns,props.zoom)}else if(props.transform.roomCluster&&this.viewState&&this.world){return props.transform.roomCluster.apply(rows,this.viewState,this.world)}return rows}create(props){props.rows=this.processRows(props);return this.factory.create(props)}}const factories={circle:new CircleFactory_CircleFactory,heatmap:new HeatmapFactory_HeatmapFactory,icon:new IconFactory_IconFactory,image:new ImageFactory_ImageFactory,line:new LineFactory_LineFactory,polygon:new PolygonFactory_PolygonFactory,text:new TextFactory_TextFactory,table:new TableFactory_TableFactory,model:new ModelFactory_ModelFactory};function getFactory(type,viewState,world){return new RowProcessorDecorator_RowProcessorDecorator(factories[type.toLowerCase()],viewState,world)}function hasFactory(layer){return!!factories[layer.type.toLowerCase()]}function isVegaLayer(layer){return layer.isVega()}function getViewLayerId(layer){return[layer.id,layer.type].join("#")}function createViewLayer(props,layer){var _props$queries,_props$queries2,_props$viewState,_layer$transform;if(!layer.shouldRender(props.rowsetStore.getRowsets())){return null}const rowset=props.rowsetStore.getByTargetRowset(layer.getTargetRowset(props.zoom));if(!rowset)return null;const columns=(_props$queries=props.queries)===null||_props$queries===void 0?void 0:_props$queries.getColumns(layer.getQueryKey());const factory=getFactory(layer.type,props.viewState,props.world);const rows=props.projectedRows&&props.projectedRows[rowset.getId()]?props.projectedRows[rowset.getId()]:rowset.rows;const query=(_props$queries2=props.queries)===null||_props$queries2===void 0?void 0:_props$queries2.findQuery(layer.getData());return factory.create({id:getViewLayerId(layer),layerId:layer.id,encoding:layer.encoding,bearing:(_props$viewState=props.viewState)===null||_props$viewState===void 0?void 0:_props$viewState.bearing,columns,editable:layer.isEditable(query===null||query===void 0?void 0:query.canUpdate()),editing:!!props.editingLayerId&&props.editingLayerId===layer.id,hasOtherLayerEditing:!!props.editingLayerId&&props.editingLayerId!==layer.id,dragging:props.dragging,pickable:!props.editingLayerId||props.editingLayerId===layer.id,lastModified:layer.lastModified,transform:layer.transform,rows,rowsetId:rowset===null||rowset===void 0?void 0:rowset.getId(),selectedRow:props.selectedRow,visible:{value:layer.isVisible(props.zoom),condition:layer.visible.condition},zoom:(_layer$transform=layer.transform)!==null&&_layer$transform!==void 0&&_layer$transform.cluster?Math.floor(props.zoom):undefined,highlight:layer.highlight,dataComparator:props.dataComparator,authorization:props.authorization,uploadedResource:props.uploadedResource,maxTextureSize:props.maxTextureSize,onResourceDownloadProgressChange:props.onResourceDownloadProgressChange,onHover:props.onHover,onClick:props.onClick,onDragStart:props.onDragStart,onDrag:props.onDrag,onDragEnd:props.onDragEnd,onEdit:props.onEdit,onEditEnd:props.onEditEnd})}const createVegaViewLayers=(vegaLayers,props)=>{var _props$world;const layersSpec=vegaLayers.map((layer=>{var _rowset$rows;if(!layer.shouldRender(props.rowsetStore.getRowsets()))return null;if(!layer.isVisible(props.zoom))return null;const rowset=props.rowsetStore.getByTargetRowset(layer.getTargetRowset(props.zoom));if(!(rowset!==null&&rowset!==void 0&&(_rowset$rows=rowset.rows)!==null&&_rowset$rows!==void 0&&_rowset$rows.length))return null;const rows=props.projectedRows&&props.projectedRows[rowset.getId()]?props.projectedRows[rowset.getId()]:rowset.rows;return{...layer,rows}})).filter((layerSpec=>!!layerSpec));return new VegaLiteFactory_VegaLiteFactory(props.cacheStore,props.dataComparator).create({layers:layersSpec,worldDimensions:(_props$world=props.world)===null||_props$world===void 0?void 0:_props$world.getDimensions(),themeMode:props.themeMode,scaleDomains:props.scaleDomains,zoom:props.zoom,zoomBehavior:props.zoomBehavior})};const createViewLayers=props=>{if(!props.layers||props.layers.length===0){return new ViewLayers}const viewLayers=[];const vegaLayers=props.layers.filter(isVegaLayer);if(vegaLayers.length){const vegaViewLayers=createVegaViewLayers(vegaLayers,props);viewLayers.push(...vegaViewLayers)}const hoparaLayers=props.layers.filter(hasFactory).map((layer=>createViewLayer(props,layer)));if(hoparaLayers.length){viewLayers.push(...hoparaLayers)}return new ViewLayers(...viewLayers)}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return D3Formatter_D3Formatter}));var external_d3_=__webpack_require__(23);var ColumnType=__webpack_require__(26);const getDecimalsQty=(value,decimalSeparator)=>{let splitted=[];if(typeof value==="string"){splitted=value.split(decimalSeparator)}else if(typeof value==="number"){const numStr=value.toString();splitted=numStr.split(".")}return splitted.length===2?splitted[1].length:0};class D3Formatter_D3Formatter{constructor(columnType){this.columnType=void 0;this.columnType=columnType}getFormatString(){switch(this.columnType){case ColumnType["a"].DECIMAL:return",.2f";case ColumnType["a"].INTEGER:return",d";default:return}}getDecimalSeparator(){return"."}format(value){const formatString=this.getFormatString();if(!formatString)return value;return Object(external_d3_["format"])(formatString)(value)}unformatDecimal(value){const unformatted=typeof value==="string"?Number(value.replace(/,/g,"")):value;const decimalsQty=getDecimalsQty(value,this.getDecimalSeparator());if(!decimalsQty){return Number(unformatted)/100}else if(decimalsQty===1){return Number(unformatted)/10}else if(decimalsQty>2){return Number(unformatted)*10}return unformatted}unformat(value){switch(this.columnType){case ColumnType["a"].INTEGER:return typeof value==="string"?Number(value.replace(/,/g,"")):value;case ColumnType["a"].DECIMAL:return this.unformatDecimal(value);default:return value}}}},function(module,__webpack_exports__,__webpack_require__){"use strict";(function(global){const window=global;const sendEvent=(name,props)=>{if(!window.gtag)return;window.gtag("event",name,props)};const pageview=(title,path)=>{sendEvent("page_view",{page_path:path,page_location:window.location.href,page_title:title})};const login=method=>{sendEvent("login",{method})};const custom=event=>{sendEvent(event.action,{event_category:event.category,event_label:event.label,value:event.value})};const GA={pageview,login,custom};__webpack_exports__["a"]=GA}).call(this,__webpack_require__(81))},function(module,exports){module.exports=require("gl-matrix/vec2")},function(module,exports){module.exports=require("@luma.gl/engine")},function(module,exports){module.exports=require("@turf/projection")},function(module,exports){module.exports=require("@mui/material/TableCell")},function(module,exports){module.exports=require("@deck.gl/mesh-layers")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return logAppInfo}));var _hopara_config__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(15);var _hopara_internals__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(16);const logAppInfo=()=>{if(!_hopara_internals__WEBPACK_IMPORTED_MODULE_1__["a"].isDebugging())return;const envs=["HOPARA_ENV","PACKAGE_VERSION","BUILD_NUMBER","APP_API_ADDRESS","BFF_ADDRESS","DATASET_API_ADDRESS"];return envs.forEach((env=>_hopara_internals__WEBPACK_IMPORTED_MODULE_1__["c"].info(env,"=",_hopara_config__WEBPACK_IMPORTED_MODULE_0__["a"].getValue(env))))}},function(module,exports){module.exports=require("colorsys")},function(module,exports){module.exports=require("@react-google-maps/api")},function(module,exports){module.exports=require("react-transition-group")},function(module,exports){module.exports=require("d3-svg-legend")},function(module,exports){module.exports=require("jwt-decode")},function(module,exports){module.exports=require("@mui/material/Link")},function(module,exports){module.exports=require("@redux-saga/core")},function(module,exports){module.exports=require("redux-persist")},function(module,exports){module.exports=require("socket.io-client")},function(module,exports){module.exports=require("slugify")},function(module,exports){module.exports=require("axios")},function(module,exports){module.exports=require("dayjs/plugin/utc")},function(module,exports){module.exports=require("fast-memoize")},function(module,exports){module.exports=require("supercluster")},function(module,exports){module.exports=require("@deck.gl/react/typed")},function(module,exports){module.exports=require("maplibre-gl")},function(module,exports){module.exports=require("react-map-gl")},function(module,exports){module.exports=require("lodash")},function(module,exports){module.exports=require("@deck.gl/aggregation-layers")},function(module,exports){module.exports=require("@turf/rhumb-bearing")},function(module,exports){module.exports=require("@turf/rhumb-distance")},function(module,exports){module.exports=require("@turf/transform-translate")},function(module,exports){module.exports=require("@turf/meta")},function(module,exports){module.exports=require("@turf/polygon-to-line")},function(module,exports){module.exports=require("@deck.gl/core/typed")},function(module,exports){module.exports=require("@turf/distance")},function(module,exports){module.exports=require("@mui/material/Table")},function(module,exports){module.exports=require("@mui/material/TableContainer")},function(module,exports){module.exports=require("@mui/material/TablePagination")},function(module,exports){module.exports=require("@mui/material/TableSortLabel")},function(module,exports){module.exports=require("@mui/material/TableBody")},function(module,exports){module.exports=require("@mui/material/TableHead")},function(module,exports){module.exports=require("natural-compare-lite")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return ToastContainer}));var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(5);var react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);var react_toastify__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(47);var react_toastify__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(react_toastify__WEBPACK_IMPORTED_MODULE_1__);var react_toastify_dist_ReactToastify_css__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(145);var react_toastify_dist_ReactToastify_css__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(react_toastify_dist_ReactToastify_css__WEBPACK_IMPORTED_MODULE_2__);var _toast_css__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(146);var _toast_css__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_toast_css__WEBPACK_IMPORTED_MODULE_3__);var _theme__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(10);var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(4);var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__);react_toastify__WEBPACK_IMPORTED_MODULE_1__["toast"].configure();const transition=Object(react_toastify__WEBPACK_IMPORTED_MODULE_1__["cssTransition"])({enter:"hopara-Toastify__fade-in",exit:"hopara-Toastify__fade-out"});const StyledToastContainer=Object(_theme__WEBPACK_IMPORTED_MODULE_4__["a"])(react_toastify__WEBPACK_IMPORTED_MODULE_1__["ToastContainer"],{name:"ToastContainer"})((_ref=>{let{theme}=_ref;return{".Toastify__toast":{boxShadow:"rgb(0 0 0 / 20%) 0 3px 5px -1px, rgb(0 0 0 / 14%) 0 6px 10px 0, rgb(0 0 0 / 12%) 0 1px 18px 0",backgroundColor:theme.palette.spec.inverseSurface,color:theme.palette.spec.inverseOnSurface,fontSize:"12px !important",minHeight:"10px !important",borderRadius:"4px"},".Toastify__toast--success .hopara-Toastify__body":{color:theme.palette.spec.inverseOnSurface},".Toastify__toast--success .hopara-Toastify__body:before":{backgroundColor:theme.palette.spec.inverseOnSurface},".Toastify__toast--error .hopara-Toastify__body":{color:theme.palette.spec.tonal.error[70]},".Toastify__toast--error .hopara-Toastify__body:before":{backgroundColor:theme.palette.spec.tonal.error[70]}}}));const ToastContainer=()=>{const theme=Object(_theme__WEBPACK_IMPORTED_MODULE_4__["b"])();const position="bottom-right";return Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__["jsx"])(StyledToastContainer,{autoClose:5e3,limit:1,newestOnTop:true,position,hideProgressBar:true,icon:false,transition,containerId:"hp-toast-global",className:"hopara-Toastify",toastClassName:"hopara-Toastify__toast__light",bodyClassName:"hopara-Toastify__body",theme})}},function(module,exports){module.exports=require("reselect")},function(module,exports){module.exports=require("feather-icons-react")},function(module,exports){module.exports=require("@mui/material/LinearProgress")},function(module,__webpack_exports__,__webpack_require__){"use strict";var dist_namespaceObject={};__webpack_require__.r(dist_namespaceObject);__webpack_require__.d(dist_namespaceObject,"Blend",(function(){return blend_Blend}));__webpack_require__.d(dist_namespaceObject,"Cam16",(function(){return cam16_Cam16}));__webpack_require__.d(dist_namespaceObject,"Hct",(function(){return hct_Hct}));__webpack_require__.d(dist_namespaceObject,"ViewingConditions",(function(){return viewing_conditions_ViewingConditions}));__webpack_require__.d(dist_namespaceObject,"CorePalette",(function(){return core_palette_CorePalette}));__webpack_require__.d(dist_namespaceObject,"TonalPalette",(function(){return tonal_palette_TonalPalette}));__webpack_require__.d(dist_namespaceObject,"QuantizerCelebi",(function(){return quantizer_celebi_QuantizerCelebi}));__webpack_require__.d(dist_namespaceObject,"QuantizerMap",(function(){return quantizer_map_QuantizerMap}));__webpack_require__.d(dist_namespaceObject,"QuantizerWsmeans",(function(){return quantizer_wsmeans_QuantizerWsmeans}));__webpack_require__.d(dist_namespaceObject,"QuantizerWu",(function(){return quantizer_wu_QuantizerWu}));__webpack_require__.d(dist_namespaceObject,"Scheme",(function(){return scheme_Scheme}));__webpack_require__.d(dist_namespaceObject,"SchemeAndroid",(function(){return scheme_android_SchemeAndroid}));__webpack_require__.d(dist_namespaceObject,"Score",(function(){return score_Score}));__webpack_require__.d(dist_namespaceObject,"argbFromRgb",(function(){return argbFromRgb}));__webpack_require__.d(dist_namespaceObject,"argbFromLinrgb",(function(){return argbFromLinrgb}));__webpack_require__.d(dist_namespaceObject,"alphaFromArgb",(function(){return alphaFromArgb}));__webpack_require__.d(dist_namespaceObject,"redFromArgb",(function(){return redFromArgb}));__webpack_require__.d(dist_namespaceObject,"greenFromArgb",(function(){return greenFromArgb}));__webpack_require__.d(dist_namespaceObject,"blueFromArgb",(function(){return blueFromArgb}));__webpack_require__.d(dist_namespaceObject,"isOpaque",(function(){return isOpaque}));__webpack_require__.d(dist_namespaceObject,"argbFromXyz",(function(){return argbFromXyz}));__webpack_require__.d(dist_namespaceObject,"xyzFromArgb",(function(){return xyzFromArgb}));__webpack_require__.d(dist_namespaceObject,"argbFromLab",(function(){return argbFromLab}));__webpack_require__.d(dist_namespaceObject,"labFromArgb",(function(){return labFromArgb}));__webpack_require__.d(dist_namespaceObject,"argbFromLstar",(function(){return argbFromLstar}));__webpack_require__.d(dist_namespaceObject,"lstarFromArgb",(function(){return lstarFromArgb}));__webpack_require__.d(dist_namespaceObject,"yFromLstar",(function(){return yFromLstar}));__webpack_require__.d(dist_namespaceObject,"linearized",(function(){return linearized}));__webpack_require__.d(dist_namespaceObject,"delinearized",(function(){return color_utils_delinearized}));__webpack_require__.d(dist_namespaceObject,"whitePointD65",(function(){return whitePointD65}));__webpack_require__.d(dist_namespaceObject,"signum",(function(){return signum}));__webpack_require__.d(dist_namespaceObject,"lerp",(function(){return lerp}));__webpack_require__.d(dist_namespaceObject,"clampInt",(function(){return clampInt}));__webpack_require__.d(dist_namespaceObject,"clampDouble",(function(){return clampDouble}));__webpack_require__.d(dist_namespaceObject,"sanitizeDegreesInt",(function(){return sanitizeDegreesInt}));__webpack_require__.d(dist_namespaceObject,"sanitizeDegreesDouble",(function(){return sanitizeDegreesDouble}));__webpack_require__.d(dist_namespaceObject,"rotationDirection",(function(){return rotationDirection}));__webpack_require__.d(dist_namespaceObject,"differenceDegrees",(function(){return math_utils_differenceDegrees}));__webpack_require__.d(dist_namespaceObject,"matrixMultiply",(function(){return matrixMultiply}));__webpack_require__.d(dist_namespaceObject,"hexFromArgb",(function(){return string_utils_hexFromArgb}));__webpack_require__.d(dist_namespaceObject,"argbFromHex",(function(){return string_utils_argbFromHex}));__webpack_require__.d(dist_namespaceObject,"sourceColorFromImage",(function(){return sourceColorFromImage}));__webpack_require__.d(dist_namespaceObject,"themeFromSourceColor",(function(){return theme_utils_themeFromSourceColor}));__webpack_require__.d(dist_namespaceObject,"themeFromImage",(function(){return themeFromImage}));__webpack_require__.d(dist_namespaceObject,"customColor",(function(){return customColor}));__webpack_require__.d(dist_namespaceObject,"applyTheme",(function(){return theme_utils_applyTheme}));var external_react_redux_=__webpack_require__(52);var Store=__webpack_require__(9);var external_react_=__webpack_require__(5);var external_react_default=__webpack_require__.n(external_react_);var src=__webpack_require__(15);var material_=__webpack_require__(21);var styles_=__webpack_require__(68);const createComponents=spec=>({HoparaBranding:{logoUrl:spec.logoUrl,logoSmallUrl:spec.logoSmallUrl},HoparaTable:{row:{backgroundEven:"#fcfaff",backgroundHover:"#faf8fd"}},HoparaInput:{backgroundClip:"padding-box",borderRadius:spec.borderRadius,display:"block",color:spec.onBackground,backgroundColor:spec.input,fontSize:13,lineHeight:"1.85",outline:"none",padding:".25em .75em",transition:"border-color 0.15s ease-in-out",width:"100%",boxSizing:"border-box"},MuiFormHelperText:{styleOverrides:{root:{"&.Mui-error":{color:spec.error,"&:before, &:after":{border:"none"}}}}},MuiFilledInput:{styleOverrides:{root:{backgroundColor:spec.input,maxWidth:"100%",borderRadius:spec.borderRadius,border:"1px solid transparent",":hover":{backgroundColor:spec.inputHover,":before, :after":{borderBottom:"none"},":not(.Mui-disabled)":{":before":{borderBottom:"none"}}},":focus-within":{backgroundColor:spec.inputActive},":before":{border:"none"},":after":{border:"none"},"&.Mui-error":{border:`1px solid ${spec.error} !important`,backgroundColor:spec.onError},"&.Mui-disabled":{backgroundColor:spec.inputDisabled,"&:before, &:after":{border:"none"}}}}},MuiTextField:{styleOverrides:{root:{maxWidth:"100% !important"}}},MuiInputAdornment:{styleOverrides:{root:{":not(.MuiInputAdornment-hiddenLabel)":{marginTop:"0 !important"}}}},MuiListItemButton:{styleOverrides:{root:{}}},MuiTooltip:{styleOverrides:{tooltip:{fontSize:"1em"}}}});var external_colorsys_=__webpack_require__(104);var external_colorsys_default=__webpack_require__.n(external_colorsys_);const ThemeSpec_color={pearl:"#F2F2F2",snow:"#F5F5F5",silver:"#E6E6E6",pure:"#FFFFFF"};class ThemeSpec_ThemeSpec{constructor(props){this.logoUrl=void 0;this.logoSmallUrl=void 0;this.original=void 0;this.onOriginal=void 0;this.primary=void 0;this.onPrimary=void 0;this.primaryContainer=void 0;this.onPrimaryContainer=void 0;this.secondary=void 0;this.onSecondary=void 0;this.secondaryContainer=void 0;this.onSecondaryContainer=void 0;this.tertiary=void 0;this.onTertiary=void 0;this.tertiaryContainer=void 0;this.onTertiaryContainer=void 0;this.error=void 0;this.onError=void 0;this.errorContainer=void 0;this.onErrorContainer=void 0;this.background=void 0;this.onBackground=void 0;this.onBackgroundLight=void 0;this.surface=void 0;this.onSurface=void 0;this.outline=void 0;this.surfaceVariant=void 0;this.onSurfaceVariant=void 0;this.inverseSurface=void 0;this.inversePrimary=void 0;this.inverseOnSurface=void 0;this.borderRadius=void 0;this.borderColor=void 0;this.fontSize=void 0;this.input=void 0;this.inputDisabled=void 0;this.inputHover=void 0;this.inputActive=void 0;this.tonal=void 0;Object.assign(this,props)}static fromBrand(tenantBrand,materialYouUtilities){const{themeFromSourceColor,argbFromHex,applyTheme,hexFromArgb}=materialYouUtilities;const materialYou=themeFromSourceColor(argbFromHex(tenantBrand.color));applyTheme(materialYou,{target:document.body});const luminance=Object(styles_["getLuminance"])(tenantBrand.color);const lightSourceColor=hexFromArgb(materialYou.palettes.primary.tone(30));const darkSourceColor=hexFromArgb(materialYou.palettes.primary.tone(95));const tones=new Array(21).fill(0).map(((_,i)=>i*5));const material=materialYou.schemes.light;return new ThemeSpec_ThemeSpec({logoUrl:tenantBrand.logoUrl,logoSmallUrl:tenantBrand.logoSmallUrl,original:tenantBrand.color,onOriginal:luminance>.4?lightSourceColor:darkSourceColor,primary:hexFromArgb(material.primary),onPrimary:hexFromArgb(material.onPrimary),primaryContainer:hexFromArgb(material.primaryContainer),onPrimaryContainer:hexFromArgb(material.onPrimaryContainer),secondary:hexFromArgb(material.secondary),onSecondary:hexFromArgb(material.onSecondary),secondaryContainer:hexFromArgb(material.secondaryContainer),onSecondaryContainer:hexFromArgb(material.onSecondaryContainer),tertiary:hexFromArgb(material.tertiary),onTertiary:hexFromArgb(material.onTertiary),tertiaryContainer:hexFromArgb(material.tertiaryContainer),onTertiaryContainer:hexFromArgb(material.onTertiaryContainer),error:hexFromArgb(material.error),onError:hexFromArgb(material.onError),errorContainer:hexFromArgb(material.errorContainer),onErrorContainer:hexFromArgb(material.onErrorContainer),surface:hexFromArgb(material.surface),onSurface:hexFromArgb(material.onSurface),background:hexFromArgb(material.background),onBackground:hexFromArgb(material.onBackground),onBackgroundLight:hexFromArgb(materialYou.palettes.neutral.tone(50)),outline:hexFromArgb(material.outline),surfaceVariant:hexFromArgb(material.surfaceVariant),onSurfaceVariant:hexFromArgb(material.onSurfaceVariant),inverseSurface:hexFromArgb(material.inverseSurface),inversePrimary:hexFromArgb(material.inversePrimary),inverseOnSurface:hexFromArgb(material.inverseOnSurface),borderRadius:3,borderColor:"rgba(0,0,0,0.1)",fontSize:12,input:ThemeSpec_color.pearl,inputDisabled:ThemeSpec_color.snow,inputHover:ThemeSpec_color.silver,inputActive:ThemeSpec_color.silver,tonal:{primary:Object.fromEntries(tones.map((tone=>[tone,hexFromArgb(materialYou.palettes.primary.tone(tone))]))),secondary:Object.fromEntries(tones.map((tone=>[tone,hexFromArgb(materialYou.palettes.secondary.tone(tone))]))),tertiary:Object.fromEntries(tones.map((tone=>[tone,hexFromArgb(materialYou.palettes.tertiary.tone(tone))]))),error:Object.fromEntries(tones.map((tone=>[tone,hexFromArgb(materialYou.palettes.error.tone(tone))]))),neutral:Object.fromEntries(tones.map((tone=>[tone,hexFromArgb(materialYou.palettes.neutral.tone(tone))]))),neutralVariant:Object.fromEntries(tones.map((tone=>[tone,hexFromArgb(materialYou.palettes.neutralVariant.tone(tone))])))}})}toTheme(){const luminance=Object(styles_["getLuminance"])(this.original);return Object(styles_["createTheme"])({palette:{hue:external_colorsys_default.a.rgb_to_hsl(external_colorsys_default.a.parseCss(this.primary)).h,contrast:luminance<=.4,spec:this,original:{main:this.original,contrastText:this.onOriginal},primary:{main:this.primary,light:this.primaryContainer,contrastText:this.onPrimary,dark:this.onPrimaryContainer},secondary:{main:this.secondary,light:this.secondaryContainer,contrastText:this.onSecondary,dark:this.onSecondaryContainer},tertiary:{main:this.tertiary,light:this.tertiaryContainer,contrastText:this.onTertiary,dark:this.onTertiaryContainer},error:{main:this.tonal.error[50],light:this.tonal.error[70],contrastText:this.tonal.error[50],dark:this.tonal.error[20]},background:{default:ThemeSpec_color.pure,paper:ThemeSpec_color.pure},divider:this.borderColor,text:{primary:this.onBackground,secondary:this.onSurface,component:this.onBackgroundLight,disabled:this.onBackgroundLight}},shape:{borderRadius:this.borderRadius,paddingInner:this.fontSize},typography:{fontSize:this.fontSize,fontFamily:"Inter, sans-serif"},spacing:1,components:createComponents(this)})}}function signum(num){if(num<0){return-1}else if(num===0){return 0}else{return 1}}function lerp(start,stop,amount){return(1-amount)*start+amount*stop}function clampInt(min,max,input){if(input<min){return min}else if(input>max){return max}return input}function clampDouble(min,max,input){if(input<min){return min}else if(input>max){return max}return input}function sanitizeDegreesInt(degrees){degrees=degrees%360;if(degrees<0){degrees=degrees+360}return degrees}function sanitizeDegreesDouble(degrees){degrees=degrees%360;if(degrees<0){degrees=degrees+360}return degrees}function rotationDirection(from,to){const increasingDifference=sanitizeDegreesDouble(to-from);return increasingDifference<=180?1:-1}function math_utils_differenceDegrees(a,b){return 180-Math.abs(Math.abs(a-b)-180)}function matrixMultiply(row,matrix){const a=row[0]*matrix[0][0]+row[1]*matrix[0][1]+row[2]*matrix[0][2];const b=row[0]*matrix[1][0]+row[1]*matrix[1][1]+row[2]*matrix[1][2];const c=row[0]*matrix[2][0]+row[1]*matrix[2][1]+row[2]*matrix[2][2];return[a,b,c]}const SRGB_TO_XYZ=[[.41233895,.35762064,.18051042],[.2126,.7152,.0722],[.01932141,.11916382,.95034478]];const XYZ_TO_SRGB=[[3.2413774792388685,-1.5376652402851851,-.49885366846268053],[-.9691452513005321,1.8758853451067872,.04156585616912061],[.05562093689691305,-.20395524564742123,1.0571799111220335]];const WHITE_POINT_D65=[95.047,100,108.883];function argbFromRgb(red,green,blue){return(255<<24|(red&255)<<16|(green&255)<<8|blue&255)>>>0}function argbFromLinrgb(linrgb){const r=color_utils_delinearized(linrgb[0]);const g=color_utils_delinearized(linrgb[1]);const b=color_utils_delinearized(linrgb[2]);return argbFromRgb(r,g,b)}function alphaFromArgb(argb){return argb>>24&255}function redFromArgb(argb){return argb>>16&255}function greenFromArgb(argb){return argb>>8&255}function blueFromArgb(argb){return argb&255}function isOpaque(argb){return alphaFromArgb(argb)>=255}function argbFromXyz(x,y,z){const matrix=XYZ_TO_SRGB;const linearR=matrix[0][0]*x+matrix[0][1]*y+matrix[0][2]*z;const linearG=matrix[1][0]*x+matrix[1][1]*y+matrix[1][2]*z;const linearB=matrix[2][0]*x+matrix[2][1]*y+matrix[2][2]*z;const r=color_utils_delinearized(linearR);const g=color_utils_delinearized(linearG);const b=color_utils_delinearized(linearB);return argbFromRgb(r,g,b)}function xyzFromArgb(argb){const r=linearized(redFromArgb(argb));const g=linearized(greenFromArgb(argb));const b=linearized(blueFromArgb(argb));return matrixMultiply([r,g,b],SRGB_TO_XYZ)}function argbFromLab(l,a,b){const whitePoint=WHITE_POINT_D65;const fy=(l+16)/116;const fx=a/500+fy;const fz=fy-b/200;const xNormalized=labInvf(fx);const yNormalized=labInvf(fy);const zNormalized=labInvf(fz);const x=xNormalized*whitePoint[0];const y=yNormalized*whitePoint[1];const z=zNormalized*whitePoint[2];return argbFromXyz(x,y,z)}function labFromArgb(argb){const linearR=linearized(redFromArgb(argb));const linearG=linearized(greenFromArgb(argb));const linearB=linearized(blueFromArgb(argb));const matrix=SRGB_TO_XYZ;const x=matrix[0][0]*linearR+matrix[0][1]*linearG+matrix[0][2]*linearB;const y=matrix[1][0]*linearR+matrix[1][1]*linearG+matrix[1][2]*linearB;const z=matrix[2][0]*linearR+matrix[2][1]*linearG+matrix[2][2]*linearB;const whitePoint=WHITE_POINT_D65;const xNormalized=x/whitePoint[0];const yNormalized=y/whitePoint[1];const zNormalized=z/whitePoint[2];const fx=labF(xNormalized);const fy=labF(yNormalized);const fz=labF(zNormalized);const l=116*fy-16;const a=500*(fx-fy);const b=200*(fy-fz);return[l,a,b]}function argbFromLstar(lstar){const y=yFromLstar(lstar);const component=color_utils_delinearized(y);return argbFromRgb(component,component,component)}function lstarFromArgb(argb){const y=xyzFromArgb(argb)[1];return 116*labF(y/100)-16}function yFromLstar(lstar){return 100*labInvf((lstar+16)/116)}function linearized(rgbComponent){const normalized=rgbComponent/255;if(normalized<=.040449936){return normalized/12.92*100}else{return Math.pow((normalized+.055)/1.055,2.4)*100}}function color_utils_delinearized(rgbComponent){const normalized=rgbComponent/100;let delinearized=0;if(normalized<=.0031308){delinearized=normalized*12.92}else{delinearized=1.055*Math.pow(normalized,1/2.4)-.055}return clampInt(0,255,Math.round(delinearized*255))}function whitePointD65(){return WHITE_POINT_D65}function labF(t){const e=216/24389;const kappa=24389/27;if(t>e){return Math.pow(t,1/3)}else{return(kappa*t+16)/116}}function labInvf(ft){const e=216/24389;const kappa=24389/27;const ft3=ft*ft*ft;if(ft3>e){return ft3}else{return(116*ft-16)/kappa}}class viewing_conditions_ViewingConditions{constructor(n,aw,nbb,ncb,c,nc,rgbD,fl,fLRoot,z){this.n=n;this.aw=aw;this.nbb=nbb;this.ncb=ncb;this.c=c;this.nc=nc;this.rgbD=rgbD;this.fl=fl;this.fLRoot=fLRoot;this.z=z}static make(){let whitePoint=arguments.length>0&&arguments[0]!==undefined?arguments[0]:whitePointD65();let adaptingLuminance=arguments.length>1&&arguments[1]!==undefined?arguments[1]:200/Math.PI*yFromLstar(50)/100;let backgroundLstar=arguments.length>2&&arguments[2]!==undefined?arguments[2]:50;let surround=arguments.length>3&&arguments[3]!==undefined?arguments[3]:2;let discountingIlluminant=arguments.length>4&&arguments[4]!==undefined?arguments[4]:false;const xyz=whitePoint;const rW=xyz[0]*.401288+xyz[1]*.650173+xyz[2]*-.051461;const gW=xyz[0]*-.250268+xyz[1]*1.204414+xyz[2]*.045854;const bW=xyz[0]*-.002079+xyz[1]*.048952+xyz[2]*.953127;const f=.8+surround/10;const c=f>=.9?lerp(.59,.69,(f-.9)*10):lerp(.525,.59,(f-.8)*10);let d=discountingIlluminant?1:f*(1-1/3.6*Math.exp((-adaptingLuminance-42)/92));d=d>1?1:d<0?0:d;const nc=f;const rgbD=[d*(100/rW)+1-d,d*(100/gW)+1-d,d*(100/bW)+1-d];const k=1/(5*adaptingLuminance+1);const k4=k*k*k*k;const k4F=1-k4;const fl=k4*adaptingLuminance+.1*k4F*k4F*Math.cbrt(5*adaptingLuminance);const n=yFromLstar(backgroundLstar)/whitePoint[1];const z=1.48+Math.sqrt(n);const nbb=.725/Math.pow(n,.2);const ncb=nbb;const rgbAFactors=[Math.pow(fl*rgbD[0]*rW/100,.42),Math.pow(fl*rgbD[1]*gW/100,.42),Math.pow(fl*rgbD[2]*bW/100,.42)];const rgbA=[400*rgbAFactors[0]/(rgbAFactors[0]+27.13),400*rgbAFactors[1]/(rgbAFactors[1]+27.13),400*rgbAFactors[2]/(rgbAFactors[2]+27.13)];const aw=(2*rgbA[0]+rgbA[1]+.05*rgbA[2])*nbb;return new viewing_conditions_ViewingConditions(n,aw,nbb,ncb,c,nc,rgbD,fl,Math.pow(fl,.25),z)}}viewing_conditions_ViewingConditions.DEFAULT=viewing_conditions_ViewingConditions.make();class cam16_Cam16{constructor(hue,chroma,j,q,m,s,jstar,astar,bstar){this.hue=hue;this.chroma=chroma;this.j=j;this.q=q;this.m=m;this.s=s;this.jstar=jstar;this.astar=astar;this.bstar=bstar}distance(other){const dJ=this.jstar-other.jstar;const dA=this.astar-other.astar;const dB=this.bstar-other.bstar;const dEPrime=Math.sqrt(dJ*dJ+dA*dA+dB*dB);const dE=1.41*Math.pow(dEPrime,.63);return dE}static fromInt(argb){return cam16_Cam16.fromIntInViewingConditions(argb,viewing_conditions_ViewingConditions.DEFAULT)}static fromIntInViewingConditions(argb,viewingConditions){const red=(argb&16711680)>>16;const green=(argb&65280)>>8;const blue=argb&255;const redL=linearized(red);const greenL=linearized(green);const blueL=linearized(blue);const x=.41233895*redL+.35762064*greenL+.18051042*blueL;const y=.2126*redL+.7152*greenL+.0722*blueL;const z=.01932141*redL+.11916382*greenL+.95034478*blueL;const rC=.401288*x+.650173*y-.051461*z;const gC=-.250268*x+1.204414*y+.045854*z;const bC=-.002079*x+.048952*y+.953127*z;const rD=viewingConditions.rgbD[0]*rC;const gD=viewingConditions.rgbD[1]*gC;const bD=viewingConditions.rgbD[2]*bC;const rAF=Math.pow(viewingConditions.fl*Math.abs(rD)/100,.42);const gAF=Math.pow(viewingConditions.fl*Math.abs(gD)/100,.42);const bAF=Math.pow(viewingConditions.fl*Math.abs(bD)/100,.42);const rA=signum(rD)*400*rAF/(rAF+27.13);const gA=signum(gD)*400*gAF/(gAF+27.13);const bA=signum(bD)*400*bAF/(bAF+27.13);const a=(11*rA+-12*gA+bA)/11;const b=(rA+gA-2*bA)/9;const u=(20*rA+20*gA+21*bA)/20;const p2=(40*rA+20*gA+bA)/20;const atan2=Math.atan2(b,a);const atanDegrees=atan2*180/Math.PI;const hue=atanDegrees<0?atanDegrees+360:atanDegrees>=360?atanDegrees-360:atanDegrees;const hueRadians=hue*Math.PI/180;const ac=p2*viewingConditions.nbb;const j=100*Math.pow(ac/viewingConditions.aw,viewingConditions.c*viewingConditions.z);const q=4/viewingConditions.c*Math.sqrt(j/100)*(viewingConditions.aw+4)*viewingConditions.fLRoot;const huePrime=hue<20.14?hue+360:hue;const eHue=.25*(Math.cos(huePrime*Math.PI/180+2)+3.8);const p1=5e4/13*eHue*viewingConditions.nc*viewingConditions.ncb;const t=p1*Math.sqrt(a*a+b*b)/(u+.305);const alpha=Math.pow(t,.9)*Math.pow(1.64-Math.pow(.29,viewingConditions.n),.73);const c=alpha*Math.sqrt(j/100);const m=c*viewingConditions.fLRoot;const s=50*Math.sqrt(alpha*viewingConditions.c/(viewingConditions.aw+4));const jstar=(1+100*.007)*j/(1+.007*j);const mstar=1/.0228*Math.log(1+.0228*m);const astar=mstar*Math.cos(hueRadians);const bstar=mstar*Math.sin(hueRadians);return new cam16_Cam16(hue,c,j,q,m,s,jstar,astar,bstar)}static fromJch(j,c,h){return cam16_Cam16.fromJchInViewingConditions(j,c,h,viewing_conditions_ViewingConditions.DEFAULT)}static fromJchInViewingConditions(j,c,h,viewingConditions){const q=4/viewingConditions.c*Math.sqrt(j/100)*(viewingConditions.aw+4)*viewingConditions.fLRoot;const m=c*viewingConditions.fLRoot;const alpha=c/Math.sqrt(j/100);const s=50*Math.sqrt(alpha*viewingConditions.c/(viewingConditions.aw+4));const hueRadians=h*Math.PI/180;const jstar=(1+100*.007)*j/(1+.007*j);const mstar=1/.0228*Math.log(1+.0228*m);const astar=mstar*Math.cos(hueRadians);const bstar=mstar*Math.sin(hueRadians);return new cam16_Cam16(h,c,j,q,m,s,jstar,astar,bstar)}static fromUcs(jstar,astar,bstar){return cam16_Cam16.fromUcsInViewingConditions(jstar,astar,bstar,viewing_conditions_ViewingConditions.DEFAULT)}static fromUcsInViewingConditions(jstar,astar,bstar,viewingConditions){const a=astar;const b=bstar;const m=Math.sqrt(a*a+b*b);const M=(Math.exp(m*.0228)-1)/.0228;const c=M/viewingConditions.fLRoot;let h=Math.atan2(b,a)*(180/Math.PI);if(h<0){h+=360}const j=jstar/(1-(jstar-100)*.007);return cam16_Cam16.fromJchInViewingConditions(j,c,h,viewingConditions)}toInt(){return this.viewed(viewing_conditions_ViewingConditions.DEFAULT)}viewed(viewingConditions){const alpha=this.chroma===0||this.j===0?0:this.chroma/Math.sqrt(this.j/100);const t=Math.pow(alpha/Math.pow(1.64-Math.pow(.29,viewingConditions.n),.73),1/.9);const hRad=this.hue*Math.PI/180;const eHue=.25*(Math.cos(hRad+2)+3.8);const ac=viewingConditions.aw*Math.pow(this.j/100,1/viewingConditions.c/viewingConditions.z);const p1=eHue*(5e4/13)*viewingConditions.nc*viewingConditions.ncb;const p2=ac/viewingConditions.nbb;const hSin=Math.sin(hRad);const hCos=Math.cos(hRad);const gamma=23*(p2+.305)*t/(23*p1+11*t*hCos+108*t*hSin);const a=gamma*hCos;const b=gamma*hSin;const rA=(460*p2+451*a+288*b)/1403;const gA=(460*p2-891*a-261*b)/1403;const bA=(460*p2-220*a-6300*b)/1403;const rCBase=Math.max(0,27.13*Math.abs(rA)/(400-Math.abs(rA)));const rC=signum(rA)*(100/viewingConditions.fl)*Math.pow(rCBase,1/.42);const gCBase=Math.max(0,27.13*Math.abs(gA)/(400-Math.abs(gA)));const gC=signum(gA)*(100/viewingConditions.fl)*Math.pow(gCBase,1/.42);const bCBase=Math.max(0,27.13*Math.abs(bA)/(400-Math.abs(bA)));const bC=signum(bA)*(100/viewingConditions.fl)*Math.pow(bCBase,1/.42);const rF=rC/viewingConditions.rgbD[0];const gF=gC/viewingConditions.rgbD[1];const bF=bC/viewingConditions.rgbD[2];const x=1.86206786*rF-1.01125463*gF+.14918677*bF;const y=.38752654*rF+.62144744*gF-.00897398*bF;const z=-.0158415*rF-.03412294*gF+1.04996444*bF;const argb=argbFromXyz(x,y,z);return argb}}class hct_solver_HctSolver{static sanitizeRadians(angle){return(angle+Math.PI*8)%(Math.PI*2)}static trueDelinearized(rgbComponent){const normalized=rgbComponent/100;let delinearized=0;if(normalized<=.0031308){delinearized=normalized*12.92}else{delinearized=1.055*Math.pow(normalized,1/2.4)-.055}return delinearized*255}static chromaticAdaptation(component){const af=Math.pow(Math.abs(component),.42);return signum(component)*400*af/(af+27.13)}static hueOf(linrgb){const scaledDiscount=matrixMultiply(linrgb,hct_solver_HctSolver.SCALED_DISCOUNT_FROM_LINRGB);const rA=hct_solver_HctSolver.chromaticAdaptation(scaledDiscount[0]);const gA=hct_solver_HctSolver.chromaticAdaptation(scaledDiscount[1]);const bA=hct_solver_HctSolver.chromaticAdaptation(scaledDiscount[2]);const a=(11*rA+-12*gA+bA)/11;const b=(rA+gA-2*bA)/9;return Math.atan2(b,a)}static areInCyclicOrder(a,b,c){const deltaAB=hct_solver_HctSolver.sanitizeRadians(b-a);const deltaAC=hct_solver_HctSolver.sanitizeRadians(c-a);return deltaAB<deltaAC}static intercept(source,mid,target){return(mid-source)/(target-source)}static lerpPoint(source,t,target){return[source[0]+(target[0]-source[0])*t,source[1]+(target[1]-source[1])*t,source[2]+(target[2]-source[2])*t]}static setCoordinate(source,coordinate,target,axis){const t=hct_solver_HctSolver.intercept(source[axis],coordinate,target[axis]);return hct_solver_HctSolver.lerpPoint(source,t,target)}static isBounded(x){return 0<=x&&x<=100}static nthVertex(y,n){const kR=hct_solver_HctSolver.Y_FROM_LINRGB[0];const kG=hct_solver_HctSolver.Y_FROM_LINRGB[1];const kB=hct_solver_HctSolver.Y_FROM_LINRGB[2];const coordA=n%4<=1?0:100;const coordB=n%2===0?0:100;if(n<4){const g=coordA;const b=coordB;const r=(y-g*kG-b*kB)/kR;if(hct_solver_HctSolver.isBounded(r)){return[r,g,b]}else{return[-1,-1,-1]}}else if(n<8){const b=coordA;const r=coordB;const g=(y-r*kR-b*kB)/kG;if(hct_solver_HctSolver.isBounded(g)){return[r,g,b]}else{return[-1,-1,-1]}}else{const r=coordA;const g=coordB;const b=(y-r*kR-g*kG)/kB;if(hct_solver_HctSolver.isBounded(b)){return[r,g,b]}else{return[-1,-1,-1]}}}static bisectToSegment(y,targetHue){let left=[-1,-1,-1];let right=left;let leftHue=0;let rightHue=0;let initialized=false;let uncut=true;for(let n=0;n<12;n++){const mid=hct_solver_HctSolver.nthVertex(y,n);if(mid[0]<0){continue}const midHue=hct_solver_HctSolver.hueOf(mid);if(!initialized){left=mid;right=mid;leftHue=midHue;rightHue=midHue;initialized=true;continue}if(uncut||hct_solver_HctSolver.areInCyclicOrder(leftHue,midHue,rightHue)){uncut=false;if(hct_solver_HctSolver.areInCyclicOrder(leftHue,targetHue,midHue)){right=mid;rightHue=midHue}else{left=mid;leftHue=midHue}}}return[left,right]}static midpoint(a,b){return[(a[0]+b[0])/2,(a[1]+b[1])/2,(a[2]+b[2])/2]}static criticalPlaneBelow(x){return Math.floor(x-.5)}static criticalPlaneAbove(x){return Math.ceil(x-.5)}static bisectToLimit(y,targetHue){const segment=hct_solver_HctSolver.bisectToSegment(y,targetHue);let left=segment[0];let leftHue=hct_solver_HctSolver.hueOf(left);let right=segment[1];for(let axis=0;axis<3;axis++){if(left[axis]!==right[axis]){let lPlane=-1;let rPlane=255;if(left[axis]<right[axis]){lPlane=hct_solver_HctSolver.criticalPlaneBelow(hct_solver_HctSolver.trueDelinearized(left[axis]));rPlane=hct_solver_HctSolver.criticalPlaneAbove(hct_solver_HctSolver.trueDelinearized(right[axis]))}else{lPlane=hct_solver_HctSolver.criticalPlaneAbove(hct_solver_HctSolver.trueDelinearized(left[axis]));rPlane=hct_solver_HctSolver.criticalPlaneBelow(hct_solver_HctSolver.trueDelinearized(right[axis]))}for(let i=0;i<8;i++){if(Math.abs(rPlane-lPlane)<=1){break}else{const mPlane=Math.floor((lPlane+rPlane)/2);const midPlaneCoordinate=hct_solver_HctSolver.CRITICAL_PLANES[mPlane];const mid=hct_solver_HctSolver.setCoordinate(left,midPlaneCoordinate,right,axis);const midHue=hct_solver_HctSolver.hueOf(mid);if(hct_solver_HctSolver.areInCyclicOrder(leftHue,targetHue,midHue)){right=mid;rPlane=mPlane}else{left=mid;leftHue=midHue;lPlane=mPlane}}}}}return hct_solver_HctSolver.midpoint(left,right)}static inverseChromaticAdaptation(adapted){const adaptedAbs=Math.abs(adapted);const base=Math.max(0,27.13*adaptedAbs/(400-adaptedAbs));return signum(adapted)*Math.pow(base,1/.42)}static findResultByJ(hueRadians,chroma,y){let j=Math.sqrt(y)*11;const viewingConditions=viewing_conditions_ViewingConditions.DEFAULT;const tInnerCoeff=1/Math.pow(1.64-Math.pow(.29,viewingConditions.n),.73);const eHue=.25*(Math.cos(hueRadians+2)+3.8);const p1=eHue*(5e4/13)*viewingConditions.nc*viewingConditions.ncb;const hSin=Math.sin(hueRadians);const hCos=Math.cos(hueRadians);for(let iterationRound=0;iterationRound<5;iterationRound++){const jNormalized=j/100;const alpha=chroma===0||j===0?0:chroma/Math.sqrt(jNormalized);const t=Math.pow(alpha*tInnerCoeff,1/.9);const ac=viewingConditions.aw*Math.pow(jNormalized,1/viewingConditions.c/viewingConditions.z);const p2=ac/viewingConditions.nbb;const gamma=23*(p2+.305)*t/(23*p1+11*t*hCos+108*t*hSin);const a=gamma*hCos;const b=gamma*hSin;const rA=(460*p2+451*a+288*b)/1403;const gA=(460*p2-891*a-261*b)/1403;const bA=(460*p2-220*a-6300*b)/1403;const rCScaled=hct_solver_HctSolver.inverseChromaticAdaptation(rA);const gCScaled=hct_solver_HctSolver.inverseChromaticAdaptation(gA);const bCScaled=hct_solver_HctSolver.inverseChromaticAdaptation(bA);const linrgb=matrixMultiply([rCScaled,gCScaled,bCScaled],hct_solver_HctSolver.LINRGB_FROM_SCALED_DISCOUNT);if(linrgb[0]<0||linrgb[1]<0||linrgb[2]<0){return 0}const kR=hct_solver_HctSolver.Y_FROM_LINRGB[0];const kG=hct_solver_HctSolver.Y_FROM_LINRGB[1];const kB=hct_solver_HctSolver.Y_FROM_LINRGB[2];const fnj=kR*linrgb[0]+kG*linrgb[1]+kB*linrgb[2];if(fnj<=0){return 0}if(iterationRound===4||Math.abs(fnj-y)<.002){if(linrgb[0]>100.01||linrgb[1]>100.01||linrgb[2]>100.01){return 0}return argbFromLinrgb(linrgb)}j=j-(fnj-y)*j/(2*fnj)}return 0}static solveToInt(hueDegrees,chroma,lstar){if(chroma<1e-4||lstar<1e-4||lstar>99.9999){return argbFromLstar(lstar)}hueDegrees=sanitizeDegreesDouble(hueDegrees);const hueRadians=hueDegrees/180*Math.PI;const y=yFromLstar(lstar);const exactAnswer=hct_solver_HctSolver.findResultByJ(hueRadians,chroma,y);if(exactAnswer!==0){return exactAnswer}const linrgb=hct_solver_HctSolver.bisectToLimit(y,hueRadians);return argbFromLinrgb(linrgb)}static solveToCam(hueDegrees,chroma,lstar){return cam16_Cam16.fromInt(hct_solver_HctSolver.solveToInt(hueDegrees,chroma,lstar))}}hct_solver_HctSolver.SCALED_DISCOUNT_FROM_LINRGB=[[.001200833568784504,.002389694492170889,.0002795742885861124],[.0005891086651375999,.0029785502573438758,.0003270666104008398],[.00010146692491640572,.0005364214359186694,.0032979401770712076]];hct_solver_HctSolver.LINRGB_FROM_SCALED_DISCOUNT=[[1373.2198709594231,-1100.4251190754821,-7.278681089101213],[-271.815969077903,559.6580465940733,-32.46047482791194],[1.9622899599665666,-57.173814538844006,308.7233197812385]];hct_solver_HctSolver.Y_FROM_LINRGB=[.2126,.7152,.0722];hct_solver_HctSolver.CRITICAL_PLANES=[.015176349177441876,.045529047532325624,.07588174588720938,.10623444424209313,.13658714259697685,.16693984095186062,.19729253930674434,.2276452376616281,.2579979360165119,.28835063437139563,.3188300904430532,.350925934958123,.3848314933096426,.42057480301049466,.458183274052838,.4976837250274023,.5391024159806381,.5824650784040898,.6277969426914107,.6751227633498623,.7244668422128921,.775853049866786,.829304845476233,.8848452951698498,.942497089126609,1.0022825574869039,1.0642236851973577,1.1283421258858297,1.1946592148522128,1.2631959812511864,1.3339731595349034,1.407011200216447,1.4823302800086415,1.5599503113873272,1.6398909516233677,1.7221716113234105,1.8068114625156377,1.8938294463134073,1.9832442801866852,2.075074464868551,2.1693382909216234,2.2660538449872063,2.36523901573795,2.4669114995532007,2.5710888059345764,2.6777882626779785,2.7870270208169257,2.898822059350997,3.0131901897720907,3.1301480604002863,3.2497121605402226,3.3718988244681087,3.4967242352587946,3.624204428461639,3.754355295633311,3.887192587735158,4.022731918402185,4.160988767090289,4.301978482107941,4.445716283538092,4.592217266055746,4.741496401646282,4.893568542229298,5.048448422192488,5.20615066083972,5.3666897647573375,5.5300801301023865,5.696336044816294,5.865471690767354,6.037501145825082,6.212438385869475,6.390297286737924,6.571091626112461,6.7548350853498045,6.941541251256611,7.131223617812143,7.323895587840543,7.5195704746346665,7.7182615035334345,7.919981813454504,8.124744458384042,8.332562408825165,8.543448553206703,8.757415699253682,8.974476575321063,9.194643831691977,9.417930041841839,9.644347703669503,9.873909240696694,10.106627003236781,10.342513269534024,10.58158024687427,10.8238400726681,11.069304815507364,11.317986476196008,11.569896988756009,11.825048221409341,12.083451977536606,12.345119996613247,12.610063955123938,12.878295467455942,13.149826086772048,13.42466730586372,13.702830557985108,13.984327217668513,14.269168601521828,14.55736596900856,14.848930523210871,15.143873411576273,15.44220572664832,15.743938506781891,16.04908273684337,16.35764934889634,16.66964922287304,16.985093187232053,17.30399201960269,17.62635644741625,17.95219714852476,18.281524751807332,18.614349837764564,18.95068293910138,19.290534541298456,19.633915083172692,19.98083495742689,20.331304511189067,20.685334046541502,21.042933821039977,21.404114048223256,21.76888489811322,22.137256497705877,22.50923893145328,22.884842241736916,23.264076429332462,23.6469514538663,24.033477234264016,24.42366364919083,24.817520537484558,25.21505769858089,25.61628489293138,26.021211842414342,26.429848230738664,26.842203703840827,27.258287870275353,27.678110301598522,28.10168053274597,28.529008062403893,28.96010235337422,29.39497283293396,29.83362889318845,30.276079891419332,30.722335150426627,31.172403958865512,31.62629557157785,32.08401920991837,32.54558406207592,33.010999283389665,33.4802739966603,33.953417292456834,34.430438229418264,34.911345834551085,35.39614910352207,35.88485700094671,36.37747846067349,36.87402238606382,37.37449765026789,37.87891309649659,38.38727753828926,38.89959975977785,39.41588851594697,39.93615253289054,40.460400508064545,40.98864111053629,41.520882981230194,42.05713473317016,42.597404951718396,43.141702194811224,43.6900349931913,44.24241185063697,44.798841244188324,45.35933162437017,45.92389141541209,46.49252901546552,47.065252796817916,47.64207110610409,48.22299226451468,48.808024568002054,49.3971762874833,49.9904556690408,50.587870934119984,51.189430279724725,51.79514187861014,52.40501387947288,53.0190544071392,53.637271562750364,54.259673423945976,54.88626804504493,55.517063457223934,56.15206766869424,56.79128866487574,57.43473440856916,58.08241284012621,58.734331877617365,59.39049941699807,60.05092333227251,60.715611475655585,61.38457167773311,62.057811747619894,62.7353394731159,63.417162620860914,64.10328893648692,64.79372614476921,65.48848194977529,66.18756403501224,66.89098006357258,67.59873767827808,68.31084450182222,69.02730813691093,69.74813616640164,70.47333615344107,71.20291564160104,71.93688215501312,72.67524319850172,73.41800625771542,74.16517879925733,74.9167682708136,75.67278210128072,76.43322770089146,77.1981124613393,77.96744375590167,78.74122893956174,79.51947534912904,80.30219030335869,81.08938110306934,81.88105503125999,82.67721935322541,83.4778813166706,84.28304815182372,85.09272707154808,85.90692527145302,86.72564993000343,87.54890820862819,88.3767072518277,89.2090541872801,90.04595612594655,90.88742016217518,91.73345337380438,92.58406282226491,93.43925555268066,94.29903859396902,95.16341895893969,96.03240364439274,96.9059996312159,97.78421388448044,98.6670533535366,99.55452497210776];class hct_Hct{constructor(argb){this.argb=argb;const cam=cam16_Cam16.fromInt(argb);this.internalHue=cam.hue;this.internalChroma=cam.chroma;this.internalTone=lstarFromArgb(argb);this.argb=argb}static from(hue,chroma,tone){return new hct_Hct(hct_solver_HctSolver.solveToInt(hue,chroma,tone))}static fromInt(argb){return new hct_Hct(argb)}toInt(){return this.argb}get hue(){return this.internalHue}set hue(newHue){this.setInternalState(hct_solver_HctSolver.solveToInt(newHue,this.internalChroma,this.internalTone))}get chroma(){return this.internalChroma}set chroma(newChroma){this.setInternalState(hct_solver_HctSolver.solveToInt(this.internalHue,newChroma,this.internalTone))}get tone(){return this.internalTone}set tone(newTone){this.setInternalState(hct_solver_HctSolver.solveToInt(this.internalHue,this.internalChroma,newTone))}setInternalState(argb){const cam=cam16_Cam16.fromInt(argb);this.internalHue=cam.hue;this.internalChroma=cam.chroma;this.internalTone=lstarFromArgb(argb);this.argb=argb}}class blend_Blend{static harmonize(designColor,sourceColor){const fromHct=hct_Hct.fromInt(designColor);const toHct=hct_Hct.fromInt(sourceColor);const differenceDegrees=math_utils_differenceDegrees(fromHct.hue,toHct.hue);const rotationDegrees=Math.min(differenceDegrees*.5,15);const outputHue=sanitizeDegreesDouble(fromHct.hue+rotationDegrees*rotationDirection(fromHct.hue,toHct.hue));return hct_Hct.from(outputHue,fromHct.chroma,fromHct.tone).toInt()}static hctHue(from,to,amount){const ucs=blend_Blend.cam16Ucs(from,to,amount);const ucsCam=cam16_Cam16.fromInt(ucs);const fromCam=cam16_Cam16.fromInt(from);const blended=hct_Hct.from(ucsCam.hue,fromCam.chroma,lstarFromArgb(from));return blended.toInt()}static cam16Ucs(from,to,amount){const fromCam=cam16_Cam16.fromInt(from);const toCam=cam16_Cam16.fromInt(to);const fromJ=fromCam.jstar;const fromA=fromCam.astar;const fromB=fromCam.bstar;const toJ=toCam.jstar;const toA=toCam.astar;const toB=toCam.bstar;const jstar=fromJ+(toJ-fromJ)*amount;const astar=fromA+(toA-fromA)*amount;const bstar=fromB+(toB-fromB)*amount;return cam16_Cam16.fromUcs(jstar,astar,bstar).toInt()}}class tonal_palette_TonalPalette{constructor(hue,chroma){this.hue=hue;this.chroma=chroma;this.cache=new Map}static fromInt(argb){const hct=hct_Hct.fromInt(argb);return tonal_palette_TonalPalette.fromHueAndChroma(hct.hue,hct.chroma)}static fromHueAndChroma(hue,chroma){return new tonal_palette_TonalPalette(hue,chroma)}tone(tone){let argb=this.cache.get(tone);if(argb===undefined){argb=hct_Hct.from(this.hue,this.chroma,tone).toInt();this.cache.set(tone,argb)}return argb}}class core_palette_CorePalette{constructor(argb,isContent){const hct=hct_Hct.fromInt(argb);const hue=hct.hue;const chroma=hct.chroma;if(isContent){this.a1=tonal_palette_TonalPalette.fromHueAndChroma(hue,chroma);this.a2=tonal_palette_TonalPalette.fromHueAndChroma(hue,chroma/3);this.a3=tonal_palette_TonalPalette.fromHueAndChroma(hue+60,chroma/2);this.n1=tonal_palette_TonalPalette.fromHueAndChroma(hue,Math.min(chroma/12,4));this.n2=tonal_palette_TonalPalette.fromHueAndChroma(hue,Math.min(chroma/6,8))}else{this.a1=tonal_palette_TonalPalette.fromHueAndChroma(hue,Math.max(48,chroma));this.a2=tonal_palette_TonalPalette.fromHueAndChroma(hue,16);this.a3=tonal_palette_TonalPalette.fromHueAndChroma(hue+60,24);this.n1=tonal_palette_TonalPalette.fromHueAndChroma(hue,4);this.n2=tonal_palette_TonalPalette.fromHueAndChroma(hue,8)}this.error=tonal_palette_TonalPalette.fromHueAndChroma(25,84)}static of(argb){return new core_palette_CorePalette(argb,false)}static contentOf(argb){return new core_palette_CorePalette(argb,true)}}var point_provider=__webpack_require__(147);class lab_point_provider_LabPointProvider{fromInt(argb){return labFromArgb(argb)}toInt(point){return argbFromLab(point[0],point[1],point[2])}distance(from,to){const dL=from[0]-to[0];const dA=from[1]-to[1];const dB=from[2]-to[2];return dL*dL+dA*dA+dB*dB}}const MAX_ITERATIONS=10;const MIN_MOVEMENT_DISTANCE=3;class quantizer_wsmeans_QuantizerWsmeans{static quantize(inputPixels,startingClusters,maxColors){const pixelToCount=new Map;const points=new Array;const pixels=new Array;const pointProvider=new lab_point_provider_LabPointProvider;let pointCount=0;for(let i=0;i<inputPixels.length;i++){const inputPixel=inputPixels[i];const pixelCount=pixelToCount.get(inputPixel);if(pixelCount===undefined){pointCount++;points.push(pointProvider.fromInt(inputPixel));pixels.push(inputPixel);pixelToCount.set(inputPixel,1)}else{pixelToCount.set(inputPixel,pixelCount+1)}}const counts=new Array;for(let i=0;i<pointCount;i++){const pixel=pixels[i];const count=pixelToCount.get(pixel);if(count!==undefined){counts[i]=count}}let clusterCount=Math.min(maxColors,pointCount);if(startingClusters.length>0){clusterCount=Math.min(clusterCount,startingClusters.length)}const clusters=new Array;for(let i=0;i<startingClusters.length;i++){clusters.push(pointProvider.fromInt(startingClusters[i]))}const additionalClustersNeeded=clusterCount-clusters.length;if(startingClusters.length===0&&additionalClustersNeeded>0){for(let i=0;i<additionalClustersNeeded;i++){const l=Math.random()*100;const a=Math.random()*(100- -100+1)+-100;const b=Math.random()*(100- -100+1)+-100;clusters.push(new Array(l,a,b))}}const clusterIndices=new Array;for(let i=0;i<pointCount;i++){clusterIndices.push(Math.floor(Math.random()*clusterCount))}const indexMatrix=new Array;for(let i=0;i<clusterCount;i++){indexMatrix.push(new Array);for(let j=0;j<clusterCount;j++){indexMatrix[i].push(0)}}const distanceToIndexMatrix=new Array;for(let i=0;i<clusterCount;i++){distanceToIndexMatrix.push(new Array);for(let j=0;j<clusterCount;j++){distanceToIndexMatrix[i].push(new DistanceAndIndex)}}const pixelCountSums=new Array;for(let i=0;i<clusterCount;i++){pixelCountSums.push(0)}for(let iteration=0;iteration<MAX_ITERATIONS;iteration++){for(let i=0;i<clusterCount;i++){for(let j=i+1;j<clusterCount;j++){const distance=pointProvider.distance(clusters[i],clusters[j]);distanceToIndexMatrix[j][i].distance=distance;distanceToIndexMatrix[j][i].index=i;distanceToIndexMatrix[i][j].distance=distance;distanceToIndexMatrix[i][j].index=j}distanceToIndexMatrix[i].sort();for(let j=0;j<clusterCount;j++){indexMatrix[i][j]=distanceToIndexMatrix[i][j].index}}let pointsMoved=0;for(let i=0;i<pointCount;i++){const point=points[i];const previousClusterIndex=clusterIndices[i];const previousCluster=clusters[previousClusterIndex];const previousDistance=pointProvider.distance(point,previousCluster);let minimumDistance=previousDistance;let newClusterIndex=-1;for(let j=0;j<clusterCount;j++){if(distanceToIndexMatrix[previousClusterIndex][j].distance>=4*previousDistance){continue}const distance=pointProvider.distance(point,clusters[j]);if(distance<minimumDistance){minimumDistance=distance;newClusterIndex=j}}if(newClusterIndex!==-1){const distanceChange=Math.abs(Math.sqrt(minimumDistance)-Math.sqrt(previousDistance));if(distanceChange>MIN_MOVEMENT_DISTANCE){pointsMoved++;clusterIndices[i]=newClusterIndex}}}if(pointsMoved===0&&iteration!==0){break}const componentASums=new Array(clusterCount).fill(0);const componentBSums=new Array(clusterCount).fill(0);const componentCSums=new Array(clusterCount).fill(0);for(let i=0;i<clusterCount;i++){pixelCountSums[i]=0}for(let i=0;i<pointCount;i++){const clusterIndex=clusterIndices[i];const point=points[i];const count=counts[i];pixelCountSums[clusterIndex]+=count;componentASums[clusterIndex]+=point[0]*count;componentBSums[clusterIndex]+=point[1]*count;componentCSums[clusterIndex]+=point[2]*count}for(let i=0;i<clusterCount;i++){const count=pixelCountSums[i];if(count===0){clusters[i]=[0,0,0];continue}const a=componentASums[i]/count;const b=componentBSums[i]/count;const c=componentCSums[i]/count;clusters[i]=[a,b,c]}}const argbToPopulation=new Map;for(let i=0;i<clusterCount;i++){const count=pixelCountSums[i];if(count===0){continue}const possibleNewCluster=pointProvider.toInt(clusters[i]);if(argbToPopulation.has(possibleNewCluster)){continue}argbToPopulation.set(possibleNewCluster,count)}return argbToPopulation}}class DistanceAndIndex{constructor(){this.distance=-1;this.index=-1}}class quantizer_map_QuantizerMap{static quantize(pixels){var _a;const countByColor=new Map;for(let i=0;i<pixels.length;i++){const pixel=pixels[i];const alpha=alphaFromArgb(pixel);if(alpha<255){continue}countByColor.set(pixel,((_a=countByColor.get(pixel))!==null&&_a!==void 0?_a:0)+1)}return countByColor}}const INDEX_BITS=5;const SIDE_LENGTH=33;const TOTAL_SIZE=35937;const directions={RED:"red",GREEN:"green",BLUE:"blue"};class quantizer_wu_QuantizerWu{constructor(){let weights=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];let momentsR=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];let momentsG=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];let momentsB=arguments.length>3&&arguments[3]!==undefined?arguments[3]:[];let moments=arguments.length>4&&arguments[4]!==undefined?arguments[4]:[];let cubes=arguments.length>5&&arguments[5]!==undefined?arguments[5]:[];this.weights=weights;this.momentsR=momentsR;this.momentsG=momentsG;this.momentsB=momentsB;this.moments=moments;this.cubes=cubes}quantize(pixels,maxColors){this.constructHistogram(pixels);this.computeMoments();const createBoxesResult=this.createBoxes(maxColors);const results=this.createResult(createBoxesResult.resultCount);return results}constructHistogram(pixels){var _a;this.weights=Array.from({length:TOTAL_SIZE}).fill(0);this.momentsR=Array.from({length:TOTAL_SIZE}).fill(0);this.momentsG=Array.from({length:TOTAL_SIZE}).fill(0);this.momentsB=Array.from({length:TOTAL_SIZE}).fill(0);this.moments=Array.from({length:TOTAL_SIZE}).fill(0);const countByColor=quantizer_map_QuantizerMap.quantize(pixels);for(const[pixel,count]of countByColor.entries()){const red=redFromArgb(pixel);const green=greenFromArgb(pixel);const blue=blueFromArgb(pixel);const bitsToRemove=8-INDEX_BITS;const iR=(red>>bitsToRemove)+1;const iG=(green>>bitsToRemove)+1;const iB=(blue>>bitsToRemove)+1;const index=this.getIndex(iR,iG,iB);this.weights[index]=((_a=this.weights[index])!==null&&_a!==void 0?_a:0)+count;this.momentsR[index]+=count*red;this.momentsG[index]+=count*green;this.momentsB[index]+=count*blue;this.moments[index]+=count*(red*red+green*green+blue*blue)}}computeMoments(){for(let r=1;r<SIDE_LENGTH;r++){const area=Array.from({length:SIDE_LENGTH}).fill(0);const areaR=Array.from({length:SIDE_LENGTH}).fill(0);const areaG=Array.from({length:SIDE_LENGTH}).fill(0);const areaB=Array.from({length:SIDE_LENGTH}).fill(0);const area2=Array.from({length:SIDE_LENGTH}).fill(0);for(let g=1;g<SIDE_LENGTH;g++){let line=0;let lineR=0;let lineG=0;let lineB=0;let line2=0;for(let b=1;b<SIDE_LENGTH;b++){const index=this.getIndex(r,g,b);line+=this.weights[index];lineR+=this.momentsR[index];lineG+=this.momentsG[index];lineB+=this.momentsB[index];line2+=this.moments[index];area[b]+=line;areaR[b]+=lineR;areaG[b]+=lineG;areaB[b]+=lineB;area2[b]+=line2;const previousIndex=this.getIndex(r-1,g,b);this.weights[index]=this.weights[previousIndex]+area[b];this.momentsR[index]=this.momentsR[previousIndex]+areaR[b];this.momentsG[index]=this.momentsG[previousIndex]+areaG[b];this.momentsB[index]=this.momentsB[previousIndex]+areaB[b];this.moments[index]=this.moments[previousIndex]+area2[b]}}}}createBoxes(maxColors){this.cubes=Array.from({length:maxColors}).fill(0).map((()=>new Box));const volumeVariance=Array.from({length:maxColors}).fill(0);this.cubes[0].r0=0;this.cubes[0].g0=0;this.cubes[0].b0=0;this.cubes[0].r1=SIDE_LENGTH-1;this.cubes[0].g1=SIDE_LENGTH-1;this.cubes[0].b1=SIDE_LENGTH-1;let generatedColorCount=maxColors;let next=0;for(let i=1;i<maxColors;i++){if(this.cut(this.cubes[next],this.cubes[i])){volumeVariance[next]=this.cubes[next].vol>1?this.variance(this.cubes[next]):0;volumeVariance[i]=this.cubes[i].vol>1?this.variance(this.cubes[i]):0}else{volumeVariance[next]=0;i--}next=0;let temp=volumeVariance[0];for(let j=1;j<=i;j++){if(volumeVariance[j]>temp){temp=volumeVariance[j];next=j}}if(temp<=0){generatedColorCount=i+1;break}}return new CreateBoxesResult(maxColors,generatedColorCount)}createResult(colorCount){const colors=[];for(let i=0;i<colorCount;++i){const cube=this.cubes[i];const weight=this.volume(cube,this.weights);if(weight>0){const r=Math.round(this.volume(cube,this.momentsR)/weight);const g=Math.round(this.volume(cube,this.momentsG)/weight);const b=Math.round(this.volume(cube,this.momentsB)/weight);const color=255<<24|(r&255)<<16|(g&255)<<8|b&255;colors.push(color)}}return colors}variance(cube){const dr=this.volume(cube,this.momentsR);const dg=this.volume(cube,this.momentsG);const db=this.volume(cube,this.momentsB);const xx=this.moments[this.getIndex(cube.r1,cube.g1,cube.b1)]-this.moments[this.getIndex(cube.r1,cube.g1,cube.b0)]-this.moments[this.getIndex(cube.r1,cube.g0,cube.b1)]+this.moments[this.getIndex(cube.r1,cube.g0,cube.b0)]-this.moments[this.getIndex(cube.r0,cube.g1,cube.b1)]+this.moments[this.getIndex(cube.r0,cube.g1,cube.b0)]+this.moments[this.getIndex(cube.r0,cube.g0,cube.b1)]-this.moments[this.getIndex(cube.r0,cube.g0,cube.b0)];const hypotenuse=dr*dr+dg*dg+db*db;const volume=this.volume(cube,this.weights);return xx-hypotenuse/volume}cut(one,two){const wholeR=this.volume(one,this.momentsR);const wholeG=this.volume(one,this.momentsG);const wholeB=this.volume(one,this.momentsB);const wholeW=this.volume(one,this.weights);const maxRResult=this.maximize(one,directions.RED,one.r0+1,one.r1,wholeR,wholeG,wholeB,wholeW);const maxGResult=this.maximize(one,directions.GREEN,one.g0+1,one.g1,wholeR,wholeG,wholeB,wholeW);const maxBResult=this.maximize(one,directions.BLUE,one.b0+1,one.b1,wholeR,wholeG,wholeB,wholeW);let direction;const maxR=maxRResult.maximum;const maxG=maxGResult.maximum;const maxB=maxBResult.maximum;if(maxR>=maxG&&maxR>=maxB){if(maxRResult.cutLocation<0){return false}direction=directions.RED}else if(maxG>=maxR&&maxG>=maxB){direction=directions.GREEN}else{direction=directions.BLUE}two.r1=one.r1;two.g1=one.g1;two.b1=one.b1;switch(direction){case directions.RED:one.r1=maxRResult.cutLocation;two.r0=one.r1;two.g0=one.g0;two.b0=one.b0;break;case directions.GREEN:one.g1=maxGResult.cutLocation;two.r0=one.r0;two.g0=one.g1;two.b0=one.b0;break;case directions.BLUE:one.b1=maxBResult.cutLocation;two.r0=one.r0;two.g0=one.g0;two.b0=one.b1;break;default:throw new Error("unexpected direction "+direction)}one.vol=(one.r1-one.r0)*(one.g1-one.g0)*(one.b1-one.b0);two.vol=(two.r1-two.r0)*(two.g1-two.g0)*(two.b1-two.b0);return true}maximize(cube,direction,first,last,wholeR,wholeG,wholeB,wholeW){const bottomR=this.bottom(cube,direction,this.momentsR);const bottomG=this.bottom(cube,direction,this.momentsG);const bottomB=this.bottom(cube,direction,this.momentsB);const bottomW=this.bottom(cube,direction,this.weights);let max=0;let cut=-1;let halfR=0;let halfG=0;let halfB=0;let halfW=0;for(let i=first;i<last;i++){halfR=bottomR+this.top(cube,direction,i,this.momentsR);halfG=bottomG+this.top(cube,direction,i,this.momentsG);halfB=bottomB+this.top(cube,direction,i,this.momentsB);halfW=bottomW+this.top(cube,direction,i,this.weights);if(halfW===0){continue}let tempNumerator=(halfR*halfR+halfG*halfG+halfB*halfB)*1;let tempDenominator=halfW*1;let temp=tempNumerator/tempDenominator;halfR=wholeR-halfR;halfG=wholeG-halfG;halfB=wholeB-halfB;halfW=wholeW-halfW;if(halfW===0){continue}tempNumerator=(halfR*halfR+halfG*halfG+halfB*halfB)*1;tempDenominator=halfW*1;temp+=tempNumerator/tempDenominator;if(temp>max){max=temp;cut=i}}return new MaximizeResult(cut,max)}volume(cube,moment){return moment[this.getIndex(cube.r1,cube.g1,cube.b1)]-moment[this.getIndex(cube.r1,cube.g1,cube.b0)]-moment[this.getIndex(cube.r1,cube.g0,cube.b1)]+moment[this.getIndex(cube.r1,cube.g0,cube.b0)]-moment[this.getIndex(cube.r0,cube.g1,cube.b1)]+moment[this.getIndex(cube.r0,cube.g1,cube.b0)]+moment[this.getIndex(cube.r0,cube.g0,cube.b1)]-moment[this.getIndex(cube.r0,cube.g0,cube.b0)]}bottom(cube,direction,moment){switch(direction){case directions.RED:return-moment[this.getIndex(cube.r0,cube.g1,cube.b1)]+moment[this.getIndex(cube.r0,cube.g1,cube.b0)]+moment[this.getIndex(cube.r0,cube.g0,cube.b1)]-moment[this.getIndex(cube.r0,cube.g0,cube.b0)];case directions.GREEN:return-moment[this.getIndex(cube.r1,cube.g0,cube.b1)]+moment[this.getIndex(cube.r1,cube.g0,cube.b0)]+moment[this.getIndex(cube.r0,cube.g0,cube.b1)]-moment[this.getIndex(cube.r0,cube.g0,cube.b0)];case directions.BLUE:return-moment[this.getIndex(cube.r1,cube.g1,cube.b0)]+moment[this.getIndex(cube.r1,cube.g0,cube.b0)]+moment[this.getIndex(cube.r0,cube.g1,cube.b0)]-moment[this.getIndex(cube.r0,cube.g0,cube.b0)];default:throw new Error("unexpected direction $direction")}}top(cube,direction,position,moment){switch(direction){case directions.RED:return moment[this.getIndex(position,cube.g1,cube.b1)]-moment[this.getIndex(position,cube.g1,cube.b0)]-moment[this.getIndex(position,cube.g0,cube.b1)]+moment[this.getIndex(position,cube.g0,cube.b0)];case directions.GREEN:return moment[this.getIndex(cube.r1,position,cube.b1)]-moment[this.getIndex(cube.r1,position,cube.b0)]-moment[this.getIndex(cube.r0,position,cube.b1)]+moment[this.getIndex(cube.r0,position,cube.b0)];case directions.BLUE:return moment[this.getIndex(cube.r1,cube.g1,position)]-moment[this.getIndex(cube.r1,cube.g0,position)]-moment[this.getIndex(cube.r0,cube.g1,position)]+moment[this.getIndex(cube.r0,cube.g0,position)];default:throw new Error("unexpected direction $direction")}}getIndex(r,g,b){return(r<<INDEX_BITS*2)+(r<<INDEX_BITS+1)+r+(g<<INDEX_BITS)+g+b}}class Box{constructor(){let r0=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;let r1=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;let g0=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;let g1=arguments.length>3&&arguments[3]!==undefined?arguments[3]:0;let b0=arguments.length>4&&arguments[4]!==undefined?arguments[4]:0;let b1=arguments.length>5&&arguments[5]!==undefined?arguments[5]:0;let vol=arguments.length>6&&arguments[6]!==undefined?arguments[6]:0;this.r0=r0;this.r1=r1;this.g0=g0;this.g1=g1;this.b0=b0;this.b1=b1;this.vol=vol}}class CreateBoxesResult{constructor(requestedCount,resultCount){this.requestedCount=requestedCount;this.resultCount=resultCount}}class MaximizeResult{constructor(cutLocation,maximum){this.cutLocation=cutLocation;this.maximum=maximum}}class quantizer_celebi_QuantizerCelebi{static quantize(pixels,maxColors){const wu=new quantizer_wu_QuantizerWu;const wuResult=wu.quantize(pixels,maxColors);return quantizer_wsmeans_QuantizerWsmeans.quantize(pixels,wuResult,maxColors)}}class scheme_Scheme{constructor(props){this.props=props}get primary(){return this.props.primary}get onPrimary(){return this.props.onPrimary}get primaryContainer(){return this.props.primaryContainer}get onPrimaryContainer(){return this.props.onPrimaryContainer}get secondary(){return this.props.secondary}get onSecondary(){return this.props.onSecondary}get secondaryContainer(){return this.props.secondaryContainer}get onSecondaryContainer(){return this.props.onSecondaryContainer}get tertiary(){return this.props.tertiary}get onTertiary(){return this.props.onTertiary}get tertiaryContainer(){return this.props.tertiaryContainer}get onTertiaryContainer(){return this.props.onTertiaryContainer}get error(){return this.props.error}get onError(){return this.props.onError}get errorContainer(){return this.props.errorContainer}get onErrorContainer(){return this.props.onErrorContainer}get background(){return this.props.background}get onBackground(){return this.props.onBackground}get surface(){return this.props.surface}get onSurface(){return this.props.onSurface}get surfaceVariant(){return this.props.surfaceVariant}get onSurfaceVariant(){return this.props.onSurfaceVariant}get outline(){return this.props.outline}get outlineVariant(){return this.props.outlineVariant}get shadow(){return this.props.shadow}get scrim(){return this.props.scrim}get inverseSurface(){return this.props.inverseSurface}get inverseOnSurface(){return this.props.inverseOnSurface}get inversePrimary(){return this.props.inversePrimary}static light(argb){return scheme_Scheme.lightFromCorePalette(core_palette_CorePalette.of(argb))}static dark(argb){return scheme_Scheme.darkFromCorePalette(core_palette_CorePalette.of(argb))}static lightContent(argb){return scheme_Scheme.lightFromCorePalette(core_palette_CorePalette.contentOf(argb))}static darkContent(argb){return scheme_Scheme.darkFromCorePalette(core_palette_CorePalette.contentOf(argb))}static lightFromCorePalette(core){return new scheme_Scheme({primary:core.a1.tone(40),onPrimary:core.a1.tone(100),primaryContainer:core.a1.tone(90),onPrimaryContainer:core.a1.tone(10),secondary:core.a2.tone(40),onSecondary:core.a2.tone(100),secondaryContainer:core.a2.tone(90),onSecondaryContainer:core.a2.tone(10),tertiary:core.a3.tone(40),onTertiary:core.a3.tone(100),tertiaryContainer:core.a3.tone(90),onTertiaryContainer:core.a3.tone(10),error:core.error.tone(40),onError:core.error.tone(100),errorContainer:core.error.tone(90),onErrorContainer:core.error.tone(10),background:core.n1.tone(99),onBackground:core.n1.tone(10),surface:core.n1.tone(99),onSurface:core.n1.tone(10),surfaceVariant:core.n2.tone(90),onSurfaceVariant:core.n2.tone(30),outline:core.n2.tone(50),outlineVariant:core.n2.tone(80),shadow:core.n1.tone(0),scrim:core.n1.tone(0),inverseSurface:core.n1.tone(20),inverseOnSurface:core.n1.tone(95),inversePrimary:core.a1.tone(80)})}static darkFromCorePalette(core){return new scheme_Scheme({primary:core.a1.tone(80),onPrimary:core.a1.tone(20),primaryContainer:core.a1.tone(30),onPrimaryContainer:core.a1.tone(90),secondary:core.a2.tone(80),onSecondary:core.a2.tone(20),secondaryContainer:core.a2.tone(30),onSecondaryContainer:core.a2.tone(90),tertiary:core.a3.tone(80),onTertiary:core.a3.tone(20),tertiaryContainer:core.a3.tone(30),onTertiaryContainer:core.a3.tone(90),error:core.error.tone(80),onError:core.error.tone(20),errorContainer:core.error.tone(30),onErrorContainer:core.error.tone(80),background:core.n1.tone(10),onBackground:core.n1.tone(90),surface:core.n1.tone(10),onSurface:core.n1.tone(90),surfaceVariant:core.n2.tone(30),onSurfaceVariant:core.n2.tone(80),outline:core.n2.tone(60),outlineVariant:core.n2.tone(30),shadow:core.n1.tone(0),scrim:core.n1.tone(0),inverseSurface:core.n1.tone(90),inverseOnSurface:core.n1.tone(20),inversePrimary:core.a1.tone(40)})}toJSON(){return Object.assign({},this.props)}}class scheme_android_SchemeAndroid{constructor(props){this.props=props}get colorAccentPrimary(){return this.props.colorAccentPrimary}get colorAccentPrimaryVariant(){return this.props.colorAccentPrimaryVariant}get colorAccentSecondary(){return this.props.colorAccentSecondary}get colorAccentSecondaryVariant(){return this.props.colorAccentSecondaryVariant}get colorAccentTertiary(){return this.props.colorAccentTertiary}get colorAccentTertiaryVariant(){return this.props.colorAccentTertiaryVariant}get textColorPrimary(){return this.props.textColorPrimary}get textColorSecondary(){return this.props.textColorSecondary}get textColorTertiary(){return this.props.textColorTertiary}get textColorPrimaryInverse(){return this.props.textColorPrimaryInverse}get textColorSecondaryInverse(){return this.props.textColorSecondaryInverse}get textColorTertiaryInverse(){return this.props.textColorTertiaryInverse}get colorBackground(){return this.props.colorBackground}get colorBackgroundFloating(){return this.props.colorBackgroundFloating}get colorSurface(){return this.props.colorSurface}get colorSurfaceVariant(){return this.props.colorSurfaceVariant}get colorSurfaceHighlight(){return this.props.colorSurfaceHighlight}get surfaceHeader(){return this.props.surfaceHeader}get underSurface(){return this.props.underSurface}get offState(){return this.props.offState}get accentSurface(){return this.props.accentSurface}get textPrimaryOnAccent(){return this.props.textPrimaryOnAccent}get textSecondaryOnAccent(){return this.props.textSecondaryOnAccent}get volumeBackground(){return this.props.volumeBackground}get scrim(){return this.props.scrim}static light(argb){const core=core_palette_CorePalette.of(argb);return scheme_android_SchemeAndroid.lightFromCorePalette(core)}static dark(argb){const core=core_palette_CorePalette.of(argb);return scheme_android_SchemeAndroid.darkFromCorePalette(core)}static lightContent(argb){const core=core_palette_CorePalette.contentOf(argb);return scheme_android_SchemeAndroid.lightFromCorePalette(core)}static darkContent(argb){const core=core_palette_CorePalette.contentOf(argb);return scheme_android_SchemeAndroid.darkFromCorePalette(core)}static lightFromCorePalette(core){return new scheme_android_SchemeAndroid({colorAccentPrimary:core.a1.tone(90),colorAccentPrimaryVariant:core.a1.tone(40),colorAccentSecondary:core.a2.tone(90),colorAccentSecondaryVariant:core.a2.tone(40),colorAccentTertiary:core.a3.tone(90),colorAccentTertiaryVariant:core.a3.tone(40),textColorPrimary:core.n1.tone(10),textColorSecondary:core.n2.tone(30),textColorTertiary:core.n2.tone(50),textColorPrimaryInverse:core.n1.tone(95),textColorSecondaryInverse:core.n1.tone(80),textColorTertiaryInverse:core.n1.tone(60),colorBackground:core.n1.tone(95),colorBackgroundFloating:core.n1.tone(98),colorSurface:core.n1.tone(98),colorSurfaceVariant:core.n1.tone(90),colorSurfaceHighlight:core.n1.tone(100),surfaceHeader:core.n1.tone(90),underSurface:core.n1.tone(0),offState:core.n1.tone(20),accentSurface:core.a2.tone(95),textPrimaryOnAccent:core.n1.tone(10),textSecondaryOnAccent:core.n2.tone(30),volumeBackground:core.n1.tone(25),scrim:core.n1.tone(80)})}static darkFromCorePalette(core){return new scheme_android_SchemeAndroid({colorAccentPrimary:core.a1.tone(90),colorAccentPrimaryVariant:core.a1.tone(70),colorAccentSecondary:core.a2.tone(90),colorAccentSecondaryVariant:core.a2.tone(70),colorAccentTertiary:core.a3.tone(90),colorAccentTertiaryVariant:core.a3.tone(70),textColorPrimary:core.n1.tone(95),textColorSecondary:core.n2.tone(80),textColorTertiary:core.n2.tone(60),textColorPrimaryInverse:core.n1.tone(10),textColorSecondaryInverse:core.n1.tone(30),textColorTertiaryInverse:core.n1.tone(50),colorBackground:core.n1.tone(10),colorBackgroundFloating:core.n1.tone(10),colorSurface:core.n1.tone(20),colorSurfaceVariant:core.n1.tone(30),colorSurfaceHighlight:core.n1.tone(35),surfaceHeader:core.n1.tone(30),underSurface:core.n1.tone(0),offState:core.n1.tone(20),accentSurface:core.a2.tone(95),textPrimaryOnAccent:core.n1.tone(10),textSecondaryOnAccent:core.n2.tone(30),volumeBackground:core.n1.tone(25),scrim:core.n1.tone(80)})}toJSON(){return Object.assign({},this.props)}}class score_Score{constructor(){}static score(colorsToPopulation){let contentColor=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;let populationSum=0;for(const population of colorsToPopulation.values()){populationSum+=population}const colorsToProportion=new Map;const colorsToCam=new Map;const hueProportions=new Array(360).fill(0);for(const[color,population]of colorsToPopulation.entries()){const proportion=population/populationSum;colorsToProportion.set(color,proportion);const cam=cam16_Cam16.fromInt(color);colorsToCam.set(color,cam);const hue=Math.round(cam.hue);hueProportions[hue]+=proportion}const colorsToExcitedProportion=new Map;for(const[color,cam]of colorsToCam.entries()){const hue=Math.round(cam.hue);let excitedProportion=0;for(let i=hue-15;i<hue+15;i++){const neighborHue=sanitizeDegreesInt(i);excitedProportion+=hueProportions[neighborHue]}colorsToExcitedProportion.set(color,excitedProportion)}const colorsToScore=new Map;for(const[color,cam]of colorsToCam.entries()){const proportion=colorsToExcitedProportion.get(color);const proportionScore=proportion*100*score_Score.WEIGHT_PROPORTION;const chromaWeight=cam.chroma<score_Score.TARGET_CHROMA?score_Score.WEIGHT_CHROMA_BELOW:score_Score.WEIGHT_CHROMA_ABOVE;const chromaScore=(cam.chroma-score_Score.TARGET_CHROMA)*chromaWeight;const score=proportionScore+chromaScore;colorsToScore.set(color,score)}const filteredColors=contentColor?score_Score.filterContent(colorsToCam):score_Score.filter(colorsToExcitedProportion,colorsToCam);const dedupedColorsToScore=new Map;for(const color of filteredColors){let duplicateHue=false;const hue=colorsToCam.get(color).hue;for(const[alreadyChosenColor]of dedupedColorsToScore){const alreadyChosenHue=colorsToCam.get(alreadyChosenColor).hue;if(math_utils_differenceDegrees(hue,alreadyChosenHue)<15){duplicateHue=true;break}}if(duplicateHue){continue}dedupedColorsToScore.set(color,colorsToScore.get(color))}const colorsByScoreDescending=Array.from(dedupedColorsToScore.entries());colorsByScoreDescending.sort(((first,second)=>second[1]-first[1]));const answer=colorsByScoreDescending.map((entry=>entry[0]));if(answer.length===0){answer.push(4282549748)}return answer}static filter(colorsToExcitedProportion,colorsToCam){const filtered=new Array;for(const[color,cam]of colorsToCam.entries()){const proportion=colorsToExcitedProportion.get(color);if(cam.chroma>=score_Score.CUTOFF_CHROMA&&lstarFromArgb(color)>=score_Score.CUTOFF_TONE&&proportion>=score_Score.CUTOFF_EXCITED_PROPORTION){filtered.push(color)}}return filtered}static filterContent(colorsToCam){return Array.from(colorsToCam.keys())}}score_Score.TARGET_CHROMA=48;score_Score.WEIGHT_PROPORTION=.7;score_Score.WEIGHT_CHROMA_ABOVE=.3;score_Score.WEIGHT_CHROMA_BELOW=.1;score_Score.CUTOFF_CHROMA=15;score_Score.CUTOFF_TONE=10;score_Score.CUTOFF_EXCITED_PROPORTION=.01;const string_utils_hexFromArgb=argb=>{const r=redFromArgb(argb);const g=greenFromArgb(argb);const b=blueFromArgb(argb);const outParts=[r.toString(16),g.toString(16),b.toString(16)];for(const[i,part]of outParts.entries()){if(part.length===1){outParts[i]="0"+part}}return"#"+outParts.join("")};const string_utils_argbFromHex=hex=>{hex=hex.replace("#","");const isThree=hex.length===3;const isSix=hex.length===6;const isEight=hex.length===8;if(!isThree&&!isSix&&!isEight){throw new Error("unexpected hex "+hex)}let r=0;let g=0;let b=0;if(isThree){r=parseIntHex(hex.slice(0,1).repeat(2));g=parseIntHex(hex.slice(1,2).repeat(2));b=parseIntHex(hex.slice(2,3).repeat(2))}else if(isSix){r=parseIntHex(hex.slice(0,2));g=parseIntHex(hex.slice(2,4));b=parseIntHex(hex.slice(4,6))}else if(isEight){r=parseIntHex(hex.slice(2,4));g=parseIntHex(hex.slice(4,6));b=parseIntHex(hex.slice(6,8))}return(255<<24|(r&255)<<16|(g&255)<<8|b&255)>>>0};function parseIntHex(value){return parseInt(value,16)}async function sourceColorFromImage(image){const imageBytes=await new Promise(((resolve,reject)=>{const canvas=document.createElement("canvas");const context=canvas.getContext("2d");if(!context){return reject(new Error("Could not get canvas context"))}image.onload=()=>{canvas.width=image.width;canvas.height=image.height;context.drawImage(image,0,0);resolve(context.getImageData(0,0,image.width,image.height).data)}}));const pixels=[];for(let i=0;i<imageBytes.length;i+=4){const r=imageBytes[i];const g=imageBytes[i+1];const b=imageBytes[i+2];const a=imageBytes[i+3];if(a<255){continue}const argb=argbFromRgb(r,g,b);pixels.push(argb)}const result=quantizer_celebi_QuantizerCelebi.quantize(pixels,128);const ranked=score_Score.score(result);const top=ranked[0];return top}function theme_utils_themeFromSourceColor(source){let customColors=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];const palette=core_palette_CorePalette.of(source);return{source,schemes:{light:scheme_Scheme.light(source),dark:scheme_Scheme.dark(source)},palettes:{primary:palette.a1,secondary:palette.a2,tertiary:palette.a3,neutral:palette.n1,neutralVariant:palette.n2,error:palette.error},customColors:customColors.map((c=>customColor(source,c)))}}async function themeFromImage(image){let customColors=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];const source=await sourceColorFromImage(image);return theme_utils_themeFromSourceColor(source,customColors)}function customColor(source,color){let value=color.value;const from=value;const to=source;if(color.blend){value=blend_Blend.harmonize(from,to)}const palette=core_palette_CorePalette.of(value);const tones=palette.a1;return{color,value,light:{color:tones.tone(40),onColor:tones.tone(100),colorContainer:tones.tone(90),onColorContainer:tones.tone(10)},dark:{color:tones.tone(80),onColor:tones.tone(20),colorContainer:tones.tone(30),onColorContainer:tones.tone(90)}}}function theme_utils_applyTheme(theme,options){var _a,_b;const target=(options===null||options===void 0?void 0:options.target)||document.body;const isDark=(_a=options===null||options===void 0?void 0:options.dark)!==null&&_a!==void 0?_a:false;const scheme=isDark?theme.schemes.dark:theme.schemes.light;setSchemeProperties(target,scheme);if(options===null||options===void 0?void 0:options.brightnessSuffix){setSchemeProperties(target,theme.schemes.dark,"-dark");setSchemeProperties(target,theme.schemes.light,"-light")}if(options===null||options===void 0?void 0:options.paletteTones){const tones=(_b=options===null||options===void 0?void 0:options.paletteTones)!==null&&_b!==void 0?_b:[];for(const[key,palette]of Object.entries(theme.palettes)){const paletteKey=key.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();for(const tone of tones){const token=`--md-ref-palette-${paletteKey}-${paletteKey}${tone}`;const color=string_utils_hexFromArgb(palette.tone(tone));target.style.setProperty(token,color)}}}}function setSchemeProperties(target,scheme){let suffix=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"";for(const[key,value]of Object.entries(scheme.toJSON())){const token=key.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();const color=string_utils_hexFromArgb(value);target.style.setProperty(`--md-sys-color-${token}${suffix}`,color)}}const DatanomixTheme={logoSmallUrl:"data:image/png;base64,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",color:"#50B9DD"};const ElementalMachinesTheme={logoSmallUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAABdWlDQ1BrQ0dDb2xvclNwYWNlRGlzcGxheVAzAAAokXWQvUvDUBTFT6tS0DqIDh0cMolD1NIKdnFoKxRFMFQFq1OafgltfCQpUnETVyn4H1jBWXCwiFRwcXAQRAcR3Zw6KbhoeN6XVNoi3sfl/Ticc7lcwBtQGSv2AijplpFMxKS11Lrke4OHnlOqZrKooiwK/v276/PR9d5PiFlNu3YQ2U9cl84ul3aeAlN//V3Vn8maGv3f1EGNGRbgkYmVbYsJ3iUeMWgp4qrgvMvHgtMunzuelWSc+JZY0gpqhrhJLKc79HwHl4plrbWD2N6f1VeXxRzqUcxhEyYYilBRgQQF4X/8044/ji1yV2BQLo8CLMpESRETssTz0KFhEjJxCEHqkLhz634PrfvJbW3vFZhtcM4v2tpCAzidoZPV29p4BBgaAG7qTDVUR+qh9uZywPsJMJgChu8os2HmwiF3e38M6Hvh/GMM8B0CdpXzryPO7RqFn4Er/QcXKWq8UwZBywAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAABAKADAAQAAAABAAABAAAAAABEIjhzAAAIzklEQVR4Ae3csW4cRRgH8FkLCwOWCG2gThEKUyDRBIknwFA6SIhXoIrEA4BSpaWMkAgtyRNEwgVINCnMG5CUSSQ7MQrysmOiFFFm9jTxrnfmfq4cz83sN79v5+/L+XQh+CJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI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",color:"#2F59F5"};const FuelicsTheme={logoSmallUrl:"data:image/png;base64,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",color:"#277822"};const HealthmetryxTheme={logoSmallUrl:"data:image/png;base64,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",color:"#4EABE9"};const HoparaTheme={logoUrl:"data:image/png;base64,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",color:"#622AD4"};const IBBXTheme={logoUrl:"https://ibbx.tech/wp-content/uploads/2021/12/ibbx-logo-preto.png",logoSmallUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMUAAAC1CAYAAADvGjsxAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMi1jMDAwIDc5LjU2NmViYzViNCwgMjAyMi8wNS8wOS0wODoyNTo1NSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjQgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTRGQTU0MDNFOUNBMTFFQ0E0RDNGMjJGRTRGODA4NkEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTRGQTU0MDRFOUNBMTFFQ0E0RDNGMjJGRTRGODA4NkEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1NEZBNTQwMUU5Q0ExMUVDQTREM0YyMkZFNEY4MDg2QSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1NEZBNTQwMkU5Q0ExMUVDQTREM0YyMkZFNEY4MDg2QSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkyM1agAACjeSURBVHja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",color:"#f66f2d"};const PerkinelmerTheme={logoSmallUrl:"data:image/png;base64,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",color:"#E6F7FF"};const SingleStoreTheme={logoSmallUrl:"data:image/png;base64,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",color:"#7107BC"};const tenantToBrand={"astrazeneca.com":PerkinelmerTheme,"datanomix.io":DatanomixTheme,"elementalmachines.com":ElementalMachinesTheme,"fuelics.com":FuelicsTheme,"healthmetryx.com":HealthmetryxTheme,"ibbx.tech":IBBXTheme,"lilly.com":PerkinelmerTheme,"perkinelmer.com":PerkinelmerTheme,"singlestore.com":SingleStoreTheme};const getSpecFromTenant=tenant=>{var _tenantToBrand$tenant;const brand=(_tenantToBrand$tenant=tenantToBrand[tenant])!==null&&_tenantToBrand$tenant!==void 0?_tenantToBrand$tenant:HoparaTheme;return ThemeSpec_ThemeSpec.fromBrand(brand,dist_namespaceObject)};const createThemeFromTenant=tenant=>getSpecFromTenant(tenant).toTheme();var jsx_runtime_=__webpack_require__(4);const DEFAULT_STYLE_INTERFACE=src["a"].getValue("STYLE_INTERFACE").toLowerCase();class ThemeProvider_ThemeProvider extends external_react_default.a.Component{constructor(props){super(props);this.interfaceName=void 0;this.state={selectedTheme:null,theme:createThemeFromTenant("hopara")};this.interfaceName=DEFAULT_STYLE_INTERFACE}componentDidUpdate(){var _this$props$authoriza;if((_this$props$authoriza=this.props.authorization)!==null&&_this$props$authoriza!==void 0&&_this$props$authoriza.tenant&&this.state.selectedTheme!==this.props.authorization.tenant){this.setState({selectedTheme:this.props.authorization.tenant,theme:createThemeFromTenant(this.props.authorization.tenant)})}}render(){return Object(jsx_runtime_["jsxs"])(material_["ThemeProvider"],{theme:this.state.theme,children:[Object(jsx_runtime_["jsx"])(material_["CssBaseline"],{}),this.props.children]})}}var hoc_ThemeProvider=__webpack_exports__["a"]=Object(external_react_redux_["connect"])((store=>({authorization:store.authorization})),null,null,{context:Store["a"]})(ThemeProvider_ThemeProvider)},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Link}));var external_react_=__webpack_require__(5);var Link_=__webpack_require__(109);var Link_default=__webpack_require__.n(Link_);var external_case_=__webpack_require__(51);var external_case_default=__webpack_require__.n(external_case_);const labelToTestId=label=>external_case_default.a.kebab(label.replace(/…/g,""));var jsx_runtime_=__webpack_require__(4);const Link=_ref=>{let{children,onClick,sx}=_ref;const testId=typeof children==="string"?`${labelToTestId(children)}-link`:"";return Object(jsx_runtime_["jsx"])(Link_default.a,{underline:"hover",onClick,"data-testid":testId,sx:{...sx,cursor:"pointer"},"aria-label":"change link",role:"button",children})}},function(module,exports,__webpack_require__){(function(global){var scope=typeof global!=="undefined"&&global||typeof self!=="undefined"&&self||window;var apply=Function.prototype.apply;exports.setTimeout=function(){return new Timeout(apply.call(setTimeout,scope,arguments),clearTimeout)};exports.setInterval=function(){return new Timeout(apply.call(setInterval,scope,arguments),clearInterval)};exports.clearTimeout=exports.clearInterval=function(timeout){if(timeout){timeout.close()}};function Timeout(id,clearFn){this._id=id;this._clearFn=clearFn}Timeout.prototype.unref=Timeout.prototype.ref=function(){};Timeout.prototype.close=function(){this._clearFn.call(scope,this._id)};exports.enroll=function(item,msecs){clearTimeout(item._idleTimeoutId);item._idleTimeout=msecs};exports.unenroll=function(item){clearTimeout(item._idleTimeoutId);item._idleTimeout=-1};exports._unrefActive=exports.active=function(item){clearTimeout(item._idleTimeoutId);var msecs=item._idleTimeout;if(msecs>=0){item._idleTimeoutId=setTimeout((function onTimeout(){if(item._onTimeout)item._onTimeout()}),msecs)}};__webpack_require__(144);exports.setImmediate=typeof self!=="undefined"&&self.setImmediate||typeof global!=="undefined"&&global.setImmediate||this&&this.setImmediate;exports.clearImmediate=typeof self!=="undefined"&&self.clearImmediate||typeof global!=="undefined"&&global.clearImmediate||this&&this.clearImmediate}).call(this,__webpack_require__(81))},function(module,exports){module.exports=require("setimmediate")},function(module,exports){module.exports=require("react-toastify/dist/ReactToastify.css")},function(module,exports,__webpack_require__){},function(module,exports){},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"Hopara",(function(){return HoparaHOC}));__webpack_require__.d(__webpack_exports__,"View",(function(){return ViewContainer}));var external_react_=__webpack_require__(5);var external_react_default=__webpack_require__.n(external_react_);var external_jwt_decode_=__webpack_require__(108);var external_jwt_decode_default=__webpack_require__.n(external_jwt_decode_);var PureComponent=__webpack_require__(32);var src=__webpack_require__(16);var Provider=__webpack_require__(70);var HocActions=__webpack_require__(65);var external_react_router_dom_=__webpack_require__(94);var jsx_runtime_=__webpack_require__(4);const logInit=(message,props)=>{var _props$accessToken;src["c"].debug(message,{appId:props.app,accessToken:props.accessToken?`${(_props$accessToken=props.accessToken)===null||_props$accessToken===void 0?void 0:_props$accessToken.substring(0,50)}...`:undefined})};class HoparaHOC_Hopara extends PureComponent["a"]{getActionPayload(){var _this$props$tenant;const accessTokenDecoded=external_jwt_decode_default()(this.props.accessToken);const{tenants=[],scope=""}=accessTokenDecoded;return{appId:this.props.app,accessToken:this.props.accessToken,tenant:(_this$props$tenant=this.props.tenant)!==null&&_this$props$tenant!==void 0?_this$props$tenant:tenants[0],tenants,permissions:scope===null||scope===void 0?void 0:scope.split(" "),queryLoaders:this.props.queryLoaders,queryUpdaters:this.props.queryUpdaters,initialPosition:this.props.initialPosition,initialRow:this.props.initialRow}}componentDidMount(){if(!this.props.app||!this.props.accessToken)return;logInit("initializing module",this.props);Provider["a"].dispatch(HocActions["a"].hocLoaded(this.getActionPayload()))}componentDidUpdate(prevProps){var _state$appStore$app;if(!this.props.app||!this.props.accessToken)return;const state=Provider["a"].getState();if(this.props.app===((_state$appStore$app=state.appStore.app)===null||_state$appStore$app===void 0?void 0:_state$appStore$app.id)&&this.props.accessToken===state.authorization.accessToken&&this.props.tenant===state.authorization.tenant)return;if(!prevProps.app||!prevProps.accessToken){logInit("initializing module",this.props);Provider["a"].dispatch(HocActions["a"].hocLoaded(this.getActionPayload()))}else{logInit("updating module",this.props);Provider["a"].dispatch(HocActions["a"].hocUpdated(this.getActionPayload()))}}render(){return Object(jsx_runtime_["jsx"])(Provider["b"],{children:Object(jsx_runtime_["jsx"])(external_react_router_dom_["MemoryRouter"],{children:this.props.children})})}}var HoparaHOC=HoparaHOC_Hopara;var external_reselect_=__webpack_require__(138);var Store=__webpack_require__(9);var AppStore=__webpack_require__(44);var QueryStore=__webpack_require__(40);var i18n_src=__webpack_require__(13);const getZoomButtons=props=>[{active:false,title:Object(i18n_src["a"])("ZOOM_IN"),icon:"plus",onClick:props.onZoomInClick},{active:false,title:Object(i18n_src["a"])("ZOOM_OUT"),icon:"minus",onClick:props.onZoomOutClick}];const getSearchButton=props=>[{active:props.searchEnabled,icon:"search",onClick:props.onSearchToggle}];const getJumpBackButton=props=>[{active:false,title:Object(i18n_src["a"])("BACK_TO_ORIGIN"),icon:"arrow-left",onClick:props.onJumpBackClick}];const getViewDragModeButton=props=>[{active:false,title:props.isRotateMode?Object(i18n_src["a"])("SELECT_TO_PAN_THE_VIEW"):Object(i18n_src["a"])("SELECT_TO_ROTATE_THE_VIEW"),subtitle:Object(i18n_src["a"])("OR_HOLD_ALT"),icon:!props.isRotateMode?"pan":"rotate",onClick:props.onBearingModeClick}];const getLevelButton=props=>{var _props$steps$,_props$steps$2,_props$steps$3,_props$steps$4,_props$steps,_props$steps$5,_props$steps2;const{currentFloor}=props;const floorActions=[];if(currentFloor===undefined||!props.steps.length)return floorActions;props.steps.forEach((step=>{var _step$title;floorActions.push({active:step.value===currentFloor,title:(_step$title=step.title)!==null&&_step$title!==void 0?_step$title:Object(i18n_src["a"])("FLOOR"),label:step.label,onClick:()=>currentFloor!==step.value&&props.onFloorChange(step.value)})}));const previousValue=currentFloor===props.steps[props.steps.length-1].value?(_props$steps$=props.steps[1])===null||_props$steps$===void 0?void 0:_props$steps$.value:(_props$steps$2=props.steps[0])===null||_props$steps$2===void 0?void 0:_props$steps$2.value;const nextValue=currentFloor===((_props$steps$3=props.steps[0])===null||_props$steps$3===void 0?void 0:_props$steps$3.value)?(_props$steps$4=props.steps[1])===null||_props$steps$4===void 0?void 0:_props$steps$4.value:(_props$steps=props.steps[props.steps.length-1])===null||_props$steps===void 0?void 0:_props$steps.value;floorActions.unshift({active:false,disabled:currentFloor===((_props$steps$5=props.steps[0])===null||_props$steps$5===void 0?void 0:_props$steps$5.value),icon:"chevron-down",onClick:()=>props.onFloorChange(previousValue)});floorActions.push({active:false,disabled:currentFloor===((_props$steps2=props.steps[props.steps.length-1])===null||_props$steps2===void 0?void 0:_props$steps2.value),icon:"chevron-up",onClick:()=>props.onFloorChange(nextValue)});return floorActions.reverse()};function getHomeButton(props){return[{active:false,icon:"home",onClick:()=>props.goToHome()}]}var src_theme=__webpack_require__(10);var external_feather_icons_react_=__webpack_require__(139);var external_feather_icons_react_default=__webpack_require__.n(external_feather_icons_react_);function _extends(){_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function SvgCompass(_ref,svgRef){let{title,titleId,...props}=_ref;return external_react_["createElement"]("svg",_extends({viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",ref:svgRef,"aria-labelledby":titleId},props),title?external_react_["createElement"]("title",{id:titleId},title):null,external_react_["createElement"]("g",{fillRule:"evenodd",transform:"matrix(1.021277, 0, 0, 1.021277, 7.404254, -0.000004)"},external_react_["createElement"]("path",{d:"M 4.55 23.5 L 0 11.75 L 4.55 0 L 9 11.75 L 4.55 23.5 Z M 4.54 20.704 L 7.836 11.75 L 1.087 11.75 L 4.54 20.704 Z",style:{stroke:"none"}})))}const ForwardRef=external_react_["forwardRef"](SvgCompass);var compass=__webpack_require__.p+"static/media/compass.1b7cfab3.svg";var _path;function target_extends(){target_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return target_extends.apply(this,arguments)}function SvgTarget(_ref,svgRef){let{title,titleId,...props}=_ref;return external_react_["createElement"]("svg",target_extends({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",ref:svgRef,"aria-labelledby":titleId},props),title?external_react_["createElement"]("title",{id:titleId},title):null,_path||(_path=external_react_["createElement"]("path",{d:"M11,2V4.07C7.38,4.53 4.53,7.38 4.07,11H2V13H4.07C4.53,16.62 7.38,19.47 11,19.93V22H13V19.93C16.62,19.47 19.47,16.62 19.93,13H22V11H19.93C19.47,7.38 16.62,4.53 13,4.07V2M11,6.08V8H13V6.09C15.5,6.5 17.5,8.5 17.92,11H16V13H17.91C17.5,15.5 15.5,17.5 13,17.92V16H11V17.91C8.5,17.5 6.5,15.5 6.08,13H8V11H6.09C6.5,8.5 8.5,6.5 11,6.08M12,11A1,1 0 0,0 11,12A1,1 0 0,0 12,13A1,1 0 0,0 13,12A1,1 0 0,0 12,11Z"})))}const target_ForwardRef=external_react_["forwardRef"](SvgTarget);var target=__webpack_require__.p+"static/media/target.5caa5a92.svg";var _g;function place_row_extends(){place_row_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return place_row_extends.apply(this,arguments)}function SvgPlaceRow(_ref,svgRef){let{title,titleId,...props}=_ref;return external_react_["createElement"]("svg",place_row_extends({width:"24px",height:"24px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",ref:svgRef,"aria-labelledby":titleId},props),title?external_react_["createElement"]("title",{id:titleId},title):null,_g||(_g=external_react_["createElement"]("g",{id:"placeRow",fillRule:"evenodd"},external_react_["createElement"]("polygon",{fill:"currentColor",points:"12 2 16.2426407 6.24264069 15.1213203 7.36396103 13 5.242 13 11 18.759 11 16.636039 8.87867966 17.7573593 7.75735931 22 12 17.7573593 16.2426407 16.636039 15.1213203 18.757 13 13 13 13 18.757 15.1213203 16.636039 16.2426407 17.7573593 12 22 7.75735931 17.7573593 8.87867966 16.636039 11 18.759 11 13 5.242 13 7.36396103 15.1213203 6.24264069 16.2426407 2 12 6.24264069 7.75735931 7.36396103 8.87867966 5.24 11 11 11 11 5.24 8.87867966 7.36396103 7.75735931 6.24264069"}))))}const place_row_ForwardRef=external_react_["forwardRef"](SvgPlaceRow);var place_row=__webpack_require__.p+"static/media/place-row.2bc3682c.svg";var icons_material_=__webpack_require__(27);const Icons=props=>{const iconStyle={fill:"currentColor",width:"1em",height:"1em",...props.style};switch(props.icon){case"compass":return Object(jsx_runtime_["jsx"])(ForwardRef,{style:iconStyle});case"rotate":return Object(jsx_runtime_["jsx"])(icons_material_["ThreeSixty"],{style:iconStyle});case"pan":return Object(jsx_runtime_["jsx"])(icons_material_["ControlCamera"],{style:iconStyle});case"target":return Object(jsx_runtime_["jsx"])(target_ForwardRef,{style:iconStyle});case"placing-row":return Object(jsx_runtime_["jsx"])(icons_material_["LocationOnOutlined"],{style:iconStyle});case"place-row":return Object(jsx_runtime_["jsx"])(place_row_ForwardRef,{style:iconStyle});case"edit":return Object(jsx_runtime_["jsx"])(icons_material_["EditOutlined"],{style:iconStyle});case"delete":return Object(jsx_runtime_["jsx"])(icons_material_["DeleteOutline"],{style:iconStyle});case"toggleOn":return Object(jsx_runtime_["jsx"])(icons_material_["ToggleOnOutlined"],{style:iconStyle});case"toggleOff":return Object(jsx_runtime_["jsx"])(icons_material_["ToggleOffOutlined"],{style:iconStyle});case"search":return Object(jsx_runtime_["jsx"])(icons_material_["SearchOutlined"],{style:iconStyle});case"accountCircle":return Object(jsx_runtime_["jsx"])(icons_material_["AccountCircleOutlined"],{style:iconStyle});case"help":return Object(jsx_runtime_["jsx"])(icons_material_["HelpOutlineOutlined"],{style:iconStyle});case"logout":return Object(jsx_runtime_["jsx"])(icons_material_["Logout"],{style:iconStyle});case"documentation":return Object(jsx_runtime_["jsx"])(icons_material_["Description"],{style:iconStyle});case"fullscreen":return Object(jsx_runtime_["jsx"])(icons_material_["Fullscreen"],{style:iconStyle});case"location-on":return Object(jsx_runtime_["jsx"])(icons_material_["LocationOn"],{style:iconStyle});case"location-off":return Object(jsx_runtime_["jsx"])(icons_material_["LocationOff"],{style:iconStyle});default:return Object(jsx_runtime_["jsx"])(external_feather_icons_react_default.a,{icon:props.icon,style:props.style})}};var icons_Icons=Icons;const NavigationBar=Object(src_theme["a"])("div",{name:"NavigationBar"})((_ref=>{let{theme}=_ref;return{position:"absolute",zIndex:7,transition:"transform 0.5s ease-in-out",right:theme.shape.paddingInner,top:theme.shape.paddingInner}}));const NavigationBarActions=Object(src_theme["a"])("ul",{name:"NavigationBarActions"})({alignItems:"flex-end",display:"flex",flexDirection:"column",listStyle:"none",margin:0,padding:0});const NavigationBarAction=Object(src_theme["a"])("li",{name:"NavigationBarAction"})((_ref2=>{let{theme}=_ref2;return{boxShadow:"0 2px 6px -2px rgba(0,0,0,0.15)",backgroundColor:theme.palette.background.paper,border:`1px solid ${theme.palette.divider}`,borderRadius:"3px",display:"flex",flexDirection:"row-reverse",marginBottom:8,":last-of-type":{marginBottom:0}}}));const NavigationBarActionInner=Object(src_theme["a"])("div",{name:"NavigationBarActionInner"})({width:"100%",padding:"0.25em"});const NavigationBarButton=Object(src_theme["a"])("button",{name:"NavigationBarButton"})((_ref3=>{let{theme,_active}=_ref3;return{color:theme.palette.primary.main,background:"none",borderRadius:3,border:_active?`1.5px solid ${theme.palette.primary.main}`:"1.5px solid transparent",cursor:"pointer",display:"flex",flexDirection:"row",placeContent:"center",margin:"auto",padding:"0.5em",width:"100%",minWidth:"fit-content",userSelect:"none",":disabled":{color:"#ccc"},":hover":{backgroundColor:"rgba(0,0,0,.05)"},":active":{backgroundColor:"rgba(0,0,0,.075)"},".NavigationBarAction:hover &.NavigationBarButtonWithTitle":{gap:"0.5em",placeContent:"flex-end",margin:"0"}}}));const NavigationBarButtonTitle=Object(src_theme["a"])("span",{name:"NavigationBarButtonTitle"})({display:"none",textAlign:"left","& h5":{fontSize:"0.85rem",color:"#000"},"& h6":{fontSize:"0.685rem",color:"#111",opacity:.5},".NavigationBarAction:hover &":{display:"inline"}});const NavigationBarButtonLabel=Object(src_theme["a"])("span",{name:"NavigationBarButtonLabel"})({fontSize:"0.85rem",minWidth:20});const NavigationBarButtonIcon=Object(src_theme["a"])(icons_Icons,{name:"NavigationBarButtonIcon"})({});var api_=__webpack_require__(105);var material_=__webpack_require__(21);const TextField=props=>{var _props$error,_props$size,_props$fullWidth;const theme=Object(src_theme["b"])();const[dirty,setDirty]=external_react_default.a.useState(false);const inputHasError=(_props$error=props.error)!==null&&_props$error!==void 0?_props$error:props.required&&(props.valid===false||dirty&&props.value==="");let sx={};if(props.variant==="transparent"){sx={"& .MuiFilledInput-root":{backgroundColor:"transparent",border:"none","&.Mui-disabled":{backgroundColor:theme.palette.spec.inputDisabled}}}}const{testId,onSetValue,onChange,...rest}=props;return Object(jsx_runtime_["jsx"])(material_["TextField"],{...rest,hiddenLabel:!props.label,variant:"filled",size:(_props$size=props.size)!==null&&_props$size!==void 0?_props$size:"small",fullWidth:(_props$fullWidth=props.fullWidth)!==null&&_props$fullWidth!==void 0?_props$fullWidth:true,error:inputHasError,sx,onChange:evt=>{setDirty(true);if(onSetValue)onSetValue(evt.target.value);if(onChange)onChange(evt)},inputProps:{...props.inputProps,"data-testid":testId}})};const viewPortToZoom=viewPort=>{if(!viewPort)return undefined;const WORLD_DIM={height:256,width:256};const ZOOM_MAX=24;const latRad=lat=>{const sin=Math.sin(lat*Math.PI/180);const radX2=Math.log((1+sin)/(1-sin))/2;return Math.max(Math.min(radX2,Math.PI),-Math.PI)/2};const zoom=(mapPx,worldPx,fraction)=>Math.floor(Math.log(mapPx/worldPx/fraction)/Math.LN2);const ne=viewPort.getNorthEast();const sw=viewPort.getSouthWest();const latFraction=(latRad(ne.lat())-latRad(sw.lat()))/Math.PI;const lngDiff=ne.lng()-sw.lng();const lngFraction=(lngDiff<0?lngDiff+360:lngDiff)/360*(256/360);const latZoom=zoom(500,WORLD_DIM.height,latFraction);const lngZoom=zoom(500,WORLD_DIM.width,lngFraction);return Math.min(latZoom,lngZoom,ZOOM_MAX)};const libraries=["places"];const SearchBox=Object(material_["styled"])("div",{name:"SearchInput"})((_ref=>{let{theme}=_ref;return{boxSizing:"border-box",border:`2px solid ${theme.palette.primary.main}`,backgroundColor:theme.palette.background.default,width:400,borderRadius:3,fontSize:14,position:"absolute",top:14,right:64,boxShadow:"0 2px 6px -2px rgba(0,0,0,0.33)",[theme.breakpoints.down("sm")]:{width:240}}}));const PlaceSearchBox=_ref2=>{let{onPlaceChanged,visible,bounds}=_ref2;const ref=external_react_default.a.useRef(null);if(!bounds)return null;return Object(jsx_runtime_["jsx"])(jsx_runtime_["Fragment"],{children:Object(jsx_runtime_["jsx"])(api_["LoadScript"],{googleMapsApiKey:"AIzaSyAC42qeOUIZ0j7T-b_c9MXvG3-Wtld8Be4",libraries,loadingElement:Object(jsx_runtime_["jsx"])(jsx_runtime_["Fragment"],{}),children:visible?Object(jsx_runtime_["jsx"])(api_["StandaloneSearchBox"],{onLoad:rf=>{ref.current=rf},onPlacesChanged:()=>{const places=ref.current.getPlaces();if(places!==null&&places!==void 0&&places.length){var _placeResult$geometry,_placeResult$geometry2;const placeResult=places[0];const location=(_placeResult$geometry=placeResult.geometry)===null||_placeResult$geometry===void 0?void 0:_placeResult$geometry.location;const place={latitude:location===null||location===void 0?void 0:location.lat(),longitude:location===null||location===void 0?void 0:location.lng(),zoom:viewPortToZoom((_placeResult$geometry2=placeResult.geometry)===null||_placeResult$geometry2===void 0?void 0:_placeResult$geometry2.viewport)};if(place.latitude&&place.longitude&&place.zoom){onPlaceChanged(place)}}},bounds:{north:bounds.y.getMax(),south:bounds.y.getMin(),east:bounds.x.getMax(),west:bounds.x.getMin()},children:Object(jsx_runtime_["jsx"])(SearchBox,{children:Object(jsx_runtime_["jsx"])(TextField,{type:"text",placeholder:Object(i18n_src["a"])("TYPE_A_PLACE_TO_NAVIGATE"),autoFocus:true,variant:"transparent",fullWidth:true,sx:{height:"100%","& .MuiInputBase-root":{height:"100%"},"& fieldset":{outline:"none",border:"none"}}})})}):null})})};var spatial_src=__webpack_require__(8);const canJumpBack=visualization=>!visualization.isRoot;const doActionList=props=>{var _window$matchMedia$ma,_window,_window$matchMedia,_props$visualization,_props$visualization2,_props$visualization3,_props$visualization4,_props$visualization5;const actions=new Array;const isHoverMedia=(_window$matchMedia$ma=(_window=window)===null||_window===void 0?void 0:(_window$matchMedia=_window.matchMedia("(any-hover: hover)"))===null||_window$matchMedia===void 0?void 0:_window$matchMedia.matches)!==null&&_window$matchMedia$ma!==void 0?_window$matchMedia$ma:true;actions.push(getHomeButton(props));if((_props$visualization=props.visualization)!==null&&_props$visualization!==void 0&&_props$visualization.isGeo())actions.push(getSearchButton(props));if(!((_props$visualization2=props.visualization)!==null&&_props$visualization2!==void 0&&_props$visualization2.isCustom())&&isHoverMedia)actions.push(getZoomButtons(props));if(((_props$visualization3=props.visualization)!==null&&_props$visualization3!==void 0&&_props$visualization3.isGeo()||(_props$visualization4=props.visualization)!==null&&_props$visualization4!==void 0&&_props$visualization4.isOrbit())&&isHoverMedia)actions.push(getViewDragModeButton(props));if(!((_props$visualization5=props.visualization)!==null&&_props$visualization5!==void 0&&_props$visualization5.isOrbit())&&props.hasFloors){actions.push(getLevelButton({currentFloor:props.currentFloor,allStepsLength:props.allStepsLength,steps:props.floorSteps,onFloorChange:props.onFloorChange,tenant:props.tenant}))}if(canJumpBack(props.visualization))actions.push(getJumpBackButton(props));return actions};const RenderNavigationBar=props=>{const actions=doActionList(props);return Object(jsx_runtime_["jsx"])(NavigationBar,{children:Object(jsx_runtime_["jsx"])(NavigationBarActions,{children:actions.map(((items,i)=>{if(!items.length)return null;return Object(jsx_runtime_["jsx"])(NavigationBarAction,{className:"NavigationBarAction",children:Object(jsx_runtime_["jsx"])(NavigationBarActionInner,{children:items.map(((item,index)=>Object(jsx_runtime_["jsxs"])(NavigationBarButton,{disabled:item.disabled,onClick:()=>item.onClick(),_active:item.active,"data-testid":`${item.title}${item.label?" "+item.label:""}`,className:item.title?"NavigationBarButtonWithTitle":"",children:[item.title&&Object(jsx_runtime_["jsxs"])(NavigationBarButtonTitle,{children:[Object(jsx_runtime_["jsx"])(material_["Typography"],{variant:"h5",children:item.title}),item.subtitle&&Object(jsx_runtime_["jsx"])(material_["Typography"],{variant:"subtitle2",children:item.subtitle})]}),item.icon&&Object(jsx_runtime_["jsx"])(NavigationBarButtonIcon,{icon:item.icon,style:{width:20,height:20,color:"inherit",lineHeight:0,placeSelf:"flex-end",alignSelf:"flex-start",...item.iconStyle}}),!item.icon&&item.label&&Object(jsx_runtime_["jsx"])(NavigationBarButtonLabel,{children:item.label})]},index)))})},i)}))})})};const NavigationComponent=props=>{const[searchEnabled,setSearchEnabled]=external_react_default.a.useState(false);const onSearchToggle=()=>{setSearchEnabled(!searchEnabled)};return Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:[Object(jsx_runtime_["jsx"])(PlaceSearchBox,{visible:searchEnabled,bounds:props.visibleWorld,onPlaceChanged:place=>{props.onPlaceChanged(new spatial_src["c"]({y:place.latitude,x:place.longitude}),place.zoom)}}),Object(jsx_runtime_["jsx"])(RenderNavigationBar,{...props,searchEnabled,onSearchToggle})]})};var Actions=__webpack_require__(0);var fp_=__webpack_require__(2);const getFloorSteps=(currentFloor,floorOptions)=>{let steps=[];if(!floorOptions.length)return steps;const currentFloorIndex=floorOptions.findIndex((option=>option===currentFloor));steps=[{value:currentFloor,label:String(currentFloor)}];if(currentFloorIndex===0){const nextFloor=floorOptions[currentFloorIndex+1];if(!Object(fp_["isNil"])(nextFloor))steps.push({value:nextFloor,label:String(nextFloor)});const nextNextFloor=floorOptions[currentFloorIndex+2];if(!Object(fp_["isNil"])(nextNextFloor))steps.push({value:nextNextFloor,label:String(nextNextFloor)})}else if(currentFloorIndex===floorOptions.length-1){const prevFloor=floorOptions[currentFloorIndex-1];if(!Object(fp_["isNil"])(prevFloor))steps.unshift({value:prevFloor,label:String(prevFloor)});const prevPrevFloor=floorOptions[currentFloorIndex-2];if(!Object(fp_["isNil"])(prevPrevFloor))steps.unshift({value:prevPrevFloor,label:String(prevPrevFloor)})}else{const nextFloor=floorOptions[currentFloorIndex+1];if(!Object(fp_["isNil"])(nextFloor))steps.push({value:nextFloor,label:String(nextFloor)});const prevFloor=floorOptions[currentFloorIndex-1];if(!Object(fp_["isNil"])(prevFloor))steps.unshift({value:prevFloor,label:String(prevFloor)})}return steps};const NavigationContainer=()=>{var _useSelector;const dispatch=Object(Store["c"])();const visualization=Object(Store["d"])((store=>store.visualizationStore.visualization));const layers=Object(Store["d"])((store=>store.layers));const world=Object(Store["d"])((store=>store.world));const viewState=Object(Store["d"])((store=>store.viewState));const firstLayerWithFloor=Object(Store["d"])((store=>store.layers.findFirstVisibleWithFloor(viewState.zoom)));const floorValueOptions=(_useSelector=Object(Store["d"])((store=>store.floor.values)))!==null&&_useSelector!==void 0?_useSelector:[];const currentFloor=Object(Store["d"])((store=>store.floor.current));const steps=firstLayerWithFloor!==null&&firstLayerWithFloor!==void 0&&firstLayerWithFloor.belongsToZoom(viewState.zoom)&&!Object(fp_["isNil"])(currentFloor)?getFloorSteps(currentFloor,floorValueOptions):[];const hasFloors=layers.someWithFloor()&&!!(floorValueOptions!==null&&floorValueOptions!==void 0&&floorValueOptions.length);const visibleWorld=viewState===null||viewState===void 0?void 0:viewState.getVisibleWorld(world);const isRotateMode=Object(Store["d"])((store=>{var _store$viewController;return!!((_store$viewController=store.viewController)!==null&&_store$viewController!==void 0&&_store$viewController.isRotateMode())}));const tenant=Object(Store["d"])((store=>store.authorization.tenant));const navigate=Object(external_react_router_dom_["useNavigate"])();const onZoomIn=()=>{if(!visualization){dispatch(Actions["a"].log.genericError({reason:Object(i18n_src["a"])("CANNOT_ZOOM_WHILE_VISUALIZATION_DOES_NOT_EXIST")}));return}dispatch(Actions["a"].navigation.zoomInRequested({visualizationId:visualization.id}));dispatch(Actions["a"].analytics.analyticsEvent({event:"Sidebar Zoom: In"}))};const onZoomOut=()=>{if(!visualization){dispatch(Actions["a"].log.genericError({reason:Object(i18n_src["a"])("CANNOT_ZOOM_WHILE_VISUALIZATION_DOES_NOT_EXIST")}));return}dispatch(Actions["a"].navigation.zoomOutRequested({visualizationId:visualization.id}));dispatch(Actions["a"].analytics.analyticsEvent({event:"Sidebar Zoom: Out"}))};const onJumpBack=()=>{navigate(-1)};const onFloorChange=floor=>{if(!visualization)throw new Error("Cannot change level while visualization does not exist");dispatch(Actions["a"].analytics.analyticsEvent({event:"Level: Change"}));return dispatch(Actions["a"].navigation.floorChangeRequested({floor}))};const onBearingMode=()=>{if(!visualization)throw new Error(Object(i18n_src["a"])("CANNOT_CHANGE_BEARING_WHILE_VISUALIZATION_DOES_NOT_EXIST"));dispatch(Actions["a"].analytics.analyticsEvent({event:"Bearing: Toggle"}));return dispatch(Actions["a"].navigation.bearingModeToggle({visualizationId:visualization.id}))};const onPlaceChanged=(coordinates,zoom)=>{dispatch(Actions["a"].navigation.goToPlace({coordinates,zoom,visualizationId:visualization.id}))};const goToHome=()=>{dispatch(Actions["a"].navigation.goToPlace({visualizationId:visualization.id,coordinates:visualization.getInitialCoordinates(),zoom:visualization.getInitialZoom(),bearing:visualization.getInitialBearing()}))};if(!visualization)return null;return Object(jsx_runtime_["jsx"])(NavigationComponent,{visualization,hasFloors,onPlaceChanged,onZoomInClick:onZoomIn,onZoomOutClick:onZoomOut,onFloorChange,onBearingModeClick:onBearingMode,onJumpBackClick:onJumpBack,visibleWorld,isRotateMode,currentFloor,allStepsLength:floorValueOptions.length,floorSteps:steps,tenant,goToHome})};var dataset_src=__webpack_require__(6);let TooltipPlacement;(function(TooltipPlacement){TooltipPlacement["top"]="top";TooltipPlacement["bottom"]="bottom";TooltipPlacement["left"]="left";TooltipPlacement["right"]="right";TooltipPlacement["topRight"]="topRight";TooltipPlacement["topLeft"]="topLeft";TooltipPlacement["bottomRight"]="bottomRight";TooltipPlacement["bottomLeft"]="bottomLeft"})(TooltipPlacement||(TooltipPlacement={}));var react_=__webpack_require__(20);const TooltipView=Object(src_theme["a"])("div",{name:"TooltipView"})((_ref=>{let{theme,_visible,_placement}=_ref;const tooltipVisible=Object(react_["css"])({opacity:.97});const tooltipTop=Object(react_["css"])({marginBottom:15,transform:"translate3d(-50%, calc(-100% - 15px), 0)"});const tooltipBottom=Object(react_["css"])({transform:"translate3d(-50%, 15px, 0)"});const tooltipLeft=Object(react_["css"])({marginRight:15,transform:"translate3d(calc(-100% - 15px), -50%, 0)"});const tooltipRight=Object(react_["css"])({marginLeft:15,transform:"translate3d(15px, -50%, 0)"});const tooltipTopRight=Object(react_["css"])({transform:"translate3d(15px, calc(-100% - 15px), 0)"});const tooltipTopLeft=Object(react_["css"])({transform:"translate3d(calc(-100% - 15px), calc(-100% - 15px), 0)"});const tooltipBottomRight=Object(react_["css"])({transform:"translate3d(15px, 15px, 0)"});const tooltipBottomLeft=Object(react_["css"])({transform:"translate3d(calc(-100% - 15px), 15px, 0)"});const tooltipUnplaced=Object(react_["css"])({visibility:"hidden"});const styles=[Object(react_["css"])({fontSize:theme.typography.fontSize,display:"block",position:"absolute",transition:"opacity 0.14s ease, scale 0.14 ease",zIndex:999,opacity:0,visibility:"visible",maxWidth:500})];if(_visible){styles.push(tooltipVisible)}if(_placement===TooltipPlacement.top){styles.push(tooltipTop)}if(_placement===TooltipPlacement.bottom){styles.push(tooltipBottom)}if(_placement===TooltipPlacement.left){styles.push(tooltipLeft)}if(_placement===TooltipPlacement.right){styles.push(tooltipRight)}if(_placement===TooltipPlacement.topRight){styles.push(tooltipTopRight)}if(_placement===TooltipPlacement.topLeft){styles.push(tooltipTopLeft)}if(_placement===TooltipPlacement.bottomRight){styles.push(tooltipBottomRight)}if(_placement===TooltipPlacement.bottomLeft){styles.push(tooltipBottomLeft)}if(!_placement){styles.push(tooltipUnplaced)}return styles}));const TooltipContent=Object(src_theme["a"])("div",{name:"TooltipContent"})((_ref2=>{let{theme}=_ref2;return{borderRadius:theme.shape.borderRadius,border:`1px solid ${theme.palette.background.paper}`,boxShadow:theme.shadows[2],backgroundColor:theme.palette.background.paper,overflow:"hidden"}}));const TooltipTableView=Object(src_theme["a"])("table",{name:"TooltipTableView"})((_ref3=>{let{theme}=_ref3;return{borderCollapse:"collapse",borderRadius:theme.shape.borderRadius,overflow:"hidden"}}));const TooltipRow=Object(src_theme["a"])("tr",{name:"TooltipRow"})((_ref4=>{let{theme}=_ref4;return{padding:0,":nth-of-type(odd)":{backgroundColor:theme.palette.mode==="dark"?"#444":"#f3f3f3"}}}));const TooltipHeading=Object(src_theme["a"])("th",{name:"TooltipHeading"})((_ref5=>{let{theme}=_ref5;return{borderRight:`1px solid ${theme.palette.background.paper}`,padding:"0.75em",paddingRight:"1em",textAlign:"left",whiteSpace:"nowrap"}}));const TooltipField=Object(src_theme["a"])("td",{name:"TooltipField"})({padding:"0.75em"});const TooltipToolbarView=Object(src_theme["a"])("div",{name:"TooltipToolbarView"})({alignItems:"center",display:"flex",flexDirection:"row",justifyContent:"center",padding:"0.5rem",":nth-of-type(1n) button":{marginRight:"0.5rem",":last-child":{marginRight:0}}});class TooltipView_Tooltip extends external_react_["Component"]{constructor(props){super(props);this._ref=external_react_default.a.createRef();this.state={}}hasCoordinates(){var _this$props$coordinat,_this$props$coordinat2;return!!((_this$props$coordinat=this.props.coordinates)!==null&&_this$props$coordinat!==void 0&&_this$props$coordinat.x&&(_this$props$coordinat2=this.props.coordinates)!==null&&_this$props$coordinat2!==void 0&&_this$props$coordinat2.y)}getPlacement(){const offset=10;if(!this._ref.current||!this.hasCoordinates())return;const tooltipWidth=this._ref.current.clientWidth;const tooltipHeight=this._ref.current.clientHeight;const parentWidth=this._ref.current.parentElement?this._ref.current.parentElement.clientWidth:window.innerWidth;const parentHeight=this._ref.current.parentElement?this._ref.current.parentElement.clientHeight:window.innerHeight;const hasTopSpace=this.props.coordinates.y>tooltipHeight+offset;const hasBottomSpace=parentHeight-this.props.coordinates.y>tooltipHeight+offset;const hasRightSpace=parentWidth-this.props.coordinates.x>tooltipWidth+offset;const hasLeftSpace=this.props.coordinates.x>tooltipWidth+offset;const hasMiddleTopSpace=this.props.coordinates.y>tooltipHeight/2;const hasMiddleBottomSpace=parentHeight-this.props.coordinates.y>tooltipHeight/2;const hasMiddleRightSpace=parentWidth-this.props.coordinates.x>tooltipWidth/2;const hasMiddleLeftSpace=this.props.coordinates.x>tooltipWidth/2;if(hasTopSpace&&hasMiddleRightSpace&&hasMiddleLeftSpace)return TooltipPlacement.top;if(hasBottomSpace&&hasMiddleRightSpace&&hasMiddleLeftSpace)return TooltipPlacement.bottom;if(hasLeftSpace&&hasMiddleTopSpace&&hasMiddleBottomSpace)return TooltipPlacement.left;if(hasRightSpace&&hasMiddleTopSpace&&hasMiddleBottomSpace)return TooltipPlacement.right;if(hasTopSpace&&hasRightSpace)return TooltipPlacement.topRight;if(hasTopSpace&&hasLeftSpace)return TooltipPlacement.topLeft;if(hasBottomSpace&&hasRightSpace)return TooltipPlacement.bottomRight;if(hasBottomSpace&&hasLeftSpace)return TooltipPlacement.bottomLeft;if(hasBottomSpace)return TooltipPlacement.bottom;if(hasLeftSpace)return TooltipPlacement.left;if(hasRightSpace)return TooltipPlacement.right;if(hasTopSpace)return TooltipPlacement.top}componentDidUpdate(){if(!this.hasCoordinates()||!this.props.children)return}render(){var _this$props$coordinat3,_this$props$coordinat4;if(!this.props.children)return;const placement=this.getPlacement();return Object(jsx_runtime_["jsx"])(TooltipView,{id:"__hopara__tooltip__",ref:this._ref,_visible:this.props.isVisible,_placement:placement,"data-placement":placement,style:{display:this.hasCoordinates(),left:(_this$props$coordinat3=this.props.coordinates)===null||_this$props$coordinat3===void 0?void 0:_this$props$coordinat3.x,top:(_this$props$coordinat4=this.props.coordinates)===null||_this$props$coordinat4===void 0?void 0:_this$props$coordinat4.y},children:this.props.children&&Object(jsx_runtime_["jsx"])(TooltipContent,{children:this.props.children})})}}class TooltipTable_TooltipTable extends external_react_default.a.PureComponent{renderUnplaceAction(key,line){return Object(jsx_runtime_["jsx"])(TooltipRow,{children:Object(jsx_runtime_["jsx"])(TooltipField,{style:{textAlign:"center"},colSpan:2,children:Object(jsx_runtime_["jsxs"])(material_["Button"],{color:"secondary",variant:"outlined",onClick:line["onUnplaceClick"],children:[Object(jsx_runtime_["jsx"])(icons_material_["DeleteOutline"],{})," ",Object(i18n_src["a"])("UNPLACE")]})})},key)}renderJumpAction(key,line){return Object(jsx_runtime_["jsx"])(TooltipRow,{children:Object(jsx_runtime_["jsx"])(TooltipField,{colSpan:2,children:Object(jsx_runtime_["jsxs"])(material_["Link"],{href:"#",target:line.target,underline:"none",onClick:e=>{e.preventDefault();e.stopPropagation();return line.onClick(e)},sx:{display:"flex",alignItems:"center"},children:[line.title,line.icon!==null&&Object(jsx_runtime_["jsx"])(icons_material_["NavigateNextOutlined"],{})]})})},key)}renderLinkLine(key,line){return Object(jsx_runtime_["jsx"])(TooltipRow,{children:Object(jsx_runtime_["jsx"])(TooltipField,{colSpan:2,children:Object(jsx_runtime_["jsxs"])(material_["Link"],{href:line.href,target:line.target,underline:"none",sx:{display:"flex",alignItems:"center"},children:[line.title,Object(jsx_runtime_["jsx"])(icons_material_["NavigateNextOutlined"],{})]})})},key)}renderTableLine(key,line){return Object(jsx_runtime_["jsxs"])(TooltipRow,{children:[Object(jsx_runtime_["jsx"])(TooltipHeading,{children:line.title}),Object(jsx_runtime_["jsx"])(TooltipField,{children:line.value})]},key)}render(){const lineKeys=Object.keys(this.props.lines).filter((key=>this.props.lines[key].type!=="action"));if(!lineKeys.length)return null;return Object(jsx_runtime_["jsx"])(TooltipTableView,{children:Object(jsx_runtime_["jsx"])("tbody",{children:lineKeys.map((key=>{const line=this.props.lines[key];if(line["onUnplaceClick"])return this.renderUnplaceAction(key,line);else if(line["onClick"])return this.renderJumpAction(key,line);else if(line["href"])return this.renderLinkLine(key,line);else if(line["title"]&&!Object(fp_["isNil"])(line["value"]))return this.renderTableLine(key,line);return null}))})})}}var DetailsFactory=__webpack_require__(78);const getRowColumn=(columns,name)=>{if(columns.has(name)){return columns.get(name)}return new dataset_src["a"]({name})};const createLine=(row,columns,item)=>{var _item$title;const textEncoding=item.value.encoding.text;const column=getRowColumn(columns,textEncoding.field);return{title:(_item$title=item.title)!==null&&_item$title!==void 0?_item$title:column.getLabel(),value:textEncoding.getValue(row,column===null||column===void 0?void 0:column.getType())}};const expandDetails=(details,columns,rowColumns)=>{if(src["a"].isDebugging()){return Object(DetailsFactory["a"])(columns.getPrintables())}if(!details.fields){const printableColumns=columns.getPublics().getPrintables();return Object(DetailsFactory["a"])(new dataset_src["c"](...printableColumns),rowColumns)}else if(Array.isArray(details.fields)){return details.fields}return[]};const createDetailLines=(row,columns,details)=>{if(Object(fp_["isNil"])(details)){details={}}if(Object(fp_["isNil"])(columns)){columns=new dataset_src["c"]}const detailsFields=expandDetails(details,columns,Object.keys(row));return detailsFields.map((field=>createLine(row,columns,field)))};const getLines=(row,columns,details)=>{const tooltipFieldLines=createDetailLines(row,columns,details);return[...tooltipFieldLines].filter((line=>!!line))};const TooltipComponent=props=>{var _props$tooltip2;function renderTable(){var _props$layer;const lines=getLines(props.tooltip.row,props.columns,(_props$layer=props.layer)===null||_props$layer===void 0?void 0:_props$layer.details);if(!lines.length)return;return Object(jsx_runtime_["jsx"])(TooltipTable_TooltipTable,{...props,lines})}function getTooltipContent(){var _props$tooltip;if((_props$tooltip=props.tooltip)!==null&&_props$tooltip!==void 0&&_props$tooltip.row)return renderTable();return}const content=getTooltipContent();if(!content)return null;return Object(jsx_runtime_["jsx"])(TooltipView_Tooltip,{coordinates:(_props$tooltip2=props.tooltip)===null||_props$tooltip2===void 0?void 0:_props$tooltip2.getCoordinates(),isVisible:props.visible,children:content})};var tooltip_TooltipComponent=TooltipComponent;const TooltiContainer=()=>{var _layers$getById,_layer$details;const layers=Object(Store["d"])((store=>store.layers));const tooltip=Object(Store["d"])((store=>store.tooltip));const layer=layers.getById(tooltip===null||tooltip===void 0?void 0:tooltip.layerId);const query=Object(Store["d"])((store=>store.queryStore.queries.findQuery(layer===null||layer===void 0?void 0:layer.getQueryKey())));const columns=(query===null||query===void 0?void 0:query.getColumns())||new dataset_src["c"];const editingEntity=Object(Store["d"])((store=>store.entityStore.getPlacing()));const editingLayerId=editingEntity?(_layers$getById=layers.getById(editingEntity.layer))===null||_layers$getById===void 0?void 0:_layers$getById.id:undefined;const visible=!editingLayerId&&!!(tooltip!==null&&tooltip!==void 0&&tooltip.visible)&&(layer===null||layer===void 0?void 0:(_layer$details=layer.details)===null||_layer$details===void 0?void 0:_layer$details.tooltip)!==false;if(!layer||!tooltip)return null;return Object(jsx_runtime_["jsx"])(tooltip_TooltipComponent,{tooltip,layer,columns,visible})};var TooltipContainer=TooltiContainer;var external_react_transition_group_=__webpack_require__(106);var ViewTransition_module=__webpack_require__(41);var ViewTransition_module_default=__webpack_require__.n(ViewTransition_module);const dotBricksKeyframes=react_["keyframes"]`
|
|
3
3
|
0% {
|
|
4
4
|
box-shadow: 9991px -16px 0 0, 9991px 0 0 0, 10007px 0 0 0
|
|
5
5
|
}
|
|
@@ -39,4 +39,4 @@ module.exports=function(modules){var installedModules={};function __webpack_requ
|
|
|
39
39
|
100% {
|
|
40
40
|
box-shadow: 9991px -16px 0 0, 9991px 0 0 0, 10007px 0 0 0
|
|
41
41
|
}
|
|
42
|
-
`;const LoadingSpinnerView=Object(src_theme["a"])("div",{name:"LoadingSpinnerView"})((_ref=>{let{_fullscreen}=_ref;const style=Object(react_["css"])({display:"flex",alignItems:"center",justifyContent:"center",zIndex:"9000"});if(_fullscreen){return[style,Object(react_["css"])({width:"100vw",height:"100vh"})]}return style}));const LoadingSpinnerLoader=Object(src_theme["a"])("div",{name:"LoadingSpinnerLoader"})({position:"relative",width:"10px",height:"10px"});const LoadingSpinnerSpinner=Object(src_theme["a"])("div",{name:"LoadingSpinnerSpinner"})((_ref2=>{let{theme}=_ref2;return{position:"relative",top:"8px",left:"-9999px",width:"10px",height:"10px",borderRadius:"5px",backgroundColor:theme.palette.primary.main,color:theme.palette.primary.main,boxShadow:`9991px -16px 0 0, 9991px 0 0 0, 10007px 0 0 0`,animationName:dotBricksKeyframes,animationDuration:"2s",animationIterationCount:"infinite",animationTimingFunction:"ease"}}));class Spinner_LoadingSpinner extends external_react_default.a.PureComponent{render(){var _this$props$testId;return Object(jsx_runtime_["jsx"])(LoadingSpinnerView,{_fullscreen:!!this.props.fullscreen,"data-testid":(_this$props$testId=this.props.testId)!==null&&_this$props$testId!==void 0?_this$props$testId:"loading",children:Object(jsx_runtime_["jsx"])(LoadingSpinnerLoader,{children:Object(jsx_runtime_["jsx"])(LoadingSpinnerSpinner,{})})})}}var _500="data:image/gif;base64,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";var _404=__webpack_require__.p+"static/media/404.14fd65ba.gif";const CrashError=Object(src_theme["a"])("div",{name:"CrashError"})({alignItems:"center",display:"flex",flexDirection:"column",justifyContent:"center",height:"100%",width:"100%"});const CrashErrorIcon=Object(src_theme["a"])("img",{name:"CrashErrorIcon"})({width:"100%",maxWidth:300,marginBottom:"0.5em",":nth-of-type(1n) .drone":{fill:"#333"},":nth-of-type(1n) .propeller":{fill:"#222"},":nth-of-type(1n) .explosion-1":{fill:"#aaa"},":nth-of-type(1n) .explosion-2":{fill:"#888"},":nth-of-type(1n) .explosion-3":{fill:"#bbb"}});const CrashErrorTitle=Object(src_theme["a"])("h3",{name:"CrashErrorTitle"})({margin:"0 0 0.5em"});const CrashErrorMessage=Object(src_theme["a"])("p",{name:"CrashErrorMessage"})({margin:"0 0 0.5em"});const funnyErrors=config_src["a"].getValueAsBoolean("FUNNY_ERRORS");class Error_Error extends external_react_default.a.PureComponent{render(){var _this$props$title;return Object(jsx_runtime_["jsxs"])(CrashError,{children:[funnyErrors&&Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:[Object(jsx_runtime_["jsx"])(CrashErrorIcon,{alt:"Error",src:this.props.type==="404"?_404:_500}),Object(jsx_runtime_["jsx"])(CrashErrorTitle,{children:(_this$props$title=this.props.title)!==null&&_this$props$title!==void 0?_this$props$title:"No flight for you"})]}),!funnyErrors&&Object(jsx_runtime_["jsx"])(CrashErrorTitle,{children:"Oops! Something went wrong..."}),this.props.message&&Object(jsx_runtime_["jsxs"])(CrashErrorMessage,{children:["cause: ",this.props.message]}),this.props.children]})}}var _g,_g2,_g3;function _extends(){_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function SvgLogoMediumOutline(_ref,svgRef){let{title,titleId,...props}=_ref;return external_react_["createElement"]("svg",_extends({width:"170px",height:"62px",viewBox:"0 0 170 62",xmlns:"http://www.w3.org/2000/svg",ref:svgRef,"aria-labelledby":titleId},props),title?external_react_["createElement"]("title",{id:titleId},title):null,_g||(_g=external_react_["createElement"]("g",{strokeWidth:1,className:"logo-stroke"},external_react_["createElement"]("g",{id:"logo-stroke",transform:"translate(2.000000, 1.000000)",fill:"#FFFFFF",fillRule:"nonzero"},external_react_["createElement"]("path",{d:"M66.9368533,13.4680091 L66.9368533,42.3680091 C73.6612978,42.3674726 80.3857422,42.3740535 87.0724089,42.3740535 L87.0724089,40.7571646 C88.8857422,42.0340535 91.1146311,42.672498 93.4568533,42.672498 C95.8519644,42.672498 98.1412978,41.9887202 99.9924089,40.6400535 L99.9924089,48.5356091 L109.739076,48.5356091 L109.739076,42.5289424 C110.107787,42.5727646 110.456853,42.6638091 110.842187,42.6638091 C113.467742,42.6638091 115.979964,41.7533646 117.831076,39.9929202 C118.15672,40.3533202 118.511076,40.6880313 118.900187,40.9713646 C120.615298,42.2218091 122.640187,42.6562535 124.566853,42.6562535 C125.934409,42.6562535 127.260409,42.2856535 128.53352,41.7382535 C129.678187,42.3880313 130.87952,42.6562535 131.873076,42.6562535 C132.643742,42.6568731 133.410631,42.5565202 134.151076,42.3615869 L141.857742,42.3615869 L141.857742,38.0171424 C142.375298,39.1995869 143.179964,40.2195869 144.196187,40.9638091 C145.911298,42.2142535 147.939964,42.648698 149.862853,42.648698 C151.230409,42.648698 152.556409,42.278098 153.82952,41.730698 C154.970409,42.3804757 156.17552,42.648698 157.165298,42.648698 C158.173964,42.6497973 159.175076,42.4805869 160.123298,42.1500313 L162.46552,41.3302535 L162.892409,32.3013646 L160.501076,32.7055869 L160.501076,28.6633646 C160.501076,26.0075869 159.424409,23.5255869 157.482631,21.976698 C156.122631,20.8811424 154.524631,20.4240313 152.91152,20.1898091 L152.851076,19.940098 L151.067964,19.940098 C149.500187,19.940098 147.958853,20.2638535 146.572409,20.8807646 L145.73752,20.5233869 L145.735529,20.5233869 C144.745751,20.1002757 143.687974,19.926498 142.645307,19.9529424 L142.65324,19.9392669 C142.638129,19.9393277 142.623396,19.9449713 142.608662,19.9451602 C142.601485,19.945377 142.594307,19.9409669 142.587129,19.9412691 L138.620462,20.0738691 L138.719818,20.2298913 L132.146485,20.2298913 L132.146485,21.9110024 C130.287818,20.4527802 128.028707,19.9390024 125.799818,19.9390024 C122.936262,19.9390024 120.133151,21.0118913 118.28204,23.006558 C116.389374,20.9854469 113.710929,19.9314469 110.877596,19.9314469 C110.103151,19.9314469 109.358929,20.0564913 108.637374,20.2261135 L100.02404,20.2261135 L100.02404,21.9676691 C98.1842624,20.6152246 95.9062624,19.9352246 93.4884847,19.9352246 C90.4662624,19.9352246 87.5951513,21.0043357 85.5929291,23.1614469 C85.4924402,23.2706246 85.4074402,23.3900024 85.312618,23.502958 C84.9771513,23.0458469 84.6061736,22.618958 84.1830624,22.2411802 C82.3395069,20.5940691 79.9897291,19.9367357 77.7230624,19.9442913 L77.717018,19.9442913 C77.3747513,19.9444843 77.037018,20.0221135 76.697018,20.0576246 L76.697018,13.4842913 L66.9368533,13.4680091 Z M29.005305,0 L29.298,0.008 L29.5508575,0.0108763774 C45.7056444,0.317224972 58.7344319,13.3639132 58.9959914,29.5062964 L59,30.0014077 C59,46.3046686 45.9731173,59.5850938 29.7707027,59.9873741 L29.0532461,60 C27.3844167,60 25.8686763,59.3426993 24.7519877,58.2727906 C23.7694096,59.0846931 22.5039335,59.5717416 21.1286197,59.5717416 C18.760475,59.5717416 16.7179903,58.127682 15.8774281,56.066954 C15.1111378,56.6164574 14.1689478,56.9388105 13.1571699,56.9388105 C10.622224,56.9388105 8.52409606,54.9153307 8.52409606,52.3638389 C8.52409606,51.4157795 8.81377357,50.5406199 9.30790202,49.8150788 C8.99324646,49.4998496 8.71896916,49.1446719 8.49282584,48.7582219 C7.77473749,49.257001 6.90055492,49.5478018 5.96398274,49.5478018 C3.55364136,49.5478018 1.55652527,47.62174 1.55652527,45.1904195 C1.55652527,44.2023301 1.88637136,43.2976899 2.43975032,42.5718653 C0.980192844,41.6751392 0,40.0793916 0,38.2397003 C0,36.6447057 0.736783726,35.2330768 1.88448778,34.3002922 C0.736783726,33.3688575 0,31.9572286 0,30.3622341 C0,28.7677103 0.736348853,27.3564439 1.88347162,26.4236521 C0.736348853,25.490558 0,24.0792916 0,22.4847679 C0,20.6987068 0.923877108,19.1425739 2.31407259,18.2312635 C1.76089446,17.4989418 1.43144287,16.5880812 1.43144287,15.5939977 C1.43144287,13.1293655 3.45655961,11.1762993 5.90144154,11.1762993 C6.94790474,11.1762993 7.91746577,11.5341065 8.68424127,12.136686 C8.89793591,11.7936421 9.15225942,11.4776252 9.43960568,11.1944765 C8.76909204,10.3846067 8.36399711,9.34689534 8.36399711,8.20759169 C8.36399711,5.57082556 10.5338038,3.47821725 13.1571699,3.47821725 C14.1236287,3.47821725 15.0285298,3.76222939 15.78606,4.25283053 C16.6649296,2.18693491 18.7339886,0.745238411 21.1286197,0.745238411 C22.4126044,0.745238411 23.6029861,1.15973056 24.5666323,1.86290588 C25.6944809,0.712963103 27.2668663,0 29.005305,0 Z",id:"branco"})))),_g2||(_g2=external_react_["createElement"]("g",{strokeWidth:.999,className:"logo-typo"},external_react_["createElement"]("path",{d:"M135.80352,37.7391202 L135.658831,39.5864535 C135.09972,39.7821424 134.506609,39.881498 133.913498,39.8803742 C132.489276,39.8803742 131.559942,39.3401424 131.299276,37.7232535 C130.369942,39.0983646 128.481053,39.8803742 126.614831,39.8803742 C123.883498,39.8803742 121.665942,38.5921424 121.665942,35.9514757 C121.665942,33.7528091 123.585053,32.0225869 127.332609,31.3803646 L131.185942,30.7343646 L131.185942,29.9259202 C131.185942,27.991698 129.96572,26.6883646 127.785942,26.6883646 C125.866831,26.6883646 124.416164,27.6252535 123.630387,29.4763646 L121.915276,28.2334757 C122.670831,26.0763646 124.963942,24.659698 127.770831,24.659698 C131.083942,24.659698 133.513053,26.2425869 133.513053,29.6463646 L133.513053,36.8619202 C133.513053,37.5645869 133.802053,37.9159202 134.616164,37.9159202 C135.009053,37.9124371 135.398164,37.8592535 135.77972,37.7621646 L135.80352,37.7391202 Z M131.194631,34.6640091 L131.194631,32.642898 L127.941964,33.2586757 C125.380631,33.7271202 124.088631,34.5771202 124.088631,35.9560091 C124.088631,37.1875646 125.074631,37.8297869 126.733076,37.8297869 C129.056409,37.8297869 131.190853,36.5982313 131.190853,34.6677869 L131.194631,34.6640091 Z M102.559076,32.2613424 C102.559076,37.0213424 99.9184089,39.8924535 95.5324089,39.8924535 C91.1464089,39.8924535 88.5057422,37.0137869 88.5057422,32.2613424 C88.5057422,27.5013424 91.1501867,24.6302313 95.5324089,24.6302313 C99.9146311,24.6302313 102.559076,27.4975646 102.559076,32.2613424 Z M90.8101867,32.2613424 C90.8101867,35.7482313 92.5819644,37.8524535 95.5324089,37.8524535 C98.4677422,37.8524535 100.254631,35.7444535 100.254631,32.2613424 C100.254631,28.7744535 98.4866311,26.6702313 95.5324089,26.6702313 C92.58952,26.6702313 90.8101867,28.7782313 90.8101867,32.2613424 Z M85.5590756,30.2213424 L85.5590756,39.5902313 L83.2357422,39.5902313 L83.2357422,31.0146757 C83.2357422,27.7620091 81.6641867,26.6702313 79.6619644,26.6702313 C77.5426311,26.6702313 75.1664089,28.0491202 75.1664089,31.8080091 L75.1664089,39.5902313 L72.8430756,39.5902313 L72.8430756,18.2080091 L75.1664089,18.2080091 L75.1664089,27.1613424 C76.1826311,25.4046757 77.9279644,24.6717869 79.8886311,24.6717869 C82.9977422,24.6615869 85.5552978,26.4511202 85.5552978,30.2251202 L85.5590756,30.2213424 Z M119.559076,32.2613424 C119.559076,37.0213424 116.971298,39.8924535 112.947964,39.8924535 C110.768187,39.8924535 109.019076,38.8346757 108.150187,37.3122313 L108.150187,45.7744535 L105.826853,45.7744535 L105.826853,24.958898 L107.863076,24.958898 L108.007764,27.508898 C108.850209,25.8391202 110.682431,24.6642313 112.994431,24.6642313 C117.036653,24.6642313 119.605542,27.508898 119.605542,32.2953424 L119.559076,32.2613424 Z M117.235742,32.2613424 C117.235742,28.8613424 115.520631,26.7080091 112.664631,26.7080091 C109.903076,26.7080091 108.09352,28.7895646 108.09352,32.1102313 L108.09352,32.4608091 C108.09352,35.7739202 109.89552,37.8630313 112.664631,37.8630313 C115.513076,37.8528313 117.235742,35.6870313 117.235742,32.309698 L117.235742,32.2613424 Z M146.381298,24.9324535 L145.916631,27.2180091 C145.346187,26.9467646 144.719076,26.8175646 144.088187,26.8364535 C142.342853,26.8364535 140.234853,28.3891202 140.234853,31.6720091 L140.234853,39.5675646 L137.91152,39.5675646 L137.91152,24.9097869 L139.800409,24.9097869 L140.12152,27.3124535 C140.922409,25.5255646 142.505298,24.6151202 144.768187,24.6151202 C145.315964,24.5946446 145.863742,24.693698 146.366187,24.9090313 L146.381298,24.9324535 Z M161.114631,37.7391202 L160.969942,39.5864535 C160.410831,39.7821424 159.81772,39.881498 159.224609,39.8803742 C157.800387,39.8803742 156.871053,39.3401424 156.610387,37.7232535 C155.681053,39.0983646 153.792164,39.8803742 151.925942,39.8803742 C149.194609,39.8803742 146.977053,38.5921424 146.977053,35.9514757 C146.977053,33.7528091 148.896164,32.0225869 152.64372,31.3803646 L156.497053,30.7343646 L156.497053,29.9259202 C156.497053,27.991698 155.276831,26.6883646 153.097053,26.6883646 C151.177942,26.6883646 149.727276,27.6252535 148.941498,29.4763646 L147.226387,28.2334757 C147.981942,26.0763646 150.275053,24.659698 153.081942,24.659698 C156.395053,24.659698 158.824164,26.2425869 158.824164,29.6463646 L158.824164,36.8619202 C158.824164,37.5645869 159.113164,37.9159202 159.927276,37.9159202 C160.320164,37.9124371 160.709276,37.8592535 161.090831,37.7621646 L161.114631,37.7391202 Z M156.505742,34.6640091 L156.505742,32.642898 L153.253076,33.2586757 C150.69552,33.7271202 149.399742,34.5771202 149.399742,35.9560091 C149.399742,37.1875646 150.385742,37.8297869 152.040409,37.8297869 C154.363742,37.8297869 156.498187,36.5982313 156.498187,34.6677869 L156.505742,34.6640091 Z",id:"texto"}))),_g3||(_g3=external_react_["createElement"]("g",{strokeWidth:.999,className:"logo-symbol"},external_react_["createElement"]("path",{d:"M31.005305,4 C31.0740593,4 31.1423099,4.00215222 31.2099927,4.00639281 L31.0469703,4.00547658 C45.9398623,4.04711075 58,16.1176476 58,31.0014077 C58,45.6825629 46.2659643,57.6265635 31.6535598,57.988975 L31.0532461,58 C29.2780404,58 27.8389518,56.5640031 27.8389518,54.7926111 C27.8389518,53.0823016 29.1805041,51.6846553 30.8708483,51.5902996 L31.046,51.585 L31.0464347,50.1855503 L30.8429259,50.1918749 C29.0677202,50.1918749 27.6286316,48.755878 27.6286316,46.984486 C27.6286316,45.2130941 29.0677202,43.7770972 30.8429259,43.7770972 C30.9112815,43.7770972 30.9791388,43.7792263 31.0464347,43.7834218 L31.0464347,42.2312259 L30.8429259,42.2375505 C29.0677202,42.2375505 27.6286316,40.8015536 27.6286316,39.0301616 C27.6286316,37.2587697 29.0677202,35.8227727 30.8429259,35.8227727 C30.9112815,35.8227727 30.9791388,35.8249019 31.0464347,35.8290973 L31.0464347,34.2769015 C30.9791388,34.2810969 30.9112815,34.2832261 30.8429259,34.2832261 C29.0677202,34.2832261 27.6286316,32.8472292 27.6286316,31.0758372 C27.6286316,29.3044452 29.0677202,27.8684483 30.8429259,27.8684483 L31.0464347,27.8747729 L31.0464347,26.3225771 C30.9791388,26.3267725 30.9112815,26.3289017 30.8429259,26.3289017 C29.0677202,26.3289017 27.6286316,24.8929047 27.6286316,23.1215128 C27.6286316,21.3501208 29.0677202,19.9141239 30.8429259,19.9141239 C30.9112815,19.9141239 30.9791388,19.916253 31.0464347,19.9204485 L31.0464347,18.3682527 L30.8429259,18.3745772 C29.0677202,18.3745772 27.6286316,16.9385803 27.6286316,15.1671884 C27.6286316,13.3957964 29.0677202,11.9597995 30.8429259,11.9597995 C30.9112815,11.9597995 30.9791388,11.9619286 31.0464347,11.9661241 L31.046,10.419 L31.005305,10.4202528 C29.2898504,10.4202528 27.8879995,9.08044012 27.7933599,7.39228766 L27.7882673,7.21012641 C27.7882673,5.43722255 29.2285841,4 31.005305,4 Z M23.1286197,52.3692605 C24.5978953,52.3692605 25.7889785,53.5338756 25.7889785,54.9705011 C25.7889785,56.4071266 24.5978953,57.5717416 23.1286197,57.5717416 C21.659344,57.5717416 20.4682608,56.4071266 20.4682608,54.9705011 C20.4682608,53.5338756 21.659344,52.3692605 23.1286197,52.3692605 Z M15.1571699,51.7888674 C16.0590917,51.7888674 16.7902437,52.4940061 16.7902437,53.3638389 C16.7902437,54.2336717 16.0590917,54.9388105 15.1571699,54.9388105 C14.2552481,54.9388105 13.5240961,54.2336717 13.5240961,53.3638389 C13.5240961,52.4940061 14.2552481,51.7888674 15.1571699,51.7888674 Z M23.1286197,43.9532642 C24.7618089,43.9532642 26.0857704,45.2478047 26.0857704,46.8447013 C26.0857704,48.441598 24.7618089,49.7361385 23.1286197,49.7361385 C21.4954304,49.7361385 20.1714689,48.441598 20.1714689,46.8447013 C20.1714689,45.2478047 21.4954304,43.9532642 23.1286197,43.9532642 Z M15.1571699,44.8330372 C16.4698081,44.8330372 17.5339116,45.8582157 17.5339116,47.1228374 C17.5339116,48.3874591 16.4698081,49.4126375 15.1571699,49.4126375 C13.8445317,49.4126375 12.7804282,48.3874591 12.7804282,47.1228374 C12.7804282,45.8582157 13.8445317,44.8330372 15.1571699,44.8330372 Z M7.96398274,44.8330372 C8.74130003,44.8330372 9.3714402,45.440758 9.3714402,46.1904195 C9.3714402,46.940081 8.74130003,47.5478018 7.96398274,47.5478018 C7.18666544,47.5478018 6.55652527,46.940081 6.55652527,46.1904195 C6.55652527,45.440758 7.18666544,44.8330372 7.96398274,44.8330372 Z M15.1571699,36.7018864 C16.6483427,36.7018864 17.8571771,37.8665014 17.8571771,39.3031269 C17.8571771,40.7397524 16.6483427,41.9043675 15.1571699,41.9043675 C13.6659971,41.9043675 12.4571627,40.7397524 12.4571627,39.3031269 C12.4571627,37.8665014 13.6659971,36.7018864 15.1571699,36.7018864 Z M23.1286197,36.117661 C24.7618089,36.117661 26.0857704,37.4122015 26.0857704,39.0090982 C26.0857704,40.6059948 24.7618089,41.9005353 23.1286197,41.9005353 C21.4954304,41.9005353 20.1714689,40.6059948 20.1714689,39.0090982 C20.1714689,37.4122015 21.4954304,36.117661 23.1286197,36.117661 Z M7.1857201,37.1317447 C8.39285998,37.1317447 9.3714402,38.0755086 9.3714402,39.2397003 C9.3714402,40.4038919 8.39285998,41.3476558 7.1857201,41.3476558 C5.97858022,41.3476558 5,40.4038919 5,39.2397003 C5,38.0755086 5.97858022,37.1317447 7.1857201,37.1317447 Z M15.1571699,28.8821759 C16.6483427,28.8821759 17.8571771,30.046791 17.8571771,31.4834165 C17.8571771,32.920042 16.6483427,34.084657 15.1571699,34.084657 C13.6659971,34.084657 12.4571627,32.920042 12.4571627,31.4834165 C12.4571627,30.046791 13.6659971,28.8821759 15.1571699,28.8821759 Z M23.1286197,28.2820579 C24.7618089,28.2820579 26.0857704,29.5765984 26.0857704,31.173495 C26.0857704,32.7703916 24.7618089,34.0649322 23.1286197,34.0649322 C21.4954304,34.0649322 20.1714689,32.7703916 20.1714689,31.173495 C20.1714689,29.5765984 21.4954304,28.2820579 23.1286197,28.2820579 Z M7.1857201,29.2542785 C8.39285998,29.2542785 9.3714402,30.1980424 9.3714402,31.3622341 C9.3714402,32.5264257 8.39285998,33.4701896 7.1857201,33.4701896 C5.97858022,33.4701896 5,32.5264257 5,31.3622341 C5,30.1980424 5.97858022,29.2542785 7.1857201,29.2542785 Z M15.1571699,21.0624655 C16.6483427,21.0624655 17.8571771,22.2270805 17.8571771,23.663706 C17.8571771,25.1003315 16.6483427,26.2649466 15.1571699,26.2649466 C13.6659971,26.2649466 12.4571627,25.1003315 12.4571627,23.663706 C12.4571627,22.2270805 13.6659971,21.0624655 15.1571699,21.0624655 Z M23.1286197,20.4464547 C24.7618089,20.4464547 26.0857704,21.7409952 26.0857704,23.3378919 C26.0857704,24.9347885 24.7618089,26.229329 23.1286197,26.229329 C21.4954304,26.229329 20.1714689,24.9347885 20.1714689,23.3378919 C20.1714689,21.7409952 21.4954304,20.4464547 23.1286197,20.4464547 Z M7.1857201,21.3768123 C8.39285998,21.3768123 9.3714402,22.3205762 9.3714402,23.4847679 C9.3714402,24.6489596 8.39285998,25.5927234 7.1857201,25.5927234 C5.97858022,25.5927234 5,24.6489596 5,23.4847679 C5,22.3205762 5.97858022,21.3768123 7.1857201,21.3768123 Z M23.1286197,12.6108516 C24.7618089,12.6108516 26.0857704,13.9053921 26.0857704,15.5022887 C26.0857704,17.0991853 24.7618089,18.3937258 23.1286197,18.3937258 C21.4954304,18.3937258 20.1714689,17.0991853 20.1714689,15.5022887 C20.1714689,13.9053921 21.4954304,12.6108516 23.1286197,12.6108516 Z M15.1571699,13.6762951 C16.3998139,13.6762951 17.4071759,14.6468077 17.4071759,15.8439956 C17.4071759,17.0411835 16.3998139,18.0116961 15.1571699,18.0116961 C13.9145259,18.0116961 12.9071639,17.0411835 12.9071639,15.8439956 C12.9071639,14.6468077 13.9145259,13.6762951 15.1571699,13.6762951 Z M7.90144154,15.1762993 C8.71329938,15.1762993 9.3714402,15.8110245 9.3714402,16.5939977 C9.3714402,17.3769709 8.71329938,18.0116961 7.90144154,18.0116961 C7.08958369,18.0116961 6.43144287,17.3769709 6.43144287,16.5939977 C6.43144287,15.8110245 7.08958369,15.1762993 7.90144154,15.1762993 Z M15.1571699,7.47821725 C16.1475119,7.47821725 16.9503427,8.25248456 16.9503427,9.20759169 C16.9503427,10.1626988 16.1475119,10.9369661 15.1571699,10.9369661 C14.1668279,10.9369661 13.3639971,10.1626988 13.3639971,9.20759169 C13.3639971,8.25248456 14.1668279,7.47821725 15.1571699,7.47821725 Z M23.1286197,4.74523841 C24.6723059,4.74523841 25.9237108,5.96883472 25.9237108,7.47821725 C25.9237108,8.98759979 24.6723059,10.2111961 23.1286197,10.2111961 C21.5849335,10.2111961 20.3335285,8.98759979 20.3335285,7.47821725 C20.3335285,5.96883472 21.5849335,4.74523841 23.1286197,4.74523841 Z",id:"simbolo"}))))}const ForwardRef=external_react_["forwardRef"](SvgLogoMediumOutline);var logo_medium_outline=__webpack_require__.p+"static/media/logo-medium-outline.96d20e5a.svg";const AttributionFooterView=Object(src_theme["a"])("div",{name:"AttributionFooterView"})({bottom:0,boxSizing:"border-box",display:"flex",height:39,justifyContent:"space-between",left:0,padding:"5px 10px 10px",pointerEvents:"none",position:"absolute",right:0});const AttributionFooterLogo=Object(src_theme["a"])(ForwardRef,{name:"AttributionFooterLogo"})((_ref=>{let{theme}=_ref;return{fill:theme.palette.mode==="dark"?"#ccc":"#777",maxWidth:77,maxHeight:28,":nth-of-type(1n) .logo-stroke":{opacity:theme.palette.mode==="dark"?"inherit":.8,fill:theme.palette.mode==="dark"?"#777":"#fff"}}}));const AttributionFooterLinks=Object(src_theme["a"])("div",{name:"AttributionFooterLinks"})((_ref2=>{let{theme}=_ref2;return{alignItems:"center",display:"flex",fontSize:12,pointerEvents:"auto",textShadow:theme.palette.mode==="dark"?"0 0 3px #444, 0 0 3px #444, 0 0 3px #444, 0 0 3px #444":"0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff",color:theme.palette.mode==="dark"?"#ccc":"inherit"}}));const AttributionFooterLink=Object(src_theme["a"])("a",{name:"AttributionFooterLink"})((_ref3=>{let{theme}=_ref3;return{textDecoration:"none",color:theme.palette.mode==="dark"?"#ccc":"#666"}}));class AttributionFooter_AttributionFooter extends external_react_["PureComponent"]{render(){return Object(jsx_runtime_["jsxs"])(AttributionFooterView,{children:[Object(jsx_runtime_["jsx"])("a",{href:"https://hopara.io",target:"_blank",rel:"noreferrer",children:Object(jsx_runtime_["jsx"])(AttributionFooterLogo,{})}),this.props.showMapTilerAttribution&&Object(jsx_runtime_["jsxs"])(AttributionFooterLinks,{children:["© ",Object(jsx_runtime_["jsx"])(AttributionFooterLink,{href:"https://www.maptiler.com/copyright",target:"_blank",rel:"noreferrer",children:"MapTiler"})," © ",Object(jsx_runtime_["jsx"])(AttributionFooterLink,{href:"http://www.openstreetmap.org/copyright",target:"_blank",rel:"noreferrer",children:"OpenStreetMap contributors"})]})]})}}const WebGLWarningPanel=()=>{const webgl=Object(Store["d"])((store=>store.webgl));if(webgl.status!=="disabled"&&webgl.status!=="unsupported"){return Object(jsx_runtime_["jsx"])(jsx_runtime_["Fragment"],{})}return Object(jsx_runtime_["jsx"])("div",{style:{display:"flex",width:"100%",height:"100%"},children:Object(jsx_runtime_["jsx"])("div",{style:{margin:"auto"},children:webgl.message})})};const MAIN_VIEW_ELM_ID="_hopara_main_view_";const ViewDiv=Object(src_theme["a"])("div",{name:"View"})((_ref=>{let{theme,_editing,_dirty,_withSidebar}=_ref;const styles=[Object(react_["css"])({bottom:0,left:0,overflow:"hidden",padding:0,position:"absolute",right:0,top:0,transformStyle:"preserve-3d",backgroundColor:theme.palette.mode==="dark"?"#000":"#fff"})];if(_editing){styles.push(Object(react_["css"])({":after":{content:'""',border:`5px solid ${theme.palette.primary.main}`,display:"block",left:0,right:0,pointerEvents:"none",position:"absolute",top:0,bottom:0,zIndex:2}}))}if(_dirty){styles.push(Object(react_["css"])({":after":{content:'""',border:"3px solid #622FB4",display:"block",left:0,right:0,pointerEvents:"none",position:"absolute",top:0,bottom:0,zIndex:2}}))}if(_withSidebar){styles.push(Object(react_["css"])({transition:"left 0.1s linear 0.5s","@media (min-width: 768px)":{left:theme.components.HoparaSidebar.width}}))}return styles}));const ViewInner=Object(src_theme["a"])("div",{name:"ViewContainer"})((props=>{const styles=[Object(react_["css"])({bottom:0,left:0,overflow:"hidden",padding:0,position:"absolute",right:0,top:0})];if(props._isLoading){styles.push(Object(react_["css"])({filter:"blur(4px)"}))}if(props._hasAxes){styles.push(Object(react_["css"])({padding:10}))}if(props._withSolidBar){styles.push(Object(react_["css"])({bottom:40}))}return styles}));const ViewLoadingSpinner=Object(src_theme["a"])("div",{name:"View_loadingSpinner"})({alignItems:"center",bottom:0,display:"flex",justifyContent:"center",left:0,position:"absolute",right:0,top:0,zIndex:10});class View_View extends external_react_["PureComponent"]{containerId(){return MAIN_VIEW_ELM_ID}render(){return Object(jsx_runtime_["jsxs"])(ViewDiv,{id:this.containerId(),_editing:this.props.isEditing,_dirty:this.props.isDirty,_withSidebar:!!this.props.withSidebar&&!this.props.blockingError,children:[this.props.isLoading&&!this.props.blockingError&&Object(jsx_runtime_["jsx"])(ViewLoadingSpinner,{children:Object(jsx_runtime_["jsx"])(Spinner_LoadingSpinner,{})}),!!this.props.blockingError&&Object(jsx_runtime_["jsx"])(Error_Error,{message:this.props.blockingError}),this.props.appId&&this.props.visualizationId&&!this.props.blockingError&&Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:[Object(jsx_runtime_["jsx"])(ViewInner,{_isLoading:!!this.props.isLoading,_hasAxes:this.props.hasAxes,_withSolidBar:this.props.withSolidBar,children:Object(jsx_runtime_["jsx"])(external_react_transition_group_["SwitchTransition"],{children:Object(jsx_runtime_["jsx"])(external_react_transition_group_["CSSTransition"],{addEndListener:(node,done)=>node.addEventListener("transitionend",done,false),classNames:{appear:ViewTransition_module_default.a.appear,appearActive:ViewTransition_module_default.a.appearActive,appearDone:ViewTransition_module_default.a.appearDone,enter:ViewTransition_module_default.a.enter,enterActive:ViewTransition_module_default.a.enterActive,enterDone:ViewTransition_module_default.a.enterDone,exit:ViewTransition_module_default.a.exit,exitActive:ViewTransition_module_default.a.exitActive,exitDone:ViewTransition_module_default.a.exitDone},children:Object(jsx_runtime_["jsxs"])("div",{className:ViewTransition_module_default.a.transitionBlock,children:[Object(jsx_runtime_["jsx"])(WebGLWarningPanel,{}),this.props.view,this.props.tooltip]})},`${this.props.appId}-${this.props.visualizationId}`)})}),Object(jsx_runtime_["jsx"])(AttributionFooter_AttributionFooter,{showMapTilerAttribution:this.props.showMapTilerAttribution}),this.props.legend,this.props.navigationList]}),!!this.props.toast&&this.props.toast]})}}class OrbitViewComponent_OrbitViewComponent extends view_DeckView{getViews(){return[new core_["OrbitView"]({id:"main-view",orbitAxis:"Y",controller:true})]}}const OrbitViewContainer_currentVisualizationSelector=Object(external_reselect_["createSelector"])([_ref=>{let{visualizations}=_ref;return visualizations}],(visualizations=>visualizations.getCurrent()));const OrbitViewContainer_viewStateSelector=Object(external_reselect_["createSelector"])([_ref2=>{let{viewStates}=_ref2;return viewStates},OrbitViewContainer_currentVisualizationSelector],((viewStates,currentVisualization)=>viewStates.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const OrbitViewContainer_viewControllerSelector=Object(external_reselect_["createSelector"])([_ref3=>{let{viewControllers}=_ref3;return viewControllers},OrbitViewContainer_currentVisualizationSelector],((viewControllers,currentVisualization)=>viewControllers.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const OrbitViewContainer_axesListSelector=Object(external_reselect_["createSelector"])([_ref4=>{let{axesList}=_ref4;return axesList},OrbitViewContainer_currentVisualizationSelector],((axesList,currentVisualization)=>axesList.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const OrbitViewContainer_projectorSelector=Object(external_reselect_["createSelector"])([_ref5=>{let{projectorStore}=_ref5;return projectorStore},OrbitViewContainer_currentVisualizationSelector],((projectorStore,currentVisualization)=>projectorStore.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const OrbitViewContainer_layersSelector=Object(external_reselect_["createSelector"])([_ref6=>{let{layers}=_ref6;return layers},OrbitViewContainer_currentVisualizationSelector],((layers,currentVisualization)=>layers.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const OrbitViewContainer_worldSelector=Object(external_reselect_["createSelector"])([_ref7=>{let{worlds}=_ref7;return worlds},OrbitViewContainer_currentVisualizationSelector],((worlds,currentVisualization)=>worlds.getFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const OrbitViewContainer_mapStateToProps=state=>({isEditing:state.appStore.isEditing,jumpState:state.jump,layers:OrbitViewContainer_layersSelector(state),queries:state.queryStore.queries,rowsetStore:state.rowsetStore,encodingScope:state.encodingScope,selectedRow:state.viewLayers.selectedRow,tooltipEnabled:!!state.tooltip,tenant:state.authorization.tenant,viewStates:state.viewStates,viewState:OrbitViewContainer_viewStateSelector(state),visualization:OrbitViewContainer_currentVisualizationSelector(state),visualizations:state.visualizations,viewController:OrbitViewContainer_viewControllerSelector(state),axesList:OrbitViewContainer_axesListSelector(state),projector:OrbitViewContainer_projectorSelector(state),worlds:state.worlds,world:OrbitViewContainer_worldSelector(state)});const OrbitViewContainer_mapDispatchToProps=dispatch=>({layerActions:ViewLayerActions(dispatch),viewActions:Object(ViewActions["b"])(dispatch)});const OrbitViewContainer_mergeProps=(stateProps,dispatchProps)=>({...stateProps,...dispatchProps.layerActions(stateProps.visualizations,stateProps.isEditing,!!stateProps.selectedRow,stateProps.tooltipEnabled),...dispatchProps.viewActions(stateProps.viewStates,stateProps.worlds,stateProps.visualizations,!!stateProps.selectedRow,stateProps.tooltipEnabled),visualizations:null,viewStates:null});var OrbitViewContainer=Object(external_react_redux_["connect"])(OrbitViewContainer_mapStateToProps,OrbitViewContainer_mapDispatchToProps,OrbitViewContainer_mergeProps,{context:Store["a"]})(OrbitViewComponent_OrbitViewComponent);class ViewComponent_ViewComponent extends PureComponent["a"]{isGeoView(){var _this$props$visualiza;return!!((_this$props$visualiza=this.props.visualization)!==null&&_this$props$visualiza!==void 0&&_this$props$visualiza.isGeo())}isCartesianView(){var _this$props$visualiza2;return!!((_this$props$visualiza2=this.props.visualization)!==null&&_this$props$visualiza2!==void 0&&_this$props$visualiza2.isCartesian())}isCustomView(){var _this$props$visualiza3;return!!((_this$props$visualiza3=this.props.visualization)!==null&&_this$props$visualiza3!==void 0&&_this$props$visualiza3.isCustom())}isOrbit(){var _this$props$visualiza4;return!!((_this$props$visualiza4=this.props.visualization)!==null&&_this$props$visualiza4!==void 0&&_this$props$visualiza4.isOrbit())}render(){var _this$props$visualiza5,_this$props$visualiza6,_this$props$visualiza7;return Object(jsx_runtime_["jsx"])(View_View,{isLoading:this.props.isLoading,appId:this.props.appId,withSidebar:this.props.withSidebar,isDirty:this.props.isDirty,blockingError:this.props.blockingError,isEditing:this.props.isEditing,hasAxes:this.props.hasAxes,visualizationId:(_this$props$visualiza5=this.props.visualization)===null||_this$props$visualiza5===void 0?void 0:_this$props$visualiza5.id,withSolidBar:this.props.hasAxes||this.isCustomView(),showMapTilerAttribution:this.isGeoView(),darkMode:(_this$props$visualiza6=this.props.visualization)!==null&&_this$props$visualiza6!==void 0&&_this$props$visualiza6.getMapStyle()?isDarkStyle((_this$props$visualiza7=this.props.visualization)===null||_this$props$visualiza7===void 0?void 0:_this$props$visualiza7.getMapStyle()):undefined,view:this.isGeoView()&&Object(jsx_runtime_["jsx"])(GeoViewContainer,{})||this.isCartesianView()&&Object(jsx_runtime_["jsx"])(CartesianViewContainer,{})||this.isCustomView()&&Object(jsx_runtime_["jsx"])(CustomViewContainer,{})||this.isOrbit()&&Object(jsx_runtime_["jsx"])(OrbitViewContainer,{}),tooltip:Object(jsx_runtime_["jsx"])(TooltipContainer,{}),legend:Object(jsx_runtime_["jsx"])(LegendContainer,{}),navigationList:Object(jsx_runtime_["jsx"])(NavigationContainer,{})})}}const getBlockingError=state=>{if(state.appStore.status===AppStore["a"].fetchingError){return"error fetching app"}else if(state.queryStore.status===QueryStore["a"].tableNotFound){return"query not found"}else if(state.queryStore.status===QueryStore["a"].tableFetchingError){return"error fetching query"}else if(state.rowsetStore.everyWithError()){return"error fetching rows"}};const ViewContainer=props=>{const currentVisualization=Object(Store["d"])((store=>store.visualizations.getCurrent()));const isEditing=Object(Store["d"])((store=>store.appStore.isEditing));const hasAxes=Object(Store["d"])((store=>store.axesList.someFromVisualization(currentVisualization===null||currentVisualization===void 0?void 0:currentVisualization.id)));const appStatus=Object(Store["d"])((store=>store.appStore.status));const appId=Object(Store["d"])((store=>{var _store$appStore$app;return(_store$appStore$app=store.appStore.app)===null||_store$appStore$app===void 0?void 0:_store$appStore$app.id}));const isLoading=Object(Store["d"])((store=>store.rowsetStore.someLoading()&&store.rowsetStore.noneFilled()||!store.appStore.isAppReady()));return Object(jsx_runtime_["jsx"])(ViewComponent_ViewComponent,{visualization:currentVisualization,isEditing,hasAxes,appStatus,blockingError:getBlockingError(Object(Store["d"])((store=>store))),withSidebar:props.withSidebar,isDirty:Object(Store["d"])((store=>store.appStore.status===AppStore["a"].dirty)),isLoading,appId})}}]);
|
|
42
|
+
`;const LoadingSpinnerView=Object(src_theme["a"])("div",{name:"LoadingSpinnerView"})((_ref=>{let{_fullscreen}=_ref;const style=Object(react_["css"])(`\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9000;\n `);if(_fullscreen){return[style,Object(react_["css"])(`\n width: 100vw;\n height: 100vh;\n height: 100dvh;\n `)]}return style}));const LoadingSpinnerLoader=Object(src_theme["a"])("div",{name:"LoadingSpinnerLoader"})({position:"relative",width:"10px",height:"10px"});const LoadingSpinnerSpinner=Object(src_theme["a"])("div",{name:"LoadingSpinnerSpinner"})((_ref2=>{let{theme}=_ref2;return{position:"relative",top:"8px",left:"-9999px",width:"10px",height:"10px",borderRadius:"5px",backgroundColor:theme.palette.primary.main,color:theme.palette.primary.main,boxShadow:`9991px -16px 0 0, 9991px 0 0 0, 10007px 0 0 0`,animationName:dotBricksKeyframes,animationDuration:"2s",animationIterationCount:"infinite",animationTimingFunction:"ease"}}));class Spinner_LoadingSpinner extends external_react_default.a.PureComponent{render(){var _this$props$testId;return Object(jsx_runtime_["jsx"])(LoadingSpinnerView,{_fullscreen:!!this.props.fullscreen,"data-testid":(_this$props$testId=this.props.testId)!==null&&_this$props$testId!==void 0?_this$props$testId:"loading",children:Object(jsx_runtime_["jsx"])(LoadingSpinnerLoader,{children:Object(jsx_runtime_["jsx"])(LoadingSpinnerSpinner,{})})})}}var _500="data:image/gif;base64,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";var _404=__webpack_require__.p+"static/media/404.14fd65ba.gif";var config_src=__webpack_require__(15);const CrashError=Object(src_theme["a"])("div",{name:"CrashError"})({alignItems:"center",display:"flex",flexDirection:"column",justifyContent:"center",height:"100%",width:"100%"});const CrashErrorIcon=Object(src_theme["a"])("img",{name:"CrashErrorIcon"})({width:"100%",maxWidth:300,marginBottom:"0.5em",":nth-of-type(1n) .drone":{fill:"#333"},":nth-of-type(1n) .propeller":{fill:"#222"},":nth-of-type(1n) .explosion-1":{fill:"#aaa"},":nth-of-type(1n) .explosion-2":{fill:"#888"},":nth-of-type(1n) .explosion-3":{fill:"#bbb"}});const CrashErrorTitle=Object(src_theme["a"])("h3",{name:"CrashErrorTitle"})({margin:"0 0 0.5em"});const CrashErrorMessage=Object(src_theme["a"])("p",{name:"CrashErrorMessage"})({margin:"0 0 0.5em"});const funnyErrors=config_src["a"].getValueAsBoolean("FUNNY_ERRORS");class ErrorBanner_ErrorBanner extends external_react_default.a.PureComponent{render(){var _this$props$title;return Object(jsx_runtime_["jsxs"])(CrashError,{children:[funnyErrors&&Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:[Object(jsx_runtime_["jsx"])(CrashErrorIcon,{alt:Object(i18n_src["a"])("ERROR"),src:this.props.type==="404"?_404:_500}),Object(jsx_runtime_["jsx"])(CrashErrorTitle,{children:(_this$props$title=this.props.title)!==null&&_this$props$title!==void 0?_this$props$title:Object(i18n_src["a"])("NO_FLIGHT_FOR_YOU")})]}),!funnyErrors&&Object(jsx_runtime_["jsx"])(CrashErrorTitle,{children:Object(i18n_src["a"])("OOPS_SOMETHING_WENT_WRONG")}),this.props.message&&Object(jsx_runtime_["jsxs"])(CrashErrorMessage,{children:["cause: ",this.props.message]}),this.props.children]})}}const WebGLWarningPanel=()=>{const webgl=Object(Store["d"])((store=>store.webgl));if(webgl.status!=="disabled"&&webgl.status!=="unsupported"){return Object(jsx_runtime_["jsx"])(jsx_runtime_["Fragment"],{})}return Object(jsx_runtime_["jsx"])("div",{style:{display:"flex",width:"100%",height:"100%"},children:Object(jsx_runtime_["jsx"])("div",{style:{margin:"auto"},children:webgl.message})})};var LinearProgress_=__webpack_require__(140);var LinearProgress_default=__webpack_require__.n(LinearProgress_);const MAIN_VIEW_ELM_ID="_hopara_main_view_";const ViewStyle=Object(src_theme["a"])(material_["Box"],{name:"ViewStyle"})((_ref=>{let{theme,_editing,_dirty}=_ref;const styles=[Object(react_["css"])({transformStyle:"preserve-3d",backgroundColor:theme.palette.background.default,gridArea:"canvas"})];if(_editing){styles.push(Object(react_["css"])({":after":{content:'""',border:`5px solid ${theme.palette.primary.main}`,display:"block",left:0,right:0,pointerEvents:"none",position:"absolute",top:0,bottom:0,zIndex:2}}))}if(_dirty){styles.push(Object(react_["css"])({":after":{content:'""',border:"3px solid #622FB4",display:"block",left:0,right:0,pointerEvents:"none",position:"absolute",top:0,bottom:0,zIndex:2}}))}return styles}));const ViewInner=Object(src_theme["a"])("div",{name:"ViewContainer"})((props=>{const styles=[Object(react_["css"])({bottom:0,left:0,overflow:"hidden",padding:0,position:"absolute",right:0,top:0})];if(props._isLoading){styles.push(Object(react_["css"])({filter:"blur(4px)"}))}if(props._hasAxes){styles.push(Object(react_["css"])({padding:10}))}if(props._withSolidBar){styles.push(Object(react_["css"])({bottom:40}))}return styles}));const ViewLoadingSpinner=Object(src_theme["a"])("div",{name:"View_loadingSpinner"})({alignItems:"center",bottom:0,display:"flex",justifyContent:"center",left:0,position:"absolute",right:0,top:0,zIndex:10});const ViewLoadingProgressBar=Object(src_theme["a"])("div",{name:"View_loadingProgressBar"})({left:0,position:"absolute",top:0,width:"100%",zIndex:10});class View_View extends external_react_["PureComponent"]{containerId(){return MAIN_VIEW_ELM_ID}render(){return Object(jsx_runtime_["jsxs"])(ViewStyle,{id:this.containerId(),_editing:this.props.isEditing,_dirty:this.props.isDirty,children:[!!this.props.fetchProgress&&Object(jsx_runtime_["jsx"])(ViewLoadingProgressBar,{children:Object(jsx_runtime_["jsx"])(LinearProgress_default.a,{variant:"determinate",color:"primary",value:this.props.fetchProgress,sx:{height:3}})}),this.props.isLoading&&!this.props.blockingError&&Object(jsx_runtime_["jsx"])(ViewLoadingSpinner,{children:Object(jsx_runtime_["jsx"])(Spinner_LoadingSpinner,{})}),!!this.props.blockingError&&Object(jsx_runtime_["jsx"])(ErrorBanner_ErrorBanner,{message:this.props.blockingError}),this.props.appId&&this.props.visualizationId&&!this.props.blockingError&&Object(jsx_runtime_["jsxs"])(jsx_runtime_["Fragment"],{children:[Object(jsx_runtime_["jsx"])(ViewInner,{_isLoading:!!this.props.isLoading,_hasAxes:this.props.hasAxes,_withSolidBar:this.props.withSolidBar,children:Object(jsx_runtime_["jsx"])(external_react_transition_group_["SwitchTransition"],{children:Object(jsx_runtime_["jsx"])(external_react_transition_group_["CSSTransition"],{addEndListener:(node,done)=>node.addEventListener("transitionend",done,false),classNames:{appear:ViewTransition_module_default.a.appear,appearActive:ViewTransition_module_default.a.appearActive,appearDone:ViewTransition_module_default.a.appearDone,enter:ViewTransition_module_default.a.enter,enterActive:ViewTransition_module_default.a.enterActive,enterDone:ViewTransition_module_default.a.enterDone,exit:ViewTransition_module_default.a.exit,exitActive:ViewTransition_module_default.a.exitActive,exitDone:ViewTransition_module_default.a.exitDone},children:Object(jsx_runtime_["jsxs"])("div",{className:ViewTransition_module_default.a.transitionBlock,children:[Object(jsx_runtime_["jsx"])(WebGLWarningPanel,{}),this.props.view,this.props.tooltip]})},`${this.props.appId}-${this.props.visualizationId}`)})}),this.props.legend,this.props.navigationList]}),!!this.props.toast&&this.props.toast]})}}var MapStyle=__webpack_require__(58);const GeoViewContainer=Object(external_react_["lazy"])((()=>Promise.resolve().then(__webpack_require__.bind(null,152))));const CartesianViewContainer=Object(external_react_["lazy"])((()=>Promise.resolve().then(__webpack_require__.bind(null,153))));const CustomViewContainer=Object(external_react_["lazy"])((()=>Promise.resolve().then(__webpack_require__.bind(null,151))));const OrbitViewContainer=Object(external_react_["lazy"])((()=>Promise.resolve().then(__webpack_require__.bind(null,149))));const LegendContainer=Object(external_react_["lazy"])((()=>Promise.resolve().then(__webpack_require__.bind(null,150))));class ViewComponent_ViewComponent extends PureComponent["a"]{isGeoView(){var _this$props$visualiza;return!!((_this$props$visualiza=this.props.visualization)!==null&&_this$props$visualiza!==void 0&&_this$props$visualiza.isGeo())}isCartesianView(){var _this$props$visualiza2;return!!((_this$props$visualiza2=this.props.visualization)!==null&&_this$props$visualiza2!==void 0&&_this$props$visualiza2.isCartesian())}isCustomView(){var _this$props$visualiza3;return!!((_this$props$visualiza3=this.props.visualization)!==null&&_this$props$visualiza3!==void 0&&_this$props$visualiza3.isCustom())}isOrbit(){var _this$props$visualiza4;return!!((_this$props$visualiza4=this.props.visualization)!==null&&_this$props$visualiza4!==void 0&&_this$props$visualiza4.isOrbit())}render(){var _this$props$visualiza5,_this$props$visualiza6,_this$props$visualiza7;return Object(jsx_runtime_["jsx"])(View_View,{isLoading:this.props.isLoading,fetchProgress:this.props.fetchProgress,appId:this.props.appId,isDirty:this.props.isDirty,blockingError:this.props.blockingError,isEditing:this.props.isEditing,hasAxes:this.props.hasAxes,visualizationId:(_this$props$visualiza5=this.props.visualization)===null||_this$props$visualiza5===void 0?void 0:_this$props$visualiza5.id,withSolidBar:this.props.hasAxes||this.isCustomView(),darkMode:(_this$props$visualiza6=this.props.visualization)!==null&&_this$props$visualiza6!==void 0&&_this$props$visualiza6.getMapStyle()?Object(MapStyle["d"])((_this$props$visualiza7=this.props.visualization)===null||_this$props$visualiza7===void 0?void 0:_this$props$visualiza7.getMapStyle()):undefined,view:Object(jsx_runtime_["jsxs"])(external_react_["Suspense"],{fallback:null,children:[this.isGeoView()&&Object(jsx_runtime_["jsx"])(GeoViewContainer,{}),this.isCartesianView()&&Object(jsx_runtime_["jsx"])(CartesianViewContainer,{}),this.isCustomView()&&Object(jsx_runtime_["jsx"])(CustomViewContainer,{}),this.isOrbit()&&Object(jsx_runtime_["jsx"])(OrbitViewContainer,{})]}),tooltip:Object(jsx_runtime_["jsx"])(TooltipContainer,{}),legend:Object(jsx_runtime_["jsx"])(external_react_["Suspense"],{fallback:null,children:Object(jsx_runtime_["jsx"])(LegendContainer,{})}),navigationList:Object(jsx_runtime_["jsx"])(NavigationContainer,{})})}}var Visualization=__webpack_require__(30);const getBlockingError=state=>{if(state.appStore.status===AppStore["a"].fetchingError){return"error fetching app"}else if(state.queryStore.status===QueryStore["a"].tableNotFound){return"query not found"}else if(state.queryStore.status===QueryStore["a"].tableFetchingError){return"error fetching query"}else if(state.rowsetStore.everyWithError()){return"error fetching rows"}};const blockingErrorSelector=Object(external_reselect_["createSelector"])([store=>store],getBlockingError);const ViewContainer=()=>{const visualization=Object(Store["d"])((store=>store.visualizationStore.visualization));const isEditing=Object(Store["d"])((store=>store.appStore.isEditing));const hasAxes=Object(Store["d"])((store=>!!store.axes.length));const appStatus=Object(Store["d"])((store=>store.appStore.status));const appId=Object(Store["d"])((store=>{var _store$appStore$app;return(_store$appStore$app=store.appStore.app)===null||_store$appStore$app===void 0?void 0:_store$appStore$app.id}));const isLoading=Object(Store["d"])((store=>store.rowsetStore.someLoading()&&store.rowsetStore.noneFilled()||!store.appStore.isAppReady()));const blockingError=Object(Store["d"])(blockingErrorSelector);const fetchProgress=Object(Store["d"])((store=>store.fetch.getProgressMean()));return Object(jsx_runtime_["jsx"])(ViewComponent_ViewComponent,{fetchProgress,visualization,isEditing,hasAxes,appStatus,blockingError,isDirty:Object(Store["d"])((store=>store.visualizationStore.status===Visualization["a"].dirty)),isLoading,appId})}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(5);var react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);var _DeckViewContainer__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(62);var _OrbitViewComponent__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(90);var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(4);var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__);const OrbitViewContainer=()=>Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__["jsx"])(_DeckViewContainer__WEBPACK_IMPORTED_MODULE_1__["a"],{component:props=>Object(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__["jsx"])(_OrbitViewComponent__WEBPACK_IMPORTED_MODULE_2__["b"],{...props})});__webpack_exports__["default"]=OrbitViewContainer},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var external_react_=__webpack_require__(5);var external_react_default=__webpack_require__.n(external_react_);var Store=__webpack_require__(9);var external_vega_=__webpack_require__(24);var external_vega_lite_=__webpack_require__(92);var external_d3_=__webpack_require__(23);var react_=__webpack_require__(20);var src_theme=__webpack_require__(10);var material_=__webpack_require__(21);const LegendView=Object(src_theme["a"])("div",{name:"LegendView"})((_ref=>{let{theme,_isCartesian,_visible}=_ref;const style=Object(react_["css"])({borderRadius:theme.shape.borderRadius,fontSize:theme.typography.fontSize,position:"absolute",right:theme.shape.paddingInner,bottom:theme.shape.paddingInner+30,padding:theme.shape.paddingInner,backgroundColor:"rgba(255,255,255,0.66)",backdropFilter:"blur(10px)",transition:"all 200ms ease-out",overflow:"hidden",zIndex:99,opacity:`${_visible?"1":"0"}`,transform:`scale(${_visible?"1":"0.8"})`,pointerEvents:_visible?"auto":"none","& svg":{transition:"all 0.2s ease"},"& .LegendViewBox":{transform:"translate(0, 0)"},"& text":{fontSize:theme.typography.body2.fontSize,fontFamily:theme.typography.body2.fontFamily,fill:theme.palette.text.primary},"& .legendTitle":{display:"none"},"& .role-legend-title":{display:"none"},"& .role-legend-entry > g":{},"& .role-mark":{display:"none"},"& .role-legend > g":{},"& .legendCells":{opacity:0},"& .LegendExpanded .legendCells":{opacity:1},"& .LegendExpanded .role-legend-entry":{opacity:1}});if(_isCartesian){return Object(react_["css"])([style,Object(react_["css"])({"@media (min-width: 768px)":{transform:`translateX(${_visible?"0":"-250%"})`,bottom:"auto",right:"auto",left:55,top:30}})])}return style}));const LegendViewContent=Object(src_theme["a"])("div",{name:"LegendViewContent"})({transition:"height 0.2s ease",overflow:"hidden"});const LegendTitleBox=Object(src_theme["a"])(material_["Box"],{name:"LegendTitleBox"})({display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"});const LegendTitleTypography=Object(src_theme["a"])(material_["Typography"],{name:"LegendTitleTypography"})({cursor:"pointer"});const LegendTitleIconButton=Object(src_theme["a"])(material_["IconButton"],{name:"LegendTitleIconButton"})({marginLeft:5});var PureComponent=__webpack_require__(32);var icons_material_=__webpack_require__(27);var jsx_runtime_=__webpack_require__(4);const LegendTitle=_ref=>{let{title,onClick,expanded}=_ref;return Object(jsx_runtime_["jsxs"])(LegendTitleBox,{children:[Object(jsx_runtime_["jsx"])(LegendTitleTypography,{variant:"body1",onClick:()=>onClick(),children:title}),Object(jsx_runtime_["jsxs"])(LegendTitleIconButton,{onClick:()=>onClick(),children:[!expanded&&Object(jsx_runtime_["jsx"])(icons_material_["ExpandMore"],{}),expanded&&Object(jsx_runtime_["jsx"])(icons_material_["ExpandLess"],{})]})]})};var src=__webpack_require__(6);class LegendCartesianComponent_LegendCartesianComponent extends PureComponent["a"]{constructor(props){super(props);this._ref=external_react_default.a.createRef();this.view=void 0;this.lastCacheKey="";this.state={expanded:false,visible:false,title:""}}setTitle(title){if(this.state.title!==title){this.setState({title})}}getLayerSpec(layer){var _layer$getTargetRowse,_this$props$rowsetSto,_this$props$rowsetSto2;const rowsetId=(_layer$getTargetRowse=layer.getTargetRowset(this.props.zoom))===null||_layer$getTargetRowse===void 0?void 0:_layer$getTargetRowse.getId();const layerRows=rowsetId?(_this$props$rowsetSto=(_this$props$rowsetSto2=this.props.rowsetStore.getRowset(rowsetId))===null||_this$props$rowsetSto2===void 0?void 0:_this$props$rowsetSto2.rows)!==null&&_this$props$rowsetSto!==void 0?_this$props$rowsetSto:new src["k"]:new src["k"];return{data:{values:layerRows},mark:layer.mark,encoding:{...layer===null||layer===void 0?void 0:layer.encoding,x:null,y:null,z:null}}}getSpec(){var _this$props$layers$fi;return{background:null,height:0,width:0,layer:(_this$props$layers$fi=this.props.layers.filter((layer=>layer.isVega())).map((layerSpec=>this.getLayerSpec(layerSpec))))!==null&&_this$props$layers$fi!==void 0?_this$props$layers$fi:[]}}createCacheKey(inputSpec){const dataKeys=inputSpec.layer.reduce(((key,layer)=>{var _layer$data,_layer$data$values;return`${key}_${(_layer$data=layer.data)===null||_layer$data===void 0?void 0:(_layer$data$values=_layer$data.values)===null||_layer$data$values===void 0?void 0:_layer$data$values.etag}`}),"");return`${dataKeys}_${this.state.expanded}_${this.state.visible}`}shouldRecreate(inputSpec){const cacheKey=this.createCacheKey(inputSpec);if(cacheKey===this.lastCacheKey)return false;this.lastCacheKey=cacheKey;return true}async createLegend(){var _innerHTML,_svgElm$select$node,_d3Select$select$node;const inputSpec=this.getSpec();if(!this.shouldRecreate(inputSpec))return;const vegaSpec=Object(external_vega_lite_["compile"])(inputSpec);if(!vegaSpec||!vegaSpec.spec)return;const runtime=Object(external_vega_["parse"])(vegaSpec.spec);this.view=await new external_vega_["View"](runtime,{renderer:"svg",container:this._ref.current}).runAsync();if(Object(external_d3_["select"])(this._ref.current).select("g.role-legend").empty()&&this._ref.current){return this.setState({visible:false})}else if(!this._ref.current){return}this.setState({visible:true});const svgElm=Object(external_d3_["select"])(this._ref.current).select("svg");if(!svgElm.empty()&&this.state.expanded){svgElm.node().classList.add("LegendExpanded")}const firstGElm=svgElm.select("g").node();if(firstGElm){firstGElm.style.transform="translate(0, 0)"}const title=(_innerHTML=(_svgElm$select$node=svgElm.select(".role-legend-title text").node())===null||_svgElm$select$node===void 0?void 0:_svgElm$select$node.innerHTML)!==null&&_innerHTML!==void 0?_innerHTML:"";this.setTitle(title);const dimensions=(_d3Select$select$node=Object(external_d3_["select"])(this._ref.current).select(".role-legend-entry").node())===null||_d3Select$select$node===void 0?void 0:_d3Select$select$node.getBBox();if(dimensions){this._ref.current.style.height=`${this.state.expanded?dimensions.height:0}px`}}componentDidUpdate(){this.createLegend()}render(){var _this$props$visualiza;if(!this.props.layers.length)return null;return Object(jsx_runtime_["jsxs"])(LegendView,{_isCartesian:(_this$props$visualiza=this.props.visualization)===null||_this$props$visualiza===void 0?void 0:_this$props$visualiza.isCartesian(),_visible:!!this.state.visible,children:[Object(jsx_runtime_["jsx"])(LegendTitle,{title:this.state.title,onClick:()=>this.setState({expanded:!this.state.expanded}),expanded:!!this.state.expanded}),Object(jsx_runtime_["jsx"])(LegendViewContent,{ref:this._ref})]})}}var external_d3_svg_legend_=__webpack_require__(107);var external_d3_svg_legend_default=__webpack_require__.n(external_d3_svg_legend_);var D3Formatter=__webpack_require__(96);var encoding_src=__webpack_require__(14);var ValueFormatter=__webpack_require__(59);external_d3_svg_legend_default.a.legendColor.prototype.labelFormat=fn=>fn;const d3=__webpack_require__(23);const isLegendCandidate=layer=>{var _layer$encoding$color;if(!layer)return false;if(!((_layer$encoding$color=layer.encoding.color)!==null&&_layer$encoding$color!==void 0&&_layer$encoding$color.field))return false;return!layer.isFixedColor()};const getScale=_ref=>{let{visualization,layers,rowsetStore,zoom,queries,legends}=_ref;if(!visualization)return{};const validLayers=layers.renderable(rowsetStore.getRowsets());const validLegend=legends.find((legend=>validLayers.some((layer=>legend.layer===layer.id&&layer.belongsToVisualization(legend.visualizationId)))));if(!validLegend)return{};const validLayer=validLayers.find((layer=>layer.id===validLegend.layer));if(!validLayer)return{};if(!isLegendCandidate(validLayer)){return{}}const targetRowset=validLayer.getTargetRowset(zoom);if(!targetRowset)return{};const rowset=rowsetStore.getRowset(targetRowset.getId());if(!rowset)return{};const query=queries.findQuery(rowset.getData());const color=validLayer.encoding.color;const column=query===null||query===void 0?void 0:query.getColumns().get(color.field);if(!column)return{};const scale=color.getScaleFunction(rowset.rows,Object(encoding_src["s"])(color,query===null||query===void 0?void 0:query.getColumns()),encoding_src["b"].hex);return{scale,valueFormatter:Object(ValueFormatter["b"])(column.getType()),columnLabel:column.getLabel(),reversed:color.getScale().reverse}};const DEFAULT_INVALID_LABEL_VALUE="___INVALID_LABEL_VALUE___";class LegendGeoComponent_LegendGeoComponent extends external_react_["PureComponent"]{constructor(props){super(props);this._ref=external_react_default.a.createRef();this.state={expanded:false,visible:false,title:""}}setTitle(title){if(title!==this.state.title){this.setState({title})}}removeQuantileDuplicatedValues(scale,_ref2){let{i,domain,generatedLabels}=_ref2;const quantilesWithMin=[domain[0],...scale.quantiles()];const isSameAsNext=i<quantilesWithMin.length+1?quantilesWithMin[i]===quantilesWithMin[i+1]:false;if(isSameAsNext)return DEFAULT_INVALID_LABEL_VALUE;return generatedLabels[i]}formatLabels(scale,_ref3){let{i,domain,generatedLabels}=_ref3;const isQuantile=!!scale.quantiles;if(isQuantile)return this.removeQuantileDuplicatedValues(scale,{i,domain,generatedLabels});return generatedLabels[i]}removeInvalidValues(){for(var _len=arguments.length,filterParams=new Array(_len),_key=0;_key<_len;_key++){filterParams[_key]=arguments[_key]}const[cell]=filterParams;return cell.placeholder!==DEFAULT_INVALID_LABEL_VALUE}renderLegend(){const{scale,valueFormatter,columnLabel,reversed}=getScale({layers:this.props.layers,rowsetStore:this.props.rowsetStore,zoom:this.props.zoom,visualization:this.props.visualization,queries:this.props.queries,legends:this.props.legends});const svgElm=d3.select(this._ref.current).select("svg");if(svgElm.empty()){d3.select(this._ref.current).append("svg")}const svg=d3.select(this._ref.current).select("svg");d3.select(this._ref.current).selectAll("g").remove();if(!scale){return this.setState({visible:false})}else if(!this._ref.current){return}this.setState({visible:true});let stringFormat="";if(valueFormatter instanceof D3Formatter["a"]){var _valueFormatter$getFo;stringFormat=(_valueFormatter$getFo=valueFormatter.getFormatString())!==null&&_valueFormatter$getFo!==void 0?_valueFormatter$getFo:""}const legendBoxClasses=["LegendViewBox"];if(this.state.expanded){legendBoxClasses.push("LegendExpanded")}svg.append("g").attr("class",legendBoxClasses.join(" ")).attr("transform","translate(20, 30)");const legendSettings=external_d3_svg_legend_default.a.legendColor().title(columnLabel!==null&&columnLabel!==void 0?columnLabel:"").shapeWidth(15).orient("vertical").ascending(!reversed).labelFormat(d3.format(stringFormat)).labels((props=>this.formatLabels(scale,props))).cellFilter(this.removeInvalidValues).scale(scale);svg.select(".LegendViewBox").call(legendSettings);const title=svg.select(".legendTitle").node().innerHTML;this.setTitle(title);const dimensions=d3.select(this._ref.current).select("svg .legendCells").node().getBBox();if(dimensions){this._ref.current.style.width=`${dimensions.width}px`;this._ref.current.style.height=`${this.state.expanded?dimensions.height:0}px`}}componentDidMount(){this.renderLegend()}componentDidUpdate(){this.renderLegend()}render(){var _this$props$visualiza;return Object(jsx_runtime_["jsxs"])(LegendView,{_isCartesian:(_this$props$visualiza=this.props.visualization)===null||_this$props$visualiza===void 0?void 0:_this$props$visualiza.isCartesian(),_visible:!!this.state.visible,children:[Object(jsx_runtime_["jsx"])(LegendTitle,{title:this.state.title,onClick:()=>this.setState({expanded:!this.state.expanded}),expanded:this.state.expanded}),Object(jsx_runtime_["jsx"])(LegendViewContent,{ref:this._ref})]})}}const LegendComponent=props=>{var _props$visualization,_props$visualization2;if((_props$visualization=props.visualization)!==null&&_props$visualization!==void 0&&_props$visualization.isCartesian()){return Object(jsx_runtime_["jsx"])(LegendCartesianComponent_LegendCartesianComponent,{...props})}else if((_props$visualization2=props.visualization)!==null&&_props$visualization2!==void 0&&_props$visualization2.isGeo()){return Object(jsx_runtime_["jsx"])(LegendGeoComponent_LegendGeoComponent,{...props})}return null};const LegendContainer=()=>{var _viewState$zoom$toFix;const visualization=Object(Store["d"])((store=>store.visualizationStore.visualization));const rowsetStore=Object(Store["d"])((store=>store.rowsetStore));const queries=Object(Store["d"])((store=>store.queryStore.queries));const legends=Object(Store["d"])((store=>store.legends));const layers=Object(Store["d"])((store=>store.layers));const viewState=Object(Store["d"])((store=>store.viewState));const world=Object(Store["d"])((store=>store.world));const zoom=Number((_viewState$zoom$toFix=viewState===null||viewState===void 0?void 0:viewState.zoom.toFixed(0))!==null&&_viewState$zoom$toFix!==void 0?_viewState$zoom$toFix:0);const visibleWorldBox=viewState===null||viewState===void 0?void 0:viewState.getVisibleWorld(world);if(!visualization||!visibleWorldBox)return null;return Object(jsx_runtime_["jsx"])(LegendComponent,{layers,visualization,rowsetStore,zoom,queries,legends,visibleWorldBox})};var legend_LegendContainer=__webpack_exports__["default"]=LegendContainer},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var external_react_=__webpack_require__(5);var Store=__webpack_require__(9);var PureComponent=__webpack_require__(32);var theme=__webpack_require__(10);const CustomView=Object(theme["a"])("div",{name:"CustomView"})((_ref=>{let{theme}=_ref;return{padding:`70px 3.5rem ${theme.shape.paddingInner}px ${theme.shape.paddingInner}px`,height:"100%","@media (min-width: 768px)":{paddingTop:theme.shape.paddingInner}}}));var Factory=__webpack_require__(95);var jsx_runtime_=__webpack_require__(4);class CustomViewComponent_CustomViewComponent extends PureComponent["a"]{constructor(props){super(props);this.viewLayerCache=void 0;this.viewLayerCache=new Map}componentDidMount(){this.props.onViewLoad()}getViewLayers(){return Object(Factory["a"])({authorization:this.props.authorization,visualization:this.props.visualization,layers:this.props.layers.renderable(this.props.rowsetStore.getRowsets()),queries:this.props.queries,rowsetStore:this.props.rowsetStore,visibleWorldBox:this.props.visibleWorldBox,zoom:0,themeMode:"light",maxTextureSize:this.props.webGLMaxTextureSize})}render(){return Object(jsx_runtime_["jsx"])(CustomView,{children:this.getViewLayers()})}}var Actions=__webpack_require__(0);const CustomViewContainer=()=>{const dispatch=Object(Store["c"])();const layers=Object(Store["d"])((store=>store.layers));const queries=Object(Store["d"])((store=>store.queryStore.queries));const rowsetStore=Object(Store["d"])((store=>store.rowsetStore));const visualization=Object(Store["d"])((store=>store.visualizationStore.visualization));const authorization=Object(Store["d"])((store=>store.authorization));const visibleWorldBox=Object(Store["d"])((store=>{var _store$world;return(_store$world=store.world)===null||_store$world===void 0?void 0:_store$world.box()}));const webGLMaxTextureSize=Object(Store["d"])((store=>store.webgl.maxTextureSize));const onViewLoad=()=>{if(!visualization)return;dispatch(Actions["a"].view.viewLoaded({visualizationId:visualization.id}))};if(!visualization||!visibleWorldBox)return;return Object(jsx_runtime_["jsx"])(CustomViewComponent_CustomViewComponent,{authorization,layers,queries,rowsetStore,visualization,visibleWorldBox,webGLMaxTextureSize,onViewLoad})};var custom_CustomViewContainer=__webpack_exports__["default"]=CustomViewContainer},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var external_react_=__webpack_require__(5);var DeckViewContainer=__webpack_require__(62);var DeckView=__webpack_require__(63);var src=__webpack_require__(15);var core_=__webpack_require__(22);const isMapEnabled=src["a"].getValueAsBoolean("ENABLE_MAP");class GeoViewComponent_GeoViewComponent extends DeckView["a"]{constructor(props){super(props);this.renderMap=isMapEnabled}getViews(){return[new core_["MapView"]({id:"main-view",controller:this.getViewController()})]}}var jsx_runtime_=__webpack_require__(4);const GeoViewContainer=()=>Object(jsx_runtime_["jsx"])(DeckViewContainer["a"],{component:props=>Object(jsx_runtime_["jsx"])(GeoViewComponent_GeoViewComponent,{...props})});var geo_GeoViewContainer=__webpack_exports__["default"]=GeoViewContainer},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var external_react_=__webpack_require__(5);var DeckViewContainer=__webpack_require__(62);var DeckView=__webpack_require__(63);var OrthographicView=__webpack_require__(56);var Paddings=__webpack_require__(89);class CartesianViewComponent_CartesianViewComponent extends DeckView["a"]{constructor(){super(...arguments);this.viewLayerFilter=_ref=>{let{layer,viewport}=_ref;if(!layer.props.targetView&&viewport.id==="main-view")return true;return layer.props.targetView===viewport.id}}getViews(){if(!this.props.world)return[];const viewPortProps=this.props.viewState.getOrtographicViewPortProps(this.props.world);const paddings=Object(Paddings["a"])(this.props.world);return[new OrthographicView["b"]({...viewPortProps,id:"vega-background",controller:false,width:viewPortProps.width+paddings.viewHorizontalPadding*2,height:viewPortProps.height+paddings.viewVertialPadding*2,x:this.props.world.getPaddingLeft()/2,y:0,fixedX:true,fixedY:true,translationMatrix:[paddings.viewHorizontalPadding,paddings.viewVertialPadding+paddings.axesVerticalPadding,0]}),new OrthographicView["b"]({...viewPortProps,id:"vega-axes-y",controller:false,width:viewPortProps.width+paddings.axesHorizontalPadding+this.props.world.getPaddingLeft(),x:paddings.axesHorizontalPadding,y:paddings.axesVerticalPadding,fixedX:true,translationMatrix:[viewPortProps.translationMatrix[0],viewPortProps.translationMatrix[1],0]}),new OrthographicView["b"]({...viewPortProps,id:"vega-axes-x",controller:false,height:viewPortProps.height+paddings.axesVerticalPadding,fixedY:true}),new OrthographicView["b"]({...viewPortProps,id:"main-view",controller:this.getViewController()})]}}var jsx_runtime_=__webpack_require__(4);const CartesianViewContainer=()=>Object(jsx_runtime_["jsx"])(DeckViewContainer["a"],{component:props=>Object(jsx_runtime_["jsx"])(CartesianViewComponent_CartesianViewComponent,{...props})});var cartesian_CartesianViewContainer=__webpack_exports__["default"]=CartesianViewContainer}]);
|