// Path: datagen/src/main/java/io/qala/datagen/RandomShortApi.java
// public static <T> T sample(Collection<T> toSampleFrom) {
//     return from(toSampleFrom).sample();
// }


import static io.qala.datagen.RandomShortApi.sample;
    KE("Kenya"), KG("Kyrgyzstan"), KH("Cambodia"), KI("Kiribati"), KM("Comoros"), KN("Saint Kitts and Nevis"),
    KP("Korea, North"), KR("Korea, South"), KW("Kuwait"), KY("Cayman Islands"), KZ("Kazakhstan"), LA("Laos"),
    LB("Lebanon"), LC("Saint Lucia"), LI("Liechtenstein"), LK("Sri Lanka"), LR("Liberia"), LS("Lesotho"),
    LT("Lithuania"), LU("Luxembourg"), LV("Latvia"), LY("Libya"), MA("Morocco"), MC("Monaco"), MD("Moldova"),
    ME("Montenegro"), MF("Saint Martin"), MG("Madagascar"), MH("Marshall Islands"), MK("Macedonia"), ML("Mali"),
    MM("Burma"), MN("Mongolia"), MO("Macau"), MP("Northern Mariana Islands"), MQ("Martinique"), MR("Mauritania"),
    MS("Montserrat"), MT("Malta"), MU("Mauritius"), MV("Maldives"), MW("Malawi"), MX("Mexico"), MY("Malaysia"),
    MZ("Mozambique"), NA("Namibia"), NC("New Caledonia"), NE("Niger"), NF("Norfolk Island"), NG("Nigeria"),
    NI("Nicaragua"), NL("Netherlands"), NO("Norway"), NP("Nepal"), NR("Nauru"), NU("Niue"), NZ("New Zealand"),
    OM("Oman"), PA("Panama"), PE("Peru"), PF("French Polynesia"), PG("Papua New Guinea"), PH("Philippines"),
    PK("Pakistan"), PL("Poland"), PM("Saint Pierre and Miquelon"), PN("Pitcairn Islands"), PR("Puerto Rico"),
    PS("West Bank"), PT("Portugal"), PW("Palau"), PY("Paraguay"), QA("Qatar"), RE("Reunion"), RO("Romania"),
    RS("Serbia"), RU("Russia"), RW("Rwanda"), SA("Saudi Arabia"), SB("Solomon Islands"), SC("Seychelles"), SD("Sudan"),
    SE("Sweden"), SG("Singapore"), SH("Saint Helena, Ascension, and Tristan da Cunha"), SI("Slovenia"), SJ("Svalbard"),
    SK("Slovakia"), SL("Sierra Leone"), SM("San Marino"), SN("Senegal"), SO("Somalia"), SR("Suriname"),
    SS("South Sudan"), ST("Sao Tome and Principe"), SV("El Salvador"), SX("Sint Maarten"), SY("Syria"), SZ("Swaziland"),
    TC("Turks and Caicos Islands"), TD("Chad"), TF("French Southern and Antarctic Lands"), TG("Togo"), TH("Thailand"),
    TJ("Tajikistan"), TK("Tokelau"), TL("Timor-Leste"), TM("Turkmenistan"), TN("Tunisia"), TO("Tonga"), TR("Turkey"),
    TT("Trinidad and Tobago"), TV("Tuvalu"), TW("Taiwan"), TZ("Tanzania"), UA("Ukraine"), UG("Uganda"),
    UM("United States Minor Outlying Islands"), US("United States"), UY("Uruguay"), UZ("Uzbekistan"),
    VA("Holy See (Vatican City)"), VC("Saint Vincent and the Grenadines"), VE("Venezuela"), VG("British Virgin Islands"),
    VI("Virgin Islands"), VN("Vietnam"), VU("Vanuatu"), WF("Wallis and Futuna"), WS("Samoa"), XK("Kosovo"), YE("Yemen"),
    YT("Mayotte"), ZA("South Africa"), ZM("Zambia"), ZW("Zimbabwe");

    String name;
    Country(String name) {
        this.name = name;
    }

    public static Country random() {
// Path: datagen/src/main/java/io/qala/datagen/RandomShortApi.java
// public static <T> T sample(Collection<T> toSampleFrom) {
//     return from(toSampleFrom).sample();
// }


// Path: examples/src/main/java/io/qala/datagen/examples/Country.java
import static io.qala.datagen.RandomShortApi.sample;

    KE("Kenya"), KG("Kyrgyzstan"), KH("Cambodia"), KI("Kiribati"), KM("Comoros"), KN("Saint Kitts and Nevis"),
    KP("Korea, North"), KR("Korea, South"), KW("Kuwait"), KY("Cayman Islands"), KZ("Kazakhstan"), LA("Laos"),
    LB("Lebanon"), LC("Saint Lucia"), LI("Liechtenstein"), LK("Sri Lanka"), LR("Liberia"), LS("Lesotho"),
    LT("Lithuania"), LU("Luxembourg"), LV("Latvia"), LY("Libya"), MA("Morocco"), MC("Monaco"), MD("Moldova"),
    ME("Montenegro"), MF("Saint Martin"), MG("Madagascar"), MH("Marshall Islands"), MK("Macedonia"), ML("Mali"),
    MM("Burma"), MN("Mongolia"), MO("Macau"), MP("Northern Mariana Islands"), MQ("Martinique"), MR("Mauritania"),
    MS("Montserrat"), MT("Malta"), MU("Mauritius"), MV("Maldives"), MW("Malawi"), MX("Mexico"), MY("Malaysia"),
    MZ("Mozambique"), NA("Namibia"), NC("New Caledonia"), NE("Niger"), NF("Norfolk Island"), NG("Nigeria"),
    NI("Nicaragua"), NL("Netherlands"), NO("Norway"), NP("Nepal"), NR("Nauru"), NU("Niue"), NZ("New Zealand"),
    OM("Oman"), PA("Panama"), PE("Peru"), PF("French Polynesia"), PG("Papua New Guinea"), PH("Philippines"),
    PK("Pakistan"), PL("Poland"), PM("Saint Pierre and Miquelon"), PN("Pitcairn Islands"), PR("Puerto Rico"),
    PS("West Bank"), PT("Portugal"), PW("Palau"), PY("Paraguay"), QA("Qatar"), RE("Reunion"), RO("Romania"),
    RS("Serbia"), RU("Russia"), RW("Rwanda"), SA("Saudi Arabia"), SB("Solomon Islands"), SC("Seychelles"), SD("Sudan"),
    SE("Sweden"), SG("Singapore"), SH("Saint Helena, Ascension, and Tristan da Cunha"), SI("Slovenia"), SJ("Svalbard"),
    SK("Slovakia"), SL("Sierra Leone"), SM("San Marino"), SN("Senegal"), SO("Somalia"), SR("Suriname"),
    SS("South Sudan"), ST("Sao Tome and Principe"), SV("El Salvador"), SX("Sint Maarten"), SY("Syria"), SZ("Swaziland"),
    TC("Turks and Caicos Islands"), TD("Chad"), TF("French Southern and Antarctic Lands"), TG("Togo"), TH("Thailand"),
    TJ("Tajikistan"), TK("Tokelau"), TL("Timor-Leste"), TM("Turkmenistan"), TN("Tunisia"), TO("Tonga"), TR("Turkey"),
    TT("Trinidad and Tobago"), TV("Tuvalu"), TW("Taiwan"), TZ("Tanzania"), UA("Ukraine"), UG("Uganda"),
    UM("United States Minor Outlying Islands"), US("United States"), UY("Uruguay"), UZ("Uzbekistan"),
    VA("Holy See (Vatican City)"), VC("Saint Vincent and the Grenadines"), VE("Venezuela"), VG("British Virgin Islands"),
    VI("Virgin Islands"), VN("Vietnam"), VU("Vanuatu"), WF("Wallis and Futuna"), WS("Samoa"), XK("Kosovo"), YE("Yemen"),
    YT("Mayotte"), ZA("South Africa"), ZM("Zambia"), ZW("Zimbabwe");

    String name;
    Country(String name) {
        this.name = name;
    }

    public static Country random() {
        return sample(values());