import type { Hotspot, ConflictZone, MilitaryBase, UnderseaCable, NuclearFacility, StrategicWaterway, EconomicCenter, Spaceport, CriticalMineralProject } from '@/types';
import { MILITARY_BASES_EXPANDED } from './bases-expanded';

// Hotspot levels are NOT hardcoded - they are dynamically calculated based on news activity
// All hotspots start at 'low' and rise to 'elevated' or 'high' based on matching news items
// Escalation scores: 1=stable, 2=watchlist, 3=elevated, 4=high tension, 5=critical/active conflict
export const INTEL_HOTSPOTS: Hotspot[] = [
  {
    id: 'sahel',
    name: 'Sahel',
    subtext: 'Insurgency/Coups',
    lat: 14.0,
    lon: -1.0,
    location: 'Sahel Region (Mali, Burkina Faso, Niger)',
    keywords: ['burkina faso', 'mali', 'niger', 'sahel', 'junta', 'coup', 'wagner', 'africa corps'],
    agencies: ['Wagner', 'Junta Forces'],
    description: 'Region of instability, military coups, and Islamist insurgency. Russian influence growing.',
    status: 'Monitoring',
    escalationScore: 4,
    escalationTrend: 'escalating',
    escalationIndicators: ['4 coups since 2020', 'French forces expelled', 'Wagner/Africa Corps expansion', 'ECOWAS sanctions'],
    history: {
      lastMajorEvent: 'Niger coup',
      lastMajorEventDate: '2023-07-26',
      precedentCount: 4,
      precedentDescription: '4 military coups in 3 years (Mali 2020/2021, Burkina Faso 2022, Niger 2023)',
      cyclicalRisk: 'Dry season offensives (Oct-May)',
    },
    whyItMatters: 'Russian influence expanding in former French sphere; jihadist groups gaining territory; migration pressure on Europe',
  },
  {
    id: 'haiti',
    name: 'Port-au-Prince',
    subtext: 'Haiti Crisis',
    lat: 18.5,
    lon: -72.3,
    location: 'Haiti, Caribbean',
    keywords: ['haiti', 'port-au-prince', 'gangs', 'kenya mission', 'barbecue'],
    agencies: ['UN', 'HNP', 'Kenya Police'],
    description: 'Gang violence, government collapse, international security mission.',
    status: 'Monitoring',
    escalationScore: 4,
    escalationTrend: 'stable',
    escalationIndicators: ['Gangs control 80% of capital', 'PM resigned under pressure', 'Kenya-led mission deployed', 'Mass displacement'],
    history: {
      lastMajorEvent: 'PM Henry resignation',
      lastMajorEventDate: '2024-03-11',
      precedentCount: 3,
      precedentDescription: 'Repeated state collapse (2004 Aristide, 2021 Moïse assassination, 2024 gang takeover)',
      cyclicalRisk: 'Hurricane season vulnerability (Jun-Nov)',
    },
    whyItMatters: 'Humanitarian catastrophe at US doorstep; migration surge potential; test of African-led peacekeeping',
  },
  {
    id: 'horn_africa',
    name: 'Horn of Africa',
    subtext: 'Piracy/Conflict',
    lat: 10.0,
    lon: 49.0,
    location: 'Somalia, Ethiopia, Djibouti',
    keywords: ['somalia', 'piracy', 'al-shabaab', 'ethiopia', 'somaliland', 'red sea'],
    agencies: ['USAFRICOM', 'EUNAVFOR'],
    description: 'Resurgent piracy, Al-Shabaab activity, Ethiopia-Somaliland port dispute.',
    status: 'Monitoring',
    escalationScore: 4,
    escalationTrend: 'escalating',
    escalationIndicators: ['Houthi attacks on shipping', 'Somali piracy resurgence', 'Ethiopia-Somaliland MoU dispute', 'Sudan civil war spillover'],
    history: {
      lastMajorEvent: 'Sudan war outbreak',
      lastMajorEventDate: '2023-04-15',
      precedentCount: 5,
      precedentDescription: 'Ethiopia-Eritrea war, Tigray war, Somali civil war, Sudan coups, piracy waves',
      cyclicalRisk: 'Monsoon affects naval operations (Jun-Sep)',
    },
    whyItMatters: 'Bab el-Mandeb chokepoint security; 12% of global trade at risk; Red Sea shipping rerouting',
  },
  {
    id: 'pak_afghan',
    name: 'Pakistan–Afghanistan Border',
    subtext: 'Border Conflict / TTP',
    lat: 31.8,
    lon: 69.0,
    location: 'Pakistan–Afghanistan border (KP, Balochistan)',
    keywords: ['pakistan', 'afghanistan', 'ttp', 'taliban', 'torkham', 'chaman', 'waziristan', 'khyber', 'peshawar', 'border', 'cross-border', 'airstrike', 'pak-afghan'],
    agencies: ['Pakistan Military', 'TTP', 'Afghan Taliban'],
    description: 'Ongoing conflict along the Pak–Afghan border. Pakistan military operations against TTP; cross-border strikes and border closures. Tensions with Afghan Taliban over border security.',
    status: 'Monitoring',
    escalationScore: 4,
    escalationTrend: 'escalating',
    escalationIndicators: ['Border clashes and closures', 'Pakistan airstrikes in Afghanistan', 'TTP attacks in KP', 'Torkham/Chaman crossing tensions'],
    history: {
      lastMajorEvent: 'Cross-border strikes and border closures',
      lastMajorEventDate: '2024',
      precedentCount: 3,
      precedentDescription: 'Recurring border crises, TTP resurgence post-2021, militant sanctuaries in Afghanistan',
      cyclicalRisk: 'Militant infiltration; seasonal operations',
    },
    whyItMatters: 'Nuclear-armed state at contested border; regional stability; displacement and humanitarian impact',
  },
  {
    id: 'dc',
    name: 'DC',
    subtext: 'Pentagon Pizza Index',
    lat: 38.9,
    lon: -77.0,
    location: 'Washington D.C., USA',
    keywords: ['pentagon', 'white house', 'congress', 'cia', 'nsa', 'washington', 'biden', 'trump', 'senate', 'supreme court', 'vance', 'elon'],
    agencies: ['Pentagon', 'CIA', 'NSA', 'State Dept'],
    description: 'US government and military headquarters. Intelligence community center.',
    status: 'Monitoring',
  },
  {
    id: 'silicon_valley',
    name: 'Silicon Valley',
    subtext: 'Tech/AI Hub',
    lat: 37.4,
    lon: -122.1,
    location: 'California, USA',
    keywords: ['google', 'apple', 'meta', 'nvidia', 'openai', 'anthropic', 'silicon valley', 'san francisco', 'palo alto', 'tech layoffs', 'ai', 'artificial intelligence'],
    agencies: ['Big Tech', 'AI Labs', 'VC'],
    description: 'Global tech center. AI development hub. Major economic indicator.',
    status: 'Monitoring',
  },
  {
    id: 'wall_street',
    name: 'Wall Street',
    subtext: 'Financial Hub',
    lat: 40.7,
    lon: -74.0,
    location: 'New York City, USA',
    keywords: ['wall street', 'fed', 'federal reserve', 'nyse', 'nasdaq', 'dow', 'sp500', 'stock market', 'goldman', 'jpmorgan', 'blackrock'],
    agencies: ['Fed', 'SEC', 'NYSE'],
    description: 'Global financial center. Market movements. Fed policy.',
    status: 'Monitoring',
  },
  {
    id: 'houston',
    name: 'Houston',
    subtext: 'Energy/Space',
    lat: 29.76,
    lon: -95.37,
    location: 'Texas, USA',
    keywords: ['houston', 'nasa', 'spacex', 'oil', 'energy', 'texas', 'exxon', 'chevron', 'lng'],
    agencies: ['NASA', 'Energy Corps'],
    description: 'Energy sector HQ. NASA mission control. Space industry.',
    status: 'Monitoring',
  },
  {
    id: 'moscow',
    name: 'Moscow',
    subtext: 'Kremlin Activity',
    lat: 55.75,
    lon: 37.6,
    location: 'Russia',
    keywords: ['kremlin', 'putin', 'russia', 'fsb', 'moscow', 'russian'],
    agencies: ['Kremlin', 'FSB', 'GRU', 'SVR'],
    description: 'Russian Federation command center. Military operations hub.',
    status: 'Monitoring',
    escalationScore: 4,
    escalationTrend: 'stable',
    escalationIndicators: ['Ukraine war ongoing', 'Mobilization potential', 'Nuclear rhetoric', 'Wagner aftermath'],
    history: {
      lastMajorEvent: 'Wagner mutiny',
      lastMajorEventDate: '2023-06-24',
      precedentCount: 2,
      precedentDescription: 'Crimea annexation 2014, Ukraine invasion 2022',
      cyclicalRisk: 'Victory Day (May 9) speeches, Putin addresses',
    },
    whyItMatters: 'Nuclear power at war; energy leverage over Europe; global order revisionism',
  },
  {
    id: 'beijing',
    name: 'Beijing',
    subtext: 'PLA/MSS Activity',
    lat: 39.9,
    lon: 116.4,
    location: 'China',
    keywords: ['beijing', 'xi', 'china', 'pla', 'ccp', 'chinese', 'jinping'],
    agencies: ['PLA', 'MSS', 'CCP Politburo'],
    description: 'Chinese Communist Party headquarters. PLA command center.',
    status: 'Monitoring',
    escalationScore: 3,
    escalationTrend: 'stable',
    escalationIndicators: ['Taiwan Strait exercises', 'South China Sea militarization', 'Tech decoupling', 'Xi third term'],
    history: {
      lastMajorEvent: 'Xi unprecedented third term',
      lastMajorEventDate: '2022-10-22',
      precedentCount: 3,
      precedentDescription: 'Tiananmen 1989, Hong Kong crackdown 2020, COVID lockdowns 2022',
      cyclicalRisk: 'Party Congress (every 5 years), Tiananmen anniversary (June 4)',
    },
    whyItMatters: 'Largest economy by PPP; primary US strategic competitor; Taiwan contingency risk',
  },
  {
    id: 'kyiv',
    name: 'Kyiv',
    subtext: 'Conflict Zone',
    lat: 50.45,
    lon: 30.5,
    location: 'Ukraine',
    keywords: ['kyiv', 'ukraine', 'zelensky', 'ukrainian', 'kiev'],
    agencies: ['Ukrainian Armed Forces', 'SBU'],
    description: 'Active conflict zone. NATO support operations.',
    status: 'Monitoring',
    escalationScore: 5,
    escalationTrend: 'stable',
    escalationIndicators: ['Active combat operations', 'Western weapons deliveries', 'Drone warfare escalation', 'Nuclear plant risks'],
    history: {
      lastMajorEvent: 'Russian full invasion',
      lastMajorEventDate: '2022-02-24',
      precedentCount: 2,
      precedentDescription: 'Crimea annexation 2014, Donbas war 2014-2022',
      cyclicalRisk: 'Spring/summer offensive season, Winter energy attacks',
    },
    whyItMatters: 'Largest European war since WWII; NATO Article 5 test; global food/energy security',
  },
  {
    id: 'taipei',
    name: 'Taipei',
    subtext: 'Strait Watch',
    lat: 25.03,
    lon: 121.5,
    location: 'Taiwan',
    keywords: ['taiwan', 'taipei', 'tsmc', 'strait', 'taiwanese'],
    agencies: ['ROC Military', 'TSMC'],
    description: 'Taiwan Strait tensions. Semiconductor supply chain.',
    status: 'Monitoring',
    escalationScore: 3,
    escalationTrend: 'stable',
    escalationIndicators: ['PLA exercises around Taiwan', 'US arms sales', 'TSMC Arizona fab', 'DPP governance'],
    history: {
      lastMajorEvent: 'Pelosi Taiwan visit',
      lastMajorEventDate: '2022-08-02',
      precedentCount: 3,
      precedentDescription: '1954-55 Strait Crisis, 1995-96 missile crisis, 2022 exercises',
      cyclicalRisk: 'US-Taiwan political visits, PRC National Day (Oct 1)',
    },
    whyItMatters: 'TSMC produces 90% of advanced chips; conflict would devastate global tech supply chains',
  },
  {
    id: 'tehran',
    name: 'Tehran',
    subtext: 'IRGC Activity',
    lat: 35.7,
    lon: 51.4,
    location: 'Iran',
    keywords: ['iran', 'tehran', 'irgc', 'khamenei', 'persian', 'iranian'],
    agencies: ['IRGC', 'Quds Force', 'MOIS'],
    description: 'Iranian nuclear program. Regional proxy operations.',
    status: 'Monitoring',
    escalationScore: 4,
    escalationTrend: 'escalating',
    escalationIndicators: ['Near-weapons-grade enrichment', 'Proxy attacks on Israel', 'Houthi coordination', 'Succession uncertainty'],
    history: {
      lastMajorEvent: 'JCPOA collapse acceleration',
      lastMajorEventDate: '2023-01-01',
      precedentCount: 4,
      precedentDescription: 'Revolution 1979, Iran-Iraq War, JCPOA negotiations, Soleimani assassination',
      cyclicalRisk: 'Quds Day (annually), Khamenei health status',
    },
    whyItMatters: 'Near-nuclear threshold state; controls Strait of Hormuz; Axis of Resistance coordinator',
  },
  {
    id: 'telaviv',
    name: 'Tel Aviv',
    subtext: 'Mossad/IDF',
    lat: 32.1,
    lon: 34.8,
    location: 'Israel',
    keywords: ['israel', 'idf', 'mossad', 'gaza', 'netanyahu', 'israeli', 'hamas', 'hezbollah'],
    agencies: ['IDF', 'Mossad', 'Shin Bet'],
    description: 'Military operations. Regional security. Intelligence activities.',
    status: 'Monitoring',
    escalationScore: 5,
    escalationTrend: 'stable',
    escalationIndicators: ['Gaza operations ongoing', 'Hezbollah northern front', 'Iran shadow war', 'Judicial crisis paused'],
    history: {
      lastMajorEvent: 'October 7 attacks',
      lastMajorEventDate: '2023-10-07',
      precedentCount: 5,
      precedentDescription: '1948 War, 1967 Six-Day War, 1973 Yom Kippur, Lebanon 2006, Gaza wars',
      cyclicalRisk: 'Jewish holidays, Ramadan tensions, election cycles',
    },
    whyItMatters: 'Regional escalation risk to multi-front war; US treaty ally; Iran confrontation flashpoint',
  },
  {
    id: 'pyongyang',
    name: 'Pyongyang',
    subtext: 'DPRK Watch',
    lat: 39.0,
    lon: 125.75,
    location: 'North Korea',
    keywords: ['north korea', 'kim', 'pyongyang', 'dprk', 'korean'],
    agencies: ['KPA', 'RGB', 'Lazarus Group'],
    description: 'Nuclear weapons program. Missile testing. Cyber operations.',
    status: 'Monitoring',
    escalationScore: 3,
    escalationTrend: 'stable',
    escalationIndicators: ['ICBM testing resumed', 'Russia arms cooperation', 'Satellite launches', 'Constitution change on ROK'],
    history: {
      lastMajorEvent: 'Hwasong-18 ICBM test',
      lastMajorEventDate: '2023-12-18',
      precedentCount: 4,
      precedentDescription: 'Korean War 1950-53, nuclear tests 2006-2017, Trump summits, missile tests ongoing',
      cyclicalRisk: 'Kim Il-sung birthday (April 15), party anniversaries',
    },
    whyItMatters: 'Nuclear-armed hermit state; ICBM can reach US mainland; cyber threat actor; Russia military supplier',
  },
  {
    id: 'london',
    name: 'London',
    subtext: 'GCHQ/MI6',
    lat: 51.5,
    lon: -0.12,
    location: 'United Kingdom',
    keywords: ['london', 'uk', 'britain', 'gchq', 'mi6', 'british'],
    agencies: ['MI6', 'GCHQ', 'MI5'],
    description: 'UK intelligence headquarters. Five Eyes member.',
    status: 'Monitoring',
  },
  {
    id: 'brussels',
    name: 'Brussels',
    subtext: 'NATO HQ',
    lat: 50.85,
    lon: 4.35,
    location: 'Belgium (NATO HQ)',
    keywords: ['nato', 'brussels', 'eu', 'european union', 'europe'],
    agencies: ['NATO', 'EU Commission'],
    description: 'NATO alliance headquarters. European Union center.',
    status: 'Monitoring',
  },
  {
    id: 'caracas',
    name: 'Caracas',
    subtext: 'Venezuela Crisis',
    lat: 10.5,
    lon: -66.9,
    location: 'Venezuela',
    keywords: ['venezuela', 'maduro', 'caracas', 'venezuelan'],
    agencies: ['Maduro Govt', 'SEBIN'],
    description: 'Political crisis. Economic sanctions. Regional instability.',
    status: 'Monitoring',
  },
  {
    id: 'mexico',
    name: 'Mexico City',
    subtext: 'Cartel Violence',
    lat: 23.6,
    lon: -102.5,
    location: 'Mexico',
    keywords: ['mexico', 'cartel', 'sinaloa', 'jalisco', 'narco', 'cjng', 'fentanyl', 'el chapo', 'national guard mexico', 'zetas', 'michoacan', 'juarez', 'tijuana', 'border violence', 'mexican army', 'sedena', 'extradition mexico'],
    agencies: ['Sedena', 'National Guard', 'DEA', 'FGR'],
    description: 'Cartel warfare, fentanyl trafficking, military deployments, state fragility in multiple regions.',
    status: 'Monitoring',
    escalationScore: 4,
    escalationTrend: 'escalating',
    escalationIndicators: ['Sinaloa cartel fragmentation', 'CJNG territorial expansion', 'Military deployed to multiple states', 'Record fentanyl seizures', 'Prison breaks and gang violence'],
    history: {
      lastMajorEvent: 'Sinaloa cartel leadership crisis',
      lastMajorEventDate: '2024-07-25',
      precedentCount: 5,
      precedentDescription: 'Decades of cartel wars (Sinaloa vs CJNG, Zetas era, Calderón drug war 2006, El Chapo captures)',
      cyclicalRisk: 'Election cycles trigger violence; cartel leadership changes spark turf wars',
    },
    whyItMatters: 'Largest US land border; fentanyl crisis killing 100k+ Americans/year; regional destabilization; migration driver',
  },
  {
    id: 'nuuk',
    name: 'Nuuk',
    subtext: 'Greenland Intel',
    lat: 64.18,
    lon: -51.7,
    location: 'Greenland (Denmark)',
    keywords: ['greenland', 'nuuk', 'arctic', 'denmark', 'danish'],
    agencies: ['Danish Defence', 'US Space Force', 'Arctic Council'],
    description: 'Arctic strategic territory. US military presence, sovereignty questions.',
    status: 'Monitoring',
  },
  // Middle East hotspots
  {
    id: 'riyadh',
    name: 'Riyadh',
    subtext: 'Saudi GIP/MBS',
    lat: 24.7,
    lon: 46.7,
    location: 'Saudi Arabia',
    keywords: ['saudi', 'riyadh', 'mbs', 'aramco', 'opec', 'saudi arabia'],
    agencies: ['GIP', 'Saudi Royal Court', 'Aramco'],
    description: 'Saudi Arabia power center. OPEC+ decisions. Regional influence.',
    status: 'Monitoring',
  },
  {
    id: 'cairo',
    name: 'Cairo',
    subtext: 'Egypt/GIS',
    lat: 30.0,
    lon: 31.2,
    location: 'Egypt',
    keywords: ['egypt', 'cairo', 'sisi', 'egyptian', 'suez'],
    agencies: ['GIS', 'Egyptian Armed Forces'],
    description: 'Egyptian command. Gaza border control. Suez Canal security.',
    status: 'Monitoring',
  },
  {
    id: 'baghdad',
    name: 'Baghdad',
    subtext: 'Iraq/PMF',
    lat: 33.3,
    lon: 44.4,
    location: 'Iraq',
    keywords: ['iraq', 'baghdad', 'iraqi', 'pmf', 'militia'],
    agencies: ['Iraqi Security Forces', 'PMF', 'US Embassy'],
    description: 'Iraqi government. Iran-backed militias. US military presence.',
    status: 'Monitoring',
  },
  {
    id: 'damascus',
    name: 'Damascus',
    subtext: 'Syria Crisis',
    lat: 33.5,
    lon: 36.3,
    location: 'Syria',
    keywords: ['syria', 'damascus', 'assad', 'syrian', 'hts'],
    agencies: ['Syrian Govt', 'HTS', 'Russian Forces', 'Turkish Forces'],
    description: 'Syrian civil war aftermath. Multiple foreign interventions.',
    status: 'Monitoring',
  },
  {
    id: 'doha',
    name: 'Doha',
    subtext: 'Qatar/Al Udeid',
    lat: 25.3,
    lon: 51.5,
    location: 'Qatar',
    keywords: ['qatar', 'doha', 'qatari', 'al jazeera'],
    agencies: ['Qatari State Security', 'CENTCOM Forward HQ'],
    description: 'Qatar diplomatic hub. US CENTCOM base. Al Jazeera HQ.',
    status: 'Monitoring',
  },
  {
    id: 'ankara',
    name: 'Ankara',
    subtext: 'Turkey/MIT',
    lat: 39.9,
    lon: 32.9,
    location: 'Turkey',
    keywords: ['turkey', 'ankara', 'erdogan', 'turkish', 'mit'],
    agencies: ['MIT', 'Turkish Armed Forces', 'AKP'],
    description: 'NATO member. Kurdish conflict. Syria/Libya operations.',
    status: 'Monitoring',
  },
  {
    id: 'beirut',
    name: 'Beirut',
    subtext: 'Lebanon/Hezbollah',
    lat: 33.9,
    lon: 35.5,
    location: 'Lebanon',
    keywords: ['lebanon', 'beirut', 'hezbollah', 'lebanese', 'nasrallah'],
    agencies: ['LAF', 'Hezbollah', 'UNIFIL'],
    description: 'Lebanon crisis. Hezbollah stronghold. Israel border tensions.',
    status: 'Monitoring',
  },
  {
    id: 'sanaa',
    name: "Sana'a",
    subtext: 'Yemen/Houthis',
    lat: 15.4,
    lon: 44.2,
    keywords: ['yemen', 'houthi', 'sanaa', 'yemeni', 'red sea'],
    agencies: ['Houthi Forces', 'Saudi Coalition', 'US Navy'],
    description: 'Yemen conflict. Houthi Red Sea attacks. Shipping disruption.',
    status: 'Monitoring',
    escalationScore: 4,
    escalationTrend: 'escalating',
    escalationIndicators: ['Red Sea shipping attacks', 'US/UK strikes on Yemen', 'Iran weapon supplies', 'Commercial ship seizures'],
    history: {
      lastMajorEvent: 'Red Sea campaign begins',
      lastMajorEventDate: '2023-11-19',
      precedentCount: 3,
      precedentDescription: 'Civil war since 2014, Saudi intervention 2015, US strikes 2024',
      cyclicalRisk: 'Ramadan, Gaza war linkage',
    },
    whyItMatters: 'Disrupting 12% of global trade via Suez; insurance costs spiking; Iran proxy demonstration',
  },
  {
    id: 'abudhabi',
    name: 'Abu Dhabi',
    subtext: 'UAE/ECSR',
    lat: 24.5,
    lon: 54.4,
    keywords: ['uae', 'abu dhabi', 'emirates', 'emirati', 'dubai'],
    agencies: ['ECSR', 'UAE Armed Forces'],
    description: 'UAE strategic hub. Regional military operations.',
    status: 'Monitoring',
  },
];

export const STRATEGIC_WATERWAYS: StrategicWaterway[] = [
  { id: 'taiwan_strait',    chokepointId: 'taiwan_strait',    name: 'TAIWAN STRAIT',      lat: 24.0,   lon: 119.5,  description: 'Critical shipping lane, PLA activity' },
  { id: 'malacca_strait',   chokepointId: 'malacca_strait',   name: 'MALACCA STRAIT',     lat: 2.5,    lon: 101.5,  description: 'Major oil shipping route' },
  { id: 'hormuz_strait',    chokepointId: 'hormuz_strait',    name: 'STRAIT OF HORMUZ',   lat: 26.5,   lon: 56.5,   description: 'Oil chokepoint, Iran control' },
  { id: 'bosphorus',        chokepointId: 'bosphorus',        name: 'BOSPHORUS STRAIT',   lat: 41.1,   lon: 29.0,   description: 'Black Sea access, Turkey control' },
  { id: 'suez',             chokepointId: 'suez',             name: 'SUEZ CANAL',         lat: 30.5,   lon: 32.3,   description: 'Europe-Asia shipping' },
  { id: 'panama',           chokepointId: 'panama',           name: 'PANAMA CANAL',       lat: 9.1,    lon: -79.7,  description: 'Americas shipping route' },
  { id: 'gibraltar',        chokepointId: 'gibraltar',        name: 'STRAIT OF GIBRALTAR',lat: 35.9,   lon: -5.6,   description: 'Mediterranean access, NATO control' },
  { id: 'bab_el_mandeb',    chokepointId: 'bab_el_mandeb',    name: 'BAB EL-MANDEB',      lat: 12.5,   lon: 43.3,   description: 'Red Sea chokepoint, Houthi attacks' },
  { id: 'cape_of_good_hope',chokepointId: 'cape_of_good_hope',name: 'CAPE OF GOOD HOPE',  lat: -34.36, lon: 18.49,  description: 'Suez bypass route, tanker traffic' },
  { id: 'dover_strait',     chokepointId: 'dover_strait',     name: 'DOVER STRAIT',       lat: 51.0,   lon: 1.5,    description: 'English Channel narrows, busiest shipping lane' },
  { id: 'korea_strait',     chokepointId: 'korea_strait',     name: 'KOREA STRAIT',       lat: 34.0,   lon: 129.0,  description: 'Japan-Korea shipping lane' },
  { id: 'kerch_strait',     chokepointId: 'kerch_strait',     name: 'KERCH STRAIT',       lat: 45.3,   lon: 36.6,   description: 'Black Sea-Azov access, Russia-Ukraine flashpoint' },
  { id: 'lombok_strait',    chokepointId: 'lombok_strait',    name: 'LOMBOK STRAIT',      lat: -8.5,   lon: 115.7,  description: 'Malacca bypass for deep-draft vessels' },
];


