// ============================================================
// Husky Paths — Data
// Cities (lon/lat) + sample distribution + community seed
// ============================================================

// ── 语言切换(全局)─────────────────────────────────────
// 二态:'en' 英文 / 'zh' 中文。t(en, zh) 按当前语言二选一(zh 缺失则回退 en)。
// window.__HP_LANG 由 app.jsx 在每次渲染时同步,组件无需逐个传 props。
function hpDefaultLang() {
  try {
    return (navigator.language || "").toLowerCase().startsWith("zh") ? "zh" : "en";
  } catch (_e) { return "en"; }
}
function t(en, zh) {
  return (typeof window !== "undefined" && window.__HP_LANG === "zh") ? (zh || en) : en;
}

const SEATTLE_COORDS = [-122.3321, 47.6062];

const CITIES = [
  // North America
  { name: "San Jose",      zh: "圣何塞",   country: "USA",         coords: [-121.8863, 37.3382],    region: "North America" },
  { name: "Oakland",       zh: "奥克兰(加州)", country: "USA",     coords: [-122.2712, 37.8044],    region: "North America" },
  { name: "Durham",        zh: "达勒姆",   country: "USA",         coords: [ -78.8986, 35.9940],    region: "North America" },
  { name: "Charleston",    zh: "查尔斯顿", country: "USA",         coords: [ -79.9311, 32.7765],    region: "North America" },
  { name: "Savannah",      zh: "萨凡纳",   country: "USA",         coords: [ -81.0998, 32.0809],    region: "North America" },
  { name: "Knoxville",     zh: "诺克斯维尔", country: "USA",       coords: [ -83.9207, 35.9606],    region: "North America" },
  { name: "New Haven",     zh: "纽黑文",   country: "USA",         coords: [ -72.9279, 41.3083],    region: "North America" },
  { name: "Reno",          zh: "里诺",     country: "USA",         coords: [-119.8138, 39.5296],    region: "North America" },
  { name: "Seattle",       zh: "西雅图",   country: "USA",         coords: SEATTLE_COORDS,          region: "North America" },
  { name: "Bay Area",      zh: "湾区",     country: "USA",         coords: [-122.4194, 37.7749],    region: "North America" },
  { name: "New York",      zh: "纽约",     country: "USA",         coords: [ -74.0060, 40.7128],    region: "North America" },
  { name: "Boston",        zh: "波士顿",   country: "USA",         coords: [ -71.0589, 42.3601],    region: "North America" },
  { name: "Austin",        zh: "奥斯汀",   country: "USA",         coords: [ -97.7431, 30.2672],    region: "North America" },
  { name: "Chicago",       zh: "芝加哥",   country: "USA",         coords: [ -87.6298, 41.8781],    region: "North America" },
  { name: "Los Angeles",   zh: "洛杉矶",   country: "USA",         coords: [-118.2437, 34.0522],    region: "North America" },
  { name: "Atlanta",       zh: "亚特兰大", country: "USA",         coords: [ -84.3880, 33.7490],    region: "North America" },
  { name: "San Diego",     zh: "圣地亚哥", country: "USA",         coords: [-117.1611, 32.7157],    region: "North America" },
  { name: "Denver",        zh: "丹佛",     country: "USA",         coords: [-104.9903, 39.7392],    region: "North America" },
  { name: "Portland",      zh: "波特兰",   country: "USA",         coords: [-122.6765, 45.5152],    region: "North America" },
  { name: "Washington DC", zh: "华盛顿",   country: "USA",         coords: [ -77.0369, 38.9072],    region: "North America" },
  { name: "Pittsburgh",    zh: "匹兹堡",   country: "USA",         coords: [ -79.9959, 40.4406],    region: "North America" },
  { name: "Philadelphia",  zh: "费城",     country: "USA",         coords: [ -75.1652, 39.9526],    region: "North America" },
  { name: "Houston",       zh: "休斯顿",   country: "USA",         coords: [ -95.3698, 29.7604],    region: "North America" },
  { name: "Toronto",       zh: "多伦多",   country: "Canada",      coords: [ -79.3832, 43.6532],    region: "North America" },
  { name: "Vancouver",     zh: "温哥华",   country: "Canada",      coords: [-123.1207, 49.2827],    region: "North America" },
  { name: "Waterloo",      zh: "滑铁卢",   country: "Canada",      coords: [ -80.5204, 43.4643],    region: "North America" },
  { name: "Calgary",       zh: "卡尔加里", country: "Canada",      coords: [-114.0719, 51.0447],    region: "North America" },
  { name: "Montreal",      zh: "蒙特利尔", country: "Canada",      coords: [ -73.5673, 45.5017],    region: "North America" },
  { name: "Mexico City",   zh: "墨西哥城", country: "Mexico",      coords: [ -99.1332, 19.4326],    region: "North America" },
  { name: "Dallas",        zh: "达拉斯",   country: "USA",         coords: [ -96.7970, 32.7767],    region: "North America" },
  { name: "Miami",         zh: "迈阿密",   country: "USA",         coords: [ -80.1918, 25.7617],    region: "North America" },
  { name: "Phoenix",       zh: "凤凰城",   country: "USA",         coords: [-112.0740, 33.4484],    region: "North America" },
  { name: "Nashville",     zh: "纳什维尔", country: "USA",         coords: [ -86.7816, 36.1627],    region: "North America" },
  { name: "Minneapolis",   zh: "明尼阿波利斯", country: "USA",     coords: [ -93.2650, 44.9778],    region: "North America" },
  { name: "Salt Lake City",zh: "盐湖城",   country: "USA",         coords: [-111.8910, 40.7608],    region: "North America" },
  { name: "Detroit",       zh: "底特律",   country: "USA",         coords: [ -83.0458, 42.3314],    region: "North America" },
  { name: "Charlotte",     zh: "夏洛特",   country: "USA",         coords: [ -80.8431, 35.2271],    region: "North America" },
  { name: "Raleigh",       zh: "罗利",     country: "USA",         coords: [ -78.6382, 35.7796],    region: "North America" },
  { name: "Las Vegas",     zh: "拉斯维加斯", country: "USA",       coords: [-115.1398, 36.1699],    region: "North America" },
  { name: "Sacramento",    zh: "萨克拉门托", country: "USA",       coords: [-121.4944, 38.5816],    region: "North America" },
  { name: "Columbus",      zh: "哥伦布",   country: "USA",         coords: [ -82.9988, 39.9612],    region: "North America" },
  { name: "San Antonio",   zh: "圣安东尼奥", country: "USA",       coords: [ -98.4936, 29.4241],    region: "North America" },
  { name: "Orlando",       zh: "奥兰多",   country: "USA",         coords: [ -81.3792, 28.5383],    region: "North America" },
  { name: "Kansas City",   zh: "堪萨斯城", country: "USA",         coords: [ -94.5786, 39.0997],    region: "North America" },
  { name: "Ottawa",        zh: "渥太华",   country: "Canada",      coords: [ -75.6972, 45.4215],    region: "North America" },
  { name: "St. Louis",     zh: "圣路易斯", country: "USA",         coords: [ -90.1994, 38.6270],    region: "North America" },
  { name: "Cincinnati",    zh: "辛辛那提", country: "USA",         coords: [ -84.5120, 39.1031],    region: "North America" },
  { name: "Cleveland",     zh: "克利夫兰", country: "USA",         coords: [ -81.6944, 41.4993],    region: "North America" },
  { name: "Milwaukee",     zh: "密尔沃基", country: "USA",         coords: [ -87.9065, 43.0389],    region: "North America" },
  { name: "Indianapolis",  zh: "印第安纳波利斯", country: "USA",   coords: [ -86.1581, 39.7684],    region: "North America" },
  { name: "Memphis",       zh: "孟菲斯",   country: "USA",         coords: [ -90.0490, 35.1495],    region: "North America" },
  { name: "New Orleans",   zh: "新奥尔良", country: "USA",         coords: [ -90.0715, 29.9511],    region: "North America" },
  { name: "Tampa",         zh: "坦帕",     country: "USA",         coords: [ -82.4572, 27.9506],    region: "North America" },
  { name: "Baltimore",     zh: "巴尔的摩", country: "USA",         coords: [ -76.6122, 39.2904],    region: "North America" },
  { name: "Buffalo",       zh: "布法罗",   country: "USA",         coords: [ -78.8784, 42.8864],    region: "North America" },
  { name: "Madison",       zh: "麦迪逊",   country: "USA",         coords: [ -89.4012, 43.0731],    region: "North America" },
  { name: "Ann Arbor",     zh: "安娜堡",   country: "USA",         coords: [ -83.7430, 42.2808],    region: "North America" },
  { name: "Boulder",       zh: "博尔德",   country: "USA",         coords: [-105.2705, 40.0150],    region: "North America" },
  { name: "Tucson",        zh: "图森",     country: "USA",         coords: [-110.9747, 32.2226],    region: "North America" },
  { name: "Albuquerque",   zh: "阿尔伯克基", country: "USA",       coords: [-106.6504, 35.0844],    region: "North America" },
  { name: "Boise",         zh: "博伊西",   country: "USA",         coords: [-116.2023, 43.6150],    region: "North America" },
  { name: "Spokane",       zh: "斯波坎",   country: "USA",         coords: [-117.4260, 47.6588],    region: "North America" },
  { name: "Tacoma",        zh: "塔科马",   country: "USA",         coords: [-122.4443, 47.2529],    region: "North America" },
  { name: "Bellevue",      zh: "贝尔维尤", country: "USA",         coords: [-122.2015, 47.6101],    region: "North America" },
  { name: "Honolulu",      zh: "檀香山",   country: "USA",         coords: [-157.8583, 21.3069],    region: "North America" },
  { name: "Oklahoma City", zh: "俄克拉荷马城", country: "USA",     coords: [ -97.5164, 35.4676],    region: "North America" },
  { name: "Louisville",    zh: "路易斯维尔", country: "USA",       coords: [ -85.7585, 38.2527],    region: "North America" },
  { name: "Providence",    zh: "普罗维登斯", country: "USA",       coords: [ -71.4128, 41.8240],    region: "North America" },
  { name: "Richmond",      zh: "里士满",   country: "USA",         coords: [ -77.4360, 37.5407],    region: "North America" },
  { name: "Quebec City",   zh: "魁北克城", country: "Canada",      coords: [ -71.2080, 46.8139],    region: "North America" },
  { name: "Winnipeg",      zh: "温尼伯",   country: "Canada",      coords: [ -97.1384, 49.8951],    region: "North America" },
  { name: "Halifax",       zh: "哈利法克斯", country: "Canada",    coords: [ -63.5752, 44.6488],    region: "North America" },
  { name: "Victoria",      zh: "维多利亚", country: "Canada",      coords: [-123.3656, 48.4284],    region: "North America" },
  { name: "Edmonton",      zh: "埃德蒙顿", country: "Canada",      coords: [-113.4938, 53.5461],    region: "North America" },
  { name: "Monterrey",     zh: "蒙特雷",   country: "Mexico",      coords: [-100.3161, 25.6866],    region: "North America" },
  { name: "Guadalajara",   zh: "瓜达拉哈拉", country: "Mexico",    coords: [-103.3496, 20.6597],    region: "North America" },

  // — US 郊区 / 小城(大西雅图、湾区、南加、大学城等)—
  { name: "Redmond",        zh: "雷德蒙德",   country: "USA", coords: [-122.1215, 47.6740], region: "North America" },
  { name: "Kirkland",       zh: "柯克兰",     country: "USA", coords: [-122.2087, 47.6769], region: "North America" },
  { name: "Renton",         zh: "伦顿",       country: "USA", coords: [-122.2171, 47.4829], region: "North America" },
  { name: "Everett",        zh: "埃弗里特",   country: "USA", coords: [-122.2021, 47.9790], region: "North America" },
  { name: "Bothell",        zh: "博塞尔",     country: "USA", coords: [-122.2054, 47.7601], region: "North America" },
  { name: "Issaquah",       zh: "伊瑟阔",     country: "USA", coords: [-122.0326, 47.5301], region: "North America" },
  { name: "Bellingham",     zh: "贝灵厄姆",   country: "USA", coords: [-122.4787, 48.7519], region: "North America" },
  { name: "Olympia",        zh: "奥林匹亚",   country: "USA", coords: [-122.9007, 47.0379], region: "North America" },
  { name: "Vancouver WA",   zh: "温哥华(华州)", country: "USA", coords: [-122.6615, 45.6387], region: "North America" },
  { name: "Pullman",        zh: "普尔曼",     country: "USA", coords: [-117.1817, 46.7298], region: "North America" },
  { name: "Mountain View",  zh: "山景城",     country: "USA", coords: [-122.0838, 37.3861], region: "North America" },
  { name: "Palo Alto",      zh: "帕罗奥图",   country: "USA", coords: [-122.1430, 37.4419], region: "North America" },
  { name: "Sunnyvale",      zh: "桑尼维尔",   country: "USA", coords: [-122.0363, 37.3688], region: "North America" },
  { name: "Santa Clara",    zh: "圣克拉拉",   country: "USA", coords: [-121.9552, 37.3541], region: "North America" },
  { name: "Cupertino",      zh: "库比蒂诺",   country: "USA", coords: [-122.0322, 37.3230], region: "North America" },
  { name: "Menlo Park",     zh: "门洛帕克",   country: "USA", coords: [-122.1817, 37.4530], region: "North America" },
  { name: "Fremont",        zh: "弗里蒙特",   country: "USA", coords: [-121.9886, 37.5485], region: "North America" },
  { name: "Redwood City",   zh: "红木城",     country: "USA", coords: [-122.2364, 37.4848], region: "North America" },
  { name: "Berkeley",       zh: "伯克利",     country: "USA", coords: [-122.2730, 37.8715], region: "North America" },
  { name: "Irvine",         zh: "尔湾",       country: "USA", coords: [-117.8265, 33.6846], region: "North America" },
  { name: "Santa Monica",   zh: "圣莫尼卡",   country: "USA", coords: [-118.4912, 34.0195], region: "North America" },
  { name: "Pasadena",       zh: "帕萨迪纳",   country: "USA", coords: [-118.1445, 34.1478], region: "North America" },
  { name: "Long Beach",     zh: "长滩",       country: "USA", coords: [-118.1937, 33.7701], region: "North America" },
  { name: "Santa Barbara",  zh: "圣巴巴拉",   country: "USA", coords: [-119.6982, 34.4208], region: "North America" },
  { name: "Cambridge MA",   zh: "剑桥(麻州)", country: "USA", coords: [ -71.1097, 42.3736], region: "North America" },
  { name: "Arlington VA",   zh: "阿灵顿",     country: "USA", coords: [ -77.0911, 38.8799], region: "North America" },
  { name: "Fort Collins",   zh: "柯林斯堡",   country: "USA", coords: [-105.0844, 40.5853], region: "North America" },
  { name: "Colorado Springs",zh: "科罗拉多斯普林斯", country: "USA", coords: [-104.8214, 38.8339], region: "North America" },
  { name: "Provo",          zh: "普罗沃",     country: "USA", coords: [-111.6585, 40.2338], region: "North America" },
  { name: "Tempe",          zh: "坦佩",       country: "USA", coords: [-111.9400, 33.4255], region: "North America" },
  { name: "Scottsdale",     zh: "斯科茨代尔", country: "USA", coords: [-111.9261, 33.4942], region: "North America" },
  { name: "Plano",          zh: "普莱诺",     country: "USA", coords: [ -96.6989, 33.0198], region: "North America" },
  { name: "Fort Worth",     zh: "沃斯堡",     country: "USA", coords: [ -97.3308, 32.7555], region: "North America" },
  { name: "Eugene",         zh: "尤金",       country: "USA", coords: [-123.0868, 44.0521], region: "North America" },
  { name: "Corvallis",      zh: "科瓦利斯",   country: "USA", coords: [-123.2620, 44.5646], region: "North America" },
  { name: "Grand Rapids",   zh: "大急流城",   country: "USA", coords: [ -85.6681, 42.9634], region: "North America" },
  { name: "Omaha",          zh: "奥马哈",     country: "USA", coords: [ -95.9345, 41.2565], region: "North America" },
  { name: "Des Moines",     zh: "得梅因",     country: "USA", coords: [ -93.6091, 41.5868], region: "North America" },
  { name: "Champaign",      zh: "香槟",       country: "USA", coords: [ -88.2434, 40.1164], region: "North America" },
  { name: "Ithaca",         zh: "伊萨卡",     country: "USA", coords: [ -76.5019, 42.4440], region: "North America" },
  { name: "Princeton",      zh: "普林斯顿",   country: "USA", coords: [ -74.6672, 40.3573], region: "North America" },
  { name: "Davis",          zh: "戴维斯",     country: "USA", coords: [-121.7405, 38.5449], region: "North America" },
  { name: "West Lafayette", zh: "西拉法叶",   country: "USA", coords: [ -86.9212, 40.4259], region: "North America" },
  { name: "Bloomington",    zh: "布卢明顿",   country: "USA", coords: [ -86.5264, 39.1653], region: "North America" },
  { name: "College Station",zh: "大学城",     country: "USA", coords: [ -96.3344, 30.6280], region: "North America" },

  // — 更多美国中小城市(批次 2)—
  { name: "San Francisco",  zh: "旧金山",     country: "USA", coords: [-122.4194, 37.7749], region: "North America" },
  { name: "Kent WA",        zh: "肯特(华州)", country: "USA", coords: [-122.2348, 47.3809], region: "North America" },
  { name: "Auburn WA",      zh: "奥本(华州)", country: "USA", coords: [-122.2285, 47.3073], region: "North America" },
  { name: "Federal Way",    zh: "联邦路",     country: "USA", coords: [-122.3126, 47.3223], region: "North America" },
  { name: "Yakima",         zh: "亚基马",     country: "USA", coords: [-120.5059, 46.6021], region: "North America" },
  { name: "Richland WA",    zh: "里奇兰",     country: "USA", coords: [-119.2752, 46.2857], region: "North America" },
  { name: "Bremerton",      zh: "布雷默顿",   country: "USA", coords: [-122.6326, 47.5673], region: "North America" },
  { name: "Beaverton",      zh: "比弗顿",     country: "USA", coords: [-122.8037, 45.4871], region: "North America" },
  { name: "Hillsboro",      zh: "希尔斯伯勒", country: "USA", coords: [-122.9899, 45.5229], region: "North America" },
  { name: "Salem OR",       zh: "塞勒姆",     country: "USA", coords: [-123.0351, 44.9429], region: "North America" },
  { name: "Bend",           zh: "本德",       country: "USA", coords: [-121.3153, 44.0582], region: "North America" },
  { name: "Fresno",         zh: "弗雷斯诺",   country: "USA", coords: [-119.7871, 36.7378], region: "North America" },
  { name: "Riverside",      zh: "里弗赛德",   country: "USA", coords: [-117.3962, 33.9806], region: "North America" },
  { name: "Anaheim",        zh: "阿纳海姆",   country: "USA", coords: [-117.9145, 33.8366], region: "North America" },
  { name: "Santa Ana",      zh: "圣安娜",     country: "USA", coords: [-117.8677, 33.7455], region: "North America" },
  { name: "Santa Cruz",     zh: "圣克鲁兹",   country: "USA", coords: [-122.0308, 36.9741], region: "North America" },
  { name: "San Luis Obispo",zh: "圣路易斯奥比斯波", country: "USA", coords: [-120.6596, 35.2828], region: "North America" },
  { name: "Walnut Creek",   zh: "核桃溪",     country: "USA", coords: [-122.0652, 37.9101], region: "North America" },
  { name: "Pleasanton",     zh: "普莱森顿",   country: "USA", coords: [-121.8747, 37.6624], region: "North America" },
  { name: "Milpitas",       zh: "苗必达",     country: "USA", coords: [-121.8996, 37.4323], region: "North America" },
  { name: "Hayward",        zh: "海沃德",     country: "USA", coords: [-122.0808, 37.6688], region: "North America" },
  { name: "Santa Rosa",     zh: "圣罗莎",     country: "USA", coords: [-122.7141, 38.4404], region: "North America" },
  { name: "Glendale CA",    zh: "格兰岱尔",   country: "USA", coords: [-118.2551, 34.1425], region: "North America" },
  { name: "Burbank",        zh: "伯班克",     country: "USA", coords: [-118.3090, 34.1808], region: "North America" },
  { name: "Monterey CA",    zh: "蒙特利(加州)", country: "USA", coords: [-121.8947, 36.6002], region: "North America" },
  { name: "Oceanside",      zh: "奥申赛德",   country: "USA", coords: [-117.3795, 33.1959], region: "North America" },
  { name: "Torrance",       zh: "托伦斯",     country: "USA", coords: [-118.3406, 33.8358], region: "North America" },
  { name: "Bakersfield",    zh: "贝克斯菲尔德", country: "USA", coords: [-119.0187, 35.3733], region: "North America" },
  { name: "El Paso",        zh: "埃尔帕索",   country: "USA", coords: [-106.4850, 31.7619], region: "North America" },
  { name: "Arlington TX",   zh: "阿灵顿(德州)", country: "USA", coords: [ -97.1081, 32.7357], region: "North America" },
  { name: "Irving",         zh: "欧文(德州)", country: "USA", coords: [ -96.9489, 32.8140], region: "North America" },
  { name: "Frisco",         zh: "弗里斯科",   country: "USA", coords: [ -96.8236, 33.1507], region: "North America" },
  { name: "Round Rock",     zh: "圆石城",     country: "USA", coords: [ -97.6789, 30.5083], region: "North America" },
  { name: "Sugar Land",     zh: "糖城",       country: "USA", coords: [ -95.6349, 29.6197], region: "North America" },
  { name: "Lubbock",        zh: "拉伯克",     country: "USA", coords: [-101.8552, 33.5779], region: "North America" },
  { name: "Denton",         zh: "丹顿",       country: "USA", coords: [ -97.1331, 33.2148], region: "North America" },
  { name: "Rochester NY",   zh: "罗切斯特",   country: "USA", coords: [ -77.6088, 43.1566], region: "North America" },
  { name: "Syracuse",       zh: "锡拉丘兹",   country: "USA", coords: [ -76.1474, 43.0481], region: "North America" },
  { name: "Albany NY",      zh: "奥尔巴尼",   country: "USA", coords: [ -73.7562, 42.6526], region: "North America" },
  { name: "Stamford",       zh: "斯坦福德",   country: "USA", coords: [ -73.5387, 41.0534], region: "North America" },
  { name: "Hartford",       zh: "哈特福德",   country: "USA", coords: [ -72.6851, 41.7637], region: "North America" },
  { name: "Jersey City",    zh: "泽西城",     country: "USA", coords: [ -74.0776, 40.7282], region: "North America" },
  { name: "Newark NJ",      zh: "纽瓦克",     country: "USA", coords: [ -74.1724, 40.7357], region: "North America" },
  { name: "Hoboken",        zh: "霍博肯",     country: "USA", coords: [ -74.0324, 40.7440], region: "North America" },
  { name: "Worcester",      zh: "伍斯特",     country: "USA", coords: [ -71.8023, 42.2626], region: "North America" },
  { name: "Amherst",        zh: "阿默斯特",   country: "USA", coords: [ -72.5199, 42.3732], region: "North America" },
  { name: "Portland ME",    zh: "波特兰(缅因)", country: "USA", coords: [ -70.2553, 43.6591], region: "North America" },
  { name: "Burlington VT",  zh: "伯灵顿",     country: "USA", coords: [ -73.2121, 44.4759], region: "North America" },
  { name: "Stony Brook",    zh: "石溪",       country: "USA", coords: [ -73.1409, 40.9257], region: "North America" },
  { name: "Dayton",         zh: "代顿",       country: "USA", coords: [ -84.1916, 39.7589], region: "North America" },
  { name: "Toledo",         zh: "托莱多",     country: "USA", coords: [ -83.5552, 41.6528], region: "North America" },
  { name: "East Lansing",   zh: "东兰辛",     country: "USA", coords: [ -84.4839, 42.7370], region: "North America" },
  { name: "Iowa City",      zh: "爱荷华城",   country: "USA", coords: [ -91.5302, 41.6611], region: "North America" },
  { name: "Ames",           zh: "埃姆斯",     country: "USA", coords: [ -93.6202, 42.0347], region: "North America" },
  { name: "Lincoln NE",     zh: "林肯",       country: "USA", coords: [ -96.7026, 40.8136], region: "North America" },
  { name: "Wichita",        zh: "威奇托",     country: "USA", coords: [ -97.3375, 37.6872], region: "North America" },
  { name: "Lawrence KS",    zh: "劳伦斯",     country: "USA", coords: [ -95.2353, 38.9717], region: "North America" },
  { name: "Evanston",       zh: "埃文斯顿",   country: "USA", coords: [ -87.6877, 42.0451], region: "North America" },
  { name: "South Bend",     zh: "南本德",     country: "USA", coords: [ -86.2520, 41.6764], region: "North America" },
  { name: "Fargo",          zh: "法戈",       country: "USA", coords: [ -96.7898, 46.8772], region: "North America" },
  { name: "Gainesville",    zh: "盖恩斯维尔", country: "USA", coords: [ -82.3248, 29.6516], region: "North America" },
  { name: "Tallahassee",    zh: "塔拉哈西",   country: "USA", coords: [ -84.2807, 30.4383], region: "North America" },
  { name: "Jacksonville",   zh: "杰克逊维尔", country: "USA", coords: [ -81.6557, 30.3322], region: "North America" },
  { name: "Fort Lauderdale",zh: "劳德代尔堡", country: "USA", coords: [ -80.1373, 26.1224], region: "North America" },
  { name: "St. Petersburg", zh: "圣彼得斯堡", country: "USA", coords: [ -82.6403, 27.7676], region: "North America" },
  { name: "Birmingham AL",  zh: "伯明翰(美)", country: "USA", coords: [ -86.8025, 33.5186], region: "North America" },
  { name: "Huntsville",     zh: "亨茨维尔",   country: "USA", coords: [ -86.5861, 34.7304], region: "North America" },
  { name: "Chattanooga",    zh: "查塔努加",   country: "USA", coords: [ -85.3097, 35.0456], region: "North America" },
  { name: "Greenville SC",  zh: "格林维尔",   country: "USA", coords: [ -82.3940, 34.8526], region: "North America" },
  { name: "Columbia SC",    zh: "哥伦比亚(南卡)", country: "USA", coords: [ -81.0348, 34.0007], region: "North America" },
  { name: "Athens GA",      zh: "雅典(佐治亚)", country: "USA", coords: [ -83.3576, 33.9519], region: "North America" },
  { name: "Lexington",      zh: "列克星敦",   country: "USA", coords: [ -84.5037, 38.0406], region: "North America" },
  { name: "Chapel Hill",    zh: "教堂山",     country: "USA", coords: [ -79.0558, 35.9132], region: "North America" },
  { name: "Asheville",      zh: "阿什维尔",   country: "USA", coords: [ -82.5515, 35.5951], region: "North America" },
  { name: "Greensboro",     zh: "格林斯伯勒", country: "USA", coords: [ -79.7920, 36.0726], region: "North America" },
  { name: "Charlottesville",zh: "夏洛茨维尔", country: "USA", coords: [ -78.4767, 38.0293], region: "North America" },
  { name: "Blacksburg",     zh: "布莱克斯堡", country: "USA", coords: [ -80.4139, 37.2296], region: "North America" },
  { name: "Norfolk",        zh: "诺福克",     country: "USA", coords: [ -76.2859, 36.8508], region: "North America" },
  { name: "Little Rock",    zh: "小石城",     country: "USA", coords: [ -92.2896, 34.7465], region: "North America" },
  { name: "Baton Rouge",    zh: "巴吞鲁日",   country: "USA", coords: [ -91.1871, 30.4515], region: "North America" },
  { name: "Santa Fe",       zh: "圣菲",       country: "USA", coords: [-105.9378, 35.6870], region: "North America" },
  { name: "Ogden",          zh: "奥格登",     country: "USA", coords: [-111.9738, 41.2230], region: "North America" },
  { name: "Bozeman",        zh: "博兹曼",     country: "USA", coords: [-111.0429, 45.6770], region: "North America" },
  { name: "Missoula",       zh: "米苏拉",     country: "USA", coords: [-113.9940, 46.8721], region: "North America" },

  // Europe
  { name: "Naples",        zh: "那不勒斯", country: "Italy",       coords: [  14.2681, 40.8518],    region: "Europe" },
  { name: "Turin",         zh: "都灵",     country: "Italy",       coords: [   7.6869, 45.0703],    region: "Europe" },
  { name: "Bologna",       zh: "博洛尼亚", country: "Italy",       coords: [  11.3426, 44.4949],    region: "Europe" },
  { name: "Venice",        zh: "威尼斯",   country: "Italy",       coords: [  12.3155, 45.4408],    region: "Europe" },
  { name: "Genoa",         zh: "热那亚",   country: "Italy",       coords: [   8.9463, 44.4056],    region: "Europe" },
  { name: "Valencia",      zh: "瓦伦西亚", country: "Spain",       coords: [  -0.3763, 39.4699],    region: "Europe" },
  { name: "Seville",       zh: "塞维利亚", country: "Spain",       coords: [  -5.9845, 37.3891],    region: "Europe" },
  { name: "Bilbao",        zh: "毕尔巴鄂", country: "Spain",       coords: [  -2.9350, 43.2630],    region: "Europe" },
  { name: "Malaga",        zh: "马拉加",   country: "Spain",       coords: [  -4.4214, 36.7213],    region: "Europe" },
  { name: "Porto",         zh: "波尔图",   country: "Portugal",    coords: [  -8.6291, 41.1579],    region: "Europe" },
  { name: "Stuttgart",     zh: "斯图加特", country: "Germany",     coords: [   9.1829, 48.7758],    region: "Europe" },
  { name: "Düsseldorf",    zh: "杜塞尔多夫", country: "Germany",   coords: [   6.7735, 51.2277],    region: "Europe" },
  { name: "Leipzig",       zh: "莱比锡",   country: "Germany",     coords: [  12.3731, 51.3397],    region: "Europe" },
  { name: "Nuremberg",     zh: "纽伦堡",   country: "Germany",     coords: [  11.0767, 49.4521],    region: "Europe" },
  { name: "Toulouse",      zh: "图卢兹",   country: "France",      coords: [   1.4442, 43.6047],    region: "Europe" },
  { name: "Nice",          zh: "尼斯",     country: "France",      coords: [   7.2620, 43.7102],    region: "Europe" },
  { name: "Bordeaux",      zh: "波尔多",   country: "France",      coords: [  -0.5792, 44.8378],    region: "Europe" },
  { name: "Marseille",     zh: "马赛",     country: "France",      coords: [   5.3698, 43.2965],    region: "Europe" },
  { name: "Nantes",        zh: "南特",     country: "France",      coords: [  -1.5536, 47.2184],    region: "Europe" },
  { name: "Birmingham",    zh: "伯明翰",   country: "UK",          coords: [  -1.8904, 52.4862],    region: "Europe" },
  { name: "Leeds",         zh: "利兹",     country: "UK",          coords: [  -1.5491, 53.8008],    region: "Europe" },
  { name: "Liverpool",     zh: "利物浦",   country: "UK",          coords: [  -2.9916, 53.4084],    region: "Europe" },
  { name: "Bristol",       zh: "布里斯托尔", country: "UK",        coords: [  -2.5879, 51.4545],    region: "Europe" },
  { name: "Cambridge",     zh: "剑桥",     country: "UK",          coords: [   0.1218, 52.2053],    region: "Europe" },
  { name: "Oxford",        zh: "牛津",     country: "UK",          coords: [  -1.2577, 51.7520],    region: "Europe" },
  { name: "Basel",         zh: "巴塞尔",   country: "Switzerland", coords: [   7.5886, 47.5596],    region: "Europe" },
  { name: "Bern",          zh: "伯尔尼",   country: "Switzerland", coords: [   7.4474, 46.9480],    region: "Europe" },
  { name: "Lausanne",      zh: "洛桑",     country: "Switzerland", coords: [   6.6323, 46.5197],    region: "Europe" },
  { name: "Malmö",         zh: "马尔默",   country: "Sweden",      coords: [  13.0038, 55.6050],    region: "Europe" },
  { name: "Bergen",        zh: "卑尔根",   country: "Norway",      coords: [   5.3221, 60.3913],    region: "Europe" },
  { name: "Gdansk",        zh: "格但斯克", country: "Poland",      coords: [  18.6466, 54.3520],    region: "Europe" },
  { name: "Wroclaw",       zh: "弗罗茨瓦夫", country: "Poland",    coords: [  17.0385, 51.1079],    region: "Europe" },
  { name: "Bratislava",    zh: "布拉迪斯拉发", country: "Slovakia",coords: [  17.1077, 48.1486],    region: "Europe" },
  { name: "Ljubljana",     zh: "卢布尔雅那", country: "Slovenia",  coords: [  14.5058, 46.0569],    region: "Europe" },
  { name: "Zagreb",        zh: "萨格勒布", country: "Croatia",     coords: [  15.9819, 45.8150],    region: "Europe" },
  { name: "Belgrade",      zh: "贝尔格莱德", country: "Serbia",    coords: [  20.4489, 44.7866],    region: "Europe" },
  { name: "Sofia",         zh: "索菲亚",   country: "Bulgaria",    coords: [  23.3219, 42.6977],    region: "Europe" },
  { name: "Riga",          zh: "里加",     country: "Latvia",      coords: [  24.1052, 56.9496],    region: "Europe" },
  { name: "Vilnius",       zh: "维尔纽斯", country: "Lithuania",   coords: [  25.2797, 54.6872],    region: "Europe" },
  { name: "Thessaloniki",  zh: "塞萨洛尼基", country: "Greece",    coords: [  22.9444, 40.6401],    region: "Europe" },
  { name: "London",        zh: "伦敦",     country: "UK",          coords: [  -0.1278, 51.5074],    region: "Europe" },
  { name: "Paris",         zh: "巴黎",     country: "France",      coords: [   2.3522, 48.8566],    region: "Europe" },
  { name: "Berlin",        zh: "柏林",     country: "Germany",     coords: [  13.4050, 52.5200],    region: "Europe" },
  { name: "Munich",        zh: "慕尼黑",   country: "Germany",     coords: [  11.5820, 48.1351],    region: "Europe" },
  { name: "Zurich",        zh: "苏黎世",   country: "Switzerland", coords: [   8.5417, 47.3769],    region: "Europe" },
  { name: "Amsterdam",     zh: "阿姆斯特丹", country: "Netherlands", coords: [ 4.9041, 52.3676],    region: "Europe" },
  { name: "Madrid",        zh: "马德里",   country: "Spain",       coords: [  -3.7038, 40.4168],    region: "Europe" },
  { name: "Stockholm",     zh: "斯德哥尔摩", country: "Sweden",     coords: [  18.0686, 59.3293],    region: "Europe" },
  { name: "Dublin",        zh: "都柏林",   country: "Ireland",     coords: [  -6.2603, 53.3498],    region: "Europe" },
  { name: "Copenhagen",    zh: "哥本哈根", country: "Denmark",     coords: [  12.5683, 55.6761],    region: "Europe" },
  { name: "Barcelona",     zh: "巴塞罗那", country: "Spain",       coords: [   2.1734, 41.3851],    region: "Europe" },
  { name: "Milan",         zh: "米兰",     country: "Italy",       coords: [   9.1900, 45.4642],    region: "Europe" },
  { name: "Lisbon",        zh: "里斯本",   country: "Portugal",    coords: [  -9.1393, 38.7223],    region: "Europe" },
  { name: "Vienna",        zh: "维也纳",   country: "Austria",     coords: [  16.3738, 48.2082],    region: "Europe" },
  { name: "Edinburgh",     zh: "爱丁堡",   country: "UK",          coords: [  -3.1883, 55.9533],    region: "Europe" },
  { name: "Geneva",        zh: "日内瓦",   country: "Switzerland", coords: [   6.1432, 46.2044],    region: "Europe" },
  { name: "Oslo",          zh: "奥斯陆",   country: "Norway",      coords: [  10.7522, 59.9139],    region: "Europe" },
  { name: "Helsinki",      zh: "赫尔辛基", country: "Finland",     coords: [  24.9384, 60.1699],    region: "Europe" },
  { name: "Brussels",      zh: "布鲁塞尔", country: "Belgium",     coords: [   4.3517, 50.8503],    region: "Europe" },
  { name: "Rome",          zh: "罗马",     country: "Italy",       coords: [  12.4964, 41.9028],    region: "Europe" },
  { name: "Hamburg",       zh: "汉堡",     country: "Germany",     coords: [   9.9937, 53.5511],    region: "Europe" },
  { name: "Frankfurt",     zh: "法兰克福", country: "Germany",     coords: [   8.6821, 50.1109],    region: "Europe" },
  { name: "Cologne",       zh: "科隆",     country: "Germany",     coords: [   6.9603, 50.9375],    region: "Europe" },
  { name: "Manchester",    zh: "曼彻斯特", country: "UK",          coords: [  -2.2426, 53.4808],    region: "Europe" },
  { name: "Glasgow",       zh: "格拉斯哥", country: "UK",          coords: [  -4.2518, 55.8642],    region: "Europe" },
  { name: "Warsaw",        zh: "华沙",     country: "Poland",      coords: [  21.0122, 52.2297],    region: "Europe" },
  { name: "Prague",        zh: "布拉格",   country: "Czechia",     coords: [  14.4378, 50.0755],    region: "Europe" },
  { name: "Budapest",      zh: "布达佩斯", country: "Hungary",     coords: [  19.0402, 47.4979],    region: "Europe" },
  { name: "Athens",        zh: "雅典",     country: "Greece",      coords: [  23.7275, 37.9838],    region: "Europe" },
  { name: "Lyon",          zh: "里昂",     country: "France",      coords: [   4.8357, 45.7640],    region: "Europe" },
  { name: "Rotterdam",     zh: "鹿特丹",   country: "Netherlands", coords: [   4.4777, 51.9244],    region: "Europe" },
  { name: "Gothenburg",    zh: "哥德堡",   country: "Sweden",      coords: [  11.9746, 57.7089],    region: "Europe" },
  { name: "Reykjavik",     zh: "雷克雅未克", country: "Iceland",   coords: [ -21.8954, 64.1466],    region: "Europe" },
  { name: "Krakow",        zh: "克拉科夫", country: "Poland",      coords: [  19.9450, 50.0647],    region: "Europe" },
  { name: "Bucharest",     zh: "布加勒斯特", country: "Romania",   coords: [  26.1025, 44.4268],    region: "Europe" },
  { name: "Tallinn",       zh: "塔林",     country: "Estonia",     coords: [  24.7536, 59.4370],    region: "Europe" },
  { name: "Luxembourg",    zh: "卢森堡",   country: "Luxembourg",  coords: [   6.1296, 49.6116],    region: "Europe" },
  { name: "Florence",      zh: "佛罗伦萨", country: "Italy",       coords: [  11.2558, 43.7696],    region: "Europe" },

  // Asia
  { name: "Macau",         zh: "澳门",     country: "Macau",       coords: [ 113.5439, 22.1987],    region: "Asia" },
  { name: "Foshan",        zh: "佛山",     country: "China",       coords: [ 113.1220, 23.0288],    region: "Asia" },
  { name: "Dongguan",      zh: "东莞",     country: "China",       coords: [ 113.7518, 23.0207],    region: "Asia" },
  { name: "Zhuhai",        zh: "珠海",     country: "China",       coords: [ 113.5767, 22.2707],    region: "Asia" },
  { name: "Jinan",         zh: "济南",     country: "China",       coords: [ 117.1205, 36.6510],    region: "Asia" },
  { name: "Hefei",         zh: "合肥",     country: "China",       coords: [ 117.2272, 31.8206],    region: "Asia" },
  { name: "Fuzhou",        zh: "福州",     country: "China",       coords: [ 119.2965, 26.0745],    region: "Asia" },
  { name: "Kunming",       zh: "昆明",     country: "China",       coords: [ 102.8329, 24.8801],    region: "Asia" },
  { name: "Shenyang",      zh: "沈阳",     country: "China",       coords: [ 123.4315, 41.8057],    region: "Asia" },
  { name: "Harbin",        zh: "哈尔滨",   country: "China",       coords: [ 126.6425, 45.7569],    region: "Asia" },
  { name: "Changchun",     zh: "长春",     country: "China",       coords: [ 125.3245, 43.8868],    region: "Asia" },
  { name: "Wenzhou",       zh: "温州",     country: "China",       coords: [ 120.6994, 27.9938],    region: "Asia" },
  { name: "Nanchang",      zh: "南昌",     country: "China",       coords: [ 115.8579, 28.6820],    region: "Asia" },
  { name: "Guiyang",       zh: "贵阳",     country: "China",       coords: [ 106.7135, 26.5783],    region: "Asia" },
  { name: "Shijiazhuang",  zh: "石家庄",   country: "China",       coords: [ 114.5149, 38.0428],    region: "Asia" },
  { name: "Taiyuan",       zh: "太原",     country: "China",       coords: [ 112.5489, 37.8706],    region: "Asia" },
  { name: "Nanning",       zh: "南宁",     country: "China",       coords: [ 108.3665, 22.8170],    region: "Asia" },
  { name: "Haikou",        zh: "海口",     country: "China",       coords: [ 110.1999, 20.0440],    region: "Asia" },
  { name: "Sapporo",       zh: "札幌",     country: "Japan",       coords: [ 141.3545, 43.0618],    region: "Asia" },
  { name: "Kobe",          zh: "神户",     country: "Japan",       coords: [ 135.1955, 34.6901],    region: "Asia" },
  { name: "Sendai",        zh: "仙台",     country: "Japan",       coords: [ 140.8694, 38.2682],    region: "Asia" },
  { name: "Hiroshima",     zh: "广岛",     country: "Japan",       coords: [ 132.4596, 34.3853],    region: "Asia" },
  { name: "Incheon",       zh: "仁川",     country: "South Korea", coords: [ 126.7052, 37.4563],    region: "Asia" },
  { name: "Daejeon",       zh: "大田",     country: "South Korea", coords: [ 127.3845, 36.3504],    region: "Asia" },
  { name: "Daegu",         zh: "大邱",     country: "South Korea", coords: [ 128.6014, 35.8714],    region: "Asia" },
  { name: "Ahmedabad",     zh: "艾哈迈达巴德", country: "India",   coords: [  72.5714, 23.0225],    region: "Asia" },
  { name: "Jaipur",        zh: "斋浦尔",   country: "India",       coords: [  75.7873, 26.9124],    region: "Asia" },
  { name: "Gurugram",      zh: "古尔冈",   country: "India",       coords: [  77.0266, 28.4595],    region: "Asia" },
  { name: "Surabaya",      zh: "泗水",     country: "Indonesia",   coords: [ 112.7508, -7.2575],    region: "Asia" },
  { name: "Bandung",       zh: "万隆",     country: "Indonesia",   coords: [ 107.6098, -6.9175],    region: "Asia" },
  { name: "Cebu",          zh: "宿务",     country: "Philippines", coords: [ 123.8854, 10.3157],    region: "Asia" },
  { name: "Da Nang",       zh: "岘港",     country: "Vietnam",     coords: [ 108.2022, 16.0544],    region: "Asia" },
  { name: "Phnom Penh",    zh: "金边",     country: "Cambodia",    coords: [ 104.9282, 11.5564],    region: "Asia" },
  { name: "Yangon",        zh: "仰光",     country: "Myanmar",     coords: [  96.1951, 16.8409],    region: "Asia" },
  { name: "Colombo",       zh: "科伦坡",   country: "Sri Lanka",   coords: [  79.8612,  6.9271],    region: "Asia" },
  { name: "Dhaka",         zh: "达卡",     country: "Bangladesh",  coords: [  90.4125, 23.8103],    region: "Asia" },
  { name: "Almaty",        zh: "阿拉木图", country: "Kazakhstan",  coords: [  76.8512, 43.2220],    region: "Asia" },
  { name: "Tashkent",      zh: "塔什干",   country: "Uzbekistan",  coords: [  69.2401, 41.2995],    region: "Asia" },
  { name: "Jeddah",        zh: "吉达",     country: "Saudi Arabia",coords: [  39.1925, 21.4858],    region: "Asia" },
  { name: "Kuwait City",   zh: "科威特城", country: "Kuwait",      coords: [  47.9774, 29.3759],    region: "Asia" },
  { name: "Manama",        zh: "麦纳麦",   country: "Bahrain",     coords: [  50.5860, 26.2285],    region: "Asia" },
  { name: "Muscat",        zh: "马斯喀特", country: "Oman",        coords: [  58.4059, 23.5880],    region: "Asia" },
  { name: "Beirut",        zh: "贝鲁特",   country: "Lebanon",     coords: [  35.5018, 33.8938],    region: "Asia" },
  { name: "Islamabad",     zh: "伊斯兰堡", country: "Pakistan",    coords: [  73.0479, 33.6844],    region: "Asia" },
  { name: "Tokyo",         zh: "东京",     country: "Japan",       coords: [ 139.6503, 35.6762],    region: "Asia" },
  { name: "Osaka",         zh: "大阪",     country: "Japan",       coords: [ 135.5023, 34.6937],    region: "Asia" },
  { name: "Singapore",     zh: "新加坡",   country: "Singapore",   coords: [ 103.8198,  1.3521],    region: "Asia" },
  { name: "Seoul",         zh: "首尔",     country: "South Korea", coords: [ 126.9780, 37.5665],    region: "Asia" },
  { name: "Beijing",       zh: "北京",     country: "China",       coords: [ 116.4074, 39.9042],    region: "Asia" },
  { name: "Shanghai",      zh: "上海",     country: "China",       coords: [ 121.4737, 31.2304],    region: "Asia" },
  { name: "Shenzhen",      zh: "深圳",     country: "China",       coords: [ 114.0579, 22.5431],    region: "Asia" },
  { name: "Guangzhou",     zh: "广州",     country: "China",       coords: [ 113.2644, 23.1291],    region: "Asia" },
  { name: "Hangzhou",      zh: "杭州",     country: "China",       coords: [ 120.1551, 30.2741],    region: "Asia" },
  { name: "Chengdu",       zh: "成都",     country: "China",       coords: [ 104.0668, 30.5728],    region: "Asia" },
  { name: "Hong Kong",     zh: "香港",     country: "Hong Kong",   coords: [ 114.1694, 22.3193],    region: "Asia" },
  { name: "Taipei",        zh: "台北",     country: "Taiwan",      coords: [ 121.5654, 25.0330],    region: "Asia" },
  { name: "Bangalore",     zh: "班加罗尔", country: "India",       coords: [  77.5946, 12.9716],    region: "Asia" },
  { name: "Mumbai",        zh: "孟买",     country: "India",       coords: [  72.8777, 19.0760],    region: "Asia" },
  { name: "Bangkok",       zh: "曼谷",     country: "Thailand",    coords: [ 100.5018, 13.7563],    region: "Asia" },
  { name: "Tel Aviv",      zh: "特拉维夫", country: "Israel",      coords: [  34.7818, 32.0853],    region: "Asia" },
  { name: "Dubai",         zh: "迪拜",     country: "UAE",         coords: [  55.2708, 25.2048],    region: "Asia" },
  { name: "Nanjing",       zh: "南京",     country: "China",       coords: [ 118.7969, 32.0603],    region: "Asia" },
  { name: "Wuhan",         zh: "武汉",     country: "China",       coords: [ 114.3055, 30.5928],    region: "Asia" },
  { name: "Suzhou",        zh: "苏州",     country: "China",       coords: [ 120.5853, 31.2989],    region: "Asia" },
  { name: "Xi'an",         zh: "西安",     country: "China",       coords: [ 108.9398, 34.3416],    region: "Asia" },
  { name: "Delhi",         zh: "德里",     country: "India",       coords: [  77.1025, 28.7041],    region: "Asia" },
  { name: "Hyderabad",     zh: "海得拉巴", country: "India",       coords: [  78.4867, 17.3850],    region: "Asia" },
  { name: "Jakarta",       zh: "雅加达",   country: "Indonesia",   coords: [ 106.8456, -6.2088],    region: "Asia" },
  { name: "Kuala Lumpur",  zh: "吉隆坡",   country: "Malaysia",    coords: [ 101.6869,  3.1390],    region: "Asia" },
  { name: "Manila",        zh: "马尼拉",   country: "Philippines", coords: [ 120.9842, 14.5995],    region: "Asia" },
  { name: "Chongqing",     zh: "重庆",     country: "China",       coords: [ 106.5516, 29.5630],    region: "Asia" },
  { name: "Tianjin",       zh: "天津",     country: "China",       coords: [ 117.1901, 39.1252],    region: "Asia" },
  { name: "Qingdao",       zh: "青岛",     country: "China",       coords: [ 120.3826, 36.0671],    region: "Asia" },
  { name: "Dalian",        zh: "大连",     country: "China",       coords: [ 121.6147, 38.9140],    region: "Asia" },
  { name: "Xiamen",        zh: "厦门",     country: "China",       coords: [ 118.0894, 24.4798],    region: "Asia" },
  { name: "Wuxi",          zh: "无锡",     country: "China",       coords: [ 120.3119, 31.4912],    region: "Asia" },
  { name: "Ningbo",        zh: "宁波",     country: "China",       coords: [ 121.5440, 29.8683],    region: "Asia" },
  { name: "Changsha",      zh: "长沙",     country: "China",       coords: [ 112.9388, 28.2282],    region: "Asia" },
  { name: "Zhengzhou",     zh: "郑州",     country: "China",       coords: [ 113.6254, 34.7466],    region: "Asia" },
  { name: "Kyoto",         zh: "京都",     country: "Japan",       coords: [ 135.7681, 35.0116],    region: "Asia" },
  { name: "Nagoya",        zh: "名古屋",   country: "Japan",       coords: [ 136.9066, 35.1815],    region: "Asia" },
  { name: "Fukuoka",       zh: "福冈",     country: "Japan",       coords: [ 130.4017, 33.5904],    region: "Asia" },
  { name: "Yokohama",      zh: "横滨",     country: "Japan",       coords: [ 139.6380, 35.4437],    region: "Asia" },
  { name: "Busan",         zh: "釜山",     country: "South Korea", coords: [ 129.0756, 35.1796],    region: "Asia" },
  { name: "Chennai",       zh: "钦奈",     country: "India",       coords: [  80.2707, 13.0827],    region: "Asia" },
  { name: "Pune",          zh: "浦那",     country: "India",       coords: [  73.8567, 18.5204],    region: "Asia" },
  { name: "Kolkata",       zh: "加尔各答", country: "India",       coords: [  88.3639, 22.5726],    region: "Asia" },
  { name: "Ho Chi Minh City", zh: "胡志明市", country: "Vietnam",  coords: [ 106.6297, 10.8231],    region: "Asia" },
  { name: "Hanoi",         zh: "河内",     country: "Vietnam",     coords: [ 105.8342, 21.0278],    region: "Asia" },
  { name: "Penang",        zh: "槟城",     country: "Malaysia",    coords: [ 100.3327,  5.4164],    region: "Asia" },
  { name: "Abu Dhabi",     zh: "阿布扎比", country: "UAE",         coords: [  54.3773, 24.4539],    region: "Asia" },
  { name: "Doha",          zh: "多哈",     country: "Qatar",       coords: [  51.5310, 25.2854],    region: "Asia" },
  { name: "Riyadh",        zh: "利雅得",   country: "Saudi Arabia",coords: [  46.6753, 24.7136],    region: "Asia" },
  { name: "Istanbul",      zh: "伊斯坦布尔", country: "Turkey",    coords: [  28.9784, 41.0082],    region: "Asia" },
  { name: "Karachi",       zh: "卡拉奇",   country: "Pakistan",    coords: [  67.0011, 24.8607],    region: "Asia" },
  { name: "Lahore",        zh: "拉合尔",   country: "Pakistan",    coords: [  74.3587, 31.5204],    region: "Asia" },
  { name: "Amman",         zh: "安曼",     country: "Jordan",      coords: [  35.9106, 31.9544],    region: "Asia" },

  // Oceania
  { name: "Christchurch",  zh: "基督城",   country: "New Zealand", coords: [ 172.6362,-43.5321],    region: "Oceania" },
  { name: "Sydney",        zh: "悉尼",     country: "Australia",   coords: [ 151.2093,-33.8688],    region: "Oceania" },
  { name: "Melbourne",     zh: "墨尔本",   country: "Australia",   coords: [ 144.9631,-37.8136],    region: "Oceania" },
  { name: "Auckland",      zh: "奥克兰",   country: "New Zealand", coords: [ 174.7633,-36.8485],    region: "Oceania" },
  { name: "Brisbane",      zh: "布里斯班", country: "Australia",   coords: [ 153.0251,-27.4698],    region: "Oceania" },
  { name: "Perth",         zh: "珀斯",     country: "Australia",   coords: [ 115.8605,-31.9505],    region: "Oceania" },
  { name: "Wellington",    zh: "惠灵顿",   country: "New Zealand", coords: [ 174.7762,-41.2865],    region: "Oceania" },
  { name: "Canberra",      zh: "堪培拉",   country: "Australia",   coords: [ 149.1300,-35.2809],    region: "Oceania" },
  { name: "Adelaide",      zh: "阿德莱德", country: "Australia",   coords: [ 138.6007,-34.9285],    region: "Oceania" },
  { name: "Gold Coast",    zh: "黄金海岸", country: "Australia",   coords: [ 153.4000,-28.0167],    region: "Oceania" },

  // South America
  { name: "Curitiba",      zh: "库里蒂巴", country: "Brazil",      coords: [ -49.2733,-25.4284],    region: "South America" },
  { name: "Porto Alegre",  zh: "阿雷格里港", country: "Brazil",    coords: [ -51.2300,-30.0346],    region: "South America" },
  { name: "Belo Horizonte",zh: "美景市",   country: "Brazil",      coords: [ -43.9378,-19.9167],    region: "South America" },
  { name: "Cali",          zh: "卡利",     country: "Colombia",    coords: [ -76.5320,  3.4516],    region: "South America" },
  { name: "São Paulo",     zh: "圣保罗",   country: "Brazil",      coords: [ -46.6333,-23.5505],    region: "South America" },
  { name: "Buenos Aires",  zh: "布宜诺斯艾利斯", country: "Argentina", coords: [ -58.3816,-34.6037], region: "South America" },
  { name: "Santiago",      zh: "圣地亚哥(智利)", country: "Chile",  coords: [ -70.6693,-33.4489],    region: "South America" },
  { name: "Bogotá",        zh: "波哥大",   country: "Colombia",    coords: [ -74.0721,  4.7110],    region: "South America" },
  { name: "Lima",          zh: "利马",     country: "Peru",        coords: [ -77.0428,-12.0464],    region: "South America" },
  { name: "Rio de Janeiro",zh: "里约热内卢", country: "Brazil",    coords: [ -43.1729,-22.9068],    region: "South America" },
  { name: "Medellín",      zh: "麦德林",   country: "Colombia",    coords: [ -75.5636,  6.2442],    region: "South America" },
  { name: "Quito",         zh: "基多",     country: "Ecuador",     coords: [ -78.4678, -0.1807],    region: "South America" },
  { name: "Montevideo",    zh: "蒙得维的亚", country: "Uruguay",   coords: [ -56.1645,-34.9011],    region: "South America" },
  { name: "Brasília",      zh: "巴西利亚", country: "Brazil",      coords: [ -47.8825,-15.7942],    region: "South America" },

  // Africa
  { name: "Alexandria",    zh: "亚历山大", country: "Egypt",       coords: [  29.9187, 31.2001],    region: "Africa" },
  { name: "Abuja",         zh: "阿布贾",   country: "Nigeria",     coords: [   7.3986,  9.0765],    region: "Africa" },
  { name: "Pretoria",      zh: "比勒陀利亚", country: "South Africa", coords: [ 28.1879,-25.7479],  region: "Africa" },
  { name: "Marrakesh",     zh: "马拉喀什", country: "Morocco",     coords: [  -7.9811, 31.6295],    region: "Africa" },
  { name: "Dar es Salaam", zh: "达累斯萨拉姆", country: "Tanzania",coords: [  39.2083, -6.7924],    region: "Africa" },
  { name: "Kampala",       zh: "坎帕拉",   country: "Uganda",      coords: [  32.5825,  0.3476],    region: "Africa" },
  { name: "Dakar",         zh: "达喀尔",   country: "Senegal",     coords: [ -17.4677, 14.7167],    region: "Africa" },
  { name: "Cairo",         zh: "开罗",     country: "Egypt",       coords: [  31.2357, 30.0444],    region: "Africa" },
  { name: "Lagos",         zh: "拉各斯",   country: "Nigeria",     coords: [   3.3792,  6.5244],    region: "Africa" },
  { name: "Nairobi",       zh: "内罗毕",   country: "Kenya",       coords: [  36.8219, -1.2921],    region: "Africa" },
  { name: "Johannesburg",  zh: "约翰内斯堡", country: "South Africa", coords: [ 28.0473,-26.2041],  region: "Africa" },
  { name: "Cape Town",     zh: "开普敦",   country: "South Africa",coords: [  18.4241,-33.9249],    region: "Africa" },
  { name: "Accra",         zh: "阿克拉",   country: "Ghana",       coords: [  -0.1870,  5.6037],    region: "Africa" },
  { name: "Casablanca",    zh: "卡萨布兰卡", country: "Morocco",   coords: [  -7.5898, 33.5731],    region: "Africa" },
  { name: "Addis Ababa",   zh: "亚的斯亚贝巴", country: "Ethiopia",coords: [  38.7469,  9.0320],    region: "Africa" },
  { name: "Tunis",         zh: "突尼斯",   country: "Tunisia",     coords: [  10.1815, 36.8065],    region: "Africa" },
];

