from random import choice
from .supportive_functions import (
    generate_female_name,
    generate_male_name,
    generate_surname_less,
    remove_duplicates,
)


female_prefix = [
    "ba",
    "be",
    "bol",
    "chi",
    "da",
    "dor",
    "e",
    "en",
    "ga",
    "ge",
    "go",
    "je",
    "ji",
    "ka",
    "ke",
    "la",
    "le",
    "lu",
    "ma",
    "me",
    "mo",
    "na",
    "ne",
    "o",
    "on",
    "sa",
    "se",
    "so",
    "su",
    "ta",
    "te",
    "to",
    "tu",
    "u",
    "un",
    "ya",
    "yo",
]

female_suffix = [
    "a",
    "aa",
    "ai",
    "ami",
    "an",
    "ara",
    "ari",
    "ariya",
    "ay",
    "bayar",
    "bileg",
    "bish",
    "bolor",
    "dari",
    "delger",
    "dolgor",
    "dorj",
    "dzaya",
    "e",
    "ei",
    "en",
    "ena",
    "ergui",
    "gerel",
    "guya",
    "jargal",
    "jirim",
    "khatan",
    "khulan",
    "mend",
    "munkh",
    "naran",
    "nomin",
    "nur",
    "nyam",
    "nyamaa",
    "od",
    "oldoo",
    "orgil",
    "sar",
    "sarnai",
    "sodnom",
    "suvdaa",
    "temuujin",
    "tsetseg",
    "tulga",
    "tuya",
    "ulan",
    "undur",
    "unurtsetseg",
    "uyanga",
    "yagaan",
    "yasu",
    "yo",
    "yonjoo",
    "zaya",
    "zolboo",
]

male_prefix = [
    "ba",
    "ban",
    "bay",
    "bod",
    "bol",
    "bor",
    "bul",
    "da",
    "dag",
    "del",
    "dor",
    "du",
    "dul",
    "dun",
    "ga",
    "gan",
    "gard",
    "ge",
    "ger",
    "gur",
    "ho",
    "hor",
    "hun",
    "huu",
    "in",
    "ir",
    "ja",
    "jam",
    "je",
    "jir",
    "jiy",
    "khad",
    "khur",
    "khuu",
    "ma",
    "mar",
    "mend",
    "mur",
    "na",
    "nam",
    "nor",
    "nur",
    "od",
    "old",
    "ond",
    "or",
    "sai",
    "saihan",
    "sod",
    "sor",
    "su",
    "sukh",
    "tum",
    "tuv",
    "ug",
    "und",
    "ur",
    "usk",
    "zor",
]

male_suffix = [
    "baatar",
    "bazar",
    "bold",
    "dai",
    "dorj",
    "erdene",
    "gal",
    "gan",
    "gerel",
    "gur",
    "khuu",
    "la",
    "mandakh",
    "mur",
    "nyam",
    "od",
    "old",
    "ondor",
    "orgil",
    "sai",
    "saihan",
    "sod",
    "tum",
    "tuv",
    "undari",
    "ur",
    "usk",
    "zayaa",
]

surname_prefix = [
    "bai",
    "bat",
    "bata",
    "bold",
    "chulu",
    "dash",
    "dava",
    "erd",
    "gana",
    "gant",
    "jav",
    "jarg",
    "khun",
    "khuu",
    "munkh",
    "naran",
    "nyam",
    "ochir",
    "orgil",
    "sukh",
    "tug",
    "tulga",
    "tuv",
    "ugan",
    "undrakh",
    "urtna",
    "yond",
    "zaya",
]

surname_suffix = [
    "aa",
    "baatar",
    "bileg",
    "bolor",
    "chimeg",
    "delger",
    "dorj",
    "gerel",
    "gurav",
    "hongor",
    "jargal",
    "khand",
    "khishig",
    "maa",
    "nar",
    "nasan",
    "ochir",
    "orkh",
    "saihan",
    "sambuu",
    "tsetseg",
    "tseren",
    "tsetse",
    "tuguldur",
    "ulan",
    "undrakh",
    "urt",
    "zorig",
]

