diff --git a/ipk-source/sdxpinn-quecmanager-beta/CONTROL/control b/ipk-source/sdxpinn-quecmanager-beta/CONTROL/control index 5b3254b..59f373b 100755 --- a/ipk-source/sdxpinn-quecmanager-beta/CONTROL/control +++ b/ipk-source/sdxpinn-quecmanager-beta/CONTROL/control @@ -1,5 +1,5 @@ Package: sdxpinn-quecmanager-beta -Version: 1.1.1-1 +Version: 1.1.1-2 Architecture: aarch64_cortex-a53 Maintainer: Russel Yasol dr-dolomite@github.com Cameron Thompson iamromulan@github.com Source: github.com/iamromulan diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/404.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/404.html index a13f5ef..37dd67f 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/404.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/404.html @@ -1 +1 @@ -404: This page could not be found.QuecManager

404

This page could not be found.

    \ No newline at end of file +404: This page could not be found.QuecManager

    404

    This page could not be found.

      \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/404/index.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/404/index.html index a13f5ef..37dd67f 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/404/index.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/404/index.html @@ -1 +1 @@ -404: This page could not be found.QuecManager

      404

      This page could not be found.

        \ No newline at end of file +404: This page could not be found.QuecManager

        404

        This page could not be found.

          \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/3742-8a2e24c9cc905cd9.js b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/3742-8a2e24c9cc905cd9.js new file mode 100644 index 0000000..be8294e --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/3742-8a2e24c9cc905cd9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3742],{39997:(e,t,r)=>{r.d(t,{A:()=>c});var a=r(20107);let n=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),o=function(){for(var e=arguments.length,t=Array(e),r=0;r!!e&&r.indexOf(e)===t).join(" ")};var l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,a.forwardRef)((e,t)=>{let{color:r="currentColor",size:n=24,strokeWidth:i=2,absoluteStrokeWidth:c,className:u="",children:s,iconNode:d,...v}=e;return(0,a.createElement)("svg",{ref:t,...l,width:n,height:n,stroke:r,strokeWidth:c?24*Number(i)/Number(n):i,className:o("lucide",u),...v},[...d.map(e=>{let[t,r]=e;return(0,a.createElement)(t,r)}),...Array.isArray(s)?s:[s]])}),c=(e,t)=>{let r=(0,a.forwardRef)((r,l)=>{let{className:c,...u}=r;return(0,a.createElement)(i,{ref:l,iconNode:t,className:o("lucide-".concat(n(e)),c),...u})});return r.displayName="".concat(e),r}},76076:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39997).A)("FileUp",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"m15 15-3-3-3 3",key:"15xj92"}]])},59166:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39997).A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},91994:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39997).A)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},27720:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39997).A)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]])},51873:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39997).A)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])},93069:(e,t,r)=>{r.d(t,{C1:()=>O,bL:()=>w});var a=r(20107),n=r(81045),o=r(4589),l=r(20475),i="Progress",[c,u]=(0,n.A)(i),[s,d]=c(i),v=a.forwardRef((e,t)=>{var r,a,n,i;let{__scopeProgress:c,value:u=null,max:d,getValueLabel:v=y,...p}=e;(d||0===d)&&!b(d)&&console.error((r="".concat(d),a="Progress","Invalid prop `max` of value `".concat(r,"` supplied to `").concat(a,"`. Only numbers greater than 0 are valid max values. Defaulting to `").concat(100,"`.")));let f=b(d)?d:100;null===u||g(u,f)||console.error((n="".concat(u),i="Progress","Invalid prop `value` of value `".concat(n,"` supplied to `").concat(i,"`. The `value` prop must be:\n - a positive number\n - less than the value passed to `max` (or ").concat(100," if no `max` prop is set)\n - `null` or `undefined` if the progress is indeterminate.\n\nDefaulting to `null`.")));let w=g(u,f)?u:null,O=h(w)?v(w,f):void 0;return(0,l.jsx)(s,{scope:c,value:w,max:f,children:(0,l.jsx)(o.sG.div,{"aria-valuemax":f,"aria-valuemin":0,"aria-valuenow":h(w)?w:void 0,"aria-valuetext":O,role:"progressbar","data-state":m(w,f),"data-value":null!=w?w:void 0,"data-max":f,...p,ref:t})})});v.displayName=i;var p="ProgressIndicator",f=a.forwardRef((e,t)=>{var r;let{__scopeProgress:a,...n}=e,i=d(p,a);return(0,l.jsx)(o.sG.div,{"data-state":m(i.value,i.max),"data-value":null!==(r=i.value)&&void 0!==r?r:void 0,"data-max":i.max,...n,ref:t})});function y(e,t){return"".concat(Math.round(e/t*100),"%")}function m(e,t){return null==e?"indeterminate":e===t?"complete":"loading"}function h(e){return"number"==typeof e}function b(e){return h(e)&&!isNaN(e)&&e>0}function g(e,t){return h(e)&&!isNaN(e)&&e<=t&&e>=0}f.displayName=p;var w=v,O=f},45930:(e,t,r)=>{r.d(t,{k5:()=>s});var a=r(20107),n={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},o=a.createContext&&a.createContext(n),l=["attr","size","title"];function i(){return(i=Object.assign?Object.assign.bind():function(e){for(var t=1;ta.createElement(d,i({attr:u({},e.attr)},t),function e(t){return t&&t.map((t,r)=>a.createElement(t.tag,u({key:r},t.attr),e(t.child)))}(e.child))}function d(e){var t=t=>{var r,{attr:n,size:o,title:c}=e,s=function(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(e,l),d=o||t.size||"1em";return t.className&&(r=t.className),e.className&&(r=(r?r+" ":"")+e.className),a.createElement("svg",i({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,n,s,{className:r,style:u(u({color:e.color||t.color},t.style),e.style),height:d,width:d,xmlns:"http://www.w3.org/2000/svg"}),c&&a.createElement("title",null,c),e.children)};return void 0!==o?a.createElement(o.Consumer,null,e=>t(e)):t(n)}}}]); \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/4623-3adb8e9629e6d4f2.js b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/4623-3adb8e9629e6d4f2.js new file mode 100644 index 0000000..b91127b --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/4623-3adb8e9629e6d4f2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4623],{72763:(e,t,n)=>{n.d(t,{B:()=>u});var r,o=n(20107),i=n(58013),l=(r||(r=n.t(o,2)))["useId".toString()]||(()=>void 0),a=0;function u(e){let[t,n]=o.useState(l());return(0,i.N)(()=>{e||n(e=>e??String(a++))},[e]),e||(t?`radix-${t}`:"")}},62796:(e,t,n)=>{n.d(t,{C:()=>l});var r=n(20107),o=n(74111),i=n(58013),l=e=>{let{present:t,children:n}=e,l=function(e){var t,n;let[o,l]=r.useState(),u=r.useRef({}),s=r.useRef(e),c=r.useRef("none"),[d,p]=(t=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},r.useReducer((e,t)=>{let r=n[e][t];return null!=r?r:e},t));return r.useEffect(()=>{let e=a(u.current);c.current="mounted"===d?e:"none"},[d]),(0,i.N)(()=>{let t=u.current,n=s.current;if(n!==e){let r=c.current,o=a(t);e?p("MOUNT"):"none"===o||(null==t?void 0:t.display)==="none"?p("UNMOUNT"):n&&r!==o?p("ANIMATION_OUT"):p("UNMOUNT"),s.current=e}},[e,p]),(0,i.N)(()=>{if(o){var e;let t;let n=null!==(e=o.ownerDocument.defaultView)&&void 0!==e?e:window,r=e=>{let r=a(u.current).includes(e.animationName);if(e.target===o&&r&&(p("ANIMATION_END"),!s.current)){let e=o.style.animationFillMode;o.style.animationFillMode="forwards",t=n.setTimeout(()=>{"forwards"===o.style.animationFillMode&&(o.style.animationFillMode=e)})}},i=e=>{e.target===o&&(c.current=a(u.current))};return o.addEventListener("animationstart",i),o.addEventListener("animationcancel",r),o.addEventListener("animationend",r),()=>{n.clearTimeout(t),o.removeEventListener("animationstart",i),o.removeEventListener("animationcancel",r),o.removeEventListener("animationend",r)}}p("ANIMATION_END")},[o,p]),{isPresent:["mounted","unmountSuspended"].includes(d),ref:r.useCallback(e=>{e&&(u.current=getComputedStyle(e)),l(e)},[])}}(t),u="function"==typeof n?n({present:l.isPresent}):r.Children.only(n),s=(0,o.s)(l.ref,function(e){var t,n;let r=null===(t=Object.getOwnPropertyDescriptor(e.props,"ref"))||void 0===t?void 0:t.get,o=r&&"isReactWarning"in r&&r.isReactWarning;return o?e.ref:(o=(r=null===(n=Object.getOwnPropertyDescriptor(e,"ref"))||void 0===n?void 0:n.get)&&"isReactWarning"in r&&r.isReactWarning)?e.props.ref:e.props.ref||e.ref}(u));return"function"==typeof n||l.isPresent?r.cloneElement(u,{ref:s}):null};function a(e){return(null==e?void 0:e.animationName)||"none"}l.displayName="Presence"},84623:(e,t,n)=>{n.d(t,{Kq:()=>B,UC:()=>H,bL:()=>F,l9:()=>W});var r=n(20107),o=n(94521),i=n(74111),l=n(80938),a=n(15975),u=n(72763),s=n(14673),c=(n(82412),n(62796)),d=n(4589),p=n(61837),f=n(81255),m=n(20232),v=n(20475),[g,h]=(0,l.A)("Tooltip",[s.Bk]),y=(0,s.Bk)(),x="TooltipProvider",w="tooltip.open",[b,T]=g(x),C=e=>{let{__scopeTooltip:t,delayDuration:n=700,skipDelayDuration:o=300,disableHoverableContent:i=!1,children:l}=e,[a,u]=r.useState(!0),s=r.useRef(!1),c=r.useRef(0);return r.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,v.jsx)(b,{scope:t,isOpenDelayed:a,delayDuration:n,onOpen:r.useCallback(()=>{window.clearTimeout(c.current),u(!1)},[]),onClose:r.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>u(!0),o)},[o]),isPointerInTransitRef:s,onPointerInTransitChange:r.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:l})};C.displayName=x;var E="Tooltip",[N,M]=g(E),k=e=>{let{__scopeTooltip:t,children:n,open:o,defaultOpen:i=!1,onOpenChange:l,disableHoverableContent:a,delayDuration:c}=e,d=T(E,e.__scopeTooltip),p=y(t),[m,g]=r.useState(null),h=(0,u.B)(),x=r.useRef(0),b=null!=a?a:d.disableHoverableContent,C=null!=c?c:d.delayDuration,M=r.useRef(!1),[k=!1,O]=(0,f.i)({prop:o,defaultProp:i,onChange:e=>{e?(d.onOpen(),document.dispatchEvent(new CustomEvent(w))):d.onClose(),null==l||l(e)}}),R=r.useMemo(()=>k?M.current?"delayed-open":"instant-open":"closed",[k]),L=r.useCallback(()=>{window.clearTimeout(x.current),M.current=!1,O(!0)},[O]),_=r.useCallback(()=>{window.clearTimeout(x.current),O(!1)},[O]),j=r.useCallback(()=>{window.clearTimeout(x.current),x.current=window.setTimeout(()=>{M.current=!0,O(!0)},C)},[C,O]);return r.useEffect(()=>()=>window.clearTimeout(x.current),[]),(0,v.jsx)(s.bL,{...p,children:(0,v.jsx)(N,{scope:t,contentId:h,open:k,stateAttribute:R,trigger:m,onTriggerChange:g,onTriggerEnter:r.useCallback(()=>{d.isOpenDelayed?j():L()},[d.isOpenDelayed,j,L]),onTriggerLeave:r.useCallback(()=>{b?_():window.clearTimeout(x.current)},[_,b]),onOpen:L,onClose:_,disableHoverableContent:b,children:n})})};k.displayName=E;var O="TooltipTrigger",R=r.forwardRef((e,t)=>{let{__scopeTooltip:n,...l}=e,a=M(O,n),u=T(O,n),c=y(n),p=r.useRef(null),f=(0,i.s)(t,p,a.onTriggerChange),m=r.useRef(!1),g=r.useRef(!1),h=r.useCallback(()=>m.current=!1,[]);return r.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),(0,v.jsx)(s.Mz,{asChild:!0,...c,children:(0,v.jsx)(d.sG.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...l,ref:f,onPointerMove:(0,o.m)(e.onPointerMove,e=>{"touch"===e.pointerType||g.current||u.isPointerInTransitRef.current||(a.onTriggerEnter(),g.current=!0)}),onPointerLeave:(0,o.m)(e.onPointerLeave,()=>{a.onTriggerLeave(),g.current=!1}),onPointerDown:(0,o.m)(e.onPointerDown,()=>{m.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:(0,o.m)(e.onFocus,()=>{m.current||a.onOpen()}),onBlur:(0,o.m)(e.onBlur,a.onClose),onClick:(0,o.m)(e.onClick,a.onClose)})})});R.displayName=O;var[L,_]=g("TooltipPortal",{forceMount:void 0}),j="TooltipContent",I=r.forwardRef((e,t)=>{let n=_(j,e.__scopeTooltip),{forceMount:r=n.forceMount,side:o="top",...i}=e,l=M(j,e.__scopeTooltip);return(0,v.jsx)(c.C,{present:r||l.open,children:l.disableHoverableContent?(0,v.jsx)(U,{side:o,...i,ref:t}):(0,v.jsx)(P,{side:o,...i,ref:t})})}),P=r.forwardRef((e,t)=>{let n=M(j,e.__scopeTooltip),o=T(j,e.__scopeTooltip),l=r.useRef(null),a=(0,i.s)(t,l),[u,s]=r.useState(null),{trigger:c,onClose:d}=n,p=l.current,{onPointerInTransitChange:f}=o,m=r.useCallback(()=>{s(null),f(!1)},[f]),g=r.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},o=function(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(n,r,o,i)){case i:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw Error("unreachable")}}(r,n.getBoundingClientRect());s(function(e){let t=e.slice();return t.sort((e,t)=>e.xt.x?1:e.yt.y?1:0),function(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return(n.pop(),1===t.length&&1===n.length&&t[0].x===n[0].x&&t[0].y===n[0].y)?t:t.concat(n)}(t)}([...function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}(r,o),...function(e){let{top:t,right:n,bottom:r,left:o}=e;return[{x:o,y:t},{x:n,y:t},{x:n,y:r},{x:o,y:r}]}(t.getBoundingClientRect())])),f(!0)},[f]);return r.useEffect(()=>()=>m(),[m]),r.useEffect(()=>{if(c&&p){let e=e=>g(e,p),t=e=>g(e,c);return c.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{c.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[c,p,g,m]),r.useEffect(()=>{if(u){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=(null==c?void 0:c.contains(t))||(null==p?void 0:p.contains(t)),o=!function(e,t){let{x:n,y:r}=e,o=!1;for(let e=0,i=t.length-1;er!=s>r&&n<(u-l)*(r-a)/(s-a)+l&&(o=!o)}return o}(n,u);r?m():o&&(m(),d())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[c,p,u,d,m]),(0,v.jsx)(U,{...e,ref:a})}),[A,D]=g(E,{isInside:!1}),U=r.forwardRef((e,t)=>{let{__scopeTooltip:n,children:o,"aria-label":i,onEscapeKeyDown:l,onPointerDownOutside:u,...c}=e,d=M(j,n),f=y(n),{onClose:g}=d;return r.useEffect(()=>(document.addEventListener(w,g),()=>document.removeEventListener(w,g)),[g]),r.useEffect(()=>{if(d.trigger){let e=e=>{let t=e.target;(null==t?void 0:t.contains(d.trigger))&&g()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[d.trigger,g]),(0,v.jsx)(a.qW,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:e=>e.preventDefault(),onDismiss:g,children:(0,v.jsxs)(s.UC,{"data-state":d.stateAttribute,...f,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,v.jsx)(p.xV,{children:o}),(0,v.jsx)(A,{scope:n,isInside:!0,children:(0,v.jsx)(m.b,{id:d.contentId,role:"tooltip",children:i||o})})]})})});I.displayName=j;var S="TooltipArrow";r.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,o=y(n);return D(S,n).isInside?null:(0,v.jsx)(s.i3,{...o,...r,ref:t})}).displayName=S;var B=C,F=k,W=R,H=I},20232:(e,t,n)=>{n.d(t,{b:()=>a,s:()=>l});var r=n(20107),o=n(4589),i=n(20475),l=r.forwardRef((e,t)=>(0,i.jsx)(o.sG.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}));l.displayName="VisuallyHidden";var a=l}}]); \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/advanced-settings/at-terminal/page-8618c3ffd2ddeae5.js b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/advanced-settings/at-terminal/page-8618c3ffd2ddeae5.js new file mode 100644 index 0000000..0c79d2f --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/advanced-settings/at-terminal/page-8618c3ffd2ddeae5.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8757],{80631:(e,t,r)=>{Promise.resolve().then(r.bind(r,92040))},92040:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>w});var a=r(20475),s=r(20107),o=r(72167),l=r(36824),n=r(42541),i=r(49153),d=r(31739),c=r(64219),m=r(51873),u=r(39997);let p=(0,u.A)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var f=r(66698);let x=(0,u.A)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);var h=r(76554),g=r(32857),y=r(76837),v=r(51303);let w=()=>{let e=(0,g.dj)(),[t,r]=(0,s.useState)(""),[u,w]=(0,s.useState)(""),[j,b]=(0,s.useState)([]),[N,A]=(0,s.useState)([]),[C,T]=(0,s.useState)([]),[R,S]=(0,s.useState)(!1),[k,E]=(0,s.useState)([]),[O,D]=(0,s.useState)(!0);(0,s.useEffect)(()=>{(async()=>{try{let e=await fetch("/cgi-bin/advance/fetch_commands.sh"),t=await e.json(),r=Object.entries(t).filter(e=>{let[t]=e;return"error"!==t}).map(e=>{let[t,r]=e;return{description:t,command:r}});if(0===r.length&&t.error)throw Error(t.error);E(r)}catch(t){console.error("Failed to fetch AT commands:",t),e.toast({title:"Error",description:t instanceof Error?t.message:"Failed to load common AT commands",variant:"destructive"})}finally{D(!1)}})()},[]),(0,s.useEffect)(()=>{let e=window.localStorage.getItem("atCommandHistory"),t=window.localStorage.getItem("atCommands");if(e)try{b(JSON.parse(e))}catch(e){console.error("Failed to parse command history:",e),b([])}if(t)try{T(JSON.parse(t))}catch(e){console.error("Failed to parse previous commands:",e),T([])}},[]),(0,s.useEffect)(()=>{j.length>0&&window.localStorage.setItem("atCommandHistory",JSON.stringify(j))},[j]),(0,s.useEffect)(()=>{C.length>0&&window.localStorage.setItem("atCommands",JSON.stringify(C))},[C]);let I=async()=>{if(u.trim()){S(!0),w(""),r("> ".concat(u,"\nExecuting command, please wait..."));try{let t=encodeURIComponent(u),a=await fetch("/cgi-bin/at_command.sh?command=".concat(t)),s=await a.json(),o="> ".concat(u,"\n");s.response&&(o+=s.response),"error"===s.status&&s.message&&(o+="\nError: ".concat(s.message)),r(o);let l={command:u,response:s.response||"No output",timestamp:s.timestamp,status:s.status,message:s.message};b(e=>[l,...e]),"success"!==s.status||C.includes(u)||T(e=>[...e,u]),"error"===s.status&&e.toast({title:"Command Error",description:s.message||"Command execution failed",variant:"destructive"})}catch(a){let t=a instanceof Error?a.message:"An unknown error occurred";r("> ".concat(u,"\nError: ").concat(t)),e.toast({title:"Error",description:t,variant:"destructive"})}finally{S(!1)}}},F=e=>{w(e),A([])},_=e=>{b(t=>{let r=[...t];return r.splice(e,1),0===r.length&&window.localStorage.removeItem("atCommandHistory"),r})},z=e=>{T(t=>{let r=t.filter(t=>t!==e);return window.localStorage.setItem("atCommands",JSON.stringify(r)),r}),A(t=>t.filter(t=>t!==e))},H=async t=>{try{if(navigator.clipboard&&window.isSecureContext)await navigator.clipboard.writeText(t);else{let e=document.createElement("textarea");e.value=t,e.style.position="fixed",e.style.left="-999999px",e.style.top="-999999px",document.body.appendChild(e),e.focus(),e.select();try{document.execCommand("copy")}catch(e){throw console.error("Fallback: Oops, unable to copy",e),Error("Copy failed")}finally{e.remove()}}e.toast({title:"Copied!",description:'Command "'.concat(t,'" copied to clipboard'),duration:2e3})}catch(t){console.error("Failed to copy command:",t),e.toast({title:"Error",description:"Failed to copy command to clipboard",variant:"destructive",duration:3e3})}};return(0,a.jsxs)("div",{className:"grid gap-6",children:[(0,a.jsxs)(o.Zp,{children:[(0,a.jsxs)(o.aR,{children:[(0,a.jsx)(o.ZB,{children:"AT Terminal"}),(0,a.jsx)(o.BT,{children:"Send AT commands to your device"})]}),(0,a.jsx)(o.Wu,{children:(0,a.jsxs)("div",{className:"grid gap-8 w-full max-w-screen p-4",children:[(0,a.jsxs)("div",{className:"grid gap-1.5",children:[(0,a.jsx)(i.J,{htmlFor:"ATOutput",children:"AT Command Output"}),(0,a.jsx)(d.T,{value:t,placeholder:"AT command output will appear here...",readOnly:!0,className:"h-[240px] font-mono",id:"ATOutput"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)(h.w,{className:"mb-2"}),0===j.length?(0,a.jsx)("p",{className:"italic text-sm text-muted-foreground font-medium text-center",children:"Command History is Empty"}):(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex justify-between items-center mb-2",children:[(0,a.jsx)(i.J,{children:"Command History"}),(0,a.jsxs)(y.Lt,{children:[(0,a.jsx)(y.tv,{asChild:!0,children:(0,a.jsxs)(n.$,{variant:"outline",size:"sm",children:[(0,a.jsx)(m.A,{className:"h-4 w-4 text-rose-500"}),"Clear All"]})}),(0,a.jsxs)(y.EO,{children:[(0,a.jsxs)(y.wd,{children:[(0,a.jsx)(y.r7,{children:"Clear Command History"}),(0,a.jsx)(y.$v,{children:"This action cannot be undone. This will permanently delete your command history."})]}),(0,a.jsxs)(y.ck,{children:[(0,a.jsx)(y.Zr,{children:"Cancel"}),(0,a.jsx)(y.Rx,{onClick:()=>{b([]),window.localStorage.removeItem("atCommandHistory")},children:"Continue"})]})]})]})]}),(0,a.jsx)(l.F,{className:"h-[180px] p-4",children:(0,a.jsx)("div",{className:"grid gap-y-2",children:j.map((e,t)=>(0,a.jsx)(o.Zp,{children:(0,a.jsx)(o.Wu,{className:"p-3 relative",children:(0,a.jsxs)(l.F,{className:"max-w-xs md:max-w-full",children:[(0,a.jsx)(n.$,{variant:"ghost",size:"icon",className:"absolute right-2 top-2 h-4 w-4",onClick:()=>_(t),children:(0,a.jsx)(p,{className:"h-4 w-4"})}),(0,a.jsxs)("div",{className:"grid gap-2",children:[(0,a.jsxs)("p",{className:"text-sm font-medium flex items-center gap-2",children:[e.command,"error"===e.status&&(0,a.jsx)("span",{className:"text-xs text-red-500",children:e.message})]}),e.response&&"No output"!==e.response&&(0,a.jsx)("p",{className:"whitespace-pre-wrap font-mono",children:e.response})]}),(0,a.jsx)(l.$,{orientation:"horizontal"})]})})},"".concat(e.timestamp,"-").concat(t)))})})]}),(0,a.jsx)(h.w,{className:"mt-2"})]}),(0,a.jsxs)("div",{className:"grid gap-1.5 relative",children:[(0,a.jsx)(i.J,{htmlFor:"ATInput",children:"AT Command Input"}),(0,a.jsx)(c.p,{value:u,onChange:e=>{let t=e.target.value;w(t),t.trim()?A(C.filter(e=>e.toLowerCase().includes(t.toLowerCase()))):A([])},onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),I())},placeholder:"ATI",id:"ATInput",disabled:R,autoComplete:"off"}),N.length>0&&(0,a.jsx)("div",{className:"absolute top-full mt-1 bg-background border rounded-md shadow-lg z-10",children:(0,a.jsx)(l.F,{className:"h-24",children:N.map((e,t)=>(0,a.jsxs)("div",{className:"p-2 hover:bg-accent cursor-pointer flex items-center justify-between group",children:[(0,a.jsx)("p",{className:"text-sm font-medium text-muted-foreground flex-grow",onClick:()=>F(e),children:e}),(0,a.jsx)(n.$,{variant:"ghost",size:"icon",className:"h-4 w-4 opacity-0 group-hover:opacity-100 transition-opacity",onClick:t=>{t.stopPropagation(),z(e)},children:(0,a.jsx)(p,{className:"h-4 w-4"})})]},t))})}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Your successful commands will be saved for autocomplete."})]})]})}),(0,a.jsx)(o.wL,{className:"grid border-t py-4",children:(0,a.jsxs)(n.$,{onClick:I,disabled:R,children:[(0,a.jsx)(f.A,{className:"mr-2"}),R?"Sending...":"Send Command"]})})]}),(0,a.jsxs)(o.Zp,{children:[(0,a.jsxs)(o.aR,{children:[(0,a.jsx)(o.ZB,{children:"Common AT Commands List"}),(0,a.jsx)(o.BT,{children:"Here are some common AT commands you can try:"})]}),(0,a.jsx)(o.Wu,{children:(0,a.jsxs)(v.XI,{children:[(0,a.jsx)(v.r6,{children:"AT Command List"}),(0,a.jsx)(v.A0,{children:(0,a.jsxs)(v.Hj,{children:[(0,a.jsx)(v.nd,{children:"AT Command"}),(0,a.jsx)(v.nd,{className:"text-right",children:"Description"})]})}),(0,a.jsx)(v.BF,{children:O?(0,a.jsx)(v.Hj,{children:(0,a.jsx)(v.nA,{colSpan:3,className:"text-center",children:"Loading commands..."})}):0===k.length?(0,a.jsx)(v.Hj,{children:(0,a.jsx)(v.nA,{colSpan:3,className:"text-center",children:"No commands available"})}):k.map((e,t)=>(0,a.jsxs)(v.Hj,{children:[(0,a.jsxs)(v.nA,{className:"flex items-center gap-x-2",children:[(0,a.jsx)("p",{className:"font-mono truncate max-w-6 md:max-w-md",children:e.command}),(0,a.jsx)(x,{className:"w-3 h-3 hover:text-purple-300 cursor-pointer",onClick:()=>H(e.command)})]}),(0,a.jsx)(v.nA,{className:"text-right max-w-10 md:max-w-lg",children:e.description})]},t))})]})})]})]})}},76837:(e,t,r)=>{"use strict";r.d(t,{Lt:()=>D,Rx:()=>$,Zr:()=>B,EO:()=>_,$v:()=>M,ck:()=>H,wd:()=>z,r7:()=>L,tv:()=>I});var a=r(20475),s=r(20107),o=r(80938),l=r(74111),n=r(71827),i=r(94521),d=r(61837),c="AlertDialog",[m,u]=(0,o.A)(c,[n.Hs]),p=(0,n.Hs)(),f=e=>{let{__scopeAlertDialog:t,...r}=e,s=p(t);return(0,a.jsx)(n.bL,{...s,...r,modal:!0})};f.displayName=c;var x=s.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...s}=e,o=p(r);return(0,a.jsx)(n.l9,{...o,...s,ref:t})});x.displayName="AlertDialogTrigger";var h=e=>{let{__scopeAlertDialog:t,...r}=e,s=p(t);return(0,a.jsx)(n.ZL,{...s,...r})};h.displayName="AlertDialogPortal";var g=s.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...s}=e,o=p(r);return(0,a.jsx)(n.hJ,{...o,...s,ref:t})});g.displayName="AlertDialogOverlay";var y="AlertDialogContent",[v,w]=m(y),j=s.forwardRef((e,t)=>{let{__scopeAlertDialog:r,children:o,...c}=e,m=p(r),u=s.useRef(null),f=(0,l.s)(t,u),x=s.useRef(null);return(0,a.jsx)(n.G$,{contentName:y,titleName:b,docsSlug:"alert-dialog",children:(0,a.jsx)(v,{scope:r,cancelRef:x,children:(0,a.jsxs)(n.UC,{role:"alertdialog",...m,...c,ref:f,onOpenAutoFocus:(0,i.m)(c.onOpenAutoFocus,e=>{var t;e.preventDefault(),null===(t=x.current)||void 0===t||t.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,a.jsx)(d.xV,{children:o}),(0,a.jsx)(k,{contentRef:u})]})})})});j.displayName=y;var b="AlertDialogTitle",N=s.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...s}=e,o=p(r);return(0,a.jsx)(n.hE,{...o,...s,ref:t})});N.displayName=b;var A="AlertDialogDescription",C=s.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...s}=e,o=p(r);return(0,a.jsx)(n.VY,{...o,...s,ref:t})});C.displayName=A;var T=s.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...s}=e,o=p(r);return(0,a.jsx)(n.bm,{...o,...s,ref:t})});T.displayName="AlertDialogAction";var R="AlertDialogCancel",S=s.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...s}=e,{cancelRef:o}=w(R,r),i=p(r),d=(0,l.s)(t,o);return(0,a.jsx)(n.bm,{...i,...s,ref:d})});S.displayName=R;var k=e=>{let{contentRef:t}=e,r="`".concat(y,"` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the `").concat(y,"` by passing a `").concat(A,"` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an `id` and passing the same value to the `aria-describedby` prop in `").concat(y,"`. If the description is confusing or duplicative for sighted users, you can use the `@radix-ui/react-visually-hidden` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog");return s.useEffect(()=>{var e;document.getElementById(null===(e=t.current)||void 0===e?void 0:e.getAttribute("aria-describedby"))||console.warn(r)},[r,t]),null},E=r(22250),O=r(42541);let D=f,I=x,F=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(g,{className:(0,E.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",r),...s,ref:t})});F.displayName=g.displayName;let _=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsxs)(h,{children:[(0,a.jsx)(F,{}),(0,a.jsx)(j,{ref:t,className:(0,E.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",r),...s})]})});_.displayName=j.displayName;let z=e=>{let{className:t,...r}=e;return(0,a.jsx)("div",{className:(0,E.cn)("flex flex-col space-y-2 text-center sm:text-left",t),...r})};z.displayName="AlertDialogHeader";let H=e=>{let{className:t,...r}=e;return(0,a.jsx)("div",{className:(0,E.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...r})};H.displayName="AlertDialogFooter";let L=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(N,{ref:t,className:(0,E.cn)("text-lg font-semibold",r),...s})});L.displayName=N.displayName;let M=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(C,{ref:t,className:(0,E.cn)("text-sm text-muted-foreground",r),...s})});M.displayName=C.displayName;let $=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(T,{ref:t,className:(0,E.cn)((0,O.r)(),r),...s})});$.displayName=T.displayName;let B=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(S,{ref:t,className:(0,E.cn)((0,O.r)({variant:"outline"}),"mt-2 sm:mt-0",r),...s})});B.displayName=S.displayName},42541:(e,t,r)=>{"use strict";r.d(t,{$:()=>d,r:()=>i});var a=r(20475),s=r(20107),o=r(61837),l=r(29395),n=r(22250);let i=(0,l.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),d=s.forwardRef((e,t)=>{let{className:r,variant:s,size:l,asChild:d=!1,...c}=e,m=d?o.DX:"button";return(0,a.jsx)(m,{className:(0,n.cn)(i({variant:s,size:l,className:r})),ref:t,...c})});d.displayName="Button"},72167:(e,t,r)=>{"use strict";r.d(t,{BT:()=>d,Wu:()=>c,ZB:()=>i,Zp:()=>l,aR:()=>n,wL:()=>m});var a=r(20475),s=r(20107),o=r(22250);let l=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,o.cn)("rounded-xl border bg-card text-card-foreground shadow",r),...s})});l.displayName="Card";let n=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,o.cn)("flex flex-col space-y-1.5 p-6",r),...s})});n.displayName="CardHeader";let i=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("h3",{ref:t,className:(0,o.cn)("font-semibold leading-none tracking-tight",r),...s})});i.displayName="CardTitle";let d=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("p",{ref:t,className:(0,o.cn)("text-sm text-muted-foreground",r),...s})});d.displayName="CardDescription";let c=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,o.cn)("p-6 pt-0",r),...s})});c.displayName="CardContent";let m=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,o.cn)("flex items-center p-6 pt-0",r),...s})});m.displayName="CardFooter"},64219:(e,t,r)=>{"use strict";r.d(t,{p:()=>l});var a=r(20475),s=r(20107),o=r(22250);let l=s.forwardRef((e,t)=>{let{className:r,type:s,...l}=e;return(0,a.jsx)("input",{type:s,className:(0,o.cn)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",r),ref:t,...l})});l.displayName="Input"},49153:(e,t,r)=>{"use strict";r.d(t,{J:()=>d});var a=r(20475),s=r(20107),o=r(73725),l=r(29395),n=r(22250);let i=(0,l.F)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),d=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(o.b,{ref:t,className:(0,n.cn)(i(),r),...s})});d.displayName=o.b.displayName},36824:(e,t,r)=>{"use strict";r.d(t,{$:()=>i,F:()=>n});var a=r(20475),s=r(20107),o=r(34568),l=r(22250);let n=s.forwardRef((e,t)=>{let{className:r,children:s,...n}=e;return(0,a.jsxs)(o.bL,{ref:t,className:(0,l.cn)("relative overflow-hidden",r),...n,children:[(0,a.jsx)(o.LM,{className:"h-full w-full rounded-[inherit]",children:s}),(0,a.jsx)(i,{}),(0,a.jsx)(o.OK,{})]})});n.displayName=o.bL.displayName;let i=s.forwardRef((e,t)=>{let{className:r,orientation:s="vertical",...n}=e;return(0,a.jsx)(o.VM,{ref:t,orientation:s,className:(0,l.cn)("flex touch-none select-none transition-colors","vertical"===s&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===s&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",r),...n,children:(0,a.jsx)(o.lr,{className:"relative flex-1 rounded-full bg-border"})})});i.displayName=o.VM.displayName},76554:(e,t,r)=>{"use strict";r.d(t,{w:()=>n});var a=r(20475),s=r(20107),o=r(55809),l=r(22250);let n=s.forwardRef((e,t)=>{let{className:r,orientation:s="horizontal",decorative:n=!0,...i}=e;return(0,a.jsx)(o.b,{ref:t,decorative:n,orientation:s,className:(0,l.cn)("shrink-0 bg-border","horizontal"===s?"h-[1px] w-full":"h-full w-[1px]",r),...i})});n.displayName=o.b.displayName},51303:(e,t,r)=>{"use strict";r.d(t,{A0:()=>n,BF:()=>i,Hj:()=>d,XI:()=>l,nA:()=>m,nd:()=>c,r6:()=>u});var a=r(20475),s=r(20107),o=r(22250);let l=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{className:"relative w-full overflow-auto",children:(0,a.jsx)("table",{ref:t,className:(0,o.cn)("w-full caption-bottom text-sm",r),...s})})});l.displayName="Table";let n=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("thead",{ref:t,className:(0,o.cn)("[&_tr]:border-b",r),...s})});n.displayName="TableHeader";let i=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("tbody",{ref:t,className:(0,o.cn)("[&_tr:last-child]:border-0",r),...s})});i.displayName="TableBody",s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("tfoot",{ref:t,className:(0,o.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",r),...s})}).displayName="TableFooter";let d=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("tr",{ref:t,className:(0,o.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",r),...s})});d.displayName="TableRow";let c=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("th",{ref:t,className:(0,o.cn)("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",r),...s})});c.displayName="TableHead";let m=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("td",{ref:t,className:(0,o.cn)("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",r),...s})});m.displayName="TableCell";let u=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("caption",{ref:t,className:(0,o.cn)("mt-4 text-sm text-muted-foreground",r),...s})});u.displayName="TableCaption"},31739:(e,t,r)=>{"use strict";r.d(t,{T:()=>l});var a=r(20475),s=r(20107),o=r(22250);let l=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("textarea",{className:(0,o.cn)("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",r),ref:t,...s})});l.displayName="Textarea"},32857:(e,t,r)=>{"use strict";r.d(t,{dj:()=>u,oR:()=>m});var a=r(20107);let s=0,o=new Map,l=e=>{if(o.has(e))return;let t=setTimeout(()=>{o.delete(e),c({type:"REMOVE_TOAST",toastId:e})},1e6);o.set(e,t)},n=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:r}=t;return r?l(r):e.toasts.forEach(e=>{l(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===r||void 0===r?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},i=[],d={toasts:[]};function c(e){d=n(d,e),i.forEach(e=>{e(d)})}function m(e){let{...t}=e,r=(s=(s+1)%Number.MAX_SAFE_INTEGER).toString(),a=()=>c({type:"DISMISS_TOAST",toastId:r});return c({type:"ADD_TOAST",toast:{...t,id:r,open:!0,onOpenChange:e=>{e||a()}}}),{id:r,dismiss:a,update:e=>c({type:"UPDATE_TOAST",toast:{...e,id:r}})}}function u(){let[e,t]=a.useState(d);return a.useEffect(()=>(i.push(t),()=>{let e=i.indexOf(t);e>-1&&i.splice(e,1)}),[e]),{...e,toast:m,dismiss:e=>c({type:"DISMISS_TOAST",toastId:e})}}},22250:(e,t,r)=>{"use strict";r.d(t,{cn:()=>o});var a=r(64901),s=r(868);function o(){for(var e=arguments.length,t=Array(e),r=0;r{"use strict";r.d(t,{A:()=>i});var a=r(20107);let s=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),o=function(){for(var e=arguments.length,t=Array(e),r=0;r!!e&&r.indexOf(e)===t).join(" ")};var l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let n=(0,a.forwardRef)((e,t)=>{let{color:r="currentColor",size:s=24,strokeWidth:n=2,absoluteStrokeWidth:i,className:d="",children:c,iconNode:m,...u}=e;return(0,a.createElement)("svg",{ref:t,...l,width:s,height:s,stroke:r,strokeWidth:i?24*Number(n)/Number(s):n,className:o("lucide",d),...u},[...m.map(e=>{let[t,r]=e;return(0,a.createElement)(t,r)}),...Array.isArray(c)?c:[c]])}),i=(e,t)=>{let r=(0,a.forwardRef)((r,l)=>{let{className:i,...d}=r;return(0,a.createElement)(n,{ref:l,iconNode:t,className:o("lucide-".concat(s(e)),i),...d})});return r.displayName="".concat(e),r}},66698:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(39997).A)("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},51873:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(39997).A)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])},73725:(e,t,r)=>{"use strict";r.d(t,{b:()=>n});var a=r(20107),s=r(4589),o=r(20475),l=a.forwardRef((e,t)=>(0,o.jsx)(s.sG.label,{...e,ref:t,onMouseDown:t=>{var r;t.target.closest("button, input, select, textarea")||(null===(r=e.onMouseDown)||void 0===r||r.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));l.displayName="Label";var n=l},55809:(e,t,r)=>{"use strict";r.d(t,{b:()=>d});var a=r(20107),s=r(4589),o=r(20475),l="horizontal",n=["horizontal","vertical"],i=a.forwardRef((e,t)=>{let{decorative:r,orientation:a=l,...i}=e,d=n.includes(a)?a:l;return(0,o.jsx)(s.sG.div,{"data-orientation":d,...r?{role:"none"}:{"aria-orientation":"vertical"===d?d:void 0,role:"separator"},...i,ref:t})});i.displayName="Separator";var d=i}},e=>{var t=t=>e(e.s=t);e.O(0,[7780,1617,5011,1827,4568,191,6035,7358],()=>t(80631)),_N_E=e.O()}]); \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/advanced-settings/connectivity/page-475a0eaec49bdb58.js b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/advanced-settings/connectivity/page-475a0eaec49bdb58.js new file mode 100644 index 0000000..78b4918 --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/advanced-settings/connectivity/page-475a0eaec49bdb58.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9548],{15348:(e,t,a)=>{Promise.resolve().then(a.bind(a,39966))},39966:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>f});var s=a(20475),r=a(20107),l=a(72167),o=a(35601),n=a(76837),d=a(32857),i=a(42541),c=a(49153),u=a(36760),m=a(76554),h=a(114);let f=()=>{let{toast:e}=(0,d.dj)(),[t,a]=(0,r.useState)(!0),[f,p]=(0,r.useState)([]),[x,g]=(0,r.useState)(!1),[v,b]=(0,r.useState)(""),[y,j]=(0,r.useState)({passthrough:null,selectedMac:null,modemProtocol:null,dnsProxy:null}),[N,w]=(0,r.useState)({passthrough:null,selectedMac:null,modemProtocol:null,dnsProxy:null}),P={passthrough:{disabled:'+QMAP="MPDN_rule",0;+QMAPWAC=1;+QPOWD=1',ETH:e=>'+QMAP="MPDN_rule",0,1,0,1,1,"'.concat(e,'";+QPOWD=1'),USB:e=>'+QMAP="MPDN_rule",0,1,0,3,1,"'.concat(e,'";+QPOWD=1')},modemProtocol:{rmnet:'+QCFG="usbnet",0;+QPOWD=1',ecm:'+QCFG="usbnet",1;+QPOWD=1',mbim:'+QCFG="usbnet",2;+QPOWD=1',rndis:'+QCFG="usbnet",3;+QPOWD=1'},dnsProxy:{enabled:'+QMAP="DHCPV4DNS","enable"',disabled:'+QMAP="DHCPV4DNS","disable"'}},D=e=>{let t={passthrough:null,selectedMac:null,modemProtocol:null,dnsProxy:null};return e.forEach(e=>{let{response:a}=e;if(a.includes("MPDN_rule")){let e=a.split("\n")[1];e.includes('MPDN_rule",0,1,0,1,1')?t.passthrough="ETH":e.includes('MPDN_rule",0,1,0,3,1')?t.passthrough="USB":e.includes('MPDN_rule",0,0,0,0,0')&&(t.passthrough="disabled")}if(a.includes("usbnet")){let e=a.match(/usbnet",(\d)/);e&&(t.modemProtocol=({0:"rmnet",1:"ecm",2:"mbim",3:"rndis"})[e[1]])}a.includes("DHCPV4DNS")&&(a.includes('"enable"')?t.dnsProxy="enabled":a.includes('"disable"')&&(t.dnsProxy="disabled"))}),t},S=()=>{let e=[],t=Object.entries(N).reduce((e,t)=>{let[a,s]=t;return s!==y[a]&&(e[a]=s),e},{});if("passthrough"in t){if("disabled"===t.passthrough)e.push(P.passthrough.disabled.replace(";+QPOWD=1",""));else if(t.passthrough){let e=P.passthrough[t.passthrough](N.selectedMac);return"AT".concat(e.replace(";+QPOWD=1",""))}}if("modemProtocol"in t&&t.modemProtocol){let a=P.modemProtocol[t.modemProtocol];if(1===Object.keys(t).length)return"AT".concat(a.replace(";+QPOWD=1",""));e.push(a.replace(";+QPOWD=1",""))}if("dnsProxy"in t&&t.dnsProxy){let a=P.dnsProxy[t.dnsProxy];if(1===Object.keys(t).length)return"AT".concat(a);e.push(a)}return e.length>0?"AT".concat(e.join(";")):""},A=async()=>{try{let t=encodeURIComponent("AT+QPOWD=1");if(!(await fetch("/cgi-bin/at_command.sh?command=".concat(t))).ok)throw Error("Failed to queue reboot command");e({title:"Success",description:"Settings saved and device is rebooting..."}),setTimeout(()=>{window.location.reload()},9e4)}catch(t){e({variant:"destructive",title:"Error",description:"Failed to reboot device",action:(0,s.jsx)(h.A,{})})}},R=async()=>{try{let e=S();b(e),g(!0)}catch(t){e({variant:"destructive",title:"Error",description:"Failed to prepare settings",action:(0,s.jsx)(h.A,{})})}},C=async()=>{try{let e=encodeURIComponent(v);if(!(await fetch("/cgi-bin/at_command.sh?command=".concat(e))).ok)throw Error("Failed to queue reboot command");j({...N}),await A()}catch(t){e({variant:"destructive",title:"Error",description:"Failed to save settings",action:(0,s.jsx)(h.A,{})})}};return(0,r.useEffect)(()=>{(async()=>{try{let[e,t]=await Promise.all([fetch("/cgi-bin/advance/fetch_macs.sh"),fetch("/cgi-bin/fetch_data.sh?set=4")]),[s,r]=await Promise.all([e.json(),t.json()]);p(s);let l=D(r);j(l),w(l),a(!1)}catch(t){a(!1),e({variant:"destructive",title:"Uh oh! Something went wrong.",description:"Failed to fetch connectivity settings",action:(0,s.jsx)(h.A,{})})}})()},[]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(l.Zp,{children:[(0,s.jsxs)(l.aR,{children:[(0,s.jsx)(l.ZB,{children:"Connectivity Settings"}),(0,s.jsx)(l.BT,{children:"Configure your device's connectivity settings."})]}),(0,s.jsx)(l.Wu,{children:(0,s.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 grid-flow-row gap-6",children:[(0,s.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,s.jsx)(c.J,{htmlFor:"passthrough",children:"IP Passthrough Mode"}),t?(0,s.jsx)(u.E,{className:"w-full h-8"}):(0,s.jsxs)(o.l6,{onValueChange:e=>w(t=>({...t,passthrough:e})),value:N.passthrough||void 0,children:[(0,s.jsx)(o.bq,{children:(0,s.jsx)(o.yv,{placeholder:"Select IP Passthrough Mode"})}),(0,s.jsx)(o.gC,{children:(0,s.jsxs)(o.s3,{children:[(0,s.jsx)(o.TR,{children:"Passthrough Mode"}),(0,s.jsx)(o.eb,{value:"disabled",children:"Disabled"}),(0,s.jsx)(o.eb,{value:"ETH",children:"ETH Passthrough Enabled"}),(0,s.jsx)(o.eb,{value:"USB",children:"USB Passthrough Enabled"})]})})]})]}),(0,s.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,s.jsx)(c.J,{htmlFor:"mac",children:"Connected MAC"}),t?(0,s.jsx)(u.E,{className:"w-full h-8"}):(0,s.jsxs)(o.l6,{onValueChange:e=>w(t=>({...t,selectedMac:e})),value:N.selectedMac||void 0,disabled:!N.passthrough||"disabled"===N.passthrough,children:[(0,s.jsx)(o.bq,{children:(0,s.jsx)(o.yv,{placeholder:"Select Active MAC"})}),(0,s.jsx)(o.gC,{children:(0,s.jsxs)(o.s3,{children:[(0,s.jsx)(o.TR,{children:"Active MAC"}),f.map(e=>(0,s.jsx)(o.eb,{value:e.mac,children:"".concat(e.hostname," - ").concat(e.mac)},e.mac))]})})]})]}),(0,s.jsx)(m.w,{className:"lg:col-span-2 col-span-1 my-2"}),(0,s.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,s.jsx)(c.J,{htmlFor:"modemProtocol",children:"USB Modem Protocol"}),t?(0,s.jsx)(u.E,{className:"w-full h-8"}):(0,s.jsxs)(o.l6,{onValueChange:e=>w(t=>({...t,modemProtocol:e})),value:N.modemProtocol||void 0,children:[(0,s.jsx)(o.bq,{children:(0,s.jsx)(o.yv,{placeholder:"Select USB Modem Protocol"})}),(0,s.jsx)(o.gC,{children:(0,s.jsxs)(o.s3,{children:[(0,s.jsx)(o.TR,{children:"USB Modem Protocol"}),(0,s.jsx)(o.eb,{value:"rmnet",children:"RMNET"}),(0,s.jsx)(o.eb,{value:"ecm",children:"ECM (Recommended)"}),(0,s.jsx)(o.eb,{value:"mbim",children:"MBIM"}),(0,s.jsx)(o.eb,{value:"rndis",children:"RNDIS"})]})})]})]}),(0,s.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,s.jsx)(c.J,{htmlFor:"dnsProxy",children:"Onboard DNS Proxy Mode"}),t?(0,s.jsx)(u.E,{className:"w-full h-8"}):(0,s.jsxs)(o.l6,{onValueChange:e=>w(t=>({...t,dnsProxy:e})),value:N.dnsProxy||void 0,children:[(0,s.jsx)(o.bq,{children:(0,s.jsx)(o.yv,{placeholder:"Select DNS Proxy Mode"})}),(0,s.jsx)(o.gC,{children:(0,s.jsxs)(o.s3,{children:[(0,s.jsx)(o.TR,{children:"DNS Proxy Mode"}),(0,s.jsx)(o.eb,{value:"enabled",children:"Enabled"}),(0,s.jsx)(o.eb,{value:"disabled",children:"Disabled (Recommended for Passthrough)"})]})})]})]})]})}),(0,s.jsx)(l.wL,{className:"grid border-t py-4",children:(0,s.jsx)(i.$,{onClick:R,disabled:!Object.entries(N).some(e=>{let[t,a]=e;return a!==y[t]})||!(!N.passthrough||"disabled"===N.passthrough||N.selectedMac),children:"Save"})})]}),(0,s.jsx)(n.Lt,{open:x,onOpenChange:g,children:(0,s.jsxs)(n.EO,{children:[(0,s.jsxs)(n.wd,{children:[(0,s.jsx)(n.r7,{children:"Reboot Required"}),(0,s.jsx)(n.$v,{children:"The changes you made require a device reboot to take effect. Would you like to reboot now?"})]}),(0,s.jsxs)(n.ck,{children:[(0,s.jsx)(n.Zr,{children:"Later"}),(0,s.jsx)(n.Rx,{onClick:C,children:"Save & Reboot Now"})]})]})})]})}},114:(e,t,a)=>{"use strict";a.d(t,{A:()=>o});var s=a(20475),r=a(42541),l=a(7197);let o=()=>(0,s.jsx)(r.$,{asChild:!0,variant:"outline",className:"ml-2",children:(0,s.jsxs)("a",{href:"https://github.com/iamromulan/quectel-rgmii-toolkit/tree/development-SDXPINN",children:[(0,s.jsx)(l.ERf,{className:"w-4 h-4 mr-2"}),"Get there!"]})})},76837:(e,t,a)=>{"use strict";a.d(t,{Lt:()=>E,Rx:()=>W,Zr:()=>z,EO:()=>F,$v:()=>U,ck:()=>Q,wd:()=>k,r7:()=>I,tv:()=>O});var s=a(20475),r=a(20107),l=a(80938),o=a(74111),n=a(71827),d=a(94521),i=a(61837),c="AlertDialog",[u,m]=(0,l.A)(c,[n.Hs]),h=(0,n.Hs)(),f=e=>{let{__scopeAlertDialog:t,...a}=e,r=h(t);return(0,s.jsx)(n.bL,{...r,...a,modal:!0})};f.displayName=c;var p=r.forwardRef((e,t)=>{let{__scopeAlertDialog:a,...r}=e,l=h(a);return(0,s.jsx)(n.l9,{...l,...r,ref:t})});p.displayName="AlertDialogTrigger";var x=e=>{let{__scopeAlertDialog:t,...a}=e,r=h(t);return(0,s.jsx)(n.ZL,{...r,...a})};x.displayName="AlertDialogPortal";var g=r.forwardRef((e,t)=>{let{__scopeAlertDialog:a,...r}=e,l=h(a);return(0,s.jsx)(n.hJ,{...l,...r,ref:t})});g.displayName="AlertDialogOverlay";var v="AlertDialogContent",[b,y]=u(v),j=r.forwardRef((e,t)=>{let{__scopeAlertDialog:a,children:l,...c}=e,u=h(a),m=r.useRef(null),f=(0,o.s)(t,m),p=r.useRef(null);return(0,s.jsx)(n.G$,{contentName:v,titleName:N,docsSlug:"alert-dialog",children:(0,s.jsx)(b,{scope:a,cancelRef:p,children:(0,s.jsxs)(n.UC,{role:"alertdialog",...u,...c,ref:f,onOpenAutoFocus:(0,d.m)(c.onOpenAutoFocus,e=>{var t;e.preventDefault(),null===(t=p.current)||void 0===t||t.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,s.jsx)(i.xV,{children:l}),(0,s.jsx)(C,{contentRef:m})]})})})});j.displayName=v;var N="AlertDialogTitle",w=r.forwardRef((e,t)=>{let{__scopeAlertDialog:a,...r}=e,l=h(a);return(0,s.jsx)(n.hE,{...l,...r,ref:t})});w.displayName=N;var P="AlertDialogDescription",D=r.forwardRef((e,t)=>{let{__scopeAlertDialog:a,...r}=e,l=h(a);return(0,s.jsx)(n.VY,{...l,...r,ref:t})});D.displayName=P;var S=r.forwardRef((e,t)=>{let{__scopeAlertDialog:a,...r}=e,l=h(a);return(0,s.jsx)(n.bm,{...l,...r,ref:t})});S.displayName="AlertDialogAction";var A="AlertDialogCancel",R=r.forwardRef((e,t)=>{let{__scopeAlertDialog:a,...r}=e,{cancelRef:l}=y(A,a),d=h(a),i=(0,o.s)(t,l);return(0,s.jsx)(n.bm,{...d,...r,ref:i})});R.displayName=A;var C=e=>{let{contentRef:t}=e,a="`".concat(v,"` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the `").concat(v,"` by passing a `").concat(P,"` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an `id` and passing the same value to the `aria-describedby` prop in `").concat(v,"`. If the description is confusing or duplicative for sighted users, you can use the `@radix-ui/react-visually-hidden` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog");return r.useEffect(()=>{var e;document.getElementById(null===(e=t.current)||void 0===e?void 0:e.getAttribute("aria-describedby"))||console.warn(a)},[a,t]),null},T=a(22250),M=a(42541);let E=f,O=p,_=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(g,{className:(0,T.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...r,ref:t})});_.displayName=g.displayName;let F=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsxs)(x,{children:[(0,s.jsx)(_,{}),(0,s.jsx)(j,{ref:t,className:(0,T.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",a),...r})]})});F.displayName=j.displayName;let k=e=>{let{className:t,...a}=e;return(0,s.jsx)("div",{className:(0,T.cn)("flex flex-col space-y-2 text-center sm:text-left",t),...a})};k.displayName="AlertDialogHeader";let Q=e=>{let{className:t,...a}=e;return(0,s.jsx)("div",{className:(0,T.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a})};Q.displayName="AlertDialogFooter";let I=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(w,{ref:t,className:(0,T.cn)("text-lg font-semibold",a),...r})});I.displayName=w.displayName;let U=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(D,{ref:t,className:(0,T.cn)("text-sm text-muted-foreground",a),...r})});U.displayName=D.displayName;let W=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(S,{ref:t,className:(0,T.cn)((0,M.r)(),a),...r})});W.displayName=S.displayName;let z=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(R,{ref:t,className:(0,T.cn)((0,M.r)({variant:"outline"}),"mt-2 sm:mt-0",a),...r})});z.displayName=R.displayName},42541:(e,t,a)=>{"use strict";a.d(t,{$:()=>i,r:()=>d});var s=a(20475),r=a(20107),l=a(61837),o=a(29395),n=a(22250);let d=(0,o.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),i=r.forwardRef((e,t)=>{let{className:a,variant:r,size:o,asChild:i=!1,...c}=e,u=i?l.DX:"button";return(0,s.jsx)(u,{className:(0,n.cn)(d({variant:r,size:o,className:a})),ref:t,...c})});i.displayName="Button"},72167:(e,t,a)=>{"use strict";a.d(t,{BT:()=>i,Wu:()=>c,ZB:()=>d,Zp:()=>o,aR:()=>n,wL:()=>u});var s=a(20475),r=a(20107),l=a(22250);let o=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)("div",{ref:t,className:(0,l.cn)("rounded-xl border bg-card text-card-foreground shadow",a),...r})});o.displayName="Card";let n=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)("div",{ref:t,className:(0,l.cn)("flex flex-col space-y-1.5 p-6",a),...r})});n.displayName="CardHeader";let d=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)("h3",{ref:t,className:(0,l.cn)("font-semibold leading-none tracking-tight",a),...r})});d.displayName="CardTitle";let i=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)("p",{ref:t,className:(0,l.cn)("text-sm text-muted-foreground",a),...r})});i.displayName="CardDescription";let c=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)("div",{ref:t,className:(0,l.cn)("p-6 pt-0",a),...r})});c.displayName="CardContent";let u=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)("div",{ref:t,className:(0,l.cn)("flex items-center p-6 pt-0",a),...r})});u.displayName="CardFooter"},49153:(e,t,a)=>{"use strict";a.d(t,{J:()=>i});var s=a(20475),r=a(20107),l=a(73725),o=a(29395),n=a(22250);let d=(0,o.F)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),i=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(l.b,{ref:t,className:(0,n.cn)(d(),a),...r})});i.displayName=l.b.displayName},35601:(e,t,a)=>{"use strict";a.d(t,{TR:()=>p,bq:()=>u,eb:()=>x,gC:()=>f,l6:()=>d,s3:()=>i,yv:()=>c});var s=a(20475),r=a(20107),l=a(7197),o=a(32301),n=a(22250);let d=o.bL,i=o.YJ,c=o.WT,u=r.forwardRef((e,t)=>{let{className:a,children:r,...d}=e;return(0,s.jsxs)(o.l9,{ref:t,className:(0,n.cn)("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...d,children:[r,(0,s.jsx)(o.In,{asChild:!0,children:(0,s.jsx)(l.TBE,{className:"h-4 w-4 opacity-50"})})]})});u.displayName=o.l9.displayName;let m=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(o.PP,{ref:t,className:(0,n.cn)("flex cursor-default items-center justify-center py-1",a),...r,children:(0,s.jsx)(l.Mtm,{})})});m.displayName=o.PP.displayName;let h=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(o.wn,{ref:t,className:(0,n.cn)("flex cursor-default items-center justify-center py-1",a),...r,children:(0,s.jsx)(l.D3D,{})})});h.displayName=o.wn.displayName;let f=r.forwardRef((e,t)=>{let{className:a,children:r,position:l="popper",...d}=e;return(0,s.jsx)(o.ZL,{children:(0,s.jsxs)(o.UC,{ref:t,className:(0,n.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===l&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:l,...d,children:[(0,s.jsx)(m,{}),(0,s.jsx)(o.LM,{className:(0,n.cn)("p-1","popper"===l&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:r}),(0,s.jsx)(h,{})]})})});f.displayName=o.UC.displayName;let p=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(o.JU,{ref:t,className:(0,n.cn)("px-2 py-1.5 text-sm font-semibold",a),...r})});p.displayName=o.JU.displayName;let x=r.forwardRef((e,t)=>{let{className:a,children:r,...d}=e;return(0,s.jsxs)(o.q7,{ref:t,className:(0,n.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...d,children:[(0,s.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,s.jsx)(o.VF,{children:(0,s.jsx)(l.Srz,{className:"h-4 w-4"})})}),(0,s.jsx)(o.p4,{children:r})]})});x.displayName=o.q7.displayName,r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(o.wv,{ref:t,className:(0,n.cn)("-mx-1 my-1 h-px bg-muted",a),...r})}).displayName=o.wv.displayName},76554:(e,t,a)=>{"use strict";a.d(t,{w:()=>n});var s=a(20475),r=a(20107),l=a(55809),o=a(22250);let n=r.forwardRef((e,t)=>{let{className:a,orientation:r="horizontal",decorative:n=!0,...d}=e;return(0,s.jsx)(l.b,{ref:t,decorative:n,orientation:r,className:(0,o.cn)("shrink-0 bg-border","horizontal"===r?"h-[1px] w-full":"h-full w-[1px]",a),...d})});n.displayName=l.b.displayName},36760:(e,t,a)=>{"use strict";a.d(t,{E:()=>l});var s=a(20475),r=a(22250);function l(e){let{className:t,...a}=e;return(0,s.jsx)("div",{className:(0,r.cn)("animate-pulse rounded-md bg-primary/10",t),...a})}},32857:(e,t,a)=>{"use strict";a.d(t,{dj:()=>m,oR:()=>u});var s=a(20107);let r=0,l=new Map,o=e=>{if(l.has(e))return;let t=setTimeout(()=>{l.delete(e),c({type:"REMOVE_TOAST",toastId:e})},1e6);l.set(e,t)},n=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:a}=t;return a?o(a):e.toasts.forEach(e=>{o(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===a||void 0===a?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},d=[],i={toasts:[]};function c(e){i=n(i,e),d.forEach(e=>{e(i)})}function u(e){let{...t}=e,a=(r=(r+1)%Number.MAX_SAFE_INTEGER).toString(),s=()=>c({type:"DISMISS_TOAST",toastId:a});return c({type:"ADD_TOAST",toast:{...t,id:a,open:!0,onOpenChange:e=>{e||s()}}}),{id:a,dismiss:s,update:e=>c({type:"UPDATE_TOAST",toast:{...e,id:a}})}}function m(){let[e,t]=s.useState(i);return s.useEffect(()=>(d.push(t),()=>{let e=d.indexOf(t);e>-1&&d.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>c({type:"DISMISS_TOAST",toastId:e})}}},22250:(e,t,a)=>{"use strict";a.d(t,{cn:()=>l});var s=a(64901),r=a(868);function l(){for(var e=arguments.length,t=Array(e),a=0;a{"use strict";a.d(t,{b:()=>i});var s=a(20107),r=a(4589),l=a(20475),o="horizontal",n=["horizontal","vertical"],d=s.forwardRef((e,t)=>{let{decorative:a,orientation:s=o,...d}=e,i=n.includes(s)?s:o;return(0,l.jsx)(r.sG.div,{"data-orientation":i,...a?{role:"none"}:{"aria-orientation":"vertical"===i?i:void 0,role:"separator"},...d,ref:t})});d.displayName="Separator";var i=d}},e=>{var t=t=>e(e.s=t);e.O(0,[9980,7780,1617,4673,5011,1827,1457,191,6035,7358],()=>t(15348)),_N_E=e.O()}]); \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/cell-settings/basic-settings/page-cf5741b8d8576a31.js b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/cell-settings/basic-settings/page-cf5741b8d8576a31.js new file mode 100644 index 0000000..2d5859c --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/cell-settings/basic-settings/page-cf5741b8d8576a31.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2545],{58669:(e,r,l)=>{Promise.resolve().then(l.bind(l,8016))},8016:(e,r,l)=>{"use strict";l.r(r),l.d(r,{default:()=>S});var i=l(20475),t=l(20107),s=l(72167),n=l(35601),o=l(42541),a=l(64219),c=l(49153),d=l(36760),p=l(32857);let u=()=>{let[e,r]=(0,t.useState)(null),[l,i]=(0,t.useState)(!0),s=(0,t.useCallback)(async()=>{try{i(!0),r(null);let e=await fetch("/cgi-bin/fetch_data.sh?set=2"),l=await e.json();console.log("Fetched cell settings data:",l);let t={currentAPN:f(l[0].response,l[1].response),apnPDPType:h(l[0].response),preferredNetworkType:v(l[2].response),nr5gMode:P(l[3].response),simSlot:g(l[4].response)};r(t),console.log("Processed cell settings data:",t)}catch(e){console.error("Error fetching cell settings data:",e)}i(!1)},[]);return(0,t.useEffect)(()=>{s()},[s]),{data:e,isLoading:l,fetchCellSettingsData:s}},f=(e,r)=>{var l,i;let t=null===(l=e.split("\n").find(e=>e.includes("+CGDCONT: 1")))||void 0===l?void 0:l.split(",")[2].replace(/"/g,"");if(void 0===t||""===t){let e=null===(i=r.split("\n").find(e=>e.includes("+CGCONTRDP:")))||void 0===i?void 0:i.split(",")[2].replace(/"/g,"");return void 0===e||""===e?"No APN found":e}return t},h=e=>{var r;let l=null===(r=e.split("\n").find(e=>e.includes("+CGDCONT: 1")))||void 0===r?void 0:r.split(",")[1].replace(/"/g,"");return void 0===l||""===l?"Error fetching PDP Type":l},v=e=>{var r;let l=null===(r=e.split("\n").find(e=>e.includes('+QNWPREFCFG: "mode_pref"')))||void 0===r?void 0:r.split(",")[1].replace(/"/g,"");return void 0===l||""===l?"Error fetching network type":l},P=e=>{var r;let l=null===(r=e.split("\n").find(e=>e.includes('+QNWPREFCFG: "nr5g_disable_mode"')))||void 0===r?void 0:r.split(",")[1].replace(/"/g,"");return void 0===l||""===l?"Error fetching NR5G mode":l},g=e=>{var r;let l=null===(r=e.split("\n").find(e=>e.includes("+QUIMSLOT:")))||void 0===r?void 0:r.split(":")[1].trim();return void 0===l||""===l?"Error fetching SIM slot":l};var y=l(76554),m=l(52161),x=l(51873);let j={apn:"",pdpType:"",iccid:""},N={profile1:{...j},profile2:{...j}},T=[{value:"IPV4",label:"IPv4 Only"},{value:"IPV6",label:"IPv6 Only"},{value:"IPV4V6",label:"IPv4 and IPv6"},{value:"P2P",label:"P2P Protocol"}],w=()=>{let{toast:e}=(0,p.dj)(),{profiles:r,isLoading:l,updateAPNProfile:u,deleteAPNProfiles:f}=function(){let[e,r]=(0,t.useState)({}),[l,i]=(0,t.useState)(!0),s=async()=>{try{i(!0);let e=await fetch("/cgi-bin/cell-settings/apn-profiles/fetch-profile.sh",{method:"GET",headers:{"Content-Type":"application/x-www-form-urlencoded"},signal:AbortSignal.timeout(1e4)});if(!e.ok)throw Error("HTTP error! status: ".concat(e.status));let l=await e.json();console.log("Fetched APN profiles data:",l),r(l)}catch(e){console.error("Error fetching APN profiles:",e)}finally{i(!1)}};(0,t.useEffect)(()=>{s()},[]);let n=async(l,i)=>{try{var t,s,n,o,a,c;let d=new URLSearchParams;"profile1"===l?(d.append("iccidProfile1",i.iccid),d.append("apnProfile1",i.apn),d.append("pdpType1",i.pdpType)):(d.append("iccidProfile1",(null===(t=e.profile1)||void 0===t?void 0:t.iccid)||""),d.append("apnProfile1",(null===(s=e.profile1)||void 0===s?void 0:s.apn)||""),d.append("pdpType1",(null===(n=e.profile1)||void 0===n?void 0:n.pdpType)||"")),("profile2"===l||e.profile2)&&(d.append("iccidProfile2","profile2"===l?i.iccid:(null===(o=e.profile2)||void 0===o?void 0:o.iccid)||""),d.append("apnProfile2","profile2"===l?i.apn:(null===(a=e.profile2)||void 0===a?void 0:a.apn)||""),d.append("pdpType2","profile2"===l?i.pdpType:(null===(c=e.profile2)||void 0===c?void 0:c.pdpType)||""));let p=await fetch("/cgi-bin/cell-settings/apn-profiles/save-profile.sh",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:d.toString(),signal:AbortSignal.timeout(15e3)});if(!p.ok)throw Error("Failed to update profile");let u=await p.json();if("success"===u.status)return r(e=>({...e,[l]:i})),!0;throw Error(u.message||"Failed to update profile")}catch(e){return console.error("Error updating ".concat(l,":"),e),!1}};return{profiles:e,isLoading:l,updateAPNProfile:n,deleteAPNProfiles:async()=>{try{let e=await fetch("/cgi-bin/cell-settings/apn-profiles/delete-profile.sh",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},signal:AbortSignal.timeout(1e4)});if(!e.ok)throw Error("Failed to delete profiles");let l=await e.json();if("success"===l.status)return r({}),!0;throw Error(l.message||"Failed to delete profiles")}catch(e){return console.error("Error deleting APN profiles:",e),!1}}}}(),[h,v]=(0,t.useState)(!1),[P,g]=(0,t.useState)(!1),[j,w]=(0,t.useState)(N);(0,t.useEffect)(()=>{if(r){var e,l,i,t,s,n;w({profile1:{apn:(null===(e=r.profile1)||void 0===e?void 0:e.apn)||"",pdpType:(null===(l=r.profile1)||void 0===l?void 0:l.pdpType)||"",iccid:(null===(i=r.profile1)||void 0===i?void 0:i.iccid)||""},profile2:{apn:(null===(t=r.profile2)||void 0===t?void 0:t.apn)||"",pdpType:(null===(s=r.profile2)||void 0===s?void 0:s.pdpType)||"",iccid:(null===(n=r.profile2)||void 0===n?void 0:n.iccid)||""}})}},[r]);let S=(e,r,l)=>{w(i=>({...i,[e]:{...i[e],[r]:l}}))},A=()=>j.profile1.apn&&j.profile1.pdpType&&j.profile1.iccid?!Object.values(j.profile2).some(e=>""!==e)||!!j.profile2.apn&&!!j.profile2.pdpType&&!!j.profile2.iccid||(e({variant:"destructive",title:"Invalid Profile 2",description:"All fields for Profile 2 are required if any field is filled"}),!1):(e({variant:"destructive",title:"Invalid Profile 1",description:"All fields for Profile 1 are required"}),!1),b=async r=>{if(r.preventDefault(),A()){v(!0);try{let r=await u("profile1",j.profile1),l=!Object.values(j.profile2).some(e=>""!==e)||await u("profile2",j.profile2);if(r&&l)e({title:"Success",description:"APN profiles have been saved successfully"});else throw Error("Failed to save one or more profiles")}catch(r){e({variant:"destructive",title:"Error",description:"Failed to save APN profiles. Please try again."})}finally{v(!1)}}},C=async()=>{if(confirm("Are you sure you want to delete all APN profiles?")){g(!0);try{if(await f())w(N),e({title:"Success",description:"APN profiles have been deleted successfully"});else throw Error("Failed to delete profiles")}catch(r){e({variant:"destructive",title:"Error",description:"Failed to delete APN profiles. Please try again."})}finally{g(!1)}}},E=(e,r)=>{var t;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,i.jsxs)(c.J,{htmlFor:"APNProfile".concat(r),children:["APN Profile ",r]}),l?(0,i.jsx)(d.E,{className:"h-8"}):(0,i.jsx)(a.p,{type:"text",id:"APNProfile".concat(r),placeholder:"APN for Profile ".concat(r),value:j[e].apn,onChange:r=>S(e,"apn",r.target.value)})]}),(0,i.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,i.jsx)(c.J,{htmlFor:"PDPType".concat(r),children:"APN PDP Type"}),l?(0,i.jsx)(d.E,{className:"h-8"}):(0,i.jsxs)(n.l6,{defaultValue:j[e].pdpType,value:j[e].pdpType,onValueChange:r=>S(e,"pdpType",r),children:[(0,i.jsx)(n.bq,{id:"PDPType".concat(r),children:(0,i.jsx)(n.yv,{placeholder:"Select PDP Type",children:(null===(t=T.find(r=>r.value===j[e].pdpType))||void 0===t?void 0:t.label)||"Select PDP Type"})}),(0,i.jsx)(n.gC,{children:(0,i.jsxs)(n.s3,{children:[(0,i.jsx)(n.TR,{children:"PDP Type"}),T.map(e=>{let{value:r,label:l}=e;return(0,i.jsx)(n.eb,{value:r,children:l},r)})]})})]})]}),(0,i.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2 col-span-2",children:[(0,i.jsxs)(c.J,{htmlFor:"ICCIDProfile".concat(r),children:["ICCID Profile ",r]}),l?(0,i.jsx)(d.E,{className:"h-8"}):(0,i.jsx)(a.p,{type:"text",id:"ICCIDProfile".concat(r),placeholder:"ICCID for Profile ".concat(r),value:j[e].iccid,onChange:r=>S(e,"iccid",r.target.value)})]})]})};return(0,i.jsxs)(s.Zp,{children:[(0,i.jsxs)(s.aR,{children:[(0,i.jsx)(s.ZB,{children:"APN and ICCID Profiles"}),(0,i.jsx)(s.BT,{children:"Configure APN profiles based on SIM card ICCID. Profile 1 is required."})]}),(0,i.jsx)(s.Wu,{children:(0,i.jsxs)("form",{className:"grid grid-cols-1 lg:grid-cols-2 grid-flow-row gap-6",onSubmit:b,children:[E("profile1",1),(0,i.jsx)(y.w,{className:"col-span-2 w-full my-2"}),E("profile2",2),(0,i.jsx)("div",{className:"col-span-2",children:(0,i.jsxs)(s.wL,{className:"border-t py-4 grid md:grid-cols-2 grid-cols-1 gap-4 px-0",children:[(0,i.jsxs)(o.$,{type:"submit",disabled:h||P,children:[(0,i.jsx)(m.A,{className:"h-4 w-4"}),h?"Saving...":"Save Profiles"]}),(0,i.jsxs)(o.$,{type:"button",variant:"secondary",onClick:C,disabled:h||P,children:[(0,i.jsx)(x.A,{className:"h-4 w-4"}),P?"Deleting...":"Delete All Profiles"]})]})})]})})]})},S=()=>{let{toast:e}=(0,p.dj)(),{data:r,isLoading:l,fetchCellSettingsData:f}=u(),[h,v]=(0,t.useState)(!1),[P,g]=(0,t.useState)(!1),[y,m]=(0,t.useState)({currentAPN:"",apnPDPType:"",preferredNetworkType:"",nr5gMode:"",simSlot:""});(0,t.useEffect)(()=>{r&&!P&&(m({currentAPN:String(r.currentAPN||""),apnPDPType:String(r.apnPDPType||""),preferredNetworkType:String(r.preferredNetworkType||""),nr5gMode:String(r.nr5gMode||""),simSlot:String(r.simSlot||"")}),g(!0))},[r,P]),(0,t.useEffect)(()=>{r||g(!1)},[r]);let x=e=>{let r=[];if(e.currentAPN||e.apnPDPType){let l=e.apnPDPType||y.apnPDPType,i=e.currentAPN||y.currentAPN;r.push('AT+CGDCONT=1,"'.concat(l,'","').concat(i,'"'))}if(e.preferredNetworkType){let l='+QNWPREFCFG="mode_pref",'.concat(e.preferredNetworkType);r.push(0===r.length?"AT".concat(l):l)}if(e.nr5gMode){let l='+QNWPREFCFG="nr5g_disable_mode",'.concat(e.nr5gMode);r.push(0===r.length?"AT".concat(l):l)}if(e.simSlot){let l="+QUIMSLOT=".concat(e.simSlot,";+COPS=2;+COPS=0");r.push(0===r.length?"AT".concat(l):l)}return r.join(";")},j=(e,r)=>{m(l=>({...l,[e]:r}))},N=async()=>{try{let r=await fetch("/cgi-bin/settings/force-rerun.sh"),l=await r.json();if("success"===l.status)e({title:"Scripts Restarted",description:"Scripts have been restarted successfully"});else if("info"===l.status)e({title:"Info",description:"No scripts were found to restart"});else throw Error("Failed to restart scripts")}catch(r){console.error("Error rerunning scripts:",r),e({variant:"destructive",title:"Script Restart Failed",description:"Failed to restart the required scripts"})}},T=async l=>{l.preventDefault(),v(!0);try{let l={};if(Object.keys(y).forEach(e=>{y[e]!==(null==r?void 0:r[e])&&(l[e]=y[e])}),0===Object.keys(l).length){e({title:"No changes detected",description:"Try changing some settings before saving"});return}let i=x(l),t=encodeURIComponent(i);if(!(await fetch("/cgi-bin/at_command.sh?command=".concat(t),{method:"GET",headers:{Accept:"application/json"},signal:AbortSignal.timeout(5e3)})).ok)throw Error("Failed to save settings");await new Promise(e=>setTimeout(e,1500)),await f(),g(!1),e({title:"Settings saved!",description:"The settings have been saved successfully",duration:3e3}),l.simSlot&&setTimeout(()=>{N()},3100)}catch(r){console.error("Error saving settings:",r),e({variant:"destructive",title:"Failed to save settings!",description:"An error occurred while saving the settings"})}finally{v(!1)}};return(0,i.jsxs)("div",{className:"grid grid-cols-1 grid-flow-row gap-8",children:[(0,i.jsx)(s.Zp,{children:(0,i.jsxs)("form",{onSubmit:T,children:[(0,i.jsxs)(s.aR,{children:[(0,i.jsx)(s.ZB,{children:"Network Settings"}),(0,i.jsx)(s.BT,{children:"Change the network settings of the device."})]}),(0,i.jsx)(s.Wu,{children:(0,i.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 grid-flow-row gap-6",children:[(0,i.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,i.jsx)(c.J,{htmlFor:"APN",children:"Current APN"}),l?(0,i.jsx)(d.E,{className:"h-8"}):(0,i.jsx)(a.p,{type:"text",id:"APN",placeholder:"Current APN",value:y.currentAPN,onChange:e=>j("currentAPN",e.target.value)})]}),(0,i.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,i.jsx)(c.J,{htmlFor:"APN",children:"APN PDP Type"}),l?(0,i.jsx)(d.E,{className:"h-8"}):(0,i.jsxs)(n.l6,{value:y.apnPDPType,onValueChange:e=>j("apnPDPType",e),children:[(0,i.jsx)(n.bq,{children:(0,i.jsx)(n.yv,{children:y.apnPDPType?(e=>({IPV4:"IPv4 Only",IPV6:"IPv6 Only",IPV4V6:"IPv4 and IPv6",P2P:"P2P Protocol"})[e]||e)(y.apnPDPType):"Select PDP Type"})}),(0,i.jsx)(n.gC,{children:(0,i.jsxs)(n.s3,{children:[(0,i.jsx)(n.TR,{children:"PDP Type"}),(0,i.jsx)(n.eb,{value:"IPV4",children:"IPv4 Only"}),(0,i.jsx)(n.eb,{value:"IPV6",children:"IPv6 Only"}),(0,i.jsx)(n.eb,{value:"IPV4V6",children:"IPv4 and IPv6"}),(0,i.jsx)(n.eb,{value:"P2P",children:"P2P Protocol"})]})})]},"pdp-type-".concat(y.apnPDPType))]}),(0,i.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,i.jsx)(c.J,{children:"Preferred Network Type"}),l?(0,i.jsx)(d.E,{className:"h-8"}):(0,i.jsxs)(n.l6,{value:y.preferredNetworkType,onValueChange:e=>j("preferredNetworkType",e),children:[(0,i.jsx)(n.bq,{children:(0,i.jsx)(n.yv,{children:y.preferredNetworkType?(e=>({AUTO:"Automatic",LTE:"LTE Only","LTE:NR5G":"NR5G-NSA",NR5G:"NR5G-SA"})[e]||e)(y.preferredNetworkType):"Select Network Type"})}),(0,i.jsx)(n.gC,{children:(0,i.jsxs)(n.s3,{children:[(0,i.jsx)(n.TR,{children:"Preferred Network Type"}),(0,i.jsx)(n.eb,{value:"AUTO",children:"Automatic"}),(0,i.jsx)(n.eb,{value:"LTE",children:"LTE Only"}),(0,i.jsx)(n.eb,{value:"LTE:NR5G",children:"NR5G-NSA"}),(0,i.jsx)(n.eb,{value:"NR5G",children:"NR5G-SA"})]})})]},"network-type-".concat(y.preferredNetworkType))]}),(0,i.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,i.jsx)(c.J,{children:"NR5G Mode Control"}),l?(0,i.jsx)(d.E,{className:"h-8"}):(0,i.jsxs)(n.l6,{value:y.nr5gMode,onValueChange:e=>j("nr5gMode",e),children:[(0,i.jsx)(n.bq,{children:(0,i.jsx)(n.yv,{children:y.nr5gMode?(e=>({0:"NR5G-SA and NSA Enabled",1:"NR5G-NSA Only",2:"NR5G-SA Only"})[e]||e)(y.nr5gMode):"Select NR5G Mode"})}),(0,i.jsx)(n.gC,{children:(0,i.jsxs)(n.s3,{children:[(0,i.jsx)(n.TR,{children:"NR5G Mode"}),(0,i.jsx)(n.eb,{value:"0",children:"NR5G-SA and NSA Enabled"}),(0,i.jsx)(n.eb,{value:"1",children:"NR5G-NSA Only"}),(0,i.jsx)(n.eb,{value:"2",children:"NR5G-SA Only"})]})})]},"nr5g-mode-".concat(y.nr5gMode))]}),(0,i.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,i.jsx)(c.J,{children:"U-SIM Slot Configuration"}),l?(0,i.jsx)(d.E,{className:"h-8"}):(0,i.jsxs)(n.l6,{value:y.simSlot,onValueChange:e=>j("simSlot",e),children:[(0,i.jsx)(n.bq,{children:(0,i.jsx)(n.yv,{children:y.simSlot?"U-SIM Slot ".concat(y.simSlot):"Select U-SIM Slot"})}),(0,i.jsx)(n.gC,{children:(0,i.jsxs)(n.s3,{children:[(0,i.jsx)(n.TR,{children:"U-SIM Slot"}),(0,i.jsx)(n.eb,{value:"1",children:"U-SIM Slot 1"}),(0,i.jsx)(n.eb,{value:"2",children:"U-SIM Slot 2"})]})})]},"sim-slot-".concat(y.simSlot))]})]})}),(0,i.jsx)(s.wL,{className:"grid border-t py-4",children:(0,i.jsx)(o.$,{type:"submit",disabled:h,children:h?"Saving...":"Save"})})]})}),(0,i.jsx)(w,{})]})}},36760:(e,r,l)=>{"use strict";l.d(r,{E:()=>s});var i=l(20475),t=l(22250);function s(e){let{className:r,...l}=e;return(0,i.jsx)("div",{className:(0,t.cn)("animate-pulse rounded-md bg-primary/10",r),...l})}},51873:(e,r,l)=>{"use strict";l.d(r,{A:()=>i});let i=(0,l(39997).A)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])}},e=>{var r=r=>e(e.s=r);e.O(0,[9980,7780,1617,4673,5011,1457,6152,191,6035,7358],()=>r(58669)),_N_E=e.O()}]); \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/cell-settings/cell-locking/page-4ab1165c81cbdb13.js b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/cell-settings/cell-locking/page-4ab1165c81cbdb13.js new file mode 100644 index 0000000..433e3c9 --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/cell-settings/cell-locking/page-4ab1165c81cbdb13.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5665],{5853:(e,t,s)=>{Promise.resolve().then(s.bind(s,43166))},43166:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>f});var a=s(20475),l=s(20107),r=s(72167),i=s(35601),c=s(42541),n=s(76554),o=s(64219),d=s(49153),h=s(52744),m=s(29475),u=s(52161),g=s(97801),p=s(32857);let C=(0,s(39997).A)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);var x=s(98969),N=s(96244);let w=e=>{let{loading:t,scheduling:s,startTime:i,endTime:c,onStartTimeChange:n,onEndTimeChange:m,onSchedulingToggle:u,locked:g}=e,[p,w]=(0,l.useState)({text:"Disabled",color:"text-red-600",icon:C}),f=()=>{if(!s){w({text:"Disabled",color:"text-red-600",icon:C});return}let e=new Date,t=60*e.getHours()+e.getMinutes(),[a,l]=i.split(":").map(Number),[r,n]=c.split(":").map(Number),o=60*a+l,d=60*r+n;o<=d?t>=o&&t<=d?w({text:"Active",color:"text-green-600",icon:x.A}):w({text:"Inactive",color:"text-yellow-500",icon:N.A}):t>=o||t<=d?w({text:"Active",color:"text-green-600",icon:x.A}):w({text:"Inactive",color:"text-yellow-500",icon:N.A})};(0,l.useEffect)(()=>{f();let e=setInterval(f,6e4);return()=>clearInterval(e)},[s,i,c]);let v=p.icon;return(0,a.jsxs)(r.Zp,{children:[(0,a.jsxs)(r.aR,{children:[(0,a.jsxs)(r.ZB,{className:"flex items-center justify-between",children:[(0,a.jsx)("div",{children:(0,a.jsx)("span",{children:"Cell Locking Scheduler"})}),(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)(v,{className:"h-4 w-4 mr-1 ".concat(p.color)}),(0,a.jsx)("div",{className:"text-sm text-gray-500",children:p.text})]})]}),(0,a.jsx)(r.BT,{children:"Schedule the device to lock to specific cells at certain times."})]}),(0,a.jsx)(r.Wu,{children:(0,a.jsxs)("div",{className:"grid lg:grid-cols-2 grid-cols-1 grid-flow-row gap-4",children:[(0,a.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,a.jsx)(d.J,{htmlFor:"start-time",children:"Start Time"}),(0,a.jsx)(o.p,{type:"time",id:"start-time",value:i,onChange:e=>n(e.target.value),disabled:t||s,placeholder:"START TIME"})]}),(0,a.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,a.jsx)(d.J,{htmlFor:"end-time",children:"End Time"}),(0,a.jsx)(o.p,{type:"time",id:"end-time",value:c,onChange:e=>m(e.target.value),disabled:t||s,placeholder:"END TIME"})]}),(0,a.jsx)("div",{className:"lg:col-span-2 col-span-1",children:(0,a.jsx)("p",{className:"text-sm text-gray-500",children:"Make sure to properly set the timezone using Luci for this to properly work. The scheduler will lock the device to the selected cells during the specified time range. The scheduler will not lock the device if the time range is not valid (e.g. start time is after end time)."})})]})}),(0,a.jsx)(r.wL,{className:"border-t py-4",children:(0,a.jsxs)(h.l,{disabled:t||!i||!c||!g,pressed:s,onPressedChange:u,children:[(0,a.jsx)(N.A,{className:"h-4 w-4 mr-2"}),s?"Disable":"Enable"," Scheduled Locking"]})})]})},f=()=>{let{toast:e}=(0,p.dj)(),[t,s]=(0,l.useState)(!1),[C,x]=(0,l.useState)(!1),[N,f]=(0,l.useState)(!1),[v,j]=(0,l.useState)(!1),[R,A]=(0,l.useState)(!1),[y,E]=(0,l.useState)(""),[b,k]=(0,l.useState)(""),[F,P]=(0,l.useState)({EARFCN1:"",PCI1:"",EARFCN2:"",PCI2:"",EARFCN3:"",PCI3:""}),[T,S]=(0,l.useState)({NRARFCN:"",NRPCI:"",SCS:"",NRBAND:""}),I=async e=>{let t=encodeURIComponent(e);try{let e=await fetch("/cgi-bin/at_command.sh?command=".concat(t),{method:"GET",headers:{Accept:"application/json"},signal:AbortSignal.timeout(5e3)}),s=await e.json();if(console.log("AT command response:",s),!e.ok||"error"===s.status)throw Error(s.error||"Failed to execute AT command");return s}catch(e){if(e instanceof Error)throw Error("AT command failed: ".concat(e.message));throw Error("AT command failed with unknown error")}},L=e=>{let t=e.match(/\+QNWLOCK:\s*(.+?)\n/);return t?t[1].replace(/"/g,"").split(",").map(e=>e.trim()):null},_=async()=>{try{s(!0);let e=await fetch("/cgi-bin/fetch_data.sh?set=8"),t=await e.json();if(!e.ok)throw Error("Failed to fetch current status");console.log("Current cell locking status:",t);let a=L(t[2].response);console.log("Persist status:",a),a&&a.length>=2&&(f("1"===a[1]),j("1"===a[2]));let l=L(t[0].response);if(console.log("Current LTE lock status:",l),l){let e={EARFCN1:l[2],PCI1:l[3],EARFCN2:l[4],PCI2:l[5],EARFCN3:l[6],PCI3:l[7]};P(e),console.log("New LTE state:",e),parseInt(l[1])>0&&x(!0)}let r=L(t[1].response);if(console.log("Current NR5G lock status:",r),r&&r.length>=5){let e={NRPCI:r[1],NRARFCN:r[2],SCS:r[3],NRBAND:r[4]};S(e),console.log("New NR5G state:",e),parseInt(r[1])>0&&x(!0)}}catch(t){console.error("Error fetching current status:",t),e({title:"Error",description:"Failed to fetch current cell locking status",variant:"destructive"})}finally{s(!1)}},D=async t=>{try{if(s(!0),t&&(!y||!b))throw Error("Please set both start and end times");if(!(await fetch("/cgi-bin/cell-settings/scheduled_cell_locking.sh",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:t?"web=true&start_time=".concat(encodeURIComponent(y),"&end_time=").concat(encodeURIComponent(b)):"web=true&disable=true"})).ok)throw Error("Failed to update scheduling");A(t),e({title:"Success",description:t?"Cell locking schedule enabled":"Cell locking schedule disabled"})}catch(t){e({title:"Error",description:t instanceof Error?t.message:"Failed to update scheduling",variant:"destructive"})}finally{s(!1)}},O=async()=>{try{s(!0);let t=[];if(F.EARFCN1&&F.PCI1&&t.push([F.EARFCN1,F.PCI1]),F.EARFCN2&&F.PCI2&&t.push([F.EARFCN2,F.PCI2]),F.EARFCN3&&F.PCI3&&t.push([F.EARFCN3,F.PCI3]),0===t.length)throw Error("Please fill at least one EARFCN and PCI pair");let a='AT+QNWLOCK="common/4g",'.concat(t.length);t.forEach(e=>{let[t,s]=e;a+=",".concat(t,",").concat(s)}),await I(a),await new Promise(e=>setTimeout(e,1e3)),await I('AT+QNWLOCK="save_ctrl",1,0'),await _(),e({title:"Success",description:"LTE cells locked successfully with ".concat(t.length," pair").concat(t.length>1?"s":"")})}catch(t){s(!1),e({title:"Error",description:t instanceof Error?t.message:"Failed to lock LTE cells",variant:"destructive"})}},B=async()=>{try{if(s(!0),!T.NRPCI||!T.NRARFCN||!T.SCS||!T.NRBAND)throw Error("Please fill all NR5G fields");let t='AT+QNWLOCK="common/5g",'.concat(T.NRPCI,",").concat(T.NRARFCN,",").concat(T.SCS,",").concat(T.NRBAND);await I(t),await new Promise(e=>setTimeout(e,1e3)),await I('AT+QNWLOCK="save_ctrl",0,1'),await _(),e({title:"Success",description:"NR5G cell locked successfully"})}catch(t){s(!1),e({title:"Error",description:t instanceof Error?t.message:"Failed to lock NR5G cell",variant:"destructive"})}},G=async()=>{try{s(!0),await I('AT+QNWLOCK="common/4g",0'),await new Promise(e=>setTimeout(e,1e3)),await I('AT+QNWLOCK="save_ctrl",1,0'),await I("AT+COPS=2"),await new Promise(e=>setTimeout(e,2e3)),await I("AT+COPS=0"),await _(),e({title:"Success",description:"LTE cell locking reset to default"})}catch(t){s(!1),e({title:"Error",description:"Failed to reset LTE cell locking",variant:"destructive"})}},W=async()=>{try{s(!0),await I('AT+QNWLOCK="common/5g",0'),await I('AT+QNWLOCK="save_ctrl",0,1'),await I("AT+COPS=2"),await new Promise(e=>setTimeout(e,2e3)),await I("AT+COPS=0"),await _(),e({title:"Success",description:"NR5G cell locking reset to default"})}catch(t){s(!1),e({title:"Error",description:"Failed to reset NR5G cell locking",variant:"destructive"})}},z=async t=>{try{s(!0),await I('AT+QNWLOCK="save_ctrl",'.concat(t?"1":"0",",").concat(v?"1":"0")),await _(),e({title:"Success",description:"LTE persist on boot ".concat(t?"enabled":"disabled")}),await new Promise(e=>setTimeout(e,2e3)),window.location.reload()}catch(t){e({title:"Error",description:"Failed to update LTE persist setting",variant:"destructive"})}finally{s(!1)}},J=async t=>{try{s(!0),await I('AT+QNWLOCK="save_ctrl",'.concat(N?"1":"0",",").concat(t?"1":"0")),await _(),e({title:"Success",description:"NR5G persist on boot ".concat(t?"enabled":"disabled")}),await new Promise(e=>setTimeout(e,2e3)),window.location.reload()}catch(t){e({title:"Error",description:"Failed to update NR5G persist setting",variant:"destructive"})}finally{s(!1)}};return(0,l.useEffect)(()=>{(async()=>{try{let e=await fetch("/cgi-bin/cell-settings/scheduled_cell_locking.sh?status=true");if(e.ok){let t=await e.json();t.enabled&&(A(!0),E(t.start_time||""),k(t.end_time||""))}}catch(e){console.error("Failed to fetch schedule status:",e)}})(),_()},[]),(0,a.jsxs)("div",{className:"grid gap-6",children:[(0,a.jsxs)(r.Zp,{children:[(0,a.jsxs)(r.aR,{children:[(0,a.jsx)(r.ZB,{children:"4G LTE Cellular Locking"}),(0,a.jsx)(r.BT,{children:"Lock the device to specific LTE Physical Cell IDs."})]}),(0,a.jsx)(r.Wu,{children:(0,a.jsxs)("form",{className:"grid lg:grid-cols-2 grid-cols-1 grid-flow-row gap-6",children:[(0,a.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,a.jsx)(d.J,{htmlFor:"EARFCN1",children:"EARFCN 1"}),(0,a.jsx)(o.p,{type:"text",id:"EARFCN1",placeholder:"EARFCN 1",value:F.EARFCN1,onChange:e=>P(t=>({...t,EARFCN1:e.target.value}))})]}),(0,a.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,a.jsx)(d.J,{htmlFor:"PCI1",children:"PCI 1"}),(0,a.jsx)(o.p,{type:"text",id:"PCI1",placeholder:"PCI 1",value:F.PCI1,onChange:e=>P(t=>({...t,PCI1:e.target.value}))})]}),(0,a.jsx)(n.w,{className:"my-1 col-span-2 w-full"}),(0,a.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,a.jsx)(d.J,{htmlFor:"EARFCN2",children:"EARFCN 2"}),(0,a.jsx)(o.p,{type:"text",id:"EARFCN2",placeholder:"EARFCN 2",value:F.EARFCN2,onChange:e=>P(t=>({...t,EARFCN2:e.target.value}))})]}),(0,a.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,a.jsx)(d.J,{htmlFor:"PCI2",children:"PCI 2"}),(0,a.jsx)(o.p,{type:"text",id:"PCI2",placeholder:"PCI 2",value:F.PCI2,onChange:e=>P(t=>({...t,PCI2:e.target.value}))})]}),(0,a.jsx)(n.w,{className:"my-1 col-span-2 w-full"}),(0,a.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,a.jsx)(d.J,{htmlFor:"EARFCN3",children:"EARFCN 3"}),(0,a.jsx)(o.p,{type:"text",id:"EARFCN3",placeholder:"EARFCN 3",value:F.EARFCN3,onChange:e=>P(t=>({...t,EARFCN3:e.target.value}))})]}),(0,a.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,a.jsx)(d.J,{htmlFor:"PCI3",children:"PCI 3"}),(0,a.jsx)(o.p,{type:"text",id:"PCI3",placeholder:"PCI 3",value:F.PCI3,onChange:e=>P(t=>({...t,PCI3:e.target.value}))})]})]})}),(0,a.jsxs)(r.wL,{className:"border-t py-4 grid grid-flow-row md:grid-cols-3 grid-cols-1 gap-4",children:[(0,a.jsxs)(c.$,{onClick:O,disabled:t||R,children:[(0,a.jsx)(m.A,{className:"h-4 w-4"}),"Lock LTE Cells"]}),(0,a.jsxs)(h.l,{pressed:N,onPressedChange:z,disabled:t,children:[(0,a.jsx)(u.A,{className:"h-4 w-4 mr-2"}),"Persist on Reboot"]}),(0,a.jsxs)(c.$,{variant:"secondary",onClick:G,disabled:t||!C||R,children:[(0,a.jsx)(g.A,{className:"h-4 w-4"}),"Reset to Default"]})]})]}),(0,a.jsxs)(r.Zp,{children:[(0,a.jsxs)(r.aR,{children:[(0,a.jsx)(r.ZB,{children:"NR5G-SA Cellular Locking"}),(0,a.jsx)(r.BT,{children:"Lock the device to a specific NR5G-SA Physical Cell ID."})]}),(0,a.jsx)(r.Wu,{children:(0,a.jsxs)("form",{className:"grid lg:grid-cols-2 grid-cols-1 grid-flow-row gap-6",children:[(0,a.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,a.jsx)(d.J,{htmlFor:"NR-ARFCN",children:"NR ARFCN"}),(0,a.jsx)(o.p,{type:"text",id:"NR-ARFCN",placeholder:"NR ARFCN",value:T.NRARFCN,onChange:e=>S(t=>({...t,NRARFCN:e.target.value}))})]}),(0,a.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,a.jsx)(d.J,{htmlFor:"NR-PCI",children:"NR PCI"}),(0,a.jsx)(o.p,{type:"text",id:"NR-PCI",placeholder:"NR PCI",value:T.NRPCI,onChange:e=>S(t=>({...t,NRPCI:e.target.value}))})]}),(0,a.jsx)(n.w,{className:"my-0.5 col-span-2 w-full"}),(0,a.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,a.jsx)(d.J,{htmlFor:"SCS",children:"SCS"}),(0,a.jsxs)(i.l6,{value:T.SCS,onValueChange:e=>S(t=>({...t,SCS:e})),children:[(0,a.jsx)(i.bq,{id:"SCS",children:(0,a.jsx)(i.yv,{placeholder:"SCS"})}),(0,a.jsx)(i.gC,{children:(0,a.jsxs)(i.s3,{children:[(0,a.jsx)(i.TR,{children:"SCS"}),(0,a.jsx)(i.eb,{value:"15",children:"15 kHz"}),(0,a.jsx)(i.eb,{value:"30",children:"30 kHz"}),(0,a.jsx)(i.eb,{value:"60",children:"60 kHz"}),(0,a.jsx)(i.eb,{value:"120",children:"120 kHz"}),(0,a.jsx)(i.eb,{value:"240",children:"240 kHz"})]})})]})]}),(0,a.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,a.jsx)(d.J,{htmlFor:"NRBAND",children:"NR Band"}),(0,a.jsx)(o.p,{type:"text",id:"NRBAND",placeholder:"NR BAND",value:T.NRBAND,onChange:e=>S(t=>({...t,NRBAND:e.target.value}))})]})]})}),(0,a.jsxs)(r.wL,{className:"border-t py-4 grid grid-flow-row md:grid-cols-3 grid-cols-1 gap-4",children:[(0,a.jsxs)(c.$,{onClick:B,disabled:t||R,children:[(0,a.jsx)(m.A,{className:"h-4 w-4"}),"Lock NR5G-SA Cell"]}),(0,a.jsxs)(h.l,{pressed:v,onPressedChange:J,disabled:t,children:[(0,a.jsx)(u.A,{className:"h-4 w-4 mr-2"}),"Persist on Reboot"]}),(0,a.jsxs)(c.$,{variant:"secondary",onClick:W,disabled:t||!C||R,children:[(0,a.jsx)(g.A,{className:"h-4 w-4"}),"Reset to Default"]})]})]}),(0,a.jsx)(w,{loading:t,scheduling:R,startTime:y,endTime:b,onStartTimeChange:E,onEndTimeChange:k,onSchedulingToggle:D,locked:C})]})}},52744:(e,t,s)=>{"use strict";s.d(t,{l:()=>m});var a=s(20475),l=s(20107),r=s(94521),i=s(81255),c=s(4589),n=l.forwardRef((e,t)=>{let{pressed:s,defaultPressed:l=!1,onPressedChange:n,...o}=e,[d=!1,h]=(0,i.i)({prop:s,onChange:n,defaultProp:l});return(0,a.jsx)(c.sG.button,{type:"button","aria-pressed":d,"data-state":d?"on":"off","data-disabled":e.disabled?"":void 0,...o,ref:t,onClick:(0,r.m)(e.onClick,()=>{e.disabled||h(!d)})})});n.displayName="Toggle";var o=s(29395),d=s(22250);let h=(0,o.F)("inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground"},size:{default:"h-9 px-3",sm:"h-8 px-2",lg:"h-10 px-3"}},defaultVariants:{variant:"default",size:"default"}}),m=l.forwardRef((e,t)=>{let{className:s,variant:l,size:r,...i}=e;return(0,a.jsx)(n,{ref:t,className:(0,d.cn)(h({variant:l,size:r,className:s})),...i})});m.displayName=n.displayName},98969:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(39997).A)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},96244:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(39997).A)("Clock1",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 14.5 8",key:"12zbmj"}]])},29475:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(39997).A)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]])},97801:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(39997).A)("RefreshCcw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]])}},e=>{var t=t=>e(e.s=t);e.O(0,[9980,7780,1617,4673,5011,1457,6152,191,6035,7358],()=>t(5853)),_N_E=e.O()}]); \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/cell-settings/imei-mangling/page-f407c96af3dd91bc.js b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/cell-settings/imei-mangling/page-f407c96af3dd91bc.js new file mode 100644 index 0000000..7536069 --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/cell-settings/imei-mangling/page-f407c96af3dd91bc.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9065],{6507:(e,i,t)=>{Promise.resolve().then(t.bind(t,34268))},34268:(e,i,t)=>{"use strict";t.r(i),t.d(i,{default:()=>b});var r=t(20475),s=t(20107),a=t(72167),o=t(62108),l=t(22250);let d=o.bL,n=o.l9,c=s.forwardRef((e,i)=>{let{className:t,align:s="center",sideOffset:a=4,...d}=e;return(0,r.jsx)(o.UC,{ref:i,align:s,sideOffset:a,className:(0,l.cn)("z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...d})});c.displayName=o.UC.displayName;var f=t(12607),p=t(51873),u=t(42541),m=t(64219),h=t(49153),v=t(36760),g=t(32857),I=t(76554);let x={imei:"",iccid:""},w={profile1:{...x},profile2:{...x}},b=()=>{let[e,i]=(0,s.useState)(!0),[t,o]=(0,s.useState)(!1),[l,x]=(0,s.useState)(!1),[b,y]=(0,s.useState)(""),[E,j]=(0,s.useState)(""),[N,C]=(0,s.useState)(w),[M,S]=(0,s.useState)(w),{profiles:T,hasActiveProfile:P,updateIMEIProfile:D,deleteIMEIProfiles:A}=function(){let[e,i]=(0,s.useState)({}),[t,r]=(0,s.useState)(!0),[a,o]=(0,s.useState)(!1),l=async()=>{try{r(!0);let e=await fetch("/cgi-bin/cell-settings/imei-profiles/fetch-profile.sh",{method:"GET",headers:{"Content-Type":"application/x-www-form-urlencoded"},signal:AbortSignal.timeout(1e4)});if(!e.ok)throw Error("HTTP error! status: ".concat(e.status));let t=await e.json();i(t),(t.profile1||t.profile2)&&o(!0)}catch(e){console.error("Error fetching IMEI profiles:",e)}finally{r(!1)}};(0,s.useEffect)(()=>{l()},[]);let d=async(t,r)=>{try{var s,a,o,l;let d=new URLSearchParams;"profile1"===t?(d.append("iccidProfile1",r.iccid),d.append("imeiProfile1",r.imei)):(d.append("iccidProfile1",(null===(s=e.profile1)||void 0===s?void 0:s.iccid)||""),d.append("imeiProfile1",(null===(a=e.profile1)||void 0===a?void 0:a.imei)||"")),("profile2"===t||e.profile2)&&(d.append("iccidProfile2","profile2"===t?r.iccid:(null===(o=e.profile2)||void 0===o?void 0:o.iccid)||""),d.append("imeiProfile2","profile2"===t?r.imei:(null===(l=e.profile2)||void 0===l?void 0:l.imei)||""));let n=await fetch("/cgi-bin/cell-settings/imei-profiles/save-profile.sh",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:d.toString(),signal:AbortSignal.timeout(1e4)});if(!n.ok)throw Error("Failed to update profile");let c=await n.json();if("success"===c.status)return i(e=>({...e,[t]:r})),!0;throw Error(c.message||"Failed to update profile")}catch(e){return console.error("Error updating ".concat(t,":"),e),!1}};return{profiles:e,hasActiveProfile:a,updateIMEIProfile:d,deleteIMEIProfiles:async()=>{try{let e=await fetch("/cgi-bin/cell-settings/imei-profiles/delete-profile.sh",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},signal:AbortSignal.timeout(1e4)});if(!e.ok)throw Error("Failed to delete profiles");let t=await e.json();if("success"===t.status)return i({}),!0;throw Error(t.message||"Failed to delete profiles")}catch(e){return console.error("Error deleting IMEI profiles:",e),!1}}}}(),{toast:R}=(0,g.dj)(),_=(0,s.useCallback)(async()=>{try{i(!0);let e=await fetch("/cgi-bin/fetch_data.sh?set=3"),t=await e.json();console.log(t);let r=t[6].response.split("\n")[1];console.log(r);let s=r.match(/\d{15}/),a=s?s[0]:null;if(a)y(a),j(a);else throw Error("IMEI not found in response")}catch(e){R({title:"Failed to fetch IMEI",description:"Failed to fetch IMEI from the device",variant:"destructive"}),console.error(e)}finally{i(!1)}},[]);(0,s.useEffect)(()=>{_()},[]),(0,s.useEffect)(()=>{if(T){var e,i,t,r,s,a,o,l;S({profile1:{imei:(null===(e=T.profile1)||void 0===e?void 0:e.imei)||"",iccid:(null===(i=T.profile1)||void 0===i?void 0:i.iccid)||""},profile2:{imei:(null===(t=T.profile2)||void 0===t?void 0:t.imei)||"",iccid:(null===(r=T.profile2)||void 0===r?void 0:r.iccid)||""}}),C({profile1:{imei:(null===(s=T.profile1)||void 0===s?void 0:s.imei)||"",iccid:(null===(a=T.profile1)||void 0===a?void 0:a.iccid)||""},profile2:{imei:(null===(o=T.profile2)||void 0===o?void 0:o.imei)||"",iccid:(null===(l=T.profile2)||void 0===l?void 0:l.iccid)||""}})}},[T]);let F=async e=>{if(e.preventDefault(),i(!0),15!==E.length||isNaN(Number(E))){R({title:"Invalid IMEI",description:"IMEI must be 15 digits and numbers only",variant:"destructive"}),i(!1);return}try{let e='AT+EGMR=1,7,"'.concat(E,'";+QPOWD=1'),i=encodeURIComponent(e),t=await fetch("/cgi-bin/at_command.sh?command=".concat(i),{method:"GET",headers:{Accept:"application/json"},signal:AbortSignal.timeout(5e3)});if(console.log(t),!t.ok)throw Error("Failed to update IMEI");R({title:"Success",description:"IMEI has been updated successfully. Rebooting...",duration:9e4})}catch(e){R({title:"Failed to update IMEI",description:"Failed to update IMEI on the device",variant:"destructive"}),console.error(e)}finally{i(!1)}},O=()=>{if(!M.profile1.imei||!M.profile1.iccid)return R({variant:"destructive",title:"Invalid Profile 1",description:"Both IMEI and ICCID are required for Profile 1"}),!1;if(!/^\d{15}$/.test(M.profile1.imei))return R({variant:"destructive",title:"Invalid IMEI in Profile 1",description:"IMEI must be exactly 15 digits"}),!1;if(Object.values(M.profile2).some(e=>""!==e)){if(!M.profile2.imei||!M.profile2.iccid)return R({variant:"destructive",title:"Invalid Profile 2",description:"Both IMEI and ICCID are required if any Profile 2 field is filled"}),!1;if(!/^\d{15}$/.test(M.profile2.imei))return R({variant:"destructive",title:"Invalid IMEI in Profile 2",description:"IMEI must be exactly 15 digits"}),!1}return!0},k=async e=>{if(e.preventDefault(),O()){o(!0);try{await D("profile1",M.profile1),Object.values(M.profile2).some(e=>""!==e)&&await D("profile2",M.profile2),R({title:"Success",description:"IMEI profiles have been saved successfully. Rebooting...",duration:9e4}),setTimeout(()=>{window.location.reload()},9e4)}catch(e){R({variant:"destructive",title:"Error",description:"Failed to save IMEI profiles. Please try again."})}finally{o(!1)}}},z=async()=>{if(confirm("Are you sure you want to delete all IMEI profiles?")){x(!0);try{if(await A())S(w),R({title:"Success",description:"IMEI profiles have been deleted successfully"});else throw Error("Failed to delete profiles")}catch(e){R({variant:"destructive",title:"Error",description:"Failed to delete IMEI profiles. Please try again."})}finally{setTimeout(()=>{x(!1)},2e3)}}},B=(e,i,t)=>{S(r=>({...r,[e]:{...r[e],[i]:t}}))};return(0,r.jsxs)("div",{className:"grid gap-8",children:[(0,r.jsx)(a.Zp,{children:(0,r.jsxs)("form",{onSubmit:F,children:[(0,r.jsxs)(a.aR,{children:[(0,r.jsx)(a.ZB,{children:"IMEI Mangling"}),(0,r.jsxs)(a.BT,{className:"flex items-center justify-between",children:["Change the IMEI of the device.",(0,r.jsxs)("span",{className:"flex items-center text-orange-500",children:[(0,r.jsx)(f.A,{className:"size-4 mr-1"}),"Do at your own risk!"]})]})]}),(0,r.jsx)(a.Wu,{children:(0,r.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,r.jsx)(h.J,{htmlFor:"IMEI",children:"Change Current IMEI"}),e?(0,r.jsx)(v.E,{className:"h-8"}):(0,r.jsxs)("div",{className:"grid gap-1.5",children:[P?(0,r.jsx)("div",{className:"relative w-full",children:(0,r.jsxs)(d,{children:[(0,r.jsxs)(n,{children:[(0,r.jsx)(m.p,{className:"pr-9",placeholder:b,disabled:!0}),(0,r.jsx)(f.A,{className:"absolute right-0 top-0 m-2.5 h-4 w-4 text-muted-foreground"})]}),(0,r.jsx)(c,{className:"text-sm",children:"You cannot use this feature while IMEI profiles are active."})]})}):(0,r.jsx)(m.p,{type:"text",id:"IMEI",value:E,onChange:e=>j(e.target.value),placeholder:b}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground font-medium",children:"This will reboot the device."})]})]})}),(0,r.jsx)(a.wL,{className:"grid border-t py-4",children:(0,r.jsx)(u.$,{type:"submit",className:"w-full",disabled:e||E===b,children:e?"Processing...":"Change IMEI"})})]})}),(0,r.jsxs)(a.Zp,{children:[(0,r.jsxs)(a.aR,{children:[(0,r.jsx)(a.ZB,{children:"ICCID Based IMEI Mangling"}),(0,r.jsxs)(a.BT,{className:"flex items-center justify-between",children:["Change the IMEI of the device based on the ICCID.",(0,r.jsxs)("span",{className:"flex items-center text-orange-500",children:[(0,r.jsx)(f.A,{className:"size-4 mr-1"}),"Do at your own risk!"]})]})]}),(0,r.jsxs)("form",{onSubmit:k,children:[(0,r.jsx)(a.Wu,{children:(0,r.jsxs)("div",{className:"grid lg:grid-cols-2 grid-cols-1 grid-flow-row gap-4",children:[(0,r.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,r.jsx)(h.J,{htmlFor:"IMEI-prof1",children:"IMEI for Profile 1"}),e?(0,r.jsx)(v.E,{className:"h-8"}):(0,r.jsx)(m.p,{type:"text",id:"IMEI-prof1",placeholder:"IMEI for Profile 1",value:M.profile1.imei,onChange:e=>B("profile1","imei",e.target.value)})]}),(0,r.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,r.jsx)(h.J,{htmlFor:"ICCID-prof1",children:"ICCID for Profile 1"}),e?(0,r.jsx)(v.E,{className:"h-8"}):(0,r.jsx)(m.p,{type:"text",id:"ICCID-prof1",placeholder:"ICCID for Profile 1",value:M.profile1.iccid,onChange:e=>B("profile1","iccid",e.target.value)})]}),(0,r.jsx)(I.w,{className:"col-span-full my-2"}),(0,r.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,r.jsx)(h.J,{htmlFor:"IMEI-prof2",children:"IMEI for Profile 2"}),e?(0,r.jsx)(v.E,{className:"h-8"}):(0,r.jsx)(m.p,{type:"text",id:"IMEI-prof2",placeholder:"IMEI for Profile 2",value:M.profile2.imei,onChange:e=>B("profile2","imei",e.target.value)})]}),(0,r.jsxs)("div",{className:"grid w-full max-w-sm items-center gap-2",children:[(0,r.jsx)(h.J,{htmlFor:"ICCID-prof2",children:"ICCID for Profile 2"}),e?(0,r.jsx)(v.E,{className:"h-8"}):(0,r.jsx)(m.p,{type:"text",id:"ICCID-prof2",placeholder:"ICCID for Profile 2",value:M.profile2.iccid,onChange:e=>B("profile2","iccid",e.target.value)})]})]})}),(0,r.jsxs)(a.wL,{className:"grid grid-cols-2 grid-flow-row gap-6 border-t py-4",children:[(0,r.jsx)(u.$,{type:"submit",className:"w-full",disabled:e||t||!(M.profile1.imei!==N.profile1.imei||M.profile1.iccid!==N.profile1.iccid||M.profile2.imei!==N.profile2.imei||M.profile2.iccid!==N.profile2.iccid),children:t?"Saving...":"Save IMEI Profiles"}),(0,r.jsxs)(u.$,{type:"button",variant:"secondary",className:"w-full",onClick:z,disabled:e||l,children:[(0,r.jsx)(p.A,{className:"h-4 w-4"}),l?"Deleting...":"Delete All Profiles"]})]})]})]})]})}},42541:(e,i,t)=>{"use strict";t.d(i,{$:()=>n,r:()=>d});var r=t(20475),s=t(20107),a=t(61837),o=t(29395),l=t(22250);let d=(0,o.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),n=s.forwardRef((e,i)=>{let{className:t,variant:s,size:o,asChild:n=!1,...c}=e,f=n?a.DX:"button";return(0,r.jsx)(f,{className:(0,l.cn)(d({variant:s,size:o,className:t})),ref:i,...c})});n.displayName="Button"},72167:(e,i,t)=>{"use strict";t.d(i,{BT:()=>n,Wu:()=>c,ZB:()=>d,Zp:()=>o,aR:()=>l,wL:()=>f});var r=t(20475),s=t(20107),a=t(22250);let o=s.forwardRef((e,i)=>{let{className:t,...s}=e;return(0,r.jsx)("div",{ref:i,className:(0,a.cn)("rounded-xl border bg-card text-card-foreground shadow",t),...s})});o.displayName="Card";let l=s.forwardRef((e,i)=>{let{className:t,...s}=e;return(0,r.jsx)("div",{ref:i,className:(0,a.cn)("flex flex-col space-y-1.5 p-6",t),...s})});l.displayName="CardHeader";let d=s.forwardRef((e,i)=>{let{className:t,...s}=e;return(0,r.jsx)("h3",{ref:i,className:(0,a.cn)("font-semibold leading-none tracking-tight",t),...s})});d.displayName="CardTitle";let n=s.forwardRef((e,i)=>{let{className:t,...s}=e;return(0,r.jsx)("p",{ref:i,className:(0,a.cn)("text-sm text-muted-foreground",t),...s})});n.displayName="CardDescription";let c=s.forwardRef((e,i)=>{let{className:t,...s}=e;return(0,r.jsx)("div",{ref:i,className:(0,a.cn)("p-6 pt-0",t),...s})});c.displayName="CardContent";let f=s.forwardRef((e,i)=>{let{className:t,...s}=e;return(0,r.jsx)("div",{ref:i,className:(0,a.cn)("flex items-center p-6 pt-0",t),...s})});f.displayName="CardFooter"},64219:(e,i,t)=>{"use strict";t.d(i,{p:()=>o});var r=t(20475),s=t(20107),a=t(22250);let o=s.forwardRef((e,i)=>{let{className:t,type:s,...o}=e;return(0,r.jsx)("input",{type:s,className:(0,a.cn)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",t),ref:i,...o})});o.displayName="Input"},49153:(e,i,t)=>{"use strict";t.d(i,{J:()=>n});var r=t(20475),s=t(20107),a=t(73725),o=t(29395),l=t(22250);let d=(0,o.F)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),n=s.forwardRef((e,i)=>{let{className:t,...s}=e;return(0,r.jsx)(a.b,{ref:i,className:(0,l.cn)(d(),t),...s})});n.displayName=a.b.displayName},76554:(e,i,t)=>{"use strict";t.d(i,{w:()=>l});var r=t(20475),s=t(20107),a=t(55809),o=t(22250);let l=s.forwardRef((e,i)=>{let{className:t,orientation:s="horizontal",decorative:l=!0,...d}=e;return(0,r.jsx)(a.b,{ref:i,decorative:l,orientation:s,className:(0,o.cn)("shrink-0 bg-border","horizontal"===s?"h-[1px] w-full":"h-full w-[1px]",t),...d})});l.displayName=a.b.displayName},36760:(e,i,t)=>{"use strict";t.d(i,{E:()=>a});var r=t(20475),s=t(22250);function a(e){let{className:i,...t}=e;return(0,r.jsx)("div",{className:(0,s.cn)("animate-pulse rounded-md bg-primary/10",i),...t})}},32857:(e,i,t)=>{"use strict";t.d(i,{dj:()=>p,oR:()=>f});var r=t(20107);let s=0,a=new Map,o=e=>{if(a.has(e))return;let i=setTimeout(()=>{a.delete(e),c({type:"REMOVE_TOAST",toastId:e})},1e6);a.set(e,i)},l=(e,i)=>{switch(i.type){case"ADD_TOAST":return{...e,toasts:[i.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===i.toast.id?{...e,...i.toast}:e)};case"DISMISS_TOAST":{let{toastId:t}=i;return t?o(t):e.toasts.forEach(e=>{o(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===t||void 0===t?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===i.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==i.toastId)}}},d=[],n={toasts:[]};function c(e){n=l(n,e),d.forEach(e=>{e(n)})}function f(e){let{...i}=e,t=(s=(s+1)%Number.MAX_SAFE_INTEGER).toString(),r=()=>c({type:"DISMISS_TOAST",toastId:t});return c({type:"ADD_TOAST",toast:{...i,id:t,open:!0,onOpenChange:e=>{e||r()}}}),{id:t,dismiss:r,update:e=>c({type:"UPDATE_TOAST",toast:{...e,id:t}})}}function p(){let[e,i]=r.useState(n);return r.useEffect(()=>(d.push(i),()=>{let e=d.indexOf(i);e>-1&&d.splice(e,1)}),[e]),{...e,toast:f,dismiss:e=>c({type:"DISMISS_TOAST",toastId:e})}}},22250:(e,i,t)=>{"use strict";t.d(i,{cn:()=>a});var r=t(64901),s=t(868);function a(){for(var e=arguments.length,i=Array(e),t=0;t{var i=i=>e(e.s=i);e.O(0,[7780,1617,4673,3210,191,6035,7358],()=>i(6507)),_N_E=e.O()}]); \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/experimental/cell-scanner/page-6a0663eb16b05635.js b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/experimental/cell-scanner/page-6a0663eb16b05635.js new file mode 100644 index 0000000..01afeff --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/experimental/cell-scanner/page-6a0663eb16b05635.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5014],{41126:(e,t,s)=>{Promise.resolve().then(s.bind(s,6982))},6982:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>N});var a=s(20475),r=s(20107),n=s(72167),l=s(51303),c=s(85014),i=s(42541),d=s(93069),o=s(22250);let u=r.forwardRef((e,t)=>{let{className:s,value:r,...n}=e;return(0,a.jsx)(d.bL,{ref:t,className:(0,o.cn)("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",s),...n,children:(0,a.jsx)(d.C1,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:"translateX(-".concat(100-(r||0),"%)")}})})});u.displayName=d.bL.displayName;var m=s(59166),x=s(27720),f=s(91994),p=s(76076),h=s(51873),g=s(45934),j=s(38741),b=s(36824),v=s(32857);let N=()=>{let{toast:e}=(0,v.dj)(),[t,s]=(0,r.useState)(null),[d,o]=(0,r.useState)(null),[N,y]=(0,r.useState)(0),[w,C]=(0,r.useState)(!1),[S,T]=(0,r.useState)(null),[k,A]=(0,r.useState)([]),[R,I]=(0,r.useState)({status:"idle",progress:0,message:""});(0,r.useEffect)(()=>{if(!d){y(0);return}let e=()=>{let t=new Date(d).getTime(),s=Math.max(0,3e4-(new Date().getTime()-t));y(s),s>0&&requestAnimationFrame(e)};e()},[d]);let _=(0,r.useCallback)(async()=>{try{let e=await fetch("/cgi-bin/experimental/cell_scanner/fetch_mccmnc.sh"),t=await e.json();A(t)}catch(t){console.error("Failed to fetch MCC-MNC list:",t),e({title:"Warning",description:"Failed to load operator information",variant:"destructive"})}},[]);(0,r.useEffect)(()=>{_()},[_]);let E=(0,r.useCallback)(async()=>{try{let e=await fetch("/cgi-bin/experimental/quecwatch/quecwatch-fetch.sh"),t=await e.json();T(t)}catch(t){console.error("Failed to fetch Quecwatch status:",t),e({title:"Error",description:"Failed to check Quecwatch status",variant:"destructive"})}},[]),F=(0,r.useCallback)((e,t)=>k.find(s=>s.mcc===e&&s.mnc===t)||null,[k]),O=(0,r.useCallback)(e=>e.split("\n").filter(e=>e.trim().startsWith("+QSCAN:")).map(e=>{let[t,s,a,r,n,l,c,i,...d]=e.substring(e.indexOf(":")+1).split(",").map(e=>e.trim().replace(/["\r]/g,"")),o={type:t.trim(),mcc:s,mnc:a,freq:parseInt(r),pci:parseInt(n),rsrp:parseInt(l),rsrq:parseInt(c),srxlev:parseInt(i)};if("LTE"===t.trim()){let[e,t,s,a,r]=d;return{...o,type:"LTE",squal:parseInt(e),cellId:t,tac:s,bandwidth:parseInt(a),band:parseInt(r)}}{let[e,t,s,a,r,n,l,c]=d;return{...o,type:"NR5G",scs:parseInt(e),cellId:t,tac:s,carrierBandwidth:parseInt(a),band:parseInt(r),offsetToPointA:parseInt(n),ssbSubcarrierOffset:parseInt(l),ssbScs:parseInt(c)}}}),[]),D=(0,r.useCallback)(async()=>{try{let e=await fetch("/cgi-bin/experimental/cell_scanner/check_scan.sh"),t=await e.json();"success"===t.status&&t.output?(s(t),o(t.timestamp||null),I({status:"idle",progress:100,message:""})):"running"===t.status&&(I({status:"scanning",progress:50,message:"Scan in progress..."}),setTimeout(D,2e3))}catch(t){console.error("Failed to check scan status",t),e({title:"Error",description:"Failed to check scan status",variant:"destructive"})}},[]),M=(0,r.useCallback)(async()=>{if("scanning"!==R.status&&!w){C(!0),I({status:"scanning",progress:0,message:"Initiating scan..."}),s(null),o(null);try{let e=await fetch("/cgi-bin/experimental/cell_scanner/cell_scan.sh"),t=await e.json();if("running"===t.status)I({status:"scanning",progress:10,message:"Scan started..."}),setTimeout(D,2e3);else throw Error(t.message||"Failed to start scan")}catch(t){e({title:"Error",description:"Failed to start cell scan",variant:"destructive"}),I({status:"idle",progress:0,message:""})}finally{C(!1)}}},[R.status,w,D]),P=(0,r.useCallback)(e=>e.reduce((e,t)=>{let s="".concat(t.mcc).concat(t.mnc);if(!e[s]){let a=F(t.mcc,t.mnc);e[s]={cells:[],operatorInfo:a}}return e[s].cells.push(t),e},{}),[F]),B=(0,r.useCallback)(e=>[...e].sort((e,t)=>e.type!==t.type?"LTE"===e.type?-1:1:t.rsrp-e.rsrp),[]),L=(0,r.useCallback)(e=>e>=-65?(0,a.jsx)(j.z_q,{className:"text-xl"}):e>=-75?(0,a.jsx)(j.sRp,{className:"text-xl"}):e>=-85?(0,a.jsx)(j.ztD,{className:"text-xl"}):e>=-95?(0,a.jsx)(j.G7Q,{className:"text-xl"}):(0,a.jsx)(j.NJ4,{className:"text-xl"}),[]);(0,r.useEffect)(()=>{D(),E()},[D,E]);let q=(0,r.useCallback)(()=>{s(null),o(null),I({status:"idle",progress:0,message:""})},[]),$=(0,r.useCallback)(()=>{if(!(null==t?void 0:t.output))return;let e=new Blob([["Type,MCC,MNC,Frequency,PCI,RSRP,RSRQ,Band,Cell ID,TAC",...O(t.output).map(e=>"".concat(e.type,",").concat(e.mcc,",").concat(e.mnc,",").concat(e.freq,",").concat(e.pci,",").concat(e.rsrp,",").concat(e.rsrq,",").concat(e.band,",").concat(e.cellId,",").concat(e.tac))].join("\n")],{type:"text/csv;charset=utf-8;"}),s=document.createElement("a");s.href=URL.createObjectURL(e),s.setAttribute("download","cell_scan_".concat(new Date().toISOString(),".csv")),document.body.appendChild(s),s.click(),document.body.removeChild(s)},[t,O]),z=(0,r.useCallback)((e,t,s)=>s?"".concat(e).concat(t," - ").concat(s.brand," by ").concat(s.operator):"".concat(e).concat(t),[]),Z=(null==t?void 0:t.status)==="success"&&t.output?P(O(t.output)):{};return(0,a.jsx)("div",{className:"grid gap-5",children:(0,a.jsxs)(n.Zp,{children:[(0,a.jsxs)(n.aR,{children:[(0,a.jsx)(n.ZB,{children:"Full Network Cell Scan"}),(0,a.jsxs)(n.BT,{children:["Scan all available network cells, including those from other network providers.",d&&(0,a.jsxs)("div",{className:"mt-1 text-sm text-muted-foreground",children:["Last scan: ",d]})]})]}),(0,a.jsx)(n.Wu,{children:(0,a.jsxs)(b.F,{className:"h-96",children:[!t&&"idle"===R.status&&(0,a.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,a.jsx)("p",{className:"text-gray-500 text-center",children:"Click the button below to start scanning the network..."})}),"scanning"===R.status&&(0,a.jsxs)("div",{className:"flex flex-col space-y-2 items-center justify-center h-full w-full",children:[(0,a.jsx)(u,{value:R.progress,className:"w-full"}),(0,a.jsx)("div",{className:"flex items-center justify-center",children:(0,a.jsx)("p",{className:"text-sm text-gray-500 text-center",children:R.message})})]}),(0,a.jsx)("div",{className:"grid gap-4",children:Object.entries(Z).map(e=>{let[t,{cells:s,operatorInfo:r}]=e;return(0,a.jsxs)(n.Zp,{className:"p-4 grid gap-2",children:[(0,a.jsx)("div",{children:(0,a.jsx)(g.E,{children:z(s[0].mcc,s[0].mnc,r)})}),(0,a.jsxs)(l.XI,{children:[(0,a.jsx)(l.A0,{children:(0,a.jsxs)(l.Hj,{children:[(0,a.jsx)(l.nd,{children:"Type"}),(0,a.jsx)(l.nd,{children:"E/ARFCN"}),(0,a.jsx)(l.nd,{children:"PCI"}),(0,a.jsx)(l.nd,{children:"Band"}),(0,a.jsx)(l.nd,{children:"Cell ID"}),(0,a.jsx)(l.nd,{children:"TAC"}),(0,a.jsx)(l.nd,{children:"Signal"})]})}),(0,a.jsx)(l.BF,{children:B(s).map((e,t)=>(0,a.jsxs)(l.Hj,{children:[(0,a.jsx)(l.nA,{children:e.type}),(0,a.jsx)(l.nA,{children:e.freq}),(0,a.jsx)(l.nA,{children:e.pci}),(0,a.jsx)(l.nA,{children:e.band}),(0,a.jsx)(l.nA,{children:e.cellId}),(0,a.jsx)(l.nA,{children:e.tac}),(0,a.jsx)(l.nA,{children:(0,a.jsx)(c.TooltipProvider,{children:(0,a.jsxs)(c.m_,{children:[(0,a.jsx)(c.k$,{children:L(e.rsrp)}),(0,a.jsx)(c.ZI,{children:(0,a.jsxs)("div",{className:"grid gap-1",children:[(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-1",children:["RSRP"," ",(0,a.jsxs)("span",{className:"font-medium",children:[e.rsrp," dBm"]})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-1",children:["RSRQ"," ",(0,a.jsxs)("span",{className:"font-medium",children:[e.rsrq," dB"]})]})]})})]})})})]},"".concat(e.cellId,"-").concat(t)))})]})]},t)})})]})}),(0,a.jsx)(n.wL,{className:"border-t py-4",children:(0,a.jsxs)("div",{className:"flex items-center space-x-4",children:[(null==S?void 0:S.status)==="active"?(0,a.jsx)(c.TooltipProvider,{children:(0,a.jsxs)(c.m_,{children:[(0,a.jsx)(c.k$,{children:(0,a.jsx)(i.$,{disabled:!0,children:"scanning"===R.status?(0,a.jsxs)("div",{className:"flex items-center gap-x-2",children:[(0,a.jsx)(m.A,{className:"animate-spin w-4 h-4"}),(0,a.jsx)("span",{children:"Scanning Network..."})]}):t?(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)(f.A,{className:"w-4 h-4"}),(0,a.jsx)("span",{children:"Run Cell Scan Again"})]}):(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)(x.A,{className:"w-4 h-4"}),(0,a.jsx)("span",{children:"Start Cell Scan"})]})})}),(0,a.jsx)(c.ZI,{children:"Please disable Quecwatch first before proceeding."})]})}):(0,a.jsx)(c.TooltipProvider,{children:(0,a.jsxs)(c.m_,{children:[(0,a.jsx)(c.k$,{children:(0,a.jsx)(i.$,{onClick:M,disabled:"scanning"===R.status||w||N>0,children:"scanning"===R.status?(0,a.jsxs)("div",{className:"flex items-center gap-x-2",children:[(0,a.jsx)(m.A,{className:"animate-spin w-4 h-4"}),(0,a.jsx)("span",{children:"Scanning Network..."})]}):t?(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)(f.A,{className:"w-4 h-4"}),(0,a.jsx)("span",{children:"Run Cell Scan Again"})]}):(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)(x.A,{className:"w-4 h-4"}),(0,a.jsx)("span",{children:"Start Cell Scan"})]})})}),(0,a.jsx)(c.ZI,{children:N>0?(0,a.jsxs)("span",{children:["Please wait ",Math.ceil(N/1e3)," ","seconds before scanning again"]}):(0,a.jsx)("span",{children:"Start a new network scan"})})]})}),(null==t?void 0:t.status)==="success"&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(i.$,{variant:"secondary",onClick:$,disabled:"scanning"===R.status,children:[(0,a.jsx)(p.A,{className:"w-4 h-4 mr-2"}),"Export to CSV"]}),(0,a.jsxs)(i.$,{variant:"destructive",onClick:q,disabled:"scanning"===R.status,children:[(0,a.jsx)(h.A,{className:"w-4 h-4 mr-2"}),"Clear Results"]})]})]})})]})})}},45934:(e,t,s)=>{"use strict";s.d(t,{E:()=>c});var a=s(20475);s(20107);var r=s(29395),n=s(22250);let l=(0,r.F)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function c(e){let{className:t,variant:s,...r}=e;return(0,a.jsx)("div",{className:(0,n.cn)(l({variant:s}),t),...r})}},42541:(e,t,s)=>{"use strict";s.d(t,{$:()=>d,r:()=>i});var a=s(20475),r=s(20107),n=s(61837),l=s(29395),c=s(22250);let i=(0,l.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),d=r.forwardRef((e,t)=>{let{className:s,variant:r,size:l,asChild:d=!1,...o}=e,u=d?n.DX:"button";return(0,a.jsx)(u,{className:(0,c.cn)(i({variant:r,size:l,className:s})),ref:t,...o})});d.displayName="Button"},72167:(e,t,s)=>{"use strict";s.d(t,{BT:()=>d,Wu:()=>o,ZB:()=>i,Zp:()=>l,aR:()=>c,wL:()=>u});var a=s(20475),r=s(20107),n=s(22250);let l=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)("div",{ref:t,className:(0,n.cn)("rounded-xl border bg-card text-card-foreground shadow",s),...r})});l.displayName="Card";let c=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)("div",{ref:t,className:(0,n.cn)("flex flex-col space-y-1.5 p-6",s),...r})});c.displayName="CardHeader";let i=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)("h3",{ref:t,className:(0,n.cn)("font-semibold leading-none tracking-tight",s),...r})});i.displayName="CardTitle";let d=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)("p",{ref:t,className:(0,n.cn)("text-sm text-muted-foreground",s),...r})});d.displayName="CardDescription";let o=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)("div",{ref:t,className:(0,n.cn)("p-6 pt-0",s),...r})});o.displayName="CardContent";let u=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)("div",{ref:t,className:(0,n.cn)("flex items-center p-6 pt-0",s),...r})});u.displayName="CardFooter"},36824:(e,t,s)=>{"use strict";s.d(t,{$:()=>i,F:()=>c});var a=s(20475),r=s(20107),n=s(34568),l=s(22250);let c=r.forwardRef((e,t)=>{let{className:s,children:r,...c}=e;return(0,a.jsxs)(n.bL,{ref:t,className:(0,l.cn)("relative overflow-hidden",s),...c,children:[(0,a.jsx)(n.LM,{className:"h-full w-full rounded-[inherit]",children:r}),(0,a.jsx)(i,{}),(0,a.jsx)(n.OK,{})]})});c.displayName=n.bL.displayName;let i=r.forwardRef((e,t)=>{let{className:s,orientation:r="vertical",...c}=e;return(0,a.jsx)(n.VM,{ref:t,orientation:r,className:(0,l.cn)("flex touch-none select-none transition-colors","vertical"===r&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===r&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",s),...c,children:(0,a.jsx)(n.lr,{className:"relative flex-1 rounded-full bg-border"})})});i.displayName=n.VM.displayName},51303:(e,t,s)=>{"use strict";s.d(t,{A0:()=>c,BF:()=>i,Hj:()=>d,XI:()=>l,nA:()=>u,nd:()=>o,r6:()=>m});var a=s(20475),r=s(20107),n=s(22250);let l=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)("div",{className:"relative w-full overflow-auto",children:(0,a.jsx)("table",{ref:t,className:(0,n.cn)("w-full caption-bottom text-sm",s),...r})})});l.displayName="Table";let c=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)("thead",{ref:t,className:(0,n.cn)("[&_tr]:border-b",s),...r})});c.displayName="TableHeader";let i=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)("tbody",{ref:t,className:(0,n.cn)("[&_tr:last-child]:border-0",s),...r})});i.displayName="TableBody",r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)("tfoot",{ref:t,className:(0,n.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",s),...r})}).displayName="TableFooter";let d=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)("tr",{ref:t,className:(0,n.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",s),...r})});d.displayName="TableRow";let o=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)("th",{ref:t,className:(0,n.cn)("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",s),...r})});o.displayName="TableHead";let u=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)("td",{ref:t,className:(0,n.cn)("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",s),...r})});u.displayName="TableCell";let m=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)("caption",{ref:t,className:(0,n.cn)("mt-4 text-sm text-muted-foreground",s),...r})});m.displayName="TableCaption"},85014:(e,t,s)=>{"use strict";s.d(t,{TooltipProvider:()=>c,ZI:()=>o,k$:()=>d,m_:()=>i});var a=s(20475),r=s(20107),n=s(84623),l=s(22250);let c=n.Kq,i=n.bL,d=n.l9,o=r.forwardRef((e,t)=>{let{className:s,sideOffset:r=4,...c}=e;return(0,a.jsx)(n.UC,{ref:t,sideOffset:r,className:(0,l.cn)("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",s),...c})});o.displayName=n.UC.displayName},32857:(e,t,s)=>{"use strict";s.d(t,{dj:()=>m,oR:()=>u});var a=s(20107);let r=0,n=new Map,l=e=>{if(n.has(e))return;let t=setTimeout(()=>{n.delete(e),o({type:"REMOVE_TOAST",toastId:e})},1e6);n.set(e,t)},c=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:s}=t;return s?l(s):e.toasts.forEach(e=>{l(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===s||void 0===s?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},i=[],d={toasts:[]};function o(e){d=c(d,e),i.forEach(e=>{e(d)})}function u(e){let{...t}=e,s=(r=(r+1)%Number.MAX_SAFE_INTEGER).toString(),a=()=>o({type:"DISMISS_TOAST",toastId:s});return o({type:"ADD_TOAST",toast:{...t,id:s,open:!0,onOpenChange:e=>{e||a()}}}),{id:s,dismiss:a,update:e=>o({type:"UPDATE_TOAST",toast:{...e,id:s}})}}function m(){let[e,t]=a.useState(d);return a.useEffect(()=>(i.push(t),()=>{let e=i.indexOf(t);e>-1&&i.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>o({type:"DISMISS_TOAST",toastId:e})}}},22250:(e,t,s)=>{"use strict";s.d(t,{cn:()=>n});var a=s(64901),r=s(868);function n(){for(var e=arguments.length,t=Array(e),s=0;s{var t=t=>e(e.s=t);e.O(0,[2101,7780,1617,4673,4568,4623,3742,191,6035,7358],()=>t(41126)),_N_E=e.O()}]); \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/experimental/quecwatch/page-3aa7d2e3f03362a4.js b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/experimental/quecwatch/page-3aa7d2e3f03362a4.js new file mode 100644 index 0000000..b71cba9 --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/experimental/quecwatch/page-3aa7d2e3f03362a4.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6010],{30076:(e,t,r)=>{Promise.resolve().then(r.bind(r,84902))},84902:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>f});var a=r(20475),s=r(20107),i=r(72167),n=r(35601),l=r(42541),o=r(22631),d=r(49153),c=r(64219),u=r(39997);let p=(0,u.A)("ShieldX",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m14.5 9.5-5 5",key:"17q4r4"}],["path",{d:"m9.5 9.5 5 5",key:"18nt4w"}]]),h=(0,u.A)("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var m=r(32857);let f=()=>{let{toast:e}=(0,m.dj)(),[t,r]=(0,s.useState)({pingTarget:"",pingInterval:30,pingFailures:3,maxRetries:5,connectionRefresh:!1,autoSimFailover:!1,simFailoverSchedule:30}),[u,f]=(0,s.useState)("loading"),[g,x]=(0,s.useState)(!1),[v,b]=(0,s.useState)(null),[w,j]=(0,s.useState)(null),y=async()=>{try{let t=await fetch("/cgi-bin/experimental/quecwatch/quecwatch-fetch.sh",{method:"GET",headers:{"Content-Type":"application/json"}});if(!t.ok)throw Error("Network response was not ok");let a=await t.json();switch(a.status){case"active":if(a.config){let t={pingTarget:a.config.pingTarget,pingInterval:a.config.pingInterval,pingFailures:a.config.pingFailures,maxRetries:a.config.maxRetries,connectionRefresh:!0===a.config.connectionRefresh,autoSimFailover:!0===a.config.autoSimFailover,simFailoverSchedule:a.config.simFailoverSchedule||30,currentRetries:a.config.currentRetries,refreshCount:a.config.refreshCount};r(t),void 0!==t.currentRetries&&t.currentRetries>=t.maxRetries?(f("inactive"),e({title:"QuecWatch Stopped",description:"Maximum retries exhausted",variant:"destructive"})):f("active"),j(a.lastActivity||null)}break;case"inactive":f("inactive");break;default:f("error"),b(a.message||"Unknown error occurred"),e({title:"Error",description:"Failed to fetch quecwatch configuration",variant:"destructive"})}}catch(t){f("error"),b(t instanceof Error?t.message:"An unknown error occurred"),e({title:"Error",description:"Failed to fetch quecwatch configuration",variant:"destructive"})}};(0,s.useEffect)(()=>{y()},[]),(0,s.useEffect)(()=>{if("active"===u){let e=setInterval(y,5e3);return()=>clearInterval(e)}},[u]);let N=async()=>{x(!0),b(null);try{let r=new URLSearchParams;r.append("action","enable"),r.append("ping_target",t.pingTarget),r.append("ping_interval",t.pingInterval.toString()),r.append("ping_failures",t.pingFailures.toString()),r.append("max_retries",t.maxRetries.toString()),r.append("connection_refresh",t.connectionRefresh.toString()),r.append("auto_sim_failover",t.autoSimFailover.toString()),r.append("sim_failover_schedule",t.simFailoverSchedule.toString());let a=await fetch("/cgi-bin/experimental/quecwatch/enable-quecwatch.sh",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:r});if(!a.ok)throw Error("Network response was not ok");let s=await a.json();if("success"===s.status)f("active"),e({title:"QuecWatch Enabled",description:"Quecwatch enabled successfully"}),await y();else throw Error(s.message)}catch(e){f("error"),b(e instanceof Error?e.message:"An unknown error occurred")}finally{x(!1)}},S=async()=>{x(!0),b(null);try{let t=new URLSearchParams;t.append("action","disable");let a=await fetch("/cgi-bin/experimental/quecwatch/disable-quecwatch.sh",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:t});if(!a.ok)throw Error("Network response was not ok");let s=await a.json();if("success"===s.status)f("inactive"),r({pingTarget:"",pingInterval:30,pingFailures:3,maxRetries:5,connectionRefresh:!1,autoSimFailover:!1,simFailoverSchedule:30}),e({title:"QuecWatch Disabled",description:"Quecwatch disabled successfully",variant:"default"});else throw Error(s.message)}catch(t){f("error"),b(t instanceof Error?t.message:"An unknown error occurred"),e({title:"Error",description:"Failed to disable QuecWatch",variant:"destructive"})}finally{x(!1)}};return(0,a.jsxs)(i.Zp,{children:[(0,a.jsxs)(i.aR,{children:[(0,a.jsx)(i.ZB,{children:"QuecWatch"}),(0,a.jsx)(i.BT,{children:"A watchdog feature catered for Quectel-AP modems"})]}),(0,a.jsx)(i.Wu,{children:(0,a.jsxs)("div",{className:"grid gap-8",children:[(0,a.jsxs)("div",{className:"grid gap-2",children:[(0,a.jsxs)("div",{className:"flex justify-between items-center gap-x-4 rounded-lg border p-4",children:[(0,a.jsx)(d.J,{children:"QuecWatch Status"}),(0,a.jsx)("div",{className:"flex items-center space-x-1",children:"inactive"===u?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p,{className:"text-rose-500 size-4"}),(0,a.jsx)("p",{className:"text-muted-foreground text-sm",children:void 0!==t.currentRetries&&t.currentRetries>=t.maxRetries?"Max Retries Exhausted":"Inactive"})]}):"active"===u?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h,{className:"text-green-500 size-4"}),(0,a.jsx)("p",{className:"text-muted-foreground text-sm",children:"Active"})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p,{className:"text-amber-500 size-4"}),(0,a.jsx)("p",{className:"text-muted-foreground text-sm",children:"Error"})]})})]}),(0,a.jsxs)("div",{className:"flex justify-between items-center gap-x-4 rounded-lg border p-4",children:[(0,a.jsx)(d.J,{children:"Remaining Retries"}),(0,a.jsxs)("p",{className:"text-muted-foreground text-sm",children:[t.currentRetries," / ",t.maxRetries]})]})]}),(0,a.jsxs)("div",{className:"grid grid-flow-row lg:grid-cols-2 grid-cols-1 gap-4",children:[(0,a.jsxs)("div",{className:"grid w-full items-center gap-1.5",children:[(0,a.jsx)(d.J,{htmlFor:"ping",children:"Ping Target"}),(0,a.jsx)(c.p,{id:"ping",placeholder:"8.8.8.8",value:t.pingTarget,disabled:"active"===u,readOnly:"active"===u,onChange:e=>r(t=>({...t,pingTarget:e.target.value}))})]}),(0,a.jsxs)("div",{className:"grid w-full items-center gap-1.5",children:[(0,a.jsx)(d.J,{htmlFor:"ping-interval",children:"Ping Interval"}),(0,a.jsxs)(n.l6,{value:t.pingInterval.toString(),disabled:"active"===u,onValueChange:e=>r(t=>({...t,pingInterval:parseInt(e)})),children:[(0,a.jsx)(n.bq,{id:"ping-interval",children:(0,a.jsx)(n.yv,{placeholder:"Select Ping Interval"})}),(0,a.jsx)(n.gC,{children:[1,3,5,10,15,30,60].map(e=>(0,a.jsxs)(n.eb,{value:e.toString(),children:[e," second",1!==e?"s":""]},e))})]})]}),(0,a.jsxs)("div",{className:"grid w-full items-center gap-1.5",children:[(0,a.jsx)(d.J,{htmlFor:"ping-failure",children:"Ping Failures"}),(0,a.jsxs)(n.l6,{value:t.pingFailures.toString(),disabled:"active"===u,onValueChange:e=>r(t=>({...t,pingFailures:parseInt(e)})),children:[(0,a.jsx)(n.bq,{id:"ping-failure",children:(0,a.jsx)(n.yv,{placeholder:"Select Ping Failures"})}),(0,a.jsx)(n.gC,{children:[1,3,5,10].map(e=>(0,a.jsxs)(n.eb,{value:e.toString(),children:[e," failure",1!==e?"s":""]},e))})]})]}),(0,a.jsxs)("div",{className:"grid w-full items-center gap-1.5",children:[(0,a.jsx)(d.J,{htmlFor:"max-retries",children:"Max Retries"}),(0,a.jsxs)(n.l6,{value:t.maxRetries.toString(),disabled:"active"===u,onValueChange:e=>r(t=>({...t,maxRetries:parseInt(e)})),children:[(0,a.jsx)(n.bq,{id:"max-retries",children:(0,a.jsx)(n.yv,{placeholder:"Select Max Retries"})}),(0,a.jsx)(n.gC,{children:[1,3,5,10].map(e=>(0,a.jsx)(n.eb,{value:e.toString(),children:e},e))})]})]})]}),(0,a.jsxs)("div",{className:"flex flex-row items-center justify-between rounded-lg border p-4",children:[(0,a.jsxs)("div",{className:"space-y-0.5 grid",children:[(0,a.jsx)(d.J,{className:"text-base",children:"Connection Refresh"}),(0,a.jsx)(d.J,{className:"text-sm font-normal text-muted-foreground",children:"Toggle the connection refresh for the modem to first attempt reconnecting to the network before restarting."})]}),(0,a.jsx)(o.d,{checked:t.connectionRefresh,disabled:"active"===u,onCheckedChange:e=>r(t=>({...t,connectionRefresh:e}))})]}),(0,a.jsxs)("div",{className:" rounded-lg border p-4 grid gap-y-6",children:[(0,a.jsxs)("div",{className:"flex flex-row items-center justify-between",children:[(0,a.jsxs)("div",{className:"space-y-0.5 grid",children:[(0,a.jsx)(d.J,{className:"text-base",children:"Auto SIM Failover"}),(0,a.jsx)(d.J,{className:"text-sm font-normal text-muted-foreground",children:"Auto SIM Failover will automatically switch to the next available SIM card when the current SIM card fails to connect to the network."})]}),(0,a.jsx)(o.d,{checked:t.autoSimFailover,disabled:"active"===u,onCheckedChange:e=>r(t=>({...t,autoSimFailover:e}))})]}),(0,a.jsxs)("div",{className:"grid w-full items-center gap-1.5",children:[(0,a.jsx)(d.J,{htmlFor:"sim-failover",children:"Schedule SIM Checking"}),(0,a.jsxs)(n.l6,{value:t.simFailoverSchedule.toString(),disabled:"active"===u,onValueChange:e=>r(t=>({...t,simFailoverSchedule:parseInt(e)})),children:[(0,a.jsx)(n.bq,{id:"sim-failover",className:"max-w-xs",children:(0,a.jsx)(n.yv,{placeholder:"Select SIM Checking Interval"})}),(0,a.jsxs)(n.gC,{children:[(0,a.jsx)(n.eb,{value:"1",children:"1 Minute"}),(0,a.jsx)(n.eb,{value:"5",children:"5 Minutes"}),(0,a.jsx)(n.eb,{value:"30",children:"30 Minutes"}),(0,a.jsx)(n.eb,{value:"60",children:"1 Hour"}),(0,a.jsx)(n.eb,{value:"360",children:"6 Hours"}),(0,a.jsx)(n.eb,{value:"720",children:"12 Hours"}),(0,a.jsx)(n.eb,{value:"1440",children:"24 Hours"})]})]})]})]}),(0,a.jsxs)("div",{className:"rounded-lg border p-4",children:[(0,a.jsx)(d.J,{className:"text-base",children:"Last Activity"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground mt-2",children:w})]}),v&&(0,a.jsx)("div",{className:"text-red-500 text-sm",children:v})]})}),(0,a.jsxs)(i.wL,{className:"flex gap-4",children:[(0,a.jsx)(l.$,{onClick:N,disabled:g||!t.pingTarget||"active"===u,children:g?"Enabling...":"Enable QuecWatch"}),"active"===u&&(0,a.jsx)(l.$,{variant:"destructive",onClick:S,disabled:g,children:g?"Disabling...":"Disable QuecWatch"})]})]})}},42541:(e,t,r)=>{"use strict";r.d(t,{$:()=>d,r:()=>o});var a=r(20475),s=r(20107),i=r(61837),n=r(29395),l=r(22250);let o=(0,n.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),d=s.forwardRef((e,t)=>{let{className:r,variant:s,size:n,asChild:d=!1,...c}=e,u=d?i.DX:"button";return(0,a.jsx)(u,{className:(0,l.cn)(o({variant:s,size:n,className:r})),ref:t,...c})});d.displayName="Button"},72167:(e,t,r)=>{"use strict";r.d(t,{BT:()=>d,Wu:()=>c,ZB:()=>o,Zp:()=>n,aR:()=>l,wL:()=>u});var a=r(20475),s=r(20107),i=r(22250);let n=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,i.cn)("rounded-xl border bg-card text-card-foreground shadow",r),...s})});n.displayName="Card";let l=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,i.cn)("flex flex-col space-y-1.5 p-6",r),...s})});l.displayName="CardHeader";let o=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("h3",{ref:t,className:(0,i.cn)("font-semibold leading-none tracking-tight",r),...s})});o.displayName="CardTitle";let d=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("p",{ref:t,className:(0,i.cn)("text-sm text-muted-foreground",r),...s})});d.displayName="CardDescription";let c=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,i.cn)("p-6 pt-0",r),...s})});c.displayName="CardContent";let u=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,i.cn)("flex items-center p-6 pt-0",r),...s})});u.displayName="CardFooter"},64219:(e,t,r)=>{"use strict";r.d(t,{p:()=>n});var a=r(20475),s=r(20107),i=r(22250);let n=s.forwardRef((e,t)=>{let{className:r,type:s,...n}=e;return(0,a.jsx)("input",{type:s,className:(0,i.cn)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",r),ref:t,...n})});n.displayName="Input"},49153:(e,t,r)=>{"use strict";r.d(t,{J:()=>d});var a=r(20475),s=r(20107),i=r(73725),n=r(29395),l=r(22250);let o=(0,n.F)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),d=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(i.b,{ref:t,className:(0,l.cn)(o(),r),...s})});d.displayName=i.b.displayName},35601:(e,t,r)=>{"use strict";r.d(t,{TR:()=>f,bq:()=>u,eb:()=>g,gC:()=>m,l6:()=>o,s3:()=>d,yv:()=>c});var a=r(20475),s=r(20107),i=r(7197),n=r(32301),l=r(22250);let o=n.bL,d=n.YJ,c=n.WT,u=s.forwardRef((e,t)=>{let{className:r,children:s,...o}=e;return(0,a.jsxs)(n.l9,{ref:t,className:(0,l.cn)("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",r),...o,children:[s,(0,a.jsx)(n.In,{asChild:!0,children:(0,a.jsx)(i.TBE,{className:"h-4 w-4 opacity-50"})})]})});u.displayName=n.l9.displayName;let p=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(n.PP,{ref:t,className:(0,l.cn)("flex cursor-default items-center justify-center py-1",r),...s,children:(0,a.jsx)(i.Mtm,{})})});p.displayName=n.PP.displayName;let h=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(n.wn,{ref:t,className:(0,l.cn)("flex cursor-default items-center justify-center py-1",r),...s,children:(0,a.jsx)(i.D3D,{})})});h.displayName=n.wn.displayName;let m=s.forwardRef((e,t)=>{let{className:r,children:s,position:i="popper",...o}=e;return(0,a.jsx)(n.ZL,{children:(0,a.jsxs)(n.UC,{ref:t,className:(0,l.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===i&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",r),position:i,...o,children:[(0,a.jsx)(p,{}),(0,a.jsx)(n.LM,{className:(0,l.cn)("p-1","popper"===i&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:s}),(0,a.jsx)(h,{})]})})});m.displayName=n.UC.displayName;let f=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(n.JU,{ref:t,className:(0,l.cn)("px-2 py-1.5 text-sm font-semibold",r),...s})});f.displayName=n.JU.displayName;let g=s.forwardRef((e,t)=>{let{className:r,children:s,...o}=e;return(0,a.jsxs)(n.q7,{ref:t,className:(0,l.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),...o,children:[(0,a.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,a.jsx)(n.VF,{children:(0,a.jsx)(i.Srz,{className:"h-4 w-4"})})}),(0,a.jsx)(n.p4,{children:s})]})});g.displayName=n.q7.displayName,s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(n.wv,{ref:t,className:(0,l.cn)("-mx-1 my-1 h-px bg-muted",r),...s})}).displayName=n.wv.displayName},22631:(e,t,r)=>{"use strict";r.d(t,{d:()=>N});var a=r(20475),s=r(20107),i=r(94521),n=r(74111),l=r(80938),o=r(81255),d=r(48543),c=r(26783),u=r(4589),p="Switch",[h,m]=(0,l.A)(p),[f,g]=h(p),x=s.forwardRef((e,t)=>{let{__scopeSwitch:r,name:l,checked:d,defaultChecked:c,required:p,disabled:h,value:m="on",onCheckedChange:g,form:x,...v}=e,[b,y]=s.useState(null),N=(0,n.s)(t,e=>y(e)),S=s.useRef(!1),k=!b||x||!!b.closest("form"),[R=!1,C]=(0,o.i)({prop:d,defaultProp:c,onChange:g});return(0,a.jsxs)(f,{scope:r,checked:R,disabled:h,children:[(0,a.jsx)(u.sG.button,{type:"button",role:"switch","aria-checked":R,"aria-required":p,"data-state":j(R),"data-disabled":h?"":void 0,disabled:h,value:m,...v,ref:N,onClick:(0,i.m)(e.onClick,e=>{C(e=>!e),k&&(S.current=e.isPropagationStopped(),S.current||e.stopPropagation())})}),k&&(0,a.jsx)(w,{control:b,bubbles:!S.current,name:l,value:m,checked:R,required:p,disabled:h,form:x,style:{transform:"translateX(-100%)"}})]})});x.displayName=p;var v="SwitchThumb",b=s.forwardRef((e,t)=>{let{__scopeSwitch:r,...s}=e,i=g(v,r);return(0,a.jsx)(u.sG.span,{"data-state":j(i.checked),"data-disabled":i.disabled?"":void 0,...s,ref:t})});b.displayName=v;var w=e=>{let{control:t,checked:r,bubbles:i=!0,...n}=e,l=s.useRef(null),o=(0,d.Z)(r),u=(0,c.X)(t);return s.useEffect(()=>{let e=l.current,t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(o!==r&&t){let a=new Event("click",{bubbles:i});t.call(e,r),e.dispatchEvent(a)}},[o,r,i]),(0,a.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:r,...n,tabIndex:-1,ref:l,style:{...e.style,...u,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function j(e){return e?"checked":"unchecked"}var y=r(22250);let N=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)(x,{className:(0,y.cn)("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",r),...s,ref:t,children:(0,a.jsx)(b,{className:(0,y.cn)("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})})});N.displayName=x.displayName},32857:(e,t,r)=>{"use strict";r.d(t,{dj:()=>p,oR:()=>u});var a=r(20107);let s=0,i=new Map,n=e=>{if(i.has(e))return;let t=setTimeout(()=>{i.delete(e),c({type:"REMOVE_TOAST",toastId:e})},1e6);i.set(e,t)},l=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:r}=t;return r?n(r):e.toasts.forEach(e=>{n(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===r||void 0===r?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},o=[],d={toasts:[]};function c(e){d=l(d,e),o.forEach(e=>{e(d)})}function u(e){let{...t}=e,r=(s=(s+1)%Number.MAX_SAFE_INTEGER).toString(),a=()=>c({type:"DISMISS_TOAST",toastId:r});return c({type:"ADD_TOAST",toast:{...t,id:r,open:!0,onOpenChange:e=>{e||a()}}}),{id:r,dismiss:a,update:e=>c({type:"UPDATE_TOAST",toast:{...e,id:r}})}}function p(){let[e,t]=a.useState(d);return a.useEffect(()=>(o.push(t),()=>{let e=o.indexOf(t);e>-1&&o.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>c({type:"DISMISS_TOAST",toastId:e})}}},22250:(e,t,r)=>{"use strict";r.d(t,{cn:()=>i});var a=r(64901),s=r(868);function i(){for(var e=arguments.length,t=Array(e),r=0;r{"use strict";r.d(t,{A:()=>o});var a=r(20107);let s=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),i=function(){for(var e=arguments.length,t=Array(e),r=0;r!!e&&r.indexOf(e)===t).join(" ")};var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let l=(0,a.forwardRef)((e,t)=>{let{color:r="currentColor",size:s=24,strokeWidth:l=2,absoluteStrokeWidth:o,className:d="",children:c,iconNode:u,...p}=e;return(0,a.createElement)("svg",{ref:t,...n,width:s,height:s,stroke:r,strokeWidth:o?24*Number(l)/Number(s):l,className:i("lucide",d),...p},[...u.map(e=>{let[t,r]=e;return(0,a.createElement)(t,r)}),...Array.isArray(c)?c:[c]])}),o=(e,t)=>{let r=(0,a.forwardRef)((r,n)=>{let{className:o,...d}=r;return(0,a.createElement)(l,{ref:n,iconNode:t,className:i("lucide-".concat(s(e)),o),...d})});return r.displayName="".concat(e),r}}},e=>{var t=t=>e(e.s=t);e.O(0,[9980,7780,1617,4673,5011,1457,191,6035,7358],()=>t(30076)),_N_E=e.O()}]); \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/home/page-c70afb7db09859e8.js b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/home/page-c70afb7db09859e8.js new file mode 100644 index 0000000..958becd --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/home/page-c70afb7db09859e8.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6665],{31710:(e,s,t)=>{Promise.resolve().then(t.bind(t,88954))},88954:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>eQ});var l=t(20475),n=t(20107),r=t(32857),a=t(72167),i=t(36760),c=t(45934);let d=e=>{let{data:s,isLoading:t}=e;return(0,l.jsxs)(a.Zp,{children:[(0,l.jsxs)(a.aR,{children:[(0,l.jsx)(a.ZB,{children:"Sim Card"}),(0,l.jsx)(a.BT,{children:"Sim card information"})]}),(0,l.jsxs)(a.Wu,{className:"grid gap-2",children:[(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"Sim Card Slot in Use"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[50px]"}):(0,l.jsx)("p",{className:"font-bold",children:null==s?void 0:s.simCard.slot})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"Sim Card State"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[100px]"}):(0,l.jsx)(c.E,{className:"font-bold ".concat((null==s?void 0:s.simCard.state)==="Inserted"?"bg-emerald-500 hover:bg-emerald-800":"bg-rose-500 hover:bg-rose-800"),children:null==s?void 0:s.simCard.state})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"Provider"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[100px]"}):(0,l.jsx)("p",{className:"font-bold",children:null==s?void 0:s.simCard.provider})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"Phone Number"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[140px]"}):(0,l.jsx)("p",{className:"font-bold",children:null==s?void 0:s.simCard.phoneNumber})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"IMSI"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[140px]"}):(0,l.jsx)("p",{className:"font-bold",children:null==s?void 0:s.simCard.imsi})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"ICCID"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[140px]"}):(0,l.jsx)("p",{className:"font-bold",children:null==s?void 0:s.simCard.iccid})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"IMEI"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[140px]"}):(0,l.jsx)("p",{className:"font-bold",children:null==s?void 0:s.simCard.imei})]})]})]})},o={6:"1.4 MHz",15:"3 MHz",25:"5 MHz",50:"10 MHz",75:"15 MHz",100:"20 MHz"},m={0:"5 MHz",1:"10 MHz",2:"15 MHz",3:"20 MHz",4:"25 MHz",5:"30 MHz",6:"40 MHz",7:"50 MHz",8:"60 MHz",9:"70 MHz",10:"80 MHz",11:"90 MHz",12:"100 MHz",13:"200 MHz",14:"400 MHz",15:"35 MHz",16:"45 MHz"},x={2:"UTRAN",4:"HSDPA",5:"HSUPA",6:"HSDPA & HSUPA",7:"E-UTRAN",10:"E-UTRAN - 5GCN",11:"NR - 5GCN",12:"NG-RAN",13:"E-UTRAN-NR Dual"},u=e=>x[e]||"Unknown",p=e=>{let{data:s,isLoading:t,dataConnectionState:n,connectionStateLoading:r}=e;return(0,l.jsxs)(a.Zp,{children:[(0,l.jsxs)(a.aR,{children:[(0,l.jsx)(a.ZB,{children:"Connection"}),(0,l.jsx)(a.BT,{children:"Connection information"})]}),(0,l.jsxs)(a.Wu,{className:"grid gap-2",children:[(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("div",{children:"APN"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[100px]"}):(0,l.jsx)("div",{className:"font-bold",children:null==s?void 0:s.connection.apn})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("div",{children:"Operator State"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[100px]"}):(0,l.jsx)(c.E,{className:"font-bold ".concat((null==s?void 0:s.connection.operatorState)==="Unknown"||(null==s?void 0:s.connection.operatorState)==="Denied"?"bg-rose-500 hover:bg-rose-800":"bg-emerald-500 hover:bg-emerald-800"),children:null==s?void 0:s.connection.operatorState})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("div",{children:"Functionality State"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[100px]"}):(0,l.jsx)(c.E,{className:"font-bold ".concat((null==s?void 0:s.connection.functionalityState)==="Enabled"?"bg-emerald-500 hover:bg-emerald-800":"bg-rose-500 hover:bg-rose-800"),children:null==s?void 0:s.connection.functionalityState})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("div",{children:"Data Connection State"}),r?(0,l.jsx)(i.E,{className:"h-4 w-[100px]"}):(0,l.jsx)(c.E,{className:"font-bold ".concat("Connected"===n?"bg-emerald-500 hover:bg-emerald-800":"bg-rose-500 hover:bg-rose-800"),children:n})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("div",{children:"Network Type"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[100px]"}):(0,l.jsx)("div",{className:"font-bold",children:null==s?void 0:s.connection.networkType})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("div",{children:"Modem Temperature"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[100px]"}):(0,l.jsx)("div",{className:"font-bold",children:null==s?void 0:s.connection.modemTemperature})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("div",{children:"Access Technology"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[100px]"}):(0,l.jsx)("div",{className:"font-bold",children:(null==s?void 0:s.connection.accessTechnology)?u(s.connection.accessTechnology):"Unknown"})]})]})]})},h=e=>{let{data:s,isLoading:t,bytesSent:n,bytesReceived:r}=e;return(0,l.jsxs)(a.Zp,{children:[(0,l.jsxs)(a.aR,{children:[(0,l.jsx)(a.ZB,{children:"Data Transmission"}),(0,l.jsx)(a.BT,{children:"Data transmission information"})]}),(0,l.jsxs)(a.Wu,{className:"grid gap-2",children:[(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"Carrier Aggregation"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[100px]"}):(0,l.jsx)(c.E,{className:"font-bold ".concat((null==s?void 0:s.dataTransmission.carrierAggregation)==="Multi"?"bg-emerald-500 hover:bg-emerald-800":"bg-rose-500 hover:bg-rose-800"),children:null==s?void 0:s.dataTransmission.carrierAggregation})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"Bandwidth"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[100px]"}):(0,l.jsx)("p",{className:"font-bold",children:null==s?void 0:s.dataTransmission.bandwidth})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"Connected Bands"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[100px]"}):(0,l.jsx)("p",{className:"font-bold",children:null==s?void 0:s.dataTransmission.connectedBands})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"Signal Strength"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[100px]"}):(0,l.jsx)(c.E,{className:"font-bold ".concat((null==s?void 0:s.dataTransmission.signalStrength)&&parseInt(null==s?void 0:s.dataTransmission.signalStrength)>80?"bg-emerald-500 hover:bg-emerald-800":(null==s?void 0:s.dataTransmission.signalStrength)&&parseInt(null==s?void 0:s.dataTransmission.signalStrength)>40?"bg-orange-500 hover:bg-orange-800":"bg-rose-500 hover:bg-rose-800"),children:null==s?void 0:s.dataTransmission.signalStrength})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"MIMO Layers"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[100px]"}):(0,l.jsx)("p",{className:"font-bold",children:null==s?void 0:s.dataTransmission.mimoLayers})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"Bytes Sent"}),(0,l.jsx)("p",{className:"font-bold",children:n})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"Bytes Received"}),(0,l.jsx)("p",{className:"font-bold",children:r})]})]})]})},f=e=>{let{data:s,isLoading:t}=e;return(0,l.jsxs)(a.Zp,{children:[(0,l.jsxs)(a.aR,{children:[(0,l.jsx)(a.ZB,{children:"Cellular Information"}),(0,l.jsx)(a.BT,{children:"Cellular network information"})]}),(0,l.jsxs)(a.Wu,{className:"grid gap-2",children:[(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"Cell ID"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[80px]"}):(0,l.jsx)("p",{className:"font-bold",children:null==s?void 0:s.cellularInfo.cellId})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"TAC"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[80px]"}):(0,l.jsx)("p",{className:"font-bold",children:null==s?void 0:s.cellularInfo.trackingAreaCode})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"Physical Cell IDs"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[80px]"}):(0,l.jsx)("p",{className:"font-bold",children:null==s?void 0:s.cellularInfo.physicalCellId})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"E/ARFCN"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[80px]"}):(0,l.jsx)("p",{className:"font-bold",children:null==s?void 0:s.cellularInfo.earfcn})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"Mobile Country Code"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[80px]"}):(0,l.jsx)("p",{className:"font-bold",children:null==s?void 0:s.cellularInfo.mcc})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"Mobile Network Code"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[80px]"}):(0,l.jsx)("p",{className:"font-bold",children:null==s?void 0:s.cellularInfo.mnc})]}),(0,l.jsxs)("div",{className:"flex flex-row justify-between text-md",children:[(0,l.jsx)("p",{children:"Signal Quality"}),t?(0,l.jsx)(i.E,{className:"h-4 w-[80px]"}):(0,l.jsx)(c.E,{className:"\n font-bold ".concat((null==s?void 0:s.cellularInfo.signalQuality)&&parseInt(null==s?void 0:s.cellularInfo.signalQuality)>80?"bg-emerald-500 hover:bg-emerald-800":(null==s?void 0:s.cellularInfo.signalQuality)&&parseInt(null==s?void 0:s.cellularInfo.signalQuality)>40?"bg-orange-500 hover:bg-orange-800":"bg-rose-500 hover:bg-rose-800"),children:null==s?void 0:s.cellularInfo.signalQuality})]})]})]})};var g=t(1307),j=t(78327),N=t(94005),v=t(4538),w=t(96399);let b={signal:{label:"LTE/5G Signal Metrics"},rsrp:{label:"RSRP",color:"hsl(var(--chart-1))"},rsrq:{label:"RSRQ",color:"hsl(var(--chart-2))"},sinr:{label:"SINR",color:"hsl(var(--chart-3))"}},y=e=>{let s=e.split("\n").filter(e=>e.trim()),t=[];s.forEach(e=>{let s=e.match(/-?\d+/g);s&&t.push(...s.map(Number))});let l=t.filter(e=>-140!==e&&-32768!==e);return 0===l.length?0:Math.round(l.reduce((e,s)=>e+s,0)/l.length)},S=()=>{let[e,s]=(0,n.useState)([]),[t,r]=(0,n.useState)("rsrp"),[c,d]=(0,n.useState)(!0),[o,m]=(0,n.useState)(null),x=(0,n.useCallback)(async()=>{try{let e=await fetch("/cgi-bin/home/fetch_signal_metrics.sh");if(!e.ok)throw Error("Failed to fetch signal metrics");let t=await e.json(),l=Math.min(t.rsrp.length,t.rsrq.length,t.sinr.length),n=Array.from({length:l},(e,s)=>({time:t.rsrp[s].datetime,rsrp:y(t.rsrp[s].output),rsrq:y(t.rsrq[s].output),sinr:y(t.sinr[s].output)}));s(n),m(null)}catch(e){console.error("Error fetching metrics:",e),m(e instanceof Error?e.message:"An unknown error occurred"),s([])}finally{d(!1)}},[]);(0,n.useEffect)(()=>{x();let e=setInterval(x,15e3);return()=>clearInterval(e)},[x]);let u=e.length>0?e[e.length-1]:{rsrp:0,rsrq:0,sinr:0};return o?(0,l.jsx)(a.Zp,{children:(0,l.jsxs)(a.aR,{children:[(0,l.jsx)(a.ZB,{children:"Error Loading Signal Metrics"}),(0,l.jsx)(a.BT,{children:o})]})}):(0,l.jsxs)(a.Zp,{children:[(0,l.jsxs)(a.aR,{className:"flex flex-col items-stretch space-y-0 border-b p-0 sm:flex-row",children:[(0,l.jsxs)("div",{className:"flex flex-1 flex-col justify-center gap-1 px-6 py-5 sm:py-6",children:[(0,l.jsx)(a.ZB,{children:"Signal Metrics"}),(0,l.jsx)(a.BT,{children:"Realtime LTE/5G Signal performance"})]}),(0,l.jsx)("div",{className:"flex",children:["rsrp","rsrq","sinr"].map(e=>(0,l.jsxs)("button",{"data-active":t===e,className:"flex flex-1 flex-col justify-center gap-1 border-t px-6 py-4 text-left even:border-l data-[active=true]:bg-muted/50 sm:border-l sm:border-t-0 sm:px-8 sm:py-6",onClick:()=>r(e),children:[(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:b[e].label}),c?(0,l.jsx)(i.E,{className:"lg:h-10 h-6 w-full"}):(0,l.jsx)("span",{className:"text-base font-bold leading-none sm:text-3xl",children:u[e].toFixed(0)})]},e))})]}),(0,l.jsx)(a.Wu,{className:"px-2 sm:p-6",children:(0,l.jsx)(g.at,{config:b,className:"aspect-auto h-[250px] w-full",children:(0,l.jsxs)(j.b,{accessibilityLayer:!0,data:e,margin:{left:12,right:12},children:[(0,l.jsx)(N.d,{vertical:!1}),(0,l.jsx)(v.W,{dataKey:"time",tickLine:!1,axisLine:!1,tickMargin:8,minTickGap:32,tickFormatter:e=>new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0})}),(0,l.jsx)(g.II,{content:(0,l.jsx)(g.Nt,{className:"w-[200px]",nameKey:"metric",labelFormatter:e=>new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!0})})}),(0,l.jsx)(w.N,{dataKey:t,type:"monotone",stroke:"var(--color-".concat(t,")"),strokeWidth:2,dot:!1})]})})}),(0,l.jsxs)(a.wL,{className:"flex-col items-start gap-2 text-sm",children:[(0,l.jsx)("div",{className:"flex gap-2 font-medium leading-none",children:"The tabs show the combined average value for LTE and 5G metrics."}),(0,l.jsx)("div",{className:"leading-none text-muted-foreground italic",children:"The higher the value, the better the signal quality."})]})]})},k=e=>{if("Unknown!"===e)return"-";let s=e.match(/(\d+)/);if(!s)return e;let t=parseInt(s[1],10);return t>=1e3?"".concat(t/1e3).concat((e.includes("Gb"),"Gb/s")):"".concat(t).concat((e.includes("Mb"),"Mb/s"))},E=()=>{let[e,s]=(0,n.useState)({link_status:"Loading...",link_speed:"Loading...",auto_negotiation:"Loading..."}),[t,r]=(0,n.useState)(!0),[c,d]=(0,n.useState)(null);return((0,n.useEffect)(()=>{(async()=>{try{let e=await fetch("/cgi-bin/home/fetch_hw_details.sh?type=eth",{method:"GET",cache:"no-store",headers:{"Content-Type":"application/json"}});if(!e.ok)throw Error("Network response was not ok");let t=await e.json();s(t),r(!1)}catch(e){d("Failed to fetch Ethernet information"),r(!1)}})()},[]),c)?(0,l.jsxs)(a.Zp,{children:[(0,l.jsx)(a.aR,{children:(0,l.jsx)(a.ZB,{children:"Ethernet"})}),(0,l.jsx)(a.Wu,{className:"flex items-center justify-center",children:(0,l.jsx)("div",{className:"text-red-500",children:c})})]}):(0,l.jsxs)(a.Zp,{children:[(0,l.jsx)(a.aR,{children:(0,l.jsx)(a.ZB,{children:"Ethernet"})}),(0,l.jsx)(a.Wu,{children:(0,l.jsxs)("div",{className:"grid lg:grid-cols-3 grid-cols-2 grid-flow-row gap-4 col-span-3",children:[(0,l.jsxs)("div",{className:"grid gap-1",children:[(0,l.jsx)("span",{className:"text-sm text-muted-foreground",children:"Link Status"}),(0,l.jsx)("span",{className:"text-base font-bold",children:t?(0,l.jsx)(i.E,{className:"h-8 w-full"}):"yes"===e.link_status?"Active":"Inactive"})]}),(0,l.jsxs)("div",{className:"grid gap-1",children:[(0,l.jsx)("span",{className:"text-sm text-muted-foreground",children:"Link Speed"}),(0,l.jsx)("span",{className:"text-base font-bold",children:t?(0,l.jsx)(i.E,{className:"h-8 w-full"}):k(e.link_speed)})]}),(0,l.jsxs)("div",{className:"grid gap-1",children:[(0,l.jsx)("span",{className:"text-sm text-muted-foreground",children:"Auto-negotiation"}),(0,l.jsx)("span",{className:"text-base font-bold",children:t?(0,l.jsx)(i.E,{className:"h-8 w-full"}):"on"===e.auto_negotiation?"Active":"Inactive"})]})]})})]})},A=e=>"".concat(Math.round(e/1048576)," MB"),C=()=>{let[e,s]=(0,n.useState)({total:0,used:0,available:0}),[t,r]=(0,n.useState)(!0);return(0,n.useEffect)(()=>{let e=async()=>{try{let e=await fetch("/cgi-bin/home/fetch_hw_details.sh?type=memory",{method:"GET",cache:"no-store",headers:{"Content-Type":"application/json"}});if(!e.ok)throw Error("Network response was not ok");let l=await e.json();s(l),t&&r(!1)}catch(e){console.error("Failed to fetch memory information"),t&&r(!1)}};e();let l=setInterval(e,2e3);return()=>clearInterval(l)},[t]),(0,l.jsxs)(a.Zp,{children:[(0,l.jsx)(a.aR,{children:(0,l.jsx)(a.ZB,{children:"Memory"})}),(0,l.jsx)(a.Wu,{children:(0,l.jsxs)("div",{className:"grid lg:grid-cols-3 grid-cols-2 grid-flow-row gap-4 col-span-3",children:[(0,l.jsxs)("div",{className:"grid gap-1",children:[(0,l.jsx)("span",{className:"text-sm text-muted-foreground",children:"Total"}),t?(0,l.jsx)(i.E,{className:"h-6 w-24"}):(0,l.jsx)("span",{className:"text-base font-bold",children:A(e.total)})]}),(0,l.jsxs)("div",{className:"grid gap-1",children:[(0,l.jsx)("span",{className:"text-sm text-muted-foreground",children:"Used"}),t?(0,l.jsx)(i.E,{className:"h-6 w-24"}):(0,l.jsx)("span",{className:"text-base font-bold",children:A(e.used)})]}),(0,l.jsxs)("div",{className:"grid gap-1",children:[(0,l.jsx)("span",{className:"text-sm text-muted-foreground",children:"Available"}),t?(0,l.jsx)(i.E,{className:"h-6 w-24"}):(0,l.jsx)("span",{className:"text-base font-bold",children:A(e.available)})]})]})})]})},R={ms:{label:"ms",color:"hsl(var(--chart-4))"}},T=()=>new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"}),I=()=>{let[e,s]=(0,n.useState)(()=>{let e=localStorage.getItem("pingData");return e?JSON.parse(e):[]}),[t,r]=(0,n.useState)(!0);return(0,n.useEffect)(()=>{let l=async()=>{try{let l=await fetch("/cgi-bin/home/ping_latency.sh",{method:"GET",cache:"no-store",headers:{"Content-Type":"application/json"}});if(!l.ok)throw Error("Network response was not ok");let n=await l.json(),a={time:T(),ms:n.latency},i=[...e,a].slice(-5);s(i),localStorage.setItem("pingData",JSON.stringify(i)),t&&r(!1)}catch(e){console.error("Failed to fetch ping latency",e),t&&r(!1)}};l();let n=setInterval(l,6e4);return()=>clearInterval(n)},[t,e]),(0,l.jsxs)(a.Zp,{children:[(0,l.jsx)(a.aR,{children:(0,l.jsx)(a.ZB,{children:"Ping Latency"})}),(0,l.jsx)(a.Wu,{children:(0,l.jsx)(g.at,{config:R,children:(0,l.jsxs)(j.b,{accessibilityLayer:!0,data:e,margin:{left:12,right:12},children:[(0,l.jsx)(N.d,{vertical:!1}),(0,l.jsx)(v.W,{dataKey:"time",tickLine:!1,axisLine:!1,tickMargin:8,tickFormatter:e=>e}),(0,l.jsx)(g.II,{cursor:!1,content:(0,l.jsx)(g.Nt,{hideLabel:!0})}),(0,l.jsx)(w.N,{dataKey:"ms",type:"natural",stroke:"var(--color-ms)",strokeWidth:2,dot:!1})]})})})]})};var U=t(42541),M=t(93557),B=t(97801),D=t(14389),L=t(98969),z=t(17799),G=t(43719),_=t.n(G),P=t(7197),F=t(74043),H=t(22250);let Z=n.createContext(null);function O(){let e=n.useContext(Z);if(!e)throw Error("useCarousel must be used within a ");return e}let W=n.forwardRef((e,s)=>{let{orientation:t="horizontal",opts:r,setApi:a,plugins:i,className:c,children:d,...o}=e,[m,x]=(0,F.A)({...r,axis:"horizontal"===t?"x":"y"},i),[u,p]=n.useState(!1),[h,f]=n.useState(!1),g=n.useCallback(e=>{e&&(p(e.canScrollPrev()),f(e.canScrollNext()))},[]),j=n.useCallback(()=>{null==x||x.scrollPrev()},[x]),N=n.useCallback(()=>{null==x||x.scrollNext()},[x]),v=n.useCallback(e=>{"ArrowLeft"===e.key?(e.preventDefault(),j()):"ArrowRight"===e.key&&(e.preventDefault(),N())},[j,N]);return n.useEffect(()=>{x&&a&&a(x)},[x,a]),n.useEffect(()=>{if(x)return g(x),x.on("reInit",g),x.on("select",g),()=>{null==x||x.off("select",g)}},[x,g]),(0,l.jsx)(Z.Provider,{value:{carouselRef:m,api:x,opts:r,orientation:t||((null==r?void 0:r.axis)==="y"?"vertical":"horizontal"),scrollPrev:j,scrollNext:N,canScrollPrev:u,canScrollNext:h},children:(0,l.jsx)("div",{ref:s,onKeyDownCapture:v,className:(0,H.cn)("relative",c),role:"region","aria-roledescription":"carousel",...o,children:d})})});W.displayName="Carousel";let Q=n.forwardRef((e,s)=>{let{className:t,...n}=e,{carouselRef:r,orientation:a}=O();return(0,l.jsx)("div",{ref:r,className:"overflow-hidden",children:(0,l.jsx)("div",{ref:s,className:(0,H.cn)("flex","horizontal"===a?"-ml-4":"-mt-4 flex-col",t),...n})})});Q.displayName="CarouselContent";let q=n.forwardRef((e,s)=>{let{className:t,...n}=e,{orientation:r}=O();return(0,l.jsx)("div",{ref:s,role:"group","aria-roledescription":"slide",className:(0,H.cn)("min-w-0 shrink-0 grow-0 basis-full","horizontal"===r?"pl-4":"pt-4",t),...n})});q.displayName="CarouselItem";let K=n.forwardRef((e,s)=>{let{className:t,variant:n="outline",size:r="icon",...a}=e,{orientation:i,scrollPrev:c,canScrollPrev:d}=O();return(0,l.jsxs)(U.$,{ref:s,variant:n,size:r,className:(0,H.cn)("absolute h-8 w-8 rounded-full","horizontal"===i?"-left-12 top-1/2 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",t),disabled:!d,onClick:c,...a,children:[(0,l.jsx)(P.A60,{className:"h-4 w-4"}),(0,l.jsx)("span",{className:"sr-only",children:"Previous slide"})]})});K.displayName="CarouselPrevious";let $=n.forwardRef((e,s)=>{let{className:t,variant:n="outline",size:r="icon",...a}=e,{orientation:i,scrollNext:c,canScrollNext:d}=O();return(0,l.jsxs)(U.$,{ref:s,variant:n,size:r,className:(0,H.cn)("absolute h-8 w-8 rounded-full","horizontal"===i?"-right-12 top-1/2 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",t),disabled:!d,onClick:c,...a,children:[(0,l.jsx)(P.flY,{className:"h-4 w-4"}),(0,l.jsx)("span",{className:"sr-only",children:"Next slide"})]})});$.displayName="CarouselNext";let V=e=>{let{id:s,bandNumber:t,earfcn:n,bandwidth:r,pci:i,rsrp:d,rsrq:o,sinr:m}=e;return(0,l.jsx)(a.Zp,{className:"p-8",children:(0,l.jsxs)("div",{className:"flex flex-row items-center gap-6 justify-between",children:[(0,l.jsxs)("div",{className:"grid gap-2 w-[180px]",children:[(0,l.jsx)("h2",{className:"text-md font-bold",children:"Band"}),(0,l.jsxs)("div",{className:"flex flex-row items-center gap-2",children:[t.replace("LTE BAND ","B").replace("NR5G BAND ","N"),t.includes("NR5G")&&(0,l.jsx)(c.E,{className:"text-xs bg-blue-600 hover:bg-blue-800",children:"NR 5G"})]})]}),(0,l.jsxs)("div",{className:"grid gap-2",children:[(0,l.jsx)("p",{className:"text-sm font-bold",children:"E/ARFCN"}),(0,l.jsx)("p",{children:n})]}),(0,l.jsxs)("div",{className:"grid gap-2",children:[(0,l.jsx)("p",{className:"text-sm font-bold",children:"Bandwidth"}),(0,l.jsx)("p",{children:r})]}),(0,l.jsxs)("div",{className:"grid gap-2",children:[(0,l.jsx)("p",{className:"text-sm font-bold",children:"Physical Cell ID"}),(0,l.jsx)("p",{children:i})]}),(0,l.jsxs)("div",{className:"grid gap-2",children:[(0,l.jsx)("p",{className:"text-sm font-bold",children:"RSRP"}),(0,l.jsxs)(c.E,{className:parseInt(d)>=-80?"bg-emerald-500 hover:bg-emerald-800":parseInt(d)>=-100?"bg-orange-500 hover:bg-orange-800":"bg-rose-500 hover:bg-rose-800",children:[d," dBm"]})]}),(0,l.jsxs)("div",{className:"grid gap-2",children:[(0,l.jsx)("p",{className:"text-sm font-bold",children:"RSRQ"}),(0,l.jsxs)(c.E,{className:10>=parseInt(o)?"bg-emerald-500 hover:bg-emerald-800":20>=parseInt(o)?"bg-orange-500 hover:bg-orange-800":"bg-rose-500 hover:bg-rose-800",children:[o," dB"]})]}),(0,l.jsxs)("div",{className:"grid gap-2",children:[(0,l.jsx)("p",{className:"text-sm font-bold",children:"SINR"}),(0,l.jsxs)(c.E,{className:parseInt(m)>=20?"bg-emerald-500 hover:bg-emerald-800":parseInt(m)>=0?"bg-orange-500 hover:bg-orange-800":"bg-rose-500 hover:bg-rose-800",children:[m," dB"]})]})]})})},J=e=>{let{bands:s,isLoading:t}=e;return t?(0,l.jsxs)("div",{className:"flex items-center justify-center",children:[(0,l.jsx)("div",{className:"hidden lg:block w-full",children:(0,l.jsxs)(a.Zp,{className:"p-6 grid gap-4",children:[s&&s.map(e=>(0,l.jsx)(V,{...e},e.id)),(0,l.jsx)(a.wL,{className:"w-full p-6 flex items-center justify-center",children:(0,l.jsx)(a.BT,{className:"text-md",children:"Currently bands connected."})})]})}),(0,l.jsx)(W,{className:"lg:hidden w-full max-w-xs",children:(0,l.jsx)(Q,{children:(0,l.jsx)(q,{children:(0,l.jsx)("div",{className:"p-1",children:(0,l.jsx)(a.Zp,{children:(0,l.jsxs)(a.Wu,{className:"aspect-square p-4 gap-4 flex flex-col items-center justify-center flex-grow",children:[(0,l.jsxs)("div",{className:"flex justify-between w-full",children:[(0,l.jsx)("p",{children:"Band"}),(0,l.jsx)("div",{children:(0,l.jsx)(i.E,{className:"w-16 h-4"})})]}),(0,l.jsxs)("div",{className:"flex justify-between w-full",children:[(0,l.jsx)("p",{children:"E/ARFCN"}),(0,l.jsx)("div",{children:(0,l.jsx)(i.E,{className:"w-16 h-4"})})]}),(0,l.jsxs)("div",{className:"flex justify-between w-full",children:[(0,l.jsx)("p",{children:"Bandwidth"}),(0,l.jsx)("div",{children:(0,l.jsx)(i.E,{className:"w-16 h-4"})})]}),(0,l.jsxs)("div",{className:"flex justify-between w-full",children:[(0,l.jsx)("p",{children:"PCI"}),(0,l.jsx)("div",{children:(0,l.jsx)(i.E,{className:"w-16 h-4"})})]}),(0,l.jsxs)("div",{className:"flex justify-between w-full",children:[(0,l.jsx)("p",{children:"RSRP"}),(0,l.jsx)("div",{children:(0,l.jsx)(i.E,{className:"w-32 h-4"})})]}),(0,l.jsxs)("div",{className:"flex justify-between w-full",children:[(0,l.jsx)("p",{children:"RSRQ"}),(0,l.jsx)("div",{children:(0,l.jsx)(i.E,{className:"w-32 h-4"})})]}),(0,l.jsxs)("div",{className:"flex justify-between w-full",children:[(0,l.jsx)("p",{children:"SINR"}),(0,l.jsx)("div",{children:(0,l.jsx)(i.E,{className:"w-32 h-4"})})]})]})})})})})})]}):(0,l.jsxs)("div",{className:"flex items-center justify-center",children:[(0,l.jsx)("div",{className:"hidden lg:block w-full",children:(0,l.jsxs)(a.Zp,{className:"p-6 grid gap-4",children:[s&&s.map(e=>(0,l.jsx)(V,{...e},e.id)),(0,l.jsx)(a.wL,{className:"w-full p-6 flex items-center justify-center",children:(0,l.jsx)(a.BT,{className:"text-md",children:"Current bands connected."})})]})}),(0,l.jsxs)(W,{className:"lg:hidden w-full max-w-xs",children:[(0,l.jsx)(Q,{children:null==s?void 0:s.map(e=>(0,l.jsx)(q,{className:"md:basis-1/2 lg:basis-1/3",children:(0,l.jsx)("div",{className:"p-1",children:(0,l.jsx)(a.Zp,{children:(0,l.jsxs)(a.Wu,{className:"aspect-square p-4 gap-4 flex flex-col items-center justify-center flex-grow",children:[(0,l.jsxs)("div",{className:"flex justify-between w-full",children:[(0,l.jsx)("p",{children:"Band"}),(0,l.jsx)("p",{children:e.bandNumber})]}),(0,l.jsxs)("div",{className:"flex justify-between w-full",children:[(0,l.jsx)("p",{children:"E/ARFCN"}),(0,l.jsx)("p",{children:e.earfcn})]}),(0,l.jsxs)("div",{className:"flex justify-between w-full",children:[(0,l.jsx)("p",{children:"Bandwidth"}),(0,l.jsx)("p",{children:e.bandwidth})]}),(0,l.jsxs)("div",{className:"flex justify-between w-full",children:[(0,l.jsx)("p",{children:"PCI"}),(0,l.jsx)("p",{children:e.pci})]}),(0,l.jsxs)("div",{className:"flex justify-between w-full",children:[(0,l.jsx)("p",{children:"RSRP"}),(0,l.jsxs)(c.E,{className:parseInt(e.rsrp)>=-80?"bg-emerald-500 hover:bg-emerald-800":parseInt(e.rsrp)>=-100?"bg-orange-500 hover:bg-orange-800":"bg-rose-500 hover:bg-rose-800",children:[e.rsrp," dBm"]})]}),(0,l.jsxs)("div",{className:"flex justify-between w-full",children:[(0,l.jsx)("p",{children:"RSRQ"}),(0,l.jsxs)(c.E,{className:10>=parseInt(e.rsrq)?"bg-emerald-500 hover:bg-emerald-800":20>=parseInt(e.rsrq)?"bg-orange-500 hover:bg-orange-800":"bg-rose-500 hover:bg-rose-800",children:[e.rsrq," dB"]})]}),(0,l.jsxs)("div",{className:"flex justify-between w-full",children:[(0,l.jsx)("p",{children:"SINR"}),(0,l.jsxs)(c.E,{className:parseInt(e.sinr)>=20?"bg-emerald-500 hover:bg-emerald-800":parseInt(e.sinr)>=0?"bg-orange-500 hover:bg-orange-800":"bg-rose-500 hover:bg-rose-800",children:[e.sinr," dB"]})]})]})})})},e.id))}),(0,l.jsx)(K,{}),(0,l.jsx)($,{})]})]})},Y=(e,s)=>{switch(e.split("\n")[1].split(":")[1].split(",")[1].trim()||s.split("\n")[1].split(":")[1].split(",")[1].trim()){case"1":return"Registered";case"2":return"Searching";case"3":return"Denied";case"4":return"Unknown";case"5":return"Roaming";default:return"Not Registered"}},X=e=>{let s=e.match(/"LTE BAND \d+"|"NR5G BAND \d+"/g),t=null==s?void 0:s.some(e=>e.includes("LTE")),l=null==s?void 0:s.some(e=>e.includes("NR5G"));return t&&l?"NR5G-NSA":t?"LTE":l?"NR5G-SA":"No Signal"},ee=e=>{let s=["cpuss-0","cpuss-1","cpuss-2","cpuss-3"].map(s=>parseInt(e.split("\n").find(e=>e.includes(s)).split(":")[1].split(",")[1].replace(/"/g,"").trim())),t=s.reduce((e,s)=>e+s,0)/s.length;return"".concat(Math.round(t),"\xb0C")},es=(e,s)=>{let t=e.split("\n").find(e=>e.includes("PCC"));t=null==t?void 0:t.split(":")[1].split(",")[2].trim();let l=e.split("\n").filter(e=>e.includes("SCC")&&e.includes("LTE"));l=l.map(e=>e.split(":")[1].split(",")[2].trim());let n=e.split("\n").filter(e=>e.includes("SCC")&&e.includes("NR5G"));if(n=n.map(e=>e.split(":")[1].split(",")[2].trim()),"LTE"===s)return!l.length&&t?o[t]||"Unknown":[t?o[t]:"",...l.map(e=>o[e])].join(", ");if("NR5G-SA"===s&&t)return n.length?[m[t],...n.map(e=>m[e])].join(", "):m[t]||"Unknown";if("NR5G-NSA"===s&&t)return l.length||n.length?l.length&&!n.length?[o[t],...l.map(e=>o[e])].join(", "):[o[t],...l.map(e=>o[e]),...n.map(e=>m[e])].join(", "):o[t]||"Unknown";return"Unknown"},et=e=>{let s=e.match(/"LTE BAND \d+"|"NR5G BAND \d+"/g);return(null==s?void 0:s.map(e=>e.includes("LTE")?"B".concat(e.match(/\d+/)):e.includes("NR5G")?"N".concat(e.split(" ")[2].replace(/"/g,"").trim()):void 0).join(", "))||"Unknown"},el=e=>{let s=e.split("\n").find(e=>e.includes("LTE")),t=e.split("\n").find(e=>e.includes("NR5G")),l=[],n=[];if(s&&(l=s.split(":")[1].split(",").slice(0,4).map(e=>parseInt(e.trim()))),t&&(n=t.split(":")[1].split(",").slice(0,4).map(e=>parseInt(e.trim()))),l=l.filter(e=>-140!==e&&-37625!==e),n=n.filter(e=>-140!==e&&-37625!==e),l.length){if(n.length){let e=l.reduce((e,s)=>e+s,0)/l.length,s=n.reduce((e,s)=>e+s,0)/n.length,t=Math.max(0,Math.min(100,(e+125)/50*100)),r=Math.max(0,Math.min(100,(s+125)/50*100));return"".concat(Math.round((t+r)/2),"%")}{let e=Math.max(0,Math.min(100,(l.reduce((e,s)=>e+s,0)/l.length+125)/50*100));return"".concat(Math.round(e),"%")}}if(!n.length)return"Unknown%";{let e=Math.max(0,Math.min(100,(n.reduce((e,s)=>e+s,0)/n.length+125)/50*100));return"".concat(Math.round(e),"%")}},en=(e,s)=>"NR5G-SA"===s||"LTE"===s?e.split("\n")[1].split(":")[1].split(",")[6].trim():"NR5G-NSA"===s?e.split("\n")[2].split(":")[1].split(",")[4].trim():"Unknown",er=(e,s)=>"NR5G-SA"===s?e.split("\n")[1].split(":")[1].split(",")[8].trim():"NR5G-NSA"===s?e.split("\n")[2].split(":")[1].split(",")[9].trim():"LTE"===s?e.split("\n")[1].split(":")[1].split(",")[12].trim():"Unknown",ea=(e,s)=>{if("LTE"===s||"NR5G-NSA"===s){let t=e.split("\n").find(e=>e.includes("PCC"));t=null==t?void 0:t.split(":")[1].split(",")[5].trim();let l=e.split("\n").filter(e=>e.includes("SCC")&&e.includes("LTE"));l=l.map(e=>e.split(":")[1].split(",")[5].trim());let n=e.split("\n").filter(e=>e.includes("SCC")&&e.includes("NR5G"));return(n=n.map(e=>e.split(":")[1].split(",")[4].trim()),l.length||n.length)?"LTE"===s?[t,...l].join(", "):[t,...l,...n].join(", "):t}if("NR5G-SA"===s){let s=e.split("\n").find(e=>e.includes("PCC"));s=null==s?void 0:s.split(":")[1].split(",")[4].trim();let t=e.split("\n").filter(e=>e.includes("SCC")&&e.includes("NR5G"));return(t=t.map(e=>e.split(":")[1].split(",")[5].trim())).length?[s,...t].join(", "):s}},ei=e=>{let s=e.split("\n").find(e=>e.includes("PCC"));s=null==s?void 0:s.split(":")[1].split(",")[1].trim();let t=e.split("\n").filter(e=>e.includes("SCC")&&e.includes("LTE"));t=t.map(e=>e.split(":")[1].split(",")[1].trim());let l=e.split("\n").filter(e=>e.includes("SCC")&&e.includes("NR5G"));return(l=l.map(e=>e.split(":")[1].split(",")[1].trim()),!s||t.length||l.length)?s&&t.length&&!l.length?[s,...t].join(", "):s&&!t.length&&l.length?[s,...l].join(", "):s&&t.length&&l.length?[s,...t,...l].join(", "):"Unknown":s},ec=(e,s)=>"LTE"===s||"NR5G-SA"===s?e.split("\n")[1].split(":")[1].split(",")[4].trim():"NR5G-NSA"===s?e.split("\n")[2].split(":")[1].split(",")[2].trim():"Unknown",ed=(e,s)=>"LTE"===s||"NR5G-SA"===s?e.split("\n")[1].split(":")[1].split(",")[5].trim():"NR5G-NSA"===s?e.split("\n")[2].split(":")[1].split(",")[3].trim():void 0,eo=e=>{let s=e.split("\n"),t=s.find(e=>e.includes("LTE")),l=s.find(e=>e.includes("NR5G")),n=e=>e?e.split(":")[1].split(",").slice(0,4).map(e=>parseInt(e.trim())).filter(e=>-140!==e&&-37625!==e):[],r=e=>e.length?Math.max(0,Math.min(100,(e.reduce((e,s)=>e+s,0)/e.length- -10)/40*100)):0,a=n(t),i=n(l),c=r(a),d=r(i);return a.length&&i.length?"".concat(Math.round((c+d)/2),"%"):a.length?"".concat(Math.round(c),"%"):i.length?"".concat(Math.round(d),"%"):"Unknown%"},em=e=>{let s=e.split("\n").filter(e=>e.includes("LTE BAND")),t=e.split("\n").filter(e=>e.includes("NR5G BAND"));return s.length&&t.length?[...s,...t].map(e=>e.split(":")[1].split(",")[3].replace(/"/g,"")):s.length?s.map(e=>e.split(":")[1].split(",")[3].replace(/"/g,"")):t.length?t.map(e=>e.split(":")[1].split(",")[3].replace(/"/g,"")):["Unknown"]},ex=e=>{let s=e.split("\n").filter(e=>e.includes("LTE BAND")),t=e.split("\n").filter(e=>e.includes("NR5G BAND"));return s.length&&t.length?[...s,...t].map(e=>e.split(":")[1].split(",")[1]):s.length?s.map(e=>e.split(":")[1].split(",")[1]):t.length?t.map(e=>e.split(":")[1].split(",")[1]):["Unknown"]},eu=e=>{let s=e.split("\n").filter(e=>e.includes("LTE BAND")),t=e.split("\n").filter(e=>e.includes("NR5G BAND")),l=s.map(e=>o[e.split(":")[1].split(",")[2]]),n=t.map(e=>m[e.split(":")[1].split(",")[2]]);return l.length&&n.length?[...l,...n]:l.length?l:n.length?n:["Unknown"]},ep=(e,s)=>{if("LTE"===s||"NR5G-SA"===s){let s=e.split("\n").find(e=>e.includes("PCC"));s=s?s.split(":")[1].split(",")[4].trim():"Unknown";let t=e.split("\n").filter(e=>e.includes("BAND"));return t.length?[s,...t.map(e=>e.split(":")[1].split(",")[5]||"Unknown")]:[s]}if("NR5G-NSA"===s){let s=e.split("\n").filter(e=>e.includes("LTE BAND")),t=e.split("\n").filter(e=>e.includes("NR5G BAND"));return[...s.map(e=>e.split(":")[1].split(",")[5]||"Unknown"),...t.map(e=>e.split(":")[1].split(",")[4]||"Unknown")]}return["Unknown"]},eh=(e,s,t)=>{if("LTE"===s)return e.split("\n").filter(e=>e.includes("LTE BAND")).map(e=>e.split(":")[1].split(",")[6]);if("NR5G-NSA"===s){let s=e.split("\n").filter(e=>e.includes("LTE BAND")).map(e=>e.split(":")[1].split(",")[6]),l=t.split("\n").filter(e=>e.includes("NR5G-NSA")).map(e=>e.split(":")[1].split(",")[4]);return s.length&&l.length?[...s,...l]:s.length?s:l.length?l:["Unknown"]}if("NR5G-SA"===s){let e=t.split("\n").find(e=>e.includes("NR5G-SA"));if(e)return[e.split(":")[1].split(",")[12]]}return["Unknown"]},ef=(e,s,t)=>{if("LTE"===s)return e.split("\n").filter(e=>e.includes("BAND")).map(e=>e.split(":")[1].split(",")[7]);if("NR5G-SA"===s){let e=t.split("\n").find(e=>e.includes("NR5G-SA"));return e?[e.split(":")[1].split(",")[13]]:["Unknown"]}if("NR5G-NSA"===s){let s=e.split("\n").filter(e=>e.includes("LTE BAND")).map(e=>e.split(":")[1].split(",")[7]),l=t.split("\n").filter(e=>e.includes("NR5G-NSA")).map(e=>e.split(":")[1].split(",")[6]);if(s.length&&l.length)return[...s,...l];if(s.length)return s;if(l.length)return l}return["Unknown"]},eg=(e,s,t)=>{if("LTE"===s)return e.split("\n").filter(e=>e.includes("BAND")).map(e=>e.split(":")[1].split(",")[9]);if("NR5G-SA"===s){let e=t.split("\n").find(e=>e.includes("NR5G-SA"));return e?[e.split(":")[1].split(",")[14]]:["Unknown"]}if("NR5G-NSA"===s){let s=e.split("\n").filter(e=>e.includes("LTE BAND")).map(e=>e.split(":")[1].split(",")[9]),l=t.split("\n").filter(e=>e.includes("NR5G-NSA")).map(e=>e.split(":")[1].split(",")[5]);if(s.length&&l.length)return[...s,...l];if(s.length)return s;if(l.length)return l}return["Unknown"]},ej=e=>{let s=[-32768,-140],t=e.split("\n").find(e=>e.includes("LTE")),l=e.split("\n").find(e=>e.includes("NR5G")),n=[],r=[];return(t&&(n=t.split(":")[1].split(",").slice(0,4).map(e=>parseInt(e.trim()))),l&&(r=l.split(":")[1].split(",").slice(0,4).map(e=>parseInt(e.trim()))),n=n.filter(e=>!s.includes(e)),r=r.filter(e=>!s.includes(e)),n.length)?r.length?"LTE ".concat(n.length.toString()," / NR ").concat(r.length.toString()):"LTE ".concat(n.length.toString()):r.length?"NR ".concat(r.length.toString()):"Unknown"},eN=()=>{let[e,s]=(0,n.useState)(null),[t,l]=(0,n.useState)(!0),[r,a]=(0,n.useState)(null),i=(0,n.useCallback)(async()=>{try{var e,t,l;let n=await fetch("/cgi-bin/fetch_data.sh?set=1"),r=await n.json();console.log(r);let a={simCard:{slot:r[0].response.split("\n")[1].split(":")[1].trim()||"Unknown",state:r[6].response.match("READY")?"Inserted":"Not Inserted",provider:r[2].response.split("\n")[1].split(":")[1].split(",")[2].replace(/"/g,"").trim()||"Unknown",phoneNumber:r[1].response.split("\n")[1].split(":")[1].split(",")[1].replace(/"/g,"").trim()||"Unknown",imsi:r[3].response.split("\n")[1].trim()||"Unknown",iccid:r[4].response.split("\n")[1].split(":")[1].trim()||"Unknown",imei:r[5].response.split("\n")[1].trim()||"Unknown"},connection:{apn:r[7].response.split("\n")[1].split(":")[1].split(",")[2].replace(/"/g,"").trim()||r[12].response.split("\n")[1].split(":")[1].split(",")[2].replace(/"/g,"").trim()||"Unknown",operatorState:Y(r[8].response,r[16].response)||"Unknown",functionalityState:"1"===r[9].response.split("\n")[1].split(":")[1].trim()?"Enabled":"Disabled",networkType:X(r[13].response)||"No Signal",modemTemperature:ee(r[11].response)||"Unknown",accessTechnology:r[2].response.split("\n")[1].split(":")[1].split(",")[3].trim()||"Unknown"},dataTransmission:{carrierAggregation:(null===(e=r[13].response.match(/"LTE BAND \d+"|"NR5G BAND \d+"/g))||void 0===e?void 0:e.length)>1?"Multi":"Inactive",bandwidth:es(r[13].response,X(r[13].response))||"Unknown",connectedBands:et(r[13].response)||"Unknown",signalStrength:el(r[14].response)||"Unknown",mimoLayers:ej(r[14].response)||"Unknown"},cellularInfo:{cellId:en(r[10].response,X(r[13].response))||"Unknown",trackingAreaCode:er(r[10].response,X(r[13].response))||"Unknown",physicalCellId:ea(r[13].response,X(r[13].response)),earfcn:ei(r[13].response),mcc:ec(r[10].response,X(r[13].response))||"Unknown",mnc:ed(r[10].response,X(r[13].response))||"Unknown",signalQuality:eo(r[19].response)||"Unknown"},currentBands:{id:Array.from({length:null!==(l=null===(t=em(r[13].response))||void 0===t?void 0:t.length)&&void 0!==l?l:0},(e,s)=>s+1)||[1],bandNumber:em(r[13].response)||["Unknown"],earfcn:ex(r[13].response),bandwidth:eu(r[13].response)||["Unknown"],pci:ep(r[13].response,X(r[13].response))||["Unknown"],rsrp:eh(r[13].response,X(r[13].response),r[10].response),rsrq:ef(r[13].response,X(r[13].response),r[10].response)||["Unknown"],sinr:eg(r[13].response,X(r[13].response),r[10].response)||["Unknown"]}};s(a)}catch(e){console.error("Error fetching home data:",e),s({simCard:{slot:"Unknown",state:"Not Inserted",provider:"Unknown",phoneNumber:"Unknown",imsi:"Unknown",iccid:"Unknown",imei:"Unknown"},connection:{apn:"Unknown",operatorState:"Unknown",functionalityState:"Disabled",networkType:"No Signal",modemTemperature:"Unknown",accessTechnology:"Unknown"},dataTransmission:{carrierAggregation:"Inactive",connectedBands:"Unknown",signalStrength:"Unknown",mimoLayers:"Unknown"},cellularInfo:{cellId:"Unknown",trackingAreaCode:"Unknown",physicalCellId:"Unknown",earfcn:"Unknown",mnc:"Unknown",signalQuality:"Unknown"},currentBands:{id:[1],bandNumber:["Unknown"],earfcn:["Unknown"],bandwidth:["Unknown"],pci:["Unknown"],rsrp:["Unknown"],rsrq:["Unknown"],sinr:["Unknown"]}}),a(null)}},[]);return(0,n.useEffect)(()=>{let e,s=!0;return(async()=>{if(s)try{await i()}finally{s&&l(!1)}})(),e=setInterval(()=>{i()},15e3),()=>{s=!1,clearInterval(e)}},[i]),{data:e,isLoading:t,error:r,refresh:(0,n.useCallback)(async()=>{l(!0),await i(),l(!1)},[i])}},ev=()=>{let[e,s]=(0,n.useState)("Unknown"),[t,l]=(0,n.useState)(!0),r=(0,n.useCallback)(async()=>{try{l(!0);let e=await fetch("/cgi-bin/home/check_net.sh"),t=await e.json();s("ACTIVE"===t.connection?"Connected":"Disconnected"),l(!1)}catch(e){console.error("Error fetching data connection state:",e),s("Unknown"),l(!1)}},[]);return(0,n.useEffect)(()=>{r();let e=setInterval(r,3e4);return()=>clearInterval(e)},[r]),{dataConnectionState:e,refresh:(0,n.useCallback)(()=>{r()},[r]),isStateLoading:t}},ew=e=>{if(0===e)return"0 Bytes";let s=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,s)).toFixed(2))+" "+["Bytes","KB","MB","GB","TB"][s]},eb=()=>{let[e,s]=(0,n.useState)("0 Bytes"),[t,l]=(0,n.useState)("0 Bytes"),[r,a]=(0,n.useState)(""),i=e=>{var t,n;let r=Array.isArray(e)?e[e.length-1]:e;if(!r)return;a(r.datetime);let i=r.output.replace(/\r\\n/g,"\n").trim().split("\n").filter(e=>e.trim()),c=null===(t=i.find(e=>e.includes("+QGDCNT:")))||void 0===t?void 0:t.trim(),d=null===(n=i.find(e=>e.includes("+QGDNRCNT:")))||void 0===n?void 0:n.trim();if(!c||!d){console.error("Missing required data in response");return}let[o,m]=c.replace("+QGDCNT:","").split(",").map(e=>parseInt(e.trim())),[x,u]=d.replace("+QGDNRCNT:","").split(",").map(e=>parseInt(e.trim()));s(ew((m||0)+(x||0))),l(ew((o||0)+(u||0)))},c=(0,n.useCallback)(async()=>{try{let e=await fetch("/cgi-bin/home/fetch_data_usage.sh"),s=await e.json();i(s)}catch(e){console.error("Error fetching traffic stats:",e)}},[]);return(0,n.useEffect)(()=>{c();let e=setInterval(c,12e3);return()=>clearInterval(e)},[c]),{bytesSent:e,bytesReceived:t,lastUpdateTime:r,refresh:(0,n.useCallback)(()=>{c()},[c])}},ey=()=>{let[e,s]=(0,n.useState)(!1),[t,l]=(0,n.useState)(null),r=(e,s)=>{let t=e.split("\n")[1].split(":")[1].split(",")[1].trim(),l=s.split("\n")[1].split(":")[1].split(",")[1].trim();return"1"===t||"1"===l?"Registered":"Not Registered"},a=(e,s)=>e.split("\n")[1].split(":")[1].split(",")[2].replace(/"/g,"").trim()===s.split("\n")[1].split(":")[1].split(",")[2].replace(/"/g,"").trim()?"Enabled":"Disabled",i=e=>{let s=e.split("\n")[1].split(":")[1].split(",")[1].trim(),t=e.split("\n")[2].split(":")[1].split(",")[1].trim();return s&&"1"===s||t&&"1"===t?"Connected":"Disconnected"},c=e=>{try{let s=e.trim().split("\n").map(e=>e.trim()),t=s.find(e=>e.includes("+QRSRP:")&&e.includes("LTE")),l=s.find(e=>e.includes("+QRSRP:")&&e.includes("NR5G")),n=[];t&&(n=t.split(":")[1].split(",").slice(0,4).map(e=>e.trim()).filter(e=>!isNaN(parseInt(e))).map(e=>parseInt(e)));let r=[];if(l&&(r=l.split(":")[1].split(",").slice(0,4).map(e=>e.trim()).filter(e=>!isNaN(parseInt(e))).map(e=>parseInt(e))),n=n.filter(e=>-32768!==e),r=r.filter(e=>-32768!==e),n=n.filter(e=>-140!==e),r=r.filter(e=>-140!==e),n.length>0){let e=n.reduce((e,s)=>e+s,0)/n.length;if(r.length>0){let s=r.reduce((e,s)=>e+s,0)/r.length;return(e+s)/2<-100?"Poor":"Good"}return e<-100?"Poor":"Good"}if(r.length>0)return r.reduce((e,s)=>e+s,0)/r.length<-100?"Poor":"Good";return"N/A"}catch(e){return console.error("Error processing cell signal:",e),"N/A"}},d=e=>{let s=e.split("\n").filter(e=>e.startsWith("+QTEMP:")).map(e=>parseInt(e.split(":")[1].split(",")[1].replace(/"/g,"").trim())).filter(e=>e>=0&&e<99);return s.reduce((e,s)=>e+s,0)/s.length<50?"Normal":"High"},o=e=>{let s=e.split("\n")[1].split(":")[1].split(",")[1].trim(),t=e.split("\n")[2].split(":")[1].split(",")[1].trim(),l=e.split("\n")[3].split(":")[1].split(",")[1].trim(),n=["0"!==s?"".concat(s):null,"0"!==t?"".concat(t):null,"0"!==l?"".concat(l):null].filter(Boolean);return n.length>0?n.join(", "):"None"};return{isRunningDiagnostics:e,runDiagnosticsData:t,startDiagnostics:async()=>{s(!0);try{let e=await fetch("/cgi-bin/fetch_data.sh?set=6"),s=await e.json();console.log("Diagnostics data:",s);let t={netRegistration:r(s[0].response,s[1].response),simState:s[2].response.split("\n")[1].split(":")[1].trim(),manualAPN:a(s[3].response,s[4].response),wanIP:i(s[5].response),cellSignal:c(s[6].response),modemTemp:d(s[7].response),netReject:o(s[8].response)};return l(t),t}catch(e){throw console.error("Error running diagnostics:",e),e}finally{s(!1)}}}};var eS=t(80159),ek=t(44734);let eE=e=>{let{shouldScaleBackground:s=!0,...t}=e;return(0,l.jsx)(ek._s.Root,{shouldScaleBackground:s,...t})};eE.displayName="Drawer";let eA=ek._s.Trigger,eC=ek._s.Portal;ek._s.Close;let eR=n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,l.jsx)(ek._s.Overlay,{ref:s,className:(0,H.cn)("fixed inset-0 z-50 bg-black/80",t),...n})});eR.displayName=ek._s.Overlay.displayName;let eT=n.forwardRef((e,s)=>{let{className:t,children:n,...r}=e;return(0,l.jsxs)(eC,{children:[(0,l.jsx)(eR,{}),(0,l.jsxs)(ek._s.Content,{ref:s,className:(0,H.cn)("fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",t),...r,children:[(0,l.jsx)("div",{className:"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted"}),n]})]})});eT.displayName="DrawerContent",n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,l.jsx)(ek._s.Title,{ref:s,className:(0,H.cn)("text-lg font-semibold leading-none tracking-tight",t),...n})}).displayName=ek._s.Title.displayName,n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,l.jsx)(ek._s.Description,{ref:s,className:(0,H.cn)("text-sm text-muted-foreground",t),...n})}).displayName=ek._s.Description.displayName;var eI=t(12607),eU=t(25262),eM=t(8782),eB=t(10964),eD=t(89463),eL=t(90304),ez=t(622),eG=t(20633),e_=t(7778),eP=t(99312),eF=t(92823),eH=t(90281);let eZ=e=>{if(null==e)return"N/A";let s=["B","KB","MB","GB"],t=e,l=0;for(;t>=1024&&l{if(null==e)return"N/A";let s=["bps","Kbps","Mbps","Gbps"],t=8*e,l=0;for(;t>=1e3&&l{let[e,s]=(0,n.useState)(null),[t,r]=(0,n.useState)(null),[i,c]=(0,n.useState)(!1),[d,o]=(0,n.useState)(null),[m,x]=(0,n.useState)(!1),[u,p]=(0,n.useState)(!1),[h,f]=(0,n.useState)(!1),[g,j]=(0,n.useState)(0),[N,v]=(0,n.useState)(!1),[w,b]=(0,n.useState)(!1),y=(0,n.useRef)(null),S=(0,n.useRef)(null),k=(0,n.useCallback)(()=>{s(null),r(null),o(null),x(!1),p(!1),f(!1),j(0),y.current=null},[]),E=(0,n.useCallback)(async()=>{try{let e=await fetch("/cgi-bin/experimental/keep_alive.sh?status=true"),s=await e.json();if(s.enabled){let e=new Date,t=60*e.getHours()+e.getMinutes(),[l,n]=s.start_time.split(":").map(Number),[r,a]=s.end_time.split(":").map(Number);b(t>=60*l+n&&t<=60*r+a)}else b(!1)}catch(e){console.error("Failed to check keep-alive schedule:",e),b(!1)}},[]);(0,n.useEffect)(()=>{E();let e=setInterval(E,6e4);return()=>clearInterval(e)},[E]),(0,n.useEffect)(()=>{if(m&&!u){v(!0);let e=setTimeout(()=>{v(!1)},1e4);return()=>clearTimeout(e)}},[m,u]),(0,n.useEffect)(()=>()=>{S.current&&S.current.abort()},[]);let A=(0,n.useCallback)(async()=>{if(!N&&!w)try{if(k(),f(!0),S.current&&S.current.abort(),!(await fetch("/cgi-bin/home/speedtest/start_speedtest.sh",{method:"GET"})).ok)throw Error("Failed to start speedtest");C()}catch(e){console.error("Speedtest start error:",e),o(e instanceof Error?"Failed to start speedtest: ".concat(e.message):"Failed to start speedtest"),f(!1)}},[N,w,k]),C=(0,n.useCallback)(()=>{S.current=new AbortController,c(!1),p(!0),f(!1);try{fetch("/cgi-bin/home/speedtest/speedtest_stream.sh",{method:"GET",signal:S.current.signal}).then(async e=>{var l;if(!e.ok)throw Error("Network response was not ok");c(!0);let n=null===(l=e.body)||void 0===l?void 0:l.getReader(),a=new TextDecoder;if(!n)throw Error("Unable to get reader from response body");let i="";for(;;){let{done:e,value:l}=await n.read();if(e)break;let c=a.decode(l,{stream:!0}),d=(i+=c).split("\n\n");for(let e of(i=d.pop()||"",d))if(e.startsWith("data: "))try{let l=JSON.parse(e.replace("data: ","").trim());switch(l.type){case"ping":r("ping"),j(l.ping.progress);break;case"download":case"upload":"ping"!==t&&r(l.type);break;case"result":x(!0),p(!1),n.cancel()}y.current=l,s(l)}catch(e){console.error("Parsing error:",e)}}}).catch(e=>{"AbortError"!==e.name&&(console.error("Fetch error:",e),o("Connection failed: ".concat(e instanceof Error?e.message:String(e))),p(!1))})}catch(e){console.error("Failed to initialize fetch:",e),o("Failed to connect to speedtest stream"),p(!1)}},[t]);return(0,l.jsxs)(a.Zp,{children:[(0,l.jsx)(a.aR,{children:(0,l.jsx)(a.ZB,{children:"Network Speedtest"})}),(0,l.jsxs)(a.Wu,{className:"flex flex-col gap-6 p-4 items-center justify-center",children:[(0,l.jsxs)(eE,{children:[(0,l.jsx)(eA,{asChild:!0,children:(0,l.jsxs)("div",{className:"relative flex flex-col items-center justify-center",children:[(0,l.jsx)(eH.A,{color:"#5420ab",size:192,className:"-top-8 -left-8 absolute",style:{zIndex:1}}),(0,l.jsx)(D.A,{className:"size-32 ".concat(w?"text-gray-400 cursor-not-allowed":"text-primary cursor-pointer"," z-10"),onClick:A})]})}),(0,l.jsx)(eT,{children:(0,l.jsx)("div",{className:"lg:max-w-full max-w-sm mx-auto min-w-sm p-6 py-12",children:(()=>{var s,n,r,i,c,o,x,u,p,f,j;if(d)return(0,l.jsxs)("div",{className:"flex flex-col items-center justify-center space-y-4",children:[(0,l.jsx)(eI.A,{className:"text-rose-600 lg:size-48 size-16 animate-pulse"}),(0,l.jsx)("h3",{className:"text-xl font-semibold",children:"Network Speedtest Failed"}),(0,l.jsxs)("p",{className:"text-sm text-gray-500",children:["Something went wrong while running the speedtest.",(0,l.jsx)("p",{className:"underline cursor-pointer ml-2",onClick:A,children:"Please try again."})]})]});if(h)return(0,l.jsxs)("div",{className:"flex flex-col items-center justify-center space-y-4",children:[(0,l.jsx)(eU.A,{className:"text-primary lg:size-48 size-16 animate-pulse"}),(0,l.jsx)("h3",{className:"text-xl font-semibold",children:"Initiating Network Speedtest"}),(0,l.jsx)("p",{className:"text-sm text-gray-500 text-center",children:"Locating and establishing a connection to a server. Please wait..."})]});if("ping"===t)return(0,l.jsxs)("div",{className:"flex flex-col items-center justify-center space-y-4",children:[(0,l.jsx)(eM.A,{className:"text-gray-600 size-16 animate-pulse"}),(0,l.jsx)("h3",{className:"text-xl font-semibold",children:"Calculating Ping Latency"}),(0,l.jsx)("div",{className:"w-full bg-gray-200 rounded-full h-2.5",children:(0,l.jsx)("div",{className:"bg-blue-600 h-2.5 rounded-full",style:{width:"".concat(100*(g||0),"%")}})}),(0,l.jsx)("p",{className:"text-sm text-gray-500",children:(null==e?void 0:e.ping)?"Latency: ".concat(e.ping.latency.toFixed(2)," ms, \n Jitter: ").concat(e.ping.jitter.toFixed(2)," ms"):"Measuring network responsiveness..."})]});if(m)return(0,l.jsxs)("div",{className:"grid lg:grid-cols-2 grid-cols-1 grid-flow-row gap-4 w-full min-w-sm",children:[(0,l.jsxs)(a.Zp,{children:[(0,l.jsx)(a.aR,{children:(0,l.jsxs)(a.ZB,{className:"flex items-center",children:[(0,l.jsx)(eB.A,{className:"mr-4 text-violet-600"})," Speedtest Result"]})}),(0,l.jsx)(a.Wu,{className:"lg:py-12 py-6 min-w-sm w-full",children:(0,l.jsxs)("div",{className:"grid lg:grid-cols-2 grid-cols-1 grid-flow-row gap-4 lg:gap-y-0 gap-y-8 gap-x-8",children:[(0,l.jsxs)("div",{className:"grid gap-1 place-items-center",children:[(0,l.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,l.jsx)(eD.A,{className:"text-green-600 lg:size-6 size-4"}),(0,l.jsx)("p",{className:"font-semibold",children:"Download"})]}),(0,l.jsx)("h1",{className:"text-[3rem] font-semibold text-center antialiased leading-tight",children:eO(null==e?void 0:e.download.bandwidth)}),(0,l.jsxs)("div",{className:"grid gap-0.5 lg:flex lg:items-center lg:space-x-1",children:[(0,l.jsxs)("div",{className:"flex items-center justify-center gap-x-2",children:[(0,l.jsx)(eL.A,{className:"text-gray-600 lg:size-6 size-4"}),(0,l.jsx)("p",{className:"text-foreground-muted text-sm text-center",children:"Latency"})]}),(0,l.jsxs)("p",{className:"text-foreground-muted text-sm text-center",children:[null!==(x=null==e?void 0:null===(i=e.download.latency)||void 0===i?void 0:null===(r=i.iqm)||void 0===r?void 0:r.toFixed(2))&&void 0!==x?x:"N/A"," ","ms"]})]})]}),(0,l.jsxs)("div",{className:"grid gap-1.5 place-items-center",children:[(0,l.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,l.jsx)(ez.A,{className:"text-violet-600 lg:size-6 size-4"}),(0,l.jsx)("p",{className:"font-semibold",children:"Upload"})]}),(0,l.jsx)("h1",{className:"text-[3rem] font-semibold text-center antialiased leading-tight",children:eO(null==e?void 0:e.upload.bandwidth)}),(0,l.jsxs)("div",{className:"grid gap-0.5 lg:flex lg:items-center lg:space-x-1",children:[(0,l.jsxs)("div",{className:"flex items-center justify-center gap-x-2",children:[(0,l.jsx)(eL.A,{className:"text-gray-600 lg:size-6 size-4"}),(0,l.jsx)("p",{className:"text-foreground-muted text-sm text-center",children:"Latency"})]}),(0,l.jsxs)("p",{className:"text-foreground-muted text-sm text-center",children:[null!==(u=null==e?void 0:null===(o=e.upload.latency)||void 0===o?void 0:null===(c=o.iqm)||void 0===c?void 0:c.toFixed(2))&&void 0!==u?u:"N/A"," ","ms"]})]})]})]})}),(0,l.jsxs)(a.wL,{className:"mt-4 grid grid-cols-2 grid-flow-row gap-2 truncate",children:[(0,l.jsxs)("div",{className:"grid gap-0.5 lg:flex lg:items-center lg:space-x-1",children:[(0,l.jsxs)("div",{className:"flex items-center justify-center gap-x-2",children:[(0,l.jsx)(eM.A,{className:"text-gray-600 lg:size-6 size-4"}),(0,l.jsx)("p",{className:"text-foreground-muted text-sm text-center",children:"Ping"})]}),(0,l.jsxs)("p",{className:"text-foreground-muted text-sm text-center",children:[null!==(p=null==e?void 0:e.ping.latency.toFixed(2))&&void 0!==p?p:"N/A"," ms"]})]}),(0,l.jsxs)("div",{className:"grid gap-0.5 lg:flex lg:items-center lg:space-x-1",children:[(0,l.jsxs)("div",{className:"flex items-center justify-center gap-x-2",children:[(0,l.jsx)(eG.A,{className:"text-gray-600 lg:size-6 size-4"}),(0,l.jsx)("p",{className:"text-foreground-muted text-sm text-center",children:"Jitter"})]}),(0,l.jsxs)("p",{className:"text-foreground-muted text-sm text-center",children:[null!==(f=null==e?void 0:e.ping.jitter.toFixed(2))&&void 0!==f?f:"N/A"," ms"]})]})]})]}),(0,l.jsxs)(a.Zp,{children:[(0,l.jsx)(a.aR,{children:(0,l.jsxs)(a.ZB,{className:"flex items-center",children:[(0,l.jsx)(e_.A,{className:"mr-4 text-blue-600"})," Connection & Server Details"]})}),(0,l.jsx)(a.Wu,{children:(0,l.jsxs)("div",{className:"grid gap-2",children:[(0,l.jsxs)("div",{className:"grid grid-cols-2 grid-flow-row gap-2 truncate",children:[(0,l.jsx)("p",{className:"font-medium",children:"ISP:"}),(0,l.jsx)("p",{children:null==e?void 0:e.isp})]}),(0,l.jsxs)("div",{className:"grid grid-cols-2 grid-flow-row gap-2 truncate",children:[(0,l.jsx)("p",{className:"font-medium",children:"Internal IP:"}),(0,l.jsx)("p",{children:null==e?void 0:e.interface.internalIp})]}),(0,l.jsxs)("div",{className:"grid grid-cols-2 grid-flow-row gap-2 truncate",children:[(0,l.jsx)("p",{className:"font-medium",children:"External IP:"}),(0,l.jsx)("p",{children:null==e?void 0:e.interface.externalIp})]}),(0,l.jsxs)("div",{className:"grid grid-cols-2 grid-flow-row gap-2 truncate",children:[(0,l.jsx)("p",{className:"font-medium",children:"Server Name:"}),(0,l.jsx)("p",{children:null==e?void 0:e.server.name})]}),(0,l.jsxs)("div",{className:"grid grid-cols-2 grid-flow-row gap-2 truncate",children:[(0,l.jsx)("p",{className:"font-medium",children:"Location:"}),(0,l.jsx)("p",{children:null==e?void 0:e.server.location})]}),(0,l.jsxs)("div",{className:"grid grid-cols-2 grid-flow-row gap-2 truncate",children:[(0,l.jsx)("p",{className:"font-medium",children:"Country:"}),(0,l.jsx)("p",{children:null==e?void 0:e.server.country})]}),(0,l.jsxs)("div",{className:"grid grid-cols-2 grid-flow-row gap-2 truncate",children:[(0,l.jsx)("p",{className:"font-medium",children:"Server IP:"}),(0,l.jsx)("p",{children:null==e?void 0:e.server.host})]}),(null==e?void 0:e.result.url)&&(0,l.jsxs)("div",{className:"flex items-center gap-x-2 mt-4",children:[(0,l.jsx)(eP.A,{className:"text-blue-600 size-4"}),(0,l.jsx)("a",{href:e.result.url,target:"_blank",rel:"noopener noreferrer",className:"font-medium text-blue-600 hover:underline",children:"View Full Result Online"})]})]})})]})]});if(!t||!e)return null;let N=e[t],v="download"===t;return(0,l.jsxs)(a.Zp,{className:"p-4 w-full",children:[(0,l.jsx)(a.aR,{children:(0,l.jsxs)(a.ZB,{className:"flex items-center",children:[v?(0,l.jsx)(eD.A,{className:"text-green-500 lg:size-6 size-4 mr-1"}):(0,l.jsx)(ez.A,{className:"text-violet-500 lg:size-6 size-4 mr-1"}),(0,l.jsxs)("p",{className:"ml-2",children:["Testing ",v?"Download":"Upload"," Speed"]})]})}),(0,l.jsx)(a.Wu,{children:(0,l.jsx)("div",{className:"grid place-items-center max-w-sm lg:max-w-full mx-auto w-full",children:(0,l.jsx)("h1",{className:"lg:text-[4rem] text-[3rem] font-semibold text-center",children:eO(N.bandwidth)})})}),(0,l.jsx)(a.wL,{children:(0,l.jsxs)("div",{className:"grid lg:grid-cols-3 grid-cols-1 grid-flow-row gap-4",children:[(0,l.jsxs)("div",{className:"grid gap-1 place-items-center",children:[(0,l.jsxs)("div",{className:"flex items-center",children:[(0,l.jsx)(eF.A,{className:"mr-2 text-yellow-600"}),"Bytes Transferred"]}),(0,l.jsx)("p",{className:"lg:text-md text-base text-muted font-semibold",children:eZ(N.bytes)})]}),(0,l.jsxs)("div",{className:"grid gap-1 place-items-center",children:[(0,l.jsxs)("div",{className:"flex items-center",children:[(0,l.jsx)(eB.A,{className:"mr-2 text-purple-600"}),"Elapsed Time"]}),(0,l.jsxs)("p",{className:"lg:text-md text-base text-muted font-semibold",children:[(N.elapsed/1e3).toFixed(2)," sec"]})]}),(0,l.jsxs)("div",{className:"grid gap-1 place-items-center",children:[(0,l.jsxs)("div",{className:"flex items-center",children:[(0,l.jsx)(eM.A,{className:"mr-2 text-gray-600"}),"Latency (IQM)"]}),(0,l.jsxs)("p",{className:"lg:text-md text-base text-muted font-semibold",children:[null!==(j=null===(n=N.latency)||void 0===n?void 0:null===(s=n.iqm)||void 0===s?void 0:s.toFixed(2))&&void 0!==j?j:"N/A"," ms"]})]})]})})]})})()})})]}),(0,l.jsx)(a.BT,{children:w?"Speedtest is disabled during keep-alive schedule.":N?"Please wait 10 seconds before starting another test.":"Run a speed test to check your internet connection."})]})]})},eQ=()=>{let{toast:e}=(0,r.dj)(),{data:s,isLoading:t,refresh:a}=eN(),{dataConnectionState:i,isStateLoading:c,refresh:o}=ev(),{isRunningDiagnostics:m,runDiagnosticsData:x,startDiagnostics:u}=ey(),{bytesSent:g,bytesReceived:j,refresh:N}=eb(),v=async()=>{try{let s=await fetch("/cgi-bin/settings/force-rerun.sh"),t=await s.json();if("success"===t.status)e({title:"Data Refreshed",description:"Data and scripts has been refreshed successfully"});else if("info"===t.status)e({title:"Data Refreshed",description:"Data refreshed successfully, but no scripts to restart."});else throw Error("Failed to restart scripts")}catch(s){console.error("Error rerunning scripts:",s),e({variant:"destructive",title:"Script Restart Failed",description:"Failed to restart the required scripts"})}},w=async()=>{try{var t;let l=null==s?void 0:null===(t=s.simCard)||void 0===t?void 0:t.slot,n=encodeURIComponent("Slot 1"===l?"AT+QUIMSLOT=1":"AT+QUIMSLOT=2"),r=await fetch("/cgi-bin/at_command.sh?command=".concat(n));if(!r.ok)throw Error("HTTP error! status: ".concat(r.status));let a=await r.json();if(a.error)throw Error(a.error);e({title:"SIM Slot Changed",description:"The SIM slot has been changed successfully"}),setTimeout(async()=>{let e=encodeURIComponent("AT+COPS=0;+COPS=2"),s=await fetch("/cgi-bin/at_command.sh?command=".concat(e));if(!s.ok)throw Error("HTTP error! status: ".concat(s.status));let t=await s.json();if(t.error)throw Error(t.error)},3e3),setTimeout(b,3e3)}catch(s){console.error("Error changing SIM slot:",s),e({variant:"destructive",title:"SIM Slot Change Failed",description:"Failed to change the SIM slot"})}},b=(0,n.useCallback)(async()=>{try{await Promise.all([a(),o(),N()]),await v()}catch(s){console.error("Error refreshing data:",s),e({variant:"destructive",title:"Refresh Failed",description:"Failed to refresh the data"})}},[a,o,N,e]),[y,k]=(0,n.useState)([]),A=async()=>{try{await u()}catch(e){console.error("Error running diagnostics:",e)}};return(0,n.useEffect)(()=>{x&&console.log("Diagnostics data updated:",x)},[x]),(0,n.useEffect)(()=>{if(s&&s.currentBands){var e;let t=null===(e=s.currentBands.id)||void 0===e?void 0:e.map((e,t)=>{var l,n,r,a,i,c,d;return{id:e,bandNumber:(null===(l=s.currentBands.bandNumber)||void 0===l?void 0:l[t])||"N/A",earfcn:(null===(n=s.currentBands.earfcn)||void 0===n?void 0:n[t])||"N/A",bandwidth:(null===(r=s.currentBands.bandwidth)||void 0===r?void 0:r[t])||"N/A",pci:(null===(a=s.currentBands.pci)||void 0===a?void 0:a[t])||"N/A",rsrp:(null===(i=s.currentBands.rsrp)||void 0===i?void 0:i[t])||"N/A",rsrq:(null===(c=s.currentBands.rsrq)||void 0===c?void 0:c[t])||"N/A",sinr:(null===(d=s.currentBands.sinr)||void 0===d?void 0:d[t])||"N/A"}});t&&k(t)}},[s]),(0,l.jsxs)("div",{className:"grid xl:gap-y-12 gap-y-8 gap-4",children:[(0,l.jsxs)("div",{className:"grid gap-4",children:[(0,l.jsxs)("div",{className:"flex flex-row justify-between items-center",children:[(0,l.jsxs)("div",{className:"flex flex-row gap-2 items-center",children:[(0,l.jsx)("h1",{className:"xl:text-3xl text-base font-bold",children:"Connection Summary"}),(0,l.jsx)(U.$,{variant:"ghost",size:"icon",className:"text-sm",onClick:b,children:(0,l.jsx)(B.A,{className:"xl:size-6 size-5 text-blue-500",strokeWidth:3})})]}),(0,l.jsxs)("div",{className:"flex flex-row items-center gap-x-2",children:[(null==s?void 0:s.simCard.state)==="Not Inserted"&&(0,l.jsxs)(M.lG,{children:[(0,l.jsx)(M.zM,{children:(0,l.jsxs)(U.$,{variant:"destructive",children:[(0,l.jsx)(eS.fU4,{className:"xl:size-6 size-5"}),(0,l.jsx)("span",{className:"hidden md:block",children:"No SIM"})]})}),(0,l.jsxs)(M.Cf,{className:"max-w-xs md:max-w-lg",children:[(0,l.jsx)(M.c7,{children:(0,l.jsx)(M.L3,{children:"No SIM Detected"})}),(0,l.jsxs)("div",{className:"grid gap-4 py-4",children:[(0,l.jsx)("div",{className:"flex items-center justify-center",children:(0,l.jsx)(eS.fU4,{className:"xl:size-14 md:size-12 size-6 text-red-500"})}),(0,l.jsx)("p",{className:"text-center",children:"There is no SIM card detected in the device. Please insert a SIM card or change the SIM card slot to use the device."})]}),(0,l.jsxs)("div",{className:"flex justify-end mt-4",children:[(0,l.jsx)(U.$,{variant:"secondary",onClick:w,className:"mr-2",children:"Change SIM Slot"}),(0,l.jsx)(M.HM,{asChild:!0,children:(0,l.jsx)(U.$,{children:"Close"})})]})]})]}),(0,l.jsxs)(M.lG,{children:[(0,l.jsx)(M.zM,{children:(0,l.jsxs)(U.$,{variant:"secondary",onClick:A,children:[(0,l.jsx)(D.A,{className:"xl:size-6 size-5"}),(0,l.jsx)("span",{className:"hidden md:block",children:"Run Diagnostics"})]})}),!m&&(0,l.jsxs)(M.Cf,{className:"max-w-xs md:max-w-lg",children:[(0,l.jsx)(M.c7,{children:(0,l.jsx)(M.L3,{children:"Diagnostics Result"})}),(0,l.jsx)(M.rr,{children:"This is the result of the diagnostic test ran on your device."}),(0,l.jsxs)("div",{className:"grid gap-4 py-4",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsx)("h3",{className:"font-semibold",children:"Network Registration "}),(null==x?void 0:x.netRegistration)==="Registered"?(0,l.jsx)(L.A,{className:"text-green-500"}):(0,l.jsx)(z.A,{className:"text-red-500"})]}),(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsx)("h3",{className:"font-semibold",children:"U-SIM State"}),(null==x?void 0:x.simState)==="READY"?(0,l.jsx)(L.A,{className:"text-green-500"}):(0,l.jsx)(z.A,{className:"text-red-500"})]}),(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsx)("h3",{className:"font-semibold",children:"Manual APN"}),(null==x?void 0:x.manualAPN)==="Enabled"?(0,l.jsx)(L.A,{className:"text-green-500"}):(0,l.jsx)(z.A,{className:"text-red-500"})]}),(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsx)("h3",{className:"font-semibold",children:"WAN IP"}),(null==x?void 0:x.wanIP)==="Connected"?(0,l.jsx)(L.A,{className:"text-green-500"}):(0,l.jsx)(z.A,{className:"text-red-500"})]}),(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsx)("h3",{className:"font-semibold",children:"Cellular Signal"}),(null==x?void 0:x.cellSignal)==="Good"?(0,l.jsx)(L.A,{className:"text-green-500"}):(0,l.jsx)(z.A,{className:"text-red-500"})]}),(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsx)("h3",{className:"font-semibold",children:"Modem Temperature"}),(null==x?void 0:x.modemTemp)==="Normal"?(0,l.jsx)(L.A,{className:"text-green-500"}):(0,l.jsx)(z.A,{className:"text-red-500"})]}),(0,l.jsxs)("div",{className:"flex items-center justify-between mt-6",children:[(0,l.jsx)("h3",{className:"font-semibold",children:"Net Reject Cause"}),(null==x?void 0:x.netReject)==="None"?(0,l.jsxs)("div",{className:"flex space-x-2 items-center",children:[(0,l.jsx)(L.A,{className:"text-green-500"}),(0,l.jsx)("span",{children:"None"})]}):(0,l.jsxs)("div",{className:"flex space-x-2 items-center",children:[(0,l.jsx)(z.A,{className:"text-red-500"}),(0,l.jsx)("span",{children:null==x?void 0:x.netReject})]})]})]})]}),m&&(0,l.jsxs)(M.Cf,{className:"max-w-xs md:max-w-lg",children:[(0,l.jsx)(M.c7,{children:(0,l.jsx)(M.L3,{children:"Running Diagnostics"})}),(0,l.jsx)("div",{className:"flex items-center justify-center my-4",children:(0,l.jsx)(_(),{color:"#6D28D9"})}),(0,l.jsx)(M.rr,{className:"text-center",children:"Please wait while we run diagnostics on your device."})]})]})]})]}),(0,l.jsxs)("div",{className:"grid lg:grid-cols-2 grid-cols-1 grid-flow-row gap-4",children:[(0,l.jsx)("div",{children:(0,l.jsx)(S,{})}),(0,l.jsxs)("div",{className:"grid gap-2 lg:grid-cols-2 grid-cols-1 grid-flow-row",children:[(0,l.jsx)(E,{}),(0,l.jsx)(C,{}),(0,l.jsx)(eW,{}),(0,l.jsx)(I,{})]})]}),(0,l.jsxs)("div",{className:"grid 2xl:grid-cols-4 lg:grid-cols-2 grid-cols-1 gap-4",children:[(0,l.jsx)(d,{data:s,isLoading:t}),(0,l.jsx)(p,{data:s,isLoading:t,dataConnectionState:i,connectionStateLoading:c}),(0,l.jsx)(h,{data:s,isLoading:t,bytesSent:g,bytesReceived:j}),(0,l.jsx)(f,{data:s,isLoading:t})]})]}),(0,l.jsxs)("div",{className:"grid xl:gap-6 gap-4",children:[(0,l.jsx)("h1",{className:"xl:text-3xl text-base font-bold",children:"Current Active Bands"}),(0,l.jsx)(J,{bands:y,isLoading:t})]})]})}},45934:(e,s,t)=>{"use strict";t.d(s,{E:()=>i});var l=t(20475);t(20107);var n=t(29395),r=t(22250);let a=(0,n.F)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i(e){let{className:s,variant:t,...n}=e;return(0,l.jsx)("div",{className:(0,r.cn)(a({variant:t}),s),...n})}},42541:(e,s,t)=>{"use strict";t.d(s,{$:()=>d,r:()=>c});var l=t(20475),n=t(20107),r=t(61837),a=t(29395),i=t(22250);let c=(0,a.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),d=n.forwardRef((e,s)=>{let{className:t,variant:n,size:a,asChild:d=!1,...o}=e,m=d?r.DX:"button";return(0,l.jsx)(m,{className:(0,i.cn)(c({variant:n,size:a,className:t})),ref:s,...o})});d.displayName="Button"},72167:(e,s,t)=>{"use strict";t.d(s,{BT:()=>d,Wu:()=>o,ZB:()=>c,Zp:()=>a,aR:()=>i,wL:()=>m});var l=t(20475),n=t(20107),r=t(22250);let a=n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,l.jsx)("div",{ref:s,className:(0,r.cn)("rounded-xl border bg-card text-card-foreground shadow",t),...n})});a.displayName="Card";let i=n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,l.jsx)("div",{ref:s,className:(0,r.cn)("flex flex-col space-y-1.5 p-6",t),...n})});i.displayName="CardHeader";let c=n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,l.jsx)("h3",{ref:s,className:(0,r.cn)("font-semibold leading-none tracking-tight",t),...n})});c.displayName="CardTitle";let d=n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,l.jsx)("p",{ref:s,className:(0,r.cn)("text-sm text-muted-foreground",t),...n})});d.displayName="CardDescription";let o=n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,l.jsx)("div",{ref:s,className:(0,r.cn)("p-6 pt-0",t),...n})});o.displayName="CardContent";let m=n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,l.jsx)("div",{ref:s,className:(0,r.cn)("flex items-center p-6 pt-0",t),...n})});m.displayName="CardFooter"},1307:(e,s,t)=>{"use strict";t.d(s,{II:()=>p,Nt:()=>h,at:()=>x});var l=t(20475),n=t(20107),r=t(81155),a=t(80982),i=t(58736),c=t(22250);let d={light:"",dark:".dark"},o=n.createContext(null);function m(){let e=n.useContext(o);if(!e)throw Error("useChart must be used within a ");return e}let x=n.forwardRef((e,s)=>{let{id:t,className:a,children:i,config:d,...m}=e,x=n.useId(),p="chart-".concat(t||x.replace(/:/g,""));return(0,l.jsx)(o.Provider,{value:{config:d},children:(0,l.jsxs)("div",{"data-chart":p,ref:s,className:(0,c.cn)("flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none",a),...m,children:[(0,l.jsx)(u,{id:p,config:d}),(0,l.jsx)(r.u,{children:i})]})})});x.displayName="Chart";let u=e=>{let{id:s,config:t}=e,n=Object.entries(t).filter(e=>{let[s,t]=e;return t.theme||t.color});return n.length?(0,l.jsx)("style",{dangerouslySetInnerHTML:{__html:Object.entries(d).map(e=>{let[t,l]=e;return"\n".concat(l," [data-chart=").concat(s,"] {\n").concat(n.map(e=>{var s;let[l,n]=e,r=(null===(s=n.theme)||void 0===s?void 0:s[t])||n.color;return r?" --color-".concat(l,": ").concat(r,";"):null}).join("\n"),"\n}\n")}).join("\n")}}):null},p=a.m,h=n.forwardRef((e,s)=>{let{active:t,payload:r,className:a,indicator:i="dot",hideLabel:d=!1,hideIndicator:o=!1,label:x,labelFormatter:u,labelClassName:p,formatter:h,color:g,nameKey:j,labelKey:N}=e,{config:v}=m(),w=n.useMemo(()=>{var e;if(d||!(null==r?void 0:r.length))return null;let[s]=r,t="".concat(N||s.dataKey||s.name||"value"),n=f(v,s,t),a=N||"string"!=typeof x?null==n?void 0:n.label:(null===(e=v[x])||void 0===e?void 0:e.label)||x;return u?(0,l.jsx)("div",{className:(0,c.cn)("font-medium",p),children:u(a,r)}):a?(0,l.jsx)("div",{className:(0,c.cn)("font-medium",p),children:a}):null},[x,u,r,d,p,v,N]);if(!t||!(null==r?void 0:r.length))return null;let b=1===r.length&&"dot"!==i;return(0,l.jsxs)("div",{ref:s,className:(0,c.cn)("grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",a),children:[b?null:w,(0,l.jsx)("div",{className:"grid gap-1.5",children:r.map((e,s)=>{let t="".concat(j||e.name||e.dataKey||"value"),n=f(v,e,t),r=g||e.payload.fill||e.color;return(0,l.jsx)("div",{className:(0,c.cn)("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground","dot"===i&&"items-center"),children:h&&(null==e?void 0:e.value)!==void 0&&e.name?h(e.value,e.name,e,s,e.payload):(0,l.jsxs)(l.Fragment,{children:[(null==n?void 0:n.icon)?(0,l.jsx)(n.icon,{}):!o&&(0,l.jsx)("div",{className:(0,c.cn)("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",{"h-2.5 w-2.5":"dot"===i,"w-1":"line"===i,"w-0 border-[1.5px] border-dashed bg-transparent":"dashed"===i,"my-0.5":b&&"dashed"===i}),style:{"--color-bg":r,"--color-border":r}}),(0,l.jsxs)("div",{className:(0,c.cn)("flex flex-1 justify-between leading-none",b?"items-end":"items-center"),children:[(0,l.jsxs)("div",{className:"grid gap-1.5",children:[b?w:null,(0,l.jsx)("span",{className:"text-muted-foreground",children:(null==n?void 0:n.label)||e.name})]}),e.value&&(0,l.jsx)("span",{className:"font-mono font-medium tabular-nums text-foreground",children:e.value.toLocaleString()})]})]})},e.dataKey)})})]})});function f(e,s,t){if("object"!=typeof s||null===s)return;let l="payload"in s&&"object"==typeof s.payload&&null!==s.payload?s.payload:void 0,n=t;return t in s&&"string"==typeof s[t]?n=s[t]:l&&t in l&&"string"==typeof l[t]&&(n=l[t]),n in e?e[n]:e[t]}h.displayName="ChartTooltip",i.s,n.forwardRef((e,s)=>{let{className:t,hideIcon:n=!1,payload:r,verticalAlign:a="bottom",nameKey:i}=e,{config:d}=m();return(null==r?void 0:r.length)?(0,l.jsx)("div",{ref:s,className:(0,c.cn)("flex items-center justify-center gap-4","top"===a?"pb-3":"pt-3",t),children:r.map(e=>{let s="".concat(i||e.dataKey||"value"),t=f(d,e,s);return(0,l.jsxs)("div",{className:(0,c.cn)("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),children:[(null==t?void 0:t.icon)&&!n?(0,l.jsx)(t.icon,{}):(0,l.jsx)("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:e.color}}),null==t?void 0:t.label]},e.value)})}):null}).displayName="ChartLegend"},93557:(e,s,t)=>{"use strict";t.d(s,{Cf:()=>u,HM:()=>m,L3:()=>h,c7:()=>p,lG:()=>c,rr:()=>f,zM:()=>d});var l=t(20475),n=t(20107),r=t(71827),a=t(7197),i=t(22250);let c=r.bL,d=r.l9,o=r.ZL,m=r.bm,x=n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,l.jsx)(r.hJ,{ref:s,className:(0,i.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...n})});x.displayName=r.hJ.displayName;let u=n.forwardRef((e,s)=>{let{className:t,children:n,...c}=e;return(0,l.jsxs)(o,{children:[(0,l.jsx)(x,{}),(0,l.jsxs)(r.UC,{ref:s,className:(0,i.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...c,children:[n,(0,l.jsxs)(r.bm,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,l.jsx)(a.MKb,{className:"h-4 w-4"}),(0,l.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});u.displayName=r.UC.displayName;let p=e=>{let{className:s,...t}=e;return(0,l.jsx)("div",{className:(0,i.cn)("flex flex-col space-y-1.5 text-center sm:text-left",s),...t})};p.displayName="DialogHeader";let h=n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,l.jsx)(r.hE,{ref:s,className:(0,i.cn)("text-lg font-semibold leading-none tracking-tight",t),...n})});h.displayName=r.hE.displayName;let f=n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,l.jsx)(r.VY,{ref:s,className:(0,i.cn)("text-sm text-muted-foreground",t),...n})});f.displayName=r.VY.displayName},36760:(e,s,t)=>{"use strict";t.d(s,{E:()=>r});var l=t(20475),n=t(22250);function r(e){let{className:s,...t}=e;return(0,l.jsx)("div",{className:(0,n.cn)("animate-pulse rounded-md bg-primary/10",s),...t})}},32857:(e,s,t)=>{"use strict";t.d(s,{dj:()=>x,oR:()=>m});var l=t(20107);let n=0,r=new Map,a=e=>{if(r.has(e))return;let s=setTimeout(()=>{r.delete(e),o({type:"REMOVE_TOAST",toastId:e})},1e6);r.set(e,s)},i=(e,s)=>{switch(s.type){case"ADD_TOAST":return{...e,toasts:[s.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===s.toast.id?{...e,...s.toast}:e)};case"DISMISS_TOAST":{let{toastId:t}=s;return t?a(t):e.toasts.forEach(e=>{a(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===t||void 0===t?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===s.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==s.toastId)}}},c=[],d={toasts:[]};function o(e){d=i(d,e),c.forEach(e=>{e(d)})}function m(e){let{...s}=e,t=(n=(n+1)%Number.MAX_SAFE_INTEGER).toString(),l=()=>o({type:"DISMISS_TOAST",toastId:t});return o({type:"ADD_TOAST",toast:{...s,id:t,open:!0,onOpenChange:e=>{e||l()}}}),{id:t,dismiss:l,update:e=>o({type:"UPDATE_TOAST",toast:{...e,id:t}})}}function x(){let[e,s]=l.useState(d);return l.useEffect(()=>(c.push(s),()=>{let e=c.indexOf(s);e>-1&&c.splice(e,1)}),[e]),{...e,toast:m,dismiss:e=>o({type:"DISMISS_TOAST",toastId:e})}}},22250:(e,s,t)=>{"use strict";t.d(s,{cn:()=>r});var l=t(64901),n=t(868);function r(){for(var e=arguments.length,s=Array(e),t=0;t{var s=s=>e(e.s=s);e.O(0,[9980,9649,7780,1617,5011,1827,1074,9107,191,6035,7358],()=>s(31710)),_N_E=e.O()}]); \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/layout-a708c25c977af81c.js b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/layout-a708c25c977af81c.js new file mode 100644 index 0000000..0d61403 --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/layout-a708c25c977af81c.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1954],{99750:(e,t,a)=>{Promise.resolve().then(a.bind(a,92646))},92646:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>O});var s=a(20475),r=a(9477),o=a.n(r),n=a(19546),i=a(20107),d=a(16118);let l=e=>{let{children:t}=e,a=(0,d.useRouter)(),{isAuthenticated:r,checkAuth:o}=(0,n.A)();return((0,i.useEffect)(()=>{o()||a.push("/login")},[]),r)?(0,s.jsx)(s.Fragment,{children:t}):null};var c=a(39997);let u=(0,c.A)("RadioTower",[["path",{d:"M4.9 16.1C1 12.2 1 5.8 4.9 1.9",key:"s0qx1y"}],["path",{d:"M7.8 4.7a6.14 6.14 0 0 0-.8 7.5",key:"1idnkw"}],["circle",{cx:"12",cy:"9",r:"2",key:"1092wv"}],["path",{d:"M16.2 4.8c2 2 2.26 5.11.8 7.47",key:"ojru2q"}],["path",{d:"M19.1 1.9a9.96 9.96 0 0 1 0 14.1",key:"rhi7fg"}],["path",{d:"M9.5 18h5",key:"mfy3pd"}],["path",{d:"m8 22 4-11 4 11",key:"25yftu"}]]),m=(0,c.A)("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]),f=(0,c.A)("UserRound",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]),h=(0,c.A)("Power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]);var p=a(42541),x=a(86118),g=a(76837);let y=(0,c.A)("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),b=(0,c.A)("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);var v=a(39524),j=a(71827),w=a(7197),N=a(29395),k=a(22250);let A=j.bL,R=j.l9,C=j.bm,T=j.ZL,S=i.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(j.hJ,{className:(0,k.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...r,ref:t})});S.displayName=j.hJ.displayName;let _=(0,N.F)("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),E=i.forwardRef((e,t)=>{let{side:a="right",className:r,children:o,...n}=e;return(0,s.jsxs)(T,{children:[(0,s.jsx)(S,{}),(0,s.jsxs)(j.UC,{ref:t,className:(0,k.cn)(_({side:a}),r),...n,children:[(0,s.jsxs)(j.bm,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[(0,s.jsx)(w.MKb,{className:"h-4 w-4"}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]}),o]})]})});E.displayName=j.UC.displayName,i.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(j.hE,{ref:t,className:(0,k.cn)("text-lg font-semibold text-foreground",a),...r})}).displayName=j.hE.displayName,i.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(j.VY,{ref:t,className:(0,k.cn)("text-sm text-muted-foreground",a),...r})}).displayName=j.VY.displayName;var D=a(32857);let O=e=>{let{children:t}=e,a=(0,d.usePathname)(),{logout:r}=(0,n.A)(),{setTheme:c}=(0,v.D)(),[j,w]=(0,i.useState)(!1),[N,k]=(0,i.useState)("192.168.224.1"),T=(0,D.dj)(),S=async e=>{try{let t=encodeURIComponent(e),a=await fetch("/cgi-bin/at_command.sh?command=".concat(t),{method:"GET",headers:{Accept:"application/json"},signal:AbortSignal.timeout(5e3)});if(!a.ok)throw Error("Failed to save settings");return a}catch(e){throw console.error("AT Command error:",e),e}},_=async()=>{try{w(!0),await S("AT+QPOWD=1"),T.toast({title:"Rebooting device",description:"Please wait for the device to restart. This may take up to ".concat(90," seconds."),duration:9e4}),setTimeout(()=>{T.toast({title:"Device is now active",description:"The device has been rebooted successfully."})},9e4),setTimeout(()=>{window.location.reload()},92e3)}catch(e){console.error("Reboot error:",e),T.toast({title:"Failed to reboot device",description:"Please try again.",variant:"destructive"})}finally{w(!1)}},O=async()=>{try{await S("AT+COPS=2"),T.toast({title:"Reconnecting to network",description:"Please wait for the device to reconnect."}),await new Promise(e=>setTimeout(e,2e3)),await S("AT+COPS=0"),T.toast({title:"Reconnected to network",description:"The device has been reconnected successfully."}),await new Promise(e=>setTimeout(e,3e3)),window.location.reload()}catch(e){T.toast({title:"Failed to reconnect to network",description:"Please try again.",variant:"destructive"})}(0,i.useEffect)(()=>{(async()=>{try{let e=await fetch("/cgi-bin/settings/get-ip.sh");if(!e.ok)throw Error("HTTP error! status: ".concat(e.status));let t=await e.json();k(t.br_lan_ip)}catch(e){console.error("Failed to fetch IP address:",e),T.toast({title:"Failed to fetch IP address",description:"Using default IP address",variant:"destructive"})}})()},[])};return(0,s.jsxs)("div",{className:"flex min-h-screen w-full flex-col",children:[(0,s.jsxs)("header",{className:"sticky top-0 flex h-16 items-center gap-4 border-b bg-background px-4 md:px-6",children:[(0,s.jsxs)("nav",{className:"hidden flex-col gap-6 text-lg font-medium md:flex md:flex-row md:items-center md:gap-5 md:text-base lg:gap-6",children:[(0,s.jsxs)(o(),{href:"/dashboard/home/",className:"flex items-center gap-2 text-lg font-semibold md:text-xl md:mr-8",children:[(0,s.jsx)(u,{className:"h-6 w-6"}),(0,s.jsx)("h1",{children:"QuecManager"})]}),(0,s.jsx)(o(),{href:"/dashboard/home/",className:"".concat("/dashboard/home/"===a?"text-foreground":"text-muted-foreground"," transition-colors hover:text-foreground"),children:"Home"}),(0,s.jsx)(o(),{href:"/dashboard/cell-settings/basic-settings/",className:"".concat(a.includes("/dashboard/cell-settings/")?"text-foreground":"text-muted-foreground"," transition-colors hover:text-foreground"),children:"Cellular"}),(0,s.jsx)(o(),{href:"/dashboard/advanced-settings/connectivity",className:"".concat(a.includes("/dashboard/advanced-settings")?"text-foreground":"text-muted-foreground"," transition-colors hover:text-foreground"),children:"Advance"}),(0,s.jsx)(o(),{href:"/dashboard/experimental/quecwatch",className:"".concat(a.includes("/dashboard/experimental/")?"text-foreground":"text-muted-foreground"," transition-colors hover:text-foreground"),children:"Experimental"}),(0,s.jsx)(o(),{href:"/dashboard/about/",className:"".concat(a.includes("/dashboard/about/")?"text-foreground":"text-muted-foreground"," transition-colors hover:text-foreground"),children:"About"})]}),(0,s.jsxs)(A,{children:[(0,s.jsx)(R,{asChild:!0,children:(0,s.jsxs)(p.$,{variant:"outline",size:"icon",className:"shrink-0 md:hidden",children:[(0,s.jsx)(m,{className:"h-5 w-5"}),(0,s.jsx)("span",{className:"sr-only",children:"Toggle navigation menu"})]})}),(0,s.jsx)(E,{side:"left",children:(0,s.jsxs)("nav",{className:"grid gap-6 text-lg font-medium",children:[(0,s.jsx)(C,{asChild:!0,children:(0,s.jsxs)(o(),{href:"/dashboard/home/",className:"flex items-center gap-2 text-lg font-semibold",children:[(0,s.jsx)(u,{className:"h-6 w-6"}),(0,s.jsx)("span",{children:"QuecManager"})]})}),(0,s.jsx)(C,{asChild:!0,children:(0,s.jsx)(o(),{href:"/dashboard/home/",className:"".concat("/dashboard/home/"===a?"text-foreground":"text-muted-foreground"," transition-colors hover:text-foreground"),children:"Home"})}),(0,s.jsx)(C,{asChild:!0,children:(0,s.jsx)(o(),{href:"/dashboard/cell-settings/basic-settings/",className:"".concat(a.includes("/dashboard/cell-settings")?"text-foreground":"text-muted-foreground"," transition-colors hover:text-foreground"),children:"Cellular"})}),(0,s.jsx)(C,{asChild:!0,children:(0,s.jsx)(o(),{href:"/dashboard/advanced-settings/connectivity",className:"".concat(a.includes("/dashboard/advanced-settings")?"text-foreground":"text-muted-foreground"," transition-colors hover:text-foreground"),children:"Advance"})}),(0,s.jsx)(C,{asChild:!0,children:(0,s.jsx)(o(),{href:"/dashboard/experimental/",className:"".concat("/dashboard/experimental/"===a?"text-foreground":"text-muted-foreground"," transition-colors hover:text-foreground"),children:"Experimental"})}),(0,s.jsx)(C,{asChild:!0,children:(0,s.jsx)(o(),{href:"/dashboard/about/",className:"".concat("/dashboard/about/"===a?"text-foreground":"text-muted-foreground"," transition-colors hover:text-foreground"),children:"About"})}),(0,s.jsx)(C,{asChild:!0,children:(0,s.jsx)(o(),{href:"/dashboard/settings/security",className:"".concat(a.includes("/dashboard/settings")?"text-foreground":"text-muted-foreground"," transition-colors hover:text-foreground"),children:"Settings"})})]})})]}),(0,s.jsxs)("div",{className:"flex w-full items-center gap-4 md:ml-auto md:gap-2 lg:gap-4",children:[(0,s.jsx)("form",{className:"ml-auto flex-1 sm:flex-initial",children:(0,s.jsxs)(x.rI,{children:[(0,s.jsx)(x.ty,{asChild:!0,children:(0,s.jsxs)(p.$,{variant:"outline",size:"icon",children:[(0,s.jsx)(y,{className:"h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"}),(0,s.jsx)(b,{className:"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"}),(0,s.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}),(0,s.jsxs)(x.SQ,{align:"end",children:[(0,s.jsx)(x._2,{onClick:()=>c("light"),children:"Light"}),(0,s.jsx)(x._2,{onClick:()=>c("dark"),children:"Dark"}),(0,s.jsx)(x._2,{onClick:()=>c("system"),children:"System"})]})]})}),(0,s.jsxs)(x.rI,{children:[(0,s.jsx)(x.ty,{asChild:!0,children:(0,s.jsxs)(p.$,{variant:"secondary",size:"icon",className:"rounded-full",children:[(0,s.jsx)(f,{className:"h-5 w-5"}),(0,s.jsx)("span",{className:"sr-only",children:"Toggle user menu"})]})}),(0,s.jsxs)(x.SQ,{align:"end",children:[(0,s.jsx)(x.lp,{children:"Options"}),(0,s.jsx)(x.mB,{}),(0,s.jsx)(x._2,{asChild:!0,children:(0,s.jsx)(o(),{href:"/dashboard/settings/general",children:"Settings"})}),(0,s.jsx)(x._2,{asChild:!0,children:(0,s.jsx)("a",{href:"/cgi-bin/luci",target:"_blank",rel:"noreferrer noopener",children:"Luci"})}),(0,s.jsx)(x._2,{asChild:!0,children:(0,s.jsx)("a",{href:"https://github.com/iamromulan/quectel-rgmii-toolkit/discussions/new/choose",target:"_blank",children:"Support"})}),(0,s.jsx)(x.mB,{}),(0,s.jsx)(x._2,{onClick:O,children:"Reconnect"}),(0,s.jsx)(x._2,{asChild:!0,children:(0,s.jsxs)(g.Lt,{children:[(0,s.jsx)(g.tv,{asChild:!0,children:(0,s.jsx)("button",{className:"relative flex w-full cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground",children:"Reboot"})}),(0,s.jsxs)(g.EO,{children:[(0,s.jsxs)(g.wd,{children:[(0,s.jsx)(g.r7,{children:"Are you sure?"}),(0,s.jsx)(g.$v,{children:"This will reboot your device. The connection will be lost temporarily. Please wait for the page to reload."})]}),(0,s.jsxs)(g.ck,{children:[(0,s.jsx)(g.Zr,{children:"Cancel"}),(0,s.jsxs)(g.Rx,{onClick:_,disabled:j,children:[(0,s.jsx)(h,{className:"size-4"}),"Reboot Now"]})]})]})]})}),(0,s.jsx)(x.mB,{}),(0,s.jsx)(x._2,{onClick:r,children:"Logout"})]})]})]})]}),(0,s.jsx)("main",{className:"flex min-h-[calc(100vh_-_theme(spacing.16))] flex-1 flex-col gap-4 bg-muted/40 p-4 md:gap-8 md:p-10",children:(0,s.jsx)(l,{children:t})})]})}},76837:(e,t,a)=>{"use strict";a.d(t,{Lt:()=>D,Rx:()=>U,Zr:()=>V,EO:()=>I,$v:()=>F,ck:()=>M,wd:()=>z,r7:()=>L,tv:()=>O});var s=a(20475),r=a(20107),o=a(80938),n=a(74111),i=a(71827),d=a(94521),l=a(61837),c="AlertDialog",[u,m]=(0,o.A)(c,[i.Hs]),f=(0,i.Hs)(),h=e=>{let{__scopeAlertDialog:t,...a}=e,r=f(t);return(0,s.jsx)(i.bL,{...r,...a,modal:!0})};h.displayName=c;var p=r.forwardRef((e,t)=>{let{__scopeAlertDialog:a,...r}=e,o=f(a);return(0,s.jsx)(i.l9,{...o,...r,ref:t})});p.displayName="AlertDialogTrigger";var x=e=>{let{__scopeAlertDialog:t,...a}=e,r=f(t);return(0,s.jsx)(i.ZL,{...r,...a})};x.displayName="AlertDialogPortal";var g=r.forwardRef((e,t)=>{let{__scopeAlertDialog:a,...r}=e,o=f(a);return(0,s.jsx)(i.hJ,{...o,...r,ref:t})});g.displayName="AlertDialogOverlay";var y="AlertDialogContent",[b,v]=u(y),j=r.forwardRef((e,t)=>{let{__scopeAlertDialog:a,children:o,...c}=e,u=f(a),m=r.useRef(null),h=(0,n.s)(t,m),p=r.useRef(null);return(0,s.jsx)(i.G$,{contentName:y,titleName:w,docsSlug:"alert-dialog",children:(0,s.jsx)(b,{scope:a,cancelRef:p,children:(0,s.jsxs)(i.UC,{role:"alertdialog",...u,...c,ref:h,onOpenAutoFocus:(0,d.m)(c.onOpenAutoFocus,e=>{var t;e.preventDefault(),null===(t=p.current)||void 0===t||t.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,s.jsx)(l.xV,{children:o}),(0,s.jsx)(S,{contentRef:m})]})})})});j.displayName=y;var w="AlertDialogTitle",N=r.forwardRef((e,t)=>{let{__scopeAlertDialog:a,...r}=e,o=f(a);return(0,s.jsx)(i.hE,{...o,...r,ref:t})});N.displayName=w;var k="AlertDialogDescription",A=r.forwardRef((e,t)=>{let{__scopeAlertDialog:a,...r}=e,o=f(a);return(0,s.jsx)(i.VY,{...o,...r,ref:t})});A.displayName=k;var R=r.forwardRef((e,t)=>{let{__scopeAlertDialog:a,...r}=e,o=f(a);return(0,s.jsx)(i.bm,{...o,...r,ref:t})});R.displayName="AlertDialogAction";var C="AlertDialogCancel",T=r.forwardRef((e,t)=>{let{__scopeAlertDialog:a,...r}=e,{cancelRef:o}=v(C,a),d=f(a),l=(0,n.s)(t,o);return(0,s.jsx)(i.bm,{...d,...r,ref:l})});T.displayName=C;var S=e=>{let{contentRef:t}=e,a="`".concat(y,"` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the `").concat(y,"` by passing a `").concat(k,"` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an `id` and passing the same value to the `aria-describedby` prop in `").concat(y,"`. If the description is confusing or duplicative for sighted users, you can use the `@radix-ui/react-visually-hidden` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog");return r.useEffect(()=>{var e;document.getElementById(null===(e=t.current)||void 0===e?void 0:e.getAttribute("aria-describedby"))||console.warn(a)},[a,t]),null},_=a(22250),E=a(42541);let D=h,O=p,P=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(g,{className:(0,_.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...r,ref:t})});P.displayName=g.displayName;let I=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsxs)(x,{children:[(0,s.jsx)(P,{}),(0,s.jsx)(j,{ref:t,className:(0,_.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",a),...r})]})});I.displayName=j.displayName;let z=e=>{let{className:t,...a}=e;return(0,s.jsx)("div",{className:(0,_.cn)("flex flex-col space-y-2 text-center sm:text-left",t),...a})};z.displayName="AlertDialogHeader";let M=e=>{let{className:t,...a}=e;return(0,s.jsx)("div",{className:(0,_.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a})};M.displayName="AlertDialogFooter";let L=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(N,{ref:t,className:(0,_.cn)("text-lg font-semibold",a),...r})});L.displayName=N.displayName;let F=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(A,{ref:t,className:(0,_.cn)("text-sm text-muted-foreground",a),...r})});F.displayName=A.displayName;let U=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(R,{ref:t,className:(0,_.cn)((0,E.r)(),a),...r})});U.displayName=R.displayName;let V=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(T,{ref:t,className:(0,_.cn)((0,E.r)({variant:"outline"}),"mt-2 sm:mt-0",a),...r})});V.displayName=T.displayName},42541:(e,t,a)=>{"use strict";a.d(t,{$:()=>l,r:()=>d});var s=a(20475),r=a(20107),o=a(61837),n=a(29395),i=a(22250);let d=(0,n.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),l=r.forwardRef((e,t)=>{let{className:a,variant:r,size:n,asChild:l=!1,...c}=e,u=l?o.DX:"button";return(0,s.jsx)(u,{className:(0,i.cn)(d({variant:r,size:n,className:a})),ref:t,...c})});l.displayName="Button"},86118:(e,t,a)=>{"use strict";a.d(t,{SQ:()=>c,_2:()=>u,lp:()=>m,mB:()=>f,rI:()=>d,ty:()=>l});var s=a(20475),r=a(20107),o=a(33169),n=a(7197),i=a(22250);let d=o.bL,l=o.l9;o.YJ,o.ZL,o.Pb,o.z6,r.forwardRef((e,t)=>{let{className:a,inset:r,children:d,...l}=e;return(0,s.jsxs)(o.ZP,{ref:t,className:(0,i.cn)("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",r&&"pl-8",a),...l,children:[d,(0,s.jsx)(n.vKP,{className:"ml-auto h-4 w-4"})]})}).displayName=o.ZP.displayName,r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(o.G5,{ref:t,className:(0,i.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...r})}).displayName=o.G5.displayName;let c=r.forwardRef((e,t)=>{let{className:a,sideOffset:r=4,...n}=e;return(0,s.jsx)(o.ZL,{children:(0,s.jsx)(o.UC,{ref:t,sideOffset:r,className:(0,i.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...n})})});c.displayName=o.UC.displayName;let u=r.forwardRef((e,t)=>{let{className:a,inset:r,...n}=e;return(0,s.jsx)(o.q7,{ref:t,className:(0,i.cn)("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r&&"pl-8",a),...n})});u.displayName=o.q7.displayName,r.forwardRef((e,t)=>{let{className:a,children:r,checked:d,...l}=e;return(0,s.jsxs)(o.H_,{ref:t,className:(0,i.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),checked:d,...l,children:[(0,s.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,s.jsx)(o.VF,{children:(0,s.jsx)(n.Srz,{className:"h-4 w-4"})})}),r]})}).displayName=o.H_.displayName,r.forwardRef((e,t)=>{let{className:a,children:r,...d}=e;return(0,s.jsxs)(o.hN,{ref:t,className:(0,i.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...d,children:[(0,s.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,s.jsx)(o.VF,{children:(0,s.jsx)(n.RiX,{className:"h-4 w-4 fill-current"})})}),r]})}).displayName=o.hN.displayName;let m=r.forwardRef((e,t)=>{let{className:a,inset:r,...n}=e;return(0,s.jsx)(o.JU,{ref:t,className:(0,i.cn)("px-2 py-1.5 text-sm font-semibold",r&&"pl-8",a),...n})});m.displayName=o.JU.displayName;let f=r.forwardRef((e,t)=>{let{className:a,...r}=e;return(0,s.jsx)(o.wv,{ref:t,className:(0,i.cn)("-mx-1 my-1 h-px bg-muted",a),...r})});f.displayName=o.wv.displayName},19546:(e,t,a)=>{"use strict";a.d(t,{A:()=>o});var s=a(20107),r=a(16118);function o(){let[e,t]=(0,s.useState)(!1),[a,o]=(0,s.useState)(!0),n=(0,r.useRouter)();async function i(){try{let e=await fetch("/cgi-bin/heartbeat.sh",{method:"GET",headers:{"Cache-Control":"no-cache"}});if(!e.ok){d();return}(await e.json()).alive?o(!0):d()}catch(e){d()}}function d(){o(!1),c()}function l(e){let t={token:e,lastActivity:Date.now(),expiresAt:Date.now()+18e5};localStorage.setItem("session",JSON.stringify(t))}function c(){localStorage.removeItem("session"),t(!1),n.push("/login")}function u(){let e=function(){let e=function(){let e=localStorage.getItem("session");if(!e)return null;try{return JSON.parse(e)}catch(e){return null}}();if(!e)return!1;let t=Date.now();return t>e.expiresAt?(c(),!1):(t-e.lastActivity>3e5&&l(e.token),!0)}();return t(e),e}return(0,s.useEffect)(()=>{u();let e=setInterval(i,5e3);return()=>{clearInterval(e)}},[]),{isAuthenticated:e,isServerAlive:a,login:async function(e){let a=encodeURIComponent(e);try{let e=await fetch("/cgi-bin/auth.sh",{method:"POST",headers:{"Content-Type":"application/json"},body:"password=".concat(a)}),s=await e.json();if(console.log(s),"success"!==s.state)return!1;{let e=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:32,t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";return Array.from(crypto.getRandomValues(new Uint8Array(e))).map(e=>t[e%t.length]).join("")}();return l(e),t(!0),n.push("/dashboard/home"),!0}}catch(e){return console.error("Login error:",e),!1}},logout:c,checkAuth:u}}},32857:(e,t,a)=>{"use strict";a.d(t,{dj:()=>m,oR:()=>u});var s=a(20107);let r=0,o=new Map,n=e=>{if(o.has(e))return;let t=setTimeout(()=>{o.delete(e),c({type:"REMOVE_TOAST",toastId:e})},1e6);o.set(e,t)},i=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:a}=t;return a?n(a):e.toasts.forEach(e=>{n(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===a||void 0===a?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},d=[],l={toasts:[]};function c(e){l=i(l,e),d.forEach(e=>{e(l)})}function u(e){let{...t}=e,a=(r=(r+1)%Number.MAX_SAFE_INTEGER).toString(),s=()=>c({type:"DISMISS_TOAST",toastId:a});return c({type:"ADD_TOAST",toast:{...t,id:a,open:!0,onOpenChange:e=>{e||s()}}}),{id:a,dismiss:s,update:e=>c({type:"UPDATE_TOAST",toast:{...e,id:a}})}}function m(){let[e,t]=s.useState(l);return s.useEffect(()=>(d.push(t),()=>{let e=d.indexOf(t);e>-1&&d.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>c({type:"DISMISS_TOAST",toastId:e})}}},22250:(e,t,a)=>{"use strict";a.d(t,{cn:()=>o});var s=a(64901),r=a(868);function o(){for(var e=arguments.length,t=Array(e),a=0;a{"use strict";a.d(t,{A:()=>d});var s=a(20107);let r=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),o=function(){for(var e=arguments.length,t=Array(e),a=0;a!!e&&a.indexOf(e)===t).join(" ")};var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,s.forwardRef)((e,t)=>{let{color:a="currentColor",size:r=24,strokeWidth:i=2,absoluteStrokeWidth:d,className:l="",children:c,iconNode:u,...m}=e;return(0,s.createElement)("svg",{ref:t,...n,width:r,height:r,stroke:a,strokeWidth:d?24*Number(i)/Number(r):i,className:o("lucide",l),...m},[...u.map(e=>{let[t,a]=e;return(0,s.createElement)(t,a)}),...Array.isArray(c)?c:[c]])}),d=(e,t)=>{let a=(0,s.forwardRef)((a,n)=>{let{className:d,...l}=a;return(0,s.createElement)(i,{ref:n,iconNode:t,className:o("lucide-".concat(r(e)),d),...l})});return a.displayName="".concat(e),a}},16118:(e,t,a)=>{"use strict";var s=a(65834);a.o(s,"usePathname")&&a.d(t,{usePathname:function(){return s.usePathname}}),a.o(s,"useRouter")&&a.d(t,{useRouter:function(){return s.useRouter}})}},e=>{var t=t=>e(e.s=t);e.O(0,[9980,7780,1617,4673,5011,9477,1827,9700,191,6035,7358],()=>t(99750)),_N_E=e.O()}]); \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/settings/security/page-722575cb0e664dd2.js b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/settings/security/page-722575cb0e664dd2.js new file mode 100644 index 0000000..eccb160 --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/settings/security/page-722575cb0e664dd2.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2162],{35380:(e,r,t)=>{Promise.resolve().then(t.bind(t,16212))},16212:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>l});var s=t(20475),a=t(20107),o=t(72167),n=t(42541),d=t(64219),i=t(32857);let l=()=>{let{toast:e}=(0,i.dj)(),[r,t]=(0,a.useState)(!1),[l,c]=(0,a.useState)({oldPassword:"",newPassword:"",confirmPassword:""}),u=async e=>{try{let r;let t=await fetch("/cgi-bin/auth.sh",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:"password=".concat(encodeURIComponent(e))});if(!t.ok)throw Error("HTTP error! status: ".concat(t.status));let s=await t.text();try{r=JSON.parse(s)}catch(e){throw console.error("Failed to parse JSON:",s),Error("Invalid response format")}return"success"===r.state}catch(e){return console.error("Password verification failed:",e),!1}},f=async r=>{r.preventDefault(),t(!0);try{let r;if(!l.oldPassword||!l.newPassword||!l.confirmPassword)throw Error("All fields are required");if(l.newPassword!==l.confirmPassword)throw Error("New passwords don't match");if(l.newPassword.length<8)throw Error("New password must be at least 8 characters long");if(!await u(l.oldPassword))throw Error("Current password is incorrect");let t=await fetch("/cgi-bin/settings/change-password.sh",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:"oldPassword=".concat(encodeURIComponent(l.oldPassword),"&newPassword=").concat(encodeURIComponent(l.newPassword))});if(!t.ok)throw Error("HTTP error! status: ".concat(t.status));let s=await t.text();try{r=JSON.parse(s)}catch(e){throw console.error("Failed to parse JSON:",s),Error("Invalid response format")}if("success"===r.state)e({title:"Success",description:r.message||"Password changed successfully!"}),c({oldPassword:"",newPassword:"",confirmPassword:""});else throw Error(r.message||"Failed to change password")}catch(r){e({title:"Error",description:r instanceof Error?r.message:"An unexpected error occurred",variant:"destructive"}),console.error("Password change failed:",r)}finally{t(!1)}},p=e=>{let{name:r,value:t}=e.target;c(e=>({...e,[r]:t}))};return(0,s.jsxs)(o.Zp,{children:[(0,s.jsxs)(o.aR,{children:[(0,s.jsx)(o.ZB,{children:"Change Device Password"}),(0,s.jsx)(o.BT,{children:"This changes the password for the web interface and terminal access."})]}),(0,s.jsx)(o.Wu,{children:(0,s.jsxs)("form",{onSubmit:f,className:"space-y-4",children:[(0,s.jsx)(d.p,{placeholder:"Old Password",type:"password",name:"oldPassword",value:l.oldPassword,onChange:p,"aria-label":"Old Password"}),(0,s.jsx)(d.p,{placeholder:"New Password",type:"password",name:"newPassword",value:l.newPassword,onChange:p,"aria-label":"New Password"}),(0,s.jsx)(d.p,{placeholder:"Confirm New Password",type:"password",name:"confirmPassword",value:l.confirmPassword,onChange:p,"aria-label":"Confirm New Password"})]})}),(0,s.jsx)(o.wL,{className:"border-t px-6 py-4",children:(0,s.jsx)(n.$,{type:"submit",onClick:e=>f(e),disabled:r,children:r?"Saving...":"Save"})})]})}},42541:(e,r,t)=>{"use strict";t.d(r,{$:()=>l,r:()=>i});var s=t(20475),a=t(20107),o=t(61837),n=t(29395),d=t(22250);let i=(0,n.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),l=a.forwardRef((e,r)=>{let{className:t,variant:a,size:n,asChild:l=!1,...c}=e,u=l?o.DX:"button";return(0,s.jsx)(u,{className:(0,d.cn)(i({variant:a,size:n,className:t})),ref:r,...c})});l.displayName="Button"},72167:(e,r,t)=>{"use strict";t.d(r,{BT:()=>l,Wu:()=>c,ZB:()=>i,Zp:()=>n,aR:()=>d,wL:()=>u});var s=t(20475),a=t(20107),o=t(22250);let n=a.forwardRef((e,r)=>{let{className:t,...a}=e;return(0,s.jsx)("div",{ref:r,className:(0,o.cn)("rounded-xl border bg-card text-card-foreground shadow",t),...a})});n.displayName="Card";let d=a.forwardRef((e,r)=>{let{className:t,...a}=e;return(0,s.jsx)("div",{ref:r,className:(0,o.cn)("flex flex-col space-y-1.5 p-6",t),...a})});d.displayName="CardHeader";let i=a.forwardRef((e,r)=>{let{className:t,...a}=e;return(0,s.jsx)("h3",{ref:r,className:(0,o.cn)("font-semibold leading-none tracking-tight",t),...a})});i.displayName="CardTitle";let l=a.forwardRef((e,r)=>{let{className:t,...a}=e;return(0,s.jsx)("p",{ref:r,className:(0,o.cn)("text-sm text-muted-foreground",t),...a})});l.displayName="CardDescription";let c=a.forwardRef((e,r)=>{let{className:t,...a}=e;return(0,s.jsx)("div",{ref:r,className:(0,o.cn)("p-6 pt-0",t),...a})});c.displayName="CardContent";let u=a.forwardRef((e,r)=>{let{className:t,...a}=e;return(0,s.jsx)("div",{ref:r,className:(0,o.cn)("flex items-center p-6 pt-0",t),...a})});u.displayName="CardFooter"},64219:(e,r,t)=>{"use strict";t.d(r,{p:()=>n});var s=t(20475),a=t(20107),o=t(22250);let n=a.forwardRef((e,r)=>{let{className:t,type:a,...n}=e;return(0,s.jsx)("input",{type:a,className:(0,o.cn)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",t),ref:r,...n})});n.displayName="Input"},32857:(e,r,t)=>{"use strict";t.d(r,{dj:()=>f,oR:()=>u});var s=t(20107);let a=0,o=new Map,n=e=>{if(o.has(e))return;let r=setTimeout(()=>{o.delete(e),c({type:"REMOVE_TOAST",toastId:e})},1e6);o.set(e,r)},d=(e,r)=>{switch(r.type){case"ADD_TOAST":return{...e,toasts:[r.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===r.toast.id?{...e,...r.toast}:e)};case"DISMISS_TOAST":{let{toastId:t}=r;return t?n(t):e.toasts.forEach(e=>{n(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===t||void 0===t?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===r.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==r.toastId)}}},i=[],l={toasts:[]};function c(e){l=d(l,e),i.forEach(e=>{e(l)})}function u(e){let{...r}=e,t=(a=(a+1)%Number.MAX_SAFE_INTEGER).toString(),s=()=>c({type:"DISMISS_TOAST",toastId:t});return c({type:"ADD_TOAST",toast:{...r,id:t,open:!0,onOpenChange:e=>{e||s()}}}),{id:t,dismiss:s,update:e=>c({type:"UPDATE_TOAST",toast:{...e,id:t}})}}function f(){let[e,r]=s.useState(l);return s.useEffect(()=>(i.push(r),()=>{let e=i.indexOf(r);e>-1&&i.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>c({type:"DISMISS_TOAST",toastId:e})}}},22250:(e,r,t)=>{"use strict";t.d(r,{cn:()=>o});var s=t(64901),a=t(868);function o(){for(var e=arguments.length,r=Array(e),t=0;t{"use strict";t.d(r,{F:()=>o});let s=e=>"boolean"==typeof e?"".concat(e):0===e?"0":e,a=function(){for(var e,r,t=0,s="";tt=>{var o;if((null==r?void 0:r.variants)==null)return a(e,null==t?void 0:t.class,null==t?void 0:t.className);let{variants:n,defaultVariants:d}=r,i=Object.keys(n).map(e=>{let r=null==t?void 0:t[e],a=null==d?void 0:d[e];if(null===r)return null;let o=s(r)||s(a);return n[e][o]}),l=t&&Object.entries(t).reduce((e,r)=>{let[t,s]=r;return void 0===s||(e[t]=s),e},{});return a(e,i,null==r?void 0:null===(o=r.compoundVariants)||void 0===o?void 0:o.reduce((e,r)=>{let{class:t,className:s,...a}=r;return Object.entries(a).every(e=>{let[r,t]=e;return Array.isArray(t)?t.includes({...d,...l}[r]):({...d,...l})[r]===t})?[...e,t,s]:e},[]),null==t?void 0:t.class,null==t?void 0:t.className)}}},e=>{var r=r=>e(e.s=r);e.O(0,[7780,191,6035,7358],()=>r(35380)),_N_E=e.O()}]); \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/layout-d482225c096e3c44.js b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/layout-d482225c096e3c44.js new file mode 100644 index 0000000..b265711 --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/layout-d482225c096e3c44.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{49194:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,22670,23)),Promise.resolve().then(r.bind(r,74347)),Promise.resolve().then(r.bind(r,75276)),Promise.resolve().then(r.bind(r,85014))},74347:(e,t,r)=>{"use strict";r.d(t,{ThemeProvider:()=>a});var n=r(20475);r(20107);var o=r(39524);function a(e){let{children:t,...r}=e;return(0,n.jsx)(o.N,{...r,children:t})}},75276:(e,t,r)=>{"use strict";r.d(t,{Toaster:()=>es});var n=r(20475),o=r(32857),a=r(20107),s=r(7197),i=r(25642),l=r(94521),c=r(74111),d=r(67595),u=r(80938),m=r(15975),f=r(82412),p=r(62796),v=r(4589),h=r(85547),w=r(81255),y=r(58013),x=r(20232),g="ToastProvider",[E,T,b]=(0,d.N)("Toast"),[S,C]=(0,u.A)("Toast",[b]),[N,R]=S(g),j=e=>{let{__scopeToast:t,label:r="Notification",duration:o=5e3,swipeDirection:s="right",swipeThreshold:i=50,children:l}=e,[c,d]=a.useState(null),[u,m]=a.useState(0),f=a.useRef(!1),p=a.useRef(!1);return r.trim()||console.error("Invalid prop `label` supplied to `".concat(g,"`. Expected non-empty `string`.")),(0,n.jsx)(E.Provider,{scope:t,children:(0,n.jsx)(N,{scope:t,label:r,duration:o,swipeDirection:s,swipeThreshold:i,toastCount:u,viewport:c,onViewportChange:d,onToastAdd:a.useCallback(()=>m(e=>e+1),[]),onToastRemove:a.useCallback(()=>m(e=>e-1),[]),isFocusedToastEscapeKeyDownRef:f,isClosePausedRef:p,children:l})})};j.displayName=g;var P="ToastViewport",A=["F8"],k="toast.viewportPause",I="toast.viewportResume",L=a.forwardRef((e,t)=>{let{__scopeToast:r,hotkey:o=A,label:s="Notifications ({hotkey})",...i}=e,l=R(P,r),d=T(r),u=a.useRef(null),f=a.useRef(null),p=a.useRef(null),h=a.useRef(null),w=(0,c.s)(t,h,l.onViewportChange),y=o.join("+").replace(/Key/g,"").replace(/Digit/g,""),x=l.toastCount>0;a.useEffect(()=>{let e=e=>{var t;0!==o.length&&o.every(t=>e[t]||e.code===t)&&(null===(t=h.current)||void 0===t||t.focus())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[o]),a.useEffect(()=>{let e=u.current,t=h.current;if(x&&e&&t){let r=()=>{if(!l.isClosePausedRef.current){let e=new CustomEvent(k);t.dispatchEvent(e),l.isClosePausedRef.current=!0}},n=()=>{if(l.isClosePausedRef.current){let e=new CustomEvent(I);t.dispatchEvent(e),l.isClosePausedRef.current=!1}},o=t=>{e.contains(t.relatedTarget)||n()},a=()=>{e.contains(document.activeElement)||n()};return e.addEventListener("focusin",r),e.addEventListener("focusout",o),e.addEventListener("pointermove",r),e.addEventListener("pointerleave",a),window.addEventListener("blur",r),window.addEventListener("focus",n),()=>{e.removeEventListener("focusin",r),e.removeEventListener("focusout",o),e.removeEventListener("pointermove",r),e.removeEventListener("pointerleave",a),window.removeEventListener("blur",r),window.removeEventListener("focus",n)}}},[x,l.isClosePausedRef]);let g=a.useCallback(e=>{let{tabbingDirection:t}=e,r=d().map(e=>{let r=e.ref.current,n=[r,...function(e){let t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}(r)];return"forwards"===t?n:n.reverse()});return("forwards"===t?r.reverse():r).flat()},[d]);return a.useEffect(()=>{let e=h.current;if(e){let t=t=>{let r=t.altKey||t.ctrlKey||t.metaKey;if("Tab"===t.key&&!r){var n,o,a;let r=document.activeElement,s=t.shiftKey;if(t.target===e&&s){null===(n=f.current)||void 0===n||n.focus();return}let i=g({tabbingDirection:s?"backwards":"forwards"}),l=i.findIndex(e=>e===r);$(i.slice(l+1))?t.preventDefault():s?null===(o=f.current)||void 0===o||o.focus():null===(a=p.current)||void 0===a||a.focus()}};return e.addEventListener("keydown",t),()=>e.removeEventListener("keydown",t)}},[d,g]),(0,n.jsxs)(m.lg,{ref:u,role:"region","aria-label":s.replace("{hotkey}",y),tabIndex:-1,style:{pointerEvents:x?void 0:"none"},children:[x&&(0,n.jsx)(M,{ref:f,onFocusFromOutsideViewport:()=>{$(g({tabbingDirection:"forwards"}))}}),(0,n.jsx)(E.Slot,{scope:r,children:(0,n.jsx)(v.sG.ol,{tabIndex:-1,...i,ref:w})}),x&&(0,n.jsx)(M,{ref:p,onFocusFromOutsideViewport:()=>{$(g({tabbingDirection:"backwards"}))}})]})});L.displayName=P;var D="ToastFocusProxy",M=a.forwardRef((e,t)=>{let{__scopeToast:r,onFocusFromOutsideViewport:o,...a}=e,s=R(D,r);return(0,n.jsx)(x.s,{"aria-hidden":!0,tabIndex:0,...a,ref:t,style:{position:"fixed"},onFocus:e=>{var t;let r=e.relatedTarget;(null===(t=s.viewport)||void 0===t?void 0:t.contains(r))||o()}})});M.displayName=D;var O="Toast",_=a.forwardRef((e,t)=>{let{forceMount:r,open:o,defaultOpen:a,onOpenChange:s,...i}=e,[c=!0,d]=(0,w.i)({prop:o,defaultProp:a,onChange:s});return(0,n.jsx)(p.C,{present:r||c,children:(0,n.jsx)(V,{open:c,...i,ref:t,onClose:()=>d(!1),onPause:(0,h.c)(e.onPause),onResume:(0,h.c)(e.onResume),onSwipeStart:(0,l.m)(e.onSwipeStart,e=>{e.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:(0,l.m)(e.onSwipeMove,e=>{let{x:t,y:r}=e.detail.delta;e.currentTarget.setAttribute("data-swipe","move"),e.currentTarget.style.setProperty("--radix-toast-swipe-move-x","".concat(t,"px")),e.currentTarget.style.setProperty("--radix-toast-swipe-move-y","".concat(r,"px"))}),onSwipeCancel:(0,l.m)(e.onSwipeCancel,e=>{e.currentTarget.setAttribute("data-swipe","cancel"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),e.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),e.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:(0,l.m)(e.onSwipeEnd,e=>{let{x:t,y:r}=e.detail.delta;e.currentTarget.setAttribute("data-swipe","end"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),e.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),e.currentTarget.style.setProperty("--radix-toast-swipe-end-x","".concat(t,"px")),e.currentTarget.style.setProperty("--radix-toast-swipe-end-y","".concat(r,"px")),d(!1)})})})});_.displayName=O;var[F,K]=S(O,{onClose(){}}),V=a.forwardRef((e,t)=>{let{__scopeToast:r,type:o="foreground",duration:s,open:d,onClose:u,onEscapeKeyDown:f,onPause:p,onResume:w,onSwipeStart:y,onSwipeMove:x,onSwipeCancel:g,onSwipeEnd:T,...b}=e,S=R(O,r),[C,N]=a.useState(null),j=(0,c.s)(t,e=>N(e)),P=a.useRef(null),A=a.useRef(null),L=s||S.duration,D=a.useRef(0),M=a.useRef(L),_=a.useRef(0),{onToastAdd:K,onToastRemove:V}=S,U=(0,h.c)(()=>{var e;(null==C?void 0:C.contains(document.activeElement))&&(null===(e=S.viewport)||void 0===e||e.focus()),u()}),X=a.useCallback(e=>{e&&e!==1/0&&(window.clearTimeout(_.current),D.current=new Date().getTime(),_.current=window.setTimeout(U,e))},[U]);a.useEffect(()=>{let e=S.viewport;if(e){let t=()=>{X(M.current),null==w||w()},r=()=>{let e=new Date().getTime()-D.current;M.current=M.current-e,window.clearTimeout(_.current),null==p||p()};return e.addEventListener(k,r),e.addEventListener(I,t),()=>{e.removeEventListener(k,r),e.removeEventListener(I,t)}}},[S.viewport,L,p,w,X]),a.useEffect(()=>{d&&!S.isClosePausedRef.current&&X(L)},[d,L,S.isClosePausedRef,X]),a.useEffect(()=>(K(),()=>V()),[K,V]);let z=a.useMemo(()=>C?function e(t){let r=[];return Array.from(t.childNodes).forEach(t=>{if(t.nodeType===t.TEXT_NODE&&t.textContent&&r.push(t.textContent),t.nodeType===t.ELEMENT_NODE){let n=t.ariaHidden||t.hidden||"none"===t.style.display,o=""===t.dataset.radixToastAnnounceExclude;if(!n){if(o){let e=t.dataset.radixToastAnnounceAlt;e&&r.push(e)}else r.push(...e(t))}}}),r}(C):null,[C]);return S.viewport?(0,n.jsxs)(n.Fragment,{children:[z&&(0,n.jsx)(G,{__scopeToast:r,role:"status","aria-live":"foreground"===o?"assertive":"polite","aria-atomic":!0,children:z}),(0,n.jsx)(F,{scope:r,onClose:U,children:i.createPortal((0,n.jsx)(E.ItemSlot,{scope:r,children:(0,n.jsx)(m.bL,{asChild:!0,onEscapeKeyDown:(0,l.m)(f,()=>{S.isFocusedToastEscapeKeyDownRef.current||U(),S.isFocusedToastEscapeKeyDownRef.current=!1}),children:(0,n.jsx)(v.sG.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":d?"open":"closed","data-swipe-direction":S.swipeDirection,...b,ref:j,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:(0,l.m)(e.onKeyDown,e=>{"Escape"!==e.key||(null==f||f(e.nativeEvent),e.nativeEvent.defaultPrevented||(S.isFocusedToastEscapeKeyDownRef.current=!0,U()))}),onPointerDown:(0,l.m)(e.onPointerDown,e=>{0===e.button&&(P.current={x:e.clientX,y:e.clientY})}),onPointerMove:(0,l.m)(e.onPointerMove,e=>{if(!P.current)return;let t=e.clientX-P.current.x,r=e.clientY-P.current.y,n=!!A.current,o=["left","right"].includes(S.swipeDirection),a=["left","up"].includes(S.swipeDirection)?Math.min:Math.max,s=o?a(0,t):0,i=o?0:a(0,r),l="touch"===e.pointerType?10:2,c={x:s,y:i},d={originalEvent:e,delta:c};n?(A.current=c,Y("toast.swipeMove",x,d,{discrete:!1})):Z(c,S.swipeDirection,l)?(A.current=c,Y("toast.swipeStart",y,d,{discrete:!1}),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>l||Math.abs(r)>l)&&(P.current=null)}),onPointerUp:(0,l.m)(e.onPointerUp,e=>{let t=A.current,r=e.target;if(r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),A.current=null,P.current=null,t){let r=e.currentTarget,n={originalEvent:e,delta:t};Z(t,S.swipeDirection,S.swipeThreshold)?Y("toast.swipeEnd",T,n,{discrete:!0}):Y("toast.swipeCancel",g,n,{discrete:!0}),r.addEventListener("click",e=>e.preventDefault(),{once:!0})}})})})}),S.viewport)})]}):null}),G=e=>{let{__scopeToast:t,children:r,...o}=e,s=R(O,t),[i,l]=a.useState(!1),[c,d]=a.useState(!1);return function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>{},t=(0,h.c)(e);(0,y.N)(()=>{let e=0,r=0;return e=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(e),window.cancelAnimationFrame(r)}},[t])}(()=>l(!0)),a.useEffect(()=>{let e=window.setTimeout(()=>d(!0),1e3);return()=>window.clearTimeout(e)},[]),c?null:(0,n.jsx)(f.Z,{asChild:!0,children:(0,n.jsx)(x.s,{...o,children:i&&(0,n.jsxs)(n.Fragment,{children:[s.label," ",r]})})})},U=a.forwardRef((e,t)=>{let{__scopeToast:r,...o}=e;return(0,n.jsx)(v.sG.div,{...o,ref:t})});U.displayName="ToastTitle";var X=a.forwardRef((e,t)=>{let{__scopeToast:r,...o}=e;return(0,n.jsx)(v.sG.div,{...o,ref:t})});X.displayName="ToastDescription";var z="ToastAction",q=a.forwardRef((e,t)=>{let{altText:r,...o}=e;return r.trim()?(0,n.jsx)(W,{altText:r,asChild:!0,children:(0,n.jsx)(J,{...o,ref:t})}):(console.error("Invalid prop `altText` supplied to `".concat(z,"`. Expected non-empty `string`.")),null)});q.displayName=z;var H="ToastClose",J=a.forwardRef((e,t)=>{let{__scopeToast:r,...o}=e,a=K(H,r);return(0,n.jsx)(W,{asChild:!0,children:(0,n.jsx)(v.sG.button,{type:"button",...o,ref:t,onClick:(0,l.m)(e.onClick,a.onClose)})})});J.displayName=H;var W=a.forwardRef((e,t)=>{let{__scopeToast:r,altText:o,...a}=e;return(0,n.jsx)(v.sG.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":o||void 0,...a,ref:t})});function Y(e,t,r,n){let{discrete:o}=n,a=r.originalEvent.currentTarget,s=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:r});t&&a.addEventListener(e,t,{once:!0}),o?(0,v.hO)(a,s):a.dispatchEvent(s)}var Z=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=Math.abs(e.x),o=Math.abs(e.y),a=n>o;return"left"===t||"right"===t?a&&n>r:!a&&o>r};function $(e){let t=document.activeElement;return e.some(e=>e===t||(e.focus(),document.activeElement!==t))}var Q=r(29395),B=r(22250);let ee=a.forwardRef((e,t)=>{let{className:r,...o}=e;return(0,n.jsx)(L,{ref:t,className:(0,B.cn)("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",r),...o})});ee.displayName=L.displayName;let et=(0,Q.F)("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),er=a.forwardRef((e,t)=>{let{className:r,variant:o,...a}=e;return(0,n.jsx)(_,{ref:t,className:(0,B.cn)(et({variant:o}),r),...a})});er.displayName=_.displayName,a.forwardRef((e,t)=>{let{className:r,...o}=e;return(0,n.jsx)(q,{ref:t,className:(0,B.cn)("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",r),...o})}).displayName=q.displayName;let en=a.forwardRef((e,t)=>{let{className:r,...o}=e;return(0,n.jsx)(J,{ref:t,className:(0,B.cn)("absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",r),"toast-close":"",...o,children:(0,n.jsx)(s.MKb,{className:"h-4 w-4"})})});en.displayName=J.displayName;let eo=a.forwardRef((e,t)=>{let{className:r,...o}=e;return(0,n.jsx)(U,{ref:t,className:(0,B.cn)("text-sm font-semibold [&+div]:text-xs",r),...o})});eo.displayName=U.displayName;let ea=a.forwardRef((e,t)=>{let{className:r,...o}=e;return(0,n.jsx)(X,{ref:t,className:(0,B.cn)("text-sm opacity-90",r),...o})});function es(){let{toasts:e}=(0,o.dj)();return(0,n.jsxs)(j,{children:[e.map(function(e){let{id:t,title:r,description:o,action:a,...s}=e;return(0,n.jsxs)(er,{...s,children:[(0,n.jsxs)("div",{className:"grid gap-1",children:[r&&(0,n.jsx)(eo,{children:r}),o&&(0,n.jsx)(ea,{children:o})]}),a,(0,n.jsx)(en,{})]},t)}),(0,n.jsx)(ee,{})]})}ea.displayName=X.displayName},85014:(e,t,r)=>{"use strict";r.d(t,{TooltipProvider:()=>i,ZI:()=>d,k$:()=>c,m_:()=>l});var n=r(20475),o=r(20107),a=r(84623),s=r(22250);let i=a.Kq,l=a.bL,c=a.l9,d=o.forwardRef((e,t)=>{let{className:r,sideOffset:o=4,...i}=e;return(0,n.jsx)(a.UC,{ref:t,sideOffset:o,className:(0,s.cn)("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r),...i})});d.displayName=a.UC.displayName},32857:(e,t,r)=>{"use strict";r.d(t,{dj:()=>m,oR:()=>u});var n=r(20107);let o=0,a=new Map,s=e=>{if(a.has(e))return;let t=setTimeout(()=>{a.delete(e),d({type:"REMOVE_TOAST",toastId:e})},1e6);a.set(e,t)},i=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:r}=t;return r?s(r):e.toasts.forEach(e=>{s(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===r||void 0===r?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},l=[],c={toasts:[]};function d(e){c=i(c,e),l.forEach(e=>{e(c)})}function u(e){let{...t}=e,r=(o=(o+1)%Number.MAX_SAFE_INTEGER).toString(),n=()=>d({type:"DISMISS_TOAST",toastId:r});return d({type:"ADD_TOAST",toast:{...t,id:r,open:!0,onOpenChange:e=>{e||n()}}}),{id:r,dismiss:n,update:e=>d({type:"UPDATE_TOAST",toast:{...e,id:r}})}}function m(){let[e,t]=n.useState(c);return n.useEffect(()=>(l.push(t),()=>{let e=l.indexOf(t);e>-1&&l.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>d({type:"DISMISS_TOAST",toastId:e})}}},22250:(e,t,r)=>{"use strict";r.d(t,{cn:()=>a});var n=r(64901),o=r(868);function a(){for(var e=arguments.length,t=Array(e),r=0;r{},67595:(e,t,r)=>{"use strict";r.d(t,{N:()=>l});var n=r(20107),o=r(81045),a=r(74111),s=r(61837),i=r(20475);function l(e){let t=e+"CollectionProvider",[r,l]=(0,o.A)(t),[c,d]=r(t,{collectionRef:{current:null},itemMap:new Map}),u=e=>{let{scope:t,children:r}=e,o=n.useRef(null),a=n.useRef(new Map).current;return(0,i.jsx)(c,{scope:t,itemMap:a,collectionRef:o,children:r})};u.displayName=t;let m=e+"CollectionSlot",f=n.forwardRef((e,t)=>{let{scope:r,children:n}=e,o=d(m,r),l=(0,a.s)(t,o.collectionRef);return(0,i.jsx)(s.DX,{ref:l,children:n})});f.displayName=m;let p=e+"CollectionItemSlot",v="data-radix-collection-item",h=n.forwardRef((e,t)=>{let{scope:r,children:o,...l}=e,c=n.useRef(null),u=(0,a.s)(t,c),m=d(p,r);return n.useEffect(()=>(m.itemMap.set(c,{ref:c,...l}),()=>void m.itemMap.delete(c))),(0,i.jsx)(s.DX,{[v]:"",ref:u,children:o})});return h.displayName=p,[{Provider:u,Slot:f,ItemSlot:h},function(t){let r=d(e+"CollectionConsumer",t);return n.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll("[".concat(v,"]")));return Array.from(r.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[r.collectionRef,r.itemMap])},l]}},39524:(e,t,r)=>{"use strict";r.d(t,{D:()=>c,N:()=>d});var n=r(20107),o=["light","dark"],a="(prefers-color-scheme: dark)",s="undefined"==typeof window,i=n.createContext(void 0),l={setTheme:e=>{},themes:[]},c=()=>{var e;return null!=(e=n.useContext(i))?e:l},d=e=>n.useContext(i)?e.children:n.createElement(m,{...e}),u=["light","dark"],m=e=>{let{forcedTheme:t,disableTransitionOnChange:r=!1,enableSystem:s=!0,enableColorScheme:l=!0,storageKey:c="theme",themes:d=u,defaultTheme:m=s?"system":"light",attribute:w="data-theme",value:y,children:x,nonce:g}=e,[E,T]=n.useState(()=>p(c,m)),[b,S]=n.useState(()=>p(c)),C=y?Object.values(y):d,N=n.useCallback(e=>{let t=e;if(!t)return;"system"===e&&s&&(t=h());let n=y?y[t]:t,a=r?v():null,i=document.documentElement;if("class"===w?(i.classList.remove(...C),n&&i.classList.add(n)):n?i.setAttribute(w,n):i.removeAttribute(w),l){let e=o.includes(m)?m:null,r=o.includes(t)?t:e;i.style.colorScheme=r}null==a||a()},[]),R=n.useCallback(e=>{let t="function"==typeof e?e(e):e;T(t);try{localStorage.setItem(c,t)}catch(e){}},[t]),j=n.useCallback(e=>{S(h(e)),"system"===E&&s&&!t&&N("system")},[E,t]);n.useEffect(()=>{let e=window.matchMedia(a);return e.addListener(j),j(e),()=>e.removeListener(j)},[j]),n.useEffect(()=>{let e=e=>{e.key===c&&R(e.newValue||m)};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[R]),n.useEffect(()=>{N(null!=t?t:E)},[t,E]);let P=n.useMemo(()=>({theme:E,setTheme:R,forcedTheme:t,resolvedTheme:"system"===E?b:E,themes:s?[...d,"system"]:d,systemTheme:s?b:void 0}),[E,R,t,b,s,d]);return n.createElement(i.Provider,{value:P},n.createElement(f,{forcedTheme:t,disableTransitionOnChange:r,enableSystem:s,enableColorScheme:l,storageKey:c,themes:d,defaultTheme:m,attribute:w,value:y,children:x,attrs:C,nonce:g}),x)},f=n.memo(e=>{let{forcedTheme:t,storageKey:r,attribute:s,enableSystem:i,enableColorScheme:l,defaultTheme:c,value:d,attrs:u,nonce:m}=e,f="system"===c,p="class"===s?"var d=document.documentElement,c=d.classList;".concat("c.remove(".concat(u.map(e=>"'".concat(e,"'")).join(","),")"),";"):"var d=document.documentElement,n='".concat(s,"',s='setAttribute';"),v=l?(o.includes(c)?c:null)?"if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'".concat(c,"'"):"if(e==='light'||e==='dark')d.style.colorScheme=e":"",h=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=!(arguments.length>2)||void 0===arguments[2]||arguments[2],n=d?d[e]:e,a=t?e+"|| ''":"'".concat(n,"'"),i="";return l&&r&&!t&&o.includes(e)&&(i+="d.style.colorScheme = '".concat(e,"';")),"class"===s?t||n?i+="c.add(".concat(a,")"):i+="null":n&&(i+="d[s](n,".concat(a,")")),i},w=t?"!function(){".concat(p).concat(h(t),"}()"):i?"!function(){try{".concat(p,"var e=localStorage.getItem('").concat(r,"');if('system'===e||(!e&&").concat(f,")){var t='").concat(a,"',m=window.matchMedia(t);if(m.media!==t||m.matches){").concat(h("dark"),"}else{").concat(h("light"),"}}else if(e){").concat(d?"var x=".concat(JSON.stringify(d),";"):"").concat(h(d?"x[e]":"e",!0),"}").concat(f?"":"else{"+h(c,!1,!1)+"}").concat(v,"}catch(e){}}()"):"!function(){try{".concat(p,"var e=localStorage.getItem('").concat(r,"');if(e){").concat(d?"var x=".concat(JSON.stringify(d),";"):"").concat(h(d?"x[e]":"e",!0),"}else{").concat(h(c,!1,!1),";}").concat(v,"}catch(t){}}();");return n.createElement("script",{nonce:m,dangerouslySetInnerHTML:{__html:w}})}),p=(e,t)=>{let r;if(!s){try{r=localStorage.getItem(e)||void 0}catch(e){}return r||t}},v=()=>{let e=document.createElement("style");return e.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(e),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(e)},1)}},h=e=>(e||(e=window.matchMedia(a)),e.matches?"dark":"light")}},e=>{var t=t=>e(e.s=t);e.O(0,[5255,9980,7780,1617,4673,4623,191,6035,7358],()=>t(49194)),_N_E=e.O()}]); \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/page-a23f672c10774888.js b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/page-a23f672c10774888.js new file mode 100644 index 0000000..e232a0a --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/page-a23f672c10774888.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974],{47143:(e,t,r)=>{Promise.resolve().then(r.bind(r,69363))},69363:(e,t,r)=>{"use strict";r.d(t,{default:()=>R});var a=r(20475),n=r(20107),s=r(90805),l=r(17255),o=r(4538),i=r(41797),d=r(98456),c=(0,s.gu)({chartName:"BarChart",GraphicalChild:l.y,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:o.W},{axisType:"yAxis",AxisComp:i.h}],formatAxisMap:d.pr}),u=r(72167),m=r(36760),f=r(42541),x=r(9477),p=r.n(x),h=r(1307),v=r(76554),g=r(7197),N=r(39524),b=r(86118);function y(){let{setTheme:e}=(0,N.D)();return(0,a.jsxs)(b.rI,{children:[(0,a.jsx)(b.ty,{asChild:!0,children:(0,a.jsxs)(f.$,{variant:"outline",size:"icon",children:[(0,a.jsx)(g.gLX,{className:"h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"}),(0,a.jsx)(g.rRK,{className:"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"}),(0,a.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}),(0,a.jsxs)(b.SQ,{align:"end",children:[(0,a.jsx)(b._2,{onClick:()=>e("light"),children:"Light"}),(0,a.jsx)(b._2,{onClick:()=>e("dark"),children:"Dark"}),(0,a.jsx)(b._2,{onClick:()=>e("system"),children:"System"})]})]})}let j={rsrp:{min:-140,max:-70},rsrq:{min:-20,max:-10},sinr:{min:0,max:20}},w=(e,t)=>{let r=j[e];return Math.min(Math.max(Math.round(10*((Math.max(Math.min(t,r.max),r.min)-r.min)/(r.max-r.min)*100))/10,0),100)},k=e=>{if(!e)return null;let t=e.map(Number).filter(e=>-32768!==e&&5!==e&&-140!==e);return 0===t.length?null:Math.round(t.reduce((e,t)=>e+t,0)/t.length)};function R(){var e,t,r;let[s,d]=(0,n.useState)({rsrp:null,rsrq:null,sinr:null,networkType:"",bands:null,networkName:""}),[x,N]=(0,n.useState)(!0),b=(0,n.useRef)(null);(0,n.useEffect)(()=>{let e=async()=>{try{let e=await fetch("/cgi-bin/fetch_data.sh?set=5"),t=await e.json();if(console.log(t),t){let e={rsrp:k(t[0].response.match(/-?\d+/g)),rsrq:k(t[1].response.match(/-?\d+/g)),sinr:k(t[2].response.match(/-?\d+/g)),networkType:"",bands:null,networkName:""};console.log(e);let r=t[3].response.match(/"LTE BAND \d+"|"NR5G BAND \d+"/g),a=null==r?void 0:r.some(e=>e.includes("LTE")),n=null==r?void 0:r.some(e=>e.includes("NR5G"));e.networkType=a&&n?"NR5G-NSA":a?"LTE":n?"NR5G-SA":"No Signal";let s=null==r?void 0:r.map(e=>e.includes("LTE")?"B".concat(e.match(/\d+/)):e.includes("NR5G")?"N".concat(e.split(" ")[2].replace(/"/g,"").trim()):void 0);e.bands=s?s.join(", "):"No Signal",e.networkName=t[4].response.split("\n")[1].split(":")[1].split(",")[1].replace(/"/g,"").trim()||"No Signal",d(e),b.current=e}}catch(e){console.error("Error fetching stats:",e)}finally{x&&N(!1)}};e();let t=setInterval(e,2e3);return()=>clearInterval(t)},[x]);let j=[{activity:"rsrp",value:null!==s.rsrp?w("rsrp",s.rsrp):0,label:null!==s.rsrp?"".concat(s.rsrp.toFixed(1)," dBm"):"No Signal",fill:"hsl(var(--chart-1))"},{activity:"rsrq",value:null!==s.rsrq?w("rsrq",s.rsrq):0,label:null!==s.rsrq?"".concat(s.rsrq.toFixed(1)," dB"):"No Signal",fill:"hsl(var(--chart-2))"},{activity:"sinr",value:null!==s.sinr?w("sinr",s.sinr):0,label:null!==s.sinr?"".concat(s.sinr.toFixed(1)," dB"):"No Signal",fill:"hsl(var(--chart-3))"}];return(0,a.jsxs)(u.Zp,{className:"xl:max-w-xl xl:w-[800px] max-w-sm",children:[(0,a.jsx)(u.aR,{children:(0,a.jsxs)("div",{className:"flex flex-row justify-between items-center",children:[(0,a.jsx)(u.ZB,{children:"QuecManager Quick Stats"}),(0,a.jsx)(y,{})]})}),(0,a.jsxs)(u.Wu,{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex flex-row justify-evenly items-center w-full p-2 border-t border-b",children:[x?(0,a.jsx)(m.E,{className:"h-8 w-24"}):(0,a.jsx)("div",{children:s.networkName}),(0,a.jsx)(v.w,{orientation:"vertical",className:"mx-2 h-10 w-px"}),x?(0,a.jsx)(m.E,{className:"h-8 w-24"}):(0,a.jsx)("div",{children:s.networkType}),(0,a.jsx)(v.w,{orientation:"vertical",className:"mx-2 h-10 w-px"}),x?(0,a.jsx)(m.E,{className:"h-8 w-24"}):(0,a.jsx)("div",{children:s.bands})]}),(0,a.jsx)("div",{className:"flex gap-4 xl:p-4 p-2 pb-2",children:x?(0,a.jsx)(m.E,{className:"h-[140px] w-full"}):(0,a.jsx)(h.at,{config:{sinr:{label:"sinr",color:"hsl(var(--chart-1))"},rsrp:{label:"rsrp",color:"hsl(var(--chart-2))"},rsrq:{label:"rsrq",color:"hsl(var(--chart-3))"}},className:"h-[140px] w-full",children:(0,a.jsxs)(c,{margin:{left:0,right:0,top:0,bottom:10},data:j,layout:"vertical",barSize:32,barGap:2,children:[(0,a.jsx)(o.W,{type:"number",dataKey:"value",hide:!0}),(0,a.jsx)(i.h,{dataKey:"activity",type:"category",tickLine:!1,tickMargin:4,axisLine:!1,className:"uppercase"}),(0,a.jsx)(l.y,{dataKey:"value",radius:5})]})})})]}),(0,a.jsxs)(u.wL,{className:"flex flex-col gap-4",children:[(0,a.jsx)("div",{className:"flex flex-row border-t border-b xl:p-4 p-2 w-full",children:(0,a.jsxs)("div",{className:"flex w-full items-center gap-2",children:[(0,a.jsxs)("div",{className:"grid flex-1 auto-rows-min gap-0.5",children:[(0,a.jsx)("div",{className:"text-xs text-muted-foreground",children:"RSRP"}),x?(0,a.jsx)(m.E,{className:"h-8 w-24"}):(0,a.jsxs)("div",{className:"flex items-baseline gap-1 xl:text-2xl text-md font-bold tabular-nums leading-none",children:[null===(e=s.rsrp)||void 0===e?void 0:e.toFixed(1),(0,a.jsx)("span",{className:"text-sm font-normal text-muted-foreground",children:"dBm"})]})]}),(0,a.jsx)(v.w,{orientation:"vertical",className:"mx-2 h-10 w-px"}),(0,a.jsxs)("div",{className:"grid flex-1 auto-rows-min gap-0.5",children:[(0,a.jsx)("div",{className:"text-xs text-muted-foreground",children:"RSRQ"}),x?(0,a.jsx)(m.E,{className:"h-8 w-24"}):(0,a.jsxs)("div",{className:"flex items-baseline gap-1 xl:text-2xl text-md font-bold tabular-nums leading-none",children:[null===(t=s.rsrq)||void 0===t?void 0:t.toFixed(1),(0,a.jsx)("span",{className:"text-sm font-normal text-muted-foreground",children:"dB"})]})]}),(0,a.jsx)(v.w,{orientation:"vertical",className:"mx-2 h-10 w-px"}),(0,a.jsxs)("div",{className:"grid flex-1 auto-rows-min gap-0.5",children:[(0,a.jsx)("div",{className:"text-xs text-muted-foreground",children:"SINR"}),x?(0,a.jsx)(m.E,{className:"h-8 w-24"}):(0,a.jsxs)("div",{className:"flex items-baseline gap-1 xl:text-2xl text-md font-bold tabular-nums leading-none",children:[null===(r=s.sinr)||void 0===r?void 0:r.toFixed(1),(0,a.jsx)("span",{className:"text-sm font-normal text-muted-foreground",children:"dB"})]})]})]})}),(0,a.jsx)(f.$,{asChild:!0,children:(0,a.jsxs)(p(),{href:"/login",children:["Login to QuecManager",(0,a.jsx)(g.flY,{className:"w-4 h-4 ml-2"})]})})]})]})}},42541:(e,t,r)=>{"use strict";r.d(t,{$:()=>d,r:()=>i});var a=r(20475),n=r(20107),s=r(61837),l=r(29395),o=r(22250);let i=(0,l.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),d=n.forwardRef((e,t)=>{let{className:r,variant:n,size:l,asChild:d=!1,...c}=e,u=d?s.DX:"button";return(0,a.jsx)(u,{className:(0,o.cn)(i({variant:n,size:l,className:r})),ref:t,...c})});d.displayName="Button"},72167:(e,t,r)=>{"use strict";r.d(t,{BT:()=>d,Wu:()=>c,ZB:()=>i,Zp:()=>l,aR:()=>o,wL:()=>u});var a=r(20475),n=r(20107),s=r(22250);let l=n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,s.cn)("rounded-xl border bg-card text-card-foreground shadow",r),...n})});l.displayName="Card";let o=n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,s.cn)("flex flex-col space-y-1.5 p-6",r),...n})});o.displayName="CardHeader";let i=n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)("h3",{ref:t,className:(0,s.cn)("font-semibold leading-none tracking-tight",r),...n})});i.displayName="CardTitle";let d=n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)("p",{ref:t,className:(0,s.cn)("text-sm text-muted-foreground",r),...n})});d.displayName="CardDescription";let c=n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,s.cn)("p-6 pt-0",r),...n})});c.displayName="CardContent";let u=n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,s.cn)("flex items-center p-6 pt-0",r),...n})});u.displayName="CardFooter"},1307:(e,t,r)=>{"use strict";r.d(t,{II:()=>x,Nt:()=>p,at:()=>m});var a=r(20475),n=r(20107),s=r(81155),l=r(80982),o=r(58736),i=r(22250);let d={light:"",dark:".dark"},c=n.createContext(null);function u(){let e=n.useContext(c);if(!e)throw Error("useChart must be used within a ");return e}let m=n.forwardRef((e,t)=>{let{id:r,className:l,children:o,config:d,...u}=e,m=n.useId(),x="chart-".concat(r||m.replace(/:/g,""));return(0,a.jsx)(c.Provider,{value:{config:d},children:(0,a.jsxs)("div",{"data-chart":x,ref:t,className:(0,i.cn)("flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none",l),...u,children:[(0,a.jsx)(f,{id:x,config:d}),(0,a.jsx)(s.u,{children:o})]})})});m.displayName="Chart";let f=e=>{let{id:t,config:r}=e,n=Object.entries(r).filter(e=>{let[t,r]=e;return r.theme||r.color});return n.length?(0,a.jsx)("style",{dangerouslySetInnerHTML:{__html:Object.entries(d).map(e=>{let[r,a]=e;return"\n".concat(a," [data-chart=").concat(t,"] {\n").concat(n.map(e=>{var t;let[a,n]=e,s=(null===(t=n.theme)||void 0===t?void 0:t[r])||n.color;return s?" --color-".concat(a,": ").concat(s,";"):null}).join("\n"),"\n}\n")}).join("\n")}}):null},x=l.m,p=n.forwardRef((e,t)=>{let{active:r,payload:s,className:l,indicator:o="dot",hideLabel:d=!1,hideIndicator:c=!1,label:m,labelFormatter:f,labelClassName:x,formatter:p,color:v,nameKey:g,labelKey:N}=e,{config:b}=u(),y=n.useMemo(()=>{var e;if(d||!(null==s?void 0:s.length))return null;let[t]=s,r="".concat(N||t.dataKey||t.name||"value"),n=h(b,t,r),l=N||"string"!=typeof m?null==n?void 0:n.label:(null===(e=b[m])||void 0===e?void 0:e.label)||m;return f?(0,a.jsx)("div",{className:(0,i.cn)("font-medium",x),children:f(l,s)}):l?(0,a.jsx)("div",{className:(0,i.cn)("font-medium",x),children:l}):null},[m,f,s,d,x,b,N]);if(!r||!(null==s?void 0:s.length))return null;let j=1===s.length&&"dot"!==o;return(0,a.jsxs)("div",{ref:t,className:(0,i.cn)("grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",l),children:[j?null:y,(0,a.jsx)("div",{className:"grid gap-1.5",children:s.map((e,t)=>{let r="".concat(g||e.name||e.dataKey||"value"),n=h(b,e,r),s=v||e.payload.fill||e.color;return(0,a.jsx)("div",{className:(0,i.cn)("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground","dot"===o&&"items-center"),children:p&&(null==e?void 0:e.value)!==void 0&&e.name?p(e.value,e.name,e,t,e.payload):(0,a.jsxs)(a.Fragment,{children:[(null==n?void 0:n.icon)?(0,a.jsx)(n.icon,{}):!c&&(0,a.jsx)("div",{className:(0,i.cn)("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",{"h-2.5 w-2.5":"dot"===o,"w-1":"line"===o,"w-0 border-[1.5px] border-dashed bg-transparent":"dashed"===o,"my-0.5":j&&"dashed"===o}),style:{"--color-bg":s,"--color-border":s}}),(0,a.jsxs)("div",{className:(0,i.cn)("flex flex-1 justify-between leading-none",j?"items-end":"items-center"),children:[(0,a.jsxs)("div",{className:"grid gap-1.5",children:[j?y:null,(0,a.jsx)("span",{className:"text-muted-foreground",children:(null==n?void 0:n.label)||e.name})]}),e.value&&(0,a.jsx)("span",{className:"font-mono font-medium tabular-nums text-foreground",children:e.value.toLocaleString()})]})]})},e.dataKey)})})]})});function h(e,t,r){if("object"!=typeof t||null===t)return;let a="payload"in t&&"object"==typeof t.payload&&null!==t.payload?t.payload:void 0,n=r;return r in t&&"string"==typeof t[r]?n=t[r]:a&&r in a&&"string"==typeof a[r]&&(n=a[r]),n in e?e[n]:e[r]}p.displayName="ChartTooltip",o.s,n.forwardRef((e,t)=>{let{className:r,hideIcon:n=!1,payload:s,verticalAlign:l="bottom",nameKey:o}=e,{config:d}=u();return(null==s?void 0:s.length)?(0,a.jsx)("div",{ref:t,className:(0,i.cn)("flex items-center justify-center gap-4","top"===l?"pb-3":"pt-3",r),children:s.map(e=>{let t="".concat(o||e.dataKey||"value"),r=h(d,e,t);return(0,a.jsxs)("div",{className:(0,i.cn)("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),children:[(null==r?void 0:r.icon)&&!n?(0,a.jsx)(r.icon,{}):(0,a.jsx)("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:e.color}}),null==r?void 0:r.label]},e.value)})}):null}).displayName="ChartLegend"},86118:(e,t,r)=>{"use strict";r.d(t,{SQ:()=>c,_2:()=>u,lp:()=>m,mB:()=>f,rI:()=>i,ty:()=>d});var a=r(20475),n=r(20107),s=r(33169),l=r(7197),o=r(22250);let i=s.bL,d=s.l9;s.YJ,s.ZL,s.Pb,s.z6,n.forwardRef((e,t)=>{let{className:r,inset:n,children:i,...d}=e;return(0,a.jsxs)(s.ZP,{ref:t,className:(0,o.cn)("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",n&&"pl-8",r),...d,children:[i,(0,a.jsx)(l.vKP,{className:"ml-auto h-4 w-4"})]})}).displayName=s.ZP.displayName,n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)(s.G5,{ref:t,className:(0,o.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r),...n})}).displayName=s.G5.displayName;let c=n.forwardRef((e,t)=>{let{className:r,sideOffset:n=4,...l}=e;return(0,a.jsx)(s.ZL,{children:(0,a.jsx)(s.UC,{ref:t,sideOffset:n,className:(0,o.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r),...l})})});c.displayName=s.UC.displayName;let u=n.forwardRef((e,t)=>{let{className:r,inset:n,...l}=e;return(0,a.jsx)(s.q7,{ref:t,className:(0,o.cn)("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",n&&"pl-8",r),...l})});u.displayName=s.q7.displayName,n.forwardRef((e,t)=>{let{className:r,children:n,checked:i,...d}=e;return(0,a.jsxs)(s.H_,{ref:t,className:(0,o.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),checked:i,...d,children:[(0,a.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,a.jsx)(s.VF,{children:(0,a.jsx)(l.Srz,{className:"h-4 w-4"})})}),n]})}).displayName=s.H_.displayName,n.forwardRef((e,t)=>{let{className:r,children:n,...i}=e;return(0,a.jsxs)(s.hN,{ref:t,className:(0,o.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),...i,children:[(0,a.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,a.jsx)(s.VF,{children:(0,a.jsx)(l.RiX,{className:"h-4 w-4 fill-current"})})}),n]})}).displayName=s.hN.displayName;let m=n.forwardRef((e,t)=>{let{className:r,inset:n,...l}=e;return(0,a.jsx)(s.JU,{ref:t,className:(0,o.cn)("px-2 py-1.5 text-sm font-semibold",n&&"pl-8",r),...l})});m.displayName=s.JU.displayName;let f=n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)(s.wv,{ref:t,className:(0,o.cn)("-mx-1 my-1 h-px bg-muted",r),...n})});f.displayName=s.wv.displayName},76554:(e,t,r)=>{"use strict";r.d(t,{w:()=>o});var a=r(20475),n=r(20107),s=r(55809),l=r(22250);let o=n.forwardRef((e,t)=>{let{className:r,orientation:n="horizontal",decorative:o=!0,...i}=e;return(0,a.jsx)(s.b,{ref:t,decorative:o,orientation:n,className:(0,l.cn)("shrink-0 bg-border","horizontal"===n?"h-[1px] w-full":"h-full w-[1px]",r),...i})});o.displayName=s.b.displayName},36760:(e,t,r)=>{"use strict";r.d(t,{E:()=>s});var a=r(20475),n=r(22250);function s(e){let{className:t,...r}=e;return(0,a.jsx)("div",{className:(0,n.cn)("animate-pulse rounded-md bg-primary/10",t),...r})}},22250:(e,t,r)=>{"use strict";r.d(t,{cn:()=>s});var a=r(64901),n=r(868);function s(){for(var e=arguments.length,t=Array(e),r=0;r{"use strict";r.d(t,{C:()=>l});var a=r(20107),n=r(74111),s=r(58013),l=e=>{let{present:t,children:r}=e,l=function(e){var t,r;let[n,l]=a.useState(),i=a.useRef({}),d=a.useRef(e),c=a.useRef("none"),[u,m]=(t=e?"mounted":"unmounted",r={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},a.useReducer((e,t)=>{let a=r[e][t];return null!=a?a:e},t));return a.useEffect(()=>{let e=o(i.current);c.current="mounted"===u?e:"none"},[u]),(0,s.N)(()=>{let t=i.current,r=d.current;if(r!==e){let a=c.current,n=o(t);e?m("MOUNT"):"none"===n||(null==t?void 0:t.display)==="none"?m("UNMOUNT"):r&&a!==n?m("ANIMATION_OUT"):m("UNMOUNT"),d.current=e}},[e,m]),(0,s.N)(()=>{if(n){var e;let t;let r=null!==(e=n.ownerDocument.defaultView)&&void 0!==e?e:window,a=e=>{let a=o(i.current).includes(e.animationName);if(e.target===n&&a&&(m("ANIMATION_END"),!d.current)){let e=n.style.animationFillMode;n.style.animationFillMode="forwards",t=r.setTimeout(()=>{"forwards"===n.style.animationFillMode&&(n.style.animationFillMode=e)})}},s=e=>{e.target===n&&(c.current=o(i.current))};return n.addEventListener("animationstart",s),n.addEventListener("animationcancel",a),n.addEventListener("animationend",a),()=>{r.clearTimeout(t),n.removeEventListener("animationstart",s),n.removeEventListener("animationcancel",a),n.removeEventListener("animationend",a)}}m("ANIMATION_END")},[n,m]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:a.useCallback(e=>{e&&(i.current=getComputedStyle(e)),l(e)},[])}}(t),i="function"==typeof r?r({present:l.isPresent}):a.Children.only(r),d=(0,n.s)(l.ref,function(e){var t,r;let a=null===(t=Object.getOwnPropertyDescriptor(e.props,"ref"))||void 0===t?void 0:t.get,n=a&&"isReactWarning"in a&&a.isReactWarning;return n?e.ref:(n=(a=null===(r=Object.getOwnPropertyDescriptor(e,"ref"))||void 0===r?void 0:r.get)&&"isReactWarning"in a&&a.isReactWarning)?e.props.ref:e.props.ref||e.ref}(i));return"function"==typeof r||l.isPresent?a.cloneElement(i,{ref:d}):null};function o(e){return(null==e?void 0:e.animationName)||"none"}l.displayName="Presence"},55809:(e,t,r)=>{"use strict";r.d(t,{b:()=>d});var a=r(20107),n=r(4589),s=r(20475),l="horizontal",o=["horizontal","vertical"],i=a.forwardRef((e,t)=>{let{decorative:r,orientation:a=l,...i}=e,d=o.includes(a)?a:l;return(0,s.jsx)(n.sG.div,{"data-orientation":d,...r?{role:"none"}:{"aria-orientation":"vertical"===d?d:void 0,role:"separator"},...i,ref:t})});i.displayName="Separator";var d=i}},e=>{var t=t=>e(e.s=t);e.O(0,[9980,7780,1617,4673,5011,9477,1074,9700,191,6035,7358],()=>t(47143)),_N_E=e.O()}]); \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/b1b46485-5c61721f784038c7.js b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/b1b46485-5c61721f784038c7.js new file mode 100644 index 0000000..2842373 --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/b1b46485-5c61721f784038c7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2101],{38741:(t,h,a)=>{a.d(h,{G7Q:()=>i,NJ4:()=>r,sRp:()=>n,z_q:()=>z,ztD:()=>c});var v=a(45930);function r(t){return(0,v.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M3 16h2v5H3z"},child:[]}]})(t)}function i(t){return(0,v.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M3 16h2v5H3zm4-3h2v8H7z"},child:[]}]})(t)}function c(t){return(0,v.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M3 16h2v5H3zm4-3h2v8H7zm4-3h2v11h-2z"},child:[]}]})(t)}function n(t){return(0,v.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M3 16h2v5H3zm4-3h2v8H7zm4-3h2v11h-2zm4-3h2v14h-2z"},child:[]}]})(t)}function z(t){return(0,v.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M3 16h2v5H3zm4-3h2v8H7zm4-3h2v11h-2zm4-3h2v14h-2zm4-3h2v17h-2z"},child:[]}]})(t)}}}]); \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/css/680c259ec95ef0da.css b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/css/680c259ec95ef0da.css new file mode 100644 index 0000000..9f5956d --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/css/680c259ec95ef0da.css @@ -0,0 +1,3 @@ +*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/* +! tailwindcss v3.4.13 | MIT License | https://tailwindcss.com +*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}@font-face{font-family:Euclid-Circular-B;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/EuclidCircularB-Regular.woff2) format("woff2")}@font-face{font-family:Euclid-Circular-B;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/EuclidCircularB-Medium.woff2) format("woff2")}@font-face{font-family:Euclid-Circular-B;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/EuclidCircularB-SemiBold.woff2) format("woff2")}@font-face{font-family:Euclid-Circular-B;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/EuclidCircularB-Bold.woff2) format("woff2")}@font-face{font-family:Euclid-Circular-B;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/EuclidCircularB-Italic.woff2) format("woff2")}:root{--background:0 0% 100%;--foreground:224 71.4% 4.1%;--card:0 0% 100%;--card-foreground:224 71.4% 4.1%;--popover:0 0% 100%;--popover-foreground:224 71.4% 4.1%;--primary:262.1 83.3% 57.8%;--primary-foreground:210 20% 98%;--secondary:220 14.3% 95.9%;--secondary-foreground:220.9 39.3% 11%;--muted:220 14.3% 95.9%;--muted-foreground:220 8.9% 46.1%;--accent:220 14.3% 95.9%;--accent-foreground:220.9 39.3% 11%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 20% 98%;--border:220 13% 91%;--input:220 13% 91%;--ring:262.1 83.3% 57.8%;--radius:0.5rem;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%}.dark{--background:224 71.4% 4.1%;--foreground:210 20% 98%;--card:224 71.4% 4.1%;--card-foreground:210 20% 98%;--popover:224 71.4% 4.1%;--popover-foreground:210 20% 98%;--primary:263.4 70% 50.4%;--primary-foreground:210 20% 98%;--secondary:215 27.9% 16.9%;--secondary-foreground:210 20% 98%;--muted:215 27.9% 16.9%;--muted-foreground:217.9 10.6% 64.9%;--accent:215 27.9% 16.9%;--accent-foreground:210 20% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 20% 98%;--border:215 27.9% 16.9%;--input:215 27.9% 16.9%;--ring:263.4 70% 50.4%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-left-8{left:-2rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.-top-8{top:-2rem}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.top-full{top:100%}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-8{grid-column:span 8/span 8}.col-span-full{grid-column:1/-1}.row-start-2{grid-row-start:2}.m-2\.5{margin:.625rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-auto{aspect-ratio:auto}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.size-16{width:4rem;height:4rem}.size-32{width:8rem;height:8rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[1\.2rem\]{height:1.2rem}.h-\[140px\]{height:140px}.h-\[180px\]{height:180px}.h-\[1px\]{height:1px}.h-\[200px\]{height:200px}.h-\[240px\]{height:240px}.h-\[250px\]{height:250px}.h-\[400px\]{height:400px}.h-\[50\%\]{height:50%}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-96{max-height:24rem}.max-h-screen{max-height:100vh}.min-h-\[60px\]{min-height:60px}.min-h-\[calc\(100vh_-_theme\(spacing\.16\)\)\]{min-height:calc(100vh - 4rem)}.min-h-screen{min-height:100vh}.w-0{width:0}.w-1{width:.25rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[1\.2rem\]{width:1.2rem}.w-\[100px\]{width:100px}.w-\[140px\]{width:140px}.w-\[180px\]{width:180px}.w-\[1px\]{width:1px}.w-\[200px\]{width:200px}.w-\[350px\]{width:350px}.w-\[40\%\]{width:40%}.w-\[50px\]{width:50px}.w-\[80px\]{width:80px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-10{max-width:2.5rem}.max-w-2xl{max-width:42rem}.max-w-32{max-width:8rem}.max-w-6{max-width:1.5rem}.max-w-6xl{max-width:72rem}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.rotate-0{--tw-rotate:0deg}.rotate-0,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg}.scale-0{--tw-scale-x:0;--tw-scale-y:0}.scale-0,.scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{user-select:none}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-flow-row{grid-auto-flow:row}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-\[20px_1fr_20px\]{grid-template-rows:20px 1fr 20px}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-evenly{justify-content:space-evenly}.justify-items-center{justify-items:center}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-12{gap:3rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-2{column-gap:.5rem}.gap-x-4{column-gap:1rem}.gap-x-8{column-gap:2rem}.gap-y-2{row-gap:.5rem}.gap-y-6{row-gap:1.5rem}.gap-y-8{row-gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem * var(--tw-space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[--color-border\]{border-color:var(--color-border)}.border-border\/50{border-color:hsl(var(--border)/.5)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive)/.5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:rgba(0,0,0,.8)}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/40{background-color:hsl(var(--muted)/.4)}.bg-muted\/50{background-color:hsl(var(--muted)/.5)}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-primary\/20{background-color:hsl(var(--primary)/.2)}.bg-rose-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-0{padding-left:0;padding-right:0}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pr-9{padding-right:2.25rem}.pt-0{padding-top:0}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-\[family-name\:var\(--font-geist-sans\)\]{font-family:var(--font-geist-sans)}.font-euclid{font-family:Euclid-Circular-B,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[3rem\]{font-size:3rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground)/.5)}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-muted{color:hsl(var(--muted))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-violet-500{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}.text-balance{text-wrap:balance}.\[appearance\:textfield\]{appearance:textfield}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.even\:border-l:nth-child(2n){border-left-width:1px}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-emerald-800:hover{--tw-bg-opacity:1;background-color:rgb(6 95 70/var(--tw-bg-opacity))}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted)/.5)}.hover\:bg-orange-800:hover{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-rose-800:hover{--tw-bg-opacity:1;background-color:rgb(159 18 57/var(--tw-bg-opacity))}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-purple-300:hover{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted)/.4)}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity))}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive)/.3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right],.data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x)}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end],.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x)}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[active\=true\]\:bg-muted\/50[data-active=true]{background-color:hsl(var(--muted)/.5)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:0.8}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.dark\:-rotate-90:is(.dark *){--tw-rotate:-90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:rotate-0:is(.dark *){--tw-rotate:0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-0:is(.dark *){--tw-scale-x:0;--tw-scale-y:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:scale-100:is(.dark *){--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}.dark\:hover\:bg-slate-900:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity))}@media (min-width:640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:max-w-sm{max-width:24rem}.sm\:flex-initial{flex:0 1 auto}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:items-start{align-items:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:border-l{border-left-width:1px}.sm\:border-t-0{border-top-width:0}.sm\:p-20{padding:5rem}.sm\:p-6{padding:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:text-left{text-align:left}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (min-width:768px){.md\:ml-auto{margin-left:auto}.md\:mr-8{margin-right:2rem}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:size-12{width:3rem;height:3rem}.md\:max-w-\[420px\]{max-width:420px}.md\:max-w-full{max-width:100%}.md\:max-w-lg{max-width:32rem}.md\:max-w-md{max-width:28rem}.md\:basis-1\/2{flex-basis:50%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-\[180px_1fr\]{grid-template-columns:180px 1fr}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:gap-2{gap:.5rem}.md\:gap-5{gap:1.25rem}.md\:gap-8{gap:2rem}.md\:p-10{padding:2.5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:size-48{width:12rem;height:12rem}.lg\:size-6{width:1.5rem;height:1.5rem}.lg\:h-10{height:2.5rem}.lg\:min-h-\[600px\]{min-height:600px}.lg\:max-w-full{max-width:100%}.lg\:basis-1\/3{flex-basis:33.333333%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lg\:grid-cols-\[250px_1fr\]{grid-template-columns:250px 1fr}.lg\:items-center{align-items:center}.lg\:gap-4{gap:1rem}.lg\:gap-6{gap:1.5rem}.lg\:gap-y-0{row-gap:0}.lg\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:py-12{padding-top:3rem;padding-bottom:3rem}.lg\:text-\[4rem\]{font-size:4rem}}@media (min-width:1280px){.xl\:size-14{width:3.5rem;height:3.5rem}.xl\:size-6{width:1.5rem;height:1.5rem}.xl\:min-h-\[800px\]{min-height:800px}.xl\:w-\[800px\]{width:800px}.xl\:max-w-xl{max-width:36rem}.xl\:gap-6{gap:1.5rem}.xl\:gap-y-12{row-gap:3rem}.xl\:p-4{padding:1rem}.xl\:text-2xl{font-size:1.5rem;line-height:2rem}.xl\:text-3xl{font-size:1.875rem;line-height:2.25rem}}@media (min-width:1536px){.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\+div\]\:text-xs+div{font-size:.75rem;line-height:1rem}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button,.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{appearance:none}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:hsl(var(--border)/.5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline:2px solid transparent;outline-offset:2px}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline:2px solid transparent;outline-offset:2px}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px} \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/dmkvmAv8teF6nyAn--0Zz/_buildManifest.js b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/dmkvmAv8teF6nyAn--0Zz/_buildManifest.js new file mode 100644 index 0000000..176a0ce --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/dmkvmAv8teF6nyAn--0Zz/_buildManifest.js @@ -0,0 +1 @@ +self.__BUILD_MANIFEST=function(r,e,t){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:20,errorRate:1e-4,numBits:384,numHashes:14,bitArray:[1,0,0,0,1,1,e,r,r,r,r,e,e,r,e,e,r,r,r,e,e,e,e,e,r,r,e,e,r,e,e,r,r,r,r,e,e,e,e,e,e,r,e,r,e,e,e,r,r,e,r,e,r,e,e,e,e,e,r,e,r,r,r,r,e,r,e,e,e,e,r,e,r,r,e,r,e,e,r,r,e,r,e,e,e,r,r,r,e,r,e,r,e,e,r,r,e,r,e,e,r,r,e,e,r,r,r,e,r,r,e,r,e,r,e,r,r,r,e,e,r,r,r,e,r,e,e,e,e,r,e,r,r,r,r,r,r,r,r,r,e,r,e,e,e,r,r,e,e,e,e,r,e,r,r,r,r,r,r,r,e,r,e,e,e,r,e,r,r,e,e,r,e,r,r,r,e,e,r,r,r,e,e,r,r,e,r,e,r,r,r,r,r,r,e,e,r,r,r,e,e,e,e,r,e,r,r,r,e,r,r,r,e,r,e,r,r,r,r,r,e,r,e,e,e,r,e,e,r,e,e,e,r,r,r,r,r,e,e,r,e,e,e,e,r,e,r,r,e,r,r,e,e,r,e,e,r,r,r,e,r,e,r,r,r,e,r,e,e,r,r,e,r,e,r,e,r,r,r,e,r,e,r,r,r,r,e,e,e,e,r,r,e,e,r,r,r,e,r,e,r,r,e,r,e,r,r,r,e,e,r,e,r,r,r,r,r,e,r,e,r,r,r,r,e,e,e,r,r,r,e,r,r,r,r,r,e,e,r,r,e,e,e,r,r,e,r,r,r,e,r,r,e,r,e,r,r,e,e,e,e,e,r,e,e,r,e,e,r,e,r,r,e,r,e,r,e,e,r,r,r,e,r,e]},__routerFilterDynamic:{numItems:e,errorRate:1e-4,numBits:e,numHashes:null,bitArray:[]},"/_error":["static/chunks/pages/_error-f347b70a71a8047b.js"],sortedPages:["/_app","/_error"]}}(1,0,0),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/dmkvmAv8teF6nyAn--0Zz/_ssgManifest.js b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/dmkvmAv8teF6nyAn--0Zz/_ssgManifest.js new file mode 100644 index 0000000..5b3ff59 --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/dmkvmAv8teF6nyAn--0Zz/_ssgManifest.js @@ -0,0 +1 @@ +self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB() \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/at_command.sh b/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/at_command.sh index b294201..c0355a0 100755 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/at_command.sh +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/at_command.sh @@ -7,7 +7,7 @@ echo "" # Define file paths and configuration QUEUE_FILE="/tmp/at_pipe.txt" LOG_FILE="/var/log/at_commands.log" -LOCK_KEYWORD="FETCH_DATA_LOCK" +LOCK_KEYWORD="AT_COMMAND_LOCK" CELL_SCAN_KEYWORD="CELL_SCAN" MAX_WAIT=6 # Maximum seconds to wait for lock COMMAND_TIMEOUT=4 # Timeout for individual AT commands @@ -50,8 +50,8 @@ add_clean_lock() { log_message "Removed existing lock after $MAX_WAIT seconds timeout" fi - # Add our lock entry with low priority - printf '{"id":"%s","timestamp":"%s","command":"%s","status":"lock","pid":"%s","start_time":"%s","priority":"low"}\n' \ + # Add our lock entry with high priority + printf '{"id":"%s","timestamp":"%s","command":"%s","status":"lock","pid":"%s","start_time":"%s","priority":"high"}\n' \ "${LOCK_KEYWORD}" \ "$(date '+%H:%M:%S')" \ "${LOCK_KEYWORD}" \ diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/experimental/cell_scanner/cell_scan.sh b/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/experimental/cell_scanner/cell_scan.sh new file mode 100644 index 0000000..2aca582 --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/experimental/cell_scanner/cell_scan.sh @@ -0,0 +1,111 @@ +#!/bin/sh + +# Set content type to JSON +echo "Content-type: application/json" +echo "" + +# Configuration +QUEUE_FILE="/tmp/at_pipe.txt" +RESULT_FILE="/tmp/qscan_result.json" +WORKER_SCRIPT="/www/cgi-bin/experimental/cell_scanner/cell_scan_worker.sh" +PID_FILE="/tmp/cell_scan.pid" +CELL_SCAN_KEYWORD="CELL_SCAN" + +# Function to log messages +log_message() { + logger -t cell_scan "$1" +} + +# Function to output JSON response +output_json() { + local status="$1" + local message="$2" + log_message "Sending response: status=$status, message=$message" + printf '{"status":"%s","message":"%s"}\n' "$status" "$message" + exit 0 +} + +# Function to check if worker is running +check_worker_running() { + if [ -f "$PID_FILE" ]; then + pid=$(cat "$PID_FILE") + if kill -0 "$pid" 2>/dev/null; then + log_message "Worker process $pid is running" + return 0 + fi + log_message "Removing stale PID file for process $pid" + rm -f "$PID_FILE" + fi + return 1 +} + +# Function to wait for queue to be ready +wait_for_queue() { + local retries=0 + while [ ! -f "$QUEUE_FILE" ] && [ $retries -lt 10 ]; do + touch "$QUEUE_FILE" 2>/dev/null || { + log_message "Waiting for queue file to be available (attempt $retries)" + sleep 1 + retries=$((retries + 1)) + continue + } + chmod 666 "$QUEUE_FILE" 2>/dev/null + log_message "Queue file created and permissions set" + break + done +} + +# Function to add scan entry to queue +add_scan_entry() { + # Wait for queue file to exist + wait_for_queue + + local entry + entry=$(printf '{"command":"%s","id":"%s","pid":"%s","timestamp":"%s","priority":"high","status":"queued"}\n' \ + "$CELL_SCAN_KEYWORD" \ + "cell_scan_$$" \ + "$$" \ + "$(date '+%H:%M:%S')") + + echo "$entry" >> "$QUEUE_FILE" + log_message "Added scan entry to queue: $entry" + + # Verify entry was added + if ! grep -q "\"pid\":\"$$\"" "$QUEUE_FILE"; then + log_message "Failed to verify scan entry in queue" + return 1 + fi + + sync + return 0 +} + +# Ensure worker script is executable +chmod +x "$WORKER_SCRIPT" 2>/dev/null +log_message "Ensured worker script is executable" + +# Main execution +{ + # If scan is running, return running status + if check_worker_running; then + output_json "running" "Cell scan is in progress" + fi + + # Start new scan + rm -f "$RESULT_FILE" + log_message "Starting new worker script: $WORKER_SCRIPT" + + # Add scan entry to queue before starting worker + if ! add_scan_entry; then + log_message "Failed to add scan entry to queue" + output_json "error" "Failed to acquire queue lock" + fi + + sh "$WORKER_SCRIPT" >/tmp/cell_scan_worker.log 2>&1 & + log_message "Worker script started with PID $!" + output_json "running" "Started new cell scan" +} || { + # Error handler + log_message "Script failed with error" + output_json "error" "Internal error occurred" +} \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/experimental/cell_scanner/cell_scan_worker.sh b/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/experimental/cell_scanner/cell_scan_worker.sh new file mode 100644 index 0000000..a100540 --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/experimental/cell_scanner/cell_scan_worker.sh @@ -0,0 +1,104 @@ +# Modified cell_scan_worker.sh +#!/bin/sh + +# Configuration +QUEUE_FILE="/tmp/at_pipe.txt" +RESULT_FILE="/tmp/qscan_result.json" +PID_FILE="/tmp/cell_scan.pid" +CELL_SCAN_KEYWORD="CELL_SCAN" +SCAN_COMMAND="AT+QSCAN=3,1" +SCAN_TIMEOUT=200 + +# Function to log messages +log_message() { + logger -t cell_scan_worker "$1" +} + +# Function to clean AT command output +clean_output() { + while IFS= read -r line; do + case "$line" in + "OK" | "" | *"ERROR"*) + continue + ;; + *) + printf '%s\n' "$line" + ;; + esac + done | sed 's/\r//g' | tr '\n' '\r' | sed 's/\r$//' | tr '\r' '\n' +} + +# Function to check if scan is already running +check_running() { + if [ -f "$PID_FILE" ]; then + pid=$(cat "$PID_FILE") + if kill -0 "$pid" 2>/dev/null; then + return 0 + fi + rm -f "$PID_FILE" + fi + return 1 +} + +# Function to remove scan entry +remove_scan_entry() { + if [ -f "$QUEUE_FILE" ]; then + sed -i "/\"pid\":\"$$\"/d" "$QUEUE_FILE" + sync + fi + if [ -f "$PID_FILE" ]; then + rm -f "$PID_FILE" + fi + log_message "Scan entry and PID file removed" +} + +# Main execution +main() { + # Start logging + log_message "Worker script started" + + # Check if already running + if check_running; then + log_message "Cell scan already running" + exit 1 + fi + + # Create PID file + echo "$$" >"$PID_FILE" + chmod 666 "$PID_FILE" 2>/dev/null + log_message "Created PID file: $$" + + # Execute scan with timeout and process output + log_message "Executing scan command: $SCAN_COMMAND" + SCAN_OUTPUT=$(timeout $SCAN_TIMEOUT sms_tool at "$SCAN_COMMAND" -t $SCAN_TIMEOUT 2>&1 | clean_output) + SCAN_STATUS=$? + + # Process and store result + if [ $SCAN_STATUS -eq 0 ] && [ -n "$SCAN_OUTPUT" ]; then + TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S') + printf '{"status":"success","timestamp":"%s","output":"%s"}\n' \ + "$TIMESTAMP" \ + "$(printf '%s' "$SCAN_OUTPUT" | jq -R -s '.')" >"$RESULT_FILE" + chmod 666 "$RESULT_FILE" 2>/dev/null + + log_message "Scan completed successfully" + remove_scan_entry + exit 0 + else + log_message "Scan failed with status: $SCAN_STATUS" + printf '{"status":"error","timestamp":"%s","message":"Scan failed"}\n' \ + "$(date '+%Y-%m-%d %H:%M:%S')" >"$RESULT_FILE" + chmod 666 "$RESULT_FILE" 2>/dev/null + remove_scan_entry + exit 1 + fi +} + +# Execute main function with proper error handling +{ + main +} || { + log_message "Script failed with error" + remove_scan_entry + exit 1 +} \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/experimental/cell_scanner/check_scan.sh b/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/experimental/cell_scanner/check_scan.sh new file mode 100644 index 0000000..448658b --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/experimental/cell_scanner/check_scan.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +# Set content type to JSON +echo "Content-type: application/json" +echo "" + +# Configuration +RESULT_FILE="/tmp/qscan_result.json" +PID_FILE="/tmp/cell_scan.pid" + +# Function to output JSON response +output_json() { + local status="$1" + local message="$2" + + if [ "$status" = "success" ] && [ -f "$RESULT_FILE" ]; then + # Remove trailing quotes from output field and clean up formatting + sed 's/"output":""/"output":"/; s/""}/"}/' "$RESULT_FILE" + else + printf '{"status":"%s","message":"%s","timestamp":"","output":""}\n' "$status" "$message" + fi +} + +# Check if a scan is already in progress +check_scan_progress() { + if [ -f "$PID_FILE" ]; then + pid=$(cat "$PID_FILE") + if kill -0 "$pid" 2>/dev/null; then + output_json "running" "Scan in progress" + exit 0 + else + rm -f "$PID_FILE" + fi + fi +} + +# Check for existing results +check_results() { + if [ -f "$RESULT_FILE" ]; then + output_json "success" "Scan results available" + exit 0 + fi +} + +# Main execution +{ + # First check if a scan is in progress + check_scan_progress + + # Then check for existing results + check_results + + # If no results and no running scan, indicate idle state + output_json "idle" "No active scan" + exit 0 +} || { + # Error handler + output_json "error" "Failed to check scan status" + exit 1 +} \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/experimental/cell_scanner/fetch_mccmnc.sh b/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/experimental/cell_scanner/fetch_mccmnc.sh new file mode 100644 index 0000000..5b3f2de --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/experimental/cell_scanner/fetch_mccmnc.sh @@ -0,0 +1,40 @@ +#!/bin/sh + +# Set content type to JSON +echo "Content-type: application/json" +echo "" + +# Configuration +JSON_FILE="/www/cgi-bin/mcc-mnc-list.json" + +# Function to log messages +log_message() { + logger -t fetch_mccmnc "$1" +} + +# Function to output JSON response +output_json() { + local status="$1" + local message="$2" + printf '{"status":"%s","message":"%s"}\n' "$status" "$message" + exit 1 +} + +# Main execution +{ + # Check if file exists + if [ ! -f "$JSON_FILE" ]; then + log_message "MCC-MNC list file not found" + output_json "error" "MCC-MNC list file not found" + fi + + # Read and output the file + cat "$JSON_FILE" 2>/dev/null || { + log_message "Failed to read MCC-MNC list file" + output_json "error" "Failed to read MCC-MNC list file" + } +} || { + # Error handler + log_message "Script failed with error" + output_json "error" "Internal error occurred" +} \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/experimental/quecwatch/enable-quecwatch.sh b/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/experimental/quecwatch/enable-quecwatch.sh index a436e59..b635f9f 100755 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/experimental/quecwatch/enable-quecwatch.sh +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/experimental/quecwatch/enable-quecwatch.sh @@ -96,6 +96,21 @@ QUEUE_FILE="/tmp/at_pipe.txt" LOG_FILE="/tmp/log/quecwatch/quecwatch.log" [ ! -f "${QUEUE_FILE}" ] && touch "${QUEUE_FILE}" +# Function to persist retry count to a more permanent location +persist_retry_count() { + local count=$1 + echo "$count" > /etc/quecmanager/quecwatch/retry_count +} + +# Function to load persisted retry count +load_retry_count() { + if [ -f /etc/quecmanager/quecwatch/retry_count ]; then + cat /etc/quecmanager/quecwatch/retry_count + else + echo "0" + fi +} + # Enhanced logging function with debug level log_message() { local level="$1" @@ -178,9 +193,12 @@ execute_at_command() { return 1 } -# Function to update retry count in config +# Function to update retry count in config and persistent storage update_retry_count() { local new_retry_count=$1 + # Update the persistent count file + persist_retry_count "$new_retry_count" + # Update the config file sed -i "s/CURRENT_RETRIES=[0-9]*/CURRENT_RETRIES=${new_retry_count}/" /etc/quecmanager/quecwatch/quecwatch.conf # Reload config to ensure latest values . /etc/quecmanager/quecwatch/quecwatch.conf @@ -215,7 +233,7 @@ switch_sim_card() { if [ $? -ne 0 ]; then log_message "ERROR" "Failed to get current SIM slot" return 1 - fi # Changed from } to fi + fi # Toggle between SIM slots new_sim_slot=$((current_sim_slot % 2 + 1)) @@ -254,7 +272,7 @@ perform_connection_recovery() { if ! execute_at_command "AT+COPS=0"; then log_message "ERROR" "Failed to reattach to network" return 1 - fi # <-- Changed from } to fi + fi sleep 5 @@ -285,7 +303,7 @@ fi # Main monitoring loop failure_count=0 -retry_trigger=0 +retry_trigger=$(load_retry_count) sim_failover_interval=0 while true; do @@ -309,12 +327,19 @@ while true; do failure_count=0 update_retry_count 0 else - log_message "ERROR" "SIM failover failed. Performing system reboot." + log_message "ERROR" "SIM failover failed. Updating retry count before reboot." + retry_trigger=$((retry_trigger + 1)) + update_retry_count ${retry_trigger} + log_message "INFO" "Updated retry count to ${retry_trigger}. Performing system reboot." reboot fi else log_message "INFO" "Max retries exhausted. Auto SIM failover disabled. Removing QuecWatch." + # Clean up the retry count file + rm -f /etc/quecmanager/quecwatch/retry_count + # Remove from rc.local and disable sed -i '\|/etc/quecmanager/quecwatch/quecwatch.sh|d' /etc/rc.local + sed -i 's/ENABLED=true/ENABLED=false/' /etc/quecmanager/quecwatch/quecwatch.conf reboot exit 0 fi @@ -324,7 +349,10 @@ while true; do failure_count=0 update_retry_count 0 else - log_message "ERROR" "Recovery failed. Performing system reboot." + log_message "ERROR" "Recovery failed. Updating retry count before reboot." + retry_trigger=$((retry_trigger + 1)) + update_retry_count ${retry_trigger} + log_message "INFO" "Updated retry count to ${retry_trigger}. Performing system reboot." reboot fi fi diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/fetch_data.sh b/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/fetch_data.sh index ad0829d..0132c8f 100755 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/fetch_data.sh +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/fetch_data.sh @@ -7,7 +7,8 @@ echo "" # Define file paths and configuration QUEUE_FILE="/tmp/at_pipe.txt" LOCK_KEYWORD="FETCH_DATA_LOCK" -CELL_SCAN_KEYWORD="CELL_SCAN" # Added cell scan keyword +CELL_SCAN_KEYWORD="CELL_SCAN" +CELL_SCAN_WAIT=3 # Wait time for cell scan in seconds MAX_WAIT=6 # Maximum seconds to wait for lock # Function to output error in JSON format @@ -16,35 +17,52 @@ output_error() { exit 1 } -# Function to wait for high-priority operations -wait_for_high_priority() { - while grep -q "\"command\":\"$CELL_SCAN_KEYWORD\"" "$QUEUE_FILE" || \ - grep -q "\"priority\":\"high\"" "$QUEUE_FILE"; do - logger -t at_commands "Waiting for high-priority operation to complete" - sleep 1 +# Function to remove cell scan entries after timeout +remove_cell_scan() { + local start_time=$(date +%s) + local has_waited=0 + + # Wait for cell scan to complete naturally + while [ $has_waited -eq 0 ]; do + if ! grep -q "\"command\":\"$CELL_SCAN_KEYWORD\"" "$QUEUE_FILE"; then + return 0 + fi + + current_time=$(date +%s) + if [ $((current_time - start_time)) -ge $CELL_SCAN_WAIT ]; then + has_waited=1 + else + sleep 1 + fi done + + # After wait period, forcibly remove cell scan entries + if grep -q "\"command\":\"$CELL_SCAN_KEYWORD\"" "$QUEUE_FILE"; then + logger -t at_commands "Removing cell scan entry after $CELL_SCAN_WAIT seconds timeout" + sed -i "/${CELL_SCAN_KEYWORD}/d" "$QUEUE_FILE" + sync + fi } -# Function to clean and add lock with simplified timeout logic +# Function to clean and add high-priority lock add_clean_lock() { local TIMESTAMP=$(date +%s) local WAIT_START=$(date +%s) - # First, wait for any high-priority operations - wait_for_high_priority + # First, handle any cell scan operations + remove_cell_scan while true; do local CURRENT_TIME=$(date +%s) # After MAX_WAIT seconds, forcibly remove any existing lock if [ $((CURRENT_TIME - WAIT_START)) -ge $MAX_WAIT ]; then - # Remove any existing lock entries regardless of owner sed -i "/${LOCK_KEYWORD}/d" "$QUEUE_FILE" logger -t at_commands "Removed existing lock after $MAX_WAIT seconds timeout" fi - # Add our lock entry with low priority - printf '{"id":"%s","timestamp":"%s","command":"%s","status":"lock","pid":"%s","start_time":"%s","priority":"low"}\n' \ + # Add our lock entry with high priority + printf '{"id":"%s","timestamp":"%s","command":"%s","status":"lock","pid":"%s","start_time":"%s","priority":"high"}\n' \ "${LOCK_KEYWORD}" \ "$(date '+%H:%M:%S')" \ "${LOCK_KEYWORD}" \ @@ -53,13 +71,11 @@ add_clean_lock() { # Verify our lock was written if grep -q "\"pid\":\"$$\".*\"start_time\":\"$TIMESTAMP\"" "$QUEUE_FILE"; then - logger -t at_commands "Lock created by PID $$ at $TIMESTAMP" - # Register cleanup handler + logger -t at_commands "High priority lock created by PID $$ at $TIMESTAMP" trap 'remove_lock; exit' INT TERM EXIT return 0 fi - # If we haven't exceeded MAX_WAIT, sleep and try again if [ $((CURRENT_TIME - WAIT_START)) -lt $MAX_WAIT ]; then sleep 1 else @@ -117,24 +133,18 @@ process_commands() { local commands="$1" local first=1 - # Start JSON array printf '[' - # Process each command for cmd in $commands; do - # Add comma separator if not first item [ $first -eq 0 ] && printf ',' first=0 - # Execute command with retries OUTPUT=$(execute_at_command "$cmd") local CMD_STATUS=$? - # Properly escape both command and output for JSON ESCAPED_CMD=$(escape_json "$cmd") ESCAPED_OUTPUT=$(escape_json "$OUTPUT") - # Format JSON object with proper escaping if [ $CMD_STATUS -eq 0 ]; then printf '{"command":"%s","response":"%s","status":"success"}' \ "${ESCAPED_CMD}" \ @@ -143,16 +153,13 @@ process_commands() { printf '{"command":"%s","response":"Command failed","status":"error"}' \ "${ESCAPED_CMD}" fi - done - # Close JSON array printf ']\n' } # Main process wrapper with automatic lock handling main_with_clean_lock() { - # Set timeout for the entire script ( sleep 60; kill -TERM $$ 2>/dev/null ) & TIMEOUT_PID=$! @@ -162,10 +169,8 @@ main_with_clean_lock() { exit 1 fi - # Process commands process_commands "$COMMANDS" - # Clean up remove_lock kill $TIMEOUT_PID 2>/dev/null } @@ -188,7 +193,7 @@ define_command_sets # Get command set from query string with validation COMMAND_SET=$(echo "$QUERY_STRING" | grep -o 'set=[1-8]' | cut -d'=' -f2 | tr -cd '0-9') if [ -z "$COMMAND_SET" ] || [ "$COMMAND_SET" -lt 1 ] || [ "$COMMAND_SET" -gt 8 ]; then - COMMAND_SET=1 # Default to set 1 if invalid or no set specified + COMMAND_SET=1 fi # Select the appropriate command set diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/mcc-mnc-list.json b/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/mcc-mnc-list.json new file mode 100644 index 0000000..fa20e53 --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/mcc-mnc-list.json @@ -0,0 +1,37130 @@ +[ + { + "type": "National", + "countryName": "Abkhazia", + "countryCode": "GE-AB", + "mcc": "289", + "mnc": "67", + "brand": "Aquafon", + "operator": "Aquafon JSC", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800", + "notes": "MCC is not listed by ITU; LTE band 20" + }, + { + "type": "National", + "countryName": "Abkhazia", + "countryCode": "GE-AB", + "mcc": "289", + "mnc": "88", + "brand": "A-Mobile", + "operator": "A-Mobile LLSC", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": "MCC is not listed by ITU" + }, + { + "type": "National", + "countryName": "Albania", + "countryCode": "AL", + "mcc": "276", + "mnc": "01", + "brand": "ONE", + "operator": "One Telecommunications", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2600", + "notes": "Former Telekom Albania" + }, + { + "type": "National", + "countryName": "Albania", + "countryCode": "AL", + "mcc": "276", + "mnc": "02", + "brand": "Vodafone", + "operator": "Vodafone Albania", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Albania", + "countryCode": "AL", + "mcc": "276", + "mnc": "03", + "brand": "ALBtelecom", + "operator": "Albtelecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Former Eagle Mobile" + }, + { + "type": "National", + "countryName": "Albania", + "countryCode": "AL", + "mcc": "276", + "mnc": "04", + "brand": "Plus Communication", + "operator": "Plus Communication", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Shut down Jan 2018; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Andorra", + "countryCode": "AD", + "mcc": "213", + "mnc": "03", + "brand": "Som, Mobiland", + "operator": "Andorra Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / 5G", + "notes": "LTE band 20; former Servei de Telecommunicacions d'Andorra" + }, + { + "type": "National", + "countryName": "Armenia", + "countryCode": "AM", + "mcc": "283", + "mnc": "01", + "brand": "Beeline", + "operator": "Veon Armenia CJSC", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 450 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Armenia", + "countryCode": "AM", + "mcc": "283", + "mnc": "04", + "brand": "Karabakh Telecom", + "operator": "Karabakh Telecom", + "status": "Operational", + "bands": "GSM 900 / UMTS 900", + "notes": null + }, + { + "type": "National", + "countryName": "Armenia", + "countryCode": "AM", + "mcc": "283", + "mnc": "05", + "brand": "VivaCell-MTS", + "operator": "K Telecom CJSC", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Armenia", + "countryCode": "AM", + "mcc": "283", + "mnc": "10", + "brand": "Ucom", + "operator": "Ucom LLC", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": "Former Orange" + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "01", + "brand": "A1.net", + "operator": "A1 Telekom Austria", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500", + "notes": "former A1 / Mobilkom / PTA" + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "02", + "brand": null, + "operator": "A1 Telekom Austria", + "status": "Reserved", + "bands": null, + "notes": null + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "03", + "brand": "Magenta", + "operator": "T-Mobile Austria GmbH", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 2100 / 5G 3500", + "notes": "former Max.Mobil, T-Mobile; national roaming agreement with 232-10: uses Hutchison Drei UMTS where no own coverage" + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "04", + "brand": "Magenta", + "operator": "T-Mobile Austria GmbH", + "status": "Unknown", + "bands": "Unknown", + "notes": "former T-Mobile" + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "05", + "brand": "3", + "operator": "Hutchison Drei Austria", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600", + "notes": "owned by Hutchison Drei Austria / former Orange Austria / One / Connect; GSM 900 / LTE 900 rarely used" + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "06", + "brand": "Orange AT", + "operator": "Orange Austria GmbH", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "07", + "brand": "Hofer Telekom", + "operator": "T-Mobile Austria", + "status": "Operational", + "bands": "MVNO", + "notes": "former tele.ring" + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "08", + "brand": "Lycamobile", + "operator": "Lycamobile Austria", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "09", + "brand": "Tele2Mobil", + "operator": "A1 Telekom Austria", + "status": "Operational", + "bands": "MVNO", + "notes": "division bought from Tele2 by A1 Telekom Austria; customers \"moved\" to bob (232-11)" + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "10", + "brand": "3", + "operator": "Hutchison Drei Austria", + "status": "Operational", + "bands": "UMTS 2100 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 3500", + "notes": "national roaming agreement with 232-03: uses T-Mobile GSM where no own coverage" + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "11", + "brand": "bob", + "operator": "A1 Telekom Austria", + "status": "Operational", + "bands": "MVNO", + "notes": "brand of A1 Telekom Austria" + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "12", + "brand": "yesss!", + "operator": "A1 Telekom Austria", + "status": "Operational", + "bands": "MVNO", + "notes": "owned by A1 Telekom Austria / one-way national roaming agreement with 232-05" + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "13", + "brand": "Magenta", + "operator": "T-Mobile Austria GmbH", + "status": "Operational", + "bands": "MVNO", + "notes": "Former UPC Austria" + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "14", + "brand": null, + "operator": "Hutchison Drei Austria", + "status": "Reserved", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "15", + "brand": "Vectone Mobile", + "operator": "Mundio Mobile Austria", + "status": "Operational", + "bands": "MVNO", + "notes": "former Barablu Mobile Austria, uses A1" + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "16", + "brand": null, + "operator": "Hutchison Drei Austria", + "status": "Reserved", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "17", + "brand": "spusu", + "operator": "MASS Response Service GmbH", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "18", + "brand": null, + "operator": "smartspace GmbH", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "19", + "brand": null, + "operator": "Hutchison Drei Austria", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Tele2 Telecommunication GmbH" + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "20", + "brand": "m:tel", + "operator": "MTEL Austrija GmbH", + "status": "Operational", + "bands": "MVNO", + "notes": "By Serbian Telecom" + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "21", + "brand": null, + "operator": "Salzburg AG für Energie, Verkehr und Telekommunikation", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "22", + "brand": null, + "operator": "Plintron Austria Limited", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "23", + "brand": "Magenta", + "operator": "T-Mobile Austria GmbH", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "24", + "brand": null, + "operator": "Smartel Services GmbH", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "25", + "brand": null, + "operator": "Holding Graz Kommunale Dienstleistungen GmbH", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "26", + "brand": null, + "operator": "LIWEST Kabelmedien GmbH", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "27", + "brand": null, + "operator": "TISMI B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "91", + "brand": "GSM-R A", + "operator": "ÖBB", + "status": "Operational", + "bands": "GSM-R", + "notes": "railways communication" + }, + { + "type": "National", + "countryName": "Austria", + "countryCode": "AT", + "mcc": "232", + "mnc": "92", + "brand": "ArgoNET", + "operator": "ArgoNET GmbH", + "status": "Operational", + "bands": "CDMA450 / LTE450", + "notes": "machine to machine communication for critical infrastructure" + }, + { + "type": "National", + "countryName": "Belarus", + "countryCode": "BY", + "mcc": "257", + "mnc": "01", + "brand": "A1", + "operator": "A1 Belarus", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100", + "notes": "Former velcom; LTE via beCloud" + }, + { + "type": "National", + "countryName": "Belarus", + "countryCode": "BY", + "mcc": "257", + "mnc": "02", + "brand": "MTS", + "operator": "Mobile TeleSystems", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100", + "notes": "LTE via beCloud" + }, + { + "type": "National", + "countryName": "Belarus", + "countryCode": "BY", + "mcc": "257", + "mnc": "03", + "brand": "DIALLOG", + "operator": "BelCel", + "status": "Not operational", + "bands": "CDMA 450", + "notes": "Closed on 21 January 2014" + }, + { + "type": "National", + "countryName": "Belarus", + "countryCode": "BY", + "mcc": "257", + "mnc": "04", + "brand": "life:)", + "operator": "Belarusian Telecommunications Network", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Former BeST; LTE via beCloud" + }, + { + "type": "National", + "countryName": "Belarus", + "countryCode": "BY", + "mcc": "257", + "mnc": "05", + "brand": "byfly", + "operator": "Beltelecom", + "status": "Not operational", + "bands": "WiMAX 3500", + "notes": "Closed on 1 May 2017" + }, + { + "type": "National", + "countryName": "Belarus", + "countryCode": "BY", + "mcc": "257", + "mnc": "06", + "brand": "beCloud", + "operator": "Belorussian Cloud Technologies", + "status": "Operational", + "bands": "LTE 800 / LTE 1800 / LTE 2600", + "notes": "Former Yota Bel; wholesale network used by MTS, life:), and A1" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "00", + "brand": "Proximus", + "operator": "Proximus SA", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Belgacom Mobile" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "01", + "brand": "Proximus", + "operator": "Proximus SA", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 2100 / 5G 3500", + "notes": "Former Belgacom Mobile" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "02", + "brand": null, + "operator": "Infrabel", + "status": "Operational", + "bands": "GSM-R", + "notes": null + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "03", + "brand": "Citymesh Connect", + "operator": "Citymesh NV", + "status": "Operational", + "bands": "LTE 2600 / LTE 3500", + "notes": "MVNO and private network" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "04", + "brand": "MWingz", + "operator": "Proximus SA", + "status": "Planned", + "bands": "Unknown", + "notes": "Shared Proximus / Orange Belgium" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "05", + "brand": "Telenet", + "operator": "Telenet", + "status": "Operational", + "bands": "MVNO", + "notes": "Using Base's Network" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "06", + "brand": "Lycamobile", + "operator": "Lycamobile sprl", + "status": "Operational", + "bands": "MVNO", + "notes": "Using Telenet" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "07", + "brand": "Vectone Mobile", + "operator": "Mundio Mobile Belgium nv", + "status": "Reserved", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "08", + "brand": "VOO", + "operator": "Nethys", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "09", + "brand": null, + "operator": "Proximus SA", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Voxbone" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "10", + "brand": "Orange Belgium", + "operator": "Orange S.A.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": "Former Mobistar" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "11", + "brand": "L-mobi", + "operator": "L-Mobi Mobile", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "15", + "brand": null, + "operator": "Elephant Talk Communications Schweiz GmbH", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "16", + "brand": null, + "operator": "NextGen Mobile Ltd.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "20", + "brand": "Base", + "operator": "Telenet", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "22", + "brand": "Febo.mobi", + "operator": "FEBO Telecom", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "23", + "brand": null, + "operator": "Dust Mobile", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "25", + "brand": null, + "operator": "Dense Air Belgium SPRL", + "status": "Unknown", + "bands": "TD-LTE 2600", + "notes": "Former Voyacom" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "28", + "brand": null, + "operator": "BICS", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "29", + "brand": null, + "operator": "TISMI", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "30", + "brand": "Mobile Vikings", + "operator": "Unleashed NV", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses Proximus network" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "33", + "brand": null, + "operator": "Ericsson NV", + "status": "Not operational", + "bands": "Unknown", + "notes": "Test network" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "34", + "brand": null, + "operator": "ONOFFAPP OÜ", + "status": "Unknown", + "bands": "MVNO", + "notes": "Former Dense Air Belgium SPRL" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "40", + "brand": "JOIN", + "operator": "JOIN Experience (Belgium)", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "48", + "brand": null, + "operator": "Network Research Belgium", + "status": "Unknown", + "bands": "5G 3500", + "notes": "Test network" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "50", + "brand": null, + "operator": "IP Nexia", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "71", + "brand": null, + "operator": "test", + "status": "Not operational", + "bands": "Unknown", + "notes": "Test network; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "72", + "brand": null, + "operator": "test", + "status": "Not operational", + "bands": "Unknown", + "notes": "Test network; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "73", + "brand": null, + "operator": "test", + "status": "Not operational", + "bands": "Unknown", + "notes": "Test network; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "74", + "brand": null, + "operator": "test", + "status": "Not operational", + "bands": "Unknown", + "notes": "Test network; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "206", + "mnc": "99", + "brand": null, + "operator": "e-BO Enterprises", + "status": "Not operational", + "bands": "LTE?", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "270", + "mnc": "77", + "brand": null, + "operator": "Proximus Luxembourg S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Uses Luxembourg MCC" + }, + { + "type": "National", + "countryName": "Belgium", + "countryCode": "BE", + "mcc": "270", + "mnc": "99", + "brand": null, + "operator": "Orange Communications Luxembourg S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Uses Luxembourg MCC" + }, + { + "type": "National", + "countryName": "Bosnia and Herzegovina", + "countryCode": "BA", + "mcc": "218", + "mnc": "03", + "brand": "HT-ERONET", + "operator": "Public Enterprise Croatian Telecom Ltd.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Bosnia and Herzegovina", + "countryCode": "BA", + "mcc": "218", + "mnc": "05", + "brand": "m:tel", + "operator": "RS Telecommunications JSC Banja Luka", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE", + "notes": "GSM-MS1, Mobilna Srpske, Mobi's" + }, + { + "type": "National", + "countryName": "Bosnia and Herzegovina", + "countryCode": "BA", + "mcc": "218", + "mnc": "90", + "brand": "BH Mobile", + "operator": "BH Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE", + "notes": "GSMBiH" + }, + { + "type": "National", + "countryName": "Bulgaria", + "countryCode": "BG", + "mcc": "284", + "mnc": "01", + "brand": "A1 BG", + "operator": "A1 Bulgaria", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / 5G 3500", + "notes": "Former Citron, Mobiltel, M-Tel" + }, + { + "type": "National", + "countryName": "Bulgaria", + "countryCode": "BG", + "mcc": "284", + "mnc": "03", + "brand": "Vivacom", + "operator": "BTC", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / 5G 1800 / 5G 2100", + "notes": "Former Vivatel" + }, + { + "type": "National", + "countryName": "Bulgaria", + "countryCode": "BG", + "mcc": "284", + "mnc": "05", + "brand": "Yettel", + "operator": "Yettel Bulgaria", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2100 / 5G 3500", + "notes": "Former Globul, Telenor" + }, + { + "type": "National", + "countryName": "Bulgaria", + "countryCode": "BG", + "mcc": "284", + "mnc": "07", + "brand": "НКЖИ", + "operator": "НАЦИОНАЛНА КОМПАНИЯ ЖЕЛЕЗОПЪТНА ИНФРАСТРУКТУРА", + "status": "Operational", + "bands": "GSM-R", + "notes": "(The Bulgarian) National Railway Infrastructure Company" + }, + { + "type": "National", + "countryName": "Bulgaria", + "countryCode": "BG", + "mcc": "284", + "mnc": "09", + "brand": null, + "operator": "COMPATEL LIMITED", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Bulgaria", + "countryCode": "BG", + "mcc": "284", + "mnc": "11", + "brand": null, + "operator": "Bulsatcom", + "status": "Operational", + "bands": "LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Bulgaria", + "countryCode": "BG", + "mcc": "284", + "mnc": "13", + "brand": "Ти.ком", + "operator": "Ti.com JSC", + "status": "Operational", + "bands": "LTE 1800", + "notes": "Former Max Telecom" + }, + { + "type": "National", + "countryName": "Croatia", + "countryCode": "HR", + "mcc": "219", + "mnc": "01", + "brand": "HT HR", + "operator": "T-Hrvatski Telekom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / 5G 2100 / 5G 3500 / 5G 26000", + "notes": "Former CRONET,\nHTmobile" + }, + { + "type": "National", + "countryName": "Croatia", + "countryCode": "HR", + "mcc": "219", + "mnc": "02", + "brand": null, + "operator": "Telemach", + "status": "Operational", + "bands": "GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": "Former Tele2" + }, + { + "type": "National", + "countryName": "Croatia", + "countryCode": "HR", + "mcc": "219", + "mnc": "03", + "brand": null, + "operator": "ALTAVOX d.o.o.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Croatia", + "countryCode": "HR", + "mcc": "219", + "mnc": "04", + "brand": null, + "operator": "NTH Mobile d.o.o.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Croatia", + "countryCode": "HR", + "mcc": "219", + "mnc": "10", + "brand": "A1 HR", + "operator": "A1 Hrvatska", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / 5G 700 / 5G 3500", + "notes": "Former Vipnet" + }, + { + "type": "National", + "countryName": "Croatia", + "countryCode": "HR", + "mcc": "219", + "mnc": "12", + "brand": null, + "operator": "TELE FOCUS d.o.o.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Croatia", + "countryCode": "HR", + "mcc": "219", + "mnc": "20", + "brand": "T-Mobile HR", + "operator": "T-Hrvatski Telekom", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Croatia", + "countryCode": "HR", + "mcc": "219", + "mnc": "22", + "brand": "Mobile One", + "operator": "Mobile One Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Croatia", + "countryCode": "HR", + "mcc": "219", + "mnc": "30", + "brand": null, + "operator": "INNOVACOM OÜ", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Cyprus", + "countryCode": "CY", + "mcc": "280", + "mnc": "01", + "brand": "Cytamobile-Vodafone", + "operator": "Cyprus Telecommunications Authority", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 700 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Cyprus", + "countryCode": "CY", + "mcc": "280", + "mnc": "02", + "brand": "Cytamobile-Vodafone", + "operator": "Cyprus Telecommunications Authority", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Cyprus", + "countryCode": "CY", + "mcc": "280", + "mnc": "10", + "brand": "Epic", + "operator": "Monaco Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": "Former MTN" + }, + { + "type": "National", + "countryName": "Cyprus", + "countryCode": "CY", + "mcc": "280", + "mnc": "20", + "brand": "PrimeTel", + "operator": "PrimeTel PLC", + "status": "Operational", + "bands": "UMTS 2100 / LTE 900 / LTE 1800", + "notes": "Originally MVNO, MNO since 2015. Uses Epic for 2G/3G roaming." + }, + { + "type": "National", + "countryName": "Cyprus", + "countryCode": "CY", + "mcc": "280", + "mnc": "22", + "brand": "lemontel", + "operator": "Lemontel Ltd", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Cyprus", + "countryCode": "CY", + "mcc": "280", + "mnc": "23", + "brand": "Vectone Mobile", + "operator": "Mundio Mobile Cyprus Ltd.", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Czech Republic", + "countryCode": "CZ", + "mcc": "230", + "mnc": "01", + "brand": "T-Mobile", + "operator": "T-Mobile Czech Republic", + "status": "Operational", + "bands": "GSM 900 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 1800 / 5G 2100", + "notes": "Former Paegas; UMTS shut down Nov 2021" + }, + { + "type": "National", + "countryName": "Czech Republic", + "countryCode": "CZ", + "mcc": "230", + "mnc": "02", + "brand": "O2", + "operator": "O2 Czech Republic", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 800 / LTE 1800 / LTE 2600 / TD-LTE 2600 / 5G 3500", + "notes": "Former Eurotel; CDMA 450 shut down June 2019; UMTS shut down Nov 2021" + }, + { + "type": "National", + "countryName": "Czech Republic", + "countryCode": "CZ", + "mcc": "230", + "mnc": "03", + "brand": "Vodafone", + "operator": "Vodafone Czech Republic", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 1800 / 5G 2100", + "notes": "Former Oskar; UMTS shut down Mar 2021" + }, + { + "type": "National", + "countryName": "Czech Republic", + "countryCode": "CZ", + "mcc": "230", + "mnc": "04", + "brand": null, + "operator": "Nordic Telecom Regional s.r.o.", + "status": "Operational", + "bands": "MVNO / LTE 410", + "notes": "Former U:fon, Air Telecom; CDMA 410 MHz shut down Dec 2017; LTE 410 for public safety services" + }, + { + "type": "National", + "countryName": "Czech Republic", + "countryCode": "CZ", + "mcc": "230", + "mnc": "05", + "brand": null, + "operator": "PODA a.s.", + "status": "Operational", + "bands": "TD-LTE 3700", + "notes": "Former TRAVEL TELEKOMMUNIKATION; fixed wireless" + }, + { + "type": "National", + "countryName": "Czech Republic", + "countryCode": "CZ", + "mcc": "230", + "mnc": "06", + "brand": null, + "operator": "Nordic Telecom 5G a.s.", + "status": "Operational", + "bands": "TD-LTE 3700", + "notes": "Former OSNO TELECOMUNICATION" + }, + { + "type": "National", + "countryName": "Czech Republic", + "countryCode": "CZ", + "mcc": "230", + "mnc": "07", + "brand": "T-Mobile", + "operator": "T-Mobile Czech Republic", + "status": "Operational", + "bands": "LTE 800", + "notes": "Former ASTELNET" + }, + { + "type": "National", + "countryName": "Czech Republic", + "countryCode": "CZ", + "mcc": "230", + "mnc": "08", + "brand": null, + "operator": "Compatel s.r.o.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Czech Republic", + "countryCode": "CZ", + "mcc": "230", + "mnc": "09", + "brand": "Unimobile", + "operator": "Uniphone, s.r.o.", + "status": "Unknown", + "bands": "MVNO", + "notes": "Former Vectone/Mundio" + }, + { + "type": "National", + "countryName": "Czech Republic", + "countryCode": "CZ", + "mcc": "230", + "mnc": "11", + "brand": null, + "operator": "incrate s.r.o.", + "status": "Unknown", + "bands": "5G 700 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Czech Republic", + "countryCode": "CZ", + "mcc": "230", + "mnc": "98", + "brand": null, + "operator": "Správa železniční dopravní cesty, s.o.", + "status": "Operational", + "bands": "GSM-R 900", + "notes": "railways communication" + }, + { + "type": "National", + "countryName": "Czech Republic", + "countryCode": "CZ", + "mcc": "230", + "mnc": "99", + "brand": "Vodafone", + "operator": "Vodafone Czech Republic", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "R&D Centre at FEE, CTU (educational, experimental); licence expired Jul 2012" + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "01", + "brand": "TDC", + "operator": "TDC A/S", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "02", + "brand": "Telenor", + "operator": "Telenor Denmark", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600", + "notes": "Former Sonofon; UMTS 2100 shutdown 2021, UMTS 900 to shut down 2022" + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "03", + "brand": null, + "operator": "Syniverse Technologies", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former End2End / MIGway A/S / MACH Connectivity" + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "04", + "brand": null, + "operator": "Nexcon.io ApS", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former NextGen Mobile Ltd T/A CardBoardFish" + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "05", + "brand": "TetraNet", + "operator": "Dansk Beredskabskommunikation A/S", + "status": "Operational", + "bands": "TETRA", + "notes": "Former ApS KBUS 38 nr. 4418; owned by Motorola Solutions" + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "06", + "brand": "3", + "operator": "Hi3G Denmark ApS", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / TD-LTE 2600 / 5G 700 / 5G 2100 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "07", + "brand": "Vectone Mobile", + "operator": "Mundio Mobile (Denmark) Limited", + "status": "Not operational", + "bands": "MVNO", + "notes": "Former Barablu; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "08", + "brand": "Voxbone", + "operator": "Voxbone mobile", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Nordisk Mobiltelefon" + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "09", + "brand": "SINE", + "operator": "Dansk Beredskabskommunikation A/S", + "status": "Operational", + "bands": "TETRA", + "notes": "Owned by Motorola Solutions" + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "10", + "brand": "TDC", + "operator": "TDC A/S", + "status": "Operational", + "bands": "Unknown", + "notes": "Test network" + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "11", + "brand": "SINE", + "operator": "Dansk Beredskabskommunikation A/S", + "status": "Operational", + "bands": "TETRA", + "notes": "Test network" + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "12", + "brand": "Lycamobile", + "operator": "Lycamobile Denmark Ltd", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "13", + "brand": null, + "operator": "Compatel Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "14", + "brand": null, + "operator": "Monty UK Global Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "15", + "brand": "Net 1", + "operator": "Cibicom", + "status": "Operational", + "bands": "LTE 450", + "notes": null + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "16", + "brand": null, + "operator": "Tismi B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "17", + "brand": null, + "operator": "Gotanet AB", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Naka AG" + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "18", + "brand": null, + "operator": "Cubic Telecom", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "20", + "brand": "Telia", + "operator": "Telia", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "23", + "brand": "GSM-R DK", + "operator": "Banedanmark", + "status": "Operational", + "bands": "GSM-R", + "notes": null + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "25", + "brand": "Viahub", + "operator": "SMS Provider Corp.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "28", + "brand": null, + "operator": "LINK Mobile A/S", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former CoolTEL ApS" + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "30", + "brand": null, + "operator": "Interactive digital media GmbH", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Telia" + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "40", + "brand": null, + "operator": "Ericsson Danmark A/S", + "status": "Not operational", + "bands": "Unknown", + "notes": "Test network; former Sense Communications Denmark A/S; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "42", + "brand": "Wavely", + "operator": "Greenwave Mobile IoT ApS", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Brandtel ApS, Tel42 ApS" + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "43", + "brand": null, + "operator": "MobiWeb Limited", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "66", + "brand": null, + "operator": "TT-Netværket P/S", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / LTE 800 / LTE 1800 / 5G 1800 / 5G 3500", + "notes": "Former Telia, now shared network Telia/Telenor" + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "73", + "brand": "Onomondo", + "operator": "Onomondo ApS", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "77", + "brand": "Telenor", + "operator": "Telenor Denmark", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Former Tele2; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "88", + "brand": null, + "operator": "Cobira ApS", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Denmark (Kingdom of Denmark)", + "countryCode": "DK", + "mcc": "238", + "mnc": "96", + "brand": "Telia", + "operator": "Telia Danmark", + "status": "Unknown", + "bands": "Unknown", + "notes": "Test network" + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "01", + "brand": "Telia", + "operator": "Telia Eesti", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G", + "notes": "Former EMT" + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "02", + "brand": "Elisa", + "operator": "Elisa Eesti", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 700 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "03", + "brand": "Tele2", + "operator": "Tele2 Eesti", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "04", + "brand": "Top Connect", + "operator": "OY Top Connect", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "05", + "brand": "CSC Telecom", + "operator": "CSC Telecom Estonia OÜ", + "status": "Operational", + "bands": "MVNO", + "notes": "Former AS Bravocom Mobiil" + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "06", + "brand": null, + "operator": "Progroup Holding", + "status": "Not operational", + "bands": "UMTS 2100", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "07", + "brand": "Kou", + "operator": "Televõrgu AS", + "status": "Not operational", + "bands": "CDMA2000 450", + "notes": "Acquired by Tele 2 in 2012; shut down in January 2016" + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "08", + "brand": "VIVEX", + "operator": "VIVEX OU", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "09", + "brand": null, + "operator": "Bravo Telecom", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "10", + "brand": null, + "operator": "Telcotrade OÜ", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "11", + "brand": null, + "operator": "UAB Raystorm Eesti filiaal", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "12", + "brand": null, + "operator": "Ntel Solutions OÜ", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "13", + "brand": null, + "operator": "Telia Eesti AS", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "14", + "brand": null, + "operator": "Estonian Crafts OÜ", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "15", + "brand": null, + "operator": "Premium Net International S.R.L. Eesti filiaal", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "16", + "brand": "dzinga", + "operator": "SmartTel Plus OÜ", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "17", + "brand": null, + "operator": "Baltergo OÜ", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "18", + "brand": null, + "operator": "Cloud Communications OÜ", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "19", + "brand": null, + "operator": "OkTelecom OÜ", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "20", + "brand": null, + "operator": "DOTT Telecom OÜ", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "21", + "brand": null, + "operator": "Tismi B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "22", + "brand": null, + "operator": "M2MConnect OÜ", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "24", + "brand": null, + "operator": "Novametro OÜ", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "25", + "brand": null, + "operator": "Eurofed OÜ", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "26", + "brand": null, + "operator": "IT-Decision Telecom OÜ", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "28", + "brand": null, + "operator": "Nord Connect OÜ", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "29", + "brand": null, + "operator": "SkyTel OÜ", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Estonia", + "countryCode": "EE", + "mcc": "248", + "mnc": "71", + "brand": null, + "operator": "Siseministeerium (Ministry of Interior)", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Faroe Islands (Kingdom of Denmark)", + "countryCode": "FO", + "mcc": "288", + "mnc": "01", + "brand": "Føroya Tele", + "operator": "Føroya Tele", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Faroe Islands (Kingdom of Denmark)", + "countryCode": "FO", + "mcc": "288", + "mnc": "02", + "brand": "Nema", + "operator": "Nema", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800", + "notes": "Former Kall, Vodafone, Hey; also uses MCC 274 MNC 02 (Iceland)" + }, + { + "type": "National", + "countryName": "Faroe Islands (Kingdom of Denmark)", + "countryCode": "FO", + "mcc": "288", + "mnc": "03", + "brand": "TOSA", + "operator": "Tosa Sp/F", + "status": "Not operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800", + "notes": "Former Edge Mobile; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "03", + "brand": "DNA", + "operator": "DNA Oy", + "status": "Operational", + "bands": "GSM 1800", + "notes": "Former Telia" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "04", + "brand": "DNA", + "operator": "DNA Oy", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Aina Oyj" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "05", + "brand": "Elisa", + "operator": "Elisa Oyj", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / LTE 700 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / TD-LTE 2600 / 5G 3500", + "notes": "Former Radiolinja" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "06", + "brand": "Elisa", + "operator": "Elisa Oyj", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "07", + "brand": "Nokia", + "operator": "Nokia Solutions and Networks Oy", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2600 / TD-LTE 2600", + "notes": "Test network in Espoo Leppävaara and Nokia HQ" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "08", + "brand": "Nokia", + "operator": "Nokia Solutions and Networks Oy", + "status": "Unknown", + "bands": "GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "09", + "brand": null, + "operator": "Nokia Solutions and Networks Oy", + "status": "Unknown", + "bands": "GSM 900", + "notes": "Former Finnet Group" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "10", + "brand": null, + "operator": "Traficom", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former TDC Oy Finland" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "11", + "brand": null, + "operator": "Traficom", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Vectone Mobile" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "12", + "brand": "DNA", + "operator": "DNA Oy", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / LTE 700 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "13", + "brand": "DNA", + "operator": "DNA Oy", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "14", + "brand": "Ålcom", + "operator": "Ålands Telekommunikation Ab", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": "Former Ålands Mobiltelefon (ÅMT); coverage only in Åland" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "15", + "brand": null, + "operator": "Telit Wireless Solutions GmbH", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former educational network of Satakunta University of Applied Sciences" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "16", + "brand": null, + "operator": "Digita Oy", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Tele2" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "17", + "brand": null, + "operator": "Liikennevirasto", + "status": "Operational", + "bands": "GSM-R", + "notes": "Finnish Transport Agency" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "19", + "brand": null, + "operator": "Nettia Oy", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "20", + "brand": null, + "operator": "Elisa Oyj", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Telia" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "21", + "brand": "Elisa- Saunalahti", + "operator": "Elisa Oyj", + "status": "Operational", + "bands": "MVNO", + "notes": "Internal MVNO-code of Elisa Oyj. Former Saunalahti Group Oyj" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "22", + "brand": null, + "operator": "EXFO Oy", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former NetHawk Oyj; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "23", + "brand": null, + "operator": "EXFO Oy", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former NetHawk Oyj; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "24", + "brand": null, + "operator": "Nord Connect UAB", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former Tampere University of Technology foundation; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "25", + "brand": null, + "operator": "Fortum Power and Heat Oy", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Datame Oy CDMA" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "26", + "brand": "Compatel", + "operator": "Compatel Ltd", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "27", + "brand": null, + "operator": "Teknologian tutkimuskeskus VTT Oy", + "status": "Unknown", + "bands": "LTE 450 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500 / 5G mmWave", + "notes": "VTT Technical Research Centre of Finland" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "28", + "brand": null, + "operator": "Teknologian tutkimuskeskus VTT Oy", + "status": "Unknown", + "bands": "Unknown", + "notes": "VTT Technical Research Centre of Finland" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "29", + "brand": null, + "operator": "Teknologian tutkimuskeskus VTT Oy", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former SCNL Truphone, VTT Technical Research Centre of Finland; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "30", + "brand": null, + "operator": "Teknologian tutkimuskeskus VTT Oy", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former Mundio Mobile Oy, VTT Technical Research Centre of Finland; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "31", + "brand": null, + "operator": "Teknologian tutkimuskeskus VTT Oy", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Ukko Mobile Oy, VTT Technical Research Centre of Finland" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "32", + "brand": "Voxbone", + "operator": "Voxbone SA", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "33", + "brand": "VIRVE", + "operator": "Suomen Turvallisuusverkko Oy", + "status": "Operational", + "bands": "TETRA", + "notes": "Finnish authorities radio network" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "34", + "brand": "Bittium Wireless", + "operator": "Bittium Wireless Oy", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "35", + "brand": null, + "operator": "Edzcom Oy", + "status": "Operational", + "bands": "LTE 450 / TD-LTE 2600", + "notes": "Former Ukkoverkot; data-only network" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "36", + "brand": "Telia / DNA", + "operator": "Telia Finland Oyj / Suomen Yhteisverkko Oy", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600", + "notes": "Joint mobile network in Northern and Eastern Finland areas" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "37", + "brand": "Tismi", + "operator": "Tismi BV", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "38", + "brand": null, + "operator": "Nokia Solutions and Networks Oy", + "status": "Unknown", + "bands": "Unknown", + "notes": "Test network" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "39", + "brand": null, + "operator": "Nokia Solutions and Networks Oy", + "status": "Not operational", + "bands": "Unknown", + "notes": "Test network; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "40", + "brand": null, + "operator": "Nokia Solutions and Networks Oy", + "status": "Unknown", + "bands": "Unknown", + "notes": "Test network;" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "41", + "brand": null, + "operator": "Nokia Solutions and Networks Oy", + "status": "Not operational", + "bands": "Unknown", + "notes": "Test network MNC withdrawn" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "42", + "brand": null, + "operator": "SMS Provider Corp.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "43", + "brand": null, + "operator": "Telavox AB / Telavox Oy", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "44", + "brand": null, + "operator": "Turun ammattikorkeakoulu Oy", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "45", + "brand": null, + "operator": "Suomen Turvallisuusverkko Oy", + "status": "Unknown", + "bands": "Unknown", + "notes": "Public safety network" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "46", + "brand": null, + "operator": "Suomen Turvallisuusverkko Oy", + "status": "Unknown", + "bands": "Unknown", + "notes": "Public safety network" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "47", + "brand": null, + "operator": "Suomen Turvallisuusverkko Oy", + "status": "Unknown", + "bands": "Unknown", + "notes": "Public safety network" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "50", + "brand": null, + "operator": "Aalto-korkeakoulusäätiö sr", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "51", + "brand": null, + "operator": "Aalto-korkeakoulusäätiö sr", + "status": "Unknown", + "bands": "NB-IoT 700", + "notes": null + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "52", + "brand": null, + "operator": "Aalto-korkeakoulusäätiö sr", + "status": "Unknown", + "bands": "5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "53", + "brand": null, + "operator": "Aalto-korkeakoulusäätiö sr", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "54", + "brand": null, + "operator": "Aalto-korkeakoulusäätiö sr", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "55", + "brand": null, + "operator": "Aalto-korkeakoulusäätiö sr", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "56", + "brand": null, + "operator": "Aalto-korkeakoulusäätiö sr", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "57", + "brand": null, + "operator": "Aalto-korkeakoulusäätiö sr", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "58", + "brand": null, + "operator": "Aalto-korkeakoulusäätiö sr", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "59", + "brand": null, + "operator": "Aalto-korkeakoulusäätiö sr", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "91", + "brand": "Telia", + "operator": "Telia Finland Oyj", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / LTE 700 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500", + "notes": "Former Sonera" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "92", + "brand": "Sonera", + "operator": "TeliaSonera Finland Oyj", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "95", + "brand": null, + "operator": "Säteilyturvakeskus", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Finland", + "countryCode": "FI", + "mcc": "244", + "mnc": "99", + "brand": null, + "operator": "Oy L M Ericsson Ab", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "01", + "brand": "Orange", + "operator": "Orange S.A.", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 2100 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "02", + "brand": "Orange", + "operator": "Orange S.A.", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 2100 / 5G 3500", + "notes": "Zones Blanches" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "03", + "brand": "MobiquiThings", + "operator": "MobiquiThings", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "04", + "brand": "Sisteer", + "operator": "Societe d'ingenierie systeme telecom et reseaux", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "05", + "brand": null, + "operator": "Globalstar Europe", + "status": "Operational", + "bands": "Satellite", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "06", + "brand": null, + "operator": "Globalstar Europe", + "status": "Operational", + "bands": "Satellite", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "07", + "brand": null, + "operator": "Globalstar Europe", + "status": "Operational", + "bands": "Satellite", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "08", + "brand": "SFR", + "operator": "Altice", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Completel" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "09", + "brand": "SFR", + "operator": "Altice", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 2100 / 5G 3500", + "notes": "is launched for SFR outbound roaming services" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "10", + "brand": "SFR", + "operator": "Altice", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 2100 / 5G 3500", + "notes": "MNC also used in Monaco" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "11", + "brand": "SFR", + "operator": "Altice", + "status": "Operational", + "bands": "UMTS 2100", + "notes": "Femtocells" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "12", + "brand": "Truphone", + "operator": "Truphone France", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Hewlett-Packard France" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "13", + "brand": "SFR", + "operator": "Altice", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500", + "notes": "Zones Blanches" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "14", + "brand": "SNCF Réseau", + "operator": "SNCF Réseau", + "status": "Operational", + "bands": "GSM-R", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "15", + "brand": "Free", + "operator": "Free Mobile", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600 / 5G 700 / 5G 3500", + "notes": "Principal Network" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "16", + "brand": "Free", + "operator": "Free Mobile", + "status": "Operational", + "bands": "LTE 700 / LTE 1800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "17", + "brand": "LEGOS", + "operator": "Local Exchange Global Operation Services", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "18", + "brand": "Voxbone", + "operator": "Voxbone mobile", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "19", + "brand": null, + "operator": "Haute-Garonne numérique", + "status": "Operational", + "bands": "LTE", + "notes": "Former Altitude Infrastructure; fixed wireless" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "20", + "brand": "Bouygues", + "operator": "Bouygues Telecom", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 2100 / 5G 3500", + "notes": "MNC also used in Monaco" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "21", + "brand": "Bouygues", + "operator": "Bouygues Telecom", + "status": "Unknown", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / UMTS 900", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "22", + "brand": "Transatel Mobile", + "operator": "Transatel", + "status": "Unknown", + "bands": "MVNO", + "notes": "MVNE Uses Orange" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "23", + "brand": null, + "operator": "Syndicat mixte ouvert Charente Numérique", + "status": "Operational", + "bands": "TD-LTE", + "notes": "Former Omea Telecom (bought by SFR in 2014); fixed wireless" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "24", + "brand": "Sierra Wireless", + "operator": "Sierra Wireless", + "status": "Operational", + "bands": "MVNO", + "notes": "Former MobiquiThings" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "25", + "brand": "LycaMobile", + "operator": "LycaMobile", + "status": "Operational", + "bands": "MVNO", + "notes": "Using Bouygues Telecom" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "26", + "brand": "NRJ Mobile", + "operator": "Bouygues Telecom - Distribution", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Euro-Information Telecom" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "27", + "brand": null, + "operator": "Coriolis Telecom", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Afone Using Altice SFR" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "28", + "brand": "AIF", + "operator": "Airmob Infra Full", + "status": "Operational", + "bands": "FULL MVNO", + "notes": "Using Orange Network" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "29", + "brand": null, + "operator": "Cubic télécom France", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Société International Mobile Communication" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "30", + "brand": null, + "operator": "Syma Mobile", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "31", + "brand": "Vectone Mobile", + "operator": "Mundio Mobile", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses SFR or RED" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "32", + "brand": "Orange", + "operator": "Orange S.A.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "33", + "brand": "Fibre64", + "operator": "Département des Pyrénées-Atlantiques", + "status": "Unknown", + "bands": "WiMAX", + "notes": "fixed wireless" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "34", + "brand": null, + "operator": "Cellhire France", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "35", + "brand": "Free", + "operator": "Free Mobile", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "36", + "brand": "Free", + "operator": "Free Mobile", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "37", + "brand": null, + "operator": "IP Directions", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "38", + "brand": null, + "operator": "Lebara France Ltd", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "39", + "brand": null, + "operator": "Netwo", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "500", + "brand": null, + "operator": "EDF", + "status": "Unknown", + "bands": "Unknown", + "notes": "MNC 50 formerly assigned to EDF" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "50144", + "brand": null, + "operator": "TotalEnergies Global Information Technology services", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "50164", + "brand": null, + "operator": "TotalEnergies Global Information Technology services", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "50168", + "brand": null, + "operator": "Butachimie", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "50169", + "brand": null, + "operator": "SNEF telecom", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "50176", + "brand": null, + "operator": "Grand port fluvio-maritime de l'axe Seine", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "50194", + "brand": null, + "operator": "Société du Grand Paris", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "502", + "brand": null, + "operator": "EDF", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former General Electric Digital Services Europe" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "504", + "brand": null, + "operator": "Centre à l'énergie atomique et aux énergies alternatives", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "700", + "brand": null, + "operator": "Weaccess group", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "701", + "brand": null, + "operator": "GIP Vendée numérique", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "702", + "brand": null, + "operator": "17-Numerique", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "703", + "brand": null, + "operator": "Nivertel", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "704", + "brand": null, + "operator": "Axione Limousin", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "705", + "brand": null, + "operator": "Hautes-Pyrénées Numérique", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "706", + "brand": null, + "operator": "Tours Métropole Numérique", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "707", + "brand": null, + "operator": "Sartel THD", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "708", + "brand": null, + "operator": "Melis@ territoires ruraux", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "709", + "brand": null, + "operator": "Quimper communauté télécom", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "710", + "brand": null, + "operator": "Losange", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "711", + "brand": null, + "operator": "Nomotech", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "712", + "brand": null, + "operator": "Syndicat Audois d'énergies et du Numérique", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "713", + "brand": null, + "operator": "SD NUM SAS", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "714", + "brand": null, + "operator": "Département de l'Isère", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "86", + "brand": null, + "operator": "SEM@FOR77", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Nomotech" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "87", + "brand": null, + "operator": "Airbus defence and space SAS", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former RATP" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "88", + "brand": "Bouygues", + "operator": "Bouygues Telecom", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 2100 / 5G 3500", + "notes": "Zones Blanches" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "89", + "brand": null, + "operator": "Hub One", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Omer Telecom Ltd, Fondation b-com" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "90", + "brand": null, + "operator": "Images & Réseaux", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "91", + "brand": null, + "operator": "Orange S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "92", + "brand": "Com4Innov", + "operator": "Association Plate-forme Télécom", + "status": "Not operational", + "bands": "TD-LTE 2300 / LTE 2600", + "notes": "Test network; MNC withdrawn" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "93", + "brand": null, + "operator": "Thales Communications & Security SAS", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former TDF; MNC withdrawn" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "94", + "brand": null, + "operator": "Halys", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "95", + "brand": null, + "operator": "Orange S.A.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "96", + "brand": null, + "operator": "Région Bourgogne-Franche-Comté", + "status": "Operational", + "bands": "LTE", + "notes": "Former Axione; fixed wireless" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "97", + "brand": null, + "operator": "Thales Communications & Security SAS", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "France", + "countryCode": "FR", + "mcc": "208", + "mnc": "98", + "brand": null, + "operator": "Société Air France", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Georgia", + "countryCode": "GE", + "mcc": "282", + "mnc": "01", + "brand": "Geocell", + "operator": "Silknet", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Georgia", + "countryCode": "GE", + "mcc": "282", + "mnc": "02", + "brand": "Magti", + "operator": "MagtiCom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Georgia", + "countryCode": "GE", + "mcc": "282", + "mnc": "03", + "brand": "MagtiFix", + "operator": "MagtiCom", + "status": "Operational", + "bands": "CDMA 450", + "notes": "License until 2029" + }, + { + "type": "National", + "countryName": "Georgia", + "countryCode": "GE", + "mcc": "282", + "mnc": "04", + "brand": "Beeline", + "operator": "Mobitel", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800", + "notes": null + }, + { + "type": "National", + "countryName": "Georgia", + "countryCode": "GE", + "mcc": "282", + "mnc": "05", + "brand": "S1", + "operator": "Silknet", + "status": "Operational", + "bands": "CDMA 800", + "notes": "former UTG" + }, + { + "type": "National", + "countryName": "Georgia", + "countryCode": "GE", + "mcc": "282", + "mnc": "06", + "brand": null, + "operator": "JSC Compatel", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Georgia", + "countryCode": "GE", + "mcc": "282", + "mnc": "07", + "brand": "GlobalCell", + "operator": "GlobalCell", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Georgia", + "countryCode": "GE", + "mcc": "282", + "mnc": "08", + "brand": "Silk LTE", + "operator": "Silknet", + "status": "Operational", + "bands": "LTE 2300", + "notes": "CDMA 850 shut down Nov 2019" + }, + { + "type": "National", + "countryName": "Georgia", + "countryCode": "GE", + "mcc": "282", + "mnc": "09", + "brand": null, + "operator": "Gmobile", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Georgia", + "countryCode": "GE", + "mcc": "282", + "mnc": "10", + "brand": null, + "operator": "Premium Net International SRL", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Georgia", + "countryCode": "GE", + "mcc": "282", + "mnc": "11", + "brand": null, + "operator": "Mobilive", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Georgia", + "countryCode": "GE", + "mcc": "282", + "mnc": "12", + "brand": null, + "operator": "Telecom1 Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Datacomm" + }, + { + "type": "National", + "countryName": "Georgia", + "countryCode": "GE", + "mcc": "282", + "mnc": "13", + "brand": null, + "operator": "Asanet Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Georgia", + "countryCode": "GE", + "mcc": "282", + "mnc": "14", + "brand": "DataCell", + "operator": "DataHouse Global", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Georgia", + "countryCode": "GE", + "mcc": "282", + "mnc": "15", + "brand": null, + "operator": "Servicebox Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Georgia", + "countryCode": "GE", + "mcc": "282", + "mnc": "22", + "brand": "Myphone", + "operator": "Myphone Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "01", + "brand": "Telekom", + "operator": "Telekom Deutschland GmbH", + "status": "Operational", + "bands": "GSM 900 / LTE 700 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 2100 / 5G 3500", + "notes": "Formerly D1 - DeTeMobil, D1-Telekom, T-D1, T-Mobile; UMTS shut down Jun 2021" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "02", + "brand": "Vodafone", + "operator": "Vodafone D2 GmbH", + "status": "Operational", + "bands": "GSM 900 / LTE 700 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 1800 / 5G 3500", + "notes": "Former D2 Mannesmann; UMTS shut down Jun 2021" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "03", + "brand": "O2", + "operator": "Telefónica Germany GmbH & Co. oHG", + "status": "Operational", + "bands": "GSM 900 / LTE 700 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 3500", + "notes": "Former E-Plus until 2014; UMTS shut down Dec 2021" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "04", + "brand": "Vodafone", + "operator": "Vodafone D2 GmbH", + "status": "Reserved", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "05", + "brand": "O2", + "operator": "Telefónica Germany GmbH & Co. oHG", + "status": "Reserved", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100", + "notes": "Former E-Plus" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "06", + "brand": "Telekom", + "operator": "Telekom Deutschland GmbH", + "status": "Reserved", + "bands": "GSM 900 / LTE 800 / LTE 900 / LTE 1500 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 2100 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "07", + "brand": "O2", + "operator": "Telefónica Germany GmbH & Co. oHG", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": "Merged with E-Plus Mobilfunk in 2014 and uses MNC 262-03 since 2016" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "08", + "brand": "O2", + "operator": "Telefónica Germany GmbH & Co. oHG", + "status": "Reserved", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "09", + "brand": "Vodafone", + "operator": "Vodafone D2 GmbH", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 2600", + "notes": "Internal testing IOT" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "10", + "brand": null, + "operator": "DB Netz AG", + "status": "Operational", + "bands": "GSM-R", + "notes": "Former Arcor, Vodafone" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "11", + "brand": "O2", + "operator": "Telefónica Germany GmbH & Co. oHG", + "status": "Reserved", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "12", + "brand": "Simquadrat", + "operator": "sipgate GmbH", + "status": "Operational", + "bands": "MVNO", + "notes": "National roaming with O2 (former E-Plus)" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "13", + "brand": "BAAINBw", + "operator": "Bundesamt für Ausrüstung, Informationstechnik und Nutzung der Bundeswehr", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Mobilcom" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "14", + "brand": null, + "operator": "Lebara Limited", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Group 3G UMTS" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "15", + "brand": "Airdata", + "operator": null, + "status": "Operational", + "bands": "TD-SCDMA", + "notes": "data only" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "16", + "brand": null, + "operator": "Telogic Germany GmbH", + "status": "Not operational", + "bands": "MVNO", + "notes": "formerly Vistream; bankruptcy in 2012; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "17", + "brand": "O2", + "operator": "Telefónica Germany GmbH & Co. oHG", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former E-Plus; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "18", + "brand": null, + "operator": "NetCologne", + "status": "Operational", + "bands": "MVNO", + "notes": "CDMA 450 shut down" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "19", + "brand": "450connect", + "operator": "Alliander AG", + "status": "Operational", + "bands": "LTE 450", + "notes": "Former Inquam" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "20", + "brand": "Enreach", + "operator": "Enreach Germany GmbH", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses O2 (262-03)" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "21", + "brand": null, + "operator": "Multiconnect GmbH", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "22", + "brand": null, + "operator": "sipgate Wireless GmbH", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "23", + "brand": "1&1", + "operator": "Drillisch Online AG", + "status": "Operational", + "bands": "5G 3500 / MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "24", + "brand": null, + "operator": "TelcoVillage GmbH", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "25", + "brand": null, + "operator": "MTEL Deutschland GmbH", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "33", + "brand": "simquadrat", + "operator": "sipgate GmbH", + "status": "Not operational", + "bands": "MVNO", + "notes": "Uses O2 (former E-Plus) (262-03); MNC withdrawn" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "41", + "brand": null, + "operator": "First Telecom GmbH", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "42", + "brand": "CCC Event", + "operator": "Chaos Computer Club", + "status": "Temporary operational", + "bands": "GSM 1800", + "notes": "Used on events like Chaos Communication Congress" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "43", + "brand": "Lycamobile", + "operator": "Lycamobile", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses Vodafone" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "60", + "brand": null, + "operator": "DB Telematik", + "status": "Operational", + "bands": "GSM-R 900", + "notes": null + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "70", + "brand": null, + "operator": "BDBOS", + "status": "Operational", + "bands": "Tetra", + "notes": null + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "71", + "brand": null, + "operator": "GSMK", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "72", + "brand": null, + "operator": "Ericsson GmbH", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "73", + "brand": null, + "operator": "Nokia", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Xantaro Deutschland GmbH" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "74", + "brand": null, + "operator": "Ericsson GmbH", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former Qualcomm MNC withdrawn" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "75", + "brand": null, + "operator": "Core Network Dynamics GmbH", + "status": "Not operational", + "bands": "Unknown", + "notes": "Test network; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "76", + "brand": null, + "operator": "BDBOS", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Siemens" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "77", + "brand": "O2", + "operator": "Telefónica Germany GmbH & Co. oHG", + "status": "Not operational", + "bands": "GSM 900", + "notes": "Former E-Plus; test network; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "78", + "brand": "Telekom", + "operator": "Telekom Deutschland GmbH", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "79", + "brand": null, + "operator": "ng4T GmbH", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "92", + "brand": null, + "operator": "Nash Technologies", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100", + "notes": "Test network; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Germany", + "countryCode": "DE", + "mcc": "262", + "mnc": "98", + "brand": null, + "operator": "private networks", + "status": "Operational", + "bands": "5G 3500", + "notes": "non-public networks" + }, + { + "type": "National", + "countryName": "Gibraltar (United Kingdom)", + "countryCode": "GI", + "mcc": "266", + "mnc": "01", + "brand": "GibTel", + "operator": "Gibtelecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Gibraltar (United Kingdom)", + "countryCode": "GI", + "mcc": "266", + "mnc": "03", + "brand": "Gibfibrespeed", + "operator": "GibFibre Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Gibraltar (United Kingdom)", + "countryCode": "GI", + "mcc": "266", + "mnc": "06", + "brand": "CTS Mobile", + "operator": "CTS Gibraltar", + "status": "Not operational", + "bands": "UMTS 2100", + "notes": "licence withdrawn in February 2013" + }, + { + "type": "National", + "countryName": "Gibraltar (United Kingdom)", + "countryCode": "GI", + "mcc": "266", + "mnc": "09", + "brand": "Shine", + "operator": "Eazitelecom", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100", + "notes": "shut down May 2016" + }, + { + "type": "National", + "countryName": "Greece", + "countryCode": "GR", + "mcc": "202", + "mnc": "01", + "brand": "Cosmote", + "operator": "COSMOTE - Mobile Telecommunications S.A.", + "status": "Operational", + "bands": "GSM 900 / LTE 800 / LTE 1800 / LTE 2600 / 5G 1800 / 5G 2100 / 5G 3500", + "notes": "UMTS shut down Dec 2021" + }, + { + "type": "National", + "countryName": "Greece", + "countryCode": "GR", + "mcc": "202", + "mnc": "02", + "brand": "Cosmote", + "operator": "COSMOTE - Mobile Telecommunications S.A.", + "status": "Operational", + "bands": "GSM 900 / LTE 800 / LTE 1800 / LTE 2600 / 5G 1800 / 5G 2100 / 5G 3500", + "notes": "UMTS shut down Dec 2021" + }, + { + "type": "National", + "countryName": "Greece", + "countryCode": "GR", + "mcc": "202", + "mnc": "03", + "brand": null, + "operator": "OTE", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Greece", + "countryCode": "GR", + "mcc": "202", + "mnc": "04", + "brand": null, + "operator": "OSE", + "status": "Unknown", + "bands": "GSM-R", + "notes": "Former EDISY" + }, + { + "type": "National", + "countryName": "Greece", + "countryCode": "GR", + "mcc": "202", + "mnc": "05", + "brand": "Vodafone", + "operator": "Vodafone Greece", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": "former PanaFon" + }, + { + "type": "National", + "countryName": "Greece", + "countryCode": "GR", + "mcc": "202", + "mnc": "06", + "brand": null, + "operator": "Cosmoline", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Greece", + "countryCode": "GR", + "mcc": "202", + "mnc": "07", + "brand": null, + "operator": "AMD Telecom", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Greece", + "countryCode": "GR", + "mcc": "202", + "mnc": "09", + "brand": "NOVA", + "operator": "NOVA", + "status": "Operational", + "bands": "GSM 900 / LTE 800 / LTE 1800 / LTE 2600 / 5G 2100 / 5G 3500", + "notes": "former Q-Telecom, WIND Hellas; UMTS shut down Mar 2023" + }, + { + "type": "National", + "countryName": "Greece", + "countryCode": "GR", + "mcc": "202", + "mnc": "10", + "brand": "NOVA", + "operator": "NOVA", + "status": "Operational", + "bands": "GSM 900 / LTE 800 / LTE 1800 / LTE 2600 / 5G 2100 / 5G 3500", + "notes": "former Telestet, TIM, WIND Hellas; UMTS shut down Mar 2023" + }, + { + "type": "National", + "countryName": "Greece", + "countryCode": "GR", + "mcc": "202", + "mnc": "11", + "brand": null, + "operator": "interConnect", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Greece", + "countryCode": "GR", + "mcc": "202", + "mnc": "12", + "brand": null, + "operator": "Yuboto", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Greece", + "countryCode": "GR", + "mcc": "202", + "mnc": "13", + "brand": null, + "operator": "Compatel Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Greece", + "countryCode": "GR", + "mcc": "202", + "mnc": "14", + "brand": "Cyta Hellas", + "operator": "CYTA", + "status": "Operational", + "bands": "MVNO", + "notes": "MVNO on Vodafone's network" + }, + { + "type": "National", + "countryName": "Greece", + "countryCode": "GR", + "mcc": "202", + "mnc": "15", + "brand": null, + "operator": "BWS", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Greece", + "countryCode": "GR", + "mcc": "202", + "mnc": "16", + "brand": null, + "operator": "Inter Telecom", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Greenland (Kingdom of Denmark)", + "countryCode": "GL", + "mcc": "290", + "mnc": "01", + "brand": "tusass", + "operator": "Tusass A/S", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / LTE 800 / 5G", + "notes": "Former TELE Greenland; 5G for fixed wireless; UMTS to be shut down in 2023" + }, + { + "type": "National", + "countryName": "Greenland (Kingdom of Denmark)", + "countryCode": "GL", + "mcc": "290", + "mnc": "02", + "brand": "Nanoq Media", + "operator": "inu:it a/s", + "status": "Operational", + "bands": "TD-LTE 2500", + "notes": "Former Nuuk TV" + }, + { + "type": "National", + "countryName": "Greenland (Kingdom of Denmark)", + "countryCode": "GL", + "mcc": "290", + "mnc": "03", + "brand": null, + "operator": "GTV Greenland", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Guernsey (United Kingdom)", + "countryCode": "GG", + "mcc": "234", + "mnc": "03", + "brand": "Airtel-Vodafone", + "operator": "Guernsey Airtel Ltd", + "status": "Operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Guernsey (United Kingdom)", + "countryCode": "GG", + "mcc": "234", + "mnc": "50", + "brand": "JT", + "operator": "JT Group Limited", + "status": "Operational", + "bands": "GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": "former Wave Telecom" + }, + { + "type": "National", + "countryName": "Guernsey (United Kingdom)", + "countryCode": "GG", + "mcc": "234", + "mnc": "55", + "brand": "Sure Mobile", + "operator": "Sure (Guernsey) Limited", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": "former Cable & Wireless" + }, + { + "type": "National", + "countryName": "Hungary", + "countryCode": "HU", + "mcc": "216", + "mnc": "01", + "brand": "Yettel Hungary", + "operator": "Telenor Magyarország Zrt.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": "Former Pannon; MNC has not the same numerical value as the area code; UMTS shut down Mar 2023" + }, + { + "type": "National", + "countryName": "Hungary", + "countryCode": "HU", + "mcc": "216", + "mnc": "02", + "brand": null, + "operator": "MVM Net Ltd.", + "status": "Operational", + "bands": "LTE 450", + "notes": "For government use" + }, + { + "type": "National", + "countryName": "Hungary", + "countryCode": "HU", + "mcc": "216", + "mnc": "03", + "brand": "DIGI", + "operator": "DIGI Telecommunication Ltd.", + "status": "Operational", + "bands": "LTE 1800 / TD-LTE 3700", + "notes": null + }, + { + "type": "National", + "countryName": "Hungary", + "countryCode": "HU", + "mcc": "216", + "mnc": "04", + "brand": null, + "operator": "Invitech ICT Services Ltd.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Hungary", + "countryCode": "HU", + "mcc": "216", + "mnc": "20", + "brand": "Yettel Hungary", + "operator": "Telenor Magyarország Zrt.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Hungary", + "countryCode": "HU", + "mcc": "216", + "mnc": "30", + "brand": "Telekom", + "operator": "Magyar Telekom Plc", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 800 / LTE 1800 / LTE 2600 / 5G 2100 / 5G 3500", + "notes": "Former Westel; MNC has the same numerical value as the area code; UMTS shut down June 2022" + }, + { + "type": "National", + "countryName": "Hungary", + "countryCode": "HU", + "mcc": "216", + "mnc": "70", + "brand": "Vodafone", + "operator": "Vodafone Magyarország Zrt.", + "status": "Operational", + "bands": "GSM 900 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": "MNC has the same numerical value as the area code; UMTS shut down Mar 2023" + }, + { + "type": "National", + "countryName": "Hungary", + "countryCode": "HU", + "mcc": "216", + "mnc": "71", + "brand": "upc", + "operator": "Vodafone Magyarország Zrt.", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Hungary", + "countryCode": "HU", + "mcc": "216", + "mnc": "99", + "brand": "MAV GSM-R", + "operator": "Magyar Államvasutak", + "status": "Operational", + "bands": "GSM-R 900", + "notes": null + }, + { + "type": "National", + "countryName": "Iceland", + "countryCode": "IS", + "mcc": "274", + "mnc": "01", + "brand": "Síminn", + "operator": "Iceland Telecom", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600", + "notes": "Former Landssimi hf" + }, + { + "type": "National", + "countryName": "Iceland", + "countryCode": "IS", + "mcc": "274", + "mnc": "02", + "brand": "Vodafone", + "operator": "Sýn", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100", + "notes": "Former Islandssimi ehf" + }, + { + "type": "National", + "countryName": "Iceland", + "countryCode": "IS", + "mcc": "274", + "mnc": "03", + "brand": "Vodafone", + "operator": "Sýn", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former Islandssimi ehf; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Iceland", + "countryCode": "IS", + "mcc": "274", + "mnc": "04", + "brand": "Viking", + "operator": "IMC Island ehf", + "status": "Operational", + "bands": "GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Iceland", + "countryCode": "IS", + "mcc": "274", + "mnc": "05", + "brand": null, + "operator": "Halló Frjáls fjarskipti hf.", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Iceland", + "countryCode": "IS", + "mcc": "274", + "mnc": "06", + "brand": null, + "operator": "Núll níu ehf", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Iceland", + "countryCode": "IS", + "mcc": "274", + "mnc": "07", + "brand": "IceCell", + "operator": "IceCell ehf", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Network only partially built; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Iceland", + "countryCode": "IS", + "mcc": "274", + "mnc": "08", + "brand": "On-waves", + "operator": "Iceland Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": "On ferries and cruise ships" + }, + { + "type": "National", + "countryName": "Iceland", + "countryCode": "IS", + "mcc": "274", + "mnc": "11", + "brand": "Nova", + "operator": "Nova ehf", + "status": "Operational", + "bands": "UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Iceland", + "countryCode": "IS", + "mcc": "274", + "mnc": "12", + "brand": "Tal", + "operator": "IP fjarskipti", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Iceland", + "countryCode": "IS", + "mcc": "274", + "mnc": "16", + "brand": null, + "operator": "Tismi BV", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Iceland", + "countryCode": "IS", + "mcc": "274", + "mnc": "22", + "brand": null, + "operator": "Landhelgisgæslan (Icelandic Coast Guard)", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Iceland", + "countryCode": "IS", + "mcc": "274", + "mnc": "31", + "brand": "Síminn", + "operator": "Iceland Telecom", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Iceland", + "countryCode": "IS", + "mcc": "274", + "mnc": "91", + "brand": null, + "operator": "Neyðarlínan", + "status": "Operational", + "bands": "Tetra", + "notes": null + }, + { + "type": "National", + "countryName": "Ireland", + "countryCode": "IE", + "mcc": "272", + "mnc": "01", + "brand": "Vodafone", + "operator": "Vodafone Ireland", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Ireland", + "countryCode": "IE", + "mcc": "272", + "mnc": "02", + "brand": "3", + "operator": "Hutchison 3G Ireland limited", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": "Former Telefónica O2" + }, + { + "type": "National", + "countryName": "Ireland", + "countryCode": "IE", + "mcc": "272", + "mnc": "03", + "brand": "Eir", + "operator": "Eir Group plc", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / 5G 3500", + "notes": "Former Meteor" + }, + { + "type": "National", + "countryName": "Ireland", + "countryCode": "IE", + "mcc": "272", + "mnc": "04", + "brand": null, + "operator": "Access Telecom", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Ireland", + "countryCode": "IE", + "mcc": "272", + "mnc": "05", + "brand": "3", + "operator": "Hutchison 3G Ireland limited", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Ireland", + "countryCode": "IE", + "mcc": "272", + "mnc": "07", + "brand": "Eir", + "operator": "Eir Group plc", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": "Former eMobile" + }, + { + "type": "National", + "countryName": "Ireland", + "countryCode": "IE", + "mcc": "272", + "mnc": "08", + "brand": "Eir", + "operator": "Eir Group plc", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Ireland", + "countryCode": "IE", + "mcc": "272", + "mnc": "09", + "brand": null, + "operator": "Clever Communications Ltd.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Ireland", + "countryCode": "IE", + "mcc": "272", + "mnc": "11", + "brand": "Tesco Mobile", + "operator": "Liffey Telecom", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses 3" + }, + { + "type": "National", + "countryName": "Ireland", + "countryCode": "IE", + "mcc": "272", + "mnc": "13", + "brand": "Lycamobile", + "operator": "Lycamobile", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses 3" + }, + { + "type": "National", + "countryName": "Ireland", + "countryCode": "IE", + "mcc": "272", + "mnc": "15", + "brand": "Virgin Mobile", + "operator": "UPC", + "status": "Operational", + "bands": "MVNO", + "notes": "Former upc" + }, + { + "type": "National", + "countryName": "Ireland", + "countryCode": "IE", + "mcc": "272", + "mnc": "16", + "brand": "Carphone Warehouse", + "operator": "Carphone Warehouse", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Ireland", + "countryCode": "IE", + "mcc": "272", + "mnc": "17", + "brand": "3", + "operator": "Hutchison 3G Ireland limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Ireland", + "countryCode": "IE", + "mcc": "272", + "mnc": "18", + "brand": null, + "operator": "Cubic Telecom Limited", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Ireland", + "countryCode": "IE", + "mcc": "272", + "mnc": "21", + "brand": null, + "operator": "Net Feasa Limited", + "status": "Operational", + "bands": "MVNO", + "notes": "Internet of things" + }, + { + "type": "National", + "countryName": "Ireland", + "countryCode": "IE", + "mcc": "272", + "mnc": "68", + "brand": null, + "operator": "Office of the Government Chief Information Officer", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Isle of Man (United Kingdom)", + "countryCode": "IM", + "mcc": "234", + "mnc": "18", + "brand": "Cloud 9 Mobile", + "operator": "Cloud 9 Mobile Communications PLC", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100", + "notes": "Retired" + }, + { + "type": "National", + "countryName": "Isle of Man (United Kingdom)", + "countryCode": "IM", + "mcc": "234", + "mnc": "36", + "brand": "Sure Mobile", + "operator": "Sure Isle of Man Ltd.", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100", + "notes": "Former Cable & Wireless" + }, + { + "type": "National", + "countryName": "Isle of Man (United Kingdom)", + "countryCode": "IM", + "mcc": "234", + "mnc": "58", + "brand": "Pronto GSM", + "operator": "Manx Telecom", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Isle of Man (United Kingdom)", + "countryCode": "IM", + "mcc": "234", + "mnc": "73", + "brand": null, + "operator": "Bluewave Communications Ltd.", + "status": "Operational", + "bands": "TD-LTE 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "01", + "brand": "TIM", + "operator": "Telecom Italia S.p.A.", + "status": "Operational", + "bands": "GSM 900 / LTE 800 / LTE 1500 / LTE 1800 / LTE 2600", + "notes": "UMTS shut down in 2022" + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "02", + "brand": "Elsacom", + "operator": null, + "status": "Not operational", + "bands": "Satellite (Globalstar)", + "notes": "Retired" + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "04", + "brand": "Intermatica", + "operator": null, + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "05", + "brand": "Telespazio", + "operator": null, + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "06", + "brand": "Vodafone", + "operator": "Vodafone Italia S.p.A.", + "status": "Operational", + "bands": "Unknown", + "notes": "Unknown" + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "07", + "brand": "Kena Mobile", + "operator": "Noverca", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses TIM Network" + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "08", + "brand": "Fastweb", + "operator": "Fastweb S.p.A.", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses TIM and WindTre Networks" + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "10", + "brand": "Vodafone", + "operator": "Vodafone Italia S.p.A.", + "status": "Operational", + "bands": "GSM 900 / LTE 800 / LTE 1500 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "30", + "brand": "RFI", + "operator": "Rete Ferroviaria Italiana", + "status": "Operational", + "bands": "GSM-R 900", + "notes": "Railways communication" + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "33", + "brand": "Poste Mobile", + "operator": "Poste Mobile S.p.A.", + "status": "Operational", + "bands": "MVNO", + "notes": "uses Wind Tre Network" + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "34", + "brand": "BT Italia", + "operator": "BT Italia", + "status": "Operational", + "bands": "MVNO", + "notes": "uses TIM Network" + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "35", + "brand": "Lycamobile", + "operator": "Lycamobile", + "status": "Operational", + "bands": "MVNO", + "notes": "uses Vodafone Network" + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "36", + "brand": "Digi Mobil", + "operator": "Digi Italy S.r.l.", + "status": "Operational", + "bands": "MVNO", + "notes": "uses TIM Network" + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "37", + "brand": "WINDTRE", + "operator": "Wind Tre", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former 3 Italia" + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "38", + "brand": "LINKEM", + "operator": "OpNet S.p.A.", + "status": "Operational", + "bands": "TD-LTE 3500 / 5G 3500 / 5G 26000", + "notes": "spectrum shared with GO Internet" + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "39", + "brand": "SMS Italia", + "operator": "SMS Italia S.r.l.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "41", + "brand": "GO internet", + "operator": "GO internet S.p.A.", + "status": "Operational", + "bands": "TD-LTE 3500 / 5G 3500", + "notes": "spectrum available only in Marche and Emilia-Romagna, roams on Linkem otherwise" + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "43", + "brand": "TIM", + "operator": "Telecom Italia S.p.A.", + "status": "Operational", + "bands": "5G 700 / 5G 3500 / 5G 26000", + "notes": null + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "47", + "brand": "Fastweb", + "operator": "Fastweb S.p.A.", + "status": "Operational", + "bands": "TD-LTE 3500 / 5G 3500 / 5G 26000", + "notes": "Former Tiscali, acquired by Fastweb in 2018" + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "48", + "brand": "TIM", + "operator": "Telecom Italia S.p.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "49", + "brand": "Vianova", + "operator": "Welcome Italia S.p.A.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "50", + "brand": "Iliad", + "operator": "Iliad Italia", + "status": "Operational", + "bands": "UMTS 900 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "53", + "brand": "COOP Voce", + "operator": "COOP Voce", + "status": "Operational", + "bands": "MVNO", + "notes": "MNC used from Jan, 2020" + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "54", + "brand": "Plintron", + "operator": null, + "status": "Operational", + "bands": "MVNO", + "notes": "Operates only as MVNE for Rabona, NoiTel and NT Mobile on Vodafone network" + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "56", + "brand": "Spusu", + "operator": "Mass Response GmbH", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "77", + "brand": "IPSE 2000", + "operator": null, + "status": "Not operational", + "bands": "UMTS 2100", + "notes": "Retired" + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "88", + "brand": "WINDTRE", + "operator": "Wind Tre", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 1800 / 5G 2600 / 5G 3500", + "notes": "Former Wind" + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "98", + "brand": "BLU", + "operator": "BLU S.p.A.", + "status": "Not operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Italy", + "countryCode": "IT", + "mcc": "222", + "mnc": "99", + "brand": "WINDTRE", + "operator": "Wind Tre", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600", + "notes": "Former 3 Italia" + }, + { + "type": "National", + "countryName": "Jersey (United Kingdom)", + "countryCode": "JE", + "mcc": "234", + "mnc": "03", + "brand": "Airtel-Vodafone", + "operator": "Jersey Airtel Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Jersey (United Kingdom)", + "countryCode": "JE", + "mcc": "234", + "mnc": "28", + "brand": null, + "operator": "Marathon Telecom Limited", + "status": "Not operational", + "bands": "UMTS 2100", + "notes": "holds license but not network built" + }, + { + "type": "National", + "countryName": "Jersey (United Kingdom)", + "countryCode": "JE", + "mcc": "234", + "mnc": "50", + "brand": "JT", + "operator": "JT Group Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Jersey (United Kingdom)", + "countryCode": "JE", + "mcc": "234", + "mnc": "55", + "brand": "Sure Mobile", + "operator": "Sure (Jersey) Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": "former Cable & Wireless" + }, + { + "type": "National", + "countryName": "Kosovo", + "countryCode": "XK", + "mcc": "221", + "mnc": "01", + "brand": "Vala", + "operator": "Telecom of Kosovo J.S.C.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / LTE 1800", + "notes": "Previously the Monaco MCC/MNC 212-01 was used." + }, + { + "type": "National", + "countryName": "Kosovo", + "countryCode": "XK", + "mcc": "221", + "mnc": "02", + "brand": "IPKO", + "operator": "IPKO", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / LTE 1800", + "notes": "Previously the Slovenian MCC/MNC 293-41 was used. Used by MVNO D3 Mobile." + }, + { + "type": "National", + "countryName": "Kosovo", + "countryCode": "XK", + "mcc": "221", + "mnc": "06", + "brand": "Z Mobile", + "operator": "Dardaphone.Net LLC", + "status": "Operational", + "bands": "MVNO", + "notes": "Previously the Monaco MCC/MNC 212-01 was used." + }, + { + "type": "National", + "countryName": "Kosovo", + "countryCode": "XK", + "mcc": "221", + "mnc": "07", + "brand": "D3 Mobile", + "operator": "Dukagjini Telecommunications LLC", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Latvia", + "countryCode": "LV", + "mcc": "247", + "mnc": "01", + "brand": "LMT", + "operator": "Latvian Mobile Telephone", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Latvia", + "countryCode": "LV", + "mcc": "247", + "mnc": "02", + "brand": "Tele2", + "operator": "Tele2", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Latvia", + "countryCode": "LV", + "mcc": "247", + "mnc": "03", + "brand": "TRIATEL", + "operator": "Telekom Baltija", + "status": "Operational", + "bands": "CDMA 450", + "notes": null + }, + { + "type": "National", + "countryName": "Latvia", + "countryCode": "LV", + "mcc": "247", + "mnc": "04", + "brand": null, + "operator": "Beta Telecom", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former Lattelecom; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Latvia", + "countryCode": "LV", + "mcc": "247", + "mnc": "05", + "brand": "Bite", + "operator": "Bite Latvija", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": "Bite's postpaid customers are still being assigned SIM cards with 246 02 MNC" + }, + { + "type": "National", + "countryName": "Latvia", + "countryCode": "LV", + "mcc": "247", + "mnc": "06", + "brand": null, + "operator": "SIA \"UNISTARS\"", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Rigatta" + }, + { + "type": "National", + "countryName": "Latvia", + "countryCode": "LV", + "mcc": "247", + "mnc": "07", + "brand": null, + "operator": "SIA \"MEGATEL\"", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses Bite network; former Master Telecom" + }, + { + "type": "National", + "countryName": "Latvia", + "countryCode": "LV", + "mcc": "247", + "mnc": "08", + "brand": "VMT", + "operator": "SIA \"VENTAmobile\"", + "status": "Operational", + "bands": "MVNO", + "notes": "Former IZZI" + }, + { + "type": "National", + "countryName": "Latvia", + "countryCode": "LV", + "mcc": "247", + "mnc": "09", + "brand": "Xomobile", + "operator": "Camel Mobile", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Global Mobile Solutions" + }, + { + "type": "National", + "countryName": "Latvia", + "countryCode": "LV", + "mcc": "247", + "mnc": "10", + "brand": "LMT", + "operator": "Latvian Mobile Telephone", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Liechtenstein", + "countryCode": "LI", + "mcc": "295", + "mnc": "01", + "brand": "Swisscom", + "operator": "Swisscom Schweiz AG", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Also uses MCC 228 MNC 01 (Switzerland)" + }, + { + "type": "National", + "countryName": "Liechtenstein", + "countryCode": "LI", + "mcc": "295", + "mnc": "02", + "brand": "7acht", + "operator": "Salt Liechtenstein AG", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Former Orange" + }, + { + "type": "National", + "countryName": "Liechtenstein", + "countryCode": "LI", + "mcc": "295", + "mnc": "05", + "brand": "FL1", + "operator": "Telecom Liechtenstein AG", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800", + "notes": "Former Mobilkom" + }, + { + "type": "National", + "countryName": "Liechtenstein", + "countryCode": "LI", + "mcc": "295", + "mnc": "06", + "brand": "Cubic Telecom", + "operator": "Cubic Telecom AG", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Liechtenstein", + "countryCode": "LI", + "mcc": "295", + "mnc": "07", + "brand": null, + "operator": "First Mobile AG", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Liechtenstein", + "countryCode": "LI", + "mcc": "295", + "mnc": "09", + "brand": null, + "operator": "EMnify GmbH", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Liechtenstein", + "countryCode": "LI", + "mcc": "295", + "mnc": "10", + "brand": null, + "operator": "Soracom LI Ltd.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Liechtenstein", + "countryCode": "LI", + "mcc": "295", + "mnc": "11", + "brand": null, + "operator": "DIMOCO Messaging AG", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Liechtenstein", + "countryCode": "LI", + "mcc": "295", + "mnc": "77", + "brand": "Alpmobil", + "operator": "Alpcom AG", + "status": "Not operational", + "bands": "GSM 900", + "notes": "Bankruptcy in February 2012, former Tele2, MNC withdrawn" + }, + { + "type": "National", + "countryName": "Lithuania", + "countryCode": "LT", + "mcc": "246", + "mnc": "01", + "brand": "Telia", + "operator": "Telia Lietuva", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 2100 / 5G 3500", + "notes": "Former Omnitel; UMTS 2100 shut down Dec 2020, UMTS 900 - Dec 2022" + }, + { + "type": "National", + "countryName": "Lithuania", + "countryCode": "LT", + "mcc": "246", + "mnc": "02", + "brand": "BITĖ", + "operator": "UAB Bitė Lietuva", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Lithuania", + "countryCode": "LT", + "mcc": "246", + "mnc": "03", + "brand": "Tele2", + "operator": "UAB Tele2 (Tele2 AB, Sweden)", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 700 / 5G 3500", + "notes": "(in Vodafone partnership)" + }, + { + "type": "National", + "countryName": "Lithuania", + "countryCode": "LT", + "mcc": "246", + "mnc": "04", + "brand": null, + "operator": "LR vidaus reikalų ministerija (Ministry of the Interior)", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Lithuania", + "countryCode": "LT", + "mcc": "246", + "mnc": "05", + "brand": "LitRail", + "operator": "Lietuvos geležinkeliai (Lithuanian Railways)", + "status": "Operational", + "bands": "GSM-R 900", + "notes": null + }, + { + "type": "National", + "countryName": "Lithuania", + "countryCode": "LT", + "mcc": "246", + "mnc": "06", + "brand": "Mediafon", + "operator": "UAB Mediafon", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Lithuania", + "countryCode": "LT", + "mcc": "246", + "mnc": "07", + "brand": null, + "operator": "Compatel Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Lithuania", + "countryCode": "LT", + "mcc": "246", + "mnc": "08", + "brand": "MEZON", + "operator": "Lietuvos radijo ir televizijos centras", + "status": "Operational", + "bands": "WiMAX 3500 / TD-LTE 2300 / 5G 2300", + "notes": "acquired by Bitė" + }, + { + "type": "National", + "countryName": "Lithuania", + "countryCode": "LT", + "mcc": "246", + "mnc": "09", + "brand": null, + "operator": "Interactive Digital Media GmbH", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Lithuania", + "countryCode": "LT", + "mcc": "246", + "mnc": "11", + "brand": null, + "operator": "DATASIM OU", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Lithuania", + "countryCode": "LT", + "mcc": "246", + "mnc": "12", + "brand": null, + "operator": "Nord connect OU", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Lithuania", + "countryCode": "LT", + "mcc": "246", + "mnc": "13", + "brand": null, + "operator": "Travel Communication SIA", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Lithuania", + "countryCode": "LT", + "mcc": "246", + "mnc": "14", + "brand": null, + "operator": "Tismi BV", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Lithuania", + "countryCode": "LT", + "mcc": "246", + "mnc": "15", + "brand": null, + "operator": "Esim telecom, UAB", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Lithuania", + "countryCode": "LT", + "mcc": "246", + "mnc": "16", + "brand": null, + "operator": "Annecto Telecom Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Luxembourg", + "countryCode": "LU", + "mcc": "270", + "mnc": "01", + "brand": "POST", + "operator": "POST Luxembourg", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G 700 / 5G 3500", + "notes": "Former LuxGSM (P&T Luxembourg)" + }, + { + "type": "National", + "countryName": "Luxembourg", + "countryCode": "LU", + "mcc": "270", + "mnc": "02", + "brand": null, + "operator": "MTX Connect S.a.r.l.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Luxembourg", + "countryCode": "LU", + "mcc": "270", + "mnc": "05", + "brand": null, + "operator": "Luxembourg Online S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Luxembourg", + "countryCode": "LU", + "mcc": "270", + "mnc": "07", + "brand": null, + "operator": "Bouygues Telecom S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Luxembourg", + "countryCode": "LU", + "mcc": "270", + "mnc": "10", + "brand": null, + "operator": "Blue Communications", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Luxembourg", + "countryCode": "LU", + "mcc": "270", + "mnc": "71", + "brand": "CFL", + "operator": "Société Nationale des Chemins de Fer Luxembourgeois", + "status": "Operational", + "bands": "GSM-R 900", + "notes": null + }, + { + "type": "National", + "countryName": "Luxembourg", + "countryCode": "LU", + "mcc": "270", + "mnc": "77", + "brand": "Tango", + "operator": "Tango SA", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / 5G 700 / 5G 3500", + "notes": "MNC also used in Belgium; UMTS to shut down Jan 2024" + }, + { + "type": "National", + "countryName": "Luxembourg", + "countryCode": "LU", + "mcc": "270", + "mnc": "78", + "brand": null, + "operator": "Interactive digital media GmbH", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Luxembourg", + "countryCode": "LU", + "mcc": "270", + "mnc": "79", + "brand": null, + "operator": "Mitto AG", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Luxembourg", + "countryCode": "LU", + "mcc": "270", + "mnc": "80", + "brand": null, + "operator": "Syniverse Technologies S.à r.l.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Luxembourg", + "countryCode": "LU", + "mcc": "270", + "mnc": "81", + "brand": null, + "operator": "E-Lux Mobile Telecommunication S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Luxembourg", + "countryCode": "LU", + "mcc": "270", + "mnc": "99", + "brand": "Orange", + "operator": "Orange S.A.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G 700 / 5G 3500", + "notes": "Former VOXmobile; MNC also used in Belgium" + }, + { + "type": "National", + "countryName": "Malta", + "countryCode": "MT", + "mcc": "278", + "mnc": "01", + "brand": "Epic", + "operator": "Epic", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800 / 5G", + "notes": "Former Vodafone; supports MVNOs Redtouch Fone and VFC Mobile" + }, + { + "type": "National", + "countryName": "Malta", + "countryCode": "MT", + "mcc": "278", + "mnc": "11", + "brand": null, + "operator": "YOM Ltd.", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Malta", + "countryCode": "MT", + "mcc": "278", + "mnc": "21", + "brand": "GO", + "operator": "Mobile Communications Limited", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / 5G", + "notes": "Supports MVNO PING" + }, + { + "type": "National", + "countryName": "Malta", + "countryCode": "MT", + "mcc": "278", + "mnc": "30", + "brand": "GO", + "operator": "Mobile Communications Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Malta", + "countryCode": "MT", + "mcc": "278", + "mnc": "77", + "brand": "Melita", + "operator": "Melita", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 800 / LTE 2100 / 5G", + "notes": null + }, + { + "type": "National", + "countryName": "Moldova", + "countryCode": "MD", + "mcc": "255", + "mnc": "00", + "brand": "IDC", + "operator": "Interdnestrcom", + "status": "Operational", + "bands": "CDMA 800", + "notes": "Unofficially using Ukrainian MCC; CDMA 450 shut down Sep 2020" + }, + { + "type": "National", + "countryName": "Moldova", + "countryCode": "MD", + "mcc": "259", + "mnc": "01", + "brand": "Orange", + "operator": "Orange Moldova", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": "Former Voxtel" + }, + { + "type": "National", + "countryName": "Moldova", + "countryCode": "MD", + "mcc": "259", + "mnc": "02", + "brand": "Moldcell", + "operator": "Moldcell", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Moldova", + "countryCode": "MD", + "mcc": "259", + "mnc": "03", + "brand": "Moldtelecom", + "operator": "Moldtelecom", + "status": "Operational", + "bands": "CDMA 450", + "notes": null + }, + { + "type": "National", + "countryName": "Moldova", + "countryCode": "MD", + "mcc": "259", + "mnc": "04", + "brand": "Eventis", + "operator": "Eventis Telecom", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Bankruptcy - License suspended" + }, + { + "type": "National", + "countryName": "Moldova", + "countryCode": "MD", + "mcc": "259", + "mnc": "05", + "brand": "Moldtelecom", + "operator": "Moldtelecom", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 1800", + "notes": "Former Unité" + }, + { + "type": "National", + "countryName": "Moldova", + "countryCode": "MD", + "mcc": "259", + "mnc": "15", + "brand": "IDC", + "operator": "Interdnestrcom", + "status": "Operational", + "bands": "LTE 800 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Moldova", + "countryCode": "MD", + "mcc": "259", + "mnc": "99", + "brand": "Moldtelecom", + "operator": "Moldtelecom", + "status": "Operational", + "bands": "UMTS 2100", + "notes": "Former Unité; used for Femtocell service only" + }, + { + "type": "National", + "countryName": "Monaco", + "countryCode": "MC", + "mcc": "212", + "mnc": "10", + "brand": "Office des Telephones", + "operator": "Monaco Telecom", + "status": "Operational", + "bands": "GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": "Used for the Vala network in Kosovo. The GSM Association lists the PTK (P&T Kosovo) website for this network." + }, + { + "type": "National", + "countryName": "Montenegro", + "countryCode": "ME", + "mcc": "297", + "mnc": "01", + "brand": "One", + "operator": "Telenor Montenegro", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G", + "notes": "Former ProMonte GSM" + }, + { + "type": "National", + "countryName": "Montenegro", + "countryCode": "ME", + "mcc": "297", + "mnc": "02", + "brand": "telekom.me", + "operator": "Crnogorski Telekom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": "Former MoNet" + }, + { + "type": "National", + "countryName": "Montenegro", + "countryCode": "ME", + "mcc": "297", + "mnc": "03", + "brand": "m:tel", + "operator": "m:tel Crna Gora", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE", + "notes": "Owned by Telekom Srbija" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "00", + "brand": null, + "operator": "Intovoice B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "01", + "brand": null, + "operator": "RadioAccess Network Services", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "02", + "brand": "Tele2", + "operator": "T-Mobile Netherlands B.V", + "status": "Operational", + "bands": "LTE 800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "03", + "brand": "Enreach", + "operator": "Enreach Netherlands B.V.", + "status": "Operational", + "bands": "MVNE", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "04", + "brand": "Vodafone", + "operator": "Vodafone Libertel B.V.", + "status": "Operational", + "bands": "GSM 900 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 1800", + "notes": "UMTS shut down February 2020" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "05", + "brand": null, + "operator": "Elephant Talk Communications Premium Rate Services", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "06", + "brand": "Vectone Mobile", + "operator": "Mundio Mobile (Netherlands) Ltd", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "07", + "brand": "Teleena", + "operator": "Tata Communications MOVE B.V.", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "08", + "brand": "KPN", + "operator": "KPN Mobile The Netherlands B.V.", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / TD-LTE 2600 / 5G 700", + "notes": "UMTS 2100 shut down Jan 2022" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "09", + "brand": "Lycamobile", + "operator": "Lycamobile Netherlands Limited", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "10", + "brand": "KPN", + "operator": "KPN B.V.", + "status": "Operational", + "bands": "GSM 900 / LTE 800 / LTE 1800 / LTE 2600", + "notes": "UMTS 2100 shut down Jan 2022" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "11", + "brand": null, + "operator": "Greenet Netwerk B.V", + "status": "Operational", + "bands": "LTE", + "notes": "Former VoipIT B.V., MNC withdrawn; private networks" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "12", + "brand": "Telfort", + "operator": "KPN Mobile The Netherlands B.V.", + "status": "Operational", + "bands": "MVNO", + "notes": "Subbrand of KPN" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "13", + "brand": null, + "operator": "Unica Installatietechniek B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "14", + "brand": null, + "operator": "Venus & Mercury Telecom", + "status": "Unknown", + "bands": "5G", + "notes": "Former 6GMOBILE B.V." + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "15", + "brand": "Ziggo", + "operator": "Ziggo B.V.", + "status": "Operational", + "bands": "LTE 2600", + "notes": "business users only" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "16", + "brand": "T-Mobile (BEN)", + "operator": "T-Mobile Netherlands B.V", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / TD-LTE 2600 / 5G 700", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "17", + "brand": null, + "operator": "Lebara Ltd", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Intercity Mobile Communications" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "18", + "brand": "Ziggo", + "operator": "Ziggo Services B.V.", + "status": "Operational", + "bands": "MVNO", + "notes": "Former UPC Netherlands" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "19", + "brand": null, + "operator": "Mixe Communication Solutions B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "20", + "brand": "T-Mobile", + "operator": "T-Mobile Netherlands B.V", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / TD-LTE 2600 / 5G 700", + "notes": "Former Orange Netherlands MCC/MNC" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "21", + "brand": null, + "operator": "ProRail B.V.", + "status": "Operational", + "bands": "GSM-R 900", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "22", + "brand": null, + "operator": "Ministerie van Defensie", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "23", + "brand": null, + "operator": "KORE Wireless Nederland B.V.", + "status": "Operational", + "bands": "MVNO", + "notes": "Former ASPIDER Solutions, Wyless" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "24", + "brand": null, + "operator": "PM Factory B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "25", + "brand": null, + "operator": "CapX B.V.", + "status": "Operational", + "bands": "GSM 1800", + "notes": "Private networks" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "26", + "brand": null, + "operator": "SpeakUp B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "27", + "brand": "L-mobi", + "operator": "L-Mobi Mobile B.V.", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Breezz Nederland B.V." + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "28", + "brand": null, + "operator": "Lancelot B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "29", + "brand": null, + "operator": "Tismi B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Private Mobile Ltd" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "30", + "brand": null, + "operator": "ASpider Solutions Nederland B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "32", + "brand": null, + "operator": "Cubic Telecom Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "33", + "brand": null, + "operator": "Truphone B.V.", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "60", + "brand": null, + "operator": "Nextgen Mobile Ltd", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "61", + "brand": null, + "operator": "Alcadis B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former BodyTrace Netherlands B.V." + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "62", + "brand": "RGTN", + "operator": "RGTN Wholesale Netherlands B.V.", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Voxbone; used for Signalling Connection Control Part and two-way SMS services" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "63", + "brand": null, + "operator": "Messagebird BV", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "64", + "brand": null, + "operator": "Zetacom B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "65", + "brand": null, + "operator": "AGMS Netherlands B.V.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "66", + "brand": null, + "operator": "Utility Connect B.V.", + "status": "Operational", + "bands": "CDMA 450", + "notes": "Subsidiary of Alliander; network operated by KPN" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "67", + "brand": null, + "operator": "Koning en Hartman B.V.", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Former RadioAccess B.V.; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "68", + "brand": null, + "operator": "Roamware (Netherlands) B.V.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "69", + "brand": null, + "operator": "KPN Mobile The Netherlands B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Netherlands (Kingdom of the Netherlands)", + "countryCode": "NL", + "mcc": "204", + "mnc": "91", + "brand": null, + "operator": "Enexis Netbeheer B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "North Macedonia", + "countryCode": "MK", + "mcc": "294", + "mnc": "01", + "brand": "Telekom.mk", + "operator": "Makedonski Telekom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / 5G 700 / 5G 3500", + "notes": "Former Mobimak" + }, + { + "type": "National", + "countryName": "North Macedonia", + "countryCode": "MK", + "mcc": "294", + "mnc": "02", + "brand": "one", + "operator": "one", + "status": "Not operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": "Former Cosmofon, One (Telekom Slovenija Group)" + }, + { + "type": "National", + "countryName": "North Macedonia", + "countryCode": "MK", + "mcc": "294", + "mnc": "03", + "brand": "A1 MK", + "operator": "A1 Macedonia DOOEL", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100", + "notes": "Former VipOperator; merged with One in 2015 and renamed to one.vip; renamed to A1 MK in 2019" + }, + { + "type": "National", + "countryName": "North Macedonia", + "countryCode": "MK", + "mcc": "294", + "mnc": "04", + "brand": "Lycamobile", + "operator": "Lycamobile LLC", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses A1 network" + }, + { + "type": "National", + "countryName": "North Macedonia", + "countryCode": "MK", + "mcc": "294", + "mnc": "10", + "brand": null, + "operator": "WTI Macedonia", + "status": "Not operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "North Macedonia", + "countryCode": "MK", + "mcc": "294", + "mnc": "11", + "brand": null, + "operator": "MOBIK TELEKOMUNIKACII DOOEL Skopje", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "North Macedonia", + "countryCode": "MK", + "mcc": "294", + "mnc": "12", + "brand": null, + "operator": "MTEL DOOEL Skopje", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "01", + "brand": "Telenor", + "operator": "Telenor Norge AS", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": "UMTS shut down 2021, GSM to shut down 2025" + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "02", + "brand": "Telia", + "operator": "Telia Norge AS", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 800 / LTE 1800 / LTE 2600 / 5G 700 / 5G 3500", + "notes": "Former NetCom; UMTS shut down Dec 2021" + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "03", + "brand": null, + "operator": "Televerket AS", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "04", + "brand": "Tele2", + "operator": "Tele2 (Mobile Norway AS)", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "05", + "brand": "Telia", + "operator": "Telia Norge AS", + "status": "Not operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100", + "notes": "Former Tele2" + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "06", + "brand": "ice", + "operator": "ICE Norge AS", + "status": "Operational", + "bands": "LTE 450", + "notes": "Former Nordisk Mobiltelefon; data services only" + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "07", + "brand": "Phonero", + "operator": "Phonero AS", + "status": "Not operational", + "bands": "MVNO", + "notes": "Former Ventelo; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "08", + "brand": "Telia", + "operator": "Telia Norge AS", + "status": "Operational", + "bands": "MVNO", + "notes": "Former TDC" + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "09", + "brand": "Com4", + "operator": "Com4 AS", + "status": "Operational", + "bands": "MVNO", + "notes": "Principally M2M services" + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "10", + "brand": null, + "operator": "Norwegian Communications Authority", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "11", + "brand": "SystemNet", + "operator": "SystemNet AS", + "status": "Not operational", + "bands": "Test", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "12", + "brand": "Telenor", + "operator": "Telenor Norge AS", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "14", + "brand": "ice", + "operator": "ICE Communication Norge AS", + "status": "Operational", + "bands": "GSM 900 / LTE 800 / LTE 1800 / LTE 2100 / 5G 700 / 5G 2100", + "notes": "UMTS shut down Jan 2021" + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "15", + "brand": null, + "operator": "eRate Norway AS", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "16", + "brand": null, + "operator": "Iristel Norway AS", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "17", + "brand": "Telenor", + "operator": "Telenor Norge AS", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "20", + "brand": null, + "operator": "Jernbaneverket AS", + "status": "Operational", + "bands": "GSM-R 900", + "notes": null + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "21", + "brand": null, + "operator": "Jernbaneverket AS", + "status": "Operational", + "bands": "GSM-R 900", + "notes": null + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "22", + "brand": null, + "operator": "Altibox AS", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Network Norway AS;" + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "23", + "brand": "Lycamobile", + "operator": "Lyca Mobile Ltd", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "24", + "brand": null, + "operator": "Mobile Norway AS", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "25", + "brand": null, + "operator": "Forsvarets kompetansesenter KKIS", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "70", + "brand": null, + "operator": "test networks", + "status": "Unknown", + "bands": "Unknown", + "notes": "Can be used without application" + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "71", + "brand": null, + "operator": "private networks", + "status": "Unknown", + "bands": "5G 3700", + "notes": "Band n77" + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "72", + "brand": null, + "operator": "private networks", + "status": "Unknown", + "bands": "5G 3700", + "notes": "Band n77" + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "73", + "brand": null, + "operator": "private networks", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "74", + "brand": null, + "operator": "private networks", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "75", + "brand": null, + "operator": "private networks", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "90", + "brand": null, + "operator": "Nokia Solutions and Networks Norge AS", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Norway", + "countryCode": "NO", + "mcc": "242", + "mnc": "99", + "brand": null, + "operator": "TampNet AS", + "status": "Operational", + "bands": "LTE 800 / LTE 1800", + "notes": "Offshore" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "01", + "brand": "Plus", + "operator": "Polkomtel Sp. z o.o.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / TD-5G 2500", + "notes": "LTE roaming with Aero 2" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "02", + "brand": "T-Mobile", + "operator": "T-Mobile Polska S.A.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / LTE 1800 / LTE 2100 / 5G 2100", + "notes": "former Era; see MNC 260-34 for shared LTE network; UMTS 2100 shut down Oct 2021, UMTS 900 to shut down 2023" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "03", + "brand": "Orange", + "operator": "Orange Polska S.A.", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2100 / 5G 2100", + "notes": "former Idea; see MNC 260-34 for shared LTE network; CDMA 450 shut down April 2017" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "04", + "brand": "Plus", + "operator": "Polkomtel Sp. z o.o.", + "status": "Not operational", + "bands": "Unknown", + "notes": "former CenterNet, Aero2" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "05", + "brand": "Orange", + "operator": "Orange Polska S.A.", + "status": "Not operational", + "bands": "UMTS 2100", + "notes": "not in use, using MNC 03" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "06", + "brand": "Play", + "operator": "P4 Sp. z o.o.", + "status": "Operational", + "bands": "GSM 1800 / UMTS 900 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 2100", + "notes": "Also roaming on Polkomtel and Orange 2G/3G network" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "07", + "brand": "Netia", + "operator": "Netia S.A.", + "status": "Operational", + "bands": "MVNO", + "notes": "MVNO on Play (P4)" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "08", + "brand": null, + "operator": "EXATEL S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former E-Telko Sp. z o.o." + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "09", + "brand": "Lycamobile", + "operator": "Lycamobile Sp. z o.o.", + "status": "Operational", + "bands": "MVNO", + "notes": "On Polkomtel 2G/3G network" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "10", + "brand": "T-Mobile", + "operator": "T-Mobile Polska S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": "former Telefony Opalenickie S.A., Sferia; CDMA 800 shut down in 2014; LTE 800 leased to Aero 2;" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "11", + "brand": "Plus", + "operator": "Polkomtel Sp. z o.o.", + "status": "Operational", + "bands": "CDMA 420", + "notes": "Former Nordisk Polska" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "12", + "brand": "Cyfrowy Polsat", + "operator": "Cyfrowy Polsat S.A.", + "status": "Operational", + "bands": "MVNO", + "notes": "MVNO on Polkomtel" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "13", + "brand": null, + "operator": "Move Telecom S.A.", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Sferia" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "14", + "brand": null, + "operator": "Telco Leaders Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Sferia" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "15", + "brand": "Plus", + "operator": "Polkomtel Sp. z o.o.", + "status": "Operational", + "bands": "LTE 1800", + "notes": "former CenterNet, Aero2 ; GSM 1800 shut down in 2010" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "16", + "brand": "Plus", + "operator": "Polkomtel Sp. z o.o.", + "status": "Operational", + "bands": "LTE 1800", + "notes": "former Mobyland, Aero2 ; GSM 1800 shut down in 2010" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "17", + "brand": "Plus", + "operator": "Polkomtel Sp. z o.o.", + "status": "Operational", + "bands": "UMTS 900 / TD-LTE 2600", + "notes": "Former Aero2" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "18", + "brand": "AMD Telecom", + "operator": "AMD Telecom S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "19", + "brand": null, + "operator": "SIA NetBalt", + "status": "Unknown", + "bands": "MVNO", + "notes": "Former Teleena Holding BV" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "20", + "brand": null, + "operator": "TISMI B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Mobile.Net, Wysyłaj SMS Polska" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "21", + "brand": null, + "operator": "private networks", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Exteri until May 2014; now used for several private networks with 4-digit MNC 21xx" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "22", + "brand": null, + "operator": "Twilio Ireland Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Arcomm until Nov 2018" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "23", + "brand": null, + "operator": "PGE Systemy S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Amicomm" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "24", + "brand": null, + "operator": "IT Partners Telco Sp. z o.o.", + "status": "Unknown", + "bands": "Unknown", + "notes": "former WideNet" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "25", + "brand": "TeleCube.PL", + "operator": "Claude ICT Poland Sp. z o.o.", + "status": "Operational", + "bands": "Unknown", + "notes": "Former Best Solutions & Technology Experience, Polskie Sieci Radiowe" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "26", + "brand": null, + "operator": "Vonage B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Advanced Technology & Experience (ATE) until 2016" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "27", + "brand": null, + "operator": "SIA Ntel Solutions", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Intertelcom" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "28", + "brand": null, + "operator": "CrossMobile Sp. z o.o.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former PhoneNet until 2016" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "29", + "brand": null, + "operator": "SMSWIZARD POLSKA Sp. z o.o.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Interfonica Sp. z o.o." + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "30", + "brand": null, + "operator": "HXG Sp. z o.o.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former GrandTel Sp. z o.o." + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "31", + "brand": "Phone IT", + "operator": "Phone IT Sp. z o.o.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "32", + "brand": null, + "operator": "Compatel Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "33", + "brand": "Truphone", + "operator": "Truphone Poland Sp. z o.o.", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "34", + "brand": "NetWorkS!", + "operator": "T-Mobile Polska S.A.", + "status": "Operational", + "bands": "LTE 800 / LTE 2600", + "notes": "Shared network T-Mobile / Orange" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "35", + "brand": null, + "operator": "PKP Polskie Linie Kolejowe S.A.", + "status": "Operational", + "bands": "GSM-R", + "notes": null + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "36", + "brand": "Vectone Mobile", + "operator": "Mundio Mobile", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn May 2014" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "37", + "brand": null, + "operator": "NEXTGEN MOBILE LTD", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn Nov 2018" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "38", + "brand": null, + "operator": "CALLFREEDOM Sp. z o.o.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdawn Apr 2019" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "39", + "brand": "Voxbone", + "operator": "VOXBONE SA", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "40", + "brand": null, + "operator": "Interactive Digital Media GmbH", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "41", + "brand": null, + "operator": "EZ PHONE MOBILE Sp. z o.o.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "42", + "brand": null, + "operator": "MobiWeb Telecom Limited", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "43", + "brand": null, + "operator": "Smart Idea International Sp. z o.o.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "44", + "brand": null, + "operator": "Rebtel Poland Sp. z o.o.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn Apr 2019" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "45", + "brand": "Virgin Mobile", + "operator": "P4 Sp. z o.o.", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "46", + "brand": null, + "operator": "Terra Telekom Sp. z o.o.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "47", + "brand": null, + "operator": "SMShighway Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "48", + "brand": null, + "operator": "AGILE TELECOM S.P.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "49", + "brand": null, + "operator": "Messagebird B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "90", + "brand": null, + "operator": "Polska Spółka Gazownictwa Sp. z o.o.", + "status": "Unknown", + "bands": "Unknown", + "notes": "M2M" + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "97", + "brand": null, + "operator": "Politechnika Łódzka Uczelniane Centrum Informatyczne", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Poland", + "countryCode": "PL", + "mcc": "260", + "mnc": "98", + "brand": "Play", + "operator": "P4 Sp. z o.o.", + "status": "Not operational", + "bands": "LTE 1800", + "notes": "Test network" + }, + { + "type": "National", + "countryName": "Portugal", + "countryCode": "PT", + "mcc": "268", + "mnc": "01", + "brand": "Vodafone", + "operator": "Vodafone Portugal", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": "formerly Telecel (2001)" + }, + { + "type": "National", + "countryName": "Portugal", + "countryCode": "PT", + "mcc": "268", + "mnc": "02", + "brand": null, + "operator": "Digi Portugal, Lda.", + "status": "Unknown", + "bands": "Unknown", + "notes": "formerly MEO" + }, + { + "type": "National", + "countryName": "Portugal", + "countryCode": "PT", + "mcc": "268", + "mnc": "03", + "brand": "NOS", + "operator": "NOS Comunicações", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": "formerly Optimus (2014)" + }, + { + "type": "National", + "countryName": "Portugal", + "countryCode": "PT", + "mcc": "268", + "mnc": "04", + "brand": "LycaMobile", + "operator": "LycaMobile", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Portugal", + "countryCode": "PT", + "mcc": "268", + "mnc": "05", + "brand": null, + "operator": "Oniway - Inforcomunicaçôes, S.A.", + "status": "Not operational", + "bands": "UMTS 2100", + "notes": "License withdrawn in 2003; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Portugal", + "countryCode": "PT", + "mcc": "268", + "mnc": "06", + "brand": "MEO", + "operator": "MEO - Serviços de Comunicações e Multimédia, S.A.", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 3500", + "notes": "formerly TMN (2014)" + }, + { + "type": "National", + "countryName": "Portugal", + "countryCode": "PT", + "mcc": "268", + "mnc": "07", + "brand": null, + "operator": "Sumamovil Portugal, S.A.", + "status": "Unknown", + "bands": "MVNO", + "notes": "formerly Vectone/Mundio" + }, + { + "type": "National", + "countryName": "Portugal", + "countryCode": "PT", + "mcc": "268", + "mnc": "08", + "brand": "MEO", + "operator": "MEO - Serviços de Comunicações e Multimédia, S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Portugal", + "countryCode": "PT", + "mcc": "268", + "mnc": "11", + "brand": null, + "operator": "Compatel, Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Portugal", + "countryCode": "PT", + "mcc": "268", + "mnc": "12", + "brand": null, + "operator": "Infraestruturas de Portugal, S.A.", + "status": "Operational", + "bands": "GSM-R", + "notes": "former Refer Telecom, IP Telecom - Serviços de Telecomunicações, S.A." + }, + { + "type": "National", + "countryName": "Portugal", + "countryCode": "PT", + "mcc": "268", + "mnc": "13", + "brand": null, + "operator": "G9Telecom, S.A.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Portugal", + "countryCode": "PT", + "mcc": "268", + "mnc": "21", + "brand": "Zapp", + "operator": "Zapp Portugal", + "status": "Not operational", + "bands": "CDMA2000 450", + "notes": "Closed down in September 2011; MNC withdawn" + }, + { + "type": "National", + "countryName": "Portugal", + "countryCode": "PT", + "mcc": "268", + "mnc": "80", + "brand": "MEO", + "operator": "MEO - Serviços de Comunicações e Multimédia, S.A.", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Portugal", + "countryCode": "PT", + "mcc": "268", + "mnc": "91", + "brand": "Vodafone", + "operator": "Vodafone Portugal", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Portugal", + "countryCode": "PT", + "mcc": "268", + "mnc": "93", + "brand": "NOS", + "operator": "NOS Comunicações", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Romania", + "countryCode": "RO", + "mcc": "226", + "mnc": "01", + "brand": "Vodafone", + "operator": "Vodafone România", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / TD-LTE 2600 / 5G 3500", + "notes": "Formerly branded as Connex" + }, + { + "type": "National", + "countryName": "Romania", + "countryCode": "RO", + "mcc": "226", + "mnc": "02", + "brand": "Clicknet Mobile", + "operator": "Telekom Romania", + "status": "Not operational", + "bands": "CDMA 420", + "notes": "Licence expired on 1 January 2015, network shut down" + }, + { + "type": "National", + "countryName": "Romania", + "countryCode": "RO", + "mcc": "226", + "mnc": "03", + "brand": "Telekom", + "operator": "Telekom Romania", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 800 / LTE 1800 / LTE 2600", + "notes": "Formerly branded as Cosmote" + }, + { + "type": "National", + "countryName": "Romania", + "countryCode": "RO", + "mcc": "226", + "mnc": "04", + "brand": "Cosmote/Zapp", + "operator": "Telekom Romania", + "status": "Not operational", + "bands": "CDMA 450", + "notes": "Licence expired on 24 March 2013, network shut down" + }, + { + "type": "National", + "countryName": "Romania", + "countryCode": "RO", + "mcc": "226", + "mnc": "05", + "brand": "Digi.Mobil", + "operator": "RCS&RDS", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 2100 / TD-LTE 2600 / 5G 3500", + "notes": "3G network to be shut down until end of H1 2023" + }, + { + "type": "National", + "countryName": "Romania", + "countryCode": "RO", + "mcc": "226", + "mnc": "06", + "brand": "Telekom", + "operator": "Telekom Romania", + "status": "Not operational", + "bands": "UMTS 900 / UMTS 2100", + "notes": "Former Zapp; network shut down Mar 2023" + }, + { + "type": "National", + "countryName": "Romania", + "countryCode": "RO", + "mcc": "226", + "mnc": "10", + "brand": "Orange", + "operator": "Orange România", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": "Formerly branded as Dialog" + }, + { + "type": "National", + "countryName": "Romania", + "countryCode": "RO", + "mcc": "226", + "mnc": "11", + "brand": null, + "operator": "Enigma-System", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Romania", + "countryCode": "RO", + "mcc": "226", + "mnc": "15", + "brand": "Idilis", + "operator": "Idilis", + "status": "Not operational", + "bands": "WiMAX / TD-LTE 2600", + "notes": "LTE license is sold to RCS&RDS" + }, + { + "type": "National", + "countryName": "Romania", + "countryCode": "RO", + "mcc": "226", + "mnc": "16", + "brand": "Lycamobile", + "operator": "Lycamobile Romania", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses Telekom Networks" + }, + { + "type": "National", + "countryName": "Romania", + "countryCode": "RO", + "mcc": "226", + "mnc": "19", + "brand": "CFR", + "operator": "Căile Ferate Române", + "status": "Testing", + "bands": "GSM-R 900", + "notes": "Dedicated network for safety communication, not for public users." + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "01", + "brand": "MTS", + "operator": "Mobile TeleSystems", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / TD-LTE 2600 / 5G 4700", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "02", + "brand": "MegaFon", + "operator": "MegaFon PJSC", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": "Former North-West GSM" + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "03", + "brand": "NCC", + "operator": "Nizhegorodskaya Cellular Communications", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Purchased by Tele2" + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "04", + "brand": "Sibchallenge", + "operator": "Sibchallenge", + "status": "Not operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "05", + "brand": "ETK", + "operator": "Yeniseytelecom", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / CDMA 450", + "notes": "Purchased by Tele2" + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "06", + "brand": "Skylink", + "operator": "CJSC Saratov System of Cellular Communications", + "status": "Not operational", + "bands": "CDMA 450", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "07", + "brand": "SMARTS", + "operator": "Zao SMARTS", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "08", + "brand": "Vainah Telecom", + "operator": "CS \"VainahTelecom\"", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "09", + "brand": "Skylink", + "operator": "Khabarovsky Cellular Phone", + "status": "Operational", + "bands": "CDMA 450", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "10", + "brand": "DTC", + "operator": "Dontelekom", + "status": "Not operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "11", + "brand": "Yota", + "operator": "Scartel", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "12", + "brand": "Baykalwestcom", + "operator": "Baykal Westcom / New Telephone Company / Far Eastern Cellular", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / CDMA 450", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "12", + "brand": "Akos", + "operator": null, + "status": "Not operational", + "bands": "GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "13", + "brand": "KUGSM", + "operator": "Kuban GSM", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "14", + "brand": "MegaFon", + "operator": "MegaFon OJSC", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / TD-LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "15", + "brand": "SMARTS", + "operator": "SMARTS Ufa, SMARTS Uljanovsk", + "status": "Not operational", + "bands": "GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "16", + "brand": "Miatel", + "operator": "Miatel", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "17", + "brand": "Utel", + "operator": "JSC Uralsvyazinform", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Former Ermak RMS" + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "18", + "brand": "Osnova Telecom", + "operator": null, + "status": "Not operational", + "bands": "TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "19", + "brand": "INDIGO", + "operator": "INDIGO", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Since 19 December 2009 merged with Tele2" + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "20", + "brand": "Tele2", + "operator": "Tele2", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 450 / LTE 800 / LTE 1800 / TD-LTE 2300 / TD-LTE 2500 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "21", + "brand": "GlobalTel", + "operator": "JSC \"GlobalTel\"", + "status": "Operational", + "bands": "Satellite", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "22", + "brand": null, + "operator": "Vainakh Telecom", + "status": "Operational", + "bands": "TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "23", + "brand": "Thuraya", + "operator": "GTNT", + "status": "Operational", + "bands": "Satellite MVNO", + "notes": "Former Mobicom Novosibirsk" + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "26", + "brand": "VTB Mobile", + "operator": "VTB Mobile", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "27", + "brand": "Letai", + "operator": "Tattelecom", + "status": "Operational", + "bands": "GSM 1800 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "28", + "brand": "Beeline", + "operator": "Beeline", + "status": "Not operational", + "bands": "GSM 900", + "notes": "Former EXTEL" + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "29", + "brand": "Iridium", + "operator": "Iridium Communications", + "status": "Operational", + "bands": "Satellite MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "32", + "brand": "Win Mobile", + "operator": "K-Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600", + "notes": "Unapproved use in Crimea only" + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "33", + "brand": "Sevmobile", + "operator": "Sevtelekom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Unapproved use in Crimea only" + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "34", + "brand": "Krymtelekom", + "operator": "Krymtelekom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Unapproved use in Crimea only" + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "35", + "brand": "MOTIV", + "operator": "EKATERINBURG-2000", + "status": "Operational", + "bands": "GSM 1800 / LTE 1800 / TD-LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "38", + "brand": "Tambov GSM", + "operator": "Central Telecommunication Company", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "39", + "brand": "Rostelecom", + "operator": "ROSTELECOM", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / TD-LTE 2300 / LTE 2600", + "notes": "Tele2 code 250 20 is used since acquiring" + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "40", + "brand": "VTC Mobile", + "operator": "Voentelecom", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "44", + "brand": null, + "operator": "Stavtelesot / North Caucasian GSM", + "status": "Not operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "45", + "brand": "Gazprombank Mobile", + "operator": "PJSC New Mobile Communications", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "50", + "brand": "SberMobile", + "operator": "Sberbank-Telecom", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "54", + "brand": "TTK", + "operator": "Tattelecom", + "status": "Not operational", + "bands": "LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "59", + "brand": "WireFire", + "operator": "NetbyNet", + "status": "Operational", + "bands": "MVNO on Megafon base", + "notes": "Data only" + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "60", + "brand": "Volna mobile", + "operator": "KTK Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600", + "notes": "Unapproved use in Crimea only" + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "61", + "brand": "Intertelecom", + "operator": "Intertelecom", + "status": "Not operational", + "bands": "CDMA 800", + "notes": "Unapproved use in Crimea only" + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "62", + "brand": "Tinkoff Mobile", + "operator": "Tinkoff Mobile", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "91", + "brand": "Sonic Duo", + "operator": "Sonic Duo CJSC", + "status": "Not operational", + "bands": "GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "92", + "brand": null, + "operator": "Primtelefon", + "status": "Not operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "93", + "brand": null, + "operator": "Telecom XXI", + "status": "Not operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "96", + "brand": "+7Telecom", + "operator": "K-Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600", + "notes": "Unapproved use in Zaporizhzhia and Kherson Oblast only" + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "97", + "brand": "Phoenix", + "operator": "State Unitary Enterprise of DPR \"Republican Telecommunications Operator\"", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600", + "notes": "Unapproved use in Donetsk People's Republic only" + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "255", + "mnc": "98", + "brand": "MKS (ex. Lugacom)", + "operator": "OOO \"MKS\"", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600", + "notes": "Unapproved use in Luhansk People's Republic only" + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "99", + "brand": "Beeline", + "operator": "OJSC Vimpel-Communications", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600", + "notes": "UMTS 2100 shut down in 2021" + }, + { + "type": "National", + "countryName": "Russian Federation", + "countryCode": "RU", + "mcc": "250", + "mnc": "811", + "brand": null, + "operator": "Votek Mobile", + "status": "Not operational", + "bands": "AMPS / DAMPS / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "San Marino", + "countryCode": "SM", + "mcc": "292", + "mnc": "01", + "brand": "PRIMA", + "operator": "San Marino Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Serbia", + "countryCode": "RS", + "mcc": "220", + "mnc": "01", + "brand": "Yettel", + "operator": "Telenor Serbia", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": "Former Telenor, 063 MOBTEL Srbija GSM, Mobi 63" + }, + { + "type": "National", + "countryName": "Serbia", + "countryCode": "RS", + "mcc": "220", + "mnc": "02", + "brand": "One", + "operator": "Telenor Montenegro", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Former Telenor, ProMonte GSM; moved to MCC 297 MNC 01 (Montenegro) on 11 November 2011" + }, + { + "type": "National", + "countryName": "Serbia", + "countryCode": "RS", + "mcc": "220", + "mnc": "03", + "brand": "mt:s", + "operator": "Telekom Srbija", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / TETRA", + "notes": null + }, + { + "type": "National", + "countryName": "Serbia", + "countryCode": "RS", + "mcc": "220", + "mnc": "04", + "brand": "T-Mobile CG", + "operator": "T-Mobile Montenegro LLC", + "status": "Not operational", + "bands": "GSM", + "notes": "Former MoNet GSM; moved to MCC 297 MNC 02 (Montenegro)" + }, + { + "type": "National", + "countryName": "Serbia", + "countryCode": "RS", + "mcc": "220", + "mnc": "05", + "brand": "A1 SRB", + "operator": "A1 Srbija d.o.o.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": "Former Vip Mobile" + }, + { + "type": "National", + "countryName": "Serbia", + "countryCode": "RS", + "mcc": "220", + "mnc": "07", + "brand": "Orion", + "operator": "Orion Telekom", + "status": "Not operational", + "bands": "CDMA 450", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Serbia", + "countryCode": "RS", + "mcc": "220", + "mnc": "09", + "brand": "Vectone Mobile", + "operator": "MUNDIO MOBILE d.o.o.", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Serbia", + "countryCode": "RS", + "mcc": "220", + "mnc": "11", + "brand": "Globaltel", + "operator": "GLOBALTEL d.o.o.", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses A1" + }, + { + "type": "National", + "countryName": "Serbia", + "countryCode": "RS", + "mcc": "220", + "mnc": "20", + "brand": "A1 SRB", + "operator": "A1 Srbija d.o.o.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Vip Mobile" + }, + { + "type": "National", + "countryName": "Serbia", + "countryCode": "RS", + "mcc": "220", + "mnc": "21", + "brand": null, + "operator": "Infrastruktura železnice Srbije a.d.", + "status": "Unknown", + "bands": "GSM-R", + "notes": null + }, + { + "type": "National", + "countryName": "Slovakia", + "countryCode": "SK", + "mcc": "231", + "mnc": "01", + "brand": "Orange", + "operator": "Orange Slovensko", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": "Former Globtel" + }, + { + "type": "National", + "countryName": "Slovakia", + "countryCode": "SK", + "mcc": "231", + "mnc": "02", + "brand": "Telekom", + "operator": "Slovak Telekom", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / TD-LTE 3700 / 5G 2100", + "notes": "Former Eurotel / T-Mobile" + }, + { + "type": "National", + "countryName": "Slovakia", + "countryCode": "SK", + "mcc": "231", + "mnc": "03", + "brand": "4ka", + "operator": "SWAN Mobile, a.s.", + "status": "Operational", + "bands": "LTE 1800 / TD-LTE 3500 / TD-LTE 3700 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Slovakia", + "countryCode": "SK", + "mcc": "231", + "mnc": "04", + "brand": "Telekom", + "operator": "Slovak Telekom", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": "Former T-Mobile" + }, + { + "type": "National", + "countryName": "Slovakia", + "countryCode": "SK", + "mcc": "231", + "mnc": "05", + "brand": "Orange", + "operator": "Orange Slovensko", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Slovakia", + "countryCode": "SK", + "mcc": "231", + "mnc": "06", + "brand": "O2", + "operator": "O2 Slovakia", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / TD-LTE 3500 / TD-LTE 3700 / 5G 3500", + "notes": "Former Telefónica O2 Slovakia" + }, + { + "type": "National", + "countryName": "Slovakia", + "countryCode": "SK", + "mcc": "231", + "mnc": "07", + "brand": "Orange", + "operator": "Orange Slovensko", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Towercom" + }, + { + "type": "National", + "countryName": "Slovakia", + "countryCode": "SK", + "mcc": "231", + "mnc": "08", + "brand": "Unimobile", + "operator": "Uniphone, s.r.o.", + "status": "Testing", + "bands": "MVNO", + "notes": "Former IPfon, s.r.o." + }, + { + "type": "National", + "countryName": "Slovakia", + "countryCode": "SK", + "mcc": "231", + "mnc": "09", + "brand": null, + "operator": "DSI DATA, a.s.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Slovakia", + "countryCode": "SK", + "mcc": "231", + "mnc": "10", + "brand": null, + "operator": "HMZ RÁDIOKOMUNIKÁCIE, spol. s r.o.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Slovakia", + "countryCode": "SK", + "mcc": "231", + "mnc": "50", + "brand": "Telekom", + "operator": "Slovak Telekom", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Slovakia", + "countryCode": "SK", + "mcc": "231", + "mnc": "99", + "brand": "ŽSR", + "operator": "Železnice Slovenskej Republiky", + "status": "Operational", + "bands": "GSM-R", + "notes": "Railway communication and signalling" + }, + { + "type": "National", + "countryName": "Slovenia", + "countryCode": "SI", + "mcc": "293", + "mnc": "10", + "brand": null, + "operator": "SŽ - Infrastruktura, d.o.o.", + "status": "Operational", + "bands": "GSM-R", + "notes": null + }, + { + "type": "National", + "countryName": "Slovenia", + "countryCode": "SI", + "mcc": "293", + "mnc": "11", + "brand": null, + "operator": "BeeIN d.o.o.", + "status": "Unknown", + "bands": "5G 700", + "notes": null + }, + { + "type": "National", + "countryName": "Slovenia", + "countryCode": "SI", + "mcc": "293", + "mnc": "20", + "brand": null, + "operator": "COMPATEL Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Slovenia", + "countryCode": "SI", + "mcc": "293", + "mnc": "21", + "brand": null, + "operator": "NOVATEL d.o.o.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Slovenia", + "countryCode": "SI", + "mcc": "293", + "mnc": "22", + "brand": null, + "operator": "Mobile One Ltd.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Slovenia", + "countryCode": "SI", + "mcc": "293", + "mnc": "40", + "brand": "A1 SI", + "operator": "A1 Slovenija", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 3500", + "notes": "Former Si.mobil" + }, + { + "type": "National", + "countryName": "Slovenia", + "countryCode": "SI", + "mcc": "293", + "mnc": "41", + "brand": "Mobitel", + "operator": "Telekom Slovenije", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 700 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 2600 / 5G 3600", + "notes": "Used by IPKO network" + }, + { + "type": "National", + "countryName": "Slovenia", + "countryCode": "SI", + "mcc": "293", + "mnc": "64", + "brand": "T-2", + "operator": "T-2 d.o.o.", + "status": "Operational", + "bands": "UMTS 2100 / LTE 2100 / 5G 3600", + "notes": null + }, + { + "type": "National", + "countryName": "Slovenia", + "countryCode": "SI", + "mcc": "293", + "mnc": "70", + "brand": "Telemach", + "operator": "Tušmobil d.o.o.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 800 / LTE 1800 / LTE 2100 / 5G 700 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Slovenia", + "countryCode": "SI", + "mcc": "293", + "mnc": "86", + "brand": null, + "operator": "ELEKTRO GORENJSKA, d.d", + "status": "Unknown", + "bands": "LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "01", + "brand": "Vodafone", + "operator": "Vodafone Spain", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / TD-LTE 2600 / 5G 700 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "02", + "brand": "Fibracat", + "operator": "Fibracat Telecom SLU", + "status": "Operational", + "bands": "TD-LTE 2600", + "notes": "Some MVNO use this MNC (Fibracat, Altecom, Aircom, Anxanet, Netports)" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "03", + "brand": "Orange", + "operator": "Orange Espagne S.A.U", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 3500", + "notes": "Also use MNC 33; Some MVNO use this MNC (Hualong, The Phone House Spain, CABLE movil, SUOP)" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "04", + "brand": "Yoigo", + "operator": "Xfera Moviles SA", + "status": "Operational", + "bands": "LTE 1800 / LTE 2100 / 5G 3500", + "notes": "Acquired by Grupo MÁSMÓVIL; used by MÁSMÓVIL, Yoigo, Pepephone, Euskaltel, móbilR, TeleCable and LlamaYa; roams on Orange always for 2G/3G and 4G where there is no Yoigo coverage" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "05", + "brand": "Movistar", + "operator": "Telefónica Móviles España", + "status": "Operational", + "bands": "MVNO", + "notes": "Used by resellers" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "06", + "brand": "Vodafone", + "operator": "Vodafone Spain", + "status": "Operational", + "bands": "MVNO", + "notes": "Used by resellers (e.g. Lowi - Vodafone's own low cost virtual operator, Lebara, Hits)" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "07", + "brand": "Movistar", + "operator": "Telefónica Móviles España", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 1800 / 5G 2100 / 5G 3500 / 5G 26000", + "notes": "Used by Movistar and O₂ Spain - Movistar's own low cost virtual operator; UMTS to shut down 2025" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "08", + "brand": "Euskaltel", + "operator": null, + "status": "Operational", + "bands": "MVNO", + "notes": "Acquired by Grupo MÁSMÓVIL; Some MVNO use this MNC (RACC)" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "09", + "brand": "Orange", + "operator": "Orange Espagne S.A.U", + "status": "Operational", + "bands": "MVNO", + "notes": "Used by resellers" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "10", + "brand": null, + "operator": "ZINNIA TELECOMUNICACIONES, S.L.U.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Operadora de Telecomunicaciones Opera SL" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "11", + "brand": null, + "operator": "TELECOM CASTILLA-LA MANCHA, S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Orange (Orange Espagne S.A.U)" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "12", + "brand": null, + "operator": "VENUS MOVIL, S.L. UNIPERSONAL", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Contacta Servicios Avanzados de Telecomunicaciones SL; SAC CONVERGENT AGGREGATION SERVICES" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "13", + "brand": null, + "operator": "SYMA MOBILE ESPAÑA, S.L.", + "status": "Not operational", + "bands": "MVNO", + "notes": "Former Incotel Ingeniera y Consultaria; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "14", + "brand": null, + "operator": "AVATEL MÓVIL, S.L.U.", + "status": "Operational", + "bands": "WiMAX", + "notes": "Former Incotel Servicioz Avanzados SL" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "15", + "brand": "BT", + "operator": "BT Group España Compañia de Servicios Globales de Telecomunicaciones S.A.U.", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "16", + "brand": "TeleCable", + "operator": "R Cable y Telecomunicaciones Galicia S.A.", + "status": "Operational", + "bands": "MVNO", + "notes": "Acquired by Euskaltel" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "17", + "brand": "Móbil R", + "operator": "R Cable y Telecomunicaciones Galicia S.A.", + "status": "Operational", + "bands": "MVNO / 5G", + "notes": "Acquired by Euskaltel; 5G for fixed wireless" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "18", + "brand": "ONO", + "operator": "Vodafone Spain", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn; acquired by Vodafone" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "19", + "brand": "Simyo", + "operator": "Orange España Virtual Sl.", + "status": "Operational", + "bands": "MVNO", + "notes": "Acquired by Orange" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "20", + "brand": "Fonyou", + "operator": "Fonyou Telecom S.L.", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "21", + "brand": "Jazztel", + "operator": "Orange Espagne S.A.U.", + "status": "Not operational", + "bands": "MVNO", + "notes": "Acquired by Orange in 2014; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "22", + "brand": "DIGI mobil", + "operator": "Best Spain Telecom", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "23", + "brand": null, + "operator": "Xfera Moviles S.A.U.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "24", + "brand": null, + "operator": "VODAFONE ESPAÑA, S.A.U.", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Eroski Móvil España, acquired by Vodafone in Feb 2018; some MVNOs use this MNC (Orbitel, Vizzavi)" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "25", + "brand": null, + "operator": "Xfera Moviles S.A.U.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Lycamobile" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "26", + "brand": null, + "operator": "Lleida Networks Serveis Telemátics, SL", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "27", + "brand": "Truphone", + "operator": "SCN Truphone, S.L.", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "28", + "brand": "Murcia4G", + "operator": "Consorcio de Telecomunicaciones Avanzadas, S.A.", + "status": "Operational", + "bands": "TD-LTE 2600", + "notes": "LTE band 38" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "29", + "brand": null, + "operator": "Xfera Moviles S.A.U.", + "status": "Operational", + "bands": "TD-LTE 3500", + "notes": "Former NEO-SKY 2002, S.A." + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "30", + "brand": null, + "operator": "Compatel Limited", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "31", + "brand": null, + "operator": "Red Digital De Telecomunicaciones de las Islas Baleares, S.L.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "32", + "brand": "Tuenti", + "operator": "Telefónica Móviles España", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn, replaced by MNC 05" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "33", + "brand": null, + "operator": "Xfera Móviles, S.A.U.", + "status": "Not operational", + "bands": "WiMAX", + "notes": "Former Eurona Wireless Telecom; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "34", + "brand": null, + "operator": "Aire Networks del Mediterráneo, S.L.U.", + "status": "Operational", + "bands": "LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "35", + "brand": null, + "operator": "INGENIUM OUTSOURCING SERVICES, S.L.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "36", + "brand": null, + "operator": "ALAI OPERADOR DE TELECOMUNICACIONES, S.L", + "status": "Unknown", + "bands": "MVNO", + "notes": "Former OPEN CABLE TELECOMUNICACIONES, S.L." + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "37", + "brand": null, + "operator": "Vodafone Spain", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "38", + "brand": null, + "operator": "Telefónica Móviles España, S.A.U.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "51", + "brand": "ADIF", + "operator": "Administrador de Infraestructuras Ferroviarias", + "status": "Operational", + "bands": "GSM-R", + "notes": null + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "700", + "brand": null, + "operator": "Iberdrola", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Spain", + "countryCode": "ES", + "mcc": "214", + "mnc": "701", + "brand": null, + "operator": "Endesa", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "01", + "brand": "Telia", + "operator": "Telia Sverige AB", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / LTE 800 / LTE 1800 / LTE 2600 / 5G 700", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "02", + "brand": "3", + "operator": "HI3G Access AB", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 800 / LTE 2600 / TD-LTE 2600 / TD-5G 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "03", + "brand": "Net 1", + "operator": "Teracom AB", + "status": "Operational", + "bands": "LTE 450", + "notes": "Former Nordisk Mobiltelefon, Ice.net; CDMA 450 shut down" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "04", + "brand": "SWEDEN", + "operator": "3G Infrastructure Services AB", + "status": "Operational", + "bands": "UMTS 2100", + "notes": "Owned by Hi3G Access (3) and Telenor. Not available in major cities since the owners operate their own city networks." + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "05", + "brand": "Sweden 3G", + "operator": "Svenska UMTS-Nät AB", + "status": "Operational", + "bands": "UMTS 2100", + "notes": "Owned by Telia and Tele2. Available all over Sweden." + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "06", + "brand": "Telenor", + "operator": "Telenor Sverige AB", + "status": "Operational", + "bands": "UMTS 2100", + "notes": "Former Vodafone Sweden" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "07", + "brand": "Tele2", + "operator": "Tele2 Sverige AB", + "status": "Operational", + "bands": "UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600", + "notes": "MOCN r6 network" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "08", + "brand": "Telenor", + "operator": "Telenor Sverige AB", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Merged with Tele2 into Net4Mobility" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "09", + "brand": "Com4", + "operator": "Communication for Devices in Sweden AB", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former djuice (Telenor MVNO)" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "10", + "brand": "Spring Mobil", + "operator": "Tele2 Sverige AB", + "status": "Operational", + "bands": null, + "notes": "Only used on femto- and nanocells" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "11", + "brand": null, + "operator": "ComHem AB", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Lindholmen Science Park AB" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "12", + "brand": "Lycamobile", + "operator": "Lycamobile Sweden Limited", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "13", + "brand": null, + "operator": "Bredband2 Företag AB", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Alltele Företag Sverige AB, A3 Företag AB" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "14", + "brand": null, + "operator": "Tele2 Sverige AB", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former TDC Sverige AB (MVNO)" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "15", + "brand": null, + "operator": "Sierra Wireless Sweden AB", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Wireless Maingate Nordic AB" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "16", + "brand": null, + "operator": "42 Telecom AB", + "status": "Operational", + "bands": "GSM", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "17", + "brand": "Gotanet", + "operator": "Götalandsnätet AB", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "18", + "brand": null, + "operator": "Generic Mobile Systems Sweden AB", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "19", + "brand": "Vectone Mobile", + "operator": "Mundio Mobile (Sweden) Limited", + "status": "Operational", + "bands": "MVNO", + "notes": "MVNO in Telia's network" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "20", + "brand": null, + "operator": "Sierra Wireless Messaging AB", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Wireless Maingate Messaging Services AB" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "21", + "brand": "MobiSir", + "operator": "Trafikverket ICT", + "status": "Operational", + "bands": "GSM-R 900", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "22", + "brand": null, + "operator": "EuTel AB", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "23", + "brand": null, + "operator": "Infobip Limited (UK)", + "status": "Not operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "24", + "brand": "Sweden 2G", + "operator": "Net4Mobility HB", + "status": "Operational", + "bands": "GSM 900 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": "LTE1800 only available in major cities; owned by Telenor and Tele2." + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "25", + "brand": null, + "operator": "Monty UK Global Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Digitel Mobile Srl" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "26", + "brand": null, + "operator": "Twilio Sweden AB", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Beepsend AB" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "27", + "brand": null, + "operator": "GlobeTouch AB", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Fogg Mobile AB; M2M services only" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "28", + "brand": null, + "operator": "LINK Mobile A/S", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former CoolTEL Aps; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "29", + "brand": null, + "operator": "Mercury International Carrier Services AB", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "30", + "brand": null, + "operator": "NextGen Mobile Ltd.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "31", + "brand": null, + "operator": "RebTel Network AB", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former Mobimax AB; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "32", + "brand": null, + "operator": "Compatel Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "33", + "brand": null, + "operator": "Mobile Arts AB", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "34", + "brand": null, + "operator": "Trafikverket centralfunktion IT", + "status": "Unknown", + "bands": "Unknown", + "notes": "Formerly Tigo, Pro Net;" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "35", + "brand": null, + "operator": "42 Telecom LTD", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "36", + "brand": null, + "operator": "interactive digital media GmbH", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "37", + "brand": null, + "operator": "Sinch Sweden AB", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former CLX Networks AB" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "38", + "brand": "Voxbone", + "operator": "Voxbone mobile", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "39", + "brand": null, + "operator": "Primlight AB", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former iCentrex Sweden AB, Borderlight AB" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "40", + "brand": null, + "operator": "Netmore Group AB", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former ReWiCom Scandinavia AB, North net connect AB" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "41", + "brand": null, + "operator": "Telenor Sverige AB", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Shyam Telecom UK" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "42", + "brand": null, + "operator": "Telenor Connexion AB", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "43", + "brand": null, + "operator": "MobiWeb Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "44", + "brand": null, + "operator": "Telenabler AB", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Limitless Mobile AB" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "45", + "brand": null, + "operator": "Spirius AB", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "46", + "brand": "Viahub", + "operator": "SMS Provider Corp.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "47", + "brand": null, + "operator": "Viatel Sweden AB", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "48", + "brand": null, + "operator": "Tismi BV", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "49", + "brand": null, + "operator": "Telia Sverige AB", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "60", + "brand": null, + "operator": "Västra Götalandsregionen", + "status": "Unknown", + "bands": "Unknown", + "notes": "Temporary assigned until 31 December 2026; former Telefonaktiebolaget LM Ericsson" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "61", + "brand": null, + "operator": "MessageBird B.V.", + "status": "Not operational", + "bands": "Unknown", + "notes": "temporary license until 3 November 2019" + }, + { + "type": "National", + "countryName": "Sweden", + "countryCode": "SE", + "mcc": "240", + "mnc": "63", + "brand": "FTS", + "operator": "Fink Telecom Services", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "01", + "brand": "Swisscom", + "operator": "Swisscom AG", + "status": "Operational", + "bands": "UMTS 900 / LTE 700 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 2100 / 5G 3500", + "notes": "UMTS 2100 shut down Nov 2019, GSM April 2021; UMTS 900 shutdown planned for 2024" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "02", + "brand": "Sunrise", + "operator": "Sunrise UPC", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 3500", + "notes": "GSM shut down Jan 2023" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "03", + "brand": "Salt", + "operator": "Salt Mobile SA", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 3500", + "notes": "Former Orange; GSM shut down June 2020" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "05", + "brand": null, + "operator": "Comfone AG", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former Togewanet AG" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "06", + "brand": "SBB-CFF-FFS", + "operator": "SBB AG", + "status": "Operational", + "bands": "GSM-R 900", + "notes": "railways communication" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "07", + "brand": "IN&Phone", + "operator": "IN&Phone SA", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "MNC withdrawn, bankrupt in 2012" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "08", + "brand": "Tele4u", + "operator": "Sunrise Communications AG", + "status": "Operational", + "bands": "GSM 1800", + "notes": "Former Tele2" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "09", + "brand": null, + "operator": "Comfone AG", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "10", + "brand": null, + "operator": "Stadt Polizei Zürich", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "11", + "brand": null, + "operator": "Swisscom Broadcast AG", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "12", + "brand": "Sunrise", + "operator": "Sunrise Communications AG", + "status": "Not operational", + "bands": null, + "notes": null + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "50", + "brand": null, + "operator": "3G Mobile AG", + "status": "Not operational", + "bands": "UMTS 2100", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "51", + "brand": null, + "operator": "relario AG", + "status": "Operational", + "bands": "MVNO", + "notes": "Former BebbiCell AG" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "52", + "brand": "Barablu", + "operator": "Barablu", + "status": "Not operational", + "bands": null, + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "53", + "brand": "upc cablecom", + "operator": "Sunrise UPC GmbH", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "54", + "brand": "Lycamobile", + "operator": "Lycamobile AG", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "55", + "brand": null, + "operator": "WeMobile SA", + "status": "Unknown", + "bands": null, + "notes": "SMS relay only" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "56", + "brand": null, + "operator": "SMSRelay AG", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "57", + "brand": null, + "operator": "Mitto AG", + "status": "Unknown", + "bands": null, + "notes": "SMS relay only" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "58", + "brand": "beeone", + "operator": "Beeone Communications SA", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "59", + "brand": "Vectone", + "operator": "Mundio Mobile Limited", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "60", + "brand": "Sunrise", + "operator": "Sunrise Communications AG", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former network sharing test with Salt Mobile" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "61", + "brand": null, + "operator": "Compatel Ltd.", + "status": "Not operational", + "bands": null, + "notes": "SMS relay only; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "62", + "brand": null, + "operator": "Telecom26 AG", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "63", + "brand": "FTS", + "operator": "Fink Telecom Services", + "status": "Operational", + "bands": "Unknown", + "notes": "SMS relay only" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "64", + "brand": null, + "operator": "Nth AG", + "status": "Operational", + "bands": "MVNO", + "notes": "Mobile payment solutions" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "65", + "brand": null, + "operator": "Nexphone AG", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "66", + "brand": null, + "operator": "Inovia Services SA", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "67", + "brand": null, + "operator": "Datatrade Managed AG", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "68", + "brand": null, + "operator": "Intellico AG", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "69", + "brand": null, + "operator": "MTEL Schweiz GmbH", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "70", + "brand": null, + "operator": "Tismi BV", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "98", + "brand": null, + "operator": "Etablissement Cantonal d'Assurance", + "status": "Unknown", + "bands": "Unknown", + "notes": "Pilot project" + }, + { + "type": "National", + "countryName": "Switzerland", + "countryCode": "CH", + "mcc": "228", + "mnc": "99", + "brand": null, + "operator": "Swisscom Broadcast AG", + "status": "Not operational", + "bands": null, + "notes": "Test network; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Turkey", + "countryCode": "TR", + "mcc": "286", + "mnc": "01", + "brand": "Turkcell", + "operator": "Turkcell Iletisim Hizmetleri A.S.", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Turkey", + "countryCode": "TR", + "mcc": "286", + "mnc": "02", + "brand": "Vodafone", + "operator": "Vodafone Turkey", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / TD-LTE 2600", + "notes": "Formerly known as Telsim" + }, + { + "type": "National", + "countryName": "Turkey", + "countryCode": "TR", + "mcc": "286", + "mnc": "03", + "brand": "Türk Telekom", + "operator": "Türk Telekom", + "status": "Operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600 / TD-LTE 2600", + "notes": "Former Aria, merged with Aycell to form Avea" + }, + { + "type": "National", + "countryName": "Turkey", + "countryCode": "TR", + "mcc": "286", + "mnc": "04", + "brand": "Aycell", + "operator": "Aycell", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Merged into Aria to form Avea" + }, + { + "type": "National", + "countryName": "Ukraine", + "countryCode": "UA", + "mcc": "255", + "mnc": "01", + "brand": "Vodafone", + "operator": "PRJSC \"VF Ukraine\"", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2600", + "notes": "Former UMC, MTS; CDMA 450 shut down June 2018" + }, + { + "type": "National", + "countryName": "Ukraine", + "countryCode": "UA", + "mcc": "255", + "mnc": "02", + "brand": "Kyivstar", + "operator": "PRJSC \"Kyivstar\"", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2600", + "notes": "Former Beeline, WellCOM, URS; taken over by Kyivstar" + }, + { + "type": "National", + "countryName": "Ukraine", + "countryCode": "UA", + "mcc": "255", + "mnc": "03", + "brand": "Kyivstar", + "operator": "PRJSC \"Kyivstar\"", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / TD-LTE 2300 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Ukraine", + "countryCode": "UA", + "mcc": "255", + "mnc": "04", + "brand": "Intertelecom", + "operator": "Intertelecom LLC", + "status": "Operational", + "bands": "CDMA 800", + "notes": null + }, + { + "type": "National", + "countryName": "Ukraine", + "countryCode": "UA", + "mcc": "255", + "mnc": "05", + "brand": "Kyivstar", + "operator": "PRJSC \"Kyivstar\"", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Former Golden Telecom; taken over by Kyivstar; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Ukraine", + "countryCode": "UA", + "mcc": "255", + "mnc": "06", + "brand": "lifecell", + "operator": "lifecell LLC", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2600", + "notes": "Former life:) / Astelit" + }, + { + "type": "National", + "countryName": "Ukraine", + "countryCode": "UA", + "mcc": "255", + "mnc": "07", + "brand": "3Mob; Lycamobile", + "operator": "Trimob LLC", + "status": "Operational", + "bands": "UMTS 2100", + "notes": "Former Utel, GSM / UMTS roaming with Vodafone" + }, + { + "type": "National", + "countryName": "Ukraine", + "countryCode": "UA", + "mcc": "255", + "mnc": "08", + "brand": null, + "operator": "JSC Ukrtelecom", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC assigned in 2019 for 2 years" + }, + { + "type": "National", + "countryName": "Ukraine", + "countryCode": "UA", + "mcc": "255", + "mnc": "09", + "brand": null, + "operator": "PRJSC \"Farlep-Invest\"", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC assigned in 2019 for 2 years; part of Vega Telecommunications Group" + }, + { + "type": "National", + "countryName": "Ukraine", + "countryCode": "UA", + "mcc": "255", + "mnc": "10", + "brand": null, + "operator": "Atlantis Telecom LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Ukraine", + "countryCode": "UA", + "mcc": "255", + "mnc": "21", + "brand": "PEOPLEnet", + "operator": "PRJSC \"Telesystems of Ukraine\"", + "status": "Operational", + "bands": "CDMA 800", + "notes": null + }, + { + "type": "National", + "countryName": "Ukraine", + "countryCode": "UA", + "mcc": "255", + "mnc": "23", + "brand": "CDMA Ukraine", + "operator": "Intertelecom LLC", + "status": "Not operational", + "bands": "CDMA 800", + "notes": "Taken over by Intertelecom; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Ukraine", + "countryCode": "UA", + "mcc": "255", + "mnc": "25", + "brand": "NEWTONE", + "operator": "PRJSC \"Telesystems of Ukraine\"", + "status": "Not operational", + "bands": "CDMA 800", + "notes": "Taken over by PEOPLEnet; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Ukraine", + "countryCode": "UA", + "mcc": "255", + "mnc": "701", + "brand": null, + "operator": "Ukrainian Special Systems", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Ukraine", + "countryCode": "UA", + "mcc": "255", + "mnc": "99", + "brand": "Phoenix; MKS (ex. Lugacom)", + "operator": "State Unitary Enterprise of DPR \"Republican Telecommunications Operator\"; OOO \"MKS\"", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600", + "notes": "\"Donetsk People's Republic\" and \"Luhansk People's Republic\" only; MNC not officially assigned. Moved to Russia's MCC shortly after the annexation of Donetsk, Luhansk, Kherson and Zaporizhzhia oblasts." + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "00", + "brand": "BT", + "operator": "BT Group", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "01", + "brand": "Vectone Mobile", + "operator": "Mundio Mobile Limited", + "status": "Operational", + "bands": "MVNO", + "notes": "Previously Mapesbury Communications Ltd.; uses EE network" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "02", + "brand": "O2 (UK)", + "operator": "Telefónica Europe", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300 / 5G 700 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "03", + "brand": "Airtel-Vodafone", + "operator": "Jersey Airtel Ltd", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": "Guernsey, Jersey" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "04", + "brand": "FMS Solutions Ltd", + "operator": "FMS Solutions Ltd", + "status": "Reserved", + "bands": "GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "05", + "brand": null, + "operator": "Spitfire Network Services Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former COLT Mobile Telecommunications Ltd." + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "06", + "brand": null, + "operator": "Internet Computer Bureau Limited", + "status": "Not operational", + "bands": null, + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "07", + "brand": "Vodafone UK", + "operator": "Vodafone", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Former Cable & Wireless Worldwide; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "08", + "brand": "BT OnePhone", + "operator": "BT OnePhone (UK) Ltd", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses the EE Network" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "09", + "brand": null, + "operator": "Tismi BV", + "status": "Unknown", + "bands": null, + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "10", + "brand": "O2 (UK)", + "operator": "Telefónica Europe", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300 / 5G 700 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "11", + "brand": "O2 (UK)", + "operator": "Telefónica Europe", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300 / 5G 700 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "12", + "brand": "Railtrack", + "operator": "Network Rail Infrastructure Ltd", + "status": "Operational", + "bands": "GSM-R", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "13", + "brand": "Railtrack", + "operator": "Network Rail Infrastructure Ltd", + "status": "Operational", + "bands": "GSM-R", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "14", + "brand": null, + "operator": "Link Mobility UK Ltd", + "status": "Operational", + "bands": "GSM 1800", + "notes": "Former Hay Systems Ltd" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "15", + "brand": "Vodafone UK", + "operator": "Vodafone", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / TD-LTE 2600 / 5G 900 / 5G 2100 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "16", + "brand": "Talk Talk", + "operator": "TalkTalk Communications Limited", + "status": "Operational", + "bands": "MVNO", + "notes": "Formerly Opal Tel Ltd; uses Vodafone network" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "17", + "brand": null, + "operator": "FleXtel Limited", + "status": "Not operational", + "bands": null, + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "18", + "brand": "Cloud9", + "operator": "Wireless Logic Limited", + "status": "Operational", + "bands": "MVNO", + "notes": "Isle of Man network shut down" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "19", + "brand": "PMN", + "operator": "Teleware plc", + "status": "Operational", + "bands": "GSM 1800", + "notes": "Private GSM; roaming with Vodafone" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "20", + "brand": "3", + "operator": "Hutchison 3G UK Ltd", + "status": "Operational", + "bands": "UMTS 2100 / LTE 800 / LTE 1500 / LTE 1800 / LTE 2100 / 5G 3500", + "notes": "National roaming with Orange (UK)'s 2G network" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "21", + "brand": null, + "operator": "LogicStar Ltd", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "22", + "brand": null, + "operator": "Telesign Mobile Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Routo Telecommunications Limited" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "23", + "brand": null, + "operator": "Icron Network Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "24", + "brand": "Greenfone", + "operator": "Stour Marine Limited", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses Stour Marine network" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "25", + "brand": "Truphone", + "operator": "Truphone", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses Vodafone network" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "26", + "brand": "Lycamobile", + "operator": "Lycamobile UK Limited", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses O2 Network / Telefónica Europe" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "27", + "brand": "Teleena", + "operator": "Tata Communications Move UK Ltd", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "28", + "brand": null, + "operator": "Marathon Telecom Limited", + "status": "Operational", + "bands": "MVNO", + "notes": "Holds unused spectrum in Jersey" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "29", + "brand": "aql", + "operator": "(aq) Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "30", + "brand": "EE", + "operator": "EE", + "status": "Operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 1800 / 5G 2100 / 5G 2600 / / 5G 3500", + "notes": "Previously owned by Deutsche Telekom; used by MVNOs Asda Mobile & Virgin Mobile" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "31", + "brand": "EE", + "operator": "EE", + "status": "Allocated", + "bands": "GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 1800 / 5G 2100 / 5G 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "32", + "brand": "EE", + "operator": "EE", + "status": "Allocated", + "bands": "GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 1800 / 5G 2100 / 5G 2600 / / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "33", + "brand": "EE", + "operator": "EE", + "status": "Operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 1800 / 5G 2100 / 5G 2600 / / 5G 3500", + "notes": "Previously owned by Orange S.A." + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "34", + "brand": "EE", + "operator": "EE", + "status": "Operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 1800 / 5G 2100 / 5G 2600 / / 5G 3500", + "notes": "Previously owned by Orange S.A." + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "35", + "brand": null, + "operator": "JSC Ingenium (UK) Limited", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "36", + "brand": "Sure Mobile", + "operator": "Sure Isle of Man Ltd.", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100", + "notes": "Isle of Man; former Cable & Wireless" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "37", + "brand": null, + "operator": "Synectiv Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "38", + "brand": "Virgin Mobile", + "operator": "Virgin Media", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "39", + "brand": null, + "operator": "Gamma Telecom Holdings Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former SSE Energy Supply Limited" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "40", + "brand": null, + "operator": "Mass Response Service GmbH", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "50", + "brand": "JT", + "operator": "JT Group Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": "Guernsey, Jersey; former Wave Telecom" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "51", + "brand": "Relish", + "operator": "UK Broadband Limited", + "status": "Operational", + "bands": "TD-LTE 3500 / TD-LTE 3700", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "52", + "brand": null, + "operator": "Shyam Telecom UK Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "53", + "brand": "Mobile-X", + "operator": "Tango Networks UK Ltd", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Limitless Mobile" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "54", + "brand": "iD Mobile", + "operator": "The Carphone Warehouse Limited", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses Three UK" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "55", + "brand": "Sure Mobile", + "operator": "Sure (Guernsey) Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": "Guernsey, Jersey; former Cable & Wireless" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "56", + "brand": null, + "operator": "National Cyber Security Centre", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former CESG" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "57", + "brand": null, + "operator": "Sky UK Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "58", + "brand": "Pronto GSM", + "operator": "Manx Telecom", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": "Isle of Man" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "59", + "brand": null, + "operator": "Limitless Mobile Ltd", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "70", + "brand": null, + "operator": "AMSUK Ltd.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "71", + "brand": null, + "operator": "Home Office", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "72", + "brand": "Hanhaa Mobile", + "operator": "Hanhaa Limited", + "status": "Operational", + "bands": "MVNO", + "notes": "M2M applications" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "73", + "brand": null, + "operator": "Bluewave Communications Ltd", + "status": "Operational", + "bands": "TD-LTE 3500", + "notes": "Isle of Man" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "74", + "brand": null, + "operator": "Pareteum Europe B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "75", + "brand": null, + "operator": "Mass Response Service GmbH", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "76", + "brand": "BT", + "operator": "BT Group", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "77", + "brand": "Vodafone UK", + "operator": "Vodafone United Kingdom", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "78", + "brand": "Airwave", + "operator": "Airwave Solutions Ltd", + "status": "Operational", + "bands": "TETRA", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "79", + "brand": "UKTL", + "operator": "UK Telecoms Lab", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "86", + "brand": null, + "operator": "EE", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "234", + "mnc": "88", + "brand": "telet", + "operator": "Telet Research (N.I.) Limited", + "status": "Operational", + "bands": "GSM 1800/LTE 1800/ LTE 2600/ 5G 2600/ 5G 3800", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "235", + "mnc": "00", + "brand": "Vectone Mobile", + "operator": "Mundio Mobile Limited", + "status": "Unknown", + "bands": null, + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "235", + "mnc": "01", + "brand": null, + "operator": "EE", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "235", + "mnc": "02", + "brand": null, + "operator": "EE", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "235", + "mnc": "03", + "brand": "Relish", + "operator": "UK Broadband Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "235", + "mnc": "04", + "brand": null, + "operator": "University of Strathclyde", + "status": "Unknown", + "bands": "5G", + "notes": "for more info, see StrathSDR" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "235", + "mnc": "06", + "brand": null, + "operator": "University of Strathclyde", + "status": "Unknown", + "bands": "5G", + "notes": "for more info, see StrathSDR" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "235", + "mnc": "07", + "brand": null, + "operator": "University of Strathclyde", + "status": "Unknown", + "bands": "5G", + "notes": "for more info, see StrathSDR" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "235", + "mnc": "08", + "brand": null, + "operator": "Spitfire Network Services Limited", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "235", + "mnc": "77", + "brand": "BT", + "operator": "BT Group", + "status": "Unknown", + "bands": null, + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "235", + "mnc": "88", + "brand": "telet", + "operator": "Telet Research (N.I.) Limited", + "status": "Operational", + "bands": "LTE / 5G", + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "235", + "mnc": "91", + "brand": "Vodafone UK", + "operator": "Vodafone United Kingdom", + "status": "Unknown", + "bands": null, + "notes": "Spitfire Network Services Limited" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "235", + "mnc": "92", + "brand": "Vodafone UK", + "operator": "Vodafone United Kingdom", + "status": "Not operational", + "bands": null, + "notes": "Former Cable & Wireless UK; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "235", + "mnc": "94", + "brand": null, + "operator": "Hutchison 3G UK Ltd", + "status": "Unknown", + "bands": null, + "notes": null + }, + { + "type": "National", + "countryName": "United Kingdom", + "countryCode": "GB", + "mcc": "235", + "mnc": "95", + "brand": null, + "operator": "Network Rail Infrastructure Limited", + "status": "Test Network", + "bands": "GSM-R", + "notes": null + }, + { + "type": "National", + "countryName": "Anguilla (United Kingdom)", + "countryCode": "AI", + "mcc": "365", + "mnc": "010", + "brand": null, + "operator": "Digicel", + "status": "Operational", + "bands": "GSM 850 / UMTS 850 / UMTS 1900 / LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Anguilla (United Kingdom)", + "countryCode": "AI", + "mcc": "365", + "mnc": "840", + "brand": "FLOW", + "operator": "Cable & Wireless", + "status": "Operational", + "bands": "GSM 850 / UMTS 850 / UMTS 1900 / LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Antigua and Barbuda", + "countryCode": "AG", + "mcc": "344", + "mnc": "030", + "brand": "APUA", + "operator": "Antigua Public Utilities Authority", + "status": "Operational", + "bands": "GSM 1900", + "notes": null + }, + { + "type": "National", + "countryName": "Antigua and Barbuda", + "countryCode": "AG", + "mcc": "344", + "mnc": "050", + "brand": "Digicel", + "operator": "Antigua Wireless Ventures Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1900 / UMTS 850 / LTE 700", + "notes": "LTE band 17" + }, + { + "type": "National", + "countryName": "Antigua and Barbuda", + "countryCode": "AG", + "mcc": "344", + "mnc": "920", + "brand": "FLOW", + "operator": "Cable & Wireless Caribbean Cellular (Antigua) Limited", + "status": "Operational", + "bands": "GSM 850 / GSM 1800 / GSM 1900 / UMTS 850 / LTE 1700", + "notes": null + }, + { + "type": "National", + "countryName": "Antigua and Barbuda", + "countryCode": "AG", + "mcc": "344", + "mnc": "930", + "brand": null, + "operator": "AT&T Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Aruba (Kingdom of the Netherlands)", + "countryCode": "AW", + "mcc": "363", + "mnc": "01", + "brand": "SETAR", + "operator": "Servicio di Telecomunicacion di Aruba", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / GSM 1900 / UMTS 2100 / LTE 1800 / TDMA 800", + "notes": null + }, + { + "type": "National", + "countryName": "Aruba (Kingdom of the Netherlands)", + "countryCode": "AW", + "mcc": "363", + "mnc": "02", + "brand": "Digicel", + "operator": "Digicel Aruba", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Bahamas", + "countryCode": "BS", + "mcc": "364", + "mnc": "39", + "brand": "BTC", + "operator": "The Bahamas Telecommunications Company Ltd (BaTelCo)", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / LTE 700 / LTE 1700", + "notes": "LTE band 17 and 4" + }, + { + "type": "National", + "countryName": "Bahamas", + "countryCode": "BS", + "mcc": "364", + "mnc": "49", + "brand": "Aliv", + "operator": "Cable Bahamas Ltd", + "status": "Operational", + "bands": "UMTS 850 / LTE 700 / LTE 1700", + "notes": "Former NewCo2015; LTE bands 13 and 4; license also covers Band 2" + }, + { + "type": "National", + "countryName": "Barbados", + "countryCode": "BB", + "mcc": "342", + "mnc": "600", + "brand": "FLOW", + "operator": "LIME (formerly known as Cable & Wireless)", + "status": "Operational", + "bands": "GSM 1900 / UMTS 850 / LTE 850 / LTE 1900", + "notes": "LTE bands 5 / 2" + }, + { + "type": "National", + "countryName": "Barbados", + "countryCode": "BB", + "mcc": "342", + "mnc": "646", + "brand": null, + "operator": "KW Telecommunications Inc.", + "status": "Not operational", + "bands": "LTE 700", + "notes": "LTE band 13" + }, + { + "type": "National", + "countryName": "Barbados", + "countryCode": "BB", + "mcc": "342", + "mnc": "750", + "brand": "Digicel", + "operator": "Digicel (Barbados) Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 1900", + "notes": "LTE bands 17 / 2" + }, + { + "type": "National", + "countryName": "Barbados", + "countryCode": "BB", + "mcc": "342", + "mnc": "800", + "brand": "Ozone", + "operator": "Ozone Wireless Inc.", + "status": "Not operational", + "bands": "LTE 700", + "notes": "LTE band 13; MNC withdrawn; shut down July 2019" + }, + { + "type": "National", + "countryName": "Barbados", + "countryCode": "BB", + "mcc": "342", + "mnc": "820", + "brand": null, + "operator": "Neptune Communications Inc.", + "status": "Not operational", + "bands": "LTE 700", + "notes": "LTE band 14; former Sunbeach Communications" + }, + { + "type": "National", + "countryName": "Bermuda", + "countryCode": "BM", + "mcc": "310", + "mnc": "59", + "brand": "Cellular One", + "operator": null, + "status": "Operational", + "bands": "CDMA", + "notes": "uses USA MCC" + }, + { + "type": "National", + "countryName": "Bermuda", + "countryCode": "BM", + "mcc": "338", + "mnc": "050", + "brand": "Digicel Bermuda", + "operator": null, + "status": "Operational", + "bands": "GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700", + "notes": "uses Jamaica MCC" + }, + { + "type": "National", + "countryName": "Bermuda", + "countryCode": "BM", + "mcc": "350", + "mnc": "00", + "brand": "One", + "operator": "Bermuda Digital Communications Ltd.", + "status": "Operational", + "bands": "GSM 1900 / UMTS 850 / LTE 700", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "Bermuda", + "countryCode": "BM", + "mcc": "350", + "mnc": "007", + "brand": null, + "operator": "Paradise Mobile", + "status": "Not operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Bermuda", + "countryCode": "BM", + "mcc": "350", + "mnc": "01", + "brand": "Digicel Bermuda", + "operator": "Telecommunications (Bermuda & West Indies) Ltd", + "status": "Reserved", + "bands": "GSM 1900", + "notes": "uses Jamaica MNC/MCC (338-050)" + }, + { + "type": "National", + "countryName": "Bermuda", + "countryCode": "BM", + "mcc": "350", + "mnc": "02", + "brand": "Mobility", + "operator": "M3 Wireless", + "status": "Not operational", + "bands": "GSM 1900 / UMTS", + "notes": "Merged with CellOne in 2011" + }, + { + "type": "National", + "countryName": "Bermuda", + "countryCode": "BM", + "mcc": "350", + "mnc": "05", + "brand": null, + "operator": "Telecom Networks", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Bermuda", + "countryCode": "BM", + "mcc": "350", + "mnc": "11", + "brand": null, + "operator": "Deltronics", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Bermuda", + "countryCode": "BM", + "mcc": "350", + "mnc": "15", + "brand": null, + "operator": "FKB Net Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "British Virgin Islands (United Kingdom)", + "countryCode": "VG", + "mcc": "348", + "mnc": "170", + "brand": "FLOW", + "operator": "Cable & Wireless", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / LTE 700 / LTE 1900", + "notes": null + }, + { + "type": "National", + "countryName": "British Virgin Islands (United Kingdom)", + "countryCode": "VG", + "mcc": "348", + "mnc": "370", + "brand": null, + "operator": "BVI Cable TV Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "British Virgin Islands (United Kingdom)", + "countryCode": "VG", + "mcc": "348", + "mnc": "570", + "brand": "CCT Boatphone", + "operator": "Caribbean Cellular Telephone", + "status": "Operational", + "bands": "GSM 900 / GSM 1900 / UMTS 850 / LTE 900 / LTE 1900", + "notes": null + }, + { + "type": "National", + "countryName": "British Virgin Islands (United Kingdom)", + "countryCode": "VG", + "mcc": "348", + "mnc": "770", + "brand": "Digicel", + "operator": "Digicel (BVI) Limited", + "status": "Operational", + "bands": "GSM 1800 / GSM 1900 / UMTS 1900 / LTE 700 / LTE 1700", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "100", + "brand": "dotmobile", + "operator": "Data on Tap Inc.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "130", + "brand": "Xplore", + "operator": "Xplore Inc.", + "status": "Operational", + "bands": "TD-LTE 3500 / WiMAX / 5G 3500", + "notes": "Former Xplornet" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "131", + "brand": "Xplore", + "operator": "Xplore Inc.", + "status": "Operational", + "bands": "TD-LTE 3500 / WiMAX / 5G 3500", + "notes": "Former Xplornet" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "140", + "brand": "Fibernetics", + "operator": "Fibernetics Corp.", + "status": "Not operational", + "bands": "LTE 1900", + "notes": "Ontario" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "150", + "brand": null, + "operator": "Cogeco Connexion Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "151", + "brand": null, + "operator": "Cogeco Connexion Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "152", + "brand": null, + "operator": "Cogeco Connexion Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "220", + "brand": "Telus Mobility, Koodo Mobile, Public Mobile", + "operator": "Telus Mobility", + "status": "Operational", + "bands": "UMTS 850 / UMTS 1900 / LTE 1700 / LTE 2600 / 5G 1700 / 5G 3500", + "notes": "Used in IMSI to identify Telus subscribers on shared network 302-880" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "221", + "brand": "Telus", + "operator": "Telus Mobility", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "222", + "brand": "Telus", + "operator": "Telus Mobility", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "230", + "brand": null, + "operator": "ISP Telecom", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "250", + "brand": "ALO", + "operator": "ALO Mobile Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "270", + "brand": "EastLink", + "operator": "Bragg Communications", + "status": "Operational", + "bands": "UMTS 1700 / LTE 700 / LTE 1700 / 5G 600", + "notes": "Nova Scotia and PEI; LTE bands 13, 4" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "290", + "brand": "Airtel Wireless", + "operator": "Airtel Wireless", + "status": "Not operational", + "bands": "iDEN 900", + "notes": "Calgary, AB; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "300", + "brand": "ECOTEL", + "operator": "Ecotel inc.", + "status": "Operational", + "bands": "LTE 700 / LTE 850 / LTE 2600", + "notes": "private LTE networks" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "310", + "brand": "ECOTEL", + "operator": "Ecotel inc.", + "status": "Operational", + "bands": "LTE 700 / LTE 850 / LTE 2600", + "notes": "private LTE networks" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "320", + "brand": "Rogers Wireless", + "operator": "Rogers Communications", + "status": "Operational", + "bands": "UMTS 1700", + "notes": "Former Mobilicity" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "330", + "brand": null, + "operator": "Blue Canada Wireless Inc.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "340", + "brand": "Execulink", + "operator": "Execulink", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "350", + "brand": null, + "operator": "Naskapi Imuun Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former FIRST Networks" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "360", + "brand": "MiKe", + "operator": "Telus Mobility", + "status": "Not operational", + "bands": "iDEN 800", + "notes": "iDEN shut down January 2016" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "361", + "brand": "Telus", + "operator": "Telus Mobility", + "status": "Not operational", + "bands": "CDMA 800 / CDMA 1900", + "notes": "CDMA shut down 31 May 2017; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "370", + "brand": "Fido", + "operator": "Fido Solutions (Rogers Wireless)", + "status": "Operational", + "bands": "MVNO", + "notes": "former Microcell Telecommunications" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "380", + "brand": "Keewaytinook Mobile", + "operator": "Keewaytinook Okimakanak Mobile", + "status": "Operational", + "bands": "UMTS 850 / UMTS 1900", + "notes": "Former Dryden Mobility" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "390", + "brand": "DMTS", + "operator": "Dryden Mobility", + "status": "Not operational", + "bands": "Unknown", + "notes": "Acquired by Tbaytel in 2012; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "420", + "brand": "ABC", + "operator": "A.B.C. Allen Business Communications Ltd.", + "status": "Operational", + "bands": "TD-LTE 3500", + "notes": "British Columbia" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "480", + "brand": "Qiniq", + "operator": "SSi Connexions", + "status": "Operational", + "bands": "GSM 1900 / LTE 2600", + "notes": "Nunavut" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "490", + "brand": "Freedom Mobile", + "operator": "Shaw Communications", + "status": "Operational", + "bands": "UMTS 1700 / LTE 700 / LTE 1700 / LTE 2600", + "notes": "Former Wind Mobile; LTE bands 4, 7, 13, 66" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "491", + "brand": "Freedom Mobile", + "operator": "Shaw Communications", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "500", + "brand": "Videotron", + "operator": "Videotron", + "status": "Operational", + "bands": "UMTS 1700 / LTE 700 / LTE 1700 / 5G 600 / 5G 1700 / 5G 2600", + "notes": "LTE bands 13, 4; 5G bands n71, n66, n7" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "510", + "brand": "Videotron", + "operator": "Videotron", + "status": "Operational", + "bands": "UMTS 1700 / LTE 700 / LTE 1700 / 5G 600 / 5G 1700 / 5G 2600", + "notes": "LTE bands 13, 4" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "520", + "brand": "Rogers (Vidéotron MOCN)", + "operator": "Videotron", + "status": "Operational", + "bands": "Unknown", + "notes": "Used by Vidéotron on Rogers RAN with MOCN" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "530", + "brand": "Keewaytinook Mobile", + "operator": "Keewaytinook Okimakanak Mobile", + "status": "Operational", + "bands": "GSM", + "notes": "Northwestern Ontario; also spelled Keewatinook Okimacinac" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "540", + "brand": null, + "operator": "Rovvr Communications Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "550", + "brand": null, + "operator": "Star Solutions International Inc.", + "status": "Unknown", + "bands": "LTE?", + "notes": "Private LTE" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "560", + "brand": "Lynx Mobility", + "operator": "Lynx Mobility", + "status": "Not operational", + "bands": "CDMA / GSM", + "notes": "Northern Quebec, Nunavut, Labrador; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "570", + "brand": null, + "operator": "Ligado Networks Corp.", + "status": "Unknown", + "bands": "Satellite", + "notes": "Former LightSquared" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "590", + "brand": "Quadro Mobility", + "operator": "Quadro Communications Co-op", + "status": "Operational", + "bands": "Unknown", + "notes": "Southwestern Ontario" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "600", + "brand": null, + "operator": "Iristel", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "610", + "brand": "Bell Mobility", + "operator": "Bell Mobility", + "status": "Operational", + "bands": "UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 1900 / LTE 2600 / 5G 1700 / 5G 3500", + "notes": "Used in IMSI to identify Bell subscribers on shared network 302-880; LTE bands 17, 29, 4, 2, 7" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "620", + "brand": "ICE Wireless", + "operator": "ICE Wireless", + "status": "Operational", + "bands": "UMTS 850 / GSM 1900 / LTE 850 / LTE 1900", + "notes": "Northern Canada" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "630", + "brand": "Aliant Mobility", + "operator": "Bell Aliant", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "640", + "brand": "Bell", + "operator": "Bell Mobility", + "status": "Not operational", + "bands": "CDMA 800 / CDMA 1900", + "notes": "CDMA shut down in April 2019" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "650", + "brand": "TBaytel", + "operator": "Thunder Bay Telephone", + "status": "Operational", + "bands": "UMTS 850 / UMTS 1900 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "652", + "brand": null, + "operator": "BC Tel Mobility (Telus)", + "status": "Not operational", + "bands": "CDMA2000", + "notes": "CDMA shut down 31 May 2017; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "653", + "brand": "Telus", + "operator": "Telus Mobility", + "status": "Not operational", + "bands": "CDMA 800 / CDMA 1900", + "notes": "CDMA shut down 31 May 2017; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "655", + "brand": "MTS", + "operator": "Bell MTS", + "status": "Not operational", + "bands": "CDMA 800 / CDMA 1900", + "notes": "former Manitoba Telephone System; CDMA shut down 30 Apr 2019; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "656", + "brand": "TBay", + "operator": "Thunder Bay Telephone Mobility", + "status": "Not operational", + "bands": "CDMA", + "notes": "CDMA shut down 1 October 2014; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "657", + "brand": "Telus", + "operator": "Telus Mobility", + "status": "Not operational", + "bands": "CDMA 800 / CDMA 1900", + "notes": "CDMA shut down 31 May 2017; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "660", + "brand": "MTS", + "operator": "Bell MTS", + "status": "Operational", + "bands": "UMTS 850 / UMTS 1900 / LTE 1700", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "670", + "brand": "CityTel Mobility", + "operator": "CityWest", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "680", + "brand": "SaskTel", + "operator": "SaskTel Mobility", + "status": "Operational", + "bands": "TD-LTE 2600", + "notes": "CDMA 850 shut down 5 July 2017" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "681", + "brand": "SaskTel", + "operator": "SaskTel Mobility", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "690", + "brand": "Bell", + "operator": "Bell Mobility", + "status": "Operational", + "bands": "UMTS 850 / UMTS 1900", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "701", + "brand": null, + "operator": "MB Tel Mobility", + "status": "Not operational", + "bands": "CDMA2000", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "702", + "brand": null, + "operator": "MT&T Mobility (Aliant)", + "status": "Not operational", + "bands": "CDMA2000", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "703", + "brand": null, + "operator": "New Tel Mobility (Aliant)", + "status": "Not operational", + "bands": "CDMA2000", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "710", + "brand": "Globalstar", + "operator": null, + "status": "Operational", + "bands": "Satellite CDMA", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "720", + "brand": "Rogers Wireless", + "operator": "Rogers Communications", + "status": "Operational", + "bands": "UMTS 850 / LTE 600 / LTE 700 / LTE 850 / LTE 1700 / LTE 1900 / LTE 2600 / 5G 600 / 5G 1700 / TD-5G 2600 / 5G 3500", + "notes": "former Rogers AT&T Wireless; LTE bands 2, 4, 5, 7, 12, 17, 25, 66, 71; 5G bands n38, n41, n66, n71, n78; GSM 1900 / UMTS 1900 was shut down 7 June 2021, GSM 850 was shut down on 31 Dec 2021" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "721", + "brand": "Rogers Wireless", + "operator": "Rogers Communications", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "730", + "brand": "TerreStar Solutions", + "operator": "TerreStar Networks", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "740", + "brand": "Shaw Telecom", + "operator": "Shaw Communications", + "status": "Not operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "750", + "brand": "SaskTel", + "operator": "SaskTel Mobility", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "760", + "brand": "Public Mobile", + "operator": "Telus Mobility", + "status": "Operational", + "bands": "MVNO", + "notes": "Acquired by Telus, CDMA network shut down 2014" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "770", + "brand": "TNW Wireless", + "operator": "TNW Wireless Inc.", + "status": "Operational", + "bands": "UMTS 850", + "notes": "Former Rural Com; national coverage based on iPCS technology and Wi-Nodes" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "780", + "brand": "SaskTel", + "operator": "SaskTel Mobility", + "status": "Operational", + "bands": "UMTS 850 / UMTS 1900 / LTE 600 / LTE 700 / LTE 850 / LTE 1700 / 5G 1700", + "notes": "Saskatchewan" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "781", + "brand": "SaskTel", + "operator": "SaskTel Mobility", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "790", + "brand": null, + "operator": "NetSet Communications", + "status": "Operational", + "bands": "WiMAX / TD-LTE 3500", + "notes": "Manitoba" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "820", + "brand": "Rogers Wireless", + "operator": "Rogers Communications", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "848", + "brand": null, + "operator": "Vocom International Telecommunications, Inc", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "860", + "brand": "Telus", + "operator": "Telus Mobility", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "880", + "brand": "Bell / Telus / SaskTel", + "operator": "Shared Telus, Bell, and SaskTel", + "status": "Operational", + "bands": "UMTS 850 / UMTS 1900", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "910", + "brand": null, + "operator": "Halton Regional Police Service", + "status": "Unknown", + "bands": "Unknown", + "notes": "Reserved" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "920", + "brand": "Rogers Wireless", + "operator": "Rogers Communications", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "940", + "brand": "Wightman Mobility", + "operator": "Wightman Telecom", + "status": "Operational", + "bands": "UMTS 850 / UMTS 1900", + "notes": null + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "990", + "brand": null, + "operator": "Ericsson Canada", + "status": "Unknown", + "bands": "Unknown", + "notes": "For testing" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "991", + "brand": null, + "operator": "Halton Regional Police Service", + "status": "Unknown", + "bands": "Unknown", + "notes": "For testing" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "996", + "brand": null, + "operator": "Powertech Labs", + "status": "Unknown", + "bands": "Unknown", + "notes": "For testing" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "997", + "brand": null, + "operator": "Powertech Labs", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Canada", + "countryCode": "CA", + "mcc": "302", + "mnc": "998", + "brand": null, + "operator": "Institut de Recherche d’Hydro-Québec", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Powertech Labs; for testing" + }, + { + "type": "National", + "countryName": "Cayman Islands (United Kingdom)", + "countryCode": "KY", + "mcc": "338", + "mnc": "05", + "brand": "Digicel", + "operator": "Digicel Cayman Ltd.", + "status": "Operational", + "bands": "UMTS 2100 / LTE 700 / LTE 1800", + "notes": "LTE bands 13 / 3; GSM shut down July 2020" + }, + { + "type": "National", + "countryName": "Cayman Islands (United Kingdom)", + "countryCode": "KY", + "mcc": "346", + "mnc": "001", + "brand": "Logic", + "operator": "WestTel Ltd.", + "status": "Operational", + "bands": "LTE 2500", + "notes": "LTE band 41; fixed wireless access" + }, + { + "type": "National", + "countryName": "Cayman Islands (United Kingdom)", + "countryCode": "KY", + "mcc": "346", + "mnc": "140", + "brand": "FLOW", + "operator": "Cable & Wireless (Cayman Islands) Limited", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / LTE 700 / LTE 1900", + "notes": "LTE bands 17 / 2" + }, + { + "type": "National", + "countryName": "Cayman Islands (United Kingdom)", + "countryCode": "KY", + "mcc": "346", + "mnc": "050", + "brand": "Digicel", + "operator": "Digicel Cayman Ltd.", + "status": "Reserved", + "bands": null, + "notes": "Uses Jamaica MCC" + }, + { + "type": "National", + "countryName": "Cuba", + "countryCode": "CU", + "mcc": "368", + "mnc": "01", + "brand": "CUBACEL", + "operator": "Empresa de Telecomunicaciones de Cuba, SA", + "status": "Operational", + "bands": "GSM 900 / GSM 850 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100", + "notes": "GSM 850 only available in limited areas (Havana, Varadero, Trinidad and Cayo Coco)" + }, + { + "type": "National", + "countryName": "Dominica", + "countryCode": "DM", + "mcc": "366", + "mnc": "020", + "brand": "Digicel", + "operator": "Digicel Group Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1900 / UMTS 900 / UMTS 1900 / LTE 700", + "notes": "Former Orange Dominica" + }, + { + "type": "National", + "countryName": "Dominica", + "countryCode": "DM", + "mcc": "366", + "mnc": "110", + "brand": "FLOW", + "operator": "Cable & Wireless", + "status": "Operational", + "bands": "GSM 850 / UMTS 850 / LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Dominican Republic", + "countryCode": "DO", + "mcc": "370", + "mnc": "01", + "brand": "Altice", + "operator": "Altice Group", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / GSM 1900 / UMTS 900 / LTE 850 / LTE 900 / LTE 1700 / LTE 1900 / 5G 3500", + "notes": "Former Orange Dominicana" + }, + { + "type": "National", + "countryName": "Dominican Republic", + "countryCode": "DO", + "mcc": "370", + "mnc": "02", + "brand": "Claro", + "operator": "Compañía Dominicana de Teléfonos", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / LTE 1700 / LTE 1900 / LTE 2600 / 5G 3500", + "notes": "CDMA 1900 shut down in 2014" + }, + { + "type": "National", + "countryName": "Dominican Republic", + "countryCode": "DO", + "mcc": "370", + "mnc": "03", + "brand": "Altice", + "operator": "Altice Group", + "status": "Operational", + "bands": "AMPS / CDMA 850", + "notes": "Former Tricom, S.A, 1900 MHz spectrum returned to regulator" + }, + { + "type": "National", + "countryName": "Dominican Republic", + "countryCode": "DO", + "mcc": "370", + "mnc": "04", + "brand": "Viva", + "operator": "Trilogy Dominicana, S.A.", + "status": "Operational", + "bands": "CDMA 1900 / GSM 1900 / UMTS 1900 / LTE 1700", + "notes": "Former Centennial Dominicana" + }, + { + "type": "National", + "countryName": "Dominican Republic", + "countryCode": "DO", + "mcc": "370", + "mnc": "05", + "brand": "Wind", + "operator": "WIND Telecom, S.A", + "status": "Operational", + "bands": "TD-LTE 2600", + "notes": "LTE band 38" + }, + { + "type": "National", + "countryName": "French Antilles (France)", + "countryCode": "BL/GF/GP/MF/MQ", + "mcc": "340", + "mnc": "01", + "brand": "Orange", + "operator": "Orange Caraïbe Mobiles", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600", + "notes": "Guadeloupe, French Guiana, Martinique, Saint Barthélemy, Saint Martin" + }, + { + "type": "National", + "countryName": "French Antilles (France)", + "countryCode": "BL/GF/GP/MF/MQ", + "mcc": "340", + "mnc": "02", + "brand": "SFR Caraïbe", + "operator": "Outremer Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": "Guadeloupe, French Guiana, Martinique; former Only" + }, + { + "type": "National", + "countryName": "French Antilles (France)", + "countryCode": "BL/GF/GP/MF/MQ", + "mcc": "340", + "mnc": "03", + "brand": "FLOW", + "operator": "UTS Caraïbe", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS / LTE 1800", + "notes": "Saint Barthélemy, Saint Martin; former Telcell" + }, + { + "type": "National", + "countryName": "French Antilles (France)", + "countryCode": "BL/GF/GP/MF/MQ", + "mcc": "340", + "mnc": "04", + "brand": "Free", + "operator": "Free Caraïbe", + "status": "Not operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "French Antilles (France)", + "countryCode": "BL/GF/GP/MF/MQ", + "mcc": "340", + "mnc": "08", + "brand": "Dauphin", + "operator": "Dauphin Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS / LTE", + "notes": "Saint Barthélemy, Saint Martin" + }, + { + "type": "National", + "countryName": "French Antilles (France)", + "countryCode": "BL/GF/GP/MF/MQ", + "mcc": "340", + "mnc": "09", + "brand": "Free", + "operator": "Free Caraïbe", + "status": "Upcoming", + "bands": "UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "French Antilles (France)", + "countryCode": "BL/GF/GP/MF/MQ", + "mcc": "340", + "mnc": "10", + "brand": null, + "operator": "Guadeloupe Téléphone Mobile", + "status": "Not operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "French Antilles (France)", + "countryCode": "BL/GF/GP/MF/MQ", + "mcc": "340", + "mnc": "11", + "brand": null, + "operator": "Guyane Téléphone Mobile", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "French Antilles (France)", + "countryCode": "BL/GF/GP/MF/MQ", + "mcc": "340", + "mnc": "12", + "brand": null, + "operator": "Martinique Téléphone Mobile", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "French Antilles (France)", + "countryCode": "BL/GF/GP/MF/MQ", + "mcc": "340", + "mnc": "20", + "brand": "Digicel", + "operator": "DIGICEL Antilles Française Guyane", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800", + "notes": "Guadeloupe, French Guiana, Martinique, Saint Barthélemy, Saint Martin; former Bouygues Telecom Caraïbes" + }, + { + "type": "National", + "countryName": "Grenada", + "countryCode": "GD", + "mcc": "352", + "mnc": "030", + "brand": "Digicel", + "operator": "Digicel Grenada Ltd.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 1900", + "notes": "Also uses MCC 338 MNC 05 (Jamaica)" + }, + { + "type": "National", + "countryName": "Grenada", + "countryCode": "GD", + "mcc": "352", + "mnc": "110", + "brand": "FLOW", + "operator": "Cable & Wireless Grenada Ltd.", + "status": "Operational", + "bands": "GSM 850 / UMTS 850 / LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Guam (United States of America)", + "countryCode": "GU", + "mcc": "310", + "mnc": "032", + "brand": "IT&E Wireless", + "operator": "IT&E Overseas, Inc", + "status": "Operational", + "bands": "CDMA 1900 / GSM 1900 / UMTS 1900 / LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Guam (United States of America)", + "countryCode": "GU", + "mcc": "310", + "mnc": "033", + "brand": null, + "operator": "Guam Telephone Authority", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Guam (United States of America)", + "countryCode": "GU", + "mcc": "310", + "mnc": "140", + "brand": "GTA Wireless", + "operator": "Teleguam Holdings, LLC", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / LTE 1700 / 5G 2500 / 5G 3500 / 5G 26000", + "notes": "Previously called Guam Telephone Authority mPulse" + }, + { + "type": "National", + "countryName": "Guam (United States of America)", + "countryCode": "GU", + "mcc": "310", + "mnc": "370", + "brand": "Docomo", + "operator": "NTT DoCoMo Pacific", + "status": "Operational", + "bands": "GSM 1900 / UMTS 850 / LTE 700 / 5G", + "notes": "Formerly HafaTEL, then Guamcell; CDMA 850 shut down in late 2010" + }, + { + "type": "National", + "countryName": "Guam (United States of America)", + "countryCode": "GU", + "mcc": "310", + "mnc": "400", + "brand": "IT&E Wireless", + "operator": "IT&E Overseas, Inc", + "status": "Operational", + "bands": "GSM 1900 / UMTS 1900 / LTE 700", + "notes": "Former iConnect, Wave Runner LLC" + }, + { + "type": "National", + "countryName": "Guam (United States of America)", + "countryCode": "GU", + "mcc": "310", + "mnc": "470", + "brand": "Docomo", + "operator": "NTT DoCoMo Pacific", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Guam (United States of America)", + "countryCode": "GU", + "mcc": "310", + "mnc": "480", + "brand": "IT&E Wireless", + "operator": "IT&E Overseas, Inc", + "status": "Operational", + "bands": "iDEN", + "notes": "Former iConnect, Wave Runner LLC" + }, + { + "type": "National", + "countryName": "Guam (United States of America)", + "countryCode": "GU", + "mcc": "311", + "mnc": "120", + "brand": "IT&E Wireless", + "operator": "IT&E Overseas, Inc", + "status": "Operational", + "bands": "Unknown", + "notes": "Former iConnect, Wave Runner LLC" + }, + { + "type": "National", + "countryName": "Guam (United States of America)", + "countryCode": "GU", + "mcc": "311", + "mnc": "250", + "brand": "IT&E Wireless", + "operator": "IT&E Overseas, Inc", + "status": "Operational", + "bands": "Unknown", + "notes": "Former iConnect, Wave Runner LLC" + }, + { + "type": "National", + "countryName": "Haiti", + "countryCode": "HT", + "mcc": "372", + "mnc": "01", + "brand": "Voila", + "operator": "Communication Cellulaire d'Haiti S.A.", + "status": "Not operational", + "bands": "GSM 850", + "notes": "Sold to Digicel in 2012" + }, + { + "type": "National", + "countryName": "Haiti", + "countryCode": "HT", + "mcc": "372", + "mnc": "02", + "brand": "Digicel", + "operator": "Unigestion Holding S.A.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Haiti", + "countryCode": "HT", + "mcc": "372", + "mnc": "03", + "brand": "Natcom", + "operator": "NATCOM S.A.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UTMS 2100 / LTE 800", + "notes": "60% owned by Viettel" + }, + { + "type": "National", + "countryName": "Jamaica", + "countryCode": "JM", + "mcc": "338", + "mnc": "020", + "brand": "FLOW", + "operator": "LIME (Cable & Wireless)", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Jamaica", + "countryCode": "JM", + "mcc": "338", + "mnc": "040", + "brand": "Caricel", + "operator": "Symbiote Investment Limited", + "status": "Not operational", + "bands": "LTE", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Jamaica", + "countryCode": "JM", + "mcc": "338", + "mnc": "05", + "brand": "Digicel", + "operator": "Digicel (Jamaica) Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1900 / UMTS 850 / LTE 700 / LTE 850 / LTE 1700 / LTE 1900", + "notes": null + }, + { + "type": "National", + "countryName": "Jamaica", + "countryCode": "JM", + "mcc": "338", + "mnc": "070", + "brand": "Claro", + "operator": "Oceanic Digital Jamaica Limited", + "status": "Not operational", + "bands": "GSM / UMTS / CDMA", + "notes": "shut down 2012" + }, + { + "type": "National", + "countryName": "Jamaica", + "countryCode": "JM", + "mcc": "338", + "mnc": "080", + "brand": null, + "operator": "Rock Mobile Limited", + "status": "Unknown", + "bands": "LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Jamaica", + "countryCode": "JM", + "mcc": "338", + "mnc": "110", + "brand": "FLOW", + "operator": "Cable & Wireless Communications", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Jamaica", + "countryCode": "JM", + "mcc": "338", + "mnc": "180", + "brand": "FLOW", + "operator": "Cable & Wireless Communications", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 1900", + "notes": "GSM shutdown started in 2022" + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "001", + "brand": null, + "operator": "Comunicaciones Digitales Del Norte, S.A. de C.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "010", + "brand": "AT&T", + "operator": "AT&T Mexico", + "status": "Not operational", + "bands": "iDEN 800", + "notes": "Former Nextel; shut down 2017" + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "020", + "brand": "Telcel", + "operator": "América Móvil", + "status": "Operational", + "bands": "UMTS 850 / UMTS 1900 / LTE 850 / LTE 1700 / LTE 2600 / 5G", + "notes": "former Radiomóvil Dipsa; GSM shut down Sep 2020" + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "030", + "brand": "Movistar", + "operator": "Telefónica", + "status": "Operational", + "bands": "MVNO", + "notes": "former Pegaso PCS; MVNO on AT&T, own spectrum returned" + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "040", + "brand": "Unefon", + "operator": "AT&T Mexico", + "status": "Not operational", + "bands": "CDMA 850 / CDMA 1900", + "notes": "Shut down 2016" + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "050", + "brand": "AT&T / Unefon", + "operator": "AT&T Mexico", + "status": "Operational", + "bands": "UMTS 850 / UMTS 1900 / UMTS 1700 / LTE 850 / LTE 1700 / LTE 2600 / TD-LTE 2600 / 5G 2600 / 5G 3500", + "notes": "Former Iusacell; GSM shut down 2019" + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "060", + "brand": null, + "operator": "Servicios de Acceso Inalambrico, S.A. de C.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "066", + "brand": null, + "operator": "Telefonos de México, S.A.B. de C.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "070", + "brand": "Unefon", + "operator": "AT&T Mexico", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "080", + "brand": "Unefon", + "operator": "AT&T Mexico", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "090", + "brand": "AT&T", + "operator": "AT&T Mexico", + "status": "Operational", + "bands": "UMTS 1700 / LTE 850 / LTE 1700", + "notes": "Former Nextel" + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "100", + "brand": null, + "operator": "Telecomunicaciones de México", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "110", + "brand": null, + "operator": "Maxcom Telecomunicaciones, S.A.B. de C.V.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "120", + "brand": null, + "operator": "Quickly Phone, S.A. de C.V.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "130", + "brand": null, + "operator": "ALESTRA SERVICIOS MÓVILES, S.A. DE C.V.", + "status": "Operational", + "bands": "Unknown", + "notes": "Division of Axtel" + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "140", + "brand": "Red Compartida", + "operator": "Altán Redes S.A.P.I. de C.V.", + "status": "Operational", + "bands": "LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "150", + "brand": "Ultranet", + "operator": "Ultravisión, S.A. de C.V.", + "status": "Operational", + "bands": "LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "160", + "brand": null, + "operator": "Cablevisión Red, S.A. de C.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "170", + "brand": null, + "operator": "Oxio Mobile, S.A. de C.V.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "180", + "brand": "FreedomPop", + "operator": "FREEDOMPOP MÉXICO, S.A. DE C.V.", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Mexico", + "countryCode": "MX", + "mcc": "334", + "mnc": "190", + "brand": "Viasat", + "operator": "VIASAT TECNOLOGÍA, S.A. DE C.V.", + "status": "Operational", + "bands": "Satellite", + "notes": null + }, + { + "type": "National", + "countryName": "Montserrat (United Kingdom)", + "countryCode": "MS", + "mcc": "338", + "mnc": "05", + "brand": "Digicel", + "operator": "Digicel", + "status": "Operational", + "bands": "GSM 850", + "notes": "Uses Jamaica MCC" + }, + { + "type": "National", + "countryName": "Montserrat (United Kingdom)", + "countryCode": "MS", + "mcc": "354", + "mnc": "860", + "brand": "FLOW", + "operator": "Cable & Wireless", + "status": "Operational", + "bands": "GSM 850", + "notes": null + }, + { + "type": "National", + "countryName": "Former Netherlands Antilles (Kingdom of the Netherlands)", + "countryCode": "BQ/CW/SX", + "mcc": "362", + "mnc": "31", + "brand": null, + "operator": "Eutel N.V.", + "status": "Unknown", + "bands": "GSM", + "notes": "Sint Eustatius" + }, + { + "type": "National", + "countryName": "Former Netherlands Antilles (Kingdom of the Netherlands)", + "countryCode": "BQ/CW/SX", + "mcc": "362", + "mnc": "33", + "brand": null, + "operator": "WICC N.V.", + "status": "Unknown", + "bands": "GSM", + "notes": null + }, + { + "type": "National", + "countryName": "Former Netherlands Antilles (Kingdom of the Netherlands)", + "countryCode": "BQ/CW/SX", + "mcc": "362", + "mnc": "51", + "brand": "Telcell", + "operator": "Telcell N.V.", + "status": "Operational", + "bands": "UMTS 2100 / LTE 1800", + "notes": "Sint Maarten; GSM shut down Jan 2019" + }, + { + "type": "National", + "countryName": "Former Netherlands Antilles (Kingdom of the Netherlands)", + "countryCode": "BQ/CW/SX", + "mcc": "362", + "mnc": "54", + "brand": "ECC", + "operator": "East Caribbean Cellular", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Former Netherlands Antilles (Kingdom of the Netherlands)", + "countryCode": "BQ/CW/SX", + "mcc": "362", + "mnc": "59", + "brand": "FLOW", + "operator": "Liberty Latin America", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Bonaire, Saba, Sint Eustatius, Sint Maarten; former Radcomm N.V., UTS; shut down Sep 2017" + }, + { + "type": "National", + "countryName": "Former Netherlands Antilles (Kingdom of the Netherlands)", + "countryCode": "BQ/CW/SX", + "mcc": "362", + "mnc": "60", + "brand": "FLOW", + "operator": "Liberty Latin America", + "status": "Operational", + "bands": "UMTS 2100 / LTE 1800", + "notes": "Bonaire, Saba, Sint Eustatius, Sint Maarten; former Radcomm N.V., UTS" + }, + { + "type": "National", + "countryName": "Former Netherlands Antilles (Kingdom of the Netherlands)", + "countryCode": "BQ/CW/SX", + "mcc": "362", + "mnc": "63", + "brand": null, + "operator": "CSC N.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Former Netherlands Antilles (Kingdom of the Netherlands)", + "countryCode": "BQ/CW/SX", + "mcc": "362", + "mnc": "68", + "brand": "Digicel", + "operator": "Curaçao Telecom N.V.", + "status": "Operational", + "bands": "UMTS 2100 / LTE 1800", + "notes": "Curaçao" + }, + { + "type": "National", + "countryName": "Former Netherlands Antilles (Kingdom of the Netherlands)", + "countryCode": "BQ/CW/SX", + "mcc": "362", + "mnc": "69", + "brand": "Digicel", + "operator": "Curaçao Telecom N.V.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Curaçao" + }, + { + "type": "National", + "countryName": "Former Netherlands Antilles (Kingdom of the Netherlands)", + "countryCode": "BQ/CW/SX", + "mcc": "362", + "mnc": "74", + "brand": null, + "operator": "PCS N.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Former Netherlands Antilles (Kingdom of the Netherlands)", + "countryCode": "BQ/CW/SX", + "mcc": "362", + "mnc": "76", + "brand": "Digicel", + "operator": "Antiliano Por N.V.", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800", + "notes": "Bonaire" + }, + { + "type": "National", + "countryName": "Former Netherlands Antilles (Kingdom of the Netherlands)", + "countryCode": "BQ/CW/SX", + "mcc": "362", + "mnc": "78", + "brand": "Telbo", + "operator": "Telefonia Bonairiano N.V.", + "status": "Operational", + "bands": "UMTS 900 / LTE 1800", + "notes": "Bonaire" + }, + { + "type": "National", + "countryName": "Former Netherlands Antilles (Kingdom of the Netherlands)", + "countryCode": "BQ/CW/SX", + "mcc": "362", + "mnc": "91", + "brand": "FLOW", + "operator": "Liberty Latin America", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 1800", + "notes": "Curaçao; former Setel N.V., UTS" + }, + { + "type": "National", + "countryName": "Former Netherlands Antilles (Kingdom of the Netherlands)", + "countryCode": "BQ/CW/SX", + "mcc": "362", + "mnc": "94", + "brand": "Bayòs", + "operator": "Bòbò Frus N.V.", + "status": "Operational", + "bands": "TDMA PCS", + "notes": "Mobile Solutions" + }, + { + "type": "National", + "countryName": "Former Netherlands Antilles (Kingdom of the Netherlands)", + "countryCode": "BQ/CW/SX", + "mcc": "362", + "mnc": "95", + "brand": "MIO", + "operator": "E.O.C.G. Wireless", + "status": "Not operational", + "bands": "CDMA2000 850", + "notes": "former GSM Caribbean N.V.; bankrupt in 2013" + }, + { + "type": "National", + "countryName": "Northern Mariana Islands (United States of America)", + "countryCode": "MP", + "mcc": "310", + "mnc": "110", + "brand": "IT&E Wireless", + "operator": "PTI Pacifica Inc.", + "status": "Operational", + "bands": "CDMA / GSM 850 / UMTS 1900 / LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Northern Mariana Islands (United States of America)", + "countryCode": "MP", + "mcc": "310", + "mnc": "370", + "brand": "Docomo", + "operator": "NTT DoCoMo Pacific", + "status": "Operational", + "bands": "GSM 1900 / UMTS / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Puerto Rico", + "countryCode": "PR", + "mcc": "310", + "mnc": "017", + "brand": "ProxTel", + "operator": "North Sight Communications Inc.", + "status": "Not operational", + "bands": "iDEN", + "notes": "US MCC; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Puerto Rico", + "countryCode": "PR", + "mcc": "310", + "mnc": "260", + "brand": "T-Mobile", + "operator": "T-Mobile US", + "status": "Operational", + "bands": "GSM 1900 / LTE 600 / LTE 1900 / LTE 1700 / 5G 600 / 5G 2500", + "notes": "US MCC; UMTS shut down July 2022" + }, + { + "type": "National", + "countryName": "Puerto Rico", + "countryCode": "PR", + "mcc": "310", + "mnc": "280", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Not operational", + "bands": "GSM 1900", + "notes": "Former Centennial Puerto Rico; US MCC" + }, + { + "type": "National", + "countryName": "Puerto Rico", + "countryCode": "PR", + "mcc": "313", + "mnc": "510", + "brand": null, + "operator": "Puerto Rico Telecom Company", + "status": "Unknown", + "bands": "Unknown", + "notes": "Uses US MCC" + }, + { + "type": "National", + "countryName": "Puerto Rico", + "countryCode": "PR", + "mcc": "313", + "mnc": "790", + "brand": "Liberty", + "operator": "Liberty Cablevision of Puerto Rico LLC", + "status": "Operational", + "bands": "LTE 700 / LTE 850 / LTE 1700 / LTE 1900 / LTE 2300 / 5G 850", + "notes": "Uses US MCC; UMTS shut down Feb 2022" + }, + { + "type": "National", + "countryName": "Puerto Rico", + "countryCode": "PR", + "mcc": "330", + "mnc": "000", + "brand": "Open Mobile", + "operator": "PR Wireless", + "status": "Operational", + "bands": "CDMA 1900", + "notes": null + }, + { + "type": "National", + "countryName": "Puerto Rico", + "countryCode": "PR", + "mcc": "330", + "mnc": "110", + "brand": "Claro Puerto Rico", + "operator": "América Móvil", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / LTE 700 / LTE 1700", + "notes": null + }, + { + "type": "National", + "countryName": "Puerto Rico", + "countryCode": "PR", + "mcc": "330", + "mnc": "120", + "brand": "Open Mobile", + "operator": "PR Wireless", + "status": "Operational", + "bands": "LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Saint Kitts and Nevis", + "countryCode": "KN", + "mcc": "356", + "mnc": "050", + "brand": "Digicel", + "operator": "Wireless Ventures (St Kitts-Nevis) Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Saint Kitts and Nevis", + "countryCode": "KN", + "mcc": "356", + "mnc": "070", + "brand": "FLOW", + "operator": "UTS", + "status": "Operational", + "bands": null, + "notes": null + }, + { + "type": "National", + "countryName": "Saint Kitts and Nevis", + "countryCode": "KN", + "mcc": "356", + "mnc": "110", + "brand": "FLOW", + "operator": "Cable & Wireless St. Kitts & Nevis Ltd", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Saint Lucia", + "countryCode": "LC", + "mcc": "338", + "mnc": "05", + "brand": "Digicel", + "operator": "Digicel", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / GSM 1900 / LTE 700", + "notes": "uses Jamaica MCC" + }, + { + "type": "National", + "countryName": "Saint Lucia", + "countryCode": "LC", + "mcc": "358", + "mnc": "110", + "brand": "FLOW", + "operator": "Cable & Wireless", + "status": "Operational", + "bands": "GSM 850 / LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Saint Pierre and Miquelon (France)", + "countryCode": "PM", + "mcc": "308", + "mnc": "01", + "brand": "Ameris", + "operator": "St. Pierre-et-Miquelon Télécom", + "status": "Operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Saint Pierre and Miquelon (France)", + "countryCode": "PM", + "mcc": "308", + "mnc": "02", + "brand": "GLOBALTEL", + "operator": "GLOBALTEL", + "status": "Operational", + "bands": "GSM 900 / LTE 800", + "notes": null + }, + { + "type": "National", + "countryName": "Saint Pierre and Miquelon (France)", + "countryCode": "PM", + "mcc": "308", + "mnc": "03", + "brand": "Ameris", + "operator": "St. Pierre-et-Miquelon Télécom", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Saint Vincent and the Grenadines", + "countryCode": "VC", + "mcc": "360", + "mnc": "050", + "brand": "Digicel", + "operator": "Digicel (St. Vincent and the Grenadines) Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / GSM 1900 / LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Saint Vincent and the Grenadines", + "countryCode": "VC", + "mcc": "360", + "mnc": "100", + "brand": "Cingular Wireless", + "operator": null, + "status": "Unknown", + "bands": "GSM 850", + "notes": null + }, + { + "type": "National", + "countryName": "Saint Vincent and the Grenadines", + "countryCode": "VC", + "mcc": "360", + "mnc": "110", + "brand": "FLOW", + "operator": "Cable & Wireless (St. Vincent & the Grenadines) Ltd", + "status": "Operational", + "bands": "GSM 850 / LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Trinidad and Tobago", + "countryCode": "TT", + "mcc": "374", + "mnc": "01", + "brand": "bmobile", + "operator": "TSTT", + "status": "Not operational", + "bands": "GSM 850 / GSM 1900", + "notes": "Withdrawn" + }, + { + "type": "National", + "countryName": "Trinidad and Tobago", + "countryCode": "TT", + "mcc": "374", + "mnc": "12", + "brand": "bmobile", + "operator": "TSTT", + "status": "Operational", + "bands": "GSM 850 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 1900 / TD-LTE 2500 / 5G 2500", + "notes": "LTE bands 2 / 4 / 28 / 41; band 41 used for FWA" + }, + { + "type": "National", + "countryName": "Trinidad and Tobago", + "countryCode": "TT", + "mcc": "374", + "mnc": "13", + "brand": "Digicel", + "operator": "Digicel (Trinidad & Tobago) Limited", + "status": "Not operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900", + "notes": "Withdrawn" + }, + { + "type": "National", + "countryName": "Trinidad and Tobago", + "countryCode": "TT", + "mcc": "374", + "mnc": "20", + "brand": "bmobile", + "operator": "TSTT", + "status": "Not operational", + "bands": "GSM 850 / GSM 1900", + "notes": "Withdrawn" + }, + { + "type": "National", + "countryName": "Trinidad and Tobago", + "countryCode": "TT", + "mcc": "374", + "mnc": "120", + "brand": "bmobile", + "operator": "TSTT", + "status": "Not operational", + "bands": "GSM 850 / GSM 1900", + "notes": "Withdrawn" + }, + { + "type": "National", + "countryName": "Trinidad and Tobago", + "countryCode": "TT", + "mcc": "374", + "mnc": "129", + "brand": "bmobile", + "operator": "TSTT", + "status": "Not operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900", + "notes": "Withdrawn" + }, + { + "type": "National", + "countryName": "Trinidad and Tobago", + "countryCode": "TT", + "mcc": "374", + "mnc": "130", + "brand": "Digicel", + "operator": "Digicel (Trinidad & Tobago) Limited", + "status": "Operational", + "bands": "GSM 850 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 1900", + "notes": "LTE bands 28 / 4 / 2" + }, + { + "type": "National", + "countryName": "Trinidad and Tobago", + "countryCode": "TT", + "mcc": "374", + "mnc": "140", + "brand": "Laqtel", + "operator": "LaqTel Ltd.", + "status": "Not operational", + "bands": "CDMA", + "notes": "Shut down 2008; Withdrawn" + }, + { + "type": "National", + "countryName": "Turks and Caicos Islands", + "countryCode": "TC", + "mcc": "338", + "mnc": "050", + "brand": "Digicel", + "operator": "Digicel (Turks & Caicos) Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1900 / LTE 700 / LTE 1700", + "notes": "uses Jamaica MCC" + }, + { + "type": "National", + "countryName": "Turks and Caicos Islands", + "countryCode": "TC", + "mcc": "376", + "mnc": "350", + "brand": "FLOW", + "operator": "Cable & Wireless West Indies Ltd (Turks & Caicos)", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Turks and Caicos Islands", + "countryCode": "TC", + "mcc": "376", + "mnc": "351", + "brand": "Digicel", + "operator": "Digicel (Turks & Caicos) Limited", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Turks and Caicos Islands", + "countryCode": "TC", + "mcc": "376", + "mnc": "352", + "brand": "FLOW", + "operator": "Cable & Wireless West Indies Ltd (Turks & Caicos)", + "status": "Not operational", + "bands": "UMTS 850", + "notes": "Former IslandCom MNC withdrawn" + }, + { + "type": "National", + "countryName": "Turks and Caicos Islands", + "countryCode": "TC", + "mcc": "376", + "mnc": "360", + "brand": "Digicel", + "operator": "Digicel (Turks & Caicos) Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former IslandCom, Cable & Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "004", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "005", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Not operational", + "bands": "CDMA2000 850 / CDMA2000 1900", + "notes": "CDMA shut down Dec 2022" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "006", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "010", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former MCI Inc." + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "012", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Operational", + "bands": "LTE 700 / LTE 1700 / LTE 1900", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "013", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former MobileTel, Alltel" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "014", + "brand": null, + "operator": null, + "status": "Not operational", + "bands": "Unknown", + "notes": "For testing; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "015", + "brand": "Southern LINC", + "operator": "Southern Communications", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "016", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Not operational", + "bands": "CDMA2000 1900 / CDMA2000 1700", + "notes": "Former Cricket Wireless; shut down in September 2015" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "017", + "brand": "ProxTel", + "operator": "North Sight Communications Inc.", + "status": "Not operational", + "bands": "iDEN", + "notes": "Puerto Rico; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "020", + "brand": "Union Wireless", + "operator": "Union Telephone Company", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "030", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Operational", + "bands": "GSM 850", + "notes": "Former Centennial Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "032", + "brand": "IT&E Wireless", + "operator": "IT&E Overseas, Inc", + "status": "Operational", + "bands": "CDMA 1900 / GSM 1900 / UMTS 1900 / LTE 700", + "notes": "Guam" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "033", + "brand": null, + "operator": "Guam Telephone Authority", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "034", + "brand": "Airpeak", + "operator": "Airpeak", + "status": "Operational", + "bands": "iDEN", + "notes": "Former Nevada Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "035", + "brand": "ETEX Wireless", + "operator": "ETEX Communications, LP", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "040", + "brand": "MTA", + "operator": "Matanuska Telephone Association, Inc.", + "status": "Not operational", + "bands": "CDMA", + "notes": "Formerly Concho Cellular Telephone Co.; then Alaska, shut down 2017; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "050", + "brand": "GCI", + "operator": "Alaska Communications", + "status": "Operational", + "bands": "CDMA", + "notes": "Former ACS Wireless Inc." + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "053", + "brand": "Virgin Mobile", + "operator": "T-Mobile US", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Sprint Corporation" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "054", + "brand": null, + "operator": "Alltel US", + "status": "Operational", + "bands": "Unknown", + "notes": "Uses Sprint's network" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "060", + "brand": null, + "operator": "Consolidated Telcom", + "status": "Not operational", + "bands": "1900", + "notes": "North Dakota; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "066", + "brand": "U.S. Cellular", + "operator": "U.S. Cellular", + "status": "Operational", + "bands": "GSM / CDMA", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "070", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Operational", + "bands": "GSM 850", + "notes": "Former Highland Cellular, Cingular" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "080", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Operational", + "bands": "GSM 1900", + "notes": "Former Corr Wireless Communications LLC" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "090", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Operational", + "bands": "GSM 1900", + "notes": "Former Edge Wireless, Cingular, Cricket Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "100", + "brand": "Plateau Wireless", + "operator": "New Mexico RSA 4 East LP", + "status": "Operational", + "bands": "GSM 850 / UMTS 850 / UMTS 1700", + "notes": "Acquired by AT&T" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "110", + "brand": "IT&E Wireless", + "operator": "PTI Pacifica Inc.", + "status": "Operational", + "bands": "CDMA / GSM 850 / UMTS 1900 / LTE 700", + "notes": "Northern Mariana Islands" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "120", + "brand": "T-Mobile", + "operator": "T-Mobile US", + "status": "Operational", + "bands": "LTE 850 / LTE 1900", + "notes": "Former Sprint Corporation; CDMA shut down May 2022" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "130", + "brand": "Carolina West Wireless", + "operator": "Carolina West Wireless", + "status": "Operational", + "bands": "CDMA2000 1900", + "notes": "North Carolina" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "140", + "brand": "GTA Wireless", + "operator": "Teleguam Holdings, LLC", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / LTE 1700", + "notes": "Previously called Guam Telephone Authority mPulse" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "150", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Operational", + "bands": "GSM 850 / UMTS 850 / UMTS 1900", + "notes": "Originally BellSouth Mobility DCS, then Cingular Wireless, then Aio Wireless, then rebranded as the new GSM Cricket Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "160", + "brand": "T-Mobile", + "operator": "T-Mobile US", + "status": "Operational", + "bands": "GSM 1900", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "170", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Operational", + "bands": "GSM 1900", + "notes": "Formerly Pacific Bell Wireless, then Cingular Wireless CA/NV known as \"Cingular Orange\"" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "180", + "brand": "West Central", + "operator": "West Central Wireless", + "status": "Operational", + "bands": "GSM 850 / UMTS 850 / UMTS 1900", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "190", + "brand": "GCI", + "operator": "Alaska Communications", + "status": "Operational", + "bands": "GSM 850", + "notes": "Dutch Harbor, Alaska" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "200", + "brand": null, + "operator": "T-Mobile", + "status": "Not operational", + "bands": "GSM 1900", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "210", + "brand": null, + "operator": "T-Mobile", + "status": "Not operational", + "bands": "GSM 1900", + "notes": "Iowa" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "220", + "brand": null, + "operator": "T-Mobile", + "status": "Not operational", + "bands": "GSM 1900", + "notes": "Kansas / Oklahoma" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "230", + "brand": null, + "operator": "T-Mobile", + "status": "Not operational", + "bands": "GSM 1900", + "notes": "Utah" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "240", + "brand": null, + "operator": "T-Mobile", + "status": "Not operational", + "bands": "GSM 1900", + "notes": "New Mexico / Texas / Arizona" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "250", + "brand": null, + "operator": "T-Mobile", + "status": "Not operational", + "bands": "GSM 1900", + "notes": "Hawaii" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "260", + "brand": "T-Mobile", + "operator": "T-Mobile US", + "status": "Operational", + "bands": "GSM 1900 / LTE 600 / LTE 700 / LTE 850 / LTE 1900 / LTE 1700 / LTE 2500 / 5G 600 / 5G 2500 / 5G 26000 / 5G 28000 / 5G 39000", + "notes": "Former Cook Inlet West Wireless, Voicestream; now universal USA code. Also used for Mint Mobile, Ting. UMTS shut down July 2022, GSM to shut down Apr 2024." + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "270", + "brand": null, + "operator": "T-Mobile", + "status": "Not operational", + "bands": "GSM 1900", + "notes": "Formerly Powertel" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "280", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Not operational", + "bands": "GSM 1900", + "notes": "Former Centennial Puerto Rico" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "290", + "brand": "nep", + "operator": "NEP Cellcorp Inc.", + "status": "Not operational", + "bands": "GSM 1900", + "notes": "Shut down 22 September 2015" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "300", + "brand": "Big Sky Mobile", + "operator": "iSmart Mobile, LLC", + "status": "Not operational", + "bands": "GSM 1900", + "notes": "Montana; former Get Mobile Inc., SmartCall, LLC; acquired by T-Mobile in 2017; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "310", + "brand": null, + "operator": "T-Mobile", + "status": "Not operational", + "bands": "GSM 1900", + "notes": "Formerly Aerial Communications" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "311", + "brand": null, + "operator": "Farmers Wireless", + "status": "Not operational", + "bands": "GSM 1900", + "notes": "NE Alabama; acquired by AT&T in 2008" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "320", + "brand": "Cellular One", + "operator": "Smith Bagley, Inc.", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS", + "notes": "Arizona / New Mexico" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "330", + "brand": null, + "operator": "Wireless Partners, LLC", + "status": "Unknown", + "bands": "LTE", + "notes": "Former AN Subsidiary LLC, AWCC, acquired by AT&T, CDMA shut down February 2015" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "340", + "brand": "Limitless Mobile", + "operator": "Limitless Mobile, LLC", + "status": "Operational", + "bands": "GSM 1900", + "notes": "Kansas; Former High Plains Midwest LLC dba Westlink Communications, acquired by United Wireless in 2013" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "350", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Not operational", + "bands": "CDMA", + "notes": "Former Mohave Cellular L.P." + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "360", + "brand": "Pioneer Cellular", + "operator": "Cellular Network Partnership", + "status": "Operational", + "bands": "CDMA", + "notes": "Oklahoma" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "370", + "brand": "Docomo", + "operator": "NTT DoCoMo Pacific", + "status": "Operational", + "bands": "GSM 1900 / UMTS 850 / LTE 700", + "notes": "Guam, Northern Mariana Islands; former Guamcell" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "380", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Not operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900", + "notes": "Former AT&T Wireless Services, then Cingular Wireless (known as \"Cingular Blue\")" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "390", + "brand": "Cellular One of East Texas", + "operator": "TX-11 Acquisition, LLC", + "status": "Operational", + "bands": "GSM 850 / LTE 700 / CDMA", + "notes": "Former Yorkville Telephone Cooperative" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "400", + "brand": "IT&E Wireless", + "operator": "IT&E Overseas, Inc", + "status": "Operational", + "bands": "GSM 1900 / UMTS 1900 / LTE 700", + "notes": "Guam; former iConnect, Wave Runner LLC" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "410", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 850 / LTE 1700 / LTE 1900 / LTE 2300 / 5G 850 / 5G 3700 / 5G 39000", + "notes": "Formerly Cingular Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "420", + "brand": "Cincinnati Bell", + "operator": "Cincinnati Bell Wireless", + "status": "Not operational", + "bands": "GSM 1900 / UMTS 1700", + "notes": "Shut down 28 February 2015; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "430", + "brand": "GCI", + "operator": "GCI Communications Corp.", + "status": "Operational", + "bands": "GSM 1900 / UMTS 1900", + "notes": "Former Alaska Digitel" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "440", + "brand": null, + "operator": "Numerex", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Dobson / Cellular One; M2M only" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "450", + "brand": "Viaero", + "operator": "Viaero Wireless", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900", + "notes": "Formerly North East Cellular Inc., CellONE; Colorado / Kansas / Nebraska" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "460", + "brand": "Conecto", + "operator": "NewCore Wireless LLC", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Simmetry / TMP Corporation (shut down 30 June 2012)" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "470", + "brand": null, + "operator": "NTT DoCoMo Pacific", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Guam Wireless, nTelos, Shentel, Sprint" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "480", + "brand": "IT&E Wireless", + "operator": "IT&E Overseas, Inc", + "status": "Operational", + "bands": "iDEN", + "notes": "Guam; former Choice Phone LLC, iConnect, Wave Runner LLC" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "490", + "brand": null, + "operator": "T-Mobile", + "status": "Operational", + "bands": "GSM 850 / GSM 1900", + "notes": "Former Triton PCS, SunCom" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "500", + "brand": "Alltel", + "operator": "Public Service Cellular Inc.", + "status": "Operational", + "bands": "CDMA2000 850 / CDMA2000 1900", + "notes": "Georgia" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "510", + "brand": "Cellcom", + "operator": "Nsight", + "status": "Unknown", + "bands": "Unknown", + "notes": "Formerly Airtel Wireless LLC (iDEN, Montana)" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "520", + "brand": "TNS", + "operator": "Transaction Network Services", + "status": "Unknown", + "bands": "Unknown", + "notes": "Formerly Verisign" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "530", + "brand": null, + "operator": "T-Mobile", + "status": "Unknown", + "bands": "Unknown", + "notes": "Formerly West Virginia Wireless, iWireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "540", + "brand": "Phoenix", + "operator": "Hilliary Communications", + "status": "Operational", + "bands": "GSM 850 / GSM 1900", + "notes": "Oklahoma" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "550", + "brand": null, + "operator": "Syniverse Technologies", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Wireless Solutions International" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "560", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Not operational", + "bands": "GSM 850", + "notes": "Former Dobson Cellular, Cingular Wireless; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "570", + "brand": null, + "operator": "Broadpoint, LLC", + "status": "Operational", + "bands": "GSM 850 / LTE 700", + "notes": "Former TX-10, LLC and Central Louisiana Cellular, LLC (MTPCS) dba Cellular One; Montana network (former Chinook Wireless) shut down in 2014" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "580", + "brand": null, + "operator": "Inland Cellular Telephone Company", + "status": "Operational", + "bands": "CDMA2000", + "notes": "Former PCS One" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "590", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "GSM 850 / GSM 1900", + "notes": "Former Western Wireless Corporation, Alltel" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "591", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "592", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "593", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "594", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "595", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "596", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "597", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "598", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "599", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "600", + "brand": "Cellcom", + "operator": "NewCell Inc.", + "status": "Operational", + "bands": "CDMA 850 / CDMA 1900", + "notes": "Wisconsin; network to be shut down Dec 2023" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "610", + "brand": null, + "operator": "Mavenir Systems Inc", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Epic PCS, shut down 30 April 2015, sold to PTCI and United Wireless;" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "620", + "brand": "Cellcom", + "operator": "Nsighttel Wireless LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": "Formerly Coleman County Telecom" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "630", + "brand": "Choice Wireless", + "operator": "Commnet Wireless LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former miSpot / Agri-Valley Communications" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "640", + "brand": null, + "operator": "Numerex", + "status": "Operational", + "bands": "MVNO", + "notes": "M2M only; formerly Einstein PCS, AirFire / Airadigm, shut down 2 September 2014" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "650", + "brand": "Jasper", + "operator": "Jasper Technologies", + "status": "Operational", + "bands": "MVNO", + "notes": "M2M only" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "660", + "brand": "T-Mobile", + "operator": null, + "status": "Not operational", + "bands": "GSM 1900", + "notes": "Formerly DigiPhone PCS / DigiPH" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "670", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Northstar" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "680", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Operational", + "bands": "GSM 850 / GSM 1900", + "notes": "Formerly Cellular One DCS, NPI Wireless, Cingular" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "690", + "brand": "Limitless Mobile", + "operator": "Limitless Mobile, LLC", + "status": "Operational", + "bands": "GSM 1900 / LTE 1900", + "notes": "Pennsylvania; former Conestoga Wireless, Keystone Wireless d/b/a Immix Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "700", + "brand": "Bigfoot Cellular", + "operator": "Cross Valiant Cellular Partnership", + "status": "Unknown", + "bands": "GSM", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "710", + "brand": "ASTAC", + "operator": "Arctic Slope Telephone Association Cooperative", + "status": "Operational", + "bands": "UMTS 850 / LTE", + "notes": "Alaska; GSM shut down January 2017" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "720", + "brand": null, + "operator": "Syniverse Technologies", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Wireless Solutions International" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "730", + "brand": "U.S. Cellular", + "operator": "U.S. Cellular", + "status": "Unknown", + "bands": "Unknown", + "notes": "Formerly Sea Mobile" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "740", + "brand": "Viaero", + "operator": "Viaero Wireless", + "status": "Operational", + "bands": "LTE 700 / LTE 1700 / LTE 1900", + "notes": "Former Telemetrix Technologies, Convey Communications Inc., Green Eagle Communications, Inc." + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "750", + "brand": "Appalachian Wireless", + "operator": "East Kentucky Network, LLC", + "status": "Not operational", + "bands": "CDMA 850 / CDMA 1900", + "notes": "shut down Feb 2023" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "760", + "brand": null, + "operator": "Lynch 3G Communications Corporation", + "status": "Not operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "770", + "brand": null, + "operator": "T-Mobile", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former iWireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "780", + "brand": "Dispatch Direct", + "operator": "D. D. Inc.", + "status": "Not operational", + "bands": "iDEN", + "notes": "Former Airlink PCS, Connect Net Inc.; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "790", + "brand": "BLAZE", + "operator": "PinPoint Communications Inc.", + "status": "Not operational", + "bands": "GSM 1900 / UMTS / LTE", + "notes": "Nebraska; discontinued Dec 2019" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "800", + "brand": null, + "operator": "T-Mobile", + "status": "Not operational", + "bands": "GSM 1900", + "notes": "Formerly SOL Communications" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "810", + "brand": null, + "operator": "Pacific Lightwave Inc.", + "status": "Unknown", + "bands": "1900", + "notes": "Formerly Brazos Cellular Communications Ltd., LCFR LLC (owned by New Dimension Wireless);" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "820", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former South Canaan Cellular" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "830", + "brand": "T-Mobile", + "operator": "T-Mobile US", + "status": "Not operational", + "bands": "WiMAX", + "notes": "Former Caprock Cellular (GSM, sold to AT&T in 2010), Clearwire, Sprint Corporation" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "840", + "brand": "telna Mobile", + "operator": "Telecom North America Mobile, Inc.", + "status": "Operational", + "bands": "MVNO", + "notes": "Formerly Edge Mobile LLC" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "850", + "brand": "Aeris", + "operator": "Aeris Communications, Inc.", + "status": "Operational", + "bands": "MVNO", + "notes": "M2M only; is a Full MVNO despite marketing claims to the contrary" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "860", + "brand": "Five Star Wireless", + "operator": "TX RSA 15B2, LP", + "status": "Operational", + "bands": "CDMA", + "notes": "Owned by West Central Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "870", + "brand": "PACE", + "operator": "Kaplan Telephone Company", + "status": "Not operational", + "bands": "GSM 850", + "notes": "Louisiana; spectrum sold to AT&T in 2014; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "880", + "brand": "DTC Wireless", + "operator": "Advantage Cellular Systems, Inc.", + "status": "Operational", + "bands": "LTE", + "notes": "Tennessee; owned by DeKalb Telephone Cooperative; fixed wireless only, GSM 850 discontinued January 2017" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "890", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "GSM 850 / GSM 1900", + "notes": "Former Unicel / Rural Cellular Corporation" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "891", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "892", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "893", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "894", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "895", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "896", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "897", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "898", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "899", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "900", + "brand": "Mid-Rivers Wireless", + "operator": "Cable & Communications Corporation", + "status": "Operational", + "bands": "CDMA2000 850 / CDMA2000 1900", + "notes": "Montana; network to shut down 1 August 2019" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "910", + "brand": null, + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "GSM 850", + "notes": "Former First Cellular of Southern Illinois, Alltel" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "920", + "brand": null, + "operator": "James Valley Wireless, LLC", + "status": "Operational", + "bands": "CDMA", + "notes": "South Dakota; includes NVC" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "930", + "brand": null, + "operator": "Copper Valley Wireless", + "status": "Operational", + "bands": "CDMA", + "notes": "Alaska" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "940", + "brand": null, + "operator": "Tyntec Inc.", + "status": "Unknown", + "bands": "MVNO", + "notes": "Formerly Poka Lambro Telecommunications Ltd., Iris Wireless LLC" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "950", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Operational", + "bands": "GSM 850", + "notes": "Former Texas RSA 1 d/b/a XIT Cellular" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "960", + "brand": "STRATA", + "operator": "UBET Wireless", + "status": "Operational", + "bands": "CDMA", + "notes": "Utah" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "970", + "brand": null, + "operator": "Globalstar", + "status": "Operational", + "bands": "Satellite", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "980", + "brand": "Peoples Telephone", + "operator": "Texas RSA 7B3", + "status": "Not operational", + "bands": "CDMA / LTE 700", + "notes": "Texas; spectrum sold to AT&T; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "310", + "mnc": "990", + "brand": "Evolve Broadband", + "operator": "Evolve Cellular Inc.", + "status": "Operational", + "bands": "LTE 700", + "notes": "LTE band 17; former Worldcall Interconnect Inc." + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "000", + "brand": "West Central Wireless", + "operator": "Mid-Tex Cellular Ltd.", + "status": "Operational", + "bands": "CDMA2000 850 / CDMA2000 1900", + "notes": "Texas" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "010", + "brand": "Chariton Valley", + "operator": "Chariton Valley Communications", + "status": "Not operational", + "bands": "CDMA2000 850 / CDMA2000 1900", + "notes": "Missouri; acquired by Verizon Wireless; CDMA shut down Dec 2022" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "012", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Not operational", + "bands": "CDMA2000 850 / CDMA2000 1900", + "notes": "CDMA shut down Dec 2022" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "020", + "brand": "Chariton Valley", + "operator": "Missouri RSA 5 Partnership", + "status": "Operational", + "bands": "GSM 850", + "notes": "Missouri; being acquired by Verizon Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "030", + "brand": "Indigo Wireless", + "operator": "Americell PA 3 Partnership", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850", + "notes": "Pennsylvania" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "040", + "brand": "Choice Wireless", + "operator": "Commnet Wireless", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / CDMA 2000 / UMTS", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "050", + "brand": null, + "operator": "Thumb Cellular LP", + "status": "Operational", + "bands": "CDMA2000 850", + "notes": "Michigan" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "060", + "brand": null, + "operator": "Space Data Corporation", + "status": "Operational", + "bands": "Unknown", + "notes": "Former Farmers Cellular Telephone Inc." + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "070", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Operational", + "bands": "GSM 850", + "notes": "Former Easterbrooke Cellular Corporation, Wisconsin RSA #7 Limited Partnership" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "080", + "brand": "Pine Cellular", + "operator": "Pine Telephone Company", + "status": "Operational", + "bands": "GSM 850 / LTE", + "notes": "Oklahoma" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "090", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Operational", + "bands": "GSM 1900", + "notes": "Former Siouxland PCS, Long Lines Wireless, acquired by AT&T Dec. 2013" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "100", + "brand": null, + "operator": "Nex-Tech Wireless", + "status": "Operational", + "bands": "CDMA2000", + "notes": "Kansas; former High Plains Wireless L.P." + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "110", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former High Plains Wireless L.P., Alltel" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "120", + "brand": "IT&E Wireless", + "operator": "IT&E Overseas, Inc", + "status": "Operational", + "bands": "Unknown", + "notes": "Guam; former Choice Phone LLC, iConnect, Wave Runner LLC" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "130", + "brand": null, + "operator": "Black & Veatch", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former Cell One Amarillo (Amarillo License L.P.), Lightsquared; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "140", + "brand": "Bravado Wireless", + "operator": "Cross Telephone Company", + "status": "Operational", + "bands": "CDMA", + "notes": "Oklahoma; former MBO Wireless, Sprocket Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "150", + "brand": null, + "operator": "Wilkes Cellular", + "status": "Operational", + "bands": "GSM 850", + "notes": "Georgia" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "160", + "brand": null, + "operator": "Lightsquared L.P.", + "status": "Not operational", + "bands": "LTE", + "notes": "Former Endless Mountains Wireless (acquired by Dobson Cellular in 2005) MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "170", + "brand": null, + "operator": "Tampnet", + "status": "Operational", + "bands": "GSM 850 / LTE", + "notes": "Gulf of Mexico; former PetroCom, Broadpoint Inc." + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "180", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Not operational", + "bands": "GSM 850 / UMTS 850 / UMTS 1900", + "notes": "Former Pacific Telesis, Cingular Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "190", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Cellular Properties Inc." + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "200", + "brand": null, + "operator": "Dish Wireless", + "status": "Unknown", + "bands": "5G", + "notes": "Former ARINC" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "210", + "brand": null, + "operator": "Telnyx LLC", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Farmers Cellular Telephone, Emery Telcom Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "220", + "brand": "U.S. Cellular", + "operator": "U.S. Cellular", + "status": "Operational", + "bands": "CDMA", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "230", + "brand": "C Spire", + "operator": "Cellular South Inc.", + "status": "Operational", + "bands": "LTE 700 / LTE 850 / LTE 1700 / LTE 1900 / TD-LTE 2500", + "notes": "CDMA shut down May 2022" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "240", + "brand": null, + "operator": "Cordova Wireless", + "status": "Operational", + "bands": "GSM / UMTS 850 / WiMAX", + "notes": "Alaska" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "250", + "brand": "IT&E Wireless", + "operator": "IT&E Overseas, Inc", + "status": "Operational", + "bands": "Unknown", + "notes": "Guam; former iConnect, Wave Runner LLC" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "260", + "brand": "T-Mobile", + "operator": "T-Mobile US", + "status": "Not operational", + "bands": "WiMAX", + "notes": "Former CellularOne of San Luis Obispo (sold to AT&T in 2010, Clearwire, Sprint Corporation" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "270", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Alltel" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "271", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Alltel" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "272", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Alltel" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "273", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Alltel" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "274", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Alltel" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "275", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Alltel" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "276", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Alltel" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "277", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Alltel" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "278", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Alltel" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "279", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Alltel" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "280", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "281", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "282", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "283", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "284", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "285", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "286", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "287", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "288", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "289", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "290", + "brand": "BLAZE", + "operator": "PinPoint Communications Inc.", + "status": "Not operational", + "bands": "GSM 1900 / UMTS / LTE", + "notes": "Nebraska; discontinued Dec 2020; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "300", + "brand": null, + "operator": "Nexus Communications, Inc.", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former Rutal Cellular Corporation; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "310", + "brand": "NMobile", + "operator": "Leaco Rural Telephone Company Inc.", + "status": "Not operational", + "bands": "CDMA2000", + "notes": "New Mexico; shut down June 2018" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "320", + "brand": "Choice Wireless", + "operator": "Commnet Wireless", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / CDMA 2000 / UMTS", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "330", + "brand": "Bug Tussel Wireless", + "operator": "Bug Tussel Wireless LLC", + "status": "Operational", + "bands": "GSM 1900 / LTE 1700 / WiMAX 3700", + "notes": "Wisconsin" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "340", + "brand": null, + "operator": "Illinois Valley Cellular", + "status": "Operational", + "bands": "CDMA2000 / LTE 850", + "notes": "Illinois" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "350", + "brand": "Nemont", + "operator": "Sagebrush Cellular, Inc.", + "status": "Operational", + "bands": "CDMA2000", + "notes": "Former Torrestar Networks Inc.; Montana" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "360", + "brand": null, + "operator": "Stelera Wireless", + "status": "Not operational", + "bands": "UMTS 1700", + "notes": "shut down 30 April 2013" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "370", + "brand": "GCI Wireless", + "operator": "General Communication Inc.", + "status": "Operational", + "bands": "LTE 1700", + "notes": "Former Alaska Communications" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "380", + "brand": null, + "operator": "New Dimension Wireless Ltd.", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "390", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Midwest Wireless Holdings LLC, Alltel" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "400", + "brand": null, + "operator": null, + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Salmon PCS LLC, New Cingular Wireless PCS LLC; for testing" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "410", + "brand": "Chat Mobility", + "operator": "Iowa RSA No. 2 LP", + "status": "Operational", + "bands": "CDMA", + "notes": "Iowa" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "420", + "brand": "NorthwestCell", + "operator": "Northwest Missouri Cellular LP", + "status": "Operational", + "bands": "CDMA", + "notes": "Missouri" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "430", + "brand": "Chat Mobility", + "operator": "RSA 1 LP", + "status": "Unknown", + "bands": "CDMA", + "notes": "Former Cellular 29 Plus; acquired by Chat Mobility in 2009; Iowa" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "440", + "brand": null, + "operator": "Verizon Wireless", + "status": "Not operational", + "bands": "CDMA", + "notes": "Former Bluegrass Cellular; Kentucky" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "450", + "brand": "PTCI", + "operator": "Panhandle Telecommunication Systems Inc.", + "status": "Operational", + "bands": "GSM 1900 / LTE 700", + "notes": "Also known as Panhandle Telephone Cooperative, Inc.; Oklahoma" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "460", + "brand": null, + "operator": "Electric Imp Inc.", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former Fisher Wireless Services Inc.; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "470", + "brand": "Viya", + "operator": "Vitelcom Cellular Inc.", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / TD-LTE 2500", + "notes": "Former Innovative Wireless; US Virgin Islands" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "480", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Operational", + "bands": "LTE 700", + "notes": "C Block" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "481", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Not operational", + "bands": "LTE 700", + "notes": "C Block for future use" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "482", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Not operational", + "bands": "LTE 700", + "notes": "C Block for future use" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "483", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Not operational", + "bands": "LTE 700", + "notes": "C Block for future use" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "484", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Not operational", + "bands": "LTE 700", + "notes": "C Block for future use" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "485", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Not operational", + "bands": "LTE 700", + "notes": "C Block for future use" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "486", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Not operational", + "bands": "LTE 700", + "notes": "C Block for future use" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "487", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Not operational", + "bands": "LTE 700", + "notes": "C Block for future use" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "488", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Not operational", + "bands": "LTE 700", + "notes": "C Block for future use" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "489", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Not operational", + "bands": "LTE 700", + "notes": "C Block for future use" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "490", + "brand": "T-Mobile", + "operator": "T-Mobile US", + "status": "Operational", + "bands": "LTE 850 / LTE 1900 / TD-LTE 2500", + "notes": "Former Wirefree Partners LLC, acquired by Sprint in 2010; LTE bands 25, 26, 41" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "500", + "brand": null, + "operator": "Mosaic Telecom", + "status": "Not operational", + "bands": "UMTS / LTE 700 / LTE 1700", + "notes": "Former CTC Telecom Inc.; discontinued cellular service in 2016; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "510", + "brand": null, + "operator": "Ligado Networks", + "status": "Not operational", + "bands": "LTE", + "notes": "Former Benton-Lian Wireless, Lightsquared L.P." + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "520", + "brand": null, + "operator": "Lightsquared L.P.", + "status": "Not operational", + "bands": "LTE", + "notes": "Former Crossroads Wireless Inc.; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "530", + "brand": "NewCore", + "operator": "NewCore Wireless LLC", + "status": "Operational", + "bands": "LTE 1900", + "notes": "Former Wireless Communications Venture" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "540", + "brand": null, + "operator": "Coeur Rochester, Inc", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Keystone Wireless, Proximiti Mobility" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "550", + "brand": "Choice Wireless", + "operator": "Commnet Wireless LLC", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / CDMA 2000 / UMTS", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "560", + "brand": "OTZ Cellular", + "operator": "OTZ Communications, Inc.", + "status": "Operational", + "bands": "GSM 850", + "notes": "Alaska" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "570", + "brand": null, + "operator": "Mediacom", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former BendBroadband, shut down 25-July-2014;" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "580", + "brand": "U.S. Cellular", + "operator": "U.S. Cellular", + "status": "Operational", + "bands": "LTE 700 / LTE 850", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "590", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former California RSA No3 Ltd Partnership d/b/a Golden State Cellular, acquired by Verizon in 2014" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "600", + "brand": "Limitless Mobile", + "operator": "Limitless Mobile, LLC", + "status": "Operational", + "bands": "LTE 1900", + "notes": "Former Cox Wireless, shut down in 2012" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "610", + "brand": "SRT Communications", + "operator": "North Dakota Network Co.", + "status": "Not operational", + "bands": "CDMA", + "notes": "North Dakota; shut down in 2017" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "620", + "brand": null, + "operator": "TerreStar Networks, Inc.", + "status": "Not operational", + "bands": "Satellite", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "630", + "brand": "C Spire", + "operator": "Cellular South Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Corr Wireless Communications" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "640", + "brand": "Rock Wireless", + "operator": "Standing Rock Telecommunications", + "status": "Operational", + "bands": "LTE 700", + "notes": "A Block; covering an American Indian reservation straddling remote parts of North and South Dakota" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "650", + "brand": "United Wireless", + "operator": "United Wireless", + "status": "Operational", + "bands": "CDMA / LTE 700 / WiMAX 3700", + "notes": "Kansas" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "660", + "brand": "Metro", + "operator": "Metro by T-Mobile", + "status": "Operational", + "bands": "MVNO", + "notes": "Former MetroPCS; CDMA2000 1900 / CDMA2000 1700 shut down in 2015; LTE 1700 merged with T-Mobile US" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "670", + "brand": "Pine Belt Wireless", + "operator": "Pine Belt Cellular Inc.", + "status": "Operational", + "bands": "CDMA / LTE 700", + "notes": "Alabama" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "680", + "brand": null, + "operator": "GreenFly LLC", + "status": "Unknown", + "bands": "GSM 1900", + "notes": "Iowa" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "690", + "brand": null, + "operator": "TeleBEEPER of New Mexico", + "status": "Operational", + "bands": "paging", + "notes": "New Mexico; 850 MHz band never used" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "700", + "brand": null, + "operator": "Midwest Network Solutions Hub LLC", + "status": "Not operational", + "bands": "MVNO", + "notes": "Former TotalSolutions Telecom LLC, Aspenta International, Inc.; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "710", + "brand": null, + "operator": "Northeast Wireless Networks LLC", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "720", + "brand": null, + "operator": "MainePCS LLC", + "status": "Not operational", + "bands": "GSM 1900", + "notes": "Bankrupt in 2009" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "730", + "brand": null, + "operator": "Proximiti Mobility Inc.", + "status": "Not operational", + "bands": "GSM 850", + "notes": "Former Keystone Wireless; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "740", + "brand": null, + "operator": "Telalaska Cellular", + "status": "Operational", + "bands": "GSM 850 / LTE", + "notes": "Alaska" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "750", + "brand": "ClearTalk", + "operator": "Flat Wireless LLC", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former NetAmerica Alliance; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "760", + "brand": null, + "operator": "Edigen Inc.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "770", + "brand": null, + "operator": "Altiostar Networks, Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Geneseo Communications Services Inc., Radio Mobile Access Inc." + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "780", + "brand": "ASTCA", + "operator": "American Samoa Telecommunications Authority", + "status": "Operational", + "bands": "LTE 700", + "notes": "Former Cellular Network Partnership d/b/a Pioneer Cellular;" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "790", + "brand": null, + "operator": "Coleman County Telephone Cooperative, Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Cellular Network Partnership d/b/a Pioneer Cellular" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "800", + "brand": null, + "operator": "Verizon Wireless", + "status": "Operational", + "bands": "LTE 700", + "notes": "Former Bluegrass Cellular; Kentucky" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "810", + "brand": null, + "operator": "Verizon Wireless", + "status": "Operational", + "bands": "LTE 700", + "notes": "Former Bluegrass Cellular; Kentucky" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "820", + "brand": null, + "operator": "Sonus Networks", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Kineto Wireless Inc." + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "830", + "brand": null, + "operator": "Thumb Cellular LP", + "status": "Operational", + "bands": "LTE 700", + "notes": "Michigan" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "840", + "brand": "Cellcom", + "operator": "Nsight", + "status": "Operational", + "bands": "LTE 700 / 5G 600 / 5G 850", + "notes": "Wisconsin" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "850", + "brand": "Cellcom", + "operator": "Nsight", + "status": "Operational", + "bands": "LTE 700 / 5G 600 / 5G 850", + "notes": "Wisconsin" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "860", + "brand": "STRATA", + "operator": "Uintah Basin Electronic Telecommunications", + "status": "Operational", + "bands": "LTE 700", + "notes": "Utah" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "870", + "brand": "T-Mobile", + "operator": "T-Mobile US", + "status": "Unknown", + "bands": "MVNO", + "notes": "Former Sprint Corporation" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "880", + "brand": "T-Mobile", + "operator": "T-Mobile US", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Sprint Corporation" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "882", + "brand": "T-Mobile", + "operator": "T-Mobile US", + "status": "Operational", + "bands": "Unknown", + "notes": "Former Sprint Corporation" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "890", + "brand": null, + "operator": "Globecomm Network Services Corporation", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "900", + "brand": null, + "operator": "GigSky", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "910", + "brand": "MobileNation", + "operator": "SI Wireless LLC", + "status": "Not operational", + "bands": "CDMA / LTE", + "notes": "Tennessee; shut down Jan 2020; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "920", + "brand": "Chariton Valley", + "operator": "Missouri RSA 5 Partnership", + "status": "Unknown", + "bands": "Unknown", + "notes": "Missouri; being acquired by Verizon Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "930", + "brand": null, + "operator": "Cox Communications", + "status": "Unknown", + "bands": "Unknown 3500", + "notes": "Former Cablevision Systems Corporation, Syringa Wireless (shut down Dec 2015)" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "940", + "brand": "T-Mobile", + "operator": "T-Mobile US", + "status": "Not operational", + "bands": "WiMAX", + "notes": "Former Clearwire, Sprint Corporation" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "950", + "brand": "ETC", + "operator": "Enhanced Telecommmunications Corp.", + "status": "Operational", + "bands": "CDMA / LTE 700", + "notes": "Former Sunman Telecommunications Corp.; Indiana; fixed broadband" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "960", + "brand": "Lycamobile", + "operator": "Lycamobile USA Inc.", + "status": "Not operational", + "bands": "MVNO", + "notes": "used T-Mobile; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "970", + "brand": "Big River Broadband", + "operator": "Big River Broadband, LLC", + "status": "Operational", + "bands": "LTE 1700", + "notes": "Utilizing 20 MHz in A block" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "980", + "brand": null, + "operator": "LigTel Communications", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "311", + "mnc": "990", + "brand": null, + "operator": "VTel Wireless", + "status": "Operational", + "bands": "LTE 700 / LTE 1700", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "010", + "brand": "Chariton Valley", + "operator": "Chariton Valley Communications Corporation, Inc", + "status": "Unknown", + "bands": "Unknown", + "notes": "Missouri; being acquired by Verizon Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "020", + "brand": null, + "operator": "Infrastructure Networks, LLC", + "status": "Operational", + "bands": "LTE 700", + "notes": "Focused on oil & gas industries" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "030", + "brand": "Bravado Wireless", + "operator": "Cross Wireless", + "status": "Operational", + "bands": "LTE 700", + "notes": "Oklahoma; former MBO Wireless, Sprocket Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "040", + "brand": null, + "operator": "Custer Telephone Co-op (CTCI)", + "status": "Operational", + "bands": "LTE 700", + "notes": "Idaho" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "050", + "brand": null, + "operator": "Fuego Wireless", + "status": "Not operational", + "bands": "LTE 700", + "notes": "fixed broadband; New Mexico; shut down in 2016, spectrum sold to AT&T and Infrastructure Networks; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "060", + "brand": null, + "operator": "CoverageCo", + "status": "Not operational", + "bands": "CDMA / GSM", + "notes": "Vermont MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "070", + "brand": null, + "operator": "Adams Networks Inc", + "status": "Not operational", + "bands": "LTE 700", + "notes": "C block fixed broadband; Illinois; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "080", + "brand": "SyncSouth", + "operator": "South Georgia Regional Information Technology Authority", + "status": "Operational", + "bands": "UMTS-TDD 700", + "notes": "LTE 700 planned" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "090", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Allied Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "100", + "brand": null, + "operator": "ClearSky Technologies, Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "110", + "brand": null, + "operator": "Texas Energy Network LLC", + "status": "Not operational", + "bands": "LTE", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "120", + "brand": "Appalachian Wireless", + "operator": "East Kentucky Network, LLC", + "status": "Operational", + "bands": "LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "130", + "brand": "Appalachian Wireless", + "operator": "East Kentucky Network, LLC", + "status": "Operational", + "bands": "LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "140", + "brand": "Revol Wireless", + "operator": "Cleveland Unlimited, Inc.", + "status": "Not operational", + "bands": "CDMA", + "notes": "Shut down 2014, acquired by Sprint; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "150", + "brand": "NorthwestCell", + "operator": "Northwest Missouri Cellular LP", + "status": "Operational", + "bands": "LTE 700", + "notes": "Missouri" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "160", + "brand": "Chat Mobility", + "operator": "RSA1 Limited Partnership", + "status": "Operational", + "bands": "LTE 700", + "notes": "Iowa" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "170", + "brand": "Chat Mobility", + "operator": "Iowa RSA No. 2 LP", + "status": "Operational", + "bands": "LTE 700", + "notes": "Iowa" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "180", + "brand": null, + "operator": "Limitless Mobile LLC", + "status": "Operational", + "bands": "LTE 1900", + "notes": "Former Keystone Wireless LLC" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "190", + "brand": "T-Mobile", + "operator": "T-Mobile US", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Sprint Corporation" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "200", + "brand": null, + "operator": "Voyager Mobility LLC", + "status": "Not operational", + "bands": "MVNO", + "notes": "Shut down 2015; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "210", + "brand": null, + "operator": "Aspenta International, Inc.", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "220", + "brand": "Chariton Valley", + "operator": "Chariton Valley Communications Corporation, Inc.", + "status": "Operational", + "bands": "LTE 700", + "notes": "being acquired by Verizon Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "230", + "brand": "SRT Communications", + "operator": "North Dakota Network Co.", + "status": "Not operational", + "bands": "Unknown", + "notes": "North Dakota; shut down in 2017" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "240", + "brand": "Sprint", + "operator": "Sprint Corporation", + "status": "Not operational", + "bands": "Unknown", + "notes": "Former Clearwire; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "250", + "brand": "T-Mobile", + "operator": "T-Mobile US", + "status": "Operational", + "bands": "LTE 850 / LTE 1900 / TD-LTE 2500", + "notes": "Former Clearwire, Sprint Corporation" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "260", + "brand": null, + "operator": "WorldCell Solutions LLC", + "status": "Unknown", + "bands": "LTE 1900", + "notes": "Former NewCore, Central LTE Holdings" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "270", + "brand": "Pioneer Cellular", + "operator": "Cellular Network Partnership", + "status": "Operational", + "bands": "LTE 700", + "notes": "Oklahoma" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "280", + "brand": "Pioneer Cellular", + "operator": "Cellular Network Partnership", + "status": "Operational", + "bands": "LTE 700", + "notes": "Oklahoma" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "290", + "brand": "STRATA", + "operator": "Uintah Basin Electronic Telecommunications", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "300", + "brand": "telna Mobile", + "operator": "Telecom North America Mobile, Inc.", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "310", + "brand": null, + "operator": "Clear Stream Communications, LLC", + "status": "Operational", + "bands": "LTE 700", + "notes": "North Carolina; owned by Carolina West Wireless, Wilkes Communications" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "320", + "brand": null, + "operator": "RTC Communications LLC", + "status": "Operational", + "bands": "LTE 700", + "notes": "Indiana; former S and R Communications LLC" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "330", + "brand": "Nemont", + "operator": "Nemont Communications, Inc.", + "status": "Operational", + "bands": "LTE 700", + "notes": "Montana" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "340", + "brand": "MTA", + "operator": "Matanuska Telephone Association, Inc.", + "status": "Not operational", + "bands": "LTE 700", + "notes": "Alaska; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "350", + "brand": null, + "operator": "Triangle Communication System Inc.", + "status": "Operational", + "bands": "LTE 700", + "notes": "Montana; being acquired by Verizon Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "360", + "brand": null, + "operator": "Wes-Tex Telecommunications, Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Texas" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "370", + "brand": "Choice Wireless", + "operator": "Commnet Wireless", + "status": "Operational", + "bands": "LTE", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "380", + "brand": null, + "operator": "Copper Valley Wireless", + "status": "Operational", + "bands": "LTE 700", + "notes": "Alaska" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "390", + "brand": "FTC Wireless", + "operator": "FTC Communications LLC", + "status": "Operational", + "bands": "UMTS / LTE", + "notes": "South Carolina; owned by Farmers Telephone Cooperative" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "400", + "brand": "Mid-Rivers Wireless", + "operator": "Mid-Rivers Telephone Cooperative", + "status": "Operational", + "bands": "LTE 700", + "notes": "Montana; network to shut down 1 August 2019" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "410", + "brand": null, + "operator": "Eltopia Communications, LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "420", + "brand": null, + "operator": "Nex-Tech Wireless", + "status": "Operational", + "bands": "LTE 700 / 5G 600", + "notes": "Kansas" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "430", + "brand": null, + "operator": "Silver Star Communications", + "status": "Operational", + "bands": "LTE 700", + "notes": "Wyoming; fixed wireless, CDMA shut down Dec 2022" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "440", + "brand": null, + "operator": "Kajeet, Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Consolidated Telcom" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "450", + "brand": null, + "operator": "Cable & Communications Corporation", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "460", + "brand": null, + "operator": "Ketchikan Public Utilities (KPU)", + "status": "Operational", + "bands": "LTE 700", + "notes": "Alaska" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "470", + "brand": "Carolina West Wireless", + "operator": "Carolina West Wireless", + "status": "Operational", + "bands": "LTE 700", + "notes": "North Carolina" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "480", + "brand": "Nemont", + "operator": "Sagebrush Cellular, Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "490", + "brand": null, + "operator": "TrustComm, Inc.", + "status": "Not operational", + "bands": "Satellite", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "500", + "brand": null, + "operator": "AB Spectrum LLC", + "status": "Not operational", + "bands": "LTE 700", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "510", + "brand": null, + "operator": "WUE Inc.", + "status": "Unknown", + "bands": "LTE", + "notes": "Nevada; CDMA shut down" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "520", + "brand": null, + "operator": "ANIN", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "530", + "brand": "T-Mobile", + "operator": "T-Mobile US", + "status": "Operational", + "bands": "Unknown", + "notes": "Former Sprint Corporation" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "540", + "brand": null, + "operator": "Broadband In Hand LLC", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "550", + "brand": null, + "operator": "Great Plains Communications, Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "560", + "brand": null, + "operator": "NHLT Inc.", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "570", + "brand": "Blue Wireless", + "operator": "Buffalo-Lake Erie Wireless Systems Co., LLC", + "status": "Not operational", + "bands": "CDMA / LTE", + "notes": "shut down July 2020" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "580", + "brand": null, + "operator": "Google LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Shuttle Wireless Solutions Inc., Bingham McCutchen LLP, Morgan, Lewis & Bockius" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "590", + "brand": "NMU", + "operator": "Northern Michigan University", + "status": "Operational", + "bands": "LTE 2600", + "notes": "EBS Band (LTE band 7)" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "600", + "brand": "Nemont", + "operator": "Sagebrush Cellular, Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "610", + "brand": null, + "operator": "ShawnTech Communications", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former nTelos" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "620", + "brand": null, + "operator": "GlobeTouch Inc.", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Fogg Mobile, Inc." + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "630", + "brand": null, + "operator": "NetGenuity, Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "640", + "brand": "Nemont", + "operator": "Sagebrush Cellular, Inc.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "650", + "brand": null, + "operator": "Brightlink", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former 365 Wireless LLC" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "660", + "brand": "nTelos", + "operator": "nTelos Wireless", + "status": "Not operational", + "bands": "LTE 1900", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "670", + "brand": "FirstNet", + "operator": "AT&T Mobility", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "680", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "690", + "brand": null, + "operator": "TGS, LLC", + "status": "Operational", + "bands": "MVNO/MVNE", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "700", + "brand": null, + "operator": "Wireless Partners, LLC", + "status": "Operational", + "bands": "LTE 700", + "notes": "Maine" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "710", + "brand": null, + "operator": "Great North Woods Wireless LLC", + "status": "Operational", + "bands": "LTE", + "notes": "New Hampshire; former Wireless Partners, LLC" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "720", + "brand": "Southern LINC", + "operator": "Southern Communications Services", + "status": "Operational", + "bands": "LTE 850", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "730", + "brand": null, + "operator": "Triangle Communication System Inc.", + "status": "Not operational", + "bands": "CDMA", + "notes": "Montana; acquired by Verizon Wireless; CDMA shut down Dec 2022" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "740", + "brand": "Locus Telecommunications", + "operator": "KDDI America, Inc.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "750", + "brand": null, + "operator": "Artemis Networks LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "760", + "brand": "ASTAC", + "operator": "Arctic Slope Telephone Association Cooperative", + "status": "Unknown", + "bands": "Unknown", + "notes": "Alaska" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "770", + "brand": "Verizon", + "operator": "Verizon Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "780", + "brand": null, + "operator": "Redzone Wireless", + "status": "Operational", + "bands": "TD-LTE 2500", + "notes": "LTE band 41; Maine" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "790", + "brand": null, + "operator": "Gila Electronics", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "800", + "brand": null, + "operator": "Cirrus Core Networks", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "810", + "brand": "BBCP", + "operator": "Bristol Bay Telephone Cooperative", + "status": "Operational", + "bands": "CDMA / LTE", + "notes": "Alaska" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "820", + "brand": null, + "operator": "Santel Communications Cooperative, Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": "South Dakota" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "830", + "brand": null, + "operator": "Kings County Office of Education", + "status": "Operational", + "bands": "WiMAX", + "notes": "California" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "840", + "brand": null, + "operator": "South Georgia Regional Information Technology Authority", + "status": "Unknown", + "bands": "Unknown", + "notes": "Georgia" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "850", + "brand": null, + "operator": "Onvoy Spectrum, LLC", + "status": "Unknown", + "bands": "MVNO", + "notes": "Former Emergency Networks LLC" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "860", + "brand": "ClearTalk", + "operator": "Flat Wireless, LLC", + "status": "Not operational", + "bands": "CDMA / LTE 1900 / LTE 1700", + "notes": "Texas; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "870", + "brand": null, + "operator": "GigSky Mobile, LLC", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "880", + "brand": null, + "operator": "Albemarle County Public Schools", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "890", + "brand": null, + "operator": "Circle Gx", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "900", + "brand": "ClearTalk", + "operator": "Flat West Wireless, LLC", + "status": "Operational", + "bands": "CDMA / LTE 1900 / LTE 1700", + "notes": "Arizona, California" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "910", + "brand": "Appalachian Wireless", + "operator": "East Kentucky Network, LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "920", + "brand": null, + "operator": "Northeast Wireless Networks LLC", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "930", + "brand": null, + "operator": "Hewlett-Packard Communication Services, LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "940", + "brand": null, + "operator": "Webformix", + "status": "Operational", + "bands": "Unknown", + "notes": "Oregon" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "950", + "brand": null, + "operator": "Custer Telephone Co-op (CTCI)", + "status": "Operational", + "bands": "CDMA", + "notes": "Idaho" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "960", + "brand": null, + "operator": "M&A Technology, Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "970", + "brand": null, + "operator": "IOSAZ Intellectual Property LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "980", + "brand": null, + "operator": "Mark Twain Communications Company", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "312", + "mnc": "990", + "brand": "Premier Broadband", + "operator": "Premier Holdings LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "000", + "brand": null, + "operator": "Tennessee Wireless", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "010", + "brand": "Bravado Wireless", + "operator": "Cross Wireless LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Sprocket Wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "020", + "brand": "CTC Wireless", + "operator": "Cambridge Telephone Company Inc.", + "status": "Operational", + "bands": "CDMA", + "notes": "Idaho" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "030", + "brand": null, + "operator": "AT&T Mobility", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Snake River PCS" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "040", + "brand": "NNTC Wireless", + "operator": "Nucla-Naturita Telephone Company", + "status": "Operational", + "bands": "CDMA", + "notes": "Colorado" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "050", + "brand": "Breakaway Wireless", + "operator": "Manti Tele Communications Company, Inc.", + "status": "Not operational", + "bands": "CDMA", + "notes": "Utah; shut down 2018; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "060", + "brand": null, + "operator": "Country Wireless", + "status": "Operational", + "bands": "Unknown", + "notes": "Wisconsin" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "061", + "brand": null, + "operator": "Country Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "070", + "brand": null, + "operator": "Midwest Network Solutions Hub LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "080", + "brand": null, + "operator": "Speedwavz LLP", + "status": "Operational", + "bands": "Unknown", + "notes": "Ohio" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "090", + "brand": null, + "operator": "Vivint Wireless, Inc.", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "100", + "brand": "FirstNet", + "operator": "AT&T FirstNet", + "status": "Operational", + "bands": "LTE 700", + "notes": "D Block" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "110", + "brand": "FirstNet", + "operator": "AT&T FirstNet", + "status": "Unknown", + "bands": "LTE", + "notes": "D Block" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "120", + "brand": "FirstNet", + "operator": "AT&T FirstNet", + "status": "Unknown", + "bands": "LTE", + "notes": "D Block" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "130", + "brand": "FirstNet", + "operator": "AT&T FirstNet", + "status": "Unknown", + "bands": "LTE", + "notes": "D Block" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "140", + "brand": "FirstNet", + "operator": "AT&T FirstNet", + "status": "Unknown", + "bands": "LTE", + "notes": "D Block" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "150", + "brand": "FirstNet", + "operator": "700 MHz Public Safety Broadband", + "status": "Unknown", + "bands": "LTE", + "notes": "D Block for future use" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "160", + "brand": "FirstNet", + "operator": "700 MHz Public Safety Broadband", + "status": "Unknown", + "bands": "LTE", + "notes": "D Block for future use" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "170", + "brand": "FirstNet", + "operator": "700 MHz Public Safety Broadband", + "status": "Unknown", + "bands": "LTE", + "notes": "D Block for future use" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "180", + "brand": "FirstNet", + "operator": "700 MHz Public Safety Broadband", + "status": "Unknown", + "bands": "LTE", + "notes": "D Block for future use" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "190", + "brand": "FirstNet", + "operator": "700 MHz Public Safety Broadband", + "status": "Unknown", + "bands": "LTE", + "notes": "D Block for future use" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "200", + "brand": null, + "operator": "Mercury Network Corporation", + "status": "Operational", + "bands": "Unknown", + "notes": "Michigan" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "210", + "brand": "AT&T", + "operator": "AT&T Mobility", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "220", + "brand": null, + "operator": "Custer Telephone Co-op (CTCI)", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "230", + "brand": null, + "operator": "Velocity Communications Inc.", + "status": "Unknown", + "bands": "LTE", + "notes": "Montana" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "240", + "brand": "Peak Internet", + "operator": "Fundamental Holdings, Corp.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Colorado" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "250", + "brand": null, + "operator": "Imperial County Office of Education", + "status": "Unknown", + "bands": "LTE", + "notes": "California" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "260", + "brand": null, + "operator": "Expeto Wireless Inc.", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "270", + "brand": null, + "operator": "Blackstar Management", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "280", + "brand": null, + "operator": "King Street Wireless, LP", + "status": "Unknown", + "bands": "LTE 700", + "notes": "Fixed wireless; mobile service through U.S. Cellular" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "290", + "brand": null, + "operator": "Gulf Coast Broadband LLC", + "status": "Unknown", + "bands": "LTE", + "notes": "Fixed wireless; Louisiana" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "300", + "brand": null, + "operator": "Cambio WiFi of Delmarva, LLC", + "status": "Operational", + "bands": "LTE", + "notes": "Maryland" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "310", + "brand": null, + "operator": "CAL.NET, Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "320", + "brand": null, + "operator": "Paladin Wireless", + "status": "Unknown", + "bands": "LTE 3500", + "notes": "Fixed wireless; Georgia" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "330", + "brand": null, + "operator": "CenturyTel Broadband Services LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "340", + "brand": "Dish", + "operator": "Dish Wireless", + "status": "Operational", + "bands": "5G 600 / 5G 1700", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "350", + "brand": "Dish", + "operator": "Dish Wireless", + "status": "Not operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "360", + "brand": "Dish", + "operator": "Dish Wireless", + "status": "Not operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "370", + "brand": null, + "operator": "Red Truck Wireless, LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": "Fixed wireless" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "380", + "brand": null, + "operator": "OptimERA Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "390", + "brand": null, + "operator": "Altice USA Wireless, Inc.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "400", + "brand": null, + "operator": "Texoma Communications, LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "410", + "brand": null, + "operator": "pdvWireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "420", + "brand": null, + "operator": "Hudson Valley Wireless", + "status": "Unknown", + "bands": "LTE 3500", + "notes": "CBRS fixed wireless; New York" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "440", + "brand": null, + "operator": "Arvig Enterprises, Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": "Minnesota" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "450", + "brand": null, + "operator": "Spectrum Wireless Holdings, LLC", + "status": "Unknown", + "bands": "Unknown 3500", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "460", + "brand": "Mobi", + "operator": "Mobi, Inc.", + "status": "Operational", + "bands": "LTE / CBRS", + "notes": "Hawaiʻi;CDMA network sold to Verizon in 2014" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "470", + "brand": null, + "operator": "San Diego Gas & Electric Company", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "480", + "brand": null, + "operator": "Ready Wireless, LLC", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "490", + "brand": null, + "operator": "Puloli, Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "500", + "brand": null, + "operator": "Shelcomm, Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "510", + "brand": "Claro", + "operator": "Puerto Rico Telephone Company", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "520", + "brand": null, + "operator": "Florida Broadband, Inc.", + "status": "Operational", + "bands": "Unknown", + "notes": "Fixed wireless; Florida" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "540", + "brand": null, + "operator": "Nokia Innovations US LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "550", + "brand": null, + "operator": "Mile High Networks LLC", + "status": "Operational", + "bands": "Unknown", + "notes": "Fixed wireless; Arizona" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "560", + "brand": null, + "operator": "Transit Wireless LLC", + "status": "Operational", + "bands": "Unknown", + "notes": "Network for MTA / NYCTA" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "570", + "brand": "Pioneer Cellular", + "operator": "Cellular Network Partnership", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "580", + "brand": null, + "operator": "Telecall Telecommunications Corp.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "590", + "brand": "Southern LINC", + "operator": "Southern Communications Services, Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "600", + "brand": null, + "operator": "ST Engineering iDirect", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "610", + "brand": null, + "operator": "Crystal Automation Systems, Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "620", + "brand": null, + "operator": "OmniProphis Corporation", + "status": "Unknown", + "bands": "Unknown 1700", + "notes": "Former Screened Images, Inc." + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "630", + "brand": null, + "operator": "LICT Corporation", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "640", + "brand": null, + "operator": "Geoverse LLC", + "status": "Unknown", + "bands": "LTE 3500", + "notes": "private networks" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "650", + "brand": null, + "operator": "Chevron USA, Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "660", + "brand": null, + "operator": "Hudson Valley Wireless", + "status": "Unknown", + "bands": "LTE 3500", + "notes": "CBRS fixed wireless; New York" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "670", + "brand": null, + "operator": "Hudson Valley Wireless", + "status": "Unknown", + "bands": "LTE 3500", + "notes": "CBRS fixed wireless; New York" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "680", + "brand": null, + "operator": "Hudson Valley Wireless", + "status": "Unknown", + "bands": "LTE 3500", + "notes": "CBRS fixed wireless; New York" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "690", + "brand": null, + "operator": "Shenandoah Cable Television, LLC", + "status": "Operational", + "bands": "LTE", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "700", + "brand": null, + "operator": "Ameren Services Company", + "status": "Unknown", + "bands": "800", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "710", + "brand": null, + "operator": "Extent Systems", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "720", + "brand": null, + "operator": "1st Point Communications, LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "730", + "brand": null, + "operator": "TruAccess Networks", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "740", + "brand": null, + "operator": "RTO Wireless, LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "750", + "brand": "ZipLink", + "operator": "CellTex Networks, LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "760", + "brand": null, + "operator": "Hologram, Inc.", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "770", + "brand": null, + "operator": "Tango Networks", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "780", + "brand": null, + "operator": "Windstream Holdings", + "status": "Unknown", + "bands": "Unknown 3500", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "790", + "brand": "Liberty", + "operator": "Liberty Cablevision of Puerto Rico LLC", + "status": "Not operational", + "bands": "UMTS 850 / UMTS 1900 / LTE 700 / LTE 850 / LTE 1700 / LTE 1900 / LTE 2300 / 5G 850", + "notes": "Puerto Rico; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "800", + "brand": null, + "operator": "Wireless Technologies of Nebraska", + "status": "Not operational", + "bands": "Unknown", + "notes": "Nebraska, Iowa; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "810", + "brand": null, + "operator": "Watch Communications", + "status": "Operational", + "bands": "LTE 3500", + "notes": "Illinois, Indiana, Kentucky & Ohio;" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "820", + "brand": null, + "operator": "Inland Cellular Telephone Company", + "status": "Not operational", + "bands": "LTE", + "notes": "Washington; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "830", + "brand": null, + "operator": "360 Communications", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "840", + "brand": null, + "operator": "CellBlox Acquisitions", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "850", + "brand": null, + "operator": "Softcom Internet Communications, Inc", + "status": "Operational", + "bands": "LTE", + "notes": "California" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "860", + "brand": "Nextlink", + "operator": "AMG Technology Investment Group", + "status": "Operational", + "bands": "Unknown 3500", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "870", + "brand": null, + "operator": "ElektraFi LLC", + "status": "Operational", + "bands": "5G 3500", + "notes": "Texas" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "880", + "brand": null, + "operator": "Shuttle wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "890", + "brand": "TCOE", + "operator": "Tulare County Office of Education", + "status": "Operational", + "bands": "Unknown", + "notes": "California" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "900", + "brand": null, + "operator": "Tribal Networks", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "910", + "brand": null, + "operator": "San Diego Gas & Electric", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "920", + "brand": null, + "operator": "JCI", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "930", + "brand": "Rock Wireless", + "operator": "Standing Rock Telecom", + "status": "Operational", + "bands": "LTE 2500", + "notes": "North Dakota" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "940", + "brand": null, + "operator": "Motorola Solutions", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "950", + "brand": null, + "operator": "Cheyenne and Arapaho Development Group", + "status": "Unknown", + "bands": "2500", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "960", + "brand": null, + "operator": "Townes 5G, LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "970", + "brand": null, + "operator": "Tycrhron", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "980", + "brand": null, + "operator": "Next Generation Application LLC", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "313", + "mnc": "990", + "brand": null, + "operator": "Ericsson US", + "status": "Unknown", + "bands": "Unknown", + "notes": "EEC/ATL Private Networks" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "010", + "brand": null, + "operator": "Boingo Wireless Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "020", + "brand": null, + "operator": "Spectrum Wireless Holdings, LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "030", + "brand": null, + "operator": "Baicells Technologies North America Inc.", + "status": "Unknown", + "bands": "LTE", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "060", + "brand": null, + "operator": "Texas A&M University", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "070", + "brand": null, + "operator": "Texas A&M University", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "080", + "brand": null, + "operator": "Texas A&M University", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "090", + "brand": null, + "operator": "Southern LINC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "100 - 190", + "brand": null, + "operator": "Reserved for Public Safety", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "200", + "brand": null, + "operator": "XF Wireless Investments, LLC", + "status": "Unknown", + "bands": "Unknown 3500", + "notes": "Owned by Comcast" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "210", + "brand": null, + "operator": "Telecom Resource Center", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "220", + "brand": null, + "operator": "Securus Technologies", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "230", + "brand": null, + "operator": "Trace-Tek LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": "Use in correctional institutions" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "240", + "brand": null, + "operator": "XF Wireless Investments, LLC", + "status": "Unknown", + "bands": "Unknown 3500", + "notes": "Owned by Comcast" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "260", + "brand": null, + "operator": "AT&T Mobility", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "270", + "brand": null, + "operator": "AT&T Mobility", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "280", + "brand": null, + "operator": "AT&T Mobility", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "290", + "brand": null, + "operator": "Wave", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "300", + "brand": null, + "operator": "Southern California Edison", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "310", + "brand": null, + "operator": "Terranet", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "320", + "brand": null, + "operator": "Agri-Valley Communications, Inc", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "330", + "brand": null, + "operator": "FreedomFi", + "status": "Unknown", + "bands": "TD-LTE 3500", + "notes": "CBRS" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "314", + "mnc": "340", + "brand": "e/marconi", + "operator": "E-Marconi LLC", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "315", + "mnc": "010", + "brand": "CBRS", + "operator": "Citizens Broadband Radio Service", + "status": "Unknown", + "bands": "TD-LTE 3500", + "notes": "LTE band 48" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "316", + "mnc": "010", + "brand": "Nextel", + "operator": "Nextel Communications", + "status": "Not operational", + "bands": "iDEN 800", + "notes": "Merged with Sprint forming Sprint Nextel; iDEN network shut down June 2013; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States of America", + "countryCode": "US", + "mcc": "316", + "mnc": "011", + "brand": "Southern LINC", + "operator": "Southern Communications Services", + "status": "Not operational", + "bands": "iDEN 800", + "notes": "shut down 2019; MNC withdrawn" + }, + { + "type": "National", + "countryName": "United States Virgin Islands (United States of America)", + "countryCode": "VI", + "mcc": "310", + "mnc": "120", + "brand": "T-Mobile", + "operator": "T-Mobile US", + "status": "Operational", + "bands": "LTE 850 / LTE 1900", + "notes": "Former Sprint Corporation; CDMA shut down May 2022" + }, + { + "type": "National", + "countryName": "United States Virgin Islands (United States of America)", + "countryCode": "VI", + "mcc": "310", + "mnc": "260", + "brand": "T-Mobile", + "operator": "T-Mobile US", + "status": "Operational", + "bands": "GSM 1900 / UMTS 1900 / UMTS 1700 / LTE 850 / LTE 700 / LTE 1900 / LTE 1700 / 5G 600", + "notes": "Former Cook Inlet West Wireless, Voicestream; now universal USA code. Also used for Ting." + }, + { + "type": "National", + "countryName": "United States Virgin Islands (United States of America)", + "countryCode": "VI", + "mcc": "310", + "mnc": "410", + "brand": "Liberty", + "operator": "Liberty", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / 5G 850", + "notes": "Formerly AT&T Mobility, Cingular Wireless" + }, + { + "type": "National", + "countryName": "United States Virgin Islands (United States of America)", + "countryCode": "VI", + "mcc": "311", + "mnc": "470", + "brand": "Viya", + "operator": "Vitelcom Cellular Inc.", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / TD-LTE 2500", + "notes": "Former Innovative Wireless; US Virgin Islands" + }, + { + "type": "National", + "countryName": "Afghanistan", + "countryCode": "AF", + "mcc": "412", + "mnc": "01", + "brand": "AWCC", + "operator": "Afghan Wireless Communication Company", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Afghanistan", + "countryCode": "AF", + "mcc": "412", + "mnc": "20", + "brand": "Roshan", + "operator": "Telecom Development Company Afghanistan Ltd.", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Afghanistan", + "countryCode": "AF", + "mcc": "412", + "mnc": "40", + "brand": "MTN", + "operator": "MTN Group Afghanistan", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Afghanistan", + "countryCode": "AF", + "mcc": "412", + "mnc": "50", + "brand": "Etisalat", + "operator": "Etisalat Afghanistan", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Afghanistan", + "countryCode": "AF", + "mcc": "412", + "mnc": "55", + "brand": "WASEL", + "operator": "WASEL Afghanistan", + "status": "Operational", + "bands": "CDMA 800", + "notes": null + }, + { + "type": "National", + "countryName": "Afghanistan", + "countryCode": "AF", + "mcc": "412", + "mnc": "80", + "brand": "Salaam", + "operator": "Afghan Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Afghanistan", + "countryCode": "AF", + "mcc": "412", + "mnc": "88", + "brand": "Salaam", + "operator": "Afghan Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Azerbaijan", + "countryCode": "AZ", + "mcc": "400", + "mnc": "01", + "brand": "Azercell", + "operator": null, + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Azerbaijan", + "countryCode": "AZ", + "mcc": "400", + "mnc": "02", + "brand": "Bakcell", + "operator": null, + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Azerbaijan", + "countryCode": "AZ", + "mcc": "400", + "mnc": "03", + "brand": "FONEX", + "operator": "CATEL", + "status": "Operational", + "bands": "CDMA 450", + "notes": null + }, + { + "type": "National", + "countryName": "Azerbaijan", + "countryCode": "AZ", + "mcc": "400", + "mnc": "04", + "brand": "Nar Mobile", + "operator": "Azerfon", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Azerbaijan", + "countryCode": "AZ", + "mcc": "400", + "mnc": "05", + "brand": null, + "operator": "Special State Protection Service of the Republic of Azerbaijan", + "status": "Unknown", + "bands": "TETRA?", + "notes": null + }, + { + "type": "National", + "countryName": "Azerbaijan", + "countryCode": "AZ", + "mcc": "400", + "mnc": "06", + "brand": "Naxtel", + "operator": "Nakhtel LLC", + "status": "Operational", + "bands": "CDMA 800 / LTE 800 / LTE 900 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Bahrain", + "countryCode": "BH", + "mcc": "426", + "mnc": "01", + "brand": "Batelco", + "operator": "Bahrain Telecommunications Company", + "status": "Operational", + "bands": "UMTS 2100 / LTE 1800 / 5G 3500", + "notes": "GSM shut down Nov 2021" + }, + { + "type": "National", + "countryName": "Bahrain", + "countryCode": "BH", + "mcc": "426", + "mnc": "02", + "brand": "zain BH", + "operator": "Zain Bahrain", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Bahrain", + "countryCode": "BH", + "mcc": "426", + "mnc": "03", + "brand": null, + "operator": "Civil Aviation Authority", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Bahrain", + "countryCode": "BH", + "mcc": "426", + "mnc": "04", + "brand": "stc", + "operator": "Stc Bahrain", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / 5G 3500", + "notes": "Former VIVA" + }, + { + "type": "National", + "countryName": "Bahrain", + "countryCode": "BH", + "mcc": "426", + "mnc": "05", + "brand": "Batelco", + "operator": "Bahrain Telecommunications Company", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Royal Court use only" + }, + { + "type": "National", + "countryName": "Bahrain", + "countryCode": "BH", + "mcc": "426", + "mnc": "06", + "brand": "stc", + "operator": "Stc Bahrain", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Bahrain", + "countryCode": "BH", + "mcc": "426", + "mnc": "07", + "brand": null, + "operator": "TAIF", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Bangladesh", + "countryCode": "BD", + "mcc": "470", + "mnc": "01", + "brand": "Grameenphone", + "operator": "Grameenphone Ltd.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Bangladesh", + "countryCode": "BD", + "mcc": "470", + "mnc": "02", + "brand": "Robi", + "operator": "Axiata Bangladesh Ltd.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100", + "notes": "Formerly Aktel" + }, + { + "type": "National", + "countryName": "Bangladesh", + "countryCode": "BD", + "mcc": "470", + "mnc": "03", + "brand": "Banglalink", + "operator": "Banglalink Digital Communications Ltd.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": "VEON" + }, + { + "type": "National", + "countryName": "Bangladesh", + "countryCode": "BD", + "mcc": "470", + "mnc": "04", + "brand": "TeleTalk", + "operator": "Teletalk Bangladesh Limited", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Bangladesh", + "countryCode": "BD", + "mcc": "470", + "mnc": "05", + "brand": "Citycell", + "operator": "Pacific Bangladesh Telecom Limited", + "status": "Not operational", + "bands": "CDMA 800", + "notes": "Shutdown by Bangladesh Telecommunication Regulatory Commission in 2016" + }, + { + "type": "National", + "countryName": "Bangladesh", + "countryCode": "BD", + "mcc": "470", + "mnc": "07", + "brand": "Airtel", + "operator": "Bharti Airtel Bangladesh Ltd.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Formerly Warid Telcom, later Airtel. Currently merged with Robi keeping brand name Airtel" + }, + { + "type": "National", + "countryName": "Bangladesh", + "countryCode": "BD", + "mcc": "470", + "mnc": "09", + "brand": "ollo", + "operator": "Bangladesh Internet Exchange Limited (BIEL)", + "status": "Not operational", + "bands": "LTE 800 / LTE 2600 / WiMAX 3500", + "notes": "shut down 2019" + }, + { + "type": "National", + "countryName": "Bangladesh", + "countryCode": "BD", + "mcc": "470", + "mnc": "10", + "brand": "Banglalion", + "operator": "Banglalion Communications Ltd.", + "status": "Operational", + "bands": "TD-LTE 2600 / WiMAX 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Bhutan", + "countryCode": "BT", + "mcc": "402", + "mnc": "11", + "brand": "B-Mobile", + "operator": "Bhutan Telecom Limited", + "status": "Operational", + "bands": "GSM 900 / UMTS 850 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Bhutan", + "countryCode": "BT", + "mcc": "402", + "mnc": "17", + "brand": "B-Mobile", + "operator": "Bhutan Telecom Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Bhutan", + "countryCode": "BT", + "mcc": "402", + "mnc": "77", + "brand": "TashiCell", + "operator": "Tashi InfoComm Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 850 / LTE 700", + "notes": "LTE band 28" + }, + { + "type": "National", + "countryName": "Cambodia", + "countryCode": "KH", + "mcc": "456", + "mnc": "01", + "brand": "Cellcard", + "operator": "CamGSM / The Royal Group", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Former Mobitel" + }, + { + "type": "National", + "countryName": "Cambodia", + "countryCode": "KH", + "mcc": "456", + "mnc": "02", + "brand": "Smart", + "operator": "Smart Axiata Co. Ltd", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Cambodia", + "countryCode": "KH", + "mcc": "456", + "mnc": "03", + "brand": "qb", + "operator": "Cambodia Advance Communications Co. Ltd", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100", + "notes": "aka CADCOMMS" + }, + { + "type": "National", + "countryName": "Cambodia", + "countryCode": "KH", + "mcc": "456", + "mnc": "04", + "brand": "qb", + "operator": "Cambodia Advance Communications Co. Ltd", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100", + "notes": "aka CADCOMMS" + }, + { + "type": "National", + "countryName": "Cambodia", + "countryCode": "KH", + "mcc": "456", + "mnc": "05", + "brand": "Smart", + "operator": "Smart Axiata Co. Ltd", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Cambodia", + "countryCode": "KH", + "mcc": "456", + "mnc": "06", + "brand": "Smart", + "operator": "Smart Axiata Co. Ltd", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Cambodia", + "countryCode": "KH", + "mcc": "456", + "mnc": "08", + "brand": "Metfone", + "operator": "Viettel", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Cambodia", + "countryCode": "KH", + "mcc": "456", + "mnc": "09", + "brand": "Metfone", + "operator": "Viettel", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Former Beeline" + }, + { + "type": "National", + "countryName": "Cambodia", + "countryCode": "KH", + "mcc": "456", + "mnc": "11", + "brand": "SEATEL", + "operator": "SEATEL Cambodia", + "status": "Operational", + "bands": "LTE 850 / LTE 2600", + "notes": "Former Excell CDMA shut down 27 June 2015" + }, + { + "type": "National", + "countryName": "Cambodia", + "countryCode": "KH", + "mcc": "456", + "mnc": "18", + "brand": "Cellcard", + "operator": "The Royal Group", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Former Mfone" + }, + { + "type": "National", + "countryName": "China", + "countryCode": "CN", + "mcc": "460", + "mnc": "00", + "brand": "China Mobile", + "operator": "China Mobile", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / TD-SCDMA 1900 / TD-SCDMA 2000 / TD-LTE 1900 / TD-LTE 2300 / TD-LTE 2500 / 5G 700 / 5G 2500", + "notes": null + }, + { + "type": "National", + "countryName": "China", + "countryCode": "CN", + "mcc": "460", + "mnc": "01", + "brand": "China Unicom", + "operator": "China Unicom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2100 / TD-LTE 2300 / TD-LTE 2500 / 5G 2100 / 5G 3500", + "notes": "CDMA network sold to China Telecom" + }, + { + "type": "National", + "countryName": "China", + "countryCode": "CN", + "mcc": "460", + "mnc": "02", + "brand": "China Mobile", + "operator": "China Mobile", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / TD-SCDMA 1900 / TD-SCDMA 2000 / TD-LTE 1900 / TD-LTE 2300 / TD-LTE 2500", + "notes": null + }, + { + "type": "National", + "countryName": "China", + "countryCode": "CN", + "mcc": "460", + "mnc": "03", + "brand": "China Telecom", + "operator": "China Telecom", + "status": "Operational", + "bands": "CDMA2000 800", + "notes": "EV-DO" + }, + { + "type": "National", + "countryName": "China", + "countryCode": "CN", + "mcc": "460", + "mnc": "04", + "brand": "China Mobile", + "operator": "Global Star Satellite", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "China", + "countryCode": "CN", + "mcc": "460", + "mnc": "05", + "brand": "China Telecom", + "operator": "China Telecom", + "status": "Not operational", + "bands": "CDMA2000 800 / LTE 850 / LTE 1800 / LTE 2100 / TD-LTE 2300 / TD-LTE 2500", + "notes": null + }, + { + "type": "National", + "countryName": "China", + "countryCode": "CN", + "mcc": "460", + "mnc": "06", + "brand": "China Unicom", + "operator": "China Unicom", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "China", + "countryCode": "CN", + "mcc": "460", + "mnc": "07", + "brand": "China Mobile", + "operator": "China Mobile", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / TD-SCDMA 1900 / TD-SCDMA 2000 / TD-LTE 1900 / TD-LTE 2300 / TD-LTE 2500", + "notes": null + }, + { + "type": "National", + "countryName": "China", + "countryCode": "CN", + "mcc": "460", + "mnc": "08", + "brand": "China Mobile", + "operator": "China Mobile", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "China", + "countryCode": "CN", + "mcc": "460", + "mnc": "09", + "brand": "China Unicom", + "operator": "China Unicom", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "China", + "countryCode": "CN", + "mcc": "460", + "mnc": "11", + "brand": "China Telecom", + "operator": "China Telecom", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / LTE 2100 / TD-LTE 2300 / TD-LTE 2500 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "China", + "countryCode": "CN", + "mcc": "460", + "mnc": "15", + "brand": "China Broadnet", + "operator": "China Broadnet", + "status": "Operational", + "bands": "LTE 1800 / LTE 900 / TD-LTE 1900 / TD-LTE 2300 / 5G 700 / 5G 2500", + "notes": "4th carrier of China. Shared frequencies with China Mobile" + }, + { + "type": "National", + "countryName": "China", + "countryCode": "CN", + "mcc": "460", + "mnc": "20", + "brand": "China Tietong", + "operator": "China Tietong", + "status": "Operational", + "bands": "GSM-R", + "notes": null + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "00", + "brand": "1O1O / One2Free / New World Mobility / SUNMobile", + "operator": "CSL Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "01", + "brand": null, + "operator": "CITIC Telecom 1616", + "status": "Operational", + "bands": "MVNO", + "notes": "MVNO on CSL network; network code operational only at land borders and Airport to attract inbound roamers to join 454-00" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "02", + "brand": null, + "operator": "CSL Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Network code operational only at land borders and Airport to attract inbound roamers to join 454-00" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "03", + "brand": "3", + "operator": "Hutchison Telecom", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300 / LTE 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "04", + "brand": "3 (2G)", + "operator": "Hutchison Telecom", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Shut down Sep 2021" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "05", + "brand": "3 (CDMA)", + "operator": "Hutchison Telecom", + "status": "Not operational", + "bands": "CDMA 800", + "notes": "Shut down Nov 2008" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "06", + "brand": "SmarTone", + "operator": "SmarTone Mobile Communications Limited", + "status": "Operational", + "bands": "UMTS 850 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500", + "notes": "GSM shut down Oct 2022" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "07", + "brand": "China Unicom", + "operator": "China Unicom (Hong Kong) Limited", + "status": "Operational", + "bands": "MVNO", + "notes": "MVNO on 3 Hong Kong Mobile network code operational only at land borders and Airport to attract inbound roamers to join 454-16 or 454-19" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "08", + "brand": "Truphone", + "operator": "Truphone Limited", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Trident" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "09", + "brand": null, + "operator": "China Motion Telecom", + "status": "Not operational", + "bands": "MVNO", + "notes": "MVNO on CSL network; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "10", + "brand": "New World Mobility", + "operator": "CSL Limited", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Signal Combined with 454-00" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "11", + "brand": null, + "operator": "China-Hong Kong Telecom", + "status": "Operational", + "bands": "MVNO", + "notes": "MVNO on PCCW Mobile and Hutchison Telecom networks" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "12", + "brand": "CMCC HK", + "operator": "China Mobile Hong Kong Company Limited", + "status": "Operational", + "bands": "GSM 1800 / UMTS 2100 / TD-SCDMA 2000 / LTE 900 /LTE 1800 / LTE 2100 / TD-LTE 2300 / LTE 2600 / 5G 3500", + "notes": "Formerly Peoples" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "13", + "brand": "CMCC HK", + "operator": "China Mobile Hong Kong Company Limited", + "status": "Operational", + "bands": "MVNO", + "notes": "MVNO on PCCW Mobile (3G)" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "14", + "brand": null, + "operator": "Hutchison Telecom", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Only at land borders and Airport to attract inbound roamers; shut down Sep 2021" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "15", + "brand": null, + "operator": "SmarTone Mobile Communications Limited", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Only at land borders and Airport to attract inbound roamers; shut down Oct 2022" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "16", + "brand": "PCCW Mobile (2G)", + "operator": "PCCW", + "status": "Operational", + "bands": "GSM 1800", + "notes": "Formerly SUNDAY" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "17", + "brand": null, + "operator": "SmarTone Mobile Communications Limited", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Only at land borders and Airport to attract inbound roamers; shut down Oct 2022" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "18", + "brand": null, + "operator": "CSL Limited", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "19", + "brand": "PCCW Mobile (3G)", + "operator": "PCCW-HKT", + "status": "Operational", + "bands": "UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "20", + "brand": "PCCW Mobile (4G)", + "operator": "PCCW-HKT", + "status": "Operational", + "bands": "LTE 1800 / LTE 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "21", + "brand": null, + "operator": "21Vianet Mobile Ltd.", + "status": "Not operational", + "bands": "MVNO", + "notes": "Closed on 1 February 2019" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "22", + "brand": null, + "operator": "263 Mobile Communications (HongKong) Limited", + "status": "Operational", + "bands": "MVNO", + "notes": "Formerly P Plus Communications, Delcom (HK) Ltd" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "23", + "brand": "Lycamobile", + "operator": "Lycamobile Hong Kong Ltd", + "status": "Not operational", + "bands": "MVNO", + "notes": "Closed on 27 April 2018; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "24", + "brand": null, + "operator": "Multibyte Info Technology Ltd", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "25", + "brand": null, + "operator": "Hong Kong Government", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "26", + "brand": null, + "operator": "Hong Kong Government", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "29", + "brand": "PCCW Mobile (CDMA)", + "operator": "PCCW-HKT", + "status": "Operational", + "bands": "CDMA 800", + "notes": "CDMA2000 1xEV-DO Rev A network for inbound roamers, with limited coverage" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "30", + "brand": "CMCC HK", + "operator": "China Mobile Hong Kong Company Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former China Data Enterprises Ltd" + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "31", + "brand": "CTExcel", + "operator": "China Telecom Global Limited", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "32", + "brand": null, + "operator": "Hong Kong Broadband Network Ltd", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "35", + "brand": null, + "operator": "Webbing Hong Kong Ltd", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Hong Kong", + "countryCode": "HK", + "mcc": "454", + "mnc": "36", + "brand": null, + "operator": "Easco Telecommunications Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "01", + "brand": "Vi India", + "operator": "Haryana", + "status": "Operational", + "bands": "GSM 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "02", + "brand": "AirTel", + "operator": "Punjab", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "03", + "brand": "AirTel", + "operator": "Himachal Pradesh", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "04", + "brand": "Vi India", + "operator": "Delhi & NCR", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "05", + "brand": "Vi India", + "operator": "Gujarat", + "status": "Operational", + "bands": "GSM 900 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Hutch, Fascel, Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "07", + "brand": "Vi India", + "operator": "Andhra Pradesh and Telangana", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "09", + "brand": "Reliance", + "operator": "Assam", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "10", + "brand": "AirTel", + "operator": "Delhi & NCR", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 850 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "11", + "brand": "Vi India", + "operator": "Delhi & NCR", + "status": "Operational", + "bands": "GSM 900 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "12", + "brand": "Vi India", + "operator": "Haryana", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Escotel, IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "13", + "brand": "Vi India", + "operator": "Andhra Pradesh and Telangana", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "14", + "brand": "Vi India", + "operator": "Punjab", + "status": "Operational", + "bands": "GSM 900 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Spice, IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "15", + "brand": "Vi India", + "operator": "Uttar Pradesh (East)", + "status": "Operational", + "bands": "GSM 900 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "16", + "brand": "Airtel", + "operator": "North East", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": "Former Hexacom" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "17", + "brand": "AIRCEL", + "operator": "West Bengal", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "18", + "brand": "Reliance", + "operator": "Himachal Pradesh", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "19", + "brand": "Vi India", + "operator": "Kerala", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE-2300 / TD-LTE 2500", + "notes": "Former Escotel, IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "20", + "brand": "Vi India", + "operator": "Mumbai", + "status": "Operational", + "bands": "GSM 900 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Hutchison Maxtouch, Orange, Hutch, Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "21", + "brand": "Loop Mobile", + "operator": "Mumbai", + "status": "Not operational", + "bands": "GSM 900", + "notes": "Former BPL Mobile; licence expired 2014" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "22", + "brand": "Vi India", + "operator": "Maharashtra & Goa", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "23", + "brand": "Reliance", + "operator": "West Bengal", + "status": "Not operational", + "bands": "LTE", + "notes": "Reliance Telecom" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "24", + "brand": "Vi India", + "operator": "Gujarat", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "25", + "brand": "AIRCEL", + "operator": "Bihar", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "27", + "brand": "Vi India", + "operator": "Maharashtra & Goa", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300 / TD-LTE 2500", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "28", + "brand": "AIRCEL", + "operator": "Odisha", + "status": "Not operational", + "bands": "GSM 900", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "29", + "brand": "AIRCEL", + "operator": "Assam", + "status": "Not operational", + "bands": "GSM 900", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "30", + "brand": "Vi India", + "operator": "Kolkata", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Vodafone India, Command, Hutch" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "31", + "brand": "AirTel", + "operator": "Kolkata", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 900 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "34", + "brand": "BSNL Mobile", + "operator": "Haryana", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "35", + "brand": "Aircel", + "operator": "Himachal Pradesh", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "36", + "brand": "Reliance", + "operator": "Bihar & Jharkhand", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "37", + "brand": "Aircel", + "operator": "Jammu & Kashmir", + "status": "Not operational", + "bands": "GSM 900 / UMTS 2100", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "38", + "brand": "BSNL Mobile", + "operator": "Assam", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "40", + "brand": "AirTel", + "operator": "Chennai", + "status": "Operational", + "bands": "GSM 1800 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "41", + "brand": "Aircel", + "operator": "Chennai", + "status": "Not operational", + "bands": "GSM 900", + "notes": "Former RPG; bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "42", + "brand": "Aircel", + "operator": "Tamil Nadu", + "status": "Not operational", + "bands": "GSM 900", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "43", + "brand": "Vi India", + "operator": "Tamil Nadu", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800 / LTE 2100", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "44", + "brand": "Vi India", + "operator": "Karnataka", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100", + "notes": "Former Spice, IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "45", + "brand": "Airtel", + "operator": "Karnataka", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "46", + "brand": "Vi India", + "operator": "Kerala", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE-2300 / TD-LTE 2500", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "48", + "brand": "Dishnet Wireless", + "operator": "Unknown", + "status": "Not operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "49", + "brand": "Airtel", + "operator": "Andhra Pradesh and Telangana", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 850 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "50", + "brand": "Reliance", + "operator": "North East", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "51", + "brand": "BSNL Mobile", + "operator": "Himachal Pradesh", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "52", + "brand": "Reliance", + "operator": "Odisha", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "53", + "brand": "BSNL Mobile", + "operator": "Punjab", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "54", + "brand": "BSNL Mobile", + "operator": "Uttar Pradesh (West)", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "55", + "brand": "BSNL Mobile", + "operator": "Uttar Pradesh (East)", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "56", + "brand": "Vi India", + "operator": "Uttar Pradesh (West)", + "status": "Operational", + "bands": "GSM 900 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "57", + "brand": "BSNL Mobile", + "operator": "Gujarat", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "58", + "brand": "BSNL Mobile", + "operator": "Madhya Pradesh & Chhattisgarh", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "59", + "brand": "BSNL Mobile", + "operator": "Rajasthan", + "status": "Operational", + "bands": "CDMA 850 / GSM 900 / UMTS 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "60", + "brand": "Vi India", + "operator": "Rajasthan", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "62", + "brand": "BSNL Mobile", + "operator": "Jammu & Kashmir", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "64", + "brand": "BSNL Mobile", + "operator": "Chennai", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "66", + "brand": "BSNL Mobile", + "operator": "Maharashtra & Goa", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "67", + "brand": "Reliance", + "operator": "Madhya Pradesh & Chhattisgarh", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "68", + "brand": "MTNL", + "operator": "Delhi & NCR", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800", + "notes": "To be merged with BSNL" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "69", + "brand": "MTNL", + "operator": "Mumbai", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": "To be merged with BSNL" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "70", + "brand": "AirTel", + "operator": "Rajasthan", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "71", + "brand": "BSNL Mobile", + "operator": "Karnataka (Bangalore)", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "72", + "brand": "BSNL Mobile", + "operator": "Kerala", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "73", + "brand": "BSNL Mobile", + "operator": "Andhra Pradesh and Telangana", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "74", + "brand": "BSNL Mobile", + "operator": "West Bengal", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "75", + "brand": "BSNL Mobile", + "operator": "Bihar", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "76", + "brand": "BSNL Mobile", + "operator": "Odisha", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "77", + "brand": "BSNL Mobile", + "operator": "North East", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "78", + "brand": "Vi India", + "operator": "Madhya Pradesh & Chattishgarh", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "79", + "brand": "BSNL Mobile", + "operator": "Andaman Nicobar", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "80", + "brand": "BSNL Mobile", + "operator": "Tamil Nadu", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "81", + "brand": "BSNL Mobile", + "operator": "Kolkata", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 2100", + "notes": "Former CellOne" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "82", + "brand": "Vi India", + "operator": "Himachal Pradesh", + "status": "Operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "83", + "brand": "Reliance", + "operator": "Kolkata", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "84", + "brand": "Vi India", + "operator": "Chennai", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "85", + "brand": "Reliance", + "operator": "West Bengal", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "86", + "brand": "Vi India", + "operator": "Karnataka", + "status": "Operational", + "bands": "GSM 900 / LTE 900 / LTE 1800 / LTE 2100", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "87", + "brand": "Vi India", + "operator": "Rajasthan", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "88", + "brand": "Vi India", + "operator": "Punjab", + "status": "Not operational", + "bands": "GSM 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "89", + "brand": "Vi India", + "operator": "Uttar Pradesh (East)", + "status": "Not operational", + "bands": "GSM 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "90", + "brand": "AirTel", + "operator": "Maharashtra", + "status": "Operational", + "bands": "GSM 1800 / LTE 850 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "91", + "brand": "AIRCEL", + "operator": "Kolkata", + "status": "Not operational", + "bands": "GSM 900", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "92", + "brand": "AirTel", + "operator": "Mumbai", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 850 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "93", + "brand": "AirTel", + "operator": "Madhya Pradesh", + "status": "Operational", + "bands": "GSM 1800 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "94", + "brand": "AirTel", + "operator": "Tamil Nadu", + "status": "Operational", + "bands": "GSM 1800 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "95", + "brand": "AirTel", + "operator": "Kerala", + "status": "Operational", + "bands": "GSM 1800 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "96", + "brand": "AirTel", + "operator": "Haryana", + "status": "Operational", + "bands": "GSM 1800 / LTE 850 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "97", + "brand": "AirTel", + "operator": "Uttar Pradesh (West)", + "status": "Operational", + "bands": "GSM 1800 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "404", + "mnc": "98", + "brand": "AirTel", + "operator": "Gujarat", + "status": "Operational", + "bands": "GSM 1800 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "01", + "brand": "Reliance", + "operator": "Andhra Pradesh and Telangana", + "status": "Not operational", + "bands": "GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "025", + "brand": "TATA DOCOMO", + "operator": "Andhra Pradesh and Telangana", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800 / UMTS 2100", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "026", + "brand": "TATA DOCOMO", + "operator": "Assam", + "status": "Not operational", + "bands": "CDMA 850", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "027", + "brand": "TATA DOCOMO", + "operator": "Bihar/Jharkhand", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "028", + "brand": "TATA DOCOMO", + "operator": "Chennai", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "029", + "brand": "TATA DOCOMO", + "operator": "Delhi", + "status": "Not operational", + "bands": "CDMA 850", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "03", + "brand": "Reliance", + "operator": "Bihar", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "030", + "brand": "TATA DOCOMO", + "operator": "Gujarat", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800 / UMTS 2100", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "031", + "brand": "TATA DOCOMO", + "operator": "Haryana", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800 / UMTS 2100", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "032", + "brand": "TATA DOCOMO", + "operator": "Himachal Pradesh", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800 / UMTS 2100", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "033", + "brand": "TATA DOCOMO", + "operator": "Jammu & Kashmir", + "status": "Not operational", + "bands": "CDMA 850", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "034", + "brand": "TATA DOCOMO", + "operator": "Karnataka", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800 / UMTS 2100", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "035", + "brand": "TATA DOCOMO", + "operator": "Kerala", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800 / UMTS 2100", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "036", + "brand": "TATA DOCOMO", + "operator": "Kolkata", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "037", + "brand": "TATA DOCOMO", + "operator": "Maharashtra & Goa", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800 / UMTS 2100", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "038", + "brand": "TATA DOCOMO", + "operator": "Madhya Pradesh", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800 / UMTS 2100", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "039", + "brand": "TATA DOCOMO", + "operator": "Mumbai", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "04", + "brand": "Reliance", + "operator": "Chennai", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "041", + "brand": "TATA DOCOMO", + "operator": "Odisha", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "042", + "brand": "TATA DOCOMO", + "operator": "Punjab", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800 / UMTS 2100", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "043", + "brand": "TATA DOCOMO", + "operator": "Rajasthan", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800 / UMTS 2100", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "044", + "brand": "TATA DOCOMO", + "operator": "Tamil Nadu including Chennai", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "045", + "brand": "TATA DOCOMO", + "operator": "Uttar Pradesh (East)", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "046", + "brand": "TATA DOCOMO", + "operator": "Uttar Pradesh (West) & Uttarakhand", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800 / UMTS 2100", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "047", + "brand": "TATA DOCOMO", + "operator": "West Bengal", + "status": "Not operational", + "bands": "CDMA 850 / GSM 1800", + "notes": "Merged with Airtel in 2019" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "05", + "brand": "Reliance", + "operator": "Delhi & NCR", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "06", + "brand": "Reliance", + "operator": "Gujarat", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "07", + "brand": "Reliance", + "operator": "Haryana", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "08", + "brand": "Reliance", + "operator": "Himachal Pradesh", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "09", + "brand": "Reliance", + "operator": "Jammu & Kashmir", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "10", + "brand": "Reliance", + "operator": "Karnataka", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "11", + "brand": "Reliance", + "operator": "Kerala", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "12", + "brand": "Reliance", + "operator": "Kolkata", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "13", + "brand": "Reliance", + "operator": "Maharashtra & Goa", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "14", + "brand": "Reliance", + "operator": "Madhya Pradesh", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "15", + "brand": "Reliance", + "operator": "Mumbai", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "17", + "brand": "Reliance", + "operator": "Odisha", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "18", + "brand": "Reliance", + "operator": "Punjab", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "19", + "brand": "Reliance", + "operator": "Rajasthan", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "20", + "brand": "Reliance", + "operator": "Tamil Nadu", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "21", + "brand": "Reliance", + "operator": "Uttar Pradesh (East)", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "22", + "brand": "Reliance", + "operator": "Uttar Pradesh (West)", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "23", + "brand": "Reliance", + "operator": "West Bengal", + "status": "Operational", + "bands": "LTE", + "notes": "Data-only as of 2020" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "51", + "brand": "AirTel", + "operator": "West Bengal", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "52", + "brand": "AirTel", + "operator": "Bihar & Jharkhand", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "53", + "brand": "AirTel", + "operator": "Odisha", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "54", + "brand": "AirTel", + "operator": "Uttar Pradesh (East)", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "55", + "brand": "Airtel", + "operator": "Jammu & Kashmir", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "56", + "brand": "AirTel", + "operator": "Assam", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "66", + "brand": "Vi India", + "operator": "Uttar Pradesh (West)", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "67", + "brand": "Vi India", + "operator": "West Bengal", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "70", + "brand": "Vi India", + "operator": "Bihar & Jharkhand", + "status": "Operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "750", + "brand": "Vi India", + "operator": "Jammu & Kashmir", + "status": "Operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "751", + "brand": "Vi India", + "operator": "Assam", + "status": "Operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "752", + "brand": "Vi India", + "operator": "Bihar & Jharkhand", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "753", + "brand": "Vi India", + "operator": "Odisha", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "754", + "brand": "Vi India", + "operator": "Himachal Pradesh", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "755", + "brand": "Vi India", + "operator": "North East", + "status": "Operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "756", + "brand": "Vi India", + "operator": "Madhya Pradesh & Chhattisgarh", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300 / TD-LTE 2500", + "notes": "Former Vodafone India" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "799", + "brand": "Vi India", + "operator": "Mumbai", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "800", + "brand": "AIRCEL", + "operator": "Delhi & NCR", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "801", + "brand": "AIRCEL", + "operator": "Andhra Pradesh and Telangana", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "802", + "brand": "AIRCEL", + "operator": "Gujarat", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "803", + "brand": "AIRCEL", + "operator": "Karnataka", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "804", + "brand": "AIRCEL", + "operator": "Maharashtra & Goa", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "805", + "brand": "AIRCEL", + "operator": "Mumbai", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "806", + "brand": "AIRCEL", + "operator": "Rajasthan", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "807", + "brand": "AIRCEL", + "operator": "Haryana", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "808", + "brand": "AIRCEL", + "operator": "Madhya Pradesh", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "809", + "brand": "AIRCEL", + "operator": "Kerala", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "810", + "brand": "AIRCEL", + "operator": "Uttar Pradesh (East)", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "811", + "brand": "AIRCEL", + "operator": "Uttar Pradesh (West)", + "status": "Not operational", + "bands": "GSM", + "notes": "Bankrupt in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "812", + "brand": "AIRCEL", + "operator": "Punjab", + "status": "Not operational", + "bands": "GSM", + "notes": "License cancelled by Supreme Court" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "819", + "brand": "Uninor", + "operator": "Andhra Pradesh and Telangana", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Merged with Airtel in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "818", + "brand": "Uninor", + "operator": "Uttar Pradesh (West)", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Merged with Airtel in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "820", + "brand": "Uninor", + "operator": "Karnataka", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Merged with Airtel in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "821", + "brand": "Uninor", + "operator": "Kerala", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Merged with Airtel in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "822", + "brand": "Uninor", + "operator": "Kolkata", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Merged with Airtel in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "824", + "brand": "Videocon Telecom", + "operator": "Assam", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Shut down in 2016" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "827", + "brand": "Videocon Telecom", + "operator": "Gujarat", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Shut down in 2016" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "834", + "brand": "Videocon Telecom", + "operator": "Madhya Pradesh", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Shut down in 2016" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "844", + "brand": "Uninor", + "operator": "Delhi & NCR", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Merged with Airtel in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "840", + "brand": "Jio", + "operator": "West Bengal", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "845", + "brand": "Vi India", + "operator": "Assam", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "846", + "brand": "Vi India", + "operator": "Jammu & Kashmir", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "847", + "brand": "Vi India", + "operator": "Karnataka", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "848", + "brand": "Vi India", + "operator": "Kolkata", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "849", + "brand": "Vi India", + "operator": "North East", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "850", + "brand": "Vi India", + "operator": "Odisha", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "851", + "brand": "Vi India", + "operator": "Punjab", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "852", + "brand": "Vi India", + "operator": "Tamil Nadu", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "853", + "brand": "Vi India", + "operator": "West Bengal", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "854", + "brand": "Jio", + "operator": "Andhra Pradesh", + "status": "Operational", + "bands": "LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "855", + "brand": "Jio", + "operator": "Assam", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "856", + "brand": "Jio", + "operator": "Bihar", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "857", + "brand": "Jio", + "operator": "Gujarat", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "858", + "brand": "Jio", + "operator": "Haryana", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "859", + "brand": "Jio", + "operator": "Himachal Pradesh", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "860", + "brand": "Jio", + "operator": "Jammu & Kashmir", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "861", + "brand": "Jio", + "operator": "Karnataka", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "862", + "brand": "Jio", + "operator": "Kerala", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "863", + "brand": "Jio", + "operator": "Madhya Pradesh", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "864", + "brand": "Jio", + "operator": "Maharashtra", + "status": "Operational", + "bands": "LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "865", + "brand": "Jio", + "operator": "North East", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "866", + "brand": "Jio", + "operator": "Odisha", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "867", + "brand": "Jio", + "operator": "Punjab", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "868", + "brand": "Jio", + "operator": "Rajasthan", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "869", + "brand": "Jio", + "operator": "Tamil Nadu (incl. Chennai)", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "870", + "brand": "Jio", + "operator": "Uttar Pradesh (West)", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "871", + "brand": "Jio", + "operator": "Uttar Pradesh (East)", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "872", + "brand": "Jio", + "operator": "Delhi", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "873", + "brand": "Jio", + "operator": "Kolkata", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "874", + "brand": "Jio", + "operator": "Mumbai", + "status": "Operational", + "bands": "LTE 850 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "875", + "brand": "Uninor", + "operator": "Assam", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Merged with Airtel in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "880", + "brand": "Uninor", + "operator": "West Bengal", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Merged with Airtel in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "881", + "brand": "S Tel", + "operator": "Assam", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "License cancelled in 2012" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "908", + "brand": "Vi India", + "operator": "Andhra Pradesh and Telangana", + "status": "Operational", + "bands": "GSM 900 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "909", + "brand": "Vi India", + "operator": "Delhi", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "910", + "brand": "Vi India", + "operator": "Haryana", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100 / TD-LTE 2500", + "notes": "Former IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "911", + "brand": "Vi India", + "operator": "Maharashtra", + "status": "Not operational", + "bands": "GSM 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300 / TD-LTE 2500", + "notes": "Former SPICE IDEA" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "912", + "brand": "Etisalat DB (cheers)", + "operator": "Andhra Pradesh and Telangana", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "License cancelled in 2012" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "913", + "brand": "Etisalat DB (cheers)", + "operator": "Delhi & NCR", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "License cancelled in 2012" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "914", + "brand": "Etisalat DB (cheers)", + "operator": "Gujarat", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "License cancelled in 2012" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "917", + "brand": "Etisalat DB (cheers)", + "operator": "Kerala", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "License cancelled in 2012" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "927", + "brand": "Uninor", + "operator": "Gujarat", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Merged with Airtel in 2018" + }, + { + "type": "National", + "countryName": "India", + "countryCode": "IN", + "mcc": "405", + "mnc": "929", + "brand": "Uninor", + "operator": "Maharashtra", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Merged with Airtel in 2018" + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "01", + "brand": null, + "operator": "Kish Cell Pars", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "02", + "brand": "ApTel, AzarTel", + "operator": "Negin Ertebatat Ava", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "03", + "brand": null, + "operator": "Parsian Hamrah Lotus", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "04", + "brand": null, + "operator": "TOSE E FANAVARI ERTEBATAT NOVIN HAMRAH", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "05", + "brand": "Smart Comm", + "operator": "Hamrah Hooshmand Ayandeh", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "06", + "brand": "Arian-Tel", + "operator": "Ertebatat-e Arian Tel Co.", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "07", + "brand": null, + "operator": "Hooshmand Amin Mobile", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "08", + "brand": "Shatel Mobile", + "operator": "Shatel Group", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "09", + "brand": "HiWEB", + "operator": "Dadeh Dostar asr Novin PJSC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "10", + "brand": "Samantel", + "operator": "Samantel Mobile", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "11", + "brand": "IR-TCI (Hamrah-e-Avval)", + "operator": "Mobile Communications Company of Iran (MCI)", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "12", + "brand": "Avacell (HiWEB)", + "operator": "Dadeh Dostar asr Novin PJSC", + "status": "Operational", + "bands": "LTE 800 / TD-LTE 2600", + "notes": "Mostly in rural and remote areas" + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "13", + "brand": "HiWEB", + "operator": "Dadeh Dostar asr Novin PJSC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "14", + "brand": "TKC/KFZO", + "operator": "Kish Free Zone Organization", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "19", + "brand": "Espadan", + "operator": "Mobile Telecommunications Company of Esfahan", + "status": "Not operational", + "bands": "GSM 900", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "20", + "brand": "RighTel", + "operator": "Social Security Investment Co.", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "21", + "brand": "RighTel", + "operator": "Social Security Investment Co.", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "32", + "brand": "Taliya", + "operator": "Telecommunication Company of Iran (TCI)", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Roaming TKC & TCI" + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "35", + "brand": "MTN Irancell", + "operator": "MTN Irancell Telecommunications Services Company", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / TD-LTE 3500 / TD-LTE 2300 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "40", + "brand": "Mobinnet", + "operator": "Ertebatat Mobinnet", + "status": "Operational", + "bands": "WiMAX / LTE 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "44", + "brand": "Mobinnet", + "operator": "Ertebatat Mobinnet", + "status": "Operational", + "bands": "WiMAX / LTE 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "45", + "brand": "Zi-Tel", + "operator": "Farabord Dadeh Haye Iranian Co.", + "status": "Operational", + "bands": "TD-LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "46", + "brand": "HiWEB", + "operator": "Dadeh Dostar asr Novin PJSC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "49", + "brand": null, + "operator": "Gostaresh Ertebatat Mabna", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "50", + "brand": "Shatel Mobile", + "operator": "Shatel Group", + "status": "Operational", + "bands": "TD-LTE 2600 MHz", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "51", + "brand": null, + "operator": "Pishgaman Tose'e Ertebatat", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "52", + "brand": null, + "operator": "Asiatech", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "70", + "brand": "MTCE", + "operator": "Telecommunication Company of Iran (TCI)", + "status": "Operational", + "bands": "GSM 900", + "notes": "Mostly in rural and remote areas (WLL)" + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "71", + "brand": "KOOHE NOOR", + "operator": "ERTEBATAT KOOHE NOOR", + "status": "Operational", + "bands": "GSM 900", + "notes": "Mostly in rural and remote areas (WLL)" + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "90", + "brand": "Iraphone", + "operator": "IRAPHONE GHESHM of Iran", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Mobile Phone" + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "93", + "brand": "Iraphone", + "operator": "Iraphone", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Mostly in rural and remote areas" + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "93", + "brand": "Farzanegan Pars", + "operator": "Farzanegan Pars", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Fixed Communication Provider (FCP)" + }, + { + "type": "National", + "countryName": "Iran", + "countryCode": "IR", + "mcc": "432", + "mnc": "99", + "brand": "TCI", + "operator": "TCI of Iran and Rightel", + "status": "Operational", + "bands": "GSM 850 / GSM 1900", + "notes": "Roaming IR70 & TCI & RIGHTEL (GSM WLL)" + }, + { + "type": "National", + "countryName": "Iraq", + "countryCode": "IQ", + "mcc": "418", + "mnc": "00", + "brand": "Asia Cell", + "operator": "Asia Cell Telecommunications Company", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Iraq", + "countryCode": "IQ", + "mcc": "418", + "mnc": "05", + "brand": "Asia Cell", + "operator": "Asia Cell Telecommunications Company", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Iraq", + "countryCode": "IQ", + "mcc": "418", + "mnc": "08", + "brand": "SanaTel", + "operator": null, + "status": "Operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Iraq", + "countryCode": "IQ", + "mcc": "418", + "mnc": "20", + "brand": "Zain", + "operator": "Zain Iraq", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Former MTC Atheer" + }, + { + "type": "National", + "countryName": "Iraq", + "countryCode": "IQ", + "mcc": "418", + "mnc": "30", + "brand": "Zain", + "operator": "Zain Iraq", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Former Orascom Telecom (Iraqna)" + }, + { + "type": "National", + "countryName": "Iraq", + "countryCode": "IQ", + "mcc": "418", + "mnc": "40", + "brand": "Korek", + "operator": "Telecom Ltd", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Iraq", + "countryCode": "IQ", + "mcc": "418", + "mnc": "45", + "brand": "Mobitel", + "operator": "Mobitel Co. Ltd.", + "status": "Operational", + "bands": "UMTS", + "notes": null + }, + { + "type": "National", + "countryName": "Iraq", + "countryCode": "IQ", + "mcc": "418", + "mnc": "62", + "brand": "Itisaluna", + "operator": "Itisaluna Wireless CO.", + "status": "Operational", + "bands": "CDMA 800 / CDMA 1900", + "notes": null + }, + { + "type": "National", + "countryName": "Iraq", + "countryCode": "IQ", + "mcc": "418", + "mnc": "92", + "brand": "Omnnea", + "operator": "Omnnea Wireless", + "status": "Operational", + "bands": "CDMA", + "notes": null + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "01", + "brand": "Partner", + "operator": "Partner Communications Company Ltd.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2100 / 5G 2600 / 5G 3500", + "notes": "Former Orange (until 2016)" + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "02", + "brand": "Cellcom", + "operator": "Cellcom Israel Ltd.", + "status": "Operational", + "bands": "GSM 1800 / UMTS 850 / UMTS 2100 / LTE 1800 / 5G 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "03", + "brand": "Pelephone", + "operator": "Pelephone Communications Ltd.", + "status": "Operational", + "bands": "UMTS 850 / UMTS 2100 / LTE 1800 / 5G 2600 / 5G 3500", + "notes": "CDMA 850 shut down July 2017" + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "04", + "brand": null, + "operator": "Globalsim Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "05", + "brand": "Jawwal", + "operator": "Palestine Cellular Communications Ltd.", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": "Covering the Palestinian territories" + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "06", + "brand": "Wataniya Mobile", + "operator": "Wataniya Palestine Ltd. (Ooredoo)", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Covering the Palestinian territories" + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "07", + "brand": "Hot Mobile", + "operator": "Hot Mobile Ltd.", + "status": "Operational", + "bands": "iDEN 800 / UMTS 2100 / LTE 1800 / LTE 2100 / 5G 2600 / 5G 3500", + "notes": "Former Mirs Communications; uses Pelephone network for roaming" + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "08", + "brand": "Golan Telecom", + "operator": "Golan Telecom Ltd.", + "status": "Operational", + "bands": "UMTS 2100 / LTE 1800", + "notes": "Acquired by Cellcom in Aug 2020" + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "09", + "brand": "We4G", + "operator": "Marathon 018 Xphone Ltd.", + "status": "Operational", + "bands": "LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "10", + "brand": "Partner", + "operator": "Partner Communications Company Ltd.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800", + "notes": "Former Orange (until 2016)" + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "11", + "brand": null, + "operator": "365 Telecom", + "status": "Not operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "12", + "brand": "x2one", + "operator": "Widely Mobile", + "status": "Operational", + "bands": "MVNO", + "notes": "Former Free Telecom" + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "13", + "brand": null, + "operator": "Ituran Cellular Communications", + "status": "Not operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "14", + "brand": "Youphone", + "operator": "Alon Cellular Ltd.", + "status": "Not operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "15", + "brand": "Home Cellular", + "operator": "Home Cellular Ltd.", + "status": "Not operational", + "bands": "MVNO", + "notes": "MVNO (Cellcom)" + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "16", + "brand": "Rami Levy", + "operator": "Rami Levy Communications Ltd.", + "status": "Operational", + "bands": "MVNO", + "notes": "MVNO (Pelephone)" + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "17", + "brand": "Sipme", + "operator": "Gale Phone", + "status": "Not operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "18", + "brand": "Cellact Communications", + "operator": "Cellact Communications Ltd.", + "status": "Operational", + "bands": "MVNO", + "notes": "MVNO (Pelephone)" + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "19", + "brand": "019 Mobile", + "operator": "019 Communication Services Ltd. / TELZAR", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "20", + "brand": "Bezeq", + "operator": "Bezeq The Israeli Telecommunication Corp Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "21", + "brand": "Bezeq International", + "operator": "B.I.P. Communications Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "22", + "brand": null, + "operator": "Maskyoo Telephonia Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "23", + "brand": null, + "operator": "Beezz Communication Solutions Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "24", + "brand": "012 Mobile", + "operator": "Partner Communications Company Ltd.", + "status": "Operational", + "bands": "MVNO", + "notes": "MVNO (Partner)" + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "25", + "brand": "IMOD", + "operator": "Israel Ministry of Defense", + "status": "Operational", + "bands": "LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "26", + "brand": "Annatel", + "operator": "LB Annatel Ltd.", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "27", + "brand": null, + "operator": "BITIT Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "28", + "brand": null, + "operator": "PHI Networks", + "status": "Unknown", + "bands": "LTE 1800 / 5G 2600 / 5G 3500", + "notes": "Joint venture between Partner Communications Company and Hot Mobile" + }, + { + "type": "National", + "countryName": "Israel", + "countryCode": "IL", + "mcc": "425", + "mnc": "29", + "brand": null, + "operator": "CG Networks", + "status": "Unknown", + "bands": "Unknown", + "notes": "Joint venture between Cellcom, Golan Telecom and Exphone" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "00", + "brand": "Y!Mobile", + "operator": "SoftBank Corp.", + "status": "Operational", + "bands": "UMTS 1800", + "notes": "band 3; UMTS to shut down Jan 2024" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "01", + "brand": null, + "operator": "KDDI Corporation", + "status": "Operational", + "bands": "TD-LTE 2500", + "notes": "band 41; WiMAX 2500 shut down 31 Mar 2020; former UQ Communications" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "02", + "brand": null, + "operator": "Hanshin Cable Engineering Co., Ltd.", + "status": "Unknown", + "bands": "WiMAX 2500", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "03", + "brand": "IIJmio", + "operator": "Internet Initiative Japan Inc.", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "04", + "brand": null, + "operator": "Japan Radio Company, Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "05", + "brand": null, + "operator": "Wireless City Planning Inc.", + "status": "Operational", + "bands": "TD-LTE 2500", + "notes": "band 41; owned by SoftBank" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "06", + "brand": null, + "operator": "SAKURA Internet Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "07", + "brand": null, + "operator": "closip, Inc.", + "status": "Unknown", + "bands": "MVNO", + "notes": "Former LTE-X" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "08", + "brand": null, + "operator": "Panasonic Connect Co., Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "09", + "brand": null, + "operator": "Marubeni Network Solutions Inc.", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "10", + "brand": "NTT docomo", + "operator": "NTT DoCoMo, Inc.", + "status": "Operational", + "bands": "UMTS 850 / UMTS 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 3500 / 5G 3500 / 5G 4700 / 5G 28000", + "notes": "bands 1, 3, 19, 21, 28, 42; UMTS to shut down Mar 2026" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "11", + "brand": "Rakuten Mobile", + "operator": "Rakuten Mobile Network, Inc.", + "status": "Operational", + "bands": "LTE 1800 / 5G 3700", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "12", + "brand": null, + "operator": "Cable media waiwai Co., Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "13", + "brand": null, + "operator": "NTT Communications Corporation", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "14", + "brand": null, + "operator": "Grape One Co., Ltd.", + "status": "Unknown", + "bands": "5G", + "notes": "Private 5G networks" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "15", + "brand": null, + "operator": "BB Backbone Corp.", + "status": "Unknown", + "bands": "LTE", + "notes": "Private LTE networks" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "16", + "brand": null, + "operator": "Nokia Innovations Japan G.K.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "17", + "brand": null, + "operator": "Osaka Gas Business Create Co., Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "18", + "brand": null, + "operator": "Kintetsu Cable Network Co., Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "19", + "brand": null, + "operator": "NEC Networks & System Integration Corporation", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "20", + "brand": "SoftBank", + "operator": "SoftBank Corp.", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 700 / LTE 900 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500 / 5G 3700 / 5G 28000", + "notes": "bands 1, 3, 8, 11, 28, 41, 42; UMTS to shut down Jan 2024" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "21", + "brand": "SoftBank", + "operator": "SoftBank Corp.", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 700 / LTE 900 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500 / 5G 3700 / 5G 28000", + "notes": "bands 1, 3, 8, 11, 28, 41, 42; UMTS to shut down Jan 2024" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "22", + "brand": null, + "operator": "JTOWER Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "23", + "brand": null, + "operator": "Fujitsu Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "50", + "brand": "au", + "operator": "KDDI Corporation", + "status": "Operational", + "bands": "LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500 / 5G 800 / 5G 3500 / 5G 3700 / 5G 28000", + "notes": "bands 1, 3, 11, 18, 28, 41, 42" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "51", + "brand": "au", + "operator": "KDDI Corporation", + "status": "Operational", + "bands": "LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500 / 5G 800 / 5G 3500 / 5G 3700 / 5G 28000", + "notes": "bands 1, 3, 11, 18, 28, 41, 42" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "52", + "brand": "au", + "operator": "KDDI Corporation", + "status": "Operational", + "bands": "LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500 / 5G 800 / 5G 3500 / 5G 3700 / 5G 28000", + "notes": "bands 1, 3, 11, 18, 28, 41, 42" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "53", + "brand": "au", + "operator": "KDDI Corporation", + "status": "Operational", + "bands": "LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500 / 5G 800 / 5G 3500 / 5G 3700 / 5G 28000", + "notes": "bands 1, 3, 11, 18, 28, 41, 42" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "54", + "brand": "au", + "operator": "KDDI Corporation", + "status": "Not operational", + "bands": "CDMA 850 / CDMA 2000", + "notes": "CDMA shut down 31 Mar 2022" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "70", + "brand": "au", + "operator": "KDDI Corporation", + "status": "Not operational", + "bands": "CDMA 850 / CDMA 2000", + "notes": "CDMA shut down 31 Mar 2022, MNC withdrawn" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "71", + "brand": "au", + "operator": "KDDI Corporation", + "status": "Not operational", + "bands": "CDMA 850 / CDMA 2000", + "notes": "CDMA shut down 31 Mar 2022, MNC withdrawn" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "72", + "brand": "au", + "operator": "KDDI Corporation", + "status": "Not operational", + "bands": "CDMA 850 / CDMA 2000", + "notes": "CDMA shut down 31 Mar 2022, MNC withdrawn" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "73", + "brand": "au", + "operator": "KDDI Corporation", + "status": "Not operational", + "bands": "CDMA 850 / CDMA 2000", + "notes": "CDMA shut down 31 Mar 2022, MNC withdrawn" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "74", + "brand": "au", + "operator": "KDDI Corporation", + "status": "Not operational", + "bands": "CDMA 850 / CDMA 2000", + "notes": "CDMA shut down 31 Mar 2022, MNC withdrawn" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "75", + "brand": "au", + "operator": "KDDI Corporation", + "status": "Not operational", + "bands": "CDMA 850 / CDMA 2000", + "notes": "CDMA shut down 31 Mar 2022, MNC withdrawn" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "76", + "brand": "au", + "operator": "KDDI Corporation", + "status": "Not operational", + "bands": "CDMA 850 / CDMA 2000", + "notes": "CDMA shut down 31 Mar 2022, MNC withdrawn" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "440", + "mnc": "78", + "brand": "au", + "operator": "Okinawa Cellular Telephone", + "status": "Not operational", + "bands": "CDMA 850 / CDMA 2000", + "notes": "CDMA shut down 31 Mar 2022" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "441", + "mnc": "00", + "brand": null, + "operator": "Wireless City Planning Inc.", + "status": "Operational", + "bands": "TD-LTE 2500", + "notes": "band 41; owned by SoftBank" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "441", + "mnc": "01", + "brand": "SoftBank", + "operator": "SoftBank Corp.", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 700 / LTE 900 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 2500 / TD-LTE 3500 / 5G 3700", + "notes": "bands 1, 3, 8, 11, 28, 41, 42; UMTS to shut down Jan 2024" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "441", + "mnc": "10", + "brand": "UQ WiMAX", + "operator": "UQ Communications Inc.", + "status": "Not operational", + "bands": "TD-LTE 2500", + "notes": "band 41; WiMAX 2500 shut down 31 Mar 2020; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "441", + "mnc": "200", + "brand": null, + "operator": "Soracom Inc.", + "status": "Operational", + "bands": "MVNO", + "notes": "IoT" + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "441", + "mnc": "201", + "brand": null, + "operator": "Aurens Co., Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "441", + "mnc": "202", + "brand": null, + "operator": "Sony Wireless Communications Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "441", + "mnc": "203", + "brand": null, + "operator": "Gujo City", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "441", + "mnc": "204", + "brand": null, + "operator": "Wicom Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "441", + "mnc": "205", + "brand": null, + "operator": "Katch Network Inc.", + "status": "Operational", + "bands": "5G 4700", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "441", + "mnc": "206", + "brand": null, + "operator": "Mitsubishi Electric Corp.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "441", + "mnc": "207", + "brand": null, + "operator": "Mitsui Knowledge Industry Co., Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "441", + "mnc": "208", + "brand": null, + "operator": "Chudenko Corp.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "441", + "mnc": "209", + "brand": null, + "operator": "Cable Television Toyama Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "441", + "mnc": "210", + "brand": null, + "operator": "Nippon Telegraph and Telephone East Corp.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "441", + "mnc": "211", + "brand": null, + "operator": "Starcat Cable Network Co., Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "441", + "mnc": "212", + "brand": null, + "operator": "I-TEC Solutions Co., Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Japan", + "countryCode": "JP", + "mcc": "441", + "mnc": "91", + "brand": null, + "operator": "Tokyo Organising Committee of the Olympic and Paralympic Games", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Jordan", + "countryCode": "JO", + "mcc": "416", + "mnc": "01", + "brand": "zain JO", + "operator": "Jordan Mobile Telephone Services", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800", + "notes": "Former Fastlink" + }, + { + "type": "National", + "countryName": "Jordan", + "countryCode": "JO", + "mcc": "416", + "mnc": "02", + "brand": "XPress Telecom", + "operator": "XPress Telecom", + "status": "Not operational", + "bands": "iDEN 800", + "notes": "Shut down in 2010" + }, + { + "type": "National", + "countryName": "Jordan", + "countryCode": "JO", + "mcc": "416", + "mnc": "03", + "brand": "Umniah", + "operator": "Umniah Mobile Company", + "status": "Operational", + "bands": "UMTS 2100 / LTE 1800 / LTE 3500", + "notes": "GSM shut down 2022" + }, + { + "type": "National", + "countryName": "Jordan", + "countryCode": "JO", + "mcc": "416", + "mnc": "77", + "brand": "Orange", + "operator": "Petra Jordanian Mobile Telecommunications Company (MobileCom)", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Kazakhstan", + "countryCode": "KZ", + "mcc": "401", + "mnc": "01", + "brand": "Beeline", + "operator": "KaR-Tel LLP", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Kazakhstan", + "countryCode": "KZ", + "mcc": "401", + "mnc": "02", + "brand": "Kcell", + "operator": "Kcell JSC", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / 5G", + "notes": null + }, + { + "type": "National", + "countryName": "Kazakhstan", + "countryCode": "KZ", + "mcc": "401", + "mnc": "07", + "brand": "Altel", + "operator": "Altel", + "status": "Operational", + "bands": "UMTS 850 / GSM 1800 / LTE 1800", + "notes": "CDMA 800 closed 1 July 2015; acquired by Tele2" + }, + { + "type": "National", + "countryName": "Kazakhstan", + "countryCode": "KZ", + "mcc": "401", + "mnc": "08", + "brand": "Kazakhtelecom", + "operator": null, + "status": "Operational", + "bands": "CDMA 450 / CDMA 800", + "notes": null + }, + { + "type": "National", + "countryName": "Kazakhstan", + "countryCode": "KZ", + "mcc": "401", + "mnc": "77", + "brand": "Tele2.kz", + "operator": "MTS", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / 5G", + "notes": "Called Mobile Telecom Service before its acquisition by Tele2" + }, + { + "type": "National", + "countryName": "North Korea", + "countryCode": "KP", + "mcc": "467", + "mnc": "05", + "brand": "Koryolink", + "operator": "Cheo Technology Jv Company", + "status": "Operational", + "bands": "UMTS 2100", + "notes": "for foreigners" + }, + { + "type": "National", + "countryName": "North Korea", + "countryCode": "KP", + "mcc": "467", + "mnc": "06", + "brand": "Kang Song NET", + "operator": "Korea Posts and Telecommunications Corporation", + "status": "Operational", + "bands": "UMTS 2100", + "notes": "for DPRK citizens. Government owned." + }, + { + "type": "National", + "countryName": "North Korea", + "countryCode": "KP", + "mcc": "467", + "mnc": "193", + "brand": "SunNet", + "operator": "Korea Posts and Telecommunications Corporation", + "status": "Not operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "South Korea", + "countryCode": "KR", + "mcc": "450", + "mnc": "01", + "brand": null, + "operator": "Globalstar Asia Pacific", + "status": "Operational", + "bands": "Satellite", + "notes": null + }, + { + "type": "National", + "countryName": "South Korea", + "countryCode": "KR", + "mcc": "450", + "mnc": "02", + "brand": "KT", + "operator": "KT", + "status": "Operational", + "bands": "5G 3500", + "notes": "former Hansol PCS (CDMA 1800), merged with KT in 2002" + }, + { + "type": "National", + "countryName": "South Korea", + "countryCode": "KR", + "mcc": "450", + "mnc": "03", + "brand": "Power 017", + "operator": "Shinsegi Telecom, Inc.", + "status": "Not operational", + "bands": "CDMA 850", + "notes": "Merged with SK Telecom in 2002; MNC withdrawn" + }, + { + "type": "National", + "countryName": "South Korea", + "countryCode": "KR", + "mcc": "450", + "mnc": "04", + "brand": "KT", + "operator": "KT", + "status": "Operational", + "bands": "LTE 1800", + "notes": "NB-IoT network (LTE Cat NB1); former CDMA 1800" + }, + { + "type": "National", + "countryName": "South Korea", + "countryCode": "KR", + "mcc": "450", + "mnc": "05", + "brand": "SKTelecom", + "operator": "SK Telecom", + "status": "Operational", + "bands": "UMTS 2100 / LTE 850 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500 / 5G 28000", + "notes": "CDMA 850 shut down June 2020" + }, + { + "type": "National", + "countryName": "South Korea", + "countryCode": "KR", + "mcc": "450", + "mnc": "06", + "brand": "LG U+", + "operator": "LG Telecom", + "status": "Operational", + "bands": "LTE 850 / LTE 2100 / LTE 2600 / 5G 3500", + "notes": "CDMA 1800 shut down June 2021" + }, + { + "type": "National", + "countryName": "South Korea", + "countryCode": "KR", + "mcc": "450", + "mnc": "07", + "brand": "KT", + "operator": "KT", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Korea", + "countryCode": "KR", + "mcc": "450", + "mnc": "08", + "brand": "olleh", + "operator": "KT", + "status": "Operational", + "bands": "UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "South Korea", + "countryCode": "KR", + "mcc": "450", + "mnc": "11", + "brand": "Tplus", + "operator": "Korea Cable Telecom", + "status": "Operational", + "bands": "MVNO", + "notes": "MVNO of SK Telecom" + }, + { + "type": "National", + "countryName": "South Korea", + "countryCode": "KR", + "mcc": "450", + "mnc": "12", + "brand": "SKTelecom", + "operator": "SK Telecom", + "status": "Operational", + "bands": "LTE 850 / LTE 1800", + "notes": "IoT network (LTE Cat M1)" + }, + { + "type": "National", + "countryName": "Kuwait", + "countryCode": "KW", + "mcc": "419", + "mnc": "02", + "brand": "zain KW", + "operator": "Zain Kuwait", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Kuwait", + "countryCode": "KW", + "mcc": "419", + "mnc": "03", + "brand": "Ooredoo", + "operator": "National Mobile Telecommunications", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Kuwait", + "countryCode": "KW", + "mcc": "419", + "mnc": "04", + "brand": "STC", + "operator": "Saudi Telecom Company", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G 2100 / 5G 3500", + "notes": "Former VIVA" + }, + { + "type": "National", + "countryName": "Kyrgyzstan", + "countryCode": "KG", + "mcc": "437", + "mnc": "01", + "brand": "Beeline", + "operator": "Sky Mobile LLC", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800", + "notes": "Former Bitel" + }, + { + "type": "National", + "countryName": "Kyrgyzstan", + "countryCode": "KG", + "mcc": "437", + "mnc": "03", + "brand": null, + "operator": "7 Mobile", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Fonex/Aktel" + }, + { + "type": "National", + "countryName": "Kyrgyzstan", + "countryCode": "KG", + "mcc": "437", + "mnc": "05", + "brand": "MegaCom", + "operator": "Alfa Telecom CJSC", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Kyrgyzstan", + "countryCode": "KG", + "mcc": "437", + "mnc": "09", + "brand": "O!", + "operator": "NurTelecom LLC", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Kyrgyzstan", + "countryCode": "KG", + "mcc": "437", + "mnc": "10", + "brand": null, + "operator": "Saima Telecom", + "status": "Operational", + "bands": "LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Kyrgyzstan", + "countryCode": "KG", + "mcc": "437", + "mnc": "11", + "brand": null, + "operator": "iTel", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Laos", + "countryCode": "LA", + "mcc": "457", + "mnc": "01", + "brand": "LaoTel", + "operator": "Lao Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G", + "notes": null + }, + { + "type": "National", + "countryName": "Laos", + "countryCode": "LA", + "mcc": "457", + "mnc": "02", + "brand": "ETL", + "operator": "Enterprise of Telecommunications Lao", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Laos", + "countryCode": "LA", + "mcc": "457", + "mnc": "03", + "brand": "Unitel", + "operator": "Star Telecom Co., Ltd", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Former Lao-Asia Telecom Company (LAT); owned by Viettel" + }, + { + "type": "National", + "countryName": "Laos", + "countryCode": "LA", + "mcc": "457", + "mnc": "07", + "brand": "Best", + "operator": "Best Telecom Co., Ltd", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Laos", + "countryCode": "LA", + "mcc": "457", + "mnc": "08", + "brand": "TPLUS", + "operator": "TPLUS Digital Sole Co., Ltd", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Former Millicom (Tigo), VimpelCom (Beeline)" + }, + { + "type": "National", + "countryName": "Lebanon", + "countryCode": "LB", + "mcc": "415", + "mnc": "01", + "brand": "Alfa", + "operator": "MIC 1", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Lebanon", + "countryCode": "LB", + "mcc": "415", + "mnc": "03", + "brand": "Touch", + "operator": "MIC 2", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Lebanon", + "countryCode": "LB", + "mcc": "415", + "mnc": "05", + "brand": "Ogero Mobile", + "operator": "Ogero Telecom", + "status": "Not operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Macau (People's Republic of China)", + "countryCode": "MO", + "mcc": "455", + "mnc": "00", + "brand": "SmarTone", + "operator": "Smartone – Comunicações Móveis, S.A.", + "status": "Operational", + "bands": "UMTS 2100 / LTE 1800", + "notes": "GSM shut down 1 Aug 2019" + }, + { + "type": "National", + "countryName": "Macau (People's Republic of China)", + "countryCode": "MO", + "mcc": "455", + "mnc": "01", + "brand": "CTM", + "operator": "Companhia de Telecomunicações de Macau, S.A.R.L.", + "status": "Operational", + "bands": "LTE 1800 / 5G 3500", + "notes": "GSM shut down 1 Aug 2019" + }, + { + "type": "National", + "countryName": "Macau (People's Republic of China)", + "countryCode": "MO", + "mcc": "455", + "mnc": "02", + "brand": "China Telecom", + "operator": "China Telecom (Macau) Company Limited", + "status": "Not operational", + "bands": "CDMA 800", + "notes": "Shut down 2010" + }, + { + "type": "National", + "countryName": "Macau (People's Republic of China)", + "countryCode": "MO", + "mcc": "455", + "mnc": "03", + "brand": "3", + "operator": "Hutchison Telephone (Macau), Limitada", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": "GSM shut down 1 Aug 2019" + }, + { + "type": "National", + "countryName": "Macau (People's Republic of China)", + "countryCode": "MO", + "mcc": "455", + "mnc": "04", + "brand": "CTM", + "operator": "Companhia de Telecomunicações de Macau, S.A.R.L.", + "status": "Operational", + "bands": "UMTS 2100", + "notes": "GSM shut down 1 Aug 2019" + }, + { + "type": "National", + "countryName": "Macau (People's Republic of China)", + "countryCode": "MO", + "mcc": "455", + "mnc": "05", + "brand": "3", + "operator": "Hutchison Telephone (Macau), Limitada", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Macau (People's Republic of China)", + "countryCode": "MO", + "mcc": "455", + "mnc": "06", + "brand": "SmarTone", + "operator": "Smartone – Comunicações Móveis, S.A.", + "status": "Operational", + "bands": "UMTS 2100", + "notes": "GSM shut down 1 Aug 2019" + }, + { + "type": "National", + "countryName": "Macau (People's Republic of China)", + "countryCode": "MO", + "mcc": "455", + "mnc": "07", + "brand": "China Telecom", + "operator": "China Telecom (Macau) Limitada", + "status": "Operational", + "bands": "LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Maldives", + "countryCode": "MV", + "mcc": "472", + "mnc": "01", + "brand": "Dhiraagu", + "operator": "Dhivehi Raajjeyge Gulhun", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Maldives", + "countryCode": "MV", + "mcc": "472", + "mnc": "02", + "brand": "Ooredoo", + "operator": "Ooredoo Maldives", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800 / LTE 2600 / 5G", + "notes": "Former Wataniya Telecom" + }, + { + "type": "National", + "countryName": "Mongolia", + "countryCode": "MN", + "mcc": "428", + "mnc": "88", + "brand": "Unitel", + "operator": "Unitel LLC", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "Mongolia", + "countryCode": "MN", + "mcc": "428", + "mnc": "91", + "brand": "Skytel", + "operator": "Skytel LLC", + "status": "Operational", + "bands": "CDMA 850 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Mongolia", + "countryCode": "MN", + "mcc": "428", + "mnc": "98", + "brand": "G-Mobile", + "operator": "G-Mobile LLC", + "status": "Operational", + "bands": "CDMA 450 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Mongolia", + "countryCode": "MN", + "mcc": "428", + "mnc": "99", + "brand": "Mobicom", + "operator": "Mobicom Corporation", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 700 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Myanmar", + "countryCode": "MM", + "mcc": "414", + "mnc": "00", + "brand": "MPT", + "operator": "Myanmar Posts and Telecommunications", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Myanmar", + "countryCode": "MM", + "mcc": "414", + "mnc": "01", + "brand": "MPT", + "operator": "Myanmar Posts and Telecommunications", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Myanmar", + "countryCode": "MM", + "mcc": "414", + "mnc": "02", + "brand": "MPT", + "operator": "Myanmar Posts and Telecommunications", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Myanmar", + "countryCode": "MM", + "mcc": "414", + "mnc": "03", + "brand": "CDMA800", + "operator": "Myanmar Economic Corporation", + "status": "Operational", + "bands": "CDMA 800", + "notes": null + }, + { + "type": "National", + "countryName": "Myanmar", + "countryCode": "MM", + "mcc": "414", + "mnc": "04", + "brand": "MPT", + "operator": "Myanmar Posts and Telecommunications", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Myanmar", + "countryCode": "MM", + "mcc": "414", + "mnc": "05", + "brand": "Ooredoo", + "operator": "Ooredoo Myanmar", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Myanmar", + "countryCode": "MM", + "mcc": "414", + "mnc": "06", + "brand": "Telenor", + "operator": "Telenor Myanmar", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Myanmar", + "countryCode": "MM", + "mcc": "414", + "mnc": "09", + "brand": "Mytel", + "operator": "Myanmar National Tele & Communication Co., Ltd", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Myanmar", + "countryCode": "MM", + "mcc": "414", + "mnc": "20", + "brand": "ACS", + "operator": "Amara Communication Co., Ltd", + "status": "Operational", + "bands": "TD-LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Myanmar", + "countryCode": "MM", + "mcc": "414", + "mnc": "21", + "brand": "ACS", + "operator": "Amara Communication Co., Ltd", + "status": "Operational", + "bands": "TD-LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Myanmar", + "countryCode": "MM", + "mcc": "414", + "mnc": "22", + "brand": null, + "operator": "Fortune Telecom Co., Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Myanmar", + "countryCode": "MM", + "mcc": "414", + "mnc": "23", + "brand": null, + "operator": "Global Technology Co., Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Nepal", + "countryCode": "NP", + "mcc": "429", + "mnc": "01", + "brand": "Namaste / NT Mobile / Sky Phone", + "operator": "Nepal Telecom (NDCL)", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": "WiMAX 2300, CDMA 850 shut down in 2021" + }, + { + "type": "National", + "countryName": "Nepal", + "countryCode": "NP", + "mcc": "429", + "mnc": "02", + "brand": "Ncell", + "operator": "Ncell Pvt. Ltd.", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 900 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Nepal", + "countryCode": "NP", + "mcc": "429", + "mnc": "03", + "brand": "UTL", + "operator": "United Telecom Limited", + "status": "Operational", + "bands": "CDMA2000 800", + "notes": null + }, + { + "type": "National", + "countryName": "Nepal", + "countryCode": "NP", + "mcc": "429", + "mnc": "04", + "brand": "SmartCell", + "operator": "Smart Telecom Pvt. Ltd. (STPL)", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Oman", + "countryCode": "OM", + "mcc": "422", + "mnc": "02", + "brand": "Omantel", + "operator": "Oman Telecommunications Company", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / LTE 1800 / TD-LTE 2300 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Oman", + "countryCode": "OM", + "mcc": "422", + "mnc": "03", + "brand": "Ooredoo", + "operator": "Omani Qatari Telecommunications Company SAOC", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / LTE 800 / LTE 1800 / TD-LTE 2300 / 5G 3500", + "notes": "Former Nawras" + }, + { + "type": "National", + "countryName": "Oman", + "countryCode": "OM", + "mcc": "422", + "mnc": "04", + "brand": "Omantel", + "operator": "Oman Telecommunications Company", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Oman", + "countryCode": "OM", + "mcc": "422", + "mnc": "06", + "brand": "Vodafone", + "operator": "Oman Future Telecommunications Company SAOC", + "status": "Operational", + "bands": "5G 700", + "notes": null + }, + { + "type": "National", + "countryName": "Pakistan", + "countryCode": "PK", + "mcc": "410", + "mnc": "01", + "brand": "Jazz", + "operator": "Mobilink-PMCL", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800", + "notes": "Former Mobilink" + }, + { + "type": "National", + "countryName": "Pakistan", + "countryCode": "PK", + "mcc": "410", + "mnc": "02", + "brand": "3G EVO / CharJi 4G", + "operator": "PTCL", + "status": "Operational", + "bands": "CDMA2000 1900 / TD-LTE 1900", + "notes": null + }, + { + "type": "National", + "countryName": "Pakistan", + "countryCode": "PK", + "mcc": "410", + "mnc": "03", + "brand": "Ufone", + "operator": "Pakistan Telecommunication Mobile Ltd", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Pakistan", + "countryCode": "PK", + "mcc": "410", + "mnc": "04", + "brand": "Zong", + "operator": "China Mobile", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100", + "notes": "Former Paktel" + }, + { + "type": "National", + "countryName": "Pakistan", + "countryCode": "PK", + "mcc": "410", + "mnc": "05", + "brand": "SCO Mobile", + "operator": "SCO Mobile Ltd", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Pakistan", + "countryCode": "PK", + "mcc": "410", + "mnc": "06", + "brand": "Telenor", + "operator": "Telenor Pakistan", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 850 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Pakistan", + "countryCode": "PK", + "mcc": "410", + "mnc": "07", + "brand": "Jazz", + "operator": "WaridTel", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Former Warid Pakistan" + }, + { + "type": "National", + "countryName": "Pakistan", + "countryCode": "PK", + "mcc": "410", + "mnc": "08", + "brand": "SCO Mobile", + "operator": "SCO Mobile Ltd", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Palestine", + "countryCode": "PS", + "mcc": "425", + "mnc": "05", + "brand": "Jawwal", + "operator": "Palestine Cellular Communications, Ltd.", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Palestine", + "countryCode": "PS", + "mcc": "425", + "mnc": "06", + "brand": "Ooredoo", + "operator": "Ooredoo Palestine", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Former Wataniya" + }, + { + "type": "National", + "countryName": "Qatar", + "countryCode": "QA", + "mcc": "427", + "mnc": "01", + "brand": "Ooredoo", + "operator": "Ooredoo", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": "Former Qtel (Qatar Telecom)" + }, + { + "type": "National", + "countryName": "Qatar", + "countryCode": "QA", + "mcc": "427", + "mnc": "02", + "brand": "Vodafone", + "operator": "Vodafone Qatar", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Qatar", + "countryCode": "QA", + "mcc": "427", + "mnc": "05", + "brand": "Ministry of Interior", + "operator": "Ministry of Interior", + "status": "Operational", + "bands": "TETRA 380", + "notes": null + }, + { + "type": "National", + "countryName": "Qatar", + "countryCode": "QA", + "mcc": "427", + "mnc": "06", + "brand": "Ministry of Interior", + "operator": "Ministry of Interior", + "status": "Operational", + "bands": "LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Saudi Arabia", + "countryCode": "SA", + "mcc": "420", + "mnc": "01", + "brand": "Al Jawal (STC )", + "operator": "Saudi Telecom Company", + "status": "Operational", + "bands": "GSM 900 / LTE 700 / LTE 1800 / LTE 2100 / TD-LTE 2300 / 5G 3500", + "notes": "UMTS shut down 2022" + }, + { + "type": "National", + "countryName": "Saudi Arabia", + "countryCode": "SA", + "mcc": "420", + "mnc": "03", + "brand": "Mobily", + "operator": "Etihad Etisalat Company", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 1800 / TD-LTE 2500", + "notes": null + }, + { + "type": "National", + "countryName": "Saudi Arabia", + "countryCode": "SA", + "mcc": "420", + "mnc": "04", + "brand": "Zain SA", + "operator": "Zain Saudi Arabia", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500 / 5G 2500 / 5G 3500", + "notes": "Active September 2008" + }, + { + "type": "National", + "countryName": "Saudi Arabia", + "countryCode": "SA", + "mcc": "420", + "mnc": "05", + "brand": "Virgin Mobile", + "operator": "Virgin Mobile Saudi Arabia", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses Al Jawal network" + }, + { + "type": "National", + "countryName": "Saudi Arabia", + "countryCode": "SA", + "mcc": "420", + "mnc": "06", + "brand": "Lebara Mobile", + "operator": "Lebara Mobile", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Saudi Arabia", + "countryCode": "SA", + "mcc": "420", + "mnc": "21", + "brand": "RGSM", + "operator": "Saudi Railways GSM", + "status": "Operational", + "bands": "GSM-R 900", + "notes": null + }, + { + "type": "National", + "countryName": "Sri Lanka", + "countryCode": "LK", + "mcc": "413", + "mnc": "01", + "brand": "SLTMobitel", + "operator": "Mobitel (Pvt) Ltd", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 850 / LTE 900 / LTE 1800 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Sri Lanka", + "countryCode": "LK", + "mcc": "413", + "mnc": "02", + "brand": "Dialog", + "operator": "Dialog Axiata PLC", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Former MTN" + }, + { + "type": "National", + "countryName": "Sri Lanka", + "countryCode": "LK", + "mcc": "413", + "mnc": "03", + "brand": "Hutch", + "operator": "Hutchison Telecommunications Lanka (Pvt) Ltd", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Former Etisalat; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Sri Lanka", + "countryCode": "LK", + "mcc": "413", + "mnc": "04", + "brand": "Lanka Bell", + "operator": "Lanka Bell Ltd", + "status": "Operational", + "bands": "CDMA / WiMAX / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "Sri Lanka", + "countryCode": "LK", + "mcc": "413", + "mnc": "05", + "brand": "Airtel", + "operator": "Bharti Airtel Lanka (Pvt) Ltd", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 850 / LTE 2100 / TD-LTE 2500", + "notes": null + }, + { + "type": "National", + "countryName": "Sri Lanka", + "countryCode": "LK", + "mcc": "413", + "mnc": "08", + "brand": "Hutch", + "operator": "Hutchison Telecommunications Lanka (Pvt) Ltd", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 900 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Sri Lanka", + "countryCode": "LK", + "mcc": "413", + "mnc": "09", + "brand": "Hutch", + "operator": "Hutchison Telecommunications Lanka (Pvt) Ltd", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Sri Lanka", + "countryCode": "LK", + "mcc": "413", + "mnc": "11", + "brand": "Dialog", + "operator": "Dialog Broadband Networks (Pvt) Ltd", + "status": "Operational", + "bands": "CDMA / WiMAX / TD-LTE 2300", + "notes": "Fixed wireless" + }, + { + "type": "National", + "countryName": "Sri Lanka", + "countryCode": "LK", + "mcc": "413", + "mnc": "12", + "brand": "SLTMobitel", + "operator": "Sri Lanka Telecom PLC", + "status": "Operational", + "bands": "TD-LTE 2600", + "notes": "Fixed wireless" + }, + { + "type": "National", + "countryName": "Syria", + "countryCode": "SY", + "mcc": "417", + "mnc": "01", + "brand": "Syriatel", + "operator": "Syriatel Mobile Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Syria", + "countryCode": "SY", + "mcc": "417", + "mnc": "02", + "brand": "MTN", + "operator": "MTN Syria", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Former Spacetel" + }, + { + "type": "National", + "countryName": "Syria", + "countryCode": "SY", + "mcc": "417", + "mnc": "03", + "brand": null, + "operator": "Wafa Telecom", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Syria", + "countryCode": "SY", + "mcc": "417", + "mnc": "09", + "brand": null, + "operator": "Syrian Telecom", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "01", + "brand": "FarEasTone", + "operator": "Far EasTone Telecommunications Co Ltd", + "status": "Operational", + "bands": "LTE 700 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 2100 / 5G 3500", + "notes": "LTE band 28;" + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "02", + "brand": "FarEasTone", + "operator": "Far EasTone Telecommunications Co Ltd", + "status": "Not operational", + "bands": "GSM 900", + "notes": "GSM shut down July 2017" + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "03", + "brand": "FarEasTone", + "operator": "Far EasTone Telecommunications Co Ltd", + "status": "Not operational", + "bands": "UMTS 2100", + "notes": "UMTS shut down Dec 2018" + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "05", + "brand": "Gt", + "operator": "Asia Pacific Telecom", + "status": "Operational", + "bands": "LTE 700 / LTE 900 / TD-LTE 2600 / 5G 3500 / 5G 28000", + "notes": "LTE bands 28 / 8 / 41; CDMA 850 MHz shut down Dec 2017" + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "06", + "brand": "FarEasTone", + "operator": "Far EasTone Telecommunications Co Ltd", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Former KG Telecom until 2004" + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "07", + "brand": "FarEasTone", + "operator": "Far EasTone Telecommunications Co Ltd", + "status": "Not operational", + "bands": "WiMAX 2600", + "notes": "Shut down in 2015" + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "09", + "brand": "VMAX", + "operator": "Vmax Telecom", + "status": "Operational", + "bands": "WiMAX 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "10", + "brand": "G1", + "operator": "Global Mobile Corp.", + "status": "Operational", + "bands": "WiMAX 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "11", + "brand": "Chunghwa LDM", + "operator": "LDTA/Chunghwa Telecom", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Also known as \"Long Distance & Mobile Business Group\"" + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "12", + "brand": null, + "operator": "Ambit Microsystems", + "status": "Operational", + "bands": "LTE 700 / LTE 900", + "notes": "Subsidiary of Foxconn; LTE band 28" + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "56", + "brand": "FITEL", + "operator": "First International Telecom", + "status": "Not operational", + "bands": "WiMAX 2600 / PHS", + "notes": "Bankruptcy in 2014" + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "68", + "brand": null, + "operator": "Tatung InfoComm", + "status": "Not operational", + "bands": "WiMAX 2600", + "notes": "License expired in 2014" + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "88", + "brand": "FarEasTone", + "operator": "Far EasTone Telecommunications Co Ltd", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Former KG Telecom until 2004, KG Telecom brand used until 2009" + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "89", + "brand": "T Star", + "operator": "Taiwan Star Telecom", + "status": "Operational", + "bands": "LTE 900 / LTE 2600 / 5G 3500", + "notes": "UMTS shut down Dec 2018" + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "90", + "brand": "T Star", + "operator": "Taiwan Star Telecom", + "status": "Unknown", + "bands": "LTE 900", + "notes": null + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "92", + "brand": "Chunghwa", + "operator": "Chunghwa Telecom", + "status": "Operational", + "bands": "LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 2100 / 5G 3500", + "notes": "GSM shut down July 2017; UMTS shut down Dec 2018" + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "93", + "brand": "MobiTai", + "operator": "Mobitai Communications", + "status": "Not operational", + "bands": "GSM 900", + "notes": "Acquired by Taiwan Mobile in 2004, MobiTai brand used until 2008" + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "97", + "brand": "Taiwan Mobile", + "operator": "Taiwan Mobile Co. Ltd", + "status": "Operational", + "bands": "LTE 700 / LTE 1800 / LTE 2100 / 5G 3500", + "notes": "LTE band 28; GSM shut down July 2017; UMTS shut down Dec 2018" + }, + { + "type": "National", + "countryName": "Taiwan", + "countryCode": "TW", + "mcc": "466", + "mnc": "99", + "brand": "TransAsia", + "operator": "TransAsia Telecoms", + "status": "Not operational", + "bands": "GSM 900", + "notes": "Acquired by Taiwan Mobile in 2002, TransAsia brand used until 2008" + }, + { + "type": "National", + "countryName": "Tajikistan", + "countryCode": "TJ", + "mcc": "436", + "mnc": "01", + "brand": "Tcell", + "operator": "JV Somoncom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Tajikistan", + "countryCode": "TJ", + "mcc": "436", + "mnc": "02", + "brand": "Tcell", + "operator": "Indigo Tajikistan", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Tajikistan", + "countryCode": "TJ", + "mcc": "436", + "mnc": "03", + "brand": "MegaFon", + "operator": "TT Mobile", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800", + "notes": null + }, + { + "type": "National", + "countryName": "Tajikistan", + "countryCode": "TJ", + "mcc": "436", + "mnc": "04", + "brand": "Babilon-M", + "operator": "Babilon-Mobile", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Tajikistan", + "countryCode": "TJ", + "mcc": "436", + "mnc": "05", + "brand": "ZET-Mobile", + "operator": "Tacom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 2100", + "notes": "Former Beeline" + }, + { + "type": "National", + "countryName": "Tajikistan", + "countryCode": "TJ", + "mcc": "436", + "mnc": "10", + "brand": "Babilon-T", + "operator": "Babilon-T", + "status": "Operational", + "bands": "TD-LTE 2300 / WiMAX", + "notes": null + }, + { + "type": "National", + "countryName": "Tajikistan", + "countryCode": "TJ", + "mcc": "436", + "mnc": "12", + "brand": "Tcell", + "operator": "Indigo", + "status": "Unknown", + "bands": "UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Turkmenistan", + "countryCode": "TM", + "mcc": "438", + "mnc": "01", + "brand": "MTS", + "operator": "MTS Turkmenistan", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Forced to shut down 2017" + }, + { + "type": "National", + "countryName": "Turkmenistan", + "countryCode": "TM", + "mcc": "438", + "mnc": "02", + "brand": "TM-Cell", + "operator": "Altyn Asyr", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Turkmenistan", + "countryCode": "TM", + "mcc": "438", + "mnc": "03", + "brand": "AGTS CDMA", + "operator": "AŞTU", + "status": "Operational", + "bands": "CDMA 450", + "notes": null + }, + { + "type": "National", + "countryName": "United Arab Emirates", + "countryCode": "AE", + "mcc": "424", + "mnc": "02", + "brand": "Etisalat", + "operator": "Emirates Telecom Corp", + "status": "Operational", + "bands": "LTE 800 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": "GSM shut down Dec 2022" + }, + { + "type": "National", + "countryName": "United Arab Emirates", + "countryCode": "AE", + "mcc": "424", + "mnc": "03", + "brand": "du", + "operator": "Emirates Integrated Telecommunications Company", + "status": "Operational", + "bands": "UMTS 2100 / LTE 800 / LTE 1800 / 5G 3500 / 5G 26000", + "notes": "GSM shut down Dec 2022" + }, + { + "type": "National", + "countryName": "Uzbekistan", + "countryCode": "UZ", + "mcc": "434", + "mnc": "01", + "brand": null, + "operator": "Buztel", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Uzbekistan", + "countryCode": "UZ", + "mcc": "434", + "mnc": "02", + "brand": null, + "operator": "Uzmacom", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Uzbekistan", + "countryCode": "UZ", + "mcc": "434", + "mnc": "03", + "brand": "UzMobile", + "operator": "Uzbektelekom", + "status": "Operational", + "bands": "CDMA 450", + "notes": "EVDO Rev A" + }, + { + "type": "National", + "countryName": "Uzbekistan", + "countryCode": "UZ", + "mcc": "434", + "mnc": "04", + "brand": "Beeline", + "operator": "Unitel LLC", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600", + "notes": "Former Daewoo Unitel" + }, + { + "type": "National", + "countryName": "Uzbekistan", + "countryCode": "UZ", + "mcc": "434", + "mnc": "05", + "brand": "Ucell", + "operator": "Coscom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Uzbekistan", + "countryCode": "UZ", + "mcc": "434", + "mnc": "06", + "brand": "Perfectum Mobile", + "operator": "RUBICON WIRELESS COMMUNICATION", + "status": "Operational", + "bands": "CDMA 800", + "notes": null + }, + { + "type": "National", + "countryName": "Uzbekistan", + "countryCode": "UZ", + "mcc": "434", + "mnc": "07", + "brand": "Mobiuz", + "operator": "Universal Mobile Systems (UMS)", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / 5G", + "notes": null + }, + { + "type": "National", + "countryName": "Uzbekistan", + "countryCode": "UZ", + "mcc": "434", + "mnc": "08", + "brand": "UzMobile", + "operator": "Uzbektelekom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Uzbekistan", + "countryCode": "UZ", + "mcc": "434", + "mnc": "09", + "brand": "EVO", + "operator": "OOO «Super iMAX»", + "status": "Operational", + "bands": "WiMAX / LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "Vietnam", + "countryCode": "VN", + "mcc": "452", + "mnc": "01", + "brand": "MobiFone", + "operator": "Vietnam Mobile Telecom Services Company", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Vietnam", + "countryCode": "VN", + "mcc": "452", + "mnc": "02", + "brand": "Vinaphone", + "operator": "Vietnam Telecom Services Company", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Vietnam", + "countryCode": "VN", + "mcc": "452", + "mnc": "03", + "brand": "S-Fone", + "operator": "S-Telecom", + "status": "Not operational", + "bands": "CDMA2000 800", + "notes": "License revoked; MNC withdawn" + }, + { + "type": "National", + "countryName": "Vietnam", + "countryCode": "VN", + "mcc": "452", + "mnc": "04", + "brand": "Viettel Mobile", + "operator": "Viettel Telecom", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Vietnam", + "countryCode": "VN", + "mcc": "452", + "mnc": "05", + "brand": "Vietnamobile", + "operator": "Hanoi Telecom", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Vietnam", + "countryCode": "VN", + "mcc": "452", + "mnc": "06", + "brand": "EVNTelecom", + "operator": "EVN Telecom", + "status": "Not operational", + "bands": "CDMA2000 450", + "notes": "License revoked; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Vietnam", + "countryCode": "VN", + "mcc": "452", + "mnc": "07", + "brand": "Gmobile", + "operator": "GTEL Mobile JSC", + "status": "Operational", + "bands": "GSM 1800", + "notes": "Former Beeline" + }, + { + "type": "National", + "countryName": "Vietnam", + "countryCode": "VN", + "mcc": "452", + "mnc": "08", + "brand": "I-Telecom", + "operator": "Indochina Telecom", + "status": "Operational", + "bands": "WiMAX", + "notes": "Former EVNTelecom" + }, + { + "type": "National", + "countryName": "Vietnam", + "countryCode": "VN", + "mcc": "452", + "mnc": "09", + "brand": "REDDI", + "operator": "MOBICAST JSC", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses Vinaphone" + }, + { + "type": "National", + "countryName": "Yemen", + "countryCode": "YE", + "mcc": "421", + "mnc": "01", + "brand": "SabaFon", + "operator": "SabaFon", + "status": "Operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Yemen", + "countryCode": "YE", + "mcc": "421", + "mnc": "02", + "brand": "YOU", + "operator": "Yemen Oman United Telecom", + "status": "Operational", + "bands": "GSM 900 / LTE", + "notes": "Former Spacetel, MTN" + }, + { + "type": "National", + "countryName": "Yemen", + "countryCode": "YE", + "mcc": "421", + "mnc": "03", + "brand": "Yemen Mobile", + "operator": "Yemen Mobile", + "status": "Operational", + "bands": "CDMA 850", + "notes": null + }, + { + "type": "National", + "countryName": "Yemen", + "countryCode": "YE", + "mcc": "421", + "mnc": "04", + "brand": "Y", + "operator": "HiTS-UNITEL", + "status": "Operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Yemen", + "countryCode": "YE", + "mcc": "421", + "mnc": "10", + "brand": "Yemen-4G", + "operator": "PTC/Yemen-Telecom", + "status": "Operational", + "bands": "700/1800/2600", + "notes": null + }, + { + "type": "National", + "countryName": "Yemen", + "countryCode": "YE", + "mcc": "421", + "mnc": "11", + "brand": "Yemen Mobile", + "operator": "Yemen Mobile", + "status": "Operational", + "bands": "LTE 3", + "notes": null + }, + { + "type": "National", + "countryName": "American Samoa (United States of America)", + "countryCode": "AS", + "mcc": "311", + "mnc": "780", + "brand": "ASTCA", + "operator": "American Samoa Telecommunications", + "status": "Operational", + "bands": "LTE 700", + "notes": "Uses United States MCC" + }, + { + "type": "National", + "countryName": "American Samoa (United States of America)", + "countryCode": "AS", + "mcc": "544", + "mnc": "11", + "brand": "Bluesky", + "operator": "Bluesky", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / LTE 700 / LTE 1900", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "01", + "brand": "Telstra", + "operator": "Telstra Corporation Limited", + "status": "Operational", + "bands": "UMTS 850 / LTE 700 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 850 / 5G 3500 / 5G 28000", + "notes": "LTE bands 28 / 8 / 3 / 1 / 7; GSM shut down 1 December 2016; UMTS 2100 shut down 25 March 2019" + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "02", + "brand": "Optus", + "operator": "Singtel Optus Pty Ltd", + "status": "Operational", + "bands": "UMTS 900 / LTE 700 / LTE 1800 / LTE 2100 / TD-LTE 2300 / LTE 2600 / 5G 900 / 5G 1800 / 5G 2100 / TD-5G 2300 / 5G 3500 / 5G 28000", + "notes": "LTE bands 28 / 3 / 1 / 7; GSM shut down Aug 2017, UMTS 2100 – May 2022, UMTS 900 – Sep 2024" + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "03", + "brand": "Vodafone", + "operator": "Vodafone Hutchison Australia Pty Ltd", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 850 / LTE 1800 / LTE 2100 / 5G 700 / 5G 3500", + "notes": "LTE bands 5 / 3 / 1; GSM shut down 30 April 2018" + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "04", + "brand": null, + "operator": "Department of Defence", + "status": "Operational", + "bands": "Unknown", + "notes": "Private network" + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "05", + "brand": "Ozitel", + "operator": null, + "status": "Not operational", + "bands": null, + "notes": "Brand was taken over by Telstra." + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "06", + "brand": "3", + "operator": "Vodafone Hutchison Australia Pty Ltd", + "status": "Not operational", + "bands": "UMTS 2100", + "notes": "Vodafone Hutchison Australia and Telstra ended their network sharing agreement on 31 August 2012. The 3TELSTRA network was shut down on this date." + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "07", + "brand": "Vodafone", + "operator": "Vodafone Network Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "08", + "brand": "One.Tel", + "operator": "One.Tel Limited", + "status": "Not operational", + "bands": "GSM 900", + "notes": "Brand was dissolved." + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "09", + "brand": "Airnet", + "operator": null, + "status": "Not operational", + "bands": null, + "notes": "No longer provide mobile services." + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "10", + "brand": "Norfolk Is.", + "operator": "Norfolk Telecom", + "status": "Operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "11", + "brand": "Telstra", + "operator": "Telstra Corporation Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "12", + "brand": "3", + "operator": "Vodafone Hutchison Australia Pty Ltd", + "status": "Not operational", + "bands": "UMTS 2100", + "notes": "See MNC 06" + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "13", + "brand": "RailCorp", + "operator": "Railcorp, Transport for NSW", + "status": "Operational", + "bands": "GSM-R 1800", + "notes": "For use by Sydney Trains Digital Train Radio System" + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "14", + "brand": "AAPT", + "operator": "TPG Telecom", + "status": "Operational", + "bands": "MVNO", + "notes": "Wholesale from Vodafone Hutchison Australia" + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "15", + "brand": "3GIS", + "operator": null, + "status": "Not operational", + "bands": null, + "notes": "Taken over by Vodafone." + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "16", + "brand": "VicTrack", + "operator": "Victorian Rail Track", + "status": "Operational", + "bands": "GSM-R 1800", + "notes": "Digital Train Radio System" + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "17", + "brand": null, + "operator": "Optus", + "status": "Operational", + "bands": "TD-LTE 2300", + "notes": "Former Vivid Wireless Pty. Ltd." + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "18", + "brand": "Pactel", + "operator": "Pactel International Pty Ltd", + "status": "Not operational", + "bands": null, + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "19", + "brand": "Lycamobile", + "operator": "Lycamobile Pty Ltd", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "20", + "brand": null, + "operator": "Ausgrid Corporation", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "21", + "brand": null, + "operator": "Queensland Rail Limited", + "status": "Unknown", + "bands": "GSM-R 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "22", + "brand": null, + "operator": "iiNet Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "23", + "brand": null, + "operator": "Challenge Networks Pty Ltd", + "status": "Operational", + "bands": "LTE 1800 / LTE 2100", + "notes": "Private networks, primarily for mining industry" + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "24", + "brand": null, + "operator": "Advanced Communications Technologies Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "25", + "brand": null, + "operator": "Pilbara Iron Company Services Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "26", + "brand": null, + "operator": "Dialogue Communications Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "27", + "brand": null, + "operator": "Nexium Telecommunications", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "28", + "brand": null, + "operator": "RCOM International Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "30", + "brand": null, + "operator": "Compatel Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "31", + "brand": null, + "operator": "BHP", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "32", + "brand": null, + "operator": "Thales Australia", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "33", + "brand": null, + "operator": "CLX Networks Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "34", + "brand": null, + "operator": "Santos Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "35", + "brand": null, + "operator": "MessageBird Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "36", + "brand": "Optus", + "operator": "Optus Mobile Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "37", + "brand": null, + "operator": "Yancoal Australia Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "38", + "brand": "Truphone", + "operator": "Truphone Pty Ltd", + "status": "Operational", + "bands": "MVNO", + "notes": "Formerly Crazy John's" + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "39", + "brand": "Telstra", + "operator": "Telstra Corporation Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "40", + "brand": null, + "operator": "CITIC Pacific Mining", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "41", + "brand": null, + "operator": "Aqura Technologies Pty", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former OTOC" + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "42", + "brand": "GEMCO", + "operator": "Groote Eylandt Mining Company Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "43", + "brand": null, + "operator": "Arrow Energy Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "44", + "brand": null, + "operator": "Roy Hill Iron Ore Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "45", + "brand": null, + "operator": "Clermont Coal Operations Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "46", + "brand": null, + "operator": "AngloGold Ashanti Australia Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "47", + "brand": null, + "operator": "Woodside Energy Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "48", + "brand": null, + "operator": "Titan ICT Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "49", + "brand": null, + "operator": "Field Solutions Group Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "50", + "brand": null, + "operator": "Pivotel Group Pty Ltd", + "status": "Operational", + "bands": "Satellite", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "51", + "brand": null, + "operator": "Fortescue Metals Group", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "52", + "brand": null, + "operator": "OptiTel Australia", + "status": "Operational", + "bands": "LTE 1800 / LTE 2100 / 5G 1800 / 5G 2100", + "notes": "Research, development, and operation; Northern Territory" + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "53", + "brand": null, + "operator": "Shell Australia Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "54", + "brand": null, + "operator": "Nokia Solutions and Networks Australia Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "61", + "brand": "CommTel NS", + "operator": "Commtel Network Solutions Pty Ltd", + "status": "Implement / Design", + "bands": "LTE 1800 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "62", + "brand": "NBN", + "operator": "National Broadband Network Co.", + "status": "Operational", + "bands": "TD-LTE 2300 / TD-LTE 3500", + "notes": "LTE band 40 / 42" + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "68", + "brand": "NBN", + "operator": "National Broadband Network Co.", + "status": "Operational", + "bands": "TD-LTE 2300 / TD-LTE 3500", + "notes": "LTE band 40 / 42" + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "71", + "brand": "Telstra", + "operator": "Telstra Corporation Limited", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "72", + "brand": "Telstra", + "operator": "Telstra Corporation Limited", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "88", + "brand": null, + "operator": "Pivotel Group Pty Ltd", + "status": "Operational", + "bands": "Satellite", + "notes": "Former Localstar Holding Pty. Ltd." + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "90", + "brand": "Optus", + "operator": "Singtel Optus Proprietary Ltd", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Australia", + "countryCode": "AU/CC/CX", + "mcc": "505", + "mnc": "99", + "brand": "One.Tel", + "operator": "One.Tel", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Brand was dissolved. Rail operators purchased 1800 spectrum." + }, + { + "type": "National", + "countryName": "Brunei", + "countryCode": "BN", + "mcc": "528", + "mnc": "01", + "brand": "TelBru", + "operator": "Telekom Brunei Berhad", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Jabatan Telekom Brunei" + }, + { + "type": "National", + "countryName": "Brunei", + "countryCode": "BN", + "mcc": "528", + "mnc": "02", + "brand": "PCSB", + "operator": "Progresif Cellular Sdn Bhd", + "status": "Operational", + "bands": "UMTS 2100", + "notes": "Former B-Mobile" + }, + { + "type": "National", + "countryName": "Brunei", + "countryCode": "BN", + "mcc": "528", + "mnc": "03", + "brand": "UNN", + "operator": "Unified National Networks Sdn Bhd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Brunei", + "countryCode": "BN", + "mcc": "528", + "mnc": "11", + "brand": "DST", + "operator": "Data Stream Technology Sdn Bhd", + "status": "Operational", + "bands": "UMTS 2100 / LTE 1800", + "notes": "GSM shut down June 2021" + }, + { + "type": "National", + "countryName": "Cook Islands (Pacific Ocean)", + "countryCode": "CK", + "mcc": "548", + "mnc": "01", + "brand": "Vodafone", + "operator": "Telecom Cook Islands", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / LTE 700 / LTE 1800", + "notes": "Former Bluesky; LTE bands 20 / 3" + }, + { + "type": "National", + "countryName": "East Timor", + "countryCode": "TL", + "mcc": "514", + "mnc": "01", + "brand": "Telkomcel", + "operator": "PT Telekomunikasi Indonesia International", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 850 / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "East Timor", + "countryCode": "TL", + "mcc": "514", + "mnc": "02", + "brand": "TT", + "operator": "Timor Telecom", + "status": "Operational", + "bands": "GSM 900 / UMTS / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "East Timor", + "countryCode": "TL", + "mcc": "514", + "mnc": "03", + "brand": "Telemor", + "operator": "Viettel Timor-Leste", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Fiji", + "countryCode": "FJ", + "mcc": "542", + "mnc": "01", + "brand": "Vodafone", + "operator": "Vodafone Fiji", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Fiji", + "countryCode": "FJ", + "mcc": "542", + "mnc": "02", + "brand": "Digicel", + "operator": "Digicel Fiji", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / WiMAX", + "notes": null + }, + { + "type": "National", + "countryName": "Fiji", + "countryCode": "FJ", + "mcc": "542", + "mnc": "03", + "brand": "TFL", + "operator": "Telecom Fiji Ltd", + "status": "Operational", + "bands": "CDMA2000 850 / LTE 700", + "notes": "LTE band 28" + }, + { + "type": "National", + "countryName": "French Polynesia (France)", + "countryCode": "PF", + "mcc": "547", + "mnc": "05", + "brand": "Ora", + "operator": "VITI", + "status": "Operational", + "bands": "WiMAX / LTE 800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "French Polynesia (France)", + "countryCode": "PF", + "mcc": "547", + "mnc": "10", + "brand": null, + "operator": "Mara Telecom", + "status": "Not operational", + "bands": "GSM 900", + "notes": "Bankrupt in 2013" + }, + { + "type": "National", + "countryName": "French Polynesia (France)", + "countryCode": "PF", + "mcc": "547", + "mnc": "15", + "brand": "Vodafone", + "operator": "Pacific Mobile Telecom", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "French Polynesia (France)", + "countryCode": "PF", + "mcc": "547", + "mnc": "20", + "brand": "Vini", + "operator": "Onati S.A.S.", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Indonesia", + "countryCode": "ID", + "mcc": "510", + "mnc": "00", + "brand": "PSN", + "operator": "PT Pasifik Satelit Nusantara", + "status": "Operational", + "bands": "Satellite", + "notes": null + }, + { + "type": "National", + "countryName": "Indonesia", + "countryCode": "ID", + "mcc": "510", + "mnc": "01", + "brand": "Indosat Ooredoo Hutchison", + "operator": "PT Indosat Tbk", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 900 / LTE 1800 / 5G 1800", + "notes": "Former PT Satelindo; UMTS shut down Dec 2022" + }, + { + "type": "National", + "countryName": "Indonesia", + "countryCode": "ID", + "mcc": "510", + "mnc": "03", + "brand": "StarOne", + "operator": "PT Indosat Tbk", + "status": "Not operational", + "bands": "CDMA 800", + "notes": "Shut down on 30 June 2015" + }, + { + "type": "National", + "countryName": "Indonesia", + "countryCode": "ID", + "mcc": "510", + "mnc": "07", + "brand": "TelkomFlexi", + "operator": "PT Telkom Indonesia Tbk", + "status": "Not operational", + "bands": "CDMA 800", + "notes": "Network shut down end of 2015" + }, + { + "type": "National", + "countryName": "Indonesia", + "countryCode": "ID", + "mcc": "510", + "mnc": "08", + "brand": "AXIS", + "operator": "PT Natrindo Telepon Seluler", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100", + "notes": "Merged with XL (MNC 11), MNC 08 no longer used" + }, + { + "type": "National", + "countryName": "Indonesia", + "countryCode": "ID", + "mcc": "510", + "mnc": "09", + "brand": "Smartfren", + "operator": "PT Smartfren Telecom", + "status": "Operational", + "bands": "LTE 850 / TD-LTE 2300", + "notes": "CDMA 1900 shut down December 2016, CDMA 850 shut down November 2017" + }, + { + "type": "National", + "countryName": "Indonesia", + "countryCode": "ID", + "mcc": "510", + "mnc": "10", + "brand": "Telkomsel", + "operator": "PT Telekomunikasi Selular", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 900 / LTE 1800 / TD-LTE 2300 / 5G 2300", + "notes": "UMTS shut down Dec 2022" + }, + { + "type": "National", + "countryName": "Indonesia", + "countryCode": "ID", + "mcc": "510", + "mnc": "11", + "brand": "XL", + "operator": "PT XL Axiata Tbk", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 900 / LTE 1800 / 5G 1800 / 5G 2100", + "notes": "UMTS shut down on 31 March 2022" + }, + { + "type": "National", + "countryName": "Indonesia", + "countryCode": "ID", + "mcc": "510", + "mnc": "20", + "brand": "TELKOMMobile", + "operator": "PT Telkom Indonesia Tbk", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Merged with Telkomsel" + }, + { + "type": "National", + "countryName": "Indonesia", + "countryCode": "ID", + "mcc": "510", + "mnc": "21", + "brand": "Indosat Ooredoo Hutchison", + "operator": "PT Indosat Tbk", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Former Indosat-M3; merged with Indosat (MNC 01)" + }, + { + "type": "National", + "countryName": "Indonesia", + "countryCode": "ID", + "mcc": "510", + "mnc": "27", + "brand": "Net 1", + "operator": "PT Net Satu Indonesia", + "status": "Not operational", + "bands": "LTE 450", + "notes": "Former Ceria, Sampoerna Telekomunikasi; CDMA 450 shut down 2017; license revoked on 30 November 2021" + }, + { + "type": "National", + "countryName": "Indonesia", + "countryCode": "ID", + "mcc": "510", + "mnc": "28", + "brand": "Fren/Hepi", + "operator": "PT Mobile-8 Telecom", + "status": "Operational", + "bands": "LTE 850 / TD-LTE 2300", + "notes": "Merged with SMART (MNC 09), CDMA 850 shut down November 2017" + }, + { + "type": "National", + "countryName": "Indonesia", + "countryCode": "ID", + "mcc": "510", + "mnc": "78", + "brand": "Hinet", + "operator": "PT Berca Hardayaperkasa", + "status": "Not operational", + "bands": "TD-LTE 2300", + "notes": "Shut down on 16 November 2022" + }, + { + "type": "National", + "countryName": "Indonesia", + "countryCode": "ID", + "mcc": "510", + "mnc": "88", + "brand": "BOLT! 4G LTE", + "operator": "PT Internux", + "status": "Not operational", + "bands": "TD-LTE 2300", + "notes": "Shut down on 28 December 2018" + }, + { + "type": "National", + "countryName": "Indonesia", + "countryCode": "ID", + "mcc": "510", + "mnc": "89", + "brand": "3", + "operator": "PT Hutchison 3 Indonesia", + "status": "Operational", + "bands": "GSM 1800 / LTE 1800", + "notes": "Merged with Indosat (MNC 01); UMTS shut down Dec 2022" + }, + { + "type": "National", + "countryName": "Indonesia", + "countryCode": "ID", + "mcc": "510", + "mnc": "99", + "brand": "Esia", + "operator": "PT Bakrie Telecom", + "status": "Not operational", + "bands": "CDMA 800", + "notes": "Merged with Smartfren (MNC 09)" + }, + { + "type": "National", + "countryName": "Kiribati", + "countryCode": "KI", + "mcc": "545", + "mnc": "01", + "brand": "Kiribati - ATH", + "operator": "Amalgamated Telecom Holdings Kiribati Limited", + "status": "Operational", + "bands": "UMTS 900 / LTE 1800", + "notes": "Former Telecom Services Kiribati Ltd (TSKL)" + }, + { + "type": "National", + "countryName": "Kiribati", + "countryCode": "KI", + "mcc": "545", + "mnc": "02", + "brand": null, + "operator": "OceanLink", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Kiribati", + "countryCode": "KI", + "mcc": "545", + "mnc": "09", + "brand": "Kiribati - Frigate Net", + "operator": "Amalgamated Telecom Holdings Kiribati Limited", + "status": "Operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "01", + "brand": "ATUR 450", + "operator": "Telekom Malaysia Bhd", + "status": "Not operational", + "bands": "CDMA2000 450", + "notes": null + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "10", + "brand": null, + "operator": "Celcom, DiGi, Maxis, Tune Talk, U Mobile, Unifi, XOX, Yes", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600", + "notes": "Former Celcom" + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "11", + "brand": "TM Homeline", + "operator": "Telekom Malaysia Bhd", + "status": "Operational", + "bands": "CDMA2000 850 / LTE 850", + "notes": null + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "12", + "brand": "Maxis", + "operator": "Maxis Communications Berhad", + "status": "Operational", + "bands": "GSM 900 / LTE 1800 / LTE 2100 / LTE 2600", + "notes": "Used by MVNO Kartu As; LTE 2600 in co-operation with REDtone; UMTS shut down Dec 2021" + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "13", + "brand": "Celcom", + "operator": "Celcom Axiata Berhad", + "status": "Operational", + "bands": "GSM 900 / LTE 1800 / LTE 2100 / LTE 2600", + "notes": "Former Emartel, TMTouch; LTE 2600 in co-operation with Altel; UMTS shut down Dec 2021" + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "14", + "brand": null, + "operator": "Telekom Malaysia Berhad for PSTN SMS", + "status": "Unknown", + "bands": null, + "notes": null + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "150", + "brand": "Tune Talk", + "operator": "Tune Talk Sdn Bhd", + "status": "Operational", + "bands": "MVNO", + "notes": "uses Celcom" + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "151", + "brand": "SalamFone", + "operator": "Baraka Telecom Sdn Bhd", + "status": "Not operational", + "bands": "MVNO", + "notes": "(MVNO)-MAXIS, previously using DiGi; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "152", + "brand": "Yes", + "operator": "YTL Communications Sdn Bhd", + "status": "Operational", + "bands": "TD-LTE 2300 / TD-LTE 2600 / 5G 700 / 5G 3500 / 5G 28000", + "notes": "WiMAX shut down 2019; 5G provided by Digital Nasional Berhad" + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "153", + "brand": "unifi", + "operator": "Webe Digital Sdn Bhd", + "status": "Operational", + "bands": "WiMAX 2300 / LTE 850 / TD-LTE 2300 / 5G 700 / 5G 3500 / 5G 28000", + "notes": "Former Packet One Networks; subsidiary of Telekom Malaysia; 5G provided by Digital Nasional Berhad" + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "154", + "brand": "Tron", + "operator": "Talk Focus Sdn Bhd", + "status": "Not operational", + "bands": "MVNO", + "notes": "Uses Digi, shut down on 17 Jan 2019" + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "155", + "brand": "Clixster", + "operator": "Clixster Mobile Sdn Bhd", + "status": "Not operational", + "bands": "MVNO", + "notes": "Uses Digi; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "156", + "brand": "Altel", + "operator": "Altel Communications Sdn Bhd", + "status": "Operational", + "bands": "MVNO", + "notes": "Using Celcom; LTE 2600 band licensed to Celcom" + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "157", + "brand": "Telin", + "operator": "Telekomunikasi Indonesia International (M) Sdn Bhd", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses U Mobile" + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "16", + "brand": "DiGi", + "operator": "DiGi Telecommunications", + "status": "Operational", + "bands": "GSM 1800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600", + "notes": "LTE 2600 coverage limited to certain areas in the Klang Valley at the moment; former Mutiara Telecom; UMTS shut down Dec 2021" + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "17", + "brand": "Maxis", + "operator": "Maxis Communications Berhad", + "status": "Operational", + "bands": "GSM 900 / LTE 1800 / LTE 2100 / LTE 2600", + "notes": "Former TimeCel, Adam017; UMTS shut down Dec 2021" + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "18", + "brand": "U Mobile", + "operator": "U Mobile Sdn Bhd", + "status": "Operational", + "bands": "LTE 1800 / LTE 2100 / LTE 2600", + "notes": "Domestic Roaming with Maxis, also for GSM; former Mobikom; UMTS shut down Dec 2021" + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "19", + "brand": "Celcom", + "operator": "Celcom Axiata Berhad", + "status": "Operational", + "bands": "GSM 900 / LTE 1800 / LTE 2100 / LTE 2600", + "notes": "UMTS shut down Dec 2021" + }, + { + "type": "National", + "countryName": "Malaysia", + "countryCode": "MY", + "mcc": "502", + "mnc": "20", + "brand": "Electcoms", + "operator": "Electcoms Berhad", + "status": "Not operational", + "bands": "DMR", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Marshall Islands", + "countryCode": "MH", + "mcc": "551", + "mnc": "01", + "brand": null, + "operator": "Marshall Islands National Telecommunications Authority (MINTA)", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Federated States of Micronesia", + "countryCode": "FM", + "mcc": "550", + "mnc": "01", + "brand": null, + "operator": "FSMTC", + "status": "Operational", + "bands": "GSM 900 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Nauru", + "countryCode": "NR", + "mcc": "536", + "mnc": "02", + "brand": "Digicel", + "operator": "Digicel (Nauru) Corporation", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Also uses MCC 542 MNC 02 (Fiji)" + }, + { + "type": "National", + "countryName": "New Caledonia (France)", + "countryCode": "NC", + "mcc": "546", + "mnc": "01", + "brand": "Mobilis", + "operator": "OPT New Caledonia", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / LTE 800 / LTE 1800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "New Zealand", + "countryCode": "NZ", + "mcc": "530", + "mnc": "00", + "brand": "Telecom", + "operator": "Spark New Zealand", + "status": "Not operational", + "bands": "AMPS 800 / TDMA 800", + "notes": "Shut down on 31 March 2007" + }, + { + "type": "National", + "countryName": "New Zealand", + "countryCode": "NZ", + "mcc": "530", + "mnc": "01", + "brand": "Vodafone", + "operator": "Vodafone New Zealand", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "New Zealand", + "countryCode": "NZ", + "mcc": "530", + "mnc": "02", + "brand": "Telecom", + "operator": "Spark New Zealand", + "status": "Not operational", + "bands": "CDMA2000 800", + "notes": "Shut down on 31 July 2012" + }, + { + "type": "National", + "countryName": "New Zealand", + "countryCode": "NZ", + "mcc": "530", + "mnc": "03", + "brand": "Woosh", + "operator": "Woosh Wireless", + "status": "Not operational", + "bands": "UMTS-TDD 2000", + "notes": "Wireless broadband only" + }, + { + "type": "National", + "countryName": "New Zealand", + "countryCode": "NZ", + "mcc": "530", + "mnc": "04", + "brand": "TelstraClear", + "operator": "TelstraClear", + "status": "Not operational", + "bands": "UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "New Zealand", + "countryCode": "NZ", + "mcc": "530", + "mnc": "05", + "brand": "Spark", + "operator": "Spark New Zealand", + "status": "Operational", + "bands": "UMTS 850 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / TD-LTE 2300 / LTE 2600 / 5G 2600 / 5G 3500", + "notes": "Formerly Telecom New Zealand" + }, + { + "type": "National", + "countryName": "New Zealand", + "countryCode": "NZ", + "mcc": "530", + "mnc": "06", + "brand": null, + "operator": "FX Networks", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "New Zealand", + "countryCode": "NZ", + "mcc": "530", + "mnc": "07", + "brand": null, + "operator": "Dense Air New Zealand", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Bluereach Limited" + }, + { + "type": "National", + "countryName": "New Zealand", + "countryCode": "NZ", + "mcc": "530", + "mnc": "24", + "brand": "2degrees", + "operator": "2degrees", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 700 / LTE 900 / LTE 1800 / LTE 2100 / 5G 3500", + "notes": "GSM shut down on 15 March 2018" + }, + { + "type": "National", + "countryName": "Niue", + "countryCode": "NU", + "mcc": "555", + "mnc": "01", + "brand": "Telecom Niue", + "operator": "Telecom Niue", + "status": "Operational", + "bands": "GSM 900 / LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Norfolk Island", + "countryCode": "NF", + "mcc": "505", + "mnc": "10", + "brand": "Norfolk Telecom", + "operator": "Norfolk Telecom", + "status": "Operational", + "bands": "GSM 900 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Palau", + "countryCode": "PW", + "mcc": "552", + "mnc": "01", + "brand": "PNCC", + "operator": "Palau National Communications Corp.", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Palau", + "countryCode": "PW", + "mcc": "552", + "mnc": "02", + "brand": "PT Waves", + "operator": "Palau Equipment Company Inc.", + "status": "Operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Palau", + "countryCode": "PW", + "mcc": "552", + "mnc": "80", + "brand": "Palau Mobile", + "operator": "Palau Mobile Corporation", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Service shutdown in 2014" + }, + { + "type": "National", + "countryName": "Palau", + "countryCode": "PW", + "mcc": "552", + "mnc": "99", + "brand": "PMCI", + "operator": "Palau Mobile Communications Inc.", + "status": "Operational", + "bands": "LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Papua New Guinea", + "countryCode": "PG", + "mcc": "537", + "mnc": "01", + "brand": "bmobile", + "operator": "Bemobile Limited", + "status": "Operational", + "bands": "GSM 900 / UMTS 900", + "notes": null + }, + { + "type": "National", + "countryName": "Papua New Guinea", + "countryCode": "PG", + "mcc": "537", + "mnc": "02", + "brand": "citifon", + "operator": "Telikom PNG Ltd.", + "status": "Operational", + "bands": "CDMA2000 450 / LTE 700", + "notes": "Formerly Greencom; LTE band 28" + }, + { + "type": "National", + "countryName": "Papua New Guinea", + "countryCode": "PG", + "mcc": "537", + "mnc": "03", + "brand": "Digicel", + "operator": "Digicel PNG", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / LTE 700", + "notes": "LTE band 28" + }, + { + "type": "National", + "countryName": "Papua New Guinea", + "countryCode": "PG", + "mcc": "537", + "mnc": "04", + "brand": null, + "operator": "Digitec Communication Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Philippines", + "countryCode": "PH", + "mcc": "515", + "mnc": "01", + "brand": "Islacom", + "operator": "Globe Telecom via Innove Communications", + "status": "Not operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Philippines", + "countryCode": "PH", + "mcc": "515", + "mnc": "02", + "brand": "Globe", + "operator": "Globe Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / TD-LTE 2300 / TD-LTE 2500 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Philippines", + "countryCode": "PH", + "mcc": "515", + "mnc": "03", + "brand": "SMART", + "operator": "PLDT via Smart Communications", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 850 / LTE 1800 / LTE 2100 / TD-LTE 2300 / TD-LTE 2500 / 5G 3500", + "notes": "Formerly PilTel" + }, + { + "type": "National", + "countryName": "Philippines", + "countryCode": "PH", + "mcc": "515", + "mnc": "05", + "brand": "Sun Cellular", + "operator": "Digital Telecommunications Philippines", + "status": "Operational", + "bands": "GSM 1800 / UMTS 2100", + "notes": "Uses SMART for LTE roaming" + }, + { + "type": "National", + "countryName": "Philippines", + "countryCode": "PH", + "mcc": "515", + "mnc": "11", + "brand": null, + "operator": "PLDT via ACeS Philippines", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Philippines", + "countryCode": "PH", + "mcc": "515", + "mnc": "18", + "brand": "Cure", + "operator": "PLDT via Smart's Connectivity Unlimited Resources Enterprise", + "status": "Not operational", + "bands": "GSM 900 / UMTS 2100", + "notes": "Formerly ümobile, then Red Mobile; shut down 2012" + }, + { + "type": "National", + "countryName": "Philippines", + "countryCode": "PH", + "mcc": "515", + "mnc": "24", + "brand": "ABS-CBN Mobile", + "operator": "ABS-CBN Convergence with Globe Telecom", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Philippines", + "countryCode": "PH", + "mcc": "515", + "mnc": "66", + "brand": "DITO", + "operator": "Dito Telecommunity Corp.", + "status": "Operational", + "bands": "LTE 700 / LTE 2100 / TD-LTE 2500 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Philippines", + "countryCode": "PH", + "mcc": "515", + "mnc": "88", + "brand": null, + "operator": "Next Mobile Inc.", + "status": "Operational", + "bands": "iDEN", + "notes": "Former Nextel Philippines" + }, + { + "type": "National", + "countryName": "Samoa", + "countryCode": "WS", + "mcc": "549", + "mnc": "00", + "brand": "Digicel", + "operator": "Digicel Pacific Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Samoa", + "countryCode": "WS", + "mcc": "549", + "mnc": "01", + "brand": "Digicel", + "operator": "Digicel Pacific Ltd.", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800", + "notes": "Former Telecom Samoa Cellular Ltd." + }, + { + "type": "National", + "countryName": "Samoa", + "countryCode": "WS", + "mcc": "549", + "mnc": "27", + "brand": "Vodafone", + "operator": "Vodafone Samoa Ltd.", + "status": "Operational", + "bands": "GSM 900 / LTE 700 / LTE 1800", + "notes": "Former Samoatel Ltd., Bluesky Samoa" + }, + { + "type": "National", + "countryName": "Singapore", + "countryCode": "SG", + "mcc": "525", + "mnc": "01", + "brand": "SingTel", + "operator": "Singapore Telecom", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2600 / 5G 2100 / 5G 3500 / 5G 28000", + "notes": "GSM shut down on 1 April 2017" + }, + { + "type": "National", + "countryName": "Singapore", + "countryCode": "SG", + "mcc": "525", + "mnc": "02", + "brand": "SingTel-G18", + "operator": "Singapore Telecom", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "GSM shut down on 1 April 2017" + }, + { + "type": "National", + "countryName": "Singapore", + "countryCode": "SG", + "mcc": "525", + "mnc": "03", + "brand": "M1", + "operator": "M1 Limited", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600 / 5G 2100 / 5G 3500", + "notes": "GSM shut down on 1 April 2017" + }, + { + "type": "National", + "countryName": "Singapore", + "countryCode": "SG", + "mcc": "525", + "mnc": "05", + "brand": "StarHub", + "operator": "StarHub Mobile", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2100 / LTE 2600 / TD-LTE 2500 / 5G 2100 / 5G 3500", + "notes": "GSM shut down on 1 April 2017" + }, + { + "type": "National", + "countryName": "Singapore", + "countryCode": "SG", + "mcc": "525", + "mnc": "06", + "brand": "StarHub", + "operator": "StarHub Mobile", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Singapore", + "countryCode": "SG", + "mcc": "525", + "mnc": "07", + "brand": "SingTel", + "operator": "Singapore Telecom", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Singapore", + "countryCode": "SG", + "mcc": "525", + "mnc": "08", + "brand": "StarHub", + "operator": "StarHub Mobile", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Singapore", + "countryCode": "SG", + "mcc": "525", + "mnc": "09", + "brand": "Circles.Life", + "operator": "Liberty Wireless Pte Ltd", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Singapore", + "countryCode": "SG", + "mcc": "525", + "mnc": "10", + "brand": "SIMBA", + "operator": "SIMBA Telecom Pte Ltd", + "status": "Operational", + "bands": "LTE 900 / TD-LTE 2300 / TD-LTE 2500", + "notes": "Former TPG Telecom" + }, + { + "type": "National", + "countryName": "Singapore", + "countryCode": "SG", + "mcc": "525", + "mnc": "11", + "brand": "M1", + "operator": "M1 Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Singapore", + "countryCode": "SG", + "mcc": "525", + "mnc": "12", + "brand": "Grid", + "operator": "GRID Communications Pte Ltd.", + "status": "Operational", + "bands": "iDEN 800", + "notes": "Digital Trunked Radio Network" + }, + { + "type": "National", + "countryName": "Solomon Islands", + "countryCode": "SB", + "mcc": "540", + "mnc": "01", + "brand": "BREEZE", + "operator": "Our Telekom", + "status": "Operational", + "bands": "GSM 900 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1800", + "notes": "Former Solomon Telekom Co Ltd" + }, + { + "type": "National", + "countryName": "Solomon Islands", + "countryCode": "SB", + "mcc": "540", + "mnc": "02", + "brand": "BeMobile", + "operator": "BMobile (SI) Ltd", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Thailand", + "countryCode": "TH", + "mcc": "520", + "mnc": "00", + "brand": "TrueMove H / my by NT", + "operator": "National Telecom Public Company Limited", + "status": "Operational", + "bands": "UMTS 850", + "notes": "Former Hutch Thailand, CAT Telecom; inbound roaming for TrueMove H" + }, + { + "type": "National", + "countryName": "Thailand", + "countryCode": "TH", + "mcc": "520", + "mnc": "01", + "brand": "AIS", + "operator": "Advanced Info Service", + "status": "Operational", + "bands": "GSM 900", + "notes": "UMTS 900 shut down in 2013" + }, + { + "type": "National", + "countryName": "Thailand", + "countryCode": "TH", + "mcc": "520", + "mnc": "02", + "brand": "NT Mobile", + "operator": "National Telecom Public Company Limited", + "status": "Operational", + "bands": "UMTS 850", + "notes": "Former CAT Telecom; CDMA shut down in April 2013" + }, + { + "type": "National", + "countryName": "Thailand", + "countryCode": "TH", + "mcc": "520", + "mnc": "03", + "brand": "AIS", + "operator": "Advanced Wireless Network Company Ltd.", + "status": "Operational", + "bands": "UMTS 2100 / LTE 700 / LTE 900 / LTE 1800 / LTE 2100 / 5G 700 / 5G 2500", + "notes": null + }, + { + "type": "National", + "countryName": "Thailand", + "countryCode": "TH", + "mcc": "520", + "mnc": "04", + "brand": "TrueMove H", + "operator": "True Move H Universal Communication Company Ltd.", + "status": "Operational", + "bands": "UMTS 2100 / LTE 700 / LTE 900 / LTE 1800 / LTE 2100 / 5G 700 / 5G 2500", + "notes": "UMTS roaming with network 520-00" + }, + { + "type": "National", + "countryName": "Thailand", + "countryCode": "TH", + "mcc": "520", + "mnc": "05", + "brand": "dtac", + "operator": "DTAC TriNet Company Ltd.", + "status": "Operational", + "bands": "UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / 5G 700", + "notes": "LTE 2300 roaming with 520-47" + }, + { + "type": "National", + "countryName": "Thailand", + "countryCode": "TH", + "mcc": "520", + "mnc": "09", + "brand": null, + "operator": "Royal Thai Police", + "status": "Operational", + "bands": "LTE 850", + "notes": "LTE band 26" + }, + { + "type": "National", + "countryName": "Thailand", + "countryCode": "TH", + "mcc": "520", + "mnc": "15", + "brand": "AIS-T / NT Mobile", + "operator": "National Telecom Public Company Limited", + "status": "Operational", + "bands": "UMTS 2100 / LTE 2100", + "notes": "Former Thaimobile 1900, ACT Mobile, TOT Public Company Limited; used for NT Mobile, AIS-T and MVNO" + }, + { + "type": "National", + "countryName": "Thailand", + "countryCode": "TH", + "mcc": "520", + "mnc": "17", + "brand": "NT Mobile", + "operator": "National Telecom Public Company Limited", + "status": "Operational", + "bands": "TD-LTE 2300", + "notes": "Former TOT Public Company Limited; LTE band 40; for NT Mobile and MVNO except dtac-T uses 520-47, UMTS 850 uses 520-02" + }, + { + "type": "National", + "countryName": "Thailand", + "countryCode": "TH", + "mcc": "520", + "mnc": "18", + "brand": "dtac", + "operator": "Total Access Communications Public Company Ltd.", + "status": "Operational", + "bands": "GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Thailand", + "countryCode": "TH", + "mcc": "520", + "mnc": "20", + "brand": "ACeS", + "operator": "ACeS", + "status": "Unknown", + "bands": "Satellite", + "notes": null + }, + { + "type": "National", + "countryName": "Thailand", + "countryCode": "TH", + "mcc": "520", + "mnc": "23", + "brand": "AIS GSM 1800", + "operator": "Digital Phone Company Ltd.", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Owned by AIS; network shut down in October 2019" + }, + { + "type": "National", + "countryName": "Thailand", + "countryCode": "TH", + "mcc": "520", + "mnc": "25", + "brand": "WE PCT", + "operator": "True Corporation", + "status": "Not operational", + "bands": "PHS 1900", + "notes": "In Bangkok area" + }, + { + "type": "National", + "countryName": "Thailand", + "countryCode": "TH", + "mcc": "520", + "mnc": "47", + "brand": "dtac-T", + "operator": "National Telecom Public Company Limited", + "status": "Operational", + "bands": "TD-LTE 2300", + "notes": "Former TOT Public Company Limited; LTE band 40; for dtac only" + }, + { + "type": "National", + "countryName": "Thailand", + "countryCode": "TH", + "mcc": "520", + "mnc": "99", + "brand": "TrueMove", + "operator": "True Corporation", + "status": "Operational", + "bands": "GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Tokelau", + "countryCode": "TK", + "mcc": "554", + "mnc": "01", + "brand": null, + "operator": "Teletok", + "status": "Operational", + "bands": "LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Tonga", + "countryCode": "TO", + "mcc": "539", + "mnc": "01", + "brand": "U-Call", + "operator": "Tonga Communications Corporation", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Tonga", + "countryCode": "TO", + "mcc": "539", + "mnc": "43", + "brand": null, + "operator": "Shoreline Communication", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Tonga", + "countryCode": "TO", + "mcc": "539", + "mnc": "88", + "brand": "Digicel", + "operator": "Digicel (Tonga) Limited", + "status": "Operational", + "bands": "GSM 900 / LTE 700 / LTE 1800", + "notes": "Former TonFon; LTE bands 28 / 3" + }, + { + "type": "National", + "countryName": "Tuvalu", + "countryCode": "TV", + "mcc": "553", + "mnc": "01", + "brand": "TTC", + "operator": "Tuvalu Telecom", + "status": "Operational", + "bands": "UMTS 900 / LTE 850", + "notes": "GSM shutdown in 2015" + }, + { + "type": "National", + "countryName": "Vanuatu", + "countryCode": "VU", + "mcc": "541", + "mnc": "00", + "brand": "AIL", + "operator": "ACeS International (AIL)", + "status": "Operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Vanuatu", + "countryCode": "VU", + "mcc": "541", + "mnc": "01", + "brand": "SMILE", + "operator": "Telecom Vanuatu Ltd", + "status": "Operational", + "bands": "GSM 900 / LTE 700", + "notes": "LTE band 28" + }, + { + "type": "National", + "countryName": "Vanuatu", + "countryCode": "VU", + "mcc": "541", + "mnc": "05", + "brand": "Digicel", + "operator": "Digicel Vanuatu Ltd", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / LTE 700", + "notes": "LTE band 28" + }, + { + "type": "National", + "countryName": "Vanuatu", + "countryCode": "VU", + "mcc": "541", + "mnc": "07", + "brand": "WanTok", + "operator": "WanTok Vanuatu Ltd", + "status": "Operational", + "bands": "TD-LTE 2300", + "notes": "LTE band 40" + }, + { + "type": "National", + "countryName": "Wallis and Futuna", + "countryCode": "WF", + "mcc": "543", + "mnc": "01", + "brand": "Manuia", + "operator": "Service des Postes et Télécommunications des Îles Wallis et Futuna (SPT)", + "status": "Operational", + "bands": "UMTS 900 / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Algeria", + "countryCode": "DZ", + "mcc": "603", + "mnc": "01", + "brand": "Mobilis", + "operator": "Algérie Télécom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Algeria", + "countryCode": "DZ", + "mcc": "603", + "mnc": "02", + "brand": "Djezzy", + "operator": "Optimum Telecom Algérie Spa", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Former Orascom Telecom" + }, + { + "type": "National", + "countryName": "Algeria", + "countryCode": "DZ", + "mcc": "603", + "mnc": "03", + "brand": "Ooredoo", + "operator": "Wataniya Telecom Algérie", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Former Nedjma" + }, + { + "type": "National", + "countryName": "Algeria", + "countryCode": "DZ", + "mcc": "603", + "mnc": "07", + "brand": "AT", + "operator": "Algérie Télécom", + "status": "Operational", + "bands": "CDMA 1900", + "notes": "Wireless Local Loop" + }, + { + "type": "National", + "countryName": "Algeria", + "countryCode": "DZ", + "mcc": "603", + "mnc": "09", + "brand": "AT", + "operator": "Algérie Télécom", + "status": "Operational", + "bands": "LTE", + "notes": "Fixed Wireless Broadband" + }, + { + "type": "National", + "countryName": "Algeria", + "countryCode": "DZ", + "mcc": "603", + "mnc": "21", + "brand": "ANESRIF", + "operator": "Anesrif", + "status": "Ongoing", + "bands": "GSM-R", + "notes": null + }, + { + "type": "National", + "countryName": "Angola", + "countryCode": "AO", + "mcc": "631", + "mnc": "02", + "brand": "UNITEL", + "operator": "UNITEL S.a.r.l.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Angola", + "countryCode": "AO", + "mcc": "631", + "mnc": "04", + "brand": "MOVICEL", + "operator": "MOVICEL Telecommunications S.A.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / LTE 1800", + "notes": "CDMA shut down March 2016" + }, + { + "type": "National", + "countryName": "Angola", + "countryCode": "AO", + "mcc": "631", + "mnc": "05", + "brand": null, + "operator": "Africell", + "status": "Operational", + "bands": "LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Benin", + "countryCode": "BJ", + "mcc": "616", + "mnc": "01", + "brand": null, + "operator": "Benin Telecoms Mobile", + "status": "Operational", + "bands": "LTE 1800 / CDMA / WiMAX", + "notes": "Brands are:- Telecoms (LTE), Kanakoo (CDMA / WiMAX); Libercom GSM shut down 2018" + }, + { + "type": "National", + "countryName": "Benin", + "countryCode": "BJ", + "mcc": "616", + "mnc": "02", + "brand": "Moov", + "operator": "Telecel Benin", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": "EtiSalat / Atlantique Telecom / Moov" + }, + { + "type": "National", + "countryName": "Benin", + "countryCode": "BJ", + "mcc": "616", + "mnc": "03", + "brand": "MTN", + "operator": "Spacetel Benin", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800", + "notes": "Former BeninCell, Areeba" + }, + { + "type": "National", + "countryName": "Benin", + "countryCode": "BJ", + "mcc": "616", + "mnc": "04", + "brand": "BBCOM", + "operator": "Bell Benin Communications", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Benin", + "countryCode": "BJ", + "mcc": "616", + "mnc": "05", + "brand": "Glo", + "operator": "Glo Communication Benin", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Licence revoked in 2017" + }, + { + "type": "National", + "countryName": "Botswana", + "countryCode": "BW", + "mcc": "652", + "mnc": "01", + "brand": "Mascom", + "operator": "Mascom Wireless (Pty) Limited", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800 / 5G", + "notes": null + }, + { + "type": "National", + "countryName": "Botswana", + "countryCode": "BW", + "mcc": "652", + "mnc": "02", + "brand": "Orange", + "operator": "Orange (Botswana) Pty Limited", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800 / LTE 2100 / TD-LTE / 5G", + "notes": "formerly Vista Cellular" + }, + { + "type": "National", + "countryName": "Botswana", + "countryCode": "BW", + "mcc": "652", + "mnc": "04", + "brand": "beMobile", + "operator": "Botswana Telecommunications Corporation", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Burkina Faso", + "countryCode": "BF", + "mcc": "613", + "mnc": "01", + "brand": "Telmob", + "operator": "Onatel", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Burkina Faso", + "countryCode": "BF", + "mcc": "613", + "mnc": "02", + "brand": "Orange", + "operator": "Orange Burkina Faso", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800", + "notes": "Previously Zain/Celtel, Airtel" + }, + { + "type": "National", + "countryName": "Burkina Faso", + "countryCode": "BF", + "mcc": "613", + "mnc": "03", + "brand": "Telecel Faso", + "operator": "Telecel Faso SA", + "status": "Operational", + "bands": "GSM 900 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Burundi", + "countryCode": "BI", + "mcc": "642", + "mnc": "01", + "brand": "econet Leo", + "operator": "Econet Wireless Burundi PLC", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Former Spacetel" + }, + { + "type": "National", + "countryName": "Burundi", + "countryCode": "BI", + "mcc": "642", + "mnc": "02", + "brand": "Tempo", + "operator": "VTEL MEA", + "status": "Not operational", + "bands": "GSM 900", + "notes": "Former Safaris; not related to Africell; suspended in 2015; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Burundi", + "countryCode": "BI", + "mcc": "642", + "mnc": "03", + "brand": "Onatel", + "operator": "Onatel", + "status": "Operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Burundi", + "countryCode": "BI", + "mcc": "642", + "mnc": "07", + "brand": "Smart Mobile", + "operator": "LACELL SU", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100", + "notes": "suspended in 2022" + }, + { + "type": "National", + "countryName": "Burundi", + "countryCode": "BI", + "mcc": "642", + "mnc": "08", + "brand": "Lumitel", + "operator": "Viettel Burundi", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800", + "notes": "Formerly HiTs Telecom" + }, + { + "type": "National", + "countryName": "Burundi", + "countryCode": "BI", + "mcc": "642", + "mnc": "82", + "brand": "econet Leo", + "operator": "Econet Wireless Burundi PLC", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Formerly Telecel, then U-COM Burundi" + }, + { + "type": "National", + "countryName": "Cameroon", + "countryCode": "CM", + "mcc": "624", + "mnc": "01", + "brand": "MTN Cameroon", + "operator": "Mobile Telephone Network Cameroon Ltd", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / TD-LTE 2500", + "notes": null + }, + { + "type": "National", + "countryName": "Cameroon", + "countryCode": "CM", + "mcc": "624", + "mnc": "02", + "brand": "Orange", + "operator": "Orange Cameroun S.A.", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Cameroon", + "countryCode": "CM", + "mcc": "624", + "mnc": "03", + "brand": "Camtel", + "operator": "Camtel", + "status": "Operational", + "bands": "CDMA / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Cameroon", + "countryCode": "CM", + "mcc": "624", + "mnc": "04", + "brand": "Nexttel", + "operator": "Viettel Cameroun", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Cape Verde", + "countryCode": "CV", + "mcc": "625", + "mnc": "01", + "brand": "CVMOVEL", + "operator": "CVMóvel, S.A.", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800", + "notes": null + }, + { + "type": "National", + "countryName": "Cape Verde", + "countryCode": "CV", + "mcc": "625", + "mnc": "02", + "brand": "T+", + "operator": "UNITEL T+ TELECOMUNICACÕES, S.A.", + "status": "Operational", + "bands": "GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Central African Republic", + "countryCode": "CF", + "mcc": "623", + "mnc": "01", + "brand": "Moov", + "operator": "Atlantique Telecom Centrafrique SA", + "status": "Operational", + "bands": "GSM 900", + "notes": "Former Centrafrique Telecom Plus, Etisalat" + }, + { + "type": "National", + "countryName": "Central African Republic", + "countryCode": "CF", + "mcc": "623", + "mnc": "02", + "brand": "TC", + "operator": "Telecel Centrafrique", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Central African Republic", + "countryCode": "CF", + "mcc": "623", + "mnc": "03", + "brand": "Orange", + "operator": "Orange RCA", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / WiMAX", + "notes": null + }, + { + "type": "National", + "countryName": "Central African Republic", + "countryCode": "CF", + "mcc": "623", + "mnc": "04", + "brand": "Azur", + "operator": "Azur RCA", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": "Former Nationlink Telecom RCA" + }, + { + "type": "National", + "countryName": "Chad", + "countryCode": "TD", + "mcc": "622", + "mnc": "01", + "brand": "Airtel", + "operator": "Bharti Airtel SA", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Chad", + "countryCode": "TD", + "mcc": "622", + "mnc": "02", + "brand": "Tawali", + "operator": "SotelTchad", + "status": "Operational", + "bands": "CDMA2000", + "notes": "semi-fixed line; formerly Tchad Mobile / Orascom Telecom GSM 900 - defunct in 2004" + }, + { + "type": "National", + "countryName": "Chad", + "countryCode": "TD", + "mcc": "622", + "mnc": "03", + "brand": "Tigo", + "operator": "Millicom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Chad", + "countryCode": "TD", + "mcc": "622", + "mnc": "07", + "brand": "Salam", + "operator": "SotelTchad", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Comoros", + "countryCode": "KM", + "mcc": "654", + "mnc": "01", + "brand": "HURI", + "operator": "Comores Telecom", + "status": "Operational", + "bands": "GSM 900 / UMTS 900", + "notes": null + }, + { + "type": "National", + "countryName": "Comoros", + "countryCode": "KM", + "mcc": "654", + "mnc": "02", + "brand": "TELCO SA", + "operator": "Telecom Malagasy (Telma)", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / LTE 800", + "notes": null + }, + { + "type": "National", + "countryName": "Congo", + "countryCode": "CG", + "mcc": "629", + "mnc": "01", + "brand": "Airtel", + "operator": "Celtel Congo", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 2600", + "notes": "Former Zain and Celtel brand" + }, + { + "type": "National", + "countryName": "Congo", + "countryCode": "CG", + "mcc": "629", + "mnc": "07", + "brand": "Airtel", + "operator": "Warid Telecom", + "status": "Operational", + "bands": "GSM 900", + "notes": "Acquired by Airtel in 2014" + }, + { + "type": "National", + "countryName": "Congo", + "countryCode": "CG", + "mcc": "629", + "mnc": "10", + "brand": "Libertis Telecom", + "operator": "MTN CONGO S.A", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Democratic Republic of the Congo", + "countryCode": "CD", + "mcc": "630", + "mnc": "01", + "brand": "Vodacom", + "operator": "Vodacom Congo RDC sprl", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / TD-LTE 3500 / WiMAX 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Democratic Republic of the Congo", + "countryCode": "CD", + "mcc": "630", + "mnc": "02", + "brand": "Airtel", + "operator": "Airtel sprl", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Democratic Republic of the Congo", + "countryCode": "CD", + "mcc": "630", + "mnc": "05", + "brand": "Supercell", + "operator": "Supercell SPRL", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Democratic Republic of the Congo", + "countryCode": "CD", + "mcc": "630", + "mnc": "86", + "brand": "Orange RDC", + "operator": "Orange RDC sarl", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / TD-LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Democratic Republic of the Congo", + "countryCode": "CD", + "mcc": "630", + "mnc": "88", + "brand": "YTT", + "operator": "Yozma Timeturns sprl", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Planned" + }, + { + "type": "National", + "countryName": "Democratic Republic of the Congo", + "countryCode": "CD", + "mcc": "630", + "mnc": "89", + "brand": "Orange RDC", + "operator": "Orange RDC sarl", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Former OASIS, Tigo; acquired by Orange 2016" + }, + { + "type": "National", + "countryName": "Democratic Republic of the Congo", + "countryCode": "CD", + "mcc": "630", + "mnc": "90", + "brand": "Africell", + "operator": "Africell RDC sprl", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Djibouti", + "countryCode": "DJ", + "mcc": "638", + "mnc": "01", + "brand": "Evatis", + "operator": "Djibouti Telecom SA", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Egypt", + "countryCode": "EG", + "mcc": "602", + "mnc": "01", + "brand": "Orange", + "operator": "Orange Egypt", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Former Mobinil" + }, + { + "type": "National", + "countryName": "Egypt", + "countryCode": "EG", + "mcc": "602", + "mnc": "02", + "brand": "Vodafone", + "operator": "Vodafone Egypt", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Egypt", + "countryCode": "EG", + "mcc": "602", + "mnc": "03", + "brand": "Etisalat", + "operator": "Etisalat Egypt", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Egypt", + "countryCode": "EG", + "mcc": "602", + "mnc": "04", + "brand": "WE", + "operator": "Telecom Egypt", + "status": "Operational", + "bands": "LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Equatorial Guinea", + "countryCode": "GQ", + "mcc": "627", + "mnc": "01", + "brand": "Orange GQ", + "operator": "GETESA", + "status": "Operational", + "bands": "GSM 900 / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Equatorial Guinea", + "countryCode": "GQ", + "mcc": "627", + "mnc": "03", + "brand": "Muni", + "operator": "Green Com S.A.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / LTE", + "notes": "Former HiTS" + }, + { + "type": "National", + "countryName": "Eritrea", + "countryCode": "ER", + "mcc": "657", + "mnc": "01", + "brand": "Eritel", + "operator": "Eritrea Telecommunications Services Corporation", + "status": "Operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Eswatini", + "countryCode": "SZ", + "mcc": "653", + "mnc": "01", + "brand": null, + "operator": "SPTC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Eswatini", + "countryCode": "SZ", + "mcc": "653", + "mnc": "02", + "brand": null, + "operator": "Eswatini Mobile Limited", + "status": "Operational", + "bands": "LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Eswatini", + "countryCode": "SZ", + "mcc": "653", + "mnc": "10", + "brand": "MTN Eswatini", + "operator": "MTN Eswatini Limited", + "status": "Operational", + "bands": "GSM 900 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Ethiopia", + "countryCode": "ET", + "mcc": "636", + "mnc": "01", + "brand": "MTN", + "operator": "Ethio Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "French Departments and Territories in the Indian Ocean (France)", + "countryCode": "YT/RE", + "mcc": "647", + "mnc": "00", + "brand": "Orange", + "operator": "Orange La Réunion", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G 3500", + "notes": "Mayotte, Réunion" + }, + { + "type": "National", + "countryName": "French Departments and Territories in the Indian Ocean (France)", + "countryCode": "YT/RE", + "mcc": "647", + "mnc": "01", + "brand": "Maoré Mobile", + "operator": "BJT Partners", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 1800", + "notes": "Mayotte" + }, + { + "type": "National", + "countryName": "French Departments and Territories in the Indian Ocean (France)", + "countryCode": "YT/RE", + "mcc": "647", + "mnc": "02", + "brand": "Only", + "operator": "Telco OI", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600", + "notes": "Mayotte" + }, + { + "type": "National", + "countryName": "French Departments and Territories in the Indian Ocean (France)", + "countryCode": "YT/RE", + "mcc": "647", + "mnc": "03", + "brand": "Free", + "operator": "Telco OI", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600", + "notes": "Réunion\nFormer Only" + }, + { + "type": "National", + "countryName": "French Departments and Territories in the Indian Ocean (France)", + "countryCode": "YT/RE", + "mcc": "647", + "mnc": "04", + "brand": "Zeop", + "operator": "Zeop mobile", + "status": "Unknown", + "bands": "LTE 1800 / LTE 2100 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "French Departments and Territories in the Indian Ocean (France)", + "countryCode": "YT/RE", + "mcc": "647", + "mnc": "10", + "brand": "SFR Réunion", + "operator": "Société Réunionnaise du Radiotéléphone", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": "Mayotte, Réunion; LTE bands 20 / 3 / 7" + }, + { + "type": "National", + "countryName": "Gabon", + "countryCode": "GA", + "mcc": "628", + "mnc": "01", + "brand": "Libertis", + "operator": "Gabon Telecom S.A.", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Gabon", + "countryCode": "GA", + "mcc": "628", + "mnc": "02", + "brand": "Moov", + "operator": "Gabon Telecom S.A.", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": "Former Atlantique Télécom (Etisalat Group), merged with Gabon Telecom in 2016" + }, + { + "type": "National", + "countryName": "Gabon", + "countryCode": "GA", + "mcc": "628", + "mnc": "03", + "brand": "Airtel", + "operator": "Airtel Gabon S.A.", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Gabon", + "countryCode": "GA", + "mcc": "628", + "mnc": "04", + "brand": "Azur", + "operator": "USAN Gabon S.A.", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": "Shut down 2018" + }, + { + "type": "National", + "countryName": "Gabon", + "countryCode": "GA", + "mcc": "628", + "mnc": "05", + "brand": "RAG", + "operator": "Réseau de l’Administration Gabonaise", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Gambia", + "countryCode": "GM", + "mcc": "607", + "mnc": "01", + "brand": "Gamcel", + "operator": "Gamcel", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Gambia", + "countryCode": "GM", + "mcc": "607", + "mnc": "02", + "brand": "Africell", + "operator": "Africell", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Gambia", + "countryCode": "GM", + "mcc": "607", + "mnc": "03", + "brand": "Comium", + "operator": "Comium", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Gambia", + "countryCode": "GM", + "mcc": "607", + "mnc": "04", + "brand": "QCell", + "operator": "QCell Gambia", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Gambia", + "countryCode": "GM", + "mcc": "607", + "mnc": "05", + "brand": null, + "operator": "Gamtel-Ecowan", + "status": "Unknown", + "bands": "WiMAX / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Gambia", + "countryCode": "GM", + "mcc": "607", + "mnc": "06", + "brand": null, + "operator": "NETPAGE", + "status": "Operational", + "bands": "TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "Ghana", + "countryCode": "GH", + "mcc": "620", + "mnc": "01", + "brand": "MTN", + "operator": "MTN Group", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 2600", + "notes": "former spacefon" + }, + { + "type": "National", + "countryName": "Ghana", + "countryCode": "GH", + "mcc": "620", + "mnc": "02", + "brand": "Vodafone", + "operator": "Vodafone Group", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800", + "notes": "former Onetouch, Ghana Telecom" + }, + { + "type": "National", + "countryName": "Ghana", + "countryCode": "GH", + "mcc": "620", + "mnc": "03", + "brand": "AirtelTigo", + "operator": "Millicom Ghana", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "former MOBITEL, Tigo" + }, + { + "type": "National", + "countryName": "Ghana", + "countryCode": "GH", + "mcc": "620", + "mnc": "04", + "brand": "Expresso", + "operator": "Kasapa / Hutchison Telecom", + "status": "Operational", + "bands": "CDMA2000 850", + "notes": "former Kasapa" + }, + { + "type": "National", + "countryName": "Ghana", + "countryCode": "GH", + "mcc": "620", + "mnc": "05", + "brand": null, + "operator": "National Security", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Ghana", + "countryCode": "GH", + "mcc": "620", + "mnc": "06", + "brand": "AirtelTigo", + "operator": "Airtel", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "former Zain, Airtel" + }, + { + "type": "National", + "countryName": "Ghana", + "countryCode": "GH", + "mcc": "620", + "mnc": "07", + "brand": "Globacom", + "operator": "Globacom Group", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Ghana", + "countryCode": "GH", + "mcc": "620", + "mnc": "08", + "brand": "Surfline", + "operator": "Surfline Communications Ltd", + "status": "Not operational", + "bands": "LTE 2600", + "notes": "LTE band 7; shut down Oct 2018" + }, + { + "type": "National", + "countryName": "Ghana", + "countryCode": "GH", + "mcc": "620", + "mnc": "09", + "brand": "NITA", + "operator": "National Information Technology Agency", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Ghana", + "countryCode": "GH", + "mcc": "620", + "mnc": "10", + "brand": "Blu", + "operator": "Blu Telecommunications", + "status": "Operational", + "bands": "TD-LTE 2500", + "notes": "LTE band 41" + }, + { + "type": "National", + "countryName": "Ghana", + "countryCode": "GH", + "mcc": "620", + "mnc": "11", + "brand": null, + "operator": "Netafrique Dot Com Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Ghana", + "countryCode": "GH", + "mcc": "620", + "mnc": "12", + "brand": null, + "operator": "BTL", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Ghana", + "countryCode": "GH", + "mcc": "620", + "mnc": "13", + "brand": null, + "operator": "Goldkey", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Ghana", + "countryCode": "GH", + "mcc": "620", + "mnc": "14", + "brand": "busy", + "operator": "BusyInternet", + "status": "Operational", + "bands": "TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "Ghana", + "countryCode": "GH", + "mcc": "620", + "mnc": "15", + "brand": null, + "operator": "Lebara", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Ghana", + "countryCode": "GH", + "mcc": "620", + "mnc": "16", + "brand": null, + "operator": "Telesol", + "status": "Operational", + "bands": "LTE 1800", + "notes": "data only" + }, + { + "type": "National", + "countryName": "Ghana", + "countryCode": "GH", + "mcc": "620", + "mnc": "17", + "brand": null, + "operator": "iBurst Africa", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Guinea", + "countryCode": "GN", + "mcc": "611", + "mnc": "01", + "brand": "Orange", + "operator": "Orange S.A.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE", + "notes": "former Spacetel" + }, + { + "type": "National", + "countryName": "Guinea", + "countryCode": "GN", + "mcc": "611", + "mnc": "02", + "brand": "Sotelgui", + "operator": "Sotelgui Lagui", + "status": "Operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Guinea", + "countryCode": "GN", + "mcc": "611", + "mnc": "03", + "brand": "Intercel", + "operator": "Intercel Guinée", + "status": "Not operational", + "bands": "GSM 900", + "notes": "former Telecel; license revoked Oct 2018" + }, + { + "type": "National", + "countryName": "Guinea", + "countryCode": "GN", + "mcc": "611", + "mnc": "04", + "brand": "MTN", + "operator": "Areeba Guinea", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Guinea", + "countryCode": "GN", + "mcc": "611", + "mnc": "05", + "brand": "Cellcom", + "operator": "Cellcom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Guinea-Bissau", + "countryCode": "GW", + "mcc": "632", + "mnc": "01", + "brand": "Guinetel", + "operator": "Guinétel S.A.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Guinea-Bissau", + "countryCode": "GW", + "mcc": "632", + "mnc": "02", + "brand": "MTN Areeba", + "operator": "Spacetel Guiné-Bissau S.A.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Guinea-Bissau", + "countryCode": "GW", + "mcc": "632", + "mnc": "03", + "brand": "Orange", + "operator": null, + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Guinea-Bissau", + "countryCode": "GW", + "mcc": "632", + "mnc": "07", + "brand": "Guinetel", + "operator": "Guinétel S.A.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Ivory Coast", + "countryCode": "CI", + "mcc": "612", + "mnc": "01", + "brand": null, + "operator": "Cora de Comstar", + "status": "Not operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Ivory Coast", + "countryCode": "CI", + "mcc": "612", + "mnc": "02", + "brand": "Moov", + "operator": "Atlantique Cellulaire", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Ivory Coast", + "countryCode": "CI", + "mcc": "612", + "mnc": "03", + "brand": "Orange", + "operator": "Orange", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Ivory Coast", + "countryCode": "CI", + "mcc": "612", + "mnc": "04", + "brand": "KoZ", + "operator": "Comium Ivory Coast Inc", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Ivory Coast", + "countryCode": "CI", + "mcc": "612", + "mnc": "05", + "brand": "MTN", + "operator": "Loteny Telecom", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Ivory Coast", + "countryCode": "CI", + "mcc": "612", + "mnc": "06", + "brand": "GreenN", + "operator": "Oricel", + "status": "Operational", + "bands": "GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Ivory Coast", + "countryCode": "CI", + "mcc": "612", + "mnc": "07", + "brand": "café", + "operator": "Aircomm", + "status": "Operational", + "bands": "GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Ivory Coast", + "countryCode": "CI", + "mcc": "612", + "mnc": "18", + "brand": null, + "operator": "YooMee", + "status": "Operational", + "bands": "TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "Kenya", + "countryCode": "KE", + "mcc": "639", + "mnc": "01", + "brand": "Safaricom", + "operator": "Safaricom Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Kenya", + "countryCode": "KE", + "mcc": "639", + "mnc": "02", + "brand": "Safaricom", + "operator": "Safaricom Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / 5G 2500", + "notes": null + }, + { + "type": "National", + "countryName": "Kenya", + "countryCode": "KE", + "mcc": "639", + "mnc": "03", + "brand": "Airtel", + "operator": "Bharti Airtel", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800", + "notes": "Former Celtel, then Zain" + }, + { + "type": "National", + "countryName": "Kenya", + "countryCode": "KE", + "mcc": "639", + "mnc": "04", + "brand": null, + "operator": "Mobile Pay Kenya Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Kenya", + "countryCode": "KE", + "mcc": "639", + "mnc": "05", + "brand": "Airtel", + "operator": "Bharti Airtel", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Econet Wireless, Essar Telecom; network sold to Safaricom in 2014, subscribers moved to Airtel" + }, + { + "type": "National", + "countryName": "Kenya", + "countryCode": "KE", + "mcc": "639", + "mnc": "06", + "brand": null, + "operator": "Finserve Africa Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Kenya", + "countryCode": "KE", + "mcc": "639", + "mnc": "07", + "brand": "Telkom", + "operator": "Telkom Kenya", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800", + "notes": "Former Orange Kenya; CDMA 850 MHz shut down in Mar 2015" + }, + { + "type": "National", + "countryName": "Kenya", + "countryCode": "KE", + "mcc": "639", + "mnc": "08", + "brand": null, + "operator": "Wetribe Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Sema Mobile Services Ltd (MVNO)" + }, + { + "type": "National", + "countryName": "Kenya", + "countryCode": "KE", + "mcc": "639", + "mnc": "09", + "brand": null, + "operator": "Homeland Media Group Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Kenya", + "countryCode": "KE", + "mcc": "639", + "mnc": "10", + "brand": "Faiba 4G", + "operator": "Jamii Telecommunications Limited", + "status": "Operational", + "bands": "LTE 700", + "notes": "LTE band 28" + }, + { + "type": "National", + "countryName": "Kenya", + "countryCode": "KE", + "mcc": "639", + "mnc": "11", + "brand": null, + "operator": "Jambo Telcoms Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former WiAfrica Kenya Ltd." + }, + { + "type": "National", + "countryName": "Kenya", + "countryCode": "KE", + "mcc": "639", + "mnc": "12", + "brand": null, + "operator": "Infura Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Kenya", + "countryCode": "KE", + "mcc": "639", + "mnc": "13", + "brand": null, + "operator": "Hidiga Investments Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Kenya", + "countryCode": "KE", + "mcc": "639", + "mnc": "14", + "brand": null, + "operator": "NRG Media Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Lesotho", + "countryCode": "LS", + "mcc": "651", + "mnc": "01", + "brand": "Vodacom", + "operator": "Vodacom Lesotho (Pty) Ltd", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Lesotho", + "countryCode": "LS", + "mcc": "651", + "mnc": "02", + "brand": "Econet Telecom", + "operator": "Econet Ezi-cel", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Lesotho", + "countryCode": "LS", + "mcc": "651", + "mnc": "10", + "brand": "Vodacom", + "operator": "Vodacom Lesotho (Pty) Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Liberia", + "countryCode": "LR", + "mcc": "618", + "mnc": "01", + "brand": "Lonestar Cell MTN", + "operator": "Lonestar Communications Corporation", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Liberia", + "countryCode": "LR", + "mcc": "618", + "mnc": "02", + "brand": "Libercell", + "operator": "Atlantic Wireless (Liberia) Inc.", + "status": "Not operational", + "bands": "Unknown", + "notes": "Shut down in 2012" + }, + { + "type": "National", + "countryName": "Liberia", + "countryCode": "LR", + "mcc": "618", + "mnc": "04", + "brand": "Novafone", + "operator": "Novafone Inc.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Former Comium" + }, + { + "type": "National", + "countryName": "Liberia", + "countryCode": "LR", + "mcc": "618", + "mnc": "07", + "brand": "Orange LBR", + "operator": "Orange Liberia", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Former Cellcom" + }, + { + "type": "National", + "countryName": "Liberia", + "countryCode": "LR", + "mcc": "618", + "mnc": "20", + "brand": "LIBTELCO", + "operator": "Liberia Telecommunications Corporation", + "status": "Operational", + "bands": "CDMA2000", + "notes": null + }, + { + "type": "National", + "countryName": "Libya", + "countryCode": "LY", + "mcc": "606", + "mnc": "00", + "brand": "Libyana", + "operator": "Libyana", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Libya", + "countryCode": "LY", + "mcc": "606", + "mnc": "01", + "brand": "Madar", + "operator": "Al-Madar Al-Jadeed", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Libya", + "countryCode": "LY", + "mcc": "606", + "mnc": "02", + "brand": "Al-Jeel Phone", + "operator": "Al-Jeel Al-Jadeed", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses Al-Madar" + }, + { + "type": "National", + "countryName": "Libya", + "countryCode": "LY", + "mcc": "606", + "mnc": "03", + "brand": "Libya Phone", + "operator": "Libya Telecom & Technology (LTT)", + "status": "Operational", + "bands": "MVNO / LTE 800", + "notes": "Uses Libyana; LTE for fixed wireless broadband" + }, + { + "type": "National", + "countryName": "Libya", + "countryCode": "LY", + "mcc": "606", + "mnc": "06", + "brand": "Hatef Libya", + "operator": "Hatef Libya", + "status": "Operational", + "bands": "CDMA2000", + "notes": "Fixed wireless" + }, + { + "type": "National", + "countryName": "Madagascar", + "countryCode": "MG", + "mcc": "646", + "mnc": "01", + "brand": "Airtel", + "operator": "Bharti Airtel", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800", + "notes": "Former Celtel (Zain), Madacom" + }, + { + "type": "National", + "countryName": "Madagascar", + "countryCode": "MG", + "mcc": "646", + "mnc": "02", + "brand": "Orange", + "operator": "Orange Madagascar S.A.", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Madagascar", + "countryCode": "MG", + "mcc": "646", + "mnc": "03", + "brand": "Sacel", + "operator": "Sacel Madagascar S.A.", + "status": "Not operational", + "bands": "GSM 900", + "notes": "license withdrawn in 2001" + }, + { + "type": "National", + "countryName": "Madagascar", + "countryCode": "MG", + "mcc": "646", + "mnc": "04", + "brand": "Telma", + "operator": "Telma Mobile S.A.", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Madagascar", + "countryCode": "MG", + "mcc": "646", + "mnc": "05", + "brand": "BIP / blueline", + "operator": "Gulfsat Madagascar S.A.", + "status": "Operational", + "bands": "LTE 2100 / TD-LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Malawi", + "countryCode": "MW", + "mcc": "650", + "mnc": "01", + "brand": "TNM", + "operator": "Telecom Network Malawi", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / TD-LTE 2500", + "notes": null + }, + { + "type": "National", + "countryName": "Malawi", + "countryCode": "MW", + "mcc": "650", + "mnc": "02", + "brand": "Access", + "operator": "Access Communications Ltd", + "status": "Operational", + "bands": "CDMA / LTE 850", + "notes": null + }, + { + "type": "National", + "countryName": "Malawi", + "countryCode": "MW", + "mcc": "650", + "mnc": "03", + "brand": "MTL", + "operator": "Malawi Telecommunications Limited", + "status": "Operational", + "bands": "LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Malawi", + "countryCode": "MW", + "mcc": "650", + "mnc": "10", + "brand": "Airtel", + "operator": "Airtel Malawi Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800", + "notes": "Former Celtel (Zain)" + }, + { + "type": "National", + "countryName": "Mali", + "countryCode": "ML", + "mcc": "610", + "mnc": "01", + "brand": "Malitel", + "operator": "Malitel SA", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Mali", + "countryCode": "ML", + "mcc": "610", + "mnc": "02", + "brand": "Orange", + "operator": "Orange Mali SA", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Mali", + "countryCode": "ML", + "mcc": "610", + "mnc": "03", + "brand": "Telecel", + "operator": "Alpha Telecommunication Mali S.A.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Mauritania", + "countryCode": "MR", + "mcc": "609", + "mnc": "01", + "brand": "Mattel", + "operator": "Mattel", + "status": "Operational", + "bands": "GSM 900 / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Mauritania", + "countryCode": "MR", + "mcc": "609", + "mnc": "02", + "brand": "Chinguitel", + "operator": "Chinguitel", + "status": "Operational", + "bands": "CDMA / GSM 900 / GSM 1800 / UMTS 2100 / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Mauritania", + "countryCode": "MR", + "mcc": "609", + "mnc": "10", + "brand": "Moov", + "operator": "Mauritel Mobiles", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Mauritius", + "countryCode": "MU", + "mcc": "617", + "mnc": "01", + "brand": "my.t", + "operator": "Cellplus Mobile Communications Ltd.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G 3500", + "notes": "Former Orange" + }, + { + "type": "National", + "countryName": "Mauritius", + "countryCode": "MU", + "mcc": "617", + "mnc": "02", + "brand": "MOKOZE / AZU", + "operator": "Mahanagar Telephone Mauritius Limited (MTML)", + "status": "Operational", + "bands": "CDMA2000", + "notes": null + }, + { + "type": "National", + "countryName": "Mauritius", + "countryCode": "MU", + "mcc": "617", + "mnc": "03", + "brand": "CHILI", + "operator": "Mahanagar Telephone Mauritius Limited (MTML)", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Mauritius", + "countryCode": "MU", + "mcc": "617", + "mnc": "10", + "brand": "Emtel", + "operator": "Emtel Ltd.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G", + "notes": null + }, + { + "type": "National", + "countryName": "Morocco", + "countryCode": "MA", + "mcc": "604", + "mnc": "00", + "brand": "Orange Morocco", + "operator": "Médi Télécom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": "Former Méditel" + }, + { + "type": "National", + "countryName": "Morocco", + "countryCode": "MA", + "mcc": "604", + "mnc": "01", + "brand": "IAM", + "operator": "Ittissalat Al-Maghrib (Maroc Telecom)", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Morocco", + "countryCode": "MA", + "mcc": "604", + "mnc": "02", + "brand": "INWI", + "operator": "Wana Corporate", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Morocco", + "countryCode": "MA", + "mcc": "604", + "mnc": "04", + "brand": null, + "operator": "Al Houria Telecom", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Morocco", + "countryCode": "MA", + "mcc": "604", + "mnc": "05", + "brand": "INWI", + "operator": "Wana Corporate", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Morocco", + "countryCode": "MA", + "mcc": "604", + "mnc": "06", + "brand": "IAM", + "operator": "Ittissalat Al-Maghrib (Maroc Telecom)", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Morocco", + "countryCode": "MA", + "mcc": "604", + "mnc": "99", + "brand": null, + "operator": "Al Houria Telecom", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Mozambique", + "countryCode": "MZ", + "mcc": "643", + "mnc": "01", + "brand": "mCel", + "operator": "Mocambique Celular S.A.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / 5G", + "notes": null + }, + { + "type": "National", + "countryName": "Mozambique", + "countryCode": "MZ", + "mcc": "643", + "mnc": "03", + "brand": "Movitel", + "operator": "Movitel, SA", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800", + "notes": null + }, + { + "type": "National", + "countryName": "Mozambique", + "countryCode": "MZ", + "mcc": "643", + "mnc": "04", + "brand": "Vodacom", + "operator": "Vodacom Mozambique, S.A.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Namibia", + "countryCode": "NA", + "mcc": "649", + "mnc": "01", + "brand": "MTC", + "operator": "MTC Namibia", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Namibia", + "countryCode": "NA", + "mcc": "649", + "mnc": "02", + "brand": "switch", + "operator": "Telecom Namibia", + "status": "Operational", + "bands": "CDMA2000 800", + "notes": null + }, + { + "type": "National", + "countryName": "Namibia", + "countryCode": "NA", + "mcc": "649", + "mnc": "03", + "brand": "TN Mobile", + "operator": "Telecom Namibia", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / TD-LTE 2600", + "notes": "former Cell One" + }, + { + "type": "National", + "countryName": "Namibia", + "countryCode": "NA", + "mcc": "649", + "mnc": "04", + "brand": null, + "operator": "Paratus Telecommunications (Pty)", + "status": "Operational", + "bands": "WiMAX 2500 / TD-LTE", + "notes": "former ITN/WTN" + }, + { + "type": "National", + "countryName": "Namibia", + "countryCode": "NA", + "mcc": "649", + "mnc": "05", + "brand": null, + "operator": "Demshi Investments CC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Namibia", + "countryCode": "NA", + "mcc": "649", + "mnc": "06", + "brand": null, + "operator": "MTN Namibia", + "status": "Operational", + "bands": "LTE", + "notes": "LTE fixed wireless, MVNO" + }, + { + "type": "National", + "countryName": "Namibia", + "countryCode": "NA", + "mcc": "649", + "mnc": "07", + "brand": null, + "operator": "Capricorn Connect", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Niger", + "countryCode": "NE", + "mcc": "614", + "mnc": "01", + "brand": "SahelCom", + "operator": "La Société Sahélienne de Télécommunications (SahelCom)", + "status": "Operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Niger", + "countryCode": "NE", + "mcc": "614", + "mnc": "02", + "brand": "Airtel", + "operator": "Bharti Airtel Limited", + "status": "Operational", + "bands": "GSM 900 / LTE", + "notes": "formerly Zain, Celtel" + }, + { + "type": "National", + "countryName": "Niger", + "countryCode": "NE", + "mcc": "614", + "mnc": "03", + "brand": "Moov", + "operator": "Atlantique Telecom (subsidiary of Etisalat)", + "status": "Operational", + "bands": "GSM 900", + "notes": "Former Telecel" + }, + { + "type": "National", + "countryName": "Niger", + "countryCode": "NE", + "mcc": "614", + "mnc": "04", + "brand": "Orange", + "operator": "Orange Niger", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Nigeria", + "countryCode": "NG", + "mcc": "621", + "mnc": "00", + "brand": null, + "operator": "Capcom", + "status": "Not operational", + "bands": "LTE 1900", + "notes": "Former Starcomms, MultiLinks, and MTS First Wireless" + }, + { + "type": "National", + "countryName": "Nigeria", + "countryCode": "NG", + "mcc": "621", + "mnc": "20", + "brand": "Airtel", + "operator": "Bharti Airtel Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Former Zain, V-Mobile" + }, + { + "type": "National", + "countryName": "Nigeria", + "countryCode": "NG", + "mcc": "621", + "mnc": "22", + "brand": "InterC", + "operator": "InterC Network Ltd.", + "status": "Operational", + "bands": "LTE 800", + "notes": "Former Intercellular; LTE band 20" + }, + { + "type": "National", + "countryName": "Nigeria", + "countryCode": "NG", + "mcc": "621", + "mnc": "24", + "brand": null, + "operator": "Spectranet", + "status": "Operational", + "bands": "TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "Nigeria", + "countryCode": "NG", + "mcc": "621", + "mnc": "25", + "brand": "Visafone", + "operator": "Visafone Communications Ltd.", + "status": "Not operational", + "bands": "CDMA2000 800 / CDMA2000 1900", + "notes": "Acquired by MTN" + }, + { + "type": "National", + "countryName": "Nigeria", + "countryCode": "NG", + "mcc": "621", + "mnc": "26", + "brand": null, + "operator": "Swift", + "status": "Operational", + "bands": "TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "Nigeria", + "countryCode": "NG", + "mcc": "621", + "mnc": "27", + "brand": "Smile", + "operator": "Smile Communications Nigeria", + "status": "Operational", + "bands": "LTE 800", + "notes": "LTE band 20" + }, + { + "type": "National", + "countryName": "Nigeria", + "countryCode": "NG", + "mcc": "621", + "mnc": "30", + "brand": "MTN", + "operator": "MTN Nigeria Communications Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 2600 / TD-LTE 3500 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Nigeria", + "countryCode": "NG", + "mcc": "621", + "mnc": "40", + "brand": "Ntel", + "operator": "Nigerian Mobile Telecommunications Limited", + "status": "Operational", + "bands": "LTE 900 / LTE 1800", + "notes": "Former M-Tel; LTE bands 8 / 3" + }, + { + "type": "National", + "countryName": "Nigeria", + "countryCode": "NG", + "mcc": "621", + "mnc": "50", + "brand": "Glo", + "operator": "Globacom Ltd", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 700", + "notes": "LTE band 28" + }, + { + "type": "National", + "countryName": "Nigeria", + "countryCode": "NG", + "mcc": "621", + "mnc": "60", + "brand": "9mobile", + "operator": "Emerging Markets Telecommunication Services Ltd.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": "Until 2017, Etisalat" + }, + { + "type": "National", + "countryName": "Rwanda", + "countryCode": "RW", + "mcc": "635", + "mnc": "10", + "brand": "MTN", + "operator": "MTN Rwandacell SARL", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Rwanda", + "countryCode": "RW", + "mcc": "635", + "mnc": "11", + "brand": "Rwandatel", + "operator": "Rwandatel S.A.", + "status": "Not operational", + "bands": "CDMA", + "notes": "Licence revoked in April 2011" + }, + { + "type": "National", + "countryName": "Rwanda", + "countryCode": "RW", + "mcc": "635", + "mnc": "12", + "brand": "Rwandatel", + "operator": "Rwandatel S.A.", + "status": "Not operational", + "bands": "GSM", + "notes": "Licence revoked in April 2011" + }, + { + "type": "National", + "countryName": "Rwanda", + "countryCode": "RW", + "mcc": "635", + "mnc": "13", + "brand": "Airtel", + "operator": "Airtel RWANDA", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Former Tigo" + }, + { + "type": "National", + "countryName": "Rwanda", + "countryCode": "RW", + "mcc": "635", + "mnc": "14", + "brand": "Airtel", + "operator": "Airtel RWANDA", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Merged with Tigo; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Rwanda", + "countryCode": "RW", + "mcc": "635", + "mnc": "17", + "brand": "Olleh", + "operator": "Olleh Rwanda Networks", + "status": "Operational", + "bands": "LTE 800 / LTE 1800", + "notes": "LTE band 20 / 3; wholesale network used by Airtel, MTN, Tigo" + }, + { + "type": "National", + "countryName": "Saint Helena, Ascension and Tristan da Cunha", + "countryCode": "SH", + "mcc": "658", + "mnc": "01", + "brand": "Sure", + "operator": "Sure South Atlantic Ltd.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "São Tomé and Príncipe", + "countryCode": "ST", + "mcc": "626", + "mnc": "01", + "brand": "CSTmovel", + "operator": "Companhia Santomense de Telecomunicações", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "São Tomé and Príncipe", + "countryCode": "ST", + "mcc": "626", + "mnc": "02", + "brand": "Unitel STP", + "operator": "Unitel São Tomé and Príncipe", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Senegal", + "countryCode": "SN", + "mcc": "608", + "mnc": "01", + "brand": "Orange", + "operator": "Sonatel", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Senegal", + "countryCode": "SN", + "mcc": "608", + "mnc": "02", + "brand": "Free", + "operator": "Saga Africa Holdings Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": "Former Hello, Tigo" + }, + { + "type": "National", + "countryName": "Senegal", + "countryCode": "SN", + "mcc": "608", + "mnc": "03", + "brand": "Expresso", + "operator": "Expresso Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Senegal", + "countryCode": "SN", + "mcc": "608", + "mnc": "04", + "brand": null, + "operator": "CSU-SA", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Seychelles", + "countryCode": "SC", + "mcc": "633", + "mnc": "01", + "brand": "Cable & Wireless", + "operator": "Cable & Wireless Seychelles", + "status": "Operational", + "bands": "GSM 900 / UMTS / 5G", + "notes": null + }, + { + "type": "National", + "countryName": "Seychelles", + "countryCode": "SC", + "mcc": "633", + "mnc": "02", + "brand": "Mediatech", + "operator": "Mediatech International", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "License and MNC withdrawn" + }, + { + "type": "National", + "countryName": "Seychelles", + "countryCode": "SC", + "mcc": "633", + "mnc": "05", + "brand": null, + "operator": "Intelvision Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Seychelles", + "countryCode": "SC", + "mcc": "633", + "mnc": "10", + "brand": "Airtel", + "operator": "Telecom Seychelles Ltd", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800", + "notes": null + }, + { + "type": "National", + "countryName": "Sierra Leone", + "countryCode": "SL", + "mcc": "619", + "mnc": "01", + "brand": "Orange", + "operator": "Orange SL Limited", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE", + "notes": "Former Zain, Celtel, Bharti Airtel" + }, + { + "type": "National", + "countryName": "Sierra Leone", + "countryCode": "SL", + "mcc": "619", + "mnc": "02", + "brand": "Africell", + "operator": "Lintel Sierra Leone Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Millicom, Tigo" + }, + { + "type": "National", + "countryName": "Sierra Leone", + "countryCode": "SL", + "mcc": "619", + "mnc": "03", + "brand": "Africell", + "operator": "Lintel Sierra Leone Limited", + "status": "Operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Sierra Leone", + "countryCode": "SL", + "mcc": "619", + "mnc": "04", + "brand": "Comium", + "operator": "Comium (Sierra Leone) Ltd.", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Sierra Leone", + "countryCode": "SL", + "mcc": "619", + "mnc": "05", + "brand": "Africell", + "operator": "Lintel Sierra Leone Limited", + "status": "Operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Sierra Leone", + "countryCode": "SL", + "mcc": "619", + "mnc": "06", + "brand": "SierraTel", + "operator": "Sierra Leone Telephony", + "status": "Operational", + "bands": "CDMA 800 / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Sierra Leone", + "countryCode": "SL", + "mcc": "619", + "mnc": "07", + "brand": null, + "operator": "Qcell Sierra Leone", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Sierra Leone", + "countryCode": "SL", + "mcc": "619", + "mnc": "09", + "brand": "Smart Mobile", + "operator": "InterGroup Telecom SL", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Sierra Leone", + "countryCode": "SL", + "mcc": "619", + "mnc": "25", + "brand": "Mobitel", + "operator": "Mobitel", + "status": "Reserved", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Sierra Leone", + "countryCode": "SL", + "mcc": "619", + "mnc": "40", + "brand": null, + "operator": "Datatel (SL) Ltd.", + "status": "Unknown", + "bands": "GSM", + "notes": null + }, + { + "type": "National", + "countryName": "Sierra Leone", + "countryCode": "SL", + "mcc": "619", + "mnc": "50", + "brand": null, + "operator": "Datatel (SL) Ltd.", + "status": "Unknown", + "bands": "CDMA", + "notes": null + }, + { + "type": "National", + "countryName": "Somalia", + "countryCode": "SO", + "mcc": "637", + "mnc": "01", + "brand": "Telesom", + "operator": "Telesom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Somalia", + "countryCode": "SO", + "mcc": "637", + "mnc": "04", + "brand": "Somafone", + "operator": "Somafone FZLLC", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Somalia", + "countryCode": "SO", + "mcc": "637", + "mnc": "10", + "brand": "Nationlink", + "operator": "NationLink Telecom", + "status": "Operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Somalia", + "countryCode": "SO", + "mcc": "637", + "mnc": "20", + "brand": "SOMNET", + "operator": "SOMNET", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800", + "notes": "Uncertain bands" + }, + { + "type": "National", + "countryName": "Somalia", + "countryCode": "SO", + "mcc": "637", + "mnc": "50", + "brand": "Hormuud", + "operator": "Hormuud Telecom Somalia Inc", + "status": "Operational", + "bands": "GSM 900 / UMTS", + "notes": "Uncertain MNC number, maybe (also) 25" + }, + { + "type": "National", + "countryName": "Somalia", + "countryCode": "SO", + "mcc": "637", + "mnc": "30", + "brand": "Golis", + "operator": "Golis Telecom Somalia", + "status": "Operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Somalia", + "countryCode": "SO", + "mcc": "637", + "mnc": "57", + "brand": "UNITEL", + "operator": "UNITEL S.a.r.l.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Somalia", + "countryCode": "SO", + "mcc": "637", + "mnc": "60", + "brand": "Nationlink", + "operator": "Nationlink Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Somalia", + "countryCode": "SO", + "mcc": "637", + "mnc": "67", + "brand": "Horntel Group", + "operator": "HTG Group Somalia", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Somalia", + "countryCode": "SO", + "mcc": "637", + "mnc": "70", + "brand": null, + "operator": "Onkod Telecom Ltd.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Somalia", + "countryCode": "SO", + "mcc": "637", + "mnc": "71", + "brand": "Somtel", + "operator": "Somtel", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800", + "notes": null + }, + { + "type": "National", + "countryName": "Somalia", + "countryCode": "SO", + "mcc": "637", + "mnc": "82", + "brand": "Telcom", + "operator": "Telcom Somalia", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / CDMA2000 / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "01", + "brand": "Vodacom", + "operator": "Vodacom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / LTE 5200 / LTE 5800 / 5G 700 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "02", + "brand": "Telkom", + "operator": "Telkom SA SOC Ltd", + "status": "Operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 1800 / TD-LTE 2300 / 5G 3500", + "notes": "Formerly Telkom Mobile, 8ta" + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "03", + "brand": "Telkom", + "operator": "Telkom SA SOC Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "04", + "brand": null, + "operator": "Sasol (Pty) Ltd.", + "status": "Not operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "05", + "brand": null, + "operator": "Telkom SA Ltd", + "status": "Unknown", + "bands": "Unknown 3G", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "06", + "brand": null, + "operator": "Sentech (Pty) Ltd", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "07", + "brand": "Cell C", + "operator": "Cell C (Pty) Ltd", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / LTE 1800 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "10", + "brand": "MTN", + "operator": "MTN Group", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / 5G 700 / 5G 1800 / 5G 2100 / 5G 3500 / 5G 28000", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "11", + "brand": null, + "operator": "South African Police Service Gauteng", + "status": "Not operational", + "bands": "TETRA 410", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "12", + "brand": "MTN", + "operator": "MTN Group", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "13", + "brand": "Neotel", + "operator": "Neotel Pty Ltd", + "status": "Not operational", + "bands": "CDMA 800", + "notes": "Shut down May 2019" + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "14", + "brand": "Neotel", + "operator": "Neotel Pty Ltd", + "status": "Operational", + "bands": "LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "16", + "brand": null, + "operator": "Phoenix System Integration (Pty) Ltd", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "17", + "brand": null, + "operator": "Sishen Iron Ore Company (Ltd) Pty", + "status": "Not operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "19", + "brand": "rain", + "operator": "Wireless Business Solutions (Pty) Ltd", + "status": "Operational", + "bands": "LTE 1800 / TD-LTE 2600 / TD-5G 2600", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "21", + "brand": null, + "operator": "Cape Town Metropolitan Council", + "status": "Not operational", + "bands": "TETRA 410", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "24", + "brand": null, + "operator": "SMSPortal (Pty) Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "25", + "brand": null, + "operator": "Wirels Connect", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "27", + "brand": null, + "operator": "A to Z Vaal Industrial Supplies Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "28", + "brand": null, + "operator": "Hymax Talking Solutions (Pty) Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "30", + "brand": null, + "operator": "Bokamoso Consortium", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "31", + "brand": null, + "operator": "Karabo Telecoms (Pty) Ltd.", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "32", + "brand": null, + "operator": "Ilizwi Telecommunications", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "33", + "brand": null, + "operator": "Thinta Thinta Telecommunications Pty Ltd", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "34", + "brand": null, + "operator": "Bokone Telecoms Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "35", + "brand": null, + "operator": "Kingdom Communications Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "36", + "brand": null, + "operator": "Amatole Telecommunications Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "38", + "brand": "rain", + "operator": "Wireless Business Solutions (Pty) Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former iBurst" + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "41", + "brand": null, + "operator": "South African Police Service", + "status": "Not operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "46", + "brand": null, + "operator": "SMS Cellular Services (Pty) Ltd", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "50", + "brand": null, + "operator": "Ericsson South Africa (Pty) Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "51", + "brand": null, + "operator": "Integrat (Pty) Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "53", + "brand": "Lycamobile", + "operator": "Lycamobile (Pty) Ltd", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "65", + "brand": null, + "operator": "Vodacom Pty Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "73", + "brand": "rain", + "operator": "Wireless Business Solutions (Pty) Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former iBurst" + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "74", + "brand": "rain", + "operator": "Wireless Business Solutions (Pty) Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former iBurst" + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "75", + "brand": "ACSA", + "operator": "Airports Company South Africa", + "status": "Not operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "76", + "brand": null, + "operator": "Comsol Networks (Pty) Ltd", + "status": "Operational", + "bands": "WiMAX / 28000", + "notes": null + }, + { + "type": "National", + "countryName": "South Africa", + "countryCode": "ZA", + "mcc": "655", + "mnc": "77", + "brand": "Umoja Connect", + "operator": "One Telecom (Pty) Ltd", + "status": "Unknown", + "bands": "5G", + "notes": null + }, + { + "type": "National", + "countryName": "South Sudan", + "countryCode": "SS", + "mcc": "659", + "mnc": "02", + "brand": "MTN", + "operator": "MTN South Sudan", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "South Sudan", + "countryCode": "SS", + "mcc": "659", + "mnc": "03", + "brand": "Gemtel", + "operator": "Gemtel", + "status": "Operational", + "bands": "GSM 900 / GSM 1800", + "notes": null + }, + { + "type": "National", + "countryName": "South Sudan", + "countryCode": "SS", + "mcc": "659", + "mnc": "04", + "brand": "Vivacell", + "operator": "Network of the World (NOW)", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800", + "notes": "shut down Mar 2018" + }, + { + "type": "National", + "countryName": "South Sudan", + "countryCode": "SS", + "mcc": "659", + "mnc": "06", + "brand": "Zain", + "operator": "Zain South Sudan", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "South Sudan", + "countryCode": "SS", + "mcc": "659", + "mnc": "07", + "brand": "Sudani", + "operator": "Sudani", + "status": "Operational", + "bands": "CDMA", + "notes": null + }, + { + "type": "National", + "countryName": "Sudan", + "countryCode": "SD", + "mcc": "634", + "mnc": "01", + "brand": "Zain SD", + "operator": "Zain Group - Sudan", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800", + "notes": "Former, Mobitel" + }, + { + "type": "National", + "countryName": "Sudan", + "countryCode": "SD", + "mcc": "634", + "mnc": "02", + "brand": "MTN", + "operator": "MTN Sudan", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Sudan", + "countryCode": "SD", + "mcc": "634", + "mnc": "03", + "brand": "MTN", + "operator": "MTN Sudan", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Sudan", + "countryCode": "SD", + "mcc": "634", + "mnc": "05", + "brand": "canar", + "operator": "Canar Telecom", + "status": "Operational", + "bands": "CDMA2000 450", + "notes": null + }, + { + "type": "National", + "countryName": "Sudan", + "countryCode": "SD", + "mcc": "634", + "mnc": "07", + "brand": "Sudani One", + "operator": "Sudatel Group", + "status": "Operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 1800 / CDMA2000 800", + "notes": null + }, + { + "type": "National", + "countryName": "Sudan", + "countryCode": "SD", + "mcc": "634", + "mnc": "09", + "brand": "khartoum INC", + "operator": "NEC", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Tanzania", + "countryCode": "TZ", + "mcc": "640", + "mnc": "01", + "brand": null, + "operator": "Shared Network Tanzania Limited", + "status": "Not operational", + "bands": "UMTS 900", + "notes": "Former Rural NetCo Limited; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Tanzania", + "countryCode": "TZ", + "mcc": "640", + "mnc": "02", + "brand": "tiGO", + "operator": "MIC Tanzania Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / 5G 2500", + "notes": "Former Mobitel and Buzz" + }, + { + "type": "National", + "countryName": "Tanzania", + "countryCode": "TZ", + "mcc": "640", + "mnc": "03", + "brand": "Zantel", + "operator": "Zanzibar Telecom Ltd", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Tanzania", + "countryCode": "TZ", + "mcc": "640", + "mnc": "04", + "brand": "Vodacom", + "operator": "Vodacom Tanzania Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G 700 / 5G 2300", + "notes": null + }, + { + "type": "National", + "countryName": "Tanzania", + "countryCode": "TZ", + "mcc": "640", + "mnc": "05", + "brand": "Airtel", + "operator": "Bharti Airtel", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 2100", + "notes": "Former Celtel (Zain); LTE bands 28 / 1" + }, + { + "type": "National", + "countryName": "Tanzania", + "countryCode": "TZ", + "mcc": "640", + "mnc": "06", + "brand": null, + "operator": "WIA Company Limited", + "status": "Operational", + "bands": "WiMAX / LTE", + "notes": "Former Sasatel (Dovetel); fixed wireless" + }, + { + "type": "National", + "countryName": "Tanzania", + "countryCode": "TZ", + "mcc": "640", + "mnc": "07", + "brand": "TTCL Mobile", + "operator": "Tanzania Telecommunication Company LTD (TTCL)", + "status": "Operational", + "bands": "CDMA 800 / UMTS 2100 / LTE 1800 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "Tanzania", + "countryCode": "TZ", + "mcc": "640", + "mnc": "08", + "brand": "Smart", + "operator": "Benson Informatics Limited", + "status": "Not operational", + "bands": "TD-LTE 2300", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Tanzania", + "countryCode": "TZ", + "mcc": "640", + "mnc": "09", + "brand": "Halotel", + "operator": "Viettel Tanzania Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Former ExcellentCom Tanzania Limited (Hits)" + }, + { + "type": "National", + "countryName": "Tanzania", + "countryCode": "TZ", + "mcc": "640", + "mnc": "11", + "brand": "SmileCom", + "operator": "Smile Telecoms Holdings Ltd.", + "status": "Operational", + "bands": "LTE 800", + "notes": null + }, + { + "type": "National", + "countryName": "Tanzania", + "countryCode": "TZ", + "mcc": "640", + "mnc": "12", + "brand": null, + "operator": "MyCell Limited", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Tanzania", + "countryCode": "TZ", + "mcc": "640", + "mnc": "13", + "brand": "Cootel", + "operator": "Wiafrica Tanzania Limited", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Tanzania", + "countryCode": "TZ", + "mcc": "640", + "mnc": "14", + "brand": null, + "operator": "MO Mobile Holding Limited", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Togo", + "countryCode": "TG", + "mcc": "615", + "mnc": "01", + "brand": "Togo Cell", + "operator": "Togo Telecom", + "status": "Operational", + "bands": "GSM 900 / LTE / 5G", + "notes": null + }, + { + "type": "National", + "countryName": "Togo", + "countryCode": "TG", + "mcc": "615", + "mnc": "03", + "brand": "Moov", + "operator": "Moov Togo", + "status": "Operational", + "bands": "GSM 900 / LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Tunisia", + "countryCode": "TN", + "mcc": "605", + "mnc": "01", + "brand": "Orange", + "operator": "Orange Tunisie", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Tunisia", + "countryCode": "TN", + "mcc": "605", + "mnc": "02", + "brand": "Tunicell", + "operator": "Tunisie Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Tunisia", + "countryCode": "TN", + "mcc": "605", + "mnc": "03", + "brand": "Ooredoo", + "operator": "Ooredoo Tunisiana", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800", + "notes": "former Orascom Telecom Tunisie" + }, + { + "type": "National", + "countryName": "Uganda", + "countryCode": "UG", + "mcc": "641", + "mnc": "01", + "brand": "Airtel", + "operator": "Bharti Airtel", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": "Former Zain, Celtel" + }, + { + "type": "National", + "countryName": "Uganda", + "countryCode": "UG", + "mcc": "641", + "mnc": "04", + "brand": null, + "operator": "Tangerine Uganda Limited", + "status": "Operational", + "bands": "LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Uganda", + "countryCode": "UG", + "mcc": "641", + "mnc": "06", + "brand": "Vodafone", + "operator": "Afrimax Uganda", + "status": "Not operational", + "bands": "TD-LTE 2600", + "notes": "shut down May 2018; MNC withdrawn" + }, + { + "type": "National", + "countryName": "Uganda", + "countryCode": "UG", + "mcc": "641", + "mnc": "10", + "brand": "MTN", + "operator": "MTN Uganda", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 2600", + "notes": "LTE band 7" + }, + { + "type": "National", + "countryName": "Uganda", + "countryCode": "UG", + "mcc": "641", + "mnc": "11", + "brand": "Uganda Telecom", + "operator": "Uganda Telecom Ltd.", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Uganda", + "countryCode": "UG", + "mcc": "641", + "mnc": "14", + "brand": "Africell", + "operator": "Africell Uganda", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS / LTE 800", + "notes": "Former Orange, HiTS Telecom; LTE band 20" + }, + { + "type": "National", + "countryName": "Uganda", + "countryCode": "UG", + "mcc": "641", + "mnc": "16", + "brand": null, + "operator": "SimbaNET Uganda Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Uganda", + "countryCode": "UG", + "mcc": "641", + "mnc": "18", + "brand": "Smart", + "operator": "Suretelecom Uganda Ltd.", + "status": "Not operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Uganda", + "countryCode": "UG", + "mcc": "641", + "mnc": "20", + "brand": null, + "operator": "Hamilton Telecom Limited", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Uganda", + "countryCode": "UG", + "mcc": "641", + "mnc": "22", + "brand": "Airtel", + "operator": "Bharti Airtel", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS", + "notes": "Former Warid Telecom" + }, + { + "type": "National", + "countryName": "Uganda", + "countryCode": "UG", + "mcc": "641", + "mnc": "26", + "brand": "Lycamobile", + "operator": "Lycamobile Network Services Uganda Limited", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Uganda", + "countryCode": "UG", + "mcc": "641", + "mnc": "30", + "brand": null, + "operator": "Anupam Global Soft Uganda Limited", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Uganda", + "countryCode": "UG", + "mcc": "641", + "mnc": "33", + "brand": "Smile", + "operator": "Smile Communications Uganda Limited", + "status": "Operational", + "bands": "LTE 800", + "notes": "LTE band 20" + }, + { + "type": "National", + "countryName": "Uganda", + "countryCode": "UG", + "mcc": "641", + "mnc": "40", + "brand": null, + "operator": "Civil Aviation Authority (CAA)", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Uganda", + "countryCode": "UG", + "mcc": "641", + "mnc": "44", + "brand": "K2", + "operator": "K2 Telecom Ltd", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Uganda", + "countryCode": "UG", + "mcc": "641", + "mnc": "66", + "brand": "i-Tel", + "operator": "i-Tel Ltd", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Zambia", + "countryCode": "ZM", + "mcc": "645", + "mnc": "01", + "brand": "Airtel", + "operator": "Bharti Airtel", + "status": "Operational", + "bands": "GSM 900 / UMTS 900 / UMTS 2100 / LTE 900", + "notes": "Former Celtel (Zain)" + }, + { + "type": "National", + "countryName": "Zambia", + "countryCode": "ZM", + "mcc": "645", + "mnc": "02", + "brand": "MTN", + "operator": "MTN Group", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 1800 / 5G 2600", + "notes": "Former Telecel" + }, + { + "type": "National", + "countryName": "Zambia", + "countryCode": "ZM", + "mcc": "645", + "mnc": "03", + "brand": "ZAMTEL", + "operator": "Zambia Telecommunications Company Ltd", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / TD-LTE 2300", + "notes": null + }, + { + "type": "National", + "countryName": "Zambia", + "countryCode": "ZM", + "mcc": "645", + "mnc": "07", + "brand": null, + "operator": "Liquid Telecom Zambia Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Zimbabwe", + "countryCode": "ZW", + "mcc": "648", + "mnc": "01", + "brand": "Net*One", + "operator": "Net*One Cellular (Pvt) Ltd", + "status": "Operational", + "bands": "GSM 900 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Zimbabwe", + "countryCode": "ZW", + "mcc": "648", + "mnc": "03", + "brand": "Telecel", + "operator": "Telecel Zimbabwe (PVT) Ltd", + "status": "Operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Zimbabwe", + "countryCode": "ZW", + "mcc": "648", + "mnc": "04", + "brand": "Econet", + "operator": "Econet Wireless", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G", + "notes": null + }, + { + "type": "National", + "countryName": "Argentina", + "countryCode": "AR", + "mcc": "722", + "mnc": "010", + "brand": "Movistar", + "operator": "Telefónica Móviles Argentina S.A.", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Argentina", + "countryCode": "AR", + "mcc": "722", + "mnc": "020", + "brand": "Nextel", + "operator": "NII Holdings", + "status": "Not operational", + "bands": "iDEN 800", + "notes": "Shut down June 2019" + }, + { + "type": "National", + "countryName": "Argentina", + "countryCode": "AR", + "mcc": "722", + "mnc": "034", + "brand": "Personal", + "operator": "Telecom Personal S.A.", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Argentina", + "countryCode": "AR", + "mcc": "722", + "mnc": "040", + "brand": "Globalstar", + "operator": "TE.SA.M Argentina S.A.", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Argentina", + "countryCode": "AR", + "mcc": "722", + "mnc": "070", + "brand": "Movistar", + "operator": "Telefónica Móviles Argentina S.A.", + "status": "Operational", + "bands": "GSM 1900", + "notes": "Also uses or had used MNC 07" + }, + { + "type": "National", + "countryName": "Argentina", + "countryCode": "AR", + "mcc": "722", + "mnc": "310", + "brand": "Claro", + "operator": "AMX Argentina S.A.", + "status": "Operational", + "bands": "GSM 1900", + "notes": null + }, + { + "type": "National", + "countryName": "Argentina", + "countryCode": "AR", + "mcc": "722", + "mnc": "320", + "brand": "Claro", + "operator": "AMX Argentina S.A.", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 1700", + "notes": null + }, + { + "type": "National", + "countryName": "Argentina", + "countryCode": "AR", + "mcc": "722", + "mnc": "330", + "brand": "Claro", + "operator": "AMX Argentina S.A.", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 1700", + "notes": null + }, + { + "type": "National", + "countryName": "Argentina", + "countryCode": "AR", + "mcc": "722", + "mnc": "341", + "brand": "Personal", + "operator": "Telecom Personal S.A.", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 2600 / 5G 2600", + "notes": "LTE bands 28 / 4 / 7" + }, + { + "type": "National", + "countryName": "Argentina", + "countryCode": "AR", + "mcc": "722", + "mnc": "350", + "brand": "PORT-HABLE", + "operator": "Hutchison Telecommunications Argentina S.A.", + "status": "Not operational", + "bands": "GSM 900", + "notes": "Acquired by Claro" + }, + { + "type": "National", + "countryName": "Belize", + "countryCode": "BZ", + "mcc": "702", + "mnc": "67", + "brand": "DigiCell", + "operator": "Belize Telemedia Limited (BTL)", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1900", + "notes": "LTE bands 17 / 2" + }, + { + "type": "National", + "countryName": "Belize", + "countryCode": "BZ", + "mcc": "702", + "mnc": "68", + "brand": "INTELCO", + "operator": "International Telecommunications Ltd.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Belize", + "countryCode": "BZ", + "mcc": "702", + "mnc": "69", + "brand": "SMART", + "operator": "Speednet Communications Limited", + "status": "Operational", + "bands": "CDMA2000 850 / UMTS 850 / LTE 700", + "notes": "LTE band 13" + }, + { + "type": "National", + "countryName": "Belize", + "countryCode": "BZ", + "mcc": "702", + "mnc": "99", + "brand": "SMART", + "operator": "Speednet Communications Limited", + "status": "Operational", + "bands": "CDMA2000 850", + "notes": null + }, + { + "type": "National", + "countryName": "Bolivia", + "countryCode": "BO", + "mcc": "736", + "mnc": "01", + "brand": "Viva", + "operator": "Nuevatel PCS De Bolivia SA", + "status": "Operational", + "bands": "GSM 1900 / UMTS 1900 / LTE 1700", + "notes": null + }, + { + "type": "National", + "countryName": "Bolivia", + "countryCode": "BO", + "mcc": "736", + "mnc": "02", + "brand": "Entel", + "operator": "Entel SA", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Bolivia", + "countryCode": "BO", + "mcc": "736", + "mnc": "03", + "brand": "Tigo", + "operator": "Telefónica Celular De Bolivia S.A", + "status": "Operational", + "bands": "GSM 850 / UMTS 850 / UMTS 1900 / LTE 700", + "notes": "Aka. Telecel Bolivia" + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "00", + "brand": "Nextel", + "operator": "NII Holdings, Inc.", + "status": "Not operational", + "bands": "iDEN 850", + "notes": "Defunct since March 2018" + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "01", + "brand": null, + "operator": "SISTEER DO BRASIL TELECOMUNICAÇÔES", + "status": "Unknown", + "bands": "MVNO", + "notes": "Through Vivo S.A. network" + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "02", + "brand": "TIM", + "operator": "Telecom Italia Mobile", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 850 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 1800 / 5G 2300 / 5G 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "03", + "brand": "TIM", + "operator": "Telecom Italia Mobile", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 850 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 1800 / 5G 2300 / 5G 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "04", + "brand": "TIM", + "operator": "Telecom Italia Mobile", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 850 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 700 / 5G 1800 / 5G 2300 / 5G 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "05", + "brand": "Claro", + "operator": "Claro", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600 / 5G 2300 / 5G 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "06", + "brand": "Vivo", + "operator": "Telefônica Brasil S.A.", + "status": "Operational", + "bands": "GSM 850 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600 / 5G 700 / 5G 1800 / 5G 2300 / 5G 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "10", + "brand": "Vivo", + "operator": "Telefônica Brasil S.A.", + "status": "Operational", + "bands": "GSM 850 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600 / 5G 700 / 5G 1800 / 5G 2300 / 5G 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "11", + "brand": "Vivo", + "operator": "Telefônica Brasil S.A.", + "status": "Operational", + "bands": "GSM 850 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600 / 5G 700 / 5G 1800 / 5G 2300 / 5G 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "12", + "brand": "Claro", + "operator": "Claro", + "status": "Unknown", + "bands": "Unknown", + "notes": "Unknown" + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "15", + "brand": "Sercomtel", + "operator": "Sercomtel Celular", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 850", + "notes": null + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "16", + "brand": "Brasil Telecom GSM", + "operator": "Brasil Telecom GSM", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100", + "notes": "acquired by Oi, MNC used for existing Brasil Telecom SIM Cards only" + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "17", + "brand": "Surf Telecom", + "operator": "Correios Celula", + "status": "Operational", + "bands": "MVNO", + "notes": "Through TIM network" + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "18", + "brand": "datora", + "operator": "Datora (Vodafone)", + "status": "Operational", + "bands": "MVNO", + "notes": "Through TIM network" + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "21", + "brand": "LIGUE", + "operator": "Ligue Telecom", + "status": "Operational", + "bands": "LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "23", + "brand": "Vivo", + "operator": "Telefônica Brasil S.A.", + "status": "Operational", + "bands": "GSM 850 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 1800 / LTE 2600", + "notes": "formerly used by the acquired Telemig Celular" + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "24", + "brand": null, + "operator": "Amazonia Celular", + "status": "Unknown", + "bands": "Unknown", + "notes": "acquired by Oi" + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "28", + "brand": "No name", + "operator": null, + "status": "Operational", + "bands": "Unknown", + "notes": "Used for RanSharing control and roaming between Vivo and Claro" + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "29", + "brand": "Unifique", + "operator": "Unifique Telecomunicações S/A", + "status": "Operational", + "bands": "5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "30", + "brand": "Oi", + "operator": "TNL PCS Oi", + "status": "Not operational", + "bands": "Unknown", + "notes": "Liquidated Apr 2022" + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "31", + "brand": "Oi", + "operator": "TNL PCS Oi", + "status": "Not operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 2100", + "notes": "Liquidated Apr 2022" + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "32", + "brand": "Algar Telecom", + "operator": "Algar Telecom S.A.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 1800 / 5G 2300", + "notes": "LTE bands 28 / 3" + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "33", + "brand": "Algar Telecom", + "operator": "Algar Telecom S.A.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 1800 / 5G 2300", + "notes": null + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "34", + "brand": "Algar Telecom", + "operator": "Algar Telecom S.A.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 1800 / 5G 2300", + "notes": null + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "35", + "brand": null, + "operator": "Telcom Telecomunicações", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "36", + "brand": null, + "operator": "Options Telecomunicações", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "37", + "brand": "aeiou", + "operator": "Unicel", + "status": "Not operational", + "bands": "Unknown", + "notes": "Bankruptcy in 2011" + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "38", + "brand": "Claro", + "operator": "Claro", + "status": "Operational", + "bands": "GSM 1900", + "notes": "Inherited from the old Vesper's WLL licenses. In use for fixed wireless phones." + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "39", + "brand": "Nextel", + "operator": "NII Holdings, Inc.", + "status": "Operational", + "bands": "UMTS 2100 / LTE 1800 / LTE 2100", + "notes": null + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "54", + "brand": "Conecta", + "operator": "PORTO SEGURO TELECOMUNICAÇÔES", + "status": "Operational", + "bands": "MVNO", + "notes": "Through TIM network" + }, + { + "type": "National", + "countryName": "Brazil", + "countryCode": "BR", + "mcc": "724", + "mnc": "99", + "brand": "Local", + "operator": null, + "status": "Operational", + "bands": "Unknown", + "notes": "Used for RanSharing control and roaming between TIM and Oi" + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "01", + "brand": "entel", + "operator": "Entel Telefonía Móvil S.A.", + "status": "Operational", + "bands": "GSM 1900 / UMTS 1900 / LTE 700 / LTE 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "02", + "brand": "Movistar", + "operator": "Telefónica Móvil de Chile", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 2600 / 5G 3500", + "notes": null + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "03", + "brand": "CLARO CL", + "operator": "Claro Chile S.A.", + "status": "Operational", + "bands": "GSM 1900 / UMTS 1900 / LTE 700 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "04", + "brand": "WOM", + "operator": "Novator Partners", + "status": "Operational", + "bands": "iDEN 800", + "notes": "Former Nextel" + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "05", + "brand": null, + "operator": "Multikom S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "06", + "brand": "Telsur", + "operator": "Blue Two Chile S.A.", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "07", + "brand": "Movistar", + "operator": "Telefónica Móvil de Chile", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "08", + "brand": "VTR Móvil", + "operator": "VTR S.A.", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses Movistar" + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "09", + "brand": "WOM", + "operator": "Novator Partners", + "status": "Operational", + "bands": "UMTS 1700 / LTE 1700 / 5G 3500", + "notes": "Former Nextel; roaming with entel and Claro networks (GSM / UMTS)" + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "10", + "brand": "entel", + "operator": "Entel Telefonía Móvil S.A.", + "status": "Operational", + "bands": "GSM 1900 / UMTS 1900", + "notes": null + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "11", + "brand": null, + "operator": "Celupago S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "12", + "brand": "Colo-Colo MóvilWanderers Móvil", + "operator": "Telestar Móvil S.A.", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses Movistar" + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "13", + "brand": "Virgin Mobile", + "operator": "Tribe Mobile Chile SPA", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses Movistar" + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "14", + "brand": null, + "operator": "Netline Telefónica Móvil Ltda", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "15", + "brand": null, + "operator": "Cibeles Telecom S.A.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "16", + "brand": null, + "operator": "Nomade Telecomunicaciones S.A.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "17", + "brand": null, + "operator": "COMPATEL Chile Limitada", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "18", + "brand": null, + "operator": "Empresas Bunker S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "19", + "brand": "móvil Falabella", + "operator": "Sociedad Falabella Móvil SPA", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses entel" + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "20", + "brand": null, + "operator": "Inversiones Santa Fe Limitada", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "22", + "brand": null, + "operator": "Cellplus SpA", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "23", + "brand": null, + "operator": "Claro Servicios Empresariales S. A.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "26", + "brand": null, + "operator": "WILL S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "27", + "brand": null, + "operator": "Cibeles Telecom S.A.", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "National", + "countryName": "Chile", + "countryCode": "CL", + "mcc": "730", + "mnc": "99", + "brand": "Will", + "operator": "WILL Telefonía", + "status": "Operational", + "bands": "GSM 1900 / UMTS 1900", + "notes": "Wireless local loop" + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "001", + "brand": "Movistar", + "operator": "Colombia Telecomunicaciones S.A. ESP", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "002", + "brand": "Edatel", + "operator": "Edatel S.A. ESP", + "status": "Unknown", + "bands": "Unknown", + "notes": "Fixed wireless" + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "003", + "brand": null, + "operator": "LLEIDA S.A.S.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "004", + "brand": null, + "operator": "COMPATEL COLOMBIA SAS", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "020", + "brand": "Tigo", + "operator": "Une EPM Telecomunicaciones S.A. E.S.P.", + "status": "Operational", + "bands": "LTE 2600", + "notes": "Former Une-EPM; Former Emtelsa; merged with Tigo" + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "099", + "brand": "EMCALI", + "operator": "Empresas Municipales de Cali", + "status": "Operational", + "bands": "GSM 900", + "notes": "Fixed wireless" + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "100", + "brand": "Claro", + "operator": "Comunicacion Celular S.A. (Comcel)", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "101", + "brand": "Claro", + "operator": "Comunicacion Celular S.A. (Comcel)", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 1700 / LTE 2600", + "notes": "GSM to shut down Feb 2023" + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "102", + "brand": null, + "operator": "Bellsouth Colombia", + "status": "Not operational", + "bands": "GSM 850 / GSM 1900 / CDMA 850", + "notes": "MNC withdrawn; network acquired by Movistar" + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "103", + "brand": "Tigo", + "operator": "Colombia Móvil S.A. ESP", + "status": "Operational", + "bands": "UMTS 2100 / LTE 700 / LTE 1700 / LTE 2600", + "notes": "GSM shut down Nov 2022" + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "111", + "brand": "Tigo", + "operator": "Colombia Móvil S.A. ESP", + "status": "Operational", + "bands": "UMTS 2100 / LTE 700 / LTE 1700 / LTE 2600", + "notes": "GSM shut down Nov 2022" + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "123", + "brand": "Movistar", + "operator": "Colombia Telecomunicaciones S.A. ESP", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 850 / LTE 1700 / LTE 1900", + "notes": "CDMA shut down" + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "124", + "brand": "Movistar", + "operator": "Colombia Telecomunicaciones S.A. ESP", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "130", + "brand": "AVANTEL", + "operator": "Avantel S.A.S", + "status": "Operational", + "bands": "UMTS 1700 / LTE 1700", + "notes": "owned by Novator Partners; iDEN shut down in 2021" + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "142", + "brand": null, + "operator": "Une EPM Telecomunicaciones S.A. E.S.P.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "154", + "brand": "Virgin Mobile", + "operator": "Virgin Mobile Colombia S.A.S.", + "status": "Operational", + "bands": "MVNO", + "notes": "Uses Movistar" + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "165", + "brand": null, + "operator": "Colombia Móvil S.A. ESP", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "176", + "brand": null, + "operator": "DirecTV Colombia Ltda", + "status": "Operational", + "bands": "LTE 2600 / TD-5G 2600", + "notes": "Fixed wireless; acquired by Movistar" + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "187", + "brand": "eTb", + "operator": "Empresa de Telecomunicaciones de Bogotá S.A. ESP", + "status": "Operational", + "bands": "LTE 1700", + "notes": null + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "199", + "brand": null, + "operator": "SUMA Movil SAS", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "208", + "brand": null, + "operator": "UFF Movil SAS", + "status": "Not operational", + "bands": "LTE 1700", + "notes": null + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "210", + "brand": null, + "operator": "Hablame Colombia SAS ESP", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "220", + "brand": null, + "operator": "Libre Tecnologias SAS", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "230", + "brand": null, + "operator": "Setroc Mobile Group SAS", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "240", + "brand": null, + "operator": "Logistica Flash Colombia SAS", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "250", + "brand": null, + "operator": "Plintron Colombia SAS", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "360", + "brand": "WOM", + "operator": "Partners Telecom Colombia SAS", + "status": "Operational", + "bands": "LTE 700 / LTE 2600", + "notes": "owned by Novator Partners" + }, + { + "type": "National", + "countryName": "Colombia", + "countryCode": "CO", + "mcc": "732", + "mnc": "666", + "brand": "Claro", + "operator": "Comunicacion Celular S.A. (Comcel)", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Costa Rica", + "countryCode": "CR", + "mcc": "712", + "mnc": "01", + "brand": "Kölbi ICE", + "operator": "Instituto Costarricense de Electricidad", + "status": "Operational", + "bands": "GSM 1800 / UMTS 850 / LTE 1800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Costa Rica", + "countryCode": "CR", + "mcc": "712", + "mnc": "02", + "brand": "Kölbi ICE", + "operator": "Instituto Costarricense de Electricidad", + "status": "Operational", + "bands": "GSM 1800 / UMTS 850 / LTE 1800 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Costa Rica", + "countryCode": "CR", + "mcc": "712", + "mnc": "03", + "brand": "Claro", + "operator": "Claro CR Telecomunicaciones (Aló)", + "status": "Operational", + "bands": "GSM 1800 / UMTS 2100 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Costa Rica", + "countryCode": "CR", + "mcc": "712", + "mnc": "04", + "brand": "Liberty", + "operator": "Liberty Latin America", + "status": "Operational", + "bands": "GSM 1800 / UMTS 850 / UMTS 2100 / LTE 1800", + "notes": "Former Telefónica Móviles Costa Rica" + }, + { + "type": "National", + "countryName": "Costa Rica", + "countryCode": "CR", + "mcc": "712", + "mnc": "20", + "brand": "fullmóvil", + "operator": "Virtualis S.A.", + "status": "Not operational", + "bands": "MVNO", + "notes": "Closed on 6 February 2019" + }, + { + "type": "National", + "countryName": "Ecuador", + "countryCode": "EC", + "mcc": "740", + "mnc": "00", + "brand": "Movistar", + "operator": "Otecel S.A.", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / LTE 1900", + "notes": "Former BellSouth" + }, + { + "type": "National", + "countryName": "Ecuador", + "countryCode": "EC", + "mcc": "740", + "mnc": "01", + "brand": "Claro", + "operator": "CONECEL S.A.", + "status": "Operational", + "bands": "GSM 850 / UMTS 850 / UMTS 1900 / LTE 1700", + "notes": "Former Porta" + }, + { + "type": "National", + "countryName": "Ecuador", + "countryCode": "EC", + "mcc": "740", + "mnc": "02", + "brand": "CNT Mobile", + "operator": "Corporación Nacional de Telecomunicaciones (CNT EP)", + "status": "Operational", + "bands": "GSM 1900 / UMTS 1900 / LTE 1700", + "notes": "Former Alegro / Telecsa; CDMA 1900 shut down in 2014" + }, + { + "type": "National", + "countryName": "Ecuador", + "countryCode": "EC", + "mcc": "740", + "mnc": "03", + "brand": "Tuenti", + "operator": "Otecel S.A.", + "status": "Operational", + "bands": "MVNO", + "notes": "Runs on Movistar's Network" + }, + { + "type": "National", + "countryName": "El Salvador", + "countryCode": "SV", + "mcc": "706", + "mnc": "01", + "brand": "Claro", + "operator": "CTE Telecom Personal, S.A. de C.V.", + "status": "Operational", + "bands": "GSM 1900 / UMTS 1900", + "notes": "owned by América Móvil" + }, + { + "type": "National", + "countryName": "El Salvador", + "countryCode": "SV", + "mcc": "706", + "mnc": "02", + "brand": "Digicel", + "operator": "Digicel, S.A. de C.V.", + "status": "Operational", + "bands": "GSM 900 / UMTS 900", + "notes": null + }, + { + "type": "National", + "countryName": "El Salvador", + "countryCode": "SV", + "mcc": "706", + "mnc": "03", + "brand": "Tigo", + "operator": "Telemovil El Salvador S.A.", + "status": "Operational", + "bands": "GSM 850 / UMTS 850 / LTE 850 / LTE 1700", + "notes": null + }, + { + "type": "National", + "countryName": "El Salvador", + "countryCode": "SV", + "mcc": "706", + "mnc": "04", + "brand": "Movistar", + "operator": "Telefónica Móviles El Salvador", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 1900", + "notes": null + }, + { + "type": "National", + "countryName": "El Salvador", + "countryCode": "SV", + "mcc": "706", + "mnc": "05", + "brand": "RED", + "operator": "INTELFON, S.A. de C.V.", + "status": "Operational", + "bands": "iDEN", + "notes": null + }, + { + "type": "National", + "countryName": "Falkland Islands (United Kingdom)", + "countryCode": "FK", + "mcc": "750", + "mnc": "001", + "brand": "Sure", + "operator": "Sure South Atlantic Ltd.", + "status": "Operational", + "bands": "GSM 900 / LTE 1800 / WiMAX 2400 / WiMAX 3500", + "notes": "formerly Cable & Wireless Communications Touch" + }, + { + "type": "National", + "countryName": "French Guiana (France)", + "countryCode": "GF", + "mcc": "340", + "mnc": "01", + "brand": "Orange", + "operator": "Orange Caraïbe Mobiles", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600", + "notes": "French Antilles MCC" + }, + { + "type": "National", + "countryName": "French Guiana (France)", + "countryCode": "GF", + "mcc": "340", + "mnc": "02", + "brand": "SFR Caraïbe", + "operator": "Outremer Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600", + "notes": "French Antilles MCC; former Only" + }, + { + "type": "National", + "countryName": "French Guiana (France)", + "countryCode": "GF", + "mcc": "340", + "mnc": "11", + "brand": null, + "operator": "Guyane Téléphone Mobile", + "status": "Not operational", + "bands": "Unknown", + "notes": "French Antilles MCC; MNC withdrawn" + }, + { + "type": "National", + "countryName": "French Guiana (France)", + "countryCode": "GF", + "mcc": "340", + "mnc": "20", + "brand": "Digicel", + "operator": "DIGICEL Antilles Française Guyane", + "status": "Operational", + "bands": "GSM 900 / UMTS 2100 / LTE 800", + "notes": "French Antilles MCC; former Bouygues Telecom Caraïbes" + }, + { + "type": "National", + "countryName": "French Guiana (France)", + "countryCode": "GF", + "mcc": "742", + "mnc": "04", + "brand": "Free", + "operator": "Free Caraïbe", + "status": "Unknown", + "bands": "UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2100 / LTE 2600", + "notes": null + }, + { + "type": "National", + "countryName": "Guatemala", + "countryCode": "GT", + "mcc": "704", + "mnc": "01", + "brand": "Claro", + "operator": "Telecomunicaciones de Guatemala, S.A.", + "status": "Operational", + "bands": "CDMA 1900 / GSM 900 / UMTS 1900 / LTE 1900 / 5G 3500", + "notes": "former Servicios de Comunicaciones Personales Inalambricas (SERCOM)" + }, + { + "type": "National", + "countryName": "Guatemala", + "countryCode": "GT", + "mcc": "704", + "mnc": "02", + "brand": "Tigo", + "operator": "Millicom / Local partners", + "status": "Operational", + "bands": "TDMA 800 / GSM 850 / UMTS 850 / LTE 850 / 5G 3500", + "notes": "former COMCEL" + }, + { + "type": "National", + "countryName": "Guatemala", + "countryCode": "GT", + "mcc": "704", + "mnc": "03", + "brand": "Claro", + "operator": "Telecomunicaciones de Guatemala, S.A.", + "status": "Operational", + "bands": "CDMA 1900 / GSM 1900 / UMTS 1900 / LTE 1900", + "notes": "former Movistar" + }, + { + "type": "National", + "countryName": "Guatemala", + "countryCode": "GT", + "mcc": "704", + "mnc": "?", + "brand": "digicel", + "operator": "Digicel Group", + "status": "Reserved", + "bands": "GSM 900", + "notes": null + }, + { + "type": "National", + "countryName": "Guatemala", + "countryCode": "GT", + "mcc": "704", + "mnc": "?", + "brand": "RED/INTELFON", + "operator": "INTELFON Guatemala", + "status": "Operational", + "bands": "iDEN 800", + "notes": "INTELFON GUATEMALA owned by INTELFON El Salvador" + }, + { + "type": "National", + "countryName": "Guyana", + "countryCode": "GY", + "mcc": "738", + "mnc": "00", + "brand": "E-Networks", + "operator": "E-Networks Inc.", + "status": "Operational", + "bands": "WiMAX / LTE 700 / 5G", + "notes": "Fixed wireless" + }, + { + "type": "National", + "countryName": "Guyana", + "countryCode": "GY", + "mcc": "738", + "mnc": "01", + "brand": "Digicel", + "operator": "U-Mobile (Cellular) Inc.", + "status": "Operational", + "bands": "GSM 900 / UMTS 850 / LTE 700", + "notes": null + }, + { + "type": "National", + "countryName": "Guyana", + "countryCode": "GY", + "mcc": "738", + "mnc": "002", + "brand": "GT&T Cellink Plus", + "operator": "Guyana Telephone & Telegraph Co.", + "status": "Operational", + "bands": "GSM 900 / UMTS 850 / LTE 700", + "notes": "LTE band 28" + }, + { + "type": "National", + "countryName": "Guyana", + "countryCode": "GY", + "mcc": "738", + "mnc": "003", + "brand": null, + "operator": "Quark Communications Inc.", + "status": "Operational", + "bands": "TD-LTE", + "notes": null + }, + { + "type": "National", + "countryName": "Guyana", + "countryCode": "GY", + "mcc": "738", + "mnc": "040", + "brand": "E-Networks", + "operator": "E-Networks Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Guyana", + "countryCode": "GY", + "mcc": "738", + "mnc": "05", + "brand": null, + "operator": "eGovernment Unit, Ministry of the Presidency", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Honduras", + "countryCode": "HN", + "mcc": "708", + "mnc": "001", + "brand": "Claro", + "operator": "Servicios de Comunicaciones de Honduras S.A. de C.V.", + "status": "Operational", + "bands": "GSM 1900 / UMTS 1900 / LTE 1700", + "notes": null + }, + { + "type": "National", + "countryName": "Honduras", + "countryCode": "HN", + "mcc": "708", + "mnc": "002", + "brand": "Tigo", + "operator": "Celtel", + "status": "Operational", + "bands": "CDMA 850 / GSM 850 / UMTS 850 / LTE 1700", + "notes": "also uses or has used MNC 02" + }, + { + "type": "National", + "countryName": "Honduras", + "countryCode": "HN", + "mcc": "708", + "mnc": "030", + "brand": "Hondutel", + "operator": "Empresa Hondureña de Telecomunicaciones", + "status": "Operational", + "bands": "GSM 1900 / UMTS 1900", + "notes": null + }, + { + "type": "National", + "countryName": "Honduras", + "countryCode": "HN", + "mcc": "708", + "mnc": "040", + "brand": "Digicel", + "operator": "Digicel de Honduras", + "status": "Not operational", + "bands": "GSM 1900", + "notes": "Sold to Claro in 2011" + }, + { + "type": "National", + "countryName": "Nicaragua", + "countryCode": "NI", + "mcc": "710", + "mnc": "21", + "brand": "Claro", + "operator": "Empresa Nicaragüense de Telecomunicaciones, S.A. (ENITEL) (América Móvil)", + "status": "Operational", + "bands": "GSM 1900 / UMTS 850 / LTE 1700", + "notes": null + }, + { + "type": "National", + "countryName": "Nicaragua", + "countryCode": "NI", + "mcc": "710", + "mnc": "300", + "brand": "Tigo", + "operator": "Telefonía Celular de Nicaragua, S.A.", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / LTE 1900", + "notes": "Former Movistar; CDMA 800, TDMA 800, and NAMPS 800 have been shut down" + }, + { + "type": "National", + "countryName": "Nicaragua", + "countryCode": "NI", + "mcc": "710", + "mnc": "73", + "brand": "Claro", + "operator": "Servicios de Comunicaciones S.A.", + "status": "Operational", + "bands": "GSM 1900 / UMTS 850", + "notes": "Former SERCOM (Merged with ENITEL in 2004 and became Claro in 2009)" + }, + { + "type": "National", + "countryName": "Panama", + "countryCode": "PA", + "mcc": "714", + "mnc": "01", + "brand": "Cable & Wireless", + "operator": "Cable & Wireless Panama S.A.", + "status": "Operational", + "bands": "GSM 850 / UMTS 850 / LTE 700 / LTE 1900", + "notes": "LTE band 28 / 2" + }, + { + "type": "National", + "countryName": "Panama", + "countryCode": "PA", + "mcc": "714", + "mnc": "02", + "brand": "Tigo", + "operator": "Grupo de Comunicaciones Digitales, S.A.", + "status": "Operational", + "bands": "GSM 850 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 1900", + "notes": "Former Movistar, Bell South Corp. (BSC); CDMA 800, TDMA 800 and NAMPS 800 are closed." + }, + { + "type": "National", + "countryName": "Panama", + "countryCode": "PA", + "mcc": "714", + "mnc": "020", + "brand": "Tigo", + "operator": "Grupo de Comunicaciones Digitales, S.A.", + "status": "Operational", + "bands": "GSM 850 / LTE 700", + "notes": "Former Movistar" + }, + { + "type": "National", + "countryName": "Panama", + "countryCode": "PA", + "mcc": "714", + "mnc": "03", + "brand": "Claro", + "operator": "América Móvil", + "status": "Operational", + "bands": "GSM 1900 / UMTS 1900 / LTE 700 / LTE 1900", + "notes": "Being acquired by C&W; LTE bands 28 / 2" + }, + { + "type": "National", + "countryName": "Panama", + "countryCode": "PA", + "mcc": "714", + "mnc": "04", + "brand": "Digicel", + "operator": "Digicel Group", + "status": "Operational", + "bands": "GSM 1900 / UMTS 1900 / LTE 700 / LTE 1900", + "notes": "LTE bands 28 / 2" + }, + { + "type": "National", + "countryName": "Panama", + "countryCode": "PA", + "mcc": "714", + "mnc": "05", + "brand": "Cable & Wireless", + "operator": "Cable & Wireless Panama S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Paraguay", + "countryCode": "PY", + "mcc": "744", + "mnc": "01", + "brand": "VOX", + "operator": "Hola Paraguay S.A.", + "status": "Operational", + "bands": "GSM 1900 / UMTS 900 / UMTS 1900 / LTE 1700", + "notes": null + }, + { + "type": "National", + "countryName": "Paraguay", + "countryCode": "PY", + "mcc": "744", + "mnc": "02", + "brand": "Claro", + "operator": "AMX Paraguay S.A.", + "status": "Operational", + "bands": "GSM 1900 / UMTS 1900 / LTE 1700", + "notes": "Former Hutchison, Port Hable, CTI Móvil" + }, + { + "type": "National", + "countryName": "Paraguay", + "countryCode": "PY", + "mcc": "744", + "mnc": "03", + "brand": null, + "operator": "Compañia Privada de Comunicaciones S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Paraguay", + "countryCode": "PY", + "mcc": "744", + "mnc": "04", + "brand": "Tigo", + "operator": "Telefónica Celular Del Paraguay S.A. (Telecel)", + "status": "Operational", + "bands": "GSM 850 / UMTS 850 / LTE 1700", + "notes": null + }, + { + "type": "National", + "countryName": "Paraguay", + "countryCode": "PY", + "mcc": "744", + "mnc": "05", + "brand": "Personal", + "operator": "Núcleo S.A. (TIM)", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 1900", + "notes": null + }, + { + "type": "National", + "countryName": "Paraguay", + "countryCode": "PY", + "mcc": "744", + "mnc": "06", + "brand": "Copaco", + "operator": "Copaco S.A.", + "status": "Operational", + "bands": "GSM 1800 / LTE 1700", + "notes": null + }, + { + "type": "National", + "countryName": "Peru", + "countryCode": "PE", + "mcc": "716", + "mnc": "06", + "brand": "Movistar", + "operator": "Telefónica del Perú S.A.A.", + "status": "Operational", + "bands": "CDMA2000 850 / GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700", + "notes": null + }, + { + "type": "National", + "countryName": "Peru", + "countryCode": "PE", + "mcc": "716", + "mnc": "07", + "brand": "Entel", + "operator": "Entel Perú S.A.", + "status": "Operational", + "bands": "iDEN", + "notes": "Former Nextel" + }, + { + "type": "National", + "countryName": "Peru", + "countryCode": "PE", + "mcc": "716", + "mnc": "10", + "brand": "Claro", + "operator": "América Móvil Perú", + "status": "Operational", + "bands": "GSM 1900 / UMTS 850 / LTE 700 / LTE 1900 / TD-LTE 3500 / 5G 3500 / 5G 39000", + "notes": "Former TIM" + }, + { + "type": "National", + "countryName": "Peru", + "countryCode": "PE", + "mcc": "716", + "mnc": "15", + "brand": "Bitel", + "operator": "Viettel Peru S.A.C.", + "status": "Operational", + "bands": "GSM 1900 / UMTS 1900 / LTE 900", + "notes": null + }, + { + "type": "National", + "countryName": "Peru", + "countryCode": "PE", + "mcc": "716", + "mnc": "17", + "brand": "Entel", + "operator": "Entel Perú S.A.", + "status": "Operational", + "bands": "UMTS 1900 / LTE 1700 / TD-LTE 2300 / 5G 3500", + "notes": "Former Nextel" + }, + { + "type": "National", + "countryName": "Suriname", + "countryCode": "SR", + "mcc": "746", + "mnc": "02", + "brand": "Telesur", + "operator": "Telecommunications Company Suriname (Telesur)", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 1800 / 5G 3700", + "notes": "LTE bands 28, 3" + }, + { + "type": "National", + "countryName": "Suriname", + "countryCode": "SR", + "mcc": "746", + "mnc": "03", + "brand": "Digicel", + "operator": "Digicel Group Limited", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 850 / LTE 1800", + "notes": null + }, + { + "type": "National", + "countryName": "Suriname", + "countryCode": "SR", + "mcc": "746", + "mnc": "04", + "brand": "Digicel", + "operator": "Digicel Group Limited", + "status": "Not operational", + "bands": "GSM 900 / UMTS", + "notes": "Former Uniqa (Intelsur N.V. / UTS N.V.); MNC withdrawn" + }, + { + "type": "National", + "countryName": "Suriname", + "countryCode": "SR", + "mcc": "746", + "mnc": "05", + "brand": "Telesur", + "operator": "Telecommunications Company Suriname (Telesur)", + "status": "Unknown", + "bands": "CDMA 450", + "notes": null + }, + { + "type": "National", + "countryName": "Uruguay", + "countryCode": "UY", + "mcc": "748", + "mnc": "00", + "brand": "Antel", + "operator": "Administración Nacional de Telecomunicaciones", + "status": "Not operational", + "bands": "TDMA", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Uruguay", + "countryCode": "UY", + "mcc": "748", + "mnc": "01", + "brand": "Antel", + "operator": "Administración Nacional de Telecomunicaciones", + "status": "Operational", + "bands": "GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1700 / 5G 28000", + "notes": "Former brand Ancel; LTE bands 28 / 4" + }, + { + "type": "National", + "countryName": "Uruguay", + "countryCode": "UY", + "mcc": "748", + "mnc": "03", + "brand": "Antel", + "operator": "Administración Nacional de Telecomunicaciones", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "National", + "countryName": "Uruguay", + "countryCode": "UY", + "mcc": "748", + "mnc": "07", + "brand": "Movistar", + "operator": "Telefónica Móviles Uruguay", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 850 / LTE 1900", + "notes": "Former Movicom" + }, + { + "type": "National", + "countryName": "Uruguay", + "countryCode": "UY", + "mcc": "748", + "mnc": "10", + "brand": "Claro", + "operator": "AM Wireless Uruguay S.A.", + "status": "Operational", + "bands": "GSM 1900 / UMTS 1900 / LTE 1700", + "notes": "Former CTI Móvil" + }, + { + "type": "National", + "countryName": "Uruguay", + "countryCode": "UY", + "mcc": "748", + "mnc": "15", + "brand": null, + "operator": "ENALUR S.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "National", + "countryName": "Venezuela", + "countryCode": "VE", + "mcc": "734", + "mnc": "01", + "brand": "Digitel", + "operator": "Corporacion Digitel C.A.", + "status": "Not operational", + "bands": "GSM 900", + "notes": "Formerly INFONET" + }, + { + "type": "National", + "countryName": "Venezuela", + "countryCode": "VE", + "mcc": "734", + "mnc": "02", + "brand": "Digitel GSM", + "operator": "Corporacion Digitel C.A.", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 900 / LTE 1800", + "notes": "DIGITEL-DIGICEL-INFONET Merger" + }, + { + "type": "National", + "countryName": "Venezuela", + "countryCode": "VE", + "mcc": "734", + "mnc": "03", + "brand": "DirecTV", + "operator": "Galaxy Entertainment de Venezuela C.A.", + "status": "Unknown", + "bands": "LTE 2600", + "notes": "Formerly DIGICEL" + }, + { + "type": "National", + "countryName": "Venezuela", + "countryCode": "VE", + "mcc": "734", + "mnc": "04", + "brand": "Movistar", + "operator": "Telefónica Móviles Venezuela", + "status": "Operational", + "bands": "GSM 850 / GSM 1900 / UMTS 1900 / LTE 1700", + "notes": "CDMA 850 shut down March 2014" + }, + { + "type": "National", + "countryName": "Venezuela", + "countryCode": "VE", + "mcc": "734", + "mnc": "06", + "brand": "Movilnet", + "operator": "Telecomunicaciones Movilnet", + "status": "Operational", + "bands": "GSM 850 / UMTS 1900 / LTE 1700", + "notes": "CDMA 850 shut down Oct 2020" + }, + { + "type": "Test", + "countryName": null, + "countryCode": null, + "mcc": "001", + "mnc": "01", + "brand": "TEST", + "operator": "Test network", + "status": "Operational", + "bands": "any", + "notes": null + }, + { + "type": "Test", + "countryName": null, + "countryCode": null, + "mcc": "001", + "mnc": "001", + "brand": "TEST", + "operator": "Test network", + "status": "Operational", + "bands": "any", + "notes": null + }, + { + "type": "Test", + "countryName": null, + "countryCode": null, + "mcc": "999", + "mnc": "99", + "brand": null, + "operator": "Internal use", + "status": "Operational", + "bands": "any", + "notes": "Internal use in private networks, no roaming" + }, + { + "type": "Test", + "countryName": null, + "countryCode": null, + "mcc": "999", + "mnc": "999", + "brand": null, + "operator": "Internal use", + "status": "Operational", + "bands": "any", + "notes": "Internal use in private networks, no roaming" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "01", + "brand": "ICO", + "operator": "ICO Satellite Management", + "status": "Not operational", + "bands": "Satellite", + "notes": "MNC withdrawn" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "02", + "brand": null, + "operator": "Unassigned", + "status": "Returned spare", + "bands": "Unknown", + "notes": "Formerly: Sense Communications International" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "03", + "brand": "Iridium", + "operator": null, + "status": "Operational", + "bands": "Satellite", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "04", + "brand": null, + "operator": "Unassigned", + "status": "Returned spare", + "bands": "Satellite", + "notes": "Formerly: Globalstar" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "05", + "brand": null, + "operator": "Thuraya RMSS Network", + "status": "Operational", + "bands": "Satellite", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "06", + "brand": null, + "operator": "Thuraya Satellite Telecommunications Company", + "status": "Operational", + "bands": "Satellite", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "07", + "brand": null, + "operator": "Unassigned", + "status": "Returned spare", + "bands": "Unknown", + "notes": "Formerly: Ellipso" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "08", + "brand": null, + "operator": "Unassigned", + "status": "Returned spare", + "bands": "Unknown", + "notes": "Formerly: GSM, reserved for station identification where the mobile does not have a subscription IMSI" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "09", + "brand": null, + "operator": "Unassigned", + "status": "Returned spare", + "bands": "Unknown", + "notes": "Formerly: Tele1 Europe" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "10", + "brand": "ACeS", + "operator": null, + "status": "Not operational", + "bands": "Satellite", + "notes": "MNC withdrawn" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "11", + "brand": "Inmarsat", + "operator": null, + "status": "Operational", + "bands": "Satellite", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "12", + "brand": "Telenor", + "operator": "Telenor Maritime AS", + "status": "Operational", + "bands": "GSM 1800 / LTE 800", + "notes": "Maritime; formerly Maritime Communications Partner (MCP)" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "13", + "brand": "GSM.AQ", + "operator": "BebbiCell AG", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Antarctica +88234 Network; formerly Global Networks Switzerland Inc.; MNC withdrawn" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "14", + "brand": "AeroMobile", + "operator": "AeroMobile AS", + "status": "Operational", + "bands": "GSM 1800", + "notes": "Air" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "15", + "brand": "OnAir", + "operator": "OnAir Switzerland Sarl", + "status": "Operational", + "bands": "GSM 1800", + "notes": "Air" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "16", + "brand": "Cisco Jasper", + "operator": "Cisco Systems, Inc.", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "17", + "brand": "Navitas", + "operator": "JT Group Limited", + "status": "Not operational", + "bands": "GSM 1800", + "notes": "Maritime; shut down in 2009" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "18", + "brand": "Cellular at Sea", + "operator": "AT&T Mobility", + "status": "Operational", + "bands": "GSM 900 / GSM 1900 / CDMA2000 1900 / UMTS 1900 / LTE 700", + "notes": "Maritime" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "19", + "brand": "Epic Maritime", + "operator": "Monaco Telecom", + "status": "Operational", + "bands": "GSM 900 / GSM 1800 / UMTS 2100", + "notes": "Maritime" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "20", + "brand": null, + "operator": "Intermatica", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "21", + "brand": null, + "operator": "Wins Limited", + "status": "Operational", + "bands": "GSM 1800", + "notes": "Maritime; formerly Seanet Maritime Communications" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "22", + "brand": null, + "operator": "MediaLincc Ltd", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "23", + "brand": null, + "operator": "Unassigned", + "status": "Returned spare", + "bands": "Unknown", + "notes": "Formerly: Beeline" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "24", + "brand": "iNum", + "operator": "Voxbone", + "status": "Unknown", + "bands": "Unknown", + "notes": "+883 iNum" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "25", + "brand": null, + "operator": "Unassigned", + "status": "Returned spare", + "bands": "Unknown", + "notes": "Formerly: In & phone" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "26", + "brand": "TIM@sea", + "operator": "Telecom Italia Mobile", + "status": "Operational", + "bands": "GSM 1800 / GSM 1900", + "notes": "Maritime" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "27", + "brand": "OnMarine", + "operator": "Monaco Telecom", + "status": "Operational", + "bands": "GSM 1800", + "notes": "Maritime" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "28", + "brand": "Vodafone", + "operator": "GDSP (Vodafone's Global Data Service Platform)", + "status": "Operational", + "bands": "Roaming SIM", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "29", + "brand": "Telenor", + "operator": null, + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "30", + "brand": null, + "operator": "Unassigned", + "status": "Returned spare", + "bands": "Unknown", + "notes": "Formerly: Terrestar Networks" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "31", + "brand": "Orange", + "operator": "Orange S.A.", + "status": "Operational", + "bands": "GSM 900", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "32", + "brand": "Sky High", + "operator": "MegaFon", + "status": "Not operational", + "bands": "GSM 900", + "notes": "Air (Aeroflot); MNC withdrawn" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "33", + "brand": null, + "operator": "Smart Communications", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "34", + "brand": null, + "operator": "tyntec GmbH", + "status": "Unknown", + "bands": "MVNO", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "35", + "brand": null, + "operator": "Globecomm Network Services", + "status": "Operational", + "bands": "GSM 850", + "notes": "Maritime" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "36", + "brand": null, + "operator": "Azerfon", + "status": "Operational", + "bands": "GSM 1800", + "notes": "Air" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "37", + "brand": null, + "operator": "Transatel", + "status": "Operational", + "bands": "MVNO", + "notes": "Global SIM for Data Mobile Broadband and M2M" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "38", + "brand": null, + "operator": "Multiregional TransitTelecom (MTT)", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "39", + "brand": null, + "operator": "MTX Connect Ltd", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "40", + "brand": "1NCE", + "operator": "Deutsche Telekom AG", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "41", + "brand": null, + "operator": "One Network B.V.", + "status": "Operational", + "bands": "MVNO", + "notes": "Former BodyTrace Netherlands B.V." + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "42", + "brand": null, + "operator": "IMC Island Ehf", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former DCN Hub ehf; MNC withdrawn" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "43", + "brand": null, + "operator": "EMnify GmbH", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "44", + "brand": null, + "operator": "AT&T Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "45", + "brand": null, + "operator": "Advanced Wireless Network Company Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": "subsidiary of Advanced Info Service" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "46", + "brand": null, + "operator": "Telecom26 AG", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "47", + "brand": null, + "operator": "Ooredoo", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "48", + "brand": "Com4", + "operator": "Communication for Devices in Sweden AB", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "49", + "brand": "Zain", + "operator": "Mobile Telecommunications Company K.S.C.P.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "50", + "brand": null, + "operator": "EchoStar Mobile", + "status": "Unknown", + "bands": "Satellite", + "notes": "Also listed as Sawatch Limited" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "51", + "brand": null, + "operator": "VisionNG", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "52", + "brand": null, + "operator": "Manx Telecom Trading Ltd.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "53", + "brand": "European Aviation Network", + "operator": "Inmarsat Ltd.", + "status": "Operational", + "bands": "LTE 2100", + "notes": "Former Deutsche Telekom; LTE band 65; ground-based network for aircraft" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "54", + "brand": null, + "operator": "Teleena Holding B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "55", + "brand": null, + "operator": "Beezz Communication Solutions Ltd.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "56", + "brand": "ETSI", + "operator": "European Telecommunications Standards Institute", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "57", + "brand": null, + "operator": "SAP", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "58", + "brand": "BICS", + "operator": "Belgacom ICS SA", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "59", + "brand": null, + "operator": "MessageBird B.V.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "60", + "brand": null, + "operator": "OneWeb", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "61", + "brand": null, + "operator": "MTN Management Services", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "62", + "brand": null, + "operator": "Twilio Inc.", + "status": "Operational", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "63", + "brand": null, + "operator": "GloTel B.V.", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdawn" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "64", + "brand": null, + "operator": "Syniverse Technologies, LLC", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "65", + "brand": null, + "operator": "Plintron Global Technology Solutions Pty Ltd", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "66", + "brand": null, + "operator": "Limitless Mobile LLC", + "status": "Operational", + "bands": "LTE", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "67", + "brand": null, + "operator": "1NCE GmbH", + "status": "Operational", + "bands": "MVNO", + "notes": "IoT solutions" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "68", + "brand": null, + "operator": "Maersk Line A/S", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "69", + "brand": null, + "operator": "Legos", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "70", + "brand": null, + "operator": "Clementvale Baltic OÜ", + "status": "Not operational", + "bands": "MVNO", + "notes": "MNC withdrawn" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "71", + "brand": null, + "operator": "Tampnet AS", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "72", + "brand": null, + "operator": "Tele2 Sverige Aktiebolag", + "status": "Unknown", + "bands": "Unknown", + "notes": "Former Tele2 IoT" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "73", + "brand": null, + "operator": "Cubic Telecom Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "74", + "brand": null, + "operator": "Etisalat", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "75", + "brand": null, + "operator": "Podsystem Ltd.", + "status": "Operational", + "bands": "MVNO", + "notes": "IoT solutions" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "76", + "brand": null, + "operator": "A1 Telekom Austria AG", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "77", + "brand": null, + "operator": "Bouygues Telecom", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "78", + "brand": null, + "operator": "Telecom Italia Sparkle S.p.A.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "79", + "brand": null, + "operator": "Nokia Corporation", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "80", + "brand": null, + "operator": "Flo Live Limited", + "status": "Unknown", + "bands": "MVNO", + "notes": "IoT solutions" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "81", + "brand": null, + "operator": "Airnity SAS", + "status": "Unknown", + "bands": "MVNO", + "notes": "IoT solutions" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "82", + "brand": null, + "operator": "Eseye Limited", + "status": "Unknown", + "bands": "MVNO", + "notes": "IoT solutions" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "83", + "brand": null, + "operator": "iBasis Netherlands BV", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "84", + "brand": null, + "operator": "Telefónica Móviles España, S.A. Unipersonal", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "85", + "brand": null, + "operator": "Telefónica Germany GmbH & Co. OHG", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "86", + "brand": null, + "operator": "BJT Partners SAS", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "87", + "brand": null, + "operator": "Cisco Systems, Inc.", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "88", + "brand": null, + "operator": "UN Office for the Coordination of Humanitarian Affairs (OCHA)", + "status": "Not operational", + "bands": "Unknown", + "notes": "MNC withdrawn" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "89", + "brand": null, + "operator": "DIDWW Ireland Limited", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "90", + "brand": null, + "operator": "Truphone Limited", + "status": "Operational", + "bands": "MVNO", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "91", + "brand": null, + "operator": "World Mobile Group Limited", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "92", + "brand": null, + "operator": "Phonegroup SA", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "93", + "brand": null, + "operator": "SkyFive AG", + "status": "Unknown", + "bands": "Unknown", + "notes": "split off from Nokia; ground-based networks for aircraft" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "94", + "brand": null, + "operator": "Intelsat US LLC", + "status": "Unknown", + "bands": "Satellite", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "95", + "brand": null, + "operator": "HMD Global Oy", + "status": "Unknown", + "bands": "Unknown", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "96", + "brand": null, + "operator": "KORE Wireless", + "status": "Unknown", + "bands": "Unknown", + "notes": "IoT solutions" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "901", + "mnc": "97", + "brand": null, + "operator": "Satelio IoT Services S.L.", + "status": "Unknown", + "bands": "Satellite", + "notes": "IoT solutions" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "902", + "mnc": "01", + "brand": null, + "operator": "MulteFire Alliance", + "status": "Operational", + "bands": "LTE", + "notes": null + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "991", + "mnc": "01", + "brand": null, + "operator": "World's Global Telecom", + "status": "Not operational", + "bands": "Unknown", + "notes": "temporarily assigned until 15 January 2021" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "991", + "mnc": "02", + "brand": "5G Croco", + "operator": "Orange S.A.", + "status": "Not operational", + "bands": "5G", + "notes": "temporarily assigned until 6 August 2022" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "991", + "mnc": "03", + "brand": null, + "operator": "Halys SAS", + "status": "Not operational", + "bands": "Unknown", + "notes": "temporary assignment for trial until 5 April 2022; MNC withdrawn" + }, + { + "type": "International", + "countryName": null, + "countryCode": null, + "mcc": "995", + "mnc": "01", + "brand": "FonePlus", + "operator": "Sure (Diego Garcia) Ltd", + "status": "Operational", + "bands": "GSM 900", + "notes": "There appears to be no officially assigned MCC" + } +] \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/services/log_signal_metrics.sh b/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/services/log_signal_metrics.sh index 631e69a..7b8cbd1 100755 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/services/log_signal_metrics.sh +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/services/log_signal_metrics.sh @@ -4,35 +4,13 @@ LOGDIR="/www/signal_graphs" MAX_ENTRIES=10 INTERVAL=60 QUEUE_FILE="/tmp/at_pipe.txt" -FETCH_LOCK_KEYWORD="FETCH_LOCK" -CELL_SCAN_KEYWORD="CELL_SCAN" # Added to check for cell scan +AT_COMMAND_KEYWORD="AT_COMMAND_LOCK" +CELL_SCAN_KEYWORD="CELL_SCAN" # Added to check for cell scan PAUSE_FILE="/tmp/signal_logging.pause" # Ensure the directory exists mkdir -p "$LOGDIR" -# Check for stale entries and clean them -check_and_clean_stale() { - local command_type="$1" - local wait_count=0 - - while [ $wait_count -lt 6 ]; do - # Check if our type of entry exists - if grep -q "\"command\":\"${command_type}\"" "$QUEUE_FILE"; then - sleep 1 - wait_count=$((wait_count + 1)) - else - # Entry is gone, we can proceed - return 0 - fi - done - - # If we get here, entry is stale - remove it - logger -t signal_metrics "Removing stale ${command_type} entry after ${wait_count}s" - sed -i "/\"command\":\"${command_type}\"/d" "$QUEUE_FILE" - return 0 -} - # Wait for high-priority operations wait_for_high_priority() { while grep -q "\"priority\":\"high\"" "$QUEUE_FILE"; do @@ -41,49 +19,77 @@ wait_for_high_priority() { done } -# Simplified lock handling with priority awareness +# Enhanced lock handling with better priority awareness handle_lock() { - # Wait for any high-priority operations first - wait_for_high_priority - - # Check and clean any FETCH_LOCK entries + # Check for any CGI script operations (high priority) + while grep -q "\"priority\":\"high\"" "$QUEUE_FILE" || + grep -q "\"command\":\"$AT_COMMAND_KEYWORD\"" "$QUEUE_FILE"; do + logger -t signal_metrics "Waiting for high-priority CGI operation to complete" + sleep 2 + done + + # Check and clean any stale FETCH_LOCK entries check_and_clean_stale "FETCH_LOCK" - + # Check for cell scan operations while grep -q "\"command\":\"$CELL_SCAN_KEYWORD\"" "$QUEUE_FILE"; do logger -t signal_metrics "Waiting for cell scan to complete" sleep 1 done - + # Add our low-priority entry printf '{"command":"AT_COMMAND","pid":"%s","timestamp":"%s","priority":"low"}\n' \ "$$" \ "$(date '+%H:%M:%S')" >>"$QUEUE_FILE" - + # Then check and clean our own entry if it gets stuck check_and_clean_stale "AT_COMMAND" } +# Increase the wait time for stale entry checking +check_and_clean_stale() { + local command_type="$1" + local wait_count=0 + + while [ $wait_count -lt 10 ]; do # Increased from 6 to 10 + # Check if our type of entry exists + if grep -q "\"command\":\"${command_type}\"" "$QUEUE_FILE"; then + sleep 2 # Increased from 1 to 2 + wait_count=$((wait_count + 1)) + else + # Entry is gone, we can proceed + return 0 + fi + done + + # Only clean low-priority entries + if ! grep -q "\"priority\":\"high\".*\"command\":\"${command_type}\"" "$QUEUE_FILE"; then + logger -t signal_metrics "Removing stale ${command_type} entry after ${wait_count}s" + sed -i "/\"command\":\"${command_type}\"/d" "$QUEUE_FILE" + fi + return 0 +} + # Clean output function clean_output() { local output="" read -r line - + while read -r line; do case "$line" in - "OK" | "") - continue - ;; - *) - if [ -n "$output" ]; then - output="$output\\n$line" - else - output="$line" - fi - ;; + "OK" | "") + continue + ;; + *) + if [ -n "$output" ]; then + output="$output\\n$line" + else + output="$line" + fi + ;; esac done - + echo "$output" } @@ -92,25 +98,54 @@ execute_at_command() { local COMMAND="$1" handle_lock local OUTPUT=$(sms_tool at "$COMMAND" -t 4 2>/dev/null | clean_output) - sed -i "/\"pid\":\"$$\"/d" "$QUEUE_FILE" # Remove our entry + sed -i "/\"pid\":\"$$\"/d" "$QUEUE_FILE" # Remove our entry echo "$OUTPUT" } -# Log signal metric +# Log signal metric with response validation log_signal_metric() { [ -f "$PAUSE_FILE" ] && return - + local COMMAND="$1" local FILENAME="$2" + local EXPECTED_RESPONSE="$3" # New parameter for expected response content local LOGFILE="$LOGDIR/$FILENAME" - + mkdir -p "$(dirname "$LOGFILE")" - + local TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S") local SIGNAL_OUTPUT=$(execute_at_command "$COMMAND") - + + # Validate response based on command type + case "$COMMAND" in + "AT+QRSRP") + if ! echo "$SIGNAL_OUTPUT" | grep -q "QRSRP"; then + logger -t signal_metrics "Invalid RSRP response: $SIGNAL_OUTPUT" + return 1 + fi + ;; + "AT+QRSRQ") + if ! echo "$SIGNAL_OUTPUT" | grep -q "QRSRQ"; then + logger -t signal_metrics "Invalid RSRQ response: $SIGNAL_OUTPUT" + return 1 + fi + ;; + "AT+QSINR") + if ! echo "$SIGNAL_OUTPUT" | grep -q "QSINR"; then + logger -t signal_metrics "Invalid SINR response: $SIGNAL_OUTPUT" + return 1 + fi + ;; + "AT+QGDCNT?;+QGDNRCNT?") + if ! echo "$SIGNAL_OUTPUT" | grep -q "QGDCNT\|QGDNRCNT"; then + logger -t signal_metrics "Invalid data usage response: $SIGNAL_OUTPUT" + return 1 + fi + ;; + esac + [ ! -s "$LOGFILE" ] && echo "[]" >"$LOGFILE" - + if [ -n "$SIGNAL_OUTPUT" ]; then local TEMP_FILE="${LOGFILE}.tmp.$$" if jq --arg dt "$TIMESTAMP" \ @@ -129,9 +164,9 @@ log_signal_metric() { start_continuous_logging() { sleep 20 logger -t signal_metrics "Starting continuous signal metrics logging (PID: $$)" - + trap 'logger -t signal_metrics "Stopping signal metrics logging"; exit 0' INT TERM - + while true; do if [ ! -f "$PAUSE_FILE" ]; then log_signal_metric "AT+QRSRP" "rsrp.json" diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/about/index.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/about/index.html index 89beb1c..033b79f 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/about/index.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/about/index.html @@ -1 +1 @@ -QuecManager
            \ No newline at end of file +QuecManager
              \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/about/index.txt b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/about/index.txt index 306d4c2..aef9a4c 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/about/index.txt +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/about/index.txt @@ -1,19 +1,19 @@ 1:"$Sreact.fragment" -2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"ThemeProvider"] -3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"TooltipProvider"] +2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"ThemeProvider"] +3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"TooltipProvider"] 4:I[24900,[],""] 5:I[81570,[],""] -6:I[50549,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"Toaster"] +6:I[75276,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"Toaster"] 7:I[92907,[],"ClientSegmentRoot"] -8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-11581a3891db54ea.js"],"default"] +8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-a708c25c977af81c.js"],"default"] a:I[5329,[],"ClientPageRoot"] -b:I[51228,["4736","static/chunks/4736-b61b84f269198c39.js","4568","static/chunks/4568-33274c67a634d54a.js","6655","static/chunks/app/dashboard/about/page-ecec7a19047beef4.js"],"default"] +b:I[51228,["7780","static/chunks/7780-304b82dcfd6e5323.js","4568","static/chunks/4568-33274c67a634d54a.js","6655","static/chunks/app/dashboard/about/page-114fb5f8ed454b46.js"],"default"] e:I[99165,[],"OutletBoundary"] 10:I[99165,[],"MetadataBoundary"] 12:I[99165,[],"ViewportBoundary"] 14:I[25339,[],""] -:HL["/_next/static/css/74a671bf56ae0dbc.css","style"] -0:{"P":null,"b":"hkNnMMC0smyMu5lUd-eZB","p":"","c":["","dashboard","about",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["about",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/74a671bf56ae0dbc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["about",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","about","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$La",null,{"Component":"$b","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@c","$@d"]}],null,["$","$Le",null,{"children":"$Lf"}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","F0VYjEC97ZT79LSlas5fX",{"children":[["$","$L10",null,{"children":"$L11"}],["$","$L12",null,{"children":"$L13"}],null]}]]}],false]],"m":"$undefined","G":["$14","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/680c259ec95ef0da.css","style"] +0:{"P":null,"b":"dmkvmAv8teF6nyAn--0Zz","p":"","c":["","dashboard","about",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["about",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/680c259ec95ef0da.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["about",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","about","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$La",null,{"Component":"$b","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@c","$@d"]}],null,["$","$Le",null,{"children":"$Lf"}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","hq4aRQkSHISl3RAQTiWVt",{"children":[["$","$L10",null,{"children":"$L11"}],["$","$L12",null,{"children":"$L13"}],null]}]]}],false]],"m":"$undefined","G":["$14","$undefined"],"s":false,"S":true} 9:{} c:{} d:{} diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/at-terminal/index.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/at-terminal/index.html index 6c48957..301e4ea 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/at-terminal/index.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/at-terminal/index.html @@ -1 +1 @@ -QuecManager
                \ No newline at end of file +QuecManager
                  \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/at-terminal/index.txt b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/at-terminal/index.txt index 153589b..7b92145 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/at-terminal/index.txt +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/at-terminal/index.txt @@ -1,20 +1,20 @@ 1:"$Sreact.fragment" -2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"ThemeProvider"] -3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"TooltipProvider"] +2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"ThemeProvider"] +3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"TooltipProvider"] 4:I[24900,[],""] 5:I[81570,[],""] -6:I[50549,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"Toaster"] +6:I[75276,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"Toaster"] 7:I[92907,[],"ClientSegmentRoot"] -8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-11581a3891db54ea.js"],"default"] +8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-a708c25c977af81c.js"],"default"] a:I[74627,["9477","static/chunks/9477-215fa25b7251af44.js","4277","static/chunks/app/dashboard/advanced-settings/layout-e0d745ff6aef0894.js"],"default"] c:I[5329,[],"ClientPageRoot"] -d:I[92040,["4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","1827","static/chunks/1827-82545ba38805ede6.js","4568","static/chunks/4568-33274c67a634d54a.js","8757","static/chunks/app/dashboard/advanced-settings/at-terminal/page-b34e8f8b31c1e065.js"],"default"] +d:I[92040,["7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","5011","static/chunks/5011-c111b606b30e72ad.js","1827","static/chunks/1827-82545ba38805ede6.js","4568","static/chunks/4568-33274c67a634d54a.js","8757","static/chunks/app/dashboard/advanced-settings/at-terminal/page-8618c3ffd2ddeae5.js"],"default"] 10:I[99165,[],"OutletBoundary"] 12:I[99165,[],"MetadataBoundary"] 14:I[99165,[],"ViewportBoundary"] 16:I[25339,[],""] -:HL["/_next/static/css/74a671bf56ae0dbc.css","style"] -0:{"P":null,"b":"hkNnMMC0smyMu5lUd-eZB","p":"","c":["","dashboard","advanced-settings","at-terminal",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["advanced-settings",{"children":["at-terminal",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/74a671bf56ae0dbc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["advanced-settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","advanced-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["at-terminal",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","advanced-settings","children","at-terminal","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","FyjI3VYdu9Nw4aiZuAK54",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/680c259ec95ef0da.css","style"] +0:{"P":null,"b":"dmkvmAv8teF6nyAn--0Zz","p":"","c":["","dashboard","advanced-settings","at-terminal",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["advanced-settings",{"children":["at-terminal",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/680c259ec95ef0da.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["advanced-settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","advanced-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["at-terminal",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","advanced-settings","children","at-terminal","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","hUvTrtYnQ1mh0UE9teEJ9",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} 9:{} b:{} e:{} diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/connectivity/index.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/connectivity/index.html index 0ce5587..8b98c69 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/connectivity/index.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/connectivity/index.html @@ -1 +1 @@ -QuecManager
                    \ No newline at end of file +QuecManager
                      \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/connectivity/index.txt b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/connectivity/index.txt index 56102e6..407d45f 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/connectivity/index.txt +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/connectivity/index.txt @@ -1,20 +1,20 @@ 1:"$Sreact.fragment" -2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"ThemeProvider"] -3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"TooltipProvider"] +2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"ThemeProvider"] +3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"TooltipProvider"] 4:I[24900,[],""] 5:I[81570,[],""] -6:I[50549,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"Toaster"] +6:I[75276,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"Toaster"] 7:I[92907,[],"ClientSegmentRoot"] -8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-11581a3891db54ea.js"],"default"] +8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-a708c25c977af81c.js"],"default"] a:I[74627,["9477","static/chunks/9477-215fa25b7251af44.js","4277","static/chunks/app/dashboard/advanced-settings/layout-e0d745ff6aef0894.js"],"default"] c:I[5329,[],"ClientPageRoot"] -d:I[39966,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","1827","static/chunks/1827-82545ba38805ede6.js","1457","static/chunks/1457-e5968d4919dfc217.js","9548","static/chunks/app/dashboard/advanced-settings/connectivity/page-70025bfd8906b24c.js"],"default"] +d:I[39966,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","1827","static/chunks/1827-82545ba38805ede6.js","1457","static/chunks/1457-e5968d4919dfc217.js","9548","static/chunks/app/dashboard/advanced-settings/connectivity/page-475a0eaec49bdb58.js"],"default"] 10:I[99165,[],"OutletBoundary"] 12:I[99165,[],"MetadataBoundary"] 14:I[99165,[],"ViewportBoundary"] 16:I[25339,[],""] -:HL["/_next/static/css/74a671bf56ae0dbc.css","style"] -0:{"P":null,"b":"hkNnMMC0smyMu5lUd-eZB","p":"","c":["","dashboard","advanced-settings","connectivity",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["advanced-settings",{"children":["connectivity",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/74a671bf56ae0dbc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["advanced-settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","advanced-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["connectivity",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","advanced-settings","children","connectivity","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","w5_ySLe9abTC0lAgLKBMo",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/680c259ec95ef0da.css","style"] +0:{"P":null,"b":"dmkvmAv8teF6nyAn--0Zz","p":"","c":["","dashboard","advanced-settings","connectivity",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["advanced-settings",{"children":["connectivity",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/680c259ec95ef0da.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["advanced-settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","advanced-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["connectivity",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","advanced-settings","children","connectivity","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","w1yVxgFKyiClEAlGDWyJL",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} 9:{} b:{} e:{} diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/mtu/index.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/mtu/index.html index f953bac..a2ccac1 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/mtu/index.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/mtu/index.html @@ -1 +1 @@ -QuecManager
                        \ No newline at end of file +QuecManager
                          \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/mtu/index.txt b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/mtu/index.txt index 2967492..b15d30d 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/mtu/index.txt +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/mtu/index.txt @@ -1,20 +1,20 @@ 1:"$Sreact.fragment" -2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"ThemeProvider"] -3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"TooltipProvider"] +2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"ThemeProvider"] +3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"TooltipProvider"] 4:I[24900,[],""] 5:I[81570,[],""] -6:I[50549,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"Toaster"] +6:I[75276,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"Toaster"] 7:I[92907,[],"ClientSegmentRoot"] -8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-11581a3891db54ea.js"],"default"] +8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-a708c25c977af81c.js"],"default"] a:I[74627,["9477","static/chunks/9477-215fa25b7251af44.js","4277","static/chunks/app/dashboard/advanced-settings/layout-e0d745ff6aef0894.js"],"default"] c:I[5329,[],"ClientPageRoot"] -d:I[34819,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","3669","static/chunks/app/dashboard/advanced-settings/mtu/page-edcbbadfb69c74bf.js"],"default"] +d:I[34819,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","3669","static/chunks/app/dashboard/advanced-settings/mtu/page-f979cfa999844875.js"],"default"] 10:I[99165,[],"OutletBoundary"] 12:I[99165,[],"MetadataBoundary"] 14:I[99165,[],"ViewportBoundary"] 16:I[25339,[],""] -:HL["/_next/static/css/74a671bf56ae0dbc.css","style"] -0:{"P":null,"b":"hkNnMMC0smyMu5lUd-eZB","p":"","c":["","dashboard","advanced-settings","mtu",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["advanced-settings",{"children":["mtu",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/74a671bf56ae0dbc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["advanced-settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","advanced-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["mtu",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","advanced-settings","children","mtu","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","ynUAH8Oz6pqn38obi5clD",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/680c259ec95ef0da.css","style"] +0:{"P":null,"b":"dmkvmAv8teF6nyAn--0Zz","p":"","c":["","dashboard","advanced-settings","mtu",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["advanced-settings",{"children":["mtu",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/680c259ec95ef0da.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["advanced-settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","advanced-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["mtu",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","advanced-settings","children","mtu","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","bWBavQAIEmZjvnejrVb2Y",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} 9:{} b:{} e:{} diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/ttl-settings/index.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/ttl-settings/index.html index ce624a8..842530f 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/ttl-settings/index.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/ttl-settings/index.html @@ -1 +1 @@ -QuecManager
                            \ No newline at end of file +QuecManager
                              \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/ttl-settings/index.txt b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/ttl-settings/index.txt index 40170a7..1f13eac 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/ttl-settings/index.txt +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/advanced-settings/ttl-settings/index.txt @@ -1,20 +1,20 @@ 1:"$Sreact.fragment" -2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"ThemeProvider"] -3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"TooltipProvider"] +2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"ThemeProvider"] +3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"TooltipProvider"] 4:I[24900,[],""] 5:I[81570,[],""] -6:I[50549,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"Toaster"] +6:I[75276,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"Toaster"] 7:I[92907,[],"ClientSegmentRoot"] -8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-11581a3891db54ea.js"],"default"] +8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-a708c25c977af81c.js"],"default"] a:I[74627,["9477","static/chunks/9477-215fa25b7251af44.js","4277","static/chunks/app/dashboard/advanced-settings/layout-e0d745ff6aef0894.js"],"default"] c:I[5329,[],"ClientPageRoot"] -d:I[83143,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","4481","static/chunks/app/dashboard/advanced-settings/ttl-settings/page-83ef6faa7e0b4b12.js"],"default"] +d:I[83143,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","4481","static/chunks/app/dashboard/advanced-settings/ttl-settings/page-322f200a41d44135.js"],"default"] 10:I[99165,[],"OutletBoundary"] 12:I[99165,[],"MetadataBoundary"] 14:I[99165,[],"ViewportBoundary"] 16:I[25339,[],""] -:HL["/_next/static/css/74a671bf56ae0dbc.css","style"] -0:{"P":null,"b":"hkNnMMC0smyMu5lUd-eZB","p":"","c":["","dashboard","advanced-settings","ttl-settings",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["advanced-settings",{"children":["ttl-settings",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/74a671bf56ae0dbc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["advanced-settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","advanced-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["ttl-settings",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","advanced-settings","children","ttl-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","sKqH5iBpy5tBA8n1XrkNN",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/680c259ec95ef0da.css","style"] +0:{"P":null,"b":"dmkvmAv8teF6nyAn--0Zz","p":"","c":["","dashboard","advanced-settings","ttl-settings",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["advanced-settings",{"children":["ttl-settings",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/680c259ec95ef0da.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["advanced-settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","advanced-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["ttl-settings",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","advanced-settings","children","ttl-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","WIytJCjwCPRY0Gb__otQR",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} 9:{} b:{} e:{} diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/band-locking/index.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/band-locking/index.html index ae16b6b..587adae 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/band-locking/index.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/band-locking/index.html @@ -1 +1 @@ -QuecManager
                                \ No newline at end of file +QuecManager
                                  \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/band-locking/index.txt b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/band-locking/index.txt index 65c5c27..7794735 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/band-locking/index.txt +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/band-locking/index.txt @@ -1,20 +1,20 @@ 1:"$Sreact.fragment" -2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"ThemeProvider"] -3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"TooltipProvider"] +2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"ThemeProvider"] +3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"TooltipProvider"] 4:I[24900,[],""] 5:I[81570,[],""] -6:I[50549,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"Toaster"] +6:I[75276,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"Toaster"] 7:I[92907,[],"ClientSegmentRoot"] -8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-11581a3891db54ea.js"],"default"] +8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-a708c25c977af81c.js"],"default"] a:I[83593,["9477","static/chunks/9477-215fa25b7251af44.js","347","static/chunks/app/dashboard/cell-settings/layout-81a19da0f530d3d8.js"],"default"] c:I[5329,[],"ClientPageRoot"] -d:I[75808,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","5315","static/chunks/5315-f89ae8797e495ba4.js","1942","static/chunks/app/dashboard/cell-settings/band-locking/page-bb271b3cd7c7a57f.js"],"default"] +d:I[75808,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","5315","static/chunks/5315-58d2fa3cadcc19a0.js","1942","static/chunks/app/dashboard/cell-settings/band-locking/page-4d05a3da9f6343a5.js"],"default"] 10:I[99165,[],"OutletBoundary"] 12:I[99165,[],"MetadataBoundary"] 14:I[99165,[],"ViewportBoundary"] 16:I[25339,[],""] -:HL["/_next/static/css/74a671bf56ae0dbc.css","style"] -0:{"P":null,"b":"hkNnMMC0smyMu5lUd-eZB","p":"","c":["","dashboard","cell-settings","band-locking",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["cell-settings",{"children":["band-locking",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/74a671bf56ae0dbc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["cell-settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["band-locking",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children","band-locking","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","0g95BMLX352xalMHih512",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/680c259ec95ef0da.css","style"] +0:{"P":null,"b":"dmkvmAv8teF6nyAn--0Zz","p":"","c":["","dashboard","cell-settings","band-locking",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["cell-settings",{"children":["band-locking",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/680c259ec95ef0da.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["cell-settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["band-locking",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children","band-locking","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","8SP3JRvnvjU8ZsDGELe8S",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} 9:{} b:{} e:{} diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/basic-settings/index.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/basic-settings/index.html index d2f8c98..3e7b9bc 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/basic-settings/index.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/basic-settings/index.html @@ -1 +1 @@ -QuecManager
                                    \ No newline at end of file +QuecManager
                                      \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/basic-settings/index.txt b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/basic-settings/index.txt index 0cab355..dd4f80f 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/basic-settings/index.txt +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/basic-settings/index.txt @@ -1,20 +1,20 @@ 1:"$Sreact.fragment" -2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"ThemeProvider"] -3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"TooltipProvider"] +2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"ThemeProvider"] +3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"TooltipProvider"] 4:I[24900,[],""] 5:I[81570,[],""] -6:I[50549,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"Toaster"] +6:I[75276,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"Toaster"] 7:I[92907,[],"ClientSegmentRoot"] -8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-11581a3891db54ea.js"],"default"] +8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-a708c25c977af81c.js"],"default"] a:I[83593,["9477","static/chunks/9477-215fa25b7251af44.js","347","static/chunks/app/dashboard/cell-settings/layout-81a19da0f530d3d8.js"],"default"] c:I[5329,[],"ClientPageRoot"] -d:I[8016,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","1457","static/chunks/1457-e5968d4919dfc217.js","6152","static/chunks/6152-3f1ab7eccb787f3c.js","2545","static/chunks/app/dashboard/cell-settings/basic-settings/page-1283d1ce5ea04528.js"],"default"] +d:I[8016,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","1457","static/chunks/1457-e5968d4919dfc217.js","6152","static/chunks/6152-5e8ad427914361b8.js","2545","static/chunks/app/dashboard/cell-settings/basic-settings/page-cf5741b8d8576a31.js"],"default"] 10:I[99165,[],"OutletBoundary"] 12:I[99165,[],"MetadataBoundary"] 14:I[99165,[],"ViewportBoundary"] 16:I[25339,[],""] -:HL["/_next/static/css/74a671bf56ae0dbc.css","style"] -0:{"P":null,"b":"hkNnMMC0smyMu5lUd-eZB","p":"","c":["","dashboard","cell-settings","basic-settings",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["cell-settings",{"children":["basic-settings",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/74a671bf56ae0dbc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["cell-settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["basic-settings",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children","basic-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","m58HRjw0RcCFbra_HADd4",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/680c259ec95ef0da.css","style"] +0:{"P":null,"b":"dmkvmAv8teF6nyAn--0Zz","p":"","c":["","dashboard","cell-settings","basic-settings",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["cell-settings",{"children":["basic-settings",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/680c259ec95ef0da.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["cell-settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["basic-settings",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children","basic-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","VKCZnRtPT0dyAjig4B-Ej",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} 9:{} b:{} e:{} diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/cell-locking/index.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/cell-locking/index.html index f2c27b9..6811b81 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/cell-locking/index.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/cell-locking/index.html @@ -1 +1 @@ -QuecManager
                                        \ No newline at end of file +QuecManager
                                          \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/cell-locking/index.txt b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/cell-locking/index.txt index 0a2b189..8a05f5c 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/cell-locking/index.txt +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/cell-locking/index.txt @@ -1,20 +1,20 @@ 1:"$Sreact.fragment" -2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"ThemeProvider"] -3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"TooltipProvider"] +2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"ThemeProvider"] +3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"TooltipProvider"] 4:I[24900,[],""] 5:I[81570,[],""] -6:I[50549,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"Toaster"] +6:I[75276,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"Toaster"] 7:I[92907,[],"ClientSegmentRoot"] -8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-11581a3891db54ea.js"],"default"] +8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-a708c25c977af81c.js"],"default"] a:I[83593,["9477","static/chunks/9477-215fa25b7251af44.js","347","static/chunks/app/dashboard/cell-settings/layout-81a19da0f530d3d8.js"],"default"] c:I[5329,[],"ClientPageRoot"] -d:I[43166,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","1457","static/chunks/1457-e5968d4919dfc217.js","6152","static/chunks/6152-3f1ab7eccb787f3c.js","5665","static/chunks/app/dashboard/cell-settings/cell-locking/page-0aff05faf3701aba.js"],"default"] +d:I[43166,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","1457","static/chunks/1457-e5968d4919dfc217.js","6152","static/chunks/6152-5e8ad427914361b8.js","5665","static/chunks/app/dashboard/cell-settings/cell-locking/page-4ab1165c81cbdb13.js"],"default"] 10:I[99165,[],"OutletBoundary"] 12:I[99165,[],"MetadataBoundary"] 14:I[99165,[],"ViewportBoundary"] 16:I[25339,[],""] -:HL["/_next/static/css/74a671bf56ae0dbc.css","style"] -0:{"P":null,"b":"hkNnMMC0smyMu5lUd-eZB","p":"","c":["","dashboard","cell-settings","cell-locking",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["cell-settings",{"children":["cell-locking",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/74a671bf56ae0dbc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["cell-settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["cell-locking",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children","cell-locking","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","mPVgGWUsw-fp1im-d3NTm",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/680c259ec95ef0da.css","style"] +0:{"P":null,"b":"dmkvmAv8teF6nyAn--0Zz","p":"","c":["","dashboard","cell-settings","cell-locking",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["cell-settings",{"children":["cell-locking",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/680c259ec95ef0da.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["cell-settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["cell-locking",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children","cell-locking","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","2mX9ZHDUXRvIZYaHQ6PJ8",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} 9:{} b:{} e:{} diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/imei-mangling/index.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/imei-mangling/index.html index 36f042e..6568ebd 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/imei-mangling/index.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/imei-mangling/index.html @@ -1 +1 @@ -QuecManager
                                            \ No newline at end of file +QuecManager
                                              \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/imei-mangling/index.txt b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/imei-mangling/index.txt index ccdcc0d..2f9de58 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/imei-mangling/index.txt +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/imei-mangling/index.txt @@ -1,20 +1,20 @@ 1:"$Sreact.fragment" -2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"ThemeProvider"] -3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"TooltipProvider"] +2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"ThemeProvider"] +3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"TooltipProvider"] 4:I[24900,[],""] 5:I[81570,[],""] -6:I[50549,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"Toaster"] +6:I[75276,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"Toaster"] 7:I[92907,[],"ClientSegmentRoot"] -8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-11581a3891db54ea.js"],"default"] +8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-a708c25c977af81c.js"],"default"] a:I[83593,["9477","static/chunks/9477-215fa25b7251af44.js","347","static/chunks/app/dashboard/cell-settings/layout-81a19da0f530d3d8.js"],"default"] c:I[5329,[],"ClientPageRoot"] -d:I[34268,["4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","3210","static/chunks/3210-0ee79328b7c2a459.js","9065","static/chunks/app/dashboard/cell-settings/imei-mangling/page-d94d6e9f3ec21efd.js"],"default"] +d:I[34268,["7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","3210","static/chunks/3210-d6b69fdde6304433.js","9065","static/chunks/app/dashboard/cell-settings/imei-mangling/page-f407c96af3dd91bc.js"],"default"] 10:I[99165,[],"OutletBoundary"] 12:I[99165,[],"MetadataBoundary"] 14:I[99165,[],"ViewportBoundary"] 16:I[25339,[],""] -:HL["/_next/static/css/74a671bf56ae0dbc.css","style"] -0:{"P":null,"b":"hkNnMMC0smyMu5lUd-eZB","p":"","c":["","dashboard","cell-settings","imei-mangling",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["cell-settings",{"children":["imei-mangling",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/74a671bf56ae0dbc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["cell-settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["imei-mangling",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children","imei-mangling","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","vyRx8-Js40qR_nISlFUb9",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/680c259ec95ef0da.css","style"] +0:{"P":null,"b":"dmkvmAv8teF6nyAn--0Zz","p":"","c":["","dashboard","cell-settings","imei-mangling",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["cell-settings",{"children":["imei-mangling",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/680c259ec95ef0da.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["cell-settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["imei-mangling",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children","imei-mangling","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","QKlAO5q5eCcN_dANvIFm7",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} 9:{} b:{} e:{} diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/sms/index.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/sms/index.html index 49dd17d..02ffda6 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/sms/index.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/sms/index.html @@ -1 +1 @@ -QuecManager
                                                \ No newline at end of file +QuecManager
                                                  \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/sms/index.txt b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/sms/index.txt index b9f87d5..9aa270b 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/sms/index.txt +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/cell-settings/sms/index.txt @@ -1,20 +1,20 @@ 1:"$Sreact.fragment" -2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"ThemeProvider"] -3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"TooltipProvider"] +2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"ThemeProvider"] +3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"TooltipProvider"] 4:I[24900,[],""] 5:I[81570,[],""] -6:I[50549,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"Toaster"] +6:I[75276,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"Toaster"] 7:I[92907,[],"ClientSegmentRoot"] -8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-11581a3891db54ea.js"],"default"] +8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-a708c25c977af81c.js"],"default"] a:I[83593,["9477","static/chunks/9477-215fa25b7251af44.js","347","static/chunks/app/dashboard/cell-settings/layout-81a19da0f530d3d8.js"],"default"] c:I[5329,[],"ClientPageRoot"] -d:I[42909,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","1827","static/chunks/1827-82545ba38805ede6.js","4568","static/chunks/4568-33274c67a634d54a.js","3358","static/chunks/app/dashboard/cell-settings/sms/page-d04c74b3dfa66578.js"],"default"] +d:I[33776,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","5011","static/chunks/5011-c111b606b30e72ad.js","1827","static/chunks/1827-82545ba38805ede6.js","4568","static/chunks/4568-33274c67a634d54a.js","3358","static/chunks/app/dashboard/cell-settings/sms/page-02861dd19a3a6c10.js"],"default"] 10:I[99165,[],"OutletBoundary"] 12:I[99165,[],"MetadataBoundary"] 14:I[99165,[],"ViewportBoundary"] 16:I[25339,[],""] -:HL["/_next/static/css/74a671bf56ae0dbc.css","style"] -0:{"P":null,"b":"hkNnMMC0smyMu5lUd-eZB","p":"","c":["","dashboard","cell-settings","sms",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["cell-settings",{"children":["sms",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/74a671bf56ae0dbc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["cell-settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["sms",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children","sms","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","7Lcc0SQrZ1TTPIEhbwlPw",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/680c259ec95ef0da.css","style"] +0:{"P":null,"b":"dmkvmAv8teF6nyAn--0Zz","p":"","c":["","dashboard","cell-settings","sms",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["cell-settings",{"children":["sms",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/680c259ec95ef0da.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["cell-settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["sms",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","cell-settings","children","sms","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","Tiab-GYjr-0zo6qTTlNMR",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} 9:{} b:{} e:{} diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/cell-scanner/index.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/cell-scanner/index.html index ee7ba6e..321c743 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/cell-scanner/index.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/cell-scanner/index.html @@ -1 +1 @@ -QuecManager
                                                    \ No newline at end of file +QuecManager
                                                      \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/cell-scanner/index.txt b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/cell-scanner/index.txt index 4c978db..d7624aa 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/cell-scanner/index.txt +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/cell-scanner/index.txt @@ -1,20 +1,20 @@ 1:"$Sreact.fragment" -2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"ThemeProvider"] -3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"TooltipProvider"] +2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"ThemeProvider"] +3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"TooltipProvider"] 4:I[24900,[],""] 5:I[81570,[],""] -6:I[50549,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"Toaster"] +6:I[75276,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"Toaster"] 7:I[92907,[],"ClientSegmentRoot"] -8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-11581a3891db54ea.js"],"default"] -a:I[31753,["9477","static/chunks/9477-215fa25b7251af44.js","3075","static/chunks/app/dashboard/experimental/layout-49b7e0a24da09536.js"],"default"] +8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-a708c25c977af81c.js"],"default"] +a:I[31753,["9477","static/chunks/9477-215fa25b7251af44.js","3075","static/chunks/app/dashboard/experimental/layout-3c6ab898e54410a1.js"],"default"] c:I[5329,[],"ClientPageRoot"] -d:I[79192,["4736","static/chunks/4736-b61b84f269198c39.js","5014","static/chunks/app/dashboard/experimental/cell-scanner/page-aaddc2f2a3a215e4.js"],"default"] +d:I[6982,["2101","static/chunks/b1b46485-5c61721f784038c7.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4568","static/chunks/4568-33274c67a634d54a.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","3742","static/chunks/3742-8a2e24c9cc905cd9.js","5014","static/chunks/app/dashboard/experimental/cell-scanner/page-6a0663eb16b05635.js"],"default"] 10:I[99165,[],"OutletBoundary"] 12:I[99165,[],"MetadataBoundary"] 14:I[99165,[],"ViewportBoundary"] 16:I[25339,[],""] -:HL["/_next/static/css/74a671bf56ae0dbc.css","style"] -0:{"P":null,"b":"hkNnMMC0smyMu5lUd-eZB","p":"","c":["","dashboard","experimental","cell-scanner",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["experimental",{"children":["cell-scanner",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/74a671bf56ae0dbc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["experimental",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["cell-scanner",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","experimental","children","cell-scanner","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","R0bdIRZsVyho61i4hcyD7",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/680c259ec95ef0da.css","style"] +0:{"P":null,"b":"dmkvmAv8teF6nyAn--0Zz","p":"","c":["","dashboard","experimental","cell-scanner",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["experimental",{"children":["cell-scanner",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/680c259ec95ef0da.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["experimental",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["cell-scanner",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","experimental","children","cell-scanner","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","uHgxSgsjz74a1xtjBxVTN",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} 9:{} b:{} e:{} diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/index.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/index.html index 45f2325..9547df8 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/index.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/index.html @@ -1 +1 @@ -QuecManager
                                                        \ No newline at end of file +QuecManager
                                                          \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/index.txt b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/index.txt index 8fe235a..564596a 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/index.txt +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/index.txt @@ -1,18 +1,18 @@ 1:"$Sreact.fragment" -2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"ThemeProvider"] -3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"TooltipProvider"] +2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"ThemeProvider"] +3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"TooltipProvider"] 4:I[24900,[],""] 5:I[81570,[],""] -6:I[50549,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"Toaster"] +6:I[75276,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"Toaster"] 7:I[92907,[],"ClientSegmentRoot"] -8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-11581a3891db54ea.js"],"default"] -a:I[31753,["9477","static/chunks/9477-215fa25b7251af44.js","3075","static/chunks/app/dashboard/experimental/layout-49b7e0a24da09536.js"],"default"] +8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-a708c25c977af81c.js"],"default"] +a:I[31753,["9477","static/chunks/9477-215fa25b7251af44.js","3075","static/chunks/app/dashboard/experimental/layout-3c6ab898e54410a1.js"],"default"] c:I[99165,[],"OutletBoundary"] e:I[99165,[],"MetadataBoundary"] 10:I[99165,[],"ViewportBoundary"] 12:I[25339,[],""] -:HL["/_next/static/css/74a671bf56ae0dbc.css","style"] -0:{"P":null,"b":"hkNnMMC0smyMu5lUd-eZB","p":"","c":["","dashboard","experimental",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["experimental",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/74a671bf56ae0dbc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["experimental",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","div",null,{"ref":"$undefined","className":"rounded-xl border bg-card text-card-foreground shadow","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6","children":[["$","h3",null,{"ref":"$undefined","className":"font-semibold leading-none tracking-tight","children":"Experimental"}],["$","p",null,{"ref":"$undefined","className":"text-sm text-muted-foreground","children":"This is an experimental page."}]]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0","children":["$","p",null,{"children":"Whoops! Theres nothing here yet..."}]}]]}],null,["$","$Lc",null,{"children":"$Ld"}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","GHMZveOMBTWXVkPJ1ULjo",{"children":[["$","$Le",null,{"children":"$Lf"}],["$","$L10",null,{"children":"$L11"}],null]}]]}],false]],"m":"$undefined","G":["$12","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/680c259ec95ef0da.css","style"] +0:{"P":null,"b":"dmkvmAv8teF6nyAn--0Zz","p":"","c":["","dashboard","experimental",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["experimental",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/680c259ec95ef0da.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["experimental",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","div",null,{"ref":"$undefined","className":"rounded-xl border bg-card text-card-foreground shadow","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6","children":[["$","h3",null,{"ref":"$undefined","className":"font-semibold leading-none tracking-tight","children":"Experimental"}],["$","p",null,{"ref":"$undefined","className":"text-sm text-muted-foreground","children":"This is an experimental page."}]]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0","children":["$","p",null,{"children":"Whoops! Theres nothing here yet..."}]}]]}],null,["$","$Lc",null,{"children":"$Ld"}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","BHW5n1pEnAe8FoswscZpM",{"children":[["$","$Le",null,{"children":"$Lf"}],["$","$L10",null,{"children":"$L11"}],null]}]]}],false]],"m":"$undefined","G":["$12","$undefined"],"s":false,"S":true} 9:{} b:{} 11:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/keep-alive/index.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/keep-alive/index.html index e93fc15..15e8439 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/keep-alive/index.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/keep-alive/index.html @@ -1 +1 @@ -QuecManager
                                                            \ No newline at end of file +QuecManager
                                                              \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/keep-alive/index.txt b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/keep-alive/index.txt index e963ebc..af5d8bf 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/keep-alive/index.txt +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/keep-alive/index.txt @@ -1,20 +1,20 @@ 1:"$Sreact.fragment" -2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"ThemeProvider"] -3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"TooltipProvider"] +2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"ThemeProvider"] +3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"TooltipProvider"] 4:I[24900,[],""] 5:I[81570,[],""] -6:I[50549,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"Toaster"] +6:I[75276,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"Toaster"] 7:I[92907,[],"ClientSegmentRoot"] -8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-11581a3891db54ea.js"],"default"] -a:I[31753,["9477","static/chunks/9477-215fa25b7251af44.js","3075","static/chunks/app/dashboard/experimental/layout-49b7e0a24da09536.js"],"default"] +8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-a708c25c977af81c.js"],"default"] +a:I[31753,["9477","static/chunks/9477-215fa25b7251af44.js","3075","static/chunks/app/dashboard/experimental/layout-3c6ab898e54410a1.js"],"default"] c:I[5329,[],"ClientPageRoot"] -d:I[4546,["4736","static/chunks/4736-b61b84f269198c39.js","3376","static/chunks/app/dashboard/experimental/keep-alive/page-f3ffb374077ad29c.js"],"default"] +d:I[4546,["7780","static/chunks/7780-304b82dcfd6e5323.js","3376","static/chunks/app/dashboard/experimental/keep-alive/page-fda1ccb2b4b74c1a.js"],"default"] 10:I[99165,[],"OutletBoundary"] 12:I[99165,[],"MetadataBoundary"] 14:I[99165,[],"ViewportBoundary"] 16:I[25339,[],""] -:HL["/_next/static/css/74a671bf56ae0dbc.css","style"] -0:{"P":null,"b":"hkNnMMC0smyMu5lUd-eZB","p":"","c":["","dashboard","experimental","keep-alive",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["experimental",{"children":["keep-alive",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/74a671bf56ae0dbc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["experimental",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["keep-alive",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","experimental","children","keep-alive","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","Lk0VKE7qvUsiD1EVUvH0U",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/680c259ec95ef0da.css","style"] +0:{"P":null,"b":"dmkvmAv8teF6nyAn--0Zz","p":"","c":["","dashboard","experimental","keep-alive",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["experimental",{"children":["keep-alive",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/680c259ec95ef0da.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["experimental",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["keep-alive",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","experimental","children","keep-alive","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","w5nfwHnd4WhBDnlZhDjzV",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} 9:{} b:{} e:{} diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/quecwatch/index.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/quecwatch/index.html index f0414ed..64b29ac 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/quecwatch/index.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/quecwatch/index.html @@ -1 +1 @@ -QuecManager
                                                                \ No newline at end of file +QuecManager
                                                                  \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/quecwatch/index.txt b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/quecwatch/index.txt index 69ef08d..07e2c34 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/quecwatch/index.txt +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/experimental/quecwatch/index.txt @@ -1,20 +1,20 @@ 1:"$Sreact.fragment" -2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"ThemeProvider"] -3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"TooltipProvider"] +2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"ThemeProvider"] +3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"TooltipProvider"] 4:I[24900,[],""] 5:I[81570,[],""] -6:I[50549,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"Toaster"] +6:I[75276,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"Toaster"] 7:I[92907,[],"ClientSegmentRoot"] -8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-11581a3891db54ea.js"],"default"] -a:I[31753,["9477","static/chunks/9477-215fa25b7251af44.js","3075","static/chunks/app/dashboard/experimental/layout-49b7e0a24da09536.js"],"default"] +8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-a708c25c977af81c.js"],"default"] +a:I[31753,["9477","static/chunks/9477-215fa25b7251af44.js","3075","static/chunks/app/dashboard/experimental/layout-3c6ab898e54410a1.js"],"default"] c:I[5329,[],"ClientPageRoot"] -d:I[84902,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","1457","static/chunks/1457-e5968d4919dfc217.js","6010","static/chunks/app/dashboard/experimental/quecwatch/page-76ba4d6e847fa048.js"],"default"] +d:I[84902,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","1457","static/chunks/1457-e5968d4919dfc217.js","6010","static/chunks/app/dashboard/experimental/quecwatch/page-3aa7d2e3f03362a4.js"],"default"] 10:I[99165,[],"OutletBoundary"] 12:I[99165,[],"MetadataBoundary"] 14:I[99165,[],"ViewportBoundary"] 16:I[25339,[],""] -:HL["/_next/static/css/74a671bf56ae0dbc.css","style"] -0:{"P":null,"b":"hkNnMMC0smyMu5lUd-eZB","p":"","c":["","dashboard","experimental","quecwatch",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["experimental",{"children":["quecwatch",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/74a671bf56ae0dbc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["experimental",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["quecwatch",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","experimental","children","quecwatch","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","DZPfdummOL_oi_XJEtdZT",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/680c259ec95ef0da.css","style"] +0:{"P":null,"b":"dmkvmAv8teF6nyAn--0Zz","p":"","c":["","dashboard","experimental","quecwatch",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["experimental",{"children":["quecwatch",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/680c259ec95ef0da.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["experimental",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","experimental","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["quecwatch",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","experimental","children","quecwatch","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","GxRZ0WnRH4nZl4FaUPEv-",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} 9:{} b:{} e:{} diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/home/index.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/home/index.html index 9115266..baf3b1f 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/home/index.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/home/index.html @@ -1 +1 @@ -QuecManager
                                                                    \ No newline at end of file +QuecManager
                                                                      \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/home/index.txt b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/home/index.txt index 7997ef2..9426075 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/home/index.txt +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/home/index.txt @@ -1,19 +1,19 @@ 1:"$Sreact.fragment" -2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"ThemeProvider"] -3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"TooltipProvider"] +2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"ThemeProvider"] +3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"TooltipProvider"] 4:I[24900,[],""] 5:I[81570,[],""] -6:I[50549,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"Toaster"] +6:I[75276,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"Toaster"] 7:I[92907,[],"ClientSegmentRoot"] -8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-11581a3891db54ea.js"],"default"] +8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-a708c25c977af81c.js"],"default"] a:I[5329,[],"ClientPageRoot"] -b:I[88954,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","9649","static/chunks/47820753-41ce4d8e11c7c32d.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","1827","static/chunks/1827-82545ba38805ede6.js","1074","static/chunks/1074-17a63cc1d4605bcb.js","9107","static/chunks/9107-369a762e6832fbc4.js","6665","static/chunks/app/dashboard/home/page-a5ecae21d3e62e31.js"],"default"] +b:I[88954,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","9649","static/chunks/47820753-41ce4d8e11c7c32d.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","5011","static/chunks/5011-c111b606b30e72ad.js","1827","static/chunks/1827-82545ba38805ede6.js","1074","static/chunks/1074-17a63cc1d4605bcb.js","9107","static/chunks/9107-369a762e6832fbc4.js","6665","static/chunks/app/dashboard/home/page-c70afb7db09859e8.js"],"default"] e:I[99165,[],"OutletBoundary"] 10:I[99165,[],"MetadataBoundary"] 12:I[99165,[],"ViewportBoundary"] 14:I[25339,[],""] -:HL["/_next/static/css/74a671bf56ae0dbc.css","style"] -0:{"P":null,"b":"hkNnMMC0smyMu5lUd-eZB","p":"","c":["","dashboard","home",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["home",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/74a671bf56ae0dbc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["home",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","home","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$La",null,{"Component":"$b","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@c","$@d"]}],null,["$","$Le",null,{"children":"$Lf"}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","PAqvOvvMqcxUYZ63PY2zJ",{"children":[["$","$L10",null,{"children":"$L11"}],["$","$L12",null,{"children":"$L13"}],null]}]]}],false]],"m":"$undefined","G":["$14","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/680c259ec95ef0da.css","style"] +0:{"P":null,"b":"dmkvmAv8teF6nyAn--0Zz","p":"","c":["","dashboard","home",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["home",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/680c259ec95ef0da.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["home",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","home","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$La",null,{"Component":"$b","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@c","$@d"]}],null,["$","$Le",null,{"children":"$Lf"}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","mOH_epWzJ7fXJfsjoeZBQ",{"children":[["$","$L10",null,{"children":"$L11"}],["$","$L12",null,{"children":"$L13"}],null]}]]}],false]],"m":"$undefined","G":["$14","$undefined"],"s":false,"S":true} 9:{} c:{} d:{} diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/settings/security/index.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/settings/security/index.html index 6bb4f29..ded0f6b 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/settings/security/index.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/settings/security/index.html @@ -1 +1 @@ -QuecManager
                                                                        \ No newline at end of file +QuecManager
                                                                          \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/settings/security/index.txt b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/settings/security/index.txt index d00d51b..4f0691b 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/settings/security/index.txt +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/dashboard/settings/security/index.txt @@ -1,20 +1,20 @@ 1:"$Sreact.fragment" -2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"ThemeProvider"] -3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"TooltipProvider"] +2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"ThemeProvider"] +3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"TooltipProvider"] 4:I[24900,[],""] 5:I[81570,[],""] -6:I[50549,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"Toaster"] +6:I[75276,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"Toaster"] 7:I[92907,[],"ClientSegmentRoot"] -8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-11581a3891db54ea.js"],"default"] -a:I[36994,["9477","static/chunks/9477-215fa25b7251af44.js","5680","static/chunks/app/dashboard/settings/layout-2429ae4d71080a23.js"],"default"] +8:I[92646,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","9477","static/chunks/9477-215fa25b7251af44.js","1827","static/chunks/1827-82545ba38805ede6.js","9700","static/chunks/9700-86092c9639feaee7.js","1954","static/chunks/app/dashboard/layout-a708c25c977af81c.js"],"default"] +a:I[36994,["9477","static/chunks/9477-215fa25b7251af44.js","5680","static/chunks/app/dashboard/settings/layout-105f4b86f45bf189.js"],"default"] c:I[5329,[],"ClientPageRoot"] -d:I[16212,["4736","static/chunks/4736-b61b84f269198c39.js","2162","static/chunks/app/dashboard/settings/security/page-24cec77e1cd787cc.js"],"default"] +d:I[16212,["7780","static/chunks/7780-304b82dcfd6e5323.js","2162","static/chunks/app/dashboard/settings/security/page-722575cb0e664dd2.js"],"default"] 10:I[99165,[],"OutletBoundary"] 12:I[99165,[],"MetadataBoundary"] 14:I[99165,[],"ViewportBoundary"] 16:I[25339,[],""] -:HL["/_next/static/css/74a671bf56ae0dbc.css","style"] -0:{"P":null,"b":"hkNnMMC0smyMu5lUd-eZB","p":"","c":["","dashboard","settings","security",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["settings",{"children":["security",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/74a671bf56ae0dbc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["security",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","settings","children","security","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","OXdswS2ZUmoa8C7MzzjUn",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/680c259ec95ef0da.css","style"] +0:{"P":null,"b":"dmkvmAv8teF6nyAn--0Zz","p":"","c":["","dashboard","settings","security",""],"i":false,"f":[[["",{"children":["dashboard",{"children":["settings",{"children":["security",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/680c259ec95ef0da.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["dashboard",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$8","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":{},"promise":"$@9"}]]}],{"children":["settings",["$","$1","c",{"children":[null,["$","$L7",null,{"Component":"$a","slots":{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","settings","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promise":"$@b"}]]}],{"children":["security",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","settings","children","security","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Lc",null,{"Component":"$d","searchParams":{},"params":"$0:f:0:1:2:children:1:props:children:1:props:params","promises":["$@e","$@f"]}],null,["$","$L10",null,{"children":"$L11"}]]}],{},null,false]},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","zrwSthWdkeMYHQokIH7RD",{"children":[["$","$L12",null,{"children":"$L13"}],["$","$L14",null,{"children":"$L15"}],null]}]]}],false]],"m":"$undefined","G":["$16","$undefined"],"s":false,"S":true} 9:{} b:{} e:{} diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/index.txt b/ipk-source/sdxpinn-quecmanager-beta/root/www/index.txt index f1225b4..3dd6001 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/index.txt +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/index.txt @@ -1,16 +1,16 @@ 1:"$Sreact.fragment" -2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"ThemeProvider"] -3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"TooltipProvider"] +2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"ThemeProvider"] +3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"TooltipProvider"] 4:I[24900,[],""] 5:I[81570,[],""] -6:I[50549,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"Toaster"] -7:I[69363,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","5011","static/chunks/5011-c111b606b30e72ad.js","4673","static/chunks/4673-858d1306ab77aa0c.js","9477","static/chunks/9477-215fa25b7251af44.js","1074","static/chunks/1074-17a63cc1d4605bcb.js","9700","static/chunks/9700-86092c9639feaee7.js","8974","static/chunks/app/page-97501189a3b2646a.js"],"default"] +6:I[75276,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"Toaster"] +7:I[69363,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","5011","static/chunks/5011-c111b606b30e72ad.js","9477","static/chunks/9477-215fa25b7251af44.js","1074","static/chunks/1074-17a63cc1d4605bcb.js","9700","static/chunks/9700-86092c9639feaee7.js","8974","static/chunks/app/page-a23f672c10774888.js"],"default"] 8:I[99165,[],"OutletBoundary"] a:I[99165,[],"MetadataBoundary"] c:I[99165,[],"ViewportBoundary"] e:I[25339,[],""] -:HL["/_next/static/css/74a671bf56ae0dbc.css","style"] -0:{"P":null,"b":"hkNnMMC0smyMu5lUd-eZB","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/74a671bf56ae0dbc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","div",null,{"className":"grid grid-rows-[20px_1fr_20px] items-center justify-items-center min-h-screen p-8 pb-20 gap-16 sm:p-20 font-[family-name:var(--font-geist-sans)]","children":["$","main",null,{"className":"flex flex-col gap-8 row-start-2 items-center sm:items-start","children":["$","$L7",null,{}]}]}],null,["$","$L8",null,{"children":"$L9"}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","LGU0YfSkzO5T-zV5Quw2w",{"children":[["$","$La",null,{"children":"$Lb"}],["$","$Lc",null,{"children":"$Ld"}],null]}]]}],false]],"m":"$undefined","G":["$e","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/680c259ec95ef0da.css","style"] +0:{"P":null,"b":"dmkvmAv8teF6nyAn--0Zz","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/680c259ec95ef0da.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","div",null,{"className":"grid grid-rows-[20px_1fr_20px] items-center justify-items-center min-h-screen p-8 pb-20 gap-16 sm:p-20 font-[family-name:var(--font-geist-sans)]","children":["$","main",null,{"className":"flex flex-col gap-8 row-start-2 items-center sm:items-start","children":["$","$L7",null,{}]}]}],null,["$","$L8",null,{"children":"$L9"}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","Ithl1Rdpp8t7iCDxrKk3D",{"children":[["$","$La",null,{"children":"$Lb"}],["$","$Lc",null,{"children":"$Ld"}],null]}]]}],false]],"m":"$undefined","G":["$e","$undefined"],"s":false,"S":true} d:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] b:[["$","meta","0",{"charSet":"utf-8"}],["$","title","1",{"children":"QuecManager"}],["$","meta","2",{"name":"description","content":"Simpleadmin but better!"}],["$","link","3",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"16x16"}]] 9:null diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/login.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/login.html index 81eea34..5267ead 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/login.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/login.html @@ -1 +1 @@ -QuecManager

                                                                          QuecManager Quick Stats

                                                                            \ No newline at end of file +QuecManager

                                                                            QuecManager Quick Stats

                                                                              \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/login/index.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/login/index.html index df36fe9..0958f69 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/login/index.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/login/index.html @@ -1 +1 @@ -QuecManager

                                                                              Login to QuecManager

                                                                              Enter your password to login

                                                                                \ No newline at end of file +QuecManager

                                                                                Login to QuecManager

                                                                                Enter your password to login

                                                                                  \ No newline at end of file diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/login/index.txt b/ipk-source/sdxpinn-quecmanager-beta/root/www/login/index.txt index 65ff10f..295b85e 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/login/index.txt +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/login/index.txt @@ -1,17 +1,17 @@ 1:"$Sreact.fragment" -2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"ThemeProvider"] -3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"TooltipProvider"] +2:I[74347,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"ThemeProvider"] +3:I[85014,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"TooltipProvider"] 4:I[24900,[],""] 5:I[81570,[],""] -6:I[50549,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","1617","static/chunks/1617-5a6d13de657d6a5b.js","4673","static/chunks/4673-858d1306ab77aa0c.js","6366","static/chunks/6366-76e36dd86de59f39.js","7177","static/chunks/app/layout-ff35d98d611db579.js"],"Toaster"] +6:I[75276,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","1617","static/chunks/1617-2875c5bbab102cf8.js","4673","static/chunks/4673-858d1306ab77aa0c.js","4623","static/chunks/4623-3adb8e9629e6d4f2.js","7177","static/chunks/app/layout-d482225c096e3c44.js"],"Toaster"] 7:I[5329,[],"ClientPageRoot"] -8:I[25274,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","4736","static/chunks/4736-b61b84f269198c39.js","3320","static/chunks/3320-996321550592d61e.js","4520","static/chunks/app/login/page-c354942536125817.js"],"default"] +8:I[25274,["9980","static/chunks/7b0cf0b7-70d5b0302880fc93.js","7780","static/chunks/7780-304b82dcfd6e5323.js","3320","static/chunks/3320-7d48962f2ebfa876.js","4520","static/chunks/app/login/page-e22b8164685bb246.js"],"default"] b:I[99165,[],"OutletBoundary"] d:I[99165,[],"MetadataBoundary"] f:I[99165,[],"ViewportBoundary"] 11:I[25339,[],""] -:HL["/_next/static/css/74a671bf56ae0dbc.css","style"] -0:{"P":null,"b":"hkNnMMC0smyMu5lUd-eZB","p":"","c":["","login",""],"i":false,"f":[[["",{"children":["login",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/74a671bf56ae0dbc.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["login",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","login","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":"$Lc"}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","5XDUPzO6oD5YDf25SolC8",{"children":[["$","$Ld",null,{"children":"$Le"}],["$","$Lf",null,{"children":"$L10"}],null]}]]}],false]],"m":"$undefined","G":["$11","$undefined"],"s":false,"S":true} +:HL["/_next/static/css/680c259ec95ef0da.css","style"] +0:{"P":null,"b":"dmkvmAv8teF6nyAn--0Zz","p":"","c":["","login",""],"i":false,"f":[[["",{"children":["login",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/680c259ec95ef0da.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":" font-euclid antialiased","children":[["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[],[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}],["$","$L6",null,{}]]}]}]]}],{"children":["login",["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","login","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L7",null,{"Component":"$8","searchParams":{},"params":{},"promises":["$@9","$@a"]}],null,["$","$Lb",null,{"children":"$Lc"}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","h9gX9LRR1uLfSENcR_6tq",{"children":[["$","$Ld",null,{"children":"$Le"}],["$","$Lf",null,{"children":"$L10"}],null]}]]}],false]],"m":"$undefined","G":["$11","$undefined"],"s":false,"S":true} 9:{} a:{} 10:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]