const REGIONS = ["North America", "Europe", "Asia", "Oceania", "South America", "Africa"];

const PATH_TYPES = [
  { id: "Industry",   en: "Industry",   zh: "工业界",   glyph: "▲" },
  { id: "Grad School",en: "Grad School",zh: "研究生院", glyph: "✦" },
  { id: "Startup",    en: "Startup",    zh: "创业",     glyph: "◆" },
  { id: "Gap Year",   en: "Gap Year",   zh: "间隔年",   glyph: "○" },
];

// ============================================================
// SAMPLE DISTRIBUTION — 示例数据（非真实个人）
// 在真实提交进来之前，让地图每个城市都有内容。
// 每个城市配一组该城市真实存在的代表性雇主/院校，程序化生成 2–5 条
// 示例路径。全部匿名、无联系方式、标注 isDemo（前端显示 "Preview · no contact data"）。
// 这些不是真实校友，只是占位示意；真实数据请填到下方 COMMUNITY_SEED。
// ============================================================
const CITY_EMPLOYERS = {
  "Seattle":       ["Amazon", "Microsoft", "Boeing", "Starbucks", "T-Mobile", "Zillow", "Expedia"],
  "Bay Area":      ["Google", "Apple", "Meta", "Nvidia", "Stripe", "Airbnb", "Salesforce", "Uber"],
  "New York":      ["Goldman Sachs", "JPMorgan", "Bloomberg", "Jane Street", "Two Sigma", "Citadel"],
  "Boston":        ["MIT", "Harvard", "Wayfair", "HubSpot", "Biogen", "Moderna"],
  "Austin":        ["Tesla", "Dell", "IBM", "Indeed", "Oracle"],
  "Chicago":       ["McKinsey", "Citadel", "Morningstar", "Abbott", "Boeing"],
  "Los Angeles":   ["Disney", "Netflix", "Snap", "SpaceX", "Riot Games"],
  "Atlanta":       ["CDC", "Delta", "Coca-Cola", "Home Depot", "NCR"],
  "San Diego":     ["Qualcomm", "Illumina", "ASML", "Sony"],
  "Denver":        ["Palantir", "Lockheed Martin", "Google", "Gusto"],
  "Portland":      ["Nike", "Intel", "Salesforce", "Puppet"],
  "Washington DC": ["Capital One", "World Bank", "Booz Allen", "Amazon"],
  "Pittsburgh":    ["Carnegie Mellon", "Duolingo", "Google", "Aurora"],
  "Philadelphia":  ["Comcast", "University of Pennsylvania", "Vanguard"],
  "Houston":       ["ExxonMobil", "NASA", "Chevron", "Schlumberger"],
  "Toronto":       ["Shopify", "RBC", "Google", "TD Bank"],
  "Vancouver":     ["Electronic Arts", "Amazon", "Microsoft", "Hootsuite"],
  "Waterloo":      ["Google", "Shopify", "OpenText", "University of Waterloo"],
  "Calgary":       ["Shell", "Suncor", "Benevity"],
  "Montreal":      ["Ubisoft", "Shopify", "McGill University"],
  "Mexico City":   ["BBVA", "Google", "Nubank"],
  "London":        ["Google", "DeepMind", "Goldman Sachs", "Revolut", "Bloomberg"],
  "Paris":         ["Sorbonne University", "L'Oréal", "Criteo", "Dataiku"],
  "Berlin":        ["SoundCloud", "Zalando", "N26", "Delivery Hero"],
  "Munich":        ["BMW", "Siemens", "Allianz", "Google"],
  "Zurich":        ["Google", "ETH Zürich", "UBS"],
  "Amsterdam":     ["Booking.com", "Adyen", "ING", "Uber"],
  "Madrid":        ["Telefónica", "BBVA", "Google"],
  "Stockholm":     ["Spotify", "Klarna", "IKEA", "King"],
  "Dublin":        ["Google", "Meta", "Stripe", "Accenture"],
  "Copenhagen":    ["Maersk", "Novo Nordisk", "Unity"],
  "Tokyo":         ["Sony", "Toyota", "Rakuten", "Google", "Mercari"],
  "Osaka":         ["Panasonic", "Sharp", "Nintendo"],
  "Singapore":     ["DBS Bank", "Grab", "Sea", "Shopee", "ByteDance"],
  "Seoul":         ["Samsung", "LG", "Naver", "Kakao", "Coupang"],
  "Beijing":       ["ByteDance", "Baidu", "Tencent", "Tsinghua University", "Meituan"],
  "Shanghai":      ["Alibaba", "McKinsey", "Tesla", "PwC"],
  "Shenzhen":      ["Tencent", "Huawei", "DJI", "BYD"],
  "Guangzhou":     ["Tencent", "NetEase", "XPeng"],
  "Hangzhou":      ["Alibaba", "NetEase", "Ant Group"],
  "Chengdu":       ["Tencent", "Boeing", "Volvo"],
  "Hong Kong":     ["HSBC", "Morgan Stanley", "Goldman Sachs", "Jane Street"],
  "Taipei":        ["TSMC", "MediaTek", "ASUS", "Foxconn"],
  "Bangalore":     ["Google", "Microsoft", "Flipkart", "Infosys"],
  "Mumbai":        ["Morgan Stanley", "TCS", "Reliance"],
  "Bangkok":       ["Agoda", "LINE", "SCB"],
  "Tel Aviv":      ["Wix", "Monday.com", "Check Point", "Intel"],
  "Dubai":         ["Emirates", "Careem", "Noon"],
  "Sydney":        ["Atlassian", "Canva", "Google", "Macquarie"],
  "Melbourne":     ["Google", "Culture Amp", "REA Group"],
  "São Paulo":     ["Nubank", "iFood", "Embraer", "Itaú"],
};

