1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

use serde::{Serialize, Deserialize};

/// Represents a country and holds various information about it.
#[non_exhaustive]
#[derive(Debug, Serialize, Deserialize, Clone, Eq, PartialEq)]
pub struct Country {
    /// The 'official' name of the country, or at least as close as it gets.
    pub official_name: String,
    /// The commonly used short form of the country name.
    pub short_name: String,
    /// ISO 3166-1 alpha-2 code of the country.
    pub iso2: String,
    /// ISO 3166-1 alpha-3 code of the country.
    pub iso3: String,
    /// ISO 3166-1 numeric-3 code of the country.
    pub num3: u16,
}

lazy_static! {
    static ref DATA: Vec<Country> = vec![Country { official_name: String::from("Aruba"), short_name: String::from("Aruba"), iso2: String::from("AW"), iso3: String::from("ABW"), num3: 533 }, Country { official_name: String::from("Islamic Republic of Afghanistan"), short_name: String::from("Afghanistan"), iso2: String::from("AF"), iso3: String::from("AFG"), num3: 4 }, Country { official_name: String::from("Republic of Angola"), short_name: String::from("Angola"), iso2: String::from("AO"), iso3: String::from("AGO"), num3: 24 }, Country { official_name: String::from("Anguilla"), short_name: String::from("Anguilla"), iso2: String::from("AI"), iso3: String::from("AIA"), num3: 660 }, Country { official_name: String::from("Åland Islands"), short_name: String::from("Åland Islands"), iso2: String::from("AX"), iso3: String::from("ALA"), num3: 248 }, Country { official_name: String::from("Republic of Albania"), short_name: String::from("Albania"), iso2: String::from("AL"), iso3: String::from("ALB"), num3: 8 }, Country { official_name: String::from("Principality of Andorra"), short_name: String::from("Andorra"), iso2: String::from("AN"), iso3: String::from("AND"), num3: 20 }, Country { official_name: String::from("United Arab Emirates"), short_name: String::from("Emirates"), iso2: String::from("AE"), iso3: String::from("ARE"), num3: 784 }, Country { official_name: String::from("Argentine Republic"), short_name: String::from("Argentina"), iso2: String::from("AR"), iso3: String::from("ARG"), num3: 32 }, Country { official_name: String::from("Republic of Armenia"), short_name: String::from("Armenia"), iso2: String::from("AM"), iso3: String::from("ARM"), num3: 51 }, Country { official_name: String::from("American Samoa"), short_name: String::from("American Samoa"), iso2: String::from("AS"), iso3: String::from("ASM"), num3: 16 }, Country { official_name: String::from("Antarctica"), short_name: String::from("Antarctica"), iso2: String::from("AQ"), iso3: String::from("ATA"), num3: 10 }, Country { official_name: String::from("French Southern and Antarctic Lands"), short_name: String::from("French Southern Territories"), iso2: String::from("TF"), iso3: String::from("ATF"), num3: 260 }, Country { official_name: String::from("Antigua and Barbuda"), short_name: String::from("Antigua and Barbuda"), iso2: String::from("AG"), iso3: String::from("ATG"), num3: 28 }, Country { official_name: String::from("Commonwealth of Australia"), short_name: String::from("Australia"), iso2: String::from("AU"), iso3: String::from("AUS"), num3: 36 }, Country { official_name: String::from("Republic of Austria"), short_name: String::from("Austria"), iso2: String::from("AT"), iso3: String::from("AUT"), num3: 40 }, Country { official_name: String::from("Republic of Azerbaijan"), short_name: String::from("Azerbaijan"), iso2: String::from("AZ"), iso3: String::from("AZE"), num3: 31 }, Country { official_name: String::from("Republic of Burundi"), short_name: String::from("Burundi"), iso2: String::from("BI"), iso3: String::from("BDI"), num3: 108 }, Country { official_name: String::from("Kingdom of Belgium"), short_name: String::from("Belgium"), iso2: String::from("BE"), iso3: String::from("BEL"), num3: 56 }, Country { official_name: String::from("Republic of Benin"), short_name: String::from("Benin"), iso2: String::from("BJ"), iso3: String::from("BEN"), num3: 204 }, Country { official_name: String::from("Bonaire, Sint Eustatius and Saba"), short_name: String::from("Caribbean Netherlands"), iso2: String::from("BQ"), iso3: String::from("BES"), num3: 535 }, Country { official_name: String::from("Burkina Faso"), short_name: String::from("Burkina Faso"), iso2: String::from("BF"), iso3: String::from("BFA"), num3: 854 }, Country { official_name: String::from("People's Republic of Bangladesh"), short_name: String::from("Bangladesh"), iso2: String::from("BD"), iso3: String::from("BGD"), num3: 50 }, Country { official_name: String::from("Republic of Bulgaria"), short_name: String::from("Bulgaria"), iso2: String::from("BG"), iso3: String::from("BGR"), num3: 100 }, Country { official_name: String::from("Kingdom of Bahrain"), short_name: String::from("Bahrain"), iso2: String::from("BH"), iso3: String::from("BHR"), num3: 48 }, Country { official_name: String::from("Commonwealth of The Bahamas"), short_name: String::from("Bahamas"), iso2: String::from("BS"), iso3: String::from("BHS"), num3: 44 }, Country { official_name: String::from("Bosnia and Herzegovina"), short_name: String::from("Bosnia and Herzegovina"), iso2: String::from("BA"), iso3: String::from("BIH"), num3: 70 }, Country { official_name: String::from("Saint Barthélemy"), short_name: String::from("Saint Barthélemy"), iso2: String::from("BL"), iso3: String::from("BLM"), num3: 652 }, Country { official_name: String::from("Republic of Belarus"), short_name: String::from("Belarus"), iso2: String::from("BY"), iso3: String::from("BLR"), num3: 112 }, Country { official_name: String::from("Belize"), short_name: String::from("Belize"), iso2: String::from("BZ"), iso3: String::from("BLZ"), num3: 84 }, Country { official_name: String::from("Bermuda"), short_name: String::from("Bermuda"), iso2: String::from("BM"), iso3: String::from("BMU"), num3: 60 }, Country { official_name: String::from("Plurinational State of Bolivia"), short_name: String::from("Bolivia"), iso2: String::from("BO"), iso3: String::from("BOL"), num3: 68 }, Country { official_name: String::from("Federative Republic of Brazil"), short_name: String::from("Brazil"), iso2: String::from("BR"), iso3: String::from("BRA"), num3: 76 }, Country { official_name: String::from("Barbados"), short_name: String::from("Barbados"), iso2: String::from("BB"), iso3: String::from("BRB"), num3: 52 }, Country { official_name: String::from("Nation of Brunei, the Abode of Peace"), short_name: String::from("Brunei"), iso2: String::from("BN"), iso3: String::from("BRN"), num3: 96 }, Country { official_name: String::from("Kingdom of Bhutan"), short_name: String::from("Bhutan"), iso2: String::from("BT"), iso3: String::from("BTN"), num3: 64 }, Country { official_name: String::from("Bouvet Island"), short_name: String::from("Bouvet Island"), iso2: String::from("BV"), iso3: String::from("BVT"), num3: 74 }, Country { official_name: String::from("Republic of Botswana"), short_name: String::from("Botswana"), iso2: String::from("BW"), iso3: String::from("BWA"), num3: 72 }, Country { official_name: String::from("Central African Republic"), short_name: String::from("Central African Republic"), iso2: String::from("CF"), iso3: String::from("CAF"), num3: 140 }, Country { official_name: String::from("Canada"), short_name: String::from("Canada"), iso2: String::from("CA"), iso3: String::from("CAN"), num3: 124 }, Country { official_name: String::from("Territory of Cocos (Keeling) Islands"), short_name: String::from("Cocos (Keeling) Islands"), iso2: String::from("CC"), iso3: String::from("CCK"), num3: 166 }, Country { official_name: String::from("Swiss Confederation"), short_name: String::from("Switzerland"), iso2: String::from("CH"), iso3: String::from("CHE"), num3: 756 }, Country { official_name: String::from("Republic of Chile"), short_name: String::from("Chile"), iso2: String::from("CL"), iso3: String::from("CHL"), num3: 152 }, Country { official_name: String::from("People's Republic of China"), short_name: String::from("China"), iso2: String::from("CN"), iso3: String::from("CHN"), num3: 156 }, Country { official_name: String::from("Republic of Côte d'Ivoire"), short_name: String::from("Côte d'Ivoire"), iso2: String::from("CI"), iso3: String::from("CIV"), num3: 384 }, Country { official_name: String::from("Republic of Cameroon"), short_name: String::from("Cameroon"), iso2: String::from("CM"), iso3: String::from("CMR"), num3: 120 }, Country { official_name: String::from("Democratic Republic of the Congo"), short_name: String::from("Congo"), iso2: String::from("CD"), iso3: String::from("COD"), num3: 180 }, Country { official_name: String::from("Republic of the Congo"), short_name: String::from("Congo Republic"), iso2: String::from("CG"), iso3: String::from("COG"), num3: 178 }, Country { official_name: String::from("Cook Islands"), short_name: String::from("Cook Islands"), iso2: String::from("CK"), iso3: String::from("COK"), num3: 184 }, Country { official_name: String::from("Republic of Colombia"), short_name: String::from("Colombia"), iso2: String::from("CO"), iso3: String::from("COL"), num3: 170 }, Country { official_name: String::from("Union of the Comoros"), short_name: String::from("Comoros"), iso2: String::from("KM"), iso3: String::from("COM"), num3: 174 }, Country { official_name: String::from("Republic of Cabo Verde"), short_name: String::from("Cape Verde"), iso2: String::from("CV"), iso3: String::from("CPV"), num3: 132 }, Country { official_name: String::from("Republic of Costa Rica"), short_name: String::from("Costa Rica"), iso2: String::from("CR"), iso3: String::from("CPI"), num3: 188 }, Country { official_name: String::from("Republic of Cuba"), short_name: String::from("Cuba"), iso2: String::from("CU"), iso3: String::from("CUB"), num3: 192 }, Country { official_name: String::from("Curaçao"), short_name: String::from("Curaçao"), iso2: String::from("CW"), iso3: String::from("CUW"), num3: 531 }, Country { official_name: String::from("Territory of Christmas Island"), short_name: String::from("Christmas Island"), iso2: String::from("CX"), iso3: String::from("CXR"), num3: 162 }, Country { official_name: String::from("Cayman Islands"), short_name: String::from("Cayman Islands"), iso2: String::from("CX"), iso3: String::from("CYM"), num3: 136 }, Country { official_name: String::from("Republic of Cyprus"), short_name: String::from("Cyprus"), iso2: String::from("CY"), iso3: String::from("CYP"), num3: 196 }, Country { official_name: String::from("Czech Republic"), short_name: String::from("Czechia"), iso2: String::from("CZ"), iso3: String::from("CZE"), num3: 203 }, Country { official_name: String::from("Federal Republic of Germany"), short_name: String::from("Germany"), iso2: String::from("DE"), iso3: String::from("DEU"), num3: 276 }, Country { official_name: String::from("Republic of Djibouti"), short_name: String::from("Djibouti"), iso2: String::from("DJ"), iso3: String::from("DJI"), num3: 262 }, Country { official_name: String::from("Commonwealth of Dominica"), short_name: String::from("Dominica"), iso2: String::from("DM"), iso3: String::from("DMA"), num3: 212 }, Country { official_name: String::from("Kingdom of Denmark"), short_name: String::from("Denmark"), iso2: String::from("DK"), iso3: String::from("DNK"), num3: 208 }, Country { official_name: String::from("Dominican Republic"), short_name: String::from("Dominican Republic"), iso2: String::from("DO"), iso3: String::from("DOM"), num3: 214 }, Country { official_name: String::from("People's Democratic Republic of Algeria"), short_name: String::from("Algeria"), iso2: String::from("DZ"), iso3: String::from("DZA"), num3: 12 }, Country { official_name: String::from("Republic of Ecuador"), short_name: String::from("Ecuador"), iso2: String::from("EC"), iso3: String::from("ECU"), num3: 218 }, Country { official_name: String::from("Arab Republic of Egypt"), short_name: String::from("Egypt"), iso2: String::from("EG"), iso3: String::from("EGY"), num3: 818 }, Country { official_name: String::from("State of Eritrea"), short_name: String::from("Eritrea"), iso2: String::from("ER"), iso3: String::from("ERI"), num3: 232 }, Country { official_name: String::from("Western Sahara"), short_name: String::from("Western Sahara"), iso2: String::from("EH"), iso3: String::from("ESH"), num3: 732 }, Country { official_name: String::from("Kingdom of Spain"), short_name: String::from("Spain"), iso2: String::from("ES"), iso3: String::from("ESP"), num3: 724 }, Country { official_name: String::from("Republic of Estonia"), short_name: String::from("Estonia"), iso2: String::from("EE"), iso3: String::from("EST"), num3: 233 }, Country { official_name: String::from("Federal Democratic Republic of Ethiopia"), short_name: String::from("Ethiopia"), iso2: String::from("ET"), iso3: String::from("ETH"), num3: 231 }, Country { official_name: String::from("Republic of Finland"), short_name: String::from("Finland"), iso2: String::from("FI"), iso3: String::from("FIN"), num3: 246 }, Country { official_name: String::from("Republic of Fiji"), short_name: String::from("Fiji"), iso2: String::from("FJ"), iso3: String::from("FJI"), num3: 242 }, Country { official_name: String::from("Falkland Islands"), short_name: String::from("Falkland Islands"), iso2: String::from("FK"), iso3: String::from("FLK"), num3: 238 }, Country { official_name: String::from("French Republic"), short_name: String::from("France"), iso2: String::from("FR"), iso3: String::from("FRA"), num3: 250 }, Country { official_name: String::from("Faroe Islands"), short_name: String::from("Faroe Islands"), iso2: String::from("FO"), iso3: String::from("FRO"), num3: 234 }, Country { official_name: String::from("Federated States of Micronesia"), short_name: String::from("Micronesia"), iso2: String::from("FM"), iso3: String::from("FSM"), num3: 583 }, Country { official_name: String::from("Gabonese Republic"), short_name: String::from("Gabon"), iso2: String::from("GA"), iso3: String::from("GAB"), num3: 266 }, Country { official_name: String::from("United Kingdom of Great Britain and Northern Ireland"), short_name: String::from("United Kingdom"), iso2: String::from("GB"), iso3: String::from("GBR"), num3: 826 }, Country { official_name: String::from("Georgia"), short_name: String::from("Georgia"), iso2: String::from("GE"), iso3: String::from("GEO"), num3: 268 }, Country { official_name: String::from("Bailiwick of Guernsey"), short_name: String::from("Guernsey"), iso2: String::from("GG"), iso3: String::from("GGY"), num3: 831 }, Country { official_name: String::from("Republic of Ghana"), short_name: String::from("Ghana"), iso2: String::from("GH"), iso3: String::from("GHA"), num3: 288 }, Country { official_name: String::from("Gibraltar"), short_name: String::from("Gibraltar"), iso2: String::from("GI"), iso3: String::from("GIB"), num3: 292 }, Country { official_name: String::from("Republic of Guinea"), short_name: String::from("Guinea"), iso2: String::from("GN"), iso3: String::from("GIN"), num3: 324 }, Country { official_name: String::from("Guadeloupe"), short_name: String::from("Guadeloupe"), iso2: String::from("GP"), iso3: String::from("GLP"), num3: 312 }, Country { official_name: String::from("Republic of the Gambia"), short_name: String::from("Gambia"), iso2: String::from("GM"), iso3: String::from("GMB"), num3: 270 }, Country { official_name: String::from("Republic of Guinea-Bissau"), short_name: String::from("Guinea-Bissau"), iso2: String::from("GW"), iso3: String::from("GNB"), num3: 624 }, Country { official_name: String::from("Republic of Equatorial Guinea"), short_name: String::from("Equatorial Guinea"), iso2: String::from("GQ"), iso3: String::from("GNQ"), num3: 226 }, Country { official_name: String::from("Hellenic Republic"), short_name: String::from("Greece"), iso2: String::from("GR"), iso3: String::from("GRC"), num3: 300 }, Country { official_name: String::from("Grenada"), short_name: String::from("Grenada"), iso2: String::from("GD"), iso3: String::from("GRD"), num3: 308 }, Country { official_name: String::from("Greenland"), short_name: String::from("Greenland"), iso2: String::from("GL"), iso3: String::from("GRL"), num3: 304 }, Country { official_name: String::from("Republic of Guatemala"), short_name: String::from("Guatemala"), iso2: String::from("GT"), iso3: String::from("GTM"), num3: 320 }, Country { official_name: String::from("French Guiana"), short_name: String::from("French Guiana"), iso2: String::from("GF"), iso3: String::from("GUF"), num3: 254 }, Country { official_name: String::from("Guam"), short_name: String::from("Guam"), iso2: String::from("GU"), iso3: String::from("GUM"), num3: 316 }, Country { official_name: String::from("Co‑operative Republic of Guyana"), short_name: String::from("Guyana"), iso2: String::from("GY"), iso3: String::from("GUY"), num3: 328 }, Country { official_name: String::from("Hong Kong Special Administrative Region of the People's Republic of China"), short_name: String::from("Hong Kong"), iso2: String::from("HK"), iso3: String::from("HKG"), num3: 344 }, Country { official_name: String::from("Territory of Heard Island and McDonald Islands"), short_name: String::from("Heard Island and McDonald Islands"), iso2: String::from("HM"), iso3: String::from("HMD"), num3: 334 }, Country { official_name: String::from("Republic of Honduras"), short_name: String::from("Honduras"), iso2: String::from("HN"), iso3: String::from("HND"), num3: 340 }, Country { official_name: String::from("Republic of Croatia"), short_name: String::from("Croatia"), iso2: String::from("HR"), iso3: String::from("HRV"), num3: 191 }, Country { official_name: String::from("Republic of Haiti"), short_name: String::from("Haiti"), iso2: String::from("HT"), iso3: String::from("HTI"), num3: 332 }, Country { official_name: String::from("Hungary"), short_name: String::from("Hungary"), iso2: String::from("HU"), iso3: String::from("HUN"), num3: 348 }, Country { official_name: String::from("Republic of Indonesia"), short_name: String::from("Indonesia"), iso2: String::from("ID"), iso3: String::from("IDN"), num3: 360 }, Country { official_name: String::from("Isle of Man"), short_name: String::from("Isle of Man"), iso2: String::from("IM"), iso3: String::from("IMN"), num3: 833 }, Country { official_name: String::from("Republic of India"), short_name: String::from("India"), iso2: String::from("IN"), iso3: String::from("IND"), num3: 356 }, Country { official_name: String::from("British Indian Ocean Territory"), short_name: String::from("British Indian Ocean Territory"), iso2: String::from("IO"), iso3: String::from("IOT"), num3: 86 }, Country { official_name: String::from("Republic of Ireland"), short_name: String::from("Ireland"), iso2: String::from("IE"), iso3: String::from("IRL"), num3: 372 }, Country { official_name: String::from("Islamic Republic of Iran"), short_name: String::from("Iran"), iso2: String::from("IR"), iso3: String::from("IRN"), num3: 364 }, Country { official_name: String::from("Republic of Iraq"), short_name: String::from("Iraq"), iso2: String::from("IQ"), iso3: String::from("IRQ"), num3: 368 }, Country { official_name: String::from("Iceland"), short_name: String::from("Iceland"), iso2: String::from("IS"), iso3: String::from("ISL"), num3: 352 }, Country { official_name: String::from("State of Israel"), short_name: String::from("Israel"), iso2: String::from("IL"), iso3: String::from("ISR"), num3: 376 }, Country { official_name: String::from("Italian Republic"), short_name: String::from("Italy"), iso2: String::from("IT"), iso3: String::from("ITA"), num3: 380 }, Country { official_name: String::from("Jamaica"), short_name: String::from("Jamaica"), iso2: String::from("JM"), iso3: String::from("JAM"), num3: 388 }, Country { official_name: String::from("Bailiwick of Jersey"), short_name: String::from("Jersey"), iso2: String::from("JE"), iso3: String::from("JEY"), num3: 832 }, Country { official_name: String::from("Hashemite Kingdom of Jordan"), short_name: String::from("Jordan"), iso2: String::from("JO"), iso3: String::from("JOR"), num3: 400 }, Country { official_name: String::from("Japan"), short_name: String::from("Japan"), iso2: String::from("JP"), iso3: String::from("JPN"), num3: 392 }, Country { official_name: String::from("Republic of Kazakhstan"), short_name: String::from("Kazakhstan"), iso2: String::from("KZ"), iso3: String::from("KAZ"), num3: 398 }, Country { official_name: String::from("Republic of Kenya"), short_name: String::from("Kenya"), iso2: String::from("KE"), iso3: String::from("KEN"), num3: 404 }, Country { official_name: String::from("Kyrgyz Republic"), short_name: String::from("Kyrgyzstan"), iso2: String::from("KG"), iso3: String::from("KGZ"), num3: 417 }, Country { official_name: String::from("Kingdom of Cambodia"), short_name: String::from("Cambodia"), iso2: String::from("KH"), iso3: String::from("KHM"), num3: 116 }, Country { official_name: String::from("Republic of Kiribati"), short_name: String::from("Kiribati"), iso2: String::from("KI"), iso3: String::from("KIR"), num3: 296 }, Country { official_name: String::from("Federation of Saint Christopher and Nevis"), short_name: String::from("Saint Kitts and Nevis"), iso2: String::from("KN"), iso3: String::from("KNA"), num3: 659 }, Country { official_name: String::from("Republic of Korea"), short_name: String::from("South Korea"), iso2: String::from("KR"), iso3: String::from("KOR"), num3: 410 }, Country { official_name: String::from("State of Kuwait"), short_name: String::from("Kuwait"), iso2: String::from("KW"), iso3: String::from("KWT"), num3: 414 }, Country { official_name: String::from("Lao People's Democratic Republic"), short_name: String::from("Laos"), iso2: String::from("LA"), iso3: String::from("LAO"), num3: 418 }, Country { official_name: String::from("Lebanese Republic"), short_name: String::from("Lebanon"), iso2: String::from("LB"), iso3: String::from("LBN"), num3: 422 }, Country { official_name: String::from("Republic of Liberia"), short_name: String::from("Liberia"), iso2: String::from("LR"), iso3: String::from("LBR"), num3: 430 }, Country { official_name: String::from("State of Libya"), short_name: String::from("Libya"), iso2: String::from("LY"), iso3: String::from("LBY"), num3: 434 }, Country { official_name: String::from("Saint Lucia"), short_name: String::from("Saint Lucia"), iso2: String::from("LC"), iso3: String::from("LCA"), num3: 662 }, Country { official_name: String::from("Principality of Liechtenstein"), short_name: String::from("Liechtenstein"), iso2: String::from("LI"), iso3: String::from("LIE"), num3: 438 }, Country { official_name: String::from("Democratic Socialist Republic of Sri Lanka"), short_name: String::from("Sri Lanka"), iso2: String::from("LK"), iso3: String::from("LKA"), num3: 144 }, Country { official_name: String::from("Kingdom of Lesotho"), short_name: String::from("Lesotho"), iso2: String::from("LS"), iso3: String::from("LSO"), num3: 426 }, Country { official_name: String::from("Republic of Lithuania"), short_name: String::from("Lithuania"), iso2: String::from("LT"), iso3: String::from("LTU"), num3: 440 }, Country { official_name: String::from("Grand Duchy of Luxembourg"), short_name: String::from("Luxembourg"), iso2: String::from("LU"), iso3: String::from("LUX"), num3: 442 }, Country { official_name: String::from("Republic of Latvia"), short_name: String::from("Latvia"), iso2: String::from("LV"), iso3: String::from("LVA"), num3: 428 }, Country { official_name: String::from("Macao Special Administrative Region of the People's Republic of China"), short_name: String::from("Macau"), iso2: String::from("MO"), iso3: String::from("MAC"), num3: 446 }, Country { official_name: String::from("Collectivity of Saint Martin"), short_name: String::from("Saint Martin"), iso2: String::from("MF"), iso3: String::from("MAF"), num3: 663 }, Country { official_name: String::from("Kingdom of Morocco"), short_name: String::from("Morocco"), iso2: String::from("MA"), iso3: String::from("MAR"), num3: 504 }, Country { official_name: String::from("Principality of Monaco"), short_name: String::from("Monaco"), iso2: String::from("MC"), iso3: String::from("MCO"), num3: 492 }, Country { official_name: String::from("Republic of Moldova"), short_name: String::from("Moldova"), iso2: String::from("MD"), iso3: String::from("MDA"), num3: 498 }, Country { official_name: String::from("Republic of Madagascar"), short_name: String::from("Madagascar"), iso2: String::from("MG"), iso3: String::from("MDG"), num3: 450 }, Country { official_name: String::from("Republic of Maldives"), short_name: String::from("Maldives"), iso2: String::from("MV"), iso3: String::from("MDV"), num3: 462 }, Country { official_name: String::from("United Mexican States"), short_name: String::from("Mexico"), iso2: String::from("MX"), iso3: String::from("MEX"), num3: 484 }, Country { official_name: String::from("Republic of the Marshall Islands"), short_name: String::from("Marshall Islands"), iso2: String::from("MH"), iso3: String::from("MHL"), num3: 584 }, Country { official_name: String::from("Republic of North Macedonia"), short_name: String::from("North Macedonia"), iso2: String::from("MK"), iso3: String::from("MKD"), num3: 807 }, Country { official_name: String::from("Republic of Mali"), short_name: String::from("Mali"), iso2: String::from("ML"), iso3: String::from("MLI"), num3: 466 }, Country { official_name: String::from("Republic of Malta"), short_name: String::from("Malta"), iso2: String::from("MT"), iso3: String::from("MLT"), num3: 470 }, Country { official_name: String::from("Republic of the Union of Myanmar"), short_name: String::from("Myanmar"), iso2: String::from("MM"), iso3: String::from("MMR"), num3: 104 }, Country { official_name: String::from("Montenegro"), short_name: String::from("Montenegro"), iso2: String::from("ME"), iso3: String::from("MNE"), num3: 499 }, Country { official_name: String::from("Mongolia"), short_name: String::from("Mongolia"), iso2: String::from("MN"), iso3: String::from("MNG"), num3: 496 }, Country { official_name: String::from("Commonwealth of the Northern Mariana Islands"), short_name: String::from("Northern Mariana Islands"), iso2: String::from("MP"), iso3: String::from("MNP"), num3: 580 }, Country { official_name: String::from("Republic of Mozambique"), short_name: String::from("Mozambique"), iso2: String::from("MZ"), iso3: String::from("MOZ"), num3: 508 }, Country { official_name: String::from("Islamic Republic of Mauritania"), short_name: String::from("Mauritania"), iso2: String::from("MR"), iso3: String::from("MRT"), num3: 478 }, Country { official_name: String::from("Montserrat"), short_name: String::from("Montserrat"), iso2: String::from("MS"), iso3: String::from("MSR"), num3: 500 }, Country { official_name: String::from("Martinique"), short_name: String::from("Martinique"), iso2: String::from("MQ"), iso3: String::from("MTQ"), num3: 474 }, Country { official_name: String::from("Republic of Mauritius"), short_name: String::from("Mauritius"), iso2: String::from("MU"), iso3: String::from("MUS"), num3: 480 }, Country { official_name: String::from("Republic of Malawi"), short_name: String::from("Malawi"), iso2: String::from("MW"), iso3: String::from("MWI"), num3: 454 }, Country { official_name: String::from("Malaysia"), short_name: String::from("Malaysia"), iso2: String::from("MY"), iso3: String::from("MYS"), num3: 458 }, Country { official_name: String::from("Department of Mayotte"), short_name: String::from("Mayotte"), iso2: String::from("YT"), iso3: String::from("MYT"), num3: 175 }, Country { official_name: String::from("Republic of Namibia"), short_name: String::from("Namibia"), iso2: String::from("NA"), iso3: String::from("NAM"), num3: 516 }, Country { official_name: String::from("New Caledonia"), short_name: String::from("New Caledonia"), iso2: String::from("NC"), iso3: String::from("NCL"), num3: 540 }, Country { official_name: String::from("Republic of the Niger"), short_name: String::from("Niger"), iso2: String::from("NE"), iso3: String::from("NER"), num3: 562 }, Country { official_name: String::from("Norfolk Island"), short_name: String::from("Norfolk Island"), iso2: String::from("NF"), iso3: String::from("NFK"), num3: 574 }, Country { official_name: String::from("Federal Republic of Nigeria"), short_name: String::from("Nigeria"), iso2: String::from("NG"), iso3: String::from("NGA"), num3: 566 }, Country { official_name: String::from("Republic of Nicaragua"), short_name: String::from("Nicaragua"), iso2: String::from("NI"), iso3: String::from("NIC"), num3: 558 }, Country { official_name: String::from("Niue"), short_name: String::from("Niue"), iso2: String::from("NU"), iso3: String::from("NIU"), num3: 570 }, Country { official_name: String::from("Netherlands"), short_name: String::from("Netherlands"), iso2: String::from("NL"), iso3: String::from("NIU"), num3: 528 }, Country { official_name: String::from("Kingdom of Norway"), short_name: String::from("Norway"), iso2: String::from("NO"), iso3: String::from("NOR"), num3: 578 }, Country { official_name: String::from("Federal Democratic Republic of Nepal"), short_name: String::from("Nepal"), iso2: String::from("NP"), iso3: String::from("NPL"), num3: 524 }, Country { official_name: String::from("Republic of Nauru"), short_name: String::from("Nauru"), iso2: String::from("NR"), iso3: String::from("NRU"), num3: 520 }, Country { official_name: String::from("New Zealand"), short_name: String::from("New Zealand"), iso2: String::from("NZ"), iso3: String::from("NZL"), num3: 554 }, Country { official_name: String::from("Sultanate of Oman"), short_name: String::from("Oman"), iso2: String::from("OM"), iso3: String::from("OMN"), num3: 512 }, Country { official_name: String::from("Islamic Republic of Pakistan"), short_name: String::from("Pakistan"), iso2: String::from("PK"), iso3: String::from("PAK"), num3: 586 }, Country { official_name: String::from("Republic of Panama"), short_name: String::from("Panama"), iso2: String::from("PA"), iso3: String::from("PAN"), num3: 591 }, Country { official_name: String::from("Pitcairn, Henderson, Ducie and Oeno Islands"), short_name: String::from("Pitcairn Islands"), iso2: String::from("PN"), iso3: String::from("PCN"), num3: 612 }, Country { official_name: String::from("Republic of Peru"), short_name: String::from("Peru"), iso2: String::from("PE"), iso3: String::from("PER"), num3: 604 }, Country { official_name: String::from("Republic of the Philippines"), short_name: String::from("Philippines"), iso2: String::from("PH"), iso3: String::from("PHL"), num3: 608 }, Country { official_name: String::from("Republic of Palau"), short_name: String::from("Palau"), iso2: String::from("PW"), iso3: String::from("PLW"), num3: 585 }, Country { official_name: String::from("Independent State of Papua New Guinea"), short_name: String::from("Papua New Guinea"), iso2: String::from("PG"), iso3: String::from("PNG"), num3: 598 }, Country { official_name: String::from("Republic of Poland"), short_name: String::from("Poland"), iso2: String::from("PL"), iso3: String::from("POL"), num3: 616 }, Country { official_name: String::from("Commonwealth of Puerto Rico"), short_name: String::from("Puerto Rico"), iso2: String::from("PR"), iso3: String::from("PRI"), num3: 630 }, Country { official_name: String::from("Democratic People's Republic of Korea"), short_name: String::from("North Korea"), iso2: String::from("KP"), iso3: String::from("PRK"), num3: 408 }, Country { official_name: String::from("Portuguese Republic"), short_name: String::from("Portugal"), iso2: String::from("PT"), iso3: String::from("PRT"), num3: 620 }, Country { official_name: String::from("Republic of Paraguay"), short_name: String::from("Paraguay"), iso2: String::from("PY"), iso3: String::from("PRY"), num3: 600 }, Country { official_name: String::from("State of Palestine"), short_name: String::from("Palestine"), iso2: String::from("PS"), iso3: String::from("PSE"), num3: 275 }, Country { official_name: String::from("French Polynesia"), short_name: String::from("French Polynesia"), iso2: String::from("PF"), iso3: String::from("PYF"), num3: 258 }, Country { official_name: String::from("State of Qatar"), short_name: String::from("Qatar"), iso2: String::from("QA"), iso3: String::from("QAT"), num3: 634 }, Country { official_name: String::from("Réunion"), short_name: String::from("Réunion"), iso2: String::from("RE"), iso3: String::from("REU"), num3: 638 }, Country { official_name: String::from("Romania"), short_name: String::from("Romania"), iso2: String::from("RO"), iso3: String::from("ROU"), num3: 642 }, Country { official_name: String::from("Russian Federation"), short_name: String::from("Russia"), iso2: String::from("RU"), iso3: String::from("RUS"), num3: 643 }, Country { official_name: String::from("Republic of Rwanda"), short_name: String::from("Rwanda"), iso2: String::from("RW"), iso3: String::from("RWA"), num3: 646 }, Country { official_name: String::from("Kingdom of Saudi Arabia"), short_name: String::from("Saudi Arabia"), iso2: String::from("SA"), iso3: String::from("SAU"), num3: 682 }, Country { official_name: String::from("Republic of the Sudan"), short_name: String::from("Sudan"), iso2: String::from("SD"), iso3: String::from("SDN"), num3: 729 }, Country { official_name: String::from("Republic of Senegal"), short_name: String::from("Senegal"), iso2: String::from("SN"), iso3: String::from("SEN"), num3: 686 }, Country { official_name: String::from("Republic of Singapore"), short_name: String::from("Singapore"), iso2: String::from("SG"), iso3: String::from("SGP"), num3: 702 }, Country { official_name: String::from("South Georgia and the South Sandwich Islands"), short_name: String::from("South Georgia and the South Sandwich Islands"), iso2: String::from("GS"), iso3: String::from("SGS"), num3: 239 }, Country { official_name: String::from("Saint Helena, Ascension and Tristan da Cunha"), short_name: String::from("Saint Helena, Ascension and Tristan da Cunha"), iso2: String::from("SH"), iso3: String::from("SHN"), num3: 654 }, Country { official_name: String::from("Svalbard and Jan Mayen"), short_name: String::from("Svalbard and Jan Mayen"), iso2: String::from("SJ"), iso3: String::from("SJM"), num3: 744 }, Country { official_name: String::from("Solomon Islands"), short_name: String::from("Solomon Islands"), iso2: String::from("SB"), iso3: String::from("SLB"), num3: 90 }, Country { official_name: String::from("Republic of Sierra Leone"), short_name: String::from("Sierra Leone"), iso2: String::from("SL"), iso3: String::from("SLE"), num3: 694 }, Country { official_name: String::from("Republic of El Salvador"), short_name: String::from("El Salvador"), iso2: String::from("SV"), iso3: String::from("SLV"), num3: 222 }, Country { official_name: String::from("Republic of San Marino"), short_name: String::from("San Marino"), iso2: String::from("SM"), iso3: String::from("SMR"), num3: 674 }, Country { official_name: String::from("Federal Republic of Somalia"), short_name: String::from("Somalia"), iso2: String::from("SO"), iso3: String::from("SOM"), num3: 706 }, Country { official_name: String::from("Territorial Collectivity of Saint-Pierre and Miquelon"), short_name: String::from("Saint Pierre and Miquelon"), iso2: String::from("PM"), iso3: String::from("SPM"), num3: 666 }, Country { official_name: String::from("Republic of Serbia"), short_name: String::from("Serbia"), iso2: String::from("RS"), iso3: String::from("SRB"), num3: 688 }, Country { official_name: String::from("Republic of South Sudan"), short_name: String::from("South Sudan"), iso2: String::from("SS"), iso3: String::from("SSD"), num3: 728 }, Country { official_name: String::from("Democratic Republic of São Tomé and Príncipe"), short_name: String::from("Sao Tome and Principe"), iso2: String::from("ST"), iso3: String::from("STP"), num3: 678 }, Country { official_name: String::from("Republic of Suriname"), short_name: String::from("Suriname"), iso2: String::from("SR"), iso3: String::from("SUR"), num3: 740 }, Country { official_name: String::from("Slovak Republic"), short_name: String::from("Slovakia"), iso2: String::from("SK"), iso3: String::from("SVK"), num3: 703 }, Country { official_name: String::from("Republic of Slovenia"), short_name: String::from("Slovenia"), iso2: String::from("SI"), iso3: String::from("SVN"), num3: 705 }, Country { official_name: String::from("Kingdom of Sweden"), short_name: String::from("Sweden"), iso2: String::from("SE"), iso3: String::from("SWE"), num3: 752 }, Country { official_name: String::from("Kingdom of Eswatini"), short_name: String::from("Eswatini"), iso2: String::from("SZ"), iso3: String::from("SWZ"), num3: 748 }, Country { official_name: String::from("Sint Maarten"), short_name: String::from("Sint Maarten"), iso2: String::from("SX"), iso3: String::from("SXM"), num3: 534 }, Country { official_name: String::from("Republic of Seychelles"), short_name: String::from("Seychelles"), iso2: String::from("SC"), iso3: String::from("SYC"), num3: 690 }, Country { official_name: String::from("Syrian Arab Republic"), short_name: String::from("Syria"), iso2: String::from("SY"), iso3: String::from("SYR"), num3: 760 }, Country { official_name: String::from("Turks and Caicos Islands"), short_name: String::from("Turks and Caicos Islands"), iso2: String::from("TC"), iso3: String::from("TCA"), num3: 796 }, Country { official_name: String::from("Republic of Chad"), short_name: String::from("Chad"), iso2: String::from("TD"), iso3: String::from("TCD"), num3: 148 }, Country { official_name: String::from("Togolese Republic"), short_name: String::from("Togo"), iso2: String::from("TG"), iso3: String::from("TGO"), num3: 768 }, Country { official_name: String::from("Kingdom of Thailand"), short_name: String::from("Thailand"), iso2: String::from("TH"), iso3: String::from("THA"), num3: 764 }, Country { official_name: String::from("Republic of Tajikistan"), short_name: String::from("Tajikistan"), iso2: String::from("TJ"), iso3: String::from("TJK"), num3: 762 }, Country { official_name: String::from("Tokelau Islands"), short_name: String::from("Tokelau"), iso2: String::from("TK"), iso3: String::from("TKL"), num3: 772 }, Country { official_name: String::from("Turkmenistan"), short_name: String::from("Turkmenistan"), iso2: String::from("TM"), iso3: String::from("TKM"), num3: 795 }, Country { official_name: String::from("Democratic Republic of Timor-Leste"), short_name: String::from("East Timor"), iso2: String::from("TL"), iso3: String::from("TLS"), num3: 626 }, Country { official_name: String::from("Kingdom of Tonga"), short_name: String::from("Tonga"), iso2: String::from("TO"), iso3: String::from("TON"), num3: 776 }, Country { official_name: String::from("Republic of Trinidad and Tobago"), short_name: String::from("Trinidad and Tobago"), iso2: String::from("TT"), iso3: String::from("TTO"), num3: 780 }, Country { official_name: String::from("Republic of Tunisia"), short_name: String::from("Tunisia"), iso2: String::from("TN"), iso3: String::from("TUN"), num3: 788 }, Country { official_name: String::from("Republic of Turkey"), short_name: String::from("Turkey"), iso2: String::from("TR"), iso3: String::from("TUR"), num3: 792 }, Country { official_name: String::from("Tuvalu"), short_name: String::from("Tuvalu"), iso2: String::from("TV"), iso3: String::from("TUV"), num3: 798 }, Country { official_name: String::from("Republic of China"), short_name: String::from("Taiwan"), iso2: String::from("TW"), iso3: String::from("TWN"), num3: 158 }, Country { official_name: String::from("United Republic of Tanzania"), short_name: String::from("Tanzania"), iso2: String::from("TZ"), iso3: String::from("TZA"), num3: 834 }, Country { official_name: String::from("Republic of Ugand"), short_name: String::from("Uganda"), iso2: String::from("UG"), iso3: String::from("UGA"), num3: 800 }, Country { official_name: String::from("Ukraine"), short_name: String::from("Ukraine"), iso2: String::from("UA"), iso3: String::from("UKR"), num3: 804 }, Country { official_name: String::from("United States Minor Outlying Islands"), short_name: String::from("United States Minor Outlying Islands"), iso2: String::from("UM"), iso3: String::from("UMI"), num3: 581 }, Country { official_name: String::from("Oriental Republic of Uruguay"), short_name: String::from("Uruguay"), iso2: String::from("UY"), iso3: String::from("URY"), num3: 858 }, Country { official_name: String::from("United States of America"), short_name: String::from("United States"), iso2: String::from("US"), iso3: String::from("USA"), num3: 840 }, Country { official_name: String::from("Republic of Uzbekistan"), short_name: String::from("Uzbekistan"), iso2: String::from("UZ"), iso3: String::from("UZB"), num3: 860 }, Country { official_name: String::from("Vatican City State"), short_name: String::from("Vatican City"), iso2: String::from("VA"), iso3: String::from("VAT"), num3: 336 }, Country { official_name: String::from("Saint Vincent and the Grenadines"), short_name: String::from("Saint Vincent"), iso2: String::from("VC"), iso3: String::from("VCT"), num3: 670 }, Country { official_name: String::from("Bolivarian Republic of Venezuela"), short_name: String::from("Venezuela"), iso2: String::from("VE"), iso3: String::from("VEN"), num3: 862 }, Country { official_name: String::from("Virgin Islands"), short_name: String::from("British Virgin Islands"), iso2: String::from("VG"), iso3: String::from("VGB"), num3: 92 }, Country { official_name: String::from("Virgin Islands of the United States"), short_name: String::from("United States Virgin Islands"), iso2: String::from("VI"), iso3: String::from("VIR"), num3: 850 }, Country { official_name: String::from("Socialist Republic of Vietnam"), short_name: String::from("Vietnam"), iso2: String::from("VN"), iso3: String::from("VNM"), num3: 704 }, Country { official_name: String::from("Republic of Vanuatu"), short_name: String::from("Vanuatu"), iso2: String::from("VU"), iso3: String::from("VUT"), num3: 548 }, Country { official_name: String::from("Territory of the Wallis and Futuna Islands"), short_name: String::from("Wallis and Futuna"), iso2: String::from("WF"), iso3: String::from("WLF"), num3: 876 }, Country { official_name: String::from("Independent State of Samoa"), short_name: String::from("Samoa"), iso2: String::from("WS"), iso3: String::from("WSM"), num3: 882 }, Country { official_name: String::from("Republic of Yemen"), short_name: String::from("Yemen"), iso2: String::from("YE"), iso3: String::from("YEM"), num3: 887 }, Country { official_name: String::from("Republic of South Africa"), short_name: String::from("South Africa"), iso2: String::from("ZA"), iso3: String::from("ZAF"), num3: 710 }, Country { official_name: String::from("Republic of Zambia"), short_name: String::from("Zambia"), iso2: String::from("ZM"), iso3: String::from("ZMB"), num3: 895 }, Country { official_name: String::from("Republic of Zimbabwe"), short_name: String::from("Zimbabwe"), iso2: String::from("ZW"), iso3: String::from("ZWE"), num3: 716 }, ];
}