File: //opt/netdata/usr/share/netdata/web/v3/1452.805b8d7464bf4edc7d23.chunk.js
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"24dad2414db89a9e2209703b6e48226fc420eca1"};var t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cedb2f78-9fbc-4e13-a8f0-23e59e612001",e._sentryDebugIdIdentifier="sentry-dbid-cedb2f78-9fbc-4e13-a8f0-23e59e612001")}catch(e){}}(),(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[1452],{98212(e,t,o){o.d(t,{A:()=>a});var n=o(96540),r=o(41514),i=o(42358),l=o(74848);class s extends n.Component{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){(0,r.H)("geomap-error",{error:e.message,stack:t.componentStack})}render(){var e;return this.state.hasError?(0,l.jsxs)(i.Flex,{column:!0,alignItems:"center",justifyContent:"center",height:"100%",gap:4,padding:[8],children:[(0,l.jsx)(i.Icon,{name:"alert_triangle",size:"large",color:"error"}),(0,l.jsx)(i.Text,{strong:!0,children:"Map failed to load"}),(0,l.jsx)(i.Text,{color:"textLite",textAlign:"center",width:{max:100},children:(null===(e=this.state.error)||void 0===e?void 0:e.message)||"An error occurred while loading the map. Please check your network connection and try again."}),(0,l.jsx)(i.Button,{flavour:"borderless",onClick:()=>this.setState({hasError:!1,error:null}),children:"Retry"})]}):this.props.children}}const a=s},41452(e,t,o){o.r(t),o.d(t,{default:()=>k});var n=o(64467),r=(o(98992),o(54520),o(3949),o(81454),o(62953),o(96540)),i=o(35268),l=(o(49367),o(51510)),s=o(84819),a=o(98212),d=o(74848);const c=["geomap-links-line","geomap-links-hit"],u=e=>{let{links:t,nodeById:o,selectedLinkId:n}=e;const l=(0,r.useMemo)((()=>({type:"FeatureCollection",features:t.filter((e=>o[e.fromNodeId]&&o[e.toNodeId])).map((e=>{const t=o[e.fromNodeId]._geo,r=o[e.toNodeId]._geo;return{type:"Feature",properties:{id:e.id,color:e.color,selected:n===e.id},geometry:{type:"LineString",coordinates:[[t.longitude,t.latitude],[r.longitude,r.latitude]]}}}))})),[t,o,n]);return 0===t.length?null:(0,d.jsxs)(i.kL,{id:"geomap-links",type:"geojson",data:l,children:[(0,d.jsx)(i.Wd,{id:"geomap-links-line",type:"line",paint:{"line-color":["get","color"],"line-width":["case",["get","selected"],4,2.5],"line-opacity":["case",["get","selected"],1,.7]},layout:{"line-cap":"round","line-join":"round"}}),(0,d.jsx)(i.Wd,{id:"geomap-links-hit",type:"line",paint:{"line-color":"transparent","line-width":12}})]})};var g=o(15715),p=o(2817),h=o(75811),f=o(82226),m=o(53450);function x(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function b(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?x(Object(o),!0).forEach((function(t){(0,n.A)(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):x(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}const v=e=>{let{node:t,onClick:o}=e;const[n,l]=(0,r.useState)(!1),a=(0,f.qY)(t),{hasAlert:c,critical:u}=(0,f.t3)(t),p=(0,r.useCallback)((e=>{var n;null===(n=e.originalEvent)||void 0===n||n.stopPropagation(),o&&o(t.id)}),[t.id,o]);return(0,d.jsx)(i.pH,{longitude:t._geo.longitude,latitude:t._geo.latitude,anchor:"center",onClick:p,children:(0,d.jsxs)("div",{style:{position:"relative"},onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),role:"button",tabIndex:0,"aria-label":"Node ".concat(t.name||t.nm),children:[(0,d.jsx)(s.O9,{color:a,children:c&&(u>0?(0,d.jsx)(s.t6,{}):(0,d.jsx)(s.sH,{}))}),n&&(0,d.jsx)(s.fT,{children:(0,d.jsx)(g.A,{node:t,statusColor:a})})]})})},y=e=>{let{cluster:t,nodes:o,onClick:n,isDark:l}=e;const a=(0,s.fA)(t.count),c=(0,f._9)(o,l),u=(0,f.OQ)(o),g=(0,r.useCallback)((e=>{var o;null===(o=e.originalEvent)||void 0===o||o.stopPropagation(),n&&n(t)}),[t,n]);return(0,d.jsx)(i.pH,{longitude:t.lng,latitude:t.lat,anchor:"center",onClick:g,children:(0,d.jsxs)(s.lk,{bg:c,style:{width:a,height:a},role:"button",tabIndex:0,"aria-label":"Cluster of ".concat(t.count," nodes"),children:[u&&(0,d.jsx)(s.Hg,{color:m.s2[u]}),t.count]})})},j=e=>{if(!e)return null;const t=e.getBounds();return t?{north:t.getNorth(),south:t.getSouth(),east:t.getEast(),west:t.getWest()}:null},k=e=>{var t,o;let{onNodeClick:n,savedViewport:s,onViewportChange:g,linkProps:x={}}=e;const k="Default"!==(0,l.useTheme)().name,w=(0,r.useRef)(null),C=(0,p.A)(),[_,I]=(0,r.useState)((null===s||void 0===s?void 0:s.zoom)||m.aM),[E,M]=(0,r.useState)(null),O=(0,r.useRef)(_);O.current=_;const S=(0,r.useRef)(null);(0,r.useEffect)((()=>()=>clearTimeout(S.current)),[]);const A=(0,r.useMemo)((()=>{const e=(0,f.bW)(C);if(e)return[[e.west,e.south],[e.east,e.north]]}),[C]),z=(0,r.useMemo)((()=>1===C.length?{longitude:C[0]._geo.longitude,latitude:C[0]._geo.latitude}:{longitude:10,latitude:30}),[C]),D=(0,r.useCallback)((e=>{const t=e.target;w.current=t,M(j(t)),I(t.getZoom())}),[]),T=(0,r.useCallback)((e=>{const t=e.target;M(j(t));const o=t.getZoom();I(o),g&&(clearTimeout(S.current),S.current=setTimeout((()=>{const e=t.getCenter();g({lat:e.lat,lng:e.lng,zoom:o})}),m.l6))}),[g]),{processed:L,getClusterExpansionZoom:B,nodeById:N}=(0,h.A)(C,_,E),P=(0,r.useCallback)((e=>{const t=w.current;if(!t)return;const o=B(e.id);t.flyTo({center:[e.lng,e.lat],zoom:Math.min(o,m.nD)})}),[B]),F=(0,r.useCallback)((e=>{if(O.current<m.KC){const t=w.current,o=N[e];t&&o&&t.flyTo({center:[o._geo.longitude,o._geo.latitude],zoom:m.p9})}else n&&n(e)}),[N,n]),R=(0,r.useCallback)((e=>{var t,o;const n=null===(t=e.features)||void 0===t?void 0:t[0];null!==n&&void 0!==n&&null!==(o=n.properties)&&void 0!==o&&o.id&&x.onSelectLink&&x.onSelectLink(n.properties.id)}),[x]);return(0,d.jsx)(a.A,{children:(0,d.jsxs)(i.Ay,{ref:w,initialViewState:s?{longitude:s.lng,latitude:s.lat,zoom:s.zoom}:A?{bounds:A,fitBoundsOptions:{padding:60}}:b(b({},z),{},{zoom:1===C.length?10:m.aM}),minZoom:m.DQ,maxZoom:m.nD,mapStyle:k?"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json":"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",style:{width:"100%",height:"100%"},onLoad:D,onMoveEnd:T,interactiveLayerIds:(null===(t=x.links)||void 0===t?void 0:t.length)>0?c:[],onClick:R,children:[(0,d.jsx)(i.ov,{position:"bottom-right"}),(null===(o=x.links)||void 0===o?void 0:o.length)>0&&(0,d.jsx)(u,{links:x.links,nodeById:N,selectedLinkId:x.selectedLinkId}),L.map((e=>"cluster"===e.type?(0,d.jsx)(y,{cluster:e,nodes:e.nodes,onClick:P,isDark:k},"cluster-".concat(e.id)):e.node?(0,d.jsx)(v,{node:e.node,onClick:F},e.id):null))]})})}},15715(e,t,o){o.d(t,{A:()=>a});var n=o(51510),r=o(42358),i=o(53450),l=o(74848);const s=(0,n.default)(r.Flex).attrs({alignItems:"center",gap:1,round:!0,padding:[0,1]}).withConfig({displayName:"nodeMapTooltip__AlertBadge",componentId:"sc-1jgq7ul-0"})(["font-size:10px;font-weight:600;background:",";color:",";"],(e=>{let{bg:t}=e;return t}),(0,r.getColor)("bright")),a=e=>{var t,o,n;let{node:a,statusColor:d}=e;const c=(null===(t=a.health)||void 0===t||null===(t=t.alerts)||void 0===t?void 0:t.critical)||0,u=(null===(o=a.health)||void 0===o||null===(o=o.alerts)||void 0===o?void 0:o.warning)||0,g=a.nodeStatus||"Unknown";return(0,l.jsxs)(r.Flex,{column:!0,padding:[2,3],round:2,background:"mainBackground",border:{color:"borderSecondary"},width:{min:"200px",max:"280px"},style:{boxShadow:"0 4px 12px rgba(0,0,0,0.15)",pointerEvents:"none",whiteSpace:"nowrap"},children:[(0,l.jsx)(r.Text,{strong:!0,children:a.name||a.nm}),(0,l.jsxs)(r.Flex,{alignItems:"center",gap:1,children:[(0,l.jsx)(r.Box,{width:"8px",height:"8px",round:1,style:{background:d,flexShrink:0}}),(0,l.jsx)(r.TextSmall,{color:"textLite",children:g})]}),(null===(n=a.os)||void 0===n?void 0:n.nm)&&(0,l.jsxs)(r.TextSmall,{color:"textLite",children:["OS: ",a.os.nm]}),(c>0||u>0)&&(0,l.jsxs)(r.Flex,{alignItems:"center",gap:1,margin:[1,0,0],children:[c>0&&(0,l.jsxs)(s,{bg:i.s2.critical,children:[c," critical"]}),u>0&&(0,l.jsxs)(s,{bg:i.s2.warning,children:[u," warning"]})]})]})}},84819(e,t,o){o.d(t,{Hg:()=>g,O9:()=>s,fA:()=>p,fT:()=>c,lk:()=>u,sH:()=>d,t6:()=>a});var n=o(51510),r=o(42358),i=o(53450);const l=(0,n.keyframes)(["0%{transform:scale(1);opacity:0.8;}50%{transform:scale(1.8);opacity:0;}100%{transform:scale(1.8);opacity:0;}"]),s=(0,n.default)(r.Flex).attrs({alignItems:"center",justifyContent:"center",cursor:"pointer",position:"relative"}).withConfig({displayName:"shared__MarkerDot",componentId:"sc-27t4jv-0"})(["width:","px;height:","px;border-radius:50%;background:",";border:2px solid ",";box-shadow:0 2px 6px rgba(0,0,0,0.3);transition:transform 0.15s ease;&:hover{transform:scale(1.3);}"],i.DT,i.DT,(e=>{let{color:t}=e;return t}),(0,r.getRgbColor)("bright",.9)),a=(0,n.default)(r.Box).attrs({position:"absolute"}).withConfig({displayName:"shared__PulseRingCritical",componentId:"sc-27t4jv-1"})(["inset:-4px;border-radius:50%;border:2px solid ",";animation:"," ","s ease-out infinite;pointer-events:none;"],i.s2.critical,l,i.ap),d=(0,n.default)(r.Box).attrs({position:"absolute"}).withConfig({displayName:"shared__PulseRingWarning",componentId:"sc-27t4jv-2"})(["inset:-4px;border-radius:50%;border:2px solid ",";animation:"," ","s ease-out infinite;pointer-events:none;"],i.s2.warning,l,i.jf),c=(0,n.default)(r.Box).attrs({position:"absolute",zIndex:10}).withConfig({displayName:"shared__TooltipAnchor",componentId:"sc-27t4jv-3"})(["bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);"]),u=(0,n.default)(r.Flex).attrs({alignItems:"center",justifyContent:"center",cursor:"pointer",position:"relative"}).withConfig({displayName:"shared__ClusterDotBase",componentId:"sc-27t4jv-4"})(["border-radius:50%;background:",";border:3px solid ",";box-shadow:0 2px 8px rgba(0,0,0,0.3);font-size:13px;font-weight:700;color:",";transition:transform 0.15s ease;&:hover{transform:scale(1.15);}"],(e=>{let{bg:t}=e;return t}),(0,r.getRgbColor)("bright",.9),(0,r.getColor)("bright")),g=(0,n.default)(r.Box).attrs({position:"absolute"}).withConfig({displayName:"shared__ClusterAlertRing",componentId:"sc-27t4jv-5"})(["inset:-3px;border-radius:50%;border:2px solid ",";pointer-events:none;"],(e=>{let{color:t}=e;return t})),p=e=>Math.min(i.zc+2*e,60)},75811(e,t,o){o.d(t,{A:()=>a});o(98992),o(54520),o(81454),o(62953);var n=o(96540),r=o(22882),i=o(53450),l=o(49519);const s=r.A.default||r.A,a=(e,t,o)=>{const r=(0,n.useMemo)((()=>{const t=new s({radius:i.cF,maxZoom:i.cE}),o=e.map((e=>({type:"Feature",properties:{nodeId:e.id},geometry:{type:"Point",coordinates:[e._geo.longitude,e._geo.latitude]}})));return t.load(o),t}),[e]),a=(0,n.useMemo)((()=>{if(!o)return[];const e=[o.west,o.south,o.east,o.north];return r.getClusters(e,Math.floor(t))}),[r,o,t]),d=(0,l.A)(e),c=(0,n.useCallback)((e=>{try{return r.getClusterExpansionZoom(e)}catch(o){return t+2}}),[r,t]),u=(0,n.useCallback)((e=>{try{return r.getLeaves(e,1/0).map((e=>d[e.properties.nodeId])).filter(Boolean)}catch(t){return[]}}),[r,d]);return{processed:(0,n.useMemo)((()=>a.map((e=>{const[t,o]=e.geometry.coordinates;return e.properties.cluster?{type:"cluster",id:e.properties.cluster_id,lat:o,lng:t,count:e.properties.point_count,nodes:u(e.properties.cluster_id)}:{type:"node",id:e.properties.nodeId,node:d[e.properties.nodeId]}}))),[a,d,u]),getClusterExpansionZoom:c,nodeById:d}}},82226(e,t,o){o.d(t,{OQ:()=>l,_9:()=>i,bW:()=>a,qY:()=>r,t3:()=>s});o(98992),o(54520),o(81454),o(62953);var n=o(53450);const r=e=>e.isLive?n.Ez.live:e.isOffline?n.Ez.offline:"stale"===e.state?n.Ez.stale:n.Ez.unseen,i=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const o=e.length;if(0===o)return n.Ez.offline;const r=e.filter((e=>e.isLive)).length/o;if(r>n.z1)return n.Ez.live;const i=(0,n.fK)(t);return r>n.e9?i.mixed:r>n.FU?i.mostOffline:n.Ez.offline},l=e=>{for(const n of e){var t;if(null!==(t=n.health)&&void 0!==t&&null!==(t=t.alerts)&&void 0!==t&&t.critical)return"critical"}for(const n of e){var o;if(null!==(o=n.health)&&void 0!==o&&null!==(o=o.alerts)&&void 0!==o&&o.warning)return"warning"}return null},s=e=>{var t,o;const r=(null===(t=e.health)||void 0===t||null===(t=t.alerts)||void 0===t?void 0:t.critical)||0,i=(null===(o=e.health)||void 0===o||null===(o=o.alerts)||void 0===o?void 0:o.warning)||0;return{critical:r,warning:i,hasAlert:r>0||i>0,alertColor:r>0?n.s2.critical:n.s2.warning,alertSpeed:r>0?n.ap:n.jf}},a=e=>{if(e.length<=1)return null;let t=90,o=-90,n=180,r=-180;for(const s of e)t=Math.min(t,s._geo.latitude),o=Math.max(o,s._geo.latitude),n=Math.min(n,s._geo.longitude),r=Math.max(r,s._geo.longitude);const i=Math.max(.15*(o-t),2);if(r-n>180){const n=e.map((e=>{const t=e._geo.longitude;return t<0?t+360:t})),r=Math.min(...n),l=Math.max(...n),s=Math.max(.15*(l-r),2),a=r-s,d=l+s;return{north:o+i,south:t-i,west:a>180?a-360:a,east:d>180?d-360:d}}const l=Math.max(.15*(r-n),2);return{north:o+i,south:t-i,east:r+l,west:n-l}}}}]);