const SAMPLE_MAJORS = [
  "Computer Science", "HCDE", "Informatics", "Electrical Engineering",
  "Data Science", "Mechanical Engineering", "Bioengineering", "Business",
  "Economics", "Design", "Communications", "Mathematics", "Statistics",
  "Aero & Astro", "Materials Science", "Industrial Engineering",
];
const SAMPLE_YEARS = ["2023", "2024", "2024", "2025", "2025", "2026"];
// 含这些关键词的机构视为升学（Grad School）
const SCHOOL_RE = /University|Institute|College|MIT|Harvard|Stanford|Oxford|ETH|Sorbonne|Tsinghua|Carnegie|Hopkins|McGill|Waterloo/i;

// 去向集中度权重 —— 参考 UW Career & Internship Center 公开就业概况
// (careers.uw.edu/outcomes，Class of 2024 正向结果率 85%)：多数毕业生留在
// 华盛顿州，其余集中在西海岸与主要科技/金融城市。用于让示例分布贴近真实，
// 而非每个城市数量均等。未列出的城市默认权重 1。
const CITY_WEIGHT = {
  "Seattle": 6, "Bay Area": 4, "Los Angeles": 3, "New York": 3,
  "Portland": 2, "Vancouver": 2, "San Diego": 2, "Boston": 2,
  "Austin": 2, "Chicago": 2, "Toronto": 2,
};

