// subdivisions.jsx — Curated state/province/region lookups by ISO-2 country code.
//
// Mirrors what would come from ref.territory_subdivisions once that table is
// seeded. Each entry is { code, name } where `code` is the ISO 3166-2 trailing
// part (no country prefix) — i.e. what fits in contact_entries.subdivision /
// the legacy free-text `state` column.
//
// Only countries with well-defined first-level admin divisions are listed.
// Everything else falls back to a free-text input.
//
// Loaded BEFORE contact-info.jsx so getSubdivisions() is available.

(function () {

const SUBDIVISIONS = {
  US: [
    { code: 'AL', name: 'Alabama' },         { code: 'AK', name: 'Alaska' },
    { code: 'AZ', name: 'Arizona' },         { code: 'AR', name: 'Arkansas' },
    { code: 'CA', name: 'California' },      { code: 'CO', name: 'Colorado' },
    { code: 'CT', name: 'Connecticut' },     { code: 'DE', name: 'Delaware' },
    { code: 'DC', name: 'District of Columbia' },
    { code: 'FL', name: 'Florida' },         { code: 'GA', name: 'Georgia' },
    { code: 'HI', name: 'Hawaii' },          { code: 'ID', name: 'Idaho' },
    { code: 'IL', name: 'Illinois' },        { code: 'IN', name: 'Indiana' },
    { code: 'IA', name: 'Iowa' },            { code: 'KS', name: 'Kansas' },
    { code: 'KY', name: 'Kentucky' },        { code: 'LA', name: 'Louisiana' },
    { code: 'ME', name: 'Maine' },           { code: 'MD', name: 'Maryland' },
    { code: 'MA', name: 'Massachusetts' },   { code: 'MI', name: 'Michigan' },
    { code: 'MN', name: 'Minnesota' },       { code: 'MS', name: 'Mississippi' },
    { code: 'MO', name: 'Missouri' },        { code: 'MT', name: 'Montana' },
    { code: 'NE', name: 'Nebraska' },        { code: 'NV', name: 'Nevada' },
    { code: 'NH', name: 'New Hampshire' },   { code: 'NJ', name: 'New Jersey' },
    { code: 'NM', name: 'New Mexico' },      { code: 'NY', name: 'New York' },
    { code: 'NC', name: 'North Carolina' },  { code: 'ND', name: 'North Dakota' },
    { code: 'OH', name: 'Ohio' },            { code: 'OK', name: 'Oklahoma' },
    { code: 'OR', name: 'Oregon' },          { code: 'PA', name: 'Pennsylvania' },
    { code: 'RI', name: 'Rhode Island' },    { code: 'SC', name: 'South Carolina' },
    { code: 'SD', name: 'South Dakota' },    { code: 'TN', name: 'Tennessee' },
    { code: 'TX', name: 'Texas' },           { code: 'UT', name: 'Utah' },
    { code: 'VT', name: 'Vermont' },         { code: 'VA', name: 'Virginia' },
    { code: 'WA', name: 'Washington' },      { code: 'WV', name: 'West Virginia' },
    { code: 'WI', name: 'Wisconsin' },       { code: 'WY', name: 'Wyoming' },
    // Territories
    { code: 'AS', name: 'American Samoa' },  { code: 'GU', name: 'Guam' },
    { code: 'MP', name: 'Northern Mariana Islands' },
    { code: 'PR', name: 'Puerto Rico' },     { code: 'VI', name: 'U.S. Virgin Islands' },
  ],
  CA: [
    { code: 'AB', name: 'Alberta' },
    { code: 'BC', name: 'British Columbia' },
    { code: 'MB', name: 'Manitoba' },
    { code: 'NB', name: 'New Brunswick' },
    { code: 'NL', name: 'Newfoundland and Labrador' },
    { code: 'NT', name: 'Northwest Territories' },
    { code: 'NS', name: 'Nova Scotia' },
    { code: 'NU', name: 'Nunavut' },
    { code: 'ON', name: 'Ontario' },
    { code: 'PE', name: 'Prince Edward Island' },
    { code: 'QC', name: 'Quebec' },
    { code: 'SK', name: 'Saskatchewan' },
    { code: 'YT', name: 'Yukon' },
  ],
  MX: [
    { code: 'AGU', name: 'Aguascalientes' },     { code: 'BCN', name: 'Baja California' },
    { code: 'BCS', name: 'Baja California Sur' },{ code: 'CAM', name: 'Campeche' },
    { code: 'CHP', name: 'Chiapas' },            { code: 'CHH', name: 'Chihuahua' },
    { code: 'CMX', name: 'Ciudad de México' },   { code: 'COA', name: 'Coahuila' },
    { code: 'COL', name: 'Colima' },             { code: 'DUR', name: 'Durango' },
    { code: 'GUA', name: 'Guanajuato' },         { code: 'GRO', name: 'Guerrero' },
    { code: 'HID', name: 'Hidalgo' },            { code: 'JAL', name: 'Jalisco' },
    { code: 'MEX', name: 'México (State)' },     { code: 'MIC', name: 'Michoacán' },
    { code: 'MOR', name: 'Morelos' },            { code: 'NAY', name: 'Nayarit' },
    { code: 'NLE', name: 'Nuevo León' },         { code: 'OAX', name: 'Oaxaca' },
    { code: 'PUE', name: 'Puebla' },             { code: 'QUE', name: 'Querétaro' },
    { code: 'ROO', name: 'Quintana Roo' },       { code: 'SLP', name: 'San Luis Potosí' },
    { code: 'SIN', name: 'Sinaloa' },            { code: 'SON', name: 'Sonora' },
    { code: 'TAB', name: 'Tabasco' },            { code: 'TAM', name: 'Tamaulipas' },
    { code: 'TLA', name: 'Tlaxcala' },           { code: 'VER', name: 'Veracruz' },
    { code: 'YUC', name: 'Yucatán' },            { code: 'ZAC', name: 'Zacatecas' },
  ],
  AU: [
    { code: 'ACT', name: 'Australian Capital Territory' },
    { code: 'NSW', name: 'New South Wales' },
    { code: 'NT',  name: 'Northern Territory' },
    { code: 'QLD', name: 'Queensland' },
    { code: 'SA',  name: 'South Australia' },
    { code: 'TAS', name: 'Tasmania' },
    { code: 'VIC', name: 'Victoria' },
    { code: 'WA',  name: 'Western Australia' },
  ],
  GB: [
    { code: 'ENG', name: 'England' },
    { code: 'SCT', name: 'Scotland' },
    { code: 'WLS', name: 'Wales' },
    { code: 'NIR', name: 'Northern Ireland' },
  ],
  BR: [
    { code: 'AC', name: 'Acre' },              { code: 'AL', name: 'Alagoas' },
    { code: 'AP', name: 'Amapá' },             { code: 'AM', name: 'Amazonas' },
    { code: 'BA', name: 'Bahia' },             { code: 'CE', name: 'Ceará' },
    { code: 'DF', name: 'Distrito Federal' },  { code: 'ES', name: 'Espírito Santo' },
    { code: 'GO', name: 'Goiás' },             { code: 'MA', name: 'Maranhão' },
    { code: 'MT', name: 'Mato Grosso' },       { code: 'MS', name: 'Mato Grosso do Sul' },
    { code: 'MG', name: 'Minas Gerais' },      { code: 'PA', name: 'Pará' },
    { code: 'PB', name: 'Paraíba' },           { code: 'PR', name: 'Paraná' },
    { code: 'PE', name: 'Pernambuco' },        { code: 'PI', name: 'Piauí' },
    { code: 'RJ', name: 'Rio de Janeiro' },    { code: 'RN', name: 'Rio Grande do Norte' },
    { code: 'RS', name: 'Rio Grande do Sul' }, { code: 'RO', name: 'Rondônia' },
    { code: 'RR', name: 'Roraima' },           { code: 'SC', name: 'Santa Catarina' },
    { code: 'SP', name: 'São Paulo' },         { code: 'SE', name: 'Sergipe' },
    { code: 'TO', name: 'Tocantins' },
  ],
  IN: [
    { code: 'AN', name: 'Andaman and Nicobar Islands' },
    { code: 'AP', name: 'Andhra Pradesh' },     { code: 'AR', name: 'Arunachal Pradesh' },
    { code: 'AS', name: 'Assam' },              { code: 'BR', name: 'Bihar' },
    { code: 'CH', name: 'Chandigarh' },         { code: 'CT', name: 'Chhattisgarh' },
    { code: 'DH', name: 'Dadra & Nagar Haveli and Daman & Diu' },
    { code: 'DL', name: 'Delhi' },              { code: 'GA', name: 'Goa' },
    { code: 'GJ', name: 'Gujarat' },            { code: 'HR', name: 'Haryana' },
    { code: 'HP', name: 'Himachal Pradesh' },   { code: 'JK', name: 'Jammu and Kashmir' },
    { code: 'JH', name: 'Jharkhand' },          { code: 'KA', name: 'Karnataka' },
    { code: 'KL', name: 'Kerala' },             { code: 'LA', name: 'Ladakh' },
    { code: 'LD', name: 'Lakshadweep' },        { code: 'MP', name: 'Madhya Pradesh' },
    { code: 'MH', name: 'Maharashtra' },        { code: 'MN', name: 'Manipur' },
    { code: 'ML', name: 'Meghalaya' },          { code: 'MZ', name: 'Mizoram' },
    { code: 'NL', name: 'Nagaland' },           { code: 'OR', name: 'Odisha' },
    { code: 'PY', name: 'Puducherry' },         { code: 'PB', name: 'Punjab' },
    { code: 'RJ', name: 'Rajasthan' },          { code: 'SK', name: 'Sikkim' },
    { code: 'TN', name: 'Tamil Nadu' },         { code: 'TG', name: 'Telangana' },
    { code: 'TR', name: 'Tripura' },            { code: 'UP', name: 'Uttar Pradesh' },
    { code: 'UT', name: 'Uttarakhand' },        { code: 'WB', name: 'West Bengal' },
  ],
  DE: [
    { code: 'BW', name: 'Baden-Württemberg' },  { code: 'BY', name: 'Bavaria' },
    { code: 'BE', name: 'Berlin' },             { code: 'BB', name: 'Brandenburg' },
    { code: 'HB', name: 'Bremen' },             { code: 'HH', name: 'Hamburg' },
    { code: 'HE', name: 'Hesse' },              { code: 'MV', name: 'Mecklenburg-Vorpommern' },
    { code: 'NI', name: 'Lower Saxony' },       { code: 'NW', name: 'North Rhine-Westphalia' },
    { code: 'RP', name: 'Rhineland-Palatinate' },
    { code: 'SL', name: 'Saarland' },           { code: 'SN', name: 'Saxony' },
    { code: 'ST', name: 'Saxony-Anhalt' },      { code: 'SH', name: 'Schleswig-Holstein' },
    { code: 'TH', name: 'Thuringia' },
  ],
  FR: [
    { code: 'ARA', name: 'Auvergne-Rhône-Alpes' }, { code: 'BFC', name: 'Bourgogne-Franche-Comté' },
    { code: 'BRE', name: 'Bretagne' },             { code: 'CVL', name: 'Centre-Val de Loire' },
    { code: 'COR', name: 'Corse' },                { code: 'GES', name: 'Grand Est' },
    { code: 'HDF', name: 'Hauts-de-France' },      { code: 'IDF', name: 'Île-de-France' },
    { code: 'NOR', name: 'Normandie' },            { code: 'NAQ', name: 'Nouvelle-Aquitaine' },
    { code: 'OCC', name: 'Occitanie' },            { code: 'PDL', name: 'Pays de la Loire' },
    { code: 'PAC', name: "Provence-Alpes-Côte d'Azur" },
    // DOM-TOM
    { code: 'GP',  name: 'Guadeloupe' },           { code: 'MQ',  name: 'Martinique' },
    { code: 'GF',  name: 'Guyane' },               { code: 'RE',  name: 'La Réunion' },
    { code: 'YT',  name: 'Mayotte' },
  ],
  IT: [
    { code: '65', name: 'Abruzzo' },          { code: '77', name: 'Basilicata' },
    { code: '78', name: 'Calabria' },         { code: '72', name: 'Campania' },
    { code: '45', name: 'Emilia-Romagna' },   { code: '36', name: 'Friuli-Venezia Giulia' },
    { code: '62', name: 'Lazio' },            { code: '42', name: 'Liguria' },
    { code: '25', name: 'Lombardia' },        { code: '57', name: 'Marche' },
    { code: '67', name: 'Molise' },           { code: '21', name: 'Piemonte' },
    { code: '75', name: 'Puglia' },           { code: '88', name: 'Sardegna' },
    { code: '82', name: 'Sicilia' },          { code: '52', name: 'Toscana' },
    { code: '32', name: 'Trentino-Alto Adige' },
    { code: '55', name: 'Umbria' },           { code: '23', name: "Valle d'Aosta" },
    { code: '34', name: 'Veneto' },
  ],
  ES: [
    { code: 'AN', name: 'Andalucía' },        { code: 'AR', name: 'Aragón' },
    { code: 'AS', name: 'Asturias' },         { code: 'CN', name: 'Canarias' },
    { code: 'CB', name: 'Cantabria' },        { code: 'CL', name: 'Castilla y León' },
    { code: 'CM', name: 'Castilla-La Mancha' },
    { code: 'CT', name: 'Cataluña' },         { code: 'CE', name: 'Ceuta' },
    { code: 'EX', name: 'Extremadura' },      { code: 'GA', name: 'Galicia' },
    { code: 'IB', name: 'Islas Baleares' },   { code: 'RI', name: 'La Rioja' },
    { code: 'MD', name: 'Madrid' },           { code: 'ML', name: 'Melilla' },
    { code: 'MC', name: 'Murcia' },           { code: 'NC', name: 'Navarra' },
    { code: 'PV', name: 'País Vasco' },       { code: 'VC', name: 'Comunidad Valenciana' },
  ],
  JP: [
    { code: '01', name: 'Hokkaidō' },         { code: '02', name: 'Aomori' },
    { code: '03', name: 'Iwate' },            { code: '04', name: 'Miyagi' },
    { code: '05', name: 'Akita' },            { code: '06', name: 'Yamagata' },
    { code: '07', name: 'Fukushima' },        { code: '08', name: 'Ibaraki' },
    { code: '09', name: 'Tochigi' },          { code: '10', name: 'Gunma' },
    { code: '11', name: 'Saitama' },          { code: '12', name: 'Chiba' },
    { code: '13', name: 'Tōkyō' },            { code: '14', name: 'Kanagawa' },
    { code: '15', name: 'Niigata' },          { code: '16', name: 'Toyama' },
    { code: '17', name: 'Ishikawa' },         { code: '18', name: 'Fukui' },
    { code: '19', name: 'Yamanashi' },        { code: '20', name: 'Nagano' },
    { code: '21', name: 'Gifu' },             { code: '22', name: 'Shizuoka' },
    { code: '23', name: 'Aichi' },            { code: '24', name: 'Mie' },
    { code: '25', name: 'Shiga' },            { code: '26', name: 'Kyōto' },
    { code: '27', name: 'Ōsaka' },            { code: '28', name: 'Hyōgo' },
    { code: '29', name: 'Nara' },             { code: '30', name: 'Wakayama' },
    { code: '31', name: 'Tottori' },          { code: '32', name: 'Shimane' },
    { code: '33', name: 'Okayama' },          { code: '34', name: 'Hiroshima' },
    { code: '35', name: 'Yamaguchi' },        { code: '36', name: 'Tokushima' },
    { code: '37', name: 'Kagawa' },           { code: '38', name: 'Ehime' },
    { code: '39', name: 'Kōchi' },            { code: '40', name: 'Fukuoka' },
    { code: '41', name: 'Saga' },             { code: '42', name: 'Nagasaki' },
    { code: '43', name: 'Kumamoto' },         { code: '44', name: 'Ōita' },
    { code: '45', name: 'Miyazaki' },         { code: '46', name: 'Kagoshima' },
    { code: '47', name: 'Okinawa' },
  ],
  KR: [
    { code: '11', name: 'Seoul' },             { code: '26', name: 'Busan' },
    { code: '27', name: 'Daegu' },             { code: '28', name: 'Incheon' },
    { code: '29', name: 'Gwangju' },           { code: '30', name: 'Daejeon' },
    { code: '31', name: 'Ulsan' },             { code: '50', name: 'Sejong' },
    { code: '41', name: 'Gyeonggi' },          { code: '42', name: 'Gangwon' },
    { code: '43', name: 'North Chungcheong' }, { code: '44', name: 'South Chungcheong' },
    { code: '45', name: 'North Jeolla' },      { code: '46', name: 'South Jeolla' },
    { code: '47', name: 'North Gyeongsang' },  { code: '48', name: 'South Gyeongsang' },
    { code: '49', name: 'Jeju' },
  ],
  CN: [
    { code: 'BJ', name: 'Beijing' },          { code: 'TJ', name: 'Tianjin' },
    { code: 'HE', name: 'Hebei' },            { code: 'SX', name: 'Shanxi' },
    { code: 'NM', name: 'Inner Mongolia' },   { code: 'LN', name: 'Liaoning' },
    { code: 'JL', name: 'Jilin' },            { code: 'HL', name: 'Heilongjiang' },
    { code: 'SH', name: 'Shanghai' },         { code: 'JS', name: 'Jiangsu' },
    { code: 'ZJ', name: 'Zhejiang' },         { code: 'AH', name: 'Anhui' },
    { code: 'FJ', name: 'Fujian' },           { code: 'JX', name: 'Jiangxi' },
    { code: 'SD', name: 'Shandong' },         { code: 'HA', name: 'Henan' },
    { code: 'HB', name: 'Hubei' },            { code: 'HN', name: 'Hunan' },
    { code: 'GD', name: 'Guangdong' },        { code: 'GX', name: 'Guangxi' },
    { code: 'HI', name: 'Hainan' },           { code: 'CQ', name: 'Chongqing' },
    { code: 'SC', name: 'Sichuan' },          { code: 'GZ', name: 'Guizhou' },
    { code: 'YN', name: 'Yunnan' },           { code: 'XZ', name: 'Tibet' },
    { code: 'SN', name: 'Shaanxi' },          { code: 'GS', name: 'Gansu' },
    { code: 'QH', name: 'Qinghai' },          { code: 'NX', name: 'Ningxia' },
    { code: 'XJ', name: 'Xinjiang' },         { code: 'TW', name: 'Taiwan' },
    { code: 'HK', name: 'Hong Kong' },        { code: 'MO', name: 'Macao' },
  ],
  AR: [
    { code: 'C', name: 'Ciudad Autónoma de Buenos Aires' },
    { code: 'B', name: 'Buenos Aires' },     { code: 'K', name: 'Catamarca' },
    { code: 'H', name: 'Chaco' },            { code: 'U', name: 'Chubut' },
    { code: 'X', name: 'Córdoba' },          { code: 'W', name: 'Corrientes' },
    { code: 'E', name: 'Entre Ríos' },       { code: 'P', name: 'Formosa' },
    { code: 'Y', name: 'Jujuy' },            { code: 'L', name: 'La Pampa' },
    { code: 'F', name: 'La Rioja' },         { code: 'M', name: 'Mendoza' },
    { code: 'N', name: 'Misiones' },         { code: 'Q', name: 'Neuquén' },
    { code: 'R', name: 'Río Negro' },        { code: 'A', name: 'Salta' },
    { code: 'J', name: 'San Juan' },         { code: 'D', name: 'San Luis' },
    { code: 'Z', name: 'Santa Cruz' },       { code: 'S', name: 'Santa Fe' },
    { code: 'G', name: 'Santiago del Estero' },
    { code: 'V', name: 'Tierra del Fuego' }, { code: 'T', name: 'Tucumán' },
  ],
  // PR is also represented under US (territories) — so handle it both ways:
  // when country=PR, show its 78 municipalities? overkill — just fall back to free text.
};

// ── Additional countries (round 2) ─────────────────────────────────────────
// Added because users expect dropdowns for these markets too.

SUBDIVISIONS.PR = [
  // Puerto Rico's 78 municipalities, ordered alphabetically.
  'Adjuntas','Aguada','Aguadilla','Aguas Buenas','Aibonito','Añasco','Arecibo',
  'Arroyo','Barceloneta','Barranquitas','Bayamón','Cabo Rojo','Caguas','Camuy',
  'Canóvanas','Carolina','Cataño','Cayey','Ceiba','Ciales','Cidra','Coamo',
  'Comerío','Corozal','Culebra','Dorado','Fajardo','Florida','Guánica','Guayama',
  'Guayanilla','Guaynabo','Gurabo','Hatillo','Hormigueros','Humacao','Isabela',
  'Jayuya','Juana Díaz','Juncos','Lajas','Lares','Las Marías','Las Piedras',
  'Loíza','Luquillo','Manatí','Maricao','Maunabo','Mayagüez','Moca','Morovis',
  'Naguabo','Naranjito','Orocovis','Patillas','Peñuelas','Ponce','Quebradillas',
  'Rincón','Río Grande','Sabana Grande','Salinas','San Germán','San Juan',
  'San Lorenzo','San Sebastián','Santa Isabel','Toa Alta','Toa Baja',
  'Trujillo Alto','Utuado','Vega Alta','Vega Baja','Vieques','Villalba',
  'Yabucoa','Yauco',
].map(name => ({ code: name.toUpperCase().replace(/\s+/g,'_').replace(/[^A-Z_]/g,''), name }));

SUBDIVISIONS.NL = [
  { code: 'DR', name: 'Drenthe' },          { code: 'FL', name: 'Flevoland' },
  { code: 'FR', name: 'Friesland' },        { code: 'GE', name: 'Gelderland' },
  { code: 'GR', name: 'Groningen' },        { code: 'LI', name: 'Limburg' },
  { code: 'NB', name: 'Noord-Brabant' },    { code: 'NH', name: 'Noord-Holland' },
  { code: 'OV', name: 'Overijssel' },       { code: 'UT', name: 'Utrecht' },
  { code: 'ZE', name: 'Zeeland' },          { code: 'ZH', name: 'Zuid-Holland' },
  // Caribbean Netherlands
  { code: 'BQ1', name: 'Bonaire' },         { code: 'BQ2', name: 'Saba' },
  { code: 'BQ3', name: 'Sint Eustatius' },
];

SUBDIVISIONS.SE = [
  { code: 'K', name: 'Blekinge' },          { code: 'W', name: 'Dalarna' },
  { code: 'I', name: 'Gotland' },           { code: 'X', name: 'Gävleborg' },
  { code: 'N', name: 'Halland' },           { code: 'Z', name: 'Jämtland' },
  { code: 'F', name: 'Jönköping' },         { code: 'H', name: 'Kalmar' },
  { code: 'G', name: 'Kronoberg' },         { code: 'BD',name: 'Norrbotten' },
  { code: 'M', name: 'Skåne' },             { code: 'AB',name: 'Stockholm' },
  { code: 'D', name: 'Södermanland' },      { code: 'C', name: 'Uppsala' },
  { code: 'S', name: 'Värmland' },          { code: 'AC',name: 'Västerbotten' },
  { code: 'Y', name: 'Västernorrland' },    { code: 'U', name: 'Västmanland' },
  { code: 'O', name: 'Västra Götaland' },   { code: 'T', name: 'Örebro' },
  { code: 'E', name: 'Östergötland' },
];

SUBDIVISIONS.CH = [
  { code: 'AG', name: 'Aargau' },           { code: 'AR', name: 'Appenzell Ausserrhoden' },
  { code: 'AI', name: 'Appenzell Innerrhoden' },
  { code: 'BL', name: 'Basel-Landschaft' }, { code: 'BS', name: 'Basel-Stadt' },
  { code: 'BE', name: 'Bern' },             { code: 'FR', name: 'Fribourg' },
  { code: 'GE', name: 'Geneva' },           { code: 'GL', name: 'Glarus' },
  { code: 'GR', name: 'Graubünden' },       { code: 'JU', name: 'Jura' },
  { code: 'LU', name: 'Lucerne' },          { code: 'NE', name: 'Neuchâtel' },
  { code: 'NW', name: 'Nidwalden' },        { code: 'OW', name: 'Obwalden' },
  { code: 'SH', name: 'Schaffhausen' },     { code: 'SZ', name: 'Schwyz' },
  { code: 'SO', name: 'Solothurn' },        { code: 'SG', name: 'St. Gallen' },
  { code: 'TG', name: 'Thurgau' },          { code: 'TI', name: 'Ticino' },
  { code: 'UR', name: 'Uri' },              { code: 'VS', name: 'Valais' },
  { code: 'VD', name: 'Vaud' },             { code: 'ZG', name: 'Zug' },
  { code: 'ZH', name: 'Zürich' },
];

SUBDIVISIONS.AT = [
  { code: '1', name: 'Burgenland' },        { code: '2', name: 'Carinthia' },
  { code: '3', name: 'Lower Austria' },     { code: '4', name: 'Upper Austria' },
  { code: '5', name: 'Salzburg' },          { code: '6', name: 'Styria' },
  { code: '7', name: 'Tyrol' },             { code: '8', name: 'Vorarlberg' },
  { code: '9', name: 'Vienna' },
];

SUBDIVISIONS.BE = [
  { code: 'BRU', name: 'Brussels' },
  { code: 'VLG', name: 'Flanders' },
  { code: 'WAL', name: 'Wallonia' },
  // Provinces
  { code: 'VAN', name: 'Antwerp' },         { code: 'WBR', name: 'Walloon Brabant' },
  { code: 'VBR', name: 'Flemish Brabant' }, { code: 'WHT', name: 'Hainaut' },
  { code: 'WLG', name: 'Liège' },           { code: 'VLI', name: 'Limburg' },
  { code: 'WLX', name: 'Luxembourg' },      { code: 'WNA', name: 'Namur' },
  { code: 'VOV', name: 'East Flanders' },   { code: 'VWV', name: 'West Flanders' },
];

SUBDIVISIONS.IE = [
  { code: 'CW', name: 'Carlow' },           { code: 'CN', name: 'Cavan' },
  { code: 'CE', name: 'Clare' },            { code: 'CO', name: 'Cork' },
  { code: 'DL', name: 'Donegal' },          { code: 'D',  name: 'Dublin' },
  { code: 'G',  name: 'Galway' },           { code: 'KY', name: 'Kerry' },
  { code: 'KE', name: 'Kildare' },          { code: 'KK', name: 'Kilkenny' },
  { code: 'LS', name: 'Laois' },            { code: 'LM', name: 'Leitrim' },
  { code: 'LK', name: 'Limerick' },         { code: 'LD', name: 'Longford' },
  { code: 'LH', name: 'Louth' },            { code: 'MO', name: 'Mayo' },
  { code: 'MH', name: 'Meath' },            { code: 'MN', name: 'Monaghan' },
  { code: 'OY', name: 'Offaly' },           { code: 'RN', name: 'Roscommon' },
  { code: 'SO', name: 'Sligo' },            { code: 'TA', name: 'Tipperary' },
  { code: 'WD', name: 'Waterford' },        { code: 'WH', name: 'Westmeath' },
  { code: 'WX', name: 'Wexford' },          { code: 'WW', name: 'Wicklow' },
];

SUBDIVISIONS.PT = [
  { code: '01', name: 'Aveiro' },           { code: '02', name: 'Beja' },
  { code: '03', name: 'Braga' },            { code: '04', name: 'Bragança' },
  { code: '05', name: 'Castelo Branco' },   { code: '06', name: 'Coimbra' },
  { code: '07', name: 'Évora' },            { code: '08', name: 'Faro' },
  { code: '09', name: 'Guarda' },           { code: '10', name: 'Leiria' },
  { code: '11', name: 'Lisboa' },           { code: '12', name: 'Portalegre' },
  { code: '13', name: 'Porto' },            { code: '14', name: 'Santarém' },
  { code: '15', name: 'Setúbal' },          { code: '16', name: 'Viana do Castelo' },
  { code: '17', name: 'Vila Real' },        { code: '18', name: 'Viseu' },
  { code: '20', name: 'Açores' },           { code: '30', name: 'Madeira' },
];

SUBDIVISIONS.PL = [
  { code: 'DS', name: 'Lower Silesia' },    { code: 'KP', name: 'Kuyavia-Pomerania' },
  { code: 'LU', name: 'Lublin' },           { code: 'LB', name: 'Lubusz' },
  { code: 'LD', name: 'Łódź' },             { code: 'MA', name: 'Lesser Poland' },
  { code: 'MZ', name: 'Masovia' },          { code: 'OP', name: 'Opole' },
  { code: 'PK', name: 'Subcarpathia' },     { code: 'PD', name: 'Podlachia' },
  { code: 'PM', name: 'Pomerania' },        { code: 'SL', name: 'Silesia' },
  { code: 'SK', name: 'Świętokrzyskie' },   { code: 'WN', name: 'Warmia-Masuria' },
  { code: 'WP', name: 'Greater Poland' },   { code: 'ZP', name: 'West Pomerania' },
];

SUBDIVISIONS.CZ = [
  { code: 'PR', name: 'Prague' },           { code: 'JC', name: 'South Bohemia' },
  { code: 'JM', name: 'South Moravia' },    { code: 'KA', name: 'Karlovy Vary' },
  { code: 'KR', name: 'Hradec Králové' },   { code: 'LI', name: 'Liberec' },
  { code: 'MO', name: 'Moravian-Silesian' },{ code: 'OL', name: 'Olomouc' },
  { code: 'PA', name: 'Pardubice' },        { code: 'PL', name: 'Plzeň' },
  { code: 'ST', name: 'Central Bohemia' },  { code: 'US', name: 'Ústí nad Labem' },
  { code: 'VY', name: 'Vysočina' },         { code: 'ZL', name: 'Zlín' },
];

SUBDIVISIONS.DK = [
  { code: '84', name: 'Capital Region' },
  { code: '82', name: 'Central Denmark' },
  { code: '81', name: 'North Denmark' },
  { code: '85', name: 'Zealand' },
  { code: '83', name: 'Southern Denmark' },
];

SUBDIVISIONS.FI = [
  { code: '01', name: 'Åland' },            { code: '02', name: 'South Karelia' },
  { code: '03', name: 'Southern Ostrobothnia' },
  { code: '04', name: 'Southern Savonia' }, { code: '05', name: 'Kainuu' },
  { code: '06', name: 'Tavastia Proper' },  { code: '07', name: 'Central Ostrobothnia' },
  { code: '08', name: 'Central Finland' },  { code: '09', name: 'Kymenlaakso' },
  { code: '10', name: 'Lapland' },          { code: '11', name: 'Pirkanmaa' },
  { code: '12', name: 'Ostrobothnia' },     { code: '13', name: 'North Karelia' },
  { code: '14', name: 'Northern Ostrobothnia' },
  { code: '15', name: 'Northern Savonia' }, { code: '16', name: 'Päijänne Tavastia' },
  { code: '17', name: 'Satakunta' },        { code: '18', name: 'Uusimaa' },
  { code: '19', name: 'Southwest Finland' },
];

SUBDIVISIONS.NO = [
  { code: '03', name: 'Oslo' },             { code: '11', name: 'Rogaland' },
  { code: '15', name: 'Møre og Romsdal' },  { code: '18', name: 'Nordland' },
  { code: '30', name: 'Viken' },            { code: '34', name: 'Innlandet' },
  { code: '38', name: 'Vestfold og Telemark' },
  { code: '42', name: 'Agder' },            { code: '46', name: 'Vestland' },
  { code: '50', name: 'Trøndelag' },        { code: '54', name: 'Troms og Finnmark' },
];

SUBDIVISIONS.ZA = [
  { code: 'EC', name: 'Eastern Cape' },     { code: 'FS', name: 'Free State' },
  { code: 'GP', name: 'Gauteng' },          { code: 'KZN',name: 'KwaZulu-Natal' },
  { code: 'LP', name: 'Limpopo' },          { code: 'MP', name: 'Mpumalanga' },
  { code: 'NW', name: 'North West' },       { code: 'NC', name: 'Northern Cape' },
  { code: 'WC', name: 'Western Cape' },
];

SUBDIVISIONS.NZ = [
  { code: 'AUK', name: 'Auckland' },        { code: 'BOP', name: 'Bay of Plenty' },
  { code: 'CAN', name: 'Canterbury' },      { code: 'CIT', name: 'Chatham Islands' },
  { code: 'GIS', name: 'Gisborne' },        { code: 'HKB', name: "Hawke's Bay" },
  { code: 'MWT', name: 'Manawatū-Whanganui' },
  { code: 'MBH', name: 'Marlborough' },     { code: 'NSN', name: 'Nelson' },
  { code: 'NTL', name: 'Northland' },       { code: 'OTA', name: 'Otago' },
  { code: 'STL', name: 'Southland' },       { code: 'TKI', name: 'Taranaki' },
  { code: 'TAS', name: 'Tasman' },          { code: 'WKO', name: 'Waikato' },
  { code: 'WGN', name: 'Wellington' },      { code: 'WTC', name: 'West Coast' },
];

// Singapore is a city-state — typically no state in addresses. Skip.

// ── Round 3: Latin America, Asia, Middle East, rest of Europe ─────────────

SUBDIVISIONS.CL = [ // Chile — 16 regions
  { code: 'AI', name: 'Aysén' },             { code: 'AN', name: 'Antofagasta' },
  { code: 'AP', name: 'Arica y Parinacota' },{ code: 'AR', name: 'Araucanía' },
  { code: 'AT', name: 'Atacama' },           { code: 'BI', name: 'Biobío' },
  { code: 'CO', name: 'Coquimbo' },          { code: 'LI', name: "O'Higgins" },
  { code: 'LL', name: 'Los Lagos' },         { code: 'LR', name: 'Los Ríos' },
  { code: 'MA', name: 'Magallanes' },        { code: 'ML', name: 'Maule' },
  { code: 'NB', name: 'Ñuble' },             { code: 'RM', name: 'Santiago Metropolitan' },
  { code: 'TA', name: 'Tarapacá' },          { code: 'VS', name: 'Valparaíso' },
];

SUBDIVISIONS.CO = [ // Colombia — 32 departments + Bogotá D.C.
  { code: 'AMA', name: 'Amazonas' },         { code: 'ANT', name: 'Antioquia' },
  { code: 'ARA', name: 'Arauca' },           { code: 'ATL', name: 'Atlántico' },
  { code: 'BOL', name: 'Bolívar' },          { code: 'BOY', name: 'Boyacá' },
  { code: 'CAL', name: 'Caldas' },           { code: 'CAQ', name: 'Caquetá' },
  { code: 'CAS', name: 'Casanare' },         { code: 'CAU', name: 'Cauca' },
  { code: 'CES', name: 'Cesar' },            { code: 'CHO', name: 'Chocó' },
  { code: 'COR', name: 'Córdoba' },          { code: 'CUN', name: 'Cundinamarca' },
  { code: 'DC',  name: 'Bogotá D.C.' },      { code: 'GUA', name: 'Guainía' },
  { code: 'GUV', name: 'Guaviare' },         { code: 'HUI', name: 'Huila' },
  { code: 'LAG', name: 'La Guajira' },       { code: 'MAG', name: 'Magdalena' },
  { code: 'MET', name: 'Meta' },             { code: 'NAR', name: 'Nariño' },
  { code: 'NSA', name: 'Norte de Santander' },
  { code: 'PUT', name: 'Putumayo' },         { code: 'QUI', name: 'Quindío' },
  { code: 'RIS', name: 'Risaralda' },        { code: 'SAP', name: 'San Andrés y Providencia' },
  { code: 'SAN', name: 'Santander' },        { code: 'SUC', name: 'Sucre' },
  { code: 'TOL', name: 'Tolima' },           { code: 'VAC', name: 'Valle del Cauca' },
  { code: 'VAU', name: 'Vaupés' },           { code: 'VID', name: 'Vichada' },
];

SUBDIVISIONS.PE = [ // Peru — 25 regions + Lima Province
  { code: 'AMA', name: 'Amazonas' },         { code: 'ANC', name: 'Áncash' },
  { code: 'APU', name: 'Apurímac' },         { code: 'ARE', name: 'Arequipa' },
  { code: 'AYA', name: 'Ayacucho' },         { code: 'CAJ', name: 'Cajamarca' },
  { code: 'CAL', name: 'Callao' },           { code: 'CUS', name: 'Cusco' },
  { code: 'HUV', name: 'Huancavelica' },     { code: 'HUC', name: 'Huánuco' },
  { code: 'ICA', name: 'Ica' },              { code: 'JUN', name: 'Junín' },
  { code: 'LAL', name: 'La Libertad' },      { code: 'LAM', name: 'Lambayeque' },
  { code: 'LIM', name: 'Lima' },             { code: 'LMA', name: 'Lima Province' },
  { code: 'LOR', name: 'Loreto' },           { code: 'MDD', name: 'Madre de Dios' },
  { code: 'MOQ', name: 'Moquegua' },         { code: 'PAS', name: 'Pasco' },
  { code: 'PIU', name: 'Piura' },            { code: 'PUN', name: 'Puno' },
  { code: 'SAM', name: 'San Martín' },       { code: 'TAC', name: 'Tacna' },
  { code: 'TUM', name: 'Tumbes' },           { code: 'UCA', name: 'Ucayali' },
];

SUBDIVISIONS.VE = [ // Venezuela — 23 states + Capital District + Federal Dependencies
  { code: 'A', name: 'Distrito Capital' },   { code: 'B', name: 'Anzoátegui' },
  { code: 'C', name: 'Apure' },              { code: 'D', name: 'Aragua' },
  { code: 'E', name: 'Barinas' },            { code: 'F', name: 'Bolívar' },
  { code: 'G', name: 'Carabobo' },           { code: 'H', name: 'Cojedes' },
  { code: 'I', name: 'Falcón' },             { code: 'J', name: 'Guárico' },
  { code: 'K', name: 'Lara' },               { code: 'L', name: 'Mérida' },
  { code: 'M', name: 'Miranda' },            { code: 'N', name: 'Monagas' },
  { code: 'O', name: 'Nueva Esparta' },      { code: 'P', name: 'Portuguesa' },
  { code: 'R', name: 'Sucre' },              { code: 'S', name: 'Táchira' },
  { code: 'T', name: 'Trujillo' },           { code: 'U', name: 'Yaracuy' },
  { code: 'V', name: 'Zulia' },              { code: 'W', name: 'Federal Dependencies' },
  { code: 'X', name: 'La Guaira' },          { code: 'Y', name: 'Delta Amacuro' },
  { code: 'Z', name: 'Amazonas' },
];

SUBDIVISIONS.UY = [ // Uruguay — 19 departments
  { code: 'AR', name: 'Artigas' },           { code: 'CA', name: 'Canelones' },
  { code: 'CL', name: 'Cerro Largo' },       { code: 'CO', name: 'Colonia' },
  { code: 'DU', name: 'Durazno' },           { code: 'FS', name: 'Flores' },
  { code: 'FD', name: 'Florida' },           { code: 'LA', name: 'Lavalleja' },
  { code: 'MA', name: 'Maldonado' },         { code: 'MO', name: 'Montevideo' },
  { code: 'PA', name: 'Paysandú' },          { code: 'RN', name: 'Río Negro' },
  { code: 'RV', name: 'Rivera' },            { code: 'RO', name: 'Rocha' },
  { code: 'SA', name: 'Salto' },             { code: 'SJ', name: 'San José' },
  { code: 'SO', name: 'Soriano' },           { code: 'TA', name: 'Tacuarembó' },
  { code: 'TT', name: 'Treinta y Tres' },
];

SUBDIVISIONS.EC = [ // Ecuador — 24 provinces
  { code: 'A', name: 'Azuay' },              { code: 'B', name: 'Bolívar' },
  { code: 'F', name: 'Cañar' },              { code: 'C', name: 'Carchi' },
  { code: 'X', name: 'Cotopaxi' },           { code: 'H', name: 'Chimborazo' },
  { code: 'O', name: 'El Oro' },             { code: 'E', name: 'Esmeraldas' },
  { code: 'W', name: 'Galápagos' },          { code: 'G', name: 'Guayas' },
  { code: 'I', name: 'Imbabura' },           { code: 'L', name: 'Loja' },
  { code: 'R', name: 'Los Ríos' },           { code: 'M', name: 'Manabí' },
  { code: 'S', name: 'Morona-Santiago' },    { code: 'N', name: 'Napo' },
  { code: 'D', name: 'Orellana' },           { code: 'Y', name: 'Pastaza' },
  { code: 'P', name: 'Pichincha' },          { code: 'SE', name: 'Santa Elena' },
  { code: 'SD', name: 'Santo Domingo de los Tsáchilas' },
  { code: 'U', name: 'Sucumbíos' },          { code: 'T', name: 'Tungurahua' },
  { code: 'Z', name: 'Zamora-Chinchipe' },
];

SUBDIVISIONS.BO = [ // Bolivia — 9 departments
  { code: 'B', name: 'Beni' },               { code: 'C', name: 'Cochabamba' },
  { code: 'H', name: 'Chuquisaca' },         { code: 'L', name: 'La Paz' },
  { code: 'N', name: 'Pando' },              { code: 'O', name: 'Oruro' },
  { code: 'P', name: 'Potosí' },             { code: 'S', name: 'Santa Cruz' },
  { code: 'T', name: 'Tarija' },
];

SUBDIVISIONS.PY = [ // Paraguay — 17 departments + Asunción
  { code: 'ASU', name: 'Asunción' },         { code: '1',  name: 'Concepción' },
  { code: '2',  name: 'San Pedro' },         { code: '3',  name: 'Cordillera' },
  { code: '4',  name: 'Guairá' },            { code: '5',  name: 'Caaguazú' },
  { code: '6',  name: 'Caazapá' },           { code: '7',  name: 'Itapúa' },
  { code: '8',  name: 'Misiones' },          { code: '9',  name: 'Paraguarí' },
  { code: '10', name: 'Alto Paraná' },       { code: '11', name: 'Central' },
  { code: '12', name: 'Ñeembucú' },          { code: '13', name: 'Amambay' },
  { code: '14', name: 'Canindeyú' },         { code: '15', name: 'Presidente Hayes' },
  { code: '16', name: 'Boquerón' },          { code: '19', name: 'Alto Paraguay' },
];

SUBDIVISIONS.CR = [ // Costa Rica — 7 provinces
  { code: 'A', name: 'Alajuela' },           { code: 'C', name: 'Cartago' },
  { code: 'G', name: 'Guanacaste' },         { code: 'H', name: 'Heredia' },
  { code: 'L', name: 'Limón' },              { code: 'P', name: 'Puntarenas' },
  { code: 'SJ',name: 'San José' },
];

SUBDIVISIONS.PA = [ // Panama — 10 provinces + 3 indigenous regions
  { code: '1',  name: 'Bocas del Toro' },    { code: '4',  name: 'Chiriquí' },
  { code: '2',  name: 'Coclé' },             { code: '3',  name: 'Colón' },
  { code: '5',  name: 'Darién' },            { code: '6',  name: 'Herrera' },
  { code: '7',  name: 'Los Santos' },        { code: '8',  name: 'Panamá' },
  { code: '13', name: 'Panamá Oeste' },      { code: '9',  name: 'Veraguas' },
  { code: 'EM', name: 'Emberá-Wounaan' },    { code: 'KY', name: 'Guna Yala' },
  { code: 'NB', name: 'Ngäbe-Buglé' },
];

SUBDIVISIONS.GT = [ // Guatemala — 22 departments
  { code: 'AV', name: 'Alta Verapaz' },      { code: 'BV', name: 'Baja Verapaz' },
  { code: 'CM', name: 'Chimaltenango' },     { code: 'CQ', name: 'Chiquimula' },
  { code: 'PR', name: 'El Progreso' },       { code: 'ES', name: 'Escuintla' },
  { code: 'GU', name: 'Guatemala' },         { code: 'HU', name: 'Huehuetenango' },
  { code: 'IZ', name: 'Izabal' },            { code: 'JA', name: 'Jalapa' },
  { code: 'JU', name: 'Jutiapa' },           { code: 'PE', name: 'Petén' },
  { code: 'QZ', name: 'Quetzaltenango' },    { code: 'QC', name: 'Quiché' },
  { code: 'RE', name: 'Retalhuleu' },        { code: 'SA', name: 'Sacatepéquez' },
  { code: 'SM', name: 'San Marcos' },        { code: 'SR', name: 'Santa Rosa' },
  { code: 'SO', name: 'Sololá' },            { code: 'SU', name: 'Suchitepéquez' },
  { code: 'TO', name: 'Totonicapán' },       { code: 'ZA', name: 'Zacapa' },
];

SUBDIVISIONS.DO = [ // Dominican Republic — 31 provinces + Distrito Nacional
  { code: '01', name: 'Distrito Nacional' }, { code: '02', name: 'Azua' },
  { code: '03', name: 'Baoruco' },           { code: '04', name: 'Barahona' },
  { code: '05', name: 'Dajabón' },           { code: '06', name: 'Duarte' },
  { code: '08', name: 'El Seibo' },          { code: '09', name: 'Espaillat' },
  { code: '30', name: 'Hato Mayor' },        { code: '19', name: 'Hermanas Mirabal' },
  { code: '10', name: 'Independencia' },     { code: '11', name: 'La Altagracia' },
  { code: '07', name: 'La Romana' },         { code: '12', name: 'La Vega' },
  { code: '13', name: 'María Trinidad Sánchez' },
  { code: '14', name: 'Monte Cristi' },      { code: '28', name: 'Monseñor Nouel' },
  { code: '29', name: 'Monte Plata' },       { code: '15', name: 'Pedernales' },
  { code: '16', name: 'Peravia' },           { code: '17', name: 'Puerto Plata' },
  { code: '18', name: 'Samaná' },            { code: '20', name: 'San Cristóbal' },
  { code: '21', name: 'San Juan' },          { code: '22', name: 'San Pedro de Macorís' },
  { code: '23', name: 'Sánchez Ramírez' },   { code: '24', name: 'Santiago' },
  { code: '25', name: 'Santiago Rodríguez' },{ code: '26', name: 'Santo Domingo' },
  { code: '27', name: 'San José de Ocoa' },  { code: '31', name: 'Valverde' },
  { code: '32', name: 'Elías Piña' },
];

SUBDIVISIONS.CU = [ // Cuba — 15 provinces + Isla de la Juventud
  { code: '15', name: 'Artemisa' },          { code: '09', name: 'Camagüey' },
  { code: '08', name: 'Ciego de Ávila' },    { code: '06', name: 'Cienfuegos' },
  { code: '12', name: 'Granma' },            { code: '14', name: 'Guantánamo' },
  { code: '11', name: 'Holguín' },           { code: '99', name: 'Isla de la Juventud' },
  { code: '03', name: 'La Habana' },         { code: '10', name: 'Las Tunas' },
  { code: '04', name: 'Matanzas' },          { code: '16', name: 'Mayabeque' },
  { code: '01', name: 'Pinar del Río' },     { code: '07', name: 'Sancti Spíritus' },
  { code: '13', name: 'Santiago de Cuba' },  { code: '05', name: 'Villa Clara' },
];

// ── Asia ───────────────────────────────────────────────────────────────────

SUBDIVISIONS.ID = [ // Indonesia — 38 provinces
  { code: 'AC', name: 'Aceh' },              { code: 'BA', name: 'Bali' },
  { code: 'BB', name: 'Bangka Belitung' },   { code: 'BT', name: 'Banten' },
  { code: 'BE', name: 'Bengkulu' },          { code: 'JT', name: 'Central Java' },
  { code: 'KT', name: 'Central Kalimantan' },{ code: 'ST', name: 'Central Sulawesi' },
  { code: 'JI', name: 'East Java' },         { code: 'KI', name: 'East Kalimantan' },
  { code: 'NT', name: 'East Nusa Tenggara' },{ code: 'PE', name: 'East Papua' },
  { code: 'GO', name: 'Gorontalo' },         { code: 'JK', name: 'Jakarta' },
  { code: 'JA', name: 'Jambi' },             { code: 'LA', name: 'Lampung' },
  { code: 'MA', name: 'Maluku' },            { code: 'KU', name: 'North Kalimantan' },
  { code: 'MU', name: 'North Maluku' },      { code: 'SA', name: 'North Sulawesi' },
  { code: 'SU', name: 'North Sumatra' },     { code: 'PA', name: 'Papua' },
  { code: 'PB', name: 'West Papua' },        { code: 'PT', name: 'Central Papua' },
  { code: 'PS', name: 'South Papua' },       { code: 'PP', name: 'Highland Papua' },
  { code: 'PW', name: 'Southwest Papua' },   { code: 'RI', name: 'Riau' },
  { code: 'KR', name: 'Riau Islands' },      { code: 'SN', name: 'South Sulawesi' },
  { code: 'SS', name: 'South Sumatra' },     { code: 'SG', name: 'Southeast Sulawesi' },
  { code: 'SR', name: 'West Sulawesi' },     { code: 'KS', name: 'South Kalimantan' },
  { code: 'JB', name: 'West Java' },         { code: 'KB', name: 'West Kalimantan' },
  { code: 'NB', name: 'West Nusa Tenggara' },{ code: 'SB', name: 'West Sumatra' },
  { code: 'YO', name: 'Yogyakarta' },
];

SUBDIVISIONS.PH = [ // Philippines — 17 regions
  { code: '01', name: 'Ilocos' },            { code: '02', name: 'Cagayan Valley' },
  { code: '03', name: 'Central Luzon' },     { code: '40', name: 'Calabarzon' },
  { code: '41', name: 'Mimaropa' },          { code: '05', name: 'Bicol' },
  { code: '06', name: 'Western Visayas' },   { code: '07', name: 'Central Visayas' },
  { code: '08', name: 'Eastern Visayas' },   { code: '09', name: 'Zamboanga Peninsula' },
  { code: '10', name: 'Northern Mindanao' }, { code: '11', name: 'Davao' },
  { code: '12', name: 'Soccsksargen' },      { code: '13', name: 'Caraga' },
  { code: '14', name: 'Bangsamoro (BARMM)' },
  { code: '15', name: 'Cordillera (CAR)' },  { code: '00', name: 'Metro Manila (NCR)' },
];

SUBDIVISIONS.MY = [ // Malaysia — 13 states + 3 federal territories
  { code: '01', name: 'Johor' },             { code: '02', name: 'Kedah' },
  { code: '03', name: 'Kelantan' },          { code: '04', name: 'Malacca' },
  { code: '05', name: 'Negeri Sembilan' },   { code: '06', name: 'Pahang' },
  { code: '08', name: 'Perak' },             { code: '09', name: 'Perlis' },
  { code: '07', name: 'Penang' },            { code: '12', name: 'Sabah' },
  { code: '13', name: 'Sarawak' },           { code: '10', name: 'Selangor' },
  { code: '11', name: 'Terengganu' },        { code: '14', name: 'Kuala Lumpur' },
  { code: '15', name: 'Labuan' },            { code: '16', name: 'Putrajaya' },
];

SUBDIVISIONS.TH = [ // Thailand — 76 provinces + Bangkok (top 30 + grouped)
  { code: '10', name: 'Bangkok' },           { code: '37', name: 'Amnat Charoen' },
  { code: '15', name: 'Ang Thong' },         { code: '38', name: 'Bueng Kan' },
  { code: '31', name: 'Buriram' },           { code: '24', name: 'Chachoengsao' },
  { code: '18', name: 'Chai Nat' },          { code: '36', name: 'Chaiyaphum' },
  { code: '22', name: 'Chanthaburi' },       { code: '50', name: 'Chiang Mai' },
  { code: '57', name: 'Chiang Rai' },        { code: '20', name: 'Chonburi' },
  { code: '86', name: 'Chumphon' },          { code: '46', name: 'Kalasin' },
  { code: '62', name: 'Kamphaeng Phet' },    { code: '71', name: 'Kanchanaburi' },
  { code: '40', name: 'Khon Kaen' },         { code: '81', name: 'Krabi' },
  { code: '52', name: 'Lampang' },           { code: '51', name: 'Lamphun' },
  { code: '42', name: 'Loei' },              { code: '16', name: 'Lopburi' },
  { code: '58', name: 'Mae Hong Son' },      { code: '44', name: 'Maha Sarakham' },
  { code: '49', name: 'Mukdahan' },          { code: '26', name: 'Nakhon Nayok' },
  { code: '73', name: 'Nakhon Pathom' },     { code: '48', name: 'Nakhon Phanom' },
  { code: '30', name: 'Nakhon Ratchasima' }, { code: '60', name: 'Nakhon Sawan' },
  { code: '80', name: 'Nakhon Si Thammarat' },
  { code: '55', name: 'Nan' },               { code: '96', name: 'Narathiwat' },
  { code: '39', name: 'Nong Bua Lam Phu' },  { code: '43', name: 'Nong Khai' },
  { code: '12', name: 'Nonthaburi' },        { code: '13', name: 'Pathum Thani' },
  { code: '94', name: 'Pattani' },           { code: '82', name: 'Phang Nga' },
  { code: '93', name: 'Phatthalung' },       { code: '56', name: 'Phayao' },
  { code: '67', name: 'Phetchabun' },        { code: '76', name: 'Phetchaburi' },
  { code: '66', name: 'Phichit' },           { code: '65', name: 'Phitsanulok' },
  { code: '54', name: 'Phrae' },             { code: '14', name: 'Phra Nakhon Si Ayutthaya' },
  { code: '83', name: 'Phuket' },            { code: '25', name: 'Prachinburi' },
  { code: '77', name: 'Prachuap Khiri Khan' },
  { code: '85', name: 'Ranong' },            { code: '70', name: 'Ratchaburi' },
  { code: '21', name: 'Rayong' },            { code: '45', name: 'Roi Et' },
  { code: '27', name: 'Sa Kaeo' },           { code: '47', name: 'Sakon Nakhon' },
  { code: '11', name: 'Samut Prakan' },      { code: '74', name: 'Samut Sakhon' },
  { code: '75', name: 'Samut Songkhram' },   { code: '19', name: 'Saraburi' },
  { code: '91', name: 'Satun' },             { code: '17', name: 'Sing Buri' },
  { code: '33', name: 'Si Sa Ket' },         { code: '90', name: 'Songkhla' },
  { code: '64', name: 'Sukhothai' },         { code: '72', name: 'Suphan Buri' },
  { code: '84', name: 'Surat Thani' },       { code: '32', name: 'Surin' },
  { code: '63', name: 'Tak' },               { code: '92', name: 'Trang' },
  { code: '23', name: 'Trat' },              { code: '34', name: 'Ubon Ratchathani' },
  { code: '41', name: 'Udon Thani' },        { code: '61', name: 'Uthai Thani' },
  { code: '53', name: 'Uttaradit' },         { code: '95', name: 'Yala' },
  { code: '35', name: 'Yasothon' },
];

SUBDIVISIONS.VN = [ // Vietnam — 58 provinces + 5 municipalities
  { code: 'CT', name: 'Cần Thơ' },           { code: 'DN', name: 'Đà Nẵng' },
  { code: 'HN', name: 'Hà Nội' },            { code: 'HP', name: 'Hải Phòng' },
  { code: 'SG', name: 'Hồ Chí Minh' },
  { code: '44', name: 'An Giang' },          { code: '43', name: 'Bà Rịa-Vũng Tàu' },
  { code: '54', name: 'Bắc Giang' },         { code: '53', name: 'Bắc Kạn' },
  { code: '55', name: 'Bạc Liêu' },          { code: '56', name: 'Bắc Ninh' },
  { code: '50', name: 'Bến Tre' },           { code: '31', name: 'Bình Định' },
  { code: '57', name: 'Bình Dương' },        { code: '58', name: 'Bình Phước' },
  { code: '40', name: 'Bình Thuận' },        { code: '59', name: 'Cà Mau' },
  { code: '04', name: 'Cao Bằng' },          { code: '33', name: 'Đắk Lắk' },
  { code: '72', name: 'Đắk Nông' },          { code: '71', name: 'Điện Biên' },
  { code: '39', name: 'Đồng Nai' },          { code: '45', name: 'Đồng Tháp' },
  { code: '30', name: 'Gia Lai' },           { code: '03', name: 'Hà Giang' },
  { code: '63', name: 'Hà Nam' },            { code: '23', name: 'Hà Tĩnh' },
  { code: '61', name: 'Hải Dương' },         { code: '73', name: 'Hậu Giang' },
  { code: '14', name: 'Hòa Bình' },          { code: '66', name: 'Hưng Yên' },
  { code: '34', name: 'Khánh Hòa' },         { code: '47', name: 'Kiên Giang' },
  { code: '28', name: 'Kon Tum' },           { code: '01', name: 'Lai Châu' },
  { code: '35', name: 'Lâm Đồng' },          { code: '09', name: 'Lạng Sơn' },
  { code: '02', name: 'Lào Cai' },           { code: '41', name: 'Long An' },
  { code: '67', name: 'Nam Định' },          { code: '22', name: 'Nghệ An' },
  { code: '18', name: 'Ninh Bình' },         { code: '36', name: 'Ninh Thuận' },
  { code: '68', name: 'Phú Thọ' },           { code: '32', name: 'Phú Yên' },
  { code: '24', name: 'Quảng Bình' },        { code: '27', name: 'Quảng Nam' },
  { code: '29', name: 'Quảng Ngãi' },        { code: '13', name: 'Quảng Ninh' },
  { code: '25', name: 'Quảng Trị' },         { code: '52', name: 'Sóc Trăng' },
  { code: '05', name: 'Sơn La' },            { code: '37', name: 'Tây Ninh' },
  { code: '20', name: 'Thái Bình' },         { code: '69', name: 'Thái Nguyên' },
  { code: '21', name: 'Thanh Hóa' },         { code: '26', name: 'Thừa Thiên-Huế' },
  { code: '46', name: 'Tiền Giang' },        { code: '51', name: 'Trà Vinh' },
  { code: '07', name: 'Tuyên Quang' },       { code: '49', name: 'Vĩnh Long' },
  { code: '70', name: 'Vĩnh Phúc' },         { code: '06', name: 'Yên Bái' },
];

// ── Middle East ────────────────────────────────────────────────────────────

SUBDIVISIONS.IL = [ // Israel — 6 districts
  { code: 'D', name: 'Southern District' },  { code: 'HA',name: 'Haifa District' },
  { code: 'JM',name: 'Jerusalem District' }, { code: 'M', name: 'Central District' },
  { code: 'TA',name: 'Tel Aviv District' },  { code: 'Z', name: 'Northern District' },
];

SUBDIVISIONS.SA = [ // Saudi Arabia — 13 regions
  { code: '11', name: 'Al Bahah' },          { code: '08', name: 'Northern Borders' },
  { code: '12', name: 'Al Jawf' },           { code: '03', name: 'Medina' },
  { code: '05', name: 'Al-Qassim' },         { code: '01', name: 'Riyadh' },
  { code: '14', name: 'Asir' },              { code: '06', name: 'Hail' },
  { code: '09', name: 'Jazan' },             { code: '02', name: 'Mecca' },
  { code: '10', name: 'Najran' },            { code: '07', name: 'Tabuk' },
  { code: '04', name: 'Eastern Province' },
];

SUBDIVISIONS.TR = [ // Turkey — 81 provinces (alphabetical, code = standard plate code)
  { code: '01', name: 'Adana' },             { code: '02', name: 'Adıyaman' },
  { code: '03', name: 'Afyonkarahisar' },    { code: '04', name: 'Ağrı' },
  { code: '68', name: 'Aksaray' },           { code: '05', name: 'Amasya' },
  { code: '06', name: 'Ankara' },            { code: '07', name: 'Antalya' },
  { code: '75', name: 'Ardahan' },           { code: '08', name: 'Artvin' },
  { code: '09', name: 'Aydın' },             { code: '10', name: 'Balıkesir' },
  { code: '74', name: 'Bartın' },            { code: '72', name: 'Batman' },
  { code: '69', name: 'Bayburt' },           { code: '11', name: 'Bilecik' },
  { code: '12', name: 'Bingöl' },            { code: '13', name: 'Bitlis' },
  { code: '14', name: 'Bolu' },              { code: '15', name: 'Burdur' },
  { code: '16', name: 'Bursa' },             { code: '17', name: 'Çanakkale' },
  { code: '18', name: 'Çankırı' },           { code: '19', name: 'Çorum' },
  { code: '20', name: 'Denizli' },           { code: '21', name: 'Diyarbakır' },
  { code: '81', name: 'Düzce' },             { code: '22', name: 'Edirne' },
  { code: '23', name: 'Elazığ' },            { code: '24', name: 'Erzincan' },
  { code: '25', name: 'Erzurum' },           { code: '26', name: 'Eskişehir' },
  { code: '27', name: 'Gaziantep' },         { code: '28', name: 'Giresun' },
  { code: '29', name: 'Gümüşhane' },         { code: '30', name: 'Hakkâri' },
  { code: '31', name: 'Hatay' },             { code: '76', name: 'Iğdır' },
  { code: '32', name: 'Isparta' },           { code: '34', name: 'Istanbul' },
  { code: '35', name: 'İzmir' },             { code: '46', name: 'Kahramanmaraş' },
  { code: '78', name: 'Karabük' },           { code: '70', name: 'Karaman' },
  { code: '36', name: 'Kars' },              { code: '37', name: 'Kastamonu' },
  { code: '38', name: 'Kayseri' },           { code: '71', name: 'Kırıkkale' },
  { code: '39', name: 'Kırklareli' },        { code: '40', name: 'Kırşehir' },
  { code: '79', name: 'Kilis' },             { code: '41', name: 'Kocaeli' },
  { code: '42', name: 'Konya' },             { code: '43', name: 'Kütahya' },
  { code: '44', name: 'Malatya' },           { code: '45', name: 'Manisa' },
  { code: '47', name: 'Mardin' },            { code: '33', name: 'Mersin' },
  { code: '48', name: 'Muğla' },             { code: '49', name: 'Muş' },
  { code: '50', name: 'Nevşehir' },          { code: '51', name: 'Niğde' },
  { code: '52', name: 'Ordu' },              { code: '80', name: 'Osmaniye' },
  { code: '53', name: 'Rize' },              { code: '54', name: 'Sakarya' },
  { code: '55', name: 'Samsun' },            { code: '63', name: 'Şanlıurfa' },
  { code: '56', name: 'Siirt' },             { code: '57', name: 'Sinop' },
  { code: '73', name: 'Şırnak' },            { code: '58', name: 'Sivas' },
  { code: '59', name: 'Tekirdağ' },          { code: '60', name: 'Tokat' },
  { code: '61', name: 'Trabzon' },           { code: '62', name: 'Tunceli' },
  { code: '64', name: 'Uşak' },              { code: '65', name: 'Van' },
  { code: '77', name: 'Yalova' },            { code: '66', name: 'Yozgat' },
  { code: '67', name: 'Zonguldak' },
];

// ── Africa ─────────────────────────────────────────────────────────────────

SUBDIVISIONS.NG = [ // Nigeria — 36 states + FCT
  { code: 'AB', name: 'Abia' },              { code: 'FC', name: 'Federal Capital Territory' },
  { code: 'AD', name: 'Adamawa' },           { code: 'AK', name: 'Akwa Ibom' },
  { code: 'AN', name: 'Anambra' },           { code: 'BA', name: 'Bauchi' },
  { code: 'BY', name: 'Bayelsa' },           { code: 'BE', name: 'Benue' },
  { code: 'BO', name: 'Borno' },             { code: 'CR', name: 'Cross River' },
  { code: 'DE', name: 'Delta' },             { code: 'EB', name: 'Ebonyi' },
  { code: 'ED', name: 'Edo' },               { code: 'EK', name: 'Ekiti' },
  { code: 'EN', name: 'Enugu' },             { code: 'GO', name: 'Gombe' },
  { code: 'IM', name: 'Imo' },               { code: 'JI', name: 'Jigawa' },
  { code: 'KD', name: 'Kaduna' },            { code: 'KN', name: 'Kano' },
  { code: 'KT', name: 'Katsina' },           { code: 'KE', name: 'Kebbi' },
  { code: 'KO', name: 'Kogi' },              { code: 'KW', name: 'Kwara' },
  { code: 'LA', name: 'Lagos' },             { code: 'NA', name: 'Nasarawa' },
  { code: 'NI', name: 'Niger' },             { code: 'OG', name: 'Ogun' },
  { code: 'ON', name: 'Ondo' },              { code: 'OS', name: 'Osun' },
  { code: 'OY', name: 'Oyo' },               { code: 'PL', name: 'Plateau' },
  { code: 'RI', name: 'Rivers' },            { code: 'SO', name: 'Sokoto' },
  { code: 'TA', name: 'Taraba' },            { code: 'YO', name: 'Yobe' },
  { code: 'ZA', name: 'Zamfara' },
];

SUBDIVISIONS.KE = [ // Kenya — 47 counties
  { code: '01', name: 'Mombasa' },           { code: '02', name: 'Kwale' },
  { code: '03', name: 'Kilifi' },            { code: '04', name: 'Tana River' },
  { code: '05', name: 'Lamu' },              { code: '06', name: 'Taita-Taveta' },
  { code: '07', name: 'Garissa' },           { code: '08', name: 'Wajir' },
  { code: '09', name: 'Mandera' },           { code: '10', name: 'Marsabit' },
  { code: '11', name: 'Isiolo' },            { code: '12', name: 'Meru' },
  { code: '13', name: 'Tharaka-Nithi' },     { code: '14', name: 'Embu' },
  { code: '15', name: 'Kitui' },             { code: '16', name: 'Machakos' },
  { code: '17', name: 'Makueni' },           { code: '18', name: 'Nyandarua' },
  { code: '19', name: 'Nyeri' },             { code: '20', name: 'Kirinyaga' },
  { code: '21', name: 'Murang\'a' },         { code: '22', name: 'Kiambu' },
  { code: '23', name: 'Turkana' },           { code: '24', name: 'West Pokot' },
  { code: '25', name: 'Samburu' },           { code: '26', name: 'Trans-Nzoia' },
  { code: '27', name: 'Uasin Gishu' },       { code: '28', name: 'Elgeyo-Marakwet' },
  { code: '29', name: 'Nandi' },             { code: '30', name: 'Baringo' },
  { code: '31', name: 'Laikipia' },          { code: '32', name: 'Nakuru' },
  { code: '33', name: 'Narok' },             { code: '34', name: 'Kajiado' },
  { code: '35', name: 'Kericho' },           { code: '36', name: 'Bomet' },
  { code: '37', name: 'Kakamega' },          { code: '38', name: 'Vihiga' },
  { code: '39', name: 'Bungoma' },           { code: '40', name: 'Busia' },
  { code: '41', name: 'Siaya' },             { code: '42', name: 'Kisumu' },
  { code: '43', name: 'Homa Bay' },          { code: '44', name: 'Migori' },
  { code: '45', name: 'Kisii' },             { code: '46', name: 'Nyamira' },
  { code: '47', name: 'Nairobi' },
];

SUBDIVISIONS.EG = [ // Egypt — 27 governorates
  { code: 'ALX', name: 'Alexandria' },       { code: 'ASN', name: 'Aswan' },
  { code: 'AST', name: 'Asyut' },            { code: 'BA',  name: 'Red Sea' },
  { code: 'BH',  name: 'Beheira' },          { code: 'BNS', name: 'Beni Suef' },
  { code: 'C',   name: 'Cairo' },            { code: 'DK',  name: 'Dakahlia' },
  { code: 'DT',  name: 'Damietta' },         { code: 'FYM', name: 'Faiyum' },
  { code: 'GH',  name: 'Gharbia' },          { code: 'GZ',  name: 'Giza' },
  { code: 'IS',  name: 'Ismailia' },         { code: 'JS',  name: 'South Sinai' },
  { code: 'KB',  name: 'Qalyubia' },         { code: 'KFS', name: 'Kafr el-Sheikh' },
  { code: 'KN',  name: 'Qena' },             { code: 'LX',  name: 'Luxor' },
  { code: 'MN',  name: 'Minya' },            { code: 'MNF', name: 'Monufia' },
  { code: 'MT',  name: 'Matruh' },           { code: 'PTS', name: 'Port Said' },
  { code: 'SHG', name: 'Sohag' },            { code: 'SHR', name: 'Sharqia' },
  { code: 'SIN', name: 'North Sinai' },      { code: 'SU',  name: 'Suez' },
  { code: 'WAD', name: 'New Valley' },
];

// ── Rest of Europe ─────────────────────────────────────────────────────────

SUBDIVISIONS.GR = [ // Greece — 13 regions
  { code: 'A',  name: 'East Macedonia and Thrace' },
  { code: 'B',  name: 'Central Macedonia' },
  { code: 'C',  name: 'West Macedonia' },
  { code: 'D',  name: 'Epirus' },
  { code: 'E',  name: 'Thessaly' },
  { code: 'F',  name: 'Ionian Islands' },
  { code: 'G',  name: 'West Greece' },
  { code: 'H',  name: 'Central Greece' },
  { code: 'I',  name: 'Attica' },
  { code: 'J',  name: 'Peloponnese' },
  { code: 'K',  name: 'North Aegean' },
  { code: 'L',  name: 'South Aegean' },
  { code: 'M',  name: 'Crete' },
];

SUBDIVISIONS.RO = [ // Romania — 41 counties + Bucharest
  { code: 'AB', name: 'Alba' },              { code: 'AR', name: 'Arad' },
  { code: 'AG', name: 'Argeș' },             { code: 'BC', name: 'Bacău' },
  { code: 'BH', name: 'Bihor' },             { code: 'BN', name: 'Bistrița-Năsăud' },
  { code: 'BT', name: 'Botoșani' },          { code: 'BV', name: 'Brașov' },
  { code: 'BR', name: 'Brăila' },            { code: 'B',  name: 'Bucharest' },
  { code: 'BZ', name: 'Buzău' },             { code: 'CL', name: 'Călărași' },
  { code: 'CS', name: 'Caraș-Severin' },     { code: 'CJ', name: 'Cluj' },
  { code: 'CT', name: 'Constanța' },         { code: 'CV', name: 'Covasna' },
  { code: 'DB', name: 'Dâmbovița' },         { code: 'DJ', name: 'Dolj' },
  { code: 'GL', name: 'Galați' },            { code: 'GR', name: 'Giurgiu' },
  { code: 'GJ', name: 'Gorj' },              { code: 'HR', name: 'Harghita' },
  { code: 'HD', name: 'Hunedoara' },         { code: 'IL', name: 'Ialomița' },
  { code: 'IS', name: 'Iași' },              { code: 'IF', name: 'Ilfov' },
  { code: 'MM', name: 'Maramureș' },         { code: 'MH', name: 'Mehedinți' },
  { code: 'MS', name: 'Mureș' },             { code: 'NT', name: 'Neamț' },
  { code: 'OT', name: 'Olt' },               { code: 'PH', name: 'Prahova' },
  { code: 'SJ', name: 'Sălaj' },             { code: 'SM', name: 'Satu Mare' },
  { code: 'SB', name: 'Sibiu' },             { code: 'SV', name: 'Suceava' },
  { code: 'TR', name: 'Teleorman' },         { code: 'TM', name: 'Timiș' },
  { code: 'TL', name: 'Tulcea' },            { code: 'VS', name: 'Vaslui' },
  { code: 'VL', name: 'Vâlcea' },            { code: 'VN', name: 'Vrancea' },
];

SUBDIVISIONS.HU = [ // Hungary — 19 counties + Budapest
  { code: 'BU', name: 'Budapest' },          { code: 'BK', name: 'Bács-Kiskun' },
  { code: 'BA', name: 'Baranya' },           { code: 'BE', name: 'Békés' },
  { code: 'BZ', name: 'Borsod-Abaúj-Zemplén' },
  { code: 'CS', name: 'Csongrád-Csanád' },   { code: 'FE', name: 'Fejér' },
  { code: 'GS', name: 'Győr-Moson-Sopron' }, { code: 'HB', name: 'Hajdú-Bihar' },
  { code: 'HE', name: 'Heves' },             { code: 'JN', name: 'Jász-Nagykun-Szolnok' },
  { code: 'KE', name: 'Komárom-Esztergom' }, { code: 'NO', name: 'Nógrád' },
  { code: 'PE', name: 'Pest' },              { code: 'SO', name: 'Somogy' },
  { code: 'SZ', name: 'Szabolcs-Szatmár-Bereg' },
  { code: 'TO', name: 'Tolna' },             { code: 'VA', name: 'Vas' },
  { code: 'VE', name: 'Veszprém' },          { code: 'ZA', name: 'Zala' },
];

SUBDIVISIONS.BG = [ // Bulgaria — 28 provinces
  { code: '01', name: 'Blagoevgrad' },       { code: '02', name: 'Burgas' },
  { code: '08', name: 'Dobrich' },           { code: '07', name: 'Gabrovo' },
  { code: '26', name: 'Haskovo' },           { code: '09', name: 'Kardzhali' },
  { code: '10', name: 'Kyustendil' },        { code: '11', name: 'Lovech' },
  { code: '12', name: 'Montana' },           { code: '13', name: 'Pazardzhik' },
  { code: '14', name: 'Pernik' },            { code: '15', name: 'Pleven' },
  { code: '16', name: 'Plovdiv' },           { code: '17', name: 'Razgrad' },
  { code: '18', name: 'Ruse' },              { code: '19', name: 'Silistra' },
  { code: '20', name: 'Sliven' },            { code: '21', name: 'Smolyan' },
  { code: '23', name: 'Sofia' },             { code: '22', name: 'Sofia City' },
  { code: '24', name: 'Stara Zagora' },      { code: '25', name: 'Targovishte' },
  { code: '03', name: 'Varna' },             { code: '04', name: 'Veliko Tarnovo' },
  { code: '05', name: 'Vidin' },             { code: '06', name: 'Vratsa' },
  { code: '27', name: 'Shumen' },            { code: '28', name: 'Yambol' },
];

SUBDIVISIONS.HR = [ // Croatia — 20 counties + Zagreb
  { code: '21', name: 'Zagreb (City)' },     { code: '01', name: 'Zagreb (County)' },
  { code: '02', name: 'Krapina-Zagorje' },   { code: '03', name: 'Sisak-Moslavina' },
  { code: '04', name: 'Karlovac' },          { code: '05', name: 'Varaždin' },
  { code: '06', name: 'Koprivnica-Križevci' },
  { code: '07', name: 'Bjelovar-Bilogora' }, { code: '08', name: 'Primorje-Gorski Kotar' },
  { code: '09', name: 'Lika-Senj' },         { code: '10', name: 'Virovitica-Podravina' },
  { code: '11', name: 'Požega-Slavonia' },   { code: '12', name: 'Brod-Posavina' },
  { code: '13', name: 'Zadar' },             { code: '14', name: 'Osijek-Baranja' },
  { code: '15', name: 'Šibenik-Knin' },      { code: '16', name: 'Vukovar-Syrmia' },
  { code: '17', name: 'Split-Dalmatia' },    { code: '18', name: 'Istria' },
  { code: '19', name: 'Dubrovnik-Neretva' }, { code: '20', name: 'Međimurje' },
];

SUBDIVISIONS.RS = [ // Serbia — 5 statistical regions + autonomous provinces
  { code: 'KM', name: 'Kosovo' },
  { code: 'VO', name: 'Vojvodina' },
  { code: '00', name: 'Belgrade' },
  { code: '01', name: 'Šumadija and Western Serbia' },
  { code: '02', name: 'Southern and Eastern Serbia' },
];

SUBDIVISIONS.UA = [ // Ukraine — 24 oblasts + Crimea + Kyiv + Sevastopol
  { code: '30', name: 'Kyiv (City)' },       { code: '40', name: 'Sevastopol' },
  { code: '43', name: 'Crimea' },
  { code: '71', name: 'Cherkasy' },          { code: '74', name: 'Chernihiv' },
  { code: '77', name: 'Chernivtsi' },        { code: '12', name: 'Dnipropetrovsk' },
  { code: '14', name: 'Donetsk' },           { code: '26', name: 'Ivano-Frankivsk' },
  { code: '63', name: 'Kharkiv' },           { code: '65', name: 'Kherson' },
  { code: '68', name: 'Khmelnytskyi' },      { code: '32', name: 'Kyiv (Oblast)' },
  { code: '35', name: 'Kirovohrad' },        { code: '46', name: 'Lviv' },
  { code: '09', name: 'Luhansk' },           { code: '48', name: 'Mykolaiv' },
  { code: '51', name: 'Odesa' },             { code: '53', name: 'Poltava' },
  { code: '56', name: 'Rivne' },             { code: '59', name: 'Sumy' },
  { code: '61', name: 'Ternopil' },          { code: '05', name: 'Vinnytsia' },
  { code: '07', name: 'Volyn' },             { code: '21', name: 'Zakarpattia' },
  { code: '23', name: 'Zaporizhzhia' },      { code: '18', name: 'Zhytomyr' },
];

SUBDIVISIONS.RU = [ // Russia — 21 republics, 9 krais, 46 oblasts, etc. (ISO 3166-2:RU)
  // 3 federal cities + 22 republics
  { code: 'MOW', name: 'Moscow' },           { code: 'SPE', name: 'St. Petersburg' },
  { code: 'SEV', name: 'Sevastopol' },
  { code: 'AD',  name: 'Adygea' },           { code: 'AL',  name: 'Altai Republic' },
  { code: 'BA',  name: 'Bashkortostan' },    { code: 'BU',  name: 'Buryatia' },
  { code: 'CE',  name: 'Chechnya' },         { code: 'CU',  name: 'Chuvashia' },
  { code: 'CR',  name: 'Crimea' },           { code: 'DA',  name: 'Dagestan' },
  { code: 'IN',  name: 'Ingushetia' },       { code: 'KB',  name: 'Kabardino-Balkaria' },
  { code: 'KL',  name: 'Kalmykia' },         { code: 'KC',  name: 'Karachay-Cherkessia' },
  { code: 'KR',  name: 'Karelia' },          { code: 'KO',  name: 'Komi' },
  { code: 'ME',  name: 'Mari El' },          { code: 'MO',  name: 'Mordovia' },
  { code: 'SA',  name: 'Sakha (Yakutia)' },  { code: 'SE',  name: 'North Ossetia' },
  { code: 'TA',  name: 'Tatarstan' },        { code: 'TY',  name: 'Tuva' },
  { code: 'UD',  name: 'Udmurtia' },         { code: 'KK',  name: 'Khakassia' },
  // krais
  { code: 'ALT', name: 'Altai Krai' },       { code: 'KAM', name: 'Kamchatka Krai' },
  { code: 'KHA', name: 'Khabarovsk Krai' },  { code: 'KDA', name: 'Krasnodar Krai' },
  { code: 'KYA', name: 'Krasnoyarsk Krai' }, { code: 'PER', name: 'Perm Krai' },
  { code: 'PRI', name: 'Primorsky Krai' },   { code: 'STA', name: 'Stavropol Krai' },
  { code: 'ZAB', name: 'Zabaykalsky Krai' },
  // oblasts (subset of common ones — full list of 46 inflates the dropdown)
  { code: 'AMU', name: 'Amur Oblast' },      { code: 'ARK', name: 'Arkhangelsk Oblast' },
  { code: 'AST', name: 'Astrakhan Oblast' }, { code: 'BEL', name: 'Belgorod Oblast' },
  { code: 'BRY', name: 'Bryansk Oblast' },   { code: 'CHE', name: 'Chelyabinsk Oblast' },
  { code: 'IRK', name: 'Irkutsk Oblast' },   { code: 'IVA', name: 'Ivanovo Oblast' },
  { code: 'KGD', name: 'Kaliningrad Oblast' },
  { code: 'KLU', name: 'Kaluga Oblast' },    { code: 'KEM', name: 'Kemerovo Oblast' },
  { code: 'KIR', name: 'Kirov Oblast' },     { code: 'KOS', name: 'Kostroma Oblast' },
  { code: 'KGN', name: 'Kurgan Oblast' },    { code: 'KRS', name: 'Kursk Oblast' },
  { code: 'LEN', name: 'Leningrad Oblast' }, { code: 'LIP', name: 'Lipetsk Oblast' },
  { code: 'MAG', name: 'Magadan Oblast' },   { code: 'MOS', name: 'Moscow Oblast' },
  { code: 'MUR', name: 'Murmansk Oblast' },  { code: 'NIZ', name: 'Nizhny Novgorod Oblast' },
  { code: 'NGR', name: 'Novgorod Oblast' },  { code: 'NVS', name: 'Novosibirsk Oblast' },
  { code: 'OMS', name: 'Omsk Oblast' },      { code: 'ORE', name: 'Orenburg Oblast' },
  { code: 'ORL', name: 'Oryol Oblast' },     { code: 'PNZ', name: 'Penza Oblast' },
  { code: 'PSK', name: 'Pskov Oblast' },     { code: 'ROS', name: 'Rostov Oblast' },
  { code: 'RYA', name: 'Ryazan Oblast' },    { code: 'SAK', name: 'Sakhalin Oblast' },
  { code: 'SAM', name: 'Samara Oblast' },    { code: 'SAR', name: 'Saratov Oblast' },
  { code: 'SMO', name: 'Smolensk Oblast' },  { code: 'SVE', name: 'Sverdlovsk Oblast' },
  { code: 'TAM', name: 'Tambov Oblast' },    { code: 'TOM', name: 'Tomsk Oblast' },
  { code: 'TUL', name: 'Tula Oblast' },      { code: 'TVE', name: 'Tver Oblast' },
  { code: 'TYU', name: 'Tyumen Oblast' },    { code: 'ULY', name: 'Ulyanovsk Oblast' },
  { code: 'VLA', name: 'Vladimir Oblast' },  { code: 'VGG', name: 'Volgograd Oblast' },
  { code: 'VLG', name: 'Vologda Oblast' },   { code: 'VOR', name: 'Voronezh Oblast' },
  { code: 'YAR', name: 'Yaroslavl Oblast' }, // autonomous
  { code: 'NEN', name: 'Nenets Aut. Okrug' },{ code: 'KHM', name: 'Khanty-Mansi Aut. Okrug' },
  { code: 'CHU', name: 'Chukotka Aut. Okrug' },
  { code: 'YAN', name: 'Yamalo-Nenets Aut. Okrug' },
  { code: 'YEV', name: 'Jewish Aut. Oblast' },
];

// ── exports ────────────────────────────────────────────────────────────────

window.SUBDIVISIONS = SUBDIVISIONS;

window.getSubdivisions = function (isoCountry) {
  if (!isoCountry) return null;
  return SUBDIVISIONS[isoCountry] || null;
};

})();