export const CONFLICT_ZONES: ConflictZone[] = [
  {
    id: 'iran',
    name: 'Iran War Theater',
    coords: [[44, 39.7], [46, 39.5], [48.5, 38.5], [50.5, 37.5], [53.5, 37.5], [55.5, 38], [57, 37.5], [58.5, 37.5], [61, 36.5], [63.5, 35.5], [63.5, 31.5], [62.5, 29.5], [61, 28], [59, 26.5], [57.5, 25.5], [56.5, 25.5], [55, 26.5], [54, 27], [52.5, 27.5], [50.5, 28.5], [49, 29.5], [47.5, 30], [46, 31.5], [45.5, 33.5], [45.8, 35.5], [46.5, 37], [44, 38.5], [44, 39.7]],
    center: [53, 32],
    intensity: 'high',
    parties: ['United States', 'Israel', 'Iran', 'IRGC'],
    casualties: '200+ killed (first 72hrs)',
    displaced: 'Millions fleeing major cities',
    keywords: ['iran', 'tehran', 'khamenei', 'epic fury', 'roaring lion', 'irgc', 'centcom', 'isfahan', 'bushehr'],
    startDate: 'Feb 28, 2026',
    location: 'Iran (nationwide)',
    description: 'Joint US-Israeli military operation (US: Operation Epic Fury / Israel: Operation Roaring Lion). 1000+ targets struck including military, nuclear, and leadership sites. Supreme Leader Khamenei killed in Tehran strikes. Iran retaliating with missiles and drones across the region.',
    keyDevelopments: ['Khamenei killed in Tehran strikes', '1000+ Iranian targets struck', '3 US service members KIA', 'Iranian missile/drone retaliation on Gulf states'],
  },
  {
    id: 'strait_hormuz',
    name: 'Strait of Hormuz Crisis',
    coords: [[54.5, 25.5], [55.5, 25], [57, 24.8], [58.5, 25], [58.5, 26.8], [57.5, 27.5], [56, 27.5], [54.5, 27], [54.5, 25.5]],
    center: [56.5, 26.2],
    intensity: 'high',
    parties: ['Iran (IRGC Navy)', 'US Navy (5th Fleet)', 'Coalition forces'],
    casualties: 'Maritime casualties reported',
    displaced: 'Global shipping halted',
    keywords: ['hormuz', 'strait', 'persian gulf', 'shipping', 'tanker', 'oil', 'blockade', 'navy'],
    startDate: 'Feb 28, 2026',
    location: 'Strait of Hormuz & Persian Gulf Approaches',
    description: 'Iran attempting to close Strait of Hormuz. IRGC naval/air operations active. Three tankers damaged. US sank 9 Iranian warships. GPS spoofing/jamming reported. 20-30% of global oil/gas transits through this chokepoint. Brent crude spiking to $80+.',
    keyDevelopments: ['Iran attempts Hormuz closure', '3 tankers damaged', 'US sinks 9 Iranian warships', 'Global shipping paused', 'Oil prices spike'],
  },
  {
    id: 'ukraine',
    name: 'Ukraine War',
    coords: [[22.137, 48.09], [22.558, 49.085], [22.66, 49.79], [23.2, 50.38], [23.82, 51.22], [24.09, 51.89], [25.6, 51.93], [27.85, 52.18], [30.17, 52.1], [32.76, 52.32], [34.4, 51.76], [36.28, 50.3], [38.25, 49.92], [40.18, 49.6], [40.08, 48.88], [39.68, 47.77], [38.21, 47.1], [36.65, 46.58], [35.19, 46.1], [36.47, 45.22], [36, 44.4], [33.55, 44.39], [32.48, 44.52], [31.78, 45.2], [31.44, 46.03], [30.76, 46.38], [29.6, 45.38], [28.21, 45.45], [28.68, 46.45], [28.24, 47.11], [26.62, 48.26], [24.58, 47.96], [22.87, 47.95], [22.137, 48.09]],
    center: [31, 48.5],
    intensity: 'high',
    parties: ['Russia', 'Ukraine', 'NATO (support)'],
    casualties: '500,000+ (est.)',
    displaced: '6.5M+ refugees',
    keywords: ['ukraine', 'russia', 'zelensky', 'putin', 'donbas', 'crimea'],
    startDate: 'Feb 24, 2022',
    location: 'Eastern Ukraine (Donetsk, Luhansk)',
    description: 'Full-scale Russian invasion of Ukraine. Active frontlines in Donetsk, Luhansk, Zaporizhzhia, and Kherson oblasts. Heavy artillery, drone warfare, and trench combat.',
    keyDevelopments: ['Battle of Bakhmut', 'Kursk incursion', 'Black Sea drone strikes', 'Infrastructure attacks'],
  },
  {
    id: 'gaza',
    name: 'Gaza Conflict',
    coords: [[34, 32], [35, 32], [35, 31], [34, 31]],
    center: [34.5, 31.5],
    intensity: 'high',
    parties: ['Israel', 'Hamas', 'Hezbollah', 'PIJ'],
    casualties: '40,000+ (Gaza)',
    displaced: '2M+ displaced',
    keywords: ['gaza', 'israel', 'hamas', 'palestinian'],
    startDate: 'Oct 7, 2023',
    location: 'Gaza Strip, Palestinian Territories',
    description: 'Israeli military operations in Gaza following October 7 attacks. Ground invasion, aerial bombardment. Humanitarian crisis. Regional escalation with Hezbollah.',
    keyDevelopments: ['Rafah ground operation', 'Humanitarian crisis', 'Hostage negotiations', 'Iran-backed attacks'],
  },
  {
    id: 'south_lebanon',
    name: 'Israel-Lebanon Border',
    coords: [[35.1, 33.0], [35.1, 33.4], [35.8, 33.4], [35.8, 33.0]],
    center: [35.4, 33.2],
    intensity: 'high',
    parties: ['Israel (IDF)', 'Hezbollah'],
    casualties: '500+ killed',
    displaced: '150k+ displaced',
    keywords: ['hezbollah', 'lebanon', 'israel', 'border', 'rocket', 'airstrike'],
    startDate: 'Oct 8, 2023',
    location: 'Southern Lebanon / Northern Israel',
    description: 'Cross-border artillery and rocket fire. Targeted assassinations. High risk of full-scale escalation.',
    keyDevelopments: ['Daily rocket fire', 'IDF airstrikes', 'Buffer zone evacuation', 'Litani River tensions'],
  },
  {
    id: 'yemen_redsea',
    name: 'Red Sea Crisis',
    coords: [
      // NW coast along Red Sea
      [42.6, 16.5],
      [42.8, 15.8],
      [42.7, 15.2],
      [42.9, 14.8],
      [43.1, 14.0],
      // Bab el-Mandeb Strait
      [43.3, 12.6],
      [43.5, 12.4],
      // Gulf of Aden coast (south)
      [44.0, 12.6],
      [44.8, 12.5],
      [45.2, 12.8],
      [45.5, 13.0],
      [46.0, 13.4],
      [46.8, 13.8],
      [47.5, 13.9],
      [48.0, 14.0],
      [48.5, 14.5],
      [49.5, 14.7],
      [50.5, 14.9],
      [51.5, 14.7],
      [52.0, 15.0],
      [52.2, 15.6],
      // Inland boundary (north)
      [51.5, 16.0],
      [50.0, 16.4],
      [48.5, 16.8],
      [47.0, 17.0],
      [46.0, 17.2],
      [45.0, 17.0],
      [44.5, 17.0],
      [43.5, 17.0],
      // Close
      [42.6, 16.5],
    ],
    center: [46, 14.5],
    intensity: 'high',
    parties: ['Houthis', 'US/UK Coalition', 'Yemen Govt'],
    casualties: 'Unknown (Maritime)',
    displaced: '4.5M+ (Yemen Civil War)',
    keywords: ['houthi', 'red sea', 'yemen', 'missile', 'drone', 'ship'],
    startDate: 'Nov 19, 2023',
    location: 'Red Sea & Gulf of Aden, Yemen',
    description: 'Houthi maritime campaign against commercial shipping. US/UK airstrikes on Houthi targets. Ongoing blockade attempts.',
    keyDevelopments: ['Ship hijackings', 'US airstrikes', 'Cable cuts', 'Sinking of Rubymar'],
  },
  {
    id: 'sudan',
    name: 'Sudan Civil War',
    coords: [
      [21.8, 22.0], [24.0, 21.9], [31.4, 22.0], [33.2, 22.0],
      [36.9, 22.0], [36.9, 19.5], [37.5, 18.2], [38.6, 18.0],
      [38.5, 17.4], [37.0, 16.6], [36.5, 14.5], [35.3, 12.2],
      [34.1, 10.6], [33.2, 9.6], [32.0, 9.8], [30.2, 9.4],
      [29.0, 9.8], [27.5, 9.5], [25.0, 10.2], [24.0, 12.5],
      [23.5, 15.6], [22.0, 16.0], [21.8, 20.0], [21.8, 22.0],
    ],
    center: [30, 15.5],
    intensity: 'high',
    parties: ['Sudanese Armed Forces (SAF)', 'Rapid Support Forces (RSF)', 'Allied militias'],
    casualties: '150,000+ killed (est.)',
    displaced: '14M+ internally displaced, 3M+ refugees',
    keywords: ['sudan', 'khartoum', 'darfur', 'rsf', 'saf', 'el fasher', 'port sudan', 'wad madani', 'al jazirah', 'famine', 'hemedti'],
    startDate: 'Apr 15, 2023',
    location: 'Sudan (nationwide)',
    description: 'Power struggle between SAF and RSF paramilitary has engulfed the entire country. RSF controls most of Darfur and Khartoum; SAF holds Port Sudan and eastern regions. World\'s largest displacement crisis. Famine conditions in multiple states.',
    keyDevelopments: ['Khartoum destruction', 'Darfur ethnic massacres', 'El Fasher siege', 'Wad Madani fall to RSF', 'Famine declared in North Darfur', 'SAF counter-offensives', 'Regional proxy involvement (UAE, Egypt)'],
  },
  {
    id: 'myanmar',
    name: 'Myanmar Civil War',
    coords: [
      [92.2, 21.0], [92.1, 23.7], [93.0, 24.2], [94.0, 25.0],
      [94.5, 26.5], [96.0, 28.3], [97.5, 28.2], [98.5, 27.5],
      [98.8, 25.5], [100.2, 23.5], [101.0, 21.5], [100.5, 20.0],
      [99.0, 18.0], [98.5, 16.0], [98.5, 13.0], [97.5, 10.5],
      [97.0, 10.0], [97.8, 12.5], [97.5, 14.5], [96.5, 16.0],
      [95.5, 17.5], [94.5, 18.5], [93.5, 19.5], [92.5, 20.0],
      [92.2, 21.0],
    ],
    center: [96.5, 20],
    intensity: 'high',
    parties: ['Military junta (Tatmadaw)', 'NUG / PDF', 'Arakan Army (AA)', 'MNDAA / TNLA / KIA', 'Ethnic armed organizations'],
    casualties: '50,000+ (est.)',
    displaced: '3M+ internally displaced',
    keywords: ['myanmar', 'burma', 'rohingya', 'shan', 'rakhine', 'arakan army', 'kachin', 'pdf', 'nug', 'coup', 'resistance', 'junta', 'tatmadaw'],
    startDate: 'Feb 1, 2021',
    location: 'Myanmar (nationwide)',
    description: 'Civil war following 2021 military coup. Resistance forces and ethnic armed organizations have captured significant territory. Junta losing control of border regions. Multiple coordinated offensives ongoing.',
    keyDevelopments: ['Operation 1027 (Shan State)', 'Lashio capture by MNDAA', 'AA controls most of Rakhine', 'Myawaddy capture', 'Junta airstrikes on civilians', 'Resistance advances in Sagaing'],
  },
  {
    id: 'korean_dmz',
    name: 'Korean Demilitarized Zone',
    intensity: 'low',
    parties: ['Republic of Korea', "Democratic People's Republic of Korea", 'United Nations Command'],
    startDate: 'Jul 27, 1953',
    location: 'Korean Peninsula (MDL)',
    description: '250km-long, 4km-wide buffer zone along the Military Demarcation Line established by the 1953 Korean Armistice Agreement. Despite its name, one of the most heavily militarized borders in the world.',
    center: [127.27, 38.14],
    coords: [
      [126.0955, 37.7876],
      [126.2448, 37.8175],
      [126.3927, 37.857],
      [126.5117, 37.9068],
      [126.6219, 37.9468],
      [126.6735, 37.9672],
      [126.775, 37.9875],
      [126.8936, 38.0173],
      [127.0409, 38.0665],
      [127.1676, 38.1351],
      [127.3004, 38.2363],
      [127.4476, 38.2679],
      [127.5784, 38.2679],
      [127.7175, 38.2879],
      [127.8476, 38.2979],
      [127.994, 38.3174],
      [128.1079, 38.3653],
      [128.1834, 38.4324],
      [128.262, 38.5312],
      [128.342, 38.6312],
      [128.3744, 38.634],
      [128.378, 38.6088],
      [128.2979, 38.5088],
      [128.2166, 38.4076],
      [128.1321, 38.3347],
      [128.006, 38.2826],
      [127.8524, 38.2621],
      [127.7225, 38.2521],
      [127.5816, 38.2321],
      [127.4524, 38.2321],
      [127.3196, 38.2037],
      [127.1924, 38.1049],
      [127.0591, 38.0335],
      [126.9064, 37.9827],
      [126.785, 37.9525],
      [126.6865, 37.9328],
      [126.6381, 37.9132],
      [126.5283, 37.8732],
      [126.4073, 37.823],
      [126.2552, 37.7825],
      [126.1045, 37.7524],
      [126.0777, 37.7665],
      [126.0955, 37.7876],
    ],
  },
  {
    id: 'pak_afghan',
    name: 'Pakistan–Afghanistan Border Conflict',
    coords: [
      [72.50, 35.70],
      [69.40, 31.69],
      [65.95, 29.33],
      [64.90, 30.29],
      [71.02, 36.55],
      [72.50, 35.70],
    ],
    center: [69, 31.8],
    intensity: 'medium',
    parties: ['Pakistan (Military)', 'TTP', 'Afghan Taliban'],
    casualties: 'Ongoing military and civilian casualties',
    displaced: 'Displacement along border areas',
    keywords: ['pakistan', 'afghanistan', 'ttp', 'taliban', 'torkham', 'chaman', 'waziristan', 'kpk', 'border', 'cross-border', 'airstrike'],
    startDate: 'Feb 21, 2026',
    location: 'Pakistan–Afghanistan border (KPK, Balochistan, Federally Administered Tribal Areas)',
    description: 'Escalating tensions along the Pakistan–Afghanistan border. Pakistan has conducted cross-border strikes targeting TTP sanctuaries in Afghan territory, prompting border closures and diplomatic friction with the Taliban government. Long-running dispute over militant safe havens and border security.',
    keyDevelopments: ['Pakistan cross-border strikes in Afghanistan', 'TTP attacks in KPK', 'Torkham/Chaman crossing tensions', 'Militant infiltration', 'Border closures'],
  },
];

// US Domestic bases (not in overseas dataset - these are CONUS bases)
const US_DOMESTIC_BASES: MilitaryBase[] = [
  { id: 'norfolk', name: 'Norfolk Naval', lat: 36.95, lon: -76.31, type: 'us-nato', description: 'World largest naval base. Atlantic Fleet HQ.' },
  { id: 'fort_liberty', name: 'Fort Liberty', lat: 35.14, lon: -79.0, type: 'us-nato', description: 'Army Special Ops. XVIII Airborne Corps.' },
  { id: 'pendleton', name: 'Camp Pendleton', lat: 33.38, lon: -117.4, type: 'us-nato', description: 'USMC West Coast. 1st Marine Division.' },
  { id: 'san_diego', name: 'Naval San Diego', lat: 32.68, lon: -117.13, type: 'us-nato', description: 'Pacific Fleet. Carrier homeport.' },
  { id: 'nellis', name: 'Nellis AFB', lat: 36.24, lon: -115.03, type: 'us-nato', description: 'Air combat training. Red Flag exercises.' },
  { id: 'langley', name: 'Langley AFB', lat: 37.08, lon: -76.36, type: 'us-nato', description: 'Air Combat Command HQ. F-22 wing.' },
  { id: 'cheyenne', name: 'Cheyenne Mtn', lat: 38.74, lon: -104.85, type: 'us-nato', description: 'NORAD. Missile warning, space control.' },
  { id: 'peterson', name: 'Peterson SFB', lat: 38.82, lon: -104.71, type: 'us-nato', description: 'US Space Command HQ. Space operations.' },
  { id: 'kings_bay', name: 'Kings Bay', lat: 30.8, lon: -81.52, type: 'us-nato', description: 'Ohio-class submarine base. Atlantic deterrent.' },
  { id: 'kitsap', name: 'Naval Kitsap', lat: 47.56, lon: -122.66, type: 'us-nato', description: 'Trident submarine base. Pacific deterrent.' },
  { id: 'yokosuka', name: 'Yokosuka', lat: 35.28, lon: 139.67, type: 'us-nato', description: 'US 7th Fleet HQ. Carrier strike group homeport.' },
  { id: 'rota', name: 'Naval Rota', lat: 36.62, lon: -6.35, type: 'us-nato', description: 'US/Spanish naval base. Aegis destroyers, Atlantic access.' },
  { id: 'incirlik', name: 'Incirlik AB', lat: 37.0, lon: 35.43, type: 'us-nato', description: 'US/Turkish base. Nuclear weapons storage site.' },
  // Russian domestic bases (not overseas)
  { id: 'kaliningrad', name: 'Kaliningrad', lat: 54.71, lon: 20.51, type: 'russia', description: 'Russian exclave. Baltic Fleet, Iskander missiles.' },
  { id: 'sevastopol', name: 'Sevastopol', lat: 44.6, lon: 33.5, type: 'russia', description: 'Black Sea Fleet HQ. Crimea (occupied).' },
  { id: 'vladivostok', name: 'Vladivostok', lat: 43.12, lon: 131.9, type: 'russia', description: 'Pacific Fleet HQ. Nuclear submarines.' },
  { id: 'murmansk', name: 'Murmansk', lat: 68.97, lon: 33.09, type: 'russia', description: 'Northern Fleet. Strategic nuclear submarines.' },
];

// Merge expanded bases with domestic bases, deduplicating by proximity
function mergeAndDeduplicateBases(): MilitaryBase[] {
  const allBases = [...MILITARY_BASES_EXPANDED];
  const usedCoords = new Set<string>();

  // Index expanded bases by approximate location
  for (const base of MILITARY_BASES_EXPANDED) {
    const key = `${Math.round(base.lat * 10)}_${Math.round(base.lon * 10)}`;
    usedCoords.add(key);
  }

  // Add domestic bases if not already present (by location proximity)
  for (const base of US_DOMESTIC_BASES) {
    const key = `${Math.round(base.lat * 10)}_${Math.round(base.lon * 10)}`;
    if (!usedCoords.has(key)) {
      allBases.push(base);
      usedCoords.add(key);
    }
  }

  return allBases;
}

// Combined military bases: 210 from ASIAR dataset + unique domestic bases
// Total: ~220 bases from 9 operators (US-NATO, UK, France, Russia, China, India, Italy, UAE, Japan)
export const MILITARY_BASES: MilitaryBase[] = mergeAndDeduplicateBases();