// 示例分布:真实数据填满前让各大洲都有内容。北美保持很轻(真实数据集中在此);
// 亚洲/中国/欧洲偏多。值 = 该城市生成的示例条数。只选 CITY_EMPLOYERS 里有
// 真实代表雇主的城市,保证示例机构可信。全部匿名、标 isDemo、无联系方式。
const SAMPLE_CITIES = {
  // North America(轻 — 真实数据在此)
  "Bay Area": 1, "Los Angeles": 1, "Austin": 1, "Chicago": 1,
  "San Diego": 1, "Toronto": 1, "Vancouver": 1,
  // Asia / China(偏多)
  "Beijing": 2, "Shanghai": 2, "Shenzhen": 2, "Hong Kong": 2,
  "Guangzhou": 1, "Hangzhou": 1, "Chengdu": 1, "Taipei": 1,
  "Tokyo": 2, "Osaka": 1, "Singapore": 2, "Seoul": 2,
  "Bangalore": 1, "Mumbai": 1, "Bangkok": 1, "Dubai": 1, "Tel Aviv": 1,
  // Europe(偏多)
  "London": 2, "Paris": 1, "Berlin": 1, "Munich": 1, "Zurich": 1,
  "Amsterdam": 1, "Madrid": 1, "Stockholm": 1, "Dublin": 1, "Copenhagen": 1,
  // Oceania / South America(少量)
  "Sydney": 1, "Melbourne": 1, "São Paulo": 1,
};

