{"version":3,"sources":["assets/img/bkg/nick-kane-687812-unsplash-sm.jpg","assets/img/bkg/taneli-lahtinen-1027248-unsplash-sm.jpg","assets/img/bkg/jonathan-smith-142050-unsplash-sm.jpg","assets/img/bkg/sidharth-bhatia-358983-unsplash-sm.jpg","assets/img/bkg/sonja-guina-39897-unsplash-sm.jpg","assets/img/bkg/john-such-493478-unsplash-sm.jpg","polyfills.js","components/ScrollToTop/ScrollToTop.jsx","assets/jss/material-kit-pro-react/components/headerStyle.jsx","components/Header/Header.jsx","assets/jss/material-kit-pro-react/components/footerStyle.jsx","components/Footer/Footer.jsx","components/Grid/GridContainer.jsx","components/Grid/GridItem.jsx","assets/jss/material-kit-pro-react/components/customDropdownStyle.jsx","components/CustomDropdown/CustomDropdown.jsx","assets/jss/prehnit/components/languageSelectorStyle.jsx","config/LanguageList.jsx","services/api.jsx","components/LanguageSelector/LanguageSelector.jsx","assets/jss/prehnit/components/unitSelectorStyle.jsx","config/UnitsConfig.jsx","Context.jsx","components/UnitSelector/UnitSelector.jsx","assets/jss/material-kit-pro-react/tooltipsStyle.jsx","assets/jss/material-kit-pro-react/components/headerLinksStyle.jsx","components/Header/HeaderLinks.jsx","assets/jss/material-kit-pro-react/components/parallaxStyle.jsx","components/Parallax/Parallax.jsx","assets/jss/material-kit-pro-react/views/landingPageStyle.jsx","assets/jss/material-kit-pro-react/components/navPillsStyle.jsx","components/NavPills/NavPills.jsx","assets/jss/prehnit/views/landingPageSections/pillsStyle.jsx","views/LandingPage/Sections/SectionPills.jsx","views/LandingPage/LandingPage.jsx","components/Map/TopMenu.jsx","components/Map/BottomMenu.jsx","components/Map/SideContent.jsx","components/Map/controls/BaseLayerSwitcher.jsx","components/Map/controls/LayerConfigPanel.jsx","helpers.js","components/Map/controls/LayerSelector.jsx","components/Map/controls/BorderSelector.jsx","components/Map/controls/SwipeTool.jsx","components/Map/controls/SwipeBar.jsx","components/Map/controls/MapScale.jsx","components/Map/controls/ShowCoords.jsx","components/Map/controls/LayerInfo.jsx","services/geoserver.jsx","components/Map/controls/LayerLegend.jsx","config/BaseLayerList.jsx","components/Map/Map.jsx","assets/jss/prehnit/views/mapPageStyle.jsx","views/MapPage/MapPage.jsx","assets/jss/material-kit-pro-react/views/aboutUsStyle.jsx","assets/jss/material-kit-pro-react/components/infoStyle.jsx","components/InfoArea/InfoArea.jsx","assets/jss/material-kit-pro-react/views/sectionsSections/featuresStyle.jsx","assets/jss/prehnit/views/additionalInfoPageStyle.jsx","config/LinksList.jsx","views/AdditionalInfoPage/Sections/SectionLinksGeneral.jsx","views/AdditionalInfoPage/Sections/SectionLinksOrgnizations.jsx","views/AdditionalInfoPage/AdditionalInfoPage.jsx","assets/jss/prehnit/views/dashGeneralPageStyle.jsx","assets/jss/material-kit-pro-react/components/cardStyle.jsx","components/Card/Card.jsx","assets/jss/material-kit-pro-react/components/cardBodyStyle.jsx","components/Card/CardBody.jsx","assets/jss/material-kit-pro-react/components/cardHeaderStyle.jsx","components/Card/CardHeader.jsx","assets/jss/material-kit-pro-react/components/cardIconStyle.jsx","components/Card/CardIcon.jsx","assets/jss/material-kit-pro-react/components/cardFooterStyle.jsx","components/Card/CardFooter.jsx","assets/data/clc_colors.js","components/CLCDataCards/CLCChartZoom.jsx","components/CLCDataCards/CLCDistChartCard.jsx","components/CLCDataCards/CLCTrendsChartCard.jsx","assets/jss/material-kit-pro-react/components/tableStyle.jsx","components/Table/Table.jsx","components/CLCDataCards/CLCTableCard.jsx","components/CLCDataCards/CLCExportCard.jsx","components/CLCDashboards/dashHelpers.js","components/MapSimple/MapSimple.jsx","components/CLCDashboards/CLCDashCompareTwo.jsx","views/Dashboards/DashProtectedPage.jsx","components/CLCDashboards/CLCDashSingle.jsx","views/Dashboards/DashCountryPage.jsx","views/Dashboards/DashCountyPage.jsx","views/Dashboards/DashMunicipalitiesPage.jsx","views/Dashboards/DashBioGeoPage.jsx","views/TermsOfUsePage/TermsOfUsePage.jsx","routes/index.jsx","App.jsx","i18n.js","numbro.js","index.js","assets/jss/material-kit-pro-react/components/buttonStyle.jsx","assets/jss/material-kit-pro-react/buttonGroupStyle.jsx","assets/jss/prehnit/components/mapStyle.jsx","assets/jss/material-kit-pro-react.jsx","assets/img/Land-hover.png","components/Map/controls/OverlaySwitcher.jsx","components/CustomButtons/Button.jsx","assets/img/bkg/antoine-similon-1165697-unsplash-cr.jpg","assets/img/bkg/sergii-gulenok-61955-unsplash-sm.jpg"],"names":["module","exports","__webpack_require__","p","Object","assign","defineProperty","value","target","varArgs","TypeError","to","index","arguments","length","nextSource","nextKey","prototype","hasOwnProperty","call","writable","configurable","Array","find","predicate","this","o","len","thisArg","k","kValue","fill","O","relativeStart","Math","max","min","end","relativeEnd","undefined","final","log10","x","log","LOG10E","ScrollToTop","location","substring","parts","split","prevProps","firstPart","props","pathname","window","scrollTo","children","React","Component","withRouter","headerStyle","theme","_collapse","appBar","display","border","borderRadius","padding","marginBottom","color","width","backgroundColor","boxShadow","transition","alignItems","flexFlow","justifyContent","position","absolute","top","fixed","container","objectSpread","minHeight","flexWrap","title","&,& a","defaultFont","lineHeight","fontSize","textTransform","whiteSpace","&:hover,&:focus","background","appResponsive","margin","marginTop","primary","primaryColor","info","infoColor","success","successColor","warning","warningColor","danger","dangerColor","rose","roseColor","transparent","paddingTop","dark","white","drawerPaper","bottom","transitionProperty","transitionDuration","transitionTimingFunction","drawerWidth","height","right","left","visibility","overflowY","borderTop","textAlign","paddingRight","paddingLeft","hidden","collapse","breakpoints","up","MsFlexPreferredSize","flexBasis","closeButtonDrawer","zIndex","logo","marginRight","Header","_this","classCallCheck","possibleConstructorReturn","getPrototypeOf","state","mobileOpen","handleDrawerToggle","bind","assertThisInitialized","headerColorChange","setState","changeColorOnScroll","addEventListener","_this$props","classes","pageYOffset","document","body","getElementsByTagName","classList","remove","add","removeEventListener","_classNames","_this$props2","links","brand","appBarClasses","classNames","react_default","a","createElement","AppBar_default","className","Toolbar_default","Button_default","Link","src","alt","Hidden_default","smDown","implementation","mdUp","IconButton_default","aria-label","onClick","Menu_default","Drawer_default","variant","anchor","open","paper","onClose","Close_default","defaultProp","withStyles","footerStyle","float","rightLinks","& ul","listStyle","& li","& i","footer","big","& h5, & h4","fontWeight","fontFamily","& p","content","textDecoration","backgroundSize","& a","opacity","&:visited","&:focus, &:hover","& hr","borderColor","& $btnTwitter, & $btnDribbble, & $btnInstagram","&:hover, &:focus","list","block","inlineBlock","icon","iconSocial","minWidth","overflow","btnTwitter","btnLink","btnDribbble","btnInstagram","footerBrand","marginLeft","pullCenter","clearFix","clear","withNamespaces","t","themeType","footerClasses","List_default","ListItem_default","Date","getYear","href","GridContainer","_ref","esm_extends","rest","objectWithoutProperties","Grid_default","grid","defaultProps","item","customDropdownStyle","popperClose","pointerEvents","pooperNav","down","transform","willChange","& > div","manager","& > div > button:first-child > span:first-child, & > div > a:first-child > span:first-child","innerManager","& > div > button,& > div > a","& > span:first-child","& > button:first-child > span:first-child, & > a:first-child > span:first-child","& $caret","dropdown","backgroundClip","menuList","pooperResponsive","dropdownItem","darkHover","&:hover","primaryHover","primaryBoxShadow","infoHover","infoBoxShadow","successHover","successBoxShadow","warningHover","warningBoxShadow","dangerHover","dangerBoxShadow","roseHover","roseBoxShadow","dropdownItemRTL","dropdownDividerItem","buttonIcon","caret","verticalAlign","borderRight","borderLeft","caretActive","caretDropup","caretRTL","dropdownHeader","cursor","noLiPadding","CustomDropdown","handleClick","handleClose","event","anchorEl","contains","handleCloseMenu","param","_classNames2","_classNames3","_this2","buttonText","dropdownList","buttonProps","dropup","hoverColor","dropPlacement","innerDropDown","navDropdown","caretClasses","dropDownMenu","MenuList_default","role","MenuItem_default","map","prop","key","header","disabled","divider","Divider_default","text","Icon_default","ref","style","CustomButtons_Button","aria-owns","aria-haspopup","buttonRef","node","Popper_default","disablePortal","placement","TransitionProps","Grow_default","in","id","transformOrigin","Paper_default","ClickAwayListener_default","onClickAway","languageSelectorStyle","dropdownLink","&,&:hover,&:focus","dropdownIcons","listItem","maxHeight","&:not(:last-child)","&:after","listItemText","Languages","code","abbr","API","getTranslations","lang_code","group_title","_get","getLanguages","getBorders","getBaseLayers","getLayers","getContentLinks","getContentLists","getContentLinksByGroup","group","getDataAllRegions","catagoryTitle","getDataOneRegion","regionId","getTrendsAllRegions","categoryTitle","getStatsAllRegions","getExternalGeoLayers","url","encodeURI","getExternalGeofeatures","api_url","headers","fetch","process","method","then","response","data","JSON","parse","ok","error","message","statusText","Promise","reject","catch","LanguageSelector","handleSelectLanguage","langs","console","warn","LanguagesFallback","lng","i18n","changeLanguage","numbro","setLanguage","lngs","filter","displayName","unitSelectorStyle","units","m","short","displayCode","val","round","ha","km","Context","createContext","unit","setUnit","getUnit","UnitSelector","handleSelectUnit","Consumer","values","ctx","_ref2","contextType","unitSelectorStylye","tooltipsStyle","tooltip","maxWidth","fontStyle","textShadow","letterSpacing","wordBreak","wordSpacing","wordWrap","lineBreak","headerLinksStyle","_list","_navLink","_navButton","WebkitBoxAlign","MsFlexAlign","WebkitBoxOrient","WebkitBoxDirection","MsFlexDirection","flexDirection","navLink","& .fab,& .far,& .fal,& .fas,& .material-icons","navLinkJustIcon","& svg","navButton","notificationNavLink","registerNavLink","navLinkActive","&, &:hover, &:focus,&:active ","icons","socialIcons","socialIconsButton","marginRight5","mlAuto","HeaderLinks","dropdownHoverColor","components_CustomDropdown_CustomDropdown","Apps","Map_default","components_UnitSelector_UnitSelector","InsertChartOutlined","language","components_LanguageSelector_LanguageSelector","Language","parallaxStyle","parallax","backgroundPosition","&:before","&:after,&:before","darkColor","small","Parallax","windowScrollTop","innerWidth","resetTransform","image","parallaxClasses","backgroundImage","landingPageStyle","subtitle","main","mainRaised","navPillsStyle","root","flexContainer","displayNone","overflowX","horizontalDisplay","pills","pillsWithIcons","tabIcon","horizontalPills","& + button","labelContainer","label","contentWrapper","& .react-swipeable-view-container > div > div","&,&:hover","alignCenter","NavPills","handleChange","active","handleChangeIndex","tabs","direction","horizontal","flexContainerClasses","tabButtons","Tabs_default","indicator","onChange","centered","pillsClasses","Tab_default","tabButton","selected","tabContent","lib_default","axis","onChangeIndex","Grid_GridContainer","Grid_GridItem","tabsGrid","contentGrid","pillsStyle","section","itemCount","SectionPills","clcBases","clcChanges","localComponent","dataLoaded","col","row","filterData","xs","sm","md","lg","components_NavPills_NavPills","Dashboard","el","title_trans_token","dsc_trans_token","rel","Landscape","Search","dashboardRoutes","LandingPage","scrollTop","components_Header_Header","routes","Header_HeaderLinks","components_Parallax_Parallax","require","Sections_SectionPills","Footer_Footer","TopMenu","menu","topMenu","justify","spacing","Children","child","i","topControl","mapStyle","BottomMenu","bottomMenu","noRightPadding","noSelect","halfWidth","fullWidth","SideContent","selectedTabIndex","newValue","toArray","propClass","sideContentRight","sideContentLeft","sideContent","indicatorColor","scrollButtons","tabsLayerInfoLegend","BaseLayerSwitcher","handleAdd","layerOptions","Swal","mixin","confirmButtonText","confirmButtonColor","showCancelButton","cancelButtonText","cancelButtonColor","reverseButtons","customClass","alertTitle","confirmButton","button","cancelButton","progressSteps","queue","input","inputPlaceholder","validationMessage","preConfirm","ind0","toLowerCase","indexOf","ind1","showValidationMessage","Error","forEach","obj","push","err","inputOptions","ind","resolve","name","result","layerName","onAdd","layer","generateLayer","fire","type","userBaseLayers","handleDeleteMenuItem","selectedLayerId","selectedLayerName","onSelect","onRemove","layers","userLayersList","ids","apply","toConsumableArray","guessType","serverUrl","vectorSource","OlSourceVector","format","OlFormatGeoJSON","extent","resolution","projection","proj","getCode","wfsurl","isFinite","join","encodeURIComponent","strategy","OlBBoxStrategy","OlLayerVector","source","OlLayerTile","OlSourceTileWMS","params","Layers","systemLayersList","ListItemSecondaryAction_default","secondaryActionButton","secondaryActionButtonIcon","smallButton","smallButtonIcon","LayerConfigPanel","years","slider1","refs","slider2","nouislider","create","start","connect","step","range","tooltips","wNumb","decimals","cssPrefix","noUiSlider","on","onSetOpacity","get","getElementsByClassName","innerHTML","yearSliderOptions","buildSliderOptions","year","onSetYear","sliderToggleDisabled","array1","array2","isArray","every","areYearsSame","oldValue","updateOptions","set","removeAttribute","setAttribute","options","from","configpanel","justIcon","onToggleLayerInfo","onToggleLayerLegend","checkTrans","ns","hasResourceBundle","lang","addResourceBundle","LayerSelector","handleClickLayers","openLayers","openSettings","handleClickSettings","handleCloseLayers","anchorLayersEl","handleCloseSettings","anchorSettingsEl","handleSelect","handleSetOpacity","handleSetYear","dataCodeGroup","layerNames","_classNames4","_this$state","selectedLayer","settingsIcon","layersList","layersMenu","settingsPanel","controls_LayerConfigPanel","version","buttonGroup","firstButton","mainButton","textOverflow","lastButton","settingsButton","popperLayerSelector","gs_url","BorderSelector","borders","first","lastGroupId","group_id","gs_layer","LAYERS","FORMAT","SwipeTool","slider","sliderPosition","onSetPosition","swipeToolContainer","dimTool","swipeSlider","SwipeBar","offsetPerc","pos","containerWidth","swipeContainer","swipeBar","MapScale","tempValue","dpiMeasure","dpiMeasureRef","element","_calculateDPI","getDPI","handleScaleClick","handleKeyDown","dpi","ppi","devicePixelRatio","parseFloat","offsetWidth","res","zoom","customScale","8","9","10","11","12","13","14","15","16","17","18","mantissa","scale","METERS_PER_UNIT","onChangeScale","e","match","projUnits","setMapScale","viewResolution","mapScale","mapScaleInput","autoFocus","onKeyDown","mapScaleLabel","getMapScale","ShowCoords","mouseCoords","centerCoords","showCoords","chooseCoordsX","chooseCoordsY","LayerInfo","descCode","desc","geoserverService","WMS","getCapabilities","getFeatureInfo","query_layers","point","requestOptions","bbox","getLegendGraphic","query_layer","WFS","getFeatures","LayerLegend","rules","legend","parseRules","kod","showCode","lengedEntry","legendBox","Typography_default","legendText","legendCode","entries","rule","symbolizers","Polygon","legendEntry","Raster","colormap","ce","quantity","Legend","BaseLayerListFallback","OlSourceOSM","PublicMap","viewCenter","overlays","selectedOverlayFeature","baseLayers","selectedBaseLayer","selectedBorderLayer","selectedPrimaryLayer","primaryLayerOpacity","primaryLayerName","selectedSecondaryLayer","secondaryLayerOpacity","secondaryLayerName","swipetoolperc","feature","pointerLeft","pointerTop","showPrimaryLayerInfo","showPrimaryLayerLegend","showFeatureInfo","systemBaseLayers","setBaseLayer","addUserBaseLayer","removeUserBaseLayer","getDefaultBaseLayer","handleAddUserFeatures","handleRemoveUserFeatures","handleSelectUserFeature","setBorder","setPrimaryLayer","setPrimaryLayerOpacity","setPrimaryLayerVersion","setSecondaryLayer","setSecondaryLayerOpacity","setSecondaryLayerVersion","handleSetSwipePosition","handleViewChange","togglePrimaryLayerInfo","togglePrimaryLayerLegend","toggleSecondaryLayerInfo","toggleSecondaryLayerLegend","handlePointerMove","handleCloseFeatureInfo","closePrimarySideBar","closeSecondarySideBar","proj4","defs","OlRegister","htrs96","OlGetProjection","showgray","OlLayerImage","genGrayRaster","OlSourceRaster","sources","operation","pixels","pixel","v","d","type_title","OlSourceStamen","genBaseLayer","concat","baseLayer","_this3","currentGroup","defaultPrimaryLayerVersion","defaultPrimaryLayerIsSet","defaultSecondaryLayerVersion","defaultSecondaryLayerIsSet","reduce","current","layer_defaultprimary","layer_defaultsecondary","group_title_trans_token","last","type_title_trans_token","type_showcode","layer_title","geoServerLayer","layer_desc","layer_desc_trans_token","data_trans_token_group","_this4","newFeatures","userFeaturesLayer","getSource","olFeatureCollection","OlCollection","setSource","features","featureProjection","olNewFeatures","_this5","f","getFeaturesCollection","extend","tmpVectorSource","getView","fit","getExtent","getSize","overlay","olFeatures","borderLayer","_setSelectedFeature","showSecondaryLayerInfo","showSecondaryLayerLegend","arr","chBase","chPrim","chPrimOp","chSecond","chSecondOp","chBorder","setAt","currentPrimary","findLayer","insertAt","setOpacity","currentSecondaryLayer","secondaryLayer","context","canvas","save","beginPath","rect","clip","restore","currentBorderLayer","removeControl","controlZoom","Zoom","zoomInTipLabel","zoomOutTipLabel","addControl","controlAttribution","Attribution","collapsible","tipLabel","controlScaleLine","controlFullScreen","FullScreen","ScaleLine","selectStyle","OlStyle","stroke","OlStroke","OlFill","userStyle","OlRegularShape","points","radius","angle","PI","selectedFeaturesLayer","view","OlView","center","minZoom","maxZoom","OlMap","interactions","OlInteractionDefaults","doubleClickZoom","altShiftDragRotate","pinchRotate","controls","setTarget","mapContainer","handleMapClick","getZoom","getResolution","getProjection","getUnits","getCenter","updateContainerSize","clientHeight","clientWidth","loadBaseLayers","loadLayers","_setMouseCoords","coordinate","coordinates","prevState","refreshControls","isLayerObjectChanged","refreshLayers","b","_this6","clickedCoordinate","getCoordinateFromPixel","queryLayers","getQueryLayers","queryLayer","queryLayerName","parseInt","olFeat","OlFormatJSON","readFeatures","clickPixelLocation","setStyle","try_kod","try_pov","try_ch","pov","dispCode","feature_code","feature_showCode","feature_dispCode","feature_change","feature_area","render","setResolution","mainMap","controlLayout","Map_SideContent","controls_LayerInfo","controls_LayerLegend","Map_TopMenu","controls_LayerSelector","controls_BorderSelector","controls_BaseLayerSwitcher","OverlaySwitcher","Map_BottomMenu","controls_MapScale","controls_ShowCoords","controls_SwipeTool","controls_SwipeBar","simpleMapToolTip","featureInfoCloseContainer","Tooltip_default","featureInfoCloseButton","featureInfoCloseIcon","divide","mapPageStyle","description","contactContent","paddingBottom","wrapper","middle","textCenter","MapPage","Map_Map","aboutUsStyle","mrAuto","&, & + h4","infoStyle","infoArea","iconWrapper","gray","grayColor","descriptionWrapper","iconWrapperVertical","iconVertical","InfoArea","iconColor","vertical","iconClasses","infoAreaClasses","features1","features2","features3","& $phoneContainer","features4","features5","backgroundRepeat","& $title","& $title,& $container","& $container","& $gridContainer:last-child","& $gridItem","borderBottom","&:last-child","& $infoArea5","& h4,& p,& svg,& .fab,& .fas,& .far,& .fal,& .material-icons","gridContainer","gridItem","phoneContainer","& img","infoArea5","additionalInfoStyle","featuresStyle","linksGeneral","titleCode","linksOrganizations","SectionLinksGeneral","LinksFallback","link","InfoArea_InfoArea","icon_color","additionalInfoPageStyle","SectionLinksOrganizations","AdditionalInfoPage","Sections_SectionLinksGeneral","SectionLinksOrgnizations","dashGeneralPageStyle","cardTitle","cardCategory","cardIconTitle","cardIconSubTitle","cardBodyMap","cardDescription","legendTitle","whiteColor","whiteOutline","borderWidth","borderStyle","cardFooter","& .fab,& .fas,& .far,& .fal,& .material-icons","iconWrapperColor","iconInfo","marginTop30","marginBottom20","cardRaised","textRight","textLeft","clcBox","sizeTiny","cardStyle","card","@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)","cardPlain","cardProfile","cardBlog","cardBackground","& h3","& small","cardPricing","& ul li","& ul li:last-child","& ul li b","& h1","& h1 small","& h1 small:first-child","& ul li svg,& ul li .fab,& ul li .fas,& ul li .far,& ul li .fal,& ul li .material-icons","cardPricingColor","& b, & svg,& .fab,& .fas,& .far,& .fal,& .material-icons","cardProduct","plain","profile","blog","raised","pricing","product","testimonial","cardClasses","cardBodyStyle","cardBody","flex","WebkitBoxFlex","cardBodyBackground","cardBodyPlain","cardBodyFormHorizontal","& form","cardSignup","cardBodyColor","&","h1, h2, h3","formHorizontal","signup","cardBodyClasses","cardHeaderStyle","cardHeader","cardHeaderPlain","&$cardHeaderImage","cardHeaderImage","noShadow","cardHeaderContact","cardHeaderSignup","warningCardHeader","successCardHeader","dangerCardHeader","infoCardHeader","primaryCardHeader","roseCardHeader","contact","cardHeaderClasses","cardIconStyle","cardIcon","&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader","cardIconClasses","cardFooterStyle","cardFooterProfile","cardFooterPlain","cardFooterPricing","cardFooterTestimonial","cardFooterClasses","clc_colors","1","2","3","4","5","111","112","121","122","123","124","131","132","133","141","142","211","212","221","222","223","231","241","242","243","311","312","313","321","322","323","324","331","332","333","334","411","421","422","423","511","512","521","523","CLCChartZoom","onSlide","handle","un","percent","textValue","toFixed","orientation","onSet","querySelectorAll","onMount","Chartist","plugins","ctHtmlLabels","chart","empty","_node","CLCDistChartCard","_isMounted","chart_width","high_ha","maxY_ha","minY_ha","handleSort","handleZoom","handleSync","handleZoomMount","updateChartSize","getElementById","draw","clc_code","series","meta","clc_color","CLCColors","attr","axisYhigh","calcAxisYHigh","axisX","showGrid","labelInterpolationFnc","funcData","axisY","offset","low","high","suffix","num","metaIsHTML","tooltipFnc","sort","sortFunc","labels","kod_3","pov_3_ha","val_ha","codes","areas","codesHash","kod_1","area","pov_1_ha","c","onSetSort","onSetSync","step_values","exp","onSetZoom","alwaysDefaultTitle","Card_Card","Card_CardHeader","Card_CardIcon","_getTitle","index_es","sortType","Card_CardBody","ShortText_default","BarChart_default","CLCDataCards_CLCChartZoom","showSync","sync","Sync_default","SyncDisabled_default","dist_default","chartData","chartOptions","listener","chartListener","Card_CardFooter","footerData","CLCTrendsChartCard","minY","maxY","showPoint","self","trendsData","y","onlyUnique","labels_length","type_data","idCol","s","j","areaCol","aPx","bPx","replace","toString","allData","addStringsWithPx","tableStyle","table","borderSpacing","borderCollapse","& > tbody > tr, & > thead > tr","tableShoppingHead","tableCell","tableHeadCell","borderBottomWidth","borderTopWidth","tableCellTotal","tableCellAmount","tableResponsive","tableStripedRow","tableRowHover","warningRow","dangerRow","successRow","infoRow","CustomTable","tableHead","tableData","tableHeaderColor","hover","colorsColls","coloredColls","customCellClasses","customClassesForCells","striped","tableShopping","customHeadCellClasses","customHeadClassesForCells","Table_default","TableHead_default","TableRow_default","tableRow","_cx","tableCellClasses","cx","TableCell_default","TableBody_default","_cx2","rowColor","rowColored","tableRowClasses","total","colSpan","colspan","amount","purchase","_cx3","CLCTableCard","data1","filterColumnName","filterId_1","data2","filterId_2","elements","elementsHash","single","sorted_elements","_loop","val1","val2","filterId","pov_ha_1","stats","region","region_code","region_title","token","region_title_trans_token","region_area_ha","count","code_3_count","getStats","statsData","Table_Table","tblHeaders","tblData","sortTrendsData","k3","CLCExportCard","readFileIntoArrayBuffer","fd","reader","FileReader","onerror","onload","readAsArrayBuffer","handleExcel","handleWord","genFileName","genTableData","saveDataToFile","getTitle","reportType","ext","categoryCode","regionOne","regionTwo","mapId","offsetHeight","toDataURL","chartId","callback","ratio","svg","svgString","XMLSerializer","serializeToString","image64","btoa","img","Image","getContext","drawImage","png","filteredData","workbook","ExcelJs","worksheet","addWorksheet","views","xSplit","ySplit","columns","alignment","numFmt","titles","hasFilter","regionTitle","regionTitles","excelRow","clc1Code","k1","clc1Title","clc1Area","unformat","p1","clc3Code","clc3Title","clc3Area","p3","addRow","filename","xlsx","writeBuffer","blob","Blob","saveAs","JSZipUtils","getBinaryContent","fileName","mimeType","URL","createObjectURL","downloadURL","setTimeout","revokeObjectURL","download","appendChild","click","imagesData","regionOneData","regionTwoData","regionOneStats","regionTwoStats","createReport","template","all","clc3_count","date","toLocaleDateString","region_type","rel_area","region_perc","secondary","additionalJsContext","chartImage","slice","extension","genMapImage","templateName","genReportName","loadWordTemplate","chartIds","genChartImage","fillReport","sortAreas","sortClasses","MapSimple","initialZoom","regionArea","regionCoveragePerc","regionDesc","highlightedFeatures","selectStylePrimary","selectStyleSecondary","_clearToolTip","handleHover","handleLeave","toggleMapPan","dataLayer","filtered_data","regionsLayer","updateWhileAnimating","addLayer","positionToolTip","interact_location","feat","perc","percDisp","evt","featureCount","newRegionOne","newRegionTwo","forEachFeatureAtPixel","id_ch","id_del","allowPan","getInteractions","getArray","interaction","OlDragPan","OlKeyboardPan","setActive","currentZoom","Number","isInteger","OlSelect","condition","OlPointerMove","dragAndDrop","dragPan","keyboardPan","keyboardZoom","mouseWheelZoom","pointer","select","OlControlDefaults","attribution","addInteraction","backgroundLayer","crossOrigin","simpleMap","onMouseLeave","CLCDashCompareTwo","syncDistChart","syncTrendsChart","zoomDistChartPrimary","zoomDistChartSecondary","zoomTrendsChartPrimary","zoomTrendsChartSecondary","handleSyncDistChart","handleSyncTrendsChart","handleZoomDistChartPrimary","handleZoomDistChartSecondary","handleZoomTrendsChartPrimary","handleZoomTrendsChartSecondary","getReportType","getChardIds","getChartIds","currentPath","history","newPath","regionOneId","regionTwoId","_pushHistory","id1","id2","mapTitle","components_MapSimple_MapSimple","mapInitialZoom","mapMinZoom","mapMaxZoom","mapAllowPan","mapDataLayer","mapBackgroundLayer","CLCDataCards_CLCDistChartCard","showSort","showZoom","CLCDataCards_CLCTrendsChartCard","CLCDataCards_CLCTableCard","CLCDataCards_CLCExportCard","mapIds","DashProtectedPage","CLCDashboards_CLCDashCompareTwo","CLCDashSingle","distData","zoomDistChart","zoomTrendsChart","handleZoomDistChart","handleZoomTrendsChart","codeCount","distChartIgnoreCodes","totalArea","trendsChartIgnoreCodes","component","gutterBottom","align","DashCountryPage","CLCDashboards_CLCDashSingle","DashCountyPage","DashMunicipalitiesPage","DashBioGeoPage","TermsOfUsePage","indexRoutes","path","createBrowserHistory","App","Provider","Router","components_ScrollToTop_ScrollToTop","Switch","Route","trans_groups","use","lngDetector","reactI18nextModule","init","defaultNS","detection","order","lookupQuerystring","fallbackLng","keySeparator","interpolation","escapeValue","useCookie","moment","locale","registerLanguage","languageTag","delimiters","thousands","decimal","abbreviations","thousand","million","billion","trillion","ordinal","currency","symbol","currencyFormat","thousandSeparated","totalLength","spaceSeparated","average","formats","fourDigits","fullWithTwoDecimals","output","fullWithTwoDecimalsNoCurrency","fullWithNoDecimals","setDefaults","ReactDOM","src_App","assets_jss_material_kit_pro_react_jsx__WEBPACK_IMPORTED_MODULE_0__","buttonStyle","touchAction","&$justIcon","secondaryColor","boxShdow","&,&:focus,&:hover","twitter","&:hover,&:focus,&:visited","facebook","google","linkedin","pinterest","youtube","tumblr","github","behance","dribbble","reddit","instagram","simple","&$primary","&,&:focus,&:hover,&:visited","&$info","&$success","&$warning","&$rose","&$danger","&$twitter","&$facebook","&$google","&$linkedin","&$pinterest","&$youtube","&$tumblr","&$github","&$behance","&$dribbble","&$reddit","&$instagram","& .fab,& .fas,& .far,& .fal,& svg,& .material-icons","&$lg","&$sm","fileButton","buttonGroupStyle","borderTopRightRadius","borderBottomRightRadius","middleButton","borderTopLeftRadius","borderBottomLeftRadius","font","cardBodyRefine","MozUserSelect","WebkitUserSelect","msUserSelect","userSelect","oUserSelect","unselectable","onselectstart","onmousedown","swipeTool","timeSlider","lineheight","borderrdius","alertInput","_home_vanja_Code_clc_app_client_node_modules_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__","@media (min-width: 576px)","@media (min-width: 768px)","@media (min-width: 992px)","@media (min-width: 1200px)","&, & a","@media (max-width: 576px)","@media (max-width: 830px)","_home_vanja_Code_clc_app_client_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__","_home_vanja_Code_clc_app_client_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__","_home_vanja_Code_clc_app_client_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__","handleClickOpen","dialogOpen","uploadFileName","uploadFiles","uploadResult","_home_vanja_Code_clc_app_client_node_modules_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6__","setOpen","handleDialogClose","handleFileChange","handleFileLoad","OlFormatGPX","dataProjection","OlFormatKML","buffer","Buffer","shp","geojson","files","lastIndexOf","getExtension","loadGPX","readAsText","loadKML","loadSHP","findDOMNode","fileUpload","_home_vanja_Code_clc_app_client_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_7___default","_material_ui_core_MenuList__WEBPACK_IMPORTED_MODULE_21___default","_material_ui_core_MenuItem__WEBPACK_IMPORTED_MODULE_20___default","_material_ui_core_Icon__WEBPACK_IMPORTED_MODULE_14___default","_material_ui_core_ListItemSecondaryAction__WEBPACK_IMPORTED_MODULE_22___default","_material_ui_core_IconButton__WEBPACK_IMPORTED_MODULE_13___default","_material_ui_core_Divider__WEBPACK_IMPORTED_MODULE_18___default","components_CustomButtons_Button_jsx__WEBPACK_IMPORTED_MODULE_12__","_material_ui_core_Popper__WEBPACK_IMPORTED_MODULE_15___default","_material_ui_core_Grow__WEBPACK_IMPORTED_MODULE_17___default","_material_ui_core_Paper__WEBPACK_IMPORTED_MODULE_16___default","_material_ui_core_ClickAwayListener__WEBPACK_IMPORTED_MODULE_19___default","_material_ui_core_Dialog__WEBPACK_IMPORTED_MODULE_24___default","aria-labelledby","_material_ui_core_DialogTitle__WEBPACK_IMPORTED_MODULE_28___default","_material_ui_core_DialogContent__WEBPACK_IMPORTED_MODULE_26___default","_material_ui_core_DialogContentText__WEBPACK_IMPORTED_MODULE_27___default","htmlFor","openFileDialog","_material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_23___default","_material_ui_core_DialogActions__WEBPACK_IMPORTED_MODULE_25___default","size","_home_vanja_Code_clc_app_client_node_modules_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__","btnClasses","react__WEBPACK_IMPORTED_MODULE_2___default","_material_ui_core_Button__WEBPACK_IMPORTED_MODULE_5___default"],"mappings":"8EAAAA,EAAAC,QAAiBC,EAAAC,EAAuB,+ECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,sFCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,oFCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,qFCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,gFCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,oGCAZ,mBAAjBC,OAAOC,QAEhBD,OAAOE,eAAeF,OAAQ,SAAU,CACtCG,MAAO,SAAgBC,EAAQC,GAC7B,aACA,GAAc,MAAVD,EACF,MAAM,IAAIE,UAAU,8CAKtB,IAFA,IAAIC,EAAKP,OAAOI,GAEPI,EAAQ,EAAGA,EAAQC,UAAUC,OAAQF,IAAS,CACrD,IAAIG,EAAaF,UAAUD,GAE3B,GAAkB,MAAdG,EACF,IAAK,IAAIC,KAAWD,EAEdX,OAAOa,UAAUC,eAAeC,KAAKJ,EAAYC,KACnDL,EAAGK,GAAWD,EAAWC,IAKjC,OAAOL,GAETS,UAAU,EACVC,cAAc,IAKbC,MAAML,UAAUM,MACnBnB,OAAOE,eAAegB,MAAML,UAAW,OAAQ,CAC7CV,MAAO,SAASiB,GAEd,GAAY,MAARC,KACF,MAAM,IAAIf,UAAU,iCAGtB,IAAIgB,EAAItB,OAAOqB,MAGXE,EAAMD,EAAEZ,SAAW,EAGvB,GAAyB,oBAAdU,EACT,MAAM,IAAId,UAAU,gCAUtB,IANA,IAAIkB,EAAUf,UAAU,GAGpBgB,EAAI,EAGDA,EAAIF,GAAK,CAKd,IAAIG,EAASJ,EAAEG,GACf,GAAIL,EAAUL,KAAKS,EAASE,EAAQD,EAAGH,GACrC,OAAOI,EAGTD,QASHP,MAAML,UAAUc,MACnB3B,OAAOE,eAAegB,MAAML,UAAW,OAAQ,CAC7CV,MAAO,SAASA,GAGd,GAAY,MAARkB,KACF,MAAM,IAAIf,UAAU,+BA4BtB,IAzBA,IAAIsB,EAAI5B,OAAOqB,MAGXE,EAAMK,EAAElB,SAAW,EAInBmB,EADQpB,UAAU,IACO,EAGzBgB,EAAII,EAAgB,EACtBC,KAAKC,IAAIR,EAAMM,EAAe,GAC9BC,KAAKE,IAAIH,EAAeN,GAGtBU,EAAMxB,UAAU,GAChByB,OAAsBC,IAARF,EAChBV,EAAMU,GAAO,EAGXG,EAAQF,EAAc,EACxBJ,KAAKC,IAAIR,EAAMW,EAAa,GAC5BJ,KAAKE,IAAIE,EAAaX,GAGjBE,EAAIW,GACTR,EAAEH,GAAKtB,EACPsB,IAIF,OAAOG,KAMbE,KAAKO,MAAQP,KAAKO,OAAS,SAASC,GAClC,OAAOR,KAAKS,IAAID,GAAKR,KAAKU,uLCvHtBC,oLAEMC,GACR,GAAIA,EAAShC,OAAS,EAAG,CACH,MAAhBgC,EAAS,KACXA,EAAWA,EAASC,UAAU,IAGhC,IAAIC,EAAQF,EAASG,MAAM,KAE3B,GAAID,EAAMlC,OAAS,EACjB,OAAOkC,EAAM,GAGjB,MAAO,8CAGUE,GAGZzB,KAAK0B,UAAU1B,KAAK2B,MAAMN,SAASO,YAAc5B,KAAK0B,UAAUD,EAAUJ,SAASO,WACtFC,OAAOC,SAAS,EAAE,oCAKpB,OAAO9B,KAAK2B,MAAMI,gBA1BIC,IAAMC,WA+BjBC,cAAWd,0NC8IXe,EA9JK,SAAAC,GAAK,IAAAC,EAAA,MAAK,CAC5BC,OAAQ,CACNC,QAAS,OACTC,OAAQ,IACRC,aAAc,MACdC,QAAS,aACTC,aAAc,OACdC,MAAO,OACPC,MAAO,OACPC,gBAAiB,OACjBC,UACE,0EACFC,WAAY,oBACZC,WAAY,SACZC,SAAU,aACVC,eAAgB,aAChBC,SAAU,YAEZC,SAAU,CACRD,SAAU,WACVE,IAAK,QAEPC,MAAO,CACLH,SAAU,SAEZI,UAAU7E,OAAA8E,EAAA,EAAA9E,CAAA,GACL6E,IADI,CAEPE,UAAW,OACXT,WAAY,SACZE,eAAgB,gBAChBZ,QAAS,OACToB,SAAU,WAEZC,MAAO,CACLC,QAAQlF,OAAA8E,EAAA,EAAA9E,CAAA,GACHmF,IADL,CAEEC,WAAY,OACZC,SAAU,OACVvB,aAAc,MACdwB,cAAe,OACfC,WAAY,SACZtB,MAAO,UACPuB,kBAAmB,CACjBvB,MAAO,UACPwB,WAAY,kBAIlBC,cAAe,CACbC,OAAQ,YACRC,UAAW,OAEbC,QAAS,CACP1B,gBAAiB2B,IACjB7B,MAAO,UACPG,UACE,gFAEJ2B,KAAM,CACJ5B,gBAAiB6B,IACjB/B,MAAO,UACPG,UACE,+EAEJ6B,QAAS,CACP9B,gBAAiB+B,IACjBjC,MAAO,UACPG,UACE,+EAEJ+B,QAAS,CACPhC,gBAAiBiC,IACjBnC,MAAO,UACPG,UACE,+EAEJiC,OAAQ,CACNlC,gBAAiBmC,IACjBrC,MAAO,UACPG,UACE,+EAEJmC,KAAM,CACJpC,gBAAiBqC,IACjBvC,MAAO,UACPG,UACE,+EAEJqC,YAAa,CACXtC,gBAAiB,yBACjBC,UAAW,OACXsC,WAAY,OACZzC,MAAO,WAET0C,KAAM,CACJ1C,MAAO,UACPE,gBAAiB,qBACjBC,UACE,8EAEJwC,MAAO,CACL/C,OAAQ,IACRE,QAAS,aACTC,aAAc,OACdC,MAAO,OACPE,gBAAiB,kBACjBC,UACE,2EAEJyC,YAAY7G,OAAA8E,EAAA,EAAA9E,CAAA,CACV6D,OAAQ,OACRiD,OAAQ,IACRC,mBAAoB,qBACpBC,mBAAoB,iBACpBC,yBAA0B,uBAC1B/C,MAAOgD,KACJ9C,IAPM,CAQTK,SAAU,QACVb,QAAS,QACTe,IAAK,IACLwC,OAAQ,QACRC,MAAO,IACPC,KAAM,OACNC,WAAY,UACZC,UAAW,UACXC,UAAW,OACXC,UAAW,OACXC,aAAc,MACdC,YAAa,KACVtD,KAELuD,OAAQ,CACN1D,MAAO,QAET2D,UAAQnE,EAAA,GAAA1D,OAAAE,EAAA,EAAAF,CAAA0D,EACLD,EAAMqE,YAAYC,GAAG,MAAQ,CAC5BnE,QAAS,kBACToE,oBAAqB,OACrBC,UAAW,SAJPjI,OAAAE,EAAA,EAAAF,CAAA0D,EAAA,gBAMS,KANT1D,OAAAE,EAAA,EAAAF,CAAA0D,EAAA,iBAOU,KAPV1D,OAAAE,EAAA,EAAAF,CAAA0D,EAAA,WAQI,KARJ1D,OAAAE,EAAA,EAAAF,CAAA0D,EAAA,iBASU,UATV1D,OAAAE,EAAA,EAAAF,CAAA0D,EAAA,cAUO,UAVP1D,OAAAE,EAAA,EAAAF,CAAA0D,EAAA,aAWM,UAXNA,GAaRwE,kBAAmB,CACjBzD,SAAU,WACV2C,MAAO,MACPzC,IAAK,MACLwD,OAAQ,KAEVC,KAAM,CACJC,YAAa,2BCtJXC,cACJ,SAAAA,EAAYtF,GAAO,IAAAuF,EAAA,OAAAvI,OAAAwI,EAAA,EAAAxI,CAAAqB,KAAAiH,IACjBC,EAAAvI,OAAAyI,EAAA,EAAAzI,CAAAqB,KAAArB,OAAA0I,EAAA,EAAA1I,CAAAsI,GAAAvH,KAAAM,KAAM2B,KACD2F,MAAQ,CACXC,YAAY,GAEdL,EAAKM,mBAAqBN,EAAKM,mBAAmBC,KAAxB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAC1BA,EAAKS,kBAAoBT,EAAKS,kBAAkBF,KAAvB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KANRA,oFASjBlH,KAAK4H,SAAS,CAAEL,YAAavH,KAAKsH,MAAMC,yDAGpCvH,KAAK2B,MAAMkG,qBACbhG,OAAOiG,iBAAiB,SAAU9H,KAAK2H,+DAGvB,IAAAI,EAC8B/H,KAAK2B,MAA7CqG,EADUD,EACVC,QAASpF,EADCmF,EACDnF,MAAOiF,EADNE,EACMF,oBACChG,OAAOoG,YACTJ,EAAoB/B,QACzCoC,SAASC,KACNC,qBAAqB,UAAU,GAC/BC,UAAUC,OAAON,EAAQpF,IAC5BsF,SAASC,KACNC,qBAAqB,UAAU,GAC/BC,UAAUE,IAAIP,EAAQH,EAAoBjF,UAE7CsF,SAASC,KACNC,qBAAqB,UAAU,GAC/BC,UAAUE,IAAIP,EAAQpF,IACzBsF,SAASC,KACNC,qBAAqB,UAAU,GAC/BC,UAAUC,OAAON,EAAQH,EAAoBjF,wDAI9C5C,KAAK2B,MAAMkG,qBACbhG,OAAO2G,oBAAoB,SAAUxI,KAAK2H,oDAGrC,IAAAc,EAAAC,EACmD1I,KAAK2B,MAAvDqG,EADDU,EACCV,QAASpF,EADV8F,EACU9F,MAAO+F,EADjBD,EACiBC,MAAOC,EADxBF,EACwBE,MAAOrF,EAD/BmF,EAC+BnF,MAAOF,EADtCqF,EACsCrF,SACvCwF,EAAgBC,KAAUL,EAAA,GAAA9J,OAAAE,EAAA,EAAAF,CAAA8J,EAC7BT,EAAQ1F,QAAS,GADY3D,OAAAE,EAAA,EAAAF,CAAA8J,EAE7BT,EAAQpF,GAASA,GAFYjE,OAAAE,EAAA,EAAAF,CAAA8J,EAG7BT,EAAQ3E,SAAWA,GAHU1E,OAAAE,EAAA,EAAAF,CAAA8J,EAI7BT,EAAQzE,MAAQA,GAJakF,IAMhC,OACEM,EAAAC,EAAAC,cAACC,EAAAF,EAAD,CAAQG,UAAWN,GACjBE,EAAAC,EAAAC,cAACG,EAAAJ,EAAD,CAASG,UAAWnB,EAAQxE,WAC1BuF,EAAAC,EAAAC,cAACI,EAAAL,EAAD,CAAQG,UAAWnB,EAAQpE,OACzBmF,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAMpK,GAAG,KACP6J,EAAAC,EAAAC,cAAA,OAAKM,IAAKxC,IAAMyC,IAAI,0CAA0CL,UAAWnB,EAAQjB,KAAMjB,OAAO,OAAOjD,MAAM,SAC1G+F,IAELG,EAAAC,EAAAC,cAACQ,EAAAT,EAAD,CAAQU,QAAM,EAACC,eAAe,MAAMR,UAAWnB,EAAQzB,QACrDwC,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQxB,UAAWmC,IAErCI,EAAAC,EAAAC,cAACQ,EAAAT,EAAD,CAAQY,MAAI,GACVb,EAAAC,EAAAC,cAACY,EAAAb,EAAD,CACEpG,MAAM,UACNkH,aAAW,cACXC,QAAS/J,KAAKwH,oBAEduB,EAAAC,EAAAC,cAACe,EAAAhB,EAAD,SAIND,EAAAC,EAAAC,cAACQ,EAAAT,EAAD,CAAQY,MAAI,EAACD,eAAe,OAC1BZ,EAAAC,EAAAC,cAACgB,EAAAjB,EAAD,CACEkB,QAAQ,YACRC,OAAQ,QACRC,KAAMpK,KAAKsH,MAAMC,WACjBS,QAAS,CACPqC,MAAOrC,EAAQxC,aAEjB8E,QAAStK,KAAKwH,oBAEduB,EAAAC,EAAAC,cAACY,EAAAb,EAAD,CACEpG,MAAM,UACNkH,aAAW,cACXC,QAAS/J,KAAKwH,mBACd2B,UAAWnB,EAAQnB,mBAEnBkC,EAAAC,EAAAC,cAACsB,EAAAvB,EAAD,OAEFD,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQ3D,eAAgBsE,aAxF/B3G,IAAMC,WAgG3BgF,EAAOuD,YAAc,CACnB5H,MAAO,SA0CM6H,UAAWtI,EAAXsI,CAAwBxD,uCCcxByD,GArKK,CAClB1E,KAAM,CACJ2E,MAAO,iBACPpI,QAAS,SAEXwD,MAAO,CACLrD,QAAS,SACT4B,OAAQ,IACRqG,MAAO,SAETC,WAAY,CACVD,MAAO,kBACPE,OAAQ,CACNlI,aAAc,EACd4B,UAAW,GACX7B,QAAS,EACToI,UAAW,OACXhF,OAAQ,GACRiF,OAAQ,CACNxI,QAAS,iBAGbyI,MAAO,CACLhH,SAAU,SAGdiH,OAAQ,CACNvI,QAAS,cACT0D,UAAW,SACX7D,QAAS,OACTuE,OAAQ,IACR1D,SAAU,WACVyH,OAAQ,CACNlI,aAAc,IACdD,QAAS,EACToI,UAAW,SAGfI,IAAK,CACHxI,QAAS,aACTyI,aAAc,CACZC,WAAY,IACZC,WAAY,oCACZ1I,aAAc,QAEhB2I,MAAO,CACL1I,MAAO,SAGX2I,QAAS,CACPnF,UAAW,QAEb4C,EAAG,CACDpG,MAAO6B,IACP+G,eAAgB,OAChB1I,gBAAiB,eAEnBwC,KAAM,CACJlB,WAAY,4DACZqH,eAAgB,YAChB7I,MAAO,OACP0I,MAAO,CACL1I,MAAO,QAEToI,MAAO,CACLpI,MAAO,QAET8I,MAAO,CACL9I,MAAO,OACP+I,QAAS,MACTC,YAAa,CACXhJ,MAAO,QAETiJ,mBAAoB,CAClBF,QAAS,IAGbG,OAAQ,CACNC,YAAa,yBAEfC,iDAAkD,CAChDpJ,MAAO,SAGX2C,MAAO,CACLzC,gBAAiB,OACjBF,MAAO,UACP4I,eAAgB,OAChBE,MAAO,CACLE,YAAa,CACXhJ,MAAO,WAETqJ,mBAAoB,CAClBrJ,MAAO,aAIbY,cACA0I,KAAM,CACJvJ,aAAc,IACdD,QAAS,IACT6B,UAAW,KAEb4H,MAAO,CACLvJ,MAAO,UACPF,QAAS,YACT0I,WAAY,MACZpH,SAAU,OACVC,cAAe,YACfxB,aAAc,MACd+I,eAAgB,OAChBpI,SAAU,WACVb,QAAS,SAEX6J,YAAa,CACX7J,QAAS,eACTG,QAAS,MACTG,MAAO,QAETwJ,KAAM,CACJxJ,MAAO,OACPiD,OAAQ,OACR1C,SAAU,WACVE,IAAK,OAEPgJ,WAAY,CACVzJ,MAAO,OACPiD,OAAQ,OACR9B,SAAU,OACVuI,SAAU,OACV7J,QAAS,EACT8J,SAAU,SACVpJ,SAAU,YAEZqJ,WAAW9N,OAAA8E,EAAA,EAAA9E,CAAA,GACN+N,IADK,CAER9J,MAAO,YAET+J,YAAYhO,OAAA8E,EAAA,EAAA9E,CAAA,GACP+N,IADM,CAET9J,MAAO,YAETgK,aAAajO,OAAA8E,EAAA,EAAA9E,CAAA,GACR+N,IADO,CAEV9J,MAAO,YAETiK,YAAa,CACX/G,OAAQ,OACRpD,QAAS,YACTsB,SAAU,OACVD,WAAY,OACZ+I,WAAY,QACZlK,MAAO,UACP4I,eAAgB,OAChBJ,WAAY,IACZC,WAAY,qCAEd0B,WAAY,CACVxK,QAAS,eACToI,MAAO,QAETqC,SAAU,CACRC,MAAO,kBC5FIC,sBAAiBzC,IAAWC,GAAXD,CA7DhC,SAAgB9I,GAAO,IAAA8G,EACb0E,EAAgDxL,EAAhDwL,EAAGpL,EAA6CJ,EAA7CI,SAAUiG,EAAmCrG,EAAnCqG,QAAS5F,EAA0BT,EAA1BS,MAAO8I,EAAmBvJ,EAAnBuJ,IAAK/B,EAAcxH,EAAdwH,UACpCiE,EACM,gBAAVhL,QAAoCtB,GAATsB,EACvBiL,EAAgBvE,KAAUL,EAAA,GAAA9J,OAAAE,EAAA,EAAAF,CAAA8J,EAC7BT,EAAQiD,QAAS,GADYtM,OAAAE,EAAA,EAAAF,CAAA8J,EAE7BT,EAAQ5F,GAASgL,GAFYzO,OAAAE,EAAA,EAAAF,CAAA8J,EAG7BT,EAAQkD,IAAMA,QAAoBpK,IAAbiB,GAHQpD,OAAAE,EAAA,EAAAF,CAAA8J,EAI7BU,OAA0BrI,IAAdqI,GAJiBV,IAUhC,OAJiBK,IAAWnK,OAAAE,EAAA,EAAAF,CAAA,GACzBqJ,EAAQgB,GAAI,IAIbD,EAAAC,EAAAC,cAAA,UAAQE,UAAWkE,GACjBtE,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQxE,gBACR1C,IAAbiB,EACCgH,EAAAC,EAAAC,cAAA,WACEF,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQuD,SAAUxJ,GAClCgH,EAAAC,EAAAC,cAAA,YAGF,IAGAF,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQhC,MACtB+C,EAAAC,EAAAC,cAACqE,EAAAtE,EAAD,CAAMG,UAAWnB,EAAQkE,MACvBnD,EAAAC,EAAAC,cAACsE,EAAAvE,EAAD,CAAUG,UAAWnB,EAAQoE,aAC3BrD,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAMpK,GAAG,qBAAqBiK,UAAWnB,EAAQmE,OAC9CgB,EAAE,8BAQPpE,EAAAC,EAAAC,cAACsE,EAAAvE,EAAD,CAAUG,UAAWnB,EAAQoE,aAC3BrD,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAMpK,GAAG,mBAAmBiK,UAAWnB,EAAQmE,OAC5CgB,EAAE,wBAKXpE,EAAAC,EAAAC,cAAA,OAAKE,UAAWL,IAAWd,EAAQjC,MAAOiC,EAAQmE,QAAlD,QACU,MAAO,IAAIqB,MAAOC,UAD5B,WAC+CN,EAAE,kBADjD,IACoEpE,EAAAC,EAAAC,cAAA,KAAGlK,OAAO,SAAS2O,KAAK,0BAAxB,WAA0DP,EAAE,iBAGlIpE,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQgF,6CCpDhC,SAASW,GAATC,GAAqC,IAATjM,EAAShD,OAAAkP,GAAA,EAAAlP,CAAA,GAAAiP,GAC3B5F,EAA0CrG,EAA1CqG,QAASjG,EAAiCJ,EAAjCI,SAAUoH,EAAuBxH,EAAvBwH,UAAc2E,EADNnP,OAAAoP,EAAA,EAAApP,CACegD,EADf,oCAEnC,OACEoH,EAAAC,EAAAC,cAAC+E,GAAAhF,EAADrK,OAAAC,OAAA,CAAM4E,WAAS,GAAKsK,EAApB,CAA0B3E,UAAWnB,EAAQiG,KAAO,IAAM9E,IACvDpH,GAKP4L,GAAcO,aAAe,CAC3B/E,UAAW,IASEsB,WA3BD,CACZwD,KAAM,CACJjH,YAAa,QACb8F,WAAY,QACZjK,MAAO,SAuBI4H,CAAkBkD,ICVlBlD,WApBD,CACZwD,KAAM,CACJ7K,SAAU,WACVP,MAAO,OACPa,UAAW,MACX2C,aAAc,OACdC,YAAa,SAcFmE,CATf,SAAAmD,GAAgC,IAATjM,EAAShD,OAAAkP,GAAA,EAAAlP,CAAA,GAAAiP,GACtB5F,EAA0CrG,EAA1CqG,QAASjG,EAAiCJ,EAAjCI,SAAUoH,EAAuBxH,EAAvBwH,UAAc2E,EADXnP,OAAAoP,EAAA,EAAApP,CACoBgD,EADpB,oCAE9B,OACEoH,EAAAC,EAAAC,cAAC+E,GAAAhF,EAADrK,OAAAC,OAAA,CAAMuP,MAAI,GAAKL,EAAf,CAAqB3E,UAAWnB,EAAQiG,KAAO,IAAM9E,IAClDpH,kQCiMQqM,GArMa,SAAAhM,GAAK,MAAK,CACpCiM,YAAa,CACXC,cAAe,OACf/L,QAAS,mBAEXgM,UAAU5P,OAAAE,EAAA,EAAAF,CAAA,GACPyD,EAAMqE,YAAY+H,KAAK,MAAQ,CAC9BpL,SAAU,oBACV4C,KAAM,mBACN1C,IAAK,mBACLmL,UAAW,kBACXC,WAAY,kBACZC,UAAW,CACT5L,UAAW,kBACX+J,WAAY,SACZ9F,YAAa,SACbhE,WAAY,kBACZuB,UAAW,iBACX5B,aAAc,iBACdD,QAAS,oBAIfkM,QAAS,CACPC,8FAA+F,CAC7FhM,MAAO,SAGXiM,aAAc,CACZvM,QAAS,QACTwM,+BAAgC,CAC9BzK,OAAQ,iBACR1B,MAAO,qBACPF,QAAS,uBACTsM,uBAAwB,CACtBnM,MAAO,OACPM,eAAgB,gBAItBpE,OAAQ,CACNkQ,kFAAmF,CACjF1M,QAAS,gBAEX2M,WAAY,CACVpC,WAAY,QAGhBqC,SAAU,CACR1M,aAAc,MACdD,OAAQ,IACRO,UAAW,kCACXO,IAAK,OACLwD,OAAQ,OACRyF,SAAU,QACV7J,QAAS,QACT4B,OAAQ,UACRN,SAAU,OACVoC,UAAW,OACX0E,UAAW,OACXhI,gBAAiB,OACjBsM,eAAgB,eAElBC,SAAU,CACR3M,QAAS,KAEX4M,iBAAiB3Q,OAAAE,EAAA,EAAAF,CAAA,CACfmI,OAAQ,QACP1E,EAAMqE,YAAY+H,KAAK,MAAQ,CAC9B1H,OAAQ,OACR1D,SAAU,SACVuH,MAAO,OACP9H,MAAO,OACP0B,UAAW,IACXzB,gBAAiB,cACjBN,OAAQ,IACRO,UAAW,OACXH,MAAO,UAGX2M,aAAa5Q,OAAA8E,EAAA,EAAA9E,CAAA,GACRmF,IADO,CAEVE,SAAU,OACVtB,QAAS,YACT4B,OAAQ,QACR7B,aAAc,MACdW,SAAU,WACVJ,WAAY,mBACZT,QAAS,QACT0K,MAAO,OACP7B,WAAY,MACZtF,OAAQ,OACRlD,MAAO,OACPsB,WAAY,WAEdsL,UAAW,CACTC,UAAW,CACT1M,UACE,4EACFD,gBAAiB,UACjBF,MAAO,SAGX8M,aAAc,CACZD,UAAU9Q,OAAA8E,EAAA,EAAA9E,CAAA,CACRmE,gBAAiB2B,IACjB7B,MAAO,WACJ+M,MAGPC,UAAW,CACTH,UAAU9Q,OAAA8E,EAAA,EAAA9E,CAAA,CACRmE,gBAAiB6B,IACjB/B,MAAO,WACJiN,MAGPC,aAAc,CACZL,UAAU9Q,OAAA8E,EAAA,EAAA9E,CAAA,CACRmE,gBAAiB+B,IACjBjC,MAAO,WACJmN,MAGPC,aAAc,CACZP,UAAU9Q,OAAA8E,EAAA,EAAA9E,CAAA,CACRmE,gBAAiBiC,IACjBnC,MAAO,WACJqN,MAGPC,YAAa,CACXT,UAAU9Q,OAAA8E,EAAA,EAAA9E,CAAA,CACRmE,gBAAiBmC,IACjBrC,MAAO,WACJuN,MAGPC,UAAW,CACTX,UAAU9Q,OAAA8E,EAAA,EAAA9E,CAAA,CACRmE,gBAAiBqC,IACjBvC,MAAO,WACJyN,MAGPC,gBAAiB,CACflK,UAAW,SAEbmK,oBAAqB,CACnBjM,OAAQ,QACRxB,gBAAiB,sBACjBgD,OAAQ,MACR0G,SAAU,UAEZgE,WAAY,CACV3N,MAAO,OACPiD,OAAQ,QAEV2K,MAAO,CACLzN,WAAY,oBACZT,QAAS,eACTM,MAAO,IACPiD,OAAQ,IACRgH,WAAY,MACZ4D,cAAe,SACfvK,UAAW,YACXwK,YAAa,wBACbC,WAAY,yBAEdC,YAAa,CACXpC,UAAW,kBAEbqC,YAAa,CACXrC,UAAW,kBAEbsC,SAAU,CACR/J,YAAa,OAEfgK,eAAgB,CACdzO,QAAS,QACTG,QAAS,oBACTsB,SAAU,UACVD,WAAY,WACZnB,MAAO,OACPsB,WAAY,SACZkH,WAAY,UACZ7G,UAAW,OACXJ,kBAAmB,CACjBrB,gBAAiB,cACjBmO,OAAQ,SAGZC,YAAa,CACXxO,QAAS,OC5LPyO,eACJ,SAAAA,EAAYxP,GAAO,IAAAuF,EAAA,OAAAvI,OAAAwI,EAAA,EAAAxI,CAAAqB,KAAAmR,IACjBjK,EAAAvI,OAAAyI,EAAA,EAAAzI,CAAAqB,KAAArB,OAAA0I,EAAA,EAAA1I,CAAAwS,GAAAzR,KAAAM,KAAM2B,KASRyP,YAAc,WACZlK,EAAKU,SAAS,SAAAN,GAAK,MAAK,CAAE8C,MAAO9C,EAAM8C,SAXtBlD,EAanBmK,YAAc,SAAAC,GACRpK,EAAKqK,SAASC,SAASF,EAAMvS,SAIjCmI,EAAKU,SAAS,CAAEwC,MAAM,KAhBtBlD,EAAKI,MAAQ,CACX8C,MAAM,GAERlD,EAAKkK,YAAclK,EAAKkK,YAAY3J,KAAjB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACnBA,EAAKmK,YAAcnK,EAAKmK,YAAY5J,KAAjB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACnBA,EAAKuK,gBAAkBvK,EAAKuK,gBAAgBhK,KAArB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAPNA,+EAoBHwK,GACd1R,KAAK4H,SAAS,CAAEwC,MAAM,IAClBpK,KAAK2B,OAAS3B,KAAK2B,MAAMoI,SAC3B/J,KAAK2B,MAAMoI,QAAQ2H,oCAGd,IAAAjJ,EAAAkJ,EAAAC,EAAAC,EAAA7R,KACCoK,EAASpK,KAAKsH,MAAd8C,KADDrC,EAgBH/H,KAAK2B,MAbPqG,EAHKD,EAGLC,QACA8J,EAJK/J,EAIL+J,WACAtB,EALKzI,EAKLyI,WACAuB,EANKhK,EAMLgK,aACAC,EAPKjK,EAOLiK,YACAC,EARKlK,EAQLkK,OACAjB,EATKjJ,EASLiJ,eACAP,EAVK1I,EAUL0I,MACAyB,EAXKnK,EAWLmK,WACAC,EAZKpK,EAYLoK,cACAjB,EAbKnJ,EAaLmJ,YACAkB,EAdKrK,EAcLqK,cACAC,EAfKtK,EAeLsK,YAEIC,EAAexJ,KAAUL,EAAA,GAAA9J,OAAAE,EAAA,EAAAF,CAAA8J,EAC5BT,EAAQyI,OAAQ,GADY9R,OAAAE,EAAA,EAAAF,CAAA8J,EAE5BT,EAAQ8I,YAAcmB,IAAW7H,GAFLzL,OAAAE,EAAA,EAAAF,CAAA8J,EAG5BT,EAAQ6I,YAAczG,IAAS6H,GAHHxJ,IAKzB8G,EAAezG,KAAU6I,EAAA,GAAAhT,OAAAE,EAAA,EAAAF,CAAAgT,EAC5B3J,EAAQuH,cAAe,GADK5Q,OAAAE,EAAA,EAAAF,CAAAgT,EAE5B3J,EAAQkK,EAAa,UAAW,GAFJvT,OAAAE,EAAA,EAAAF,CAAAgT,EAG5B3J,EAAQkJ,YAAcA,GAHMS,IAKzBY,EACJxJ,EAAAC,EAAAC,cAACuJ,GAAAxJ,EAAD,CAAUyJ,KAAK,OAAOtJ,UAAWnB,EAAQqH,eACnBvO,IAAnBkQ,EACCjI,EAAAC,EAAAC,cAACyJ,GAAA1J,EAAD,CACEe,QAAS,kBAAM8H,EAAKJ,gBAAgBT,IACpC7H,UAAWnB,EAAQgJ,gBAElBA,GAED,KACHe,EAAaY,IAAI,SAACC,EAAMC,GACvB,OAAID,EAAKE,OAEL/J,EAAAC,EAAAC,cAACyJ,GAAA1J,EAAD,CACE6J,IAAKA,EACL1J,UAAWnB,EAAQgJ,eACnB+B,UAAQ,GAEPH,EAAKE,QAIRF,EAAKI,QAELjK,EAAAC,EAAAC,cAACgK,GAAAjK,EAAD,CACE6J,IAAKA,EACL9I,QAAS,kBAAM8H,EAAKJ,gBAAgB,YACpCtI,UAAWnB,EAAQuI,sBAIdqC,EAAKvG,MAAQuG,EAAKM,KAE3BnK,EAAAC,EAAAC,cAACyJ,GAAA1J,EAAD,CACE6J,IAAKA,EACL9I,QAAS,kBAAM8H,EAAKJ,gBAAgBmB,IACpCzJ,UAAWoG,GAEXxG,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,KAAO4J,EAAKvG,MACXuG,EAAKM,MAIc,UAAbN,EAAKQ,IAEZrK,EAAAC,EAAAC,cAACyJ,GAAA1J,EAAD,CACE6J,IAAKA,EACL1J,UAAWoG,EACX8D,MAAO,CAAE7G,SAAU,UAAW9J,QAAS,IAEtCkQ,GAKL7J,EAAAC,EAAAC,cAACyJ,GAAA1J,EAAD,CACE6J,IAAKA,EACL9I,QAAS,kBAAM8H,EAAKJ,gBAAgBmB,IACpCzJ,UAAWoG,GAEVqD,MAMX,OACE7J,EAAAC,EAAAC,cAAA,OAAKE,UAAWiJ,EAAgBpK,EAAQ8G,aAAe9G,EAAQ4G,SAC7D7F,EAAAC,EAAAC,cAAA,OAAKE,eAA0BrI,IAAfgR,EAA2B,GAAK9J,EAAQjJ,QACtDgK,EAAAC,EAAAC,cAACqK,GAAA,EAAD3U,OAAAC,OAAA,CACEkL,aAAW,gBACXyJ,YAAWnJ,EAAO,YAAc,KAChCoJ,gBAAc,OACdC,UAAW,SAAAC,GACT7B,EAAKN,SAAWmC,IAEd1B,EAPN,CAQEjI,QAAS/J,KAAKoR,mBAEEtQ,IAAf0P,EACCzH,EAAAC,EAAAC,cAAAjJ,KAAM2B,MAAM6O,WAAZ,CAAuBrH,UAAWnB,EAAQwI,aACxC,UACY1P,IAAfgR,EAA2BA,EAAa,KACxCrB,EAAQ1H,EAAAC,EAAAC,cAAA,KAAGE,UAAWmJ,IAAmB,OAG9CvJ,EAAAC,EAAAC,cAAC0K,GAAA3K,EAAD,CACEoB,KAAMA,EACNmH,SAAUvR,KAAKuR,SACfvO,YAAU,EACV4Q,eAAa,EACbC,UAAW1B,EACXhJ,UAAWL,KAAU8I,EAAA,GAAAjT,OAAAE,EAAA,EAAAF,CAAAiT,EAClB5J,EAAQqG,aAAejE,GADLzL,OAAAE,EAAA,EAAAF,CAAAiT,EAElB5J,EAAQsH,kBAAmB,GAFT3Q,OAAAE,EAAA,EAAAF,CAAAiT,EAGlB5J,EAAQuG,UAAYnE,GAAQiI,GAHVT,KAMpB,SAAAhE,KAAGkG,gBAAHlG,EAAoBiG,UAApB,OACC9K,EAAAC,EAAAC,cAAC8K,GAAA/K,EAAD,CACEgL,GAAI5J,EACJ6J,GAAG,YACHZ,MACEpB,EACI,CAAEiC,gBAAiB,YACnB,CAAEA,gBAAiB,UAGzBnL,EAAAC,EAAAC,cAACkL,GAAAnL,EAAD,CAAOG,UAAWnB,EAAQmH,UACvBiD,EACCG,EAEAxJ,EAAAC,EAAAC,cAACmL,GAAApL,EAAD,CAAmBqL,YAAaxC,EAAKR,YAAa+B,IAAI,SACnDb,eAvKQvQ,IAAMC,WAmLnCkP,GAAejD,aAAe,CAC5BuC,OAAO,EACPwB,QAAQ,EACRE,cAAe,SACfD,WAAY,WA0CCzH,WAAW2D,GAAX3D,CAAgC0G,ICAhCmD,GApOe,SAAAlS,GAAK,OAAAzD,OAAA8E,EAAA,EAAA9E,CAAA,GAC9ByP,GAD8B,CAEjCC,YAAa,CACXC,cAAe,OACf/L,QAAS,mBAEXgM,UAAU5P,OAAAE,EAAA,EAAAF,CAAA,GACPyD,EAAMqE,YAAY+H,KAAK,MAAQ,CAC9BpL,SAAU,oBACV4C,KAAM,mBACN1C,IAAK,mBACLmL,UAAW,kBACXC,WAAY,kBACZC,UAAW,CACT5L,UAAW,kBACX+J,WAAY,SACZ9F,YAAa,SACbhE,WAAY,kBACZuB,UAAW,iBACX5B,aAAc,iBACdD,QAAS,oBAIfkM,QAAS,CACPC,8FAA+F,CAC7FhM,MAAO,SAGXiM,aAAc,CACZvM,QAAS,QACTwM,+BAAgC,CAC9BzK,OAAQ,iBACR1B,MAAO,qBACPF,QAAS,uBACTsM,uBAAwB,CACtBnM,MAAO,OACPM,eAAgB,gBAItBpE,OAAQ,CACNkQ,kFAAmF,CACjF1M,QAAS,gBAEX2M,WAAY,CACVpC,WAAY,QAGhBqC,SAAU,CACR1M,aAAc,MACdD,OAAQ,IACRO,UAAW,kCACXO,IAAK,OACLwD,OAAQ,OACRyF,SAAU,QACV7J,QAAS,QACT4B,OAAQ,UACRN,SAAU,OACVoC,UAAW,OACX0E,UAAW,OACXhI,gBAAiB,OACjBsM,eAAgB,eAElBC,SAAU,CACR3M,QAAS,KAEX6M,aAAa5Q,OAAA8E,EAAA,EAAA9E,CAAA,GACRmF,IADO,CAEVE,SAAU,OACVtB,QAAS,YACT4B,OAAQ,QACR7B,aAAc,MACdW,SAAU,WACVJ,WAAY,mBACZT,QAAS,QACT0K,MAAO,OACP7B,WAAY,MACZtF,OAAQ,OACRlD,MAAO,OACPsB,WAAY,WAEdsL,UAAW,CACTC,UAAW,CACT1M,UACE,4EACFD,gBAAiB,UACjBF,MAAO,SAGX2R,aAAc,CACVC,oBAAqB,CACnB5R,MAAO,UACP4I,eAAgB,OAChBjJ,QAAS,OACTG,QAAS,oCAGfgN,aAAc,CACZD,UAAU9Q,OAAA8E,EAAA,EAAA9E,CAAA,CACRmE,gBAAiB2B,IACjB7B,MAAO,WACJ+M,MAGPC,UAAW,CACTH,UAAU9Q,OAAA8E,EAAA,EAAA9E,CAAA,CACRmE,gBAAiB6B,IACjB/B,MAAO,WACJiN,MAGPC,aAAc,CACZL,UAAU9Q,OAAA8E,EAAA,EAAA9E,CAAA,CACRmE,gBAAiB+B,IACjBjC,MAAO,WACJmN,MAGPC,aAAc,CACZP,UAAU9Q,OAAA8E,EAAA,EAAA9E,CAAA,CACRmE,gBAAiBiC,IACjBnC,MAAO,WACJqN,MAGPC,YAAa,CACXT,UAAU9Q,OAAA8E,EAAA,EAAA9E,CAAA,CACRmE,gBAAiBmC,IACjBrC,MAAO,WACJuN,MAGPC,UAAW,CACTX,UAAU9Q,OAAA8E,EAAA,EAAA9E,CAAA,CACRmE,gBAAiBqC,IACjBvC,MAAO,WACJyN,MAGPE,oBAAqB,CACnBjM,OAAQ,QACRxB,gBAAiB,sBACjBgD,OAAQ,MACR0G,SAAU,UAEZgE,WAAY,CACV3N,MAAO,OACPiD,OAAQ,QAEV2K,MAAO,CACLzN,WAAY,oBACZT,QAAS,eACTM,MAAO,IACPiD,OAAQ,IACRgH,WAAY,MACZ4D,cAAe,SACfvK,UAAW,YACXwK,YAAa,wBACbC,WAAY,yBAEdC,YAAa,CACXpC,UAAW,kBAEbqC,YAAa,CACXrC,UAAW,kBAEbuC,eAAgB,CACdzO,QAAS,QACTG,QAAS,oBACTsB,SAAU,UACVD,WAAY,WACZnB,MAAO,OACPsB,WAAY,SACZkH,WAAY,UACZ7G,UAAW,OACXJ,kBAAmB,CACjBrB,gBAAiB,cACjBmO,OAAQ,SAGZwD,cAAe,CACX5R,MAAO,OACPiD,OAAQ,OACRkB,YAAa,OACb2E,QAAS,MACTpH,UAAW,OACXjB,IAAK,MACLoN,cAAe,SACf1M,SAAU,OACVZ,SAAU,YAGd8N,YAAa,CACXxO,QAAS,KAGXgS,SAAS/V,OAAAE,EAAA,EAAAF,CAAA,CACLgM,MAAO,OACP/H,MAAO,UACPQ,SAAU,WACVb,QAAS,QACTM,MAAO,OACPyB,OAAQ,IACR5B,QAAS,KACRN,EAAMqE,YAAY+H,KAAK,MAAQ,CAC9B3D,OAAQ,CACN8J,UAAW,QACXnI,SAAU,UAEZ3J,MAAO,OACP+R,qBAAsB,CACpBC,UAAW,CACThS,MAAO,oBACP0I,QAAS,KACThJ,QAAS,QACTuD,OAAQ,MACRgH,WAAY,OACZhK,gBAAiB,cAK3BgS,aAAc,CACVpS,QAAS,gDClPFqS,GAAY,CACvB,CACEC,KAAM,KACNC,KAAM,MACNrR,MAAO,YAET,CACEoR,KAAM,KACNC,KAAM,MACNrR,MAAO,YCPEsR,WAAM,CACfC,gBA+CJ,SAAyBC,EAAWC,GAClC,OAAOC,GAAK,UAAYF,EAAY,IAAMC,IA/CxCE,aAkDJ,WACE,OAAOD,GAAK,kBAlDVE,WAqDJ,WACE,OAAOF,GAAK,oBArDVG,cAwDJ,WACE,OAAOH,GAAK,uBAxDVI,UA2DJ,WACE,OAAOJ,GAAK,mBA3DVK,gBA8DJ,WACE,OAAOL,GAAK,mBA9DVM,gBAiEJ,WACE,OAAON,GAAK,mBAjEVO,uBAoEJ,SAAiCC,GAC/B,OAAOR,GAAK,kBAAoBQ,IApE9BC,kBAuEJ,SAA4BC,GAC1B,OAAOV,GAAK,SAAWU,IAvErBC,iBA0EJ,SAA2BD,EAAeE,GACxC,OAAOZ,GAAK,SAAWU,EAAgB,IAAME,IA1E3CC,oBA6EJ,SAA8BC,GAC5B,OAAOd,GAAK,WAAac,IA7EvBC,mBAgFJ,SAA6BD,GAC3B,OAAOd,GAAK,UAAYc,IAhFtBE,qBAmFJ,SAA+BC,GAC7B,OAAOjB,GAAK,2BAA6BkB,UAAUD,KAnFjDE,uBAsFJ,SAAiCF,GAC/B,OAAOjB,GAAK,6BAA+BkB,UAAUD,OAlFvD,SAASjB,GAAMoB,GACb,IAAIC,EAAU,GAWd,OAVAA,EAAQ,gBAAkB,aAC1BA,EAAO,OAAa,mBASbC,MAFKC,4BAAgCH,EALrB,CACrBI,OAAQ,MACRH,QAASA,IAMRI,KAAM,SAAAC,GACL,OAAOA,EAAS9D,OAAO6D,KAAM,SAAA7D,GAC3B,IAAM+D,EAAO/D,GAAQgE,KAAKC,MAAMjE,GAChC,IAAK8D,EAASI,GAAI,CAChB,IAAMC,EAASJ,GAAQA,EAAKK,SAAYN,EAASO,WACjD,OAAOC,QAAQC,OAAOJ,GAGxB,OAAOJ,MAIVS,MAAO,SAASL,UCnBfM,eAEJ,SAAAA,EAAYhW,GAAO,IAAAuF,EAAA,OAAAvI,OAAAwI,EAAA,EAAAxI,CAAAqB,KAAA2X,IACjBzQ,EAAAvI,OAAAyI,EAAA,EAAAzI,CAAAqB,KAAArB,OAAA0I,EAAA,EAAA1I,CAAAgZ,GAAAjY,KAAAM,KAAM2B,KAyBRyP,YAAc,WACZlK,EAAKU,SAAS,SAAAN,GAAK,MAAK,CAAE8C,MAAO9C,EAAM8C,SA3BtBlD,EAwCnBmK,YAAc,SAAAC,GACRpK,EAAKqK,SAASC,SAASF,EAAMvS,SAGjCmI,EAAKU,SAAS,CAAEwC,MAAM,KAzCtBlD,EAAKI,MAAQ,CACX8C,MAAM,GAGRlD,EAAKkK,YAAclK,EAAKkK,YAAY3J,KAAjB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACnBA,EAAKmK,YAAcnK,EAAKmK,YAAY5J,KAAjB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACnBA,EAAK0Q,qBAAuB1Q,EAAK0Q,qBAAqBnQ,KAA1B9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAE5BA,EAAK2Q,MAAQ,GAEb3C,GAAIK,eACHwB,KAAM,SAAAE,GACDA,GAAQA,EAAK5X,OAAS,EACxB6H,EAAK2Q,MAAQZ,GAGba,QAAQC,KAAK,kCACb7Q,EAAK2Q,MAAQG,MApBA9Q,oFA8BE+Q,GACfA,EAAIjD,OACNkD,KAAKC,eAAeF,EAAIjD,MACxBoD,KAAOC,YAAYJ,EAAIjD,MACvBhV,KAAK4H,SAAS,CACZwC,MAAM,yCAYA4K,GACV,GAAIhV,KAAK6X,OAAS7X,KAAK6X,MAAMxY,OAAS,EAAI,CACxC,IAAIiZ,EAAOtY,KAAK6X,MAAMU,OAAO,SAAAN,GAC3B,OAAOA,EAAIjD,OAASA,IAEtB,GAAIsD,GAAQA,EAAKjZ,OAAS,EACxB,OAAOiZ,EAAK,GAAGrD,UAGjB,OAAQD,GACN,IAAK,KACH,MAAO,MACT,IAAK,KACH,MAAO,MACT,QACE,MAAO,wCAKN,IAAAvM,EAAAkJ,EAAAC,EAAAC,EAAA7R,KACCoK,EAASpK,KAAKsH,MAAd8C,KADDrC,EAcH/H,KAAK2B,MAXPqG,EAHKD,EAGLC,QACA8J,EAJK/J,EAIL+J,WACAtB,EALKzI,EAKLyI,WACAwB,EANKjK,EAMLiK,YACAC,EAPKlK,EAOLkK,OACAxB,EARK1I,EAQL0I,MACAyB,EATKnK,EASLmK,WACAC,EAVKpK,EAULoK,cACAjB,EAXKnJ,EAWLmJ,YACAkB,EAZKrK,EAYLqK,cACAC,EAbKtK,EAaLsK,YAGIC,EAAexJ,KAAUL,EAAA,GAAA9J,OAAAE,EAAA,EAAAF,CAAA8J,EAC5BT,EAAQyI,OAAQ,GADY9R,OAAAE,EAAA,EAAAF,CAAA8J,EAE5BT,EAAQ8I,YAAcmB,IAAW7H,GAFLzL,OAAAE,EAAA,EAAAF,CAAA8J,EAG5BT,EAAQ6I,YAAczG,IAAS6H,GAHHxJ,IAMzB8G,EAAezG,KAAU6I,EAAA,GAAAhT,OAAAE,EAAA,EAAAF,CAAAgT,EAC5B3J,EAAQuH,cAAe,GADK5Q,OAAAE,EAAA,EAAAF,CAAAgT,EAE5B3J,EAAQkK,EAAa,UAAW,GAFJvT,OAAAE,EAAA,EAAAF,CAAAgT,EAG5B3J,EAAQkJ,YAAcA,IAAe,GAHTS,IAMzBY,EACJxJ,EAAAC,EAAAC,cAACuJ,GAAAxJ,EAAD,CAAUyJ,KAAK,OAAOtJ,UAAWnB,EAAQqH,UACtCrP,KAAK6X,MAAMlF,IAAI,SAACC,EAAMC,GACrB,OACE9J,EAAAC,EAAAC,cAACyJ,GAAA1J,EAAD,CACE6J,IAAKA,EACL9I,QAAS,kBAAM8H,EAAK+F,qBAAqBhF,IACzCzJ,UAAWoG,GAEXxG,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWnB,EAAQyM,eAAzB,QACC7B,EAAKhP,UAOhB,OACEmF,EAAAC,EAAAC,cAAA,OAAKE,UAAWiJ,EAAgBpK,EAAQ8G,aAAe9G,EAAQ4G,SAC7D7F,EAAAC,EAAAC,cAAA,OAAKE,eAA0BrI,IAAfgR,EAA2B,GAAK9J,EAAQjJ,QACtDgK,EAAAC,EAAAC,cAACqK,GAAA,EAAD3U,OAAAC,OAAA,CACEkL,aAAW,gBACXyJ,YAAWnJ,EAAO,YAAc,KAChCoJ,gBAAc,OACdC,UAAW,SAAAC,GACT7B,EAAKN,SAAWmC,IAEd1B,EAPN,CAQEjI,QAAS/J,KAAKoR,mBAEEtQ,IAAf0P,EACCzH,EAAAC,EAAAC,cAAAjJ,KAAM2B,MAAM6O,WAAZ,CAAuBrH,UAAWnB,EAAQwI,aACxC,KACHxQ,KAAKwY,YAAYxY,KAAK2B,MAAMsW,KAC5BxH,EAAQ1H,EAAAC,EAAAC,cAAA,KAAGE,UAAWmJ,IAAmB,OAG9CvJ,EAAAC,EAAAC,cAAC0K,GAAA3K,EAAD,CACEoB,KAAMA,EACNmH,SAAUvR,KAAKuR,SACfvO,YAAU,EACV4Q,eAAa,EACbC,UAAW1B,EACXhJ,UAAWL,KAAU8I,EAAA,GAAAjT,OAAAE,EAAA,EAAAF,CAAAiT,EAClB5J,EAAQqG,aAAejE,GADLzL,OAAAE,EAAA,EAAAF,CAAAiT,EAElB5J,EAAQsH,kBAAmB,GAFT3Q,OAAAE,EAAA,EAAAF,CAAAiT,EAGlB5J,EAAQuG,UAAYnE,GAAQiI,GAHVT,KAMpB,SAAAhE,KAAGkG,gBAAHlG,EAAoBiG,UAApB,OACC9K,EAAAC,EAAAC,cAAC8K,GAAA/K,EAAD,CACEgL,GAAI5J,EACJ6J,GAAG,YACHZ,MACEpB,EACI,CAAEiC,gBAAiB,YACnB,CAAEA,gBAAiB,UAGzBnL,EAAAC,EAAAC,cAACkL,GAAAnL,EAAD,CAAOG,UAAWnB,EAAQmH,UACvBiD,EACCG,EAEAxJ,EAAAC,EAAAC,cAACmL,GAAApL,EAAD,CAAmBqL,YAAaxC,EAAKR,YAAa+B,IAAI,SACnDb,eAjKUtQ,aA6K/B0V,GAAiBzJ,aAAe,CAC9BuC,OAAO,EACPqB,WAAY,OAGC5E,sBAAiBzC,IAAW6J,GAAX7J,CAAkCkN,KCyCnDc,GApOW,SAAArW,GAAK,OAAAzD,OAAA8E,EAAA,EAAA9E,CAAA,GAC1ByP,GAD0B,CAE7BC,YAAa,CACXC,cAAe,OACf/L,QAAS,mBAEXgM,UAAU5P,OAAAE,EAAA,EAAAF,CAAA,GACPyD,EAAMqE,YAAY+H,KAAK,MAAQ,CAC9BpL,SAAU,oBACV4C,KAAM,mBACN1C,IAAK,mBACLmL,UAAW,kBACXC,WAAY,kBACZC,UAAW,CACT5L,UAAW,kBACX+J,WAAY,SACZ9F,YAAa,SACbhE,WAAY,kBACZuB,UAAW,iBACX5B,aAAc,iBACdD,QAAS,oBAIfkM,QAAS,CACPC,8FAA+F,CAC7FhM,MAAO,SAGXiM,aAAc,CACZvM,QAAS,QACTwM,+BAAgC,CAC9BzK,OAAQ,iBACR1B,MAAO,qBACPF,QAAS,uBACTsM,uBAAwB,CACtBnM,MAAO,OACPM,eAAgB,gBAItBpE,OAAQ,CACNkQ,kFAAmF,CACjF1M,QAAS,gBAEX2M,WAAY,CACVpC,WAAY,QAGhBqC,SAAU,CACR1M,aAAc,MACdD,OAAQ,IACRO,UAAW,kCACXO,IAAK,OACLwD,OAAQ,OACRyF,SAAU,QACV7J,QAAS,QACT4B,OAAQ,UACRN,SAAU,OACVoC,UAAW,OACX0E,UAAW,OACXhI,gBAAiB,OACjBsM,eAAgB,eAElBC,SAAU,CACR3M,QAAS,KAEX6M,aAAa5Q,OAAA8E,EAAA,EAAA9E,CAAA,GACRmF,IADO,CAEVE,SAAU,OACVtB,QAAS,YACT4B,OAAQ,QACR7B,aAAc,MACdW,SAAU,WACVJ,WAAY,mBACZT,QAAS,QACT0K,MAAO,OACP7B,WAAY,MACZtF,OAAQ,OACRlD,MAAO,OACPsB,WAAY,WAEdsL,UAAW,CACTC,UAAW,CACT1M,UACE,4EACFD,gBAAiB,UACjBF,MAAO,SAGX2R,aAAc,CACVC,oBAAqB,CACnB5R,MAAO,UACP4I,eAAgB,OAChBjJ,QAAS,OACTG,QAAS,oCAGfgN,aAAc,CACZD,UAAU9Q,OAAA8E,EAAA,EAAA9E,CAAA,CACRmE,gBAAiB2B,IACjB7B,MAAO,WACJ+M,MAGPC,UAAW,CACTH,UAAU9Q,OAAA8E,EAAA,EAAA9E,CAAA,CACRmE,gBAAiB6B,IACjB/B,MAAO,WACJiN,MAGPC,aAAc,CACZL,UAAU9Q,OAAA8E,EAAA,EAAA9E,CAAA,CACRmE,gBAAiB+B,IACjBjC,MAAO,WACJmN,MAGPC,aAAc,CACZP,UAAU9Q,OAAA8E,EAAA,EAAA9E,CAAA,CACRmE,gBAAiBiC,IACjBnC,MAAO,WACJqN,MAGPC,YAAa,CACXT,UAAU9Q,OAAA8E,EAAA,EAAA9E,CAAA,CACRmE,gBAAiBmC,IACjBrC,MAAO,WACJuN,MAGPC,UAAW,CACTX,UAAU9Q,OAAA8E,EAAA,EAAA9E,CAAA,CACRmE,gBAAiBqC,IACjBvC,MAAO,WACJyN,MAGPE,oBAAqB,CACnBjM,OAAQ,QACRxB,gBAAiB,sBACjBgD,OAAQ,MACR0G,SAAU,UAEZgE,WAAY,CACV3N,MAAO,OACPiD,OAAQ,QAEV2K,MAAO,CACLzN,WAAY,oBACZT,QAAS,eACTM,MAAO,IACPiD,OAAQ,IACRgH,WAAY,MACZ4D,cAAe,SACfvK,UAAW,YACXwK,YAAa,wBACbC,WAAY,yBAEdC,YAAa,CACXpC,UAAW,kBAEbqC,YAAa,CACXrC,UAAW,kBAEbuC,eAAgB,CACdzO,QAAS,QACTG,QAAS,oBACTsB,SAAU,UACVD,WAAY,WACZnB,MAAO,OACPsB,WAAY,SACZkH,WAAY,UACZ7G,UAAW,OACXJ,kBAAmB,CACjBrB,gBAAiB,cACjBmO,OAAQ,SAGZwD,cAAe,CACX5R,MAAO,OACPiD,OAAQ,OACRkB,YAAa,OACb2E,QAAS,MACTpH,UAAW,OACXjB,IAAK,MACLoN,cAAe,SACf1M,SAAU,OACVZ,SAAU,YAGd8N,YAAa,CACXxO,QAAS,KAGXgS,SAAS/V,OAAAE,EAAA,EAAAF,CAAA,CACLgM,MAAO,OACP/H,MAAO,UACPQ,SAAU,WACVb,QAAS,QACTM,MAAO,OACPyB,OAAQ,IACR5B,QAAS,KACRN,EAAMqE,YAAY+H,KAAK,MAAQ,CAC9B3D,OAAQ,CACN8J,UAAW,QACXnI,SAAU,UAEZ3J,MAAO,OACP+R,qBAAsB,CACpBC,UAAW,CACThS,MAAO,oBACP0I,QAAS,KACThJ,QAAS,QACTuD,OAAQ,MACRgH,WAAY,OACZhK,gBAAiB,cAK3BgS,aAAc,CACVpS,QAAS,mBChPFgW,GAAQ,CACnBC,EAAI,CACF3D,KAAM,IACN4D,MAAO,KACPC,YAAa,wBACbpK,UAJE,SAIQqK,GAAO,OAAOrY,KAAKsY,MAAY,IAAND,EAAc,KAAO,MAE1DE,GAAK,CACHhE,KAAM,KACN4D,MAAO,KACPC,YAAa,sBACbpK,UAJG,SAIOqK,GAAO,OAAOA,IAE1BG,GAAK,CACHjE,KAAM,KACN4D,MAAO,MACPC,YAAa,4BACbpK,UAJG,SAIOqK,GAAO,OAAOrY,KAAKsY,MAAY,IAAND,EAAa,KAAO,OCd9CI,GAAUlX,IAAMmX,cAAc,CACvCC,KAAMV,GAAMM,GACZK,QAAS,aACTC,QAAS,eCePC,eAEF,SAAAA,EAAY5X,GAAO,IAAAuF,EAAA,OAAAvI,OAAAwI,EAAA,EAAAxI,CAAAqB,KAAAuZ,IACfrS,EAAAvI,OAAAyI,EAAA,EAAAzI,CAAAqB,KAAArB,OAAA0I,EAAA,EAAA1I,CAAA4a,GAAA7Z,KAAAM,KAAM2B,KAWVyP,YAAc,WACVlK,EAAKU,SAAS,SAAAN,GAAK,MAAK,CAAE8C,MAAO9C,EAAM8C,SAbxBlD,EAyBnBmK,YAAc,SAAAC,GACNpK,EAAKqK,SAASC,SAASF,EAAMvS,SAIjCmI,EAAKU,SAAS,CAAEwC,MAAM,KA3BtBlD,EAAKI,MAAQ,CACT8C,MAAM,GAGVlD,EAAKkK,YAAclK,EAAKkK,YAAY3J,KAAjB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACnBA,EAAKmK,YAAcnK,EAAKmK,YAAY5J,KAAjB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACnBA,EAAKsS,iBAAmBtS,EAAKsS,iBAAiB/R,KAAtB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KATTA,gFAgBFkS,EAAMC,GACfD,IACAC,EAAQD,GACRpZ,KAAK4H,SAAS,CACVwC,MAAM,sCAoBT,IAAA3B,EAAAkJ,EAAAC,EAAAC,EAAA7R,KACGoK,EAASpK,KAAKsH,MAAd8C,KADHrC,EAeC/H,KAAK2B,MAZPwL,EAHCpF,EAGDoF,EACAnF,EAJCD,EAIDC,QACA8J,EALC/J,EAKD+J,WACAtB,EANCzI,EAMDyI,WACAwB,EAPCjK,EAODiK,YACAC,EARClK,EAQDkK,OACAxB,EATC1I,EASD0I,MACAyB,EAVCnK,EAUDmK,WACAC,EAXCpK,EAWDoK,cACAjB,EAZCnJ,EAYDmJ,YACAkB,EAbCrK,EAaDqK,cACAC,EAdCtK,EAcDsK,YAGEC,EAAexJ,KAAUL,EAAA,GAAA9J,OAAAE,EAAA,EAAAF,CAAA8J,EAC1BT,EAAQyI,OAAQ,GADU9R,OAAAE,EAAA,EAAAF,CAAA8J,EAE1BT,EAAQ8I,YAAcmB,IAAW7H,GAFPzL,OAAAE,EAAA,EAAAF,CAAA8J,EAG1BT,EAAQ6I,YAAczG,IAAS6H,GAHLxJ,IAMzB8G,EAAezG,KAAU6I,EAAA,GAAAhT,OAAAE,EAAA,EAAAF,CAAAgT,EAC1B3J,EAAQuH,cAAe,GADG5Q,OAAAE,EAAA,EAAAF,CAAAgT,EAE1B3J,EAAQkK,EAAa,UAAW,GAFNvT,OAAAE,EAAA,EAAAF,CAAAgT,EAG1B3J,EAAQkJ,YAAcA,IAAe,GAHXS,IAMvBY,EACJxJ,EAAAC,EAAAC,cAACiQ,GAAQO,SAAT,KACK,SAAA7L,KAAEwL,KAAF,IAAQC,EAARzL,EAAQyL,QAAR,OACGtQ,EAAAC,EAAAC,cAACuJ,GAAAxJ,EAAD,CAAUyJ,KAAK,OAAOtJ,UAAWnB,EAAQqH,UACnC1Q,OAAO+a,OAAOhB,IAAO/F,IAAI,SAACC,EAAMC,GAC9B,OAGQ9J,EAAAC,EAAAC,cAACyJ,GAAA1J,EAAD,CACA6J,IAAKA,EACL9I,QAAS,kBAAM8H,EAAK2H,iBAAiB5G,EAAMyG,IAC3ClQ,UAAWoG,GAEXxG,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWnB,EAAQyM,eAAzB,yBACCtH,EAAEyF,EAAKiG,mBAYpC,OACI9P,EAAAC,EAAAC,cAAA,OAAKE,UAAWiJ,EAAgBpK,EAAQ8G,aAAe9G,EAAQ4G,SAC3D7F,EAAAC,EAAAC,cAAA,OAAKE,eAA0BrI,IAAfgR,EAA2B,GAAK9J,EAAQjJ,QACxDgK,EAAAC,EAAAC,cAACqK,GAAA,EAAD3U,OAAAC,OAAA,CACIkL,aAAW,gBACXyJ,YAAWnJ,EAAO,YAAc,KAChCoJ,gBAAc,OACdC,UAAW,SAAAC,GACX7B,EAAKN,SAAWmC,IAEZ1B,EAPR,CAQIjI,QAAS/J,KAAKoR,mBAEEtQ,IAAf0P,EACDzH,EAAAC,EAAAC,cAAAjJ,KAAM2B,MAAM6O,WAAZ,CAAuBrH,UAAWnB,EAAQwI,aACtC,KAEJzH,EAAAC,EAAAC,cAACiQ,GAAQO,SAAT,KACK,SAAAE,GAAG,OAAIA,EAAIP,KAAKR,QAEpBnI,EAAQ1H,EAAAC,EAAAC,cAAA,KAAGE,UAAWmJ,IAAmB,OAG9CvJ,EAAAC,EAAAC,cAAC0K,GAAA3K,EAAD,CACAoB,KAAMA,EACNmH,SAAUvR,KAAKuR,SACfvO,YAAU,EACV4Q,eAAa,EACbC,UAAW1B,EACXhJ,UAAWL,KAAU8I,EAAA,GAAAjT,OAAAE,EAAA,EAAAF,CAAAiT,EAChB5J,EAAQqG,aAAejE,GADPzL,OAAAE,EAAA,EAAAF,CAAAiT,EAEhB5J,EAAQsH,kBAAmB,GAFX3Q,OAAAE,EAAA,EAAAF,CAAAiT,EAGhB5J,EAAQuG,UAAYnE,GAAQiI,GAHZT,KAMpB,SAAAgI,KAAG9F,gBAAH8F,EAAoB/F,UAApB,OACG9K,EAAAC,EAAAC,cAAC8K,GAAA/K,EAAD,CACAgL,GAAI5J,EACJ6J,GAAG,YACHZ,MACIpB,EACE,CAAEiC,gBAAiB,YACnB,CAAEA,gBAAiB,UAGzBnL,EAAAC,EAAAC,cAACkL,GAAAnL,EAAD,CAAOG,UAAWnB,EAAQmH,UACrBiD,EACDG,EAEAxJ,EAAAC,EAAAC,cAACmL,GAAApL,EAAD,CAAmBqL,YAAaxC,EAAKR,YAAa+B,IAAI,SACjDb,eAnJFtQ,aA+J3BsX,GAAaM,YAAcX,GAE3BK,GAAarL,aAAe,CACxBuC,OAAO,EACPqB,WAAY,OAGD5E,sBAAiBzC,IAAWqP,GAAXrP,CAA+B8O,KCjKhDQ,GA5BO,CACpBC,QAAS,CACPtX,QAAS,YACT6J,SAAU,QACV3J,MAAO,UACPmB,WAAY,QACZK,WAAY,qBACZ5B,OAAQ,OACRC,aAAc,MACdM,UACE,4GACFkX,SAAU,QACV7T,UAAW,SACXiF,WAAY,8CACZrH,SAAU,UACVkW,UAAW,SACX9O,WAAY,MACZ+O,WAAY,OACZlW,cAAe,OACfmW,cAAe,SACfC,UAAW,SACXC,YAAa,SACbC,SAAU,SACVrW,WAAY,SACZsW,UAAW,SC2LAC,GA3MU,SAAArY,GAAK,IAAAsY,EAAAC,EAAAC,EAAAvY,EAAA,OAAA1D,OAAA8E,EAAA,EAAA9E,CAAA,CAC5BuN,MAAIwO,EAAA,GAAA/b,OAAAE,EAAA,EAAAF,CAAA+b,EACDtY,EAAMqE,YAAYC,GAAG,MAAQ,CAC5BmU,eAAgB,SAChBC,YAAa,SACb7X,WAAY,SACZ8X,gBAAiB,aACjBC,mBAAoB,SACpBC,gBAAiB,MACjBC,cAAe,QARfvc,OAAAE,EAAA,EAAAF,CAAA+b,EAUDtY,EAAMqE,YAAY+H,KAAK,MAAQ,CAC9BjM,QAAS,UAXT5D,OAAAE,EAAA,EAAAF,CAAA+b,EAAA,YAaS,OAbT/b,OAAAE,EAAA,EAAAF,CAAA+b,EAAA,UAcO,QAdP/b,OAAAE,EAAA,EAAAF,CAAA+b,EAAA,cAeW,KAfX/b,OAAAE,EAAA,EAAAF,CAAA+b,EAAA,eAgBY,KAhBZ/b,OAAAE,EAAA,EAAAF,CAAA+b,EAAA,YAiBS,QAjBT/b,OAAAE,EAAA,EAAAF,CAAA+b,EAAA,UAkBO,KAlBPA,GAoBJhG,SAAS/V,OAAAE,EAAA,EAAAF,CAAA,CACPgM,MAAO,OACP/H,MAAO,UACPQ,SAAU,WACVb,QAAS,QACTM,MAAO,OACPyB,OAAQ,IACR5B,QAAS,KACRN,EAAMqE,YAAY+H,KAAK,MAAQ,CAC9B3D,OAAQ,CACN8J,UAAW,QACXnI,SAAU,UAEZ3J,MAAO,OACP+R,qBAAsB,CACpBC,UAAW,CACThS,MAAO,oBACP0I,QAAS,KACThJ,QAAS,QACTuD,OAAQ,MACRgH,WAAY,OACZhK,gBAAiB,cAKzBgS,aAAc,CACZpS,QAAS,gBAEXyY,SAAOR,EAAA,CACL/X,MAAO,UACPQ,SAAU,WACVV,QAAS,YACT0I,WAAY,MACZpH,SAAU,OACVC,cAAe,YACfF,WAAY,OACZyH,eAAgB,OAChBlH,OAAQ,MACR/B,QAAS,cACT4B,kBAAmB,CACjBvB,MAAO,WAETwY,gDAAiD,CAC/ChY,SAAU,WACVE,IAAK,MACLiB,UAAW,OACXyC,YAAa,MACbrE,aAAc,MACdqB,SAAU,YApBPrF,OAAAE,EAAA,EAAAF,CAAAgc,EAsBJvY,EAAMqE,YAAY+H,KAAK,MAAQ,CAC9B3L,MAAO,oBACPiK,WAAY,OACZnK,aAAc,MACd4B,UAAW,MACX6B,UAAW,OACX4I,uBAAwB,CACtB7L,eAAgB,gBA7BfxE,OAAAE,EAAA,EAAAF,CAAAgc,EAgCL,QAAS,CACP3T,YAAa,MACbnE,MAAO,OACPiD,OAAQ,SAnCL6U,GAsCPU,gBAAiB,CACfD,gDAAiD,CAC/CpU,YAAa,OAEfsU,QAAS,CACPtU,YAAa,QAGjBuU,WAASX,EAAA,CACPxX,SAAU,WACVgI,WAAY,MACZpH,SAAU,OACVC,cAAe,YACfF,WAAY,OACZyH,eAAgB,OAChBlH,OAAQ,MACR/B,QAAS,eARF5D,OAAAE,EAAA,EAAAF,CAAAic,EASNxY,EAAMqE,YAAY+H,KAAK,MAAQ,CAC9B3L,MAAO,oBACPiK,WAAY,OACZnK,aAAc,MACd4B,UAAW,MACX6B,UAAW,OACX4I,uBAAwB,CACtB7L,eAAgB,gBAhBbxE,OAAAE,EAAA,EAAAF,CAAAic,EAmBP,WAAY,CACV5T,YAAa,QApBR4T,GAuBTY,oBAAqB,CACnB5Y,MAAO,UACPF,QAAS,YACT0I,WAAY,MACZpH,SAAU,OACVC,cAAe,YACfF,WAAY,OACZyH,eAAgB,OAChBlH,OAAQ,MACR/B,QAAS,cACTe,IAAK,OAEPmY,gBAAiB,CACfnY,IAAK,MACLF,SAAU,WACVgI,WAAY,MACZpH,SAAU,OACVC,cAAe,YACfF,WAAY,OACZyH,eAAgB,OAChBlH,OAAQ,MACR/B,QAAS,eAEXmZ,cAAe,CACbC,gCAAiC,CAC/B/Y,MAAO,UACPE,gBAAiB,6BAGrB8Y,MAAO,CACL/Y,MAAO,OACPiD,OAAQ,OACRkB,YAAa,QAEfyN,cAAe,CACb5R,MAAO,OACPiD,OAAQ,OACRkB,YAAa,OACb2E,QAAS,MACTpH,UAAW,OACXjB,IAAK,MACLoN,cAAe,SACf1M,SAAU,OACVZ,SAAU,YAEZyY,YAAa,CACXzY,SAAU,WACVY,SAAU,UACViW,SAAU,QAEZ6B,kBAAkBnd,OAAAE,EAAA,EAAAF,CAAA,CAChB2E,IAAK,OACJlB,EAAMqE,YAAY+H,KAAK,MAAQ,CAC9BlL,IAAK,MAGTiR,aAAc,CACZC,oBAAqB,CACnB5R,MAAO,UACP4I,eAAgB,OAChBjJ,QAAS,OACTG,QAAS,qCAGVsX,GAvLyB,CAwL5B+B,aAAc,CACZ/U,YAAa,OAEfR,UAAQnE,EAAA,GAAA1D,OAAAE,EAAA,EAAAF,CAAA0D,EACLD,EAAMqE,YAAYC,GAAG,MAAQ,CAC5BnE,QAAS,kBACToE,oBAAqB,OACrBC,UAAW,SAJPjI,OAAAE,EAAA,EAAAF,CAAA0D,EAAA,gBAMS,KANT1D,OAAAE,EAAA,EAAAF,CAAA0D,EAAA,iBAOU,KAPV1D,OAAAE,EAAA,EAAAF,CAAA0D,EAAA,WAQI,KARJ1D,OAAAE,EAAA,EAAAF,CAAA0D,EAAA,iBASU,UATV1D,OAAAE,EAAA,EAAAF,CAAA0D,EAAA,cAUO,UAVP1D,OAAAE,EAAA,EAAAF,CAAA0D,EAAA,aAWM,UAXNA,GAaR2Z,cC/KF,SAASC,GAATrO,GAAmC,IAATjM,EAAShD,OAAAkP,GAAA,EAAAlP,CAAA,GAAAiP,GAyCzBT,EAA0CxL,EAA1CwL,EAAGnF,EAAuCrG,EAAvCqG,QAASkU,EAA8Bva,EAA9Bua,mBAAoBxD,EAAU/W,EAAV+W,MACxC,OACE3P,EAAAC,EAAAC,cAACqE,EAAAtE,EAAD,CAAMG,UAAWnB,EAAQkE,KAAO,IAAMlE,EAAQgU,QAC5CjT,EAAAC,EAAAC,cAACsE,EAAAvE,EAAD,CAAUG,UAAWnB,EAAQ0M,UAC3B3L,EAAAC,EAAAC,cAACkT,GAAD,CACEjL,aAAW,EACXmB,aAAW,EACXH,WAAYgK,EACZpK,WAAY3E,EAAE,aACd6E,YAAa,CACX7I,UAAWnB,EAAQmT,QACnBvY,MAAO,eAET4N,WAAY4L,KACZrK,aAAc,CACZhJ,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAMpK,GAAG,gBAAgBiK,UAAWnB,EAAQuM,cAC1CxL,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWnB,EAAQyM,eAAzB,UACCtH,EAAE,sBAELpE,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAMpK,GAAG,eAAeiK,UAAWnB,EAAQuM,cACzCxL,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWnB,EAAQyM,eAAzB,aACCtH,EAAE,qBAELpE,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAMpK,GAAG,qBAAqBiK,UAAWnB,EAAQuM,cAC/CxL,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWnB,EAAQyM,eAAzB,cACCtH,EAAE,2BAELpE,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAMpK,GAAG,uBAAuBiK,UAAWnB,EAAQuM,cACjDxL,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWnB,EAAQyM,eAAzB,iBACCtH,EAAE,6BAELpE,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAMpK,GAAG,sBAAsBiK,UAAWnB,EAAQuM,cAChDxL,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWnB,EAAQyM,eAAzB,UACCtH,EAAE,gCAKXpE,EAAAC,EAAAC,cAACsE,EAAAvE,EAAD,CAAUG,UAAWnB,EAAQ0M,UAC3B3L,EAAAC,EAAAC,cAACK,EAAA,EAAD,CAAMpK,GAAG,YAAYiK,UAAWnB,EAAQmT,SACtCpS,EAAAC,EAAAC,cAACoT,GAAArT,EAAD,MAAQmE,EAAE,cAIbuL,EAAQ3P,EAAAC,EAAAC,cAACsE,EAAAvE,EAAD,CAAUG,UAAWnB,EAAQ0M,UACpC3L,EAAAC,EAAAC,cAACqT,GAAD,CACEpL,aAAW,EACXmB,aAAW,EACXH,WAAYgK,EACZlK,YAAa,CACX7I,UAAWnB,EAAQmT,QACnBvY,MAAO,eAET4N,WAAY+L,KACZxK,aAAc2G,KAGhB,KAEF3P,EAAAC,EAAAC,cAACsE,EAAAvE,EAAD,CAAUG,UAAWnB,EAAQ0M,UAC1BwD,KAAKsE,SACJzT,EAAAC,EAAAC,cAACwT,GAAD,CACExE,IAAOC,KAAKsE,SACZtL,aAAW,EACXmB,aAAW,EACXH,WAAYgK,EACZlK,YAAa,CACX7I,UAAWnB,EAAQmT,QACnBvY,MAAO,eAET4N,WAAYkM,OAEZ,OAQZT,GAAY/N,aAAe,CACzBgE,WAAY,WAeChF,sBAAiBzC,IAAWgQ,GAAXhQ,CAA6BwR,KCnB9CU,GAvJO,CACpBC,SAAU,CACR9W,OAAQ,QACR6O,UAAW,SACXnI,SAAU,SACVpJ,SAAU,WACVyZ,mBAAoB,MACpBpR,eAAgB,QAChBnH,OAAQ,IACR5B,QAAS,IACTF,OAAQ,IACRD,QAAS,OACTU,WAAY,UAEdsV,OAAQ,GACR9T,aAAc,CACZqY,WAAY,CACV1Y,WAAY,sBAEdyQ,UAAW,CACTzQ,WACE,sEAEJ2Y,mBAAoB,CAClB3Z,SAAU,WACV0D,OAAQ,IACRjE,MAAO,OACPiD,OAAQ,OACRvD,QAAS,QACTyD,KAAM,IACN1C,IAAK,IACLiI,QAAS,OAGbpG,UAAW,CACT2X,WAAY,CACV1Y,WAAY,sBAEdyQ,UAAW,CACTzQ,WACE,qEAEJ2Y,mBAAoB,CAClB3Z,SAAU,WACV0D,OAAQ,IACRjE,MAAO,OACPiD,OAAQ,OACRvD,QAAS,QACTyD,KAAM,IACN1C,IAAK,IACLiI,QAAS,OAGbyR,UAAW,CACTF,WAAY,CACV1Y,WAAY,sBAEd2Y,mBAAoB,CAClB3Z,SAAU,WACV0D,OAAQ,IACRjE,MAAO,OACPiD,OAAQ,OACRvD,QAAS,QACTyD,KAAM,IACN1C,IAAK,IACLiI,QAAS,OAGb5G,UAAW,CACTmY,WAAY,CACV1Y,WAAY,sBAEdyQ,UAAW,CACTzQ,WACE,qEAEJ2Y,mBAAoB,CAClB3Z,SAAU,WACV0D,OAAQ,IACRjE,MAAO,OACPiD,OAAQ,OACRvD,QAAS,QACTyD,KAAM,IACN1C,IAAK,IACLiI,QAAS,OAGb1G,aAAc,CACZiY,WAAY,CACV1Y,WAAY,sBAEdyQ,UAAW,CACTzQ,WACE,sEAEJ2Y,mBAAoB,CAClB3Z,SAAU,WACV0D,OAAQ,IACRjE,MAAO,OACPiD,OAAQ,OACRvD,QAAS,QACTyD,KAAM,IACN1C,IAAK,IACLiI,QAAS,OAGbxG,aAAc,CACZ+X,WAAY,CACV1Y,WAAY,sBAEdyQ,UAAW,CACTzQ,WACE,qEAEJ2Y,mBAAoB,CAClB3Z,SAAU,WACV0D,OAAQ,IACRjE,MAAO,OACPiD,OAAQ,OACRvD,QAAS,QACTyD,KAAM,IACN1C,IAAK,IACLiI,QAAS,OAGbtG,YAAa,CACX6X,WAAY,CACV1Y,WAAY,sBAEdyQ,UAAW,CACTzQ,WACE,kEAEJ2Y,mBAAoB,CAClB3Z,SAAU,WACV0D,OAAQ,IACRjE,MAAO,OACPiD,OAAQ,OACRvD,QAAS,QACTyD,KAAM,IACN1C,IAAK,IACLiI,QAAS,OAGb0R,MAAO,CACLnX,OAAQ,OACRpC,UAAW,OACXiR,UAAW,UCxITuI,eACJ,SAAAA,EAAYvb,GAAO,IAAAuF,EAEbiW,EAFa,OAAAxe,OAAAwI,EAAA,EAAAxI,CAAAqB,KAAAkd,GACjBhW,EAAAvI,OAAAyI,EAAA,EAAAzI,CAAAqB,KAAArB,OAAA0I,EAAA,EAAA1I,CAAAue,GAAAxd,KAAAM,KAAM2B,IAGJwb,EADEtb,OAAOub,YAAc,IACLvb,OAAOoG,YAAc,EAErB,EAEpBf,EAAKI,MAAQ,CACXmH,UAAW,iBAAmB0O,EAAkB,SAElDjW,EAAKmW,eAAiBnW,EAAKmW,eAAe5V,KAApB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAXLA,mFAcjB,GAAIrF,OAAOub,YAAc,IAAK,CAC5B,IAAID,EAAkBtb,OAAOoG,YAAc,EAC3CjI,KAAK4H,SAAS,CACZ6G,UAAW,iBAAmB0O,EAAkB,UAElDtb,OAAOiG,iBAAiB,SAAU9H,KAAKqd,gEAIrCxb,OAAOub,YAAc,KACvBvb,OAAO2G,oBAAoB,SAAUxI,KAAKqd,yDAI5C,IAAIF,EAAkBtb,OAAOoG,YAAc,EAC3CjI,KAAK4H,SAAS,CACZ6G,UAAW,iBAAmB0O,EAAkB,2CAG3C,IAAA1U,EAAAV,EASH/H,KAAK2B,MAPPqG,EAFKD,EAELC,QACAuQ,EAHKxQ,EAGLwQ,OACApP,EAJKpB,EAILoB,UACApH,EALKgG,EAKLhG,SACAsR,EANKtL,EAMLsL,MACAiK,EAPKvV,EAOLuV,MACAL,EARKlV,EAQLkV,MAEIM,EAAkBzU,KAAUL,EAAA,GAAA9J,OAAAE,EAAA,EAAAF,CAAA8J,EAC/BT,EAAQ4U,UAAW,GADYje,OAAAE,EAAA,EAAAF,CAAA8J,EAE/BT,EAAQuQ,EAAS,cAAsBzX,IAAXyX,GAFG5Z,OAAAE,EAAA,EAAAF,CAAA8J,EAG/BT,EAAQiV,MAAQA,GAHete,OAAAE,EAAA,EAAAF,CAAA8J,EAI/BU,OAA0BrI,IAAdqI,GAJmBV,IAMlC,OACEM,EAAAC,EAAAC,cAAA,OACEE,UAAWoU,EACXlK,MAAK1U,OAAA8E,EAAA,EAAA9E,CAAA,GACA0U,EADA,CAEHmK,gBAAiB,OAASF,EAAQ,KAC/Btd,KAAKsH,OAEV8L,IAAI,YAEHrR,UA5DcC,IAAMC,WAoFdwI,OAAWkS,GAAXlS,CAA0ByS,ICxB1BO,GAhEU,CACvBja,UAAU7E,OAAA8E,EAAA,EAAA9E,CAAA,CACRiE,MAAO,WACJY,IAFI,CAGPsD,OAAQ,MAEVlD,MAAMjF,OAAA8E,EAAA,EAAA9E,CAAA,GACDiF,IADA,CAEHrB,QAAS,eACTa,SAAU,WACVmB,UAAW,OACXb,UAAW,OACXd,MAAO,UACP4I,eAAgB,SAElBkS,SAAU,CACR1Z,SAAU,WACViW,SAAU,QACV3V,OAAQ,eAEVqZ,KAAKhf,OAAA8E,EAAA,EAAA9E,CAAA,GACAgf,KAELC,WAAWjf,OAAA8E,EAAA,EAAA9E,CAAA,GACNif,KAELzR,MAAO,CACLvJ,MAAO,UACPF,QAAS,YACT0I,WAAY,MACZpH,SAAU,OACVC,cAAe,YACfxB,aAAc,MACd+I,eAAgB,OAChBpI,SAAU,WACVb,QAAS,SAEX6J,YAAa,CACX7J,QAAS,eACTG,QAAS,MACTG,MAAO,QAETqJ,KAAM,CACJvJ,aAAc,IACdD,QAAS,IACT6B,UAAW,KAEbyB,KAAM,CACJ2E,MAAO,iBACPpI,QAAS,SAEXwD,MAAO,CACLrD,QAAS,SACT4B,OAAQ,IACRqG,MAAO,SAET0B,KAAM,CACJxJ,MAAO,OACPiD,OAAQ,OACRxC,IAAK,MACLF,SAAU,2IC0ECya,GAhIO,SAAAzb,GAAK,MAAK,CAC9B0b,KAAM,CACJvZ,UAAW,OACX+B,YAAa,IACb3D,aAAc,IACd6J,SAAU,sBAEZuR,cAAcpf,OAAAE,EAAA,EAAAF,CAAA,GACXyD,EAAMqE,YAAY+H,KAAK,MAAQ,CAC9BjM,QAAS,OACToB,SAAU,SAGdqa,YAAa,CACXzb,QAAS,mBAEXgB,MAAO,CACL0a,UAAW,WAEbC,kBAAmB,CACjB3b,QAAS,SAEX4b,MAAO,CACLxT,MAAO,OACPvH,SAAU,WACVb,QAAS,QACTE,aAAc,OACd8J,SAAU,QACVnG,UAAW,SACXpD,WAAY,UACZN,QAAS,YACTE,MAAO,UACPkD,OAAQ,OACR6F,QAAS,IACTsO,SAAU,OACV3V,OAAQ,QACRZ,UAAW,SAEb0a,eAAgB,CACd3b,aAAc,OAEhB4b,QAAS,CACPxb,MAAO,OACPiD,OAAQ,OACRvD,QAAS,QACT+B,OAAQ,UAEVga,gBAAiB,CACfzb,MAAO,OACP8H,MAAO,kBACP4T,aAAc,CACZja,OAAQ,WAGZka,eAAgB,CACd9b,QAAS,cACTE,MAAO,WAET6b,MAAO,CACL1a,WAAY,OACZE,cAAe,YACfD,SAAU,OACVoH,WAAY,MACZhI,SAAU,WACVb,QAAS,QACTK,MAAO,WAET8b,eAAgB,CACdna,UAAW,OACXoa,gDAAiD,CAC/CrY,YAAa,OACbD,aAAc,SAGlB7B,QAAS,CACPoa,YAAa,CACXhc,MAAO,UACPE,gBAAiB2B,IACjB1B,UACE,gFAGN2B,KAAM,CACJka,YAAa,CACXhc,MAAO,UACPE,gBAAiB6B,IACjB5B,UACE,+EAGN6B,QAAS,CACPga,YAAa,CACXhc,MAAO,UACPE,gBAAiB+B,IACjB9B,UACE,oHAGN+B,QAAS,CACP8Z,YAAa,CACXhc,MAAO,UACPE,gBAAiBiC,IACjBhC,UACE,+EAGNiC,OAAQ,CACN4Z,YAAa,CACXhc,MAAO,UACPE,gBAAiBmC,IACjBlC,UACE,+EAGNmC,KAAM,CACJ0Z,YAAa,CACXhc,MAAO,UACPE,gBAAiBqC,IACjBpC,UACE,+EAGN8b,YAAa,CACX5b,WAAY,SACZE,eAAgB,YCvHd2b,eACJ,SAAAA,EAAYnd,GAAO,IAAAuF,EAAA,OAAAvI,OAAAwI,EAAA,EAAAxI,CAAAqB,KAAA8e,IACjB5X,EAAAvI,OAAAyI,EAAA,EAAAzI,CAAAqB,KAAArB,OAAA0I,EAAA,EAAA1I,CAAAmgB,GAAApf,KAAAM,KAAM2B,KAKRod,aAAe,SAACzN,EAAO0N,GACrB9X,EAAKU,SAAS,CAAEoX,YAPC9X,EASnB+X,kBAAoB,SAAA9f,GAClB+H,EAAKU,SAAS,CAAEoX,OAAQ7f,KARxB+H,EAAKI,MAAQ,CACX0X,OAAQrd,EAAMqd,QAHC9X,wEAYV,IAAAuB,EAAAV,EAQH/H,KAAK2B,MANPqG,EAFKD,EAELC,QACAkX,EAHKnX,EAGLmX,KACAC,EAJKpX,EAILoX,UACAvc,EALKmF,EAKLnF,MACAwc,EANKrX,EAMLqX,WACAP,EAPK9W,EAOL8W,YAEIQ,EAAuBvW,KAAUL,EAAA,GAAA9J,OAAAE,EAAA,EAAAF,CAAA8J,EACpCT,EAAQ+V,eAAgB,GADYpf,OAAAE,EAAA,EAAAF,CAAA8J,EAEpCT,EAAQkW,uBAAmCpd,IAAfse,GAFQ3W,IAIjC6W,EACJvW,EAAAC,EAAAC,cAACsW,GAAAvW,EAAD,CACEhB,QAAS,CACP8V,KAAM9V,EAAQ8V,KACdva,MAAOyE,EAAQzE,MACfwa,cAAesB,EACfG,UAAWxX,EAAQgW,aAErBlf,MAAOkB,KAAKsH,MAAM0X,OAClBS,SAAUzf,KAAK+e,aACfW,SAAUb,GAETK,EAAKvM,IAAI,SAACC,EAAMC,GAAQ,IAAAlB,EACnBtF,EAAO,QACUvL,IAAjB8R,EAAKyL,UACPhS,EAAI,KAAWtD,EAAAC,EAAAC,cAAC2J,EAAKyL,QAAN,CAAclV,UAAWnB,EAAQqW,WAElD,IAAMsB,EAAe7W,KAAU6I,EAAA,GAAAhT,OAAAE,EAAA,EAAAF,CAAAgT,EAC5B3J,EAAQmW,OAAQ,GADYxf,OAAAE,EAAA,EAAAF,CAAAgT,EAE5B3J,EAAQsW,qBAAiCxd,IAAfse,GAFEzgB,OAAAE,EAAA,EAAAF,CAAAgT,EAG5B3J,EAAQoW,oBAAkCtd,IAAjB8R,EAAKyL,SAHF1M,IAK/B,OACE5I,EAAAC,EAAAC,cAAC2W,GAAA5W,EAADrK,OAAAC,OAAA,CACE6f,MAAO7L,EAAKiN,UACZhN,IAAKA,GACDxG,EAHN,CAIErE,QAAS,CACP8V,KAAM6B,EACNnB,eAAgBxW,EAAQwW,eACxBC,MAAOzW,EAAQyW,MACfqB,SAAU9X,EAAQpF,UAOxBmd,EACJhX,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQ0W,gBACtB3V,EAAAC,EAAAC,cAAC+W,GAAAhX,EAAD,CACEiX,KAAoB,QAAdd,EAAsB,YAAc,IAC1ChgB,MAAOa,KAAKsH,MAAM0X,OAClBkB,cAAelgB,KAAKif,mBAEnBC,EAAKvM,IAAI,SAACC,EAAMC,GACf,OACE9J,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQ+X,WAAYlN,IAAKA,GACtCD,EAAKmN,gBAOlB,YAAsBjf,IAAfse,EACLrW,EAAAC,EAAAC,cAACkX,GAAD,KACEpX,EAAAC,EAAAC,cAACmX,GAAahB,EAAWiB,SAAWf,GACpCvW,EAAAC,EAAAC,cAACmX,GAAahB,EAAWkB,YAAcP,IAGzChX,EAAAC,EAAAC,cAAA,WACGqW,EACAS,UAzFc/d,IAAMC,WA+F7B6c,GAAS5Q,aAAe,CACtB8Q,OAAQ,EACRpc,MAAO,WA8BM6H,WAAWoT,GAAXpT,CAA0BqU,IC7H1ByB,GAlBI,CACjBC,QAAS,CACP9d,QAAS,UAEXc,UAAW,CACTZ,MAAO,QAETgB,MAAMjF,OAAA8E,EAAA,EAAA9E,CAAA,GACDiF,IADA,CAEHW,UAAW,OACXb,UAAW,OACX8H,eAAgB,SAElBiV,UAAW,CACTrV,WAAY,SCIVsV,eAEJ,SAAAA,EAAY/e,GAAO,IAAAuF,EAAA,OAAAvI,OAAAwI,EAAA,EAAAxI,CAAAqB,KAAA0gB,IACjBxZ,EAAAvI,OAAAyI,EAAA,EAAAzI,CAAAqB,KAAArB,OAAA0I,EAAA,EAAA1I,CAAA+hB,GAAAhhB,KAAAM,KAAM2B,KAED2F,MAAQ,CACXqZ,cAAU7f,EACV8f,gBAAY9f,EACZ+f,oBAAgB/f,EAChBggB,YAAY,GAPG5Z,0EAWR+P,EAAM8J,EAAK9M,GACpB,OAAOgD,EAAKsB,OAAO,SAAAyI,GACjB,OAAOA,EAAID,KAAS9M,gDAIJ,IAAApC,EAAA7R,KAClBkV,GAAIU,kBACDmB,KAAK,SAAAE,GACJ,IAAI0J,EAAW9O,EAAKoP,WAAWhK,EAAM,aAAc,YAC/C2J,EAAa/O,EAAKoP,WAAWhK,EAAM,aAAc,cACjD4J,EAAiBhP,EAAKoP,WAAWhK,EAAM,aAAc,mBAEzDpF,EAAKjK,SAAS,CACZ+Y,SAAUA,EACVC,WAAYA,EACZC,eAAgBA,EAChBC,YAAY,uCAMX,IAAA/Y,EACgB/H,KAAK2B,MAApBwL,EADDpF,EACCoF,EAAGnF,EADJD,EACIC,QACX,OACEe,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQwY,SACtBzX,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQxE,WACtBuF,EAAAC,EAAAC,cAAA,OAAKgL,GAAG,oBACNlL,EAAAC,EAAAC,cAACkX,GAAD,KACEpX,EAAAC,EAAAC,cAACmX,GAAD,CAAUc,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,IACnCrhB,KAAKsH,MAAMwZ,WAAa/X,EAAAC,EAAAC,cAACqY,GAAD,CACvB1e,MAAM,UACNwc,WAAY,CACViB,SAAU,CAAEa,GAAI,GAAIC,GAAI,EAAGC,GAAI,GAC/Bd,YAAa,CAAEY,GAAI,GAAIC,GAAI,EAAGC,GAAI,IAEpClC,KAAM,CACJ,CACEW,UAAW1S,EAAE,cACbkR,QAASkD,KACTxB,WACEhX,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAAA,UAAKkE,EAAE,eACPpE,EAAAC,EAAAC,cAAA,SAAIkE,EAAE,gBACNpE,EAAAC,EAAAC,cAAA,SAAIkE,EAAE,gBACNpE,EAAAC,EAAAC,cAAA,UACGjJ,KAAKsH,MAAMuZ,eAAelO,IAAI,SAAC6O,EAAI3O,GAClC,OACE9J,EAAAC,EAAAC,cAAA,MAAI4J,IAAKA,GAAK9J,EAAAC,EAAAC,cAAA,SAAIkE,EAAEqU,EAAGC,mBAAT,KAA8B1Y,EAAAC,EAAAC,cAAA,QAAME,UAAWnB,EAAQyY,WAAYtT,EAAEqU,EAAGE,kBAAxE,SAIpB3Y,EAAAC,EAAAC,cAAA,SAAIkE,EAAE,gBACNpE,EAAAC,EAAAC,cAAA,SAAGF,EAAAC,EAAAC,cAAA,KAAGyE,KAAMP,EAAE,aAAcpO,OAAO,SAAS4iB,IAAI,uBAAuBxU,EAAE,iBAI/E,CACE0S,UAAW1S,EAAE,cACbkR,QAASuD,KACT7B,WACEhX,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAAA,UAAKkE,EAAE,eACPpE,EAAAC,EAAAC,cAAA,SAAIkE,EAAE,gBACNpE,EAAAC,EAAAC,cAAA,SAAIkE,EAAE,gBACNpE,EAAAC,EAAAC,cAAA,SAAIkE,EAAE,gBACNpE,EAAAC,EAAAC,cAAA,SAAGF,EAAAC,EAAAC,cAAA,KAAGyE,KAAMP,EAAE,aAAcpO,OAAO,SAAS4iB,IAAI,uBAAuBxU,EAAE,eACzEpE,EAAAC,EAAAC,cAAA,SAAIkE,EAAE,gBACNpE,EAAAC,EAAAC,cAAA,SAAIkE,EAAE,gBACNpE,EAAAC,EAAAC,cAAA,UACGjJ,KAAKsH,MAAMsZ,WAAWjO,IAAI,SAAC6O,EAAI3O,GAC9B,OACE9J,EAAAC,EAAAC,cAAA,MAAI4J,IAAKA,GAAK9J,EAAAC,EAAAC,cAAA,SAAIkE,EAAEqU,EAAGC,wBAI7B1Y,EAAAC,EAAAC,cAAA,SAAIkE,EAAE,gBACNpE,EAAAC,EAAAC,cAAA,UACGjJ,KAAKsH,MAAMqZ,SAAShO,IAAI,SAAC6O,EAAI3O,GAC5B,OACE9J,EAAAC,EAAAC,cAAA,MAAI4J,IAAKA,GAAK9J,EAAAC,EAAAC,cAAA,SAAIkE,EAAEqU,EAAGC,0BAQnC,CACE5B,UAAW1S,EAAE,YACbkR,QAASwD,KACT9B,WACEhX,EAAAC,EAAAC,cAAA,YACEF,EAAAC,EAAAC,cAAA,UAAKkE,EAAE,aACPpE,EAAAC,EAAAC,cAAA,SAAIkE,EAAE,cACNpE,EAAAC,EAAAC,cAAA,SAAIkE,EAAE,cACNpE,EAAAC,EAAAC,cAAA,SAAIkE,EAAE,cACNpE,EAAAC,EAAAC,cAAA,SAAGF,EAAAC,EAAAC,cAAA,KAAGyE,KAAMP,EAAE,WAAYpO,OAAO,SAAS4iB,IAAI,uBAAuBxU,EAAE,kBAK5E,iBApHMnL,IAAMC,WA8HlBiL,gBAAe,CAAC,eAAhBA,CAAgCzC,IAAW8V,GAAX9V,CAAuBiW,KC7HhEoB,GAAkB,GAElBC,+LAEFlgB,OAAOC,SAAS,EAAG,GACnBoG,SAASC,KAAK6Z,UAAY,mCAEnB,IAAAja,EACyB/H,KAAK2B,MAA7BwL,EADDpF,EACCoF,EAAGnF,EADJD,EACIC,QAAY8F,EADhBnP,OAAAoP,EAAA,EAAApP,CAAAoJ,EAAA,iBAEP,OACEgB,EAAAC,EAAAC,cAAA,WACEF,EAAAC,EAAAC,cAACgZ,EAADtjB,OAAAC,OAAA,CACEgE,MAAM,cACNsf,OAAQJ,GACRlZ,MAAM,SACND,MAAOI,EAAAC,EAAAC,cAACkZ,GAAD,CAAajG,mBAAmB,YACvC3Y,OAAK,EACLsE,oBAAqB,CACnB/B,OAAQ,IACRlD,MAAO,UAELkL,IAEN/E,EAAAC,EAAAC,cAACmZ,GAAD,CAAU9E,MAAO+E,EAAQ,KAA2D9J,OAAO,QACzFxP,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQxE,WACtBuF,EAAAC,EAAAC,cAACkX,GAAD,KACEpX,EAAAC,EAAAC,cAACmX,GAAD,CAAUc,GAAI,GAAIC,GAAI,EAAGC,GAAI,GAC3BrY,EAAAC,EAAAC,cAAA,MAAIE,UAAWnB,EAAQpE,OAAQuJ,EAAE,8BACjCpE,EAAAC,EAAAC,cAAA,MAAIoK,MAAO,CAACjN,UAAW,SAAU+G,EAAE,iCAK3CpE,EAAAC,EAAAC,cAAA,OAAKE,UAAWL,IAAWd,EAAQ2V,KAAM3V,EAAQ4V,aAC/C7U,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQxE,WACtBuF,EAAAC,EAAAC,cAACqZ,GAAD,QAGJvZ,EAAAC,EAAAC,cAACsZ,GAAD,CACEhX,QACExC,EAAAC,EAAAC,cAAA,sBAtCcjH,IAAMC,WA8CjBiL,kBAAiBzC,IAAWgT,GAAXhT,CAA6BsX,0PCzDvDS,oLAEO,IAAAza,EACuB/H,KAAK2B,MAA1BqG,EADFD,EACEC,QAASjG,EADXgG,EACWhG,SAEhB,OACIgH,EAAAC,EAAAC,cAAA,OAAKE,UAAWL,IAAWd,EAAQya,KAAMza,EAAQ0a,UAC/C3Z,EAAAC,EAAAC,cAACkX,GAAD,CAAewC,QAAQ,SAASC,QAAS,IACpC5gB,IAAM6gB,SAASlQ,IAAI5Q,EAAU,SAAC+gB,EAAOC,GACpC,OAAa,MAATD,EAEA/Z,EAAAC,EAAAC,cAACmX,GAAD,CAAUc,GAAI4B,EAAMnhB,MAAMuf,GAAIC,GAAI2B,EAAMnhB,MAAMwf,GAAIC,GAAI0B,EAAMnhB,MAAMyf,GAAIC,GAAIyB,EAAMnhB,MAAM0f,GAAIlY,UAAWnB,EAAQgb,YAC1GF,GAIE,gBAhBP9gB,IAAMC,WAyBbwI,OAAWwY,KAAXxY,CAAqB+X,ICzB9BU,oLAEO,IAAAnb,EACuB/H,KAAK2B,MAA1BqG,EADFD,EACEC,QAASjG,EADXgG,EACWhG,SAChB,OACIgH,EAAAC,EAAAC,cAAA,OAAKE,UAAWL,IAAWd,EAAQya,KAAMza,EAAQmb,aAC9CnhB,IAAM6gB,SAASlQ,IAAI5Q,EAAU,SAAC+gB,EAAOC,GACpC,GAAa,MAATD,EAAe,CACjB,IAAIM,EAAiB,CAAE/c,aAAc,OACrC,OACE0C,EAAAC,EAAAC,cAACkX,GAAD,CAAehX,UAAWnB,EAAQqb,SAAUV,QAASG,EAAMnhB,MAAM2hB,UAAY,SAAW,YACrFR,EAAMnhB,MAAM4hB,UACbxa,EAAAC,EAAAC,cAACmX,GAAD,CAAUc,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIhO,MAAO+P,GAC9CN,GAEAA,EAAMnhB,MAAM2hB,UACbva,EAAAC,EAAAC,cAACmX,GAAD,CAAUc,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGhO,MAAO+P,GAC7CN,GAGH/Z,EAAAC,EAAAC,cAACmX,GAAD,CAAUc,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGhO,MAAO+P,GAC1CN,IAMP,OAAO,eA3BA9gB,IAAMC,WAmChBwI,OAAWwY,KAAXxY,CAAqByY,IC9B9BM,eAEJ,SAAAA,EAAY7hB,GAAO,IAAAuF,EAAA,OAAAvI,OAAAwI,EAAA,EAAAxI,CAAAqB,KAAAwjB,IACjBtc,EAAAvI,OAAAyI,EAAA,EAAAzI,CAAAqB,KAAArB,OAAA0I,EAAA,EAAA1I,CAAA6kB,GAAA9jB,KAAAM,KAAM2B,KAED2F,MAAQ,CACXmc,iBAAkB,GAGpBvc,EAAK6X,aAAe7X,EAAK6X,aAAatX,KAAlB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACpBA,EAAKmK,YAAcnK,EAAKmK,YAAY5J,KAAjB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KARFA,4EAYNoK,EAAOoS,GAClB1jB,KAAK4H,SAAS,CACZ6b,iBAAkBC,0CAKpB1jB,KAAK+e,aAAa,KAAM,GACpB/e,KAAK2B,MAAM2I,SACbtK,KAAK2B,MAAM2I,2CAIN,IAAAuH,EAAA7R,KACCgI,EAAYhI,KAAK2B,MAAjBqG,QAEFjG,EAAWC,IAAM6gB,SAASc,QAAQ3jB,KAAK2B,MAAMI,UAAUwW,OAAO,SAAAtY,GAAC,OAAIA,IAErE2jB,EAAY,GAQhB,OANI5jB,KAAK2B,MAAMoE,MACb6d,EAAY5b,EAAQ6b,iBACX7jB,KAAK2B,MAAMqE,OACpB4d,EAAY5b,EAAQ8b,iBAGlB/hB,EAAS1C,OAAS,EAElB0J,EAAAC,EAAAC,cAAA,OAAKE,UAAWL,IAAWd,EAAQya,KAAMza,EAAQ+b,YAAaH,IAC5D7a,EAAAC,EAAAC,cAACsW,GAAAvW,EAAD,CAAMlK,MAAOkB,KAAKsH,MAAMmc,iBAAkBhE,SAAUzf,KAAK+e,aAAciF,eAAe,YAAY9Z,QAAQ,YAAY+Z,cAAc,MACjIjiB,IAAM6gB,SAASlQ,IAAI5Q,EAAU,SAAC+gB,EAAOC,GACpC,OAAa,MAATD,EAEA/Z,EAAAC,EAAAC,cAAC2W,GAAA5W,EAAD,CAAK6J,IAAKkQ,EAAG5Z,UAAWnB,EAAQkc,oBAAqB7X,KAAMtD,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,KAAO8Z,EAAMnhB,MAAM0K,QAGzE,OAGXtD,EAAAC,EAAAC,cAAC2W,GAAA5W,EAAD,CAAK6J,IAAK,IAAK1J,UAAWnB,EAAQkc,oBAAqB7X,KAAMtD,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,cAAoBe,QAAS/J,KAAKqR,eAGhGrP,IAAM6gB,SAASlQ,IAAI5Q,EAAU,SAAC+gB,EAAOC,GAClC,OAAa,MAATD,GAAiBjR,EAAKvK,MAAMmc,mBAAqBV,EAEjDha,EAAAC,EAAAC,cAAA,WAAM6Z,GAGD,QAOV,YArEa9gB,IAAMC,WA2EjBiL,kBAAiBzC,IAAWwY,KAAXxY,CAAqB+Y,wFC5D/CW,eACJ,SAAAA,EAAYxiB,GAAO,IAAAuF,EAAA,OAAAvI,OAAAwI,EAAA,EAAAxI,CAAAqB,KAAAmkB,IACjBjd,EAAAvI,OAAAyI,EAAA,EAAAzI,CAAAqB,KAAArB,OAAA0I,EAAA,EAAA1I,CAAAwlB,GAAAzkB,KAAAM,KAAM2B,KAeRyP,YAAc,WACZlK,EAAKU,SAAS,SAAAN,GAAK,MAAK,CACtB8C,MAAO9C,EAAM8C,SAlBElD,EAsBnBmK,YAAc,SAAAC,GACRpK,EAAKqK,SAASC,SAASF,EAAMvS,SAGjCmI,EAAKU,SAAS,CAAEwC,MAAM,KA1BLlD,EA6BnBkd,UAAY,SAAA9S,GAAS,IAAAvJ,EACIb,EAAKvF,MAApBwL,EADWpF,EACXoF,EAAGnF,EADQD,EACRC,QAEPqc,EAAe,GAEnBC,KAAKC,MAAM,CACTC,kBAAmBrX,EAAE,eACrBsX,mBAAoB,UACpBC,kBAAkB,EAClBC,iBAAkBxX,EAAE,iBACpByX,kBAAmB,UACnBC,gBAAgB,EAChBC,YAAa,CACXlhB,MAAOoE,EAAQ+c,WACfC,cAAelc,IAAWd,EAAQid,OAAQjd,EAAQxD,SAClD0gB,aAAcpc,IAAWd,EAAQid,OAAQjd,EAAQhD,SAEnDmgB,cAAe,CAAC,IAAK,IAAK,OACzBC,MAAM,CACP,CACExhB,MAAOuJ,EAAE,8BACTkY,MAAO,OACPC,iBAAkBnY,EAAE,6BACpBoY,kBAAmBpY,EAAE,yBACrBqY,WAAY,SAAUjP,GAEpB,IAAMkP,GADNlP,EAAMA,EAAImP,eACOC,QAAQ,WACnBC,EAAOrP,EAAIoP,QAAQ,YACzB,GAAY,KAARpP,EACF+N,KAAKuB,sBAAsB1Y,EAAE,8BACxB,IAAa,IAATsY,GAAuB,IAATG,EAGvB,OAAO1Q,GAAIoB,qBAAqBC,GAC7BQ,KAAK,SAAAE,GACJ,IAAIA,EAKF,MAAM,IAAI6O,MAAM,aAJhB7O,EAAK8O,QAAQ,SAAUC,GACrB3B,EAAa4B,KAAKD,EAAG,UAM1BtO,MAAM,SAAAwO,GACLpO,QAAQT,MAAM,uDAAwD6O,GACtE5B,KAAKuB,sBAAsBK,KAd/B5B,KAAKuB,sBAAsB,iBAiB7Bpe,KAxBU9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,MA0Bd,CACEtD,MAAOuJ,EAAE,gCACTkY,MAAO,SACPc,aAAc9B,EACdiB,iBAAkBnY,EAAE,+BACpBqY,WAAY,SAAUY,GACpB,GAAKA,EAGH,OAAO5O,QAAQ6O,UAFf/B,KAAKuB,sBAAsB1Y,EAAE,4BAMnC,CACEvJ,MAAOuJ,EAAE,+BACTkY,MAAO,OACPC,iBAAkBnY,EAAE,8BACpBqY,WAAY,SAAUc,GACpB,GAAKA,EAGH,OAAO9O,QAAQ6O,UAFf/B,KAAKuB,sBAAsB1Y,EAAE,8BAOlC4J,KAAK,SAACwP,GACP,GAAIA,EAAOznB,OAAiC,IAAxBynB,EAAOznB,MAAMO,OAAc,CAE7C,IAAIkX,EAAMgQ,EAAOznB,MAAM,GACnB0nB,EAAYnC,EAAakC,EAAOznB,MAAM,IACtCwnB,EAAOC,EAAOznB,MAAM,GAExB,GAAIoI,EAAKvF,MAAM8kB,MAAO,CACpB,IAAMC,EAAQxf,EAAKyf,cAAcpQ,EAAKiQ,EAAWF,GACjDpf,EAAKvF,MAAM8kB,MAAMC,GAGnBpC,KAAKsC,KAAK,CACRhjB,MAAOuJ,EAAE,qBACT0Z,KAAM,UACNrC,kBAAmBrX,EAAE,aACrBsX,mBAAoB,UACpBK,YAAa,CACXE,cAAelc,IAAWd,EAAQid,OAAQjd,EAAQxD,gBAxH1D0C,EAAKI,MAAQ,CACX8C,MAAM,GAGRlD,EAAK4f,eAAiB,GAEtB5f,EAAKkK,YAAclK,EAAKkK,YAAY3J,KAAjB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACnBA,EAAKmK,YAAcnK,EAAKmK,YAAY5J,KAAjB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACnBA,EAAKkd,UAAYld,EAAKkd,UAAU3c,KAAf9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACjBA,EAAKuK,gBAAkBvK,EAAKuK,gBAAgBhK,KAArB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACvBA,EAAK6f,qBAAuB7f,EAAK6f,qBAAqBtf,KAA1B9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAbXA,+EAmIHwK,GACd1R,KAAK4H,SAAS,CACZwC,MAAM,EACN4c,gBAAiBtV,EAAMuC,GACvBgT,kBAAmBvV,EAAMgV,QAEvB1mB,KAAK2B,OAAS3B,KAAK2B,MAAMulB,UAC3BlnB,KAAK2B,MAAMulB,SAASxV,gDAIHA,GACnB1R,KAAK4H,SAAS,CACZwC,MAAM,IAEJpK,KAAK2B,OAAS3B,KAAK2B,MAAMwlB,UAC3BnnB,KAAK2B,MAAMwlB,SAASzV,qCAId6E,GAGR,OAFAA,EAAMA,EAAImP,eACIC,QAAQ,OACZ,EACD,MAEA,4CAIGpP,EAAKmQ,EAAOJ,GAExB,IAAMc,EAASpnB,KAAK2B,MAAM0lB,eAEtBpT,EAAK,IACT,GAAImT,GAAUA,EAAO/nB,OAAS,EAAG,CAC/B,IAAIioB,EAAMF,EAAOzU,IAAI,SAAA1R,GAAC,OAAIA,EAAEgT,KAE5BA,EADYxT,KAAKC,IAAL6mB,MAAA9mB,KAAI9B,OAAA6oB,GAAA,EAAA7oB,CAAQ2oB,IACX,EAKf,GAAY,OAFDtnB,KAAKynB,UAAUlR,GAEP,CACjB,IAAImR,EAAYnR,EAAIoP,QAAQ,KAAO,EAAIpP,EAAIjV,UAAU,EAAEiV,EAAIoP,QAAQ,MAAQpP,EACvEoR,EAAe,IAAIC,KAAe,CACpCC,OAAQ,IAAIC,KACZvR,IAAK,SAAUwR,EAAQC,EAAYC,GACjC,IAAIC,EAAOD,EAAWE,UAClBC,EAASV,EAAY,0DACwBhB,EAAQ,0CACZwB,EAK7C,OAJIH,GAA4B,IAAlBA,EAAO1oB,QAAgBgpB,SAASN,EAAO,KAAOM,SAASN,EAAO,KAAOM,SAASN,EAAO,KAAOM,SAASN,EAAO,MACxHK,EAASA,EAAS,SAAWL,EAAOO,KAAK,KAAO,IAAMJ,GAE3CrR,sDAA+D0R,mBAAmBH,IAGjGI,SAAUC,OAGZ,MAAO,CACLxU,GAAIA,EACJ1R,QAAS+jB,EACTI,MAAO,IAAIgC,KAAc,CACvBC,OAAQhB,KAKZ,MAAO,CACL1T,GAAIA,EACJ1R,QAAS+jB,EACTI,MAAO,IAAIkC,KAAY,CACrBD,OAAQ,IAAIE,KAAgB,CAC1BtS,IAAKA,EACLuS,OAAQ,CAAEC,OAAUrC,GACpBuB,WAAY,kDAQb,IAAAxf,EAAAkJ,EAAAE,EAAA7R,KAAA0I,EAIH1I,KAAK2B,MAHDwL,EADDzE,EACCyE,EAAGnF,EADJU,EACIV,QACT8J,EAFKpJ,EAELoJ,WAAYtB,EAFP9H,EAEO8H,WACZ0B,EAHKxJ,EAGLwJ,WAAYhB,EAHPxI,EAGOwI,YAAa8X,EAHpBtgB,EAGoBsgB,iBAAkB3B,EAHtC3e,EAGsC2e,eAAgBpV,EAHtDvJ,EAGsDuJ,OAAQI,EAH9D3J,EAG8D2J,YAE7DjI,EAASpK,KAAKsH,MAAd8C,KAGFmF,EAAezG,KAAUL,EAAA,GAAA9J,OAAAE,EAAA,EAAAF,CAAA8J,EAC5BT,EAAQuH,cAAe,GADK5Q,OAAAE,EAAA,EAAAF,CAAA8J,EAE5BT,EAAQkK,EAAa,UAAW,GAFJvT,OAAAE,EAAA,EAAAF,CAAA8J,EAG5BT,EAAQkJ,YAAcA,GAHMzI,IAMzBga,EACJ1Z,EAAAC,EAAAC,cAACuJ,GAAAxJ,EAAD,CAAUyJ,KAAK,OAAOtJ,UAAWnB,EAAQqH,UACtC2Z,EAAiBrW,IAAI,SAACC,EAAMC,GAC3B,OACE9J,EAAAC,EAAAC,cAACyJ,GAAA1J,EAAD,CACE6J,IAAKA,EACL9I,QAAS,kBAAM8H,EAAKJ,gBAAgBmB,IACpCzJ,UAAWoG,GAEXxG,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWnB,EAAQyM,eAAgB7B,EAAKvG,KAAOuG,EAAKvG,KAAO,UAChEuG,EAAKiG,YAAc1L,EAAEyF,EAAKiG,aAAejG,EAAKrQ,WAIpD8kB,GAAkBA,EAAehoB,OAAS,EACzC0J,EAAAC,EAAAC,cAACgK,GAAAjK,EAAD,CACE6J,IAAI,MACJ9I,QAAS,kBAAM8H,EAAKJ,gBAAgB,YACpCtI,UAAWnB,EAAQuI,sBAChB,KACN8W,EAAe1U,IAAI,SAACC,EAAMC,GACzB,OACE9J,EAAAC,EAAAC,cAACyJ,GAAA1J,EAAD,CACE6J,IAAKA,EACL9I,QAAS,kBAAM8H,EAAKJ,gBAAgBmB,IACpCzJ,UAAWoG,GAEXxG,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWnB,EAAQyM,eAAgB7B,EAAKvG,KAAOuG,EAAKvG,KAAO,UAChEuG,EAAKiG,YAAc1L,EAAEyF,EAAKiG,aAAejG,EAAKrQ,QAC/CwG,EAAAC,EAAAC,cAACggB,GAAAjgB,EAAD,KACED,EAAAC,EAAAC,cAACY,EAAAb,EAAD,CAAYc,aAAW,SAASX,UAAWnB,EAAQkhB,sBAAuBnf,QAAS,kBAAM8H,EAAKkV,qBAAqBnU,KACjH7J,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWnB,EAAQmhB,2BAAzB,eAOVpgB,EAAAC,EAAAC,cAACgK,GAAAjK,EAAD,CACE6J,IAAI,MACJ9I,QAAS,kBAAM8H,EAAKJ,gBAAgB,YACpCtI,UAAWnB,EAAQuI,sBAErBxH,EAAAC,EAAAC,cAACyJ,GAAA1J,EAAD,CACE6J,IAAI,OACJ9I,QAAS,kBAAM8H,EAAKuS,aACpBjb,UAAWoG,GAEXxG,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWnB,EAAQyM,eAAzB,OACCtH,EAAE,qBAKT,OACEpE,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQ4G,SACtB7F,EAAAC,EAAAC,cAAA,OAAKE,UAAWL,SAA0BhI,IAAfgR,EAA2B,GAAK9J,EAAQjJ,SACjEgK,EAAAC,EAAAC,cAACqK,GAAA,EAAD,CACExJ,aAAW,cACXyJ,YAAWnJ,EAAO,uBAAyB,KAC3CoJ,gBAAc,OACdC,UAAW,SAAAC,GACT7B,EAAKN,SAAWmC,GAElB9Q,MAAM,UACNmH,QAAS/J,KAAKoR,YACdjI,UAAWnB,EAAQohB,aAEnBrgB,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWnB,EAAQqhB,iBAAkB7Y,IAG7CzH,EAAAC,EAAAC,cAAC0K,GAAA3K,EAAD,CACEoB,KAAMA,EACNmH,SAAUvR,KAAKuR,SACfvO,YAAU,EACV4Q,eAAa,EACbC,UAAU,SACV1K,UAAWL,KAAU6I,EAAA,GAAAhT,OAAAE,EAAA,EAAAF,CAAAgT,EAClB3J,EAAQqG,aAAejE,GADLzL,OAAAE,EAAA,EAAAF,CAAAgT,EAElB3J,EAAQsH,kBAAmB,GAFT3Q,OAAAE,EAAA,EAAAF,CAAAgT,EAGlB3J,EAAQuG,UAAYnE,GAAQiI,GAHVV,KAMpB,SAAA/D,KAAGkG,gBAAHlG,EAAoBiG,UAApB,OACC9K,EAAAC,EAAAC,cAAC8K,GAAA/K,EAAD,CACEgL,GAAI5J,EACJ6J,GAAG,uBACHZ,MACEpB,EACI,CAAEiC,gBAAiB,YACnB,CAAEA,gBAAiB,UAGzBnL,EAAAC,EAAAC,cAACkL,GAAAnL,EAAD,CAAOG,UAAWnB,EAAQmH,UACxBpG,EAAAC,EAAAC,cAACmL,GAAApL,EAAD,CAAmBqL,YAAaxC,EAAKR,YAAa+B,IAAI,SACnDqP,gBAtUWzgB,IAAMC,WAmVtCkiB,GAAkBjW,aAAe,CAC/B+D,QAAQ,EACRC,WAAY,UACZ1B,WAAY,SACZwB,YAAa,CACX+G,OAAO,EACP5M,OAAO,EACPvJ,MAAO,YA4CIsK,sBAAiBzC,IAAWwY,KAAXxY,CAAqB0Z,+CCjZ/CmF,+LAEgB,IACVC,EAAUvpB,KAAK2B,MAAf4nB,MAERvpB,KAAKwpB,QAAUxpB,KAAKypB,KAAKD,QACzBxpB,KAAK0pB,QAAU1pB,KAAKypB,KAAKC,QAEzBC,KAAWC,OAAO5pB,KAAKwpB,QAAS,CAC5BK,MAA4B,IAArB7pB,KAAK2B,MAAMgK,QAClBme,QAAS,EAAC,GAAO,GACjBC,KAAM,EACNC,MAAO,CAAErpB,IAAK,EAAGD,IAAK,KACtBupB,UAAU,EACVpC,OAAQqC,KAAM,CACZC,SAAU,IAEZC,UAAW,cAGfpqB,KAAKwpB,QAAQa,WAAWC,GAAG,SAAU,WACnC,GAAItqB,KAAK2B,MAAM4oB,aAAc,CAC3BvqB,KAAK2B,MAAM4oB,aAAavqB,KAAKwpB,QAAQa,WAAWG,OAChD,IAAIzoB,EAAW/B,KAAKwpB,QAAQiB,uBAAuB,mBAC/C3rB,EAAQkB,KAAKwpB,QAAQa,WAAWG,MAEhCzoB,EAAS1C,OAAS,IACpB0C,EAAS,GAAG2oB,UAAY5rB,KAG5B2I,KAAKzH,OAEP,IAAI2qB,EAAoB3qB,KAAK4qB,mBAAmBrB,GAChDoB,EAAkBd,MAAQ7pB,KAAK2B,MAAMkpB,KACrClB,KAAWC,OAAO5pB,KAAK0pB,QAASiB,GAEhC3qB,KAAK0pB,QAAQW,WAAWC,GAAG,SAAU,WACnC,GAAItqB,KAAK2B,MAAMmpB,UAAW,CACxB9qB,KAAK2B,MAAMmpB,UAAU9qB,KAAK0pB,QAAQW,WAAWG,OAC7C,IAAIzoB,EAAW/B,KAAK0pB,QAAQe,uBAAuB,mBAC/C3rB,EAAQkB,KAAK0pB,QAAQW,WAAWG,MAEhCzoB,EAAS1C,OAAS,IACpB0C,EAAS,GAAG2oB,UAAY5rB,KAG5B2I,KAAKzH,OAEPA,KAAK+qB,qBAAqBxB,wCAGfyB,EAAQC,GACnB,QAAKprB,MAAMqrB,QAAQF,KAAWnrB,MAAMqrB,QAAQD,KAGrCD,EAAO3rB,SAAW4rB,EAAO5rB,QAAU2rB,EAAOG,MAAM,SAASrsB,EAAOK,GAAS,OAAOL,IAAUmsB,EAAO9rB,gDAGvFsC,GAAW,IACpB8nB,EAAUvpB,KAAK2B,MAAf4nB,MACH1pB,MAAMqrB,QAAQ3B,KAGfvpB,KAAKorB,aAAa3pB,EAAU8nB,MAAOA,IAGvCvpB,KAAK+qB,qBAAqBxB,iDAGPA,GACnB,GAAIA,EAAMlqB,QAAU,EAAG,CAErB,IAAMgsB,EAAWrrB,KAAK0pB,QAAQW,WAAWG,MACzCxqB,KAAK0pB,QAAQW,WAAWiB,cAActrB,KAAK4qB,mBAAmBrB,KAC7B,IAA7BA,EAAM5D,QAAQ0F,IAChBrrB,KAAK0pB,QAAQW,WAAWkB,IAAIhC,EAAMA,EAAMlqB,OAAS,IAEnDW,KAAK0pB,QAAQ8B,gBAAgB,iBAE7BxrB,KAAK0pB,QAAQW,WAAWiB,cAActrB,KAAK4qB,mBAAmBrB,IAC9DvpB,KAAK0pB,QAAQ+B,aAAa,YAAY,8CAIvBlC,GACjB,IAAImC,EAAU,CACZ3B,KAAM,EACNE,UAAU,EACVH,QAAS,EAAC,GAAO,GACjBM,UAAW,aAuBb,OArBIb,EAAMlqB,QAAU,GAClBqsB,EAAQ1B,MAAQ,CAAErpB,IAAK,EAAGD,IAAK6oB,EAAMlqB,OAAS,GAC9CqsB,EAAQ7D,OAAS,CACf3oB,GAAI,SAAWJ,GACb,OAAOyqB,EAAMzqB,IAEf6sB,KAAM,SAAW7sB,GACf,OAAOyqB,EAAM5D,QAAQ7mB,OAIzB4sB,EAAQ1B,MAAQ,CAAErpB,IAAK,EAAGD,IAAK,GAC/BgrB,EAAQ7D,OAAS,CACf3oB,GAAI,SAAUJ,GACZ,OAAOyqB,EAAM,IAEfoC,KAAM,SAAS7sB,GACb,OAAO,KAIN4sB,mCAGA,IAAA3jB,EACgB/H,KAAK2B,MAApBqG,EADDD,EACCC,QAASmF,EADVpF,EACUoF,EACjB,OACIpE,EAAAC,EAAAC,cAACkL,GAAAnL,EAAD,CAAOG,UAAWL,IAAWd,EAAQmH,SAAUnH,EAAQ4jB,cACrD7iB,EAAAC,EAAAC,cAACkX,GAAD,KACEpX,EAAAC,EAAAC,cAACmX,GAAD,CAAUc,GAAI,GAAIC,GAAI,GAAIC,GAAI,IAC5BrY,EAAAC,EAAAC,cAAA,QAAME,UAAWnB,EAAQqb,UAAWlW,EAAE,gBACtCpE,EAAAC,EAAAC,cAAA,OAAKmK,IAAI,UAAUjK,UAAWL,IAAW,qBAE3CC,EAAAC,EAAAC,cAACmX,GAAD,CAAUc,GAAI,GAAIC,GAAI,GAAIC,GAAI,IAC5BrY,EAAAC,EAAAC,cAAA,QAAME,UAAWnB,EAAQqb,UAAWlW,EAAE,aACtCpE,EAAAC,EAAAC,cAAA,OAAKmK,IAAI,UAAUjK,UAAWL,IAAW,mBAG7CC,EAAAC,EAAAC,cAACkX,GAAD,KACEpX,EAAAC,EAAAC,cAACmX,GAAD,CAAUc,GAAI,EAAGC,GAAI,EAAGC,GAAI,GAC1BrY,EAAAC,EAAAC,cAACqK,GAAA,EAAD,CAAQyF,OAAK,EAAC8S,UAAQ,EAACjpB,MAAM,UAAUgB,MAAOuJ,EAAE,wBAAyBpD,QAAY/J,KAAK2B,MAAMmqB,mBAC9F/iB,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,eAGJD,EAAAC,EAAAC,cAACmX,GAAD,CAAUc,GAAI,EAAGC,GAAI,EAAGC,GAAI,GAC1BrY,EAAAC,EAAAC,cAACqK,GAAA,EAAD,CAAQyF,OAAK,EAAC8S,UAAQ,EAACjpB,MAAM,UAAWgB,MAAOuJ,EAAE,mBAAoBpD,QAAY/J,KAAK2B,MAAMoqB,qBAC1FhjB,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,2BAzIehH,IAAMC,WAkJtBiL,kBAAiBzC,IAAWwY,KAAXxY,CAAqB6e,KCjKrD,SAAS0C,GAAWC,GAEb/T,KAAKgU,kBAAkB,KAAMD,IAChC/W,GAAIK,eACHwB,KAAK,SAAAc,GACGA,IACDC,QAAQC,KAAK,+BACbF,EAAQG,IAEZH,EAAMkO,QAAQ,SAASoG,GAChBjU,KAAKgU,kBAAkBC,EAAKnX,KAAMiX,IACrC/W,GAAIC,gBAAgBgX,EAAKnX,KAAMiX,GAC9BlV,KAAK,SAAAE,GACEA,EACAiB,KAAKkU,kBAAkBD,EAAKnX,KAAMiX,EAAIhV,GAEtCa,QAAQT,MAAM,0CAA4C8U,EAAKnX,KAAO,YAAciX,aCGlGI,eAEJ,SAAAA,EAAY1qB,GAAO,IAAAuF,EAAA,OAAAvI,OAAAwI,EAAA,EAAAxI,CAAAqB,KAAAqsB,IACjBnlB,EAAAvI,OAAAyI,EAAA,EAAAzI,CAAAqB,KAAArB,OAAA0I,EAAA,EAAA1I,CAAA0tB,GAAA3sB,KAAAM,KAAM2B,KAmBR2qB,kBAAoB,WAClBplB,EAAKU,SAAS,SAAAN,GAAK,MAAK,CACtBilB,YAAajlB,EAAMilB,WACnBC,cAAc,MAvBCtlB,EA2BnBulB,oBAAsB,WACpBvlB,EAAKU,SAAS,SAAAN,GAAK,MAAK,CACtBilB,YAAY,EACZC,cAAellB,EAAMklB,iBA9BNtlB,EAkCnBwlB,kBAAoB,SAAApb,GACdpK,EAAKylB,eAAenb,SAASF,EAAMvS,SAGvCmI,EAAKU,SAAS,CAAE2kB,YAAY,KAtCXrlB,EAyCnB0lB,oBAAsB,SAAAtb,GAChBpK,EAAK2lB,iBAAiBrb,SAASF,EAAMvS,SAGzCmI,EAAKU,SAAS,CAAE4kB,cAAc,KA1C9BtlB,EAAKI,MAAQ,CACXilB,YAAY,EACZC,cAAc,GAGhBtlB,EAAKolB,kBAAoBplB,EAAKolB,kBAAkB7kB,KAAvB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACzBA,EAAKwlB,kBAAoBxlB,EAAKwlB,kBAAkBjlB,KAAvB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAEzBA,EAAKulB,oBAAsBvlB,EAAKulB,oBAAoBhlB,KAAzB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAC3BA,EAAK0lB,oBAAsB1lB,EAAK0lB,oBAAoBnlB,KAAzB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAE3BA,EAAK4lB,aAAe5lB,EAAK4lB,aAAarlB,KAAlB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAEpBA,EAAK6lB,iBAAmB7lB,EAAK6lB,iBAAiBtlB,KAAtB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACxBA,EAAK8lB,cAAgB9lB,EAAK8lB,cAAcvlB,KAAnB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAjBJA,4EAgDNwK,GACX1R,KAAK4H,SAAS,CACZ2kB,YAAY,IAGV7a,GAASA,EAAMub,eACjBjB,GAAWta,EAAMub,eAGfjtB,KAAK2B,OAAS3B,KAAK2B,MAAMulB,UAC3BlnB,KAAK2B,MAAMulB,SAASxV,4CAIP5S,GACXkB,KAAK2B,OAAS3B,KAAK2B,MAAM4oB,cAC3BvqB,KAAK2B,MAAM4oB,aAAazrB,EAAQ,2CAItBA,GACZ,GAAIkB,KAAK2B,OAAS3B,KAAK2B,MAAMmpB,WAAa9qB,KAAK2B,MAAM+kB,MAAO,CAC1D,IAAIN,EAAMpmB,KAAK2B,MAAM+kB,MAAM6C,MAAM5D,QAAQ7mB,GACzC,GAAIkB,KAAK2B,MAAM+kB,MAAMwG,YAAc9G,GAAOpmB,KAAK2B,MAAM+kB,MAAMwG,WAAW7tB,OAAS,EAAG,CAChF,IAAImnB,EAAYxmB,KAAK2B,MAAM+kB,MAAMwG,WAAW9G,GAE5CpmB,KAAK2B,MAAMmpB,UAAUtE,qCAKnB1nB,GACN,GAAIkB,KAAK2B,OAAS3B,KAAK2B,MAAM+kB,OAAS1mB,KAAK2B,MAAM+kB,MAAMwG,WAAY,CACjE,IAAI9G,EAAMpmB,KAAK2B,MAAM+kB,MAAMwG,WAAWvH,QAAQ7mB,GAC9C,OAAOkB,KAAK2B,MAAM+kB,MAAM6C,MAAMnD,GAE9B,OAAO,sCAIF,IAAA3d,EAAAkJ,EAAAC,EAAAub,EAAAtb,EAAA7R,KAAAotB,EAC6CptB,KAAKsH,MAAjDilB,EADDa,EACCb,WAAYC,EADbY,EACaZ,aADbzkB,GAAAqlB,EAC2BC,cAkB9BrtB,KAAK2B,OAfPwL,EAJKpF,EAILoF,EACAnF,EALKD,EAKLC,QACA8J,EANK/J,EAML+J,WACAtB,EAPKzI,EAOLyI,WACA8c,EARKvlB,EAQLulB,aACAC,EATKxlB,EASLwlB,WACAvb,EAVKjK,EAULiK,YACAC,EAXKlK,EAWLkK,OAEAxB,EAbK1I,EAaL0I,MACAyB,EAdKnK,EAcLmK,WACAC,EAfKpK,EAeLoK,cACAjB,EAhBKnJ,EAgBLmJ,YACAkB,EAjBKrK,EAiBLqK,cACAC,EAlBKtK,EAkBLsK,YAGIC,EAAexJ,KAAUL,EAAA,GAAA9J,OAAAE,EAAA,EAAAF,CAAA8J,EAC5BT,EAAQyI,OAAQ,GADY9R,OAAAE,EAAA,EAAAF,CAAA8J,EAE5BT,EAAQ8I,YAAcmB,IAAWsa,GAFL5tB,OAAAE,EAAA,EAAAF,CAAA8J,EAG5BT,EAAQ6I,YAAc0b,IAAeta,GAHTxJ,IAMzB8G,EAAezG,KAAU6I,EAAA,GAAAhT,OAAAE,EAAA,EAAAF,CAAAgT,EAC5B3J,EAAQuH,cAAe,GADK5Q,OAAAE,EAAA,EAAAF,CAAAgT,EAE5B3J,EAAQkK,EAAa,UAAW,GAFJvT,OAAAE,EAAA,EAAAF,CAAAgT,EAG5B3J,EAAQkJ,YAAcA,GAHMS,IAMzB6b,EACJzkB,EAAAC,EAAAC,cAACuJ,GAAAxJ,EAAD,CAAUyJ,KAAK,OAAOtJ,UAAWnB,EAAQqH,UACtCrP,KAAK2B,MAAM+kB,MACV3d,EAAAC,EAAAC,cAACyJ,GAAA1J,EAAD,CACE6J,IAAK,OACL9I,QAAS,kBAAM8H,EAAKib,aAAa,OACjC3jB,UAAWoG,GAEXxG,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWnB,EAAQyM,eAAzB,SACCtH,EAAE,wBACS,KAEfnN,KAAK2B,MAAM+kB,MACV3d,EAAAC,EAAAC,cAACgK,GAAAjK,EAAD,CACEG,UAAWnB,EAAQuI,sBAEnB,KAGHgd,EAAW5a,IAAI,SAACC,EAAMC,GACrB,OAAID,EAAKE,OAEL/J,EAAAC,EAAAC,cAACyJ,GAAA1J,EAAD,CACE6J,IAAKA,EACL1J,UAAWnB,EAAQgJ,eACnB+B,UAAQ,GAEP5F,EAAEyF,EAAKiG,cAIVjG,EAAKI,QAELjK,EAAAC,EAAAC,cAACgK,GAAAjK,EAAD,CACE6J,IAAKA,EACL1J,UAAWnB,EAAQuI,sBAIdqC,EAAKvG,MAAQuG,EAAKM,KAEzBnK,EAAAC,EAAAC,cAACyJ,GAAA1J,EAAD,CACE6J,IAAKA,EACL9I,QAAS,kBAAM8H,EAAKib,aAAala,IACjCzJ,UAAWoG,GAEXxG,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,KAAO4J,EAAKvG,MACXuG,EAAKM,MAOVnK,EAAAC,EAAAC,cAACyJ,GAAA1J,EAAD,CACE6J,IAAKA,EACL9I,QAAS,kBAAM8H,EAAKib,aAAala,IACjCzJ,UAAWoG,EACX3L,MAAOuJ,EAAEyF,EAAKiG,cAEd9P,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWnB,EAAQyM,eAAgB7B,EAAKvG,KAAOuG,EAAKvG,KAAO,UAChEc,EAAEyF,EAAKiG,iBAOZ4U,EACJ1kB,EAAAC,EAAAC,cAACykB,GAAD,CACEnE,MAAOvpB,KAAK2B,MAAM+kB,MAAQ1mB,KAAK2B,MAAM+kB,MAAM6C,MAAQ,KACnD5d,QAAS3L,KAAK2B,MAAMgK,QACpBkf,KAAM7qB,KAAKyN,QAAQzN,KAAK2B,MAAMgsB,SAC9BpD,aAAcvqB,KAAK+sB,iBACnBjC,UAAW9qB,KAAKgtB,cAChBlB,kBAAmB9rB,KAAK2B,MAAMmqB,kBAC9BC,oBAAqB/rB,KAAK2B,MAAMoqB,sBAIpC,OACEhjB,EAAAC,EAAAC,cAAA,OAAKE,UAAWiJ,EAAgBpK,EAAQ8G,aAAe9G,EAAQ4G,SAC7D7F,EAAAC,EAAAC,cAAA,OAAKwJ,KAAK,QAAQtJ,UAAWL,SAA0BhI,IAAfgR,EAA2B,GAAK9J,EAAQjJ,OAAQiJ,EAAQ4lB,cAC9F7kB,EAAAC,EAAAC,cAACqK,GAAA,EAAD3U,OAAAC,OAAA,CACEkL,aAAW,kBACXyJ,YAAWgZ,EAAa,mBAAqB,KAC7C/Y,gBAAc,OAEdC,UAAW,SAAAC,GACT7B,EAAK8a,eAAiBjZ,IAEpB1B,EARN,CASEjI,QAAS/J,KAAKssB,kBACdnjB,UAAWL,IAAWd,EAAQ6lB,YAAa7lB,EAAQ8lB,YACnD/a,SAAU/S,KAAK2B,MAAMoR,gBAELjS,IAAf0P,EACCzH,EAAAC,EAAAC,cAAAjJ,KAAM2B,MAAM6O,WAAZ,CAAuBrH,UAAWnB,EAAQwI,aACxC,KACJzH,EAAAC,EAAAC,cAAA,OAAKoK,MAAO,CAAE7G,SAAU,SAAUuhB,aAAc,aAC7C/tB,KAAK2B,MAAM+kB,MAAQvZ,EAAEnN,KAAK2B,MAAM+kB,MAAM7N,aAAe7Y,KAAK2B,MAAMiC,OAElE6M,EAAQ1H,EAAAC,EAAAC,cAAA,KAAGE,UAAWmJ,IAAmB,MAG5CvJ,EAAAC,EAAAC,cAACqK,GAAA,EAAD3U,OAAAC,OAAA,CACEkL,aAAW,sBACXyJ,YAAWgZ,EAAa,qBAAuB,KAC/C/Y,gBAAc,OACd+P,UAAU,QACV9P,UAAW,SAAAC,GACT7B,EAAKgb,iBAAmBnZ,IAEtB1B,EARN,CASE7I,UAAWL,IAAWd,EAAQgmB,WAAYhmB,EAAQimB,gBAClDlkB,QAAS/J,KAAKysB,oBACd1Z,UAAU/S,KAAK2B,MAAM+kB,QAXvB,OAcI3d,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWnB,EAAQwI,YAAa8c,KAI5CvkB,EAAAC,EAAAC,cAAC0K,GAAA3K,EAAD,CACEoB,KAAMmiB,EACNhb,SAAUvR,KAAK2sB,eACf3pB,YAAU,EACV4Q,eAAa,EACbC,UAAW1B,EACXhJ,UAAWL,KAAU8I,EAAA,GAAAjT,OAAAE,EAAA,EAAAF,CAAAiT,EAClB5J,EAAQqG,aAAeke,GADL5tB,OAAAE,EAAA,EAAAF,CAAAiT,EAElB5J,EAAQsH,kBAAmB,GAFT3Q,OAAAE,EAAA,EAAAF,CAAAiT,EAGlB5J,EAAQuG,UAAYge,GAAcla,GAHhB1T,OAAAE,EAAA,EAAAF,CAAAiT,EAIlB5J,EAAQkmB,qBAAsB,GAJZtc,KAOpB,SAAAhE,KAAGkG,gBAAHlG,EAAoBiG,UAApB,OACC9K,EAAAC,EAAAC,cAAC8K,GAAA/K,EAAD,CACEgL,GAAIuY,EACJtY,GAAG,mBACHZ,MACEpB,EACI,CAAEiC,gBAAiB,YACnB,CAAEA,gBAAiB,UAGzBnL,EAAAC,EAAAC,cAACkL,GAAAnL,EAAD,CAAOG,UAAWnB,EAAQmH,UACvBiD,EACCob,EAEEzkB,EAAAC,EAAAC,cAACmL,GAAApL,EAAD,CAAmBqL,YAAaxC,EAAK6a,kBAAmBtZ,IAAI,SACzDoa,OAQfzkB,EAAAC,EAAAC,cAAC0K,GAAA3K,EAAD,CACEoB,KAAMoiB,EACNjb,SAAUvR,KAAK6sB,iBACf7pB,YAAU,EACV4Q,eAAa,EACbC,UAAW1B,EACXhJ,UAAWL,KAAUqkB,EAAA,GAAAxuB,OAAAE,EAAA,EAAAF,CAAAwuB,EAClBnlB,EAAQqG,aAAeme,GADL7tB,OAAAE,EAAA,EAAAF,CAAAwuB,EAElBnlB,EAAQsH,kBAAmB,GAFT3Q,OAAAE,EAAA,EAAAF,CAAAwuB,EAGlBnlB,EAAQuG,UAAYie,GAAgBna,GAHlB8a,KAMpB,SAAAvT,KAAG9F,gBAAH8F,EAAoB/F,UAApB,OACC9K,EAAAC,EAAAC,cAAC8K,GAAA/K,EAAD,CACEgL,GAAIwY,EACJvY,GAAG,qBACHZ,MACEpB,EACI,CAAEiC,gBAAiB,YACnB,CAAEA,gBAAiB,UAGzBnL,EAAAC,EAAAC,cAACkL,GAAAnL,EAAD,CAAOG,UAAWnB,EAAQmH,UACvBiD,EACCqb,EAEE1kB,EAAAC,EAAAC,cAACmL,GAAApL,EAAD,CAAmBqL,YAAaxC,EAAK+a,oBAAqBxZ,IAAI,SAC3Dqa,eArTKzrB,IAAMC,WAiUlCoqB,GAAcne,aAAe,CAC3BuC,OAAO,EACPwB,QAAQ,EACRC,WAAY,UACZF,YAAa,CACX+G,OAAO,EACP5M,OAAO,EACPvJ,MAAO,UACP2gB,WAAW,GAEb+J,aAAc,YA2CDpgB,sBAAiBzC,IAAWwY,KAAXxY,CAAqB4hB,KCjX/C8B,GAAStX,0DAkBTuX,eAEJ,SAAAA,EAAYzsB,GAAO,IAAAuF,EAAA,OAAAvI,OAAAwI,EAAA,EAAAxI,CAAAqB,KAAAouB,IACjBlnB,EAAAvI,OAAAyI,EAAA,EAAAzI,CAAAqB,KAAArB,OAAA0I,EAAA,EAAA1I,CAAAyvB,GAAA1uB,KAAAM,KAAM2B,KAsCRyP,YAAc,WACZlK,EAAKU,SAAS,SAAAN,GAAK,MAAK,CACtB8C,MAAO9C,EAAM8C,SAzCElD,EA6CnBmK,YAAc,SAAAC,GACRpK,EAAKqK,SAASC,SAASF,EAAMvS,SAGjCmI,EAAKU,SAAS,CAAEwC,MAAM,KA9CtBlD,EAAKI,MAAQ,CACX8C,MAAM,EACNijB,mBAAevsB,GAGjBoG,EAAKkK,YAAclK,EAAKkK,YAAY3J,KAAjB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACnBA,EAAKmK,YAAcnK,EAAKmK,YAAY5J,KAAjB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACnBA,EAAKuK,gBAAkBvK,EAAKuK,gBAAgBhK,KAArB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAEvBA,EAAKmnB,QAAU,GAEfnZ,GAAIM,aACHuB,KAAM,SAAAE,GACH,IAAIqX,GAAQ,EACRC,OAAcztB,EAClBoG,EAAKmnB,QAAU,GAEXpX,GAAQA,EAAK5X,OAAS,GACxB4X,EAAK8O,QAAQ,SAASvjB,GAtChC,IAAwB+T,EAAKiQ,EAwCV8H,GAAS9rB,EAAOgsB,WAAaD,IAC9BvuB,KAAKquB,QAAQpI,KAAK,CAAEjT,SAAS,IAC7Bub,EAAc/rB,EAAOgsB,UAEzBhsB,EAAM,QAAcA,EAAOoB,MAC3BpB,EAAM,YAAkBA,EAAOif,kBAC/Bjf,EAAM,OA9CI+T,EA8CuB4X,GA9ClB3H,EA8C0BhkB,EAAOisB,SA7CnD,IAAI7F,KAAY,CACnBD,OAAQ,IAAIE,KAAgB,CAE1BC,OAAQ,CACN4F,OAAUlI,EACVmI,OAAU,aAEZpY,IAAKA,IAEP9D,KAAM,YAsCAzS,KAAKquB,QAAQpI,KAAKzjB,GAElB8rB,GAAQ,GACV7mB,KAbW9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,QArBFA,+EAoDHwK,GACd1R,KAAK4H,SAAS,CACZwC,MAAM,EACNijB,cAAe3b,IAEb1R,KAAK2B,OAAS3B,KAAK2B,MAAMoI,SAC3B/J,KAAK2B,MAAMoI,QAAQ2H,oCAId,IAAAjJ,EAAAkJ,EAAAC,EAAAC,EAAA7R,KACCoK,EAASpK,KAAKsH,MAAd8C,KADDrC,EAiBH/H,KAAK2B,MAbPwL,EAJKpF,EAILoF,EACAnF,EALKD,EAKLC,QACA8J,EANK/J,EAML+J,WACAtB,EAPKzI,EAOLyI,WACAwB,EARKjK,EAQLiK,YACAC,EATKlK,EASLkK,OAEAxB,EAXK1I,EAWL0I,MACAyB,EAZKnK,EAYLmK,WACAC,EAbKpK,EAaLoK,cACAjB,EAdKnJ,EAcLmJ,YACAkB,EAfKrK,EAeLqK,cACAC,EAhBKtK,EAgBLsK,YAGIC,EAAexJ,KAAUL,EAAA,GAAA9J,OAAAE,EAAA,EAAAF,CAAA8J,EAC5BT,EAAQyI,OAAQ,GADY9R,OAAAE,EAAA,EAAAF,CAAA8J,EAE5BT,EAAQ8I,YAAcmB,IAAW7H,GAFLzL,OAAAE,EAAA,EAAAF,CAAA8J,EAG5BT,EAAQ6I,YAAczG,IAAS6H,GAHHxJ,IAMzB8G,EAAezG,KAAU6I,EAAA,GAAAhT,OAAAE,EAAA,EAAAF,CAAAgT,EAC5B3J,EAAQuH,cAAe,GADK5Q,OAAAE,EAAA,EAAAF,CAAAgT,EAE5B3J,EAAQkK,EAAa,UAAW,GAFJvT,OAAAE,EAAA,EAAAF,CAAAgT,EAG5B3J,EAAQkJ,YAAcA,GAHMS,IAMzB6b,EACJzkB,EAAAC,EAAAC,cAACuJ,GAAAxJ,EAAD,CAAUyJ,KAAK,OAAOtJ,UAAWnB,EAAQqH,UACtCrP,KAAKsH,MAAM+lB,cACVtkB,EAAAC,EAAAC,cAACyJ,GAAA1J,EAAD,CACE6J,IAAK,OACL9I,QAAS,kBAAM8H,EAAKJ,gBAAiB,OACrCtI,UAAWoG,GAEXxG,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWnB,EAAQyM,eAAzB,SACCtH,EAAE,wBACS,KAEfnN,KAAKsH,MAAM+lB,cACVtkB,EAAAC,EAAAC,cAACgK,GAAAjK,EAAD,CACEe,QAAS,kBAAM8H,EAAKJ,gBAAgB,YACpCtI,UAAWnB,EAAQuI,sBAEjB,KAELvQ,KAAKquB,QAAQ1b,IAAI,SAACC,EAAMC,GACvB,OAAID,EAAKE,OAEL/J,EAAAC,EAAAC,cAACyJ,GAAA1J,EAAD,CACE6J,IAAKA,EACL1J,UAAWnB,EAAQgJ,eACnB+B,UAAQ,GAEP5F,EAAEyF,EAAKiG,cAIVjG,EAAKI,QAELjK,EAAAC,EAAAC,cAACgK,GAAAjK,EAAD,CACE6J,IAAKA,EACL9I,QAAS,kBAAM8H,EAAKJ,gBAAgB,YACpCtI,UAAWnB,EAAQuI,sBAMnBxH,EAAAC,EAAAC,cAACyJ,GAAA1J,EAAD,CACA6J,IAAKA,EACL9I,QAAS,kBAAM8H,EAAKJ,gBAAgBmB,IACpCzJ,UAAWoG,GAETxG,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWnB,EAAQyM,eAAzB,gBACC7B,EAAKiG,YAAc1L,EAAEyF,EAAKiG,aAAejG,EAAKrQ,YAOzD,OACEwG,EAAAC,EAAAC,cAAA,OAAKE,UAAWiJ,EAAgBpK,EAAQ8G,aAAe9G,EAAQ4G,SAC7D7F,EAAAC,EAAAC,cAAA,OAAKE,UAAWL,SAA0BhI,IAAfgR,EAA2B,GAAK9J,EAAQjJ,SACjEgK,EAAAC,EAAAC,cAACqK,GAAA,EAAD3U,OAAAC,OAAA,CACEkL,aAAW,mBACXyJ,YAAWnJ,EAAO,oBAAsB,KACxCoJ,gBAAc,OACdC,UAAW,SAAAC,GACX7B,EAAKN,SAAWmC,IAEZ1B,EAPN,CAQEjI,QAAS/J,KAAKoR,mBAEEtQ,IAAf0P,EACCzH,EAAAC,EAAAC,cAAAjJ,KAAM2B,MAAM6O,WAAZ,CAAuBrH,UAAWnB,EAAQwI,aACxC,KACJzH,EAAAC,EAAAC,cAAA,OAAKoK,MAAO,CAAE7G,SAAU,SAAUuhB,aAAc,aAE7C/tB,KAAKsH,MAAM+lB,cAAgBlgB,EAAEnN,KAAKsH,MAAM+lB,cAAcxU,aAAe7Y,KAAK2B,MAAMiC,OAElF6M,EAAQ1H,EAAAC,EAAAC,cAAA,KAAGE,UAAWmJ,IAAmB,OAG9CvJ,EAAAC,EAAAC,cAAC0K,GAAA3K,EAAD,CACEoB,KAAMA,EACNmH,SAAUvR,KAAKuR,SACfvO,YAAU,EACV4Q,eAAa,EACbC,UAAW1B,EACXhJ,UAAWL,KAAU8I,EAAA,GAAAjT,OAAAE,EAAA,EAAAF,CAAAiT,EAClB5J,EAAQqG,aAAejE,GADLzL,OAAAE,EAAA,EAAAF,CAAAiT,EAElB5J,EAAQsH,kBAAmB,GAFT3Q,OAAAE,EAAA,EAAAF,CAAAiT,EAGlB5J,EAAQuG,UAAYnE,GAAQiI,GAHVT,KAMtB,SAAAhE,KAAGkG,gBAAHlG,EAAoBiG,UAApB,OACC9K,EAAAC,EAAAC,cAAC8K,GAAA/K,EAAD,CACEgL,GAAI5J,EACJ6J,GAAG,oBACHZ,MACIpB,EACE,CAAEiC,gBAAiB,YACnB,CAAEA,gBAAiB,UAGzBnL,EAAAC,EAAAC,cAACkL,GAAAnL,EAAD,CAAOG,UAAWnB,EAAQmH,UACvBiD,EACCob,EAEAzkB,EAAAC,EAAAC,cAACmL,GAAApL,EAAD,CAAmBqL,YAAaxC,EAAKR,YAAa+B,IAAI,SACnDoa,eAxMMxrB,IAAMC,WAqNnCmsB,GAAelgB,aAAe,CAC5BuC,OAAO,EACPwB,QAAQ,EACRC,WAAY,UACZF,YAAa,CACX+G,OAAO,EACP5M,OAAO,EACPvJ,MAAO,YA4CIsK,sBAAiBzC,IAAWwY,KAAXxY,CAAqB2jB,KC5S/CQ,+LAGF5uB,KAAK6uB,OAAS7uB,KAAKypB,KAAKoF,OAExBlF,KAAWC,OAAO5pB,KAAK6uB,OAAQ,CAC7BhF,MAAO7pB,KAAK2B,MAAMmtB,eAClBhF,QAAS,EAAC,GAAO,GACjBC,KAAM,EACNC,MAAO,CAAErpB,IAAK,EAAGD,IAAK,KACtBupB,UAAU,EACVpC,OAAQqC,KAAM,CACZC,SAAU,IAEZC,UAAW,aAEbpqB,KAAK6uB,OAAOxE,WAAWC,GAAG,SAAU,WAC9BtqB,KAAK2B,MAAMotB,eACb/uB,KAAK2B,MAAMotB,cAAc/uB,KAAK6uB,OAAOxE,WAAWG,QAalD/iB,KAAKzH,OAEP,IAAI+B,EAAW/B,KAAK6uB,OAAOpE,uBAAuB,kBAC9C1oB,EAAS1C,OAAS,IACpB0C,EAAS,GAAG2oB,UAAY,sPACxB3oB,EAAS,GAAGsG,UAAUE,IAAI,8CAKrB,IACCP,EAAYhI,KAAK2B,MAAjBqG,QACR,OACEe,EAAAC,EAAAC,cAAA,OAAKgL,GAAG,kBAAkB9K,UAAWL,IAAWd,EAAQgnB,mBAAoBhnB,EAAQinB,UAClFlmB,EAAAC,EAAAC,cAAA,OAAKgL,GAAG,eAAe9K,UAAaL,IAAWd,EAAQinB,UACrDlmB,EAAAC,EAAAC,cAAA,OAAKmK,IAAI,SAASjK,UAAWL,IAAWd,EAAQknB,YAAa,WAAY,6BA9C3DltB,IAAMC,WAqDfwI,OAAWwY,KAAXxY,CAAqBmkB,ICxD9BO,oLAEK,IAAApnB,EAC4C/H,KAAK2B,MAAhDwL,EADDpF,EACCoF,EAAGnF,EADJD,EACIC,QAASonB,EADbrnB,EACaqnB,WAKdC,GANCtnB,EACyBunB,eAKJ,IAAqCF,EAAa,IAAQ9oB,GAEtF,OACEyC,EAAAC,EAAAC,cAAA,OAAKgL,GAAG,aACNlL,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQunB,eAAgB3rB,MAAOuJ,EAAE,qBAAsBkG,MAAO,CAACrN,KAAMqpB,IACnFtmB,EAAAC,EAAAC,cAAA,OAAKE,UAAYnB,EAAQwnB,oBAbZxtB,IAAMC,WA0BdiL,kBAAiBzC,IAAWwY,KAAXxY,CAAqB0kB,cCrB/CM,eACJ,SAAAA,EAAY9tB,GAAO,IAAAuF,EAAA,OAAAvI,OAAAwI,EAAA,EAAAxI,CAAAqB,KAAAyvB,IACjBvoB,EAAAvI,OAAAyI,EAAA,EAAAzI,CAAAqB,KAAArB,OAAA0I,EAAA,EAAA1I,CAAA8wB,GAAA/vB,KAAAM,KAAM2B,KAED2F,MAAQ,CACXxI,MAAO,GACP4wB,UAAW,QACXtlB,MAAM,GAGRlD,EAAKyoB,WAAa,KAElBzoB,EAAK0oB,cAAgB,SAAAC,GACnB3oB,EAAKyoB,WAAaE,GAGpB3oB,EAAK4oB,cAAgB5oB,EAAK4oB,cAAcroB,KAAnB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACrBA,EAAK6oB,OAAS7oB,EAAK6oB,OAAOtoB,KAAZ9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACdA,EAAK8oB,iBAAmB9oB,EAAK8oB,iBAAiBvoB,KAAtB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACxBA,EAAK6X,aAAe7X,EAAK6X,aAAatX,KAAlB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACpBA,EAAK+oB,cAAgB/oB,EAAK+oB,cAAcxoB,KAAnB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACrBA,EAAKmK,YAAcnK,EAAKmK,YAAY5J,KAAjB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KApBFA,wEA+BjB,OAHKlH,KAAKkwB,MACRlwB,KAAKkwB,IAAMlwB,KAAK8vB,iBAEX9vB,KAAKkwB,4CAMZ,GAAIlwB,KAAK2vB,WAAY,CACnB,IAAInO,EAAKxhB,KAAK2vB,WACVQ,EAAMtuB,OAAOuuB,kBAAoB,EACjCF,EAAMG,WAAW7O,EAAG8O,aAAeH,EAIvC,OAHID,GAAO,IACTA,EAAM,IAEDA,EAGT,OAAO,uCAIGxX,EAAO6X,EAAKC,GAEtB,IAeIC,EAfe,CACjBC,EAAK,IACLC,EAAK,IACLC,GAAM,IACNC,GAAM,KACNC,GAAM,KACNC,GAAM,KACNC,GAAM,IACNC,GAAM,IACNC,GAAM,IACNC,GAAM,IACNC,GAAM,KAGU3wB,KAAKsY,MAAMyX,IAE7B,OAAOpY,KAAOqY,GAAa5I,OAAO,CAAEwJ,SAAU,wCAiBpC3Y,EAAO4Y,GAGjB,IAAIpB,EAAMlwB,KAAK+vB,SAEXQ,EAAMe,GAAe,MADfC,KAAgB7Y,GACOwX,GAE7BlwB,KAAK2B,MAAM6vB,eACbxxB,KAAK2B,MAAM6vB,cAAcjB,8CAK3BvwB,KAAK4H,SAAS,SAACN,GACb,MAAO,CACL8C,MAAM,EACNslB,UAAWpoB,EAAMxI,8CAKV2yB,GAEGA,EAAE1yB,OAAOD,MAAM4yB,MADf,cAGZ1xB,KAAK4H,SAAS,CACZ8nB,UAAW+B,EAAE1yB,OAAOD,8CAKZ2yB,GAAG,IACPE,EAAc3xB,KAAK2B,MAAnBgwB,UAER,GAAc,UAAVF,EAAE5e,KAKJ,GAJA7S,KAAK4H,SAAS,CACZwC,MAAM,EACNtL,MAAO2yB,EAAE1yB,OAAOD,QAEdkB,KAAK2B,MAAM6vB,cAAe,CAC5B,IAAIjB,EAAMvwB,KAAK4xB,YAAYD,EAAWF,EAAE1yB,OAAOD,OAC/CkB,KAAK2B,MAAM6vB,cAAcjB,QAER,WAAVkB,EAAE5e,KACX7S,KAAK4H,SAAS,CACZwC,MAAM,wCAKAqnB,GACVzxB,KAAK4H,SAAS,CACZwC,MAAM,qCAID,IAAArC,EACiD/H,KAAK2B,MAArDwL,EADDpF,EACCoF,EAAGnF,EADJD,EACIC,QAAS2pB,EADb5pB,EACa4pB,UAAWE,EADxB9pB,EACwB8pB,eAAgBrB,EADxCzoB,EACwCyoB,KAE/C,OACEznB,EAAAC,EAAAC,cAAA,OAAKgL,GAAG,uBACNlL,EAAAC,EAAAC,cAAA,OAAKgL,GAAG,mBAAmBb,IAAKpT,KAAK4vB,cAAevc,MAAO,CAAExQ,MAAO,SACpEkG,EAAAC,EAAAC,cAAA,OAAKgL,GAAG,YAAY9K,UAAWL,IAAWd,EAAQinB,QAASjnB,EAAQ8pB,WACjE/oB,EAAAC,EAAAC,cAACmL,GAAApL,EAAD,CAAmBqL,YAAarU,KAAKqR,YAAa+B,IAAI,SACpDrK,EAAAC,EAAAC,cAAA,WACGkE,EAAE,aADL,UAC0BnN,KAAKsH,MAAM8C,KACjCrB,EAAAC,EAAAC,cAAA,SAAOnK,MAAOkB,KAAKsH,MAAMooB,UAAWvmB,UAAWnB,EAAQ+pB,cAAeC,WAAS,EAC7EvS,SAAUzf,KAAK+e,aACfkT,UAAWjyB,KAAKiwB,gBAChBlnB,EAAAC,EAAAC,cAAA,QAAMc,QAAS/J,KAAKgwB,iBAAkB7mB,UAAWnB,EAAQkqB,eAAgBlyB,KAAKmyB,YAAYR,EAAWE,EAAgBrB,eA5JhHxuB,IAAMC,WAuKdiL,kBAAiBzC,IAAWwY,KAAXxY,CAAqBglB,eC3K/C2C,2LAGF,OAAOpyB,KAAK2B,MAAM0wB,YAAcryB,KAAK2B,MAAM0wB,YAAY,GAAKryB,KAAK2B,MAAM2wB,aAAa,2CAIpF,OAAOtyB,KAAK2B,MAAM0wB,YAAcryB,KAAK2B,MAAM0wB,YAAY,GAAKryB,KAAK2B,MAAM2wB,aAAa,oCAG7E,IAAAvqB,EACgB/H,KAAK2B,MAApBwL,EADDpF,EACCoF,EAAGnF,EADJD,EACIC,QACX,OACEe,EAAAC,EAAAC,cAAA,OAAKgL,GAAG,cAAc9K,UAAWL,IAAWd,EAAQinB,QAASjnB,EAAQuqB,aACnExpB,EAAAC,EAAAC,cAAA,QAAME,UAAWnB,EAAQqb,UAAWlW,EAAE,gBAAtC,MACG1M,KAAKsY,MAAM/Y,KAAKwyB,iBAFrB,KAE2C/xB,KAAKsY,MAAM/Y,KAAKyyB,yBAfxCzwB,IAAMC,WAqBhBiL,kBAAiBzC,IAAWwY,KAAXxY,CAAqB2nB,KC3B/CM,oLACK,IAAA3qB,EACc/H,KAAK2B,MAAlBwL,EADDpF,EACCoF,EAAGuZ,EADJ3e,EACI2e,MAEX,OACE3d,EAAAC,EAAAC,cAAA,WAAOyd,EAAMiM,SAAWxlB,EAAEuZ,EAAMiM,UAAYjM,EAAMkM,aALhC5wB,IAAMC,WAUfiL,kBAAiBwlB,yBCZnBG,GAAmB,CAC9BC,IAAK,CACHC,gBA2GJ,WACE,IAAIpc,EAAU,GAed,OAdAA,EAAQ,gBAAkB,aAC1BA,EAAO,OAAa,WAabC,MANKC,wGALW,CACrBC,OAAQ,MACRH,QAASA,IAURI,KAAM,SAAAC,GACL,OAAOA,EAAS9D,OAAO6D,KAAM,SAAA7D,GAC3B,IAAM+D,EAAO/D,EACb,IAAK8D,EAASI,GAAI,CAChB,IAAMC,EAASJ,GAAQA,EAAKK,SAAYN,EAASO,WACjD,OAAOC,QAAQC,OAAOJ,GAGxB,OAAOJ,MAIVS,MAAO,SAASL,OAvIjB2b,eAQJ,SAAwBC,EAAcC,GACpC,IAAIvc,EAAU,GACdA,EAAQ,gBAAkB,aAC1BA,EAAO,OAAa,mBAEpB,IAAMwc,EAAiB,CACrBrc,OAAQ,MACRH,QAASA,GAGPyQ,EAAS6L,EAAa3K,KAAK,KAC3B8K,EAAO,CAACF,EAAM,GAAK,GAAIA,EAAM,GAAK,GAAIA,EAAM,GAAK,GAAIA,EAAM,GAAK,IAAI5K,KAAK,KAoB3E,OAAO1R,MAlBGC,+GAKKuQ,EACb,+BAEWgM,EACX,sCAEmBhM,EACnB,2DAMgB+L,GACjBpc,KAAM,SAAAC,GACL,OAAOA,EAAS9D,OAAO6D,KAAM,SAAA7D,GAC3B,IAAM+D,EAAO/D,GAAQgE,KAAKC,MAAMjE,GAChC,IAAK8D,EAASI,GAAI,CAChB,IAAMC,EAASJ,GAAQA,EAAKK,SAAYN,EAASO,WACjD,OAAOC,QAAQC,OAAOJ,GAGxB,OAAOJ,MAIVS,MAAO,SAASL,OAnDjBgc,iBAyDJ,SAA0BC,GACxB,IAAI3c,EAAU,GA4BZ,OA3BFA,EAAQ,gBAAkB,aAC1BA,EAAO,OAAa,mBA0BXC,MAnBGC,gHAKIyc,EACZ,8CAXmB,CACrBxc,OAAQ,MACRH,QAASA,IAuBNI,KAAM,SAAAC,GACP,OAAOA,EAAS9D,OAAO6D,KAAM,SAAA7D,GAC3B,IAAM+D,EAAO/D,EACb,IAAK8D,EAASI,GAAI,CAChB,IAAMC,EAASJ,GAAQA,EAAKK,SAAYN,EAASO,WACjD,OAAOC,QAAQC,OAAOJ,GAGxB,OAAOJ,MAIVS,MAAO,SAASL,QAjGnBkc,IAAK,CACHC,YAwIJ,SAAqBF,GACnB,IAAI3c,EAAU,GAkBZ,OAjBFA,EAAQ,gBAAkB,aAC1BA,EAAO,OAAa,mBAgBXC,MATGC,6GAIOyc,EACf,iDAVmB,CACrBxc,OAAQ,MACRH,QAASA,IAaRI,KAAM,SAAAC,GACL,OAAOA,EAAS9D,OAAO6D,KAAM,SAAA7D,GAC3B,IAAM+D,EAAO/D,EACb,IAAK8D,EAASI,GAAI,CAChB,IAAMC,EAASJ,GAAQA,EAAKK,SAAYN,EAASO,WACjD,OAAOC,QAAQC,OAAOJ,GAGxB,OAAOJ,MAIVS,MAAO,SAASL,aCrKfoc,eACJ,SAAAA,EAAY9xB,GAAO,IAAAuF,EAAA,OAAAvI,OAAAwI,EAAA,EAAAxI,CAAAqB,KAAAyzB,IACjBvsB,EAAAvI,OAAAyI,EAAA,EAAAzI,CAAAqB,KAAArB,OAAA0I,EAAA,EAAA1I,CAAA80B,GAAA/zB,KAAAM,KAAM2B,KAED2F,MAAQ,CACXkf,UAAWtf,EAAKvF,MAAM+kB,MAAMF,UAC5BkN,MAAQ,GACRC,OAAQ5qB,EAAAC,EAAAC,cAAA,YACRqU,WAAOxc,GAGToG,EAAK0sB,WAAa1sB,EAAK0sB,WAAWnsB,KAAhB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAVDA,2EAaPtE,EAAOsQ,EAAM2gB,EAAKC,GAAU,IAC9B9rB,EAAYhI,KAAK2B,MAAjBqG,QACR,OACEe,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQ+rB,YAAalhB,IAAKghB,GACxC9qB,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQgsB,UAAW3gB,MAAO,CAACvQ,gBAAiBF,IAA5D,QACAmG,EAAAC,EAAAC,cAACgrB,GAAAjrB,EAAD,CAAYG,UAAWnB,EAAQksB,YAAahhB,EAAmB,MAAb4gB,EAAmB/qB,EAAAC,EAAAC,cAAA,SAAOE,UAAWnB,EAAQmsB,YAA1B,KAAyCN,EAAzC,KAAyD,0CAKzHH,GAAO,IAAA3rB,EACO/H,KAAK2B,MAApBwL,EADQpF,EACRoF,EAAGnF,EADKD,EACLC,QACPosB,EAAU,GACVnI,EAAKjsB,KAAK2B,MAAM+kB,MAAMuG,cAmB1B,OAjBAyG,EAAM3N,QAAQ,SAASsO,GACrB,GAAIA,EAAKC,YAAY,GAAGC,QAAS,CAC/B,IAAI3xB,EAAQyxB,EAAKC,YAAY,GAAGC,QAAQj0B,KACpCuzB,EAAMQ,EAAK/N,KACXuN,GACFO,EAAQnO,KAAKjmB,KAAKw0B,YAAY5xB,EAAOuK,EAAE8e,EAAG,IAAI4H,GAAMA,EAAK7zB,KAAK2B,MAAM+kB,MAAMoN,gBAEvE,GAAIO,EAAKC,YAAY,GAAGG,OAAQ,CACdJ,EAAKC,YAAY,GAAGG,OAAOC,SAASN,QAC1CrO,QAAQ,SAAS4O,GACf,KAAbA,EAAGlW,OACL2V,EAAQnO,KAAKjmB,KAAKw0B,YAAYG,EAAG/xB,MAAOuK,EAAE8e,EAAG,IAAI0I,EAAGC,UAAWD,EAAGC,SAAU50B,KAAK2B,MAAM+kB,MAAMoN,YAE/FrsB,KAAKzH,SAGTyH,KAAKzH,OAEL+I,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQ2rB,QACrBS,oCAME,IAAAviB,EAAA7R,KAEHA,KAAKsH,MAAMkf,YAAcxmB,KAAK2B,MAAM+kB,MAAMF,WAAyC,IAA5BxmB,KAAKsH,MAAMosB,MAAMr0B,QAC1EwzB,GAAiBC,IAAIO,iBAAiBrzB,KAAK2B,MAAM+kB,MAAMF,WACtDzP,KAAM,SAAAE,GAGL,IAFAA,EAAOC,KAAKC,MAAMF,KAENA,EAAK4d,QAAUh1B,MAAMqrB,QAAQjU,EAAK4d,SAAW5d,EAAK4d,OAAOx1B,OAAS,EAAI,CAChF,IAAIq0B,EAAQzc,EAAK4d,OAAO,GAAGnB,MAC3B7hB,EAAKjK,SAAS,CACZ8rB,MAAOA,EACPlN,UAAW3U,EAAKlQ,MAAM+kB,MAAMF,eAQpC,IAAImN,EAAS3zB,KAAK4zB,WAAW5zB,KAAKsH,MAAMosB,OACxC,OACE3qB,EAAAC,EAAAC,cAAA,WACG0qB,UA5EiB3xB,IAAMC,WAkFjBiL,kBAAiBzC,IAAWwY,KAAXxY,CAAqBgpB,KChFtCqB,GAXe,CAC5B,CACE7gB,GAAI,MACJ1R,QAAS,gBACTmkB,MAAO,IAAIkC,KAAY,CACrBD,OAAQ,IAAIoM,KACZtiB,KAAM,WC2DN8D,GAAMM,sDAENme,eACJ,SAAAA,EAAYrzB,GAAO,IAAAuF,EAAAvI,OAAAwI,EAAA,EAAAxI,CAAAqB,KAAAg1B,GACjB9tB,EAAAvI,OAAAyI,EAAA,EAAAzI,CAAAqB,KAAArB,OAAA0I,EAAA,EAAA1I,CAAAq2B,GAAAt1B,KAAAM,KAAM2B,IADW,IAGTuW,EAAqBvW,EAArBuW,KAAM/K,EAAexL,EAAfwL,EAAGnF,EAAYrG,EAAZqG,QAHA,OAKjBd,EAAKxE,QAAU,GAEfwE,EAAKc,QAAUA,EACfd,EAAKiG,EAAIA,EAGTjG,EAAKI,MAAQ,CACXqL,SAAK7R,EACL+wB,eAAgB,MAChBoD,WAAY,CAAC,OAAQ,SACrBtD,UAAW,IACXnB,KAAM,EACNvY,IAAKC,EAAKsE,SACV0Y,SAAU,GACVC,4BAAwBr0B,EACxBsmB,OAAQ,GACRgO,WAAYluB,EAAKuO,gBACjB4f,kBAAmBP,GAAsB,GACzCQ,yBAAqBx0B,EACrBy0B,0BAAsBz0B,EACtB00B,oBAAqB,EACrBC,sBAAkB30B,EAClB40B,4BAAwB50B,EACxB60B,sBAAuB,EACvBC,wBAAoB90B,EACpBgF,OAAQ,EACRjD,MAAO,EACPgzB,cAAe,GACfC,aAASh1B,EAETi1B,YAAa,EACbC,WAAY,EAEZC,sBAAsB,EACtBC,wBAAwB,EAExBC,iBAAiB,GAGnBjvB,EAAK4f,eAAiB,GACtB5f,EAAKkvB,iBAAmB,GACxBlvB,EAAKuO,cAAgBvO,EAAKuO,cAAchO,KAAnB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACrBA,EAAKmvB,aAAenvB,EAAKmvB,aAAa5uB,KAAlB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACpBA,EAAKovB,iBAAmBpvB,EAAKovB,iBAAiB7uB,KAAtB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACxBA,EAAKqvB,oBAAsBrvB,EAAKqvB,oBAAoB9uB,KAAzB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAC3BA,EAAKsvB,oBAAsBtvB,EAAKsvB,oBAAoB/uB,KAAzB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAC3BA,EAAKuvB,sBAAwBvvB,EAAKuvB,sBAAsBhvB,KAA3B9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAC7BA,EAAKwvB,yBAA2BxvB,EAAKwvB,yBAAyBjvB,KAA9B9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAChCA,EAAKyvB,wBAA0BzvB,EAAKyvB,wBAAwBlvB,KAA7B9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAC/BA,EAAK0vB,UAAY1vB,EAAK0vB,UAAUnvB,KAAf9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACjBA,EAAK2vB,gBAAkB3vB,EAAK2vB,gBAAgBpvB,KAArB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACvBA,EAAK4vB,uBAAyB5vB,EAAK4vB,uBAAuBrvB,KAA5B9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAC9BA,EAAK6vB,uBAAyB7vB,EAAK6vB,uBAAuBtvB,KAA5B9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAC9BA,EAAK8vB,kBAAoB9vB,EAAK8vB,kBAAkBvvB,KAAvB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACzBA,EAAK+vB,yBAA2B/vB,EAAK+vB,yBAAyBxvB,KAA9B9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAChCA,EAAKgwB,yBAA2BhwB,EAAKgwB,yBAAyBzvB,KAA9B9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAChCA,EAAK0qB,YAAc1qB,EAAK0qB,YAAYnqB,KAAjB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACnBA,EAAKiwB,uBAAyBjwB,EAAKiwB,uBAAuB1vB,KAA5B9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAC9BA,EAAKkwB,iBAAmBlwB,EAAKkwB,iBAAiB3vB,KAAtB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACxBA,EAAKmwB,uBAAyBnwB,EAAKmwB,uBAAuB5vB,KAA5B9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAC9BA,EAAKowB,yBAA2BpwB,EAAKowB,yBAAyB7vB,KAA9B9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAChCA,EAAKqwB,yBAA2BrwB,EAAKqwB,yBAAyB9vB,KAA9B9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAChCA,EAAKswB,2BAA6BtwB,EAAKswB,2BAA2B/vB,KAAhC9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAClCA,EAAKuwB,kBAAoBvwB,EAAKuwB,kBAAkBhwB,KAAvB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KACzBA,EAAKwwB,uBAAyBxwB,EAAKwwB,uBAAuBjwB,KAA5B9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAC9BA,EAAKywB,oBAAsBzwB,EAAKywB,oBAAoBlwB,KAAzB9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAC3BA,EAAK0wB,sBAAwB1wB,EAAK0wB,sBAAsBnwB,KAA3B9I,OAAA+I,EAAA,EAAA/I,QAAA+I,EAAA,EAAA/I,CAAAuI,KAG7B2wB,WAAMC,KAAK,YAAa,uHACxBC,aAAWF,YACX3wB,EAAK8wB,OAASC,aAAgB,aA5Eb/wB,4EAiFNyhB,EAAQuP,GACnB,OAAIA,EACK,IAAIC,KAAa,CACtBxP,OAAQ3oB,KAAKo4B,cAAczP,GAC3BlW,KAAM,SAGD,IAAImW,KAAY,CACrBD,OAAQA,EACRlW,KAAM,+CAKEkW,GACZ,OAAO,IAAI0P,KAAe,CACxBC,QAAS,CAAC3P,GACV4P,UAAW,SAAUC,GACnB,IAAIC,EAAQD,EAAO,GAMfE,EAAK,SAJCD,EAAM,GAIW,SAHfA,EAAM,GAG6B,QAFpCA,EAAM,GAUjB,OAPU,IAANC,IACFA,EAAI,KAGND,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAAKC,EACjCD,EAAM,GAAK,IAEJA,4CAKEliB,EAAKiQ,EAAW7a,EAAS8G,GAItC,YAHgB3R,IAAZ6K,GAAqC,OAAZA,IAC3BA,EAAU,GAEL,IAAIid,KAAY,CACrBjd,QAASA,EACTgd,OAAQ,IAAIE,KAAgB,CAC1BC,OAAQ,CACN4F,OAAUlI,EACVmI,OAAU,aAEZpY,IAAKA,IAEP9D,KAAMA,6CAIO,IAAAZ,EAAA7R,KACfA,KAAKo2B,iBAAmB,GACxBlhB,GAAIO,gBACDsB,KAAK,SAAAE,GACAA,GAAQA,EAAK5X,OAAS,IACxB4X,EAAK8O,QAAQ,SAAUW,GACrB,IAAIiS,EAAI,GACRA,EAAE1kB,GAAKyS,EAAMzS,GACb0kB,EAAEp2B,QAAUmkB,EAAM9iB,MAClB+0B,EAAE9f,YAAc6N,EAAMjF,kBAEtB,IAAIkH,OAAS7nB,EACb,OAAQ4lB,EAAMkS,YACZ,IAAK,UACHjQ,EAAS,IAAIE,KAAgB,CAC3BtS,IAAKmQ,EAAMnQ,IACXuS,OAAQ,CAAE4F,OAAUhI,EAAMA,OAC1BuB,WAAYvB,EAAMuB,aAEpB,MACF,IAAK,MACHU,EAAS,IAAIoM,KACb,MACF,IAAK,SACHpM,EAAS,IAAIkQ,KAAe,CAC1BnS,MAAOA,EAAMA,QAOnBiS,EAAEjS,MAAQ1mB,KAAK84B,aAAanQ,EAAQjC,EAAMwR,UAE1Cl4B,KAAKo2B,iBAAiBnQ,KAAK0S,IAE3BlxB,KAAKoK,IACPA,EAAKjK,SAAS,CACZwtB,WAAYvjB,EAAKukB,iBACjBf,kBAAmBxjB,EAAKukB,iBAAiB,gDAOjD,IAAIhP,EAAS,GAIb,OAHAA,EAAO2R,OAAO/4B,KAAKo2B,kBACnBhP,EAAO2R,OAAO/4B,KAAK8mB,gBAEZM,uCAGI4R,GACXh5B,KAAK4H,SAAS,CACZytB,kBAAmB2D,6CAINA,GAEfh5B,KAAK8mB,eAAeb,KAAK+S,GACzBh5B,KAAK4H,SAAS,CACZwtB,WAAYp1B,KAAKyV,8DAIDujB,GAElBh5B,KAAK8mB,eAAiB9mB,KAAK8mB,eAAevO,OAAO,SAAAtX,GAAC,OAAIA,EAAEgT,KAAO+kB,EAAU/kB,mDAIzE,GAAIjU,KAAKo2B,kBAAoBp2B,KAAKo2B,iBAAiB/2B,OAAS,EAC1D,OAAOW,KAAKo2B,iBAAiB,wCAMpB,IAAA6C,EAAAj5B,KACPonB,EAAS,GACblS,GAAIQ,YACDqB,KAAK,SAAAE,GACJ,GAAIA,GAAQA,EAAK5X,OAAS,EAAG,CAE3B,IAAIivB,GAAQ,EACR4K,GAAgB,EAEhBC,OAA6Br4B,EAC7Bs4B,GAA2B,EAC3BC,OAA+Bv4B,EAC/Bw4B,GAA6B,EAEjBriB,EAAKsiB,OAAO,SAAUhT,EAAQiT,GAG5C,OAFAjT,EAAOiT,EAAO,SAAejT,EAAOiT,EAAO,UAAgB,GAC3DjT,EAAOiT,EAAO,SAAavT,KAAKuT,GACzBjT,GACN,IAEOR,QAAQ,SAAUc,GAW1B,GATAA,EAAKd,QAAQ,SAASW,GACe,IAA/BA,EAAM+S,uBACRN,EAA6BzS,EAAM+H,UAEA,IAAjC/H,EAAMgT,yBACRL,EAA+B3S,EAAM+H,YAIrC5H,EAAKxnB,OAAS,EAAG,CAEfwnB,EAAK,GAAG2H,WAAa0K,IACnB5K,EACFA,GAAQ,EAERlH,EAAOnB,KAAK,CAAEjT,SAAS,IAEzBoU,EAAOnB,KAAK,CAAEnT,QAAQ,EAAM+F,YAAagO,EAAK,GAAG8S,0BACjDT,EAAerS,EAAK,GAAG2H,UAGzB,IAAImK,EAAI,GACJiB,EAAO/S,EAAKxnB,OAAS,EAEzBs5B,EAAE9f,YAAcgO,EAAK,GAAGgT,uBACxBlB,EAAE7E,SAAWjN,EAAK,GAAGiT,cACrBnB,EAAEpP,MAAQ1C,EAAKlU,IAAI,SAAA1R,GAAO,OAAOA,EAAE84B,cACnCpB,EAAEzL,WAAarG,EAAKlU,IAAI,SAAA1R,GAAO,OAAOA,EAAEwtB,WACxCkK,EAAEnS,UAAYK,EAAK+S,GAAMnL,SACzBkK,EAAEjS,MAAQ1mB,KAAKg6B,eAAezjB,GAAKsQ,EAAK+S,GAAMnL,SAAU,IACxDkK,EAAE/F,KAAO/L,EAAK+S,GAAMK,WACpBtB,EAAEhG,SAAW9L,EAAK+S,GAAMM,uBACxBvB,EAAE1L,cAAgBpG,EAAK,GAAGsT,uBAE1B/S,EAAOnB,KAAK0S,GAERQ,IAA+BC,IACjCp5B,KAAK62B,gBAAiB8B,EAAGQ,GACzBC,GAA2B,GAGzBC,IAAiCC,IACnCt5B,KAAKg3B,kBAAmB2B,EAAGU,GAC3BC,GAA6B,KAGjC7xB,KAAKwxB,IAEPA,EAAKrxB,SAAS,CACZwf,OAAQA,wDAQO1V,GAAO,IAAA0oB,EAAAp6B,KAG1Bq6B,EADWr6B,KAAKsH,MAAMgzB,kBAAkBC,YAAY/G,cAC7Bjb,OAAO,SAAAtX,GAAC,OAAIA,EAAEupB,IAAI,aAAe9Y,EAAM4U,OAE9DkU,EAAsB,IAAIC,KAAaJ,GAE3Cr6B,KAAKsH,MAAMgzB,kBAAkBI,UAC3B,IAAI9S,KAAe,CACjB+S,SAAUH,EACVI,kBAAmB56B,KAAKg4B,UAI5Bh4B,KAAK4H,SAAS,SAAAN,GACZ,IAAI4tB,EAAW5tB,EAAM4tB,SAAS3c,OAAO,SAAAtX,GAAC,OAAIA,EAAEqlB,MAAQ5U,EAAM4U,OAO1D,OANAhf,EAAMgzB,kBAAkBI,UACtB,IAAI9S,KAAe,CACjB+S,SAAUH,EACVI,kBAAmBR,EAAKpC,UAGrB,CACL9C,SAAUA,EACVoF,kBAAmBhzB,EAAMgzB,mEAKTO,EAAevU,GAAM,IAAAwU,EAAA96B,KAEzC,GAAK66B,EAAL,CAIAA,EAAc9U,QAAQ,SAAUgV,GAC9BA,EAAExP,IAAI,WAAYjF,KAGpB,IAAIkU,EAAsBx6B,KAAKsH,MAAMgzB,kBAAkBC,YAAYS,wBAEjER,EADEA,EACoBA,EAAoBS,OAAOJ,GAE3B,IAAIJ,KAAaI,GAGzC,IAAIK,EAAkB,IAAItT,KAAe,CACvC+S,SAAUE,EACVD,kBAAmB56B,KAAKg4B,SAG1Bh4B,KAAK2S,IAAIwoB,UAAUC,IAAIF,EAAgBG,YAAar7B,KAAK2S,IAAI2oB,WAE7Dt7B,KAAK4H,SAAS,SAAAN,GAQZ,OAPAA,EAAM4tB,SAASjP,KAAK,CAAEK,KAAMA,IAC5Bhf,EAAMgzB,kBAAkBI,UACtB,IAAI9S,KAAe,CACjB+S,SAAUH,EACVI,kBAAmBE,EAAK9C,UAGrB,CACL9C,SAAU5tB,EAAM4tB,SAChBoF,kBAAmBhzB,EAAMgzB,sEAKPiB,GAGtB,IAAIC,EAAax7B,KAAKsH,MAAMgzB,kBAAkBC,YAAY/G,cAAcjb,OAAO,SAAAwiB,GAAC,OAAIA,EAAEvQ,IAAI,aAAe+Q,EAAQjV,OAEjH,GAAIkV,EAAWn8B,OAAS,EAAG,CACzB,IAAI67B,EAAkB,IAAItT,KAAe,CACvC+S,SAAUa,EACVZ,kBAAmB56B,KAAKg4B,SAG1Bh4B,KAAK2S,IAAIwoB,UAAUC,IAAIF,EAAgBG,YAAar7B,KAAK2S,IAAI2oB,8CAMvDG,GACRz7B,KAAK4H,SAAS,CACZ0tB,oBAAqBmG,4CAMT/U,EAAOF,GAQrB,GANIE,GAASA,EAAMuG,eACjBjB,GAAWtF,EAAMuG,eAGnBjtB,KAAK07B,oBAAoB,KAAM,OAE1BlV,GACCE,GAASA,EAAMwG,YAAcxG,EAAMwG,WAAW7tB,OAAS,EAAG,CAC5D,IAAIu6B,EAAOlT,EAAMwG,WAAW7tB,OAAS,EACrCmnB,EAAYE,EAAMwG,WAAW0M,GAIjC55B,KAAK4H,SAAS,CACZ2tB,qBAAsB7O,EACtB+O,iBAAkBjP,mDAIC1nB,GACrBkB,KAAK4H,SAAS,CACZ4tB,oBAAqB12B,mDAIFA,GACrBkB,KAAK4H,SAAS,CACZ6tB,iBAAkB32B,8CAKJ4nB,EAAOF,GAOvB,GANIE,GAASA,EAAMuG,eACjBjB,GAAWtF,EAAMuG,eAGnBjtB,KAAK07B,oBAAoB,KAAM,OAE1BlV,GACCE,GAASA,EAAMwG,YAAcxG,EAAMwG,WAAW7tB,OAAS,EAAG,CAC5D,IAAIu6B,EAAOlT,EAAMwG,WAAW7tB,OAAS,EACrCmnB,EAAYE,EAAMwG,WAAW0M,GAIjC55B,KAAK4H,SAAS,CACZ8tB,uBAAwBhP,EACxBkP,mBAAoBpP,EACpBsP,QAAS,wDAIYh3B,GACvBkB,KAAK4H,SAAS,CACZ+tB,sBAAuB72B,qDAIFA,GACvBkB,KAAK4H,SAAS,CACZguB,mBAAoB92B,qDAKtBkB,KAAK4H,SAAS,SAAAN,GAAK,MAAK,CAAE2uB,sBAAuB3uB,EAAM2uB,2EAIvDj2B,KAAK4H,SAAS,SAAAN,GAAK,MAAK,CAAE4uB,wBAAyB5uB,EAAM4uB,wEAIzDl2B,KAAK4H,SAAS,CACZquB,sBAAsB,EACtBC,wBAAwB,uDAK1Bl2B,KAAK4H,SAAS,SAAAN,GAAK,MAAK,CAAEq0B,wBAAyBr0B,EAAMq0B,+EAIzD37B,KAAK4H,SAAS,SAAAN,GAAK,MAAK,CAAEs0B,0BAA2Bt0B,EAAMs0B,4EAI3D57B,KAAK4H,SAAS,CACZ+zB,wBAAwB,EACxBC,0BAA0B,sCAIpBxU,EAAQ3U,GAChB,IAAIiU,EAAQ,KACRvnB,EAAQ,KASZ,OARAioB,EAAOrB,QAAQ,SAACvE,EAAI4E,EAAKyV,GACnBra,EAAGgJ,IAAI,UAAY/X,IACrBtT,EAAQinB,KAGRjnB,IACFunB,EAAQU,EAAOjZ,KAAKhP,IAEfunB,wCAGKoV,EAAQC,EAAQC,EAAUC,EAAUC,EAAYC,GAC5D,IAAI/U,EAASpnB,KAAK2S,IAAI+C,YACtB,GAAIomB,EAAQ,CACV,IAAI9C,EAAYh5B,KAAKsH,MAAM+tB,kBAAkB3O,MAC7CU,EAAOgV,MAAM,EAAGpD,GAGlB,GAAI+C,EAAQ,CACV,IAAIM,EAAiBr8B,KAAKs8B,UAAUlV,EAAQ,WAExCpnB,KAAKsH,MAAMiuB,sBACbnO,EAAOmV,SAAS,EAAGv8B,KAAKg6B,eAAezjB,GAAKvW,KAAKsH,MAAMmuB,iBAAkBz1B,KAAKsH,MAAMkuB,oBAAqB,YAGvG6G,GACFjV,EAAO9e,OAAO+zB,QAGb,GAAIL,EAAU,CACIh8B,KAAKs8B,UAAUlV,EAAQ,WAC7BoV,WAAWx8B,KAAKsH,MAAMkuB,qBAGvC,GAAIyG,EAAU,CACZ,IAAIQ,EAAwBz8B,KAAKs8B,UAAUlV,EAAQ,aAC/CqV,GACFrV,EAAO9e,OAAOm0B,GAGZz8B,KAAKsH,MAAMouB,yBACb11B,KAAK08B,eAAiB18B,KAAKg6B,eAAezjB,GAAKvW,KAAKsH,MAAMsuB,mBAAoB51B,KAAKsH,MAAMquB,sBAAuB,aAChHvO,EAAOmV,SAAS,EAAGv8B,KAAK08B,gBAExB18B,KAAK08B,eAAepS,GAAG,aAAc,SAAUhZ,GAC7C,IAAIqI,EAAMrI,EAAMqrB,QAGZ95B,GAAU8W,EAAIijB,OAAO/5B,MAAS,EAAI7C,KAAK0C,SAAY1C,KAAKsH,MAAMuuB,cAAgB,IADjE,KAGjBlc,EAAIkjB,OACJljB,EAAImjB,YACJnjB,EAAIojB,KAAKl6B,EAAO,EAAG8W,EAAIijB,OAAO/5B,MAAQA,EAAO8W,EAAIijB,OAAO92B,QACxD6T,EAAIqjB,QACJv1B,KAAKzH,OAEPA,KAAK08B,eAAepS,GAAG,cAAe,SAAUhZ,GACpCA,EAAMqrB,QACZM,kBAGH,GAAIf,EAAY,CACOl8B,KAAKs8B,UAAUlV,EAAQ,aAC7BoV,WAAWx8B,KAAKsH,MAAMquB,uBAG9C,GAAIwG,EAAU,CACZ,IAAIe,EAAqBl9B,KAAKs8B,UAAUlV,EAAQ,UAC5C8V,GACF9V,EAAO9e,OAAO40B,GAEZl9B,KAAKsH,MAAMguB,qBACblO,EAAOnB,KAAKjmB,KAAKsH,MAAMguB,oBAAoB5O,kDAM/C1mB,KAAK2S,IAAIwqB,cAAcn9B,KAAKo9B,aAC5Bp9B,KAAKo9B,YAAc,IAAIC,KAAK,CAAEC,eAAgBt9B,KAAKmN,EAAE,eAAgBowB,gBAAiBv9B,KAAKmN,EAAE,kBAC7FnN,KAAK2S,IAAI6qB,WAAWx9B,KAAKo9B,aAEzBp9B,KAAK2S,IAAIwqB,cAAcn9B,KAAKy9B,oBAC5Bz9B,KAAKy9B,mBAAqB,IAAIC,KAAY,CAAEC,aAAa,EAAOC,SAAU59B,KAAKmN,EAAE,sBACjFnN,KAAK2S,IAAI6qB,WAAWx9B,KAAKy9B,oBAMzBz9B,KAAK2S,IAAIwqB,cAAcn9B,KAAK69B,kBAC5B79B,KAAK2S,IAAI6qB,WAAWx9B,KAAK69B,8DAWzB,IAAM1wB,EAAInN,KAAKmN,EAEfnN,KAAKo9B,YAAc,IAAIC,KAAK,CAAEC,eAAgBnwB,EAAE,eAAgBowB,gBAAiBpwB,EAAE,kBACnFnN,KAAKy9B,mBAAqB,IAAIC,KAAY,CAAEC,aAAa,EAAOC,SAAUzwB,EAAE,sBAE5EnN,KAAK89B,kBAAoB,IAAIC,KAAW,CAAEH,SAAUzwB,EAAE,qBACtDnN,KAAK69B,iBAAmB,IAAIG,KAAU,IAEtCh+B,KAAKi+B,YAAc,IAAIC,KAAQ,CAC7BC,OAAQ,IAAIC,KAAS,CACnBx7B,MAAO,oBACPC,MAAO,IAETvC,KAAM,IAAI+9B,KAAO,CACfz7B,MAAO,0BAIX5C,KAAKs+B,UAAY,IAAIJ,KAAQ,CAC3BC,OAAQ,IAAIC,KAAS,CAAEx7B,MAAO,kBAAmBC,MAAO,IACxDvC,KAAM,IAAI+9B,KAAO,CAAEz7B,MAAO,sBAC1B0a,MAAO,IAAIihB,KAAe,CACxBj+B,KAAM,IAAI+9B,KAAO,CAAEz7B,MAAO,sBAC1Bu7B,OAAQ,IAAIC,KAAS,CAAEx7B,MAAO,QAASC,MAAO,IAC9C27B,OAAQ,EACRC,OAAQ,GACRC,MAAOj+B,KAAKk+B,GAAK,MAIrB,IAAIrE,EAAoB,IAAI5R,KAAc,CACxCC,OAAQ,IAAIf,KAAe,CACzB+S,SAAU,GACVC,kBAAmB56B,KAAKg4B,SAE1BvlB,KAAM,OACNY,MAAOrT,KAAKs+B,YAGVM,EAAwB,IAAIlW,KAAc,CAC5CC,OAAQ,IAAIf,KAAe,CACzB+S,SAAU,GACVC,kBAAmB56B,KAAKg4B,SAE1BvlB,KAAM,WACNY,MAAOrT,KAAKi+B,cAGdj+B,KAAK6+B,KAAO,IAAIC,KAAO,CACrBC,OAAQ/+B,KAAKsH,MAAM2tB,WACnBzE,KAAMxwB,KAAKsH,MAAMkpB,KAEjBzI,OAAQ,CAAC,OAAQ,QAAS,OAAQ,SAClCE,WAAYjoB,KAAKg4B,OACjBgH,QAAS,EACTC,QAAS,KAIXj/B,KAAK2S,IAAM,IAAIusB,KAAM,CACnBC,aAAcC,aAAsB,CAClCC,iBAAiB,EACjBC,oBAAoB,EACpBC,aAAa,IAGfC,SAAU,CAACx/B,KAAKo9B,YAAap9B,KAAKy9B,oBAClC1+B,OAAQ,KACRqoB,OAAQ,CAACpnB,KAAKsH,MAAM+tB,kBAAkB3O,MAAOkY,EAAuBtE,GACpEuE,KAAM7+B,KAAK6+B,OAGb7+B,KAAK2S,IAAI8sB,UAAUz/B,KAAKypB,KAAKiW,cAE7B1/B,KAAK2S,IAAI2X,GAAG,QAAStqB,KAAK2/B,eAAel4B,KAAKzH,OAE9CA,KAAK2S,IAAI2X,GAAG,cAAetqB,KAAKy3B,mBAEhCz3B,KAAK6+B,KAAKvU,GAAG,SAAUtqB,KAAKo3B,kBAE5Bp3B,KAAK6+B,KAAKvU,GAAG,oBAAqB,SAAUmH,GAC1CzxB,KAAK4H,SAAS,CACZ4oB,KAAMiB,EAAE1yB,OAAO6gC,UACf/N,eAAgBJ,EAAE1yB,OAAO8gC,gBACzBlO,UAAWF,EAAE1yB,OAAO+gC,gBAAgBC,cAEtCt4B,KAAKzH,OAEPA,KAAK6+B,KAAKvU,GAAG,gBAAiB,SAAUmH,GACtCzxB,KAAK4H,SAAS,CACZqtB,WAAYxD,EAAE1yB,OAAOihC,eAEvBv4B,KAAKzH,OAEP6B,OAAOiG,iBAAiB,SAAU9H,KAAKigC,oBAAoBx4B,KAAKzH,OAGhEA,KAAK4H,SAAS,CACZ+K,IAAK3S,KAAK2S,IACV2nB,kBAAmBA,EACnBsE,sBAAuBA,EACvB94B,OAAQ9F,KAAKypB,KAAKiW,aAAaQ,aAC/Br9B,MAAO7C,KAAKypB,KAAKiW,aAAaS,cAGhCngC,KAAKogC,iBACLpgC,KAAKqgC,uDAGW/uB,GAChBtR,KAAKsgC,gBAAgBhvB,EAAMivB,oDAGbC,GACdxgC,KAAK4H,SAAS,CACZyqB,YAAamO,mDAMf3+B,OAAO2G,oBAAoB,SAAUxI,KAAKigC,oBAAoBx4B,KAAKzH,kDAGlDyB,EAAWg/B,GAAW,IAC/BvoB,EAASlY,KAAK2B,MAAduW,KAGJuoB,EAAUxoB,MAAQC,EAAKsE,WACzBxc,KAAK4H,SAAS,CACZqQ,IAAKC,EAAKsE,WAEZxc,KAAK0gC,mBAGP,IAAI5E,EAAS97B,KAAK2gC,qBAAqBF,EAAUpL,kBAAmBr1B,KAAKsH,MAAM+tB,mBAC3E0G,EAAS/7B,KAAK2gC,qBAAqBF,EAAUlL,qBAAsBv1B,KAAKsH,MAAMiuB,uBAAyBkL,EAAUhL,mBAAqBz1B,KAAKsH,MAAMmuB,iBACjJuG,EAAWyE,EAAUjL,sBAAwBx1B,KAAKsH,MAAMkuB,oBACxDyG,EAAWj8B,KAAK2gC,qBAAqBF,EAAU/K,uBAAwB11B,KAAKsH,MAAMouB,yBAA2B+K,EAAU7K,qBAAuB51B,KAAKsH,MAAMsuB,mBACzJsG,EAAauE,EAAU9K,wBAA0B31B,KAAKsH,MAAMquB,sBAC5DwG,EAAWn8B,KAAK2gC,qBAAqBF,EAAUnL,oBAAqBt1B,KAAKsH,MAAMguB,sBAE1EwG,GAAUC,GAAUC,GAAYC,GAAYC,GAAcC,IAGjEn8B,KAAK4gC,cAAc9E,EAAQC,EAAQC,EAAUC,EAAUC,EAAYC,iDAKjEn8B,KAAKypB,KAAKiW,cACZ1/B,KAAK4H,SAAS,CACZ9B,OAAQ9F,KAAKypB,KAAKiW,aAAaQ,aAC/Br9B,MAAO7C,KAAKypB,KAAKiW,aAAaS,2DAKfn3B,EAAG63B,GACtB,YAAU//B,IAANkI,QAAyBlI,IAAN+/B,MAEZ73B,IAAK63B,GAAK73B,EAAEiL,KAAO4sB,EAAE5sB,IAAMjL,EAAEwd,YAAcqa,EAAEra,oDAQxD,IAAIY,EAAS,GAQb,OAPIpnB,KAAKsH,MAAMiuB,sBACbnO,EAAOnB,KAAKjmB,KAAKsH,MAAMiuB,qBAAqB/O,WAE1CxmB,KAAKsH,MAAMouB,wBACbtO,EAAOnB,KAAKjmB,KAAKsH,MAAMouB,uBAAuBlP,WAGzCY,yCAGM9V,GAAO,IAAAwvB,EAAA9gC,KAEpBA,KAAKsgC,gBAAgBhvB,EAAMivB,YAG3B,IAAIQ,EAAoB/gC,KAAKsH,MAAMqL,IAAIquB,uBAAuB1vB,EAAMmnB,OAEhEwI,EAAcjhC,KAAKkhC,iBACnBC,OAAargC,EACbsgC,OAAiBtgC,EAEPwQ,EAAMmnB,MAAM,IACZ4I,SAASrhC,KAAKsH,MAAMuuB,eAAiB,IAAM71B,KAAKsH,MAAMzE,OAIlEs+B,EAAanhC,KAAKsH,MAAMiuB,qBAAuBv1B,KAAKsH,MAAMiuB,qBAAuB,KACjF6L,EAAiBphC,KAAKsH,MAAMiuB,qBAAuBv1B,KAAKsH,MAAMmuB,iBAAmB,MAE7Ez1B,KAAKsH,MAAMouB,wBACbyL,EAAanhC,KAAKsH,MAAMouB,uBACxB0L,EAAiBphC,KAAKsH,MAAMsuB,qBAE5BuL,EAAanhC,KAAKsH,MAAMiuB,qBACxB6L,EAAiBphC,KAAKsH,MAAMmuB,kBAM5BwL,EAAY5hC,OAAS,IACvBW,KAAK07B,oBAAoB,MACrByF,GAAcC,GAChBvO,GAAiBC,IAAIE,eAAe,CAACoO,GAAiBL,GACnDhqB,KAAK,SAAAE,GACJ,GAAIA,GAAQA,EAAK0jB,UAAY1jB,EAAK0jB,SAASt7B,OAAS,EAAG,CACrD,IAAIu6B,EAAO3iB,EAAK0jB,SAASt7B,OAAS,EAG9BiiC,GADc,IAAIC,MAAgBC,aAAavqB,GAC3B2iB,GAExBkH,EAAKpF,oBAAoB4F,EAAQhwB,EAAMmnB,MAAO0I,QAE9CL,EAAKpF,oBAAoB,MAG3BoF,EAAKF,4DAQEtvB,GACftR,KAAK07B,oBAAoB,kDAGP4F,EAAQG,EAAoBN,GAC9C,GAAIG,EAAQ,CACV,IAAIrV,EAAKkV,EAAWlU,cAChB6G,EAAmC,MAAxBqN,EAAWrN,SAC1BwN,EAAOI,SAAS1hC,KAAKi+B,aACrBj+B,KAAKsH,MAAMs3B,sBAAsBlE,UAC/B,IAAI9S,KAAe,CACjB+S,SAAU,CAAC2G,GACX1G,kBAAmB56B,KAAKg4B,UAI5B,IAAI2J,EAAUL,EAAO9W,IAAI,QAAU8W,EAAO9W,IAAI,UAAY8W,EAAO9W,IAAI,iBACjEoX,EAAUN,EAAO9W,IAAI,aAAe8W,EAAO9W,IAAI,WAAa8W,EAAO9W,IAAI,YACvEqX,EAASP,EAAO9W,IAAI,UAEpBsX,EAAM,KACNF,IACFE,EAAMF,GAGR,IAAIG,EAAW9V,EAAK,IAAM0V,EAE1B3hC,KAAK4H,SAAS,WACZ,MAAO,CACLkuB,QAASwL,EACTU,aAAcL,EACdM,iBAAkBnO,EAClBoO,iBAAkBH,EAClBI,eAAgBN,EAChBO,aAAcN,EACd/L,YAAa0L,EAAmB,GAChCzL,WAAYyL,EAAmB,GAC/BtL,iBAAiB,UAMrBn2B,KAAKsH,MAAMs3B,sBAAsBlE,UAC/B,IAAI9S,KAAe,CACjB+S,SAAU,GACVC,kBAAmB56B,KAAKg4B,UAI5Bh4B,KAAK4H,SAAS,CACZkuB,QAAS,KACTK,iBAAiB,mDAMAr3B,GAErBkB,KAAK4H,SAAS,CACZiuB,cAAe/2B,IAEbkB,KAAK2S,KACP3S,KAAK2S,IAAI0vB,6CAID9R,GAENA,GACFvwB,KAAK2S,IAAIwoB,UAAUmH,cAAc/R,oDAKnCvwB,KAAK07B,oBAAoB,uCAGlB,IAAA3zB,EACgB/H,KAAK2B,MAApBwL,EADDpF,EACCoF,EAAGnF,EADJD,EACIC,QAEX,OACEe,EAAAC,EAAAC,cAAA,OAAKmK,IAAI,eAAea,GAAG,MAAM9K,UAAWnJ,KAAKgI,QAAQu6B,SACvDx5B,EAAAC,EAAAC,cAACkX,GAAD,CAAehX,UAAWnB,EAAQw6B,eAChCz5B,EAAAC,EAAAC,cAACmX,GAAD,CAAUc,GAAI,GACZnY,EAAAC,EAAAC,cAACw5B,GAAD,CACEz8B,MAAI,EACJsE,QAAStK,KAAK23B,qBAEb33B,KAAKsH,MAAM2uB,sBAAwBj2B,KAAKsH,MAAMiuB,qBAC7CxsB,EAAAC,EAAAC,cAACy5B,GAAD,CACEr2B,KAAK,OACLzI,MAAM,OACNm+B,SAAS,WACTrb,MAAO1mB,KAAKsH,MAAMiuB,uBAElB,KACHv1B,KAAKsH,MAAM4uB,wBAA0Bl2B,KAAKsH,MAAMiuB,qBAC/CxsB,EAAAC,EAAAC,cAAC05B,GAAD,CACEt2B,KAAK,UACLzI,MAAM,SACNm+B,SAAS,aACTrb,MAAO1mB,KAAKsH,MAAMiuB,uBAElB,OAGRxsB,EAAAC,EAAAC,cAACmX,GAAD,CAAUc,GAAI,GACZnY,EAAAC,EAAAC,cAAC25B,GAAD,KACE75B,EAAAC,EAAAC,cAAC45B,GAAD,CACEj/B,MAAOuJ,EAAE,0BACTogB,WAAYvtB,KAAKsH,MAAM8f,OACvBV,MAAS1mB,KAAKsH,MAAMiuB,qBACpB5pB,QAAS3L,KAAKsH,MAAMkuB,oBACpB7H,QAAS3tB,KAAKsH,MAAMmuB,iBACpBvO,SAAUlnB,KAAK62B,gBACftM,aAAcvqB,KAAK82B,uBACnBhM,UAAW9qB,KAAK+2B,uBAChBjL,kBAAmB9rB,KAAKq3B,uBACxBtL,oBAAqB/rB,KAAKs3B,yBAC1BpW,GAAI,GACJC,GAAI,EACJC,GAAI,EACJC,GAAI,IAGNtY,EAAAC,EAAAC,cAAC65B,GAAD,CACEl/B,MAAOuJ,EAAE,oBACTpD,QAAS/J,KAAK42B,UACd1V,GAAI,GACJC,GAAI,EACJC,GAAI,EACJC,GAAI,IAINtY,EAAAC,EAAAC,cAAC45B,GAAD,CACEj/B,MAAOuJ,EAAE,0BACTogB,WAAYvtB,KAAKsH,MAAM8f,OACvBV,MAAO1mB,KAAKsH,MAAMouB,uBAClB/pB,QAAS3L,KAAKsH,MAAMquB,sBACpBhI,QAAS3tB,KAAKsH,MAAMsuB,mBACpB1O,SAAUlnB,KAAKg3B,kBACfzM,aAAcvqB,KAAKi3B,yBACnBnM,UAAW9qB,KAAKk3B,yBAChBpL,kBAAmB9rB,KAAKu3B,yBACxBxL,oBAAqB/rB,KAAKw3B,2BAC1BtW,GAAI,GACJC,GAAI,EACJC,GAAI,EACJC,GAAI,IAGNtY,EAAAC,EAAAC,cAAC85B,GAAD,CACE/Z,iBAAkBhpB,KAAKo2B,iBACvB/O,eAAgBrnB,KAAK8mB,eACrBI,SAAUlnB,KAAKq2B,aACf5P,MAAOzmB,KAAKs2B,iBACZnP,SAAUnnB,KAAKu2B,oBACfrV,GAAI,GACJC,GAAI,EACJC,GAAI,EACJC,GAAI,IAGNtY,EAAAC,EAAAC,cAAC+5B,GAAA,EAAD,CACEzV,WAAYvtB,KAAKsH,MAAM4tB,SACvB/N,SAAUnnB,KAAK02B,yBACfjQ,MAAOzmB,KAAKy2B,sBACZvP,SAAUlnB,KAAK22B,wBACfzV,GAAI,GACJC,GAAI,EACJC,GAAI,EACJC,GAAI,MAKVtY,EAAAC,EAAAC,cAACmX,GAAD,CAAUc,GAAI,GACZnY,EAAAC,EAAAC,cAACw5B,GAAD,CACE18B,OAAK,EACLuE,QAAStK,KAAK43B,uBACb53B,KAAKsH,MAAMq0B,wBAA0B37B,KAAKsH,MAAMouB,uBAC/C3sB,EAAAC,EAAAC,cAACy5B,GAAD,CACEr2B,KAAK,OACLzI,MAAM,OACNm+B,SAAS,WACTrb,MAAO1mB,KAAKsH,MAAMouB,yBAElB,KACH11B,KAAKsH,MAAMs0B,0BAA4B57B,KAAKsH,MAAMouB,uBACjD3sB,EAAAC,EAAAC,cAAC05B,GAAD,CACEt2B,KAAK,UACLzI,MAAM,SACNm+B,SAAS,aACTrb,MAAO1mB,KAAKsH,MAAMouB,yBAElB,OAGR3sB,EAAAC,EAAAC,cAACmX,GAAD,CAAUc,GAAI,IACZnY,EAAAC,EAAAC,cAACg6B,GAAD,KACEl6B,EAAAC,EAAAC,cAACi6B,GAAD,CACE1S,KAAMxwB,KAAKsH,MAAMkpB,KACjBmB,UAAW3xB,KAAKsH,MAAMqqB,UACtBE,eAAgB7xB,KAAKsH,MAAMuqB,eAC3BL,cAAexxB,KAAK4xB,cAEtB7oB,EAAAC,EAAAC,cAACk6B,GAAD,CACE7Q,aAActyB,KAAKsH,MAAM2tB,WACzB5C,YAAaryB,KAAKsH,MAAM+qB,cAEzBryB,KAAKsH,MAAMouB,uBACV3sB,EAAAC,EAAAC,cAACm6B,GAAD,CACE7f,WAAS,EACThd,QAAQvG,KAAKsH,MAAMouB,uBACnB3G,cAAe/uB,KAAKm3B,uBACpBrI,eAAgB9uB,KAAKsH,MAAMuuB,gBAE3B,QAQT71B,KAAKsH,MAAMouB,uBACV3sB,EAAAC,EAAAC,cAACo6B,GAAD,CACEpvB,GAAG,aACHmb,WAAYiS,SAASrhC,KAAKsH,MAAMuuB,cAAe,IAC/CvG,eAAgBtvB,KAAKsH,MAAMzE,QACxB,KAGN7C,KAAKsH,MAAMwuB,SAAW91B,KAAKsH,MAAM6uB,gBAChCptB,EAAAC,EAAAC,cAAA,OAAKmK,IAAI,UAAUa,GAAG,UAAU9K,UAAWnB,EAAQs7B,iBACjDjwB,MAAO,CAAE9Q,QAAS,QAASyD,KAAMhG,KAAKsH,MAAMyuB,YAAazyB,IAAKtD,KAAKsH,MAAM0uB,aACzEjtB,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQu7B,2BACtBx6B,EAAAC,EAAAC,cAACu6B,GAAAx6B,EAAD,CAASpF,MAAOuJ,EAAE,gBAAiB0G,UAAU,OAC3C9K,EAAAC,EAAAC,cAACY,EAAAb,EAAD,CAAYG,UAAWnB,EAAQy7B,uBAAwB15B,QAAS/J,KAAK03B,wBACnE3uB,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWnB,EAAQ07B,sBAAzB,YAIL1jC,KAAKsH,MAAM26B,iBAAmB90B,EAAE,YAAc,KAAOnN,KAAKsH,MAAM06B,aAAe,KAC/EhiC,KAAKsH,MAAM26B,iBAAmBl5B,EAAAC,EAAAC,cAAA,WAAS,KACvCkE,EAAEnN,KAAKsH,MAAM46B,kBAAkBn5B,EAAAC,EAAAC,cAAA,WAC/BjJ,KAAKsH,MAAM66B,eAAiBh1B,EAAE,kBAAoB,KAAOnN,KAAKsH,MAAM66B,eAAiB,MAAQh1B,EAAE,OAASnN,KAAKsH,MAAM66B,gBAAkB,KACrIniC,KAAKsH,MAAM66B,eAAiBp5B,EAAAC,EAAAC,cAAA,WAAS,KACrCjJ,KAAKsH,MAAM86B,aAAej1B,EAAE,YAAc,KAAOiL,KAAiC,IAA1BpY,KAAKsH,MAAM86B,cAAoBuB,OAAO,KAAK9b,SAAW,MAAQ,MAEvH,aArjCY5lB,aA2lCTiL,kBAAiBzC,IAAWwY,KAAXxY,CAAqBuqB,KC1jCtC4O,GA9FM,CACnBjmB,SACAC,eACAha,UACAoY,WACA6nB,gBACArgC,UAAU7E,OAAA8E,EAAA,EAAA9E,CAAA,GACL6E,IADI,CAEPyW,SAAU,qBAEZ6pB,eAAgB,CACdC,cAAe,OACf1+B,WAAY,QAEd8C,KAAM,CACJzE,UAAW,OACXhB,QAAS,MACT4B,OAAQ,OAEV0/B,QAAS,CACPthC,QAAS,oBACTU,SAAU,WACVE,IAAK,MACLmC,OAAQ,MACRO,KAAM,MACND,MAAO,OAETk+B,OAAQ,CACNn+B,OAAQ,OACRpC,UAAW,QAEbJ,IAAK,CACHiB,UAAW,QACXuB,OAAQ,QAEVL,OAAQ,CACN9C,aAAc,QACdmD,OAAQ,QAEVmF,OAAQ,CACNnF,OAAQ,OACRT,WAAY,OACZvC,gBAAiB,uBAEnB48B,aAAc,CACZt8B,SAAU,WACV0C,OAAQ,OACRjD,MAAO,QAET6B,KAAM,CACJq/B,cAAe,OACf1+B,WAAY,GAEd6+B,WAAY,CACV99B,UAAW,qBAEb+F,MAAO,CACLvJ,MAAO,UACPF,QAAS,YACT0I,WAAY,MACZpH,SAAU,OACVC,cAAe,YACfxB,aAAc,MACd+I,eAAgB,OAChBpI,SAAU,WACVb,QAAS,SAEX6J,YAAa,CACX7J,QAAS,eACTG,QAAS,MACTG,MAAO,QAETqJ,KAAM,CACJvJ,aAAc,IACdD,QAAS,IACT6B,UAAW,KAEbyB,KAAM,CACJ2E,MAAO,iBACPpI,QAAS,SAEXwD,MAAO,CACLrD,QAAS,SACT4B,OAAQ,IACRqG,MAAO,SAET0B,KAAM,CACJxJ,MAAO,OACPiD,OAAQ,OACRxC,IAAK,MACLF,SAAU,aCtFR+gC,+LAEFtiC,OAAOC,SAAS,EAAG,GACnBoG,SAASC,KAAK6Z,UAAY,mCAEnB,IACCha,EAAYhI,KAAK2B,MAAjBqG,QACR,OACEe,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQg8B,SACtBj7B,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQ1E,KACtByF,EAAAC,EAAAC,cAACgZ,EAAD,CACErZ,MAAM,SACND,MAAOI,EAAAC,EAAAC,cAACkZ,GAAD,CAAajG,mBAAmB,YACvC3Y,OAAK,EACLX,MAAM,QACNuG,UAAWnB,EAAQ8K,UAGvB/J,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQi8B,QACtBl7B,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQ03B,cACtB32B,EAAAC,EAAAC,cAACm7B,GAAD,QAGJr7B,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQvC,QACtBsD,EAAAC,EAAAC,cAACsZ,GAAD,CAAQngB,MAAM,QAAQmJ,QAASxC,EAAAC,EAAAC,cAAA,YAAaE,UAAWnB,EAAQiD,kBAxBnDjJ,IAAMC,WA+BbwI,OAAWm5B,GAAXn5B,CAAyB05B,ICqBzBE,GAxDM,CACnB1mB,SACAC,eACA0mB,WACAtoB,WACAxY,UAAU7E,OAAA8E,EAAA,EAAA9E,CAAA,GACL6E,IADI,CAEPsD,OAAQ,IAEVlD,MAAMjF,OAAA8E,EAAA,EAAA9E,CAAA,GACDiF,IADA,CAEH2gC,YAAa,CACX3hC,MAAO,UAGXshC,WAAY,CACV99B,UAAW,UAEb+F,MAAO,CACLvJ,MAAO,UACPF,QAAS,YACT0I,WAAY,MACZpH,SAAU,OACVC,cAAe,YACfxB,aAAc,MACd+I,eAAgB,OAChBpI,SAAU,WACVb,QAAS,SAEX6J,YAAa,CACX7J,QAAS,eACTG,QAAS,MACTG,MAAO,QAETqJ,KAAM,CACJvJ,aAAc,IACdD,QAAS,IACT6B,UAAW,KAEbyB,KAAM,CACJ2E,MAAO,iBACPpI,QAAS,SAEXwD,MAAO,CACLrD,QAAS,SACT4B,OAAQ,IACRqG,MAAO,SAET0B,KAAM,CACJxJ,MAAO,OACPiD,OAAQ,OACRxC,IAAK,MACLF,SAAU,aCkBCohC,GAhEG,CAChBC,SAAU,CACRxqB,SAAU,QACV3V,OAAQ,SACR5B,QAAS,eAEXgiC,YAAa,CACX/5B,MAAO,OACPpG,UAAW,OACXyC,YAAa,QAEfxC,QAAS,CACP5B,MAAO6B,KAETK,QAAS,CACPlC,MAAOmC,KAETC,OAAQ,CACNpC,MAAOqC,KAETL,QAAS,CACPhC,MAAOiC,KAETH,KAAM,CACJ9B,MAAO+B,KAETO,KAAM,CACJtC,MAAOuC,KAETw/B,KAAM,CACJ/hC,MAAOgiC,KAETv4B,KAAM,CACJxJ,MAAO,UACPiD,OAAQ,UACR9B,SAAU,WAEZ6gC,mBAAoB,CAClBjiC,MAAOgiC,IACPp4B,SAAU,UAEZ5I,MAAMjF,OAAA8E,EAAA,EAAA9E,CAAA,GACDiF,IADA,CAEHU,OAAQ,gCACRZ,UAAW,UAEbmgC,YAAa,CACXjhC,MAAOgiC,IACPp4B,SAAU,SACVjI,UAAW,MACX+G,MAAO,CACL1I,MAAOgiC,IACP5gC,SAAU,SAGd8gC,oBAAqB,CACnBn6B,MAAO,QAETo6B,aAAc,CACZliC,MAAO,OACPiD,OAAQ,SChEZ,SAASk/B,GAATp3B,GAAgC,IAAAnF,EAAAkJ,EAAAC,EAATjQ,EAAShD,OAAAkP,GAAA,EAAAlP,CAAA,GAAAiP,GACtB5F,EAAgErG,EAAhEqG,QAASpE,EAAuDjC,EAAvDiC,MAAOigC,EAAgDliC,EAAhDkiC,YAAaoB,EAAmCtjC,EAAnCsjC,UAAWC,EAAwBvjC,EAAxBujC,SAAU/7B,EAAcxH,EAAdwH,UACpDu7B,EAAc57B,KAAUL,EAAA,GAAA9J,OAAAE,EAAA,EAAAF,CAAA8J,EAC3BT,EAAQ08B,aAAc,GADK/lC,OAAAE,EAAA,EAAAF,CAAA8J,EAE3BT,EAAQi9B,IAAa,GAFMtmC,OAAAE,EAAA,EAAAF,CAAA8J,EAG3BT,EAAQ88B,oBAAsBI,GAHHz8B,IAKxB08B,EAAcr8B,KAAU6I,EAAA,GAAAhT,OAAAE,EAAA,EAAAF,CAAAgT,EAC3B3J,EAAQqE,MAAO,GADY1N,OAAAE,EAAA,EAAAF,CAAAgT,EAE3B3J,EAAQ+8B,aAAeG,GAFIvzB,IAIxByzB,EAAkBt8B,KAAU8I,EAAA,GAAAjT,OAAAE,EAAA,EAAAF,CAAAiT,EAC/B5J,EAAQy8B,UAAW,GADY9lC,OAAAE,EAAA,EAAAF,CAAAiT,EAE/BzI,OAA0BrI,IAAdqI,GAFmByI,IAI9BvF,EAAO,KACX,cAAe1K,EAAM0K,MACnB,IAAK,SACHA,EAAOtD,EAAAC,EAAAC,cAACkK,GAAAnK,EAAD,CAAMG,UAAWg8B,GAAcxjC,EAAM0K,MAC5C,MACF,QACEA,EAAOtD,EAAAC,EAAAC,cAACtH,EAAM0K,KAAP,CAAYlD,UAAWg8B,IAGlC,OACEp8B,EAAAC,EAAAC,cAAA,OAAKE,UAAWi8B,GACdr8B,EAAAC,EAAAC,cAAA,OAAKE,UAAWu7B,GAAcr4B,GAC9BtD,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQ68B,oBACtB97B,EAAAC,EAAAC,cAAA,MAAIE,UAAWnB,EAAQpE,OAAQA,GAC/BmF,EAAAC,EAAAC,cAAA,OAAKE,UAAWnB,EAAQ67B,aAAcA,KAM9CmB,GAAS92B,aAAe,CACtB+2B,UAAW,QAqBEx6B,WAAW+5B,GAAX/5B,CAAsBu6B,ICiCtBrK,GA7FE,CACfn3B,cACAwY,WACAsoB,WACA1gC,UACAigC,gBACAwB,UAAW,CACTj/B,UAAW,SACX1D,QAAS,UAEX4iC,UAAW,CACT5iC,QAAS,UAEX6iC,UAAW,CACT7iC,QAAS,SACT8iC,oBAAqB,CACnBvrB,SAAU,QACV3V,OAAQ,WAGZmhC,UAAW,CACT/iC,QAAS,SACT8iC,oBAAqB,CACnBvrB,SAAU,QACV3V,OAAQ,gBAGZohC,UAAW,CACThjC,QAAS,SACT+I,eAAgB,QAChBoR,mBAAoB,MACpB8oB,iBAAkB,YAClBviC,SAAU,WACVwiC,WAAY,CACVjjC,aAAc,QAEhBkjC,wBAAyB,CACvBziC,SAAU,WACV0D,OAAQ,IACRlE,MAAO,WAETiS,UAAW,CACTzQ,WAAY,mBACZhB,SAAU,WACVP,MAAO,OACPiD,OAAQ,OACRyF,QAAS,KACTzE,OAAQ,IACRd,KAAM,MACN1C,IAAK,OAEPwiC,eAAgB,CACdC,8BAA+B,CAC7BC,cAAe,CACbC,aAAc,MAGlBD,cAAe,CACbxjC,OAAQ,sCACR2D,UAAW,IACXyK,WAAY,IACZs1B,eAAgB,CACdv1B,YAAa,OAInBw1B,eAAgB,CACd//B,UAAW,SACX6T,SAAU,QACVvW,UAAW,QACX0iC,+DAAgE,CAC9DxjC,MAAO,aAIbyjC,cAAe,GACfC,SAAU,GACVpC,WAAY,CACV99B,UAAW,UAEbmgC,eAAgB,CACdC,QAAS,CACP3jC,MAAO,SAGX4hC,SAAU,CACRxqB,SAAU,OACV3V,OAAQ,SACR5B,QAAS,cAEX+jC,UAAW,IC9DIC,GAvBU/nC,OAAA8E,EAAA,EAAA9E,CAAA,CACvB6E,cACAma,SACAC,eACAha,UACA0gC,WACAtoB,WACA6nB,iBACGQ,GACAsC,GAToB,CAUvBx6B,MAAO,CACHvJ,MAAO,UACPF,QAAS,cACT0I,WAAY,MACZpH,SAAU,OACVC,cAAe,YACfxB,aAAc,MACd+I,eAAgB,OAChBpI,SAAU,WACVb,QAAS,WChCXqkC,GAAe,CACnB,CACE3yB,GAAI,EACJrQ,MAAO,sBACPijC,UAAW,uBACXjU,KAAM,GACND,SAAU,yBACVpc,IAAK,gCAGP,CACEtC,GAAI,EACJrQ,MAAO,qCACPijC,UAAW,uBACXjU,KAAM,GACND,SAAU,yBACVpc,IAAK,6BACLlK,KAAM,OACN44B,UAAW,WAEb,CACEhxB,GAAI,EACJrQ,MAAO,gEACPijC,UAAW,gCACXjU,KAAM,GACND,SAAU,kCACVpc,IAAK,wDACLlK,KAAM,WACN44B,UAAW,UAEb,CACEhxB,GAAI,EACJrQ,MAAO,MACPijC,UAAW,YACXjU,KAAM,GACND,SAAU,cACVpc,IAAK,iEACLlK,KAAM,WACN44B,UAAW,WAEb,CACEhxB,GAAI,EACJrQ,MAAO,oBACPijC,UAAW,iBACXjU,KAAM,GACND,SAAU,mBACVpc,IAAK,2DACLlK,KAAM,gBACN44B,UAAW,UAEb,CACEhxB,GAAI,EACJrQ,MAAO,cACPijC,UAAW,oBACXjU,KAAM,GACND,SAAU,sBACVpc,IAAK,2GACLlK,KAAM,WACN44B,UAAW,WAEb,CACEhxB,GAAI,EACJrQ,MAAO,aACPijC,UAAW,mBACXjU,KAAM,GACND,SAAU,qBACVpc,IAAK,8BACLlK,KAAM,WACN44B,UAAW,WAEb,CACEhxB,GAAI,EACJrQ,MAAO,6BACPijC,UAAW,uBACXjU,KAAM,GACND,SAAU,yBACVpc,IAAK,+BACLlK,KAAM,WACN44B,UAAW,WAEb,CACEhxB,GAAI,EACJrQ,MAAO,YACPijC,UAAW,kBACXjU,KAAM,GACND,SAAU,oBACVpc,IAAK,wDACLlK,KAAM,WACN44B,UAAW,YAKT6B,GAAqB,CACzB,CACE7yB,GAAI,IACJrQ,MAAO,QACPijC,UAAW,cACXjU,KAAM,GACND,SAAU,gBACVpc,IAAK,uBACLlK,KAAM,WACN44B,UAAW,WAEb,CACEhxB,GAAI,IACJrQ,MAAO,MACPijC,UAAW,YACXjU,KAAM,GACND,SAAU,cACVpc,IAAK,4BACLlK,KAAM,WACN44B,UAAW,WAEb,CACEhxB,GAAI,IACJrQ,MAAO,MACPijC,UAAW,YACXjU,KAAM,GACN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","file":"static/js/main.fef7285f.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/nick-kane-687812-unsplash-sm.f23ab396.jpg\";","module.exports = __webpack_public_path__ + \"static/media/taneli-lahtinen-1027248-unsplash-sm.831f1f50.jpg\";","module.exports = __webpack_public_path__ + \"static/media/jonathan-smith-142050-unsplash-sm.913ef6a5.jpg\";","module.exports = __webpack_public_path__ + \"static/media/sidharth-bhatia-358983-unsplash-sm.401382f5.jpg\";","module.exports = __webpack_public_path__ + \"static/media/sonja-guina-39897-unsplash-sm.f2f3bcdd.jpg\";","module.exports = __webpack_public_path__ + \"static/media/john-such-493478-unsplash-sm.06c2b4a0.jpg\";","if (typeof Object.assign != 'function') {\n // Must be writable: true, enumerable: false, configurable: true\n Object.defineProperty(Object, \"assign\", {\n value: function assign(target, varArgs) { // .length of function is 2\n 'use strict';\n if (target == null) { // TypeError if undefined or null\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var to = Object(target);\n\n for (var index = 1; index < arguments.length; index++) {\n var nextSource = arguments[index];\n\n if (nextSource != null) { // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n },\n writable: true,\n configurable: true\n });\n}\n\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\nif (!Array.prototype.find) {\n Object.defineProperty(Array.prototype, 'find', {\n value: function(predicate) {\n // 1. Let O be ? ToObject(this value).\n if (this == null) {\n throw new TypeError('\"this\" is null or not defined');\n }\n\n var o = Object(this);\n\n // 2. Let len be ? ToLength(? Get(O, \"length\")).\n var len = o.length >>> 0;\n\n // 3. If IsCallable(predicate) is false, throw a TypeError exception.\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n\n // 4. If thisArg was supplied, let T be thisArg; else let T be undefined.\n var thisArg = arguments[1];\n\n // 5. Let k be 0.\n var k = 0;\n\n // 6. Repeat, while k < len\n while (k < len) {\n // a. Let Pk be ! ToString(k).\n // b. Let kValue be ? Get(O, Pk).\n // c. Let testResult be ToBoolean(? Call(predicate, T, « kValue, k, O »)).\n // d. If testResult is true, return kValue.\n var kValue = o[k];\n if (predicate.call(thisArg, kValue, k, o)) {\n return kValue;\n }\n // e. Increase k by 1.\n k++;\n }\n\n // 7. Return undefined.\n return undefined;\n }\n });\n}\n\nif (!Array.prototype.fill) {\n Object.defineProperty(Array.prototype, 'fill', {\n value: function(value) {\n\n // Steps 1-2.\n if (this == null) {\n throw new TypeError('this is null or not defined');\n }\n\n var O = Object(this);\n\n // Steps 3-5.\n var len = O.length >>> 0;\n\n // Steps 6-7.\n var start = arguments[1];\n var relativeStart = start >> 0;\n\n // Step 8.\n var k = relativeStart < 0 ?\n Math.max(len + relativeStart, 0) :\n Math.min(relativeStart, len);\n\n // Steps 9-10.\n var end = arguments[2];\n var relativeEnd = end === undefined ?\n len : end >> 0;\n\n // Step 11.\n var final = relativeEnd < 0 ?\n Math.max(len + relativeEnd, 0) :\n Math.min(relativeEnd, len);\n\n // Step 12.\n while (k < final) {\n O[k] = value;\n k++;\n }\n\n // Step 13.\n return O;\n }\n });\n}\n\n\nMath.log10 = Math.log10 || function(x) {\n return Math.log(x) * Math.LOG10E;\n};","import React from 'react'\nimport { withRouter } from \"react-router\";\n\nclass ScrollToTop extends React.Component {\n\n firstPart(location) {\n if (location.length > 0) {\n if (location[0] === '/') {\n location = location.substring(1);\n }\n\n let parts = location.split('/')\n\n if (parts.length > 0) {\n return parts[0];\n }\n }\n return '';\n }\n\n componentDidUpdate(prevProps) {\n\n //scroll to top if first part of the path is changed (if params are changed, no need to scroll)\n if ( this.firstPart(this.props.location.pathname) !== this.firstPart(prevProps.location.pathname)) {\n window.scrollTo(0,0);\n }\n }\n\n render() {\n return this.props.children;\n }\n\n}\n\nexport default withRouter(ScrollToTop);","// ##############################\n// // // Header styles\n// #############################\n\nimport {\n container,\n defaultFont,\n primaryColor,\n infoColor,\n successColor,\n warningColor,\n dangerColor,\n roseColor,\n transition,\n boxShadow,\n drawerWidth\n} from \"assets/jss/material-kit-pro-react.jsx\";\n\nconst headerStyle = theme => ({\n appBar: {\n display: \"flex\",\n border: \"0\",\n borderRadius: \"3px\",\n padding: \"0.625rem 0\",\n marginBottom: \"20px\",\n color: \"#555\",\n width: \"100%\",\n backgroundColor: \"#fff\",\n boxShadow:\n \"0 4px 18px 0px rgba(0, 0, 0, 0.12), 0 7px 10px -5px rgba(0, 0, 0, 0.15)\",\n transition: \"all 150ms ease 0s\",\n alignItems: \"center\",\n flexFlow: \"row nowrap\",\n justifyContent: \"flex-start\",\n position: \"relative\"\n },\n absolute: {\n position: \"absolute\",\n top: \"auto\"\n },\n fixed: {\n position: \"fixed\"\n },\n container: {\n ...container,\n minHeight: \"50px\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n display: \"flex\",\n flexWrap: \"nowrap\"\n },\n title: {\n \"&,& a\": {\n ...defaultFont,\n lineHeight: \"30px\",\n fontSize: \"18px\",\n borderRadius: \"3px\",\n textTransform: \"none\",\n whiteSpace: \"nowrap\",\n color: \"inherit\",\n \"&:hover,&:focus\": {\n color: \"inherit\",\n background: \"transparent\"\n }\n }\n },\n appResponsive: {\n margin: \"20px 10px\",\n marginTop: \"0px\"\n },\n primary: {\n backgroundColor: primaryColor,\n color: \"#FFFFFF\",\n boxShadow:\n \"0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 12px -5px rgba(127, 193, 66, 0.46)\"\n },\n info: {\n backgroundColor: infoColor,\n color: \"#FFFFFF\",\n boxShadow:\n \"0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 12px -5px rgba(0, 188, 212, 0.46)\"\n },\n success: {\n backgroundColor: successColor,\n color: \"#FFFFFF\",\n boxShadow:\n \"0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 12px -5px rgba(76, 175, 80, 0.46)\"\n },\n warning: {\n backgroundColor: warningColor,\n color: \"#FFFFFF\",\n boxShadow:\n \"0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 12px -5px rgba(255, 152, 0, 0.46)\"\n },\n danger: {\n backgroundColor: dangerColor,\n color: \"#FFFFFF\",\n boxShadow:\n \"0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 12px -5px rgba(244, 67, 54, 0.46)\"\n },\n rose: {\n backgroundColor: roseColor,\n color: \"#FFFFFF\",\n boxShadow:\n \"0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 12px -5px rgba(233, 30, 99, 0.46)\"\n },\n transparent: {\n backgroundColor: \"transparent !important\",\n boxShadow: \"none\",\n paddingTop: \"25px\",\n color: \"#FFFFFF\"\n },\n dark: {\n color: \"#FFFFFF\",\n backgroundColor: \"#212121 !important\",\n boxShadow:\n \"0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 12px -5px rgba(33, 33, 33, 0.46)\"\n },\n white: {\n border: \"0\",\n padding: \"0.625rem 0\",\n marginBottom: \"20px\",\n color: \"#555\",\n backgroundColor: \"#fff !important\",\n boxShadow:\n \"0 4px 18px 0px rgba(0, 0, 0, 0.12), 0 7px 10px -5px rgba(0, 0, 0, 0.15)\"\n },\n drawerPaper: {\n border: \"none\",\n bottom: \"0\",\n transitionProperty: \"top, bottom, width\",\n transitionDuration: \".2s, .2s, .35s\",\n transitionTimingFunction: \"linear, linear, ease\",\n width: drawerWidth,\n ...boxShadow,\n position: \"fixed\",\n display: \"block\",\n top: \"0\",\n height: \"100vh\",\n right: \"0\",\n left: \"auto\",\n visibility: \"visible\",\n overflowY: \"visible\",\n borderTop: \"none\",\n textAlign: \"left\",\n paddingRight: \"0px\",\n paddingLeft: \"0\",\n ...transition\n },\n hidden: {\n width: \"100%\"\n },\n collapse: {\n [theme.breakpoints.up(\"md\")]: {\n display: \"flex !important\",\n MsFlexPreferredSize: \"auto\",\n flexBasis: \"auto\"\n },\n WebkitBoxFlex: \"1\",\n MsFlexPositive: \"1\",\n flexGrow: \"1\",\n WebkitBoxAlign: \"center\",\n MsFlexAlign: \"center\",\n alignItems: \"center\"\n },\n closeButtonDrawer: {\n position: \"absolute\",\n right: \"8px\",\n top: \"9px\",\n zIndex: \"1\"\n },\n logo: {\n marginRight: \"5px\"\n }\n});\n\nexport default headerStyle;\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport Button from \"@material-ui/core/Button\";\nimport Hidden from \"@material-ui/core/Hidden\";\nimport Drawer from \"@material-ui/core/Drawer\";\n// @material-ui/icons\nimport Menu from \"@material-ui/icons/Menu\";\nimport Close from \"@material-ui/icons/Close\";\n// core components\nimport headerStyle from \"assets/jss/material-kit-pro-react/components/headerStyle.jsx\";\n\nimport logo from \"assets/img/Land-hover.png\";\n\nclass Header extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n mobileOpen: false\n };\n this.handleDrawerToggle = this.handleDrawerToggle.bind(this);\n this.headerColorChange = this.headerColorChange.bind(this);\n }\n handleDrawerToggle() {\n this.setState({ mobileOpen: !this.state.mobileOpen });\n }\n componentDidMount() {\n if (this.props.changeColorOnScroll) {\n window.addEventListener(\"scroll\", this.headerColorChange);\n }\n }\n headerColorChange() {\n const { classes, color, changeColorOnScroll } = this.props;\n const windowsScrollTop = window.pageYOffset;\n if (windowsScrollTop > changeColorOnScroll.height) {\n document.body\n .getElementsByTagName(\"header\")[0]\n .classList.remove(classes[color]);\n document.body\n .getElementsByTagName(\"header\")[0]\n .classList.add(classes[changeColorOnScroll.color]);\n } else {\n document.body\n .getElementsByTagName(\"header\")[0]\n .classList.add(classes[color]);\n document.body\n .getElementsByTagName(\"header\")[0]\n .classList.remove(classes[changeColorOnScroll.color]);\n }\n }\n componentWillUnmount() {\n if (this.props.changeColorOnScroll) {\n window.removeEventListener(\"scroll\", this.headerColorChange);\n }\n }\n render() {\n const { classes, color, links, brand, fixed, absolute } = this.props;\n const appBarClasses = classNames({\n [classes.appBar]: true,\n [classes[color]]: color,\n [classes.absolute]: absolute,\n [classes.fixed]: fixed\n });\n return (\n \n \n \n \n
{links}
\n
\n \n \n \n \n \n \n \n \n \n \n \n
{links}
\n \n
\n \n );\n }\n}\n\nHeader.defaultProp = {\n color: \"white\"\n};\n\nHeader.propTypes = {\n classes: PropTypes.object.isRequired,\n color: PropTypes.oneOf([\n \"primary\",\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n \"transparent\",\n \"white\",\n \"rose\",\n \"dark\"\n ]),\n links: PropTypes.node,\n brand: PropTypes.string,\n fixed: PropTypes.bool,\n absolute: PropTypes.bool,\n // this will cause the sidebar to change the color from\n // this.props.color (see above) to changeColorOnScroll.color\n // when the window.pageYOffset is heigher or equal to\n // changeColorOnScroll.height and then when it is smaller than\n // changeColorOnScroll.height change it back to\n // this.props.color (see above)\n changeColorOnScroll: PropTypes.shape({\n height: PropTypes.number.isRequired,\n color: PropTypes.oneOf([\n \"primary\",\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n \"transparent\",\n \"white\",\n \"rose\",\n \"dark\"\n ]).isRequired\n })\n};\n\nexport default withStyles(headerStyle)(Header);\n","// ##############################\n// // // Footer styles\n// #############################\n\nimport {\n container,\n primaryColor,\n btnLink\n} from \"assets/jss/material-kit-pro-react.jsx\";\n\nconst footerStyle = {\n left: {\n float: \"left!important\",\n display: \"block\"\n },\n right: {\n padding: \"15px 0\",\n margin: \"0\",\n float: \"right\"\n },\n rightLinks: {\n float: \"right!important\",\n \"& ul\": {\n marginBottom: 0,\n marginTop: 10,\n padding: 0,\n listStyle: \"none\",\n height: 38,\n \"& li\": {\n display: \"inline-block\"\n }\n },\n \"& i\": {\n fontSize: \"20px\"\n }\n },\n footer: {\n padding: \"0.9375rem 0\",\n textAlign: \"center\",\n display: \"flex\",\n zIndex: \"2\",\n position: \"relative\",\n \"& ul\": {\n marginBottom: \"0\",\n padding: 0,\n listStyle: \"none\"\n }\n },\n big: {\n padding: \"1.875rem 0\",\n \"& h5, & h4\": {\n fontWeight: 700,\n fontFamily: \"Roboto Slab,Times New Roman,serif\",\n marginBottom: \"15px\"\n },\n \"& p\": {\n color: \"#999\"\n }\n },\n content: {\n textAlign: \"left\"\n },\n a: {\n color: primaryColor,\n textDecoration: \"none\",\n backgroundColor: \"transparent\"\n },\n dark: {\n background: \"radial-gradient(ellipse at center,#585858 0,#232323 100%)\",\n backgroundSize: \"550% 450%\",\n color: \"#fff\",\n \"& p\": {\n color: \"#999\"\n },\n \"& i\": {\n color: \"#fff\"\n },\n \"& a\": {\n color: \"#fff\",\n opacity: \".86\",\n \"&:visited\": {\n color: \"#fff\"\n },\n \"&:focus, &:hover\": {\n opacity: 1\n }\n },\n \"& hr\": {\n borderColor: \"rgba(255,255,255,0.2)\"\n },\n \"& $btnTwitter, & $btnDribbble, & $btnInstagram\": {\n color: \"#fff\"\n }\n },\n white: {\n backgroundColor: \"#fff\",\n color: \"#3c4858\",\n textDecoration: \"none\",\n \"& a\": {\n \"&:visited\": {\n color: \"#3c4858\"\n },\n \"&:hover, &:focus\": {\n color: \"#89229b\"\n }\n }\n },\n container,\n list: {\n marginBottom: \"0\",\n padding: \"0\",\n marginTop: \"0\"\n },\n block: {\n color: \"inherit\",\n padding: \"0.9375rem\",\n fontWeight: \"500\",\n fontSize: \"12px\",\n textTransform: \"uppercase\",\n borderRadius: \"3px\",\n textDecoration: \"none\",\n position: \"relative\",\n display: \"block\"\n },\n inlineBlock: {\n display: \"inline-block\",\n padding: \"0px\",\n width: \"auto\"\n },\n icon: {\n width: \"18px\",\n height: \"18px\",\n position: \"relative\",\n top: \"3px\"\n },\n iconSocial: {\n width: \"41px\",\n height: \"41px\",\n fontSize: \"24px\",\n minWidth: \"41px\",\n padding: 0,\n overflow: \"hidden\",\n position: \"relative\"\n },\n btnTwitter: {\n ...btnLink,\n color: \"#55acee\"\n },\n btnDribbble: {\n ...btnLink,\n color: \"#ea4c89\"\n },\n btnInstagram: {\n ...btnLink,\n color: \"#125688\"\n },\n footerBrand: {\n height: \"50px\",\n padding: \"15px 15px\",\n fontSize: \"18px\",\n lineHeight: \"50px\",\n marginLeft: \"-15px\",\n color: \"#3c4858\",\n textDecoration: \"none\",\n fontWeight: 700,\n fontFamily: \"Roboto Slab,Times New Roman,serif\"\n },\n pullCenter: {\n display: \"inline-block\",\n float: \"none\"\n },\n clearFix: {\n clear: \"both\"\n }\n};\nexport default footerStyle;\n","/* eslint-disable */\nimport React from \"react\";\n\n// react components for routing our app without refresh\nimport { Link } from \"react-router-dom\";\n\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport List from \"@material-ui/core/List\";\nimport ListItem from \"@material-ui/core/ListItem\";\n\nimport footerStyle from \"assets/jss/material-kit-pro-react/components/footerStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nfunction Footer(props) {\n const { t, children, classes, theme, big, className } = props;\n const themeType =\n theme === \"transparent\" || theme == undefined ? false : true;\n const footerClasses = classNames({\n [classes.footer]: true,\n [classes[theme]]: themeType,\n [classes.big]: big || children !== undefined,\n [className]: className !== undefined\n });\n const aClasses = classNames({\n [classes.a]: true\n });\n\n return (\n
\n
\n {children !== undefined ? (\n
\n
{children}
\n
\n
\n ) : (\n \" \"\n )}\n\n
\n \n \n \n {t(\"menu:footer-terms-of-use\")}\n \n \n {/* \n \n {t(\"menu:footer-contact\")}\n \n */}\n \n \n {t(\"menu:footer-info\")}\n \n \n \n
\n
\n © {1900 + new Date().getYear()} MZOE | {t(\"common:made-by\")} Prehnit {t(\"common:doo\")}\n
\n
\n
\n\n
\n );\n}\n\nFooter.propTypes = {\n classes: PropTypes.object.isRequired,\n theme: PropTypes.oneOf([\"dark\", \"white\", \"transparent\"]),\n big: PropTypes.bool\n};\n\nexport default withNamespaces()(withStyles(footerStyle)(Footer));\n","import React from \"react\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport Grid from \"@material-ui/core/Grid\";\n\nconst style = {\n grid: {\n marginRight: \"-15px\",\n marginLeft: \"-15px\",\n width: \"auto\"\n }\n};\n\nfunction GridContainer({ ...props }) {\n const { classes, children, className, ...rest } = props;\n return (\n \n {children}\n \n );\n}\n\nGridContainer.defaultProps = {\n className: \"\"\n};\n\nGridContainer.propTypes = {\n classes: PropTypes.object.isRequired,\n children: PropTypes.node,\n className: PropTypes.string\n};\n\nexport default withStyles(style)(GridContainer);\n","import React from \"react\";\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport Grid from \"@material-ui/core/Grid\";\n\nconst style = {\n grid: {\n position: \"relative\",\n width: \"100%\",\n minHeight: \"1px\",\n paddingRight: \"15px\",\n paddingLeft: \"15px\"\n /* flexBasis: \"auto\" */\n }\n};\n\nfunction GridItem({ ...props }) {\n const { classes, children, className, ...rest } = props;\n return (\n \n {children}\n \n );\n}\n\nexport default withStyles(style)(GridItem);\n","import {\n defaultFont,\n primaryColor,\n primaryBoxShadow,\n infoColor,\n infoBoxShadow,\n successColor,\n successBoxShadow,\n warningColor,\n warningBoxShadow,\n dangerColor,\n dangerBoxShadow,\n roseColor,\n roseBoxShadow\n} from \"assets/jss/material-kit-pro-react.jsx\";\n\nconst customDropdownStyle = theme => ({\n popperClose: {\n pointerEvents: \"none\",\n display: \"none !important\"\n },\n pooperNav: {\n [theme.breakpoints.down(\"sm\")]: {\n position: \"static !important\",\n left: \"unset !important\",\n top: \"unset !important\",\n transform: \"none !important\",\n willChange: \"none !important\",\n \"& > div\": {\n boxShadow: \"none !important\",\n marginLeft: \"1.5rem\",\n marginRight: \"1.5rem\",\n transition: \"none !important\",\n marginTop: \"0px !important\",\n marginBottom: \"5px !important\",\n padding: \"0px !important\"\n }\n }\n },\n manager: {\n \"& > div > button:first-child > span:first-child, & > div > a:first-child > span:first-child\": {\n width: \"100%\"\n }\n },\n innerManager: {\n display: \"block\",\n \"& > div > button,& > div > a\": {\n margin: \"0px !important\",\n color: \"inherit !important\",\n padding: \"10px 20px !important\",\n \"& > span:first-child\": {\n width: \"100%\",\n justifyContent: \"flex-start\"\n }\n }\n },\n target: {\n \"& > button:first-child > span:first-child, & > a:first-child > span:first-child\": {\n display: \"inline-block\"\n },\n \"& $caret\": {\n marginLeft: \"0px\"\n }\n },\n dropdown: {\n borderRadius: \"3px\",\n border: \"0\",\n boxShadow: \"0 2px 5px 0 rgba(0, 0, 0, 0.26)\",\n top: \"100%\",\n zIndex: \"1000\",\n minWidth: \"160px\",\n padding: \"5px 0\",\n margin: \"2px 0 0\",\n fontSize: \"14px\",\n textAlign: \"left\",\n listStyle: \"none\",\n backgroundColor: \"#fff\",\n backgroundClip: \"padding-box\"\n },\n menuList: {\n padding: \"0\"\n },\n pooperResponsive: {\n zIndex: \"1200\",\n [theme.breakpoints.down(\"sm\")]: {\n zIndex: \"1640\",\n position: \"static\",\n float: \"none\",\n width: \"auto\",\n marginTop: \"0\",\n backgroundColor: \"transparent\",\n border: \"0\",\n boxShadow: \"none\",\n color: \"black\"\n }\n },\n dropdownItem: {\n ...defaultFont,\n fontSize: \"13px\",\n padding: \"10px 20px\",\n margin: \"0 5px\",\n borderRadius: \"2px\",\n position: \"relative\",\n transition: \"all 150ms linear\",\n display: \"block\",\n clear: \"both\",\n fontWeight: \"400\",\n height: \"100%\",\n color: \"#333\",\n whiteSpace: \"nowrap\"\n },\n darkHover: {\n \"&:hover\": {\n boxShadow:\n \"0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 10px -5px rgba(33, 33, 33, 0.4)\",\n backgroundColor: \"#212121\",\n color: \"#fff\"\n }\n },\n primaryHover: {\n \"&:hover\": {\n backgroundColor: primaryColor,\n color: \"#FFFFFF\",\n ...primaryBoxShadow\n }\n },\n infoHover: {\n \"&:hover\": {\n backgroundColor: infoColor,\n color: \"#FFFFFF\",\n ...infoBoxShadow\n }\n },\n successHover: {\n \"&:hover\": {\n backgroundColor: successColor,\n color: \"#FFFFFF\",\n ...successBoxShadow\n }\n },\n warningHover: {\n \"&:hover\": {\n backgroundColor: warningColor,\n color: \"#FFFFFF\",\n ...warningBoxShadow\n }\n },\n dangerHover: {\n \"&:hover\": {\n backgroundColor: dangerColor,\n color: \"#FFFFFF\",\n ...dangerBoxShadow\n }\n },\n roseHover: {\n \"&:hover\": {\n backgroundColor: roseColor,\n color: \"#FFFFFF\",\n ...roseBoxShadow\n }\n },\n dropdownItemRTL: {\n textAlign: \"right\"\n },\n dropdownDividerItem: {\n margin: \"5px 0\",\n backgroundColor: \"rgba(0, 0, 0, 0.12)\",\n height: \"1px\",\n overflow: \"hidden\"\n },\n buttonIcon: {\n width: \"20px\",\n height: \"20px\"\n },\n caret: {\n transition: \"all 150ms ease-in\",\n display: \"inline-block\",\n width: \"0\",\n height: \"0\",\n marginLeft: \"4px\",\n verticalAlign: \"middle\",\n borderTop: \"4px solid\",\n borderRight: \"4px solid transparent\",\n borderLeft: \"4px solid transparent\"\n },\n caretActive: {\n transform: \"rotate(180deg)\"\n },\n caretDropup: {\n transform: \"rotate(180deg)\"\n },\n caretRTL: {\n marginRight: \"4px\"\n },\n dropdownHeader: {\n display: \"block\",\n padding: \"0.1875rem 1.25rem\",\n fontSize: \"0.75rem\",\n lineHeight: \"1.428571\",\n color: \"#777\",\n whiteSpace: \"nowrap\",\n fontWeight: \"inherit\",\n marginTop: \"10px\",\n \"&:hover,&:focus\": {\n backgroundColor: \"transparent\",\n cursor: \"auto\"\n }\n },\n noLiPadding: {\n padding: \"0\"\n }\n});\n\nexport default customDropdownStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport MenuList from \"@material-ui/core/MenuList\";\nimport ClickAwayListener from \"@material-ui/core/ClickAwayListener\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Grow from \"@material-ui/core/Grow\";\nimport Divider from \"@material-ui/core/Divider\";\nimport Popper from \"@material-ui/core/Popper\";\nimport Icon from \"@material-ui/core/Icon\";\n// core components\nimport Button from \"components/CustomButtons/Button.jsx\";\n\nimport customDropdownStyle from \"assets/jss/material-kit-pro-react/components/customDropdownStyle.jsx\";\n\nclass CustomDropdown extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n open: false\n };\n this.handleClick = this.handleClick.bind(this);\n this.handleClose = this.handleClose.bind(this);\n this.handleCloseMenu = this.handleCloseMenu.bind(this);\n }\n\n handleClick = () => {\n this.setState(state => ({ open: !state.open }));\n };\n handleClose = event => {\n if (this.anchorEl.contains(event.target)) {\n return;\n }\n\n this.setState({ open: false });\n };\n handleCloseMenu(param) {\n this.setState({ open: false });\n if (this.props && this.props.onClick) {\n this.props.onClick(param);\n }\n }\n render() {\n const { open } = this.state;\n const {\n classes,\n buttonText,\n buttonIcon,\n dropdownList,\n buttonProps,\n dropup,\n dropdownHeader,\n caret,\n hoverColor,\n dropPlacement,\n noLiPadding,\n innerDropDown,\n navDropdown\n } = this.props;\n const caretClasses = classNames({\n [classes.caret]: true,\n [classes.caretDropup]: dropup && !open,\n [classes.caretActive]: open && !dropup\n });\n const dropdownItem = classNames({\n [classes.dropdownItem]: true,\n [classes[hoverColor + \"Hover\"]]: true,\n [classes.noLiPadding]: noLiPadding\n });\n const dropDownMenu = (\n \n {dropdownHeader !== undefined ? (\n this.handleCloseMenu(dropdownHeader)}\n className={classes.dropdownHeader}\n >\n {dropdownHeader}\n \n ) : null}\n {dropdownList.map((prop, key) => {\n if (prop.header) {\n return (\n \n {prop.header}\n \n );\n }\n if (prop.divider) {\n return (\n this.handleCloseMenu(\"divider\")}\n className={classes.dropdownDividerItem}\n />\n );\n\n } else if (prop.icon && prop.text) {\n return (\n this.handleCloseMenu(prop)}\n className={dropdownItem}\n >\n {prop.icon}\n {prop.text}\n \n );\n\n } else if (prop.ref === \"multi\") {\n return (\n \n {prop}\n \n );\n }\n return (\n this.handleCloseMenu(prop)}\n className={dropdownItem}\n >\n {prop}\n \n );\n })}\n \n );\n return (\n
\n
\n {\n this.anchorEl = node;\n }}\n {...buttonProps}\n onClick={this.handleClick}\n >\n {buttonIcon !== undefined ? (\n \n ) : null}\n {buttonText !== undefined ? buttonText : null}\n {caret ? : null}\n \n
\n \n {({ TransitionProps, placement }) => (\n \n \n {innerDropDown ? (\n dropDownMenu\n ) : (\n \n {dropDownMenu}\n \n )}\n \n \n )}\n \n
\n );\n }\n}\n\nCustomDropdown.defaultProps = {\n caret: true,\n dropup: false,\n dropPlacement: \"bottom\",\n hoverColor: \"primary\",\n};\n\nCustomDropdown.propTypes = {\n classes: PropTypes.object.isRequired,\n hoverColor: PropTypes.oneOf([\n \"dark\",\n \"primary\",\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n \"rose\"\n ]),\n buttonText: PropTypes.node,\n buttonIcon: PropTypes.func,\n dropdownList: PropTypes.array,\n buttonProps: PropTypes.object,\n dropup: PropTypes.bool,\n dropdownHeader: PropTypes.node,\n caret: PropTypes.bool,\n dropPlacement: PropTypes.oneOf([\n \"bottom\",\n \"top\",\n \"right\",\n \"left\",\n \"bottom-start\",\n \"bottom-end\",\n \"top-start\",\n \"top-end\",\n \"right-start\",\n \"right-end\",\n \"left-start\",\n \"left-end\"\n ]),\n noLiPadding: PropTypes.bool,\n innerDropDown: PropTypes.bool,\n navDropdown: PropTypes.bool,\n // This is a function that returns the clicked menu item\n onClick: PropTypes.func\n};\n\nexport default withStyles(customDropdownStyle)(CustomDropdown);\n","import {\n defaultFont,\n primaryColor,\n primaryBoxShadow,\n infoColor,\n infoBoxShadow,\n successColor,\n successBoxShadow,\n warningColor,\n warningBoxShadow,\n dangerColor,\n dangerBoxShadow,\n roseColor,\n roseBoxShadow\n} from \"assets/jss/material-kit-pro-react.jsx\";\n\nimport customDropdownStyle from \"assets/jss/material-kit-pro-react/components/customDropdownStyle.jsx\";\n\nconst languageSelectorStyle = theme => ({\n ...customDropdownStyle,\n popperClose: {\n pointerEvents: \"none\",\n display: \"none !important\"\n },\n pooperNav: {\n [theme.breakpoints.down(\"sm\")]: {\n position: \"static !important\",\n left: \"unset !important\",\n top: \"unset !important\",\n transform: \"none !important\",\n willChange: \"none !important\",\n \"& > div\": {\n boxShadow: \"none !important\",\n marginLeft: \"1.5rem\",\n marginRight: \"1.5rem\",\n transition: \"none !important\",\n marginTop: \"0px !important\",\n marginBottom: \"5px !important\",\n padding: \"0px !important\"\n }\n }\n },\n manager: {\n \"& > div > button:first-child > span:first-child, & > div > a:first-child > span:first-child\": {\n width: \"100%\"\n }\n },\n innerManager: {\n display: \"block\",\n \"& > div > button,& > div > a\": {\n margin: \"0px !important\",\n color: \"inherit !important\",\n padding: \"10px 20px !important\",\n \"& > span:first-child\": {\n width: \"100%\",\n justifyContent: \"flex-start\"\n }\n }\n },\n target: {\n \"& > button:first-child > span:first-child, & > a:first-child > span:first-child\": {\n display: \"inline-block\"\n },\n \"& $caret\": {\n marginLeft: \"0px\"\n }\n },\n dropdown: {\n borderRadius: \"3px\",\n border: \"0\",\n boxShadow: \"0 2px 5px 0 rgba(0, 0, 0, 0.26)\",\n top: \"100%\",\n zIndex: \"1000\",\n minWidth: \"160px\",\n padding: \"5px 0\",\n margin: \"2px 0 0\",\n fontSize: \"14px\",\n textAlign: \"left\",\n listStyle: \"none\",\n backgroundColor: \"#fff\",\n backgroundClip: \"padding-box\"\n },\n menuList: {\n padding: \"0\"\n },\n dropdownItem: {\n ...defaultFont,\n fontSize: \"13px\",\n padding: \"10px 20px\",\n margin: \"0 5px\",\n borderRadius: \"2px\",\n position: \"relative\",\n transition: \"all 150ms linear\",\n display: \"block\",\n clear: \"both\",\n fontWeight: \"400\",\n height: \"100%\",\n color: \"#333\",\n whiteSpace: \"nowrap\"\n },\n darkHover: {\n \"&:hover\": {\n boxShadow:\n \"0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 10px -5px rgba(33, 33, 33, 0.4)\",\n backgroundColor: \"#212121\",\n color: \"#fff\"\n }\n },\n dropdownLink: {\n \"&,&:hover,&:focus\": {\n color: \"inherit\",\n textDecoration: \"none\",\n display: \"flex\",\n padding: \"0.75rem 1.25rem 0.75rem 0.75rem\"\n }\n },\n primaryHover: {\n \"&:hover\": {\n backgroundColor: primaryColor,\n color: \"#FFFFFF\",\n ...primaryBoxShadow\n }\n },\n infoHover: {\n \"&:hover\": {\n backgroundColor: infoColor,\n color: \"#FFFFFF\",\n ...infoBoxShadow\n }\n },\n successHover: {\n \"&:hover\": {\n backgroundColor: successColor,\n color: \"#FFFFFF\",\n ...successBoxShadow\n }\n },\n warningHover: {\n \"&:hover\": {\n backgroundColor: warningColor,\n color: \"#FFFFFF\",\n ...warningBoxShadow\n }\n },\n dangerHover: {\n \"&:hover\": {\n backgroundColor: dangerColor,\n color: \"#FFFFFF\",\n ...dangerBoxShadow\n }\n },\n roseHover: {\n \"&:hover\": {\n backgroundColor: roseColor,\n color: \"#FFFFFF\",\n ...roseBoxShadow\n }\n },\n dropdownDividerItem: {\n margin: \"5px 0\",\n backgroundColor: \"rgba(0, 0, 0, 0.12)\",\n height: \"1px\",\n overflow: \"hidden\"\n },\n buttonIcon: {\n width: \"20px\",\n height: \"20px\"\n },\n caret: {\n transition: \"all 150ms ease-in\",\n display: \"inline-block\",\n width: \"0\",\n height: \"0\",\n marginLeft: \"4px\",\n verticalAlign: \"middle\",\n borderTop: \"4px solid\",\n borderRight: \"4px solid transparent\",\n borderLeft: \"4px solid transparent\"\n },\n caretActive: {\n transform: \"rotate(180deg)\"\n },\n caretDropup: {\n transform: \"rotate(180deg)\"\n },\n dropdownHeader: {\n display: \"block\",\n padding: \"0.1875rem 1.25rem\",\n fontSize: \"0.75rem\",\n lineHeight: \"1.428571\",\n color: \"#777\",\n whiteSpace: \"nowrap\",\n fontWeight: \"inherit\",\n marginTop: \"10px\",\n \"&:hover,&:focus\": {\n backgroundColor: \"transparent\",\n cursor: \"auto\"\n }\n },\n dropdownIcons: {\n width: \"24px\",\n height: \"24px\",\n marginRight: \"14px\",\n opacity: \"0.5\",\n marginTop: \"-4px\",\n top: \"1px\",\n verticalAlign: \"middle\",\n fontSize: \"24px\",\n position: \"relative\"\n },\n\n noLiPadding: {\n padding: \"0\"\n },\n\n listItem: {\n float: \"left\",\n color: \"inherit\",\n position: \"relative\",\n display: \"block\",\n width: \"auto\",\n margin: \"0\",\n padding: \"0\",\n [theme.breakpoints.down(\"sm\")]: {\n \"& ul\": {\n maxHeight: \"400px\",\n overflow: \"scroll\"\n },\n width: \"100%\",\n \"&:not(:last-child)\": {\n \"&:after\": {\n width: \"calc(100% - 30px)\",\n content: '\"\"',\n display: \"block\",\n height: \"1px\",\n marginLeft: \"15px\",\n backgroundColor: \"#e5e5e5\"\n }\n }\n }\n },\n listItemText: {\n padding: \"0 !important\"\n },\n});\n\nexport default languageSelectorStyle;\n","export const Languages = [\n {\n code: \"hr\",\n abbr: \"HRV\",\n title: \"Hrvatski\"\n },\n {\n code: \"en\",\n abbr: \"ENG\",\n title: \"English\"\n }\n];","import \"isomorphic-fetch\"\n\nexport const API = {\n getTranslations,\n getLanguages,\n getBorders,\n getBaseLayers,\n getLayers,\n getContentLinks,\n getContentLists,\n getContentLinksByGroup,\n getDataAllRegions,\n getDataOneRegion,\n getTrendsAllRegions,\n getStatsAllRegions,\n getExternalGeoLayers,\n getExternalGeofeatures\n}\n\n\n\nfunction _get( api_url ) {\n let headers = [];\n headers['Content-Type'] = 'text/plain';\n headers['Accept'] = 'application/json'\n\n const requestOptions = {\n method: 'GET',\n headers: headers\n }\n\n const url = process.env.REACT_APP_API_Url + api_url;\n\n return fetch(url, requestOptions)\n .then( response => {\n return response.text().then( text => {\n const data = text && JSON.parse(text)\n if (!response.ok) {\n const error = (data && data.message) || response.statusText;\n return Promise.reject(error);\n }\n\n return data;\n })\n\n })\n .catch( function(error) {\n });\n}\n\nfunction getTranslations(lang_code, group_title) {\n return _get('/trans/' + lang_code + '/' + group_title);\n}\n\nfunction getLanguages() {\n return _get('/config/langs');\n}\n\nfunction getBorders() {\n return _get('/config/borders');\n}\n\nfunction getBaseLayers() {\n return _get('/config/baselayers');\n}\n\nfunction getLayers() {\n return _get('/config/layers');\n}\n\nfunction getContentLinks() {\n return _get('/content/links');\n}\n\nfunction getContentLists() {\n return _get('/content/lists');\n}\n\nfunction getContentLinksByGroup( group ) {\n return _get('/content/links/' + group);\n}\n\nfunction getDataAllRegions( catagoryTitle ) {\n return _get('/data/' + catagoryTitle);\n}\n\nfunction getDataOneRegion( catagoryTitle, regionId) {\n return _get('/data/' + catagoryTitle + \"/\" + regionId);\n}\n\nfunction getTrendsAllRegions( categoryTitle ) {\n return _get('/trends/' + categoryTitle);\n}\n\nfunction getStatsAllRegions( categoryTitle ) {\n return _get('/stats/' + categoryTitle);\n}\n\nfunction getExternalGeoLayers( url ) {\n return _get('/externalgeo/layers?url=' + encodeURI(url));\n}\n\nfunction getExternalGeofeatures( url ) {\n return _get('/externalgeo/features?url=' + encodeURI(url));\n}","import React, { Component } from 'react'\nimport classNames from \"classnames\";\n\n// core components\nimport Button from \"components/CustomButtons/Button.jsx\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport MenuList from \"@material-ui/core/MenuList\";\nimport Popper from \"@material-ui/core/Popper\";\nimport Grow from \"@material-ui/core/Grow\";\nimport Icon from \"@material-ui/core/Icon\";\nimport Paper from \"@material-ui/core/Paper\";\nimport ClickAwayListener from \"@material-ui/core/ClickAwayListener\";\n\nimport languageSelectorStyle from \"assets/jss/prehnit/components/languageSelectorStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport i18n from 'i18next';\nimport numbro from 'numbro';\n\nimport { Languages as LanguagesFallback } from \"config/LanguageList.jsx\";\n\nimport { API } from \"services/api\";\n\nclass LanguageSelector extends Component {\n\n constructor(props) {\n super(props)\n\n this.state = {\n open: false\n }\n\n this.handleClick = this.handleClick.bind(this);\n this.handleClose = this.handleClose.bind(this);\n this.handleSelectLanguage = this.handleSelectLanguage.bind(this);\n\n this.langs = [];\n\n API.getLanguages()\n .then (data => {\n if (data && data.length > 0) {\n this.langs = data;\n\n } else {\n console.warn('Loading Fallback Languages...!');\n this.langs = LanguagesFallback;\n }\n });\n\n }\n\n handleClick = () => {\n this.setState(state => ({ open: !state.open }));\n };\n\n handleSelectLanguage(lng) {\n if (lng.code) {\n i18n.changeLanguage(lng.code);\n numbro.setLanguage(lng.code);\n this.setState({\n open: false\n })\n }\n }\n\n handleClose = event => {\n if (this.anchorEl.contains(event.target)) {\n return;\n }\n this.setState({ open: false });\n };\n\n displayName(code) {\n if (this.langs && this.langs.length > 0 ) {\n let lngs = this.langs.filter(lng => {\n return lng.code === code;\n });\n if (lngs && lngs.length > 0) {\n return lngs[0].abbr;\n }\n } else { //default\n switch (code) {\n case \"hr\":\n return \"HRV\";\n case \"en\":\n return \"ENG\";\n default:\n return \"HRV\";\n }\n }\n }\n\n render() {\n const { open } = this.state;\n const {\n classes,\n buttonText,\n buttonIcon,\n buttonProps,\n dropup,\n caret,\n hoverColor,\n dropPlacement,\n noLiPadding,\n innerDropDown,\n navDropdown\n } = this.props;\n\n const caretClasses = classNames({\n [classes.caret]: true,\n [classes.caretDropup]: dropup && !open,\n [classes.caretActive]: open && !dropup\n });\n\n const dropdownItem = classNames({\n [classes.dropdownItem]: true,\n [classes[hoverColor + \"Hover\"]]: true,\n [classes.noLiPadding]: noLiPadding && false,\n });\n\n const dropDownMenu = (\n \n {this.langs.map((prop, key) => {\n return (\n this.handleSelectLanguage(prop)}\n className={dropdownItem}\n >\n chat\n {prop.title}\n \n );\n })}\n \n );\n\n return (\n
\n
\n {\n this.anchorEl = node;\n }}\n {...buttonProps}\n onClick={this.handleClick}\n >\n {buttonIcon !== undefined ? (\n \n ) : null}\n {this.displayName(this.props.lng)}\n {caret ? : null}\n \n
\n \n {({ TransitionProps, placement }) => (\n \n \n {innerDropDown ? (\n dropDownMenu\n ) : (\n \n {dropDownMenu}\n \n )}\n \n \n )}\n \n
\n );\n }\n}\n\nLanguageSelector.defaultProps = {\n caret: true,\n buttonText: \"---\",\n}\n\nexport default withNamespaces()(withStyles(languageSelectorStyle)(LanguageSelector));","import {\n defaultFont,\n primaryColor,\n primaryBoxShadow,\n infoColor,\n infoBoxShadow,\n successColor,\n successBoxShadow,\n warningColor,\n warningBoxShadow,\n dangerColor,\n dangerBoxShadow,\n roseColor,\n roseBoxShadow\n} from \"assets/jss/material-kit-pro-react.jsx\";\n\nimport customDropdownStyle from \"assets/jss/material-kit-pro-react/components/customDropdownStyle.jsx\";\n\nconst unitSelectorStyle = theme => ({\n ...customDropdownStyle,\n popperClose: {\n pointerEvents: \"none\",\n display: \"none !important\"\n },\n pooperNav: {\n [theme.breakpoints.down(\"sm\")]: {\n position: \"static !important\",\n left: \"unset !important\",\n top: \"unset !important\",\n transform: \"none !important\",\n willChange: \"none !important\",\n \"& > div\": {\n boxShadow: \"none !important\",\n marginLeft: \"1.5rem\",\n marginRight: \"1.5rem\",\n transition: \"none !important\",\n marginTop: \"0px !important\",\n marginBottom: \"5px !important\",\n padding: \"0px !important\"\n }\n }\n },\n manager: {\n \"& > div > button:first-child > span:first-child, & > div > a:first-child > span:first-child\": {\n width: \"100%\"\n }\n },\n innerManager: {\n display: \"block\",\n \"& > div > button,& > div > a\": {\n margin: \"0px !important\",\n color: \"inherit !important\",\n padding: \"10px 20px !important\",\n \"& > span:first-child\": {\n width: \"100%\",\n justifyContent: \"flex-start\"\n }\n }\n },\n target: {\n \"& > button:first-child > span:first-child, & > a:first-child > span:first-child\": {\n display: \"inline-block\"\n },\n \"& $caret\": {\n marginLeft: \"0px\"\n }\n },\n dropdown: {\n borderRadius: \"3px\",\n border: \"0\",\n boxShadow: \"0 2px 5px 0 rgba(0, 0, 0, 0.26)\",\n top: \"100%\",\n zIndex: \"1000\",\n minWidth: \"160px\",\n padding: \"5px 0\",\n margin: \"2px 0 0\",\n fontSize: \"14px\",\n textAlign: \"left\",\n listStyle: \"none\",\n backgroundColor: \"#fff\",\n backgroundClip: \"padding-box\"\n },\n menuList: {\n padding: \"0\"\n },\n dropdownItem: {\n ...defaultFont,\n fontSize: \"13px\",\n padding: \"10px 20px\",\n margin: \"0 5px\",\n borderRadius: \"2px\",\n position: \"relative\",\n transition: \"all 150ms linear\",\n display: \"block\",\n clear: \"both\",\n fontWeight: \"400\",\n height: \"100%\",\n color: \"#333\",\n whiteSpace: \"nowrap\"\n },\n darkHover: {\n \"&:hover\": {\n boxShadow:\n \"0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 10px -5px rgba(33, 33, 33, 0.4)\",\n backgroundColor: \"#212121\",\n color: \"#fff\"\n }\n },\n dropdownLink: {\n \"&,&:hover,&:focus\": {\n color: \"inherit\",\n textDecoration: \"none\",\n display: \"flex\",\n padding: \"0.75rem 1.25rem 0.75rem 0.75rem\"\n }\n },\n primaryHover: {\n \"&:hover\": {\n backgroundColor: primaryColor,\n color: \"#FFFFFF\",\n ...primaryBoxShadow\n }\n },\n infoHover: {\n \"&:hover\": {\n backgroundColor: infoColor,\n color: \"#FFFFFF\",\n ...infoBoxShadow\n }\n },\n successHover: {\n \"&:hover\": {\n backgroundColor: successColor,\n color: \"#FFFFFF\",\n ...successBoxShadow\n }\n },\n warningHover: {\n \"&:hover\": {\n backgroundColor: warningColor,\n color: \"#FFFFFF\",\n ...warningBoxShadow\n }\n },\n dangerHover: {\n \"&:hover\": {\n backgroundColor: dangerColor,\n color: \"#FFFFFF\",\n ...dangerBoxShadow\n }\n },\n roseHover: {\n \"&:hover\": {\n backgroundColor: roseColor,\n color: \"#FFFFFF\",\n ...roseBoxShadow\n }\n },\n dropdownDividerItem: {\n margin: \"5px 0\",\n backgroundColor: \"rgba(0, 0, 0, 0.12)\",\n height: \"1px\",\n overflow: \"hidden\"\n },\n buttonIcon: {\n width: \"20px\",\n height: \"20px\"\n },\n caret: {\n transition: \"all 150ms ease-in\",\n display: \"inline-block\",\n width: \"0\",\n height: \"0\",\n marginLeft: \"4px\",\n verticalAlign: \"middle\",\n borderTop: \"4px solid\",\n borderRight: \"4px solid transparent\",\n borderLeft: \"4px solid transparent\"\n },\n caretActive: {\n transform: \"rotate(180deg)\"\n },\n caretDropup: {\n transform: \"rotate(180deg)\"\n },\n dropdownHeader: {\n display: \"block\",\n padding: \"0.1875rem 1.25rem\",\n fontSize: \"0.75rem\",\n lineHeight: \"1.428571\",\n color: \"#777\",\n whiteSpace: \"nowrap\",\n fontWeight: \"inherit\",\n marginTop: \"10px\",\n \"&:hover,&:focus\": {\n backgroundColor: \"transparent\",\n cursor: \"auto\"\n }\n },\n dropdownIcons: {\n width: \"24px\",\n height: \"24px\",\n marginRight: \"14px\",\n opacity: \"0.5\",\n marginTop: \"-4px\",\n top: \"1px\",\n verticalAlign: \"middle\",\n fontSize: \"24px\",\n position: \"relative\"\n },\n\n noLiPadding: {\n padding: \"0\"\n },\n\n listItem: {\n float: \"left\",\n color: \"inherit\",\n position: \"relative\",\n display: \"block\",\n width: \"auto\",\n margin: \"0\",\n padding: \"0\",\n [theme.breakpoints.down(\"sm\")]: {\n \"& ul\": {\n maxHeight: \"400px\",\n overflow: \"scroll\"\n },\n width: \"100%\",\n \"&:not(:last-child)\": {\n \"&:after\": {\n width: \"calc(100% - 30px)\",\n content: '\"\"',\n display: \"block\",\n height: \"1px\",\n marginLeft: \"15px\",\n backgroundColor: \"#e5e5e5\"\n }\n }\n }\n },\n listItemText: {\n padding: \"0 !important\"\n },\n});\n\nexport default unitSelectorStyle;\n","// import React from 'react'\n\nexport const units = {\n m : {\n code: \"m\",\n short: \"m2\",\n displayCode: \"common:unit.sq-meters\",\n transform(val) { return Math.round(val * 10000 * 100) / 100; }\n },\n ha : {\n code: \"ha\",\n short: \"ha\",\n displayCode: \"common:unit.hectars\",\n transform(val) { return val; }\n },\n km : {\n code: \"km\",\n short: \"km2\",\n displayCode: \"common:unit.sq-kilometers\",\n transform(val) { return Math.round(val * 0.01 * 100) / 100 ; }\n }\n}\n\n","import React from 'react'\n\nimport { units } from 'config/UnitsConfig';\n\n\nexport const Context = React.createContext({\n unit: units.ha,\n setUnit: () => {},\n getUnit: () => {}\n});","import React, { Component } from 'react'\nimport classNames from \"classnames\";\n\n// core components\nimport Button from \"components/CustomButtons/Button.jsx\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport MenuList from \"@material-ui/core/MenuList\";\nimport Popper from \"@material-ui/core/Popper\";\nimport Grow from \"@material-ui/core/Grow\";\nimport Icon from \"@material-ui/core/Icon\";\nimport Paper from \"@material-ui/core/Paper\";\nimport ClickAwayListener from \"@material-ui/core/ClickAwayListener\";\n\nimport unitSelectorStylye from \"assets/jss/prehnit/components/unitSelectorStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport { units } from \"config/UnitsConfig.jsx\"\nimport { Context } from \"Context.jsx\";\n\nclass UnitSelector extends Component {\n\n constructor(props) {\n super(props)\n\n this.state = {\n open: false\n }\n\n this.handleClick = this.handleClick.bind(this);\n this.handleClose = this.handleClose.bind(this);\n this.handleSelectUnit = this.handleSelectUnit.bind(this);\n }\n\n handleClick = () => {\n this.setState(state => ({ open: !state.open }));\n };\n\n handleSelectUnit(unit, setUnit) {\n if (unit) {\n setUnit(unit);\n this.setState({\n open: false\n })\n }\n }\n\n handleClose = event => {\n if (this.anchorEl.contains(event.target)) {\n return;\n }\n\n this.setState({ open: false });\n };\n\n // handleCloseMenu(param) {\n // this.setState({ open: false });\n // if (this.props && this.props.onClick) {\n // this.props.onClick(param);\n // }\n // }\n\n render() {\n const { open } = this.state;\n const {\n t,\n classes,\n buttonText,\n buttonIcon,\n buttonProps,\n dropup,\n caret,\n hoverColor,\n dropPlacement,\n noLiPadding,\n innerDropDown,\n navDropdown\n } = this.props;\n\n const caretClasses = classNames({\n [classes.caret]: true,\n [classes.caretDropup]: dropup && !open,\n [classes.caretActive]: open && !dropup\n });\n\n const dropdownItem = classNames({\n [classes.dropdownItem]: true,\n [classes[hoverColor + \"Hover\"]]: true,\n [classes.noLiPadding]: noLiPadding && false,\n });\n\n const dropDownMenu = (\n \n {({unit, setUnit}) => (\n \n { Object.values(units).map((prop, key) => {\n return (\n\n\n this.handleSelectUnit(prop, setUnit)}\n className={dropdownItem}\n >\n insert_chart_outlined\n {t(prop.displayCode)}\n \n );\n })}\n \n\n )}\n\n \n\n );\n\n return (\n
\n
\n {\n this.anchorEl = node;\n }}\n {...buttonProps}\n onClick={this.handleClick}\n >\n {buttonIcon !== undefined ? (\n \n ) : null}\n\n \n {ctx => ctx.unit.short}\n \n {caret ? : null}\n \n
\n \n {({ TransitionProps, placement }) => (\n \n \n {innerDropDown ? (\n dropDownMenu\n ) : (\n \n {dropDownMenu}\n \n )}\n \n \n )}\n \n
\n );\n }\n}\n\nUnitSelector.contextType = Context;\n\nUnitSelector.defaultProps = {\n caret: true,\n buttonText: \"---\",\n}\n\nexport default withNamespaces()(withStyles(unitSelectorStylye)(UnitSelector));","const tooltipsStyle = {\n tooltip: {\n padding: \"10px 15px\",\n minWidth: \"130px\",\n color: \"#FFFFFF\",\n lineHeight: \"1.7em\",\n background: \"rgba(85,85,85,0.9)\",\n border: \"none\",\n borderRadius: \"3px\",\n boxShadow:\n \"0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2)\",\n maxWidth: \"200px\",\n textAlign: \"center\",\n fontFamily: '\"Helvetica Neue\",Helvetica,Arial,sans-serif',\n fontSize: \"0.875em\",\n fontStyle: \"normal\",\n fontWeight: \"400\",\n textShadow: \"none\",\n textTransform: \"none\",\n letterSpacing: \"normal\",\n wordBreak: \"normal\",\n wordSpacing: \"normal\",\n wordWrap: \"normal\",\n whiteSpace: \"normal\",\n lineBreak: \"auto\"\n }\n};\n\nexport default tooltipsStyle;\n","// ##############################\n// // // HeaderLinks styles\n// #############################\n\nimport { mlAuto } from \"assets/jss/material-kit-pro-react.jsx\";\n\nimport tooltip from \"assets/jss/material-kit-pro-react/tooltipsStyle.jsx\";\n\nconst headerLinksStyle = theme => ({\n list: {\n [theme.breakpoints.up(\"md\")]: {\n WebkitBoxAlign: \"center\",\n MsFlexAlign: \"center\",\n alignItems: \"center\",\n WebkitBoxOrient: \"horizontal\",\n WebkitBoxDirection: \"normal\",\n MsFlexDirection: \"row\",\n flexDirection: \"row\"\n },\n [theme.breakpoints.down(\"sm\")]: {\n display: \"block\"\n },\n marginTop: \"0px\",\n display: \"flex\",\n paddingLeft: \"0\",\n marginBottom: \"0\",\n listStyle: \"none\",\n padding: \"0\"\n },\n listItem: {\n float: \"left\",\n color: \"inherit\",\n position: \"relative\",\n display: \"block\",\n width: \"auto\",\n margin: \"0\",\n padding: \"0\",\n [theme.breakpoints.down(\"sm\")]: {\n \"& ul\": {\n maxHeight: \"400px\",\n overflow: \"scroll\"\n },\n width: \"100%\",\n \"&:not(:last-child)\": {\n \"&:after\": {\n width: \"calc(100% - 30px)\",\n content: '\"\"',\n display: \"block\",\n height: \"1px\",\n marginLeft: \"15px\",\n backgroundColor: \"#e5e5e5\"\n }\n }\n }\n },\n listItemText: {\n padding: \"0 !important\"\n },\n navLink: {\n color: \"inherit\",\n position: \"relative\",\n padding: \"0.9375rem\",\n fontWeight: \"400\",\n fontSize: \"12px\",\n textTransform: \"uppercase\",\n lineHeight: \"20px\",\n textDecoration: \"none\",\n margin: \"0px\",\n display: \"inline-flex\",\n \"&:hover,&:focus\": {\n color: \"inherit\"\n },\n \"& .fab,& .far,& .fal,& .fas,& .material-icons\": {\n position: \"relative\",\n top: \"2px\",\n marginTop: \"-4px\",\n marginRight: \"4px\",\n marginBottom: \"0px\",\n fontSize: \"1.25rem\"\n },\n [theme.breakpoints.down(\"sm\")]: {\n width: \"calc(100% - 30px)\",\n marginLeft: \"15px\",\n marginBottom: \"8px\",\n marginTop: \"8px\",\n textAlign: \"left\",\n \"& > span:first-child\": {\n justifyContent: \"flex-start\"\n }\n },\n \"& svg\": {\n marginRight: \"3px\",\n width: \"20px\",\n height: \"20px\"\n }\n },\n navLinkJustIcon: {\n \"& .fab,& .far,& .fal,& .fas,& .material-icons\": {\n marginRight: \"0px\"\n },\n \"& svg\": {\n marginRight: \"0px\"\n }\n },\n navButton: {\n position: \"relative\",\n fontWeight: \"400\",\n fontSize: \"12px\",\n textTransform: \"uppercase\",\n lineHeight: \"20px\",\n textDecoration: \"none\",\n margin: \"0px\",\n display: \"inline-flex\",\n [theme.breakpoints.down(\"sm\")]: {\n width: \"calc(100% - 30px)\",\n marginLeft: \"15px\",\n marginBottom: \"5px\",\n marginTop: \"5px\",\n textAlign: \"left\",\n \"& > span:first-child\": {\n justifyContent: \"flex-start\"\n }\n },\n \"& $icons\": {\n marginRight: \"3px\"\n }\n },\n notificationNavLink: {\n color: \"inherit\",\n padding: \"0.9375rem\",\n fontWeight: \"400\",\n fontSize: \"12px\",\n textTransform: \"uppercase\",\n lineHeight: \"20px\",\n textDecoration: \"none\",\n margin: \"0px\",\n display: \"inline-flex\",\n top: \"4px\"\n },\n registerNavLink: {\n top: \"3px\",\n position: \"relative\",\n fontWeight: \"400\",\n fontSize: \"12px\",\n textTransform: \"uppercase\",\n lineHeight: \"20px\",\n textDecoration: \"none\",\n margin: \"0px\",\n display: \"inline-flex\"\n },\n navLinkActive: {\n \"&, &:hover, &:focus,&:active \": {\n color: \"inherit\",\n backgroundColor: \"rgba(255, 255, 255, 0.1)\"\n }\n },\n icons: {\n width: \"20px\",\n height: \"20px\",\n marginRight: \"14px\"\n },\n dropdownIcons: {\n width: \"24px\",\n height: \"24px\",\n marginRight: \"14px\",\n opacity: \"0.5\",\n marginTop: \"-4px\",\n top: \"1px\",\n verticalAlign: \"middle\",\n fontSize: \"24px\",\n position: \"relative\"\n },\n socialIcons: {\n position: \"relative\",\n fontSize: \"1.25rem\",\n maxWidth: \"24px\"\n },\n socialIconsButton: {\n top: \"4px\",\n [theme.breakpoints.down(\"sm\")]: {\n top: \"0\"\n }\n },\n dropdownLink: {\n \"&,&:hover,&:focus\": {\n color: \"inherit\",\n textDecoration: \"none\",\n display: \"flex\",\n padding: \"0.75rem 1.25rem 0.75rem 0.75rem\"\n }\n },\n ...tooltip,\n marginRight5: {\n marginRight: \"5px\"\n },\n collapse: {\n [theme.breakpoints.up(\"md\")]: {\n display: \"flex !important\",\n MsFlexPreferredSize: \"auto\",\n flexBasis: \"auto\"\n },\n WebkitBoxFlex: \"1\",\n MsFlexPositive: \"1\",\n flexGrow: \"1\",\n WebkitBoxAlign: \"center\",\n MsFlexAlign: \"center\",\n alignItems: \"center\"\n },\n mlAuto\n});\n\nexport default headerLinksStyle;\n","/* eslint-disable */\nimport React from \"react\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// react components for routing our app without refresh\nimport { Link } from \"react-router-dom\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport List from \"@material-ui/core/List\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport Icon from \"@material-ui/core/Icon\";\n\n// @material-ui/icons\nimport Apps from \"@material-ui/icons/Apps\";\nimport Language from \"@material-ui/icons/Language\";\nimport InsertChartOutlined from \"@material-ui/icons/InsertChartOutlined\";\nimport Layers from \"@material-ui/icons/Layers\";\nimport LineStyle from \"@material-ui/icons/LineStyle\";\nimport Map from \"@material-ui/icons/Map\";\n\n\n// core components\nimport CustomDropdown from \"components/CustomDropdown/CustomDropdown.jsx\";\nimport LanguageSelector from \"components/LanguageSelector/LanguageSelector.jsx\";\nimport UnitSelector from \"components/UnitSelector/UnitSelector.jsx\";\nimport { units } from \"config/UnitsConfig.jsx\";\n\nimport headerLinksStyle from \"assets/jss/material-kit-pro-react/components/headerLinksStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\nimport i18n from \"i18next\";\n\nfunction HeaderLinks({ ...props }) {\n\n const easeInOutQuad = (t, b, c, d) => {\n t /= d / 2;\n if (t < 1) return c / 2 * t * t + b;\n t--;\n return -c / 2 * (t * (t - 2) - 1) + b;\n };\n\n const smoothScroll = (e, target) => {\n if (window.location.pathname === \"/sections\") {\n var isMobile = navigator.userAgent.match(\n /(iPad)|(iPhone)|(iPod)|(android)|(webOS)/i\n );\n if (isMobile) {\n // if we are on mobile device the scroll into view will be managed by the browser\n } else {\n e.preventDefault();\n var targetScroll = document.getElementById(target);\n scrollGo(document.documentElement, targetScroll.offsetTop, 1250);\n }\n }\n };\n const scrollGo = (element, to, duration) => {\n var start = element.scrollTop,\n change = to - start,\n currentTime = 0,\n increment = 20;\n\n var animateScroll = function() {\n currentTime += increment;\n var val = easeInOutQuad(currentTime, start, change, duration);\n element.scrollTop = val;\n if (currentTime < duration) {\n setTimeout(animateScroll, increment);\n }\n };\n animateScroll();\n };\n var onClickSections = {};\n\n const { t, classes, dropdownHoverColor, units } = props;\n return (\n \n \n \n folder\n {t(\"menu:dash-country\")}\n ,\n \n dashboard\n {t(\"menu:dash-county\")}\n ,\n \n view_quilt\n {t(\"menu:dash-municipality\")}\n ,\n \n nature_people\n {t(\"menu:dash-protectedareas\")}\n ,\n \n nature\n {t(\"menu:dash-biogeoregions\")}\n ,\n ]}\n />\n \n \n \n {t(\"menu:map\")}\n \n \n\n {units ? \n \n\n \n : null }\n\n \n {i18n.language ?\n \n : null\n }\n\n \n \n );\n}\n\nHeaderLinks.defaultProps = {\n hoverColor: \"primary\"\n};\n\nHeaderLinks.propTypes = {\n dropdownHoverColor: PropTypes.oneOf([\n \"dark\",\n \"primary\",\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n \"rose\"\n ])\n};\n\nexport default withNamespaces()(withStyles(headerLinksStyle)(HeaderLinks));\n","const parallaxStyle = {\n parallax: {\n height: \"100vh\",\n maxHeight: \"1600px\",\n overflow: \"hidden\",\n position: \"relative\",\n backgroundPosition: \"50%\",\n backgroundSize: \"cover\",\n margin: \"0\",\n padding: \"0\",\n border: \"0\",\n display: \"flex\",\n alignItems: \"center\"\n },\n filter: {},\n primaryColor: {\n \"&:before\": {\n background: \"rgba(0, 0, 0, 0.5)\"\n },\n \"&:after\": {\n background:\n \"linear-gradient(60deg,rgba(225,190,231,.56),rgba(186,104,200,.95))\"\n },\n \"&:after,&:before\": {\n position: \"absolute\",\n zIndex: \"1\",\n width: \"100%\",\n height: \"100%\",\n display: \"block\",\n left: \"0\",\n top: \"0\",\n content: \"''\"\n }\n },\n roseColor: {\n \"&:before\": {\n background: \"rgba(0, 0, 0, 0.5)\"\n },\n \"&:after\": {\n background:\n \"linear-gradient(60deg,rgba(248,187,208,.56),rgba(240,98,146,.95))\"\n },\n \"&:after,&:before\": {\n position: \"absolute\",\n zIndex: \"1\",\n width: \"100%\",\n height: \"100%\",\n display: \"block\",\n left: \"0\",\n top: \"0\",\n content: \"''\"\n }\n },\n darkColor: {\n \"&:before\": {\n background: \"rgba(0, 0, 0, 0.5)\"\n },\n \"&:after,&:before\": {\n position: \"absolute\",\n zIndex: \"1\",\n width: \"100%\",\n height: \"100%\",\n display: \"block\",\n left: \"0\",\n top: \"0\",\n content: \"''\"\n }\n },\n infoColor: {\n \"&:before\": {\n background: \"rgba(0, 0, 0, 0.5)\"\n },\n \"&:after\": {\n background:\n \"linear-gradient(60deg,rgba(178,235,242,.56),rgba(77,208,225,.95))\"\n },\n \"&:after,&:before\": {\n position: \"absolute\",\n zIndex: \"1\",\n width: \"100%\",\n height: \"100%\",\n display: \"block\",\n left: \"0\",\n top: \"0\",\n content: \"''\"\n }\n },\n successColor: {\n \"&:before\": {\n background: \"rgba(0, 0, 0, 0.5)\"\n },\n \"&:after\": {\n background:\n \"linear-gradient(60deg,rgba(165,214,167,.56),rgba(102,187,106,.95))\"\n },\n \"&:after,&:before\": {\n position: \"absolute\",\n zIndex: \"1\",\n width: \"100%\",\n height: \"100%\",\n display: \"block\",\n left: \"0\",\n top: \"0\",\n content: \"''\"\n }\n },\n warningColor: {\n \"&:before\": {\n background: \"rgba(0, 0, 0, 0.5)\"\n },\n \"&:after\": {\n background:\n \"linear-gradient(60deg,rgba(255,224,178,.56),rgba(255,183,77,.95))\"\n },\n \"&:after,&:before\": {\n position: \"absolute\",\n zIndex: \"1\",\n width: \"100%\",\n height: \"100%\",\n display: \"block\",\n left: \"0\",\n top: \"0\",\n content: \"''\"\n }\n },\n dangerColor: {\n \"&:before\": {\n background: \"rgba(0, 0, 0, 0.5)\"\n },\n \"&:after\": {\n background:\n \"linear-gradient(60deg,hsla(0,73%,77%,.56),rgba(239,83,80,.95))\"\n },\n \"&:after,&:before\": {\n position: \"absolute\",\n zIndex: \"1\",\n width: \"100%\",\n height: \"100%\",\n display: \"block\",\n left: \"0\",\n top: \"0\",\n content: \"''\"\n }\n },\n small: {\n height: \"65vh\",\n minHeight: \"65vh\",\n maxHeight: \"650px\"\n }\n};\n\nexport default parallaxStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\n// core components\nimport parallaxStyle from \"assets/jss/material-kit-pro-react/components/parallaxStyle.jsx\";\n\nclass Parallax extends React.Component {\n constructor(props) {\n super(props);\n let windowScrollTop;\n if (window.innerWidth >= 768) {\n windowScrollTop = window.pageYOffset / 3;\n } else {\n windowScrollTop = 0;\n }\n this.state = {\n transform: \"translate3d(0,\" + windowScrollTop + \"px,0)\"\n };\n this.resetTransform = this.resetTransform.bind(this);\n }\n componentDidMount() {\n if (window.innerWidth >= 768) {\n var windowScrollTop = window.pageYOffset / 3;\n this.setState({\n transform: \"translate3d(0,\" + windowScrollTop + \"px,0)\"\n });\n window.addEventListener(\"scroll\", this.resetTransform);\n }\n }\n componentWillUnmount() {\n if (window.innerWidth >= 768) {\n window.removeEventListener(\"scroll\", this.resetTransform);\n }\n }\n resetTransform() {\n var windowScrollTop = window.pageYOffset / 3;\n this.setState({\n transform: \"translate3d(0,\" + windowScrollTop + \"px,0)\"\n });\n }\n render() {\n const {\n classes,\n filter,\n className,\n children,\n style,\n image,\n small\n } = this.props;\n const parallaxClasses = classNames({\n [classes.parallax]: true,\n [classes[filter + \"Color\"]]: filter !== undefined,\n [classes.small]: small,\n [className]: className !== undefined\n });\n return (\n \n {children}\n \n );\n }\n}\n\nParallax.propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n filter: PropTypes.oneOf([\n \"primary\",\n \"rose\",\n \"dark\",\n \"info\",\n \"success\",\n \"warning\",\n \"danger\"\n ]),\n children: PropTypes.node,\n style: PropTypes.string,\n image: PropTypes.string,\n small: PropTypes.bool\n};\n\nexport default withStyles(parallaxStyle)(Parallax);\n","import {\n container,\n title,\n main,\n mainRaised\n} from \"assets/jss/material-kit-pro-react.jsx\";\n\nconst landingPageStyle = {\n container: {\n color: \"#FFFFFF\",\n ...container,\n zIndex: \"2\"\n },\n title: {\n ...title,\n display: \"inline-block\",\n position: \"relative\",\n marginTop: \"30px\",\n minHeight: \"32px\",\n color: \"#FFFFFF\",\n textDecoration: \"none\"\n },\n subtitle: {\n fontSize: \"1.313rem\",\n maxWidth: \"500px\",\n margin: \"10px auto 0\"\n },\n main: {\n ...main\n },\n mainRaised: {\n ...mainRaised\n },\n block: {\n color: \"inherit\",\n padding: \"0.9375rem\",\n fontWeight: \"500\",\n fontSize: \"12px\",\n textTransform: \"uppercase\",\n borderRadius: \"3px\",\n textDecoration: \"none\",\n position: \"relative\",\n display: \"block\"\n },\n inlineBlock: {\n display: \"inline-block\",\n padding: \"0px\",\n width: \"auto\"\n },\n list: {\n marginBottom: \"0\",\n padding: \"0\",\n marginTop: \"0\"\n },\n left: {\n float: \"left!important\",\n display: \"block\"\n },\n right: {\n padding: \"15px 0\",\n margin: \"0\",\n float: \"right\"\n },\n icon: {\n width: \"18px\",\n height: \"18px\",\n top: \"3px\",\n position: \"relative\"\n }\n};\n\nexport default landingPageStyle;\n","// ##############################\n// // // NavPills component style\n// #############################\n\nimport {\n roseColor,\n primaryColor,\n infoColor,\n successColor,\n warningColor,\n dangerColor\n} from \"assets/jss/material-kit-pro-react.jsx\";\n\nconst navPillsStyle = theme => ({\n root: {\n marginTop: \"20px\",\n paddingLeft: \"0\",\n marginBottom: \"0\",\n overflow: \"visible !important\"\n },\n flexContainer: {\n [theme.breakpoints.down(\"xs\")]: {\n display: \"flex\",\n flexWrap: \"wrap\"\n }\n },\n displayNone: {\n display: \"none !important\"\n },\n fixed: {\n overflowX: \"visible\"\n },\n horizontalDisplay: {\n display: \"block\"\n },\n pills: {\n float: \"left\",\n position: \"relative\",\n display: \"block\",\n borderRadius: \"30px\",\n minWidth: \"100px\",\n textAlign: \"center\",\n transition: \"all .3s\",\n padding: \"10px 15px\",\n color: \"#555555\",\n height: \"auto\",\n opacity: \"1\",\n maxWidth: \"100%\",\n margin: \"0 5px\",\n minHeight: \"unset\"\n },\n pillsWithIcons: {\n borderRadius: \"4px\"\n },\n tabIcon: {\n width: \"30px\",\n height: \"30px\",\n display: \"block\",\n margin: \"15px 0\"\n },\n horizontalPills: {\n width: \"100%\",\n float: \"none !important\",\n \"& + button\": {\n margin: \"10px 0\"\n }\n },\n labelContainer: {\n padding: \"0!important\",\n color: \"inherit\"\n },\n label: {\n lineHeight: \"24px\",\n textTransform: \"uppercase\",\n fontSize: \"12px\",\n fontWeight: \"500\",\n position: \"relative\",\n display: \"block\",\n color: \"inherit\"\n },\n contentWrapper: {\n marginTop: \"20px\",\n \"& .react-swipeable-view-container > div > div\": {\n paddingLeft: \"15px\",\n paddingRight: \"15px\"\n }\n },\n primary: {\n \"&,&:hover\": {\n color: \"#FFFFFF\",\n backgroundColor: primaryColor,\n boxShadow:\n \"0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 10px -5px rgba(127, 193, 66, 0.4)\"\n }\n },\n info: {\n \"&,&:hover\": {\n color: \"#FFFFFF\",\n backgroundColor: infoColor,\n boxShadow:\n \"0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 10px -5px rgba(76, 175, 80, 0.4)\"\n }\n },\n success: {\n \"&,&:hover\": {\n color: \"#FFFFFF\",\n backgroundColor: successColor,\n boxShadow:\n \"0 2px 2px 0 rgba(76, 175, 80, 0.14), 0 3px 1px -2px rgba(76, 175, 80, 0.2), 0 1px 5px 0 rgba(76, 175, 80, 0.12)\"\n }\n },\n warning: {\n \"&,&:hover\": {\n color: \"#FFFFFF\",\n backgroundColor: warningColor,\n boxShadow:\n \"0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 10px -5px rgba(255, 152, 0, 0.4)\"\n }\n },\n danger: {\n \"&,&:hover\": {\n color: \"#FFFFFF\",\n backgroundColor: dangerColor,\n boxShadow:\n \"0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 10px -5px rgba(255, 152, 0, 0.4)\"\n }\n },\n rose: {\n \"&,&:hover\": {\n color: \"#FFFFFF\",\n backgroundColor: roseColor,\n boxShadow:\n \"0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 10px -5px rgba(233, 30, 99, 0.4)\"\n }\n },\n alignCenter: {\n alignItems: \"center\",\n justifyContent: \"center\"\n }\n});\n\nexport default navPillsStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\nimport SwipeableViews from \"react-swipeable-views\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport Tab from \"@material-ui/core/Tab\";\nimport Tabs from \"@material-ui/core/Tabs\";\n\n// core components\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\n\nimport navPillsStyle from \"assets/jss/material-kit-pro-react/components/navPillsStyle.jsx\";\n\nclass NavPills extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n active: props.active\n };\n }\n handleChange = (event, active) => {\n this.setState({ active });\n };\n handleChangeIndex = index => {\n this.setState({ active: index });\n };\n render() {\n const {\n classes,\n tabs,\n direction,\n color,\n horizontal,\n alignCenter\n } = this.props;\n const flexContainerClasses = classNames({\n [classes.flexContainer]: true,\n [classes.horizontalDisplay]: horizontal !== undefined\n });\n const tabButtons = (\n \n {tabs.map((prop, key) => {\n var icon = {};\n if (prop.tabIcon !== undefined) {\n icon[\"icon\"] = ;\n }\n const pillsClasses = classNames({\n [classes.pills]: true,\n [classes.horizontalPills]: horizontal !== undefined,\n [classes.pillsWithIcons]: prop.tabIcon !== undefined\n });\n return (\n \n );\n })}\n \n );\n const tabContent = (\n
\n \n {tabs.map((prop, key) => {\n return (\n
\n {prop.tabContent}\n
\n );\n })}\n \n
\n );\n return horizontal !== undefined ? (\n \n {tabButtons}\n {tabContent}\n \n ) : (\n
\n {tabButtons}\n {tabContent}\n
\n );\n }\n}\n\nNavPills.defaultProps = {\n active: 0,\n color: \"primary\"\n};\n\nNavPills.propTypes = {\n classes: PropTypes.object.isRequired,\n // index of the default active pill\n active: PropTypes.number,\n tabs: PropTypes.arrayOf(\n PropTypes.shape({\n tabButton: PropTypes.string,\n tabIcon: PropTypes.func,\n tabContent: PropTypes.node\n })\n ).isRequired,\n color: PropTypes.oneOf([\n \"primary\",\n \"warning\",\n \"danger\",\n \"success\",\n \"info\",\n \"rose\"\n ]),\n direction: PropTypes.string,\n horizontal: PropTypes.shape({\n tabsGrid: PropTypes.object,\n contentGrid: PropTypes.object\n }),\n alignCenter: PropTypes.bool\n};\n\nexport default withStyles(navPillsStyle)(NavPills);\n","import { title } from \"assets/jss/material-kit-pro-react.jsx\";\n\nconst pillsStyle = {\n section: {\n padding: \"70px 0\"\n },\n container: {\n color: \"#555\"\n },\n title: {\n ...title,\n marginTop: \"30px\",\n minHeight: \"32px\",\n textDecoration: \"none\"\n },\n itemCount: {\n fontWeight: \"bold\"\n }\n};\n\nexport default pillsStyle;\n","import React from \"react\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\n// @material-ui/icons\nimport Dashboard from \"@material-ui/icons/Dashboard\";\nimport Landscape from \"@material-ui/icons/Landscape\";\nimport Search from \"@material-ui/icons/Search\"\n\n// core components\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\nimport NavPills from \"components/NavPills/NavPills.jsx\";\nimport pillsStyle from \"assets/jss/prehnit/views/landingPageSections/pillsStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport { API } from \"services/api\";\n\nclass SectionPills extends React.Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n clcBases: undefined,\n clcChanges: undefined,\n localComponent: undefined,\n dataLoaded: false\n };\n }\n\n filterData(data, col, id) {\n return data.filter(row => {\n return row[col] === id;\n });\n }\n\n componentDidMount() {\n API.getContentLists()\n .then(data => {\n let clcBases = this.filterData(data, 'group_code', 'clc-base');\n let clcChanges = this.filterData(data, 'group_code', 'clc-change');\n let localComponent = this.filterData(data, 'group_code', 'local-component');\n\n this.setState({\n clcBases: clcBases,\n clcChanges: clcChanges,\n localComponent: localComponent,\n dataLoaded: true\n })\n })\n\n }\n\n render() {\n const { t, classes } = this.props;\n return (\n
\n
\n
\n \n \n {this.state.dataLoaded ? \n

{t(\"comp-local\")}

\n

{t(\"local-para1\")}

\n

{t(\"local-para2\")}

\n
    \n {this.state.localComponent.map((el, key) => {\n return (\n
  1. {t(el.title_trans_token)} ({t(el.dsc_trans_token)})

  2. \n );\n })}\n
\n

{t(\"local-para3\")}

\n

{t(\"local-url\")}

\n \n )\n },\n {\n tabButton: t(\"comp-paneu\"),\n tabIcon: Landscape,\n tabContent: (\n \n

{t(\"comp-paneu\")}

\n

{t(\"paneu-para1\")}

\n

{t(\"paneu-para2\")}

\n

{t(\"paneu-para3\")}

\n

{t(\"paneu-url\")}

\n

{t(\"paneu-para4\")}

\n

{t(\"paneu-list1\")}

\n
    \n {this.state.clcChanges.map((el, key) => {\n return (\n
  1. {t(el.title_trans_token)}

  2. \n );\n })}\n
\n

{t(\"paneu-list2\")}

\n
    \n {this.state.clcBases.map((el, key) => {\n return (\n
  1. {t(el.title_trans_token)}

  2. \n );\n })}\n
\n\n
\n )\n },\n {\n tabButton: t(\"comp-hrl\"),\n tabIcon: Search,\n tabContent: (\n \n

{t(\"comp-hrl\")}

\n

{t(\"hrl-para1\")}

\n

{t(\"hrl-para2\")}

\n

{t(\"hrl-para3\")}

\n

{t(\"hrl-url\")}

\n
\n )\n }\n ]}\n /> : null}\n
\n
\n
\n
\n
\n );\n }\n}\n\nexport default withNamespaces(['pagecontent'])(withStyles(pillsStyle)(SectionPills));\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\n// core components\nimport Header from \"components/Header/Header.jsx\";\nimport Footer from \"components/Footer/Footer.jsx\";\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\nimport HeaderLinks from \"components/Header/HeaderLinks.jsx\";\nimport Parallax from \"components/Parallax/Parallax.jsx\";\n\nimport landingPageStyle from \"assets/jss/material-kit-pro-react/views/landingPageStyle.jsx\";\n\n// Sections for this page\nimport SectionPills from \"./Sections/SectionPills.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nconst dashboardRoutes = [];\n\nclass LandingPage extends React.Component {\n componentDidMount() {\n window.scrollTo(0, 0);\n document.body.scrollTop = 0;\n }\n render() {\n const { t, classes, ...rest } = this.props;\n return (\n
\n }\n fixed\n changeColorOnScroll={{\n height: 300,\n color: \"white\"\n }}\n {...rest}\n />\n \n
\n \n \n

{t(\"pagecontent:landing-title\")}

\n

{t(\"pagecontent:landing-desc\")}

\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n }\n />\n \n );\n }\n}\n\nexport default withNamespaces()(withStyles(landingPageStyle)(LandingPage));\n","import React from 'react';\nimport classNames from \"classnames\";\n\n// core components\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\n\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport mapStyle from \"assets/jss/prehnit/components/mapStyle.jsx\";\n\nclass TopMenu extends React.Component {\n\n render() {\n const {classes, children} = this.props;\n\n return (\n
\n \n {React.Children.map(children, (child, i) => {\n if (child != null) {\n return (\n \n {child}\n \n );\n } else {\n return null;\n }\n })}\n \n
\n );\n }\n}\n\nexport default withStyles(mapStyle)(TopMenu);","import React from 'react';\nimport classNames from \"classnames\";\n\n// core components\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\n\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport mapStyle from \"assets/jss/prehnit/components/mapStyle.jsx\";\n\nclass BottomMenu extends React.Component {\n\n render() {\n const {classes, children} = this.props;\n return (\n
\n {React.Children.map(children, (child, i) => {\n if (child != null) {\n let noRightPadding = { paddingRight: \"0px\" }; \n return (\n \n {child.props.fullWidth ?\n \n {child}\n \n : (child.props.halfWidth ?\n \n {child}\n \n :\n \n {child}\n )\n }\n \n );\n } else {\n return null;\n }\n })}\n
\n );\n }\n}\n\nexport default withStyles(mapStyle)(BottomMenu);","import React from 'react';\nimport classNames from \"classnames\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport mapStyle from \"assets/jss/prehnit/components/mapStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport Tabs from '@material-ui/core/Tabs';\nimport Tab from '@material-ui/core/Tab';\nimport Icon from \"@material-ui/core/Icon\";\n\n// core components\n// import GridContainer from \"components/Grid/GridContainer.jsx\";\n// import GridItem from \"components/Grid/GridItem.jsx\";\n\nclass SideContent extends React.Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n selectedTabIndex: 0\n }\n\n this.handleChange = this.handleChange.bind(this);\n this.handleClose = this.handleClose.bind(this);\n\n }\n\n handleChange(event, newValue) {\n this.setState({\n selectedTabIndex: newValue\n })\n }\n\n handleClose() {\n this.handleChange(null, 0);\n if (this.props.onClose) {\n this.props.onClose();\n }\n }\n\n render() {\n const { classes } = this.props;\n\n const children = React.Children.toArray(this.props.children).filter(o => o); //clear null elements\n\n let propClass = '';\n\n if (this.props.right) {\n propClass = classes.sideContentRight;\n } else if (this.props.left) {\n propClass = classes.sideContentLeft;\n }\n\n if (children.length > 0) {\n return (\n
\n \n {React.Children.map(children, (child, i) => {\n if (child != null) {\n return (\n {child.props.icon}}/>\n );\n } else {\n return null;\n }\n })}\n clear} onClick={this.handleClose}/>\n \n\n {React.Children.map(children, (child, i) => {\n if (child != null && this.state.selectedTabIndex === i) {\n return (\n
{child}
\n );\n } else {\n return null;\n }\n })}\n\n
\n );\n } else {\n return null;\n }\n\n }\n}\n\nexport default withNamespaces()(withStyles(mapStyle)(SideContent));\n","import React from 'react'\nimport classNames from \"classnames\";\nimport { withNamespaces } from \"react-i18next\";\nimport Swal from 'sweetalert2'\nimport PropTypes from \"prop-types\";\n\n// Open Layers\nimport OlSourceTileWMS from \"ol/source/TileWMS\";\nimport OlSourceVector from \"ol/source/Vector\";\nimport OlLayerTile from \"ol/layer/Tile\";\nimport OlLayerVector from \"ol/layer/Vector\";\nimport OlFormatGeoJSON from 'ol/format/GeoJSON';\nimport { bbox as OlBBoxStrategy } from 'ol/loadingstrategy'\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport Button from \"components/CustomButtons/Button.jsx\";\nimport IconButton from '@material-ui/core/IconButton';\nimport Icon from \"@material-ui/core/Icon\";\nimport Popper from \"@material-ui/core/Popper\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Grow from \"@material-ui/core/Grow\";\nimport Divider from \"@material-ui/core/Divider\";\nimport ClickAwayListener from \"@material-ui/core/ClickAwayListener\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport MenuList from \"@material-ui/core/MenuList\";\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction';\n\nimport mapStyle from \"assets/jss/prehnit/components/mapStyle.jsx\";\n\nimport { API } from \"services/api\"\n\nclass BaseLayerSwitcher extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n open: false\n }\n\n this.userBaseLayers = [];\n\n this.handleClick = this.handleClick.bind(this);\n this.handleClose = this.handleClose.bind(this);\n this.handleAdd = this.handleAdd.bind(this);\n this.handleCloseMenu = this.handleCloseMenu.bind(this);\n this.handleDeleteMenuItem = this.handleDeleteMenuItem.bind(this);\n }\n\n handleClick = () => {\n this.setState(state => ({\n open: !state.open,\n }));\n };\n\n handleClose = event => {\n if (this.anchorEl.contains(event.target)) {\n return;\n }\n this.setState({ open: false });\n };\n\n handleAdd = event => {\n const { t, classes } = this.props;\n\n let layerOptions = [];\n\n Swal.mixin({\n confirmButtonText: t(\"common:next\"),\n confirmButtonColor: \"#7fc142\",\n showCancelButton: true,\n cancelButtonText: t(\"common:cancel\"),\n cancelButtonColor: \"#f44336\",\n reverseButtons: true,\n customClass: {\n title: classes.alertTitle,\n confirmButton: classNames(classes.button, classes.primary),\n cancelButton: classNames(classes.button, classes.danger)\n },\n progressSteps: ['1', '2', '3']\n }).queue([\n {\n title: t(\"map:basemap-wizz-url-title\"),\n input: 'text',\n inputPlaceholder: t(\"map:basemap-wizz-url-desc\"),\n validationMessage: t(\"common:required-input\"),\n preConfirm: function (url) {\n url = url.toLowerCase();\n const ind0 = url.indexOf('http://');\n const ind1 = url.indexOf('https://');\n if (url === '') {\n Swal.showValidationMessage(t(\"common:required-input\"));\n } else if (ind0 !== 0 && ind1 !== 0) {\n Swal.showValidationMessage(\"Invalid url\");\n } else {\n return API.getExternalGeoLayers(url)\n .then(data => {\n if (data) {\n data.forEach(function (obj) {\n layerOptions.push(obj['name']);\n })\n } else {\n throw new Error('error msg')\n }\n })\n .catch(err => {\n console.error('Error catching layer names from external GIS server:', err);\n Swal.showValidationMessage(err);\n })\n }\n }.bind(this)\n },\n {\n title: t(\"map:basemap-wizz-layer-title\"),\n input: 'select',\n inputOptions: layerOptions,\n inputPlaceholder: t(\"map:basemap-wizz-layer-desc\"),\n preConfirm: function (ind) {\n if (!ind) {\n Swal.showValidationMessage(t(\"common:required-input\"));\n } else {\n return Promise.resolve();\n }\n }\n },\n {\n title: t(\"map:basemap-wizz-name-title\"),\n input: 'text',\n inputPlaceholder: t(\"map:basemap-wizz-name-desc\"),\n preConfirm: function (name) {\n if (!name) {\n Swal.showValidationMessage(t(\"common:required-input\"));\n } else {\n return Promise.resolve();\n }\n\n }\n }\n ]).then((result) => {\n if (result.value && result.value.length === 3) {\n\n let url = result.value[0];\n let layerName = layerOptions[result.value[1]];\n let name = result.value[2];\n\n if (this.props.onAdd) {\n const layer = this.generateLayer(url, layerName, name);\n this.props.onAdd(layer);\n }\n\n Swal.fire({\n title: t(\"map:basemap-added\"),\n type: 'success',\n confirmButtonText: t(\"common:ok\"),\n confirmButtonColor: \"#7fc142\",\n customClass: {\n confirmButton: classNames(classes.button, classes.primary)\n }\n\n })\n }\n })\n };\n\n handleCloseMenu(param) {\n this.setState({\n open: false,\n selectedLayerId: param.id,\n selectedLayerName: param.layer\n });\n if (this.props && this.props.onSelect) {\n this.props.onSelect(param);\n }\n };\n\n handleDeleteMenuItem(param) {\n this.setState({\n open: false\n });\n if (this.props && this.props.onRemove) {\n this.props.onRemove(param);\n }\n }\n\n guessType(url) {\n url = url.toLowerCase();\n let ind = url.indexOf('wfs');\n if (ind > 0) {\n return 'wfs'\n } else {\n return 'wms';\n }\n }\n\n generateLayer(url, layer, name) {\n\n const layers = this.props.userLayersList;\n\n let id = 1000;\n if (layers && layers.length > 0) {\n let ids = layers.map(x => x.id);\n let maxId = Math.max(...ids);\n id = maxId + 1;\n }\n\n let type = this.guessType(url);\n\n if (type == 'wfs') {\n var serverUrl = url.indexOf('?') > 0 ? url.substring(0,url.indexOf('?')) : url\n let vectorSource = new OlSourceVector({\n format: new OlFormatGeoJSON(),\n url: function (extent, resolution, projection) {\n var proj = projection.getCode();\n var wfsurl = serverUrl + '?service=WFS' + '&' +\n 'version=1.1.0&request=GetFeature&typename=' + layer + '&' +\n 'outputFormat=application/json&srsname=' + proj;\n if (extent && extent.length === 4 && isFinite(extent[0]) && isFinite(extent[1]) && isFinite(extent[2]) && isFinite(extent[3])) {\n wfsurl = wfsurl + '&bbox=' + extent.join(',') + ',' + proj;\n }\n let apiUrl = process.env.REACT_APP_API_Url + '/externalgeo/features?url=' + encodeURIComponent(wfsurl);\n return apiUrl;\n },\n strategy: OlBBoxStrategy\n });\n\n return {\n id: id,\n display: name,\n layer: new OlLayerVector({\n source: vectorSource\n })\n }\n\n } else { //wms\n return {\n id: id,\n display: name,\n layer: new OlLayerTile({\n source: new OlSourceTileWMS({\n url: url,\n params: { 'Layers': layer },\n projection: 'EPSG:3857'\n })\n })\n }\n\n }\n }\n\n render() {\n const { t, classes,\n buttonText, buttonIcon,\n hoverColor, noLiPadding, systemLayersList, userLayersList, dropup, navDropdown\n } = this.props;\n const { open } = this.state;\n\n\n const dropdownItem = classNames({\n [classes.dropdownItem]: true,\n [classes[hoverColor + \"Hover\"]]: true,\n [classes.noLiPadding]: noLiPadding\n });\n\n const menu = (\n \n {systemLayersList.map((prop, key) => {\n return (\n this.handleCloseMenu(prop)}\n className={dropdownItem}\n >\n {prop.icon ? prop.icon : \"layers\"}\n {prop.displayCode ? t(prop.displayCode) : prop.display}\n \n );\n })}\n {userLayersList && userLayersList.length > 0 ?\n this.handleCloseMenu(\"divider\")}\n className={classes.dropdownDividerItem}\n /> : null}\n {userLayersList.map((prop, key) => {\n return (\n this.handleCloseMenu(prop)}\n className={dropdownItem}\n >\n {prop.icon ? prop.icon : \"layers\"}\n {prop.displayCode ? t(prop.displayCode) : prop.display}\n \n this.handleDeleteMenuItem(prop)}>\n delete\n \n \n \n );\n })}\n\n this.handleCloseMenu(\"divider\")}\n className={classes.dropdownDividerItem}\n />\n this.handleAdd()}\n className={dropdownItem}\n >\n add\n {t(\"map:basemap-add\")}\n \n \n );\n\n return (\n
\n
\n {\n this.anchorEl = node;\n }}\n color=\"primary\"\n onClick={this.handleClick}\n className={classes.smallButton}\n >\n {buttonIcon}\n \n\n \n {({ TransitionProps, placement }) => (\n \n \n \n {menu}\n \n \n \n )}\n \n\n
\n
\n );\n }\n}\n\nBaseLayerSwitcher.defaultProps = {\n dropup: false,\n hoverColor: \"primary\",\n buttonIcon: \"layers\",\n buttonProps: {\n round: false,\n block: true,\n color: \"primary\"\n },\n};\n\nBaseLayerSwitcher.propTypes = {\n classes: PropTypes.object.isRequired,\n hoverColor: PropTypes.oneOf([\n \"dark\",\n \"primary\",\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n \"rose\"\n ]),\n buttonText: PropTypes.node,\n buttonIcon: PropTypes.string,\n layersList: PropTypes.array,\n buttonProps: PropTypes.object,\n dropup: PropTypes.bool,\n dropdownHeader: PropTypes.node,\n rtlActive: PropTypes.bool,\n caret: PropTypes.bool,\n dropPlacement: PropTypes.oneOf([\n \"bottom\",\n \"top\",\n \"right\",\n \"left\",\n \"bottom-start\",\n \"bottom-end\",\n \"top-start\",\n \"top-end\",\n \"right-start\",\n \"right-end\",\n \"left-start\",\n \"left-end\"\n ]),\n noLiPadding: PropTypes.bool,\n innerDropDown: PropTypes.bool,\n navDropdown: PropTypes.bool,\n // This is a function that returns the clicked menu item\n onClick: PropTypes.func\n};\n\nexport default withNamespaces()(withStyles(mapStyle)(BaseLayerSwitcher));","import React from 'react';\nimport classNames from \"classnames\";\n\n// plugin that creates slider\nimport nouislider from \"nouislider\";\nimport wNumb from \"wnumb\";\n\n// core components\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\nimport Button from \"components/CustomButtons/Button.jsx\";\n\n// @material-ui/core components\nimport Paper from \"@material-ui/core/Paper\";\nimport Icon from \"@material-ui/core/Icon\";\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport mapStyle from \"assets/jss/prehnit/components/mapStyle.jsx\";\n\nclass LayerConfigPanel extends React.Component {\n\n componentDidMount() {\n const { years } = this.props;\n\n this.slider1 = this.refs.slider1;\n this.slider2 = this.refs.slider2;\n\n nouislider.create(this.slider1, {\n start: this.props.opacity * 100,\n connect: [false, true],\n step: 1,\n range: { min: 0, max: 100 },\n tooltips: false,\n format: wNumb({\n decimals: 0\n }),\n cssPrefix: \"noUiText-\"\n\n });\n this.slider1.noUiSlider.on('update', function() {\n if (this.props.onSetOpacity) {\n this.props.onSetOpacity(this.slider1.noUiSlider.get());\n let children = this.slider1.getElementsByClassName('noUiText-handle')\n let value = this.slider1.noUiSlider.get();\n\n if (children.length > 0) {\n children[0].innerHTML = value;\n }\n }\n }.bind(this))\n\n let yearSliderOptions = this.buildSliderOptions(years);\n yearSliderOptions.start = this.props.year;\n nouislider.create(this.slider2, yearSliderOptions);\n\n this.slider2.noUiSlider.on('update', function() {\n if (this.props.onSetYear) {\n this.props.onSetYear(this.slider2.noUiSlider.get());\n let children = this.slider2.getElementsByClassName('noUiText-handle')\n let value = this.slider2.noUiSlider.get();\n\n if (children.length > 0) {\n children[0].innerHTML = value;\n }\n }\n }.bind(this))\n\n this.sliderToggleDisabled(years);\n }\n\n areYearsSame(array1, array2) {\n if (!Array.isArray(array1) && Array.isArray(array2) ) {\n return true;\n }\n return array1.length === array2.length && array1.every(function(value, index) { return value === array2[index]});\n }\n\n componentDidUpdate(prevProps) {\n const { years } = this.props;\n if (!Array.isArray(years)) {\n return;\n }\n if (this.areYearsSame(prevProps.years, years)) {\n return;\n }\n this.sliderToggleDisabled(years);\n }\n\n sliderToggleDisabled(years){\n if (years.length >= 2) {\n\n const oldValue = this.slider2.noUiSlider.get();\n this.slider2.noUiSlider.updateOptions(this.buildSliderOptions(years));\n if (years.indexOf(oldValue) === -1) {\n this.slider2.noUiSlider.set(years[years.length - 1]);\n }\n this.slider2.removeAttribute('disabled');\n } else {\n this.slider2.noUiSlider.updateOptions(this.buildSliderOptions(years));\n this.slider2.setAttribute('disabled', true);\n }\n }\n\n buildSliderOptions(years) {\n let options = {\n step: 1,\n tooltips: false,\n connect: [false, true], //ignored on update\n cssPrefix: \"noUiText-\"\n }\n if (years.length >= 2) {\n options.range = { min: 0, max: years.length - 1 };\n options.format = {\n to: function ( value ) {\n return years[value];\n },\n from: function ( value ) {\n return years.indexOf(value);\n }\n }\n } else {\n options.range = { min: 0, max: 2};\n options.format = {\n to: function (value) {\n return years[0];\n },\n from: function(value) {\n return 1;\n }\n }\n }\n return options;\n }\n\n render() {\n const { classes, t } = this.props;\n return (\n \n \n \n {t(\"map:opacity\")}\n
\n \n \n {t(\"map:year\")}\n
\n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nexport default withNamespaces()(withStyles(mapStyle)(LayerConfigPanel));","\nimport i18n from 'i18next';\nimport { API } from \"services/api\";\n\nimport { Languages as LanguagesFallback } from \"config/LanguageList.jsx\";\n\nfunction checkTrans(ns) {\n\n if (!i18n.hasResourceBundle('hr', ns)) { //if resource is missing for current languages\n API.getLanguages() //we will retrieve all the languages from db (because i18n.languages might miss some)\n .then(langs => {\n if (!langs) {\n console.warn('Loading Fallback languages!');\n langs = LanguagesFallback;\n }\n langs.forEach(function(lang){ // and then we retrieve translations for all the languages\n if (!i18n.hasResourceBundle(lang.code, ns)) {\n API.getTranslations(lang.code, ns)\n .then(data => {\n if (data) {\n i18n.addResourceBundle(lang.code, ns, data);\n } else {\n console.error('Cannot load translations for language: ' + lang.code + \", group: \" + ns);\n }\n });\n }\n });\n });\n }\n}\n\nexport { checkTrans }","import React from 'react'\nimport classNames from \"classnames\";\n\nimport PropTypes from \"prop-types\";\n\nimport Button from \"components/CustomButtons/Button.jsx\";\nimport LayerConfigPanel from \"components/Map/controls/LayerConfigPanel.jsx\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport MenuList from \"@material-ui/core/MenuList\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Grow from \"@material-ui/core/Grow\";\nimport Divider from \"@material-ui/core/Divider\";\nimport Popper from \"@material-ui/core/Popper\";\nimport Icon from \"@material-ui/core/Icon\";\nimport ClickAwayListener from \"@material-ui/core/ClickAwayListener\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport mapStyle from \"assets/jss/prehnit/components/mapStyle.jsx\";\n\nimport { checkTrans } from \"helpers\";\n\nclass LayerSelector extends React.Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n openLayers: false,\n openSettings: false,\n };\n\n this.handleClickLayers = this.handleClickLayers.bind(this);\n this.handleCloseLayers = this.handleCloseLayers.bind(this);\n\n this.handleClickSettings = this.handleClickSettings.bind(this);\n this.handleCloseSettings = this.handleCloseSettings.bind(this);\n\n this.handleSelect = this.handleSelect.bind(this);\n\n this.handleSetOpacity = this.handleSetOpacity.bind(this);\n this.handleSetYear = this.handleSetYear.bind(this);\n };\n\n handleClickLayers = () => {\n this.setState(state => ({\n openLayers: !state.openLayers,\n openSettings: false\n }));\n };\n\n handleClickSettings = () => {\n this.setState(state => ({\n openLayers: false,\n openSettings: !state.openSettings\n }));\n };\n\n handleCloseLayers = event => {\n if (this.anchorLayersEl.contains(event.target)) {\n return;\n }\n this.setState({ openLayers: false });\n };\n\n handleCloseSettings = event => {\n if (this.anchorSettingsEl.contains(event.target)) {\n return;\n }\n this.setState({ openSettings: false });\n };\n\n handleSelect(param) {\n this.setState({\n openLayers: false,\n });\n\n if (param && param.dataCodeGroup) {\n checkTrans(param.dataCodeGroup);\n }\n\n if (this.props && this.props.onSelect) { //callback\n this.props.onSelect(param);\n }\n };\n\n handleSetOpacity(value) {\n if (this.props && this.props.onSetOpacity) { //callback\n this.props.onSetOpacity(value / 100);\n }\n };\n\n handleSetYear(value) {\n if (this.props && this.props.onSetYear && this.props.layer) {\n let ind = this.props.layer.years.indexOf(value)\n if (this.props.layer.layerNames && ind <= this.props.layer.layerNames.length - 1) {\n let layerName = this.props.layer.layerNames[ind];\n\n this.props.onSetYear(layerName); //callback\n }\n }\n };\n\n getYear(value) {\n if (this.props && this.props.layer && this.props.layer.layerNames) {\n let ind = this.props.layer.layerNames.indexOf(value);\n return this.props.layer.years[ind];\n } else {\n return null;\n }\n }\n\n render() {\n const { openLayers, openSettings, selectedLayer } = this.state;\n\n const {\n t,\n classes,\n buttonText,\n buttonIcon,\n settingsIcon,\n layersList,\n buttonProps,\n dropup,\n // dropdownHeader,\n caret,\n hoverColor,\n dropPlacement,\n noLiPadding,\n innerDropDown,\n navDropdown\n } = this.props;\n\n const caretClasses = classNames({\n [classes.caret]: true,\n [classes.caretDropup]: dropup && !openLayers,\n [classes.caretActive]: openLayers && !dropup\n });\n\n const dropdownItem = classNames({\n [classes.dropdownItem]: true,\n [classes[hoverColor + \"Hover\"]]: true,\n [classes.noLiPadding]: noLiPadding\n });\n\n const layersMenu = (\n \n {this.props.layer ?\n this.handleSelect(null)}\n className={dropdownItem}\n >\n block\n {t(\"map:clear-selection\")}\n : null\n }\n {this.props.layer ?\n \n : null\n }\n\n {layersList.map((prop, key) => {\n if (prop.header) {\n return (\n \n {t(prop.displayCode)}\n \n );\n }\n if (prop.divider) {\n return (\n \n );\n\n } else if (prop.icon && prop.text) {\n return (\n this.handleSelect(prop)}\n className={dropdownItem}\n >\n {prop.icon}\n {prop.text}\n \n );\n\n }\n\n return (\n this.handleSelect(prop)}\n className={dropdownItem}\n title={t(prop.displayCode)}\n >\n {prop.icon ? prop.icon : \"layers\"}\n {t(prop.displayCode)}\n \n );\n })}\n \n );\n\n const settingsPanel = (\n \n );\n\n return (\n
\n
\n {\n this.anchorLayersEl = node;\n }}\n {...buttonProps}\n onClick={this.handleClickLayers}\n className={classNames(classes.firstButton, classes.mainButton)}\n disabled={this.props.disabled}\n >\n {buttonIcon !== undefined ? (\n \n ) : null}\n
\n {this.props.layer ? t(this.props.layer.displayCode) : this.props.title}\n
\n {caret ? : null}\n \n\n {\n this.anchorSettingsEl = node;\n }}\n {...buttonProps}\n className={classNames(classes.lastButton, classes.settingsButton)}\n onClick={this.handleClickSettings}\n disabled={this.props.layer ? false : true}\n >\n  \n {settingsIcon}\n \n\n
\n \n {({ TransitionProps, placement }) => (\n \n \n {innerDropDown ? (\n layersMenu\n ) : (\n \n {layersMenu}\n \n )}\n \n \n )}\n \n\n \n {({ TransitionProps, placement }) => (\n \n \n {innerDropDown ? (\n settingsPanel\n ) : (\n \n {settingsPanel}\n \n )}\n \n \n )}\n \n
\n );\n }\n}\n\nLayerSelector.defaultProps = {\n caret: true,\n dropup: false,\n hoverColor: \"primary\",\n buttonProps: {\n round: false,\n block: true,\n color: \"primary\",\n fullWidth: false\n },\n settingsIcon: \"settings\"\n};\n\nLayerSelector.propTypes = {\n classes: PropTypes.object.isRequired,\n hoverColor: PropTypes.oneOf([\n \"dark\",\n \"primary\",\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n \"rose\"\n ]),\n buttonText: PropTypes.node,\n buttonIcon: PropTypes.func,\n layersList: PropTypes.array,\n buttonProps: PropTypes.object,\n dropup: PropTypes.bool,\n dropdownHeader: PropTypes.node,\n rtlActive: PropTypes.bool,\n caret: PropTypes.bool,\n dropPlacement: PropTypes.oneOf([\n \"bottom\",\n \"top\",\n \"right\",\n \"left\",\n \"bottom-start\",\n \"bottom-end\",\n \"top-start\",\n \"top-end\",\n \"right-start\",\n \"right-end\",\n \"left-start\",\n \"left-end\"\n ]),\n noLiPadding: PropTypes.bool,\n innerDropDown: PropTypes.bool,\n navDropdown: PropTypes.bool,\n // This is a function that returns the clicked menu item\n onClick: PropTypes.func\n};\n\nexport default withNamespaces()(withStyles(mapStyle)(LayerSelector));","import React from 'react'\nimport classNames from \"classnames\";\n\nimport PropTypes from \"prop-types\";\n\nimport Button from \"components/CustomButtons/Button.jsx\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport MenuList from \"@material-ui/core/MenuList\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Grow from \"@material-ui/core/Grow\";\nimport Divider from \"@material-ui/core/Divider\";\nimport Popper from \"@material-ui/core/Popper\";\nimport Icon from \"@material-ui/core/Icon\";\nimport ClickAwayListener from \"@material-ui/core/ClickAwayListener\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport mapStyle from \"assets/jss/prehnit/components/mapStyle.jsx\";\n\n// import bordersConfig from \"config/BorderList.jsx\";\n\n// OpenLayers\nimport OlSourceTileWMS from \"ol/source/TileWMS\";\nimport OlLayerTile from \"ol/layer/Tile\" ;\n\nimport { API } from \"services/api\";\n\nconst gs_url = process.env.REACT_APP_GeoServer_Url;\n\n\nfunction geoServerLayer(url, layerName) {\n return new OlLayerTile({\n source: new OlSourceTileWMS({\n // crossOrigin: 'anonymous',\n params: {\n 'LAYERS': layerName,\n 'FORMAT': 'image/png'\n },\n url: url\n }),\n role: \"border\"\n })\n}\n\n\nclass BorderSelector extends React.Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n open: false,\n selectedLayer: undefined,\n };\n\n this.handleClick = this.handleClick.bind(this);\n this.handleClose = this.handleClose.bind(this);\n this.handleCloseMenu = this.handleCloseMenu.bind(this);\n\n this.borders = [];\n\n API.getBorders()\n .then( data => {\n let first = true;\n let lastGroupId = undefined;\n this.borders = [];\n\n if (data && data.length > 0) {\n data.forEach(function(border)\n {\n if (!first && border.group_id !== lastGroupId) {\n this.borders.push({ divider: true});\n lastGroupId = border.group_id\n }\n border['display'] = border.title; //change\n border['displayCode'] = border.title_trans_token; //change?\n border['layer'] = geoServerLayer(gs_url, border.gs_layer)\n\n this.borders.push(border);\n\n first = false;\n }.bind(this));\n }\n });\n }\n\n handleClick = () => {\n this.setState(state => ({\n open: !state.open,\n }));\n };\n\n handleClose = event => {\n if (this.anchorEl.contains(event.target)) {\n return;\n }\n this.setState({ open: false });\n };\n\n handleCloseMenu(param) {\n this.setState({\n open: false,\n selectedLayer: param\n });\n if (this.props && this.props.onClick) {\n this.props.onClick(param);\n }\n };\n\n render() {\n const { open } = this.state;\n\n const {\n t,\n classes,\n buttonText,\n buttonIcon,\n buttonProps,\n dropup,\n // dropdownHeader,\n caret,\n hoverColor,\n dropPlacement,\n noLiPadding,\n innerDropDown,\n navDropdown\n } = this.props;\n\n const caretClasses = classNames({\n [classes.caret]: true,\n [classes.caretDropup]: dropup && !open,\n [classes.caretActive]: open && !dropup\n });\n\n const dropdownItem = classNames({\n [classes.dropdownItem]: true,\n [classes[hoverColor + \"Hover\"]]: true,\n [classes.noLiPadding]: noLiPadding\n });\n\n const layersMenu = (\n \n {this.state.selectedLayer ?\n this.handleCloseMenu( null )}\n className={dropdownItem}\n >\n block\n {t(\"map:clear-selection\")}\n : null\n }\n {this.state.selectedLayer ?\n this.handleCloseMenu(\"divider\")}\n className={classes.dropdownDividerItem}\n />\n : null\n }\n {this.borders.map((prop, key) => {\n if (prop.header) {\n return (\n \n {t(prop.displayCode)}\n \n );\n }\n if (prop.divider) {\n return (\n this.handleCloseMenu(\"divider\")}\n className={classes.dropdownDividerItem}\n />\n );\n }\n\n return (\n this.handleCloseMenu(prop)}\n className={dropdownItem}\n >\n border_outer\n {prop.displayCode ? t(prop.displayCode) : prop.display}\n \n );\n })}\n \n );\n\n return (\n
\n
\n {\n this.anchorEl = node;\n }}\n {...buttonProps}\n onClick={this.handleClick}\n >\n {buttonIcon !== undefined ? (\n \n ) : null}\n
\n {/* {this.props.title} {this.state.selectedLayer ? ('(' + t(this.state.selectedLayer.displayCode) + ')') : null} */}\n {this.state.selectedLayer ? t(this.state.selectedLayer.displayCode) : this.props.title }\n
\n {caret ? : null}\n \n
\n \n {({ TransitionProps, placement }) => (\n \n \n {innerDropDown ? (\n layersMenu\n ) : (\n \n {layersMenu}\n \n )}\n \n \n )}\n \n
\n );\n }\n}\n\n\nBorderSelector.defaultProps = {\n caret: true,\n dropup: false,\n hoverColor: \"primary\",\n buttonProps: {\n round: false,\n block: true,\n color: \"primary\"\n },\n};\n\nBorderSelector.propTypes = {\n classes: PropTypes.object.isRequired,\n hoverColor: PropTypes.oneOf([\n \"dark\",\n \"primary\",\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n \"rose\"\n ]),\n buttonText: PropTypes.node,\n buttonIcon: PropTypes.func,\n layersList: PropTypes.array,\n buttonProps: PropTypes.object,\n dropup: PropTypes.bool,\n dropdownHeader: PropTypes.node,\n rtlActive: PropTypes.bool,\n caret: PropTypes.bool,\n dropPlacement: PropTypes.oneOf([\n \"bottom\",\n \"top\",\n \"right\",\n \"left\",\n \"bottom-start\",\n \"bottom-end\",\n \"top-start\",\n \"top-end\",\n \"right-start\",\n \"right-end\",\n \"left-start\",\n \"left-end\"\n ]),\n noLiPadding: PropTypes.bool,\n innerDropDown: PropTypes.bool,\n navDropdown: PropTypes.bool,\n // This is a function that returns the clicked menu item\n onClick: PropTypes.func\n};\n\nexport default withNamespaces()(withStyles(mapStyle)(BorderSelector));","import React from 'react'\nimport classNames from \"classnames\";\n\n// plugin that creates slider\nimport nouislider from \"nouislider\";\nimport wNumb from \"wnumb\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\nimport mapStyle from \"assets/jss/prehnit/components/mapStyle.jsx\";\n\nclass SwipeTool extends React.Component {\n\n componentDidMount() {\n this.slider = this.refs.slider;\n\n nouislider.create(this.slider, {\n start: this.props.sliderPosition,\n connect: [false, true],\n step: 1,\n range: { min: 0, max: 100 },\n tooltips: false,\n format: wNumb({\n decimals: 0\n }),\n cssPrefix: \"noUiBig-\"\n });\n this.slider.noUiSlider.on('update', function() {\n if (this.props.onSetPosition) {\n this.props.onSetPosition(this.slider.noUiSlider.get());\n }\n\n // let children = this.slider.getElementsByClassName('noUiBig-handle')\n // console.log(children);\n // let value = this.slider.noUiSlider.get()\n\n\n // if (children.length > 0) {\n // console.log('here', children[0]);\n // children[0].innerHTML = value;\n // }\n\n }.bind(this))\n\n let children = this.slider.getElementsByClassName('noUiBig-handle')\n if (children.length > 0) {\n children[0].innerHTML = '';\n children[0].classList.add(\"noSelect\")\n }\n\n }\n\n render() {\n const { classes } = this.props;\n return (\n
\n
\n
\n
\n
\n );\n }\n}\n\nexport default withStyles(mapStyle)(SwipeTool);","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withNamespaces } from \"react-i18next\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\nimport mapStyle from \"assets/jss/prehnit/components/mapStyle.jsx\";\n\nclass SwipeBar extends React.Component {\n\n render() {\n const { t, classes, offsetPerc, containerWidth } = this.props;\n\n const paddingLeft = 40; //defined in css\n const paddingRight = 20; //defined in css\n\n const pos = ((containerWidth - (paddingLeft + paddingRight ) ) * offsetPerc / 100) + (paddingLeft / 2) ;\n\n return (\n
\n
\n
\n
\n
\n );\n }\n}\n\nSwipeBar.propTypes = {\n id: PropTypes.string.isRequired,\n offsetPerc: PropTypes.number,\n containerWidth: PropTypes.number\n};\n\nexport default withNamespaces()(withStyles(mapStyle)(SwipeBar));","import React from 'react'\nimport classNames from \"classnames\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport ClickAwayListener from \"@material-ui/core/ClickAwayListener\";\n\nimport mapStyle from \"assets/jss/prehnit/components/mapStyle.jsx\";\n\nimport { METERS_PER_UNIT } from \"ol/proj/Units\";\n\nimport { withNamespaces } from \"react-i18next\";\nimport numbro from 'numbro';\n\nclass MapScale extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n value: '',\n tempValue: '10000',\n open: false\n }\n\n this.dpiMeasure = null;\n\n this.dpiMeasureRef = element => {\n this.dpiMeasure = element\n };\n\n this._calculateDPI = this._calculateDPI.bind(this);\n this.getDPI = this.getDPI.bind(this);\n this.handleScaleClick = this.handleScaleClick.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleClose = this.handleClose.bind(this);\n\n\n }\n\n getDPI() {\n // Returns the last cached DPI value.\n //\n if (!this.dpi) {\n this.dpi = this._calculateDPI();\n }\n return this.dpi;\n };\n\n _calculateDPI() {\n // Returns the DPI as calculated by the browser.\n //\n if (this.dpiMeasure) {\n var el = this.dpiMeasure;\n var ppi = window.devicePixelRatio || 1.0;\n var dpi = parseFloat(el.offsetWidth) * ppi;\n if (dpi <= 0) {\n dpi = 96;\n }\n return dpi;\n }\n\n return 96;\n\n };\n\n getMapScale(units, res, zoom) {\n\n let customScales = {\n \"8\": 2000000,\n \"9\": 1000000,\n \"10\": 500000,\n \"11\": 250000,\n \"12\": 150000,\n \"13\": 75000,\n \"14\": 50000,\n \"15\": 20000,\n \"16\": 10000,\n \"17\": 5000,\n \"18\": 2000\n }\n\n let zoomRounded = Math.round(zoom);\n let customScale = customScales[zoomRounded];\n return numbro(customScale).format({ mantissa: 0 });\n\n // console.log('Scaler', units, res);\n // Return map scale denominator, relying on dpi provided by the browser.\n //\n // if (this.state.value) {\n // return this.state.value;\n // } else {\n // var dpi = this.getDPI();\n // var mpu = METERS_PER_UNIT[units];\n // var scale = res * mpu * 39.37 * dpi;\n\n // //console.log(zoom, res, Math.round(scale));\n // return numbro(Math.round(scale)).format({average: true, mantissa: 0});\n // }\n };\n\n setMapScale(units, scale) {\n // Sets the resolution using given \"scale\" denominator (1:x).\n //\n var dpi = this.getDPI();\n var mpu = METERS_PER_UNIT[units];\n var res = scale / (mpu * 39.37 * dpi);\n\n if (this.props.onChangeScale) {\n this.props.onChangeScale(res);\n }\n };\n\n handleScaleClick() {\n this.setState((state) => {\n return {\n open: true,\n tempValue: state.value\n }\n });\n }\n\n handleChange(e) {\n const regex = /^[0-9]+$/g\n const found = e.target.value.match(regex);\n if (found) {\n this.setState({\n tempValue: e.target.value\n })\n }\n };\n\n handleKeyDown(e) {\n const { projUnits } = this.props;\n\n if (e.key === 'Enter') {\n this.setState({\n open: false,\n value: e.target.value\n })\n if (this.props.onChangeScale) {\n var res = this.setMapScale(projUnits, e.target.value)\n this.props.onChangeScale(res);\n }\n } else if (e.key === \"Escape\") {\n this.setState({\n open: false\n })\n }\n }\n\n handleClose(e) {\n this.setState({\n open: false\n })\n }\n\n render() {\n const { t, classes, projUnits, viewResolution, zoom } = this.props;\n\n return (\n
\n
\n
\n \n
\n {t(\"map:scale\")} ~ 1 : {this.state.open ?\n \n : {this.getMapScale(projUnits, viewResolution, zoom)}\n\n }\n
\n
\n
\n
\n );\n }\n}\n\nexport default withNamespaces()(withStyles(mapStyle)(MapScale));","import React from 'react'\nimport classNames from \"classnames\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\nimport mapStyle from \"assets/jss/prehnit/components/mapStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nclass ShowCoords extends React.Component {\n\n chooseCoordsX() {\n return this.props.mouseCoords ? this.props.mouseCoords[0] : this.props.centerCoords[0];\n }\n\n chooseCoordsY() {\n return this.props.mouseCoords ? this.props.mouseCoords[1] : this.props.centerCoords[1];\n }\n\n render() {\n const { t, classes } = this.props;\n return (\n
\n {t(\"map:position\")}: \n { Math.round(this.chooseCoordsX()) }, { Math.round(this.chooseCoordsY()) }\n
\n );\n }\n}\n\nexport default withNamespaces()(withStyles(mapStyle)(ShowCoords));","import React from 'react'\n\nimport { withNamespaces } from \"react-i18next\";\n\nclass LayerInfo extends React.Component {\n render() {\n const { t, layer } = this.props;\n\n return (\n
{ layer.descCode ? t(layer.descCode) : layer.desc}
\n );\n }\n}\n\nexport default withNamespaces()(LayerInfo);","import \"isomorphic-fetch\"\n\nexport const geoserverService = {\n WMS: {\n getCapabilities,\n getFeatureInfo,\n getLegendGraphic\n },\n WFS: {\n getFeatures\n }\n}\n\nfunction getFeatureInfo(query_layers, point) {\n let headers = [];\n headers['Content-Type'] = 'text/plain';\n headers['Accept'] = 'application/json'\n\n const requestOptions = {\n method: 'GET',\n headers: headers\n }\n\n let layers = query_layers.join(',');\n let bbox = [point[0] - 50 ,point[1] - 50, point[0] + 50, point[1] + 50].join(',');\n\n const url = process.env.REACT_APP_GeoServer_Url\n + \"?service=wms\"\n + \"&version=1.1.1\"\n + \"&request=GetFeatureInfo\"\n\n + \"&layers=\" + layers\n + \"&styles=\"\n + \"&srs=EPSG:3765\"\n + \"&bbox=\" + bbox\n + \"&width=101\"\n + \"&height=101\"\n + \"&query_layers=\" + layers\n + \"&info_format=application/json\"\n + \"&feature_count=50\"\n + \"&x=50\"\n + \"&y=50\"\n ;\n\n return fetch(url, requestOptions)\n .then( response => {\n return response.text().then( text => {\n const data = text && JSON.parse(text)\n if (!response.ok) {\n const error = (data && data.message) || response.statusText;\n return Promise.reject(error);\n }\n\n return data;\n })\n\n })\n .catch( function(error) {\n\n });\n}\n\n\nfunction getLegendGraphic(query_layer) {\n let headers = [];\n headers['Content-Type'] = 'text/plain';\n headers['Accept'] = 'application/json';\n\n const requestOptions = {\n method: 'GET',\n headers: headers\n }\n\n const url = process.env.REACT_APP_GeoServer_Url\n + \"?service=wms\"\n + \"&version=1.1.1\"\n + \"&request=GetLegendGraphic\"\n\n + \"&layer=\" + query_layer\n + \"&width=20\"\n + \"&height=20\"\n + \"&format=application/json\"\n // + \"&format=image/png\"\n ;\n\n // console.log(url);\n\n // return fetch(url, requestOptions)\n // .then(response=>{return response.blob()})\n // .catch( function(error) {\n // });\n\n return fetch(url, requestOptions)\n .then( response => {\n return response.text().then( text => {\n const data = text\n if (!response.ok) {\n const error = (data && data.message) || response.statusText;\n return Promise.reject(error);\n }\n\n return data;\n })\n\n })\n .catch( function(error) {\n\n });\n\n}\n\nfunction getCapabilities() {\n let headers = [];\n headers['Content-Type'] = 'text/plain';\n headers['Accept'] = 'text/xml';\n\n const requestOptions = {\n method: 'GET',\n headers: headers\n }\n\n const url = process.env.REACT_APP_GeoServer_Url\n + \"?service=wms\"\n + \"&version=1.3.0\"\n + \"&request=GetCapabilities\"\n ;\n\n return fetch(url, requestOptions)\n .then( response => {\n return response.text().then( text => {\n const data = text\n if (!response.ok) {\n const error = (data && data.message) || response.statusText;\n return Promise.reject(error);\n }\n\n return data;\n })\n\n })\n .catch( function(error) {\n\n });\n}\n\nfunction getFeatures(query_layer) {\n let headers = [];\n headers['Content-Type'] = 'text/plain';\n headers['Accept'] = 'application/json';\n\n const requestOptions = {\n method: 'GET',\n headers: headers\n }\n\n const url = process.env.REACT_APP_GeoServer_WFS_Url\n + \"?service=wfs\"\n + \"&version=1.0.0\"\n + \"&request=GetFeature\"\n + \"&typeName=\" + query_layer\n + \"&maxFeatures=999\"\n + \"&outputFormat=application/json\"\n ;\n\n return fetch(url, requestOptions)\n .then( response => {\n return response.text().then( text => {\n const data = text\n if (!response.ok) {\n const error = (data && data.message) || response.statusText;\n return Promise.reject(error);\n }\n\n return data;\n })\n\n })\n .catch( function(error) {\n\n });\n\n}","import React from 'react'\n\nimport Typography from \"@material-ui/core/Typography\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport mapStyle from \"assets/jss/prehnit/components/mapStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport { geoserverService } from \"services/geoserver\";\n\nclass LayerLegend extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n layerName: this.props.layer.layerName,\n rules : [],\n legend:
,\n image: undefined\n }\n\n this.parseRules = this.parseRules.bind(this);\n }\n\n legendEntry(color, text, kod, showCode) {\n const { classes } = this.props;\n return (\n
\n
 
\n {text}{showCode === \"1\" ? ({kod}) : null}\n
\n );\n }\n\n parseRules(rules) {\n const { t, classes } = this.props;\n let entries = [];\n let ns = this.props.layer.dataCodeGroup;\n\n rules.forEach(function(rule) {\n if (rule.symbolizers[0].Polygon) {\n let color = rule.symbolizers[0].Polygon.fill;\n let kod = rule.name;\n if (kod) {\n entries.push(this.legendEntry(color, t(ns+\":\"+kod), kod, this.props.layer.showCode));\n }\n } else if (rule.symbolizers[0].Raster) {\n let colormap_entries = rule.symbolizers[0].Raster.colormap.entries\n colormap_entries.forEach(function(ce) {\n if (ce.label !== '') {\n entries.push(this.legendEntry(ce.color, t(ns+\":\"+ce.quantity), ce.quantity, this.props.layer.showCode))\n }\n }.bind(this));\n }\n\n }.bind(this));\n return (\n
\n {entries}\n
\n );\n\n }\n\n render() {\n\n if (this.state.layerName !== this.props.layer.layerName || this.state.rules.length === 0) {\n geoserverService.WMS.getLegendGraphic(this.props.layer.layerName)\n .then (data => {\n data = JSON.parse(data);\n\n if (data && data.Legend && Array.isArray(data.Legend) && data.Legend.length > 0 ) {\n let rules = data.Legend[0].rules;\n this.setState({\n rules: rules,\n layerName: this.props.layer.layerName\n });\n }\n\n });\n\n }\n\n let legend = this.parseRules(this.state.rules);\n return (\n
\n {legend}\n
\n );\n }\n}\n\nexport default withNamespaces()(withStyles(mapStyle)(LayerLegend));","import OlSourceOSM from \"ol/source/OSM\";\nimport OlLayerTile from \"ol/layer/Tile\" ;\n\nconst BaseLayerListFallback = [\n {\n id: \"101\",\n display: \"OSM (default)\",\n layer: new OlLayerTile({\n source: new OlSourceOSM(),\n role: \"base\"\n })\n }\n];\n\nexport default BaseLayerListFallback;\n","import React, { Component } from \"react\";\nimport numbro from 'numbro';\n\n// OpenLayers\nimport OlMap from \"ol/Map\";\nimport OlView from \"ol/View\";\nimport OlCollection from \"ol/Collection\";\nimport OlFormatJSON from \"ol/format/GeoJSON\";\n\nimport OlStyle from 'ol/style/Style';\nimport OlStroke from 'ol/style/Stroke';\nimport OlFill from 'ol/style/Fill';\nimport OlRegularShape from 'ol/style/RegularShape';\n\nimport OlSourceTileWMS from \"ol/source/TileWMS\";\nimport OlSourceVector from \"ol/source/Vector\";\nimport OlSourceOSM from \"ol/source/OSM\";\nimport OlSourceRaster from \"ol/source/Raster\";\nimport OlSourceStamen from \"ol/source/Stamen\";\n\nimport OlLayerTile from \"ol/layer/Tile\";\nimport OlLayerVector from \"ol/layer/Vector\";\nimport OlLayerImage from \"ol/layer/Image\";\n\nimport { Zoom, Attribution, FullScreen, ScaleLine } from 'ol/control.js';\n\nimport { defaults as OlInteractionDefaults } from 'ol/interaction';\n\nimport proj4 from 'proj4';\nimport { register as OlRegister } from 'ol/proj/proj4'\nimport { get as OlGetProjection } from 'ol/proj'\n\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\n\n// import RotateNorthControl from './controls/RotateNorthControl.jsx';\nimport TopMenu from './TopMenu.jsx';\nimport BottomMenu from \"./BottomMenu.jsx\";\nimport SideContent from \"./SideContent.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\n// @material-ui/core components\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Icon from \"@material-ui/core/Icon\";\nimport IconButton from '@material-ui/core/IconButton';\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\nimport mapStyle from \"assets/jss/prehnit/components/mapStyle.jsx\";\n\nimport BaseLayerSwitcher from './controls/BaseLayerSwitcher';\nimport LayerSelector from \"./controls/LayerSelector\";\nimport BorderSelector from './controls/BorderSelector';\nimport SwipeTool from \"./controls/SwipeTool.jsx\";\nimport SwipeBar from \"./controls/SwipeBar.jsx\";\nimport MapScale from \"./controls/MapScale.jsx\";\nimport OverlaySwitcher from \"./controls/OverlaySwitcher.jsx\";\nimport ShowCoords from \"./controls/ShowCoords.jsx\";\nimport LayerInfo from \"./controls/LayerInfo.jsx\";\nimport LayerLegend from \"./controls/LayerLegend.jsx\";\n\nimport BaseLayerListFallback from \"config/BaseLayerList.jsx\";\n\nimport { geoserverService } from \"services/geoserver\";\nimport { API } from \"services/api\";\n\nimport { checkTrans } from 'helpers';\n\nconst url = process.env.REACT_APP_GeoServer_Url;\n\nclass PublicMap extends Component {\n constructor(props) {\n super(props);\n\n const { i18n, t, classes } = props;\n\n this.padding = 30;\n\n this.classes = classes;\n this.t = t;\n\n // state\n this.state = {\n map: undefined,\n viewResolution: 611.5,\n viewCenter: [456200, 5022012],\n projUnits: \"m\",\n zoom: 8,\n lng: i18n.language,\n overlays: [],\n selectedOverlayFeature: undefined,\n layers: [],\n baseLayers: this.getBaseLayers(),\n selectedBaseLayer: BaseLayerListFallback[0],\n selectedBorderLayer: undefined,\n selectedPrimaryLayer: undefined,\n primaryLayerOpacity: 1,\n primaryLayerName: undefined,\n selectedSecondaryLayer: undefined,\n secondaryLayerOpacity: 1,\n secondaryLayerName: undefined,\n height: 0,\n width: 0,\n swipetoolperc: 50,\n feature: undefined,\n\n pointerLeft: 0,\n pointerTop: 0,\n\n showPrimaryLayerInfo: false,\n showPrimaryLayerLegend: false,\n\n showFeatureInfo: false\n };\n\n this.userBaseLayers = [];\n this.systemBaseLayers = [];\n this.getBaseLayers = this.getBaseLayers.bind(this);\n this.setBaseLayer = this.setBaseLayer.bind(this);\n this.addUserBaseLayer = this.addUserBaseLayer.bind(this);\n this.removeUserBaseLayer = this.removeUserBaseLayer.bind(this);\n this.getDefaultBaseLayer = this.getDefaultBaseLayer.bind(this);\n this.handleAddUserFeatures = this.handleAddUserFeatures.bind(this);\n this.handleRemoveUserFeatures = this.handleRemoveUserFeatures.bind(this);\n this.handleSelectUserFeature = this.handleSelectUserFeature.bind(this);\n this.setBorder = this.setBorder.bind(this);\n this.setPrimaryLayer = this.setPrimaryLayer.bind(this);\n this.setPrimaryLayerOpacity = this.setPrimaryLayerOpacity.bind(this);\n this.setPrimaryLayerVersion = this.setPrimaryLayerVersion.bind(this);\n this.setSecondaryLayer = this.setSecondaryLayer.bind(this);\n this.setSecondaryLayerOpacity = this.setSecondaryLayerOpacity.bind(this);\n this.setSecondaryLayerVersion = this.setSecondaryLayerVersion.bind(this);\n this.setMapScale = this.setMapScale.bind(this);\n this.handleSetSwipePosition = this.handleSetSwipePosition.bind(this);\n this.handleViewChange = this.handleViewChange.bind(this);\n this.togglePrimaryLayerInfo = this.togglePrimaryLayerInfo.bind(this);\n this.togglePrimaryLayerLegend = this.togglePrimaryLayerLegend.bind(this);\n this.toggleSecondaryLayerInfo = this.toggleSecondaryLayerInfo.bind(this);\n this.toggleSecondaryLayerLegend = this.toggleSecondaryLayerLegend.bind(this);\n this.handlePointerMove = this.handlePointerMove.bind(this);\n this.handleCloseFeatureInfo = this.handleCloseFeatureInfo.bind(this);\n this.closePrimarySideBar = this.closePrimarySideBar.bind(this);\n this.closeSecondarySideBar = this.closeSecondarySideBar.bind(this);\n\n //define proj\n proj4.defs(\"EPSG:3765\", \"+proj=tmerc +lat_0=0 +lon_0=16.5 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs\");\n OlRegister(proj4);\n this.htrs96 = OlGetProjection('EPSG:3765')\n }\n\n /* *** Base Layers *** */\n\n genBaseLayer(source, showgray) {\n if (showgray) {\n return new OlLayerImage({\n source: this.genGrayRaster(source),\n role: \"base\"\n });\n } else {\n return new OlLayerTile({\n source: source,\n role: \"base\"\n });\n }\n }\n\n genGrayRaster(source) {\n return new OlSourceRaster({\n sources: [source],\n operation: function (pixels) {\n var pixel = pixels[0];\n\n var red = pixel[0];\n var green = pixel[1];\n var blue = pixel[2];\n\n var v = (0.2126729 * red + 0.7151522 * green + 0.0721750 * blue);\n if (v === 0.0) {\n v = 255.0;\n }\n\n pixel[0] = pixel[1] = pixel[2] = v;\n pixel[3] = 255;\n\n return pixel;\n }\n })\n }\n\n geoServerLayer(url, layerName, opacity, role) {\n if (opacity === undefined || opacity === null) {\n opacity = 1;\n }\n return new OlLayerTile({\n opacity: opacity,\n source: new OlSourceTileWMS({\n params: {\n 'LAYERS': layerName,\n 'FORMAT': 'image/png'\n },\n url: url\n }),\n role: role\n })\n }\n\n loadBaseLayers() {\n this.systemBaseLayers = [];\n API.getBaseLayers()\n .then(data => {\n if (data && data.length > 0) {\n data.forEach(function (layer) {\n let d = {}\n d.id = layer.id;\n d.display = layer.title;\n d.displayCode = layer.title_trans_token;\n\n let source = undefined;\n switch (layer.type_title) {\n case 'TileWMS':\n source = new OlSourceTileWMS({\n url: layer.url,\n params: { 'LAYERS': layer.layer },\n projection: layer.projection\n })\n break;\n case 'OSM':\n source = new OlSourceOSM();\n break;\n case 'Stamen':\n source = new OlSourceStamen({\n layer: layer.layer\n })\n break;\n default:\n break;\n }\n\n d.layer = this.genBaseLayer(source, layer.showgray);\n\n this.systemBaseLayers.push(d);\n\n }.bind(this));\n this.setState({\n baseLayers: this.systemBaseLayers,\n selectedBaseLayer: this.systemBaseLayers[0]\n })\n }\n });\n }\n\n getBaseLayers() {\n let layers = [];\n layers.concat(this.systemBaseLayers);\n layers.concat(this.userBaseLayers);\n\n return layers;\n };\n\n setBaseLayer(baseLayer) {\n this.setState({\n selectedBaseLayer: baseLayer\n });\n };\n\n addUserBaseLayer(baseLayer) {\n // console.log('Map: addUserBaseLayer', baseLayer);\n this.userBaseLayers.push(baseLayer);\n this.setState({\n baseLayers: this.getBaseLayers()\n });\n };\n\n removeUserBaseLayer(baseLayer) {\n //console.log('Map: removeUserBaseLayer', baseLayer, this.userBaseLayers);\n this.userBaseLayers = this.userBaseLayers.filter(x => x.id !== baseLayer.id);\n };\n\n getDefaultBaseLayer() {\n if (this.systemBaseLayers && this.systemBaseLayers.length > 0) {\n return this.systemBaseLayers[0]\n }\n }\n\n /* **** Layers *** */\n\n loadLayers() {\n let layers = [];\n API.getLayers()\n .then(data => {\n if (data && data.length > 0) {\n\n let first = true;\n let currentGroup = -1;\n\n let defaultPrimaryLayerVersion = undefined;\n let defaultPrimaryLayerIsSet = false;\n let defaultSecondaryLayerVersion = undefined;\n let defaultSecondaryLayerIsSet = false;\n\n let type_data = data.reduce(function (result, current) {\n result[current['type_id']] = result[current['type_id']] || [];\n result[current['type_id']].push(current);\n return result;\n }, []);\n\n type_data.forEach(function (type) {\n\n type.forEach(function(layer) {\n if (layer.layer_defaultprimary === 1) {\n defaultPrimaryLayerVersion = layer.gs_layer;\n }\n if (layer.layer_defaultsecondary === 1) {\n defaultSecondaryLayerVersion = layer.gs_layer;\n }\n });\n\n if (type.length > 0) {\n\n if (type[0].group_id !== currentGroup) {\n if (first) {\n first = false;\n } else {\n layers.push({ divider: true });\n }\n layers.push({ header: true, displayCode: type[0].group_title_trans_token });\n currentGroup = type[0].group_id;\n }\n\n let d = {}\n let last = type.length - 1;\n\n d.displayCode = type[0].type_title_trans_token;\n d.showCode = type[0].type_showcode;\n d.years = type.map(x => { return x.layer_title; });\n d.layerNames = type.map(x => { return x.gs_layer; });\n d.layerName = type[last].gs_layer;\n d.layer = this.geoServerLayer(url, type[last].gs_layer, 0.8);\n d.desc = type[last].layer_desc;\n d.descCode = type[last].layer_desc_trans_token;\n d.dataCodeGroup = type[0].data_trans_token_group;\n\n layers.push(d);\n\n if (defaultPrimaryLayerVersion && !defaultPrimaryLayerIsSet) {\n this.setPrimaryLayer( d, defaultPrimaryLayerVersion);\n defaultPrimaryLayerIsSet = true;\n }\n\n if (defaultSecondaryLayerVersion && !defaultSecondaryLayerIsSet) {\n this.setSecondaryLayer( d, defaultSecondaryLayerVersion);\n defaultSecondaryLayerIsSet = true;\n }\n }\n }.bind(this));\n\n this.setState({\n layers: layers,\n })\n }\n });\n }\n\n /* *** Overlays - User Features *** */\n\n handleRemoveUserFeatures(param) {\n // console.log('Map: handleRemoveUserFeatures', param);\n let features = this.state.userFeaturesLayer.getSource().getFeatures();\n let newFeatures = features.filter(x => x.get('filename') != param.name);\n\n let olFeatureCollection = new OlCollection(newFeatures);\n\n this.state.userFeaturesLayer.setSource(\n new OlSourceVector({\n features: olFeatureCollection,\n featureProjection: this.htrs96\n })\n );\n\n this.setState(state => {\n let overlays = state.overlays.filter(x => x.name != param.name);\n state.userFeaturesLayer.setSource(\n new OlSourceVector({\n features: olFeatureCollection,\n featureProjection: this.htrs96\n })\n );\n return {\n overlays: overlays,\n userFeaturesLayer: state.userFeaturesLayer\n }\n });\n };\n\n handleAddUserFeatures(olNewFeatures, name) {\n // console.log('Map: handleAddUserFeatures', olNewFeatures, name);\n if (!olNewFeatures) {\n return;\n }\n\n olNewFeatures.forEach(function (f) {\n f.set('filename', name);\n });\n\n let olFeatureCollection = this.state.userFeaturesLayer.getSource().getFeaturesCollection()\n if (olFeatureCollection) {\n olFeatureCollection = olFeatureCollection.extend(olNewFeatures);\n } else {\n olFeatureCollection = new OlCollection(olNewFeatures);\n }\n\n var tmpVectorSource = new OlSourceVector({\n features: olNewFeatures,\n featureProjection: this.htrs96\n })\n\n this.map.getView().fit(tmpVectorSource.getExtent(), this.map.getSize());\n\n this.setState(state => {\n state.overlays.push({ name: name })\n state.userFeaturesLayer.setSource(\n new OlSourceVector({\n features: olFeatureCollection,\n featureProjection: this.htrs96\n })\n );\n return {\n overlays: state.overlays,\n userFeaturesLayer: state.userFeaturesLayer\n }\n });\n };\n\n handleSelectUserFeature(overlay) {\n // console.log('Map: handleSelectUserFeature', overlay);\n\n let olFeatures = this.state.userFeaturesLayer.getSource().getFeatures().filter(f => f.get('filename') == overlay.name);\n\n if (olFeatures.length > 0) {\n var tmpVectorSource = new OlSourceVector({\n features: olFeatures,\n featureProjection: this.htrs96\n })\n\n this.map.getView().fit(tmpVectorSource.getExtent(), this.map.getSize());\n }\n }\n\n /* *** Borders *** */\n\n setBorder(borderLayer) {\n this.setState({\n selectedBorderLayer: borderLayer\n });\n }\n\n /* *** Primary Layer *** */\n\n setPrimaryLayer(layer, layerName) {\n // console.log('Map: Primary layer ', layer);\n if (layer && layer.dataCodeGroup) {\n checkTrans(layer.dataCodeGroup);\n }\n\n this._setSelectedFeature(null, null);\n\n if (!layerName) {\n if (layer && layer.layerNames && layer.layerNames.length > 0) {\n let last = layer.layerNames.length - 1;\n layerName = layer.layerNames[last];\n }\n }\n\n this.setState({\n selectedPrimaryLayer: layer,\n primaryLayerName: layerName,\n });\n }\n\n setPrimaryLayerOpacity(value) {\n this.setState({\n primaryLayerOpacity: value\n });\n }\n\n setPrimaryLayerVersion(value) {\n this.setState({\n primaryLayerName: value\n });\n }\n\n /* *** Secondary Layer *** */\n setSecondaryLayer(layer, layerName) {\n if (layer && layer.dataCodeGroup) {\n checkTrans(layer.dataCodeGroup);\n }\n\n this._setSelectedFeature(null, null);\n\n if (!layerName) {\n if (layer && layer.layerNames && layer.layerNames.length > 0) {\n let last = layer.layerNames.length - 1;\n layerName = layer.layerNames[last];\n }\n }\n\n this.setState({\n selectedSecondaryLayer: layer,\n secondaryLayerName: layerName,\n feature: null\n });\n }\n\n setSecondaryLayerOpacity(value) {\n this.setState({\n secondaryLayerOpacity: value\n });\n }\n\n setSecondaryLayerVersion(value) {\n this.setState({\n secondaryLayerName: value\n });\n }\n\n togglePrimaryLayerInfo() {\n this.setState(state => ({ showPrimaryLayerInfo: !state.showPrimaryLayerInfo }));\n }\n\n togglePrimaryLayerLegend() {\n this.setState(state => ({ showPrimaryLayerLegend: !state.showPrimaryLayerLegend }));\n }\n\n closePrimarySideBar() {\n this.setState({\n showPrimaryLayerInfo: false,\n showPrimaryLayerLegend: false\n });\n }\n\n toggleSecondaryLayerInfo() {\n this.setState(state => ({ showSecondaryLayerInfo: !state.showSecondaryLayerInfo }));\n }\n\n toggleSecondaryLayerLegend() {\n this.setState(state => ({ showSecondaryLayerLegend: !state.showSecondaryLayerLegend }));\n }\n\n closeSecondarySideBar() {\n this.setState({\n showSecondaryLayerInfo: false,\n showSecondaryLayerLegend: false\n });\n }\n\n findLayer(layers, role) {\n let layer = null;\n let index = null;\n layers.forEach((el, ind, arr) => {\n if (el.get('role') === role) {\n index = ind;\n }\n });\n if (index) {\n layer = layers.item(index);\n }\n return layer;\n }\n\n refreshLayers(chBase, chPrim, chPrimOp, chSecond, chSecondOp, chBorder) {\n var layers = this.map.getLayers();\n if (chBase) {\n let baseLayer = this.state.selectedBaseLayer.layer\n layers.setAt(0, baseLayer);\n }\n\n if (chPrim) {\n let currentPrimary = this.findLayer(layers, \"primary\");\n\n if (this.state.selectedPrimaryLayer) {\n layers.insertAt(1, this.geoServerLayer(url, this.state.primaryLayerName, this.state.primaryLayerOpacity, \"primary\"));\n }\n\n if (currentPrimary) {\n layers.remove(currentPrimary);\n }\n }\n else if (chPrimOp) {\n let currentPrimary = this.findLayer(layers, \"primary\");\n currentPrimary.setOpacity(this.state.primaryLayerOpacity);\n }\n\n if (chSecond) {\n let currentSecondaryLayer = this.findLayer(layers, \"secondary\");\n if (currentSecondaryLayer) {\n layers.remove(currentSecondaryLayer);\n }\n\n if (this.state.selectedSecondaryLayer) {\n this.secondaryLayer = this.geoServerLayer(url, this.state.secondaryLayerName, this.state.secondaryLayerOpacity, \"secondary\");\n layers.insertAt(2, this.secondaryLayer);\n\n this.secondaryLayer.on('precompose', function (event) {\n var ctx = event.context;\n // slider handle width is 30px, handle left offset from window is 15px\n var leftOffset = (30 + 15) / 2;\n var width = ((ctx.canvas.width - (2 * this.padding)) * this.state.swipetoolperc / 100) + leftOffset;\n\n ctx.save();\n ctx.beginPath();\n ctx.rect(width, 0, ctx.canvas.width - width, ctx.canvas.height);\n ctx.clip();\n }.bind(this));\n\n this.secondaryLayer.on('postcompose', function (event) {\n var ctx = event.context;\n ctx.restore();\n });\n }\n } else if (chSecondOp) {\n let currentSecondaryLayer = this.findLayer(layers, \"secondary\");\n currentSecondaryLayer.setOpacity(this.state.secondaryLayerOpacity);\n }\n\n if (chBorder) {\n let currentBorderLayer = this.findLayer(layers, \"border\");\n if (currentBorderLayer) {\n layers.remove(currentBorderLayer);\n }\n if (this.state.selectedBorderLayer) {\n layers.push(this.state.selectedBorderLayer.layer);\n }\n }\n }\n\n refreshControls() {\n this.map.removeControl(this.controlZoom);\n this.controlZoom = new Zoom({ zoomInTipLabel: this.t(\"map:zoom-in\"), zoomOutTipLabel: this.t(\"map:zoom-out\") });\n this.map.addControl(this.controlZoom);\n\n this.map.removeControl(this.controlAttribution);\n this.controlAttribution = new Attribution({ collapsible: false, tipLabel: this.t(\"map:attributions\") });\n this.map.addControl(this.controlAttribution);\n\n // this.map.removeControl(this.controlRotate);\n // this.controlRotate = new Rotate({tipLabel: this.t(\"map:rotate-reset\")});\n // this.map.addControl(this.controlRotate);\n\n this.map.removeControl(this.controlScaleLine);\n this.map.addControl(this.controlScaleLine);\n\n // this.map.removeControl(this.controlFullScreen);\n // this.controlFullScreen = new FullScreen({tipLabel: this.t(\"map:full-screen\")});\n // this.map.addControl(this.controlFullScreen);\n\n }\n\n componentDidMount() {\n //console.log(\"componentDidMount\");\n\n const t = this.t;\n\n this.controlZoom = new Zoom({ zoomInTipLabel: t(\"map:zoom-in\"), zoomOutTipLabel: t(\"map:zoom-out\") });\n this.controlAttribution = new Attribution({ collapsible: false, tipLabel: t(\"map:attributions\") });\n //this.controlRotate = new Rotate({tipLabel: t(\"map:rotate-reset\")});\n this.controlFullScreen = new FullScreen({ tipLabel: t(\"map:full-screen\") });\n this.controlScaleLine = new ScaleLine({});\n\n this.selectStyle = new OlStyle({\n stroke: new OlStroke({\n color: 'rgba(255,0,255,1)',\n width: 1\n }),\n fill: new OlFill({\n color: 'rgba(255,0,255,0.5)'\n })\n });\n\n this.userStyle = new OlStyle({\n stroke: new OlStroke({ color: 'rgba(254,0,0,1)', width: 2 }),\n fill: new OlFill({ color: 'rgba(254,0,0,0.1)' }),\n image: new OlRegularShape({\n fill: new OlFill({ color: 'rgba(254,0,0,0.9)' }),\n stroke: new OlStroke({ color: 'black', width: 2 }),\n points: 4,\n radius: 10,\n angle: Math.PI / 4\n })\n });\n\n let userFeaturesLayer = new OlLayerVector({\n source: new OlSourceVector({\n features: [],\n featureProjection: this.htrs96\n }),\n role: \"user\",\n style: this.userStyle\n });\n\n let selectedFeaturesLayer = new OlLayerVector({\n source: new OlSourceVector({\n features: [],\n featureProjection: this.htrs96\n }),\n role: \"selected\",\n style: this.selectStyle\n })\n\n this.view = new OlView({\n center: this.state.viewCenter,\n zoom: this.state.zoom,\n // extent: [1389685, 5200000, 2346662, 5973349],\n extent: [168615, 4687861, 847060, 5238175],\n projection: this.htrs96,\n minZoom: 8,\n maxZoom: 18\n });\n\n // create map object with layer\n this.map = new OlMap({\n interactions: OlInteractionDefaults({\n doubleClickZoom: false,\n altShiftDragRotate: false,\n pinchRotate: false\n }),\n // target: this.refs.mapContainer,\n controls: [this.controlZoom, this.controlAttribution],\n target: null,\n layers: [this.state.selectedBaseLayer.layer, selectedFeaturesLayer, userFeaturesLayer],\n view: this.view\n });\n\n this.map.setTarget(this.refs.mapContainer);\n\n this.map.on('click', this.handleMapClick.bind(this));\n\n this.map.on('pointermove', this.handlePointerMove);\n\n this.view.on('change', this.handleViewChange);\n\n this.view.on('change:resolution', function (e) {\n this.setState({\n zoom: e.target.getZoom(),\n viewResolution: e.target.getResolution(),\n projUnits: e.target.getProjection().getUnits()\n })\n }.bind(this));\n\n this.view.on('change:center', function (e) {\n this.setState({\n viewCenter: e.target.getCenter()\n })\n }.bind(this))\n\n window.addEventListener('resize', this.updateContainerSize.bind(this));\n\n //save map and layer references to local state\n this.setState({\n map: this.map,\n userFeaturesLayer: userFeaturesLayer,\n selectedFeaturesLayer: selectedFeaturesLayer,\n height: this.refs.mapContainer.clientHeight,\n width: this.refs.mapContainer.clientWidth\n })\n\n this.loadBaseLayers();\n this.loadLayers();\n }\n\n handlePointerMove(event) {\n this._setMouseCoords(event.coordinate);\n }\n\n _setMouseCoords(coordinates) {\n this.setState({\n mouseCoords: coordinates\n });\n }\n\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.updateContainerSize.bind(this))\n }\n\n componentDidUpdate(prevProps, prevState) {\n const { i18n } = this.props;\n // console.log(\"componentDidUpdate\", prevState, this.state);\n\n if (prevState.lng !== i18n.language) {\n this.setState({\n lng: i18n.language\n })\n this.refreshControls();\n }\n\n let chBase = this.isLayerObjectChanged(prevState.selectedBaseLayer, this.state.selectedBaseLayer);\n let chPrim = this.isLayerObjectChanged(prevState.selectedPrimaryLayer, this.state.selectedPrimaryLayer) || prevState.primaryLayerName !== this.state.primaryLayerName;\n let chPrimOp = prevState.primaryLayerOpacity !== this.state.primaryLayerOpacity;\n let chSecond = this.isLayerObjectChanged(prevState.selectedSecondaryLayer, this.state.selectedSecondaryLayer) || prevState.secondaryLayerName !== this.state.secondaryLayerName;\n let chSecondOp = prevState.secondaryLayerOpacity !== this.state.secondaryLayerOpacity;\n let chBorder = this.isLayerObjectChanged(prevState.selectedBorderLayer, this.state.selectedBorderLayer);\n\n let ch = chBase || chPrim || chPrimOp || chSecond || chSecondOp || chBorder;\n\n if (ch) {\n this.refreshLayers(chBase, chPrim, chPrimOp, chSecond, chSecondOp, chBorder);\n }\n }\n\n updateContainerSize() {\n if (this.refs.mapContainer) {\n this.setState({\n height: this.refs.mapContainer.clientHeight,\n width: this.refs.mapContainer.clientWidth\n });\n }\n }\n\n isLayerObjectChanged(a, b) {\n if (a === undefined && b === undefined) {\n return false;\n } else if (a && b && a.id === b.id && a.layerName === b.layerName) {\n return false;\n } else {\n return true;\n }\n }\n\n getQueryLayers() {\n let layers = [];\n if (this.state.selectedPrimaryLayer) {\n layers.push(this.state.selectedPrimaryLayer.layerName);\n }\n if (this.state.selectedSecondaryLayer) {\n layers.push(this.state.selectedSecondaryLayer.layerName);\n }\n\n return layers;\n }\n\n handleMapClick(event) {\n\n this._setMouseCoords(event.coordinate);\n\n // derive map coordinate (references map from Wrapper Component state) - EPSG:3857\n var clickedCoordinate = this.state.map.getCoordinateFromPixel(event.pixel);\n\n let queryLayers = this.getQueryLayers();\n let queryLayer = undefined;\n let queryLayerName = undefined;\n\n let pixel_x = event.pixel[0];\n let swipe_x = parseInt(this.state.swipetoolperc) / 100 * this.state.width;\n //console.log(pixel_x, swipe_x);\n\n if (pixel_x <= swipe_x) {\n queryLayer = this.state.selectedPrimaryLayer ? this.state.selectedPrimaryLayer : null;\n queryLayerName = this.state.selectedPrimaryLayer ? this.state.primaryLayerName : null;\n } else {\n if (this.state.selectedSecondaryLayer) {\n queryLayer = this.state.selectedSecondaryLayer;\n queryLayerName = this.state.secondaryLayerName;\n } else {\n queryLayer = this.state.selectedPrimaryLayer;\n queryLayerName = this.state.primaryLayerName;\n }\n }\n\n //console.log(queryLayer);\n\n if (queryLayers.length > 0) {\n this._setSelectedFeature(null);\n if (queryLayer && queryLayerName) {\n geoserverService.WMS.getFeatureInfo([queryLayerName], clickedCoordinate)\n .then(data => {\n if (data && data.features && data.features.length > 0) {\n let last = data.features.length - 1;\n\n let olFeatures = (new OlFormatJSON()).readFeatures(data);\n let olFeat = olFeatures[last];\n\n this._setSelectedFeature(olFeat, event.pixel, queryLayer);\n } else {\n this._setSelectedFeature(null);\n }\n\n this.refreshLayers();\n });\n }\n\n\n }\n }\n\n handleViewChange(event) {\n this._setSelectedFeature(null);\n }\n\n _setSelectedFeature(olFeat, clickPixelLocation, queryLayer) {\n if (olFeat) {\n let ns = queryLayer.dataCodeGroup;\n let showCode = queryLayer.showCode === \"1\";\n olFeat.setStyle(this.selectStyle);\n this.state.selectedFeaturesLayer.setSource(\n new OlSourceVector({\n features: [olFeat],\n featureProjection: this.htrs96\n })\n );\n\n let try_kod = olFeat.get(\"kod\") || olFeat.get(\"kod_u\") || olFeat.get(\"PALETTE_INDEX\");\n let try_pov = olFeat.get('pov_ha_3') || olFeat.get('pov_ha') || olFeat.get('pov_1_ha');\n let try_ch = olFeat.get(\"kod_iz\");\n\n let pov = null;\n if (try_pov) {\n pov = try_pov;\n }\n\n let dispCode = ns + \":\" + try_kod;\n\n this.setState(() => {\n return {\n feature: olFeat,\n feature_code: try_kod,\n feature_showCode: showCode,\n feature_dispCode: dispCode,\n feature_change: try_ch,\n feature_area: pov,\n pointerLeft: clickPixelLocation[0],\n pointerTop: clickPixelLocation[1],\n showFeatureInfo: true\n }\n });\n\n } else {\n\n this.state.selectedFeaturesLayer.setSource(\n new OlSourceVector({\n features: [],\n featureProjection: this.htrs96\n })\n );\n\n this.setState({\n feature: null,\n showFeatureInfo: false\n });\n\n }\n }\n\n handleSetSwipePosition(value) {\n // console.log('Set swipe position ', value);\n this.setState({\n swipetoolperc: value\n });\n if (this.map) {\n this.map.render();\n }\n }\n\n setMapScale(res) {\n // console.log('Map Set Map Scale', res)\n if (res) {\n this.map.getView().setResolution(res);\n }\n }\n\n handleCloseFeatureInfo() {\n this._setSelectedFeature(null);\n }\n\n render() {\n const { t, classes } = this.props;\n\n return (\n
\n \n \n \n {this.state.showPrimaryLayerInfo && this.state.selectedPrimaryLayer ?\n \n : null}\n {this.state.showPrimaryLayerLegend && this.state.selectedPrimaryLayer ?\n \n : null}\n \n \n \n \n \n\n \n\n {/* */}\n \n\n \n\n \n\n \n \n \n \n {this.state.showSecondaryLayerInfo && this.state.selectedSecondaryLayer ?\n \n : null}\n {this.state.showSecondaryLayerLegend && this.state.selectedSecondaryLayer ?\n \n : null}\n \n \n \n \n \n \n {this.state.selectedSecondaryLayer ?\n \n \n \n\n\n\n\n {this.state.selectedSecondaryLayer ?\n : null\n }\n\n {this.state.feature && this.state.showFeatureInfo ?\n
\n
\n \n \n clear\n \n \n
\n {this.state.feature_showCode ? t(\"map:code\") + \": \" + this.state.feature_code : null}\n {this.state.feature_showCode ?
: null}\n {t(this.state.feature_dispCode)}
\n {this.state.feature_change ? t(\"map:last-state\") + \": \" + this.state.feature_change + \" - \" + t(\"clc:\" + this.state.feature_change) : null}\n {this.state.feature_change ?
: null}\n {this.state.feature_area ? t(\"map:area\") + \": \" + numbro(this.state.feature_area * 100).divide(100).format() + \" ha\" : null}\n
\n : null}\n\n
\n\n );\n }\n}\n\n\n\n// *** Drag & Drop functionality ***\n\n//Drop Target Specification\n// const dropTargetSpecifiction = {\n// drop(props, monitor, component) {\n// if (!component) {\n// return;\n// }\n// const item = monitor.getItem();\n// const delta = monitor.getDifferenceFromInitialOffset();\n// const left = Math.round(item.left + delta.x);\n\n// return {\n// dropLocation: {\n// x: left\n// }\n// };\n// }\n// }\n\n// Collecting function\n// function collect(connect, monitor) {\n// return {\n// connectDropTarget: connect.dropTarget(),\n// isOver: monitor.isOver()\n// }\n// }\n\nexport default withNamespaces()(withStyles(mapStyle)(PublicMap));\n\n","import {\n container,\n title,\n main,\n mainRaised,\n mlAuto,\n description\n} from \"assets/jss/material-kit-pro-react.jsx\";\n\nconst mapPageStyle = {\n main,\n mainRaised,\n title,\n mlAuto,\n description,\n container: {\n ...container,\n maxWidth: \"970px !important\"\n },\n contactContent: {\n paddingBottom: \"40px\",\n paddingTop: \"40px\"\n },\n body: {\n minHeight: \"100%\",\n padding: \"0px\",\n margin: \"0px\"\n },\n wrapper: {\n padding: \"70px 0px 70px 0px\",\n position: \"absolute\",\n top: \"0px\",\n bottom: \"0px\",\n left: \"0px\",\n right: \"0px\"\n },\n middle: {\n height: \"100%\",\n minHeight: \"100%\"\n },\n top: {\n marginTop: \"-70px\",\n height: \"70px\"\n },\n bottom: {\n marginBottom: \"-70px\",\n height: \"70px\"\n },\n footer: {\n height: \"100%\",\n paddingTop: \"10px\",\n backgroundColor: \"rgba(255,255,255,1)\"\n },\n mapContainer: {\n position: \"relative\",\n height: \"100%\",\n width: \"100%\"\n },\n info: {\n paddingBottom: \"10px\",\n paddingTop: 0\n },\n textCenter: {\n textAlign: \"center !important\"\n },\n block: {\n color: \"inherit\",\n padding: \"0.9375rem\",\n fontWeight: \"500\",\n fontSize: \"12px\",\n textTransform: \"uppercase\",\n borderRadius: \"3px\",\n textDecoration: \"none\",\n position: \"relative\",\n display: \"block\"\n },\n inlineBlock: {\n display: \"inline-block\",\n padding: \"0px\",\n width: \"auto\"\n },\n list: {\n marginBottom: \"0\",\n padding: \"0\",\n marginTop: \"0\"\n },\n left: {\n float: \"left!important\",\n display: \"block\"\n },\n right: {\n padding: \"15px 0\",\n margin: \"0\",\n float: \"right\"\n },\n icon: {\n width: \"18px\",\n height: \"18px\",\n top: \"3px\",\n position: \"relative\"\n }\n};\n\nexport default mapPageStyle;\n","import React from \"react\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\n// core components\nimport Header from \"components/Header/Header.jsx\";\nimport HeaderLinks from \"components/Header/HeaderLinks.jsx\";\nimport Footer from \"components/Footer/Footer.jsx\";\nimport PublicMap from \"components/Map/Map.jsx\";\n\nimport mapPageStyle from \"assets/jss/prehnit/views/mapPageStyle.jsx\";\n\nclass MapPage extends React.Component {\n componentDidMount() {\n window.scrollTo(0, 0);\n document.body.scrollTop = 0;\n }\n render() {\n const { classes } = this.props;\n return (\n
\n
\n }\n fixed\n color=\"white\"\n className={classes.header}\n />\n
\n
\n
\n \n
\n
\n
\n
} className={classes.footer}/>\n
\n
\n );\n }\n}\n\nexport default withStyles(mapPageStyle)(MapPage);\n","import {\n container,\n title,\n main,\n mainRaised,\n mrAuto,\n mlAuto\n} from \"assets/jss/material-kit-pro-react.jsx\";\n\nconst aboutUsStyle = {\n main,\n mainRaised,\n mrAuto,\n mlAuto,\n container: {\n ...container,\n zIndex: 1\n },\n title: {\n ...title,\n \"&, & + h4\": {\n color: \"#fff\"\n }\n },\n textCenter: {\n textAlign: \"center\"\n },\n block: {\n color: \"inherit\",\n padding: \"0.9375rem\",\n fontWeight: \"500\",\n fontSize: \"12px\",\n textTransform: \"uppercase\",\n borderRadius: \"3px\",\n textDecoration: \"none\",\n position: \"relative\",\n display: \"block\"\n },\n inlineBlock: {\n display: \"inline-block\",\n padding: \"0px\",\n width: \"auto\"\n },\n list: {\n marginBottom: \"0\",\n padding: \"0\",\n marginTop: \"0\"\n },\n left: {\n float: \"left!important\",\n display: \"block\"\n },\n right: {\n padding: \"15px 0\",\n margin: \"0\",\n float: \"right\"\n },\n icon: {\n width: \"18px\",\n height: \"18px\",\n top: \"3px\",\n position: \"relative\"\n }\n};\n\nexport default aboutUsStyle;\n","// ##############################\n// // // Info component styles\n// #############################\n\nimport {\n primaryColor,\n warningColor,\n dangerColor,\n successColor,\n infoColor,\n roseColor,\n grayColor,\n title\n} from \"assets/jss/material-kit-pro-react.jsx\";\n\nconst infoStyle = {\n infoArea: {\n maxWidth: \"360px\",\n margin: \"0 auto\",\n padding: \"70px 0 30px\"\n },\n iconWrapper: {\n float: \"left\",\n marginTop: \"24px\",\n marginRight: \"10px\"\n },\n primary: {\n color: primaryColor\n },\n warning: {\n color: warningColor\n },\n danger: {\n color: dangerColor\n },\n success: {\n color: successColor\n },\n info: {\n color: infoColor\n },\n rose: {\n color: roseColor\n },\n gray: {\n color: grayColor\n },\n icon: {\n width: \"2.25rem\",\n height: \"2.25rem\",\n fontSize: \"2.25rem\"\n },\n descriptionWrapper: {\n color: grayColor,\n overflow: \"hidden\"\n },\n title: {\n ...title,\n margin: \"1.75rem 0 0.875rem !important\",\n minHeight: \"unset\"\n },\n description: {\n color: grayColor,\n overflow: \"hidden\",\n marginTop: \"0px\",\n \"& p\": {\n color: grayColor,\n fontSize: \"14px\"\n }\n },\n iconWrapperVertical: {\n float: \"none\"\n },\n iconVertical: {\n width: \"61px\",\n height: \"61px\"\n }\n};\n\nexport default infoStyle;\n","import React from \"react\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport Icon from \"@material-ui/core/Icon\";\n\nimport infoStyle from \"assets/jss/material-kit-pro-react/components/infoStyle.jsx\";\n\nfunction InfoArea({ ...props }) {\n const { classes, title, description, iconColor, vertical, className } = props;\n const iconWrapper = classNames({\n [classes.iconWrapper]: true,\n [classes[iconColor]]: true,\n [classes.iconWrapperVertical]: vertical\n });\n const iconClasses = classNames({\n [classes.icon]: true,\n [classes.iconVertical]: vertical\n });\n const infoAreaClasses = classNames({\n [classes.infoArea]: true,\n [className]: className !== undefined\n });\n let icon = null;\n switch (typeof props.icon) {\n case \"string\":\n icon = {props.icon};\n break;\n default:\n icon = ;\n break;\n }\n return (\n
\n
{icon}
\n
\n

{title}

\n
{description}
\n
\n
\n );\n}\n\nInfoArea.defaultProps = {\n iconColor: \"gray\"\n};\n\nInfoArea.propTypes = {\n classes: PropTypes.object.isRequired,\n icon: PropTypes.oneOfType([PropTypes.func, PropTypes.string]).isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.node.isRequired,\n iconColor: PropTypes.oneOf([\n \"primary\",\n \"warning\",\n \"danger\",\n \"success\",\n \"info\",\n \"rose\",\n \"gray\"\n ]),\n vertical: PropTypes.bool,\n className: PropTypes.string\n};\n\nexport default withStyles(infoStyle)(InfoArea);\n","import {\n container,\n mlAuto,\n mrAuto,\n title,\n description\n} from \"assets/jss/material-kit-pro-react.jsx\";\n\nconst features = {\n container,\n mlAuto,\n mrAuto,\n title,\n description,\n features1: {\n textAlign: \"center\",\n padding: \"80px 0\"\n },\n features2: {\n padding: \"80px 0\"\n },\n features3: {\n padding: \"80px 0\",\n \"& $phoneContainer\": {\n maxWidth: \"220px\",\n margin: \"0 auto\"\n }\n },\n features4: {\n padding: \"80px 0\",\n \"& $phoneContainer\": {\n maxWidth: \"260px\",\n margin: \"60px auto 0\"\n }\n },\n features5: {\n padding: \"80px 0\",\n backgroundSize: \"cover\",\n backgroundPosition: \"50%\",\n backgroundRepeat: \"no-repeat\",\n position: \"relative\",\n \"& $title\": {\n marginBottom: \"30px\"\n },\n \"& $title,& $container\": {\n position: \"relative\",\n zIndex: \"2\",\n color: \"#FFFFFF\"\n },\n \"&:after\": {\n background: \"rgba(0,0,0,0.55)\",\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n content: \"''\",\n zIndex: \"0\",\n left: \"0px\",\n top: \"0px\"\n },\n \"& $container\": {\n \"& $gridContainer:last-child\": {\n \"& $gridItem\": {\n borderBottom: \"0\"\n }\n },\n \"& $gridItem\": {\n border: \"1px solid rgba(255, 255, 255, 0.35)\",\n borderTop: \"0\",\n borderLeft: \"0\",\n \"&:last-child\": {\n borderRight: \"0\"\n }\n }\n },\n \"& $infoArea5\": {\n textAlign: \"center\",\n maxWidth: \"310px\",\n minHeight: \"320px\",\n \"& h4,& p,& svg,& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n color: \"#FFFFFF\"\n }\n }\n },\n gridContainer: {},\n gridItem: {},\n textCenter: {\n textAlign: \"center\"\n },\n phoneContainer: {\n \"& img\": {\n width: \"100%\"\n }\n },\n infoArea: {\n maxWidth: \"none\",\n margin: \"0 auto\",\n padding: \"10px 0 0px\"\n },\n infoArea5: {}\n};\n\nexport default features;\n","import {\n container,\n title,\n main,\n mainRaised,\n mrAuto,\n mlAuto,\n description\n } from \"assets/jss/material-kit-pro-react.jsx\";\n\n import aboutUsStyle from \"assets/jss/material-kit-pro-react/views/aboutUsStyle.jsx\";\n import featuresStyle from \"assets/jss/material-kit-pro-react/views/sectionsSections/featuresStyle.jsx\";\n\n const additionalInfoStyle = {\n container,\n main,\n mainRaised,\n title,\n mrAuto,\n mlAuto,\n description,\n ...aboutUsStyle,\n ...featuresStyle,\n block: {\n color: \"inherit\",\n padding: \"0.9375rem 0\",\n fontWeight: \"500\",\n fontSize: \"12px\",\n textTransform: \"uppercase\",\n borderRadius: \"3px\",\n textDecoration: \"none\",\n position: \"relative\",\n display: \"block\"\n },\n }\n\n export default additionalInfoStyle;","const linksGeneral = [\n {\n id: 1,\n title: \"Copernicus Services\",\n titleCode: \"links:copernicus-svc\",\n desc: \"\",\n descCode: \"links:d-copernicus-svc\",\n url: \"https://www.copernicus.eu/en\",\n\n },\n {\n id: 2,\n title: \"Copernicus Land Monitoring Service\",\n titleCode: \"links:copernicus-lms\",\n desc: \"\",\n descCode: \"links:d-copernicus-lms\",\n url: \"https://land.copernicus.eu\",\n icon: \"book\",\n iconColor: \"success\"\n },\n {\n id: 3,\n title: \"Copernicus Land Monitoring Service product portfolio overview\",\n titleCode: \"links:copernicus-lms-overview\",\n desc: \"\",\n descCode: \"links:d-copernicus-lms-overview\",\n url: \"https://land.copernicus.eu/product-portfolio/overview\",\n icon: \"language\",\n iconColor: \"danger\"\n },\n {\n id: 4,\n title: \"CLC\",\n titleCode: \"links:clc\",\n desc: \"\",\n descCode: \"links:d-clc\",\n url: \"https://land.copernicus.eu/pan-european/high-resolution-layers\",\n icon: \"language\",\n iconColor: \"primary\"\n },\n {\n id: 5,\n title: \"Technical library\",\n titleCode: \"links:tech-lib\",\n desc: \"\",\n descCode: \"links:d-tech-lib\",\n url: \"https://land.copernicus.eu/user-corner/technical-library\",\n icon: \"library_books\",\n iconColor: \"danger\"\n },\n {\n id: 6,\n title: \"CLC classes\",\n titleCode: \"links:clc-classes\",\n desc: \"\",\n descCode: \"links:d-clc-classes\",\n url: \"https://land.copernicus.eu/user-corner/technical-library/corine-land-cover-nomenclature-guidelines/html/\",\n icon: \"language\",\n iconColor: \"primary\"\n },\n {\n id: 7,\n title: \"ENVI Atlas\",\n titleCode: \"links:envi-atlas\",\n desc: \"\",\n descCode: \"links:d-envi-atlas\",\n url: \"http://envi.azo.hr/?topic=3\",\n icon: \"language\",\n iconColor: \"primary\"\n },\n {\n id: 8,\n title: \"Copernicus Open Access Hub\",\n titleCode: \"links:copernicus-oah\",\n desc: \"\",\n descCode: \"links:d-copernicus-oah\",\n url: \"https://scihub.copernicus.eu\",\n icon: \"language\",\n iconColor: \"primary\"\n },\n {\n id: 9,\n title: \"Use Cases\",\n titleCode: \"links:use-cases\",\n desc: \"\",\n descCode: \"links:d-use-cases\",\n url: \"https://land.copernicus.eu/user-corner/land-use-cases\",\n icon: \"language\",\n iconColor: \"primary\"\n },\n\n];\n\nconst linksOrganizations = [\n {\n id: 201,\n title: \"MZOIP\",\n titleCode: \"links:mzoip\",\n desc: \"\",\n descCode: \"links:d-mzoip\",\n url: \"https://www.mzoip.hr\",\n icon: \"language\",\n iconColor: \"primary\"\n },\n {\n id: 202,\n title: \"EEA\",\n titleCode: \"links:eea\",\n desc: \"\",\n descCode: \"links:d-eea\",\n url: \"https://www.eea.europa.eu\",\n icon: \"language\",\n iconColor: \"primary\"\n },\n {\n id: 203,\n title: \"ESA\",\n titleCode: \"links:esa\",\n desc: \"\",\n descCode: \"links:d-esa\",\n url: \"https://www.esa.int/Our_Activities/Observing_the_Earth/Copernicus\",\n icon: \"language\",\n iconColor: \"primary\"\n }\n\n];\n\nexport { linksGeneral, linksOrganizations };","import React from \"react\";\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\n// core components\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\nimport InfoArea from \"components/InfoArea/InfoArea.jsx\";\n\n\nimport additionalInfoPageStyle from \"assets/jss/prehnit/views/additionalInfoPageStyle.jsx\"\n\nimport { linksGeneral as LinksFallback } from \"config/LinksList\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport { API } from \"services/api\";\n\nclass SectionLinksGeneral extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n links: []\n }\n\n let links = [];\n API.getContentLinksByGroup('general')\n .then (data => {\n if (data && data.length > 0) {\n links = data;\n } else {\n console.warn('Loading Fallback Links...!');\n links = LinksFallback;\n }\n\n this.setState({\n links: links\n })\n });\n }\n\n\n render() {\n const { t, classes } = this.props;\n return (\n
\n
\n
\n \n \n

{t(\"pagecontent:info-heading1\")}

\n
{t(\"pagecontent:info-content1\")}
\n \n
\n \n {this.state.links.map((link, id) => {\n return (\n \n \n

{link.dsc_trans_token ? t(link.dsc_trans_token) : link.desc}

\n \n {t(\"find-more\")}...\n \n \n }\n iconColor={link.icon_color ? link.icon_color : \"info\"}\n />\n
\n );\n })}\n\n
\n
\n
\n\n
\n );\n\n }\n\n}\n\nexport default withNamespaces()(withStyles(additionalInfoPageStyle)(SectionLinksGeneral));\n","import React from \"react\";\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\n// core components\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\nimport InfoArea from \"components/InfoArea/InfoArea.jsx\";\n\n\nimport additionalInfoPageStyle from \"assets/jss/prehnit/views/additionalInfoPageStyle.jsx\"\n\nimport { linksOrganizations as LinksFallback } from \"config/LinksList\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport { API } from \"services/api\";\n\nclass SectionLinksOrganizations extends React.Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n links: []\n }\n\n let links = [];\n API.getContentLinksByGroup('organisations')\n .then (data => {\n if (data && data.length > 0) {\n links = data;\n } else {\n console.warn('Loading Fallback Links...!');\n links = LinksFallback;\n }\n\n this.setState({\n links: links\n })\n });\n }\n\n render() {\n const { t, classes } = this.props;\n return (\n
\n
\n {/* Feature 2 START */}\n
\n \n \n

{t(\"pagecontent:info-heading2\")}

\n
{t(\"pagecontent:info-content2\")}
\n \n
\n \n {this.state.links.map((link, id) => {\n return (\n \n \n

{link.dsc_trans_token ? t(link.dsc_trans_token) : link.desc}

\n \n {t(\"find-more\")}...\n \n \n }\n iconColor={link.icon_color ? link.icon_color : \"info\"}\n />\n
\n );\n })}\n\n
\n
\n
\n\n
\n );\n }\n}\n\nexport default withNamespaces()(withStyles(additionalInfoPageStyle)(SectionLinksOrganizations));\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\n// core components\nimport Header from \"components/Header/Header.jsx\";\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\nimport Parallax from \"components/Parallax/Parallax.jsx\";\nimport Footer from \"components/Footer/Footer.jsx\";\n// sections for this page\nimport HeaderLinks from \"components/Header/HeaderLinks.jsx\";\n\nimport aboutUsStyle from \"assets/jss/material-kit-pro-react/views/aboutUsStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport SectionLinksGeneral from \"./Sections/SectionLinksGeneral.jsx\";\nimport SectionLinksOrganizations from \"./Sections/SectionLinksOrgnizations.jsx\";\n\nimport { checkTrans } from 'helpers';\n\nclass AdditionalInfoPage extends React.Component {\n\n componentDidMount() {\n window.scrollTo(0, 0);\n document.body.scrollTop = 0;\n\n checkTrans('links');\n }\n\n render() {\n const { t, classes } = this.props;\n\n return (\n
\n }\n fixed\n color=\"transparent\"\n changeColorOnScroll={{\n height: 300,\n color: \"white\"\n }}\n />\n \n
\n \n \n

{t(\"pagecontent:info-title\")}

\n

{t(\"pagecontent:info-subtitle\")}

\n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n );\n }\n}\n\nexport default withNamespaces()(withStyles(aboutUsStyle)(AdditionalInfoPage));\n","import {\n container,\n title,\n main,\n mainRaised,\n primaryColor,\n warningColor,\n dangerColor,\n successColor,\n infoColor,\n roseColor,\n grayColor,\n whiteColor,\n cardTitle,\n description\n} from \"assets/jss/material-kit-pro-react.jsx\";\n\n\nconst dashGeneralPageStyle = {\n cardTitle,\n cardCategory: {\n margin: \"0\",\n color: \"#999999\"\n },\n cardIconTitle: {\n ...cardTitle,\n marginTop: \"10px !important\",\n marginBottom: \"3px !important\"\n },\n cardIconSubTitle: {\n ...cardTitle,\n fontSize: \"small\",\n marginTop: \"3px !important\",\n marginBottom: \"6px !important\"\n },\n cardBodyMap: {\n padding: \"5px 2px !important\"\n },\n cardDescription: {\n ...description,\n textAlign: \"center\"\n },\n legendTitle: {\n color: grayColor,\n margin: \"10px 0 !important\",\n display: \"flex\"\n },\n primary: {\n color: primaryColor\n },\n warning: {\n color: warningColor\n },\n danger: {\n color: dangerColor\n },\n success: {\n color: successColor\n },\n info: {\n color: infoColor\n },\n rose: {\n color: roseColor\n },\n gray: {\n color: grayColor\n },\n white: {\n color: whiteColor\n },\n whiteOutline: {\n borderWidth: \"2px\",\n borderStyle: \"solid\",\n borderColor: whiteColor\n },\n cardFooter: {\n display: \"block\",\n color: \"rgba(0,0,0,0.8)\"\n },\n\n container: {\n ...container,\n zIndex: \"2\",\n position: \"relative\"\n },\n title: {\n ...title,\n color: \"#FFFFFF\"\n },\n main: {\n ...main,\n ...mainRaised,\n padding: \"20px 20px 0px 20px\"\n },\n block: {\n color: \"inherit\",\n padding: \"0.9375rem\",\n fontWeight: \"500\",\n fontSize: \"12px\",\n textTransform: \"uppercase\",\n borderRadius: \"3px\",\n textDecoration: \"none\",\n position: \"relative\",\n display: \"block\"\n },\n inlineBlock: {\n display: \"inline-block\",\n padding: \"0px\",\n width: \"auto\"\n },\n list: {\n marginBottom: \"0\",\n padding: \"0\",\n marginTop: \"0\"\n },\n left: {\n float: \"left!important\",\n display: \"block\"\n },\n right: {\n padding: \"15px 0\",\n margin: \"0\",\n float: \"right\"\n },\n icon: {\n width: \"18px\",\n height: \"18px\",\n top: \"3px\",\n position: \"relative\"\n },\n iconWrapper: {\n color: \"rgba(255, 255, 255, 0.76)\",\n margin: \"10px auto 0\",\n width: \"130px\",\n height: \"130px\",\n border: \"1px solid #E5E5E5\",\n borderRadius: \"50%\",\n lineHeight: \"174px\",\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n fontSize: \"55px\",\n lineHeight: \"55px\"\n },\n \"& svg\": {\n width: \"55px\",\n height: \"55px\"\n }\n },\n iconWrapperColor: {\n borderColor: \"rgba(255, 255, 255, 0.25)\"\n },\n iconInfo: {\n color: infoColor\n },\n marginTop30: {\n marginTop: \"30px\"\n },\n marginBottom20: {\n marginBottom: \"20px\"\n },\n cardRaised: {\n zIndex: 4\n },\n\n textRight: {\n textAlign: \"right\"\n },\n textLeft: {\n textAlign: \"left\"\n },\n textCenter: {\n textAlign: \"center\"\n },\n\n clcBox: {\n color: \"#FFF\",\n display: \"inline-block\",\n width: \"20px\",\n height: \"20px\",\n border: \"1px solid #ccc\",\n marginRight: \"10px\"\n },\n\n sizeTiny: {\n padding: \"2px 2px\",\n minWidth: \"32px\",\n minHeight: \"20px\"\n\n }\n};\n\nexport default dashGeneralPageStyle;\n","// import {\n//\n// } from \"assets/jss/material-kit-pro-react.jsx\";\n\nconst cardStyle = {\n card: {\n border: \"0\",\n marginBottom: \"30px\",\n marginTop: \"30px\",\n borderRadius: \"6px\",\n color: \"rgba(0, 0, 0, 0.87)\",\n background: \"#fff\",\n width: \"100%\",\n boxShadow:\n \"0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12)\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n minWidth: \"0\",\n wordWrap: \"break-word\",\n fontSize: \".875rem\",\n // some jss/css to make the cards look a bit better on Internet Explorer\n \"@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)\": {\n display: \"inline-block !important\"\n }\n },\n cardPlain: {\n background: \"transparent\",\n boxShadow: \"none\"\n },\n cardProfile: {\n marginTop: \"30px\",\n textAlign: \"center\"\n },\n cardBlog: {\n marginTop: \"60px\"\n },\n cardRaised: {\n boxShadow:\n \"0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2)\"\n },\n cardBackground: {\n backgroundPosition: \"50%\",\n backgroundSize: \"cover\",\n textAlign: \"center\",\n color: \"#fff\",\n \"& h3\": {\n color: \"#fff !important\"\n },\n \"& p\": {\n color: \"rgba(255,255,255,0.7)!important\"\n },\n \"&:after\": {\n position: \"absolute\",\n zIndex: \"1\",\n width: \"100%\",\n height: \"100%\",\n display: \"block\",\n left: \"0\",\n top: \"0\",\n content: '\"\"',\n backgroundColor: \"rgba(0, 0, 0, 0.56)\",\n borderRadius: \"6px\"\n },\n \"& small\": {\n color: \"rgba(255, 255, 255, 0.7) !important\"\n }\n },\n cardPricing: {\n textAlign: \"center\",\n \"&:after\": {\n backgroundColor: \"rgba(0, 0, 0, 0.7) !important\"\n },\n \"& ul\": {\n listStyle: \"none\",\n padding: 0,\n maxWidth: \"240px\",\n margin: \"10px auto\"\n },\n \"& ul li\": {\n color: \"#999999\",\n textAlign: \"center\",\n padding: \"12px 0px\",\n borderBottom: \"1px solid rgba(153,153,153,0.3)\"\n },\n \"& ul li:last-child\": {\n border: 0\n },\n \"& ul li b\": {\n color: \"#3c4858\"\n },\n \"& h1\": {\n marginTop: \"30px\"\n },\n \"& h1 small\": {\n display: \"inline-flex\",\n height: 0,\n fontSize: \"18px\"\n },\n \"& h1 small:first-child\": {\n position: \"relative\",\n top: \"-17px\",\n fontSize: \"26px\"\n },\n \"& ul li svg,& ul li .fab,& ul li .fas,& ul li .far,& ul li .fal,& ul li .material-icons\": {\n position: \"relative\",\n top: \"7px\"\n }\n },\n cardPricingColor: {\n \"& ul li\": {\n color: \"#fff\",\n borderColor: \"rgba(255,255,255,0.3)\",\n \"& b, & svg,& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n color: \"#fff\",\n fontWeight: \"700\"\n }\n }\n },\n cardProduct: {\n marginTop: \"30px\"\n },\n primary: {\n background: \"linear-gradient(60deg,#ab47bc,#7b1fa2)\",\n \"& h1 small\": {\n color: \"rgba(255, 255, 255, 0.8)\"\n },\n color: \"#FFFFFF\"\n },\n info: {\n background: \"linear-gradient(60deg,#26c6da,#0097a7)\",\n \"& h1 small\": {\n color: \"rgba(255, 255, 255, 0.8)\"\n },\n color: \"#FFFFFF\"\n },\n success: {\n background: \"linear-gradient(60deg,#66bb6a,#388e3c)\",\n \"& h1 small\": {\n color: \"rgba(255, 255, 255, 0.8)\"\n },\n color: \"#FFFFFF\"\n },\n warning: {\n background: \"linear-gradient(60deg,#ffa726,#f57c00)\",\n \"& h1 small\": {\n color: \"rgba(255, 255, 255, 0.8)\"\n },\n color: \"#FFFFFF\"\n },\n danger: {\n background: \"linear-gradient(60deg,#ef5350,#d32f2f)\",\n \"& h1 small\": {\n color: \"rgba(255, 255, 255, 0.8)\"\n },\n color: \"#FFFFFF\"\n },\n rose: {\n background: \"linear-gradient(60deg,#ec407a,#c2185b)\",\n \"& h1 small\": {\n color: \"rgba(255, 255, 255, 0.8)\"\n },\n color: \"#FFFFFF\"\n }\n};\n\nexport default cardStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n// @material-ui/icons\n\n// core components\nimport cardStyle from \"assets/jss/material-kit-pro-react/components/cardStyle.jsx\";\n\nfunction Card({ ...props }) {\n const {\n classes,\n className,\n children,\n plain,\n profile,\n blog,\n raised,\n background,\n pricing,\n color,\n product,\n testimonial,\n ...rest\n } = props;\n const cardClasses = classNames({\n [classes.card]: true,\n [classes.cardPlain]: plain,\n [classes.cardProfile]: profile || testimonial,\n [classes.cardBlog]: blog,\n [classes.cardRaised]: raised,\n [classes.cardBackground]: background,\n [classes.cardPricingColor]:\n (pricing && color !== undefined) || (pricing && background !== undefined),\n [classes[color]]: color,\n [classes.cardPricing]: pricing,\n [classes.cardProduct]: product,\n [className]: className !== undefined\n });\n return (\n
\n {children}\n
\n );\n}\n\nCard.propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n plain: PropTypes.bool,\n profile: PropTypes.bool,\n blog: PropTypes.bool,\n raised: PropTypes.bool,\n background: PropTypes.bool,\n pricing: PropTypes.bool,\n testimonial: PropTypes.bool,\n color: PropTypes.oneOf([\n \"primary\",\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n \"rose\"\n ]),\n product: PropTypes.bool\n};\n\nexport default withStyles(cardStyle)(Card);\n","const cardBodyStyle = {\n cardBody: {\n padding: \"0.9375rem 1.875rem\",\n flex: \"1 1 auto\",\n WebkitBoxFlex: \"1\"\n },\n cardBodyBackground: {\n position: \"relative\",\n zIndex: \"2\",\n minHeight: \"280px\",\n paddingTop: \"40px\",\n paddingBottom: \"40px\",\n maxWidth: \"440px\",\n margin: \"0 auto\"\n },\n cardBodyPlain: {\n paddingLeft: \"5px\",\n paddingRight: \"5px\"\n },\n cardBodyFormHorizontal: {\n paddingLeft: \"15px\",\n paddingRight: \"15px\",\n \"& form\": {\n margin: \"0\"\n }\n },\n cardPricing: {\n padding: \"15px!important\",\n margin: \"0px!important\"\n },\n cardSignup: {\n padding: \"0px 30px 0px 30px\"\n },\n cardBodyColor: {\n borderRadius: \"6px\",\n \"&\": {\n \"h1, h2, h3\": {\n \"& small\": {\n color: \"rgba(255, 255, 255, 0.8)\"\n }\n }\n }\n }\n};\n\nexport default cardBodyStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n// @material-ui/icons\n\n// core components\nimport cardBodyStyle from \"assets/jss/material-kit-pro-react/components/cardBodyStyle.jsx\";\n\nfunction CardBody({ ...props }) {\n const {\n classes,\n className,\n children,\n background,\n plain,\n formHorizontal,\n pricing,\n signup,\n color,\n ...rest\n } = props;\n const cardBodyClasses = classNames({\n [classes.cardBody]: true,\n [classes.cardBodyBackground]: background,\n [classes.cardBodyPlain]: plain,\n [classes.cardBodyFormHorizontal]: formHorizontal,\n [classes.cardPricing]: pricing,\n [classes.cardSignup]: signup,\n [classes.cardBodyColor]: color,\n [className]: className !== undefined\n });\n return (\n
\n {children}\n
\n );\n}\n\nCardBody.propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n background: PropTypes.bool,\n plain: PropTypes.bool,\n formHorizontal: PropTypes.bool,\n pricing: PropTypes.bool,\n signup: PropTypes.bool,\n color: PropTypes.bool\n};\n\nexport default withStyles(cardBodyStyle)(CardBody);\n","import {\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader\n} from \"assets/jss/material-kit-pro-react.jsx\";\nconst cardHeaderStyle = {\n cardHeader: {\n borderRadius: \"3px\",\n padding: \"1rem 15px\",\n marginLeft: \"15px\",\n marginRight: \"15px\",\n marginTop: \"-30px\",\n border: \"0\",\n marginBottom: \"0\"\n },\n cardHeaderPlain: {\n marginLeft: \"0px\",\n marginRight: \"0px\",\n \"&$cardHeaderImage\": {\n margin: \"0 !important\"\n }\n },\n cardHeaderImage: {\n position: \"relative\",\n padding: \"0\",\n zIndex: \"1\",\n marginLeft: \"15px\",\n marginRight: \"15px\",\n marginTop: \"-30px\",\n borderRadius: \"6px\",\n \"& img\": {\n width: \"100%\",\n borderRadius: \"6px\",\n pointerEvents: \"none\",\n boxShadow:\n \"0 5px 15px -8px rgba(0, 0, 0, 0.24), 0 8px 10px -5px rgba(0, 0, 0, 0.2)\"\n },\n \"& a\": {\n display: \"block\"\n }\n },\n noShadow: {\n \"& img\": {\n boxShadow: \"none !important\"\n }\n },\n cardHeaderContact: {\n margin: \"0 15px\",\n marginTop: \"-20px\"\n },\n cardHeaderSignup: {\n marginLeft: \"20px\",\n marginRight: \"20px\",\n marginTop: \"-40px\",\n padding: \"20px 0\",\n width: \"100%\",\n marginBottom: \"15px\"\n },\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader\n};\n\nexport default cardHeaderStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n// @material-ui/icons\n\n// core components\nimport cardHeaderStyle from \"assets/jss/material-kit-pro-react/components/cardHeaderStyle.jsx\";\n\nfunction CardHeader({ ...props }) {\n const {\n classes,\n className,\n children,\n color,\n plain,\n image,\n contact,\n signup,\n noShadow,\n ...rest\n } = props;\n const cardHeaderClasses = classNames({\n [classes.cardHeader]: true,\n [classes[color + \"CardHeader\"]]: color,\n [classes.cardHeaderPlain]: plain,\n [classes.cardHeaderImage]: image,\n [classes.cardHeaderContact]: contact,\n [classes.cardHeaderSignup]: signup,\n [classes.noShadow]: noShadow,\n [className]: className !== undefined\n });\n return (\n
\n {children}\n
\n );\n}\n\nCardHeader.propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n color: PropTypes.oneOf([\n \"warning\",\n \"success\",\n \"danger\",\n \"info\",\n \"primary\",\n \"rose\"\n ]),\n plain: PropTypes.bool,\n image: PropTypes.bool,\n contact: PropTypes.bool,\n signup: PropTypes.bool,\n noShadow: PropTypes.bool\n};\n\nexport default withStyles(cardHeaderStyle)(CardHeader);\n","import {\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader\n} from \"assets/jss/material-kit-pro-react.jsx\";\nconst cardIconStyle = {\n cardIcon: {\n \"&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader\": {\n borderRadius: \"3px\",\n backgroundColor: \"#999\",\n padding: \"15px\",\n marginTop: \"-20px\",\n marginRight: \"15px\",\n float: \"left\"\n }\n },\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader\n};\n\nexport default cardIconStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n// @material-ui/icons\n\n// core components\nimport cardIconStyle from \"assets/jss/material-kit-pro-react/components/cardIconStyle.jsx\";\n\nfunction CardIcon({ ...props }) {\n const { classes, className, children, color, ...rest } = props;\n const cardIconClasses = classNames({\n [classes.cardIcon]: true,\n [classes[color + \"CardHeader\"]]: color,\n [className]: className !== undefined\n });\n return (\n
\n {children}\n
\n );\n}\n\nCardIcon.propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n color: PropTypes.oneOf([\n \"warning\",\n \"success\",\n \"danger\",\n \"info\",\n \"primary\",\n \"rose\"\n ])\n};\n\nexport default withStyles(cardIconStyle)(CardIcon);\n","const cardFooterStyle = {\n cardFooter: {\n display: \"flex\",\n alignItems: \"center\",\n backgroundColor: \"transparent\",\n padding: \"0.9375rem 1.875rem\",\n paddingTop: \"0\"\n },\n cardFooterProfile: {\n marginTop: \"-15px\"\n },\n cardFooterPlain: {\n paddingLeft: \"5px\",\n paddingRight: \"5px\",\n backgroundColor: \"transparent\"\n },\n cardFooterPricing: {\n zIndex: \"2\"\n },\n cardFooterTestimonial: {\n display: \"block\"\n }\n};\n\nexport default cardFooterStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n// @material-ui/icons\n\n// core components\nimport cardFooterStyle from \"assets/jss/material-kit-pro-react/components/cardFooterStyle.jsx\";\n\nfunction CardFooter({ ...props }) {\n const {\n classes,\n className,\n children,\n plain,\n profile,\n pricing,\n testimonial,\n ...rest\n } = props;\n const cardFooterClasses = classNames({\n [classes.cardFooter]: true,\n [classes.cardFooterPlain]: plain,\n [classes.cardFooterProfile]: profile || testimonial,\n [classes.cardFooterPricing]: pricing,\n [classes.cardFooterTestimonial]: testimonial,\n [className]: className !== undefined\n });\n return (\n
\n {children}\n
\n );\n}\n\nCardFooter.propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n plain: PropTypes.bool,\n profile: PropTypes.bool,\n pricing: PropTypes.bool,\n testimonial: PropTypes.bool\n};\n\nexport default withStyles(cardFooterStyle)(CardFooter);\n","export default {\n \"1\": \"#E6004D\"\n , \"2\": \"#FFFFA8\"\n , \"3\": \"#80FF00\"\n , \"4\": \"#A6A6FF\"\n , \"5\": \"#00CCF2\"\n , \"111\": \"#E6004D\"\n , \"112\": \"#FF0000\"\n , \"121\": \"#CC4DF2\"\n , \"122\": \"#CC0000\"\n , \"123\": \"#E6CCCC\"\n , \"124\": \"#E6CCE6\"\n , \"131\": \"#A000CC\"\n , \"132\": \"#A600CC\"\n , \"133\": \"#FF4DFF\"\n , \"141\": \"#FFA6FF\"\n , \"142\": \"#FFE6FF\"\n , \"211\": \"#FFFFA8\"\n , \"212\": \"#FFFF00\"\n , \"221\": \"#E68000\"\n , \"222\": \"#F2A64D\"\n , \"223\": \"#E6A600\"\n , \"231\": \"#E6E64D\"\n , \"241\": \"#FFE6A6\"\n , \"242\": \"#FFE64D\"\n , \"243\": \"#E6CCA6\"\n , \"311\": \"#80FF00\"\n , \"312\": \"#00A600\"\n , \"313\": \"#4DFF00\"\n , \"321\": \"#CCF24D\"\n , \"322\": \"#A6FF80\"\n , \"323\": \"#A6E64D\"\n , \"324\": \"#A6F200\"\n , \"331\": \"#E6E6E6\"\n , \"332\": \"#CCCCCC\"\n , \"333\": \"#CCFFCC\"\n , \"334\": \"#000000\"\n , \"411\": \"#A6A6FF\"\n , \"421\": \"#CCCCFF\"\n , \"422\": \"#E6E6FF\"\n , \"423\": \"#A6A6E6\"\n , \"511\": \"#00CCF2\"\n , \"512\": \"#80F2E6\"\n , \"521\": \"#00FFA6\"\n , \"523\": \"#E6F2FF\"\n};","import React from 'react'\n\n// plugin that creates slider\nimport nouislider from \"nouislider\";\nimport wNumb from \"wnumb\";\n\nclass CLCChartZoom extends React.Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n textValue: null,\n percent: null\n };\n }\n\n componentDidMount() {\n this.slider = this.refs.slider;\n\n nouislider.create(this.slider, {\n start: 0,\n connect: [false, true],\n step: 10,\n range: { min: 0, max: 100 },\n orientation: 'vertical',\n tooltips: false,\n format: wNumb({\n decimals: 0\n }),\n cssPrefix: \"noUiChart-\"\n });\n\n this.slider.noUiSlider.on('update', function () {\n if (this.props.onSet) {\n this.props.onSet(this.slider.noUiSlider.get());\n }\n }.bind(this))\n\n var handle = this.slider.querySelectorAll('.noUiChart-handle');\n for (var i = 0; i < handle.length; i++) {\n handle[i].classList.add(\"noUiChart-\" + this.props.color);\n }\n\n if (this.props.val) {\n this.slider.noUiSlider.set(this.props.val);\n }\n\n if (this.props.onMount) {\n this.props.onMount(this.slider.noUiSlider);\n }\n\n }\n\n onSlide = (render, handle, value, un, percent) => {\n this.setState({\n textValue: value[0].toFixed(2),\n percent: percent[0].toFixed(2)\n });\n };\n\n render() {\n return (\n
\n );\n }\n}\n\nexport default CLCChartZoom","import React from 'react';\nimport classNames from \"classnames\";\nimport numbro from 'numbro';\n\n// plugin that creates slider\nimport nouislider from \"nouislider\";\n\n// react plugin for creating charts\nimport ChartistGraph from \"react-chartist\";\nimport Chartist from 'chartist';\nimport tooltip from 'chartist-plugin-tooltips';\n\n// @material-ui/core components\nimport Icon from \"@material-ui/core/Icon\";\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport IconButton from '@material-ui/core/IconButton';\nimport Button from \"@material-ui/core/Button\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\n\n\n// @material-ui/icons\nimport BarChartIcon from '@material-ui/icons/BarChart';\nimport ShortTextIcon from '@material-ui/icons/ShortText';\nimport Sync from '@material-ui/icons/Sync';\nimport SyncDisabled from '@material-ui/icons/SyncDisabled';\n\n// Core components\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\nimport Card from \"components/Card/Card.jsx\";\nimport CardBody from \"components/Card/CardBody.jsx\";\nimport CardHeader from \"components/Card/CardHeader.jsx\";\nimport CardIcon from \"components/Card/CardIcon.jsx\";\nimport CardFooter from \"components/Card/CardFooter.jsx\";\n\nimport dashGeneralPageStyle from \"assets/jss/prehnit/views/dashGeneralPageStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\nimport { Context } from \"Context.jsx\";\n\nimport CLCColors from \"assets/data/clc_colors.js\";\nimport { Typography } from '@material-ui/core';\n\nimport CLCChartZoom from \"components/CLCDataCards/CLCChartZoom\";\n\n// HTML Label plugin\nChartist.plugins = Chartist.plugins || {};\nChartist.plugins.ctHtmlLabels = function (options) {\n return function (chart) {\n chart.on('draw', function (context) {\n if (context.type === 'label') {\n // Best to combine with something like sanitize-html\n context.element.empty()._node.innerHTML = context.text;\n }\n });\n }\n}\n\n\nclass CLCDistChartCard extends React.Component {\n _isMounted = false;\n\n constructor(props) {\n super(props);\n\n this.state = {\n chart_width: \"\",\n high_ha: 10000\n }\n\n this.maxY_ha = undefined;\n this.minY_ha = undefined;\n\n this.handleSort = this.handleSort.bind(this);\n this.handleZoom = this.handleZoom.bind(this);\n this.handleSync = this.handleSync.bind(this);\n this.handleZoomMount = this.handleZoomMount.bind(this);\n }\n\n componentDidMount() {\n this._isMounted = true;\n window.addEventListener('resize', this.updateChartSize.bind(this));\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.updateChartSize.bind(this))\n this._isMounted = false;\n }\n\n updateChartSize() {\n let el = document.getElementById(this.props.id);\n if (el && this._isMounted) {\n this.setState({\n chart_width: el.offsetWidth\n });\n }\n }\n\n chartListener() {\n return {\n draw: function (data) {\n if (data.type === \"label\") {\n }\n if (data.type === \"bar\") {\n let meta = data.series[data.index].meta\n let parts = meta.split(';');\n let clc_code = parts[0];\n let clc_color = CLCColors[clc_code];\n data.element.attr({\n style: 'stroke: ' + clc_color + '; stroke-width:10px;'\n });\n }\n if (data.type === \"grid\") {\n data.element.attr({\n style: 'stroke: rgba(0,0,0,.2); stroke-width:1px; stroke-dasharray: 2px;'\n })\n }\n }\n }\n }\n\n\n chartOptions(width, unit) {\n const { t, data } = this.props;\n\n let axisYhigh = this.calcAxisYHigh(this.props.zoom);\n\n if (!width) {\n let el = document.getElementById(this.props.id);\n if (el) {\n width = el.offsetWidth;\n }\n }\n\n return {\n axisX: {\n showGrid: false,\n labelInterpolationFnc: function (value, index, funcData) {\n return ''\n + value\n + '
'\n + '
'\n }\n },\n axisY: {\n offset: 100,\n low: 0,\n high: axisYhigh ? unit.transform(axisYhigh) : undefined,\n labelInterpolationFnc: function (value, index, data) {\n let suffix = \"\";\n if (index === data.length - 1 && axisYhigh) {\n suffix = \" +\"\n }\n let num = numbro(value).format({ mantissa: 2 });\n if (value > 10) {\n num = numbro(value).format({ mantissa: 0 });\n }\n\n return '' + num + suffix + '';\n }.bind(this)\n },\n height: \"200px\",\n width: width,\n plugins: [\n Chartist.plugins.tooltip({\n metaIsHTML: false,\n tooltipFnc: function (meta, value) {\n if (meta) {\n let parts = meta.split(';')\n let code = parts[0];\n let unit = parts[1];\n return t(\"map:code\") + \": \" + code + \"
\"\n + t(\"clc:\" + code) + \"
\"\n + t(\"map:area\") + \": \" + numbro(value * 100).divide(100).format() + \" \" + unit;\n } else {\n return numbro(value * 100).divide(100).format();\n }\n },\n }),\n Chartist.plugins.ctHtmlLabels()\n ]\n }\n }\n\n filterData(data, col, id) {\n return data.filter(row => {\n return row[col] == id; //must be loose equal ('==')\n });\n }\n\n chartData(unit) {\n\n // let data = this.filterData(this.props.allData, this.props.filterColumnName, this.props.filterId);\n let data = this.props.data;\n data.sort(this.props.sortFunc);\n\n let labels = [];\n let series = [];\n\n this.minY_ha = undefined;\n this.maxY_ha = 0;\n\n if (data) {\n for (let i = 0; i < data.length; i++) {\n let el = data[i];\n if (el.kod_3) {\n labels.push(el.kod_3);\n }\n if (el.pov_3_ha) {\n let val = numbro(unit.transform(el.pov_3_ha) * 100).divide(100).value()\n let val_ha = numbro(el.pov_3_ha * 100).divide(100).value();\n if (this.minY_ha === undefined || val_ha < this.minY_ha) {\n this.minY_ha = val_ha;\n }\n if (val_ha > this.maxY_ha) {\n this.maxY_ha = val_ha;\n }\n series.push({ meta: el.kod_3 + \";\" + unit.short, value: val });\n }\n }\n\n }\n\n return {\n labels: labels,\n series: [series]\n };\n }\n\n footerData(unit) {\n const { t } = this.props;\n\n // let data = this.filterData(this.props.allData, this.props.filterColumnName, this.props.filterId);\n let data = this.props.data;\n\n let codes = [];\n let areas = [];\n let codesHash = {};\n\n for (let i = 0; i < data.length; i++) {\n let code = data[i].kod_1;\n let area = data[i].pov_1_ha;\n if (!codesHash[code]) {\n codes.push(code);\n areas.push(area);\n codesHash[code] = true;\n }\n }\n\n let res = \"\";\n\n for (let i = 0; i < codes.length; i++) {\n let c = codes[i]\n res += c + \"xx - \" + t(\"clc:\" + c) + \": \" + numbro(unit.transform(areas[i])).format() + \" \" + unit.short + \"; \";\n }\n return (
{res}
);\n }\n\n handleSort() {\n if (this.props.onSetSort) {\n this.props.onSetSort(!this.props.sort);\n }\n }\n\n handleSync() {\n if (this.props.onSetSync) {\n this.props.onSetSync();\n }\n }\n\n calcAxisYHigh(val) {\n let min = this.minY_ha || 1;\n let max = this.maxY_ha || 1;\n\n let exp = Math.log10(max);\n let step = exp / 9;\n\n let step_values = [12, 8, 7, 6, 5, 4, 3, 2, 1];\n step_values = step_values.map(x => Math.round(2 * min + (max / Math.exp(x * step))));\n\n let values = new Array();\n values.push(2 * min);\n values = values.concat(step_values);\n values.push(undefined);\n // console.log(values);\n\n let ord = (val / 10);\n\n return values[ord];\n }\n\n handleZoom(val) {\n if (this.props.onSetZoom) {\n this.props.onSetZoom(val);\n }\n }\n\n handleZoomMount(slider) {\n this.slider = slider;\n }\n\n _getTitle(data) {\n if (this.props.title && this.props.alwaysDefaultTitle) {\n return this.props.title;\n }\n if (data && data.length > 0) {\n let d = data[0];\n if (d.title_trans_token) {\n return this.props.t(d.title_trans_token);\n } else if (d.title) {\n return d.title;\n }\n } else {\n return null;\n }\n }\n\n render() {\n const { t, classes } = this.props;\n\n if (this.slider && this.props.zoom && this.slider.get() !== this.props.zoom) {\n this.slider.set(this.props.zoom);\n }\n return (\n \n {ctx =>\n \n \n \n signal_cellular_alt\n \n

\n {this._getTitle(this.props.data) || t(\"map:class-distribution\")}\n - {this.props.subtitle || t(\"map:level-3\")}\n

\n {t('common:order')}: {this.props.sortType ? t('common:order-maxmin') : t('common:order-code')}\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n {this.props.showSync ?\n \n \n \n \n \n : null}\n \n \n \n
\n \n
\n
\n
\n
\n \n \n {this.footerData(ctx.unit)}\n \n \n
\n }\n
\n );\n }\n}\n\nexport default withNamespaces()(withStyles(dashGeneralPageStyle)(CLCDistChartCard));\n","import React from 'react';\nimport classNames from \"classnames\";\nimport numbro from 'numbro';\n\n// react plugin for creating charts\nimport ChartistGraph from \"react-chartist\";\nimport Chartist from 'chartist';\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport Icon from \"@material-ui/core/Icon\";\nimport Button from \"@material-ui/core/Button\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\n\nimport Sync from '@material-ui/icons/Sync';\nimport SyncDisabled from '@material-ui/icons/SyncDisabled';\n\n// Core components\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\nimport Card from \"components/Card/Card.jsx\";\nimport CardBody from \"components/Card/CardBody.jsx\";\nimport CardHeader from \"components/Card/CardHeader.jsx\";\nimport CardIcon from \"components/Card/CardIcon.jsx\";\nimport CardFooter from \"components/Card/CardFooter.jsx\";\n\nimport dashGeneralPageStyle from \"assets/jss/prehnit/views/dashGeneralPageStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\nimport { Context } from \"Context.jsx\";\n\nimport CLCColors from \"assets/data/clc_colors.js\";\nimport CLCChartZoom from \"components/CLCDataCards/CLCChartZoom\";\n\nChartist.plugins.ctHtmlLabels = function (options) {\n return function (chart) {\n chart.on('draw', function (context) {\n if (context.type === 'label') {\n // Best to combine with something like sanitize-html\n context.element.empty()._node.innerHTML = context.text;\n }\n });\n }\n}\n\nclass CLCTrendsChartCard extends React.Component {\n\n _isMounted = false;\n\n constructor(props) {\n super(props);\n\n this.state = {\n chart_width: \"\",\n high_ha: undefined\n }\n\n this.tooltipFnc = this.tooltipFnc.bind(this);\n this.handleZoom = this.handleZoom.bind(this);\n this.handleSync = this.handleSync.bind(this);\n this.handleZoomMount = this.handleZoomMount.bind(this);\n }\n\n componentDidMount() {\n this._isMounted = true;\n window.addEventListener('resize', this.updateChartSize.bind(this));\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.updateChartSize.bind(this))\n this._isMounted = false;\n }\n\n updateChartSize() {\n let el = document.getElementById(this.props.id);\n if (el && this._isMounted) {\n this.setState({\n chart_width: el.offsetWidth\n });\n }\n }\n\n calcAxisYHigh(val) {\n let min = this.minY || 1;\n let max = this.maxY || 1;\n\n let exp = Math.log10(max);\n let step = exp / 9;\n\n let step_values = [12, 8, 7, 6, 5, 4, 3, 2, 1];\n step_values = step_values.map(x => Math.round(5 * min + (max / Math.exp(x * step))));\n\n let values = new Array();\n values.push(5 * min);\n values = values.concat(step_values);\n values.push(undefined);\n\n let ord = (val / 10);\n\n return values[ord];\n }\n\n handleZoom(val) {\n if (this.props.onSetZoom) {\n this.props.onSetZoom(val);\n }\n }\n\n handleZoomMount(slider) {\n this.slider = slider;\n }\n\n handleSync() {\n if (this.props.onSetSync) {\n this.props.onSetSync();\n }\n }\n\n tooltipFnc(meta, value) {\n const { t } = this.props;\n if (meta) {\n let parts = meta.split(';')\n let code = parts[0];\n let unit = parts[1];\n return t(\"map:code\") + \": \" + code + \"
\"\n + t(\"clc:\" + code) + \"
\"\n + t(\"map:area\") + \": \" + numbro(value * 100).divide(100).format() + \" \" + unit;\n } else {\n return numbro(value * 100).divide(100).format();\n }\n };\n\n chartListener() {\n return {\n draw: function (data) {\n if (data.type === \"grid\") {\n data.element.attr({\n style: 'stroke: rgba(0,0,0,.2); stroke-width:1px; stroke-dasharray: 2px;'\n })\n }\n if ((data.type === \"line\" || data.type === \"area\" || data.type === \"point\")\n && (data.series.length > 0)) {\n let meta = data.series.filter(function (el) {\n return el != null;\n })[0].meta;\n let parts = meta.split(';');\n let clc_code = parts[0];\n let clc_color = CLCColors[clc_code];\n\n if (data.type === \"line\" || data.type === \"area\") {\n data.element.attr({\n style: 'stroke: ' + clc_color + '; stroke-width:2px; fill: rgba(255, 255, 255, 0);'\n });\n } else if (data.type === \"point\") {\n data.element.attr({\n style: 'stroke: ' + clc_color + '; stroke-width:10px; stroke-linecap: round;'\n });\n }\n\n else if (data.type === \"line\" || data.type === \"point\") {\n data.element.attr({\n style: 'stroke: ' + clc_color + ';'\n });\n }\n }\n }\n }\n }\n\n chartOptions(width, unit) {\n\n let axisYhigh = this.calcAxisYHigh(this.props.zoom);\n\n if (!width) {\n let el = document.getElementById(this.props.id);\n if (el) {\n width = el.offsetWidth;\n }\n }\n\n return {\n axisX: {\n showGrid: false,\n labelInterpolationFnc: function (value, index, data) {\n return '' + value + '';\n }\n },\n axisY: {\n showGrid: true,\n offset: 100,\n low: 0,\n high: axisYhigh ? unit.transform(axisYhigh) : undefined,\n labelInterpolationFnc: function (value, index, data) {\n let suffix = \"\";\n if (index === data.length - 1 && axisYhigh) {\n suffix = \" +\"\n }\n if (value > 1) {\n return '' + numbro(value).format({ mantissa: 0 }) + suffix + '';\n }\n else {\n return '' + numbro(value).format({ mantissa: 2 }) + suffix + '';\n }\n }.bind(this)\n\n },\n\n showPoint: true,\n height: this.props.height,\n width: width,\n plugins: [\n Chartist.plugins.tooltip({\n metaIsHTML: false,\n tooltipFnc: this.tooltipFnc\n }),\n Chartist.plugins.ctHtmlLabels()\n ]\n }\n }\n\n onlyUnique(value, index, self) {\n return self.indexOf(value) === index;\n }\n\n chartData(unit) {\n\n let data = this.props.trendsData;\n\n this.minY = undefined;\n this.maxY = 0;\n\n let labels = data.map(x => x.y).filter(this.onlyUnique);\n let labels_length = labels.length;\n\n let type_data = data.reduce(function (result, current) {\n result[current[this.props.idCol]] = result[current[this.props.idCol]] || [];\n result[current[this.props.idCol]].push(current);\n return result;\n }.bind(this), []);\n type_data = type_data.filter(function (el) {\n return el != undefined;\n });\n\n let series = [];\n let values = [];\n\n for (let i = 0; i < type_data.length; i++) {\n let el = type_data[i];\n\n let s = new Array(labels_length).fill(null);\n\n for (let j = 0; j < el.length; j++) {\n let ind = labels.indexOf(el[j].y);\n let val_ha = el[j][this.props.areaCol];\n let val = unit.transform(el[j][this.props.areaCol]);\n values.push(parseFloat(val_ha));\n s[ind] = { meta: el[j][this.props.idCol] + \";\" + unit.short, value: val }\n }\n series.push(s);\n }\n\n this.minY = Math.min(...values);\n this.maxY = Math.max(...values);\n\n // for (let i = 0; i < data.length; i++) {\n // let el = data[i];\n\n // let s = [];\n // for (let j = 0; j < labels.length; j++) {\n // let label = labels[j];\n // let col = this.props.areaCol + '_' + label;\n\n // if (el[col] >= 0) {\n // s.push({meta: el[this.props.idCol], value: unit.transform(el[col])});\n // }\n // }\n // series.push(s);\n // }\n\n return {\n labels: labels,\n series: series\n };\n }\n\n footerData(unit) {\n return
\n }\n\n _getTitle(data) {\n if (this.props.title) {\n return this.props.title;\n }\n else if (data && data.length > 0) {\n let d = data[0];\n if (d.title_trans_token) {\n return d.title_trans_token;\n } else if (d.title) {\n return d.title;\n }\n } else {\n return null;\n }\n }\n\n addStringsWithPx(aPx, bPx) {\n let a = parseInt(aPx.replace(\"px\", \"\"));\n let b = parseInt(bPx.replace(\"px\", \"\"));\n\n return (a + b).toString() + \"px\";\n }\n\n render() {\n const { t, classes } = this.props;\n\n if (this.slider && this.props.zoom && this.slider.get() !== this.props.zoom) {\n this.slider.set(this.props.zoom);\n }\n\n return (\n \n {ctx =>\n \n \n \n timeline\n \n

\n {t(this._getTitle(this.props.allData)) || t(\"map:trends\")}\n - {this.props.subtitle || t(\"map:level-3\")}\n

\n
\n \n \n \n \n \n \n \n \n {this.props.showSync ?\n \n \n \n \n \n : null}\n\n \n \n
\n \n
\n
\n
\n
\n \n \n {this.footerData(ctx.unit)}\n \n \n
\n }\n
\n );\n }\n}\n\nexport default withNamespaces()(withStyles(dashGeneralPageStyle)(CLCTrendsChartCard));\n","// ##############################\n// // // Table styles\n// #############################\n\nimport {\n warningColor,\n primaryColor,\n dangerColor,\n successColor,\n infoColor,\n roseColor,\n grayColor,\n defaultFont\n} from \"assets/jss/material-kit-pro-react.jsx\";\n\nconst tableStyle = theme => ({\n warning: {\n color: warningColor\n },\n primary: {\n color: primaryColor\n },\n danger: {\n color: dangerColor\n },\n success: {\n color: successColor\n },\n info: {\n color: infoColor\n },\n rose: {\n color: roseColor\n },\n gray: {\n color: grayColor\n },\n right: {\n textAlign: \"right\"\n },\n table: {\n marginBottom: \"0\",\n width: \"100%\",\n maxWidth: \"100%\",\n backgroundColor: \"transparent\",\n borderSpacing: \"0\",\n borderCollapse: \"collapse\",\n overflow: \"auto\",\n \"& > tbody > tr, & > thead > tr\": {\n height: \"auto\"\n }\n },\n tableShoppingHead: {\n fontSize: \"0.75em !important\",\n textTransform: \"uppercase !important\"\n },\n tableCell: {\n ...defaultFont,\n lineHeight: \"1.5em\",\n padding: \"12px 8px!important\",\n verticalAlign: \"middle\",\n fontSize: \"0.875rem\",\n borderBottom: \"none\",\n borderTop: \"1px solid #ddd\",\n position: \"relative\",\n color: \"#3C4858\"\n },\n tableHeadCell: {\n fontSize: \"1.063rem\",\n borderBottomWidth: \"1px\",\n fontWeight: \"300\",\n color: \"#555\",\n borderTopWidth: \"0 !important\"\n },\n tableCellTotal: {\n fontWeight: \"500\",\n fontSize: \"1.0625rem\",\n paddingTop: \"20px\",\n textAlign: \"right\"\n },\n tableCellAmount: {\n fontSize: \"26px\",\n fontWeight: \"300\",\n marginTop: \"5px\",\n textAlign: \"right\"\n },\n tableResponsive: {\n minHeight: \"0.1%\",\n overflowX: \"auto\"\n },\n tableStripedRow: {\n backgroundColor: \"#f9f9f9\"\n },\n tableRowHover: {\n \"&:hover\": {\n backgroundColor: \"#f5f5f5\"\n }\n },\n warningRow: {\n backgroundColor: \"#fcf8e3\",\n \"&:hover\": {\n backgroundColor: \"#faf2cc\"\n }\n },\n dangerRow: {\n backgroundColor: \"#f2dede\",\n \"&:hover\": {\n backgroundColor: \"#ebcccc\"\n }\n },\n successRow: {\n backgroundColor: \"#dff0d8\",\n \"&:hover\": {\n backgroundColor: \"#d0e9c6\"\n }\n },\n infoRow: {\n backgroundColor: \"#d9edf7\",\n \"&:hover\": {\n backgroundColor: \"#c4e3f3\"\n }\n }\n});\n\nexport default tableStyle;\n","import React from \"react\";\nimport cx from \"classnames\";\nimport PropTypes from \"prop-types\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\n\nimport style from \"assets/jss/material-kit-pro-react/components/tableStyle.jsx\";\n\nfunction CustomTable({ ...props }) {\n const {\n classes,\n tableHead,\n tableData,\n tableHeaderColor,\n hover,\n colorsColls,\n coloredColls,\n customCellClasses,\n customClassesForCells,\n striped,\n tableShopping,\n customHeadCellClasses,\n customHeadClassesForCells\n } = props;\n return (\n
\n \n {tableHead !== undefined ? (\n \n \n {tableHead.map((prop, key) => {\n const tableCellClasses =\n classes.tableHeadCell +\n \" \" +\n classes.tableCell +\n \" \" +\n cx({\n [customHeadCellClasses[\n customHeadClassesForCells.indexOf(key)\n ]]:\n customHeadClassesForCells.indexOf(key) !== -1,\n [classes.tableShoppingHead]: tableShopping\n });\n return (\n \n {prop}\n \n );\n })}\n \n \n ) : null}\n \n {tableData.map((prop, key) => {\n var rowColor = \"\";\n var rowColored = false;\n if (prop.color !== undefined) {\n rowColor = prop.color;\n rowColored = true;\n prop = prop.data;\n }\n const tableRowClasses = cx({\n [classes.tableRowHover]: hover,\n [classes[rowColor + \"Row\"]]: rowColored,\n [classes.tableStripedRow]: striped && key % 2 === 0\n });\n if (prop.total) {\n return (\n \n \n \n Total\n \n \n {prop.amount}\n \n {tableHead.length - (prop.colspan - 0 + 2) > 0 ? (\n \n ) : null}\n \n );\n }\n if (prop.purchase) {\n return (\n \n \n \n Total\n \n \n {prop.amount}\n \n \n {prop.col.text}\n \n \n );\n }\n return (\n \n {prop.map((prop, key) => {\n const tableCellClasses =\n classes.tableCell +\n \" \" +\n cx({\n [classes[colorsColls[coloredColls.indexOf(key)]]]:\n coloredColls.indexOf(key) !== -1,\n [customCellClasses[customClassesForCells.indexOf(key)]]:\n customClassesForCells.indexOf(key) !== -1\n });\n return (\n \n {prop}\n \n );\n })}\n \n );\n })}\n \n
\n
\n );\n}\n\nCustomTable.defaultProps = {\n tableHeaderColor: \"gray\",\n hover: false,\n colorsColls: [],\n coloredColls: [],\n striped: false,\n customCellClasses: [],\n customClassesForCells: [],\n customHeadCellClasses: [],\n customHeadClassesForCells: []\n};\n\nCustomTable.propTypes = {\n classes: PropTypes.object.isRequired,\n tableHeaderColor: PropTypes.oneOf([\n \"warning\",\n \"primary\",\n \"danger\",\n \"success\",\n \"info\",\n \"rose\",\n \"gray\"\n ]),\n tableHead: PropTypes.array,\n // Of(PropTypes.arrayOf(PropTypes.node)) || Of(PropTypes.object),\n tableData: PropTypes.array,\n hover: PropTypes.bool,\n coloredColls: PropTypes.arrayOf(PropTypes.number),\n // Of([\"warning\",\"primary\",\"danger\",\"success\",\"info\",\"rose\",\"gray\"]) - colorsColls\n colorsColls: PropTypes.array,\n customCellClasses: PropTypes.arrayOf(PropTypes.string),\n customClassesForCells: PropTypes.arrayOf(PropTypes.number),\n customHeadCellClasses: PropTypes.arrayOf(PropTypes.string),\n customHeadClassesForCells: PropTypes.arrayOf(PropTypes.number),\n striped: PropTypes.bool,\n // this will cause some changes in font\n tableShopping: PropTypes.bool\n};\n\nexport default withStyles(style)(CustomTable);\n","import React from 'react'\nimport numbro from 'numbro';\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport Icon from \"@material-ui/core/Icon\";\n\n// Core components\nimport Card from \"components/Card/Card.jsx\";\nimport CardBody from \"components/Card/CardBody.jsx\";\nimport CardHeader from \"components/Card/CardHeader.jsx\";\nimport CardIcon from \"components/Card/CardIcon.jsx\";\nimport CardFooter from \"components/Card/CardFooter.jsx\";\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\nimport Table from \"components/Table/Table.jsx\";\n\nimport dashGeneralPageStyle from \"assets/jss/prehnit/views/dashGeneralPageStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\nimport { Context } from \"Context.jsx\";\n\nimport CLCColors from \"assets/data/clc_colors.js\";\n\n\nclass CLCTableCard extends React.Component {\n\n // filterData(data, col, id) {\n // return data.filter( row => {\n // return row[col] == id; //must be loose equal ('==')\n // });\n // }\n\n tblData(unit) {\n const { t, classes } = this.props;\n\n let data1 = this.props.allData.filter(x => x[this.props.filterColumnName] == this.props.filterId_1);\n let data2 = this.props.allData.filter(x => x[this.props.filterColumnName] == this.props.filterId_2);\n\n let elements = [];\n let elementsHash = {};\n\n for (let i = 0; i < data1.length; i++) {\n let code = data1[i].kod_3;\n if (!elementsHash[code]) {\n elements.push(data1[i]);\n elementsHash[code] = true;\n }\n }\n\n if (!this.props.single) {\n for (let i = 0; i < data2.length; i++) {\n let code = data2[i].kod_3;\n if (!elementsHash[code]) {\n elements.push(data2[i]);\n elementsHash[code] = true;\n }\n }\n }\n\n // let sorted_elements_1 = this.filterData(elements, 'id', this.props.filterId_1).sort(this.props.sortFunc);\n // let sorted_elements_2 = this.filterData(elements, 'id', this.props.filterId_2).sort(this.props.sortFunc);\n\n // let sorted_elements = [];\n // sorted_elements_1.forEach(x => sorted_elements.push(x));\n // sorted_elements_2.forEach(function(el) {\n // let exists = this.filterData(sorted_elements_1, 'id', el.id);\n // if (exists && exists.length === 0) {\n // sorted_elements.push(el);\n // }\n // }.bind(this))\n\n let sorted_elements = elements.sort(this.props.sortFunc);\n\n let tableData = [];\n\n for (let i = 0; i < sorted_elements.length; i++) {\n let row = [];\n let code = sorted_elements[i].kod_3;\n row.push(
 
{code}
);\n row.push(t(\"clc:\" + code));\n\n // let val1 = this.filterData(data1, 'kod_3', code)\n let val1 = data1.filter(x => x['kod_3'] == code);\n if (val1.length > 0) {\n row.push(numbro(unit.transform(val1[0]['pov_3_ha'] * 100)).divide(100).format());\n } else {\n row.push(\"--\");\n }\n\n if (!this.props.single) {\n row.push(
 
{code}
);\n row.push(t(\"clc:\" + code));\n\n // let val2 = this.filterData(data2, 'kod_3', code)\n let val2 = data2.filter(x => x['kod_3'] == code);\n if (val2.length > 0) {\n row.push(numbro(unit.transform(val2[0]['pov_3_ha'] * 100)).divide(100).format());\n } else {\n row.push(\"--\");\n }\n }\n\n tableData.push(row);\n }\n\n return tableData;\n }\n\n footerData(unit) {\n const { t } = this.props;\n\n // let data = this.filterData(this.props.allData, this.props.filterColumnName, this.props.filterId);\n let data = this.props.allData.filter(x => x[this.props.filterColumnName] == this.props.filterId);\n\n let codes = [];\n let areas = [];\n let codesHash = {};\n\n for (let i = 0; i < data.length; i++) {\n let code = data[i].kod_1;\n let area = data[i].pov_ha_1;\n if (!codesHash[code]) {\n codes.push(code);\n areas.push(area);\n codesHash[code] = true;\n }\n }\n\n\n let res = \"\";\n\n for (let i = 0; i < codes.length; i++) {\n let c = codes[i]\n res += c + \"xx - \" + t(\"clc:\" + c) + \": \" + numbro(unit.transform(areas[i])).format() + \" \" + unit.short + \"; \";\n }\n return (
{res}
);\n }\n\n tblHeaders(unit) {\n const { t } = this.props;\n\n if (this.props.single) {\n return [t(\"map:class-code\")\n , t(\"map:class-name\")\n ,
{t(\"map:area\")}{\" (\" + unit.short + \")\"}
\n ]\n } else {\n return [t(\"map:class-code\")\n , t(\"map:class-name\")\n ,
{t(\"map:area\")}{\" (\" + unit.short + \")\"}
\n , t(\"map:class-code\")\n , t(\"map:class-name\")\n ,
{t(\"map:area\")}{\" (\" + unit.short + \")\"}
\n ]\n }\n }\n\n getStats(stats, region) {\n const { t } = this.props;\n\n let data = stats.filter(x => x.region_code == region);\n if (data && data.length > 0) {\n let d = data[0];\n let title = d.region_title;\n let token = d.region_title_trans_token;\n if (token && token.length > 0) {\n title = t(token);\n }\n let area = d.region_area_ha\n let count = d.code_3_count;\n\n return (
\n

{title}

\n

\n \n {ctx => t(\"map:area\") + \": \" + numbro(ctx.unit.transform(area) * 100).divide(100).format() + \" \" + ctx.unit.short}\n \n

\n

\n

{t(\"map:number-of-classes\")}: {count}

\n
);\n }\n return null;\n }\n\n\n\n render() {\n const { classes } = this.props;\n return (\n \n {ctx =>\n \n \n \n grid_on\n \n

\n {this.props.title}\n - {this.props.subtitle}\n

\n
\n \n {this.props.single ? null\n : \n \n {this.props.filterId_1 ? this.getStats(this.props.statsData, this.props.filterId_1) : null}\n \n \n {this.props.filterId_2 ? this.getStats(this.props.statsData, this.props.filterId_2) : null}\n \n \n }\n\n \n \n \n \n
\n }\n
\n );\n }\n}\n\nexport default withNamespaces()(withStyles(dashGeneralPageStyle)(CLCTableCard));\n","import React from 'react'\nimport numbro from 'numbro';\nimport classNames from \"classnames\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport Icon from \"@material-ui/core/Icon\";\nimport Button from \"@material-ui/core/Button\";\n\n// Core components\nimport Card from \"components/Card/Card.jsx\";\nimport CardBody from \"components/Card/CardBody.jsx\";\nimport CardHeader from \"components/Card/CardHeader.jsx\";\nimport CardIcon from \"components/Card/CardIcon.jsx\";\nimport CardFooter from \"components/Card/CardFooter.jsx\";\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\n\nimport dashGeneralPageStyle from \"assets/jss/prehnit/views/dashGeneralPageStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport { Context } from \"Context.jsx\";\n\n//import { API } from \"services/api\";\nimport i18n from \"i18next\";\n\nimport * as ExcelJs from 'exceljs/dist/exceljs.js';\nimport createReport from 'docx-templates';\n//import JSZip from 'jszip';\nimport JSZipUtils from 'jszip-utils';\nimport saveAs from 'file-saver';\n\nfunction sortTrendsData(a, b) {\n if (a.y !== b.y) {\n return b.y - a.y\n } else {\n if (a.id !== b.id) {\n return a.id - b.id\n } else {\n return a.k3 - b.k3;\n }\n }\n}\n\nclass CLCExportCard extends React.Component {\n\n constructor(props) {\n super(props);\n\n this.handleExcel = this.handleExcel.bind(this);\n this.handleWord = this.handleWord.bind(this);\n this.genFileName = this.genFileName.bind(this);\n this.genTableData = this.genTableData.bind(this);\n this.saveDataToFile = this.saveDataToFile.bind(this);\n this.getTitle = this.getTitle.bind(this);\n }\n\n genReportName(reportType, lng) {\n return \"/templates/report_template_\" + reportType + \"_\" + lng + \".docx\";\n }\n\n genFileName(unit, ext) {\n return \"clccro_\" + this.props.categoryCode\n + (this.props.regionOne ? \"_\" + this.props.regionOne : \"\")\n + (this.props.regionTwo ? \"_\" + this.props.regionTwo : \"\")\n + \"_\" + unit\n + \"_\" + i18n.language + \".\" + ext;\n }\n\n genTableData(unit) {\n const { t } = this.props;\n\n let data1 = this.props.allData;\n let data2 = this.props.allData\n\n if (!this.props.single) {\n data1 = this.props.allData.filter(x => x['id'] == this.props.regionOne);\n data2 = this.props.allData.filter(x => x['id'] == this.props.regionTwo);\n }\n\n\n let elements = [];\n let elementsHash = {};\n\n for (let i = 0; i < data1.length; i++) {\n let code = data1[i].kod_3;\n if (!elementsHash[code]) {\n elements.push(data1[i]);\n elementsHash[code] = true;\n }\n }\n\n if (!this.props.single) {\n for (let i = 0; i < data2.length; i++) {\n let code = data2[i].kod_3;\n if (!elementsHash[code]) {\n elements.push(data2[i]);\n elementsHash[code] = true;\n }\n }\n }\n\n let sorted_elements = elements.sort(this.props.sortFunc);\n\n let tableData = [];\n\n for (let i = 0; i < sorted_elements.length; i++) {\n let row = {};\n let code = sorted_elements[i].kod_3;\n row['code'] = code;\n row['title'] = t(\"clc:\" + code)\n\n // let val1 = this.filterData(data1, 'kod_3', code)\n let val1 = data1.filter(x => x['kod_3'] == code);\n if (val1.length > 0) {\n row['area_a'] = numbro(unit.transform(val1[0]['pov_3_ha'] * 100)).divide(100).format()\n } else {\n row['area_a'] = '--';\n }\n\n if (!this.props.single) {\n // let val2 = this.filterData(data2, 'kod_3', code)\n let val2 = data2.filter(x => x['kod_3'] == code);\n if (val2.length > 0) {\n row['area_b'] = numbro(unit.transform(val2[0]['pov_3_ha'] * 100)).divide(100).format();\n } else {\n row['area_b'] = \"--\";\n }\n }\n\n tableData.push(row);\n }\n\n return tableData;\n }\n\n genMapImage(mapId) {\n let el = document.getElementById(mapId);\n if (el) {\n let width = el.offsetWidth;\n let height = el.offsetHeight;\n let ratio = width / height;\n\n let canvases = el.getElementsByTagName('canvas');\n let canvas = canvases[0];\n\n let png = canvas.toDataURL(\"image/png\");\n return png;\n } else {\n console.warn('Cannot find map with id: ', mapId);\n return null;\n }\n }\n\n genChartImage(chartId, callback) {\n let el = document.getElementById(chartId);\n let width = el.offsetWidth;\n let height = el.offsetHeight;\n let ratio = width / height;\n let svgs = el.getElementsByTagName('svg')\n let svg = svgs[0];\n\n var svgString = new XMLSerializer().serializeToString(svg);\n\n var svg64 = btoa(svgString);\n var b64Start = 'data:image/svg+xml;base64,';\n var image64 = b64Start + svg64;\n\n let img = new Image();\n\n img.setAttribute('crossOrigin', 'anonymous');\n img.width = el.offsetWidth;\n img.height = el.offsetHeight;\n\n img.onload = function () {\n let canvas = document.createElement('canvas');\n canvas.width = el.offsetWidth;\n canvas.height = el.offsetHeight;\n let ctx = canvas.getContext(\"2d\");\n\n ctx.drawImage(img, 0, 0);\n\n let png = canvas.toDataURL(\"image/png\")\n\n callback(png, ratio)\n };\n\n img.onerror = function () {\n console.warn(\"Error loading image:\", chartId);\n }\n\n img.src = image64;\n\n return;\n }\n\n getTitle(data, id) {\n const { t } = this.props;\n\n let filteredData = data.filter(x => x.id == id);\n if (filteredData && filteredData.length > 0) {\n const el = filteredData[0];\n if (el.title_trans_token) {\n return t(el.title_trans_token);\n } else {\n return el.title || null;\n }\n } else {\n return null;\n }\n }\n\n handleExcel(unit) {\n const { t } = this.props;\n var workbook = new ExcelJs.Workbook();\n\n var worksheet = workbook.addWorksheet('Data', { views: [{ xSplit: 1, ySplit: 1 }] });\n\n let columns = [\n { header: t(\"export:col-year\"), key: 'year', width: 10, style: { alignment: { horizontal: 'center' } } },\n { header: t(\"export:col-clc1-code\"), key: 'clc1Code', width: 10, style: { alignment: { horizontal: 'center' } } },\n { header: t(\"export:col-clc1-title\"), key: 'clc1Title', width: 32 },\n { header: t(\"export:col-clc1-area\") + ' / ' + unit.short, key: 'clc1Area', width: 17, style: { numFmt: '0.00' } },\n { header: t(\"export:col-clc3-code\"), key: 'clc3Code', width: 10, style: { alignment: { horizontal: 'center' } } },\n { header: t(\"export:col-clc3-title\"), key: 'clc3Title', width: 50 },\n { header: t(\"export:col-clc3-area\") + ' / ' + unit.short, key: 'clc3Area', width: 17, style: { numFmt: '0.00' } }\n ];\n\n if (!this.props.single) {\n columns.push(\n { header: t(\"export:col-region-title\"), key: 'regionTitle', width: 32 }\n );\n }\n\n worksheet.columns = columns;\n\n let titles = [];\n let data = [];\n if (this.props.hasFilter) {\n titles = this.props.allData.filter(x => x['id'] == this.props.regionOne || x['id'] == this.props.regionTwo).map(function (x) {\n return { id: x.id, title: x.title_trans_token.length > 0 ? t(x.title_trans_token) : x.title }\n });\n\n data = this.props.trendsData.filter(x => x['id'] == this.props.regionOne || x['id'] == this.props.regionTwo).sort(sortTrendsData)\n } else {\n titles = this.props.allData.map(function (x) {\n return { id: x.id, title: x.title_trans_token.length > 0 ? t(x.title_trans_token) : x.title }\n });\n data = this.props.trendsData.sort(sortTrendsData)\n }\n\n data.forEach(function (row) {\n\n let regionTitle = \"\";\n let regionTitles = titles.filter(function (x) { return x.id === row.id })\n if (regionTitles && regionTitles.length > 0) {\n regionTitle = regionTitles[0].title;\n }\n\n let excelRow = {\n year: row.y,\n clc1Code: row.k1,\n clc1Title: t(\"clc:\" + row.k1),\n clc1Area: numbro.unformat(numbro(unit.transform(row.p1 * 100)).divide(100).format()),\n clc3Code: row.k3,\n clc3Title: t(\"clc:\" + row.k3),\n clc3Area: numbro.unformat(numbro(unit.transform(row.p3 * 100)).divide(100).format())\n }\n\n if (!this.props.single) {\n excelRow['regionTitle'] = regionTitle;\n }\n worksheet.addRow(excelRow);\n\n }.bind(this));\n\n let filename = this.genFileName(unit.short, 'xlsx');\n\n workbook.xlsx.writeBuffer().then(function (data) {\n var blob = new Blob([data], { type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\" });\n saveAs(blob, filename);\n });\n }\n\n loadWordTemplate(url, callback) {\n JSZipUtils.getBinaryContent(url, callback)\n }\n\n readFileIntoArrayBuffer = fd =>\n new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onerror = reject;\n reader.onload = () => {\n resolve(reader.result);\n };\n reader.readAsArrayBuffer(fd);\n });\n\n saveDataToFile(data, fileName, mimeType) {\n const blob = new Blob([data], { type: mimeType });\n const url = window.URL.createObjectURL(blob);\n this.downloadURL(url, fileName, mimeType);\n setTimeout(() => {\n window.URL.revokeObjectURL(url);\n }, 1000);\n };\n\n downloadURL(data, fileName) {\n const a = document.createElement('a');\n a.href = data;\n a.download = fileName;\n document.body.appendChild(a);\n a.style = 'display: none';\n a.click();\n a.remove();\n };\n\n fillReport(content, unit, imagesData) {\n const { t } = this.props;\n let tblData = this.genTableData(unit);\n\n let regionOneData = this.props.allData.filter(x => x.id == this.props.regionOne);\n let regionTwoData = this.props.allData.filter(x => x.id == this.props.regionTwo);\n\n let regionOneStats = undefined;\n let regionTwoStats = undefined;\n if (this.props.statsData) {\n regionOneStats = this.props.statsData.filter(x => x.region_code == this.props.regionOne)[0];\n regionTwoStats = this.props.statsData.filter(x => x.region_code == this.props.regionTwo)[0];\n }\n\n\n const report = createReport({\n template: content,\n data: {\n all: tblData,\n unit: unit.short,\n area: 1,\n clc3_count: tblData.length,\n date: (new Date()).toLocaleDateString(i18n.language),\n region_type: t('export:' + this.props.categoryCode),\n primary: {\n title: this.getTitle(this.props.allData, this.props.regionOne),\n code: this.props.regionOne || \"\",\n area: regionOneStats ? numbro(unit.transform(regionOneStats.region_area_ha * 100)).divide(100).format() : '',\n rel_area: regionOneStats ? regionOneStats.region_perc : '',\n clc3_count: regionOneData.length\n },\n secondary: {\n title: this.getTitle(this.props.allData, this.props.regionTwo),\n code: this.props.regionTwo || \"\",\n area: regionTwoStats ? numbro(unit.transform(regionTwoStats.region_area_ha * 100)).divide(100).format() : '',\n rel_area: regionTwoStats ? regionTwoStats.region_perc : '',\n clc3_count: regionTwoData.length\n }\n },\n additionalJsContext: {\n chart: function (id, width) {\n let chartData = imagesData.filter(x => x.id == id)[0];\n let chartImage = chartData.image;\n let chartRatio = chartData.ratio;\n\n let height = width / chartRatio;\n const dataUrl = chartImage;\n const data = dataUrl.slice('data:image/png;base64,'.length);\n return { width: width, height: height, data, extension: '.png' }\n },\n map: function (id, width) {\n const dataUrl = this.genMapImage(id);\n const data = dataUrl.slice('data:image/png;base64,'.length);\n return { width: width, height: width, data, extension: '.png' }\n }.bind(this)\n }\n })\n report.then(data => {\n let filename = this.genFileName(unit.short, 'docx');\n\n this.saveDataToFile(\n data,\n filename,\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n );\n\n })\n\n }\n\n handleWord(unit) {\n let templateName = this.genReportName(this.props.reportType, i18n.language);\n\n this.loadWordTemplate(templateName, function (error, content) {\n if (error) {\n console.warn(error);\n throw error;\n }\n\n let chartIds = this.props.chartIds;\n let data = [];\n\n chartIds.forEach(id => this.genChartImage(id, function (png, ratio) {\n let d = {\n id: id,\n image: png,\n ratio: ratio\n };\n data.push(d);\n if (chartIds.length == data.length) {\n this.fillReport(content, unit, data);\n }\n }.bind(this)));\n }.bind(this));\n }\n\n render() {\n const { t, classes } = this.props;\n return (\n \n \n \n save_alt\n \n

\n {this.props.title}\n {this.props.subtitle ? - {this.props.subtitle} : null}\n

\n
\n \n \n \n \n \n
{t('common:document')}
\n
\n description\n
\n

{t('common:word')}

\n

{t('common:word-desc')}

\n \n {ctx =>\n this.handleWord(ctx.unit)}>\n {t('common:download')}\n \n }\n \n
\n
\n
\n \n \n \n
{t('common:data')}
\n
\n grid_on\n
\n

{t('common:excel')}

\n

{t('common:excel-desc')}

\n \n {ctx =>\n this.handleExcel(ctx.unit)} >\n {t('common:download')}\n \n }\n \n
\n
\n
\n
\n
\n \n \n
\n\n );\n }\n}\n\nexport default withNamespaces()(withStyles(dashGeneralPageStyle)(CLCExportCard));\n","export {\n sortAreas,\n sortClasses,\n filterData\n};\n\nfunction sortAreas(a, b) {\n return b.pov_3_ha - a.pov_3_ha;\n}\n\nfunction sortClasses(a, b) {\n return a.kod_3 - b.kod_3;\n}\n\nfunction filterData(data, col, id) {\n return data.filter( row => {\n return row[col] == id ; // must be loose equal ('==')\n });\n}\n","import React from 'react'\nimport numbro from 'numbro';\n\n//OpenLayers\nimport OlMap from \"ol/Map\";\nimport OlView from \"ol/View\";\nimport OlFormatGeoJSON from 'ol/format/GeoJSON';\nimport OlSourceVector from \"ol/source/Vector\";\nimport OlLayerVector from \"ol/layer/Vector\";\n\nimport OlSourceTileWMS from \"ol/source/TileWMS\";\nimport OlLayerTile from \"ol/layer/Tile\";\n\nimport OlStyle from 'ol/style/Style';\nimport OlStroke from 'ol/style/Stroke';\nimport OlFill from 'ol/style/Fill';\n\nimport OlSelect from 'ol/interaction/Select';\nimport OlDragPan from 'ol/interaction/DragPan';\nimport OlKeyboardPan from 'ol/interaction/KeyboardPan';\nimport { pointerMove as OlPointerMove } from 'ol/events/condition';\n\nimport { defaults as OlInteractionDefaults } from 'ol/interaction';\nimport { defaults as OlControlDefaults } from 'ol/control';\n\nimport { register as OlRegister } from 'ol/proj/proj4'\nimport { get as OlGetProjection } from 'ol/proj'\n\nimport proj4 from 'proj4';\n\nimport { Context } from \"Context.jsx\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\nimport mapStyle from \"assets/jss/prehnit/components/mapStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport { geoserverService } from \"services/geoserver\";\n\nconst url = process.env.REACT_APP_GeoServer_WFS_Url;\n\n\nclass MapSimple extends React.Component {\n _isMounted = false;\n\n constructor(props) {\n super(props);\n\n this.state = {\n map: undefined,\n viewCenter: [500000, 4900000],\n zoom: this.props.initialZoom,\n height: 0,\n width: 0,\n\n pointerLeft: 0,\n pointerTop: 0,\n\n regionId: undefined,\n regionTitle: undefined,\n regionArea: undefined,\n regionCoveragePerc: undefined,\n regionDesc: undefined,\n\n regionOne: this.props.regionOne,\n regionTwo: this.props.regionTwo,\n\n features: undefined\n }\n\n this.highlightedFeatures = [];\n this.selectStylePrimary = new OlStyle({\n stroke: new OlStroke({\n color: 'rgba(67,134,0,1)',\n width: 1\n }),\n fill: new OlFill({\n color: 'rgba(127,193,66,1)'\n })\n });\n this.selectStyleSecondary = new OlStyle({\n stroke: new OlStroke({\n color: 'rgba(251,140,0,1)',\n width: 1\n }),\n fill: new OlFill({\n color: 'rgba(255,167,38,1)'\n })\n });\n\n this._clearToolTip = this._clearToolTip.bind(this);\n\n this.handleClick = this.handleClick.bind(this);\n this.handleHover = this.handleHover.bind(this);\n this.handlePointerMove = this.handlePointerMove.bind(this);\n this.handleLeave = this.handleLeave.bind(this);\n this.toggleMapPan = this.toggleMapPan.bind(this);\n\n proj4.defs(\"EPSG:3765\", \"+proj=tmerc +lat_0=0 +lon_0=16.5 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs\");\n OlRegister(proj4);\n this.htrs96 = OlGetProjection('EPSG:3765')\n\n geoserverService.WFS.getFeatures(this.props.dataLayer)\n .then(data => {\n if (data) {\n data = JSON.parse(data);\n } else {\n console.warn('MapSimple: No data received');\n }\n\n this.features = (new OlFormatGeoJSON()).readFeatures(data, { featureProjection: this.htrs96 })\n\n this.features.forEach(function (f) {\n let id = f.get('id', this.props.data);\n let filtered_data = this.props.data.filter(x => x.region_code == id);\n if (filtered_data && filtered_data.length > 0) {\n let d = filtered_data[0];\n f.set('region_area_ha', d.region_area_ha);\n f.set('region_perc', d.region_perc);\n f.set('region_title', d.region_title);\n f.set('region_title_trans_token', d.region_title_trans_token);\n f.set('code_3_count', d.code_3_count);\n }\n\n if (id == this.props.regionOne) {\n f.setStyle(this.selectStylePrimary);\n } else if (id == this.props.regionTwo) {\n f.setStyle(this.selectStyleSecondary)\n }\n }.bind(this));\n\n this.regionsLayer = new OlLayerVector({\n source: new OlSourceVector({\n features: this.features\n }),\n updateWhileAnimating: true\n });\n this.map.addLayer(this.regionsLayer);\n\n if (this._isMounted) {\n this.setState({\n features: this.features\n })\n }\n })\n }\n\n _clearToolTip() {\n if (this._isMounted) {\n this.setState({\n regionId: null,\n regionTitle: null,\n regionArea: null,\n regionCoveragePerc: null,\n regionDesc: null\n });\n }\n }\n\n handlePointerMove(event) {\n this.positionToolTip(event.pixel);\n }\n\n positionToolTip(interact_location) {\n if (this._isMounted) {\n this.setState({\n pointerLeft: interact_location[0] - 75,\n pointerTop: interact_location[1] + 120\n });\n }\n }\n\n handleHover(event) {\n const { t } = this.props;\n var selected = event.selected;\n\n if (selected.length > 0) {\n let feat = selected[0];\n\n let title = feat.get('region_title');\n let token = feat.get('region_title_trans_token');\n if (token && token.length > 0) {\n title = t(token);\n }\n let perc = feat.get('region_perc');\n let percDisp = numbro(perc * 100).divide(100).format() + \"%\";\n\n let pov = feat.get('region_area_ha');\n if (this._isMounted) {\n this.setState({\n regionId: feat.get('id'),\n regionTitle: title,\n regionArea: pov,\n regionCoveragePerc: percDisp,\n regionDesc: feat.get('code_3_count')\n });\n }\n } else {\n this._clearToolTip();\n }\n }\n\n handleClick(evt) {\n let featureCount = 0;\n\n let newRegionOne = this.props.regionOne;\n let newRegionTwo = this.props.regionTwo;\n\n this.map.forEachFeatureAtPixel(evt.pixel, function (feature, layer) {\n featureCount += 1;\n if (featureCount > 1) { //we process only the first feature\n return;\n }\n let id = feature.get('id');\n if (!this.props.regionOne) { //set first selected layer\n feature.setStyle(this.selectStylePrimary);\n newRegionOne = id;\n }\n else if (!this.props.regionTwo && this.props.regionOne != id) { //set second selected layer\n feature.setStyle(this.selectStyleSecondary);\n newRegionTwo = id;\n }\n else if (this.props.regionOne == id) { //deselect first\n feature.setStyle(null);\n let id_ch = this.props.regionTwo;\n if (id_ch) {\n this.regionsLayer.getSource().getFeatures().forEach(function (feat) {\n let id = feat.get('id');\n if (id == id_ch) {\n feat.setStyle(this.selectStylePrimary);\n }\n }.bind(this));\n }\n newRegionOne = newRegionTwo;\n newRegionTwo = null;\n\n } else if (this.props.regionTwo == id) { //deselect second\n feature.setStyle(null);\n newRegionTwo = null;\n } else { //new feature is selected\n feature.setStyle(this.selectStyleSecondary)\n let id_del = this.props.regionOne;\n let id_ch = this.props.regionTwo;\n this.regionsLayer.getSource().getFeatures().forEach(function (feat) {\n let id = feat.get('id');\n if (id == id_del) {\n feat.setStyle(null);\n } else if (id == id_ch) {\n feat.setStyle(this.selectStylePrimary);\n }\n }.bind(this));\n newRegionOne = newRegionTwo;\n newRegionTwo = id;\n }\n\n }.bind(this));\n\n if (featureCount > 0 && this.props.onSelect) {\n this.props.onSelect(newRegionOne, newRegionTwo);\n }\n\n }\n\n handleLeave(event) {\n this._clearToolTip();\n }\n\n toggleMapPan(allowPan) {\n let interactions = this.map.getInteractions();\n\n interactions.getArray().forEach(function (interaction) {\n if (interaction instanceof OlDragPan\n || interaction instanceof OlKeyboardPan) {\n interaction.setActive(allowPan);\n }\n });\n\n }\n\n\n componentDidMount() {\n this._isMounted = true;\n // console.log('MapSimple: componentDidMount');\n\n this.view = new OlView({\n center: this.state.viewCenter,\n zoom: this.state.zoom,\n extent: [270000, 4710000, 720000, 5140000],\n minZoom: this.props.minZoom,\n maxZoom: this.props.maxZoom,\n projection: 'EPSG:3765'\n });\n\n if (this.props.allowPan) {\n this.view.on('change:resolution', function (e) {\n let currentZoom = this.view.getZoom();\n\n //console.log(this.props.minZoom, currentZoom);\n\n if (Number.isInteger(currentZoom)) {\n let allowPan = currentZoom !== this.props.minZoom;\n\n this.toggleMapPan(allowPan);\n\n if (currentZoom === this.props.minZoom) {\n let extent = this.regionsLayer.getSource().getExtent();\n this.view.fit(extent);\n }\n }\n\n }.bind(this));\n }\n\n this.hover = new OlSelect({\n condition: OlPointerMove\n });\n this.hover.on('select', this.handleHover);\n\n // create map object\n this.map = new OlMap({\n interactions: OlInteractionDefaults({\n doubleClickZoom: false,\n dragAndDrop: false,\n dragPan: this.props.allowPan,\n keyboardPan: this.props.allowPan,\n keyboardZoom: true,\n mouseWheelZoom: true,\n pointer: true,\n select: this.select,\n altShiftDragRotate: false,\n pinchRotate: false\n }),\n controls: OlControlDefaults({\n attribution: false,\n zoom: false,\n }),\n target: null,\n view: this.view\n });\n\n this.map.addInteraction(this.hover);\n\n this.map.on('pointermove', this.handlePointerMove);\n\n this.map.on(\"click\", this.handleClick);\n\n //console.log('MapSimple: setTarget refs mapContainer', this.refs.mapContainer);\n this.map.setTarget(this.refs.mapContainer);\n\n this.toggleMapPan(false); //initial\n\n // Background Layer\n if (this.props.backgroundLayer) {\n this.map.addLayer(new OlLayerTile({\n source: new OlSourceTileWMS({\n params: {\n 'LAYERS': this.props.backgroundLayer,\n 'FORMAT': 'image/png'\n },\n url: url,\n crossOrigin: 'anonymous'\n }),\n style: new OlStyle({\n stroke: new OlStroke({\n color: '#C0C0C0',\n width: 1\n }),\n fill: new OlFill({\n color: 'rgba(0,0,0,1)'\n })\n })\n }));\n }\n\n //save map and layer references to local state\n if (this.refs.mapContainer) {\n if (this._isMounted) {\n this.setState({\n map: this.map,\n height: this.refs.mapContainer.clientHeight,\n width: this.refs.mapContainer.clientWidth\n })\n }\n } else {\n if (this._isMounted) {\n this.setState({\n map: this.map\n });\n }\n }\n\n }\n\n componentWillUnmount() {\n this._isMounted = false;\n }\n\n render() {\n const { t, classes } = this.props;\n\n if (this.features) {\n this.features.forEach(function (f) {\n let id = f.get('id', this.props.data);\n\n if (id == this.props.regionOne) {\n f.setStyle(this.selectStylePrimary);\n } else if (id == this.props.regionTwo) {\n f.setStyle(this.selectStyleSecondary)\n } else {\n f.setStyle(null);\n }\n }.bind(this));\n }\n\n\n\n // console.log('MapSimple: render');\n\n return (\n
\n
\n\n {this.state.regionId ?\n
\n {this.state.regionTitle}
\n \n {ctx =>\n
{t(\"map:area\")}: {numbro(ctx.unit.transform(this.state.regionArea) * 100).divide(100).format()} {ctx.unit.short} ({this.state.regionCoveragePerc})
\n }\n
\n\n {t(\"map:number-of-classes\")}: {this.state.regionDesc}
\n
\n : null}\n\n
\n
\n );\n }\n}\n\nexport default withNamespaces()(withStyles(mapStyle)(MapSimple));\n","import React from 'react'\nimport classNames from \"classnames\";\n\n// @material-ui/core components\nimport Icon from \"@material-ui/core/Icon\";\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\nimport dashGeneralPageStyle from \"assets/jss/prehnit/views/dashGeneralPageStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\nimport Card from \"components/Card/Card.jsx\";\nimport CardBody from \"components/Card/CardBody.jsx\";\nimport CardHeader from \"components/Card/CardHeader.jsx\";\nimport CardIcon from \"components/Card/CardIcon.jsx\";\n\nimport CLCDistChartCard from \"components/CLCDataCards/CLCDistChartCard.jsx\";\nimport CLCTrendsChartCard from \"components/CLCDataCards/CLCTrendsChartCard.jsx\";\nimport CLCTableCard from \"components/CLCDataCards/CLCTableCard.jsx\";\nimport CLCExportCard from \"components/CLCDataCards/CLCExportCard.jsx\";\n\nimport { sortAreas, sortClasses, filterData } from \"./dashHelpers.js\";\n\nimport Map from \"components/MapSimple/MapSimple.jsx\";\n\nimport { API } from \"services/api\";\n\nimport { checkTrans } from \"helpers\";\n\nclass CLCDashCompareTwo extends React.Component {\n _isMounted = false;\n\n constructor(props) {\n super(props);\n\n this.state = {\n sortType: 0,\n sortFunc: sortClasses,\n\n allData: [],\n trendsData: [],\n statsData: undefined,\n syncDistChart: true,\n syncTrendsChart: true,\n\n zoomDistChartPrimary: 100,\n zoomDistChartSecondary: 100,\n zoomTrendsChartPrimary: 100,\n zoomTrendsChartSecondary: 100\n }\n\n this.handleSort = this.handleSort.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n\n this.handleSyncDistChart = this.handleSyncDistChart.bind(this);\n this.handleSyncTrendsChart = this.handleSyncTrendsChart.bind(this);\n\n this.handleZoomDistChartPrimary = this.handleZoomDistChartPrimary.bind(this);\n this.handleZoomDistChartSecondary = this.handleZoomDistChartSecondary.bind(this);\n this.handleZoomTrendsChartPrimary = this.handleZoomTrendsChartPrimary.bind(this);\n this.handleZoomTrendsChartSecondary = this.handleZoomTrendsChartSecondary.bind(this);\n\n this.getReportType = this.getReportType.bind(this);\n this.getChardIds = this.getChartIds.bind(this);\n }\n\n handleSort() {\n if (this.state.sortType === 0) {\n if (this._isMounted) {\n this.setState({\n sortType: 1,\n sortFunc: sortAreas\n })\n }\n } else {\n if (this._isMounted) {\n this.setState({\n sortType: 0,\n sortFunc: sortClasses\n })\n }\n }\n }\n\n handleSyncDistChart() {\n if (this._isMounted) {\n this.setState((prevState) => {\n return {\n syncDistChart: !prevState.syncDistChart\n }\n });\n }\n }\n\n handleSyncTrendsChart() {\n if (this._isMounted) {\n this.setState((prevState) => {\n return {\n syncTrendsChart: !prevState.syncTrendsChart\n }\n });\n }\n }\n\n _pushHistory(regionOne, regionTwo) {\n\n let currentPath = this.props.history.location.pathname;\n if (currentPath && currentPath.length > 0 && currentPath[0] === '/') {\n currentPath = currentPath.substring(1);\n }\n let dash = currentPath.split('/')[0];\n\n let newPath = \"/\" + dash;\n if (regionOne) {\n newPath += \"/\" + regionOne;\n\n if (regionTwo) {\n newPath += \"/\" + regionTwo;\n }\n }\n\n this.props.history.push(newPath);\n }\n\n handleSelect(regionOneId, regionTwoId, data = this.state.allData) {\n this._pushHistory(regionOneId, regionTwoId);\n }\n\n handleZoomDistChartPrimary(val) {\n if (val !== this.state.zoomDistChartPrimary) {\n if (this.state.syncDistChart) {\n if (this._isMounted) {\n this.setState({\n zoomDistChartPrimary: val,\n zoomDistChartSecondary: val\n })\n }\n } else {\n if (this._isMounted) {\n this.setState({\n zoomDistChartPrimary: val\n })\n }\n }\n }\n }\n\n handleZoomDistChartSecondary(val) {\n if (val !== this.state.zoomDistChartSecondary) {\n if (this.state.syncDistChart) {\n if (this._isMounted) {\n this.setState({\n zoomDistChartPrimary: val,\n zoomDistChartSecondary: val\n })\n }\n } else {\n if (this._isMounted) {\n this.setState({\n zoomDistChartSecondary: val\n })\n }\n }\n }\n }\n\n handleZoomTrendsChartPrimary(val) {\n if (this.state.syncTrendsChart) {\n if (this._isMounted) {\n this.setState({\n zoomTrendsChartPrimary: val,\n zoomTrendsChartSecondary: val\n })\n }\n } else {\n if (this._isMounted) {\n this.setState({\n zoomTrendsChartPrimary: val\n })\n }\n }\n }\n\n handleZoomTrendsChartSecondary(val) {\n if (this.state.syncTrendsChart) {\n if (this._isMounted) {\n this.setState({\n zoomTrendsChartPrimary: val,\n zoomTrendsChartSecondary: val\n })\n }\n } else {\n if (this._isMounted) {\n this.setState({\n zoomTrendsChartSecondary: val\n })\n }\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n checkTrans('clc');\n\n API.getDataAllRegions(this.props.categoryCode)\n .then(data => {\n // console.log('CLCDashCompareTwo: allData loaded');\n this.handleSelect(this.props.regionOne, this.props.regionTwo, data);\n if (this._isMounted) {\n this.setState({\n allData: data\n })\n }\n })\n\n API.getTrendsAllRegions(this.props.categoryCode)\n .then(data => {\n // console.log('CLCDashCompareTwo: trendsData loaded');\n if (this._isMounted) {\n this.setState({\n trendsData: data\n })\n }\n })\n\n API.getStatsAllRegions(this.props.categoryCode)\n .then(data => {\n // console.log('CLCDashCompareTwo: statsData loaded');\n if (this._isMounted) {\n this.setState({\n statsData: data\n })\n }\n })\n }\n\n componentWillUnmount() {\n this._isMounted = false;\n }\n\n getReportType(id1, id2) {\n if (id1 && id2) {\n return \"compare2\";\n } else {\n if (id1 && (id2 === undefined || id2 === null)) {\n return \"select1\";\n } else {\n return \"\";\n }\n }\n }\n\n getChartIds(id1, id2) {\n let ids = [];\n if (id1) {\n ids.push(\"chart-dist-primary\");\n ids.push(\"chart-trends-primary\");\n }\n if (id2) {\n ids.push(\"chart-dist-secondary\");\n ids.push(\"chart-trends-secondary\")\n }\n return ids;\n }\n\n render() {\n const { t, classes } = this.props;\n return (\n
\n \n \n \n \n \n play_arrow\n \n

{this.props.mapTitle}

\n
\n \n {this.state.statsData ?\n : null}\n \n
\n
\n \n \n
\n \n
\n
\n \n \n \n \n \n \n \n \n\n \n \n {this.state.statsData && this.state.allData ?\n : null}\n \n \n \n \n \n
\n );\n }\n}\n\nexport default withNamespaces()(withStyles(dashGeneralPageStyle)(CLCDashCompareTwo));","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\n// core components\nimport Header from \"components/Header/Header.jsx\";\nimport HeaderLinks from \"components/Header/HeaderLinks.jsx\";\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\nimport Footer from \"components/Footer/Footer.jsx\";\nimport Parallax from \"components/Parallax/Parallax.jsx\";\n\nimport dashGeneralPageStyle from \"assets/jss/prehnit/views/dashGeneralPageStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport CLCDashCompareTwo from \"components/CLCDashboards/CLCDashCompareTwo.jsx\";\n\nimport { checkTrans } from \"helpers\";\n\nclass DashProtectedPage extends React.Component {\n\n componentDidMount() {\n checkTrans('export');\n checkTrans('protected-regions');\n }\n\n render() {\n const { t, classes, match } = this.props;\n return (\n
\n }\n fixed\n color=\"white\"\n />\n \n
\n \n \n

\n {t(\"pagecontent:dash-protected-title\")}\n

\n
\n
\n
\n
\n
\n \n\n
\n
\n }\n />\n
\n );\n }\n}\n\nexport default withNamespaces()(withStyles(dashGeneralPageStyle)(DashProtectedPage));","import React from 'react'\nimport numbro from 'numbro';\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\n// @material-ui/core components\nimport Icon from \"@material-ui/core/Icon\";\nimport Typography from \"@material-ui/core/Typography\";\n\nimport dashGeneralPageStyle from \"assets/jss/prehnit/views/dashGeneralPageStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\nimport Card from \"components/Card/Card.jsx\";\nimport CardBody from \"components/Card/CardBody.jsx\";\nimport CardHeader from \"components/Card/CardHeader.jsx\";\nimport CardIcon from \"components/Card/CardIcon.jsx\";\n\nimport CLCDistChartCard from \"components/CLCDataCards/CLCDistChartCard.jsx\";\nimport CLCTrendsChartCard from \"components/CLCDataCards/CLCTrendsChartCard.jsx\";\nimport CLCTableCard from \"components/CLCDataCards/CLCTableCard.jsx\";\nimport CLCExportCard from \"components/CLCDataCards/CLCExportCard.jsx\";\n\nimport { sortAreas, sortClasses } from \"./dashHelpers.js\";\n\nimport { Context } from \"Context.jsx\";\n\nimport { API } from \"services/api\";\n\nclass CLCDashSingle extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n sortType: 0,\n sortFunc: sortClasses,\n\n allData: [],\n distData: [],\n trendsData: [],\n\n zoomDistChart: 100,\n zoomTrendsChart: 100\n }\n\n this.handleSort = this.handleSort.bind(this);\n this.handleZoomDistChart = this.handleZoomDistChart.bind(this);\n this.handleZoomTrendsChart = this.handleZoomTrendsChart.bind(this);\n }\n\n handleSort() {\n if (this.state.sortType === 0) {\n this.setState({\n sortType: 1,\n sortFunc: sortAreas\n })\n } else {\n this.setState({\n sortType: 0,\n sortFunc: sortClasses\n })\n }\n }\n\n handleZoomDistChart(val) {\n this.setState({\n zoomDistChart: val\n })\n }\n\n handleZoomTrendsChart(val) {\n this.setState({\n zoomTrendsChart: val\n })\n }\n\n componentDidMount() {\n API.getDataAllRegions(this.props.categoryCode)\n .then(data => {\n let distData = data;\n let codeCount = distData.length;\n if (this.props.distChartIgnoreCodes) {\n distData = distData.filter(function (item) {\n return this.props.distChartIgnoreCodes.indexOf(item[\"kod_3\"]) === -1;\n }.bind(this));\n }\n\n this.setState({\n totalArea: 5659400, //TODO: Calc sum\n codeCount: codeCount,\n allData: data,\n distData: distData\n })\n })\n\n API.getTrendsAllRegions(this.props.categoryCode)\n .then(data => {\n if (this.props.trendsChartIgnoreCodes) {\n data = data.filter(function (item) {\n return this.props.trendsChartIgnoreCodes.indexOf(item[\"k3\"]) === -1;\n }.bind(this));\n }\n this.setState({\n trendsData: data\n })\n })\n }\n\n render() {\n const { t, classes } = this.props;\n return (\n
\n \n \n \n \n \n folder\n \n

{t(\"pagecontent:dash-country-total-area\")}

\n
\n \n \n {ctx =>\n \n {numbro(ctx.unit.transform(this.state.totalArea)).format()} {ctx.unit.short}\n \n }\n \n \n
\n
\n \n \n \n bar_chart\n \n

{t(\"pagecontent:dash-country-number-of-classes\")}

\n
\n \n \n {this.state.codeCount}\n \n \n
\n\n
\n \n \n \n
\n \n \n \n
\n \n
\n \n \n \n \n\n \n
\n
\n );\n }\n}\n\nexport default withNamespaces()(withStyles(dashGeneralPageStyle)(CLCDashSingle));","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\n// core components\nimport Header from \"components/Header/Header.jsx\";\nimport HeaderLinks from \"components/Header/HeaderLinks.jsx\";\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\nimport Footer from \"components/Footer/Footer.jsx\";\nimport Parallax from \"components/Parallax/Parallax.jsx\";\n\nimport dashGeneralPageStyle from \"assets/jss/prehnit/views/dashGeneralPageStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport CLCDashSingle from \"components/CLCDashboards/CLCDashSingle.jsx\";\n\nimport { checkTrans } from \"helpers\";\n\nclass DashCountryPage extends React.Component {\n\n componentDidMount() {\n checkTrans('clc');\n checkTrans('export');\n }\n\n render() {\n const { t, classes } = this.props;\n return (\n
\n }\n fixed\n color=\"white\"\n />\n \n
\n \n \n

\n {t(\"pagecontent:dash-country-title\")}\n

\n
\n
\n
\n
\n
\n \n
\n
\n }\n />\n
\n );\n }\n}\n\nexport default withNamespaces()(withStyles(dashGeneralPageStyle)(DashCountryPage));","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\n// core components\nimport Header from \"components/Header/Header.jsx\";\nimport HeaderLinks from \"components/Header/HeaderLinks.jsx\";\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\nimport Footer from \"components/Footer/Footer.jsx\";\nimport Parallax from \"components/Parallax/Parallax.jsx\";\n\nimport dashGeneralPageStyle from \"assets/jss/prehnit/views/dashGeneralPageStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport CLCDashCompareTwo from \"components/CLCDashboards/CLCDashCompareTwo.jsx\";\n\nimport { checkTrans } from \"helpers\";\n\n\nclass DashCountyPage extends React.Component {\n\n componentDidMount() {\n checkTrans('clc');\n checkTrans('zupanije');\n checkTrans('export');\n }\n\n render() {\n // console.log('DashCountyPage: render');\n const { t, classes, match } = this.props;\n return (\n
\n }\n fixed\n color=\"white\"\n />\n \n
\n \n \n

\n {t(\"pagecontent:dash-county-title\")}\n

\n
\n
\n
\n
\n
\n \n
\n
\n }\n />\n
\n );\n }\n}\n\nexport default withNamespaces()(withStyles(dashGeneralPageStyle)(DashCountyPage));","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\n// core components\nimport Header from \"components/Header/Header.jsx\";\nimport HeaderLinks from \"components/Header/HeaderLinks.jsx\";\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\nimport Footer from \"components/Footer/Footer.jsx\";\nimport Parallax from \"components/Parallax/Parallax.jsx\";\n\nimport dashGeneralPageStyle from \"assets/jss/prehnit/views/dashGeneralPageStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport CLCDashCompareTwo from \"components/CLCDashboards/CLCDashCompareTwo.jsx\";\n\nimport { checkTrans } from \"helpers\";\n\nclass DashMunicipalitiesPage extends React.Component {\n\n componentDidMount() {\n checkTrans('export');\n }\n\n\n render() {\n // console.log('DashMunicipalityPage: render');\n const { t, classes, match } = this.props;\n return (\n
\n }\n fixed\n color=\"white\"\n />\n \n
\n \n \n

\n {t(\"pagecontent:dash-municipality-title\")}\n

\n
\n
\n
\n
\n
\n \n
\n
\n }\n />\n
\n );\n }\n}\n\nexport default withNamespaces()(withStyles(dashGeneralPageStyle)(DashMunicipalitiesPage));","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\n// core components\nimport Header from \"components/Header/Header.jsx\";\nimport HeaderLinks from \"components/Header/HeaderLinks.jsx\";\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\nimport Footer from \"components/Footer/Footer.jsx\";\nimport Parallax from \"components/Parallax/Parallax.jsx\";\n\nimport dashGeneralPageStyle from \"assets/jss/prehnit/views/dashGeneralPageStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nimport CLCDashCompareTwo from \"components/CLCDashboards/CLCDashCompareTwo.jsx\";\n\nimport { checkTrans } from 'helpers';\n\nclass DashBioGeoPage extends React.Component {\n\n componentDidMount() {\n checkTrans('biogeo');\n checkTrans('export');\n }\n\n render() {\n const { t, classes, match } = this.props;\n return (\n
\n }\n fixed\n color=\"white\"\n />\n \n
\n \n \n

\n {t(\"pagecontent:dash-biogeo-title\")}\n

\n
\n
\n
\n
\n
\n \n
\n
\n }\n />\n \n );\n }\n}\n\nexport default withNamespaces()(withStyles(dashGeneralPageStyle)(DashBioGeoPage));","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\n// core components\nimport Header from \"components/Header/Header.jsx\";\nimport GridContainer from \"components/Grid/GridContainer.jsx\";\nimport GridItem from \"components/Grid/GridItem.jsx\";\nimport Parallax from \"components/Parallax/Parallax.jsx\";\nimport Footer from \"components/Footer/Footer.jsx\";\n// sections for this page\nimport HeaderLinks from \"components/Header/HeaderLinks.jsx\";\n\nimport aboutUsStyle from \"assets/jss/material-kit-pro-react/views/aboutUsStyle.jsx\";\n\nimport { withNamespaces } from \"react-i18next\";\n\nclass TermsOfUsePage extends React.Component {\n\n componentDidMount() {\n window.scrollTo(0, 0);\n document.body.scrollTop = 0;\n }\n\n render() {\n const { t, classes } = this.props;\n return (\n
\n }\n fixed\n color=\"transparent\"\n changeColorOnScroll={{\n height: 300,\n color: \"white\"\n }}\n />\n \n
\n \n \n

{t(\"pagecontent:terms-title\")}

\n

{t(\"pagecontent:terms-subtitle\")}

\n \n
\n
\n
\n
\n
\n \n \n

{t(\"pagecontent:terms-title\")}

\n

{t(\"pagecontent:terms-para-01\")}

\n

{t(\"pagecontent:terms-para-02\")}

\n

{t(\"pagecontent:terms-para-03\")}

\n

{t(\"pagecontent:terms-para-04\")}

\n

{t(\"pagecontent:terms-para-05\")}

\n

{t(\"pagecontent:terms-para-06\")}

\n

{t(\"pagecontent:terms-para-07\")}

\n

{t(\"pagecontent:terms-para-08\")}

\n

{t(\"pagecontent:terms-para-09\")}

\n\n

{t(\"pagecontent:terms-heading-1\")}

\n

{t(\"pagecontent:terms-para-11\")}

\n

{t(\"pagecontent:terms-para-12\")}

\n

{t(\"pagecontent:terms-para-13\")}

\n
    \n
  1. {t(\"pagecontent:terms-list-11\")}

  2. \n
  3. {t(\"pagecontent:terms-list-12\")}

  4. \n
  5. {t(\"pagecontent:terms-list-13\")}

  6. \n
  7. {t(\"pagecontent:terms-list-14\")}

  8. \n
\n\n

{t(\"pagecontent:terms-heading-2\")}

\n

{t(\"pagecontent:terms-para-21\")}

\n

{t(\"pagecontent:terms-para-22\")}

\n

{t(\"pagecontent:terms-para-23\")}

\n\n \n
\n\n\n
\n
\n
\n
\n );\n }\n}\n\nexport default withNamespaces()(withStyles(aboutUsStyle)(TermsOfUsePage));\n","import LandingPage from \"views/LandingPage/LandingPage.jsx\";\nimport MapPage from \"views/MapPage/MapPage.jsx\";\nimport AdditionalInfoPage from \"views/AdditionalInfoPage/AdditionalInfoPage\";\nimport DashProtectedPage from \"views/Dashboards/DashProtectedPage\";\nimport DashCountryPage from \"views/Dashboards/DashCountryPage\";\nimport DashCountyPage from \"views/Dashboards/DashCountyPage\";\nimport DashMunicipalitiesPage from \"views/Dashboards/DashMunicipalitiesPage\";\nimport DashBioGeoPage from \"views/Dashboards/DashBioGeoPage\";\nimport TermsOfUsePage from \"views/TermsOfUsePage/TermsOfUsePage\";\n\nvar indexRoutes = [\n { path: \"/map-page\", name: \"MapPage\", component: MapPage },\n { path: \"/dash-country\", name: \"DashCountryPage\", component: DashCountryPage},\n { path: \"/dash-county/:id1?/:id2?\", name: \"dashCountyPage\", component: DashCountyPage},\n { path: \"/dash-municipality/:id1?/:id2?\", name: \"DashMunicipalitiesPage\", component: DashMunicipalitiesPage},\n { path: \"/dash-protectedareas/:id1?/:id2?\", name: \"DashProtectedPage\", component: DashProtectedPage},\n { path: \"/dash-biogeoregions/:id1?/:id2?\", name: \"DashBioGeoPage\", component: DashBioGeoPage},\n { path: \"/additional-info\", name: \"AdditonalInfoPage\", component: AdditionalInfoPage},\n { path: \"/uvjeti-koristenja\", name: \"TermsOfUsePage\", component: TermsOfUsePage},\n { path: \"/\", name: \"LandingPage\", component: LandingPage }\n];\n\nexport default indexRoutes;\n","import React, { Component } from \"react\";\nimport { createBrowserHistory } from \"history\";\nimport { Router, Route, Switch } from \"react-router-dom\";\n\nimport ScrollToTop from \"components/ScrollToTop/ScrollToTop\";\n\n\nimport indexRoutes from \"routes/index.jsx\";\n\nimport { units } from \"config/UnitsConfig.jsx\";\nimport { Context } from \"Context.jsx\";\n\n// import * as ExcelJs from 'exceljs/dist/exceljs.min.js';\n\n//import ReactGA from 'react-ga';\n\nvar history = createBrowserHistory();\n\n// const unlisten = history.listen((location, action) => {\n// console.log(action, location.pathname, location.state);\n// })\n\n\nclass App extends Component {\n constructor(props) {\n super(props);\n\n this.setUnit = this.setUnit.bind(this);\n\n this.state = {\n unit: units.ha, //default\n setUnit: this.setUnit\n }\n\n //ReactGA.initialize('UA-000000-01', { debug: true });\n }\n\n setUnit(unit) {\n this.setState({\n unit: unit\n })\n }\n\n render() {\n // console.log('App: render');\n return (\n \n \n \n \n {indexRoutes.map((prop, key) => {\n return ;\n })}\n \n \n \n \n );\n }\n}\n\nexport default App;","import i18n from \"i18next\";\nimport {reactI18nextModule} from \"react-i18next\";\nimport lngDetector from 'i18next-browser-languagedetector';\n// import Backend from 'i18next-xhr-backend';\n\nimport { Languages as LanguagesFallback } from \"config/LanguageList.jsx\";\n\nimport numbro from 'numbro';\nimport moment from 'moment';\nimport 'moment/locale/hr';\n\nimport { API } from \"services/api\";\n\n\nlet trans_groups = ['pagecontent', 'menu', 'common', 'map', 'layers',\n//,'links', 'biogeo' , 'ua', 'natura2000', 'rzlclu', 'rzgle', 'uastl', 'imp', 'impch', 'impclch', 'dlt', 'tcd', 'grass', 'waw', 'wawpi'\n];\n\nAPI.getLanguages()\n.then(langs => {\n if (!langs) {\n console.warn('Loading Fallback languages!');\n langs = LanguagesFallback;\n }\n langs.forEach(function(lang){\n trans_groups.forEach(function(group){\n API.getTranslations(lang.code, group)\n .then(data => {\n if (data) {\n i18n.addResourceBundle(lang.code, group, data);\n } else {\n console.error('Cannot load translations for language: ' + lang.code + \", group: \" + group);\n }\n });\n\n });\n\n });\n});\n\ni18n\n .use(lngDetector)\n .use(reactI18nextModule)\n .init({\n ns: trans_groups,\n defaultNS: 'common',\n // backend: {\n // loadPath: 'http://localhost:5000/api/v1//mw/api/v1/trans/{{lng}}/{{ns}}'\n // },\n detection: {\n order: ['querystring'],\n lookupQuerystring: 'lng'\n },\n fallbackLng: 'hr',\n keySeparator: false, // we do not use keys in form messages.welcome\n interpolation: {\n escapeValue: false // react already safes from xss\n },\n useCookie: false\n });\n\ni18n.on('languageChanged', function(lng) {\n moment.locale(lng);\n numbro.setLanguage(lng);\n });\n\nexport default i18n;","import numbro from 'numbro';\n\nnumbro.registerLanguage({\n languageTag: \"hr-HR\",\n delimiters: {\n thousands: \" \",\n decimal: \",\"\n },\n abbreviations: {\n thousand: \" 000\",\n million: \" 000 000\",\n billion: \" mlrd.\",\n trillion: \" bil.\"\n },\n ordinal: function() {\n return \".\"\n },\n currency: {\n symbol: \"Kn\",\n position: \"postfix\",\n code: \"HRK\"\n },\n currencyFormat: {\n thousandSeparated: true,\n totalLength: 4,\n spaceSeparated: true,\n average: true\n },\n formats: {\n fourDigits: {\n totalLength: 4,\n spaceSeparated: true,\n average: true\n },\n fullWithTwoDecimals: {\n output: \"currency\",\n mantissa: 2,\n spaceSeparated: true,\n thousandSeparated: true\n },\n fullWithTwoDecimalsNoCurrency: {\n mantissa: 2,\n thousandSeparated: true\n },\n fullWithNoDecimals: {\n output: \"currency\",\n spaceSeparated: true,\n thousandSeparated: true,\n mantissa: 0\n }\n }\n});\n\nnumbro.setDefaults({\n thousandSeparated: true,\n mantissa: 2\n});\n\n// numbro.setLanguage(i18n.language);","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport App from \"./App\";\n\nimport \"./i18n\";\n\nimport \"./numbro\";\n\nimport \"assets/scss/material-kit-pro-react.css?v=1.2.0\";\n\nimport \"./polyfills\";\n\nReactDOM.render(, document.getElementById(\"root\")\n);\n","// ##############################\n// // // Button styles\n// #############################\n\nimport {\n grayColor,\n roseColor,\n primaryColor,\n secondaryColor,\n infoColor,\n successColor,\n warningColor,\n dangerColor\n} from \"assets/jss/material-kit-pro-react.jsx\";\n\nconst buttonStyle = {\n button: {\n minHeight: \"auto\",\n minWidth: \"auto\",\n backgroundColor: grayColor,\n color: \"#FFFFFF\",\n boxShadow:\n \"0 2px 2px 0 rgba(153, 153, 153, 0.14), 0 3px 1px -2px rgba(153, 153, 153, 0.2), 0 1px 5px 0 rgba(153, 153, 153, 0.12)\",\n border: \"none\",\n borderRadius: \"3px\",\n position: \"relative\",\n padding: \"12px 30px\",\n margin: \".3125rem 1px\",\n fontSize: \"12px\",\n fontWeight: \"400\",\n textTransform: \"uppercase\",\n letterSpacing: \"0\",\n willChange: \"box-shadow, transform\",\n transition:\n \"box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1)\",\n lineHeight: \"1.42857143\",\n textAlign: \"center\",\n whiteSpace: \"nowrap\",\n verticalAlign: \"middle\",\n touchAction: \"manipulation\",\n cursor: \"pointer\",\n \"&:hover,&:focus\": {\n color: \"#FFFFFF\",\n backgroundColor: grayColor,\n boxShadow:\n \"0 14px 26px -12px rgba(153, 153, 153, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(153, 153, 153, 0.2)\"\n },\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n position: \"relative\",\n display: \"inline-block\",\n top: \"0\",\n marginTop: \"-1em\",\n marginBottom: \"-1em\",\n fontSize: \"1.1rem\",\n marginRight: \"4px\",\n verticalAlign: \"middle\"\n },\n \"& svg\": {\n position: \"relative\",\n display: \"inline-block\",\n top: \"0\",\n width: \"18px\",\n height: \"18px\",\n marginRight: \"4px\",\n verticalAlign: \"middle\"\n },\n \"&$justIcon\": {\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n marginTop: \"0px\",\n marginRight: \"0px\",\n position: \"absolute\",\n width: \"100%\",\n transform: \"none\",\n left: \"0px\",\n top: \"0px\",\n height: \"100%\",\n lineHeight: \"41px\",\n fontSize: \"20px\"\n }\n }\n },\n fullWidth: {\n width: \"100%\"\n },\n primary: {\n backgroundColor: primaryColor,\n boxShadow:\n \"0 2px 2px 0 rgba(127, 193, 66, 0.14), 0 3px 1px -2px rgba(127, 193, 66, 0.2), 0 1px 5px 0 rgba(127, 193, 66, 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: primaryColor,\n boxShadow:\n \"0 14px 26px -12px rgba(127, 193, 66, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 193, 66, 0.2)\"\n }\n },\n secondary: {\n color: \"rgba(0,0,0,.87)\",\n backgroundColor: secondaryColor,\n boxShadow:\n \"0 2px 2px 0 hsla(0,0%,98%,.14), 0 3px 1px -2px hsla(0,0%,98%,.2), 0 1px 5px 0 hsla(0,0%,98%,.12)\",\n \"&:hover,&:focus\": {\n boxShdow:\n \"0 14px 26px -12px hsla(0,0%,98%,.42), 0 4px 23px 0 rgba(0,0,0,.12), 0 8px 10px -5px hsla(0,0%,98%,.2)\",\n color: \"rgba(0,0,0,.87)\",\n backgroundColor: \"#f2f2f2\"\n }\n },\n info: {\n backgroundColor: infoColor,\n boxShadow:\n \"0 2px 2px 0 rgba(0, 188, 212, 0.14), 0 3px 1px -2px rgba(0, 188, 212, 0.2), 0 1px 5px 0 rgba(0, 188, 212, 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: infoColor,\n boxShadow:\n \"0 14px 26px -12px rgba(0, 188, 212, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 188, 212, 0.2)\"\n }\n },\n success: {\n backgroundColor: successColor,\n boxShadow:\n \"0 2px 2px 0 rgba(76, 175, 80, 0.14), 0 3px 1px -2px rgba(76, 175, 80, 0.2), 0 1px 5px 0 rgba(76, 175, 80, 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: successColor,\n boxShadow:\n \"0 14px 26px -12px rgba(76, 175, 80, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(76, 175, 80, 0.2)\"\n }\n },\n warning: {\n backgroundColor: warningColor,\n boxShadow:\n \"0 2px 2px 0 rgba(255, 152, 0, 0.14), 0 3px 1px -2px rgba(255, 152, 0, 0.2), 0 1px 5px 0 rgba(255, 152, 0, 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: warningColor,\n boxShadow:\n \"0 14px 26px -12px rgba(255, 152, 0, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 152, 0, 0.2)\"\n }\n },\n danger: {\n backgroundColor: dangerColor,\n boxShadow:\n \"0 2px 2px 0 rgba(244, 67, 54, 0.14), 0 3px 1px -2px rgba(244, 67, 54, 0.2), 0 1px 5px 0 rgba(244, 67, 54, 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: dangerColor,\n boxShadow:\n \"0 14px 26px -12px rgba(244, 67, 54, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(244, 67, 54, 0.2)\"\n }\n },\n rose: {\n backgroundColor: roseColor,\n boxShadow:\n \"0 2px 2px 0 rgba(233, 30, 99, 0.14), 0 3px 1px -2px rgba(233, 30, 99, 0.2), 0 1px 5px 0 rgba(233, 30, 99, 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: roseColor,\n boxShadow:\n \"0 14px 26px -12px rgba(233, 30, 99, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(233, 30, 99, 0.2)\"\n }\n },\n white: {\n \"&,&:focus,&:hover\": {\n backgroundColor: \"#FFFFFF\",\n color: grayColor\n }\n },\n twitter: {\n backgroundColor: \"#55acee\",\n color: \"#fff\",\n boxShadow:\n \"0 2px 2px 0 rgba(85, 172, 238, 0.14), 0 3px 1px -2px rgba(85, 172, 238, 0.2), 0 1px 5px 0 rgba(85, 172, 238, 0.12)\",\n \"&:hover,&:focus,&:visited\": {\n backgroundColor: \"#55acee\",\n color: \"#fff\",\n boxShadow:\n \"0 14px 26px -12px rgba(85, 172, 238, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(85, 172, 238, 0.2)\"\n }\n },\n facebook: {\n backgroundColor: \"#3b5998\",\n color: \"#fff\",\n boxShadow:\n \"0 2px 2px 0 rgba(59, 89, 152, 0.14), 0 3px 1px -2px rgba(59, 89, 152, 0.2), 0 1px 5px 0 rgba(59, 89, 152, 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: \"#3b5998\",\n color: \"#fff\",\n boxShadow:\n \"0 14px 26px -12px rgba(59, 89, 152, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(59, 89, 152, 0.2)\"\n }\n },\n google: {\n backgroundColor: \"#dd4b39\",\n color: \"#fff\",\n boxShadow:\n \"0 2px 2px 0 rgba(221, 75, 57, 0.14), 0 3px 1px -2px rgba(221, 75, 57, 0.2), 0 1px 5px 0 rgba(221, 75, 57, 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: \"#dd4b39\",\n color: \"#fff\",\n boxShadow:\n \"0 14px 26px -12px rgba(221, 75, 57, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(221, 75, 57, 0.2)\"\n }\n },\n linkedin: {\n backgroundColor: \"#0976b4\",\n color: \"#fff\",\n boxShadow:\n \"0 2px 2px 0 rgba(9, 118, 180, 0.14), 0 3px 1px -2px rgba(9, 118, 180, 0.2), 0 1px 5px 0 rgba(9, 118, 180, 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: \"#0976b4\",\n color: \"#fff\",\n boxShadow:\n \"0 14px 26px -12px rgba(9, 118, 180, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(9, 118, 180, 0.2)\"\n }\n },\n pinterest: {\n backgroundColor: \"#cc2127\",\n color: \"#fff\",\n boxShadow:\n \"0 2px 2px 0 rgba(204, 33, 39, 0.14), 0 3px 1px -2px rgba(204, 33, 39, 0.2), 0 1px 5px 0 rgba(204, 33, 39, 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: \"#cc2127\",\n color: \"#fff\",\n boxShadow:\n \"0 14px 26px -12px rgba(204, 33, 39, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(204, 33, 39, 0.2)\"\n }\n },\n youtube: {\n backgroundColor: \"#e52d27\",\n color: \"#fff\",\n boxShadow:\n \"0 2px 2px 0 rgba(229, 45, 39, 0.14), 0 3px 1px -2px rgba(229, 45, 39, 0.2), 0 1px 5px 0 rgba(229, 45, 39, 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: \"#e52d27\",\n color: \"#fff\",\n boxShadow:\n \"0 14px 26px -12px rgba(229, 45, 39, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(229, 45, 39, 0.2)\"\n }\n },\n tumblr: {\n backgroundColor: \"#35465c\",\n color: \"#fff\",\n boxShadow:\n \"0 2px 2px 0 rgba(53, 70, 92, 0.14), 0 3px 1px -2px rgba(53, 70, 92, 0.2), 0 1px 5px 0 rgba(53, 70, 92, 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: \"#35465c\",\n color: \"#fff\",\n boxShadow:\n \"0 14px 26px -12px rgba(53, 70, 92, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(53, 70, 92, 0.2)\"\n }\n },\n github: {\n backgroundColor: \"#333333\",\n color: \"#fff\",\n boxShadow:\n \"0 2px 2px 0 rgba(51, 51, 51, 0.14), 0 3px 1px -2px rgba(51, 51, 51, 0.2), 0 1px 5px 0 rgba(51, 51, 51, 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: \"#333333\",\n color: \"#fff\",\n boxShadow:\n \"0 14px 26px -12px rgba(51, 51, 51, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(51, 51, 51, 0.2)\"\n }\n },\n behance: {\n backgroundColor: \"#1769ff\",\n color: \"#fff\",\n boxShadow:\n \"0 2px 2px 0 rgba(23, 105, 255, 0.14), 0 3px 1px -2px rgba(23, 105, 255, 0.2), 0 1px 5px 0 rgba(23, 105, 255, 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: \"#1769ff\",\n color: \"#fff\",\n boxShadow:\n \"0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2)\"\n }\n },\n dribbble: {\n backgroundColor: \"#ea4c89\",\n color: \"#fff\",\n boxShadow:\n \"0 2px 2px 0 rgba(234, 76, 137, 0.14), 0 3px 1px -2px rgba(234, 76, 137, 0.2), 0 1px 5px 0 rgba(234, 76, 137, 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: \"#ea4c89\",\n color: \"#fff\",\n boxShadow:\n \"0 14px 26px -12px rgba(234, 76, 137, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(234, 76, 137, 0.2)\"\n }\n },\n reddit: {\n backgroundColor: \"#ff4500\",\n color: \" #fff\",\n boxShadow:\n \"0 2px 2px 0 rgba(255, 69, 0, 0.14), 0 3px 1px -2px rgba(255, 69, 0, 0.2), 0 1px 5px 0 rgba(255, 69, 0, 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: \"#ff4500\",\n color: \" #fff\",\n boxShadow:\n \"0 14px 26px -12px rgba(255, 69, 0, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 69, 0, 0.2)\"\n }\n },\n instagram: {\n backgroundColor: \"#125688\",\n color: \" #fff\",\n boxShadow:\n \"0 2px 2px 0 rgba(18, 86, 136, 0.14), 0 3px 1px -2px rgba(18, 86, 136, 0.2), 0 1px 5px 0 rgba(18, 86, 136, 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: \"#145f96\",\n color: \" #fff\",\n boxShadow:\n \"0 14px 26px -12px rgba(18, 86, 136, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(18, 86, 136, 0.2)\"\n }\n },\n simple: {\n \"&,&:focus,&:hover\": {\n color: \"#FFFFFF\",\n background: \"transparent\",\n boxShadow: \"none\"\n },\n \"&$primary\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: primaryColor\n }\n },\n \"&$info\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: infoColor\n }\n },\n \"&$success\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: successColor\n }\n },\n \"&$warning\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: warningColor\n }\n },\n \"&$rose\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: roseColor\n }\n },\n \"&$danger\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: dangerColor\n }\n },\n \"&$twitter\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: \"#55acee\"\n }\n },\n \"&$facebook\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: \"#3b5998\"\n }\n },\n \"&$google\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: \"#dd4b39\"\n }\n },\n \"&$linkedin\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: \"#0976b4\"\n }\n },\n \"&$pinterest\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: \"#cc2127\"\n }\n },\n \"&$youtube\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: \"#e52d27\"\n }\n },\n \"&$tumblr\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: \"#35465c\"\n }\n },\n \"&$github\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: \"#333333\"\n }\n },\n \"&$behance\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: \"#1769ff\"\n }\n },\n \"&$dribbble\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: \"#ea4c89\"\n }\n },\n \"&$reddit\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: \"#ff4500\"\n }\n },\n \"&$instagram\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: \"#125688\"\n }\n }\n },\n transparent: {\n \"&,&:focus,&:hover\": {\n color: \"inherit\",\n background: \"transparent\",\n boxShadow: \"none\"\n }\n },\n disabled: {\n opacity: \"0.65\",\n pointerEvents: \"none\"\n },\n lg: {\n padding: \"1.125rem 2.25rem\",\n fontSize: \"0.875rem\",\n lineHeight: \"1.333333\",\n borderRadius: \"0.2rem\"\n },\n sm: {\n padding: \"0.40625rem 1.25rem\",\n fontSize: \"0.6875rem\",\n lineHeight: \"1.5\",\n borderRadius: \"0.2rem\"\n },\n round: {\n borderRadius: \"30px\"\n },\n block: {\n width: \"100% !important\"\n },\n link: {\n \"&,&:hover,&:focus\": {\n backgroundColor: \"transparent\",\n color: \"#999999\",\n boxShadow: \"none\"\n }\n },\n justIcon: {\n paddingLeft: \"12px\",\n paddingRight: \"12px\",\n fontSize: \"20px\",\n height: \"41px\",\n minWidth: \"41px\",\n width: \"41px\",\n \"& .fab,& .fas,& .far,& .fal,& svg,& .material-icons\": {\n marginRight: \"0px\"\n },\n \"&$lg\": {\n height: \"57px\",\n minWidth: \"57px\",\n width: \"57px\",\n lineHeight: \"56px\",\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n fontSize: \"32px\",\n lineHeight: \"56px\"\n },\n \"& svg\": {\n width: \"32px\",\n height: \"32px\"\n }\n },\n \"&$sm\": {\n height: \"30px\",\n minWidth: \"30px\",\n width: \"30px\",\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n fontSize: \"17px\",\n lineHeight: \"29px\"\n },\n \"& svg\": {\n width: \"17px\",\n height: \"17px\"\n }\n }\n },\n fileButton: {\n // display: \"inline-block\"\n }\n};\n\nexport default buttonStyle;\n","// ##############################\n// // // Button Group styles\n// #############################\n\nconst buttonGroupStyle = {\n buttonGroup: {\n position: \"relative\",\n margin: \"10px 1px\",\n display: \"inline-block\",\n verticalAlign: \"middle\"\n },\n firstButton: {\n borderTopRightRadius: \"0\",\n borderBottomRightRadius: \"0\",\n margin: \"0\",\n position: \"relative\",\n float: \"left\",\n \"&:hover\": {\n zIndex: \"2\"\n }\n },\n middleButton: {\n borderRadius: \"0\",\n margin: \"0\",\n position: \"relative\",\n float: \"left\",\n \"&:hover\": {\n zIndex: \"2\"\n }\n },\n lastButton: {\n borderTopLeftRadius: \"0\",\n borderBottomLeftRadius: \"0\",\n margin: \"0\",\n \"&:hover\": {\n zIndex: \"2\"\n }\n }\n};\n\nexport default buttonGroupStyle;\n","// ##############################\n// // // Map component style\n// #############################\n\nimport {\n defaultFont,\n primaryColor,\n primaryBoxShadow,\n infoColor,\n infoBoxShadow,\n successColor,\n successBoxShadow,\n warningColor,\n warningBoxShadow,\n dangerColor,\n dangerBoxShadow,\n roseColor,\n roseBoxShadow\n} from \"assets/jss/material-kit-pro-react.jsx\";\n\nimport buttonGroup from \"assets/jss/material-kit-pro-react/buttonGroupStyle.jsx\";\n// import customDropdown from \"assets/jss/material-kit-pro-react/components/customDropdownStyle.jsx\";\n\nimport buttonStyle from \"assets/jss/material-kit-pro-react/components/buttonStyle.jsx\";\n\n\nconst mapStyle = theme => ({\n ...buttonStyle,\n ...buttonGroup,\n popperClose: {\n pointerEvents: \"none\",\n display: \"none !important\"\n },\n pooperNav: {\n [theme.breakpoints.down(\"sm\")]: {\n position: \"static !important\",\n left: \"unset !important\",\n top: \"unset !important\",\n transform: \"none !important\",\n willChange: \"none !important\",\n \"& > div\": {\n boxShadow: \"none !important\",\n marginLeft: \"1.5rem\",\n marginRight: \"1.5rem\",\n transition: \"none !important\",\n marginTop: \"0px !important\",\n marginBottom: \"5px !important\",\n padding: \"0px !important\"\n }\n }\n },\n pooperResponsive: {\n zIndex: \"1200\",\n [theme.breakpoints.down(\"sm\")]: {\n zIndex: \"1640\",\n position: \"static\",\n float: \"none\",\n width: \"auto\",\n marginTop: \"0\",\n backgroundColor: \"transparent\",\n border: \"0\",\n boxShadow: \"none\",\n color: \"black\"\n }\n },\n\n popperLayerSelector:{\n maxWidth: \"300px\"\n },\n tabsLayerInfoLegend: {\n width: \"33%\",\n minWidth: \"33%\",\n maxWidth: \"50%\"\n },\n\n\n dropdownHeader: {\n display: \"block\",\n padding: \"0.1875rem 1.25rem\",\n fontSize: \"0.75rem\",\n lineHeight: \"1.428571\",\n color: \"#777\",\n whiteSpace: \"nowrap\",\n fontWeight: \"inherit\",\n marginTop: \"10px\",\n \"&:hover,&:focus\": {\n backgroundColor: \"transparent\",\n cursor: \"auto\"\n }\n },\n\n dropdownItem: {\n ...defaultFont,\n fontSize: \"13px\",\n padding: \"8px 14px\",\n margin: \"0 5px\",\n borderRadius: \"2px\",\n position: \"relative\",\n transition: \"all 150ms linear\",\n display: \"block\",\n clear: \"both\",\n fontWeight: \"400\",\n height: \"100%\",\n color: \"#333\",\n whiteSpace: \"nowrap\"\n },\n\n primaryHover: {\n \"&:hover\": {\n backgroundColor: primaryColor,\n color: \"#FFFFFF\",\n ...primaryBoxShadow\n }\n },\n infoHover: {\n \"&:hover\": {\n backgroundColor: infoColor,\n color: \"#FFFFFF\",\n ...infoBoxShadow\n }\n },\n successHover: {\n \"&:hover\": {\n backgroundColor: successColor,\n color: \"#FFFFFF\",\n ...successBoxShadow\n }\n },\n warningHover: {\n \"&:hover\": {\n backgroundColor: warningColor,\n color: \"#FFFFFF\",\n ...warningBoxShadow\n }\n },\n dangerHover: {\n \"&:hover\": {\n backgroundColor: dangerColor,\n color: \"#FFFFFF\",\n ...dangerBoxShadow\n }\n },\n roseHover: {\n \"&:hover\": {\n backgroundColor: roseColor,\n color: \"#FFFFFF\",\n ...roseBoxShadow\n }\n },\n\n\n caret: {\n transition: \"all 150ms ease-in\",\n display: \"inline-block\",\n width: \"0\",\n height: \"0\",\n marginLeft: \"4px\",\n verticalAlign: \"middle\",\n borderTop: \"4px solid\",\n borderRight: \"4px solid transparent\",\n borderLeft: \"4px solid transparent\"\n },\n caretActive: {\n transform: \"rotate(180deg)\"\n },\n caretDropup: {\n transform: \"rotate(180deg)\"\n },\n\n dropdownIcons: {\n width: \"24px\",\n height: \"24px\",\n marginRight: \"14px\",\n opacity: \"0.5\",\n marginTop: \"-4px\",\n top: \"1px\",\n verticalAlign: \"middle\",\n fontSize: \"24px\",\n position: \"relative\"\n },\n\n topControl: {\n padding: \"0px 20px\"\n },\n\n buttonGroup: {\n whiteSpace: \"nowrap\",\n maxWidth: \"100%\"\n },\n firstButton: {\n borderTopRightRadius: \"0\",\n borderBottomRightRadius: \"0\",\n margin: \".3125rem 0px .3125rem 1px\",\n // maxWidth: \"300px\"\n maxWidth: \"85%\"\n },\n middleButton: {\n borderRadius: \"0\",\n margin: \".3125rem 0px .3125rem 0px\"\n },\n lastButton: {\n borderTopLeftRadius: \"0\",\n borderBottomLeftRadius: \"0\",\n margin: \".3125rem 1px .3125rem 0px\"\n },\n\n\n mainButton: {\n // width: \"unset !important\",\n // minWidth: \"300px\",\n maxWidth: \"85%\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\"\n },\n settingsButton: {\n color: \"#FFFFFF\",\n padding: \"12px 10px 12px 10px\",\n width: \"30px\",\n maxWidth: \"30px\",\n\n },\n smallButton: {\n paddingTop: \"20px\",\n paddingBottom: \"20px\",\n height: \"30px\",\n maxWidth: \"30px\"\n },\n smallButtonIcon: {\n paddingTop: \"1px\",\n },\n mainMap: {\n position: \"relative\",\n // marginTop: \"0px\",\n width: \"100%\",\n height: \"100%\",\n zIndex: \"0\",\n },\n secondaryActionButton: {\n padding: \"6px\",\n borderRadius: \"2px\",\n backgroundColor: \"rgba(255,255,255,0.8)\",\n \"&:hover\": {\n backgroundColor: primaryColor,\n color: \"#FFFFFF\",\n ...primaryBoxShadow\n }\n },\n secondaryActionButtonIcon: {\n marginRight: \"0px\"\n },\n\n menu: {\n zIndex: \"90\",\n // background: \"rgba(138, 195, 95, 0.5)\"\n },\n topMenu: {\n position: \"relative\",\n top: \"0px\",\n left: \"0px\",\n width: \"100%\"\n },\n sideContent: {\n position: \"absolute\",\n top: \"0px\",\n right: \"0px\",\n width: \"100%\",\n padding: \"10px\",\n font: defaultFont,\n fontSize: \"12px\",\n color: \"#FFF\",\n backgroundColor: \"rgba(50, 50, 50, 0.8)\",\n overflowY: \"auto\",\n minWidth: \"100px\",\n maxHeight: \"100%\",\n },\n sideContentRight: {\n right: \"0px\",\n padding: \"10px\",\n },\n sideContentLeft: {\n left: \"0px\",\n // maxWidth: \"240px\",\n padding: \"0px 10px\",\n\n },\n bottomMenu: {\n position: \"absolute\",\n left: \"0px\",\n right: \"0px\",\n bottom: \"0px\",\n padding: \"0px\",\n marginRight: \"15px\",\n zIndex: \"2\"\n },\n cardBodyRefine: {\n paddingLeft: \"15px\",\n paddingRight: \"15px\"\n },\n configpanel: {\n padding: \"30px\"\n },\n noSelect: {\n MozUserSelect: 'none',\n WebkitUserSelect: 'none',\n msUserSelect: 'none',\n userSelect: 'none',\n oUserSelect: 'none',\n unselectable: \"on\",\n onselectstart: \"return false;\" ,\n onmousedown: \"return false\"\n },\n\n dimTool: {\n font: defaultFont,\n fontSize: \"12px\",\n color: \"#FFF\",\n backgroundColor: \"rgba(50, 50, 50, 0.8)\"\n },\n\n /* Map Scale */\n\n mapScale: {\n font: defaultFont,\n fontSize: \"12px\",\n color: \"#FFFFFF\",\n lineHeight: \"1em\",\n padding: \"5px 10px\",\n textAlign: \"right\",\n },\n\n mapScaleInput: {\n width: \"80px\"\n },\n\n mapScaleLabel: {\n cursor: \"text\"\n },\n\n /* Show Coords */\n\n showCoords: {\n padding: \"3px 10px\",\n textAlign: \"right\"\n },\n\n /* Swipe Tool */\n\n swipeToolContainer: {\n width: \"100%\",\n height: \"35px\",\n padding: \"3px 20px 3px 40px\"\n },\n\n swipeSlider: {\n marginTop: \"15px\"\n },\n\n swipeTool: {\n width: \"100%\",\n zIndex: 20\n },\n\n /* Swipe Bar */\n\n swipeContainer: {\n position: \"absolute\",\n height: \"100%\",\n width: \"16px\",\n zIndex: \"1\",\n top: \"0px\"\n },\n\n swipeBar: {\n backgroundColor: \"rgba(127, 193, 66, 0.498039)\",\n width: \"16px\",\n position: \"relative\",\n height: \"100%\",\n left: \"0px\",\n borderLeft: \"1px solid rgb(255, 255, 255)\",\n borderRight: \"1px solid white\",\n zIndex: \"1\"\n },\n\n /* Time Slider */\n\n timeSlider: {\n marginTop: \"30px\"\n },\n\n /* Simple Map */\n simpleMap: {\n zIndex: 0,\n height: \"550px\",\n maxHeight: \"600px\"\n },\n simpleMapToolTip: {\n position: \"absolute\",\n display: \"block\",\n color: \"#fff\",\n lineheight: \"1.5em\",\n background: \"#555\",\n border: \"none\",\n borderrdius: \"30px\",\n padding: \"5px 10px\",\n zIndex: \"100\",\n fontFamily: defaultFont,\n fontSize: \"smaller\",\n },\n featureInfoCloseContainer: {\n float: \"right\",\n display: \"inline-block\",\n padding: \"0px\"\n },\n featureInfoCloseButton: {\n color: \"#FFF\",\n padding: \"5px\",\n },\n featureInfoCloseIcon: {\n fontSize: \"14px\"\n },\n\n /* Legend */\n legend: {\n padding: \"10px\",\n overflowY: \"auto\"\n },\n legendEntry: {\n width: \"100%\",\n padding: \"5px\"\n },\n legendBox: {\n color: \"#FFF\",\n display: \"inline-block\",\n width: \"15px\",\n height: \"15px\",\n border: \"1px solid #ccc\",\n marginTop: \"3px\",\n marginRight: \"10px\",\n float: \"left\"\n },\n legendText: {\n marginLeft: \"25px\",\n color: \"#FFF\",\n textAlign: \"left\"\n },\n legendCode: {\n color: \"#FFF\"\n },\n controlLayout: {\n width: \"100%\",\n height: \"100%\",\n position: \"absolute\",\n top: \"1\",\n left: \"1\",\n margin: \"0px\"\n },\n alertTitle: {\n fontSize: \"2.25rem\",\n fontWeight: \"300\"\n },\n alertInput: {\n fontSize: \"14px\",\n height: \"36px\",\n }\n\n});\n\nexport default mapStyle;\n","/*!\n\n =========================================================\n * Material Kit PRO React - v1.2.0 based on Material Kit PRO - v2.0.3\n =========================================================\n\n * Product Page: https://www.creative-tim.com/product/material-kit-pro-react\n * Copyright 2018 Creative Tim (https://www.creative-tim.com)\n * Licensed under MIT (https://github.com/creativetimofficial/ct-material-kit-pro-react/blob/master/LICENSE.md)\n\n =========================================================\n\n * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\n */\n\n// ##############################\n// // // Variables - Styles that are used on more than one component\n// #############################\n\nconst drawerWidth = 260;\n\nconst transition = {\n transition: \"all 0.33s cubic-bezier(0.685, 0.0473, 0.346, 1)\"\n};\n\nconst containerFluid = {\n paddingRight: \"15px\",\n paddingLeft: \"15px\",\n marginRight: \"auto\",\n marginLeft: \"auto\",\n width: \"100%\"\n};\nconst container = {\n ...containerFluid,\n \"@media (min-width: 576px)\": {\n maxWidth: \"540px\"\n },\n \"@media (min-width: 768px)\": {\n maxWidth: \"720px\"\n },\n \"@media (min-width: 992px)\": {\n maxWidth: \"960px\"\n },\n \"@media (min-width: 1200px)\": {\n maxWidth: \"1140px\"\n }\n};\n\nconst boxShadow = {\n boxShadow:\n \"0 10px 30px -12px rgba(0, 0, 0, 0.42), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2)\"\n};\n\nconst card = {\n display: \"inline-block\",\n position: \"relative\",\n width: \"100%\",\n margin: \"25px 0\",\n boxShadow: \"0 1px 4px 0 rgba(0, 0, 0, 0.14)\",\n borderRadius: \"3px\",\n color: \"rgba(0, 0, 0, 0.87)\",\n background: \"#fff\"\n};\n\nconst defaultFont = {\n fontFamily: '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif',\n fontWeight: \"300\",\n lineHeight: \"1.5em\"\n};\n\nconst primaryColor = \"#7fc142\";\nconst secondaryColor = \"#fafafa\";\nconst warningColor = \"#ff9800\";\nconst dangerColor = \"#f44336\";\nconst successColor = \"#4caf50\";\nconst infoColor = \"#00acc1\";\nconst roseColor = \"#e91e63\";\nconst grayColor = \"#999999\";\nconst whiteColor = \"#ffffff\";\n\nconst primaryBoxShadow = {\n boxShadow:\n \"0 12px 20px -10px rgba(29, 44, 15, 0.28), 0 4px 20px 0px rgba(0, 0, 0, 0.12), 0 7px 8px -5px rgba(29, 44, 15, 0.2)\"\n};\nconst infoBoxShadow = {\n boxShadow:\n \"0 12px 20px -10px rgba(0, 188, 212, 0.28), 0 4px 20px 0px rgba(0, 0, 0, 0.12), 0 7px 8px -5px rgba(0, 188, 212, 0.2)\"\n};\nconst successBoxShadow = {\n boxShadow:\n \"0 12px 20px -10px rgba(76, 175, 80, 0.28), 0 4px 20px 0px rgba(0, 0, 0, 0.12), 0 7px 8px -5px rgba(76, 175, 80, 0.2)\"\n};\nconst warningBoxShadow = {\n boxShadow:\n \"0 12px 20px -10px rgba(255, 152, 0, 0.28), 0 4px 20px 0px rgba(0, 0, 0, 0.12), 0 7px 8px -5px rgba(255, 152, 0, 0.2)\"\n};\nconst dangerBoxShadow = {\n boxShadow:\n \"0 12px 20px -10px rgba(244, 67, 54, 0.28), 0 4px 20px 0px rgba(0, 0, 0, 0.12), 0 7px 8px -5px rgba(244, 67, 54, 0.2)\"\n};\nconst roseBoxShadow = {\n boxShadow:\n \"0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 10px -5px rgba(233, 30, 99, 0.4)\"\n};\n\nconst warningCardHeader = {\n color: \"#fff\",\n background: \"linear-gradient(60deg, #ffa726, #fb8c00)\",\n ...warningBoxShadow\n};\nconst successCardHeader = {\n color: \"#fff\",\n background: \"linear-gradient(60deg, #66bb6a, #43a047)\",\n ...successBoxShadow\n};\nconst dangerCardHeader = {\n color: \"#fff\",\n background: \"linear-gradient(60deg, #ef5350, #e53935)\",\n ...dangerBoxShadow\n};\nconst infoCardHeader = {\n color: \"#fff\",\n background: \"linear-gradient(60deg, #26c6da, #00acc1)\",\n ...infoBoxShadow\n};\nconst primaryCardHeader = {\n color: \"#fff\",\n background: \"linear-gradient(60deg, #7fc142, #438600)\",\n ...primaryBoxShadow\n};\nconst roseCardHeader = {\n color: \"#fff\",\n background: \"linear-gradient(60deg, #ec407a, #d81b60)\",\n ...roseBoxShadow\n};\nconst cardActions = {\n margin: \"0 20px 10px\",\n paddingTop: \"10px\",\n borderTop: \"1px solid #eeeeee\",\n height: \"auto\",\n ...defaultFont\n};\n\nconst cardHeader = {\n margin: \"-30px 15px 0\",\n borderRadius: \"3px\",\n padding: \"15px\"\n};\n\nconst defaultBoxShadow = {\n border: \"0\",\n borderRadius: \"3px\",\n boxShadow:\n \"0 10px 20px -12px rgba(0, 0, 0, 0.42), 0 3px 20px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2)\",\n padding: \"10px 0\",\n transition: \"all 150ms ease 0s\"\n};\n\nconst title = {\n color: \"#3C4858\",\n textDecoration: \"none\",\n fontWeight: \"700\",\n marginTop: \"30px\",\n marginBottom: \"25px\",\n minHeight: \"32px\",\n fontFamily: `\"Roboto Slab\", \"Times New Roman\", serif`\n};\n\nconst cardTitle = {\n \"&, & a\": {\n ...title,\n marginTop: \".625rem\",\n marginBottom: \"0.75rem\",\n minHeight: \"auto\"\n }\n};\n\nconst cardLink = {\n \"& + $cardLink\": {\n marginLeft: \"1.25rem\"\n }\n};\n\nconst cardSubtitle = {\n marginBottom: \"0\",\n marginTop: \"-.375rem\"\n};\n\nconst main = {\n background: \"#FFFFFF\",\n position: \"relative\",\n zIndex: \"3\"\n};\n\nconst mainRaised = {\n \"@media (max-width: 576px)\": {\n marginTop: \"-30px\"\n },\n \"@media (max-width: 830px)\": {\n marginLeft: \"10px\",\n marginRight: \"10px\"\n },\n margin: \"-60px 30px 0px\",\n borderRadius: \"6px\",\n boxShadow:\n \"0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2)\"\n};\n\nconst section = {\n backgroundPosition: \"50%\",\n backgroundSize: \"cover\"\n};\n\nconst sectionDark = {\n backgroundColor: \"#343434\",\n background: \"radial-gradient(ellipse at center,#585858 0,#232323 100%)\"\n};\n\nconst sectionDescription = {\n marginTop: \"130px\"\n};\n\nconst description = {\n color: \"#999\"\n};\n\nconst mlAuto = {\n marginLeft: \"auto\"\n};\n\nconst mrAuto = {\n marginRight: \"auto\"\n};\n\nconst btnLink = {\n backgroundColor: \"transparent\",\n boxShdow: \"none\",\n marginTop: \"5px\",\n marginBottom: \"5px\"\n};\nconst coloredShadow = {\n // some jss/css to make the cards look a bit better on Internet Explorer\n \"@media all and (-ms-high-contrast: none), (-ms-high-contrast: active)\": {\n display: \"none !important\"\n },\n transform: \"scale(0.94)\",\n top: \"12px\",\n filter: \"blur(12px)\",\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n backgroundSize: \"cover\",\n zIndex: \"-1\",\n transition: \"opacity .45s\",\n opacity: \"0\"\n};\n\nexport {\n //variables\n drawerWidth,\n transition,\n container,\n containerFluid,\n boxShadow,\n card,\n defaultFont,\n primaryColor,\n secondaryColor,\n warningColor,\n dangerColor,\n successColor,\n infoColor,\n roseColor,\n grayColor,\n whiteColor,\n primaryBoxShadow,\n infoBoxShadow,\n successBoxShadow,\n warningBoxShadow,\n dangerBoxShadow,\n roseBoxShadow,\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader,\n cardActions,\n cardHeader,\n defaultBoxShadow,\n title,\n cardTitle,\n description,\n cardLink,\n cardSubtitle,\n main,\n mainRaised,\n section,\n sectionDark,\n sectionDescription,\n mlAuto,\n mrAuto,\n btnLink,\n coloredShadow\n};\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIgAAACQCAYAAADTPyOkAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4nO2de3hV1Z33v9+1d05CDJFSCJHhRWTy2IxgzI3AUIri2GrR2suMOr1Pp7YhoFisjuPDOJ6+fRjHoZYWCUnGsa2tzli0Fx2l1qp4RciNSNGhTIbJ8PAiRcrEGGJysvf6vn+c5JCEXM4+OSEX8nme8LDP2Xutdc757bXX+l2JCUw4DDO9JMftcNLdc9IVcqaEsmWVAzCXBn8sYTahGSCyJE4nkQYoHWCsDUEWQAuAZgjHSR6TdFjA/1BoFP0Dvu04xDYn4r/fEXmltdF77HrYUfvQSYZDnzK+uPfVD2WkIz0zJQUzRBYaoghAHsiLAMwYiT4ltJPYK2EfhDoffrVrnGNt7/kt777U0BIOj1+BmRAC8r1dC7PSmJItg4sMuELEEoJ5ozsqHQL4KoBX5Nta+fZI2dI3jozumIIzbgWkqrYoXb7No2PyAfwZhOUgskZ7XP0hoQXAqxB2WNhqIXJgTcmbR0d7XPEw7gSkvDp/qWucT0gqIVkMIHO0xxQECe2A9gGol8WvyhbX/3K0xzQY40ZAKmvyrwXM5wnmg7pwHA19QAQdIVhtrZ74/ckTj4ZXNLWP9pj6Mua/5YrqwusN8TUReQTH5CNkuAhqhtAo4CFD/qC0uK5ttMfUzZgUkPC2BaFZ56cuo4M7KC4FkTHaYzpDtAlqkvD91hPew7dfuXfUBWVMCch3d85JSzNZ+cbBepJXAXBHdUCCBeVJtKA8igD7bFkFA8pINCRcQYagGX6/eMvK3tvS0fbLO5b9rnVY7Q2DMSMg5TsLc5wUlpG6CWDoDHfvCWqF2AqqhUKbwCOEDlngBKl3YNkMqp00bb6sBQADGdJJl1UGjKZDZlZU8cY5grIBpBNIF5BJMLFZUHoU5CYA9aXFdV4SP3NcjLqAVLyWl8WQcw3JOwHmnJFOBQvgCKhjEo6Q3AfgP3xPBzy0vLV2SWNLMrqpqi2aa33lGIcLAVwsaT7BbADZIKbHP1w1E7wXwL+WFtcdSsbY4mVUBaRyV8FFcMxdpP5y5IciANwPqckC1YSt8yJsuOnDe87YFx4Ow8xcmZ9nyELCLAJ0IYiF8S6+JWwnsbG0uO7FER5qjFERkM3bc0KpWef+jaCvEpw3sr2pXtBT8vmacdj43MG6prFiK6mqLUr3PeU6LnMFrSB4DYDsQS8SWkU9Dk8bVy3Z89ZIj/GMC0hVbdFcSJsErowax5JPl4HtUcj+FD7eOnqo81D4+jcjI9FXsti0I39a6BzMMzTLDPlFACVDXFJv5ZWVLXqjeiTHdUYFpLK64HIabsII2UkktID6keQ/0t7KA+tWNDSPRD8jyXXbYK6YX5RlfeXRoBTEpwbaFQk6AunO5/97z8MjNSueEQHZvD0nlDIz8+sGvCvp9hLBijou4V886z2gP7QdWbuycUzPFvFSVVuUbuWXGDq3C1re705IaBe05d2Ok98aie3wiAtIVW1RuoT7SNyI5Os1jkJ6vDOijWdysTkaVFYXXA5yPcBi8nT7k4THSdxcWlyXVCPgiArIlt25011zznoStyazXQkthHb6Pu5YvaR+bzLbHutU1RZ9CdLNIPL66oskvUyytLS4bn+y+hsxAamqLcqWdA/Jv0puy6qH8ODbrSd+MBaNW2eCitfyspiScjOIG8nTdj31AMpKi+uSsngdEQEpf70w13XxIMilSWz2qJXutep4dLz4Uow0lbsLiumYUgA39nnrqKy9YVXJnpeH20fSBaR8Z2GOm4IHQS5PYrMvAvjWmVQQjRe27M6d7jD9M8bwHvRwqZRwwMp+bfUwhSSpArLltYK5bog/JHl5Epv9bmeH/f5EX4QOl4qa/KUGZmOfWfugfHvDqsV7ahNtN2kCUl69cI7D1CpSK5PTrJoF3dcWeec7ty49fFauNYLS9RusB/X1HrqT/V6nPr3mT+sTWrgmRUDKdyzIcDNSHwFxbVKaFA5I+ubzTfXbx4pafLyweXtOKHVm5o0C74tpqoWGDr/zE2uX7D0ctL1h/5rhbQtCsy5Ivc2QG4bbFgBI2uXJ/+pNJW+MuJ1hIlNRU3gTwfU9djnPAvh8aXHd8SDtDM+xBUD2BaEvkLh7uO108SzJGyaFY/iULarfAukWCQcBQNAVkO6tqi0K5OQ9LAGprC5YDpgNTIaDj/RkpN1+5Uz7O0xkVpXUb7Ow6wQ1EjQirhfsqiBtJPyIKX+9MNdx+TSJ+Ym2EUWA8L3mjpN3jaZr3USmvDo/36FTRaIEQqsP++nVi/Y8F8+1Cc0g4R3z0lwXm4YvHICE73T4LXdPCsfIsaakocGXv0ZSLYgMh7x3a83Fcf12CQlI9jkfXA/wY4lc2xNJz7x3wrs7WS5+kwzMmpKGWl/2FgD7ABYahNZv3pUz5HoksIBU1uSvpMGN4PDWLxJeVKf/1bHg2n+2sKakYSeAmwUdI/BXqe65nxrqmkBrkM278uakuik/w9DeToMiYZ/fqU+vWVrfOJx2JkmMiprCbxhig8R2i84/Xb1o74GBzo17FrhuG0yq494BaFjCAeAoibJJ4Rg9yhbVf0/iFlDTHLj3hLctGHAXGreArJhbuBDgp4ajWxMUAXBXaXHdqwk3MklSaOv8/d0EnwTxmewLQp8Z6Ly4fu2o4096BcnrhzmuO0uL6/5xmG2cMcI74GamLkhq9oA039hjb9u2seBEvfnlghmhKeYJANkWnR/v71ETlwugy/TLAF47rNFIj/rtnZXDauMMMysjL9cwpSKZbUrwZp2vbwN4Id5rwmGY864uvEdC3aqS+m3JGsva5XuOV9Tk325onjZKWQegrO85QwrI5pcLZsDgdmI4IQra6/vYuPojvx1XXuaGKdMALEtmmyRAhw8EuSb76qKNINYSOFpZXeitKqn/ebLGU7aoYWdVTeEGUndUVhc8tqpkTy/BHXQNEg7DhNLxFwSWJDwCwcpi47Fn6hsSbmOU8Kw/EpZkT1Zxx9hWVhf9PYHVAFwQc2Bwb0VNfjI99dDxvn4EYSfJW/q+N6iAzPh47jTC3J74wlQQ9dzRkyceH8+J3EaLipr8pTBagx4BZgRzCGdjVW3R3GT1s3b5nuOyugfg3Kraol4z5qACkmLSvwQkrk4XcEQ+7jtbnYuHw+aXC2aQ5pb+4nZJLIW0PrwjeWEkqxbv2SXhEUGf3Lw9J7btHVBAompYnrZoiRdBFsK2ssX1zybaxtlKeAfclCm4lhhk10hck51ecFEy+6XBNoIXOTMyirtfG1BAQu7Uz4GaN4z+DnoRbRrG9Wct06fkZROmdPCzOBs0KwdTcgWltLjukGBrDU1J9yzSr4Bs2pE/jTKliSdyEQjePeloHJzrtsGkOM7HyKHNGSTWZc8NJTWnSsR77z5DFqRmnTsfGEBA0qc61wJIuGMBr56M/D5pW7GziY/Mzckw4CfjOpnIkoPCcHj4noHdrF3S2CKrJ6xVYXjbglD/UePCDaASTxxnce+kJ3pipLrnTgNxRbznG/DKKVd8KD2ZY6Dhk8bwT2bOxOkCUlGTfxmoixLd2kp64f2TdtLWkiC+7IUAA/zgLMwIuUnNAtmVC+0XdI172jaJMJ9MNOuPBM9C3x+PeTnGCobIDXQBlWO8lKQn4iktrqsH+qxBNu/KyeSwfD20U4qMaMabicx122AI80fBrmKIhiOWjryXgIQ49UKQFybWlCDhJy82vXksGQM7i0lk5zhiaUNjAhIOw9CwBAnWVBGwS+x8YTISLooED9BeCQN6a/VlwVsApOCLe2HE3DZjAjL98oLpAD6SaEMU/t1haFLv0QWJNmtxv+DdAOAuQN2xsQOqx8NhWAu8HagjoV3SyAuIG+JsgAmZtqPJ47hzNDIBj2HajOGzZYveaHj7YPs/eRF8wsp+EdLLoAbUW+iUIMUH1WSdzhFTKcSkmcR8UHMS297qAMB9SRzXuEfS4aNP1x8GgC7vsUYAjVt2524/2akBvcmkzv1Aamv8BQxY3RrxRiymyAWAjb/OSzcGlyYoHACwr2dQ8ObtOaETU7y4tXvnTf2gF8/sEw7D4NLkaA3DKzBis50gC2Jnfy4ONy3ef2Kwa33b3uI4qS8QiMuDz8r+ZiSDzlwASP+AnwmmJOiEwuOA/XX3UXjbglDKzNT12WAG45A3ScZavVG+Y8Hja1a8OegHzV5ZcBmNydcw18GEQcVO79GRqiFHwJNFTffxxl/npad/wM98Z/ubx4byiznxTGPredcU/QzxCIhw2HqMKzlMd7HHm5ftCfSZXQAgnUxACxOZQSQc7exALM3RrPNTlxnwbxBnFmWSAPVU5xRuBzCggITDMKD5PIC/HmbMVrRf19QCGBEBkWhFL/bInfoB93IYt3TW1YW/rrjSPlX2pw1NA10bDsNuvTryqsOUxqGKG4h6FO0dg+b8CIdhsj9eUAjDrwDIrqotuiHIWtFE/zE5wdS7sSECVGNPqaTh1WBgRxYv1R/6RyeRNE9wGjNy23HKa29lU+yQmEvxCkPeT9c8WFld+Jnv7pwz4A3kvfP+YSsM6rcqqNX6eGKwWff+3Xnzzru68FY6/BnJ1SBybKc/J8hHMeFtC0IgE9reCmil8Kvu4/COeWkALsdoFwIabcTmd19qiMUbCzwfVBoAkLyc5GPnhGb9rGJ3Yb+53NaubIyg038Y0aQv/ULwSe8PLQNqratqi9amOO7TIDcCnNt1TQYdBnJVNOfNT3MpJuSZRLC1U37MMHfe1A/mgZqQdeWCQOrEm72+UU3r9fiOPiNX0sGDVbVF/cbHdq2PKqJVMk/joGf9Tf2lHK+qLcqsrC24B8IGou/vqjQaE3edGgAwHd67LoiEBETQiZea3th/6tguIzgtkbYmFELrgh45kkj2+zjpMoo+UFlddFvX7NuLjmPvbgfUO4+H0CqL768paThtcbrltYK5gh4BeGv/22SGrFWgpYShNzUDYgKOyQLEvb1V6ywCkFTfhHEJGeQROwNGG87LmH5P33QMa1c2Riy8bwLYB3SXOdG2o03tpwWgVe4quMgNmScIXDNgxifBIKDdxqSEkJNYKgd6EF7vPoq6KWJe8HYmIOqtKe2qXzMgBEMgvxFyzt1QvmNBrzt/9aK9ByR/nYTDBF8Gua5v2Gb564W5dMxjJPKH2Il6xjCQzsTQmHlBLogheDSIJdKfks5cgAkZ+iYaYu9ZlGBcqnASN7kZqXdW1Rb1moFWLWp4DtItnR32y6XFdb2S7VTsvGS24+IncS4TIkAww55rpT828Wi0+iDK823HKbuBwYUCZox6lcSxwezpJTkuEF1ECvYYQBtPuVQRtxH4HYAf93y9v3DLra9cPI0hZxPB4r7v9d+22q2HQTW5fTFkgs7J4pGeSfVJ8ycEJheoACCmuTOnxPQNhPkviHF52XWtH+6rrMlfOdS5ZkrKtyAOmLqhn3GdaLcdcbsfAIBhgo8FQgd79S3MHm5aqokCAdCmxG48+fYAqCB37gzCrNu8K29ApVZ5dX4+wc8xiFKSOnbr0jeDzSCAEl03xHw/rtsGQybmaDRaeNYfMRO5AJdkYffx0bb/baACqvWJ5SmO+6X+3irfsSDDpfksgjh3Ce2wrBn6xN64gTrpzf90/+eK+UUZgjI5+nWa48Y1zk+ragt7rOgZgvRvpYvq/+9w2ybhiloB4B8BILyiqb2y5oO1EJbGf8czROgTm18u+Oe1y/f0Sp/tpIcWAgELNVEnBBtXbtSeGCSo2LI97ggb8TKoBEuPjx7zo9U3u/+QK/D8ZDVO8aL7Xy2YHTsmfkEgUCEkEoWp6WZhz9fC2xaEaPixwMUhhcbfP92wK9A1iBrrErKbEIhJte8gA/0U2htvkEn0pyWmh1JPBV9H87IpoMc/Q4Jd1jOKf8YfhbIBfjpIK4pWxqxIJAWHQaKaTykmIEZOmqARKZI8jkkXcGXPVAq+j42Cgnn9y1w6K/WS2GxhHM4GkR9wLLue/+89CaWuSnzXIcQUNoYKQf3bG85eFCH5lj8lI3YDrl5Sv4vgD4K0QiqfxsSWAXQUzG4mnLBWdyUabZCwgNA1sV2AT4U4grEZ4xEBzb6nh/pGGXYce/duAAGS+XGGHE0Dou4UBrw4wCjarFS2enF9wqGww9FbxFS2hoCoYTQ18aDYfOxQx2ke6mtXNkZsR+fdgn4Ud2M2aqKfiXNcxbk4FdQKYd0LTfWPx91PPxggsZgK29HZc8oKYXIGiSHICqgfKBdq2Yf3HvP8tm8KNq6csWT0u21N8RBfbR4dl48vvt1a/4PhBrIZYPhufBQtxMmIui4IWkGvdR+HwzB984ndtHj/icix9+62Vl/pir4b0k80o9Md3DIcDaJ6yvdwZdni+l/29dzvawSMByMxkOq1G5tiY5IsygPjT+044RE8WcTSfs5cmb8ke2rB31buLiju6Yu6dmVjpKyk/kckFllpHYQGCCdwmrCoGQDcqWkWQq81jYR2CUclPeXDfuLo0/WfXL2kvr7nOd/duWB6VW3RXwj2rqDJZlxCJ4DgDkOOdWMf1CqaxHMcKVJHFsJGFIkZxQzMRQTulOH6dJO1ZWvN9Ad6pr3uMuFvAbBla03BFQ7MxwEUQsgCkWEtu1UKEQL/AegQwBYJB0m85HVqe39lT6tqi9IRzdZwO4CVkGk475qiCoTr4lbYuQKOJxQu5dhTuTutaYerdiBBbapgTWrKRHpEtTW/vy82M9MoGzChqJqdtzlwr6moLvy2MXyqr39HV6mw5wCgqrYoG0DOe97Jg0A0sUtVbdHPPetXs8N/a7DM1ZW78nMAfFXCN7rLo5JI8z3NRgCNrgswoXQNlBNzfnVcRiC0Jz6D0O3wOtOqaovctw+2m+kZHUjNOte+/VSdHacJeI+/+U6PccvM6h0Kwlwa/VDCP5dXL9jQ022iJ6XFdUfR58fsKvo4aJB8eXV+MWjuA7C8j6tPujHBVPQGtP8Z5IJTnHIT8BVpAwcOehqyJWJpyHEfg/R89gWpvwnNzPyNoEdmXX1JXI4wY5CWnk7L/eV7IxgicZNr0p6urC5ISin78LYFocragr9zjXmC5PK+7wtKExXI9mZgTwX4BEE9zPuSbUt0u9zFDJJLQC5n9594maE7rlwIYqj3gn0IT7JC0jxUWVPwF8Pp8rs756RlX5D2fcLcCXB2f+dQdINqvA2khCo/Ufw/3f9v+1+nBWByCxNS7bKDO/uOVYRAXu0AMYfkA4kKSXjHvLT0lKwKADdiENuaKI8MlqDGtKvzYDQbTkB6ZGG+/cq9beraik0CEAj1DJxSXFmDOI00D1bW5Aeqy7N5e07ovKkfvB/gF4byNSHgBZ3pTYfX2UbEnyapR2/z+rwSqCb8REZA9oKZPfUNbO5KkzEUmaSpKK/Oj2vtVVVb5IZmnPu3EIYUjq5xtNs4fWO7MSnmpCfgraFP7dMVML+XZs7yv4CBE6OcTZDInO4UTOtx/P80SOaCPlfPduiUV7yWN+RuQ1bXgrgl3kwKglpBb9BsAH0xLR2HPUGBBQTgtN6R4joYr+f2REeCcdJOPYKtH+y7IZVvUlPuGEw1vvWVi6eRuJNE3LG2FJq9d94PJiDhFfAovRTkIgAQ5MI95ZgLq30gJlNgIuqT6hon9pjw0baTDOK0zJCEG63sX/b3bngHXCct5a9ABFEDeALq+wv4HgwDAL7HQwi6yBSNoSnoPjx6KNKIyXVIF3IFxVJqdKWdCpScjkQmyRu61OW9yMrImw/wywFtG80kA08EBgA6TaRFOhVGGQ8kXPUoshy+/s2IhP1xLsYmOASAkp4R+1b2V12GuPgRl1p5pyU2ptzlovKCtYVjGCTfyEAYALC2uUVAcK8jMWfjr/NiEk7idQCT6xAABGbMSp9+Vffx7/878nNRgXaL0fWF0ys1+vd2Lcwi+el4wjh74En4aWlxXWBlpgGAW5cebjfka0NFofeFVGbGdBP7AL46d00uVLvhNBp89rpt0e84fP2bEViUCwpkkiDwZ1W1RTGNchpTshHN4hQANUXa7dZg10SJSWGn9ZoAHBz41H66BTJJrug+Xr1o7wEQTZOPGQCCBWgvPT83tt1dVVL/MBRsmidZ3Ol7sZ2KyFzGua3twrMWG/oGX8VLTEBMhz0CBXvMEAwRZkkfJ5TnkQQvtQlAs6x+2Dcvqt+JOxAkm7Iwz4XJBKLGuKDlQiQ9/EJT/Y+HPrN/Yj/s6o/8tlnQK0EbkDAv+6r8mMORfPuMFF8+jImMgLbODtX3fX3N0vpG6+MWQU1xNUQYmKgF9rz5aS54ygY25BikZ9r9yB3D8UvttdCxUn3Xajd+qHlwT6UgWLV4Ty2gcVdlO7kIhPYNNK2XLa5/luCfQ3omvuaiM0hze6sRFFcEo5X+wbZ3fvYbS/YNSzfVS0A6vOP7g6rdCYYg8+HeL+qxs3odIlqJrw92SmlxXX2H731N0o+G2hz0CinRkLuXo1a62ZAbBvM4i5dend269HC7oJ0JWHdz79+dN6/7QBH7cynJ5v/xRYQGsSyEVbVF87fuLlzWUyUAAGuX7D38bsfJm+XjoxKexACe7eqKQZqWlmEJ9fu9Sjgh4Z8AfPj3rfWVfbe0W14rmFtVWzRkUpq+nCaNhnyCjPP52A2V4xonpnY3IfcYqLO3LCphI35nbCa2siWOg59mfjBlx9aagqt6akfvWPa71rLF9S8cbf3DDQAKIP2DhIao+4TaBEXUFQfdcexdD+QRQZHodlnHIT1jpVJf7QtIrC8trjvYM9xhy+7c6RU1hX+TkmrqJKzftCM/kEfZacag0uK66sqawr2kcuJV5UaVNvzova9+6Nk7lv2utbS4ztu6u/BBx8EX+uvjLMDTH9pithcDzoE4HcRsh+ZXgv61clfBhqPP7Nnf7XMbXtHUDjTtA7AewPqKnZfMtimm2BA5rnEOA8CJ6kYv66rCpx2X/yv5e1tO2J23X7m3X+XXva9+KOPc1CmXk+bbXektQOBYyjmajQDKzP5/POERkFcA8ad0ILUyIzTlQSA6tXa02X3pGebFrnbONo6/0toYu4sFntdTd0Hwc3C4fNbVBXdvLnnv4f4MaF2Zlp/s+Vo4DItw/S4Ag+b5+N6uhVlpTuhugqvQ4ykhKt2VyUaAdWa/C56jJ09sj9pVgsC5juHl3Sbqd19qaBH04Fm6WO17h54+rRNzCFOVMjPzti27cwOlxx6M8ur8/CluanlX8v7ev6+YhgDuAcAAAhKd7uymwA5AMuvk+fOAqLST5jkBTwVqYwIgqU8q7v5nahKuITe4Jv0XlbsLghnf+qGqpvDrrjFPABjItzVEmmCpuAd6gzRPIriJOluOuaZ7FiktrjsO6aGzbRYhAxnSQHI5HP6kqrZo4dBn909VbdFagfcAA1dzIGWDOoIP+EFKi+vaZLEpSGMAYIh1nm2PGZci7+NFAKdpFONBPUpLhcOwQY2JgfvrI8i0CdeUSe9V7UFDxy0TzBP0SPnOwsB5aytqCr8O6FtDeZdJ9MRgTsuDe0Eb/hzQuu5VcHxwroO0LwD4DgCsXb7neGV10b/RIBfB0l2l09GHq2qLXMl3ScdImj+i8b/ivKraoo9JfpoFYajcRAKOpd5rDgEt8bRCMM9J0YNbX7n4k/EqubbWFFxlyG8hniTGVDvVvx5lIAadCt9+qq4V4L0IWCSOxC1dcaUAgPdP+v8i6NVgjxrOAPh3EP6dcH4B4Wckrhr6usQhdQWEXxHOLxyYXwC8J6F2gKwr5hedsrhSbyve9RyxzExJKe+Z22wgKmryFjrkJgDZQ53bRRvpBMq0OKiAhMOw/vuR7YICmahFzYZ0R/fxuhUNzfJxn8RgaSBBA+LU34inDyB69hfQKadnMwZAbC0gyybEmWaDoCF4TWrWuX892HnhHfPSSPfbAOO27lJobm5vbYr3fCCOFFSrP/LbZpKboPhjbwkaEZ/buqsw9mgqW1z/LHB2aFcFuQBOLTjpvUUEcjfMBHRLRU3egIvWrIwPXAYggI5JEHA4aAnVuO6Qtvf8akH/GqRhijOMwzt7+mX6ityTWIjF+CJqwNRHu48NU/ZHc3rEj4ALSfdr/b239ZWLpxnw8wyWbqMN4mtDn9abuOfsqtqi+RCe7yeibkAERWC5flVJ3Xd6tFMIoER2Yif+l3SobHF9TAdUWV20lkb3IEB1UUFNfgQfXbO0vlf8dGV14WdIPhJvwFR3W53t+nDQurmBHupVNYUbQNyGuBKpxdgf8Ts/fvPivU1B+ppoVNUWZUN4CcRpXuoDIcgSvKG0uC6WqXDTjvxpUzKc+0gMukbpp52HS4vrvhx03IHu4pOdHfcF9X4XdGHISflqf0X7ziZKi+uOWujxINppgkbSip617FIzbBaBjwXpm0CLZ/3AOi0goIDcuvTNE9bD+rjd5RDLjXHrrIwPBPZFmGiovXMjAmunuYRMP5XNiSnzQAQqjizxB2tKGhLy8gu8Dli9pH4XLDeh/3quA5FuaDYkw94wnln9kd82Wx+3AwiirMo1jKbirqotcmUR9Dusbuts3xDwmhgJLRRXldRtBhF0y5oLww3JtFyOR8oW1z8r2G8FiI9JN4xpSUMwuiDevgQ1etYvDVplqicJ7yRsxLtdUMBwTV6T4pyzLtE+JwrPH9zzPQr3IM5YZnb55TS3txoqbnP9PoJfSfTR0k3CAlK29I0jvrVfhoImn9HfVdUU/n2i/U4EHrsetnRR/T9Y+ddJOq2Cdl96prQaOr2VAODHnu34eLRGzfAYli5iTUlDg6Q7gwUlEyDWVdYU9FuP7WyibFHDiyS/KNi7MEjuUooRIJqKGxx0F/SqpM8C+Oaakn2B8oAMxLCVVc831f8S0F3BruI00ny7Ynfhp4bb/3intLhu/9GDkX/q9L1LZXELpJ19z6GJxjt3pL7r9RO31CJomy/7SRvxbli1aM+jpcV1SUvDkRTrV9QkjwdJfSlIk1Z3c5IAAAR3SURBVIIa4evPVy3eE2gtM1EJ74Cb5V6cgTRmEU6JoVkkIcez3rqbFr9x4LptMH92QcH1IL8CsQHSDnn+XtvhtaxZ8WbCeWoHI2nm0U078qelT3XKBf1lQCvoq1bezWWL3jjLo/FOJxyGwaXRLFB9X8NLOCNZqJNqP9/6ysXTnLSUB8EA1aCjVMu3a6Jhm5OMJZLuYLFld+70FJP+Q5CB8n1KqoXVzasW7wlcunOSkSPpFtWbFu8/YTv9MgDbg1xHspiOeaCqtuiyZI9pksQZEZN72dI3jjS3t94g6TtDn92LhRJ+VllddNtIjGuS4IyoD1/5jgUZ7tS0mwDdE6wrtUn8QVtn+93DURNPMnxGvEbU5u05oZSZmesNeCuIIB5QnoQXSXy1q0bKJKPAGSkiVlVb5FrZawmzkUSw8mfCW5K+ScPnSovrJuvinWHOaJW5ipq8hYRbTnDZaXGjg6KIFf7RkBVdVZgmOUOc8TKEm3flZKa6597bpVALlKsCUW+2u95+7w+7ovHDk4w0o1ansqK68EZjeAt6hgfEgYQWQltA/ltpcd2+ERreJF2MaiHT8uqFc1yGvgny6wgWlgkIhy30Y896D5ztDtEjyahXur331Q9lTE1Nv9yhuR3AsiDXSvBI7LXSTw1Z2bfE6CTDZ9QFpJvNu/LmhFznesisD1IDpYs2CQdI/ORkpP1Hk7qT5DFmBASIbod9dc53mLIO0JcApAcaYrR27xEAv+zssN8/HtlzpG/9+rHMddtgFmCBG77+zTGTqXpMCUg3122DuXTeJbmucW6neC2o6QH9TCzFNkHbST70vtdRa21zy61LD4+5nU94B9wZ6bmZrtKmw+FyyMzx0f7PAxVbPtOMSQHpSUVN/lJDZw2gZQLmJBJxL6gJ4s8h/caTf9Dq5NG1SxpHbb0S3gH3vKlFMwDMhlQsoAhEhnw8FA1yHzuMeQHpprw6v9g1zhcBLQOQGyTGtScSDpN4CsDrsrbJkz3a2cZj61Y0jFgZk26BkG+z6Jg5VlpsyDwAMyQ1CvahskUNL45U/8Nh3AhIN/fvzpvnGvdThrwUUOFgObmGQlArxL2A9hH4TwsdBnQUULNn1UxEWo63tbfFo5S7bhvMZTMXpOMcZJBOJsFplDMdVBaIPyFMnoRcUmkSDoF60bf66XDDEkaacScgPdlSfclFDk0uyUsBXMZAqbL6R1Aro5FvLRJbCLWLaCfYJsEj5AnsXkSmEzICQgTSQKZJyACQCWp6TFMsHBb1nKTnabG3zX/nwFhcD/XHuBaQbsp3LMhQujvbGDOXYIkhPyxoecD8GUlEkFgN4EVIr/g+Gt0UHhmPepoJISA9CW9bEJpxvp9hTMo0wJ3vgPkALhGRR/HCIDk14kMRAYcgNgjaQ6Ee1ja2w2sZqzunIEw4AelLeAdcYJ47E+e4SvdDYGq2S3MRiPkQzwORBSEb4HQCIURV/q4AMFprthXRKgzNAI6COkbwbSt7mBb76Zim5vbW9hRz0mvpOOyNJ71LPPx/p6cTMuE9JlcAAAAASUVORK5CYII=\"","import React from 'react'\nimport ReactDOM from 'react-dom';\nimport classNames from \"classnames\";\nimport { withNamespaces } from \"react-i18next\";\nimport PropTypes from \"prop-types\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\n\nimport Button from \"components/CustomButtons/Button.jsx\";\nimport IconButton from '@material-ui/core/IconButton';\nimport Icon from \"@material-ui/core/Icon\";\nimport Popper from \"@material-ui/core/Popper\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Grow from \"@material-ui/core/Grow\";\nimport Divider from \"@material-ui/core/Divider\";\nimport ClickAwayListener from \"@material-ui/core/ClickAwayListener\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport MenuList from \"@material-ui/core/MenuList\";\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction';\n\nimport TextField from '@material-ui/core/TextField';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\n\nimport mapStyle from \"assets/jss/prehnit/components/mapStyle.jsx\";\n\n//OpenLayers\nimport OlFormatGPX from \"ol/format/GPX\";\nimport OlFormatKML from \"ol/format/KML\";\nimport OlFormatGeoJSON from \"ol/format/GeoJSON\";\n\nimport shp from \"shpjs\";\n\nconst FTYPE_GPX = \"application/gpx+xml\";\nconst FTYPE_KML = \"application/vnd.google-earth.kml+xml\";\nconst FTYPE_ZIP = \"application/zip\";\n\nconst GPX_PROJ = \"EPSG:4326\";\nconst KML_PROJ = \"EPSG:4326\";\nconst FEATURES_PROJ = \"EPSG:3765\";\n\n\nclass OverlaySwitcher extends React.Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n open: false,\n dialogOpen: false,\n\n uploadFileName: '',\n uploadFiles: undefined,\n uploadResult: undefined,\n }\n\n this.handleClick = this.handleClick.bind(this);\n this.handleClose = this.handleClose.bind(this);\n this.handleAdd = this.handleAdd.bind(this);\n this.handleCloseMenu = this.handleCloseMenu.bind(this);\n this.handleDeleteMenuItem = this.handleDeleteMenuItem.bind(this);\n\n this.setOpen = this.setOpen.bind(this);\n this.handleClickOpen = this.handleClickOpen.bind(this);\n this.handleDialogClose = this.handleDialogClose.bind(this);\n this.handleFileChange = this.handleFileChange.bind(this);\n this.handleFileLoad = this.handleFileLoad.bind(this);\n }\n\n handleClick = () => {\n this.setState(state => ({\n open: !state.open,\n }));\n };\n\n handleClose = event => {\n if (this.anchorEl.contains(event.target)) {\n return;\n }\n this.setState({ open: false });\n };\n\n handleAdd = event => {\n this.handleClickOpen();\n };\n\n setOpen(val) {\n if (val === true) {\n this.setState({\n dialogOpen: val,\n uploadFileName: ''\n });\n } else {\n this.setState({\n dialogOpen: val\n });\n }\n\n }\n\n handleClickOpen() {\n this.setOpen(true);\n }\n\n handleDialogClose() {\n this.setState({\n dialogOpen: false,\n // uploadFileName: '',\n uploadFiles: null\n });\n }\n\n handleCloseMenu(param) {\n this.setState({\n open: false,\n selectedLayerId: param.id,\n selectedLayerName: param.layer\n });\n if (this.props && this.props.onSelect) {\n this.props.onSelect(param);\n }\n };\n\n handleDeleteMenuItem(param) {\n this.setState({\n open: false\n });\n if (this.props && this.props.onRemove) {\n this.props.onRemove(param);\n }\n }\n\n loadGPX(data) {\n return (new OlFormatGPX()).readFeatures(data, {\n dataProjection: GPX_PROJ,\n featureProjection: FEATURES_PROJ\n });\n }\n\n loadKML(data) {\n return (new OlFormatKML()).readFeatures(data, {\n dataProjection: KML_PROJ,\n featureProjection: FEATURES_PROJ\n });\n }\n\n loadSHP(data) {\n let name = this.state.uploadFileName;\n\n var buffer = Buffer.from(data);\n shp(buffer)\n .then(function (geojson) {\n let features = (new OlFormatGeoJSON()).readFeatures(geojson, {\n featureProjection: FEATURES_PROJ\n });\n\n if (this.props.onAdd) {\n this.props.onAdd(features, name);\n }\n\n this.handleDialogClose();\n }.bind(this))\n .catch(error => console.log(error));\n\n }\n\n handleFileChange(evt) {\n this.setState({\n uploadFileName: evt.target.files[0].name,\n uploadFiles: evt.target.files,\n });\n }\n\n getExtension(filename) {\n let ind = filename.lastIndexOf('.');\n let ext = filename.substring(ind + 1);\n return ext.toLowerCase();\n }\n\n handleFileLoad() {\n let files = this.state.uploadFiles; // FileList object\n if (files) {\n\n // files is a FileList of File objects. List some properties.\n for (let i = 0, f = files[i]; i < files.length; i++) {\n let reader = new FileReader();\n let ext = this.getExtension(f.name);\n\n if (f.type === FTYPE_GPX || ext === \"gpx\") {\n reader.onload = function (evt) {\n let features = this.loadGPX(evt.target.result);\n if (this.props.onAdd) {\n this.props.onAdd(features, this.state.uploadFileName);\n }\n }.bind(this);\n reader.readAsText(f, \"UTF-8\");\n } else if (f.type === FTYPE_KML || ext === \"kml\") {\n reader.onload = function (evt) {\n let features = this.loadKML(evt.target.result);\n if (this.props.onAdd) {\n this.props.onAdd(features, this.state.uploadFileName);\n }\n }.bind(this);\n reader.readAsText(f, \"UTF-8\");\n\n } else if (f.type === FTYPE_ZIP || ext === \"zip\") {\n reader.onload = function (evt) {\n this.loadSHP(evt.target.result);\n }.bind(this);\n reader.readAsArrayBuffer(f);\n\n } else {\n console.warn('Upload layer: Unsupported file format!', f.type);\n }\n\n // console.log(f.type);\n // reader.readAsText(f, \"UTF-8\");\n // reader.onload = function (evt) {\n // let features = [];\n // let file_parsed = false;\n // if (f.type === FTYPE_GPX) {\n // features = this.loadGPX(evt.target.result);\n // file_parsed = true;\n // } else if (f.type === FTYPE_KML) {\n\n // file_parsed = true;\n // } else if (f.type === FTYPE_ZIP) {\n // this.loadSHP(evt.target.result);\n // return; //handled through load fnc\n // }\n\n // if (file_parsed && this.props.onAdd) {\n // this.props.onAdd(features, this.state.uploadFileName);\n // }\n\n // }.bind(this);\n }\n }\n this.handleDialogClose();\n };\n\n openFileDialog() {\n var fileUploadDom = ReactDOM.findDOMNode(this.refs.fileUpload);\n fileUploadDom.click();\n };\n\n render() {\n const { t, classes,\n buttonText, buttonIcon,\n hoverColor, noLiPadding, layersList, dropup, navDropdown\n } = this.props;\n const { open } = this.state;\n\n\n const dropdownItem = classNames({\n [classes.dropdownItem]: true,\n [classes[hoverColor + \"Hover\"]]: true,\n [classes.noLiPadding]: noLiPadding\n });\n\n const menu = (\n \n {layersList.map((prop, key) => {\n return (\n this.handleCloseMenu(prop)}\n className={dropdownItem}\n >\n {prop.icon ? prop.icon : \"layers\"}\n {prop.name}\n \n this.handleDeleteMenuItem(prop)}>\n delete\n \n \n \n );\n })}\n {layersList && layersList.length > 0 ?\n this.handleCloseMenu(\"divider\")}\n className={classes.dropdownDividerItem}\n /> : null}\n\n this.handleAdd()}\n className={dropdownItem}\n >\n add\n {t(\"map:overlay-add\")}\n \n\n\n \n );\n\n return (\n
\n
\n {\n this.anchorEl = node;\n }}\n color=\"primary\"\n onClick={this.handleClick}\n className={classes.smallButton}\n >\n {buttonIcon}\n \n\n\n \n {({ TransitionProps, placement }) => (\n \n \n \n {menu}\n \n \n \n )}\n \n\n
\n\n \n {t(\"map:upload-title\")}\n \n {t(\"map:upload-desc\")}\n \n \n\n \n \n \n \n \n \n\n
\n );\n }\n}\n\nOverlaySwitcher.defaultProps = {\n dropup: false,\n hoverColor: \"primary\",\n buttonIcon: \"timeline\",\n buttonProps: {\n round: false,\n block: true,\n color: \"primary\"\n },\n};\n\nOverlaySwitcher.propTypes = {\n classes: PropTypes.object.isRequired,\n hoverColor: PropTypes.oneOf([\n \"dark\",\n \"primary\",\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n \"rose\"\n ]),\n buttonText: PropTypes.node,\n buttonIcon: PropTypes.string,\n layersList: PropTypes.array,\n buttonProps: PropTypes.object,\n dropup: PropTypes.bool,\n dropdownHeader: PropTypes.node,\n rtlActive: PropTypes.bool,\n caret: PropTypes.bool,\n dropPlacement: PropTypes.oneOf([\n \"bottom\",\n \"top\",\n \"right\",\n \"left\",\n \"bottom-start\",\n \"bottom-end\",\n \"top-start\",\n \"top-end\",\n \"right-start\",\n \"right-end\",\n \"left-start\",\n \"left-end\"\n ]),\n noLiPadding: PropTypes.bool,\n innerDropDown: PropTypes.bool,\n navDropdown: PropTypes.bool,\n // This is a function that returns the clicked menu item\n onClick: PropTypes.func\n};\n\nexport default withNamespaces()(withStyles(mapStyle)(OverlaySwitcher));;","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n\n// @material-ui/core components\nimport withStyles from \"@material-ui/core/styles/withStyles\";\nimport Button from \"@material-ui/core/Button\";\n\nimport buttonStyle from \"assets/jss/material-kit-pro-react/components/buttonStyle.jsx\";\nfunction RegularButton(props) {\n const {\n classes,\n color,\n round,\n children,\n fullWidth,\n disabled,\n simple,\n size,\n block,\n link,\n justIcon,\n fileButton,\n className,\n ...rest\n } = props;\n const btnClasses = classNames({\n [classes.button]: true,\n [classes[size]]: size,\n [classes[color]]: color,\n [classes.round]: round,\n [classes.fullWidth]: fullWidth,\n [classes.disabled]: disabled,\n [classes.simple]: simple,\n [classes.block]: block,\n [classes.link]: link,\n [classes.justIcon]: justIcon,\n [classes.fileButton]: fileButton,\n [className]: className\n });\n return (\n \n );\n}\n\nRegularButton.propTypes = {\n classes: PropTypes.object.isRequired,\n color: PropTypes.oneOf([\n \"primary\",\n \"secondary\",\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n \"rose\",\n \"white\",\n \"twitter\",\n \"facebook\",\n \"google\",\n \"linkedin\",\n \"pinterest\",\n \"youtube\",\n \"tumblr\",\n \"github\",\n \"behance\",\n \"dribbble\",\n \"reddit\",\n \"instagram\",\n \"transparent\"\n ]),\n size: PropTypes.oneOf([\"sm\", \"lg\"]),\n simple: PropTypes.bool,\n round: PropTypes.bool,\n fullWidth: PropTypes.bool,\n disabled: PropTypes.bool,\n block: PropTypes.bool,\n link: PropTypes.bool,\n justIcon: PropTypes.bool,\n fileButton: PropTypes.bool\n};\n\nexport default withStyles(buttonStyle)(RegularButton);\n","module.exports = __webpack_public_path__ + \"static/media/antoine-similon-1165697-unsplash-cr.54dbeefb.jpg\";","module.exports = __webpack_public_path__ + \"static/media/sergii-gulenok-61955-unsplash-sm.4cf30bd6.jpg\";"],"sourceRoot":""}