// Static baseline — authoritative live data is in Redis key infrastructure:submarine-cables:v1
// (seeded weekly by scripts/seed-submarine-cables.mjs on Railway)
export const UNDERSEA_CABLES: UnderseaCable[] = [
  // === TRANS-ATLANTIC ===
  {
    id: 'marea',
    name: 'MAREA',
    points: [[-76.1, 36.8], [-72.4, 37.4], [-50.4, 37.9], [-23.4, 44.7], [-9.9, 46.6], [-4.5, 44.7], [-2.9, 43.3]],
    major: true,
    rfsYear: 2018,
    owners: ['Meta', 'Microsoft', 'Telxius'],
    landingPoints: [
      { country: 'ES', countryName: 'Spain', city: 'Bilbao', lat: 43.27, lon: -2.95 },
      { country: 'US', countryName: 'United States', city: 'Virginia Beach', lat: 36.76, lon: -76.06 },
    ],
    countriesServed: [
      { country: 'ES', capacityShare: 0.30, isRedundant: true },
      { country: 'US', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'grace_hopper',
    name: 'Grace Hopper',
    points: [[-72.9, 40.8], [-61.2, 38.7], [-23.4, 46], [-8.1, 49.7], [-9.9, 46.9], [-2.9, 43.3]],
    major: true,
    rfsYear: 2022,
    owners: ['Google'],
    landingPoints: [
      { country: 'ES', countryName: 'Spain', city: 'Bilbao', lat: 43.27, lon: -2.95 },
      { country: 'GB', countryName: 'United Kingdom', city: 'Bude', lat: 50.83, lon: -4.54 },
      { country: 'US', countryName: 'United States', city: 'Bellport', lat: 40.76, lon: -72.94 },
    ],
    countriesServed: [
      { country: 'ES', capacityShare: 0.30, isRedundant: true },
      { country: 'GB', capacityShare: 0.30, isRedundant: true },
      { country: 'US', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'havfrueaec_2',
    name: 'Havfrue/AEC-2',
    points: [[8.3, 55.8], [-9.7, 53.8], [8, 58.2], [-74.1, 40.2]],
    major: true,
    rfsYear: 2020,
    owners: ['Bulk Infrastructure', 'EXA Infrastructure', 'Google', 'Meta'],
    landingPoints: [
      { country: 'DK', countryName: 'Denmark', city: 'Blaabjerg', lat: 55.75, lon: 8.33 },
      { country: 'IE', countryName: 'Ireland', city: 'Lecanvey', lat: 53.77, lon: -9.7 },
      { country: 'NO', countryName: 'Norway', city: 'Kristiansand', lat: 58.15, lon: 8 },
      { country: 'US', countryName: 'United States', city: 'Wall Township', lat: 40.15, lon: -74.06 },
    ],
    countriesServed: [
      { country: 'DK', capacityShare: 0.25, isRedundant: true },
      { country: 'IE', capacityShare: 0.25, isRedundant: true },
      { country: 'NO', capacityShare: 0.25, isRedundant: true },
      { country: 'US', capacityShare: 0.25, isRedundant: true },
    ],
  },
  {
    id: 'dunant',
    name: 'Dunant',
    points: [[-2, 46.7], [-5.4, 46.6], [-16.2, 45.3], [-39.6, 39.7], [-61.2, 37.6], [-74.7, 36.7], [-76.1, 36.8]],
    major: true,
    rfsYear: 2021,
    owners: ['Google'],
    landingPoints: [
      { country: 'FR', countryName: 'France', city: 'Saint-Hilaire-de-Riez', lat: 46.69, lon: -1.97 },
      { country: 'US', countryName: 'United States', city: 'Virginia Beach', lat: 36.76, lon: -76.06 },
    ],
    countriesServed: [
      { country: 'FR', capacityShare: 0.30, isRedundant: true },
      { country: 'US', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'amitie',
    name: 'Amitie',
    points: [[-71, 42.5], [-50.4, 43.6], [-16.2, 50.2], [-3.1, 45.1], [-7.2, 50.9], [-4.5, 50.8]],
    major: true,
    rfsYear: 2023,
    owners: ['EXA Infrastructure', 'Meta', 'Microsoft', 'Orange', 'Vodafone'],
    landingPoints: [
      { country: 'FR', countryName: 'France', city: 'Le Porge', lat: 44.89, lon: -1.21 },
      { country: 'GB', countryName: 'United Kingdom', city: 'Bude', lat: 50.83, lon: -4.54 },
      { country: 'US', countryName: 'United States', city: 'Lynn', lat: 42.46, lon: -70.95 },
    ],
    countriesServed: [
      { country: 'FR', capacityShare: 0.30, isRedundant: true },
      { country: 'GB', capacityShare: 0.30, isRedundant: true },
      { country: 'US', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'atlantic_crossing_1_ac_1',
    name: 'Atlantic Crossing-1 (AC-1)',
    points: [[8.4, 54.9], [4.7, 52.5], [-5.7, 50.1], [-72.9, 40.8]],
    major: true,
    rfsYear: 1998,
    owners: ['Colt'],
    landingPoints: [
      { country: 'DE', countryName: 'Germany', city: 'Sylt', lat: 54.9, lon: 8.38 },
      { country: 'NL', countryName: 'Netherlands', city: 'Beverwijk', lat: 52.49, lon: 4.66 },
      { country: 'GB', countryName: 'United Kingdom', city: 'Whitesands Bay', lat: 50.08, lon: -5.7 },
      { country: 'US', countryName: 'United States', city: 'Brookhaven', lat: 40.77, lon: -72.91 },
    ],
    countriesServed: [
      { country: 'DE', capacityShare: 0.25, isRedundant: true },
      { country: 'NL', capacityShare: 0.25, isRedundant: true },
      { country: 'GB', capacityShare: 0.25, isRedundant: true },
      { country: 'US', capacityShare: 0.25, isRedundant: true },
    ],
  },
  {
    id: 'apollo',
    name: 'Apollo',
    points: [[-74, 40.1], [-50.4, 38.5], [-5.4, 49.1], [-71.1, 40.2], [-39.6, 45], [-8.1, 50.5], [-4.5, 50.8]],
    major: true,
    rfsYear: 2003,
    owners: ['Vodafone'],
    landingPoints: [
      { country: 'FR', countryName: 'France', city: 'Lannion', lat: 48.73, lon: -3.46 },
      { country: 'GB', countryName: 'United Kingdom', city: 'Bude', lat: 50.83, lon: -4.54 },
      { country: 'US', countryName: 'United States', city: 'Manasquan', lat: 40.12, lon: -74.05 },
      { country: 'US', countryName: 'United States', city: 'Shirley', lat: 40.8, lon: -72.87 },
    ],
    countriesServed: [
      { country: 'FR', capacityShare: 0.30, isRedundant: true },
      { country: 'GB', capacityShare: 0.30, isRedundant: true },
      { country: 'US', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'nuvem',
    name: 'Nuvem',
    points: [[-64.7, 32.4], [-25.9, 38.3], [-10.3, 38.1], [-25.7, 37.7], [-64.5, 32.1], [-26.2, 37.6]],
    major: true,
    rfsYear: 2026,
    owners: ['Google'],
    landingPoints: [
      { country: 'BM', countryName: 'Bermuda', city: 'Annie\'s Bay', lat: 32.36, lon: -64.66 },
      { country: 'PT', countryName: 'Portugal', city: 'Sines', lat: 37.96, lon: -8.87 },
      { country: 'PT', countryName: 'Portugal', city: 'São Miguel', lat: 37.74, lon: -25.68 },
      { country: 'US', countryName: 'United States', city: 'Myrtle Beach', lat: 33.69, lon: -78.88 },
    ],
    countriesServed: [
      { country: 'BM', capacityShare: 0.30, isRedundant: true },
      { country: 'PT', capacityShare: 0.30, isRedundant: true },
      { country: 'US', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'flag_atlantic_1_fa_1',
    name: 'FLAG Atlantic-1 (FA-1)',
    points: [[-2.8, 48.5], [-5.7, 50.1], [-73.7, 40.6], [-73.3, 40.9]],
    major: true,
    rfsYear: 2001,
    owners: ['FLAG'],
    landingPoints: [
      { country: 'FR', countryName: 'France', city: 'Plerin', lat: 48.53, lon: -2.77 },
      { country: 'GB', countryName: 'United Kingdom', city: 'Skewjack', lat: 50.06, lon: -5.68 },
      { country: 'US', countryName: 'United States', city: 'Island Park', lat: 40.6, lon: -73.66 },
      { country: 'US', countryName: 'United States', city: 'Northport', lat: 40.91, lon: -73.34 },
    ],
    countriesServed: [
      { country: 'FR', capacityShare: 0.30, isRedundant: true },
      { country: 'GB', capacityShare: 0.30, isRedundant: true },
      { country: 'US', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'tata_tgn_atlantic_south',
    name: 'Tata TGN-Atlantic South',
    points: [[-3, 51.2], [-5.4, 51.2], [-10.8, 50.3], [-23.4, 49.6], [-50.4, 42.6], [-68.4, 40.7], [-74.1, 40.2]],
    major: true,
    rfsYear: 2001,
    owners: ['Tata Communications'],
    landingPoints: [
      { country: 'GB', countryName: 'United Kingdom', city: 'Highbridge', lat: 51.22, lon: -2.98 },
      { country: 'US', countryName: 'United States', city: 'Wall Township', lat: 40.15, lon: -74.06 },
    ],
    countriesServed: [
      { country: 'GB', capacityShare: 0.30, isRedundant: true },
      { country: 'US', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'tata_tgn_western_europe',
    name: 'Tata TGN-Western Europe',
    points: [[-2.9, 43.3], [-7, 48.1], [-4, 51.3], [-5.4, 51.1], [-15.3, 44.7], [-10.8, 38.7], [-9.1, 38.6]],
    major: true,
    rfsYear: 2002,
    owners: ['Tata Communications'],
    landingPoints: [
      { country: 'PT', countryName: 'Portugal', city: 'Seixal', lat: 38.64, lon: -9.11 },
      { country: 'ES', countryName: 'Spain', city: 'Bilbao', lat: 43.27, lon: -2.95 },
      { country: 'GB', countryName: 'United Kingdom', city: 'Highbridge', lat: 51.22, lon: -2.98 },
    ],
    countriesServed: [
      { country: 'PT', capacityShare: 0.30, isRedundant: true },
      { country: 'ES', capacityShare: 0.30, isRedundant: true },
      { country: 'GB', capacityShare: 0.30, isRedundant: true },
    ],
  },

  // === TRANS-PACIFIC ===
  {
    id: 'faster',
    name: 'FASTER',
    points: [[136.9, 34.3], [149.4, 37.6], [140.4, 34.4], [-129.6, 43.7], [135, 30.3], [121.5, 25.2]],
    major: true,
    rfsYear: 2016,
    owners: ['China Mobile', 'China Telecom', 'Google', 'KDDI', 'Singtel', 'TIME dotCom'],
    landingPoints: [
      { country: 'JP', countryName: 'Japan', city: 'Chikura', lat: 34.98, lon: 139.95 },
      { country: 'JP', countryName: 'Japan', city: 'Shima', lat: 34.34, lon: 136.87 },
      { country: 'TW', countryName: 'Taiwan', city: 'Tanshui', lat: 25.18, lon: 121.46 },
      { country: 'US', countryName: 'United States', city: 'Bandon', lat: 43.12, lon: -124.41 },
    ],
    countriesServed: [
      { country: 'JP', capacityShare: 0.30, isRedundant: true },
      { country: 'TW', capacityShare: 0.30, isRedundant: true },
      { country: 'US', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'southern_cross_cable_network_sccn',
    name: 'Southern Cross Cable Network (SCCN)',
    points: [[174.8, -36.8], [178.9, -18], [-168.3, -10.2], [-123, 45.5], [-160, 18.7], [-158.1, 21.4]],
    major: true,
    rfsYear: 2000,
    owners: ['Southern Cross Cable Network'],
    landingPoints: [
      { country: 'AU', countryName: 'Australia', city: 'Alexandria', lat: -33.91, lon: 151.2 },
      { country: 'AU', countryName: 'Australia', city: 'Brookvale', lat: -33.76, lon: 151.27 },
      { country: 'FJ', countryName: 'Fiji', city: 'Suva', lat: -18.12, lon: 178.44 },
      { country: 'NZ', countryName: 'New Zealand', city: 'Takapuna', lat: -36.79, lon: 174.77 },
      { country: 'NZ', countryName: 'New Zealand', city: 'Whenuapai', lat: -36.79, lon: 174.62 },
      { country: 'US', countryName: 'United States', city: 'Hillsboro', lat: 45.52, lon: -122.99 },
      { country: 'US', countryName: 'United States', city: 'Kahe Point', lat: 21.35, lon: -158.13 },
      { country: 'US', countryName: 'United States', city: 'Morro Bay', lat: 35.37, lon: -120.85 },
      { country: 'US', countryName: 'United States', city: 'Spencer Beach', lat: 20.02, lon: -155.82 },
    ],
    countriesServed: [
      { country: 'AU', capacityShare: 0.25, isRedundant: true },
      { country: 'FJ', capacityShare: 0.25, isRedundant: true },
      { country: 'NZ', capacityShare: 0.25, isRedundant: true },
      { country: 'US', capacityShare: 0.25, isRedundant: true },
    ],
  },
  {
    id: 'curie',
    name: 'Curie',
    points: [[-71.6, -33], [-85.5, -6.6], [-98.1, 12.6], [-118.8, 27.8], [-118.4, 33.9], [-79.4, 7.3], [-79.6, 9]],
    major: true,
    rfsYear: 2020,
    owners: ['Google'],
    landingPoints: [
      { country: 'CL', countryName: 'Chile', city: 'Valparaíso', lat: -33.05, lon: -71.62 },
      { country: 'PA', countryName: 'Panama', city: 'Balboa', lat: 8.95, lon: -79.57 },
      { country: 'US', countryName: 'United States', city: 'El Segundo', lat: 33.92, lon: -118.42 },
    ],
    countriesServed: [
      { country: 'CL', capacityShare: 0.30, isRedundant: true },
      { country: 'PA', capacityShare: 0.30, isRedundant: true },
      { country: 'US', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'trans_pacific_express_tpe_cable_system',
    name: 'Trans-Pacific Express (TPE) Cable System',
    points: [[-123.9, 45.6], [121.9, 31.8], [125.3, 27.6], [132.7, 30.7], [120.8, 35.4], [149.4, 37.9], [180, 46.6]],
    major: true,
    rfsYear: 2008,
    owners: ['AT&T', 'China Telecom', 'China Unicom', 'Chunghwa Telecom', 'KT', 'NTT', 'Verizon'],
    landingPoints: [
      { country: 'CN', countryName: 'China', city: 'Chongming', lat: 31.62, lon: 121.4 },
      { country: 'CN', countryName: 'China', city: 'Qingdao', lat: 36.09, lon: 120.34 },
      { country: 'JP', countryName: 'Japan', city: 'Maruyama', lat: 35.01, lon: 139.98 },
      { country: 'KR', countryName: 'South Korea', city: 'Geoje', lat: 34.89, lon: 128.62 },
      { country: 'TW', countryName: 'Taiwan', city: 'Tanshui', lat: 25.18, lon: 121.46 },
      { country: 'US', countryName: 'United States', city: 'Nedonna Beach', lat: 45.64, lon: -123.94 },
    ],
    countriesServed: [
      { country: 'CN', capacityShare: 0.20, isRedundant: true },
      { country: 'JP', capacityShare: 0.20, isRedundant: true },
      { country: 'KR', capacityShare: 0.20, isRedundant: true },
      { country: 'TW', capacityShare: 0.20, isRedundant: true },
      { country: 'US', capacityShare: 0.20, isRedundant: true },
    ],
  },
  {
    id: 'new_cross_pacific_ncp_cable_system',
    name: 'New Cross Pacific (NCP) Cable System',
    points: [[-124, 45.2], [143.1, 34.7], [122.2, 30.9], [128.2, 31.7], [131.4, 29.1], [121.3, 31.1], [121.4, 31.6]],
    major: true,
    rfsYear: 2018,
    owners: ['China Mobile', 'China Telecom', 'China Unicom', 'Chunghwa Telecom', 'KT', 'Microsoft', 'Softbank'],
    landingPoints: [
      { country: 'CN', countryName: 'China', city: 'Chongming', lat: 31.62, lon: 121.4 },
      { country: 'CN', countryName: 'China', city: 'Lingang', lat: 30.94, lon: 121.9 },
      { country: 'CN', countryName: 'China', city: 'Nanhui', lat: 30.86, lon: 121.93 },
      { country: 'JP', countryName: 'Japan', city: 'Maruyama', lat: 35.01, lon: 139.98 },
      { country: 'KR', countryName: 'South Korea', city: 'Busan', lat: 35.17, lon: 129 },
      { country: 'TW', countryName: 'Taiwan', city: 'Toucheng', lat: 24.86, lon: 121.8 },
      { country: 'US', countryName: 'United States', city: 'Pacific City', lat: 45.2, lon: -123.96 },
    ],
    countriesServed: [
      { country: 'CN', capacityShare: 0.20, isRedundant: true },
      { country: 'JP', capacityShare: 0.20, isRedundant: true },
      { country: 'KR', capacityShare: 0.20, isRedundant: true },
      { country: 'TW', capacityShare: 0.20, isRedundant: true },
      { country: 'US', capacityShare: 0.20, isRedundant: true },
    ],
  },
  {
    id: 'pacific_light_cable_network_plcn',
    name: 'Pacific Light Cable Network (PLCN)',
    points: [[126, 21], [121.9, 15.8], [122.2, 24.8], [138.6, 25.8], [-120.6, 33.6], [-180, 43.4]],
    major: true,
    rfsYear: 2022,
    owners: ['Google', 'Meta'],
    landingPoints: [
      { country: 'PH', countryName: 'Philippines', city: 'Baler', lat: 15.76, lon: 121.56 },
      { country: 'TW', countryName: 'Taiwan', city: 'Toucheng', lat: 24.86, lon: 121.8 },
      { country: 'US', countryName: 'United States', city: 'El Segundo', lat: 33.92, lon: -118.42 },
    ],
    countriesServed: [
      { country: 'PH', capacityShare: 0.30, isRedundant: true },
      { country: 'TW', capacityShare: 0.30, isRedundant: true },
      { country: 'US', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'jupiter',
    name: 'JUPITER',
    points: [[-118.4, 33.9], [180, 44.1], [140.4, 34.7], [142, 34.4], [124.6, 15.2], [-138.5, 41.4]],
    major: true,
    rfsYear: 2020,
    owners: ['Amazon Web Services', 'Meta', 'NTT', 'PCCW', 'PLDT', 'Softbank'],
    landingPoints: [
      { country: 'JP', countryName: 'Japan', city: 'Maruyama', lat: 35.01, lon: 139.98 },
      { country: 'JP', countryName: 'Japan', city: 'Shima', lat: 34.34, lon: 136.87 },
      { country: 'PH', countryName: 'Philippines', city: 'Daet', lat: 14.12, lon: 122.95 },
      { country: 'US', countryName: 'United States', city: 'Cloverdale', lat: 45.23, lon: -123.96 },
      { country: 'US', countryName: 'United States', city: 'Hermosa Beach', lat: 33.86, lon: -118.4 },
    ],
    countriesServed: [
      { country: 'JP', capacityShare: 0.30, isRedundant: true },
      { country: 'PH', capacityShare: 0.30, isRedundant: true },
      { country: 'US', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'unityeac_pacific',
    name: 'Unity/EAC-Pacific',
    points: [[140, 35], [141.3, 34.9], [160.2, 41.4], [-118.4, 33.8], [-129.6, 37.9], [-180, 44.7]],
    major: true,
    rfsYear: 2010,
    owners: ['Bharti Airtel', 'Google', 'KDDI', 'Singtel', 'TIME dotCom', 'Telstra'],
    landingPoints: [
      { country: 'JP', countryName: 'Japan', city: 'Chikura', lat: 34.98, lon: 139.95 },
      { country: 'US', countryName: 'United States', city: 'Redondo Beach', lat: 33.84, lon: -118.39 },
    ],
    countriesServed: [
      { country: 'JP', capacityShare: 0.30, isRedundant: true },
      { country: 'US', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'pacific_crossing_1_pc_1',
    name: 'Pacific Crossing-1 (PC-1)',
    points: [[140.6, 36.4], [136.9, 34.3], [-120.6, 35.1], [-122.3, 47.9]],
    major: true,
    rfsYear: 1999,
    owners: ['Pacific Crossing'],
    landingPoints: [
      { country: 'JP', countryName: 'Japan', city: 'Ajigaura', lat: 36.38, lon: 140.61 },
      { country: 'JP', countryName: 'Japan', city: 'Shima', lat: 34.34, lon: 136.87 },
      { country: 'US', countryName: 'United States', city: 'Grover Beach', lat: 35.12, lon: -120.62 },
      { country: 'US', countryName: 'United States', city: 'Harbour Pointe', lat: 47.89, lon: -122.3 },
    ],
    countriesServed: [
      { country: 'JP', capacityShare: 0.30, isRedundant: true },
      { country: 'US', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'topaz',
    name: 'Topaz',
    points: [[138.6, 33.2], [120.9, 22.3], [-151.2, 49.6], [142.2, 36.9], [140.8, 33.9], [-123.1, 49.3]],
    major: true,
    rfsYear: 2023,
    owners: ['Google'],
    landingPoints: [
      { country: 'CA', countryName: 'Canada', city: 'Port Alberni', lat: 49.23, lon: -124.81 },
      { country: 'CA', countryName: 'Canada', city: 'Vancouver', lat: 49.26, lon: -123.11 },
      { country: 'JP', countryName: 'Japan', city: 'Shima', lat: 34.34, lon: 136.87 },
      { country: 'JP', countryName: 'Japan', city: 'Takahagi', lat: 36.71, lon: 140.72 },
      { country: 'TW', countryName: 'Taiwan', city: 'Dawu', lat: 22.34, lon: 120.89 },
    ],
    countriesServed: [
      { country: 'CA', capacityShare: 0.30, isRedundant: true },
      { country: 'JP', capacityShare: 0.30, isRedundant: true },
      { country: 'TW', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'echo',
    name: 'Echo',
    points: [[180, 26.3], [143.5, 13.4], [123.7, -6.5], [104.8, 1.2], [133.6, 7.7], [-163.8, 33.3], [-180, 26.3]],
    major: true,
    rfsYear: 2025,
    owners: ['Google', 'Meta'],
    landingPoints: [
      { country: 'GU', countryName: 'Guam', city: 'Agat', lat: 13.39, lon: 144.66 },
      { country: 'GU', countryName: 'Guam', city: 'Piti', lat: 13.46, lon: 144.69 },
      { country: 'ID', countryName: 'Indonesia', city: 'Tanjung Pakis', lat: -5.98, lon: 107.12 },
      { country: 'PW', countryName: 'Palau', city: 'Ngeremlengui', lat: 7.53, lon: 134.56 },
      { country: 'SG', countryName: 'Singapore', city: 'Changi North', lat: 1.39, lon: 103.99 },
      { country: 'US', countryName: 'United States', city: 'Eureka', lat: 40.8, lon: -124.16 },
    ],
    countriesServed: [
      { country: 'GU', capacityShare: 0.20, isRedundant: true },
      { country: 'ID', capacityShare: 0.20, isRedundant: true },
      { country: 'PW', capacityShare: 0.20, isRedundant: true },
      { country: 'SG', capacityShare: 0.20, isRedundant: true },
      { country: 'US', capacityShare: 0.20, isRedundant: true },
    ],
  },
  {
    id: 'southern_cross_next',
    name: 'Southern Cross NEXT',
    points: [[151.2, -33.9], [180, -18.9], [-175.5, -14.6], [-138.6, 23.3], [-171.4, -9.3], [179.3, -18.9], [179.5, -19.3]],
    major: true,
    rfsYear: 2022,
    owners: ['Southern Cross Cable Network'],
    landingPoints: [
      { country: 'AU', countryName: 'Australia', city: 'Alexandria', lat: -33.91, lon: 151.2 },
      { country: 'FJ', countryName: 'Fiji', city: 'Savusavu', lat: -16.81, lon: 179.35 },
      { country: 'FJ', countryName: 'Fiji', city: 'Suva', lat: -18.12, lon: 178.44 },
      { country: 'KI', countryName: 'Kiribati', city: 'Tabwakea', lat: 1.87, lon: -157.43 },
      { country: 'NZ', countryName: 'New Zealand', city: 'Takapuna', lat: -36.79, lon: 174.77 },
      { country: 'TK', countryName: 'Tokelau', city: 'Nukunonu', lat: -9.17, lon: -171.81 },
      { country: 'US', countryName: 'United States', city: 'Hermosa Beach', lat: 33.86, lon: -118.4 },
    ],
    countriesServed: [
      { country: 'AU', capacityShare: 0.17, isRedundant: true },
      { country: 'FJ', capacityShare: 0.17, isRedundant: true },
      { country: 'KI', capacityShare: 0.17, isRedundant: true },
      { country: 'NZ', capacityShare: 0.17, isRedundant: true },
      { country: 'TK', capacityShare: 0.17, isRedundant: true },
      { country: 'US', capacityShare: 0.17, isRedundant: true },
    ],
  },
  {
    id: 'hawaiki',
    name: 'Hawaiki',
    points: [[174.6, -36.1], [151.2, -33.9], [-173.7, -11.9], [-153, 25.3], [-173.7, -11.9], [165.6, -34.1], [-174, -18.6]],
    major: true,
    rfsYear: 2018,
    owners: ['BW Digital'],
    landingPoints: [
      { country: 'AS', countryName: 'American Samoa', city: 'Pago Pago', lat: -14.28, lon: -170.7 },
      { country: 'AU', countryName: 'Australia', city: 'Sydney', lat: -33.87, lon: 151.21 },
      { country: 'NZ', countryName: 'New Zealand', city: 'Mangawhai', lat: -36.13, lon: 174.57 },
      { country: 'TO', countryName: 'Tonga', city: 'Neiafu', lat: -18.65, lon: -173.98 },
      { country: 'US', countryName: 'United States', city: 'Hillsboro', lat: 45.52, lon: -122.99 },
      { country: 'US', countryName: 'United States', city: 'Kapolei', lat: 21.34, lon: -158.06 },
    ],
    countriesServed: [
      { country: 'AS', capacityShare: 0.20, isRedundant: true },
      { country: 'AU', capacityShare: 0.20, isRedundant: true },
      { country: 'NZ', capacityShare: 0.20, isRedundant: true },
      { country: 'TO', capacityShare: 0.20, isRedundant: true },
      { country: 'US', capacityShare: 0.20, isRedundant: true },
    ],
  },

  // === ASIA-EUROPE ===
  {
    id: 'seamewe_6',
    name: 'SeaMeWe-6',
    points: [[50.6, 26.2], [92, 21.4], [43.2, 11.6], [32.3, 31.3], [33.1, 28.4], [5.4, 43.3], [80.2, 13.1], [72.9, 19.1], [101.4, 2.8], [73.5, 4.2], [58.4, 23.6], [67, 24.9], [51.5, 25.3], [38.1, 24.1], [103.7, 1.3], [80.5, 5.9], [54.4, 24.4]],
    major: true,
    rfsYear: 2027,
    owners: ['Bahrain Telecommunications Company (Batelco)', 'Bangladesh Submarine Cable Company Limited (BSCCL)', 'Bharti Airtel', 'China Unicom', 'Dhiraagu', 'Djibouti Telecom', 'Microsoft', 'Mobily', 'Orange', 'PCCW', 'Singtel', 'Sri Lanka Telecom', 'Telecom Egypt', 'Telekom Malaysia', 'Telin', 'Transworld'],
    landingPoints: [
      { country: 'BH', countryName: 'Bahrain', city: 'Manama', lat: 26.23, lon: 50.58 },
      { country: 'BD', countryName: 'Bangladesh', city: 'Cox’s Bazar', lat: 21.43, lon: 91.99 },
      { country: 'DJ', countryName: 'Djibouti', city: 'Djibouti City', lat: 11.59, lon: 43.15 },
      { country: 'EG', countryName: 'Egypt', city: 'Port Said', lat: 31.26, lon: 32.28 },
      { country: 'EG', countryName: 'Egypt', city: 'Ras Ghareb', lat: 28.37, lon: 33.08 },
      { country: 'FR', countryName: 'France', city: 'Marseille', lat: 43.29, lon: 5.37 },
      { country: 'IN', countryName: 'India', city: 'Chennai', lat: 13.06, lon: 80.24 },
      { country: 'IN', countryName: 'India', city: 'Mumbai', lat: 19.08, lon: 72.88 },
      { country: 'MY', countryName: 'Malaysia', city: 'Morib', lat: 2.75, lon: 101.44 },
      { country: 'MV', countryName: 'Maldives', city: 'Hulhumale', lat: 4.21, lon: 73.54 },
      { country: 'OM', countryName: 'Oman', city: 'Muscat', lat: 23.58, lon: 58.41 },
      { country: 'PK', countryName: 'Pakistan', city: 'Karachi', lat: 24.89, lon: 67.03 },
      { country: 'QA', countryName: 'Qatar', city: 'Doha', lat: 25.29, lon: 51.52 },
      { country: 'SA', countryName: 'Saudi Arabia', city: 'Yanbu', lat: 24.07, lon: 38.11 },
      { country: 'SG', countryName: 'Singapore', city: 'Tuas', lat: 1.34, lon: 103.65 },
      { country: 'LK', countryName: 'Sri Lanka', city: 'Matara', lat: 5.94, lon: 80.54 },
      { country: 'AE', countryName: 'United Arab Emirates', city: 'Abu Dhabi', lat: 24.44, lon: 54.42 },
    ],
    countriesServed: [
      { country: 'BH', capacityShare: 0.07, isRedundant: true },
      { country: 'BD', capacityShare: 0.07, isRedundant: true },
      { country: 'DJ', capacityShare: 0.07, isRedundant: true },
      { country: 'EG', capacityShare: 0.07, isRedundant: true },
      { country: 'FR', capacityShare: 0.07, isRedundant: true },
      { country: 'IN', capacityShare: 0.07, isRedundant: true },
      { country: 'MY', capacityShare: 0.07, isRedundant: true },
      { country: 'MV', capacityShare: 0.07, isRedundant: true },
      { country: 'OM', capacityShare: 0.07, isRedundant: true },
      { country: 'PK', capacityShare: 0.07, isRedundant: true },
      { country: 'QA', capacityShare: 0.07, isRedundant: true },
      { country: 'SA', capacityShare: 0.07, isRedundant: true },
      { country: 'SG', capacityShare: 0.07, isRedundant: true },
      { country: 'LK', capacityShare: 0.07, isRedundant: true },
      { country: 'AE', capacityShare: 0.07, isRedundant: true },
    ],
  },
  {
    id: 'seamewe_4',
    name: 'SeaMeWe-4',
    points: [[7.8, 36.9], [92, 21.4], [29.9, 31.2], [32.5, 30], [5.4, 43.3], [80.2, 13.1], [72.9, 19.1], [13.4, 38.1], [102.2, 2.3], [67, 24.9], [39.2, 21.5], [103.7, 1.3], [79.9, 6.9], [100.1, 6.6], [9.9, 37.3], [56.3, 25.1]],
    major: true,
    rfsYear: 2005,
    owners: ['Algerie Telecom', 'Bangladesh Submarine Cable Company Limited (BSCCL)', 'Bharti Airtel', 'National Telecom', 'Orange', 'Pakistan Telecommunications Company Ltd.', 'Singtel', 'Sparkle', 'Sri Lanka Telecom', 'Tata Communications', 'Telecom Egypt', 'Telekom Malaysia', 'Tunisia Telecom', 'Verizon', 'center3', 'e&'],
    landingPoints: [
      { country: 'DZ', countryName: 'Algeria', city: 'Annaba', lat: 36.9, lon: 7.76 },
      { country: 'BD', countryName: 'Bangladesh', city: 'Cox’s Bazar', lat: 21.43, lon: 91.99 },
      { country: 'EG', countryName: 'Egypt', city: 'Alexandria', lat: 31.19, lon: 29.89 },
      { country: 'EG', countryName: 'Egypt', city: 'Suez', lat: 29.97, lon: 32.53 },
      { country: 'FR', countryName: 'France', city: 'Marseille', lat: 43.29, lon: 5.37 },
      { country: 'IN', countryName: 'India', city: 'Chennai', lat: 13.06, lon: 80.24 },
      { country: 'IN', countryName: 'India', city: 'Mumbai', lat: 19.08, lon: 72.88 },
      { country: 'IT', countryName: 'Italy', city: 'Palermo', lat: 38.12, lon: 13.36 },
      { country: 'MY', countryName: 'Malaysia', city: 'Melaka', lat: 2.27, lon: 102.22 },
      { country: 'PK', countryName: 'Pakistan', city: 'Karachi', lat: 24.89, lon: 67.03 },
      { country: 'SA', countryName: 'Saudi Arabia', city: 'Jeddah', lat: 21.48, lon: 39.18 },
      { country: 'SG', countryName: 'Singapore', city: 'Tuas', lat: 1.34, lon: 103.65 },
      { country: 'LK', countryName: 'Sri Lanka', city: 'Colombo', lat: 6.93, lon: 79.87 },
      { country: 'TH', countryName: 'Thailand', city: 'Satun', lat: 6.61, lon: 100.07 },
      { country: 'TN', countryName: 'Tunisia', city: 'Bizerte', lat: 37.28, lon: 9.87 },
      { country: 'AE', countryName: 'United Arab Emirates', city: 'Fujairah', lat: 25.12, lon: 56.33 },
    ],
    countriesServed: [
      { country: 'DZ', capacityShare: 0.07, isRedundant: true },
      { country: 'BD', capacityShare: 0.07, isRedundant: true },
      { country: 'EG', capacityShare: 0.07, isRedundant: true },
      { country: 'FR', capacityShare: 0.07, isRedundant: true },
      { country: 'IN', capacityShare: 0.07, isRedundant: true },
      { country: 'IT', capacityShare: 0.07, isRedundant: true },
      { country: 'MY', capacityShare: 0.07, isRedundant: true },
      { country: 'PK', capacityShare: 0.07, isRedundant: true },
      { country: 'SA', capacityShare: 0.07, isRedundant: true },
      { country: 'SG', capacityShare: 0.07, isRedundant: true },
      { country: 'LK', capacityShare: 0.07, isRedundant: true },
      { country: 'TH', capacityShare: 0.07, isRedundant: true },
      { country: 'TN', capacityShare: 0.07, isRedundant: true },
      { country: 'AE', capacityShare: 0.07, isRedundant: true },
    ],
  },
  {
    id: 'seamewe_5',
    name: 'SeaMeWe-5',
    points: [[90.1, 21.8], [43.2, 11.6], [29.7, 31.1], [32.7, 29.1], [5.9, 43.1], [101.5, 1.7], [98.7, 3.8], [15.1, 37.5], [102.2, 2.3], [94.4, 16.9], [59.4, 22.7], [67, 24.9], [38.1, 24.1], [103.7, 1.3], [80.5, 5.9], [28.3, 36.9], [56.3, 25.1], [43, 14.8]],
    major: true,
    rfsYear: 2016,
    owners: ['Bangladesh Submarine Cable Company Limited (BSCCL)', 'China Mobile', 'China Telecom', 'China Unicom', 'Djibouti Telecom', 'Myanmar Post and Telecommunication (MPT)', 'Ooredoo', 'Orange', 'Singtel', 'Sparkle', 'Sri Lanka Telecom', 'TeleYemen', 'Telecom Egypt', 'Telekom Malaysia', 'Telkom Indonesia', 'Transworld', 'center3', 'du'],
    landingPoints: [
      { country: 'BD', countryName: 'Bangladesh', city: 'Kuakata', lat: 21.82, lon: 90.12 },
      { country: 'DJ', countryName: 'Djibouti', city: 'Haramous', lat: 11.57, lon: 43.16 },
      { country: 'EG', countryName: 'Egypt', city: 'Abu Talat', lat: 31.07, lon: 29.7 },
      { country: 'EG', countryName: 'Egypt', city: 'Zafarana', lat: 29.12, lon: 32.65 },
      { country: 'FR', countryName: 'France', city: 'Toulon', lat: 43.13, lon: 5.93 },
      { country: 'ID', countryName: 'Indonesia', city: 'Dumai', lat: 1.67, lon: 101.45 },
      { country: 'ID', countryName: 'Indonesia', city: 'Medan', lat: 3.75, lon: 98.68 },
      { country: 'IT', countryName: 'Italy', city: 'Catania', lat: 37.51, lon: 15.07 },
      { country: 'MY', countryName: 'Malaysia', city: 'Melaka', lat: 2.27, lon: 102.22 },
      { country: 'MM', countryName: 'Myanmar', city: 'Ngwe Saung', lat: 16.86, lon: 94.39 },
      { country: 'OM', countryName: 'Oman', city: 'Qalhat', lat: 22.7, lon: 59.37 },
      { country: 'PK', countryName: 'Pakistan', city: 'Karachi', lat: 24.89, lon: 67.03 },
      { country: 'SA', countryName: 'Saudi Arabia', city: 'Yanbu', lat: 24.07, lon: 38.11 },
      { country: 'SG', countryName: 'Singapore', city: 'Tuas', lat: 1.34, lon: 103.65 },
      { country: 'LK', countryName: 'Sri Lanka', city: 'Matara', lat: 5.94, lon: 80.54 },
      { country: 'TR', countryName: 'Turkey', city: 'Marmaris', lat: 36.86, lon: 28.25 },
      { country: 'AE', countryName: 'United Arab Emirates', city: 'Fujairah', lat: 25.12, lon: 56.33 },
      { country: 'YE', countryName: 'Yemen', city: 'Al Hudaydah', lat: 14.8, lon: 42.95 },
    ],
    countriesServed: [
      { country: 'BD', capacityShare: 0.06, isRedundant: true },
      { country: 'DJ', capacityShare: 0.06, isRedundant: true },
      { country: 'EG', capacityShare: 0.06, isRedundant: true },
      { country: 'FR', capacityShare: 0.06, isRedundant: true },
      { country: 'ID', capacityShare: 0.06, isRedundant: true },
      { country: 'IT', capacityShare: 0.06, isRedundant: true },
      { country: 'MY', capacityShare: 0.06, isRedundant: true },
      { country: 'MM', capacityShare: 0.06, isRedundant: true },
      { country: 'OM', capacityShare: 0.06, isRedundant: true },
      { country: 'PK', capacityShare: 0.06, isRedundant: true },
      { country: 'SA', capacityShare: 0.06, isRedundant: true },
      { country: 'SG', capacityShare: 0.06, isRedundant: true },
      { country: 'LK', capacityShare: 0.06, isRedundant: true },
      { country: 'TR', capacityShare: 0.06, isRedundant: true },
      { country: 'AE', capacityShare: 0.06, isRedundant: true },
      { country: 'YE', capacityShare: 0.06, isRedundant: true },
    ],
  },
  {
    id: 'asia_africa_europe_1_aae_1',
    name: 'Asia Africa Europe-1 (AAE-1)',
    points: [[103.5, 10.6], [114.3, 22.2], [43.2, 11.6], [29.7, 31.1], [32.7, 29.1], [5.4, 43.3], [24, 35.5], [72.9, 19.1], [16.9, 41.1], [100.4, 5.4], [94.4, 16.9], [58.6, 23.6], [67, 24.9], [51.5, 25.3], [39.2, 21.5], [100.1, 6.6], [100.6, 7.2], [56.3, 25.1], [107.1, 10.3], [45, 12.8]],
    major: true,
    rfsYear: 2017,
    owners: ['China Unicom', 'Djibouti Telecom', 'Hyalroute', 'Metfone', 'Mobily', 'National Telecom', 'OTEGLOBE', 'Ooredoo', 'PCCW', 'Pakistan Telecommunications Company Ltd.', 'Reliance Jio Infocomm', 'Retelit', 'TIME dotCom', 'TeleYemen', 'Telecom Egypt', 'VNPT International', 'Viettel Corporation', 'Zain Omantel International', 'e&'],
    landingPoints: [
      { country: 'KH', countryName: 'Cambodia', city: 'Sihanoukville', lat: 10.63, lon: 103.51 },
      { country: 'CN', countryName: 'China', city: 'Cape D’Aguilar', lat: 22.21, lon: 114.26 },
      { country: 'DJ', countryName: 'Djibouti', city: 'Djibouti City', lat: 11.59, lon: 43.15 },
      { country: 'EG', countryName: 'Egypt', city: 'Abu Talat', lat: 31.07, lon: 29.7 },
      { country: 'EG', countryName: 'Egypt', city: 'Zafarana', lat: 29.12, lon: 32.65 },
      { country: 'FR', countryName: 'France', city: 'Marseille', lat: 43.29, lon: 5.37 },
      { country: 'GR', countryName: 'Greece', city: 'Chania', lat: 35.51, lon: 24.01 },
      { country: 'IN', countryName: 'India', city: 'Mumbai', lat: 19.08, lon: 72.88 },
      { country: 'IT', countryName: 'Italy', city: 'Bari', lat: 41.13, lon: 16.87 },
      { country: 'MY', countryName: 'Malaysia', city: 'Penang', lat: 5.37, lon: 100.41 },
      { country: 'MM', countryName: 'Myanmar', city: 'Ngwe Saung', lat: 16.86, lon: 94.39 },
      { country: 'OM', countryName: 'Oman', city: 'Al Bustan', lat: 23.58, lon: 58.61 },
      { country: 'PK', countryName: 'Pakistan', city: 'Karachi', lat: 24.89, lon: 67.03 },
      { country: 'QA', countryName: 'Qatar', city: 'Doha', lat: 25.29, lon: 51.52 },
      { country: 'SA', countryName: 'Saudi Arabia', city: 'Jeddah', lat: 21.48, lon: 39.18 },
      { country: 'TH', countryName: 'Thailand', city: 'Satun', lat: 6.61, lon: 100.07 },
      { country: 'TH', countryName: 'Thailand', city: 'Songkhla', lat: 7.2, lon: 100.6 },
      { country: 'AE', countryName: 'United Arab Emirates', city: 'Fujairah', lat: 25.12, lon: 56.33 },
      { country: 'VN', countryName: 'Vietnam', city: 'Vung Tau', lat: 10.34, lon: 107.08 },
      { country: 'YE', countryName: 'Yemen', city: 'Aden', lat: 12.8, lon: 45.03 },
    ],
    countriesServed: [
      { country: 'KH', capacityShare: 0.06, isRedundant: true },
      { country: 'CN', capacityShare: 0.06, isRedundant: true },
      { country: 'DJ', capacityShare: 0.06, isRedundant: true },
      { country: 'EG', capacityShare: 0.06, isRedundant: true },
      { country: 'FR', capacityShare: 0.06, isRedundant: true },
      { country: 'GR', capacityShare: 0.06, isRedundant: true },
      { country: 'IN', capacityShare: 0.06, isRedundant: true },
      { country: 'IT', capacityShare: 0.06, isRedundant: true },
      { country: 'MY', capacityShare: 0.06, isRedundant: true },
      { country: 'MM', capacityShare: 0.06, isRedundant: true },
      { country: 'OM', capacityShare: 0.06, isRedundant: true },
      { country: 'PK', capacityShare: 0.06, isRedundant: true },
      { country: 'QA', capacityShare: 0.06, isRedundant: true },
      { country: 'SA', capacityShare: 0.06, isRedundant: true },
      { country: 'TH', capacityShare: 0.06, isRedundant: true },
      { country: 'AE', capacityShare: 0.06, isRedundant: true },
      { country: 'VN', capacityShare: 0.06, isRedundant: true },
      { country: 'YE', capacityShare: 0.06, isRedundant: true },
    ],
  },
  {
    id: 'imewe',
    name: 'IMEWE',
    points: [[38.1, 22.1], [38.1, 22.1], [62.1, 19.1], [16.7, 34.7], [16.7, 34.7], [31.4, 31.1], [29.9, 31.2]],
    major: true,
    rfsYear: 2010,
    owners: ['Bharti Airtel', 'Ogero', 'Orange', 'Pakistan Telecommunications Company Ltd.', 'Sparkle', 'Tata Communications', 'Telecom Egypt', 'center3', 'e&'],
    landingPoints: [
      { country: 'EG', countryName: 'Egypt', city: 'Alexandria', lat: 31.19, lon: 29.89 },
      { country: 'EG', countryName: 'Egypt', city: 'Suez', lat: 29.97, lon: 32.53 },
      { country: 'FR', countryName: 'France', city: 'Marseille', lat: 43.29, lon: 5.37 },
      { country: 'IN', countryName: 'India', city: 'Mumbai', lat: 19.08, lon: 72.88 },
      { country: 'IT', countryName: 'Italy', city: 'Catania', lat: 37.51, lon: 15.07 },
      { country: 'LB', countryName: 'Lebanon', city: 'Tripoli', lat: 34.44, lon: 35.86 },
      { country: 'PK', countryName: 'Pakistan', city: 'Karachi', lat: 24.89, lon: 67.03 },
      { country: 'SA', countryName: 'Saudi Arabia', city: 'Jeddah', lat: 21.48, lon: 39.18 },
      { country: 'AE', countryName: 'United Arab Emirates', city: 'Fujairah', lat: 25.12, lon: 56.33 },
    ],
    countriesServed: [
      { country: 'EG', capacityShare: 0.13, isRedundant: true },
      { country: 'FR', capacityShare: 0.13, isRedundant: true },
      { country: 'IN', capacityShare: 0.13, isRedundant: true },
      { country: 'IT', capacityShare: 0.13, isRedundant: true },
      { country: 'LB', capacityShare: 0.13, isRedundant: true },
      { country: 'PK', capacityShare: 0.13, isRedundant: true },
      { country: 'SA', capacityShare: 0.13, isRedundant: true },
      { country: 'AE', capacityShare: 0.13, isRedundant: true },
    ],
  },
  {
    id: 'europe_india_gateway_eig',
    name: 'Europe India Gateway (EIG)',
    points: [[56.3, 25.1], [9, 38], [16.7, 33.2], [-13.5, 44.1], [43.4, 12.6], [32.7, 29.1]],
    major: true,
    rfsYear: 2011,
    owners: ['AT&T', 'Altice Portugal', 'BT', 'Bayobab', 'Bharat Sanchar Nigam Ltd. (BSNL)', 'Bharti Airtel', 'Djibouti Telecom', 'Gibtelecom', 'Kalaam Telecom', 'Libya International Telecommunications Company', 'Telecom Egypt', 'Telkom South Africa', 'Verizon', 'Vodafone', 'Zain Omantel International', 'center3', 'du'],
    landingPoints: [
      { country: 'DJ', countryName: 'Djibouti', city: 'Haramous', lat: 11.57, lon: 43.16 },
      { country: 'EG', countryName: 'Egypt', city: 'Abu Talat', lat: 31.07, lon: 29.7 },
      { country: 'EG', countryName: 'Egypt', city: 'Zafarana', lat: 29.12, lon: 32.65 },
      { country: 'GI', countryName: 'Gibraltar', city: 'Gibraltar', lat: 36.16, lon: -5.35 },
      { country: 'IN', countryName: 'India', city: 'Mumbai', lat: 19.08, lon: 72.88 },
      { country: 'LY', countryName: 'Libya', city: 'Tripoli', lat: 32.88, lon: 13.19 },
      { country: 'MC', countryName: 'Monaco', city: 'Monaco', lat: 43.73, lon: 7.42 },
      { country: 'OM', countryName: 'Oman', city: 'Barka', lat: 23.68, lon: 57.89 },
      { country: 'PT', countryName: 'Portugal', city: 'Sesimbra', lat: 38.44, lon: -9.1 },
      { country: 'SA', countryName: 'Saudi Arabia', city: 'Jeddah', lat: 21.48, lon: 39.18 },
      { country: 'AE', countryName: 'United Arab Emirates', city: 'Fujairah', lat: 25.12, lon: 56.33 },
      { country: 'GB', countryName: 'United Kingdom', city: 'Bude', lat: 50.83, lon: -4.54 },
    ],
    countriesServed: [
      { country: 'DJ', capacityShare: 0.09, isRedundant: true },
      { country: 'EG', capacityShare: 0.09, isRedundant: true },
      { country: 'GI', capacityShare: 0.09, isRedundant: true },
      { country: 'IN', capacityShare: 0.09, isRedundant: true },
      { country: 'LY', capacityShare: 0.09, isRedundant: true },
      { country: 'MC', capacityShare: 0.09, isRedundant: true },
      { country: 'OM', capacityShare: 0.09, isRedundant: true },
      { country: 'PT', capacityShare: 0.09, isRedundant: true },
      { country: 'SA', capacityShare: 0.09, isRedundant: true },
      { country: 'AE', capacityShare: 0.09, isRedundant: true },
      { country: 'GB', capacityShare: 0.09, isRedundant: true },
    ],
  },
  {
    id: 'peace_cable',
    name: 'PEACE Cable',
    points: [[9.5, 37.5], [29.7, 31.1], [41.7, 14.8], [32.5, 34.8], [95.5, 5.9], [63.2, 23.9], [56.3, 25.1]],
    major: true,
    rfsYear: 2022,
    owners: ['Peace Cable International Network Co. Ltd.'],
    landingPoints: [
      { country: 'CY', countryName: 'Cyprus', city: 'Yeroskipos', lat: 34.77, lon: 32.47 },
      { country: 'EG', countryName: 'Egypt', city: 'Abu Talat', lat: 31.07, lon: 29.7 },
      { country: 'EG', countryName: 'Egypt', city: 'Zafarana', lat: 29.12, lon: 32.65 },
      { country: 'FR', countryName: 'France', city: 'Marseille', lat: 43.29, lon: 5.37 },
      { country: 'KE', countryName: 'Kenya', city: 'Mombasa', lat: -4.05, lon: 39.67 },
      { country: 'MV', countryName: 'Maldives', city: 'Kulhudhufushi', lat: 6.62, lon: 73.07 },
      { country: 'MT', countryName: 'Malta', city: 'Mellieha', lat: 35.95, lon: 14.35 },
      { country: 'PK', countryName: 'Pakistan', city: 'Karachi', lat: 24.89, lon: 67.03 },
      { country: 'SA', countryName: 'Saudi Arabia', city: 'Jeddah', lat: 21.48, lon: 39.18 },
      { country: 'SC', countryName: 'Seychelles', city: 'Victoria', lat: -4.62, lon: 55.45 },
      { country: 'SG', countryName: 'Singapore', city: 'Tuas', lat: 1.34, lon: 103.65 },
      { country: 'SO', countryName: 'Somalia', city: 'Berbera', lat: 10.44, lon: 45.01 },
      { country: 'TN', countryName: 'Tunisia', city: 'Bizerte', lat: 37.28, lon: 9.87 },
      { country: 'AE', countryName: 'United Arab Emirates', city: 'Kalba', lat: 25.05, lon: 56.34 },
    ],
    countriesServed: [
      { country: 'CY', capacityShare: 0.08, isRedundant: true },
      { country: 'EG', capacityShare: 0.08, isRedundant: true },
      { country: 'FR', capacityShare: 0.08, isRedundant: true },
      { country: 'KE', capacityShare: 0.08, isRedundant: true },
      { country: 'MV', capacityShare: 0.08, isRedundant: true },
      { country: 'MT', capacityShare: 0.08, isRedundant: true },
      { country: 'PK', capacityShare: 0.08, isRedundant: true },
      { country: 'SA', capacityShare: 0.08, isRedundant: true },
      { country: 'SC', capacityShare: 0.08, isRedundant: true },
      { country: 'SG', capacityShare: 0.08, isRedundant: true },
      { country: 'SO', capacityShare: 0.08, isRedundant: true },
      { country: 'TN', capacityShare: 0.08, isRedundant: true },
      { country: 'AE', capacityShare: 0.08, isRedundant: true },
    ],
  },
  {
    id: 'seacomtata_tgn_eurasia',
    name: 'SEACOM/Tata TGN-Eurasia',
    points: [[38.1, 22.1], [42.8, -15.2], [42.3, -4.4], [70.2, 19.2], [43.1, 13.1], [33.5, 28.2], [32.6, 29.1]],
    major: true,
    rfsYear: 2009,
    owners: ['SEACOM', 'Tata Communications'],
    landingPoints: [
      { country: 'DJ', countryName: 'Djibouti', city: 'Djibouti City', lat: 11.59, lon: 43.15 },
      { country: 'EG', countryName: 'Egypt', city: 'Zafarana', lat: 29.12, lon: 32.65 },
      { country: 'IN', countryName: 'India', city: 'Mumbai', lat: 19.08, lon: 72.88 },
      { country: 'KE', countryName: 'Kenya', city: 'Mombasa', lat: -4.05, lon: 39.67 },
      { country: 'MZ', countryName: 'Mozambique', city: 'Maputo', lat: -25.97, lon: 32.58 },
      { country: 'SA', countryName: 'Saudi Arabia', city: 'Jeddah', lat: 21.48, lon: 39.18 },
      { country: 'ZA', countryName: 'South Africa', city: 'Mtunzini', lat: -28.95, lon: 31.76 },
      { country: 'TZ', countryName: 'Tanzania', city: 'Dar Es Salaam', lat: -6.82, lon: 39.27 },
    ],
    countriesServed: [
      { country: 'DJ', capacityShare: 0.13, isRedundant: true },
      { country: 'EG', capacityShare: 0.13, isRedundant: true },
      { country: 'IN', capacityShare: 0.13, isRedundant: true },
      { country: 'KE', capacityShare: 0.13, isRedundant: true },
      { country: 'MZ', capacityShare: 0.13, isRedundant: true },
      { country: 'SA', capacityShare: 0.13, isRedundant: true },
      { country: 'ZA', capacityShare: 0.13, isRedundant: true },
      { country: 'TZ', capacityShare: 0.13, isRedundant: true },
    ],
  },
  {
    id: 'te_northtgn_eurasiaseacomalexandrosmedex',
    name: 'TE North/TGN-Eurasia/SEACOM/Alexandros/Medex',
    points: [[5.4, 43.3], [10.3, 37.9], [12.7, 35.4], [25.2, 33.1], [32.4, 33.2], [7.8, 36.9]],
    major: true,
    rfsYear: 2011,
    owners: ['Algerie Telecom', 'Cyta', 'PCCW', 'SEACOM', 'Tata Communications', 'Telecom Egypt'],
    landingPoints: [
      { country: 'DZ', countryName: 'Algeria', city: 'Annaba', lat: 36.9, lon: 7.76 },
      { country: 'CY', countryName: 'Cyprus', city: 'Pentaskhinos', lat: 34.83, lon: 33.6 },
      { country: 'EG', countryName: 'Egypt', city: 'Abu Talat', lat: 31.07, lon: 29.7 },
      { country: 'FR', countryName: 'France', city: 'Marseille', lat: 43.29, lon: 5.37 },
    ],
    countriesServed: [
      { country: 'DZ', capacityShare: 0.25, isRedundant: true },
      { country: 'CY', capacityShare: 0.25, isRedundant: true },
      { country: 'EG', capacityShare: 0.25, isRedundant: true },
      { country: 'FR', capacityShare: 0.25, isRedundant: true },
    ],
  },

  // === AFRICA ===
  {
    id: '2africa',
    name: '2Africa',
    points: [[44.6, 11.2], [58.2, 23.9], [0, -6.5], [52.7, 12.9], [13.2, 36], [24.8, 35.1]],
    major: true,
    rfsYear: 2024,
    owners: ['Bayobab', 'China Mobile', 'Meta', 'Orange', 'Telecom Egypt', 'Vodafone', 'WIOCC', 'center3'],
    landingPoints: [
      { country: 'AO', countryName: 'Angola', city: 'Luanda', lat: -8.81, lon: 13.23 },
      { country: 'BH', countryName: 'Bahrain', city: 'Manama', lat: 26.23, lon: 50.58 },
      { country: 'KM', countryName: 'Comoros', city: 'Moroni', lat: -11.7, lon: 43.24 },
      { country: 'CD', countryName: 'Congo, Dem. Rep.', city: 'Muanda', lat: -5.93, lon: 12.35 },
      { country: 'CG', countryName: 'Congo, Rep.', city: 'Pointe-Noire', lat: -4.78, lon: 11.86 },
      { country: 'CI', countryName: 'Côte d\'Ivoire', city: 'Abidjan', lat: 5.32, lon: -4.03 },
      { country: 'DJ', countryName: 'Djibouti', city: 'Djibouti City', lat: 11.59, lon: 43.15 },
      { country: 'EG', countryName: 'Egypt', city: 'Port Said', lat: 31.26, lon: 32.28 },
      { country: 'EG', countryName: 'Egypt', city: 'Ras Ghareb', lat: 28.37, lon: 33.08 },
      { country: 'EG', countryName: 'Egypt', city: 'Suez', lat: 29.97, lon: 32.53 },
      { country: 'EG', countryName: 'Egypt', city: 'Zafarana', lat: 29.12, lon: 32.65 },
      { country: 'FR', countryName: 'France', city: 'Marseille', lat: 43.29, lon: 5.37 },
      { country: 'GA', countryName: 'Gabon', city: 'Libreville', lat: 0.39, lon: 9.45 },
      { country: 'GH', countryName: 'Ghana', city: 'Accra', lat: 5.56, lon: -0.2 },
      { country: 'GR', countryName: 'Greece', city: 'Tympaki', lat: 35.07, lon: 24.77 },
      { country: 'IN', countryName: 'India', city: 'Mumbai', lat: 19.08, lon: 72.88 },
      { country: 'IQ', countryName: 'Iraq', city: 'Al Faw', lat: 29.92, lon: 48.53 },
      { country: 'IT', countryName: 'Italy', city: 'Genoa', lat: 44.41, lon: 8.94 },
      { country: 'KE', countryName: 'Kenya', city: 'Mombasa', lat: -4.05, lon: 39.67 },
      { country: 'KE', countryName: 'Kenya', city: 'Mtwapa', lat: -3.95, lon: 39.75 },
      { country: 'KW', countryName: 'Kuwait', city: 'Kuwait City', lat: 29.37, lon: 47.97 },
      { country: 'MG', countryName: 'Madagascar', city: 'Mahajanga', lat: -15.71, lon: 46.32 },
      { country: 'MZ', countryName: 'Mozambique', city: 'Maputo', lat: -25.97, lon: 32.58 },
      { country: 'MZ', countryName: 'Mozambique', city: 'Nacala', lat: -14.57, lon: 40.69 },
      { country: 'NG', countryName: 'Nigeria', city: 'Kwa Ibo', lat: 4.54, lon: 8 },
      { country: 'NG', countryName: 'Nigeria', city: 'Lagos', lat: 6.44, lon: 3.42 },
      { country: 'OM', countryName: 'Oman', city: 'Barka', lat: 23.68, lon: 57.89 },
      { country: 'OM', countryName: 'Oman', city: 'Salalah', lat: 17.1, lon: 54.15 },
      { country: 'PK', countryName: 'Pakistan', city: 'Karachi', lat: 24.89, lon: 67.03 },
      { country: 'PT', countryName: 'Portugal', city: 'Carcavelos', lat: 38.69, lon: -9.33 },
      { country: 'QA', countryName: 'Qatar', city: 'Doha', lat: 25.29, lon: 51.52 },
      { country: 'SA', countryName: 'Saudi Arabia', city: 'Al Khobar', lat: 26.29, lon: 50.21 },
      { country: 'SA', countryName: 'Saudi Arabia', city: 'Duba', lat: 27.35, lon: 35.7 },
      { country: 'SA', countryName: 'Saudi Arabia', city: 'Jeddah', lat: 21.48, lon: 39.18 },
      { country: 'SA', countryName: 'Saudi Arabia', city: 'Yanbu', lat: 24.07, lon: 38.11 },
      { country: 'SN', countryName: 'Senegal', city: 'Dakar', lat: 14.69, lon: -17.45 },
      { country: 'SC', countryName: 'Seychelles', city: 'Carana', lat: -4.57, lon: 55.45 },
      { country: 'SO', countryName: 'Somalia', city: 'Berbera', lat: 10.44, lon: 45.01 },
      { country: 'SO', countryName: 'Somalia', city: 'Mogadishu', lat: 2.04, lon: 45.34 },
      { country: 'ZA', countryName: 'South Africa', city: 'Amanzimtoti', lat: -30.06, lon: 30.88 },
      { country: 'ZA', countryName: 'South Africa', city: 'Duynefontein', lat: -33.69, lon: 18.45 },
      { country: 'ZA', countryName: 'South Africa', city: 'Gqeberha', lat: -33.96, lon: 25.62 },
      { country: 'ZA', countryName: 'South Africa', city: 'Yzerfontein', lat: -33.35, lon: 18.16 },
      { country: 'ES', countryName: 'Spain', city: 'Barcelona', lat: 41.39, lon: 2.17 },
      { country: 'ES', countryName: 'Spain', city: 'Gran Canaria', lat: 27.96, lon: -15.6 },
      { country: 'SD', countryName: 'Sudan', city: 'Port Sudan', lat: 19.62, lon: 37.22 },
      { country: 'TZ', countryName: 'Tanzania', city: 'Dar Es Salaam', lat: -6.82, lon: 39.27 },
      { country: 'AE', countryName: 'United Arab Emirates', city: 'Abu Dhabi', lat: 24.44, lon: 54.42 },
      { country: 'AE', countryName: 'United Arab Emirates', city: 'Kalba', lat: 25.05, lon: 56.34 },
      { country: 'GB', countryName: 'United Kingdom', city: 'Bude', lat: 50.83, lon: -4.54 },
    ],
    countriesServed: [
      { country: 'AO', capacityShare: 0.03, isRedundant: true },
      { country: 'BH', capacityShare: 0.03, isRedundant: true },
      { country: 'KM', capacityShare: 0.03, isRedundant: true },
      { country: 'CD', capacityShare: 0.03, isRedundant: true },
      { country: 'CG', capacityShare: 0.03, isRedundant: true },
      { country: 'CI', capacityShare: 0.03, isRedundant: true },
      { country: 'DJ', capacityShare: 0.03, isRedundant: true },
      { country: 'EG', capacityShare: 0.03, isRedundant: true },
      { country: 'FR', capacityShare: 0.03, isRedundant: true },
      { country: 'GA', capacityShare: 0.03, isRedundant: true },
      { country: 'GH', capacityShare: 0.03, isRedundant: true },
      { country: 'GR', capacityShare: 0.03, isRedundant: true },
      { country: 'IN', capacityShare: 0.03, isRedundant: true },
      { country: 'IQ', capacityShare: 0.03, isRedundant: true },
      { country: 'IT', capacityShare: 0.03, isRedundant: true },
      { country: 'KE', capacityShare: 0.03, isRedundant: true },
      { country: 'KW', capacityShare: 0.03, isRedundant: true },
      { country: 'MG', capacityShare: 0.03, isRedundant: true },
      { country: 'MZ', capacityShare: 0.03, isRedundant: true },
      { country: 'NG', capacityShare: 0.03, isRedundant: true },
      { country: 'OM', capacityShare: 0.03, isRedundant: true },
      { country: 'PK', capacityShare: 0.03, isRedundant: true },
      { country: 'PT', capacityShare: 0.03, isRedundant: true },
      { country: 'QA', capacityShare: 0.03, isRedundant: true },
      { country: 'SA', capacityShare: 0.03, isRedundant: true },
      { country: 'SN', capacityShare: 0.03, isRedundant: true },
      { country: 'SC', capacityShare: 0.03, isRedundant: true },
      { country: 'SO', capacityShare: 0.03, isRedundant: true },
      { country: 'ZA', capacityShare: 0.03, isRedundant: true },
      { country: 'ES', capacityShare: 0.03, isRedundant: true },
      { country: 'SD', capacityShare: 0.03, isRedundant: true },
      { country: 'TZ', capacityShare: 0.03, isRedundant: true },
      { country: 'AE', capacityShare: 0.03, isRedundant: true },
      { country: 'GB', capacityShare: 0.03, isRedundant: true },
    ],
  },
  {
    id: 'west_africa_cable_system_wacs',
    name: 'West Africa Cable System (WACS)',
    points: [[-16.2, 27.8], [-0.2, 5.6], [-20.2, 15.2], [8.6, -18], [8.1, 2.4], [13.1, -22.9], [9.9, -23.5]],
    major: true,
    rfsYear: 2012,
    owners: ['Altice Portugal', 'Angola Cables', 'Bayobab', 'Broadband Infraco', 'Camtel', 'Cape Verde Telecom', 'Congo Telecom', 'Liquid Intelligent Technologies', 'Office Congolais de Poste et Télécommunication', 'PCCW', 'Tata Communications', 'Telecom Namibia', 'Telkom South Africa', 'Togo Telecom', 'Vodacom DRC', 'Vodafone', 'Vodafone Espana', 'Vodafone Ghana'],
    landingPoints: [
      { country: 'AO', countryName: 'Angola', city: 'Sangano', lat: -9.49, lon: 13.2 },
      { country: 'CM', countryName: 'Cameroon', city: 'Limbe', lat: 4.01, lon: 9.21 },
      { country: 'CV', countryName: 'Cape Verde', city: 'Praia', lat: 14.92, lon: -23.52 },
      { country: 'CD', countryName: 'Congo, Dem. Rep.', city: 'Muanda', lat: -5.93, lon: 12.35 },
      { country: 'CG', countryName: 'Congo, Rep.', city: 'Pointe-Noire', lat: -4.78, lon: 11.86 },
      { country: 'CI', countryName: 'Côte d\'Ivoire', city: 'Abidjan', lat: 5.32, lon: -4.03 },
      { country: 'GH', countryName: 'Ghana', city: 'Accra', lat: 5.56, lon: -0.2 },
      { country: 'NA', countryName: 'Namibia', city: 'Swakopmund', lat: -22.68, lon: 14.53 },
      { country: 'NG', countryName: 'Nigeria', city: 'Lagos', lat: 6.44, lon: 3.42 },
      { country: 'PT', countryName: 'Portugal', city: 'Seixal', lat: 38.64, lon: -9.11 },
      { country: 'ZA', countryName: 'South Africa', city: 'Yzerfontein', lat: -33.35, lon: 18.16 },
      { country: 'ES', countryName: 'Spain', city: 'El Goro', lat: 27.96, lon: -15.4 },
      { country: 'TG', countryName: 'Togo', city: 'Lome', lat: 6.13, lon: 1.23 },
    ],
    countriesServed: [
      { country: 'AO', capacityShare: 0.08, isRedundant: true },
      { country: 'CM', capacityShare: 0.08, isRedundant: true },
      { country: 'CV', capacityShare: 0.08, isRedundant: true },
      { country: 'CD', capacityShare: 0.08, isRedundant: true },
      { country: 'CG', capacityShare: 0.08, isRedundant: true },
      { country: 'CI', capacityShare: 0.08, isRedundant: true },
      { country: 'GH', capacityShare: 0.08, isRedundant: true },
      { country: 'NA', capacityShare: 0.08, isRedundant: true },
      { country: 'NG', capacityShare: 0.08, isRedundant: true },
      { country: 'PT', capacityShare: 0.08, isRedundant: true },
      { country: 'ZA', capacityShare: 0.08, isRedundant: true },
      { country: 'ES', capacityShare: 0.08, isRedundant: true },
      { country: 'TG', capacityShare: 0.08, isRedundant: true },
    ],
  },
  {
    id: 'eastern_africa_submarine_system_eassy',
    name: 'Eastern Africa Submarine System (EASSy)',
    points: [[43.2, 11.6], [43.1, 12.8], [54.5, 5.5], [42.1, -11.9], [42.3, -4.2], [51.3, 1.5], [45.3, 2]],
    major: true,
    rfsYear: 2010,
    owners: ['BT', 'Bayobab', 'Bharti Airtel', 'Botswana Fibre Networks', 'Comores Telecom', 'Djibouti Telecom', 'Liquid Intelligent Technologies', 'Mauritius Telecom', 'Orange', 'Sudatel', 'Tanzania Telecommunication Corporation', 'Telkom Kenya', 'Telkom South Africa', 'Telma (Telecom Malagasy)', 'Vodacom DRC', 'WIOCC', 'Zambia Telecom', 'center3', 'e&'],
    landingPoints: [
      { country: 'KM', countryName: 'Comoros', city: 'Moroni', lat: -11.7, lon: 43.24 },
      { country: 'DJ', countryName: 'Djibouti', city: 'Haramous', lat: 11.57, lon: 43.16 },
      { country: 'KE', countryName: 'Kenya', city: 'Mombasa', lat: -4.05, lon: 39.67 },
      { country: 'MG', countryName: 'Madagascar', city: 'Toliara', lat: -23.35, lon: 43.66 },
      { country: 'MZ', countryName: 'Mozambique', city: 'Maputo', lat: -25.97, lon: 32.58 },
      { country: 'SO', countryName: 'Somalia', city: 'Mogadishu', lat: 2.04, lon: 45.34 },
      { country: 'ZA', countryName: 'South Africa', city: 'Mtunzini', lat: -28.95, lon: 31.76 },
      { country: 'SD', countryName: 'Sudan', city: 'Port Sudan', lat: 19.62, lon: 37.22 },
      { country: 'TZ', countryName: 'Tanzania', city: 'Dar Es Salaam', lat: -6.82, lon: 39.27 },
    ],
    countriesServed: [
      { country: 'KM', capacityShare: 0.11, isRedundant: true },
      { country: 'DJ', capacityShare: 0.11, isRedundant: true },
      { country: 'KE', capacityShare: 0.11, isRedundant: true },
      { country: 'MG', capacityShare: 0.11, isRedundant: true },
      { country: 'MZ', capacityShare: 0.11, isRedundant: true },
      { country: 'SO', capacityShare: 0.11, isRedundant: true },
      { country: 'ZA', capacityShare: 0.11, isRedundant: true },
      { country: 'SD', capacityShare: 0.11, isRedundant: true },
      { country: 'TZ', capacityShare: 0.11, isRedundant: true },
    ],
  },
  {
    id: 'equiano',
    name: 'Equiano',
    points: [[1.6, 0.8], [-19.1, 27.8], [18.4, -33.7], [7.7, -6.6], [3.6, 4.2], [1.2, 6.1]],
    major: true,
    rfsYear: 2023,
    owners: ['Google'],
    landingPoints: [
      { country: 'NA', countryName: 'Namibia', city: 'Swakopmund', lat: -22.68, lon: 14.53 },
      { country: 'NG', countryName: 'Nigeria', city: 'Lagos', lat: 6.44, lon: 3.42 },
      { country: 'PT', countryName: 'Portugal', city: 'Sesimbra', lat: 38.44, lon: -9.1 },
      { country: 'SH', countryName: 'Saint Helena, Ascension and Tristan da Cunha', city: 'Rupert\'s Bay', lat: -15.92, lon: -5.71 },
      { country: 'ZA', countryName: 'South Africa', city: 'Melkbosstrand', lat: -33.73, lon: 18.45 },
      { country: 'TG', countryName: 'Togo', city: 'Lome', lat: 6.13, lon: 1.23 },
    ],
    countriesServed: [
      { country: 'NA', capacityShare: 0.17, isRedundant: true },
      { country: 'NG', capacityShare: 0.17, isRedundant: true },
      { country: 'PT', capacityShare: 0.17, isRedundant: true },
      { country: 'SH', capacityShare: 0.17, isRedundant: true },
      { country: 'ZA', capacityShare: 0.17, isRedundant: true },
      { country: 'TG', capacityShare: 0.17, isRedundant: true },
    ],
  },
  {
    id: 'africa_coast_to_europe_ace',
    name: 'Africa Coast to Europe (ACE)',
    points: [[-16.5, 28.1], [-4.4, 3.3], [-7.6, 46.9], [-15.7, 7.7], [9.8, 1.9], [-17.1, 12.2], [-15.8, 11.8]],
    major: true,
    rfsYear: 2012,
    owners: ['Bayobab', 'Cable Consortium of Liberia', 'Canalink', 'Dolphin Telecom', 'GUILAB', 'Gambia Submarine Cable Company', 'International Mauritania Telecom', 'Orange', 'Orange Cameroun', 'Orange Cote d’Ivoire', 'Orange Mali', 'Republic of Cameroon', 'Republic of Equatorial Guinea', 'Republic of Gabon', 'Republic of Guinea Bissau', 'SBIN (Société Béninoise des Infrastructures Numériques du Bénin)', 'STP Cabo', 'Sierra Leone Cable Company', 'Sonatel', 'Zamani Telecom'],
    landingPoints: [
      { country: 'BJ', countryName: 'Benin', city: 'Cotonou', lat: 6.36, lon: 2.44 },
      { country: 'CI', countryName: 'Côte d\'Ivoire', city: 'Abidjan', lat: 5.32, lon: -4.03 },
      { country: 'GQ', countryName: 'Equatorial Guinea', city: 'Bata', lat: 1.86, lon: 9.77 },
      { country: 'FR', countryName: 'France', city: 'Penmarch', lat: 47.81, lon: -4.34 },
      { country: 'GA', countryName: 'Gabon', city: 'Libreville', lat: 0.39, lon: 9.45 },
      { country: 'GM', countryName: 'Gambia', city: 'Banjul', lat: 13.46, lon: -16.58 },
      { country: 'GH', countryName: 'Ghana', city: 'Accra', lat: 5.56, lon: -0.2 },
      { country: 'GN', countryName: 'Guinea', city: 'Conakry', lat: 9.51, lon: -13.7 },
      { country: 'GW', countryName: 'Guinea-Bissau', city: 'Suro', lat: 11.77, lon: -15.79 },
      { country: 'LR', countryName: 'Liberia', city: 'Monrovia', lat: 6.3, lon: -10.8 },
      { country: 'MR', countryName: 'Mauritania', city: 'Nouakchott', lat: 18.08, lon: -15.98 },
      { country: 'NG', countryName: 'Nigeria', city: 'Lagos', lat: 6.44, lon: 3.42 },
      { country: 'PT', countryName: 'Portugal', city: 'Carcavelos', lat: 38.69, lon: -9.33 },
      { country: 'ST', countryName: 'Sao Tome and Principe', city: 'Sao Tome', lat: 0.33, lon: 6.73 },
      { country: 'SN', countryName: 'Senegal', city: 'Dakar', lat: 14.69, lon: -17.45 },
      { country: 'SL', countryName: 'Sierra Leone', city: 'Freetown', lat: 8.49, lon: -13.24 },
      { country: 'ZA', countryName: 'South Africa', city: 'Duynefontein', lat: -33.69, lon: 18.45 },
      { country: 'ES', countryName: 'Spain', city: 'Granadilla de Abona', lat: 28.06, lon: -16.52 },
    ],
    countriesServed: [
      { country: 'BJ', capacityShare: 0.06, isRedundant: true },
      { country: 'CI', capacityShare: 0.06, isRedundant: true },
      { country: 'GQ', capacityShare: 0.06, isRedundant: true },
      { country: 'FR', capacityShare: 0.06, isRedundant: true },
      { country: 'GA', capacityShare: 0.06, isRedundant: true },
      { country: 'GM', capacityShare: 0.06, isRedundant: true },
      { country: 'GH', capacityShare: 0.06, isRedundant: true },
      { country: 'GN', capacityShare: 0.06, isRedundant: true },
      { country: 'GW', capacityShare: 0.06, isRedundant: true },
      { country: 'LR', capacityShare: 0.06, isRedundant: true },
      { country: 'MR', capacityShare: 0.06, isRedundant: true },
      { country: 'NG', capacityShare: 0.06, isRedundant: true },
      { country: 'PT', capacityShare: 0.06, isRedundant: true },
      { country: 'ST', capacityShare: 0.06, isRedundant: true },
      { country: 'SN', capacityShare: 0.06, isRedundant: true },
      { country: 'SL', capacityShare: 0.06, isRedundant: true },
      { country: 'ZA', capacityShare: 0.06, isRedundant: true },
      { country: 'ES', capacityShare: 0.06, isRedundant: true },
    ],
  },
  {
    id: 'mainone',
    name: 'MainOne',
    points: [[-9.1, 38.6], [-14.4, 29], [-19.8, 11.7], [1.6, 1.9], [0, 0.8], [-4, 2.4], [-4, 5.3]],
    major: true,
    rfsYear: 2010,
    owners: ['MainOne - An Equinix Company'],
    landingPoints: [
      { country: 'CI', countryName: 'Côte d\'Ivoire', city: 'Abidjan', lat: 5.32, lon: -4.03 },
      { country: 'GH', countryName: 'Ghana', city: 'Accra', lat: 5.56, lon: -0.2 },
      { country: 'NG', countryName: 'Nigeria', city: 'Lagos', lat: 6.44, lon: 3.42 },
      { country: 'PT', countryName: 'Portugal', city: 'Seixal', lat: 38.64, lon: -9.11 },
      { country: 'SN', countryName: 'Senegal', city: 'Dakar', lat: 14.69, lon: -17.45 },
    ],
    countriesServed: [
      { country: 'CI', capacityShare: 0.20, isRedundant: true },
      { country: 'GH', capacityShare: 0.20, isRedundant: true },
      { country: 'NG', capacityShare: 0.20, isRedundant: true },
      { country: 'PT', capacityShare: 0.20, isRedundant: true },
      { country: 'SN', capacityShare: 0.20, isRedundant: true },
    ],
  },
  {
    id: 'safe',
    name: 'SAFE',
    points: [[18.4, -33.7], [45.5, -28.7], [57.6, -20.7], [58.3, -20.6], [90, -0.8], [77.4, 0.6], [33.3, -30.3]],
    major: true,
    rfsYear: 2002,
    owners: ['AT&T', 'Angola Telecom', 'BICS', 'Camtel', 'China Telecom', 'Chunghwa Telecom', 'Cogent', 'Ghana Telecommunications Company', 'KPN', 'Liquid Intelligent Technologies', 'Maroc Telecom', 'Mauritius Telecom', 'NATCOM (Nigeria)', 'OPT', 'Orange', 'Orange Cote d’Ivoire', 'PCCW', 'Singtel', 'Sonatel', 'Sparkle', 'Tata Communications', 'Telecom Namibia', 'Telefonica', 'Telekom Malaysia', 'Telkom South Africa', 'Telstra', 'Verizon', 'Vodafone'],
    landingPoints: [
      { country: 'IN', countryName: 'India', city: 'Kochi', lat: 9.94, lon: 76.27 },
      { country: 'MY', countryName: 'Malaysia', city: 'Penang', lat: 5.37, lon: 100.41 },
      { country: 'MU', countryName: 'Mauritius', city: 'Baie Jacotet', lat: -20.47, lon: 57.49 },
      { country: 'RE', countryName: 'Réunion', city: 'Saint Paul', lat: -21, lon: 55.28 },
      { country: 'ZA', countryName: 'South Africa', city: 'Melkbosstrand', lat: -33.73, lon: 18.45 },
      { country: 'ZA', countryName: 'South Africa', city: 'Mtunzini', lat: -28.95, lon: 31.76 },
    ],
    countriesServed: [
      { country: 'IN', capacityShare: 0.20, isRedundant: true },
      { country: 'MY', capacityShare: 0.20, isRedundant: true },
      { country: 'MU', capacityShare: 0.20, isRedundant: true },
      { country: 'RE', capacityShare: 0.20, isRedundant: true },
      { country: 'ZA', capacityShare: 0.20, isRedundant: true },
    ],
  },
  {
    id: 'sat_3wasc',
    name: 'SAT-3/WASC',
    points: [[-9.1, 38.4], [-13.5, 3.7], [8.1, -4.8], [-3.9, 3.3], [11.7, -9.5], [-10.3, 33.9], [-6.4, 36.7]],
    major: true,
    rfsYear: 2002,
    owners: ['AT&T', 'Altice Portugal', 'Angola Telecom', 'BICS', 'BT', 'Camtel', 'China Telecom', 'Chunghwa Telecom', 'Cogent', 'Cyta', 'Deutsche Telekom', 'Ghana Telecommunications Company', 'KPN', 'KT', 'Liquid Intelligent Technologies', 'Maroc Telecom', 'Mauritius Telecom', 'NATCOM (Nigeria)', 'OPT', 'Orange', 'Orange Cote d’Ivoire', 'PCCW', 'SBIN (La Société Béninoise d’Infrastructures Numériques)', 'Singtel', 'Sparkle', 'Tata Communications', 'Telecom Namibia', 'Telekom Malaysia', 'Telkom South Africa', 'Telstra', 'Telxius', 'Verizon', 'Vodafone'],
    landingPoints: [
      { country: 'AO', countryName: 'Angola', city: 'Cacuaco', lat: -8.78, lon: 13.37 },
      { country: 'BJ', countryName: 'Benin', city: 'Cotonou', lat: 6.36, lon: 2.44 },
      { country: 'CM', countryName: 'Cameroon', city: 'Douala', lat: 4.05, lon: 9.71 },
      { country: 'CI', countryName: 'Côte d\'Ivoire', city: 'Abidjan', lat: 5.32, lon: -4.03 },
      { country: 'GA', countryName: 'Gabon', city: 'Libreville', lat: 0.39, lon: 9.45 },
      { country: 'GH', countryName: 'Ghana', city: 'Accra', lat: 5.56, lon: -0.2 },
      { country: 'NG', countryName: 'Nigeria', city: 'Lagos', lat: 6.44, lon: 3.42 },
      { country: 'PT', countryName: 'Portugal', city: 'Sesimbra', lat: 38.44, lon: -9.1 },
      { country: 'SN', countryName: 'Senegal', city: 'Dakar', lat: 14.69, lon: -17.45 },
      { country: 'ZA', countryName: 'South Africa', city: 'Melkbosstrand', lat: -33.73, lon: 18.45 },
      { country: 'ES', countryName: 'Spain', city: 'Alta Vista', lat: 28, lon: -15.7 },
      { country: 'ES', countryName: 'Spain', city: 'Chipiona', lat: 36.73, lon: -6.43 },
    ],
    countriesServed: [
      { country: 'AO', capacityShare: 0.09, isRedundant: true },
      { country: 'BJ', capacityShare: 0.09, isRedundant: true },
      { country: 'CM', capacityShare: 0.09, isRedundant: true },
      { country: 'CI', capacityShare: 0.09, isRedundant: true },
      { country: 'GA', capacityShare: 0.09, isRedundant: true },
      { country: 'GH', capacityShare: 0.09, isRedundant: true },
      { country: 'NG', capacityShare: 0.09, isRedundant: true },
      { country: 'PT', capacityShare: 0.09, isRedundant: true },
      { country: 'SN', capacityShare: 0.09, isRedundant: true },
      { country: 'ZA', capacityShare: 0.09, isRedundant: true },
      { country: 'ES', capacityShare: 0.09, isRedundant: true },
    ],
  },
  {
    id: 'the_east_african_marine_system_teams',
    name: 'The East African Marine System (TEAMS)',
    points: [[39.7, -4.1], [46.6, -2.4], [56.3, 5.5], [62.1, 15.7], [63, 22.5], [58.5, 24.7], [56.3, 25.1]],
    major: true,
    rfsYear: 2009,
    owners: ['TEAMS Ltd.', 'e&'],
    landingPoints: [
      { country: 'KE', countryName: 'Kenya', city: 'Mombasa', lat: -4.05, lon: 39.67 },
      { country: 'AE', countryName: 'United Arab Emirates', city: 'Fujairah', lat: 25.12, lon: 56.33 },
    ],
    countriesServed: [
      { country: 'KE', capacityShare: 0.30, isRedundant: true },
      { country: 'AE', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'lower_indian_ocean_network_lion',
    name: 'Lower Indian Ocean Network (LION)',
    points: [[57.5, -20.1], [56.7, -20.2], [55.8, -20.5], [55.6, -20.6], [55.5, -20.9], [55.4, -20.6], [52.2, -18.9], [49.4, -18.1]],
    major: true,
    rfsYear: 2009,
    owners: ['Mauritius Telecom', 'Orange', 'Orange Madagascar'],
    landingPoints: [
      { country: 'MG', countryName: 'Madagascar', city: 'Toamasina', lat: -18.15, lon: 49.4 },
      { country: 'MU', countryName: 'Mauritius', city: 'Terre Rouge', lat: -20.08, lon: 57.51 },
      { country: 'RE', countryName: 'Réunion', city: 'Sainte Marie', lat: -20.9, lon: 55.55 },
    ],
    countriesServed: [
      { country: 'MG', capacityShare: 0.30, isRedundant: true },
      { country: 'MU', capacityShare: 0.30, isRedundant: true },
      { country: 'RE', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'djibouti_africa_regional_express_1_dare_1',
    name: 'Djibouti Africa Regional Express 1 (DARE 1)',
    points: [[43.2, 11.6], [39.7, -4], [46.3, -15.7], [43.7, -23.3], [34.9, -19.8], [32.6, -26], [40.7, -14.6], [49.2, 11.3], [45.3, 2], [31.8, -28.9], [39.3, -6.8], [40.2, -10.3]],
    major: true,
    rfsYear: 2021,
    owners: ['Djibouti Telecom', 'Hormuud Telecom Somalia', 'Somtel International', 'Telkom Kenya'],
    landingPoints: [
      { country: 'DJ', countryName: 'Djibouti', city: 'Djibouti City', lat: 11.59, lon: 43.15 },
      { country: 'KE', countryName: 'Kenya', city: 'Mombasa', lat: -4.05, lon: 39.67 },
      { country: 'MG', countryName: 'Madagascar', city: 'Mahajanga', lat: -15.71, lon: 46.32 },
      { country: 'MG', countryName: 'Madagascar', city: 'Toliara', lat: -23.35, lon: 43.66 },
      { country: 'MZ', countryName: 'Mozambique', city: 'Beira', lat: -19.82, lon: 34.85 },
      { country: 'MZ', countryName: 'Mozambique', city: 'Maputo', lat: -25.97, lon: 32.58 },
      { country: 'MZ', countryName: 'Mozambique', city: 'Nacala', lat: -14.57, lon: 40.69 },
      { country: 'SO', countryName: 'Somalia', city: 'Bosaso', lat: 11.28, lon: 49.19 },
      { country: 'SO', countryName: 'Somalia', city: 'Mogadishu', lat: 2.04, lon: 45.34 },
      { country: 'ZA', countryName: 'South Africa', city: 'Mtunzini', lat: -28.95, lon: 31.76 },
      { country: 'TZ', countryName: 'Tanzania', city: 'Dar Es Salaam', lat: -6.82, lon: 39.27 },
      { country: 'TZ', countryName: 'Tanzania', city: 'Mtwara', lat: -10.26, lon: 40.18 },
    ],
    countriesServed: [
      { country: 'DJ', capacityShare: 0.14, isRedundant: true },
      { country: 'KE', capacityShare: 0.14, isRedundant: true },
      { country: 'MG', capacityShare: 0.14, isRedundant: true },
      { country: 'MZ', capacityShare: 0.14, isRedundant: true },
      { country: 'SO', capacityShare: 0.14, isRedundant: true },
      { country: 'ZA', capacityShare: 0.14, isRedundant: true },
      { country: 'TZ', capacityShare: 0.14, isRedundant: true },
    ],
  },

  // === AMERICAS ===
  {
    id: 'south_america_1_sam_1',
    name: 'South America-1 (SAm-1)',
    points: [[-56.7, -36.5], [-38.5, -3.7], [-43.2, -22.9], [-38.5, -13], [-46.3, -24], [-70.3, -18.5], [-71.6, -33], [-74.8, 10.9], [-68.4, 18.6], [-80.9, -2.3], [-88.6, 15.7], [-90.8, 13.9], [-76.9, -12.3], [-81, -4.1], [-80.1, 26.4], [-66.1, 18.5]],
    major: true,
    rfsYear: 2001,
    owners: ['Telxius'],
    landingPoints: [
      { country: 'AR', countryName: 'Argentina', city: 'Las Toninas', lat: -36.47, lon: -56.7 },
      { country: 'BR', countryName: 'Brazil', city: 'Fortaleza', lat: -3.72, lon: -38.54 },
      { country: 'BR', countryName: 'Brazil', city: 'Rio de Janeiro', lat: -22.9, lon: -43.21 },
      { country: 'BR', countryName: 'Brazil', city: 'Salvador', lat: -12.97, lon: -38.5 },
      { country: 'BR', countryName: 'Brazil', city: 'Santos', lat: -23.96, lon: -46.33 },
      { country: 'CL', countryName: 'Chile', city: 'Arica', lat: -18.47, lon: -70.31 },
      { country: 'CL', countryName: 'Chile', city: 'Valparaíso', lat: -33.05, lon: -71.62 },
      { country: 'CO', countryName: 'Colombia', city: 'Barranquilla', lat: 10.94, lon: -74.78 },
      { country: 'DO', countryName: 'Dominican Republic', city: 'Punta Cana', lat: 18.62, lon: -68.44 },
      { country: 'EC', countryName: 'Ecuador', city: 'Punta Carnero', lat: -2.27, lon: -80.91 },
      { country: 'GT', countryName: 'Guatemala', city: 'Puerto Barrios', lat: 15.73, lon: -88.6 },
      { country: 'GT', countryName: 'Guatemala', city: 'Puerto San Jose', lat: 13.93, lon: -90.82 },
      { country: 'PE', countryName: 'Peru', city: 'Lurin', lat: -12.28, lon: -76.87 },
      { country: 'PE', countryName: 'Peru', city: 'Mancora', lat: -4.15, lon: -81.05 },
      { country: 'US', countryName: 'United States', city: 'Boca Raton', lat: 26.35, lon: -80.09 },
      { country: 'US', countryName: 'United States', city: 'San Juan', lat: 18.47, lon: -66.11 },
    ],
    countriesServed: [
      { country: 'AR', capacityShare: 0.11, isRedundant: true },
      { country: 'BR', capacityShare: 0.11, isRedundant: true },
      { country: 'CL', capacityShare: 0.11, isRedundant: true },
      { country: 'CO', capacityShare: 0.11, isRedundant: true },
      { country: 'DO', capacityShare: 0.11, isRedundant: true },
      { country: 'EC', capacityShare: 0.11, isRedundant: true },
      { country: 'GT', capacityShare: 0.11, isRedundant: true },
      { country: 'PE', capacityShare: 0.11, isRedundant: true },
      { country: 'US', capacityShare: 0.11, isRedundant: true },
    ],
  },
  {
    id: 'ellalink',
    name: 'EllaLink',
    points: [[-35.1, 0.6], [-23.5, 14.9], [-25.6, 11.3], [-17.5, 28.3], [-9.1, 37.9], [-17, 20.9]],
    major: true,
    rfsYear: 2021,
    owners: ['EllaLink'],
    landingPoints: [
      { country: 'BR', countryName: 'Brazil', city: 'Fortaleza', lat: -3.72, lon: -38.54 },
      { country: 'CV', countryName: 'Cape Verde', city: 'Praia', lat: 14.92, lon: -23.52 },
      { country: 'GF', countryName: 'French Guiana', city: 'Cayenne', lat: 4.92, lon: -52.31 },
      { country: 'MR', countryName: 'Mauritania', city: 'Nouadhibou', lat: 20.95, lon: -17.04 },
      { country: 'MA', countryName: 'Morocco', city: 'Casablanca', lat: 33.61, lon: -7.63 },
      { country: 'PT', countryName: 'Portugal', city: 'Funchal', lat: 32.65, lon: -16.91 },
      { country: 'PT', countryName: 'Portugal', city: 'Sines', lat: 37.96, lon: -8.87 },
    ],
    countriesServed: [
      { country: 'BR', capacityShare: 0.17, isRedundant: true },
      { country: 'CV', capacityShare: 0.17, isRedundant: true },
      { country: 'GF', capacityShare: 0.17, isRedundant: true },
      { country: 'MR', capacityShare: 0.17, isRedundant: true },
      { country: 'MA', capacityShare: 0.17, isRedundant: true },
      { country: 'PT', capacityShare: 0.17, isRedundant: true },
    ],
  },
  {
    id: 'brusa',
    name: 'BRUSA',
    points: [[-43.2, -22.9], [-31, -13.7], [-48.6, 14.8], [-75.6, 35.8], [-38.5, -3.7], [-66.1, 18.5]],
    major: true,
    rfsYear: 2018,
    owners: ['Telxius'],
    landingPoints: [
      { country: 'BR', countryName: 'Brazil', city: 'Fortaleza', lat: -3.72, lon: -38.54 },
      { country: 'BR', countryName: 'Brazil', city: 'Rio de Janeiro', lat: -22.9, lon: -43.21 },
      { country: 'US', countryName: 'United States', city: 'San Juan', lat: 18.47, lon: -66.11 },
      { country: 'US', countryName: 'United States', city: 'Virginia Beach', lat: 36.76, lon: -76.06 },
    ],
    countriesServed: [
      { country: 'BR', capacityShare: 0.30, isRedundant: true },
      { country: 'US', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'monet',
    name: 'Monet',
    points: [[-46.3, -24], [-31.9, -18], [-34.6, 0.6], [-69.3, 25.8], [-78.7, 27.3], [-36, -0.8], [-38.5, -3.7]],
    major: true,
    rfsYear: 2017,
    owners: ['Algar Telecom', 'Angola Cables', 'Antel Uruguay', 'Google'],
    landingPoints: [
      { country: 'BR', countryName: 'Brazil', city: 'Fortaleza', lat: -3.72, lon: -38.54 },
      { country: 'BR', countryName: 'Brazil', city: 'Santos', lat: -23.96, lon: -46.33 },
      { country: 'US', countryName: 'United States', city: 'Boca Raton', lat: 26.35, lon: -80.09 },
    ],
    countriesServed: [
      { country: 'BR', capacityShare: 0.30, isRedundant: true },
      { country: 'US', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'seabras_1',
    name: 'Seabras-1',
    points: [[-46.4, -24], [-74.1, 40.2]],
    major: true,
    rfsYear: 2017,
    owners: ['Seaborn Networks', 'Sparkle'],
    landingPoints: [
      { country: 'BR', countryName: 'Brazil', city: 'Praia Grande', lat: -24.01, lon: -46.41 },
      { country: 'US', countryName: 'United States', city: 'Wall Township', lat: 40.15, lon: -74.06 },
    ],
    countriesServed: [
      { country: 'BR', capacityShare: 0.30, isRedundant: true },
      { country: 'US', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'firmina',
    name: 'Firmina',
    points: [[-78.9, 33.7], [-69.3, 28.4], [-30.5, -3.8], [-39.6, -25.9], [-56.7, -36.5], [-45.2, -25.1], [-46.4, -24]],
    major: true,
    rfsYear: 2025,
    owners: ['Google'],
    landingPoints: [
      { country: 'AR', countryName: 'Argentina', city: 'Las Toninas', lat: -36.47, lon: -56.7 },
      { country: 'BR', countryName: 'Brazil', city: 'Praia Grande', lat: -24.01, lon: -46.41 },
      { country: 'US', countryName: 'United States', city: 'Myrtle Beach', lat: 33.69, lon: -78.88 },
      { country: 'UY', countryName: 'Uruguay', city: 'Punta del Este', lat: -34.97, lon: -54.95 },
    ],
    countriesServed: [
      { country: 'AR', capacityShare: 0.25, isRedundant: true },
      { country: 'BR', capacityShare: 0.25, isRedundant: true },
      { country: 'US', capacityShare: 0.25, isRedundant: true },
      { country: 'UY', capacityShare: 0.25, isRedundant: true },
    ],
  },
  {
    id: 'south_atlantic_cable_system_sacs',
    name: 'South Atlantic Cable System (SACS)',
    points: [[-38.5, -3.7], [-34.2, -2.6], [-19.8, -6.6], [7.2, -9.1], [12.6, -9.2], [13.2, -9.5]],
    major: true,
    rfsYear: 2018,
    owners: ['Angola Cables'],
    landingPoints: [
      { country: 'AO', countryName: 'Angola', city: 'Sangano', lat: -9.49, lon: 13.2 },
      { country: 'BR', countryName: 'Brazil', city: 'Fortaleza', lat: -3.72, lon: -38.54 },
    ],
    countriesServed: [
      { country: 'AO', capacityShare: 0.30, isRedundant: true },
      { country: 'BR', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'south_atlantic_inter_link_sail',
    name: 'South Atlantic Inter Link (SAIL)',
    points: [[-38.5, -3.7], [-34.2, -2.1], [-10.8, -2.8], [0.5, -1.1], [8.1, 2.5], [9.9, 2.9]],
    major: true,
    rfsYear: 2020,
    owners: ['Camtel', 'China Unicom'],
    landingPoints: [
      { country: 'BR', countryName: 'Brazil', city: 'Fortaleza', lat: -3.72, lon: -38.54 },
      { country: 'CM', countryName: 'Cameroon', city: 'Kribi', lat: 2.93, lon: 9.91 },
    ],
    countriesServed: [
      { country: 'BR', capacityShare: 0.30, isRedundant: true },
      { country: 'CM', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'arcos',
    name: 'ARCOS',
    points: [[-83.8, 15.3], [-86.6, 20.8], [-67, 19.1], [-73.3, 11.7], [-82.9, 15], [-79.6, 25.8], [-80.2, 25.9]],
    major: true,
    rfsYear: 2001,
    owners: ['AT&T', 'Alestra', 'Bahamas Telecommunications Company', 'Belize Telemedia', 'CANTV', 'Claro Dominicana (Codetel)', 'Enitel', 'Hondutel', 'ICE (Kolbi)', 'Internexa', 'Liberty Networks', 'Orbinet Overseas', 'RACSA', 'Telecomunicaciones Ultramarinas de Puerto Rico', 'Telepuerto San Isidro', 'Tigo Colombia', 'Tricom USA', 'United Telecommunication Services (UTS)', 'Verizon'],
    landingPoints: [
      { country: 'BS', countryName: 'Bahamas', city: 'Cat Island', lat: 24.4, lon: -75.53 },
      { country: 'BS', countryName: 'Bahamas', city: 'Crooked Island', lat: 22.63, lon: -74.19 },
      { country: 'BS', countryName: 'Bahamas', city: 'Nassau', lat: 25.07, lon: -77.34 },
      { country: 'BZ', countryName: 'Belize', city: 'Belize City', lat: 17.5, lon: -88.18 },
      { country: 'CO', countryName: 'Colombia', city: 'Cartagena', lat: 10.39, lon: -75.51 },
      { country: 'CO', countryName: 'Colombia', city: 'Riohacha', lat: 11.48, lon: -72.95 },
      { country: 'CR', countryName: 'Costa Rica', city: 'Puerto Limon', lat: 9.99, lon: -83.04 },
      { country: 'CW', countryName: 'Curaçao', city: 'Willemstad', lat: 12.1, lon: -68.9 },
      { country: 'DO', countryName: 'Dominican Republic', city: 'Puerto Plata', lat: 19.8, lon: -70.69 },
      { country: 'DO', countryName: 'Dominican Republic', city: 'Punta Cana', lat: 18.62, lon: -68.44 },
      { country: 'GT', countryName: 'Guatemala', city: 'Puerto Barrios', lat: 15.73, lon: -88.6 },
      { country: 'HN', countryName: 'Honduras', city: 'Puerto Cortes', lat: 15.85, lon: -87.95 },
      { country: 'HN', countryName: 'Honduras', city: 'Puerto Lempira', lat: 15.26, lon: -83.78 },
      { country: 'HN', countryName: 'Honduras', city: 'Trujillo', lat: 15.92, lon: -85.95 },
      { country: 'MX', countryName: 'Mexico', city: 'Cancún', lat: 21.1, lon: -86.77 },
      { country: 'MX', countryName: 'Mexico', city: 'Tulum', lat: 20.21, lon: -87.46 },
      { country: 'NI', countryName: 'Nicaragua', city: 'Bluefields', lat: 11.99, lon: -83.77 },
      { country: 'NI', countryName: 'Nicaragua', city: 'Puerto Cabezas', lat: 14.02, lon: -83.39 },
      { country: 'PA', countryName: 'Panama', city: 'Maria Chiquita', lat: 9.44, lon: -79.75 },
      { country: 'PA', countryName: 'Panama', city: 'Ustupo', lat: 9.13, lon: -77.93 },
      { country: 'TC', countryName: 'Turks and Caicos Islands', city: 'Providenciales', lat: 21.85, lon: -72.12 },
      { country: 'US', countryName: 'United States', city: 'Isla Verde', lat: 18.44, lon: -66.02 },
      { country: 'US', countryName: 'United States', city: 'North Miami Beach', lat: 25.93, lon: -80.16 },
      { country: 'VE', countryName: 'Venezuela', city: 'Punto Fijo', lat: 11.71, lon: -70.2 },
    ],
    countriesServed: [
      { country: 'BS', capacityShare: 0.07, isRedundant: true },
      { country: 'BZ', capacityShare: 0.07, isRedundant: true },
      { country: 'CO', capacityShare: 0.07, isRedundant: true },
      { country: 'CR', capacityShare: 0.07, isRedundant: true },
      { country: 'CW', capacityShare: 0.07, isRedundant: true },
      { country: 'DO', capacityShare: 0.07, isRedundant: true },
      { country: 'GT', capacityShare: 0.07, isRedundant: true },
      { country: 'HN', capacityShare: 0.07, isRedundant: true },
      { country: 'MX', capacityShare: 0.07, isRedundant: true },
      { country: 'NI', capacityShare: 0.07, isRedundant: true },
      { country: 'PA', capacityShare: 0.07, isRedundant: true },
      { country: 'TC', capacityShare: 0.07, isRedundant: true },
      { country: 'US', capacityShare: 0.07, isRedundant: true },
      { country: 'VE', capacityShare: 0.07, isRedundant: true },
    ],
  },
  {
    id: 'america_movil_submarine_cable_system_1_amx_1',
    name: 'America Movil Submarine Cable System-1 (AMX-1)',
    points: [[-38.5, -3.7], [-43.2, -22.9], [-38.5, -13], [-74.8, 10.9], [-75.5, 10.4], [-81.7, 12.6], [-83, 10], [-70.7, 19.8], [-69.9, 18.5], [-88.6, 15.7], [-86.8, 21.1], [-80.2, 26], [-81.7, 30.3], [-66.6, 18], [-66.1, 18.5]],
    major: true,
    rfsYear: 2014,
    owners: ['América Móvil (Claro)'],
    landingPoints: [
      { country: 'BR', countryName: 'Brazil', city: 'Fortaleza', lat: -3.72, lon: -38.54 },
      { country: 'BR', countryName: 'Brazil', city: 'Rio de Janeiro', lat: -22.9, lon: -43.21 },
      { country: 'BR', countryName: 'Brazil', city: 'Salvador', lat: -12.97, lon: -38.5 },
      { country: 'CO', countryName: 'Colombia', city: 'Barranquilla', lat: 10.94, lon: -74.78 },
      { country: 'CO', countryName: 'Colombia', city: 'Cartagena', lat: 10.39, lon: -75.51 },
      { country: 'CO', countryName: 'Colombia', city: 'Schooner Bight', lat: 12.55, lon: -81.73 },
      { country: 'CR', countryName: 'Costa Rica', city: 'Puerto Limon', lat: 9.99, lon: -83.04 },
      { country: 'DO', countryName: 'Dominican Republic', city: 'Puerto Plata', lat: 19.8, lon: -70.69 },
      { country: 'DO', countryName: 'Dominican Republic', city: 'Santo Domingo', lat: 18.49, lon: -69.94 },
      { country: 'GT', countryName: 'Guatemala', city: 'Puerto Barrios', lat: 15.73, lon: -88.6 },
      { country: 'MX', countryName: 'Mexico', city: 'Cancún', lat: 21.1, lon: -86.77 },
      { country: 'US', countryName: 'United States', city: 'Hollywood', lat: 26.01, lon: -80.16 },
      { country: 'US', countryName: 'United States', city: 'Jacksonville', lat: 30.33, lon: -81.66 },
      { country: 'US', countryName: 'United States', city: 'Ponce', lat: 17.98, lon: -66.63 },
      { country: 'US', countryName: 'United States', city: 'San Juan', lat: 18.47, lon: -66.11 },
    ],
    countriesServed: [
      { country: 'BR', capacityShare: 0.14, isRedundant: true },
      { country: 'CO', capacityShare: 0.14, isRedundant: true },
      { country: 'CR', capacityShare: 0.14, isRedundant: true },
      { country: 'DO', capacityShare: 0.14, isRedundant: true },
      { country: 'GT', capacityShare: 0.14, isRedundant: true },
      { country: 'MX', capacityShare: 0.14, isRedundant: true },
      { country: 'US', capacityShare: 0.14, isRedundant: true },
    ],
  },
  {
    id: 'globenet',
    name: 'GlobeNet',
    points: [[-68.4, 15.2], [-68.2, 17.8], [-40.9, 1.5], [-65.7, 34.7], [-32.2, -5.5], [-32.5, -5.8], [-38.5, -3.7]],
    major: true,
    rfsYear: 2000,
    owners: ['V.tal'],
    landingPoints: [
      { country: 'BM', countryName: 'Bermuda', city: 'St. David’s', lat: 32.31, lon: -64.77 },
      { country: 'BR', countryName: 'Brazil', city: 'Fortaleza', lat: -3.72, lon: -38.54 },
      { country: 'BR', countryName: 'Brazil', city: 'Rio de Janeiro', lat: -22.9, lon: -43.21 },
      { country: 'CO', countryName: 'Colombia', city: 'Barranquilla', lat: 10.94, lon: -74.78 },
      { country: 'US', countryName: 'United States', city: 'Boca Raton', lat: 26.35, lon: -80.09 },
      { country: 'US', countryName: 'United States', city: 'Tuckerton', lat: 39.6, lon: -74.34 },
      { country: 'VE', countryName: 'Venezuela', city: 'Maiquetia', lat: 10.6, lon: -66.96 },
    ],
    countriesServed: [
      { country: 'BM', capacityShare: 0.20, isRedundant: true },
      { country: 'BR', capacityShare: 0.20, isRedundant: true },
      { country: 'CO', capacityShare: 0.20, isRedundant: true },
      { country: 'US', capacityShare: 0.20, isRedundant: true },
      { country: 'VE', capacityShare: 0.20, isRedundant: true },
    ],
  },
  {
    id: 'malbec',
    name: 'Malbec',
    points: [[-48.6, -32.6], [-51.2, -30], [-46.3, -28], [-54, -35.8], [-46.4, -24], [-43.2, -22.9], [-45, -24.5], [-46.1, -25.1]],
    major: true,
    rfsYear: 2021,
    owners: ['Meta', 'V.tal'],
    landingPoints: [
      { country: 'AR', countryName: 'Argentina', city: 'Las Toninas', lat: -36.47, lon: -56.7 },
      { country: 'BR', countryName: 'Brazil', city: 'Porto Alegre', lat: -30.03, lon: -51.23 },
      { country: 'BR', countryName: 'Brazil', city: 'Praia Grande', lat: -24.01, lon: -46.41 },
      { country: 'BR', countryName: 'Brazil', city: 'Rio de Janeiro', lat: -22.9, lon: -43.21 },
    ],
    countriesServed: [
      { country: 'AR', capacityShare: 0.30, isRedundant: true },
      { country: 'BR', capacityShare: 0.30, isRedundant: true },
    ],
  },

  // === ASIA-PACIFIC ===
  {
    id: 'asia_pacific_gateway_apg',
    name: 'Asia Pacific Gateway (APG)',
    points: [[104, 1.4], [120.1, 20.4], [138.6, 32.4], [108, 6.9], [127.8, 29.5], [121.8, 24.9]],
    major: true,
    rfsYear: 2016,
    owners: ['China Mobile', 'China Telecom', 'China Unicom', 'Chunghwa Telecom', 'KT', 'LG Uplus', 'Meta', 'NTT', 'National Telecom', 'Starhub', 'TIME dotCom', 'VNPT International', 'Viettel Corporation'],
    landingPoints: [
      { country: 'CN', countryName: 'China', city: 'Chongming', lat: 31.62, lon: 121.4 },
      { country: 'CN', countryName: 'China', city: 'Nanhui', lat: 30.86, lon: 121.93 },
      { country: 'CN', countryName: 'China', city: 'Tseung Kwan O', lat: 22.32, lon: 114.26 },
      { country: 'JP', countryName: 'Japan', city: 'Maruyama', lat: 35.01, lon: 139.98 },
      { country: 'JP', countryName: 'Japan', city: 'Shima', lat: 34.34, lon: 136.87 },
      { country: 'MY', countryName: 'Malaysia', city: 'Cherating', lat: 4.13, lon: 103.39 },
      { country: 'SG', countryName: 'Singapore', city: 'Changi South', lat: 1.39, lon: 103.99 },
      { country: 'KR', countryName: 'South Korea', city: 'Busan', lat: 35.17, lon: 129 },
      { country: 'TW', countryName: 'Taiwan', city: 'Toucheng', lat: 24.86, lon: 121.8 },
      { country: 'TH', countryName: 'Thailand', city: 'Songkhla', lat: 7.2, lon: 100.6 },
      { country: 'VN', countryName: 'Vietnam', city: 'Danang', lat: 16.05, lon: 108.21 },
    ],
    countriesServed: [
      { country: 'CN', capacityShare: 0.13, isRedundant: true },
      { country: 'JP', capacityShare: 0.13, isRedundant: true },
      { country: 'MY', capacityShare: 0.13, isRedundant: true },
      { country: 'SG', capacityShare: 0.13, isRedundant: true },
      { country: 'KR', capacityShare: 0.13, isRedundant: true },
      { country: 'TW', capacityShare: 0.13, isRedundant: true },
      { country: 'TH', capacityShare: 0.13, isRedundant: true },
      { country: 'VN', capacityShare: 0.13, isRedundant: true },
    ],
  },
  {
    id: 'indigo_west',
    name: 'INDIGO-West',
    points: [[106.6, -5.2], [104.8, -7.5], [112.9, -30.3], [103.8, 0.8], [107, -2.1], [106.8, -6.2]],
    major: true,
    rfsYear: 2019,
    owners: ['Australia’s Academic and Research Network (AARNET)', 'Google', 'Indosat Ooredoo', 'Singtel', 'Superloop', 'Telstra'],
    landingPoints: [
      { country: 'AU', countryName: 'Australia', city: 'Perth', lat: -31.95, lon: 115.86 },
      { country: 'ID', countryName: 'Indonesia', city: 'Jakarta', lat: -6.17, lon: 106.83 },
      { country: 'SG', countryName: 'Singapore', city: 'Tuas', lat: 1.34, lon: 103.65 },
    ],
    countriesServed: [
      { country: 'AU', capacityShare: 0.30, isRedundant: true },
      { country: 'ID', capacityShare: 0.30, isRedundant: true },
      { country: 'SG', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'southeast_asia_japan_cable_sjc',
    name: 'Southeast Asia-Japan Cable (SJC)',
    points: [[114.6, 4.7], [107.1, 4.5], [120.1, 20.2], [140.4, 32.4], [114.3, 21.6], [118.3, 22.1], [120.1, 20.2]],
    major: true,
    rfsYear: 2013,
    owners: ['China Mobile', 'China Telecom', 'Chunghwa Telecom', 'Globe Telecom', 'Google', 'KDDI', 'National Telecom', 'Singtel', 'Telkom Indonesia', 'Unified National Networks (UNN)'],
    landingPoints: [
      { country: 'BN', countryName: 'Brunei', city: 'Telisai', lat: 4.7, lon: 114.57 },
      { country: 'CN', countryName: 'China', city: 'Chung Hom Kok', lat: 22.22, lon: 114.2 },
      { country: 'CN', countryName: 'China', city: 'Shantou', lat: 23.35, lon: 116.68 },
      { country: 'JP', countryName: 'Japan', city: 'Chikura', lat: 34.98, lon: 139.95 },
      { country: 'PH', countryName: 'Philippines', city: 'Nasugbu', lat: 14.09, lon: 120.62 },
      { country: 'SG', countryName: 'Singapore', city: 'Tuas', lat: 1.34, lon: 103.65 },
    ],
    countriesServed: [
      { country: 'BN', capacityShare: 0.20, isRedundant: true },
      { country: 'CN', capacityShare: 0.20, isRedundant: true },
      { country: 'JP', capacityShare: 0.20, isRedundant: true },
      { country: 'PH', capacityShare: 0.20, isRedundant: true },
      { country: 'SG', capacityShare: 0.20, isRedundant: true },
    ],
  },
  {
    id: 'asia_america_gateway_aag_cable_system',
    name: 'Asia-America Gateway (AAG) Cable System',
    points: [[107.1, 10.3], [145.3, 13.5], [117, 18.3], [103.9, 2.3], [108, 6], [-122.4, 34.9], [-120.8, 35.4]],
    major: true,
    rfsYear: 2009,
    owners: ['AT&T', 'BT', 'Bharti Airtel', 'Eastern Telecom', 'Ezecom', 'Globe Telecom', 'Indosat Ooredoo', 'National Telecom', 'PLDT', 'Saigon Postel Corporation', 'Spark New Zealand', 'Starhub', 'Telekom Malaysia', 'Telkom Indonesia', 'Telstra', 'Unified National Networks (UNN)', 'VNPT International', 'Viettel Corporation'],
    landingPoints: [
      { country: 'BN', countryName: 'Brunei', city: 'Tungku', lat: 4.93, lon: 114.89 },
      { country: 'CN', countryName: 'China', city: 'Lantau Island', lat: 22.27, lon: 113.95 },
      { country: 'GU', countryName: 'Guam', city: 'Tanguisson Point', lat: 13.54, lon: 144.81 },
      { country: 'MY', countryName: 'Malaysia', city: 'Mersing', lat: 2.3, lon: 103.85 },
      { country: 'PH', countryName: 'Philippines', city: 'La Union', lat: 16.58, lon: 120.39 },
      { country: 'SG', countryName: 'Singapore', city: 'Changi North', lat: 1.39, lon: 103.99 },
      { country: 'TH', countryName: 'Thailand', city: 'Sriracha', lat: 13.17, lon: 100.93 },
      { country: 'US', countryName: 'United States', city: 'Keawaula', lat: 21.55, lon: -158.24 },
      { country: 'US', countryName: 'United States', city: 'Morro Bay', lat: 35.37, lon: -120.85 },
      { country: 'VN', countryName: 'Vietnam', city: 'Vung Tau', lat: 10.34, lon: 107.08 },
    ],
    countriesServed: [
      { country: 'BN', capacityShare: 0.11, isRedundant: true },
      { country: 'CN', capacityShare: 0.11, isRedundant: true },
      { country: 'GU', capacityShare: 0.11, isRedundant: true },
      { country: 'MY', capacityShare: 0.11, isRedundant: true },
      { country: 'PH', capacityShare: 0.11, isRedundant: true },
      { country: 'SG', capacityShare: 0.11, isRedundant: true },
      { country: 'TH', capacityShare: 0.11, isRedundant: true },
      { country: 'US', capacityShare: 0.11, isRedundant: true },
      { country: 'VN', capacityShare: 0.11, isRedundant: true },
    ],
  },
  {
    id: 'southeast_asia_japan_cable_2_sjc2',
    name: 'Southeast Asia-Japan Cable 2 (SJC2)',
    points: [[104, 1.4], [117, 19.5], [138.6, 32.1], [112.9, 12.6], [129.4, 30.9], [123.7, 25.7], [121.5, 25.2]],
    major: true,
    rfsYear: 2025,
    owners: ['China Mobile', 'Chunghwa Telecom', 'DongHwa Telecom', 'KDDI', 'Meta', 'SK Broadband', 'Singtel', 'Telin', 'True Corporation', 'VNPT International'],
    landingPoints: [
      { country: 'CN', countryName: 'China', city: 'Chung Hom Kok', lat: 22.22, lon: 114.2 },
      { country: 'CN', countryName: 'China', city: 'Lingang', lat: 30.94, lon: 121.9 },
      { country: 'JP', countryName: 'Japan', city: 'Chikura', lat: 34.98, lon: 139.95 },
      { country: 'JP', countryName: 'Japan', city: 'Shima', lat: 34.34, lon: 136.87 },
      { country: 'SG', countryName: 'Singapore', city: 'Changi South', lat: 1.39, lon: 103.99 },
      { country: 'KR', countryName: 'South Korea', city: 'Busan', lat: 35.17, lon: 129 },
      { country: 'TW', countryName: 'Taiwan', city: 'Fangshan', lat: 22.25, lon: 120.66 },
      { country: 'TW', countryName: 'Taiwan', city: 'Tanshui', lat: 25.18, lon: 121.46 },
      { country: 'TH', countryName: 'Thailand', city: 'Songkhla', lat: 7.2, lon: 100.6 },
      { country: 'VN', countryName: 'Vietnam', city: 'Quy Nhon', lat: 13.78, lon: 109.22 },
    ],
    countriesServed: [
      { country: 'CN', capacityShare: 0.14, isRedundant: true },
      { country: 'JP', capacityShare: 0.14, isRedundant: true },
      { country: 'SG', capacityShare: 0.14, isRedundant: true },
      { country: 'KR', capacityShare: 0.14, isRedundant: true },
      { country: 'TW', capacityShare: 0.14, isRedundant: true },
      { country: 'TH', capacityShare: 0.14, isRedundant: true },
      { country: 'VN', capacityShare: 0.14, isRedundant: true },
    ],
  },
  {
    id: 'asia_direct_cable_adc',
    name: 'Asia Direct Cable (ADC)',
    points: [[140, 35], [130.9, 22.7], [110.9, 7.7], [103.3, 7.7], [109.2, 13.8], [117, 13.7], [121.1, 13.8]],
    major: true,
    rfsYear: 2024,
    owners: ['China Telecom', 'China Unicom', 'National Telecom', 'PLDT', 'Singtel', 'Softbank', 'Tata Communications', 'Viettel Corporation'],
    landingPoints: [
      { country: 'CN', countryName: 'China', city: 'Chung Hom Kok', lat: 22.22, lon: 114.2 },
      { country: 'CN', countryName: 'China', city: 'Shantou', lat: 23.35, lon: 116.68 },
      { country: 'JP', countryName: 'Japan', city: 'Maruyama', lat: 35.01, lon: 139.98 },
      { country: 'PH', countryName: 'Philippines', city: 'Batangas', lat: 13.77, lon: 121.06 },
      { country: 'SG', countryName: 'Singapore', city: 'Tuas', lat: 1.34, lon: 103.65 },
      { country: 'TH', countryName: 'Thailand', city: 'Sriracha', lat: 13.17, lon: 100.93 },
      { country: 'VN', countryName: 'Vietnam', city: 'Quy Nhon', lat: 13.78, lon: 109.22 },
    ],
    countriesServed: [
      { country: 'CN', capacityShare: 0.17, isRedundant: true },
      { country: 'JP', capacityShare: 0.17, isRedundant: true },
      { country: 'PH', capacityShare: 0.17, isRedundant: true },
      { country: 'SG', capacityShare: 0.17, isRedundant: true },
      { country: 'TH', capacityShare: 0.17, isRedundant: true },
      { country: 'VN', capacityShare: 0.17, isRedundant: true },
    ],
  },
  {
    id: 'bifrost',
    name: 'Bifrost',
    points: [[144.6, 13.9], [117.7, -1.5], [103.9, 1], [124.8, 1.5], [-117.1, 32.4], [-138.6, 40.4]],
    major: true,
    rfsYear: 2025,
    owners: ['Keppel T&T', 'Meta', 'Telin'],
    landingPoints: [
      { country: 'GU', countryName: 'Guam', city: 'Alupang', lat: 13.49, lon: 144.78 },
      { country: 'ID', countryName: 'Indonesia', city: 'Jakarta', lat: -6.17, lon: 106.83 },
      { country: 'ID', countryName: 'Indonesia', city: 'Manado', lat: 1.49, lon: 124.84 },
      { country: 'MX', countryName: 'Mexico', city: 'Rosarito', lat: 32.36, lon: -117.06 },
      { country: 'PH', countryName: 'Philippines', city: 'Davao', lat: 7.08, lon: 125.61 },
      { country: 'SG', countryName: 'Singapore', city: 'Tuas', lat: 1.34, lon: 103.65 },
      { country: 'US', countryName: 'United States', city: 'Grover Beach', lat: 35.12, lon: -120.62 },
      { country: 'US', countryName: 'United States', city: 'Winema', lat: 45.15, lon: -123.97 },
    ],
    countriesServed: [
      { country: 'GU', capacityShare: 0.17, isRedundant: true },
      { country: 'ID', capacityShare: 0.17, isRedundant: true },
      { country: 'MX', capacityShare: 0.17, isRedundant: true },
      { country: 'PH', capacityShare: 0.17, isRedundant: true },
      { country: 'SG', capacityShare: 0.17, isRedundant: true },
      { country: 'US', capacityShare: 0.17, isRedundant: true },
    ],
  },
  {
    id: 'apricot',
    name: 'Apricot',
    points: [[144.7, 13.4], [141, 33.9], [104, 1.2], [117.7, -2.7], [125.5, 16.2], [104.2, 1], [104, 1.1]],
    major: true,
    rfsYear: 2025,
    owners: ['Chunghwa Telecom', 'Google', 'Meta', 'NTT', 'PLDT'],
    landingPoints: [
      { country: 'GU', countryName: 'Guam', city: 'Agat', lat: 13.39, lon: 144.66 },
      { country: 'ID', countryName: 'Indonesia', city: 'Batam', lat: 1.07, lon: 104.02 },
      { country: 'ID', countryName: 'Indonesia', city: 'Tanjung Pakis', lat: -5.98, lon: 107.12 },
      { country: 'JP', countryName: 'Japan', city: 'Minamiboso', lat: 34.97, lon: 139.96 },
      { country: 'PH', countryName: 'Philippines', city: 'Baler', lat: 15.76, lon: 121.56 },
      { country: 'PH', countryName: 'Philippines', city: 'Davao', lat: 7.08, lon: 125.61 },
      { country: 'SG', countryName: 'Singapore', city: 'Tuas', lat: 1.34, lon: 103.65 },
      { country: 'TW', countryName: 'Taiwan', city: 'Toucheng', lat: 24.86, lon: 121.8 },
    ],
    countriesServed: [
      { country: 'GU', capacityShare: 0.17, isRedundant: true },
      { country: 'ID', capacityShare: 0.17, isRedundant: true },
      { country: 'JP', capacityShare: 0.17, isRedundant: true },
      { country: 'PH', capacityShare: 0.17, isRedundant: true },
      { country: 'SG', capacityShare: 0.17, isRedundant: true },
      { country: 'TW', capacityShare: 0.17, isRedundant: true },
    ],
  },
  {
    id: 'apcn_2',
    name: 'APCN-2',
    points: [[121.4, 31.6], [114, 22.3], [116.7, 23.4], [140, 35], [140.8, 36.8], [103.4, 4.1], [121.1, 13.8], [103.9, 1.3], [129, 35.2], [121.5, 25.2]],
    major: true,
    rfsYear: 2001,
    owners: ['AT&T', 'BT', 'China Telecom', 'China Unicom', 'Chunghwa Telecom', 'HKBN', 'KDDI', 'KT', 'LG Uplus', 'NTT', 'Orange', 'PCCW', 'PLDT', 'Singtel', 'Singtel Optus', 'Softbank', 'Starhub', 'Tata Communications', 'Telekom Malaysia', 'Telstra', 'Verizon', 'Vodafone'],
    landingPoints: [
      { country: 'CN', countryName: 'China', city: 'Chongming', lat: 31.62, lon: 121.4 },
      { country: 'CN', countryName: 'China', city: 'Lantau Island', lat: 22.27, lon: 113.95 },
      { country: 'CN', countryName: 'China', city: 'Shantou', lat: 23.35, lon: 116.68 },
      { country: 'JP', countryName: 'Japan', city: 'Chikura', lat: 34.98, lon: 139.95 },
      { country: 'JP', countryName: 'Japan', city: 'Kitaibaraki', lat: 36.8, lon: 140.75 },
      { country: 'MY', countryName: 'Malaysia', city: 'Cherating', lat: 4.13, lon: 103.39 },
      { country: 'PH', countryName: 'Philippines', city: 'Batangas', lat: 13.77, lon: 121.06 },
      { country: 'SG', countryName: 'Singapore', city: 'Katong', lat: 1.31, lon: 103.9 },
      { country: 'KR', countryName: 'South Korea', city: 'Busan', lat: 35.17, lon: 129 },
      { country: 'TW', countryName: 'Taiwan', city: 'Tanshui', lat: 25.18, lon: 121.46 },
    ],
    countriesServed: [
      { country: 'CN', capacityShare: 0.14, isRedundant: true },
      { country: 'JP', capacityShare: 0.14, isRedundant: true },
      { country: 'MY', capacityShare: 0.14, isRedundant: true },
      { country: 'PH', capacityShare: 0.14, isRedundant: true },
      { country: 'SG', capacityShare: 0.14, isRedundant: true },
      { country: 'KR', capacityShare: 0.14, isRedundant: true },
      { country: 'TW', capacityShare: 0.14, isRedundant: true },
    ],
  },
  {
    id: 'australia_japan_cable_ajc',
    name: 'Australia-Japan Cable (AJC)',
    points: [[140, 35], [151.2, 10], [158.4, -25.5], [147.1, 13.9], [151.2, -33.8], [140.1, 35], [140, 35]],
    major: true,
    rfsYear: 2001,
    owners: ['AT&T', 'NTT', 'Softbank', 'Telstra', 'Verizon'],
    landingPoints: [
      { country: 'AU', countryName: 'Australia', city: 'Oxford Falls', lat: -33.74, lon: 151.25 },
      { country: 'AU', countryName: 'Australia', city: 'Paddington', lat: -33.88, lon: 151.23 },
      { country: 'GU', countryName: 'Guam', city: 'Tanguisson Point', lat: 13.54, lon: 144.81 },
      { country: 'GU', countryName: 'Guam', city: 'Tumon Bay', lat: 13.51, lon: 144.8 },
      { country: 'JP', countryName: 'Japan', city: 'Maruyama', lat: 35.01, lon: 139.98 },
      { country: 'JP', countryName: 'Japan', city: 'Shima', lat: 34.34, lon: 136.87 },
    ],
    countriesServed: [
      { country: 'AU', capacityShare: 0.30, isRedundant: true },
      { country: 'GU', capacityShare: 0.30, isRedundant: true },
      { country: 'JP', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'australia_singapore_cable_asc',
    name: 'Australia-Singapore Cable (ASC)',
    points: [[103.9, 1.3], [105.3, 0.1], [106.5, -5.2], [105.3, -7.5], [112, -27.2], [105.9, -6.1], [105.7, -10.4]],
    major: true,
    rfsYear: 2018,
    owners: ['Vocus Communications'],
    landingPoints: [
      { country: 'AU', countryName: 'Australia', city: 'Perth', lat: -31.95, lon: 115.86 },
      { country: 'CX', countryName: 'Christmas Island', city: 'Flying Fish Cove', lat: -10.44, lon: 105.7 },
      { country: 'ID', countryName: 'Indonesia', city: 'Anyer', lat: -6.07, lon: 105.88 },
      { country: 'SG', countryName: 'Singapore', city: 'Tanah Merah', lat: 1.33, lon: 103.95 },
    ],
    countriesServed: [
      { country: 'AU', capacityShare: 0.25, isRedundant: true },
      { country: 'CX', capacityShare: 0.25, isRedundant: true },
      { country: 'ID', capacityShare: 0.25, isRedundant: true },
      { country: 'SG', capacityShare: 0.25, isRedundant: true },
    ],
  },
  {
    id: 'japan_guam_australia_south_jga_s',
    name: 'Japan-Guam-Australia South (JGA-S)',
    points: [[144.7, 13.5], [149.4, 10.9], [157.7, -3], [162, -13.7], [152.1, -33.5], [153.1, -26.7]],
    major: true,
    rfsYear: 2020,
    owners: ['Australia’s Academic and Research Network (AARNET)', 'Google', 'Lightstorm Telecom'],
    landingPoints: [
      { country: 'AU', countryName: 'Australia', city: 'Brookvale', lat: -33.76, lon: 151.27 },
      { country: 'AU', countryName: 'Australia', city: 'Maroochydore', lat: -26.65, lon: 153.09 },
      { country: 'GU', countryName: 'Guam', city: 'Piti', lat: 13.46, lon: 144.69 },
    ],
    countriesServed: [
      { country: 'AU', capacityShare: 0.30, isRedundant: true },
      { country: 'GU', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'sea_us',
    name: 'SEA-US',
    points: [[-118.4, 33.9], [-158.4, 22.1], [-180, 18.3], [126, 6], [144, 13.1], [160.2, 15.7], [180, 18.3]],
    major: true,
    rfsYear: 2017,
    owners: ['GTA TeleGuam', 'Globe Telecom', 'Hawaiian Telcom', 'Lightstorm Telecom', 'Telin'],
    landingPoints: [
      { country: 'GU', countryName: 'Guam', city: 'Piti', lat: 13.46, lon: 144.69 },
      { country: 'ID', countryName: 'Indonesia', city: 'Kauditan', lat: 1.38, lon: 125.07 },
      { country: 'FM', countryName: 'Micronesia', city: 'Magachgil', lat: 9.44, lon: 138.06 },
      { country: 'PW', countryName: 'Palau', city: 'Ngeremlengui', lat: 7.53, lon: 134.56 },
      { country: 'PH', countryName: 'Philippines', city: 'Davao', lat: 7.08, lon: 125.61 },
      { country: 'US', countryName: 'United States', city: 'Hermosa Beach', lat: 33.86, lon: -118.4 },
      { country: 'US', countryName: 'United States', city: 'Makaha', lat: 21.46, lon: -158.22 },
    ],
    countriesServed: [
      { country: 'GU', capacityShare: 0.17, isRedundant: true },
      { country: 'ID', capacityShare: 0.17, isRedundant: true },
      { country: 'FM', capacityShare: 0.17, isRedundant: true },
      { country: 'PW', capacityShare: 0.17, isRedundant: true },
      { country: 'PH', capacityShare: 0.17, isRedundant: true },
      { country: 'US', capacityShare: 0.17, isRedundant: true },
    ],
  },
  {
    id: 'india_asia_xpress_iax',
    name: 'India Asia Xpress (IAX)',
    points: [[81.1, 16.2], [74.7, 6.7], [95.4, 6.2], [103.5, 1.3], [101.4, 2.6], [81.5, 11.7], [80.2, 13.1]],
    major: true,
    rfsYear: 2024,
    owners: ['China Mobile', 'Reliance Jio Infocomm'],
    landingPoints: [
      { country: 'IN', countryName: 'India', city: 'Chennai', lat: 13.06, lon: 80.24 },
      { country: 'IN', countryName: 'India', city: 'Digha', lat: 21.62, lon: 87.51 },
      { country: 'IN', countryName: 'India', city: 'Machilipatnam', lat: 16.18, lon: 81.14 },
      { country: 'IN', countryName: 'India', city: 'Mumbai', lat: 19.08, lon: 72.88 },
      { country: 'MY', countryName: 'Malaysia', city: 'Morib', lat: 2.75, lon: 101.44 },
      { country: 'MV', countryName: 'Maldives', city: 'Hulhumale', lat: 4.21, lon: 73.54 },
      { country: 'SG', countryName: 'Singapore', city: 'Tuas', lat: 1.34, lon: 103.65 },
      { country: 'LK', countryName: 'Sri Lanka', city: 'Matara', lat: 5.94, lon: 80.54 },
      { country: 'TH', countryName: 'Thailand', city: 'Satun', lat: 6.61, lon: 100.07 },
    ],
    countriesServed: [
      { country: 'IN', capacityShare: 0.17, isRedundant: true },
      { country: 'MY', capacityShare: 0.17, isRedundant: true },
      { country: 'MV', capacityShare: 0.17, isRedundant: true },
      { country: 'SG', capacityShare: 0.17, isRedundant: true },
      { country: 'LK', capacityShare: 0.17, isRedundant: true },
      { country: 'TH', capacityShare: 0.17, isRedundant: true },
    ],
  },
  {
    id: 'raman',
    name: 'Raman',
    points: [[72.9, 19.1], [44.6, 12.3], [39.5, 20.4], [35.4, 29.1], [55.4, 15.9], [57.9, 23.7]],
    major: true,
    rfsYear: 2026,
    owners: ['Google', 'Sparkle', 'Zain Omantel International'],
    landingPoints: [
      { country: 'DJ', countryName: 'Djibouti', city: 'Djibouti City', lat: 11.59, lon: 43.15 },
      { country: 'IN', countryName: 'India', city: 'Mumbai', lat: 19.08, lon: 72.88 },
      { country: 'JO', countryName: 'Jordan', city: 'Aqaba', lat: 29.58, lon: 35.01 },
      { country: 'OM', countryName: 'Oman', city: 'Barka', lat: 23.68, lon: 57.89 },
      { country: 'OM', countryName: 'Oman', city: 'Salalah', lat: 17.1, lon: 54.15 },
      { country: 'SA', countryName: 'Saudi Arabia', city: 'Duba', lat: 27.35, lon: 35.7 },
    ],
    countriesServed: [
      { country: 'DJ', capacityShare: 0.20, isRedundant: true },
      { country: 'IN', capacityShare: 0.20, isRedundant: true },
      { country: 'JO', capacityShare: 0.20, isRedundant: true },
      { country: 'OM', capacityShare: 0.20, isRedundant: true },
      { country: 'SA', capacityShare: 0.20, isRedundant: true },
    ],
  },

  // === ARCTIC / EUROPE ===
  {
    id: 'farice_1',
    name: 'FARICE-1',
    points: [[-6.9, 62.2], [-14, 65.3], [-3.3, 58.6]],
    major: true,
    rfsYear: 2004,
    owners: ['Farice'],
    landingPoints: [
      { country: 'FO', countryName: 'Faroe Islands', city: 'Funningsfjordur', lat: 62.24, lon: -6.93 },
      { country: 'IS', countryName: 'Iceland', city: 'Seydisfjordur', lat: 65.25, lon: -14.02 },
      { country: 'GB', countryName: 'United Kingdom', city: 'Dunnet Bay', lat: 58.62, lon: -3.35 },
    ],
    countriesServed: [
      { country: 'FO', capacityShare: 0.30, isRedundant: true },
      { country: 'IS', capacityShare: 0.30, isRedundant: true },
      { country: 'GB', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'c_lion1',
    name: 'C-Lion1',
    points: [[23.2, 59.5], [24.9, 60.2], [23.2, 59.5], [20.3, 57.6], [15.3, 55.6], [12.6, 54.7], [12.1, 54.1]],
    major: true,
    rfsYear: 2016,
    owners: ['Cinia Oy'],
    landingPoints: [
      { country: 'FI', countryName: 'Finland', city: 'Hanko', lat: 59.82, lon: 22.97 },
      { country: 'FI', countryName: 'Finland', city: 'Helsinki', lat: 60.17, lon: 24.93 },
      { country: 'DE', countryName: 'Germany', city: 'Rostock', lat: 54.08, lon: 12.13 },
    ],
    countriesServed: [
      { country: 'FI', capacityShare: 0.30, isRedundant: true },
      { country: 'DE', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'no_uk',
    name: 'NO-UK',
    points: [[-1.6, 55], [-0.9, 55.3], [0.9, 55.8], [2.5, 56.5], [3.4, 58.1], [4.1, 58.6], [5.2, 58.9], [5.5, 59], [5.7, 59]],
    major: true,
    rfsYear: 2021,
    owners: ['NO-UK COM AS'],
    landingPoints: [
      { country: 'NO', countryName: 'Norway', city: 'Stavanger', lat: 58.97, lon: 5.73 },
      { country: 'GB', countryName: 'United Kingdom', city: 'Newcastle', lat: 54.98, lon: -1.62 },
    ],
    countriesServed: [
      { country: 'NO', capacityShare: 0.30, isRedundant: true },
      { country: 'GB', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'havhingstennorth_sea_connect_nsc',
    name: 'Havhingsten/North Sea Connect (NSC)',
    points: [[8.2, 55.8], [7.7, 55.5], [7.2, 55.5], [5.4, 55.5], [3.2, 55.5], [-0.9, 55.1], [-1.6, 55]],
    major: true,
    rfsYear: 2022,
    owners: ['Bulk Infrastructure', 'EXA Infrastructure', 'Meta'],
    landingPoints: [
      { country: 'DK', countryName: 'Denmark', city: 'Houstrup', lat: 55.76, lon: 8.19 },
      { country: 'GB', countryName: 'United Kingdom', city: 'Newcastle', lat: 54.98, lon: -1.62 },
    ],
    countriesServed: [
      { country: 'DK', capacityShare: 0.30, isRedundant: true },
      { country: 'GB', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'danice',
    name: 'DANICE',
    points: [[-20.1, 63.6], [-19.8, 62.5], [-7.4, 62.8], [2, 61.2], [5.2, 56.2], [7.7, 55.7], [8.3, 55.8]],
    major: true,
    rfsYear: 2009,
    owners: ['Farice'],
    landingPoints: [
      { country: 'DK', countryName: 'Denmark', city: 'Blaabjerg', lat: 55.75, lon: 8.33 },
      { country: 'IS', countryName: 'Iceland', city: 'Landeyjar', lat: 63.64, lon: -20.14 },
    ],
    countriesServed: [
      { country: 'DK', capacityShare: 0.30, isRedundant: true },
      { country: 'IS', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'greenland_connect',
    name: 'Greenland Connect',
    points: [[-46, 60.7], [-53.1, 48.3], [-51.7, 61.2], [-51.9, 63.8], [-46.8, 59.7], [-20.9, 63.3], [-20.1, 63.6]],
    major: true,
    rfsYear: 2009,
    owners: ['Tusass A/S'],
    landingPoints: [
      { country: 'CA', countryName: 'Canada', city: 'Milton', lat: 48.21, lon: -53.96 },
      { country: 'GL', countryName: 'Greenland', city: 'Nuuk', lat: 64.18, lon: -51.73 },
      { country: 'GL', countryName: 'Greenland', city: 'Qaqortoq', lat: 60.72, lon: -46.04 },
      { country: 'IS', countryName: 'Iceland', city: 'Landeyjar', lat: 63.64, lon: -20.14 },
    ],
    countriesServed: [
      { country: 'CA', capacityShare: 0.30, isRedundant: true },
      { country: 'GL', capacityShare: 0.30, isRedundant: true },
      { country: 'IS', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'shefa_2',
    name: 'SHEFA-2',
    points: [[-6.8, 62], [-2.9, 58.8], [-2.5, 57.7], [-2.3, 60.4], [-4.3, 60.3], [-1.3, 60], [-1.2, 60]],
    major: true,
    rfsYear: 2008,
    owners: ['Shefa'],
    landingPoints: [
      { country: 'FO', countryName: 'Faroe Islands', city: 'Torshavn', lat: 62.02, lon: -6.77 },
      { country: 'GB', countryName: 'United Kingdom', city: 'Ayre of Cara', lat: 58.83, lon: -2.9 },
      { country: 'GB', countryName: 'United Kingdom', city: 'Banff', lat: 57.67, lon: -2.52 },
      { country: 'GB', countryName: 'United Kingdom', city: 'BP Clair Ridge', lat: 60.44, lon: -2.29 },
      { country: 'GB', countryName: 'United Kingdom', city: 'Glen Lyon', lat: 60.33, lon: -4.33 },
      { country: 'GB', countryName: 'United Kingdom', city: 'Maywick', lat: 60, lon: -1.32 },
      { country: 'GB', countryName: 'United Kingdom', city: 'Sandwick', lat: 60, lon: -1.24 },
    ],
    countriesServed: [
      { country: 'FO', capacityShare: 0.30, isRedundant: true },
      { country: 'GB', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'baltica',
    name: 'Baltica',
    points: [[13.8, 55.4], [14.4, 55], [15, 55], [15.4, 54.6], [11.9, 54.6], [13.5, 54.9], [14.9, 54.9], [15, 55]],
    major: true,
    rfsYear: 1997,
    owners: ['Arelion', 'Orange Polska', 'Slovak Telekom', 'TDC Group', 'Telenor', 'Ukrtelecom'],
    landingPoints: [
      { country: 'DK', countryName: 'Denmark', city: 'Gedser', lat: 54.58, lon: 11.93 },
      { country: 'DK', countryName: 'Denmark', city: 'Pedersker', lat: 55.03, lon: 14.99 },
      { country: 'PL', countryName: 'Poland', city: 'Kołobrzeg', lat: 54.17, lon: 15.57 },
      { country: 'SE', countryName: 'Sweden', city: 'Ystad', lat: 55.43, lon: 13.83 },
    ],
    countriesServed: [
      { country: 'DK', capacityShare: 0.30, isRedundant: true },
      { country: 'PL', capacityShare: 0.30, isRedundant: true },
      { country: 'SE', capacityShare: 0.30, isRedundant: true },
    ],
  },

  // === MIDDLE EAST ===
  {
    id: 'falcon',
    name: 'FALCON',
    points: [[39.2, 21.5], [52.9, 26.6], [53.6, 25.9], [52.7, 15.2], [32.5, 29.6], [43, 14.8], [42.1, 14.8]],
    major: true,
    rfsYear: 2006,
    owners: ['FLAG'],
    landingPoints: [
      { country: 'BH', countryName: 'Bahrain', city: 'Manama', lat: 26.23, lon: 50.58 },
      { country: 'EG', countryName: 'Egypt', city: 'Suez', lat: 29.97, lon: 32.53 },
      { country: 'IN', countryName: 'India', city: 'Mumbai', lat: 19.08, lon: 72.88 },
      { country: 'IN', countryName: 'India', city: 'Trivandrum', lat: 8.8, lon: 76.97 },
      { country: 'IR', countryName: 'Iran', city: 'Bandar Abbas', lat: 27.19, lon: 56.27 },
      { country: 'IR', countryName: 'Iran', city: 'Chabahar', lat: 25.3, lon: 60.63 },
      { country: 'IQ', countryName: 'Iraq', city: 'Al Faw', lat: 29.92, lon: 48.53 },
      { country: 'KW', countryName: 'Kuwait', city: 'Al Safat', lat: 29.37, lon: 47.98 },
      { country: 'MV', countryName: 'Maldives', city: 'Male', lat: 4.17, lon: 73.5 },
      { country: 'OM', countryName: 'Oman', city: 'Al Seeb', lat: 23.68, lon: 58.18 },
      { country: 'OM', countryName: 'Oman', city: 'Khasab', lat: 26.18, lon: 56.25 },
      { country: 'QA', countryName: 'Qatar', city: 'Doha', lat: 25.29, lon: 51.52 },
      { country: 'SA', countryName: 'Saudi Arabia', city: 'Al Khobar', lat: 26.29, lon: 50.21 },
      { country: 'SA', countryName: 'Saudi Arabia', city: 'Jeddah', lat: 21.48, lon: 39.18 },
      { country: 'LK', countryName: 'Sri Lanka', city: 'Colombo', lat: 6.93, lon: 79.87 },
      { country: 'SD', countryName: 'Sudan', city: 'Port Sudan', lat: 19.62, lon: 37.22 },
      { country: 'AE', countryName: 'United Arab Emirates', city: 'Dubai', lat: 25.27, lon: 55.31 },
      { country: 'YE', countryName: 'Yemen', city: 'Al Ghaydah', lat: 16.21, lon: 52.18 },
      { country: 'YE', countryName: 'Yemen', city: 'Al Hudaydah', lat: 14.8, lon: 42.95 },
    ],
    countriesServed: [
      { country: 'BH', capacityShare: 0.07, isRedundant: true },
      { country: 'EG', capacityShare: 0.07, isRedundant: true },
      { country: 'IN', capacityShare: 0.07, isRedundant: true },
      { country: 'IR', capacityShare: 0.07, isRedundant: true },
      { country: 'IQ', capacityShare: 0.07, isRedundant: true },
      { country: 'KW', capacityShare: 0.07, isRedundant: true },
      { country: 'MV', capacityShare: 0.07, isRedundant: true },
      { country: 'OM', capacityShare: 0.07, isRedundant: true },
      { country: 'QA', capacityShare: 0.07, isRedundant: true },
      { country: 'SA', capacityShare: 0.07, isRedundant: true },
      { country: 'LK', capacityShare: 0.07, isRedundant: true },
      { country: 'SD', capacityShare: 0.07, isRedundant: true },
      { country: 'AE', capacityShare: 0.07, isRedundant: true },
      { country: 'YE', capacityShare: 0.07, isRedundant: true },
    ],
  },
  {
    id: 'tata_tgn_gulf',
    name: 'Tata TGN-Gulf',
    points: [[51.5, 25.3], [55.3, 25.3], [60.8, 22.9], [56.9, 25], [55.8, 26.3], [50.5, 27], [50.2, 26.3]],
    major: true,
    rfsYear: 2012,
    owners: ['Tata Communications'],
    landingPoints: [
      { country: 'BH', countryName: 'Bahrain', city: 'Amwaj Island', lat: 26.23, lon: 50.58 },
      { country: 'OM', countryName: 'Oman', city: 'Qalhat', lat: 22.7, lon: 59.37 },
      { country: 'QA', countryName: 'Qatar', city: 'Al-Kheesa', lat: 25.29, lon: 51.52 },
      { country: 'SA', countryName: 'Saudi Arabia', city: 'Al Khobar', lat: 26.29, lon: 50.21 },
      { country: 'AE', countryName: 'United Arab Emirates', city: 'Dubai', lat: 25.27, lon: 55.31 },
      { country: 'AE', countryName: 'United Arab Emirates', city: 'Fujairah', lat: 25.12, lon: 56.33 },
    ],
    countriesServed: [
      { country: 'BH', capacityShare: 0.20, isRedundant: true },
      { country: 'OM', capacityShare: 0.20, isRedundant: true },
      { country: 'QA', capacityShare: 0.20, isRedundant: true },
      { country: 'SA', capacityShare: 0.20, isRedundant: true },
      { country: 'AE', capacityShare: 0.20, isRedundant: true },
    ],
  },
  {
    id: 'fiber_optic_gulf_fog',
    name: 'Fiber Optic Gulf (FOG)',
    points: [[48, 29.4], [50.2, 27.9], [52.7, 26.6], [55.3, 25.3], [51.5, 25.3], [50.6, 26.2]],
    major: true,
    rfsYear: 1998,
    owners: ['Bahrain Telecommunications Company (Batelco)', 'Kuwait Ministry of Communications', 'Ooredoo', 'e&'],
    landingPoints: [
      { country: 'BH', countryName: 'Bahrain', city: 'Manama', lat: 26.23, lon: 50.58 },
      { country: 'KW', countryName: 'Kuwait', city: 'Kuwait City', lat: 29.37, lon: 47.97 },
      { country: 'QA', countryName: 'Qatar', city: 'Doha', lat: 25.29, lon: 51.52 },
      { country: 'AE', countryName: 'United Arab Emirates', city: 'Dubai', lat: 25.27, lon: 55.31 },
    ],
    countriesServed: [
      { country: 'BH', capacityShare: 0.25, isRedundant: true },
      { country: 'KW', capacityShare: 0.25, isRedundant: true },
      { country: 'QA', capacityShare: 0.25, isRedundant: true },
      { country: 'AE', capacityShare: 0.25, isRedundant: true },
    ],
  },
  {
    id: 'omranepeg',
    name: 'OMRAN/EPEG',
    points: [[57.9, 23.7], [60.3, 25.1], [57.8, 25.2], [56.4, 26.4], [56.6, 25.8], [56.6, 25.3], [57.9, 23.7]],
    major: true,
    rfsYear: 2013,
    owners: ['Vodafone', 'Zain Omantel International'],
    landingPoints: [
      { country: 'IR', countryName: 'Iran', city: 'Chabahar', lat: 25.3, lon: 60.63 },
      { country: 'IR', countryName: 'Iran', city: 'Jask', lat: 25.68, lon: 57.8 },
      { country: 'OM', countryName: 'Oman', city: 'Barka', lat: 23.68, lon: 57.89 },
      { country: 'OM', countryName: 'Oman', city: 'Diba', lat: 25.62, lon: 56.26 },
      { country: 'OM', countryName: 'Oman', city: 'Khasab', lat: 26.18, lon: 56.25 },
    ],
    countriesServed: [
      { country: 'IR', capacityShare: 0.30, isRedundant: true },
      { country: 'OM', capacityShare: 0.30, isRedundant: true },
    ],
  },
  {
    id: 'gulf_bridge_international_cable_systemmiddle_east_north_africa_cable_system_gbicsmena',
    name: 'Gulf Bridge International Cable System/Middle East North Africa Cable System (GBICS/MENA)',
    points: [[56.3, 25.1], [50.2, 26.5], [57.1, 26.2], [48.8, 29.5], [51.5, 25.5], [49.2, 28.9]],
    major: true,
    rfsYear: 2012,
    owners: ['Gulf Bridge International'],
    landingPoints: [
      { country: 'BH', countryName: 'Bahrain', city: 'Al Hidd', lat: 26.24, lon: 50.66 },
      { country: 'IN', countryName: 'India', city: 'Mumbai', lat: 19.08, lon: 72.88 },
      { country: 'IR', countryName: 'Iran', city: 'Bushehr', lat: 28.97, lon: 50.84 },
      { country: 'IQ', countryName: 'Iraq', city: 'Al Faw', lat: 29.92, lon: 48.53 },
      { country: 'KW', countryName: 'Kuwait', city: 'Kuwait City', lat: 29.37, lon: 47.97 },
      { country: 'OM', countryName: 'Oman', city: 'Al Seeb', lat: 23.68, lon: 58.18 },
      { country: 'QA', countryName: 'Qatar', city: 'Al Daayen', lat: 25.54, lon: 51.45 },
      { country: 'SA', countryName: 'Saudi Arabia', city: 'Al Khobar', lat: 26.29, lon: 50.21 },
      { country: 'AE', countryName: 'United Arab Emirates', city: 'Fujairah', lat: 25.12, lon: 56.33 },
    ],
    countriesServed: [
      { country: 'BH', capacityShare: 0.11, isRedundant: true },
      { country: 'IN', capacityShare: 0.11, isRedundant: true },
      { country: 'IR', capacityShare: 0.11, isRedundant: true },
      { country: 'IQ', capacityShare: 0.11, isRedundant: true },
      { country: 'KW', capacityShare: 0.11, isRedundant: true },
      { country: 'OM', capacityShare: 0.11, isRedundant: true },
      { country: 'QA', capacityShare: 0.11, isRedundant: true },
      { country: 'SA', capacityShare: 0.11, isRedundant: true },
      { country: 'AE', capacityShare: 0.11, isRedundant: true },
    ],
  },

  // === HYPERSCALER / STRATEGIC ===
  {
    id: 'project_waterworth',
    name: 'Project Waterworth',
    points: [[-78.9, 33.7], [74.7, -5.5], [73.2, 12.3], [72, 13.5], [153.5, -12.5], [33.5, -32.1], [30.9, -30.1]],
    major: true,
    owners: ['Meta'],
    landingPoints: [
      { country: 'AU', countryName: 'Australia', city: 'Darwin', lat: -12.47, lon: 130.84 },
      { country: 'BR', countryName: 'Brazil', city: 'Fortaleza', lat: -3.72, lon: -38.54 },
      { country: 'IN', countryName: 'India', city: 'Chennai', lat: 13.06, lon: 80.24 },
      { country: 'IN', countryName: 'India', city: 'Mumbai', lat: 19.08, lon: 72.88 },
      { country: 'MY', countryName: 'Malaysia', city: 'Penang', lat: 5.37, lon: 100.41 },
      { country: 'ZA', countryName: 'South Africa', city: 'Amanzimtoti', lat: -30.06, lon: 30.88 },
      { country: 'ZA', countryName: 'South Africa', city: 'Cape Town', lat: -33.92, lon: 18.42 },
      { country: 'US', countryName: 'United States', city: 'Los Angeles', lat: 34.05, lon: -118.25 },
      { country: 'US', countryName: 'United States', city: 'Myrtle Beach', lat: 33.69, lon: -78.88 },
    ],
    countriesServed: [
      { country: 'AU', capacityShare: 0.17, isRedundant: true },
      { country: 'BR', capacityShare: 0.17, isRedundant: true },
      { country: 'IN', capacityShare: 0.17, isRedundant: true },
      { country: 'MY', capacityShare: 0.17, isRedundant: true },
      { country: 'ZA', capacityShare: 0.17, isRedundant: true },
      { country: 'US', capacityShare: 0.17, isRedundant: true },
    ],
  },
  {
    id: 'blue',
    name: 'Blue',
    points: [[8.8, 43.5], [15.3, 38.5], [8.8, 43.5], [9.6, 41], [14.9, 38.7], [14.9, 38.7], [13.4, 38.1]],
    major: true,
    rfsYear: 2023,
    owners: ['Google', 'Sparkle', 'Zain Omantel International'],
    landingPoints: [
      { country: 'CY', countryName: 'Cyprus', city: 'Yeroskipos', lat: 34.77, lon: 32.47 },
      { country: 'FR', countryName: 'France', city: 'Bastia', lat: 42.7, lon: 9.45 },
      { country: 'FR', countryName: 'France', city: 'Marseille', lat: 43.29, lon: 5.37 },
      { country: 'GR', countryName: 'Greece', city: 'Chania', lat: 35.51, lon: 24.01 },
      { country: 'IL', countryName: 'Israel', city: 'Tel Aviv', lat: 32.04, lon: 34.77 },
      { country: 'IT', countryName: 'Italy', city: 'Genoa', lat: 44.41, lon: 8.94 },
      { country: 'IT', countryName: 'Italy', city: 'Golfo Aranci', lat: 41, lon: 9.61 },
      { country: 'IT', countryName: 'Italy', city: 'Palermo', lat: 38.12, lon: 13.36 },
      { country: 'IT', countryName: 'Italy', city: 'Rome', lat: 41.9, lon: 12.5 },
      { country: 'JO', countryName: 'Jordan', city: 'Aqaba', lat: 29.58, lon: 35.01 },
    ],
    countriesServed: [
      { country: 'CY', capacityShare: 0.17, isRedundant: true },
      { country: 'FR', capacityShare: 0.17, isRedundant: true },
      { country: 'GR', capacityShare: 0.17, isRedundant: true },
      { country: 'IL', capacityShare: 0.17, isRedundant: true },
      { country: 'IT', capacityShare: 0.17, isRedundant: true },
      { country: 'JO', capacityShare: 0.17, isRedundant: true },
    ],
  },
];

export const NUCLEAR_FACILITIES: NuclearFacility[] = [
  // US Nuclear Labs & Weapons Complex
  { id: 'los_alamos', name: 'Los Alamos', lat: 35.88, lon: -106.31, type: 'weapons', status: 'active', operator: 'US' },
  { id: 'sandia', name: 'Sandia Labs', lat: 35.04, lon: -106.54, type: 'weapons', status: 'active', operator: 'US' },
  { id: 'livermore', name: 'LLNL', lat: 37.69, lon: -121.7, type: 'weapons', status: 'active', operator: 'US' },
  { id: 'oak_ridge', name: 'Oak Ridge', lat: 35.93, lon: -84.31, type: 'enrichment', status: 'active', operator: 'US' },
  { id: 'hanford', name: 'Hanford', lat: 46.55, lon: -119.49, type: 'weapons', status: 'inactive', operator: 'US' },
  { id: 'pantex', name: 'Pantex', lat: 35.32, lon: -101.55, type: 'weapons', status: 'active', operator: 'US' },
  // US Nuclear Power Plants (major)
  { id: 'palo_verde', name: 'Palo Verde', lat: 33.39, lon: -112.86, type: 'plant', status: 'active', operator: 'US' },
  { id: 'south_texas', name: 'South Texas', lat: 28.795, lon: -96.048, type: 'plant', status: 'active', operator: 'US' },
  { id: 'comanche_peak', name: 'Comanche Peak', lat: 32.30, lon: -97.79, type: 'plant', status: 'active', operator: 'US' },
  { id: 'vogtle', name: 'Vogtle', lat: 33.14, lon: -81.76, type: 'plant', status: 'active', operator: 'US' },
  { id: 'mcguire', name: 'McGuire', lat: 35.43, lon: -80.95, type: 'plant', status: 'active', operator: 'US' },
  { id: 'oconee', name: 'Oconee', lat: 34.79, lon: -82.90, type: 'plant', status: 'active', operator: 'US' },
  { id: 'catawba', name: 'Catawba', lat: 35.05, lon: -81.07, type: 'plant', status: 'active', operator: 'US' },
  { id: 'brunswick', name: 'Brunswick', lat: 33.96, lon: -78.01, type: 'plant', status: 'active', operator: 'US' },
  { id: 'calvert_cliffs', name: 'Calvert Cliffs', lat: 38.43, lon: -76.44, type: 'plant', status: 'active', operator: 'US' },
  { id: 'salem', name: 'Salem', lat: 39.46, lon: -75.54, type: 'plant', status: 'active', operator: 'US' },
  { id: 'limerick', name: 'Limerick', lat: 40.22, lon: -75.59, type: 'plant', status: 'active', operator: 'US' },
  { id: 'peach_bottom', name: 'Peach Bottom', lat: 39.76, lon: -76.27, type: 'plant', status: 'active', operator: 'US' },
  { id: 'indian_point', name: 'Indian Point', lat: 41.27, lon: -73.95, type: 'plant', status: 'inactive', operator: 'US' },
  { id: 'millstone', name: 'Millstone', lat: 41.31, lon: -72.17, type: 'plant', status: 'active', operator: 'US' },
  { id: 'seabrook', name: 'Seabrook', lat: 42.90, lon: -70.85, type: 'plant', status: 'active', operator: 'US' },
  { id: 'byron', name: 'Byron', lat: 42.08, lon: -89.28, type: 'plant', status: 'active', operator: 'US' },
  { id: 'braidwood', name: 'Braidwood', lat: 41.24, lon: -88.21, type: 'plant', status: 'active', operator: 'US' },
  { id: 'lasalle', name: 'LaSalle', lat: 41.24, lon: -88.67, type: 'plant', status: 'active', operator: 'US' },
  { id: 'dresden', name: 'Dresden', lat: 41.39, lon: -88.27, type: 'plant', status: 'active', operator: 'US' },
  { id: 'quad_cities', name: 'Quad Cities', lat: 41.73, lon: -90.34, type: 'plant', status: 'active', operator: 'US' },
  { id: 'palisades', name: 'Palisades', lat: 42.32, lon: -86.32, type: 'plant', status: 'active', operator: 'US' },
  { id: 'dc_cook', name: 'D.C. Cook', lat: 41.98, lon: -86.56, type: 'plant', status: 'active', operator: 'US' },
  { id: 'davis_besse', name: 'Davis-Besse', lat: 41.60, lon: -83.09, type: 'plant', status: 'active', operator: 'US' },
  { id: 'beaver_valley', name: 'Beaver Valley', lat: 40.62, lon: -80.43, type: 'plant', status: 'active', operator: 'US' },
  { id: 'diablo_canyon', name: 'Diablo Canyon', lat: 35.21, lon: -120.85, type: 'plant', status: 'active', operator: 'US' },
  { id: 'columbia_gen', name: 'Columbia Generating', lat: 46.47, lon: -119.33, type: 'plant', status: 'active', operator: 'US' },
  // France (56 reactors - major sites)
  { id: 'gravelines', name: 'Gravelines', lat: 51.01, lon: 2.14, type: 'plant', status: 'active', operator: 'FR' },
  { id: 'paluel', name: 'Paluel', lat: 49.86, lon: 0.63, type: 'plant', status: 'active', operator: 'FR' },
  { id: 'cattenom', name: 'Cattenom', lat: 49.42, lon: 6.22, type: 'plant', status: 'active', operator: 'FR' },
  { id: 'bugey', name: 'Bugey', lat: 45.80, lon: 5.27, type: 'plant', status: 'active', operator: 'FR' },
  { id: 'tricastin', name: 'Tricastin', lat: 44.33, lon: 4.73, type: 'plant', status: 'active', operator: 'FR' },
  { id: 'cruas', name: 'Cruas', lat: 44.63, lon: 4.76, type: 'plant', status: 'active', operator: 'FR' },
  { id: 'blayais', name: 'Blayais', lat: 45.26, lon: -0.69, type: 'plant', status: 'active', operator: 'FR' },
  { id: 'golfech', name: 'Golfech', lat: 44.11, lon: 0.85, type: 'plant', status: 'active', operator: 'FR' },
  { id: 'flamanville', name: 'Flamanville', lat: 49.54, lon: -1.88, type: 'plant', status: 'active', operator: 'FR' },
  { id: 'la_hague', name: 'La Hague', lat: 49.68, lon: -1.88, type: 'enrichment', status: 'active', operator: 'FR' },
  // UK
  { id: 'hinkley_point', name: 'Hinkley Point', lat: 51.21, lon: -3.13, type: 'plant', status: 'active', operator: 'GB' },
  { id: 'sizewell', name: 'Sizewell', lat: 52.21, lon: 1.62, type: 'plant', status: 'active', operator: 'GB' },
  { id: 'heysham', name: 'Heysham', lat: 54.03, lon: -2.92, type: 'plant', status: 'active', operator: 'GB' },
  { id: 'torness', name: 'Torness', lat: 55.97, lon: -2.41, type: 'plant', status: 'active', operator: 'GB' },
  { id: 'sellafield', name: 'Sellafield', lat: 54.42, lon: -3.50, type: 'enrichment', status: 'active', operator: 'GB' },
  // Germany (shutdown but notable)
  { id: 'neckarwestheim', name: 'Neckarwestheim', lat: 49.04, lon: 9.18, type: 'plant', status: 'inactive', operator: 'DE' },
  { id: 'isar', name: 'Isar', lat: 48.61, lon: 12.29, type: 'plant', status: 'inactive', operator: 'DE' },
  { id: 'emsland', name: 'Emsland', lat: 52.47, lon: 7.32, type: 'plant', status: 'inactive', operator: 'DE' },
  // Russia
  { id: 'kursk', name: 'Kursk NPP', lat: 51.67, lon: 35.61, type: 'plant', status: 'active', operator: 'RU' },
  { id: 'novovoronezh', name: 'Novovoronezh', lat: 51.27, lon: 39.22, type: 'plant', status: 'active', operator: 'RU' },
  { id: 'leningrad', name: 'Leningrad NPP', lat: 59.83, lon: 29.03, type: 'plant', status: 'active', operator: 'RU' },
  { id: 'kalinin', name: 'Kalinin NPP', lat: 57.79, lon: 35.06, type: 'plant', status: 'active', operator: 'RU' },
  { id: 'balakovo', name: 'Balakovo', lat: 52.09, lon: 47.95, type: 'plant', status: 'active', operator: 'RU' },
  { id: 'rostov', name: 'Rostov NPP', lat: 47.25, lon: 42.10, type: 'plant', status: 'active', operator: 'RU' },
  { id: 'kola', name: 'Kola NPP', lat: 67.46, lon: 32.47, type: 'plant', status: 'active', operator: 'RU' },
  { id: 'mayak', name: 'Mayak', lat: 55.71, lon: 60.80, type: 'enrichment', status: 'active', operator: 'RU' },
  // Ukraine
  { id: 'zaporizhzhia', name: 'Zaporizhzhia NPP', lat: 47.51, lon: 34.58, type: 'plant', status: 'contested', operator: 'UA' },
  { id: 'rivne', name: 'Rivne NPP', lat: 51.33, lon: 25.88, type: 'plant', status: 'active', operator: 'UA' },
  { id: 'south_ukraine', name: 'South Ukraine NPP', lat: 47.81, lon: 31.22, type: 'plant', status: 'active', operator: 'UA' },
  { id: 'khmelnytskyi', name: 'Khmelnytskyi NPP', lat: 50.30, lon: 26.65, type: 'plant', status: 'active', operator: 'UA' },
  { id: 'chernobyl', name: 'Chernobyl', lat: 51.39, lon: 30.10, type: 'plant', status: 'inactive', operator: 'UA' },
  // China
  { id: 'daya_bay', name: 'Daya Bay', lat: 22.60, lon: 114.54, type: 'plant', status: 'active', operator: 'CN' },
  { id: 'taishan', name: 'Taishan', lat: 21.91, lon: 112.98, type: 'plant', status: 'active', operator: 'CN' },
  { id: 'yangjiang', name: 'Yangjiang', lat: 21.71, lon: 112.26, type: 'plant', status: 'active', operator: 'CN' },
  { id: 'hongyanhe', name: 'Hongyanhe', lat: 39.79, lon: 121.48, type: 'plant', status: 'active', operator: 'CN' },
  { id: 'tianwan', name: 'Tianwan', lat: 34.69, lon: 119.46, type: 'plant', status: 'active', operator: 'CN' },
  { id: 'fuqing', name: 'Fuqing', lat: 25.44, lon: 119.44, type: 'plant', status: 'active', operator: 'CN' },
  { id: 'fangjiashan', name: 'Fangjiashan', lat: 30.44, lon: 120.96, type: 'plant', status: 'active', operator: 'CN' },
  { id: 'sanmen', name: 'Sanmen', lat: 29.10, lon: 121.41, type: 'plant', status: 'active', operator: 'CN' },
  // Japan
  { id: 'fukushima_daini', name: 'Fukushima Daini', lat: 37.32, lon: 141.03, type: 'plant', status: 'inactive', operator: 'JP' },
  { id: 'kashiwazaki', name: 'Kashiwazaki-Kariwa', lat: 37.43, lon: 138.60, type: 'plant', status: 'inactive', operator: 'JP' },
  { id: 'hamaoka', name: 'Hamaoka', lat: 34.62, lon: 138.14, type: 'plant', status: 'inactive', operator: 'JP' },
  { id: 'takahama', name: 'Takahama', lat: 35.52, lon: 135.51, type: 'plant', status: 'active', operator: 'JP' },
  { id: 'ohi', name: 'Ohi', lat: 35.54, lon: 135.66, type: 'plant', status: 'active', operator: 'JP' },
  { id: 'sendai', name: 'Sendai', lat: 31.83, lon: 130.19, type: 'plant', status: 'active', operator: 'JP' },
  { id: 'ikata', name: 'Ikata', lat: 33.49, lon: 132.31, type: 'plant', status: 'active', operator: 'JP' },
  { id: 'rokkasho', name: 'Rokkasho', lat: 40.96, lon: 141.33, type: 'enrichment', status: 'active', operator: 'JP' },
  // South Korea
  { id: 'kori', name: 'Kori', lat: 35.32, lon: 129.29, type: 'plant', status: 'active', operator: 'KR' },
  { id: 'hanbit', name: 'Hanbit', lat: 35.41, lon: 126.42, type: 'plant', status: 'active', operator: 'KR' },
  { id: 'hanul', name: 'Hanul', lat: 37.09, lon: 129.38, type: 'plant', status: 'active', operator: 'KR' },
  { id: 'wolsong', name: 'Wolsong', lat: 35.71, lon: 129.47, type: 'plant', status: 'active', operator: 'KR' },
  // India
  { id: 'tarapur', name: 'Tarapur', lat: 19.83, lon: 72.65, type: 'plant', status: 'active', operator: 'IN' },
  { id: 'kudankulam', name: 'Kudankulam', lat: 8.17, lon: 77.71, type: 'plant', status: 'active', operator: 'IN' },
  { id: 'kakrapar', name: 'Kakrapar', lat: 21.24, lon: 73.35, type: 'plant', status: 'active', operator: 'IN' },
  { id: 'rawatbhata', name: 'Rawatbhata', lat: 24.88, lon: 75.59, type: 'plant', status: 'active', operator: 'IN' },
  // Canada
  { id: 'bruce', name: 'Bruce', lat: 44.33, lon: -81.60, type: 'plant', status: 'active', operator: 'CA' },
  { id: 'darlington', name: 'Darlington', lat: 43.87, lon: -78.72, type: 'plant', status: 'active', operator: 'CA' },
  { id: 'pickering', name: 'Pickering', lat: 43.81, lon: -79.07, type: 'plant', status: 'active', operator: 'CA' },
  // Others
  { id: 'paks', name: 'Paks', lat: 46.57, lon: 18.86, type: 'plant', status: 'active', operator: 'HU' },
  { id: 'temelin', name: 'Temelín', lat: 49.18, lon: 14.38, type: 'plant', status: 'active', operator: 'CZ' },
  { id: 'dukovany', name: 'Dukovany', lat: 49.09, lon: 16.15, type: 'plant', status: 'active', operator: 'CZ' },
  { id: 'mochovce', name: 'Mochovce', lat: 48.28, lon: 18.44, type: 'plant', status: 'active', operator: 'SK' },
  { id: 'kozloduy', name: 'Kozloduy', lat: 43.75, lon: 23.63, type: 'plant', status: 'active', operator: 'BG' },
  { id: 'cernavoda', name: 'Cernavoda', lat: 44.32, lon: 28.05, type: 'plant', status: 'active', operator: 'RO' },
  { id: 'ringhals', name: 'Ringhals', lat: 57.26, lon: 12.11, type: 'plant', status: 'active', operator: 'SE' },
  { id: 'forsmark', name: 'Forsmark', lat: 60.41, lon: 18.17, type: 'plant', status: 'active', operator: 'SE' },
  { id: 'oskarshamn', name: 'Oskarshamn', lat: 57.42, lon: 16.67, type: 'plant', status: 'active', operator: 'SE' },
  { id: 'olkiluoto', name: 'Olkiluoto', lat: 61.24, lon: 21.44, type: 'plant', status: 'active', operator: 'FI' },
  { id: 'loviisa', name: 'Loviisa', lat: 60.37, lon: 26.35, type: 'plant', status: 'active', operator: 'FI' },
  { id: 'borssele', name: 'Borssele', lat: 51.43, lon: 3.72, type: 'plant', status: 'active', operator: 'NL' },
  { id: 'doel', name: 'Doel', lat: 51.33, lon: 4.26, type: 'plant', status: 'active', operator: 'BE' },
  { id: 'tihange', name: 'Tihange', lat: 50.53, lon: 5.27, type: 'plant', status: 'active', operator: 'BE' },
  { id: 'almaraz', name: 'Almaraz', lat: 39.81, lon: -5.70, type: 'plant', status: 'active', operator: 'ES' },
  { id: 'cofrentes', name: 'Cofrentes', lat: 39.21, lon: -1.05, type: 'plant', status: 'active', operator: 'ES' },
  { id: 'asco', name: 'Ascó', lat: 41.20, lon: 0.57, type: 'plant', status: 'active', operator: 'ES' },
  { id: 'vandellos', name: 'Vandellòs', lat: 40.95, lon: 0.87, type: 'plant', status: 'active', operator: 'ES' },
  { id: 'trillo', name: 'Trillo', lat: 40.70, lon: -2.62, type: 'plant', status: 'active', operator: 'ES' },
  { id: 'krsko', name: 'Krško', lat: 45.94, lon: 15.52, type: 'plant', status: 'active', operator: 'SI' },
  { id: 'koeberg', name: 'Koeberg', lat: -33.6767, lon: 18.4347, type: 'plant', status: 'active', operator: 'ZA' },
  { id: 'atucha', name: 'Atucha', lat: -33.97, lon: -59.21, type: 'plant', status: 'active', operator: 'AR' },
  { id: 'embalse', name: 'Embalse', lat: -32.23, lon: -64.47, type: 'plant', status: 'active', operator: 'AR' },
  { id: 'angra', name: 'Angra', lat: -23.01, lon: -44.46, type: 'plant', status: 'active', operator: 'BR' },
  { id: 'laguna_verde', name: 'Laguna Verde', lat: 19.719, lon: -96.406, type: 'plant', status: 'active', operator: 'MX' },
  { id: 'barakah', name: 'Barakah', lat: 23.95, lon: 52.19, type: 'plant', status: 'active', operator: 'AE' },
  { id: 'bushehr', name: 'Bushehr', lat: 28.83, lon: 50.89, type: 'plant', status: 'active', operator: 'IR' },
  // Intel targets (weapons/enrichment)
  { id: 'natanz', name: 'Natanz', lat: 33.72, lon: 51.73, type: 'enrichment', status: 'active', operator: 'IR' },
  { id: 'fordow', name: 'Fordow', lat: 34.88, lon: 51.0, type: 'enrichment', status: 'active', operator: 'IR' },
  { id: 'yongbyon', name: 'Yongbyon', lat: 39.8, lon: 125.75, type: 'weapons', status: 'active', operator: 'KP' },
  { id: 'dimona', name: 'Dimona', lat: 31.0, lon: 35.15, type: 'weapons', status: 'active', operator: 'IL' },
  { id: 'pakistan_kahuta', name: 'Kahuta', lat: 33.59, lon: 73.40, type: 'enrichment', status: 'active', operator: 'PK' },
  { id: 'pakistan_khushab', name: 'Khushab', lat: 32.02, lon: 72.22, type: 'weapons', status: 'active', operator: 'PK' },
  // Historical nuclear test sites (enriches earthquake proximity alerts)
  { id: 'punggye_ri',    name: 'Punggye-ri',     lat: 41.28, lon: 129.08,  type: 'test-site', status: 'active', operator: 'KP' },
  { id: 'lop_nur',       name: 'Lop Nur',         lat: 41.75, lon: 88.35,   type: 'test-site', status: 'inactive', operator: 'CN' },
  { id: 'novaya_zemlya', name: 'Novaya Zemlya',   lat: 73.37, lon: 54.78,   type: 'test-site', status: 'inactive', operator: 'RU' },
  { id: 'nevada_nts',    name: 'Nevada NTS',      lat: 37.07, lon: -116.05, type: 'test-site', status: 'inactive', operator: 'US' },
  { id: 'semipalatinsk', name: 'Semipalatinsk',   lat: 50.07, lon: 78.43,   type: 'test-site', status: 'inactive', operator: 'KZ' },
];

// Used by Map.ts (2D SVG) which looks up countries via TopoJSON numeric IDs.
// Keep in sync with SANCTIONED_COUNTRIES_ALPHA2 below.
export const SANCTIONED_COUNTRIES: Record<number, 'severe' | 'high' | 'moderate'> = {
  408: 'severe',   // North Korea (KP)
  728: 'severe',   // South Sudan (SS)
  760: 'severe',   // Syria (SY)
  364: 'high',     // Iran (IR)
  643: 'high',     // Russia (RU)
  112: 'high',     // Belarus (BY)
  862: 'moderate', // Venezuela (VE)
  104: 'moderate', // Myanmar (MM)
  178: 'moderate', // Congo DRC (CD)
};

// Used by DeckGLMap.ts which looks up countries via ISO3166-1-Alpha-2 codes.
// Keep in sync with SANCTIONED_COUNTRIES above.
export const SANCTIONED_COUNTRIES_ALPHA2: Record<string, 'severe' | 'high' | 'moderate'> = {
  KP: 'severe', // North Korea (408)
  SS: 'severe', // South Sudan (728)
  SY: 'severe', // Syria (760)
  IR: 'high',   // Iran (364)
  RU: 'high',   // Russia (643)
  BY: 'high',   // Belarus (112)
  VE: 'moderate', // Venezuela (862)
  MM: 'moderate', // Myanmar (104)
  CD: 'moderate', // Congo DRC (178)
};

export const MAP_URLS = {
  world: 'https://cdn.jsdelivr.net/npm/world-atlas@2/countries-50m.json',
  us: 'https://cdn.jsdelivr.net/npm/us-atlas@3/states-10m.json',
};

// Global Economic Centers - Stock Exchanges, Central Banks, Financial Hubs
export const ECONOMIC_CENTERS: EconomicCenter[] = [
  // Americas
  { id: 'nyse', name: 'NYSE', type: 'exchange', lat: 40.7069, lon: -74.0089, country: 'USA', marketHours: { open: '09:30', close: '16:00', timezone: 'America/New_York' }, description: 'New York Stock Exchange - World\'s largest stock exchange' },
  { id: 'nasdaq', name: 'NASDAQ', type: 'exchange', lat: 40.7569, lon: -73.9896, country: 'USA', marketHours: { open: '09:30', close: '16:00', timezone: 'America/New_York' }, description: 'Tech-heavy exchange' },
  { id: 'fed', name: 'Federal Reserve', type: 'central-bank', lat: 38.8927, lon: -77.0459, country: 'USA', description: 'US Central Bank - Controls USD monetary policy' },
  { id: 'cme', name: 'CME Group', type: 'exchange', lat: 41.8819, lon: -87.6278, country: 'USA', description: 'Chicago Mercantile Exchange - Futures & derivatives' },
  { id: 'tsx', name: 'TSX', type: 'exchange', lat: 43.6489, lon: -79.3850, country: 'Canada', marketHours: { open: '09:30', close: '16:00', timezone: 'America/Toronto' }, description: 'Toronto Stock Exchange' },
  { id: 'bovespa', name: 'B3', type: 'exchange', lat: -23.5505, lon: -46.6333, country: 'Brazil', description: 'Brazilian Stock Exchange (B3/Bovespa)' },
  // Europe
  { id: 'lse', name: 'LSE', type: 'exchange', lat: 51.5145, lon: -0.0940, country: 'GB', marketHours: { open: '08:00', close: '16:30', timezone: 'Europe/London' }, description: 'London Stock Exchange' },
  { id: 'boe', name: 'Bank of England', type: 'central-bank', lat: 51.5142, lon: -0.0880, country: 'GB', description: 'UK Central Bank' },
  { id: 'ecb', name: 'ECB', type: 'central-bank', lat: 50.1096, lon: 8.6732, country: 'Germany', description: 'European Central Bank - Controls EUR' },
  { id: 'euronext', name: 'Euronext', type: 'exchange', lat: 48.8690, lon: 2.3364, country: 'France', marketHours: { open: '09:00', close: '17:30', timezone: 'Europe/Paris' }, description: 'Pan-European Exchange (Paris, Amsterdam, Brussels, Lisbon)' },
  { id: 'dax', name: 'Deutsche Börse', type: 'exchange', lat: 50.1109, lon: 8.6821, country: 'Germany', marketHours: { open: '09:00', close: '17:30', timezone: 'Europe/Berlin' }, description: 'Frankfurt Stock Exchange - DAX' },
  { id: 'six', name: 'SIX Swiss', type: 'exchange', lat: 47.3769, lon: 8.5417, country: 'Switzerland', description: 'Swiss Exchange' },
  { id: 'snb', name: 'SNB', type: 'central-bank', lat: 46.9480, lon: 7.4474, country: 'Switzerland', description: 'Swiss National Bank' },
  // Asia-Pacific
  { id: 'tse', name: 'Tokyo SE', type: 'exchange', lat: 35.6830, lon: 139.7744, country: 'Japan', marketHours: { open: '09:00', close: '15:00', timezone: 'Asia/Tokyo' }, description: 'Tokyo Stock Exchange - Nikkei' },
  { id: 'boj', name: 'Bank of Japan', type: 'central-bank', lat: 35.6855, lon: 139.7579, country: 'Japan', description: 'Japan Central Bank - Controls JPY' },
  { id: 'sse', name: 'Shanghai SE', type: 'exchange', lat: 31.2304, lon: 121.4737, country: 'China', marketHours: { open: '09:30', close: '15:00', timezone: 'Asia/Shanghai' }, description: 'Shanghai Stock Exchange' },
  { id: 'szse', name: 'Shenzhen SE', type: 'exchange', lat: 22.5431, lon: 114.0579, country: 'China', description: 'Shenzhen Stock Exchange - Tech focus' },
  { id: 'pboc', name: 'PBOC', type: 'central-bank', lat: 39.9208, lon: 116.4074, country: 'China', description: 'People\'s Bank of China - Controls CNY' },
  { id: 'hkex', name: 'HKEX', type: 'exchange', lat: 22.2833, lon: 114.1577, country: 'Hong Kong', marketHours: { open: '09:30', close: '16:00', timezone: 'Asia/Hong_Kong' }, description: 'Hong Kong Exchange' },
  { id: 'sgx', name: 'SGX', type: 'exchange', lat: 1.2834, lon: 103.8607, country: 'Singapore', description: 'Singapore Exchange' },
  { id: 'mas', name: 'MAS', type: 'central-bank', lat: 1.2789, lon: 103.8536, country: 'Singapore', description: 'Monetary Authority of Singapore' },
  { id: 'kospi', name: 'KRX', type: 'exchange', lat: 37.5665, lon: 126.9780, country: 'South Korea', marketHours: { open: '09:00', close: '15:30', timezone: 'Asia/Seoul' }, description: 'Korea Exchange - KOSPI' },
  { id: 'bse', name: 'BSE', type: 'exchange', lat: 18.9307, lon: 72.8335, country: 'India', marketHours: { open: '09:15', close: '15:30', timezone: 'Asia/Kolkata' }, description: 'Bombay Stock Exchange - Sensex' },
  { id: 'nse', name: 'NSE India', type: 'exchange', lat: 19.0571, lon: 72.8621, country: 'India', description: 'National Stock Exchange - Nifty' },
  { id: 'rbi', name: 'RBI', type: 'central-bank', lat: 18.9322, lon: 72.8351, country: 'India', description: 'Reserve Bank of India' },
  { id: 'asx', name: 'ASX', type: 'exchange', lat: -33.8688, lon: 151.2093, country: 'Australia', marketHours: { open: '10:00', close: '16:00', timezone: 'Australia/Sydney' }, description: 'Australian Securities Exchange' },
  { id: 'rba', name: 'RBA', type: 'central-bank', lat: -33.8654, lon: 151.2105, country: 'Australia', description: 'Reserve Bank of Australia' },
  // Middle East & Africa
  { id: 'tadawul', name: 'Tadawul', type: 'exchange', lat: 24.6877, lon: 46.7219, country: 'Saudi Arabia', marketHours: { open: '10:00', close: '15:00', timezone: 'Asia/Riyadh' }, description: 'Saudi Stock Exchange - Largest in Arab world' },
  { id: 'adx', name: 'ADX', type: 'exchange', lat: 24.4539, lon: 54.3773, country: 'UAE', marketHours: { open: '10:00', close: '14:00', timezone: 'Asia/Dubai' }, description: 'Abu Dhabi Securities Exchange' },
  { id: 'dfm', name: 'DFM', type: 'exchange', lat: 25.2221, lon: 55.2867, country: 'UAE', marketHours: { open: '10:00', close: '14:00', timezone: 'Asia/Dubai' }, description: 'Dubai Financial Market' },
  { id: 'qse', name: 'QSE', type: 'exchange', lat: 25.2854, lon: 51.5310, country: 'Qatar', marketHours: { open: '09:30', close: '13:15', timezone: 'Asia/Qatar' }, description: 'Qatar Stock Exchange' },
  { id: 'bkw', name: 'Boursa Kuwait', type: 'exchange', lat: 29.3759, lon: 47.9774, country: 'Kuwait', marketHours: { open: '09:00', close: '12:30', timezone: 'Asia/Kuwait' }, description: 'Kuwait Stock Exchange' },
  { id: 'bse_bahrain', name: 'Bahrain Bourse', type: 'exchange', lat: 26.2285, lon: 50.5860, country: 'Bahrain', description: 'Bahrain Stock Exchange' },
  { id: 'egx', name: 'EGX', type: 'exchange', lat: 30.0444, lon: 31.2357, country: 'Egypt', marketHours: { open: '10:00', close: '14:30', timezone: 'Africa/Cairo' }, description: 'Egyptian Exchange - Cairo' },
  { id: 'tase', name: 'TASE', type: 'exchange', lat: 32.0853, lon: 34.7818, country: 'Israel', marketHours: { open: '09:59', close: '17:14', timezone: 'Asia/Jerusalem' }, description: 'Tel Aviv Stock Exchange' },
  { id: 'jse', name: 'JSE', type: 'exchange', lat: -26.1447, lon: 28.0381, country: 'South Africa', marketHours: { open: '09:00', close: '17:00', timezone: 'Africa/Johannesburg' }, description: 'Johannesburg Stock Exchange' },
  { id: 'nse_nigeria', name: 'NGX', type: 'exchange', lat: 6.4541, lon: 3.4218, country: 'Nigeria', description: 'Nigerian Exchange Group - Lagos' },
  { id: 'casa', name: 'Casablanca SE', type: 'exchange', lat: 33.5731, lon: -7.5898, country: 'Morocco', description: 'Casablanca Stock Exchange' },
  // Financial Hubs (not exchanges but major centers)
  { id: 'dubai_hub', name: 'DIFC', type: 'financial-hub', lat: 25.2116, lon: 55.2708, country: 'UAE', description: 'Dubai International Financial Centre' },
  { id: 'cayman', name: 'Cayman Islands', type: 'financial-hub', lat: 19.3133, lon: -81.2546, country: 'Cayman Islands', description: 'Offshore financial center' },
  { id: 'luxembourg', name: 'Luxembourg', type: 'financial-hub', lat: 49.6116, lon: 6.1319, country: 'Luxembourg', description: 'European investment fund center' },
];

export const SPACEPORTS: Spaceport[] = [
  { id: 'ksc', name: 'Kennedy Space Center', lat: 28.57, lon: -80.64, country: 'USA', operator: 'NASA/Space Force', status: 'active', launches: 'High' },
  { id: 'vandenberg', name: 'Vandenberg SFB', lat: 34.74, lon: -120.57, country: 'USA', operator: 'US Space Force', status: 'active', launches: 'Medium' },
  { id: 'boca_chica', name: 'Starbase', lat: 25.99, lon: -97.15, country: 'USA', operator: 'SpaceX', status: 'active', launches: 'High' },
  { id: 'baikonur', name: 'Baikonur Cosmodrome', lat: 45.96, lon: 63.30, country: 'Kazakhstan', operator: 'Roscosmos', status: 'active', launches: 'Medium' },
  { id: 'plesetsk', name: 'Plesetsk Cosmodrome', lat: 62.92, lon: 40.57, country: 'Russia', operator: 'Roscosmos/Military', status: 'active', launches: 'Medium' },
  { id: 'vostochny', name: 'Vostochny Cosmodrome', lat: 51.88, lon: 128.33, country: 'Russia', operator: 'Roscosmos', status: 'active', launches: 'Low' },
  { id: 'jiuquan', name: 'Jiuquan SLC', lat: 40.96, lon: 100.29, country: 'China', operator: 'CNSA', status: 'active', launches: 'High' },
  { id: 'xichang', name: 'Xichang SLC', lat: 28.24, lon: 102.02, country: 'China', operator: 'CNSA', status: 'active', launches: 'High' },
  { id: 'wenchang', name: 'Wenchang SLC', lat: 19.61, lon: 110.95, country: 'China', operator: 'CNSA', status: 'active', launches: 'Medium' },
  { id: 'kourou', name: 'Guiana Space Centre', lat: 5.23, lon: -52.76, country: 'France', operator: 'ESA/CNES', status: 'active', launches: 'Medium' },
  { id: 'sriharikota', name: 'Satish Dhawan SC', lat: 13.72, lon: 80.23, country: 'India', operator: 'ISRO', status: 'active', launches: 'Medium' },
  { id: 'tanegashima', name: 'Tanegashima SC', lat: 30.40, lon: 130.97, country: 'Japan', operator: 'JAXA', status: 'active', launches: 'Low' },
];

export const CRITICAL_MINERALS: CriticalMineralProject[] = [
  // Lithium
  { id: 'greenbushes', name: 'Greenbushes', lat: -33.86, lon: 116.01, mineral: 'Lithium', country: 'Australia', operator: 'Talison Lithium', status: 'producing', significance: 'Largest hard-rock lithium mine' },
  { id: 'atacama', name: 'Salar de Atacama', lat: -23.50, lon: -68.33, mineral: 'Lithium', country: 'Chile', operator: 'SQM/Albemarle', status: 'producing', significance: 'Largest brine lithium source' },
  { id: 'pilgangoora', name: 'Pilgangoora', lat: -21.03, lon: 118.91, mineral: 'Lithium', country: 'Australia', operator: 'Pilbara Minerals', status: 'producing', significance: 'Major hard-rock deposit' },
  { id: 'silver_peak', name: 'Silver Peak', lat: 37.75, lon: -117.65, country: 'USA', mineral: 'Lithium', operator: 'Albemarle', status: 'producing', significance: 'Only active US lithium mine' },
  // Cobalt
  { id: 'mutanda', name: 'Mutanda', lat: -10.78, lon: 25.80, mineral: 'Cobalt', country: 'DRC', operator: 'Glencore', status: 'producing', significance: 'World largest cobalt mine' },
  { id: 'tenke', name: 'Tenke Fungurume', lat: -10.61, lon: 26.16, mineral: 'Cobalt', country: 'DRC', operator: 'CMOC', status: 'producing', significance: 'Major Chinese-owned cobalt source' },
  // Rare Earths
  { id: 'bayan_obo', name: 'Bayan Obo', lat: 41.76, lon: 109.95, mineral: 'Rare Earths', country: 'China', operator: 'China Northern Rare Earth', status: 'producing', significance: 'World largest REE mine (45% global production)' },
  { id: 'mountain_pass', name: 'Mountain Pass', lat: 35.47, lon: -115.53, mineral: 'Rare Earths', country: 'USA', operator: 'MP Materials', status: 'producing', significance: 'Only major US REE mine' },
  { id: 'mount_weld', name: 'Mount Weld', lat: -28.86, lon: 122.17, mineral: 'Rare Earths', country: 'Australia', operator: 'Lynas', status: 'producing', significance: 'Major non-Chinese REE source' },
  // Nickel
  { id: 'wedabay', name: 'Weda Bay', lat: 0.47, lon: 127.94, mineral: 'Nickel', country: 'Indonesia', operator: 'Tsingshan/Eramet', status: 'producing', significance: 'Massive nickel pig iron production' },
  { id: 'norilsk', name: 'Norilsk', lat: 69.33, lon: 88.21, mineral: 'Nickel', country: 'Russia', operator: 'Nornickel', status: 'producing', significance: 'Major palladium/nickel source' },
];