// 确定性随机（同一城市每次生成相同结果，刷新不跳变）
const hashStr = (s) => {
  let h = 2166136261;
  for (let i = 0; i < s.length; i++) { h ^= s.charCodeAt(i); h = Math.imul(h, 16777619); }
  return h >>> 0;
};
const mulberry32 = (a) => () => {
  a |= 0; a = (a + 0x6D2B79F5) | 0;
  let t = Math.imul(a ^ (a >>> 15), 1 | a);
  t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;
  return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
};

function generateCitySamples() {
  const out = [];
  let n = 0;
  for (const city of CITIES) {
    // 按 SAMPLE_CITIES 指定的条数生成示例,让各大洲(亚洲/中国/欧洲偏多)都有内容;
    // 未列出的城市不放示例,等真实校友填入。
    const count = SAMPLE_CITIES[city.name];
    if (!count) continue;
    const emps = CITY_EMPLOYERS[city.name] || ["A startup"];
    const rng = mulberry32(hashStr(city.name));
    const used = {};
    for (let i = 0; i < count; i++) {
      let org = emps[Math.floor(rng() * emps.length)];
      let guard = 0;
      while (used[org] && guard < emps.length) { org = emps[Math.floor(rng() * emps.length)]; guard++; }
      used[org] = true;
      const major = SAMPLE_MAJORS[Math.floor(rng() * SAMPLE_MAJORS.length)];
      const year = SAMPLE_YEARS[Math.floor(rng() * SAMPLE_YEARS.length)];
      const pathType = SCHOOL_RE.test(org) ? "Grad School" : (rng() < 0.18 ? "Startup" : "Industry");
      out.push({
        id: `sample-${++n}`,
        name: "Anonymous",
        email: "", linkedin: "", wechat: "", instagram: "",
        major, year, pathType, orgName: org, city: city.name,
        openToConnect: false,
        note: "",
        isDemo: true,
      });
    }
  }
  return out;
}