female_names = [
    "Altantsetseg",
    "Anu",
    "Ariun",
    "Arslan",
    "Batu",
    "Bekh",
    "Bileg",
    "Bulgan",
    "Börte",
    "Chagatai",
    "Dalai",
    "Dorje",
    "Erdene",
    "Esenge",
    "Ganga",
    "Gelug",
    "Gobi",
    "Güyük",
    "Jochi",
    "Khadan",
    "Khatan",
    "Khorlo",
    "Khulan",
    "Kublai",
    "Kulan",
    "Lhama",
    "Mandukhai",
    "Mönkh",
    "Naran",
    "Nergüi",
    "Noyon",
    "Odchigin",
    "Odon",
    "Oirad",
    "Ondor",
    "Orlok",
    "Oyun",
    "Qutuqtu",
    "Rinchen",
    "Saldar",
    "Sarnai",
    "Sechen",
    "Sengge",
    "Seren",
    "Sorkhaqtani",
    "Tenger",
    "Toghril",
    "Töregene",
    "Ujin",
    "Ulaan",
    "Urtu",
    "Yesui",
    "Yisügei",
    "Yuden",
    "Zaya",
    "Zaya Pandita",
    "Zayayin",
    "Zereg",
    "Zhenjin",
    "Zulaykha",
    "Zurgadai",
    "Zvun",
    "Züünbayan",
    "Züüngar",
    "Ögedei",
    "Öndör",
    "Özübek",
]

male_names = [
    "Altan",
    "Amarsanaa",
    "Arban",
    "Bataar",
    "Batbayar",
    "Batbold",
    "Batu",
    "Bayaraa",
    "Bileg",
    "Bogd",
    "Bolormaa",
    "Buyan",
    "Chinua",
    "Dambi",
    "Danzanravjaa",
    "Davaa",
    "Delger",
    "Demberel",
    "Dorj",
    "Enebish",
    "Erdene",
    "Erdeni",
    "Galdan",
    "Ganbaatar",
    "Ganbold",
    "Ganzorig",
    "Genghis",
    "Jabkhai",
    "Jamukha",
    "Jangar",
    "Jargal",
    "Javkhlantugs",
    "Jugder",
    "Khan",
    "Khorloo",
    "Khulan",
    "Khurelbaatar",
    "Kublai",
    "Lkhagva",
    "Mandukhai",
    "Mendbayar",
    "Mendee",
    "Naran",
    "Nergui",
    "Noyon",
    "Ochir",
    "Od",
    "Odon",
    "Onon",
    "Oyun",
    "Oyuntsetseg",
    "Puntsag",
    "Sengge",
    "Sodnom",
    "Suhbaatar",
    "Surendraa",
    "Toghrul",
    "Tsakhiagiin",
    "Tsetseg",
    "Tsogt",
    "Tumen",
    "Tuvshin",
    "Uchral",
    "Ulaan",
    "Ulzi",
    "Undraa",
    "Urgyen",
    "Urtnasan",
    "Uuganbaatar",
    "Yondon",
    "Yudhisthira",
    "Zanabazar",
    "Zorig",
]

surnames = [
    "Ariq",
    "Baatar",
    "Bagatur",
    "Bataar",
    "Bayan",
    "Bekh",
    "Borte",
    "Buka",
    "Burkhan",
    "Chinggis",
    "Dai",
    "Dalai",
    "Danzan",
    "Darhan",
    "Dashi",
    "Delger",
    "Doljin",
    "Dorji",
    "Duwa",
    "Eke",
    "Erdeni",
    "Ghenghis",
    "Gobi",
    "Gombodorj",
    "Gurkhan",
    "Hachi",
    "Hada",
    "Hasar",
    "Horijin",
    "Ideriin",
    "Ilgei",
    "Jabkha",
    "Jalair",
    "Jigjid",
    "Jugder",
    "Kachi",
    "Kadan",
    "Khanuy",
    "Khorlo",
    "Khubilai",
    "Khukh",
    "Khun",
    "Khutulun",
    "Kokochu",
    "Konchok",
    "Lhamo",
    "Mandukhai",
    "Modu",
    "Mongke",
    "Naiman",
    "Naran",
    "Nergui",
    "Norbu",
    "Ogedei",
    "Oljei",
    "Onon",
    "Ord",
    "Orlok",
    "Orten",
    "Otgon",
    "Padma",
    "Qasar",
    "Qorchi",
    "Rashid",
    "Sain",
    "Senge",
    "Shagdaryn",
    "Sodnom",
    "Sonam",
    "Sorkhon",
    "Suld",
    "Sungari",
    "Tabun",
    "Tengger",
    "Toghril",
    "Tughrul",
    "Tumen",
    "Turgen",
    "Tuya",
    "Ujin",
    "Ulaan",
    "Ulziit",
    "Unen",
    "Urgen",
    "Usukh",
    "Utka",
    "Yelü",
    "Yesugei",
    "Yisügei",
    "Yuden",
    "Zaya",
    "Zayat",
    "Zorig",
]

female = generate_female_name(female_prefix, female_suffix, min=1, max=1)
male = generate_male_name(male_prefix, male_suffix, min=1, max=1)
surname = generate_surname_less(surname_prefix, surname_suffix)

female_lbr = choice(female_names)
male_lbr = choice(male_names)
surname_lbr = choice(surnames)