const demoProfiles = generateCitySamples();

// ============================================================
// COMMUNITY SEED — 社区整理的真实去向（公开信息）
// ============================================================
// 规则：只记录去向（专业/毕业年/路径/公司或学校/城市）；不放联系方式；
// name 默认留空（匿名）；city 必须是上面 CITIES 里的名字。
// 一旦这里有数据，前端会优先用真实数据，不再显示上面的示例分布。
//
// 示例：
//   { major:"Computer Science", year:"2024", pathType:"Industry", orgName:"Microsoft", city:"Seattle" },
const COMMUNITY_SEED = [
  // ← 审核通过的校友去向(只记录去向,不放联系方式)
  { name: "Yuhua Nie", major: "Electrical & Computer Engineering", year: "2025", pathType: "Industry", orgName: "Meta", city: "Seattle" },
  { name: "Elyse Jiang", major: "Architecture", roleDetail: "M.Arch", year: "2024", pathType: "Grad School", orgName: "University of Pennsylvania", city: "Philadelphia" },
  { name: "Han", major: "Informatics", year: "2022", pathType: "Industry", orgName: "Meituan", city: "Beijing", openToConnect: true, linkedin: "linkedin.com/in/han-z-8b058217a" },
];

const seedToProfile = (entry, i) => ({
  id: `seed-${i + 1}`,
  name: entry.name ? entry.name.trim() : "Anonymous",
  major: entry.major || "",
  year: String(entry.year || ""),
  pathType: entry.pathType || "Industry",
  orgName: entry.orgName || "",
  roleDetail: entry.roleDetail || "",
  city: entry.city || "",
  // 审核通过且本人愿意公开联系方式的,可在 entry 里带上(否则默认仅去向)
  email: entry.email || "",
  linkedin: entry.linkedin || "",
  wechat: entry.wechat || "",
  instagram: entry.instagram || "",
  openToConnect: !!entry.openToConnect,
  note: entry.note || "",
  isCommunity: true,
});

const communityProfiles = COMMUNITY_SEED.map(seedToProfile);

// 有真实社区数据就用真实的；否则用示例分布（每个城市都有内容）
// 社区整理的真实去向 + 示例分布并存(真实数据优先展示,示例填满世界地图)
const PROFILES = [...communityProfiles, ...demoProfiles];

// Helper: city -> profile array
function profilesByCity(profiles) {
  const m = {};
  for (const p of profiles) {
    if (!m[p.city]) m[p.city] = [];
    m[p.city].push(p);
  }
  return m;
}

Object.assign(window, {
  SEATTLE_COORDS, CITIES, REGIONS, PATH_TYPES, PROFILES, profilesByCity, t, hpDefaultLang
});
