diff --git a/CMakeLists.txt b/CMakeLists.txt index 93331f58..e5d2e8e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,68 +24,40 @@ endif () set(FAKER_SOURCES src/modules/airline/Airline.cpp - src/modules/airline/AirlineData.cpp src/modules/animal/Animal.cpp - src/modules/animal/AnimalData.cpp src/modules/book/Book.cpp - src/modules/book/BookData.cpp src/modules/color/Color.cpp - src/modules/color/ColorData.cpp src/modules/commerce/Commerce.cpp - src/modules/commerce/CommerceData.cpp src/modules/company/Company.cpp - src/modules/company/CompanyData.cpp src/modules/computer/Computer.cpp - src/modules/computer/ComputerData.cpp src/modules/crypto/Crypto.cpp src/modules/database/Database.cpp - src/modules/database/DatabaseData.cpp src/modules/datatype/Datatype.cpp src/modules/date/Date.cpp - src/modules/date/DateData.cpp src/modules/finance/Finance.cpp - src/modules/finance/FinanceData.cpp src/modules/food/Food.cpp - src/modules/food/FoodData.cpp src/modules/git/Git.cpp src/modules/hacker/Hacker.cpp - src/modules/hacker/HackerData.cpp src/modules/helper/Helper.cpp src/modules/image/Image.cpp src/modules/internet/Internet.cpp - src/modules/internet/InternetData.cpp src/modules/location/Location.cpp - src/modules/location/LocationData.cpp src/modules/lorem/Lorem.cpp - src/modules/lorem/LoremData.cpp src/modules/medicine/Medicine.cpp - src/modules/medicine/MedicineData.cpp src/modules/movie/Movie.cpp - src/modules/movie/MovieData.cpp src/modules/music/Music.cpp - src/modules/music/MusicData.cpp src/modules/number/Number.cpp src/modules/person/Person.cpp - src/modules/person/PersonData.cpp src/modules/phone/Phone.cpp - src/modules/phone/PhoneData.cpp src/modules/plant/Plant.cpp - src/modules/plant/PlantData.cpp src/modules/science/Science.cpp - src/modules/science/ScienceData.cpp src/modules/sport/Sport.cpp - src/modules/sport/SportData.cpp src/modules/string/String.cpp src/modules/system/System.cpp - src/modules/system/SystemData.cpp src/modules/vehicle/Vehicle.cpp - src/modules/vehicle/VehicleData.cpp src/modules/videoGame/VideoGame.cpp - src/modules/videoGame/VideoGameData.cpp src/modules/weather/Weather.cpp - src/modules/weather/WeatherData.cpp src/modules/word/Word.cpp - src/modules/word/WordData.cpp src/common/FormatHelper.cpp src/common/LuhnCheck.cpp src/common/StringHelper.cpp diff --git a/src/modules/airline/AirlineData.cpp b/src/modules/airline/AirlineData.cpp deleted file mode 100644 index cc0a90e8..00000000 --- a/src/modules/airline/AirlineData.cpp +++ /dev/null @@ -1,450 +0,0 @@ -#include "AirlineData.h" - -#include -#include -#include - -#include "faker-cxx/Airline.h" - -namespace faker::airline -{ -const std::array aircraftTypes = {"regional", "narrowbody", "widebody"}; - -const std::array airlines = {{ - {"Aegean Airlines", "A3"}, - {"Aeroflot", "SU"}, - {"Aerolineas Argentinas", "AR"}, - {"Aeromexico", "AM"}, - {"Air Algerie", "AH"}, - {"Air Arabia", "G9"}, - {"Air Canada", "AC"}, - {"Air China", "CA"}, - {"Air Europa", "UX"}, - {"Air France-KLM", "AF"}, - {"Air India", "AI"}, - {"Air Mauritius", "MK"}, - {"Air New Zealand", "NZ"}, - {"Air Niugini", "PX"}, - {"Air Tahiti", "VT"}, - {"Air Tahiti Nui", "TN"}, - {"Air Transat", "TS"}, - {"AirAsia X", "D7"}, - {"AirAsia", "AK"}, - {"Aircalin", "SB"}, - {"Alaska Airlines", "AS"}, - {"Alitalia", "AZ"}, - {"All Nippon Airways", "NH"}, - {"Allegiant Air", "G4"}, - {"American Airlines", "AA"}, - {"Asiana Airlines", "OZ"}, - {"Avianca", "AV"}, - {"Azul Linhas Aereas Brasileiras", "AD"}, - {"Azur Air", "ZF"}, - {"Beijing Capital Airlines", "JD"}, - {"Boliviana de Aviacion", "OB"}, - {"British Airways", "BA"}, - {"Cathay Pacific", "CX"}, - {"Cebu Pacific Air", "5J"}, - {"China Airlines", "CI"}, - {"China Eastern Airlines", "MU"}, - {"China Southern Airlines", "CZ"}, - {"Condor", "DE"}, - {"Copa Airlines", "CM"}, - {"Delta Air Lines", "DL"}, - {"Easyfly", "VE"}, - {"EasyJet", "U2"}, - {"EcoJet", "8J"}, - {"Egyptair", "MS"}, - {"El Al", "LY"}, - {"Emirates Airlines", "EK"}, - {"Ethiopian Airlines", "ET"}, - {"Etihad Airways", "EY"}, - {"EVA Air", "BR"}, - {"Fiji Airways", "FJ"}, - {"Finnair", "AY"}, - {"Flybondi", "FO"}, - {"Flydubai", "FZ"}, - {"FlySafair", "FA"}, - {"Frontier Airlines", "F9"}, - {"Garuda Indonesia", "GA"}, - {"Go First", "G8"}, - {"Gol Linhas Aereas Inteligentes", "G3"}, - {"Hainan Airlines", "HU"}, - {"Hawaiian Airlines", "HA"}, - {"IndiGo Airlines", "6E"}, - {"Japan Airlines", "JL"}, - {"Jeju Air", "7C"}, - {"Jet2", "LS"}, - {"JetBlue Airways", "B6"}, - {"JetSMART", "JA"}, - {"Juneyao Airlines", "HO"}, - {"Kenya Airways", "KQ"}, - {"Korean Air", "KE"}, - {"Kulula.com", "MN"}, - {"LATAM Airlines", "LA"}, - {"Lion Air", "JT"}, - {"LOT Polish Airlines", "LO"}, - {"Lufthansa", "LH"}, - {"Libyan Airlines", "LN"}, - {"Linea Aerea Amaszonas", "Z8"}, - {"Malaysia Airlines", "MH"}, - {"Nordwind Airlines", "N4"}, - {"Norwegian Air Shuttle", "DY"}, - {"Oman Air", "WY"}, - {"Pakistan International Airlines", "PK"}, - {"Pegasus Airlines", "PC"}, - {"Philippine Airlines", "PR"}, - {"Qantas Group", "QF"}, - {"Qatar Airways", "QR"}, - {"Republic Airways", "YX"}, - {"Royal Air Maroc", "AT"}, - {"Ryanair", "FR"}, - {"S7 Airlines", "S7"}, - {"SAS", "SK"}, - {"Satena", "9R"}, - {"Saudia", "SV"}, - {"Shandong Airlines", "SC"}, - {"Sichuan Airlines", "3U"}, - {"Singapore Airlines", "SQ"}, - {"Sky Airline", "H2"}, - {"SkyWest Airlines", "OO"}, - {"South African Airways", "SA"}, - {"Southwest Airlines", "WN"}, - {"SpiceJet", "SG"}, - {"Spirit Airlines", "NK"}, - {"Spring Airlines", "9S"}, - {"SriLankan Airlines", "UL"}, - {"Star Peru", "2I"}, - {"Sun Country Airlines", "SY"}, - {"SunExpress", "XQ"}, - {"TAP Air Portugal", "TP"}, - {"Thai AirAsia", "FD"}, - {"Thai Airways", "TG"}, - {"TUI Airways", "BY"}, - {"Tunisair", "TU"}, - {"Turkish Airlines", "TK"}, - {"Ukraine International", "PS"}, - {"United Airlines", "UA"}, - {"Ural Airlines", "U6"}, - {"VietJet Air", "VJ"}, - {"Vietnam Airlines", "VN"}, - {"Virgin Atlantic Airways", "VS"}, - {"Virgin Australia", "VA"}, - {"VivaAerobus", "VB"}, - {"VOEPASS Linhas Aereas", "2Z"}, - {"Volaris", "Y4"}, - {"WestJet", "WS"}, - {"Wingo", "P5"}, - {"Wizz Air", "W6"}, -}}; - -const std::array airplanes{{ - {"Aerospatiale/BAC Concorde", "SSC"}, - {"Airbus A300", "AB3"}, - {"Airbus A310", "310"}, - {"Airbus A310-200", "312"}, - {"Airbus A310-300", "313"}, - {"Airbus A318", "318"}, - {"Airbus A319", "319"}, - {"Airbus A319neo", "31N"}, - {"Airbus A320", "320"}, - {"Airbus A320neo", "32N"}, - {"Airbus A321", "321"}, - {"Airbus A321neo", "32Q"}, - {"Airbus A330", "330"}, - {"Airbus A330-200", "332"}, - {"Airbus A330-300", "333"}, - {"Airbus A330-800neo", "338"}, - {"Airbus A330-900neo", "339"}, - {"Airbus A340", "340"}, - {"Airbus A340-200", "342"}, - {"Airbus A340-300", "343"}, - {"Airbus A340-500", "345"}, - {"Airbus A340-600", "346"}, - {"Airbus A350", "350"}, - {"Airbus A350-900", "359"}, - {"Airbus A350-1000", "351"}, - {"Airbus A380", "380"}, - {"Airbus A380-800", "388"}, - {"Antonov An-12", "ANF"}, - {"Antonov An-24", "AN4"}, - {"Antonov An-26", "A26"}, - {"Antonov An-28", "A28"}, - {"Antonov An-30", "A30"}, - {"Antonov An-32", "A32"}, - {"Antonov An-72", "AN7"}, - {"Antonov An-124 Ruslan", "A4F"}, - {"Antonov An-140", "A40"}, - {"Antonov An-148", "A81"}, - {"Antonov An-158", "A58"}, - {"Antonov An-225 Mriya", "A5F"}, - {"Boeing 707", "703"}, - {"Boeing 717", "717"}, - {"Boeing 720B", "B72"}, - {"Boeing 727", "727"}, - {"Boeing 727-100", "721"}, - {"Boeing 727-200", "722"}, - {"Boeing 737 MAX 7", "7M7"}, - {"Boeing 737 MAX 8", "7M8"}, - {"Boeing 737 MAX 9", "7M9"}, - {"Boeing 737 MAX 10", "7MJ"}, - {"Boeing 737", "737"}, - {"Boeing 737-100", "731"}, - {"Boeing 737-200", "732"}, - {"Boeing 737-300", "733"}, - {"Boeing 737-400", "734"}, - {"Boeing 737-500", "735"}, - {"Boeing 737-600", "736"}, - {"Boeing 737-700", "73G"}, - {"Boeing 737-800", "738"}, - {"Boeing 737-900", "739"}, - {"Boeing 747", "747"}, - {"Boeing 747-100", "741"}, - {"Boeing 747-200", "742"}, - {"Boeing 747-300", "743"}, - {"Boeing 747-400", "744"}, - {"Boeing 747-400D", "74J"}, - {"Boeing 747-8", "748"}, - {"Boeing 747SP", "74L"}, - {"Boeing 747SR", "74R"}, - {"Boeing 757", "757"}, - {"Boeing 757-200", "752"}, - {"Boeing 757-300", "753"}, - {"Boeing 767", "767"}, - {"Boeing 767-200", "762"}, - {"Boeing 767-300", "763"}, - {"Boeing 767-400", "764"}, - {"Boeing 777", "777"}, - {"Boeing 777-200", "772"}, - {"Boeing 777-200LR", "77L"}, - {"Boeing 777-300", "773"}, - {"Boeing 777-300ER", "77W"}, - {"Boeing 787", "787"}, - {"Boeing 787-8", "788"}, - {"Boeing 787-9", "789"}, - {"Boeing 787-10", "781"}, - {"Canadair Challenger", "CCJ"}, - {"Canadair CL-44", "CL4"}, - {"Canadair Regional Jet 100", "CR1"}, - {"Canadair Regional Jet 200", "CR2"}, - {"Canadair Regional Jet 700", "CR7"}, - {"Canadair Regional Jet 705", "CRA"}, - {"Canadair Regional Jet 900", "CR9"}, - {"Canadair Regional Jet 1000", "CRK"}, - {"De Havilland Canada DHC-2 Beaver", "DHP"}, - {"De Havilland Canada DHC-2 Turbo-Beaver", "DHR"}, - {"De Havilland Canada DHC-3 Otter", "DHL"}, - {"De Havilland Canada DHC-4 Caribou", "DHC"}, - {"De Havilland Canada DHC-6 Twin Otter", "DHT"}, - {"De Havilland Canada DHC-7 Dash 7", "DH7"}, - {"De Havilland Canada DHC-8-100 Dash 8 / 8Q", "DH1"}, - {"De Havilland Canada DHC-8-200 Dash 8 / 8Q", "DH2"}, - {"De Havilland Canada DHC-8-300 Dash 8 / 8Q", "DH3"}, - {"De Havilland Canada DHC-8-400 Dash 8Q", "DH4"}, - {"De Havilland DH.104 Dove", "DHD"}, - {"De Havilland DH.114 Heron", "DHH"}, - {"Douglas DC-3", "D3F"}, - {"Douglas DC-6", "D6F"}, - {"Douglas DC-8-50", "D8T"}, - {"Douglas DC-8-62", "D8L"}, - {"Douglas DC-8-72", "D8Q"}, - {"Douglas DC-9-10", "D91"}, - {"Douglas DC-9-20", "D92"}, - {"Douglas DC-9-30", "D93"}, - {"Douglas DC-9-40", "D94"}, - {"Douglas DC-9-50", "D95"}, - {"Douglas DC-10", "D10"}, - {"Douglas DC-10-10", "D1X"}, - {"Douglas DC-10-30", "D1Y"}, - {"Embraer 170", "E70"}, - {"Embraer 175", "E75"}, - {"Embraer 190", "E90"}, - {"Embraer 195", "E95"}, - {"Embraer E190-E2", "290"}, - {"Embraer E195-E2", "295"}, - {"Embraer EMB.110 Bandeirante", "EMB"}, - {"Embraer EMB.120 Brasilia", "EM2"}, - {"Embraer Legacy 600", "ER3"}, - {"Embraer Phenom 100", "EP1"}, - {"Embraer Phenom 300", "EP3"}, - {"Embraer RJ135", "ER3"}, - {"Embraer RJ140", "ERD"}, - {"Embraer RJ145 Amazon", "ER4"}, - {"Ilyushin IL18", "IL8"}, - {"Ilyushin IL62", "IL6"}, - {"Ilyushin IL76", "IL7"}, - {"Ilyushin IL86", "ILW"}, - {"Ilyushin IL96-300", "I93"}, - {"Ilyushin IL114", "I14"}, - {"Lockheed L-182 / 282 / 382 (L-100) Hercules", "LOH"}, - {"Lockheed L-188 Electra", "LOE"}, - {"Lockheed L-1011 Tristar", "L10"}, - {"Lockheed L-1049 Super Constellation", "L49"}, - {"McDonnell Douglas MD11", "M11"}, - {"McDonnell Douglas MD80", "M80"}, - {"McDonnell Douglas MD81", "M81"}, - {"McDonnell Douglas MD82", "M82"}, - {"McDonnell Douglas MD83", "M83"}, - {"McDonnell Douglas MD87", "M87"}, - {"McDonnell Douglas MD88", "M88"}, - {"McDonnell Douglas MD90", "M90"}, - {"Sukhoi Superjet 100-95", "SU9"}, - {"Tupolev Tu-134", "TU3"}, - {"Tupolev Tu-154", "TU5"}, - {"Tupolev Tu-204", "T20"}, - {"Yakovlev Yak-40", "YK4"}, - {"Yakovlev Yak-42", "YK2"}, -}}; - -const std::array airports = {{ - {"Adelaide International Airport", "ADL"}, - {"Adolfo Suarez Madrid-Barajas Airport", "MAD"}, - {"Aeroparque Jorge Newbery Airport", "AEP"}, - {"Afonso Pena International Airport", "CWB"}, - {"Alfonso Bonilla Aragon International Airport", "CLO"}, - {"Amsterdam Airport Schiphol", "AMS"}, - {"Arturo Merino Benitez International Airport", "SCL"}, - {"Auckland International Airport", "AKL"}, - {"Beijing Capital International Airport", "PEK"}, - {"Belem Val de Cans International Airport", "BEL"}, - { - "Belo Horizonte Tancredo Neves International Airport", - "CNF", - }, - {"Berlin-Tegel Airport", "TXL"}, - {"Bole International Airport", "ADD"}, - { - "Brasilia-Presidente Juscelino Kubitschek International Airport", - "BSB", - }, - {"Brisbane International Airport", "BNE"}, - {"Brussels Airport", "BRU"}, - {"Cairns Airport", "CNS"}, - {"Cairo International Airport", "CAI"}, - {"Canberra Airport", "CBR"}, - {"Capetown International Airport", "CPT"}, - {"Charles de Gaulle International Airport", "CDG"}, - {"Charlotte Douglas International Airport", "CLT"}, - {"Chengdu Shuangliu International Airport", "CTU"}, - {"Chhatrapati Shivaji International Airport", "BOM"}, - {"Chicago O'Hare International Airport", "ORD"}, - {"Chongqing Jiangbei International Airport", "CKG"}, - {"Christchurch International Airport", "CHC"}, - {"Copenhagen Kastrup Airport", "CPH"}, - {"Dallas Fort Worth International Airport", "DFW"}, - {"Daniel K. Inouye International Airport", "HNL"}, - {"Denver International Airport", "DEN"}, - {"Don Mueang International Airport", "DMK"}, - {"Dubai International Airport", "DXB"}, - {"Dublin Airport", "DUB"}, - {"Dusseldorf Airport", "DUS"}, - {"El Dorado International Airport", "BOG"}, - {"Eleftherios Venizelos International Airport", "ATH"}, - {"Faa'a International Airport", "PPT"}, - {"Fort Lauderdale Hollywood International Airport", "FLL"}, - {"Fortaleza Pinto Martins International Airport", "FOR"}, - {"Frankfurt am Main Airport", "FRA"}, - {"George Bush Intercontinental Houston Airport", "IAH"}, - {"Gold Coast Airport", "OOL"}, - { - "Guarulhos - Governador Andre Franco Montoro International Airport", - "GRU", - }, - {"Hartsfield-Jackson Atlanta International Airport", "ATL"}, - {"Helsinki Vantaa Airport", "HEL"}, - {"Hobart International Airport", "HBA"}, - {"Hong Kong International Airport", "HKG"}, - {"Houari Boumediene Airport", "ALG"}, - {"Hurgada International Airport", "HRG"}, - {"Incheon International Airport", "ICN"}, - {"Indira Gandhi International Airport", "DEL"}, - {"Istanbul Airport", "IST"}, - {"Jacksons International Airport", "POM"}, - {"Jeju International Airport", "CJU"}, - {"John F Kennedy International Airport", "JFK"}, - {"Jorge Chavez International Airport", "LIM"}, - {"Jose Maria Cordova International Airport", "MDE"}, - {"Josep Tarradellas Barcelona-El Prat Airport", "BCN"}, - {"Kahului Airport", "OGG"}, - {"King Abdulaziz International Airport", "JED"}, - {"Kuala Lumpur International Airport", "KUL"}, - {"Kunming Changshui International Airport", "KMG"}, - {"La Tontouta International Airport", "NOU"}, - {"Leonardo da Vinci-Fiumicino Airport", "FCO"}, - {"London Heathrow Airport", "LHR"}, - {"Los Angeles International Airport", "LAX"}, - {"McCarran International Airport", "LAS"}, - {"Melbourne International Airport", "MEL"}, - {"Mexico City International Airport", "MEX"}, - {"Miami International Airport", "MIA"}, - {"Ministro Pistarini International Airport", "EZE"}, - { - "Minneapolis-St Paul International/Wold-Chamberlain Airport", - "MSP", - }, - {"Mohammed V International Airport", "CMN"}, - {"Moscow Domodedovo Airport", "DME"}, - {"Munich Airport", "MUC"}, - {"Murtala Muhammed International Airport", "LOS"}, - {"Nadi International Airport", "NAN"}, - {"Nairobi Jomo Kenyatta International Airport", "NBO"}, - {"Narita International Airport", "NRT"}, - {"Newark Liberty International Airport", "EWR"}, - {"Ninoy Aquino International Airport", "MNL"}, - {"Noumea Magenta Airport", "GEA"}, - {"O. R. Tambo International Airport", "JNB"}, - {"Orlando International Airport", "MCO"}, - {"Oslo Lufthavn", "OSL"}, - {"Perth Airport", "PER"}, - {"Phoenix Sky Harbor International Airport", "PHX"}, - { - "Recife Guararapes-Gilberto Freyre International Airport", - "REC", - }, - {"Rio de Janeiro Galeao International Airport", "GIG"}, - {"Salgado Filho International Airport", "POA"}, - { - "Salvador Deputado Luis Eduardo Magalhaes International Airport", - "SSA", - }, - {"San Francisco International Airport", "SFO"}, - {"Santos Dumont Airport", "SDU"}, - {"Sao Paulo-Congonhas Airport", "CGH"}, - {"Seattle Tacoma International Airport", "SEA"}, - {"Shanghai Hongqiao International Airport", "SHA"}, - {"Shanghai Pudong International Airport", "PVG"}, - {"Shenzhen Bao'an International Airport", "SZX"}, - {"Sheremetyevo International Airport", "SVO"}, - {"Singapore Changi Airport", "SIN"}, - {"Soekarno-Hatta International Airport", "CGK"}, - {"Stockholm-Arlanda Airport", "ARN"}, - {"Suvarnabhumi Airport", "BKK"}, - {"Sydney Kingsford Smith International Airport", "SYD"}, - {"Taiwan Taoyuan International Airport", "TPE"}, - {"Tan Son Nhat International Airport", "SGN"}, - {"Tokyo Haneda International Airport", "HND"}, - {"Toronto Pearson International Airport", "YYZ"}, - {"Tunis Carthage International Airport", "TUN"}, - {"Vancouver International Airport", "YVR"}, - {"Vienna International Airport", "VIE"}, - {"Viracopos International Airport", "VCP"}, - {"Vnukovo International Airport", "VKO"}, - {"Wellington International Airport", "WLG"}, - {"Xi'an Xianyang International Airport", "XIY"}, - {"Zhukovsky International Airport", "ZIA"}, - {"Zurich Airport", "ZRH"}, -}}; - -const std::unordered_map aircraftTypeMaxRows = { - {AircraftType::Regional, 20}, - {AircraftType::Narrowbody, 40}, - {AircraftType::Widebody, 60}, -}; - -const std::unordered_map aircraftTypeSeatLetters = { - {AircraftType::Regional, "ABCD"}, - {AircraftType::Narrowbody, "ABCDEF"}, - {AircraftType::Widebody, "ABCDEFGHJK"}, -}; - -} diff --git a/src/modules/airline/AirlineData.h b/src/modules/airline/AirlineData.h index 8f2f9b44..5db5e504 100644 --- a/src/modules/airline/AirlineData.h +++ b/src/modules/airline/AirlineData.h @@ -1,16 +1,452 @@ #pragma once #include +#include #include #include "faker-cxx/Airline.h" namespace faker::airline { -extern const std::array aircraftTypes; -extern const std::array airlines; -extern const std::array airplanes; -extern const std::array airports; -extern const std::unordered_map aircraftTypeMaxRows; -extern const std::unordered_map aircraftTypeSeatLetters; +const auto aircraftTypes = std::to_array({ + "regional", "narrowbody", "widebody" +}); + +const auto airlines = std::to_array({ + {"Aegean Airlines", "A3"}, + {"Aeroflot", "SU"}, + {"Aerolineas Argentinas", "AR"}, + {"Aeromexico", "AM"}, + {"Air Algerie", "AH"}, + {"Air Arabia", "G9"}, + {"Air Canada", "AC"}, + {"Air China", "CA"}, + {"Air Europa", "UX"}, + {"Air France-KLM", "AF"}, + {"Air India", "AI"}, + {"Air Mauritius", "MK"}, + {"Air New Zealand", "NZ"}, + {"Air Niugini", "PX"}, + {"Air Tahiti", "VT"}, + {"Air Tahiti Nui", "TN"}, + {"Air Transat", "TS"}, + {"AirAsia X", "D7"}, + {"AirAsia", "AK"}, + {"Aircalin", "SB"}, + {"Alaska Airlines", "AS"}, + {"Alitalia", "AZ"}, + {"All Nippon Airways", "NH"}, + {"Allegiant Air", "G4"}, + {"American Airlines", "AA"}, + {"Asiana Airlines", "OZ"}, + {"Avianca", "AV"}, + {"Azul Linhas Aereas Brasileiras", "AD"}, + {"Azur Air", "ZF"}, + {"Beijing Capital Airlines", "JD"}, + {"Boliviana de Aviacion", "OB"}, + {"British Airways", "BA"}, + {"Cathay Pacific", "CX"}, + {"Cebu Pacific Air", "5J"}, + {"China Airlines", "CI"}, + {"China Eastern Airlines", "MU"}, + {"China Southern Airlines", "CZ"}, + {"Condor", "DE"}, + {"Copa Airlines", "CM"}, + {"Delta Air Lines", "DL"}, + {"Easyfly", "VE"}, + {"EasyJet", "U2"}, + {"EcoJet", "8J"}, + {"Egyptair", "MS"}, + {"El Al", "LY"}, + {"Emirates Airlines", "EK"}, + {"Ethiopian Airlines", "ET"}, + {"Etihad Airways", "EY"}, + {"EVA Air", "BR"}, + {"Fiji Airways", "FJ"}, + {"Finnair", "AY"}, + {"Flybondi", "FO"}, + {"Flydubai", "FZ"}, + {"FlySafair", "FA"}, + {"Frontier Airlines", "F9"}, + {"Garuda Indonesia", "GA"}, + {"Go First", "G8"}, + {"Gol Linhas Aereas Inteligentes", "G3"}, + {"Hainan Airlines", "HU"}, + {"Hawaiian Airlines", "HA"}, + {"IndiGo Airlines", "6E"}, + {"Japan Airlines", "JL"}, + {"Jeju Air", "7C"}, + {"Jet2", "LS"}, + {"JetBlue Airways", "B6"}, + {"JetSMART", "JA"}, + {"Juneyao Airlines", "HO"}, + {"Kenya Airways", "KQ"}, + {"Korean Air", "KE"}, + {"Kulula.com", "MN"}, + {"LATAM Airlines", "LA"}, + {"Lion Air", "JT"}, + {"LOT Polish Airlines", "LO"}, + {"Lufthansa", "LH"}, + {"Libyan Airlines", "LN"}, + {"Linea Aerea Amaszonas", "Z8"}, + {"Malaysia Airlines", "MH"}, + {"Nordwind Airlines", "N4"}, + {"Norwegian Air Shuttle", "DY"}, + {"Oman Air", "WY"}, + {"Pakistan International Airlines", "PK"}, + {"Pegasus Airlines", "PC"}, + {"Philippine Airlines", "PR"}, + {"Qantas Group", "QF"}, + {"Qatar Airways", "QR"}, + {"Republic Airways", "YX"}, + {"Royal Air Maroc", "AT"}, + {"Ryanair", "FR"}, + {"S7 Airlines", "S7"}, + {"SAS", "SK"}, + {"Satena", "9R"}, + {"Saudia", "SV"}, + {"Shandong Airlines", "SC"}, + {"Sichuan Airlines", "3U"}, + {"Singapore Airlines", "SQ"}, + {"Sky Airline", "H2"}, + {"SkyWest Airlines", "OO"}, + {"South African Airways", "SA"}, + {"Southwest Airlines", "WN"}, + {"SpiceJet", "SG"}, + {"Spirit Airlines", "NK"}, + {"Spring Airlines", "9S"}, + {"SriLankan Airlines", "UL"}, + {"Star Peru", "2I"}, + {"Sun Country Airlines", "SY"}, + {"SunExpress", "XQ"}, + {"TAP Air Portugal", "TP"}, + {"Thai AirAsia", "FD"}, + {"Thai Airways", "TG"}, + {"TUI Airways", "BY"}, + {"Tunisair", "TU"}, + {"Turkish Airlines", "TK"}, + {"Ukraine International", "PS"}, + {"United Airlines", "UA"}, + {"Ural Airlines", "U6"}, + {"VietJet Air", "VJ"}, + {"Vietnam Airlines", "VN"}, + {"Virgin Atlantic Airways", "VS"}, + {"Virgin Australia", "VA"}, + {"VivaAerobus", "VB"}, + {"VOEPASS Linhas Aereas", "2Z"}, + {"Volaris", "Y4"}, + {"WestJet", "WS"}, + {"Wingo", "P5"}, + {"Wizz Air", "W6"}, +}); + +const auto airplanes = std::to_array({ + {"Aerospatiale/BAC Concorde", "SSC"}, + {"Airbus A300", "AB3"}, + {"Airbus A310", "310"}, + {"Airbus A310-200", "312"}, + {"Airbus A310-300", "313"}, + {"Airbus A318", "318"}, + {"Airbus A319", "319"}, + {"Airbus A319neo", "31N"}, + {"Airbus A320", "320"}, + {"Airbus A320neo", "32N"}, + {"Airbus A321", "321"}, + {"Airbus A321neo", "32Q"}, + {"Airbus A330", "330"}, + {"Airbus A330-200", "332"}, + {"Airbus A330-300", "333"}, + {"Airbus A330-800neo", "338"}, + {"Airbus A330-900neo", "339"}, + {"Airbus A340", "340"}, + {"Airbus A340-200", "342"}, + {"Airbus A340-300", "343"}, + {"Airbus A340-500", "345"}, + {"Airbus A340-600", "346"}, + {"Airbus A350", "350"}, + {"Airbus A350-900", "359"}, + {"Airbus A350-1000", "351"}, + {"Airbus A380", "380"}, + {"Airbus A380-800", "388"}, + {"Antonov An-12", "ANF"}, + {"Antonov An-24", "AN4"}, + {"Antonov An-26", "A26"}, + {"Antonov An-28", "A28"}, + {"Antonov An-30", "A30"}, + {"Antonov An-32", "A32"}, + {"Antonov An-72", "AN7"}, + {"Antonov An-124 Ruslan", "A4F"}, + {"Antonov An-140", "A40"}, + {"Antonov An-148", "A81"}, + {"Antonov An-158", "A58"}, + {"Antonov An-225 Mriya", "A5F"}, + {"Boeing 707", "703"}, + {"Boeing 717", "717"}, + {"Boeing 720B", "B72"}, + {"Boeing 727", "727"}, + {"Boeing 727-100", "721"}, + {"Boeing 727-200", "722"}, + {"Boeing 737 MAX 7", "7M7"}, + {"Boeing 737 MAX 8", "7M8"}, + {"Boeing 737 MAX 9", "7M9"}, + {"Boeing 737 MAX 10", "7MJ"}, + {"Boeing 737", "737"}, + {"Boeing 737-100", "731"}, + {"Boeing 737-200", "732"}, + {"Boeing 737-300", "733"}, + {"Boeing 737-400", "734"}, + {"Boeing 737-500", "735"}, + {"Boeing 737-600", "736"}, + {"Boeing 737-700", "73G"}, + {"Boeing 737-800", "738"}, + {"Boeing 737-900", "739"}, + {"Boeing 747", "747"}, + {"Boeing 747-100", "741"}, + {"Boeing 747-200", "742"}, + {"Boeing 747-300", "743"}, + {"Boeing 747-400", "744"}, + {"Boeing 747-400D", "74J"}, + {"Boeing 747-8", "748"}, + {"Boeing 747SP", "74L"}, + {"Boeing 747SR", "74R"}, + {"Boeing 757", "757"}, + {"Boeing 757-200", "752"}, + {"Boeing 757-300", "753"}, + {"Boeing 767", "767"}, + {"Boeing 767-200", "762"}, + {"Boeing 767-300", "763"}, + {"Boeing 767-400", "764"}, + {"Boeing 777", "777"}, + {"Boeing 777-200", "772"}, + {"Boeing 777-200LR", "77L"}, + {"Boeing 777-300", "773"}, + {"Boeing 777-300ER", "77W"}, + {"Boeing 787", "787"}, + {"Boeing 787-8", "788"}, + {"Boeing 787-9", "789"}, + {"Boeing 787-10", "781"}, + {"Canadair Challenger", "CCJ"}, + {"Canadair CL-44", "CL4"}, + {"Canadair Regional Jet 100", "CR1"}, + {"Canadair Regional Jet 200", "CR2"}, + {"Canadair Regional Jet 700", "CR7"}, + {"Canadair Regional Jet 705", "CRA"}, + {"Canadair Regional Jet 900", "CR9"}, + {"Canadair Regional Jet 1000", "CRK"}, + {"De Havilland Canada DHC-2 Beaver", "DHP"}, + {"De Havilland Canada DHC-2 Turbo-Beaver", "DHR"}, + {"De Havilland Canada DHC-3 Otter", "DHL"}, + {"De Havilland Canada DHC-4 Caribou", "DHC"}, + {"De Havilland Canada DHC-6 Twin Otter", "DHT"}, + {"De Havilland Canada DHC-7 Dash 7", "DH7"}, + {"De Havilland Canada DHC-8-100 Dash 8 / 8Q", "DH1"}, + {"De Havilland Canada DHC-8-200 Dash 8 / 8Q", "DH2"}, + {"De Havilland Canada DHC-8-300 Dash 8 / 8Q", "DH3"}, + {"De Havilland Canada DHC-8-400 Dash 8Q", "DH4"}, + {"De Havilland DH.104 Dove", "DHD"}, + {"De Havilland DH.114 Heron", "DHH"}, + {"Douglas DC-3", "D3F"}, + {"Douglas DC-6", "D6F"}, + {"Douglas DC-8-50", "D8T"}, + {"Douglas DC-8-62", "D8L"}, + {"Douglas DC-8-72", "D8Q"}, + {"Douglas DC-9-10", "D91"}, + {"Douglas DC-9-20", "D92"}, + {"Douglas DC-9-30", "D93"}, + {"Douglas DC-9-40", "D94"}, + {"Douglas DC-9-50", "D95"}, + {"Douglas DC-10", "D10"}, + {"Douglas DC-10-10", "D1X"}, + {"Douglas DC-10-30", "D1Y"}, + {"Embraer 170", "E70"}, + {"Embraer 175", "E75"}, + {"Embraer 190", "E90"}, + {"Embraer 195", "E95"}, + {"Embraer E190-E2", "290"}, + {"Embraer E195-E2", "295"}, + {"Embraer EMB.110 Bandeirante", "EMB"}, + {"Embraer EMB.120 Brasilia", "EM2"}, + {"Embraer Legacy 600", "ER3"}, + {"Embraer Phenom 100", "EP1"}, + {"Embraer Phenom 300", "EP3"}, + {"Embraer RJ135", "ER3"}, + {"Embraer RJ140", "ERD"}, + {"Embraer RJ145 Amazon", "ER4"}, + {"Ilyushin IL18", "IL8"}, + {"Ilyushin IL62", "IL6"}, + {"Ilyushin IL76", "IL7"}, + {"Ilyushin IL86", "ILW"}, + {"Ilyushin IL96-300", "I93"}, + {"Ilyushin IL114", "I14"}, + {"Lockheed L-182 / 282 / 382 (L-100) Hercules", "LOH"}, + {"Lockheed L-188 Electra", "LOE"}, + {"Lockheed L-1011 Tristar", "L10"}, + {"Lockheed L-1049 Super Constellation", "L49"}, + {"McDonnell Douglas MD11", "M11"}, + {"McDonnell Douglas MD80", "M80"}, + {"McDonnell Douglas MD81", "M81"}, + {"McDonnell Douglas MD82", "M82"}, + {"McDonnell Douglas MD83", "M83"}, + {"McDonnell Douglas MD87", "M87"}, + {"McDonnell Douglas MD88", "M88"}, + {"McDonnell Douglas MD90", "M90"}, + {"Sukhoi Superjet 100-95", "SU9"}, + {"Tupolev Tu-134", "TU3"}, + {"Tupolev Tu-154", "TU5"}, + {"Tupolev Tu-204", "T20"}, + {"Yakovlev Yak-40", "YK4"}, + {"Yakovlev Yak-42", "YK2"}, +}); + +const auto airports = std::to_array({ + {"Adelaide International Airport", "ADL"}, + {"Adolfo Suarez Madrid-Barajas Airport", "MAD"}, + {"Aeroparque Jorge Newbery Airport", "AEP"}, + {"Afonso Pena International Airport", "CWB"}, + {"Alfonso Bonilla Aragon International Airport", "CLO"}, + {"Amsterdam Airport Schiphol", "AMS"}, + {"Arturo Merino Benitez International Airport", "SCL"}, + {"Auckland International Airport", "AKL"}, + {"Beijing Capital International Airport", "PEK"}, + {"Belem Val de Cans International Airport", "BEL"}, + { + "Belo Horizonte Tancredo Neves International Airport", + "CNF", + }, + {"Berlin-Tegel Airport", "TXL"}, + {"Bole International Airport", "ADD"}, + { + "Brasilia-Presidente Juscelino Kubitschek International Airport", + "BSB", + }, + {"Brisbane International Airport", "BNE"}, + {"Brussels Airport", "BRU"}, + {"Cairns Airport", "CNS"}, + {"Cairo International Airport", "CAI"}, + {"Canberra Airport", "CBR"}, + {"Capetown International Airport", "CPT"}, + {"Charles de Gaulle International Airport", "CDG"}, + {"Charlotte Douglas International Airport", "CLT"}, + {"Chengdu Shuangliu International Airport", "CTU"}, + {"Chhatrapati Shivaji International Airport", "BOM"}, + {"Chicago O'Hare International Airport", "ORD"}, + {"Chongqing Jiangbei International Airport", "CKG"}, + {"Christchurch International Airport", "CHC"}, + {"Copenhagen Kastrup Airport", "CPH"}, + {"Dallas Fort Worth International Airport", "DFW"}, + {"Daniel K. Inouye International Airport", "HNL"}, + {"Denver International Airport", "DEN"}, + {"Don Mueang International Airport", "DMK"}, + {"Dubai International Airport", "DXB"}, + {"Dublin Airport", "DUB"}, + {"Dusseldorf Airport", "DUS"}, + {"El Dorado International Airport", "BOG"}, + {"Eleftherios Venizelos International Airport", "ATH"}, + {"Faa'a International Airport", "PPT"}, + {"Fort Lauderdale Hollywood International Airport", "FLL"}, + {"Fortaleza Pinto Martins International Airport", "FOR"}, + {"Frankfurt am Main Airport", "FRA"}, + {"George Bush Intercontinental Houston Airport", "IAH"}, + {"Gold Coast Airport", "OOL"}, + { + "Guarulhos - Governador Andre Franco Montoro International Airport", + "GRU", + }, + {"Hartsfield-Jackson Atlanta International Airport", "ATL"}, + {"Helsinki Vantaa Airport", "HEL"}, + {"Hobart International Airport", "HBA"}, + {"Hong Kong International Airport", "HKG"}, + {"Houari Boumediene Airport", "ALG"}, + {"Hurgada International Airport", "HRG"}, + {"Incheon International Airport", "ICN"}, + {"Indira Gandhi International Airport", "DEL"}, + {"Istanbul Airport", "IST"}, + {"Jacksons International Airport", "POM"}, + {"Jeju International Airport", "CJU"}, + {"John F Kennedy International Airport", "JFK"}, + {"Jorge Chavez International Airport", "LIM"}, + {"Jose Maria Cordova International Airport", "MDE"}, + {"Josep Tarradellas Barcelona-El Prat Airport", "BCN"}, + {"Kahului Airport", "OGG"}, + {"King Abdulaziz International Airport", "JED"}, + {"Kuala Lumpur International Airport", "KUL"}, + {"Kunming Changshui International Airport", "KMG"}, + {"La Tontouta International Airport", "NOU"}, + {"Leonardo da Vinci-Fiumicino Airport", "FCO"}, + {"London Heathrow Airport", "LHR"}, + {"Los Angeles International Airport", "LAX"}, + {"McCarran International Airport", "LAS"}, + {"Melbourne International Airport", "MEL"}, + {"Mexico City International Airport", "MEX"}, + {"Miami International Airport", "MIA"}, + {"Ministro Pistarini International Airport", "EZE"}, + { + "Minneapolis-St Paul International/Wold-Chamberlain Airport", + "MSP", + }, + {"Mohammed V International Airport", "CMN"}, + {"Moscow Domodedovo Airport", "DME"}, + {"Munich Airport", "MUC"}, + {"Murtala Muhammed International Airport", "LOS"}, + {"Nadi International Airport", "NAN"}, + {"Nairobi Jomo Kenyatta International Airport", "NBO"}, + {"Narita International Airport", "NRT"}, + {"Newark Liberty International Airport", "EWR"}, + {"Ninoy Aquino International Airport", "MNL"}, + {"Noumea Magenta Airport", "GEA"}, + {"O. R. Tambo International Airport", "JNB"}, + {"Orlando International Airport", "MCO"}, + {"Oslo Lufthavn", "OSL"}, + {"Perth Airport", "PER"}, + {"Phoenix Sky Harbor International Airport", "PHX"}, + { + "Recife Guararapes-Gilberto Freyre International Airport", + "REC", + }, + {"Rio de Janeiro Galeao International Airport", "GIG"}, + {"Salgado Filho International Airport", "POA"}, + { + "Salvador Deputado Luis Eduardo Magalhaes International Airport", + "SSA", + }, + {"San Francisco International Airport", "SFO"}, + {"Santos Dumont Airport", "SDU"}, + {"Sao Paulo-Congonhas Airport", "CGH"}, + {"Seattle Tacoma International Airport", "SEA"}, + {"Shanghai Hongqiao International Airport", "SHA"}, + {"Shanghai Pudong International Airport", "PVG"}, + {"Shenzhen Bao'an International Airport", "SZX"}, + {"Sheremetyevo International Airport", "SVO"}, + {"Singapore Changi Airport", "SIN"}, + {"Soekarno-Hatta International Airport", "CGK"}, + {"Stockholm-Arlanda Airport", "ARN"}, + {"Suvarnabhumi Airport", "BKK"}, + {"Sydney Kingsford Smith International Airport", "SYD"}, + {"Taiwan Taoyuan International Airport", "TPE"}, + {"Tan Son Nhat International Airport", "SGN"}, + {"Tokyo Haneda International Airport", "HND"}, + {"Toronto Pearson International Airport", "YYZ"}, + {"Tunis Carthage International Airport", "TUN"}, + {"Vancouver International Airport", "YVR"}, + {"Vienna International Airport", "VIE"}, + {"Viracopos International Airport", "VCP"}, + {"Vnukovo International Airport", "VKO"}, + {"Wellington International Airport", "WLG"}, + {"Xi'an Xianyang International Airport", "XIY"}, + {"Zhukovsky International Airport", "ZIA"}, + {"Zurich Airport", "ZRH"}, +}); + +const std::unordered_map aircraftTypeMaxRows = { + {AircraftType::Regional, 20}, + {AircraftType::Narrowbody, 40}, + {AircraftType::Widebody, 60}, +}; + +const std::unordered_map aircraftTypeSeatLetters = { + {AircraftType::Regional, "ABCD"}, + {AircraftType::Narrowbody, "ABCDEF"}, + {AircraftType::Widebody, "ABCDEFGHJK"}, +}; + } diff --git a/src/modules/animal/AnimalData.cpp b/src/modules/animal/AnimalData.cpp deleted file mode 100644 index 860e2a7e..00000000 --- a/src/modules/animal/AnimalData.cpp +++ /dev/null @@ -1,3473 +0,0 @@ -#include "AnimalData.h" - -#include -#include - -namespace faker::animal -{ -const std::array bears = { - "Giant panda", "Spectacled bear", "Sun bear", "Sloth bear", - "American black bear", "Asian black bear", "Brown bear", "Polar bear", -}; - -const std::array birds = { - "Red-throated Loon", - "Arctic Loon", - "Pacific Loon", - "Common Loon", - "Yellow-billed Loon", - "Least Grebe", - "Pied-billed Grebe", - "Horned Grebe", - "Red-necked Grebe", - "Eared Grebe", - "Western Grebe", - "Clark's Grebe", - "Yellow-nosed Albatross", - "Shy Albatross", - "Black-browed Albatross", - "Wandering Albatross", - "Laysan Albatross", - "Black-footed Albatross", - "Short-tailed Albatross", - "Northern Fulmar", - "Herald Petrel", - "Murphy's Petrel", - "Mottled Petrel", - "Black-capped Petrel", - "Cook's Petrel", - "Stejneger's Petrel", - "White-chinned Petrel", - "Streaked Shearwater", - "Cory's Shearwater", - "Pink-footed Shearwater", - "Flesh-footed Shearwater", - "Greater Shearwater", - "Wedge-tailed Shearwater", - "Buller's Shearwater", - "Sooty Shearwater", - "Short-tailed Shearwater", - "Manx Shearwater", - "Black-vented Shearwater", - "Audubon's Shearwater", - "Little Shearwater", - "Wilson's Storm-Petrel", - "White-faced Storm-Petrel", - "European Storm-Petrel", - "Fork-tailed Storm-Petrel", - "Leach's Storm-Petrel", - "Ashy Storm-Petrel", - "Band-rumped Storm-Petrel", - "Wedge-rumped Storm-Petrel", - "Black Storm-Petrel", - "Least Storm-Petrel", - "White-tailed Tropicbird", - "Red-billed Tropicbird", - "Red-tailed Tropicbird", - "Masked Booby", - "Blue-footed Booby", - "Brown Booby", - "Red-footed Booby", - "Northern Gannet", - "American White Pelican", - "Brown Pelican", - "Brandt's Cormorant", - "Neotropic Cormorant", - "Double-crested Cormorant", - "Great Cormorant", - "Red-faced Cormorant", - "Pelagic Cormorant", - "Anhinga", - "Magnificent Frigatebird", - "Great Frigatebird", - "Lesser Frigatebird", - "American Bittern", - "Yellow Bittern", - "Least Bittern", - "Great Blue Heron", - "Great Egret", - "Chinese Egret", - "Little Egret", - "Western Reef-Heron", - "Snowy Egret", - "Little Blue Heron", - "Tricolored Heron", - "Reddish Egret", - "Cattle Egret", - "Green Heron", - "Black-crowned Night-Heron", - "Yellow-crowned Night-Heron", - "White Ibis", - "Scarlet Ibis", - "Glossy Ibis", - "White-faced Ibis", - "Roseate Spoonbill", - "Jabiru", - "Wood Stork", - "Black Vulture", - "Turkey Vulture", - "California Condor", - "Greater Flamingo", - "Black-bellied Whistling-Duck", - "Fulvous Whistling-Duck", - "Bean Goose", - "Pink-footed Goose", - "Greater White-fronted Goose", - "Lesser White-fronted Goose", - "Emperor Goose", - "Snow Goose", - "Ross's Goose", - "Canada Goose", - "Brant", - "Barnacle Goose", - "Mute Swan", - "Trumpeter Swan", - "Tundra Swan", - "Whooper Swan", - "Muscovy Duck", - "Wood Duck", - "Gadwall", - "Falcated Duck", - "Eurasian Wigeon", - "American Wigeon", - "American Black Duck", - "Mallard", - "Mottled Duck", - "Spot-billed Duck", - "Blue-winged Teal", - "Cinnamon Teal", - "Northern Shoveler", - "White-cheeked Pintail", - "Northern Pintail", - "Garganey", - "Baikal Teal", - "Green-winged Teal", - "Canvasback", - "Redhead", - "Common Pochard", - "Ring-necked Duck", - "Tufted Duck", - "Greater Scaup", - "Lesser Scaup", - "Steller's Eider", - "Spectacled Eider", - "King Eider", - "Common Eider", - "Harlequin Duck", - "Labrador Duck", - "Surf Scoter", - "White-winged Scoter", - "Black Scoter", - "Oldsquaw", - "Bufflehead", - "Common Goldeneye", - "Barrow's Goldeneye", - "Smew", - "Hooded Merganser", - "Common Merganser", - "Red-breasted Merganser", - "Masked Duck", - "Ruddy Duck", - "Osprey", - "Hook-billed Kite", - "Swallow-tailed Kite", - "White-tailed Kite", - "Snail Kite", - "Mississippi Kite", - "Bald Eagle", - "White-tailed Eagle", - "Steller's Sea-Eagle", - "Northern Harrier", - "Sharp-shinned Hawk", - "Cooper's Hawk", - "Northern Goshawk", - "Crane Hawk", - "Gray Hawk", - "Common Black-Hawk", - "Harris's Hawk", - "Roadside Hawk", - "Red-shouldered Hawk", - "Broad-winged Hawk", - "Short-tailed Hawk", - "Swainson's Hawk", - "White-tailed Hawk", - "Zone-tailed Hawk", - "Red-tailed Hawk", - "Ferruginous Hawk", - "Rough-legged Hawk", - "Golden Eagle", - "Collared Forest-Falcon", - "Crested Caracara", - "Eurasian Kestrel", - "American Kestrel", - "Merlin", - "Eurasian Hobby", - "Aplomado Falcon", - "Gyrfalcon", - "Peregrine Falcon", - "Prairie Falcon", - "Plain Chachalaca", - "Chukar", - "Himalayan Snowcock", - "Gray Partridge", - "Ring-necked Pheasant", - "Ruffed Grouse", - "Sage Grouse", - "Spruce Grouse", - "Willow Ptarmigan", - "Rock Ptarmigan", - "White-tailed Ptarmigan", - "Blue Grouse", - "Sharp-tailed Grouse", - "Greater Prairie-chicken", - "Lesser Prairie-chicken", - "Wild Turkey", - "Mountain Quail", - "Scaled Quail", - "California Quail", - "Gambel's Quail", - "Northern Bobwhite", - "Montezuma Quail", - "Yellow Rail", - "Black Rail", - "Corn Crake", - "Clapper Rail", - "King Rail", - "Virginia Rail", - "Sora", - "Paint-billed Crake", - "Spotted Rail", - "Purple Gallinule", - "Azure Gallinule", - "Common Moorhen", - "Eurasian Coot", - "American Coot", - "Limpkin", - "Sandhill Crane", - "Common Crane", - "Whooping Crane", - "Double-striped Thick-knee", - "Northern Lapwing", - "Black-bellied Plover", - "European Golden-Plover", - "American Golden-Plover", - "Pacific Golden-Plover", - "Mongolian Plover", - "Collared Plover", - "Snowy Plover", - "Wilson's Plover", - "Common Ringed Plover", - "Semipalmated Plover", - "Piping Plover", - "Little Ringed Plover", - "Killdeer", - "Mountain Plover", - "Eurasian Dotterel", - "Eurasian Oystercatcher", - "American Oystercatcher", - "Black Oystercatcher", - "Black-winged Stilt", - "Black-necked Stilt", - "American Avocet", - "Northern Jacana", - "Common Greenshank", - "Greater Yellowlegs", - "Lesser Yellowlegs", - "Marsh Sandpiper", - "Spotted Redshank", - "Wood Sandpiper", - "Green Sandpiper", - "Solitary Sandpiper", - "Willet", - "Wandering Tattler", - "Gray-tailed Tattler", - "Common Sandpiper", - "Spotted Sandpiper", - "Terek Sandpiper", - "Upland Sandpiper", - "Little Curlew", - "Eskimo Curlew", - "Whimbrel", - "Bristle-thighed Curlew", - "Far Eastern Curlew", - "Slender-billed Curlew", - "Eurasian Curlew", - "Long-billed Curlew", - "Black-tailed Godwit", - "Hudsonian Godwit", - "Bar-tailed Godwit", - "Marbled Godwit", - "Ruddy Turnstone", - "Black Turnstone", - "Surfbird", - "Great Knot", - "Red Knot", - "Sanderling", - "Semipalmated Sandpiper", - "Western Sandpiper", - "Red-necked Stint", - "Little Stint", - "Temminck's Stint", - "Long-toed Stint", - "Least Sandpiper", - "White-rumped Sandpiper", - "Baird's Sandpiper", - "Pectoral Sandpiper", - "Sharp-tailed Sandpiper", - "Purple Sandpiper", - "Rock Sandpiper", - "Dunlin", - "Curlew Sandpiper", - "Stilt Sandpiper", - "Spoonbill Sandpiper", - "Broad-billed Sandpiper", - "Buff-breasted Sandpiper", - "Ruff", - "Short-billed Dowitcher", - "Long-billed Dowitcher", - "Jack Snipe", - "Common Snipe", - "Pin-tailed Snipe", - "Eurasian Woodcock", - "American Woodcock", - "Wilson's Phalarope", - "Red-necked Phalarope", - "Red Phalarope", - "Oriental Pratincole", - "Great Skua", - "South Polar Skua", - "Pomarine Jaeger", - "Parasitic Jaeger", - "Long-tailed Jaeger", - "Laughing Gull", - "Franklin's Gull", - "Little Gull", - "Black-headed Gull", - "Bonaparte's Gull", - "Heermann's Gull", - "Band-tailed Gull", - "Black-tailed Gull", - "Mew Gull", - "Ring-billed Gull", - "California Gull", - "Herring Gull", - "Yellow-legged Gull", - "Thayer's Gull", - "Iceland Gull", - "Lesser Black-backed Gull", - "Slaty-backed Gull", - "Yellow-footed Gull", - "Western Gull", - "Glaucous-winged Gull", - "Glaucous Gull", - "Great Black-backed Gull", - "Sabine's Gull", - "Black-legged Kittiwake", - "Red-legged Kittiwake", - "Ross's Gull", - "Ivory Gull", - "Gull-billed Tern", - "Caspian Tern", - "Royal Tern", - "Elegant Tern", - "Sandwich Tern", - "Roseate Tern", - "Common Tern", - "Arctic Tern", - "Forster's Tern", - "Least Tern", - "Aleutian Tern", - "Bridled Tern", - "Sooty Tern", - "Large-billed Tern", - "White-winged Tern", - "Whiskered Tern", - "Black Tern", - "Brown Noddy", - "Black Noddy", - "Black Skimmer", - "Dovekie", - "Common Murre", - "Thick-billed Murre", - "Razorbill", - "Great Auk", - "Black Guillemot", - "Pigeon Guillemot", - "Long-billed Murrelet", - "Marbled Murrelet", - "Kittlitz's Murrelet", - "Xantus's Murrelet", - "Craveri's Murrelet", - "Ancient Murrelet", - "Cassin's Auklet", - "Parakeet Auklet", - "Least Auklet", - "Whiskered Auklet", - "Crested Auklet", - "Rhinoceros Auklet", - "Atlantic Puffin", - "Horned Puffin", - "Tufted Puffin", - "Rock Dove", - "Scaly-naped Pigeon", - "White-crowned Pigeon", - "Red-billed Pigeon", - "Band-tailed Pigeon", - "Oriental Turtle-Dove", - "European Turtle-Dove", - "Eurasian Collared-Dove", - "Spotted Dove", - "White-winged Dove", - "Zenaida Dove", - "Mourning Dove", - "Passenger Pigeon", - "Inca Dove", - "Common Ground-Dove", - "Ruddy Ground-Dove", - "White-tipped Dove", - "Key West Quail-Dove", - "Ruddy Quail-Dove", - "Budgerigar", - "Monk Parakeet", - "Carolina Parakeet", - "Thick-billed Parrot", - "White-winged Parakeet", - "Red-crowned Parrot", - "Common Cuckoo", - "Oriental Cuckoo", - "Black-billed Cuckoo", - "Yellow-billed Cuckoo", - "Mangrove Cuckoo", - "Greater Roadrunner", - "Smooth-billed Ani", - "Groove-billed Ani", - "Barn Owl", - "Flammulated Owl", - "Oriental Scops-Owl", - "Western Screech-Owl", - "Eastern Screech-Owl", - "Whiskered Screech-Owl", - "Great Horned Owl", - "Snowy Owl", - "Northern Hawk Owl", - "Northern Pygmy-Owl", - "Ferruginous Pygmy-Owl", - "Elf Owl", - "Burrowing Owl", - "Mottled Owl", - "Spotted Owl", - "Barred Owl", - "Great Gray Owl", - "Long-eared Owl", - "Short-eared Owl", - "Boreal Owl", - "Northern Saw-whet Owl", - "Lesser Nighthawk", - "Common Nighthawk", - "Antillean Nighthawk", - "Common Pauraque", - "Common Poorwill", - "Chuck-will's-widow", - "Buff-collared Nightjar", - "Whip-poor-will", - "Jungle Nightjar", - "Black Swift", - "White-collared Swift", - "Chimney Swift", - "Vaux's Swift", - "White-throated Needletail", - "Common Swift", - "Fork-tailed Swift", - "White-throated Swift", - "Antillean Palm Swift", - "Green Violet-ear", - "Green-breasted Mango", - "Broad-billed Hummingbird", - "White-eared Hummingbird", - "Xantus's Hummingbird", - "Berylline Hummingbird", - "Buff-bellied Hummingbird", - "Cinnamon Hummingbird", - "Violet-crowned Hummingbird", - "Blue-throated Hummingbird", - "Magnificent Hummingbird", - "Plain-capped Starthroat", - "Bahama Woodstar", - "Lucifer Hummingbird", - "Ruby-throated Hummingbird", - "Black-chinned Hummingbird", - "Anna's Hummingbird", - "Costa's Hummingbird", - "Calliope Hummingbird", - "Bumblebee Hummingbird", - "Broad-tailed Hummingbird", - "Rufous Hummingbird", - "Allen's Hummingbird", - "Elegant Trogon", - "Eared Trogon", - "Hoopoe", - "Ringed Kingfisher", - "Belted Kingfisher", - "Green Kingfisher", - "Eurasian Wryneck", - "Lewis's Woodpecker", - "Red-headed Woodpecker", - "Acorn Woodpecker", - "Gila Woodpecker", - "Golden-fronted Woodpecker", - "Red-bellied Woodpecker", - "Williamson's Sapsucker", - "Yellow-bellied Sapsucker", - "Red-naped Sapsucker", - "Red-breasted Sapsucker", - "Great Spotted Woodpecker", - "Ladder-backed Woodpecker", - "Nuttall's Woodpecker", - "Downy Woodpecker", - "Hairy Woodpecker", - "Strickland's Woodpecker", - "Red-cockaded Woodpecker", - "White-headed Woodpecker", - "Three-toed Woodpecker", - "Black-backed Woodpecker", - "Northern Flicker", - "Gilded Flicker", - "Pileated Woodpecker", - "Ivory-billed Woodpecker", - "Northern Beardless-Tyrannulet", - "Greenish Elaenia", - "Caribbean Elaenia", - "Tufted Flycatcher", - "Olive-sided Flycatcher", - "Greater Pewee", - "Western Wood-Pewee", - "Eastern Wood-Pewee", - "Yellow-bellied Flycatcher", - "Acadian Flycatcher", - "Alder Flycatcher", - "Willow Flycatcher", - "Least Flycatcher", - "Hammond's Flycatcher", - "Dusky Flycatcher", - "Gray Flycatcher", - "Pacific-slope Flycatcher", - "Cordilleran Flycatcher", - "Buff-breasted Flycatcher", - "Black Phoebe", - "Eastern Phoebe", - "Say's Phoebe", - "Vermilion Flycatcher", - "Dusky-capped Flycatcher", - "Ash-throated Flycatcher", - "Nutting's Flycatcher", - "Great Crested Flycatcher", - "Brown-crested Flycatcher", - "La Sagra's Flycatcher", - "Great Kiskadee", - "Sulphur-bellied Flycatcher", - "Variegated Flycatcher", - "Tropical Kingbird", - "Couch's Kingbird", - "Cassin's Kingbird", - "Thick-billed Kingbird", - "Western Kingbird", - "Eastern Kingbird", - "Gray Kingbird", - "Loggerhead Kingbird", - "Scissor-tailed Flycatcher", - "Fork-tailed Flycatcher", - "Rose-throated Becard", - "Masked Tityra", - "Brown Shrike", - "Loggerhead Shrike", - "Northern Shrike", - "White-eyed Vireo", - "Thick-billed Vireo", - "Bell's Vireo", - "Black-capped Vireo", - "Gray Vireo", - "Yellow-throated Vireo", - "Plumbeous Vireo", - "Cassin's Vireo", - "Blue-headed Vireo", - "Hutton's Vireo", - "Warbling Vireo", - "Philadelphia Vireo", - "Red-eyed Vireo", - "Yellow-green Vireo", - "Black-whiskered Vireo", - "Yucatan Vireo", - "Gray Jay", - "Steller's Jay", - "Blue Jay", - "Green Jay", - "Brown Jay", - "Florida Scrub-Jay", - "Island Scrub-Jay", - "Western Scrub-Jay", - "Mexican Jay", - "Pinyon Jay", - "Clark's Nutcracker", - "Black-billed Magpie", - "Yellow-billed Magpie", - "Eurasian Jackdaw", - "American Crow", - "Northwestern Crow", - "Tamaulipas Crow", - "Fish Crow", - "Chihuahuan Raven", - "Common Raven", - "Sky Lark", - "Horned Lark", - "Purple Martin", - "Cuban Martin", - "Gray-breasted Martin", - "Southern Martin", - "Brown-chested Martin", - "Tree Swallow", - "Violet-green Swallow", - "Bahama Swallow", - "Northern Rough-winged Swallow", - "Bank Swallow", - "Cliff Swallow", - "Cave Swallow", - "Barn Swallow", - "Common House-Martin", - "Carolina Chickadee", - "Black-capped Chickadee", - "Mountain Chickadee", - "Mexican Chickadee", - "Chestnut-backed Chickadee", - "Boreal Chickadee", - "Gray-headed Chickadee", - "Bridled Titmouse", - "Oak Titmouse", - "Juniper Titmouse", - "Tufted Titmouse", - "Verdin", - "Bushtit", - "Red-breasted Nuthatch", - "White-breasted Nuthatch", - "Pygmy Nuthatch", - "Brown-headed Nuthatch", - "Brown Creeper", - "Cactus Wren", - "Rock Wren", - "Canyon Wren", - "Carolina Wren", - "Bewick's Wren", - "House Wren", - "Winter Wren", - "Sedge Wren", - "Marsh Wren", - "American Dipper", - "Red-whiskered Bulbul", - "Golden-crowned Kinglet", - "Ruby-crowned Kinglet", - "Middendorff's Grasshopper-Warbler", - "Lanceolated Warbler", - "Wood Warbler", - "Dusky Warbler", - "Arctic Warbler", - "Blue-gray Gnatcatcher", - "California Gnatcatcher", - "Black-tailed Gnatcatcher", - "Black-capped Gnatcatcher", - "Narcissus Flycatcher", - "Mugimaki Flycatcher", - "Red-breasted Flycatcher", - "Siberian Flycatcher", - "Gray-spotted Flycatcher", - "Asian Brown Flycatcher", - "Siberian Rubythroat", - "Bluethroat", - "Siberian Blue Robin", - "Red-flanked Bluetail", - "Northern Wheatear", - "Stonechat", - "Eastern Bluebird", - "Western Bluebird", - "Mountain Bluebird", - "Townsend's Solitaire", - "Veery", - "Gray-cheeked Thrush", - "Bicknell's Thrush", - "Swainson's Thrush", - "Hermit Thrush", - "Wood Thrush", - "Eurasian Blackbird", - "Eyebrowed Thrush", - "Dusky Thrush", - "Fieldfare", - "Redwing", - "Clay-colored Robin", - "White-throated Robin", - "Rufous-backed Robin", - "American Robin", - "Varied Thrush", - "Aztec Thrush", - "Wrentit", - "Gray Catbird", - "Black Catbird", - "Northern Mockingbird", - "Bahama Mockingbird", - "Sage Thrasher", - "Brown Thrasher", - "Long-billed Thrasher", - "Bendire's Thrasher", - "Curve-billed Thrasher", - "California Thrasher", - "Crissal Thrasher", - "Le Conte's Thrasher", - "Blue Mockingbird", - "European Starling", - "Crested Myna", - "Siberian Accentor", - "Yellow Wagtail", - "Citrine Wagtail", - "Gray Wagtail", - "White Wagtail", - "Black-backed Wagtail", - "Tree Pipit", - "Olive-backed Pipit", - "Pechora Pipit", - "Red-throated Pipit", - "American Pipit", - "Sprague's Pipit", - "Bohemian Waxwing", - "Cedar Waxwing", - "Gray Silky-flycatcher", - "Phainopepla", - "Olive Warbler", - "Bachman's Warbler", - "Blue-winged Warbler", - "Golden-winged Warbler", - "Tennessee Warbler", - "Orange-crowned Warbler", - "Nashville Warbler", - "Virginia's Warbler", - "Colima Warbler", - "Lucy's Warbler", - "Crescent-chested Warbler", - "Northern Parula", - "Tropical Parula", - "Yellow Warbler", - "Chestnut-sided Warbler", - "Magnolia Warbler", - "Cape May Warbler", - "Black-throated Blue Warbler", - "Yellow-rumped Warbler", - "Black-throated Gray Warbler", - "Golden-cheeked Warbler", - "Black-throated Green Warbler", - "Townsend's Warbler", - "Hermit Warbler", - "Blackburnian Warbler", - "Yellow-throated Warbler", - "Grace's Warbler", - "Pine Warbler", - "Kirtland's Warbler", - "Prairie Warbler", - "Palm Warbler", - "Bay-breasted Warbler", - "Blackpoll Warbler", - "Cerulean Warbler", - "Black-and-white Warbler", - "American Redstart", - "Prothonotary Warbler", - "Worm-eating Warbler", - "Swainson's Warbler", - "Ovenbird", - "Northern Waterthrush", - "Louisiana Waterthrush", - "Kentucky Warbler", - "Connecticut Warbler", - "Mourning Warbler", - "MacGillivray's Warbler", - "Common Yellowthroat", - "Gray-crowned Yellowthroat", - "Hooded Warbler", - "Wilson's Warbler", - "Canada Warbler", - "Red-faced Warbler", - "Painted Redstart", - "Slate-throated Redstart", - "Fan-tailed Warbler", - "Golden-crowned Warbler", - "Rufous-capped Warbler", - "Yellow-breasted Chat", - "Bananaquit", - "Hepatic Tanager", - "Summer Tanager", - "Scarlet Tanager", - "Western Tanager", - "Flame-colored Tanager", - "Stripe-headed Tanager", - "White-collared Seedeater", - "Yellow-faced Grassquit", - "Black-faced Grassquit", - "Olive Sparrow", - "Green-tailed Towhee", - "Spotted Towhee", - "Eastern Towhee", - "Canyon Towhee", - "California Towhee", - "Abert's Towhee", - "Rufous-winged Sparrow", - "Cassin's Sparrow", - "Bachman's Sparrow", - "Botteri's Sparrow", - "Rufous-crowned Sparrow", - "Five-striped Sparrow", - "American Tree Sparrow", - "Chipping Sparrow", - "Clay-colored Sparrow", - "Brewer's Sparrow", - "Field Sparrow", - "Worthen's Sparrow", - "Black-chinned Sparrow", - "Vesper Sparrow", - "Lark Sparrow", - "Black-throated Sparrow", - "Sage Sparrow", - "Lark Bunting", - "Savannah Sparrow", - "Grasshopper Sparrow", - "Baird's Sparrow", - "Henslow's Sparrow", - "Le Conte's Sparrow", - "Nelson's Sharp-tailed Sparrow", - "Saltmarsh Sharp-tailed Sparrow", - "Seaside Sparrow", - "Fox Sparrow", - "Song Sparrow", - "Lincoln's Sparrow", - "Swamp Sparrow", - "White-throated Sparrow", - "Harris's Sparrow", - "White-crowned Sparrow", - "Golden-crowned Sparrow", - "Dark-eyed Junco", - "Yellow-eyed Junco", - "McCown's Longspur", - "Lapland Longspur", - "Smith's Longspur", - "Chestnut-collared Longspur", - "Pine Bunting", - "Little Bunting", - "Rustic Bunting", - "Yellow-breasted Bunting", - "Gray Bunting", - "Pallas's Bunting", - "Reed Bunting", - "Snow Bunting", - "McKay's Bunting", - "Crimson-collared Grosbeak", - "Northern Cardinal", - "Pyrrhuloxia", - "Yellow Grosbeak", - "Rose-breasted Grosbeak", - "Black-headed Grosbeak", - "Blue Bunting", - "Blue Grosbeak", - "Lazuli Bunting", - "Indigo Bunting", - "Varied Bunting", - "Painted Bunting", - "Dickcissel", - "Bobolink", - "Red-winged Blackbird", - "Tricolored Blackbird", - "Tawny-shouldered Blackbird", - "Eastern Meadowlark", - "Western Meadowlark", - "Yellow-headed Blackbird", - "Rusty Blackbird", - "Brewer's Blackbird", - "Common Grackle", - "Boat-tailed Grackle", - "Great-tailed Grackle", - "Shiny Cowbird", - "Bronzed Cowbird", - "Brown-headed Cowbird", - "Black-vented Oriole", - "Orchard Oriole", - "Hooded Oriole", - "Streak-backed Oriole", - "Spot-breasted Oriole", - "Altamira Oriole", - "Audubon's Oriole", - "Baltimore Oriole", - "Bullock's Oriole", - "Scott's Oriole", - "Common Chaffinch", - "Brambling", - "Gray-crowned Rosy-Finch", - "Black Rosy-Finch", - "Brown-capped Rosy-Finch", - "Pine Grosbeak", - "Common Rosefinch", - "Purple Finch", - "Cassin's Finch", - "House Finch", - "Red Crossbill", - "White-winged Crossbill", - "Common Redpoll", - "Hoary Redpoll", - "Eurasian Siskin", - "Pine Siskin", - "Lesser Goldfinch", - "Lawrence's Goldfinch", - "American Goldfinch", - "Oriental Greenfinch", - "Eurasian Bullfinch", - "Evening Grosbeak", - "Hawfinch", - "House Sparrow", - "Eurasian Tree Sparrow", -}; - -const std::array cats = { - "Abyssinian", - "American Bobtail", - "American Curl", - "American Shorthair", - "American Wirehair", - "Balinese", - "Bengal", - "Birman", - "Bombay", - "British Shorthair", - "Burmese", - "Chartreux", - "Chausie", - "Cornish Rex", - "Devon Rex", - "Donskoy", - "Egyptian Mau", - "Exotic Shorthair", - "Havana", - "Highlander", - "Himalayan", - "Japanese Bobtail", - "Korat", - "Kurilian Bobtail", - "LaPerm", - "Maine Coon", - "Manx", - "Minskin", - "Munchkin", - "Nebelung", - "Norwegian Forest Cat", - "Ocicat", - "Ojos Azules", - "Oriental", - "Persian", - "Peterbald", - "Pixiebob", - "Ragdoll", - "Russian Blue", - "Savannah", - "Scottish Fold", - "Selkirk Rex", - "Serengeti", - "Siberian", - "Siamese", - "Singapura", - "Snowshoe", - "Sokoke", - "Somali", - "Sphynx", - "Thai", - "Tonkinese", - "Toyger", - "Turkish Angora", - "Turkish Van", -}; - -const std::array cetaceans = { - "Blue Whale", - "Fin Whale", - "Sei Whale", - "Sperm Whale", - "Bryde’s whale", - "Omura’s whale", - "Humpback whale", - "Long-Beaked Common Dolphin", - "Short-Beaked Common Dolphin", - "Bottlenose Dolphin", - "Indo-Pacific Bottlenose Dolphin", - "Northern Rightwhale Dolphin", - "Southern Rightwhale Dolphin", - "Tucuxi", - "Costero", - "Indo-Pacific Hump-backed Dolphin", - "Chinese White Dolphin", - "Atlantic Humpbacked Dolphin", - "Atlantic Spotted Dolphin", - "Clymene Dolphin", - "Pantropical Spotted Dolphin", - "Spinner Dolphin", - "Striped Dolphin", - "Rough-Toothed Dolphin", - "Chilean Dolphin", - "Commerson’s Dolphin", - "Heaviside’s Dolphin", - "Hector’s Dolphin", - "Risso’s Dolphin", - "Fraser’s Dolphin", - "Atlantic White-Sided Dolphin", - "Dusky Dolphin", - "Hourglass Dolphin", - "Pacific White-Sided Dolphin", - "Peale’s Dolphin", - "White-Beaked Dolphin", - "Australian Snubfin Dolphin", - "Irrawaddy Dolphin", - "Melon-headed Whale", - "Killer Whale (Orca)", - "Pygmy Killer Whale", - "False Killer Whale", - "Long-finned Pilot Whale", - "Short-finned Pilot Whale", - "Guiana Dolphin", - "Burrunan Dolphin", - "Australian humpback Dolphin", - "Amazon River Dolphin", - "Chinese River Dolphin", - "Ganges River Dolphin", - "La Plata Dolphin", - "Southern Bottlenose Whale", - "Longman's Beaked Whale", - "Arnoux's Beaked Whale", -}; - -const std::array cows = {"Aberdeen Angus", - "Abergele", - "Abigar", - "Abondance", - "Abyssinian Shorthorned Zebu", - "Aceh", - "Achham", - "Adamawa", - "Adaptaur", - "Afar", - "Africangus", - "Afrikaner", - "Agerolese", - "Alambadi", - "Alatau", - "Albanian", - "Albera", - "Alderney", - "Alentejana", - "Aleutian wild cattle", - "Aliad Dinka", - "Alistana-Sanabresa", - "Allmogekor", - "Alur", - "American", - "American Angus", - "American Beef Friesian", - "American Brown Swiss", - "American Milking Devon", - "American White Park", - "Amerifax", - "Amrit Mahal", - "Amsterdam Island cattle", - "Anatolian Black", - "Andalusian Black", - "Andalusian Blond", - "Andalusian Grey", - "Angeln", - "Angoni", - "Ankina", - "Ankole", - "Ankole-Watusi", - "Aracena", - "Arado", - "Argentine Criollo", - "Argentine Friesian", - "Armorican", - "Arouquesa", - "Arsi", - "Asturian Mountain", - "Asturian Valley", - "Aubrac", - "Aulie-Ata", - "Aure et Saint-Girons", - "Australian Braford", - "Australian Brangus", - "Australian Charbray", - "Australian Friesian Sahiwal", - "Australian Lowline", - "Australian Milking Zebu", - "Australian Shorthorn", - "Austrian Simmental", - "Austrian Yellow", - "Avétonou", - "Avileña-Negra Ibérica", - "Aweil Dinka", - "Ayrshire", - "Azaouak", - "Azebuado", - "Azerbaijan Zebu", - "Azores", - "Bedit", - "Breed", - "Bachaur cattle", - "Baherie cattle", - "Bakosi cattle", - "Balancer", - "Baoule", - "Bargur cattle", - "Barrosã", - "Barzona", - "Bazadaise", - "Beef Freisian", - "Beefalo", - "Beefmaker", - "Beefmaster", - "Begayt", - "Belgian Blue", - "Belgian Red", - "Belgian Red Pied", - "Belgian White-and-Red", - "Belmont Red", - "Belted Galloway", - "Bernese", - "Berrenda cattle", - "Betizu", - "Bianca Modenese", - "Blaarkop", - "Black Angus", - "Black Baldy", - "Black Hereford", - "Blanca Cacereña", - "Blanco Orejinegro BON", - "Blonde d'Aquitaine", - "Blue Albion", - "Blue Grey", - "Bohuskulla", - "Bonsmara", - "Boran", - "Boškarin", - "Braford", - "Brahman", - "Brahmousin", - "Brangus", - "Braunvieh", - "Brava", - "British White", - "British Friesian", - "Brown Carpathian", - "Brown Caucasian", - "Brown Swiss", - "Bue Lingo", - "Burlina", - "Buša cattle", - "Butana cattle", - "Bushuyev", - "Cedit", - "Cachena", - "Caldelana", - "Camargue", - "Campbell Island cattle", - "Canadian Speckle Park", - "Canadienne", - "Canaria", - "Canchim", - "Caracu", - "Cárdena Andaluza", - "Carinthian Blondvieh", - "Carora", - "Charbray", - "Charolais", - "Chateaubriand", - "Chiangus", - "Chianina", - "Chillingham cattle", - "Chinese Black Pied", - "Cholistani", - "Coloursided White Back", - "Commercial", - "Corriente", - "Corsican cattle", - "Costeño con Cuernos", - "Crioulo Lageano", - "Dedit", - "Dajal", - "Dangi cattle", - "Danish Black-Pied", - "Danish Jersey", - "Danish Red", - "Deep Red cattle", - "Deoni", - "Devon", - "Dexter cattle", - "Dhanni", - "Doayo cattle", - "Doela", - "Drakensberger", - "Dølafe", - "Droughtmaster", - "Dulong'", - "Dutch Belted", - "Dutch Friesian", - "Dwarf Lulu", - "Eedit", - "East Anatolian Red", - "Eastern Finncattle", - "Eastern Red Polled", - "Enderby Island cattle", - "English Longhorn", - "Ennstaler Bergscheck", - "Estonian Holstein", - "Estonian Native", - "Estonian Red cattle", - "Évolène cattle", - "Fedit", - "Fēng Cattle", - "Finnish Ayrshire", - "Finncattle", - "Finnish Holstein-Friesian", - "Fjäll", - "Fleckvieh", - "Florida Cracker cattle", - "Fogera", - "French Simmental", - "Fribourgeoise", - "Friesian Red and White", - "Fulani Sudanese", - "Gedit", - "Galician Blond", - "Galloway cattle", - "Gangatiri", - "Gaolao", - "Garvonesa", - "Gascon cattle", - "Gelbvieh", - "Georgian Mountain cattle", - "German Angus", - "German Black Pied cattle", - "German Black Pied Dairy", - "German Red Pied", - "Gir", - "Glan cattle", - "Gloucester", - "Gobra", - "Greek Shorthorn", - "Greek Steppe", - "Greyman cattle", - "Gudali", - "Guernsey cattle", - "Guzerá", - "Hedit", - "Hallikar4", - "Hanwoo", - "Hariana cattle", - "Hartón del Valle", - "Harzer Rotvieh", - "Hays Converter", - "Heck cattle", - "Hereford", - "Herens", - "Hybridmaster", - "Highland cattle", - "Hinterwald", - "Holando-Argentino", - "Holstein Friesian cattle", - "Horro", - "Huáng Cattle", - "Hungarian Grey", - "Iedit", - "Iberian cattle", - "Icelandic", - "Illawarra cattle", - "Improved Red and White", - "Indo-Brazilian", - "Irish Moiled", - "Israeli Holstein", - "Israeli Red", - "Istoben cattle", - "Istrian cattle", - "Jedit", - "Jamaica Black", - "Jamaica Hope", - "Jamaica Red", - "Japanese Brown", - "Jarmelista", - "Javari cattle", - "Jersey cattle", - "Jutland cattle", - "Kedit", - "Kabin Buri cattle", - "Kalmyk cattle", - "Kangayam", - "Kankrej", - "Kamphaeng Saen cattle", - "Karan Swiss", - "Kasaragod Dwarf cattle", - "Kathiawadi", - "Kazakh Whiteheaded", - "Kenana cattle", - "Kenkatha cattle", - "Kerry cattle", - "Kherigarh", - "Khillari cattle", - "Kholomogory", - "Korat Wagyu", - "Kostroma cattle", - "Krishna Valley cattle", - "Kuri", - "Kurgan cattle", - "Ledit", - "La Reina cattle", - "Lakenvelder cattle", - "Lampurger", - "Latvian Blue", - "Latvian Brown", - "Latvian Danish Red", - "Lebedyn", - "Levantina", - "Limia cattle", - "Limousin", - "Limpurger", - "Lincoln Red", - "Lineback", - "Lithuanian Black-and-White", - "Lithuanian Light Grey", - "Lithuanian Red", - "Lithuanian White-Backed", - "Lohani cattle", - "Lourdais", - "Lucerna cattle", - "Luing", - "Medit", - "Madagascar Zebu", - "Madura", - "Maine-Anjou", - "Malnad Gidda", - "Malvi", - "Mandalong Special", - "Mantequera Leonesa", - "Maramureş Brown", - "Marchigiana", - "Maremmana", - "Marinhoa", - "Maronesa", - "Masai", - "Mashona", - "Menorquina", - "Mertolenga", - "Meuse-Rhine-Issel", - "Mewati", - "Milking Shorthorn", - "Minhota", - "Mirandesa", - "Mirkadim", - "Mocăniţă", - "Mollie", - "Monchina", - "Mongolian", - "Montbéliarde", - "Morucha", - "Muturu", - "Murboden", - "Murnau-Werdenfels", - "Murray Grey", - "Nedit", - "Nagori", - "N'Dama", - "Negra Andaluza", - "Nelore", - "Nguni", - "Nimari", - "Normande", - "North Bengal Grey", - "Northern Finncattle", - "Northern Shorthorn", - "Norwegian Red", - "Oedit]", - "Ongole", - "Original Simmental", - "Pedit", - "Pajuna", - "Palmera", - "Pantaneiro", - "Parda Alpina", - "Parthenaise", - "Pasiega", - "Pembroke", - "Philippine Native", - "Pie Rouge des Plaines", - "Piedmontese cattle", - "Pineywoods", - "Pinzgauer", - "Pirenaica", - "Podolac", - "Podolica", - "Polish Black-and-White", - "Polish Red", - "Polled Hereford", - "Poll Shorthorn", - "Polled Shorthorn", - "Ponwar", - "Preta", - "Punganur", - "Pulikulam", - "Pustertaler Sprinzen", - "Qedit", - "Qinchaun", - "Queensland Miniature Boran", - "Redit", - "Ramo Grande", - "Randall", - "Raramuri Criollo", - "Rathi", - "Rätisches Grauvieh", - "Raya", - "Red Angus", - "Red Brangus", - "Red Chittagong", - "Red Fulani", - "Red Gorbatov", - "Red Holstein", - "Red Kandhari", - "Red Mingrelian", - "Red Poll", - "Red Polled Østland", - "Red Sindhi", - "Retinta", - "Riggit Galloway", - "Ringamåla", - "Rohjan", - "Romagnola", - "Romanian Bălţata", - "Romanian Steppe Gray", - "Romosinuano", - "Russian Black Pied", - "RX3", - "Sedit", - "Sahiwal", - "Salers", - "Salorn", - "Sanga", - "Sanhe", - "Santa Cruz", - "Santa Gertrudis", - "Sayaguesa", - "Schwyz", - "Selembu", - "Senepol", - "Serbian Pied", - "Serbian Steppe", - "Sheko", - "Shetland", - "Shorthorn", - "Siboney de Cuba", - "Simbrah", - "Simford", - "Simmental", - "Siri", - "South Devon", - "Spanish Fighting Bull", - "Speckle Park", - "Square Meater", - "Sussex", - "Swedish Friesian", - "Swedish Polled", - "Swedish Red Pied", - "Swedish Red Polled", - "Swedish Red-and-White", - "Tedit", - "Tabapuã", - "Tarentaise", - "Tasmanian Grey", - "Tauros", - "Telemark", - "Texas Longhorn", - "Texon", - "Thai Black", - "Thai Fighting Bull", - "Thai Friesian", - "Thai Milking Zebu", - "Tharparkar", - "Tswana", - "Tudanca", - "Tuli", - "Tulim", - "Turkish Grey Steppe", - "Tux-Zillertal", - "Tyrol Grey", - "Uedit", - "Umblachery", - "Ukrainian Grey", - "Vedit", - "Valdostana Castana", - "Valdostana Pezzata Nera", - "Valdostana Pezzata Rossa", - "Väneko", - "Vaynol", - "Vechur8", - "Vestland Fjord", - "Vestland Red Polled", - "Vianesa", - "Volinian Beef", - "Vorderwald", - "Vosgienne", - "Wedit", - "Wagyu", - "Waguli", - "Wangus", - "Welsh Black", - "Western Finncattle", - "White Cáceres", - "White Fulani", - "White Lamphun", - "White Park", - "Whitebred Shorthorn", - "Xedit", - "Xingjiang Brown", - "Yedit", - "Yakutian", - "Yanbian", - "Yanhuang", - "Yurino", - "Zedit", - "Żubroń", - "Zebu"}; - -const std::array crocodiles = { - "Alligator mississippiensis", - "Chinese Alligator", - "Black Caiman", - "Broad-snouted Caiman", - "Spectacled Caiman", - "Yacare Caiman", - "Cuvier’s Dwarf Caiman", - "Schneider’s Smooth-fronted Caiman", - "African Slender-snouted Crocodile", - "American Crocodile", - "Australian Freshwater Crocodile", - "Cuban Crocodile", - "Dwarf Crocodile", - "Morelet’s Crocodile", - "Mugger Crocodile", - "New Guinea Freshwater Crocodile", - "Nile Crocodile", - "West African Crocodile", - "Orinoco Crocodile", - "Philippine Crocodile", - "Saltwater Crocodile", - "Siamese Crocodile", - "Gharial", - "Tomistoma", -}; - -const std::array dogs = { - "Affenpinscher", - "Afghan Hound", - "Aidi", - "Airedale Terrier", - "Akbash", - "Akita", - "Alano Español", - "Alapaha Blue Blood Bulldog", - "Alaskan Husky", - "Alaskan Klee Kai", - "Alaskan Malamute", - "Alopekis", - "Alpine Dachsbracke", - "American Bulldog", - "American Bully", - "American Cocker Spaniel", - "American English Coonhound", - "American Foxhound", - "American Hairless Terrier", - "American Pit Bull Terrier", - "American Staffordshire Terrier", - "American Water Spaniel", - "Andalusian Hound", - "Anglo-Français de Petite Vénerie", - "Appenzeller Sennenhund", - "Ariegeois", - "Armant", - "Armenian Gampr dog", - "Artois Hound", - "Australian Cattle Dog", - "Australian Kelpie", - "Australian Shepherd", - "Australian Stumpy Tail Cattle Dog", - "Australian Terrier", - "Austrian Black and Tan Hound", - "Austrian Pinscher", - "Azawakh", - "Bakharwal dog", - "Banjara Hound", - "Barbado da Terceira", - "Barbet", - "Basenji", - "Basque Shepherd Dog", - "Basset Artésien Normand", - "Basset Bleu de Gascogne", - "Basset Fauve de Bretagne", - "Basset Hound", - "Bavarian Mountain Hound", - "Beagle", - "Beagle-Harrier", - "Belgian Shepherd", - "Bearded Collie", - "Beauceron", - "Bedlington Terrier", - "Bergamasco Shepherd", - "Berger Picard", - "Bernese Mountain Dog", - "Bhotia", - "Bichon Frisé", - "Billy", - "Black and Tan Coonhound", - "Black Norwegian Elkhound", - "Black Russian Terrier", - "Black Mouth Cur", - "Bloodhound", - "Blue Lacy", - "Blue Picardy Spaniel", - "Bluetick Coonhound", - "Boerboel", - "Bohemian Shepherd", - "Bolognese", - "Border Collie", - "Border Terrier", - "Borzoi", - "Bosnian Coarse-haired Hound", - "Boston Terrier", - "Bouvier des Ardennes", - "Bouvier des Flandres", - "Boxer", - "Boykin Spaniel", - "Bracco Italiano", - "Braque d'Auvergne", - "Braque de l'Ariège", - "Braque du Bourbonnais", - "Braque Francais", - "Braque Saint-Germain", - "Briard", - "Briquet Griffon Vendéen", - "Brittany", - "Broholmer", - "Bruno Jura Hound", - "Brussels Griffon", - "Bucovina Shepherd Dog", - "Bull Arab", - "Bull Terrier", - "Bulldog", - "Bullmastiff", - "Bully Kutta", - "Burgos Pointer", - "Cairn Terrier", - "Campeiro Bulldog", - "Canaan Dog", - "Canadian Eskimo Dog", - "Cane Corso", - "Cane di Oropa", - "Cane Paratore", - "Cantabrian Water Dog", - "Can de Chira", - "Cão da Serra de Aires", - "Cão de Castro Laboreiro", - "Cão de Gado Transmontano", - "Cão Fila de São Miguel", - "Cardigan Welsh Corgi", - "Carea Castellano Manchego", - "Carolina Dog", - "Carpathian Shepherd Dog", - "Catahoula Leopard Dog", - "Catalan Sheepdog", - "Caucasian Shepherd Dog", - "Cavalier King Charles Spaniel", - "Central Asian Shepherd Dog", - "Cesky Fousek", - "Cesky Terrier", - "Chesapeake Bay Retriever", - "Chien Français Blanc et Noir", - "Chien Français Blanc et Orange", - "Chien Français Tricolore", - "Chihuahua", - "Chilean Terrier", - "Chinese Chongqing Dog", - "Chinese Crested Dog", - "Chinook", - "Chippiparai", - "Chongqing dog", - "Chortai", - "Chow Chow", - "Cimarrón Uruguayo", - "Cirneco dell'Etna", - "Clumber Spaniel", - "Colombian fino hound", - "Coton de Tulear", - "Cretan Hound", - "Croatian Sheepdog", - "Curly-Coated Retriever", - "Cursinu", - "Czechoslovakian Wolfdog", - "Dachshund", - "Dalmatian", - "Dandie Dinmont Terrier", - "Danish-Swedish Farmdog", - "Denmark Feist", - "Dingo", - "Doberman Pinscher", - "Dogo Argentino", - "Dogo Guatemalteco", - "Dogo Sardesco", - "Dogue Brasileiro", - "Dogue de Bordeaux", - "Drentse Patrijshond", - "Drever", - "Dunker", - "Dutch Shepherd", - "Dutch Smoushond", - "East Siberian Laika", - "East European Shepherd", - "English Cocker Spaniel", - "English Foxhound", - "English Mastiff", - "English Setter", - "English Shepherd", - "English Springer Spaniel", - "English Toy Terrier", - "Entlebucher Mountain Dog", - "Estonian Hound", - "Estrela Mountain Dog", - "Eurasier", - "Field Spaniel", - "Fila Brasileiro", - "Finnish Hound", - "Finnish Lapphund", - "Finnish Spitz", - "Flat-Coated Retriever", - "French Bulldog", - "French Spaniel", - "Galgo Español", - "Galician Shepherd Dog", - "Garafian Shepherd", - "Gascon Saintongeois", - "Georgian Shepherd", - "German Hound", - "German Longhaired Pointer", - "German Pinscher", - "German Roughhaired Pointer", - "German Shepherd Dog", - "German Shorthaired Pointer", - "German Spaniel", - "German Spitz", - "German Wirehaired Pointer", - "Giant Schnauzer", - "Glen of Imaal Terrier", - "Golden Retriever", - "Gończy Polski", - "Gordon Setter", - "Grand Anglo-Français Blanc et Noir", - "Grand Anglo-Français Blanc et Orange", - "Grand Anglo-Français Tricolore", - "Grand Basset Griffon Vendéen", - "Grand Bleu de Gascogne", - "Grand Griffon Vendéen", - "Great Dane", - "Greater Swiss Mountain Dog", - "Greek Harehound", - "Greek Shepherd", - "Greenland Dog", - "Greyhound", - "Griffon Bleu de Gascogne", - "Griffon Fauve de Bretagne", - "Griffon Nivernais", - "Gull Dong", - "Gull Terrier", - "Hällefors Elkhound", - "Hamiltonstövare", - "Hanover Hound", - "Harrier", - "Havanese", - "Hierran Wolfdog", - "Hokkaido", - "Hovawart", - "Huntaway", - "Hygen Hound", - "Ibizan Hound", - "Icelandic Sheepdog", - "Indian pariah dog", - "Indian Spitz", - "Irish Red and White Setter", - "Irish Setter", - "Irish Terrier", - "Irish Water Spaniel", - "Irish Wolfhound", - "Istrian Coarse-haired Hound", - "Istrian Shorthaired Hound", - "Italian Greyhound", - "Jack Russell Terrier", - "Jagdterrier", - "Japanese Chin", - "Japanese Spitz", - "Japanese Terrier", - "Jindo", - "Jonangi", - "Kai Ken", - "Kaikadi", - "Kangal Shepherd Dog", - "Kanni", - "Karakachan dog", - "Karelian Bear Dog", - "Kars", - "Karst Shepherd", - "Keeshond", - "Kerry Beagle", - "Kerry Blue Terrier", - "King Charles Spaniel", - "King Shepherd", - "Kintamani", - "Kishu", - "Kokoni", - "Kombai", - "Komondor", - "Kooikerhondje", - "Koolie", - "Koyun dog", - "Kromfohrländer", - "Kuchi", - "Kuvasz", - "Labrador Retriever", - "Lagotto Romagnolo", - "Lakeland Terrier", - "Lancashire Heeler", - "Landseer", - "Lapponian Herder", - "Large Münsterländer", - "Leonberger", - "Levriero Sardo", - "Lhasa Apso", - "Lithuanian Hound", - "Löwchen", - "Lupo Italiano", - "Mackenzie River Husky", - "Magyar agár", - "Mahratta Greyhound", - "Maltese", - "Manchester Terrier", - "Maremmano-Abruzzese Sheepdog", - "McNab dog", - "Miniature American Shepherd", - "Miniature Bull Terrier", - "Miniature Fox Terrier", - "Miniature Pinscher", - "Miniature Schnauzer", - "Molossus of Epirus", - "Montenegrin Mountain Hound", - "Mountain Cur", - "Mountain Feist", - "Mucuchies", - "Mudhol Hound", - "Mudi", - "Neapolitan Mastiff", - "New Guinea Singing Dog", - "New Zealand Heading Dog", - "Newfoundland", - "Norfolk Terrier", - "Norrbottenspets", - "Northern Inuit Dog", - "Norwegian Buhund", - "Norwegian Elkhound", - "Norwegian Lundehund", - "Norwich Terrier", - "Nova Scotia Duck Tolling Retriever", - "Old Croatian Sighthound", - "Old Danish Pointer", - "Old English Sheepdog", - "Old English Terrier", - "Olde English Bulldogge", - "Otterhound", - "Pachon Navarro", - "Pampas Deerhound", - "Paisley Terrier", - "Papillon", - "Parson Russell Terrier", - "Pastore della Lessinia e del Lagorai", - "Patagonian Sheepdog", - "Patterdale Terrier", - "Pekingese", - "Pembroke Welsh Corgi", - "Perro Majorero", - "Perro de Pastor Mallorquin", - "Perro de Presa Canario", - "Perro de Presa Mallorquin", - "Peruvian Inca Orchid", - "Petit Basset Griffon Vendéen", - "Petit Bleu de Gascogne", - "Phalène", - "Pharaoh Hound", - "Phu Quoc Ridgeback", - "Picardy Spaniel", - "Plummer Terrier", - "Plott Hound", - "Podenco Canario", - "Podenco Valenciano", - "Pointer", - "Poitevin", - "Polish Greyhound", - "Polish Hound", - "Polish Lowland Sheepdog", - "Polish Tatra Sheepdog", - "Pomeranian", - "Pont-Audemer Spaniel", - "Poodle", - "Porcelaine", - "Portuguese Podengo", - "Portuguese Pointer", - "Portuguese Water Dog", - "Posavac Hound", - "Pražský Krysařík", - "Pshdar Dog", - "Pudelpointer", - "Pug", - "Puli", - "Pumi", - "Pungsan Dog", - "Pyrenean Mastiff", - "Pyrenean Mountain Dog", - "Pyrenean Sheepdog", - "Rafeiro do Alentejo", - "Rajapalayam", - "Rampur Greyhound", - "Rat Terrier", - "Ratonero Bodeguero Andaluz", - "Ratonero Mallorquin", - "Ratonero Murciano de Huerta", - "Ratonero Valenciano", - "Redbone Coonhound", - "Rhodesian Ridgeback", - "Romanian Mioritic Shepherd Dog", - "Romanian Raven Shepherd Dog", - "Rottweiler", - "Rough Collie", - "Russian Spaniel", - "Russian Toy", - "Russo-European Laika", - "Saarloos Wolfdog", - "Sabueso Español", - "Saint Bernard", - "Saint Hubert Jura Hound", - "Saint-Usuge Spaniel", - "Saluki", - "Samoyed", - "Sapsali", - "Sarabi dog", - "Šarplaninac", - "Schapendoes", - "Schillerstövare", - "Schipperke", - "Schweizer Laufhund", - "Schweizerischer Niederlaufhund", - "Scottish Deerhound", - "Scottish Terrier", - "Sealyham Terrier", - "Segugio dell'Appennino", - "Segugio Italiano", - "Segugio Maremmano", - "Seppala Siberian Sleddog", - "Serbian Hound", - "Serbian Tricolour Hound", - "Serrano Bulldog", - "Shar Pei", - "Shetland Sheepdog", - "Shiba Inu", - "Shih Tzu", - "Shikoku", - "Shiloh Shepherd", - "Siberian Husky", - "Silken Windhound", - "Silky Terrier", - "Sinhala Hound", - "Skye Terrier", - "Sloughi", - "Slovakian Wirehaired Pointer", - "Slovenský Cuvac", - "Slovenský Kopov", - "Smalandstövare", - "Small Greek domestic dog", - "Small Münsterländer", - "Smooth Collie", - "Smooth Fox Terrier", - "Soft-Coated Wheaten Terrier", - "South Russian Ovcharka", - "Spanish Mastiff", - "Spanish Water Dog", - "Spinone Italiano", - "Sporting Lucas Terrier", - "Sardinian Shepherd Dog", - "Stabyhoun", - "Staffordshire Bull Terrier", - "Standard Schnauzer", - "Stephens Stock", - "Styrian Coarse-haired Hound", - "Sussex Spaniel", - "Swedish Elkhound", - "Swedish Lapphund", - "Swedish Vallhund", - "Swedish White Elkhound", - "Taigan", - "Taiwan Dog", - "Tamaskan Dog", - "Teddy Roosevelt Terrier", - "Telomian", - "Tenterfield Terrier", - "Terrier Brasileiro", - "Thai Bangkaew Dog", - "Thai Ridgeback", - "Tibetan Mastiff", - "Tibetan Spaniel", - "Tibetan Terrier", - "Tornjak", - "Tosa", - "Toy Fox Terrier", - "Toy Manchester Terrier", - "Transylvanian Hound", - "Treeing Cur", - "Treeing Feist", - "Treeing Tennessee Brindle", - "Treeing Walker Coonhound", - "Trigg Hound", - "Tyrolean Hound", - "Vikhan", - "Villano de Las Encartaciones", - "Villanuco de Las Encartaciones", - "Vizsla", - "Volpino Italiano", - "Weimaraner", - "Welsh Sheepdog", - "Welsh Springer Spaniel", - "Welsh Terrier", - "West Highland White Terrier", - "West Siberian Laika", - "Westphalian Dachsbracke", - "Wetterhoun", - "Whippet", - "White Shepherd", - "White Swiss Shepherd Dog", - "Wire Fox Terrier", - "Wirehaired Pointing Griffon", - "Wirehaired Vizsla", - "Xiasi Dog", - "Xoloitzcuintli", - "Yakutian Laika", - "Yorkshire Terrier", -}; - -const std::array fishes = { - "Grass carp", - "Peruvian anchoveta", - "Silver carp", - "Common carp", - "Asari", - "Japanese littleneck", - "Filipino Venus", - "Japanese cockle", - "Alaska pollock", - "Nile tilapia", - "Whiteleg shrimp", - "Bighead carp", - "Skipjack tuna", - "Catla", - "Crucian carp", - "Atlantic salmon", - "Atlantic herring", - "Chub mackerel", - "Rohu", - "Yellowfin tuna", - "Japanese anchovy", - "Largehead hairtail", - "Atlantic cod", - "European pilchard", - "Capelin", - "Jumbo flying squid", - "Milkfish", - "Atlantic mackerel", - "Rainbow trout", - "Araucanian herring", - "Wuchang bream", - "Gulf menhaden", - "Indian oil sardine", - "Black carp", - "European anchovy", - "Northern snakehead", - "Pacific cod", - "Pacific saury", - "Pacific herring", - "Bigeye tuna", - "Chilean jack mackerel", - "Yellow croaker", - "Haddock", - "Gazami crab", - "Amur catfish", - "Japanese common catfish", - "European sprat", - "Pink salmon", - "Mrigal carp", - "Channel catfish", - "Blood cockle", - "Blue whiting", - "Hilsa shad", - "Daggertooth pike conger", - "California pilchard", - "Cape horse mackerel", - "Pacific anchoveta", - "Japanese flying squid", - "Pollock", - "Chinese softshell turtle", - "Kawakawa", - "Indian mackerel", - "Asian swamp eel", - "Argentine hake", - "Short mackerel", - "Southern rough shrimp", - "Southern African anchovy", - "Pond loach", - "Iridescent shark", - "Mandarin fish", - "Chinese perch", - "Nile perch", - "Round sardinella", - "Japanese pilchard", - "Bombay-duck", - "Yellowhead catfish", - "Korean bullhead", - "Narrow-barred Spanish mackerel", - "Albacore", - "Madeiran sardinella", - "Bonga shad", - "Silver cyprinid", - "Longtail tuna", - "Atlantic menhaden", - "North Pacific hake", - "Atlantic horse mackerel", - "Japanese jack mackerel", - "Pacific thread herring", - "Bigeye scad", - "Yellowstripe scad", - "Chum salmon", - "Blue swimming crab", - "Pacific sand lance", - "Pacific sandlance", - "Goldstripe sardinella", -}; - -const std::array horses = { - "American Albino", - "Abaco Barb", - "Abtenauer", - "Abyssinian", - "Aegidienberger", - "Akhal-Teke", - "Albanian Horse", - "Altai Horse", - "Altèr Real", - "American Cream Draft", - "American Indian Horse", - "American Paint Horse", - "American Quarter Horse", - "American Saddlebred", - "American Warmblood", - "Andalusian Horse", - "Andravida Horse", - "Anglo-Arabian", - "Anglo-Arabo-Sardo", - "Anglo-Kabarda", - "Appaloosa", - "AraAppaloosa", - "Arabian Horse", - "Ardennes Horse", - "Arenberg-Nordkirchen", - "Argentine Criollo", - "Asian wild Horse", - "Assateague Horse", - "Asturcón", - "Augeron", - "Australian Brumby", - "Australian Draught Horse", - "Australian Stock Horse", - "Austrian Warmblood", - "Auvergne Horse", - "Auxois", - "Azerbaijan Horse", - "Azteca Horse", - "Baise Horse", - "Bale", - "Balearic Horse", - "Balikun Horse", - "Baluchi Horse", - "Banker Horse", - "Barb Horse", - "Bardigiano", - "Bashkir Curly", - "Basque Mountain Horse", - "Bavarian Warmblood", - "Belgian Half-blood", - "Belgian Horse", - "Belgian Warmblood ", - "Bhutia Horse", - "Black Forest Horse", - "Blazer Horse", - "Boerperd", - "Borana", - "Boulonnais Horse", - "Brabant", - "Brandenburger", - "Brazilian Sport Horse", - "Breton Horse", - "Brumby", - "Budyonny Horse", - "Burguete Horse", - "Burmese Horse", - "Byelorussian Harness Horse", - "Calabrese Horse", - "Camargue Horse", - "Camarillo White Horse", - "Campeiro", - "Campolina", - "Canadian Horse", - "Canadian Pacer", - "Carolina Marsh Tacky", - "Carthusian Horse", - "Caspian Horse", - "Castilian Horse", - "Castillonnais", - "Catria Horse", - "Cavallo Romano della Maremma Laziale", - "Cerbat Mustang", - "Chickasaw Horse", - "Chilean Corralero", - "Choctaw Horse", - "Cleveland Bay", - "Clydesdale Horse", - "Cob", - "Coldblood Trotter", - "Colonial Spanish Horse", - "Colorado Ranger", - "Comtois Horse", - "Corsican Horse", - "Costa Rican Saddle Horse", - "Cretan Horse", - "Criollo Horse", - "Croatian Coldblood", - "Cuban Criollo", - "Cumberland Island Horse", - "Curly Horse", - "Czech Warmblood", - "Daliboz", - "Danish Warmblood", - "Danube Delta Horse", - "Dole Gudbrandsdal", - "Don", - "Dongola Horse", - "Draft Trotter", - "Dutch Harness Horse", - "Dutch Heavy Draft", - "Dutch Warmblood", - "Dzungarian Horse", - "East Bulgarian", - "East Friesian Horse", - "Estonian Draft", - "Estonian Horse", - "Falabella", - "Faroese", - "Finnhorse", - "Fjord Horse", - "Fleuve", - "Florida Cracker Horse", - "Foutanké", - "Frederiksborg Horse", - "Freiberger", - "French Trotter", - "Friesian Cross", - "Friesian Horse", - "Friesian Sporthorse", - "Furioso-North Star", - "Galiceño", - "Galician Pony", - "Gelderland Horse", - "Georgian Grande Horse", - "German Warmblood", - "Giara Horse", - "Gidran", - "Groningen Horse", - "Gypsy Horse", - "Hackney Horse", - "Haflinger", - "Hanoverian Horse", - "Heck Horse", - "Heihe Horse", - "Henson Horse", - "Hequ Horse", - "Hirzai", - "Hispano-Bretón", - "Holsteiner Horse", - "Horro", - "Hungarian Warmblood", - "Icelandic Horse", - "Iomud", - "Irish Draught", - "Irish Sport Horse sometimes called Irish Hunter", - "Italian Heavy Draft", - "Italian Trotter", - "Jaca Navarra", - "Jeju Horse", - "Jutland Horse", - "Kabarda Horse", - "Kafa", - "Kaimanawa Horses", - "Kalmyk Horse", - "Karabair", - "Karabakh Horse", - "Karachai Horse", - "Karossier", - "Kathiawari", - "Kazakh Horse", - "Kentucky Mountain Saddle Horse", - "Kiger Mustang", - "Kinsky Horse", - "Kisber Felver", - "Kiso Horse", - "Kladruber", - "Knabstrupper", - "Konik", - "Kundudo", - "Kustanair", - "Kyrgyz Horse", - "Latvian Horse", - "Lipizzan", - "Lithuanian Heavy Draught", - "Lokai", - "Losino Horse", - "Lusitano", - "Lyngshest", - "M'Bayar", - "M'Par", - "Mallorquín", - "Malopolski", - "Mangalarga", - "Mangalarga Marchador", - "Maremmano", - "Marismeño Horse", - "Marsh Tacky", - "Marwari Horse", - "Mecklenburger", - "Međimurje Horse", - "Menorquín", - "Mérens Horse", - "Messara Horse", - "Metis Trotter", - "Mezőhegyesi Sport Horse", - "Miniature Horse", - "Misaki Horse", - "Missouri Fox Trotter", - "Monchina", - "Mongolian Horse", - "Mongolian Wild Horse", - "Monterufolino", - "Morab", - "Morgan Horse", - "Mountain Pleasure Horse", - "Moyle Horse", - "Murakoz Horse", - "Murgese", - "Mustang Horse", - "Namib Desert Horse", - "Nangchen Horse", - "National Show Horse", - "Nez Perce Horse", - "Nivernais Horse", - "Nokota Horse", - "Noma", - "Nonius Horse", - "Nooitgedachter", - "Nordlandshest", - "Noriker Horse", - "Norman Cob", - "North American Single-Footer Horse", - "North Swedish Horse", - "Norwegian Coldblood Trotter", - "Norwegian Fjord", - "Novokirghiz", - "Oberlander Horse", - "Ogaden", - "Oldenburg Horse", - "Orlov trotter", - "Ostfriesen", - "Paint", - "Pampa Horse", - "Paso Fino", - "Pentro Horse", - "Percheron", - "Persano Horse", - "Peruvian Paso", - "Pintabian", - "Pleven Horse", - "Poitevin Horse", - "Posavac Horse", - "Pottok", - "Pryor Mountain Mustang", - "Przewalski's Horse", - "Pura Raza Española", - "Purosangue Orientale", - "Qatgani", - "Quarab", - "Quarter Horse", - "Racking Horse", - "Retuerta Horse", - "Rhenish German Coldblood", - "Rhinelander Horse", - "Riwoche Horse", - "Rocky Mountain Horse", - "Romanian Sporthorse", - "Rottaler", - "Russian Don", - "Russian Heavy Draft", - "Russian Trotter", - "Saddlebred", - "Salerno Horse", - "Samolaco Horse", - "San Fratello Horse", - "Sarcidano Horse", - "Sardinian Anglo-Arab", - "Schleswig Coldblood", - "Schwarzwälder Kaltblut", - "Selale", - "Sella Italiano", - "Selle Français", - "Shagya Arabian", - "Shan Horse", - "Shire Horse", - "Siciliano Indigeno", - "Silesian Horse", - "Sokolsky Horse", - "Sorraia", - "South German Coldblood", - "Soviet Heavy Draft", - "Spanish Anglo-Arab", - "Spanish Barb", - "Spanish Jennet Horse", - "Spanish Mustang", - "Spanish Tarpan", - "Spanish-Norman Horse", - "Spiti Horse", - "Spotted Saddle Horse", - "Standardbred Horse", - "Suffolk Punch", - "Swedish Ardennes", - "Swedish coldblood trotter", - "Swedish Warmblood", - "Swiss Warmblood", - "Taishū Horse", - "Takhi", - "Tawleed", - "Tchernomor", - "Tennessee Walking Horse", - "Tersk Horse", - "Thoroughbred", - "Tiger Horse", - "Tinker Horse", - "Tolfetano", - "Tori Horse", - "Trait Du Nord", - "Trakehner", - "Tsushima", - "Tuigpaard", - "Ukrainian Riding Horse", - "Unmol Horse", - "Uzunyayla", - "Ventasso Horse", - "Virginia Highlander", - "Vlaamperd", - "Vladimir Heavy Draft", - "Vyatka", - "Waler", - "Waler Horse", - "Walkaloosa", - "Warlander", - "Warmblood", - "Welsh Cob", - "Westphalian Horse", - "Wielkopolski", - "Württemberger", - "Xilingol Horse", - "Yakutian Horse", - "Yili Horse", - "Yonaguni Horse", - "Zaniskari", - "Žemaitukas", - "Zhemaichu", - "Zweibrücker", -}; - -const std::array insects = { - "Acacia-ants", - "Acorn-plum gall", - "Aerial yellowjacket", - "Africanized honey bee", - "Allegheny mound ant", - "Almond stone wasp", - "Ant", - "Arboreal ant", - "Argentine ant", - "Asian paper wasp", - "Baldfaced hornet", - "Bee", - "Bigheaded ant", - "Black and yellow mud dauber", - "Black carpenter ant", - "Black imported fire ant", - "Blue horntail woodwasp", - "Blue orchard bee", - "Braconid wasp", - "Bumble bee", - "Carpenter ant", - "Carpenter wasp", - "Chalcid wasp", - "Cicada killer", - "Citrus blackfly parasitoid", - "Common paper wasp", - "Crazy ant", - "Cuckoo wasp", - "Cynipid gall wasp", - "Eastern Carpenter bee", - "Eastern yellowjacket", - "Elm sawfly", - "Encyrtid wasp", - "Erythrina gall wasp", - "Eulophid wasp", - "European hornet", - "European imported fire ant", - "False honey ant", - "Fire ant", - "Forest bachac", - "Forest yellowjacket", - "German yellowjacket", - "Ghost ant", - "Giant ichneumon wasp", - "Giant resin bee", - "Giant wood wasp", - "Golden northern bumble bee", - "Golden paper wasp", - "Gouty oak gall", - "Grass Carrying Wasp", - "Great black wasp", - "Great golden digger wasp", - "Hackberry nipple gall parasitoid", - "Honey bee", - "Horned oak gall", - "Horse guard wasp", - "Hunting wasp", - "Ichneumonid wasp", - "Keyhole wasp", - "Knopper gall", - "Large garden bumble bee", - "Large oak-apple gall", - "Leafcutting bee", - "Little fire ant", - "Little yellow ant", - "Long-horned bees", - "Long-legged ant", - "Macao paper wasp", - "Mallow bee", - "Marble gall", - "Mossyrose gall wasp", - "Mud-daubers", - "Multiflora rose seed chalcid", - "Oak apple gall wasp", - "Oak rough bulletgall wasp", - "Oak saucer gall", - "Oak shoot sawfly", - "Odorous house ant", - "Orange-tailed bumble bee", - "Orangetailed potter wasp", - "Oriental chestnut gall wasp", - "Paper wasp", - "Pavement ant", - "Pigeon tremex", - "Pip gall wasp", - "Prairie yellowjacket", - "Pteromalid wasp", - "Pyramid ant", - "Raspberry Horntail", - "Red ant", - "Red carpenter ant", - "Red harvester ant", - "Red imported fire ant", - "Red wasp", - "Red wood ant", - "Red-tailed wasp", - "Reddish carpenter ant", - "Rough harvester ant", - "Sawfly parasitic wasp", - "Scale parasitoid", - "Silky ant", - "Sirex woodwasp", - "Siricid woodwasp", - "Smaller yellow ant", - "Southeastern blueberry bee", - "Southern fire ant", - "Southern yellowjacket", - "Sphecid wasp", - "Stony gall", - "Sweat bee", - "Texas leafcutting ant", - "Tiphiid wasp", - "Torymid wasp", - "Tramp ant", - "Valentine ant", - "Velvet ant", - "Vespid wasp", - "Weevil parasitoid", - "Western harvester ant", - "Western paper wasp", - "Western thatching ant", - "Western yellowjacket", - "White-horned horntail", - "Willow shoot sawfly", - "Woodwasp", - "Wool sower gall maker", - "Yellow and black potter wasp", - "Yellow Crazy Ant", - "Yellow-horned horntail", -}; - -const std::array lions = { - "Asiatic Lion", "Barbary Lion", "West African Lion", "Northeast Congo Lion", - "Masai Lion", "Transvaal lion", "Cape lion", -}; - -const std::array rabbits = { - "American", - "American Chinchilla", - "American Fuzzy Lop", - "American Sable", - "Argente Brun", - "Belgian Hare", - "Beveren", - "Blanc de Hotot", - "Britannia Petite", - "Californian", - "Champagne D’Argent", - "Checkered Giant", - "Cinnamon", - "Crème D’Argent", - "Dutch", - "Dwarf Hotot", - "English Angora", - "English Lop", - "English Spot", - "Flemish Giant", - "Florida White", - "French Angora", - "French Lop", - "Giant Angora", - "Giant Chinchilla", - "Harlequin", - "Havana", - "Himalayan", - "Holland Lop", - "Jersey Wooly", - "Lilac", - "Lionhead", - "Mini Lop", - "Mini Rex", - "Mini Satin", - "Netherland Dwarf", - "New Zealand", - "Palomino", - "Polish", - "Rex", - "Rhinelander", - "Satin", - "Satin Angora", - "Silver", - "Silver Fox", - "Silver Marten", - "Standard Chinchilla", - "Tan", - "Thrianta", -}; - -const std::array rodents = { - "Abrocoma", - "Abrocoma schistacea", - "Aconaemys", - "Aconaemys porteri", - "African brush-tailed porcupine", - "Andean mountain cavy", - "Argentine tuco-tuco", - "Ashy chinchilla rat", - "Asiatic brush-tailed porcupine", - "Atherurus", - "Azara's agouti", - "Azara's tuco-tuco", - "Bahia porcupine", - "Bathyergus", - "Bathyergus janetta", - "Bathyergus suillus", - "Bennett's chinchilla rat", - "Bicolored-spined porcupine", - "Black agouti", - "Black dwarf porcupine", - "Black-rumped agouti", - "Black-tailed hairy dwarf porcupine", - "Bolivian chinchilla rat", - "Bolivian tuco-tuco", - "Bonetto's tuco-tuco", - "Brandt's yellow-toothed cavy", - "Brazilian guinea pig", - "Brazilian porcupine", - "Brazilian tuco-tuco", - "Bridge's degu", - "Brown hairy dwarf porcupine", - "Budin's chinchilla rat, A. budini", - "Cape porcupine", - "Catamarca tuco-tuco", - "Cavia", - "Central American agouti", - "Chacoan tuco-tuco", - "Chilean rock rat", - "Chinchilla", - "Coendou", - "Coiban agouti", - "Colburn's tuco-tuco", - "Collared tuco-tuco", - "Common degu", - "Common yellow-toothed cavy", - "Conover's tuco-tuco", - "Coruro", - "Crested agouti", - "Crested porcupine", - "Cryptomys", - "Cryptomys bocagei", - "Cryptomys damarensis", - "Cryptomys foxi", - "Cryptomys hottentotus", - "Cryptomys mechowi", - "Cryptomys ochraceocinereus", - "Cryptomys zechi", - "Ctenomys", - "Cuniculus", - "Cuscomys", - "Cuscomys ashanika", - "Dactylomys", - "Dactylomys boliviensis", - "Dactylomys dactylinus", - "Dactylomys peruanus", - "Dasyprocta", - "Domestic guinea pig", - "Emily's tuco-tuco", - "Erethizon", - "Famatina chinchilla rat", - "Frosted hairy dwarf porcupine", - "Fukomys", - "Fukomys amatus", - "Fukomys anselli", - "Fukomys bocagei", - "Fukomys damarensis", - "Fukomys darlingi", - "Fukomys foxi", - "Fukomys ilariae", - "Fukomys kafuensis", - "Fukomys mechowii", - "Fukomys micklemi", - "Fukomys occlusus", - "Fukomys ochraceocinereus", - "Fukomys whytei", - "Fukomys zechi", - "Furtive tuco-tuco", - "Galea", - "Georychus", - "Georychus capensis", - "Golden viscacha-rat", - "Goya tuco-tuco", - "Greater guinea pig", - "Green acouchi", - "Haig's tuco-tuco", - "Heliophobius", - "Heliophobius argenteocinereus", - "Heterocephalus", - "Heterocephalus glaber", - "Highland tuco-tuco", - "Hystrix", - "Indian porcupine", - "Isla Mocha degu", - "Kalinowski agouti", - "Kannabateomys", - "Kannabateomys amblyonyx", - "Lagidium", - "Lagostomus", - "Lewis' tuco-tuco", - "Long-tailed chinchilla", - "Long-tailed porcupine", - "Los Chalchaleros' viscacha-rat", - "Lowland paca", - "Magellanic tuco-tuco", - "Malayan porcupine", - "Maule tuco-tuco", - "Mendoza tuco-tuco", - "Mexican agouti", - "Mexican hairy dwarf porcupine", - "Microcavia", - "Montane guinea pig", - "Moon-toothed degu", - "Mottled tuco-tuco", - "Mountain degu", - "Mountain paca", - "Mountain viscacha-rat", - "Myoprocta", - "Natterer's tuco-tuco", - "North American porcupine", - "Northern viscacha", - "Octodon", - "Octodontomys", - "Octomys", - "Olallamys", - "Olallamys albicauda", - "Olallamys edax", - "Orinoco agouti", - "Paraguaian hairy dwarf porcupine", - "Pearson's tuco-tuco", - "Peruvian tuco-tuco", - "Philippine porcupine", - "Pipanacoctomys", - "Plains viscacha", - "Plains viscacha-rat", - "Porteous' tuco-tuco", - "Punta de Vacas chinchilla rat", - "Red acouchi", - "Red-rumped agouti", - "Reddish tuco-tuco", - "Rio Negro tuco-tuco", - "Robust tuco-tuco", - "Roosmalen's dwarf porcupine", - "Rothschild's porcupine", - "Ruatan Island agouti", - "Sage's rock rat", - "Salinoctomys", - "Salta tuco-tuco", - "San Luis tuco-tuco", - "Santa Catarina's guinea pig", - "Shiny guinea pig", - "Shipton's mountain cavy", - "Short-tailed chinchilla", - "Silky tuco-tuco", - "Social tuco-tuco", - "Southern mountain cavy", - "Southern tuco-tuco", - "Southern viscacha", - "Spalacopus", - "Spix's yellow-toothed cavy", - "Steinbach's tuco-tuco", - "Streaked dwarf porcupine", - "Strong tuco-tuco", - "Stump-tailed porcupine", - "Sumatran porcupine", - "Sunda porcupine", - "Talas tuco-tuco", - "Tawny tuco-tuco", - "Thick-spined porcupine", - "Tiny tuco-tuco", - "Trichys", - "Tucuman tuco-tuco", - "Tympanoctomys", - "Uspallata chinchilla rat", - "White-toothed tuco-tuco", - "Wolffsohn's viscacha", -}; - -const std::array snakes = { - "Viper Adder", - "Common adder", - "Death Adder", - "Desert death adder", - "Horned adder", - "Long-nosed adder", - "Many-horned adder", - "Mountain adder", - "Mud adder", - "Namaqua dwarf adder", - "Nightingale adder", - "Peringuey's adder", - "Puff adder", - "African puff adder", - "Rhombic night adder", - "Sand adder", - "Dwarf sand adder", - "Namib dwarf sand adder", - "Water adder", - "Aesculapian snake", - "Anaconda", - "Bolivian anaconda", - "De Schauensee's anaconda", - "Green anaconda", - "Yellow anaconda", - "Arafura file snake", - "Asp", - "European asp", - "Egyptian asp", - "African beaked snake", - "Ball Python", - "Bird snake", - "Black-headed snake", - "Mexican black kingsnake", - "Black rat snake", - "Black snake", - "Red-bellied black snake", - "Blind snake", - "Brahminy blind snake", - "Texas blind snake", - "Western blind snake", - "Boa", - "Abaco Island boa", - "Amazon tree boa", - "Boa constrictor", - "Cuban boa", - "Dumeril's boa", - "Dwarf boa", - "Emerald tree boa", - "Hogg Island boa", - "Jamaican boa", - "Madagascar ground boa", - "Madagascar tree boa", - "Puerto Rican boa", - "Rainbow boa", - "Red-tailed boa", - "Rosy boa", - "Rubber boa", - "Sand boa", - "Tree boa", - "Boiga", - "Boomslang", - "Brown snake", - "Eastern brown snake", - "Bull snake", - "Bushmaster", - "Dwarf beaked snake", - "Rufous beaked snake", - "Canebrake", - "Cantil", - "Cascabel", - "Cat-eyed snake", - "Banded cat-eyed snake", - "Green cat-eyed snake", - "Cat snake", - "Andaman cat snake", - "Beddome's cat snake", - "Dog-toothed cat snake", - "Forsten's cat snake", - "Gold-ringed cat snake", - "Gray cat snake", - "Many-spotted cat snake", - "Tawny cat snake", - "Chicken snake", - "Coachwhip snake", - "Cobra", - "Andaman cobra", - "Arabian cobra", - "Asian cobra", - "Banded water cobra", - "Black-necked cobra", - "Black-necked spitting cobra", - "Black tree cobra", - "Burrowing cobra", - "Cape cobra", - "Caspian cobra", - "Congo water cobra", - "Common cobra", - "Eastern water cobra", - "Egyptian cobra", - "Equatorial spitting cobra", - "False cobra", - "False water cobra", - "Forest cobra", - "Gold tree cobra", - "Indian cobra", - "Indochinese spitting cobra", - "Javan spitting cobra", - "King cobra", - "Mandalay cobra", - "Mozambique spitting cobra", - "North Philippine cobra", - "Nubian spitting cobra", - "Philippine cobra", - "Red spitting cobra", - "Rinkhals cobra", - "Shield-nosed cobra", - "Sinai desert cobra", - "Southern Indonesian spitting cobra", - "Southern Philippine cobra", - "Southwestern black spitting cobra", - "Snouted cobra", - "Spectacled cobra", - "Spitting cobra", - "Storm water cobra", - "Thai cobra", - "Taiwan cobra", - "Zebra spitting cobra", - "Collett's snake", - "Congo snake", - "Copperhead", - "American copperhead", - "Australian copperhead", - "Coral snake", - "Arizona coral snake", - "Beddome's coral snake", - "Brazilian coral snake", - "Cape coral snake", - "Harlequin coral snake", - "High Woods coral snake", - "Malayan long-glanded coral snake", - "Texas Coral Snake", - "Western coral snake", - "Corn snake", - "South eastern corn snake", - "Cottonmouth", - "Crowned snake", - "Cuban wood snake", - "Eastern hognose snake", - "Egg-eater", - "Eastern coral snake", - "Fer-de-lance", - "Fierce snake", - "Fishing snake", - "Flying snake", - "Golden tree snake", - "Indian flying snake", - "Moluccan flying snake", - "Ornate flying snake", - "Paradise flying snake", - "Twin-Barred tree snake", - "Banded Flying Snake", - "Fox snake, three species of Pantherophis", - "Forest flame snake", - "Garter snake", - "Checkered garter snake", - "Common garter snake", - "San Francisco garter snake", - "Texas garter snake", - "Cape gopher snake", - "Grass snake", - "Green snake", - "Rough green snake", - "Smooth green snake", - "Ground snake", - "Common ground snake", - "Three-lined ground snake", - "Western ground snake", - "Habu", - "Hognose snake", - "Blonde hognose snake", - "Dusty hognose snake", - "Jan's hognose snake", - "Giant Malagasy hognose snake", - "Mexican hognose snake", - "South American hognose snake", - "Hundred pacer", - "Ikaheka snake", - "Indigo snake", - "Jamaican Tree Snake", - "Keelback", - "Asian keelback", - "Assam keelback", - "Black-striped keelback", - "Buff striped keelback", - "Burmese keelback", - "Checkered keelback", - "Common keelback", - "Hill keelback", - "Himalayan keelback", - "Khasi Hills keelback", - "Modest keelback", - "Nicobar Island keelback", - "Nilgiri keelback", - "Orange-collared keelback", - "Red-necked keelback", - "Sikkim keelback", - "Speckle-bellied keelback", - "White-lipped keelback", - "Wynaad keelback", - "Yunnan keelback", - "King brown", - "King snake", - "California kingsnake", - "Desert kingsnake", - "Grey-banded kingsnake", - "North eastern king snake", - "Prairie kingsnake", - "Scarlet kingsnake", - "Speckled kingsnake", - "Krait", - "Banded krait", - "Blue krait", - "Black krait", - "Burmese krait", - "Ceylon krait", - "Indian krait", - "Lesser black krait", - "Malayan krait", - "Many-banded krait", - "Northeastern hill krait", - "Red-headed krait", - "Sind krait", - "Large shield snake", - "Lancehead", - "Common lancehead", - "Lora", - "Grey Lora", - "Lyre snake", - "Baja California lyresnake", - "Central American lyre snake", - "Texas lyre snake", - "Eastern lyre snake", - "Machete savane", - "Mamba", - "Black mamba", - "Green mamba", - "Eastern green mamba", - "Western green mamba", - "Mamushi", - "Mangrove snake", - "Milk snake", - "Moccasin snake", - "Montpellier snake", - "Mud snake", - "Eastern mud snake", - "Western mud snake", - "Mussurana", - "Night snake", - "Cat-eyed night snake", - "Texas night snake", - "Nichell snake", - "Narrowhead Garter Snake", - "Nose-horned viper", - "Rhinoceros viper", - "Vipera ammodytes", - "Parrot snake", - "Mexican parrot snake", - "Patchnose snake", - "Perrotet's shieldtail snake", - "Pine snake", - "Pipe snake", - "Asian pipe snake", - "Dwarf pipe snake", - "Red-tailed pipe snake", - "Python", - "African rock python", - "Amethystine python", - "Angolan python", - "Australian scrub python", - "Ball python", - "Bismarck ringed python", - "Black headed python", - "Blood python", - "Boelen python", - "Borneo short-tailed python", - "Bredl's python", - "Brown water python", - "Burmese python", - "Calabar python", - "Western carpet python", - "Centralian carpet python", - "Coastal carpet python", - "Inland carpet python", - "Jungle carpet python", - "New Guinea carpet python", - "Northwestern carpet python", - "Southwestern carpet python", - "Children's python", - "Dauan Island water python", - "Desert woma python", - "Diamond python", - "Flinders python", - "Green tree python", - "Halmahera python", - "Indian python", - "Indonesian water python", - "Macklot's python", - "Mollucan python", - "Oenpelli python", - "Olive python", - "Papuan python", - "Pygmy python", - "Red blood python", - "Reticulated python", - "Kayaudi dwarf reticulated python", - "Selayer reticulated python", - "Rough-scaled python", - "Royal python", - "Savu python", - "Spotted python", - "Stimson's python", - "Sumatran short-tailed python", - "Tanimbar python", - "Timor python", - "Wetar Island python", - "White-lipped python", - "Brown white-lipped python", - "Northern white-lipped python", - "Southern white-lipped python", - "Woma python", - "Western woma python", - "Queen snake", - "Racer", - "Bimini racer", - "Buttermilk racer", - "Eastern racer", - "Eastern yellowbelly sad racer", - "Mexican racer", - "Southern black racer", - "Tan racer", - "West Indian racer", - "Raddysnake", - "Southwestern blackhead snake", - "Rat snake", - "Baird's rat snake", - "Beauty rat snake", - "Great Plains rat snake", - "Green rat snake", - "Japanese forest rat snake", - "Japanese rat snake", - "King rat snake", - "Mandarin rat snake", - "Persian rat snake", - "Red-backed rat snake", - "Twin-spotted rat snake", - "Yellow-striped rat snake", - "Manchurian Black Water Snake", - "Rattlesnake", - "Arizona black rattlesnake", - "Aruba rattlesnake", - "Chihuahuan ridge-nosed rattlesnake", - "Coronado Island rattlesnake", - "Durango rock rattlesnake", - "Dusky pigmy rattlesnake", - "Eastern diamondback rattlesnake", - "Grand Canyon rattlesnake", - "Great Basin rattlesnake", - "Hopi rattlesnake", - "Lance-headed rattlesnake", - "Long-tailed rattlesnake", - "Massasauga rattlesnake", - "Mexican green rattlesnake", - "Mexican west coast rattlesnake", - "Midget faded rattlesnake", - "Mojave rattlesnake", - "Northern black-tailed rattlesnake", - "Oaxacan small-headed rattlesnake", - "Rattler", - "Red diamond rattlesnake", - "Southern Pacific rattlesnake", - "Southwestern speckled rattlesnake", - "Tancitaran dusky rattlesnake", - "Tiger rattlesnake", - "Timber rattlesnake", - "Tropical rattlesnake", - "Twin-spotted rattlesnake", - "Uracoan rattlesnake", - "Western diamondback rattlesnake", - "Ribbon snake", - "Rinkhals", - "River jack", - "Sea snake", - "Annulated sea snake", - "Beaked sea snake", - "Dubois's sea snake", - "Hardwicke's sea snake", - "Hook Nosed Sea Snake", - "Olive sea snake", - "Pelagic sea snake", - "Stoke's sea snake", - "Yellow-banded sea snake", - "Yellow-bellied sea snake", - "Yellow-lipped sea snake", - "Shield-tailed snake", - "Sidewinder", - "Colorado desert sidewinder", - "Mojave desert sidewinder", - "Sonoran sidewinder", - "Small-eyed snake", - "Smooth snake", - "Brazilian smooth snake", - "European smooth snake", - "Stiletto snake", - "Striped snake", - "Japanese striped snake", - "Sunbeam snake", - "Taipan", - "Central ranges taipan", - "Coastal taipan", - "Inland taipan", - "Paupan taipan", - "Tentacled snake", - "Tic polonga", - "Tiger snake", - "Chappell Island tiger snake", - "Common tiger snake", - "Down's tiger snake", - "Eastern tiger snake", - "King Island tiger snake", - "Krefft's tiger snake", - "Peninsula tiger snake", - "Tasmanian tiger snake", - "Western tiger snake", - "Tigre snake", - "Tree snake", - "Blanding's tree snake", - "Blunt-headed tree snake", - "Brown tree snake", - "Long-nosed tree snake", - "Many-banded tree snake", - "Northern tree snake", - "Trinket snake", - "Black-banded trinket snake", - "Twig snake", - "African twig snake", - "Twin Headed King Snake", - "Titanboa", - "Urutu", - "Vine snake", - "Asian Vine Snake, Whip Snake", - "American Vine Snake", - "Mexican vine snake", - "Viper", - "Asp viper", - "Bamboo viper", - "Bluntnose viper", - "Brazilian mud Viper", - "Burrowing viper", - "Bush viper", - "Great Lakes bush viper", - "Hairy bush viper", - "Nitsche's bush viper", - "Rough-scaled bush viper", - "Spiny bush viper", - "Carpet viper", - "Crossed viper", - "Cyclades blunt-nosed viper", - "Eyelash viper", - "False horned viper", - "Fea's viper", - "Fifty pacer", - "Gaboon viper", - "Hognosed viper", - "Horned desert viper", - "Horned viper", - "Jumping viper", - "Kaznakov's viper", - "Leaf-nosed viper", - "Leaf viper", - "Levant viper", - "Long-nosed viper", - "McMahon's viper", - "Mole viper", - "Palestine viper", - "Pallas' viper", - "Palm viper", - "Amazonian palm viper", - "Black-speckled palm-pitviper", - "Eyelash palm-pitviper", - "Green palm viper", - "Mexican palm-pitviper", - "Guatemalan palm viper", - "Honduran palm viper", - "Siamese palm viper", - "Side-striped palm-pitviper", - "Yellow-lined palm viper", - "Pit viper", - "Banded pitviper", - "Bamboo pitviper", - "Barbour's pit viper", - "Black-tailed horned pit viper", - "Bornean pitviper", - "Brongersma's pitviper", - "Brown spotted pitviper[4]", - "Cantor's pitviper", - "Elegant pitviper", - "Eyelash pit viper", - "Fan-Si-Pan horned pitviper", - "Flat-nosed pitviper", - "Godman's pit viper", - "Green tree pit viper", - "Habu pit viper", - "Hagen's pitviper", - "Horseshoe pitviper", - "Jerdon's pitviper", - "Kanburian pit viper", - "Kaulback's lance-headed pitviper", - "Kham Plateau pitviper", - "Large-eyed pitviper", - "Malabar rock pitviper", - "Malayan pit viper", - "Mangrove pit viper", - "Mangshan pitviper", - "Motuo bamboo pitviper", - "Nicobar bamboo pitviper", - "Philippine pitviper", - "Pointed-scaled pit viper[5]", - "Red-tailed bamboo pitviper", - "Schultze's pitviper", - "Stejneger's bamboo pitviper", - "Sri Lankan pit viper", - "Temple pit viper", - "Tibetan bamboo pitviper", - "Tiger pit viper", - "Undulated pit viper", - "Wagler's pit viper", - "Wirot's pit viper", - "Portuguese viper", - "Saw-scaled viper", - "Schlegel's viper", - "Sedge viper", - "Sharp-nosed viper", - "Snorkel viper", - "Temple viper", - "Tree viper", - "Chinese tree viper", - "Guatemalan tree viper", - "Hutton's tree viper", - "Indian tree viper", - "Large-scaled tree viper", - "Malcolm's tree viper", - "Nitsche's tree viper", - "Pope's tree viper", - "Rough-scaled tree viper", - "Rungwe tree viper", - "Sumatran tree viper", - "White-lipped tree viper", - "Ursini's viper", - "Western hog-nosed viper", - "Wart snake", - "Water moccasin", - "Water snake", - "Bocourt's water snake", - "Northern water snake", - "Whip snake", - "Long-nosed whip snake", - "Wolf snake", - "African wolf snake", - "Barred wolf snake", - "Worm snake", - "Common worm snake", - "Longnosed worm snake", - "Wutu", - "Yarara", - "Zebra snake", -}; - -const std::array types = { - "dog", "cat", "snake", "bear", "lion", "cetacean", "insect", "crocodilia", "cow", "bird", "fish", "rabbit", "horse", -}; -} diff --git a/src/modules/animal/AnimalData.h b/src/modules/animal/AnimalData.h index 74e2ac74..0a7e51bf 100644 --- a/src/modules/animal/AnimalData.h +++ b/src/modules/animal/AnimalData.h @@ -5,19 +5,3472 @@ namespace faker::animal { -extern const std::array bears; -extern const std::array birds; -extern const std::array cats; -extern const std::array cetaceans; -extern const std::array cows; -extern const std::array crocodiles; -extern const std::array dogs; -extern const std::array fishes; -extern const std::array horses; -extern const std::array insects; -extern const std::array lions; -extern const std::array rabbits; -extern const std::array rodents; -extern const std::array snakes; -extern const std::array types; +const auto bears = std::to_array({ + "Giant panda", "Spectacled bear", "Sun bear", "Sloth bear", + "American black bear", "Asian black bear", "Brown bear", "Polar bear", +}); + +const auto birds = std::to_array({ + "Red-throated Loon", + "Arctic Loon", + "Pacific Loon", + "Common Loon", + "Yellow-billed Loon", + "Least Grebe", + "Pied-billed Grebe", + "Horned Grebe", + "Red-necked Grebe", + "Eared Grebe", + "Western Grebe", + "Clark's Grebe", + "Yellow-nosed Albatross", + "Shy Albatross", + "Black-browed Albatross", + "Wandering Albatross", + "Laysan Albatross", + "Black-footed Albatross", + "Short-tailed Albatross", + "Northern Fulmar", + "Herald Petrel", + "Murphy's Petrel", + "Mottled Petrel", + "Black-capped Petrel", + "Cook's Petrel", + "Stejneger's Petrel", + "White-chinned Petrel", + "Streaked Shearwater", + "Cory's Shearwater", + "Pink-footed Shearwater", + "Flesh-footed Shearwater", + "Greater Shearwater", + "Wedge-tailed Shearwater", + "Buller's Shearwater", + "Sooty Shearwater", + "Short-tailed Shearwater", + "Manx Shearwater", + "Black-vented Shearwater", + "Audubon's Shearwater", + "Little Shearwater", + "Wilson's Storm-Petrel", + "White-faced Storm-Petrel", + "European Storm-Petrel", + "Fork-tailed Storm-Petrel", + "Leach's Storm-Petrel", + "Ashy Storm-Petrel", + "Band-rumped Storm-Petrel", + "Wedge-rumped Storm-Petrel", + "Black Storm-Petrel", + "Least Storm-Petrel", + "White-tailed Tropicbird", + "Red-billed Tropicbird", + "Red-tailed Tropicbird", + "Masked Booby", + "Blue-footed Booby", + "Brown Booby", + "Red-footed Booby", + "Northern Gannet", + "American White Pelican", + "Brown Pelican", + "Brandt's Cormorant", + "Neotropic Cormorant", + "Double-crested Cormorant", + "Great Cormorant", + "Red-faced Cormorant", + "Pelagic Cormorant", + "Anhinga", + "Magnificent Frigatebird", + "Great Frigatebird", + "Lesser Frigatebird", + "American Bittern", + "Yellow Bittern", + "Least Bittern", + "Great Blue Heron", + "Great Egret", + "Chinese Egret", + "Little Egret", + "Western Reef-Heron", + "Snowy Egret", + "Little Blue Heron", + "Tricolored Heron", + "Reddish Egret", + "Cattle Egret", + "Green Heron", + "Black-crowned Night-Heron", + "Yellow-crowned Night-Heron", + "White Ibis", + "Scarlet Ibis", + "Glossy Ibis", + "White-faced Ibis", + "Roseate Spoonbill", + "Jabiru", + "Wood Stork", + "Black Vulture", + "Turkey Vulture", + "California Condor", + "Greater Flamingo", + "Black-bellied Whistling-Duck", + "Fulvous Whistling-Duck", + "Bean Goose", + "Pink-footed Goose", + "Greater White-fronted Goose", + "Lesser White-fronted Goose", + "Emperor Goose", + "Snow Goose", + "Ross's Goose", + "Canada Goose", + "Brant", + "Barnacle Goose", + "Mute Swan", + "Trumpeter Swan", + "Tundra Swan", + "Whooper Swan", + "Muscovy Duck", + "Wood Duck", + "Gadwall", + "Falcated Duck", + "Eurasian Wigeon", + "American Wigeon", + "American Black Duck", + "Mallard", + "Mottled Duck", + "Spot-billed Duck", + "Blue-winged Teal", + "Cinnamon Teal", + "Northern Shoveler", + "White-cheeked Pintail", + "Northern Pintail", + "Garganey", + "Baikal Teal", + "Green-winged Teal", + "Canvasback", + "Redhead", + "Common Pochard", + "Ring-necked Duck", + "Tufted Duck", + "Greater Scaup", + "Lesser Scaup", + "Steller's Eider", + "Spectacled Eider", + "King Eider", + "Common Eider", + "Harlequin Duck", + "Labrador Duck", + "Surf Scoter", + "White-winged Scoter", + "Black Scoter", + "Oldsquaw", + "Bufflehead", + "Common Goldeneye", + "Barrow's Goldeneye", + "Smew", + "Hooded Merganser", + "Common Merganser", + "Red-breasted Merganser", + "Masked Duck", + "Ruddy Duck", + "Osprey", + "Hook-billed Kite", + "Swallow-tailed Kite", + "White-tailed Kite", + "Snail Kite", + "Mississippi Kite", + "Bald Eagle", + "White-tailed Eagle", + "Steller's Sea-Eagle", + "Northern Harrier", + "Sharp-shinned Hawk", + "Cooper's Hawk", + "Northern Goshawk", + "Crane Hawk", + "Gray Hawk", + "Common Black-Hawk", + "Harris's Hawk", + "Roadside Hawk", + "Red-shouldered Hawk", + "Broad-winged Hawk", + "Short-tailed Hawk", + "Swainson's Hawk", + "White-tailed Hawk", + "Zone-tailed Hawk", + "Red-tailed Hawk", + "Ferruginous Hawk", + "Rough-legged Hawk", + "Golden Eagle", + "Collared Forest-Falcon", + "Crested Caracara", + "Eurasian Kestrel", + "American Kestrel", + "Merlin", + "Eurasian Hobby", + "Aplomado Falcon", + "Gyrfalcon", + "Peregrine Falcon", + "Prairie Falcon", + "Plain Chachalaca", + "Chukar", + "Himalayan Snowcock", + "Gray Partridge", + "Ring-necked Pheasant", + "Ruffed Grouse", + "Sage Grouse", + "Spruce Grouse", + "Willow Ptarmigan", + "Rock Ptarmigan", + "White-tailed Ptarmigan", + "Blue Grouse", + "Sharp-tailed Grouse", + "Greater Prairie-chicken", + "Lesser Prairie-chicken", + "Wild Turkey", + "Mountain Quail", + "Scaled Quail", + "California Quail", + "Gambel's Quail", + "Northern Bobwhite", + "Montezuma Quail", + "Yellow Rail", + "Black Rail", + "Corn Crake", + "Clapper Rail", + "King Rail", + "Virginia Rail", + "Sora", + "Paint-billed Crake", + "Spotted Rail", + "Purple Gallinule", + "Azure Gallinule", + "Common Moorhen", + "Eurasian Coot", + "American Coot", + "Limpkin", + "Sandhill Crane", + "Common Crane", + "Whooping Crane", + "Double-striped Thick-knee", + "Northern Lapwing", + "Black-bellied Plover", + "European Golden-Plover", + "American Golden-Plover", + "Pacific Golden-Plover", + "Mongolian Plover", + "Collared Plover", + "Snowy Plover", + "Wilson's Plover", + "Common Ringed Plover", + "Semipalmated Plover", + "Piping Plover", + "Little Ringed Plover", + "Killdeer", + "Mountain Plover", + "Eurasian Dotterel", + "Eurasian Oystercatcher", + "American Oystercatcher", + "Black Oystercatcher", + "Black-winged Stilt", + "Black-necked Stilt", + "American Avocet", + "Northern Jacana", + "Common Greenshank", + "Greater Yellowlegs", + "Lesser Yellowlegs", + "Marsh Sandpiper", + "Spotted Redshank", + "Wood Sandpiper", + "Green Sandpiper", + "Solitary Sandpiper", + "Willet", + "Wandering Tattler", + "Gray-tailed Tattler", + "Common Sandpiper", + "Spotted Sandpiper", + "Terek Sandpiper", + "Upland Sandpiper", + "Little Curlew", + "Eskimo Curlew", + "Whimbrel", + "Bristle-thighed Curlew", + "Far Eastern Curlew", + "Slender-billed Curlew", + "Eurasian Curlew", + "Long-billed Curlew", + "Black-tailed Godwit", + "Hudsonian Godwit", + "Bar-tailed Godwit", + "Marbled Godwit", + "Ruddy Turnstone", + "Black Turnstone", + "Surfbird", + "Great Knot", + "Red Knot", + "Sanderling", + "Semipalmated Sandpiper", + "Western Sandpiper", + "Red-necked Stint", + "Little Stint", + "Temminck's Stint", + "Long-toed Stint", + "Least Sandpiper", + "White-rumped Sandpiper", + "Baird's Sandpiper", + "Pectoral Sandpiper", + "Sharp-tailed Sandpiper", + "Purple Sandpiper", + "Rock Sandpiper", + "Dunlin", + "Curlew Sandpiper", + "Stilt Sandpiper", + "Spoonbill Sandpiper", + "Broad-billed Sandpiper", + "Buff-breasted Sandpiper", + "Ruff", + "Short-billed Dowitcher", + "Long-billed Dowitcher", + "Jack Snipe", + "Common Snipe", + "Pin-tailed Snipe", + "Eurasian Woodcock", + "American Woodcock", + "Wilson's Phalarope", + "Red-necked Phalarope", + "Red Phalarope", + "Oriental Pratincole", + "Great Skua", + "South Polar Skua", + "Pomarine Jaeger", + "Parasitic Jaeger", + "Long-tailed Jaeger", + "Laughing Gull", + "Franklin's Gull", + "Little Gull", + "Black-headed Gull", + "Bonaparte's Gull", + "Heermann's Gull", + "Band-tailed Gull", + "Black-tailed Gull", + "Mew Gull", + "Ring-billed Gull", + "California Gull", + "Herring Gull", + "Yellow-legged Gull", + "Thayer's Gull", + "Iceland Gull", + "Lesser Black-backed Gull", + "Slaty-backed Gull", + "Yellow-footed Gull", + "Western Gull", + "Glaucous-winged Gull", + "Glaucous Gull", + "Great Black-backed Gull", + "Sabine's Gull", + "Black-legged Kittiwake", + "Red-legged Kittiwake", + "Ross's Gull", + "Ivory Gull", + "Gull-billed Tern", + "Caspian Tern", + "Royal Tern", + "Elegant Tern", + "Sandwich Tern", + "Roseate Tern", + "Common Tern", + "Arctic Tern", + "Forster's Tern", + "Least Tern", + "Aleutian Tern", + "Bridled Tern", + "Sooty Tern", + "Large-billed Tern", + "White-winged Tern", + "Whiskered Tern", + "Black Tern", + "Brown Noddy", + "Black Noddy", + "Black Skimmer", + "Dovekie", + "Common Murre", + "Thick-billed Murre", + "Razorbill", + "Great Auk", + "Black Guillemot", + "Pigeon Guillemot", + "Long-billed Murrelet", + "Marbled Murrelet", + "Kittlitz's Murrelet", + "Xantus's Murrelet", + "Craveri's Murrelet", + "Ancient Murrelet", + "Cassin's Auklet", + "Parakeet Auklet", + "Least Auklet", + "Whiskered Auklet", + "Crested Auklet", + "Rhinoceros Auklet", + "Atlantic Puffin", + "Horned Puffin", + "Tufted Puffin", + "Rock Dove", + "Scaly-naped Pigeon", + "White-crowned Pigeon", + "Red-billed Pigeon", + "Band-tailed Pigeon", + "Oriental Turtle-Dove", + "European Turtle-Dove", + "Eurasian Collared-Dove", + "Spotted Dove", + "White-winged Dove", + "Zenaida Dove", + "Mourning Dove", + "Passenger Pigeon", + "Inca Dove", + "Common Ground-Dove", + "Ruddy Ground-Dove", + "White-tipped Dove", + "Key West Quail-Dove", + "Ruddy Quail-Dove", + "Budgerigar", + "Monk Parakeet", + "Carolina Parakeet", + "Thick-billed Parrot", + "White-winged Parakeet", + "Red-crowned Parrot", + "Common Cuckoo", + "Oriental Cuckoo", + "Black-billed Cuckoo", + "Yellow-billed Cuckoo", + "Mangrove Cuckoo", + "Greater Roadrunner", + "Smooth-billed Ani", + "Groove-billed Ani", + "Barn Owl", + "Flammulated Owl", + "Oriental Scops-Owl", + "Western Screech-Owl", + "Eastern Screech-Owl", + "Whiskered Screech-Owl", + "Great Horned Owl", + "Snowy Owl", + "Northern Hawk Owl", + "Northern Pygmy-Owl", + "Ferruginous Pygmy-Owl", + "Elf Owl", + "Burrowing Owl", + "Mottled Owl", + "Spotted Owl", + "Barred Owl", + "Great Gray Owl", + "Long-eared Owl", + "Short-eared Owl", + "Boreal Owl", + "Northern Saw-whet Owl", + "Lesser Nighthawk", + "Common Nighthawk", + "Antillean Nighthawk", + "Common Pauraque", + "Common Poorwill", + "Chuck-will's-widow", + "Buff-collared Nightjar", + "Whip-poor-will", + "Jungle Nightjar", + "Black Swift", + "White-collared Swift", + "Chimney Swift", + "Vaux's Swift", + "White-throated Needletail", + "Common Swift", + "Fork-tailed Swift", + "White-throated Swift", + "Antillean Palm Swift", + "Green Violet-ear", + "Green-breasted Mango", + "Broad-billed Hummingbird", + "White-eared Hummingbird", + "Xantus's Hummingbird", + "Berylline Hummingbird", + "Buff-bellied Hummingbird", + "Cinnamon Hummingbird", + "Violet-crowned Hummingbird", + "Blue-throated Hummingbird", + "Magnificent Hummingbird", + "Plain-capped Starthroat", + "Bahama Woodstar", + "Lucifer Hummingbird", + "Ruby-throated Hummingbird", + "Black-chinned Hummingbird", + "Anna's Hummingbird", + "Costa's Hummingbird", + "Calliope Hummingbird", + "Bumblebee Hummingbird", + "Broad-tailed Hummingbird", + "Rufous Hummingbird", + "Allen's Hummingbird", + "Elegant Trogon", + "Eared Trogon", + "Hoopoe", + "Ringed Kingfisher", + "Belted Kingfisher", + "Green Kingfisher", + "Eurasian Wryneck", + "Lewis's Woodpecker", + "Red-headed Woodpecker", + "Acorn Woodpecker", + "Gila Woodpecker", + "Golden-fronted Woodpecker", + "Red-bellied Woodpecker", + "Williamson's Sapsucker", + "Yellow-bellied Sapsucker", + "Red-naped Sapsucker", + "Red-breasted Sapsucker", + "Great Spotted Woodpecker", + "Ladder-backed Woodpecker", + "Nuttall's Woodpecker", + "Downy Woodpecker", + "Hairy Woodpecker", + "Strickland's Woodpecker", + "Red-cockaded Woodpecker", + "White-headed Woodpecker", + "Three-toed Woodpecker", + "Black-backed Woodpecker", + "Northern Flicker", + "Gilded Flicker", + "Pileated Woodpecker", + "Ivory-billed Woodpecker", + "Northern Beardless-Tyrannulet", + "Greenish Elaenia", + "Caribbean Elaenia", + "Tufted Flycatcher", + "Olive-sided Flycatcher", + "Greater Pewee", + "Western Wood-Pewee", + "Eastern Wood-Pewee", + "Yellow-bellied Flycatcher", + "Acadian Flycatcher", + "Alder Flycatcher", + "Willow Flycatcher", + "Least Flycatcher", + "Hammond's Flycatcher", + "Dusky Flycatcher", + "Gray Flycatcher", + "Pacific-slope Flycatcher", + "Cordilleran Flycatcher", + "Buff-breasted Flycatcher", + "Black Phoebe", + "Eastern Phoebe", + "Say's Phoebe", + "Vermilion Flycatcher", + "Dusky-capped Flycatcher", + "Ash-throated Flycatcher", + "Nutting's Flycatcher", + "Great Crested Flycatcher", + "Brown-crested Flycatcher", + "La Sagra's Flycatcher", + "Great Kiskadee", + "Sulphur-bellied Flycatcher", + "Variegated Flycatcher", + "Tropical Kingbird", + "Couch's Kingbird", + "Cassin's Kingbird", + "Thick-billed Kingbird", + "Western Kingbird", + "Eastern Kingbird", + "Gray Kingbird", + "Loggerhead Kingbird", + "Scissor-tailed Flycatcher", + "Fork-tailed Flycatcher", + "Rose-throated Becard", + "Masked Tityra", + "Brown Shrike", + "Loggerhead Shrike", + "Northern Shrike", + "White-eyed Vireo", + "Thick-billed Vireo", + "Bell's Vireo", + "Black-capped Vireo", + "Gray Vireo", + "Yellow-throated Vireo", + "Plumbeous Vireo", + "Cassin's Vireo", + "Blue-headed Vireo", + "Hutton's Vireo", + "Warbling Vireo", + "Philadelphia Vireo", + "Red-eyed Vireo", + "Yellow-green Vireo", + "Black-whiskered Vireo", + "Yucatan Vireo", + "Gray Jay", + "Steller's Jay", + "Blue Jay", + "Green Jay", + "Brown Jay", + "Florida Scrub-Jay", + "Island Scrub-Jay", + "Western Scrub-Jay", + "Mexican Jay", + "Pinyon Jay", + "Clark's Nutcracker", + "Black-billed Magpie", + "Yellow-billed Magpie", + "Eurasian Jackdaw", + "American Crow", + "Northwestern Crow", + "Tamaulipas Crow", + "Fish Crow", + "Chihuahuan Raven", + "Common Raven", + "Sky Lark", + "Horned Lark", + "Purple Martin", + "Cuban Martin", + "Gray-breasted Martin", + "Southern Martin", + "Brown-chested Martin", + "Tree Swallow", + "Violet-green Swallow", + "Bahama Swallow", + "Northern Rough-winged Swallow", + "Bank Swallow", + "Cliff Swallow", + "Cave Swallow", + "Barn Swallow", + "Common House-Martin", + "Carolina Chickadee", + "Black-capped Chickadee", + "Mountain Chickadee", + "Mexican Chickadee", + "Chestnut-backed Chickadee", + "Boreal Chickadee", + "Gray-headed Chickadee", + "Bridled Titmouse", + "Oak Titmouse", + "Juniper Titmouse", + "Tufted Titmouse", + "Verdin", + "Bushtit", + "Red-breasted Nuthatch", + "White-breasted Nuthatch", + "Pygmy Nuthatch", + "Brown-headed Nuthatch", + "Brown Creeper", + "Cactus Wren", + "Rock Wren", + "Canyon Wren", + "Carolina Wren", + "Bewick's Wren", + "House Wren", + "Winter Wren", + "Sedge Wren", + "Marsh Wren", + "American Dipper", + "Red-whiskered Bulbul", + "Golden-crowned Kinglet", + "Ruby-crowned Kinglet", + "Middendorff's Grasshopper-Warbler", + "Lanceolated Warbler", + "Wood Warbler", + "Dusky Warbler", + "Arctic Warbler", + "Blue-gray Gnatcatcher", + "California Gnatcatcher", + "Black-tailed Gnatcatcher", + "Black-capped Gnatcatcher", + "Narcissus Flycatcher", + "Mugimaki Flycatcher", + "Red-breasted Flycatcher", + "Siberian Flycatcher", + "Gray-spotted Flycatcher", + "Asian Brown Flycatcher", + "Siberian Rubythroat", + "Bluethroat", + "Siberian Blue Robin", + "Red-flanked Bluetail", + "Northern Wheatear", + "Stonechat", + "Eastern Bluebird", + "Western Bluebird", + "Mountain Bluebird", + "Townsend's Solitaire", + "Veery", + "Gray-cheeked Thrush", + "Bicknell's Thrush", + "Swainson's Thrush", + "Hermit Thrush", + "Wood Thrush", + "Eurasian Blackbird", + "Eyebrowed Thrush", + "Dusky Thrush", + "Fieldfare", + "Redwing", + "Clay-colored Robin", + "White-throated Robin", + "Rufous-backed Robin", + "American Robin", + "Varied Thrush", + "Aztec Thrush", + "Wrentit", + "Gray Catbird", + "Black Catbird", + "Northern Mockingbird", + "Bahama Mockingbird", + "Sage Thrasher", + "Brown Thrasher", + "Long-billed Thrasher", + "Bendire's Thrasher", + "Curve-billed Thrasher", + "California Thrasher", + "Crissal Thrasher", + "Le Conte's Thrasher", + "Blue Mockingbird", + "European Starling", + "Crested Myna", + "Siberian Accentor", + "Yellow Wagtail", + "Citrine Wagtail", + "Gray Wagtail", + "White Wagtail", + "Black-backed Wagtail", + "Tree Pipit", + "Olive-backed Pipit", + "Pechora Pipit", + "Red-throated Pipit", + "American Pipit", + "Sprague's Pipit", + "Bohemian Waxwing", + "Cedar Waxwing", + "Gray Silky-flycatcher", + "Phainopepla", + "Olive Warbler", + "Bachman's Warbler", + "Blue-winged Warbler", + "Golden-winged Warbler", + "Tennessee Warbler", + "Orange-crowned Warbler", + "Nashville Warbler", + "Virginia's Warbler", + "Colima Warbler", + "Lucy's Warbler", + "Crescent-chested Warbler", + "Northern Parula", + "Tropical Parula", + "Yellow Warbler", + "Chestnut-sided Warbler", + "Magnolia Warbler", + "Cape May Warbler", + "Black-throated Blue Warbler", + "Yellow-rumped Warbler", + "Black-throated Gray Warbler", + "Golden-cheeked Warbler", + "Black-throated Green Warbler", + "Townsend's Warbler", + "Hermit Warbler", + "Blackburnian Warbler", + "Yellow-throated Warbler", + "Grace's Warbler", + "Pine Warbler", + "Kirtland's Warbler", + "Prairie Warbler", + "Palm Warbler", + "Bay-breasted Warbler", + "Blackpoll Warbler", + "Cerulean Warbler", + "Black-and-white Warbler", + "American Redstart", + "Prothonotary Warbler", + "Worm-eating Warbler", + "Swainson's Warbler", + "Ovenbird", + "Northern Waterthrush", + "Louisiana Waterthrush", + "Kentucky Warbler", + "Connecticut Warbler", + "Mourning Warbler", + "MacGillivray's Warbler", + "Common Yellowthroat", + "Gray-crowned Yellowthroat", + "Hooded Warbler", + "Wilson's Warbler", + "Canada Warbler", + "Red-faced Warbler", + "Painted Redstart", + "Slate-throated Redstart", + "Fan-tailed Warbler", + "Golden-crowned Warbler", + "Rufous-capped Warbler", + "Yellow-breasted Chat", + "Bananaquit", + "Hepatic Tanager", + "Summer Tanager", + "Scarlet Tanager", + "Western Tanager", + "Flame-colored Tanager", + "Stripe-headed Tanager", + "White-collared Seedeater", + "Yellow-faced Grassquit", + "Black-faced Grassquit", + "Olive Sparrow", + "Green-tailed Towhee", + "Spotted Towhee", + "Eastern Towhee", + "Canyon Towhee", + "California Towhee", + "Abert's Towhee", + "Rufous-winged Sparrow", + "Cassin's Sparrow", + "Bachman's Sparrow", + "Botteri's Sparrow", + "Rufous-crowned Sparrow", + "Five-striped Sparrow", + "American Tree Sparrow", + "Chipping Sparrow", + "Clay-colored Sparrow", + "Brewer's Sparrow", + "Field Sparrow", + "Worthen's Sparrow", + "Black-chinned Sparrow", + "Vesper Sparrow", + "Lark Sparrow", + "Black-throated Sparrow", + "Sage Sparrow", + "Lark Bunting", + "Savannah Sparrow", + "Grasshopper Sparrow", + "Baird's Sparrow", + "Henslow's Sparrow", + "Le Conte's Sparrow", + "Nelson's Sharp-tailed Sparrow", + "Saltmarsh Sharp-tailed Sparrow", + "Seaside Sparrow", + "Fox Sparrow", + "Song Sparrow", + "Lincoln's Sparrow", + "Swamp Sparrow", + "White-throated Sparrow", + "Harris's Sparrow", + "White-crowned Sparrow", + "Golden-crowned Sparrow", + "Dark-eyed Junco", + "Yellow-eyed Junco", + "McCown's Longspur", + "Lapland Longspur", + "Smith's Longspur", + "Chestnut-collared Longspur", + "Pine Bunting", + "Little Bunting", + "Rustic Bunting", + "Yellow-breasted Bunting", + "Gray Bunting", + "Pallas's Bunting", + "Reed Bunting", + "Snow Bunting", + "McKay's Bunting", + "Crimson-collared Grosbeak", + "Northern Cardinal", + "Pyrrhuloxia", + "Yellow Grosbeak", + "Rose-breasted Grosbeak", + "Black-headed Grosbeak", + "Blue Bunting", + "Blue Grosbeak", + "Lazuli Bunting", + "Indigo Bunting", + "Varied Bunting", + "Painted Bunting", + "Dickcissel", + "Bobolink", + "Red-winged Blackbird", + "Tricolored Blackbird", + "Tawny-shouldered Blackbird", + "Eastern Meadowlark", + "Western Meadowlark", + "Yellow-headed Blackbird", + "Rusty Blackbird", + "Brewer's Blackbird", + "Common Grackle", + "Boat-tailed Grackle", + "Great-tailed Grackle", + "Shiny Cowbird", + "Bronzed Cowbird", + "Brown-headed Cowbird", + "Black-vented Oriole", + "Orchard Oriole", + "Hooded Oriole", + "Streak-backed Oriole", + "Spot-breasted Oriole", + "Altamira Oriole", + "Audubon's Oriole", + "Baltimore Oriole", + "Bullock's Oriole", + "Scott's Oriole", + "Common Chaffinch", + "Brambling", + "Gray-crowned Rosy-Finch", + "Black Rosy-Finch", + "Brown-capped Rosy-Finch", + "Pine Grosbeak", + "Common Rosefinch", + "Purple Finch", + "Cassin's Finch", + "House Finch", + "Red Crossbill", + "White-winged Crossbill", + "Common Redpoll", + "Hoary Redpoll", + "Eurasian Siskin", + "Pine Siskin", + "Lesser Goldfinch", + "Lawrence's Goldfinch", + "American Goldfinch", + "Oriental Greenfinch", + "Eurasian Bullfinch", + "Evening Grosbeak", + "Hawfinch", + "House Sparrow", + "Eurasian Tree Sparrow", +}); + +const auto cats = std::to_array({ + "Abyssinian", + "American Bobtail", + "American Curl", + "American Shorthair", + "American Wirehair", + "Balinese", + "Bengal", + "Birman", + "Bombay", + "British Shorthair", + "Burmese", + "Chartreux", + "Chausie", + "Cornish Rex", + "Devon Rex", + "Donskoy", + "Egyptian Mau", + "Exotic Shorthair", + "Havana", + "Highlander", + "Himalayan", + "Japanese Bobtail", + "Korat", + "Kurilian Bobtail", + "LaPerm", + "Maine Coon", + "Manx", + "Minskin", + "Munchkin", + "Nebelung", + "Norwegian Forest Cat", + "Ocicat", + "Ojos Azules", + "Oriental", + "Persian", + "Peterbald", + "Pixiebob", + "Ragdoll", + "Russian Blue", + "Savannah", + "Scottish Fold", + "Selkirk Rex", + "Serengeti", + "Siberian", + "Siamese", + "Singapura", + "Snowshoe", + "Sokoke", + "Somali", + "Sphynx", + "Thai", + "Tonkinese", + "Toyger", + "Turkish Angora", + "Turkish Van", +}); + +const auto cetaceans = std::to_array({ + "Blue Whale", + "Fin Whale", + "Sei Whale", + "Sperm Whale", + "Bryde’s whale", + "Omura’s whale", + "Humpback whale", + "Long-Beaked Common Dolphin", + "Short-Beaked Common Dolphin", + "Bottlenose Dolphin", + "Indo-Pacific Bottlenose Dolphin", + "Northern Rightwhale Dolphin", + "Southern Rightwhale Dolphin", + "Tucuxi", + "Costero", + "Indo-Pacific Hump-backed Dolphin", + "Chinese White Dolphin", + "Atlantic Humpbacked Dolphin", + "Atlantic Spotted Dolphin", + "Clymene Dolphin", + "Pantropical Spotted Dolphin", + "Spinner Dolphin", + "Striped Dolphin", + "Rough-Toothed Dolphin", + "Chilean Dolphin", + "Commerson’s Dolphin", + "Heaviside’s Dolphin", + "Hector’s Dolphin", + "Risso’s Dolphin", + "Fraser’s Dolphin", + "Atlantic White-Sided Dolphin", + "Dusky Dolphin", + "Hourglass Dolphin", + "Pacific White-Sided Dolphin", + "Peale’s Dolphin", + "White-Beaked Dolphin", + "Australian Snubfin Dolphin", + "Irrawaddy Dolphin", + "Melon-headed Whale", + "Killer Whale (Orca)", + "Pygmy Killer Whale", + "False Killer Whale", + "Long-finned Pilot Whale", + "Short-finned Pilot Whale", + "Guiana Dolphin", + "Burrunan Dolphin", + "Australian humpback Dolphin", + "Amazon River Dolphin", + "Chinese River Dolphin", + "Ganges River Dolphin", + "La Plata Dolphin", + "Southern Bottlenose Whale", + "Longman's Beaked Whale", + "Arnoux's Beaked Whale", +}); + +const auto cows = std::to_array({ + "Aberdeen Angus", + "Abergele", + "Abigar", + "Abondance", + "Abyssinian Shorthorned Zebu", + "Aceh", + "Achham", + "Adamawa", + "Adaptaur", + "Afar", + "Africangus", + "Afrikaner", + "Agerolese", + "Alambadi", + "Alatau", + "Albanian", + "Albera", + "Alderney", + "Alentejana", + "Aleutian wild cattle", + "Aliad Dinka", + "Alistana-Sanabresa", + "Allmogekor", + "Alur", + "American", + "American Angus", + "American Beef Friesian", + "American Brown Swiss", + "American Milking Devon", + "American White Park", + "Amerifax", + "Amrit Mahal", + "Amsterdam Island cattle", + "Anatolian Black", + "Andalusian Black", + "Andalusian Blond", + "Andalusian Grey", + "Angeln", + "Angoni", + "Ankina", + "Ankole", + "Ankole-Watusi", + "Aracena", + "Arado", + "Argentine Criollo", + "Argentine Friesian", + "Armorican", + "Arouquesa", + "Arsi", + "Asturian Mountain", + "Asturian Valley", + "Aubrac", + "Aulie-Ata", + "Aure et Saint-Girons", + "Australian Braford", + "Australian Brangus", + "Australian Charbray", + "Australian Friesian Sahiwal", + "Australian Lowline", + "Australian Milking Zebu", + "Australian Shorthorn", + "Austrian Simmental", + "Austrian Yellow", + "Avétonou", + "Avileña-Negra Ibérica", + "Aweil Dinka", + "Ayrshire", + "Azaouak", + "Azebuado", + "Azerbaijan Zebu", + "Azores", + "Bedit", + "Breed", + "Bachaur cattle", + "Baherie cattle", + "Bakosi cattle", + "Balancer", + "Baoule", + "Bargur cattle", + "Barrosã", + "Barzona", + "Bazadaise", + "Beef Freisian", + "Beefalo", + "Beefmaker", + "Beefmaster", + "Begayt", + "Belgian Blue", + "Belgian Red", + "Belgian Red Pied", + "Belgian White-and-Red", + "Belmont Red", + "Belted Galloway", + "Bernese", + "Berrenda cattle", + "Betizu", + "Bianca Modenese", + "Blaarkop", + "Black Angus", + "Black Baldy", + "Black Hereford", + "Blanca Cacereña", + "Blanco Orejinegro BON", + "Blonde d'Aquitaine", + "Blue Albion", + "Blue Grey", + "Bohuskulla", + "Bonsmara", + "Boran", + "Boškarin", + "Braford", + "Brahman", + "Brahmousin", + "Brangus", + "Braunvieh", + "Brava", + "British White", + "British Friesian", + "Brown Carpathian", + "Brown Caucasian", + "Brown Swiss", + "Bue Lingo", + "Burlina", + "Buša cattle", + "Butana cattle", + "Bushuyev", + "Cedit", + "Cachena", + "Caldelana", + "Camargue", + "Campbell Island cattle", + "Canadian Speckle Park", + "Canadienne", + "Canaria", + "Canchim", + "Caracu", + "Cárdena Andaluza", + "Carinthian Blondvieh", + "Carora", + "Charbray", + "Charolais", + "Chateaubriand", + "Chiangus", + "Chianina", + "Chillingham cattle", + "Chinese Black Pied", + "Cholistani", + "Coloursided White Back", + "Commercial", + "Corriente", + "Corsican cattle", + "Costeño con Cuernos", + "Crioulo Lageano", + "Dedit", + "Dajal", + "Dangi cattle", + "Danish Black-Pied", + "Danish Jersey", + "Danish Red", + "Deep Red cattle", + "Deoni", + "Devon", + "Dexter cattle", + "Dhanni", + "Doayo cattle", + "Doela", + "Drakensberger", + "Dølafe", + "Droughtmaster", + "Dulong'", + "Dutch Belted", + "Dutch Friesian", + "Dwarf Lulu", + "Eedit", + "East Anatolian Red", + "Eastern Finncattle", + "Eastern Red Polled", + "Enderby Island cattle", + "English Longhorn", + "Ennstaler Bergscheck", + "Estonian Holstein", + "Estonian Native", + "Estonian Red cattle", + "Évolène cattle", + "Fedit", + "Fēng Cattle", + "Finnish Ayrshire", + "Finncattle", + "Finnish Holstein-Friesian", + "Fjäll", + "Fleckvieh", + "Florida Cracker cattle", + "Fogera", + "French Simmental", + "Fribourgeoise", + "Friesian Red and White", + "Fulani Sudanese", + "Gedit", + "Galician Blond", + "Galloway cattle", + "Gangatiri", + "Gaolao", + "Garvonesa", + "Gascon cattle", + "Gelbvieh", + "Georgian Mountain cattle", + "German Angus", + "German Black Pied cattle", + "German Black Pied Dairy", + "German Red Pied", + "Gir", + "Glan cattle", + "Gloucester", + "Gobra", + "Greek Shorthorn", + "Greek Steppe", + "Greyman cattle", + "Gudali", + "Guernsey cattle", + "Guzerá", + "Hedit", + "Hallikar4", + "Hanwoo", + "Hariana cattle", + "Hartón del Valle", + "Harzer Rotvieh", + "Hays Converter", + "Heck cattle", + "Hereford", + "Herens", + "Hybridmaster", + "Highland cattle", + "Hinterwald", + "Holando-Argentino", + "Holstein Friesian cattle", + "Horro", + "Huáng Cattle", + "Hungarian Grey", + "Iedit", + "Iberian cattle", + "Icelandic", + "Illawarra cattle", + "Improved Red and White", + "Indo-Brazilian", + "Irish Moiled", + "Israeli Holstein", + "Israeli Red", + "Istoben cattle", + "Istrian cattle", + "Jedit", + "Jamaica Black", + "Jamaica Hope", + "Jamaica Red", + "Japanese Brown", + "Jarmelista", + "Javari cattle", + "Jersey cattle", + "Jutland cattle", + "Kedit", + "Kabin Buri cattle", + "Kalmyk cattle", + "Kangayam", + "Kankrej", + "Kamphaeng Saen cattle", + "Karan Swiss", + "Kasaragod Dwarf cattle", + "Kathiawadi", + "Kazakh Whiteheaded", + "Kenana cattle", + "Kenkatha cattle", + "Kerry cattle", + "Kherigarh", + "Khillari cattle", + "Kholomogory", + "Korat Wagyu", + "Kostroma cattle", + "Krishna Valley cattle", + "Kuri", + "Kurgan cattle", + "Ledit", + "La Reina cattle", + "Lakenvelder cattle", + "Lampurger", + "Latvian Blue", + "Latvian Brown", + "Latvian Danish Red", + "Lebedyn", + "Levantina", + "Limia cattle", + "Limousin", + "Limpurger", + "Lincoln Red", + "Lineback", + "Lithuanian Black-and-White", + "Lithuanian Light Grey", + "Lithuanian Red", + "Lithuanian White-Backed", + "Lohani cattle", + "Lourdais", + "Lucerna cattle", + "Luing", + "Medit", + "Madagascar Zebu", + "Madura", + "Maine-Anjou", + "Malnad Gidda", + "Malvi", + "Mandalong Special", + "Mantequera Leonesa", + "Maramureş Brown", + "Marchigiana", + "Maremmana", + "Marinhoa", + "Maronesa", + "Masai", + "Mashona", + "Menorquina", + "Mertolenga", + "Meuse-Rhine-Issel", + "Mewati", + "Milking Shorthorn", + "Minhota", + "Mirandesa", + "Mirkadim", + "Mocăniţă", + "Mollie", + "Monchina", + "Mongolian", + "Montbéliarde", + "Morucha", + "Muturu", + "Murboden", + "Murnau-Werdenfels", + "Murray Grey", + "Nedit", + "Nagori", + "N'Dama", + "Negra Andaluza", + "Nelore", + "Nguni", + "Nimari", + "Normande", + "North Bengal Grey", + "Northern Finncattle", + "Northern Shorthorn", + "Norwegian Red", + "Oedit]", + "Ongole", + "Original Simmental", + "Pedit", + "Pajuna", + "Palmera", + "Pantaneiro", + "Parda Alpina", + "Parthenaise", + "Pasiega", + "Pembroke", + "Philippine Native", + "Pie Rouge des Plaines", + "Piedmontese cattle", + "Pineywoods", + "Pinzgauer", + "Pirenaica", + "Podolac", + "Podolica", + "Polish Black-and-White", + "Polish Red", + "Polled Hereford", + "Poll Shorthorn", + "Polled Shorthorn", + "Ponwar", + "Preta", + "Punganur", + "Pulikulam", + "Pustertaler Sprinzen", + "Qedit", + "Qinchaun", + "Queensland Miniature Boran", + "Redit", + "Ramo Grande", + "Randall", + "Raramuri Criollo", + "Rathi", + "Rätisches Grauvieh", + "Raya", + "Red Angus", + "Red Brangus", + "Red Chittagong", + "Red Fulani", + "Red Gorbatov", + "Red Holstein", + "Red Kandhari", + "Red Mingrelian", + "Red Poll", + "Red Polled Østland", + "Red Sindhi", + "Retinta", + "Riggit Galloway", + "Ringamåla", + "Rohjan", + "Romagnola", + "Romanian Bălţata", + "Romanian Steppe Gray", + "Romosinuano", + "Russian Black Pied", + "RX3", + "Sedit", + "Sahiwal", + "Salers", + "Salorn", + "Sanga", + "Sanhe", + "Santa Cruz", + "Santa Gertrudis", + "Sayaguesa", + "Schwyz", + "Selembu", + "Senepol", + "Serbian Pied", + "Serbian Steppe", + "Sheko", + "Shetland", + "Shorthorn", + "Siboney de Cuba", + "Simbrah", + "Simford", + "Simmental", + "Siri", + "South Devon", + "Spanish Fighting Bull", + "Speckle Park", + "Square Meater", + "Sussex", + "Swedish Friesian", + "Swedish Polled", + "Swedish Red Pied", + "Swedish Red Polled", + "Swedish Red-and-White", + "Tedit", + "Tabapuã", + "Tarentaise", + "Tasmanian Grey", + "Tauros", + "Telemark", + "Texas Longhorn", + "Texon", + "Thai Black", + "Thai Fighting Bull", + "Thai Friesian", + "Thai Milking Zebu", + "Tharparkar", + "Tswana", + "Tudanca", + "Tuli", + "Tulim", + "Turkish Grey Steppe", + "Tux-Zillertal", + "Tyrol Grey", + "Uedit", + "Umblachery", + "Ukrainian Grey", + "Vedit", + "Valdostana Castana", + "Valdostana Pezzata Nera", + "Valdostana Pezzata Rossa", + "Väneko", + "Vaynol", + "Vechur8", + "Vestland Fjord", + "Vestland Red Polled", + "Vianesa", + "Volinian Beef", + "Vorderwald", + "Vosgienne", + "Wedit", + "Wagyu", + "Waguli", + "Wangus", + "Welsh Black", + "Western Finncattle", + "White Cáceres", + "White Fulani", + "White Lamphun", + "White Park", + "Whitebred Shorthorn", + "Xedit", + "Xingjiang Brown", + "Yedit", + "Yakutian", + "Yanbian", + "Yanhuang", + "Yurino", + "Zedit", + "Żubroń", + "Zebu" +}); + +const auto crocodiles = std::to_array({ + "Alligator mississippiensis", + "Chinese Alligator", + "Black Caiman", + "Broad-snouted Caiman", + "Spectacled Caiman", + "Yacare Caiman", + "Cuvier’s Dwarf Caiman", + "Schneider’s Smooth-fronted Caiman", + "African Slender-snouted Crocodile", + "American Crocodile", + "Australian Freshwater Crocodile", + "Cuban Crocodile", + "Dwarf Crocodile", + "Morelet’s Crocodile", + "Mugger Crocodile", + "New Guinea Freshwater Crocodile", + "Nile Crocodile", + "West African Crocodile", + "Orinoco Crocodile", + "Philippine Crocodile", + "Saltwater Crocodile", + "Siamese Crocodile", + "Gharial", + "Tomistoma", +}); + +const auto dogs = std::to_array({ + "Affenpinscher", + "Afghan Hound", + "Aidi", + "Airedale Terrier", + "Akbash", + "Akita", + "Alano Español", + "Alapaha Blue Blood Bulldog", + "Alaskan Husky", + "Alaskan Klee Kai", + "Alaskan Malamute", + "Alopekis", + "Alpine Dachsbracke", + "American Bulldog", + "American Bully", + "American Cocker Spaniel", + "American English Coonhound", + "American Foxhound", + "American Hairless Terrier", + "American Pit Bull Terrier", + "American Staffordshire Terrier", + "American Water Spaniel", + "Andalusian Hound", + "Anglo-Français de Petite Vénerie", + "Appenzeller Sennenhund", + "Ariegeois", + "Armant", + "Armenian Gampr dog", + "Artois Hound", + "Australian Cattle Dog", + "Australian Kelpie", + "Australian Shepherd", + "Australian Stumpy Tail Cattle Dog", + "Australian Terrier", + "Austrian Black and Tan Hound", + "Austrian Pinscher", + "Azawakh", + "Bakharwal dog", + "Banjara Hound", + "Barbado da Terceira", + "Barbet", + "Basenji", + "Basque Shepherd Dog", + "Basset Artésien Normand", + "Basset Bleu de Gascogne", + "Basset Fauve de Bretagne", + "Basset Hound", + "Bavarian Mountain Hound", + "Beagle", + "Beagle-Harrier", + "Belgian Shepherd", + "Bearded Collie", + "Beauceron", + "Bedlington Terrier", + "Bergamasco Shepherd", + "Berger Picard", + "Bernese Mountain Dog", + "Bhotia", + "Bichon Frisé", + "Billy", + "Black and Tan Coonhound", + "Black Norwegian Elkhound", + "Black Russian Terrier", + "Black Mouth Cur", + "Bloodhound", + "Blue Lacy", + "Blue Picardy Spaniel", + "Bluetick Coonhound", + "Boerboel", + "Bohemian Shepherd", + "Bolognese", + "Border Collie", + "Border Terrier", + "Borzoi", + "Bosnian Coarse-haired Hound", + "Boston Terrier", + "Bouvier des Ardennes", + "Bouvier des Flandres", + "Boxer", + "Boykin Spaniel", + "Bracco Italiano", + "Braque d'Auvergne", + "Braque de l'Ariège", + "Braque du Bourbonnais", + "Braque Francais", + "Braque Saint-Germain", + "Briard", + "Briquet Griffon Vendéen", + "Brittany", + "Broholmer", + "Bruno Jura Hound", + "Brussels Griffon", + "Bucovina Shepherd Dog", + "Bull Arab", + "Bull Terrier", + "Bulldog", + "Bullmastiff", + "Bully Kutta", + "Burgos Pointer", + "Cairn Terrier", + "Campeiro Bulldog", + "Canaan Dog", + "Canadian Eskimo Dog", + "Cane Corso", + "Cane di Oropa", + "Cane Paratore", + "Cantabrian Water Dog", + "Can de Chira", + "Cão da Serra de Aires", + "Cão de Castro Laboreiro", + "Cão de Gado Transmontano", + "Cão Fila de São Miguel", + "Cardigan Welsh Corgi", + "Carea Castellano Manchego", + "Carolina Dog", + "Carpathian Shepherd Dog", + "Catahoula Leopard Dog", + "Catalan Sheepdog", + "Caucasian Shepherd Dog", + "Cavalier King Charles Spaniel", + "Central Asian Shepherd Dog", + "Cesky Fousek", + "Cesky Terrier", + "Chesapeake Bay Retriever", + "Chien Français Blanc et Noir", + "Chien Français Blanc et Orange", + "Chien Français Tricolore", + "Chihuahua", + "Chilean Terrier", + "Chinese Chongqing Dog", + "Chinese Crested Dog", + "Chinook", + "Chippiparai", + "Chongqing dog", + "Chortai", + "Chow Chow", + "Cimarrón Uruguayo", + "Cirneco dell'Etna", + "Clumber Spaniel", + "Colombian fino hound", + "Coton de Tulear", + "Cretan Hound", + "Croatian Sheepdog", + "Curly-Coated Retriever", + "Cursinu", + "Czechoslovakian Wolfdog", + "Dachshund", + "Dalmatian", + "Dandie Dinmont Terrier", + "Danish-Swedish Farmdog", + "Denmark Feist", + "Dingo", + "Doberman Pinscher", + "Dogo Argentino", + "Dogo Guatemalteco", + "Dogo Sardesco", + "Dogue Brasileiro", + "Dogue de Bordeaux", + "Drentse Patrijshond", + "Drever", + "Dunker", + "Dutch Shepherd", + "Dutch Smoushond", + "East Siberian Laika", + "East European Shepherd", + "English Cocker Spaniel", + "English Foxhound", + "English Mastiff", + "English Setter", + "English Shepherd", + "English Springer Spaniel", + "English Toy Terrier", + "Entlebucher Mountain Dog", + "Estonian Hound", + "Estrela Mountain Dog", + "Eurasier", + "Field Spaniel", + "Fila Brasileiro", + "Finnish Hound", + "Finnish Lapphund", + "Finnish Spitz", + "Flat-Coated Retriever", + "French Bulldog", + "French Spaniel", + "Galgo Español", + "Galician Shepherd Dog", + "Garafian Shepherd", + "Gascon Saintongeois", + "Georgian Shepherd", + "German Hound", + "German Longhaired Pointer", + "German Pinscher", + "German Roughhaired Pointer", + "German Shepherd Dog", + "German Shorthaired Pointer", + "German Spaniel", + "German Spitz", + "German Wirehaired Pointer", + "Giant Schnauzer", + "Glen of Imaal Terrier", + "Golden Retriever", + "Gończy Polski", + "Gordon Setter", + "Grand Anglo-Français Blanc et Noir", + "Grand Anglo-Français Blanc et Orange", + "Grand Anglo-Français Tricolore", + "Grand Basset Griffon Vendéen", + "Grand Bleu de Gascogne", + "Grand Griffon Vendéen", + "Great Dane", + "Greater Swiss Mountain Dog", + "Greek Harehound", + "Greek Shepherd", + "Greenland Dog", + "Greyhound", + "Griffon Bleu de Gascogne", + "Griffon Fauve de Bretagne", + "Griffon Nivernais", + "Gull Dong", + "Gull Terrier", + "Hällefors Elkhound", + "Hamiltonstövare", + "Hanover Hound", + "Harrier", + "Havanese", + "Hierran Wolfdog", + "Hokkaido", + "Hovawart", + "Huntaway", + "Hygen Hound", + "Ibizan Hound", + "Icelandic Sheepdog", + "Indian pariah dog", + "Indian Spitz", + "Irish Red and White Setter", + "Irish Setter", + "Irish Terrier", + "Irish Water Spaniel", + "Irish Wolfhound", + "Istrian Coarse-haired Hound", + "Istrian Shorthaired Hound", + "Italian Greyhound", + "Jack Russell Terrier", + "Jagdterrier", + "Japanese Chin", + "Japanese Spitz", + "Japanese Terrier", + "Jindo", + "Jonangi", + "Kai Ken", + "Kaikadi", + "Kangal Shepherd Dog", + "Kanni", + "Karakachan dog", + "Karelian Bear Dog", + "Kars", + "Karst Shepherd", + "Keeshond", + "Kerry Beagle", + "Kerry Blue Terrier", + "King Charles Spaniel", + "King Shepherd", + "Kintamani", + "Kishu", + "Kokoni", + "Kombai", + "Komondor", + "Kooikerhondje", + "Koolie", + "Koyun dog", + "Kromfohrländer", + "Kuchi", + "Kuvasz", + "Labrador Retriever", + "Lagotto Romagnolo", + "Lakeland Terrier", + "Lancashire Heeler", + "Landseer", + "Lapponian Herder", + "Large Münsterländer", + "Leonberger", + "Levriero Sardo", + "Lhasa Apso", + "Lithuanian Hound", + "Löwchen", + "Lupo Italiano", + "Mackenzie River Husky", + "Magyar agár", + "Mahratta Greyhound", + "Maltese", + "Manchester Terrier", + "Maremmano-Abruzzese Sheepdog", + "McNab dog", + "Miniature American Shepherd", + "Miniature Bull Terrier", + "Miniature Fox Terrier", + "Miniature Pinscher", + "Miniature Schnauzer", + "Molossus of Epirus", + "Montenegrin Mountain Hound", + "Mountain Cur", + "Mountain Feist", + "Mucuchies", + "Mudhol Hound", + "Mudi", + "Neapolitan Mastiff", + "New Guinea Singing Dog", + "New Zealand Heading Dog", + "Newfoundland", + "Norfolk Terrier", + "Norrbottenspets", + "Northern Inuit Dog", + "Norwegian Buhund", + "Norwegian Elkhound", + "Norwegian Lundehund", + "Norwich Terrier", + "Nova Scotia Duck Tolling Retriever", + "Old Croatian Sighthound", + "Old Danish Pointer", + "Old English Sheepdog", + "Old English Terrier", + "Olde English Bulldogge", + "Otterhound", + "Pachon Navarro", + "Pampas Deerhound", + "Paisley Terrier", + "Papillon", + "Parson Russell Terrier", + "Pastore della Lessinia e del Lagorai", + "Patagonian Sheepdog", + "Patterdale Terrier", + "Pekingese", + "Pembroke Welsh Corgi", + "Perro Majorero", + "Perro de Pastor Mallorquin", + "Perro de Presa Canario", + "Perro de Presa Mallorquin", + "Peruvian Inca Orchid", + "Petit Basset Griffon Vendéen", + "Petit Bleu de Gascogne", + "Phalène", + "Pharaoh Hound", + "Phu Quoc Ridgeback", + "Picardy Spaniel", + "Plummer Terrier", + "Plott Hound", + "Podenco Canario", + "Podenco Valenciano", + "Pointer", + "Poitevin", + "Polish Greyhound", + "Polish Hound", + "Polish Lowland Sheepdog", + "Polish Tatra Sheepdog", + "Pomeranian", + "Pont-Audemer Spaniel", + "Poodle", + "Porcelaine", + "Portuguese Podengo", + "Portuguese Pointer", + "Portuguese Water Dog", + "Posavac Hound", + "Pražský Krysařík", + "Pshdar Dog", + "Pudelpointer", + "Pug", + "Puli", + "Pumi", + "Pungsan Dog", + "Pyrenean Mastiff", + "Pyrenean Mountain Dog", + "Pyrenean Sheepdog", + "Rafeiro do Alentejo", + "Rajapalayam", + "Rampur Greyhound", + "Rat Terrier", + "Ratonero Bodeguero Andaluz", + "Ratonero Mallorquin", + "Ratonero Murciano de Huerta", + "Ratonero Valenciano", + "Redbone Coonhound", + "Rhodesian Ridgeback", + "Romanian Mioritic Shepherd Dog", + "Romanian Raven Shepherd Dog", + "Rottweiler", + "Rough Collie", + "Russian Spaniel", + "Russian Toy", + "Russo-European Laika", + "Saarloos Wolfdog", + "Sabueso Español", + "Saint Bernard", + "Saint Hubert Jura Hound", + "Saint-Usuge Spaniel", + "Saluki", + "Samoyed", + "Sapsali", + "Sarabi dog", + "Šarplaninac", + "Schapendoes", + "Schillerstövare", + "Schipperke", + "Schweizer Laufhund", + "Schweizerischer Niederlaufhund", + "Scottish Deerhound", + "Scottish Terrier", + "Sealyham Terrier", + "Segugio dell'Appennino", + "Segugio Italiano", + "Segugio Maremmano", + "Seppala Siberian Sleddog", + "Serbian Hound", + "Serbian Tricolour Hound", + "Serrano Bulldog", + "Shar Pei", + "Shetland Sheepdog", + "Shiba Inu", + "Shih Tzu", + "Shikoku", + "Shiloh Shepherd", + "Siberian Husky", + "Silken Windhound", + "Silky Terrier", + "Sinhala Hound", + "Skye Terrier", + "Sloughi", + "Slovakian Wirehaired Pointer", + "Slovenský Cuvac", + "Slovenský Kopov", + "Smalandstövare", + "Small Greek domestic dog", + "Small Münsterländer", + "Smooth Collie", + "Smooth Fox Terrier", + "Soft-Coated Wheaten Terrier", + "South Russian Ovcharka", + "Spanish Mastiff", + "Spanish Water Dog", + "Spinone Italiano", + "Sporting Lucas Terrier", + "Sardinian Shepherd Dog", + "Stabyhoun", + "Staffordshire Bull Terrier", + "Standard Schnauzer", + "Stephens Stock", + "Styrian Coarse-haired Hound", + "Sussex Spaniel", + "Swedish Elkhound", + "Swedish Lapphund", + "Swedish Vallhund", + "Swedish White Elkhound", + "Taigan", + "Taiwan Dog", + "Tamaskan Dog", + "Teddy Roosevelt Terrier", + "Telomian", + "Tenterfield Terrier", + "Terrier Brasileiro", + "Thai Bangkaew Dog", + "Thai Ridgeback", + "Tibetan Mastiff", + "Tibetan Spaniel", + "Tibetan Terrier", + "Tornjak", + "Tosa", + "Toy Fox Terrier", + "Toy Manchester Terrier", + "Transylvanian Hound", + "Treeing Cur", + "Treeing Feist", + "Treeing Tennessee Brindle", + "Treeing Walker Coonhound", + "Trigg Hound", + "Tyrolean Hound", + "Vikhan", + "Villano de Las Encartaciones", + "Villanuco de Las Encartaciones", + "Vizsla", + "Volpino Italiano", + "Weimaraner", + "Welsh Sheepdog", + "Welsh Springer Spaniel", + "Welsh Terrier", + "West Highland White Terrier", + "West Siberian Laika", + "Westphalian Dachsbracke", + "Wetterhoun", + "Whippet", + "White Shepherd", + "White Swiss Shepherd Dog", + "Wire Fox Terrier", + "Wirehaired Pointing Griffon", + "Wirehaired Vizsla", + "Xiasi Dog", + "Xoloitzcuintli", + "Yakutian Laika", + "Yorkshire Terrier", +}); + +const auto fishes = std::to_array({ + "Grass carp", + "Peruvian anchoveta", + "Silver carp", + "Common carp", + "Asari", + "Japanese littleneck", + "Filipino Venus", + "Japanese cockle", + "Alaska pollock", + "Nile tilapia", + "Whiteleg shrimp", + "Bighead carp", + "Skipjack tuna", + "Catla", + "Crucian carp", + "Atlantic salmon", + "Atlantic herring", + "Chub mackerel", + "Rohu", + "Yellowfin tuna", + "Japanese anchovy", + "Largehead hairtail", + "Atlantic cod", + "European pilchard", + "Capelin", + "Jumbo flying squid", + "Milkfish", + "Atlantic mackerel", + "Rainbow trout", + "Araucanian herring", + "Wuchang bream", + "Gulf menhaden", + "Indian oil sardine", + "Black carp", + "European anchovy", + "Northern snakehead", + "Pacific cod", + "Pacific saury", + "Pacific herring", + "Bigeye tuna", + "Chilean jack mackerel", + "Yellow croaker", + "Haddock", + "Gazami crab", + "Amur catfish", + "Japanese common catfish", + "European sprat", + "Pink salmon", + "Mrigal carp", + "Channel catfish", + "Blood cockle", + "Blue whiting", + "Hilsa shad", + "Daggertooth pike conger", + "California pilchard", + "Cape horse mackerel", + "Pacific anchoveta", + "Japanese flying squid", + "Pollock", + "Chinese softshell turtle", + "Kawakawa", + "Indian mackerel", + "Asian swamp eel", + "Argentine hake", + "Short mackerel", + "Southern rough shrimp", + "Southern African anchovy", + "Pond loach", + "Iridescent shark", + "Mandarin fish", + "Chinese perch", + "Nile perch", + "Round sardinella", + "Japanese pilchard", + "Bombay-duck", + "Yellowhead catfish", + "Korean bullhead", + "Narrow-barred Spanish mackerel", + "Albacore", + "Madeiran sardinella", + "Bonga shad", + "Silver cyprinid", + "Longtail tuna", + "Atlantic menhaden", + "North Pacific hake", + "Atlantic horse mackerel", + "Japanese jack mackerel", + "Pacific thread herring", + "Bigeye scad", + "Yellowstripe scad", + "Chum salmon", + "Blue swimming crab", + "Pacific sand lance", + "Pacific sandlance", + "Goldstripe sardinella", +}); + +const auto horses = std::to_array({ + "American Albino", + "Abaco Barb", + "Abtenauer", + "Abyssinian", + "Aegidienberger", + "Akhal-Teke", + "Albanian Horse", + "Altai Horse", + "Altèr Real", + "American Cream Draft", + "American Indian Horse", + "American Paint Horse", + "American Quarter Horse", + "American Saddlebred", + "American Warmblood", + "Andalusian Horse", + "Andravida Horse", + "Anglo-Arabian", + "Anglo-Arabo-Sardo", + "Anglo-Kabarda", + "Appaloosa", + "AraAppaloosa", + "Arabian Horse", + "Ardennes Horse", + "Arenberg-Nordkirchen", + "Argentine Criollo", + "Asian wild Horse", + "Assateague Horse", + "Asturcón", + "Augeron", + "Australian Brumby", + "Australian Draught Horse", + "Australian Stock Horse", + "Austrian Warmblood", + "Auvergne Horse", + "Auxois", + "Azerbaijan Horse", + "Azteca Horse", + "Baise Horse", + "Bale", + "Balearic Horse", + "Balikun Horse", + "Baluchi Horse", + "Banker Horse", + "Barb Horse", + "Bardigiano", + "Bashkir Curly", + "Basque Mountain Horse", + "Bavarian Warmblood", + "Belgian Half-blood", + "Belgian Horse", + "Belgian Warmblood ", + "Bhutia Horse", + "Black Forest Horse", + "Blazer Horse", + "Boerperd", + "Borana", + "Boulonnais Horse", + "Brabant", + "Brandenburger", + "Brazilian Sport Horse", + "Breton Horse", + "Brumby", + "Budyonny Horse", + "Burguete Horse", + "Burmese Horse", + "Byelorussian Harness Horse", + "Calabrese Horse", + "Camargue Horse", + "Camarillo White Horse", + "Campeiro", + "Campolina", + "Canadian Horse", + "Canadian Pacer", + "Carolina Marsh Tacky", + "Carthusian Horse", + "Caspian Horse", + "Castilian Horse", + "Castillonnais", + "Catria Horse", + "Cavallo Romano della Maremma Laziale", + "Cerbat Mustang", + "Chickasaw Horse", + "Chilean Corralero", + "Choctaw Horse", + "Cleveland Bay", + "Clydesdale Horse", + "Cob", + "Coldblood Trotter", + "Colonial Spanish Horse", + "Colorado Ranger", + "Comtois Horse", + "Corsican Horse", + "Costa Rican Saddle Horse", + "Cretan Horse", + "Criollo Horse", + "Croatian Coldblood", + "Cuban Criollo", + "Cumberland Island Horse", + "Curly Horse", + "Czech Warmblood", + "Daliboz", + "Danish Warmblood", + "Danube Delta Horse", + "Dole Gudbrandsdal", + "Don", + "Dongola Horse", + "Draft Trotter", + "Dutch Harness Horse", + "Dutch Heavy Draft", + "Dutch Warmblood", + "Dzungarian Horse", + "East Bulgarian", + "East Friesian Horse", + "Estonian Draft", + "Estonian Horse", + "Falabella", + "Faroese", + "Finnhorse", + "Fjord Horse", + "Fleuve", + "Florida Cracker Horse", + "Foutanké", + "Frederiksborg Horse", + "Freiberger", + "French Trotter", + "Friesian Cross", + "Friesian Horse", + "Friesian Sporthorse", + "Furioso-North Star", + "Galiceño", + "Galician Pony", + "Gelderland Horse", + "Georgian Grande Horse", + "German Warmblood", + "Giara Horse", + "Gidran", + "Groningen Horse", + "Gypsy Horse", + "Hackney Horse", + "Haflinger", + "Hanoverian Horse", + "Heck Horse", + "Heihe Horse", + "Henson Horse", + "Hequ Horse", + "Hirzai", + "Hispano-Bretón", + "Holsteiner Horse", + "Horro", + "Hungarian Warmblood", + "Icelandic Horse", + "Iomud", + "Irish Draught", + "Irish Sport Horse sometimes called Irish Hunter", + "Italian Heavy Draft", + "Italian Trotter", + "Jaca Navarra", + "Jeju Horse", + "Jutland Horse", + "Kabarda Horse", + "Kafa", + "Kaimanawa Horses", + "Kalmyk Horse", + "Karabair", + "Karabakh Horse", + "Karachai Horse", + "Karossier", + "Kathiawari", + "Kazakh Horse", + "Kentucky Mountain Saddle Horse", + "Kiger Mustang", + "Kinsky Horse", + "Kisber Felver", + "Kiso Horse", + "Kladruber", + "Knabstrupper", + "Konik", + "Kundudo", + "Kustanair", + "Kyrgyz Horse", + "Latvian Horse", + "Lipizzan", + "Lithuanian Heavy Draught", + "Lokai", + "Losino Horse", + "Lusitano", + "Lyngshest", + "M'Bayar", + "M'Par", + "Mallorquín", + "Malopolski", + "Mangalarga", + "Mangalarga Marchador", + "Maremmano", + "Marismeño Horse", + "Marsh Tacky", + "Marwari Horse", + "Mecklenburger", + "Međimurje Horse", + "Menorquín", + "Mérens Horse", + "Messara Horse", + "Metis Trotter", + "Mezőhegyesi Sport Horse", + "Miniature Horse", + "Misaki Horse", + "Missouri Fox Trotter", + "Monchina", + "Mongolian Horse", + "Mongolian Wild Horse", + "Monterufolino", + "Morab", + "Morgan Horse", + "Mountain Pleasure Horse", + "Moyle Horse", + "Murakoz Horse", + "Murgese", + "Mustang Horse", + "Namib Desert Horse", + "Nangchen Horse", + "National Show Horse", + "Nez Perce Horse", + "Nivernais Horse", + "Nokota Horse", + "Noma", + "Nonius Horse", + "Nooitgedachter", + "Nordlandshest", + "Noriker Horse", + "Norman Cob", + "North American Single-Footer Horse", + "North Swedish Horse", + "Norwegian Coldblood Trotter", + "Norwegian Fjord", + "Novokirghiz", + "Oberlander Horse", + "Ogaden", + "Oldenburg Horse", + "Orlov trotter", + "Ostfriesen", + "Paint", + "Pampa Horse", + "Paso Fino", + "Pentro Horse", + "Percheron", + "Persano Horse", + "Peruvian Paso", + "Pintabian", + "Pleven Horse", + "Poitevin Horse", + "Posavac Horse", + "Pottok", + "Pryor Mountain Mustang", + "Przewalski's Horse", + "Pura Raza Española", + "Purosangue Orientale", + "Qatgani", + "Quarab", + "Quarter Horse", + "Racking Horse", + "Retuerta Horse", + "Rhenish German Coldblood", + "Rhinelander Horse", + "Riwoche Horse", + "Rocky Mountain Horse", + "Romanian Sporthorse", + "Rottaler", + "Russian Don", + "Russian Heavy Draft", + "Russian Trotter", + "Saddlebred", + "Salerno Horse", + "Samolaco Horse", + "San Fratello Horse", + "Sarcidano Horse", + "Sardinian Anglo-Arab", + "Schleswig Coldblood", + "Schwarzwälder Kaltblut", + "Selale", + "Sella Italiano", + "Selle Français", + "Shagya Arabian", + "Shan Horse", + "Shire Horse", + "Siciliano Indigeno", + "Silesian Horse", + "Sokolsky Horse", + "Sorraia", + "South German Coldblood", + "Soviet Heavy Draft", + "Spanish Anglo-Arab", + "Spanish Barb", + "Spanish Jennet Horse", + "Spanish Mustang", + "Spanish Tarpan", + "Spanish-Norman Horse", + "Spiti Horse", + "Spotted Saddle Horse", + "Standardbred Horse", + "Suffolk Punch", + "Swedish Ardennes", + "Swedish coldblood trotter", + "Swedish Warmblood", + "Swiss Warmblood", + "Taishū Horse", + "Takhi", + "Tawleed", + "Tchernomor", + "Tennessee Walking Horse", + "Tersk Horse", + "Thoroughbred", + "Tiger Horse", + "Tinker Horse", + "Tolfetano", + "Tori Horse", + "Trait Du Nord", + "Trakehner", + "Tsushima", + "Tuigpaard", + "Ukrainian Riding Horse", + "Unmol Horse", + "Uzunyayla", + "Ventasso Horse", + "Virginia Highlander", + "Vlaamperd", + "Vladimir Heavy Draft", + "Vyatka", + "Waler", + "Waler Horse", + "Walkaloosa", + "Warlander", + "Warmblood", + "Welsh Cob", + "Westphalian Horse", + "Wielkopolski", + "Württemberger", + "Xilingol Horse", + "Yakutian Horse", + "Yili Horse", + "Yonaguni Horse", + "Zaniskari", + "Žemaitukas", + "Zhemaichu", + "Zweibrücker", +}); + +const auto insects = std::to_array({ + "Acacia-ants", + "Acorn-plum gall", + "Aerial yellowjacket", + "Africanized honey bee", + "Allegheny mound ant", + "Almond stone wasp", + "Ant", + "Arboreal ant", + "Argentine ant", + "Asian paper wasp", + "Baldfaced hornet", + "Bee", + "Bigheaded ant", + "Black and yellow mud dauber", + "Black carpenter ant", + "Black imported fire ant", + "Blue horntail woodwasp", + "Blue orchard bee", + "Braconid wasp", + "Bumble bee", + "Carpenter ant", + "Carpenter wasp", + "Chalcid wasp", + "Cicada killer", + "Citrus blackfly parasitoid", + "Common paper wasp", + "Crazy ant", + "Cuckoo wasp", + "Cynipid gall wasp", + "Eastern Carpenter bee", + "Eastern yellowjacket", + "Elm sawfly", + "Encyrtid wasp", + "Erythrina gall wasp", + "Eulophid wasp", + "European hornet", + "European imported fire ant", + "False honey ant", + "Fire ant", + "Forest bachac", + "Forest yellowjacket", + "German yellowjacket", + "Ghost ant", + "Giant ichneumon wasp", + "Giant resin bee", + "Giant wood wasp", + "Golden northern bumble bee", + "Golden paper wasp", + "Gouty oak gall", + "Grass Carrying Wasp", + "Great black wasp", + "Great golden digger wasp", + "Hackberry nipple gall parasitoid", + "Honey bee", + "Horned oak gall", + "Horse guard wasp", + "Hunting wasp", + "Ichneumonid wasp", + "Keyhole wasp", + "Knopper gall", + "Large garden bumble bee", + "Large oak-apple gall", + "Leafcutting bee", + "Little fire ant", + "Little yellow ant", + "Long-horned bees", + "Long-legged ant", + "Macao paper wasp", + "Mallow bee", + "Marble gall", + "Mossyrose gall wasp", + "Mud-daubers", + "Multiflora rose seed chalcid", + "Oak apple gall wasp", + "Oak rough bulletgall wasp", + "Oak saucer gall", + "Oak shoot sawfly", + "Odorous house ant", + "Orange-tailed bumble bee", + "Orangetailed potter wasp", + "Oriental chestnut gall wasp", + "Paper wasp", + "Pavement ant", + "Pigeon tremex", + "Pip gall wasp", + "Prairie yellowjacket", + "Pteromalid wasp", + "Pyramid ant", + "Raspberry Horntail", + "Red ant", + "Red carpenter ant", + "Red harvester ant", + "Red imported fire ant", + "Red wasp", + "Red wood ant", + "Red-tailed wasp", + "Reddish carpenter ant", + "Rough harvester ant", + "Sawfly parasitic wasp", + "Scale parasitoid", + "Silky ant", + "Sirex woodwasp", + "Siricid woodwasp", + "Smaller yellow ant", + "Southeastern blueberry bee", + "Southern fire ant", + "Southern yellowjacket", + "Sphecid wasp", + "Stony gall", + "Sweat bee", + "Texas leafcutting ant", + "Tiphiid wasp", + "Torymid wasp", + "Tramp ant", + "Valentine ant", + "Velvet ant", + "Vespid wasp", + "Weevil parasitoid", + "Western harvester ant", + "Western paper wasp", + "Western thatching ant", + "Western yellowjacket", + "White-horned horntail", + "Willow shoot sawfly", + "Woodwasp", + "Wool sower gall maker", + "Yellow and black potter wasp", + "Yellow Crazy Ant", + "Yellow-horned horntail", +}); + +const auto lions = std::to_array({ + "Asiatic Lion", "Barbary Lion", "West African Lion", "Northeast Congo Lion", + "Masai Lion", "Transvaal lion", "Cape lion", +}); + +const auto rabbits = std::to_array({ + "American", + "American Chinchilla", + "American Fuzzy Lop", + "American Sable", + "Argente Brun", + "Belgian Hare", + "Beveren", + "Blanc de Hotot", + "Britannia Petite", + "Californian", + "Champagne D’Argent", + "Checkered Giant", + "Cinnamon", + "Crème D’Argent", + "Dutch", + "Dwarf Hotot", + "English Angora", + "English Lop", + "English Spot", + "Flemish Giant", + "Florida White", + "French Angora", + "French Lop", + "Giant Angora", + "Giant Chinchilla", + "Harlequin", + "Havana", + "Himalayan", + "Holland Lop", + "Jersey Wooly", + "Lilac", + "Lionhead", + "Mini Lop", + "Mini Rex", + "Mini Satin", + "Netherland Dwarf", + "New Zealand", + "Palomino", + "Polish", + "Rex", + "Rhinelander", + "Satin", + "Satin Angora", + "Silver", + "Silver Fox", + "Silver Marten", + "Standard Chinchilla", + "Tan", + "Thrianta", +}); + +const auto rodents = std::to_array({ + "Abrocoma", + "Abrocoma schistacea", + "Aconaemys", + "Aconaemys porteri", + "African brush-tailed porcupine", + "Andean mountain cavy", + "Argentine tuco-tuco", + "Ashy chinchilla rat", + "Asiatic brush-tailed porcupine", + "Atherurus", + "Azara's agouti", + "Azara's tuco-tuco", + "Bahia porcupine", + "Bathyergus", + "Bathyergus janetta", + "Bathyergus suillus", + "Bennett's chinchilla rat", + "Bicolored-spined porcupine", + "Black agouti", + "Black dwarf porcupine", + "Black-rumped agouti", + "Black-tailed hairy dwarf porcupine", + "Bolivian chinchilla rat", + "Bolivian tuco-tuco", + "Bonetto's tuco-tuco", + "Brandt's yellow-toothed cavy", + "Brazilian guinea pig", + "Brazilian porcupine", + "Brazilian tuco-tuco", + "Bridge's degu", + "Brown hairy dwarf porcupine", + "Budin's chinchilla rat, A. budini", + "Cape porcupine", + "Catamarca tuco-tuco", + "Cavia", + "Central American agouti", + "Chacoan tuco-tuco", + "Chilean rock rat", + "Chinchilla", + "Coendou", + "Coiban agouti", + "Colburn's tuco-tuco", + "Collared tuco-tuco", + "Common degu", + "Common yellow-toothed cavy", + "Conover's tuco-tuco", + "Coruro", + "Crested agouti", + "Crested porcupine", + "Cryptomys", + "Cryptomys bocagei", + "Cryptomys damarensis", + "Cryptomys foxi", + "Cryptomys hottentotus", + "Cryptomys mechowi", + "Cryptomys ochraceocinereus", + "Cryptomys zechi", + "Ctenomys", + "Cuniculus", + "Cuscomys", + "Cuscomys ashanika", + "Dactylomys", + "Dactylomys boliviensis", + "Dactylomys dactylinus", + "Dactylomys peruanus", + "Dasyprocta", + "Domestic guinea pig", + "Emily's tuco-tuco", + "Erethizon", + "Famatina chinchilla rat", + "Frosted hairy dwarf porcupine", + "Fukomys", + "Fukomys amatus", + "Fukomys anselli", + "Fukomys bocagei", + "Fukomys damarensis", + "Fukomys darlingi", + "Fukomys foxi", + "Fukomys ilariae", + "Fukomys kafuensis", + "Fukomys mechowii", + "Fukomys micklemi", + "Fukomys occlusus", + "Fukomys ochraceocinereus", + "Fukomys whytei", + "Fukomys zechi", + "Furtive tuco-tuco", + "Galea", + "Georychus", + "Georychus capensis", + "Golden viscacha-rat", + "Goya tuco-tuco", + "Greater guinea pig", + "Green acouchi", + "Haig's tuco-tuco", + "Heliophobius", + "Heliophobius argenteocinereus", + "Heterocephalus", + "Heterocephalus glaber", + "Highland tuco-tuco", + "Hystrix", + "Indian porcupine", + "Isla Mocha degu", + "Kalinowski agouti", + "Kannabateomys", + "Kannabateomys amblyonyx", + "Lagidium", + "Lagostomus", + "Lewis' tuco-tuco", + "Long-tailed chinchilla", + "Long-tailed porcupine", + "Los Chalchaleros' viscacha-rat", + "Lowland paca", + "Magellanic tuco-tuco", + "Malayan porcupine", + "Maule tuco-tuco", + "Mendoza tuco-tuco", + "Mexican agouti", + "Mexican hairy dwarf porcupine", + "Microcavia", + "Montane guinea pig", + "Moon-toothed degu", + "Mottled tuco-tuco", + "Mountain degu", + "Mountain paca", + "Mountain viscacha-rat", + "Myoprocta", + "Natterer's tuco-tuco", + "North American porcupine", + "Northern viscacha", + "Octodon", + "Octodontomys", + "Octomys", + "Olallamys", + "Olallamys albicauda", + "Olallamys edax", + "Orinoco agouti", + "Paraguaian hairy dwarf porcupine", + "Pearson's tuco-tuco", + "Peruvian tuco-tuco", + "Philippine porcupine", + "Pipanacoctomys", + "Plains viscacha", + "Plains viscacha-rat", + "Porteous' tuco-tuco", + "Punta de Vacas chinchilla rat", + "Red acouchi", + "Red-rumped agouti", + "Reddish tuco-tuco", + "Rio Negro tuco-tuco", + "Robust tuco-tuco", + "Roosmalen's dwarf porcupine", + "Rothschild's porcupine", + "Ruatan Island agouti", + "Sage's rock rat", + "Salinoctomys", + "Salta tuco-tuco", + "San Luis tuco-tuco", + "Santa Catarina's guinea pig", + "Shiny guinea pig", + "Shipton's mountain cavy", + "Short-tailed chinchilla", + "Silky tuco-tuco", + "Social tuco-tuco", + "Southern mountain cavy", + "Southern tuco-tuco", + "Southern viscacha", + "Spalacopus", + "Spix's yellow-toothed cavy", + "Steinbach's tuco-tuco", + "Streaked dwarf porcupine", + "Strong tuco-tuco", + "Stump-tailed porcupine", + "Sumatran porcupine", + "Sunda porcupine", + "Talas tuco-tuco", + "Tawny tuco-tuco", + "Thick-spined porcupine", + "Tiny tuco-tuco", + "Trichys", + "Tucuman tuco-tuco", + "Tympanoctomys", + "Uspallata chinchilla rat", + "White-toothed tuco-tuco", + "Wolffsohn's viscacha", +}); + +const auto snakes = std::to_array({ + "Viper Adder", + "Common adder", + "Death Adder", + "Desert death adder", + "Horned adder", + "Long-nosed adder", + "Many-horned adder", + "Mountain adder", + "Mud adder", + "Namaqua dwarf adder", + "Nightingale adder", + "Peringuey's adder", + "Puff adder", + "African puff adder", + "Rhombic night adder", + "Sand adder", + "Dwarf sand adder", + "Namib dwarf sand adder", + "Water adder", + "Aesculapian snake", + "Anaconda", + "Bolivian anaconda", + "De Schauensee's anaconda", + "Green anaconda", + "Yellow anaconda", + "Arafura file snake", + "Asp", + "European asp", + "Egyptian asp", + "African beaked snake", + "Ball Python", + "Bird snake", + "Black-headed snake", + "Mexican black kingsnake", + "Black rat snake", + "Black snake", + "Red-bellied black snake", + "Blind snake", + "Brahminy blind snake", + "Texas blind snake", + "Western blind snake", + "Boa", + "Abaco Island boa", + "Amazon tree boa", + "Boa constrictor", + "Cuban boa", + "Dumeril's boa", + "Dwarf boa", + "Emerald tree boa", + "Hogg Island boa", + "Jamaican boa", + "Madagascar ground boa", + "Madagascar tree boa", + "Puerto Rican boa", + "Rainbow boa", + "Red-tailed boa", + "Rosy boa", + "Rubber boa", + "Sand boa", + "Tree boa", + "Boiga", + "Boomslang", + "Brown snake", + "Eastern brown snake", + "Bull snake", + "Bushmaster", + "Dwarf beaked snake", + "Rufous beaked snake", + "Canebrake", + "Cantil", + "Cascabel", + "Cat-eyed snake", + "Banded cat-eyed snake", + "Green cat-eyed snake", + "Cat snake", + "Andaman cat snake", + "Beddome's cat snake", + "Dog-toothed cat snake", + "Forsten's cat snake", + "Gold-ringed cat snake", + "Gray cat snake", + "Many-spotted cat snake", + "Tawny cat snake", + "Chicken snake", + "Coachwhip snake", + "Cobra", + "Andaman cobra", + "Arabian cobra", + "Asian cobra", + "Banded water cobra", + "Black-necked cobra", + "Black-necked spitting cobra", + "Black tree cobra", + "Burrowing cobra", + "Cape cobra", + "Caspian cobra", + "Congo water cobra", + "Common cobra", + "Eastern water cobra", + "Egyptian cobra", + "Equatorial spitting cobra", + "False cobra", + "False water cobra", + "Forest cobra", + "Gold tree cobra", + "Indian cobra", + "Indochinese spitting cobra", + "Javan spitting cobra", + "King cobra", + "Mandalay cobra", + "Mozambique spitting cobra", + "North Philippine cobra", + "Nubian spitting cobra", + "Philippine cobra", + "Red spitting cobra", + "Rinkhals cobra", + "Shield-nosed cobra", + "Sinai desert cobra", + "Southern Indonesian spitting cobra", + "Southern Philippine cobra", + "Southwestern black spitting cobra", + "Snouted cobra", + "Spectacled cobra", + "Spitting cobra", + "Storm water cobra", + "Thai cobra", + "Taiwan cobra", + "Zebra spitting cobra", + "Collett's snake", + "Congo snake", + "Copperhead", + "American copperhead", + "Australian copperhead", + "Coral snake", + "Arizona coral snake", + "Beddome's coral snake", + "Brazilian coral snake", + "Cape coral snake", + "Harlequin coral snake", + "High Woods coral snake", + "Malayan long-glanded coral snake", + "Texas Coral Snake", + "Western coral snake", + "Corn snake", + "South eastern corn snake", + "Cottonmouth", + "Crowned snake", + "Cuban wood snake", + "Eastern hognose snake", + "Egg-eater", + "Eastern coral snake", + "Fer-de-lance", + "Fierce snake", + "Fishing snake", + "Flying snake", + "Golden tree snake", + "Indian flying snake", + "Moluccan flying snake", + "Ornate flying snake", + "Paradise flying snake", + "Twin-Barred tree snake", + "Banded Flying Snake", + "Fox snake, three species of Pantherophis", + "Forest flame snake", + "Garter snake", + "Checkered garter snake", + "Common garter snake", + "San Francisco garter snake", + "Texas garter snake", + "Cape gopher snake", + "Grass snake", + "Green snake", + "Rough green snake", + "Smooth green snake", + "Ground snake", + "Common ground snake", + "Three-lined ground snake", + "Western ground snake", + "Habu", + "Hognose snake", + "Blonde hognose snake", + "Dusty hognose snake", + "Jan's hognose snake", + "Giant Malagasy hognose snake", + "Mexican hognose snake", + "South American hognose snake", + "Hundred pacer", + "Ikaheka snake", + "Indigo snake", + "Jamaican Tree Snake", + "Keelback", + "Asian keelback", + "Assam keelback", + "Black-striped keelback", + "Buff striped keelback", + "Burmese keelback", + "Checkered keelback", + "Common keelback", + "Hill keelback", + "Himalayan keelback", + "Khasi Hills keelback", + "Modest keelback", + "Nicobar Island keelback", + "Nilgiri keelback", + "Orange-collared keelback", + "Red-necked keelback", + "Sikkim keelback", + "Speckle-bellied keelback", + "White-lipped keelback", + "Wynaad keelback", + "Yunnan keelback", + "King brown", + "King snake", + "California kingsnake", + "Desert kingsnake", + "Grey-banded kingsnake", + "North eastern king snake", + "Prairie kingsnake", + "Scarlet kingsnake", + "Speckled kingsnake", + "Krait", + "Banded krait", + "Blue krait", + "Black krait", + "Burmese krait", + "Ceylon krait", + "Indian krait", + "Lesser black krait", + "Malayan krait", + "Many-banded krait", + "Northeastern hill krait", + "Red-headed krait", + "Sind krait", + "Large shield snake", + "Lancehead", + "Common lancehead", + "Lora", + "Grey Lora", + "Lyre snake", + "Baja California lyresnake", + "Central American lyre snake", + "Texas lyre snake", + "Eastern lyre snake", + "Machete savane", + "Mamba", + "Black mamba", + "Green mamba", + "Eastern green mamba", + "Western green mamba", + "Mamushi", + "Mangrove snake", + "Milk snake", + "Moccasin snake", + "Montpellier snake", + "Mud snake", + "Eastern mud snake", + "Western mud snake", + "Mussurana", + "Night snake", + "Cat-eyed night snake", + "Texas night snake", + "Nichell snake", + "Narrowhead Garter Snake", + "Nose-horned viper", + "Rhinoceros viper", + "Vipera ammodytes", + "Parrot snake", + "Mexican parrot snake", + "Patchnose snake", + "Perrotet's shieldtail snake", + "Pine snake", + "Pipe snake", + "Asian pipe snake", + "Dwarf pipe snake", + "Red-tailed pipe snake", + "Python", + "African rock python", + "Amethystine python", + "Angolan python", + "Australian scrub python", + "Ball python", + "Bismarck ringed python", + "Black headed python", + "Blood python", + "Boelen python", + "Borneo short-tailed python", + "Bredl's python", + "Brown water python", + "Burmese python", + "Calabar python", + "Western carpet python", + "Centralian carpet python", + "Coastal carpet python", + "Inland carpet python", + "Jungle carpet python", + "New Guinea carpet python", + "Northwestern carpet python", + "Southwestern carpet python", + "Children's python", + "Dauan Island water python", + "Desert woma python", + "Diamond python", + "Flinders python", + "Green tree python", + "Halmahera python", + "Indian python", + "Indonesian water python", + "Macklot's python", + "Mollucan python", + "Oenpelli python", + "Olive python", + "Papuan python", + "Pygmy python", + "Red blood python", + "Reticulated python", + "Kayaudi dwarf reticulated python", + "Selayer reticulated python", + "Rough-scaled python", + "Royal python", + "Savu python", + "Spotted python", + "Stimson's python", + "Sumatran short-tailed python", + "Tanimbar python", + "Timor python", + "Wetar Island python", + "White-lipped python", + "Brown white-lipped python", + "Northern white-lipped python", + "Southern white-lipped python", + "Woma python", + "Western woma python", + "Queen snake", + "Racer", + "Bimini racer", + "Buttermilk racer", + "Eastern racer", + "Eastern yellowbelly sad racer", + "Mexican racer", + "Southern black racer", + "Tan racer", + "West Indian racer", + "Raddysnake", + "Southwestern blackhead snake", + "Rat snake", + "Baird's rat snake", + "Beauty rat snake", + "Great Plains rat snake", + "Green rat snake", + "Japanese forest rat snake", + "Japanese rat snake", + "King rat snake", + "Mandarin rat snake", + "Persian rat snake", + "Red-backed rat snake", + "Twin-spotted rat snake", + "Yellow-striped rat snake", + "Manchurian Black Water Snake", + "Rattlesnake", + "Arizona black rattlesnake", + "Aruba rattlesnake", + "Chihuahuan ridge-nosed rattlesnake", + "Coronado Island rattlesnake", + "Durango rock rattlesnake", + "Dusky pigmy rattlesnake", + "Eastern diamondback rattlesnake", + "Grand Canyon rattlesnake", + "Great Basin rattlesnake", + "Hopi rattlesnake", + "Lance-headed rattlesnake", + "Long-tailed rattlesnake", + "Massasauga rattlesnake", + "Mexican green rattlesnake", + "Mexican west coast rattlesnake", + "Midget faded rattlesnake", + "Mojave rattlesnake", + "Northern black-tailed rattlesnake", + "Oaxacan small-headed rattlesnake", + "Rattler", + "Red diamond rattlesnake", + "Southern Pacific rattlesnake", + "Southwestern speckled rattlesnake", + "Tancitaran dusky rattlesnake", + "Tiger rattlesnake", + "Timber rattlesnake", + "Tropical rattlesnake", + "Twin-spotted rattlesnake", + "Uracoan rattlesnake", + "Western diamondback rattlesnake", + "Ribbon snake", + "Rinkhals", + "River jack", + "Sea snake", + "Annulated sea snake", + "Beaked sea snake", + "Dubois's sea snake", + "Hardwicke's sea snake", + "Hook Nosed Sea Snake", + "Olive sea snake", + "Pelagic sea snake", + "Stoke's sea snake", + "Yellow-banded sea snake", + "Yellow-bellied sea snake", + "Yellow-lipped sea snake", + "Shield-tailed snake", + "Sidewinder", + "Colorado desert sidewinder", + "Mojave desert sidewinder", + "Sonoran sidewinder", + "Small-eyed snake", + "Smooth snake", + "Brazilian smooth snake", + "European smooth snake", + "Stiletto snake", + "Striped snake", + "Japanese striped snake", + "Sunbeam snake", + "Taipan", + "Central ranges taipan", + "Coastal taipan", + "Inland taipan", + "Paupan taipan", + "Tentacled snake", + "Tic polonga", + "Tiger snake", + "Chappell Island tiger snake", + "Common tiger snake", + "Down's tiger snake", + "Eastern tiger snake", + "King Island tiger snake", + "Krefft's tiger snake", + "Peninsula tiger snake", + "Tasmanian tiger snake", + "Western tiger snake", + "Tigre snake", + "Tree snake", + "Blanding's tree snake", + "Blunt-headed tree snake", + "Brown tree snake", + "Long-nosed tree snake", + "Many-banded tree snake", + "Northern tree snake", + "Trinket snake", + "Black-banded trinket snake", + "Twig snake", + "African twig snake", + "Twin Headed King Snake", + "Titanboa", + "Urutu", + "Vine snake", + "Asian Vine Snake, Whip Snake", + "American Vine Snake", + "Mexican vine snake", + "Viper", + "Asp viper", + "Bamboo viper", + "Bluntnose viper", + "Brazilian mud Viper", + "Burrowing viper", + "Bush viper", + "Great Lakes bush viper", + "Hairy bush viper", + "Nitsche's bush viper", + "Rough-scaled bush viper", + "Spiny bush viper", + "Carpet viper", + "Crossed viper", + "Cyclades blunt-nosed viper", + "Eyelash viper", + "False horned viper", + "Fea's viper", + "Fifty pacer", + "Gaboon viper", + "Hognosed viper", + "Horned desert viper", + "Horned viper", + "Jumping viper", + "Kaznakov's viper", + "Leaf-nosed viper", + "Leaf viper", + "Levant viper", + "Long-nosed viper", + "McMahon's viper", + "Mole viper", + "Palestine viper", + "Pallas' viper", + "Palm viper", + "Amazonian palm viper", + "Black-speckled palm-pitviper", + "Eyelash palm-pitviper", + "Green palm viper", + "Mexican palm-pitviper", + "Guatemalan palm viper", + "Honduran palm viper", + "Siamese palm viper", + "Side-striped palm-pitviper", + "Yellow-lined palm viper", + "Pit viper", + "Banded pitviper", + "Bamboo pitviper", + "Barbour's pit viper", + "Black-tailed horned pit viper", + "Bornean pitviper", + "Brongersma's pitviper", + "Brown spotted pitviper[4]", + "Cantor's pitviper", + "Elegant pitviper", + "Eyelash pit viper", + "Fan-Si-Pan horned pitviper", + "Flat-nosed pitviper", + "Godman's pit viper", + "Green tree pit viper", + "Habu pit viper", + "Hagen's pitviper", + "Horseshoe pitviper", + "Jerdon's pitviper", + "Kanburian pit viper", + "Kaulback's lance-headed pitviper", + "Kham Plateau pitviper", + "Large-eyed pitviper", + "Malabar rock pitviper", + "Malayan pit viper", + "Mangrove pit viper", + "Mangshan pitviper", + "Motuo bamboo pitviper", + "Nicobar bamboo pitviper", + "Philippine pitviper", + "Pointed-scaled pit viper[5]", + "Red-tailed bamboo pitviper", + "Schultze's pitviper", + "Stejneger's bamboo pitviper", + "Sri Lankan pit viper", + "Temple pit viper", + "Tibetan bamboo pitviper", + "Tiger pit viper", + "Undulated pit viper", + "Wagler's pit viper", + "Wirot's pit viper", + "Portuguese viper", + "Saw-scaled viper", + "Schlegel's viper", + "Sedge viper", + "Sharp-nosed viper", + "Snorkel viper", + "Temple viper", + "Tree viper", + "Chinese tree viper", + "Guatemalan tree viper", + "Hutton's tree viper", + "Indian tree viper", + "Large-scaled tree viper", + "Malcolm's tree viper", + "Nitsche's tree viper", + "Pope's tree viper", + "Rough-scaled tree viper", + "Rungwe tree viper", + "Sumatran tree viper", + "White-lipped tree viper", + "Ursini's viper", + "Western hog-nosed viper", + "Wart snake", + "Water moccasin", + "Water snake", + "Bocourt's water snake", + "Northern water snake", + "Whip snake", + "Long-nosed whip snake", + "Wolf snake", + "African wolf snake", + "Barred wolf snake", + "Worm snake", + "Common worm snake", + "Longnosed worm snake", + "Wutu", + "Yarara", + "Zebra snake", +}); + +const auto types = std::to_array({ + "dog", "cat", "snake", "bear", "lion", "cetacean", "insect", "crocodilia", "cow", "bird", "fish", "rabbit", "horse", +}); + } diff --git a/src/modules/book/BookData.cpp b/src/modules/book/BookData.cpp deleted file mode 100644 index c52aeef5..00000000 --- a/src/modules/book/BookData.cpp +++ /dev/null @@ -1,561 +0,0 @@ -#include "BookData.h" - -#include -#include - -namespace faker::book -{ -const std::array authors = { - "A. A. Milne", - "Agatha Christie", - "Alexander Pope", - "Alexandre Dumas", - "Alice Walker", - "Andrew Lang", - "Anton Pavlovich Chekhov", - "Arthur Conan Doyle", - "Arthur Schopenhauer", - "Aylmer Maude", - "Beatrix Potter", - "Benjamin Jowett", - "Bernard Shaw", - "Bertrand Russell", - "Bhagavanlal Indrajit", - "Bram Stoker", - "Brian Evenson", - "C. E. Brock", - "Charles Dickens", - "Charles E. Derbyshire", - "Charlotte Brontë", - "Charlotte Perkins Gilman", - "Clifford R. Adams", - "Constance Garnett", - "Dan Brown", - "Daniel Defoe", - "Dante Alighieri", - "David Widger", - "David Wyllie", - "Dean Koontz", - "E. M. Forster", - "Edgar Allan Poe", - "Edgar Rice Burroughs", - "Elizabeth Cleghorn Gaskell", - "Elizabeth Von Arnim", - "F. Scott Fitzgerald", - "Frances Hodgson Burnett", - "Frank T. Merrill", - "Franz Kafka", - "Friedrich Wilhelm Nietzsche", - "Fyodor Dostoyevsky", - "G. K. Chesterton", - "George Eliot", - "George R. R. Martin", - "George Saunders", - "Grady Ward", - "Gustave Doré", - "Guy de Maupassant", - "H. G. Wells", - "H. P. Lovecraft", - "Haruki Murakami", - "Henrik Ibsen", - "Henry David Thoreau", - "Henry Fielding", - "Henry James", - "Henry Morley", - "Herman Melville", - "Homer", - "Honoré de Balzac", - "Ian McEwan", - "Isabel Florence Hapgood", - "J. K. Rowling", - "J. M. Barrie", - "Jack London", - "Jacob Grimm", - "Jacqueline Crooks", - "James Joyce", - "James Patterson", - "Jane Austen", - "Johann Wolfgang von Goethe", - "John Camden Hotten", - "John Green", - "John Grisham", - "John Ormsby", - "Jonathan Franzen", - "Jonathan Swift", - "Joseph Conrad", - "José Rizal", - "Jules Verne", - "Karl Marx", - "Kazuo Ishiguro", - "Khaled Hosseini", - "L. Frank Baum", - "L. M. Montgomery", - "Leo Tolstoy", - "Lewis Carroll", - "Louisa May Alcott", - "Louise Maude", - "Margaret Atwood", - "Mark Twain", - "Mary Wollstonecraft Shelley", - "Michael Chabon", - "Miguel de Cervantes Saavedra", - "Nathaniel Hawthorne", - "Neil Gaiman", - "Niccolò Machiavelli", - "Oscar Levy", - "Oscar Wilde", - "P. G. Wodehouse", - "Plato", - "R. L. Stine", - "Rachel Kushner", - "Richard Wagner", - "Robert E. Howard", - "Robert Louis Stevenson", - "Robert W. Chambers", - "Rudyard Kipling", - "Samuel Butler", - "Shivaram Parashuram Bhide", - "Sir Richard Francis Burton", - "Stephen King", - "Suzanne Collins", - "T. S. Eliot", - "T. Smollett", - "Theodore Alois Buckley", - "Thomas Hardy", - "Toni Morrison", - "Vance Packard", - "Vatsyayana", - "Victor Hugo", - "W. K. Marriott", - "Walter Scott", - "Wilhelm Grimm", - "William Shakespeare", - "Zadie Smith", -}; - -const std::array bookFormats{ - "Paperback", - "Hardcover", - "Ebook", - "Audiobook", -}; - -const std::array bookGenres = { - "Adventure", "Biography", "Business", "Children Literature", - "Classic", "Comedy", "Comic", "Detective", - "Drama", "Fantasy", "Graphic Novel", "Historical Fiction", - "Horror", "Memoir", "Mystery", "Mythology", - "Philosophy", "Poetry", "Psychology", "Religion", - "Romance", "Science Fiction", "Thriller", "Western", - "Young Adult", -}; - -const std::array publishers = { - "Academic Press", - "Ace Books", - "Addison-Wesley", - "Adis International", - "Airiti Press", - "Andrews McMeel Publishing", - "Anova Books", - "Anvil Press Poetry", - "Applewood Books", - "Apress", - "Athabasca University Press", - "Atheneum Books", - "Atheneum Publishers", - "Atlantic Books", - "Atlas Press", - "Ballantine Books", - "Banner of Truth Trust", - "Bantam Books", - "Bantam Spectra", - "Barrie & Jenkins", - "Basic Books", - "BBC Books", - "Harvard University Press", - "Belknap Press", - "Bella Books", - "Bellevue Literary Press", - "Berg Publishers", - "Berkley Books", - "Bison Books", - "Black Dog Publishing", - "Black Library", - "Black Sparrow Books", - "Blackie and Son Limited", - "Blackstaff Press", - "Blackwell Publishing", - "John Blake Publishing", - "Bloodaxe Books", - "Bloomsbury Publishing Plc", - "Blue Ribbon Books", - "Book League of America", - "Book Works", - "Booktrope", - "Borgo Press", - "Bowes & Bowes", - "Boydell & Brewer", - "Breslov Research Institute", - "Brill Publishers", - "Brimstone Press", - "Broadview Press", - "Burns & Oates", - "Butterworth-Heinemann", - "Caister Academic Press", - "Cambridge University Press", - "Candlewick Press", - "Canongate Books", - "Carcanet Press", - "Carlton Books", - "Carlton Publishing Group", - "Carnegie Mellon University Press", - "Casemate Publishers", - "Cengage Learning", - "Central European University Press", - "Chambers Harrap", - "Charles Scribner's Sons", - "Chatto and Windus", - "Chick Publications", - "Chronicle Books", - "Churchill Livingstone", - "Cisco Press", - "City Lights Publishers", - "Cloverdale Corporation", - "D. Appleton & Company", - "D. Reidel", - "Da Capo Press", - "Daedalus Publishing", - "Dalkey Archive Press", - "Darakwon Press", - "David & Charles", - "DAW Books", - "Dedalus Books", - "Del Rey Books", - "E. P. Dutton", - "Earthscan", - "ECW Press", - "Eel Pie Publishing", - "Eerdmans Publishing", - "Edupedia Publications", - "Ellora's Cave", - "Elsevier", - "Emerald Group Publishing", - "Etruscan Press", - "Faber and Faber", - "FabJob", - "Fairview Press", - "Farrar, Straus & Giroux", - "Fearless Books", - "Felony & Mayhem Press", - "Firebrand Books", - "Flame Tree Publishing", - "Focal Press", - "G. P. Putnam's Sons", - "G-Unit Books", - "Gaspereau Press", - "Gay Men's Press", - "Gefen Publishing House", - "George H. Doran Company", - "George Newnes", - "George Routledge & Sons", - "Godwit Press", - "Golden Cockerel Press", - "Hachette Book Group USA", - "Hackett Publishing Company", - "Hamish Hamilton", - "Happy House", - "Harcourt Assessment", - "Harcourt Trade Publishers", - "Harlequin Enterprises Ltd", - "Harper & Brothers", - "Harper & Row", - "HarperCollins", - "HarperPrism", - "HarperTrophy", - "Harry N. Abrams, Inc.", - "Harvard University Press", - "Harvest House", - "Harvill Press at Random House", - "Hawthorne Books", - "Hay House", - "Haynes Manuals", - "Heyday Books", - "HMSO", - "Hodder & Stoughton", - "Hodder Headline", - "Hogarth Press", - "Holland Park Press", - "Holt McDougal", - "Horizon Scientific Press", - "Ian Allan Publishing", - "Ignatius Press", - "Imperial War Museum", - "Indiana University Press", - "J. M. Dent", - "Jaico Publishing House", - "Jarrolds Publishing", - "Karadi Tales", - "Kensington Books", - "Kessinger Publishing", - "Kodansha", - "Kogan Page", - "Koren Publishers Jerusalem", - "Ladybird Books", - "Leaf Books", - "Leafwood Publishers", - "Left Book Club", - "Legend Books", - "Lethe Press", - "Libertas Academica", - "Liberty Fund", - "Library of America", - "Lion Hudson", - "Macmillan Publishers", - "Mainstream Publishing", - "Manchester University Press", - "Mandrake of Oxford", - "Mandrake Press", - "Manning Publications", - "Manor House Publishing", - "Mapin Publishing", - "Marion Boyars Publishers", - "Mark Batty Publisher", - "Marshall Cavendish", - "Marshall Pickering", - "Martinus Nijhoff Publishers", - "Mascot Books", - "Matthias Media", - "McClelland and Stewart", - "McFarland & Company", - "McGraw-Hill Education", - "McGraw Hill Financial", - "Medknow Publications", - "Naiad Press", - "Nauka", - "NavPress", - "New Directions Publishing", - "New English Library", - "New Holland Publishers", - "New Village Press", - "Newnes", - "No Starch Press", - "Nonesuch Press", - "Oberon Books", - "Open Court Publishing Company", - "Open University Press", - "Orchard Books", - "O'Reilly Media", - "Orion Books", - "Packt Publishing", - "Palgrave Macmillan", - "Pan Books", - "Pantheon Books at Random House", - "Papadakis Publisher", - "Parachute Publishing", - "Parragon", - "Pathfinder Press", - "Paulist Press", - "Pavilion Books", - "Peace Hill Press", - "Pecan Grove Press", - "Pen and Sword Books", - "Penguin Books", - "Random House", - "Reed Elsevier", - "Reed Publishing", - "SAGE Publications", - "St. Martin's Press", - "Salt Publishing", - "Sams Publishing", - "Schocken Books", - "Scholastic Press", - "Charles Scribner's Sons", - "Seagull Books", - "Secker & Warburg", - "Shambhala Publications", - "Shire Books", - "Shoemaker & Hoard Publishers", - "Shuter & Shooter Publishers", - "Sidgwick & Jackson", - "Signet Books", - "Simon & Schuster", - "T & T Clark", - "Tachyon Publications", - "Tammi", - "Target Books", - "Tarpaulin Sky Press", - "Tartarus Press", - "Tate Publishing & Enterprises", - "Taunton Press", - "Taylor & Francis", - "Ten Speed Press", - "UCL Press", - "Unfinished Monument Press", - "United States Government Publishing Office", - "University of Akron Press", - "University of Alaska Press", - "University of California Press", - "University of Chicago Press", - "University of Michigan Press", - "University of Minnesota Press", - "University of Nebraska Press", - "Velazquez Press", - "Verso Books", - "Victor Gollancz Ltd", - "Viking Press", - "Vintage Books", - "Vintage Books at Random House", - "Virago Press", - "Virgin Publishing", - "Voyager Books", - "Brill", - "Allen Ltd", - "Zed Books", - "Ziff Davis Media", - "Zondervan", -}; - -const std::array bookSeries = { - "A Song of Ice and Fire", - "Anna Karenina", - "Colonel Race", - "Discworld", - "Dune", - "Harry Potter", - "Hercule Poirot", - "His Dark Materials", - "Jane Austen Murder Mysteries", - "Little Women", - "Outlander", - "Percy Jackson", - "Sherlock Holmes", - "The Arc of a Scythe", - "The Bartimaeus Trilogy", - "The Border Trilogy", - "The Chronicles of Narnia", - "The Dark Tower", - "The Dresden Files", - "The Eighth Life", - "The Foundation Series", - "The Hitchhiker's Guide to the Galaxy", - "The Hunger Games", - "The Infinity Cycle", - "The Inheritance Cycle", - "The Lord of the Rings", - "The Maze Runner", - "The Prison Healer", - "The Red Rising Saga", - "The Southern Reach", - "The Wheel of Time", - "Thursday Next Series", - "Twilight", - "War and Peace", -}; - -const std::array titles = { - "A Brief History of Time", - "A Clockwork Orange", - "A Doll's House", - "A Modest Proposal", - "A Room with a View", - "A Study in Scarlet", - "A Tale of Two Cities", - "Adventures of Huckleberry Finn", - "Alice's Adventures in Wonderland", - "Anna Karenina", - "Anne of Green Gables", - "Beloved", - "Beyond Good and Evil", - "Bible", - "Brave New World", - "Carmilla", - "Catch-22", - "Cranford", - "Crime and Punishment", - "Dao De Jing: A Minimalist Translation", - "David Copperfield", - "Don Quixote", - "Dora", - "Dracula", - "Emma", - "Faust", - "For Whom the Bell Tolls", - "Frankenstein", - "Freakonomics", - "Great Expectations", - "Grimms' Fairy Tales", - "Hamlet", - "Heart of Darkness", - "Hitting the line", - "In Search of Lost Time", - "Invisible Man", - "Jane Eyre", - "Josefine Mutzenbacher", - "Les Misérables", - "Life of Pi", - "Little Women", - "Lolita", - "Long Walk to Freedom", - "Madame Bovary", - "Meditations", - "Metamorphosis", - "Middlemarch", - "Moby Dick", - "Mrs. Dalloway", - "My Bondage and My Freedom", - "My Life", - "Nineteen Eighty Four", - "Notes from the Underground ", - "On the Duty of Civil Disobedience", - "On the Road", - "One Hundred Years of Solitude", - "Peter Pan", - "Pride and Prejudice", - "Robinson Crusoe", - "Romeo and Juliet", - "Ruth Fielding in Alaska", - "Second Treatise of Government", - "The Adventures of Sherlock Holmes", - "The Adventures of Tom Sawyer", - "The Art of War", - "The Blue Castle", - "The Brothers Karamazov", - "The Catcher in the Rye", - "The Count of Monte Cristo", - "The Diary of a Young Girl", - "The Divine Comedy", - "The Enchanted April", - "The Grapes of Wrath", - "The Great Gatsby", - "The Handmaid’s Tale", - "The Iliad", - "The King in Yellow", - "The Kite Runner", - "The Little Prince", - "The Magic Mountain", - "The Odyssey", - "The Old Man and the Sea", - "The Picture of Dorian Gray", - "The Prince", - "The Problems of Philosophy", - "The Prophet", - "The Republic", - "The Scarlet Letter", - "The Sound and the Fury", - "The Stranger", - "The Sun Also Rises", - "The Time Machine", - "The Trial", - "The War of the Worlds", - "The Wonderful Wizard of Oz", - "The Works of Edgar Allan Poe", - "The Yellow Wallpaper", - "To Kill a Mockingbird", - "Ulysses", - "War and Peace", - "Winnie-the-Pooh", - "Wuthering Heights", -}; - -} diff --git a/src/modules/book/BookData.h b/src/modules/book/BookData.h index fa44d314..de5947b2 100644 --- a/src/modules/book/BookData.h +++ b/src/modules/book/BookData.h @@ -5,10 +5,575 @@ namespace faker::book { -extern const std::array authors; -extern const std::array bookFormats; -extern const std::array bookGenres; -extern const std::array publishers; -extern const std::array bookSeries; -extern const std::array titles; +const auto authors = std::to_array({ + "A. A. Milne", + "Agatha Christie", + "Alexander Pope", + "Alexandre Dumas", + "Alice Walker", + "Andrew Lang", + "Anton Pavlovich Chekhov", + "Arthur Conan Doyle", + "Arthur Schopenhauer", + "Aylmer Maude", + "Beatrix Potter", + "Benjamin Jowett", + "Bernard Shaw", + "Bertrand Russell", + "Bhagavanlal Indrajit", + "Bram Stoker", + "Brian Evenson", + "C. E. Brock", + "Charles Dickens", + "Charles E. Derbyshire", + "Charlotte Brontë", + "Charlotte Perkins Gilman", + "Clifford R. Adams", + "Constance Garnett", + "Dan Brown", + "Daniel Defoe", + "Dante Alighieri", + "David Widger", + "David Wyllie", + "Dean Koontz", + "E. M. Forster", + "Edgar Allan Poe", + "Edgar Rice Burroughs", + "Elizabeth Cleghorn Gaskell", + "Elizabeth Von Arnim", + "F. Scott Fitzgerald", + "Frances Hodgson Burnett", + "Frank T. Merrill", + "Franz Kafka", + "Friedrich Wilhelm Nietzsche", + "Fyodor Dostoyevsky", + "G. K. Chesterton", + "George Eliot", + "George R. R. Martin", + "George Saunders", + "Grady Ward", + "Gustave Doré", + "Guy de Maupassant", + "H. G. Wells", + "H. P. Lovecraft", + "Haruki Murakami", + "Henrik Ibsen", + "Henry David Thoreau", + "Henry Fielding", + "Henry James", + "Henry Morley", + "Herman Melville", + "Homer", + "Honoré de Balzac", + "Ian McEwan", + "Isabel Florence Hapgood", + "J. K. Rowling", + "J. M. Barrie", + "Jack London", + "Jacob Grimm", + "Jacqueline Crooks", + "James Joyce", + "James Patterson", + "Jane Austen", + "Johann Wolfgang von Goethe", + "John Camden Hotten", + "John Green", + "John Grisham", + "John Ormsby", + "Jonathan Franzen", + "Jonathan Swift", + "Joseph Conrad", + "José Rizal", + "Jules Verne", + "Karl Marx", + "Kazuo Ishiguro", + "Khaled Hosseini", + "L. Frank Baum", + "L. M. Montgomery", + "Leo Tolstoy", + "Lewis Carroll", + "Louisa May Alcott", + "Louise Maude", + "Margaret Atwood", + "Mark Twain", + "Mary Wollstonecraft Shelley", + "Michael Chabon", + "Miguel de Cervantes Saavedra", + "Nathaniel Hawthorne", + "Neil Gaiman", + "Niccolò Machiavelli", + "Oscar Levy", + "Oscar Wilde", + "P. G. Wodehouse", + "Plato", + "R. L. Stine", + "Rachel Kushner", + "Richard Wagner", + "Robert E. Howard", + "Robert Louis Stevenson", + "Robert W. Chambers", + "Rudyard Kipling", + "Samuel Butler", + "Shivaram Parashuram Bhide", + "Sir Richard Francis Burton", + "Stephen King", + "Suzanne Collins", + "T. S. Eliot", + "T. Smollett", + "Theodore Alois Buckley", + "Thomas Hardy", + "Toni Morrison", + "Vance Packard", + "Vatsyayana", + "Victor Hugo", + "W. K. Marriott", + "Walter Scott", + "Wilhelm Grimm", + "William Shakespeare", + "Zadie Smith", +}); + +const auto bookFormats = std::to_array({ + "Paperback", + "Hardcover", + "Ebook", + "Audiobook", +}); + +const auto bookGenres = std::to_array({ + "Adventure", + "Biography", + "Business", + "Children Literature", + "Classic", + "Comedy", + "Comic", + "Detective", + "Drama", + "Fantasy", + "Graphic Novel", + "Historical Fiction", + "Horror", + "Memoir", + "Mystery", + "Mythology", + "Philosophy", + "Poetry", + "Psychology", + "Religion", + "Romance", + "Science Fiction", + "Thriller", + "Western", + "Young Adult", +}); + +const auto publishers = std::to_array({ + "Academic Press", + "Ace Books", + "Addison-Wesley", + "Adis International", + "Airiti Press", + "Andrews McMeel Publishing", + "Anova Books", + "Anvil Press Poetry", + "Applewood Books", + "Apress", + "Athabasca University Press", + "Atheneum Books", + "Atheneum Publishers", + "Atlantic Books", + "Atlas Press", + "Ballantine Books", + "Banner of Truth Trust", + "Bantam Books", + "Bantam Spectra", + "Barrie & Jenkins", + "Basic Books", + "BBC Books", + "Harvard University Press", + "Belknap Press", + "Bella Books", + "Bellevue Literary Press", + "Berg Publishers", + "Berkley Books", + "Bison Books", + "Black Dog Publishing", + "Black Library", + "Black Sparrow Books", + "Blackie and Son Limited", + "Blackstaff Press", + "Blackwell Publishing", + "John Blake Publishing", + "Bloodaxe Books", + "Bloomsbury Publishing Plc", + "Blue Ribbon Books", + "Book League of America", + "Book Works", + "Booktrope", + "Borgo Press", + "Bowes & Bowes", + "Boydell & Brewer", + "Breslov Research Institute", + "Brill Publishers", + "Brimstone Press", + "Broadview Press", + "Burns & Oates", + "Butterworth-Heinemann", + "Caister Academic Press", + "Cambridge University Press", + "Candlewick Press", + "Canongate Books", + "Carcanet Press", + "Carlton Books", + "Carlton Publishing Group", + "Carnegie Mellon University Press", + "Casemate Publishers", + "Cengage Learning", + "Central European University Press", + "Chambers Harrap", + "Charles Scribner's Sons", + "Chatto and Windus", + "Chick Publications", + "Chronicle Books", + "Churchill Livingstone", + "Cisco Press", + "City Lights Publishers", + "Cloverdale Corporation", + "D. Appleton & Company", + "D. Reidel", + "Da Capo Press", + "Daedalus Publishing", + "Dalkey Archive Press", + "Darakwon Press", + "David & Charles", + "DAW Books", + "Dedalus Books", + "Del Rey Books", + "E. P. Dutton", + "Earthscan", + "ECW Press", + "Eel Pie Publishing", + "Eerdmans Publishing", + "Edupedia Publications", + "Ellora's Cave", + "Elsevier", + "Emerald Group Publishing", + "Etruscan Press", + "Faber and Faber", + "FabJob", + "Fairview Press", + "Farrar, Straus & Giroux", + "Fearless Books", + "Felony & Mayhem Press", + "Firebrand Books", + "Flame Tree Publishing", + "Focal Press", + "G. P. Putnam's Sons", + "G-Unit Books", + "Gaspereau Press", + "Gay Men's Press", + "Gefen Publishing House", + "George H. Doran Company", + "George Newnes", + "George Routledge & Sons", + "Godwit Press", + "Golden Cockerel Press", + "Hachette Book Group USA", + "Hackett Publishing Company", + "Hamish Hamilton", + "Happy House", + "Harcourt Assessment", + "Harcourt Trade Publishers", + "Harlequin Enterprises Ltd", + "Harper & Brothers", + "Harper & Row", + "HarperCollins", + "HarperPrism", + "HarperTrophy", + "Harry N. Abrams, Inc.", + "Harvard University Press", + "Harvest House", + "Harvill Press at Random House", + "Hawthorne Books", + "Hay House", + "Haynes Manuals", + "Heyday Books", + "HMSO", + "Hodder & Stoughton", + "Hodder Headline", + "Hogarth Press", + "Holland Park Press", + "Holt McDougal", + "Horizon Scientific Press", + "Ian Allan Publishing", + "Ignatius Press", + "Imperial War Museum", + "Indiana University Press", + "J. M. Dent", + "Jaico Publishing House", + "Jarrolds Publishing", + "Karadi Tales", + "Kensington Books", + "Kessinger Publishing", + "Kodansha", + "Kogan Page", + "Koren Publishers Jerusalem", + "Ladybird Books", + "Leaf Books", + "Leafwood Publishers", + "Left Book Club", + "Legend Books", + "Lethe Press", + "Libertas Academica", + "Liberty Fund", + "Library of America", + "Lion Hudson", + "Macmillan Publishers", + "Mainstream Publishing", + "Manchester University Press", + "Mandrake of Oxford", + "Mandrake Press", + "Manning Publications", + "Manor House Publishing", + "Mapin Publishing", + "Marion Boyars Publishers", + "Mark Batty Publisher", + "Marshall Cavendish", + "Marshall Pickering", + "Martinus Nijhoff Publishers", + "Mascot Books", + "Matthias Media", + "McClelland and Stewart", + "McFarland & Company", + "McGraw-Hill Education", + "McGraw Hill Financial", + "Medknow Publications", + "Naiad Press", + "Nauka", + "NavPress", + "New Directions Publishing", + "New English Library", + "New Holland Publishers", + "New Village Press", + "Newnes", + "No Starch Press", + "Nonesuch Press", + "Oberon Books", + "Open Court Publishing Company", + "Open University Press", + "Orchard Books", + "O'Reilly Media", + "Orion Books", + "Packt Publishing", + "Palgrave Macmillan", + "Pan Books", + "Pantheon Books at Random House", + "Papadakis Publisher", + "Parachute Publishing", + "Parragon", + "Pathfinder Press", + "Paulist Press", + "Pavilion Books", + "Peace Hill Press", + "Pecan Grove Press", + "Pen and Sword Books", + "Penguin Books", + "Random House", + "Reed Elsevier", + "Reed Publishing", + "SAGE Publications", + "St. Martin's Press", + "Salt Publishing", + "Sams Publishing", + "Schocken Books", + "Scholastic Press", + "Charles Scribner's Sons", + "Seagull Books", + "Secker & Warburg", + "Shambhala Publications", + "Shire Books", + "Shoemaker & Hoard Publishers", + "Shuter & Shooter Publishers", + "Sidgwick & Jackson", + "Signet Books", + "Simon & Schuster", + "T & T Clark", + "Tachyon Publications", + "Tammi", + "Target Books", + "Tarpaulin Sky Press", + "Tartarus Press", + "Tate Publishing & Enterprises", + "Taunton Press", + "Taylor & Francis", + "Ten Speed Press", + "UCL Press", + "Unfinished Monument Press", + "United States Government Publishing Office", + "University of Akron Press", + "University of Alaska Press", + "University of California Press", + "University of Chicago Press", + "University of Michigan Press", + "University of Minnesota Press", + "University of Nebraska Press", + "Velazquez Press", + "Verso Books", + "Victor Gollancz Ltd", + "Viking Press", + "Vintage Books", + "Vintage Books at Random House", + "Virago Press", + "Virgin Publishing", + "Voyager Books", + "Brill", + "Allen Ltd", + "Zed Books", + "Ziff Davis Media", + "Zondervan", +}); + +const auto bookSeries = std::to_array({ + "A Song of Ice and Fire", + "Anna Karenina", + "Colonel Race", + "Discworld", + "Dune", + "Harry Potter", + "Hercule Poirot", + "His Dark Materials", + "Jane Austen Murder Mysteries", + "Little Women", + "Outlander", + "Percy Jackson", + "Sherlock Holmes", + "The Arc of a Scythe", + "The Bartimaeus Trilogy", + "The Border Trilogy", + "The Chronicles of Narnia", + "The Dark Tower", + "The Dresden Files", + "The Eighth Life", + "The Foundation Series", + "The Hitchhiker's Guide to the Galaxy", + "The Hunger Games", + "The Infinity Cycle", + "The Inheritance Cycle", + "The Lord of the Rings", + "The Maze Runner", + "The Prison Healer", + "The Red Rising Saga", + "The Southern Reach", + "The Wheel of Time", + "Thursday Next Series", + "Twilight", + "War and Peace", +}); + +const auto titles = std::to_array({ + "A Brief History of Time", + "A Clockwork Orange", + "A Doll's House", + "A Modest Proposal", + "A Room with a View", + "A Study in Scarlet", + "A Tale of Two Cities", + "Adventures of Huckleberry Finn", + "Alice's Adventures in Wonderland", + "Anna Karenina", + "Anne of Green Gables", + "Beloved", + "Beyond Good and Evil", + "Bible", + "Brave New World", + "Carmilla", + "Catch-22", + "Cranford", + "Crime and Punishment", + "Dao De Jing: A Minimalist Translation", + "David Copperfield", + "Don Quixote", + "Dora", + "Dracula", + "Emma", + "Faust", + "For Whom the Bell Tolls", + "Frankenstein", + "Freakonomics", + "Great Expectations", + "Grimms' Fairy Tales", + "Hamlet", + "Heart of Darkness", + "Hitting the line", + "In Search of Lost Time", + "Invisible Man", + "Jane Eyre", + "Josefine Mutzenbacher", + "Les Misérables", + "Life of Pi", + "Little Women", + "Lolita", + "Long Walk to Freedom", + "Madame Bovary", + "Meditations", + "Metamorphosis", + "Middlemarch", + "Moby Dick", + "Mrs. Dalloway", + "My Bondage and My Freedom", + "My Life", + "Nineteen Eighty Four", + "Notes from the Underground ", + "On the Duty of Civil Disobedience", + "On the Road", + "One Hundred Years of Solitude", + "Peter Pan", + "Pride and Prejudice", + "Robinson Crusoe", + "Romeo and Juliet", + "Ruth Fielding in Alaska", + "Second Treatise of Government", + "The Adventures of Sherlock Holmes", + "The Adventures of Tom Sawyer", + "The Art of War", + "The Blue Castle", + "The Brothers Karamazov", + "The Catcher in the Rye", + "The Count of Monte Cristo", + "The Diary of a Young Girl", + "The Divine Comedy", + "The Enchanted April", + "The Grapes of Wrath", + "The Great Gatsby", + "The Handmaid’s Tale", + "The Iliad", + "The King in Yellow", + "The Kite Runner", + "The Little Prince", + "The Magic Mountain", + "The Odyssey", + "The Old Man and the Sea", + "The Picture of Dorian Gray", + "The Prince", + "The Problems of Philosophy", + "The Prophet", + "The Republic", + "The Scarlet Letter", + "The Sound and the Fury", + "The Stranger", + "The Sun Also Rises", + "The Time Machine", + "The Trial", + "The War of the Worlds", + "The Wonderful Wizard of Oz", + "The Works of Edgar Allan Poe", + "The Yellow Wallpaper", + "To Kill a Mockingbird", + "Ulysses", + "War and Peace", + "Winnie-the-Pooh", + "Wuthering Heights", +}); + } diff --git a/src/modules/color/ColorData.cpp b/src/modules/color/ColorData.cpp deleted file mode 100644 index 361e69e6..00000000 --- a/src/modules/color/ColorData.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "ColorData.h" - -#include -#include - -namespace faker::color -{ -const std::array colors = { - "red", "green", "blue", "yellow", "purple", "mint green", "teal", "white", - "black", "orange", "pink", "grey", "maroon", "violet", "turquoise", "tan", - "sky blue", "salmon", "plum", "orchid", "olive", "magenta", "lime", "ivory", - "indigo", "gold", "fuchsia", "cyan", "azure", "lavender", "silver", -}; -} diff --git a/src/modules/color/ColorData.h b/src/modules/color/ColorData.h index a742f58a..8bf7658c 100644 --- a/src/modules/color/ColorData.h +++ b/src/modules/color/ColorData.h @@ -5,5 +5,11 @@ namespace faker::color { -extern const std::array colors; +const auto colors = std::to_array({ + "red", "green", "blue", "yellow", "purple", "mint green", "teal", "white", + "black", "orange", "pink", "grey", "maroon", "violet", "turquoise", "tan", + "sky blue", "salmon", "plum", "orchid", "olive", "magenta", "lime", "ivory", + "indigo", "gold", "fuchsia", "cyan", "azure", "lavender", "silver", +}); + } diff --git a/src/modules/commerce/CommerceData.cpp b/src/modules/commerce/CommerceData.cpp deleted file mode 100644 index 00bf9e49..00000000 --- a/src/modules/commerce/CommerceData.cpp +++ /dev/null @@ -1,127 +0,0 @@ -#include "CommerceData.h" - -#include -#include - -namespace faker::commerce -{ -const std::array departments = { - "Books", "Movies", "Music", "Games", "Electronics", "Computers", "Home", "Garden", - "Tools", "Grocery", "Health", "Beauty", "Toys", "Kids", "Baby", "Clothing", - "Shoes", "Jewelery", "Sports", "Outdoors", "Automotive", "Industrial", -}; - -const std::array productAdjectives = { - "Small", "Ergonomic", "Electronic", "Rustic", "Intelligent", "Gorgeous", "Incredible", "Elegant", - "Fantastic", "Practical", "Modern", "Recycled", "Sleek", "Bespoke", "Awesome", "Generic", - "Handcrafted", "Handmade", "Oriental", "Licensed", "Luxurious", "Refined", "Unbranded", "Tasty", -}; - -const std::array productMaterials = { - "Steel", "Bronze", "Wooden", "Concrete", "Plastic", "Cotton", - "Granite", "Rubber", "Metal", "Soft", "Fresh", "Frozen", -}; - -const std::array productNames = { - "Chair", "Car", "Computer", "Keyboard", "Mouse", "Bike", "Ball", "Gloves", - "Pants", "Shirt", "Table", "Shoes", "Hat", "Towels", "Soap", "Tuna", - "Chicken", "Fish", "Cheese", "Bacon", "Pizza", "Salad", "Sausages", "Chips", -}; - -const std::array paymentTypes = { - "Credit Card", "Debit Card", "Cash", "Bank Transfer", "Check", -}; - -const std::array paymentProviders = { - "Stripe", "Paypal", "Square", "Helcim", "Merchant One", "Flagship Merchant Services", "Stax", -}; - -const std::array productDescriptions = { - "Experience convenience and efficiency with innovative solution.", - "Elevate your lifestyle with premium quality product.", - "Unlock endless possibilities with versatile tool, offering flexibility and adaptability,", - "Enhance your performance with cutting-edge technology.", - "Discover the perfect balance of style and functionality with sleek design.", - "Embrace comfort and luxury with indulgent product.", - "Achieve peace of mind with reliable solution, providing stability and assurance in every use.", - "Ignite your creativity with versatile accessory.", - "Experience the difference with high-performance product, engineered for superior quality.", - "Simplify your life with user-friendly solution, designed with intuitive features .", - "Upgrade your everyday routine with essential product, adding convenience and efficiency to " - "your tasks.", - "Stay connected and productive with innovative technology, keeping you in control and on top " - "of your game.", - "Make a statement with stylish addition, adding a touch of elegance and sophistication to any " - "setting.", - "Experience reliability like never before with dependable product, ensuring consistent " - "performance day in and day out.", - "Unleash your potential with versatile tool, empowering you to tackle any challenge and " - "achieve your goals.", - "Experience comfort redefined with ergonomic design, prioritizing your well-being and comfort " - "in every use.", - "Optimize your efficiency with streamlined solution, eliminating unnecessary steps and " - "maximizing productivity.", - "Experience durability and longevity with rugged construction, built to withstand the test of " - "time and rigorous use.", -}; - -const std::array productCategoryNames = { - "Art and Craft", - "Baby Products", - "Beauty Products", - "Board Games and Puzzles", - "Books and Stationery", - "Clothing, Shoes, and Jewelry", - "Electronics", - "Fitness Equipment", - "Furniture and Furnishings", - "Health and Wellness", - "Home Decor", - "Kitchen Appliances", - "Musical Instruments", - "Office Supplies", - "Outdoor Gear", - "Pet Supplies", - "Photography Equipment", - "Sporting Goods", - "Tech Gadgets", - "Toys", -}; - -const std::array productReviews = { - "This product exceeded my expectations.", - "I'm thrilled with the quality of this purchase.", - "This product is worth every penny.", - "I'm impressed with how well it performs.", - "I've been using it for a while now, and it hasn't disappointed.", - "It's okay, but nothing special.", - "I'm on the fence about this product.", - "There are pros and cons to this purchase.", - "It's neither good nor bad, just average.", - "I have mixed feelings about this product.", - "It's decent, but there's room for improvement.", - "It meets my basic needs, but there are better options out there.", - "I would consider it if you're on a budget.", - "Not bad, but not great either.", - "It's acceptable, but I expected more for the price.", - "I was disappointed with the overall quality of this product.", - "Unfortunately, it broke shortly after I started using it.", - "I found it to be overpriced for what it offers.", - "It feels cheaply made and lacks durability.", - "It's difficult to operate and not user-friendly.", -}; - -const std::array discountTypes = { - "percentage", - "value", -}; - -const std::array shippingCarriers = { - "UPS", "FedEx", "USPS", "DHL", "Canada Post", "Royal Mail", "Australia Post", "Correos", "Deutsche Post", -}; - -const std::array orderStatuses = { - "In Transit", "Out for Delivery", "Delivered", "Failed Attempt", "Exception", "Pending", "Expired", -}; - -} diff --git a/src/modules/commerce/CommerceData.h b/src/modules/commerce/CommerceData.h index b343d4c4..77a5a425 100644 --- a/src/modules/commerce/CommerceData.h +++ b/src/modules/commerce/CommerceData.h @@ -5,16 +5,123 @@ namespace faker::commerce { -extern const std::array departments; -extern const std::array productAdjectives; -extern const std::array productMaterials; -extern const std::array productNames; -extern const std::array paymentTypes; -extern const std::array paymentProviders; -extern const std::array productDescriptions; -extern const std::array productCategoryNames; -extern const std::array productReviews; -extern const std::array discountTypes; -extern const std::array shippingCarriers; -extern const std::array orderStatuses; +const auto departments = std::to_array({ + "Books", "Movies", "Music", "Games", "Electronics", "Computers", "Home", "Garden", + "Tools", "Grocery", "Health", "Beauty", "Toys", "Kids", "Baby", "Clothing", + "Shoes", "Jewelery", "Sports", "Outdoors", "Automotive", "Industrial", +}); + +const auto productAdjectives = std::to_array({ + "Small", "Ergonomic", "Electronic", "Rustic", "Intelligent", "Gorgeous", "Incredible", "Elegant", + "Fantastic", "Practical", "Modern", "Recycled", "Sleek", "Bespoke", "Awesome", "Generic", + "Handcrafted", "Handmade", "Oriental", "Licensed", "Luxurious", "Refined", "Unbranded", "Tasty", +}); + +const auto productMaterials = std::to_array({ + "Steel", "Bronze", "Wooden", "Concrete", "Plastic", "Cotton", + "Granite", "Rubber", "Metal", "Soft", "Fresh", "Frozen", +}); + +const auto productNames = std::to_array({ + "Chair", "Car", "Computer", "Keyboard", "Mouse", "Bike", "Ball", "Gloves", + "Pants", "Shirt", "Table", "Shoes", "Hat", "Towels", "Soap", "Tuna", + "Chicken", "Fish", "Cheese", "Bacon", "Pizza", "Salad", "Sausages", "Chips", +}); + +const auto paymentTypes = std::to_array({ + "Credit Card", "Debit Card", "Cash", "Bank Transfer", "Check", +}); + +const auto paymentProviders = std::to_array({ + "Stripe", "Paypal", "Square", "Helcim", "Merchant One", "Flagship Merchant Services", "Stax", +}); + +const auto productDescriptions = std::to_array({ + "Experience convenience and efficiency with innovative solution.", + "Elevate your lifestyle with premium quality product.", + "Unlock endless possibilities with versatile tool, offering flexibility and adaptability,", + "Enhance your performance with cutting-edge technology.", + "Discover the perfect balance of style and functionality with sleek design.", + "Embrace comfort and luxury with indulgent product.", + "Achieve peace of mind with reliable solution, providing stability and assurance in every use.", + "Ignite your creativity with versatile accessory.", + "Experience the difference with high-performance product, engineered for superior quality.", + "Simplify your life with user-friendly solution, designed with intuitive features .", + "Upgrade your everyday routine with essential product, adding convenience and efficiency to " + "your tasks.", + "Stay connected and productive with innovative technology, keeping you in control and on top " + "of your game.", + "Make a statement with stylish addition, adding a touch of elegance and sophistication to any " + "setting.", + "Experience reliability like never before with dependable product, ensuring consistent " + "performance day in and day out.", + "Unleash your potential with versatile tool, empowering you to tackle any challenge and " + "achieve your goals.", + "Experience comfort redefined with ergonomic design, prioritizing your well-being and comfort " + "in every use.", + "Optimize your efficiency with streamlined solution, eliminating unnecessary steps and " + "maximizing productivity.", + "Experience durability and longevity with rugged construction, built to withstand the test of " + "time and rigorous use.", +}); + +const auto productCategoryNames = std::to_array({ + "Art and Craft", + "Baby Products", + "Beauty Products", + "Board Games and Puzzles", + "Books and Stationery", + "Clothing, Shoes, and Jewelry", + "Electronics", + "Fitness Equipment", + "Furniture and Furnishings", + "Health and Wellness", + "Home Decor", + "Kitchen Appliances", + "Musical Instruments", + "Office Supplies", + "Outdoor Gear", + "Pet Supplies", + "Photography Equipment", + "Sporting Goods", + "Tech Gadgets", + "Toys", +}); + +const auto productReviews = std::to_array({ + "This product exceeded my expectations.", + "I'm thrilled with the quality of this purchase.", + "This product is worth every penny.", + "I'm impressed with how well it performs.", + "I've been using it for a while now, and it hasn't disappointed.", + "It's okay, but nothing special.", + "I'm on the fence about this product.", + "There are pros and cons to this purchase.", + "It's neither good nor bad, just average.", + "I have mixed feelings about this product.", + "It's decent, but there's room for improvement.", + "It meets my basic needs, but there are better options out there.", + "I would consider it if you're on a budget.", + "Not bad, but not great either.", + "It's acceptable, but I expected more for the price.", + "I was disappointed with the overall quality of this product.", + "Unfortunately, it broke shortly after I started using it.", + "I found it to be overpriced for what it offers.", + "It feels cheaply made and lacks durability.", + "It's difficult to operate and not user-friendly.", +}); + +const auto discountTypes = std::to_array({ + "percentage", + "value", +}); + +const auto shippingCarriers = std::to_array({ + "UPS", "FedEx", "USPS", "DHL", "Canada Post", "Royal Mail", "Australia Post", "Correos", "Deutsche Post", +}); + +const auto orderStatuses = std::to_array({ + "In Transit", "Out for Delivery", "Delivered", "Failed Attempt", "Exception", "Pending", "Expired", +}); + } diff --git a/src/modules/company/CompanyData.cpp b/src/modules/company/CompanyData.cpp deleted file mode 100644 index 3d122b6c..00000000 --- a/src/modules/company/CompanyData.cpp +++ /dev/null @@ -1,606 +0,0 @@ -#include "CompanyData.h" - -#include -#include - -namespace faker::company -{ -const std::array buzzAdjectives = { - "clicks-and-mortar", - "value-added", - "vertical", - "proactive", - "robust", - "revolutionary", - "scalable", - "leading-edge", - "innovative", - "intuitive", - "strategic", - "e-business", - "mission-critical", - "sticky", - "one-to-one", - "24/7", - "end-to-end", - "global", - "B2B", - "B2C", - "granular", - "frictionless", - "virtual", - "viral", - "dynamic", - "24/365", - "best-of-breed", - "killer", - "magnetic", - "bleeding-edge", - "web-enabled", - "interactive", - "dot-com", - "sexy", - "back-end", - "real-time", - "efficient", - "front-end", - "distributed", - "seamless", - "extensible", - "turn-key", - "world-class", - "open-source", - "cross-platform", - "cross-media", - "synergistic", - "bricks-and-clicks", - "out-of-the-box", - "enterprise", - "integrated", - "impactful", - "wireless", - "transparent", - "next-generation", - "cutting-edge", - "user-centric", - "visionary", - "customized", - "ubiquitous", - "plug-and-play", - "collaborative", - "compelling", - "holistic", - "rich", -}; - -const std::array buzzNouns = { - "synergies", - "paradigms", - "markets", - "partnerships", - "infrastructures", - "platforms", - "initiatives", - "channels", - "eyeballs", - "communities", - "ROI", - "solutions", - "action-items", - "portals", - "niches", - "technologies", - "content", - "supply-chains", - "convergence", - "relationships", - "architectures", - "interfaces", - "e-markets", - "e-commerce", - "systems", - "bandwidth", - "models", - "mindshare", - "deliverables", - "users", - "schemas", - "networks", - "applications", - "metrics", - "e-business", - "functionalities", - "experiences", - "web services", - "methodologies", - "blockchains" - "lifetime value", -}; - -const std::array buzzVerbs = { - "implement", "utilize", "integrate", "streamline", "optimize", "evolve", "transform", - "embrace", "enable", "orchestrate", "leverage", "reinvent", "aggregate", "architect", - "enhance", "incentivize", "morph", "empower", "envisioneer", "monetize", "harness", - "facilitate", "seize", "disintermediate", "synergize", "strategize", "deploy", "brand", - "grow", "target", "syndicate", "synthesize", "deliver", "mesh", "incubate", - "engage", "maximize", "benchmark", "expedite", "reintermediate", "whiteboard", "visualize", - "repurpose", "innovate", "scale", "unleash", "drive", "extend", "engineer", - "revolutionize", "generate", "exploit", "transition", "e-enable", "iterate", "cultivate", - "matrix", "productize", "redefine", -}; - -const std::array catchPhraseAdjectives = { - "Adaptive", - "Advanced", - "Ameliorated", - "Assimilated", - "Automated", - "Balanced", - "Business-focused", - "Centralized", - "Cloned", - "Compatible", - "Configurable", - "Cross-group", - "Cross-platform", - "Customer-focused", - "Customizable", - "Decentralized", - "De-engineered", - "Devolved", - "Digitized", - "Distributed", - "Diverse", - "Down-sized", - "Enhanced", - "Enterprise-wide", - "Ergonomic", - "Exclusive", - "Expanded", - "Extended", - "Face to face", - "Focused", - "Front-line", - "Fully-configurable", - "Function-based", - "Fundamental", - "Future-proofed", - "Grass-roots", - "Horizontal", - "Implemented", - "Innovative", - "Integrated", - "Intuitive", - "Inverse", - "Managed", - "Mandatory", - "Monitored", - "Multi-channelled", - "Multi-lateral", - "Multi-layered", - "Multi-tiered", - "Networked", - "Object-based", - "Open-architected", - "Open-source", - "Operative", - "Optimized", - "Optional", - "Organic", - "Organized", - "Persevering", - "Persistent", - "Phased", - "Polarised", - "Pre-emptive", - "Proactive", - "Profit-focused", - "Profound", - "Programmable", - "Progressive", - "Public-key", - "Quality-focused", - "Reactive", - "Realigned", - "Re-contextualized", - "Re-engineered", - "Reduced", - "Reverse-engineered", - "Right-sized", - "Robust", - "Seamless", - "Secured", - "Self-enabling", - "Sharable", - "Stand-alone", - "Streamlined", - "Switchable", - "Synchronised", - "Synergistic", - "Synergized", - "Team-oriented", - "Total", - "Triple-buffered", - "Universal", - "Up-sized", - "Upgradable", - "User-centric", - "User-friendly", - "Versatile", - "Virtual", - "Visionary", - "Vision-oriented", -}; - -const std::array catchPhraseDescriptors = { - "24 hour", - "24/7", - "3rd generation", - "4th generation", - "5th generation", - "6th generation", - "actuating", - "analyzing", - "asymmetric", - "asynchronous", - "attitude-oriented", - "background", - "bandwidth-monitored", - "bi-directional", - "bifurcated", - "bottom-line", - "clear-thinking", - "client-driven", - "client-server", - "coherent", - "cohesive", - "composite", - "context-sensitive", - "contextually-based", - "content-based", - "dedicated", - "demand-driven", - "didactic", - "directional", - "discrete", - "disintermediate", - "dynamic", - "eco-centric", - "empowering", - "encompassing", - "even-keeled", - "executive", - "explicit", - "exuding", - "fault-tolerant", - "foreground", - "fresh-thinking", - "full-range", - "global", - "grid-enabled", - "heuristic", - "high-level", - "holistic", - "homogeneous", - "human-resource", - "hybrid", - "impactful", - "incremental", - "intangible", - "interactive", - "intermediate", - "leading edge", - "local", - "logistical", - "maximized", - "methodical", - "mission-critical", - "mobile", - "modular", - "motivating", - "multimedia", - "multi-state", - "multi-tasking", - "national", - "needs-based", - "neutral", - "next generation", - "non-volatile", - "object-oriented", - "optimal", - "optimizing", - "radical", - "real-time", - "reciprocal", - "regional", - "responsive", - "scalable", - "secondary", - "solution-oriented", - "stable", - "static", - "systematic", - "systemic", - "system-worthy", - "tangible", - "tertiary", - "transitional", - "uniform", - "upward-trending", - "user-facing", - "value-added", - "web-enabled", - "well-modulated", - "zero administration", - "zero defect", - "zero tolerance", -}; - -const std::array catchPhraseNouns = { - "ability", - "access", - "adapter", - "algorithm", - "alliance", - "analyzer", - "application", - "approach", - "architecture", - "archive", - "artificial intelligence", - "array", - "attitude", - "benchmark", - "budgetary management", - "capability", - "capacity", - "challenge", - "circuit", - "collaboration", - "complexity", - "concept", - "conglomeration", - "contingency", - "core", - "customer loyalty", - "database", - "data-warehouse", - "definition", - "emulation", - "encoding", - "encryption", - "extranet", - "firmware", - "flexibility", - "focus group", - "forecast", - "frame", - "framework", - "function", - "functionalities", - "Graphic Interface", - "groupware", - "Graphical User Interface", - "hardware", - "help-desk", - "hierarchy", - "hub", - "implementation", - "info-mediaries", - "infrastructure", - "initiative", - "installation", - "instruction set", - "interface", - "internet solution", - "intranet", - "knowledge user", - "knowledge base", - "local area network", - "leverage", - "matrices", - "matrix", - "methodology", - "middleware", - "migration", - "model", - "moderator", - "monitoring", - "moratorium", - "neural-net", - "open architecture", - "open system", - "orchestration", - "paradigm", - "parallelism", - "policy", - "portal", - "pricing structure", - "process improvement", - "product", - "productivity", - "project", - "projection", - "protocol", - "secured line", - "service-desk", - "software", - "solution", - "standardization", - "strategy", - "structure", - "success", - "superstructure", - "support", - "synergy", - "system engine", - "task-force", - "throughput", - "time-frame", - "toolset", - "utilisation", - "website", - "workforce", -}; - -const std::array companyTypes = { - "Public Company", "Educational Institution", "Self-Employed", "Government Agency", - "Nonprofit", "Sole Proprietorship", "Privately Held", "Partnership", -}; - -const std::array companyIndustries = { - "Defense & Space", - "Computer Hardware", - "Computer Software", - "Computer Networking", - "Internet", - "Semiconductors", - "Telecommunications", - "Law Practice", - "Legal Services", - "Management Consulting", - "Biotechnology", - "Medical Practice", - "Hospital & Health Care", - "Pharmaceuticals", - "Veterinary", - "Medical Devices", - "Cosmetics", - "Apparel & Fashion", - "Sporting Goods", - "Tobacco", - "Supermarkets", - "Food Production", - "Consumer Electronics", - "Consumer Goods", - "Furniture", - "Retail", - "Entertainment", - "Gambling & Casinos", - "Leisure, Travel & Tourism", - "Hospitality", - "Restaurants", - "Sports", - "Food & Beverages", - "Motion Pictures and Film", - "Broadcast Media", - "Museums and Institutions", - "Fine Art", - "Performing Arts", - "Recreational Facilities and Services", - "Banking", - "Insurance", - "Financial Services", - "Real Estate", - "Investment Banking", - "Investment Management", - "Accounting", - "Construction", - "Building Materials", - "Architecture & Planning", - "Civil Engineering", - "Aviation & Aerospace", - "Automotive", - "Chemicals", - "Machinery", - "Mining & Metals", - "Oil & Energy", - "Shipbuilding", - "Utilities", - "Textiles", - "Paper & Forest Products", - "Railroad Manufacture", - "Farming", - "Ranching", - "Dairy", - "Fishery", - "Primary / Secondary Education", - "Higher Education", - "Education Management", - "Research", - "Military", - "Legislative Office", - "Judiciary", - "International Affairs", - "Government Administration", - "Executive Office", - "Law Enforcement", - "Public Safety", - "Public Policy", - "Marketing and Advertising", - "Newspapers", - "Publishing", - "Printing", - "Information Services", - "Libraries", - "Environmental Services", - "Package / Freight Delivery", - "Individual & Family Services", - "Religious Institutions", - "Civic & Social Organization", - "Consumer Services", - "Transportationg / Trucking / Railroad", - "Warehousing", - "Airlines / Aviation", - "Maritime", - "Information Technology and Services", - "Market Research", - "Public Relations and Communications", - "Design", - "Nonprofit Organization Management", - "Fund-Raising", - "Program Development", - "Writing and Editing", - "Staffing and Recruiting", - "Professional Training & Coaching", - "Venture Capital & Private Equity", - "Political Organization", - "Translation and Localization", - "Computer Games", - "Events Services", - "Arts and Crafts", - "Electrical / Electronic Manufacturing", - "Online Media", - "Nanotechnology", - "Music", - "Logistics and Supply Chain", - "Plastics", - "Computer & Network Security", - "Wireless", - "Alternative Dispute Resolution", - "Security and Investigations", - "Facilities Services", - "Outsourcing / Offshoring", - "Health, Wellness and Fitness", - "Alternative Medicine", - "Media Production", - "Animation", - "Commercial Real Estate", - "Capital Markets", - "Think Tanks", - "Philanthropy", - "E-Learning", - "Wholesale", - "Import and Export", - "Mechanical or Industrial Engineering", - "Photography", - "Human Resources", - "Business Supplies and Equipment", - "Mental Health Care", - "Graphic Design", - "International Trade and Development", - "Wine and Spirits", - "Luxury Goods & Jewelry", - "Renewables & Environment", - "Glass, Ceramics & Concrete", - "Packaging and Containers", - "Industrial Automation", - "Government Relations", -}; - -const std::array companySuffixes = { - "Inc", - "LLC", - "Group", -}; -} diff --git a/src/modules/company/CompanyData.h b/src/modules/company/CompanyData.h index ad413dc2..8d1490f4 100644 --- a/src/modules/company/CompanyData.h +++ b/src/modules/company/CompanyData.h @@ -5,13 +5,603 @@ namespace faker::company { -extern const std::array buzzAdjectives; -extern const std::array buzzNouns; -extern const std::array buzzVerbs; -extern const std::array catchPhraseAdjectives; -extern const std::array catchPhraseDescriptors; -extern const std::array catchPhraseNouns; -extern const std::array companyTypes; -extern const std::array companyIndustries; -extern const std::array companySuffixes; +const auto buzzAdjectives = std::to_array({ + "clicks-and-mortar", + "value-added", + "vertical", + "proactive", + "robust", + "revolutionary", + "scalable", + "leading-edge", + "innovative", + "intuitive", + "strategic", + "e-business", + "mission-critical", + "sticky", + "one-to-one", + "24/7", + "end-to-end", + "global", + "B2B", + "B2C", + "granular", + "frictionless", + "virtual", + "viral", + "dynamic", + "24/365", + "best-of-breed", + "killer", + "magnetic", + "bleeding-edge", + "web-enabled", + "interactive", + "dot-com", + "sexy", + "back-end", + "real-time", + "efficient", + "front-end", + "distributed", + "seamless", + "extensible", + "turn-key", + "world-class", + "open-source", + "cross-platform", + "cross-media", + "synergistic", + "bricks-and-clicks", + "out-of-the-box", + "enterprise", + "integrated", + "impactful", + "wireless", + "transparent", + "next-generation", + "cutting-edge", + "user-centric", + "visionary", + "customized", + "ubiquitous", + "plug-and-play", + "collaborative", + "compelling", + "holistic", + "rich", +}); + +const auto buzzNouns = std::to_array({ + "synergies", + "paradigms", + "markets", + "partnerships", + "infrastructures", + "platforms", + "initiatives", + "channels", + "eyeballs", + "communities", + "ROI", + "solutions", + "action-items", + "portals", + "niches", + "technologies", + "content", + "supply-chains", + "convergence", + "relationships", + "architectures", + "interfaces", + "e-markets", + "e-commerce", + "systems", + "bandwidth", + "models", + "mindshare", + "deliverables", + "users", + "schemas", + "networks", + "applications", + "metrics", + "e-business", + "functionalities", + "experiences", + "web services", + "methodologies", + "blockchains" + "lifetime value", +}); + +const auto buzzVerbs = std::to_array({ + "implement", "utilize", "integrate", "streamline", "optimize", "evolve", "transform", + "embrace", "enable", "orchestrate", "leverage", "reinvent", "aggregate", "architect", + "enhance", "incentivize", "morph", "empower", "envisioneer", "monetize", "harness", + "facilitate", "seize", "disintermediate", "synergize", "strategize", "deploy", "brand", + "grow", "target", "syndicate", "synthesize", "deliver", "mesh", "incubate", + "engage", "maximize", "benchmark", "expedite", "reintermediate", "whiteboard", "visualize", + "repurpose", "innovate", "scale", "unleash", "drive", "extend", "engineer", + "revolutionize", "generate", "exploit", "transition", "e-enable", "iterate", "cultivate", + "matrix", "productize", "redefine", +}); + +const auto catchPhraseAdjectives = std::to_array({ + "Adaptive", + "Advanced", + "Ameliorated", + "Assimilated", + "Automated", + "Balanced", + "Business-focused", + "Centralized", + "Cloned", + "Compatible", + "Configurable", + "Cross-group", + "Cross-platform", + "Customer-focused", + "Customizable", + "Decentralized", + "De-engineered", + "Devolved", + "Digitized", + "Distributed", + "Diverse", + "Down-sized", + "Enhanced", + "Enterprise-wide", + "Ergonomic", + "Exclusive", + "Expanded", + "Extended", + "Face to face", + "Focused", + "Front-line", + "Fully-configurable", + "Function-based", + "Fundamental", + "Future-proofed", + "Grass-roots", + "Horizontal", + "Implemented", + "Innovative", + "Integrated", + "Intuitive", + "Inverse", + "Managed", + "Mandatory", + "Monitored", + "Multi-channelled", + "Multi-lateral", + "Multi-layered", + "Multi-tiered", + "Networked", + "Object-based", + "Open-architected", + "Open-source", + "Operative", + "Optimized", + "Optional", + "Organic", + "Organized", + "Persevering", + "Persistent", + "Phased", + "Polarised", + "Pre-emptive", + "Proactive", + "Profit-focused", + "Profound", + "Programmable", + "Progressive", + "Public-key", + "Quality-focused", + "Reactive", + "Realigned", + "Re-contextualized", + "Re-engineered", + "Reduced", + "Reverse-engineered", + "Right-sized", + "Robust", + "Seamless", + "Secured", + "Self-enabling", + "Sharable", + "Stand-alone", + "Streamlined", + "Switchable", + "Synchronised", + "Synergistic", + "Synergized", + "Team-oriented", + "Total", + "Triple-buffered", + "Universal", + "Up-sized", + "Upgradable", + "User-centric", + "User-friendly", + "Versatile", + "Virtual", + "Visionary", + "Vision-oriented", +}); + +const auto catchPhraseDescriptors = std::to_array({ + "24 hour", + "24/7", + "3rd generation", + "4th generation", + "5th generation", + "6th generation", + "actuating", + "analyzing", + "asymmetric", + "asynchronous", + "attitude-oriented", + "background", + "bandwidth-monitored", + "bi-directional", + "bifurcated", + "bottom-line", + "clear-thinking", + "client-driven", + "client-server", + "coherent", + "cohesive", + "composite", + "context-sensitive", + "contextually-based", + "content-based", + "dedicated", + "demand-driven", + "didactic", + "directional", + "discrete", + "disintermediate", + "dynamic", + "eco-centric", + "empowering", + "encompassing", + "even-keeled", + "executive", + "explicit", + "exuding", + "fault-tolerant", + "foreground", + "fresh-thinking", + "full-range", + "global", + "grid-enabled", + "heuristic", + "high-level", + "holistic", + "homogeneous", + "human-resource", + "hybrid", + "impactful", + "incremental", + "intangible", + "interactive", + "intermediate", + "leading edge", + "local", + "logistical", + "maximized", + "methodical", + "mission-critical", + "mobile", + "modular", + "motivating", + "multimedia", + "multi-state", + "multi-tasking", + "national", + "needs-based", + "neutral", + "next generation", + "non-volatile", + "object-oriented", + "optimal", + "optimizing", + "radical", + "real-time", + "reciprocal", + "regional", + "responsive", + "scalable", + "secondary", + "solution-oriented", + "stable", + "static", + "systematic", + "systemic", + "system-worthy", + "tangible", + "tertiary", + "transitional", + "uniform", + "upward-trending", + "user-facing", + "value-added", + "web-enabled", + "well-modulated", + "zero administration", + "zero defect", + "zero tolerance", +}); + +const auto catchPhraseNouns = std::to_array({ + "ability", + "access", + "adapter", + "algorithm", + "alliance", + "analyzer", + "application", + "approach", + "architecture", + "archive", + "artificial intelligence", + "array", + "attitude", + "benchmark", + "budgetary management", + "capability", + "capacity", + "challenge", + "circuit", + "collaboration", + "complexity", + "concept", + "conglomeration", + "contingency", + "core", + "customer loyalty", + "database", + "data-warehouse", + "definition", + "emulation", + "encoding", + "encryption", + "extranet", + "firmware", + "flexibility", + "focus group", + "forecast", + "frame", + "framework", + "function", + "functionalities", + "Graphic Interface", + "groupware", + "Graphical User Interface", + "hardware", + "help-desk", + "hierarchy", + "hub", + "implementation", + "info-mediaries", + "infrastructure", + "initiative", + "installation", + "instruction set", + "interface", + "internet solution", + "intranet", + "knowledge user", + "knowledge base", + "local area network", + "leverage", + "matrices", + "matrix", + "methodology", + "middleware", + "migration", + "model", + "moderator", + "monitoring", + "moratorium", + "neural-net", + "open architecture", + "open system", + "orchestration", + "paradigm", + "parallelism", + "policy", + "portal", + "pricing structure", + "process improvement", + "product", + "productivity", + "project", + "projection", + "protocol", + "secured line", + "service-desk", + "software", + "solution", + "standardization", + "strategy", + "structure", + "success", + "superstructure", + "support", + "synergy", + "system engine", + "task-force", + "throughput", + "time-frame", + "toolset", + "utilisation", + "website", + "workforce", +}); + +const auto companyTypes = std::to_array({ + "Public Company", "Educational Institution", "Self-Employed", "Government Agency", + "Nonprofit", "Sole Proprietorship", "Privately Held", "Partnership", +}); + +const auto companyIndustries = std::to_array({ + "Defense & Space", + "Computer Hardware", + "Computer Software", + "Computer Networking", + "Internet", + "Semiconductors", + "Telecommunications", + "Law Practice", + "Legal Services", + "Management Consulting", + "Biotechnology", + "Medical Practice", + "Hospital & Health Care", + "Pharmaceuticals", + "Veterinary", + "Medical Devices", + "Cosmetics", + "Apparel & Fashion", + "Sporting Goods", + "Tobacco", + "Supermarkets", + "Food Production", + "Consumer Electronics", + "Consumer Goods", + "Furniture", + "Retail", + "Entertainment", + "Gambling & Casinos", + "Leisure, Travel & Tourism", + "Hospitality", + "Restaurants", + "Sports", + "Food & Beverages", + "Motion Pictures and Film", + "Broadcast Media", + "Museums and Institutions", + "Fine Art", + "Performing Arts", + "Recreational Facilities and Services", + "Banking", + "Insurance", + "Financial Services", + "Real Estate", + "Investment Banking", + "Investment Management", + "Accounting", + "Construction", + "Building Materials", + "Architecture & Planning", + "Civil Engineering", + "Aviation & Aerospace", + "Automotive", + "Chemicals", + "Machinery", + "Mining & Metals", + "Oil & Energy", + "Shipbuilding", + "Utilities", + "Textiles", + "Paper & Forest Products", + "Railroad Manufacture", + "Farming", + "Ranching", + "Dairy", + "Fishery", + "Primary / Secondary Education", + "Higher Education", + "Education Management", + "Research", + "Military", + "Legislative Office", + "Judiciary", + "International Affairs", + "Government Administration", + "Executive Office", + "Law Enforcement", + "Public Safety", + "Public Policy", + "Marketing and Advertising", + "Newspapers", + "Publishing", + "Printing", + "Information Services", + "Libraries", + "Environmental Services", + "Package / Freight Delivery", + "Individual & Family Services", + "Religious Institutions", + "Civic & Social Organization", + "Consumer Services", + "Transportationg / Trucking / Railroad", + "Warehousing", + "Airlines / Aviation", + "Maritime", + "Information Technology and Services", + "Market Research", + "Public Relations and Communications", + "Design", + "Nonprofit Organization Management", + "Fund-Raising", + "Program Development", + "Writing and Editing", + "Staffing and Recruiting", + "Professional Training & Coaching", + "Venture Capital & Private Equity", + "Political Organization", + "Translation and Localization", + "Computer Games", + "Events Services", + "Arts and Crafts", + "Electrical / Electronic Manufacturing", + "Online Media", + "Nanotechnology", + "Music", + "Logistics and Supply Chain", + "Plastics", + "Computer & Network Security", + "Wireless", + "Alternative Dispute Resolution", + "Security and Investigations", + "Facilities Services", + "Outsourcing / Offshoring", + "Health, Wellness and Fitness", + "Alternative Medicine", + "Media Production", + "Animation", + "Commercial Real Estate", + "Capital Markets", + "Think Tanks", + "Philanthropy", + "E-Learning", + "Wholesale", + "Import and Export", + "Mechanical or Industrial Engineering", + "Photography", + "Human Resources", + "Business Supplies and Equipment", + "Mental Health Care", + "Graphic Design", + "International Trade and Development", + "Wine and Spirits", + "Luxury Goods & Jewelry", + "Renewables & Environment", + "Glass, Ceramics & Concrete", + "Packaging and Containers", + "Industrial Automation", + "Government Relations", +}); + +const auto companySuffixes = std::to_array({ + "Inc", + "LLC", + "Group", +}); + } diff --git a/src/modules/computer/ComputerData.cpp b/src/modules/computer/ComputerData.cpp deleted file mode 100644 index 2cd4121a..00000000 --- a/src/modules/computer/ComputerData.cpp +++ /dev/null @@ -1,82 +0,0 @@ -#include "ComputerData.h" - -#include -#include - -namespace faker::computer -{ -const std::array computerTypes = { - "Desktop", - "Laptop", - "Mainframe", - "Supercomputer", -}; - -const std::array computerManufacturers = { - "Apple", "Dell", "HP", "Lenovo", "Acer", "Asus", "Microsoft", "Samsung", "Toshiba", "Sony", - "MSI", "Gateway", "Fujitsu", "HCL", "Panasonic", "LG", "IBM", "Compaq", "Alienware", "Razer", -}; - -const std::array computerModels = { - "MacBook Air", "MacBook Pro", "iMac", "Mac mini", "Inspiron", "XPS", "Alienware", - "Latitude", "Precision", "Spectre", "Envy", "Pavilion", "EliteBook", "ThinkPad", - "Yoga", "Legion", "IdeaPad", "Aspire", "Predator", "TravelMate", "Swift", - "ZenBook", "ROG", "VivoBook", "TUF", "Surface Laptop", "Surface Pro", "Surface Book", - "Galaxy Book", "Notebook", "Odyssey", "Satellite", "VAIO", "GS Series", "GE Series", - "GL Series", "ThinkCentre", "ThinkStation", "Presario", "Area-51", "m15", "Aurora", - "Blade", "Blade Stealth", "NUC", -}; - -const std::array cpuManufacturers = { - "Intel", "AMD", "ARM", "IBM", "Apple", -}; - -const std::array cpuTypes = { - "Dual-Core", "Quad-Core", "Hexa-Core", "Octa-Core", "Deca-Core", "Heterogeneous System Architecture", - "ARM", "x86", "64-bit", "32-bit", "RISC", "CISC", -}; - -const std::array cpuModels = { - "Core i9-11900K", "Core i7-11700K", "Core i5-11600K", "Core i3-10100", "Xeon E-2278G", "Pentium Gold G6400", - "Ryzen 9 5950X", "Ryzen 7 5800X", "Ryzen 5 5600X", "Ryzen 3 3300X", "EPYC 7763", "Athlon 3000G", - "Apple M1", "Apple M1 Max", "Apple M1 Ultra", "Apple M2", "Apple M2 Pro", "Apple M2 Max", - "Apple M3 Ultra", "Apple M3 Pro", "Apple M3 Max", "Apple M3 Ultra", "IBM POWER9", "ARM Cortex-A78", - "ARM Cortex-A76", "ARM Cortex-A55", -}; - -const std::array gpuManufacturers = { - "NVIDIA", "AMD", "Intel", "ARM", "Qualcomm", -}; - -const std::array gpuTypes = { - "Integrated", - "Discrete", -}; - -const std::array gpuModels = { - "NVIDIA GeForce RTX 3090", - "NVIDIA GeForce RTX 3080", - "NVIDIA GeForce RTX 3070", - "NVIDIA GeForce GTX 1660 Ti", - "NVIDIA GeForce GTX 1660 Super", - "NVIDIA GeForce GTX 1660", - "NVIDIA GeForce GTX 1650 Super", - "NVIDIA GeForce GTX 1650", - "AMD Radeon RX 6900 XT", - "AMD Radeon RX 6800 XT", - "AMD Radeon RX 6700 XT", - "Intel Xe Graphics", - "ARM Mali-G78 MP14", - "Qualcomm Adreno 660", - "Imagination PowerVR GT7600", - "VIA S3 Graphics Chrome 520", - "Matrox Millennium G200", - "SiS 315", - "3dfx Voodoo3", - "S3 Graphics Savage4", - "XGI Volari V8", - "Trident Blade3D", - "ATI Radeon 9800 Pro", -}; - -} diff --git a/src/modules/computer/ComputerData.h b/src/modules/computer/ComputerData.h index 4e5bd260..a6a5e4a6 100644 --- a/src/modules/computer/ComputerData.h +++ b/src/modules/computer/ComputerData.h @@ -5,13 +5,78 @@ namespace faker::computer { -extern const std::array computerTypes; -extern const std::array computerManufacturers; -extern const std::array computerModels; -extern const std::array cpuManufacturers; -extern const std::array cpuTypes; -extern const std::array cpuModels; -extern const std::array gpuManufacturers; -extern const std::array gpuTypes; -extern const std::array gpuModels; +const auto computerTypes = std::to_array({ + "Desktop", + "Laptop", + "Mainframe", + "Supercomputer", +}); + +const auto computerManufacturers = std::to_array({ + "Apple", "Dell", "HP", "Lenovo", "Acer", "Asus", "Microsoft", "Samsung", "Toshiba", "Sony", + "MSI", "Gateway", "Fujitsu", "HCL", "Panasonic", "LG", "IBM", "Compaq", "Alienware", "Razer", +}); + +const auto computerModels = std::to_array({ + "MacBook Air", "MacBook Pro", "iMac", "Mac mini", "Inspiron", "XPS", "Alienware", + "Latitude", "Precision", "Spectre", "Envy", "Pavilion", "EliteBook", "ThinkPad", + "Yoga", "Legion", "IdeaPad", "Aspire", "Predator", "TravelMate", "Swift", + "ZenBook", "ROG", "VivoBook", "TUF", "Surface Laptop", "Surface Pro", "Surface Book", + "Galaxy Book", "Notebook", "Odyssey", "Satellite", "VAIO", "GS Series", "GE Series", + "GL Series", "ThinkCentre", "ThinkStation", "Presario", "Area-51", "m15", "Aurora", + "Blade", "Blade Stealth", "NUC", +}); + +const auto cpuManufacturers = std::to_array({ + "Intel", "AMD", "ARM", "IBM", "Apple", +}); + +const auto cpuTypes = std::to_array({ + "Dual-Core", "Quad-Core", "Hexa-Core", "Octa-Core", "Deca-Core", "Heterogeneous System Architecture", + "ARM", "x86", "64-bit", "32-bit", "RISC", "CISC", +}); + +const auto cpuModels = std::to_array({ + "Core i9-11900K", "Core i7-11700K", "Core i5-11600K", "Core i3-10100", "Xeon E-2278G", "Pentium Gold G6400", + "Ryzen 9 5950X", "Ryzen 7 5800X", "Ryzen 5 5600X", "Ryzen 3 3300X", "EPYC 7763", "Athlon 3000G", + "Apple M1", "Apple M1 Max", "Apple M1 Ultra", "Apple M2", "Apple M2 Pro", "Apple M2 Max", + "Apple M3 Ultra", "Apple M3 Pro", "Apple M3 Max", "Apple M3 Ultra", "IBM POWER9", "ARM Cortex-A78", + "ARM Cortex-A76", "ARM Cortex-A55", +}); + +const auto gpuManufacturers = std::to_array({ + "NVIDIA", "AMD", "Intel", "ARM", "Qualcomm", +}); + +const auto gpuTypes = std::to_array({ + "Integrated", + "Discrete", +}); + +const auto gpuModels = std::to_array({ + "NVIDIA GeForce RTX 3090", + "NVIDIA GeForce RTX 3080", + "NVIDIA GeForce RTX 3070", + "NVIDIA GeForce GTX 1660 Ti", + "NVIDIA GeForce GTX 1660 Super", + "NVIDIA GeForce GTX 1660", + "NVIDIA GeForce GTX 1650 Super", + "NVIDIA GeForce GTX 1650", + "AMD Radeon RX 6900 XT", + "AMD Radeon RX 6800 XT", + "AMD Radeon RX 6700 XT", + "Intel Xe Graphics", + "ARM Mali-G78 MP14", + "Qualcomm Adreno 660", + "Imagination PowerVR GT7600", + "VIA S3 Graphics Chrome 520", + "Matrox Millennium G200", + "SiS 315", + "3dfx Voodoo3", + "S3 Graphics Savage4", + "XGI Volari V8", + "Trident Blade3D", + "ATI Radeon 9800 Pro", +}); + } diff --git a/src/modules/database/DatabaseData.cpp b/src/modules/database/DatabaseData.cpp deleted file mode 100644 index f2eee6de..00000000 --- a/src/modules/database/DatabaseData.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include "DatabaseData.h" - -#include -#include - -namespace faker -{ -const std::array collations = {"utf8_unicode_ci", "utf8_general_ci", "utf8_bin", - "ascii_bin", "ascii_general_ci", "cp1250_bin", - "cp1250_general_ci"}; - -const std::array columnNames = { - "id", "title", "name", "email", "username", "first_name", "last_name", "phone", "token", - "group", "category", "password", "comment", "avatar", "status", "created_at", "updated_at", -}; - -const std::array columnTypes = { - "int", "varchar", "text", "date", "datetime", "tinyint", "time", "timestamp", - "smallint", "mediumint", "bigint", "decimal", "float", "double", "real", "bit", - "boolean", "serial", "blob", "binary", "enum", "set", "geometry", "point", -}; - -const std::array engines = {"InnoDB", "MyISAM", "MEMORY", "CSV", "BLACKHOLE", "ARCHIVE"}; - -} diff --git a/src/modules/database/DatabaseData.h b/src/modules/database/DatabaseData.h index 71ef7fce..a19527dc 100644 --- a/src/modules/database/DatabaseData.h +++ b/src/modules/database/DatabaseData.h @@ -5,8 +5,23 @@ namespace faker { -extern const std::array collations; -extern const std::array columnNames; -extern const std::array columnTypes; -extern const std::array engines; +const auto collations = std::to_array({ + "utf8_unicode_ci", "utf8_general_ci", "utf8_bin", + "ascii_bin", "ascii_general_ci", "cp1250_bin", + "cp1250_general_ci" +}); + +const auto columnNames = std::to_array({ + "id", "title", "name", "email", "username", "first_name", "last_name", "phone", "token", + "group", "category", "password", "comment", "avatar", "status", "created_at", "updated_at", +}); + +const auto columnTypes = std::to_array({ + "int", "varchar", "text", "date", "datetime", "tinyint", "time", "timestamp", + "smallint", "mediumint", "bigint", "decimal", "float", "double", "real", "bit", + "boolean", "serial", "blob", "binary", "enum", "set", "geometry", "point", +}); + +const auto engines = std::to_array({"InnoDB", "MyISAM", "MEMORY", "CSV", "BLACKHOLE", "ARCHIVE"}); + } diff --git a/src/modules/date/DateData.cpp b/src/modules/date/DateData.cpp deleted file mode 100644 index 5ab8f6f6..00000000 --- a/src/modules/date/DateData.cpp +++ /dev/null @@ -1,46 +0,0 @@ -#include "DateData.h" - -#include -#include - -namespace faker -{ -const std::array monthNames = { - "January", "February", "March", "April", "May", "June", - "July", "August", "September", "October", "November", "December", -}; - -const std::array monthAbbreviatedNames = {"Jan", "Feb", "Mar", "Apr", "May", "June", - "July", "Aug", "Sept", "Oct", "Nov", "Dec"}; - -const std::array weekdayNames = {"Monday", "Tuesday", "Wednesday", "Thursday", - "Friday", "Saturday", "Sunday"}; - -const std::array weekdayAbbreviatedNames = {"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"}; - -const std::array timezonesAbbreviatedNames = { - "ACDT", "ACST", "ACT", "ACT", "ACWST", "ADT", "AEDT", "AEST", "AET (AEST/AEDT)", - "AFT", "AKDT", "AKST", "ALMT", "AMST", "AMT", "AMT", "ANAT", "AQTT", - "ART", "AST", "AST", "AWST", "AZOST", "AZOT", "AZT", "BNT", "BIOT", - "BIT", "BOT", "BRST", "BRT", "BST", "BST", "BST", "BTT", "CAT", - "CCT", "CDT", "CDT", "CEST", "CET", "CHADT", "CHAST", "CHOT", "CHOST", - "CHST", "CHUT", "CIST", "CKT", "CLST", "CLT", "COST", "COT", "CST", - "CST", "CST", "CT (CST/CDT)", "CVT", "CWST", "CXT", "DAVT", "DDUT", "DFT", - "EASST", "EAST", "EAT", "ECT", "ECT", "EDT", "EEST", "EET", "EGST", - "EGT", "EST", "ET (EST/EDT)", "FET", "FJT", "FKST", "FKT", "FNT", "GALT", - "GAMT", "GET", "GFT", "GILT", "GIT", "GMT", "GST", "GST", "GYT", - "HDT", "HAEC", "HST", "HKT", "HMT", "HOVST", "HOVT", "ICT", "IDLW", - "IDT", "IOT", "IRDT", "IRKT", "IRST", "IST", "IST", "IST", "JST", - "KALT", "KGT", "KOST", "KRAT", "KST", "LHST", "LHST", "LINT", "MAGT", - "MART", "MAWT", "MDT", "MET", "MEST", "MHT", "MIST", "MIT", "MMT", - "MSK", "MST", "MST", "MUT", "MVT", "MYT", "NCT", "NDT", "NFT", - "NOVT", "NPT", "NST", "NT", "NUT", "NZDT", "NZST", "OMST", "ORAT", - "PDT", "PET", "PETT", "PGT", "PHOT", "PHT", "PHST", "PKT", "PMDT", - "PMST", "PONT", "PST", "PWT", "PYST", "PYT", "RET", "ROTT", "SAKT", - "SAMT", "SAST", "SBT", "SCT", "SDT", "SGT", "SLST", "SRET", "SRT", - "SST", "SST", "SYOT", "TAHT", "THA", "TFT", "TJT", "TKT", "TLT", - "TMT", "TRT", "TOT", "TST", "TVT", "ULAST", "ULAT", "UTC", "UYST", - "UYT", "UZT", "VET", "VLAT", "VOLT", "VOST", "VUT", "WAKT", "WAST", - "WAT", "WEST", "WET", "WIB", "WIT", "WITA", "WGST", "WGT", "WST", - "YAKT", "YEKT"}; -} diff --git a/src/modules/date/DateData.h b/src/modules/date/DateData.h index 4765d3fe..d033911a 100644 --- a/src/modules/date/DateData.h +++ b/src/modules/date/DateData.h @@ -5,9 +5,48 @@ namespace faker { -extern const std::array monthNames; -extern const std::array monthAbbreviatedNames; -extern const std::array weekdayNames; -extern const std::array weekdayAbbreviatedNames; -extern const std::array timezonesAbbreviatedNames; +const auto monthNames = std::to_array({ + "January", "February", "March", "April", "May", "June", + "July", "August", "September", "October", "November", "December", +}); + +const auto monthAbbreviatedNames = std::to_array({ + "Jan", "Feb", "Mar", "Apr", "May", "June", + "July", "Aug", "Sept", "Oct", "Nov", "Dec" +}); + +const auto weekdayNames = std::to_array({ + "Monday", "Tuesday", "Wednesday", "Thursday", + "Friday", "Saturday", "Sunday" +}); + +const auto weekdayAbbreviatedNames = std::to_array({"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"}); + +const auto timezonesAbbreviatedNames = std::to_array({ + "ACDT", "ACST", "ACT", "ACT", "ACWST", "ADT", "AEDT", "AEST", "AET (AEST/AEDT)", + "AFT", "AKDT", "AKST", "ALMT", "AMST", "AMT", "AMT", "ANAT", "AQTT", + "ART", "AST", "AST", "AWST", "AZOST", "AZOT", "AZT", "BNT", "BIOT", + "BIT", "BOT", "BRST", "BRT", "BST", "BST", "BST", "BTT", "CAT", + "CCT", "CDT", "CDT", "CEST", "CET", "CHADT", "CHAST", "CHOT", "CHOST", + "CHST", "CHUT", "CIST", "CKT", "CLST", "CLT", "COST", "COT", "CST", + "CST", "CST", "CT (CST/CDT)", "CVT", "CWST", "CXT", "DAVT", "DDUT", "DFT", + "EASST", "EAST", "EAT", "ECT", "ECT", "EDT", "EEST", "EET", "EGST", + "EGT", "EST", "ET (EST/EDT)", "FET", "FJT", "FKST", "FKT", "FNT", "GALT", + "GAMT", "GET", "GFT", "GILT", "GIT", "GMT", "GST", "GST", "GYT", + "HDT", "HAEC", "HST", "HKT", "HMT", "HOVST", "HOVT", "ICT", "IDLW", + "IDT", "IOT", "IRDT", "IRKT", "IRST", "IST", "IST", "IST", "JST", + "KALT", "KGT", "KOST", "KRAT", "KST", "LHST", "LHST", "LINT", "MAGT", + "MART", "MAWT", "MDT", "MET", "MEST", "MHT", "MIST", "MIT", "MMT", + "MSK", "MST", "MST", "MUT", "MVT", "MYT", "NCT", "NDT", "NFT", + "NOVT", "NPT", "NST", "NT", "NUT", "NZDT", "NZST", "OMST", "ORAT", + "PDT", "PET", "PETT", "PGT", "PHOT", "PHT", "PHST", "PKT", "PMDT", + "PMST", "PONT", "PST", "PWT", "PYST", "PYT", "RET", "ROTT", "SAKT", + "SAMT", "SAST", "SBT", "SCT", "SDT", "SGT", "SLST", "SRET", "SRT", + "SST", "SST", "SYOT", "TAHT", "THA", "TFT", "TJT", "TKT", "TLT", + "TMT", "TRT", "TOT", "TST", "TVT", "ULAST", "ULAT", "UTC", "UYST", + "UYT", "UZT", "VET", "VLAT", "VOLT", "VOST", "VUT", "WAKT", "WAST", + "WAT", "WEST", "WET", "WIB", "WIT", "WITA", "WGST", "WGT", "WST", + "YAKT", "YEKT" +}); + } diff --git a/src/modules/finance/FinanceData.cpp b/src/modules/finance/FinanceData.cpp deleted file mode 100644 index 9f9bdf0b..00000000 --- a/src/modules/finance/FinanceData.cpp +++ /dev/null @@ -1,896 +0,0 @@ -#include "FinanceData.h" - -#include -#include -#include -#include - -#include "faker-cxx/Finance.h" - -namespace faker -{ -const std::array bicCountries{ - Finance::BicCountry::Poland, Finance::BicCountry::UnitedStates, Finance::BicCountry::UnitedKingdom, - Finance::BicCountry::Germany, Finance::BicCountry::Romania, Finance::BicCountry::France, - Finance::BicCountry::Italy, Finance::BicCountry::Spain, Finance::BicCountry::Netherlands, - Finance::BicCountry::India}; - -const std::array ibanCountries{ - Finance::IbanCountry::Austria, Finance::IbanCountry::Belgium, Finance::IbanCountry::Bulgaria, - Finance::IbanCountry::Croatia, Finance::IbanCountry::Cyprus, Finance::IbanCountry::Czechia, - Finance::IbanCountry::Denmark, Finance::IbanCountry::Estonia, Finance::IbanCountry::Finland, - Finance::IbanCountry::France, Finance::IbanCountry::Germany, Finance::IbanCountry::Greece, - Finance::IbanCountry::Hungary, Finance::IbanCountry::Ireland, Finance::IbanCountry::Italy, - Finance::IbanCountry::Latvia, Finance::IbanCountry::Lithuania, Finance::IbanCountry::Luxembourg, - Finance::IbanCountry::Malta, Finance::IbanCountry::Netherlands, Finance::IbanCountry::Poland, - Finance::IbanCountry::Portugal, Finance::IbanCountry::Romania, Finance::IbanCountry::Slovakia, - Finance::IbanCountry::Slovenia, Finance::IbanCountry::Spain, Finance::IbanCountry::Sweden, -}; - -const std::array accountTypes = { - "Checking", "Savings", "Money Market", "Investment", "Home Loan", "Credit Card", "Auto Loan", "Personal Loan", -}; - -const std::unordered_map> bicCountriesCodes = { - {Finance::BicCountry::Poland, - {"BPKOPLPW", "PKOPPLPW", "BREXPLPWMUL", "BNPAPLP", "POLUPLPR", "BIGBPLPW", "WBKPPLPP", "CITIPLPX", "INGBPLPW", - "DEUTPLPK", "DEUTPLP"}}, - {Finance::BicCountry::UnitedStates, - {"BOFAUS3N", "CITIUS33", "WELLSFARGO", "USBKUS44", "CHASUS33", "HSBCUS33", "PNCCUS33"}}, - {Finance::BicCountry::UnitedKingdom, - {"BARCGB22", "HSBCKENW", "LOYDGB21", "NWBKGB2L", "RBOSGB2L", "HSBCGB2L", "DEUTGB2L"}}, - {Finance::BicCountry::Germany, - {"DEUTDEFF", "DRESDEFF", "COBADEFF", "BYLADEM1", "GENODEFF", "HYVEDEMM", "MALADE51", "NOLADE21", "SOLADEST", - "UNCRDEFF"}}, - {Finance::BicCountry::Romania, - {"RNCBROBU", "BRDEROBU", "BTRLRO22", "PIRBROBU", "INGBROBU", "EXIMRO22", "CRDZROBU"}}, - {Finance::BicCountry::France, - {"BNPAFRPP", "CEPAFRPP", "CRLYFRPP", "SOGEFRPP", "AGRIFRPP", "HSBDFRPP", "CCFRFRPP", "BNORDRPP", "CMCIFRPP"}}, - {Finance::BicCountry::Italy, {"UNCRITMM", "BCITITMM", "INTESA", "UBSPITPA", "BLOPIT22", "CITIITMX", "BNLIITRR"}}, - {Finance::BicCountry::Spain, - {"CAIXESBB", "BBVAESMM", "SABSESBB", "BSCHESMM", "POPUESMM", "INGDESMM", "CITIES2X", "BCOEESMM"}}, - {Finance::BicCountry::Netherlands, - {"ABNANL2A", "INGBNL2A", "RABONL2U", "TRIONL2U", "KNABNL2H", "SBINNL2X", "DEUTNL2N"}}, - { - Finance::BicCountry::India, - {"HDFCINBB", "ICICINBB", "SBININBB", "PNBAINBB", "UBININBB", "AXISINBB", "KKBKINBB", "YESBINBB", "IDBIINBB"}, - }}; - -const std::array americanExpressCreditCardFormats = { - "34##-######-####L", - "37##-######-####L", -}; - -const std::array discoverCreditCardFormats = { - "6011-####-####-###L", "65##-####-####-###L", "64[4-9]#-####-####-###L", - "6011-62##-####-####-###L", "65##-62##-####-####-###L", "64[4-9]#-62##-####-####-###L", -}; - -const std::array masterCardCreditCardFormats = { - "5[1-5]##-####-####-###L", - "6771-89##-####-###L", -}; - -const std::array visaCreditCardFormats = { - "4###########L", - "4###-####-####-###L", -}; - -const std::array creditCardTypes = { - Finance::CreditCardType::Visa, - Finance::CreditCardType::AmericanExpress, - Finance::CreditCardType::MasterCard, - Finance::CreditCardType::Discover, -}; - -const std::array creditCardNames = { - "Visa", - "American Express", - "MasterCard", - "Discover", -}; - -const std::array currencies = {{{ - "UAE Dirham", - "AED", - "", - }, - { - "Afghani", - "AFN", - "؋", - }, - { - "Lek", - "ALL", - "Lek", - }, - { - "Armenian Dram", - "AMD", - "", - }, - { - "Netherlands Antillian Guilder", - "ANG", - "ƒ", - }, - { - "Kwanza", - "AOA", - "", - }, - { - "Argentine Peso", - "ARS", - "$", - }, - { - "Australian Dollar", - "AUD", - "$", - }, - { - "Aruban Guilder", - "AWG", - "ƒ", - }, - { - "Azerbaijanian Manat", - "AZN", - "ман", - }, - { - "Convertible Marks", - "BAM", - "KM", - }, - { - "Barbados Dollar", - "BBD", - "$", - }, - { - "Taka", - "BDT", - "", - }, - { - "Bulgarian Lev", - "BGN", - "лв", - }, - { - "Bahraini Dinar", - "BHD", - "", - }, - { - "Burundi Franc", - "BIF", - "", - }, - { - "Bermudian Dollar (customarily known as Bermuda Dollar)", - "BMD", - "$", - }, - { - "Brunei Dollar", - "BND", - "$", - }, - { - "Boliviano boliviano", - "BOB", - "Bs", - }, - { - "Brazilian Real", - "BRL", - "R$", - }, - { - "Bahamian Dollar", - "BSD", - "$", - }, - { - "Pula", - "BWP", - "P", - }, - { - "Belarusian Ruble", - "BYN", - "Rbl", - }, - { - "Belize Dollar", - "BZD", - "BZ$", - }, - { - "Canadian Dollar", - "CAD", - "$", - }, - { - "Congolese Franc", - "CDF", - "", - }, - { - "Swiss Franc", - "CHF", - "CHF", - }, - { - "Chilean Peso", - "CLP", - "$", - }, - { - "Yuan Renminbi", - "CNY", - "¥", - }, - { - "Colombian Peso", - "COP", - "$", - }, - { - "Costa Rican Colon", - "CRC", - "₡", - }, - { - "Cuban Peso", - "CUP", - "₱", - }, - { - "Cape Verde Escudo", - "CVE", - "", - }, - { - "Czech Koruna", - "CZK", - "Kč", - }, - { - "Djibouti Franc", - "DJF", - "", - }, - { - "Danish Krone", - "DKK", - "kr", - }, - { - "Dominican Peso", - "DOP", - "RD$", - }, - { - "Algerian Dinar", - "DZD", - "", - }, - { - "Egyptian Pound", - "EGP", - "£", - }, - { - "Nakfa", - "ERN", - "", - }, - { - "Ethiopian Birr", - "ETB", - "", - }, - { - "Euro", - "EUR", - "€", - }, - { - "Fiji Dollar", - "FJD", - "$", - }, - { - "Falkland Islands Pound", - "FKP", - "£", - }, - { - "Pound Sterling", - "GBP", - "£", - }, - { - "Lari", - "GEL", - "", - }, - { - "Cedi", - "GHS", - "", - }, - { - "Gibraltar Pound", - "GIP", - "£", - }, - { - "Dalasi", - "GMD", - "", - }, - { - "Guinea Franc", - "GNF", - "", - }, - { - "Quetzal", - "GTQ", - "Q", - }, - { - "Guyana Dollar", - "GYD", - "$", - }, - { - "Hong Kong Dollar", - "HKD", - "$", - }, - { - "Lempira", - "HNL", - "L", - }, - { - "Gourde", - "HTG", - "", - }, - { - "Forint", - "HUF", - "Ft", - }, - { - "Rupiah", - "IDR", - "Rp", - }, - { - "New Israeli Sheqel", - "ILS", - "₪", - }, - { - "Bhutanese Ngultrum", - "BTN", - "Nu", - }, - { - "Indian Rupee", - "INR", - "₹", - }, - { - "Iraqi Dinar", - "IQD", - "", - }, - { - "Iranian Rial", - "IRR", - "﷼", - }, - { - "Iceland Krona", - "ISK", - "kr", - }, - { - "Jamaican Dollar", - "JMD", - "J$", - }, - { - "Jordanian Dinar", - "JOD", - "", - }, - { - "Yen", - "JPY", - "¥", - }, - { - "Kenyan Shilling", - "KES", - "", - }, - { - "Som", - "KGS", - "лв", - }, - { - "Riel", - "KHR", - "៛", - }, - { - "Comoro Franc", - "KMF", - "", - }, - { - "North Korean Won", - "KPW", - "₩", - }, - { - "Won", - "KRW", - "₩", - }, - { - "Kuwaiti Dinar", - "KWD", - "", - }, - { - "Cayman Islands Dollar", - "KYD", - "$", - }, - { - "Tenge", - "KZT", - "лв", - }, - { - "Kip", - "LAK", - "₭", - }, - { - "Lebanese Pound", - "LBP", - "£", - }, - { - "Sri Lanka Rupee", - "LKR", - "₨", - }, - { - "Liberian Dollar", - "LRD", - "$", - }, - { - "Libyan Dinar", - "LYD", - "", - }, - { - "Moroccan Dirham", - "MAD", - "", - }, - { - "Moldovan Leu", - "MDL", - "", - }, - { - "Malagasy Ariary", - "MGA", - "", - }, - { - "Denar", - "MKD", - "ден", - }, - { - "Kyat", - "MMK", - "", - }, - { - "Tugrik", - "MNT", - "₮", - }, - { - "Pataca", - "MOP", - "", - }, - { - "Ouguiya", - "MRU", - "", - }, - { - "Mauritius Rupee", - "MUR", - "₨", - }, - { - "Rufiyaa", - "MVR", - "", - }, - { - "Kwacha", - "MWK", - "", - }, - { - "Mexican Peso", - "MXN", - "$", - }, - { - "Malaysian Ringgit", - "MYR", - "RM", - }, - { - "Metical", - "MZN", - "MT", - }, - { - "Naira", - "NGN", - "₦", - }, - { - "Cordoba Oro", - "NIO", - "C$", - }, - { - "Norwegian Krone", - "NOK", - "kr", - }, - { - "Nepalese Rupee", - "NPR", - "₨", - }, - { - "New Zealand Dollar", - "NZD", - "$", - }, - { - "Rial Omani", - "OMR", - "﷼", - }, - { - "Balboa", - "PAB", - "B/.", - }, - { - "Nuevo Sol", - "PEN", - "S/.", - }, - { - "Kina", - "PGK", - "", - }, - { - "Philippine Peso", - "PHP", - "Php", - }, - { - "Pakistan Rupee", - "PKR", - "₨", - }, - { - "Zloty", - "PLN", - "zł", - }, - { - "Guarani", - "PYG", - "Gs", - }, - { - "Qatari Rial", - "QAR", - "﷼", - }, - { - "New Leu", - "RON", - "lei", - }, - { - "Serbian Dinar", - "RSD", - "Дин.", - }, - { - "Russian Ruble", - "RUB", - "руб", - }, - { - "Rwanda Franc", - "RWF", - "", - }, - { - "Saudi Riyal", - "SAR", - "﷼", - }, - { - "Solomon Islands Dollar", - "SBD", - "$", - }, - { - "Seychelles Rupee", - "SCR", - "₨", - }, - { - "Sudanese Pound", - "SDG", - "", - }, - { - "Swedish Krona", - "SEK", - "kr", - }, - { - "Singapore Dollar", - "SGD", - "$", - }, - { - "Saint Helena Pound", - "SHP", - "£", - }, - { - "Leone", - "SLE", - "", - }, - { - "Somali Shilling", - "SOS", - "S", - }, - { - "Surinam Dollar", - "SRD", - "$", - }, - { - "South Sudanese pound", - "SSP", - "", - }, - { - "Dobra", - "STN", - "Db", - }, - { - "Syrian Pound", - "SYP", - "£", - }, - { - "Lilangeni", - "SZL", - "", - }, - { - "Baht", - "THB", - "฿", - }, - { - "Somoni", - "TJS", - "", - }, - { - "Manat", - "TMT", - "", - }, - { - "Tunisian Dinar", - "TND", - "", - }, - { - "Pa' anga ", - "TOP", - "", - }, - { - "Turkish Lira", - "TRY", - "₺", - }, - { - "Trinidad and Tobago Dollar", - "TTD", - "TT$", - }, - { - "New Taiwan Dollar", - "TWD", - "NT$", - }, - { - "Tanzanian Shilling", - "TZS", - "", - }, - { - "Hryvnia", - "UAH", - "₴", - }, - { - "Uganda Shilling", - "UGX", - "", - }, - { - "US Dollar", - "USD", - "$", - }, - { - "Peso Uruguayo", - "UYU", - "$U", - }, - { - "Uzbekistan Sum", - "UZS", - "лв", - }, - { - "Venezuelan bolívar", - "VES", - "Bs", - }, - { - "Dong", - "VND", - "₫", - }, - { - "Vatu", - "VUV", - "", - }, - { - "Tala", - "WST", - "", - }, - { - "CFA Franc BEAC", - "XAF", - "", - }, - { - "East Caribbean Dollar", - "XCD", - "$", - }, - { - "CFA Franc BCEAO", - "XOF", - "", - }, - { - "CFP Franc", - "XPF", - "", - }, - { - "Yemeni Rial", - "YER", - "﷼", - }, - { - "Rand", - "ZAR", - "R", - }, - { - "Lesotho Loti", - "LSL", - "", - }, - { - "Namibia Dollar", - "NAD", - "N$", - }, - { - "Zambian Kwacha", - "ZMW", - "K", - }, - { - "Zimbabwe Dollar", - "ZWL", - "", - }}}; - -// Iban format structure from https://bank.codes/iban/structure/ -// Note: a - alphabets (letters only), c - characters (letters & numbers), n - numbers (numbers only) -const std::unordered_map> ibanFormats{ - {Finance::IbanCountry::Austria, {"AT", "2n", "5n", "11n"}}, - {Finance::IbanCountry::Belgium, {"BE", "2n", "3n", "7n", "2n"}}, - {Finance::IbanCountry::Bulgaria, {"BG", "2n", "4a", "4n", "2n", "8c"}}, - {Finance::IbanCountry::Croatia, {"HR", "2n", "7n", "10n"}}, - {Finance::IbanCountry::Cyprus, {"CY", "2n", "3n", "5n", "16c"}}, - {Finance::IbanCountry::Czechia, {"CZ", "2n", "4n", "6n", "10n"}}, - {Finance::IbanCountry::Denmark, {"DK", "2n", "4n", "9n", "1n"}}, - {Finance::IbanCountry::Estonia, {"EE", "2n", "2n", "2n", "11n", "1n"}}, - {Finance::IbanCountry::Finland, {"FI", "2n", "6n", "7n", "1n"}}, - {Finance::IbanCountry::France, {"FR", "2n", "5n", "5n", "11c", "2n"}}, - {Finance::IbanCountry::Germany, {"DE", "2n", "8n", "10n"}}, - {Finance::IbanCountry::Greece, {"GR", "2n", "3n", "4n", "16c"}}, - {Finance::IbanCountry::Hungary, {"HU", "2n", "3n", "4n", "1n", "15n", "1n"}}, - {Finance::IbanCountry::Ireland, {"IE", "2n", "4a", "6n", "8n"}}, - {Finance::IbanCountry::Italy, {"IT", "2n", "1a", "5n", "5n", "12c"}}, - {Finance::IbanCountry::Latvia, {"LV", "2n", "4a", "13n"}}, - {Finance::IbanCountry::Lithuania, {"LT", "2n", "5n", "11n"}}, - {Finance::IbanCountry::Luxembourg, {"LU", "2n", "3n", "13c"}}, - {Finance::IbanCountry::Malta, {"MT", "2n", "4a", "5n", "18c"}}, - {Finance::IbanCountry::Netherlands, {"NL", "2n", "4a", "10n"}}, - {Finance::IbanCountry::Poland, {"PL", "2n", "3n", "4n", "1n", "16n"}}, - {Finance::IbanCountry::Portugal, {"PT", "2n", "4n", "4n", "11n", "2n"}}, - {Finance::IbanCountry::Romania, {"RO", "2n", "4a", "16c"}}, - {Finance::IbanCountry::Slovakia, {"SK", "2n", "4n", "6n", "10n"}}, - {Finance::IbanCountry::Slovenia, {"SI", "2n", "2n", "3n", "8n", "2n"}}, - {Finance::IbanCountry::Spain, {"ES", "2n", "4n", "4n", "2n", "10n"}}, - {Finance::IbanCountry::Sweden, {"SE", "2n", "3n", "16n", "1n"}}, -}; - -} diff --git a/src/modules/finance/FinanceData.h b/src/modules/finance/FinanceData.h index 85a14fbf..f2191ecb 100644 --- a/src/modules/finance/FinanceData.h +++ b/src/modules/finance/FinanceData.h @@ -9,16 +9,891 @@ namespace faker { -extern const std::array bicCountries; -extern const std::array ibanCountries; -extern const std::array accountTypes; -extern const std::unordered_map> bicCountriesCodes; -extern const std::array creditCardTypes; -extern const std::array creditCardNames; -extern const std::array americanExpressCreditCardFormats; -extern const std::array discoverCreditCardFormats; -extern const std::array masterCardCreditCardFormats; -extern const std::array visaCreditCardFormats; -extern const std::array currencies; -extern const std::unordered_map> ibanFormats; +const auto bicCountries = std::to_array({ + Finance::BicCountry::Poland, Finance::BicCountry::UnitedStates, Finance::BicCountry::UnitedKingdom, + Finance::BicCountry::Germany, Finance::BicCountry::Romania, Finance::BicCountry::France, + Finance::BicCountry::Italy, Finance::BicCountry::Spain, Finance::BicCountry::Netherlands, + Finance::BicCountry::India +}); + +const auto ibanCountries = std::to_array({ + Finance::IbanCountry::Austria, Finance::IbanCountry::Belgium, Finance::IbanCountry::Bulgaria, + Finance::IbanCountry::Croatia, Finance::IbanCountry::Cyprus, Finance::IbanCountry::Czechia, + Finance::IbanCountry::Denmark, Finance::IbanCountry::Estonia, Finance::IbanCountry::Finland, + Finance::IbanCountry::France, Finance::IbanCountry::Germany, Finance::IbanCountry::Greece, + Finance::IbanCountry::Hungary, Finance::IbanCountry::Ireland, Finance::IbanCountry::Italy, + Finance::IbanCountry::Latvia, Finance::IbanCountry::Lithuania, Finance::IbanCountry::Luxembourg, + Finance::IbanCountry::Malta, Finance::IbanCountry::Netherlands, Finance::IbanCountry::Poland, + Finance::IbanCountry::Portugal, Finance::IbanCountry::Romania, Finance::IbanCountry::Slovakia, + Finance::IbanCountry::Slovenia, Finance::IbanCountry::Spain, Finance::IbanCountry::Sweden, +}); + +const auto accountTypes = std::to_array({ + "Checking", "Savings", "Money Market", "Investment", "Home Loan", "Credit Card", "Auto Loan", "Personal Loan", +}); + +const std::unordered_map> bicCountriesCodes = { + {Finance::BicCountry::Poland, + {"BPKOPLPW", "PKOPPLPW", "BREXPLPWMUL", "BNPAPLP", "POLUPLPR", "BIGBPLPW", "WBKPPLPP", "CITIPLPX", "INGBPLPW", + "DEUTPLPK", "DEUTPLP"}}, + {Finance::BicCountry::UnitedStates, + {"BOFAUS3N", "CITIUS33", "WELLSFARGO", "USBKUS44", "CHASUS33", "HSBCUS33", "PNCCUS33"}}, + {Finance::BicCountry::UnitedKingdom, + {"BARCGB22", "HSBCKENW", "LOYDGB21", "NWBKGB2L", "RBOSGB2L", "HSBCGB2L", "DEUTGB2L"}}, + {Finance::BicCountry::Germany, + {"DEUTDEFF", "DRESDEFF", "COBADEFF", "BYLADEM1", "GENODEFF", "HYVEDEMM", "MALADE51", "NOLADE21", "SOLADEST", + "UNCRDEFF"}}, + {Finance::BicCountry::Romania, + {"RNCBROBU", "BRDEROBU", "BTRLRO22", "PIRBROBU", "INGBROBU", "EXIMRO22", "CRDZROBU"}}, + {Finance::BicCountry::France, + {"BNPAFRPP", "CEPAFRPP", "CRLYFRPP", "SOGEFRPP", "AGRIFRPP", "HSBDFRPP", "CCFRFRPP", "BNORDRPP", "CMCIFRPP"}}, + {Finance::BicCountry::Italy, {"UNCRITMM", "BCITITMM", "INTESA", "UBSPITPA", "BLOPIT22", "CITIITMX", "BNLIITRR"}}, + {Finance::BicCountry::Spain, + {"CAIXESBB", "BBVAESMM", "SABSESBB", "BSCHESMM", "POPUESMM", "INGDESMM", "CITIES2X", "BCOEESMM"}}, + {Finance::BicCountry::Netherlands, + {"ABNANL2A", "INGBNL2A", "RABONL2U", "TRIONL2U", "KNABNL2H", "SBINNL2X", "DEUTNL2N"}}, + { + Finance::BicCountry::India, + {"HDFCINBB", "ICICINBB", "SBININBB", "PNBAINBB", "UBININBB", "AXISINBB", "KKBKINBB", "YESBINBB", "IDBIINBB"}, + }}; + +const auto americanExpressCreditCardFormats = std::to_array({ + "34##-######-####L", + "37##-######-####L", +}); + +const auto discoverCreditCardFormats = std::to_array({ + "6011-####-####-###L", "65##-####-####-###L", "64[4-9]#-####-####-###L", + "6011-62##-####-####-###L", "65##-62##-####-####-###L", "64[4-9]#-62##-####-####-###L", +}); + +const auto masterCardCreditCardFormats = std::to_array({ + "5[1-5]##-####-####-###L", + "6771-89##-####-###L", +}); + +const auto visaCreditCardFormats = std::to_array({ + "4###########L", + "4###-####-####-###L", +}); + +const auto creditCardTypes = std::to_array({ + Finance::CreditCardType::Visa, + Finance::CreditCardType::AmericanExpress, + Finance::CreditCardType::MasterCard, + Finance::CreditCardType::Discover, +}); + +const auto creditCardNames = std::to_array({ + "Visa", + "American Express", + "MasterCard", + "Discover", +}); + +const auto currencies = std::to_array({ + { + "UAE Dirham", + "AED", + "", + }, + { + "Afghani", + "AFN", + "؋", + }, + { + "Lek", + "ALL", + "Lek", + }, + { + "Armenian Dram", + "AMD", + "", + }, + { + "Netherlands Antillian Guilder", + "ANG", + "ƒ", + }, + { + "Kwanza", + "AOA", + "", + }, + { + "Argentine Peso", + "ARS", + "$", + }, + { + "Australian Dollar", + "AUD", + "$", + }, + { + "Aruban Guilder", + "AWG", + "ƒ", + }, + { + "Azerbaijanian Manat", + "AZN", + "ман", + }, + { + "Convertible Marks", + "BAM", + "KM", + }, + { + "Barbados Dollar", + "BBD", + "$", + }, + { + "Taka", + "BDT", + "", + }, + { + "Bulgarian Lev", + "BGN", + "лв", + }, + { + "Bahraini Dinar", + "BHD", + "", + }, + { + "Burundi Franc", + "BIF", + "", + }, + { + "Bermudian Dollar (customarily known as Bermuda Dollar)", + "BMD", + "$", + }, + { + "Brunei Dollar", + "BND", + "$", + }, + { + "Boliviano boliviano", + "BOB", + "Bs", + }, + { + "Brazilian Real", + "BRL", + "R$", + }, + { + "Bahamian Dollar", + "BSD", + "$", + }, + { + "Pula", + "BWP", + "P", + }, + { + "Belarusian Ruble", + "BYN", + "Rbl", + }, + { + "Belize Dollar", + "BZD", + "BZ$", + }, + { + "Canadian Dollar", + "CAD", + "$", + }, + { + "Congolese Franc", + "CDF", + "", + }, + { + "Swiss Franc", + "CHF", + "CHF", + }, + { + "Chilean Peso", + "CLP", + "$", + }, + { + "Yuan Renminbi", + "CNY", + "¥", + }, + { + "Colombian Peso", + "COP", + "$", + }, + { + "Costa Rican Colon", + "CRC", + "₡", + }, + { + "Cuban Peso", + "CUP", + "₱", + }, + { + "Cape Verde Escudo", + "CVE", + "", + }, + { + "Czech Koruna", + "CZK", + "Kč", + }, + { + "Djibouti Franc", + "DJF", + "", + }, + { + "Danish Krone", + "DKK", + "kr", + }, + { + "Dominican Peso", + "DOP", + "RD$", + }, + { + "Algerian Dinar", + "DZD", + "", + }, + { + "Egyptian Pound", + "EGP", + "£", + }, + { + "Nakfa", + "ERN", + "", + }, + { + "Ethiopian Birr", + "ETB", + "", + }, + { + "Euro", + "EUR", + "€", + }, + { + "Fiji Dollar", + "FJD", + "$", + }, + { + "Falkland Islands Pound", + "FKP", + "£", + }, + { + "Pound Sterling", + "GBP", + "£", + }, + { + "Lari", + "GEL", + "", + }, + { + "Cedi", + "GHS", + "", + }, + { + "Gibraltar Pound", + "GIP", + "£", + }, + { + "Dalasi", + "GMD", + "", + }, + { + "Guinea Franc", + "GNF", + "", + }, + { + "Quetzal", + "GTQ", + "Q", + }, + { + "Guyana Dollar", + "GYD", + "$", + }, + { + "Hong Kong Dollar", + "HKD", + "$", + }, + { + "Lempira", + "HNL", + "L", + }, + { + "Gourde", + "HTG", + "", + }, + { + "Forint", + "HUF", + "Ft", + }, + { + "Rupiah", + "IDR", + "Rp", + }, + { + "New Israeli Sheqel", + "ILS", + "₪", + }, + { + "Bhutanese Ngultrum", + "BTN", + "Nu", + }, + { + "Indian Rupee", + "INR", + "₹", + }, + { + "Iraqi Dinar", + "IQD", + "", + }, + { + "Iranian Rial", + "IRR", + "﷼", + }, + { + "Iceland Krona", + "ISK", + "kr", + }, + { + "Jamaican Dollar", + "JMD", + "J$", + }, + { + "Jordanian Dinar", + "JOD", + "", + }, + { + "Yen", + "JPY", + "¥", + }, + { + "Kenyan Shilling", + "KES", + "", + }, + { + "Som", + "KGS", + "лв", + }, + { + "Riel", + "KHR", + "៛", + }, + { + "Comoro Franc", + "KMF", + "", + }, + { + "North Korean Won", + "KPW", + "₩", + }, + { + "Won", + "KRW", + "₩", + }, + { + "Kuwaiti Dinar", + "KWD", + "", + }, + { + "Cayman Islands Dollar", + "KYD", + "$", + }, + { + "Tenge", + "KZT", + "лв", + }, + { + "Kip", + "LAK", + "₭", + }, + { + "Lebanese Pound", + "LBP", + "£", + }, + { + "Sri Lanka Rupee", + "LKR", + "₨", + }, + { + "Liberian Dollar", + "LRD", + "$", + }, + { + "Libyan Dinar", + "LYD", + "", + }, + { + "Moroccan Dirham", + "MAD", + "", + }, + { + "Moldovan Leu", + "MDL", + "", + }, + { + "Malagasy Ariary", + "MGA", + "", + }, + { + "Denar", + "MKD", + "ден", + }, + { + "Kyat", + "MMK", + "", + }, + { + "Tugrik", + "MNT", + "₮", + }, + { + "Pataca", + "MOP", + "", + }, + { + "Ouguiya", + "MRU", + "", + }, + { + "Mauritius Rupee", + "MUR", + "₨", + }, + { + "Rufiyaa", + "MVR", + "", + }, + { + "Kwacha", + "MWK", + "", + }, + { + "Mexican Peso", + "MXN", + "$", + }, + { + "Malaysian Ringgit", + "MYR", + "RM", + }, + { + "Metical", + "MZN", + "MT", + }, + { + "Naira", + "NGN", + "₦", + }, + { + "Cordoba Oro", + "NIO", + "C$", + }, + { + "Norwegian Krone", + "NOK", + "kr", + }, + { + "Nepalese Rupee", + "NPR", + "₨", + }, + { + "New Zealand Dollar", + "NZD", + "$", + }, + { + "Rial Omani", + "OMR", + "﷼", + }, + { + "Balboa", + "PAB", + "B/.", + }, + { + "Nuevo Sol", + "PEN", + "S/.", + }, + { + "Kina", + "PGK", + "", + }, + { + "Philippine Peso", + "PHP", + "Php", + }, + { + "Pakistan Rupee", + "PKR", + "₨", + }, + { + "Zloty", + "PLN", + "zł", + }, + { + "Guarani", + "PYG", + "Gs", + }, + { + "Qatari Rial", + "QAR", + "﷼", + }, + { + "New Leu", + "RON", + "lei", + }, + { + "Serbian Dinar", + "RSD", + "Дин.", + }, + { + "Russian Ruble", + "RUB", + "руб", + }, + { + "Rwanda Franc", + "RWF", + "", + }, + { + "Saudi Riyal", + "SAR", + "﷼", + }, + { + "Solomon Islands Dollar", + "SBD", + "$", + }, + { + "Seychelles Rupee", + "SCR", + "₨", + }, + { + "Sudanese Pound", + "SDG", + "", + }, + { + "Swedish Krona", + "SEK", + "kr", + }, + { + "Singapore Dollar", + "SGD", + "$", + }, + { + "Saint Helena Pound", + "SHP", + "£", + }, + { + "Leone", + "SLE", + "", + }, + { + "Somali Shilling", + "SOS", + "S", + }, + { + "Surinam Dollar", + "SRD", + "$", + }, + { + "South Sudanese pound", + "SSP", + "", + }, + { + "Dobra", + "STN", + "Db", + }, + { + "Syrian Pound", + "SYP", + "£", + }, + { + "Lilangeni", + "SZL", + "", + }, + { + "Baht", + "THB", + "฿", + }, + { + "Somoni", + "TJS", + "", + }, + { + "Manat", + "TMT", + "", + }, + { + "Tunisian Dinar", + "TND", + "", + }, + { + "Pa' anga ", + "TOP", + "", + }, + { + "Turkish Lira", + "TRY", + "₺", + }, + { + "Trinidad and Tobago Dollar", + "TTD", + "TT$", + }, + { + "New Taiwan Dollar", + "TWD", + "NT$", + }, + { + "Tanzanian Shilling", + "TZS", + "", + }, + { + "Hryvnia", + "UAH", + "₴", + }, + { + "Uganda Shilling", + "UGX", + "", + }, + { + "US Dollar", + "USD", + "$", + }, + { + "Peso Uruguayo", + "UYU", + "$U", + }, + { + "Uzbekistan Sum", + "UZS", + "лв", + }, + { + "Venezuelan bolívar", + "VES", + "Bs", + }, + { + "Dong", + "VND", + "₫", + }, + { + "Vatu", + "VUV", + "", + }, + { + "Tala", + "WST", + "", + }, + { + "CFA Franc BEAC", + "XAF", + "", + }, + { + "East Caribbean Dollar", + "XCD", + "$", + }, + { + "CFA Franc BCEAO", + "XOF", + "", + }, + { + "CFP Franc", + "XPF", + "", + }, + { + "Yemeni Rial", + "YER", + "﷼", + }, + { + "Rand", + "ZAR", + "R", + }, + { + "Lesotho Loti", + "LSL", + "", + }, + { + "Namibia Dollar", + "NAD", + "N$", + }, + { + "Zambian Kwacha", + "ZMW", + "K", + }, + { + "Zimbabwe Dollar", + "ZWL", + "", + } +}); + +// Iban format structure from https://bank.codes/iban/structure/ +// Note: a - alphabets (letters only), c - characters (letters & numbers), n - numbers (numbers only) +const std::unordered_map> ibanFormats{ + {Finance::IbanCountry::Austria, {"AT", "2n", "5n", "11n"}}, + {Finance::IbanCountry::Belgium, {"BE", "2n", "3n", "7n", "2n"}}, + {Finance::IbanCountry::Bulgaria, {"BG", "2n", "4a", "4n", "2n", "8c"}}, + {Finance::IbanCountry::Croatia, {"HR", "2n", "7n", "10n"}}, + {Finance::IbanCountry::Cyprus, {"CY", "2n", "3n", "5n", "16c"}}, + {Finance::IbanCountry::Czechia, {"CZ", "2n", "4n", "6n", "10n"}}, + {Finance::IbanCountry::Denmark, {"DK", "2n", "4n", "9n", "1n"}}, + {Finance::IbanCountry::Estonia, {"EE", "2n", "2n", "2n", "11n", "1n"}}, + {Finance::IbanCountry::Finland, {"FI", "2n", "6n", "7n", "1n"}}, + {Finance::IbanCountry::France, {"FR", "2n", "5n", "5n", "11c", "2n"}}, + {Finance::IbanCountry::Germany, {"DE", "2n", "8n", "10n"}}, + {Finance::IbanCountry::Greece, {"GR", "2n", "3n", "4n", "16c"}}, + {Finance::IbanCountry::Hungary, {"HU", "2n", "3n", "4n", "1n", "15n", "1n"}}, + {Finance::IbanCountry::Ireland, {"IE", "2n", "4a", "6n", "8n"}}, + {Finance::IbanCountry::Italy, {"IT", "2n", "1a", "5n", "5n", "12c"}}, + {Finance::IbanCountry::Latvia, {"LV", "2n", "4a", "13n"}}, + {Finance::IbanCountry::Lithuania, {"LT", "2n", "5n", "11n"}}, + {Finance::IbanCountry::Luxembourg, {"LU", "2n", "3n", "13c"}}, + {Finance::IbanCountry::Malta, {"MT", "2n", "4a", "5n", "18c"}}, + {Finance::IbanCountry::Netherlands, {"NL", "2n", "4a", "10n"}}, + {Finance::IbanCountry::Poland, {"PL", "2n", "3n", "4n", "1n", "16n"}}, + {Finance::IbanCountry::Portugal, {"PT", "2n", "4n", "4n", "11n", "2n"}}, + {Finance::IbanCountry::Romania, {"RO", "2n", "4a", "16c"}}, + {Finance::IbanCountry::Slovakia, {"SK", "2n", "4n", "6n", "10n"}}, + {Finance::IbanCountry::Slovenia, {"SI", "2n", "2n", "3n", "8n", "2n"}}, + {Finance::IbanCountry::Spain, {"ES", "2n", "4n", "4n", "2n", "10n"}}, + {Finance::IbanCountry::Sweden, {"SE", "2n", "3n", "16n", "1n"}}, +}; + } diff --git a/src/modules/food/FoodData.cpp b/src/modules/food/FoodData.cpp deleted file mode 100644 index e9f7ce1d..00000000 --- a/src/modules/food/FoodData.cpp +++ /dev/null @@ -1,274 +0,0 @@ -#include "FoodData.h" - -#include -#include - -namespace faker -{ -const std::array alcoholicBeverages{ - "Beer", - "Wine", - "Vodka", - "Rum", - "Gin", - "Whiskey", - "Tequila", - "Brandy", - "Champagne", - "Cider", - "Sake", - "Absinthe", - "Cognac", - "Schnapps", - "Mead", - "Bourbon", - "Scotch", - "Irish Cream", - "Jägermeister", - "Pisco", - "Port Wine", - "Sherry", - "Grappa", - "Sambuca", - "Midori", - "Kahlúa", - "Baileys Irish Cream", - "Pina Colada", - "Margarita", - "Cosmopolitan", - "Mai Tai", - "Negroni", - "Martini", - "Old Fashioned", - "Mojito", - "Caipirinha", - "Piña Colada", - "Bloody Mary", - "Tom Collins", - "Singapore Sling", - "Manhattan", - "Moscow Mule", - "Paloma", - "Bellini", - "Mimosa", - "White Russian", - "Black Russian", -}; - -const std::array dishNames = { - "Sushi", - "Paella", - "Biryani", - "Poutine", - "Kebab", - "Kimchi", - "Rendang", - "Pad Krapow Moo Saap", - "Goulash", - "Pho", - "Tacos", - "Pierogi", - "Tagine", - "Moussaka", - "Feijoada", - "Dim Sum", - "Ceviche", - "Jollof Rice", - "Pierogi", - "Borscht", - "Pavlova", - "Katsudon", - "Chimichurri", - "Laksa", - "Tandoori Chicken", - "Haggis", - "Baklava", - "Caponata", - "Tom Kha Gai", - "Ramen", - "Arroz con Pollo", - "Baklava", - "Dolma", - "Samosa", - "Bánh Mì", - "Lobster Thermidor", - "Perogies", - "Arepas", - "Nasi Goreng", - "Pav Bhaji", - "Causa Rellena", - "Baba Ganoush", - "Chicken Piccata", - "Penne alla Vodka", - "Beef and Broccoli", - "Shrimp Fried Rice", - "Butter Chicken", - "Egg Fried Rice", - "Stuffed Bell Peppers", - "Chicken Tikka Masala", - "Lemon Herb Roast Chicken", - "Shrimp Scampi Pasta", - "Beef Bulgogi", - "Tom Yum Soup", - "Chicken Katsu", - "Vegetable Curry", - "Chicken Quesadilla", - "Pho", - "Honey Garlic Glazed Salmon", - "Eggplant Rollatini", - "Lemon Butter Shrimp", - "Chicken Teriyaki", - "Mango Salsa Chicken", - "Cauliflower Fried Rice", - "Chicken Fajitas", - "Sausage and Mushroom Risotto", - "Tomato Basil Mozzarella Skewers", - "Garlic Parmesan Roasted Brussels Sprouts", - "Beef Chimichanga", - "Pulled Pork Sandwich", - "Tandoori Chicken", - "Mongolian Beef", - "Vegetarian Paella", - "Chicken Enchiladas", - "Lemon Herb Grilled Fish", - "Spinach and Feta Stuffed Chicken Breast", - "Cajun Shrimp Pasta", - "Teriyaki Salmon", - "Baked Ziti", - "Chicken Alfredo Pizza", - "Caprese Stuffed Avocado", - "Lobster Roll", - "Chicken Caesar Salad", - "Beef and Mushroom Pie", - "Garlic Herb Roasted Potatoes", -}; - -const std::array foodCategories = { - "Vegetables", "Fruits", "Meat", "Seafood", "Dairy", "Grains", - "Beverages", "Desserts", "Snacks", "Condiments", "Frozen Foods", -}; - -const std::array fruits = { - "Apple", "Banana", "Orange", "Strawberry", "Pineapple", "Mango", "Grapes", - "Kiwi", "Peach", "Pear", "Cherry", "Blueberry", "Raspberry", "Blackberry", - "Avocado", "Lemon", "Lime", "Grapefruit", "Cantaloupe", "Honeydew", "Pomegranate", - "Apricot", "Plum", "Nectarine", "Fig", "Papaya", "Passion Fruit", "Guava", - "Coconut", "Dragon Fruit", "Persimmon", "Cranberry", "Date", "Lychee", "Mulberry", - "Kumquat", "Jackfruit", "Starfruit", "Rambutan", "Gooseberry", "Elderberry", -}; - -const std::array grains = { - "Wheat", "Rice", "Barley", "Oats", "Quinoa", "Corn", "Rye", - "Millet", "Buckwheat", "Sorghum", "Amaranth", "Triticale", "Spelt", "Farro", - "Kamut", "Emmer", "Freekeh", "Teff", "Job's Tears", "Einkorn", "Bulgur", - "Maize", "Semolina", "Soy", "Lentils", "Chia Seeds", "Flaxseeds", "Sunflower Seeds", -}; - -const std::array meats = { - "Chicken", "Beef", "Pork", "Lamb", "Turkey", "Fish", "Venison", "Duck", "Quail", "Goose", "Salmon", - "Shrimp", "Crab", "Lobster", "Bison", "Veal", "Haddock", "Trout", "Tuna", "Sausage", "Ham", -}; - -const std::array milkProducts = { - "Milk", "Cheese", "Yogurt", "Butter", "Cream", "Sour Cream", "Cottage Cheese", - "Whipped Cream", "Ice Cream", "Condensed Milk", "Evaporated Milk", "Mozzarella", "Feta", "Parmesan", - "Provolone", "Cheddar", "Gouda", "Blue Cheese", "Swiss Cheese", "Brie", "Camembert", - "Ricotta", "Goat Cheese", "Mascarpone", "Quark", "Havarti", "Colby", "Monterey Jack", - "Gruyère", "Havarti", "Cream Cheese", "Neufchâtel", -}; - -const std::array nonalcoholicBeverages = { - "Water", - "Tea", - "Coffee", - "Milk", - "Orange Juice", - "Apple Juice", - "Lemonade", - "Iced Tea", - "Cranberry Juice", - "Grape Juice", - "Pineapple Juice", - "Coconut Water", - "Tomato Juice", - "Ginger Ale", - "Hot Chocolate", - "Limeade", - "Grapefruit Juice", - "Club Soda", - "Root Beer", - "Fruit Punch", - "Pomegranate Juice", - "Chai Tea", - "Almond Milk", - "Soy Milk", - "Raspberry Lemonade", - "Peach Iced Tea", - "Hibiscus Tea", - "Green Smoothie", - "Vegetable Juice", - "Pear Nectar", - "Mango Lassi", -}; - -const std::array nuts = { - "Almond", "Walnut", "Pecan", "Cashew", "Pistachio", "Hazelnut", - "Macadamia", "Brazil Nut", "Pine Nut", "Chestnut", "Peanut", -}; - -const std::array oils = { - "Olive Oil", "Coconut Oil", "Vegetable Oil", "Canola Oil", "Sesame Oil", "Sunflower Oil", "Peanut Oil", - "Grapeseed Oil", "Avocado Oil", "Corn Oil", "Flaxseed Oil", "Walnut Oil", "Safflower Oil", "Hazelnut Oil", - "Almond Oil", "Palm Oil", "Mustard Oil", "Chia Seed Oil", "Hemp Oil", "Pumpkin Seed Oil", -}; - -const std::array seafoods = { - "Salmon", "Shrimp", "Tuna", "Cod", "Lobster", "Crab", "Scallops", "Mussels", "Oysters", "Sardines", - "Trout", "Haddock", "Swordfish", "Halibut", "Mahi-Mahi", "Clams", "Catfish", "Anchovies", "Sole", "Octopus", - "Squid", "Caviar", "Sea Bass", "Herring", "Pollock", "Snapper", "Surimi", "Whitefish", -}; - -const std::array seeds = { - "Chia Seeds", "Flaxseeds", "Sunflower Seeds", "Pumpkin Seeds", "Sesame Seeds", - "Poppy Seeds", "Hemp Seeds", "Quinoa", "Pomegranate Seeds", "Pine Nuts", - "Hemp Hearts", "Sacha Inchi Seeds", "Watermelon Seeds", "Sunflower Kernels", "Safflower Seeds", - "Alfalfa Seeds", "Mustard Seeds", "Coriander Seeds", "Cumin Seeds", "Fennel Seeds", - "Cardamom Seeds", "Caraway Seeds", "Ajwain Seeds", "Nigella Seeds", "Fenugreek Seeds", - "Anise Seeds", "Celery Seeds", "Dill Seeds", "Cotton Seeds", -}; - -const std::array sugarProducts = { - "Granulated Sugar", - "Brown Sugar", - "Powdered Sugar", - "Demerara Sugar", - "Turbinado Sugar", - "Coconut Sugar", - "Maple Syrup", - "Agave Nectar", - "Molasses", - "Date Syrup", - "Golden Syrup", - "Corn Syrup", - "Barley Malt Syrup", - "Rice Syrup", - "Blackstrap Molasses", - "Palm Sugar", - "Muscovado Sugar", - "Lollipop", - "Candies", - "Chocolates", - "Cookies", - "Cakes", - "Soda", - "Ice Cream", -}; - -const std::array vegetables = { - "Carrot", "Broccoli", "Spinach", "Tomato", "Bell Pepper", "Cucumber", - "Lettuce", "Kale", "Cabbage", "Zucchini", "Eggplant", "Radish", - "Celery", "Asparagus", "Cauliflower", "Green Beans", "Peas", "Brussels Sprouts", - "Artichoke", "Sweet Potato", "Potato", "Onion", "Garlic", "Ginger", - "Mushroom", "Leek", "Scallion", "Beets", "Turnip", "Rutabaga", -}; -} diff --git a/src/modules/food/FoodData.h b/src/modules/food/FoodData.h index 276db717..7e52bef0 100644 --- a/src/modules/food/FoodData.h +++ b/src/modules/food/FoodData.h @@ -5,18 +5,271 @@ namespace faker { -extern const std::array alcoholicBeverages; -extern const std::array dishNames; -extern const std::array foodCategories; -extern const std::array fruits; -extern const std::array grains; -extern const std::array meats; -extern const std::array milkProducts; -extern const std::array nonalcoholicBeverages; -extern const std::array nuts; -extern const std::array oils; -extern const std::array seafoods; -extern const std::array seeds; -extern const std::array sugarProducts; -extern const std::array vegetables; +const auto alcoholicBeverages = std::to_array({ + "Beer", + "Wine", + "Vodka", + "Rum", + "Gin", + "Whiskey", + "Tequila", + "Brandy", + "Champagne", + "Cider", + "Sake", + "Absinthe", + "Cognac", + "Schnapps", + "Mead", + "Bourbon", + "Scotch", + "Irish Cream", + "Jägermeister", + "Pisco", + "Port Wine", + "Sherry", + "Grappa", + "Sambuca", + "Midori", + "Kahlúa", + "Baileys Irish Cream", + "Pina Colada", + "Margarita", + "Cosmopolitan", + "Mai Tai", + "Negroni", + "Martini", + "Old Fashioned", + "Mojito", + "Caipirinha", + "Piña Colada", + "Bloody Mary", + "Tom Collins", + "Singapore Sling", + "Manhattan", + "Moscow Mule", + "Paloma", + "Bellini", + "Mimosa", + "White Russian", + "Black Russian", +}); + +const auto dishNames = std::to_array({ + "Sushi", + "Paella", + "Biryani", + "Poutine", + "Kebab", + "Kimchi", + "Rendang", + "Pad Krapow Moo Saap", + "Goulash", + "Pho", + "Tacos", + "Pierogi", + "Tagine", + "Moussaka", + "Feijoada", + "Dim Sum", + "Ceviche", + "Jollof Rice", + "Pierogi", + "Borscht", + "Pavlova", + "Katsudon", + "Chimichurri", + "Laksa", + "Tandoori Chicken", + "Haggis", + "Baklava", + "Caponata", + "Tom Kha Gai", + "Ramen", + "Arroz con Pollo", + "Baklava", + "Dolma", + "Samosa", + "Bánh Mì", + "Lobster Thermidor", + "Perogies", + "Arepas", + "Nasi Goreng", + "Pav Bhaji", + "Causa Rellena", + "Baba Ganoush", + "Chicken Piccata", + "Penne alla Vodka", + "Beef and Broccoli", + "Shrimp Fried Rice", + "Butter Chicken", + "Egg Fried Rice", + "Stuffed Bell Peppers", + "Chicken Tikka Masala", + "Lemon Herb Roast Chicken", + "Shrimp Scampi Pasta", + "Beef Bulgogi", + "Tom Yum Soup", + "Chicken Katsu", + "Vegetable Curry", + "Chicken Quesadilla", + "Pho", + "Honey Garlic Glazed Salmon", + "Eggplant Rollatini", + "Lemon Butter Shrimp", + "Chicken Teriyaki", + "Mango Salsa Chicken", + "Cauliflower Fried Rice", + "Chicken Fajitas", + "Sausage and Mushroom Risotto", + "Tomato Basil Mozzarella Skewers", + "Garlic Parmesan Roasted Brussels Sprouts", + "Beef Chimichanga", + "Pulled Pork Sandwich", + "Tandoori Chicken", + "Mongolian Beef", + "Vegetarian Paella", + "Chicken Enchiladas", + "Lemon Herb Grilled Fish", + "Spinach and Feta Stuffed Chicken Breast", + "Cajun Shrimp Pasta", + "Teriyaki Salmon", + "Baked Ziti", + "Chicken Alfredo Pizza", + "Caprese Stuffed Avocado", + "Lobster Roll", + "Chicken Caesar Salad", + "Beef and Mushroom Pie", + "Garlic Herb Roasted Potatoes", +}); + +const auto foodCategories = std::to_array({ + "Vegetables", "Fruits", "Meat", "Seafood", "Dairy", "Grains", + "Beverages", "Desserts", "Snacks", "Condiments", "Frozen Foods", +}); + +const auto fruits = std::to_array({ + "Apple", "Banana", "Orange", "Strawberry", "Pineapple", "Mango", "Grapes", + "Kiwi", "Peach", "Pear", "Cherry", "Blueberry", "Raspberry", "Blackberry", + "Avocado", "Lemon", "Lime", "Grapefruit", "Cantaloupe", "Honeydew", "Pomegranate", + "Apricot", "Plum", "Nectarine", "Fig", "Papaya", "Passion Fruit", "Guava", + "Coconut", "Dragon Fruit", "Persimmon", "Cranberry", "Date", "Lychee", "Mulberry", + "Kumquat", "Jackfruit", "Starfruit", "Rambutan", "Gooseberry", "Elderberry", +}); + +const auto grains = std::to_array({ + "Wheat", "Rice", "Barley", "Oats", "Quinoa", "Corn", "Rye", + "Millet", "Buckwheat", "Sorghum", "Amaranth", "Triticale", "Spelt", "Farro", + "Kamut", "Emmer", "Freekeh", "Teff", "Job's Tears", "Einkorn", "Bulgur", + "Maize", "Semolina", "Soy", "Lentils", "Chia Seeds", "Flaxseeds", "Sunflower Seeds", +}); + +const auto meats = std::to_array({ + "Chicken", "Beef", "Pork", "Lamb", "Turkey", "Fish", "Venison", "Duck", "Quail", "Goose", "Salmon", + "Shrimp", "Crab", "Lobster", "Bison", "Veal", "Haddock", "Trout", "Tuna", "Sausage", "Ham", +}); + +const auto milkProducts = std::to_array({ + "Milk", "Cheese", "Yogurt", "Butter", "Cream", "Sour Cream", "Cottage Cheese", + "Whipped Cream", "Ice Cream", "Condensed Milk", "Evaporated Milk", "Mozzarella", "Feta", "Parmesan", + "Provolone", "Cheddar", "Gouda", "Blue Cheese", "Swiss Cheese", "Brie", "Camembert", + "Ricotta", "Goat Cheese", "Mascarpone", "Quark", "Havarti", "Colby", "Monterey Jack", + "Gruyère", "Havarti", "Cream Cheese", "Neufchâtel", +}); + +const auto nonalcoholicBeverages = std::to_array({ + "Water", + "Tea", + "Coffee", + "Milk", + "Orange Juice", + "Apple Juice", + "Lemonade", + "Iced Tea", + "Cranberry Juice", + "Grape Juice", + "Pineapple Juice", + "Coconut Water", + "Tomato Juice", + "Ginger Ale", + "Hot Chocolate", + "Limeade", + "Grapefruit Juice", + "Club Soda", + "Root Beer", + "Fruit Punch", + "Pomegranate Juice", + "Chai Tea", + "Almond Milk", + "Soy Milk", + "Raspberry Lemonade", + "Peach Iced Tea", + "Hibiscus Tea", + "Green Smoothie", + "Vegetable Juice", + "Pear Nectar", + "Mango Lassi", +}); + +const auto nuts = std::to_array({ + "Almond", "Walnut", "Pecan", "Cashew", "Pistachio", "Hazelnut", + "Macadamia", "Brazil Nut", "Pine Nut", "Chestnut", "Peanut", +}); + +const auto oils = std::to_array({ + "Olive Oil", "Coconut Oil", "Vegetable Oil", "Canola Oil", "Sesame Oil", "Sunflower Oil", "Peanut Oil", + "Grapeseed Oil", "Avocado Oil", "Corn Oil", "Flaxseed Oil", "Walnut Oil", "Safflower Oil", "Hazelnut Oil", + "Almond Oil", "Palm Oil", "Mustard Oil", "Chia Seed Oil", "Hemp Oil", "Pumpkin Seed Oil", +}); + +const auto seafoods = std::to_array({ + "Salmon", "Shrimp", "Tuna", "Cod", "Lobster", "Crab", "Scallops", "Mussels", "Oysters", "Sardines", + "Trout", "Haddock", "Swordfish", "Halibut", "Mahi-Mahi", "Clams", "Catfish", "Anchovies", "Sole", "Octopus", + "Squid", "Caviar", "Sea Bass", "Herring", "Pollock", "Snapper", "Surimi", "Whitefish", +}); + +const auto seeds = std::to_array({ + "Chia Seeds", "Flaxseeds", "Sunflower Seeds", "Pumpkin Seeds", "Sesame Seeds", + "Poppy Seeds", "Hemp Seeds", "Quinoa", "Pomegranate Seeds", "Pine Nuts", + "Hemp Hearts", "Sacha Inchi Seeds", "Watermelon Seeds", "Sunflower Kernels", "Safflower Seeds", + "Alfalfa Seeds", "Mustard Seeds", "Coriander Seeds", "Cumin Seeds", "Fennel Seeds", + "Cardamom Seeds", "Caraway Seeds", "Ajwain Seeds", "Nigella Seeds", "Fenugreek Seeds", + "Anise Seeds", "Celery Seeds", "Dill Seeds", "Cotton Seeds", +}); + +const auto sugarProducts = std::to_array({ + "Granulated Sugar", + "Brown Sugar", + "Powdered Sugar", + "Demerara Sugar", + "Turbinado Sugar", + "Coconut Sugar", + "Maple Syrup", + "Agave Nectar", + "Molasses", + "Date Syrup", + "Golden Syrup", + "Corn Syrup", + "Barley Malt Syrup", + "Rice Syrup", + "Blackstrap Molasses", + "Palm Sugar", + "Muscovado Sugar", + "Lollipop", + "Candies", + "Chocolates", + "Cookies", + "Cakes", + "Soda", + "Ice Cream", +}); + +const auto vegetables = std::to_array({ + "Carrot", "Broccoli", "Spinach", "Tomato", "Bell Pepper", "Cucumber", + "Lettuce", "Kale", "Cabbage", "Zucchini", "Eggplant", "Radish", + "Celery", "Asparagus", "Cauliflower", "Green Beans", "Peas", "Brussels Sprouts", + "Artichoke", "Sweet Potato", "Potato", "Onion", "Garlic", "Ginger", + "Mushroom", "Leek", "Scallion", "Beets", "Turnip", "Rutabaga", +}); + } diff --git a/src/modules/hacker/HackerData.cpp b/src/modules/hacker/HackerData.cpp deleted file mode 100644 index bc57f03c..00000000 --- a/src/modules/hacker/HackerData.cpp +++ /dev/null @@ -1,47 +0,0 @@ -#include "HackerData.h" - -#include -#include - -namespace faker -{ -const std::array abbreviations = { - "e.g.", "i.e.", "etc.", "Mr.", "Mrs.", "Ms.", "Dr.", "Prof.", - "Ave.", "St.", "A.M.", "P.M.", "USA", "UK", "CEO", "CFO", -}; - -const std::array adjectives = { - "auxiliary", "primary", "back-end", "digital", "open-source", "virtual", "cross-platform", "redundant", - "online", "haptic", "multi-byte", "bluetooth", "wireless", "1080p", "neural", "optical", -}; - -const std::array ingverbs = { - "backing up", "bypassing", "hacking", "overriding", "compressing", "copying", "navigating", "indexing", - "connecting", "generating", "quantifying", "calculating", "synthesizing", "transmitting", "programming", "parsing", -}; - -const std::array nouns = { - "driver", "protocol", "bandwidth", "panel", "microchip", "program", "port", "card", - "array", "interface", "system", "sensor", "firewall", "hard drive", "pixel", "alarm", -}; - -const std::array phrases = { - "If we {verb} the {noun}, we can get to the {abbreviation} {noun} through the {adjective} " - "{abbreviation} {noun}!", - "We need to {verb} the {adjective} {abbreviation} {noun}!", - "Try to {verb} the {abbreviation} {noun}, maybe it will {verb} the {adjective} {noun}!", - "You can't {verb} the {noun} without {ingverb} the {adjective} {abbreviation} {noun}!", - "Use the {adjective} {abbreviation} {noun}, then you can {verb} the {adjective} {noun}!", - "The {abbreviation} {noun} is down, {verb} the {adjective} {noun} so we can {verb} the " - "{abbreviation} {noun}!", - "{ingverb} the {noun} won't do anything, we need to {verb} the {adjective} {abbreviation} " - "{noun}!", - "I'll {verb} the {adjective} {abbreviation} {noun}, that should {noun} the {abbreviation} " - "{noun}!", -}; - -const std::array verbs = { - "back up", "bypass", "hack", "override", "compress", "copy", "navigate", "index", - "connect", "generate", "quantify", "calculate", "synthesize", "transmit", "program", "parse", -}; -} diff --git a/src/modules/hacker/HackerData.h b/src/modules/hacker/HackerData.h index 3d264b57..a9024c54 100644 --- a/src/modules/hacker/HackerData.h +++ b/src/modules/hacker/HackerData.h @@ -5,10 +5,44 @@ namespace faker { -extern const std::array abbreviations; -extern const std::array adjectives; -extern const std::array ingverbs; -extern const std::array nouns; -extern const std::array phrases; -extern const std::array verbs; +const auto abbreviations = std::to_array({ + "e.g.", "i.e.", "etc.", "Mr.", "Mrs.", "Ms.", "Dr.", "Prof.", + "Ave.", "St.", "A.M.", "P.M.", "USA", "UK", "CEO", "CFO", +}); + +const auto adjectives = std::to_array({ + "auxiliary", "primary", "back-end", "digital", "open-source", "virtual", "cross-platform", "redundant", + "online", "haptic", "multi-byte", "bluetooth", "wireless", "1080p", "neural", "optical", +}); + +const auto ingverbs = std::to_array({ + "backing up", "bypassing", "hacking", "overriding", "compressing", "copying", "navigating", "indexing", + "connecting", "generating", "quantifying", "calculating", "synthesizing", "transmitting", "programming", "parsing", +}); + +const auto nouns = std::to_array({ + "driver", "protocol", "bandwidth", "panel", "microchip", "program", "port", "card", + "array", "interface", "system", "sensor", "firewall", "hard drive", "pixel", "alarm", +}); + +const auto phrases = std::to_array({ + "If we {verb} the {noun}, we can get to the {abbreviation} {noun} through the {adjective} " + "{abbreviation} {noun}!", + "We need to {verb} the {adjective} {abbreviation} {noun}!", + "Try to {verb} the {abbreviation} {noun}, maybe it will {verb} the {adjective} {noun}!", + "You can't {verb} the {noun} without {ingverb} the {adjective} {abbreviation} {noun}!", + "Use the {adjective} {abbreviation} {noun}, then you can {verb} the {adjective} {noun}!", + "The {abbreviation} {noun} is down, {verb} the {adjective} {noun} so we can {verb} the " + "{abbreviation} {noun}!", + "{ingverb} the {noun} won't do anything, we need to {verb} the {adjective} {abbreviation} " + "{noun}!", + "I'll {verb} the {adjective} {abbreviation} {noun}, that should {noun} the {abbreviation} " + "{noun}!", +}); + +const auto verbs = std::to_array({ + "back up", "bypass", "hack", "override", "compress", "copy", "navigate", "index", + "connect", "generate", "quantify", "calculate", "synthesize", "transmit", "program", "parse", +}); + } diff --git a/src/modules/internet/InternetData.cpp b/src/modules/internet/InternetData.cpp deleted file mode 100644 index e3350917..00000000 --- a/src/modules/internet/InternetData.cpp +++ /dev/null @@ -1,870 +0,0 @@ -#include "InternetData.h" - -#include -#include - -namespace faker -{ -const std::array domainSuffixes = { - "biz", "com", "info", "name", "net", "org", -}; - -const std::array emailHosts = { - "gmail.com", "hotmail.com", "outlook.com", "proton.me", "yahoo.com", -}; - -const std::array emailExampleHosts = { - "example.com", - "example.net", - "example.org", -}; - -const std::array smileyEmojis = { - "☠️", - "☹️", - "☺️", - "❣️", - "❤️", - "❤️‍🔥", - "❤️‍🩹", - "👁️‍🗨️", - "👹", - "👺", - "👻", - "👽", - "👾", - "👿", - "💀", - "💋", - "💌", - "💓", - "💔", - "💕", - "💖", - "💗", - "💘", - "💙", - "💚", - "💛", - "💜", - "💝", - "💞", - "💟", - "💢", - "💣", - "💤", - "💥", - "💦", - "💨", - "💩", - "💫", - "💬", - "💭", - "💯", - "🕳️", - "🖤", - "🗨️", - "🗯️", - "😀", - "😁", - "😂", - "😃", - "😄", - "😅", - "😆", - "😇", - "😈", - "😉", - "😊", - "😋", - "😌", - "😍", - "😎", - "😏", - "😐", - "😑", - "😒", - "😓", - "😔", - "😕", - "😖", - "😗", - "😘", - "😙", - "😚", - "😛", - "😜", - "😝", - "😞", - "😟", - "😠", - "😡", - "😢", - "😣", - "😤", - "😥", - "😦", - "😧", - "😨", - "😩", - "😪", - "😫", - "😬", - "😭", - "😮", - "😮‍💨", - "😯", - "😰", - "😱", - "😲", - "😳", - "😴", - "😵", - "😵‍💫", - "😶", - "😶‍🌫️", - "😷", - "😸", - "😹", - "😺", - "😻", - "😼", - "😽", - "😾", - "😿", - "🙀", - "🙁", - "🙂", - "🙃", - "🙄", - "🙈", - "🙉", - "🙊", - "🤍", - "🤎", - "🤐", - "🤑", - "🤒", - "🤓", - "🤔", - "🤕", - "🤖", - "🤗", - "🤠", - "🤡", - "🤢", - "🤣", - "🤤", - "🤥", - "🤧", - "🤨", - "🤩", - "🤪", - "🤫", - "🤬", - "🤭", - "🤮", - "🤯", - "🥰", - "🥱", - "🥲", - "🥳", - "🥴", - "🥵", - "🥶", - "🥸", - "🥺", - "🧐", - "🧡", -}; - -const std::array bodyEmojis = { - "☝️", "☝🏻", "☝🏼", "☝🏽", "☝🏾", "☝🏿", "✊", "✊🏻", "✊🏼", "✊🏽", "✊🏾", "✊🏿", "✋", "✋🏻", - "✋🏼", "✋🏽", "✋🏾", "✋🏿", "✌️", "✌🏻", "✌🏼", "✌🏽", "✌🏾", "✌🏿", "✍️", "✍🏻", "✍🏼", "✍🏽", - "✍🏾", "✍🏿", "👀", "👁️", "👂", "👂🏻", "👂🏼", "👂🏽", "👂🏾", "👂🏿", "👃", "👃🏻", "👃🏼", "👃🏽", - "👃🏾", "👃🏿", "👄", "👅", "👆", "👆🏻", "👆🏼", "👆🏽", "👆🏾", "👆🏿", "👇", "👇🏻", "👇🏼", "👇🏽", - "👇🏾", "👇🏿", "👈", "👈🏻", "👈🏼", "👈🏽", "👈🏾", "👈🏿", "👉", "👉🏻", "👉🏼", "👉🏽", "👉🏾", "👉🏿", - "👊", "👊🏻", "👊🏼", "👊🏽", "👊🏾", "👊🏿", "👋", "👋🏻", "👋🏼", "👋🏽", "👋🏾", "👋🏿", "👌", "👌🏻", - "👌🏼", "👌🏽", "👌🏾", "👌🏿", "👍", "👍🏻", "👍🏼", "👍🏽", "👍🏾", "👍🏿", "👎", "👎🏻", "👎🏼", "👎🏽", - "👎🏾", "👎🏿", "👏", "👏🏻", "👏🏼", "👏🏽", "👏🏾", "👏🏿", "👐", "👐🏻", "👐🏼", "👐🏽", "👐🏾", "👐🏿", - "💅", "💅🏻", "💅🏼", "💅🏽", "💅🏾", "💅🏿", "💪", "💪🏻", "💪🏼", "💪🏽", "💪🏾", "💪🏿", "🖐️", "🖐🏻", - "🖐🏼", "🖐🏽", "🖐🏾", "🖐🏿", "🖕", "🖕🏻", "🖕🏼", "🖕🏽", "🖕🏾", "🖕🏿", "🖖", "🖖🏻", "🖖🏼", "🖖🏽", - "🖖🏾", "🖖🏿", "🙌", "🙌🏻", "🙌🏼", "🙌🏽", "🙌🏾", "🙌🏿", "🙏", "🙏🏻", "🙏🏼", "🙏🏽", "🙏🏾", "🙏🏿", - "🤌", "🤌🏻", "🤌🏼", "🤌🏽", "🤌🏾", "🤌🏿", "🤏", "🤏🏻", "🤏🏼", "🤏🏽", "🤏🏾", "🤏🏿", "🤘", "🤘🏻", - "🤘🏼", "🤘🏽", "🤘🏾", "🤘🏿", "🤙", "🤙🏻", "🤙🏼", "🤙🏽", "🤙🏾", "🤙🏿", "🤚", "🤚🏻", "🤚🏼", "🤚🏽", - "🤚🏾", "🤚🏿", "🤛", "🤛🏻", "🤛🏼", "🤛🏽", "🤛🏾", "🤛🏿", "🤜", "🤜🏻", "🤜🏼", "🤜🏽", "🤜🏾", "🤜🏿", - "🤝", "🤞", "🤞🏻", "🤞🏼", "🤞🏽", "🤞🏾", "🤞🏿", "🤟", "🤟🏻", "🤟🏼", "🤟🏽", "🤟🏾", "🤟🏿", "🤲", - "🤲🏻", "🤲🏼", "🤲🏽", "🤲🏾", "🤲🏿", "🤳", "🤳🏻", "🤳🏼", "🤳🏽", "🤳🏾", "🤳🏿", "🦴", "🦵", "🦵🏻", - "🦵🏼", "🦵🏽", "🦵🏾", "🦵🏿", "🦶", "🦶🏻", "🦶🏼", "🦶🏽", "🦶🏾", "🦶🏿", "🦷", "🦻", "🦻🏻", "🦻🏼", - "🦻🏽", "🦻🏾", "🦻🏿", "🦾", "🦿", "🧠", "🫀", "🫁", -}; - -const std::array personEmojis = { - "⛷️", - "⛹️", - "⛹️‍♀️", - "⛹️‍♂️", - "👧", - "👨", - "👨‍⚕️", - "👨‍⚖️", - "👨‍✈️", - "👨‍❤️‍👨", - "👨‍❤️‍💋‍👨", - "👨‍🌾", - "👨‍🍳", - "👨‍🍼", - "👨‍🦯", - "👨‍🦰", - "👨‍🦱", - "👨‍🦲", - "👨‍🦳", - "👨‍🦼", - "👨‍🦽", - "👮‍♀️", - "👰‍♀️", - "👰‍♂️", - "👰🏻", - "👱‍♀️", - "👱‍♂️", - "👳‍♀️", - "💆‍♀️", - "💆‍♂️", - "🙇", - "🙇‍♀️", - "🙇‍♂️", - "🙋", - "🙋‍♀️", - "🙋‍♂️", - "🙎", - "🙎‍♀️", - "🚣", - "🚣‍♀️", - "🚣‍♂️", - "🚴‍♀️", - "🚴‍♂️", - "🚵", - "🚵‍♀️", - "🚵‍♂️", - "🚶", - "🚶‍♀️", - "🚶‍♂️", - "🤦", - "🤦‍♀️", - "🤦‍♂️", - "🤰", - "🤱", - "🤴", - "🤵", - "🤵‍♀️", - "🤵‍♂️", - "🤷", - "🤷‍♀️", - "🤷‍♂️", - "🤸", - "🤸‍♀️", - "🤹", - "🤺", - "🤼", - "🤼‍♀️", - "🤼‍♂️", - "🤽", - "🤾", - "🤾‍♀️", - "🦸‍♀️", - "🧍", - "🧎", - "🧏", - "🧏‍♀️", - "🧑", - "🧑‍⚕️", - "🧑‍⚖️", - "🧑‍✈️", - "🧑‍🌾", - "🧑‍🍳", - "🧑‍🍼", - "🧑‍💼", - "🧑‍🔧", - "🧑‍🔬", - "🧑‍🚀", - "🧑‍🚒", - "🧑‍🤝‍🧑", - "🧑‍🦯", - "🧑‍🦰", - "🧑‍🦱", - "🧑‍🦲", - "🧑‍🦳", - "🧑‍🦼", - "🧖", - "🧖‍♀️", - "🧖‍♂️", - "🧗‍♀️", - "🧗‍♂️", - "🧘", - "🧘‍♀️", - "🧙", - "🧙‍♀️", - "🧙‍♂️", - "🧚", - "🧚‍♀️", - "🧚‍♂️", - "🧛", - "🧛‍♀️", - "🧛‍♂️", - "🧜", - "🧜‍♀️", - "🧜‍♂️", - "🧝‍♀️", - "🧝‍♂️", - "🧞", - "🧞‍♀️", - "🧞‍♂️", - "🧟", - "🧟‍♀️", - "🧟‍♂️", -}; - -const std::array natureEmojis = { - "☘️", "🌱", - "🌲", "🌳", - "🌴", "🌵", - "🌷", "🌸", - "🌹", "🌺", - "🌻", "🌼", - "🌾", "🌿", - "🍀", "🍁", - "🍂", "🍃", - "🏵️", "🐀", - "🐁", "🐂", - "🐃", "🐄", - "🐅", "🐆", - "🐇", "🐈", - "🐈‍⬛", "🐉", - "🐊", "🐋", - "🐌", "🐍", - "🐎", "🐏", - "🐐", "🐑", - "🐒", "🐓", - "🐔", "🐕", - "🐕‍🦺", "🐖", - "🐗", "🐘", - "🐙", "🐚", - "🐛", "🐜", - "🐝", "🐞", - "🐟", "🐠", - "🐡", "🐢", - "🐣", "🐤", - "🐥", "🐦", - "🐧", "🐨", - "🐩", "🐪", - "🐫", "🐬", - "🐭", "🐮", - "🐯", "🐰", - "🐱", "🐲", - "🐳", "🐴", - "🐵", "🐶", - "🐷", "🐸", - "🐹", "🐺", - "🐻", "🐻‍❄️", - "🐼", "🐽", - "🐾", "🐿️", - "💐", "💮", - "🕊️", "🕷️", - "🕸️", "🥀", - "🦁", "🦂", - "🦃", "🦄", - "🦅", "🦆", - "🦇", "🦈", - "🦉", "🦊", - "🦋", "🦌", - "🦍", "🦎", - "🦏", "🦒", - "🦓", "🦔", - "🦕", "🦖", - "🦗", "🦘", - "🦙", "🦚", - "🦛", "🦜", - "🦝", "🦟", - "🦠", "🦡", - "🦢", "🦣", - "🦤", "🦥", - "🦦", "🦧", - "🦨", "🦩", - "🦫", "🦬", - "🦭", "🦮", - "🪰", "🪱", - "🪲", "🪳", - "🪴", "🪶", -}; - -const std::array foodEmojis = { - "☕", "🌭", "🌮", "🌯", "🌰", "🌶️", "🌽", "🍄", "🍅", "🍆", "🍇", "🍈", "🍉", "🍊", "🍋", "🍌", "🍍", "🍎", "🍏", - "🍐", "🍑", "🍒", "🍓", "🍔", "🍕", "🍖", "🍗", "🍘", "🍙", "🍚", "🍛", "🍜", "🍝", "🍞", "🍟", "🍠", "🍡", "🍢", - "🍣", "🍤", "🍥", "🍦", "🍧", "🍨", "🍩", "🍪", "🍫", "🍬", "🍭", "🍮", "🍯", "🍰", "🍱", "🍲", "🍳", "🍴", "🍵", - "🍶", "🍷", "🍸", "🍹", "🍺", "🍻", "🍼", "🍽️", "🍾", "🍿", "🎂", "🏺", "🔪", "🥂", "🥃", "🥄", "🥐", "🥑", "🥒", - "🥓", "🥔", "🥕", "🥖", "🥗", "🥘", "🥙", "🥚", "🥛", "🥜", "🥝", "🥞", "🥟", "🥠", "🥡", "🥢", "🥣", "🥤", "🥥", - "🥦", "🥧", "🥨", "🥩", "🥪", "🥫", "🥬", "🥭", "🥮", "🥯", "🦀", "🦐", "🦑", "🦞", "🦪", "🧀", "🧁", "🧂", "🧃", - "🧄", "🧅", "🧆", "🧇", "🧈", "🧉", "🧊", "🧋", "🫐", "🫑", "🫒", "🫓", "🫔", "🫕", "🫖", -}; - -const std::array travelEmojis = { - "⌚", "⌛", "⏰", "⏱️", "⏲️", "⏳", "☀️", "☁️", "☂️", "☃️", "☄️", "☔", "♨️", "⚓", "⚡", "⛄", "⛅", "⛈️", - "⛩️", "⛪", "⛰️", "⛱️", "⛲", "⛴️", "⛵", "⛺", "⛽", "✈️", "❄️", "⭐", "🌀", "🌁", "🌂", "🌃", "🌄", "🌅", - "🌆", "🌇", "🌈", "🌉", "🌊", "🌋", "🌌", "🌍", "🌎", "🌏", "🌐", "🌑", "🌒", "🌓", "🌔", "🌕", "🌖", "🌗", - "🌘", "🌙", "🌚", "🌛", "🌜", "🌝", "🌞", "🌟", "🌠", "🌡️", "🌤️", "🌥️", "🌦️", "🌧️", "🌨️", "🌩️", "🌪️", "🌫️", - "🌬️", "🎠", "🎡", "🎢", "🎪", "🏍️", "🏎️", "🏔️", "🏕️", "🏖️", "🏗️", "🏘️", "🏙️", "🏚️", "🏛️", "🏜️", "🏝️", "🏞️", - "🏟️", "🏠", "🏡", "🏢", "🏣", "🏤", "🏥", "🏦", "🏨", "🏩", "🏪", "🏫", "🏬", "🏭", "🏯", "🏰", "💈", "💒", - "💧", "💺", "🔥", "🕋", "🕌", "🕍", "🕐", "🕑", "🕒", "🕓", "🕔", "🕕", "🕖", "🕗", "🕘", "🕙", "🕚", "🕛", - "🕜", "🕝", "🕞", "🕟", "🕠", "🕡", "🕢", "🕣", "🕤", "🕥", "🕦", "🕧", "🕰️", "🗺️", "🗻", "🗼", "🗽", "🗾", - "🚀", "🚁", "🚂", "🚃", "🚄", "🚅", "🚆", "🚇", "🚈", "🚉", "🚊", "🚋", "🚌", "🚍", "🚎", "🚏", "🚐", "🚑", - "🚒", "🚓", "🚔", "🚕", "🚖", "🚗", "🚘", "🚙", "🚚", "🚛", "🚜", "🚝", "🚞", "🚟", "🚠", "🚡", "🚢", "🚤", - "🚥", "🚦", "🚧", "🚨", "🚲", "🛎️", "🛑", "🛕", "🛖", "🛢️", "🛣️", "🛤️", "🛥️", "🛩️", "🛫", "🛬", "🛰️", "🛳️", - "🛴", "🛵", "🛶", "🛸", "🛹", "🛺", "🛻", "🛼", "🦼", "🦽", "🧭", "🧱", "🧳", "🪂", "🪐", "🪨", "🪵", -}; - -const std::array activityEmojis = { - "♟️", "♠️", "♣️", "♥️", "♦️", "⚽", "⚾", "⛳", "⛸️", "✨", "🀄", "🃏", "🎀", "🎁", "🎃", "🎄", "🎆", - "🎇", "🎈", "🎉", "🎊", "🎋", "🎍", "🎎", "🎏", "🎐", "🎑", "🎖️", "🎗️", "🎟️", "🎣", "🎨", "🎫", "🎭", - "🎮", "🎯", "🎰", "🎱", "🎲", "🎳", "🎴", "🎽", "🎾", "🎿", "🏀", "🏅", "🏆", "🏈", "🏉", "🏏", "🏐", - "🏑", "🏒", "🏓", "🏸", "🔮", "🕹️", "🖼️", "🛷", "🤿", "🥅", "🥇", "🥈", "🥉", "🥊", "🥋", "🥌", "🥍", - "🥎", "🥏", "🧧", "🧨", "🧩", "🧵", "🧶", "🧸", "🧿", "🪀", "🪁", "🪄", "🪅", "🪆", "🪡", "🪢", -}; - -const std::array objectEmojis = { - "⌨️", "☎️", "⚒️", "⚔️", "⚖️", "⚗️", "⚙️", "⚰️", "⚱️", "⛏️", "⛑️", "⛓️", "✂️", "✉️", "✏️", "✒️", "🎒", "🎓", - "🎙️", "🎚️", "🎛️", "🎞️", "🎤", "🎥", "🎧", "🎩", "🎬", "🎵", "🎶", "🎷", "🎸", "🎹", "🎺", "🎻", "🎼", "🏮", - "🏷️", "🏹", "👑", "👒", "👓", "👔", "👕", "👖", "👗", "👘", "👙", "👚", "👛", "👜", "👝", "👞", "👟", "👠", - "👡", "👢", "💄", "💉", "💊", "💍", "💎", "💡", "💰", "💳", "💴", "💵", "💶", "💷", "💸", "💹", "💻", "💼", - "💽", "💾", "💿", "📀", "📁", "📂", "📃", "📄", "📅", "📆", "📇", "📈", "📉", "📊", "📋", "📌", "📍", "📎", - "📏", "📐", "📑", "📒", "📓", "📔", "📕", "📖", "📗", "📘", "📙", "📚", "📜", "📝", "📞", "📟", "📠", "📡", - "📢", "📣", "📤", "📥", "📦", "📧", "📨", "📩", "📪", "📫", "📬", "📭", "📮", "📯", "📰", "📱", "📲", "📷", - "📸", "📹", "📺", "📻", "📼", "📽️", "📿", "🔇", "🔈", "🔉", "🔊", "🔋", "🔌", "🔍", "🔎", "🔏", "🔐", "🔑", - "🔒", "🔓", "🔔", "🔕", "🔖", "🔗", "🔦", "🔧", "🔨", "🔩", "🔫", "🔬", "🔭", "🕯️", "🕶️", "🖇️", "🖊️", "🖋️", - "🖌️", "🖍️", "🖥️", "🖨️", "🖱️", "🖲️", "🗂️", "🗃️", "🗄️", "🗑️", "🗒️", "🗓️", "🗜️", "🗝️", "🗞️", "🗡️", "🗳️", "🗿", - "🚪", "🚬", "🚽", "🚿", "🛁", "🛋️", "🛍️", "🛏️", "🛒", "🛗", "🛠️", "🛡️", "🥁", "🥻", "🥼", "🥽", "🥾", "🥿", - "🦯", "🦺", "🧢", "🧣", "🧤", "🧥", "🧦", "🧪", "🧫", "🧬", "🧮", "🧯", "🧰", "🧲", "🧴", "🧷", "🧹", "🧺", - "🧻", "🧼", "🧽", "🧾", "🩰", "🩱", "🩲", "🩳", "🩴", "🩸", "🩹", "🩺", "🪃", "🪑", "🪒", "🪓", "🪔", "🪕", - "🪖", "🪗", "🪘", "🪙", "🪚", "🪛", "🪜", "🪝", "🪞", "🪟", "🪠", "🪣", "🪤", "🪥", "🪦", "🪧", -}; - -const std::array symbolEmojis = { - "#️⃣", "*️⃣", "0️⃣", "1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣", "6️⃣", "7️⃣", "8️⃣", "9️⃣", "©️", "®️", "‼️", "⁉️", "™️", "ℹ️", "↔️", - "↕️", "↖️", "↗️", "↘️", "↙️", "↩️", "↪️", "⏏️", "⏩", "⏪", "⏫", "⏬", "⏭️", "⏮️", "⏯️", "⏸️", "⏹️", "⏺️", "Ⓜ️", - "▪️", "▫️", "▶️", "◀️", "◻️", "◼️", "◽", "◾", "☑️", "☢️", "☣️", "☦️", "☪️", "☮️", "☯️", "☸️", "♀️", "♂️", "♈", - "♉", "♊", "♋", "♌", "♍", "♎", "♏", "♐", "♑", "♒", "♓", "♻️", "♾️", "♿", "⚕️", "⚛️", "⚜️", "⚠️", "⚧️", - "⚪", "⚫", "⛎", "⛔", "✅", "✔️", "✖️", "✝️", "✡️", "✳️", "✴️", "❇️", "❌", "❎", "❓", "❔", "❕", "❗", "➕", - "➖", "➗", "➡️", "➰", "➿", "⤴️", "⤵️", "⬅️", "⬆️", "⬇️", "⬛", "⬜", "⭕", "〰️", "〽️", "㊗️", "㊙️", "🅰️", "🅱️", - "🅾️", "🅿️", "🆎", "🆑", "🆒", "🆓", "🆔", "🆕", "🆖", "🆗", "🆘", "🆙", "🆚", "🈁", "🈂️", "🈚", "🈯", "🈲", "🈳", - "🈴", "🈵", "🈶", "🈷️", "🈸", "🈹", "🈺", "🉐", "🉑", "🎦", "🏧", "💠", "💱", "💲", "📛", "📳", "📴", "📵", "📶", - "🔀", "🔁", "🔂", "🔃", "🔄", "🔅", "🔆", "🔘", "🔙", "🔚", "🔛", "🔜", "🔝", "🔞", "🔟", "🔠", "🔡", "🔢", "🔣", - "🔤", "🔯", "🔰", "🔱", "🔲", "🔳", "🔴", "🔵", "🔶", "🔷", "🔸", "🔹", "🔺", "🔻", "🔼", "🔽", "🕉️", "🕎", "🚫", - "🚭", "🚮", "🚯", "🚰", "🚱", "🚳", "🚷", "🚸", "🚹", "🚺", "🚻", "🚼", "🚾", "🛂", "🛃", "🛄", "🛅", "🛐", "🟠", - "🟡", "🟢", "🟣", "🟤", "🟥", "🟦", "🟧", "🟨", "🟩", "🟪", "🟫", -}; - -const std::array flagEmojis = { - "🇦🇨", - "🇦🇩", - "🇦🇪", - "🇦🇫", - "🇦🇬", - "🇦🇮", - "🇦🇱", - "🇦🇲", - "🇦🇴", - "🇦🇶", - "🇦🇷", - "🇦🇸", - "🇦🇹", - "🇦🇺", - "🇦🇼", - "🇦🇽", - "🇦🇿", - "🇧🇦", - "🇧🇧", - "🇧🇩", - "🇧🇪", - "🇧🇫", - "🇧🇬", - "🇧🇭", - "🇧🇮", - "🇧🇯", - "🇧🇱", - "🇧🇲", - "🇧🇳", - "🇧🇴", - "🇧🇶", - "🇧🇷", - "🇧🇸", - "🇧🇹", - "🇧🇻", - "🇧🇼", - "🇧🇾", - "🇧🇿", - "🇨🇦", - "🇨🇨", - "🇨🇩", - "🇨🇫", - "🇨🇬", - "🇨🇭", - "🇨🇮", - "🇨🇰", - "🇨🇱", - "🇨🇲", - "🇨🇳", - "🇨🇴", - "🇨🇵", - "🇨🇷", - "🇨🇺", - "🇨🇻", - "🇨🇼", - "🇨🇽", - "🇨🇾", - "🇨🇿", - "🇩🇪", - "🇩🇬", - "🇩🇯", - "🇩🇰", - "🇩🇲", - "🇩🇴", - "🇩🇿", - "🇪🇦", - "🇪🇨", - "🇪🇪", - "🇪🇬", - "🇪🇭", - "🇪🇷", - "🇪🇸", - "🇪🇹", - "🇪🇺", - "🇫🇮", - "🇫🇯", - "🇫🇰", - "🇫🇲", - "🇫🇴", - "🇫🇷", - "🇬🇦", - "🇬🇧", - "🇬🇩", - "🇬🇪", - "🇬🇫", - "🇬🇬", - "🇬🇭", - "🇬🇮", - "🇬🇱", - "🇬🇲", - "🇬🇳", - "🇬🇵", - "🇬🇶", - "🇬🇷", - "🇬🇸", - "🇬🇹", - "🇬🇺", - "🇬🇼", - "🇬🇾", - "🇭🇰", - "🇭🇲", - "🇭🇳", - "🇭🇷", - "🇭🇹", - "🇭🇺", - "🇮🇨", - "🇮🇩", - "🇮🇪", - "🇮🇱", - "🇮🇲", - "🇮🇳", - "🇮🇴", - "🇮🇶", - "🇮🇷", - "🇮🇸", - "🇮🇹", - "🇯🇪", - "🇯🇲", - "🇯🇴", - "🇯🇵", - "🇰🇪", - "🇰🇬", - "🇰🇭", - "🇰🇮", - "🇰🇲", - "🇰🇳", - "🇰🇵", - "🇰🇷", - "🇰🇼", - "🇰🇾", - "🇰🇿", - "🇱🇦", - "🇱🇧", - "🇱🇨", - "🇱🇮", - "🇱🇰", - "🇱🇷", - "🇱🇸", - "🇱🇹", - "🇱🇺", - "🇱🇻", - "🇱🇾", - "🇲🇦", - "🇲🇨", - "🇲🇩", - "🇲🇪", - "🇲🇫", - "🇲🇬", - "🇲🇭", - "🇲🇰", - "🇲🇱", - "🇲🇲", - "🇲🇳", - "🇲🇴", - "🇲🇵", - "🇲🇶", - "🇲🇷", - "🇲🇸", - "🇲🇹", - "🇲🇺", - "🇲🇻", - "🇲🇼", - "🇲🇽", - "🇲🇾", - "🇲🇿", - "🇳🇦", - "🇳🇨", - "🇳🇪", - "🇳🇫", - "🇳🇬", - "🇳🇮", - "🇳🇱", - "🇳🇴", - "🇳🇵", - "🇳🇷", - "🇳🇺", - "🇳🇿", - "🇴🇲", - "🇵🇦", - "🇵🇪", - "🇵🇫", - "🇵🇬", - "🇵🇭", - "🇵🇰", - "🇵🇱", - "🇵🇲", - "🇵🇳", - "🇵🇷", - "🇵🇸", - "🇵🇹", - "🇵🇼", - "🇵🇾", - "🇶🇦", - "🇷🇪", - "🇷🇴", - "🇷🇸", - "🇷🇺", - "🇷🇼", - "🇸🇦", - "🇸🇧", - "🇸🇨", - "🇸🇩", - "🇸🇪", - "🇸🇬", - "🇸🇭", - "🇸🇮", - "🇸🇯", - "🇸🇰", - "🇸🇱", - "🇸🇲", - "🇸🇳", - "🇸🇴", - "🇸🇷", - "🇸🇸", - "🇸🇹", - "🇸🇻", - "🇸🇽", - "🇸🇾", - "🇸🇿", - "🇹🇦", - "🇹🇨", - "🇹🇩", - "🇹🇫", - "🇹🇬", - "🇹🇭", - "🇹🇯", - "🇹🇰", - "🇹🇱", - "🇹🇲", - "🇹🇳", - "🇹🇴", - "🇹🇷", - "🇹🇹", - "🇹🇻", - "🇹🇼", - "🇹🇿", - "🇺🇦", - "🇺🇬", - "🇺🇲", - "🇺🇳", - "🇺🇸", - "🇺🇾", - "🇺🇿", - "🇻🇦", - "🇻🇨", - "🇻🇪", - "🇻🇬", - "🇻🇮", - "🇻🇳", - "🇻🇺", - "🇼🇫", - "🇼🇸", - "🇽🇰", - "🇾🇪", - "🇾🇹", - "🇿🇦", - "🇿🇲", - "🇿🇼", - "🎌", - "🏁", - "🏳️", - "🏳️‍⚧️", - "🏳️‍🌈", - "🏴", - "🏴‍☠️", - "🚩", -}; - -const std::array httpMediaTypes = {"application/gzip", - "application/java-archive", - "application/json", - "application/octet-stream", - "application/pdf", - "application/rtf", - "application/vnd.amazon.ebook", - "application/vnd.mozilla.xul+xml", - "application/x-7z-compressed", - "application/x-abiword", - "application/x-bzip", - "application/x-bzip2", - "application/x-csh", - "application/x-freearc", - "application/xml", - "application/zip", - "audio/3gpp", - "audio/3gpp2", - "audio/aac", - "audio/mpeg", - "audio/wav", - "audio/webm", - "font/otf", - "font/ttf", - "font/woff", - "font/woff2", - "image/bmp", - "image/gif", - "image/jpeg", - "image/png", - "image/tiff", - "image/webp", - "text/calendar", - "text/css", - "text/csv", - "text/html", - "text/javascript", - "text/plain", - "text/xml", - "video/3gpp", - "video/3gpp2", - "video/mp2t", - "video/mpeg", - "video/webm", - "video/x-msvideo"}; - -const std::array httpRequestHeaders = { - "A-IM", - "Accept", - "Accept-Charset", - "Accept-Datetime", - "Accept-Encoding", - "Accept-Language", - "Access-Control-Request-Headers", - "Access-Control-Request-Method", - "Authorization", - "Cache-Control", - "Connection", - "Content-Encoding", - "Content-Length", - "Content-MD5", - "Content-Type", - "Cookie", - "Date", - "Expect", - "Forwarded", - "From", - "HTTP2-Settings", - "Host", - "If-Match", - "If-Modified-Since", - "If-None-Match", - "If-Range", - "If-Unmodified-Since", - "Max-Forwards", - "Origin", - "Pragma", - "Prefer", - "Proxy-Authorization", - "Range", - "Referer", - "TE", - "Transfer-Encoding", - "Upgrade", - "Upgrade", - "User-Agent", - "Via", - "Warning", -}; - -const std::array httpResponseHeaders = { - "Accept-CH", - "Accept-Patch", - "Accept-Ranges", - "Access-Control-Allow-Credentials", - "Access-Control-Allow-HeadersAccess-Control-Allow-Origin", - "Access-Control-Allow-Methods", - "Access-Control-Allow-Origin", - "Access-Control-Expose-Headers", - "Access-Control-Max-Age", - "Age", - "Allow", - "Alt-Svc", - "Cache-Control", - "Connection", - "Content-Disposition", - "Content-Encoding", - "Content-Language", - "Content-Length", - "Content-Location", - "Content-MD5", - "Content-Range", - "Content-Type", - "Date", - "Delta-Base", - "ETag", - "Expires", - "IM", - "Last-Modified", - "Location", - "P3P", - "Pragma", - "Preference-Applied", - "Proxy-Authenticate", - "Public-Key-Pins", - "Retry-After", - "Server", - "Set-Cookie", - "Strict-Transport-Security", - "Tk", - "Transfer-Encoding", - "Upgrade", - "Vary", - "WWW-Authenticate", - "Warning", -}; -} diff --git a/src/modules/internet/InternetData.h b/src/modules/internet/InternetData.h index 3c389f92..aa19978d 100644 --- a/src/modules/internet/InternetData.h +++ b/src/modules/internet/InternetData.h @@ -5,20 +5,869 @@ namespace faker { -extern const std::array domainSuffixes; -extern const std::array emailHosts; -extern const std::array emailExampleHosts; -extern const std::array smileyEmojis; -extern const std::array bodyEmojis; -extern const std::array personEmojis; -extern const std::array natureEmojis; -extern const std::array foodEmojis; -extern const std::array travelEmojis; -extern const std::array activityEmojis; -extern const std::array objectEmojis; -extern const std::array symbolEmojis; -extern const std::array flagEmojis; -extern const std::array httpMediaTypes; -extern const std::array httpRequestHeaders; -extern const std::array httpResponseHeaders; +const auto domainSuffixes = std::to_array({ + "biz", "com", "info", "name", "net", "org", +}); + +const auto emailHosts = std::to_array({ + "gmail.com", "hotmail.com", "outlook.com", "proton.me", "yahoo.com", +}); + +const auto emailExampleHosts = std::to_array({ + "example.com", + "example.net", + "example.org", +}); + +const auto smileyEmojis = std::to_array({ + "☠️", + "☹️", + "☺️", + "❣️", + "❤️", + "❤️‍🔥", + "❤️‍🩹", + "👁️‍🗨️", + "👹", + "👺", + "👻", + "👽", + "👾", + "👿", + "💀", + "💋", + "💌", + "💓", + "💔", + "💕", + "💖", + "💗", + "💘", + "💙", + "💚", + "💛", + "💜", + "💝", + "💞", + "💟", + "💢", + "💣", + "💤", + "💥", + "💦", + "💨", + "💩", + "💫", + "💬", + "💭", + "💯", + "🕳️", + "🖤", + "🗨️", + "🗯️", + "😀", + "😁", + "😂", + "😃", + "😄", + "😅", + "😆", + "😇", + "😈", + "😉", + "😊", + "😋", + "😌", + "😍", + "😎", + "😏", + "😐", + "😑", + "😒", + "😓", + "😔", + "😕", + "😖", + "😗", + "😘", + "😙", + "😚", + "😛", + "😜", + "😝", + "😞", + "😟", + "😠", + "😡", + "😢", + "😣", + "😤", + "😥", + "😦", + "😧", + "😨", + "😩", + "😪", + "😫", + "😬", + "😭", + "😮", + "😮‍💨", + "😯", + "😰", + "😱", + "😲", + "😳", + "😴", + "😵", + "😵‍💫", + "😶", + "😶‍🌫️", + "😷", + "😸", + "😹", + "😺", + "😻", + "😼", + "😽", + "😾", + "😿", + "🙀", + "🙁", + "🙂", + "🙃", + "🙄", + "🙈", + "🙉", + "🙊", + "🤍", + "🤎", + "🤐", + "🤑", + "🤒", + "🤓", + "🤔", + "🤕", + "🤖", + "🤗", + "🤠", + "🤡", + "🤢", + "🤣", + "🤤", + "🤥", + "🤧", + "🤨", + "🤩", + "🤪", + "🤫", + "🤬", + "🤭", + "🤮", + "🤯", + "🥰", + "🥱", + "🥲", + "🥳", + "🥴", + "🥵", + "🥶", + "🥸", + "🥺", + "🧐", + "🧡", +}); + +const auto bodyEmojis = std::to_array({ + "☝️", "☝🏻", "☝🏼", "☝🏽", "☝🏾", "☝🏿", "✊", "✊🏻", "✊🏼", "✊🏽", "✊🏾", "✊🏿", "✋", "✋🏻", + "✋🏼", "✋🏽", "✋🏾", "✋🏿", "✌️", "✌🏻", "✌🏼", "✌🏽", "✌🏾", "✌🏿", "✍️", "✍🏻", "✍🏼", "✍🏽", + "✍🏾", "✍🏿", "👀", "👁️", "👂", "👂🏻", "👂🏼", "👂🏽", "👂🏾", "👂🏿", "👃", "👃🏻", "👃🏼", "👃🏽", + "👃🏾", "👃🏿", "👄", "👅", "👆", "👆🏻", "👆🏼", "👆🏽", "👆🏾", "👆🏿", "👇", "👇🏻", "👇🏼", "👇🏽", + "👇🏾", "👇🏿", "👈", "👈🏻", "👈🏼", "👈🏽", "👈🏾", "👈🏿", "👉", "👉🏻", "👉🏼", "👉🏽", "👉🏾", "👉🏿", + "👊", "👊🏻", "👊🏼", "👊🏽", "👊🏾", "👊🏿", "👋", "👋🏻", "👋🏼", "👋🏽", "👋🏾", "👋🏿", "👌", "👌🏻", + "👌🏼", "👌🏽", "👌🏾", "👌🏿", "👍", "👍🏻", "👍🏼", "👍🏽", "👍🏾", "👍🏿", "👎", "👎🏻", "👎🏼", "👎🏽", + "👎🏾", "👎🏿", "👏", "👏🏻", "👏🏼", "👏🏽", "👏🏾", "👏🏿", "👐", "👐🏻", "👐🏼", "👐🏽", "👐🏾", "👐🏿", + "💅", "💅🏻", "💅🏼", "💅🏽", "💅🏾", "💅🏿", "💪", "💪🏻", "💪🏼", "💪🏽", "💪🏾", "💪🏿", "🖐️", "🖐🏻", + "🖐🏼", "🖐🏽", "🖐🏾", "🖐🏿", "🖕", "🖕🏻", "🖕🏼", "🖕🏽", "🖕🏾", "🖕🏿", "🖖", "🖖🏻", "🖖🏼", "🖖🏽", + "🖖🏾", "🖖🏿", "🙌", "🙌🏻", "🙌🏼", "🙌🏽", "🙌🏾", "🙌🏿", "🙏", "🙏🏻", "🙏🏼", "🙏🏽", "🙏🏾", "🙏🏿", + "🤌", "🤌🏻", "🤌🏼", "🤌🏽", "🤌🏾", "🤌🏿", "🤏", "🤏🏻", "🤏🏼", "🤏🏽", "🤏🏾", "🤏🏿", "🤘", "🤘🏻", + "🤘🏼", "🤘🏽", "🤘🏾", "🤘🏿", "🤙", "🤙🏻", "🤙🏼", "🤙🏽", "🤙🏾", "🤙🏿", "🤚", "🤚🏻", "🤚🏼", "🤚🏽", + "🤚🏾", "🤚🏿", "🤛", "🤛🏻", "🤛🏼", "🤛🏽", "🤛🏾", "🤛🏿", "🤜", "🤜🏻", "🤜🏼", "🤜🏽", "🤜🏾", "🤜🏿", + "🤝", "🤞", "🤞🏻", "🤞🏼", "🤞🏽", "🤞🏾", "🤞🏿", "🤟", "🤟🏻", "🤟🏼", "🤟🏽", "🤟🏾", "🤟🏿", "🤲", + "🤲🏻", "🤲🏼", "🤲🏽", "🤲🏾", "🤲🏿", "🤳", "🤳🏻", "🤳🏼", "🤳🏽", "🤳🏾", "🤳🏿", "🦴", "🦵", "🦵🏻", + "🦵🏼", "🦵🏽", "🦵🏾", "🦵🏿", "🦶", "🦶🏻", "🦶🏼", "🦶🏽", "🦶🏾", "🦶🏿", "🦷", "🦻", "🦻🏻", "🦻🏼", + "🦻🏽", "🦻🏾", "🦻🏿", "🦾", "🦿", "🧠", "🫀", "🫁", +}); + +const auto personEmojis = std::to_array({ + "⛷️", + "⛹️", + "⛹️‍♀️", + "⛹️‍♂️", + "👧", + "👨", + "👨‍⚕️", + "👨‍⚖️", + "👨‍✈️", + "👨‍❤️‍👨", + "👨‍❤️‍💋‍👨", + "👨‍🌾", + "👨‍🍳", + "👨‍🍼", + "👨‍🦯", + "👨‍🦰", + "👨‍🦱", + "👨‍🦲", + "👨‍🦳", + "👨‍🦼", + "👨‍🦽", + "👮‍♀️", + "👰‍♀️", + "👰‍♂️", + "👰🏻", + "👱‍♀️", + "👱‍♂️", + "👳‍♀️", + "💆‍♀️", + "💆‍♂️", + "🙇", + "🙇‍♀️", + "🙇‍♂️", + "🙋", + "🙋‍♀️", + "🙋‍♂️", + "🙎", + "🙎‍♀️", + "🚣", + "🚣‍♀️", + "🚣‍♂️", + "🚴‍♀️", + "🚴‍♂️", + "🚵", + "🚵‍♀️", + "🚵‍♂️", + "🚶", + "🚶‍♀️", + "🚶‍♂️", + "🤦", + "🤦‍♀️", + "🤦‍♂️", + "🤰", + "🤱", + "🤴", + "🤵", + "🤵‍♀️", + "🤵‍♂️", + "🤷", + "🤷‍♀️", + "🤷‍♂️", + "🤸", + "🤸‍♀️", + "🤹", + "🤺", + "🤼", + "🤼‍♀️", + "🤼‍♂️", + "🤽", + "🤾", + "🤾‍♀️", + "🦸‍♀️", + "🧍", + "🧎", + "🧏", + "🧏‍♀️", + "🧑", + "🧑‍⚕️", + "🧑‍⚖️", + "🧑‍✈️", + "🧑‍🌾", + "🧑‍🍳", + "🧑‍🍼", + "🧑‍💼", + "🧑‍🔧", + "🧑‍🔬", + "🧑‍🚀", + "🧑‍🚒", + "🧑‍🤝‍🧑", + "🧑‍🦯", + "🧑‍🦰", + "🧑‍🦱", + "🧑‍🦲", + "🧑‍🦳", + "🧑‍🦼", + "🧖", + "🧖‍♀️", + "🧖‍♂️", + "🧗‍♀️", + "🧗‍♂️", + "🧘", + "🧘‍♀️", + "🧙", + "🧙‍♀️", + "🧙‍♂️", + "🧚", + "🧚‍♀️", + "🧚‍♂️", + "🧛", + "🧛‍♀️", + "🧛‍♂️", + "🧜", + "🧜‍♀️", + "🧜‍♂️", + "🧝‍♀️", + "🧝‍♂️", + "🧞", + "🧞‍♀️", + "🧞‍♂️", + "🧟", + "🧟‍♀️", + "🧟‍♂️", +}); + +const auto natureEmojis = std::to_array({ + "☘️", "🌱", + "🌲", "🌳", + "🌴", "🌵", + "🌷", "🌸", + "🌹", "🌺", + "🌻", "🌼", + "🌾", "🌿", + "🍀", "🍁", + "🍂", "🍃", + "🏵️", "🐀", + "🐁", "🐂", + "🐃", "🐄", + "🐅", "🐆", + "🐇", "🐈", + "🐈‍⬛", "🐉", + "🐊", "🐋", + "🐌", "🐍", + "🐎", "🐏", + "🐐", "🐑", + "🐒", "🐓", + "🐔", "🐕", + "🐕‍🦺", "🐖", + "🐗", "🐘", + "🐙", "🐚", + "🐛", "🐜", + "🐝", "🐞", + "🐟", "🐠", + "🐡", "🐢", + "🐣", "🐤", + "🐥", "🐦", + "🐧", "🐨", + "🐩", "🐪", + "🐫", "🐬", + "🐭", "🐮", + "🐯", "🐰", + "🐱", "🐲", + "🐳", "🐴", + "🐵", "🐶", + "🐷", "🐸", + "🐹", "🐺", + "🐻", "🐻‍❄️", + "🐼", "🐽", + "🐾", "🐿️", + "💐", "💮", + "🕊️", "🕷️", + "🕸️", "🥀", + "🦁", "🦂", + "🦃", "🦄", + "🦅", "🦆", + "🦇", "🦈", + "🦉", "🦊", + "🦋", "🦌", + "🦍", "🦎", + "🦏", "🦒", + "🦓", "🦔", + "🦕", "🦖", + "🦗", "🦘", + "🦙", "🦚", + "🦛", "🦜", + "🦝", "🦟", + "🦠", "🦡", + "🦢", "🦣", + "🦤", "🦥", + "🦦", "🦧", + "🦨", "🦩", + "🦫", "🦬", + "🦭", "🦮", + "🪰", "🪱", + "🪲", "🪳", + "🪴", "🪶", +}); + +const auto foodEmojis = std::to_array({ + "☕", "🌭", "🌮", "🌯", "🌰", "🌶️", "🌽", "🍄", "🍅", "🍆", "🍇", "🍈", "🍉", "🍊", "🍋", "🍌", "🍍", "🍎", "🍏", + "🍐", "🍑", "🍒", "🍓", "🍔", "🍕", "🍖", "🍗", "🍘", "🍙", "🍚", "🍛", "🍜", "🍝", "🍞", "🍟", "🍠", "🍡", "🍢", + "🍣", "🍤", "🍥", "🍦", "🍧", "🍨", "🍩", "🍪", "🍫", "🍬", "🍭", "🍮", "🍯", "🍰", "🍱", "🍲", "🍳", "🍴", "🍵", + "🍶", "🍷", "🍸", "🍹", "🍺", "🍻", "🍼", "🍽️", "🍾", "🍿", "🎂", "🏺", "🔪", "🥂", "🥃", "🥄", "🥐", "🥑", "🥒", + "🥓", "🥔", "🥕", "🥖", "🥗", "🥘", "🥙", "🥚", "🥛", "🥜", "🥝", "🥞", "🥟", "🥠", "🥡", "🥢", "🥣", "🥤", "🥥", + "🥦", "🥧", "🥨", "🥩", "🥪", "🥫", "🥬", "🥭", "🥮", "🥯", "🦀", "🦐", "🦑", "🦞", "🦪", "🧀", "🧁", "🧂", "🧃", + "🧄", "🧅", "🧆", "🧇", "🧈", "🧉", "🧊", "🧋", "🫐", "🫑", "🫒", "🫓", "🫔", "🫕", "🫖", +}); + +const auto travelEmojis = std::to_array({ + "⌚", "⌛", "⏰", "⏱️", "⏲️", "⏳", "☀️", "☁️", "☂️", "☃️", "☄️", "☔", "♨️", "⚓", "⚡", "⛄", "⛅", "⛈️", + "⛩️", "⛪", "⛰️", "⛱️", "⛲", "⛴️", "⛵", "⛺", "⛽", "✈️", "❄️", "⭐", "🌀", "🌁", "🌂", "🌃", "🌄", "🌅", + "🌆", "🌇", "🌈", "🌉", "🌊", "🌋", "🌌", "🌍", "🌎", "🌏", "🌐", "🌑", "🌒", "🌓", "🌔", "🌕", "🌖", "🌗", + "🌘", "🌙", "🌚", "🌛", "🌜", "🌝", "🌞", "🌟", "🌠", "🌡️", "🌤️", "🌥️", "🌦️", "🌧️", "🌨️", "🌩️", "🌪️", "🌫️", + "🌬️", "🎠", "🎡", "🎢", "🎪", "🏍️", "🏎️", "🏔️", "🏕️", "🏖️", "🏗️", "🏘️", "🏙️", "🏚️", "🏛️", "🏜️", "🏝️", "🏞️", + "🏟️", "🏠", "🏡", "🏢", "🏣", "🏤", "🏥", "🏦", "🏨", "🏩", "🏪", "🏫", "🏬", "🏭", "🏯", "🏰", "💈", "💒", + "💧", "💺", "🔥", "🕋", "🕌", "🕍", "🕐", "🕑", "🕒", "🕓", "🕔", "🕕", "🕖", "🕗", "🕘", "🕙", "🕚", "🕛", + "🕜", "🕝", "🕞", "🕟", "🕠", "🕡", "🕢", "🕣", "🕤", "🕥", "🕦", "🕧", "🕰️", "🗺️", "🗻", "🗼", "🗽", "🗾", + "🚀", "🚁", "🚂", "🚃", "🚄", "🚅", "🚆", "🚇", "🚈", "🚉", "🚊", "🚋", "🚌", "🚍", "🚎", "🚏", "🚐", "🚑", + "🚒", "🚓", "🚔", "🚕", "🚖", "🚗", "🚘", "🚙", "🚚", "🚛", "🚜", "🚝", "🚞", "🚟", "🚠", "🚡", "🚢", "🚤", + "🚥", "🚦", "🚧", "🚨", "🚲", "🛎️", "🛑", "🛕", "🛖", "🛢️", "🛣️", "🛤️", "🛥️", "🛩️", "🛫", "🛬", "🛰️", "🛳️", + "🛴", "🛵", "🛶", "🛸", "🛹", "🛺", "🛻", "🛼", "🦼", "🦽", "🧭", "🧱", "🧳", "🪂", "🪐", "🪨", "🪵", +}); + +const auto activityEmojis = std::to_array({ + "♟️", "♠️", "♣️", "♥️", "♦️", "⚽", "⚾", "⛳", "⛸️", "✨", "🀄", "🃏", "🎀", "🎁", "🎃", "🎄", "🎆", + "🎇", "🎈", "🎉", "🎊", "🎋", "🎍", "🎎", "🎏", "🎐", "🎑", "🎖️", "🎗️", "🎟️", "🎣", "🎨", "🎫", "🎭", + "🎮", "🎯", "🎰", "🎱", "🎲", "🎳", "🎴", "🎽", "🎾", "🎿", "🏀", "🏅", "🏆", "🏈", "🏉", "🏏", "🏐", + "🏑", "🏒", "🏓", "🏸", "🔮", "🕹️", "🖼️", "🛷", "🤿", "🥅", "🥇", "🥈", "🥉", "🥊", "🥋", "🥌", "🥍", + "🥎", "🥏", "🧧", "🧨", "🧩", "🧵", "🧶", "🧸", "🧿", "🪀", "🪁", "🪄", "🪅", "🪆", "🪡", "🪢", +}); + +const auto objectEmojis = std::to_array({ + "⌨️", "☎️", "⚒️", "⚔️", "⚖️", "⚗️", "⚙️", "⚰️", "⚱️", "⛏️", "⛑️", "⛓️", "✂️", "✉️", "✏️", "✒️", "🎒", "🎓", + "🎙️", "🎚️", "🎛️", "🎞️", "🎤", "🎥", "🎧", "🎩", "🎬", "🎵", "🎶", "🎷", "🎸", "🎹", "🎺", "🎻", "🎼", "🏮", + "🏷️", "🏹", "👑", "👒", "👓", "👔", "👕", "👖", "👗", "👘", "👙", "👚", "👛", "👜", "👝", "👞", "👟", "👠", + "👡", "👢", "💄", "💉", "💊", "💍", "💎", "💡", "💰", "💳", "💴", "💵", "💶", "💷", "💸", "💹", "💻", "💼", + "💽", "💾", "💿", "📀", "📁", "📂", "📃", "📄", "📅", "📆", "📇", "📈", "📉", "📊", "📋", "📌", "📍", "📎", + "📏", "📐", "📑", "📒", "📓", "📔", "📕", "📖", "📗", "📘", "📙", "📚", "📜", "📝", "📞", "📟", "📠", "📡", + "📢", "📣", "📤", "📥", "📦", "📧", "📨", "📩", "📪", "📫", "📬", "📭", "📮", "📯", "📰", "📱", "📲", "📷", + "📸", "📹", "📺", "📻", "📼", "📽️", "📿", "🔇", "🔈", "🔉", "🔊", "🔋", "🔌", "🔍", "🔎", "🔏", "🔐", "🔑", + "🔒", "🔓", "🔔", "🔕", "🔖", "🔗", "🔦", "🔧", "🔨", "🔩", "🔫", "🔬", "🔭", "🕯️", "🕶️", "🖇️", "🖊️", "🖋️", + "🖌️", "🖍️", "🖥️", "🖨️", "🖱️", "🖲️", "🗂️", "🗃️", "🗄️", "🗑️", "🗒️", "🗓️", "🗜️", "🗝️", "🗞️", "🗡️", "🗳️", "🗿", + "🚪", "🚬", "🚽", "🚿", "🛁", "🛋️", "🛍️", "🛏️", "🛒", "🛗", "🛠️", "🛡️", "🥁", "🥻", "🥼", "🥽", "🥾", "🥿", + "🦯", "🦺", "🧢", "🧣", "🧤", "🧥", "🧦", "🧪", "🧫", "🧬", "🧮", "🧯", "🧰", "🧲", "🧴", "🧷", "🧹", "🧺", + "🧻", "🧼", "🧽", "🧾", "🩰", "🩱", "🩲", "🩳", "🩴", "🩸", "🩹", "🩺", "🪃", "🪑", "🪒", "🪓", "🪔", "🪕", + "🪖", "🪗", "🪘", "🪙", "🪚", "🪛", "🪜", "🪝", "🪞", "🪟", "🪠", "🪣", "🪤", "🪥", "🪦", "🪧", +}); + +const auto symbolEmojis = std::to_array({ + "#️⃣", "*️⃣", "0️⃣", "1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣", "6️⃣", "7️⃣", "8️⃣", "9️⃣", "©️", "®️", "‼️", "⁉️", "™️", "ℹ️", "↔️", + "↕️", "↖️", "↗️", "↘️", "↙️", "↩️", "↪️", "⏏️", "⏩", "⏪", "⏫", "⏬", "⏭️", "⏮️", "⏯️", "⏸️", "⏹️", "⏺️", "Ⓜ️", + "▪️", "▫️", "▶️", "◀️", "◻️", "◼️", "◽", "◾", "☑️", "☢️", "☣️", "☦️", "☪️", "☮️", "☯️", "☸️", "♀️", "♂️", "♈", + "♉", "♊", "♋", "♌", "♍", "♎", "♏", "♐", "♑", "♒", "♓", "♻️", "♾️", "♿", "⚕️", "⚛️", "⚜️", "⚠️", "⚧️", + "⚪", "⚫", "⛎", "⛔", "✅", "✔️", "✖️", "✝️", "✡️", "✳️", "✴️", "❇️", "❌", "❎", "❓", "❔", "❕", "❗", "➕", + "➖", "➗", "➡️", "➰", "➿", "⤴️", "⤵️", "⬅️", "⬆️", "⬇️", "⬛", "⬜", "⭕", "〰️", "〽️", "㊗️", "㊙️", "🅰️", "🅱️", + "🅾️", "🅿️", "🆎", "🆑", "🆒", "🆓", "🆔", "🆕", "🆖", "🆗", "🆘", "🆙", "🆚", "🈁", "🈂️", "🈚", "🈯", "🈲", "🈳", + "🈴", "🈵", "🈶", "🈷️", "🈸", "🈹", "🈺", "🉐", "🉑", "🎦", "🏧", "💠", "💱", "💲", "📛", "📳", "📴", "📵", "📶", + "🔀", "🔁", "🔂", "🔃", "🔄", "🔅", "🔆", "🔘", "🔙", "🔚", "🔛", "🔜", "🔝", "🔞", "🔟", "🔠", "🔡", "🔢", "🔣", + "🔤", "🔯", "🔰", "🔱", "🔲", "🔳", "🔴", "🔵", "🔶", "🔷", "🔸", "🔹", "🔺", "🔻", "🔼", "🔽", "🕉️", "🕎", "🚫", + "🚭", "🚮", "🚯", "🚰", "🚱", "🚳", "🚷", "🚸", "🚹", "🚺", "🚻", "🚼", "🚾", "🛂", "🛃", "🛄", "🛅", "🛐", "🟠", + "🟡", "🟢", "🟣", "🟤", "🟥", "🟦", "🟧", "🟨", "🟩", "🟪", "🟫", +}); + +const auto flagEmojis = std::to_array({ + "🇦🇨", + "🇦🇩", + "🇦🇪", + "🇦🇫", + "🇦🇬", + "🇦🇮", + "🇦🇱", + "🇦🇲", + "🇦🇴", + "🇦🇶", + "🇦🇷", + "🇦🇸", + "🇦🇹", + "🇦🇺", + "🇦🇼", + "🇦🇽", + "🇦🇿", + "🇧🇦", + "🇧🇧", + "🇧🇩", + "🇧🇪", + "🇧🇫", + "🇧🇬", + "🇧🇭", + "🇧🇮", + "🇧🇯", + "🇧🇱", + "🇧🇲", + "🇧🇳", + "🇧🇴", + "🇧🇶", + "🇧🇷", + "🇧🇸", + "🇧🇹", + "🇧🇻", + "🇧🇼", + "🇧🇾", + "🇧🇿", + "🇨🇦", + "🇨🇨", + "🇨🇩", + "🇨🇫", + "🇨🇬", + "🇨🇭", + "🇨🇮", + "🇨🇰", + "🇨🇱", + "🇨🇲", + "🇨🇳", + "🇨🇴", + "🇨🇵", + "🇨🇷", + "🇨🇺", + "🇨🇻", + "🇨🇼", + "🇨🇽", + "🇨🇾", + "🇨🇿", + "🇩🇪", + "🇩🇬", + "🇩🇯", + "🇩🇰", + "🇩🇲", + "🇩🇴", + "🇩🇿", + "🇪🇦", + "🇪🇨", + "🇪🇪", + "🇪🇬", + "🇪🇭", + "🇪🇷", + "🇪🇸", + "🇪🇹", + "🇪🇺", + "🇫🇮", + "🇫🇯", + "🇫🇰", + "🇫🇲", + "🇫🇴", + "🇫🇷", + "🇬🇦", + "🇬🇧", + "🇬🇩", + "🇬🇪", + "🇬🇫", + "🇬🇬", + "🇬🇭", + "🇬🇮", + "🇬🇱", + "🇬🇲", + "🇬🇳", + "🇬🇵", + "🇬🇶", + "🇬🇷", + "🇬🇸", + "🇬🇹", + "🇬🇺", + "🇬🇼", + "🇬🇾", + "🇭🇰", + "🇭🇲", + "🇭🇳", + "🇭🇷", + "🇭🇹", + "🇭🇺", + "🇮🇨", + "🇮🇩", + "🇮🇪", + "🇮🇱", + "🇮🇲", + "🇮🇳", + "🇮🇴", + "🇮🇶", + "🇮🇷", + "🇮🇸", + "🇮🇹", + "🇯🇪", + "🇯🇲", + "🇯🇴", + "🇯🇵", + "🇰🇪", + "🇰🇬", + "🇰🇭", + "🇰🇮", + "🇰🇲", + "🇰🇳", + "🇰🇵", + "🇰🇷", + "🇰🇼", + "🇰🇾", + "🇰🇿", + "🇱🇦", + "🇱🇧", + "🇱🇨", + "🇱🇮", + "🇱🇰", + "🇱🇷", + "🇱🇸", + "🇱🇹", + "🇱🇺", + "🇱🇻", + "🇱🇾", + "🇲🇦", + "🇲🇨", + "🇲🇩", + "🇲🇪", + "🇲🇫", + "🇲🇬", + "🇲🇭", + "🇲🇰", + "🇲🇱", + "🇲🇲", + "🇲🇳", + "🇲🇴", + "🇲🇵", + "🇲🇶", + "🇲🇷", + "🇲🇸", + "🇲🇹", + "🇲🇺", + "🇲🇻", + "🇲🇼", + "🇲🇽", + "🇲🇾", + "🇲🇿", + "🇳🇦", + "🇳🇨", + "🇳🇪", + "🇳🇫", + "🇳🇬", + "🇳🇮", + "🇳🇱", + "🇳🇴", + "🇳🇵", + "🇳🇷", + "🇳🇺", + "🇳🇿", + "🇴🇲", + "🇵🇦", + "🇵🇪", + "🇵🇫", + "🇵🇬", + "🇵🇭", + "🇵🇰", + "🇵🇱", + "🇵🇲", + "🇵🇳", + "🇵🇷", + "🇵🇸", + "🇵🇹", + "🇵🇼", + "🇵🇾", + "🇶🇦", + "🇷🇪", + "🇷🇴", + "🇷🇸", + "🇷🇺", + "🇷🇼", + "🇸🇦", + "🇸🇧", + "🇸🇨", + "🇸🇩", + "🇸🇪", + "🇸🇬", + "🇸🇭", + "🇸🇮", + "🇸🇯", + "🇸🇰", + "🇸🇱", + "🇸🇲", + "🇸🇳", + "🇸🇴", + "🇸🇷", + "🇸🇸", + "🇸🇹", + "🇸🇻", + "🇸🇽", + "🇸🇾", + "🇸🇿", + "🇹🇦", + "🇹🇨", + "🇹🇩", + "🇹🇫", + "🇹🇬", + "🇹🇭", + "🇹🇯", + "🇹🇰", + "🇹🇱", + "🇹🇲", + "🇹🇳", + "🇹🇴", + "🇹🇷", + "🇹🇹", + "🇹🇻", + "🇹🇼", + "🇹🇿", + "🇺🇦", + "🇺🇬", + "🇺🇲", + "🇺🇳", + "🇺🇸", + "🇺🇾", + "🇺🇿", + "🇻🇦", + "🇻🇨", + "🇻🇪", + "🇻🇬", + "🇻🇮", + "🇻🇳", + "🇻🇺", + "🇼🇫", + "🇼🇸", + "🇽🇰", + "🇾🇪", + "🇾🇹", + "🇿🇦", + "🇿🇲", + "🇿🇼", + "🎌", + "🏁", + "🏳️", + "🏳️‍⚧️", + "🏳️‍🌈", + "🏴", + "🏴‍☠️", + "🚩", +}); + +const auto httpMediaTypes = std::to_array({ + "application/gzip", + "application/java-archive", + "application/json", + "application/octet-stream", + "application/pdf", + "application/rtf", + "application/vnd.amazon.ebook", + "application/vnd.mozilla.xul+xml", + "application/x-7z-compressed", + "application/x-abiword", + "application/x-bzip", + "application/x-bzip2", + "application/x-csh", + "application/x-freearc", + "application/xml", + "application/zip", + "audio/3gpp", + "audio/3gpp2", + "audio/aac", + "audio/mpeg", + "audio/wav", + "audio/webm", + "font/otf", + "font/ttf", + "font/woff", + "font/woff2", + "image/bmp", + "image/gif", + "image/jpeg", + "image/png", + "image/tiff", + "image/webp", + "text/calendar", + "text/css", + "text/csv", + "text/html", + "text/javascript", + "text/plain", + "text/xml", + "video/3gpp", + "video/3gpp2", + "video/mp2t", + "video/mpeg", + "video/webm", + "video/x-msvideo" +}); + +const auto httpRequestHeaders = std::to_array({ + "A-IM", + "Accept", + "Accept-Charset", + "Accept-Datetime", + "Accept-Encoding", + "Accept-Language", + "Access-Control-Request-Headers", + "Access-Control-Request-Method", + "Authorization", + "Cache-Control", + "Connection", + "Content-Encoding", + "Content-Length", + "Content-MD5", + "Content-Type", + "Cookie", + "Date", + "Expect", + "Forwarded", + "From", + "HTTP2-Settings", + "Host", + "If-Match", + "If-Modified-Since", + "If-None-Match", + "If-Range", + "If-Unmodified-Since", + "Max-Forwards", + "Origin", + "Pragma", + "Prefer", + "Proxy-Authorization", + "Range", + "Referer", + "TE", + "Transfer-Encoding", + "Upgrade", + "Upgrade", + "User-Agent", + "Via", + "Warning", +}); + +const auto httpResponseHeaders = std::to_array({ + "Accept-CH", + "Accept-Patch", + "Accept-Ranges", + "Access-Control-Allow-Credentials", + "Access-Control-Allow-HeadersAccess-Control-Allow-Origin", + "Access-Control-Allow-Methods", + "Access-Control-Allow-Origin", + "Access-Control-Expose-Headers", + "Access-Control-Max-Age", + "Age", + "Allow", + "Alt-Svc", + "Cache-Control", + "Connection", + "Content-Disposition", + "Content-Encoding", + "Content-Language", + "Content-Length", + "Content-Location", + "Content-MD5", + "Content-Range", + "Content-Type", + "Date", + "Delta-Base", + "ETag", + "Expires", + "IM", + "Last-Modified", + "Location", + "P3P", + "Pragma", + "Preference-Applied", + "Proxy-Authenticate", + "Public-Key-Pins", + "Retry-After", + "Server", + "Set-Cookie", + "Strict-Transport-Security", + "Tk", + "Transfer-Encoding", + "Upgrade", + "Vary", + "WWW-Authenticate", + "Warning", +}); + } diff --git a/src/modules/location/LocationData.cpp b/src/modules/location/LocationData.cpp deleted file mode 100644 index 98fdb929..00000000 --- a/src/modules/location/LocationData.cpp +++ /dev/null @@ -1,6013 +0,0 @@ -#include "LocationData.h" - -#include -#include - -namespace faker -{ -const std::array allCountries = { - "Afghanistan", - "Aland Islands", - "Albania", - "Algeria", - "American Samoa", - "Andorra", - "Angola", - "Anguilla", - "Antarctica", - "Antigua and Barbuda", - "Argentina", - "Armenia", - "Aruba", - "Australia", - "Austria", - "Azerbaijan", - "Bahamas", - "Bahrain", - "Bangladesh", - "Barbados", - "Belarus", - "Belgium", - "Belize", - "Benin", - "Bermuda", - "Bhutan", - "Bolivia", - "Bonaire, Sint Eustatius and Saba", - "Bosnia and Herzegovina", - "Botswana", - "Bouvet Island", - "Brazil", - "British Indian Ocean Territory (Chagos Archipelago)", - "Brunei Darussalam", - "Bulgaria", - "Burkina Faso", - "Burundi", - "Cambodia", - "Cameroon", - "Canada", - "Cape Verde", - "Cayman Islands", - "Central African Republic", - "Chad", - "Chile", - "China", - "Christmas Island", - "Cocos (Keeling) Islands", - "Colombia", - "Comoros", - "Congo", - "Cook Islands", - "Costa Rica", - "Croatia", - "Cuba", - "Curacao", - "Cyprus", - "Czechia", - "Democratic Republic of the Congo", - "Denmark", - "Djibouti", - "Dominica", - "Dominican Republic", - "Ecuador", - "Egypt", - "El Salvador", - "Equatorial Guinea", - "Eritrea", - "Estonia", - "Eswatini", - "Ethiopia", - "Faroe Islands", - "Falkland Islands (Malvinas)", - "Fiji", - "Finland", - "France", - "French Guiana", - "French Polynesia", - "French Southern Territories", - "Gabon", - "Gambia", - "Georgia", - "Germany", - "Ghana", - "Gibraltar", - "Greece", - "Greenland", - "Grenada", - "Guadeloupe", - "Guam", - "Guatemala", - "Guernsey", - "Guinea", - "Guinea-Bissau", - "Guyana", - "Haiti", - "Heard Island and McDonald Islands", - "Holy See (Vatican City State)", - "Honduras", - "Hong Kong", - "Hungary", - "Iceland", - "India", - "Indonesia", - "Iran", - "Iraq", - "Ireland", - "Isle of Man", - "Israel", - "Italy", - "Jamaica", - "Japan", - "Jersey", - "Jordan", - "Kazakhstan", - "Kenya", - "Kiribati", - "Republic of Korea", - "Kuwait", - "Kyrgyz Republic", - "Latvia", - "Lebanon", - "Lesotho", - "Liberia", - "Libyan Arab Jamahiriya", - "Liechtenstein", - "Lithuania", - "Luxembourg", - "Macao", - "Madagascar", - "Malawi", - "Malaysia", - "Maldives", - "Mali", - "Malta", - "Marshall Islands", - "Martinique", - "Mauritania", - "Mauritius", - "Mayotte", - "Mexico", - "Micronesia", - "Moldova", - "Monaco", - "Mongolia", - "Montenegro", - "Montserrat", - "Morocco", - "Mozambique", - "Myanmar", - "Namibia", - "Nauru", - "Nepal", - "Netherlands", - "New Caledonia", - "New Zealand", - "Nicaragua", - "Niger", - "Nigeria", - "Niue", - "Norfolk Island", - "North Macedonia", - "Northern Mariana Islands", - "Norway", - "Oman", - "Pakistan", - "Palau", - "Palestine", - "Panama", - "Papua New Guinea", - "Paraguay", - "Peru", - "Philippines", - "Pitcairn Islands", - "Poland", - "Portugal", - "Puerto Rico", - "Qatar", - "Reunion", - "Romania", - "Russian Federation", - "Rwanda", - "Saint Barthelemy", - "Saint Helena", - "Saint Kitts and Nevis", - "Saint Lucia", - "Saint Martin", - "Saint Pierre and Miquelon", - "Saint Vincent and the Grenadines", - "Samoa", - "San Marino", - "Sao Tome and Principe", - "Saudi Arabia", - "Senegal", - "Serbia", - "Seychelles", - "Sierra Leone", - "Singapore", - "Sint Maarten", - "Slovakia", - "Slovenia", - "Solomon Islands", - "Somalia", - "South Africa", - "South Georgia and the South Sandwich Islands", - "South Sudan", - "Spain", - "Sri Lanka", - "Sudan", - "Suriname", - "Svalbard & Jan Mayen Islands", - "Sweden", - "Switzerland", - "Syrian Arab Republic", - "Taiwan", - "Tajikistan", - "Tanzania", - "Thailand", - "Timor-Leste", - "Togo", - "Tokelau", - "Tonga", - "Trinidad and Tobago", - "Tunisia", - "Turkey", - "Turkmenistan", - "Turks and Caicos Islands", - "Tuvalu", - "Uganda", - "Ukraine", - "United Arab Emirates", - "United Kingdom", - "United States of America", - "United States Minor Outlying Islands", - "Uruguay", - "Uzbekistan", - "Vanuatu", - "Venezuela", - "Vietnam", - "Virgin Islands, British", - "Virgin Islands, U.S.", - "Wallis and Futuna", - "Western Sahara", - "Yemen", - "Zambia", - "Zimbabwe", -}; - -const std::array countryCodes = { - "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", - "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", - "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CX", - "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", - "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", - "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", - "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", - "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", - "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", - "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", - "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", - "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", - "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", - "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "ZA", "ZM", "ZW", -}; - -const std::array directions = { - "North", "East", "South", "West", "Northeast", "Northwest", "Southeast", "Southwest", -}; - -const std::array timeZones = { - "Africa/Abidjan", - "Africa/Accra", - "Africa/Addis_Ababa", - "Africa/Algiers", - "Africa/Asmara", - "Africa/Bamako", - "Africa/Bangui", - "Africa/Banjul", - "Africa/Bissau", - "Africa/Blantyre", - "Africa/Brazzaville", - "Africa/Bujumbura", - "Africa/Cairo", - "Africa/Casablanca", - "Africa/Ceuta", - "Africa/Conakry", - "Africa/Dakar", - "Africa/Dar_es_Salaam", - "Africa/Djibouti", - "Africa/Douala", - "Africa/El_Aaiun", - "Africa/Freetown", - "Africa/Gaborone", - "Africa/Harare", - "Africa/Johannesburg", - "Africa/Juba", - "Africa/Kampala", - "Africa/Khartoum", - "Africa/Kigali", - "Africa/Kinshasa", - "Africa/Lagos", - "Africa/Libreville", - "Africa/Lome", - "Africa/Luanda", - "Africa/Lubumbashi", - "Africa/Lusaka", - "Africa/Malabo", - "Africa/Maputo", - "Africa/Maseru", - "Africa/Mbabane", - "Africa/Mogadishu", - "Africa/Monrovia", - "Africa/Nairobi", - "Africa/Ndjamena", - "Africa/Niamey", - "Africa/Nouakchott", - "Africa/Ouagadougou", - "Africa/Porto-Novo", - "Africa/Sao_Tome", - "Africa/Tripoli", - "Africa/Tunis", - "Africa/Windhoek", - "America/Adak", - "America/Anchorage", - "America/Anguilla", - "America/Antigua", - "America/Araguaina", - "America/Argentina/Buenos_Aires", - "America/Argentina/Catamarca", - "America/Argentina/Cordoba", - "America/Argentina/Jujuy", - "America/Argentina/La_Rioja", - "America/Argentina/Mendoza", - "America/Argentina/Rio_Gallegos", - "America/Argentina/Salta", - "America/Argentina/San_Juan", - "America/Argentina/San_Luis", - "America/Argentina/Tucuman", - "America/Argentina/Ushuaia", - "America/Aruba", - "America/Asuncion", - "America/Atikokan", - "America/Bahia", - "America/Bahia_Banderas", - "America/Barbados", - "America/Belem", - "America/Belize", - "America/Blanc-Sablon", - "America/Boa_Vista", - "America/Bogota", - "America/Boise", - "America/Cambridge_Bay", - "America/Campo_Grande", - "America/Cancun", - "America/Caracas", - "America/Cayenne", - "America/Cayman", - "America/Chicago", - "America/Chihuahua", - "America/Costa_Rica", - "America/Creston", - "America/Cuiaba", - "America/Curacao", - "America/Danmarkshavn", - "America/Dawson", - "America/Dawson_Creek", - "America/Denver", - "America/Detroit", - "America/Dominica", - "America/Edmonton", - "America/Eirunepe", - "America/El_Salvador", - "America/Fort_Nelson", - "America/Fortaleza", - "America/Glace_Bay", - "America/Goose_Bay", - "America/Grand_Turk", - "America/Grenada", - "America/Guadeloupe", - "America/Guatemala", - "America/Guayaquil", - "America/Guyana", - "America/Halifax", - "America/Havana", - "America/Hermosillo", - "America/Indiana/Indianapolis", - "America/Indiana/Knox", - "America/Indiana/Marengo", - "America/Indiana/Petersburg", - "America/Indiana/Tell_City", - "America/Indiana/Vevay", - "America/Indiana/Vincennes", - "America/Indiana/Winamac", - "America/Inuvik", - "America/Iqaluit", - "America/Jamaica", - "America/Juneau", - "America/Kentucky/Louisville", - "America/Kentucky/Monticello", - "America/Kralendijk", - "America/La_Paz", - "America/Lima", - "America/Los_Angeles", - "America/Lower_Princes", - "America/Maceio", - "America/Managua", - "America/Manaus", - "America/Marigot", - "America/Martinique", - "America/Matamoros", - "America/Mazatlan", - "America/Menominee", - "America/Merida", - "America/Metlakatla", - "America/Mexico_City", - "America/Miquelon", - "America/Moncton", - "America/Monterrey", - "America/Montevideo", - "America/Montserrat", - "America/Nassau", - "America/New_York", - "America/Nome", - "America/Noronha", - "America/North_Dakota/Beulah", - "America/North_Dakota/Center", - "America/North_Dakota/New_Salem", - "America/Nuuk", - "America/Ojinaga", - "America/Panama", - "America/Paramaribo", - "America/Phoenix", - "America/Port-au-Prince", - "America/Port_of_Spain", - "America/Porto_Velho", - "America/Puerto_Rico", - "America/Punta_Arenas", - "America/Rankin_Inlet", - "America/Recife", - "America/Regina", - "America/Resolute", - "America/Rio_Branco", - "America/Santarem", - "America/Santiago", - "America/Santo_Domingo", - "America/Sao_Paulo", - "America/Scoresbysund", - "America/Sitka", - "America/St_Barthelemy", - "America/St_Johns", - "America/St_Kitts", - "America/St_Lucia", - "America/St_Thomas", - "America/St_Vincent", - "America/Swift_Current", - "America/Tegucigalpa", - "America/Thule", - "America/Tijuana", - "America/Toronto", - "America/Tortola", - "America/Vancouver", - "America/Whitehorse", - "America/Winnipeg", - "America/Yakutat", - "America/Yellowknife", - "Antarctica/Casey", - "Antarctica/Davis", - "Antarctica/DumontDUrville", - "Antarctica/Macquarie", - "Antarctica/Mawson", - "Antarctica/McMurdo", - "Antarctica/Palmer", - "Antarctica/Rothera", - "Antarctica/Syowa", - "Antarctica/Troll", - "Antarctica/Vostok", - "Arctic/Longyearbyen", - "Asia/Aden", - "Asia/Almaty", - "Asia/Amman", - "Asia/Anadyr", - "Asia/Aqtau", - "Asia/Aqtobe", - "Asia/Ashgabat", - "Asia/Atyrau", - "Asia/Baghdad", - "Asia/Bahrain", - "Asia/Baku", - "Asia/Bangkok", - "Asia/Barnaul", - "Asia/Beirut", - "Asia/Bishkek", - "Asia/Brunei", - "Asia/Chita", - "Asia/Choibalsan", - "Asia/Colombo", - "Asia/Damascus", - "Asia/Dhaka", - "Asia/Dili", - "Asia/Dubai", - "Asia/Dushanbe", - "Asia/Famagusta", - "Asia/Gaza", - "Asia/Hebron", - "Asia/Ho_Chi_Minh", - "Asia/Hong_Kong", - "Asia/Hovd", - "Asia/Irkutsk", - "Asia/Jakarta", - "Asia/Jayapura", - "Asia/Jerusalem", - "Asia/Kabul", - "Asia/Kamchatka", - "Asia/Karachi", - "Asia/Kathmandu", - "Asia/Khandyga", - "Asia/Kolkata", - "Asia/Krasnoyarsk", - "Asia/Kuala_Lumpur", - "Asia/Kuching", - "Asia/Kuwait", - "Asia/Macau", - "Asia/Magadan", - "Asia/Makassar", - "Asia/Manila", - "Asia/Muscat", - "Asia/Nicosia", - "Asia/Novokuznetsk", - "Asia/Novosibirsk", - "Asia/Omsk", - "Asia/Oral", - "Asia/Phnom_Penh", - "Asia/Pontianak", - "Asia/Pyongyang", - "Asia/Qatar", - "Asia/Qostanay", - "Asia/Qyzylorda", - "Asia/Riyadh", - "Asia/Sakhalin", - "Asia/Samarkand", - "Asia/Seoul", - "Asia/Shanghai", - "Asia/Singapore", - "Asia/Srednekolymsk", - "Asia/Taipei", - "Asia/Tashkent", - "Asia/Tbilisi", - "Asia/Tehran", - "Asia/Thimphu", - "Asia/Tokyo", - "Asia/Tomsk", - "Asia/Ulaanbaatar", - "Asia/Urumqi", - "Asia/Ust-Nera", - "Asia/Vientiane", - "Asia/Vladivostok", - "Asia/Yakutsk", - "Asia/Yangon", - "Asia/Yekaterinburg", - "Asia/Yerevan", - "Atlantic/Azores", - "Atlantic/Bermuda", - "Atlantic/Canary", - "Atlantic/Cape_Verde", - "Atlantic/Faroe", - "Atlantic/Madeira", - "Atlantic/Reykjavik", - "Atlantic/South_Georgia", - "Atlantic/St_Helena", - "Atlantic/Stanley", - "Australia/Adelaide", - "Australia/Brisbane", - "Australia/Broken_Hill", - "Australia/Darwin", - "Australia/Eucla", - "Australia/Hobart", - "Australia/Lindeman", - "Australia/Lord_Howe", - "Australia/Melbourne", - "Australia/Perth", - "Australia/Sydney", - "Europe/Amsterdam", - "Europe/Andorra", - "Europe/Astrakhan", - "Europe/Athens", - "Europe/Belgrade", - "Europe/Berlin", - "Europe/Bratislava", - "Europe/Brussels", - "Europe/Bucharest", - "Europe/Budapest", - "Europe/Busingen", - "Europe/Chisinau", - "Europe/Copenhagen", - "Europe/Dublin", - "Europe/Gibraltar", - "Europe/Guernsey", - "Europe/Helsinki", - "Europe/Isle_of_Man", - "Europe/Istanbul", - "Europe/Jersey", - "Europe/Kaliningrad", - "Europe/Kirov", - "Europe/Kyiv", - "Europe/Lisbon", - "Europe/Ljubljana", - "Europe/London", - "Europe/Luxembourg", - "Europe/Madrid", - "Europe/Malta", - "Europe/Mariehamn", - "Europe/Minsk", - "Europe/Monaco", - "Europe/Moscow", - "Europe/Oslo", - "Europe/Paris", - "Europe/Podgorica", - "Europe/Prague", - "Europe/Riga", - "Europe/Rome", - "Europe/Samara", - "Europe/San_Marino", - "Europe/Sarajevo", - "Europe/Saratov", - "Europe/Simferopol", - "Europe/Skopje", - "Europe/Sofia", - "Europe/Stockholm", - "Europe/Tallinn", - "Europe/Tirane", - "Europe/Ulyanovsk", - "Europe/Vaduz", - "Europe/Vatican", - "Europe/Vienna", - "Europe/Vilnius", - "Europe/Volgograd", - "Europe/Warsaw", - "Europe/Zagreb", - "Europe/Zurich", - "Indian/Antananarivo", - "Indian/Chagos", - "Indian/Christmas", - "Indian/Cocos", - "Indian/Comoro", - "Indian/Kerguelen", - "Indian/Mahe", - "Indian/Maldives", - "Indian/Mauritius", - "Indian/Mayotte", - "Indian/Reunion", - "Pacific/Apia", - "Pacific/Auckland", - "Pacific/Bougainville", - "Pacific/Chatham", - "Pacific/Chuuk", - "Pacific/Easter", - "Pacific/Efate", - "Pacific/Fakaofo", - "Pacific/Fiji", - "Pacific/Funafuti", - "Pacific/Galapagos", - "Pacific/Gambier", - "Pacific/Guadalcanal", - "Pacific/Guam", - "Pacific/Honolulu", - "Pacific/Kanton", - "Pacific/Kiritimati", - "Pacific/Kosrae", - "Pacific/Kwajalein", - "Pacific/Majuro", - "Pacific/Marquesas", - "Pacific/Midway", - "Pacific/Nauru", - "Pacific/Niue", - "Pacific/Norfolk", - "Pacific/Noumea", - "Pacific/Pago_Pago", - "Pacific/Palau", - "Pacific/Pitcairn", - "Pacific/Pohnpei", - "Pacific/Port_Moresby", - "Pacific/Rarotonga", - "Pacific/Saipan", - "Pacific/Tahiti", - "Pacific/Tarawa", - "Pacific/Tongatapu", - "Pacific/Wake", - "Pacific/Wallis", -}; - -// Australia - -const std::array australiaCities = { - "Sydney", - "Melbourne", - "Brisbane", - "Perth", - "Adelaide", - "Gold Coast", - "Cranbourne", - "Canberra", - "Central Coast", - "Wollongong", - "Hobart", - "Geelong", - "Townsville", - "Ipswich", - "Newcastle", - "Cairns", - "Darwin", - "Toowoomba", - "Launceston", - "Ballarat", - "Bendigo", - "Mackay", - "Wagga Wagga", - "Hervey Bay", - "Pakenham", - "Port Macquarie", - "Caloundra", - "Frankston", - "Sunbury", - "Gladstone", - "Bathurst", - "Mildura", - "Southport", - "Dandenong", - "Warrnambool", - "Burnie", - "Quakers Hill", - "Caboolture", - "Mount Gambier", - "Traralgon", - "Armidale", - "Whyalla", - "Griffith", - "Mount Eliza", - "Nerang", - "Lara", - "Taree", - "Banora Point", - "Warragul", - "Cessnock", - "Horsham", - "Australind", - "Barwon Heads", - "Ulverstone", - "Echuca", - "Mount Barker", - "Morwell", - "Forster", - "Bongaree", - "Penrith", - "Goonellabah", - "Leopold", - "Campbelltown", - "Muswellbrook", - "Rutherford", - "Inverell", - "Parkes", - "Nambour", - "Mareeba", - "Wallan", - "Corinda", - "Casino", - "Gympie", - "Kingston", - "Grafton", - "Bowral", - "Young", - "Cowra", - "Swan Hill", - "Mudgee", - "Mount Evelyn", - "Andergrove", - "Moree", - "Nowra", - "Colac", - "Yanchep", - "Ballina", - "Leeton", - "Moss Vale", - "Springwood", - "Emu Plains", - "Ararat", - "Tweed Heads", - "Charters Towers", - "Katoomba", - "Mooroopna", - "Maryborough", - "Deniliquin", - "Mandurah", - "Bli Bli", - "Narrabri", - "Clifton Springs", - "Bargara", - "Kingscliff", - "Healesville", - "Fremantle", - "Blaxland", - "Kyabram", - "Sanctuary Point", - "Merrimac", - "Murwillumbah", - "Urraween", - "Kyneton", - "Cootamundra", - "Castlemaine", - "Bomaderry", - "Helensburgh", - "Port Augusta", - "Yass", - "Strathalbyn", - "Burpengary", - "Waterford", - "Lennox Head", - "Seymour", - "Nambucca Heads", - "Nuriootpa", - "Wauchope", - "Tumut", - "Tuncurry", - "Glen Innes", - "Yamba", - "Lakes Entrance", - "Kurri Kurri", - "Wynyard", - "North Mackay", - "Dromana", - "Mittagong", - "Alstonville", - "Stawell", - "Cannonvale", - "Point Vernon", - "Leongatha", - "Scone", - "Whittlesea", - "Corowa", - "Richmond", - "Cooranbong", - "Inverloch", - "New Norfolk", - "Wingham", - "Woolgoolga", - "Maffra", - "Lithgow", - "Millicent", - "Worragee", - "Tahmoor", - "Red Cliffs", - "Glenbrook", - "Nairne", - "Kiama Downs", - "Hazelbrook", - "Encounter Bay", - "Boulder", - "Picton", - "Albury", - "Mansfield", - "Churchill", - "Bucasia", - "Temora", - "Renmark", - "Tanunda", - "Loxton", - "Glenella", - "Numurkah", - "Korumburra", - "Rasmussen", - "Tatura", - "Old Bar", - "Narrandera", - "George Town", - "Wyong", - "Broadford", - "Drysdale", - "Cockatoo", - "Victor Harbor", - "Moama", - "Latrobe", - "Berri", - "Wellington", - "Thirlmere", - "Legana", - "The Entrance", - "Cobar", - "Gerringong", - "Margate", - "Trafalgar", - "Somerset", - "Kerang", - "Roxby Downs", - "Smithton", - "Longford", - "Beechworth", - "Penguin", - "Anna Bay", - "McLaren Vale", - "Pearcedale", - "Peregian Beach", - "Bellingen", - "Suffolk Park", - "Buninyong", - "Weston", - "Sawtell", - "Silverdale", - "Bay View", - "Lismore", - "Koo-Wee-Rup", - "Merimbula", - "Scarness", - "Lake Cathie", - "Condobolin", - "Paynesville", - "Maddingley", - "Hurstbridge", - "Quirindi", - "Blayney", - "Camperdown", - "Aldgate", - "Port Fairy", - "Vincentia", - "Euroa", - "Marcoola", - "Mullumbimby", - "Tura Beach", - "Eden", - "West Wyalong", - "Gilgandra", - "Robinvale", - "Wilton", - "Riverview", - "Bogangar", - "Shoalhaven Heads", - "Urunga", - "Bonny Hills", - "Stirling", - "Perth", - "Barmera", - "Kapunda", - "Thursday Island", - "Terranora", - "Woori Yallock", - "Saint Georges Basin", - "Tea Gardens", - "Culburra", - "Yarra Glen", - "Beaconsfield Upper", - "Deloraine", - "Greta", - "North Wonthaggi", - "Howlong", - "Williamstown", - "Waikerie", - "Hill Top", - "Hahndorf", - "Jindabyne", - "Lawson", - "Woodside", - "Narooma", - "Grenfell", - "Manilla", - "Daylesford", - "Lobethal", - "The Oaks", - "Aberdare", - "Dodges Ferry", - "Launching Place", - "Rutherglen", - "Goolwa", - "Willunga", - "Sandy Beach", - "Hadspen", - "Canowindra", - "Freeling", - "Saint Arnaud", - "Baxter", - "Walgett", - "Esperance", - "Yarram", - "Heddon Greta", - "Freshwater", - "Bangalow", - "Orbost", - "Westbury", - "Lyndoch", - "Camden Haven", - "Wallerawang", - "Wattleglen", - "Bourke", - "Mulwala", - "Windsor", - "Nathalia", - "Oakdale", - "Cobden", - "Queenstown", - "Denman", - "Batehaven", - "Brunswick Heads", - "Tathra", - "Yarragon", - "Yaroomba", - "Curlewis", - "Yallourn North", - "Drummond Cove", - "Surfside", - "Evandale", - "Kurrajong Heights", - "Seven Mile Beach", - "San Remo", - "Valley Heights", - "Greenwell Point", - "Innisfail", - "Wahgunyah", - "Tinonee", - "Mollymook", -}; - -const std::array australiaStates = { - "New South Wales", "Queensland", "Northern Territory", "South Australia", - "Western Australia", "Tasmania", "Australian Capital Territory", "Victoria", -}; - -const std::array australiaStreetSuffixes = { - "Avenue", "Boulevard", "Circle", "Circuit", "Court", "Crescent", "Crest", "Drive", "Estate Dr", "Grove", - "Hill", "Island", "Junction", "Knoll", "Lane", "Loop", "Mall", "Manor", "Meadow", "Mews", - "Parade", "Parkway", "Pass", "Place", "Plaza", "Ridge", "Road", "Run", "Square", "Station St", - "Street", "Summit", "Terrace", "Track", "Trail", "View Rd", "Way", -}; - -const std::string_view australiaZipCodeFormat{"####"}; - -const std::array australiaAddressFormats{"{buildingNumber} {street}"}; - -const std::array australiaBuildingNumberFormats{"####", "###", "##"}; - -const std::array australiaStreetFormats{"{firstName} {streetSuffix}", "{lastName} {streetSuffix}"}; - -const std::array australiaCityFormats{"{cityName}"}; - -const CountryAddressesInfo australiaAddresses{ - australiaZipCodeFormat, - (australiaAddressFormats), - {}, - (australiaStreetFormats), - {}, - {}, - (australiaStreetSuffixes), - (australiaBuildingNumberFormats), - (australiaCityFormats), - {}, - (australiaCities), - {}, - (australiaStates), - {}, -}; - -// Brazil - -const std::array brazilCitySuffixes{ - "do Descoberto", - "de Nossa Senhora", - "do Norte", - "do Sul", -}; - -const std::array brazilStates = { - "Acre", - "Alagoas", - "Amapá", - "Amazonas", - "Bahia", - "Ceará", - "Distrito Federal", - "Espírito Santo", - "Goiás", - "Maranhão", - "Mato Grosso", - "Mato Grosso do Sul", - "Minas Gerais", - "Pará", - "Paraíba", - "Paraná", - "Pernambuco", - "Piauí", - "Rio de Janeiro", - "Rio Grande do Norte", - "Rio Grande do Sul", - "Rondônia", - "Roraima", - "Santa Catarina", - "São Paulo", - "Sergipe", - "Tocantins", -}; - -const std::array brazilStreetSuffixes{ - "Rua", "Avenida", "Travessa", "Alameda", "Marginal", "Rodovia", -}; - -const std::string_view brazilZipCodeFormat{"#####-###"}; - -const std::array brazilAddressFormats{"{street} {buildingNumber}", - "{street} {buildingNumber} {secondaryAddress}"}; - -const std::array brazilSecondaryAddressFormats{"Apto. ###", "Sobrado ##", "Casa #", "Lote ##", - "Quadra ##"}; - -const std::array brazilBuildingNumberFormats{"#####", "####", "###"}; - -const std::array brazilStreetFormats{"{firstName} {streetSuffix}", "{lastName} {streetSuffix}"}; - -const std::array brazilCityFormats{"{firstName} {citySuffix}", "{lastName} {citySuffix}"}; - -const CountryAddressesInfo brazilAddresses{ - brazilZipCodeFormat, - (brazilAddressFormats), - (brazilSecondaryAddressFormats), - (brazilStreetFormats), - {}, - {}, - (brazilStreetSuffixes), - (brazilBuildingNumberFormats), - (brazilCityFormats), - {}, - {}, - (brazilCitySuffixes), - (brazilStates), - {}, -}; - -// Czech Republic - -const std::array czechCities{ - "Abertamy", - "Adamov", - "Andělská Hora", - "Aš", - "Bakov nad Jizerou", - "Bavorov", - "Bechyně", - "Beroun", - "Bezdružice", - "Bílina", - "Bílovec", - "Blansko", - "Blatná", - "Blovice", - "Brno", - "Broumov", - "Brtnice", - "Brumov-Bylnice", - "Bruntál", - "Bzenec", - "Chabařovice", - "Cheb", - "Chlumec", - "Chlumec nad Cidlinou", - "Choceň", - "Chodov", - "Chomutov", - "Chotěboř", - "Chrast", - "Chrastava", - "Chropyně", - "Chrudim", - "Chřibská", - "Chvaletice", - "Chýnov", - "Chyše", - "Cvikov", - "Čáslav", - "Čelákovice", - "Černošice", - "Černošín", - "Černovice", - "Červená Řečice", - "Červený Kostelec", - "Česká Kamenice", - "Česká Lípa", - "Česká Skalice", - "Česká Třebová", - "České Budějovice", - "České Velenice", - "Český Brod", - "Český Dub", - "Český Krumlov", - "Český Těšín", - "Dačice", - "Dašice", - "Děčín", - "Desná", - "Deštná", - "Dobrovice", - "Dobruška", - "Dobřany", - "Dobřichovice", - "Dobříš", - "Doksy", - "Dolní Benešov", - "Dolní Bousov", - "Dolní Kounice", - "Dolní Poustevna", - "Domažlice", - "Dubá", - "Dubí", - "Dubňany", - "Duchcov", - "Dvůr Králové nad Labem", - "Františkovy Lázně", - "Frenštát pod Radhoštěm", - "Frýdek-Místek", - "Frýdlant", - "Frýdlant nad Ostravicí", - "Fryšták", - "Fulnek", - "Golčův Jeníkov", - "Habartov", - "Habry", - "Hanušovice", - "Harrachov", - "Hartmanice", - "Havířov", - "Havlíčkův Brod", - "Hejnice", - "Heřmanův Městec", - "Hlinsko", - "Hluboká nad Vltavou", - "Hlučín", - "Hluk", - "Hodkovice nad Mohelkou", - "Hodonín", - "Holešov", - "Holice", - "Holýšov", - "Hora Svaté Kateřiny", - "Hrotovice", - "Hroznětín", - "Hrušovany nad Jevišovkou", - "Hulín", - "Humpolec", - "Husinec", - "Hustopeče", - "Ivančice", - "Ivanovice na Hané", - "Jablonné nad Orlicí", - "Jablonné v Podještědí", - "Jablunkov", - "Jáchymov", - "Janov", - "Janovice nad Úhlavou", - "Janské Lázně", - "Jaroměř", - "Jaroměřice nad Rokytnou", - "Javorník", - "Jemnice", - "Jesenice (okres Rakovník)", - "Jeseník", - "Jevíčko", - "Jevišovice", - "Jičín", - "Jirkov", - "Jiříkov", - "Jistebnice", - "Kadaň", - "Kamenický Šenov", - "Kaplice", - "Kardašova Řečice", - "Karlovy Vary", - "Karolinka", - "Karviná", - "Kasejovice", - "Kašperské Hory", - "Kaznějov", - "Kdyně", - "Kelč", - "Kladno", - "Kladruby", - "Klášterec nad Ohří", - "Klatovy", - "Klecany", - "Klimkovice", - "Klobouky u Brna", - "Kojetín", - "Kolín", - "Konice", - "Kopidlno", - "Kopřivnice", - "Koryčany", - "Kosmonosy", - "Kostelec na Hané", - "Kostelec nad Černými lesy", - "Kostelec nad Labem", - "Kostelec nad Orlicí", - "Košťany", - "Kouřim", - "Krásno", - "Kravaře", - "Krnov", - "Kroměříž", - "Krupka", - "Kryry", - "Kunovice", - "Kunštát", - "Kuřim", - "Kutná Hora", - "Kyjov", - "Kynšperk nad Ohří", - "Lanškroun", - "Lanžhot", - "Lázně Bělohrad", - "Lázně Bohdaneč", - "Lázně Kynžvart", - "Ledeč nad Sázavou", - "Ledvice", - "Letohrad", - "Letovice", - "Libáň", - "Libčice nad Vltavou", - "Liběchov", - "Liberec", - "Libochovice", - "Město Albrechtice", - "Město Touškov", - "Meziboří", - "Meziměstí", - "Mikulášovice", - "Mikulov", - "Miletín", - "Milevsko", - "Milovice", - "Mimoň", - "Miroslav", - "Mirošov", - "Mirotice", - "Mirovice", - "Mladá Boleslav", - "Mladá Vožice", - "Mnichovice", - "Mnichovo Hradiště", - "Mšeno", - "Mýto", - "Náchod", - "Nalžovské Hory", - "Náměšť nad Oslavou", - "Napajedla", - "Nasavrky", - "Nechanice", - "Nejdek", - "Němčice nad Hanou", - "Nepomuk", - "Neratovice", - "Netolice", - "Neveklov", - "Nový Jičín", - "Nový Knín", - "Nymburk", - "Nýrsko", - "Nýřany", - "Odolena Voda", - "Odry", - "Olešnice", - "Olomouc", - "Oloví", - "Opava", - "Opočno", - "Orlová", - "Osečná", - "Osek", - "Oslavany", - "Ostrava", - "Ostrov", - "Otrokovice", - "Pacov", - "Pardubice", - "Paskov", - "Pec pod Sněžkou", - "Pečky", - "Pelhřimov", - "Petřvald", - "Pilníkov", - "Písek", - "Planá", - "Planá nad Lužnicí", - "Plánice", - "Plasy", - "Plesná", - "Plumlov", - "Plzeň", - "Poběžovice", - "Počátky", - "Podbořany", - "Poděbrady", - "Podivín", - "Pohořelice", - "Police nad Metují", - "Polička", - "Polná", - "Postoloprty", - "Potštát", - "Prachatice", - "Praha", - "Rabí", - "Radnice", - "Rájec-Jestřebí", - "Rajhrad", - "Rakovník", - "Ralsko", - "Raspenava", - "Rejštejn", - "Rokycany", - "Rokytnice nad Jizerou", - "Rokytnice v Orlických horách", - "Ronov nad Doubravou", - "Rosice", - "Rotava", - "Roudnice nad Labem", - "Rousínov", - "Rovensko pod Troskami", - "Roztoky", - "Rožďalovice", - "Rožmberk nad Vltavou", - "Rožmitál pod Třemšínem", - "Rožnov pod Radhoštěm", - "Rtyně v Podkrkonoší", - "Rudná", - "Rudolfov", - "Rumburk", - "Rychnov nad Kněžnou", - "Rychnov u Jablonce nad Nisou", - "Rychvald", - "Rýmařov", - "Řevnice", - "Říčany", - "Sadská", - "Sázava", - "Seč", - "Sedlčany", - "Sedlec-Prčice", - "Sedlice", - "Semily", - "Sezemice", - "Sezimovo Ústí", - "Skalná", - "Skuteč", - "Slaný", - "Slatiňany", - "Slavičín", - "Slavkov u Brna", - "Slavonice", - "Slušovice", - "Smečno", - "Smiřice", - "Smržovka", -}; - -const std::array czechStates = { - "Jihočeský kraj", "Jihomoravský kraj", "Karlovarský kraj", "Kraj Vysočina", "Královéhradecký kraj", - "Liberecký kraj", "Moravskoslezský kraj", "Olomoucký kraj", "Pardubický kraj", "Plzeňský kraj", - "Praha", "Středočeský kraj", "Ústecký kraj", "Zlínský kraj", -}; - -const std::array czechStreetNames{ - "Akademická", - "Aksamitova", - "Akátová", - "Alabastrová", - "Albertov", - "Albrechtická", - "Albánská", - "Albíny Hochové", - "Aldašínská", - "Alej Českých Exulantů", - "Amforová", - "Amortova", - "Ampérova", - "Amurská", - "Anastázova", - "Anderleho", - "Chládkova", - "Chmelařská", - "Chmelická", - "Chmelová", - "Chmelířova", - "Choceradská", - "Choceňská", - "Chocholouškova", - "Chrpová", - "Chrudimská", - "Chráněná", - "Cihelná", - "Cuřínova", - "Cvikovská", - "Cvičebná", - "Cvrčkova", - "Cyprichova", - "Cíglerova", - "Cílkova", - "Cínovecká", - "Církova", - "Církvická", - "Církvičná", - "Císařská Louka", - "Císařský Ostrov", - "Cítovská", - "Drimlova", - "Drnovská", - "Drobná", - "Drtikolova", - "Drtinova", - "Druhanická", - "Druhého Odboje", - "Družicová", - "Družnosti", - "Družná", - "Dudkova", - "Dudínská", - "Duhová", - "Dukelská", - "Dukelských Hrdinů", - "Dunajevského", - "Dunajská", - "Dunická", - "Dunovského", - "Durychova", - "Dusíkova", - "Duškova", - "Dušní", - "Dvorecká", - "Dvorecké Nám.", - "Dvorecké Náměstí", - "Dvorní", - "Dvorská", - "Dvoudílná", - "Dětský Ostrov", - "Děvínská", - "Děčínská", - "Dřevařská", - "Dřevnická", - "Dřevná", - "Dřevčická", - "Dřínovská", - "Dřínová", - "Dřítenská", - "Eberlova", - "Ebrova", - "Edisonova", - "Edvardova", - "Egyptská", - "Eichlerova", - "Ellnerové", - "Elsnicovo Náměstí", - "Emilie Hyblerové", - "Emlerova", - "Engelmüllerova", - "Fabiánská", - "Fadějevova", - "Fajmanové", - "Fajtlova", - "Falcká", - "Faltysova", - "Famfulíkova", - "Fantova", - "Fibichova", - "Fikerova", - "Filipova", - "Filipovského", - "Filipíny Welserové", - "Fillova", - "Filmařská", - "Filosofská", - "Fingerova", - "Finkovská", - "Finská", - "Firkušného", - "Fischlova", - "Fišerova", - "Flemingovo Nám.", - "Flemingovo Náměstí", - "Flájská", - "Flöglova", - "Foerstrova", - "Folmavská", - "Formanská", - "Formánkova", - "Františka Šimáčka", - "Frézařská", - "Frýdecká", - "Frýdlantská", - "Fuchsova", - "Fügnerovo Nám.", - "Fügnerovo Náměstí", - "Gabinova", - "Gabčíkova", - "Gagarinova", - "Galandova", - "Galileova", - "Gallašova", - "Galvaniho", - "Gaussova", - "Gdaňská", - "Gollova", - "Golčova", - "Gončarenkova", - "Gorazdova", - "Gotthardská", - "Goyova", - "Gočárova", - "Grafická", - "Grafitová", - "Grammova", - "Granátová", - "Gregorova", - "Grussova", - "Gruzínská", - "Gutfreundova", - "Gutova", - "Gymnasijní", - "Hříbková", - "Hřídelecká", - "Hůlkova", - "Izraelská", - "Jana Ouřady", - "Janýrova", - "Jančova", - "Jarešova", - "Jarkovská", - "Jarmily Novotné", - "Jarní", - "Jarníkova", - "Jaromíra Jindry", - "Kurta Konráda", - "Kurzova", - "Kurčatovova", - "Kusá", - "Kusého", - "Kutilova", - "Kutnauerovo Náměstí", - "Kutnohorská", - "Kutrovická", - "Kuttelwascherova", - "Kutvirtova", - "Kučerova", - "Kučerové", - "Kuťatská", - "Kuželova", - "Kvapilova", - "Kyjská", - "Kykalova", - "Kymrova", - "Kynická", - "Kyselova", - "Kyslíková", - "Kysucká", - "Kysúcká", - "Kytlická", - "Kytínská", - "Kácovská", - "Kádnerova", - "Kálikova", - "Kálmánova", - "Káranská", - "Křejpského", - "Křelovická", - "Křemelná", - "Křemencova", - "Křemenná", - "Lamačova", - "Langweilova", - "Lannova", - "Lanýžová", - "Lanžhotská", - "Lhotákova", - "Liberecká", - "Liberijská", - "Libečkova", - "Libeňská", - "Libeňský Ostrov", - "Malátova", - "Malé Nám.", - "Martinova", - "Martinovská", - "Martinská", - "Marty Krásové", - "Marvanova", - "Maršovská", - "Masarykovo Nábř.", - "Masarykovo Nábřeží", - "Masná", - "Matek", - "Meziluží", - "Mezipolí", - "Mezitraťová", - "Mezivrší", - "Meziškolská", - "Mečislavova", - "Mečovská", - "Mečíková", - "Michalovicova", - "Michalská", - "Michelangelova", - "Michelská", - "Michnova", - "Michnovka", - "Mickiewiczova", - "Mikanova", - "Milovická", - "Milánská", - "Milínská", - "Milíčova", - "Milíčovská", - "Mimoňská", - "Minaříkova", - "Minerální", - "Minická", - "Minská", - "Miranova", - "Miroslava Hajna", - "Miroslava Hamra", - "Mirotická", - "Návětrná", - "Názovská", - "Nýdecká", - "Nýrská", - "Nýřanská", - "Němčická", - "Otavská", - "Otevřená", - "Otická", - "Otlíkovská", - "Otopašská", - "Otovická", - "Otradovická", - "Ottova", - "Otvovická", - "Oty Pavla", - "Otínská", - "Otěšínská", - "Ouholická", - "Ouhrabkova", - "Ovenecká", - "Ovesná", - "Ovocná", - "Ovocnářská", - "Ovocný Trh", - "Ovsíková", - "Oválová", - "Ovčárská", - "Ovčí Hájek", - "Ořechová", - "Ořešská", - "Paběnická", - "Pacajevova", - "Paceřická", - "Panelová", - "Panenky", - "Panenská", - "Pankrácké Náměstí", - "Panská", - "Panská Zahrada", - "Panský Dvůr", - "Panuškova", - "Paprsková", - "Papírenská", - "Papírníkova", - "Parašutistů", - "Pardubická", - "Park Přátelství", - "Parková", - "Parléřova", - "Parmská", - "Paroplavební", - "Partyzánská", - "Pasecká", - "Pasteurova", - "Pastevců", - "Patočkova", - "Pavelkova", - "Pavla Beneše", - "Pavla Švandy Ze Semčic", - "Pavlická", - "Pavlišovská", - "Pavlovická", - "Rackova Zahrada", - "Radbuzská", - "Radechovská", - "Radešovská", - "Sadařská", - "Sadová", - "Sadská", - "Sady Bratří Čapků", - "Safírová", - "Salabova", - "Salačova", - "Salmovská", - "Salvátorská", - "Samcova", - "Samohelova", - "Samota U Podleského Rybníka", - "Sarajevská", - "Saratovská", - "Sartoriova", -}; - -const std::string_view czechZipCodeFormat{"#####"}; - -const std::array czechAddressFormats{"{street} {buildingNumber}", - "{street} {buildingNumber} {secondaryAddress}"}; - -const std::array czechSecondaryAddressFormats{"Apt. ###", "Suite ###"}; - -const std::array czechBuildingNumberFormats{"#", "##", "###"}; - -const std::array czechStreetFormats{"{streetName}"}; - -const std::array czechCityFormats{"{cityName}"}; - -const CountryAddressesInfo czechAddresses{ - czechZipCodeFormat, - (czechAddressFormats), - (czechSecondaryAddressFormats), - (czechStreetFormats), - {}, - (czechStreetNames), - {}, - (czechBuildingNumberFormats), - (czechCityFormats), - {}, - (czechCities), - {}, - (czechStates), - {}, -}; - -// Denmark - -const std::array denmarkCities{ - "Albertslund", - "Arden", - "Asnæs", - "Assentoft", - "Augustenborg", - "Aulum", - "Auning", - "Ballerup", - "Beder-Malling", - "Bellinge", - "Birkerød", - "Bjæverskov", - "Bogense", - "Borup", - "Brejning", - "Broager", - "Brovst", - "Brædstrup", - "Brøndby", - "Brønderslev", - "Brørup", - "Christiansfeld", - "Dianalund", - "Dragør", - "Dronninglund", - "Ejby", - "Esbjerg", - "Farsø", - "Farum", - "Faxe Ladeplads", - "Faxe", - "Fensmark", - "Fjerritslev", - "Fredensborg", - "Fredericia", - "Frederiksberg", - "Frederikshavn", - "Frederikssund", - "Frederiksværk", - "Frejlev", - "Galten", - "Ganløse", - "Gentofte", - "Gistrup", - "Give", - "Gladsaxe", - "Glamsbjerg", - "Glostrup", - "Grenaa", - "Greve Strand", - "Grindsted", - "Græsted", - "Gråsten", - "Guderup", - "Haderslev", - "Hadsten", - "Hadsund", - "Harlev", - "Haslev", - "Havdrup", - "Hedehusene", - "Hedensted", - "Helsinge", - "Helsingør", - "Herlev", - "Herning", - "Hillerød", - "Hinnerup", - "Hjallerup", - "Hjortshøj", - "Hjørring", - "Hobro", - "Holbæk", - "Holstebro", - "Holsted", - "Horsens", - "Humlebæk", - "Hundested", - "Hurup", - "Hvide Sande", - "Hvidovre", - "Højslev Stationsby", - "Høng", - "Hørning", - "Hørsholm", - "Høruphav", - "Ikast", - "Ishøj", - "Jelling", - "Juelsminde", - "Jyderup", - "Jyllinge", - "Jægerspris", - "Kalundborg", - "Kibæk", - "Kirke Hvalsø", - "Kjellerup", - "Klarup", - "Kolding", - "Korsør", - "København", - "Køge", - "Kås", - "Langeskov", - "Langå", - "Lillerød", - "Liseleje", - "Lunderskov", - "Lyngby", - "Lynge-Uggeløse", - "Lystrup", - "Løgstør", - "Løgten", - "Løgumkloster", - "Mariager", - "Middelfart", - "Mårslet", - "Nakskov", - "Nexø", - "Nivå", - "Nordby", - "Nyborg", - "Nykøbing F", - "Nykøbing M", - "Næstved", - "Nørre Åby", - "Nørresundby", - "Odder", - "Odense", - "Oksbøl", - "Otterup", - "Padborg", - "Pandrup", - "Præstø", - "Randers", - "Ribe", - "Ringkøbing", - "Ringsted", - "Roskilde", - "Rudersdal", - "Rudkøbing", - "Rødding", - "Rødovre", - "Rønde", - "Rønne", - "Sabro", - "Sakskøbing", - "Sankt Klemens", - "Silkeborg", - "Sindal", - "Skanderborg", - "Skibby", - "Skive", - "Skærbæk", - "Skævinge", - "Skørping", - "Slagelse", - "Smørumnedre", - "Solbjerg", - "Solrød Strand", - "Sorø", - "Stege", - "Stenløse", - "Stoholm", - "Store Heddinge", - "Storvorde", - "Strib", - "Struer", - "Strøby Egede", - "Støvring", - "Sundby", - "Sunds", - "Svejbæk", - "Svendborg", - "Svinninge", - "Svogerslev", - "Sæby", - "Søften", - "Sønderborg", - "Søndersø", - "Tarm", - "Taulov", - "Thisted", - "Thurø By", - "Tinglev", - "Tjæreborg", - "Toftlund", - "Trige", - "Tune", - "Tølløse", - "Tørring", - "Taarbæk", - "Tårnby", - "Taastrup", - "Ullerslev", - "Vallensbæk", - "Vamdrup", - "Varde", - "Vejen", - "Vejle", - "Vestbjerg", - "Vester Hassing", - "Viborg", - "Viby S", - "Videbæk", - "Vildbjerg", - "Vinderup", - "Virklund", - "Vissenbjerg", - "Vodskov", - "Vordingborg", - "Værløse", - "Ølgod", - "Ølstykke", - "Aabenraa", - "Aalborg", - "Aalestrup", - "Aarhus", - "Aars", - "Årslev", - "Aarup", -}; - -const std::array denmarkStates = { - "Region Hovedstaden", "Region Midtjylland", "Region Nordjylland", "Region Sjælland", "Region Syddanmark", -}; - -const std::array denmarkStreetNames = { - "Agervej", - "Askevej", - "Bakkedraget", - "Bakkegårdsvej", - "Bakkevej", - "Banevænget", - "Birkealle", - "Birkeparken", - "Birkevej", - "Bjergvej", - "Bredgade", - "Carlsmindevej", - "Cedervej", - "Chr. Winthersvej", - "Clematisvej", - "Cypresvej", - "Cypresvænget", - "Dalevej", - "Dalgas Boulevard", - "Dalsvinget", - "Damvej", - "Dronningensgade", - "Dybdalsvej", - "Dyrskuevej", - "Egevej", - "Egholmvej", - "Ejstrupvej", - "Ellevej", - "Elmevej", - "Enevej", - "Engvej", - "Eskebjergvej", - "Fasanvej", - "Fjordvej", - "Fuglevangsvej", - "Fuglevej", - "Fuglsangsvej", - "Fyrretræsvej", - "Fyrrevej", - "Fyrvej", - "Gadekæret", - "Galgebjergvej", - "Gammel Kongevej", - "Gartnervej", - "Gl. Kongevej", - "Granvej", - "Havnevej", - "Hedelundvej", - "Hejrevej", - "Hestehavevej", - "Hovedgaden", - "Højagervej", - "Højvej", - "Idrætsvej", - "Ildervej", - "Industrigade", - "Industrivej", - "Irisvej", - "Islandsvej", - "Jagtvej", - "Jernbanegade", - "Jernbanevej", - "Jupitervej", - "Jydevej", - "Jægergårdsvej", - "Jægervej", - "Kastanievej", - "Kirkegade", - "Klostermarken", - "Klostervej", - "Kornmarken", - "Kærbyvej", - "Kærparken", - "Kærvej", - "Liljens Kvarter", - "Liljevej", - "Lindevej", - "Lunden", - "Lundevej", - "Lyngvej", - "Lærkevej", - "Markvej", - "Mosevej", - "Munkevej", - "Mælkevejen", - "Møllebækvej", - "Møllegade", - "Møllevænget", - "Mågevej", - "Nedre Gade", - "Nordre Strandvej", - "Nordvestpassagen", - "Nygade", - "Nytorv", - "Nyvej", - "Nørrebrogade", - "Nørregade", - "Overgaden", - "Parkvej", - "Pilestræde", - "Pilevej", - "Plantagevej", - "Poppelvej", - "Præstegårdsvej", - "Præstevænget", - "Ravnevej", - "Rosenhaven", - "Rosenvej", - "Rugårdsvej", - "Ryttervej", - "Rævevej", - "Rådhusvej", - "Skolegade", - "Skolestræde", - "Skolevej", - "Skovbrynet", - "Skovvej", - "Slotsvej", - "Solbakken", - "Strandgade", - "Sydvej", - "Sølvgade", - "Søndergade", - "Teglværksvej", - "Tjørnevej", - "Torvet", - "Tranevej", - "Trekanten", - "Troldhøjvej", - "Tulipanvej", - "Tværgade", - "Udsigten", - "Udsigtsbakken", - "Udsigtsvej", - "Ullevej", - "Ulstrupvej", - "Ulvevej", - "Uplandsvej", - "Valmuevej", - "Valnøddevej", - "Vandtårnsvej", - "Ved Stranden", - "Vestergade", - "Vestergårdsvej", - "Vibevej", - "Viborgvej", - "Ørnevej", - "Østerbrogade", - "Østergade", - "Østervang", - "Østre Alle", - "Østre Stationsvej", - "Åbjergvej", - "Åboulevarden", - "Ådalsvej", - "Ågade", - "Åstrupvej", - "Åvænget", -}; - -const std::string_view denmarkZipCodeFormat{"####"}; - -const std::array denmarkAddressFormats{"{street} {buildingNumber}", - "{street} {buildingNumber} {secondaryAddress}"}; - -const std::array denmarkSecondaryAddressFormats{"#. tv", "#. th"}; - -const std::array denmarkBuildingNumberFormats{"#", "##", "###", "##A", "##B"}; - -const std::array denmarkStreetFormats{"{streetName}"}; - -const std::array denmarkCityFormats{"{cityName}"}; - -const CountryAddressesInfo denmarkAddresses{denmarkZipCodeFormat, - (denmarkAddressFormats), - (denmarkSecondaryAddressFormats), - (denmarkStreetFormats), - {}, - (denmarkStreetNames), - {}, - (denmarkBuildingNumberFormats), - (denmarkCityFormats), - {}, - (denmarkCities), - {}, - (denmarkStates), - {}}; - -// Estonia - -const std::array estoniaCities{ - "Tallinn", "Tartu", "Narva", "Pärnu", "Kohtla-Järve", -}; - -const std::array estoniaCounties{ - "Harju", "Hiiu", "Ida-Viru", "Jõgeva", "Järva", "Lääne", "Lääne-Viru", "Põlva", - "Pärnu", "Rapla", "Saare", "Tartu", "Valga", "Viljandi", "Võru", -}; - -const std::array estoniaStreetNames{ - "Laagna", "Punane", "Paepargi", "Pae", "Peterburi", "Valukoja", "Betooni", "Sõpruse", - "Mustamäe", "Tuisu", "Külmallika", "Tammi", "Koore", "Kuubi", "Okka", "Vaba", - "Tähe", "Õnne", "Aleksandri", "Kalevi", "Turu", "Tähe", "Lina", "Õnne", - "Era", "Vanemuise", "Tiigi", "Tiigi", "Juhan Liivi", "K. A. Hermanni", "Veski", -}; - -const std::array estoniaStreetSuffixes{ - "Tänav", "tn", "Tee", "Allee", "Plats", "Käik", "Põik", -}; - -const std::string_view estoniaZipCodeFormat{"#####"}; - -const std::array estoniaAddressFormats{"{street} {buildingNumber}"}; - -const std::array estoniaBuildingNumberFormats{"###", "##", "#"}; - -const std::array estoniaStreetFormats{"{streetName} {streetSuffix}"}; - -const std::array estoniaCityFormats{"{cityName}"}; - -const CountryAddressesInfo estoniaAddresses{estoniaZipCodeFormat, - (estoniaAddressFormats), - {}, - (estoniaStreetFormats), - {}, - (estoniaStreetNames), - (estoniaStreetSuffixes), - (estoniaBuildingNumberFormats), - (estoniaCityFormats), - {}, - (estoniaCities), - {}, - {}, - (estoniaCounties)}; - -// Finland - -const std::array finlandCities{ - "Espoo", "Helsinki", "Hyvinkää", "Iisalmi", "Joensuu", "Jyväskylä", "Kokkola", - "Kuopio", "Lahti", "Oulu", "Pori", "Porvoo", "Raisio", "Rovaniemi", - "Sastamala", "Tampere", "Turku", "Vaasa", "Valkeakoski", "Vantaa", -}; - -const std::array finlandStates = { - "Ahvenanmaa", "Etelä-Karjala", "Etelä-Pohjanmaa", "Etelä-Savo", "Kainuu", - "Kanta-Häme", "Keski-Pohjanmaa", "Keski-Suomi", "Kymenlaakso", "Lappi", - "Päijät-Häme", "Pirkanmaa", "Pohjanmaa", "Pohjois-Karjala", "Pohjois-Pohjanmaa", - "Pohjois-Savo", "Satakunta", "Uusimaa", "Varsinais-Suomi", -}; - -const std::array finlandStreetSuffixes = { - "katu", "tie", "kuja", "polku", "kaari", "linja", "raitti", "rinne", "penger", "ranta", "väylä", -}; - -const std::string_view finlandZipCodeFormat{"#####"}; - -const std::array finlandAddressFormats{"{street} {buildingNumber}", - "{street} {buildingNumber} {secondaryAddress}"}; - -const std::array finlandSecondaryAddressFormats{"A", "B", "C", "A #", "A ##", - "B #", "B ##", "C #", "C ##"}; - -const std::array finlandBuildingNumberFormats{"###", "##", "#"}; - -const std::array finlandStreetFormats{"{firstName} {streetSuffix}", "{lastName} {streetSuffix}"}; - -const std::array finlandCityFormats{"{cityName}"}; - -const CountryAddressesInfo finlandAddresses{finlandZipCodeFormat, - (finlandAddressFormats), - (finlandSecondaryAddressFormats), - (finlandStreetFormats), - {}, - {}, - (finlandStreetSuffixes), - (finlandBuildingNumberFormats), - (finlandCityFormats), - {}, - (finlandCities), - {}, - (finlandStates), - {}}; - -// France - -const std::array franceCities{ - "Abbeville", - "Achères", - "Agde", - "Agen", - "Aix-en-Provence", - "Aix-les-Bains", - "Ajaccio", - "Albertville", - "Albi", - "Alençon", - "Alès", - "Alfortville", - "Asnières-sur-Seine", - "Athis-Mons", - "Aubagne", - "Aubenas", - "Bron", - "Bruay-la-Buissière", - "Bruay-sur-l'Escaut", - "Bruges", - "Brunoy", - "Bruz", - "Bry-sur-Marne", - "Bully-les-Mines", - "Bussy-Saint-Georges", - "Cabestany", - "Cachan", - "Caen", - "Cagnes-sur-Mer", - "Cahors", - "Calais", - "Caluire-et-Cuire", - "Challans", - "Chalon-sur-Saône", - "Châlons-en-Champagne", - "Chamalières", - "Chambéry", - "Chambray-lès-Tours", - "Champigny-sur-Marne", - "Champs-sur-Marne", - "Chanteloup-les-Vignes", - "Chantilly", - "Charenton-le-Pont", - "Charleville-Mézières", - "Chartres", - "Chassieu", - "Château-Gontier-sur-Mayenne", - "Château-Thierry", - "Châteaubriant", - "Cholet", - "Clamart", - "Claye-Souilly", - "Clermont-Ferrand", - "Clichy", - "Dinan", - "Dole", - "Domont", - "Douai", - "Douarnenez", - "Doué-en-Anjou", - "Dourdan", - "Draguignan", - "Drancy", - "Draveil", - "Dreux", - "Ducos", - "Dugny", - "Dumbéa", - "Dunkerque", - "Dzaoudzi", - "Fontainebleau", - "Fontenay-aux-Roses", - "Fontenay-le-Comte", - "Fontenay-le-Fleury", - "Fontenay-sous-Bois", - "Forbach", - "Fort-de-France", - "Fos-sur-Mer", - "Fougères", - "Fourmies", - "Francheville", - "Franconville", - "Fréjus", - "Fresnes", - "Freyming-Merlebach", - "Frontignan", - "Gagny", - "Gaillac", - "Gaillard", - "Gap", - "Garches", - "Gardanne", - "Garges-lès-Gonesse", - "Genas", - "Gennevilliers", - "Gentilly", - "Gerzat", - "Gex", - "Gien", - "Gif-sur-Yvette", - "Héricourt", - "Hérouville-Saint-Clair", - "Hœnheim", - "Houilles", - "Hyères", - "Ifs", - "Illkirch-Graffenstaden", - "Illzach", - "Issoire", - "Issoudun", - "Issy-les-Moulineaux", - "Istres", - "Ivry-sur-Seine", - "Jeumont", - "Joinville-le-Pont", - "Joué-lès-Tours", - "Jouy-le-Moutier", - "Juvignac", - "Juvisy-sur-Orge", - "Kingersheim", - "Lanester", - "Lannion", - "Laon", - "Lattes", - "Laval", - "Lavaur", - "Libourne", - "Lieusaint", - "Liévin", - "Lille", - "Limay", - "Limeil-Brévannes", - "Limoges", - "Lingolsheim", - "Lisieux", - "Livry-Gargan", - "Lognes", - "Loire-Authion", - "Longjumeau", - "Longuenesse", - "Longwy", - "Lons", - "Lons-le-Saunier", - "Loos", - "Lorient", - "Lormont", - "Lourdes", - "Louviers", - "Louvres", - "Lucé", - "Lunel", - "Lunéville", - "Lyon", - "Lys-lez-Lannoy", - "Mâcon", - "Macouria", - "Mahina", - "Mainvilliers", - "Maisons-Alfort", - "Maisons-Laffitte", - "Maizières-lès-Metz", - "Malakoff", - "Mamoudzou", - "Mana", - "Mandelieu-la-Napoule", - "Manosque", - "Mantes-la-Jolie", - "Mantes-la-Ville", - "Marck", - "Marcq-en-Barœul", - "Marignane", - "Marly", - "Marly-le-Roi", - "Marmande", - "Maromme", - "Marquette-lez-Lille", - "Marseille", - "Martigues", - "Massy", - "Matoury", - "Maubeuge", - "Mauges-sur-Loire", - "Mauguio", - "Maurepas", - "Mayenne", - "Meaux", - "Melun", - "Mende", - "Mennecy", - "Menton", - "Méricourt", - "Montauban", - "Montbéliard", - "Montbrison", - "Montceau-les-Mines", - "Montélimar", - "Montereau-Fault-Yonne", - "Montesson", - "Monteux", - "Moorea-Maiao", - "Morangis", - "Moret-Loing-et-Orvanne", - "Morlaix", - "Morne-à-l'Eau", - "Morsang-sur-Orge", - "Mougins", - "Moulins", - "Mouvaux", - "Mulhouse", - "Muret", - "Nancy", - "Ollioules", - "Oloron-Sainte-Marie", - "Onet-le-Château", - "Orange", - "Orée d'Anjou", - "Orléans", - "Orly", - "Ormesson-sur-Marne", - "Papeete", - "Paris", - "Passy", - "Pau", - "Pélissanne", - "Périgueux", - "Pernes-les-Fontaines", - "Perpignan", - "Persan", - "Pertuis", - "Poitiers", - "Pont-Saint-Esprit", - "Pont-Sainte-Maxence", - "Pont-à-Mousson", - "Pont-du-Château", - "Pontarlier", - "Pontault-Combault", - "Pontchâteau", - "Remire-Montjoly", - "Rennes", - "Rezé", - "Riedisheim", - "Rillieux-la-Pape", - "Royan", - "Rueil-Malmaison", - "Rumilly", - "Sablé-sur-Sarthe", - "Sada", - "Saint-Amand-les-Eaux", - "Saint-André", - "Saint-André-de-Cubzac", - "Saint-André-les-Vergers", - "Saint-André-lez-Lille", - "Saint-Avé", - "Saint-Avertin", - "Saint-Avold", - "Sens", - "Septèmes-les-Vallons", - "Sète", - "Sevran", - "Tarnos", - "Tassin-la-Demi-Lune", - "Taverny", - "Tergnier", - "Thiais", - "Thiers", - "Thionville", - "Thonon-les-Bains", - "Thorigny-sur-Marne", - "Thouaré-sur-Loire", - "Thouars", - "Tinqueux", - "Torcy", - "Toul", - "Toulon", - "Toulouse", - "Tourcoing", - "Tournefeuille", - "Tournon-sur-Rhône", - "Tours", - "Trappes", - "Trélazé", - "Tremblay-en-France", - "Trets", - "Triel-sur-Seine", - "Troyes", - "Vauréal", - "Vauvert", - "Vaux-le-Pénil", - "Vedène", - "Vélizy-Villacoublay", - "Villeurbanne", - "Villiers-le-Bel", - "Villiers-sur-Marne", - "Vincennes", - "Vire Normandie", - "Viroflay", - "Viry-Châtillon", - "Vitré", - "Vitrolles", - "Vitry-le-François", - "Vitry-sur-Seine", - "Voiron", - "Voisins-le-Bretonneux", - "Wambrechies", - "Wasquehal", - "Wattignies", - "Wattrelos", - "Wittelsheim", - "Wittenheim", - "Woippy", - "Yerres", - "Yutz", - "Yvetot", -}; - -const std::array franceStates = { - "Alsace", - "Aquitaine", - "Auvergne", - "Basse-Normandie", - "Bourgogne", - "Bretagne", - "Centre", - "Champagne-Ardenne", - "Corse", - "Franche-Comté", - "Haute-Normandie", - "Île-de-France", - "Languedoc-Roussillon", - "Limousin", - "Lorraine", - "Midi-Pyrénées", - "Nord-Pas-de-Calais", - "Pays de la Loire", - "Picardie", - "Poitou-Charentes", - "Provence-Alpes-Côte d\"Azur", - "Rhône-Alpes", -}; - -const std::array franceStreetPrefixes{ - "allée", "voie", "rue", "avenue", "boulevard", "quai", "passage", "impasse", "place", "chemin", "lotissement"}; - -const std::array franceStreetSuffixes{ - "du Faubourg Saint-Honoré", "de Montmorency", "de Solférino", "de la Pompe", "de Rivoli", "de Paris", - "du Faubourg-Saint-Denis", "de la Huchette", "Saint-Honoré", "Pastourelle", "Oberkampf", "d'Alésia", - "de la Chaussée-d'Antin", "de la Bûcherie", "de Richelieu", "Montorgueil", "Delesseux", "Zadkine", - "des Grands Augustins", "des Saussaies", "de Presbourg", "de la Harpe", "Bonaparte", "d'Orsel", - "des Francs-Bourgeois", "Saint-Séverin", "des Lombards", "Charlemagne", "La Boétie", "Molière", - "Monsieur-le-Prince", "Saint-Jacques", "de Caumartin", "de l'Abbaye", "de Seine", "Joubert", - "de la Ferronnerie", "Saint-Bernard", "d'Argenteuil", "de Tilsitt", "de Nesle", "d'Assas", - "du Chat-qui-Pêche", "des Panoramas", "Saint-Denis", "de la Paix", "Marcadet", "Vaneau", - "Saint-Dominique", "Adolphe Mille", "d'Abbeville", "de l'Odéon", "Laffitte", "Royale", - "de la Victoire", "de Vaugirard", "des Rosiers", "Mouffetard", "du Havre", "du Bac", - "Pierre Charron", "Du Sommerard", "de Provence", "du Dahomey", "Dauphine", "Lepic"}; - -const std::string_view franceZipCodeFormat{"#####"}; - -const std::array franceAddressFormats{"{buildingNumber} {street}"}; - -const std::array franceBuildingNumberFormats{"####", "###", "##", "#"}; - -const std::array franceSecondaryAddressFormats{"Apt. ###", "Étage #"}; - -const std::array franceStreetFormats{"{streetPrefix} {streetSuffix}"}; - -const std::array franceCityFormats{"{cityName}"}; - -const CountryAddressesInfo franceAddresses{franceZipCodeFormat, - (franceAddressFormats), - (franceSecondaryAddressFormats), - (franceStreetFormats), - (franceStreetPrefixes), - {}, - (franceStreetSuffixes), - (franceBuildingNumberFormats), - (franceCityFormats), - {}, - (franceCities), - {}, - (franceStates), - {}}; - -// Germany - -const std::array germanyCities{ - "Aachen", - "Aalen", - "Ahlen", - "Arnsberg", - "Aschaffenburg", - "Augsburg", - "Bad Homburg vor der Höhe", - "Bad Kreuznach", - "Bad Oeynhausen", - "Bad Salzuflen", - "Baden-Baden", - "Bamberg", - "Bayreuth", - "Bergheim", - "Bergisch Gladbach", - "Berlin", - "Bielefeld", - "Böblingen", - "Bocholt", - "Bochum", - "Bonn", - "Bottrop", - "Brandenburg an der Havel", - "Braunschweig", - "Bremen", - "Bremerhaven", - "Castrop-Rauxel", - "Celle", - "Chemnitz", - "Cottbus", - "Darmstadt", - "Delmenhorst", - "Dessau-Roßlau", - "Detmold", - "Dinslaken", - "Dormagen", - "Dorsten", - "Dortmund", - "Dresden", - "Duisburg", - "Düren", - "Düsseldorf", - "Elmshorn", - "Emden", - "Erftstadt", - "Erfurt", - "Erlangen", - "Eschweiler", - "Essen", - "Esslingen am Neckar", - "Euskirchen", - "Flensburg", - "Frankfurt (Oder)", - "Frankfurt am Main", - "Frechen", - "Freiburg im Breisgau", - "Friedrichshafen", - "Fulda", - "Fürth", - "Garbsen", - "Gelsenkirchen", - "Gera", - "Gießen", - "Gladbeck", - "Göppingen", - "Görlitz", - "Goslar", - "Göttingen", - "Greifswald", - "Grevenbroich", - "Gronau (Westf.)", - "Gummersbach", - "Gütersloh", - "Hagen", - "Halle (Saale)", - "Hamburg", - "Hameln", - "Hamm", - "Hanau", - "Hannover", - "Hattingen", - "Heidelberg", - "Heidenheim an der Brenz", - "Heilbronn", - "Herford", - "Herne", - "Herten", - "Hilden", - "Hildesheim", - "Hürth", - "Ibbenbüren", - "Ingolstadt", - "Iserlohn", - "Jena", - "Kaiserslautern", - "Karlsruhe", - "Kassel", - "Kempten (Allgäu)", - "Kerpen", - "Kiel", - "Kleve", - "Koblenz", - "Köln", - "Konstanz", - "Krefeld", - "Landshut", - "Langenfeld (Rheinland)", - "Langenhagen", - "Leipzig", - "Leonberg", - "Leverkusen", - "Lingen (Ems)", - "Lippstadt", - "Lörrach", - "Lübeck", - "Lüdenscheid", - "Ludwigsburg", - "Ludwigshafen am Rhein", - "Lüneburg", - "Lünen", - "Magdeburg", - "Mainz", - "Mannheim", - "Marburg", - "Marl", - "Meerbusch", - "Menden (Sauerland)", - "Minden", - "Moers", - "Mönchengladbach", - "Mülheim an der Ruhr", - "München", - "Münster", - "Neu-Ulm", - "Neubrandenburg", - "Neumünster", - "Neuss", - "Neustadt an der Weinstraße", - "Neuwied", - "Norderstedt", - "Nordhorn", - "Nürnberg", - "Oberhausen", - "Offenbach am Main", - "Offenburg", - "Oldenburg (Oldenburg)", - "Osnabrück", - "Paderborn", - "Passau", - "Peine", - "Pforzheim", - "Plauen", - "Potsdam", - "Pulheim", - "Rastatt", - "Ratingen", - "Ravensburg", - "Recklinghausen", - "Regensburg", - "Remscheid", - "Reutlingen", - "Rheine", - "Rosenheim", - "Rostock", - "Rüsselsheim am Main", - "Saarbrücken", - "Salzgitter", - "Sankt Augustin", - "Schwäbisch Gmünd", - "Schweinfurt", - "Schwerin", - "Siegen", - "Sindelfingen", - "Solingen", - "Speyer", - "Stolberg (Rheinland)", - "Stralsund", - "Stuttgart", - "Trier", - "Troisdorf", - "Tübingen", - "Ulm", - "Unna", - "Velbert", - "Viersen", - "Villingen-Schwenningen", - "Waiblingen", - "Weimar", - "Wesel", - "Wetzlar", - "Wiesbaden", - "Wilhelmshaven", - "Willich", - "Witten", - "Wolfenbüttel", - "Wolfsburg", - "Worms", - "Wuppertal", - "Würzburg", - "Zwickau", -}; - -const std::array germanyStates = { - "Baden-Württemberg", - "Bayern", - "Berlin", - "Brandenburg", - "Bremen", - "Hamburg", - "Hessen", - "Mecklenburg-Vorpommern", - "Niedersachsen", - "Nordrhein-Westfalen", - "Rheinland-Pfalz", - "Saarland", - "Sachsen", - "Sachsen-Anhalt", - "Schleswig-Holstein", - "Thüringen", -}; - -const std::array germanyStreetNames{ - "Ackerweg", - "Adalbert-Stifter-Str.", - "Brandenburger Str.", - "Breidenbachstr.", - "Breslauer Str.", - "Bruchhauser Str.", - "Brückenstr.", - "Brucknerstr.", - "Brüder-Bonhoeffer-Str.", - "Buchenweg", - "Bürgerbuschweg", - "Burgloch", - "Burgplatz", - "Burgstr.", - "Burgweg", - "Bürriger Weg", - "Burscheider Str.", - "Buschkämpchen", - "Butterheider Str.", - "Carl-Duisberg-Platz", - "Carl-Duisberg-Str.", - "Carl-Leverkus-Str.", - "Carl-Maria-von-Weber-Platz", - "Cranachstr.", - "Dahlemer Str.", - "Daimlerstr.", - "Damaschkestr.", - "Danziger Str.", - "Debengasse", - "Dechant-Fein-Str.", - "Dechant-Krey-Str.", - "Deichtorstr.", - "Dhünnberg", - "Dhünnstr.", - "Dianastr.", - "Diedenhofener Str.", - "Diepental", - "Diepenthaler Str.", - "Dieselstr.", - "Dillinger Str.", - "Distelkamp", - "Dohrgasse", - "Domblick", - "Dönhoffstr.", - "Dornierstr.", - "Drachenfelsstr.", - "Dr.-August-Blank-Str.", - "Dresdener Str.", - "Driescher Hecke", - "Emil-Fischer-Str.", - "Emil-Nolde-Str.", - "Engelbertstr.", - "Engstenberger Weg", - "Entenpfuhl", - "Erbelegasse", - "Erftstr.", - "Erfurter Str.", - "Fichtenweg", - "Fichtestr.", - "Finkelsteinstr.", - "Finkenweg", - "Fixheider Str.", - "Flabbenhäuschen", - "Flensburger Str.", - "Fliederweg", - "Florastr.", - "Florianweg", - "Flotowstr.", - "Flurstr.", - "Föhrenweg", - "Fontanestr.", - "Forellental", - "Fortunastr.", - "Friedrich-Naumann-Str.", - "Friedrich-Sertürner-Str.", - "Friedrichstr.", - "Friedrich-Weskott-Str.", - "Görlitzer Str.", - "Görresstr.", - "Graebestr.", - "Graf-Galen-Platz", - "Gregor-Mendel-Str.", - "Greifswalder Str.", - "Grillenweg", - "Gronenborner Weg", - "Große Kirchstr.", - "Grunder Wiesen", - "Grundermühle", - "Grundermühlenhof", - "Grundermühlenweg", - "Grüner Weg", - "Grunewaldstr.", - "Grünstr.", - "Günther-Weisenborn-Str.", - "Gustav-Freytag-Str.", - "Gustav-Heinemann-Str.", - "Gustav-Radbruch-Str.", - "Gut Reuschenberg", - "Hannah-Höch-Str.", - "Hans-Arp-Str.", - "Heckenweg", - "Heerweg", - "Hegelstr.", - "Heidberg", - "Heidehöhe", - "Heidestr.", - "Heimstättenweg", - "Jenaer Str.", - "Johannes-Baptist-Str.", - "Johannes-Dott-Str.", - "Johannes-Popitz-Str.", - "Johannes-Wislicenus-Str.", - "Johannisburger Str.", - "Johann-Janssen-Str.", - "Johann-Wirtz-Weg", - "Josefstr.", - "Jüch", - "Julius-Doms-Str.", - "Julius-Leber-Str.", - "Kaiserplatz", - "Kaiserstr.", - "Kaiser-Wilhelm-Allee", - "Kalkstr.", - "Kämpchenstr.", - "Kämpenwiese", - "Kämper Weg", - "Kamptalweg", - "Kanalstr.", - "Kandinskystr.", - "Kantstr.", - "Kocherstr.", - "Kockelsberg", - "Kolberger Str.", - "Kolmarer Str.", - "Kölner Gasse", - "Kölner Str.", - "Kurt-Schumacher-Ring", - "Kyllstr.", - "Langenfelder Str.", - "Längsleimbach", - "Lärchenweg", - "Legienstr.", - "Lehner Mühle", - "Leichlinger Str.", - "Mauspfad", - "Max-Beckmann-Str.", - "Max-Delbrück-Str.", - "Max-Ernst-Str.", - "Max-Holthausen-Platz", - "Max-Horkheimer-Str.", - "Max-Liebermann-Str.", - "Max-Pechstein-Str.", - "Max-Planck-Str.", - "Max-Scheler-Str.", - "Max-Schönenberg-Str.", - "Maybachstr.", - "Meckhofer Feld", - "Meisenweg", - "Memelstr.", - "Muldestr.", - "Mülhausener Str.", - "Mülheimer Str.", - "Münsters Gäßchen", - "Münzstr.", - "Müritzstr.", - "Myliusstr.", - "Nachtigallenweg", - "Nauener Str.", - "Ober dem Hof", - "Obere Lindenstr.", - "Obere Str.", - "Oberölbach", - "Odenthaler Str.", - "Oderstr.", - "Okerstr.", - "Olof-Palme-Str.", - "Ophovener Str.", - "Opladener Platz", - "Parkstr.", - "Pastor-Louis-Str.", - "Pastor-Scheibler-Str.", - "Pastorskamp", - "Paul-Klee-Str.", - "Paul-Löbe-Str.", - "Paulstr.", - "Peenestr.", - "Pescher Busch", - "Peschstr.", - "Pestalozzistr.", - "Peter-Grieß-Str.", - "Peter-Joseph-Lenné-Str.", - "Pregelstr.", - "Prießnitzstr.", - "Pützdelle", - "Quarzstr.", - "Quettinger Str.", - "Rat-Deycks-Str.", - "Rathenaustr.", - "Ratherkämp", - "Ratiborer Str.", - "Raushofstr.", - "Regensburger Str.", - "Reinickendorfer Str.", - "Renkgasse", - "Rennbaumplatz", - "Rennbaumstr.", - "Reuschenberger Str.", - "Röntgenstr.", - "Roonstr.", - "Ropenstall", - "Ropenstaller Weg", - "Rosenthal", - "Rostocker Str.", - "Rotdornweg", - "Röttgerweg", - "Rückertstr.", - "Rudolf-Breitscheid-Str.", - "Rudolf-Mann-Platz", - "Rudolf-Stracke-Str.", - "Ruhlachplatz", - "Steinweg", - "Stephan-Lochner-Str.", - "Stephanusstr.", - "Stettiner Str.", - "Stixchesstr.", - "Stöckenstr.", - "Stralsunder Str.", - "Straßburger Str.", - "Stresemannplatz", - "Uhlandstr.", - "Ulmenweg", - "Ulmer Str.", - "Ulrichstr.", - "Ulrich-von-Hassell-Str.", - "Umlag", - "Unstrutstr.", - "Unter dem Schildchen", - "Unterölbach", - "Unterstr.", - "Uppersberg", - "Van't-Hoff-Str.", - "Veit-Stoß-Str.", - "Vereinsstr.", - "Viktor-Meyer-Str.", - "Vincent-van-Gogh-Str.", - "Virchowstr.", - "Voigtslach", - "Weizkamp", - "Werftstr.", - "Werkstättenstr.", - "Werner-Heisenberg-Str.", - "Werrastr.", - "Weyerweg", - "Widdauener Str.", - "Wiebertshof", - "Wiehbachtal", - "Wiembachallee", - "Wiesdorfer Platz", - "Wiesenstr.", - "Wilhelm-Busch-Str.", - "Zauberkuhle", - "Zedernweg", - "Zehlendorfer Str.", - "Zehntenweg", - "Zeisigweg", - "Zeppelinstr.", - "Zschopaustr.", - "Zum Claashäuschen", - "Zündhütchenweg", - "Zur Alten Brauerei", - "Zur alten Fabrik", -}; - -const std::string_view germanyZipCodeFormat{"#####"}; - -const std::array germanyAddressFormats{"{street} {buildingNumber}", - "{street} {buildingNumber} {secondaryAddress}"}; - -const std::array germanySecondaryAddressFormats{"Apt. ###", "Zimmer ###", "# OG"}; - -const std::array germanyBuildingNumberFormats{"###", "##", "#", "##a", "##b", "##c"}; - -const std::array germanyStreetFormats{"{streetName}"}; - -const std::array germanyCityFormats{"{cityName}"}; - -const CountryAddressesInfo germanyAddresses{germanyZipCodeFormat, - (germanyAddressFormats), - (germanySecondaryAddressFormats), - (germanyStreetFormats), - {}, - (germanyStreetNames), - {}, - (germanyBuildingNumberFormats), - (germanyCityFormats), - {}, - (germanyCities), - {}, - (germanyStates), - {}}; - -// India - -const std::array indiaCities{ - "Achalpur", - "Achhnera", - "Adalaj", - "Adilabad", - "Adityapur", - "Adoni", - "Adoor", - "Adra", - "Adyar", - "Ankleshwar", - "Arakkonam", - "Arambagh", - "Araria", - "Arrah", - "Arsikere", - "Aruppukkottai", - "Arvi", - "Arwal", - "Asansol", - "Asarganj", - "Ashok Nagar", - "Athni", - "Dalli-Rajhara", - "Darbhanga", - "Darjiling", - "Imphal", - "Indore", - "Itarsi", - "Jharsuguda", - "Kodungallur", - "Kohima", - "Kolar", - "Kolkata", - "Ladwa", - "Lahar", - "Laharpur", - "Lakheri", - "Lakhimpur", - "Lakhisarai", - "Lakshmeshwar", - "Lal Gopalganj Nindaura", - "Lalganj", - "Lalgudi", - "Lalitpur", - "Lalsot", - "Lanka", - "Lar", - "Madikeri", - "Madurai", - "Magadi", - "Mahad", - "Mahalingapura", - "Maharajganj", - "Maharajpur", - "Mahasamund", - "Mahbubnagar", - "Mahe", - "Mahemdabad", - "Mahendragarh", - "Mahesana", - "Mahidpur", - "Mahnar Bazar", - "Mahuva", - "Maihar", - "Narkhed", - "Nokha", - "Paradip", - "Paramakudi", - "Parangipettai", - "Parasi", - "Paravoor", - "Parbhani", - "Pardi", - "Parlakhemundi", - "Parli", - "Partur", - "Parvathipuram", - "Pasan", - "Pauni", - "Pauri", - "Pavagada", - "Pedana", - "Peddapuram", - "Pulgaon", - "Puliyankudi", - "Punalur", - "Punch", - "Raghunathganj", - "Raghunathpur", - "Rahatgarh", - "Rahuri", - "Raiganj", - "Raigarh", - "Raikot", - "Raipur", - "Rehli", - "Renigunta", - "Renukoot", - "Reoti", - "Repalle", - "Revelganj", - "Rewa", - "Rewari", - "Rishikesh", - "Risod", - "Robertsganj", - "Robertson Pet", - "Rohtak", - "Ron", - "Roorkee", - "Rosera", - "Rudauli", - "Rudrapur", - "Rupnagar", - "Sabalgarh", - "Salaya", - "Salem", - "Salur", - "Samalkha", - "Samalkot", - "Samana", - "Samastipur", - "Sambalpur", - "Sambhal", - "Sambhar", - "Samdhan", - "Samthar", - "Sanand", - "Sardhana", - "Sarni", - "Sarsod", - "Sasaram", - "Sasvad", - "Satana", - "Satara", - "Sathyamangalam", - "Satna", - "Sattenapalle", - "Sattur", - "Saunda", - "Saundatti-Yellamma", - "Sausar", - "Savanur", - "Savarkundla", - "Savner", - "Sawai Madhopur", - "Sawantwadi", - "Sedam", - "Sherghati", - "Sherkot", - "Shiggaon", - "Shikaripur", - "Shikarpur, Bulandshahr", - "Shikohabad", - "Shillong", - "Shimla", - "Shirdi", - "Shirpur-Warwade", - "Shirur", - "Shishgarh", - "Sindagi", - "Sindhagi", - "Sindhnur", - "Singrauli", - "Sinnar", - "Sira", - "Sircilla", - "Sirhind Fatehgarh Sahib", - "Sirkali", - "Sirohi", - "Sironj", - "Sirsa", - "Sirsaganj", - "Sirsi", - "Siruguppa", - "Sitamarhi", - "Sitapur", - "Sitarganj", - "Sivaganga", - "Sivagiri", - "Sivakasi", - "Sundargarh", - "Sundarnagar", - "Supaul", - "Surandai", - "Surapura", - "Surat", - "Suratgarh", - "Tarana", - "Taranagar", - "Taraori", - "Tarbha", - "Tarikere", - "Tarn Taran", - "Tasgaon", - "Tehri", - "Tekkalakote", - "Tenali", - "Tenkasi", - "Tenu dam-cum-Kathhara", - "Terdal", - "Tezpur", - "Thakurdwara", - "Thammampatti", - "Thana Bhawan", - "Thrissur", - "Thuraiyur", - "Tikamgarh", - "Tilda Newra", - "Tilhar", - "Tindivanam", - "Tinsukia", - "Tiptur", - "Tirora", - "Tiruchendur", - "Tiruchengode", - "Tiruchirappalli", - "Warisaliganj", - "Warora", - "Warud", - "Zunheboto", -}; - -const std::array indiaStates = { - "Andaman and Nicobar Islands", - "Andra Pradesh", - "Arunachal Pradesh", - "Assam", - "Bihar", - "Chandigarh", - "Chhattisgarh", - "Dadar and Nagar Haveli", - "Daman and Diu", - "Delhi", - "Goa", - "Gujarat", - "Haryana", - "Himachal Pradesh", - "Jammu and Kashmir", - "Jharkhand", - "Karnataka", - "Kerala", - "Lakshadweep", - "Madya Pradesh", - "Maharashtra", - "Manipur", - "Meghalaya", - "Mizoram", - "Nagaland", - "Odisha", - "Pondicherr", - "Punjab", - "Rajasthan", - "Sikkim", - "Tamil Nadu", - "Telangana", - "Tripura", - "Uttar Pradesh", - "Uttarakhand", - "West Bengal", -}; - -const std::array indiaStreetSuffixes = { - "Pur", "Puri", "Halli", "Wadi", "Nagar", "Abad", "Palle", "Pura", "Patti", - "Uru", "Oor", "Gaon", "Puram", "Ong", "Street", "Park", "Radial", "Junction", - "Cove", "Hollow", "Rapids", "Cheri", "Road", "Padra", "Nagara", "Athani", "Ridges", - "Skyway", "Crossing", "Plains", "Parkway", "Points", "Falls", "Brooks", "Theru", -}; - -const std::string_view indiaZipCodeFormat{"######"}; - -const std::array indiaAddressFormats{"{buildingNumber} {street}"}; - -const std::array indiaSecondaryAddressFormats{"Apt. ###", "Flat ###"}; - -const std::array indiaBuildingNumberFormats{"#####", "####", "###"}; - -const std::array indiaStreetFormats{"{firstName} {streetSuffix}", "{lastName} {streetSuffix}"}; - -const std::array indiaCityFormats{"{cityName}"}; - -const CountryAddressesInfo indiaAddresses{indiaZipCodeFormat, - (indiaAddressFormats), - (indiaSecondaryAddressFormats), - (indiaStreetFormats), - {}, - {}, - (indiaStreetSuffixes), - (indiaBuildingNumberFormats), - (indiaCityFormats), - {}, - (indiaCities), - {}, - (indiaStates), - {}}; - -// Italy - -const std::array italyCities{ - "Agliè", "Andezeno", "Barbania", "Brosso", "Buriasco", "Caluso", "Cantoira", - "Carmagnola", "Cavour", "Chiaverano", "Ciconio", "Coazze", "Cumiana", "Feletto", - "Front", "Giaveno", "Grugliasco", "Lauriano", "Locana", "Lusigliè", "Mathi", - "Mompantero", "Nichelino", "Novalesa", "Oulx", "Perrero", "Pinerolo", "Pomaretto", - "Pramollo", "Quassolo", "Rivara", "Rondissone", "Rueglio", "Santena", "Sparone", - "Usseaux", "Varisella", "Vidracco", "Vinovo", "Volvera", "Balocco", "Campertogno", - "Cervatto", "Cravagliana", "Formigliana", "Lamporo", "Moncrivello", "Pila", "Rassa", - "Rossa", "Scopa", "Valduggia", "Vocca", "Biandrate", "Briona", "Comignago", - "Galliate", "Invorio", "Mezzomerico", "Pisano", "Sillavengo", "Terdobbiate", "Vinzaglio", - "Alto", "Barge", "Benevello", "Bosia", "Brondello", "Canosio", "Cartignano", - "Castino", "Cervere", "Clavesana", "Demonte", "Envie", "Frassino", "Gorzegno", - "Isasca", "Macra", "Marmora", "Montanera", "Murello", "Nucetto", "Pagno", - "Peveragno", "Pocapaglia", "Revello", "Robilante", "Roddi", "Saliceto", "Sanfrè", - "Sinio", "Treiso", "Venasca", "Vignolo", "Albugnano", "Bruno", "Canelli", - "Castell'Alfero", "Coazzolo", "Cortazzone", "Fontanile", "Maretto", "Monale", "Quaranti", - "Scurzolengo", "Tigliole", "Viale", "Balzola", "Bosio", "Carezzano", "Casasco", - "Cereseto", "Dernice", "Frugarolo", "Giarole", "Lerma", "Molare", "Montaldeo", - "Mornese", "Ottiglio", "Pasturana", "Prasco", "Rivarone", "Solero", "Terruggia", - "Trisobbio", "Villalvernia", "Bioglio", "Camburzano", "Cerrione", "Donato", "Magnano", - "Mottalciata", "Piedicavallo", "Pray", "Tollegno", "Verrone", "Lessona", "Baceno", - "Bognanco", "Caprezzo", "Crodo", "Ghiffa", "Macugnaga", "Miazzina", "Omegna", - "Premia", "Trasquera", "Allein", "Avise", "Brissogne", "Chamois", "Cogne", - "Etroubles", "Gressan", "Issime", "Morgex", "Barni", "Bregnano", "Cabiate", - "Carbonate", "Cavargna", "Dizzasco", "Faloppio", "Guanzate", "Lasnigo", "Luisago", - "Moltrasio", "Musso", "Pigra", "Pusiano", "Nosate", "Pantigliate", "Rescaldina", - "Sedriano", "Tribiano", "Vignate", "Albino", "Ardesio", "Barbata", "Bossico", - "Brumano", "Capizzone", "Cerete", "Colzate", "Cusio", "Fontanella", "Gandosso", - "Gorno", "Lallio", "Martinengo", "Mozzo", "Pagazzano", "Parzanica", "Piazzatorre", - "Pradalunga", "Ranica", "Rovetta", "Selvino", "Sovere", "Taleggio", "Valbondione", - "Valtorta", "Viadanica", "Zogno", "Acquafredda", "Artogne", "Berlingo", "Botticino", - "Breno", "Calvisano", "Castelcovati", "Cellatica", "Cigole", "Cologne", "Edolo", - "Gambara", "Gottolengo", "Iseo", "Lograto", "Maclodio", "Manerbio", "Milzano", - "Muscoline", "Odolo", "Ospitaletto", "Passirano", "Retorbido", "Rosasco", "Sommo", - "Vidigulfo", "Zerbo", "Azzanello", "Capergnanica", "Castelleone", "Crema", "Fiesco", - "Grontardo", "Montodine", "Pandino", "Ricengo", "Soresina", "Tornata", "Voltido", - "Casalromano", "Commessaggio", "Gonzaga", "Marmirolo", "Ostiglia", "Quistello", "Sabbioneta", - "Viadana", "Barzago", "Bulciago", "Casatenovo", "Cremeno", "Erve", "Merate", - "Morterone", "Pagnona", "Premana", "Sirtori", "Valmadrera", "Codogno", "Galgagnano", - "Maccastorna", "Meleti", "Sordio", "Barlassina", "Briosco", "Concorezzo", "Lesmo", - "Stelvio", "Tirolo", "Vandoies", "Vipiteno", "Andalo", "Bieno", "Caldes", - "Capriana", "Cavareno", "Cis", "Dambel", "Fierozzo", "Giustino", "Lavis", - "Massimeno", "Mezzolombardo", "Nogaredo", "Pinzolo", "Altissimo", "Breganze", "Caltrano", - "Castegnero", "Creazzo", "Gallio", "Longare", "Montegaldella", "Orgiano", "Roana", - "Santorso", "Solagna", "Trissino", "Villaverla", "Valbrenta", "Gosaldo", "Sospirolo", - "Casier", "Codognè", "Fontanelle", "Loria", "Montebelluna", "Paese", "Preganziol", - "Sarmede", "Vedelago", "Cavarzere", "Eraclea", "Martellago", "Pianiga", "Spinea", - "Comeglians", "Enemonzo", "Grimacco", "Mortegliano", "Pagnacco", "Pontebba", "Premariacco", - "Ravascletto", "Rigolato", "Sedegliano", "Talmassons", "Torreano", "Varmo", "Sappada", - "Monfalcone", "Turriaco", "Brugnera", "Claut", "Fontanafredda", "Porcia", "Spilimbergo", - "Airole", "Bajardo", "Castellaro", "Chiusavecchia", "Dolcedo", "Ospedaletti", "Pontedassio", - "Sanremo", "Triora", "Vessalico", "Arnasco", "Bormida", "Ceriale", "Giustenice", - "Mallare", "Nasino", "Pallare", "Roccavignale", "Stellanello", "Vendone", "Bogliasco", - "Palanzano", "Terenzo", "Varsi", "Brescello", "Castellarano", "Gattatico", "Poviglio", - "Toano", "Bomporto", "Fanano", "Maranello", "Montefiorino", "Polinago", "Sestola", - "Argelato", "Camugnano", "Fontanelice", "Marzabotto", "Valsamoggia", "Comacchio", "Tresignana", - "Conselice", "Cesena", "Modigliana", "Sarsina", "Gemmano", "Saludecio", "Pennabilli", - "Comano", "Montignoso", "Zeri", "Capannori", "Massarosa", "Pietrasanta", "Agliana", - "Montale", "Uzzano", "Empoli", "Impruneta", "Pelago", "Signa", "Capoliveri", - "Piombino", "Bientina", "Cascina", "Montescudaio", "Ponsacco", "Vicopisano", "Bucine", - "Lucignano", "Monteriggioni", "Poggibonsi", "Sinalunga", "Campagnatico", "Gavorrano", "Pitigliano", - "Montemurlo", "Bettona", "Collazzone", "Gubbio", "Norcia", -}; - -const std::array italyStates = { - "Agrigento", - "Alessandria", - "Ancona", - "Aosta", - "Arezzo", - "Ascoli Piceno", - "Asti", - "Avellino", - "Bari", - "Barletta-Andria-Trani", - "Belluno", - "Benevento", - "Bergamo", - "Biella", - "Bologna", - "Bolzano", - "Brescia", - "Brindisi", - "Cagliari", - "Caltanissetta", - "Campobasso", - "Carbonia-Iglesias", - "Caserta", - "Catania", - "Catanzaro", - "Chieti", - "Como", - "Cosenza", - "Cremona", - "Crotone", - "Cuneo", - "Enna", - "Fermo", - "Ferrara", - "Firenze", - "Foggia", - "Forlì-Cesena", - "Frosinone", - "Genova", - "Gorizia", - "Grosseto", - "Imperia", - "Isernia", - "La Spezia", - "L \'Aquila", - "Latina", - "Lecce", - "Lecco", - "Livorno", - "Lodi", - "Lucca", - "Macerata", - "Mantova", - "Massa-Carrara", - "Matera", - "Messina", - "Milano", - "Modena", - "Monza e della Brianza", - "Napoli", - "Novara", - "Nuoro", - "Olbia-Tempio", - "Oristano", - "Padova", - "Palermo", - "Parma", - "Pavia", - "Perugia", - "Pesaro e Urbino", - "Pescara", - "Piacenza", - "Pisa", - "Pistoia", - "Pordenone", - "Potenza", - "Prato", - "Ragusa", - "Ravenna", - "Reggio Calabria", - "Reggio Emilia", - "Rieti", - "Rimini", - "Roma", - "Rovigo", - "Salerno", - "Medio Campidano", - "Sassari", - "Savona", - "Siena", - "Siracusa", - "Sondrio", - "Taranto", - "Teramo", - "Terni", - "Torino", - "Ogliastra", - "Trapani", - "Trento", - "Treviso", - "Trieste", - "Udine", - "Varese", - "Venezia", - "Verbano-Cusio-Ossola", - "Vercelli", - "Verona", - "Vibo Valentia", - "Vicenza", - "Viterbo", -}; - -const std::array italyStreetPrefixes{ - "Piazza", "Strada", "Via", "Borgo", "Contrada", "Rotonda", "Incrocio", -}; - -const std::string_view italyZipCodeFormat{"#####"}; - -const std::array italyAddressFormats{"{street} {buildingNumber}", - "{street} {buildingNumber} {secondaryAddress}"}; - -const std::array italySecondaryAddressFormats{"Appartamento ##", "Piano #"}; - -const std::array italyBuildingNumberFormats{"###", "##", "#"}; - -const std::array italyStreetFormats{"{streetPrefix} {firstName}", "{streetPrefix} {lastName}"}; - -const std::array italyCityFormats{"{cityName}"}; - -const CountryAddressesInfo italyAddresses{italyZipCodeFormat, - (italyAddressFormats), - (italySecondaryAddressFormats), - (italyStreetFormats), - (italyStreetPrefixes), - {}, - {}, - (italyBuildingNumberFormats), - (italyCityFormats), - {}, - (italyCities), - {}, - (italyStates), - {}}; - -// Poland - -const std::array polandCities{ - "Aleksandrów Kujawski", - "Bierutów", - "Bieżuń", - "Biłgoraj", - "Biskupiec", - "Bisztynek", - "Blachownia", - "Błaszki", - "Błażowa", - "Błonie", - "Bobolice", - "Bobowa", - "Bochnia", - "Bodzanów", - "Bodzentyn", - "Bogatynia", - "Boguchwała", - "Boguszów-Gorce", - "Bojanowo", - "Bolesławiec", - "Bolimów", - "Bychawa", - "Byczyna", - "Bydgoszcz", - "Bystrzyca Kłodzka", - "Bytom", - "Bytom Odrzański", - "Bytów", - "Cedynia", - "Cegłów", - "Chełm", - "Choroszcz", - "Chorzele", - "Chorzów", - "Choszczno", - "Chrzanów", - "Ciechanowiec", - "Ciechanów", - "Ciechocinek", - "Cieszanów", - "Cieszyn", - "Dąbrowa Górnicza", - "Dąbrowa Tarnowska", - "Dąbrowice", - "Debrzno", - "Dębica", - "Dęblin", - "Dębno", - "Dobczyce", - "Działoszyce", - "Działoszyn", - "Dzierzgoń", - "Dzierżoniów", - "Dziwnów", - "Elbląg", - "Ełk", - "Frampol", - "Frombork", - "Garwolin", - "Gąbin", - "Gdańsk", - "Gdynia", - "Giżycko", - "Glinojeck", - "Gliwice", - "Głogów", - "Głogów Małopolski", - "Głogówek", - "Głowno", - "Głubczyce", - "Głuchołazy", - "Głuszyca", - "Gniew", - "Gniewkowo", - "Gniezno", - "Gorzów Wielkopolski", - "Gostynin", - "Gostyń", - "Gościno", - "Jastrzębie-Zdrój", - "Jabłonowo Pomorskie", - "Janikowo", - "Janowiec Wielkopolski", - "Jelenia Góra", - "Jeziorany", - "Jeżów", - "Jędrzejów", - "Jordanów", - "Józefów", - "Karpacz", - "Kielce", - "Kietrz", - "Kisielice", - "Kraków", - "Latowicz", - "Lądek-Zdrój", - "Legionowo", - "Legnica", - "Lubaczów", - "Lubań", - "Łomża", - "Łopuszno", - "Łosice", - "Łowicz", - "Łódź", - "Łuków", - "Maków Mazowiecki", - "Maków Podhalański", - "Malbork", - "Mikołajki", - "Mikołów", - "Mikstat", - "Milanówek", - "Milicz", - "Miłakowo", - "Miłomłyn", - "Olsztyn", - "Oświęcim", - "Otmuchów", - "Piła", - "Piława Górna", - "Pińczów", - "Pionki", - "Piotrków Kujawski", - "Pleszew", - "Płock", - "Płońsk", - "Płoty", - "Pniewy", - "Prabuty", - "Praszka", - "Prochowice", - "Proszowice", - "Prószków", - "Pruchnik", - "Prudnik", - "Prusice", - "Pruszcz", - "Pruszcz Gdański", - "Pruszków", - "Przasnysz", - "Raciąż", - "Racibórz", - "Radków", - "Radlin", - "Radłów", - "Rydzyna", - "Ryglice", - "Ryki", - "Rymanów", - "Ryn", - "Starachowice", - "Stargard", - "Starogard Gdański", - "Stary Sącz", - "Szamocin", - "Szamotuły", - "Szczecin", - "Szczecinek", - "Świeradów-Zdrój", - "Świerzawa", - "Świętochłowice", - "Świnoujście", - "Tarczyn", - "Tarnobrzeg", - "Tarnogród", - "Tarnowskie Góry", - "Tychowo", - "Tychy", - "Ustrzyki Dolne", - "Wadowice", - "Wałbrzych", - "Wałcz", - "Warka", - "Warszawa", - "Warta", - "Wiskitki", - "Wisła", - "Wiślica", - "Witkowo", - "Witnica", - "Wleń", - "Włocławek", - "Wrocław", - "Wronki", - "Września", - "Zalewo", - "Zambrów", - "Zamość", - "Zator", - "Żywiec", -}; - -const std::array polandStates = { - "dolnośląskie", "kujawsko-pomorskie", "lubelskie", "lubuskie", "łódzkie", "małopolskie", "mazowieckie", - "opolskie", "podkarpackie", "podlaskie", "pomorskie", "śląskie", "świętokrzyskie", "warmińsko-mazurskie", - "wielkopolskie", "zachodniopomorskie", -}; - -const std::array polandStreetNames{ - "Piękna", - "Babiego Lata", - "Topolowa", - "Tęczowa", - "Teodozji", - "Szeroka", - "Gabriela Narutowicza", - "Lipowa", - "Łąkowa", - "Magnolii", - "Malachitowa", - "Marii Rodziewiczówny", - "Mikołaja Kopernika", - "Orzechowa", - "Klonowa", - "Astrów", - "Morelowa", - "Malwy", - "Malinowa", - "Zakątek", - "Przyleśna", - "Polna", - "Zadanie 12", - "Powstańców Warszawy", - "Równa", - "Sekwoi", - "Zadrzewiona", - "Zadanie 02", - "Zadanie 04", - "Wydmowa", - "Wschodnia", - "Słoneczna", - "Jaśminowa", - "Perłowa", - "Mazowiecka", - "Marii Skłodowskiej-Curie", - "Marii Konopnickiej", - "Kubusia Puchatka", - "Koralowa", - "Juliusza Słowackiego", - "Jeździecka", - "Wąska", - "Zadanie 06", - "Zadanie 13", - "Zapiecek", - "Zaułek", - "Platanów", - "Dzielna", - "Wspólna", - "Wilanowska", - "Jana Pawła II", - "Zachodu Słońca", - "Dzika", - "Juliana Ursyna Niemcewicza", - "Rolna", - "Aleja marsz. Józefa Piłsudskiego", - "Różana", - "Słonecznej Polany", - "Anny Walentynowicz", - "Ponczowa", - "Piechoty Łanowej", - "Karuzela", - "Husarii", - "Kwitnącej Łąki", - "Prymasa Augusta Hlonda", - "Kosiarzy", - "Zastruże", - "Resorowa", - "Przekorna", - "św. Urszuli Ledóchowskiej", - "Zygmunta Vogla", - "Winogronowa", - "Rumiana", - "Wyprawa", - "Andrutowa", - "Morysin", - "Kazachska", - "Lawendy", - "Łukasza Drewny", - "Poranek", - "Metryczna", - "Wycieczka", - "Orszady", - "Europejska", - "Dostatnia", - "Sarmacka", - "Gronowa", - "Zdrowa", - "Koralowa", - "Adama Branickiego", - "Uprawna", - "Hektarowa", - "Aleksandra Gieysztora", - "Aleja Wilanowska", - "Zaściankowa", - "Nowoursynowska", - "Bruzdowa", - "Biedronki", - "Calowa", - "Obornicka", - "Przedatki", - "Okrzeszyńska", - "Rosochata", - "Królewicza Aleksandra", - "Hoserów", - "Boguszewska", - "Aleje Jerozolimskie", - "Radziwie", - "Ciepła", - "Brylowska", - "Strąkowa", - "Elektoralna", - "Esperanto", - "Falkowska", - "Franciszka Raszei", - "Pawia", - "Giełdowa", - "Icchoka Lejba Pereca", - "Słodowiecka", - "Sebastiana Klonowicza", - "Redutowa", - "Przy Lasku", - "Szańcowa", - "Górczewska", - "Żytnia", - "Znana", - "Radzanowska", - "Aleja Prymasa Tysiąclecia", - "Prosta", - "Potrzebna", - "Smocza", - "Andrychowska", - "Studzienna", - "Emanuela Ringelbluma", - "Astronomów", - "Agawy", - "Złota", - "Syreny", - "Sybiraków", - "Stawki", - "Przyce", - "Przasnyska", - "Piaskowa", - "Pamięci", - "Deotymy", - "Szarych Szeregów", - "św. Wojciecha", - "Towarowa", - "Dzika", - "Edwarda Gibalskiego", - "Goleszowska", - "Działdowska", - "Dalibora", - "Bodzanty", - "Budziszyńska", - "Burakowska", - "Czelińska", - "Erika Dahlbergha", - "Grabowska", - "Fort Wola", - "Włodzimierza Majakowskiego", - "Waliców", - "Ulrychowska", - "Dywizjonu 303", - "Kolejowa", - "Jana Krysta", - "Olgi Johann", - "Krochmalna", - "Ludwiki", - "Łacińska", - "Łucka", - "Marynin", - "Wschowska", - "Jana Długosza", - "Organizacji Narodów Zjednoczonych", - "Długomiła", - "Banderii", - "Biała", - "Elbląska", - "Niska", - "Jaktorowska", - "Zwrotnicza", - "Grzybowska", - "Jana Olbrachta", - "Grenady", - "Kozielska", - "Nowolipki", - "Kolska", - "Karolkowa", - "Kacpra Karlińskiego", - "Kaprys", - "Sławińska", - "Okocimska", - "Nowolipie", - "Mroczna", - "Monte Cassino", - "Młocińska", - "Marcina Kasprzaka", - "Lasek na Kole", - "Mikołaja Wierzynka", - "Młynarska", - "Zdzisława Kuźmirskiego-Pacaka", - "Kotlarska", - "Kajetana Sołtyka", - "Mieczysława Dawida Apfelbauma", - "Połczyńska", - "Magistracka", - "Księcia Janusza", - "Kajetana Garbińskiego", - "Kacza", - "Dobrogniewa", - "Płocka", - "Żelazna", - "Władysława Przanowskiego", - "Szlenkierów", - "Księdza Jerzego", - "Marcina Bielskiego", - "Aleja Narcyzy Żmichowskiej", - "Ożarowska", - "Wawrzyszewska", - "Stanisława Staszica", - "Sienna", - "Rodziny Kluczyńskich", - "Stanisława Smolki", - "Tunelowa", - "Pustola", - "Antka Rozpylacza", - "Wandy Lurie", - "Wolska", - "św. Stanisława", - "Klecka", - "Srebrna", - "kard. Stefana Wyszyńskiego", - "Jana Kazimierza", - "Józefa Bellottiego", - "Batalionu AK \"Parasol\"", - "Bitwy pod Lenino", - "Romańska", - "Bolecha", - "Grodziska", - "Wincentego Pola", - "Olgi Boznańskiej", - "Wieluńska", - "Tadeusza Krępowieckiego", - "Białowiejska", - "Leonarda", - "Leszno", - "gen. Jana Jura-Gorzechowskiego", - "Obozowa", - "Newelska", - "Miła", - "Koszycka", - "Juliusza Konstantego Ordona", - "Szulborska", - "Józefa Sowińskiego", - "Janusza Korczaka", - "Okopowa", - "Eustachego Tyszkiewicza", - "Nakielska", - "Henryka Barona", - "Hipolita Wawelberga", - "Hubalczyków", - "Jana Brożka", - "Opolski", - "Złocienia", - "Aleja Jana Pawła II", - "Ogrodowa", - "Czorsztyńska", - "Emanuela Szafarczyka", - "Pańska", - "Człuchowska", - "Cypriana Kamila Norwida", - "Chmielna", - "Chłodna", - "Dzielna", - "Bronisława Dobrzańskiego", - "Baltazara", - "Góralska", - "Gniewkowska", - "Gizów", - "Józefa Bema", - "Edwarda Szymańskiego", - "Armatnia", - "Elekcyjna", - "Emila Zegadłowicza", - "Erazma Ciołka", - "Platynowa", - "Powązkowska", - "Przyokopowa", - "Rabsztyńska", - "Rodziny Lilpopów", - "Rogalińska", - "Siedmiogrodzka", - "Sieradzka", - "Śliska", - "Tatarska", - "Traktorzystki", - "Twarda", - "Zdzisława Lubomirskiego", - "Gostyńska", - "Alojzego Pawełka", - "Mordechaja Anielewicza", - "Spokojna", - "Stanisława Worcella", - "Zawiszy", - "Ignacego Daszyńskiego", - "Kercelak", - "Laskowa", - "Tylna", - "Lędzka", - "Miedziana", - "Moczydło", - "Sokołowska", - "Mszczonowska", - "Seweryna Krzyżanowskiego", - "Skierniewicka", - "Stroma", - "Redaktorska", - "Przednia", - "Popas", - "Załuski", - "Wyrzyska", - "Przepiórki", - "Stoicka", - "Tynkarska", - "Potrzebna", - "Zbocze", - "Batalionu AK \"Włochy\"", - "Pryzmaty", - "Radarowa", - "Zodiakalna", - "Witki", - "Astronautów", - "Badylarska", - "Bakalarska", - "Bolesława Chrobrego", - "Chylońska", - "Fasolowa", - "Globusowa", - "Popularna", - "Analityczna", - "Działkowa", - "Komitetu Obrony Robotników", - "Wirażowa", - "Solipska", - "Perlonowa", - "Saperów", - "Rękodzielnicza", - "1 Sierpnia", - "Flagowa", - "Kotwiczna", - "Cienista", - "Naukowa", - "Krótka", - "Łuczek", - "Nadziei", - "Karatowa", - "Hejnałowa", - "Jagny", - "Aksamitna", - "Przesmyk", - "Obrońców Pokoju", - "Zdobnicza", - "Narożna", - "Ogrodników", - "Franciszka Żwirki i Stanisława Wigury", - "Boryny", - "Plastyczna", - "Nastrojowa", - "Jutrzenki", - "Hipotezy", - "Daleszycka", - "Konewki", - "Czempińska", - "Tapicerska", - "Tomnicka", - "Świetlista", - "Trojańska", - "Wagonowa", - "Szybowcowa", - "Solińska", - "Trzos", - "Skromna", - "Rejonowa", - "Poziomkowa", - "Cegielniana", - "Cyprysowa", - "Czardasza", - "Głuszycka", - "Podborska", - "Prudnicka", - "Rebusowa", - "Wałowicka", - "Węgorzewska", - "Aleja Dwudziestolatków", - "Żaluzji", - "Znicz", - "Janiszowska", - "Pawła Lipowczana", - "Jakobinów", - "Kazimierza Wielkiego", - "Kolneńska", - "Krzysztofa Kolumba", - "Wykusz", - "Budki Szczęśliwickie", - "Latarnika", - "Denarowa", - "Żegoty", - "Żniwna", - "Instalatorów", - "Świerszcza", - "Śląska", - "Sulmierzycka", - "Stawy", - "Stajenna", - "Bratnia", - "Wszemirowska", - "Wolności", - "Szczęsna", - "Światowa", - "Drukarzy", - "Dukatowa", - "Sycowska", - "Akurat", - "Gęślarska", - "Finałowa", - "Centralna", - "Barometryczna", - "Emaliowa", -}; - -const std::array polandStreetPrefixes{"ulica", "aleja", "osiedle", "plac", "park", "skwer"}; - -const std::string_view polandZipCodeFormat{"##-###"}; - -const std::array polandAddressFormats{"{street} {buildingNumber}", - "{street} {buildingNumber} {secondaryAddress}", - "{street} {buildingNumber}/{buildingNumber}"}; - -const std::array polandSecondaryAddressFormats{"m. ###", "m. ##", "m. #"}; - -const std::array polandBuildingNumberFormats{"#", "##", "###"}; - -const std::array polandStreetFormats{"{streetPrefix} {streetName}"}; - -const std::array polandCityFormats{"{cityName}"}; - -const CountryAddressesInfo polandAddresses{polandZipCodeFormat, - (polandAddressFormats), - (polandSecondaryAddressFormats), - (polandStreetFormats), - (polandStreetPrefixes), - (polandStreetNames), - {}, - (polandBuildingNumberFormats), - (polandCityFormats), - {}, - (polandCities), - {}, - (polandStates), - {}}; - -// Russia - -const std::array russiaCities{ - "Абакан", - "Азов", - "Калининград", - "Калуга", - "Каменск-Уральский", - "Каменск-Шахтинский", - "Камышин", - "Канск", - "Каспийск", - "Кемерово", - "Керчь", - "Кинешма", - "Кириши", - "Киров", - "Кирово-Чепецк", - "Киселевск", - "Кисловодск", - "Клин", - "Клинцы", - "Ковров", - "Когалым", - "Коломна", - "Комсомольск-на-Амуре", - "Копейск", - "Королев", - "Кострома", - "Котлас", - "Красногорск", - "Краснодар", - "Краснокаменск", - "Краснокамск", - "Краснотурьинск", - "Красноярск", - "Кропоткин", - "Крымск", - "Кстово", - "Кузнецк", - "Кумертау", - "Кунгур", - "Курган", - "Курск", - "Кызыл", - "Лабинск", - "Лениногорск", - "Ленинск-Кузнецкий", - "Лесосибирск", - "Липецк", - "Лиски", - "Лобня", - "Лысьва", - "Лыткарино", - "Люберцы", - "Магадан", - "Магнитогорск", - "Майкоп", - "Махачкала", - "Междуреченск", - "Мелеуз", - "Миасс", - "Минеральные", - "Минусинск", - "Михайловка", - "Михайловск", - "Мичуринск", - "Москва", - "Мурманск", - "Муром", - "Мытищи", - "Набережные", - "Назарово", - "Назрань", - "Нальчик", - "Наро-Фоминск", - "Находка", - "Невинномысск", - "Нерюнгри", - "Нефтекамск", - "Нефтеюганск", - "Нижневартовск", - "Нижнекамск", - "Нижний", - "Нижний", - "Новоалтайск", - "Новокузнецк", - "Новокуйбышевск", - "Новомосковск", - "Новороссийск", - "Новосибирск", - "Новотроицк", - "Новоуральск", - "Новочебоксарск", - "Новочеркасск", - "Новошахтинск", - "Новый", - "Ногинск", - "Норильск", - "Ноябрьск", - "Нягань", - "Обнинск", - "Одинцово", - "Озерск", - "Октябрьский", - "Омск", - "Орел", - "Оренбург", - "Орехово-Зуево", - "Орск", - "Павлово", - "Павловский", - "Пенза", - "Первоуральск", - "Пермь", - "Петрозаводск", - "Петропавловск-Камчатский", - "Подольск", - "Полевской", - "Прокопьевск", - "Прохладный", - "Псков", - "Пушкино", - "Пятигорск", - "Раменское", - "Ревда", - "Реутов", - "Ржев", - "Рославль", - "Россошь", - "Ростов-на-Дону", - "Рубцовск", - "Рыбинск", - "Рязань", - "Салават", - "Сальск", - "Самара", - "Санкт-Петербург", - "Саранск", - "Сарапул", - "Саратов", - "Саров", - "Свободный", - "Севастополь", - "Северодвинск", - "Северск", - "Сергиев", - "Серов", - "Серпухов", - "Сертолово", - "Сибай", - "Симферополь", - "Славянск-на-Кубани", - "Смоленск", - "Соликамск", - "Солнечногорск", - "Сосновый", - "Сочи", - "Ставрополь", - "Старый", - "Стерлитамак", - "Ступино", - "Сургут", - "Сызрань", - "Сыктывкар", - "Таганрог", - "Тамбов", - "Тверь", - "Тимашевск", - "Тихвин", - "Тихорецк", - "Тобольск", - "Тольятти", - "Томск", - "Троицк", - "Туапсе", - "Туймазы", - "Тула", - "Тюмень", - "Узловая", - "Улан-Удэ", - "Ульяновск", - "Урус-Мартан", - "Усолье-Сибирское", - "Уссурийск", - "Усть-Илимск", - "Уфа", - "Ухта", - "Феодосия", - "Фрязино", - "Хабаровск", - "Ханты-Мансийск", - "Хасавюрт", - "Химки", - "Чайковский", - "Чапаевск", - "Чебоксары", - "Челябинск", - "Черемхово", - "Череповец", - "Черкесск", - "Черногорск", - "Чехов", - "Чистополь", - "Чита", - "Шадринск", - "Шали", - "Шахты", - "Шуя", - "Щекино", - "Щелково", - "Электросталь", - "Элиста", - "Энгельс", - "Южно-Сахалинск", - "Юрга", - "Якутск", - "Ялта", -}; - -const std::array russiaStates = { - "Алтайский край", - "Амурская область", - "Архангельская область", - "Астраханская область", - "Белгородская область", - "Брянская область", - "Владимирская область", - "Волгоградская область", - "Воронежская область", - "г. Москва", - "г. Санкт - Петербург", - "г. Севастополь", - "Еврейская автономная область", - "Забайкальский край", - "Ивановская область", - "Иркутская область", - "Кабардино - Балкарская Республика", - "Калининградская область", - "Калужская область", - "Камчатский край", - "Карачаево - Черкесская Республика", - "Кемеровская область - Кузбасс", - "Кировская область", - "Костромская область", - "Краснодарский край", - "Красноярский край", - "Курганская область", - "Курская область", - "Ленинградская область", - "Липецкая область", - "Магаданская область", - "Московская область", - "Мурманская область", - "Ненецкий автономный округ", - "Нижегородская область", - "Новгородская область", - "Новосибирская область", - "Омская область", - "Оренбургская область", - "Орловская область", - "Пензенская область", - "Пермский край", - "Приморский край", - "Псковская область", - "Республика Адыгея (Адыгея)", - "Республика Алтай", - "Республика Башкортостан", - "Республика Бурятия", - "Республика Дагестан", - "Республика Ингушетия", - "Республика Калмыкия", - "Республика Карелия", - "Республика Коми", - "Республика Крым", - "Республика Марий Эл", - "Республика Мордовия", - "Республика Саха (Якутия)", - "Республика Северная Осетия - Алания", - "Республика Татарстан", - "Республика Тыва", - "Республика Хакасия", - "Ростовская область", - "Рязанская область", - "Самарская область", - "Саратовская область", - "Сахалинская область", - "Свердловская область", - "Смоленская область", - "Ставропольский край", - "Тамбовская область", - "Тверская область", - "Томская область", - "Тульская область", - "Тюменская область", - "Удмуртская Республика", - "Ульяновская область", - "Хабаровский край", - "Ханты-Мансийский автономный округ - Югра", - "Челябинская область", - "Чеченская Республика", - "Чувашская Республика", - "Чукотский автономный округ", - "Ямало-ненецкий автономный округ", - "Ярославская область", -}; - -const std::array russiaStreetNames{ - "Советская", "Сиреневая", "Сельская", "Прудовая", "Депутатская", - "Авиационная", "Аэродромная", "Большая", "Приморская", "Алтайская", - "Тополиная", "Ростовская", "Тракторная", "Мелиоративная", "Ольховая", - "Славянская", "Радужная", "Краснодарская", "Стахановская", "Ярославская", - "Коллективная", "Ангарская", "Локомотивная", "Ягодная", "Смоленская", - "Тепличная", "Водопроводная", "Республиканская", "Осенняя", "Байкальская", - "Саратовская", "Казанская", "Воронежская", "Брянская", "Производственная", - "Техническая", "Енисейская", "Севастопольская", "Окружная", "Орловская", - "Хуторская", "Тупиковая", "Каштановая", "Омская", "Привольная", - "Курортная", "Ивановская", "Выгонная", "Крымская", "Путейская", - "Проезжая", "Краснознаменная", "Одесская", "Логовая", "Высокая", - "Ясная", "Портовая", "Снежная", "Санаторная", "Союзная", - "Ульяновская", "Сахалинская", "Горняцкая", "Прибрежная", "Рыбацкая", - "Полтавская", "Тамбовская", "Красноярская", "Новосельская", "Проточная", - "Черноморская", "Минская", "Главная", "Вольная", "Хвойная", - "Космическая", "Моховая", "Курская", "Курганная", "Угловая", - "Камская", "Инженерная", "Лесозаводская", "Астраханская", "Белорусская", - "Заовражная", "Азовская", "Ручейная", "Волочаевская", "Ставропольская", - "Слободская", "Тульская", "Харьковская", "Петровская", "Владимирская", - "Высоковольтная", "Лазурная", "Покровская", "Новгородская", "Ленская", - "Сплавная", "Ударная", "Калужская", "Прудная", "Краснопартизанская", - "Ореховая", "Таманская", "Иркутская", "Отрадная", "Большевистская", - "Троицкая", "Лесхозная", "Васильковая", "Механическая", "Путевая", - "Кузнецкая", "Физкультурная", "Балтийская", "Февральская", "Лунная", - "Высотная", "Рязанская", "Малиновая", -}; - -const std::array russiaStreetPrefixes{"улица", "аллея", "бульвар", "линия", - "набережная", "тракт", "тупик", "шоссе", - "переулок", "проспект", "мост", "авеню"}; - -const std::string_view russiaZipCodeFormat{"######"}; - -const std::array russiaAddressFormats{"{street} {buildingNumber}", - "{street} {buildingNumber} {secondaryAddress}"}; - -const std::array russiaSecondaryAddressFormats{"кв. ###", "кв. ##", "кв. #"}; - -const std::array russiaBuildingNumberFormats{"#", "##", "###"}; - -const std::array russiaStreetFormats{"{streetPrefix} {firstName}", "{streetPrefix} {lastName}", - "{streetPrefix} {streetName}"}; - -const std::array russiaCityFormats{"{cityName}"}; - -const CountryAddressesInfo russiaAddresses{russiaZipCodeFormat, - (russiaAddressFormats), - (russiaSecondaryAddressFormats), - (russiaStreetFormats), - (russiaStreetPrefixes), - (russiaStreetNames), - {}, - (russiaBuildingNumberFormats), - (russiaCityFormats), - {}, - (russiaCities), - {}, - (russiaStates), - {}}; -// Spain - -const std::array spainCities{ - "Parla", - "Telde", - "Baracaldo", - "San Fernando", - "Torrevieja", - "Lugo", - "Santiago de Compostela", - "Gerona", - "Cáceres", - "Lorca", - "Coslada", - "Talavera de la Reina", - "El Puerto de Santa María", - "Cornellá de Llobregat", - "Avilés", - "Palencia", - "Gecho", - "Orihuela", - "Pontevedra", - "Pozuelo de Alarcón", - "Toledo", - "El Ejido", - "Guadalajara", - "Gandía", - "Ceuta", - "Ferrol", - "Chiclana de la Frontera", - "Manresa", - "Roquetas de Mar", - "Ciudad Real", - "Rubí", - "Benidorm", - "San Sebastían de los Reyes", - "Ponferrada", - "Zamora", - "Alcalá de Guadaira", - "Fuengirola", - "Mijas", - "Sanlúcar de Barrameda", - "La Línea de la Concepción", - "Majadahonda", - "Sagunto", - "El Prat de LLobregat", - "Viladecans", - "Linares", - "Alcoy", - "Irún", - "Estepona", - "Torremolinos", - "Rivas-Vaciamadrid", - "Molina de Segura", - "Paterna", - "Granollers", - "Santa Lucía de Tirajana", - "Motril", - "Cerdañola del Vallés", - "Arrecife", - "Segovia", - "Torrelavega", - "Elda", - "Mérida", - "Ávila", - "Valdemoro", - "Cuenta", - "Collado Villalba", - "Benalmádena", - "Mollet del Vallés", - "Puertollano", - "Madrid", - "Barcelona", - "Valencia", - "Sevilla", - "Zaragoza", - "Málaga", - "Murcia", - "Palma de Mallorca", - "Las Palmas de Gran Canaria", - "Bilbao", - "Córdoba", - "Alicante", - "Valladolid", - "Vigo", - "Gijón", - "Hospitalet de LLobregat", - "La Coruña", - "Granada", - "Vitoria", - "Elche", - "Santa Cruz de Tenerife", - "Oviedo", - "Badalona", - "Cartagena", - "Móstoles", - "Jerez de la Frontera", - "Tarrasa", - "Sabadell", - "Alcalá de Henares", - "Pamplona", - "Fuenlabrada", - "Almería", - "San Sebastián", - "Leganés", - "Santander", - "Burgos", - "Castellón de la Plana", - "Alcorcón", - "Albacete", - "Getafe", - "Salamanca", - "Huelva", - "Logroño", - "Badajoz", - "San Cristróbal de la Laguna", - "León", - "Tarragona", - "Cádiz", - "Lérida", - "Marbella", - "Mataró", - "Dos Hermanas", - "Santa Coloma de Gramanet", - "Jaén", - "Algeciras", - "Torrejón de Ardoz", - "Orense", - "Alcobendas", - "Reus", - "Calahorra", - "Inca", - "Aýna", -}; - -const std::array spainCounties{ - "Álava", "Albacete", "Alicante", - "Almería", "Asturias", "Ávila", - "Badajoz", "Barcelona", "Burgos", - "Cantabria", "Castellón", "Ciudad Real", - "Cuenca", "Cáceres", "Cádiz", - "Córdoba", "Gerona", "Granada", - "Guadalajara", "Guipúzcoa", "Huelva", - "Huesca", "Islas Baleares", "Jaén", - "La Coruña", "La Rioja", "Las Palmas", - "León", "Lugo", "lérida", - "Madrid", "Murcia", "Málaga", - "Navarra", "Orense", "Palencia", - "Pontevedra", "Salamanca", "Santa Cruz de Tenerife", - "Segovia", "Sevilla", "Soria", - "Tarragona", "Teruel", "Toledo", - "Valencia", "Valladolid", "Vizcaya", - "Zamora", "Zaragoza", -}; - -const std::array spainStates = { - "Andalucía", - "Aragón", - "Principado de Asturias", - "Baleares", - "Canarias", - "Cantabria", - "Castilla-La Mancha", - "Castilla y León", - "Cataluña", - "Comunidad Valenciana", - "Extremadura", - "Galicia", - "La Rioja", - "Comunidad de Madrid", - "Navarra", - "País Vasco", - "Región de Murcia", -}; - -const std::array spainStreetSuffixes{ - "Aldea", "Apartamento", "Arrabal", "Arroyo", "Avenida", "Bajada", "Barranco", "Barrio", - "Bloque", "Calle", "Calleja", "Camino", "Carretera", "Caserio", "Colegio", "Colonia", - "Conjunto", "Cuesta", "Chalet", "Edificio", "Entrada", "Escalinata", "Explanada", "Extramuros", - "Extrarradio", "Ferrocarril", "Glorieta", "Gran Subida", "Grupo", "Huerta", "Jardines", "Lado", - "Lugar", "Manzana", "Masía", "Mercado", "Monte", "Muelle", "Municipio", "Parcela", - "Parque", "Partida", "Pasaje", "Paseo", "Plaza", "Poblado", "Polígono", "Prolongación", - "Puente", "Puerta", "Quinta", "Ramal", "Rambla", "Rampa", "Riera", "Rincón", - "Ronda", "Rua", "Salida", "Sector", "Sección", "Senda", "Solar", "Subida", - "Terrenos", "Torrente", "Travesía", "Urbanización", "Vía", "Vía Pública", -}; - -const std::string_view spainZipCodeFormat{"#####"}; - -const std::array spainAddressFormats{"{street} {buildingNumber}", - "{street} {buildingNumber} {secondaryAddress}"}; -const std::array spainSecondaryAddressFormats{"Esc. ###", "Puerta ###"}; - -const std::array spainBuildingNumberFormats{"s/n.", "#", "##"}; - -const std::array spainStreetFormats{"{streetSuffix} {firstName}", - "{streetSuffix} {firstName} {lastName}"}; - -const std::array spainCityFormats{"{cityName}"}; - -const CountryAddressesInfo spainAddresses{spainZipCodeFormat, - (spainAddressFormats), - (spainSecondaryAddressFormats), - (spainStreetFormats), - {}, - {}, - (spainStreetSuffixes), - (spainBuildingNumberFormats), - (spainCityFormats), - {}, - (spainCities), - {}, - (spainStates), - (spainCounties)}; - -// Ukraine - -const std::array ukraineCities{ - "Авдіївка", - "Аджи-Мушкай", - "Алмазна", - "Алупка", - "Алушта", - "Алчевськ", - "Амвросіївка", - "Ананьїв", - "Андрушівка", - "Антрацит (місто)", - "Апостолове", - "Армянськ", - "Арциз", - "Балаклія", - "Балта", - "Бар (Україна)", - "Баранівка", - "Барвінкове", - "Батурин", - "Бахмач", - "Бахмут", - "Бахчисарай", - "Баштанка", - "Белз", - "Бердичів", - "Бердянськ", - "Берегове", - "Бережани", - "Березань (місто)", - "Березівка", - "Березне", - "Берестечко", - "Берислав", - "Бершадь", - "Бібрка", - "Біла Церква", - "Білгород-Дністровський", - "Білицьке", - "Білогірськ", - "Білозерське", - "Білопілля", - "Біляївка", - "Благовіщенське", - "Бобринець", - "Бобровиця", - "Богодухів", - "Богуслав", - "Боково-Хрустальне", - "Болград", - "Болехів", - "Борзна", - "Борислав", - "Бориспіль", - "Бородянка", - "Борщів", - "Боссе (Донецьк)", - "Боярка", - "Бровари", - "Броди", - "Брянка", - "Булгак (село)", - "Бунге (місто)", - "Буринь", - "Бурштин (місто)", - "Буськ", - "Буча", - "Бучач", - "Валки (місто)", - "Вараш", - "Василівка (місто)", - "Васильків", - "Ватутіне", - "Вашківці", - "Великі Мости", - "Верхівцеве", - "Верхньодніпровськ", - "Вижниця", - "Вилкове", - "Винники", - "Виноградів", - "Вишгород", - "Вишневе (місто)", - "Вільногірськ", - "Вільнянськ", - "Вінниця", - "Вовчанськ", - "Вознесенівка", - "Вознесенськ", - "Волноваха", - "Володимир (місто)", - "Волочиськ", - "Ворожба", - "Вуглегірськ", - "Вугледар", - "Гадяч", - "Гайворон", - "Гайсин", - "Галич", - "Генічеськ", - "Географія Вільнянська", - "Герца", - "Гірник (місто)", - "Гостомель", - "Гребінка", - "Гуляйполе", - "Дебальцеве", - "Деражня", - "Дергачі", - "Джабу", - "Джанкой", - "Дніпро (місто)", - "Дніпрорудне", - "Добромиль", - "Добропілля", - "Добросин", - "Довжанськ", - "Докучаєвськ", - "Долина (місто)", - "Долинська", - "Донецьк", - "Дрогобич", - "Дружба (місто)", - "Дружківка", - "Дубляни", - "Дубно", - "Дубровиця", - "Дунаївці", - "Енергодар", - "Євпаторія", - "Єнакієве", - "Жашків", - "Жданівка", - "Жидачів", - "Житомир", - "Жмеринка", - "Жовква", - "Жовті Води", - "Заводське", - "Залізне", - "Заліщики", - "Запоріжжя", - "Заставна", - "Збараж", - "Зборів", - "Звенигородка", - "Звягель", - "Здолбунів", - "Зелене (Харків)", - "Зеленодольськ", - "Зимогір'я", - "Зіньків", - "Зміїв", - "Знам'янка", - "Золоте", - "Золотоноша", - "Золочів", - "Зоринськ", - "Зугрес", - "Івано-Франківськ", - "Ізмаїл", - "Ізюм", - "Ізяслав", - "Іллінці", - "Іловайськ", - "Інкерман", - "Ірміно", - "Ірпінь", - "Іршава", - "Ічня", - "Кагарлик", - "Кадіївка", - "Калинівка (місто)", - "Калуш", - "Кальміуське", - "Кам'янець-Подільський", - "Кам'янка (Черкаська область)", - "Кам'янка-Бузька", - "Кам'янка-Дніпровська", - "Кам'янське", - "Камінь-Каширський", - "Канів", - "Карлівка", - "Каховка", - "Керч", - "Київ", - "Кипуче", - "Ківерці", - "Кілія", - "Кіцмань", - "Кобеляки", - "Ковель", - "Кодима", - "Користувач:Козак Яна/Чернетка", - "Козятин", - "Коломия", - "Комарно", - "Конотоп", - "Копичинці", - "Корець", - "Коростень", - "Коростишів", - "Корсунь-Шевченківський", - "Корюківка", - "Косів", - "Костопіль", - "Костянтинівка", - "Коцюбинське", - "Краматорськ", - "Красилів", - "Красногорівка", - "Красноград", - "Кременець", - "Кременчук", - "Кремінна", - "Кривий Ріг", - "Кролевець", - "Кропивницький", - "Куп'янськ", - "Курахове", - "Ладижин", - "Ланівці", - "Лебедин", - "Лиман (місто)", - "Липовець", - "Лисичанськ", - "Лозова", - "Лохвиця", - "Лубни", - "Луганськ", - "Лутугине", - "Луцьк", - "Львів", - "Любомль", - "Люботин", - "Макіївка", - "Мала Виска", - "Малин", - "Мар'їнка", - "Марганець (місто)", - "Маріуполь", - "Мелітополь", - "Мена (місто)", - "Мерефа", - "Миколаїв", - "Миколаїв (Львівська область)", - "Миколаївка (місто)", - "Миргород", - "Хмільник", - "Ходорів", - "Хорол (місто)", - "Хоростків", - "Хотин", - "Хрестівка", - "Христинівка", - "Хрустальний", - "Хуст", - "Часів Яр", - "Червоноград", - "Червоносів", - "Черкаси", - "Чернівці", - "Чернігів", - "Чигирин", - "Чистякове", - "Чоп", - "Чорнобиль", - "Чорноморськ", - "Чортків", - "Чугуїв", - "Чуднів", - "Шаргород", - "Шахтарськ", - "Шепетівка", - "Шостка", - "Шпола", - "Шумськ", - "Щастя (місто)", - "Щолкіне", - "Южне", - "Южноукраїнськ", - "Яворів", - "Яготин", - "Ялта", - "Ямпіль", - "Яни Капу", - "Янів (Київська область)", - "Яремче", -}; - -const std::array ukraineStates = { - "АР Крим", - "Вінницька область", - "Волинська область", - "Дніпропетровська область", - "Донецька область", - "Житомирська область", - "Закарпатська область", - "Запорізька область", - "Івано-Франківська область", - "Київська область", - "Кіровоградська область", - "Луганська область", - "Львівська область", - "Миколаївська область", - "Одеська область", - "Полтавська область", - "Рівненська область", - "Сумська область", - "Тернопільська область", - "Харківська область", - "Херсонська область", - "Хмельницька область", - "Черкаська область", - "Чернівецька область", - "Чернігівська область", - "Київ", - "Севастополь", -}; - -const std::array ukraineStreetNames{ - "Хрещатик", - "Бессарабська", - "Саксаганського", - "Липська", - "Золотоворітська", - "Артема", - "Шевченка", - "Горького", - "Московська", - "Лесі Українки", - "Січових Стрільців", - "Майдан Незалежності", - "Прорізна", - "Інститутська", - "Пушкінська", - "Бульвар Тараса Шевченка", - "Крещатик", - "Печерська", - "Харківська", - "Богдана Хмельницького", - "Нова", - "Героїв Майдану", - "Гагаріна", - "Любченка", - "Озерна", - "Петра Могили", - "Сагайдачного", - "Тичини", - "Азербайджанська", - "Азовська", - "Азовська", - "Азовський", - "Айвазовського", - "Академіка Корольова", - "Академіка Ромоданова", - "Генерала Алмазова", - "Генерала Алмазова", - "Алматинська", - "Алчевських", - "Алчевської", - "Христини Алчевської", - "Альпійська", - "Альпійський", - "Амет-Хана Султана", - "Академіка Амосова", - "Миколи Амосова", - "Валентинівська", - "Валіховський", - "Валківська", - "Валова", - "Варварівська", - "Варненська", - "Варшавська", - "Варшавська", - "Миколи Василенка", - "Симона Петлюри", - "Василицька", - "Василівська", - "Василівська", - "Васильківська", - "Васильківський", -}; - -const std::array ukraineStreetPrefixes{"вулиця", "аллея", "бульвар", "лінія", "набережна", - "шоссе", "перевулок", "проспект", "міст", "авеню"}; - -const std::string_view ukraineZipCodeFormat{"#####"}; - -const std::array ukraineAddressFormats{"{street} {buildingNumber}", - "{street} {buildingNumber} {secondaryAddress}"}; - -const std::array ukraineSecondaryAddressFormats{"кв. ###", "кв. ##", "кв. #"}; - -const std::array ukraineBuildingNumberFormats{"#", "##", "###"}; - -const std::array ukraineStreetFormats{"{streetPrefix} {firstName}", "{streetPrefix} {lastName}", - "{streetPrefix} {streetName}"}; - -const std::array ukraineCityFormats{"{cityName}"}; - -const CountryAddressesInfo ukraineAddresses{ukraineZipCodeFormat, - (ukraineAddressFormats), - (ukraineSecondaryAddressFormats), - (ukraineStreetFormats), - (ukraineStreetPrefixes), - (ukraineStreetNames), - {}, - (ukraineBuildingNumberFormats), - (ukraineCityFormats), - {}, - (ukraineCities), - {}, - (ukraineStates), - {}}; - -// USA - -const std::array usaCities = { - "Abilene", - "Akron", - "Alafaya", - "Alameda", - "Albany", - "Albuquerque", - "Alexandria", - "Alhambra", - "Aliso Viejo", - "Allen", - "Allentown", - "Aloha", - "Alpharetta", - "Altadena", - "Altamonte Springs", - "Altoona", - "Amarillo", - "Ames", - "Anaheim", - "Anchorage", - "Anderson", - "Blue Springs", - "Boca Raton", - "Boise City", - "Bolingbrook", - "Bonita Springs", - "Bossier City", - "Boston", - "Bothell", - "Boulder", - "Bountiful", - "Bowie", - "Bowling Green", - "Boynton Beach", - "Bozeman", - "Bradenton", - "Brandon", - "Brentwood", - "Bridgeport", - "Bristol", - "Brockton", - "Broken Arrow", - "Carlsbad", - "Carmel", - "Carmichael", - "Carolina", - "Carrollton", - "Carson", - "Carson City", - "Cary", - "Casa Grande", - "Casas Adobes", - "Casper", - "Castle Rock", - "Castro Valley", - "Catalina Foothills", - "Cathedral City", - "Catonsville", - "Cedar Hill", - "Cedar Park", - "Cedar Rapids", - "Centennial", - "Centreville", - "Ceres", - "Cerritos", - "Champaign", - "Chandler", - "Chapel Hill", - "Charleston", - "Charlotte", - "Charlottesville", - "Chattanooga", - "Cheektowaga", - "Chesapeake", - "Chesterfield", - "Cheyenne", - "Chicago", - "Chico", - "Chicopee", - "Chino", - "Chino Hills", - "Chula Vista", - "Dallas", - "Daly City", - "Danbury", - "Danville", - "Davenport", - "Davie", - "Davis", - "Dayton", - "Daytona Beach", - "DeKalb", - "DeSoto", - "Dearborn", - "Dearborn Heights", - "Decatur", - "Deerfield Beach", - "Delano", - "Delray Beach", - "Deltona", - "Denton", - "Denver", - "Elyria", - "Encinitas", - "Enid", - "Enterprise", - "Erie", - "Escondido", - "Euclid", - "Eugene", - "Euless", - "Evanston", - "Evansville", - "Everett", - "Fairfield", - "Fall River", - "Fargo", - "Farmington", - "Farmington Hills", - "Fayetteville", - "Federal Way", - "Findlay", - "Fishers", - "Flagstaff", - "Flint", - "Florence-Graham", - "Florin", - "Greeley", - "Green Bay", - "Greensboro", - "Greenville", - "Greenwood", - "Gresham", - "Guaynabo", - "Gulfport", - "Hacienda Heights", - "Hackensack", - "Haltom City", - "Hamilton", - "Hammond", - "Hampton", - "Hanford", - "Harlingen", - "Harrisburg", - "Harrisonburg", - "Hartford", - "Hattiesburg", - "Haverhill", - "Hawthorne", - "Hayward", - "Hemet", - "Hempstead", - "Henderson", - "Hendersonville", - "Hesperia", - "Hialeah", - "Hicksville", - "High Point", - "Highland", - "Highlands Ranch", - "Hillsboro", - "Hilo", - "Hoboken", - "Hoffman Estates", - "Hollywood", - "Homestead", - "Honolulu", - "Hoover", - "Houston", - "Huntersville", - "Huntington", - "Huntington Beach", - "Huntington Park", - "Huntsville", - "Hutchinson", - "Irvine", - "Irving", - "Jackson", - "Jacksonville", - "Janesville", - "Jefferson City", - "Jeffersonville", - "Jersey City", - "Johns Creek", - "Johnson City", - "Joliet", - "Jonesboro", - "Joplin", - "Jupiter", - "Jurupa Valley", - "Kalamazoo", - "Kannapolis", - "Kansas City", - "Kearny", - "Keller", - "Kendale Lakes", - "Kendall", - "Kenner", - "Kennewick", - "Kenosha", - "Kent", - "Kentwood", - "Kettering", - "Killeen", - "Kingsport", - "Kirkland", - "Kissimmee", - "Knoxville", - "Lancaster", - "Lansing", - "Laredo", - "Largo", - "Las Cruces", - "Las Vegas", - "Lauderhill", - "Lawrence", - "Lawton", - "Layton", - "League City", - "Leesburg", - "Lehi", - "Lehigh Acres", - "Lenexa", - "Levittown", - "Lewisville", - "Lexington-Fayette", - "Lincoln", - "Manteca", - "Maple Grove", - "Margate", - "Maricopa", - "Marietta", - "Marysville", - "Mayaguez", - "McAllen", - "McKinney", - "McLean", - "Medford", - "Melbourne", - "Memphis", - "Menifee", - "Mentor", - "Merced", - "Meriden", - "Meridian", - "Mesa", - "Mesquite", - "Metairie", - "Methuen Town", - "Miami", - "Miami Beach", - "Mobile", - "Modesto", - "Moline", - "Monroe", - "Montebello", - "Monterey Park", - "Montgomery", - "Moore", - "Moreno Valley", - "Morgan Hill", - "Mount Pleasant", - "Mount Prospect", - "Mount Vernon", - "Mountain View", - "Muncie", - "Murfreesboro", - "Murray", - "Murrieta", - "Nampa", - "Napa", - "Naperville", - "Nashua", - "Nashville-Davidson", - "New Haven", - "New Orleans", - "New Rochelle", - "New York", - "Newark", - "Newport Beach", - "Newport News", - "Newton", - "Niagara Falls", - "Noblesville", - "Norfolk", - "Normal", - "Norwalk", - "Novato", - "Novi", - "Oak Lawn", - "Oak Park", - "Oakland", - "Oakland Park", - "Ocala", - "Oceanside", - "Odessa", - "Ogden", - "Oklahoma City", - "Olathe", - "Olympia", - "Omaha", - "Ontario", - "Orange", - "Orem", - "Orland Park", - "Palo Alto", - "Paradise", - "Paramount", - "Parker", - "Parma", - "Pasadena", - "Pasco", - "Passaic", - "Paterson", - "Pawtucket", - "Peabody", - "Pearl City", - "Pearland", - "Pembroke Pines", - "Pensacola", - "Peoria", - "Perris", - "Perth Amboy", - "Petaluma", - "Pflugerville", - "Pharr", - "Plantation", - "Pleasanton", - "Plymouth", - "Pocatello", - "Poinciana", - "Pomona", - "Pompano Beach", - "Ponce", - "Pontiac", - "Port Arthur", - "Port Charlotte", - "Port Orange", - "Port St. Lucie", - "Portage", - "Porterville", - "Portland", - "Portsmouth", - "Potomac", - "Poway", - "Providence", - "Provo", - "Pueblo", - "Quincy", - "Racine", - "Reston", - "Revere", - "Rialto", - "Richardson", - "Richland", - "Richmond", - "Rio Rancho", - "Riverside", - "Riverton", - "Riverview", - "Roanoke", - "Rochester", - "Rochester Hills", - "Rock Hill", - "Rockford", - "Rocklin", - "Rockville", - "Rockwall", - "Rocky Mount", - "Rogers", - "Rohnert Park", - "Rosemead", - "Roseville", - "Roswell", - "Round Rock", - "Rowland Heights", - "Rowlett", - "Royal Oak", - "Sacramento", - "Saginaw", - "Salem", - "Salina", - "San Tan Valley", - "Sandy", - "Sandy Springs", - "Sanford", - "Santa Ana", - "Santa Barbara", - "Santa Clara", - "Santa Clarita", - "Santa Cruz", - "Santa Fe", - "Santa Maria", - "Santa Monica", - "Santa Rosa", - "Santee", - "Sarasota", - "Savannah", - "Sayreville", - "Schaumburg", - "Schenectady", - "Scottsdale", - "South Valley", - "South Whittier", - "Southaven", - "Southfield", - "Sparks", - "Spokane", - "Spokane Valley", - "Spring", - "Spring Hill", - "Spring Valley", - "Springdale", - "Tacoma", - "Tallahassee", - "Tamarac", - "Tamiami", - "Tampa", - "Taunton", - "Taylor", - "Taylorsville", - "Temecula", - "Tempe", - "Temple", - "Terre Haute", - "Texas City", - "The Hammocks", - "The Villages", - "The Woodlands", - "Thornton", - "Thousand Oaks", - "Tigard", - "Tinley Park", - "Titusville", - "Toledo", - "Toms River", - "Tonawanda", - "Topeka", - "Torrance", - "Towson", - "Tracy", - "Trenton", - "Troy", - "Trujillo Alto", - "Tuckahoe", - "Tucson", - "Tulare", - "Tulsa", - "Turlock", - "Tuscaloosa", - "Waldorf", - "Walnut Creek", - "Waltham", - "Warner Robins", - "Warren", - "Warwick", - "Washington", - "Waterbury", - "Waterloo", - "Watsonville", - "Waukegan", - "Waukesha", - "Wauwatosa", - "Wellington", - "Wesley Chapel", - "West Allis", - "West Babylon", - "West Covina", - "West Des Moines", - "West Hartford", - "Wheaton", - "White Plains", - "Whittier", - "Wichita", - "Wichita Falls", - "Wilmington", - "Wilson", - "Winston-Salem", - "Woodbury", - "Woodland", - "Worcester", - "Wylie", - "Wyoming", - "Yakima", - "Yonkers", - "Yorba Linda", - "York", - "Youngstown", - "Yuba City", -}; - -const std::array usaCounties{ - "Adams County", "Calhoun County", "Carroll County", "Clark County", "Clay County", - "Crawford County", "Douglas County", "Fayette County", "Franklin County", "Grant County", - "Greene County", "Hamilton County", "Hancock County", "Henry County", "Jackson County", - "Jefferson County", "Johnson County", "Lake County", "Lawrence County", "Lee County", - "Lincoln County", "Logan County", "Madison County", "Marion County", "Marshall County", - "Monroe County", "Montgomery County", "Morgan County", "Perry County", "Pike County", - "Polk County", "Scott County", "Union County", "Warren County", "Washington County", - "Wayne County", -}; - -const std::array usaStates = { - "Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", - "Delaware", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", - "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", - "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", - "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Ohio", - "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", - "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", - "Wyoming"}; - -const std::array usaStreetSuffixes = { - "Alley", "Avenue", "Branch", "Bridge", "Brook", "Brooks", "Burg", "Burgs", - "Bypass", "Camp", "Canyon", "Cape", "Causeway", "Center", "Centers", "Circle", - "Circles", "Cliff", "Cliffs", "Club", "Common", "Corner", "Corners", "Course", - "Court", "Courts", "Cove", "Coves", "Creek", "Crescent", "Crest", "Crossing", - "Crossroad", "Curve", "Dale", "Dam", "Divide", "Drive", "Drives", "Estate", - "Estates", "Expressway", "Extension", "Extensions", "Fall", "Falls", "Ferry", "Field", - "Fields", "Flat", "Flats", "Ford", "Fords", "Forest", "Forge", "Forges", - "Fork", "Forks", "Fort", "Freeway", "Garden", "Gardens", "Gateway", "Glen", - "Glens", "Green", "Greens", "Grove", "Groves", "Harbor", "Harbors", "Haven", - "Heights", "Highway", "Hill", "Hills", "Hollow", "Inlet", "Island", "Islands", - "Isle", "Junction", "Junctions", "Key", "Keys", "Knoll", "Knolls", "Lake", - "Lakes", "Land", "Landing", "Lane", "Light", "Lights", "Loaf", "Lock", - "Locks", "Lodge", "Loop", "Mall", "Manor", "Manors", "Meadow", "Meadows", - "Mews", "Mill", "Mills", "Mission", "Motorway", "Mount", "Mountain", "Mountains", - "Neck", "Orchard", "Oval", "Overpass", "Park", "Parks", "Parkway", "Parkways", - "Pass", "Passage", "Path", "Pike", "Pine", "Pines", "Place", "Plain", - "Plains", "Plaza", "Point", "Points", "Port", "Ports", "Prairie", "Radial", - "Ramp", "Ranch", "Rapid", "Rapids", "Rest", "Ridge", "Ridges", "River", - "Road", "Roads", "Route", "Row", "Rue", "Run", "Shoal", "Shoals", - "Shore", "Shores", "Skyway", "Spring", "Springs", "Spur", "Spurs", "Square", - "Squares", "Station", "Stravenue", "Stream", "Street", "Streets", "Summit", "Terrace", - "Throughway", "Trace", "Track", "Trafficway", "Trail", "Tunnel", "Turnpike", "Underpass", - "Union", "Unions", "Valley", "Valleys", "Via", "Viaduct", "View", "Views", - "Village", "Villages", "Ville", "Vista", "Walk", "Walks", "Wall", "Way", - "Ways", "Well", "Wells"}; - -const std::string_view usaZipCodeFormat{"#####"}; - -const std::array usaAddressFormats{"{buildingNumber} {street}"}; - -const std::array usaSecondaryAddressFormats{"Apt. ###", "Suite ###"}; - -const std::array usaBuildingNumberFormats{"#####", "####", "###"}; - -const std::array usaStreetFormats{"{firstName} {streetSuffix}", "{lastName} {streetSuffix}"}; - -const std::array usaCityFormats{"{cityName}"}; - -const CountryAddressesInfo usaAddresses{usaZipCodeFormat, - (usaAddressFormats), - (usaSecondaryAddressFormats), - (usaStreetFormats), - {}, - {}, - (usaStreetSuffixes), - (usaBuildingNumberFormats), - (usaCityFormats), - {}, - (usaCities), - {}, - usaStates, - usaCounties}; - -} diff --git a/src/modules/location/LocationData.h b/src/modules/location/LocationData.h index b6140089..fafa1167 100644 --- a/src/modules/location/LocationData.h +++ b/src/modules/location/LocationData.h @@ -24,208 +24,6073 @@ struct CountryAddressesInfo std::span counties; }; -extern const std::array allCountries; -extern const std::array countryCodes; -extern const std::array directions; -extern const std::array timeZones; +const auto allCountries = std::to_array({ + "Afghanistan", + "Aland Islands", + "Albania", + "Algeria", + "American Samoa", + "Andorra", + "Angola", + "Anguilla", + "Antarctica", + "Antigua and Barbuda", + "Argentina", + "Armenia", + "Aruba", + "Australia", + "Austria", + "Azerbaijan", + "Bahamas", + "Bahrain", + "Bangladesh", + "Barbados", + "Belarus", + "Belgium", + "Belize", + "Benin", + "Bermuda", + "Bhutan", + "Bolivia", + "Bonaire, Sint Eustatius and Saba", + "Bosnia and Herzegovina", + "Botswana", + "Bouvet Island", + "Brazil", + "British Indian Ocean Territory (Chagos Archipelago)", + "Brunei Darussalam", + "Bulgaria", + "Burkina Faso", + "Burundi", + "Cambodia", + "Cameroon", + "Canada", + "Cape Verde", + "Cayman Islands", + "Central African Republic", + "Chad", + "Chile", + "China", + "Christmas Island", + "Cocos (Keeling) Islands", + "Colombia", + "Comoros", + "Congo", + "Cook Islands", + "Costa Rica", + "Croatia", + "Cuba", + "Curacao", + "Cyprus", + "Czechia", + "Democratic Republic of the Congo", + "Denmark", + "Djibouti", + "Dominica", + "Dominican Republic", + "Ecuador", + "Egypt", + "El Salvador", + "Equatorial Guinea", + "Eritrea", + "Estonia", + "Eswatini", + "Ethiopia", + "Faroe Islands", + "Falkland Islands (Malvinas)", + "Fiji", + "Finland", + "France", + "French Guiana", + "French Polynesia", + "French Southern Territories", + "Gabon", + "Gambia", + "Georgia", + "Germany", + "Ghana", + "Gibraltar", + "Greece", + "Greenland", + "Grenada", + "Guadeloupe", + "Guam", + "Guatemala", + "Guernsey", + "Guinea", + "Guinea-Bissau", + "Guyana", + "Haiti", + "Heard Island and McDonald Islands", + "Holy See (Vatican City State)", + "Honduras", + "Hong Kong", + "Hungary", + "Iceland", + "India", + "Indonesia", + "Iran", + "Iraq", + "Ireland", + "Isle of Man", + "Israel", + "Italy", + "Jamaica", + "Japan", + "Jersey", + "Jordan", + "Kazakhstan", + "Kenya", + "Kiribati", + "Republic of Korea", + "Kuwait", + "Kyrgyz Republic", + "Latvia", + "Lebanon", + "Lesotho", + "Liberia", + "Libyan Arab Jamahiriya", + "Liechtenstein", + "Lithuania", + "Luxembourg", + "Macao", + "Madagascar", + "Malawi", + "Malaysia", + "Maldives", + "Mali", + "Malta", + "Marshall Islands", + "Martinique", + "Mauritania", + "Mauritius", + "Mayotte", + "Mexico", + "Micronesia", + "Moldova", + "Monaco", + "Mongolia", + "Montenegro", + "Montserrat", + "Morocco", + "Mozambique", + "Myanmar", + "Namibia", + "Nauru", + "Nepal", + "Netherlands", + "New Caledonia", + "New Zealand", + "Nicaragua", + "Niger", + "Nigeria", + "Niue", + "Norfolk Island", + "North Macedonia", + "Northern Mariana Islands", + "Norway", + "Oman", + "Pakistan", + "Palau", + "Palestine", + "Panama", + "Papua New Guinea", + "Paraguay", + "Peru", + "Philippines", + "Pitcairn Islands", + "Poland", + "Portugal", + "Puerto Rico", + "Qatar", + "Reunion", + "Romania", + "Russian Federation", + "Rwanda", + "Saint Barthelemy", + "Saint Helena", + "Saint Kitts and Nevis", + "Saint Lucia", + "Saint Martin", + "Saint Pierre and Miquelon", + "Saint Vincent and the Grenadines", + "Samoa", + "San Marino", + "Sao Tome and Principe", + "Saudi Arabia", + "Senegal", + "Serbia", + "Seychelles", + "Sierra Leone", + "Singapore", + "Sint Maarten", + "Slovakia", + "Slovenia", + "Solomon Islands", + "Somalia", + "South Africa", + "South Georgia and the South Sandwich Islands", + "South Sudan", + "Spain", + "Sri Lanka", + "Sudan", + "Suriname", + "Svalbard & Jan Mayen Islands", + "Sweden", + "Switzerland", + "Syrian Arab Republic", + "Taiwan", + "Tajikistan", + "Tanzania", + "Thailand", + "Timor-Leste", + "Togo", + "Tokelau", + "Tonga", + "Trinidad and Tobago", + "Tunisia", + "Turkey", + "Turkmenistan", + "Turks and Caicos Islands", + "Tuvalu", + "Uganda", + "Ukraine", + "United Arab Emirates", + "United Kingdom", + "United States of America", + "United States Minor Outlying Islands", + "Uruguay", + "Uzbekistan", + "Vanuatu", + "Venezuela", + "Vietnam", + "Virgin Islands, British", + "Virgin Islands, U.S.", + "Wallis and Futuna", + "Western Sahara", + "Yemen", + "Zambia", + "Zimbabwe", +}); + +const auto countryCodes = std::to_array({ + "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", + "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", + "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CX", + "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", + "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", + "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", + "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", + "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", + "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", + "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", + "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", + "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", + "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", + "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "ZA", "ZM", "ZW", +}); + +const auto directions = std::to_array({ + "North", "East", "South", "West", "Northeast", "Northwest", "Southeast", "Southwest", +}); + +const auto timeZones = std::to_array({ + "Africa/Abidjan", + "Africa/Accra", + "Africa/Addis_Ababa", + "Africa/Algiers", + "Africa/Asmara", + "Africa/Bamako", + "Africa/Bangui", + "Africa/Banjul", + "Africa/Bissau", + "Africa/Blantyre", + "Africa/Brazzaville", + "Africa/Bujumbura", + "Africa/Cairo", + "Africa/Casablanca", + "Africa/Ceuta", + "Africa/Conakry", + "Africa/Dakar", + "Africa/Dar_es_Salaam", + "Africa/Djibouti", + "Africa/Douala", + "Africa/El_Aaiun", + "Africa/Freetown", + "Africa/Gaborone", + "Africa/Harare", + "Africa/Johannesburg", + "Africa/Juba", + "Africa/Kampala", + "Africa/Khartoum", + "Africa/Kigali", + "Africa/Kinshasa", + "Africa/Lagos", + "Africa/Libreville", + "Africa/Lome", + "Africa/Luanda", + "Africa/Lubumbashi", + "Africa/Lusaka", + "Africa/Malabo", + "Africa/Maputo", + "Africa/Maseru", + "Africa/Mbabane", + "Africa/Mogadishu", + "Africa/Monrovia", + "Africa/Nairobi", + "Africa/Ndjamena", + "Africa/Niamey", + "Africa/Nouakchott", + "Africa/Ouagadougou", + "Africa/Porto-Novo", + "Africa/Sao_Tome", + "Africa/Tripoli", + "Africa/Tunis", + "Africa/Windhoek", + "America/Adak", + "America/Anchorage", + "America/Anguilla", + "America/Antigua", + "America/Araguaina", + "America/Argentina/Buenos_Aires", + "America/Argentina/Catamarca", + "America/Argentina/Cordoba", + "America/Argentina/Jujuy", + "America/Argentina/La_Rioja", + "America/Argentina/Mendoza", + "America/Argentina/Rio_Gallegos", + "America/Argentina/Salta", + "America/Argentina/San_Juan", + "America/Argentina/San_Luis", + "America/Argentina/Tucuman", + "America/Argentina/Ushuaia", + "America/Aruba", + "America/Asuncion", + "America/Atikokan", + "America/Bahia", + "America/Bahia_Banderas", + "America/Barbados", + "America/Belem", + "America/Belize", + "America/Blanc-Sablon", + "America/Boa_Vista", + "America/Bogota", + "America/Boise", + "America/Cambridge_Bay", + "America/Campo_Grande", + "America/Cancun", + "America/Caracas", + "America/Cayenne", + "America/Cayman", + "America/Chicago", + "America/Chihuahua", + "America/Costa_Rica", + "America/Creston", + "America/Cuiaba", + "America/Curacao", + "America/Danmarkshavn", + "America/Dawson", + "America/Dawson_Creek", + "America/Denver", + "America/Detroit", + "America/Dominica", + "America/Edmonton", + "America/Eirunepe", + "America/El_Salvador", + "America/Fort_Nelson", + "America/Fortaleza", + "America/Glace_Bay", + "America/Goose_Bay", + "America/Grand_Turk", + "America/Grenada", + "America/Guadeloupe", + "America/Guatemala", + "America/Guayaquil", + "America/Guyana", + "America/Halifax", + "America/Havana", + "America/Hermosillo", + "America/Indiana/Indianapolis", + "America/Indiana/Knox", + "America/Indiana/Marengo", + "America/Indiana/Petersburg", + "America/Indiana/Tell_City", + "America/Indiana/Vevay", + "America/Indiana/Vincennes", + "America/Indiana/Winamac", + "America/Inuvik", + "America/Iqaluit", + "America/Jamaica", + "America/Juneau", + "America/Kentucky/Louisville", + "America/Kentucky/Monticello", + "America/Kralendijk", + "America/La_Paz", + "America/Lima", + "America/Los_Angeles", + "America/Lower_Princes", + "America/Maceio", + "America/Managua", + "America/Manaus", + "America/Marigot", + "America/Martinique", + "America/Matamoros", + "America/Mazatlan", + "America/Menominee", + "America/Merida", + "America/Metlakatla", + "America/Mexico_City", + "America/Miquelon", + "America/Moncton", + "America/Monterrey", + "America/Montevideo", + "America/Montserrat", + "America/Nassau", + "America/New_York", + "America/Nome", + "America/Noronha", + "America/North_Dakota/Beulah", + "America/North_Dakota/Center", + "America/North_Dakota/New_Salem", + "America/Nuuk", + "America/Ojinaga", + "America/Panama", + "America/Paramaribo", + "America/Phoenix", + "America/Port-au-Prince", + "America/Port_of_Spain", + "America/Porto_Velho", + "America/Puerto_Rico", + "America/Punta_Arenas", + "America/Rankin_Inlet", + "America/Recife", + "America/Regina", + "America/Resolute", + "America/Rio_Branco", + "America/Santarem", + "America/Santiago", + "America/Santo_Domingo", + "America/Sao_Paulo", + "America/Scoresbysund", + "America/Sitka", + "America/St_Barthelemy", + "America/St_Johns", + "America/St_Kitts", + "America/St_Lucia", + "America/St_Thomas", + "America/St_Vincent", + "America/Swift_Current", + "America/Tegucigalpa", + "America/Thule", + "America/Tijuana", + "America/Toronto", + "America/Tortola", + "America/Vancouver", + "America/Whitehorse", + "America/Winnipeg", + "America/Yakutat", + "America/Yellowknife", + "Antarctica/Casey", + "Antarctica/Davis", + "Antarctica/DumontDUrville", + "Antarctica/Macquarie", + "Antarctica/Mawson", + "Antarctica/McMurdo", + "Antarctica/Palmer", + "Antarctica/Rothera", + "Antarctica/Syowa", + "Antarctica/Troll", + "Antarctica/Vostok", + "Arctic/Longyearbyen", + "Asia/Aden", + "Asia/Almaty", + "Asia/Amman", + "Asia/Anadyr", + "Asia/Aqtau", + "Asia/Aqtobe", + "Asia/Ashgabat", + "Asia/Atyrau", + "Asia/Baghdad", + "Asia/Bahrain", + "Asia/Baku", + "Asia/Bangkok", + "Asia/Barnaul", + "Asia/Beirut", + "Asia/Bishkek", + "Asia/Brunei", + "Asia/Chita", + "Asia/Choibalsan", + "Asia/Colombo", + "Asia/Damascus", + "Asia/Dhaka", + "Asia/Dili", + "Asia/Dubai", + "Asia/Dushanbe", + "Asia/Famagusta", + "Asia/Gaza", + "Asia/Hebron", + "Asia/Ho_Chi_Minh", + "Asia/Hong_Kong", + "Asia/Hovd", + "Asia/Irkutsk", + "Asia/Jakarta", + "Asia/Jayapura", + "Asia/Jerusalem", + "Asia/Kabul", + "Asia/Kamchatka", + "Asia/Karachi", + "Asia/Kathmandu", + "Asia/Khandyga", + "Asia/Kolkata", + "Asia/Krasnoyarsk", + "Asia/Kuala_Lumpur", + "Asia/Kuching", + "Asia/Kuwait", + "Asia/Macau", + "Asia/Magadan", + "Asia/Makassar", + "Asia/Manila", + "Asia/Muscat", + "Asia/Nicosia", + "Asia/Novokuznetsk", + "Asia/Novosibirsk", + "Asia/Omsk", + "Asia/Oral", + "Asia/Phnom_Penh", + "Asia/Pontianak", + "Asia/Pyongyang", + "Asia/Qatar", + "Asia/Qostanay", + "Asia/Qyzylorda", + "Asia/Riyadh", + "Asia/Sakhalin", + "Asia/Samarkand", + "Asia/Seoul", + "Asia/Shanghai", + "Asia/Singapore", + "Asia/Srednekolymsk", + "Asia/Taipei", + "Asia/Tashkent", + "Asia/Tbilisi", + "Asia/Tehran", + "Asia/Thimphu", + "Asia/Tokyo", + "Asia/Tomsk", + "Asia/Ulaanbaatar", + "Asia/Urumqi", + "Asia/Ust-Nera", + "Asia/Vientiane", + "Asia/Vladivostok", + "Asia/Yakutsk", + "Asia/Yangon", + "Asia/Yekaterinburg", + "Asia/Yerevan", + "Atlantic/Azores", + "Atlantic/Bermuda", + "Atlantic/Canary", + "Atlantic/Cape_Verde", + "Atlantic/Faroe", + "Atlantic/Madeira", + "Atlantic/Reykjavik", + "Atlantic/South_Georgia", + "Atlantic/St_Helena", + "Atlantic/Stanley", + "Australia/Adelaide", + "Australia/Brisbane", + "Australia/Broken_Hill", + "Australia/Darwin", + "Australia/Eucla", + "Australia/Hobart", + "Australia/Lindeman", + "Australia/Lord_Howe", + "Australia/Melbourne", + "Australia/Perth", + "Australia/Sydney", + "Europe/Amsterdam", + "Europe/Andorra", + "Europe/Astrakhan", + "Europe/Athens", + "Europe/Belgrade", + "Europe/Berlin", + "Europe/Bratislava", + "Europe/Brussels", + "Europe/Bucharest", + "Europe/Budapest", + "Europe/Busingen", + "Europe/Chisinau", + "Europe/Copenhagen", + "Europe/Dublin", + "Europe/Gibraltar", + "Europe/Guernsey", + "Europe/Helsinki", + "Europe/Isle_of_Man", + "Europe/Istanbul", + "Europe/Jersey", + "Europe/Kaliningrad", + "Europe/Kirov", + "Europe/Kyiv", + "Europe/Lisbon", + "Europe/Ljubljana", + "Europe/London", + "Europe/Luxembourg", + "Europe/Madrid", + "Europe/Malta", + "Europe/Mariehamn", + "Europe/Minsk", + "Europe/Monaco", + "Europe/Moscow", + "Europe/Oslo", + "Europe/Paris", + "Europe/Podgorica", + "Europe/Prague", + "Europe/Riga", + "Europe/Rome", + "Europe/Samara", + "Europe/San_Marino", + "Europe/Sarajevo", + "Europe/Saratov", + "Europe/Simferopol", + "Europe/Skopje", + "Europe/Sofia", + "Europe/Stockholm", + "Europe/Tallinn", + "Europe/Tirane", + "Europe/Ulyanovsk", + "Europe/Vaduz", + "Europe/Vatican", + "Europe/Vienna", + "Europe/Vilnius", + "Europe/Volgograd", + "Europe/Warsaw", + "Europe/Zagreb", + "Europe/Zurich", + "Indian/Antananarivo", + "Indian/Chagos", + "Indian/Christmas", + "Indian/Cocos", + "Indian/Comoro", + "Indian/Kerguelen", + "Indian/Mahe", + "Indian/Maldives", + "Indian/Mauritius", + "Indian/Mayotte", + "Indian/Reunion", + "Pacific/Apia", + "Pacific/Auckland", + "Pacific/Bougainville", + "Pacific/Chatham", + "Pacific/Chuuk", + "Pacific/Easter", + "Pacific/Efate", + "Pacific/Fakaofo", + "Pacific/Fiji", + "Pacific/Funafuti", + "Pacific/Galapagos", + "Pacific/Gambier", + "Pacific/Guadalcanal", + "Pacific/Guam", + "Pacific/Honolulu", + "Pacific/Kanton", + "Pacific/Kiritimati", + "Pacific/Kosrae", + "Pacific/Kwajalein", + "Pacific/Majuro", + "Pacific/Marquesas", + "Pacific/Midway", + "Pacific/Nauru", + "Pacific/Niue", + "Pacific/Norfolk", + "Pacific/Noumea", + "Pacific/Pago_Pago", + "Pacific/Palau", + "Pacific/Pitcairn", + "Pacific/Pohnpei", + "Pacific/Port_Moresby", + "Pacific/Rarotonga", + "Pacific/Saipan", + "Pacific/Tahiti", + "Pacific/Tarawa", + "Pacific/Tongatapu", + "Pacific/Wake", + "Pacific/Wallis", +}); // Australia -extern const std::array australiaCities; -extern const std::array australiaStates; -extern const std::array australiaStreetSuffixes; -extern const std::array australiaAddressFormats; -extern const std::array australiaBuildingNumberFormats; -extern const std::array australiaStreetFormats; -extern const std::array australiaCityFormats; -extern const std::string_view australiaZipCodeFormat; -extern const CountryAddressesInfo australiaAddresses; +const auto australiaCities = std::to_array({ + "Sydney", + "Melbourne", + "Brisbane", + "Perth", + "Adelaide", + "Gold Coast", + "Cranbourne", + "Canberra", + "Central Coast", + "Wollongong", + "Hobart", + "Geelong", + "Townsville", + "Ipswich", + "Newcastle", + "Cairns", + "Darwin", + "Toowoomba", + "Launceston", + "Ballarat", + "Bendigo", + "Mackay", + "Wagga Wagga", + "Hervey Bay", + "Pakenham", + "Port Macquarie", + "Caloundra", + "Frankston", + "Sunbury", + "Gladstone", + "Bathurst", + "Mildura", + "Southport", + "Dandenong", + "Warrnambool", + "Burnie", + "Quakers Hill", + "Caboolture", + "Mount Gambier", + "Traralgon", + "Armidale", + "Whyalla", + "Griffith", + "Mount Eliza", + "Nerang", + "Lara", + "Taree", + "Banora Point", + "Warragul", + "Cessnock", + "Horsham", + "Australind", + "Barwon Heads", + "Ulverstone", + "Echuca", + "Mount Barker", + "Morwell", + "Forster", + "Bongaree", + "Penrith", + "Goonellabah", + "Leopold", + "Campbelltown", + "Muswellbrook", + "Rutherford", + "Inverell", + "Parkes", + "Nambour", + "Mareeba", + "Wallan", + "Corinda", + "Casino", + "Gympie", + "Kingston", + "Grafton", + "Bowral", + "Young", + "Cowra", + "Swan Hill", + "Mudgee", + "Mount Evelyn", + "Andergrove", + "Moree", + "Nowra", + "Colac", + "Yanchep", + "Ballina", + "Leeton", + "Moss Vale", + "Springwood", + "Emu Plains", + "Ararat", + "Tweed Heads", + "Charters Towers", + "Katoomba", + "Mooroopna", + "Maryborough", + "Deniliquin", + "Mandurah", + "Bli Bli", + "Narrabri", + "Clifton Springs", + "Bargara", + "Kingscliff", + "Healesville", + "Fremantle", + "Blaxland", + "Kyabram", + "Sanctuary Point", + "Merrimac", + "Murwillumbah", + "Urraween", + "Kyneton", + "Cootamundra", + "Castlemaine", + "Bomaderry", + "Helensburgh", + "Port Augusta", + "Yass", + "Strathalbyn", + "Burpengary", + "Waterford", + "Lennox Head", + "Seymour", + "Nambucca Heads", + "Nuriootpa", + "Wauchope", + "Tumut", + "Tuncurry", + "Glen Innes", + "Yamba", + "Lakes Entrance", + "Kurri Kurri", + "Wynyard", + "North Mackay", + "Dromana", + "Mittagong", + "Alstonville", + "Stawell", + "Cannonvale", + "Point Vernon", + "Leongatha", + "Scone", + "Whittlesea", + "Corowa", + "Richmond", + "Cooranbong", + "Inverloch", + "New Norfolk", + "Wingham", + "Woolgoolga", + "Maffra", + "Lithgow", + "Millicent", + "Worragee", + "Tahmoor", + "Red Cliffs", + "Glenbrook", + "Nairne", + "Kiama Downs", + "Hazelbrook", + "Encounter Bay", + "Boulder", + "Picton", + "Albury", + "Mansfield", + "Churchill", + "Bucasia", + "Temora", + "Renmark", + "Tanunda", + "Loxton", + "Glenella", + "Numurkah", + "Korumburra", + "Rasmussen", + "Tatura", + "Old Bar", + "Narrandera", + "George Town", + "Wyong", + "Broadford", + "Drysdale", + "Cockatoo", + "Victor Harbor", + "Moama", + "Latrobe", + "Berri", + "Wellington", + "Thirlmere", + "Legana", + "The Entrance", + "Cobar", + "Gerringong", + "Margate", + "Trafalgar", + "Somerset", + "Kerang", + "Roxby Downs", + "Smithton", + "Longford", + "Beechworth", + "Penguin", + "Anna Bay", + "McLaren Vale", + "Pearcedale", + "Peregian Beach", + "Bellingen", + "Suffolk Park", + "Buninyong", + "Weston", + "Sawtell", + "Silverdale", + "Bay View", + "Lismore", + "Koo-Wee-Rup", + "Merimbula", + "Scarness", + "Lake Cathie", + "Condobolin", + "Paynesville", + "Maddingley", + "Hurstbridge", + "Quirindi", + "Blayney", + "Camperdown", + "Aldgate", + "Port Fairy", + "Vincentia", + "Euroa", + "Marcoola", + "Mullumbimby", + "Tura Beach", + "Eden", + "West Wyalong", + "Gilgandra", + "Robinvale", + "Wilton", + "Riverview", + "Bogangar", + "Shoalhaven Heads", + "Urunga", + "Bonny Hills", + "Stirling", + "Perth", + "Barmera", + "Kapunda", + "Thursday Island", + "Terranora", + "Woori Yallock", + "Saint Georges Basin", + "Tea Gardens", + "Culburra", + "Yarra Glen", + "Beaconsfield Upper", + "Deloraine", + "Greta", + "North Wonthaggi", + "Howlong", + "Williamstown", + "Waikerie", + "Hill Top", + "Hahndorf", + "Jindabyne", + "Lawson", + "Woodside", + "Narooma", + "Grenfell", + "Manilla", + "Daylesford", + "Lobethal", + "The Oaks", + "Aberdare", + "Dodges Ferry", + "Launching Place", + "Rutherglen", + "Goolwa", + "Willunga", + "Sandy Beach", + "Hadspen", + "Canowindra", + "Freeling", + "Saint Arnaud", + "Baxter", + "Walgett", + "Esperance", + "Yarram", + "Heddon Greta", + "Freshwater", + "Bangalow", + "Orbost", + "Westbury", + "Lyndoch", + "Camden Haven", + "Wallerawang", + "Wattleglen", + "Bourke", + "Mulwala", + "Windsor", + "Nathalia", + "Oakdale", + "Cobden", + "Queenstown", + "Denman", + "Batehaven", + "Brunswick Heads", + "Tathra", + "Yarragon", + "Yaroomba", + "Curlewis", + "Yallourn North", + "Drummond Cove", + "Surfside", + "Evandale", + "Kurrajong Heights", + "Seven Mile Beach", + "San Remo", + "Valley Heights", + "Greenwell Point", + "Innisfail", + "Wahgunyah", + "Tinonee", + "Mollymook", +}); + +const auto australiaStates = std::to_array({ + "New South Wales", "Queensland", "Northern Territory", "South Australia", + "Western Australia", "Tasmania", "Australian Capital Territory", "Victoria", +}); + +const auto australiaStreetSuffixes = std::to_array({ + "Avenue", "Boulevard", "Circle", "Circuit", "Court", "Crescent", "Crest", "Drive", "Estate Dr", "Grove", + "Hill", "Island", "Junction", "Knoll", "Lane", "Loop", "Mall", "Manor", "Meadow", "Mews", + "Parade", "Parkway", "Pass", "Place", "Plaza", "Ridge", "Road", "Run", "Square", "Station St", + "Street", "Summit", "Terrace", "Track", "Trail", "View Rd", "Way", +}); + +const std::string_view australiaZipCodeFormat{"####"}; + +const auto australiaAddressFormats = std::to_array({"{buildingNumber} {street}"}); + +const auto australiaBuildingNumberFormats = std::to_array({"####", "###", "##"}); + +const auto australiaStreetFormats = std::to_array({"{firstName} {streetSuffix}", "{lastName} {streetSuffix}"}); + +const auto australiaCityFormats = std::to_array({"{cityName}"}); + +const CountryAddressesInfo australiaAddresses{ + australiaZipCodeFormat, + (australiaAddressFormats), + {}, + (australiaStreetFormats), + {}, + {}, + (australiaStreetSuffixes), + (australiaBuildingNumberFormats), + (australiaCityFormats), + {}, + (australiaCities), + {}, + (australiaStates), + {}, +}; // Brazil -extern const std::array brazilCitySuffixes; -extern const std::array brazilStates; -extern const std::array brazilStreetSuffixes; -extern const std::array brazilAddressFormats; -extern const std::array brazilSecondaryAddressFormats; -extern const std::array brazilBuildingNumberFormats; -extern const std::array brazilStreetFormats; -extern const std::array brazilCityFormats; -extern const std::string_view brazilZipCodeFormat; -extern const CountryAddressesInfo brazilAddresses; +const auto brazilCitySuffixes = std::to_array({ + "do Descoberto", + "de Nossa Senhora", + "do Norte", + "do Sul", +}); + +const auto brazilStates = std::to_array({ + "Acre", + "Alagoas", + "Amapá", + "Amazonas", + "Bahia", + "Ceará", + "Distrito Federal", + "Espírito Santo", + "Goiás", + "Maranhão", + "Mato Grosso", + "Mato Grosso do Sul", + "Minas Gerais", + "Pará", + "Paraíba", + "Paraná", + "Pernambuco", + "Piauí", + "Rio de Janeiro", + "Rio Grande do Norte", + "Rio Grande do Sul", + "Rondônia", + "Roraima", + "Santa Catarina", + "São Paulo", + "Sergipe", + "Tocantins", +}); + +const auto brazilStreetSuffixes = std::to_array({ + "Rua", "Avenida", "Travessa", "Alameda", "Marginal", "Rodovia", +}); + +const std::string_view brazilZipCodeFormat{"#####-###"}; + +const auto brazilAddressFormats = std::to_array({ + "{street} {buildingNumber}", + "{street} {buildingNumber} {secondaryAddress}" +}); + +const auto brazilSecondaryAddressFormats = std::to_array({ + "Apto. ###", "Sobrado ##", "Casa #", "Lote ##", + "Quadra ##" +}); + +const auto brazilBuildingNumberFormats = std::to_array({"#####", "####", "###"}); + +const auto brazilStreetFormats = std::to_array({"{firstName} {streetSuffix}", "{lastName} {streetSuffix}"}); + +const auto brazilCityFormats = std::to_array({"{firstName} {citySuffix}", "{lastName} {citySuffix}"}); + +const CountryAddressesInfo brazilAddresses{ + brazilZipCodeFormat, + (brazilAddressFormats), + (brazilSecondaryAddressFormats), + (brazilStreetFormats), + {}, + {}, + (brazilStreetSuffixes), + (brazilBuildingNumberFormats), + (brazilCityFormats), + {}, + {}, + (brazilCitySuffixes), + (brazilStates), + {}, +}; // Czech Republic -extern const std::array czechCities; -extern const std::array czechStates; -extern const std::array czechStreetNames; -extern const std::array czechAddressFormats; -extern const std::array czechSecondaryAddressFormats; -extern const std::array czechBuildingNumberFormats; -extern const std::array czechStreetFormats; -extern const std::array czechCityFormats; -extern const std::string_view czechZipCodeFormat; -extern const CountryAddressesInfo czechAddresses; +const auto czechCities = std::to_array({ + "Abertamy", + "Adamov", + "Andělská Hora", + "Aš", + "Bakov nad Jizerou", + "Bavorov", + "Bechyně", + "Beroun", + "Bezdružice", + "Bílina", + "Bílovec", + "Blansko", + "Blatná", + "Blovice", + "Brno", + "Broumov", + "Brtnice", + "Brumov-Bylnice", + "Bruntál", + "Bzenec", + "Chabařovice", + "Cheb", + "Chlumec", + "Chlumec nad Cidlinou", + "Choceň", + "Chodov", + "Chomutov", + "Chotěboř", + "Chrast", + "Chrastava", + "Chropyně", + "Chrudim", + "Chřibská", + "Chvaletice", + "Chýnov", + "Chyše", + "Cvikov", + "Čáslav", + "Čelákovice", + "Černošice", + "Černošín", + "Černovice", + "Červená Řečice", + "Červený Kostelec", + "Česká Kamenice", + "Česká Lípa", + "Česká Skalice", + "Česká Třebová", + "České Budějovice", + "České Velenice", + "Český Brod", + "Český Dub", + "Český Krumlov", + "Český Těšín", + "Dačice", + "Dašice", + "Děčín", + "Desná", + "Deštná", + "Dobrovice", + "Dobruška", + "Dobřany", + "Dobřichovice", + "Dobříš", + "Doksy", + "Dolní Benešov", + "Dolní Bousov", + "Dolní Kounice", + "Dolní Poustevna", + "Domažlice", + "Dubá", + "Dubí", + "Dubňany", + "Duchcov", + "Dvůr Králové nad Labem", + "Františkovy Lázně", + "Frenštát pod Radhoštěm", + "Frýdek-Místek", + "Frýdlant", + "Frýdlant nad Ostravicí", + "Fryšták", + "Fulnek", + "Golčův Jeníkov", + "Habartov", + "Habry", + "Hanušovice", + "Harrachov", + "Hartmanice", + "Havířov", + "Havlíčkův Brod", + "Hejnice", + "Heřmanův Městec", + "Hlinsko", + "Hluboká nad Vltavou", + "Hlučín", + "Hluk", + "Hodkovice nad Mohelkou", + "Hodonín", + "Holešov", + "Holice", + "Holýšov", + "Hora Svaté Kateřiny", + "Hrotovice", + "Hroznětín", + "Hrušovany nad Jevišovkou", + "Hulín", + "Humpolec", + "Husinec", + "Hustopeče", + "Ivančice", + "Ivanovice na Hané", + "Jablonné nad Orlicí", + "Jablonné v Podještědí", + "Jablunkov", + "Jáchymov", + "Janov", + "Janovice nad Úhlavou", + "Janské Lázně", + "Jaroměř", + "Jaroměřice nad Rokytnou", + "Javorník", + "Jemnice", + "Jesenice (okres Rakovník)", + "Jeseník", + "Jevíčko", + "Jevišovice", + "Jičín", + "Jirkov", + "Jiříkov", + "Jistebnice", + "Kadaň", + "Kamenický Šenov", + "Kaplice", + "Kardašova Řečice", + "Karlovy Vary", + "Karolinka", + "Karviná", + "Kasejovice", + "Kašperské Hory", + "Kaznějov", + "Kdyně", + "Kelč", + "Kladno", + "Kladruby", + "Klášterec nad Ohří", + "Klatovy", + "Klecany", + "Klimkovice", + "Klobouky u Brna", + "Kojetín", + "Kolín", + "Konice", + "Kopidlno", + "Kopřivnice", + "Koryčany", + "Kosmonosy", + "Kostelec na Hané", + "Kostelec nad Černými lesy", + "Kostelec nad Labem", + "Kostelec nad Orlicí", + "Košťany", + "Kouřim", + "Krásno", + "Kravaře", + "Krnov", + "Kroměříž", + "Krupka", + "Kryry", + "Kunovice", + "Kunštát", + "Kuřim", + "Kutná Hora", + "Kyjov", + "Kynšperk nad Ohří", + "Lanškroun", + "Lanžhot", + "Lázně Bělohrad", + "Lázně Bohdaneč", + "Lázně Kynžvart", + "Ledeč nad Sázavou", + "Ledvice", + "Letohrad", + "Letovice", + "Libáň", + "Libčice nad Vltavou", + "Liběchov", + "Liberec", + "Libochovice", + "Město Albrechtice", + "Město Touškov", + "Meziboří", + "Meziměstí", + "Mikulášovice", + "Mikulov", + "Miletín", + "Milevsko", + "Milovice", + "Mimoň", + "Miroslav", + "Mirošov", + "Mirotice", + "Mirovice", + "Mladá Boleslav", + "Mladá Vožice", + "Mnichovice", + "Mnichovo Hradiště", + "Mšeno", + "Mýto", + "Náchod", + "Nalžovské Hory", + "Náměšť nad Oslavou", + "Napajedla", + "Nasavrky", + "Nechanice", + "Nejdek", + "Němčice nad Hanou", + "Nepomuk", + "Neratovice", + "Netolice", + "Neveklov", + "Nový Jičín", + "Nový Knín", + "Nymburk", + "Nýrsko", + "Nýřany", + "Odolena Voda", + "Odry", + "Olešnice", + "Olomouc", + "Oloví", + "Opava", + "Opočno", + "Orlová", + "Osečná", + "Osek", + "Oslavany", + "Ostrava", + "Ostrov", + "Otrokovice", + "Pacov", + "Pardubice", + "Paskov", + "Pec pod Sněžkou", + "Pečky", + "Pelhřimov", + "Petřvald", + "Pilníkov", + "Písek", + "Planá", + "Planá nad Lužnicí", + "Plánice", + "Plasy", + "Plesná", + "Plumlov", + "Plzeň", + "Poběžovice", + "Počátky", + "Podbořany", + "Poděbrady", + "Podivín", + "Pohořelice", + "Police nad Metují", + "Polička", + "Polná", + "Postoloprty", + "Potštát", + "Prachatice", + "Praha", + "Rabí", + "Radnice", + "Rájec-Jestřebí", + "Rajhrad", + "Rakovník", + "Ralsko", + "Raspenava", + "Rejštejn", + "Rokycany", + "Rokytnice nad Jizerou", + "Rokytnice v Orlických horách", + "Ronov nad Doubravou", + "Rosice", + "Rotava", + "Roudnice nad Labem", + "Rousínov", + "Rovensko pod Troskami", + "Roztoky", + "Rožďalovice", + "Rožmberk nad Vltavou", + "Rožmitál pod Třemšínem", + "Rožnov pod Radhoštěm", + "Rtyně v Podkrkonoší", + "Rudná", + "Rudolfov", + "Rumburk", + "Rychnov nad Kněžnou", + "Rychnov u Jablonce nad Nisou", + "Rychvald", + "Rýmařov", + "Řevnice", + "Říčany", + "Sadská", + "Sázava", + "Seč", + "Sedlčany", + "Sedlec-Prčice", + "Sedlice", + "Semily", + "Sezemice", + "Sezimovo Ústí", + "Skalná", + "Skuteč", + "Slaný", + "Slatiňany", + "Slavičín", + "Slavkov u Brna", + "Slavonice", + "Slušovice", + "Smečno", + "Smiřice", + "Smržovka", +}); + +const auto czechStates = std::to_array({ + "Jihočeský kraj", "Jihomoravský kraj", "Karlovarský kraj", "Kraj Vysočina", "Královéhradecký kraj", + "Liberecký kraj", "Moravskoslezský kraj", "Olomoucký kraj", "Pardubický kraj", "Plzeňský kraj", + "Praha", "Středočeský kraj", "Ústecký kraj", "Zlínský kraj", +}); + +const auto czechStreetNames = std::to_array({ + "Akademická", + "Aksamitova", + "Akátová", + "Alabastrová", + "Albertov", + "Albrechtická", + "Albánská", + "Albíny Hochové", + "Aldašínská", + "Alej Českých Exulantů", + "Amforová", + "Amortova", + "Ampérova", + "Amurská", + "Anastázova", + "Anderleho", + "Chládkova", + "Chmelařská", + "Chmelická", + "Chmelová", + "Chmelířova", + "Choceradská", + "Choceňská", + "Chocholouškova", + "Chrpová", + "Chrudimská", + "Chráněná", + "Cihelná", + "Cuřínova", + "Cvikovská", + "Cvičebná", + "Cvrčkova", + "Cyprichova", + "Cíglerova", + "Cílkova", + "Cínovecká", + "Církova", + "Církvická", + "Církvičná", + "Císařská Louka", + "Císařský Ostrov", + "Cítovská", + "Drimlova", + "Drnovská", + "Drobná", + "Drtikolova", + "Drtinova", + "Druhanická", + "Druhého Odboje", + "Družicová", + "Družnosti", + "Družná", + "Dudkova", + "Dudínská", + "Duhová", + "Dukelská", + "Dukelských Hrdinů", + "Dunajevského", + "Dunajská", + "Dunická", + "Dunovského", + "Durychova", + "Dusíkova", + "Duškova", + "Dušní", + "Dvorecká", + "Dvorecké Nám.", + "Dvorecké Náměstí", + "Dvorní", + "Dvorská", + "Dvoudílná", + "Dětský Ostrov", + "Děvínská", + "Děčínská", + "Dřevařská", + "Dřevnická", + "Dřevná", + "Dřevčická", + "Dřínovská", + "Dřínová", + "Dřítenská", + "Eberlova", + "Ebrova", + "Edisonova", + "Edvardova", + "Egyptská", + "Eichlerova", + "Ellnerové", + "Elsnicovo Náměstí", + "Emilie Hyblerové", + "Emlerova", + "Engelmüllerova", + "Fabiánská", + "Fadějevova", + "Fajmanové", + "Fajtlova", + "Falcká", + "Faltysova", + "Famfulíkova", + "Fantova", + "Fibichova", + "Fikerova", + "Filipova", + "Filipovského", + "Filipíny Welserové", + "Fillova", + "Filmařská", + "Filosofská", + "Fingerova", + "Finkovská", + "Finská", + "Firkušného", + "Fischlova", + "Fišerova", + "Flemingovo Nám.", + "Flemingovo Náměstí", + "Flájská", + "Flöglova", + "Foerstrova", + "Folmavská", + "Formanská", + "Formánkova", + "Františka Šimáčka", + "Frézařská", + "Frýdecká", + "Frýdlantská", + "Fuchsova", + "Fügnerovo Nám.", + "Fügnerovo Náměstí", + "Gabinova", + "Gabčíkova", + "Gagarinova", + "Galandova", + "Galileova", + "Gallašova", + "Galvaniho", + "Gaussova", + "Gdaňská", + "Gollova", + "Golčova", + "Gončarenkova", + "Gorazdova", + "Gotthardská", + "Goyova", + "Gočárova", + "Grafická", + "Grafitová", + "Grammova", + "Granátová", + "Gregorova", + "Grussova", + "Gruzínská", + "Gutfreundova", + "Gutova", + "Gymnasijní", + "Hříbková", + "Hřídelecká", + "Hůlkova", + "Izraelská", + "Jana Ouřady", + "Janýrova", + "Jančova", + "Jarešova", + "Jarkovská", + "Jarmily Novotné", + "Jarní", + "Jarníkova", + "Jaromíra Jindry", + "Kurta Konráda", + "Kurzova", + "Kurčatovova", + "Kusá", + "Kusého", + "Kutilova", + "Kutnauerovo Náměstí", + "Kutnohorská", + "Kutrovická", + "Kuttelwascherova", + "Kutvirtova", + "Kučerova", + "Kučerové", + "Kuťatská", + "Kuželova", + "Kvapilova", + "Kyjská", + "Kykalova", + "Kymrova", + "Kynická", + "Kyselova", + "Kyslíková", + "Kysucká", + "Kysúcká", + "Kytlická", + "Kytínská", + "Kácovská", + "Kádnerova", + "Kálikova", + "Kálmánova", + "Káranská", + "Křejpského", + "Křelovická", + "Křemelná", + "Křemencova", + "Křemenná", + "Lamačova", + "Langweilova", + "Lannova", + "Lanýžová", + "Lanžhotská", + "Lhotákova", + "Liberecká", + "Liberijská", + "Libečkova", + "Libeňská", + "Libeňský Ostrov", + "Malátova", + "Malé Nám.", + "Martinova", + "Martinovská", + "Martinská", + "Marty Krásové", + "Marvanova", + "Maršovská", + "Masarykovo Nábř.", + "Masarykovo Nábřeží", + "Masná", + "Matek", + "Meziluží", + "Mezipolí", + "Mezitraťová", + "Mezivrší", + "Meziškolská", + "Mečislavova", + "Mečovská", + "Mečíková", + "Michalovicova", + "Michalská", + "Michelangelova", + "Michelská", + "Michnova", + "Michnovka", + "Mickiewiczova", + "Mikanova", + "Milovická", + "Milánská", + "Milínská", + "Milíčova", + "Milíčovská", + "Mimoňská", + "Minaříkova", + "Minerální", + "Minická", + "Minská", + "Miranova", + "Miroslava Hajna", + "Miroslava Hamra", + "Mirotická", + "Návětrná", + "Názovská", + "Nýdecká", + "Nýrská", + "Nýřanská", + "Němčická", + "Otavská", + "Otevřená", + "Otická", + "Otlíkovská", + "Otopašská", + "Otovická", + "Otradovická", + "Ottova", + "Otvovická", + "Oty Pavla", + "Otínská", + "Otěšínská", + "Ouholická", + "Ouhrabkova", + "Ovenecká", + "Ovesná", + "Ovocná", + "Ovocnářská", + "Ovocný Trh", + "Ovsíková", + "Oválová", + "Ovčárská", + "Ovčí Hájek", + "Ořechová", + "Ořešská", + "Paběnická", + "Pacajevova", + "Paceřická", + "Panelová", + "Panenky", + "Panenská", + "Pankrácké Náměstí", + "Panská", + "Panská Zahrada", + "Panský Dvůr", + "Panuškova", + "Paprsková", + "Papírenská", + "Papírníkova", + "Parašutistů", + "Pardubická", + "Park Přátelství", + "Parková", + "Parléřova", + "Parmská", + "Paroplavební", + "Partyzánská", + "Pasecká", + "Pasteurova", + "Pastevců", + "Patočkova", + "Pavelkova", + "Pavla Beneše", + "Pavla Švandy Ze Semčic", + "Pavlická", + "Pavlišovská", + "Pavlovická", + "Rackova Zahrada", + "Radbuzská", + "Radechovská", + "Radešovská", + "Sadařská", + "Sadová", + "Sadská", + "Sady Bratří Čapků", + "Safírová", + "Salabova", + "Salačova", + "Salmovská", + "Salvátorská", + "Samcova", + "Samohelova", + "Samota U Podleského Rybníka", + "Sarajevská", + "Saratovská", + "Sartoriova", +}); + +const std::string_view czechZipCodeFormat{"#####"}; + +const auto czechAddressFormats = std::to_array({ + "{street} {buildingNumber}", + "{street} {buildingNumber} {secondaryAddress}"} +); + +const auto czechSecondaryAddressFormats = std::to_array({"Apt. ###", "Suite ###"}); + +const auto czechBuildingNumberFormats = std::to_array({"#", "##", "###"}); + +const auto czechStreetFormats = std::to_array({"{streetName}"}); + +const auto czechCityFormats = std::to_array({"{cityName}"}); + +const CountryAddressesInfo czechAddresses{ + czechZipCodeFormat, + (czechAddressFormats), + (czechSecondaryAddressFormats), + (czechStreetFormats), + {}, + (czechStreetNames), + {}, + (czechBuildingNumberFormats), + (czechCityFormats), + {}, + (czechCities), + {}, + (czechStates), + {}, +}; // Denmark -extern const std::array denmarkCities; -extern const std::array denmarkStates; -extern const std::array denmarkStreetNames; -extern const std::array denmarkAddressFormats; -extern const std::array denmarkSecondaryAddressFormats; -extern const std::array denmarkBuildingNumberFormats; -extern const std::array denmarkStreetFormats; -extern const std::array denmarkCityFormats; -extern const std::string_view denmarkZipCodeFormat; -extern const CountryAddressesInfo denmarkAddresses; +const auto denmarkCities = std::to_array({ + "Albertslund", + "Arden", + "Asnæs", + "Assentoft", + "Augustenborg", + "Aulum", + "Auning", + "Ballerup", + "Beder-Malling", + "Bellinge", + "Birkerød", + "Bjæverskov", + "Bogense", + "Borup", + "Brejning", + "Broager", + "Brovst", + "Brædstrup", + "Brøndby", + "Brønderslev", + "Brørup", + "Christiansfeld", + "Dianalund", + "Dragør", + "Dronninglund", + "Ejby", + "Esbjerg", + "Farsø", + "Farum", + "Faxe Ladeplads", + "Faxe", + "Fensmark", + "Fjerritslev", + "Fredensborg", + "Fredericia", + "Frederiksberg", + "Frederikshavn", + "Frederikssund", + "Frederiksværk", + "Frejlev", + "Galten", + "Ganløse", + "Gentofte", + "Gistrup", + "Give", + "Gladsaxe", + "Glamsbjerg", + "Glostrup", + "Grenaa", + "Greve Strand", + "Grindsted", + "Græsted", + "Gråsten", + "Guderup", + "Haderslev", + "Hadsten", + "Hadsund", + "Harlev", + "Haslev", + "Havdrup", + "Hedehusene", + "Hedensted", + "Helsinge", + "Helsingør", + "Herlev", + "Herning", + "Hillerød", + "Hinnerup", + "Hjallerup", + "Hjortshøj", + "Hjørring", + "Hobro", + "Holbæk", + "Holstebro", + "Holsted", + "Horsens", + "Humlebæk", + "Hundested", + "Hurup", + "Hvide Sande", + "Hvidovre", + "Højslev Stationsby", + "Høng", + "Hørning", + "Hørsholm", + "Høruphav", + "Ikast", + "Ishøj", + "Jelling", + "Juelsminde", + "Jyderup", + "Jyllinge", + "Jægerspris", + "Kalundborg", + "Kibæk", + "Kirke Hvalsø", + "Kjellerup", + "Klarup", + "Kolding", + "Korsør", + "København", + "Køge", + "Kås", + "Langeskov", + "Langå", + "Lillerød", + "Liseleje", + "Lunderskov", + "Lyngby", + "Lynge-Uggeløse", + "Lystrup", + "Løgstør", + "Løgten", + "Løgumkloster", + "Mariager", + "Middelfart", + "Mårslet", + "Nakskov", + "Nexø", + "Nivå", + "Nordby", + "Nyborg", + "Nykøbing F", + "Nykøbing M", + "Næstved", + "Nørre Åby", + "Nørresundby", + "Odder", + "Odense", + "Oksbøl", + "Otterup", + "Padborg", + "Pandrup", + "Præstø", + "Randers", + "Ribe", + "Ringkøbing", + "Ringsted", + "Roskilde", + "Rudersdal", + "Rudkøbing", + "Rødding", + "Rødovre", + "Rønde", + "Rønne", + "Sabro", + "Sakskøbing", + "Sankt Klemens", + "Silkeborg", + "Sindal", + "Skanderborg", + "Skibby", + "Skive", + "Skærbæk", + "Skævinge", + "Skørping", + "Slagelse", + "Smørumnedre", + "Solbjerg", + "Solrød Strand", + "Sorø", + "Stege", + "Stenløse", + "Stoholm", + "Store Heddinge", + "Storvorde", + "Strib", + "Struer", + "Strøby Egede", + "Støvring", + "Sundby", + "Sunds", + "Svejbæk", + "Svendborg", + "Svinninge", + "Svogerslev", + "Sæby", + "Søften", + "Sønderborg", + "Søndersø", + "Tarm", + "Taulov", + "Thisted", + "Thurø By", + "Tinglev", + "Tjæreborg", + "Toftlund", + "Trige", + "Tune", + "Tølløse", + "Tørring", + "Taarbæk", + "Tårnby", + "Taastrup", + "Ullerslev", + "Vallensbæk", + "Vamdrup", + "Varde", + "Vejen", + "Vejle", + "Vestbjerg", + "Vester Hassing", + "Viborg", + "Viby S", + "Videbæk", + "Vildbjerg", + "Vinderup", + "Virklund", + "Vissenbjerg", + "Vodskov", + "Vordingborg", + "Værløse", + "Ølgod", + "Ølstykke", + "Aabenraa", + "Aalborg", + "Aalestrup", + "Aarhus", + "Aars", + "Årslev", + "Aarup", +}); + +const auto denmarkStates = std::to_array({ + "Region Hovedstaden", "Region Midtjylland", "Region Nordjylland", "Region Sjælland", "Region Syddanmark", +}); + +const auto denmarkStreetNames = std::to_array({ + "Agervej", + "Askevej", + "Bakkedraget", + "Bakkegårdsvej", + "Bakkevej", + "Banevænget", + "Birkealle", + "Birkeparken", + "Birkevej", + "Bjergvej", + "Bredgade", + "Carlsmindevej", + "Cedervej", + "Chr. Winthersvej", + "Clematisvej", + "Cypresvej", + "Cypresvænget", + "Dalevej", + "Dalgas Boulevard", + "Dalsvinget", + "Damvej", + "Dronningensgade", + "Dybdalsvej", + "Dyrskuevej", + "Egevej", + "Egholmvej", + "Ejstrupvej", + "Ellevej", + "Elmevej", + "Enevej", + "Engvej", + "Eskebjergvej", + "Fasanvej", + "Fjordvej", + "Fuglevangsvej", + "Fuglevej", + "Fuglsangsvej", + "Fyrretræsvej", + "Fyrrevej", + "Fyrvej", + "Gadekæret", + "Galgebjergvej", + "Gammel Kongevej", + "Gartnervej", + "Gl. Kongevej", + "Granvej", + "Havnevej", + "Hedelundvej", + "Hejrevej", + "Hestehavevej", + "Hovedgaden", + "Højagervej", + "Højvej", + "Idrætsvej", + "Ildervej", + "Industrigade", + "Industrivej", + "Irisvej", + "Islandsvej", + "Jagtvej", + "Jernbanegade", + "Jernbanevej", + "Jupitervej", + "Jydevej", + "Jægergårdsvej", + "Jægervej", + "Kastanievej", + "Kirkegade", + "Klostermarken", + "Klostervej", + "Kornmarken", + "Kærbyvej", + "Kærparken", + "Kærvej", + "Liljens Kvarter", + "Liljevej", + "Lindevej", + "Lunden", + "Lundevej", + "Lyngvej", + "Lærkevej", + "Markvej", + "Mosevej", + "Munkevej", + "Mælkevejen", + "Møllebækvej", + "Møllegade", + "Møllevænget", + "Mågevej", + "Nedre Gade", + "Nordre Strandvej", + "Nordvestpassagen", + "Nygade", + "Nytorv", + "Nyvej", + "Nørrebrogade", + "Nørregade", + "Overgaden", + "Parkvej", + "Pilestræde", + "Pilevej", + "Plantagevej", + "Poppelvej", + "Præstegårdsvej", + "Præstevænget", + "Ravnevej", + "Rosenhaven", + "Rosenvej", + "Rugårdsvej", + "Ryttervej", + "Rævevej", + "Rådhusvej", + "Skolegade", + "Skolestræde", + "Skolevej", + "Skovbrynet", + "Skovvej", + "Slotsvej", + "Solbakken", + "Strandgade", + "Sydvej", + "Sølvgade", + "Søndergade", + "Teglværksvej", + "Tjørnevej", + "Torvet", + "Tranevej", + "Trekanten", + "Troldhøjvej", + "Tulipanvej", + "Tværgade", + "Udsigten", + "Udsigtsbakken", + "Udsigtsvej", + "Ullevej", + "Ulstrupvej", + "Ulvevej", + "Uplandsvej", + "Valmuevej", + "Valnøddevej", + "Vandtårnsvej", + "Ved Stranden", + "Vestergade", + "Vestergårdsvej", + "Vibevej", + "Viborgvej", + "Ørnevej", + "Østerbrogade", + "Østergade", + "Østervang", + "Østre Alle", + "Østre Stationsvej", + "Åbjergvej", + "Åboulevarden", + "Ådalsvej", + "Ågade", + "Åstrupvej", + "Åvænget", +}); + +const std::string_view denmarkZipCodeFormat{"####"}; + +const auto denmarkAddressFormats = std::to_array({ + "{street} {buildingNumber}", + "{street} {buildingNumber} {secondaryAddress}" +}); + +const auto denmarkSecondaryAddressFormats = std::to_array({"#. tv", "#. th"}); + +const auto denmarkBuildingNumberFormats = std::to_array({"#", "##", "###", "##A", "##B"}); + +const auto denmarkStreetFormats = std::to_array({"{streetName}"}); + +const auto denmarkCityFormats = std::to_array({"{cityName}"}); + +const CountryAddressesInfo denmarkAddresses{ + denmarkZipCodeFormat, + (denmarkAddressFormats), + (denmarkSecondaryAddressFormats), + (denmarkStreetFormats), + {}, + (denmarkStreetNames), + {}, + (denmarkBuildingNumberFormats), + (denmarkCityFormats), + {}, + (denmarkCities), + {}, + (denmarkStates), + {} +}; // Estonia -extern const std::array estoniaCities; -extern const std::array estoniaCounties; -extern const std::array estoniaStreetNames; -extern const std::array estoniaStreetSuffixes; -extern const std::array estoniaAddressFormats; -extern const std::array estoniaBuildingNumberFormats; -extern const std::array estoniaStreetFormats; -extern const std::array estoniaCityFormats; -extern const std::string_view estoniaZipCodeFormat; -extern const CountryAddressesInfo estoniaAddresses; +const auto estoniaCities = std::to_array({ + "Tallinn", "Tartu", "Narva", "Pärnu", "Kohtla-Järve", +}); + +const auto estoniaCounties = std::to_array({ + "Harju", "Hiiu", "Ida-Viru", "Jõgeva", "Järva", "Lääne", "Lääne-Viru", "Põlva", + "Pärnu", "Rapla", "Saare", "Tartu", "Valga", "Viljandi", "Võru", +}); + +const auto estoniaStreetNames = std::to_array({ + "Laagna", "Punane", "Paepargi", "Pae", "Peterburi", "Valukoja", "Betooni", "Sõpruse", + "Mustamäe", "Tuisu", "Külmallika", "Tammi", "Koore", "Kuubi", "Okka", "Vaba", + "Tähe", "Õnne", "Aleksandri", "Kalevi", "Turu", "Tähe", "Lina", "Õnne", + "Era", "Vanemuise", "Tiigi", "Tiigi", "Juhan Liivi", "K. A. Hermanni", "Veski", +}); + +const auto estoniaStreetSuffixes = std::to_array({ + "Tänav", "tn", "Tee", "Allee", "Plats", "Käik", "Põik", +}); + +const std::string_view estoniaZipCodeFormat{"#####"}; + +const auto estoniaAddressFormats = std::to_array({"{street} {buildingNumber}"}); + +const auto estoniaBuildingNumberFormats = std::to_array({"###", "##", "#"}); + +const auto estoniaStreetFormats = std::to_array({"{streetName} {streetSuffix}"}); + +const auto estoniaCityFormats = std::to_array({"{cityName}"}); + +const CountryAddressesInfo estoniaAddresses{ + estoniaZipCodeFormat, + (estoniaAddressFormats), + {}, + (estoniaStreetFormats), + {}, + (estoniaStreetNames), + (estoniaStreetSuffixes), + (estoniaBuildingNumberFormats), + (estoniaCityFormats), + {}, + (estoniaCities), + {}, + {}, + (estoniaCounties) +}; // Finland -extern const std::array finlandCities; -extern const std::array finlandStates; -extern const std::array finlandStreetSuffixes; -extern const std::array finlandAddressFormats; -extern const std::array finlandSecondaryAddressFormats; -extern const std::array finlandBuildingNumberFormats; -extern const std::array finlandStreetFormats; -extern const std::array finlandCityFormats; -extern const std::string_view finlandZipCodeFormat; -extern const CountryAddressesInfo finlandAddresses; +const auto finlandCities = std::to_array({ + "Espoo", "Helsinki", "Hyvinkää", "Iisalmi", "Joensuu", "Jyväskylä", "Kokkola", + "Kuopio", "Lahti", "Oulu", "Pori", "Porvoo", "Raisio", "Rovaniemi", + "Sastamala", "Tampere", "Turku", "Vaasa", "Valkeakoski", "Vantaa", +}); + +const auto finlandStates = std::to_array({ + "Ahvenanmaa", "Etelä-Karjala", "Etelä-Pohjanmaa", "Etelä-Savo", "Kainuu", + "Kanta-Häme", "Keski-Pohjanmaa", "Keski-Suomi", "Kymenlaakso", "Lappi", + "Päijät-Häme", "Pirkanmaa", "Pohjanmaa", "Pohjois-Karjala", "Pohjois-Pohjanmaa", + "Pohjois-Savo", "Satakunta", "Uusimaa", "Varsinais-Suomi", +}); + +const auto finlandStreetSuffixes = std::to_array({ + "katu", "tie", "kuja", "polku", "kaari", "linja", "raitti", "rinne", "penger", "ranta", "väylä", +}); + +const std::string_view finlandZipCodeFormat{"#####"}; + +const auto finlandAddressFormats = std::to_array({ + "{street} {buildingNumber}", + "{street} {buildingNumber} {secondaryAddress}" +}); + +const auto finlandSecondaryAddressFormats = std::to_array({ + "A", "B", "C", "A #", "A ##", + "B #", "B ##", "C #", "C ##" +}); + +const auto finlandBuildingNumberFormats = std::to_array({"###", "##", "#"}); + +const auto finlandStreetFormats = std::to_array({"{firstName} {streetSuffix}", "{lastName} {streetSuffix}"}); + +const auto finlandCityFormats = std::to_array({"{cityName}"}); + +const CountryAddressesInfo finlandAddresses{ + finlandZipCodeFormat, + (finlandAddressFormats), + (finlandSecondaryAddressFormats), + (finlandStreetFormats), + {}, + {}, + (finlandStreetSuffixes), + (finlandBuildingNumberFormats), + (finlandCityFormats), + {}, + (finlandCities), + {}, + (finlandStates), + {} +}; // France -extern const std::array franceCities; -extern const std::array franceStates; -extern const std::array franceStreetPrefixes; -extern const std::array franceStreetSuffixes; -extern const std::array franceAddressFormats; -extern const std::array franceBuildingNumberFormats; -extern const std::array franceSecondaryAddressFormats; -extern const std::array franceStreetFormats; -extern const std::array franceCityFormats; -extern const std::string_view franceZipCodeFormat; -extern const CountryAddressesInfo franceAddresses; +const auto franceCities = std::to_array({ + "Abbeville", + "Achères", + "Agde", + "Agen", + "Aix-en-Provence", + "Aix-les-Bains", + "Ajaccio", + "Albertville", + "Albi", + "Alençon", + "Alès", + "Alfortville", + "Asnières-sur-Seine", + "Athis-Mons", + "Aubagne", + "Aubenas", + "Bron", + "Bruay-la-Buissière", + "Bruay-sur-l'Escaut", + "Bruges", + "Brunoy", + "Bruz", + "Bry-sur-Marne", + "Bully-les-Mines", + "Bussy-Saint-Georges", + "Cabestany", + "Cachan", + "Caen", + "Cagnes-sur-Mer", + "Cahors", + "Calais", + "Caluire-et-Cuire", + "Challans", + "Chalon-sur-Saône", + "Châlons-en-Champagne", + "Chamalières", + "Chambéry", + "Chambray-lès-Tours", + "Champigny-sur-Marne", + "Champs-sur-Marne", + "Chanteloup-les-Vignes", + "Chantilly", + "Charenton-le-Pont", + "Charleville-Mézières", + "Chartres", + "Chassieu", + "Château-Gontier-sur-Mayenne", + "Château-Thierry", + "Châteaubriant", + "Cholet", + "Clamart", + "Claye-Souilly", + "Clermont-Ferrand", + "Clichy", + "Dinan", + "Dole", + "Domont", + "Douai", + "Douarnenez", + "Doué-en-Anjou", + "Dourdan", + "Draguignan", + "Drancy", + "Draveil", + "Dreux", + "Ducos", + "Dugny", + "Dumbéa", + "Dunkerque", + "Dzaoudzi", + "Fontainebleau", + "Fontenay-aux-Roses", + "Fontenay-le-Comte", + "Fontenay-le-Fleury", + "Fontenay-sous-Bois", + "Forbach", + "Fort-de-France", + "Fos-sur-Mer", + "Fougères", + "Fourmies", + "Francheville", + "Franconville", + "Fréjus", + "Fresnes", + "Freyming-Merlebach", + "Frontignan", + "Gagny", + "Gaillac", + "Gaillard", + "Gap", + "Garches", + "Gardanne", + "Garges-lès-Gonesse", + "Genas", + "Gennevilliers", + "Gentilly", + "Gerzat", + "Gex", + "Gien", + "Gif-sur-Yvette", + "Héricourt", + "Hérouville-Saint-Clair", + "Hœnheim", + "Houilles", + "Hyères", + "Ifs", + "Illkirch-Graffenstaden", + "Illzach", + "Issoire", + "Issoudun", + "Issy-les-Moulineaux", + "Istres", + "Ivry-sur-Seine", + "Jeumont", + "Joinville-le-Pont", + "Joué-lès-Tours", + "Jouy-le-Moutier", + "Juvignac", + "Juvisy-sur-Orge", + "Kingersheim", + "Lanester", + "Lannion", + "Laon", + "Lattes", + "Laval", + "Lavaur", + "Libourne", + "Lieusaint", + "Liévin", + "Lille", + "Limay", + "Limeil-Brévannes", + "Limoges", + "Lingolsheim", + "Lisieux", + "Livry-Gargan", + "Lognes", + "Loire-Authion", + "Longjumeau", + "Longuenesse", + "Longwy", + "Lons", + "Lons-le-Saunier", + "Loos", + "Lorient", + "Lormont", + "Lourdes", + "Louviers", + "Louvres", + "Lucé", + "Lunel", + "Lunéville", + "Lyon", + "Lys-lez-Lannoy", + "Mâcon", + "Macouria", + "Mahina", + "Mainvilliers", + "Maisons-Alfort", + "Maisons-Laffitte", + "Maizières-lès-Metz", + "Malakoff", + "Mamoudzou", + "Mana", + "Mandelieu-la-Napoule", + "Manosque", + "Mantes-la-Jolie", + "Mantes-la-Ville", + "Marck", + "Marcq-en-Barœul", + "Marignane", + "Marly", + "Marly-le-Roi", + "Marmande", + "Maromme", + "Marquette-lez-Lille", + "Marseille", + "Martigues", + "Massy", + "Matoury", + "Maubeuge", + "Mauges-sur-Loire", + "Mauguio", + "Maurepas", + "Mayenne", + "Meaux", + "Melun", + "Mende", + "Mennecy", + "Menton", + "Méricourt", + "Montauban", + "Montbéliard", + "Montbrison", + "Montceau-les-Mines", + "Montélimar", + "Montereau-Fault-Yonne", + "Montesson", + "Monteux", + "Moorea-Maiao", + "Morangis", + "Moret-Loing-et-Orvanne", + "Morlaix", + "Morne-à-l'Eau", + "Morsang-sur-Orge", + "Mougins", + "Moulins", + "Mouvaux", + "Mulhouse", + "Muret", + "Nancy", + "Ollioules", + "Oloron-Sainte-Marie", + "Onet-le-Château", + "Orange", + "Orée d'Anjou", + "Orléans", + "Orly", + "Ormesson-sur-Marne", + "Papeete", + "Paris", + "Passy", + "Pau", + "Pélissanne", + "Périgueux", + "Pernes-les-Fontaines", + "Perpignan", + "Persan", + "Pertuis", + "Poitiers", + "Pont-Saint-Esprit", + "Pont-Sainte-Maxence", + "Pont-à-Mousson", + "Pont-du-Château", + "Pontarlier", + "Pontault-Combault", + "Pontchâteau", + "Remire-Montjoly", + "Rennes", + "Rezé", + "Riedisheim", + "Rillieux-la-Pape", + "Royan", + "Rueil-Malmaison", + "Rumilly", + "Sablé-sur-Sarthe", + "Sada", + "Saint-Amand-les-Eaux", + "Saint-André", + "Saint-André-de-Cubzac", + "Saint-André-les-Vergers", + "Saint-André-lez-Lille", + "Saint-Avé", + "Saint-Avertin", + "Saint-Avold", + "Sens", + "Septèmes-les-Vallons", + "Sète", + "Sevran", + "Tarnos", + "Tassin-la-Demi-Lune", + "Taverny", + "Tergnier", + "Thiais", + "Thiers", + "Thionville", + "Thonon-les-Bains", + "Thorigny-sur-Marne", + "Thouaré-sur-Loire", + "Thouars", + "Tinqueux", + "Torcy", + "Toul", + "Toulon", + "Toulouse", + "Tourcoing", + "Tournefeuille", + "Tournon-sur-Rhône", + "Tours", + "Trappes", + "Trélazé", + "Tremblay-en-France", + "Trets", + "Triel-sur-Seine", + "Troyes", + "Vauréal", + "Vauvert", + "Vaux-le-Pénil", + "Vedène", + "Vélizy-Villacoublay", + "Villeurbanne", + "Villiers-le-Bel", + "Villiers-sur-Marne", + "Vincennes", + "Vire Normandie", + "Viroflay", + "Viry-Châtillon", + "Vitré", + "Vitrolles", + "Vitry-le-François", + "Vitry-sur-Seine", + "Voiron", + "Voisins-le-Bretonneux", + "Wambrechies", + "Wasquehal", + "Wattignies", + "Wattrelos", + "Wittelsheim", + "Wittenheim", + "Woippy", + "Yerres", + "Yutz", + "Yvetot", +}); + +const auto franceStates = std::to_array({ + "Alsace", + "Aquitaine", + "Auvergne", + "Basse-Normandie", + "Bourgogne", + "Bretagne", + "Centre", + "Champagne-Ardenne", + "Corse", + "Franche-Comté", + "Haute-Normandie", + "Île-de-France", + "Languedoc-Roussillon", + "Limousin", + "Lorraine", + "Midi-Pyrénées", + "Nord-Pas-de-Calais", + "Pays de la Loire", + "Picardie", + "Poitou-Charentes", + "Provence-Alpes-Côte d\"Azur", + "Rhône-Alpes", +}); + +const auto franceStreetPrefixes = std::to_array({ + "allée", "voie", "rue", "avenue", "boulevard", "quai", "passage", "impasse", "place", "chemin", "lotissement" +}); + +const auto franceStreetSuffixes = std::to_array({ + "du Faubourg Saint-Honoré", "de Montmorency", "de Solférino", "de la Pompe", "de Rivoli", "de Paris", + "du Faubourg-Saint-Denis", "de la Huchette", "Saint-Honoré", "Pastourelle", "Oberkampf", "d'Alésia", + "de la Chaussée-d'Antin", "de la Bûcherie", "de Richelieu", "Montorgueil", "Delesseux", "Zadkine", + "des Grands Augustins", "des Saussaies", "de Presbourg", "de la Harpe", "Bonaparte", "d'Orsel", + "des Francs-Bourgeois", "Saint-Séverin", "des Lombards", "Charlemagne", "La Boétie", "Molière", + "Monsieur-le-Prince", "Saint-Jacques", "de Caumartin", "de l'Abbaye", "de Seine", "Joubert", + "de la Ferronnerie", "Saint-Bernard", "d'Argenteuil", "de Tilsitt", "de Nesle", "d'Assas", + "du Chat-qui-Pêche", "des Panoramas", "Saint-Denis", "de la Paix", "Marcadet", "Vaneau", + "Saint-Dominique", "Adolphe Mille", "d'Abbeville", "de l'Odéon", "Laffitte", "Royale", + "de la Victoire", "de Vaugirard", "des Rosiers", "Mouffetard", "du Havre", "du Bac", + "Pierre Charron", "Du Sommerard", "de Provence", "du Dahomey", "Dauphine", "Lepic" +}); + +const std::string_view franceZipCodeFormat{"#####"}; + +const auto franceAddressFormats = std::to_array({"{buildingNumber} {street}"}); + +const auto franceBuildingNumberFormats = std::to_array({"####", "###", "##", "#"}); + +const auto franceSecondaryAddressFormats = std::to_array({"Apt. ###", "Étage #"}); + +const auto franceStreetFormats = std::to_array({"{streetPrefix} {streetSuffix}"}); + +const auto franceCityFormats = std::to_array({"{cityName}"}); + +const CountryAddressesInfo franceAddresses{ + franceZipCodeFormat, + (franceAddressFormats), + (franceSecondaryAddressFormats), + (franceStreetFormats), + (franceStreetPrefixes), + {}, + (franceStreetSuffixes), + (franceBuildingNumberFormats), + (franceCityFormats), + {}, + (franceCities), + {}, + (franceStates), + {} +}; // Germany -extern const std::array germanyCities; -extern const std::array germanyStates; -extern const std::array germanyStreetNames; -extern const std::array germanyAddressFormats; -extern const std::array germanySecondaryAddressFormats; -extern const std::array germanyBuildingNumberFormats; -extern const std::array germanyStreetFormats; -extern const std::array germanyCityFormats; -extern const std::string_view germanyZipCodeFormat; -extern const CountryAddressesInfo germanyAddresses; +const auto germanyCities = std::to_array({ + "Aachen", + "Aalen", + "Ahlen", + "Arnsberg", + "Aschaffenburg", + "Augsburg", + "Bad Homburg vor der Höhe", + "Bad Kreuznach", + "Bad Oeynhausen", + "Bad Salzuflen", + "Baden-Baden", + "Bamberg", + "Bayreuth", + "Bergheim", + "Bergisch Gladbach", + "Berlin", + "Bielefeld", + "Böblingen", + "Bocholt", + "Bochum", + "Bonn", + "Bottrop", + "Brandenburg an der Havel", + "Braunschweig", + "Bremen", + "Bremerhaven", + "Castrop-Rauxel", + "Celle", + "Chemnitz", + "Cottbus", + "Darmstadt", + "Delmenhorst", + "Dessau-Roßlau", + "Detmold", + "Dinslaken", + "Dormagen", + "Dorsten", + "Dortmund", + "Dresden", + "Duisburg", + "Düren", + "Düsseldorf", + "Elmshorn", + "Emden", + "Erftstadt", + "Erfurt", + "Erlangen", + "Eschweiler", + "Essen", + "Esslingen am Neckar", + "Euskirchen", + "Flensburg", + "Frankfurt (Oder)", + "Frankfurt am Main", + "Frechen", + "Freiburg im Breisgau", + "Friedrichshafen", + "Fulda", + "Fürth", + "Garbsen", + "Gelsenkirchen", + "Gera", + "Gießen", + "Gladbeck", + "Göppingen", + "Görlitz", + "Goslar", + "Göttingen", + "Greifswald", + "Grevenbroich", + "Gronau (Westf.)", + "Gummersbach", + "Gütersloh", + "Hagen", + "Halle (Saale)", + "Hamburg", + "Hameln", + "Hamm", + "Hanau", + "Hannover", + "Hattingen", + "Heidelberg", + "Heidenheim an der Brenz", + "Heilbronn", + "Herford", + "Herne", + "Herten", + "Hilden", + "Hildesheim", + "Hürth", + "Ibbenbüren", + "Ingolstadt", + "Iserlohn", + "Jena", + "Kaiserslautern", + "Karlsruhe", + "Kassel", + "Kempten (Allgäu)", + "Kerpen", + "Kiel", + "Kleve", + "Koblenz", + "Köln", + "Konstanz", + "Krefeld", + "Landshut", + "Langenfeld (Rheinland)", + "Langenhagen", + "Leipzig", + "Leonberg", + "Leverkusen", + "Lingen (Ems)", + "Lippstadt", + "Lörrach", + "Lübeck", + "Lüdenscheid", + "Ludwigsburg", + "Ludwigshafen am Rhein", + "Lüneburg", + "Lünen", + "Magdeburg", + "Mainz", + "Mannheim", + "Marburg", + "Marl", + "Meerbusch", + "Menden (Sauerland)", + "Minden", + "Moers", + "Mönchengladbach", + "Mülheim an der Ruhr", + "München", + "Münster", + "Neu-Ulm", + "Neubrandenburg", + "Neumünster", + "Neuss", + "Neustadt an der Weinstraße", + "Neuwied", + "Norderstedt", + "Nordhorn", + "Nürnberg", + "Oberhausen", + "Offenbach am Main", + "Offenburg", + "Oldenburg (Oldenburg)", + "Osnabrück", + "Paderborn", + "Passau", + "Peine", + "Pforzheim", + "Plauen", + "Potsdam", + "Pulheim", + "Rastatt", + "Ratingen", + "Ravensburg", + "Recklinghausen", + "Regensburg", + "Remscheid", + "Reutlingen", + "Rheine", + "Rosenheim", + "Rostock", + "Rüsselsheim am Main", + "Saarbrücken", + "Salzgitter", + "Sankt Augustin", + "Schwäbisch Gmünd", + "Schweinfurt", + "Schwerin", + "Siegen", + "Sindelfingen", + "Solingen", + "Speyer", + "Stolberg (Rheinland)", + "Stralsund", + "Stuttgart", + "Trier", + "Troisdorf", + "Tübingen", + "Ulm", + "Unna", + "Velbert", + "Viersen", + "Villingen-Schwenningen", + "Waiblingen", + "Weimar", + "Wesel", + "Wetzlar", + "Wiesbaden", + "Wilhelmshaven", + "Willich", + "Witten", + "Wolfenbüttel", + "Wolfsburg", + "Worms", + "Wuppertal", + "Würzburg", + "Zwickau", +}); + +const auto germanyStates = std::to_array({ + "Baden-Württemberg", + "Bayern", + "Berlin", + "Brandenburg", + "Bremen", + "Hamburg", + "Hessen", + "Mecklenburg-Vorpommern", + "Niedersachsen", + "Nordrhein-Westfalen", + "Rheinland-Pfalz", + "Saarland", + "Sachsen", + "Sachsen-Anhalt", + "Schleswig-Holstein", + "Thüringen", +}); + +const auto germanyStreetNames = std::to_array({ + "Ackerweg", + "Adalbert-Stifter-Str.", + "Brandenburger Str.", + "Breidenbachstr.", + "Breslauer Str.", + "Bruchhauser Str.", + "Brückenstr.", + "Brucknerstr.", + "Brüder-Bonhoeffer-Str.", + "Buchenweg", + "Bürgerbuschweg", + "Burgloch", + "Burgplatz", + "Burgstr.", + "Burgweg", + "Bürriger Weg", + "Burscheider Str.", + "Buschkämpchen", + "Butterheider Str.", + "Carl-Duisberg-Platz", + "Carl-Duisberg-Str.", + "Carl-Leverkus-Str.", + "Carl-Maria-von-Weber-Platz", + "Cranachstr.", + "Dahlemer Str.", + "Daimlerstr.", + "Damaschkestr.", + "Danziger Str.", + "Debengasse", + "Dechant-Fein-Str.", + "Dechant-Krey-Str.", + "Deichtorstr.", + "Dhünnberg", + "Dhünnstr.", + "Dianastr.", + "Diedenhofener Str.", + "Diepental", + "Diepenthaler Str.", + "Dieselstr.", + "Dillinger Str.", + "Distelkamp", + "Dohrgasse", + "Domblick", + "Dönhoffstr.", + "Dornierstr.", + "Drachenfelsstr.", + "Dr.-August-Blank-Str.", + "Dresdener Str.", + "Driescher Hecke", + "Emil-Fischer-Str.", + "Emil-Nolde-Str.", + "Engelbertstr.", + "Engstenberger Weg", + "Entenpfuhl", + "Erbelegasse", + "Erftstr.", + "Erfurter Str.", + "Fichtenweg", + "Fichtestr.", + "Finkelsteinstr.", + "Finkenweg", + "Fixheider Str.", + "Flabbenhäuschen", + "Flensburger Str.", + "Fliederweg", + "Florastr.", + "Florianweg", + "Flotowstr.", + "Flurstr.", + "Föhrenweg", + "Fontanestr.", + "Forellental", + "Fortunastr.", + "Friedrich-Naumann-Str.", + "Friedrich-Sertürner-Str.", + "Friedrichstr.", + "Friedrich-Weskott-Str.", + "Görlitzer Str.", + "Görresstr.", + "Graebestr.", + "Graf-Galen-Platz", + "Gregor-Mendel-Str.", + "Greifswalder Str.", + "Grillenweg", + "Gronenborner Weg", + "Große Kirchstr.", + "Grunder Wiesen", + "Grundermühle", + "Grundermühlenhof", + "Grundermühlenweg", + "Grüner Weg", + "Grunewaldstr.", + "Grünstr.", + "Günther-Weisenborn-Str.", + "Gustav-Freytag-Str.", + "Gustav-Heinemann-Str.", + "Gustav-Radbruch-Str.", + "Gut Reuschenberg", + "Hannah-Höch-Str.", + "Hans-Arp-Str.", + "Heckenweg", + "Heerweg", + "Hegelstr.", + "Heidberg", + "Heidehöhe", + "Heidestr.", + "Heimstättenweg", + "Jenaer Str.", + "Johannes-Baptist-Str.", + "Johannes-Dott-Str.", + "Johannes-Popitz-Str.", + "Johannes-Wislicenus-Str.", + "Johannisburger Str.", + "Johann-Janssen-Str.", + "Johann-Wirtz-Weg", + "Josefstr.", + "Jüch", + "Julius-Doms-Str.", + "Julius-Leber-Str.", + "Kaiserplatz", + "Kaiserstr.", + "Kaiser-Wilhelm-Allee", + "Kalkstr.", + "Kämpchenstr.", + "Kämpenwiese", + "Kämper Weg", + "Kamptalweg", + "Kanalstr.", + "Kandinskystr.", + "Kantstr.", + "Kocherstr.", + "Kockelsberg", + "Kolberger Str.", + "Kolmarer Str.", + "Kölner Gasse", + "Kölner Str.", + "Kurt-Schumacher-Ring", + "Kyllstr.", + "Langenfelder Str.", + "Längsleimbach", + "Lärchenweg", + "Legienstr.", + "Lehner Mühle", + "Leichlinger Str.", + "Mauspfad", + "Max-Beckmann-Str.", + "Max-Delbrück-Str.", + "Max-Ernst-Str.", + "Max-Holthausen-Platz", + "Max-Horkheimer-Str.", + "Max-Liebermann-Str.", + "Max-Pechstein-Str.", + "Max-Planck-Str.", + "Max-Scheler-Str.", + "Max-Schönenberg-Str.", + "Maybachstr.", + "Meckhofer Feld", + "Meisenweg", + "Memelstr.", + "Muldestr.", + "Mülhausener Str.", + "Mülheimer Str.", + "Münsters Gäßchen", + "Münzstr.", + "Müritzstr.", + "Myliusstr.", + "Nachtigallenweg", + "Nauener Str.", + "Ober dem Hof", + "Obere Lindenstr.", + "Obere Str.", + "Oberölbach", + "Odenthaler Str.", + "Oderstr.", + "Okerstr.", + "Olof-Palme-Str.", + "Ophovener Str.", + "Opladener Platz", + "Parkstr.", + "Pastor-Louis-Str.", + "Pastor-Scheibler-Str.", + "Pastorskamp", + "Paul-Klee-Str.", + "Paul-Löbe-Str.", + "Paulstr.", + "Peenestr.", + "Pescher Busch", + "Peschstr.", + "Pestalozzistr.", + "Peter-Grieß-Str.", + "Peter-Joseph-Lenné-Str.", + "Pregelstr.", + "Prießnitzstr.", + "Pützdelle", + "Quarzstr.", + "Quettinger Str.", + "Rat-Deycks-Str.", + "Rathenaustr.", + "Ratherkämp", + "Ratiborer Str.", + "Raushofstr.", + "Regensburger Str.", + "Reinickendorfer Str.", + "Renkgasse", + "Rennbaumplatz", + "Rennbaumstr.", + "Reuschenberger Str.", + "Röntgenstr.", + "Roonstr.", + "Ropenstall", + "Ropenstaller Weg", + "Rosenthal", + "Rostocker Str.", + "Rotdornweg", + "Röttgerweg", + "Rückertstr.", + "Rudolf-Breitscheid-Str.", + "Rudolf-Mann-Platz", + "Rudolf-Stracke-Str.", + "Ruhlachplatz", + "Steinweg", + "Stephan-Lochner-Str.", + "Stephanusstr.", + "Stettiner Str.", + "Stixchesstr.", + "Stöckenstr.", + "Stralsunder Str.", + "Straßburger Str.", + "Stresemannplatz", + "Uhlandstr.", + "Ulmenweg", + "Ulmer Str.", + "Ulrichstr.", + "Ulrich-von-Hassell-Str.", + "Umlag", + "Unstrutstr.", + "Unter dem Schildchen", + "Unterölbach", + "Unterstr.", + "Uppersberg", + "Van't-Hoff-Str.", + "Veit-Stoß-Str.", + "Vereinsstr.", + "Viktor-Meyer-Str.", + "Vincent-van-Gogh-Str.", + "Virchowstr.", + "Voigtslach", + "Weizkamp", + "Werftstr.", + "Werkstättenstr.", + "Werner-Heisenberg-Str.", + "Werrastr.", + "Weyerweg", + "Widdauener Str.", + "Wiebertshof", + "Wiehbachtal", + "Wiembachallee", + "Wiesdorfer Platz", + "Wiesenstr.", + "Wilhelm-Busch-Str.", + "Zauberkuhle", + "Zedernweg", + "Zehlendorfer Str.", + "Zehntenweg", + "Zeisigweg", + "Zeppelinstr.", + "Zschopaustr.", + "Zum Claashäuschen", + "Zündhütchenweg", + "Zur Alten Brauerei", + "Zur alten Fabrik", +}); + +const std::string_view germanyZipCodeFormat{"#####"}; + +const auto germanyAddressFormats = std::to_array({ + "{street} {buildingNumber}", + "{street} {buildingNumber} {secondaryAddress}" +}); + +const auto germanySecondaryAddressFormats = std::to_array({"Apt. ###", "Zimmer ###", "# OG"}); + +const auto germanyBuildingNumberFormats = std::to_array({"###", "##", "#", "##a", "##b", "##c"}); + +const auto germanyStreetFormats = std::to_array({"{streetName}"}); + +const auto germanyCityFormats = std::to_array({"{cityName}"}); + +const CountryAddressesInfo germanyAddresses{ + germanyZipCodeFormat, + (germanyAddressFormats), + (germanySecondaryAddressFormats), + (germanyStreetFormats), + {}, + (germanyStreetNames), + {}, + (germanyBuildingNumberFormats), + (germanyCityFormats), + {}, + (germanyCities), + {}, + (germanyStates), + {} +}; // India -extern const std::array indiaCities; -extern const std::array indiaStates; -extern const std::array indiaStreetSuffixes; -extern const std::array indiaAddressFormats; -extern const std::array indiaSecondaryAddressFormats; -extern const std::array indiaBuildingNumberFormats; -extern const std::array indiaStreetFormats; -extern const std::array indiaCityFormats; -extern const std::string_view indiaZipCodeFormat; -extern const CountryAddressesInfo indiaAddresses; +const auto indiaCities = std::to_array({ + "Achalpur", + "Achhnera", + "Adalaj", + "Adilabad", + "Adityapur", + "Adoni", + "Adoor", + "Adra", + "Adyar", + "Ankleshwar", + "Arakkonam", + "Arambagh", + "Araria", + "Arrah", + "Arsikere", + "Aruppukkottai", + "Arvi", + "Arwal", + "Asansol", + "Asarganj", + "Ashok Nagar", + "Athni", + "Dalli-Rajhara", + "Darbhanga", + "Darjiling", + "Imphal", + "Indore", + "Itarsi", + "Jharsuguda", + "Kodungallur", + "Kohima", + "Kolar", + "Kolkata", + "Ladwa", + "Lahar", + "Laharpur", + "Lakheri", + "Lakhimpur", + "Lakhisarai", + "Lakshmeshwar", + "Lal Gopalganj Nindaura", + "Lalganj", + "Lalgudi", + "Lalitpur", + "Lalsot", + "Lanka", + "Lar", + "Madikeri", + "Madurai", + "Magadi", + "Mahad", + "Mahalingapura", + "Maharajganj", + "Maharajpur", + "Mahasamund", + "Mahbubnagar", + "Mahe", + "Mahemdabad", + "Mahendragarh", + "Mahesana", + "Mahidpur", + "Mahnar Bazar", + "Mahuva", + "Maihar", + "Narkhed", + "Nokha", + "Paradip", + "Paramakudi", + "Parangipettai", + "Parasi", + "Paravoor", + "Parbhani", + "Pardi", + "Parlakhemundi", + "Parli", + "Partur", + "Parvathipuram", + "Pasan", + "Pauni", + "Pauri", + "Pavagada", + "Pedana", + "Peddapuram", + "Pulgaon", + "Puliyankudi", + "Punalur", + "Punch", + "Raghunathganj", + "Raghunathpur", + "Rahatgarh", + "Rahuri", + "Raiganj", + "Raigarh", + "Raikot", + "Raipur", + "Rehli", + "Renigunta", + "Renukoot", + "Reoti", + "Repalle", + "Revelganj", + "Rewa", + "Rewari", + "Rishikesh", + "Risod", + "Robertsganj", + "Robertson Pet", + "Rohtak", + "Ron", + "Roorkee", + "Rosera", + "Rudauli", + "Rudrapur", + "Rupnagar", + "Sabalgarh", + "Salaya", + "Salem", + "Salur", + "Samalkha", + "Samalkot", + "Samana", + "Samastipur", + "Sambalpur", + "Sambhal", + "Sambhar", + "Samdhan", + "Samthar", + "Sanand", + "Sardhana", + "Sarni", + "Sarsod", + "Sasaram", + "Sasvad", + "Satana", + "Satara", + "Sathyamangalam", + "Satna", + "Sattenapalle", + "Sattur", + "Saunda", + "Saundatti-Yellamma", + "Sausar", + "Savanur", + "Savarkundla", + "Savner", + "Sawai Madhopur", + "Sawantwadi", + "Sedam", + "Sherghati", + "Sherkot", + "Shiggaon", + "Shikaripur", + "Shikarpur, Bulandshahr", + "Shikohabad", + "Shillong", + "Shimla", + "Shirdi", + "Shirpur-Warwade", + "Shirur", + "Shishgarh", + "Sindagi", + "Sindhagi", + "Sindhnur", + "Singrauli", + "Sinnar", + "Sira", + "Sircilla", + "Sirhind Fatehgarh Sahib", + "Sirkali", + "Sirohi", + "Sironj", + "Sirsa", + "Sirsaganj", + "Sirsi", + "Siruguppa", + "Sitamarhi", + "Sitapur", + "Sitarganj", + "Sivaganga", + "Sivagiri", + "Sivakasi", + "Sundargarh", + "Sundarnagar", + "Supaul", + "Surandai", + "Surapura", + "Surat", + "Suratgarh", + "Tarana", + "Taranagar", + "Taraori", + "Tarbha", + "Tarikere", + "Tarn Taran", + "Tasgaon", + "Tehri", + "Tekkalakote", + "Tenali", + "Tenkasi", + "Tenu dam-cum-Kathhara", + "Terdal", + "Tezpur", + "Thakurdwara", + "Thammampatti", + "Thana Bhawan", + "Thrissur", + "Thuraiyur", + "Tikamgarh", + "Tilda Newra", + "Tilhar", + "Tindivanam", + "Tinsukia", + "Tiptur", + "Tirora", + "Tiruchendur", + "Tiruchengode", + "Tiruchirappalli", + "Warisaliganj", + "Warora", + "Warud", + "Zunheboto", +}); + +const auto indiaStates = std::to_array({ + "Andaman and Nicobar Islands", + "Andra Pradesh", + "Arunachal Pradesh", + "Assam", + "Bihar", + "Chandigarh", + "Chhattisgarh", + "Dadar and Nagar Haveli", + "Daman and Diu", + "Delhi", + "Goa", + "Gujarat", + "Haryana", + "Himachal Pradesh", + "Jammu and Kashmir", + "Jharkhand", + "Karnataka", + "Kerala", + "Lakshadweep", + "Madya Pradesh", + "Maharashtra", + "Manipur", + "Meghalaya", + "Mizoram", + "Nagaland", + "Odisha", + "Pondicherr", + "Punjab", + "Rajasthan", + "Sikkim", + "Tamil Nadu", + "Telangana", + "Tripura", + "Uttar Pradesh", + "Uttarakhand", + "West Bengal", +}); + +const auto indiaStreetSuffixes = std::to_array({ + "Pur", "Puri", "Halli", "Wadi", "Nagar", "Abad", "Palle", "Pura", "Patti", + "Uru", "Oor", "Gaon", "Puram", "Ong", "Street", "Park", "Radial", "Junction", + "Cove", "Hollow", "Rapids", "Cheri", "Road", "Padra", "Nagara", "Athani", "Ridges", + "Skyway", "Crossing", "Plains", "Parkway", "Points", "Falls", "Brooks", "Theru", +}); + +const std::string_view indiaZipCodeFormat{"######"}; + +const auto indiaAddressFormats = std::to_array({"{buildingNumber} {street}"}); + +const auto indiaSecondaryAddressFormats = std::to_array({"Apt. ###", "Flat ###"}); + +const auto indiaBuildingNumberFormats = std::to_array({"#####", "####", "###"}); + +const auto indiaStreetFormats = std::to_array({"{firstName} {streetSuffix}", "{lastName} {streetSuffix}"}); + +const auto indiaCityFormats = std::to_array({"{cityName}"}); + +const CountryAddressesInfo indiaAddresses{ + indiaZipCodeFormat, + (indiaAddressFormats), + (indiaSecondaryAddressFormats), + (indiaStreetFormats), + {}, + {}, + (indiaStreetSuffixes), + (indiaBuildingNumberFormats), + (indiaCityFormats), + {}, + (indiaCities), + {}, + (indiaStates), + {} +}; // Italy -extern const std::array italyCities; -extern const std::array italyStates; -extern const std::array italyStreetPrefixes; -extern const std::array italyAddressFormats; -extern const std::array italySecondaryAddressFormats; -extern const std::array italyBuildingNumberFormats; -extern const std::array italyStreetFormats; -extern const std::array italyCityFormats; -extern const std::string_view italyZipCodeFormat; -extern const CountryAddressesInfo italyAddresses; +const auto italyCities = std::to_array({ + "Agliè", "Andezeno", "Barbania", "Brosso", "Buriasco", "Caluso", "Cantoira", + "Carmagnola", "Cavour", "Chiaverano", "Ciconio", "Coazze", "Cumiana", "Feletto", + "Front", "Giaveno", "Grugliasco", "Lauriano", "Locana", "Lusigliè", "Mathi", + "Mompantero", "Nichelino", "Novalesa", "Oulx", "Perrero", "Pinerolo", "Pomaretto", + "Pramollo", "Quassolo", "Rivara", "Rondissone", "Rueglio", "Santena", "Sparone", + "Usseaux", "Varisella", "Vidracco", "Vinovo", "Volvera", "Balocco", "Campertogno", + "Cervatto", "Cravagliana", "Formigliana", "Lamporo", "Moncrivello", "Pila", "Rassa", + "Rossa", "Scopa", "Valduggia", "Vocca", "Biandrate", "Briona", "Comignago", + "Galliate", "Invorio", "Mezzomerico", "Pisano", "Sillavengo", "Terdobbiate", "Vinzaglio", + "Alto", "Barge", "Benevello", "Bosia", "Brondello", "Canosio", "Cartignano", + "Castino", "Cervere", "Clavesana", "Demonte", "Envie", "Frassino", "Gorzegno", + "Isasca", "Macra", "Marmora", "Montanera", "Murello", "Nucetto", "Pagno", + "Peveragno", "Pocapaglia", "Revello", "Robilante", "Roddi", "Saliceto", "Sanfrè", + "Sinio", "Treiso", "Venasca", "Vignolo", "Albugnano", "Bruno", "Canelli", + "Castell'Alfero", "Coazzolo", "Cortazzone", "Fontanile", "Maretto", "Monale", "Quaranti", + "Scurzolengo", "Tigliole", "Viale", "Balzola", "Bosio", "Carezzano", "Casasco", + "Cereseto", "Dernice", "Frugarolo", "Giarole", "Lerma", "Molare", "Montaldeo", + "Mornese", "Ottiglio", "Pasturana", "Prasco", "Rivarone", "Solero", "Terruggia", + "Trisobbio", "Villalvernia", "Bioglio", "Camburzano", "Cerrione", "Donato", "Magnano", + "Mottalciata", "Piedicavallo", "Pray", "Tollegno", "Verrone", "Lessona", "Baceno", + "Bognanco", "Caprezzo", "Crodo", "Ghiffa", "Macugnaga", "Miazzina", "Omegna", + "Premia", "Trasquera", "Allein", "Avise", "Brissogne", "Chamois", "Cogne", + "Etroubles", "Gressan", "Issime", "Morgex", "Barni", "Bregnano", "Cabiate", + "Carbonate", "Cavargna", "Dizzasco", "Faloppio", "Guanzate", "Lasnigo", "Luisago", + "Moltrasio", "Musso", "Pigra", "Pusiano", "Nosate", "Pantigliate", "Rescaldina", + "Sedriano", "Tribiano", "Vignate", "Albino", "Ardesio", "Barbata", "Bossico", + "Brumano", "Capizzone", "Cerete", "Colzate", "Cusio", "Fontanella", "Gandosso", + "Gorno", "Lallio", "Martinengo", "Mozzo", "Pagazzano", "Parzanica", "Piazzatorre", + "Pradalunga", "Ranica", "Rovetta", "Selvino", "Sovere", "Taleggio", "Valbondione", + "Valtorta", "Viadanica", "Zogno", "Acquafredda", "Artogne", "Berlingo", "Botticino", + "Breno", "Calvisano", "Castelcovati", "Cellatica", "Cigole", "Cologne", "Edolo", + "Gambara", "Gottolengo", "Iseo", "Lograto", "Maclodio", "Manerbio", "Milzano", + "Muscoline", "Odolo", "Ospitaletto", "Passirano", "Retorbido", "Rosasco", "Sommo", + "Vidigulfo", "Zerbo", "Azzanello", "Capergnanica", "Castelleone", "Crema", "Fiesco", + "Grontardo", "Montodine", "Pandino", "Ricengo", "Soresina", "Tornata", "Voltido", + "Casalromano", "Commessaggio", "Gonzaga", "Marmirolo", "Ostiglia", "Quistello", "Sabbioneta", + "Viadana", "Barzago", "Bulciago", "Casatenovo", "Cremeno", "Erve", "Merate", + "Morterone", "Pagnona", "Premana", "Sirtori", "Valmadrera", "Codogno", "Galgagnano", + "Maccastorna", "Meleti", "Sordio", "Barlassina", "Briosco", "Concorezzo", "Lesmo", + "Stelvio", "Tirolo", "Vandoies", "Vipiteno", "Andalo", "Bieno", "Caldes", + "Capriana", "Cavareno", "Cis", "Dambel", "Fierozzo", "Giustino", "Lavis", + "Massimeno", "Mezzolombardo", "Nogaredo", "Pinzolo", "Altissimo", "Breganze", "Caltrano", + "Castegnero", "Creazzo", "Gallio", "Longare", "Montegaldella", "Orgiano", "Roana", + "Santorso", "Solagna", "Trissino", "Villaverla", "Valbrenta", "Gosaldo", "Sospirolo", + "Casier", "Codognè", "Fontanelle", "Loria", "Montebelluna", "Paese", "Preganziol", + "Sarmede", "Vedelago", "Cavarzere", "Eraclea", "Martellago", "Pianiga", "Spinea", + "Comeglians", "Enemonzo", "Grimacco", "Mortegliano", "Pagnacco", "Pontebba", "Premariacco", + "Ravascletto", "Rigolato", "Sedegliano", "Talmassons", "Torreano", "Varmo", "Sappada", + "Monfalcone", "Turriaco", "Brugnera", "Claut", "Fontanafredda", "Porcia", "Spilimbergo", + "Airole", "Bajardo", "Castellaro", "Chiusavecchia", "Dolcedo", "Ospedaletti", "Pontedassio", + "Sanremo", "Triora", "Vessalico", "Arnasco", "Bormida", "Ceriale", "Giustenice", + "Mallare", "Nasino", "Pallare", "Roccavignale", "Stellanello", "Vendone", "Bogliasco", + "Palanzano", "Terenzo", "Varsi", "Brescello", "Castellarano", "Gattatico", "Poviglio", + "Toano", "Bomporto", "Fanano", "Maranello", "Montefiorino", "Polinago", "Sestola", + "Argelato", "Camugnano", "Fontanelice", "Marzabotto", "Valsamoggia", "Comacchio", "Tresignana", + "Conselice", "Cesena", "Modigliana", "Sarsina", "Gemmano", "Saludecio", "Pennabilli", + "Comano", "Montignoso", "Zeri", "Capannori", "Massarosa", "Pietrasanta", "Agliana", + "Montale", "Uzzano", "Empoli", "Impruneta", "Pelago", "Signa", "Capoliveri", + "Piombino", "Bientina", "Cascina", "Montescudaio", "Ponsacco", "Vicopisano", "Bucine", + "Lucignano", "Monteriggioni", "Poggibonsi", "Sinalunga", "Campagnatico", "Gavorrano", "Pitigliano", + "Montemurlo", "Bettona", "Collazzone", "Gubbio", "Norcia", +}); + +const auto italyStates = std::to_array({ + "Agrigento", + "Alessandria", + "Ancona", + "Aosta", + "Arezzo", + "Ascoli Piceno", + "Asti", + "Avellino", + "Bari", + "Barletta-Andria-Trani", + "Belluno", + "Benevento", + "Bergamo", + "Biella", + "Bologna", + "Bolzano", + "Brescia", + "Brindisi", + "Cagliari", + "Caltanissetta", + "Campobasso", + "Carbonia-Iglesias", + "Caserta", + "Catania", + "Catanzaro", + "Chieti", + "Como", + "Cosenza", + "Cremona", + "Crotone", + "Cuneo", + "Enna", + "Fermo", + "Ferrara", + "Firenze", + "Foggia", + "Forlì-Cesena", + "Frosinone", + "Genova", + "Gorizia", + "Grosseto", + "Imperia", + "Isernia", + "La Spezia", + "L \'Aquila", + "Latina", + "Lecce", + "Lecco", + "Livorno", + "Lodi", + "Lucca", + "Macerata", + "Mantova", + "Massa-Carrara", + "Matera", + "Messina", + "Milano", + "Modena", + "Monza e della Brianza", + "Napoli", + "Novara", + "Nuoro", + "Olbia-Tempio", + "Oristano", + "Padova", + "Palermo", + "Parma", + "Pavia", + "Perugia", + "Pesaro e Urbino", + "Pescara", + "Piacenza", + "Pisa", + "Pistoia", + "Pordenone", + "Potenza", + "Prato", + "Ragusa", + "Ravenna", + "Reggio Calabria", + "Reggio Emilia", + "Rieti", + "Rimini", + "Roma", + "Rovigo", + "Salerno", + "Medio Campidano", + "Sassari", + "Savona", + "Siena", + "Siracusa", + "Sondrio", + "Taranto", + "Teramo", + "Terni", + "Torino", + "Ogliastra", + "Trapani", + "Trento", + "Treviso", + "Trieste", + "Udine", + "Varese", + "Venezia", + "Verbano-Cusio-Ossola", + "Vercelli", + "Verona", + "Vibo Valentia", + "Vicenza", + "Viterbo", +}); + +const auto italyStreetPrefixes = std::to_array({ + "Piazza", "Strada", "Via", "Borgo", "Contrada", "Rotonda", "Incrocio", +}); + +const std::string_view italyZipCodeFormat{"#####"}; + +const auto italyAddressFormats = std::to_array({ + "{street} {buildingNumber}", + "{street} {buildingNumber} {secondaryAddress}" +}); + +const auto italySecondaryAddressFormats = std::to_array({"Appartamento ##", "Piano #"}); + +const auto italyBuildingNumberFormats = std::to_array({"###", "##", "#"}); + +const auto italyStreetFormats = std::to_array({"{streetPrefix} {firstName}", "{streetPrefix} {lastName}"}); + +const auto italyCityFormats = std::to_array({"{cityName}"}); + +const CountryAddressesInfo italyAddresses{ + italyZipCodeFormat, + (italyAddressFormats), + (italySecondaryAddressFormats), + (italyStreetFormats), + (italyStreetPrefixes), + {}, + {}, + (italyBuildingNumberFormats), + (italyCityFormats), + {}, + (italyCities), + {}, + (italyStates), + {} +}; // Poland -extern const std::array polandCities; -extern const std::array polandStates; -extern const std::array polandStreetNames; -extern const std::array polandStreetPrefixes; -extern const std::array polandAddressFormats; -extern const std::array polandSecondaryAddressFormats; -extern const std::array polandBuildingNumberFormats; -extern const std::array polandStreetFormats; -extern const std::array polandCityFormats; -extern const std::string_view polandZipCodeFormat; -extern const CountryAddressesInfo polandAddresses; +const auto polandCities = std::to_array({ + "Aleksandrów Kujawski", + "Bierutów", + "Bieżuń", + "Biłgoraj", + "Biskupiec", + "Bisztynek", + "Blachownia", + "Błaszki", + "Błażowa", + "Błonie", + "Bobolice", + "Bobowa", + "Bochnia", + "Bodzanów", + "Bodzentyn", + "Bogatynia", + "Boguchwała", + "Boguszów-Gorce", + "Bojanowo", + "Bolesławiec", + "Bolimów", + "Bychawa", + "Byczyna", + "Bydgoszcz", + "Bystrzyca Kłodzka", + "Bytom", + "Bytom Odrzański", + "Bytów", + "Cedynia", + "Cegłów", + "Chełm", + "Choroszcz", + "Chorzele", + "Chorzów", + "Choszczno", + "Chrzanów", + "Ciechanowiec", + "Ciechanów", + "Ciechocinek", + "Cieszanów", + "Cieszyn", + "Dąbrowa Górnicza", + "Dąbrowa Tarnowska", + "Dąbrowice", + "Debrzno", + "Dębica", + "Dęblin", + "Dębno", + "Dobczyce", + "Działoszyce", + "Działoszyn", + "Dzierzgoń", + "Dzierżoniów", + "Dziwnów", + "Elbląg", + "Ełk", + "Frampol", + "Frombork", + "Garwolin", + "Gąbin", + "Gdańsk", + "Gdynia", + "Giżycko", + "Glinojeck", + "Gliwice", + "Głogów", + "Głogów Małopolski", + "Głogówek", + "Głowno", + "Głubczyce", + "Głuchołazy", + "Głuszyca", + "Gniew", + "Gniewkowo", + "Gniezno", + "Gorzów Wielkopolski", + "Gostynin", + "Gostyń", + "Gościno", + "Jastrzębie-Zdrój", + "Jabłonowo Pomorskie", + "Janikowo", + "Janowiec Wielkopolski", + "Jelenia Góra", + "Jeziorany", + "Jeżów", + "Jędrzejów", + "Jordanów", + "Józefów", + "Karpacz", + "Kielce", + "Kietrz", + "Kisielice", + "Kraków", + "Latowicz", + "Lądek-Zdrój", + "Legionowo", + "Legnica", + "Lubaczów", + "Lubań", + "Łomża", + "Łopuszno", + "Łosice", + "Łowicz", + "Łódź", + "Łuków", + "Maków Mazowiecki", + "Maków Podhalański", + "Malbork", + "Mikołajki", + "Mikołów", + "Mikstat", + "Milanówek", + "Milicz", + "Miłakowo", + "Miłomłyn", + "Olsztyn", + "Oświęcim", + "Otmuchów", + "Piła", + "Piława Górna", + "Pińczów", + "Pionki", + "Piotrków Kujawski", + "Pleszew", + "Płock", + "Płońsk", + "Płoty", + "Pniewy", + "Prabuty", + "Praszka", + "Prochowice", + "Proszowice", + "Prószków", + "Pruchnik", + "Prudnik", + "Prusice", + "Pruszcz", + "Pruszcz Gdański", + "Pruszków", + "Przasnysz", + "Raciąż", + "Racibórz", + "Radków", + "Radlin", + "Radłów", + "Rydzyna", + "Ryglice", + "Ryki", + "Rymanów", + "Ryn", + "Starachowice", + "Stargard", + "Starogard Gdański", + "Stary Sącz", + "Szamocin", + "Szamotuły", + "Szczecin", + "Szczecinek", + "Świeradów-Zdrój", + "Świerzawa", + "Świętochłowice", + "Świnoujście", + "Tarczyn", + "Tarnobrzeg", + "Tarnogród", + "Tarnowskie Góry", + "Tychowo", + "Tychy", + "Ustrzyki Dolne", + "Wadowice", + "Wałbrzych", + "Wałcz", + "Warka", + "Warszawa", + "Warta", + "Wiskitki", + "Wisła", + "Wiślica", + "Witkowo", + "Witnica", + "Wleń", + "Włocławek", + "Wrocław", + "Wronki", + "Września", + "Zalewo", + "Zambrów", + "Zamość", + "Zator", + "Żywiec", +}); + +const auto polandStates = std::to_array({ + "dolnośląskie", "kujawsko-pomorskie", "lubelskie", "lubuskie", "łódzkie", "małopolskie", "mazowieckie", + "opolskie", "podkarpackie", "podlaskie", "pomorskie", "śląskie", "świętokrzyskie", "warmińsko-mazurskie", + "wielkopolskie", "zachodniopomorskie", +}); + +const auto polandStreetNames = std::to_array({ + "Piękna", + "Babiego Lata", + "Topolowa", + "Tęczowa", + "Teodozji", + "Szeroka", + "Gabriela Narutowicza", + "Lipowa", + "Łąkowa", + "Magnolii", + "Malachitowa", + "Marii Rodziewiczówny", + "Mikołaja Kopernika", + "Orzechowa", + "Klonowa", + "Astrów", + "Morelowa", + "Malwy", + "Malinowa", + "Zakątek", + "Przyleśna", + "Polna", + "Zadanie 12", + "Powstańców Warszawy", + "Równa", + "Sekwoi", + "Zadrzewiona", + "Zadanie 02", + "Zadanie 04", + "Wydmowa", + "Wschodnia", + "Słoneczna", + "Jaśminowa", + "Perłowa", + "Mazowiecka", + "Marii Skłodowskiej-Curie", + "Marii Konopnickiej", + "Kubusia Puchatka", + "Koralowa", + "Juliusza Słowackiego", + "Jeździecka", + "Wąska", + "Zadanie 06", + "Zadanie 13", + "Zapiecek", + "Zaułek", + "Platanów", + "Dzielna", + "Wspólna", + "Wilanowska", + "Jana Pawła II", + "Zachodu Słońca", + "Dzika", + "Juliana Ursyna Niemcewicza", + "Rolna", + "Aleja marsz. Józefa Piłsudskiego", + "Różana", + "Słonecznej Polany", + "Anny Walentynowicz", + "Ponczowa", + "Piechoty Łanowej", + "Karuzela", + "Husarii", + "Kwitnącej Łąki", + "Prymasa Augusta Hlonda", + "Kosiarzy", + "Zastruże", + "Resorowa", + "Przekorna", + "św. Urszuli Ledóchowskiej", + "Zygmunta Vogla", + "Winogronowa", + "Rumiana", + "Wyprawa", + "Andrutowa", + "Morysin", + "Kazachska", + "Lawendy", + "Łukasza Drewny", + "Poranek", + "Metryczna", + "Wycieczka", + "Orszady", + "Europejska", + "Dostatnia", + "Sarmacka", + "Gronowa", + "Zdrowa", + "Koralowa", + "Adama Branickiego", + "Uprawna", + "Hektarowa", + "Aleksandra Gieysztora", + "Aleja Wilanowska", + "Zaściankowa", + "Nowoursynowska", + "Bruzdowa", + "Biedronki", + "Calowa", + "Obornicka", + "Przedatki", + "Okrzeszyńska", + "Rosochata", + "Królewicza Aleksandra", + "Hoserów", + "Boguszewska", + "Aleje Jerozolimskie", + "Radziwie", + "Ciepła", + "Brylowska", + "Strąkowa", + "Elektoralna", + "Esperanto", + "Falkowska", + "Franciszka Raszei", + "Pawia", + "Giełdowa", + "Icchoka Lejba Pereca", + "Słodowiecka", + "Sebastiana Klonowicza", + "Redutowa", + "Przy Lasku", + "Szańcowa", + "Górczewska", + "Żytnia", + "Znana", + "Radzanowska", + "Aleja Prymasa Tysiąclecia", + "Prosta", + "Potrzebna", + "Smocza", + "Andrychowska", + "Studzienna", + "Emanuela Ringelbluma", + "Astronomów", + "Agawy", + "Złota", + "Syreny", + "Sybiraków", + "Stawki", + "Przyce", + "Przasnyska", + "Piaskowa", + "Pamięci", + "Deotymy", + "Szarych Szeregów", + "św. Wojciecha", + "Towarowa", + "Dzika", + "Edwarda Gibalskiego", + "Goleszowska", + "Działdowska", + "Dalibora", + "Bodzanty", + "Budziszyńska", + "Burakowska", + "Czelińska", + "Erika Dahlbergha", + "Grabowska", + "Fort Wola", + "Włodzimierza Majakowskiego", + "Waliców", + "Ulrychowska", + "Dywizjonu 303", + "Kolejowa", + "Jana Krysta", + "Olgi Johann", + "Krochmalna", + "Ludwiki", + "Łacińska", + "Łucka", + "Marynin", + "Wschowska", + "Jana Długosza", + "Organizacji Narodów Zjednoczonych", + "Długomiła", + "Banderii", + "Biała", + "Elbląska", + "Niska", + "Jaktorowska", + "Zwrotnicza", + "Grzybowska", + "Jana Olbrachta", + "Grenady", + "Kozielska", + "Nowolipki", + "Kolska", + "Karolkowa", + "Kacpra Karlińskiego", + "Kaprys", + "Sławińska", + "Okocimska", + "Nowolipie", + "Mroczna", + "Monte Cassino", + "Młocińska", + "Marcina Kasprzaka", + "Lasek na Kole", + "Mikołaja Wierzynka", + "Młynarska", + "Zdzisława Kuźmirskiego-Pacaka", + "Kotlarska", + "Kajetana Sołtyka", + "Mieczysława Dawida Apfelbauma", + "Połczyńska", + "Magistracka", + "Księcia Janusza", + "Kajetana Garbińskiego", + "Kacza", + "Dobrogniewa", + "Płocka", + "Żelazna", + "Władysława Przanowskiego", + "Szlenkierów", + "Księdza Jerzego", + "Marcina Bielskiego", + "Aleja Narcyzy Żmichowskiej", + "Ożarowska", + "Wawrzyszewska", + "Stanisława Staszica", + "Sienna", + "Rodziny Kluczyńskich", + "Stanisława Smolki", + "Tunelowa", + "Pustola", + "Antka Rozpylacza", + "Wandy Lurie", + "Wolska", + "św. Stanisława", + "Klecka", + "Srebrna", + "kard. Stefana Wyszyńskiego", + "Jana Kazimierza", + "Józefa Bellottiego", + "Batalionu AK \"Parasol\"", + "Bitwy pod Lenino", + "Romańska", + "Bolecha", + "Grodziska", + "Wincentego Pola", + "Olgi Boznańskiej", + "Wieluńska", + "Tadeusza Krępowieckiego", + "Białowiejska", + "Leonarda", + "Leszno", + "gen. Jana Jura-Gorzechowskiego", + "Obozowa", + "Newelska", + "Miła", + "Koszycka", + "Juliusza Konstantego Ordona", + "Szulborska", + "Józefa Sowińskiego", + "Janusza Korczaka", + "Okopowa", + "Eustachego Tyszkiewicza", + "Nakielska", + "Henryka Barona", + "Hipolita Wawelberga", + "Hubalczyków", + "Jana Brożka", + "Opolski", + "Złocienia", + "Aleja Jana Pawła II", + "Ogrodowa", + "Czorsztyńska", + "Emanuela Szafarczyka", + "Pańska", + "Człuchowska", + "Cypriana Kamila Norwida", + "Chmielna", + "Chłodna", + "Dzielna", + "Bronisława Dobrzańskiego", + "Baltazara", + "Góralska", + "Gniewkowska", + "Gizów", + "Józefa Bema", + "Edwarda Szymańskiego", + "Armatnia", + "Elekcyjna", + "Emila Zegadłowicza", + "Erazma Ciołka", + "Platynowa", + "Powązkowska", + "Przyokopowa", + "Rabsztyńska", + "Rodziny Lilpopów", + "Rogalińska", + "Siedmiogrodzka", + "Sieradzka", + "Śliska", + "Tatarska", + "Traktorzystki", + "Twarda", + "Zdzisława Lubomirskiego", + "Gostyńska", + "Alojzego Pawełka", + "Mordechaja Anielewicza", + "Spokojna", + "Stanisława Worcella", + "Zawiszy", + "Ignacego Daszyńskiego", + "Kercelak", + "Laskowa", + "Tylna", + "Lędzka", + "Miedziana", + "Moczydło", + "Sokołowska", + "Mszczonowska", + "Seweryna Krzyżanowskiego", + "Skierniewicka", + "Stroma", + "Redaktorska", + "Przednia", + "Popas", + "Załuski", + "Wyrzyska", + "Przepiórki", + "Stoicka", + "Tynkarska", + "Potrzebna", + "Zbocze", + "Batalionu AK \"Włochy\"", + "Pryzmaty", + "Radarowa", + "Zodiakalna", + "Witki", + "Astronautów", + "Badylarska", + "Bakalarska", + "Bolesława Chrobrego", + "Chylońska", + "Fasolowa", + "Globusowa", + "Popularna", + "Analityczna", + "Działkowa", + "Komitetu Obrony Robotników", + "Wirażowa", + "Solipska", + "Perlonowa", + "Saperów", + "Rękodzielnicza", + "1 Sierpnia", + "Flagowa", + "Kotwiczna", + "Cienista", + "Naukowa", + "Krótka", + "Łuczek", + "Nadziei", + "Karatowa", + "Hejnałowa", + "Jagny", + "Aksamitna", + "Przesmyk", + "Obrońców Pokoju", + "Zdobnicza", + "Narożna", + "Ogrodników", + "Franciszka Żwirki i Stanisława Wigury", + "Boryny", + "Plastyczna", + "Nastrojowa", + "Jutrzenki", + "Hipotezy", + "Daleszycka", + "Konewki", + "Czempińska", + "Tapicerska", + "Tomnicka", + "Świetlista", + "Trojańska", + "Wagonowa", + "Szybowcowa", + "Solińska", + "Trzos", + "Skromna", + "Rejonowa", + "Poziomkowa", + "Cegielniana", + "Cyprysowa", + "Czardasza", + "Głuszycka", + "Podborska", + "Prudnicka", + "Rebusowa", + "Wałowicka", + "Węgorzewska", + "Aleja Dwudziestolatków", + "Żaluzji", + "Znicz", + "Janiszowska", + "Pawła Lipowczana", + "Jakobinów", + "Kazimierza Wielkiego", + "Kolneńska", + "Krzysztofa Kolumba", + "Wykusz", + "Budki Szczęśliwickie", + "Latarnika", + "Denarowa", + "Żegoty", + "Żniwna", + "Instalatorów", + "Świerszcza", + "Śląska", + "Sulmierzycka", + "Stawy", + "Stajenna", + "Bratnia", + "Wszemirowska", + "Wolności", + "Szczęsna", + "Światowa", + "Drukarzy", + "Dukatowa", + "Sycowska", + "Akurat", + "Gęślarska", + "Finałowa", + "Centralna", + "Barometryczna", + "Emaliowa", +}); + +const auto polandStreetPrefixes = std::to_array({"ulica", "aleja", "osiedle", "plac", "park", "skwer"}); + +const std::string_view polandZipCodeFormat{"##-###"}; + +const auto polandAddressFormats = std::to_array({ + "{street} {buildingNumber}", + "{street} {buildingNumber} {secondaryAddress}", + "{street} {buildingNumber}/{buildingNumber}" +}); + +const auto polandSecondaryAddressFormats = std::to_array({"m. ###", "m. ##", "m. #"}); + +const auto polandBuildingNumberFormats = std::to_array({"#", "##", "###"}); + +const auto polandStreetFormats = std::to_array({"{streetPrefix} {streetName}"}); + +const auto polandCityFormats = std::to_array({"{cityName}"}); + +const CountryAddressesInfo polandAddresses{ + polandZipCodeFormat, + (polandAddressFormats), + (polandSecondaryAddressFormats), + (polandStreetFormats), + (polandStreetPrefixes), + (polandStreetNames), + {}, + (polandBuildingNumberFormats), + (polandCityFormats), + {}, + (polandCities), + {}, + (polandStates), + {} +}; // Russia -extern const std::array russiaCities; -extern const std::array russiaStates; -extern const std::array russiaStreetNames; -extern const std::array russiaStreetPrefixes; -extern const std::array russiaAddressFormats; -extern const std::array russiaSecondaryAddressFormats; -extern const std::array russiaBuildingNumberFormats; -extern const std::array russiaStreetFormats; -extern const std::array russiaCityFormats; -extern const std::string_view russiaZipCodeFormat; -extern const CountryAddressesInfo russiaAddresses; +const auto russiaCities = std::to_array({ + "Абакан", + "Азов", + "Калининград", + "Калуга", + "Каменск-Уральский", + "Каменск-Шахтинский", + "Камышин", + "Канск", + "Каспийск", + "Кемерово", + "Керчь", + "Кинешма", + "Кириши", + "Киров", + "Кирово-Чепецк", + "Киселевск", + "Кисловодск", + "Клин", + "Клинцы", + "Ковров", + "Когалым", + "Коломна", + "Комсомольск-на-Амуре", + "Копейск", + "Королев", + "Кострома", + "Котлас", + "Красногорск", + "Краснодар", + "Краснокаменск", + "Краснокамск", + "Краснотурьинск", + "Красноярск", + "Кропоткин", + "Крымск", + "Кстово", + "Кузнецк", + "Кумертау", + "Кунгур", + "Курган", + "Курск", + "Кызыл", + "Лабинск", + "Лениногорск", + "Ленинск-Кузнецкий", + "Лесосибирск", + "Липецк", + "Лиски", + "Лобня", + "Лысьва", + "Лыткарино", + "Люберцы", + "Магадан", + "Магнитогорск", + "Майкоп", + "Махачкала", + "Междуреченск", + "Мелеуз", + "Миасс", + "Минеральные", + "Минусинск", + "Михайловка", + "Михайловск", + "Мичуринск", + "Москва", + "Мурманск", + "Муром", + "Мытищи", + "Набережные", + "Назарово", + "Назрань", + "Нальчик", + "Наро-Фоминск", + "Находка", + "Невинномысск", + "Нерюнгри", + "Нефтекамск", + "Нефтеюганск", + "Нижневартовск", + "Нижнекамск", + "Нижний", + "Нижний", + "Новоалтайск", + "Новокузнецк", + "Новокуйбышевск", + "Новомосковск", + "Новороссийск", + "Новосибирск", + "Новотроицк", + "Новоуральск", + "Новочебоксарск", + "Новочеркасск", + "Новошахтинск", + "Новый", + "Ногинск", + "Норильск", + "Ноябрьск", + "Нягань", + "Обнинск", + "Одинцово", + "Озерск", + "Октябрьский", + "Омск", + "Орел", + "Оренбург", + "Орехово-Зуево", + "Орск", + "Павлово", + "Павловский", + "Пенза", + "Первоуральск", + "Пермь", + "Петрозаводск", + "Петропавловск-Камчатский", + "Подольск", + "Полевской", + "Прокопьевск", + "Прохладный", + "Псков", + "Пушкино", + "Пятигорск", + "Раменское", + "Ревда", + "Реутов", + "Ржев", + "Рославль", + "Россошь", + "Ростов-на-Дону", + "Рубцовск", + "Рыбинск", + "Рязань", + "Салават", + "Сальск", + "Самара", + "Санкт-Петербург", + "Саранск", + "Сарапул", + "Саратов", + "Саров", + "Свободный", + "Севастополь", + "Северодвинск", + "Северск", + "Сергиев", + "Серов", + "Серпухов", + "Сертолово", + "Сибай", + "Симферополь", + "Славянск-на-Кубани", + "Смоленск", + "Соликамск", + "Солнечногорск", + "Сосновый", + "Сочи", + "Ставрополь", + "Старый", + "Стерлитамак", + "Ступино", + "Сургут", + "Сызрань", + "Сыктывкар", + "Таганрог", + "Тамбов", + "Тверь", + "Тимашевск", + "Тихвин", + "Тихорецк", + "Тобольск", + "Тольятти", + "Томск", + "Троицк", + "Туапсе", + "Туймазы", + "Тула", + "Тюмень", + "Узловая", + "Улан-Удэ", + "Ульяновск", + "Урус-Мартан", + "Усолье-Сибирское", + "Уссурийск", + "Усть-Илимск", + "Уфа", + "Ухта", + "Феодосия", + "Фрязино", + "Хабаровск", + "Ханты-Мансийск", + "Хасавюрт", + "Химки", + "Чайковский", + "Чапаевск", + "Чебоксары", + "Челябинск", + "Черемхово", + "Череповец", + "Черкесск", + "Черногорск", + "Чехов", + "Чистополь", + "Чита", + "Шадринск", + "Шали", + "Шахты", + "Шуя", + "Щекино", + "Щелково", + "Электросталь", + "Элиста", + "Энгельс", + "Южно-Сахалинск", + "Юрга", + "Якутск", + "Ялта", +}); + +const auto russiaStates = std::to_array({ + "Алтайский край", + "Амурская область", + "Архангельская область", + "Астраханская область", + "Белгородская область", + "Брянская область", + "Владимирская область", + "Волгоградская область", + "Воронежская область", + "г. Москва", + "г. Санкт - Петербург", + "г. Севастополь", + "Еврейская автономная область", + "Забайкальский край", + "Ивановская область", + "Иркутская область", + "Кабардино - Балкарская Республика", + "Калининградская область", + "Калужская область", + "Камчатский край", + "Карачаево - Черкесская Республика", + "Кемеровская область - Кузбасс", + "Кировская область", + "Костромская область", + "Краснодарский край", + "Красноярский край", + "Курганская область", + "Курская область", + "Ленинградская область", + "Липецкая область", + "Магаданская область", + "Московская область", + "Мурманская область", + "Ненецкий автономный округ", + "Нижегородская область", + "Новгородская область", + "Новосибирская область", + "Омская область", + "Оренбургская область", + "Орловская область", + "Пензенская область", + "Пермский край", + "Приморский край", + "Псковская область", + "Республика Адыгея (Адыгея)", + "Республика Алтай", + "Республика Башкортостан", + "Республика Бурятия", + "Республика Дагестан", + "Республика Ингушетия", + "Республика Калмыкия", + "Республика Карелия", + "Республика Коми", + "Республика Крым", + "Республика Марий Эл", + "Республика Мордовия", + "Республика Саха (Якутия)", + "Республика Северная Осетия - Алания", + "Республика Татарстан", + "Республика Тыва", + "Республика Хакасия", + "Ростовская область", + "Рязанская область", + "Самарская область", + "Саратовская область", + "Сахалинская область", + "Свердловская область", + "Смоленская область", + "Ставропольский край", + "Тамбовская область", + "Тверская область", + "Томская область", + "Тульская область", + "Тюменская область", + "Удмуртская Республика", + "Ульяновская область", + "Хабаровский край", + "Ханты-Мансийский автономный округ - Югра", + "Челябинская область", + "Чеченская Республика", + "Чувашская Республика", + "Чукотский автономный округ", + "Ямало-ненецкий автономный округ", + "Ярославская область", +}); + +const auto russiaStreetNames = std::to_array({ + "Советская", "Сиреневая", "Сельская", "Прудовая", "Депутатская", + "Авиационная", "Аэродромная", "Большая", "Приморская", "Алтайская", + "Тополиная", "Ростовская", "Тракторная", "Мелиоративная", "Ольховая", + "Славянская", "Радужная", "Краснодарская", "Стахановская", "Ярославская", + "Коллективная", "Ангарская", "Локомотивная", "Ягодная", "Смоленская", + "Тепличная", "Водопроводная", "Республиканская", "Осенняя", "Байкальская", + "Саратовская", "Казанская", "Воронежская", "Брянская", "Производственная", + "Техническая", "Енисейская", "Севастопольская", "Окружная", "Орловская", + "Хуторская", "Тупиковая", "Каштановая", "Омская", "Привольная", + "Курортная", "Ивановская", "Выгонная", "Крымская", "Путейская", + "Проезжая", "Краснознаменная", "Одесская", "Логовая", "Высокая", + "Ясная", "Портовая", "Снежная", "Санаторная", "Союзная", + "Ульяновская", "Сахалинская", "Горняцкая", "Прибрежная", "Рыбацкая", + "Полтавская", "Тамбовская", "Красноярская", "Новосельская", "Проточная", + "Черноморская", "Минская", "Главная", "Вольная", "Хвойная", + "Космическая", "Моховая", "Курская", "Курганная", "Угловая", + "Камская", "Инженерная", "Лесозаводская", "Астраханская", "Белорусская", + "Заовражная", "Азовская", "Ручейная", "Волочаевская", "Ставропольская", + "Слободская", "Тульская", "Харьковская", "Петровская", "Владимирская", + "Высоковольтная", "Лазурная", "Покровская", "Новгородская", "Ленская", + "Сплавная", "Ударная", "Калужская", "Прудная", "Краснопартизанская", + "Ореховая", "Таманская", "Иркутская", "Отрадная", "Большевистская", + "Троицкая", "Лесхозная", "Васильковая", "Механическая", "Путевая", + "Кузнецкая", "Физкультурная", "Балтийская", "Февральская", "Лунная", + "Высотная", "Рязанская", "Малиновая", +}); + +const auto russiaStreetPrefixes = std::to_array({ + "улица", "аллея", "бульвар", "линия", + "набережная", "тракт", "тупик", "шоссе", + "переулок", "проспект", "мост", "авеню" +}); + +const std::string_view russiaZipCodeFormat{"######"}; + +const auto russiaAddressFormats = std::to_array({ + "{street} {buildingNumber}", + "{street} {buildingNumber} {secondaryAddress}" +}); + +const auto russiaSecondaryAddressFormats = std::to_array({"кв. ###", "кв. ##", "кв. #"}); + +const auto russiaBuildingNumberFormats = std::to_array({"#", "##", "###"}); + +const auto russiaStreetFormats = std::to_array({ + "{streetPrefix} {firstName}", "{streetPrefix} {lastName}", + "{streetPrefix} {streetName}"} +); + +const auto russiaCityFormats = std::to_array({"{cityName}"}); + +const CountryAddressesInfo russiaAddresses{ + russiaZipCodeFormat, + (russiaAddressFormats), + (russiaSecondaryAddressFormats), + (russiaStreetFormats), + (russiaStreetPrefixes), + (russiaStreetNames), + {}, + (russiaBuildingNumberFormats), + (russiaCityFormats), + {}, + (russiaCities), + {}, + (russiaStates), + {} +}; // Spain -extern const std::array spainCities; -extern const std::array spainCounties; -extern const std::array spainStates; -extern const std::array spainStreetSuffixes; -extern const std::array spainAddressFormats; -extern const std::array spainSecondaryAddressFormats; -extern const std::array spainBuildingNumberFormats; -extern const std::array spainStreetFormats; -extern const std::array spainCityFormats; -extern const std::string_view spainZipCodeFormat; -extern const CountryAddressesInfo spainAddresses; +const auto spainCities = std::to_array({ + "Parla", + "Telde", + "Baracaldo", + "San Fernando", + "Torrevieja", + "Lugo", + "Santiago de Compostela", + "Gerona", + "Cáceres", + "Lorca", + "Coslada", + "Talavera de la Reina", + "El Puerto de Santa María", + "Cornellá de Llobregat", + "Avilés", + "Palencia", + "Gecho", + "Orihuela", + "Pontevedra", + "Pozuelo de Alarcón", + "Toledo", + "El Ejido", + "Guadalajara", + "Gandía", + "Ceuta", + "Ferrol", + "Chiclana de la Frontera", + "Manresa", + "Roquetas de Mar", + "Ciudad Real", + "Rubí", + "Benidorm", + "San Sebastían de los Reyes", + "Ponferrada", + "Zamora", + "Alcalá de Guadaira", + "Fuengirola", + "Mijas", + "Sanlúcar de Barrameda", + "La Línea de la Concepción", + "Majadahonda", + "Sagunto", + "El Prat de LLobregat", + "Viladecans", + "Linares", + "Alcoy", + "Irún", + "Estepona", + "Torremolinos", + "Rivas-Vaciamadrid", + "Molina de Segura", + "Paterna", + "Granollers", + "Santa Lucía de Tirajana", + "Motril", + "Cerdañola del Vallés", + "Arrecife", + "Segovia", + "Torrelavega", + "Elda", + "Mérida", + "Ávila", + "Valdemoro", + "Cuenta", + "Collado Villalba", + "Benalmádena", + "Mollet del Vallés", + "Puertollano", + "Madrid", + "Barcelona", + "Valencia", + "Sevilla", + "Zaragoza", + "Málaga", + "Murcia", + "Palma de Mallorca", + "Las Palmas de Gran Canaria", + "Bilbao", + "Córdoba", + "Alicante", + "Valladolid", + "Vigo", + "Gijón", + "Hospitalet de LLobregat", + "La Coruña", + "Granada", + "Vitoria", + "Elche", + "Santa Cruz de Tenerife", + "Oviedo", + "Badalona", + "Cartagena", + "Móstoles", + "Jerez de la Frontera", + "Tarrasa", + "Sabadell", + "Alcalá de Henares", + "Pamplona", + "Fuenlabrada", + "Almería", + "San Sebastián", + "Leganés", + "Santander", + "Burgos", + "Castellón de la Plana", + "Alcorcón", + "Albacete", + "Getafe", + "Salamanca", + "Huelva", + "Logroño", + "Badajoz", + "San Cristróbal de la Laguna", + "León", + "Tarragona", + "Cádiz", + "Lérida", + "Marbella", + "Mataró", + "Dos Hermanas", + "Santa Coloma de Gramanet", + "Jaén", + "Algeciras", + "Torrejón de Ardoz", + "Orense", + "Alcobendas", + "Reus", + "Calahorra", + "Inca", + "Aýna", +}); + +const auto spainCounties = std::to_array({ + "Álava", "Albacete", "Alicante", + "Almería", "Asturias", "Ávila", + "Badajoz", "Barcelona", "Burgos", + "Cantabria", "Castellón", "Ciudad Real", + "Cuenca", "Cáceres", "Cádiz", + "Córdoba", "Gerona", "Granada", + "Guadalajara", "Guipúzcoa", "Huelva", + "Huesca", "Islas Baleares", "Jaén", + "La Coruña", "La Rioja", "Las Palmas", + "León", "Lugo", "lérida", + "Madrid", "Murcia", "Málaga", + "Navarra", "Orense", "Palencia", + "Pontevedra", "Salamanca", "Santa Cruz de Tenerife", + "Segovia", "Sevilla", "Soria", + "Tarragona", "Teruel", "Toledo", + "Valencia", "Valladolid", "Vizcaya", + "Zamora", "Zaragoza", +}); + +const auto spainStates = std::to_array({ + "Andalucía", + "Aragón", + "Principado de Asturias", + "Baleares", + "Canarias", + "Cantabria", + "Castilla-La Mancha", + "Castilla y León", + "Cataluña", + "Comunidad Valenciana", + "Extremadura", + "Galicia", + "La Rioja", + "Comunidad de Madrid", + "Navarra", + "País Vasco", + "Región de Murcia", +}); + +const auto spainStreetSuffixes = std::to_array({ + "Aldea", "Apartamento", "Arrabal", "Arroyo", "Avenida", "Bajada", "Barranco", "Barrio", + "Bloque", "Calle", "Calleja", "Camino", "Carretera", "Caserio", "Colegio", "Colonia", + "Conjunto", "Cuesta", "Chalet", "Edificio", "Entrada", "Escalinata", "Explanada", "Extramuros", + "Extrarradio", "Ferrocarril", "Glorieta", "Gran Subida", "Grupo", "Huerta", "Jardines", "Lado", + "Lugar", "Manzana", "Masía", "Mercado", "Monte", "Muelle", "Municipio", "Parcela", + "Parque", "Partida", "Pasaje", "Paseo", "Plaza", "Poblado", "Polígono", "Prolongación", + "Puente", "Puerta", "Quinta", "Ramal", "Rambla", "Rampa", "Riera", "Rincón", + "Ronda", "Rua", "Salida", "Sector", "Sección", "Senda", "Solar", "Subida", + "Terrenos", "Torrente", "Travesía", "Urbanización", "Vía", "Vía Pública", +}); + +const std::string_view spainZipCodeFormat{"#####"}; + +const auto spainAddressFormats = std::to_array({ + "{street} {buildingNumber})", + "{street} {buildingNumber} {secondaryAddress}" +}); + +const auto spainSecondaryAddressFormats = std::to_array({"Esc. ###", "Puerta ###"}); + +const auto spainBuildingNumberFormats = std::to_array({"s/n.", "#", "##"}); + +const auto spainStreetFormats = std::to_array({ + "{streetSuffix} {firstName}", + "{streetSuffix} {firstName} {lastName}" +}); + +const auto spainCityFormats = std::to_array({"{cityName}"}); + +const CountryAddressesInfo spainAddresses{ + spainZipCodeFormat, + (spainAddressFormats), + (spainSecondaryAddressFormats), + (spainStreetFormats), + {}, + {}, + (spainStreetSuffixes), + (spainBuildingNumberFormats), + (spainCityFormats), + {}, + (spainCities), + {}, + (spainStates), + (spainCounties) +}; // Ukraine -extern const std::array ukraineCities; -extern const std::array ukraineStates; -extern const std::array ukraineStreetNames; -extern const std::array ukraineStreetPrefixes; -extern const std::array ukraineAddressFormats; -extern const std::array ukraineSecondaryAddressFormats; -extern const std::array ukraineBuildingNumberFormats; -extern const std::array ukraineStreetFormats; -extern const std::array ukraineCityFormats; -extern const std::string_view ukraineZipCodeFormat; -extern const CountryAddressesInfo ukraineAddresses; +const auto ukraineCities = std::to_array({ + "Авдіївка", + "Аджи-Мушкай", + "Алмазна", + "Алупка", + "Алушта", + "Алчевськ", + "Амвросіївка", + "Ананьїв", + "Андрушівка", + "Антрацит (місто)", + "Апостолове", + "Армянськ", + "Арциз", + "Балаклія", + "Балта", + "Бар (Україна)", + "Баранівка", + "Барвінкове", + "Батурин", + "Бахмач", + "Бахмут", + "Бахчисарай", + "Баштанка", + "Белз", + "Бердичів", + "Бердянськ", + "Берегове", + "Бережани", + "Березань (місто)", + "Березівка", + "Березне", + "Берестечко", + "Берислав", + "Бершадь", + "Бібрка", + "Біла Церква", + "Білгород-Дністровський", + "Білицьке", + "Білогірськ", + "Білозерське", + "Білопілля", + "Біляївка", + "Благовіщенське", + "Бобринець", + "Бобровиця", + "Богодухів", + "Богуслав", + "Боково-Хрустальне", + "Болград", + "Болехів", + "Борзна", + "Борислав", + "Бориспіль", + "Бородянка", + "Борщів", + "Боссе (Донецьк)", + "Боярка", + "Бровари", + "Броди", + "Брянка", + "Булгак (село)", + "Бунге (місто)", + "Буринь", + "Бурштин (місто)", + "Буськ", + "Буча", + "Бучач", + "Валки (місто)", + "Вараш", + "Василівка (місто)", + "Васильків", + "Ватутіне", + "Вашківці", + "Великі Мости", + "Верхівцеве", + "Верхньодніпровськ", + "Вижниця", + "Вилкове", + "Винники", + "Виноградів", + "Вишгород", + "Вишневе (місто)", + "Вільногірськ", + "Вільнянськ", + "Вінниця", + "Вовчанськ", + "Вознесенівка", + "Вознесенськ", + "Волноваха", + "Володимир (місто)", + "Волочиськ", + "Ворожба", + "Вуглегірськ", + "Вугледар", + "Гадяч", + "Гайворон", + "Гайсин", + "Галич", + "Генічеськ", + "Географія Вільнянська", + "Герца", + "Гірник (місто)", + "Гостомель", + "Гребінка", + "Гуляйполе", + "Дебальцеве", + "Деражня", + "Дергачі", + "Джабу", + "Джанкой", + "Дніпро (місто)", + "Дніпрорудне", + "Добромиль", + "Добропілля", + "Добросин", + "Довжанськ", + "Докучаєвськ", + "Долина (місто)", + "Долинська", + "Донецьк", + "Дрогобич", + "Дружба (місто)", + "Дружківка", + "Дубляни", + "Дубно", + "Дубровиця", + "Дунаївці", + "Енергодар", + "Євпаторія", + "Єнакієве", + "Жашків", + "Жданівка", + "Жидачів", + "Житомир", + "Жмеринка", + "Жовква", + "Жовті Води", + "Заводське", + "Залізне", + "Заліщики", + "Запоріжжя", + "Заставна", + "Збараж", + "Зборів", + "Звенигородка", + "Звягель", + "Здолбунів", + "Зелене (Харків)", + "Зеленодольськ", + "Зимогір'я", + "Зіньків", + "Зміїв", + "Знам'янка", + "Золоте", + "Золотоноша", + "Золочів", + "Зоринськ", + "Зугрес", + "Івано-Франківськ", + "Ізмаїл", + "Ізюм", + "Ізяслав", + "Іллінці", + "Іловайськ", + "Інкерман", + "Ірміно", + "Ірпінь", + "Іршава", + "Ічня", + "Кагарлик", + "Кадіївка", + "Калинівка (місто)", + "Калуш", + "Кальміуське", + "Кам'янець-Подільський", + "Кам'янка (Черкаська область)", + "Кам'янка-Бузька", + "Кам'янка-Дніпровська", + "Кам'янське", + "Камінь-Каширський", + "Канів", + "Карлівка", + "Каховка", + "Керч", + "Київ", + "Кипуче", + "Ківерці", + "Кілія", + "Кіцмань", + "Кобеляки", + "Ковель", + "Кодима", + "Користувач:Козак Яна/Чернетка", + "Козятин", + "Коломия", + "Комарно", + "Конотоп", + "Копичинці", + "Корець", + "Коростень", + "Коростишів", + "Корсунь-Шевченківський", + "Корюківка", + "Косів", + "Костопіль", + "Костянтинівка", + "Коцюбинське", + "Краматорськ", + "Красилів", + "Красногорівка", + "Красноград", + "Кременець", + "Кременчук", + "Кремінна", + "Кривий Ріг", + "Кролевець", + "Кропивницький", + "Куп'янськ", + "Курахове", + "Ладижин", + "Ланівці", + "Лебедин", + "Лиман (місто)", + "Липовець", + "Лисичанськ", + "Лозова", + "Лохвиця", + "Лубни", + "Луганськ", + "Лутугине", + "Луцьк", + "Львів", + "Любомль", + "Люботин", + "Макіївка", + "Мала Виска", + "Малин", + "Мар'їнка", + "Марганець (місто)", + "Маріуполь", + "Мелітополь", + "Мена (місто)", + "Мерефа", + "Миколаїв", + "Миколаїв (Львівська область)", + "Миколаївка (місто)", + "Миргород", + "Хмільник", + "Ходорів", + "Хорол (місто)", + "Хоростків", + "Хотин", + "Хрестівка", + "Христинівка", + "Хрустальний", + "Хуст", + "Часів Яр", + "Червоноград", + "Червоносів", + "Черкаси", + "Чернівці", + "Чернігів", + "Чигирин", + "Чистякове", + "Чоп", + "Чорнобиль", + "Чорноморськ", + "Чортків", + "Чугуїв", + "Чуднів", + "Шаргород", + "Шахтарськ", + "Шепетівка", + "Шостка", + "Шпола", + "Шумськ", + "Щастя (місто)", + "Щолкіне", + "Южне", + "Южноукраїнськ", + "Яворів", + "Яготин", + "Ялта", + "Ямпіль", + "Яни Капу", + "Янів (Київська область)", + "Яремче", +}); + +const auto ukraineStates = std::to_array({ + "АР Крим", + "Вінницька область", + "Волинська область", + "Дніпропетровська область", + "Донецька область", + "Житомирська область", + "Закарпатська область", + "Запорізька область", + "Івано-Франківська область", + "Київська область", + "Кіровоградська область", + "Луганська область", + "Львівська область", + "Миколаївська область", + "Одеська область", + "Полтавська область", + "Рівненська область", + "Сумська область", + "Тернопільська область", + "Харківська область", + "Херсонська область", + "Хмельницька область", + "Черкаська область", + "Чернівецька область", + "Чернігівська область", + "Київ", + "Севастополь", +}); + +const auto ukraineStreetNames = std::to_array({ + "Хрещатик", + "Бессарабська", + "Саксаганського", + "Липська", + "Золотоворітська", + "Артема", + "Шевченка", + "Горького", + "Московська", + "Лесі Українки", + "Січових Стрільців", + "Майдан Незалежності", + "Прорізна", + "Інститутська", + "Пушкінська", + "Бульвар Тараса Шевченка", + "Крещатик", + "Печерська", + "Харківська", + "Богдана Хмельницького", + "Нова", + "Героїв Майдану", + "Гагаріна", + "Любченка", + "Озерна", + "Петра Могили", + "Сагайдачного", + "Тичини", + "Азербайджанська", + "Азовська", + "Азовська", + "Азовський", + "Айвазовського", + "Академіка Корольова", + "Академіка Ромоданова", + "Генерала Алмазова", + "Генерала Алмазова", + "Алматинська", + "Алчевських", + "Алчевської", + "Христини Алчевської", + "Альпійська", + "Альпійський", + "Амет-Хана Султана", + "Академіка Амосова", + "Миколи Амосова", + "Валентинівська", + "Валіховський", + "Валківська", + "Валова", + "Варварівська", + "Варненська", + "Варшавська", + "Варшавська", + "Миколи Василенка", + "Симона Петлюри", + "Василицька", + "Василівська", + "Василівська", + "Васильківська", + "Васильківський", +}); + +const auto ukraineStreetPrefixes = std::to_array({ + "вулиця", "аллея", "бульвар", "лінія", "набережна", + "шоссе", "перевулок", "проспект", "міст", "авеню" +}); + +const std::string_view ukraineZipCodeFormat{"#####"}; + +const auto ukraineAddressFormats = std::to_array({ + "{street} {buildingNumber}", + "{street} {buildingNumber} {secondaryAddress}" +}); + +const auto ukraineSecondaryAddressFormats = std::to_array({"кв. ###", "кв. ##", "кв. #"}); + +const auto ukraineBuildingNumberFormats = std::to_array({"#", "##", "###"}); + +const auto ukraineStreetFormats = std::to_array({ + "{streetPrefix} {firstName}", "{streetPrefix} {lastName}", + "{streetPrefix} {streetName}" +}); + +const auto ukraineCityFormats = std::to_array({"{cityName}"}); + +const CountryAddressesInfo ukraineAddresses{ + ukraineZipCodeFormat, + (ukraineAddressFormats), + (ukraineSecondaryAddressFormats), + (ukraineStreetFormats), + (ukraineStreetPrefixes), + (ukraineStreetNames), + {}, + (ukraineBuildingNumberFormats), + (ukraineCityFormats), + {}, + (ukraineCities), + {}, + (ukraineStates), + {} +}; // USA -extern const std::array usaCities; -extern const std::array usaCounties; -extern const std::array usaStates; -extern const std::array usaStreetSuffixes; -extern const std::array usaAddressFormats; -extern const std::array usaSecondaryAddressFormats; -extern const std::array usaBuildingNumberFormats; -extern const std::array usaStreetFormats; -extern const std::array usaCityFormats; -extern const std::string_view usaZipCodeFormat; -extern const CountryAddressesInfo usaAddresses; +const auto usaCities = std::to_array({ + "Abilene", + "Akron", + "Alafaya", + "Alameda", + "Albany", + "Albuquerque", + "Alexandria", + "Alhambra", + "Aliso Viejo", + "Allen", + "Allentown", + "Aloha", + "Alpharetta", + "Altadena", + "Altamonte Springs", + "Altoona", + "Amarillo", + "Ames", + "Anaheim", + "Anchorage", + "Anderson", + "Blue Springs", + "Boca Raton", + "Boise City", + "Bolingbrook", + "Bonita Springs", + "Bossier City", + "Boston", + "Bothell", + "Boulder", + "Bountiful", + "Bowie", + "Bowling Green", + "Boynton Beach", + "Bozeman", + "Bradenton", + "Brandon", + "Brentwood", + "Bridgeport", + "Bristol", + "Brockton", + "Broken Arrow", + "Carlsbad", + "Carmel", + "Carmichael", + "Carolina", + "Carrollton", + "Carson", + "Carson City", + "Cary", + "Casa Grande", + "Casas Adobes", + "Casper", + "Castle Rock", + "Castro Valley", + "Catalina Foothills", + "Cathedral City", + "Catonsville", + "Cedar Hill", + "Cedar Park", + "Cedar Rapids", + "Centennial", + "Centreville", + "Ceres", + "Cerritos", + "Champaign", + "Chandler", + "Chapel Hill", + "Charleston", + "Charlotte", + "Charlottesville", + "Chattanooga", + "Cheektowaga", + "Chesapeake", + "Chesterfield", + "Cheyenne", + "Chicago", + "Chico", + "Chicopee", + "Chino", + "Chino Hills", + "Chula Vista", + "Dallas", + "Daly City", + "Danbury", + "Danville", + "Davenport", + "Davie", + "Davis", + "Dayton", + "Daytona Beach", + "DeKalb", + "DeSoto", + "Dearborn", + "Dearborn Heights", + "Decatur", + "Deerfield Beach", + "Delano", + "Delray Beach", + "Deltona", + "Denton", + "Denver", + "Elyria", + "Encinitas", + "Enid", + "Enterprise", + "Erie", + "Escondido", + "Euclid", + "Eugene", + "Euless", + "Evanston", + "Evansville", + "Everett", + "Fairfield", + "Fall River", + "Fargo", + "Farmington", + "Farmington Hills", + "Fayetteville", + "Federal Way", + "Findlay", + "Fishers", + "Flagstaff", + "Flint", + "Florence-Graham", + "Florin", + "Greeley", + "Green Bay", + "Greensboro", + "Greenville", + "Greenwood", + "Gresham", + "Guaynabo", + "Gulfport", + "Hacienda Heights", + "Hackensack", + "Haltom City", + "Hamilton", + "Hammond", + "Hampton", + "Hanford", + "Harlingen", + "Harrisburg", + "Harrisonburg", + "Hartford", + "Hattiesburg", + "Haverhill", + "Hawthorne", + "Hayward", + "Hemet", + "Hempstead", + "Henderson", + "Hendersonville", + "Hesperia", + "Hialeah", + "Hicksville", + "High Point", + "Highland", + "Highlands Ranch", + "Hillsboro", + "Hilo", + "Hoboken", + "Hoffman Estates", + "Hollywood", + "Homestead", + "Honolulu", + "Hoover", + "Houston", + "Huntersville", + "Huntington", + "Huntington Beach", + "Huntington Park", + "Huntsville", + "Hutchinson", + "Irvine", + "Irving", + "Jackson", + "Jacksonville", + "Janesville", + "Jefferson City", + "Jeffersonville", + "Jersey City", + "Johns Creek", + "Johnson City", + "Joliet", + "Jonesboro", + "Joplin", + "Jupiter", + "Jurupa Valley", + "Kalamazoo", + "Kannapolis", + "Kansas City", + "Kearny", + "Keller", + "Kendale Lakes", + "Kendall", + "Kenner", + "Kennewick", + "Kenosha", + "Kent", + "Kentwood", + "Kettering", + "Killeen", + "Kingsport", + "Kirkland", + "Kissimmee", + "Knoxville", + "Lancaster", + "Lansing", + "Laredo", + "Largo", + "Las Cruces", + "Las Vegas", + "Lauderhill", + "Lawrence", + "Lawton", + "Layton", + "League City", + "Leesburg", + "Lehi", + "Lehigh Acres", + "Lenexa", + "Levittown", + "Lewisville", + "Lexington-Fayette", + "Lincoln", + "Manteca", + "Maple Grove", + "Margate", + "Maricopa", + "Marietta", + "Marysville", + "Mayaguez", + "McAllen", + "McKinney", + "McLean", + "Medford", + "Melbourne", + "Memphis", + "Menifee", + "Mentor", + "Merced", + "Meriden", + "Meridian", + "Mesa", + "Mesquite", + "Metairie", + "Methuen Town", + "Miami", + "Miami Beach", + "Mobile", + "Modesto", + "Moline", + "Monroe", + "Montebello", + "Monterey Park", + "Montgomery", + "Moore", + "Moreno Valley", + "Morgan Hill", + "Mount Pleasant", + "Mount Prospect", + "Mount Vernon", + "Mountain View", + "Muncie", + "Murfreesboro", + "Murray", + "Murrieta", + "Nampa", + "Napa", + "Naperville", + "Nashua", + "Nashville-Davidson", + "New Haven", + "New Orleans", + "New Rochelle", + "New York", + "Newark", + "Newport Beach", + "Newport News", + "Newton", + "Niagara Falls", + "Noblesville", + "Norfolk", + "Normal", + "Norwalk", + "Novato", + "Novi", + "Oak Lawn", + "Oak Park", + "Oakland", + "Oakland Park", + "Ocala", + "Oceanside", + "Odessa", + "Ogden", + "Oklahoma City", + "Olathe", + "Olympia", + "Omaha", + "Ontario", + "Orange", + "Orem", + "Orland Park", + "Palo Alto", + "Paradise", + "Paramount", + "Parker", + "Parma", + "Pasadena", + "Pasco", + "Passaic", + "Paterson", + "Pawtucket", + "Peabody", + "Pearl City", + "Pearland", + "Pembroke Pines", + "Pensacola", + "Peoria", + "Perris", + "Perth Amboy", + "Petaluma", + "Pflugerville", + "Pharr", + "Plantation", + "Pleasanton", + "Plymouth", + "Pocatello", + "Poinciana", + "Pomona", + "Pompano Beach", + "Ponce", + "Pontiac", + "Port Arthur", + "Port Charlotte", + "Port Orange", + "Port St. Lucie", + "Portage", + "Porterville", + "Portland", + "Portsmouth", + "Potomac", + "Poway", + "Providence", + "Provo", + "Pueblo", + "Quincy", + "Racine", + "Reston", + "Revere", + "Rialto", + "Richardson", + "Richland", + "Richmond", + "Rio Rancho", + "Riverside", + "Riverton", + "Riverview", + "Roanoke", + "Rochester", + "Rochester Hills", + "Rock Hill", + "Rockford", + "Rocklin", + "Rockville", + "Rockwall", + "Rocky Mount", + "Rogers", + "Rohnert Park", + "Rosemead", + "Roseville", + "Roswell", + "Round Rock", + "Rowland Heights", + "Rowlett", + "Royal Oak", + "Sacramento", + "Saginaw", + "Salem", + "Salina", + "San Tan Valley", + "Sandy", + "Sandy Springs", + "Sanford", + "Santa Ana", + "Santa Barbara", + "Santa Clara", + "Santa Clarita", + "Santa Cruz", + "Santa Fe", + "Santa Maria", + "Santa Monica", + "Santa Rosa", + "Santee", + "Sarasota", + "Savannah", + "Sayreville", + "Schaumburg", + "Schenectady", + "Scottsdale", + "South Valley", + "South Whittier", + "Southaven", + "Southfield", + "Sparks", + "Spokane", + "Spokane Valley", + "Spring", + "Spring Hill", + "Spring Valley", + "Springdale", + "Tacoma", + "Tallahassee", + "Tamarac", + "Tamiami", + "Tampa", + "Taunton", + "Taylor", + "Taylorsville", + "Temecula", + "Tempe", + "Temple", + "Terre Haute", + "Texas City", + "The Hammocks", + "The Villages", + "The Woodlands", + "Thornton", + "Thousand Oaks", + "Tigard", + "Tinley Park", + "Titusville", + "Toledo", + "Toms River", + "Tonawanda", + "Topeka", + "Torrance", + "Towson", + "Tracy", + "Trenton", + "Troy", + "Trujillo Alto", + "Tuckahoe", + "Tucson", + "Tulare", + "Tulsa", + "Turlock", + "Tuscaloosa", + "Waldorf", + "Walnut Creek", + "Waltham", + "Warner Robins", + "Warren", + "Warwick", + "Washington", + "Waterbury", + "Waterloo", + "Watsonville", + "Waukegan", + "Waukesha", + "Wauwatosa", + "Wellington", + "Wesley Chapel", + "West Allis", + "West Babylon", + "West Covina", + "West Des Moines", + "West Hartford", + "Wheaton", + "White Plains", + "Whittier", + "Wichita", + "Wichita Falls", + "Wilmington", + "Wilson", + "Winston-Salem", + "Woodbury", + "Woodland", + "Worcester", + "Wylie", + "Wyoming", + "Yakima", + "Yonkers", + "Yorba Linda", + "York", + "Youngstown", + "Yuba City", +}); + +const auto usaCounties = std::to_array({ + "Adams County", "Calhoun County", "Carroll County", "Clark County", "Clay County", + "Crawford County", "Douglas County", "Fayette County", "Franklin County", "Grant County", + "Greene County", "Hamilton County", "Hancock County", "Henry County", "Jackson County", + "Jefferson County", "Johnson County", "Lake County", "Lawrence County", "Lee County", + "Lincoln County", "Logan County", "Madison County", "Marion County", "Marshall County", + "Monroe County", "Montgomery County", "Morgan County", "Perry County", "Pike County", + "Polk County", "Scott County", "Union County", "Warren County", "Washington County", + "Wayne County", +}); + +const auto usaStates = std::to_array({ + "Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", + "Delaware", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", + "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", + "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", + "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Ohio", + "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", + "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", + "Wyoming" +}); + +const auto usaStreetSuffixes = std::to_array({ + "Alley", "Avenue", "Branch", "Bridge", "Brook", "Brooks", "Burg", "Burgs", + "Bypass", "Camp", "Canyon", "Cape", "Causeway", "Center", "Centers", "Circle", + "Circles", "Cliff", "Cliffs", "Club", "Common", "Corner", "Corners", "Course", + "Court", "Courts", "Cove", "Coves", "Creek", "Crescent", "Crest", "Crossing", + "Crossroad", "Curve", "Dale", "Dam", "Divide", "Drive", "Drives", "Estate", + "Estates", "Expressway", "Extension", "Extensions", "Fall", "Falls", "Ferry", "Field", + "Fields", "Flat", "Flats", "Ford", "Fords", "Forest", "Forge", "Forges", + "Fork", "Forks", "Fort", "Freeway", "Garden", "Gardens", "Gateway", "Glen", + "Glens", "Green", "Greens", "Grove", "Groves", "Harbor", "Harbors", "Haven", + "Heights", "Highway", "Hill", "Hills", "Hollow", "Inlet", "Island", "Islands", + "Isle", "Junction", "Junctions", "Key", "Keys", "Knoll", "Knolls", "Lake", + "Lakes", "Land", "Landing", "Lane", "Light", "Lights", "Loaf", "Lock", + "Locks", "Lodge", "Loop", "Mall", "Manor", "Manors", "Meadow", "Meadows", + "Mews", "Mill", "Mills", "Mission", "Motorway", "Mount", "Mountain", "Mountains", + "Neck", "Orchard", "Oval", "Overpass", "Park", "Parks", "Parkway", "Parkways", + "Pass", "Passage", "Path", "Pike", "Pine", "Pines", "Place", "Plain", + "Plains", "Plaza", "Point", "Points", "Port", "Ports", "Prairie", "Radial", + "Ramp", "Ranch", "Rapid", "Rapids", "Rest", "Ridge", "Ridges", "River", + "Road", "Roads", "Route", "Row", "Rue", "Run", "Shoal", "Shoals", + "Shore", "Shores", "Skyway", "Spring", "Springs", "Spur", "Spurs", "Square", + "Squares", "Station", "Stravenue", "Stream", "Street", "Streets", "Summit", "Terrace", + "Throughway", "Trace", "Track", "Trafficway", "Trail", "Tunnel", "Turnpike", "Underpass", + "Union", "Unions", "Valley", "Valleys", "Via", "Viaduct", "View", "Views", + "Village", "Villages", "Ville", "Vista", "Walk", "Walks", "Wall", "Way", + "Ways", "Well", "Wells" +}); + +const std::string_view usaZipCodeFormat{"#####"}; + +const auto usaAddressFormats = std::to_array({"{buildingNumber} {street}"}); + +const auto usaSecondaryAddressFormats = std::to_array({"Apt. ###", "Suite ###"}); + +const auto usaBuildingNumberFormats = std::to_array({"#####", "####", "###"}); + +const auto usaStreetFormats = std::to_array({"{firstName} {streetSuffix}", "{lastName} {streetSuffix}"}); + +const auto usaCityFormats = std::to_array({"{cityName}"}); + +const CountryAddressesInfo usaAddresses{ + usaZipCodeFormat, + (usaAddressFormats), + (usaSecondaryAddressFormats), + (usaStreetFormats), + {}, + {}, + (usaStreetSuffixes), + (usaBuildingNumberFormats), + (usaCityFormats), + {}, + (usaCities), + {}, + usaStates, + usaCounties +}; + } diff --git a/src/modules/lorem/LoremData.cpp b/src/modules/lorem/LoremData.cpp deleted file mode 100644 index d5b35ad1..00000000 --- a/src/modules/lorem/LoremData.cpp +++ /dev/null @@ -1,193 +0,0 @@ -#include "LoremData.h" - -#include -#include - -namespace faker -{ - -const std::array loremWords = { - "alias", - "consequatur", - "aut", - "perferendis", - "sit", - "voluptatem", - "accusantium", - "doloremque", - "aperiam", - "eaque", - "ipsa", - "quae", - "ab", - "illo", - "inventore", - "veritatis", - "et", - "quasi", - "architecto", - "beatae", - "vitae", - "dicta", - "sunt", - "explicabo", - "aspernatur", - "odit", - "fugit", - "sed", - "quia", - "consequuntur", - "magni", - "dolores", - "eos", - "qui", - "ratione", - "sequi", - "nesciunt", - "neque", - "dolorem", - "ipsum", - "dolor", - "amet", - "consectetur", - "adipisci", - "velit", - "non", - "numquam", - "eius", - "modi", - "tempora", - "incidunt", - "ut", - "labore", - "dolore", - "magnam", - "aliquam", - "quaerat", - "enim", - "ad", - "minima", - "veniam", - "quis", - "nostrum", - "exercitationem", - "ullam", - "corporis", - "nemo", - "ipsam", - "voluptas", - "suscipit", - "laboriosam", - "nisi", - "aliquid", - "ex", - "ea", - "commodi", - "autem", - "vel", - "eum", - "iure", - "reprehenderit", - "in", - "voluptate", - "esse", - "quam", - "nihil", - "molestiae", - "iusto", - "odio", - "dignissimos", - "ducimus", - "blanditiis", - "praesentium", - "laudantium", - "totam", - "rem", - "voluptatum", - "deleniti", - "atque", - "corrupti", - "quos", - "quas", - "molestias", - "excepturi", - "sint", - "occaecati", - "cupiditate", - "provident", - "perspiciatis", - "unde", - "omnis", - "iste", - "natus", - "error", - "similique", - "culpa", - "officia", - "deserunt", - "mollitia", - "animi", - "id", - "est", - "laborum", - "dolorum", - "fuga", - "harum", - "quidem", - "rerum", - "facilis", - "expedita", - "distinctio", - "nam", - "libero", - "tempore", - "cum", - "soluta", - "nobis", - "eligendi", - "optio", - "cumque", - "impedit", - "quo", - "porro", - "quisquam", - "minus", - "quod", - "maxime", - "placeat", - "facere", - "possimus", - "assumenda", - "repellendus", - "temporibus", - "quibusdam", - "illum", - "fugiat", - "nulla", - "pariatur", - "at", - "vero", - "accusamus", - "officiis", - "debitis", - "necessitatibus", - "saepe", - "eveniet", - "voluptates", - "repudiandae", - "recusandae", - "itaque", - "earum", - "hic", - "tenetur", - "a", - "sapiente", - "delectus", - "reiciendis", - "voluptatibus", - "maiores", - "doloribus", - "asperiores", - "repellat", -}; -} diff --git a/src/modules/lorem/LoremData.h b/src/modules/lorem/LoremData.h index 847a3498..48cbe685 100644 --- a/src/modules/lorem/LoremData.h +++ b/src/modules/lorem/LoremData.h @@ -4,5 +4,189 @@ namespace faker { -extern const std::array loremWords; +const auto loremWords = std::to_array({ + "alias", + "consequatur", + "aut", + "perferendis", + "sit", + "voluptatem", + "accusantium", + "doloremque", + "aperiam", + "eaque", + "ipsa", + "quae", + "ab", + "illo", + "inventore", + "veritatis", + "et", + "quasi", + "architecto", + "beatae", + "vitae", + "dicta", + "sunt", + "explicabo", + "aspernatur", + "odit", + "fugit", + "sed", + "quia", + "consequuntur", + "magni", + "dolores", + "eos", + "qui", + "ratione", + "sequi", + "nesciunt", + "neque", + "dolorem", + "ipsum", + "dolor", + "amet", + "consectetur", + "adipisci", + "velit", + "non", + "numquam", + "eius", + "modi", + "tempora", + "incidunt", + "ut", + "labore", + "dolore", + "magnam", + "aliquam", + "quaerat", + "enim", + "ad", + "minima", + "veniam", + "quis", + "nostrum", + "exercitationem", + "ullam", + "corporis", + "nemo", + "ipsam", + "voluptas", + "suscipit", + "laboriosam", + "nisi", + "aliquid", + "ex", + "ea", + "commodi", + "autem", + "vel", + "eum", + "iure", + "reprehenderit", + "in", + "voluptate", + "esse", + "quam", + "nihil", + "molestiae", + "iusto", + "odio", + "dignissimos", + "ducimus", + "blanditiis", + "praesentium", + "laudantium", + "totam", + "rem", + "voluptatum", + "deleniti", + "atque", + "corrupti", + "quos", + "quas", + "molestias", + "excepturi", + "sint", + "occaecati", + "cupiditate", + "provident", + "perspiciatis", + "unde", + "omnis", + "iste", + "natus", + "error", + "similique", + "culpa", + "officia", + "deserunt", + "mollitia", + "animi", + "id", + "est", + "laborum", + "dolorum", + "fuga", + "harum", + "quidem", + "rerum", + "facilis", + "expedita", + "distinctio", + "nam", + "libero", + "tempore", + "cum", + "soluta", + "nobis", + "eligendi", + "optio", + "cumque", + "impedit", + "quo", + "porro", + "quisquam", + "minus", + "quod", + "maxime", + "placeat", + "facere", + "possimus", + "assumenda", + "repellendus", + "temporibus", + "quibusdam", + "illum", + "fugiat", + "nulla", + "pariatur", + "at", + "vero", + "accusamus", + "officiis", + "debitis", + "necessitatibus", + "saepe", + "eveniet", + "voluptates", + "repudiandae", + "recusandae", + "itaque", + "earum", + "hic", + "tenetur", + "a", + "sapiente", + "delectus", + "reiciendis", + "voluptatibus", + "maiores", + "doloribus", + "asperiores", + "repellat", +}); + } diff --git a/src/modules/medicine/MedicineData.cpp b/src/modules/medicine/MedicineData.cpp deleted file mode 100644 index 0abb2600..00000000 --- a/src/modules/medicine/MedicineData.cpp +++ /dev/null @@ -1,159 +0,0 @@ -#include "MedicineData.h" - -#include -#include - -namespace faker::medicine -{ -const std::array medicalConditions = {"AIDS", - "Anorexia Nervosa", - "Arthritis, Juvenile Rheumatoid", - "Asthma, Moderate or Severe Persistent", - "Bronchiolitis", - "Bulimia", - "Cancer", - "Cardiorespiratory Diseases", - "Celiac Disease", - "Cerebral Palsy", - "Cleft Lip or Palate", - "Crohn’s Disease", - "Cystic Fibrosis", - "Depression", - "Developmental, Sensory, or Motor Disabilities", - "Diabetes Mellitus", - "Down syndrome", - "Elevated Blood Lead Level", - "Epilepsy", - "Failure to Thrive", - "Fetal Alcohol Syndrome", - "Gall Bladder Disease", - "Gastro Esophageal Reflux Disease", - "Gastrointestinal Abnormalities", - "HIV Infection", - "Heart Disease", - "Hepatitis", - "Hypertension, Chronic/Prehypertension", - "Hypertension, Pregnancy-induced", - "Hyperthyroidism", - "Hypoglycemia", - "Hypothyroidism", - "Inborn Errors of Metabolism", - "Inflammatory Bowel Disease (IBD)", - "Lactose Intolerance", - "Large for Gestational Age", - "Liver Disease", - "Lupus Erythematosus", - "Major Surgery, Burns, or Trauma", - "Malabsorption Syndromes", - "Meningitis", - "Multiple Sclerosis", - "Muscular Dystrophy", - "Neonatal Abstinence Syndrome", - "Neural Tube Defect (Spina Bifida)", - "Nutrient Deficiency Diseases", - "Pancreatitis", - "Parasitic Infection", - "Parkinson’s disease", - "Pneumonia", - "Prediabetes", - "Renal Disease", - "Sickle Cell Anemia", - "Small Bowel Enterocolitis and syndrome", - "Small for Gestational Age (SGA)", - "Thalassemia Major", - "Tuberculosis", - "Ulcerative Colitis", - "Ulcers, Stomach or Intestinal"}; - -const std::array medicalTests = {"HEENT examination", - "abdominal palpation", - "amniocentesis", - "ballistocardiogram", - "capsule endoscopy", - "cardiac auscultation", - "coloscopy", - "colposcopy", - "coronary catheterization", - "cystoscopy", - "digital rectal examination", - "echocardiography", - "electrocardiogram", - "electroencephalogram", - "electromyography", - "endoscopic retrograde cholangiopancreatography", - "esophageal motility study", - "esophageal pH monitoring", - "esophagogastroduodenoscopy", - "hearing test", - "hysteroscopy", - "laparoscopy", - "laryngoscopy", - "liver biopsy", - "mammography", - "neurological examination", - "neuropsychological tests", - "polysomnography", - "psychiatric assessment", - "pulmonary auscultation", - "pulmonary plethysmography", - "skin biopsy", - "thoracentesis", - "urodynamic testing", - "vaginal examination"}; - -const std::array specialties = {"Accident and emergency medicine", - "Allergist", - "Anaesthetics", - "Cardiology", - "Child psychiatry", - "Clinical biology", - "Clinical chemistry", - "Clinical microbiology", - "Clinical neurophysiology", - "Craniofacial surgery", - "Dermatology", - "Endocrinology", - "Family and General Medicine", - "Gastroenterologic surgery", - "Gastroenterology", - "General Practice", - "General surgery", - "Geriatrics", - "Hematology", - "Immunology", - "Infectious diseases", - "Internal medicine", - "Laboratory medicine", - "Nephrology", - "Neurology", - "Neuropsychiatry", - "Neurosurgery", - "Nuclear medicine", - "Obstetrics and gynaecology", - "Occupational medicine", - "Oncology", - "Ophthalmology", - "Oral and maxillofacial surgery", - "Orthopaedics", - "Otorhinolaryngology", - "Paediatric surgery", - "Paediatrics", - "Pathology", - "Pharmacology", - "Physical medicine and rehabilitation", - "Plastic surgery", - "Podiatric surgery", - "Preventive medicine", - "Psychiatry", - "Public health", - "Radiation Oncology", - "Radiology", - "Respiratory medicine", - "Rheumatology", - "Stomatology", - "Thoracic surgery", - "Tropical medicine", - "Urology", - "Vascular surgery", - "Venereology"}; -} diff --git a/src/modules/medicine/MedicineData.h b/src/modules/medicine/MedicineData.h index 5c2c1eaa..ae37e9b0 100644 --- a/src/modules/medicine/MedicineData.h +++ b/src/modules/medicine/MedicineData.h @@ -5,7 +5,162 @@ namespace faker::medicine { -extern const std::array medicalConditions; -extern const std::array medicalTests; -extern const std::array specialties; +const auto medicalConditions = std::to_array({ + "AIDS", + "Anorexia Nervosa", + "Arthritis, Juvenile Rheumatoid", + "Asthma, Moderate or Severe Persistent", + "Bronchiolitis", + "Bulimia", + "Cancer", + "Cardiorespiratory Diseases", + "Celiac Disease", + "Cerebral Palsy", + "Cleft Lip or Palate", + "Crohn’s Disease", + "Cystic Fibrosis", + "Depression", + "Developmental, Sensory, or Motor Disabilities", + "Diabetes Mellitus", + "Down syndrome", + "Elevated Blood Lead Level", + "Epilepsy", + "Failure to Thrive", + "Fetal Alcohol Syndrome", + "Gall Bladder Disease", + "Gastro Esophageal Reflux Disease", + "Gastrointestinal Abnormalities", + "HIV Infection", + "Heart Disease", + "Hepatitis", + "Hypertension, Chronic/Prehypertension", + "Hypertension, Pregnancy-induced", + "Hyperthyroidism", + "Hypoglycemia", + "Hypothyroidism", + "Inborn Errors of Metabolism", + "Inflammatory Bowel Disease (IBD)", + "Lactose Intolerance", + "Large for Gestational Age", + "Liver Disease", + "Lupus Erythematosus", + "Major Surgery, Burns, or Trauma", + "Malabsorption Syndromes", + "Meningitis", + "Multiple Sclerosis", + "Muscular Dystrophy", + "Neonatal Abstinence Syndrome", + "Neural Tube Defect (Spina Bifida)", + "Nutrient Deficiency Diseases", + "Pancreatitis", + "Parasitic Infection", + "Parkinson’s disease", + "Pneumonia", + "Prediabetes", + "Renal Disease", + "Sickle Cell Anemia", + "Small Bowel Enterocolitis and syndrome", + "Small for Gestational Age (SGA)", + "Thalassemia Major", + "Tuberculosis", + "Ulcerative Colitis", + "Ulcers, Stomach or Intestinal" +}); + +const auto medicalTests = std::to_array({ + "HEENT examination", + "abdominal palpation", + "amniocentesis", + "ballistocardiogram", + "capsule endoscopy", + "cardiac auscultation", + "coloscopy", + "colposcopy", + "coronary catheterization", + "cystoscopy", + "digital rectal examination", + "echocardiography", + "electrocardiogram", + "electroencephalogram", + "electromyography", + "endoscopic retrograde cholangiopancreatography", + "esophageal motility study", + "esophageal pH monitoring", + "esophagogastroduodenoscopy", + "hearing test", + "hysteroscopy", + "laparoscopy", + "laryngoscopy", + "liver biopsy", + "mammography", + "neurological examination", + "neuropsychological tests", + "polysomnography", + "psychiatric assessment", + "pulmonary auscultation", + "pulmonary plethysmography", + "skin biopsy", + "thoracentesis", + "urodynamic testing", + "vaginal examination" +}); + +const auto specialties = std::to_array({ + "Accident and emergency medicine", + "Allergist", + "Anaesthetics", + "Cardiology", + "Child psychiatry", + "Clinical biology", + "Clinical chemistry", + "Clinical microbiology", + "Clinical neurophysiology", + "Craniofacial surgery", + "Dermatology", + "Endocrinology", + "Family and General Medicine", + "Gastroenterologic surgery", + "Gastroenterology", + "General Practice", + "General surgery", + "Geriatrics", + "Hematology", + "Immunology", + "Infectious diseases", + "Internal medicine", + "Laboratory medicine", + "Nephrology", + "Neurology", + "Neuropsychiatry", + "Neurosurgery", + "Nuclear medicine", + "Obstetrics and gynaecology", + "Occupational medicine", + "Oncology", + "Ophthalmology", + "Oral and maxillofacial surgery", + "Orthopaedics", + "Otorhinolaryngology", + "Paediatric surgery", + "Paediatrics", + "Pathology", + "Pharmacology", + "Physical medicine and rehabilitation", + "Plastic surgery", + "Podiatric surgery", + "Preventive medicine", + "Psychiatry", + "Public health", + "Radiation Oncology", + "Radiology", + "Respiratory medicine", + "Rheumatology", + "Stomatology", + "Thoracic surgery", + "Tropical medicine", + "Urology", + "Vascular surgery", + "Venereology" +}); + } diff --git a/src/modules/movie/MovieData.cpp b/src/modules/movie/MovieData.cpp deleted file mode 100644 index d70765b9..00000000 --- a/src/modules/movie/MovieData.cpp +++ /dev/null @@ -1,1288 +0,0 @@ -#include "MovieData.h" - -#include -#include - -namespace faker -{ -const std::array actors = {"Aamir Khan", - "Abbott and Costello", - "Adel Imam", - "Ahmed Zaki", - "Al Pacino", - "Alain Delon", - "Alan Arkin", - "Alan Rickman", - "Alastair Sim", - "Albert Finney", - "Alberto Sordi", - "Alec Guinness", - "Amitabh Bachchan", - "Andy Serkis", - "Anthony Hopkins", - "Anthony Perkins", - "Anthony Quinn", - "Armin Mueller-Stahl", - "Arnold Schwarzenegger", - "Arthur Kennedy", - "Bela Lugosi", - "Ben Kingsley", - "Benicio del Toro", - "Bill Murray", - "Bing Crosby", - "Bob Hope", - "Bob Hoskins", - "Boris Karloff", - "Bourvil", - "Brad Pitt", - "Brendan Gleeson", - "Bruce Lee", - "Bruno Ganz", - "Burt Lancaster", - "Buster Keaton", - "Cantinflas", - "Cary Grant", - "Charles Boyer", - "Charles Chaplin", - "Charles Laughton", - "Charlton Heston", - "Chishu Ryu", - "Choi Min-sik", - "Chow Yun-fat", - "Chris Cooper", - "Christian Bale", - "Christopher Lee", - "Christopher Walken", - "Clark Gable", - "Claude Rains", - "Clint Eastwood", - "Conrad Veidt", - "Dana Andrews", - "Daniel Auteuil", - "Daniel Day-Lewis", - "David Niven", - "Denholm Elliott", - "Dennis Hopper", - "Denzel Washington", - "Dev Anand", - "Dilip Kumar", - "Dirk Bogarde", - "Don Cheadle", - "Donald Crisp", - "Donald Sutherland", - "Douglas Fairbanks", - "Dustin Hoffman", - "Ed Harris", - "Edward Everett Horton", - "Edward G. Robinson", - "Edward Norton", - "Eli Wallach", - "Emil Jannings", - "Erich von Stroheim", - "Erland Josephson", - "Ernest Borgnine", - "Errol Flynn", - "Ewan McGregor", - "Farid Shawqi", - "Fernandel", - "Fernando Fernán Gómez", - "Fernando Rey", - "Frank Sinatra", - "Fred Astaire", - "Fredric March", - "Gael García Bernal", - "Gary Cooper", - "Gary Oldman", - "Gaston Modot", - "Gene Hackman", - "Gene Kelly", - "Gene Wilder", - "Geoffrey Rush", - "George C. Scott", - "George Clooney", - "George Sanders", - "Gert Fröbe", - "Gian Maria Volonté", - "Giancarlo Giannini", - "Glenn Ford", - "Gregory Peck", - "Groucho Marx / The Marx Brothers", - "Gunnar Björnstrand", - "Gérard Depardieu", - "Gérard Philipe", - "Harold Lloyd", - "Harrison Ford", - "Harry Dean Stanton", - "Harvey Keitel", - "Heath Ledger", - "Henry Fonda", - "Humphrey Bogart", - "Ian McKellen", - "Innokenty Smoktunovsky", - "Jack Lemmon", - "Jack Nicholson", - "Jackie Chan", - "Jacques Tati", - "Jake Gyllenhaal", - "James Caan", - "James Cagney", - "James Coburn", - "James Dean", - "James Earl Jones", - "James Mason", - "James Woods", - "Jason Robards", - "Javier Bardem", - "Jean Gabin", - "Jean Hersholt", - "Jean Marais", - "Jean-Claude Brialy", - "Jean-Louis Trintignant", - "Jean-Paul Belmondo", - "Jean-Pierre Léaud", - "Jeff Bridges", - "Jeremy Irons", - "Jerry Lewis", - "Jim Carrey", - "Joaquin Phoenix", - "Joe Pesci", - "Joel McCrea", - "John Barrymore", - "John Carradine", - "John Cleese", - "John Gielgud", - "John Gilbert", - "John Hurt", - "John Malkovich", - "John Travolta", - "John Wayne", - "Johnny Depp", - "Jon Voight", - "Joseph Cotten", - "José Ferrer", - "Karl Malden", - "Kenneth Branagh", - "Kevin Spacey", - "King Baggot", - "Kirk Douglas", - "Klaus Kinski", - "Laurel and Hardy", - "Laurence Olivier", - "Lee J. Cobb", - "Lee Marvin", - "Leonardo DiCaprio", - "Leslie Cheung", - "Leslie Howard", - "Liam Neeson", - "Lionel Barrymore", - "Lon Chaney", - "Louis de Funès", - "Mack Sennett", - "Marcello Mastroianni", - "Marlon Brando", - "Martin Balsam", - "Martin Landau", - "Martin Sheen", - "Matt Damon", - "Matthew McConaughey", - "Max Linder", - "Max von Sydow", - "Maximilian Schell", - "Mel Gibson", - "Melvyn Douglas", - "Michael Caine", - "Michael Chekhov", - "Michael Douglas", - "Michael Fassbender", - "Michael Redgrave", - "Michel Piccoli", - "Michel Serrault", - "Michel Simon", - "Mickey Rooney", - "Montgomery Clift", - "Morgan Freeman", - "Nanni Moretti", - "Naseeruddin Shah", - "Nicolas Cage", - "Nikolay Cherkasov", - "Nino Manfredi", - "Omar Sharif", - "Orson Welles", - "Paul Muni", - "Paul Newman", - "Paul Robeson", - "Paul Scofield", - "Paul Winfield", - "Pedro Infante", - "Peter Cushing", - "Peter Finch", - "Peter Lorre", - "Peter O'Toole", - "Peter Sellers", - "Philip Seymour Hoffman", - "Philippe Noiret", - "Raimu", - "Raj Kapoor", - "Rajesh Khanna", - "Ralph Fiennes", - "Ralph Richardson", - "Rex Harrison", - "Richard Attenborough", - "Richard Burton", - "Richard Dreyfuss", - "Richard Gere", - "Richard Harris", - "Richard Widmark", - "Robert De NiroJames Stewart", - "Robert Donat", - "Robert Downey Jr.", - "Robert Duvall", - "Robert Mitchum", - "Robert Redford", - "Robert Ryan", - "Robert Shaw", - "Roberto Benigni", - "Robin Williams", - "Rock Hudson", - "Rod Steiger", - "Ronald Colman", - "Roscoe 'Fatty' Arbuckle", - "Roy Scheider", - "Rudolf Klein-Rogge", - "Rudolph Valentino", - "Russell Crowe", - "Rutger Hauer", - "Ryan Gosling", - "Samuel L. Jackson", - "Sean Connery", - "Sean Penn", - "Sessue Hayakawa", - "Shah Rukh Khan", - "Sidney Poitier", - "Spencer Tracy", - "Stellan Skarsgård", - "Sterling Hayden", - "Steve Buscemi", - "Steve Martin", - "Steve McQueen", - "Takashi Shimura", - "Takeshi Kitano", - "Tatsuya Nakadai", - "The Three Stooges", - "Thomas Mitchell", - "Tim Robbins", - "Tom Courtenay", - "Tom Cruise", - "Tom Hanks", - "Tommy Lee Jones", - "Tony Curtis", - "Tony Leung Chiu Wai", - "Toshiro Mifune", - "Totò", - "Ugo Tognazzi", - "Uttam Kumar", - "Victor Mature", - "Victor McLaglen", - "Viggo Mortensen", - "Vincent Cassel", - "Vincent Price", - "Vittorio Gassman", - "W.C. Fields", - "Wallace Beery", - "Walter Brennan", - "Walter Huston", - "Walter Matthau", - "Walter Pidgeon", - "Warren Beatty", - "Will Smith", - "Willem Dafoe", - "William Holden", - "William Hurt", - "William Powell", - "William S. Hart", - "Woody Allen", - "Woody Harrelson", - "Yul Brynner", - "Yves Montand"}; - -const std::array actresses = {"Agnes Moorehead", - "Aishwarya Rai", - "Alida Valli", - "Amy Adams", - "Angela Bassett", - "Angela Lansbury", - "Angelina Jolie", - "Anjelica Huston", - "Ann-Margret", - "Anna Karina", - "Anna Magnani", - "Anna May Wong", - "Anne Bancroft", - "Anne Baxter", - "Anne Hathaway", - "Anne Revere", - "Annette Bening", - "Annie Girardot", - "Anouk Aimée", - "Arletty", - "Asha Parekh", - "Asta Nielsen", - "Audrey Hepburn", - "Audrey Tautou", - "Ava Gardner", - "Barbara Hershey", - "Barbara Stanwyck", - "Barbra Streisand", - "Bette Davis", - "Bette Midler", - "Betty Grable", - "Beulah Bondi", - "Bibi Andersson", - "Blanche Sweet", - "Brenda Blethyn", - "Brigitte Bardot", - "Cameron Diaz", - "Carmen Maura", - "Carmen Miranda", - "Carole Lombard", - "Cate Blanchett", - "Catherine Deneuve", - "Catherine Frot", - "Catherine Zeta-Jones", - "Charlize Theron", - "Charlotte Gainsbourg", - "Charlotte Rampling", - "Claire Trevor", - "Clara Bow", - "Clara Kimball Young", - "Claudette Colbert", - "Claudia Cardinale", - "Colleen Moore", - "Danielle Darrieux", - "Debbie Reynolds", - "Deborah Kerr", - "Debra Winger", - "Delphine Seyrig", - "Diane Keaton", - "Diane Ladd", - "Dianne Wiest", - "Dolores Costello", - "Dolores del Río", - "Donna Reed", - "Doris Day", - "Dorothy Dandridge", - "Dorothy Gish", - "Edith Evans", - "Eleanor Parker", - "Elizabeth Taylor", - "Ellen Burstyn", - "Elsa Lanchester", - "Emily Watson", - "Emma Stone", - "Emma Thompson", - "Emmanuelle Béart", - "Emmanuelle Riva", - "Ethel Barrymore", - "Eva Marie Saint", - "Faina Ranevskaya", - "Fanny Ardant", - "Fatemeh Motamed-Arya", - "Faten Hamama", - "Faye Dunaway", - "Florence Lawrence", - "Frances McDormand", - "Francesca Bertini", - "Geena Davis", - "Gena Rowlands", - "Gene Tierney", - "Geraldine Page", - "Gina Lollobrigida", - "Ginger Rogers", - "Gisèle Casadesus", - "Giulietta Masina", - "Glenda Jackson", - "Glenn Close", - "Gloria Grahame", - "Gloria Swanson", - "Goldie Hawn", - "Golshifteh Farahani", - "Gong Li", - "Grace Kelly", - "Greer Garson", - "Greta Garbo", - "Gwyneth Paltrow", - "Halle Berry", - "Hamideh Kheiradabi", - "Hanna Schygulla", - "Harriet Andersson", - "Hedy Lamarr", - "Helen Mirren", - "Helena Bonham Carter", - "Hema Malini", - "Henny Porten", - "Hilary Swank", - "Hind Rostom", - "Holly Hunter", - "Ingrid Bergman", - "Ingrid Thulin", - "Irene Dunne", - "Irène Jacob", - "Isabelle Adjani", - "Isabelle Huppert", - "Jacqueline Bisset", - "Jane Alexander", - "Jane Fonda", - "Jane Wyman", - "Janet Gaynor", - "Janet Leigh", - "Jaya Bachchan", - "Jayne Mansfield", - "Jean Arthur", - "Jean Harlow", - "Jean Seberg", - "Jean Simmons", - "Jeanne Moreau", - "Jennifer Connelly", - "Jennifer Jason Leigh", - "Jennifer Jones", - "Jennifer Lawrence", - "Jessica Chastain", - "Jessica Lange", - "Jessica Tandy", - "Joan Allen", - "Joan Bennett", - "Joan Blondell", - "Joan Crawford", - "Joan Fontaine", - "Joanne Woodward", - "Jodie Foster", - "Judi Dench", - "Judith Anderson", - "Judy Davis", - "Judy Garland", - "Julia Roberts", - "Julianne Moore", - "Julie Andrews", - "Julie Christie", - "Juliette Binoche", - "Kajol", - "Kate Winslet", - "Katharine Hepburn", - "Kathleen Turner", - "Kathy Bates", - "Katy Jurado", - "Keira Knightley", - "Kinuyo Tanaka", - "Kristin Scott Thomas", - "Kyoko Kagawa", - "Lana Turner", - "Laura Dern", - "Laura Linney", - "Lauren Bacall", - "Lee Remick", - "Leila Hatami", - "Leslie Caron", - "Lilli Palmer", - "Lillian Gish", - "Liv Ullmann", - "Liza Minnelli", - "Louise Brooks", - "Luise Rainer", - "Lupe Vélez", - "Lyubov Orlova", - "Lyudmila Gurchenko", - "Mabel Normand", - "Machiko Kyo", - "Madhubala", - "Madhuri Dixit", - "Mae West", - "Maggie Cheung", - "Maggie Smith", - "Marcia Gay Harden", - "Margherita Buy", - "Maria Félix", - "Maria Montez", - "Maria Ouspenskaya", - "Maria Schell", - "Mariam Fakhr Eddine", - "Mariangela Melato", - "Maribel Verdú", - "Marie Dressler", - "Marilyn Monroe", - "Marion Cotillard", - "Marisa Tomei", - "Marlene Dietrich", - "Mary Astor", - "Mary Pickford", - "Mary Queeny", - "María Antonieta Pons", - "Maureen O'Hara", - "Maureen Stapleton", - "Meena Kumari", - "Mercedes McCambridge", - "Meryl Streep", - "Mia Farrow", - "Michelle Pfeiffer", - "Michelle Williams", - "Michelle Yeoh", - "Michèle Morgan", - "Mieko Harada", - "Miou-Miou", - "Miriam Hopkins", - "Monica Bellucci", - "Monica Vitti", - "Myrna Loy", - "Naomi Watts", - "Nargis", - "Natalie Portman", - "Natalie Wood", - "Nathalie Baye", - "Nicole Kidman", - "Nimmi", - "Norma Shearer", - "Norma Talmadge", - "Nutan", - "Octavia Spencer", - "Olivia de Havilland", - "Patricia Neal", - "Paulette Goddard", - "Penélope Cruz", - "Piper Laurie", - "Pola Negri", - "Raquel Welch", - "Reese Witherspoon", - "Renée Zellweger", - "Rita Hayworth", - "Romy Schneider", - "Rooney Mara", - "Rosalind Russell", - "Ruan Lingyu", - "Ruth Gordon", - "Sally Field", - "Salma Hayek", - "Sandra Bullock", - "Sandrine Bonnaire", - "Sara García", - "Scarlett Johansson", - "Setsuko Hara", - "Shadia", - "Sharon Stone", - "Shelley Winters", - "Shirley MacLaine", - "Shirley Temple", - "Shohreh Aghdashloo", - "Sigourney Weaver", - "Silvana Mangano", - "Simone Signoret", - "Simone Simon", - "Sissy Spacek", - "Soad Hosny", - "Sophia Loren", - "Sridevi", - "Stefania Sandrelli", - "Stéphane Audran", - "Suchitra Sen", - "Susan Hayward", - "Susan Sarandon", - "Sylvia Chang", - "Teresa Wright", - "Theda Bara", - "Thelma Ritter", - "Tilda Swinton", - "Uma Thurman", - "Valeria Golino", - "Vanessa Redgrave", - "Vera Kholodnaya", - "Veronica Lake", - "Victoria Abril", - "Vilma Bánky", - "Viola Davis", - "Virna Lisi", - "Vivien Leigh", - "Vyjayanthimala", - "Wendy Hiller", - "Whoopi Goldberg", - "Winona Ryder", - "Yousra", - "Zhang Ziyi"}; - -const std::array directors = {"Abbas Kiarostami", - "Abel Gance", - "Agnès Varda", - "Aki Kaurismäki", - "Akira Kurosawa", - "Alain Resnais", - "Alan J. Pakula", - "Albert & David Maysles", - "Alejandro González Iñárritu", - "Alejandro Jodorowsky", - "Alexander Dovzhenko", - "Alexander Mackendrick", - "Alexander Payne", - "Alexander Sokurov", - "Alfonso Cuarón", - "Alfred Hitchcock", - "Alice Guy-Blaché", - "Allan Dwan", - "Andrei Tarkovsky", - "Andrzej Wajda", - "Andy Warhol/Paul Morrissey", - "Ang Lee", - "Anthony Asquith", - "Anthony Mann", - "Apichatpong Weerasethakul", - "Arthur Penn", - "Bernardo Bertolucci", - "Billy Wilder", - "Blake Edwards", - "Bob Clampett", - "Bong Joon-Ho", - "Boris Barnet", - "Brian De Palma", - "Budd Boetticher", - "Busby Berkeley", - "Buster Keaton", - "Béla Tarr", - "Carl Theodor Dreyer", - "Carol Reed", - "Cecil B. DeMille", - "Cecil Hepworth", - "Chantal Akerman", - "Charles Burnett", - "Charles Chaplin", - "Chen Kaige", - "Chris Marker", - "Christopher Nolan", - "Chuck Jones", - "Claire Denis", - "Clarence Brown", - "Claude Chabrol", - "Claude Lanzmann", - "Clint Eastwood", - "Costa-Gavras", - "D. A. Pennebaker", - "D. W. Griffith", - "Danny Boyle", - "Dario Argento", - "Darren Aronofsky", - "Dave Fleischer", - "David Cronenberg", - "David Fincher", - "David Lean", - "David Lynch", - "David O. Russell", - "Don Siegel", - "Dorothy Arzner", - "Douglas Sirk", - "Dziga Vertov", - "Edgar G. Ulmer", - "Edward Yang", - "Edwin S. Porter", - "Elia Kazan", - "Emir Kusturica", - "Erich von Stroheim", - "Ernst Lubitsch", - "Errol Morris", - "F. W. Murnau", - "Federico Fellini", - "Francis Ford Coppola", - "Frank Borzage", - "Frank Capra", - "François Truffaut", - "Fred Niblo", - "Fred Zinnemann", - "Frederick Wiseman", - "Fritz Lang", - "G. W. Pabst", - "George A. Romero", - "George Cukor", - "George Lucas", - "George Miller", - "George Stevens", - "Georges Franju", - "Georges Méliès", - "Glauber Rocha", - "Gordon Parks", - "Guillermo del Toro", - "Gus Van Sant", - "Guy Maddin", - "Hal Ashby", - "Hayao Miyazaki", - "Henri-Georges Clouzot", - "Henry Hathaway", - "Henry King", - "Herschell Gordon Lewis", - "Hou Hsiao-Hsien", - "Howard Hawks", - "Ida Lupino", - "Ingmar Bergman", - "Ishirō Honda", - "J. Stuart Blackton", - "Jack Arnold", - "Jacques Becker", - "Jacques Demy", - "Jacques Rivette", - "Jacques Tati", - "Jacques Tourneur", - "James Cameron", - "James Ivory", - "James Whale", - "Jan Švankmajer", - "Jane Campion", - "Jean Cocteau", - "Jean Renoir", - "Jean Rouch", - "Jean Vigo", - "Jean-Luc Godard", - "Jean-Pierre & Luc Dardenne", - "Jean-Pierre Melville", - "Jerry Lewis", - "Jia Zhangke", - "Jim Jarmusch", - "Joel & Ethan Coen", - "John Boorman", - "John Carpenter", - "John Cassavetes", - "John Ford", - "John Frankenheimer", - "John Hughes", - "John Huston", - "John Landis", - "John Lasseter", - "John Sayles", - "John Schlesinger", - "John Waters", - "John Woo", - "Jonathan Demme", - "Joris Ivens", - "Josef von Sternberg", - "Joseph L. Mankiewicz", - "Joseph Losey", - "Jules Dassin", - "Julien Duvivier", - "Kathryn Bigelow", - "Ken Loach", - "Ken Russell", - "Kenji Mizoguchi", - "Kenneth Anger", - "Kevin Smith", - "King Vidor", - "Kon Ichikawa", - "Krzysztof Kieślowski", - "Lars von Trier", - "Lasse Hallström", - "Leni Riefenstahl", - "Leo McCarey", - "Lev Kuleshov", - "Lindsay Anderson", - "Lois Weber", - "Louis & Auguste Lumière", - "Louis Feuillade", - "Louis Malle", - "Luchino Visconti", - "Luis Buñuel", - "Luis García Berlanga", - "Mack Sennett", - "Manoel de Oliveira", - "Marcel Carné", - "Mario Bava", - "Mario Monicelli", - "Martin Scorsese", - "Maurice Tourneur", - "Mauritz Stiller", - "Max Ophüls", - "Maya Deren", - "Mel Brooks", - "Mervyn LeRoy", - "Michael Cimino", - "Michael Curtiz", - "Michael Haneke", - "Michael Mann", - "Michael Powell (& Emeric Pressburger)", - "Michelangelo Antonioni", - "Mike Leigh", - "Mike Nichols", - "Mikio Naruse", - "Miklós Jancsó", - "Miloš Forman", - "Mohsen Makhmalbaf", - "Morris Engel", - "Nagisa Ōshima", - "Nicholas Ray", - "Nicolas Roeg", - "Nuri Bilge Ceylan", - "Oliver Stone", - "Olivier Assayas", - "Orson Welles", - "Oscar Micheaux", - "Otto Preminger", - "Ousmane Sembène", - "Paul Greengrass", - "Paul Thomas Anderson", - "Paul Verhoeven", - "Pedro Almodóvar", - "Pedro Costa", - "Peter Bogdanovich", - "Peter Greenaway", - "Peter Jackson", - "Peter Watkins", - "Peter Weir", - "Pier Paolo Pasolini", - "Preston Sturges", - "Quentin Tarantino", - "Rainer Werner Fassbinder", - "Raj Kapoor", - "Ralph Bakshi", - "Raoul Walsh", - "René Clair", - "Richard Donner", - "Richard Lester", - "Richard Linklater", - "Ridley Scott", - "Rob Reiner", - "Robert Aldrich", - "Robert Altman", - "Robert Bresson", - "Robert J. Flaherty", - "Robert Rodríguez", - "Robert Siodmak", - "Robert Wise", - "Robert Zemeckis", - "Roberto Rossellini", - "Roger Corman", - "Roman Polański", - "Rouben Mamoulian", - "Russ Meyer", - "Sadao Yamanaka", - "Sam Peckinpah", - "Sam Raimi", - "Samuel Fuller", - "Satyajit Ray", - "Sergei M. Eisenstein", - "Sergei Parajanov", - "Sergio Leone", - "Sidney Lumet", - "Sidney Olcott", - "Sofia Coppola", - "Spike Lee", - "Stan Brakhage", - "Stanley Donen (& Gene Kelly)", - "Stanley Kubrick", - "Stephen Frears", - "Steven Soderbergh", - "Steven Spielberg", - "Sydney Pollack", - "Takeshi Kitano", - "Terence Davies", - "Terrence Malick", - "Terry Gilliam", - "Tex Avery", - "Theodoros Angelopoulos", - "Tim Burton", - "Tod Browning", - "Todd Haynes", - "Tsai Ming-Liang", - "Victor Fleming", - "Victor Sjöström", - "Vincente Minnelli", - "Vittorio De Sica", - "Vsevolod Pudovkin", - "Walt Disney/Ub Iwerks", - "Walter Hill", - "Werner Herzog", - "Wes Anderson", - "Wes Craven", - "William A. Wellman", - "William Castle", - "William Friedkin", - "William K.L. Dickson", - "William Wyler", - "Wim Wenders", - "Winsor McCay", - "Wong Kar-Wai", - "Woody Allen", - "Yasujirō Ozu", - "Yevgeni Bauer", - "Yuriy Norshteyn", - "Zhang Yimou", - "Éric Rohmer"}; - -const std::array movieGenres = {"Action", "Comedy", "Drama", "Fantasy", "Horror", - "Mystery", "Romance", "Thriller", "Western"}; - -const std::array movies = { - "12 Angry Men", - "2001: A Space Odyssey", - "8½", - "A Christmas Story", - "A Clockwork Orange", - "A Streetcar Named Desire", - "Alien", - "Aliens", - "All About Eve", - "All Quiet on the Western Front", - "Amadeus", - "American Beauty", - "American History X", - "Amores perros", - "Annie Hall", - "Apocalypse Now", - "Arsenic and Old Lace", - "Avatar", - "Back to the Future", - "Barry Lyndon", - "Batman Begins", - "Ben-Hur", - "Big Fish", - "Blade Runner", - "Bom yeoreum gaeul gyeoul geurigo bom", - "Braveheart", - "Butch Cassidy and the Sundance Kid", - "C'era una volta il West", - "Casablanca", - "Casino", - "Children of Men", - "Chinatown", - "Cidade de Deus", - "Citizen Kane", - "City Lights", - "Cool Hand Luke", - "Crash", - "Das Boot", - "Das Leben der Anderen", - "Der Untergang", - "Det sjunde inseglet", - "Dial M for Murder", - "Die Hard", - "District 9", - "Dog Day Afternoon", - "Donnie Darko", - "Double Indemnity", - "Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb", - "Duck Soup", - "Ed Wood", - "El laberinto del fauno", - "El secreto de sus ojos", - "Eternal Sunshine of the Spotless Mind", - "Fa yeung nin wa", - "Fanny och Alexander", - "Fargo", - "Festen", - "Fight Club", - "Finding Nemo", - "Forrest Gump", - "Full Metal Jacket", - "Gandhi", - "Gladiator", - "Gone with the Wind", - "Good Will Hunting", - "Goodfellas", - "Gran Torino", - "Groundhog Day", - "Harvey", - "Hauru no ugoku shiro", - "Heat", - "High Noon", - "His Girl Friday", - "Hotaru no haka", - "Hotel Rwanda", - "How to Train Your Dragon", - "Ikiru", - "Il buono, il brutto, il cattivo.", - "In Bruges", - "Inception", - "Indiana Jones and the Last Crusade", - "Inglourious Basterds", - "Into the Wild", - "It Happened One Night", - "It's a Wonderful Life", - "Jaws", - "Judgment at Nuremberg", - "Kick-Ass", - "Kill Bill: Vol. 1", - "Kill Bill: Vol. 2", - "Kind Hearts and Coronets", - "King Kong", - "L.A. Confidential", - "La battaglia di Algeri", - "La passion de Jeanne d'Arc", - "La strada", - "La vita è bella", - "Ladri di biciclette", - "Lawrence of Arabia", - "Le fabuleux destin d'Amélie Poulain", - "Le notti di Cabiria", - "Le salaire de la peur", - "Le scaphandre et le papillon", - "Les diaboliques", - "Les quatre cents coups", - "Letters from Iwo Jima", - "Life of Brian", - "Lock, Stock and Two Smoking Barrels", - "Låt den rätte komma in", - "Léon", - "M", - "Magnolia", - "Manhattan", - "Mary and Max", - "Memento", - "Metropolis", - "Million Dollar Baby", - "Modern Times", - "Mononoke-hime", - "Monsters, Inc.", - "Monty Python and the Holy Grail", - "Mou gaan dou", - "Mr. Smith Goes to Washington", - "Mulholland Dr.", - "Mystic River", - "Network", - "No Country for Old Men", - "North by Northwest", - "Notorious", - "Nuovo Cinema Paradiso", - "Oldeuboi", - "On the Waterfront", - "Once Upon a Time in America", - "One Flew Over the Cuckoo's Nest", - "Paths of Glory", - "Patton", - "Per qualche dollaro in più", - "Persona", - "Pirates of the Caribbean: The Curse of the Black Pearl", - "Platoon", - "Psycho", - "Pulp Fiction", - "Raging Bull", - "Raiders of the Lost Ark", - "Ran", - "Rashômon", - "Ratatouille", - "Rear Window", - "Rebecca", - "Requiem for a Dream", - "Reservoir Dogs", - "Rocky", - "Roman Holiday", - "Rope", - "Rosemary's Baby", - "Saving Private Ryan", - "Scarface", - "Schindler's List", - "Se7en", - "Sen to Chihiro no kamikakushi", - "Shichinin no samurai", - "Sin City", - "Singin' in the Rain", - "Sleuth", - "Slumdog Millionaire", - "Smultronstället", - "Snatch.", - "Some Like It Hot", - "Stalag 17", - "Stand by Me", - "Star Trek", - "Star Wars", - "Star Wars: Episode V - The Empire Strikes Back", - "Star Wars: Episode VI - Return of the Jedi", - "Strangers on a Train", - "Sunrise: A Song of Two Humans", - "Sunset Blvd.", - "Taxi Driver", - "Tenkû no shiro Rapyuta", - "Terminator 2: Judgment Day", - "The Apartment", - "The Best Years of Our Lives", - "The Big Lebowski", - "The Big Sleep", - "The Bourne Ultimatum", - "The Bridge on the River Kwai", - "The Dark Knight", - "The Deer Hunter", - "The Departed", - "The Elephant Man", - "The Exorcist", - "The General", - "The Godfather", - "The Godfather: Part II", - "The Gold Rush", - "The Graduate", - "The Grapes of Wrath", - "The Great Dictator", - "The Great Escape", - "The Green Mile", - "The Hustler", - "The Incredibles", - "The Kid", - "The Killing", - "The Lion King", - "The Lord of the Rings: The Fellowship of the Ring", - "The Lord of the Rings: The Return of the King", - "The Lord of the Rings: The Two Towers", - "The Maltese Falcon", - "The Man Who Shot Liberty Valance", - "The Manchurian Candidate", - "The Matrix", - "The Night of the Hunter", - "The Philadelphia Story", - "The Pianist", - "The Prestige", - "The Princess Bride", - "The Shawshank Redemption", - "The Shining", - "The Silence of the Lambs", - "The Sixth Sense", - "The Social Network", - "The Sting", - "The Terminator", - "The Thing", - "The Third Man", - "The Treasure of the Sierra Madre", - "The Truman Show", - "The Usual Suspects", - "The Wild Bunch", - "The Wizard of Oz", - "The Wrestler", - "There Will Be Blood", - "To Kill a Mockingbird", - "Tonari no Totoro", - "Touch of Evil", - "Toy Story", - "Toy Story 3", - "Trainspotting", - "Trois couleurs: Rouge", - "Twelve Monkeys", - "Unforgiven", - "Up", - "V for Vendetta", - "Vertigo", - "WALL·E", - "Who's Afraid of Virginia Woolf?", - "Witness for the Prosecution", - "Yeopgijeogin geunyeo", - "Yôjinbô"}; - -const std::array tvShows = {"Africa", - "Apocalypse: The Second World War", - "Arcane", - "Arrested Development", - "As If", - "Attack on Titan", - "Avatar: The Last Airbender", - "Band of Brothers", - "Batman: The Animated Series", - "Battlestar Galactica", - "Better Call Saul", - "Black Mirror", - "Blackadder Goes Forth", - "Blue Planet II", - "BoJack Horseman", - "Boardwalk Empire", - "Breaking Bad", - "Chappelle's Show", - "Chernobyl", - "Clarkson's Farm", - "Community", - "Cosmos", - "Cosmos: A Spacetime Odyssey", - "Cowboy Bebop", - "Curb Your Enthusiasm", - "Dark", - "Das Boot", - "Deadwood", - "Death Note", - "Dekalog", - "Dexter", - "Dopesick", - "Downton Abbey", - "Dragon Ball", - "Fargo", - "Fawlty Towers", - "Firefly", - "Fleabag", - "Freaks and Geeks", - "Friends", - "Frozen Planet", - "Fullmetal Alchemist: Brotherhood", - "Game of Thrones", - "Gomorrah", - "Gravity Falls", - "Gullak", - "Hannibal", - "Heartstopper", - "House M.D.", - "House of Cards", - "Human Planet", - "Hunter x Hunter", - "I, Claudius", - "Invincible", - "It's Always Sunny in Philadelphia", - "Kota Factory", - "Last Week Tonight with John Oliver", - "Leyla and Mecnun", - "Life", - "Mad Men", - "Mindhunter", - "Monty Python's Flying Circus", - "Narcos", - "Nathan for You", - "One Piece", - "One Punch Man", - "Only Fools and Horses", - "Our Planet", - "Over the Garden Wall", - "Oz", - "Parks and Recreation", - "Peaky Blinders", - "Peep Show", - "Persona", - "Planet Earth", - "Planet Earth II", - "Pride and Prejudice", - "Rick and Morty", - "Rome", - "Seinfeld", - "Sherlock", - "Silicon Valley", - "Six Feet Under", - "Skam", - "Sons of Anarchy", - "South Park", - "Spartacus: Gods of the Arena", - "Steins;Gate", - "Stranger Things", - "Succession", - "TVF Pitchers", - "Taskmaster", - "Ted Lasso", - "The Beatles: Get Back", - "The Blue Planet", - "The Boys", - "The Bridge", - "The Civil War", - "The Crown", - "The Grand Tour", - "The IT Crowd", - "The Last Dance", - "The Mandalorian", - "The Office", - "The Rehearsal", - "The Shield", - "The Simpsons", - "The Sopranos", - "The Thick of It", - "The Twilight Zone", - "The Vietnam War", - "The West Wing", - "The Wire", - "The World at War", - "The X-Files", - "This Is Us", - "True Detective", - "Twin Peaks", - "Twin Peaks", - "Vinland Saga", - "Westworld", - "When They See Us"}; - -} diff --git a/src/modules/movie/MovieData.h b/src/modules/movie/MovieData.h index 95464914..d1a31ff6 100644 --- a/src/modules/movie/MovieData.h +++ b/src/modules/movie/MovieData.h @@ -7,10 +7,1294 @@ namespace faker { -extern const std::array actors; -extern const std::array actresses; -extern const std::array directors; -extern const std::array movieGenres; -extern const std::array movies; -extern const std::array tvShows; +const auto actors = std::to_array({ + "Aamir Khan", + "Abbott and Costello", + "Adel Imam", + "Ahmed Zaki", + "Al Pacino", + "Alain Delon", + "Alan Arkin", + "Alan Rickman", + "Alastair Sim", + "Albert Finney", + "Alberto Sordi", + "Alec Guinness", + "Amitabh Bachchan", + "Andy Serkis", + "Anthony Hopkins", + "Anthony Perkins", + "Anthony Quinn", + "Armin Mueller-Stahl", + "Arnold Schwarzenegger", + "Arthur Kennedy", + "Bela Lugosi", + "Ben Kingsley", + "Benicio del Toro", + "Bill Murray", + "Bing Crosby", + "Bob Hope", + "Bob Hoskins", + "Boris Karloff", + "Bourvil", + "Brad Pitt", + "Brendan Gleeson", + "Bruce Lee", + "Bruno Ganz", + "Burt Lancaster", + "Buster Keaton", + "Cantinflas", + "Cary Grant", + "Charles Boyer", + "Charles Chaplin", + "Charles Laughton", + "Charlton Heston", + "Chishu Ryu", + "Choi Min-sik", + "Chow Yun-fat", + "Chris Cooper", + "Christian Bale", + "Christopher Lee", + "Christopher Walken", + "Clark Gable", + "Claude Rains", + "Clint Eastwood", + "Conrad Veidt", + "Dana Andrews", + "Daniel Auteuil", + "Daniel Day-Lewis", + "David Niven", + "Denholm Elliott", + "Dennis Hopper", + "Denzel Washington", + "Dev Anand", + "Dilip Kumar", + "Dirk Bogarde", + "Don Cheadle", + "Donald Crisp", + "Donald Sutherland", + "Douglas Fairbanks", + "Dustin Hoffman", + "Ed Harris", + "Edward Everett Horton", + "Edward G. Robinson", + "Edward Norton", + "Eli Wallach", + "Emil Jannings", + "Erich von Stroheim", + "Erland Josephson", + "Ernest Borgnine", + "Errol Flynn", + "Ewan McGregor", + "Farid Shawqi", + "Fernandel", + "Fernando Fernán Gómez", + "Fernando Rey", + "Frank Sinatra", + "Fred Astaire", + "Fredric March", + "Gael García Bernal", + "Gary Cooper", + "Gary Oldman", + "Gaston Modot", + "Gene Hackman", + "Gene Kelly", + "Gene Wilder", + "Geoffrey Rush", + "George C. Scott", + "George Clooney", + "George Sanders", + "Gert Fröbe", + "Gian Maria Volonté", + "Giancarlo Giannini", + "Glenn Ford", + "Gregory Peck", + "Groucho Marx / The Marx Brothers", + "Gunnar Björnstrand", + "Gérard Depardieu", + "Gérard Philipe", + "Harold Lloyd", + "Harrison Ford", + "Harry Dean Stanton", + "Harvey Keitel", + "Heath Ledger", + "Henry Fonda", + "Humphrey Bogart", + "Ian McKellen", + "Innokenty Smoktunovsky", + "Jack Lemmon", + "Jack Nicholson", + "Jackie Chan", + "Jacques Tati", + "Jake Gyllenhaal", + "James Caan", + "James Cagney", + "James Coburn", + "James Dean", + "James Earl Jones", + "James Mason", + "James Woods", + "Jason Robards", + "Javier Bardem", + "Jean Gabin", + "Jean Hersholt", + "Jean Marais", + "Jean-Claude Brialy", + "Jean-Louis Trintignant", + "Jean-Paul Belmondo", + "Jean-Pierre Léaud", + "Jeff Bridges", + "Jeremy Irons", + "Jerry Lewis", + "Jim Carrey", + "Joaquin Phoenix", + "Joe Pesci", + "Joel McCrea", + "John Barrymore", + "John Carradine", + "John Cleese", + "John Gielgud", + "John Gilbert", + "John Hurt", + "John Malkovich", + "John Travolta", + "John Wayne", + "Johnny Depp", + "Jon Voight", + "Joseph Cotten", + "José Ferrer", + "Karl Malden", + "Kenneth Branagh", + "Kevin Spacey", + "King Baggot", + "Kirk Douglas", + "Klaus Kinski", + "Laurel and Hardy", + "Laurence Olivier", + "Lee J. Cobb", + "Lee Marvin", + "Leonardo DiCaprio", + "Leslie Cheung", + "Leslie Howard", + "Liam Neeson", + "Lionel Barrymore", + "Lon Chaney", + "Louis de Funès", + "Mack Sennett", + "Marcello Mastroianni", + "Marlon Brando", + "Martin Balsam", + "Martin Landau", + "Martin Sheen", + "Matt Damon", + "Matthew McConaughey", + "Max Linder", + "Max von Sydow", + "Maximilian Schell", + "Mel Gibson", + "Melvyn Douglas", + "Michael Caine", + "Michael Chekhov", + "Michael Douglas", + "Michael Fassbender", + "Michael Redgrave", + "Michel Piccoli", + "Michel Serrault", + "Michel Simon", + "Mickey Rooney", + "Montgomery Clift", + "Morgan Freeman", + "Nanni Moretti", + "Naseeruddin Shah", + "Nicolas Cage", + "Nikolay Cherkasov", + "Nino Manfredi", + "Omar Sharif", + "Orson Welles", + "Paul Muni", + "Paul Newman", + "Paul Robeson", + "Paul Scofield", + "Paul Winfield", + "Pedro Infante", + "Peter Cushing", + "Peter Finch", + "Peter Lorre", + "Peter O'Toole", + "Peter Sellers", + "Philip Seymour Hoffman", + "Philippe Noiret", + "Raimu", + "Raj Kapoor", + "Rajesh Khanna", + "Ralph Fiennes", + "Ralph Richardson", + "Rex Harrison", + "Richard Attenborough", + "Richard Burton", + "Richard Dreyfuss", + "Richard Gere", + "Richard Harris", + "Richard Widmark", + "Robert De NiroJames Stewart", + "Robert Donat", + "Robert Downey Jr.", + "Robert Duvall", + "Robert Mitchum", + "Robert Redford", + "Robert Ryan", + "Robert Shaw", + "Roberto Benigni", + "Robin Williams", + "Rock Hudson", + "Rod Steiger", + "Ronald Colman", + "Roscoe 'Fatty' Arbuckle", + "Roy Scheider", + "Rudolf Klein-Rogge", + "Rudolph Valentino", + "Russell Crowe", + "Rutger Hauer", + "Ryan Gosling", + "Samuel L. Jackson", + "Sean Connery", + "Sean Penn", + "Sessue Hayakawa", + "Shah Rukh Khan", + "Sidney Poitier", + "Spencer Tracy", + "Stellan Skarsgård", + "Sterling Hayden", + "Steve Buscemi", + "Steve Martin", + "Steve McQueen", + "Takashi Shimura", + "Takeshi Kitano", + "Tatsuya Nakadai", + "The Three Stooges", + "Thomas Mitchell", + "Tim Robbins", + "Tom Courtenay", + "Tom Cruise", + "Tom Hanks", + "Tommy Lee Jones", + "Tony Curtis", + "Tony Leung Chiu Wai", + "Toshiro Mifune", + "Totò", + "Ugo Tognazzi", + "Uttam Kumar", + "Victor Mature", + "Victor McLaglen", + "Viggo Mortensen", + "Vincent Cassel", + "Vincent Price", + "Vittorio Gassman", + "W.C. Fields", + "Wallace Beery", + "Walter Brennan", + "Walter Huston", + "Walter Matthau", + "Walter Pidgeon", + "Warren Beatty", + "Will Smith", + "Willem Dafoe", + "William Holden", + "William Hurt", + "William Powell", + "William S. Hart", + "Woody Allen", + "Woody Harrelson", + "Yul Brynner", + "Yves Montand" +}); + +const auto actresses = std::to_array({ + "Agnes Moorehead", + "Aishwarya Rai", + "Alida Valli", + "Amy Adams", + "Angela Bassett", + "Angela Lansbury", + "Angelina Jolie", + "Anjelica Huston", + "Ann-Margret", + "Anna Karina", + "Anna Magnani", + "Anna May Wong", + "Anne Bancroft", + "Anne Baxter", + "Anne Hathaway", + "Anne Revere", + "Annette Bening", + "Annie Girardot", + "Anouk Aimée", + "Arletty", + "Asha Parekh", + "Asta Nielsen", + "Audrey Hepburn", + "Audrey Tautou", + "Ava Gardner", + "Barbara Hershey", + "Barbara Stanwyck", + "Barbra Streisand", + "Bette Davis", + "Bette Midler", + "Betty Grable", + "Beulah Bondi", + "Bibi Andersson", + "Blanche Sweet", + "Brenda Blethyn", + "Brigitte Bardot", + "Cameron Diaz", + "Carmen Maura", + "Carmen Miranda", + "Carole Lombard", + "Cate Blanchett", + "Catherine Deneuve", + "Catherine Frot", + "Catherine Zeta-Jones", + "Charlize Theron", + "Charlotte Gainsbourg", + "Charlotte Rampling", + "Claire Trevor", + "Clara Bow", + "Clara Kimball Young", + "Claudette Colbert", + "Claudia Cardinale", + "Colleen Moore", + "Danielle Darrieux", + "Debbie Reynolds", + "Deborah Kerr", + "Debra Winger", + "Delphine Seyrig", + "Diane Keaton", + "Diane Ladd", + "Dianne Wiest", + "Dolores Costello", + "Dolores del Río", + "Donna Reed", + "Doris Day", + "Dorothy Dandridge", + "Dorothy Gish", + "Edith Evans", + "Eleanor Parker", + "Elizabeth Taylor", + "Ellen Burstyn", + "Elsa Lanchester", + "Emily Watson", + "Emma Stone", + "Emma Thompson", + "Emmanuelle Béart", + "Emmanuelle Riva", + "Ethel Barrymore", + "Eva Marie Saint", + "Faina Ranevskaya", + "Fanny Ardant", + "Fatemeh Motamed-Arya", + "Faten Hamama", + "Faye Dunaway", + "Florence Lawrence", + "Frances McDormand", + "Francesca Bertini", + "Geena Davis", + "Gena Rowlands", + "Gene Tierney", + "Geraldine Page", + "Gina Lollobrigida", + "Ginger Rogers", + "Gisèle Casadesus", + "Giulietta Masina", + "Glenda Jackson", + "Glenn Close", + "Gloria Grahame", + "Gloria Swanson", + "Goldie Hawn", + "Golshifteh Farahani", + "Gong Li", + "Grace Kelly", + "Greer Garson", + "Greta Garbo", + "Gwyneth Paltrow", + "Halle Berry", + "Hamideh Kheiradabi", + "Hanna Schygulla", + "Harriet Andersson", + "Hedy Lamarr", + "Helen Mirren", + "Helena Bonham Carter", + "Hema Malini", + "Henny Porten", + "Hilary Swank", + "Hind Rostom", + "Holly Hunter", + "Ingrid Bergman", + "Ingrid Thulin", + "Irene Dunne", + "Irène Jacob", + "Isabelle Adjani", + "Isabelle Huppert", + "Jacqueline Bisset", + "Jane Alexander", + "Jane Fonda", + "Jane Wyman", + "Janet Gaynor", + "Janet Leigh", + "Jaya Bachchan", + "Jayne Mansfield", + "Jean Arthur", + "Jean Harlow", + "Jean Seberg", + "Jean Simmons", + "Jeanne Moreau", + "Jennifer Connelly", + "Jennifer Jason Leigh", + "Jennifer Jones", + "Jennifer Lawrence", + "Jessica Chastain", + "Jessica Lange", + "Jessica Tandy", + "Joan Allen", + "Joan Bennett", + "Joan Blondell", + "Joan Crawford", + "Joan Fontaine", + "Joanne Woodward", + "Jodie Foster", + "Judi Dench", + "Judith Anderson", + "Judy Davis", + "Judy Garland", + "Julia Roberts", + "Julianne Moore", + "Julie Andrews", + "Julie Christie", + "Juliette Binoche", + "Kajol", + "Kate Winslet", + "Katharine Hepburn", + "Kathleen Turner", + "Kathy Bates", + "Katy Jurado", + "Keira Knightley", + "Kinuyo Tanaka", + "Kristin Scott Thomas", + "Kyoko Kagawa", + "Lana Turner", + "Laura Dern", + "Laura Linney", + "Lauren Bacall", + "Lee Remick", + "Leila Hatami", + "Leslie Caron", + "Lilli Palmer", + "Lillian Gish", + "Liv Ullmann", + "Liza Minnelli", + "Louise Brooks", + "Luise Rainer", + "Lupe Vélez", + "Lyubov Orlova", + "Lyudmila Gurchenko", + "Mabel Normand", + "Machiko Kyo", + "Madhubala", + "Madhuri Dixit", + "Mae West", + "Maggie Cheung", + "Maggie Smith", + "Marcia Gay Harden", + "Margherita Buy", + "Maria Félix", + "Maria Montez", + "Maria Ouspenskaya", + "Maria Schell", + "Mariam Fakhr Eddine", + "Mariangela Melato", + "Maribel Verdú", + "Marie Dressler", + "Marilyn Monroe", + "Marion Cotillard", + "Marisa Tomei", + "Marlene Dietrich", + "Mary Astor", + "Mary Pickford", + "Mary Queeny", + "María Antonieta Pons", + "Maureen O'Hara", + "Maureen Stapleton", + "Meena Kumari", + "Mercedes McCambridge", + "Meryl Streep", + "Mia Farrow", + "Michelle Pfeiffer", + "Michelle Williams", + "Michelle Yeoh", + "Michèle Morgan", + "Mieko Harada", + "Miou-Miou", + "Miriam Hopkins", + "Monica Bellucci", + "Monica Vitti", + "Myrna Loy", + "Naomi Watts", + "Nargis", + "Natalie Portman", + "Natalie Wood", + "Nathalie Baye", + "Nicole Kidman", + "Nimmi", + "Norma Shearer", + "Norma Talmadge", + "Nutan", + "Octavia Spencer", + "Olivia de Havilland", + "Patricia Neal", + "Paulette Goddard", + "Penélope Cruz", + "Piper Laurie", + "Pola Negri", + "Raquel Welch", + "Reese Witherspoon", + "Renée Zellweger", + "Rita Hayworth", + "Romy Schneider", + "Rooney Mara", + "Rosalind Russell", + "Ruan Lingyu", + "Ruth Gordon", + "Sally Field", + "Salma Hayek", + "Sandra Bullock", + "Sandrine Bonnaire", + "Sara García", + "Scarlett Johansson", + "Setsuko Hara", + "Shadia", + "Sharon Stone", + "Shelley Winters", + "Shirley MacLaine", + "Shirley Temple", + "Shohreh Aghdashloo", + "Sigourney Weaver", + "Silvana Mangano", + "Simone Signoret", + "Simone Simon", + "Sissy Spacek", + "Soad Hosny", + "Sophia Loren", + "Sridevi", + "Stefania Sandrelli", + "Stéphane Audran", + "Suchitra Sen", + "Susan Hayward", + "Susan Sarandon", + "Sylvia Chang", + "Teresa Wright", + "Theda Bara", + "Thelma Ritter", + "Tilda Swinton", + "Uma Thurman", + "Valeria Golino", + "Vanessa Redgrave", + "Vera Kholodnaya", + "Veronica Lake", + "Victoria Abril", + "Vilma Bánky", + "Viola Davis", + "Virna Lisi", + "Vivien Leigh", + "Vyjayanthimala", + "Wendy Hiller", + "Whoopi Goldberg", + "Winona Ryder", + "Yousra", + "Zhang Ziyi" +}); + +const auto directors = std::to_array({"Abbas Kiarostami", + "Abel Gance", + "Agnès Varda", + "Aki Kaurismäki", + "Akira Kurosawa", + "Alain Resnais", + "Alan J. Pakula", + "Albert & David Maysles", + "Alejandro González Iñárritu", + "Alejandro Jodorowsky", + "Alexander Dovzhenko", + "Alexander Mackendrick", + "Alexander Payne", + "Alexander Sokurov", + "Alfonso Cuarón", + "Alfred Hitchcock", + "Alice Guy-Blaché", + "Allan Dwan", + "Andrei Tarkovsky", + "Andrzej Wajda", + "Andy Warhol/Paul Morrissey", + "Ang Lee", + "Anthony Asquith", + "Anthony Mann", + "Apichatpong Weerasethakul", + "Arthur Penn", + "Bernardo Bertolucci", + "Billy Wilder", + "Blake Edwards", + "Bob Clampett", + "Bong Joon-Ho", + "Boris Barnet", + "Brian De Palma", + "Budd Boetticher", + "Busby Berkeley", + "Buster Keaton", + "Béla Tarr", + "Carl Theodor Dreyer", + "Carol Reed", + "Cecil B. DeMille", + "Cecil Hepworth", + "Chantal Akerman", + "Charles Burnett", + "Charles Chaplin", + "Chen Kaige", + "Chris Marker", + "Christopher Nolan", + "Chuck Jones", + "Claire Denis", + "Clarence Brown", + "Claude Chabrol", + "Claude Lanzmann", + "Clint Eastwood", + "Costa-Gavras", + "D. A. Pennebaker", + "D. W. Griffith", + "Danny Boyle", + "Dario Argento", + "Darren Aronofsky", + "Dave Fleischer", + "David Cronenberg", + "David Fincher", + "David Lean", + "David Lynch", + "David O. Russell", + "Don Siegel", + "Dorothy Arzner", + "Douglas Sirk", + "Dziga Vertov", + "Edgar G. Ulmer", + "Edward Yang", + "Edwin S. Porter", + "Elia Kazan", + "Emir Kusturica", + "Erich von Stroheim", + "Ernst Lubitsch", + "Errol Morris", + "F. W. Murnau", + "Federico Fellini", + "Francis Ford Coppola", + "Frank Borzage", + "Frank Capra", + "François Truffaut", + "Fred Niblo", + "Fred Zinnemann", + "Frederick Wiseman", + "Fritz Lang", + "G. W. Pabst", + "George A. Romero", + "George Cukor", + "George Lucas", + "George Miller", + "George Stevens", + "Georges Franju", + "Georges Méliès", + "Glauber Rocha", + "Gordon Parks", + "Guillermo del Toro", + "Gus Van Sant", + "Guy Maddin", + "Hal Ashby", + "Hayao Miyazaki", + "Henri-Georges Clouzot", + "Henry Hathaway", + "Henry King", + "Herschell Gordon Lewis", + "Hou Hsiao-Hsien", + "Howard Hawks", + "Ida Lupino", + "Ingmar Bergman", + "Ishirō Honda", + "J. Stuart Blackton", + "Jack Arnold", + "Jacques Becker", + "Jacques Demy", + "Jacques Rivette", + "Jacques Tati", + "Jacques Tourneur", + "James Cameron", + "James Ivory", + "James Whale", + "Jan Švankmajer", + "Jane Campion", + "Jean Cocteau", + "Jean Renoir", + "Jean Rouch", + "Jean Vigo", + "Jean-Luc Godard", + "Jean-Pierre & Luc Dardenne", + "Jean-Pierre Melville", + "Jerry Lewis", + "Jia Zhangke", + "Jim Jarmusch", + "Joel & Ethan Coen", + "John Boorman", + "John Carpenter", + "John Cassavetes", + "John Ford", + "John Frankenheimer", + "John Hughes", + "John Huston", + "John Landis", + "John Lasseter", + "John Sayles", + "John Schlesinger", + "John Waters", + "John Woo", + "Jonathan Demme", + "Joris Ivens", + "Josef von Sternberg", + "Joseph L. Mankiewicz", + "Joseph Losey", + "Jules Dassin", + "Julien Duvivier", + "Kathryn Bigelow", + "Ken Loach", + "Ken Russell", + "Kenji Mizoguchi", + "Kenneth Anger", + "Kevin Smith", + "King Vidor", + "Kon Ichikawa", + "Krzysztof Kieślowski", + "Lars von Trier", + "Lasse Hallström", + "Leni Riefenstahl", + "Leo McCarey", + "Lev Kuleshov", + "Lindsay Anderson", + "Lois Weber", + "Louis & Auguste Lumière", + "Louis Feuillade", + "Louis Malle", + "Luchino Visconti", + "Luis Buñuel", + "Luis García Berlanga", + "Mack Sennett", + "Manoel de Oliveira", + "Marcel Carné", + "Mario Bava", + "Mario Monicelli", + "Martin Scorsese", + "Maurice Tourneur", + "Mauritz Stiller", + "Max Ophüls", + "Maya Deren", + "Mel Brooks", + "Mervyn LeRoy", + "Michael Cimino", + "Michael Curtiz", + "Michael Haneke", + "Michael Mann", + "Michael Powell (& Emeric Pressburger)", + "Michelangelo Antonioni", + "Mike Leigh", + "Mike Nichols", + "Mikio Naruse", + "Miklós Jancsó", + "Miloš Forman", + "Mohsen Makhmalbaf", + "Morris Engel", + "Nagisa Ōshima", + "Nicholas Ray", + "Nicolas Roeg", + "Nuri Bilge Ceylan", + "Oliver Stone", + "Olivier Assayas", + "Orson Welles", + "Oscar Micheaux", + "Otto Preminger", + "Ousmane Sembène", + "Paul Greengrass", + "Paul Thomas Anderson", + "Paul Verhoeven", + "Pedro Almodóvar", + "Pedro Costa", + "Peter Bogdanovich", + "Peter Greenaway", + "Peter Jackson", + "Peter Watkins", + "Peter Weir", + "Pier Paolo Pasolini", + "Preston Sturges", + "Quentin Tarantino", + "Rainer Werner Fassbinder", + "Raj Kapoor", + "Ralph Bakshi", + "Raoul Walsh", + "René Clair", + "Richard Donner", + "Richard Lester", + "Richard Linklater", + "Ridley Scott", + "Rob Reiner", + "Robert Aldrich", + "Robert Altman", + "Robert Bresson", + "Robert J. Flaherty", + "Robert Rodríguez", + "Robert Siodmak", + "Robert Wise", + "Robert Zemeckis", + "Roberto Rossellini", + "Roger Corman", + "Roman Polański", + "Rouben Mamoulian", + "Russ Meyer", + "Sadao Yamanaka", + "Sam Peckinpah", + "Sam Raimi", + "Samuel Fuller", + "Satyajit Ray", + "Sergei M. Eisenstein", + "Sergei Parajanov", + "Sergio Leone", + "Sidney Lumet", + "Sidney Olcott", + "Sofia Coppola", + "Spike Lee", + "Stan Brakhage", + "Stanley Donen (& Gene Kelly)", + "Stanley Kubrick", + "Stephen Frears", + "Steven Soderbergh", + "Steven Spielberg", + "Sydney Pollack", + "Takeshi Kitano", + "Terence Davies", + "Terrence Malick", + "Terry Gilliam", + "Tex Avery", + "Theodoros Angelopoulos", + "Tim Burton", + "Tod Browning", + "Todd Haynes", + "Tsai Ming-Liang", + "Victor Fleming", + "Victor Sjöström", + "Vincente Minnelli", + "Vittorio De Sica", + "Vsevolod Pudovkin", + "Walt Disney/Ub Iwerks", + "Walter Hill", + "Werner Herzog", + "Wes Anderson", + "Wes Craven", + "William A. Wellman", + "William Castle", + "William Friedkin", + "William K.L. Dickson", + "William Wyler", + "Wim Wenders", + "Winsor McCay", + "Wong Kar-Wai", + "Woody Allen", + "Yasujirō Ozu", + "Yevgeni Bauer", + "Yuriy Norshteyn", + "Zhang Yimou", + "Éric Rohmer" +}); + +const auto movieGenres = std::to_array({ + "Action", "Comedy", "Drama", "Fantasy", "Horror", + "Mystery", "Romance", "Thriller", "Western" +}); + +const auto movies = std::to_array({ + "12 Angry Men", + "2001: A Space Odyssey", + "8½", + "A Christmas Story", + "A Clockwork Orange", + "A Streetcar Named Desire", + "Alien", + "Aliens", + "All About Eve", + "All Quiet on the Western Front", + "Amadeus", + "American Beauty", + "American History X", + "Amores perros", + "Annie Hall", + "Apocalypse Now", + "Arsenic and Old Lace", + "Avatar", + "Back to the Future", + "Barry Lyndon", + "Batman Begins", + "Ben-Hur", + "Big Fish", + "Blade Runner", + "Bom yeoreum gaeul gyeoul geurigo bom", + "Braveheart", + "Butch Cassidy and the Sundance Kid", + "C'era una volta il West", + "Casablanca", + "Casino", + "Children of Men", + "Chinatown", + "Cidade de Deus", + "Citizen Kane", + "City Lights", + "Cool Hand Luke", + "Crash", + "Das Boot", + "Das Leben der Anderen", + "Der Untergang", + "Det sjunde inseglet", + "Dial M for Murder", + "Die Hard", + "District 9", + "Dog Day Afternoon", + "Donnie Darko", + "Double Indemnity", + "Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb", + "Duck Soup", + "Ed Wood", + "El laberinto del fauno", + "El secreto de sus ojos", + "Eternal Sunshine of the Spotless Mind", + "Fa yeung nin wa", + "Fanny och Alexander", + "Fargo", + "Festen", + "Fight Club", + "Finding Nemo", + "Forrest Gump", + "Full Metal Jacket", + "Gandhi", + "Gladiator", + "Gone with the Wind", + "Good Will Hunting", + "Goodfellas", + "Gran Torino", + "Groundhog Day", + "Harvey", + "Hauru no ugoku shiro", + "Heat", + "High Noon", + "His Girl Friday", + "Hotaru no haka", + "Hotel Rwanda", + "How to Train Your Dragon", + "Ikiru", + "Il buono, il brutto, il cattivo.", + "In Bruges", + "Inception", + "Indiana Jones and the Last Crusade", + "Inglourious Basterds", + "Into the Wild", + "It Happened One Night", + "It's a Wonderful Life", + "Jaws", + "Judgment at Nuremberg", + "Kick-Ass", + "Kill Bill: Vol. 1", + "Kill Bill: Vol. 2", + "Kind Hearts and Coronets", + "King Kong", + "L.A. Confidential", + "La battaglia di Algeri", + "La passion de Jeanne d'Arc", + "La strada", + "La vita è bella", + "Ladri di biciclette", + "Lawrence of Arabia", + "Le fabuleux destin d'Amélie Poulain", + "Le notti di Cabiria", + "Le salaire de la peur", + "Le scaphandre et le papillon", + "Les diaboliques", + "Les quatre cents coups", + "Letters from Iwo Jima", + "Life of Brian", + "Lock, Stock and Two Smoking Barrels", + "Låt den rätte komma in", + "Léon", + "M", + "Magnolia", + "Manhattan", + "Mary and Max", + "Memento", + "Metropolis", + "Million Dollar Baby", + "Modern Times", + "Mononoke-hime", + "Monsters, Inc.", + "Monty Python and the Holy Grail", + "Mou gaan dou", + "Mr. Smith Goes to Washington", + "Mulholland Dr.", + "Mystic River", + "Network", + "No Country for Old Men", + "North by Northwest", + "Notorious", + "Nuovo Cinema Paradiso", + "Oldeuboi", + "On the Waterfront", + "Once Upon a Time in America", + "One Flew Over the Cuckoo's Nest", + "Paths of Glory", + "Patton", + "Per qualche dollaro in più", + "Persona", + "Pirates of the Caribbean: The Curse of the Black Pearl", + "Platoon", + "Psycho", + "Pulp Fiction", + "Raging Bull", + "Raiders of the Lost Ark", + "Ran", + "Rashômon", + "Ratatouille", + "Rear Window", + "Rebecca", + "Requiem for a Dream", + "Reservoir Dogs", + "Rocky", + "Roman Holiday", + "Rope", + "Rosemary's Baby", + "Saving Private Ryan", + "Scarface", + "Schindler's List", + "Se7en", + "Sen to Chihiro no kamikakushi", + "Shichinin no samurai", + "Sin City", + "Singin' in the Rain", + "Sleuth", + "Slumdog Millionaire", + "Smultronstället", + "Snatch.", + "Some Like It Hot", + "Stalag 17", + "Stand by Me", + "Star Trek", + "Star Wars", + "Star Wars: Episode V - The Empire Strikes Back", + "Star Wars: Episode VI - Return of the Jedi", + "Strangers on a Train", + "Sunrise: A Song of Two Humans", + "Sunset Blvd.", + "Taxi Driver", + "Tenkû no shiro Rapyuta", + "Terminator 2: Judgment Day", + "The Apartment", + "The Best Years of Our Lives", + "The Big Lebowski", + "The Big Sleep", + "The Bourne Ultimatum", + "The Bridge on the River Kwai", + "The Dark Knight", + "The Deer Hunter", + "The Departed", + "The Elephant Man", + "The Exorcist", + "The General", + "The Godfather", + "The Godfather: Part II", + "The Gold Rush", + "The Graduate", + "The Grapes of Wrath", + "The Great Dictator", + "The Great Escape", + "The Green Mile", + "The Hustler", + "The Incredibles", + "The Kid", + "The Killing", + "The Lion King", + "The Lord of the Rings: The Fellowship of the Ring", + "The Lord of the Rings: The Return of the King", + "The Lord of the Rings: The Two Towers", + "The Maltese Falcon", + "The Man Who Shot Liberty Valance", + "The Manchurian Candidate", + "The Matrix", + "The Night of the Hunter", + "The Philadelphia Story", + "The Pianist", + "The Prestige", + "The Princess Bride", + "The Shawshank Redemption", + "The Shining", + "The Silence of the Lambs", + "The Sixth Sense", + "The Social Network", + "The Sting", + "The Terminator", + "The Thing", + "The Third Man", + "The Treasure of the Sierra Madre", + "The Truman Show", + "The Usual Suspects", + "The Wild Bunch", + "The Wizard of Oz", + "The Wrestler", + "There Will Be Blood", + "To Kill a Mockingbird", + "Tonari no Totoro", + "Touch of Evil", + "Toy Story", + "Toy Story 3", + "Trainspotting", + "Trois couleurs: Rouge", + "Twelve Monkeys", + "Unforgiven", + "Up", + "V for Vendetta", + "Vertigo", + "WALL·E", + "Who's Afraid of Virginia Woolf?", + "Witness for the Prosecution", + "Yeopgijeogin geunyeo", + "Yôjinbô" +}); + +const auto tvShows = std::to_array({ + "Africa", + "Apocalypse: The Second World War", + "Arcane", + "Arrested Development", + "As If", + "Attack on Titan", + "Avatar: The Last Airbender", + "Band of Brothers", + "Batman: The Animated Series", + "Battlestar Galactica", + "Better Call Saul", + "Black Mirror", + "Blackadder Goes Forth", + "Blue Planet II", + "BoJack Horseman", + "Boardwalk Empire", + "Breaking Bad", + "Chappelle's Show", + "Chernobyl", + "Clarkson's Farm", + "Community", + "Cosmos", + "Cosmos: A Spacetime Odyssey", + "Cowboy Bebop", + "Curb Your Enthusiasm", + "Dark", + "Das Boot", + "Deadwood", + "Death Note", + "Dekalog", + "Dexter", + "Dopesick", + "Downton Abbey", + "Dragon Ball", + "Fargo", + "Fawlty Towers", + "Firefly", + "Fleabag", + "Freaks and Geeks", + "Friends", + "Frozen Planet", + "Fullmetal Alchemist: Brotherhood", + "Game of Thrones", + "Gomorrah", + "Gravity Falls", + "Gullak", + "Hannibal", + "Heartstopper", + "House M.D.", + "House of Cards", + "Human Planet", + "Hunter x Hunter", + "I, Claudius", + "Invincible", + "It's Always Sunny in Philadelphia", + "Kota Factory", + "Last Week Tonight with John Oliver", + "Leyla and Mecnun", + "Life", + "Mad Men", + "Mindhunter", + "Monty Python's Flying Circus", + "Narcos", + "Nathan for You", + "One Piece", + "One Punch Man", + "Only Fools and Horses", + "Our Planet", + "Over the Garden Wall", + "Oz", + "Parks and Recreation", + "Peaky Blinders", + "Peep Show", + "Persona", + "Planet Earth", + "Planet Earth II", + "Pride and Prejudice", + "Rick and Morty", + "Rome", + "Seinfeld", + "Sherlock", + "Silicon Valley", + "Six Feet Under", + "Skam", + "Sons of Anarchy", + "South Park", + "Spartacus: Gods of the Arena", + "Steins;Gate", + "Stranger Things", + "Succession", + "TVF Pitchers", + "Taskmaster", + "Ted Lasso", + "The Beatles: Get Back", + "The Blue Planet", + "The Boys", + "The Bridge", + "The Civil War", + "The Crown", + "The Grand Tour", + "The IT Crowd", + "The Last Dance", + "The Mandalorian", + "The Office", + "The Rehearsal", + "The Shield", + "The Simpsons", + "The Sopranos", + "The Thick of It", + "The Twilight Zone", + "The Vietnam War", + "The West Wing", + "The Wire", + "The World at War", + "The X-Files", + "This Is Us", + "True Detective", + "Twin Peaks", + "Twin Peaks", + "Vinland Saga", + "Westworld", + "When They See Us" +}); + } diff --git a/src/modules/music/MusicData.cpp b/src/modules/music/MusicData.cpp deleted file mode 100644 index 3e224262..00000000 --- a/src/modules/music/MusicData.cpp +++ /dev/null @@ -1,1283 +0,0 @@ -#include "MusicData.h" - -#include -#include - -namespace faker::music -{ -const std::array artists = {"2 Pac", - "AC/DC", - "Abba", - "Adele", - "Aerosmith", - "Al Green", - "Al Jolson", - "Alabama", - "Allman Brothers Band", - "Andrews Sisters", - "Aretha Franklin", - "Art Blakey", - "Art Tatum", - "Artie Shaw", - "B.B. King", - "Barbra Streisand", - "Barry White", - "Beach Boys", - "Beastie Boys", - "Beatles", - "Bee Gees", - "Benny Goodman", - "Bessie Smith", - "Beyoncé", - "Big Bill Broonzy", - "Big Joe Turner", - "Bill Evans", - "Bill Haley and the Comets", - "Bill Monroe", - "Billie Holiday", - "Billy Eckstine", - "Billy Joel", - "Billy Murray and the American Quartet", - "Billy Ward and The Dominoes", - "Bing Crosby", - "Blondie", - "Bo Diddley", - "Bob Dylan", - "Bob Marley and the Wailers", - "Bob Wills and the Texas Playboys", - "Bobby Darin", - "Bon Jovi", - "Brenda Lee", - "Britney Spears", - "Bruce Springsteen", - "Buck Owens", - "Buddy Holly and the Crickets", - "Byrds", - "Cab Calloway", - "Carole King", - "Carpenters", - "Carter Family", - "Celine Dion", - "Charles Brown", - "Charles Mingus", - "Charley Patton", - "Charlie Parker", - "Chicago", - "Chuck Berry", - "Clara Ward Singers", - "Clovers", - "Coldplay", - "Coleman Hawkins", - "Connie Francis", - "Conway Twitty", - "Count Basie", - "Crosby, Stills and Nash", - "Curtis Mayfield and the Impressions", - "Daryl Hall & John Oates", - "David Bowie", - "Dean Martin", - "Deep Purple", - "Dells", - "Diana Ross and the Supremes", - "Dinah Washington", - "Dionne Warwick", - "Dizzy Gillespie", - "Dolly Parton", - "Donna Summer", - "Doors", - "Dr. Dre", - "Drake", - "Drifters / Clyde McPhatter / Ben E. King", - "Duke Ellington", - "Eagles", - "Earth, Wind and Fire", - "Ed Sheeran", - "Eddy Arnold", - "Ella Fitzgerald", - "Elmore James", - "Elton John", - "Elvis Costello", - "Elvis Presley", - "Emerson, Lake and Palmer", - "Eminem", - "Enrico Caruso", - "Eric B. and Rakim", - "Eric Clapton (solo and with bands)", - "Ernest Tubb", - "Ethel Waters", - "Etta James", - "Everly Brothers", - "Fats Domino", - "Fats Waller", - "Fleetwood Mac", - "Four Tops", - "Frank Sinatra", - "Frank Zappa / Mothers Of Invention", - "Frankie Laine", - "Frankie Valli and the Four Seasons", - "Garth Brooks", - "Gene Autry", - "Genesis / Phil Collins", - "George Clinton / Parliament / Funkadelic", - "George Jones", - "Gladys Knight and the Pips", - "Glen Campbell", - "Glenn Miller", - "Grandmaster Flash and the Furious Five", - "Grateful Dead", - "Green Day", - "Guns N' Roses", - "Guy Lombardo", - "Hank Snow", - "Hank Williams", - "Harry Belafonte", - "Harry James", - "Henry Burr and the Peerless Quartet", - "Henry Mancini", - "Herb Alpert and the Tijuana Brass", - "Herbie Hancock", - "Howlin' Wolf", - "Ike & Tina Turner", - "Ink Spots", - "Iron Maiden", - "Isley Brothers", - "Jackie Wilson", - "James Brown", - "Janet Jackson", - "Janis Joplin", - "Jay-Z", - "Jelly Roll Morton", - "Jerry Lee Lewis", - "Jethro Tull", - "Jimi Hendrix", - "Jimmie Rodgers", - "Jimmy Dorsey", - "Jimmy Reed", - "Joan Baez", - "John Coltrane", - "John Denver", - "John Fogerty & Creedence Clearwater Revival", - "John Lee Hooker", - "John Lennon", - "Johnny Cash", - "Johnny Mathis", - "Joni Mitchell", - "Judy Collins", - "Judy Garland", - "Justin Timberlake", - "Kanye West", - "Kendrick Lamar", - "Kenny Rogers", - "King Crimson", - "Kingston Trio", - "Kinks", - "Kool and the Gang", - "Kraftwerk", - "LL Cool J", - "Lady Gaga", - "Leadbelly", - "Led Zeppelin", - "Lester Young", - "Lil Wayne", - "Linda Ronstadt", - "Lionel Hampton", - "Lionel Richie / Commodores", - "Little Richard", - "Little Walter", - "Lonnie Johnson", - "Loretta Lynn", - "Louis Armstrong", - "Louis Jordan", - "Luther Vandross", - "Lynyrd Skynyrd", - "Ma Rainey", - "Madonna", - "Mahalia Jackson", - "Mariah Carey", - "Martha and the Vandellas", - "Marty Robbins", - "Marvin Gaye", - "Mary J. Blige", - "Merle Haggard", - "Metallica", - "Michael Jackson / Jackson 5", - "Miles Davis", - "Mills Brothers", - "Moody Blues", - "Muddy Waters", - "N.W.A", - "Nas", - "Nat King Cole", - "Neil Diamond", - "Neil Young", - "Nina Simone", - "Nirvana", - "O'Jays", - "Ornette Coleman", - "Otis Redding", - "Outkast", - "Ozzy Osbourne / Black Sabbath", - "Patsy Cline", - "Patti Page", - "Paul McCartney and Wings", - "Paul Simon & Art Garfunkel", - "Paul Whiteman", - "Pearl Jam", - "Peggy Lee", - "Perry Como", - "Pete Seeger and the Weavers", - "Peter, Paul and Mary", - "Pink Floyd", - "Platters", - "Police / Sting", - "Prince", - "Professor Longhair", - "Public Enemy", - "Queen", - "R. Kelly", - "R.E.M.", - "Radiohead", - "Ramones", - "Ravens", - "Ray Charles", - "Ray Price", - "Reba McEntire", - "Red Hot Chili Peppers", - "Rev. James Cleveland", - "Rick Nelson", - "Rihanna", - "Robert Johnson", - "Robins / Coasters", - "Rod Stewart", - "Rolling Stones", - "Roy Acuff", - "Roy Orbison", - "Run-D.M.C.", - "Ruth Brown", - "Sam Cooke", - "Sammy Kaye", - "Santana", - "Sarah Vaughan", - "Scott Joplin", - "Shirelles", - "Sister Rosetta Tharpe", - "Sly and the Family Stone", - "Smokey Robinson and the Miracles", - "Son House", - "Sonny Boy Williamson I (John Lee Williamson)", - "Sonny Boy Williamson II (Rice Miller)", - "Sonny Rollins", - "Sonny Til and the Orioles", - "Soul Stirrers", - "Spinners", - "Stan Getz", - "Staple Singers", - "Stevie Wonder", - "T-Bone Walker", - "Talking Heads / David Byrne", - "Tammy Wynette", - "Tampa Red", - "Taylor Swift", - "Ted Lewis", - "Temptations", - "Tennessee Ernie Ford", - "The Band", - "The Clash", - "The Notorious B.I.G.", - "The Who", - "Thelonious Monk", - "Tito Puente", - "Tom Petty and the Heartbreakers", - "Tommy Dorsey", - "Tony Bennett", - "U2", - "Van Halen", - "Van Morrison", - "Velvet Underground", - "Waylon Jennings", - "Webb Pierce", - "Whitney Houston", - "Willie Nelson", - "Wilson Pickett", - "Woody Guthrie", - "Wynonie Harris", - "Yardbirds", - "Yes"}; - -const std::array musicGenres = { - "Blues", "Classical", "Country", "Electronic", "Folk", "Funk", "Hip Hop", "Jazz", "Latin", - "Metal", "Pop", "Rap", "Reggae", "Rock", "Soul", "Stage And Screen", "World"}; - -const std::array songNames = { - "(Everything I Do) I Do it For You", - "(Ghost) Riders in the Sky", - "(I've Got a Gal In) Kalamazoo", - "(I've Had) the Time of My Life", - "(It's No) Sin", - "(Just Like) Starting Over", - "(Let Me Be Your) Teddy Bear", - "(Put Another Nickel In) Music! Music! Music!", - "(Sexual) Healing", - "(They Long to Be) Close to You", - "(You Keep Me) Hangin' On", - "(You're My) Soul & Inspiration", - "(Your Love Keeps Lifting Me) Higher & Higher", - "12th Street Rag", - "1999", - "19th Nervous Breakdown", - "50 Ways to Leave Your Lover", - "9 to 5", - "96 Tears", - "A Boy Named Sue", - "A Hard Day's Night", - "A String of Pearls", - "A Thousand Miles", - "A Tree in the Meadow", - "A Whiter Shade of Pale", - "A Whole New World (Aladdin's Theme)", - "A Woman in Love", - "A-Tisket A-Tasket", - "ABC", - "Abracadabra", - "Ac-cent-tchu-ate the Positive", - "Addicted to Love", - "After You've Gone", - "Afternoon Delight", - "Again", - "Against All Odds (Take a Look At Me Now)", - "Ain't Misbehavin'", - "Ain't No Mountain High Enough", - "Ain't No Sunshine", - "Ain't That a Shame", - "Airplanes", - "All Along the Watchtower", - "All I Have to Do is Dream", - "All I Wanna Do", - "All My Lovin' (You're Never Gonna Get It)", - "All Night Long (All Night)", - "All Out of Love", - "All Shook Up", - "All You Need is Love", - "Alone", - "Alone Again (Naturally)", - "Always On My Mind", - "American Pie", - "American Woman", - "Angie", - "Another Brick in the Wall (part 2)", - "Another Day in Paradise", - "Another Night", - "Another One Bites the Dust", - "Apologize", - "April Showers", - "Aquarius/Let The Sunshine In", - "Are You Lonesome Tonight?", - "Arthur's Theme (Best That You Can Do)", - "As Time Goes By", - "At Last", - "At the Hop", - "Auf Wiederseh'n Sweetheart", - "Baby Baby", - "Baby Come Back", - "Baby Got Back", - "Baby Love", - "Baby One More Time", - "Bad", - "Bad Day", - "Bad Girls", - "Bad Moon Rising", - "Bad Romance", - "Baker Street", - "Ball of Confusion (That's What the World is Today)", - "Ballad of the Green Berets", - "Ballerina", - "Band On the Run", - "Band of Gold", - "Battle of New Orleans", - "Be Bop a Lula", - "Be My Baby", - "Be My Love", - "Beat It", - "Beautiful Day", - "Beauty & the Beast", - "Because I Love You (The Postman Song)", - "Because You Loved Me", - "Because of You", - "Before The Next Teardrop Falls", - "Begin the Beguine", - "Behind Closed Doors", - "Being With You", - "Believe", - "Ben", - "Bennie & the Jets", - "Besame Mucho", - "Best of My Love", - "Bette Davis Eyes", - "Big Bad John", - "Big Girls Don't Cry", - "Billie Jean", - "Bitter Sweet Symphony", - "Black Or White", - "Black Velvet", - "Blaze of Glory", - "Bleeding Love", - "Blue Suede Shoes", - "Blue Tango", - "Blueberry Hill", - "Blurred Lines", - "Body & Soul", - "Bohemian Rhapsody", - "Boogie Oogie Oogie", - "Boogie Woogie Bugle Boy", - "Boom Boom Pow", - "Born in the USA", - "Born to Be Wild", - "Born to Run", - "Boulevard of Broken Dreams", - "Brand New Key", - "Brandy (You're A Fine Girl)", - "Breaking Up is Hard to Do", - "Breathe", - "Bridge Over Troubled Water", - "Brother", - "Brother Louie", - "Brown Eyed Girl", - "Brown Sugar", - "Build Me Up Buttercup", - "Burn", - "Buttons & Bows", - "Bye", - "Bye Bye", - "Bye Bye Love", - "Caldonia Boogie (What Makes Your Big Head So Hard)", - "California Dreamin'", - "California Girls", - "Call Me", - "Call Me Maybe", - "Can You Feel the Love Tonight", - "Can't Buy Me Love", - "Can't Get Enough of Your Love", - "Can't Help Falling in Love", - "Candy Man", - "Car Wash", - "Careless Whisper", - "Cars", - "Cat's in the Cradle", - "Cathy's Clown", - "Celebration", - "Centerfold", - "Chain of Fools", - "Chances Are", - "Change the World", - "Chapel of Love", - "Chattanooga Choo Choo", - "Chattanoogie Shoe-Shine Boy", - "Check On It", - "Cheek to Cheek", - "Cherish", - "Cherry Pink & Apple Blossom White", - "Cold", - "Colors of the Wind", - "Come On Eileen", - "Come On-a My House", - "Come Together", - "Coming Up", - "Cracklin' Rosie", - "Crazy", - "Crazy For You", - "Crazy Little Thing Called Love", - "Crazy in Love", - "Creep", - "Crimson & Clover", - "Crocodile Rock", - "Cry", - "Cry Like a Baby", - "Crying", - "Da Doo Ron Ron (When He Walked Me Home)", - "Dance to the Music", - "Dancing Queen", - "Dancing in the Dark", - "Dancing in the Street", - "Dardanella", - "Daydream Believer", - "December 1963 (Oh What a Night)", - "Delicado", - "Dilemma", - "Disco Duck", - "Disco Lady", - "Disturbia", - "Dizzy", - "Do That to Me One More Time", - "Do Wah Diddy Diddy", - "Do Ya Think I'm Sexy?", - "Do You Love Me?", - "Don't Be Cruel", - "Don't Fence Me In", - "Don't Go Breaking My Heart", - "Don't Leave Me This Way", - "Don't Let the Stars Get in Your Eyes", - "Don't Let the Sun Go Down On Me", - "Don't Speak", - "Don't Stop 'Til You Get Enough", - "Don't Worry Be Happy", - "Don't You (Forget About Me)", - "Don't You Want Me", - "Doo Wop (That Thing)", - "Down", - "Down Hearted Blues", - "Down Under", - "Downtown", - "Dreamlover", - "Dreams", - "Drop it Like It's Hot", - "Drops of Jupiter (Tell Me)", - "Duke of Earl", - "E.T.", - "Earth Angel", - "Ebony & Ivory", - "Eight Days a Week", - "Empire State Of Mind", - "End of the Road", - "Endless Love", - "Escape (The Pina Colada Song)", - "Eve of Destruction", - "Every Breath You Take", - "Every Little Thing She Does is Magic", - "Everybody Loves Somebody", - "Everybody Wants to Rule the World", - "Everyday People", - "Eye of the Tiger", - "Faith", - "Fallin'", - "Fame", - "Family Affair", - "Fantasy", - "Fast Car", - "Feel Good Inc", - "Feel Like Making Love", - "Fire & Rain", - "Firework", - "Flashdance. What a Feeling", - "Fly Robin Fly", - "Foolish Games", - "Footloose", - "For What It's Worth (Stop", - "Fortunate Son", - "Frankenstein", - "Freak Me", - "Freebird", - "Frenesi", - "Funkytown", - "Gangsta's Paradise", - "Georgia On My Mind", - "Georgy Girl", - "Get Back", - "Get Down Tonight", - "Get Off of My Cloud", - "Ghostbusters", - "Gimme Some Lovin'", - "Girls Just Wanna Have Fun", - "Give Me Everything", - "Gives You Hell", - "Glamorous", - "Glory of Love", - "Go Your Own Way", - "God Bless America", - "God Bless the Child", - "Gold Digger", - "Gonna Make You Sweat (Everybody Dance Now)", - "Good Lovin'", - "Good Times", - "Good Vibrations", - "Goodbye Yellow Brick Road", - "Goodnight", - "Got to Give it Up", - "Grease", - "Great Balls of Fire", - "Greatest Love of All", - "Green Onions", - "Green River", - "Green Tambourine", - "Grenade", - "Groove is in the Heart", - "Groovin'", - "Gypsies", - "Hair", - "Hang On Sloopy", - "Hanging by a Moment", - "Hanky Panky", - "Happy Days Are Here Again", - "Happy Together", - "Harbour Lights", - "Hard to Say I'm Sorry", - "Harper Valley PTA", - "Have You Ever Really Loved a Woman?", - "He'll Have to Go", - "He's So Fine", - "He's a Rebel", - "Heart of Glass", - "Heart of Gold", - "Heartbreak Hotel", - "Hello", - "Hello Dolly", - "Help Me", - "Help!", - "Here Without You", - "Here in My Heart", - "Hero", - "Hey Baby", - "Hey Jude", - "Hey Paula", - "Hey There", - "Hey There Delilah", - "Hey Ya!", - "Higher Love", - "Hips don't lie", - "Hit the Road", - "Hold On", - "Hollaback Girl", - "Honey", - "Honky Tonk", - "Honky Tonk Woman", - "Horse With No Name", - "Hot Child In The City", - "Hot Stuff", - "Hotel California", - "Hound Dog", - "House of the Rising Sun", - "How Deep is Your Love?", - "How Do I Live?", - "How Do You Mend a Broken Heart", - "How High the Moon", - "How Much is That Doggy in the Window?", - "How Will I Know", - "How You Remind Me", - "How to Save a Life", - "Hungry Heart", - "Hurt So Good", - "I Believe I Can Fly", - "I Can Dream", - "I Can Help", - "I Can See Clearly Now", - "I Can't Get Next to You", - "I Can't Get Started", - "I Can't Go For That (No Can Do)", - "I Can't Help Myself (Sugar Pie", - "I Can't Stop Loving You", - "I Don't Want to Miss a Thing", - "I Fall to Pieces", - "I Feel Fine", - "I Feel For You", - "I Feel Love", - "I Get Around", - "I Got You (I Feel Good)", - "I Got You Babe", - "I Gotta Feeling", - "I Heard it Through the Grapevine", - "I Honestly Love You", - "I Just Called to Say I Love You", - "I Just Wanna Be Your Everything", - "I Kissed A Girl", - "I Love Rock 'n' Roll", - "I Need You Now", - "I Only Have Eyes For You", - "I Shot the Sheriff", - "I Still Haven't Found What I'm Looking For", - "I Swear", - "I Think I Love You", - "I Walk the Line", - "I Wanna Dance With Somebody (Who Loves Me)", - "I Wanna Love You", - "I Want You Back", - "I Want to Hold Your Hand", - "I Want to Know What Love Is", - "I Went to Your Wedding", - "I Will Always Love You", - "I Will Follow Him", - "I Will Survive", - "I Write the Songs", - "I'll Be Missing You", - "I'll Be There", - "I'll Make Love to You", - "I'll Never Smile Again", - "I'll Take You There", - "I'll Walk Alone", - "I'll be seeing you", - "I'm Looking Over a Four Leaf Clover", - "I'm So Lonesome I Could Cry", - "I'm Sorry", - "I'm Walking Behind You", - "I'm Your Boogie Man", - "I'm Yours", - "I'm a Believer", - "I've Heard That Song Before", - "If (They Made Me a King)", - "If I Didn't Care", - "If You Don't Know Me By Now", - "If You Leave Me Now", - "Imagine", - "In Da Club", - "In the End", - "In the Ghetto", - "In the Mood", - "In the Summertime", - "In the Year 2525 (Exordium & Terminus)", - "Incense & Peppermints", - "Indian Reservation (The Lament Of The Cherokee Reservation Indian)", - "Instant Karma", - "Iris", - "Ironic", - "Irreplaceable", - "It Had to Be You", - "It's All in the Game", - "It's My Party", - "It's Now Or Never", - "It's Still Rock 'n' Roll to Me", - "Jack & Diane", - "Jailhouse Rock", - "Jessie's Girl", - "Jive Talkin'", - "Johnny B Goode", - "Joy to the World", - "Judy in Disguise (With Glasses)", - "Jump", - "Jumpin' Jack Flash", - "Just Dance", - "Just My Imagination (Running Away With Me)", - "Just the Way You Are", - "Kansas City", - "Karma Chameleon", - "Keep On Loving You", - "Killing Me Softly With His Song", - "King of the Road", - "Kiss", - "Kiss & Say Goodbye", - "Kiss From a Rose", - "Kiss Me", - "Kiss On My List", - "Kiss You All Over", - "Knock On Wood", - "Knock Three Times", - "Kokomo", - "Kryptonite", - "Kung Fu Fighting", - "La Bamba", - "Lady", - "Lady Marmalade (Voulez-Vous Coucher Aver Moi Ce Soir?)", - "Last Train to Clarksville", - "Layla", - "Le Freak", - "Leader of the Pack", - "Lean On Me", - "Leaving", - "Let Me Call You Sweetheart", - "Let Me Love You", - "Let it Be", - "Let it Snow! Let it Snow! Let it Snow!", - "Let's Dance", - "Let's Groove", - "Let's Hear it For the Boy", - "Let's Stay Together", - "Light My Fire", - "Lights", - "Like a Prayer", - "Like a Rolling Stone", - "Like a Virgin", - "Little Darlin'", - "Little Things Mean a Lot", - "Live & Let Die", - "Livin' La Vida Loca", - "Livin' On a Prayer", - "Living For the City", - "Locked Out Of Heaven", - "Lola", - "Lonely Boy", - "Long Cool Woman in a Black Dress", - "Long Tall Sally", - "Look Away", - "Lookin' Out My Back Door", - "Lose Yourself", - "Losing My Religion", - "Louie Louie", - "Love Child", - "Love Hangover", - "Love In This Club", - "Love Letters in the Sand", - "Love Me Do", - "Love Me Tender", - "Love Shack", - "Love Train", - "Love Will Keep Us Together", - "Love is a Many Splendoured Thing", - "Love to Love You Baby", - "Love's Theme", - "Loving You", - "Low", - "Macarena", - "Mack the Knife", - "Maggie May", - "Magic", - "Magic Carpet Ride", - "Make Love to Me", - "Make it With You", - "Makin' Whoopee", - "Mama Told Me Not to Come", - "Man in the Mirror", - "Manana (Is Soon Enough For Me)", - "Maneater", - "Maniac", - "Maybellene", - "Me & Bobby McGee", - "Me & Mrs Jones", - "Memories Are Made of This", - "Mercy Mercy Me (The Ecology)", - "Mickey", - "Midnight Train to Georgia", - "Minnie the Moocher", - "Miss You", - "Miss You Much", - "Mister Sandman", - "Mmmbop", - "Mona Lisa", - "Monday Monday", - "Money For Nothing", - "Mony Mony", - "Mood Indigo", - "Moonlight Cocktail", - "Moonlight Serenade", - "More Than Words", - "More Than a Feeling", - "Morning Train (Nine to Five)", - "Mr Big Stuff", - "Mr Brightside", - "Mr Tambourine Man", - "Mrs Brown You've Got a Lovely Daughter", - "Mrs Robinson", - "Mule Train", - "Music", - "My Blue Heaven", - "My Boyfriend's Back", - "My Eyes Adored You", - "My Girl", - "My Guy", - "My Heart Will Go On", - "My Life", - "My Love", - "My Man", - "My Prayer", - "My Sharona", - "My Sweet Lord", - "Na Na Hey Hey (Kiss Him Goodbye)", - "Nature Boy", - "Near You", - "Need You Now", - "Need You Tonight", - "Never Gonna Give You Up", - "Night & Day", - "Night Fever", - "Nights in White Satin", - "No One", - "No Scrubs", - "Nobody Does it Better", - "Nothin' on You", - "Nothing Compares 2 U", - "Nothing's Gonna Stop Us Now", - "Ode To Billie Joe", - "Oh", - "Oh Happy Day", - "Oh My Papa (O Mein Papa)", - "Ol' Man River", - "Ole Buttermilk Sky", - "On Bended Knee", - "On My Own", - "On the Atchison", - "One", - "One Bad Apple", - "One More Try", - "One O'Clock Jump", - "One Sweet Day", - "One of These Nights", - "One of Us", - "Only The Lonely (Know The Way I Feel)", - "Only You (And You Alone)", - "Open Arms", - "Over There", - "Over the Rainbow", - "Paint it Black", - "Papa Don't Preach", - "Papa Was a Rolling Stone", - "Papa's Got a Brand New Bag", - "Paper Doll", - "Paper Planes", - "Paperback Writer", - "Party Rock Anthem", - "Peg o' My Heart", - "Peggy Sue", - "Pennies From Heaven", - "Penny Lane", - "People", - "People Got to Be Free", - "Personality", - "Philadelphia Freedom", - "Physical", - "Piano Man", - "Pick Up the Pieces", - "Pistol Packin' Mama", - "Play That Funky Music", - "Please Mr Postman", - "Poker Face", - "Pon De Replay", - "Pony Time", - "Pop Muzik", - "Prisoner of Love", - "Private Eyes", - "Promiscuous", - "Proud Mary", - "Purple Haze", - "Purple Rain", - "Puttin' on the Ritz", - "Que sera sera (Whatever will be will be)", - "Queen of Hearts", - "Rag Doll", - "Rag Mop", - "Rags to Riches", - "Raindrops Keep Falling On My Head", - "Rapture", - "Ray of Light", - "Reach Out (I'll Be There)", - "Red Red Wine", - "Rehab", - "Respect", - "Return to Sender", - "Reunited", - "Revolution", - "Rhapsody in Blue", - "Rhinestone Cowboy", - "Rich Girl", - "Riders On the Storm", - "Right Back Where We Started From", - "Ring My Bell", - "Ring of Fire", - "Rock Around the Clock", - "Rock With You", - "Rock Your Baby", - "Rock the Boat", - "Rock the Casbah", - "Roll Over Beethoven", - "Roll With It", - "Rolling In The Deep", - "Rosanna", - "Roses Are Red", - "Royals", - "Ruby Tuesday", - "Rudolph", - "Rum & Coca-Cola", - "Runaround Sue", - "Runaway", - "Running Scared", - "Rush Rush", - "Sailing", - "Save the Best For Last", - "Save the Last Dance For Me", - "Say It Right", - "Say My Name", - "Say Say Say", - "Say You", - "School's Out", - "Seasons in the Sun", - "Secret Love", - "Sentimental Journey", - "Sexyback", - "Sh-Boom (Life Could Be a Dream)", - "Shadow Dancing", - "Shake Down", - "Shake You Down", - "She Drives Me Crazy", - "She Loves You", - "She's a Lady", - "Shining Star", - "Shop Around", - "Shout", - "Silly Love Songs", - "Since U Been Gone", - "Sing", - "Singing The Blues", - "Single Ladies (Put A Ring On It)", - "Sir Duke", - "Sixteen Tons", - "Sledgehammer", - "Sleep Walk", - "Sleepy Lagoon", - "Slow Poke", - "Smells Like Teen Spirit", - "Smoke Gets in Your Eyes", - "Smoke On the Water", - "Smoke! Smoke! Smoke! (That Cigarette)", - "Smooth", - "So Much in Love", - "Soldier Boy", - "Some Enchanted Evening", - "Some of These Days", - "Somebody That I Used to Know", - "Somebody to Love", - "Someday", - "Somethin' Stupid", - "Something", - "Soul Man", - "Spanish Harlem", - "Spill the Wine", - "Spinning Wheel", - "Spirit in the Sky", - "St George & the Dragonette", - "St Louis Blues", - "Stagger Lee", - "Stairway to Heaven", - "Stand By Me", - "Stardust", - "Stars & Stripes Forever", - "Stay (I Missed You)", - "Stayin' Alive", - "Stop! in the Name of Love", - "Stormy Weather (Keeps Rainin' All the Time)", - "Straight Up", - "Strange Fruit", - "Stranger On the Shore", - "Strangers in the Night", - "Strawberry Fields Forever", - "Streets of Philadelphia", - "Stronger", - "Stuck On You", - "Sugar Shack", - "Sugar Sugar", - "Summer in the City", - "Summertime Blues", - "Sunday", - "Sunshine Superman", - "Sunshine of Your Love", - "Superstar", - "Superstition", - "Surfin' USA", - "Suspicious Minds", - "Swanee", - "Sweet Caroline (Good Times Never Seemed So Good)", - "Sweet Child O' Mine", - "Sweet Dreams (Are Made of This)", - "Sweet Georgia Brown", - "Sweet Home Alabama", - "Sweet Soul Music", - "Swinging On a Star", - "T For Texas (Blue Yodel No 1)", - "TSOP (The Sound of Philadelphia)", - "Take Me Home", - "Take My Breath Away", - "Take On Me", - "Take The 'A' Train", - "Take a Bow", - "Tammy", - "Tangerine", - "Tears in Heaven", - "Tears of a Clown", - "Temperature", - "Tennessee Waltz", - "Tequila", - "Tha Crossroads", - "Thank You (Falettinme be Mice Elf Again)", - "That Lucky Old Sun (Just Rolls Around Heaven All Day)", - "That Old Black Magic", - "That'll Be the Day", - "That's Amore", - "That's the Way (I Like It)", - "That's the Way Love Goes", - "The Boy is Mine", - "The Boys of Summer", - "The Christmas Song (Chestnuts Roasting On An Open Fire)", - "The End of the World", - "The First Time Ever I Saw Your Face", - "The Girl From Ipanema", - "The Glow-Worm", - "The Great Pretender", - "The Gypsy", - "The Hustle", - "The Joker", - "The Last Dance", - "The Letter", - "The Loco-Motion", - "The Long & Winding Road", - "The Love You Save", - "The Morning After", - "The Power of Love", - "The Prisoner's Song", - "The Reason", - "The Rose", - "The Sign", - "The Song From Moulin Rouge (Where Is Your Heart)", - "The Sounds of Silence", - "The Streak", - "The Sweet Escape", - "The Thing", - "The Tide is High", - "The Tracks of My Tears", - "The Twist", - "The Wanderer", - "The Way We Were", - "The Way You Look Tonight", - "The Way You Move", - "There goes my baby", - "These Boots Are Made For Walking", - "Third Man Theme", - "This Diamond Ring", - "This Guy's in Love With You", - "This Land is Your Land", - "This Love", - "This Ole House", - "This Used to Be My Playground", - "Three Coins in the Fountain", - "Three Times a Lady", - "Thrift Shop", - "Thriller", - "Ticket to Ride", - "Tie a Yellow Ribbon 'round the Old Oak Tree", - "Tiger Rag", - "Tighten Up", - "Tik-Toc", - "Till I Waltz Again With You", - "Till The End of Time", - "Time After Time", - "Time of the Season", - "To Sir", - "Tom Dooley", - "Tonight's the Night (Gonna Be Alright)", - "Too Close", - "Too Young", - "Tossing & Turning", - "Total Eclipse of the Heart", - "Touch Me", - "Toxic", - "Travellin' Band", - "Travellin' Man", - "Truly Madly Deeply", - "Turn! Turn! Turn! (To Everything There is a Season)", - "Tutti Frutti", - "Twist & Shout", - "Two Hearts", - "U Can't Touch This", - "U Got it Bad", - "Umbrella", - "Un-Break My Heart", - "Unbelievable", - "Unchained Melody", - "Uncle Albert (Admiral Halsey)", - "Under the Boardwalk", - "Under the Bridge", - "Unforgettable", - "Up Around the Bend", - "Up Up & Away", - "Up Where We Belong", - "Upside Down", - "Use Somebody", - "Vaya Con Dios (may God Be With You)", - "Venus", - "Vision of Love", - "Viva La Vida", - "Vogue", - "Volare", - "Wabash Cannonball", - "Waiting For a Girl Like You", - "Wake Me Up Before You Go Go", - "Wake Up Little Susie", - "Walk Don't Run", - "Walk Like a Man", - "Walk Like an Egyptian", - "Walk On By", - "Walk On the Wild Side", - "Walk This Way", - "Wannabe", - "Want Ads", - "Wanted", - "War", - "Waterfalls", - "Wayward Wind", - "We Are Family", - "We Are Young", - "We Are the Champions", - "We Are the World", - "We Belong Together", - "We Built This City", - "We Can Work it Out", - "We Didn't Start the Fire", - "We Found Love", - "We Got The Beat", - "We Will Rock You", - "We've Only Just Begun", - "Weak", - "Wedding Bell Blues", - "West End Blues", - "West End Girls", - "What Goes Around Comes Around", - "What a Fool Believes", - "What'd I Say", - "What's Going On?", - "What's Love Got to Do With It?", - "Whatcha Say", - "Wheel of Fortune", - "When Doves Cry", - "When You Wish Upon a Star", - "When a Man Loves a Woman", - "Where Did Our Love Go", - "Where is the Love?", - "Whip It", - "Whispering", - "White Christmas", - "White Rabbit", - "Whole Lotta Love", - "Whole Lotta Shakin' Goin' On", - "Whoomp! (There it Is)", - "Why Do Fools Fall in Love?", - "Why Don't You Believe Me?", - "Wichita Lineman", - "Wicked Game", - "Wild Thing", - "Wild Wild West", - "Will It Go Round In Circles", - "Will You Love Me Tomorrow", - "Winchester Cathedral", - "Wind Beneath My Wings", - "Wipe Out", - "Wishing Well", - "With Or Without You", - "Without Me", - "Without You", - "Woman", - "Won't Get Fooled Again", - "Wooly Bully", - "Working My Way Back to You", - "YMCA", - "Yakety Yak", - "Yeah!", - "Yellow Rose of Texas", - "Yesterday", - "You Ain't Seen Nothin' Yet", - "You Always Hurt the One You Love", - "You Are the Sunshine of My Life", - "You Belong With Me", - "You Belong to Me", - "You Can't Hurry Love", - "You Don't Bring Me Flowers", - "You Don't Have to Be a Star (To Be in My Show)", - "You Light Up My Life", - "You Make Me Feel Brand New", - "You Make Me Feel Like Dancing", - "You Really Got Me", - "You Send Me", - "You Sexy Thing", - "You Were Meant for Me", - "You make Me Wanna", - "You'll Never Know", - "You're Beautiful", - "You're So Vain", - "You're Still the One", - "You're the One That I Want", - "You've Got a Friend", - "Your Cheatin' Heart", - "Your Song"}; -} diff --git a/src/modules/music/MusicData.h b/src/modules/music/MusicData.h index 5ef6aa00..07a6c3c8 100644 --- a/src/modules/music/MusicData.h +++ b/src/modules/music/MusicData.h @@ -5,7 +5,1284 @@ namespace faker::music { -extern const std::array artists; -extern const std::array musicGenres; -extern const std::array songNames; +const auto artists = std::to_array({ + "2 Pac", + "AC/DC", + "Abba", + "Adele", + "Aerosmith", + "Al Green", + "Al Jolson", + "Alabama", + "Allman Brothers Band", + "Andrews Sisters", + "Aretha Franklin", + "Art Blakey", + "Art Tatum", + "Artie Shaw", + "B.B. King", + "Barbra Streisand", + "Barry White", + "Beach Boys", + "Beastie Boys", + "Beatles", + "Bee Gees", + "Benny Goodman", + "Bessie Smith", + "Beyoncé", + "Big Bill Broonzy", + "Big Joe Turner", + "Bill Evans", + "Bill Haley and the Comets", + "Bill Monroe", + "Billie Holiday", + "Billy Eckstine", + "Billy Joel", + "Billy Murray and the American Quartet", + "Billy Ward and The Dominoes", + "Bing Crosby", + "Blondie", + "Bo Diddley", + "Bob Dylan", + "Bob Marley and the Wailers", + "Bob Wills and the Texas Playboys", + "Bobby Darin", + "Bon Jovi", + "Brenda Lee", + "Britney Spears", + "Bruce Springsteen", + "Buck Owens", + "Buddy Holly and the Crickets", + "Byrds", + "Cab Calloway", + "Carole King", + "Carpenters", + "Carter Family", + "Celine Dion", + "Charles Brown", + "Charles Mingus", + "Charley Patton", + "Charlie Parker", + "Chicago", + "Chuck Berry", + "Clara Ward Singers", + "Clovers", + "Coldplay", + "Coleman Hawkins", + "Connie Francis", + "Conway Twitty", + "Count Basie", + "Crosby, Stills and Nash", + "Curtis Mayfield and the Impressions", + "Daryl Hall & John Oates", + "David Bowie", + "Dean Martin", + "Deep Purple", + "Dells", + "Diana Ross and the Supremes", + "Dinah Washington", + "Dionne Warwick", + "Dizzy Gillespie", + "Dolly Parton", + "Donna Summer", + "Doors", + "Dr. Dre", + "Drake", + "Drifters / Clyde McPhatter / Ben E. King", + "Duke Ellington", + "Eagles", + "Earth, Wind and Fire", + "Ed Sheeran", + "Eddy Arnold", + "Ella Fitzgerald", + "Elmore James", + "Elton John", + "Elvis Costello", + "Elvis Presley", + "Emerson, Lake and Palmer", + "Eminem", + "Enrico Caruso", + "Eric B. and Rakim", + "Eric Clapton (solo and with bands)", + "Ernest Tubb", + "Ethel Waters", + "Etta James", + "Everly Brothers", + "Fats Domino", + "Fats Waller", + "Fleetwood Mac", + "Four Tops", + "Frank Sinatra", + "Frank Zappa / Mothers Of Invention", + "Frankie Laine", + "Frankie Valli and the Four Seasons", + "Garth Brooks", + "Gene Autry", + "Genesis / Phil Collins", + "George Clinton / Parliament / Funkadelic", + "George Jones", + "Gladys Knight and the Pips", + "Glen Campbell", + "Glenn Miller", + "Grandmaster Flash and the Furious Five", + "Grateful Dead", + "Green Day", + "Guns N' Roses", + "Guy Lombardo", + "Hank Snow", + "Hank Williams", + "Harry Belafonte", + "Harry James", + "Henry Burr and the Peerless Quartet", + "Henry Mancini", + "Herb Alpert and the Tijuana Brass", + "Herbie Hancock", + "Howlin' Wolf", + "Ike & Tina Turner", + "Ink Spots", + "Iron Maiden", + "Isley Brothers", + "Jackie Wilson", + "James Brown", + "Janet Jackson", + "Janis Joplin", + "Jay-Z", + "Jelly Roll Morton", + "Jerry Lee Lewis", + "Jethro Tull", + "Jimi Hendrix", + "Jimmie Rodgers", + "Jimmy Dorsey", + "Jimmy Reed", + "Joan Baez", + "John Coltrane", + "John Denver", + "John Fogerty & Creedence Clearwater Revival", + "John Lee Hooker", + "John Lennon", + "Johnny Cash", + "Johnny Mathis", + "Joni Mitchell", + "Judy Collins", + "Judy Garland", + "Justin Timberlake", + "Kanye West", + "Kendrick Lamar", + "Kenny Rogers", + "King Crimson", + "Kingston Trio", + "Kinks", + "Kool and the Gang", + "Kraftwerk", + "LL Cool J", + "Lady Gaga", + "Leadbelly", + "Led Zeppelin", + "Lester Young", + "Lil Wayne", + "Linda Ronstadt", + "Lionel Hampton", + "Lionel Richie / Commodores", + "Little Richard", + "Little Walter", + "Lonnie Johnson", + "Loretta Lynn", + "Louis Armstrong", + "Louis Jordan", + "Luther Vandross", + "Lynyrd Skynyrd", + "Ma Rainey", + "Madonna", + "Mahalia Jackson", + "Mariah Carey", + "Martha and the Vandellas", + "Marty Robbins", + "Marvin Gaye", + "Mary J. Blige", + "Merle Haggard", + "Metallica", + "Michael Jackson / Jackson 5", + "Miles Davis", + "Mills Brothers", + "Moody Blues", + "Muddy Waters", + "N.W.A", + "Nas", + "Nat King Cole", + "Neil Diamond", + "Neil Young", + "Nina Simone", + "Nirvana", + "O'Jays", + "Ornette Coleman", + "Otis Redding", + "Outkast", + "Ozzy Osbourne / Black Sabbath", + "Patsy Cline", + "Patti Page", + "Paul McCartney and Wings", + "Paul Simon & Art Garfunkel", + "Paul Whiteman", + "Pearl Jam", + "Peggy Lee", + "Perry Como", + "Pete Seeger and the Weavers", + "Peter, Paul and Mary", + "Pink Floyd", + "Platters", + "Police / Sting", + "Prince", + "Professor Longhair", + "Public Enemy", + "Queen", + "R. Kelly", + "R.E.M.", + "Radiohead", + "Ramones", + "Ravens", + "Ray Charles", + "Ray Price", + "Reba McEntire", + "Red Hot Chili Peppers", + "Rev. James Cleveland", + "Rick Nelson", + "Rihanna", + "Robert Johnson", + "Robins / Coasters", + "Rod Stewart", + "Rolling Stones", + "Roy Acuff", + "Roy Orbison", + "Run-D.M.C.", + "Ruth Brown", + "Sam Cooke", + "Sammy Kaye", + "Santana", + "Sarah Vaughan", + "Scott Joplin", + "Shirelles", + "Sister Rosetta Tharpe", + "Sly and the Family Stone", + "Smokey Robinson and the Miracles", + "Son House", + "Sonny Boy Williamson I (John Lee Williamson)", + "Sonny Boy Williamson II (Rice Miller)", + "Sonny Rollins", + "Sonny Til and the Orioles", + "Soul Stirrers", + "Spinners", + "Stan Getz", + "Staple Singers", + "Stevie Wonder", + "T-Bone Walker", + "Talking Heads / David Byrne", + "Tammy Wynette", + "Tampa Red", + "Taylor Swift", + "Ted Lewis", + "Temptations", + "Tennessee Ernie Ford", + "The Band", + "The Clash", + "The Notorious B.I.G.", + "The Who", + "Thelonious Monk", + "Tito Puente", + "Tom Petty and the Heartbreakers", + "Tommy Dorsey", + "Tony Bennett", + "U2", + "Van Halen", + "Van Morrison", + "Velvet Underground", + "Waylon Jennings", + "Webb Pierce", + "Whitney Houston", + "Willie Nelson", + "Wilson Pickett", + "Woody Guthrie", + "Wynonie Harris", + "Yardbirds", + "Yes" +}); + +const auto musicGenres = std::to_array({ + "Blues", "Classical", "Country", "Electronic", "Folk", "Funk", "Hip Hop", "Jazz", "Latin", + "Metal", "Pop", "Rap", "Reggae", "Rock", "Soul", "Stage And Screen", "World" +}); + +const auto songNames = std::to_array({ + "(Everything I Do) I Do it For You", + "(Ghost) Riders in the Sky", + "(I've Got a Gal In) Kalamazoo", + "(I've Had) the Time of My Life", + "(It's No) Sin", + "(Just Like) Starting Over", + "(Let Me Be Your) Teddy Bear", + "(Put Another Nickel In) Music! Music! Music!", + "(Sexual) Healing", + "(They Long to Be) Close to You", + "(You Keep Me) Hangin' On", + "(You're My) Soul & Inspiration", + "(Your Love Keeps Lifting Me) Higher & Higher", + "12th Street Rag", + "1999", + "19th Nervous Breakdown", + "50 Ways to Leave Your Lover", + "9 to 5", + "96 Tears", + "A Boy Named Sue", + "A Hard Day's Night", + "A String of Pearls", + "A Thousand Miles", + "A Tree in the Meadow", + "A Whiter Shade of Pale", + "A Whole New World (Aladdin's Theme)", + "A Woman in Love", + "A-Tisket A-Tasket", + "ABC", + "Abracadabra", + "Ac-cent-tchu-ate the Positive", + "Addicted to Love", + "After You've Gone", + "Afternoon Delight", + "Again", + "Against All Odds (Take a Look At Me Now)", + "Ain't Misbehavin'", + "Ain't No Mountain High Enough", + "Ain't No Sunshine", + "Ain't That a Shame", + "Airplanes", + "All Along the Watchtower", + "All I Have to Do is Dream", + "All I Wanna Do", + "All My Lovin' (You're Never Gonna Get It)", + "All Night Long (All Night)", + "All Out of Love", + "All Shook Up", + "All You Need is Love", + "Alone", + "Alone Again (Naturally)", + "Always On My Mind", + "American Pie", + "American Woman", + "Angie", + "Another Brick in the Wall (part 2)", + "Another Day in Paradise", + "Another Night", + "Another One Bites the Dust", + "Apologize", + "April Showers", + "Aquarius/Let The Sunshine In", + "Are You Lonesome Tonight?", + "Arthur's Theme (Best That You Can Do)", + "As Time Goes By", + "At Last", + "At the Hop", + "Auf Wiederseh'n Sweetheart", + "Baby Baby", + "Baby Come Back", + "Baby Got Back", + "Baby Love", + "Baby One More Time", + "Bad", + "Bad Day", + "Bad Girls", + "Bad Moon Rising", + "Bad Romance", + "Baker Street", + "Ball of Confusion (That's What the World is Today)", + "Ballad of the Green Berets", + "Ballerina", + "Band On the Run", + "Band of Gold", + "Battle of New Orleans", + "Be Bop a Lula", + "Be My Baby", + "Be My Love", + "Beat It", + "Beautiful Day", + "Beauty & the Beast", + "Because I Love You (The Postman Song)", + "Because You Loved Me", + "Because of You", + "Before The Next Teardrop Falls", + "Begin the Beguine", + "Behind Closed Doors", + "Being With You", + "Believe", + "Ben", + "Bennie & the Jets", + "Besame Mucho", + "Best of My Love", + "Bette Davis Eyes", + "Big Bad John", + "Big Girls Don't Cry", + "Billie Jean", + "Bitter Sweet Symphony", + "Black Or White", + "Black Velvet", + "Blaze of Glory", + "Bleeding Love", + "Blue Suede Shoes", + "Blue Tango", + "Blueberry Hill", + "Blurred Lines", + "Body & Soul", + "Bohemian Rhapsody", + "Boogie Oogie Oogie", + "Boogie Woogie Bugle Boy", + "Boom Boom Pow", + "Born in the USA", + "Born to Be Wild", + "Born to Run", + "Boulevard of Broken Dreams", + "Brand New Key", + "Brandy (You're A Fine Girl)", + "Breaking Up is Hard to Do", + "Breathe", + "Bridge Over Troubled Water", + "Brother", + "Brother Louie", + "Brown Eyed Girl", + "Brown Sugar", + "Build Me Up Buttercup", + "Burn", + "Buttons & Bows", + "Bye", + "Bye Bye", + "Bye Bye Love", + "Caldonia Boogie (What Makes Your Big Head So Hard)", + "California Dreamin'", + "California Girls", + "Call Me", + "Call Me Maybe", + "Can You Feel the Love Tonight", + "Can't Buy Me Love", + "Can't Get Enough of Your Love", + "Can't Help Falling in Love", + "Candy Man", + "Car Wash", + "Careless Whisper", + "Cars", + "Cat's in the Cradle", + "Cathy's Clown", + "Celebration", + "Centerfold", + "Chain of Fools", + "Chances Are", + "Change the World", + "Chapel of Love", + "Chattanooga Choo Choo", + "Chattanoogie Shoe-Shine Boy", + "Check On It", + "Cheek to Cheek", + "Cherish", + "Cherry Pink & Apple Blossom White", + "Cold", + "Colors of the Wind", + "Come On Eileen", + "Come On-a My House", + "Come Together", + "Coming Up", + "Cracklin' Rosie", + "Crazy", + "Crazy For You", + "Crazy Little Thing Called Love", + "Crazy in Love", + "Creep", + "Crimson & Clover", + "Crocodile Rock", + "Cry", + "Cry Like a Baby", + "Crying", + "Da Doo Ron Ron (When He Walked Me Home)", + "Dance to the Music", + "Dancing Queen", + "Dancing in the Dark", + "Dancing in the Street", + "Dardanella", + "Daydream Believer", + "December 1963 (Oh What a Night)", + "Delicado", + "Dilemma", + "Disco Duck", + "Disco Lady", + "Disturbia", + "Dizzy", + "Do That to Me One More Time", + "Do Wah Diddy Diddy", + "Do Ya Think I'm Sexy?", + "Do You Love Me?", + "Don't Be Cruel", + "Don't Fence Me In", + "Don't Go Breaking My Heart", + "Don't Leave Me This Way", + "Don't Let the Stars Get in Your Eyes", + "Don't Let the Sun Go Down On Me", + "Don't Speak", + "Don't Stop 'Til You Get Enough", + "Don't Worry Be Happy", + "Don't You (Forget About Me)", + "Don't You Want Me", + "Doo Wop (That Thing)", + "Down", + "Down Hearted Blues", + "Down Under", + "Downtown", + "Dreamlover", + "Dreams", + "Drop it Like It's Hot", + "Drops of Jupiter (Tell Me)", + "Duke of Earl", + "E.T.", + "Earth Angel", + "Ebony & Ivory", + "Eight Days a Week", + "Empire State Of Mind", + "End of the Road", + "Endless Love", + "Escape (The Pina Colada Song)", + "Eve of Destruction", + "Every Breath You Take", + "Every Little Thing She Does is Magic", + "Everybody Loves Somebody", + "Everybody Wants to Rule the World", + "Everyday People", + "Eye of the Tiger", + "Faith", + "Fallin'", + "Fame", + "Family Affair", + "Fantasy", + "Fast Car", + "Feel Good Inc", + "Feel Like Making Love", + "Fire & Rain", + "Firework", + "Flashdance. What a Feeling", + "Fly Robin Fly", + "Foolish Games", + "Footloose", + "For What It's Worth (Stop", + "Fortunate Son", + "Frankenstein", + "Freak Me", + "Freebird", + "Frenesi", + "Funkytown", + "Gangsta's Paradise", + "Georgia On My Mind", + "Georgy Girl", + "Get Back", + "Get Down Tonight", + "Get Off of My Cloud", + "Ghostbusters", + "Gimme Some Lovin'", + "Girls Just Wanna Have Fun", + "Give Me Everything", + "Gives You Hell", + "Glamorous", + "Glory of Love", + "Go Your Own Way", + "God Bless America", + "God Bless the Child", + "Gold Digger", + "Gonna Make You Sweat (Everybody Dance Now)", + "Good Lovin'", + "Good Times", + "Good Vibrations", + "Goodbye Yellow Brick Road", + "Goodnight", + "Got to Give it Up", + "Grease", + "Great Balls of Fire", + "Greatest Love of All", + "Green Onions", + "Green River", + "Green Tambourine", + "Grenade", + "Groove is in the Heart", + "Groovin'", + "Gypsies", + "Hair", + "Hang On Sloopy", + "Hanging by a Moment", + "Hanky Panky", + "Happy Days Are Here Again", + "Happy Together", + "Harbour Lights", + "Hard to Say I'm Sorry", + "Harper Valley PTA", + "Have You Ever Really Loved a Woman?", + "He'll Have to Go", + "He's So Fine", + "He's a Rebel", + "Heart of Glass", + "Heart of Gold", + "Heartbreak Hotel", + "Hello", + "Hello Dolly", + "Help Me", + "Help!", + "Here Without You", + "Here in My Heart", + "Hero", + "Hey Baby", + "Hey Jude", + "Hey Paula", + "Hey There", + "Hey There Delilah", + "Hey Ya!", + "Higher Love", + "Hips don't lie", + "Hit the Road", + "Hold On", + "Hollaback Girl", + "Honey", + "Honky Tonk", + "Honky Tonk Woman", + "Horse With No Name", + "Hot Child In The City", + "Hot Stuff", + "Hotel California", + "Hound Dog", + "House of the Rising Sun", + "How Deep is Your Love?", + "How Do I Live?", + "How Do You Mend a Broken Heart", + "How High the Moon", + "How Much is That Doggy in the Window?", + "How Will I Know", + "How You Remind Me", + "How to Save a Life", + "Hungry Heart", + "Hurt So Good", + "I Believe I Can Fly", + "I Can Dream", + "I Can Help", + "I Can See Clearly Now", + "I Can't Get Next to You", + "I Can't Get Started", + "I Can't Go For That (No Can Do)", + "I Can't Help Myself (Sugar Pie", + "I Can't Stop Loving You", + "I Don't Want to Miss a Thing", + "I Fall to Pieces", + "I Feel Fine", + "I Feel For You", + "I Feel Love", + "I Get Around", + "I Got You (I Feel Good)", + "I Got You Babe", + "I Gotta Feeling", + "I Heard it Through the Grapevine", + "I Honestly Love You", + "I Just Called to Say I Love You", + "I Just Wanna Be Your Everything", + "I Kissed A Girl", + "I Love Rock 'n' Roll", + "I Need You Now", + "I Only Have Eyes For You", + "I Shot the Sheriff", + "I Still Haven't Found What I'm Looking For", + "I Swear", + "I Think I Love You", + "I Walk the Line", + "I Wanna Dance With Somebody (Who Loves Me)", + "I Wanna Love You", + "I Want You Back", + "I Want to Hold Your Hand", + "I Want to Know What Love Is", + "I Went to Your Wedding", + "I Will Always Love You", + "I Will Follow Him", + "I Will Survive", + "I Write the Songs", + "I'll Be Missing You", + "I'll Be There", + "I'll Make Love to You", + "I'll Never Smile Again", + "I'll Take You There", + "I'll Walk Alone", + "I'll be seeing you", + "I'm Looking Over a Four Leaf Clover", + "I'm So Lonesome I Could Cry", + "I'm Sorry", + "I'm Walking Behind You", + "I'm Your Boogie Man", + "I'm Yours", + "I'm a Believer", + "I've Heard That Song Before", + "If (They Made Me a King)", + "If I Didn't Care", + "If You Don't Know Me By Now", + "If You Leave Me Now", + "Imagine", + "In Da Club", + "In the End", + "In the Ghetto", + "In the Mood", + "In the Summertime", + "In the Year 2525 (Exordium & Terminus)", + "Incense & Peppermints", + "Indian Reservation (The Lament Of The Cherokee Reservation Indian)", + "Instant Karma", + "Iris", + "Ironic", + "Irreplaceable", + "It Had to Be You", + "It's All in the Game", + "It's My Party", + "It's Now Or Never", + "It's Still Rock 'n' Roll to Me", + "Jack & Diane", + "Jailhouse Rock", + "Jessie's Girl", + "Jive Talkin'", + "Johnny B Goode", + "Joy to the World", + "Judy in Disguise (With Glasses)", + "Jump", + "Jumpin' Jack Flash", + "Just Dance", + "Just My Imagination (Running Away With Me)", + "Just the Way You Are", + "Kansas City", + "Karma Chameleon", + "Keep On Loving You", + "Killing Me Softly With His Song", + "King of the Road", + "Kiss", + "Kiss & Say Goodbye", + "Kiss From a Rose", + "Kiss Me", + "Kiss On My List", + "Kiss You All Over", + "Knock On Wood", + "Knock Three Times", + "Kokomo", + "Kryptonite", + "Kung Fu Fighting", + "La Bamba", + "Lady", + "Lady Marmalade (Voulez-Vous Coucher Aver Moi Ce Soir?)", + "Last Train to Clarksville", + "Layla", + "Le Freak", + "Leader of the Pack", + "Lean On Me", + "Leaving", + "Let Me Call You Sweetheart", + "Let Me Love You", + "Let it Be", + "Let it Snow! Let it Snow! Let it Snow!", + "Let's Dance", + "Let's Groove", + "Let's Hear it For the Boy", + "Let's Stay Together", + "Light My Fire", + "Lights", + "Like a Prayer", + "Like a Rolling Stone", + "Like a Virgin", + "Little Darlin'", + "Little Things Mean a Lot", + "Live & Let Die", + "Livin' La Vida Loca", + "Livin' On a Prayer", + "Living For the City", + "Locked Out Of Heaven", + "Lola", + "Lonely Boy", + "Long Cool Woman in a Black Dress", + "Long Tall Sally", + "Look Away", + "Lookin' Out My Back Door", + "Lose Yourself", + "Losing My Religion", + "Louie Louie", + "Love Child", + "Love Hangover", + "Love In This Club", + "Love Letters in the Sand", + "Love Me Do", + "Love Me Tender", + "Love Shack", + "Love Train", + "Love Will Keep Us Together", + "Love is a Many Splendoured Thing", + "Love to Love You Baby", + "Love's Theme", + "Loving You", + "Low", + "Macarena", + "Mack the Knife", + "Maggie May", + "Magic", + "Magic Carpet Ride", + "Make Love to Me", + "Make it With You", + "Makin' Whoopee", + "Mama Told Me Not to Come", + "Man in the Mirror", + "Manana (Is Soon Enough For Me)", + "Maneater", + "Maniac", + "Maybellene", + "Me & Bobby McGee", + "Me & Mrs Jones", + "Memories Are Made of This", + "Mercy Mercy Me (The Ecology)", + "Mickey", + "Midnight Train to Georgia", + "Minnie the Moocher", + "Miss You", + "Miss You Much", + "Mister Sandman", + "Mmmbop", + "Mona Lisa", + "Monday Monday", + "Money For Nothing", + "Mony Mony", + "Mood Indigo", + "Moonlight Cocktail", + "Moonlight Serenade", + "More Than Words", + "More Than a Feeling", + "Morning Train (Nine to Five)", + "Mr Big Stuff", + "Mr Brightside", + "Mr Tambourine Man", + "Mrs Brown You've Got a Lovely Daughter", + "Mrs Robinson", + "Mule Train", + "Music", + "My Blue Heaven", + "My Boyfriend's Back", + "My Eyes Adored You", + "My Girl", + "My Guy", + "My Heart Will Go On", + "My Life", + "My Love", + "My Man", + "My Prayer", + "My Sharona", + "My Sweet Lord", + "Na Na Hey Hey (Kiss Him Goodbye)", + "Nature Boy", + "Near You", + "Need You Now", + "Need You Tonight", + "Never Gonna Give You Up", + "Night & Day", + "Night Fever", + "Nights in White Satin", + "No One", + "No Scrubs", + "Nobody Does it Better", + "Nothin' on You", + "Nothing Compares 2 U", + "Nothing's Gonna Stop Us Now", + "Ode To Billie Joe", + "Oh", + "Oh Happy Day", + "Oh My Papa (O Mein Papa)", + "Ol' Man River", + "Ole Buttermilk Sky", + "On Bended Knee", + "On My Own", + "On the Atchison", + "One", + "One Bad Apple", + "One More Try", + "One O'Clock Jump", + "One Sweet Day", + "One of These Nights", + "One of Us", + "Only The Lonely (Know The Way I Feel)", + "Only You (And You Alone)", + "Open Arms", + "Over There", + "Over the Rainbow", + "Paint it Black", + "Papa Don't Preach", + "Papa Was a Rolling Stone", + "Papa's Got a Brand New Bag", + "Paper Doll", + "Paper Planes", + "Paperback Writer", + "Party Rock Anthem", + "Peg o' My Heart", + "Peggy Sue", + "Pennies From Heaven", + "Penny Lane", + "People", + "People Got to Be Free", + "Personality", + "Philadelphia Freedom", + "Physical", + "Piano Man", + "Pick Up the Pieces", + "Pistol Packin' Mama", + "Play That Funky Music", + "Please Mr Postman", + "Poker Face", + "Pon De Replay", + "Pony Time", + "Pop Muzik", + "Prisoner of Love", + "Private Eyes", + "Promiscuous", + "Proud Mary", + "Purple Haze", + "Purple Rain", + "Puttin' on the Ritz", + "Que sera sera (Whatever will be will be)", + "Queen of Hearts", + "Rag Doll", + "Rag Mop", + "Rags to Riches", + "Raindrops Keep Falling On My Head", + "Rapture", + "Ray of Light", + "Reach Out (I'll Be There)", + "Red Red Wine", + "Rehab", + "Respect", + "Return to Sender", + "Reunited", + "Revolution", + "Rhapsody in Blue", + "Rhinestone Cowboy", + "Rich Girl", + "Riders On the Storm", + "Right Back Where We Started From", + "Ring My Bell", + "Ring of Fire", + "Rock Around the Clock", + "Rock With You", + "Rock Your Baby", + "Rock the Boat", + "Rock the Casbah", + "Roll Over Beethoven", + "Roll With It", + "Rolling In The Deep", + "Rosanna", + "Roses Are Red", + "Royals", + "Ruby Tuesday", + "Rudolph", + "Rum & Coca-Cola", + "Runaround Sue", + "Runaway", + "Running Scared", + "Rush Rush", + "Sailing", + "Save the Best For Last", + "Save the Last Dance For Me", + "Say It Right", + "Say My Name", + "Say Say Say", + "Say You", + "School's Out", + "Seasons in the Sun", + "Secret Love", + "Sentimental Journey", + "Sexyback", + "Sh-Boom (Life Could Be a Dream)", + "Shadow Dancing", + "Shake Down", + "Shake You Down", + "She Drives Me Crazy", + "She Loves You", + "She's a Lady", + "Shining Star", + "Shop Around", + "Shout", + "Silly Love Songs", + "Since U Been Gone", + "Sing", + "Singing The Blues", + "Single Ladies (Put A Ring On It)", + "Sir Duke", + "Sixteen Tons", + "Sledgehammer", + "Sleep Walk", + "Sleepy Lagoon", + "Slow Poke", + "Smells Like Teen Spirit", + "Smoke Gets in Your Eyes", + "Smoke On the Water", + "Smoke! Smoke! Smoke! (That Cigarette)", + "Smooth", + "So Much in Love", + "Soldier Boy", + "Some Enchanted Evening", + "Some of These Days", + "Somebody That I Used to Know", + "Somebody to Love", + "Someday", + "Somethin' Stupid", + "Something", + "Soul Man", + "Spanish Harlem", + "Spill the Wine", + "Spinning Wheel", + "Spirit in the Sky", + "St George & the Dragonette", + "St Louis Blues", + "Stagger Lee", + "Stairway to Heaven", + "Stand By Me", + "Stardust", + "Stars & Stripes Forever", + "Stay (I Missed You)", + "Stayin' Alive", + "Stop! in the Name of Love", + "Stormy Weather (Keeps Rainin' All the Time)", + "Straight Up", + "Strange Fruit", + "Stranger On the Shore", + "Strangers in the Night", + "Strawberry Fields Forever", + "Streets of Philadelphia", + "Stronger", + "Stuck On You", + "Sugar Shack", + "Sugar Sugar", + "Summer in the City", + "Summertime Blues", + "Sunday", + "Sunshine Superman", + "Sunshine of Your Love", + "Superstar", + "Superstition", + "Surfin' USA", + "Suspicious Minds", + "Swanee", + "Sweet Caroline (Good Times Never Seemed So Good)", + "Sweet Child O' Mine", + "Sweet Dreams (Are Made of This)", + "Sweet Georgia Brown", + "Sweet Home Alabama", + "Sweet Soul Music", + "Swinging On a Star", + "T For Texas (Blue Yodel No 1)", + "TSOP (The Sound of Philadelphia)", + "Take Me Home", + "Take My Breath Away", + "Take On Me", + "Take The 'A' Train", + "Take a Bow", + "Tammy", + "Tangerine", + "Tears in Heaven", + "Tears of a Clown", + "Temperature", + "Tennessee Waltz", + "Tequila", + "Tha Crossroads", + "Thank You (Falettinme be Mice Elf Again)", + "That Lucky Old Sun (Just Rolls Around Heaven All Day)", + "That Old Black Magic", + "That'll Be the Day", + "That's Amore", + "That's the Way (I Like It)", + "That's the Way Love Goes", + "The Boy is Mine", + "The Boys of Summer", + "The Christmas Song (Chestnuts Roasting On An Open Fire)", + "The End of the World", + "The First Time Ever I Saw Your Face", + "The Girl From Ipanema", + "The Glow-Worm", + "The Great Pretender", + "The Gypsy", + "The Hustle", + "The Joker", + "The Last Dance", + "The Letter", + "The Loco-Motion", + "The Long & Winding Road", + "The Love You Save", + "The Morning After", + "The Power of Love", + "The Prisoner's Song", + "The Reason", + "The Rose", + "The Sign", + "The Song From Moulin Rouge (Where Is Your Heart)", + "The Sounds of Silence", + "The Streak", + "The Sweet Escape", + "The Thing", + "The Tide is High", + "The Tracks of My Tears", + "The Twist", + "The Wanderer", + "The Way We Were", + "The Way You Look Tonight", + "The Way You Move", + "There goes my baby", + "These Boots Are Made For Walking", + "Third Man Theme", + "This Diamond Ring", + "This Guy's in Love With You", + "This Land is Your Land", + "This Love", + "This Ole House", + "This Used to Be My Playground", + "Three Coins in the Fountain", + "Three Times a Lady", + "Thrift Shop", + "Thriller", + "Ticket to Ride", + "Tie a Yellow Ribbon 'round the Old Oak Tree", + "Tiger Rag", + "Tighten Up", + "Tik-Toc", + "Till I Waltz Again With You", + "Till The End of Time", + "Time After Time", + "Time of the Season", + "To Sir", + "Tom Dooley", + "Tonight's the Night (Gonna Be Alright)", + "Too Close", + "Too Young", + "Tossing & Turning", + "Total Eclipse of the Heart", + "Touch Me", + "Toxic", + "Travellin' Band", + "Travellin' Man", + "Truly Madly Deeply", + "Turn! Turn! Turn! (To Everything There is a Season)", + "Tutti Frutti", + "Twist & Shout", + "Two Hearts", + "U Can't Touch This", + "U Got it Bad", + "Umbrella", + "Un-Break My Heart", + "Unbelievable", + "Unchained Melody", + "Uncle Albert (Admiral Halsey)", + "Under the Boardwalk", + "Under the Bridge", + "Unforgettable", + "Up Around the Bend", + "Up Up & Away", + "Up Where We Belong", + "Upside Down", + "Use Somebody", + "Vaya Con Dios (may God Be With You)", + "Venus", + "Vision of Love", + "Viva La Vida", + "Vogue", + "Volare", + "Wabash Cannonball", + "Waiting For a Girl Like You", + "Wake Me Up Before You Go Go", + "Wake Up Little Susie", + "Walk Don't Run", + "Walk Like a Man", + "Walk Like an Egyptian", + "Walk On By", + "Walk On the Wild Side", + "Walk This Way", + "Wannabe", + "Want Ads", + "Wanted", + "War", + "Waterfalls", + "Wayward Wind", + "We Are Family", + "We Are Young", + "We Are the Champions", + "We Are the World", + "We Belong Together", + "We Built This City", + "We Can Work it Out", + "We Didn't Start the Fire", + "We Found Love", + "We Got The Beat", + "We Will Rock You", + "We've Only Just Begun", + "Weak", + "Wedding Bell Blues", + "West End Blues", + "West End Girls", + "What Goes Around Comes Around", + "What a Fool Believes", + "What'd I Say", + "What's Going On?", + "What's Love Got to Do With It?", + "Whatcha Say", + "Wheel of Fortune", + "When Doves Cry", + "When You Wish Upon a Star", + "When a Man Loves a Woman", + "Where Did Our Love Go", + "Where is the Love?", + "Whip It", + "Whispering", + "White Christmas", + "White Rabbit", + "Whole Lotta Love", + "Whole Lotta Shakin' Goin' On", + "Whoomp! (There it Is)", + "Why Do Fools Fall in Love?", + "Why Don't You Believe Me?", + "Wichita Lineman", + "Wicked Game", + "Wild Thing", + "Wild Wild West", + "Will It Go Round In Circles", + "Will You Love Me Tomorrow", + "Winchester Cathedral", + "Wind Beneath My Wings", + "Wipe Out", + "Wishing Well", + "With Or Without You", + "Without Me", + "Without You", + "Woman", + "Won't Get Fooled Again", + "Wooly Bully", + "Working My Way Back to You", + "YMCA", + "Yakety Yak", + "Yeah!", + "Yellow Rose of Texas", + "Yesterday", + "You Ain't Seen Nothin' Yet", + "You Always Hurt the One You Love", + "You Are the Sunshine of My Life", + "You Belong With Me", + "You Belong to Me", + "You Can't Hurry Love", + "You Don't Bring Me Flowers", + "You Don't Have to Be a Star (To Be in My Show)", + "You Light Up My Life", + "You Make Me Feel Brand New", + "You Make Me Feel Like Dancing", + "You Really Got Me", + "You Send Me", + "You Sexy Thing", + "You Were Meant for Me", + "You make Me Wanna", + "You'll Never Know", + "You're Beautiful", + "You're So Vain", + "You're Still the One", + "You're the One That I Want", + "You've Got a Friend", + "Your Cheatin' Heart", + "Your Song" +}); + } diff --git a/src/modules/person/Person.cpp b/src/modules/person/Person.cpp index c930bf58..6ec3963a 100644 --- a/src/modules/person/Person.cpp +++ b/src/modules/person/Person.cpp @@ -25,7 +25,7 @@ const std::unordered_map passportFormats{ {PassportCountry::Romania, "00000000"}, }; -const PeopleNames& getPeopleNamesByCountry(const Country& country) +const struct PeopleNames& getPeopleNamesByCountry(const Country& country) { switch (country) { diff --git a/src/modules/person/PersonData.cpp b/src/modules/person/PersonData.cpp deleted file mode 100644 index 825b42c6..00000000 --- a/src/modules/person/PersonData.cpp +++ /dev/null @@ -1,11869 +0,0 @@ -#include "PersonData.h" - -#include -#include -#include - -#include "faker-cxx/Person.h" - -namespace faker -{ -const std::array bioParts = { - "Activist", "Artist", "Author", "Blogger", "Business owner", "Coach", "Creator", - "Designer", "Developer", "Dreamer", "Educator", "Engineer", "Entrepreneur", "Environmentalist", - "Film lover", "Filmmaker", "Foodie", "Founder", "Friend", "Gamer", "Geek", - "Grad", "Inventor", "Leader", "Model", "Musician", "Nerd", "Parent", - "Patriot", "Person", "Philosopher", "Photographer", "Public speaker", "Scientist", "Singer", - "Streamer", "Student", "Teacher", "Traveler", "Veteran", "Writer", -}; - -const std::array bioSupporters = {"Advocate", "Devotee", "Enthusiast", "Fan", - "Junkie", "Lover", "Supporter"}; - -const std::array bioFormats = {"{bio_part}", - "{bio_part}, {bio_part}", - "{bio_part}, {bio_part}, {bio_part}", - "{bio_part}, {bio_part}, {bio_part}, {emoji}", - "{noun} {bio_supporter}", - "{noun} {bio_supporter} {emoji}", - "{noun} {bio_supporter}, {bio_part}", - "{noun} {bio_supporter}, {bio_part} {emoji}"}; - -// Source: https://en.wikipedia.org/wiki/List_of_gender_identities -const std::array genders{ - "Agender", - "Androgyne", - "Androgynous", - "Bigender", - "Cis female", - "Cis male", - "Cis man", - "Cis woman", - "Cis", - "Cisgender female", - "Cisgender male", - "Cisgender man", - "Cisgender woman", - "Cisgender", - "Demi-boy", - "Demi-girl", - "Demi-man", - "Demi-woman", - "Demiflux", - "Demigender", - "F2M", - "FTM", - "Female to male trans man", - "Female to male transgender man", - "Female to male transsexual man", - "Female to male", - "Gender fluid", - "Gender neutral", - "Gender nonconforming", - "Gender questioning", - "Gender variant", - "Genderflux", - "Genderqueer", - "Hermaphrodite", - "Intersex man", - "Intersex person", - "Intersex woman", - "Intersex", - "M2F", - "MTF", - "Male to female trans woman", - "Male to female transgender woman", - "Male to female transsexual woman", - "Male to female", - "Man", - "Multigender", - "Neither", - "Neutrois", - "Non-binary", - "Omnigender", - "Other", - "Pangender", - "Polygender", - "T* man", - "T* woman", - "Trans female", - "Trans male", - "Trans man", - "Trans person", - "Trans woman", - "Trans", - "Transexual female", - "Transexual male", - "Transexual man", - "Transexual person", - "Transexual woman", - "Transexual", - "Transgender female", - "Transgender person", - "Transmasculine", - "Trigender", - "Two* person", - "Two-spirit person", - "Two-spirit", - "Woman", - "Xenogender", -}; - -const std::array hobbies = { - "Playing guitar", - "Reading books", - "Hiking", - "Cooking", - "Painting", - "Photography", - "Swimming", - "Gaming", - "Dancing", - "Traveling", - "Bird watching", - "Coding", - "Singing", - "Collecting stamps", - "Fishing", - "Yoga", - "Sculpting", - "Mountain biking", - "Chess", - "Archery", - "Rock climbing", - "Skiing", - "Writing poetry", - "Meditation", - "Solving puzzles", - "Gardening", - "Playing basketball", - "Volunteering", - "Playing board games", - "Astrophotography", - "Camping", - "Model building", - "Astronomy", - "Watching movies", - "Stargazing", - "Playing tennis", - "Cooking ethnic cuisines", - "Woodworking", - "Baking", - "Calligraphy", - "Pottery", - "Karaoke", - "Scuba diving", - "Metal detecting", -}; - -const std::array jobDescriptors = { - "Lead", "Senior", "Direct", "Corporate", "Dynamic", "Future", "Product", - "National", "Regional", "District", "Central", "Global", "Customer", "Investor", - "International", "Legacy", "Forward", "Internal", "Human", "Chief", "Principal", -}; - -const std::array jobAreas = { - "Solutions", "Program", "Brand", "Security", "Research", "Marketing", - "Directives", "Implementation", "Integration", "Functionality", "Response", "Paradigm", - "Tactics", "Identity", "Markets", "Group", "Division", "Applications", - "Optimization", "Operations", "Infrastructure", "Intranet", "Communications", "Web", - "Branding", "Quality", "Assurance", "Mobility", "Accounts", "Data", - "Creative", "Configuration", "Accountability", "Interactions", "Factors", "Usability", - "Metrics", "Software"}; - -const std::array jobTypes = { - "Supervisor", "Associate", "Executive", "Liaison", "Officer", "Manager", "Engineer", - "Specialist", "Director", "Coordinator", "Administrator", "Architect", "Analyst", "Designer", - "Planner", "Orchestrator", "Technician", "Developer", "Producer", "Consultant", "Assistant", - "Facilitator", "Agent", "Representative", "Strategist", -}; - -const std::array languages = { - "English", "Polish", "Italian", "French", "German", "Russian", "Romanian", "Hindi", "Finnish", - "Nepali", "Spanish", "Turkish", "Czech", "Slovak", "Ukrainian", "Danish", "Swedish", "Persian(Farsi)"}; - -const std::array nationalities = {{ - "American", "British", "Canadian", "French", "German", "Japanese", "Australian", - "Chinese", "Indian", "Italian", "Mexican", "Russian", "Brazilian", "Swedish", - "South Korean", "Spanish", "Dutch", "Norwegian", "Turkish", "Greek", "Egyptian", - "Israeli", "Saudi Arabian", "South African", "Swiss", "Argentinian", "New Zealander", "Thai", - "Vietnamese", "Irish", "Polish", "Portuguese", "Danish", "Scottish", "Welsh", - "Belgian", "Austrian", "Finnish", "Hungarian", "Czech", "Romanian", "Ukrainian", - "Swedish", "Norwegian", "Singaporean", "Malaysian", "Filipino", "Indonesian", "Kuwaiti", - "Qatari", "Emirati", "Jordanian", "Chilean", "Peruvian", "Colombian", "Venezuelan", - "Ecuadorian", "Bolivian", "Costa Rican", "Panamanian", "Honduran", "Guatemalan", -}}; - -const std::unordered_map ssnFormats{ - {SsnCountry::Poland, "##[0-1][0-2][0-2]######"}, - {SsnCountry::Usa, "###-##-####"}, - // TODO: handle letters - {SsnCountry::England, "LL ## ## ## L"}, - // TODO: handle conditional values like if year starts with 2 then second number must be 0-3 - {SsnCountry::Germany, "####[0-2]#[0-1][0-2][1-2][5-9]##"}, - {SsnCountry::France, "## [0-1][0-2] [0-2]# ### ### ##"}, - // TODO: add alfa-numeric support - {SsnCountry::Italy, "FFFF FFFF FFFF FFFF"}, - {SsnCountry::Spain, "X########L"}, - {SsnCountry::India, "LLLLL####L"}, -}; - -const std::array westernZodiacs = {"Aries", "Taurus", "Gemini", "Cancer", - "Leo", "Virgo", "Libra", "Scorpio", - "Sagittarius", "Capricorn", "Aquarius", "Pisces"}; - -const std::array chineseZodiacs = {"Rat", - "Ox", - "Tiger", - "Rabbit", - "Dragon", - "Snake" - "Horse", - "Sheep", - "Monkey" - "Rooster", - "Dog", - "Pig"}; - -const std::unordered_map> sexTranslations = { - {Language::English, {{Sex::Male, "Male"}, {Sex::Female, "Female"}}}, - {Language::Polish, {{Sex::Male, "Mężczyzna"}, {Sex::Female, "Kobieta"}}}, - {Language::Italian, {{Sex::Male, "Maschio"}, {Sex::Female, "Femmina"}}}, - {Language::French, {{Sex::Male, "Homme"}, {Sex::Female, "Femme"}}}, - {Language::German, {{Sex::Male, "Mann"}, {Sex::Female, "Frau"}}}, - {Language::Russian, {{Sex::Male, "Мужчина"}, {Sex::Female, "Женщина"}}}, - {Language::Romanian, {{Sex::Male, "Bărbat"}, {Sex::Female, "Femeie"}}}, - {Language::Hindi, {{Sex::Male, "पुरुष"}, {Sex::Female, "महिला"}}}, - {Language::Finnish, {{Sex::Male, "Mies"}, {Sex::Female, "Nainen"}}}, - {Language::Nepali, {{Sex::Male, "पुरुष"}, {Sex::Female, "महिला"}}}, - {Language::Spanish, {{Sex::Male, "Hombre"}, {Sex::Female, "Mujer"}}}, - {Language::Turkish, {{Sex::Male, "Erkek"}, {Sex::Female, "Kadın"}}}, - {Language::Czech, {{Sex::Male, "Muž"}, {Sex::Female, "Žena"}}}, - {Language::Slovak, {{Sex::Male, "Muž"}, {Sex::Female, "Žena"}}}, - {Language::Ukrainian, {{Sex::Male, "Чоловік"}, {Sex::Female, "Жінка"}}}, - {Language::Danish, {{Sex::Male, "Mand"}, {Sex::Female, "Kvinde"}}}, - {Language::Swedish, {{Sex::Male, "Man"}, {Sex::Female, "Kvinna"}}}, - {Language::Portuguese, {{Sex::Male, "Homem"}, {Sex::Female, "Mulher"}}}, - {Language::Norwegian, {{Sex::Male, "Mann"}, {Sex::Female, "Kvinne"}}}, - {Language::Japanese, {{Sex::Male, "男性"}, {Sex::Female, "女性"}}}, - {Language::Hungarian, {{Sex::Male, "Férfi"}, {Sex::Female, "Nő"}}}, - {Language::Croatian, {{Sex::Male, "Muškarac"}, {Sex::Female, "Žena"}}}, - {Language::Greek, {{Sex::Male, "Άνδρας"}, {Sex::Female, "Γυναίκα"}}}, - {Language::Slovene, {{Sex::Male, "Moški"}, {Sex::Female, "Ženska"}}}, - {Language::Dutch, {{Sex::Male, "Man"}, {Sex::Female, "Vrouw"}}}, - {Language::Mandarin, {{Sex::Male, "男"}, {Sex::Female, "女"}}}, - {Language::Korean, {{Sex::Male, "남자"}, {Sex::Female, "여자"}}}, - {Language::Serbian, {{Sex::Male, "Мушкарац"}, {Sex::Female, "Жена"}}}, - {Language::Macedonian, {{Sex::Male, "Маж"}, {Sex::Female, "Жена"}}}, - {Language::Albanian, {{Sex::Male, "Mashkull"}, {Sex::Female, "Femër"}}}, - {Language::Latvian, {{Sex::Male, "Vīrietis"}, {Sex::Female, "Sieviete"}}}, - {Language::Belarusian, {{Sex::Male, "Мужчына"}, {Sex::Female, "Жанчына"}}}, - {Language::Estonian, {{Sex::Male, "Mees"}, {Sex::Female, "Naine"}}}, - {Language::Irish, {{Sex::Male, "fireannach"}, {Sex::Female, "baineann"}}}}; - -const std::array supportedSsnCountries{ - SsnCountry::Poland, SsnCountry::Usa, SsnCountry::England, SsnCountry::Germany, - SsnCountry::France, SsnCountry::Italy, SsnCountry::Spain, SsnCountry::India, -}; - -// Albania - -const std::array albanianMaleFirstNames = { - "Adriatik", "Afrim", "Agim", "Agron", "Alban", "Altin", "Andi", "Artion", "Asim", "Arbnor", - "Arber", "Ardian", "Ardit", "Armend", "Arlind", "Astrit", "Avni", "Bamir", "Bardh", "Bardhyl", - "Bashkim", "Besart", "Besim", "Besmir", "Besnik", "Niko", "Bekim", "Betim", "Bledar", "Bledian", - "Blendi", "Blerim", "Bujar", "Bukurosh", "Burim", "Clirim", "Halit", "Hysen", "Ilir", "Ismail", - "Jonuz", "Julian", "Kadri", "Dashamir", "Dardan", "Dash", "Dëfrim", "Dëshir", "Diell", "Drilon", - "Dritan", "Durim", "Endrit", "Endri", "Enkel", "Erin", "Eris", "Erion", "Erjon", "Ergys", - "Erkand", "Ermir", "Elton", "Ervin", "Ermal", "Erzen", "Fatlum", "Fatos", "Festim", "Fidan", - "Fisnik", "Flamur", "FLorent", "Florenc", "Lorenc", "Lorik", "Mërgim", "Gash", "Gaz", "Gazmend", - "Gent", "Gentian", "Gëzim", "Gramoz", "Gjergj", "Gjergji", "Gjin", "Gjon", "Hekuran", "Jetmir", - "Jon", "Kastriot", "Kristaq", "Klajd", "KLajdi", "Klevis", "Klodian", "Korab", "Kujtim", "Lavdim", - "Ledian", "Lek", "Liridon", "Lirim", "Lisian", "Luan", "Lul", "Lulëzim", "Marash", "Medon", - "Mentor", "Migjen", "Mirlind", "Mikel", "Ndriçim", "Nart", "Oltian", "Oltion", "Orges", "Orgest", - "Pandi", "Qemal", "Pajtim", "Pëllumb", "Përparim", "Pirro", "Petrit", "Redon", "Rexhep", "Serxhio", - "Rinor", "Saimir", "Samir", "Skënder", "Shqiprim", "Sokol", "Spartak", "Shkëlqim", "Shkëmb", "Shkumbin", - "Shpend", "Shkumbin", "Taulant", "Tomor", "Trim", "Urim", "Valdet", "Valmir", "Vedat", "Xhevdet", - "Xhevahir", "Zef", "Vath", "Vidan", "Vullnet", "Ylber", "Zamir"}; - -const std::array albanianFemaleFirstNames = { - "Adelina", "Aferdita", "Agnesa", "Albana", "Aldona", "Aleksandra", "Alketa", "Alma", "Altina", - "Amanda", "Anastasia", "Anda", "Andela", "Ardiana", "Ardita", "Arlinda", "Arta", "Artemisa", - "Artiola", "Arxhela", "Asja", "Astritana", "Aulona", "Aurela", "Aurora", "Balina", "Besa", - "Besiana", "Besjana", "Blenda", "Blerina", "Bora", "Bukurije", "Dafina", "Dajana", "Dalina", - "Dardana", "Davina", "Dea", "Dhurata", "Diana", "Diona", "Dita", "Dorentina", "Drita", - "Duljeta", "Edlira", "Ela", "Elda", "Elena", "Elira", "Elona", "Elsa", "Elvana", - "Elvira", "Ema", "Embla", "Eneida", "Era", "Erëblina", "Erilda", "Eriona", "Erjona", - "Ersa", "Esmeralda", "Estela", "Eva", "Evelina", "Flaka", "Fjolla", "Florina", "Frida", - "Gentiana", "Gresa", "Hana", "Ilda", "Ira", "Irena", "Jeta", "Joana", "Jonida", - "Klea", "Klina", "Krenare", "Kriselda", "Larisa", "Laura", "Lavdi", "Lea", "Ledia", - "Lena", "Leonora", "Lila", "Linda", "Liridona", "Lirona", "Lisjana", "Liza", "Lorenta", - "Luljeta", "Majlinda", "Manjola", "Margarita", "Mariola", "Merita", "Migena", "Mimoza", "Miranda", - "Monika", "Nada", "Naima", "Nertila", "Njomza", "Oltita", "Olsa", "Oltita", "Oriana", - "Rina", "Rita", "Romina", "Rovena", "Sara", "Shpresa", "Sidita", "Silva", "Simona", - "Sonila", "Tea", "Teuta", "Valbona", "Valentina", "Vanessa", "Vera", "Verona", "Vesa", - "Veselina", "Viona", "Vjollca", "Xhensila", "Zamira", "Zana", -}; - -const std::array albanianLastNames = { - "Agolli", "Ahmeti", "Aliaj", "Aliu", "Arifi", "Avdullahu", "Bajrami", "Balaj", "Basha", - "Begolli", "Berisha", "Bilalli", "Brahimi", "Bytyqi", "Cakuli", "Cela", "Cenaj", "Dedvukaj", - "Dervishi", "Domgjonaj", "Dreshaj", "Driza", "Duka", "Duraku", "Dushku", "Elezi", "Fazliu", - "Ferizi", "Gashi", "Gega", "Gjinaj", "Gjokaj", "Gjoka", "Gjonaj", "Gjoni", "Gjuraj", - "Gruda", "Hadergjonaj", "Hajdari", "Hajzeri", "Haliti", "Hamiti", "Hasani", "Hyseni", "Ibrahimi", - "Ismaili", "Jashari", "Jusufi", "Kadriu", "Kajtazi", "Kapllani", "Karaj", "Kastrati", "Kavaja", - "Kazazi", "Kelmendi", "Kicaj", "Kola", "Krasniqi", "Kukaj", "Kulla", "Kurti", "Kusari", - "Leka", "Leka", "Lushi", "Majko", "Marku", "Maxhuni", "Mazreku", "Meta", "Miftari", - "Muharremi", "Murati", "Murtishi", "Mustafa", "Ndoj", "Nimani", "Nikçi", "Nuhiu", "Osmani", - "Pacuku", "Pajaziti", "Paloka", "Peci", "Përmeti", "Prenkaj", "Qerimi", "Rama", "Rrahmani", - "Rrudhani", "Rugova", "Rustemi", "Sahiti", "Salihu", "Shala", "Shala", "Shkreli", "Shoshi", - "Shuaipi", "Sopi", "Spahiu", "Statovci", "Sula", "Sylaj", "Thaçi", "Thaqi", "Topalli", - "Topi", "Tushi", "Ujkani", "Ulqini", "Useni", "Vehapi", "Vejseli", "Veliaj", "Vocaj", - "Vokshi", "Vula", "Vukaj", "Xhaferi", "Xhemajli", "Xhemalaj", "Xhemshiti", "Xhokli", "Xhufi", - "Ylli", "Zeka", "Zeqiri", "Zhubi", "Zogaj", "Zogu", "Zeka", "Zefi", "Zeka", - "Zekaj", "Zhubi", "Zhuta", "Ziu", "Zogiani"}; - -const NameFormats albanianPersonNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames albanianPeopleNames{{albanianMaleFirstNames, albanianLastNames, {}, {}}, - {albanianFemaleFirstNames, albanianLastNames, {}, {}}, - albanianPersonNameFormats}; - -// Argentina - -const std::array argentinianMaleFirstNames = { - "Jose", "Carlos", "Jorge", "Luis", "Miguel", "Hector", "Ramon", "Roberto", - "Oscar", "Daniel", "Mario", "Pedro", "Ricardo", "Raul", "Pablo", "Eduardo", - "Sergio", "Marcelo", "Julio", "Hugo", "Alberto", "Ruben", "Gustavo", "Antonio", - "Victor", "Francisco", "Diego", "Angel", "Alejandro", "Claudio", "Walter", "Fernando", - "Nestor", "Guillermo", "Manuel", "Cristian", "Martin", "Alfredo", "Enrique", "Osvaldo", - "Javier", "Gabriel", "Horacio", "Cesar", "Rodolfo", "Omar", "Andres", "Ernesto", - "Leonardo", "Domingo", "Marcos", "Nicolas", "Sebastian", "Adrian", "Norberto", "Mariano", - "Esteban", "Dario", "Fabian", "Edgardo", "Rafael", "Vicente", "Orlando", "Gerardo", - "Hernan", "Federico", "Felix", "Aldo", "Armando", "Adolfo", "David", "Emilio", - "German", "Anibal", "Lucas", "Mauricio", "Humberto", "Ignacio", "Agustin", "Felipe", - "Leandro", "Tomas", "Abel", "Gregorio", "Luciano", "Segundo", "Rolando", "Gaston", - "Nelson", "Maximiliano", "Salvador", "Lorenzo", "Christian", "Silvio", "Arturo", "Rodrigo", - "Mauro", "Dante", "Bernardo", "Gonzalo", "Rogelio", "Julian", "Eugenio", "Ismael", - "Marcelino", "Santiago", "Ezequiel", "Justo", "Benito", "Maximo", "Fabio", "Atilio", - "Patricio", "Americo", "Arnaldo", "Lucio", "Florencio", "Facundo", "Emiliano", "Ceferino", - "Joaquin", "Jacinto", "Hipolito", "Elias", "Reinaldo", "Geronimo", "Eusebio", "Elvio", - "Ivan", "Sixto", "Valentin", "Benjamin", "Alfonso", "Dardo", "Fermin", "Bruno", - "Augusto", "Matias", "Isidro", "Leopoldo", "Elio", "Teodoro", "Simon", "Edgar", - "Faustino", "Aurelio", "Jaime", "Carmelo", "Edmundo", "Ramiro", "Samuel", "Paulo", - "Dionisio", "Hilario", "Sandro", "Enzo", "Cirilo", "Marco", "Demetrio", "Guido", - "Osmar", "Fidel", "Florentino", "Bernardino", "Evaristo", "Roque", "Flavio", "Anselmo", - "Victorio", "Isidoro", "Argentino", "Damian", "Rufino", "Paulino", "Genaro", "Celestino", - "Saul", "Victoriano", "Amado", "Celso", "Teofilo", "Eliseo", "Eleuterio", "Eulogio", - "Ubaldo", "Adalberto", "Lisandro", "Saturnino", "Cristobal", "Isaac", "Feliciano", "Pascual", - "Gilberto", "Emanuel", "Adan", "Reynaldo", "Modesto", "Inocencio", "Cecilio", "Raimundo", - "Fortunato", "Catalino", "Albino", "Moises", "Camilo", "Dionicio", "Marcial", "Fabricio", - "Virgilio", "Lino", "Candido", "Avelino", "Romulo", "Amadeo", "Rosendo", "Rito", - "Benigno", "Elbio", "Tito", "Abelardo", "Silverio", "Remigio", "Octavio", "Estanislao", - "Heriberto", "Abraham", "Arnoldo", "Bonifacio", "Eladio", "Silvano", "Cipriano", "Donato", - "Leonel", "Gabino", "Clemente", "Ireneo", "Natalio", "Marciano", "Nicasio", "Ovidio", - "Alvaro", "Epifanio", "Anastacio", "Fausto", "Nicanor", "Italo", "Silvestre", "Delfin", - "Cornelio", "Timoteo", "Eustaquio", "Desiderio", "Zenon", "Leoncio", "Amilcar", "Eloy", - "Ulises", "Ciriaco", "Isabelino", "Favio", "Wenceslao", "Cosme", "Basilio", "Justino", - "Conrado", "Romualdo", "Nolberto", "Placido", "Exequiel", "Serafin", "Victorino", "Higinio", - "Severo", "Mateo", "Calixto", "Herminio", "Ruperto", "Salomon", "Honorio", "Arsenio", - "Milton", "Roman", "Danilo", "Cayetano", "Franco", "Venancio", "Froilan", "Aniceto", - "Heraldo", "Oreste", "Sabino", "Alejo", "Bernabe", "Edelmiro", "Braulio", "Martiniano", - "Olegario", "Secundino", "Jonatan", "Nemesio", "Jeronimo", "Leon", "Anacleto", "Simeon", - "Elpidio", "Narciso", "Waldo", "Hermenegildo", "Marino", "Bartolome", "Wilfredo", "Adriano", - "Obdulio", "Nelso", "Efrain", "Nahuel", "Benedicto", "Lionel", "Eleodoro", "Laureano", - "Renato", "Abdon", "Gumercindo", "Emmanuel", "Casimiro", "Jacobo", "Israel", "Roger", - "Toribio", "Telmo", "Lazaro", "Joel", "Ambrosio", "Regino", "Waldemar", "Ciro", - "Hernando", "Pio", "Zoilo", "Isaias", "Eulalio", "Brigido", "Clementino", "Erasmo", - "Nazario", "Primo", "Eric", "Salustiano", "Tiburcio", "Ladislao", -}; - -const std::array argentinianFemaleFirstNames = { - "Maria", "Juan", "Ana", "Silvia", "Rosa", "Norma", "Marta", "Claudia", - "Graciela", "Monica", "Susana", "Mirta", "Alicia", "Patricia", "Nelida", "Juana", - "Liliana", "Sandra", "Laura", "Olga", "Andrea", "Elsa", "Ramona", "Adriana", - "Marcela", "Carmen", "Lidia", "Teresa", "Gabriela", "Gladys", "Veronica", "Blanca", - "Natalia", "Margarita", "Irma", "Beatriz", "Mercedes", "Alejandra", "Dora", "Elena", - "Angela", "Cristina", "Lorena", "Delia", "Isabel", "Stella", "Ariel", "Mariana", - "Mariela", "Nilda", "Estela", "Nancy", "Sara", "Nora", "Viviana", "Lucia", - "Analia", "Julia", "Luisa", "Miriam", "Karina", "Antonia", "Paola", "Carolina", - "Cecilia", "Sonia", "Hilda", "Mabel", "Elba", "Valeria", "Rosana", "Silvana", - "Silvina", "Paula", "Carina", "Yolanda", "Francisca", "Noemi", "Elvira", "Romina", - "Celia", "Jesus", "Marisa", "Gloria", "Clara", "Angelica", "Ines", "Daniela", - "Josefa", "Catalina", "Eva", "Raquel", "Martha", "Marina", "Elida", "Rita", - "Roxana", "Griselda", "Haydee", "Vanesa", "Esther", "Amalia", "Elisa", "Amelia", - "Victoria", "Zulema", "Nelly", "Ester", "Dominga", "Zulma", "Virginia", "Fabiana", - "Gladis", "Aida", "Irene", "Adela", "Elizabeth", "Rene", "Emilia", "Rosario", - "Josefina", "Edith", "Matilde", "Noelia", "Petrona", "Mirtha", "Elva", "Aurora", - "Vilma", "Leonor", "Luciana", "Dolores", "Gisela", "Emma", "Magdalena", "Cintia", - "Carla", "Flavia", "Ivana", "Felisa", "Sofia", "Mirian", "Erica", "Florencia", - "Yanina", "Berta", "Elda", "Ilda", "Diana", "Jorgelina", "Myriam", "Amanda", - "Ofelia", "Manuela", "Rosalia", "Lilia", "Leticia", "Alcira", "Teresita", "Nidia", - "Iris", "Vanina", "Paulina", "Soledad", "Azucena", "Adelina", "Eugenia", "Sabrina", - "Agustina", "Julieta", "Eliana", "Fernanda", "Vicenta", "Martina", "Celina", "Alcides", - "Evangelina", "Debora", "Gregoria", "Marcelina", "Selva", "Lilian", "Natividad", "Concepcion", - "Ada", "Herminia", "Argentina", "Aurelia", "Tomasa", "Nadia", "Lucrecia", "Ema", - "Guillermina", "Jesica", "Nicolasa", "Zunilda", "Felipa", "Fanny", "Reina", "Ruth", - "Barbara", "Filomena", "Clelia", "Ida", "Anita", "Lorenza", "Delfina", "Mariel", - "Emilce", "Enriqueta", "Pamela", "Clementina", "Pilar", "Fatima", "Juliana", "Florinda", - "Cynthia", "Myrian", "Ernestina", "Ermelinda", "Nanci", "Dina", "Regina", "Etelvina", - "Adelaida", "Melina", "Corina", "Jacinta", "Delicia", "Mirna", "Valentina", "Lydia", - "Bibiana", "Asuncion", "America", "Micaela", "Isolina", "Elisabet", "Elina", "Deolinda", - "Lia", "Perla", "Marisol", "Ignacia", "Pabla", "Benita", "Florentina", "Santos", - "Clotilde", "Sabina", "Celestina", "Justina", "Lucila", "Maxima", "Yesica", "Georgina", - "Teodora", "Guadalupe", "Flora", "Maricel", "Genoveva", "Arminda", "Violeta", "Rafaela", - "Lina", "Mara", "Luz", "Gilda", "Erika", "Segunda", "Rocio", "Jimena", - "Albina", "Transito", "Hortencia", "Yamila", "Trinidad", "Angelina", "Otilia", "Justa", - "Eusebia", "Malvina", "Marianela", "Mary", "Araceli", "Melisa", "Hebe", "Brigida", - "Faustina", "Eulalia", "Hortensia", "Judith", "Telma", "Ceferina", "Candida", "Ercilia", - "Isidora", "Clarisa", "Erminda", "Eloisa", "Fermina", "Rufina", "Modesta", "Edit", - "Geronima", "Carola", "Anabella", "Encarnacion", "Bernardina", "Edelmira", "Alejandrina", "Hermelinda", - "Dionisia", "Olinda", "Palmira", "Esperanza", "Pascuala", "Rebeca", "Alexis", "Marcia", - "Victorina", "Agueda", "Jessica", "Anahi", "Elisabeth", "Lelia", "Estefania", "Sixta", - "Inocencia", "Damiana", "Ethel", "Eulogia", "Simona", "Renee", "Carlota", "Eleonora", - "Elma", "Bernarda", "Lourdes", "Jaquelina", "Mafalda", "Anabel", "Cirila", "Emilse", - "Miryam", "Betina", "Herminda", "Elia", "Tamara", "Feliciana", -}; - -const std::array argentinianLastNames = { - "Gonzalez", "Rodriguez", "Gomez", "Fernandez", "Lopez", "Diaz", "Martinez", "Perez", - "Garcia", "Sanchez", "Romero", "Sosa", "Torres", "Alvarez", "Ruiz", "Ramirez", - "Flores", "Benitez", "Acosta", "Medina", "Herrera", "Suarez", "Aguirre", "Gimenez", - "Gutierrez", "Pereyra", "Rojas", "Molina", "Castro", "Ortiz", "Silva", "Nuñez", - "Luna", "Juarez", "Cabrera", "Rios", "Morales", "Godoy", "Moreno", "Ferreyra", - "Dominguez", "Carrizo", "Peralta", "Castillo", "Ledesma", "Quiroga", "Vega", "Vera", - "Muñoz", "Ojeda", "Ponce", "Villalba", "Cardozo", "Navarro", "Coronel", "Vazquez", - "Ramos", "Vargas", "Caceres", "Arias", "Figueroa", "Cordoba", "Correa", "Maldonado", - "Paz", "Rivero", "Miranda", "Mansilla", "Farias", "Roldan", "Mendez", "Guzman", - "Aguero", "Hernandez", "Lucero", "Cruz", "Paez", "Escobar", "Mendoza", "Barrios", - "Bustos", "Avila", "Ayala", "Blanco", "Soria", "Maidana", "Acuña", "Leiva", - "Duarte", "Moyano", "Campos", "Soto", "Martin", "Valdez", "Bravo", "Chavez", - "Velazquez", "Olivera", "Toledo", "Franco", "Ibañez", "Leguizamon", "Montenegro", "Delgado", - "Arce", "Ibarra", "Gallardo", "Santillan", "Acevedo", "Aguilar", "Vallejos", "Contreras", - "Alegre", "Galvan", "Oviedo", "Aranda", "Albornoz", "Baez", "Sandoval", "Barrionuevo", - "Veron", "Gauna", "Zarate", "Heredia", "Mercado", "Monzon", "Marquez", "Zalazar", - "Mamani", "Coria", "Segovia", "Romano", "Jimenez", "Salinas", "Quinteros", "Barrera", - "Ortega", "Cabral", "Palacios", "Cejas", "Quintana", "Zapata", "Rosales", "Altamirano", - "Nieva", "Bazan", "Alonso", "Burgos", "Bustamante", "Varela", "Lescano", "Aguilera", - "Paredes", "Avalos", "Cuello", "Aquino", "Orellana", "Caballero", "Reynoso", "Reyes", - "Villarreal", "Alarcon", "Pacheco", "Tapia", "Galarza", "Ocampo", "Meza", "Guerrero", - "Salas", "Frias", "Videla", "Miño", "Jara", "Garay", "Rossi", "Lezcano", - "Valenzuela", "Oliva", "Fuentes", "Robledo", "Espindola", "Nieto", "Pereira", "Brizuela", - "Andrada", "Maciel", "Funes", "Robles", "Sotelo", "Cortez", "Almiron", "Rivas", - "Gil", "Villegas", "Calderon", "Vergara", "Carabajal", "Ceballos", "Gallo", "Palavecino", - "Barreto", "Alderete", "Escudero", "Saavedra", "Serrano", "Almada", "Galeano", "Espinosa", - "Villagra", "Gerez", "Solis", "Ochoa", "Escalante", "Luque", "Amaya", "Arguello", - "Salazar", "Lazarte", "Barrientos", "Vidal", "Machado", "Ferreira", "Argañaraz", "Iglesias", - "Guevara", "Centurion", "Esquivel", "Lencina", "Jaime", "Cano", "Lujan", "Espinoza", - "Palacio", "Villanueva", "Salvatierra", "Guerra", "Barraza", "Bordon", "Saucedo", "Ferrari", - "Costa", "Rolon", "Zabala", "Albarracin", "Duran", "Peña", "Tello", "Quiroz", - "Montes", "Alfonso", "Brito", "Marin", "Moreira", "Olmos", "Montiel", "Pintos", - "Olmedo", "Bruno", "Villafañe", "Arroyo", "Reinoso", "Araujo", "Gorosito", "Cisneros", - "Quevedo", "Montero", "Barros", "Moya", "Basualdo", "Carballo", "Insaurralde", "Prieto", - "Alcaraz", "Santos", "Corvalan", "Chamorro", "Casas", "Carranza", "Moreyra", "Chaves", - "Riquelme", "Arevalo", "Bogado", "Sequeira", "Amarilla", "Parra", "Corbalan", "Veliz", - "Falcon", "Moran", "Cantero", "Otero", "Rocha", "Lobo", "Cuevas", "Roman", - "Caro", "Jofre", "Nievas", "Pinto", "Arrieta", "Portillo", "Rivera", "Gramajo", - "Quintero", "Russo", "Carrasco", "Castaño", "Vivas", "Gamarra", "Ludueña", "Britez", - "Britos", "Cortes", "Becerra", "Prado", "Merlo", "Barboza", "Hidalgo", "Olguin", - "Taborda", "Tolaba", "Villa", "Leon", "Sarmiento", "Cañete", "Gaitan", "Sanabria", - "Ovejero", "Da'Pavon", "Rey", "Mora", "Vasquez", "Cardenas", "Cornejo", "Orellano", - "Dos'Alaniz", "Araya", "Vallejo", "Enriquez", "Bianchi", "Barroso", "Calvo", "Lemos", - "Casco", "Trejo", "Andrade", "Balmaceda", -}; - -const NameFormats argentinianNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames argentinianPeopleNames{{argentinianMaleFirstNames, argentinianLastNames, {}, {}}, - {argentinianFemaleFirstNames, argentinianLastNames, {}, {}}, - argentinianNameFormats}; - -// Australia - -const std::array australianMaleFirstNames = { - "William", "Jack", "Oliver", "Joshua", "Thomas", "Lachlan", "Cooper", "Noah", "Ethan", - "Lucas", "James", "Samuel", "Jacob", "Liam", "Alexander", "Benjamin", "Max", "Isaac", - "Daniel", "Riley", "Ryan", "Charlie", "Tyler", "Jake", "Matthew", "Xavier", "Harry", - "Jayden", "Nicholas", "Harrison", "Levi", "Luke", "Adam", "Henry", "Aiden", "Dylan", - "Oscar", "Michael", "Jackson", "Logan", "Joseph", "Blake", "Nathan", "Connor", "Elijah", - "Nate", "Archie", "Bailey", "Marcus", "Cameron", "Jordan", "Zachary", "Caleb", "Hunter", - "Ashton", "Toby", "Aidan", "Hayden", "Mason", "Hamish", "Edward", "Angus", "Eli", - "Sebastian", "Christian", "Patrick", "Andrew", "Anthony", "Luca", "Kai", "Beau", "Alex", - "George", "Callum", "Finn", "Zac", "Mitchell", "Jett", "Jesse", "Gabriel", "Leo", - "Declan", "Charles", "Jasper", "Jonathan", "Aaron", "Hugo", "David", "Christopher", "Chase", - "Owen", "Justin", "Ali", "Darcy", "Lincoln", "Cody", "Phoenix", "Sam", "John", - "Joel", -}; - -const std::array australianFemaleFirstNames = { - "Isabella", "Ruby", "Chloe", "Olivia", "Charlotte", "Mia", "Lily", "Emily", "Ella", - "Sienna", "Sophie", "Amelia", "Grace", "Ava", "Zoe", "Emma", "Sophia", "Matilda", - "Hannah", "Jessica", "Lucy", "Georgia", "Sarah", "Abigail", "Zara", "Eva", "Scarlett", - "Jasmine", "Chelsea", "Lilly", "Ivy", "Isla", "Evie", "Isabelle", "Maddison", "Layla", - "Summer", "Annabelle", "Alexis", "Elizabeth", "Bella", "Holly", "Lara", "Madison", "Alyssa", - "Maya", "Tahlia", "Claire", "Hayley", "Imogen", "Jade", "Ellie", "Sofia", "Addison", - "Molly", "Phoebe", "Alice", "Savannah", "Gabriella", "Kayla", "Mikayla", "Abbey", "Eliza", - "Willow", "Alexandra", "Poppy", "Samantha", "Stella", "Amy", "Amelie", "Anna", "Piper", - "Gemma", "Isabel", "Victoria", "Stephanie", "Caitlin", "Heidi", "Paige", "Rose", "Amber", - "Audrey", "Claudia", "Taylor", "Madeline", "Angelina", "Natalie", "Charli", "Lauren", "Ashley", - "Violet", "Mackenzie", "Abby", "Skye", "Lillian", "Alana", "Lola", "Leah", "Eve", - "Kiara", -}; - -const std::array australianLastNames = { - "Smith", "Jones", "Williams", "Brown", "Wilson", "Taylor", "Johnson", "White", - "Martin", "Anderson", "Thompson", "Nguyen", "Thomas", "Walker", "Harris", "Lee", - "Ryan", "Robinson", "Kelly", "King", "Davis", "Wright", "Evans", "Roberts", - "Green", "Hall", "Wood", "Jackson", "Clarke", "Patel", "Khan", "Lewis", - "James", "Phillips", "Mason", "Mitchell", "Rose", "Davies", "Rodriguez", "Cox", - "Alexander", "Garden", "Campbell", "Johnston", "Moore", "Smyth", "O'Neill ", "Doherty", - "Stewart", "Quinn", "Murphy", "Graham", "Mclaughlin", "Hamilton", "Murray", "Hughes", - "Robertson", "Thomson", "Scott", "Macdonald", "Reid", "Clark", "Ross", "Young", - "Watson", "Paterson", "Morrison", "Morgan", "Griffiths", "Edwards", "Rees", "Jenkins", - "Owen", "Price", "Moss", "Richards", "Abbott", "Adams", "Armstrong", "Bahringer", - "Bailey", "Barrows", "Bartell", "Bartoletti", "Barton", "Bauch", "Baumbach", "Bayer", - "Beahan", "Beatty", "Becker", "Beier", "Berge", "Bergstrom", "Bode", "Bogan", - "Borer", "Bosco", "Botsford", "Boyer", "Boyle", "Braun", "Bruen", "Carroll", - "Carter", "Cartwright", "Casper", "Cassin", "Champlin", "Christiansen", "Cole", "Collier", - "Collins", "Connelly", "Conroy", "Corkery", "Cormier", "Corwin", "Cronin", "Crooks", - "Cruickshank", "Cummings", "D' Amore", "Daniel", "Dare", "Daugherty", "Dickens", "Dickinson", - "Dietrich", "Donnelly", "Dooley", "Douglas", "Doyle", "Durgan", "Ebert", "Emard", - "Emmerich", "Erdman", "Ernser", "Fadel", "Fahey", "Farrell", "Fay", "Feeney", - "Feil", "Ferry", "Fisher", "Flatley", "Gibson", "Gleason", "Glover", "Goldner", - "Goodwin", "Grady", "Grant", "Greenfelder", "Greenholt", "Grimes", "Gutmann", "Hackett", - "Hahn", "Haley", "Hammes", "Hand", "Hane", "Hansen", "Harber", "Hartmann", - "Harvey", "Hayes", "Heaney", "Heathcote", "Heller", "Hermann", "Hermiston", "Hessel", - "Hettinger", "Hickle", "Hill", "Hills", "Hoppe", "Howe", "Howell", "Hudson", - "Huel", "Hyatt", "Jacobi", "Jacobs", "Jacobson", "Jerde", "Johns", "Keeling", - "Kemmer", "Kessler", "Kiehn", "Kirlin", "Klein", "Koch", "Koelpin", "Kohler", - "Koss", "Kovacek", "Kreiger", "Kris", "Kuhlman", "Kuhn", "Kulas", "Kunde", - "Kutch", "Lakin", "Lang", "Langworth", "Larkin", "Larson", "Leannon", "Leffler", - "Little", "Lockman", "Lowe", "Lynch", "Mann", "Marks", "Marvin", "Mayer", - "Mccullough", "Mcdermott", "Mckenzie", "Miller", "Mills", "Monahan", "Morissette", "Mueller", - "Muller", "Nader", "Nicolas", "Nolan", "O' Connell", "O 'Conner", "O' Hara", "O 'Keefe", - "Olson", "O' Reilly", "Parisian", "Parker", "Quigley", "Reilly", "Reynolds", "Rice", - "Ritchie", "Rohan", "Rolfson", "Rowe", "Russel", "Rutherford", "Sanford", "Sauer", - "Schmidt", "Schmitt", "Schneider", "Schroeder", "Schultz", "Shields", "Smitham", "Spencer", - "Stanton", "Stark", "Stokes", "Swift", "Tillman", "Towne", "Tremblay", "Tromp", - "Turcotte", "Turner", "Walsh", "Walter", "Ward", "Waters", "Weber", "Welch", - "West", "Wilderman", "Wilkinson", "Williamson", "Windler", "Wolf", -}; - -const NameFormats australianNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames australianPeopleNames{{australianMaleFirstNames, australianLastNames, {}, {}}, - {australianFemaleFirstNames, australianLastNames, {}, {}}, - australianNameFormats}; - -// Austria - -const std::array austrianMaleFirstNames = { - "Aaron", "Abdul", "Abdullah", "Adam", "Adrian", "Adriano", "Ahmad", "Ahmed", - "Ahmet", "Alan", "Albert", "Alessandro", "Alessio", "Alex", "Alexander", "Alfred", - "Ali", "Amar", "Amir", "Amon", "Andre", "Andreas", "Andrew", "Angelo", - "Ansgar", "Anthony", "Anton", "Antonio", "Arda", "Arian", "Armin", "Arne", - "Arno", "Arthur", "Artur", "Arved", "Arvid", "Ayman", "Baran", "Baris", - "Bastian", "Batuhan", "Bela", "Ben", "Benedikt", "Benjamin", "Bennet", "Bennett", - "Benno", "Bent", "Berat", "Berkay", "Bernd", "Bilal", "Bjarne", "Björn", - "Bo", "Boris", "Brandon", "Brian", "Bruno", "Bryan", "Burak", "Calvin", - "Can", "Carl", "Carlo", "Carlos", "Caspar", "Cedric", "Cedrik", "Cem", - "Charlie", "Chris", "Christian", "Christiano", "Christoph", "Christopher", "Claas", "Clemens", - "Colin", "Collin", "Conner", "Connor", "Constantin", "Corvin", "Curt", "Damian", - "Damien", "Daniel", "Danilo", "Danny", "Darian", "Dario", "Darius", "Darren", - "David", "Davide", "Davin", "Dean", "Deniz", "Dennis", "Denny", "Devin", - "Diego", "Dion", "Domenic", "Domenik", "Dominic", "Dominik", "Dorian", "Dustin", - "Dylan", "Ecrin", "Eddi", "Eddy", "Edgar", "Edwin", "Efe", "Ege", - "Elia", "Eliah", "Elias", "Elijah", "Emanuel", "Emil", "Emilian", "Emilio", - "Emir", "Emirhan", "Emre", "Enes", "Enno", "Enrico", "Eren", "Eric", - "Erik", "Etienne", "Fabian", "Fabien", "Fabio", "Fabrice", "Falk", "Felix", - "Ferdinand", "Fiete", "Filip", "Finlay", "Finley", "Finn", "Finnley", "Florian", - "Francesco", "Franz", "Frederic", "Frederick", "Frederik", "Friedrich", "Fritz", "Furkan", - "Fynn", "Gabriel", "Georg", "Gerrit", "Gian", "Gianluca", "Gino", "Giuliano", - "Giuseppe", "Gregor", "Gustav", "Hagen", "Hamza", "Hannes", "Hanno", "Hans", - "Hasan", "Hassan", "Hauke", "Hendrik", "Hennes", "Henning", "Henri", "Henrick", - "Henrik", "Henry", "Hugo", "Hussein", "Ian", "Ibrahim", "Ilias", "Ilja", - "Ilyas", "Immanuel", "Ismael", "Ismail", "Ivan", "Iven", "Jack", "Jacob", - "Jaden", "Jakob", "Jamal", "James", "Jamie", "Jan", "Janek", "Janis", - "Janne", "Jannek", "Jannes", "Jannik", "Jannis", "Jano", "Janosch", "Jared", - "Jari", "Jarne", "Jarno", "Jaron", "Jason", "Jasper", "Jay", "Jayden", - "Jayson", "Jean", "Jens", "Jeremias", "Jeremie", "Jeremy", "Jermaine", "Jerome", - "Jesper", "Jesse", "Jim", "Jimmy", "Joe", "Joel", "Joey", "Johann", - "Johannes", "John", "Johnny", "Jon", "Jona", "Jonah", "Jonas", "Jonathan", - "Jonte", "Joost", "Jordan", "Joris", "Joscha", "Joschua", "Josef", "Joseph", - "Josh", "Joshua", "Josua", "Juan", "Julian", "Julien", "Julius", "Juri", - "Justin", "Justus", "Kaan", "Kai", "Kalle", "Karim", "Karl", "Karlo", - "Kay", "Keanu", "Kenan", "Kenny", "Keno", "Kerem", "Kerim", "Kevin", - "Kian", "Kilian", "Kim", "Kimi", "Kjell", "Klaas", "Klemens", "Konrad", - "Konstantin", "Koray", "Korbinian", "Kurt", "Lars", "Lasse", "Laurence", "Laurens", - "Laurenz", "Laurin", "Lean", "Leander", "Leandro", "Leif", "Len", "Lenn", - "Lennard", "Lennart", "Lennert", "Lennie", "Lennox", "Lenny", "Leo", "Leon", - "Leonard", "Leonardo", "Leonhard", "Leonidas", "Leopold", "Leroy", "Levent", "Levi", - "Levin", "Lewin", "Lewis", "Liam", "Lian", "Lias", "Lino", "Linus", - "Lio", "Lion", "Lionel", "Logan", "Lorenz", "Lorenzo", "Loris", "Louis", - "Luan", "Luc", "Luca", "Lucas", "Lucian", "Lucien", "Ludwig", "Luis", - "Luiz", "Luk", "Luka", "Lukas", "Luke", "Lutz", "Maddox", "Mads", - "Magnus", "Maik", "Maksim", "Malik", "Malte", "Manuel", "Marc", "Marcel", - "Marco", "Marcus", "Marek", "Marian", "Mario", "Marius", "Mark", "Marko", - "Markus", "Marlo", "Marlon", "Marten", "Martin", "Marvin", "Marwin", "Mateo", - "Mathis", "Matis", "Mats", "Matteo", "Mattes", "Matthias", "Matthis", "Matti", - "Mattis", "Maurice", "Max", "Maxim", "Maximilian", "Mehmet", "Meik", "Melvin", - "Merlin", "Mert", "Michael", "Michel", "Mick", "Miguel", "Mika", "Mikail", - "Mike", "Milan", "Milo", "Mio", "Mirac", "Mirco", "Mirko", "Mohamed", - "Mohammad", "Mohammed", "Moritz", "Morten", "Muhammed", "Murat", "Mustafa", "Nathan", - "Nathanael", "Nelson", "Neo", "Nevio", "Nick", "Niclas", "Nico", "Nicolai", - "Nicolas", "Niels", "Nikita", "Niklas", "Niko", "Nikolai", "Nikolas", "Nils", - "Nino", "Noah", "Noel", "Norman", "Odin", "Oke", "Ole", "Oliver", - "Omar", "Onur", "Oscar", "Oskar", "Pascal", "Patrice", "Patrick", "Paul", - "Peer", "Pepe", "Peter", "Phil", "Philip", "Philipp", "Pierre", "Piet", - "Pit", "Pius", "Quentin", "Quirin", "Rafael", "Raik", "Ramon", "Raphael", - "Rasmus", "Raul", "Rayan", "René", "Ricardo", "Riccardo", "Richard", "Rick", - "Rico", "Robert", "Robin", "Rocco", "Roman", "Romeo", "Ron", "Ruben", - "Ryan", "Said", "Salih", "Sam", "Sami", "Sammy", "Samuel", "Sandro", - "Santino", "Sascha", "Sean", "Sebastian", "Selim", "Semih", "Shawn", "Silas", - "Simeon", "Simon", "Sinan", "Sky", "Stefan", "Steffen", "Stephan", "Steve", - "Steven", "Sven", "Sönke", "Sören", "Taha", "Tamino", "Tammo", "Tarik", - "Tayler", "Taylor", "Teo", "Theo", "Theodor", "Thies", "Thilo", "Thomas", - "Thorben", "Thore", "Thorge", "Tiago", "Til", "Till", "Tillmann", "Tim", - "Timm", "Timo", "Timon", "Timothy", "Tino", "Titus", "Tizian", "Tjark", - "Tobias", "Tom", "Tommy", "Toni", "Tony", "Torben", "Tore", "Tristan", - "Tyler", "Tyron", "Umut", "Valentin", "Valentino", "Veit", "Victor", "Viktor", - "Vin", "Vincent", "Vito", "Vitus", "Wilhelm", "Willi", "William", "Willy", - "Xaver", "Yannic", "Yannick", "Yannik", "Yannis", "Yasin", "Youssef", "Yunus", - "Yusuf", "Yven", "Yves", "Ömer", -}; - -const std::array austrianFemaleFirstNames = { - "Aaliyah", "Abby", "Abigail", "Ada", "Adelina", "Adriana", "Aileen", "Aimee", - "Alana", "Alea", "Alena", "Alessa", "Alessia", "Alexa", "Alexandra", "Alexia", - "Alexis", "Aleyna", "Alia", "Alica", "Alice", "Alicia", "Alina", "Alisa", - "Alisha", "Alissa", "Aliya", "Aliyah", "Allegra", "Alma", "Alyssa", "Amalia", - "Amanda", "Amelia", "Amelie", "Amina", "Amira", "Amy", "Ana", "Anabel", - "Anastasia", "Andrea", "Angela", "Angelina", "Angelique", "Anja", "Ann", "Anna", - "Annabel", "Annabell", "Annabelle", "Annalena", "Anne", "Anneke", "Annelie", "Annemarie", - "Anni", "Annie", "Annika", "Anny", "Anouk", "Antonia", "Ariana", "Ariane", - "Arwen", "Ashley", "Asya", "Aurelia", "Aurora", "Ava", "Ayleen", "Aylin", - "Ayse", "Azra", "Betty", "Bianca", "Bianka", "Caitlin", "Cara", "Carina", - "Carla", "Carlotta", "Carmen", "Carolin", "Carolina", "Caroline", "Cassandra", "Catharina", - "Catrin", "Cecile", "Cecilia", "Celia", "Celina", "Celine", "Ceyda", "Ceylin", - "Chantal", "Charleen", "Charlotta", "Charlotte", "Chayenne", "Cheyenne", "Chiara", "Christin", - "Christina", "Cindy", "Claire", "Clara", "Clarissa", "Colleen", "Collien", "Cora", - "Corinna", "Cosima", "Dana", "Daniela", "Daria", "Darleen", "Defne", "Delia", - "Denise", "Diana", "Dilara", "Dina", "Dorothea", "Eda", "Eileen", "Ela", - "Elaine", "Elanur", "Elea", "Elena", "Eleni", "Eleonora", "Eliana", "Elif", - "Elina", "Elisa", "Elisabeth", "Ella", "Ellen", "Elli", "Elly", "Elsa", - "Emelie", "Emely", "Emilia", "Emilie", "Emily", "Emma", "Emmely", "Emmi", - "Emmy", "Enie", "Enna", "Enya", "Esma", "Estelle", "Esther", "Eva", - "Evelin", "Evelina", "Eveline", "Evelyn", "Fabienne", "Fatima", "Fatma", "Felicia", - "Felicitas", "Felina", "Femke", "Fenja", "Fine", "Finia", "Finja", "Finnja", - "Fiona", "Flora", "Florentine", "Francesca", "Franka", "Franziska", "Frederike", "Freya", - "Frida", "Frieda", "Friederike", "Giada", "Gina", "Giulia", "Giuliana", "Greta", - "Hailey", "Hana", "Hanna", "Hannah", "Heidi", "Helen", "Helena", "Helene", - "Helin", "Henriette", "Henrike", "Hermine", "Ida", "Ilayda", "Imke", "Ina", - "Ines", "Inga", "Inka", "Irem", "Isa", "Isabel", "Isabell", "Isabella", - "Isabelle", "Ivonne", "Jacqueline", "Jamila", "Jana", "Jane", "Janin", "Janina", - "Janine", "Janna", "Jara", "Jasmin", "Jasmina", "Jasmine", "Jella", "Jenna", - "Jennifer", "Jenny", "Jessica", "Jessy", "Jette", "Jil", "Jill", "Joana", - "Joanna", "Joelina", "Joeline", "Joelle", "Johanna", "Joleen", "Jolie", "Jolien", - "Jolin", "Jolina", "Joline", "Jonna", "Josefin", "Josefine", "Josephin", "Josephine", - "Josie", "Josy", "Joy", "Joyce", "Judith", "Judy", "Jule", "Julia", - "Juliana", "Juliane", "Julie", "Julienne", "Julika", "Julina", "Juna", "Justine", - "Kaja", "Karina", "Karla", "Karlotta", "Karolina", "Karoline", "Kassandra", "Katarina", - "Katharina", "Kathrin", "Katja", "Katrin", "Kaya", "Kayra", "Kiana", "Kiara", - "Kimberley", "Kimberly", "Kira", "Klara", "Korinna", "Kristin", "Kyra", "Laila", - "Lana", "Lara", "Larissa", "Laura", "Laureen", "Lavinia", "Lea", "Leah", - "Leana", "Leandra", "Leann", "Lee", "Leila", "Lena", "Lene", "Leni", - "Lenia", "Lenja", "Lenya", "Leona", "Leoni", "Leonie", "Leonora", "Leticia", - "Letizia", "Levke", "Leyla", "Lia", "Liah", "Liana", "Lili", "Lilia", - "Lilian", "Liliana", "Lilith", "Lilli", "Lillian", "Lilly", "Lily", "Lina", - "Linda", "Lindsay", "Line", "Linn", "Linnea", "Lisa", "Lisann", "Lisanne", - "Liv", "Livia", "Liz", "Lola", "Loreen", "Lorena", "Lotta", "Lotte", - "Louisa", "Louise", "Luana", "Lucia", "Lucie", "Lucienne", "Lucy", "Luisa", - "Luise", "Luna", "Luzie", "Lya", "Lydia", "Lyn", "Lynn", "Madeleine", - "Madita", "Madleen", "Madlen", "Magdalena", "Maike", "Mailin", "Maira", "Maja", - "Malena", "Malia", "Malin", "Malina", "Mandy", "Mara", "Marah", "Mareike", - "Maren", "Maria", "Mariam", "Marie", "Marieke", "Mariella", "Marika", "Marina", - "Marisa", "Marissa", "Marit", "Marla", "Marleen", "Marlen", "Marlena", "Marlene", - "Marta", "Martha", "Mary", "Maryam", "Mathilda", "Mathilde", "Matilda", "Maxi", - "Maxima", "Maxine", "Maya", "Mayra", "Medina", "Medine", "Meike", "Melanie", - "Melek", "Melike", "Melina", "Melinda", "Melis", "Melisa", "Melissa", "Merle", - "Merve", "Meryem", "Mette", "Mia", "Michaela", "Michelle", "Mieke", "Mila", - "Milana", "Milena", "Milla", "Mina", "Mira", "Miray", "Miriam", "Mirja", - "Mona", "Monique", "Nadine", "Nadja", "Naemi", "Nancy", "Naomi", "Natalia", - "Natalie", "Nathalie", "Neele", "Nela", "Nele", "Nelli", "Nelly", "Nia", - "Nicole", "Nika", "Nike", "Nila", "Nina", "Nisa", "Noemi", "Nora", - "Olivia", "Patricia", "Patrizia", "Paula", "Paulina", "Pauline", "Penelope", "Philine", - "Phoebe", "Pia", "Rahel", "Rania", "Rebecca", "Rebekka", "Riana", "Rieke", - "Rike", "Romina", "Romy", "Ronja", "Rosa", "Rosalie", "Ruby", "Sabrina", - "Sahra", "Sally", "Salome", "Samantha", "Samia", "Samira", "Sandra", "Sandy", - "Sanja", "Saphira", "Sara", "Sarah", "Saskia", "Selin", "Selina", "Selma", - "Sena", "Sidney", "Sienna", "Silja", "Sina", "Sinja", "Smilla", "Sofia", - "Sofie", "Sonja", "Sophia", "Sophie", "Soraya", "Stefanie", "Stella", "Stephanie", - "Stina", "Sude", "Summer", "Susanne", "Svea", "Svenja", "Sydney", "Tabea", - "Talea", "Talia", "Tamara", "Tamia", "Tamina", "Tanja", "Tara", "Tarja", - "Teresa", "Tessa", "Thalea", "Thalia", "Thea", "Theresa", "Tia", "Tina", - "Tomke", "Tuana", "Valentina", "Valeria", "Valerie", "Vanessa", "Vera", "Veronika", - "Victoria", "Viktoria", "Viola", "Vivian", "Vivien", "Vivienne", "Wibke", "Wiebke", - "Xenia", "Yara", "Yaren", "Yasmin", "Ylvi", "Ylvie", "Yvonne", "Zara", - "Zehra", "Zeynep", "Zoe", "Zoey", "Zoé", -}; - -const std::array austrianLastNames = { - "Abel", - "Abicht", - "Abraham", - "Abramovic", - "Abt", - "Achilles", - "Achkinadze", - "Ackermann", - "Adam", - "Adams", - "Ade", - "Agostini", - "Ahlke", - "Ahrenberg", - "Ahrens", - "Aigner", - "Albert", - "Albrecht", - "Alexa", - "Alexander", - "Alizadeh", - "Allgeyer", - "Amann", - "Amberg", - "Anding", - "Anggreny", - "Apitz", - "Arendt", - "Arens", - "Arndt", - "Aryee", - "Aschenbroich", - "Assmus", - "Astafei", - "Auer", - "Axmann", - "Baarck", - "Bachmann", - "Badane", - "Bader", - "Baganz", - "Bahl", - "Bak", - "Balcer", - "Balck", - "Balkow", - "Balnuweit", - "Balzer", - "Banse", - "Barr", - "Bartels", - "Barth", - "Barylla", - "Baseda", - "Battke", - "Bauer", - "Bauermeister", - "Baumann", - "Baumeister", - "Bauschinger", - "Bauschke", - "Bayer", - "Beavogui", - "Beck", - "Beckel", - "Becker", - "Beckmann", - "Bedewitz", - "Beele", - "Beer", - "Beggerow", - "Beh", - "Behr", - "Behrenbruch", - "Belz", - "Bender", - "Benecke", - "Benner", - "Benninger", - "Benzing", - "Berends", - "Berger", - "Berner", - "Berning", - "Bertenbreiter", - "Best", - "Bethke", - "Betz", - "Beushausen", - "Beutelspacher", - "Beyer", - "Biba", - "Bichler", - "Bickel", - "Biedermann", - "Bieler", - "Bielert", - "Bienasch", - "Bienias", - "Biesenbach", - "Bigdeli", - "Birkemeyer", - "Bittner", - "Blank", - "Blaschek", - "Blassneck", - "Bloch", - "Blochwitz", - "Blockhaus", - "Blum", - "Blume", - "Bock", - "Bode", - "Bogdashin", - "Bogenrieder", - "Bohge", - "Bolm", - "Borgschulze", - "Bork", - "Bormann", - "Bornscheuer", - "Borrmann", - "Borsch", - "Boruschewski", - "Bos", - "Bosler", - "Bourrouag", - "Bouschen", - "Boxhammer", - "Boyde", - "Bozsik", - "Brand", - "Brandenburg", - "Brandis", - "Brandt", - "Brauer", - "Braun", - "Brehmer", - "Breitenstein", - "Bremer", - "Bremser", - "Brenner", - "Brettschneider", - "Breu", - "Breuer", - "Briesenick", - "Bringmann", - "Brinkmann", - "Brix", - "Broening", - "Brosch", - "Bruckmann", - "Bruder", - "Bruhns", - "Brunner", - "Bruns", - "Bräutigam", - "Brömme", - "Brüggmann", - "Buchholz", - "Buchrucker", - "Buder", - "Bultmann", - "Bunjes", - "Burger", - "Burghagen", - "Burkhard", - "Burkhardt", - "Burmeister", - "Busch", - "Buschbaum", - "Busemann", - "Buss", - "Busse", - "Bussmann", - "Byrd", - "Bäcker", - "Böhm", - "Bönisch", - "Börgeling", - "Börner", - "Böttner", - "Büchele", - "Bühler", - "Büker", - "Büngener", - "Bürger", - "Bürklein", - "Büscher", - "Büttner", - "Camara", - "Carlowitz", - "Carlsohn", - "Caspari", - "Caspers", - "Chapron", - "Christ", - "Cierpinski", - "Clarius", - "Cleem", - "Cleve", - "Co", - "Conrad", - "Cordes", - "Cornelsen", - "Cors", - "Cotthardt", - "Crews", - "Cronjäger", - "Crosskofp", - "Da", - "Dahm", - "Dahmen", - "Daimer", - "Damaske", - "Danneberg", - "Danner", - "Daub", - "Daubner", - "Daudrich", - "Dauer", - "Daum", - "Dauth", - "Dautzenberg", - "De", - "Decker", - "Deckert", - "Deerberg", - "Dehmel", - "Deja", - "Delonge", - "Demut", - "Dengler", - "Denner", - "Denzinger", - "Derr", - "Dertmann", - "Dethloff", - "Deuschle", - "Dieckmann", - "Diedrich", - "Diekmann", - "Dienel", - "Dies", - "Dietrich", - "Dietz", - "Dietzsch", - "Diezel", - "Dilla", - "Dingelstedt", - "Dippl", - "Dittmann", - "Dittmar", - "Dittmer", - "Dix", - "Dobbrunz", - "Dobler", - "Dohring", - "Dolch", - "Dold", - "Dombrowski", - "Donie", - "Doskoczynski", - "Dragu", - "Drechsler", - "Drees", - "Dreher", - "Dreier", - "Dreissigacker", - "Dressler", - "Drews", - "Duma", - "Dutkiewicz", - "Dyett", - "Dylus", - "Dächert", - "Döbel", - "Döring", - "Dörner", - "Dörre", - "Dück", - "Eberhard", - "Eberhardt", - "Ecker", - "Eckhardt", - "Edorh", - "Effler", - "Eggenmueller", - "Ehm", - "Ehmann", - "Ehrig", - "Eich", - "Eifert", - "Einert", - "Eisenlauer", - "Ekpo", - "Elbe", - "Eleyth", - "Elss", - "Emert", - "Emmelmann", - "Ender", - "Engel", - "Engelen", - "Engelmann", - "Eplinius", - "Erdmann", - "Erhardt", - "Erlei", - "Erm", - "Ernst", - "Ertl", - "Erwes", - "Esenwein", - "Esser", - "Evers", - "Everts", - "Ewald", - "Fahner", - "Faller", - "Falter", - "Farber", - "Fassbender", - "Faulhaber", - "Fehrig", - "Feld", - "Felke", - "Feller", - "Fenner", - "Fenske", - "Feuerbach", - "Fietz", - "Figl", - "Figura", - "Filipowski", - "Filsinger", - "Fincke", - "Fink", - "Finke", - "Fischer", - "Fitschen", - "Fleischer", - "Fleischmann", - "Floder", - "Florczak", - "Flore", - "Flottmann", - "Forkel", - "Forst", - "Frahmeke", - "Frank", - "Franke", - "Franta", - "Frantz", - "Franz", - "Franzis", - "Franzmann", - "Frauen", - "Frauendorf", - "Freigang", - "Freimann", - "Freimuth", - "Freisen", - "Frenzel", - "Frey", - "Fricke", - "Fried", - "Friedek", - "Friedenberg", - "Friedmann", - "Friedrich", - "Friess", - "Frisch", - "Frohn", - "Frosch", - "Fuchs", - "Fuhlbrügge", - "Fusenig", - "Fust", - "Förster", - "Gaba", - "Gabius", - "Gabler", - "Gadschiew", - "Gakstädter", - "Galander", - "Gamlin", - "Gamper", - "Gangnus", - "Ganzmann", - "Garatva", - "Gast", - "Gastel", - "Gatzka", - "Gauder", - "Gebhardt", - "Geese", - "Gehre", - "Gehrig", - "Gehring", - "Gehrke", - "Geiger", - "Geisler", - "Geissler", - "Gelling", - "Gens", - "Gerbennow", - "Gerdel", - "Gerhardt", - "Gerschler", - "Gerson", - "Gesell", - "Geyer", - "Ghirmai", - "Ghosh", - "Giehl", - "Gierisch", - "Giesa", - "Giesche", - "Gilde", - "Glatting", - "Goebel", - "Goedicke", - "Goldbeck", - "Goldfuss", - "Goldkamp", - "Goldkühle", - "Goller", - "Golling", - "Gollnow", - "Golomski", - "Gombert", - "Gotthardt", - "Gottschalk", - "Gotz", - "Goy", - "Gradzki", - "Graf", - "Grams", - "Grasse", - "Gratzky", - "Grau", - "Greb", - "Green", - "Greger", - "Greithanner", - "Greschner", - "Griem", - "Griese", - "Grimm", - "Gromisch", - "Gross", - "Grosser", - "Grossheim", - "Grosskopf", - "Grothaus", - "Grothkopp", - "Grotke", - "Grube", - "Gruber", - "Grundmann", - "Gruning", - "Gruszecki", - "Gröss", - "Grötzinger", - "Grün", - "Grüner", - "Gummelt", - "Gunkel", - "Gunther", - "Gutjahr", - "Gutowicz", - "Gutschank", - "Göbel", - "Göckeritz", - "Göhler", - "Görlich", - "Görmer", - "Götz", - "Götzelmann", - "Güldemeister", - "Günther", - "Günz", - "Gürbig", - "Haack", - "Haaf", - "Habel", - "Hache", - "Hackbusch", - "Hackelbusch", - "Hadfield", - "Hadwich", - "Haferkamp", - "Hahn", - "Hajek", - "Hallmann", - "Hamann", - "Hanenberger", - "Hannecker", - "Hanniske", - "Hansen", - "Hardy", - "Hargasser", - "Harms", - "Harnapp", - "Harter", - "Harting", - "Hartlieb", - "Hartmann", - "Hartwig", - "Hartz", - "Haschke", - "Hasler", - "Hasse", - "Hassfeld", - "Haug", - "Hauke", - "Haupt", - "Haverney", - "Heberstreit", - "Hechler", - "Hecht", - "Heck", - "Hedermann", - "Hehl", - "Heidelmann", - "Heidler", - "Heinemann", - "Heinig", - "Heinke", - "Heinrich", - "Heinze", - "Heiser", - "Heist", - "Hellmann", - "Helm", - "Helmke", - "Helpling", - "Hengmith", - "Henkel", - "Hennes", - "Henry", - "Hense", - "Hensel", - "Hentel", - "Hentschel", - "Hentschke", - "Hepperle", - "Herberger", - "Herbrand", - "Hering", - "Hermann", - "Hermecke", - "Herms", - "Herold", - "Herrmann", - "Herschmann", - "Hertel", - "Herweg", - "Herwig", - "Herzenberg", - "Hess", - "Hesse", - "Hessek", - "Hessler", - "Hetzler", - "Heuck", - "Heydemüller", - "Hiebl", - "Hildebrand", - "Hildenbrand", - "Hilgendorf", - "Hillard", - "Hiller", - "Hingsen", - "Hingst", - "Hinrichs", - "Hirsch", - "Hirschberg", - "Hirt", - "Hodea", - "Hoffman", - "Hoffmann", - "Hofmann", - "Hohenberger", - "Hohl", - "Hohn", - "Hohnheiser", - "Hold", - "Holdt", - "Holinski", - "Holl", - "Holtfreter", - "Holz", - "Holzdeppe", - "Holzner", - "Hommel", - "Honz", - "Hooss", - "Hoppe", - "Horak", - "Horn", - "Horna", - "Hornung", - "Hort", - "Howard", - "Huber", - "Huckestein", - "Hudak", - "Huebel", - "Hugo", - "Huhn", - "Hujo", - "Huke", - "Huls", - "Humbert", - "Huneke", - "Huth", - "Häber", - "Häfner", - "Höcke", - "Höft", - "Höhne", - "Hönig", - "Hördt", - "Hübenbecker", - "Hübl", - "Hübner", - "Hügel", - "Hüttcher", - "Hütter", - "Ibe", - "Ihly", - "Illing", - "Isak", - "Isekenmeier", - "Itt", - "Jacob", - "Jacobs", - "Jagusch", - "Jahn", - "Jahnke", - "Jakobs", - "Jakubczyk", - "Jambor", - "Jamrozy", - "Jander", - "Janich", - "Janke", - "Jansen", - "Jarets", - "Jaros", - "Jasinski", - "Jasper", - "Jegorov", - "Jellinghaus", - "Jeorga", - "Jerschabek", - "Jess", - "John", - "Jonas", - "Jossa", - "Jucken", - "Jung", - "Jungbluth", - "Jungton", - "Just", - "Jürgens", - "Kaczmarek", - "Kaesmacher", - "Kahl", - "Kahlert", - "Kahles", - "Kahlmeyer", - "Kaiser", - "Kalinowski", - "Kallabis", - "Kallensee", - "Kampf", - "Kampschulte", - "Kappe", - "Kappler", - "Karhoff", - "Karrass", - "Karst", - "Karsten", - "Karus", - "Kass", - "Kasten", - "Kastner", - "Katzinski", - "Kaufmann", - "Kaul", - "Kausemann", - "Kawohl", - "Kazmarek", - "Kedzierski", - "Keil", - "Keiner", - "Keller", - "Kelm", - "Kempe", - "Kemper", - "Kempter", - "Kerl", - "Kern", - "Kesselring", - "Kesselschläger", - "Kette", - "Kettenis", - "Keutel", - "Kick", - "Kiessling", - "Kinadeter", - "Kinzel", - "Kinzy", - "Kirch", - "Kirst", - "Kisabaka", - "Klaas", - "Klabuhn", - "Klapper", - "Klauder", - "Klaus", - "Kleeberg", - "Kleiber", - "Klein", - "Kleinert", - "Kleininger", - "Kleinmann", - "Kleinsteuber", - "Kleiss", - "Klemme", - "Klimczak", - "Klinger", - "Klink", - "Klopsch", - "Klose", - "Kloss", - "Kluge", - "Kluwe", - "Knabe", - "Kneifel", - "Knetsch", - "Knies", - "Knippel", - "Knobel", - "Knoblich", - "Knoll", - "Knorr", - "Knorscheidt", - "Knut", - "Kobs", - "Koch", - "Kochan", - "Kock", - "Koczulla", - "Koderisch", - "Koehl", - "Koehler", - "Koenig", - "Koester", - "Kofferschlager", - "Koha", - "Kohle", - "Kohlmann", - "Kohnle", - "Kohrt", - "Koj", - "Kolb", - "Koleiski", - "Kolokas", - "Komoll", - "Konieczny", - "Konig", - "Konow", - "Konya", - "Koob", - "Kopf", - "Kosenkow", - "Koster", - "Koszewski", - "Koubaa", - "Kovacs", - "Kowalick", - "Kowalinski", - "Kozakiewicz", - "Krabbe", - "Kraft", - "Kral", - "Kramer", - "Krauel", - "Kraus", - "Krause", - "Krauspe", - "Kreb", - "Krebs", - "Kreissig", - "Kresse", - "Kreutz", - "Krieger", - "Krippner", - "Krodinger", - "Krohn", - "Krol", - "Kron", - "Krueger", - "Krug", - "Kruger", - "Krull", - "Kruschinski", - "Krämer", - "Kröckert", - "Kröger", - "Krüger", - "Kubera", - "Kufahl", - "Kuhlee", - "Kuhnen", - "Kulimann", - "Kulma", - "Kumbernuss", - "Kummle", - "Kunz", - "Kupfer", - "Kupprion", - "Kuprion", - "Kurnicki", - "Kurrat", - "Kurschilgen", - "Kuschewitz", - "Kuschmann", - "Kuske", - "Kustermann", - "Kutscherauer", - "Kutzner", - "Kwadwo", - "Kähler", - "Käther", - "Köhler", - "Köhrbrück", - "Köhre", - "Kölotzei", - "König", - "Köpernick", - "Köseoglu", - "Kúhn", - "Kúhnert", - "Kühn", - "Kühnel", - "Kühnemund", - "Kühnert", - "Kühnke", - "Küsters", - "Küter", - "Laack", - "Lack", - "Ladewig", - "Lakomy", - "Lammert", - "Lamos", - "Landmann", - "Lang", - "Lange", - "Langfeld", - "Langhirt", - "Lanig", - "Lauckner", - "Lauinger", - "Laurén", - "Lausecker", - "Laux", - "Laws", - "Lax", - "Leberer", - "Lehmann", - "Lehner", - "Leibold", - "Leide", - "Leimbach", - "Leipold", - "Leist", - "Leiter", - "Leiteritz", - "Leitheim", - "Leiwesmeier", - "Lenfers", - "Lenk", - "Lenz", - "Lenzen", - "Leo", - "Lepthin", - "Lesch", - "Leschnik", - "Letzelter", - "Lewin", - "Lewke", - "Leyckes", - "Lg", - "Lichtenfeld", - "Lichtenhagen", - "Lichtl", - "Liebach", - "Liebe", - "Liebich", - "Liebold", - "Lieder", - "Lienshöft", - "Linden", - "Lindenberg", - "Lindenmayer", - "Lindner", - "Linke", - "Linnenbaum", - "Lippe", - "Lipske", - "Lipus", - "Lischka", - "Lobinger", - "Logsch", - "Lohmann", - "Lohre", - "Lohse", - "Lokar", - "Loogen", - "Lorenz", - "Losch", - "Loska", - "Lott", - "Loy", - "Lubina", - "Ludolf", - "Lufft", - "Lukoschek", - "Lutje", - "Lutz", - "Löser", - "Löwa", - "Lübke", - "Maak", - "Maczey", - "Madetzky", - "Madubuko", - "Mai", - "Maier", - "Maisch", - "Malek", - "Malkus", - "Mallmann", - "Malucha", - "Manns", - "Manz", - "Marahrens", - "Marchewski", - "Margis", - "Markowski", - "Marl", - "Marner", - "Marquart", - "Marschek", - "Martel", - "Marten", - "Martin", - "Marx", - "Marxen", - "Mathes", - "Mathies", - "Mathiszik", - "Matschke", - "Mattern", - "Matthes", - "Matula", - "Mau", - "Maurer", - "Mauroff", - "May", - "Maybach", - "Mayer", - "Mebold", - "Mehl", - "Mehlhorn", - "Mehlorn", - "Meier", - "Meisch", - "Meissner", - "Meloni", - "Melzer", - "Menga", - "Menne", - "Mensah", - "Mensing", - "Merkel", - "Merseburg", - "Mertens", - "Mesloh", - "Metzger", - "Metzner", - "Mewes", - "Meyer", - "Michallek", - "Michel", - "Mielke", - "Mikitenko", - "Milde", - "Minah", - "Mintzlaff", - "Mockenhaupt", - "Moede", - "Moedl", - "Moeller", - "Moguenara", - "Mohr", - "Mohrhard", - "Molitor", - "Moll", - "Moller", - "Molzan", - "Montag", - "Moormann", - "Mordhorst", - "Morgenstern", - "Morhelfer", - "Moritz", - "Moser", - "Motchebon", - "Motzenbbäcker", - "Mrugalla", - "Muckenthaler", - "Mues", - "Muller", - "Mulrain", - "Mächtig", - "Mäder", - "Möcks", - "Mögenburg", - "Möhsner", - "Möldner", - "Möllenbeck", - "Möller", - "Möllinger", - "Mörsch", - "Mühleis", - "Müller", - "Münch", - "Nabein", - "Nabow", - "Nagel", - "Nannen", - "Nastvogel", - "Nau", - "Naubert", - "Naumann", - "Ne", - "Neimke", - "Nerius", - "Neubauer", - "Neubert", - "Neuendorf", - "Neumair", - "Neumann", - "Neupert", - "Neurohr", - "Neuschwander", - "Newton", - "Ney", - "Nicolay", - "Niedermeier", - "Nieklauson", - "Niklaus", - "Nitzsche", - "Noack", - "Nodler", - "Nolte", - "Normann", - "Norris", - "Northoff", - "Nowak", - "Nussbeck", - "Nwachukwu", - "Nytra", - "Nöh", - "Oberem", - "Obergföll", - "Obermaier", - "Ochs", - "Oeser", - "Olbrich", - "Onnen", - "Ophey", - "Oppong", - "Orth", - "Orthmann", - "Oschkenat", - "Osei", - "Osenberg", - "Ostendarp", - "Ostwald", - "Otte", - "Otto", - "Paesler", - "Pajonk", - "Pallentin", - "Panzig", - "Paschke", - "Patzwahl", - "Paukner", - "Peselman", - "Peter", - "Peters", - "Petzold", - "Pfeiffer", - "Pfennig", - "Pfersich", - "Pfingsten", - "Pflieger", - "Pflügner", - "Philipp", - "Pichlmaier", - "Piesker", - "Pietsch", - "Pingpank", - "Pinnock", - "Pippig", - "Pitschugin", - "Plank", - "Plass", - "Platzer", - "Plauk", - "Plautz", - "Pletsch", - "Plotzitzka", - "Poehn", - "Poeschl", - "Pogorzelski", - "Pohl", - "Pohland", - "Pohle", - "Polifka", - "Polizzi", - "Pollmächer", - "Pomp", - "Ponitzsch", - "Porsche", - "Porth", - "Poschmann", - "Poser", - "Pottel", - "Prah", - "Prange", - "Prediger", - "Pressler", - "Preuk", - "Preuss", - "Prey", - "Priemer", - "Proske", - "Pusch", - "Pöche", - "Pöge", - "Raabe", - "Rabenstein", - "Rach", - "Radtke", - "Rahn", - "Ranftl", - "Rangen", - "Ranz", - "Rapp", - "Rath", - "Rau", - "Raubuch", - "Raukuc", - "Rautenkranz", - "Rehwagen", - "Reiber", - "Reichardt", - "Reichel", - "Reichling", - "Reif", - "Reifenrath", - "Reimann", - "Reinberg", - "Reinelt", - "Reinhardt", - "Reinke", - "Reitze", - "Renk", - "Rentz", - "Renz", - "Reppin", - "Restle", - "Restorff", - "Retzke", - "Reuber", - "Reumann", - "Reus", - "Reuss", - "Reusse", - "Rheder", - "Rhoden", - "Richards", - "Richter", - "Riedel", - "Riediger", - "Rieger", - "Riekmann", - "Riepl", - "Riermeier", - "Riester", - "Riethmüller", - "Rietmüller", - "Rietscher", - "Ringel", - "Ringer", - "Rink", - "Ripken", - "Ritosek", - "Ritschel", - "Ritter", - "Rittweg", - "Ritz", - "Roba", - "Rockmeier", - "Rodehau", - "Rodowski", - "Roecker", - "Roggatz", - "Rohländer", - "Rohrer", - "Rokossa", - "Roleder", - "Roloff", - "Roos", - "Rosbach", - "Roschinsky", - "Rose", - "Rosenauer", - "Rosenbauer", - "Rosenthal", - "Rosksch", - "Rossberg", - "Rossler", - "Roth", - "Rother", - "Ruch", - "Ruckdeschel", - "Rumpf", - "Rupprecht", - "Ruth", - "Ryjikh", - "Ryzih", - "Rädler", - "Räntsch", - "Rödiger", - "Röse", - "Röttger", - "Rücker", - "Rüdiger", - "Rüter", - "Sachse", - "Sack", - "Saflanis", - "Sagafe", - "Sagonas", - "Sahner", - "Saile", - "Sailer", - "Salow", - "Salzer", - "Salzmann", - "Sammert", - "Sander", - "Sarvari", - "Sattelmaier", - "Sauer", - "Sauerland", - "Saumweber", - "Savoia", - "Scc", - "Schacht", - "Schaefer", - "Schaffarzik", - "Schahbasian", - "Scharf", - "Schedler", - "Scheer", - "Schelk", - "Schellenbeck", - "Schembera", - "Schenk", - "Scherbarth", - "Scherer", - "Schersing", - "Scherz", - "Scheurer", - "Scheuring", - "Scheytt", - "Schielke", - "Schieskow", - "Schildhauer", - "Schilling", - "Schima", - "Schimmer", - "Schindzielorz", - "Schirmer", - "Schirrmeister", - "Schlachter", - "Schlangen", - "Schlawitz", - "Schlechtweg", - "Schley", - "Schlicht", - "Schlitzer", - "Schmalzle", - "Schmid", - "Schmidt", - "Schmidtchen", - "Schmitt", - "Schmitz", - "Schmuhl", - "Schneider", - "Schnelting", - "Schnieder", - "Schniedermeier", - "Schnürer", - "Schoberg", - "Scholz", - "Schonberg", - "Schondelmaier", - "Schorr", - "Schott", - "Schottmann", - "Schouren", - "Schrader", - "Schramm", - "Schreck", - "Schreiber", - "Schreiner", - "Schreiter", - "Schroder", - "Schröder", - "Schuermann", - "Schuff", - "Schuhaj", - "Schuldt", - "Schult", - "Schulte", - "Schultz", - "Schultze", - "Schulz", - "Schulze", - "Schumacher", - "Schumann", - "Schupp", - "Schuri", - "Schuster", - "Schwab", - "Schwalm", - "Schwanbeck", - "Schwandke", - "Schwanitz", - "Schwarthoff", - "Schwartz", - "Schwarz", - "Schwarzer", - "Schwarzkopf", - "Schwarzmeier", - "Schwatlo", - "Schweisfurth", - "Schwennen", - "Schwerdtner", - "Schwidde", - "Schwirkschlies", - "Schwuchow", - "Schäfer", - "Schäffel", - "Schäffer", - "Schäning", - "Schöckel", - "Schönball", - "Schönbeck", - "Schönberg", - "Schönebeck", - "Schönenberger", - "Schönfeld", - "Schönherr", - "Schönlebe", - "Schötz", - "Schüler", - "Schüppel", - "Schütz", - "Schütze", - "Seeger", - "Seelig", - "Sehls", - "Seibold", - "Seidel", - "Seiders", - "Seigel", - "Seiler", - "Seitz", - "Semisch", - "Senkel", - "Sewald", - "Siebel", - "Siebert", - "Siegling", - "Sielemann", - "Siemon", - "Siener", - "Sievers", - "Siewert", - "Sihler", - "Sillah", - "Simon", - "Sinnhuber", - "Sischka", - "Skibicki", - "Sladek", - "Slotta", - "Smieja", - "Soboll", - "Sokolowski", - "Soller", - "Sollner", - "Sommer", - "Somssich", - "Sonn", - "Sonnabend", - "Spahn", - "Spank", - "Spelmeyer", - "Spiegelburg", - "Spielvogel", - "Spinner", - "Spitzmüller", - "Splinter", - "Sporrer", - "Sprenger", - "Spöttel", - "Stahl", - "Stang", - "Stanger", - "Stauss", - "Steding", - "Steffen", - "Steffny", - "Steidl", - "Steigauf", - "Stein", - "Steinecke", - "Steinert", - "Steinkamp", - "Steinmetz", - "Stelkens", - "Stengel", - "Stengl", - "Stenzel", - "Stepanov", - "Stephan", - "Stern", - "Steuk", - "Stief", - "Stifel", - "Stoll", - "Stolle", - "Stolz", - "Storl", - "Storp", - "Stoutjesdijk", - "Stratmann", - "Straub", - "Strausa", - "Streck", - "Streese", - "Strege", - "Streit", - "Streller", - "Strieder", - "Striezel", - "Strogies", - "Strohschank", - "Strunz", - "Strutz", - "Stube", - "Stöckert", - "Stöppler", - "Stöwer", - "Stürmer", - "Suffa", - "Sujew", - "Sussmann", - "Suthe", - "Sutschet", - "Swillims", - "Szendrei", - "Sören", - "Sürth", - "Tafelmeier", - "Tang", - "Tasche", - "Taufratshofer", - "Tegethof", - "Teichmann", - "Tepper", - "Terheiden", - "Terlecki", - "Teufel", - "Theele", - "Thieke", - "Thimm", - "Thiomas", - "Thomas", - "Thriene", - "Thränhardt", - "Thust", - "Thyssen", - "Thöne", - "Tidow", - "Tiedtke", - "Tietze", - "Tilgner", - "Tillack", - "Timmermann", - "Tischler", - "Tischmann", - "Tittman", - "Tivontschik", - "Tonat", - "Tonn", - "Trampeli", - "Trauth", - "Trautmann", - "Travan", - "Treff", - "Tremmel", - "Tress", - "Tsamonikian", - "Tschiers", - "Tschirch", - "Tuch", - "Tucholke", - "Tudow", - "Tuschmo", - "Tächl", - "Többen", - "Töpfer", - "Uhlemann", - "Uhlig", - "Uhrig", - "Uibel", - "Uliczka", - "Ullmann", - "Ullrich", - "Umbach", - "Umlauft", - "Umminger", - "Unger", - "Unterpaintner", - "Urban", - "Urbaniak", - "Urbansky", - "Urhig", - "Vahlensieck", - "Van", - "Vangermain", - "Vater", - "Venghaus", - "Verniest", - "Verzi", - "Vey", - "Viellehner", - "Vieweg", - "Voelkel", - "Vogel", - "Vogelgsang", - "Vogt", - "Voigt", - "Vokuhl", - "Volk", - "Volker", - "Volkmann", - "Von", - "Vona", - "Vontein", - "Wachenbrunner", - "Wachtel", - "Wagner", - "Waibel", - "Wakan", - "Waldmann", - "Wallner", - "Wallstab", - "Walter", - "Walther", - "Walton", - "Walz", - "Wanner", - "Wartenberg", - "Waschbüsch", - "Wassilew", - "Wassiluk", - "Weber", - "Wehrsen", - "Weidlich", - "Weidner", - "Weigel", - "Weight", - "Weiler", - "Weimer", - "Weis", - "Weiss", - "Weller", - "Welsch", - "Welz", - "Welzel", - "Weniger", - "Wenk", - "Werle", - "Werner", - "Werrmann", - "Wessel", - "Wessinghage", - "Weyel", - "Wezel", - "Wichmann", - "Wickert", - "Wiebe", - "Wiechmann", - "Wiegelmann", - "Wierig", - "Wiese", - "Wieser", - "Wilhelm", - "Wilky", - "Will", - "Willwacher", - "Wilts", - "Wimmer", - "Winkelmann", - "Winkler", - "Winter", - "Wischek", - "Wischer", - "Wissing", - "Wittich", - "Wittl", - "Wolf", - "Wolfarth", - "Wolff", - "Wollenberg", - "Wollmann", - "Woytkowska", - "Wujak", - "Wurm", - "Wyludda", - "Wölpert", - "Wöschler", - "Wühn", - "Wünsche", - "Zach", - "Zaczkiewicz", - "Zahn", - "Zaituc", - "Zandt", - "Zanner", - "Zapletal", - "Zauber", - "Zeidler", - "Zekl", - "Zender", - "Zeuch", - "Zeyen", - "Zeyhle", - "Ziegler", - "Zimanyi", - "Zimmer", - "Zimmermann", - "Zinser", - "Zintl", - "Zipp", - "Zipse", - "Zschunke", - "Zuber", - "Zwiener", - "Zümsande", - "Östringer", - "Überacker", -}; - -const std::array austrianMalePrefixes{"Herr", "Dr.", "Prof. Dr."}; - -const std::array austrianFemalePrefixes{"Frau", "Dr.", "Prof. Dr."}; - -const NameFormats austrianNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 5}}}; - -const PeopleNames austrianPeopleNames{{austrianMaleFirstNames, austrianLastNames, austrianMalePrefixes, {}}, - {austrianFemaleFirstNames, austrianLastNames, austrianFemalePrefixes, {}}, - austrianNameFormats}; - -// Azerbaijan - -const std::array azerbaijaniMaleFirstNames = { - "Anar", "Amid", "Afəl", "Abbas", "Abdulla", "Adil", "Akif", "Aqil", "Bəhram", - "Nurlan", "Rafiq", "Tərlan", "Zaur", "Emin", "Emil", "Kamran", "Elnur", "Natiq", - "Rəşad", "Rəşid", "Tahir", "Əhməd", "Zahir", "İlham", "İlqar", "Nahid", "Nihad", - "Faiq", "İxtiyar", "Şəhriyar", "Şaiq", "Bəxtiyar", "Bəhruz", "Tunar", "Nadir", -}; - -const std::array azerbaijaniFemaleFirstNames = { - "Anna", "Adeliya", "Afaq", "Afət", "Afərim", "Aidə", "Aygün", "Aynur", "Alsu", "Ayan", - "Aytən", "Aygül", "Aydan", "Aylin", "Bahar", "Banu", "Bəyaz", "Billurə", "Cansu", "Ceyla", - "Damla", "Dəniz", "Diana", "Dilarə", "Ella", "Elza", "Elyanora", "Ellada", "Elvira", "Elnarə", - "Esmira", "Estella", "Fatimə", "Fəxriyyə", "Fərəh", "Fərqanə", "Fidan", "Firuzə", "Gövhər", "Günay", - "Gülay", "Gülçin", "Gülər", "Gülsüm", "Humay", "Hüriyə", "Hülya", "Jalə", "Jasmin", "Kübra", - "Ləman", "Lamiyə", "Lalə", "Liliya", "Laura", "Leyla", "Maya", "Mehriban", "Mələk", "Nuray", - "Nurgün", "Nərgiz", "Nigar", "Ofelya", "Pəri", "Röya", "Səbinə", "Selcan", "Tansu", "Tuba", - "Ülviyyə", "Ulduz", "Ülkər", -}; - -const std::array azerbaijaniMaleLastNames = { - "Əhmədov", "Ələkbərov", "Əliyev", "Vəliyev", "Soltanov", "Quliyev", "Məmmədov", "Xəlilov", "Nəzərov", "Rəhimov", -}; - -const std::array azerbaijaniFemaleLastNames = { - "Qasımova", "Əfəndiyeva", "Soltanova", "Abdullayeva", "Rəşidova", - "Ələkbərova", "Əliyeva", "Tahirova", "Seyidova", "Vəsiyeva", -}; - -const NameFormats azerbaijaniNameFormats{{ - {"{lastName} {firstName}", 1}, - {"{firstName} {lastName}", 1}, -}}; - -const PeopleNames azerbaijaniPeopleNames{{azerbaijaniMaleFirstNames, azerbaijaniMaleLastNames, {}, {}}, - {azerbaijaniFemaleFirstNames, azerbaijaniFemaleLastNames, {}, {}}, - azerbaijaniNameFormats}; - -// Belarus - -const std::array belarusianMaleFirstNames = { - "Sergey", "Andrey", "Aleksandr", "Dmitriy", "Vladimir", "Alexander", "Pavel", "Aleksey", - "Evgeniy", "Dmitry", "Igor", "Nikolay", "Maksim", "Ivan", "Artyom", "Mikhail", - "Alexey", "Ilya", "Oleg", "Viktor", "Roman", "Anton", "Vadim", "Kirill", - "Yuriy", "Maxim", "Evgeny", "Vitaliy", "Egor", "Vladislav", "Konstantin", "Artem", - "Vitaly", "Stanislav", "Ruslan", "Artur", "Valeriy", "Yury", "Vyacheslav", "Gennadiy", - "Anatoliy", "Petr", "Leonid", "Daniil", "Vasily", "Anatoly", "Eduard", "Valentin", - "Gleb", "Danil", "Yaroslav", "Boris", "Timofey", "Matvey", "Stepan", "Bogdan", - "Arseniy", "Mark", "Georgiy", "Timur", "Svyatoslav", "German", "Andrei", "Grigory", - "Fedor", "Sergei", "Kiril", "Nazar", "David", "Ignat", "Alex", "Marat", - "Georgy", "Rodion", "Arkadiy", "Rustam", "Aleks", "Alexandr", "Rostislav", "Albert", - "Sergej", "Semen", "Taras", "Lev", "Philip", "Miroslav", "Robert", "Vsevolod", - "Ales", "Renat", "Filipp", "Edgar", "Vital", "Erik", "Alik", "Andrej", - "Alexandar", "Aleksander", "Aleksandar", "Adam", "Victor", "Edvard", "Ali", "Daniel", - "Arsen", "Dinis", "Martin", "Aleksei", "Iosif", "Emil", "Mihail", "Nikolai", - "Mikola", "Eldar", "Leon", "Arnold", "Ernest", "Vasil", "Murat", "Vitali", - "Nick", "Alexei", "Vladimer", "Eugene", "Aleksej", "Richard", "Kris", "Miron", - "Zhan", "Dmitri", "Stefan", "Aliaksandr", "Samir", "Serge", "Dmitrij", "Rinat", - "Angel", "Sasa", "Dzmitry", "Dominik", "Andre", "Marek", "Petro", "John", - "Serafim", "Milan", "Paul", "Viktar", "Feliks", "Damir", "Arslan", "Felix", - "Tomas", "Tata", "Raman", "Armen", "Rafael", "Valdemar", "Ramil", "Akim", - "Adrian", "Alan", "Ashot", "Andrian", "Sergio", "Karim", "Tom", "Arman", - "Vitalii", "Jack", "Tigran", "Aziz", "Peter", "Oskar", "Dimitry", "Uladzimir", - "Nikolas", "Yanik", "Sem", "Murad", "Illya", "Filip", "Suleyman", "Siarhei", - "Evgeni", "Artiom", "Sam", "Andry", "Vasili", "Dimitriy", "Adel", "Jan", - "Aslan", "Aliaksei", "Patrik", "Romeo", "Elvin", "Anatoli", "Kristian", "Zaur", - "Ismail", "Aram", "Romuald", "Arthur", "Amir", "Sancho", "Andriy", "Shamil", - "George", "Farid", "Antony", "Karl", "Marsel", "Ostap", "Ilyas", "Mustafa", - "Sergiy", "Alfred", "Ahmed", "Bob", "Said", "Simon", "Magomed", "Deni", - "Iliya", "Yurii", "Alen", "Nil", "Jon", "Rafik", "Emin", "Sashko", - "Ruben", "Kamil", "Gevorg", "Ihar", "Aleh", "Slavomir", "Leonard", "Pol", - "Ben", "Ahmet", "Tony", "Di", "Rudolf", "Abram", "Omar", "Dionis", - "Markus", "Chris", "Edward", "Kevin", "Gor", "Michail", "Luka", "Samuil", - "Gabriel", "Bladimir", "Nikolaj", "Ramin", "Natan", "Edvin", "Adolf", "Rasim", - "Sascha", "Antoni", "Raul", "Zurab", "Georg", "James", "Frank", "Andreu", - "Eugen", "Ramiz", "Niko", "Donat", "Papa", "Amin", "Sultan", "Yegor", - "Mir", "Oleksandr", "Fred", "Ahmad", "Mansur", "Alessandro", "Pan", "Pavlo", - "Samvel", "Just", "Anatolii", "Eric", "Makha", "Sergy", "Olexandr", "Ilja", - "Kemal", "Mehmet", "Emir", "Rauf", "Nail", "Pablo", "William", "Musa", - "Ibrahim", "Mohammad", "Ladislav", "Wiktor", "Rashid", "Dani", "Da", "Levon", - "Arif", "Ronald", "Salim", "Aron", "Mohamad", "Vakhtang", "Suren", "Vazgen", - "Anis", "Luis", "Kosta", "Valerii", "Patrick", "Elvis", "Rashad", "Dzhamal", - "Dzianis", "Mikhaylo", "Vardan", "Narek", "Pedro", "Migel", "Irakli", "Alexy", - "Mohammed", "Edgard", "Levan", "Pawel", "Parviz", "Abdul", "Andranik", "Asel", - "Svetoslav", "Dante", "Yunus", "Gospodin", "Arseni", "Wladimir", -}; - -const std::array belarusianFemaleFirstNames = { - "Olga", "Tatyana", "Ekaterina", "Natalya", "Elena", "Anastasiya", "Irina", "Svetlana", - "Anna", "Marina", "Darya", "Denis", "Viktoriya", "Mariya", "Yuliya", "Kristina", - "Anastasia", "Nikita", "Alina", "Veronika", "Lyudmila", "Yulia", "Nadezhda", "Viktoria", - "Anya", "Alyona", "Aleksandra", "Elizaveta", "Yana", "Diana", "Valentina", "Galina", - "Kseniya", "Inna", "Valeriya", "Polina", "Karina", "Maria", "Oksana", "Oxana", - "Margarita", "Alexandra", "Alla", "Evgeniya", "Angelina", "Sasha", "Alena", "Lyubov", - "Zhanna", "Larisa", "Olesya", "Nina", "Tamara", "Vera", "Zhenya", "Ksenia", - "Valeria", "Evgenia", "Natalia", "Anzhelika", "Nataliya", "Nika", "Arina", "Ulyana", - "Valery", "Snezhana", "Violetta", "Danila", "Anzhela", "Ilona", "Yan", "Alisa", - "Antonina", "Milana", "Inga", "Vladislava", "Marta", "Lilia", "Karolina", "Sofiya", - "Liliya", "Sanya", "Dina", "Kira", "Zoya", "Lidiya", "Inessa", "Raisa", - "Yanina", "Lina", "Varvara", "Zinaida", "Elvira", "Sofya", "Mayya", "Yuliana", - "Darina", "Mila", "Eva", "Lidia", "Dana", "Vasilisa", "Albina", "Milena", - "Lilya", "Asya", "Lika", "Sofia", "Nelli", "Regina", "Lana", "Lolita", - "Vitalina", "Sashka", "Zlata", "Evelina", "Sabina", "Julia", "Elina", "Marianna", - "Renata", "Liana", "Yulianna", "Rimma", "Inka", "Vasilina", "Ruslana", "Kate", - "Anita", "Tina", "Tatiana", "Emma", "Zarina", "Daria", "Miroslava", "Lada", - "Lora", "Alevtina", "Ilonka", "Irena", "Eleonora", "Taisa", "Nadka", "Sandra", - "Yaroslava", "Roza", "Maryana", "Victoria", "Taisia", "Erika", "Veta", "Agata", - "Dominika", "Rina", "Ann", "Katrina", "Faina", "Viola", "Mira", "Anfisa", - "Liya", "Natallia", "Vitaliya", "Dinara", "Kamilla", "Vitalia", "Mari", "Tatsiana", - "Verka", "Leyla", "Elmira", "Danuta", "Emiliya", "Tereza", "Lia", "Emilia", - "Stella", "Helen", "Sabrina", "Dayana", "Amina", "Maya", "Dariya", "Tania", - "Nonna", "Dinka", "Violeta", "Stanislava", "Lara", "Dan", "Luiza", "Kamila", - "Klavdiya", "Nastia", "Mary", "Ludmila", "Alesia", "Katarina", "Ninel", "Nadin", - "Malvina", "Yulian", "Katia", "Adelina", "Elka", "Rada", "Ariana", "Gulnara", - "Syuzanna", "Aksana", "Karen", "Teresa", "Liliana", "Ivanna", "Ada", "Bella", - "Elza", "Alexa", "Meri", "Linda", "Anuta", "Iya", "Tonka", "Laura", - "Kim", "Nadia", "Marika", "Lisa", "Christina", "Maryan", "Izabella", "Yuri", - "Nikola", "Ariadna", "Daniela", "Hanna", "Glafira", "Monika", "Ina", "Lili", - "Valeri", "Ilia", "Vanda", "Snezhanka", "Ana", "Iryna", "Sara", "Alisha", - "Fatima", "Elen", "Danka", "Ivona", "Nataly", "Anet", "Sana", "Anika", - "Adriana", "Madina", "Nona", "Edita", "Helena", "Aida", "Mishel", "Zena", - "Bogdana", "Aleksandrina", "Elizabet", "Samira", "Pavlina", "Ganna", "Irma", "Slavka", - "Elizabeth", "Eliza", "Darinka", "Ania", "Stefaniya", "Nelya", "Beata", "Ani", - "Jane", "Venera", "Veronica", "Sania", "Angelika", "Katy", "Sima", "Mariyka", - "Tanja", "Stefania", "Sava", "Ioanna", "Alice", "Pavla", "Nella", "Vania", - "Yanis", "Li", "Tatjana", "Annet", "Mama", "Gala", "Klara", "Sacha", - "Vanessa", "Kati", "Natalie", "Mariana", "Nana", "Nadzeya", "Ya", "Islam", - "Radmila", "Ayna", "Nila", "Tamila", "Roksana", "Katja", "Petra", "Dennis", - "Mika", "Beronika", "Arianna", "Angela", "Helga", "Verona", "Zara", "Viktoryia", - "Elis", "Victoriya", "Jana", "Alexandrina", "Mariam", "Liudmila", "Tinka", "Juli", - "Lyubka", "Dunya", "Emili", "Amira", "Dara", "Roxana", "Tana", "Anastacia", - "Barbara", "Maryna", "Lady", "Aliona", "Halina", "Nelly", -}; - -const std::array belarusianMaleLastNames = { - "Ivanov", "Novik", "Zhuk", "Moroz", "Petrov", "Novikov", "Kravchenko", - "Kovalenko", "Makarevich", "Kovalchuk", "Karpovich", "Pashkevich", "Kozlov", "Volkov", - "Shevchenko", "Kotov", "Klimovich", "Morozov", "Smirnov", "Bondarenko", "Stankevich", - "Tarasevich", "Marchenko", "Zaytsev", "Lukashevich", "Kot", "Savchenko", "Bogdanovich", - "Pinchuk", "Kovalyov", "Boyko", "Kuzmich", "Melnik", "Korol", "Matskevich", - "Sinkevich", "Bondar", "Pavlovich", "Petrovich", "Melnikov", "Kazak", "Markevich", - "Romanov", "Borisevich", "Sidorenko", "Yushkevich", "Kovalevich", "Kozlovsky", "Zayats", - "Kuznetsov", "Abramovich", "Romanenko", "Dashkevich", "Yurchenko", "Sokolov", "Borisenko", - "Kovalev", "Rusak", "Makarenko", "Adamovich", "Poznyak", "Drozd", "Kozel", - "Ignatovich", "Khomich", "Vorobey", "Kravchuk", "Romanyuk", "Baranov", "Shevchuk", - "Dubovik", "Vasilevsky", "Akulich", "Kisel", "Frolov", "Romanovich", "Savchuk", - "Sakovich", "Goncharov", "Popov", "Mironov", "Orlov", "Kulik", "Murashko", - "Golub", "Pavlov", "Gorbach", "Gavrilenko", "Andreev", "Vashkevich", "Timoshenko", - "Vasilenko", "Solovey", "Makarov", "Vasilevich", "Sidorovich", "Prokopovich", "Kravtsov", - "Lis", "Zhdanovich", "Kholod", "Fedorovich", "Matusevich", "Gerasimovich", "Nikitin", - "Zhukov", "Yaroshevich", "Mikhaylov", "Yurkevich", "Zakharenko", "Bely", "Burak", - "Demidovich", "Volk", "Shinkevich", "Zhukovsky", "Gurinovich", "Belov", "Naumenko", - "Shpak", "Sergeev", "Koval", "Golovach", "Mitskevich", "Kovalevsky", "Nesterovich", - "Prikhodko", "Medvedev", "Meleshko", "Kasperovich", "Stepanov", "Korotkevich", "Alexandrovich", - "Lebedev", "Baranovsky", "Titov", "Radkevich", "Prokopenko", "Ignatenko", "Kazakevich", - "Savich", "Yakimovich", "Kachan", "Sergeevich", "Ermakovich", "Nikitenko", "Babich", - "Verenich", "Davidovich", "Yaskevich", "Komar", "Nikolaev", "Grinevich", "Aleksandrovich", - "Sokolovsky", "Potapenko", "Savitsky", "Kononovich", "Kuntsevich", "Marchuk", "Egorov", - "Urbanovich", "Belous", "Gayduk", "Semashko", "Kruk", "Chernyavsky", "Savko", - "Drozdov", "Nikolaevich", "Kulesh", "Korzun", "Antonovich", "Sushko", "Leshkevich", - "Kolesnik", "Tarasenko", "Karpenko", "Ermolenko", "Sokol", "Antonov", "Radyuk", - "Loyko", "Romanovsky", "Vasilyev", "Vasilev", "Grib", "Belyy", "Gonchar", - "Leonovich", "Kondratenko", "Bondarev", "Sobol", "Nesterenko", "Semyonov", "Kostyukevich", - "Malinovsky", "Vladimirovich", "Bogdanov", "Denisenko", "Astapenko", "Petkevich", "Gromyko", - "Viktorovich", "Petrovsky", "Yakovlev", "Kostyuk", "Polyakov", "Pavlovsky", "Shevtsov", - "Stasevich", "Lyakh", "Sadovsky", "Butko", "Belko", "Golubev", "Martinovich", - "Kondratovich", "Karpov", "Yanushkevich", "German", "Mikulich", "Romanchuk", "Zakharov", - "Senko", "Tarasyuk", "Borovik", "Velichko", "Reut", "Gulevich", "Yankovskaya", - "Chernyak", "Gritsuk", "Shilo", "Filipovich", "Osipenko", "Senkevich", "Antonenko", - "Korsak", "Tereshko", "Levchuk", "Borisov", "Panasyuk", "Gritskevich", "Sidorov", - "Voytovich", "Fedorenko", "Dudko", "Ivashkevich", "Kolesnikova", "Nazarenko", "Moiseenko", - "Tarasov", "Rudko", "Solovyov", "Lavrinovich", "Savitskiy", "Parkhomenko", "Mikhalevich", - "Petrenko", "Korolyov", -}; - -const std::array belarusianFemaleLastNames = { - "Ivanova", "Novikova", "Kotova", "Volkova", "Petrova", "Morozova", "Smirnova", - "Kozlova", "Romanova", "Mironova", "Zaytseva", "Kovalyova", "Savitskaya", "Melnikova", - "Kuznetsova", "Andreeva", "Kovaleva", "Vasilevskaya", "Sokolova", "Sergeeva", "Goncharova", - "Orlova", "Pavlova", "Mikhaylova", "Kozlovskaya", "Frolova", "Kravtsova", "Nikitina", - "Lebedeva", "Malinovskaya", "Sokolovskaya", "Kovalevskaya", "Belaya", "Vysotskaya", "Novitskaya", - "Vasileva", "Titova", "Vishnevskaya", "Makarova", "Baranova", "Medvedeva", "Zhukovskaya", - "Shulga", "Zhukova", "Filatova", "Belova", "Bogdanova", "Popova", "Nikolaeva", - "Stepanova", "Baranovskaya", "Romanovskaya", "Polyakova", "Soroka", "Chernyavskaya", "Yakovleva", - "Golubeva", "Aleksandrova", "Sadovskaya", "Matveeva", "Ermakova", "Starovoytova", "Pavlovskaya", - "Drozdova", "Semyonova", "Antonova", "Lyubimova", "Petrovskaya", "Sergeevna", "Vasilyeva", - "Tkachenko", "Solovyova", "Shevtsova", "Fyodorova", "Starovoytov", "Korolyova", "Alexandrova", - "Zakharova", "Tarasova", "Koleda", "Egorova", "Rudenko", "Belskaya", "Borisova", - "Bondareva", "Emelyanova", "Kazakova", "Markova", "Litvinova", -}; - -const NameFormats belarusianNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames belarusianPeopleNames{{belarusianMaleFirstNames, belarusianMaleLastNames, {}, {}}, - {belarusianFemaleFirstNames, belarusianFemaleLastNames, {}, {}}, - belarusianNameFormats}; - -// Belgium - -const std::array belgianMaleFirstNames = { - "Lucas", "Liam", "Louis", "Noah", "Lars", "Arthur", "Mathis", "Kobe", "Wout", "Milan", - "Alexander", "Daan", "Adam", "Vince", "Jules", "Victor", "Finn", "Stan", "Leon", "Seppe", - "Senne", "Thomas", "Mats", "Robbe", "Matteo", "Ferre", "Nathan", "Warre", "Jasper", "Vic", - "Elias", "Tuur", "Lowie", "Mauro", "Maxim", "Ruben", "Rune", "Mohamed", "Simon", "Rayan", - "Lukas", "Lander", "Xander", "Emiel", "Siebe", "Jonas", "Sam", "Luca", "Arne", "Cas", - "Felix", "Jack", "Mathias", "Jayden", "Quinten", "Tibo", "Lewis", "Sem", "Maxime", "Viktor", - "Emile", "Sander", "Aaron", "Oscar", "Bas", "Niels", "Jef", "Nand", "Lou", "Tristan", - "Gust", "David", "Brent", "Jelle", "Lenn", "Miel", "Wannes", "Gilles", "Jarne", "Alex", - "Imran", "Lennert", "Milo", "Jens", "Matthias", "Dries", "Axel", "Juul", "Hamza", "Ilias", - "Thibo", "Nicolas", "Bent", "Jesse", "Bram", "Maurice", "Ilyas", "Gabriel", "Robin", "Kasper", -}; - -const std::array belgianFemaleFirstNames = { - "Emma", "Louise", "Marie", "Elise", "Noor", "Ella", "Julie", "Lotte", "Lore", "Fien", - "Lena", "Mila", "Olivia", "Amber", "Anna", "Elena", "Hanne", "Laura", "Charlotte", "Lina", - "Nina", "Fleur", "Lisa", "Nora", "Juliette", "Luna", "Amelie", "Kato", "Sara", "Febe", - "Axelle", "Janne", "Eline", "Helena", "Noa", "Camille", "Roos", "Lily", "Jade", "Nore", - "Jana", "Manon", "Sarah", "Liv", "Amélie", "Lara", "Mona", "Alice", "Tess", "Kaat", - "Femke", "Aya", "Eva", "Lien", "Bo", "Zoe", "Oona", "Sofia", "Leonie", "Linde", - "Jolien", "Fran", "Pauline", "Laure", "Merel", "Marthe", "Yana", "Renée", "Paulien", "Margot", - "Yasmine", "Ines", "Elisa", "Emily", "Maya", "Floor", "Amy", "Lize", "Amina", "Lucie", - "Julia", "Lise", "Hailey", "Hannah", "Alicia", "Norah", "Margaux", "Lieze", "Sien", "Zoë", - "Inaya", "Aline", "Amira", "Victoria", "Flore", "Lana", "Sterre", "Maud", "Chloe", -}; - -const std::array belgianLastNames = { - "Claes", "Claeys", "Declerck", "Declercq", "Decock", "Decoster", "Desmet", "Devos", - "Dewilde", "Gielen", "Goossens", "Hermans", "Jacobs", "Janssen", "Janssens", "Lemmens", - "Maes", "Martens", "Mertens", "Michiels", "Peeters", "Smet", "Smets", "Thijs", - "Vandamme", "Vandenberghe", "Vandenbroeck", "Vandevelde", "Verhaeghe", "Verstraete", "Willems", "Wouters", -}; - -const std::array belgianSuffixes{"MBA", "Phd."}; - -const std::array belgianPrefixes{"Dr.", "Ir.", "Ing.", "Prof."}; - -const NameFormats belgianNameFormats{{ - {"{firstName} {lastName}", 8}, - {"{prefix} {firstName} {lastName}", 1}, - {"{firstName} {lastName} {suffix}", 1}, -}}; - -const PeopleNames belgianPeopleNames{{belgianMaleFirstNames, belgianLastNames, belgianPrefixes, belgianSuffixes}, - {belgianFemaleFirstNames, belgianLastNames, belgianPrefixes, belgianSuffixes}, - belgianNameFormats}; - -// Bosnia - -const std::array bosnianMaleFirstNames = { - "Adin", "Alem", "Amar", "Benjamin", "Dino", "Edin", "Elvir", "Emir", "Faruk", "Haris", - "Ibrahim", "Jasmin", "Kenan", "Lejla", "Mehmed", "Nedim", "Osman", "Safet", "Tarik", "Vedad", - "Zlatan", "Emin", "Nikola", "Eldar", "Senad", "D?enan", "Aldin", "Emir", "Davor", "Adnan", - "Emir", "Amar", "Alen", "Nihad", "Damir", "Amir", "Amer", "Armin", "Mirza", "Muhamed", - "Eldin", "Denis", "Elmedin", "Selmir", "Miralem", "Miran", "Anel", "Semir", "Lejla", "Azra", - "Sara", "Amna", "Hana", "Emina", "Nermina", "Lejla", "Belma", "Adna", "Amina", "D?enita", - "Ajla", "Aldina", "Erna", "Merjem", "Lamija", "Aida", "Sabina", "Edna", "Dina", "Maja", - "Vesna", "Amela", "Mirela", "Ela", "Dajana", "Irma", "Ena", "Melisa", "Nina", "Lana", - "Una", "Tara", "Ela", "Ariana", "Adrijana", "Emina", "Maida", "Enisa", "Lina", "Amina", - "Adna", "Lejla", "Ajla", "Zerina", "Mirnesa", "Ayla", "Adna", "Dijana", "Hana", "Amila"}; - -const std::array bosnianFemaleFirstNames = { - "Adin", "Alem", "Amar", "Benjamin", "Dino", "Edin", "Elvir", "Emir", "Faruk", "Haris", - "Ibrahim", "Jasmin", "Kenan", "Lejla", "Mehmed", "Nedim", "Osman", "Safet", "Tarik", "Vedad", - "Zlatan", "Emin", "Nikola", "Eldar", "Senad", "D?enan", "Aldin", "Emir", "Davor", "Adnan", - "Emir", "Amar", "Alen", "Nihad", "Damir", "Amir", "Amer", "Armin", "Mirza", "Muhamed", - "Eldin", "Denis", "Elmedin", "Selmir", "Miralem", "Miran", "Anel", "Semir", "Lejla", "Azra", - "Sara", "Amna", "Hana", "Emina", "Nermina", "Lejla", "Belma", "Adna", "Amina", "D?enita", - "Ajla", "Aldina", "Erna", "Merjem", "Lamija", "Aida", "Sabina", "Edna", "Dina", "Maja", - "Vesna", "Amela", "Mirela", "Ela", "Dajana", "Irma", "Ena", "Melisa", "Nina", "Lana", - "Una", "Tara", "Ela", "Ariana", "Adrijana", "Emina", "Maida", "Enisa", "Lina", "Amina", - "Adna", "Lejla", "Ajla", "Zerina", "Mirnesa", "Ayla", "Adna", "Dijana", "Hana", "Amila"}; - -const std::array bosnianLastNames = { - "Hodzi", "Mujagic", "Hadzi", "Ahmetovic", "Ali", "Delic", "Osmanagic", - "Hrnjici", "Omeragic", "Suljic", "Kovacevic", "Brkic", "Kurtic", "Mehic", - "Zukic", "Hasic", "Zimic", "Salihovic", "Dedic", "Kolic", "Dzafi", - "Salkic", "Omerhodzi", "Alagic", "Sijercic", "Suljagic", "Dautovic", "Habibovic", - "Cauzevic", "Hadziahmetovic", "Muminovic", "Brkan", "Cici", "Zvizdic", "Maksumic", - "Pilav", "Cehic", "Skopljak", "Dizdarevic", "Cengic", "Karahasanovic", "Piric", - "Cici", "Mujic", "Kujundzic", "Puzic", "Suljic", "Joldic", "Maksumic", - "Hota", "Kova", "Selimovic", "Terzic", "Malko", "Aganovic", "Polic", - "Catic", "Dedic", "Okanovic", "Suljanovic", "Bajramovic", "Mehanovic", "Karahodzi", - "Campara", "Nukic", "Ramic", "Ibricimovic", "Musi", "Talic", "Zimic", - "Zulfic", "Dizdar", "Spahic", "Zaimovic", "Ibrahimovic", "Mehic", "Kapic", - "Beglija", "Zukic", "Cehic", "Mahmic", "Hodzi", "Osman", "Zukan", - "Dedic", "Maksumic", "Tiro", "Fazlic", "Smajic", "Hatic", "Muhamedagic", - "Dervisevic", "Mujagic", "Mujezinovic", "Husagic", "Zeki", "Mehanovic", "Malko", - "Alagic", "Kolic", "Nadarevic", "Suljic", "Omanovic", "Omanovic", "Huski", - "Aljic", "Cici", "Begic", "Sijercic", "Cengic", "Karacic", "Begirbajic", - "Smajlovic", "Mahmutovic", "Kapetanovic", "Osman", "Ibrahimagic", "Hadibegic", "Becirovic", - "Jusic", "Brkic", "Cozic", "Musi", "Cehic", "Selimovic", "Cehic", - "Muminovic", "Hodzi"}; - -const NameFormats bosnianNameFormats{{"{lastName} {firstName}", 1}}; - -const PeopleNames bosnianPeopleNames{{bosnianMaleFirstNames, bosnianLastNames, {}, {}}, - {bosnianFemaleFirstNames, bosnianLastNames, {}, {}}, - bosnianNameFormats}; - -// Brazil - -const std::array brazilianMaleFirstNames = { - "Alessandro", "Alexandre", "Anthony", "Antônio", "Arthur", "Benjamin", "Benício", "Bernardo", - "Breno", "Bryan", "Caio", "Calebe", "Carlos", "Cauã", "César", "Daniel", - "Danilo", "Davi", "Davi Lucca", "Deneval", "Eduardo", "Elísio", "Emanuel", "Enzo", - "Enzo Gabriel", "Fabiano", "Fabrício", "Feliciano", "Felipe", "Frederico", "Fábio", "Félix", - "Gabriel", "Gael", "Guilherme", "Gustavo", "Gúbio", "Heitor", "Henrique", "Hugo", - "Hélio", "Isaac", "Joaquim", "João", "João Lucas", "João Miguel", "João Pedro", "Júlio", - "Júlio César", "Kléber", "Ladislau", "Leonardo", "Lorenzo", "Lucas", "Lucca", "Marcelo", - "Marcos", "Matheus", "Miguel", "Murilo", "Nataniel", "Nicolas", "Noah", "Norberto", - "Pablo", "Paulo", "Pedro", "Pedro Henrique", "Pietro", "Rafael", "Raul", "Ricardo", - "Roberto", "Salvador", "Samuel", "Silas", "Sirineu", "Tertuliano", "Théo", "Vicente", - "Vitor", "Víctor", "Warley", "Washington", "Yago", "Yango", "Yuri", "Ígor"}; - -const std::array brazilianFemaleFirstNames = { - "Alessandra", "Alice", "Aline", "Alícia", "Ana Clara", "Ana Júlia", "Ana Laura", - "Ana Luiza", "Antonella", "Beatriz", "Bruna", "Carla", "Cecília", "Clara", - "Célia", "Dalila", "Eduarda", "Elisa", "Eloá", "Emanuelly", "Esther", - "Fabrícia", "Felícia", "Giovanna", "Helena", "Heloísa", "Isabel", "Isabela", - "Isabella", "Isabelly", "Isis", "Janaína", "Joana", "Júlia", "Karla", - "Lara", "Larissa", "Laura", "Lavínia", "Liz", "Lorena", "Lorraine", - "Luiza", "Lívia", "Maitê", "Manuela", "Marcela", "Margarida", "Maria", - "Maria Alice", "Maria Cecília", "Maria Clara", "Maria Eduarda", "Maria Helena", "Maria Júlia", "Maria Luiza", - "Mariana", "Marina", "Marli", "Meire", "Melissa", "Morgana", "Márcia", - "Mércia", "Natália", "Núbia", "Ofélia", "Paula", "Rafaela", "Rebeca", - "Roberta", "Sara", "Sarah", "Sophia", "Suélen", "Sílvia", "Talita", - "Valentina", "Vitória", "Yasmin"}; - -const std::array brazilianLastNames = { - "Silva", "Souza", "Carvalho", "Santos", "Reis", "Xavier", "Franco", - "Braga", "Macedo", "Batista", "Barros", "Moraes", "Costa", "Pereira", - "Melo", "Saraiva", "Nogueira", "Oliveira", "Martins", "Moreira", "Albuquerque"}; - -const std::array brazilianSuffixes{"Jr.", "Neto", "Filho"}; - -const std::array brazilianMalePrefixes{"Sr.", "Dr."}; - -const std::array brazilianFemalePrefixes{"Sra.", "Srta.", "Dra."}; - -const NameFormats brazilianNameFormats{ - {{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 9}, {"{firstName} {lastName} {suffix}", 1}}}; - -const PeopleNames brazilianPeopleNames{ - {brazilianMaleFirstNames, brazilianLastNames, brazilianMalePrefixes, brazilianSuffixes}, - {brazilianFemaleFirstNames, brazilianLastNames, brazilianFemalePrefixes, brazilianSuffixes}, - brazilianNameFormats}; - -// Bulgaria - -const std::array bulgarianMaleFirstNames = { - "Aleksandar", "Angel", "Anton", "Boris", "Boyan", "Dimitar", "Emil", "Georgi", "Hristo", "Iliya", - "Ivan", "Kaloyan", "Kiril", "Lubomir", "Lyubomir", "Mihail", "Nikolay", "Ognian", "Petar", "Plamen", - "Radoslav", "Stefan", "Stoyan", "Todor", "Valentin", "Vasil", "Viktor", "Vladimir", "Yordan", "Zahari", -}; - -const std::array bulgarianFemaleFirstNames = { - "Aleksandra", "Anastasiya", "Anna", "Borislava", "Daniela", "Diana", "Ekaterina", "Elitsa", - "Gabriela", "Gergana", "Iliana", "Ivanka", "Kalina", "Katerina", "Lidiya", "Maria", - "Margarita", "Nadezhda", "Nataliya", "Nevena", "Olya", "Petya", "Radostina", "Rumyana", - "Silvia", "Sofiya", "Svetlana", "Tsvetanka", "Vanya", "Vesela", "Yana", "Zoya", -}; - -const std::array bulgarianLastNames = { - "Angelov", "Atanasov", "Bozhilov", "Dimitrov", "Draganov", "Georgiev", "Hristov", "Iliev", "Ivanov", - "Kolev", "Kovachev", "Lazarov", "Mihaylov", "Nikolov", "Petrov", "Popov", "Radev", "Simeonov", - "Stefanov", "Stoyanov", "Todorov", "Vasilev", "Vladimirov", "Yankov", "Zahariev", -}; - -const std::array bulgarianSuffixes{"мл.", "ст."}; - -const std::array bulgarianMalePrefixes{"Г-н", "Д-р", "Проф."}; - -const std::array bulgarianFemalePrefixes{"Г-жа", "Г-ца", "Д-р", "Проф."}; - -const NameFormats bulgarianNameFormats{{ - {"{firstName} {lastName}", 8}, - {"{prefix} {firstName} {lastName}", 1}, - {"{firstName} {lastName} {suffix}", 1}, -}}; - -const PeopleNames bulgarianPeopleNames{ - {bulgarianMaleFirstNames, bulgarianLastNames, bulgarianMalePrefixes, bulgarianSuffixes}, - {bulgarianFemaleFirstNames, bulgarianLastNames, bulgarianFemalePrefixes, bulgarianSuffixes}, - bulgarianNameFormats}; - -// Canada - -const std::array canadianMaleFirstNames = { - "John", "David", "Robert", "Michael", "Paul", "Richard", "James", "Peter", "William", - "Brian", "Daniel", "Mark", "Chris", "Michel", "Kevin", "George", "Ken", "Steven", - "Jim", "Andrew", "Eric", "Pierre", "Ron", "Andre", "Gary", "Thomas", "Frank", - "Jason", "Jeff", "Scott", "Donald", "Roger", "Patrick", "Wayne", "Martin", "Joe", - "Jacques", "Terry", "Bob", "Bruce", "Marc", "Greg", "Gordon", "Joseph", "Stephen", - "Gilles", "Rick", "Mike", "Raymond", "Edward", "Guy", "Larry", "Charles", "Tim", - "Tony", "Alain", "Ryan", "Jack", "Alex", "Ian", "Mario", "Gerald", "Ronald", - "Marcel", "Fred", "Steve", "Keith", "Allan", "Bill", "Randy", "Dave", "Barry", - "Douglas", "Serge", "Sylvain", "Alan", "Ray", "Jan", "Luc", "Matthew", "Yves", - "Tom", "Adam", "Craig", "Louis", "Sean", "Norman", "Nick", "Jonathan", "Roy", - "Anthony", "Yvon", "Walter", "Neil", "Bernard", "Maurice", "Henry", "Kenneth", "Albert", - "Glen", "Derek", "Simon", "Christian", "Christopher", "Harold", "Carl", "Sam", "Trevor", - "Gerard", "Glenn", "Matt", "Harry", "Jamie", "Dean", "Colin", "Darren", "Benoit", - "Arthur", "Jerry", "Justin", "Philip", "Ralph", "Ross", "Gerry", "Roland", "Bryan", - "Grant", "Leo", "Benjamin", "Vincent", "Gaetan", "Lloyd", "Lawrence", "Leonard", "Rob", - "Aaron", "Kyle", "Jose", "Philippe", "Joel", "Stan", "Bruno", "Jay", "Howard", - "Jeremy", "Victor", "Tyler", "Shane", "Ivan", "Graham", "Russell", "Garry", "Jordan", - "Mathieu", "Yvan", "Ali", "Gaston", "Jeffrey", "Ernest", "Alexander", "Fernand", "Warren", - "Gilbert", "Jon", "Karl", "Alfred", "Eugene", "Allen", "Stuart", "Alexandre", "Dominic", - "Nathan", "Gabriel", "Hugh", "Sebastien", "Adrian", "Pascal", "Stanley", "Antonio", "Georges", - "Harvey", "Nicolas", "Nicholas", "Gregory", "Josh", "Lucien", "Samuel", "Cameron", "Marco", - "Laurent", "Ben", "Carlos", "Brandon", "Jesse", "Brett", "Nelson", "Patrice", "Lionel", - "Timothy", "Andy", "Jake", "Clement", "Calvin", "Jacob", "Arnold", "Max", "Leon", - "Mohamed", "Joshua", "Jimmy", "Mohammad", "Rodney", "Daryl", "Travis", "Julien", "Manuel", - "Shaun", "Bert", "Maxime", "Edwin", "Frederic", "Clifford", "Malcolm", "Fran", "Germain", - "Bertrand", "Kris", "Hans", "Muhammad", "Angelo", "Henri", "Phillip", "Marvin", "Armand", - "Perry", "Evan", "Guillaume", "Charlie", "Clayton", "Mohammed", "Ahmed", "Stewart", "Remi", - "Herbert", "Luke", "Olivier", "Conrad", "Alvin", "Jerome", "Syed", "Luis", "Edgar", - "Jules", "Derrick", "Kurt", "Lance", "Johnny", "Bradley", "Wilfred", "Melvin", "Frederick", - "Erik", "Gino", "Joey", "Duncan", "Reginald", "Dustin", "Emile", "Antoine", "Wesley", - "Geoffrey", "Owen", "Brendan", "Taylor", "Herman", "Stefan", "Rudy", "Andrzej", "Hugo", - "Hubert", "Abdul", "Fernando", "Etienne", "Vernon", "Roman", "Emmanuel", "Adrien", "Jaime", - "Byron", "Bobby", "Amir", "Roberto", "Tommy", "Jorge", "Stephan", "Julian", "Eddie", - "Dick", "Elmer", "Dylan", "Felix", "Cyril", "Omar", "Romeo", "Jared", "Oliver", - "Luigi", "Ahmad", "Billy", "Sunny", "Vladimir", "Carlo", "Micheal", "Angel", "Mitchell", - "Raj", "Winston", "Morris", "Hector", "Igor", "Nigel", "Giuseppe", "Gavin", "Kenny", - "Ricky", "Wally", "Kelvin", "Giovanni", "Lewis", "Anton", "Wilson", "Kai", "Angus", - "Graeme", "Ricardo", "Miguel", "Mathew", "Karim", "Isaac", "Edmond", "Marcus", "Wallace", - "Austin", "Chi", "Oscar", "Dino", "Devin", "Lucas", "Boris", "Norbert", -}; - -const std::array canadianFemaleFirstNames = { - "Mary", "Linda", "Karen", "Jennifer", "Lisa", "Susan", "Jean", "Michelle", - "Nancy", "Kim", "Kelly", "Diane", "Donna", "Julie", "Claude", "Sandra", - "Heather", "Carol", "Denis", "Dan", "Nicole", "Barbara", "Christine", "Sarah", - "Pat", "Sharon", "Brenda", "Elizabeth", "Laura", "Anne", "Margaret", "Debbie", - "Wendy", "Joanne", "Marie", "Kathy", "Amanda", "Judy", "Cindy", "Angela", - "Helen", "Stephanie", "Melissa", "Janet", "Joan", "Denise", "Cheryl", "Cathy", - "Anna", "Dennis", "Shirley", "Catherine", "Lynn", "Louise", "Maria", "Robin", - "Andrea", "Tracy", "Jane", "Ann", "Patricia", "Melanie", "Rene", "Sue", - "Laurie", "Shannon", "Dale", "Suzanne", "Ruth", "Betty", "Janice", "Amy", - "Stephane", "Tina", "Danielle", "Irene", "Gail", "Marilyn", "Elaine", "Sylvie", - "Bonnie", "Rose", "Shelley", "Sheila", "Joyce", "Caroline", "Valerie", "Erin", - "Ashley", "Rita", "Tanya", "Darlene", "Dawn", "Christina", "Nathalie", "Lorraine", - "Annie", "Rachel", "Carole", "Dorothy", "Maureen", "Diana", "Kathleen", "Carolyn", - "Chantal", "Tara", "Isabelle", "Paula", "Rebecca", "Teresa", "Lise", "Pauline", - "Tracey", "Leslie", "Connie", "Theresa", "Anita", "Carmen", "Jacqueline", "Sara", - "Lindsay", "Francis", "Danny", "Grace", "Monique", "Audrey", "Crystal", "Cynthia", - "Natalie", "Marlene", "Yvonne", "Doris", "Dana", "Alice", "Claire", "Michele", - "Sylvia", "Sandy", "Jill", "Katherine", "Marion", "Emily", "Kerry", "Lee", - "Monica", "Samantha", "Stacey", "Lynda", "Victoria", "Evelyn", "Jocelyn", "Debra", - "Sonia", "Jenny", "Eva", "Dianne", "Carrie", "June", "Vanessa", "Megan", - "Alison", "Norma", "Francine", "Doreen", "Krista", "Johanne", "Jessica", "Deborah", - "Allison", "Holly", "Judith", "Manon", "Annette", "Peggy", "Ellen", "Renee", - "Helene", "Kate", "Gloria", "Lucie", "Beth", "Frances", "Wanda", "Sophie", - "Natasha", "Lois", "Eileen", "Kimberly", "Carla", "Leanne", "Katie", "Lynne", - "Charlene", "Angie", "Joy", "Lucy", "Leah", "Dominique", "Therese", "Ginette", - "Gina", "Nadine", "Phyllis", "Kathryn", "Arlene", "Amber", "France", "Nadia", - "Lorna", "Lesley", "Heidi", "Florence", "Alexandra", "Pamela", "Martha", "Edith", - "Lauren", "Vicki", "April", "Beverly", "Sally", "Tamara", "Karine", "Olga", - "Dany", "Genevieve", "Jeanne", "Marjorie", "Robyn", "Gwen", "Esther", "Emma", - "Joanna", "Sabrina", "Claudette", "Ana", "Vivian", "Vicky", "Veronica", "Lillian", - "Brigitte", "Charlotte", "Maggie", "Marina", "Noel", "Agnes", "Kristen", "Elena", - "Jessie", "Camille", "Cecile", "Gisele", "Vera", "Stella", "Nina", "Tiffany", - "Clare", "Roxanne", "Mona", "Marian", "Julia", "Bernice", "Ruby", "Marianne", - "Eleanor", "Edna", "Rosemary", "Mel", "Micheline", "Jocelyne", "Beverley", "Celine", - "Lana", "Liz", "Roberta", "Mandy", "Nicola", "Madeleine", "Hong", "Kay", - "Jeanette", "Yvette", "Kimberley", "Lina", "Gladys", "Glenda", "Jeannine", "Colette", - "Erika", "Leona", "Gillian", "Rosa", "Brittany", "Hazel", "Elsie", "Ingrid", - "Stacy", "Lucille", "May", "Kristina", "Simone", "Corinne", "Faye", "Lydia", - "Nora", "Muriel", "Kristin", "Janine", "Jenna", "Loretta", "Lily", "Kayla", - "Candice", "Isabel", "Marcia", "Leigh", "Aline", "Jeannette", "Paulette", "Josephine", - "Chelsea", "Veronique", "Fiona", "Ida", "Lena", "Li", "Juan", "Bernadette", - "Sheryl", "Maxine", "Hilda", "Nikki", "Lou", "Kari", "Yan", "Josie", - "Sonya", "Helena", "Iris", "Ming", "Cassandra", "Geraldine", "Line", "Rachelle", - "Marguerite", "Virginia", "Clara", "Pierrette", "Karin", "Katrina", -}; - -const std::array canadianLastNames = { - "Smith", "Brown", "Tremblay", "Martin", "Roy", "Gagnon", "Lee", "Wilson", - "Johnson", "Macdonald", "Taylor", "Campbell", "Anderson", "Jones", "Leblanc", "Cote", - "Williams", "Miller", "Thompson", "Gauthier", "White", "Morin", "Wong", "Young", - "Bouchard", "Scott", "Stewart", "Pelletier", "Lavoie", "Robinson", "Moore", "Belanger", - "Singh", "Fortin", "Levesque", "Chan", "Reid", "Ross", "Clark", "Johnston", - "Walker", "Thomas", "King", "Gagne", "Bergeron", "Li", "Boucher", "Landry", - "Poirier", "Murray", "Murphy", "Mcdonald", "Wright", "Richard", "Mitchell", "Girard", - "Clarke", "Davis", "Simard", "Kelly", "Lewis", "Graham", "Caron", "Wang", - "Fraser", "Fournier", "Jackson", "Beaulieu", "Wood", "Hall", "Baker", "Chen", - "Hill", "Harris", "Green", "Roberts", "Lapointe", "Bell", "Ouellet", "Patel", - "Watson", "Kennedy", "Cloutier", "Robertson", "Allen", "Lefebvre", "Nguyen", "Hamilton", - "Desjardins", "Adams", "Gill", "Khan", "Cameron", "Morrison", "Dube", "Evans", - "Grant", "Nadeau", "Zhang", "Peters", "Armstrong", "Phillips", "Cook", "Hebert", - "Poulin", "Liu", "Michaud", "Kim", "Martel", "Edwards", "Turner", "Nelson", - "Bennett", "Cooper", "Ferguson", "Gray", "Paquette", "Marshall", "Cormier", "Simpson", - "Harvey", "Mclean", "Collins", "Leclerc", "Bedard", "Grenier", "Russell", "Couture", - "Lessard", "Cyr", "Ward", "Shaw", "Boudreau", "Bernier", "Lambert", "Lalonde", - "Friesen", "Blais", "Proulx", "Morris", "Arsenault", "Henderson", "Parker", "Demers", - "Gilbert", "Hunter", "Gallant", "Davidson", "Dupuis", "Elliott", "Walsh", "Turcotte", - "Lemieux", "Harrison", "Lachance", "Carter", "Richardson", "James", "Beaudoin", "Foster", - "Gosselin", "Mackenzie", "Gordon", "Fisher", "Hughes", "Parent", "Theriault", "Lam", - "Rogers", "Perron", "Gibson", "Ryan", "Morgan", "Langlois", "Savard", "Perreault", - "Patterson", "Thibault", "Mcleod", "Bailey", "Mercier", "Mckay", "Villeneuve", "Thomson", - "Dion", "Fortier", "Charbonneau", "Bernard", "Robert", "Dubois", "Giroux", "Leung", - "Dufour", "Schmidt", "Black", "Paradis", "Davies", "Ouellette", "Houle", "Macleod", - "Menard", "Rose", "Champagne", "Mills", "Plante", "Tran", "Benoit", "Maclean", - "Leduc", "Boisvert", "Wu", "Allard", "Legault", "Hamel", "Wiebe", "Stevens", - "Berube", "Lemay", "Lacroix", "Rousseau", "Labelle", "Renaud", "Bolduc", "Klassen", - "Paul", "Parsons", "Bertrand", "Perry", "Bilodeau", "Henry", "Ellis", "Ng", - "Wallace", "Burns", "Mason", "Hunt", "Park", "Ho", "Fontaine", "Seguin", - "Therrien", "Andrews", "Crawford", "Butler", "Brooks", "Gervais", "Yu", "Kerr", - "Dyck", "Yang", "Alexander", "Price", "Burke", "Saunders", "Boivin", "Mckenzie", - "Richards", "Lawrence", "Holmes", "Dionne", "Goulet", "Sullivan", "Power", "Cole", - "Guay", "Lepage", "Lauzon", "Mackay", "Vincent", "Ali", "Huang", "Vachon", - "Robichaud", "Jacques", "Dunn", "Doucet", "Gravel", "Picard", "Noel", "Doyle", - "Matthews", "Carrier", "Paquet", "Moreau", "Larocque", "Peterson", "Chapman", "Sinclair", - "Palmer", "Sutherland", "Duncan", "Cox", "Stevenson", "Pilon", "Vaillancourt", "Craig", - "Porter", "Savoie", "Jean", "Chartrand", "Godin", "Page", "Mann", "Comeau", - "Cheung", "George", "Boyd", "Daigle", "Desrosiers", "Sharma", "Trudel", "Hart", - "Wells", "Penner", "Robitaille", "Pearson", "Rioux", "Lapierre", "Hansen", "Francis", - "Dumont", "Charron", "Ford", "Douglas", "Fox", "Gingras", "Woods", "Warren", - "Dixon", "Barnes", "Lau", "Chow", "Spencer", "Gendron", "Lin", "Reynolds", - "Audet", "Marchand", "Jensen", "Lavigne", "Cunningham", "Mcintyre", "Bourque", "Lavallee", - "Bradley", "Deschenes", -}; - -const NameFormats canadianNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames canadianPeopleNames{{canadianMaleFirstNames, canadianLastNames, {}, {}}, - {canadianFemaleFirstNames, canadianLastNames, {}, {}}, - canadianNameFormats}; - -// China - -const std::array chineseLastNames = { - "赵", "钱", "孙", "李", "周", "吴", "郑", "王", "冯", "陈", "褚", "卫", "蒋", "沈", - "韩", "杨", "朱", "秦", "尤", "许", "何", "吕", "施", "张", "孔", "曹", "严", "华", - "金", "魏", "陶", "姜", "戚", "谢", "邹", "喻", "柏", "水", "窦", "章", "云", "苏", - "潘", "葛", "奚", "范", "彭", "郎", "鲁", "韦", "昌", "马", "苗", "凤", "花", "方", - "俞", "任", "袁", "柳", "酆", "鲍", "史", "唐", "费", "廉", "岑", "薛", "雷", "贺", - "倪", "汤", "滕", "殷", "罗", "毕", "郝", "邬", "安", "常", "乐", "于", "时", "傅", - "皮", "卞", "齐", "康", "伍", "余", "元", "卜", "顾", "孟", "平", "黄", "和", "穆", - "萧", "尹", "姚", "邵", "湛", "汪", "祁", "毛", "禹", "狄", "米", "贝", "明", "臧", - "计", "伏", "成", "戴", "谈", "宋", "茅", "庞", "熊", "纪", "舒", "屈", "项", "祝", - "董", "梁", "杜", "阮", "蓝", "闵", "席", "季", "麻", "强", "贾", "路", "娄", "危", - "江", "童", "颜", "郭", "梅", "盛", "林", "刁", "锺", "徐", "邱", "骆", "高", "夏", - "蔡", "田", "樊", "胡", "凌", "蹇", "称", "诺", "来", "多", "繁", "戊", "朴", "回", - "毓", "税", "荤", "靖", "绪", "愈", "硕", "牢", "买", "但", "巧", "枚", "撒", "泰", - "秘", "亥", "绍", "以", "壬", "森", "斋", "释", "奕", "姒", "朋", "求", "羽", "用", - "占", "真", "穰", "翦", "闾", "漆", "贵", "代", "贯", "旁", "崇", "栋", "告", "休", - "褒", "谏", "锐", "皋", "闳", "在", "歧", "禾", "示", "是", "委", "钊", "频", "嬴", - "呼", "大", "威", "昂", "律", "冒", "保", "系", "抄", "定", "化", "莱", "校", "么", - "抗", "祢", "綦", "悟", "宏", "功", "庚", "务", "敏", "捷", "拱", "兆", "丑", "丙", - "畅", "苟", "随", "类", "卯", "俟", "友", "答", "乙", "允", "甲", "留", "尾", "佼", - "玄", "乘", "裔", "延", "植", "环", "矫", "赛", "昔", "侍", "度", "旷", "遇", "偶", - "前", "由", "咎", "塞", "敛", "受", "泷", "袭", "衅", "叔", "圣", "御", "夫", "仆", - "镇", "藩", "邸", "府", "掌", "首", "员", "焉", "戏", "可", "智", "尔", "凭", "悉", - "进", "笃", "厚", "仁", "业", "肇", "资", "合", "仍", "九", "衷", "哀", "刑", "俎", - "仵", "圭", "夷", "徭", "蛮", "汗", "孛", "乾", "帖", "罕", "洛", "淦", "洋", "邶", - "郸", "郯", "邗", "邛", "剑", "虢", "隋", "蒿", "茆", "菅", "苌", "树", "桐", "锁", - "钟", "机", "盘", "铎", "斛", "玉", "线", "针", "箕", "庹", "绳", "磨", "蒉", "瓮", - "弭", "刀", "疏", "牵", "浑", "恽", "势", "世", "仝", "同", "蚁", "止", "戢", "睢", - "冼", "种", "涂", "肖", "己", "泣", "潜", "卷", "脱", "谬", "蹉", "赧", "浮", "顿", - "说", "次", "错", "念", "夙", "斯", "完", "丹", "表", "聊", "源", "姓", "吾", "寻", - "展", "出", "不", "户", "闭", "才", "无", "书", "学", "愚", "本", "性", "雪", "霜", - "烟", "寒", "少", "字", "桥", "板", "斐", "独", "千", "诗", "嘉", "扬", "善", "揭", - "祈", "析", "赤", "紫", "青", "柔", "刚", "奇", "拜", "佛", "陀", "弥", "阿", "素", - "长", "僧", "隐", "仙", "隽", "宇", "祭", "酒", "淡", "塔", "琦", "闪", "始", "星", - "南", "天", "接", "波", "碧", "速", "禚", "腾", "潮", "镜", "似", "澄", "潭", "謇", - "纵", "渠", "奈", "风", "春", "濯", "沐", "茂", "英", "兰", "檀", "藤", "枝", "检", - "生", "折", "登", "驹", "骑", "貊", "虎", "肥", "鹿", "雀", "野", "禽", "飞", "节", - "宜", "鲜", "粟", "栗", "豆", "帛", "官", "布", "衣", "藏", "宝", "钞", "银", "门", - "盈", "庆", "喜", "及", "普", "建", "营", "巨", "望", "希", "道", "载", "声", "漫", - "犁", "力", "贸", "勤", "革", "改", "兴", "亓", "睦", "修", "信", "闽", "北", "守", - "坚", "勇", "汉", "练", "尉", "士", "旅", "五", "令", "将", "旗", "军", "行", "奉", - "敬", "恭", "仪", "母", "堂", "丘", "义", "礼", "慈", "孝", "理", "伦", "卿", "问", - "永", "辉", "位", "让", "尧", "依", "犹", "介", "承", "市", "所", "苑", "杞", "剧", - "第", "零", "谌", "招", "续", "达", "忻", "六", "鄞", "战", "迟", "候", "宛", "励", - "粘", "萨", "邝", "覃", "辜", "初", "楼", "城", "区", "局", "台", "原", "考", "妫", - "纳", "泉", "老", "清", "德", "卑", "过", "麦", "曲", "竹", "百", "福", "言", "霍", - "虞", "万", "支", "柯", "昝", "管", "卢", "莫", "经", "房", "裘", "缪", "干", "解", - "应", "宗", "丁", "宣", "贲", "邓", "单", "杭", "洪", "包", "诸", "左", "石", "崔", - "吉", "钮", "龚", "程", "嵇", "邢", "滑", "裴", "陆", "荣", "翁", "荀", "羊", "於", - "惠", "甄", "麴", "家", "封", "芮", "羿", "储", "靳", "汲", "邴", "糜", "松", "井", - "段", "富", "巫", "乌", "焦", "巴", "弓", "牧", "隗", "山", "谷", "车", "侯", "宓", - "蓬", "全", "郗", "班", "仰", "秋", "仲", "伊", "宫", "宁", "仇", "栾", "暴", "甘", - "钭", "历", "戎", "祖", "武", "符", "刘", "景", "詹", "束", "龙", "叶", "幸", "司", - "韶", "郜", "黎", "蓟", "溥", "印", "宿", "白", "怀", "蒲", "邰", "召", "有", "舜", - "拉", "丛", "岳", "寸", "贰", "皇", "侨", "彤", "竭", "端", "赫", "实", "甫", "集", - "象", "翠", "狂", "辟", "典", "良", "函", "芒", "苦", "其", "京", "中", "夕", "之", - "从", "鄂", "索", "咸", "籍", "赖", "卓", "蔺", "屠", "蒙", "池", "乔", "阳", "郁", - "胥", "能", "苍", "双", "闻", "莘", "党", "翟", "谭", "贡", "劳", "逄", "姬", "申", - "扶", "堵", "冉", "宰", "郦", "雍", "却", "璩", "桑", "桂", "濮", "牛", "寿", "通", - "边", "扈", "燕", "冀", "僪", "浦", "尚", "农", "温", "别", "庄", "晏", "柴", "瞿", - "阎", "充", "慕", "连", "茹", "习", "宦", "艾", "鱼", "容", "向", "古", "易", "慎", - "戈", "廖", "庾", "终", "暨", "居", "衡", "步", "都", "耿", "满", "弘", "匡", "国", - "文", "琴", "况", "亢", "缑", "帅", "寇", "广", "禄", "阙", "东", "欧", "殳", "沃", - "利", "蔚", "越", "夔", "隆", "师", "巩", "厍", "聂", "晁", "勾", "敖", "融", "冷", - "訾", "辛", "阚", "那", "简", "饶", "空", "曾", "毋", "沙", "乜", "养", "鞠", "须", - "丰", "巢", "关", "蒯", "相", "查", "后", "荆", "红", "游", "特", "察", "竺", "冠", - "宾", "香", "赏", "伯", "佴", "佘", "佟", "爱", "年", "笪", "谯", "哈", "墨", "牟", - "商", "海", "归", "钦", "鄢", "汝", "法", "闫", "楚", "晋", "督", "仉", "盖", "逯", - "库", "郏", "逢", "阴", "薄", "厉", "稽", "开", "光", "操", "瑞", "眭", "泥", "运", - "摩", "伟", "铁", "迮", "果", "权", "逮", "盍", "益", "桓", "公", "万俟", "司马", "上官", - "欧阳", "夏侯", "诸葛", "闻人", "东方", "赫连", "皇甫", "尉迟", "公羊", "澹台", "公冶", "宗政", "濮阳", "淳于", - "单于", "太叔", "申屠", "公孙", "仲孙", "轩辕", "令狐", "钟离", "宇文", "长孙", "慕容", "司徒", "司空", "章佳", - "那拉", "觉罗", "纳喇", "乌雅", "范姜", "碧鲁", -}; - -const std::array chineseMaleFirstNames = { - "建华", "建国", "建军", "国强", "国平", "国良", "国栋", "国辉", "志国", "志明", "勇", "军", "伟", - "强", "刚", "涛", "斌", "波", "辉", "磊", "超", "鹏", "杰", "浩", "鑫", "帅", - "宇", "晨", "诚", "成", "民", "明", "阳", "瑜", "熙成", "熙瑶", "家豪", "家明", "俊杰", - "俊熙", "沐宸", "浩宇", "浩然", "浩轩", "浩晨", "沐辰", "茗泽", "奕辰", "奕泽", "宇泽", "宇轩", "宇航", - "沐阳", "梓诚", "梓豪", "梓睿", "梓浩", "浩辰", "癸霖", "一全", "三锋", "义轩", "俊凯", "子豪", "振东", - "智杰", "哲新", "文昊", "中海", "超栋", "治涛", "治文", "文韬", "敬彪", "敬阳", "政君", "立伟", "呈轩", -}; - -const std::array chineseFemaleFirstNames = { - "秀英", "秀兰", "秀珍", "桂英", "桂兰", "玉兰", "玉珍", "玉英", "玉梅", "凤英", "兰英", "婷婷", "国英", - "国珍", "国华", "国芳", "国兰", "国秀", "国琴", "国荣", "国香", "英", "萍", "蒙", "红", "丽", - "敏", "芳", "静", "霞", "燕", "娟", "艳", "娜", "丹", "玲", "婷", "珈", "雪", - "倩", "悦", "颖", "洁", "慧", "开慧", "丽芬", "丽芳", "丽萍", "若汐", "一诺", "艺涵", "依诺", - "梓涵", "梓晨", "梓馨", "梓萱", "梓妍", "梓玥", "苡沫", "雨桐", "欣怡", "语桐", "语汐", "雨涵", "雨欣", - "诗雨", "婷方", "美方", "雅婷", "紫林", "天娇", "万佳", "子欣", "海燕", "乙萍", "安琪", "馨羽", "馥君", - "思佳", "雅鑫", "静怡", "晨阳", "佳琪", "雯静", "榕融", -}; - -const NameFormats chineseNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames chinesePeopleNames{{chineseMaleFirstNames, chineseLastNames, {}, {}}, - {chineseFemaleFirstNames, chineseLastNames, {}, {}}, - chineseNameFormats}; - -// Croatia - -const std::array croatianMaleFirstNames = { - "Adi", "Ado", "Andel", "Andelin", "Andelko", "Andelo", "Andi", "Andras", "Andrej", - "Andrija", "Andro", "Anko", "Ante", "Antek", "Antonin", "Antonio", "Antun", "Bela", - "Belimir", "Berti", "Boris", "Borko", "Borna", "Božidar", "Branimir", "Bruno", "Časlav", - "Dado", "Damil", "Damir", "Danijel", "Dario", "Darko", "David", "Davor", "Davorin", - "Domagoj", "Donat", "Dražen", "Držimir", "Držislav", "Dubravko", "Duje", "Dujo", "Emil", - "Emilijan", "Erik", "Fabijan", "Filip", "Franjo", "Gaj", "Gašpar", "Goran", "Gordan", - "Gradimir", "Grga", "Grgo", "Grgur", "Gvozden", "Hrvoj", "Hrvoje", "Ico", "Igor", - "Ilija", "Ilko", "Ino", "Ivan", "Ive", "Ivek", "Ivica", "Ivo", "Jadran", - "Jadranko", "Jadro", "Jakov", "Jan", "Janko", "Jasen", "Jasenko", "Josip", "Joško", - "Joso", "Joža", "Jože", "Krešimir", "Kristijan", "Kruno", "Krunoslav", "Ladislav", "Ljudevit", - "Lucijan", "Luka", "Marin", "Marko", "Martin", "Matan", "Mate", "Matej", "Matija", - "Matko", "Mato", "Mihael", "Milan", "Mile", "Milivoj", "Miljenko", "Mimo", "Miran", - "Mirko", "Miro", "Mislav", "Mladen", "Nedjeljko", "Neven", "Nikola", "Nino", "Ozren", - "Pavel", "Pepo", "Pero", "Petar", "Pravdan", "Rino", "Robert", "Roberto", "Robi", - "Roko", "Sanjin", "Saša", "Slavek", "Slaven", "Slavko", "Srećko", "Stanko", "Štef", - "Stipan", "Stipe", "Stjepan", "Stribor", "Svebor", "Tihomir", "Toma", "Tome", "Tomislav", - "Tomo", "Tonči", "Tone", "Toni", "Tonko", "Trpimir", "Trpko", "Tvrtko", "Valentin", - "Vanja", "Vatroslav", "Vedran", "Velimir", "Vijeko", "Vjekoslav", "Vjenceslav", "Vladek", "Vladislav", - "Vlado", "Vlatko", "Zdenko", "Zdravko", "Željko", "Zoltan", "Zrinislav", "Zrinko", "Zvonimir"}; - -const std::array croatianFemaleFirstNames = { - "Ada", "Adina", "Adriana", "Adrijana", "Agata", "Alemka", "Alenka", "Alisa", "Alka", - "Alma", "Amalija", "Ana", "Ančica", "Anamarija", "Anastazija", "Anci", "Anči", "Ancica", - "Anda", "Anđela", "Anđelika", "Anđelina", "Andi", "Andrea", "Andreja", "Andrina", "Anesa", - "Aneta", "Ani", "Anica", "Anja", "Anka", "Antea", "Antonija", "Asija", "Asja", - "Bara", "Barbara", "Barica", "Beata", "Bela", "Biserka", "Borka", "Borna", "Božena", - "Božica", "Branimira", "Branka", "Brankica", "Brigita", "Dada", "Dagmar", "Dalibora", "Daliborka", - "Danica", "Danijela", "Danka", "Dara", "Darinka", "Dea", "Đina", "Dona", "Donka", - "Dora", "Dorana", "Dorica", "Draga", "Ela", "Eli", "Elka", "Evelin", "Ina", - "Inga", "Inge", "Inja", "Inka", "Ita", "Iva", "Ivančica", "Ivanka", "Ivica", - "Ivna", "Jagica", "Jana", "Janica", "Janka", "Jasna", "Jela", "Jelica", "Ješa", - "Kata", "Kate", "Katica", "Katija", "Katina", "Kika", "Lara", "Laura", "Lea", - "Lela", "Lena", "Leona", "Lola", "Maca", "Magda", "Maja", "Majda", "Manda", - "Mara", "Mare", "Marena", "Marica", "Marta", "Maša", "Mica", "Mika", "Mila", - "Milica", "Milka", "Mima", "Mina", "Mira", "Mirka", "Naja", "Nana", "Natalija", - "Nataša", "Natka", "Neda", "Nela", "Neli", "Nena", "Nera", "Nesa", "Neva", - "Nevenka", "Nina", "Nuša", "Paulina", "Pava", "Pave", "Pavica", "Rajna", "Rija", - "Rina", "Ružica", "Staša", "Tasa", "Teja", "Tija", "Tijana", "Tina", "Tončica", - "Tonija", "Tonka", "Vala", "Valera", "Vali", "Vela", "Velana", "Velina", "Vera", - "Verica", "Vinka", "Zlatica", "Zlatka", "Darija", "Darina", "Divna", "Donata", "Doroteja", - "Dragica", "Dubravka", "Dunja", "Đurda", "Edita", "Elena", "Ema", "Eva", "Gabrijela", - "Goranka", "Gordana", "Grozdana", "Helena", "Hrvojka", "Ira", "Irena", "Irma", "Ivana", - "Jadranka", "Jaga", "Jasmina", "Josipa", "Karmela", "Katarina", "Kristina", "Leda", "Leonida", - "Lidija", "Ljiljana", "Ljubica", "Lovorka", "Lucija", "Magdalena", "Marija", "Marijana", "Marina", - "Martina", "Miranda", "Mirna", "Monika", "Nada", "Nadalina", "Nedjeljka", "Nevena", "Nora", - "Paula", "Petra", "Renata", "Romana", "Rosana", "Ruža", "Sanja", "Silvija", "Slavica", - "Snježana", "Tereza", "Tomislava", "Valentina", "Valerija", "Vedrana", "Velimira", "Veronika", "Vesna", - "Vladimira", "Zdenka", "Zdeslava", "Zlata"}; - -const std::array croatianLastNames = { - "Abadžić", - "Abadžija", - "Abazi", - "Alija", - "Alikavazović", - "Alili", - "Alilović", - "Dardalić", - "Dardić", - "Darić", - "Darojković", - "Daskalov", - "Daskalova", - "Dasović", - "Dašić", - "Gulam", - "Gulam Kramarić", - "Gulaš", - "Guldan", - "Gulija", - "Guljaš", - "Guljašević", - "Gumbarević", - "Gumbas", - "Guncinam", - "Gunjača", - "Gusak", - "Gushani", - "Gušani", - "Gutal", - "Gutrovac", - "Guzina", - "Hrdelja", - "Hrdlitschka", - "Hrđavec", - "Hrenovac", - "HrešićDubaić", - "Hrga", - "Hrgota", - "Hribar", - "Hrkač", - "Hrkać", - "Hrkalović", - "Hrnjak", - "Hrnjkaš", - "Jahaj", - "Jahić", - "Jahn", - "Jajalo", - "Jajčan", - "Jajčanin", - "Jajčinović", - "Jajetić", - "Jajić", - "Jajiš", - "Jakab", - "Jakabfi", - "Jakarić", - "Jakelić", - "JakelićŠklebek", - "Jakeljić", - "Jakešević", - "Jakić", - "Kuzmanić", - "KuzmanićŠarac", - "Kuzmanoski", - "Luketina", - "LukićGaličić", - "LukićKovanović", - "Mušanović", - "Mušija", - "Mušnjak", - "Muštran", - "Rumštajn", - "Runac", - "Runjak", - "Rupaner", - "Rupar", - "Sabolek Tegzeš", - "Zlatar", - "Zlatarek", - "Zlatarević", - "Zlatarić", - "Zlatić", - "ZlatićKavgić", - "Zlatković", - "Zlatović", - "Zlatunić", - "Zlokapa", - "Zlokolica", - "Zlosa", - "Zlovarić", - "Zmaić", - "Zmajić", - "Zmajšek", - "Znaor", - "Znika", - "Zobenica", - "Zobundžija", - "Zolaj", - "Zolaji", - "Zolota", - "Zoraj", - "Zoraja", - "Zorbas", - "Zorbaz", - "Zorica", - "Zorman", - "Zoroja", - "Zovak", - "Zovo Susak", - "Zrakić", - "Zrinščak", - "Zrmanjac", - "Zrna", - "Zrno Dimnjašević", - "Zuanović", - "Zubac", - "Zubac Ištuk", - "Zubaj", - "Zubak", - "Zuban", - "Zubonja", - "Zukan", - "Zulbari", - "Zundanović", - "Zurak", - "Zurapović", - "Zuščak", - "Zušćak", - "Zuzjak", - "Zuzjak Novak", - "Zvanić", - "Zvardon", - "Zvekan", - "Zvekanov", - "Zvekanović", - "Zveržina", - "Zvocak", - "Zvonar", - "Zvonarek", - "Zvonarević", - "Zvonarić", - "Žabarović", - "Žabčić", - "Žabić", - "Žaček", - "Žada", - "Žadanji", - "Žagač", - "Žagar", - "Žagarac", - "Žagarova", - "Žago", - "Žaja", - "Žajdlik", - "Žajlik", - "Žaki", - "Žaknić", - "Žakula", - "Žalac", - "Žalako", - "Žalik", - "Žalonkin", - "Žampak", - "Žanić", - "Žanija", - "Žanko", - "Žaper", - "Žaper Radičević", - "Žarak", - "Žarić", - "Žarko", - "Žarković", - "ŽarkovićMaršal", - "Ždrale", - "Žeđa", - "Žegarac", - "Žegura Schonberger", - "Želka", - "Željeznak", - "Željeznjak", - "Žemla", - "Žerav", - "Žeravica", - "Žeravica Lang", - "Žerjav", - "Žganec", - "Žganjar", - "Žganjer", - "Žgela", - "Žgrabljić", - "Žibrat", - "Židar", - "Žido Lazarević", - "Žigman", - "Žiha", - "Žilavec", - "Žiljak", - "Žindarec", - "Žipac", - "Žiraj", - "ŽirošTatalović", - "Žiška", - "Žitnjak", - "Živadinović", - "Živaković", - "ŽivakovićKerže", - "Živalj", - "Živaljić", -}; - -const std::array croatianSuffixes{"dipl.oecc", "dipl.ing"}; - -const std::array croatianMalePrefixes{"g.", "dr."}; - -const std::array croatianFemalePrefixes{"gđa.", "gđa", "dr."}; - -const NameFormats croatianNameFormats{ - {{"{firstName} {lastName}", 8}, {"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName} {suffix}", 1}}}; - -const PeopleNames croatianPeopleNames{ - {croatianMaleFirstNames, croatianLastNames, croatianMalePrefixes, croatianSuffixes}, - {croatianFemaleFirstNames, croatianLastNames, croatianFemalePrefixes, croatianSuffixes}, - croatianNameFormats}; - -// Czechia - -const std::array czechMaleFirstNames = { - "Abadon", "Abdon", "Ábel", "Abelard", "Abraham", "Abrahám", "Absolon", "Absolón", - "Adalbert", "Adam", "Adin", "Adolf", "Adrian", "Adrián", "Agaton", "Achil", - "Achiles", "Alan", "Alban", "Albert", "Albín", "Albrecht", "Aldo", "Alen", - "Aleš", "Alexandr", "Alexej", "Alfons", "Alfréd", "Alois", "Alojz", "Alva", - "Alvar", "Alvin", "Amadeus", "Amand", "Amát", "Ambrož", "Amos", "Ámos", - "Anastáz", "Anatol", "Anděl", "Andělín", "Andrej", "Anselm", "Antal", "Antonín", - "Aram", "Ariel", "Aristid", "Arkád", "Armand", "Armin", "Arne", "Arnold", - "Arnošt", "Áron", "Árón", "Arpád", "Arsen", "Artur", "Artuš", "Arzen", - "Atanas", "Atanáš", "Atila", "August", "Augustin", "Augustýn", "Aurel", "Aurelián", - "Axel", "Baltazar", "Barnabáš", "Bartoloměj", "Basil", "Bazil", "Beatus", "Bedřich", - "Benedikt", "Benjamin", "Benjamín", "Bernard", "Bertold", "Bertram", "Bivoj", "Blahomil", - "Blahomír", "Blahoslav", "Blažej", "Bohdan", "Bohuchval", "Bohumil", "Bohumír", "Bohun", - "Bohuslav", "Bohuš", "Bojan", "Bolemír", "Boleslav", "Bonifác", "Borek", "Boris", - "Borislav", "Bořek", "Bořislav", "Bořivoj", "Božetěch", "Božidar", "Božislav", "Branimír", - "Branislav", "Bratislav", "Bret", "Brian", "Brit", "Bronislav", "Bruno", "Břetislav", - "Budimír", "Budislav", "Budivoj", "Cecil", "Cedrik", "Celestin", "Celestýn", "César", - "Cézar", "Ctibor", "Ctirad", "Ctislav", "Cyprián", "Cyril", "Čeněk", "Čestmír", - "Čistoslav", "Dag", "Dalibor", "Dalimil", "Dalimír", "Damián", "Dan", "Daniel", - "Darek", "Darius", "David", "Denis", "Děpold", "Dětmar", "Dětřich", "Dezider", - "Dimitrij", "Dino", "Dionýz", "Dionýzos", "Diviš", "Dluhoš", "Dobromil", "Dobromír", - "Dobroslav", "Dominik", "Donald", "Donát", "Dorian", "Dorián", "Drahomil", "Drahomír", - "Drahoň", "Drahoslav", "Drahoš", "Drahotín", "Drahutin", "Dušan", "Edgar", "Edmond", - "Edmund", "Eduard", "Edvard", "Edvin", "Edvín", "Egmont", "Egon", "Eliáš", - "Elizej", "Elizeus", "Elmar", "Elvis", "Emanuel", "Emerich", "Emil", "Emilián", - "Engelbert", "Erazim", "Erazmus", "Erhard", "Erich", "Erik", "Ernest", "Ernst", - "Ervín", "Eugen", "Eusebius", "Evald", "Evan", "Evarist", "Evžen", "Ezechiel", - "Ezra", "Fabián", "Faust", "Faustin", "Faustýn", "Fedor", "Felicián", "Felix", - "Ferdinand", "Fidel", "Fidelius", "Filemon", "Filibert", "Filip", "Filomen", "Flavián", - "Flavius", "Florentin", "Florentýn", "Florián", "Fortunát", "Fráňa", "Franc", "František", - "Fridolín", "Gabin", "Gabriel", "Gál", "Garik", "Gaston", "Gedeon", "Gejza", - "Genadij", "Gerald", "Gerard", "Gerazim", "Gerhard", "Géza", "Gilbert", "Gleb", - "Glen", "Gorazd", "Gordon", "Gothard", "Gracián", "Grant", "Gunter", "Gűnter", - "Gustav", "Hanuš", "Harald", "Harold", "Haštal", "Havel", "Helmut", "Herbert", - "Herman", "Heřman", "Hilar", "Hilarius", "Hjalmar", "Homér", "Honor", "Honorius", - "Horác", "Horst", "Horymír", "Hostimil", "Hostimír", "Hostislav", "Hostivít", "Hovard", - "Hubert", "Hugo", "Hvězdoslav", "Hyacint", "Hynek", "Hypolit", "Chrabroš", "Chraniboj", - "Chranibor", "Chranislav", "Chrudoš", "Chval", "Ignác", "Ignát", "Igor", "Ilja", - "Inocenc", "Irenej", "Ireneus", "Irvin", "Isidor", "Ivan", "Ivar", "Ivo", - "Ivor", "Izaiáš", "Izák", "Izidor", "Izmael", "Jacek", "Jáchym", "Jakub", - "Jan", "Jarmil", "Jarolím", "Jaromil", "Jaromír", "Jaroslav", "Jason", "Jasoň", - "Jeremiáš", "Jeroným", "Jiljí", "Jimram", "Jindřich", "Jiří", "Job", "Joel", - "Jonáš", "Jonatan", "Jonathan", "Jordan", "Josef", "Jošt", "Jozef", "Jozue", - "Juda", "Julián", "Julius", "Justin", "Justýn", "Kajetán", "Kamil", "Karel", - "Kasián", "Kastor", "Kašpar", "Kazimír", "Kilián", "Kim", "Klaudián", "Klaudius", - "Klement", "Kliment", "Knut", "Koloman", "Kolombín", "Kolumbán", "Kolumbín", "Konrád", - "Konstantin", "Konstantýn", "Kornel", "Kornelius", "Kosma", "Kosmas", "Krasomil", "Krasoslav", - "Kristián", "Kryšpín", "Kryštof", "Křesomysl", "Křišťan", "Kurt", "Květoň", "Květoslav", - "Květoš", "Kvido", "Ladislav", "Lambert", "Lars", "Laurenc", "Lazar", "Leander", - "Leandr", "Leo", "Leodegar", "Leon", "Leonard", "Leonid", "Leontýn", "Leopold", - "Leoš", "Lešek", "Lev", "Libor", "Liboslav", "Lionel", "Livius", "Lorenc", - "Lotar", "Lothar", "Lubomír", "Lubor", "Luboslav", "Luboš", "Lucián", "Lucius", - "Luděk", "Ludivoj", "Ludomír", "Ludoslav", "Ludvík", "Lukáš", "Lukrecius", "Lumír", - "Lutibor", "Lutobor", "Magnus", "Makar", "Manfred", "Manfréd", "Mansvet", "Manuel", - "Marcel", "Marek", "Marian", "Marián", "Marin", "Mario", "Marius", "Martin", - "Matěj", "Matouš", "Matyáš", "Max", "Maxim", "Maximilián", "Maxmilián", "Mečislav", - "Medard", "Melichar", "Merlin", "Mervin", "Metod", "Metoděj", "Michael", "Michal", - "Mikoláš", "Mikuláš", "Milan", "Milíč", "Milík", "Milivoj", "Miloň", "Milorad", - "Miloslav", "Miloš", "Milota", "Milouš", "Milovan", "Milovín", "Milutín", "Mirek", - "Mirko", "Miromil", "Miron", "Miroslav", "Mirtil", "Mlad", "Mladen", "Mnata", - "Mnislav", "Modest", "Mojmír", "Mojžíš", "Morgan", "Moric", "Moris", "Mořic", - "Mstislav", "Myron", "Myrtil", "Napoleon", "Narcis", "Natan", "Natanael", "Nathan", - "Nathanael", "Něhoslav", "Neklan", "Nepomuk", "Nezamysl", "Nikita", "Nikodém", "Nikola", - "Nikolas", "Norbert", "Norman", "Odolen", "Odon", "Oktavián", "Oktavius", "Olaf", - "Olbram", "Oldřich", "Oleg", "Oliver", "Omar", "Ondřej", "Orest", "Oskar", - "Osvald", "Ota", "Otakar", "Otmar", "Oto", "Otokar", "Otomar", "Ovidius", - "Palmiro", "Pankrác", "Pantaleon", "Paris", "Parsival", "Paskal", "Patrik", "Pavel", - "Pavlín", "Pelhřim", "Perikles", "Petr", "Petronius", "Pius", "Platon", "Platón", - "Polykarp", "Pravdomil", "Pravomil", "Prokop", "Prosper", "Přemysl", "Přibyslav", "Radan", - "Radegast", "Radek", "Radhost", "Radim", "Radimír", "Radislav", "Radivoj", "Radko", - "Radmil", "Radomil", "Radomír", "Radoslav", "Radoš", "Radovan", "Radúz", "Radvan", - "Rafael", "Raimund", "Rainald", "Rainer", "Rainhard", "Rainold", "Rajko", "Ralf", - "Ramon", "Randolf", "Ranek", "Ranko", "Rastislav", "Ratibor", "Ratmír", "Redmond", - "Reginald", "Remig", "Remus", "Renát", "René", "Richard", "Robert", "Robin", - "Robinson", "Rodan", "Roderik", "Rodrigo", "Roger", "Roch", "Roland", "Rolf", - "Roman", "Romeo", "Romuald", "Romul", "Romulus", "Ronald", "Rostislav", "Ruben", - "Rudolf", "Rufus", "Rupert", "Ruprecht", "Ruslan", "Řehoř", "Sába", "Sámo", - "Samson", "Samuel", "Saturnin", "Saul", "Sáva", "Sebastian", "Sebastián", "Sebestian", - "Sedrik", "Serafín", "Serenus", "Sergej", "Servác", "Severín", "Sidon", "Sigfríd", - "Silvan", "Silván", "Silvestr", "Silvius", "Simeon", "Simon", "Sinkler", "Sixt", - "Sixtus", "Slávek", "Slaviboj", "Slavibor", "Slavoboj", "Slavoj", "Slavomil", "Slavomír", - "Smil", "Soběslav", "Sokrat", "Soter", "Spytihněv", "Stanimír", "Stanislav", "Stojan", - "Stojmír", "Svatoboj", "Svatobor", "Svatomír", "Svatopluk", "Svatoslav", "Sven", "Svetozar", - "Šalamoun", "Šalomoun", "Šavel", "Šebastián", "Šimon", "Šťasta", "Štefan", "Štěpán", - "Tadeáš", "Tankred", "Taras", "Teobald", "Teodor", "Teodorik", "Teodoz", "Teofan", - "Teofil", "Terenc", "Terencius", "Theobald", "Theodor", "Theodorik", "Theofan", "Theofil", - "Tiber", "Tiberius", "Tibor", "Tiburcius", "Tichomil", "Tichomír", "Tichon", "Timon", - "Timotej", "Timoteus", "Timur", "Titus", "Tobiáš", "Tomáš", "Tomislav", "Tor", - "Torkvát", "Torsten", "Tristan", "Udo", "Ulrich", "Upton", "Urban", "Uve", - "Václav", "Vadim", "Valdemar", "Valentin", "Valentýn", "Valerián", "Valter", "Valtr", - "Vasil", "Vavřinec", "Veleslav", "Velimír", "Velislav", "Věnceslav", "Vendelín", "Věnek", - "Verner", "Věroslav", "Vidor", "Viktor", "Viktorin", "Viktorín", "Vilém", "Vilibald", - "Vilmar", "Vincenc", "Virgil", "Virgin", "Vít", "Vítězslav", "Vitold", "Vítoslav", - "Vivian", "Vladan", "Vladimír", "Vladislav", "Vladivoj", "Vlastimil", "Vlastimír", "Vlastislav", - "Vlk", "Vojen", "Vojmil", "Vojmír", "Vojslav", "Vojtěch", "Vok", "Volfgang", - "Vratislav", "Vsevolod", "Všeboj", "Všebor", "Všerad", "Všeslav", "Xaver", "Xaverius", - "Záboj", "Zachar", "Zachariáš", "Záviš", "Zbislav", "Zbyhněv", "Zbyněk", "Zbyslav", - "Zbyšek", "Zdeněk", "Zderad", "Zdeslav", "Zdík", "Zdirad", "Zdislav", "Zeno", - "Zenon", "Zikmund", "Zlatan", "Zlatko", "Zlatomír", "Zoltán", "Zoran", "Zoroslav", - "Zosim", "Zvonimír", "Žarko", "Ždan", "Želibor", "Želimír", "Želislav", "Želmír", - "Žitomír", "Žitoslav", "Živan"}; - -const std::array czechFemaleFirstNames = { - "Abigail", "Ada", "Adalberta", "Adéla", "Adelaida", "Adina", "Adolfa", "Adolfína", - "Adriana", "Adriána", "Adriena", "Afra", "Agáta", "Aglaja", "Aida", "Alana", - "Albena", "Alberta", "Albertina", "Albertýna", "Albína", "Alena", "Aleška", "Alexandra", - "Alfréda", "Alice", "Alida", "Alina", "Alma", "Aloisie", "Alojzije", "Alžběta", - "Amálie", "Amanda", "Amáta", "Amélie", "Anabela", "Anastázie", "Anatázie", "Anatolie", - "Anatólie", "Anděla", "Andělína", "Andrea", "Aneta", "Anežka", "Angela", "Angelika", - "Anita", "Anna", "Anselma", "Antonie", "Apolena", "Arabela", "Aranka", "Areta", - "Ariadna", "Ariana", "Ariela", "Arleta", "Armida", "Arna", "Arnolda", "Arnoštka", - "Astrid", "Astrida", "Atanázie", "Augusta", "Augustina", "Augustýna", "Aura", "Aurélie", - "Aurora", "Babeta", "Barbara", "Barbora", "Beáta", "Beatrice", "Bedřiška", "Bela", - "Běla", "Belinda", "Benedikta", "Berenika", "Berit", "Bernarda", "Berta", "Bertolda", - "Bianka", "Bibiana", "Birgit", "Birgita", "Blahomila", "Blahomíra", "Blahoslava", "Blanka", - "Blažena", "Bohdana", "Bohumila", "Bohumíra", "Bohuna", "Bohuslava", "Bohuše", "Bojana", - "Bojislava", "Boleslava", "Borislava", "Bořislava", "Božena", "Božetěcha", "Božidara", "Branimíra", - "Branislava", "Bratislava", "Brenda", "Brigita", "Brita", "Bronislava", "Bruna", "Brunhilda", - "Břetislava", "Cecilie", "Cecílie", "Celestina", "Celestýna", "Celie", "Celina", "Ctibora", - "Ctirada", "Ctislava", "Cyntie", "Cyrila", "Čeňka", "Čestmíra", "Čistoslava", "Dagmar", - "Dagmara", "Dalibora", "Dalida", "Dalie", "Dalila", "Dalimila", "Dalimíra", "Damaris", - "Damiana", "Damiána", "Dana", "Danica", "Daniela", "Danuše", "Danuta", "Daria", - "Darie", "Darina", "Darja", "Davida", "Debora", "Delie", "Denisa", "Diana", - "Dina", "Dita", "Diviška", "Dobrava", "Dobromila", "Dobromíra", "Dobroslava", "Dominika", - "Donalda", "Donáta", "Dora", "Doris", "Dorota", "Doubrava", "Doubravka", "Drahomila", - "Drahomíra", "Drahoslava", "Drahotína", "Drahuše", "Dulcinea", "Dušana", "Edita", "Eduarda", - "Edvarda", "Egona", "Ela", "Elektra", "Elena", "Eleonora", "Elfrída", "Eliška", - "Elsa", "Elvíra", "Elza", "Ema", "Emanuela", "Emilie", "Emílie", "Erika", - "Erna", "Ervína", "Estela", "Ester", "Estera", "Etela", "Eufrozina", "Eufrozína", - "Eugenie", "Eulálie", "Eunika", "Eusebie", "Eva", "Evelina", "Evelína", "Evženie", - "Fabiána", "Fabie", "Fatima", "Faustina", "Faustýna", "Féba", "Fedora", "Felicie", - "Felície", "Felicita", "Ferdinanda", "Fidelie", "Filipa", "Filoména", "Flavie", "Flora", - "Flóra", "Florentina", "Florentýna", "Františka", "Frída", "Gabriela", "Gaja", "Gajana", - "Galina", "Garika", "Gema", "Geralda", "Geraldina", "Gerarda", "Gerardina", "Gerda", - "Gerharda", "Gertruda", "Gilberta", "Gina", "Gisela", "Gita", "Gizela", "Glorie", - "Gordana", "Graciána", "Gracie", "Grácie", "Gražina", "Gréta", "Griselda", "Grizelda", - "Gudrun", "Gustava", "Gvendolina", "Gvendolína", "Halina", "Hana", "Háta", "Havla", - "Heda", "Hedvika", "Heidrun", "Helena", "Helga", "Herberta", "Hermína", "Herta", - "Hilda", "Hortensie", "Hortenzie", "Horymíra", "Hostimila", "Hostimíra", "Hostislava", "Hvězdoslava", - "Hyacinta", "Chranislava", "Iboja", "Ida", "Ignácie", "Ignáta", "Ildika", "Iljana", - "Ilona", "Ilsa", "Ilza", "Ines", "Inesa", "Inéz", "Ingeborg", "Ingeborga", - "Ingrid", "Ingrida", "Inka", "Irena", "Iris", "Irma", "Isabela", "Isidora", - "Isolda", "Iva", "Ivana", "Iveta", "Ivona", "Izabela", "Izidora", "Izolda", - "Jadrana", "Jadranka", "Jakuba", "Jakubka", "Jana", "Jarmila", "Jarolíma", "Jaromíra", - "Jaroslava", "Jasmína", "Jasna", "Jasněna", "Jelena", "Jenovéfa", "Jesika", "Jindra", - "Jindřiška", "Jiřina", "Jitka", "Johana", "Jolana", "Jolanta", "Jordana", "Jorga", - "Josefa", "Josefína", "Jovana", "Jozefa", "Jozefína", "Judita", "Juliana", "Juliána", - "Julie", "Justina", "Justýna", "Juta", "Kamila", "Karin", "Karina", "Karla", - "Karmela", "Karmen", "Karolina", "Karolína", "Kateřina", "Katrin", "Katrina", "Kazi", - "Kazimíra", "Kira", "Klára", "Klaudie", "Klementina", "Klementýna", "Kleopatra", "Klotylda", - "Koleta", "Kolombína", "Kolumbína", "Konstance", "Konstancie", "Konsuela", "Konzuela", "Kora", - "Kordula", "Korina", "Kornélie", "Krasava", "Krasomila", "Kristina", "Kristýna", "Kunhuta", - "Květa", "Květoslava", "Květuše", "Lada", "Ladislava", "Larisa", "Laura", "Laurencie", - "Lea", "Léda", "Leila", "Lejla", "Lena", "Lenka", "Leokádie", "Leona", - "Leonora", "Leontina", "Leontýna", "Leopolda", "Leopoldina", "Leopoldýna", "Leticie", "Lia", - "Liana", "Liběna", "Libora", "Liboslava", "Libuše", "Lidmila", "Liliana", "Lina", - "Linda", "Livie", "Ljuba", "Lola", "Loreta", "Lorna", "Lota", "Lubomíra", - "Luboslava", "Luciána", "Lucie", "Ludiše", "Luďka", "Ludmila", "Ludomíra", "Ludoslava", - "Ludvika", "Ludvíka", "Luisa", "Lujza", "Lukrécie", "Lumíra", "Lydie", "Lýdie", - "Mabel", "Mabela", "Magda", "Magdalena", "Magdaléna", "Mahulena", "Maja", "Mája", - "Malvína", "Manon", "Manona", "Manuela", "Marcela", "Marcelína", "Margit", "Margita", - "Mariana", "Marie", "Marieta", "Marika", "Marilyn", "Marina", "Mariola", "Marion", - "Marisa", "Marita", "Markéta", "Marlena", "Marta", "Martina", "Matylda", "Maud", - "Maxima", "Mečislava", "Medea", "Médea", "Melánie", "Melinda", "Melisa", "Melita", - "Mercedes", "Michaela", "Michala", "Milada", "Milana", "Milena", "Miloslava", "Milred", - "Miluše", "Mína", "Mira", "Mirabela", "Miranda", "Mirela", "Miriam", "Mirjam", - "Mirka", "Miromila", "Miroslava", "Mnislava", "Mona", "Monika", "Muriel", "Muriela", - "Myrna", "Naďa", "Naděžda", "Naneta", "Narcisa", "Natalie", "Natálie", "Nataša", - "Neda", "Nela", "Nevena", "Nika", "Niké", "Nikodéma", "Nikol", "Nikola", - "Nila", "Nina", "Noema", "Noemi", "Nona", "Nora", "Norberta", "Norma", - "Odeta", "Ofélie", "Oktavie", "Oktávie", "Oldřiška", "Olga", "Oliva", "Olivie", - "Olympie", "Ondřejka", "Otakara", "Otilie", "Otýlie", "Oxana", "Palmira", "Pamela", - "Paskala", "Patricie", "Pavla", "Pavlína", "Pelagie", "Penelopa", "Perla", "Persida", - "Perzida", "Petra", "Petrana", "Petronela", "Petronila", "Petruše", "Petula", "Pilar", - "Polyxena", "Pravdomila", "Pravomila", "Pravoslav", "Pravoslava", "Priscila", "Priska", "Prokopa", - "Přibyslava", "Radana", "Radimíra", "Radislava", "Radka", "Radmila", "Radomila", "Radomíra", - "Radoslava", "Radovana", "Radslava", "Rafaela", "Ráchel", "Raisa", "Rajsa", "Ramona", - "Rastislava", "Rebeka", "Regina", "Regína", "Renata", "Renáta", "René", "Ria", - "Riana", "Richarda", "Rina", "Rita", "Roberta", "Robina", "Romana", "Rosa", - "Rosalinda", "Rosamunda", "Rosana", "Rostislava", "Rovena", "Roxana", "Róza", "Rozálie", - "Rozalinda", "Rozamunda", "Rozana", "Rozina", "Rozita", "Rozvita", "Rudolfa", "Rudolfina", - "Rudolfína", "Rut", "Rút", "Růžena", "Řehořka", "Sabina", "Sabrina", "Salomea", - "Salomena", "Samuela", "Sandra", "Sára", "Saskia", "Saskie", "Saxona", "Selena", - "Selma", "Senta", "Serafína", "Serena", "Scholastika", "Sibyla", "Sidonie", "Silvána", - "Silvie", "Simeona", "Simona", "Skarlet", "Skarleta", "Slavěna", "Slávka", "Slavomila", - "Slavomíra", "Soběslava", "Sofie", "Sofronie", "Solveig", "Solveiga", "Soňa", "Sotira", - "Stanislava", "Stáza", "Stela", "Svatava", "Svatoslava", "Světla", "Světlana", "Světluše", - "Sylva", "Sylvie", "Šárka", "Šarlota", "Šimona", "Štěpána", "Štěpánka", "Tamara", - "Táňa", "Taťána", "Tea", "Tekla", "Teodora", "Teodozie", "Teofila", "Tereza", - "Terezie", "Thea", "Theodora", "Theodosie", "Theofila", "Tomáška", "Toska", "Ulrika", - "Una", "Uršula", "Václava", "Valburga", "Valdemara", "Valentina", "Valentýna", "Valerie", - "Valérie", "Vanda", "Vanesa", "Věduna", "Veleslava", "Velislava", "Věnceslava", "Vendelína", - "Vendula", "Vendulka", "Věnka", "Venuše", "Věra", "Verona", "Veronika", "Věroslava", - "Věslava", "Vesna", "Viktorie", "Viléma", "Vilemína", "Vilma", "Vincencie", "Viola", - "Violeta", "Virginie", "Virgínie", "Víta", "Vítězslava", "Viviana", "Vladana", "Vladěna", - "Vladimíra", "Vladislava", "Vlasta", "Vlastimila", "Vlastimíra", "Vlastislava", "Vojmíra", "Vojslava", - "Vojtěška", "Voršila", "Vratislava", "Xaverie", "Xenie", "Zaida", "Zaira", "Zbyhněva", - "Zbyňka", "Zbyslava", "Zbyška", "Zdena", "Zdenka", "Zdeňka", "Zdeslava", "Zdislava", - "Zenobie", "Zina", "Zinaida", "Zita", "Zlata", "Zlatomíra", "Zlatuše", "Zoe", - "Zoja", "Zora", "Zoroslava", "Zuzana", "Zvonimíra", "Žakelina", "Žakelína", "Žaneta", - "Ždana", "Želimíra", "Želislava", "Želmíra", "Žitomíra", "Žitoslava", "Živa", "Živana", - "Žofie"}; - -const std::array czechMaleLastNames = { - "Adam", "Adamec", "Adámek", "Albrecht", "Ambrož", "Anděl", "Andrle", "Antoš", - "Bajer", "Baláž", "Balcar", "Balog", "Baloun", "Barák", "Baran", "Bareš", - "Bárta", "Barták", "Bartoň", "Bartoš", "Bartošek", "Bartůněk", "Bašta", "Bauer", - "Bayer", "Bažant", "Bečka", "Bečvář", "Bednář", "Bednařík", "Bělohlávek", "Benda", - "Beneš", "Beran", "Beránek", "Berger", "Berka", "Berky", "Bernard", "Bezděk", - "Bílek", "Bílý", "Bína", "Bittner", "Blaha", "Bláha", "Blažek", "Blecha", - "Bobek", "Boček", "Boháč", "Boháček", "Böhm", "Borovička", "Bouček", "Bouda", - "Bouška", "Brabec", "Brabenec", "Brada", "Bradáč", "Braun", "Brázda", "Brázdil", - "Brejcha", "Březina", "Bříza", "Brož", "Brožek", "Brychta", "Bubeník", "Buček", - "Buchta", "Burda", "Bureš", "Burian", "Buriánek", "Byrtus", "Čada", "Caha", - "Čáp", "Čapek", "Čech", "Čejka", "Čermák", "Černík", "Černoch", "Černohorský", - "Černý", "Červeňák", "Červenka", "Červený", "Červinka", "Chaloupka", "Chalupa", "Charvát", - "Chládek", "Chlup", "Chmelař", "Chmelík", "Chovanec", "Chromý", "Chudoba", "Chvátal", - "Chvojka", "Chytil", "Cibulka", "Čihák", "Cihlář", "Císař", "Čížek", "Čonka", - "Coufal", "Čurda", "Daněk", "Daniel", "Daniš", "David", "Dědek", "Demeter", - "Dittrich", "Diviš", "Dlouhý", "Dobeš", "Dobiáš", "Dobrovolný", "Dočekal", "Dočkal", - "Dohnal", "Dokoupil", "Doleček", "Dolejš", "Dolejší", "Doležal", "Doležel", "Doskočil", - "Dostál", "Doubek", "Doubrava", "Douša", "Drábek", "Drozd", "Dubský", "Duchoň", - "Duda", "Dudek", "Dufek", "Dunka", "Dušek", "Dvořáček", "Dvořák", "Dvorský", - "Eliáš", "Erben", "Fabián", "Fanta", "Farkaš", "Fejfar", "Fencl", "Ferenc", - "Ferko", "Fiala", "Fiedler", "Filip", "Fischer", "Fišer", "Florián", "Fojtík", - "Foltýn", "Forman", "Formánek", "Fořt", "Fousek", "Franc", "Franěk", "Frank", - "Fridrich", "Frydrych", "Fuchs", "Fučík", "Fuksa", "Gábor", "Gabriel", "Gajdoš", - "Gaži", "Gottwald", "Gregor", "Gruber", "Grundza", "Grygar", "Hájek", "Hajný", - "Hála", "Hampl", "Hána", "Hanáček", "Hanák", "Hanousek", "Hanus", "Hanuš", - "Hanzal", "Hanzl", "Hanzlík", "Hartman", "Hašek", "Havel", "Havelka", "Havlíček", - "Havlík", "Havránek", "Heczko", "Heger", "Hejda", "Hejduk", "Hejl", "Hejna", - "Hendrych", "Herman", "Heřman", "Heřmánek", "Hladík", "Hladký", "Hlaváč", "Hlaváček", - "Hlavatý", "Hlávka", "Hloušek", "Hoffmann", "Hofman", "Holan", "Holas", "Holec", - "Holeček", "Holík", "Holoubek", "Holub", "Holý", "Homola", "Homolka", "Hora", - "Horáček", "Horák", "Hořejší", "Horký", "Horňák", "Horníček", "Horník", "Horský", - "Horvát", "Horváth", "Hošek", "Houdek", "Houška", "Hovorka", "Hrabal", "Hrabovský", - "Hradecký", "Hradil", "Hrbáček", "Hrbek", "Hrdina", "Hrdlička", "Hrdý", "Hrnčíř", - "Hroch", "Hromádka", "Hron", "Hrubeš", "Hrubý", "Hruška", "Hrůza", "Hubáček", - "Hudec", "Hudeček", "Hůlka", "Huml", "Husák", "Hušek", "Hýbl", "Hynek", - "Jahoda", "Jakeš", "Jakl", "Jakoubek", "Jakubec", "Janáček", "Janák", "Janata", - "Janča", "Jančík", "Janda", "Janeček", "Janečka", "Janíček", "Janík", "Janků", - "Janota", "Janoušek", "Janovský", "Jansa", "Jánský", "Janů", "Jareš", "Jaroš", - "Jašek", "Javůrek", "Jech", "Jedlička", "Jelen", "Jelínek", "Jeníček", "Jeřábek", - "Jež", "Ježek", "Jílek", "Jindra", "Jíra", "Jirák", "Jiránek", "Jirásek", - "Jiřík", "Jirka", "Jirků", "Jiroušek", "Jirsa", "John", "Jonáš", "Junek", - "Jurčík", "Jurečka", "Juřica", "Juřík", "Kabát", "Kačírek", "Kadeřábek", "Kadlec", - "Kafka", "Kaiser", "Kala", "Kaláb", "Kalaš", "Kalina", "Kalivoda", "Kalous", - "Kalousek", "Kameník", "Kaňa", "Káňa", "Kaňka", "Kantor", "Kaplan", "Karas", - "Karásek", "Karban", "Karel", "Karlík", "Kasal", "Kašík", "Kašpar", "Kašpárek", - "Kavka", "Kazda", "Kindl", "Klečka", "Klein", "Klement", "Klíma", "Kliment", - "Klimeš", "Klouček", "Klouda", "Knap", "Knotek", "Koch", "Kočí", "Kocián", - "Kocman", "Kocourek", "Kohout", "Kohoutek", "Koláček", "Kolář", "Kolařík", "Kolek", - "Kolman", "Komárek", "Komínek", "Konečný", "Koníček", "Kopal", "Kopeček", "Kopecký", - "Kopečný", "Kopřiva", "Korbel", "Kořínek", "Kos", "Kosík", "Kosina", "Košťál", - "Kostka", "Kotas", "Kotek", "Kotlár", "Kotrba", "Kouba", "Koubek", "Koudela", - "Koudelka", "Koukal", "Kouřil", "Koutný", "Kováč", "Kovář", "Kovařík", "Kovářík", - "Kozák", "Kozel", "Krajíček", "Král", "Králíček", "Králík", "Krátký", "Kratochvíl", - "Kraus", "Krčmář", "Křeček", "Krejčí", "Krejčík", "Krejčíř", "Křenek", "Krištof", - "Křivánek", "Kříž", "Křížek", "Kropáček", "Kroupa", "Krupa", "Krupička", "Krupka", - "Kuba", "Kubánek", "Kubát", "Kubec", "Kubelka", "Kubeš", "Kubica", "Kubíček", - "Kubík", "Kubín", "Kubiš", "Kuča", "Kučera", "Kuchař", "Kuchta", "Kudláček", - "Kudrna", "Kukla", "Kulhánek", "Kulhavý", "Kunc", "Kuneš", "Kupec", "Kupka", - "Kurka", "Kužel", "Kvapil", "Kvasnička", "Kyncl", "Kysela", "Lacina", "Lacko", - "Lakatoš", "Landa", "Lang", "Langer", "Langr", "Látal", "Lavička", "Le", - "Lebeda", "Levý", "Líbal", "Linhart", "Liška", "Lorenc", "Louda", "Ludvík", - "Lukáč", "Lukáš", "Lukášek", "Lukeš", "Macák", "Macek", "Mach", "Mácha", - "Machač", "Macháč", "Macháček", "Machala", "Machálek", "Macura", "Majer", "Maleček", - "Málek", "Malík", "Malina", "Malý", "Maňák", "Mareček", "Marek", "Mareš", - "Mařík", "Maršálek", "Maršík", "Martinec", "Martinek", "Martínek", "Mašek", "Masopust", - "Matějíček", "Matějka", "Matouš", "Matoušek", "Matula", "Matuška", "Matyáš", "Matys", - "Maxa", "Mayer", "Mazánek", "Medek", "Melichar", "Mencl", "Menšík", "Merta", - "Michal", "Michalec", "Michálek", "Michalík", "Michna", "Mička", "Mika", "Míka", - "Mikeš", "Miko", "Mikula", "Mikulášek", "Minář", "Minařík", "Mirga", "Mládek", - "Mlčoch", "Mlejnek", "Mojžíš", "Mokrý", "Molnár", "Moravec", "Morávek", "Motl", - "Motyčka", "Moučka", "Moudrý", "Mráček", "Mráz", "Mrázek", "Mrkvička", "Mucha", - "Müller", "Műller", "Musil", "Mužík", "Myška", "Nagy", "Najman", "Navrátil", - "Nečas", "Nedbal", "Nedoma", "Nedvěd", "Nejedlý", "Němec", "Němeček", "Nešpor", - "Nesvadba", "Neubauer", "Neuman", "Neumann", "Nguyen", "Nguyen van", "Nosek", "Nováček", - "Novák", "Novosad", "Novotný", "Nový", "Odehnal", "Oláh", "Oliva", "Ondra", - "Ondráček", "Orság", "Otáhal", "Paleček", "Pánek", "Papež", "Pařízek", "Pašek", - "Pátek", "Patočka", "Paul", "Pavel", "Pavelek", "Pavelka", "Pavlas", "Pavlica", - "Pavlíček", "Pavlík", "Pavlů", "Pazdera", "Pech", "Pecha", "Pecháček", "Pecka", - "Pekař", "Pekárek", "Pelc", "Pelikán", "Peřina", "Pernica", "Peroutka", "Pešek", - "Peška", "Pešta", "Peterka", "Petr", "Petrák", "Petráš", "Petříček", "Petřík", - "Petrů", "Pham", "Pícha", "Pilař", "Pilát", "Píša", "Pivoňka", "Plaček", - "Plachý", "Plšek", "Pluhař", "Podzimek", "Pohl", "Pokorný", "Poláček", "Polách", - "Polák", "Polanský", "Polášek", "Polívka", "Popelka", "Pospíchal", "Pospíšil", "Potůček", - "Pour", "Prachař", "Prášek", "Pražák", "Prchal", "Přibyl", "Příhoda", "Přikryl", - "Procházka", "Prokeš", "Prokop", "Prošek", "Provazník", "Průcha", "Průša", "Pšenička", - "Ptáček", "Rác", "Rada", "Rak", "Rambousek", "Raška", "Rataj", "Řeháček", - "Řehák", "Řehoř", "Remeš", "Řezáč", "Rezek", "Řezníček", "Richter", "Richtr", - "Říha", "Roubal", "Rous", "Rozsypal", "Rudolf", "Růžek", "Růžička", "Ryba", - "Rybář", "Rýdl", "Ryšavý", "Sadílek", "Šafář", "Šafařík", "Šafránek", "Šálek", - "Samek", "Šanda", "Šašek", "Schejbal", "Schmidt", "Schneider", "Schwarz", "Šebek", - "Šebela", "Šebesta", "Šeda", "Šedivý", "Sedláček", "Sedlák", "Sedlář", "Sehnal", - "Seidl", "Seifert", "Sekanina", "Semerád", "Šenk", "Šesták", "Ševčík", "Severa", - "Sikora", "Šilhavý", "Šíma", "Šimáček", "Šimák", "Šimánek", "Šimčík", "Šimeček", - "Šimek", "Šimon", "Šimůnek", "Šindelář", "Šindler", "Šíp", "Šípek", "Šír", - "Široký", "Šiška", "Sivák", "Skácel", "Skala", "Skála", "Skalický", "Sklenář", - "Škoda", "Skopal", "Skořepa", "Škrabal", "Skřivánek", "Slabý", "Sládek", "Sladký", - "Sláma", "Slanina", "Slavíček", "Slavík", "Šlechta", "Slezák", "Slováček", "Slovák", - "Sluka", "Smejkal", "Šmejkal", "Smékal", "Šmerda", "Smetana", "Šmíd", "Smola", - "Smolík", "Smolka", "Smrčka", "Smrž", "Smutný", "Šnajdr", "Sobek", "Sobotka", - "Sochor", "Sojka", "Sokol", "Šolc", "Sommer", "Souček", "Soukup", "Sova", - "Špaček", "Spáčil", "Špička", "Šplíchal", "Spurný", "Šrámek", "Srb", "Staněk", - "Stárek", "Starý", "Šťastný", "Štefan", "Štefek", "Štefl", "Stehlík", "Steiner", - "Stejskal", "Štěpán", "Štěpánek", "Štěrba", "Stibor", "Stoklasa", "Straka", "Stránský", - "Strejček", "Strnad", "Strouhal", "Stuchlík", "Studený", "Studnička", "Stupka", "Šubrt", - "Suchánek", "Suchomel", "Suchý", "Suk", "Šulc", "Šustr", "Šváb", "Svačina", - "Švanda", "Švarc", "Svatoň", "Svatoš", "Švec", "Švehla", "Švejda", "Švestka", - "Světlík", "Sviták", "Svoboda", "Svozil", "Sýkora", "Synek", "Syrový", "Táborský", - "Tancoš", "Teplý", "Tesař", "Tichý", "Toman", "Tománek", "Tomáš", "Tomášek", - "Tomeček", "Tomek", "Tomeš", "Tóth", "Tran", "Trávníček", "Trčka", "Tříska", - "Trnka", "Trojan", "Truhlář", "Tuček", "Tůma", "Tureček", "Turek", "Tvrdík", - "Tvrdý", "Uher", "Uhlíř", "Ulrich", "Urban", "Urbanec", "Urbánek", "Vacek", - "Vácha", "Václavek", "Václavík", "Vaculík", "Vágner", "Vala", "Valášek", "Válek", - "Valenta", "Valeš", "Váňa", "Vančura", "Vaněček", "Vaněk", "Vaníček", "Varga", - "Vašák", "Vašek", "Vašíček", "Vávra", "Vavřík", "Večeřa", "Vejvoda", "Verner", - "Veselý", "Veverka", "Vícha", "Vilímek", "Vinš", "Víšek", "Vít", "Vitásek", - "Vítek", "Vlach", "Vlasák", "Vlček", "Vlk", "Vobořil", "Vodák", "Vodička", - "Vodrážka", "Vojáček", "Vojta", "Vojtěch", "Vojtek", "Vojtíšek", "Vokoun", "Volek", - "Volf", "Volný", "Vondra", "Vondráček", "Vondrák", "Voráček", "Vorel", "Voříšek", - "Vorlíček", "Votava", "Votruba", "Vrabec", "Vrána", "Vrba", "Vrzal", "Vybíral", - "Vydra", "Vymazal", "Vyskočil", "Vysloužil", "Wagner", "Walter", "Weber", "Weiss", - "Winkler", "Wolf", "Zábranský", "Žáček", "Zach", "Zahrádka", "Zahradník", "Zajíc", - "Zajíček", "Žák", "Zálešák", "Zámečník", "Zapletal", "Záruba", "Zatloukal", "Zavadil", - "Zavřel", "Zbořil", "Žďárský", "Zdražil", "Zedník", "Zelenka", "Zelený", "Zelinka", - "Zeman", "Zemánek", "Žemlička", "Zezula", "Žídek", "Žiga", "Zíka", "Zikmund", - "Zima", "Žižka", "Zlámal", "Zoubek", "Zouhar", "Žůrek", "Zvěřina"}; - -const std::array czechFemaleLastNames = { - "Adamová", "Adamcová", "Adámková", "Albrechtová", "Ambrožová", "Andělová", "Andrlová", - "Antošová", "Bajerová", "Balážová", "Balcarová", "Balogová", "Balounová", "Baráková", - "Baranová", "Barešová", "Bártová", "Bartáková", "Bartoňová", "Bartošová", "Bartošková", - "Bartůňková", "Baštová", "Bauerová", "Bayerová", "Bažantová", "Bečková", "Bečvářová", - "Bednářová", "Bednaříková", "Bělohlávková", "Bendová", "Benešová", "Beranová", "Beránková", - "Bergrová", "Berková", "Berkyová", "Bernardová", "Bezděková", "Bílková", "Bílá", - "Bínová", "Bittnerová", "Blahová", "Bláhová", "Blažková", "Blechová", "Bobková", - "Bočková", "Boháčová", "Boháčková", "Böhmová", "Borovičková", "Boučková", "Boudová", - "Boušková", "Brabcová", "Brabencová", "Bradová", "Bradáčová", "Braunová", "Brázdová", - "Brázdilová", "Brejchová", "Březinová", "Břízová", "Brožová", "Brožková", "Brychtová", - "Bubeníková", "Bučková", "Buchtová", "Burdová", "Burešová", "Burianová", "Buriánková", - "Byrtusová", "Čadová", "Cahová", "Čápová", "Čapková", "Čechová", "Čejková", - "Čermáková", "Černíková", "Černochová", "Černohorská", "Černá", "Červeňáková", "Červenková", - "Červená", "Červinková", "Chaloupková", "Chalupová", "Charvátová", "Chládková", "Chlupová", - "Chmelařová", "Chmelíková", "Chovancová", "Chromá", "Chudobová", "Chvátalová", "Chvojková", - "Chytilová", "Cibulková", "Čiháková", "Cihlářová", "Císařová", "Čížková", "Čonková", - "Coufalová", "Čurdová", "Danková", "Danilová", "Danišová", "Davidová", "Dědková", - "Demetrová", "Dittrichová", "Divišová", "Dlouhá", "Dobešová", "Dobiášová", "Dobrovolná", - "Dočekalová", "Dočkalová", "Dohnalová", "Dokoupilová", "Dolečková", "Dolejšová", "Dolejší", - "Doležalová", "Doleželová", "Doskočilová", "Dostálová", "Doubková", "Doubravová", "Doušová", - "Drábková", "Drozdová", "Dubská", "Duchoňová", "Dudová", "Dudková", "Dufková", - "Dunková", "Dušková", "Dvořáčková", "Dvořáková", "Dvorská", "Eliášová", "Erbenová", - "Fabiánová", "Fantová", "Farkašová", "Fejfarová", "Fenclová", "Ferencová", "Ferková", - "Fialová", "Fiedlerová", "Filipová", "Fischerová", "Fišerová", "Floriánová", "Fojtíková", - "Foltýnová", "Formanová", "Formánková", "Fořtová", "Fousková", "Francová", "Franková", - "Fridrichová", "Frydrychová", "Fuchsová", "Fučíková", "Fuksová", "Gáborová", "Gabrielová", - "Gajdošová", "Gažiová", "Gottwaldová", "Gregorová", "Grubrová", "Grundzová", "Grygarová", - "Hájková", "Hajná", "Hálová", "Hamplová", "Hánová", "Hanáčková", "Hanáková", - "Hanousková", "Hanusová", "Hanušová", "Hanzalová", "Hanzlová", "Hanzlíková", "Hartmanová", - "Hašková", "Havlová", "Havelková", "Havlíčková", "Havlíková", "Havránková", "Heczková", - "Hegerová", "Hejdová", "Hejduková", "Hejlová", "Hejnová", "Hendrychová", "Hermanová", - "Heřmanová", "Heřmánková", "Hladíková", "Hladká", "Hlaváčová", "Hlaváčková", "Hlavatá", - "Hlávková", "Hloušková", "Hoffmannová", "Hofmanová", "Holanová", "Holasová", "Holcová", - "Holečková", "Holíková", "Holoubková", "Holubová", "Holá", "Homolová", "Homolková", - "Horová", "Horáčková", "Horáková", "Hořejší", "Horký", "Horňáková", "Horníčková", - "Horníková", "Horská", "Horvátová", "Horváthová", "Hošková", "Houdková", "Houšková", - "Hovorková", "Hrabalová", "Hrabovská", "Hradecká", "Hradilová", "Hrbáčková", "Hrbková", - "Hrdinová", "Hrdličková", "Hrdá", "Hrnčířová", "Hrochová", "Hromádková", "Hronová", - "Hrubešová", "Hrubá", "Hrušková", "Hrůzová", "Hubáčková", "Hudcová", "Hudečková", - "Hůlková", "Humlová", "Husáková", "Hušková", "Hýblová", "Hynková", "Jahodová", - "Jakešová", "Jaklová", "Jakoubková", "Jakubcová", "Janáčková", "Janáková", "Janatová", - "Jančová", "Jančíková", "Jandová", "Janečková", "Janíčková", "Janíková", "Janků", - "Janotová", "Janoušková", "Janovská", "Jansová", "Jánská", "Janů", "Jarešová", - "Jarošová", "Jašková", "Javůrková", "Jechová", "Jedličková", "Jelenová", "Jelínková", - "Jeníčková", "Jeřábková", "Ježová", "Ježková", "Jílková", "Jindrová", "Jírová", - "Jiráková", "Jiránková", "Jirásková", "Jiříková", "Jirková", "Jirků", "Jiroušková", - "Jirsová", "Johnová", "Jonášová", "Junková", "Jurčíková", "Jurečková", "Juřicová", - "Juříková", "Kabátová", "Kačírková", "Kadeřábková", "Kadlecová", "Kafková", "Kaisrová", - "Kalová", "Kalábová", "Kalašová", "Kalinová", "Kalivodová", "Kalousová", "Kalousková", - "Kameníková", "Kaňová", "Káňová", "Kaňková", "Kantorová", "Kaplanová", "Karasová", - "Karásková", "Karbanová", "Karlová", "Karlíková", "Kasalová", "Kašíková", "Kašparová", - "Kašpárková", "Kavková", "Kazdová", "Kindlová", "Klečková", "Kleinová", "Klementová", - "Klímová", "Klimentová", "Klimešová", "Kloučková", "Kloudová", "Knapová", "Knotková", - "Kochová", "Kočí", "Kociánová", "Kocmanová", "Kocourková", "Kohoutová", "Kohoutková", - "Koláčková", "Kolářová", "Kolaříková", "Kolková", "Kolmanová", "Komárková", "Komínková", - "Konečná", "Koníčková", "Kopalová", "Kopečková", "Kopecká", "Kopečná", "Kopřivová", - "Korbelová", "Kořínková", "Kosová", "Kosíková", "Kosinová", "Košťálová", "Kostková", - "Kotasová", "Kotková", "Kotlárová", "Kotrbová", "Koubová", "Koubková", "Koudelová", - "Koudelková", "Koukalová", "Kouřilová", "Koutná", "Kováčová", "Kovářová", "Kovaříková", - "Kováříková", "Kozáková", "Kozlová", "Krajíčková", "Králová", "Králíčková", "Králíková", - "Krátká", "Kratochvílová", "Krausová", "Krčmářová", "Křečková", "Krejčová", "Krejčíková", - "Krejčířová", "Křenková", "Krištofová", "Křivánková", "Křížová", "Křížková", "Kropáčková", - "Kroupová", "Krupová", "Krupičková", "Krupková", "Kubová", "Kubánková", "Kubátová", - "Kubcová", "Kubelková", "Kubešová", "Kubicová", "Kubíčková", "Kubíková", "Kubínová", - "Kubišová", "Kučová", "Kučerová", "Kuchařová", "Kuchtová", "Kudláčková", "Kudrnová", - "Kuklová", "Kulhánková", "Kulhavá", "Kuncová", "Kunešová", "Kupcová", "Kupková", - "Kurková", "Kuželová", "Kvapilová", "Kvasničková", "Kynclová", "Kyselová", "Lacinová", - "Lacková", "Lakatošová", "Landová", "Langová", "Langrová", "Látalová", "Lavičková", - "Le", "Lebedová", "Levá", "Líbalová", "Linhartová", "Lišková", "Lorencová", - "Loudová", "Ludvíková", "Lukáčová", "Lukášová", "Lukášková", "Lukešová", "Macáková", - "Macková", "Machová", "Máchová", "Machačová", "Macháčová", "Macháčková", "Machalová", - "Machálková", "Macurová", "Majerová", "Malečková", "Málková", "Malíková", "Malinová", - "Malá", "Maňáková", "Marečková", "Marková", "Marešová", "Maříková", "Maršálková", - "Maršíková", "Martincová", "Martinková", "Martínková", "Mašková", "Masopustová", "Matějíčková", - "Matějková", "Matoušová", "Matoušková", "Matulová", "Matušková", "Matyášová", "Matysová", - "Maxová", "Mayerová", "Mazánková", "Medková", "Melicharová", "Menclová", "Menšíková", - "Mertová", "Michalová", "Michalcová", "Michálková", "Michalíková", "Michnová", "Mičková", - "Miková", "Míková", "Mikešová", "Mikulová", "Mikulášková", "Minářová", "Minaříková", - "Mirgová", "Mládková", "Mlčochová", "Mlejnková", "Mojžíšová", "Mokrá", "Molnárová", - "Moravcová", "Morávková", "Motlová", "Motyčková", "Moučková", "Moudrá", "Mráčková", - "Mrázová", "Mrázková", "Mrkvičková", "Muchová", "Müllerová", "Műllerová", "Musilová", - "Mužíková", "Myšková", "Nagyová", "Najmanová", "Navrátilová", "Nečasová", "Nedbalová", - "Nedomová", "Nedvědová", "Nejedlá", "Němcová", "Němečková", "Nešporová", "Nesvadbová", - "Neubauerová", "Neumanová", "Neumannová", "Nguyenová", "Nguyen vanová", "Nosková", "Nováčková", - "Nováková", "Novosadová", "Novotná", "Nová", "Odehnalová", "Oláhová", "Olivová", - "Ondrová", "Ondráčková", "Orságová", "Otáhalová", "Palečková", "Pánková", "Papežová", - "Pařízková", "Pašková", "Pátková", "Patočková", "Paulová", "Pavlová", "Pavelková", - "Pavlasová", "Pavlicová", "Pavlíčková", "Pavlíková", "Pavlů", "Pazderová", "Pechová", - "Pecháčková", "Pecková", "Pekařová", "Pekárková", "Pelcová", "Pelikánová", "Peřinová", - "Pernicová", "Peroutková", "Pešková", "Peštová", "Peterková", "Petrová", "Petráková", - "Petrášová", "Petříčková", "Petříková", "Petrů", "Pham", "Píchová", "Pilařová", - "Pilátová", "Píšová", "Pivoňková", "Plačková", "Plachá", "Plšková", "Pluhařová", - "Podzimková", "Pohlová", "Pokorná", "Poláčková", "Poláchová", "Poláková", "Polanská", - "Polášková", "Polívková", "Popelková", "Pospíchalová", "Pospíšilová", "Potůčková", "Pourová", - "Prachařová", "Prášková", "Pražáková", "Prchalová", "Přibylová", "Příhodová", "Přikrylová", - "Procházková", "Prokešová", "Prokopová", "Prošková", "Provazníková", "Průchová", "Průšová", - "Pšeničková", "Ptáčková", "Rácová", "Radová", "Raková", "Rambousková", "Rašková", - "Ratajová", "Řeháčková", "Řeháková", "Řehořová", "Remešová", "Řezáčová", "Rezková", - "Řezníčková", "Richtrová", "Říhová", "Roubalová", "Rousová", "Rozsypalová", "Rudolfová", - "Růžková", "Růžičková", "Rybová", "Rybářová", "Rýdlová", "Ryšavá", "Sadílková", - "Šafářová", "Šafaříková", "Šafránková", "Šálková", "Samková", "Šandová", "Šašková", - "Schejbalová", "Schmidtová", "Schneidrová", "Schwarzová", "Šebková", "Šebelová", "Šebestová", - "Šedová", "Šedivá", "Sedláčková", "Sedláková", "Sedlářová", "Sehnalová", "Seidlová", - "Seifertová", "Sekaninová", "Semerádová", "Šenková", "Šestáková", "Ševčíková", "Severová", - "Sikorová", "Šilhavá", "Šímová", "Šimáčková", "Šimáková", "Šimánková", "Šimčíková", - "Šimečková", "Šimková", "Šimonová", "Šimůnková", "Šindelářová", "Šindlerová", "Šípová", - "Šípková", "Šírová", "Široká", "Šišková", "Siváková", "Skácelová", "Skalová", - "Skálová", "Skalická", "Sklenářová", "Škodová", "Skopalová", "Skořepová", "Škrabalová", - "Skřivánková", "Slabá", "Sládková", "Sladká", "Slámová", "Slaninová", "Slavíčková", - "Slavíková", "Šlechtová", "Slezáková", "Slováčková", "Slováková", "Sluková", "Smejkalová", - "Šmejkalová", "Smékalová", "Šmerdová", "Smetanová", "Šmídová", "Smolová", "Smolíková", - "Smolková", "Smrčková", "Smržová", "Smutná", "Šnajdrová", "Sobková", "Sobotková", - "Sochorová", "Sojková", "Sokolová", "Šolcová", "Sommrová", "Součková", "Soukupová", - "Sovová", "Špačková", "Spáčilová", "Špičková", "Šplíchalová", "Spurná", "Šrámková", - "Srbová", "Staňková", "Stárková", "Stará", "Šťastná", "Štefanová", "Štefková", - "Šteflová", "Stehlíková", "Steinerová", "Stejskalová", "Štěpánová", "Štěpánková", "Štěrbová", - "Stiborová", "Stoklasová", "Straková", "Stránská", "Strejčková", "Strnadová", "Strouhalová", - "Stuchlíková", "Studená", "Studničková", "Stupková", "Šubrtová", "Suchánková", "Suchomelová", - "Suchá", "Suková", "Šulcová", "Šustrová", "Švábová", "Svačinová", "Švandová", - "Švarcová", "Svatoňová", "Svatošová", "Švecová", "Švehlová", "Švejdová", "Švestková", - "Světlíková", "Svitáková", "Svobodová", "Svozilová", "Sýkorová", "Synková", "Syrová", - "Táborská", "Tancošová", "Teplá", "Tesařová", "Tichá", "Tomanová", "Tománková", - "Tomášová", "Tomášková", "Tomečková", "Tomková", "Tomešová", "Tóthová", "Tranová", - "Trávníčková", "Trčková", "Třísková", "Trnková", "Trojanová", "Truhlářová", "Tučková", - "Tůmová", "Turečková", "Turková", "Tvrdíková", "Tvrdá", "Uhrová", "Uhlířová", - "Ulrichová", "Urbanová", "Urbancová", "Urbánková", "Vacková", "Váchová", "Václavková", - "Václavíková", "Vaculíková", "Vágnerová", "Valová", "Valášková", "Válková", "Valentová", - "Valešová", "Váňová", "Vančurová", "Vaněčková", "Vaňková", "Vaníčková", "Vargová", - "Vašáková", "Vašková", "Vašíčková", "Vávrová", "Vavříková", "Večeřová", "Vejvodová", - "Vernerová", "Veselá", "Veverková", "Víchová", "Vilímková", "Vinšová", "Víšková", - "Vítová", "Vitásková", "Vítková", "Vlachová", "Vlasáková", "Vlčková", "Vlková", - "Vobořilová", "Vodáková", "Vodičková", "Vodrážková", "Vojáčková", "Vojtová", "Vojtěchová", - "Vojtková", "Vojtíšková", "Vokounová", "Volková", "Volfová", "Volná", "Vondrová", - "Vondráčková", "Vondráková", "Voráčková", "Vorlová", "Voříšková", "Vorlíčková", "Votavová", - "Votrubová", "Vrabcová", "Vránová", "Vrbová", "Vrzalová", "Vybíralová", "Vydrová", - "Vymazalová", "Vyskočilová", "Vysloužilová", "Wagnerová", "Waltrová", "Webrová", "Weissová", - "Winklerová", "Wolfová", "Zábranská", "Žáčková", "Zachová", "Zahrádková", "Zahradníková", - "Zajícová", "Zajíčková", "Žáková", "Zálešáková", "Zámečníková", "Zapletalová", "Zárubová", - "Zatloukalová", "Zavadilová", "Zavřelová", "Zbořilová", "Žďárská", "Zdražilová", "Zedníková", - "Zelenková", "Zelená", "Zelinková", "Zemanová", "Zemánková", "Žemličková", "Zezulová", - "Žídková", "Žigová", "Zíková", "Zikmundová", "Zimová", "Žižková", "Zlámalová", - "Zoubková", "Zouharová", "Žůrková", "Zvěřinová"}; - -const std::array czechPrefixes{"Ing.", "Mgr.", "JUDr.", "MUDr."}; - -const std::array czechSuffixes{"Phd."}; - -const NameFormats czechNameFormats{ - {{"{firstName} {lastName}", 8}, {"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName} {suffix}", 1}}}; - -const PeopleNames czechPeopleNames{{czechMaleFirstNames, czechMaleLastNames, czechPrefixes, czechSuffixes}, - {czechFemaleFirstNames, czechFemaleLastNames, czechPrefixes, czechSuffixes}, - czechNameFormats}; - -// Denmark - -const std::array danishMaleFirstNames = {"Adam", - "Adrian", - "Ahmad", - "Aksel", - "Albert", - "Alexander", - "Alfred", - "Ali", - "Anders", - "Andreas", - "Anton", - "Arthur", - "Arunthavanathan", - "August", - "Benjamin", - "Bjørn", - "Brian", - "Carl", - "Christian", - "Christopher", - "Claus", - "Daniel", - "David", - "Elias", - "Elliot", - "Emil", - "Erik", - "Esben", - "Felix", - "Frank", - "Frederik", - "Georg", - "Hakim", - "Hans", - "Harald", - "Henrik", - "Ib", - "Ivan", - "Jacob", - "Jakob", - "Jan", - "Jens", - "Jeppe", - "Jesper", - "Johan", - "John", - "Jonas", - "Jonathan", - "Jørgen", - "Kaj", - "Karl-Emil", - "Karl-Johan", - "Karl", - "Kasper", - "Kevin", - "Kim", - "Kurt", - "Lars", - "Lasse", - "Leif", - "Leo", - "Linus", - "Lucas", - "Lukas", - "Mads", - "Magnus", - "Malthe", - "Mark", - "Martin", - "Mathias", - "Mathis", - "Max", - "Michael", - "Mikkel", - "Mohammad", - "Morten", - "Nicklas", - "Niels-Christian", - "Niels", - "Niklas", - "Noah", - "Ole", - "Oliver", - "Oscar", - "Otto", - "Patrick", - "Per", - "Peter", - "Philip", - "Poul", - "Rasmus", - "Robert", - "Samuel", - "Sebastian", - "Sigurd", - "Simon", - "Steen", - "Stefan", - "Stig", - "Sune", - "Svend", - "Søren", - "Theo", - "Thomas", - "Tim", - "Tobias", - "Troels", - "Uffe", - "Ulrik", - "Vagn", - "Valdemar", - "Victor", - "Viggo", - "Viktor", - "Vilhelm", - "Villy", - "Vincent", - "William"}; - -const std::array danishFemaleFirstNames = {"Agnes", - "Alberte", - "Alexandrea", - "Alice", - "Alma", - "Amanda", - "Anita", - "Anna", - "Anne", - "Annette", - "Astrid", - "Bente", - "Betina", - "Birgitte", - "Britt", - "Camilla", - "Caroline", - "Cecilie", - "Charlotte", - "Christina", - "Clara", - "Ditte-Marie", - "Dorit", - "Dorthe", - "Ea", - "Elisabeth", - "Elise", - "Ella", - "Ellen-Margrethe", - "Else", - "Emilie", - "Emma", - "Eva", - "Fatima", - "Freja", - "Frida", - "Gitte", - "Gry", - "Hanne", - "Hedvig", - "Helene", - "Helle", - "Hilda", - "Ida", - "Ingrid", - "Isabella", - "Janni", - "Jeanette", - "Jette", - "Johanne", - "Josefine", - "Julie", - "Karen", - "Karla", - "Kathrine", - "Katrine", - "Kirsten", - "Laila", - "Lene", - "Lillian", - "Line", - "Lis", - "Lisa", - "Lisbeth", - "Liv", - "Lone", - "Louise", - "Luna", - "Lykke", - "Maja", - "Malene", - "Maren", - "Maria", - "Marianne", - "Mathilde", - "Merete", - "Mette", - "Mia", - "Mille", - "Mona", - "Nadia", - "Nanna", - "Nicoline", - "Nina", - "Pia", - "Rebecca", - "Regitze", - "Rikke", - "Rosa-Maria", - "Ruth", - "Sabrina", - "Sandra", - "Sanne", - "Sara", - "Sarah", - "Signe", - "Silje", - "Simone", - "Sofie", - "Stine", - "Susanne", - "Therese", - "Tina", - "Tine", - "Trine", - "Vibeke", - "Viktoria", - "Yasmin", - "Zara"}; - -const std::array danishLastNames = { - "Abbas", "Abdi", "Andersen", "Andresen", "Bak", "Bang", "Bech", "Beckmann", - "Berg", "Bertelsen", "Bisgaard", "Bjerregaard", "Blom", "Bonde", "Brandt", "Brix", - "Bruun", "Buch", "Buhl", "Bundgaard", "Carlsen", "Christensen", "Christiansen", "Clausen", - "Dahl", "Dalgaard", "Dam", "Damm", "Davidsen", "Dupont", "Esbensen", "Fischer", - "Foged", "Frandsen", "Frederiksen", "Gade", "Garcia", "Gregersen", "Hald", "Hansen", - "Haugaard", "Hedegaard", "Henriksen", "Hermansen", "Hjort", "Hjorth", "Holm", "Iversen", - "Jakobsen", "Jensen", "Jeppesen", "Jespersen", "Johannessen", "Johannsen", "Johansen", "Juhl", - "Justesen", "Jørgensen", "Karlsen", "Khan", "Kjeldsen", "Kjær", "Klausen", "Knudsen", - "Kristensen", "Krogh", "Larsen", "Lauridsen", "Laursen", "Lorentzen", "Lund", "Madsen", - "Magnussen", "Marcussen", "Mortensen", "Munch", "Munk", "Møller", "Nguyen", "Nielsen", - "Nissen", "Nygaard", "Olsen", "Pallesen", "Pedersen", "Petersen", "Pham", "Poulsen", - "Rasmussen", "Ravn", "Richter", "Schmidt", "Schrøder", "Simonsen", "Skov", "Steffensen", - "Storm", "Svendsen", "Svensson", "Sørensen", "Thomsen", "Toft", "Vestergaard", "Villadsen", - "Vinther", "Winther"}; - -const std::array danishMalePrefixes{"hr."}; - -const std::array danishFemalePrefixes{"fr."}; - -const NameFormats danishNameFormats{{{"{firstName} {lastName}", 1}, {"{firstName} {lastName}", 1}}}; - -const PeopleNames danishPeopleNames{{danishMaleFirstNames, danishMalePrefixes, {}, {}}, - {danishFemaleFirstNames, danishLastNames, danishFemalePrefixes, {}}, - danishNameFormats}; - -// Dutch - -const std::array dutchMaleFirstNames = { - "Tymon", "Steven", "Semih", "Seff", "Sabir", "Nico", "Naoufal", "Nadir", - "Mirza", "Miguel", "Manoah", "Kenji", "Kenan", "Joseph", "Jordy", "Jeppe", - "Diego", "Coen", "Can", "Bentley", "Yasin", "Tomas", "Sjoerd", "Savi", - "Safouane", "Raphaël", "Mas", "Maes", "Louie", "Karam", "John", "Jelmer", - "Jayvano", "Hein", "Giel", "Emin", "Deen", "Badr", "Arda", "Umut", - "Teunis", "Silas", "Rayen", "Nikodem", "Mex", "Marius", "Kayden", "Jidde", - "Glenn", "Frederik", "Foss", "Finnley", "Ensar", "Duco", "Dies", "Brenn", - "Yousef", "Siep", "Rohan", "Osman", "Nox", "Natan", "Mathijs", "Marley", - "Jaxon", "Jairo", "Jaimy", "Eray", "Don", "Chase", "Bruno", "Brian", - "Anton", "Xander", "Senne", "Reza", "Oliwier", "Mitch", "Krijn", "Jorrit", - "Jimi", "Dominik", "Devin", "Tobin", "Stefan", "Jakob", "Igor", "Giovanni", - "Dylano", "Armin", "Adrian", "Youp", "Sebas", "Sander", "Robert", "Nils", - "Mozes", "Micah", "Menno", "Jaylano", "Ilias", "Freek", "Flip", "Dion", - "Christopher", "Ahmet", "Yassir", "Yannick", "Valentino", "Samuël", "Noam", "Mylan", - "Kenzo", "Jona", "Danilo", "Bowie", "Zain", "Wolf", "Thije", "Theo", - "Mylo", "Matz", "Lieuwe", "Joes", "Jacobus", "Idris", "Gideon", "Bruce", - "Abdullah", "Zef", "Viktor", "Seb", "Rover", "Raphael", "Kacper", "Josh", - "Jeremiah", "Deniz", "Aleksander", "Zev", "Yves", "Viggo", "Naoufel", "Matthew", - "Keano", "Jaylen", "Bo", "Bjorn", "Anouar", "Abraham", "Storm", "Martin", - "Manu", "Jefta", "Djayden", "Benyamin", "Benja", "Ahmad", "Nino", "Malik", - "Junayd", "Isa", "Finley", "Ayman", "Zeyd", "Yassine", "Sev", "Rico", - "Mels", "Maximilian", "Leendert", "Kick", "Enzo", "Sjors", "Silvan", "Peter", - "Otto", "Milano", "Marijn", "Javi", "Yahya", "Wes", "Toon", "Tommy", - "Loet", "Leonardo", "Len", "Kaan", "Dax", "Davy", "Adriaan", "Thiago", - "Mustafa", "Merijn", "Kerem", "Johan", "Isaiah", "Bryan", "Bastiaan", "Axel", - "Toby", "Thom", "Noan", "Marcus", "Ismail", "Davi", "Bodi", "Tieme", - "Ole", "Nout", "Musa", "Moussa", "Luciano", "Liyam", "Kyano", "Dorian", - "Bradley", "Wouter", "Siebe", "Ralph", "Quin", "Fender", "Arie", "Albert", - "Zion", "Wessel", "Rick", "Miles", "Mahir", "Mads", "Klaas", "Flynn", - "Dexx", "Anthony", "Tristan", "Mink", "Mehmet", "Maas", "Lyam", "Jorn", - "Joost", "Christian", "Alparslan", "Tyler", "Maher", "Jakub", "Alan", "William", - "Rafaël", "Jur", "Jimmy", "George", "Christiaan", "Brandon", "Ace", "Tibbe", - "Sebastian", "Lorenzo", "Bilal", "Teije", "Joe", "Michael", "Louay", "Lou", - "Levy", "Kevin", "Isaac", "Ilay", "Harvey", "Davey", "Younes", "Xem", - "Tycho", "Seppe", "Riv", "Marinus", "Maarten", "Ayoub", "Ahmed", "Tuur", - "Tijmen", "Kjeld", "Fynn", "Frenkie", "Dante", "Ayaz", "Abe", "Jackson", - "Bart", "Xavier", "Ted", "Sebastiaan", "Safouan", "Midas", "Gabriël", "Fos", - "Douwe", "Boet", "Berend", "Yassin", "Rowan", "Revi", "Maurits", "Marcel", - "Ivo", "Eli", "Shane", "Rein", "Muhammad", "Lennox", "Ivar", "Huub", - "Tijs", "Matthias", "Juda", "Dave", "Antoni", "Damin", "Colin", "Zakaria", - "Vincent", "Sverre", "Mik", "Lennon", "Donny", "Thijn", "Novan", "Mart", - "Bob", "Senna", "Olaf", "Mohammad", "Julan", "Riff", "Jaivey", "Collin", - "Nouri", "Noël", "Ferre", "Mert", "Boas", "Sten", "Gabriel", "Pelle", - "Mark", "Leo", "Rafael", "Oskar", "Naud", "Aras", "Sami", "Kasper", - "Jop", "Ethan", "Dirk", "Bodhi", "Eden", "Bobby", "Jordan", "Ivan", - "Vinz", "Twan", "Odin", "Manuel", "Jesper", "Scott", "Raff", "Luke", - "Brent", "Zayd", "Sil", "Miran", "Charlie", "Amin", "Valentijn", "Eymen", - "Jules", "Kees", "Jayce", "Matteo", "Chris", "Quinten", "Mateo", "Lux", - "Justin", "Joey", "Jay", "Ayden", "Laurens", "Luka", "Joah", "Gerrit", - "Evan", "Ben", "Jari", "Mika", "Kian", "Ian", "Ilyas", "Jort", - "Mike", "Maxim", "Ibrahim", "Vigo", "Victor", "Louis", "Jayson", "Florian", - "Youssef", "Vic", "Raf", "Filip", "Yusuf", "Timo", "Vik", "Micha", - "Matthijs", "Lasse", "Faas", "Riley", "Mace", "Daniel", "Jamie", "Fabian", - "Nick", "Muhammed", "Luc", "Imran", "Joël", "Niels", "Philip", "Milo", - "Lewis", "Wout", "Leon", "Joas", "Jasper", "Seth", "Omar", "Koen", - "Julius", "Beau", "Rens", "Mayson", "Kay", "Hamza", "Daley", "Robin", - "Nolan", "Cornelis", "Bas", "Lukas", "Jonathan", "Jonas", "Ali", "Ravi", - "Hendrik", "Sef", "Lex", "Thijmen", "Damian", "Arthur", "Aron", "Emir", - "Jonah", "Ömer", "Jelte", "Melle", "Jacob", "Alex", "Jim", "Elijah", - "Stef", "Kaj", "Johannes", "Jelle", "Joris", "Jip", "Aaron", "Loek", - "Logan", "Lev", "Dylan", "Simon", "Kyan", "Sep", "Moos", "Felix", - "Job", "Elias", "Ezra", "Oscar", "Casper", "Duuk", "Sepp", "Pieter", - "Rayan", "Aiden", "Joshua", "Dean", "Niek", "Lenn", "Tygo", "Jake", - "Stan", "Kai", "Roan", "Mick", "Mohammed", "Dani", "Nathan", "Oliver", - "Alexander", "Mohamed", "Hidde", "Samuel", "Zayn", "Amir", "Xavi", "Jurre", - "Boris", "Senn", "Jason", "Pepijn", "Quinn", "Pim", "Jace", "Jax", - "Tijn", "Tim", "Willem", "Jaxx", "Otis", "Fedde", "Tom", "Owen", - "Ryan", "Tobias", "Floris", "Abel", "Jayden", "Sven", "Morris", "Cas", - "Ties", "Daniël", "Joep", "Jan", "Jens", "Vince", "Dex", "Ruben", - "Olivier", "Guus", "Thijs", "Stijn", "Jack", "David", "Teun", "Hugo", - "Mats", "Gijs", "Lars", "Luca", "Siem", "Mason", "Julian", "Boaz", - "Benjamin", "Thomas", "Max", "Adam", "Jesse", "Mees", "Sam", "Noud", - "Bram", "Luuk", "Milan", "James", "Liam", "Finn", "Sem", "Levi", - "Lucas", "Daan", "Noah", -}; - -const std::array dutchFemaleFirstNames = { - "Yarah", "Vere", "Siënna", "Sanna", "Salomë", "Roxy", "Nela", "Myra", "Liene", - "Lia", "Kayleigh", "Kaylee", "Kato", "Florence", "Eefje", "Dieke", "Zeyneb", "Wende", - "Vienna", "Melisa", "Maaike", "Lova", "Lilian", "Juno", "Joanna", "Jesslyn", "Jaelynn", - "Gioia", "Claire", "Alma", "Aliya", "Alisa", "Zofia", "Vivian", "Nowi", "Noami", - "Milana", "Marlie", "Macy", "Maan", "Lorena", "Liselotte", "Lien", "Laure", "Laila", - "Kim", "Khadija", "Joya", "Jacoba", "Gigi", "Wilhelmina", "Vivienne", "Rose", "Rana", - "Milly", "Michelle", "Marrit", "Malou", "Jaimy", "Gaia", "Fayen", "Fabiënne", "Eveline", - "Daisy", "Babette", "Aaltje", "Scottie", "Nomi", "Mathilde", "Linne", "Laurie", "Kyara", - "Jalou", "Iva", "Inara", "Grace", "Emmy", "Elle", "Diana", "Céline", "Selena", - "Safiya", "Quinty", "Oliwia", "Nadine", "Meghan", "Marwa", "Jada", "Ines", "Fardau", - "Eliana", "Carmen", "Ayana", "Asya", "Annabel", "Amara", "Alexandra", "Rachel", "Melissa", - "Melina", "Luus", "Jayda", "Jacky", "Eleonora", "Asiya", "Annemijn", "Sare", "Ninthe", - "Nena", "Melody", "Kira", "Jasmine", "Imani", "Hira", "Elynn", "Dominique", "Ashley", - "Aleyna", "Pola", "Noë", "Lisanne", "Lilou", "Kiara", "Jette", "Jess", "Isabeau", - "Floortje", "Fiep", "Fieke", "Femm", "Famke", "Chelsey", "Amelie", "Vanessa", "Skye", - "Sienna", "Safa", "Lydia", "Esma", "Daantje", "Catharina", "Carlijn", "Asel", "Amaya", - "Amalia", "Ada", "Zahra", "Tirza", "Nikkie", "Mirre", "Mayra", "Lenne", "Jule", - "Jana", "Farah", "Defne", "Ariana", "Yenthe", "Renske", "Medina", "Liliana", "Kenza", - "Jazz", "Esra", "Emilie", "Dua", "Chloe", "Abby", "Selma", "Maren", "Jolijn", - "Febe", "Elodie", "Djenna", "Diede", "Cataleya", "Aliyah", "Aisha", "Teddy", "Nika", - "Myla", "Izzy", "Dewi", "Mirte", "Mikki", "Kensi", "Karlijn", "Jazzlynn", "Imke", - "Eleanor", "Wies", "Thirza", "Safae", "Meyra", "Lune", "Jazzlyn", "Faya", "Arya", - "Nadia", "Puk", "Oumayra", "Lois", "Josefien", "Vive", "Fayenne", "Celine", "Nynke", - "Loes", "Danique", "Aurora", "Angelina", "Alya", "Abigail", "Tara", "Quinn", "Meike", - "Maartje", "Jolien", "Selina", "Phileine", "Miley", "Lexie", "Florine", "Coco", "Britt", - "Alyssa", "Yasmine", "Sammie", "Nila", "Lucie", "Eef", "Bella", "Aylin", "Ziva", - "Neeltje", "Jesslynn", "Jente", "Jara", "Bobbie", "Yinthe", "Megan", "Freya", "Donna", - "Alice", "Milena", "Joëlle", "Jenna", "Evelien", "Nisa", "Lott", "Loa", "Daphne", - "Dani", "Maysa", "Hidaya", "Hayley", "Gwen", "Esther", "Elize", "Dana", "Maxime", - "Madelief", "Keet", "Jip", "Ize", "Noëlla", "Layla", "Hendrika", "Hafsa", "Giulia", - "Eliza", "Bowie", "Marly", "Linn", "Jane", "Filou", "Zuzanna", "Leyla", "Fatima", - "Evie", "Marley", "Kyra", "Hanne", "Jailey", "Ise", "Adriana", "Liza", "Doris", - "Dina", "Amina", "Mina", "Aaliyah", "Romee", "Pippa", "Juliette", "Alicia", "Merle", - "Lea", "Elina", "Sena", "Flore", "Riley", "Nour", "Lizz", "Jessie", "Cornelia", - "Beau", "Valerie", "Silke", "Valentina", "Loua", "Vieve", "Vesper", "Ruby", "Nienke", - "Jula", "Azra", "Myrthe", "Soof", "Juliëtte", "Lexi", "Davina", "Liya", "Yasmin", - "Esmée", "Amelia", "Niene", "Mette", "Ela", "Aimée", "Joy", "Ilse", "Zeynep", - "Yfke", "Elizabeth", "Mare", "Isra", "Helena", "Stella", "Jinthe", "Meryem", "Janna", - "Isabelle", "Maja", "Lieve", "Yuna", "Pien", "Faye", "Pleun", "Noortje", "Janne", - "Novi", "Ava", "Sterre", "Maeve", "Elisabeth", "Bibi", "Ayla", "Liyana", "Mae", - "Leah", "Marie", "Juna", "Lucy", "Josephine", "Victoria", "Indy", "Maryam", "Jaylinn", - "Zoey", "Rosie", "Mira", "Nore", "Jinte", "Zara", "Bente", "Senna", "Pip", - "Alina", "Féline", "Aya", "Anouk", "Amélie", "Lou", "Nine", "Jet", "Robin", - "Nikki", "June", "Fem", "Demi", "Mirthe", "Lana", "Noëlle", "Lise", "Lilly", - "Jackie", "Benthe", "Bobbi", "Fiene", "Elisa", "Maya", "Jade", "Emilia", "Elif", - "Romy", "Lot", "Jolie", "Guusje", "Mara", "Kate", "Marit", "Nola", "Louise", - "Lola", "Laura", "Iris", "Philou", "Tessa", "Inaya", "Elise", "Eline", "Sam", - "Evy", "Johanna", "Femke", "Charlie", "Livia", "Rosalie", "Suus", "Sanne", "Fay", - "Fenne", "Linde", "Isabel", "Puck", "Lize", "Rosa", "Amira", "Lily", "Naomi", - "Lizzy", "Liva", "Juul", "Jill", "Hanna", "Floor", "Amber", "Suze", "Veerle", - "Merel", "Anne", "Cato", "Charlotte", "Kiki", "Lena", "Ivy", "Feline", "Jasmijn", - "Liz", "Elena", "Maria", "Norah", "Lara", "Fien", "Isabella", "Luna", "Amy", - "Sophia", "Hailey", "Bo", "Vera", "Julie", "Lisa", "Esmee", "Noa", "Ella", - "Lina", "Mia", "Sofia", "Loïs", "Hannah", "Roos", "Emily", "Isa", "Fenna", - "Elin", "Fleur", "Lynn", "Sarah", "Nova", "Nina", "Maud", "Sofie", "Milou", - "Lauren", "Lotte", "Eva", "Noor", "Liv", "Yara", "Olivia", "Lieke", "Nora", - "Saar", "Evi", "Anna", "Sara", "Tess", "Julia", "Zoë", "Sophie", "Mila", - "Emma", -}; - -const std::array dutchLastNames = { - "Aalbers", - "Bakker", - "Bijl", - "Blom", - "Boer", - "Bos", - "Bosch", - "Bosman", - "Brouwer", - "Cornelissen", - "Corsten", - "de Boer", - "de Bruijn", - "de Bruyn", - "de Corte", - "de Graaf", - "de Groot", - "de Haan", - "de Jong", - "de Jonge", - "de Koning", - "de Lange", - "de Leeuw", - "de Nijs", - "de Ruiter", - "de Vos", - "de Vries", - "de Wit", - "Dekker", - "den Adel", - "Dijkstra", - "Driessen", - "Evers", - "Freriks", - "Gerritsen", - "Groen", - "Groothuizen", - "Hartman", - "Hazes", - "Hendriks", - "Hermans", - "Hofman", - "Huisman", - "Jacobs", - "Jansen", - "Janssen", - "Jonker", - "Klein", - "Kok", - "Koning", - "Kramer", - "Kuijpers", - "Kuiper", - "Kuypers", - "Lubbers", - "Maas", - "Martens", - "Meeuwis", - "Meijer", - "Meyer", - "Mol", - "Molenaar", - "Moors", - "Mulder", - "Nijland", - "Oosterhuis", - "Peeters", - "Poels", - "Post", - "Postma", - "Prinsen", - "Rietman", - "Ritsma", - "Sanders", - "Schipper", - "Scholten", - "Smeets", - "Terlouw", - "Timmermans", - "van Beek", - "van Dam", - "van de Berg", - "van de Brink", - "van de Meer", - "van de Pol", - "van de Veen", - "van de Velden", - "van de Ven", - "van de Wal", - "van den Berg", - "van den Bosch", - "van den Broek", - "van den Heuvel", - "van den Pol", - "van den Velde", - "van der Berg", - "van der Heijden", - "van der Heyden", - "van der Horst", - "van der Laan", - "van der Linden", - "van der Meer", - "van der Meulen", - "van der Pol", - "van der Velde", - "van der Velden", - "van der Ven", - "van der Wal", - "van Dijk", - "van Dongen", - "van Doorn", - "van Ginneken", - "van Iersel", - "van Leeuwen", - "van Loon", - "van Veen", - "van Vliet", - "van Wijk", - "Veenstra", - "Verbeek", - "Verhoeven", - "Vermeulen", - "Vink", - "Visser", - "Vos", - "Wagenaar", - "Willems", - "Willemsen", - "Wolters", - "Zijlstra", - "Zuiderveld", -}; - -const std::array dutchSuffixes{"Jr.", "Sr."}; - -const std::array dutchMalePrefixes{"Dhr.", "Bsc", "Msc", "Prof.", "Ir.", "Drs.", "Dr."}; - -const std::array dutchFemalePrefixes{"Mevr.", "Bsc", "Msc", "Prof.", "Ir.", "Drs.", "Dr."}; - -const NameFormats dutchNameFormats{{ - {"{firstName} {lastName}", 8}, - {"{prefix} {firstName} {lastName}", 1}, - {"{firstName} {lastName} {suffix}", 1}, -}}; - -const PeopleNames dutchPeopleNames{{dutchMaleFirstNames, dutchLastNames, dutchMalePrefixes, dutchSuffixes}, - {dutchFemaleFirstNames, dutchLastNames, dutchFemalePrefixes, dutchSuffixes}, - dutchNameFormats}; - -// England - -const std::array englishMaleFirstNames = { - "James", "John", "Robert", "Michael", "William", "David", "Richard", "Charles", - "Joseph", "Thomas", "Christopher", "Daniel", "Paul", "Mark", "Donald", "George", - "Kenneth", "Steven", "Edward", "Brian", "Ronald", "Anthony", "Kevin", "Jason", - "Matthew", "Gary", "Timothy", "Jose", "Larry", "Jeffrey", "Frank", "Scott", - "Eric", "Stephen", "Andrew", "Raymond", "Gregory", "Joshua", "Jerry", "Dennis", - "Walter", "Patrick", "Peter", "Harold", "Douglas", "Henry", "Carl", "Arthur", - "Ryan", "Roger", "Joe", "Juan", "Jack", "Albert", "Jonathan", "Justin", - "Terry", "Gerald", "Keith", "Samuel", "Willie", "Ralph", "Lawrence", "Nicholas", - "Roy", "Benjamin", "Bruce", "Brandon", "Adam", "Harry", "Fred", "Wayne", - "Billy", "Steve", "Louis", "Jeremy", "Aaron", "Randy", "Howard", "Eugene", - "Carlos", "Russell", "Bobby", "Victor", "Martin", "Ernest", "Phillip", "Todd", - "Jesse", "Craig", "Alan", "Shawn", "Clarence", "Sean", "Philip", "Chris", - "Johnny", "Earl", "Jimmy", "Antonio", "Danny", "Bryan", "Tony", "Luis", - "Mike", "Stanley", "Leonard", "Nathan", "Dale", "Manuel", "Rodney", "Curtis", - "Norman", "Allen", "Marvin", "Vincent", "Glenn", "Jeffery", "Travis", "Jeff", - "Chad", "Jacob", "Lee", "Melvin", "Alfred", "Kyle", "Francis", "Bradley", - "Jesus", "Herbert", "Frederick", "Ray", "Joel", "Edwin", "Don", "Eddie", - "Ricky", "Troy", "Randall", "Barry", "Alexander", "Bernard", "Mario", "Leroy", - "Francisco", "Marcus", "Micheal", "Theodore", "Clifford", "Miguel", "Oscar", "Jay", - "Jim", "Tom", "Calvin", "Alex", "Jon", "Ronnie", "Bill", "Lloyd", - "Tommy", "Leon", "Derek", "Warren", "Darrell", "Jerome", "Floyd", "Leo", - "Alvin", "Tim", "Wesley", "Gordon", "Dean", "Greg", "Jorge", "Dustin", - "Pedro", "Derrick", "Dan", "Lewis", "Zachary", "Corey", "Herman", "Maurice", - "Vernon", "Roberto", "Clyde", "Glen", "Hector", "Shane", "Ricardo", "Sam", - "Rick", "Lester", "Brent", "Ramon", "Charlie", "Tyler", "Gilbert", "Gene", - "Marc", "Reginald", "Ruben", "Brett", "Angel", "Nathaniel", "Rafael", "Leslie", - "Edgar", "Milton", "Raul", "Ben", "Chester", "Cecil", "Duane", "Franklin", - "Andre", "Elmer", "Brad", "Gabriel", "Ron", "Mitchell", "Roland", "Arnold", - "Harvey", "Jared", "Adrian", "Karl", "Cory", "Claude", "Erik", "Darryl", - "Jamie", "Neil", "Jessie", "Christian", "Javier", "Fernando", "Clinton", "Ted", - "Mathew", "Tyrone", "Darren", "Lonnie", "Lance", "Cody", "Julio", "Kelly", - "Kurt", "Allan", "Nelson", "Guy", "Clayton", "Hugh", "Max", "Dwayne", - "Dwight", "Armando", "Felix", "Jimmie", "Everett", "Jordan", "Ian", "Wallace", - "Ken", "Bob", "Jaime", "Casey", "Alfredo", "Alberto", "Dave", "Ivan", - "Johnnie", "Sidney", "Byron", "Julian", "Isaac", "Morris", "Clifton", "Willard", - "Daryl", "Ross", "Virgil", "Andy", "Marshall", "Salvador", "Perry", "Kirk", - "Sergio", "Marion", "Tracy", "Seth", "Kent", "Terrance", "Rene", "Eduardo", - "Terrence", "Enrique", "Freddie", "Wade", "Austin", "Stuart", "Fredrick", "Arturo", - "Alejandro", "Jackie", "Joey", "Nick", "Luther", "Wendell", "Jeremiah", "Evan", - "Julius", "Dana", "Donnie", "Otis", "Shannon", "Trevor", "Oliver", "Luke", - "Homer", "Gerard", "Doug", "Kenny", "Hubert", "Angelo", "Shaun", "Lyle", - "Matt", "Lynn", "Alfonso", "Orlando", "Rex", "Carlton", "Ernesto", "Cameron", - "Neal", "Pablo", "Lorenzo", "Omar", "Wilbur", "Blake", "Grant", "Horace", - "Roderick", "Kerry", "Abraham", "Willis", "Rickey", "Jean", "Ira", "Andres", - "Cesar", "Johnathan", "Malcolm", "Rudolph", "Damon", "Kelvin", "Rudy", "Preston", - "Alton", "Archie", "Marco", "Wm", "Pete", "Randolph", "Garry", "Geoffrey", - "Jonathon", "Felipe", "Bennie", "Gerardo", "Ed", "Dominic", "Robin", "Loren", - "Delbert", "Colin", "Guillermo", "Earnest", "Lucas", "Benny", "Noel", "Spencer", - "Rodolfo", "Myron", "Edmund", "Garrett", "Salvatore", "Cedric", "Lowell", "Gregg", - "Sherman", "Wilson", "Devin", "Sylvester", "Kim", "Roosevelt", "Israel", "Jermaine", - "Forrest", "Wilbert", "Leland", "Simon", "Guadalupe", "Clark", "Irving", "Carroll", - "Bryant", "Owen", "Rufus", "Woodrow", "Sammy", "Kristopher", "Mack", "Levi", - "Marcos", "Gustavo", "Jake", "Lionel", "Marty", "Taylor", "Ellis", "Dallas", - "Gilberto", "Clint", "Nicolas", "Laurence", "Ismael", "Orville", "Drew", "Jody", - "Ervin", "Dewey", "Al", "Wilfred", "Josh", "Hugo", "Ignacio", "Caleb", - "Tomas", "Sheldon", "Erick", "Frankie", "Stewart", "Doyle", "Darrel", "Rogelio", - "Terence", "Santiago", "Alonzo", "Elias", "Bert", "Elbert", "Ramiro", "Conrad", - "Pat", "Noah", "Grady", "Phil", "Cornelius", "Lamar", "Rolando", "Clay", - "Percy", "Dexter", "Bradford", "Merle", "Darin", "Amos", "Terrell", "Moses", - "Irvin", "Saul", "Roman", "Darnell", "Randal", "Tommie", "Timmy", "Darrin", - "Winston", "Brendan", "Toby", "Van", "Abel", "Dominick", "Boyd", "Courtney", - "Jan", "Emilio", "Elijah", "Cary", "Domingo", "Santos", "Aubrey", "Emmett", - "Marlon", "Emanuel", "Jerald", "Edmond", -}; - -const std::array englishFemaleFirstNames = { - "Mary", "Patricia", "Linda", "Barbara", "Elizabeth", "Jennifer", "Maria", "Susan", - "Margaret", "Dorothy", "Lisa", "Nancy", "Karen", "Betty", "Helen", "Sandra", - "Donna", "Carol", "Ruth", "Sharon", "Michelle", "Laura", "Sarah", "Kimberly", - "Deborah", "Jessica", "Shirley", "Cynthia", "Angela", "Melissa", "Brenda", "Amy", - "Anna", "Rebecca", "Virginia", "Kathleen", "Pamela", "Martha", "Debra", "Amanda", - "Stephanie", "Carolyn", "Christine", "Marie", "Janet", "Catherine", "Frances", "Ann", - "Joyce", "Diane", "Alice", "Julie", "Heather", "Teresa", "Doris", "Gloria", - "Evelyn", "Jean", "Cheryl", "Mildred", "Katherine", "Joan", "Ashley", "Judith", - "Rose", "Janice", "Kelly", "Nicole", "Judy", "Christina", "Kathy", "Theresa", - "Beverly", "Denise", "Tammy", "Irene", "Jane", "Lori", "Rachel", "Marilyn", - "Andrea", "Kathryn", "Louise", "Sara", "Anne", "Jacqueline", "Wanda", "Bonnie", - "Julia", "Ruby", "Lois", "Tina", "Phyllis", "Norma", "Paula", "Diana", - "Annie", "Lillian", "Emily", "Robin", "Peggy", "Crystal", "Gladys", "Rita", - "Dawn", "Connie", "Florence", "Tracy", "Edna", "Tiffany", "Carmen", "Rosa", - "Cindy", "Grace", "Wendy", "Victoria", "Edith", "Kim", "Sherry", "Sylvia", - "Josephine", "Thelma", "Shannon", "Sheila", "Ethel", "Ellen", "Elaine", "Marjorie", - "Carrie", "Charlotte", "Monica", "Esther", "Pauline", "Emma", "Juanita", "Anita", - "Rhonda", "Hazel", "Amber", "Eva", "Debbie", "April", "Leslie", "Clara", - "Lucille", "Jamie", "Joanne", "Eleanor", "Valerie", "Danielle", "Megan", "Alicia", - "Suzanne", "Michele", "Gail", "Bertha", "Darlene", "Veronica", "Jill", "Erin", - "Geraldine", "Lauren", "Cathy", "Joann", "Lorraine", "Lynn", "Sally", "Regina", - "Erica", "Beatrice", "Dolores", "Bernice", "Audrey", "Yvonne", "Annette", "June", - "Samantha", "Marion", "Dana", "Stacy", "Ana", "Renee", "Ida", "Vivian", - "Roberta", "Holly", "Brittany", "Melanie", "Loretta", "Yolanda", "Jeanette", "Laurie", - "Katie", "Kristen", "Vanessa", "Alma", "Sue", "Elsie", "Beth", "Jeanne", - "Vicki", "Carla", "Tara", "Rosemary", "Eileen", "Terri", "Gertrude", "Lucy", - "Tonya", "Ella", "Stacey", "Wilma", "Gina", "Kristin", "Jessie", "Natalie", - "Agnes", "Vera", "Willie", "Charlene", "Bessie", "Delores", "Melinda", "Pearl", - "Arlene", "Maureen", "Colleen", "Allison", "Tamara", "Joy", "Georgia", "Constance", - "Lillie", "Claudia", "Jackie", "Marcia", "Tanya", "Nellie", "Minnie", "Marlene", - "Heidi", "Glenda", "Lydia", "Viola", "Courtney", "Marian", "Stella", "Caroline", - "Dora", "Jo", "Vickie", "Mattie", "Terry", "Maxine", "Irma", "Mabel", - "Marsha", "Myrtle", "Lena", "Christy", "Deanna", "Patsy", "Hilda", "Gwendolyn", - "Jennie", "Nora", "Margie", "Nina", "Cassandra", "Leah", "Penny", "Kay", - "Priscilla", "Naomi", "Carole", "Brandy", "Olga", "Billie", "Dianne", "Tracey", - "Leona", "Jenny", "Felicia", "Sonia", "Miriam", "Velma", "Becky", "Bobbie", - "Violet", "Kristina", "Toni", "Misty", "Mae", "Shelly", "Daisy", "Ramona", - "Sherri", "Erika", "Katrina", "Claire", "Lindsey", "Lindsay", "Geneva", "Guadalupe", - "Belinda", "Margarita", "Sheryl", "Cora", "Faye", "Ada", "Natasha", "Sabrina", - "Isabel", "Marguerite", "Hattie", "Harriet", "Molly", "Cecilia", "Kristi", "Brandi", - "Blanche", "Sandy", "Rosie", "Joanna", "Iris", "Eunice", "Angie", "Inez", - "Lynda", "Madeline", "Amelia", "Alberta", "Genevieve", "Monique", "Jodi", "Janie", - "Maggie", "Kayla", "Sonya", "Jan", "Lee", "Kristine", "Candace", "Fannie", - "Maryann", "Opal", "Alison", "Yvette", "Melody", "Luz", "Susie", "Olivia", - "Flora", "Shelley", "Kristy", "Mamie", "Lula", "Lola", "Verna", "Beulah", - "Antoinette", "Candice", "Juana", "Jeannette", "Pam", "Kelli", "Hannah", "Whitney", - "Bridget", "Karla", "Celia", "Latoya", "Patty", "Shelia", "Gayle", "Della", - "Vicky", "Lynne", "Sheri", "Marianne", "Kara", "Jacquelyn", "Erma", "Blanca", - "Myra", "Leticia", "Pat", "Krista", "Roxanne", "Angelica", "Johnnie", "Robyn", - "Francis", "Adrienne", "Rosalie", "Alexandra", "Brooke", "Bethany", "Sadie", "Bernadette", - "Traci", "Jody", "Kendra", "Jasmine", "Nichole", "Rachael", "Chelsea", "Mable", - "Ernestine", "Muriel", "Marcella", "Elena", "Krystal", "Angelina", "Nadine", "Kari", - "Estelle", "Dianna", "Paulette", "Lora", "Mona", "Doreen", "Rosemarie", "Angel", - "Desiree", "Antonia", "Hope", "Ginger", "Janis", "Betsy", "Christie", "Freda", - "Mercedes", "Meredith", "Lynette", "Teri", "Cristina", "Eula", "Leigh", "Meghan", - "Sophia", "Eloise", "Rochelle", "Gretchen", "Cecelia", "Raquel", "Henrietta", "Alyssa", - "Jana", "Kelley", "Gwen", "Kerry", "Jenna", "Tricia", "Laverne", "Olive", - "Alexis", "Tasha", "Silvia", "Elvira", "Casey", "Delia", "Sophie", "Kate", - "Patti", "Lorena", "Kellie", "Sonja", "Lila", "Lana", "Darla", "May", - "Mindy", "Essie", "Mandy", "Lorene", "Elsa", "Josefina", "Jeannie", "Miranda", - "Dixie", "Lucia", "Marta", "Faith", "Lela", "Johanna", "Shari", "Camille", - "Tami", "Shawna", "Elisa", "Ebony", "Melba", "Ora", "Nettie", "Tabitha", - "Ollie", "Jaime", "Winifred", "Kristie", -}; - -const std::array englishLastNames = { - "Abbott", "Abernathy", "Abshire", "Adams", "Altenwerth", "Anderson", "Ankunding", - "Armstrong", "Auer", "Aufderhar", "Bahringer", "Bailey", "Balistreri", "Barrows", - "Bartell", "Bartoletti", "Barton", "Bashirian", "Batz", "Bauch", "Baumbach", - "Bayer", "Beahan", "Beatty", "Bechtelar", "Becker", "Bednar", "Beer", - "Beier", "Berge", "Bergnaum", "Bergstrom", "Bernhard", "Bernier", "Bins", - "Blanda", "Blick", "Block", "Bode", "Boehm", "Bogan", "Bogisich", - "Borer", "Bosco", "Botsford", "Boyer", "Boyle", "Bradtke", "Brakus", - "Braun", "Breitenberg", "Brekke", "Brown", "Bruen", "Buckridge", "Carroll", - "Carter", "Cartwright", "Casper", "Cassin", "Champlin", "Christiansen", "Cole", - "Collier", "Collins", "Conn", "Connelly", "Conroy", "Considine", "Corkery", - "Cormier", "Corwin", "Cremin", "Crist", "Crona", "Cronin", "Crooks", - "Cruickshank", "Cummerata", "Cummings", "Dach", "Daniel", "Dare", "Daugherty", - "Davis", "Deckow", "Denesik", "Dibbert", "Dickens", "Dicki", "Dickinson", - "Dietrich", "Donnelly", "Dooley", "Douglas", "Doyle", "DuBuque", "Durgan", - "Ebert", "Effertz", "Emard", "Emmerich", "Erdman", "Ernser", "Fadel", - "Fahey", "Farrell", "Fay", "Feeney", "Feest", "Feil", "Ferry", - "Fisher", "Flatley", "Frami", "Franecki", "Franey", "Friesen", "Fritsch", - "Funk", "Gerhold", "Gerlach", "Gibson", "Gislason", "Gleason", "Gleichner", - "Glover", "Goldner", "Goodwin", "Gorczany", "Gottlieb", "Goyette", "Grady", - "Graham", "Grant", "Green", "Greenfelder", "Greenholt", "Grimes", "Gulgowski", - "Gusikowski", "Gutkowski", "Gutmann", "Haag", "Hackett", "Hagenes", "Hahn", - "Haley", "Halvorson", "Hamill", "Hammes", "Hand", "Hane", "Hansen", - "Harber", "Harris", "Hartmann", "Harvey", "Hauck", "Hayes", "Heaney", - "Heathcote", "Hegmann", "Heidenreich", "Heller", "Herman", "Hermann", "Hermiston", - "Herzog", "Hessel", "Hettinger", "Hickle", "Hilll", "Hills", "Hilpert", - "Hintz", "Hirthe", "Hodkiewicz", "Hoeger", "Homenick", "Hoppe", "Howe", - "Howell", "Hudson", "Huel", "Huels", "Hyatt", "Jacobi", "Jacobs", - "Jacobson", "Jakubowski", "Jaskolski", "Jast", "Jenkins", "Jerde", "Johns", - "Johnson", "Johnston", "Jones", "Kassulke", "Kautzer", "Keebler", "Keeling", - "Kemmer", "Kerluke", "Kertzmann", "Kessler", "Kiehn", "Kihn", "Kilback", - "King", "Kirlin", "Klein", "Kling", "Klocko", "Koch", "Koelpin", - "Koepp", "Kohler", "Konopelski", "Koss", "Kovacek", "Kozey", "Krajcik", - "Kreiger", "Kris", "Kshlerin", "Kub", "Kuhic", "Kuhlman", "Kuhn", - "Kulas", "Kunde", "Kunze", "Kuphal", "Kutch", "Kuvalis", "Labadie", - "Lakin", "Lang", "Langosh", "Langworth", "Larkin", "Larson", "Leannon", - "Lebsack", "Ledner", "Leffler", "Legros", "Lehner", "Lemke", "Lesch", - "Leuschke", "Lind", "Lindgren", "Littel", "Little", "Lockman", "Lowe", - "Lubowitz", "Lueilwitz", "Luettgen", "Lynch", "Macejkovic", "MacGyver", "Maggio", - "Mann", "Mante", "Marks", "Marquardt", "Marvin", "Mayer", "Mayert", - "McClure", "McCullough", "McDermott", "McGlynn", "McKenzie", "McLaughlin", "Medhurst", - "Mertz", "Metz", "Miller", "Mills", "Mitchell", "Moen", "Mohr", - "Monahan", "Moore", "Morar", "Morissette", "Mosciski", "Mraz", "Mueller", - "Muller", "Murazik", "Murphy", "Murray", "Nader", "Nicolas", "Nienow", - "Nikolaus", "Nitzsche", "Nolan", "Olson", "Ondricka", "Orn", "Ortiz", - "Osinski", "Pacocha", "Padberg", "Pagac", "Parisian", "Parker", "Paucek", - "Pfeffer", "Pollich", "Pouros", "Powlowski", "Predovic", "Price", "Prohaska", - "Prosacco", "Purdy", "Quigley", "Quitzon", "Rath", "Ratke", "Rau", - "Raynor", "Reichel", "Reichert", "Reilly", "Reinger", "Rempel", "Renner", - "Reynolds", "Rice", "Rippin", "Ritchie", "Robel", "Roberts", "Rodriguez", - "Rogahn", "Rohan", "Rolfson", "Romaguera", "Roob", "Rosenbaum", "Rowe", - "Ruecker", "Runolfsdottir", "Runolfsson", "Runte", "Russel", "Rutherford", "Ryan", - "Sanford", "Satterfield", "Sauer", "Sawayn", "Schaden", "Schaefer", "Schamberger", - "Schiller", "Schimmel", "Schinner", "Schmeler", "Schmidt", "Schmitt", "Schneider", - "Schoen", "Schowalter", "Schroeder", "Schulist", "Schultz", "Schumm", "Schuppe", - "Schuster", "Senger", "Shanahan", "Shields", "Simonis", "Sipes", "Skiles", - "Smith", "Smitham", "Spencer", "Spinka", "Sporer", "Stamm", "Stanton", - "Stark", "Stehr", "Steuber", "Stiedemann", "Stokes", "Stoltenberg", "Stracke", - "Streich", "Stroman", "Strosin", "Swaniawski", "Swift", "Terry", "Thiel", - "Thompson", "Tillman", "Torp", "Torphy", "Towne", "Toy", "Trantow", - "Tremblay", "Treutel", "Tromp", "Turcotte", "Turner", "Ullrich", "Upton", - "Vandervort", "Veum", "Volkman", "Von", "VonRueden", "Waelchi", "Walker", - "Walsh", "Walter", "Ward", "Waters", "Watsica", "Weber", "Wehner", - "Weimann", "Weissnat", "Welch", "West", "White", "Wiegand", "Wilderman", - "Wilkinson", "Will", "Williamson", "Willms", "Windler", "Wintheiser", "Wisoky", - "Wisozk", "Witting", "Wiza", "Wolf", "Wolff", "Wuckert", "Wunsch", - "Wyman", "Yost", "Yundt", "Zboncak", "Zemlak", "Ziemann", "Zieme", - "Zulauf", -}; - -const std::array englishSuffixes{"Jr.", "Sr.", "I", "II", "III", "IV", - "V", "MD", "DDS", "PhD", "DVM"}; - -const std::array englishMalePrefixes{"Mr.", "Dr."}; - -const std::array englishFemalePrefixes{"Mrs.", "Ms.", "Miss", "Dr."}; - -const NameFormats englishNameFormats{{{"{firstName} {lastName}", 49}, - {"{prefix} {firstName} {lastName}", 7}, - {"{firstName} {lastName} {suffix}", 7}, - {"{prefix} {firstName} {lastName} {suffix}", 1}}}; - -const PeopleNames englishPeopleNames{ - {englishMaleFirstNames, englishLastNames, englishMalePrefixes, englishSuffixes}, - {englishFemaleFirstNames, englishLastNames, englishFemalePrefixes, englishSuffixes}, - englishNameFormats}; - -// Estonia - -const std::array estonianMaleFirstNames = { - "Aleksandr", "Andres", "Sergei", "Vladimir", "Andrei", "Igor", "Martin", "Marko", - "Ene", "Dmitri", "Aleksei", "Oleg", "Viktor", "Juri", "Roman", "Marek", - "Raul", "Malle", "Nikolai", "Heli", "Aleksander", "Alexander", "Sven", "Terje", - "Pavel", "Eduard", "Kai", "Sergey", "Anton", "Artur", "Vadim", "Maksim", - "Timo", "Ivar", "Allan", "Erik", "Karl", "Anatoli", "Vitali", "Ivo", - "Jan", "Silver", "Hannes", "Robert", "Andrey", "Konstantin", "Rainer", "Harri", - "Ivan", "Sander", "Stanislav", "Paul", "Oliver", "Mark", "Hans", "Peter", - "Lars", "Matti", "Alexey", "Gunnar", "Dmitry", "Deniss", "Ilja", "Leonid", - "Vladislav", "Kirill", "Mikhail", "Ruslan", "Andre", "Henri", "Gert", "Roland", - "Alex", "Ragnar", "Imre", "Vassili", "Arne", "Arno", "Boris", "Michael", - "Victor", "Daniel", "Rasmus", "David", "Valentin", "Mario", "Yury", "John", - "Joel", "Edgar", "Markus", "Harry", "Thomas", "Einar", "Leo", "Albert", - "Johannes", "Evgeny", "Per", "Hendrik", "Nikolay", "Ari", "Georg", "Anders", - "Egon", "Richard", "Alvar", "Georgi", "Henry", "Oleksandr", "Guido", "Arnold", - "Ervin", "Henrik", "Merlin", "Valter", "Raimond", "Karel", "Elmar", "Maxim", - "Aleksandrs", "Carl", "Kristian", "Fred", "Johan", "Nils", "Sergejs", "Kevin", - "Daniil", "Christian", "Anatoly", "Aleks", "Tom", "Magnus", "Oskar", "German", - "Andris", "Grigori", "Olav", "Tomas", "Andrew", "Marco", "Ilya", "Sami", - "Alan", "Andrejs", "Rudolf", "Stefan", "Marti", "Bruno", "Rolf", "Artem", - "Erich", "Vitaly", "Elmo", "Valeriy", "Vyacheslav", "Udo", "Volodymyr", "Steven", - "Heiko", "Gennady", "Ken", "Harald", "Jens", "Arkadi", "Ulf", "Mauri", - "Ralf", "Danel", "August", "Lennart", "Hugo", "James", "Otto", "Simo", - "Andi", "Aldo", "Jonas", "Ove", "Mikael", "Marius", "Aksel", "Mattias", - "Helmut", "Ali", "Roberto", "Timur", "Feliks", "Lasse", "Holger", "Stig", - "Lev", "Ronald", "Leif", "Vlad", "Helge", "Marin", "Vasily", "Dmytro", - "Roger", "Chris", "Klaus", "Kjell", "Igors", "Stepan", "Gustav", "Alexandre", - "Rune", "William", "Mihail", "Andrii", "Armin", "Juris", "Max", "Aleksey", - "Tony", "Vladimirs", "Alfred", "Eric", "Dmitrijs", "Edward", "Aleksejs", "Kris", - "Alexandr", "Edvin", "Gleb", "Simon", "Dmitriy", "Kenneth", "Jakob", "Mykola", - "Petr", "Patrick", "Artyom", "Gabriel", "Aliaksandr", "Olegs", "Ander", "Dimitri", - "Elvis", "Andro", "Viktors", "Siarhei", "Pauli", "Ole", "Niklas", "Stephen", - "Keith", "Arthur", "Mindaugas", "Olaf", "Bogdan", "Christopher", "Frank", "Yuriy", - "Sergii", "Mirko", "Remo", "Paolo", "Andriy", "Marcus", "Jurijs", "Matthias", - "Heinrich", "Ernst", "Marat", "Bert", "Egor", "Morten", "Niko", "Edvard", - "Fredrik", "Iurii", "Darius", "Georgy", "Viacheslav", "Antonio", "Evgeniy", "Filipp", - "Jon", "Andrius", "Eugen", "Jaroslav", "Edgars", "George", "Algis", "Kurt", - "Emil", "Niels", "Norman", "Ian", "Andry", "Tommy", "Rustam", "Pavlo", - "Valerii", "Evgeni", "Jurgen", "Sebastian", "Herbert", "Pierre", "Oleksii", "Marc", - "Samuel", "Adam", "Patrik", "Aron", "Hakan", "Serguei", "Petro", "Franz", - "Vasyl", "Sergej", "Benjamin", "Brian", "Joakim", "Vitalii", "Benno", "Carlos", - "Sergiy", "Vitaliy", "Jack", "Knut", "Rodion", "Enrico", "Grigory", "Herman", - "Philip", "Jose", "Tim", "Omar", "Armand", "Vilmar", "Rafael", "Adrian", - "Renat", "Anatolii", "Dzmitry", "Danil", "Eldar", "Gerhard", "Fedor", "Raoul", - "Sergo", "Anthony", "Jesper", "Matthew", "Francesco", "Gary", -}; - -const std::array estonianFemaleFirstNames = { - "Olga", "Irina", "Jelena", "Svetlana", "Tatjana", "Katrin", "Natalja", "Anna", - "Anne", "Marina", "Galina", "Maria", "Julia", "Anneli", "Valentina", "Marika", - "Karin", "Natalia", "Kristina", "Eve", "Helen", "Merle", "Margit", "Mati", - "Annika", "Jana", "Kaja", "Kristel", "Jekaterina", "Elena", "Mari", "Valeri", - "Diana", "Viktoria", "Krista", "Ingrid", "Lea", "Monika", "Larissa", "Oksana", - "Maris", "Evelin", "Maire", "Helle", "Inna", "Alla", "Inga", "Tamara", - "Signe", "Eva", "Rita", "Linda", "Aili", "Ilona", "Rene", "Tatiana", - "Laura", "Veronika", "Janne", "Kati", "Aleksandra", "Jane", "Aime", "Margarita", - "Helena", "Ruth", "Erika", "Eda", "Denis", "Elina", "Alina", "Heidi", - "Inge", "Kari", "Sigrid", "Anastassia", "Regina", "Agnes", "Maia", "Ester", - "Margo", "Birgit", "Mai", "Sandra", "Ellen", "Karina", "Ekaterina", "Leida", - "Marit", "Angela", "Nele", "Nadezda", "Asta", "Karmen", "Liudmila", "Marianne", - "Nina", "Andreas", "Mirjam", "Grete", "Kristin", "Silvia", "Egle", "Hanna", - "Lidia", "Mika", "Raissa", "Valeria", "Ksenia", "Astrid", "Tea", "Anastasia", - "Lilian", "Nikita", "Antonina", "Yulia", "Anni", "Zinaida", "Evelyn", "Nelli", - "Lilia", "Aimar", "Silva", "Ann", "Darja", "Vera", "Larisa", "Janis", - "Marianna", "Ludmilla", "Saima", "Ella", "Julija", "Andra", "Anita", "Leena", - "Irene", "Elen", "Petri", "Johanna", "Helga", "Margot", "Stella", "Marta", - "Kirsti", "Mariann", "Liana", "Nadezhda", "Vilma", "Arina", "Kaur", "Angelika", - "Marie", "Polina", "Elis", "Lia", "Monica", "Angelina", "Gerda", "Bo", - "Elvira", "Valery", "Yana", "Liubov", "Victoria", "Alice", "Dagmar", "Natalija", - "Rimma", "Olena", "Irena", "Marion", "Ulla", "Thea", "Maila", "Carmen", - "Irma", "Sofia", "Berit", "Ursula", "Kristine", "Oxana", "Kelly", "Lena", - "Tatyana", "Alena", "Viktorija", "Erna", "Dina", "Alexandra", "Natalya", "Leila", - "Karen", "Elsa", "Yuliya", "Katerina", "Iris", "Marja", "Agne", "Renee", - "Alisa", "Helene", "Alevtina", "Hilda", "Nataliya", "Kerstin", "Katja", "Marilin", - "Ira", "Doris", "Kim", "Viktoriya", "Tanja", "Lina", "Paula", "Edith", - "Katrina", "Zhanna", "Iryna", "Christina", "Dan", "Pia", "Eleonora", "Dima", - "Gea", "Elisabeth", "Marian", "Selma", "Andrea", "Ilse", "Ruta", "Albina", - "Sasha", "Ines", "Aina", "Evelina", "Marija", "Marleen", "Ada", "Susanna", - "Tetiana", "Katarina", "Liza", "Aira", "Natali", "Elin", "Inessa", "Lyudmila", - "Ethel", "Vivian", "Ludmila", "Anette", "Karolina", "Evgenia", "Karol", "Marili", - "Iuliia", "Kristen", "Juliana", "Reena", "Britta", "Lilli", "Mariana", "Anastasiya", - "Mariya", "Iveta", "Marita", "Elise", "Lydia", "Emma", "Alma", "Marlen", - "Violetta", "Lily", "Iren", "Raisa", "Nataliia", "Evgeniya", "Elizaveta", "Mia", - "Mary", "Naima", "Lee", "Renata", "Greta", "Daisy", "Varvara", "Raja", - "Yuri", "Iraida", "Ilze", "Robin", "Britt", "Renate", "Daria", "Anzelika", - "Kira", "Karine", "Tetyana", "Anya", "Dana", "Alyona", "Svitlana", "Nadja", - "Livia", "Ina", "Ana", "Katya", "Lisa", "Ksenija", "Janina", "Lada", - "Maryna", "Merlyn", "Lana", "Veronica", "Alissa", "Elga", "Dennis", "Sanna", - "Maren", "Brit", "Laila", "Enna", "Emilia", "Natasha", "Nika", "Inger", - "Olesya", "Rena", "Susanne", "Dasha", "Nora", "Kateryna", "Mae", "Dea", - "Heidy", "Larysa", "Anastasiia", "Joanna", "Anett", "Magda", "Natalie", "Nataly", - "Ida", "Faina", "Roza", "Milana", "Lili", "Amanda", -}; - -const std::array estonianLastNames = { - "Tamm", "Saar", "Sepp", "Kask", "Mägi", "Kukk", "Rebane", "Koppel", - "Karu", "Ilves", "Lepik", "Oja", "Ivanov", "Kuusk", "Kaasik", "Cuca", - "Luik", "Raudsepp", "Vaher", "Kallas", "Lepp", "Laur", "Pärn", "Kuusik", - "Kivi", "Ots", "Liiv", "Peterson", "Teder", "Mets", "Põder", "Kull", - "Kütt", "Puusepp", "Kangur", "Jakobson", "Rand", "Toom", "Saks", "Smirnov", - "Leppik", "Raud", "Mitt", "Sild", "Sarapuu", "Ivanova", "Mölder", "Roos", - "Tamme", "Allik", "Kõiv", "Paju", "Paas", "Laas", "Pukk", "Miller", - "Palm", "Tomson", "Uibo", "Põld", "Jürgenson", "Kalda", "Lill", "Männik", - "Nõmm", "Johanson", "Orav", "Unt", "Parts", "Lind", "Hunt", "Petrov", - "Arro", "Adamson", "Hein", "Lember", "Rätsep", "Järv", "Nurk", "Tali", - "Pihlak", "Kase", "Aavik", "Kruus", "Valk", "Hansen", "Järve", "Väli", - "Vares", "Aru", "Rohtla", "Kikas", "Sikk", "Mõttus", "Soosaar", "Kuznetsov", - "Vassiljev", "Kolk", "Must", "Sarv", "Martin", "Mänd", "Annus", "Kala", - "Tilk", "Luts", "Varik", "Tomingas", "Raid", "Smirnova", "Pavlov", "Kirsipuu", - "Laine", "Aas", "Anderson", "Lang", "Kaur", "Anton", "Post", "Aus", - "Abel", "Ojala", "Kokk", "Palu", "Schmidt", "Kuus", "Kink", "Gross", - "Popov", "Ott", "Martinson", "Rosenberg", "Roots", "Reimann", "Sokolov", "Allas", - "Toome", "Volkov", "Sander", "Kirs", "Lipp", "Põldma", "Taal", "Hanson", - "Kalmus", "Paal", "Petrova", "Link", "Berg", "Aun", "Simson", "Müürsepp", - "Eller", "Liivak", "Kurg", "Stepanov", "Laan", "Kass", "Trei", "Leis", - "Koit", "Morozov", "Susi", "Raja", "Lumi", "Meier", "Vain", "Lass", - "Kim", "Aasa", "Parve", "Mark", "Lauri", "Kozlov", "Sutt", "Soo", - "Erm", "Lebedev", "Saul", "Holm", "Kuznetsova", "Popova", "Poom", "Soots", - "Andersson", "Jürgens", "Kelder", "Kalm", "Eriksson", "Kont", "Kroon", "Kutsar", - "Pajula", "Kasak", "Salu", "Koger", "Nikitin", "Peets", "Siim", "Johansson", - "Ader", "Savi", "Novikov", "Alas", "Padar", "Muru", "Silm", "Suvi", - "Rosin", "Kuzmin", "Aleksandrov", "Markus", "Zaitsev", "Pihl", "Joost", "Meister", - "Pavlova", "Viik", "Karp", "Remmel", "Orlov", "Piho", "Braun", "Raidma", - "Maksimov", "Bergmann", "Kool", "Laks", "Romanov", "Li", "Filippov", "Antonov", - "Hendrikson", "Talvik", "Laos", "Kruuse", "Reinhold", "Virtanen", "Borissov", "Solovjov", - "Oks", "Malm", "Moor", "Trofimov", "Kovalenko", "Türk", "Tomberg", "Jensen", - "Noor", "Fjodorova", "Kapp", "Paap", "Treier", "Savolainen", "Bondarenko", "Kalle", - "Rist", "Ross", "Stepanova", "Larsson", "Smith", "Paulus", "Orlova", "Sillaots", - "Jaanus", "Vene", "Semjonova", "Vahi", "Pent", "Tisler", "Volkova", "Nilsson", - "Lee", "Roose", "Janson", "Makarov", "Lehtonen", "Kaup", "Lille", "Vill", - "Frolov", "Sisask", "Erik", "Raun", "Karlsson", "Belov", "Loo", "Vinogradov", - "Lehtinen", "Tasa", "Pajo", "Aava", "Klein", "Merila", "Alt", "Evert", - "Pool", "Lukas", "Lääts", "Mere", "Pill", "Vare", "Baranov", "Matt", - "Steinberg", "Reiman", "Bogdanov", "Pulk", "Grünberg", "Press", "Koch", "Soon", - "Mandel", "Jakovleva", "Andersen", "Aleksandrova", "Kaldma", "Sommer", "Vilu", "Mustonen", - "Melnikov", "Jaakson", "Korhonen", "Nieminen", "Borissova", "Rinne", "Makarova", "Otsa", - "Hurt", "Sorokin", "Valdmann", "Kanter", "Kipper", "Tint", "Hint", "Sein", - "Nael", "Bachmann", "Laar", "Suviste", "Raig", "Grigorjeva", "Sergejev", "Klaas", - "Nikitina", "Haas", "Lebedeva", "Margus", "Saag", "Kirt", -}; - -const NameFormats estonianNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames estonianPeopleNames{{estonianMaleFirstNames, estonianLastNames, {}, {}}, - {estonianFemaleFirstNames, estonianLastNames, {}, {}}, - estonianNameFormats}; - -// Finland - -const std::array finnishMaleFirstNames = { - "Leo", "Elias", "Eino", "Väinö", "Onni", "Leevi", "Niilo", "Oliver", "Eetu", - "Noel", "Eeli", "Veeti", "Mikael", "Joel", "Daniel", "Andreas", "Edvin", "Elia", - "Eliel", "Felix", "Niila", "Nikolas", "Oskar", "Oula", "Petja", "Petrus", "Rene", - "Teo", "Venni", "Viktor", "Aarre", "Aarni", "Ahti", "Aarne", "Kuura", "Kuutti", - "Oras", "Otso", "Pyry", "Tammi", "Terho", "Touko", "Ukko", "Vesa", "Visa", -}; - -const std::array finnishFemaleFirstNames = { - "Aino", "Eevi", "Emma", "Sofia", "Aada", "Ella", "Lilja", "Helmi", "Elli", "Enni", - "Venla", "Olivia", "Pihla", "Isla", "Adele", "Aida", "Bertta", "Cecilia", "Daniela", "Elle", - "Erin", "Fiona", "Iita", "Inna", "Jasmiina", "Lila", "Luna", "Malla", "Meea", "Minka", - "Minni", "Neela", "Selina", "Unna", "Aamu", "Aava", "Aura", "Heini", "Hilla", "Hilja", - "Ilma", "Ilta", "Iiris", "Jasmin", "Kaisla", "Kaneli", -}; - -const std::array finnishLastNames = { - "Mäkinen", "Virtanen", "Nieminen", "Korhonen", "Laine", "Koskinen", "Hämäläinen", "Lehtonen", - "Heikkinen", "Järvinen", "Lahtinen", "Mäkelä", "Huttunen", "Aalto", "Koivisto", "Salo", - "Kallio", "Rinne", "Lindholm", "Karjalainen", "Koskela", "Turunen", "Rantanen", "Laitinen", - "Jokinen", "Harju", "Vartiainen", "Hakala", "Kosonen", "Lampinen", "Rautio", "Peltola", - "Miettinen", "Savolainen", "Nurmi", "Niemelä", "Hakkarainen", "Laakso", "Kinnunen", "Mattila", - "Salmi", "Pekkanen", "Leinonen", "Ojala", "Kankaanpää", "Heikkilä", -}; - -const NameFormats finnishNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames finnishPeopleNames{{finnishMaleFirstNames, finnishLastNames, {}, {}}, - {finnishFemaleFirstNames, finnishLastNames, {}, {}}, - finnishNameFormats}; - -// France - -const std::array frenchMaleFirstNames = { - "Aaron", "Abdon", "Abel", "Abélard", "Abelin", "Abondance", "Abraham", "Absalon", - "Acace", "Achaire", "Achille", "Adalard", "Adalbald", "Adalbéron", "Adalbert", "Adalric", - "Adam", "Adegrin", "Adel", "Adelin", "Adelphe", "Adenet", "Adéodat", "Adhémar", - "Adjutor", "Adolphe", "Adonis", "Adrien", "Agapet", "Agathange", "Agathon", "Agilbert", - "Agnan", "Agrippin", "Aimable", "Aimé", "Alain", "Alban", "Albéric", "Albert", - "Alcibiade", "Alcide", "Alcime", "Aldonce", "Aldric", "Aleaume", "Alexandre", "Alexis", - "Alix", "Alliaume", "Almine", "Almire", "Aloïs", "Alphée", "Alphonse", "Alpinien", - "Alverède", "Amalric", "Amandin", "Amant", "Ambroise", "Amédée", "Amélien", "Amiel", - "Amour", "Anaël", "Anastase", "Anatole", "Ancelin", "Andéol", "Andoche", "André", - "Ange", "Angilbe", "Angilran", "Angoustan", "Anicet", "Anne", "Annibal", "Ansbert", - "Anselme", "Anthelme", "Antide", "Antoine", "Antonin", "Apollinaire", "Aquilin", "Arcade", - "Archambaud", "Archange", "Archibald", "Arian", "Ariel", "Ariste", "Aristide", "Armand", - "Armel", "Armin", "Arnould", "Arnaud", "Arolde", "Arsène", "Arsinoé", "Arthaud", - "Arthème", "Arthur", "Ascelin", "Athanase", "Aubry", "Audebert", "Audouin", "Audran", - "Auguste", "Aurèle", "Aurian", "Auxence", "Axel", "Aymard", "Aymeric", "Aymon", - "Balthazar", "Baptiste", "Barnabé", "Barthélemy", "Bartimée", "Basile", "Bastien", "Baudouin", - "Bénigne", "Benjamin", "Benoît", "Béranger", "Bérard", "Bernard", "Bertrand", "Blaise", - "Bohémond", "Bon", "Boniface", "Bouchard", "Briac", "Brice", "Brieuc", "Bruno", - "Calixte", "Camélien", "Camille", "Camillien", "Candide", "Caribert", "Carloman", "Cassandre", - "Cassien", "Cédric", "Céleste", "Célestin", "Célien", "Césaire", "César", "Charles", - "Charlemagne", "Childebert", "Chilpéric", "Chrétien", "Christian", "Christodule", "Christophe", "Chrysole", - "Chrysostome", "Clarence", "Claude", "Claudien", "Cléandre", "Clément", "Cléry", "Clotaire", - "Clovis", "Colin", "Côme", "Constance", "Constant", "Constantin", "Corentin", "Cyprien", - "Cyriaque", "Cyrille", "Damien", "Daniel", "David", "Delphin", "Denis", "Désiré", - "Didier", "Dieudonné", "Dimitri", "Dominique", "Dorian", "Edgard", "Edmond", "Édouard", - "Éleuthère", "Élie", "Élisée", "Élzéar", "Émeric", "Émile", "Emmanuel", "Enguerrand", - "Épiphane", "Éric", "Ernest", "Étienne", "Eubert", "Eudes", "Eudoxe", "Eugène", - "Eusèbe", "Eustache", "Évariste", "Évrard", "Fabien", "Fabrice", "Falba", "Fantin", - "Félicité", "Félix", "Ferdinand", "Fiacre", "Fidèle", "Firmin", "Flavien", "Flodoard", - "Florent", "Florestan", "Florian", "Fortuné", "Foulques", "Francisque", "François", "Frédéric", - "Fulbert", "Fulcran", "Fulgence", "Gabin", "Gabriel", "Gaël", "Garnier", "Gaston", - "Gaspar", "Gaspard", "Gatien", "Gaud", "Gautier", "Gédéon", "Geoffroy", "Georges", - "Géraud", "Gérard", "Gerbert", "Germain", "Gervais", "Ghislain", "Gilbert", "Gilles", - "Girart", "Gislebert", "Gondebaud", "Gonthier", "Gontran", "Gonzague", "Grégoire", "Guérin", - "Gui", "Guillaume", "Gustave", "Guy", "Guyot", "Hardouin", "Hector", "Hédelin", - "Hélier", "Henri", "Herbert", "Herluin", "Hervé", "Hilaire", "Hildebert", "Hincmar", - "Hippolyte", "Honoré", "Hubert", "Hugues", "Innocent", "Isabeau", "Isidore", "Jacques", - "Japhet", "Jason", "Jean", "Jeannel", "Jeannot", "Jérémie", "Jérôme", "Joachim", - "Joanny", "Job", "Jocelyn", "Joël", "Johan", "Jonas", "Jonathan", "Joseph", - "Josse", "Josselin", "Jourdain", "Jude", "Judicaël", "Jules", "Julien", "Juste", - "Justin", "Lambert", "Landry", "Laurent", "Lazare", "Léandre", "Léon", "Léonard", - "Léopold", "Leu", "Leufroy", "Libère", "Liétald", "Lionel", "Loïc", "Longin", - "Lorrain", "Lothaire", "Louis", "Loup", "Luc", "Lucas", "Lucien", "Ludolphe", - "Ludovic", "Macaire", "Malo", "Mamert", "Manassé", "Marc", "Marceau", "Marcel", - "Marcelin", "Marius", "Martial", "Martin", "Mathurin", "Matthias", "Matthieu", "Maugis", - "Maurice", "Maxence", "Maxime", "Maximilien", "Mayeul", "Médéric", "Melchior", "Mence", - "Merlin", "Mérovée", "Michaël", "Michel", "Moïse", "Morgan", "Nathan", "Nathanaël", - "Narcisse", "Naudet", "Néhémie", "Nestor", "Nicéphore", "Nicolas", "Noé", "Noël", - "Norbert", "Normand", "Octave", "Odilon", "Odon", "Oger", "Olivier", "Oury", - "Pacôme", "Palémon", "Parfait", "Pascal", "Paterne", "Patrice", "Paul", "Pépin", - "Perceval", "Philémon", "Philibert", "Philippe", "Philothée", "Pie", "Pierre", "Pierrick", - "Prosper", "Quentin", "Raoul", "Raphaël", "Raymond", "Régis", "Réjean", "Rémi", - "Renaud", "René", "Reybaud", "Richard", "Robert", "Roch", "Rodolphe", "Rodrigue", - "Roger", "Roland", "Romain", "Romuald", "Roméo", "Ronan", "Roselin", "Rachid", - "Salomon", "Samuel", "Sauveur", "Savin", "Savinien", "Scholastique", "Sébastien", "Séraphin", - "Serge", "Séverin", "Sidoine", "Sigebert", "Sigismond", "Silvère", "Simon", "Sixte", - "Stanislas", "Stéphane", "Sylvain", "Sylvestre", "Tancrède", "Tanguy", "Taurin", "Théodore", - "Théodose", "Théophile", "Théophraste", "Thibault", "Thibert", "Thierry", "Thomas", "Timoléon", - "Timothée", "Titien", "Tonnin", "Toussaint", "Trajan", "Tristan", "Turold", "Tim", - "Ulysse", "Urbain", "Valentin", "Valère", "Valéry", "Venance", "Venceslas", "Vianney", - "Victor", "Victorien", "Victorin", "Vigile", "Vincent", "Vital", "Vivien", "Waleran", - "Wandrille", "Xavier", "Xénophon", "Yves", "Yoann", "Zacharie", "Zaché", "Zéphirin", -}; - -const std::array frenchFemaleFirstNames = { - "Abdonie", "Abeline", "Abigaelle", "Abigaïl", "Acacie", "Acanthe", "Adalbaude", "Adalsinde", - "Adegrine", "Adélaïde", "Adèle", "Adélie", "Adeline", "Adeltrude", "Adolphie", "Adonise", - "Adrastée", "Adrehilde", "Adrienne", "Agathe", "Agilberte", "Aglaé", "Agnane", "Agneflète", - "Agnès", "Agrippine", "Aimée", "Alaine", "Alaïs", "Albane", "Albérade", "Alberte", - "Alcidie", "Alcine", "Alcyone", "Aldegonde", "Aleth", "Alexandrine", "Alexanne", "Alexine", - "Alice", "Aliénor", "Aliette", "Aline", "Alix", "Alizé", "Aloïse", "Aloyse", - "Alphonsine", "Althée", "Amaliane", "Amalthée", "Amande", "Amandine", "Amante", "Amarande", - "Amaranthe", "Amaryllis", "Ambre", "Ambroisie", "Améliane", "Amélie", "Ameline", "Améthyste", - "Aminte", "Anaëlle", "Anaïs", "Anastasie", "Anatolie", "Anceline", "Andrée", "Anémone", - "Angadrême", "Angèle", "Angeline", "Angélina", "Angélique", "Angilberte", "Anicée", "Anicette", - "Annabelle", "Anne", "Annette", "Annonciade", "Ansberte", "Anstrudie", "Anthelmette", "Antigone", - "Antoinette", "Antonine", "Aphélie", "Apolline", "Aquiline", "Arabelle", "Arcadie", "Archange", - "Argine", "Ariane", "Aricie", "Ariel", "Arielle", "Arlette", "Armance", "Armande", - "Armandine", "Armeline", "Armide", "Armelle", "Armine", "Arnaude", "Arsènie", "Arsinoé", - "Artémis", "Arthurine", "Asceline", "Ascension", "Assomption", "Astarté", "Astérie", "Astrée", - "Astride", "Athalie", "Athanasie", "Athénaïs", "Athina", "Aube", "Aubertine", "Aude", - "Audeline", "Audrey", "Augustine", "Aure", "Aurélie", "Aurélienne", "Aurelle", "Auriane", - "Aurore", "Auxane", "Aveline", "Avigaëlle", "Avoye", "Axeline", "Axelle", "Aymardine", - "Aymonde", "Azalée", "Azélie", "Azeline", "Barbe", "Basilisse", "Bathilde", "Béatrice", - "Bénédicte", "Bérangère", "Bernadette", "Berthe", "Bertille", "Betty", "Beuve", "Blanche", - "Blandine", "Brigitte", "Brunehaut", "Brunehilde", "Camille", "Capucine", "Carine", "Caroline", - "Cassandre", "Catherine", "Cécile", "Céleste", "Célestine", "Céline", "Chantal", "Charlaine", - "Charline", "Charlotte", "Chloé", "Christelle", "Christiane", "Christine", "Claire", "Clara", - "Claude", "Claudine", "Clarisse", "Clélie", "Clémence", "Clémentine", "Clio", "Clotilde", - "Coline", "Conception", "Constance", "Coralie", "Coraline", "Corentine", "Corinne", "Cyrielle", - "Danielle", "Daphné", "Débora", "Delphine", "Denise", "Diane", "Dieudonnée", "Dominique", - "Doriane", "Dorine", "Dorothée", "Douce", "Édith", "Edmée", "Éléonore", "Éliane", - "Élia", "Élisabeth", "Élise", "Ella", "Élodie", "Éloïse", "Elsa", "Émeline", - "Émérance", "Émérencie", "Émilie", "Emma", "Emmanuelle", "Emmelie", "Ernestine", "Esther", - "Estelle", "Eudoxie", "Eugénie", "Eulalie", "Euphrasie", "Eusébie", "Évangéline", "Eva", - "Ève", "Évelyne", "Fanny", "Fantine", "Faustine", "Félicie", "Frédérique", "Flavie", - "Fleur", "Flore", "Florence", "Florie", "Fortunée", "France", "Francette", "Francia", - "Françoise", "Francine", "Gabrielle", "Gaëlle", "Garance", "Geneviève", "Georgette", "Gerberge", - "Germaine", "Gertrude", "Gisèle", "Guenièvre", "Guilhemine", "Guillemette", "Gustavine", "Gwenaëlle", - "Hélène", "Héloïse", "Henriette", "Hermine", "Hippolyte", "Honorine", "Hortense", "Huguette", - "Inès", "Irène", "Irina", "Iris", "Isabeau", "Isabelle", "Iseult", "Ismérie", - "Jacinthe", "Jacqueline", "Jade", "Janine", "Jeanne", "Jeanne d’Arc", "Jehanne", "Jocelyne", - "Joëlle", "Joséphine", "Judith", "Julia", "Julie", "Juliette", "Justine", "Laura", - "Laurane", "Laure", "Laureline", "Laurence", "Laurène", "Lauriane", "Laurine", "Léa", - "Léna", "Léopoldine", "Léonie", "Léonne", "Lorraine", "Lucie", "Lucienne", "Lucille", - "Ludivine", "Lydie", "Mégane", "Madeleine", "Magali", "Maguelone", "Mahaut", "Mallaury", - "Manon", "Marceline", "Margot", "Marguerite", "Marianne", "Marie", "Marine", "Marion", - "Marlène", "Marthe", "Martine", "Mathilde", "Maud", "Maureen", "Mauricette", "Maxellende", - "Maxime", "Mélanie", "Mélissa", "Mélissandre", "Mélisande", "Mélodie", "Michèle", "Mireille", - "Miriam", "Moïsette", "Monique", "Morgane", "Muriel", "Mylène", "Nadège", "Nadine", - "Nathalie", "Nicole", "Nine", "Noëlle", "Noémie", "Océane", "Odette", "Odile", - "Olive", "Olympe", "Ombline", "Ophélie", "Oriande", "Oriane", "Orlane", "Ozanne", - "Pascale", "Paule", "Paulette", "Pauline", "Priscille", "Pécine", "Pélagie", "Pénélope", - "Perrine", "Pétronille", "Philippine", "Philomène", "Philothée", "Primerose", "Prudence", "Pulchérie", - "Quentine", "Quiéta", "Quintia", "Rachel", "Raphaëlle", "Raymonde", "Rebecca", "Régine", - "Reine", "Réjeanne", "Renée", "Rita", "Rolande", "Romane", "Rosalie", "Rose", - "Roseline", "Sabine", "Salomé", "Sandra", "Sandrine", "Sarah", "Scholastique", "Ségolène", - "Séverine", "Sibylle", "Simone", "Sixtine", "Solange", "Soline", "Sophie", "Stéphanie", - "Suzanne", "Suzon", "Sylviane", "Sylvie", "Swassane", "Tatiana", "Thaïs", "Théodora", - "Thérèse", "Tiphaine", "Ursule", "Valentine", "Valérie", "Véronique", "Victoire", "Vinciane", - "Violette", "Virginie", "Viviane", "Xavière", "Yolande", "Ysaline", "Yseult", "Yvette", - "Yvonne", "Zoé", "Zoéva", -}; - -const std::array frenchLastNames = { - "Martin", "Bernard", "Dubois", "Thomas", "Robert", "Richard", "Petit", "Durand", "Leroy", - "Moreau", "Simon", "Laurent", "Lefebvre", "Michel", "Garcia", "David", "Bertrand", "Roux", - "Vincent", "Fournier", "Morel", "Girard", "Andre", "Lefevre", "Mercier", "Dupont", "Lambert", - "Bonnet", "Francois", "Martinez", "Legrand", "Garnier", "Faure", "Rousseau", "Blanc", "Guerin", - "Muller", "Henry", "Roussel", "Nicolas", "Perrin", "Morin", "Mathieu", "Clement", "Gauthier", - "Dumont", "Lopez", "Fontaine", "Chevalier", "Robin", "Masson", "Sanchez", "Gerard", "Nguyen", - "Boyer", "Denis", "Lemaire", "Duval", "Joly", "Gautier", "Roger", "Roche", "Roy", - "Noel", "Meyer", "Lucas", "Meunier", "Jean", "Perez", "Marchand", "Dufour", "Blanchard", - "Marie", "Barbier", "Brun", "Dumas", "Brunet", "Schmitt", "Leroux", "Colin", "Fernandez", - "Pierre", "Renard", "Arnaud", "Rolland", "Caron", "Aubert", "Giraud", "Leclerc", "Vidal", - "Bourgeois", "Renaud", "Lemoine", "Picard", "Gaillard", "Philippe", "Leclercq", "Lacroix", "Fabre", - "Dupuis", "Olivier", "Rodriguez", "Da silva", "Hubert", "Louis", "Charles", "Guillot", "Riviere", - "Le gall", "Guillaume", "Adam", "Rey", "Moulin", "Gonzalez", "Berger", "Lecomte", "Menard", - "Fleury", "Deschamps", "Carpentier", "Julien", "Benoit", "Paris", "Maillard", "Marchal", "Aubry", - "Vasseur", "Le roux", "Renault", "Jacquet", "Collet", "Prevost", "Poirier", "Charpentier", "Royer", - "Huet", "Baron", "Dupuy", "Pons", "Paul", "Laine", "Carre", "Breton", "Remy", - "Schneider", "Perrot", "Guyot", "Barre", "Marty", "Cousin", -}; - -const std::array frenchMalePrefixes{"M", "Dr", "Prof"}; - -const std::array frenchFemalePrefixes{"Mme", "Mlle", "Dr", "Prof"}; - -const NameFormats frenchNameFormats{{{"{prefix} {firstName} {lastName}", 2}, {"{firstName} {lastName}", 8}}}; - -const PeopleNames frenchPeopleNames{{frenchMaleFirstNames, frenchLastNames, frenchMalePrefixes, {}}, - {frenchFemaleFirstNames, frenchLastNames, frenchFemalePrefixes, {}}, - frenchNameFormats}; - -// Germany - -const std::array germanMaleFirstNames = { - "Aaron", "Abdul", "Abdullah", "Adam", "Adrian", "Adriano", "Ahmad", "Ahmed", - "Ahmet", "Alan", "Albert", "Alessandro", "Alessio", "Alex", "Alexander", "Alfred", - "Ali", "Amar", "Amir", "Amon", "Andre", "Andreas", "Andrew", "Angelo", - "Ansgar", "Anthony", "Anton", "Antonio", "Arda", "Arian", "Armin", "Arne", - "Arno", "Arthur", "Artur", "Arved", "Arvid", "Ayman", "Baran", "Baris", - "Bastian", "Batuhan", "Bela", "Ben", "Benedikt", "Benjamin", "Bennet", "Bennett", - "Benno", "Bent", "Berat", "Berkay", "Bernd", "Bilal", "Bjarne", "Björn", - "Bo", "Boris", "Brandon", "Brian", "Bruno", "Bryan", "Burak", "Calvin", - "Can", "Carl", "Carlo", "Carlos", "Caspar", "Cedric", "Cedrik", "Cem", - "Charlie", "Chris", "Christian", "Christiano", "Christoph", "Christopher", "Claas", "Clemens", - "Colin", "Collin", "Conner", "Connor", "Constantin", "Corvin", "Curt", "Damian", - "Damien", "Daniel", "Danilo", "Danny", "Darian", "Dario", "Darius", "Darren", - "David", "Davide", "Davin", "Dean", "Deniz", "Dennis", "Denny", "Devin", - "Diego", "Dion", "Domenic", "Domenik", "Dominic", "Dominik", "Dorian", "Dustin", - "Dylan", "Ecrin", "Eddi", "Eddy", "Edgar", "Edwin", "Efe", "Ege", - "Elia", "Eliah", "Elias", "Elijah", "Emanuel", "Emil", "Emilian", "Emilio", - "Emir", "Emirhan", "Emre", "Enes", "Enno", "Enrico", "Eren", "Eric", - "Erik", "Etienne", "Fabian", "Fabien", "Fabio", "Fabrice", "Falk", "Felix", - "Ferdinand", "Fiete", "Filip", "Finlay", "Finley", "Finn", "Finnley", "Florian", - "Francesco", "Franz", "Frederic", "Frederick", "Frederik", "Friedrich", "Fritz", "Furkan", - "Fynn", "Gabriel", "Georg", "Gerrit", "Gian", "Gianluca", "Gino", "Giuliano", - "Giuseppe", "Gregor", "Gustav", "Hagen", "Hamza", "Hannes", "Hanno", "Hans", - "Hasan", "Hassan", "Hauke", "Hendrik", "Hennes", "Henning", "Henri", "Henrick", - "Henrik", "Henry", "Hugo", "Hussein", "Ian", "Ibrahim", "Ilias", "Ilja", - "Ilyas", "Immanuel", "Ismael", "Ismail", "Ivan", "Iven", "Jack", "Jacob", - "Jaden", "Jakob", "Jamal", "James", "Jamie", "Jan", "Janek", "Janis", - "Janne", "Jannek", "Jannes", "Jannik", "Jannis", "Jano", "Janosch", "Jared", - "Jari", "Jarne", "Jarno", "Jaron", "Jason", "Jasper", "Jay", "Jayden", - "Jayson", "Jean", "Jens", "Jeremias", "Jeremie", "Jeremy", "Jermaine", "Jerome", - "Jesper", "Jesse", "Jim", "Jimmy", "Joe", "Joel", "Joey", "Johann", - "Johannes", "John", "Johnny", "Jon", "Jona", "Jonah", "Jonas", "Jonathan", - "Jonte", "Joost", "Jordan", "Joris", "Joscha", "Joschua", "Josef", "Joseph", - "Josh", "Joshua", "Josua", "Juan", "Julian", "Julien", "Julius", "Juri", - "Justin", "Justus", "Kaan", "Kai", "Kalle", "Karim", "Karl", "Karlo", - "Kay", "Keanu", "Kenan", "Kenny", "Keno", "Kerem", "Kerim", "Kevin", - "Kian", "Kilian", "Kim", "Kimi", "Kjell", "Klaas", "Klemens", "Konrad", - "Konstantin", "Koray", "Korbinian", "Kurt", "Lars", "Lasse", "Laurence", "Laurens", - "Laurenz", "Laurin", "Lean", "Leander", "Leandro", "Leif", "Len", "Lenn", - "Lennard", "Lennart", "Lennert", "Lennie", "Lennox", "Lenny", "Leo", "Leon", - "Leonard", "Leonardo", "Leonhard", "Leonidas", "Leopold", "Leroy", "Levent", "Levi", - "Levin", "Lewin", "Lewis", "Liam", "Lian", "Lias", "Lino", "Linus", - "Lio", "Lion", "Lionel", "Logan", "Lorenz", "Lorenzo", "Loris", "Louis", - "Luan", "Luc", "Luca", "Lucas", "Lucian", "Lucien", "Ludwig", "Luis", - "Luiz", "Luk", "Luka", "Lukas", "Luke", "Lutz", "Maddox", "Mads", - "Magnus", "Maik", "Maksim", "Malik", "Malte", "Manuel", "Marc", "Marcel", - "Marco", "Marcus", "Marek", "Marian", "Mario", "Marius", "Mark", "Marko", - "Markus", "Marlo", "Marlon", "Marten", "Martin", "Marvin", "Marwin", "Mateo", - "Mathis", "Matis", "Mats", "Matteo", "Mattes", "Matthias", "Matthis", "Matti", - "Mattis", "Maurice", "Max", "Maxim", "Maximilian", "Mehmet", "Meik", "Melvin", - "Merlin", "Mert", "Michael", "Michel", "Mick", "Miguel", "Mika", "Mikail", - "Mike", "Milan", "Milo", "Mio", "Mirac", "Mirco", "Mirko", "Mohamed", - "Mohammad", "Mohammed", "Moritz", "Morten", "Muhammed", "Murat", "Mustafa", "Nathan", - "Nathanael", "Nelson", "Neo", "Nevio", "Nick", "Niclas", "Nico", "Nicolai", - "Nicolas", "Niels", "Nikita", "Niklas", "Niko", "Nikolai", "Nikolas", "Nils", - "Nino", "Noah", "Noel", "Norman", "Odin", "Oke", "Ole", "Oliver", - "Omar", "Onur", "Oscar", "Oskar", "Pascal", "Patrice", "Patrick", "Paul", - "Peer", "Pepe", "Peter", "Phil", "Philip", "Philipp", "Pierre", "Piet", - "Pit", "Pius", "Quentin", "Quirin", "Rafael", "Raik", "Ramon", "Raphael", - "Rasmus", "Raul", "Rayan", "René", "Ricardo", "Riccardo", "Richard", "Rick", - "Rico", "Robert", "Robin", "Rocco", "Roman", "Romeo", "Ron", "Ruben", - "Ryan", "Said", "Salih", "Sam", "Sami", "Sammy", "Samuel", "Sandro", - "Santino", "Sascha", "Sean", "Sebastian", "Selim", "Semih", "Shawn", "Silas", - "Simeon", "Simon", "Sinan", "Sky", "Stefan", "Steffen", "Stephan", "Steve", - "Steven", "Sven", "Sönke", "Sören", "Taha", "Tamino", "Tammo", "Tarik", - "Tayler", "Taylor", "Teo", "Theo", "Theodor", "Thies", "Thilo", "Thomas", - "Thorben", "Thore", "Thorge", "Tiago", "Til", "Till", "Tillmann", "Tim", - "Timm", "Timo", "Timon", "Timothy", "Tino", "Titus", "Tizian", "Tjark", - "Tobias", "Tom", "Tommy", "Toni", "Tony", "Torben", "Tore", "Tristan", - "Tyler", "Tyron", "Umut", "Valentin", "Valentino", "Veit", "Victor", "Viktor", - "Vin", "Vincent", "Vito", "Vitus", "Wilhelm", "Willi", "William", "Willy", - "Xaver", "Yannic", "Yannick", "Yannik", "Yannis", "Yasin", "Youssef", "Yunus", - "Yusuf", "Yven", "Yves", "Ömer"}; - -const std::array germanFemaleFirstNames = { - "Aaliyah", "Abby", "Abigail", "Ada", "Adelina", "Adriana", "Aileen", "Aimee", - "Alana", "Alea", "Alena", "Alessa", "Alessia", "Alexa", "Alexandra", "Alexia", - "Alexis", "Aleyna", "Alia", "Alica", "Alice", "Alicia", "Alina", "Alisa", - "Alisha", "Alissa", "Aliya", "Aliyah", "Allegra", "Alma", "Alyssa", "Amalia", - "Amanda", "Amelia", "Amelie", "Amina", "Amira", "Amy", "Ana", "Anabel", - "Anastasia", "Andrea", "Angela", "Angelina", "Angelique", "Anja", "Ann", "Anna", - "Annabel", "Annabell", "Annabelle", "Annalena", "Anne", "Anneke", "Annelie", "Annemarie", - "Anni", "Annie", "Annika", "Anny", "Anouk", "Antonia", "Arda", "Ariana", - "Ariane", "Arwen", "Ashley", "Asya", "Aurelia", "Aurora", "Ava", "Ayleen", - "Aylin", "Ayse", "Azra", "Betty", "Bianca", "Bianka", "Caitlin", "Cara", - "Carina", "Carla", "Carlotta", "Carmen", "Carolin", "Carolina", "Caroline", "Cassandra", - "Catharina", "Catrin", "Cecile", "Cecilia", "Celia", "Celina", "Celine", "Ceyda", - "Ceylin", "Chantal", "Charleen", "Charlotta", "Charlotte", "Chayenne", "Cheyenne", "Chiara", - "Christin", "Christina", "Cindy", "Claire", "Clara", "Clarissa", "Colleen", "Collien", - "Cora", "Corinna", "Cosima", "Dana", "Daniela", "Daria", "Darleen", "Defne", - "Delia", "Denise", "Diana", "Dilara", "Dina", "Dorothea", "Ecrin", "Eda", - "Eileen", "Ela", "Elaine", "Elanur", "Elea", "Elena", "Eleni", "Eleonora", - "Eliana", "Elif", "Elina", "Elisa", "Elisabeth", "Ella", "Ellen", "Elli", - "Elly", "Elsa", "Emelie", "Emely", "Emilia", "Emilie", "Emily", "Emma", - "Emmely", "Emmi", "Emmy", "Enie", "Enna", "Enya", "Esma", "Estelle", - "Esther", "Eva", "Evelin", "Evelina", "Eveline", "Evelyn", "Fabienne", "Fatima", - "Fatma", "Felicia", "Felicitas", "Felina", "Femke", "Fenja", "Fine", "Finia", - "Finja", "Finnja", "Fiona", "Flora", "Florentine", "Francesca", "Franka", "Franziska", - "Frederike", "Freya", "Frida", "Frieda", "Friederike", "Giada", "Gina", "Giulia", - "Giuliana", "Greta", "Hailey", "Hana", "Hanna", "Hannah", "Heidi", "Helen", - "Helena", "Helene", "Helin", "Henriette", "Henrike", "Hermine", "Ida", "Ilayda", - "Imke", "Ina", "Ines", "Inga", "Inka", "Irem", "Isa", "Isabel", - "Isabell", "Isabella", "Isabelle", "Ivonne", "Jacqueline", "Jamie", "Jamila", "Jana", - "Jane", "Janin", "Janina", "Janine", "Janna", "Janne", "Jara", "Jasmin", - "Jasmina", "Jasmine", "Jella", "Jenna", "Jennifer", "Jenny", "Jessica", "Jessy", - "Jette", "Jil", "Jill", "Joana", "Joanna", "Joelina", "Joeline", "Joelle", - "Johanna", "Joleen", "Jolie", "Jolien", "Jolin", "Jolina", "Joline", "Jona", - "Jonah", "Jonna", "Josefin", "Josefine", "Josephin", "Josephine", "Josie", "Josy", - "Joy", "Joyce", "Judith", "Judy", "Jule", "Julia", "Juliana", "Juliane", - "Julie", "Julienne", "Julika", "Julina", "Juna", "Justine", "Kaja", "Karina", - "Karla", "Karlotta", "Karolina", "Karoline", "Kassandra", "Katarina", "Katharina", "Kathrin", - "Katja", "Katrin", "Kaya", "Kayra", "Kiana", "Kiara", "Kim", "Kimberley", - "Kimberly", "Kira", "Klara", "Korinna", "Kristin", "Kyra", "Laila", "Lana", - "Lara", "Larissa", "Laura", "Laureen", "Lavinia", "Lea", "Leah", "Leana", - "Leandra", "Leann", "Lee", "Leila", "Lena", "Lene", "Leni", "Lenia", - "Lenja", "Lenya", "Leona", "Leoni", "Leonie", "Leonora", "Leticia", "Letizia", - "Levke", "Leyla", "Lia", "Liah", "Liana", "Lili", "Lilia", "Lilian", - "Liliana", "Lilith", "Lilli", "Lillian", "Lilly", "Lily", "Lina", "Linda", - "Lindsay", "Line", "Linn", "Linnea", "Lisa", "Lisann", "Lisanne", "Liv", - "Livia", "Liz", "Lola", "Loreen", "Lorena", "Lotta", "Lotte", "Louisa", - "Louise", "Luana", "Luca", "Lucia", "Lucie", "Lucienne", "Lucy", "Luisa", - "Luise", "Luka", "Luna", "Luzie", "Lya", "Lydia", "Lyn", "Lynn", - "Madeleine", "Madita", "Madleen", "Madlen", "Magdalena", "Maike", "Mailin", "Maira", - "Maja", "Malena", "Malia", "Malin", "Malina", "Mandy", "Mara", "Marah", - "Mareike", "Maren", "Maria", "Mariam", "Marie", "Marieke", "Mariella", "Marika", - "Marina", "Marisa", "Marissa", "Marit", "Marla", "Marleen", "Marlen", "Marlena", - "Marlene", "Marta", "Martha", "Mary", "Maryam", "Mathilda", "Mathilde", "Matilda", - "Maxi", "Maxima", "Maxine", "Maya", "Mayra", "Medina", "Medine", "Meike", - "Melanie", "Melek", "Melike", "Melina", "Melinda", "Melis", "Melisa", "Melissa", - "Merle", "Merve", "Meryem", "Mette", "Mia", "Michaela", "Michelle", "Mieke", - "Mila", "Milana", "Milena", "Milla", "Mina", "Mira", "Miray", "Miriam", - "Mirja", "Mona", "Monique", "Nadine", "Nadja", "Naemi", "Nancy", "Naomi", - "Natalia", "Natalie", "Nathalie", "Neele", "Nela", "Nele", "Nelli", "Nelly", - "Nia", "Nicole", "Nika", "Nike", "Nikita", "Nila", "Nina", "Nisa", - "Noemi", "Nora", "Olivia", "Patricia", "Patrizia", "Paula", "Paulina", "Pauline", - "Penelope", "Philine", "Phoebe", "Pia", "Rahel", "Rania", "Rebecca", "Rebekka", - "Riana", "Rieke", "Rike", "Romina", "Romy", "Ronja", "Rosa", "Rosalie", - "Ruby", "Sabrina", "Sahra", "Sally", "Salome", "Samantha", "Samia", "Samira", - "Sandra", "Sandy", "Sanja", "Saphira", "Sara", "Sarah", "Saskia", "Selin", - "Selina", "Selma", "Sena", "Sidney", "Sienna", "Silja", "Sina", "Sinja", - "Smilla", "Sofia", "Sofie", "Sonja", "Sophia", "Sophie", "Soraya", "Stefanie", - "Stella", "Stephanie", "Stina", "Sude", "Summer", "Susanne", "Svea", "Svenja", - "Sydney", "Tabea", "Talea", "Talia", "Tamara", "Tamia", "Tamina", "Tanja", - "Tara", "Tarja", "Teresa", "Tessa", "Thalea", "Thalia", "Thea", "Theresa", - "Tia", "Tina", "Tomke", "Tuana", "Valentina", "Valeria", "Valerie", "Vanessa", - "Vera", "Veronika", "Victoria", "Viktoria", "Viola", "Vivian", "Vivien", "Vivienne", - "Wibke", "Wiebke", "Xenia", "Yara", "Yaren", "Yasmin", "Ylvi", "Ylvie", - "Yvonne", "Zara", "Zehra", "Zeynep", "Zoe", "Zoey", "Zoé"}; - -const std::array germanLastNames = { - "Abel", - "Abicht", - "Abraham", - "Abramovic", - "Abt", - "Achilles", - "Achkinadze", - "Ackermann", - "Adam", - "Adams", - "Ade", - "Agostini", - "Ahlke", - "Ahrenberg", - "Ahrens", - "Aigner", - "Albert", - "Albrecht", - "Alexa", - "Alexander", - "Alizadeh", - "Allgeyer", - "Amann", - "Amberg", - "Anding", - "Anggreny", - "Apitz", - "Arendt", - "Arens", - "Arndt", - "Aryee", - "Aschenbroich", - "Assmus", - "Astafei", - "Auer", - "Axmann", - "Baarck", - "Bachmann", - "Badane", - "Bader", - "Baganz", - "Bahl", - "Bak", - "Balcer", - "Balck", - "Balkow", - "Balnuweit", - "Balzer", - "Banse", - "Barr", - "Bartels", - "Barth", - "Barylla", - "Baseda", - "Battke", - "Bauer", - "Bauermeister", - "Baumann", - "Baumeister", - "Bauschinger", - "Bauschke", - "Bayer", - "Beavogui", - "Beck", - "Beckel", - "Becker", - "Beckmann", - "Bedewitz", - "Beele", - "Beer", - "Beggerow", - "Beh", - "Behr", - "Behrenbruch", - "Belz", - "Bender", - "Benecke", - "Benner", - "Benninger", - "Benzing", - "Berends", - "Berger", - "Berner", - "Berning", - "Bertenbreiter", - "Best", - "Bethke", - "Betz", - "Beushausen", - "Beutelspacher", - "Beyer", - "Biba", - "Bichler", - "Bickel", - "Biedermann", - "Bieler", - "Bielert", - "Bienasch", - "Bienias", - "Biesenbach", - "Bigdeli", - "Birkemeyer", - "Bittner", - "Blank", - "Blaschek", - "Blassneck", - "Bloch", - "Blochwitz", - "Blockhaus", - "Blum", - "Blume", - "Bock", - "Bode", - "Bogdashin", - "Bogenrieder", - "Bohge", - "Bolm", - "Borgschulze", - "Bork", - "Bormann", - "Bornscheuer", - "Borrmann", - "Borsch", - "Boruschewski", - "Bos", - "Bosler", - "Bourrouag", - "Bouschen", - "Boxhammer", - "Boyde", - "Bozsik", - "Brand", - "Brandenburg", - "Brandis", - "Brandt", - "Brauer", - "Braun", - "Brehmer", - "Breitenstein", - "Bremer", - "Bremser", - "Brenner", - "Brettschneider", - "Breu", - "Breuer", - "Briesenick", - "Bringmann", - "Brinkmann", - "Brix", - "Broening", - "Brosch", - "Bruckmann", - "Bruder", - "Bruhns", - "Brunner", - "Bruns", - "Bräutigam", - "Brömme", - "Brüggmann", - "Buchholz", - "Buchrucker", - "Buder", - "Bultmann", - "Bunjes", - "Burger", - "Burghagen", - "Burkhard", - "Burkhardt", - "Burmeister", - "Busch", - "Buschbaum", - "Busemann", - "Buss", - "Busse", - "Bussmann", - "Byrd", - "Bäcker", - "Böhm", - "Bönisch", - "Börgeling", - "Börner", - "Böttner", - "Büchele", - "Bühler", - "Büker", - "Büngener", - "Bürger", - "Bürklein", - "Büscher", - "Büttner", - "Camara", - "Carlowitz", - "Carlsohn", - "Caspari", - "Caspers", - "Chapron", - "Christ", - "Cierpinski", - "Clarius", - "Cleem", - "Cleve", - "Co", - "Conrad", - "Cordes", - "Cornelsen", - "Cors", - "Cotthardt", - "Crews", - "Cronjäger", - "Crosskofp", - "Da", - "Dahm", - "Dahmen", - "Daimer", - "Damaske", - "Danneberg", - "Danner", - "Daub", - "Daubner", - "Daudrich", - "Dauer", - "Daum", - "Dauth", - "Dautzenberg", - "De", - "Decker", - "Deckert", - "Deerberg", - "Dehmel", - "Deja", - "Delonge", - "Demut", - "Dengler", - "Denner", - "Denzinger", - "Derr", - "Dertmann", - "Dethloff", - "Deuschle", - "Dieckmann", - "Diedrich", - "Diekmann", - "Dienel", - "Dies", - "Dietrich", - "Dietz", - "Dietzsch", - "Diezel", - "Dilla", - "Dingelstedt", - "Dippl", - "Dittmann", - "Dittmar", - "Dittmer", - "Dix", - "Dobbrunz", - "Dobler", - "Dohring", - "Dolch", - "Dold", - "Dombrowski", - "Donie", - "Doskoczynski", - "Dragu", - "Drechsler", - "Drees", - "Dreher", - "Dreier", - "Dreissigacker", - "Dressler", - "Drews", - "Duma", - "Dutkiewicz", - "Dyett", - "Dylus", - "Dächert", - "Döbel", - "Döring", - "Dörner", - "Dörre", - "Dück", - "Eberhard", - "Eberhardt", - "Ecker", - "Eckhardt", - "Edorh", - "Effler", - "Eggenmueller", - "Ehm", - "Ehmann", - "Ehrig", - "Eich", - "Eifert", - "Einert", - "Eisenlauer", - "Ekpo", - "Elbe", - "Eleyth", - "Elss", - "Emert", -}; - -const std::array germanMalePrefixes{"Herr", "Dr.", "Prof. Dr."}; - -const std::array germanFemalePrefixes{"Frau", "Dr.", "Prof. Dr."}; - -const NameFormats germanNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 8}}}; - -const PeopleNames germanPeopleNames{{germanMaleFirstNames, germanLastNames, germanMalePrefixes, {}}, - {germanFemaleFirstNames, germanLastNames, germanFemalePrefixes, {}}, - germanNameFormats}; - -// Ghana - -const std::array ghanaianMaleFirstNames = { - "Aaron", "Abeiku", "Adam", "Adrian", "Akwesi", "Albert", "Alex", - "Alexander", "Andrew", "Anthony", "Antony", "Arthur", "Ben", "Benjamin", - "Bernard", "Bless", "Blessing", "Bruce", "Carl", "Charles", "Christian", - "Clifford", "Colins", "Daniel", "Danny", "David", "Denis", "Dennis", - "Derrick", "Dominic", "Donald", "Douglas", "Duncan", "Edward", "Ekow", - "Elliot", "Elliott", "Eyram", "Eric", "Fiifi", "Francis", "Frank", - "Frederick", "George", "Gerald", "Gordon", "Graham", "Gregory", "Harry", - "Henry", "Howard", "Isaac", "Akwasi", "Jack", "Jacob", "Jake", - "James", "Jason", "Jeffrey", "Jeremy", "Joe", "Joel", "John", - "Jonathan", "Joojo", "Joseph", "Josh", "Joshua", "Josiah", "Julian", - "Justin", "Karl", "Kenneth", "Kevin", "Kofi", "Kojo", "Kujoe", - "Kwabena", "Kwadwo", "Kwaku", "Kwame", "Kwamena", "Kwasi", "Kweku", - "Kwesi", "Kyle", "Lawrence", "Leslie", "Louis", "Luke", "Malcolm", - "Marcus", "Mark", "Martin", "Mathew", "Matthew", "Max", "Michael", - "Nathan", "Nicholas", "Nigel", "Oliver", "Patrick", "Paul", "Peter", - "Philip", "Phillip", "Promise", "Raymond", "Richard", "Robert", "Roger", - "Ronald", "Russell", "Sam", "Samuel", "Shaun", "Simon", "Stanley", - "Stephen", "Steven", "Terence", "Thomas", "Timothy", "Thank God", "Thy Will Be Done", - "Tom", "Tony", "Victor", "Vincent", "William", "Yaw", -}; - -const std::array ghanaianFemaleFirstNames = { - "Aba", "Abena", "Abigail", "Adwoa", "Afia", "Afua", "Akos", "Akofa", "Akorfa", - "Akosua", "Akua", "Akumaa", "Alice", "Ama", "Amanda", "Amber", "Amelia", "Angela", - "Ann", "Annette", "Awesi", "Baaba", "Barbara", "Beatrice", "COmfort", "Caroline", "Catherine", - "Charlotte", "Christina", "Comfort", "Constance", "Danielle", "Deborah", "Debra", "Denise", "Dora", - "Dorcas", "Dorothy", "Eliabeth", "Elizabeth", "Emily", "Emma", "Ernestina", "Esi", "Eunice", - "Eyram", "Felicia", "Francesca", "Gemma", "Georgia", "Georgina", "Gifty", "Grace", "Hannabel", - "Hannah", "Harriet", "Helen", "Irene", "Janet", "Janice", "Jasmine", "Jennifer", "Jessica", - "Jill", "Joanna", "Josephine", "Joyce", "Judith", "Julia", "Juliana", "Julie", "Karen", - "Kate", "Katherine", "Katy", "Lawrencia", "Linda", "Lisa", "Lorraine", "Lucy", "Lydia", - "Mandy", "Margaret", "Maria", "Marian", "Marilyn", "Mary", "Maureen", "Mawuena", "Mawusi", - "Michelle", "Millicent", "Nana Ama", "Naomi", "Natalie", "Natasha", "Nicola", "Nimakoah", "Olivia", - "Pamela", "Patricia", "Paula", "Priscilla", "Rachael", "Rachel", "Rebecca", "Regina", "Rita", - "Roselyn", "Rosemary", "Ruth", "Salomey", "Samantha", "Sandra", "Sarah", "Sena", "Sharon", - "Sheila", "Shirley", "Stephanie", "Susan", "Sylvia", "Teresa", "Tina", "Tracy", "Vanessa", - "Veronica", "Victoria", "Vida", "Wendy", "Yaa", "Yvonne", -}; - -const std::array ghanaianLastNames = { - "Acheampong", "Adadevoh", "Adomah", "Adomako", "Adongo", "Adu", "Adusei", "Adutwum", "Afirifa", - "Afoakwa", "Agyapong", "Agyare", "Agyei", "Agyemang", "Ahortor", "Akoto", "Akowua", "Akyeamfuɔ", - "Akyeampong", "Akyena", "Akyerεko", "Amo", "Amoa", "Amoako", "Amoasi", "Ampadu", "Ampofo", - "Amponsah", "Andorful", "Ankra", "Anokye", "Ansa", "Antwi", "Appia", "Appiah", "Asamoa", - "Asamoah", "Asante", "Asare", "Asenso", "Asiama", "Asiedu", "Ata", "Awuah", "Baa", - "Baafi", "Baah", "Baawia", "Badu", "Boadi", "Boadu", "Boahen", "Boakye", "Boaten", - "Boateng", "Bona", "Bonsra", "Bonsu", "Daako", "Danso", "Darko", "Darteh", "Dartey", - "Djokoto", "Donkor", "Duah", "Dwamena", "Dzokoto", "Fofie", "Fosu", "Gyamfi", "Gyasi", - "Karikari", "Koomson", "Kumi", "Kusi", "Kwaakye", "Kwarteng", "Kyei", "Mensa", "Mensah", - "Nkansa", "Nkansah", "Nkrumah", "Nsia", "Nti", "Ntiamoa", "Ntim", "Nyaako", "Nyame", - "Nyantakyi", "Obeng", "Ofori", "Ofosu", "Okyere", "Okpattah", "Omani", "Opoku", "Oppong", - "Opuku", "Osei", "Oti", "Otiwa", "Otuo", "Owusu", "Prempeh", "Quartey", "Safo", - "Sarpong", "Takyi", "Tawia", "Tutu", "Tweneboa", "Twumasi", "Wiafe", "Yaamoa", "Yawson", - "Yeboa", "Yeboah", "Yirenkyi", -}; - -const NameFormats ghanaianNameFormats{{{"{firstName} {lastName}"}, 1}}; - -const PeopleNames ghanaianPeopleNames{{ghanaianMaleFirstNames, ghanaianLastNames, {}, {}}, - {ghanaianFemaleFirstNames, ghanaianLastNames, {}, {}}, - ghanaianNameFormats}; - -// Greece - -const std::array greekMaleFirstNames = { - "Georgios", "Dimitrios", "Ioannis", "Nikolaos", "Konstantin", "Christos", "Panagiotis", "Vasileios", - "Konstantinos", "Athanasios", "Michail", "Evangelos", "Antonios", "Emmanouil", "Theodoros", "Spyridon", - "Anastasios", "Ilias", "Charalampos", "Alexandros", "Stavros", "Apostolos", "Petros", "Stylianos", - "Sotirios", "Georg", "Thomas", "Ioan", "Eleftherios", "George", "Dimitris", "Nikos", - "Kostas", "Alex", "Markos", "Anton", "John", "Artemis", "Vasilis", "Iosif", - "Michael", "Ali", "Nick", "Chris", "Leon", "Yannis", "Adam", "David", - "Ilir", "Ivan", "Peter", "Alexander", "Vasil", "Luan", "Elias", "Viktor", - "Arben", "Theodore", "Nikolas", "Mohamed", "Dion", "Filip", "Anatoli", "Robert", - "Vladimir", "Napoleon", "Isaak", "Niko", "Nestor", "Georgi", "William", "Albert", - "Anastasio", "Constantin", "Paul", "Muhammad", "Nicholas", "Stefan", "Dritan", "Artur", - "Moustafa", "Haris", "Alexandro", "Ahmed", "Daniel", "Eduart", "Daniil", "Alfred", - "Gregory", "Myron", "Ion", "Edmond", "Kosta", "Aleksander", "Emmanuel", "Arjan", - "Martin", "Leonard", "Christof", "Dimitar", "Ismail", "Harry", "Andrew", "Nicolas", - "Dimitri", "Elton", "Adrian", "Angel", "Vasile", "Nikolay", "Roland", "Mohammad", - "Victor", "James", "Valentin", "Mario", "Florin", "Mark", "Petro", "Jim", - "Simon", "Andon", "Anthony", "Steven", "Sami", "Gheorghe", "Yordan", "Theo", - "Hristo", "Aleks", "Ervin", "Antonio", "Philip", "Emil", "Todor", "Gabriel", - "Asen", "Singh", "Aleksandar", "Marius", "Ibrahim", "Osman", "Igor", "Hans", - "Ionut", "Roman", "Alban", "Hasan", "Antony", "Petar", "Christian", "Mustafa", - "Angelo", "Richard", "Christopher", "Hussain", "Tom", "Jan", "Marin", "Florian", - "Stoyan", "Ahmad", "Aurel", "Sergey", "Atanas", "Andrei", "Maksim", "Joseph", - "Frank", "Renato", "Abdul", "Eduard", "Irfan", "Mihail", "Ismet", "Catalin", - "Jason", "Julian", "Giorgio", "Pavel", "Dumitru", "Ramadan", "Krasimir", "Iqbal", - "Tony", "Boris", "Naim", "Alexandru", "Arsen", "Teo", "Marko", "Stephen", - "Christophe", "Kevin", "Romeo", "Nicolae", "Miroslav", "Armand", "Mihai", "Georges", - "Cristian", "Oleg", "Patrick", "Michel", "Arif", "Mitko", "Amarildo", "Andrey", - "Armando", "Ananias", "Plamen", "Socrates", "Marco", "Filimon", "Adonis", "Enver", - "Edison", "Andi", "Imran", "Ian", "Fran", "Gianni", "Rumen", "Alan", - "Mikel", "Giorgi", "Anastas", "Armen", "Karl", "Stanislav", "Elvis", "Mahmoud", - "Roberto", "Theodor", "Solomon", "Mohammed", "Hassan", "Veselin", "Iliya", "Emin", - "Viorel", "Ilie", "Amir", "Simeon", "Greg", "Ionel", "Philippe", "Pal", - "Samir", "Bilal", "Zoran", "Irakli", "Klaus", "Isaia", "Zamir", "Ivaylo", - "Aleksandr", "Dragan", "Charles", "Louis", "Brian", "Sorin", "Apostol", "Kiril", - "Sam", "Eric", "Aleko", "Costel", "Bruno", "Valter", "Werner", "Tim", - "Basil", "Andre", "Tahir", "Vilson", "Adnan", "Fredi", "Ferdinand", "Vlad", - "Petru", "Paolo", "Marsel", "Giuseppe", "Ram", "Oleksandr", "Asif", "Artour", - "Abbas", "Raymond", "Nasir", "Bogdan", "Trifon", "Alberto", "Vasili", "Matthew", - "Edward", "Milan", "Sasa", "Iulian", "Goran", "Jimmy", "Roger", "Mohamad", - "Erik", "Volodymyr", "Alessandro", "Khalid", "Mehmet", "Michal", "Sinan", "Alin", - "Lucian", "Spiridon", "Sadik", "Francesco", "Stefano", "Dionis", "Omer", "Marc", - "Jonathan", "Omar", "Borislav", "Sasho", "Johannes", "Bernard", "Shaban", "Viktoras", - "Shahid", "Marcel", "Walter", "Felix", "Giovanni", "Paulin", "Kumar", "Pierre", - "Tariq", "Ramazan", "Ashraf", "Alain", "Nicky", "Mikhail", "Sampson", "Luigi", - "Lucas", "Frederik", "Petko", "Adel", "Alexey", "Faik", -}; - -const std::array greekFemaleFirstNames = { - "Maria", "Eleni", "Aikaterini", "Vasiliki", "Sofia", "Anastasia", "Georgia", "Evangelia", - "Anna", "Dimitra", "Ioanna", "Christina", "Andreas", "Alexandra", "Theodora", "Athina", - "Olga", "Evgenia", "Zoi", "Konstantina", "Marina", "Antonia", "Nikol", "Margarita", - "Varvara", "Leonidas", "Fani", "Amalia", "Nikoletta", "Katerina", "Stella", "Martha", - "Marianna", "Elena", "Olympia", "Ioulia", "Nikoleta", "Viktoria", "Aglaia", "Andriana", - "Pelagia", "Natalia", "Flora", "Virginia", "Marika", "Alexia", "Katina", "Stefania", - "Tatiana", "Valentina", "Violeta", "Andrea", "Iliana", "Mariana", "Angela", "Dorothea", - "Nina", "Violetta", "Vera", "Eleonora", "Lydia", "Mary", "Marilena", "Pavlina", - "Svetlana", "Louiza", "Aris", "Sali", "Marietta", "Irina", "Ilia", "Irene", - "Paris", "Daniela", "Kristina", "Melina", "Vicky", "Roza", "Mirela", "Sonia", - "Mariya", "Alexis", "Despina", "Helen", "Diana", "Sophia", "Ivanka", "Dora", - "Elina", "Christiana", "Elvira", "Eva", "Alma", "Mihaela", "Angelina", "Irena", - "Lina", "Elsa", "Lena", "Lida", "Michaela", "Mina", "Monika", "Lia", - "Rena", "Liana", "Barbara", "Isidora", "Marie", "Tamara", "Natasa", "Rita", - "Larisa", "Tina", "Joanna", "Sylvia", "Marian", "Christine", "Alina", "Rania", - "Xenia", "Natasha", "Miranda", "Cristina", "Fatme", "Liliana", "Galina", "Victoria", - "Olena", "Nikolina", "Adelina", "Elizabeth", "Nataliya", "Emine", "Silvana", "Magda", - "Gianna", "Jean", "Milena", "Irma", "Nana", "Tania", "Iryna", "Marinela", - "Eleana", "Tereza", "Sara", "Tanya", "Rozalia", "Eugenia", "Kali", "Kelly", - "Catherine", "Zoe", "Adriana", "Maia", "Polina", "Brunilda", "Svitlana", "Aneta", - "Eliza", "Yordanka", "Albana", "Laura", "Iordana", "Karolina", "Lou", "Gabriela", - "Tetyana", "Merita", "Katia", "Veronika", "Anne", "Esmeralda", "Iris", "Anita", - "Suzana", "Stanka", "Nadia", "Nikola", "Oksana", "Jenny", "Leonora", "Marieta", - "Julia", "Susan", "Pandora", "Ekaterina", "Karen", "Liza", "Alla", "Aleksandra", - "Sandra", "Petra", "Rafaela", "Penka", "Dorina", "Nancy", "Rositsa", "Lela", - "Nelli", "Silvia", "Vasilka", "Elisabeth", "Mariyana", "Hristina", "Donka", "Malvina", - "Radka", "Stela", "Mari", "Kassandra", "Patricia", "Mariam", "Dina", "Gina", - "Denis", "Linda", "Manana", "Magdalena", "Inna", "Emilia", "Renata", "Oxana", - "Tonia", "Leila", "Claudia", "Aida", "Mara", "Nicole", "Stefka", "Luiza", - "Thalia", "Yuliya", "Nino", "Neli", "Simona", "Matilda", "Antoneta", "Vanessa", - "Julie", "Marine", "Valia", "Sarah", "Lila", "Arian", "Minka", "Zamira", - "Gergana", "Penelope", "Nicoleta", "Dennis", "Vivian", "Nora", "Lali", "Evelina", - "Sophie", "Lili", "Katya", "Sarra", "Ioana", "Rumyana", "Silviya", "Isa", - "Martina", "Desislava", "Carol", "Ileana", "Zlatka", "Galya", "Athena", "Ina", - "Paola", "Teodora", "Nadezhda", "Zina", "Jane", "Florina", "Ilona", "Ionela", - "Lilia", "Karin", "Elisabeta", "Ann", "Iva", "Margaret", "Tamar", "Mzia", - "Pamela", "Liudmila", "Aurora", "Lidia", "Anka", "Emiliya", "Helena", "Klara", - "Angelika", "Khatuna", "Viorica", "Todorka", "Rodica", "Ivana", "Dimitrinka", "Albena", - "Maya", "Veneta", "Krasimira", "Mariyka", "Monica", "Jennifer", "Tatyana", "Daphne", - "Emma", "Melania", "Aneliya", "Katherine", "Carmen", "Anisa", "Constantina", "Asteria", - "Stoyanka", "Antoaneta", "Valeria", "Diamantina", "Karine", "Andreea", "Manuela", "Atanaska", - "Annie", "Ani", "Petrina", "Viktoriya", "Lilian", "Ornela", "Svetla", "Peggy", - "Flori", "Fay", "Erika", "Tatjana", "Kate", "Inga", "Karina", "Marta", - "Raisa", "Natalya", "Ramona", "Milka", "Larysa", "Rina", -}; - -const std::array greekLastNames = { - "Papadopoulos", - "Papadopoulou", - "Papageorgiou", - "Oikonomou", - "Papadimitriou", - "Georgiou", - "Papaioannou", - "Pappas", - "Vasileiou", - "Nikolaou", - "Karagiannis", - "Vlachos", - "Antoniou", - "Makris", - "Papanikolaou", - "Dimitriou", - "Ioannidis", - "Georgiadis", - "Triantafyllou", - "Papadakis", - "Athanasiou", - "Konstantinidis", - "Ioannou", - "Alexiou", - "Christodoulou", - "Theodorou", - "Giannopoulos", - "Nikolaidis", - "Konstantinou", - "Michailidis", - "Panagiotopoulos", - "Papakonstantinou", - "Papathanasiou", - "Antonopoulos", - "Dimopoulos", - "Karagianni", - "Anastasiou", - "Dimitriadis", - "Pappa", - "Vlachou", - "Vasileiadis", - "Giannakopoulos", - "Angelopoulos", - "Dimou", - "Ioannidou", - "Nikolopoulos", - "Mylonas", - "Stergiou", - "Apostolou", - "Petropoulos", - "Lamprou", - "Papadaki", - "Christou", - "Panagiotou", - "Anagnostou", - "Makri", - "Konstantinidou", - "Samaras", - "Raptis", - "Athanasopoulos", - "Alexopoulos", - "Christopoulos", - "Stavropoulos", - "Anagnostopoulos", - "Markou", - "Georgiadou", - "Spanos", - "Sidiropoulos", - "Antoniadis", - "Panagopoulos", - "Efthymiou", - "Spyropoulos", - "Theodoropoulos", - "Pavlidis", - "Athanasiadis", - "Apostolopoulos", - "Petrou", - "Michalopoulos", - "Arvanitis", - "Lazaridis", - "Kontos", - "Georgopoulos", - "Panagiotidis", - "Theodoridis", - "Chatzis", - "Anastasiadis", - "Papavasileiou", - "Papazoglou", - "Vasilopoulos", - "Iliopoulos", - "Kostopoulos", - "Politis", - "Galanis", - "Stavrou", - "Paraskevopoulos", - "Apostolidis", - "Giannopoulou", - "Diamantis", - "Pantazis", - "Andreou", - "Petridis", - "Stathopoulos", - "Nikolaidou", - "Michailidou", - "Dimopoulou", - "Mavridis", - "Kyriakou", - "Grigoriadis", - "Efstathiou", - "Sideris", - "Kyriakidis", - "Diamantopoulos", - "Panagiotopoulou", - "Anastasopoulos", - "Savvidis", - "Georgakopoulos", - "Dimitropoulos", - "Vasilakis", - "Rizos", - "Argyropoulos", - "Moraitis", - "Sotiropoulos", - "Charalampidis", - "Iliadis", - "Antonopoulou", - "Sotiriou", - "Lampropoulos", - "Chatzigeorgiou", - "Angelis", - "Nikolopoulou", - "Giannakopoulou", - "Kollias", - "Margaritis", - "Vasileiadou", - "Katsaros", - "Chatzi", - "Sarris", - "Roussos", - "Evangelou", - "Fotiadis", - "Stefanidis", - "Mylona", - "Gkikas", - "Angelopoulou", - "Eleftheriadis", - "Kontogiannis", - "Dimitriadou", - "Samara", - "Spyrou", - "Stavropoulou", - "Petropoulou", - "Symeonidis", - "Kalogeropoulos", - "Konstantopoulos", - "Filippou", - "Kyriakopoulos", - "Vogiatzis", - "Athanasopoulou", - "Eleftheriou", - "Fotopoulos", - "Voulgaris", - "Christopoulou", - "Chatzopoulos", - "Spyropoulou", - "Argyriou", - "Georgopoulou", - "Triantafyllidis", - "Sakellariou", - "Avramidis", - "Kanellopoulos", - "Athanasiadou", - "Spanou", - "Sidiropoulou", - "Kyriazis", - "Papachristou", - "Petrakis", - "Daskalakis", - "Stefanou", - "Anagnostopoulou", - "Kritikos", - "Pavlou", - "Kechagias", - "Rigas", - "Arampatzis", - "Kostopoulou", - "Zervas", - "Lazaridou", - "Alexopoulou", - "Theodoridou", - "Stamatiou", - "Asimakopoulos", - "Tsakiris", - "Apostolopoulou", - "Theodosiou", - "Mitropoulos", - "Paraskevopoulou", - "Panagopoulou", - "Panou", - "Karalis", - "Pavlidou", - "Karras", - "Dimitrakopoulos", - "Ali", - "Papanastasiou", - "Michail", - "Adamopoulos", - "Michalopoulou", - "Rapti", - "Deligiannis", - "Papatheodorou", - "Vasilopoulou", - "Iliopoulou", - "Panagiotidou", - "Markopoulos", - "Antoniadou", - "Singh", - "Kefalas", - "Papagiannis", - "Kontou", - "Zisis", - "Stamatopoulos", - "Grigoriou", - "Theocharis", - "Stamou", - "Nikou", - "Kolovos", - "Xanthopoulos", - "Theodoropoulou", - "Giannoulis", - "Angelidis", - "Kyritsis", - "Diamanti", - "Apostolidou", - "Doukas", - "Paschalidis", - "Floros", - "Fragkos", - "Mavridou", - "Paraskevas", - "Sideri", - "Roussou", - "Roumeliotis", - "Tsoukalas", - "Galani", - "Drosos", - "Lampropoulou", - "Loukas", - "Kosmidis", - "Alexandris", - "Pantazi", - "Charalampidou", - "Kalyvas", - "Sarri", - "Papakostas", - "Argyropoulou", - "Kyriakidou", - "Anastasiadou", - "Kokkinos", - "Stathopoulou", - "Anastasopoulou", - "Stamoulis", - "Arvaniti", - "Sotiropoulou", - "Stamatis", - "Ziogas", - "Mouratidis", - "Lazarou", - "Moustakas", - "Diamantopoulou", - "Vasilaki", - "Dimos", - "Papoutsis", - "Fragkou", - "Chalkias", - "Zafeiropoulos", - "Manolis", - "Kyriakopoulou", - "Georgakopoulou", - "Lekkas", - "Andreadis", - "Chronopoulos", - "Papantoniou", - "Polyzos", - "Savvidou", - "Petridou", - "Liapis", - "Papandreou", - "Emmanouil", - "Marinos", - "Bouras", - "Emmanouilidis", - "Angeli", - "Goulas", - "Tzimas", - "Zacharopoulos", - "Nikolakopoulos", - "Kalantzis", - "Kollia", - "Nikas", - "Drakopoulos", - "Michos", - "Vlachopoulos", - "Tsekouras", - "Daskalaki", - "Charalampous", - "Apostolakis", - "Kalaitzis", - "Kalogirou", - "Nakos", - "Aslanidis", - "Fotopoulou", - "Stamatakis", - "Koulouris", - "Liakos", - "Konstantopoulou", - "Dimitrakopoulou", - "Chatzopoulou", - "Kosmas", - "Eleftheriadou", - "Grivas", - "Oikonomidis", - "Grigoriadou", - "Karakostas", - "Psarras", - "Angelou", - "Tsolakis", - "Moschos", - "Giannakis", - "Giannakos", - "Chatzidimitriou", - "Iosifidis", - "Papamichail", - "Kanellopoulou", - "Dimas", - "Zografos", - "Kalogeropoulou", - "Chatzinikolaou", - "Voulgari", - "Markakis", - "Karagiannidis", - "Stamos", - "Zafeiris", - "Zachos", - "Gkika", - "Chatziioannou", - "Symeonidou", - "Stefanidou", - "Triantafyllidou", - "Kritikou", - "Stavridis", -}; - -const NameFormats greekNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames greekPeopleNames{ - {greekMaleFirstNames, greekLastNames, {}, {}}, {greekFemaleFirstNames, greekLastNames, {}, {}}, greekNameFormats}; - -// Hungary - -const std::array hungarianMaleFirstNames = { - "Bence", "Máté", "Dominik", "Levente", "Noel", "Dániel", "Zalán", "Marcell", "Olivér", - "Ádám", "Milán", "Dávid", "Botond", "Benett", "Áron", "Zsombor", "Balázs", "Márk", - "Péter", "Kristóf", "Zétény", "Nimród", "László", "Benedek", "Tamás", "Gergő", "Patrik", - "Zente", "Bálint", "András", "Zoltán", "Attila", "Barnabás", "Márton", "Hunor", "Kornél", - "Martin", "Ákos", "Gábor", "Alex", "István", "Vince", "Ábel", "Krisztián", "Zsolt", - "János", "Nolen", "Erik", "Bendegúz", "Sándor", "József", "Nándor", "Richárd", "Benjámin", - "Soma", "Ármin", "Csaba", "Kevin", "Róbert", "Ferenc", "Mátyás", "Norbert", "Roland", - "Vencel", "Viktor", "Csongor", "Szabolcs", "Mihály", "Boldizsár", "Benjamin", "Simon", "Gergely", - "Bertalan", "Tibor", "Zénó", "Adrián", "Miklós", "Nikolasz", "Vilmos", "Kende", "Imre", - "Gellért", "Krisztofer", "Donát", "Vendel", "Bende", "Brájen", "Dorián", "Denisz", "Sámuel", - "Noé", "Csanád", "Lajos", "Kolos", "Alexander", "Laurent", "Mirkó", "György", "Nátán", - "Iván"}; - -const std::array hungarianFemaleFirstNames = { - "Hanna", "Anna", "Zoé", "Léna", "Luca", "Emma", "Zsófia", "Boglárka", "Lili", "Mira", - "Lilien", "Nóra", "Laura", "Lara", "Maja", "Fanni", "Jázmin", "Izabella", "Olívia", "Sára", - "Gréta", "Alíz", "Adél", "Lilla", "Liza", "Flóra", "Dorka", "Zselyke", "Dóra", "Csenge", - "Janka", "Liliána", "Viktória", "Szofia", "Réka", "Panna", "Petra", "Dorina", "Natasa", "Blanka", - "Eszter", "Noémi", "Emília", "Bianka", "Kamilla", "Szófia", "Vivien", "Rebeka", "Elizabet", "Linett", - "Szofi", "Júlia", "Szonja", "Abigél", "Mia", "Bella", "Lia", "Natália", "Tamara", "Lotti", - "Róza", "Amira", "Eliza", "Panka", "Milla", "Zorka", "Hanga", "Nara", "Norina", "Fruzsina", - "Mirella", "Dorottya", "Boróka", "Emili", "Regina", "Johanna", "Alexandra", "Diána", "Elena", "Kinga", - "Hédi", "Borbála", "Emese", "Bíborka", "Barbara", "Letícia", "Lujza", "Zita", "Kincső", "Nina", - "Vanda", "Veronika", "Zara", "Lana", "Lora", "Kiara", "Lívia", "Rozina", "Zejnep", "Virág"}; - -const std::array hungarianLastNames = { - "Nagy", "Kovács", "Tóth", "Szabó", "Horváth", "Varga", "Kiss", "Molnár", "Németh", "Farkas", - "Balogh", "Papp", "Takács", "Juhász", "Lakatos", "Mészáros", "Oláh", "Simon", "Rácz", "Fekete", - "Szilágyi", "Török", "Fehér", "Balázs", "Gál", "Kis", "Szűcs", "Kocsis", "Orsós", "Pintér", - "Fodor", "Szalai", "Sipos", "Magyar", "Lukács", "Gulyás", "Biró", "Király", "László", "Katona", - "Jakab", "Bogdán", "Balog", "Sándor", "Boros", "Fazekas", "Kelemen", "Váradi", "Antal", "Somogyi", - "Orosz", "Fülöp", "Veres", "Vincze", "Hegedűs", "Budai", "Deák", "Pap", "Bálint", "Pál", - "Illés", "Vass", "Szőke", "Vörös", "Bognár", "Fábián", "Lengyel", "Bodnár", "Szücs", "Hajdu", - "Halász", "Jónás", "Máté", "Székely", "Kozma", "Gáspár", "Pásztor", "Bakos", "Dudás", "Major", - "Orbán", "Hegedüs", "Virág", "Barna", "Novák", "Soós", "Tamás", "Nemes", "Pataki", "Balla", - "Faragó", "Kerekes", "Borbély", "Barta", "Péter", "Szekeres", "Csonka", "Mezei", "Márton", "Sárközi"}; - -const std::array hungarianPrefixes{"Dr.", "Prof."}; - -const NameFormats hungarianNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 9}}}; - -const PeopleNames hungarianPeopleNames{{hungarianMaleFirstNames, hungarianLastNames, hungarianPrefixes, {}}, - {hungarianFemaleFirstNames, hungarianLastNames, hungarianPrefixes, {}}, - hungarianNameFormats}; - -// Iceland - -const std::array icelandicMaleFirstNames = { - "Gunnar", "Einar", "Ragnar", "Karl", "Aron", "Benedikt", "Jon", "Jakob", "Steinar", - "Ari", "Viktor", "Axel", "Alexander", "Anton", "Hannes", "Hermann", "Emil", "Jens", - "Hans", "Geir", "Daniel", "David", "Magnus", "Adam", "Stefan", "Robert", "John", - "Piotr", "Elmar", "Georg", "Albert", "Johann", "Krzysztof", "Erling", "Tomasz", "Marcin", - "Jose", "Carlos", "Michael", "Mariusz", "Alex", "Andrzej", "Bjorn", "Mikael", "Richard", - "Jan", "Omar", "Dariusz", "Victor", "Martin", "Marek", "Kingsley", "Erik", "Oskar", - "Tomas", "Pawel", "Johannes", "Jonas", "Mark", "Umar", "Paulo", "Rafal", "Sebastian", - "Ricardo", "Frank", "Joao", "Usman", "James", "Thomas", "Innocent", "Michal", "Sam", - "Miroslaw", "William", "Paul", "Eric", "Henry", "Jaroslaw", "Fernando", "Alfred", "Matthias", - "Andrew", "Luis", "Harald", "Jason", "Peter", "Nils", "Maciej", "Edward", "Kamil", - "Andres", "Roman", "Oliver", "Adolf", "Slawomir", "Artur", "Ifeanyi", "Bruno", "Julius", - "Charles", "Antonio", "Jacek", "Jorge", "Elias", "Wojciech", "Patrick", "George", "Edvard", - "Arthur", "Lukasz", "Marco", "Simon", "Christopher", "Benjamin", "Clement", "Arkadiusz", "Petrea", - "Dario", "Chinedu", "Dawid", "Nuno", "Damian", "Mohamed", "Ivan", "Nicolas", "Mateusz", - "Godfrey", "Carl", "Zbigniew", "Philippe", "Hector", "Uche", "Konrad", "Gabriel", "Mario", - "Norbert", "Manuel", "Ismail", "Stephen", "Olivier", "Felix", "Fred", "Kristofer", "Kevin", - "Samuel", "Hugo", "Patryk", "Ashok", "Adrian", "Julio", "Bent", "Ikechukwu", "Cesar", - "Jerzy", "Fritz", "Haruna", "Jonathan"}; - -const std::array icelandicFemaleFirstNames = { - "Anna", "Helga", "Inga", "Eva", "Linda", "Hanna", "Edda", "Erna", "Sandra", - "Sara", "Karen", "Rakel", "Elsa", "Helena", "Andrea", "Marta", "Elva", "Thelma", - "Agnes", "Alda", "Olga", "Una", "Sonja", "Rebekka", "Gudrun", "Ellen", "Ester", - "Alexandra", "Selma", "Alma", "Stella", "Ana", "Kristin", "Birgitta", "Telma", "Dagmar", - "Klara", "Margret", "Monika", "Magdalena", "Agnieszka", "Lena", "Katarzyna", "Solveig", "Emma", - "Esther", "Tanja", "Barbara", "Mary", "Anita", "Julia", "Vera", "Elin", "Petra", - "Rut", "Sigrun", "Perla", "Helen", "Beata", "Malgorzata", "Heba", "Katrin", "Ella", - "Elma", "Hilda", "Laura", "Asta", "Elisabet", "Johanna", "Juan", "Elzbieta", "Iris", - "Kamilla", "Joanna", "Ewa", "Lea", "Adda", "Amanda", "Inger", "Martha", "Kim", - "Greta", "Natalia", "Dorota", "Nina", "Tara", "Jana", "Sarah", "Rosa", "Ruth", - "Kari", "Tunde", "Rui", "Teresa", "Karolina", "Anne", "Berta", "Maren", "Elizabeth", - "Dora", "Jolanta", "Ann", "Irena", "Renata", "Marzena", "Marie", "Iwona", "Precious", - "Justyna", "Patricia", "Cristina", "Rita", "Sylwia", "Jennifer", "Jenny", "Claudia", "Diana", - "Ingrid", "Miriam", "Astrid", "Stefania", "Emilia", "Hilma", "Irma", "Edyta", "Alice", - "Elena", "Gift", "Dana", "Ida", "Vanessa", "Fanny", "Josephine", "Paulina", "Dennis", - "Alina", "Bozena", "Angela", "Nancy", "Lara", "Jessica", -}; - -const std::array icelandicLastNames = { - "Jónsdóttir", "Jónsson", "Sigurðardóttir", "Guðmundsdóttir", "Guðmundsson", "Sigurðsson", - "Gunnarsdóttir", "Gunnarsson", "ólafsson", "ólafsdóttir", "Magnúsdóttir", "Magnússon", - "Einarsson", "Einarsdóttir", "Kristjánsdóttir", "Kristjánsson", "Björnsdóttir", "Stefánsson", - "Jóhannsson", "Jóhannsdóttir", "Björnsson", "Stefánsdóttir", "árnadóttir", "Bjarnason", - "Bjarnadóttir", "árnason", "Halldórsson", "Helgason", "Halldórsdóttir", "Helgadóttir", - "Sveinsson", "Ragnarsdóttir", "Kristinsson", "Pétursdóttir", "Pálsson", "Guðjónsdóttir", - "Kristinsdóttir", "Pálsdóttir", "Karlsson", "Guðjónsson", "Pétursson", "þorsteinsson", - "þorsteinsdóttir", "Sveinsdóttir", "Ragnarsson", "óskarsdóttir", "Karlsdóttir", "Haraldsson", - "Jóhannesson", "Jóhannesdóttir", "Sigurjónsdóttir", "Birgisson", "Birgisdóttir", "Hauksson", - "Harðardóttir", "þórðardóttir", "ásgeirsdóttir", "Haraldsdóttir", "Jónasdóttir", "Hauksdóttir", - "Harðarson", "Jónasson", "Sigurjónsson", "Kjartansdóttir", "Kjartansson", "ágústsson", - "þórðarson", "Arnarson", "Friðriksson", "Baldursdóttir", "Baldursson", "ágústsdóttir", - "Sverrisson", "Hilmarsson", "ásgeirsson", "Friðriksdóttir", "Guðnadóttir", "Ingólfsson", - "Guðnason", "Ingólfsdóttir", "Arnardóttir", "Benediktsdóttir", "Hilmarsdóttir", "Sverrisdóttir", - "Valdimarsdóttir", "þórarinsdóttir", "Reynisson", "Benediktsson", "Björgvinsdóttir", "Gunnlaugsson", - "Jonsson", "Gunnlaugsdóttir", "Reynisdóttir", "Aðalsteinsdóttir", "þórisdóttir", "Skúladóttir", - "Hafsteinsdóttir", "ómarsdóttir", "Sævarsdóttir", "Sigurðarson", "Valdimarsson", "þórisson", - "Rúnarsdóttir", "Snorrason", "Vilhjálmsdóttir", "þórarinsson", "Hermannsson", "Svavarsdóttir", - "Tryggvason", "Sævarsson", "Garðarsdóttir", "þorvaldsdóttir", "Rúnarsson", "Bragason", - "þorvaldsson", "Hannesdóttir", "Vilhjálmsson", "Björgvinsson", "Bragadóttir", "Egilsson", - "Ingvarsdóttir", "Gylfason", "Skúlason", "Hjartardóttir", "Hjartarson", "Ingvarsson", - "Hannesson", "Guðlaugsdóttir", "Lárusdóttir", "ómarsson", "Garðarsson", "Gylfadóttir", - "Guðlaugsson", "Grétarsson", "Snorradóttir", "Aðalsteinsson", "Lárusson", "Tryggvadóttir", - "Tómasson", "Jakobsdóttir"}; - -const NameFormats icelandic_personNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames icelandicPeopleNames{{icelandicMaleFirstNames, icelandicLastNames, {}, {}}, - {icelandicFemaleFirstNames, icelandicLastNames, {}, {}}, - icelandic_personNameFormats}; - -// India - -const std::array indianMaleFirstNames = { - "Aadi", "Aadil", "Aahan", "Aarav", "Aarit", "Aarush", "Aaryan", "Aaryav", - "Aayush", "Abeer", "Abhay", "Abhinav", "Abhishek", "Abhiyay", "Adarsh", "Adhvait", - "Aditya", "Advait", "Advay", "Ahaan", "Akash", "Akhil", "Akhilesh", "Akshant", - "Akshat", "Akshay", "Akshaya", "Alok", "Aman", "Amar", "Amardeep", "Amit", - "Amitabh", "Anand", "Aniket", "Anirudh", "Anish", "Ankit", "Ankur", "Ansh", - "Anshul", "Anshuman", "Anupam", "Anurag", "Arin", "Arjun", "Armaan", "Arnav", - "Arpit", "Arun", "Arush", "Arvind", "Arya", "Aryaman", "Aryan", "Aryana", - "Aryaveer", "Ashutosh", "Atharv", "Atul", "Avinash", "Avir", "Ayush", "Baldev", - "Bhavesh", "Bhavya", "Bhushan", "Bhuvan", "Bimal", "Birju", "Brij", "Brijesh", - "Brijmohan", "Chirag", "Darsh", "Darshan", "Deep", "Deepak", "Deepesh", "Dev", - "Devang", "Devansh", "Devendra", "Devesh", "Dhairik", "Dhairya", "Dhaval", "Dheeraj", - "Dhiraj", "Dhriti", "Dhruv", "Dhruva", "Dhruvansh", "Dinesh", "Dipak", "Dipesh", - "Divyansh", "Eshan", "Gagan", "Ganesh", "Gaurav", "Gautam", "Girish", "Gopal", - "Govind", "Harish", "Harsh", "Harshad", "Harshal", "Hemant", "Himanshu", "Hitesh", - "Hridaan", "Hriday", "Hrithik", "Hrithvik", "Hrushi", "Iqbal", "Ishaan", "Ishan", - "Ishant", "Ishwar", "Jagat", "Jagdish", "Jai", "Jatin", "Jatish", "Jay", - "Jayant", "Jitender", "Jitendra", "Kabir", "Kabira", "Kabiraj", "Kailash", "Kairav", - "Kamal", "Kamlesh", "Kapil", "Karan", "Karna", "Karthik", "Karun", "Kashyap", - "Kavish", "Keshav", "Ketan", "Kian", "Kiran", "Kishan", "Kishore", "Krish", - "Krishna", "Krishnaiah", "Kunal", "Kushal", "Lakshay", "Lakshit", "Lalit", "Laxman", - "Lokesh", "Manav", "Manik", "Maninder", "Manish", "Manoj", "Mayank", "Mayur", - "Mohan", "Mohit", "Mukesh", "Mukul", "Mukund", "Nakul", "Nandan", "Nandlal", - "Narayan", "Naveen", "Neeraj", "Nihal", "Nikhil", "Nilesh", "Nimish", "Nirav", - "Nishant", "Nishith", "Nitesh", "Nitin", "Nitish", "Om", "Omkar", "Pankaj", - "Pariket", "Parikshit", "Parth", "Partha", "Parthiv", "Parv", "Parveen", "Pradeep", - "Pramod", "Pranav", "Pranay", "Pranit", "Pranjal", "Pratham", "Pratyush", "Pravin", - "Prayag", "Prithvi", "Raahat", "Raghav", "Rahul", "Rajat", "Rajendra", "Rajesh", - "Rajiv", "Rajkishor", "Rajkumar", "Rajnish", "Rajveer", "Rakshan", "Raman", "Ramesh", - "Ranbir", "Ranjan", "Ranveer", "Rapul", "Ravi", "Revansh", "Reyansh", "Rian", - "Ridhaan", "Rishabh", "Rishi", "Rishit", "Ritesh", "Ritish", "Ritvik", "Rohan", - "Rohant", "Rohit", "Rudransh", "Rupesh", "Rushabh", "Rushil", "Saarthak", "Sachin", - "Sagar", "Sahil", "Sahitya", "Sameer", "Sameet", "Sanjay", "Sanjeev", "Sanket", - "Sarthak", "Sarvesh", "Satish", "Shantanu", "Shardul", "Shashank", "Shaurya", "Shivam", - "Shivansh", "Shlok", "Shourya", "Shresht", "Shubham", "Shyam", "Siddharth", "Subhash", - "Sudhir", "Sumeet", "Sumit", "Sunil", "Sunny", "Suraj", "Surender", "Suresh", - "Surya", "Sushant", "Suvan", "Tanay", "Tanish", "Tanmay", "Tanush", "Tanvik", - "Taran", "Tarun", "Tavish", "Tejas", "Tejus", "Tushar", "Uday", "Umesh", - "Utkarsh", "Vaibhav", "Vansh", "Vanshaj", "Varun", "Ved", "Vedant", "Veer", - "Veerendra", "Vibhav", "Vicky", "Vidit", "Vidyut", "Vihaan", "Vihan", "Vijay", - "Vikas", "Vikram", "Vikrant", "Vimal", "Vinay", "Vinayak", "Vineet", "Vinod", - "Vipul", "Virat", "Virendra", "Viresh", "Vishal", "Vishesh", "Vishnu", "Vishwas", - "Vivaan", "Vivan", "Vivek", "Viyan", "Yaman", "Yash", "Yashas", "Yashith", - "Yashraj", "Yashwant", "Yashwanta", "Yashwardhan", "Yogesh", "Yug", "Yuva", "Yuvan", - "Yuvansh", "Yuvraj", "Yuvraja", "Zaheer", "Zahir", "Zain", "Zayyan", -}; - -const std::array indianFemaleFirstNames = { - "Aadrika", "Aadya", "Aakriti", "Aanya", "Aanyaya", "Aaradhya", "Aarohi", "Aashi", "Aashika", - "Adhithi", "Aditi", "Aisha", "Akshara", "Alia", "Amaira", "Amara", "Ananya", "Anika", - "Anisha", "Anushka", "Anvi", "Anwaya", "Aria", "Arunima", "Avani", "Avishi", "Avni", - "Banita", "Bhavana", "Bhavisha", "Bhavna", "Bhavya", "Bhavyata", "Bhumi", "Bhumika", "Bhuvitha", - "Chakori", "Chandika", "Chandna", "Chandni", "Chandrika", "Charmika", "Charu", "Charul", "Charvi", - "Chhavi", "Chitra", "Deepika", "Devanshi", "Devika", "Dhanya", "Dhriti", "Disha", "Divisha", - "Divishi", "Divya", "Diya", "Drishti", "Dyuthi", "Eeshaal", "EeshaaniEk", "Esha", "Eshitha", - "Falguni", "Falini", "Faria", "Farida", "Freesha", "Fulki", "Gargee", "Gargi", "Garima", - "Gauri", "Giribala", "Gitali", "Gitanjali", "Grishma", "Harini", "Haritha", "Harshini", "Harshita", - "Himani", "Hina", "Hiral", "Hrishita", "Inaya", "Ira", "Isha", "Ishana", "Ishani", - "Ishika", "Ishiqa", "Ishira", "Ishita", "Ishitha", "Ishmita", "Janvi", "Janya", "Jara", - "Jaswita", "Jia", "Jivana", "Jivika", "Jivisha", "Jiya", "Jyotsna", "Kanya", "Kashvi", - "Kashvii", "Kavya", "Khushi", "Kia", "Kiara", "Kiran", "Kirti", "Kritika", "Kshirja", - "Lasya", "Lavanya", "Lavisha", "Lavitha", "Leah", "Lisha", "Manasvi", "Manika", "Manisha", - "Mannat", "Manvi", "Manvita", "Meenal", "Meera", "Megha", "Mira", "Myra", "Mysha", - "Naina", "Nandita", "Natasha", "Neha", "Nidhi", "Nidhita", "Niharika", "Nishi", "Nitya", - "Nityari", "Nityasha", "Nityashi", "Nyra", "Oishi", "Ojal", "Ojaswi", "Oshin", "Oviya", - "Pankhudi", "Pankhuri", "Pari", "Parinidhi", "Parul", "Pihu", "Praniti", "Pranjal", "Prisha", - "Prishita", "Priyanka", "Qirat", "Queenie", "Quinara", "Quisha", "Rashi", "Rasika", "Rhea", - "Riddhi", "Rishi", "Ritara", "Rithika", "Riya", "Roshni", "Rupali", "Saanvi", "Saesha", - "Saisha", "Sanika", "Sanvi", "Sanya", "Sara", "Saraswati", "Sarita", "Savita", "Shanaya", - "Simran", "Sita", "Siya", "Sneha", "Sonam", "Tamanna", "Tanishi", "Tanvi", "Tishira", - "Tithira", "Trisha", "Ujjwala", "Urisha", "Urvashi", "Urvi", "Utkarsha", "Vaishnavi", "Vanshika", - "Vanya", "Vasundhara", "Vidhi", "Vidulika", "Vinita", "Wansika", "Wisha", "Wynona", "Xandra", - "Xara", "Yashi", "Yashika", "Yashvi", "Yukta", "Yukthi", "Zaina", "Zaira", "Zara", - "Zarika", "Zarna", "Zoya"}; - -const std::array indianLastNames = { - "Acharya", "Agarwal", "Aggarwal", "Ahluwalia", "Ahuja", "Amin", "Anand", - "Arora", "Arvind", "Babu", "Bajaj", "Bajwa", "Banerjee", "Bansal", - "Batra", "Bhagat", "Bhardwaj", "Bhargava", "Bhasin", "Bhat", "Bhatia", - "Bhatnagar", "Bhatt", "Bhattacharya", "Biswas", "Bose", "Chabra", "Chadha", - "Chakrabarti", "Chakrabarty", "Chakraborty", "Chakravarti", "Chandra", "Chatterjee", "Chaturvedi", - "Chauhan", "Chawla", "Chopra", "Choudhary", "Choudhury", "Das", "Deshmukh", - "Deshpande", "Dewan", "Dey", "Dhawan", "Dhillon", "Dixit", "Dube", - "Dutt", "Dutta", "Easwaran", "Edwin", "Ekbote", "Eswaran", "Fadnavis", - "Fernandes", "Gandhi", "Ghosh", "Ghoshal", "Gill", "Gokhale", "Goswami", - "Gupta", "Harikrishnan", "Hegde", "Inamdar", "Iyengar", "Iyer", "Jaiswal", - "Jha", "Joglekar", "Joshi", "Juneja", "Kadam", "Kakkar", "Kamble", - "Kapoor", "Kashyap", "Kaur", "Khan", "Khanna", "Khera", "Khosla", - "Khurana", "Kohli", "Kulkarni", "Kumar", "Lal", "Lalwani", "Luthra", - "Mahajan", "Majumdar", "Malhotra", "Malik", "Mandal", "Mathur", "Mazumdar", - "Mehra", "Mehrotra", "Mehta", "Menon", "Mishra", "Mittal", "Mukherjee", - "Mukhopadhyay", "Mundra", "Nag", "Nagpal", "Nair", "Nambiar", "Nanda", - "Narang", "Narula", "Nayar", "Negi", "Oberoi", "Ojha", "Oza", - "Padmanabhan", "Pandey", "Pandit", "Patil", "Pawar", "Pillai", "Pradhan", - "Prakash", "Puri", "Qazi", "Qureshi", "Raghavan", "Raghunathan", "Rai", - "Raj", "Rajput", "Rana", "Rao", "Rastogi", "Rathore", "Reddy", - "Sabharwal", "Sardar", "Sarin", "Saxena", "Sen", "Sengupta", "Seth", - "Sethi", "Shah", "Sharma", "Shukla", "Singh", "Singhal", "Sinha", - "Soni", "Sood", "Suri", "Talreja", "Talwar", "Thakkar", "Thakur", - "Tiwari", "Trivedi", "Tyagi", "Upadhyay", "Upadhyaya", "Uppal", "Vaid", - "Vaidya", "Varghese", "Varma", "Verma", "Vij", "Vora", "Vyas", - "Wadhwa", "Wagh", "Waghmare", "Wagle", "Walia", "Xavier", "Yadav", - "Zakaria", "Zaveri"}; - -const NameFormats indianNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames indianPeopleNames{{indianMaleFirstNames, indianLastNames, {}, {}}, - {indianFemaleFirstNames, indianLastNames, {}, {}}, - indianNameFormats}; - -// Ireland - -const std::array irishMaleFirstNames = { - "John", "Michael", "Patrick", "Thomas", "James", "David", "Joseph", "Paul", - "Sean", "William", "Martin", "Peter", "Gerard", "Brian", "Kevin", "Brendan", - "Liam", "Anthony", "Richard", "Robert", "Frank", "Daniel", "Stephen", "Edward", - "Mark", "Alan", "Tony", "Timothy", "Andrew", "Declan", "Philip", "Conor", - "Vincent", "Christopher", "Niall", "Kieran", "Gerry", "Bernard", "Aidan", "Raymond", - "Barry", "George", "Colm", "Derek", "Eugene", "Matthew", "Kenneth", "Eamon", - "Desmond", "Hugh", "Charles", "Oliver", "Shane", "Ciaran", "Ian", "Micheal", - "Damien", "Chris", "Gary", "Keith", "Ronan", "Adrian", "Maurice", "Neil", - "Colin", "Nicholas", "Jeremiah", "Owen", "Eddie", "Simon", "Henry", "Jerry", - "Darren", "Terry", "Jack", "Tommy", "Gerald", "Terence", "Billy", "Jimmy", - "Jason", "Rory", "Larry", "Jonathan", "Harry", "Leo", "Graham", "Trevor", - "Eric", "Donald", "Arthur", "Gavin", "Dominic", "Karl", "Phillip", "Steven", - "Edmond", "Nigel", "Walter", "Austin", "Albert", "Damian", "Gabriel", "Cyril", - "Tomas", "Greg", "Luke", "Roger", "Bill", "Joe", "Adam", "Charlie", - "Gordon", "Victor", "Ivan", "Justin", "Alexander", "Bryan", "Norman", "Garry", - "Stuart", "Roy", "Louis", "Alex", "Gareth", "Ronald", "Cornelius", "Leonard", - "Ross", "Wayne", "Jerome", "Marcin", "Jim", "Edmund", "Gregory", "Piotr", - "Fredrick", "Jamie", "Samuel", "Cian", "Tomasz", "Carl", "Ben", "Sam", - "Pawel", "Johnny", "Julian", "Ken", "Marcus", "Nick", "Aaron", "Clive", - "Benjamin", "Marc", "Ali", "Marek", "Fran", "Lukasz", "Hubert", "Shaun", - "Douglas", "Ray", "Malcolm", "Pascal", "Krzysztof", "Ryan", "Geoffrey", "Michal", - "Mervyn", "Ronnie", "Jan", "Nicky", "Craig", "Bob", "Bobby", "Dean", - "Lawrence", "Rafal", "Ernest", "Edwin", "Steve", "Christian", "Robbie", "Mathew", - "Glen", "Scott", "Aiden", "Tim", "Jose", "Muhammad", "Killian", "Alfred", - "Glenn", "Grzegorz", "Stanley", "Sebastian", "Jeremy", "Sylvester", "Antonio", "Mariusz", - "Ivor", "Frankie", "Frederick", "Jeff", "Connor", "Harold", "Mohammed", "Neville", - "Dominick", "Felix", "Marius", "Ralph", "Maciej", "Benny", "Bart", "Wesley", - "Jacek", "Herbert", "Ron", "Andrzej", "Allan", "Ahmed", "Wojciech", "Teddy", - "Warren", "Dick", "Stefan", "Artur", "Roland", "Mario", "Bruce", "Jon", - "Clement", "Stewart", "Jude", "Marco", "Emmanuel", "Russell", "Allen", "Andre", - "Mohammad", "Howard", "Joey", "Alec", "Dariusz", "Max", "Christoph", "Basil", - "Evan", "Igor", "Nicolas", "Carlos", "Rodney", "Iain", "Stan", "Jaroslaw", - "Reginald", "Matt", "Roman", "Dylan", "Augustine", "Leon", "Przemyslaw", "Arkadiusz", - "Stephan", "Darius", "Hans", "Mohamed", "Vladimir", "Freddie", "Kenny", "Graeme", - "Luis", "Hugo", "Bruno", "Norbert", "Nathan", "Clifford", "Syed", "Pierre", - "Duncan", "Roderick", "Kamil", "Alfie", "Patrice", "Jay", "Jakub", "Abdul", - "Raphael", "Oleg", "Radoslaw", "Derrick", "Conrad", "Lukas", "Bartosz", "Bert", - "Roberto", "Anton", "Manuel", "Ioan", "Fabio", "Jeffrey", "Percy", "Alistair", - "Mateusz", "Miguel", "Andrei", "Ricky", "Pavel", "Pedro", "Guy", "Luca", - "Gilbert", "Jacob", "Kelvin", "Benedict", "Morris", "Antony", "Sergio", "Alessandro", - "Zbigniew", "Slawomir", "Omar", "Ricardo", "Jordan", "Guillaume", "Arnold", "Christophe", - "Joshua", "Markus", "Dominik", "Javier", "Marcel", "Johnathan", "Cedric", "Rick", - "Lucas", "Angelo", "Frederic", "Lionel", "Olivier", "Angus", "Andrius", "Cristian", - "Erik", "Francisco", "Daryl", "Eduardo", "Wolfgang", "Jorge", -}; - -const std::array irishFemaleFirstNames = { - "Mary", "Margaret", "Ann", "Kathleen", "Anne", "Catherine", "Elizabeth", "Patricia", - "Noel", "Eileen", "Marie", "Denis", "Bridget", "Helen", "Teresa", "Sarah", - "Joan", "Geraldine", "Maureen", "Caroline", "Deirdre", "Susan", "Michelle", "Bernadette", - "Fiona", "Carmel", "Angela", "Maria", "Anna", "Karen", "Nora", "Sheila", - "Claire", "Sinead", "Pauline", "Sharon", "Siobhan", "Lisa", "Francis", "Linda", - "Sandra", "Josephine", "Maura", "Louise", "Elaine", "Martina", "Frances", "Rose", - "Niamh", "Lorraine", "Laura", "Jennifer", "Rita", "Barbara", "Christina", "Valerie", - "Noreen", "Carol", "Paula", "Yvonne", "Ellen", "Christine", "Marian", "Emma", - "Theresa", "Philomena", "Jane", "Annie", "Nuala", "Denise", "Nicola", "Una", - "Alice", "Ciara", "Julie", "Christy", "Gillian", "Rachel", "Laurence", "Amanda", - "Clare", "Brigid", "Joanne", "Aoife", "Suzanne", "Ruth", "Monica", "Evelyn", - "Annette", "Veronica", "Aisling", "Aine", "Colette", "Rosemary", "Brenda", "Jean", - "Olive", "Irene", "Kate", "Agnes", "Audrey", "Maeve", "Jacqueline", "Edel", - "Marion", "Betty", "Tara", "Miriam", "Kay", "Pamela", "Alison", "Julia", - "Grace", "Dolores", "Helena", "Deborah", "Phyllis", "Aileen", "Olivia", "Esther", - "Tracey", "Nancy", "Imelda", "Vera", "Eleanor", "Cathy", "Andrea", "Rebecca", - "Tracy", "Therese", "Anita", "Janet", "Tina", "Maire", "Lucy", "Stephanie", - "Peggy", "Celine", "Danny", "Donna", "Jacinta", "Jenny", "Dorothy", "Robin", - "Lorna", "Emily", "Sally", "Liz", "Hannah", "Samantha", "Amy", "Florence", - "Joanna", "Sylvia", "June", "Ursula", "Shirley", "Antoinette", "Gemma", "Martha", - "Debbie", "Regina", "Katherine", "May", "Eva", "Dennis", "Hazel", "Dara", - "Katie", "Doreen", "Georgina", "Moira", "Natasha", "Victoria", "Wendy", "Kitty", - "Adrienne", "Sara", "Hilary", "Johanna", "Tanya", "Avril", "Leslie", "Kelly", - "Kim", "Jessica", "Joyce", "Connie", "Winifred", "Judith", "Lynn", "Cora", - "Diane", "Vivienne", "Lynda", "Marcella", "Natalie", "Olga", "Monika", "Charlotte", - "Kathy", "Stella", "Agnieszka", "Madeline", "Heather", "Vanessa", "Josie", "Muriel", - "Annemarie", "Bernadett", "Marguerite", "Melissa", "Norma", "Marta", "Diana", "Judy", - "Marina", "Melanie", "Mona", "Dawn", "Lena", "Morgan", "Lily", "Celia", - "Sonia", "Magdalena", "Nellie", "Beatrice", "Sadie", "Joy", "Lee", "Sabrina", - "Delia", "Janice", "Vivian", "Gina", "Mai", "Jill", "Noelle", "Margret", - "Hilda", "Nicole", "Loretta", "Kathryn", "Naomi", "Leanne", "Gwen", "Elena", - "Ashley", "Marjorie", "Cecilia", "Violet", "Natalia", "Lesley", "Clara", "Gertrude", - "Sue", "Freda", "Sheena", "Michele", "Norah", "Rachael", "Rosemarie", "Vicky", - "Lucia", "Leona", "Anastasia", "Danielle", "Iris", "Mel", "Katarzyna", "Lillian", - "Gladys", "Alexandra", "Malgorzata", "Sophie", "Marianne", "Beata", "Myra", "Jeanette", - "Cathleen", "Gabrielle", "Inga", "Karol", "Carole", "Ethel", "Ana", "Cathrine", - "Ena", "Karina", "Ewa", "Carolyn", "Nina", "Sonya", "Zoe", "Alma", - "Edith", "Ingrid", "Gail", "Claudia", "Edwina", "Kerry", "Gloria", "Katrina", - "Elsie", "Madeleine", "Rosie", "Dan", "Shelia", "Margo", "Cristina", "Kristina", - "Susanne", "Isobel", "Belinda", "Debra", "Iwona", "Lynne", "Doris", "Erika", - "Charlene", "Lauren", "Lilian", "Simone", "Molly", "Nadine", "Rena", "Adele", - "Renata", "Janette", "Lilly", "Ina", "Leah", "Irina", "Svetlana", "Virginia", - "Assumpta", "Silvia", "Sylwia", "Ella", "Cheryl", "Karolina", "Maggie", "Stacey", - "Rasa", "Agata", "Dorota", "Arlene", "Maud", "Cynthia", -}; - -const std::array irishLastNames = { - "Murphy", "Kelly", "Byrne", "Walsh", "Ryan", "Doyle", "Lynch", "Mccarthy", - "Brennan", "Dunne", "Murray", "Burke", "Smith", "Daly", "Nolan", "Kennedy", - "Fitzgerald", "Gallagher", "Flynn", "Collins", "Power", "Quinn", "Farrell", "Carroll", - "Kavanagh", "Connolly", "Healy", "Clarke", "Duffy", "Doherty", "Brady", "Whelan", - "Kenny", "Fitzpatrick", "Moore", "Keane", "Moran", "Reilly", "Mcgrath", "Barry", - "Foley", "Hayes", "Maher", "Buckley", "Martin", "Casey", "Roche", "Hughes", - "Smyth", "Browne", "Butler", "Mcmahon", "Hogan", "Griffin", "Egan", "White", - "Sweeney", "Cullen", "Hickey", "Ward", "Cunningham", "Maguire", "Lyons", "Mcdonnell", - "Delaney", "Cronin", "Sheehan", "Keogh", "Mccormack", "Higgins", "Curran", "Cahill", - "Mcloughlin", "Boyle", "Crowley", "Mckenna", "Sheridan", "Molloy", "Barrett", "Flanagan", - "King", "Moloney", "Phelan", "Dowling", "Mooney", "Mcnamara", "Corcoran", "Costello", - "Hennessy", "Malone", "Lawlor", "Conway", "Fox", "Kearney", "Carey", "Dempsey", - "Duggan", "Donnelly", "Mccabe", "Mcdermott", "Dolan", "Gleeson", "Cleary", "Joyce", - "Mcdonagh", "Kelleher", "Mcdonald", "Jones", "Redmond", "Mchugh", "Conroy", "Coleman", - "Reynolds", "Coughlan", "Cummins", "Kinsella", "Hurley", "Dillon", "Fleming", "Lee", - "Keating", "Clancy", "Tobin", "Breen", "Campbell", "Leahy", "Sullivan", "Morrissey", - "Leonard", "Rooney", "Greene", "Mahon", "Finn", "Coffey", "Cassidy", "Forde", - "Heffernan", "Long", "Bourke", "Cooney", "Madden", "Hynes", "Mcevoy", "Woods", - "Williams", "Finnegan", "Kirwan", "Geraghty", "Morris", "Wilson", "Doran", "Larkin", - "Meehan", "Hegarty", "Galvin", "Harrington", "Mulligan", "Allen", "Farrelly", "Fahy", - "Kiely", "Jordan", "Mcguinness", "Conlon", "Kane", "Lennon", "Callaghan", "Mccann", - "Coyle", "Boland", "Twomey", "Morgan", "Monaghan", "Treacy", "Gorman", "Dalton", - "Quigley", "Reid", "Mcgovern", "Mitchell", "Noonan", "Bradley", "Keenan", "Brown", - "Russell", "Mulcahy", "Fagan", "Dooley", "Wall", "Davis", "Mclaughlin", "Mullen", - "Horgan", "Burns", "Dwyer", "Carr", "Tierney", "Keegan", "Purcell", "Cotter", - "Naughton", "Kearns", "Scanlon", "Lane", "Fogarty", "Horan", "Thompson", "Murtagh", - "Harte", "Fallon", "Flood", "Wallace", "Hannon", "Grant", "Hanley", "Scully", - "Kehoe", "Johnston", "Slattery", "Ahern", "Glynn", "Taylor", "Connor", "Corrigan", - "Scott", "Kiernan", "Curtin", "Rogers", "Gannon", "Bolger", "Shanahan", "Regan", - "Flaherty", "Donohoe", "Nugent", "Behan", "Mannion", "Gibbons", "Donovan", "Quirke", - "Bergin", "Clifford", "Downey", "Graham", "Hyland", "Quinlan", "Henry", "Mcmanus", - "Prendergast", "Gaffney", "Robinson", "Moriarty", "Carolan", "Gavin", "Condon", "Mcgowan", - "Coyne", "Moco", "Young", "Bennett", "Mcgee", "Mcnally", "Mullins", "Brophy", - "Howard", "Matthews", "Hayden", "Fitzsimons", "Obrien", "Gill", "Feeney", "Reidy", - "Brosnan", "Donoghue", "Darcy", "Mcsweeney", "Jennings", "Johnson", "Walshe", "Cox", - "Cooke", "Moynihan", "Stewart", "Owens", "Geoghegan", "Sheehy", "Ennis", "Lawless", - "Crowe", "Shannon", "Gray", "Boylan", "Mangan", "Rice", "Holland", "Furlong", - "Jackson", "Connell", "Vaughan", "Oconnor", "Sexton", "Maloney", "Whyte", "Devine", - "Broderick", "Anderson", "Hunt", "English", "Halpin", "Blake", "Dunphy", "Mcguire", - "Harris", "Walker", "Devlin", "Mcbride", "O'brien", "O'connor", "O'sullivan", "O'neill", - "O'reilly", "O'connell", "O'donnell", "O'shea", "O'leary", "O'keeffe", "O'donovan", "O'mahony", - "O'callaghan", "O'donoghue", "O'rourke", "O'toole", "O'dwyer", "O'driscoll", "O'grady", "O'regan", - "O'malley", "O'riordan", "O'gorman", "O'halloran", "O'hara", "O'meara", "O'loughlin", "O'flynn", - "O'hanlon", "O'dowd", "O'flaherty", "O'byrne", "O'carroll", "O'farrell", -}; - -const std::array irishSuffixes{"Jr.", "Sr.", "I", "II", "III", "IV", - "V", "MD", "DDS", "PhD", "DVM"}; - -const std::array irishMalePrefixes{"Mr.", "Dr."}; - -const std::array irishFemalePrefixes{"Mrs.", "Ms.", "Miss", "Dr."}; - -// TODO: add handling lastName-lastName - -const NameFormats irishNameFormats{{{"{firstName} {lastName}", 49}, - {"{prefix} {firstName} {lastName}", 7}, - {"{firstName} {lastName} {suffix}", 7}, - {"{prefix} {firstName} {lastName} {suffix}", 1}}}; - -const PeopleNames irishPeopleNames{{irishMaleFirstNames, irishLastNames, irishMalePrefixes, irishSuffixes}, - {irishFemaleFirstNames, irishLastNames, irishFemalePrefixes, irishSuffixes}, - irishNameFormats}; - -// Israel - -const std::array israelisMaleFirstNames = { - "דוד", "לביא", "אריאל", "יוסף", "נועם", "אורי", "רפאל", "ארי", "משה", "יהודה", "אברהם", - "איתן", "דניאל", "ישראל", "איתי", "שמואל", "אליה", "יהונתן", "יצחק", "שמעון", "יעקב", "מיכאל", - "עומר", "יונתן", "אהרון", "חיים", "אימרי", "אדם", "שלמה", "איתמר", "עידו", "יאיר", "ינאי", - "מאיר", "ישי", "מרדכי", "הראל", "בניה", "ניתאי", "בנימין", "אליהו", "מנחם", "ליאם", "בארי", - "אלון", "עילאי", "עמית", "בן", "נתן", "אור", "נתנאל", "ריף", "אביב", "גיא", "נהוראי", - "מאור", "ריי", "רום", "ליאו", "נוה", "יובל", "הלל", "עומרי", "שחר", "אלרואי", "רוי", - "נריה", "נדב", "דור", "צבי", "מלאכי", "רועי", "עידן", "ראם", "אביתר", "נבו", "תום", - "אלחנן", "אוריאל", "מעיין", "אריה", "שלום", "גבריאל", "אליאב", "עוז", "אליעזר", "שילה", "ארבל", - "ירדן", "לני", "יואב", "נחמן", "גפן", "ליאור", "יהושע", "אביאל", "דן", "לוי", "אמיתי", - "יהב", "עמנואל", "זיו", "אייל", "אלעזר", "מתן", "ידידיה", "פנחס", "יהלי", "אופק", "אופיר", - "אבישי", "בר", "דביר", "יחיאל", "עברי", "אוריה", "שקד", "לירוי", "שי", "רני", "ים", - "נפתלי", "יגל", "פלג", "אסף", "ינון", "אדיר", "רון", "שליו", "אושר", "כפיר", "אשר", - "ברוך", "רותם", "שניאור", "אפרים", "גל", "דין", "טום", "רואי", "תומר", "אוראל", "נטע", - "אלמוג", "עתי", "ראובן", "יותם", "שמחה", "זוהר", "טומי", "שון", "רז", "עופרי", "יחזקאל", - "יהל", "ירין", "יואל", "צור", "סהר", "ליאב", "דב", "עקיבא", "טל", "זאב", "גלעד", - "ברי", "גבע", "איליי", "אלישע", "הדר", "אילון", "ניב", "אדר", "קורן", "עילי", "ליעד", - "הילל", "אליאור", "אחיה", "סיני", "אושרי", "קאי", "אמרי", "אלימלך", "בועז", "יוחנן", "כרמל", - "אלרועי", "יאן", "שאול", "אסיף", "שלו", "ליאל", "ברק", "עדן", "ארז", "עדיאל", "דרור", - "ניל", "ישעיה", "עופר", "יפתח", "נחום", "אראל", "כרמי", "טוהר", "פאר", "מרום", "דורי", - "ארד", "לאו", "רעי", "אלעד", "עמיחי", "מאורי", "נגב", "גור", "אביחי", "ליאון", "עובדיה", - "עדי", "אורן", "ריו", "און", "שוהם", "אלרוי", "טוביה", "בניהו", "עזרא", "גיל", "אלאור", - "נח", "דולב", "אפק", "אביעד", "אלנתן", "יאר", "אילן", "דילן", "סאן", "נאור", "ניצן", - "מבשר", "אליעד", "קדם", "תבור", "לאון", "אליאל", "אלקנה", "ריין", "נורי", "יונה", "אלכסנדר", - "מתניה", "מייקל", "איתיאל", "אלרום", "בצלאל", "יוחאי", "יקותיאל", "מיאל", "סול", "דורון", "אבינועם", - "אוהד", "חגי", "יששכר", "שיר", "ענבר", "אביגדור", "יוגב", "ניסים", "שגיא", "ניר", "נרי", - "מתנאל", "אייר", "מנור", "לידור", "אביאור", "ישעיהו", "עזריאל", "עמוס", "תבל", "חנוך", "להב", - "צורי", "נחמיה", "שמשון", "כרם", "אלי", "הוד", "יער", "אפיק", "שגב", "אלישיב", "אמיר"}; - -const std::array israelisFemaleFirstNames = { - "תמר", "מאיה", "אביגיל", "נועה", "שרה", "איילה", "אדל", "יעל", "שירה", "אסתר", "חנה", - "אלה", "מרים", "רחל", "רבקה", "ליה", "חיה", "טליה", "רוני", "רומי", "מיכל", "נויה", - "אריאל", "רות", "ליבי", "עלמה", "הלל", "אמה", "גפן", "גאיה", "נעמי", "הודיה", "עומר", - "נגה", "אגם", "יובל", "שי-לי", "אפרת", "לאה", "מלכה", "אורי", "אוריה", "יהלי", "תהילה", - "אמילי", "יהודית", "תהל", "ארבל", "טוהר", "ליאן", "הדסה", "אבישג", "הילה", "אלישבע", "אלמה", - "נעמה", "עדי", "שקד", "עופרי", "שי", "מיקה", "הדס", "דבורה", "מעיין", "לני", "נטע", - "נועם", "הדר", "הללי", "מיאל", "אליה", "ליב", "נחמה", "אור", "ברכה", "אופיר", "אביב", - "ריף", "צפורה", "שיר", "שחר", "עמנואל", "חוה", "ליאל", "מוריה", "מיכאלה", "דניאל", "ירדן", - "שושנה", "זוהר", "אביטל", "עדן", "מאי", "ניב", "אלי", "שוהם", "אלין", "עמית", "אביה", - "גלי", "בר", "אן", "שיה", "בתיה", "יולי", "פיגא", "הילי", "רני", "אנאל", "שייה", - "גילי", "שני", "יסכה", "איימי", "זיו", "בת שבע", "כרמל", "סול", "דריה", "נאיה", "אודל", - "יערה", "שולמית", "שילת", "דניאלה", "אמונה", "ענהאל", "אמיליה", "ליבא", "מילה", "רונה", "אורין", - "ארייה", "שיינא", "טובה", "רותם", "גיטל", "גל", "יוכבד", "מאור", "אוריאן", "תבל", "טל", - "שיראל", "שפרה", "יעלה", "פנינה", "אלכס", "ליאור", "משי", "אליאן", "יהב", "איילת", "רננה", - "צופיה", "עמליה", "אורה", "תאיר", "מיילי", "איב", "לורן", "לירי", "זואי", "אמי", "ים", - "יהל", "סופיה", "קרני", "אליענה", "רון", "בת", "אלונה", "בלומה", "דני", "לייה", "אדוה", - "ניצן", "לינוי", "רז", "רנה", "הינדא", "עדינה", "ענבר", "לין", "דור", "אייר", "אחינועם", - "פלג", "אודיה", "אריאה", "עדיה", "עטרה", "דינה", "נלי", "גילה", "ארין", "אמור", "צביה", - "כרמי", "הלני", "נוי", "אנה", "ליאה", "גוני", "שיינדל", "לוטם", "פערל", "ליאם", "דורון", - "גולדה", "כרם", "פריאל", "ליהי", "תפארת", "כליל", "אודליה", "נינה", "אלומה", "יוטא", "בארי", - "רינה", "תמרה", "אופק", "דרור", "חן", "לילי", "אהובה", "רעות", "אמלי", "רייזל", "תגל", - "עידן", "מישל", "אווה", "מנור", "מילי", "נסיה", "דוריה", "בילא", "גיל", "סתיו", "קים", - "אלמוג", "אדר", "חושן", "ספיר", "אילת", "סהר", "יפה", "אלינור", "מיי", "שלי", "תום", - "מיתר", "נילי", "היילי", "יסמין", "ירין", "ריין", "לירון", "איטה", "ליהיא", "מרגלית", "מייה", - "גיטי", "אושר", "תומר", "אופל", "איידל", "חגית", "מנוחה", "ניקול", "סימה", "דר", "נאוה", - "תהלה", "מאורי", "אסנת", "טויבא", "רוחמה", "שירי", "הניה", "פריידא", "קדם", "בל", "אליאנה", - "קמה", "רום", "פאר", "לי", "מטר", "סימא", "עליזה", "ריי", "אוליביה", "אשירה", "הענא"}; - -const std::array israelisLastNames = { - "כהן", "לוי", "מזרחי", "פרץ", "ביטון", "דהן", "אברהם", "פרידמן", "אזולאי", - "מלכה", "כץ", "דוד", "אוחיון", "חדד", "עמר", "גבאי", "יוסף", "בן דוד", - "אדרי", "קליין", "חן", "טל", "לוין", "שפירא", "חזן", "מחאמיד", "זועבי", - "לוין", "מנשה", "אוחנה", "סועאד", "גולן", "סגל", "אשכנזי", "יצחק", "בר", - "יעקב", "מור", "שלום", "אליהו", "דיין", "סויסה", "לביא", "אלבז", "שמש", - "אטיאס", "בכר", "נחום", "שטרן", "שרעבי", "אלון", "רוזנברג", "ממן", "בן חמו", - "מימון", "שחר", "וקנין", "ששון", "עובדיה", "אסולין", "שורץ", "מאיר", "וייס", - "גרינברג", "חסן", "אמסלם", "גולדשטיין", "ברוך", "טאהא", "עזרא", "יפרח", "פלדמן", - "רובין", "הראל", "סלאמה", "סבג", "קדוש", "מנסור", "עמאש", "חיים", "שחאדה", - "רז", "קורן", "גולדברג", "צור", "חסון", "אברמוב", "שרון", "רבינוביץ", "סופר", - "חלבי", "ישראל", "דדון", "יצחקי", "שוורץ", "ישראלי", "דניאל", "נעים", "אהרוני", - "לב", "עיסא", "רחמים", "הרוש", "נאסר", "שושן", "ברק", "יחזקאל", "דוידוב", - "יאסין", "מילר", "אורן", "עודה", "קפלן", "סלימאן", "בנימין", "נגר", "חיון", - "גרוס", "רוזן", "גל", "הרשקוביץ", "סולומון", "אסרף", "מלול", "אבו כף", "סלע", - "שטרית", "אבראהים", "ברקוביץ", "יהודה", "פלד", "צרפתי", "הייב", "בן שושן", "זידאן", - "זוהר", "שלו", "עלי", "זיו", "עמאר", "גאנם", "גוטמן", "אהרון", "גנאים", - "מויאל", "מרעי", "אבו ליל", "אלפסי", "אליאס", "אדלר", "פרנקל", "גאבר", "פלג", - "פישר", "ברגר", "ראובן", "מסרי", "שכטר", "צדוק", "ויצמן", "הלוי", "אביטן", - "אהרון", "לוגסי", "נסים", "רוזנפלד", "מועלם", "שוויקי", "ליפשיץ", "דרעי", "עטיה", - "תורגמן", "עואד", "שוקרון", "שקד", "דגן", "שמעוני", "דיאב", "רוט", "ליברמן", - "יעקובוב", "ליבוביץ", "סעיד", "מנחם", "בן חיים", "חורי", "פולק", "ברכה", "עאסלה", - "פוקס", "חדאד", "גולדמן", "שמואלי", "שגב", "אברהמי", "מוסא", "תורג'מן", "פרי", - "הררי", "אילוז", "סרחאן", "מנשה", "אוזן", "מרדכי", "קוגן", "יונס", "צברי", - "עומר", "קרן", "שדה", "ח'לאילה", "שאול", "אביטל", "שני", "סלומון", "קאסם", - "אלימלך", "שטיין", "עבדאללה", "שיטרית", "דרור", "מלמד", "יונה", "כחלון", "חביב", - "טויטו", "חביבאללה", "סבן", "חמו", "פנחס", "בן עמי", "סעדי", "בוזגלו", "דנינו", - "פז", "חמדאן", "בן סימון", "רוזנטל", "בן משה", "סעד", "גדיר", "יוסופוב", "בוסקילה", - "בדארנה", "ארביב", "אמארה", "דביר", "אבו אל היג'א", "אביב", "עליאן", "שלמה", "פורת", - "פריד", "גוטליב", "חיימוב", "קאופמן", "רביבו", "אשר", "אבו סאלח", "מרקוביץ", "אביטבול", - "אברמוביץ", "יעקבי", "שניידר", "אבו רמילה", "אלקיים", "רגב", "נחמני", "זהבי", "פינטו"}; - -const NameFormats israelisNameFormats{{"{lastName} {firstName}", 1}}; - -const PeopleNames israeliPeopleNames{{israelisMaleFirstNames, israelisLastNames, {}, {}}, - {israelisFemaleFirstNames, israelisLastNames, {}, {}}, - israelisNameFormats}; - -// Italy - -const std::array italianMaleFirstNames = { - "Abaco", "Abbondanzio", "Abbondio", "Abdone", "Abelardo", "Abele", "Abenzio", - "Abibo", "Abramio", "Abramo", "Acacio", "Acario", "Accursio", "Achille", - "Acilio", "Aciscolo", "Acrisio", "Adalardo", "Adalberto", "Adalfredo", "Adalgiso", - "Adalrico", "Adamo", "Addo", "Adelardo", "Adelberto", "Adelchi", "Adelfo", - "Adelgardo", "Adelmo", "Adeodato", "Adolfo", "Adone", "Adriano", "Adrione", - "Afro", "Agabio", "Agamennone", "Agapito", "Agazio", "Agenore", "Agesilao", - "Agostino", "Agrippa", "Aiace", "Aidano", "Aimone", "Aladino", "Alamanno", - "Alano", "Alarico", "Albano", "Alberico", "Alberto", "Albino", "Alboino", - "Albrico", "Alceo", "Alceste", "Alcibiade", "Alcide", "Alcino", "Aldo", - "Aldobrando", "Aleandro", "Aleardo", "Aleramo", "Alessandro", "Alessio", "Alfio", - "Alfonso", "Alfredo", "Algiso", "Alighiero", "Almerigo", "Almiro", "Aloisio", - "Alvaro", "Alviero", "Alvise", "Amabile", "Amadeo", "Amando", "Amanzio", - "Amaranto", "Amato", "Amatore", "Amauri", "Ambrogio", "Ambrosiano", "Amedeo", - "Amelio", "Amerigo", "Amico", "Amilcare", "Amintore", "Amleto", "Amone", - "Amore", "Amos", "Ampelio", "Anacleto", "Andrea", "Angelo", "Aniceto", - "Aniello", "Annibale", "Ansaldo", "Anselmo", "Ansovino", "Antelmo", "Antero", - "Antimo", "Antino", "Antioco", "Antonello", "Antonio", "Apollinare", "Apollo", - "Apuleio", "Aquilino", "Araldo", "Aratone", "Arcadio", "Archimede", "Archippo", - "Arcibaldo", "Ardito", "Arduino", "Aresio", "Argimiro", "Argo", "Arialdo", - "Ariberto", "Ariele", "Ariosto", "Aris", "Aristarco", "Aristeo", "Aristide", - "Aristione", "Aristo", "Aristofane", "Aristotele", "Armando", "Arminio", "Arnaldo", - "Aronne", "Arrigo", "Arturo", "Ascanio", "Asdrubale", "Asimodeo", "Assunto", - "Asterio", "Astianatte", "Ataleo", "Atanasio", "Athos", "Attila", "Attilano", - "Attilio", "Auberto", "Audace", "Augusto", "Aureliano", "Aurelio", "Auro", - "Ausilio", "Averardo", "Azeglio", "Azelio", "Bacco", "Baldassarre", "Balderico", - "Baldo", "Baldomero", "Baldovino", "Barbarigo", "Bardo", "Bardomiano", "Barnaba", - "Barsaba", "Barsimeo", "Bartolo", "Bartolomeo", "Basileo", "Basilio", "Bassiano", - "Bastiano", "Battista", "Beato", "Bellino", "Beltramo", "Benedetto", "Beniamino", - "Benigno", "Benito", "Benvenuto", "Berardo", "Berengario", "Bernardo", "Beronico", - "Bertoldo", "Bertolfo", "Biagio", "Bibiano", "Bindo", "Bino", "Birino", - "Bonagiunta", "Bonaldo", "Bonaventura", "Bonavita", "Bonifacio", "Bonito", "Boris", - "Bortolo", "Brancaleone", "Brando", "Bruno", "Bruto", "Caino", "Caio", - "Calanico", "Calcedonio", "Callisto", "Calogero", "Camillo", "Candido", "Cantidio", - "Canziano", "Carlo", "Carmelo", "Carmine", "Caronte", "Carponio", "Casimiro", - "Cassiano", "Cassio", "Casto", "Cataldo", "Catullo", "Cecco", "Cecilio", - "Celso", "Cesare", "Cesario", "Cherubino", "Chiaffredo", "Cino", "Cipriano", - "Cirano", "Ciriaco", "Cirillo", "Cirino", "Ciro", "Clarenzio", "Claudio", - "Cleandro", "Clemente", "Cleonico", "Climaco", "Clinio", "Clodomiro", "Clodoveo", - "Colmanno", "Colmazio", "Colombano", "Colombo", "Concetto", "Concordio", "Corbiniano", - "Coreno", "Coriolano", "Cornelio", "Coronato", "Corrado", "Cosimo", "Cosma", - "Costante", "Costantino", "Costanzo", "Cremenzio", "Crescente", "Crescenzio", "Crespignano", - "Crispino", "Cristaldo", "Cristiano", "Cristoforo", "Crocefisso", "Cuniberto", "Cupido", - "Daciano", "Dacio", "Dagoberto", "Dalmazio", "Damaso", "Damiano", "Damocle", - "Daniele", "Danilo", "Danio", "Dante", "Dario", "Davide", "Davino", - "Decimo", "Delfino", "Demetrio", "Democrito", "Demostene", "Deodato", "Desiderato", - "Desiderio", "Didimo", "Diego", "Dino", "Diocleziano", "Diodoro", "Diogene", - "Diomede", "Dione", "Dionigi", "Dionisio", "Divo", "Dodato", "Domenico", - "Domezio", "Domiziano", "Donatello", "Donato", "Doriano", "Doroteo", "Duccio", - "Duilio", "Durante", "Eberardo", "Ecclesio", "Edgardo", "Edilberto", "Edmondo", - "Edoardo", "Efisio", "Efrem", "Egeo", "Egidio", "Eginardo", "Egisto", - "Eleuterio", "Elia", "Eliano", "Elifio", "Eligio", "Elio", "Eliodoro", - "Eliseo", "Elita", "Elmo", "Elogio", "Elpidio", "Elvezio", "Elvino", - "Emanuele", "Emidio", "Emiliano", "Emilio", "Emmerico", "Empirio", "Endrigo", - "Enea", "Enecone", "Ennio", "Enrico", "Enzo", "Eraclide", "Eraldo", - "Erardo", "Erasmo", "Erberto", "Ercolano", "Ercole", "Erenia", "Eriberto", - "Erico", "Ermanno", "Ermenegildo", "Ermes", "Ermete", "Ermilo", "Erminio", - "Ernesto", "Eros", "Esaù", "Esuperio", "Eterie", "Ettore", "Euclide", - "Eufebio", "Eufemio", "Eufronio", "Eugenio", "Eusebio", "Euseo", "Eustorgio", - "Eustosio", "Eutalio", "Evaldo", "Evandro", "Evaristo", "Evasio", "Everardo", - "Evidio", "Evodio", "Evremondo", "Ezechiele", "Ezio", "Fabiano", "Fabio", - "Fabrizio", "Famiano", "Fausto", "Fazio", "Fedele", "Federico", "Fedro", - "Felice", "Feliciano", "Ferdinando", "Fermiano", "Fermo", "Fernando", "Ferruccio", - "Festo", "Fidenziano", "Fidenzio", "Filiberto", "Filippo", "Filomeno", "Fiorenziano", - "Fiorenzo", "Flaviano", "Flavio", "Fleano", "Floriano", "Folco", "Fortunato", - "Fosco", "Francesco", "Franco", "Frido", "Frontiniano", "Fulberto", "Fulgenzio", - "Fulvio", "Furio", "Furseo", "Fuscolo", "Gabino", "Gabriele", "Gaetano", - "Gaglioffo", "Gaio", "Galdino", "Galeazzo", "Galileo", "Gallicano", "Gandolfo", - "Garimberto", "Gaspare", "Gastone", "Gaudenzio", "Gaudino", "Gautiero", "Gavino", - "Gedeone", "Geminiano", "Generoso", "Genesio", "Gennaro", "Gentile", "Genziano", - "Gerardo", "Gerasimo", "Geremia", "Gerino", "Germano", "Gerolamo", "Geronimo", - "Geronzio", "Gervasio", "Gesualdo", "Gherardo", "Giacinto", "Giacobbe", "Giacomo", - "Giadero", "Giambattista", "Gianbattista", "Giancarlo", "Giandomenico", "Gianfranco", "Gianluca", - "Gianluigi", "Gianmarco", "Gianmaria", "Gianmario", "Gianni", "Gianpaolo", "Gianpiero", - "Gianpietro", "Gianuario", "Giasone", "Gilberto", "Gildo", "Gillo", "Gineto", - "Gino", "Gioacchino", "Giobbe", "Gioberto", "Giocondo", "Gioele", "Giona", - "Gionata", "Giordano", "Giorgio", "Giosuè", "Giosuele", "Giotto", "Giovanni", - "Giove", "Gioventino", "Giovenzio", "Girardo", "Girolamo", "Giuda", "Giuliano", - "Giulio", "Giuseppe", "Giustiniano", "Giusto", "Glauco", "Goffredo", "Golia", - "Gomberto", "Gondulfo", "Gonerio", "Gonzaga", "Gordiano", "Gosto", "Gottardo", - "Graciliano", "Grato", "Graziano", "Gregorio", "Grimaldo", "Gualberto", "Gualtiero", - "Guelfo", "Guerrino", "Guglielmo", "Guiberto", "Guido", "Guiscardo", "Gumesindo", - "Gustavo", "Iacopo", "Iacopone", "Iago", "Icaro", "Icilio", "Ido", - "Iginio", "Igino", "Ignazio", "Igor", "Ilario", "Ildebrando", "Ildefonso", - "Illidio", "Illuminato", "Immacolato", "Indro", "Innocente", "Innocenzo", "Iorio", - "Ippocrate", "Ippolito", "Ireneo", "Isacco", "Isaia", "Ischirione", "Isidoro", - "Ismaele", "Italo", "Ivan", "Ivano", "Ivanoe", -}; - -const std::array italianFemaleFirstNames = { - "Abbondanza", "Acilia", "Ada", "Adalberta", "Adalgisa", "Addolorata", "Adelaide", "Adelasia", - "Adele", "Adelina", "Adina", "Adria", "Adriana", "Agape", "Agata", "Agnese", - "Agostina", "Aida", "Alba", "Alberta", "Albina", "Alcina", "Alda", "Alessandra", - "Alessia", "Alfonsa", "Alfreda", "Alice", "Alida", "Alina", "Allegra", "Alma", - "Altea", "Amalia", "Amanda", "Amata", "Ambra", "Amelia", "Amina", "Anastasia", - "Anatolia", "Ancilla", "Andromeda", "Angela", "Angelica", "Anita", "Anna", "Annabella", - "Annagrazia", "Annamaria", "Annunziata", "Antea", "Antigone", "Antonella", "Antonia", "Apollina", - "Apollonia", "Appia", "Arabella", "Argelia", "Arianna", "Armida", "Artemisa", "Asella", - "Asia", "Assunta", "Astrid", "Atanasia", "Aurelia", "Aurora", "Ausilia", "Ausiliatrice", - "Ave", "Aza", "Azelia", "Azzurra", "Babila", "Bambina", "Barbara", "Bartolomea", - "Basilia", "Bassilla", "Batilda", "Beata", "Beatrice", "Belina", "Benedetta", "Beniamina", - "Benigna", "Benvenuta", "Berenice", "Bernadetta", "Betta", "Bianca", "Bibiana", "Bice", - "Brigida", "Brigitta", "Bruna", "Brunilde", "Calogera", "Calpurnia", "Camelia", "Camilla", - "Candida", "Capitolina", "Carina", "Carla", "Carlotta", "Carmela", "Carmen", "Carola", - "Carolina", "Casilda", "Casimira", "Cassandra", "Cassiopea", "Catena", "Caterina", "Cecilia", - "Celeste", "Celinia", "Chiara", "Cinzia", "Cirilla", "Clara", "Claudia", "Clelia", - "Clemenzia", "Cleo", "Cleofe", "Cleopatra", "Cloe", "Clorinda", "Cointa", "Colomba", - "Concetta", "Consolata", "Cora", "Cordelia", "Corinna", "Cornelia", "Cosima", "Costanza", - "Crescenzia", "Cristiana", "Cristina", "Crocefissa", "Cronida", "Cunegonda", "Cuzia", "Dafne", - "Dalida", "Dalila", "Damiana", "Daniela", "Daria", "Deanna", "Debora", "Degna", - "Delfina", "Delia", "Delinda", "Delizia", "Demetria", "Deodata", "Desdemona", "Desiderata", - "Devota", "Diamante", "Diana", "Dianora", "Diletta", "Dina", "Diodata", "Dionisia", - "Doda", "Dolores", "Domenica", "Donata", "Donatella", "Donna", "Dora", "Dorotea", - "Druina", "Dulina", "Ebe", "Edda", "Edelberga", "Editta", "Edvige", "Egizia", - "Egle", "Elaide", "Elda", "Elena", "Eleonora", "Elettra", "Eliana", "Elide", - "Elimena", "Elisa", "Elisabetta", "Elisea", "Ella", "Eloisa", "Elsa", "Elvia", - "Elvira", "Emanuela", "Emilia", "Emiliana", "Emma", "Enimia", "Enrica", "Eracla", - "Ermelinda", "Ermenegarda", "Ermenegilda", "Erminia", "Ernesta", "Ersilia", "Esmeralda", "Estella", - "Ester", "Esterina", "Eufemia", "Eufrasia", "Eugenia", "Eulalia", "Euridice", "Eusebia", - "Eutalia", "Eva", "Evangelina", "Evelina", "Fabiana", "Fabiola", "Fatima", "Fausta", - "Federica", "Fedora", "Felicia", "Felicita", "Fernanda", "Fiammetta", "Filippa", "Filomena", - "Fiordaliso", "Fiore", "Fiorella", "Fiorenza", "Flaminia", "Flavia", "Flaviana", "Flora", - "Floriana", "Floridia", "Florina", "Foca", "Fortunata", "Fosca", "Franca", "Francesca", - "Fulvia", "Gabriella", "Gaia", "Galatea", "Gaudenzia", "Gelsomina", "Geltrude", "Gemma", - "Generosa", "Genesia", "Genoveffa", "Germana", "Gertrude", "Ghita", "Giacinta", "Giada", - "Gigliola", "Gilda", "Giliola", "Ginevra", "Gioacchina", "Gioconda", "Gioia", "Giorgia", - "Giovanna", "Gisella", "Giuditta", "Giulia", "Giuliana", "Giulitta", "Giuseppa", "Giuseppina", - "Giusta", "Glenda", "Gloria", "Godeberta", "Godiva", "Grazia", "Graziana", "Graziella", - "Greta", "Griselda", "Guenda", "Guendalina", "Gundelinda", "Ianira", "Ida", "Idea", - "Iginia", "Ilaria", "Ilda", "Ildegarda", "Ildegonda", "Ileana", "Ilenia", "Ilia", - "Ilva", "Imelda", "Immacolata", "Incoronata", "Ines", "Innocenza", "Iolanda", "Iole", - "Iona", "Ione", "Ionne", "Irene", "Iride", "Iris", "Irma", "Irmina", - "Isa", "Isabella", "Iside", "Isidora", "Isotta", "Italia", "Ivetta", "Lara", - "Laura", "Lavinia", "Lea", "Leda", "Lelia", "Lena", "Leonia", "Leonilda", - "Leontina", "Letizia", "Lia", "Liana", "Liberata", "Liboria", "Licia", "Lidania", - "Lidia", "Liliana", "Linda", "Lisa", "Livia", "Liviana", "Lodovica", "Loredana", - "Lorella", "Lorena", "Lorenza", "Loretta", "Loriana", "Luana", "Luce", "Lucia", - "Luciana", "Lucilla", "Lucrezia", "Ludovica", "Luigia", "Luisa", "Luminosa", "Luna", - "Macaria", "Maddalena", "Mafalda", "Magda", "Maida", "Manuela", "Mara", "Marana", - "Marcella", "Mareta", "Margherita", "Maria", "Marianna", "Marica", "Mariella", "Marilena", - "Marina", "Marinella", "Marinetta", "Marisa", "Marita", "Marta", "Martina", "Maruta", - "Marzia", "Massima", "Matilde", "Maura", "Melania", "Melissa", "Melitina", "Menodora", - "Mercede", "Messalina", "Mia", "Michela", "Milena", "Mimma", "Mina", "Minerva", - "Minervina", "Miranda", "Mirella", "Miriam", "Mirta", "Moira", "Monica", "Morena", - "Morgana", "Nadia", "Natalia", "Natalina", "Neiva", "Nerea", "Nicla", "Nicoletta", - "Nilde", "Nina", "Ninfa", "Nives", "Noemi", "Norina", "Norma", "Novella", - "Nuccia", "Nunziata", "Odetta", "Odilia", "Ofelia", "Olga", "Olimpia", "Olinda", - "Olivia", "Oliviera", "Ombretta", "Ondina", "Onesta", "Onorata", "Onorina", "Orchidea", - "Oriana", "Orietta", "Ornella", "Orsola", "Orsolina", "Ortensia", "Osanna", "Otilia", - "Ottilia", "Palladia", "Palmazio", "Palmira", "Pamela", "Paola", "Patrizia", "Pelagia", - "Penelope", "Perla", "Petronilla", "Pia", "Piera", "Placida", "Polissena", "Porzia", - "Prisca", "Priscilla", "Proserpina", "Prospera", "Prudenzia", "Quartilla", "Quieta", "Quiteria", - "Rachele", "Raffaella", "Rainelda", "Rebecca", "Regina", "Renata", "Riccarda", "Rina", - "Rita", "Roberta", "Romana", "Romilda", "Romina", "Romola", "Rosa", "Rosalia", - "Rosalinda", "Rosamunda", "Rosanna", "Rosita", "Rosmunda", "Rossana", "Rossella", "Rufina", - "Saba", "Sabina", "Sabrina", "Samanta", "Samona", "Sandra", "Santina", "Sara", - "Savina", "Scolastica", "Sebastiana", "Seconda", "Secondina", "Sefora", "Selene", "Selvaggia", - "Semiramide", "Serafina", "Serena", "Severa", "Sibilla", "Sidonia", "Silvana", "Silvia", - "Simona", "Simonetta", "Siria", "Smeralda", "Soave", "Sofia", "Sofronia", "Solange", - "Sonia", "Speranza", "Stefania", "Stella", "Susanna", "Sveva", "Tabita", "Tamara", - "Tarquinia", "Tarsilla", "Taziana", "Tea", "Tecla", "Telica", "Teodata", "Teodolinda", - "Teodora", "Teresa", "Teudosia", "Tina", "Tiziana", "Tosca", "Trasea", "Tullia", - "Ugolina", "Ulfa", "Uliva", "Unna", "Vala", "Valentina", "Valeria", "Valeriana", - "Vanda", "Vanessa", "Vanna", "Venera", "Veneranda", "Venere", "Venusta", "Vera", - "Verdiana", "Verena", "Veriana", "Veridiana", "Veronica", "Viliana", "Vilma", "Vincenza", - "Viola", "Violante", "Virginia", "Vissia", "Vittoria", "Viviana", "Wanda", "Zabina", - "Zaira", "Zama", "Zanita", "Zarina", "Zelinda", "Zenobia", "Zita", "Zoe", - "Zosima"}; - -const std::array italianLastNames = { - "Abate", "Abbate", "Abbondanza", "Abbrescia", "Accardi", "Accardo", "Accurso", - "Aceto", "Acquadro", "Acquaviva", "Acquistapace", "Adami", "Adamo", "Addari", - "Addis", "Adragna", "Affinito", "Agnello", "Agostinelli", "Agostini", "Agresta", - "Aiello", "Alaimo", "Albanese", "Albano", "Alberti", "Alcamo", "Alessandrini", - "Alessi", "Alfano", "Alfieri", "Alivernini", "Allegretti", "Aloi", "Altieri", - "Amabile", "Amadori", "Amato", "Ambrosini", "Ambrosino", "Ambrosio", "Amendola", - "Amerio", "Amici", "Amico", "Ammoscato", "Amoroso", "Amoruso", "Ancona", - "Andreoli", "Andrisani", "Anelli", "Angeletti", "Angeli", "Angelini", "Angeloni", - "Angelucci", "Annunziata", "Anselmi", "Anselmo", "Antenucci", "Antezza", "Antonacci", - "Antonelli", "Antonini", "Antonucci", "Anzalone", "Apicella", "Aprile", "Aquino", - "Aramini", "Arcangeli", "Arena", "Argenio", "Argento", "Argiolas", "Artioli", - "Asaro", "Ascione", "Astolfi", "Atzeni", "Atzori", "Avallone", "Avola", - "Azara", "Babini", "Bacci", "Baggio", "Baiocco", "Balboni", "Baldacci", - "Baldassarre", "Baldi", "Baldini", "Baldo", "Balducci", "Balestra", "Balistreri", - "Ballarin", "Balsamo", "Balzano", "Bandini", "Bani", "Baraldi", "Barbagallo", - "Barbarossa", "Barbarulo", "Barbato", "Barbera", "Barberi", "Barberis", "Barbero", - "Barbieri", "Barbiero", "Barile", "Barillà", "Barletta", "Barone", "Baroni", - "Barra", "Barreca", "Barresi", "Barretta", "Barsotti", "Bartoli", "Bartolini", - "Bartolomei", "Bartolucci", "Basile", "Bassani", "Bassi", "Basso", "Battaglia", - "Battista", "Battisti", "Battistini", "Bedini", "Belli", "Bellini", "Bellomo", - "Bellotti", "Bellucci", "Belmonte", "Belotti", "Beltrame", "Beltrami", "Belvisi", - "Benatti", "Benedetti", "Benedetto", "Benetti", "Benigni", "Benini", "Bennardo", - "Bentivoglio", "Benvenuti", "Benvenuto", "Berardi", "Beretta", "Bergamasco", "Bergamini", - "Bernabei", "Bernardi", "Bernardini", "Bernasconi", "Bertaccini", "Bertani", "Bertelli", - "Berti", "Bertini", "Berto", "Bertolini", "Bertolussi", "Beso", "Betti", - "Bevilacqua", "Biagetti", "Biagi", "Biagini", "Bianc", "Biancheri", "Bianchetti", - "Bianchi", "Bianchini", "Bianco", "Biasci", "Biccari", "Biggi", "Bindi", - "Bini", "Bionaz", "Biondi", "Bisconti", "Bisio", "Bizzarri", "Blanc", - "Blasi", "Bocchi", "Boccia", "Bodini", "Boffa", "Boi", "Bologna", - "Bonanni", "Bonanno", "Bonato", "Bonazzi", "Bonelli", "Bonetti", "Bongiorno", - "Bongiovanni", "Boni", "Bonifazi", "Bonini", "Bono", "Bonomi", "Bonomo", - "Bordoni", "Borelli", "Borghi", "Borgia", "Borrelli", "Bortolin", "Bortoluzzi", - "Bortot", "Boscaino", "Boschetti", "Boschi", "Bosco", "Boscolo", "Bosi", - "Botta", "Bove", "Bovolenta", "Bozzi", "Bozzo", "Braia", "Brambilla", - "Branca", "Brandi", "Bresciani", "Bressan", "Briano", "Brigandì", "Brignone", - "Brizzi", "Brogi", "Brumat", "Brunelli", "Brunetti", "Bruni", "Bruno", - "Bruschi", "Bruzzone", "Buccheri", "Bucci", "Bulgarelli", "Buongiorno", "Buonomo", - "Burgio", "Butera", "Buzzi", "Cabras", "Caccamo", "Caccavo", "Cacciapuoti", - "Cacciatore", "Cadoni", "Caforio", "Caggiano", "Caiazza", "Caiazzo", "Calabrese", - "Calabria", "Calabrò", "Calafiore", "Calandro", "Calì", "Califano", "Callegari", - "Calligaris", "Calò", "Camilli", "Cammarata", "Cammisa", "Campagna", "Campana", - "Campanella", "Campanile", "Campanini", "Campisi", "Campo", "Campoli", "Campus", - "Canale", "Cancelliere", "Cancellieri", "Candela", "Candido", "Canepa", "Cangiano", - "Canino", "Cannas", "Cannata", "Cannella", "Cannone", "Canova", "Cantagallo", - "Cantoni", "Canu", "Capannolo", "Capasso", "Capecchi", "Capelli", "Capitani", - "Capizzi", "Capoccia", "Capocotta", "Capogna", "Capone", "Caporaso", "Cappai", - "Cappelletti", "Cappelli", "Cappello", "Cappiello", "Capponi", "Capraro", "Capriotti", - "Capuano", "Caputo", "Cara", "Caracciolo", "Caradonna", "Carbon", "Carbone", - "Carboni", "Cardella", "Cardia", "Cardinale", "Cardinali", "Cardini", "Cardone", - "Carè", "Careddu", "Carella", "Caretti", "Caricari", "Carini", "Carletti", - "Carli", "Carlini", "Carlino", "Carloni", "Carlotti", "Carlucci", "Carminati", - "Carnevale", "Carnovale", "Carollo", "Carosi", "Carrara", "Carraro", "Carrieri", - "Carriero", "Carrozza", "Carrozzo", "Carrus", "Carta", "Caruso", "Carvelli", - "Casadei", "Casadio", "Casagrande", "Casale", "Casali", "Casano", "Casavecchia", - "Cascio", "Cascone", "Casella", "Caselli", "Caserta", "Casini", "Casolaro", - "Cassano", "Castagna", "Castaldi", "Castaldo", "Castellana", "Castellani", "Castellano", - "Castelli", "Castiello", "Castiglioni", "Casu", "Casula", "Catalano", "Cataldi", - "Cataldo", "Catania", "Catanzaro", "Catarsi", "Catellani", "Caterino", "Cattaneo", - "Cattani", "Cavaliere", "Cavalieri", "Cavallari", "Cavallaro", "Cavalli", "Cavallini", - "Cavallo", "Cavriani", "Ceccarelli", "Ceccarini", "Cecchetti", "Cecchi", "Cecchini", - "Cecere", "Celano", "Celentano", "Celeste", "Celi", "Celli", "Cellini", - "Cenni", "Centofanti", "Cerise", "Cerrani", "Cerrato", "Cerri", "Cerullo", - "Cerutti", "Cesaretti", "Cherchi", "Cherubini", "Chessa", "Chessari", "Chiacchio", - "Chianese", "Chiaravalle", "Chiavacci", "Chilà", "Chimenti", "Chiodi", "Chirico", - "Ciaccio", "Ciacio", "Ciampa", "Cianci", "Ciani", "Ciavarella", "Cicala", - "Cicatiello", "Ciccarelli", "Cicchetti", "Ciccone", "Cifarelli", "Cilli", "Cimmino", - "Cinelli", "Cingolani", "Cini", "Cioffi", "Cioni", "Ciotola", "Ciotti", - "Cipolla", "Cipollaro", "Cipolletta", "Cipriani", "Cipriano", "Cirelli", "Cirillo", - "Citro", "Cittadino", "Ciuffetelli", "Ciuffreda", "Ciulla", "Clemente", "Coccia", - "Cocco", "Cola", "Colangelo", "Colantuono", "Colella", "Coletta", "Colombo", - "Colonna", "Colucci", "Comito", "Como", "Concas", "Conforti", "Congiu", - "Coniglio", "Consiglio", "Cont", "Conte", "Conti", "Contini", "Contu", - "Coppola", "Corazza", "Cordioli", "Coretti", "Corona", "Corradi", "Corradini", - "Corrado", "Corrao", "Correale", "Corridori", "Corsi", "Corsini", "Corso", - "Cortese", "Cortesi", "Corti", "Cortinovis", "Cosentino", "Coslovich", "Cossu", - "Costa", "Costantin", "Costantini", "Costantino", "Costanza", "Costanzo", "Cottone", - "Coviello", "Cozzani", "Cozzi", "Cozzolino", "Crea", "Cremona", "Cremonesi", - "Crepaldi", "Crescenzi", "Crespi", "Crevatin", "Crimi", "Crippa", "Crisafulli", - "Criscenti", "Crisci", "Criscione", "Crispino", "Cristiano", "Cristofaro", "Critelli", - "Croce", "Cruciani", "Cruciata", "Cucchiara", "Cucciniello", "Cuomo", "Curci", - "Curcio", "Curreli", "Fucci", "Fumagalli", "Fumarola", "Fuoco", "Furlan", - "Furno", "Fusaro", "Fusco", "Gabriele", "Gabrielli", "Gaddini", "Gagliano", - "Gagliardi", "Galante", "Galasso", "Galati", "Galeazzi", "Galli", "Gallo", - "Galluzzo", "Gamba", "Gamberini", "Gambino", "Gamper", "Gandolfo", "Gangemi", - "Garau", "Garavaglia", "Gargiulo", "Garifo", "Garofalo", "Gaspari", "Gasparini", - "Gasser", "Gatta", "Gatti", "Gatto", "Gaudiano", -}; - -const std::array italianPrefixes{"Sig.", "Dott.", "Dr.", "Ing."}; - -const NameFormats italianNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 9}}}; - -const PeopleNames italianPeopleNames{{italianMaleFirstNames, italianLastNames, italianPrefixes, {}}, - {italianFemaleFirstNames, italianLastNames, italianPrefixes, {}}, - italianNameFormats}; - -// Japan - -const std::array japaneseMaleFirstNames{ - "正一", "正二", "正三", "清", "辰雄", "三郎", "昭二", "昭三", "茂", "勇", "明", "弘", "勝", "稔", - "博", "隆", "誠", "浩", "健一", "大輔", "達也", "翔太", "拓也", "健太", "大輝", "翔", "駿", "蓮", - "大翔", "陸", "悠真", "蒼", "昭", "実", "進", "和夫", "修", "浩一", "哲也", "剛", "大介", "海斗", - "拓海", "颯太", "悠斗", "陽翔", "湊", "新", "樹", "正雄", "勝利", "豊", "和彦", "学", "直樹", "健太郎", - "大和", "陽向", "瑛太", "陽太", "正", "一郎", "勲", "徹", "浩二", "亮", "大樹", "翼", "義雄", "昭一", - "功", "武", "淳", "和也", "大地", "匠", "悠人", "朝陽", "律", "武雄", "英樹", "秀樹", "祐介", "雄太", - "翔平", "大貴", "太陽", "颯", "陽斗", "颯真", "蒼空", "優斗", "正治", "昇", "竜也", "聡", "貴大", "直人", - "輝", "優太", "悠太", "陸斗", "太一", "悠", "浩之", "健", "博之", "亮太", "一輝", "空", "陽大", "正夫", - "秀雄", "幸雄", "勉", "崇", "洋平", "拓哉", "涼太", "大雅", "海翔", "龍生", "結翔", "悠翔", "葵", "正男", - "辰男", "一男", "優", "雄大", "康平", "智也", "竜", "悠希", "歩夢", -}; -const std::array japaneseFemaleFirstNames{ - "千代子", "静子", "文子", "キヨ", "千代", "ハル", "キミ", "久子", "ヨシ", "清子", "正子", "貞子", - "八重子", "きよ", "フミ", "ハナ", "和子", "愛子", "きみ", "トミ", "はる", "マサ", "美代子", "光子", - "幸子", "照子", "芳子", "節子", "昭子", "信子", "敏子", "典子", "君子", "弘子", "洋子", "美智子", - "京子", "悦子", "栄子", "孝子", "良子", "恵子", "勝子", "紀子", "恵美子", "啓子", "久美子", "由美子", - "裕子", "順子", "智子", "明美", "愛", "恵", "麻衣", "麻美", "香織", "美穂", "彩", "沙織", - "愛美", "絵美", "舞", "恵美", "陽子", "成美", "あゆみ", "美香", "理恵", "友美", "智美", "明日香", - "由佳", "瞳", "麻衣子", "彩香", "真由美", "純子", "直美", "優子", "裕美", "由美", "直子", "めぐみ", - "美紀", "浩子", "ゆかり", "さくら", "美咲", "陽菜", "葵", "七海", "美羽", "結衣", "美月", "凛", - "美優", "未来", "優奈", "萌", "優花", "美桜", "莉子", "菜月", "結愛", "結菜", "花音", "心優", - "真央", "玲奈", "ひなた", "彩乃", "彩花", "優衣", "琴音", "百花", "遥", "里奈", "茜", "千尋", - "楓", "亜美", "佳奈", "真由", "桃子", "菜々子", "千夏", "菜摘", "奈々", "早紀", "杏", "陽葵", - "芽依", "結月", "咲良", "凜", "紬", "心愛", "花", "心春", "愛莉", "愛菜", "桜", "心結", - "美結", -}; - -const std::array japaneseLastNames{ - "佐藤", "鈴木", "高橋", "田中", "渡辺", "伊藤", "山本", "中村", "小林", "加藤", - "吉田", "山田", "佐々木", "山口", "斎藤", "松本", "井上", "木村", "林", "清水", -}; - -const NameFormats japaneseNameFormats{{"{lastName} {firstName}", 1}}; -const PeopleNames japanesePeopleNames{{japaneseMaleFirstNames, japaneseLastNames, {}, {}}, - {japaneseFemaleFirstNames, japaneseLastNames, {}, {}}, - japaneseNameFormats}; - -// Kazakhstan - -const std::array kazakhMaleFirstNames = { - "Абай", "Абдолла", "Абдулла", "Абдуллаһ", "Абдінасір", "Абылай", "Азамат", "Азиз", - "Айбек", "Айберген", "Айболат", "Айдос", "Айнабек", "Айсұлтан", "Айтқали", "Ақжан", - "Ақжол", "Аққу", "Алдаберген", "Алдияр", "Алпан", "Алпысбай", "Алтай", "Алтынбай", - "Алтынбек", "Амангелді", "Амандос", "Аманжол", "Амантай", "Аңсар", "Арыстан", "Арыстанбек", - "Асанбай", "Асанғали", "Асқар", "Асылбек", "Ахмет", "Аюхан", "Әбдуәли", "Әбдіғазиз", - "Әбдіғани", "Әбдіғаппар", "Әбдіжаппар", "Әбдіжәміл", "Әбдіқадыр", "Әбділда", "Әбділхамит", "Әбдімәлік", - "Әбдіразақ", "Әбдірахман", "Әбдірәсіл", "Әбдішүкір", "Әбиірбек", "Әбубәкір", "Әбуғали", "Әбілғазы", - "Әбілқайыр", "Әділ", "Әділбек", "Әділхан", "Әкежан", "Әлжан", "Әлжаппар", "Әли", - "Әлімжан", "Әлімқұл", "Әліхан", "Әмірбек", "Әнес", "Әсет", "Әубәкір", "Әуелхан", - "Бағдат", "Базарбай", "Байысхан", "Бақтияр", "Бақытжан", "Балтабек", "Бауыржан", "Бәкір", - "Бейбіт", "Бейсен", "Бекболат", "Бекзат", "Бердібек", "Бердіқұл", "Болат", "Боранбай", - "Бөріхан", "Бүркітбай", "Біржан", "Ғабдулла", "Ғабдұлла", "Ғабит", "Ғазиз", "Ғазизхан", - "Ғалымжан", "Ғани", "Ғаппар", "Ғұсман", "Дамир", "Даниял", "Дастан", "Дәлелхан", - "Дәнеш", "Дәулет", "Дәуіт", "Дос", "Досай", "Дүйсен", "Дүйсенғазы", "Дінмұхамед", - "Дінмұхаммед", "Еділ", "Елнұр", "Ербол", "Ерболат", "Ербосын", "Ережеп", "Ерекен", - "Еркебұлан", "Еркін", "Ерлан", "Ермек", "Ермұхамет", "Ерік", "Есбосын", "Есенгелді", - "Ескендір", "Жабайхан", "Жақия", "Жақсыбек", "Жақып", "Жақыпбек", "Жамалбек", "Жанбек", - "Жанболат", "Жандос", "Жанқуат", "Жанпейіс", "Жаңабай", "Жаңабек", "Жарасбай", "Жарасқан", - "Жармұқамет", "Жармұхамед", "Жармұхамет", "Жауынбай", "Жеменей", "Жеңіс", "Жолбарыс", "Жолжақсы", - "Жомарт", "Жомартбай", "Жұмабай", "Жұмағали", "Жұмақан", "Жұмамұрат", "Жұманазар", "Жұмекен", - "Жүніс", "Жүсіп", "Жүсіпбек", "Жылқыбек", "Зәкария", "Зәкәрия", "Зұлпықар", "Ибрахим", - "Ибраһим", "Иса", "Ислам", "Исламбек", "Исхақ", "Кәрім", "Кенжеғұл", "Кеңгірбай", - "Керімбай", "Күнесхан", "Қабдолла", "Қабдула", "Қабдыкәрім", "Қабыл", "Қажымқан", "Қайролла", - "Қалихан", "Қалқаман", "Қанат", "Қаныш", "Қаржаубай", "Қасым", "Қасымбек", "Қатшыбек", - "Қияқбай", "Қойшыбек", "Қуан", "Қуаныш", "Қуат", "Құбыш", "Құдайберген", "Құдыс"}; - -const std::array kazakhFemaleFirstNames = { - "Ағила", "Ажар", "Ажаргүл", "Аида", "Айгүл", "Айдай", "Айжан", "Айжүрек", "Айнұр", - "Айша", "Ақбота", "Ақгүл", "Ақерке", "Ақжан", "Ақкүміс", "Аққу", "Алмагүл", "Алтынай", - "Анаргүл", "Ардақ", "Аруай", "Аружан", "Аяжан", "Аяужан", "Әдила", "Әдина", "Әлима", - "Әлия", "Әсел", "Әсемай", "Әсемгүл", "Базаргүл", "Бақаргүл", "Батима", "Бибігүл", "Ботакөз", - "Гауһар", "Гүлажар", "Гүлай", "Гүлбақыт", "Гүлбаршын", "Гүлболсын", "Гүлдана", "Гүлжан", "Гүлжауһар", - "Гүлмира", "Гүлнар", "Гүлнұр", "Гүлпариза", "Гүлфайрус", "Гүлфариза", "Гүлшара", "Гүлшат", "Ғайни", - "Ғалия", "Дариға", "Дәлила", "Дина", "Динара", "Ділдә", "Елерке", "Жазира", "Жамал", - "Жанар", "Жаннұр", "Жансая", "Жәмила", "Жолжақсы", "Жұлдыз", "Жібек", "Зейнекүл", "Зияда", - "Зылиха", "Күнсұлу", "Қадиша", "Қанағат", "Қарақат", "Қасиет", "Ләззат", "Ләтипа", "Лейла", - "Мақпал", "Марияш", "Мәриям", "Нәзерке", "Нұрбақыт", "Нұрзада", "Нұрсауле", "Нұрсұлу", "Перизат", - "Райана", "Райхан", "Раяна", "Рәбиға", "Риза", "Роза", "Сабина", "Сайрагүл", "Салтанат", - "Самал", "Сара", "Сәнімгүл", "Сәуле", "Таңшолпан", "Ұлбала", "Ұлбике", "Ұлболсын", "Ұлдана", - "Ұлжан", "Ұлмекен", "Фатима", "Хадиша", "Халида", "Шарапат", "Шахзада", "Шаһизада", "Шәмшия", - "Шәрбану", "Шолпан", "Ырысты", "Іңкәр"}; - -const std::array kazakhMaleLastNames = { - "Асылмұратов", "Әбдірахманов", "Әлімқұлов", "Етекбаев", "Жүнісов", "Жүсіп", "Иманқұлов", - "Исламқұлов", "Қуатбаев", "Құлов", "Мәженов", "Назарбаев", "Рүстемов", "Сәтбаев", - "Сұлтанбеков", "Сүгірбаев", "Сүлейменов", "Тоқаев", "Торайғыров", "Тұяқбаев", "Ысмайылов"}; - -const std::array kazakhFemaleLastNames = { - "Әбдірахманова", "Әлімқұлова", "Етекбаева", "Жүнісова", "Иманқұлова", "Исламқұлова", - "Қуатбаева", "Құлова", "Мәженова", "Назарбаева", "Рүстемова", "Сұлтанбекова", - "Сүгірбаева", "Сүлейменова", "Тоқаева", "Тұяқбаева", "Ысмайылова", "Асылмұратова"}; - -const NameFormats kazakh_personNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames kazakhPeopleNames{{kazakhMaleFirstNames, kazakhMaleLastNames, {}, {}}, - {kazakhFemaleFirstNames, kazakhFemaleLastNames, {}, {}}, - kazakh_personNameFormats}; - -// Korea - -const std::array koreanMaleFirstNames = { - "서연", "민서", "서현", "지우", "서윤", "지민", "수빈", "하은", "예은", "윤서", "민준", "지후", "지훈", - "준서", "현우", "예준", "건우", "현준", "민재", "우진", "은주", "서준", "도윤", "시우", "주원", "하준", - "지호", "준우", "도현", "선우", "서진", "연우", "유준", "정우", "승우", "승현", "시윤", "준혁", "은우", - "지환", "승민", "유찬", "윤우", "민성", "준영", "시후", "진우", "지원", "수현", "재윤", "시현", "동현", - "수호", "태윤", "민규", "재원", "한결", "민우", "재민", "은찬", "윤호", "시원", "이준", "민찬", "지안", - "시온", "성민", "준호", "승준", "성현", "이안", "현서", "재현", "하율", "지한", "우빈", "태민", "지성", - "예성", "민호", "태현", "지율", "민혁", "서우", "성준", "은호", "규민", "정민", "윤성", "윤재", "하람", - "하진", "민석", "준수", "은성", "태양", "예찬", "준희", "도훈", "하민", -}; - -const std::array koreanLastNames = { - "김", "이", "박", "최", "정", "강", "조", "윤", "장", "임", "오", "한", "신", "서", "권", "황", "안", "송", "류", - "홍", "유", "전", "양", "고", "문", "손", "배", "백", "허", "노", "심", "하", "주", "구", "곽", "성", "차", "우", - "진", "민", "나", "지", "엄", "변", "채", "원", "방", "천", "공", "현", "함", "여", "염", "석", "추", "도", "소", - "설", "선", "마", "길", "연", "위", "표", "명", "기", "반", "라", "왕", "금", "옥", "육", "인", "맹", "제", "모", - "남", "탁", "국", "어", "경", "은", "편", "용", "예", "봉", "사", "부", "가", "복", "태", "목", "형", "피", "두", - "감", "호", "음", "빈", "동", "온", "시", "범", "좌", "팽", "승", "간", "상", "갈", "단", "견", "당", -}; - -const NameFormats koreanNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames koreanPeopleNames{{koreanMaleFirstNames, koreanLastNames, {}, {}}, - {koreanMaleFirstNames, koreanLastNames, {}, {}}, - koreanNameFormats}; - -// Latvia - -const std::array latvianMaleFirstNames = { - "Ainārs", "Alfrēds", "Aloīzs", "Aļģirds", "Aļģis", "Andris", "Andžejs", "Andžs", "Anrijs", - "Anšlavs", "Arkādijs", "Armīns", "Artūrs", "Arvīds", "Ādams", "Ādolfs", "Ārijs", "Āris", - "Boļeslavs", "Broņislavs", "Dāgs", "Dāvids", "Dāvis", "Edgars", "Edvīns", "Eduards", "Edžus", - "Egīls", "Einārs", "Eižens", "Elmārs", "Emīls", "Ermīns", "Ervīns", "Ēriks", "Ēvalds", - "Gunārs", "Ģederts", "Ģirts", "Ilgmārs", "Ilmārs", "Inārs", "Indriķis", "Ingmārs", "Jānis", - "Jāzeps", "Jevgeņijs", "Jēkabs", "Jurģis", "Jūlijs", "Kārlis", "Klāvs", "Konrāds", "Konstantīns", - "Kristiāns", "Krišjānis", "Krišs", "Leonīds", "Marģers", "Matīss", "Mārcis", "Māris", "Mārtiņš", - "Miķelis", "Monvīds", "Niklāvs", "Ojārs", "Oļegs", "Oļģerts", "Pāvils", "Pēteris", "Regnārs", - "Renārs", "Ričards", "Romāns", "Rūdis", "Rūdolfs", "Rūsiņš", "Tālis", "Tālivaldis", "Tālrīts", - "Uģis", "Valdemārs", "Valentīns", "Valērijs", "Vilmārs", "Vitālijs", "Voldemārs", "Zigfrīds", "Zigmārs", - "Žanis", -}; - -const std::array latvianFemaleFirstNames = { - "Aīda", "Akvelīna", "Albertīne", "Alvīne", "Amālija", "Astrīda", "Aurēlija", "Ārija", "Baņuta", - "Bārbala", "Beāte", "Dagmāra", "Dainuvīte", "Dārta", "Diāna", "Dzirkstīte", "Dzīle", "Edīte", - "Elfrīda", "Elīna", "Elīza", "Elmīra", "Elvīra", "Emīlija", "Ernestīne", "Evelīna", "Ērika", - "Frīda", "Gabriela", "Gudrīte", "Ģertrūde", "Helēna", "Hermīne", "Ināra", "Ingrīda", "Ingūna", - "Irēna", "Īrisa", "Janīna", "Jasmīna", "Jautrīte", "Judīte", "Justīne", "Jūlija", "Jūsma", - "Karīna", "Katrīna", "Klāra", "Kristiāna", "Kristīne", "Lavīze", "Lāsma", "Leonīda", "Leontīne", - "Liāna", "Liliāna", "Lība", "Līga", "Līksma", "Līna", "Līva", "Līvija", "Līze", - "Luīze", "Lūcija", "Malvīne", "Māra", "Mārīte", "Mētra", "Modrīte", "Mudīte", "Olīvija", - "Otīlija", "Patrīcija", "Paulīne", "Pārsla", "Regīna", "Renāte", "Rudīte", "Rūta", "Sabīne", - "Sarmīte", "Saulcerīte", "Skaidrīte", "Spīdola", "Tamāra", "Terēze", "Tīna", "Trīne", "Undīne", - "Valentīna", "Valērija", "Vēsma", "Vijolīte", "Vilhelmīne", "Vizbulīte", "Zeltīte", "Ziedīte", "Zigfrīda", - "Zigrīda", "Zīle", "Žanete", "Žanna", "Ženija", "Žubīte", -}; - -const std::array latvianMaleLastNames = { - "Aigars", "Alksnis", "Andersons", "Aspers", "Auziņš", "Ābele", "Āboliņš", "Āboltiņš", - "Balodis", "Beļavskis", "Bergmanis", "Bērziņš", "Bērzīts", "Birziņš", "Birznieks", "Bīriņš", - "Blaus", "Blekte", "Breņķis", "Briedis", "Brunkevičs", "Builis", "Bušs", "Caune", - "Cālītis", "Cīrulis", "Čudars", "Danielsons", "Dīriķis", "Dombrovskis", "Dreimanis", "Dzenis", - "Eglītis", "Endziņš", "Fogelis", "Freimanis", "Gailis", "Gailītis", "Gibala", "Graudiņš", - "Gribusts", "Grīnbergs", "Grūbe", "Jansons", "Jēkabsons", "Jukums", "Kalējs", "Kalniņš", - "Karlsons", "Kauliņš", "Kārkliņš", "Kļaviņš", "Kohs", "Koks", "Krancis", "Krastiņš", - "Kraulis", "Krauze", "Krēsliņš", "Krieviņš", "Krievs", "Kronbergs", "Krūmiņš", "Kulmanis", - "Laiviņš", "Landmanis", "Lapiņš", "Lapsiņš", "Lasmanis", "Laubergs", "Lācis", "Legzdiņš", - "Lielmanis", "Liepiņš", "Līcis", "Līdaks", "Ločs", "Lodiņš", "Lūsis", "Matisons", - "Mednis", "Meiers", "Mekšs", "Melderis", "Melngailis", "Mihailovs", "Miķelsons", "Niedra", - "Osis", "Ostrovskis", "Ozers", "Ozoliņš", "Ozols", "Palters", "Pavlovskis", "Pencis", - "Petrovskis", "Pērkons", "Pētersons", "Podziņš", "Polis", "Pretkalniņš", "Priedītis", "Puķītis", - "Putniņš", "Riekstiņš", "Romanovskis", "Rozenbahs", "Rozītis", "Rubenis", "Rudzītis", "Runcis", - "Salmiņš", "Seržants", "Sietnieks", "Siliņš", "Sīlis", "Skudra", "Smuģis", "Sproģis", - "Sprūde", "Strautiņš", "Strautmanis", "Strazdiņš", "Širovs", "Šīrants", "Šmits", "Šteins", - "Tālbergs", "Teicāns", "Tiltiņš", "Tīrelis", "Tučs", "Ūdris", "Valters", "Vasils", - "Vecumnieks", "Veinbergs", "Veiss", "Vilks", "Vilsons", "Viļums", "Vinters", "Vītiņš", - "Vītoliņš", "Vītols", "Vītums", "Vollis", "Zariņš", "Zālītis", "Zeidmanis", "Zeltiņš", - "Ziemelis", "Zībers", "Zunda", "Zvaigzne", "Zvejnieks", "Zvinelis", "Mucenieks", "Dzirkalis", - "Arājs", "Sējējs", "Podnieks", "Ratnieks", "Deģis", "Bondars", "Sondors", "Namiķis", - "Jumiķis", "Muižnieks", "Bajārs", "Ķēniņš", "Ķeizars", "Barons", "Vaivads", "Zviedrs", - "Vācietis", "Lejiņš", "Vanags", "Celms", "Liepa", "Kalns", "Celmiņš", "Lejnieks", - "Bisenieks", "Kurzemnieks", "Saulietis", "Pakalnietis", "Pridāns", "Grodums", "Kalnājs", "Porgants", - "Sukuts", "Meškūns", "Rožkalns", "Mazjānis", "Latkovskis", "Jankovskis", "Šileiko", "Budreiko", - "Ivanovs", "Morozovs", "Logins", "Gasjūns", "Pauļuks", "Sosārs", -}; - -const std::array latvianFemaleLastNames = { - "Aigare", "Alksne", "Andersone", "Aspere", "Auziņa", "Ābele", "Āboliņa", "Āboltiņa", - "Balode", "Beļavske", "Bergmane", "Bērziņa", "Bērzīte", "Birziņa", "Birzniece", "Bīriņa", - "Blaua", "Blekte", "Breņķe", "Briede", "Brunkeviča", "Buile", "Buša", "Cauna", - "Cālīte", "Cīrule", "Čudara", "Danielsone", "Dīriķe", "Dombrovska", "Dreimane", "Dzene", - "Eglīte", "Endziņa", "Fogele", "Freimane", "Gaile", "Gailīte", "Gibala", "Graudiņa", - "Gribuste", "Grīnberga", "Grūba", "Jansone", "Jēkabsone", "Jukuma", "Kalēja", "Kalniņa", - "Karlsone", "Kauliņa", "Kārkliņa", "Kļaviņa", "Koha", "Koka", "Krance", "Krastiņa", - "Kraule", "Krauze", "Krēsliņa", "Krieviņa", "Krieva", "Kronberga", "Krūmiņa", "Kulmane", - "Laiviņa", "Landmane", "Lapiņa", "Lapsiņa", "Lasmane", "Lauberga", "Lāce", "Legzdiņa", - "Lielmane", "Liepiņa", "Līce", "Līdaka", "Loča", "Lodiņa", "Lūse", "Matisone", - "Medne", "Meiere", "Mekša", "Meldere", "Melngaile", "Mihailova", "Miķelsone", "Niedra", - "Ose", "Ostrovska", "Ozere", "Ozoliņa", "Ozola", "Paltere", "Pavlovska", "Pence", - "Petrovska", "Pērkona", "Pētersone", "Podziņa", "Pole", "Pretkalniņa", "Priedīte", "Puķīte", - "Putniņa", "Riekstiņa", "Romanovska", "Rozenbaha", "Rozīte", "Rubene", "Rudzīte", "Runce", - "Salmiņa", "Seržante", "Sietniece", "Siliņa", "Sīle", "Skudra", "Smuģe", "Sproģe", - "Sprūde", "Strautiņa", "Strautmane", "Strazdiņa", "Širova", "Šīrante", "Šmite", "Šteina", - "Tālberga", "Teicāne", "Tiltiņa", "Tīrele", "Tuča", "Ūdre", "Valtere", "Vasile", - "Vecumniece", "Veinberga", "Veisa", "Vilka", "Vilsone", "Viļuma", "Vintere", "Vītiņa", - "Vītoliņa", "Vītola", "Vītuma", "Volle", "Zariņa", "Zālīte", "Zeidmane", "Zeltiņa", - "Ziemele", "Zībere", "Zunda", "Zvaigzne", "Zvejniece", "Zvinele", "Muceniece", "Dzirkale", - "Arāja", "Sējēja", "Podniece", "Ratniece", "Deģe", "Bondare", "Sondore", "Namiķe", - "Jumiķe", "Muižniece", "Bajāre", "Ķēniņa", "Ķeizare", "Barone", "Vaivade", "Zviedre", - "Vāciete", "Lejiņa", "Vanaga", "Celma", "Liepa", "Kalna", "Celmiņa", "Lejniece", - "Biseniece", "Kurzemniece", "Sauliete", "Pakalniete", "Pridāne", "Groduma", "Kalnāja", "Porgante", - "Sukute", "Meškūna", "Rožkalne", "Mazjāne", "Latkovska", "Jankovska", "Šileiko", "Budreiko", - "Ivanova", "Morozova", "Logina", "Gasjūne", "Pauļuka", "Sosāre", "Meškūne", -}; - -const std::array latvianSuffixes{"k-dze", "kundze"}; - -const std::array latvianPrefixes{"Prof.", "Dr.", "Biedrs"}; - -const NameFormats latvianNameFormats{ - {{"{firstName} {lastName}", 8}, {"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName} {suffix}", 1}}}; - -const PeopleNames latvianPeopleNames{ - {latvianMaleFirstNames, latvianMaleLastNames, latvianPrefixes, latvianSuffixes}, - {latvianFemaleFirstNames, latvianFemaleLastNames, latvianPrefixes, latvianSuffixes}, - latvianNameFormats}; - -// Lebanon - -const std::array lebaneseMaleFirstNames = { - "Mohamed", "Ali", "Ahmed", "Hassan", "Hussein", "Abdel", "George", "Elias", "Yousef", - "Joseph", "Mahmoud", "Ibrahim", "Khaled", "Antoine", "Fadi", "Mostafa", "Michel", "Jan", - "Rabie", "Samir", "Waleed", "Abbas", "Omar", "Nabil", "Khalil", "Bilal", "Emad", - "Ghassan", "Jamal", "Ziad", "Samih", "Bassam", "Sami", "Khader", "Salim", "Tarek", - "Fouad", "Samer", "Shady", "Qasim", "Marwan", "Ramy", "Saeed", "Abdo", "Kamal", - "Jamil", "Essam", "Adnan", "Tawfiq", "Adel", "Raymond", "Salam", "Hossam", "Nadeem", - "Waseem", "Hisham", "Mousa", "Asaad", "Mahy", "Naji", "Amin", "Mounir", "Nazih", - "Mazen", "Suleiman", "Habib", "Haytham", "Ayman", "Yahya", "Milad", "Maher", "Riad", - "Emile", "Hani", "Mahdi", "Osama", "Wael", "Hadi", "Kamel", "Amer", "Robert", - "Kamil", "Sayed", "Karim", "Saad", "Nader", "Talal", "Rashid", "Simon", "Daniel", - "Fayez", "Anton", "Nasser", "Zuhair", "Mark", "Haidar", "Bashir", "Pascal", "Farid", - "Firas", "Salah", "Jack", "Malik", "Fares", "Ghazi", "Ismail", "Charles", "Hamza", - "Johnny", "Saleh", "Rony", "Christian", "Fawzi", "Suhail", "Morris", "Nizar", "Akram", - "Rafiq", "Mohsen", "Raed", "Andre", "Roy", "Anthony", "Majed", "Faisal", "Yvon", - "Zakaria", "Anwar", "Zaher", "Naeem", "Richard", "Adal", "Joel", "Shafiq", "Foad", - "Yasser", "Mansour", "Afif", "Anis", "Jaafar", "Mario", "Radwan", "Atef", "Patrick", - "Edmond", "Jalal", "Marcel", "Sherif", "Badr", "Lewis", "Hilal", "Salem", "Roland", - "Zain", "William", "Yacoub", "Henry", "Farouk", "Antonio", "Fahd", "Osman", "Victor", - "David", "Ralph", "Rafi", "Carlos", "Hatem", "Jawad", "Halim", "Michael", "Aziz", - "Salman", "Alain", "Bernard", "Amir", "Karam", "Badi", "Rabah", "Magi", "John", - "Antonius", "Taha", "Anas", "Randy", "Gilbert", "Adham", "Sultan", "Ammar", "Rashad", - "Amar", "Dia", "Taleb", "Alexander", "Peter", "Makram", "Younis", "Roly", "Iqbal", - "Andriy", "Iyad", "Wahib", "Ashraf", "Sidi", "Lawrence", "Hamad", "Louay", "Jesse", - "Yassin", "Hamid", "Jamie", "Julian", "Lucien", "Carl", "Chris", "Zaki", "Remy", - "Alberto", "Tamer", "Ayoub", "Nazim", "Rasheed", "Majid", "Sadiq", "Stephan", "Merlin", - "Abdullah", "Raouf", "Ricardo", "Noman", "Murad", "Christopher", "Angel", "Serge", "Massoud", - "Hany", "Roberto", "Asad", "Mesbah", "Marco", "Eduardo", "Mike", "Fadel", "Sheikh", - "Atta", "Andrew", "Roderick", "Frederick", "Ishaq", "Safi", "Edgar", "Najih", "Cesar", - "Adam", "Mamoun", "Domenech", "Gerard", "Dian", "Lotfi", "Wahid", "Keita", "Zaid", - "Taher", "Nizam", "Abraham", "Lucian", "Romeo", "Shahid", "Martin", "Aram", "Ronald", - "Amjad", "Saif", "Fahim", "Ramadan", "Elio", "Hamed", "Emilio", "Safwan", "Laurent", - "Bert", "Carlo", "Leon", "James", "Manuel", "Jaber", "Ayad", "Stephen", "Adeel", - "Samuel", "Marin", "Mazhar", "Cyril", "Aqeel", "Christof", "Kristian", "Giorgio", "Kalin", - "Mikhail", "Fathi", "Farhan", "Badri", "Arman", "Radi", "Demetri", "Guy", "Nasir", - "Saleem", "Luqman", "Yousif", "Sam", "Amr", "Daoud", "Ernest", "Mokhtar", "Jose", - "Raoul", "Alex", "Jano", "Sabri", "Albert", "Thomas", "Benjamin", "Fabian", "Saber", - "Sergio", "Steve", "Justin", "Germain", "Alfons", "Hector", "Shah", "Mathieu", "Rubin", - "Karmel", "Clemens", "Oliver", "Erik", "Bakr", "Mikael", "Shamil", "Nael", "Nassar", - "Jonathan", "Akbar", "Jalil", "Mumtaz", "Haj", "Armin", "Fatih", "Taj", "Mohamed", - "Ali", "Ahmed", "Hassan", "Hussein", "Abdel", "George", "Elias", "Yousef", "Joseph", - "Mahmoud", "Ibrahim", "Khaled", "Antoine", "Fadi", "Mostafa", "Michel", "Jan", "Rabie", - "Samir", "Waleed", "Abbas", "Omar", "Nabil", "Khalil", "Bilal", "Emad", "Ghassan", - "Jamal", "Ziad", "Samih", "Bassam", "Sami", "Khader", "Salim", "Tarek", "Fouad", - "Samer", "Shady", "Qasim", "Marwan", "Ramy", "Saeed", "Abdo", "Kamal", "Jamil", - "Essam", "Adnan", "Tawfiq", "Adel", "Raymond", "Salam", "Hossam", "Nadeem", "Waseem", - "Hisham", "Mousa", "Asaad", "Mahy", "Naji", "Amin", "Mounir", "Nazih", "Mazen", - "Suleiman", "Habib", "Haytham", "Ayman", "Yahya", "Milad", "Maher", "Riad", "Emile", - "Hani", "Mahdi", "Osama", "Wael", "Hadi", "Kamel", "Amer", "Robert", "Kamil", - "Sayed", "Karim", "Saad", "Nader", "Talal", "Rashid", "Simon", "Daniel", "Fayez", - "Anton", "Nasser", "Zuhair", "Mark", "Haidar", "Bashir", "Pascal", "Farid", "Firas", - "Salah", "Jack", "Malik", "Fares", "Ghazi", "Ismail", "Charles", "Hamza", "Johnny", - "Saleh", "Rony", "Christian", "Fawzi", "Suhail", "Morris", "Nizar", "Akram", "Rafiq", - "Mohsen", "Raed", "Andre", "Roy", "Anthony", "Majed", "Faisal", "Yvon", "Zakaria", - "Anwar", "Zaher", "Naeem", "Richard", "Adal", "Joel", "Shafiq", "Foad", "Yasser", - "Mansour", "Afif", "Anis", "Jaafar", "Mario", "Radwan", "Atef", "Patrick", "Edmond", - "Jalal", "Marcel", "Sherif", "Badr", "Lewis", "Hilal", "Salem", "Roland", "Zain", - "William", "Yacoub", "Henry", "Farouk", "Antonio", "Fahd", "Osman", "Victor", "David", - "Ralph", "Rafi", "Carlos", "Hatem", "Jawad", "Halim", "Michael", "Aziz", "Salman", - "Alain", "Bernard", "Amir", "Karam", "Badi", "Rabah", "Magi", "John", "Antonius", - "Taha", "Anas", "Randy", "Gilbert", "Adham", "Sultan", "Ammar", "Rashad", "Amar", - "Dia", "Taleb", "Alexander", "Peter", "Makram", "Younis", "Roly", "Iqbal", "Andriy", - "Iyad", "Wahib", "Ashraf", "Sidi", "Lawrence", "Hamad", "Louay", "Jesse", "Yassin", - "Hamid", "Jamie", "Julian", "Lucien", "Carl", "Chris", "Zaki", "Remy", "Alberto", - "Tamer", "Ayoub", "Nazim", "Rasheed", "Majid", "Sadiq", "Stephan", "Merlin", "Abdullah", - "Raouf", "Ricardo", "Noman", "Murad", "Christopher", "Angel", "Serge", "Massoud", "Hany", - "Roberto", "Asad", "Mesbah", "Marco", "Eduardo", "Mike", "Fadel", "Sheikh", "Atta", - "Andrew", "Roderick", "Frederick", "Ishaq", "Safi", "Edgar", "Najih", "Cesar", "Adam", - "Mamoun", "Domenech", "Gerard", "Dian", "Lotfi", "Wahid", "Keita", "Zaid", "Taher", - "Nizam", "Abraham", "Lucian", "Romeo", "Shahid", "Martin", "Aram", "Ronald", "Amjad", - "Saif", "Fahim", "Ramadan", "Elio", "Hamed", "Emilio", "Safwan", "Laurent", "Bert", - "Carlo", "Leon", "James", "Manuel", "Jaber", "Ayad", "Stephen", "Adeel", "Samuel", - "Marin", "Mazhar", "Cyril", "Aqeel", "Christof", "Kristian", "Giorgio", "Kalin", "Mikhail", - "Fathi", "Farhan", "Badri", "Arman", "Radi", "Demetri", "Guy", "Nasir", "Saleem", - "Luqman", "Yousif", "Sam", "Amr", "Daoud", "Ernest", "Mokhtar", "Jose", "Raoul", - "Alex", "Jano", "Sabri", "Albert", "Thomas", "Benjamin", "Fabian", "Saber", "Sergio", - "Steve", "Justin", "Germain", "Alfons", "Hector", "Shah", "Mathieu", "Rubin", "Karmel", - "Clemens", "Oliver", "Erik", "Bakr", "Mikael", "Shamil", "Nael", "Nassar", "Jonathan", - "Akbar", "Jalil", "Mumtaz", "Haj", "Armin", "Fatih", "Taj"}; - -const std::array lebaneseFemaleFirstNames = { - "Fatima", "Zainab", "Mary", "Mariam", "Laila", "Mona", "Elly", "Amal", - "Nada", "Hoda", "Samira", "Rita", "Khadija", "Rima", "Nadia", "Souad", - "Iman", "Lina", "Rania", "Sarah", "Rana", "Wafa", "Hanan", "Ghada", - "Hala", "Zahra", "Samar", "Siham", "Wissam", "Nawal", "Jihad", "Fadia", - "Nasreen", "Nour", "Jamila", "Manal", "Aida", "Hana", "Sana", "Mirna", - "Salwa", "Heba", "Elham", "Maria", "Hayam", "Nihad", "Susan", "Maya", - "Dalal", "Randa", "Hanna", "Sahar", "Najwa", "Faten", "Mai", "Alaa", - "Dany", "Sabah", "Sawsan", "Ibtisam", "Noha", "Josephine", "Nicola", "Georgette", - "Antoinette", "Samia", "Hayat", "Diana", "Salma", "Amna", "Najah", "Hind", - "Farah", "Rasha", "Sonia", "Jacqueline", "Rose", "Magda", "Lilian", "Nadine", - "Alia", "Najat", "Safa", "Anam", "Therese", "Linda", "Janet", "Elissa", - "Karol", "Rajaa", "Yasmin", "Rayan", "Maha", "Marwa", "Donia", "Lara", - "Nancy", "Claude", "Elian", "Maysaa", "Halima", "Rene", "Latifa", "Afaf", - "Basma", "Najla", "Ayesha", "Nathalie", "Jocelyn", "Katia", "Batoul", "Reda", - "Ahlam", "Norma", "Christine", "Caroline", "Malak", "Nidal", "Elin", "Karen", - "Marilyn", "Yola", "Janan", "Shadia", "Rabab", "Carla", "Nicole", "Stefani", - "Fadwa", "Samah", "Nahla", "Lamia", "Sandra", "Nora", "Jihan", "Jessica", - "Tania", "Hina", "Ihsan", "Badia", "Kawthar", "Hikmat", "Dalia", "Fattoum", - "Rehab", "Nelly", "Dina", "Jannat", "Kholoud", "Nazira", "Nariman", "Mira", - "Elia", "Violet", "Catherine", "Elaine", "Bahia", "Pauline", "Bushra", "Ala", - "Aya", "Joyce", "Aisha", "Asma", "Sally", "Grace", "Asmahan", "Julia", - "Joanna", "Fayrouz", "Dima", "Kristel", "Suhaila", "Sabine", "Juliet", "Dana", - "Emily", "Olga", "Carmen", "Nina", "Bernadette", "Nahed", "Awatif", "Nasim", - "Pamela", "Ana", "Madeleine", "Dania", "Ikram", "Marian", "Claire", "Silva", - "Deniz", "Lydia", "Margret", "Lubna", "Duaa", "Sandy", "Vera", "Zina", - "Lea", "Mariana", "Christina", "Raja", "Yara", "Abla", "Laura", "Hilda", - "Hajar", "Amira", "Anaya", "Fahima", "Lamis", "Ria", "Cynthia", "Rachel", - "Asmaa", "Manar", "Claudine", "Marina", "Naima", "Rahma", "Wahiba", "Tamara", - "Joan", "Dori", "Walaa", "Rosa", "Melia", "Ramona", "Georgina", "Saba", - "Asia", "Janine", "Nahia", "Lana", "Elizabeth", "Amanda", "Khadra", "Claudia", - "Bahija", "Anahid", "Giselle", "Ayat", "Jana", "Lucy", "Jennifer", "Selin", - "Rani", "Nayla", "Inas", "Zeina", "Myriam", "Tatiana", "Hassiba", "Najma", - "Silvana", "Alexandra", "Barbara", "Francis", "Juliana", "Liza", "Annie", "Ann", - "Adama", "Lorraine", "Shaheen", "Hadia", "Yousra", "Ela", "Elina", "Mari", - "Melissa", "Arlette", "Samara", "Ara", "Jenna", "Joy", "Claudette", "Hasna", - "Khawla", "Reina", "Vanessa", "Clara", "Monique", "Wesal", "Fawzia", "Rebecca", - "Nabila", "Ramia", "Suzy", "Charlotte", "Mounira", "Esther", "Helen", "Anita", - "Christel", "Doris", "Nermin", "Kamelia", "Wiam", "Nasima", "Silvia", "Amina", - "Dalida", "Louisa", "Zakia", "Katy", "Noel", "Andrea", "Razan", "Shahnaz", - "Natasha", "Rosy", "Donna", "Isabelle", "Natalya", "Maram", "Nasra", "Amani", - "Amelia", "Margaret", "Tina", "Tamar", "Ava", "Milada", "Gloria", "Azza", - "Angela", "Beatrice", "Amalia", "Elsa", "Nahida", "Bayan", "Valery", "Rabia", - "Rokaya", "Hawa", "Eliza", "Theresa", "Eliana", "Salima", "Monica", "Sima", - "Nargis", "Brigitte", "Kamila", "Samiha", "Daniella", "Dolly"}; - -const std::array lebaneseLastNames = { - "El din", "Allah", "El khoury", "Khalil", "Saad", "El hajj", "Ali", "Ibrahim", - "El masry", "Hassan", "Haidar", "Hamoud", "Saleh", "Ahmed", "Suleiman", "Mousa", - "Younis", "Yousef", "Karam", "Eisaa", "Mansour", "Farhat", "Aboud", "Haddad", - "Harb", "Deeb", "Hussein", "Ayoub", "Eid", "Saliba", "Hanna", "Shaheen", - "Dahir", "Matar", "Murad", "El haddad", "Awad", "Ismail", "Jaber", "Hamdan", - "Assaf", "Yassin", "Hashem", "Abbas", "Mohamed", "Obaid", "Diab", "Aoun", - "Zaiter", "Qasim", "Al ashqar", "Rizk", "Azar", "Nader", "Salama", "Darwish", - "El hassan", "El sayed", "Jouda", "Khalifa", "Farah", "Hamza", "Osman", "Saeed", - "Raad", "Nasser", "Taleb", "Fares", "Jaafar", "Nasr", "Mari", "Saab", - "Zidan", "Ghanim", "Hegazy", "Nemeh", "Al khatib", "Kanaan", "Nassar", "El halaby", - "Salloum", "Al zain", "Shehadeh", "Zgheib", "Khader", "Daou", "Habib", "Mostafa", - "Dagher", "Al hayek", "El shami", "Abdo", "Salim", "Khoury", "Yazbek", "Anton", - "Samaan", "Saqr", "Shams", "El helou", "Maalouf", "Hatoum", "Wahby", "Najm", - "Al asmar", "Fayad", "Wahba", "Rahal", "Rashid", "Asaad", "Hamada", "Tannous", - "Al moussawi", "Fawaz", "Hamieh", "Sfeir", "Nasif", "Fakih", "Jabbour", "Barakat", - "Samah", "Shamoun", "Al-qazi", "Elias", "Shalhoub", "Fadel", "Mahmoud", "Attieh", - "Al husseini", "Gerges", "Moawad", "Awadah", "Al hujairi", "Al rifai", "Akl", "Shaaban", - "Assi", "Faraj", "Al mekdad", "Al awar", "Aqeqi", "Dawood", "Muhanna", "Yahya", - "Zaid", "Ghosn", "Sarkis", "Choucair", "Melhem", "Ramadan", "Salman", "Shehab", - "Yamin", "Al sheikh", "Taha", "Juma", "Shukr", "Madi", "Saba", "Yacoub", - "Beydoun", "Boutros", "Al-hakim", "Sorour", "Amhaz", "Khaled", "Ammar", "Al khaliq", - "Itani", "Matta", "El gamal", "El fagaly", "Bassil", "Hassoun", "Al bitar", "Al sayegh", - "Mazloum", "Basharah", "Al ahmad", "Shadid", "Mortada", "Kassab", "Al najjar", "Al bustani", - "Zain", "Stephan", "Maroun", "Yaghi", "Tameh", "Sabra", "Bitar", "Tarbih", - "Salem", "Maatouq", "Mashik", "Hamad", "El ayoubi", "Al hussein", "Tabet", "Atwi", - "Shibli", "Mahdi", "Kfoury", "Shaia", "El mawla", "Touma", "Makhoul", "Shoman", - "Khalaf", "Mubarak", "El shaar", "Naeem", "Francis", "Alama", "Reda", "Trad", - "Sawaya", "Shoaib", "Odeh", "Ayyash", "Zaher", "Safi", "Omar", "Ghandour", - "El raey", "King", "Lahoud", "Badr", "Sassin", "El assaad", "Nakhla", "Zaarour", - "Marwa", "Badran", "Sherif", "Ziadeh", "Azzam", "Al mohammed", "Jamal", "Al-kurdi", - "Al rayes", "El gohary", "Makki", "Hammadi", "Fahd", "Mezher", "Suwaidan", "El arab", - "El sahely", "Habashi", "Zakaria", "Talis", "Gharib", "Sawan", "Hilal", "Ghannam", - "Al zubi", "Bazzi", "Rahma", "Munther", "Massoud", "Makarem", "El shamaly", "Bolas", - "Dargham", "Wakim", "Saif", "Mohsen", "El maghraby", "Karim", "Al sabbagh", "Al rahman", - "Al qadri", "Al sbai", "Hobeika", "Jawad", "Alloush", "Al-qadi", "Gabr", "Rabah", - "Ishaq", "Ghazal", "Aqeel", "El ghareeb", "Al-karim", "Khair", "Al homsi", "Noman", - "Nahra", "Karaki", "Iskandar", "Sweid", "Waked", "El taweel", "Abdullah", "Sobh", - "Raslan", "Amer", "Nicola", "Baro", "Hayek", "Al ghoul", "Khater", "Shaker", - "Kamel", "Noun", "Najim", "Mahfouz", "Fakher", "El badawy", "Massad", "Khatar", - "Amin", "Mitry", "Safa", "Al-khader", "Najjar", "Salami", "Sarhan", "Allam", - "Hatem", "Orabi", "Fakhoury", "Jabbara", "Al mostafa", "Antar", "Sabbagh", "Muslim", - "Aldbs", "Emad", "Radwan", "Al atrash", "Sayegh", "Makhlouf", "Mikhael", "Rustom", - "Hajjar", "Jibril", "Salhab", "Latif", "El banna", "Qablan", "Dia", "Qadour", - "Salibi", "Badawi", "Al hamwi", "Al saleh", "Baalbaki", "Heikal"}; - -const NameFormats lebaneseNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames lebanesePeopleNames{{lebaneseMaleFirstNames, lebaneseLastNames, {}, {}}, - {lebaneseFemaleFirstNames, lebaneseLastNames, {}, {}}, - lebaneseNameFormats}; - -// Lithuania - -const std::array lithuanianMaleFirstNames = { - "Jonas", "Vytautas", "Antanas", "Juozas", "Petras", "Algirdas", "Stasys", "Saulius", - "Rimantas", "Algimantas", "Mindaugas", "Darius", "Tomas", "Andrius", "Gintaras", "Romualdas", - "Gintautas", "Arvydas", "Gediminas", "Egidijus", "Alvydas", "Sigitas", "Valdas", "Vidmantas", - "Audrius", "Rolandas", "Marius", "Viktoras", "Vladas", "Povilas", "Albinas", "Algis", - "Virginijus", "Aleksandr", "Vaclovas", "Romas", "Robertas", "Aleksandras", "Remigijus", "Giedrius", - "Dainius", "Donatas", "Vladimir", "Linas", "Kazys", "Edmundas", "Nerijus", "Vaidas", - "Raimondas", "Albertas", "Rimas", "Eugenijus", "Mantas", "Vidas", "Leonas", "Edvardas", - "Ivan", "Tadas", "Viktor", "Raimundas", "Julius", "Paulius", "Evaldas", "Justinas", - "Vilius", "Valentinas", "Sergej", "Stanislav", "Henrikas", "Rimvydas", "Vitalijus", "Nikolaj", - "Aurimas", "Martynas", "Andrej", "Virgilijus", "Jan", "Vaidotas", "Alfredas", "Karolis", - "Vladimiras", "Michail", "Aidas", "Edgaras", "Ignas", "Jevgenij", "Dalius", "Igor", - "Pavel", "Arturas", "Oleg", "Aivaras", "Vladislav", "Rytis", "Valerijus", "Jurijus", - "Edvinas", "Justas", "Modestas", "Lukas", "Eduardas", "Deividas", "Kostas", "Laimonas", - "Gytis", "Irmantas", "Laurynas", "Dmitrij", "Piotr", "Aleksej", "Aurelijus", "Anton", - "Leonid", "Rokas", "Renatas", "Sergejus", "Ernestas", "Artur", "Valentin", "Arnoldas", - "Andrejus", "Arunas", "Olegas", "Edvard", "Eimantas", "Igoris", "Boris", "Kestutis", - "Dovydas", "Tautvydas", "Miroslav", "Vaclav", "Romuald", "Roman", "Eduard", "Konstantin", - "Ramunas", "Erikas", "Arnas", "Franc", "Vadim", "Robert", "Sarunas", "Matas", - "Jaroslav", "Henrik", "Ruslan", "Dominykas", "Maksim", "Zilvinas", "Zenon", "Valdemar", - "Edgar", "Daniel", "Mark", "Fiodor", "Leon", "Leonard", "Ruslanas", "Stefan", - "Alex", "Ricardas", "Edmund", "Alexander", "Albert", "Marek", "Ilja", "Erik", - "Andrey", "Feliks", "David", "Deivis", "Sergey", "Ernest", "Airidas", "Adam", - "Anatoly", "John", "Stepan", "Vladyslav", "Lech", "Slavomir", "Lev", "Vlad", - "Bogdan", "Antoni", "Andrei", "Michael", "Henryk", "Artiom", "Zydrunas", "Ale", - "Edvin", "Max", "Dmitry", "Tom", "Rafal", "Raimond", "Martin", "Darek", - "Evgeny", "Andrzej", "Arnold", "German", "Hendrik", "Sergei", "Victor", "Armandas", - "Edward", "Aleks", "Iosif", "Maxim", "Alfred", "Michal", "Andrew", "Kiril", - "Svajunas", "Bernard", "Nedas", "Marat", "Petr", "Artem", "Evgeniy", "Nikolai", - "Dmitriy", "Gleb", "Pawel", "Joseph", "Richard", "Edgard", "Aleksey", "Alik", - "Paul", "Adolf", "Thomas", "Albin", "Patrik", "Ronald", "Nikolay", "Ricard", - "Tomasz", "Aleksander", "Mikhail", "Carlos", "Jaroslaw", "Samuil", "Kevin", "Kirill", - "Vitaly", "Deivid", "Volodymyr", "Abram", "Roland", "Danil", "Sasa", "Ilya", - "Chris", "Roberto", "Vincent", "Ben", "Vitaliy", "Jacek", "Haris", "Frank", - "Marko", "Filip", "Rostislav", "Rudolf", "Vsevolod", "Norbert", "Dominik", "Oleksandr", - "Just", "Karl", "Timur", "Fabio", "Luka", "Edwin", "Farid", "Aron", - "Adrian", "Jay", "Ali", "Gabriel", "Dawid", "Jamal", "Alfons", "Gonzalo", - "Tim", "Patryk", "Nick", "Benedikt", "Mario", "Sebastian", "Di", "Steven", - "Vyacheslav", "Markus", "Elvis", "Julian", "George", "Radek", "Yaroslav", "Waldemar", - "Omer", "Georg", "Lukasz", "Ervin", "Daniil", "Simon", "Andre", "Murat", - "Jack", "Oskar", "Radoslav", "Rustam", "Nikolas", "Anatoliy", "Emile", "Gennady", - "Damian", "Natan", "Francesco", "Alexey", "Alpha", "Juris", "Viacheslav", "Mustafa", - "Tommy", "James", "Yury", "Ousmane", "Zygmunt", "Ignat", "Yuriy", "Moussa", - "Jonathan", "Justin", "Raimund", "Anthony", "Benjamin", "Klaus", "Miron", "Valeriy", - "Antonio", "Nicolas", "Stefano", "Christian", "Bruno", "Aleksandar", -}; - -const std::array lithuanianFemaleFirstNames = { - "Ona", "Irena", "Janina", "Aldona", "Regina", "Elena", "Marija", "Daiva", - "Vida", "Zita", "Stanislava", "Rasa", "Dalia", "Virginija", "Lina", "Kristina", - "Rita", "Vanda", "Laima", "Jolanta", "Valentina", "Rima", "Galina", "Valerija", - "Violeta", "Asta", "Vilma", "Liudmila", "Veronika", "Tatjana", "Albina", "Ana", - "Jelena", "Jurgita", "Inga", "Olga", "Svetlana", "Loreta", "Emilija", "Natalija", - "Edita", "Irina", "Aleksandra", "Nina", "Julija", "Renata", "Viktorija", "Teresa", - "Diana", "Vitalija", "Ilona", "Monika", "Vilija", "Alma", "Joana", "Ingrida", - "Vaida", "Milda", "Sigita", "Vladislava", "Ieva", "Lidija", "Jolita", "Alina", - "Tamara", "Neringa", "Zinaida", "Danuta", "Roma", "Laura", "Sandra", "Vera", - "Larisa", "Jovita", "Vita", "Kazimiera", "Aurelija", "Reda", "Irma", "Erika", - "Ina", "Eleonora", "Justina", "Sofija", "Gitana", "Raimonda", "Margarita", "Romualda", - "Marina", "Zina", "Raisa", "Ala", "Sonata", "Oksana", "Natalja", "Leonora", - "Leonarda", "Jekaterina", "Karolina", "Simona", "Zuzana", "Evelina", "Liubov", "Donata", - "Judita", "Egle", "Dana", "Greta", "Ligita", "Antonina", "Adolfina", "Daina", - "Aniceta", "Helena", "Anna", "Paulina", "Agne", "Brigita", "Aida", "Filomena", - "Ruta", "Halina", "Vaiva", "Inesa", "Marjan", "Silva", "Indre", "Silvija", - "Barbora", "Gintare", "Leonidas", "Raminta", "Elzbieta", "Palmira", "Dovile", "Giedre", - "Lijana", "Jurate", "Lolita", "Sabina", "Odeta", "Aiste", "Miroslava", "Karina", - "Magdalena", "Ausra", "Marijana", "Ernesta", "Beata", "Teodora", "Denis", "Ineta", - "Marta", "Malvina", "Aliona", "Gerda", "Gabriele", "Alfreda", "Eva", "Lena", - "Vlada", "Gabija", "Liuba", "Angelina", "Roberta", "Ema", "Alfonsa", "Zivile", - "Nida", "Barbara", "Dina", "Ramune", "Lida", "Ivona", "Bernadeta", "Rolanda", - "Gema", "Nijole", "Toma", "Migle", "Ugne", "Polina", "Alevtina", "Iveta", - "Leonida", "Birute", "Deimante", "Ksenija", "Gita", "Ada", "Leontina", "Nikita", - "Roza", "Audrone", "Varvara", "Taisa", "Alvina", "Faina", "Zenona", "Agata", - "Gina", "Matilda", "Dima", "Nelia", "Albertina", "Virgina", "Rosita", "Anfisa", - "Kamile", "Alisa", "Dijana", "Tereza", "Palma", "Honorata", "Martyna", "Neli", - "Aneta", "Julia", "Indra", "Grazina", "Modesta", "Romana", "Augustina", "Danute", - "Iraida", "Alla", "Lyda", "Ela", "Tania", "Ilma", "Maja", "Dominika", - "Elina", "Ida", "Justyna", "Danguole", "Katerina", "Severina", "Kira", "Izolda", - "Sasha", "Lilia", "Inna", "Mira", "Zana", "Jana", "Klara", "Natalia", - "Irmina", "Ekaterina", "Liza", "Dorota", "Arina", "Anzelika", "Maria", "Viktoriya", - "Darja", "Santa", "Laimute", "Ira", "Tatiana", "Vasilisa", "Bozena", "Julita", - "Olesia", "Liana", "Nora", "Milana", "Nadezda", "Benigna", "Alena", "Aura", - "Tatyana", "Victoria", "Nona", "Gabriela", "Mariana", "Viera", "Katia", "Berta", - "Agripina", "Nelli", "Ninel", "Anita", "Hana", "Jolanda", "Alis", "Luiza", - "Katya", "Raimunda", "Zenaida", "Juliana", "Anastasia", "Valia", "Samanta", "Erna", - "Linda", "Janis", "Sania", "Ewelina", "Olya", "Yulia", "Marian", "Elvira", - "Milena", "Nika", "Christina", "Leonila", "Beatrice", "Lora", "Faustina", "Ania", - "Bela", "Snezana", "Alberta", "Natali", "Elia", "Nela", "Ramona", "Johana", - "Krystyna", "Aina", "Fedora", "Angelika", "Anelia", "Rufina", "Neonila", "Zenia", - "Anastasiya", "Bogumila", "Emma", "Jaroslava", "Marja", "Dasha", "Mila", "Ramute", - "Sonia", "Aksana", "Ella", "Elizaveta", "Kamila", "Nastia", "Rimma", "Valera", - "Asia", "Hilda", "Adolfa", "Angele", "Elmira", "Natalya", -}; - -const std::array lithuanianLastNames = { - "Petrauskas", "Jankauskas", "Kazlauskas", "Stankevičius", "Vasiliauskas", "Butkus", "Urbonas", - "Kavaliauskas", "žukauskas", "Ramanauskas", "Paulauskas", "Navickas", "Rimkus", "šimkus", - "Pocius", "Savickas", "žilinskas", "Sakalauskas", "Adomaitis", "Petraitis", "Mikalauskas", - "Kaminskas", "Baranauskas", "Kairys", "žemaitis", "Bagdonas", "Ivanauskas", "Ivanova", - "Mockus", "Venckus", "Rutkauskas", "Jonaitis", "Vaitkus", "Norkus", "Vyšniauskas", - "Juška", "Dambrauskas", "Bernotas", "Malinauskas", "Budrys", "Radzevičius", "Vitkauskas", - "Markevičius", "Kubilius", "Grigas", "Jurevičius", "Lukošius", "Stankus", "Mažeika", - "Sabaliauskas", "Sadauskas", "Mackevič", "Gricius", "Jonas", "Stonkus", "Lapinskas", - "Juškevičius", "Povilaitis", "Rakauskas", "Banys", "Barkauskas", "Bružas", "Bartkus", - "šidlauskas", "Mickus", "šukys", "Martinkus", "Ivanov", "Jonušas", "Balsys", - "Urbonavičius", "Barauskas", "Vitkus", "Vaičiulis", "Petkus", "Giedraitis", "Jokubauskas", - "Tomaševič", "Butkevičius", "Baltrušaitis", "čepulis", "Vytautas", "Stonys", "Andrijauskas", - "Miškinis", "Urbanovič", "Miliauskas", "Alekna", "Noreika", "Astrauskas", "Juknevičius", - "Matulevičius", "Klimas", "Buivydas", "Bukauskas", "Valaitis", "Grigaitis", "Brazauskas", - "Gedvilas", "Vasiljeva", "Remeika", "Gudaitis", "Petronis", "Sokolova", "Karalius", - "Ramonas", "Laurinaitis", "Popova", "Milašius", "Novikova", "Kuznecova", "Petrulis", - "Navikas", "Moroz", "Katinas", "Janulis", "Burba", "Grigonis", "Molis", - "Lebedeva", "Jasaitis", "Smirnova", "Tamulis", "Sutkus", "Rudys", "Murauskas", - "Lazauskas", "Laukaitis", "Orlova", "Jakaitis", "Gudas", "Aleksa", "Jankus", - "Kozlova", "Urba", "Antanas", "Pavlova", "Masiulis", "Stanaitis", "Andrejeva", - "Janulevičius", "Degutis", "Milius", "Stravinskas", "Baronas", "Karvelis", "Naujokas", - "Petrova", "Grabauskas", "Timofejeva", "Kalvaitis", "Dargis", "Solovjova", "Grigorjeva", - "Morozova", "Kisel", "Aleksejeva", "Tomas", "Pumputis", "Briedis", "Palaima", - "Gaidys", "Petrov", "Daukša", "Koval", "Savickis", "Stepanova", "Dapkus", - "Anužis", "Sokolov", "Janina", "Danielius", "Jegorova", "Dulko", "Andrulis", - "Brazaitis", "Raila", "Rybakova", "Gylys", "Matulaitis", "Juozas", "Ona", - "Sereika", "Kovalenko", "Rastenis", "Staniulis", "Galinis", "Grybauskas", "Marozas", - "Miloš", "Matulis", "Stukas", "Gedgaudas", "Smirnov", "Statkus", "Stankevicius", - "Volodko", "Popov", "Jocas", "Makarova", "Komar", "Jasas", "Jakovleva", - "Drozd", "Kolesnikova", "Sergejeva", "Masaitis", "Verseckas", "Linkus", "Simonaitis", - "Gaidelis", "Bondarenko", "Nikitina", "Vasiljev", "Kazak", "Maslauskas", "Valys", - "Tumas", "Solovjov", "Marcinkus", "Valiulis", "Rudis", "Volkova", "Lukas", - "Miau", "Marija", "Fedotova", "Petrik", "Balciunas", "Guseva", "Valeika", - "Vaitkevicius", "Gintautas", "Adamonis", "Stasys", "Petras", "Babič", "Kozlovska", - "Suckel", "Simkus", "Zukauskas", "Senkus", "Romanova", "Frolova", "Tautkus", - "Algirdas", "Mazeika", "Gustaitis", "Barzda", "Tarasova", "Kuzma", "Belova", - "Paliulis", "Rimas", "Visockis", "Karosas", "Novikov", "Pavilonis", "Sabonis", - "Stankaitis", "Bakas", "Butrim", "Matonis", "Orlov", "Kuzmina", "Bogdanova", - "Kasputis", "Kaupas", "Zubkova", "Bogdanov", "Paulius", "Gavrilova", "Borisova", - "Banelis", "Medvedeva", "Antonova", "Valenta", "Jankovska", "Lebed", "Bakutis", - "Irena", "Maksimova", "Adamovic", "Mikuta", "Zamara", "Petrauskaite", "Sidorova", - "Volk", "Mikulska", "Alionis", "Filipovič", "Fiodorov", "Aleksandrov", "Vilutis", - "Miller", "Urban", "Novik", "Songin", "Pavlov", "Matvejeva", "Gerasimova", - "Rud", "Musteikis", "Jankauskaite", "Dmitrijeva", "Baranova", "Kulik", "Jagminas", - "Radžius", "Aleksandrova", "Zaiceva", "Kirilova", "Gustas", "Latvys", "Kuras", - "Radvilas", "Jefimova", "Bogdanovic", "Stropus", "Semeniuk", "Danilova", "Kutka", - "Dobilas", "Tatjana", "Popovas", "Kim", "Kalinina", "Saulis", "Serva", - "Saveljeva", "Silko", "Rukas", "Kraujalis", "Kod", "Karpova", "Li", - "German", "Savicka", "Titova", "Markova", "Romanov", "Zubkov", "Nazarova", - "Kropa", "Nera", "Drozdova", "Kozlov", "Milaknis", "Jan", "Kalenda", -}; - -const NameFormats lithuanianNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames lithuanianPeopleNames{{lithuanianMaleFirstNames, lithuanianLastNames, {}, {}}, - {lithuanianFemaleFirstNames, lithuanianLastNames, {}, {}}, - lithuanianNameFormats}; - -// Macedonia - -const std::array macedonianMaleFirstNames = { - "Александар", "Алексо", "Ангел", "Ангеле", "Андон", "Андреј", "Андреја", "Анте", - "Антим", "Антон", "Антониј", "Апостол", "Арсениј", "Асен", "Атанас", "Атанасиј", - "Ацо", "Благе", "Благој", "Благоја", "Блаже", "Богатин", "Богдан", "Богоја", - "Богослав", "Божидар", "Божин", "Божо", "Бојан", "Борис", "Борислав", "Борјан", - "Борко", "Боро", "Бошко", "Бранко", "Вангел", "Ване", "Ванче", "Ванчо", - "Васил", "Василиј", "Василко", "Велимир", "Величко", "Велјан", "Вељо", "Венко", - "Веселин", "Видое", "Виктор", "Владимир", "Владо", "Властимир", "Воислав", "Војдан", - "Војкан", "Волче", "Гаврил", "Гане", "Георги", "Герасим", "Глигор", "Гого", - "Горан", "Горјан", "Гоце", "Григор", "Гроздан", "Давид", "Дамјан", "Данаил", - "Даниел", "Данчо", "Дарко", "Дејан", "Делјан", "Делчо", "Диме", "Димитар", - "Димитрие", "Димитриј", "Димитрија", "Димко", "Димо", "Димче", "Добри", "Дојчин", - "Доротеј", "Драган", "Драги", "Драгиша", "Драгољуб", "Драгомир", "Драгослав", "Душан", - "Душко", "Ѓоко", "Ѓорѓи", "Ѓоре", "Ѓорче", "Ѓурчин", "Евгениј", "Евтим", - "Емануел", "Емил", "Еразмо", "Ефтим", "Живко", "Зафир", "Захариј", "Здравко", - "Златан", "Злате", "Златко", "Зоран", "Ѕвездан", "Ѕвонко", "Иван", "Ивко", - "Иво", "Игнат", "Игор", "Илија", "Исак", "Јаков", "Јане", "Јоаким", - "Јован", "Јованче", "Јовица", "Јово", "Јозо", "Јонче", "Јордан", "Јосиф", - "Кирил", "Киро", "Климент", "Козма", "Коле", "Константин", "Костадин", "Коце", - "Кочо", "Крсте", "Крсто", "Круме", "Ксенте", "Кузман", "Лазар", "Лазо", - "Леонид", "Лука", "Љубе", "Љубен", "Љубиша", "Љубомир", "Љупчо", "Македон", - "Максим", "Марин", "Марјан", "Марко", "Мате", "Матеја", "Мето", "Методи", - "Методиј", "Методија", "Милан", "Миле", "Милош", "Милчо", "Минчо", "Миодраг", - "Мирко", "Мирослав", "Мирче", "Митре", "Михаил", "Михајло", "Михо", "Мичо", - "Младен", "Момо", "Момчило", "Нанче", "Наум", "Небојша", "Неделко", "Ненад", - "Неофит", "Нестор", "Нешо", "Никита", "Никифор", "Никодим", "Никола", "Огнен", - "Оливер", "Орде", "Павле", "Пантелејмон", "Панче", "Партениј", "Паскал", "Пенчо", - "Перо", "Петар", "Петко", "Петре", "Пеце", "Пимен", "Прокопиј", "Прохор", - "Раде", "Радован", "Рајко", "Ранко", "Ризо", "Ристе", "Ристо", "Ромил", - "Саве", "Саво", "Самоил", "Самуил", "Санде", "Сашко", "Силјан", "Симон", - "Славе", "Славко", "Славчо", "Слободан", "Сократ", "Сотир", "Софе", "Софрониј", - "Спасе", "Спиро", "Србо", "Сребре", "Стале", "Стево", "Стефан", "Стоилко", - "Стојан", "Стојмен", "Стојче", "Страте", "Страхил", "Танас", "Ташко", "Ташо", - "Темелко", "Теодор", "Теодосиј", "Теофан", "Теофил", "Тихо", "Тихомир", "Тоде", - "Тодор", "Томе", "Томислав", "Трајан", "Трајко", "Трајче", "Трифун", "Тришо", - "Филип", "Харалампие", "Христијан", "Христо", "Цветан", "Цветко", "Цеко", "Часлав", - "Чедо", "Чедомир", "Шишман", -}; - -const std::array macedonianFemaleFirstNames = { - "Ава", "Александра", "Ана", "Анастасија", "Анѓа", "Ангела", "Ангелина", "Анче", - "Атанасија", "Билјана", "Бисера", "Бистра", "Блага", "Благица", "Благојка", "Благородна", - "Благуна", "Блаженка", "Богдана", "Богиња", "Божана", "Бојана", "Борјана", "Борка", - "Босилка", "Бранка", "Валентина", "Вања", "Варвара", "Василка", "Василија", "Васка", - "Велика", "Вера", "Вероника", "Весела", "Весна", "Виолета", "Војданка", "Воскресија", - "Габриела", "Галаба", "Галена", "Голубинка", "Гордана", "Горица", "Горјана", "Грозда", - "Дамјана", "Даница", "Данка", "Даринка", "Дафина", "Деница", "Десанка", "Деспина", - "Дивна", "Добрила", "Добринка", "Домника", "Донка", "Драга", "Драгана", "Душанка", - "Душка", "Ѓурѓа", "Ѓурѓица", "Ева", "Евгенија", "Евдокија", "Екатерина", "Елена", - "Елеонора", "Елисавета", "Елица", "Елка", "Есма", "Ефимија", "Ефросина", "Живка", - "Загорка", "Зафирка", "Захаринка", "Здравка", "Злата", "Зора", "Зорица", "Зорка", - "Ѕвезда", "Ива", "Ивана", "Иванка", "Илинденка", "Илинка", "Ирина", "Искра", - "Јаворка", "Јагода", "Јадранка", "Јана", "Јанка", "Јасна", "Јована", "Јовка", - "Јордана", "Јорданка", "Јулијана", "Калина", "Каранфилка", "Ката", "Катерина", "Катина", - "Катица", "Катја", "Кераца", "Кита", "Климентина", "Константина", "Косара", "Костадинка", - "Крстана", "Лена", "Ленче", "Лепа", "Лидија", "Лика", "Лилјана", "Лина", - "Љуба", "Љубинка", "Љубица", "Љупка", "Магдалена", "Македонка", "Макрина", "Мара", - "Марија", "Марика", "Марина", "Марта", "Матрона", "Меглена", "Меланија", "Мена", - "Мери", "Милева", "Милена", "Милица", "Милка", "Мирјана", "Мирка", "Нада", - "Надежда", "Наумка", "Невенка", "Неда", "Неделка", "Никодина", "Николина", "Олга", - "Оливера", "Павлина", "Павлинка", "Параскева", "Пауна", "Пелагија", "Петкана", "Петра", - "Петранка", "Писана", "Радмила", "Рајна", "Ракита", "Рафаила", "Рахела", "Рахилка", - "Ристана", "Родна", "Роса", "Роска", "Ружа", "Румена", "Русалина", "Русанка", - "Сава", "Сандра", "Сара", "Сашка", "Светлана", "Серафима", "Симјанка", "Симона", - "Славенка", "Славица", "Славјанка", "Славка", "Слободанка", "Снежана", "Сончица", "Софија", - "Спаса", "Спасена", "Споменка", "Сребра", "Стамена", "Стефанија", "Стефанка", "Стојанка", - "Стојна", "Стојмена", "Сузана", "Тамара", "Таска", "Татјана", "Темјана", "Теодора", - "Теодосија", "Теофилка", "Тодорка", "Трајанка", "Трена", "Трендафилка", "Убавка", "Фана", - "Фанка", "Филимена", "Флоринка", "Фросина", "Христина", "Цара", "Цвета", "Цветанка", -}; - -const std::array macedonianMaleLastNames = { - "Абаџиев", "Аврамов", "Аврамовски", "Аврамчев", "Ајановски", "Алексиев", - "Алексов", "Алексовски", "Ангеловски", "Андов", "Андонов", "Андоновски", - "Андреевски", "Антонов", "Анчевски", "Апостолов", "Апостолски", "Арсов", - "Арсовски", "Атанасов", "Атанасовски", "Атков", "Ацев", "Ацевски", - "Аџимитревски", "Бабамовски", "Бабунски", "Бавтировски", "Бајалски", "Бакевски", - "Балабанов", "Басаровски", "Бачовски", "Беличанец", "Белковски", "Беловски", - "Белогаски", "Белчев", "Бендевски", "Билбиловски", "Билјановски", "Бислимовски", - "Битовски", "Блажевски", "Близнаков", "Богданов", "Богдановски", "Богдански", - "Богоев", "Богоески", "Божиков", "Божинов", "Божиновски", "Бојановски", - "Бојаџи", "Бојаџиев", "Боцевски", "Бошевски", "Бошков", "Бошковски", - "Брезоски", "Бубуловски", "Бужаровски", "Бузев", "Бујуклиев", "Бунев", - "Варсаковски", "Василевски", "Василески", "Васков", "Величковски", "Велјанов", - "Велков", "Висулчев", "Владимирски", "Владов", "Влахов", "Влахчев", - "Вражалски", "Гаврилски", "Гајдов", "Галевски", "Гапо", "Гаревски", - "Генов", "Георгиев", "Георгиевски", "Герасимовски", "Гермов", "Геров", - "Гечевски", "Гешоски", "Гигов", "Гиевски", "Главаш", "Глигоров", - "Глигоровски", "Голабовски", "Грабул", "Грабулоски", "Грозданов", "Грошев", - "Грујовски", "Групче", "Гугувчевски", "Гучев", "Давидовски", "Давков", - "Давчев", "Давчевски", "Дамески", "Дамовски", "Дворчанец", "Дејанов", - "Демниев", "Деспотовски", "Дилев", "Димитриев", "Димитров", "Димковски", - "Димов", "Димовски", "Динев", "Диневски", "Дирјан", "Добревски", - "Доброхотов", "Додевски", "Дојчинов", "Доневски", "Дракул", "Дренков", - "Дрнков", "Дуганов", "Дуковски", "Ѓаконовски", "Ѓелев", "Ѓорѓевски", - "Ѓорчев", "Ѓузелев", "Ѓурлуков", "Ѓурчинов", "Евремов", "Едиповски", - "Ежов", "Ефтимов", "Жеков", "Железаров", "Жерновски", "Забазноски", - "Зафировски", "Здравев", "Здравковски", "Зографски", "Иванов", "Ивановски", - "Иваноски", "Игновски", "Игњатовски", "Икономов", "Илиев", "Илиевски", - "Иљоски", "Исаковски", "Ицев", "Јакимовски", "Јаконов", "Јаневски", - "Јанчевски", "Јачев", "Јованов", "Јовановски", "Јовчевски", "Јорданов", - "Јордановски", "Јосифовски", "Јосифоски", "Јуруков", "Јурукоски", "Калајџиски", - "Калчевски", "Камберски", "Кантарџиев", "Караѓозов", "Карадак", "Караман", - "Каранфиловски", "Карев", "Каров", "Каровски", "Картов", "Катарџиев", - "Кепески", "Керамитчиев", "Керамичиев", "Кирјазовски", "Киселинов", "Китаноски", - "Кичевски", "Кљусев", "Кодра", "Колишевски", "Колозов", "Кондов", - "Кондовски", "Конески", "Константинов", "Константиновски", "Кордалов", "Корубин", - "Костадинов", "Костовски", "Котевски", "Котески", "Коцаре", "Коцо", - "Кочовски", "Коџоман", "Крле", "Крстев", "Крстевски", "Крстески", - "Крцковски", "Кузмановски", "Кулишев", "Куновски", "Куноски", "Кушевски", - "Ладински", "Лазаревски", "Лазаров", "Лазески", "Лазовски", "Лакински", - "Лактински", "Лапе", "Лахтов", "Левенски", "Лековски", "Леов", - "Лечевски", "Липов", "Личеноски", "Лозановски", "Луловски", "Љутков", - "Мазев", "Мајсторов", "Македонски", "Малевски", "Малески", "Маловски", - "Манаковски", "Мангов", "Манговски", "Манев", "Маневски", "Манивилов", - "Манчев", "Манчевски", "Маринов", "Марковски", "Мартиновски", "Мартиноски", - "Масин", "Матевски", "Матковски", "Матовски", "Маџиров", "Миладинов", - "Милосавлев", "Милошевски", "Милчин", "Миљовски", "Минчев", "Миовски", - "Миронски", "Мисирков", "Митевски", "Митревски", "Митриќески", "Михајлов", - "Михајловски", "Мицев", "Мицевски", "Мицковски", "Мицов", "Мишковски", - "Младенов", "Младеновски", "Мојсовски", "Мокров", "Момировски", "Мошин", - "Мукаетов", "Муратовски", "Мусалевски", "Мустачки", "Најденов", "Најдовски", - "Најчески", "Наков", "Наневски", "Настев", "Наумов", "Наумовски", - "Наумчески", "Начев", "Неделковски", "Нестор", "Несторовски", "Нетков", - "Нешковски", "Николески", "Николов", "Николовски", "Никушев", "Нинов", - "Оровчанец", "Ортаков", "Османли", "Павловски", "Павлоски", "Пајтонџиев", - "Паковски", "Паликрушев", "Панговски", "Пандески", "Пандилов", "Пандовски", - "Панков", "Панов", "Пановски", "Панчевски", "Папрадишки", "Пејов", - "Пендовски", "Пенушлиски", "Пепељуговски", "Перински", "Перчинковски", "Петковски", - "Петров", "Петровски", "Петрушев", "Петрушевски", "Пиперковски", "Планински", - "Подгорец", "Полежиноски", "Полјански", "Попов", "Поповски", "Попоски", - "Преспански", "Прилепчански", "Прличко", "Псалтиров", "Пуцков", "Равановски", - "Радически", "Раковски", "Рацин", "Ризов", "Ристов", "Ристовски", - "Ристоски", "Руменов", "Русјаков", "Русоманов", "Салџиев", "Санев", - "Сариевски", "Светиев", "Серафимов", "Серафимовски", "Сидовски", "Силјановски", - "Симов", "Симовски", "Симоновски", "Скаловски", "Славенски", "Славески", - "Сланев", "Смаќоски", "Смилевски", "Смокварски", "Соколов", "Солев", - "Солунски", "Софрониевски", "Спасеновски", "Спасов", "Спасовски", "Спиров", - "Спировски", "Ставрев", "Ставрески", "Стаматоски", "Станков", "Станковски", - "Старделов", "Стеванов", "Стевковски", "Стефанов", "Стефановски", "Стојанов", - "Стојановски", "Стојаноски", "Стојков", "Стојковски", "Стојменски", "Стојчев", - "Такев", "Таковски", "Талевски", "Талески", "Темелкоски", "Теодосиевски", - "Терзиев", "Тодоров", "Тодоровски", "Тозија", "Толевски", "Томовски", - "Тофоски", "Точко", "Тошев", "Тошевски", "Трајковски", "Тренески", - "Тренчевски", "Трифуновски", "Тројачанец", "Трпеновски", "Тушевски", "Ќамилов", - "Ќорнаков", "Ќортошев", "Ќурчиев", "Угриновски", "Узунов", "Узуновски", - "Урдин", "Филиповски", "Фирфов", "Фотев", "Хаџиманов", "Хаџиниколов", - "Христов", "Христовски", "Цанев", "Цветановски", "Цеков", "Цековски", - "Ценев", "Црвенковски", "Црвенов", "Чакар", "Чакмаков", "Чаловски", - "Чапаровски", "Чаушев", "Чашуле", "Чевревски", "Чејковски", "Чемерски", - "Чемков", "Чипан", "Чокревски", "Чундев", "Чупона", "Чучков", - "Чушкаров", "Џамбаз", "Џамбазов", "Џаџев", "Џеков", "Џинлески", - "Џорлев", "Џувалековски", "Џунов", "Шаревски", "Шијак", "Шијаков", - "Шијаковски", "Ширилов", "Шишков", "Шопов", "Шоптрајанов", "Штерјоски", - "Шулинчевски", -}; - -const std::array macedonianFemaleLastNames = { - "Абаџиева", "Абова", "Аврамова", "Аврамовска", "Аврамчева", "Ајановска", "Алексиева", - "Алексова", "Алексовска", "Ангеловска", "Андова", "Андонова", "Андоновска", "Андреевска", - "Антонова", "Анчевска", "Апостолова", "Апостолска", "Арсова", "Арсовска", "Атанасова", - "Атанасовска", "Аткова", "Ацева", "Ацевска", "Аџимитревска", "Бабамовска", "Бабунска", - "Бавтировска", "Бајалска", "Бакевска", "Балабанова", "Басаровска", "Бачовска", "Беличанец", - "Белковска", "Беловска", "Белогаска", "Белчева", "Бендевска", "Билбиловска", "Билјановска", - "Бислимовска", "Битовска", "Блажевска", "Близнакова", "Богданова", "Богдановска", "Богданска", - "Богоева", "Богоеска", "Божикова", "Божинова", "Божиновска", "Бојановска", "Бојаџи", - "Бојаџиева", "Боцевска", "Бошевска", "Бошкова", "Бошковска", "Брезоска", "Бубуловска", - "Бужаровска", "Бузева", "Бујуклиева", "Бунева", "Варсаковска", "Василевска", "Василеска", - "Васкова", "Величковска", "Велјанова", "Велкова", "Висулчева", "Владимирска", "Владова", - "Влахова", "Влахчева", "Вражалска", "Гаврилска", "Гајдова", "Галевска", "Гапо", - "Гаревска", "Генова", "Георгиева", "Георгиевска", "Герасимовска", "Гермова", "Герова", - "Гечевска", "Гешоска", "Гигова", "Гиевска", "Главаш", "Глигорова", "Глигоровска", - "Голабовска", "Грабул", "Грабулоска", "Грозданова", "Грошева", "Грујовска", "Групче", - "Гугувчевска", "Гучева", "Давидовска", "Давкова", "Давчева", "Давчевска", "Дамеска", - "Дамовска", "Дворчанец", "Дејанова", "Демниева", "Деспотовска", "Дилева", "Димитриева", - "Димитрова", "Димковска", "Димова", "Димовска", "Динева", "Диневска", "Добревска", - "Додевска", "Дојчинова", "Доневска", "Дракул", "Дренкова", "Дрнкова", "Дуганова", - "Дуковска", "Ѓаконовска", "Ѓелева", "Ѓорѓевска", "Ѓорчева", "Ѓузелева", "Ѓурлукова", - "Ѓурчинова", "Евремова", "Едиповска", "Ежова", "Ефтимова", "Жекова", "Железарова", - "Жерновска", "Забазноска", "Зафировска", "Здравева", "Здравковска", "Зографска", "Иванова", - "Ивановска", "Иваноска", "Игновска", "Игњатовска", "Икономова", "Илиева", "Илиевска", - "Иљоска", "Исаковска", "Ицева", "Јакимовска", "Јаконова", "Јаневска", "Јанчевска", - "Јачева", "Јованова", "Јовановска", "Јовчевска", "Јорданова", "Јордановска", "Јосифовска", - "Јосифоска", "Јурукова", "Јурукоска", "Калајџиска", "Калчевска", "Камберска", "Кантарџиева", - "Караѓозова", "Карадак", "Караман", "Каранфиловска", "Караџа", "Карева", "Карова", - "Каровска", "Картова", "Катарџиева", "Кепеска", "Керамитчиева", "Керамичиева", "Кирјазовска", - "Киселинова", "Китаноска", "Кичевска", "Кљусева", "Колишевска", "Колозова", "Кондова", - "Кондовска", "Конеска", "Константинова", "Константиновска", "Кордалова", "Коробар", "Корубин", - "Костадинова", "Костовска", "Котевска", "Котеска", "Коцаре", "Коцо", "Кочовска", - "Коџоман", "Крле", "Крстева", "Крстевска", "Крстеска", "Крцковска", "Кузмановска", - "Кулишева", "Куновска", "Куноска", "Кутурец", "Кушевска", "Ладинска", "Лазаревска", - "Лазарова", "Лазеска", "Лазовска", "Лакинска", "Лактинска", "Лапе", "Лахтова", - "Левенска", "Лековска", "Леова", "Лечевска", "Липова", "Личеноска", "Лозановска", - "Луловска", "Љуткова", "Мазева", "Мајсторова", "Македонска", "Малевска", "Малеска", - "Маловска", "Манаковска", "Мангова", "Манговска", "Манева", "Маневска", "Манивилова", - "Манчева", "Манчевска", "Маринова", "Марковска", "Мартиновска", "Мартиноска", "Масин", - "Матевска", "Матковска", "Матовска", "Маџирова", "Миладинова", "Милосавлева", "Милошевска", - "Милчин", "Миљовска", "Минчева", "Миовска", "Миронска", "Мисиркова", "Митевска", - "Митревска", "Митриќеска", "Михајлова", "Михајловска", "Мицева", "Мицевска", "Мицковска", - "Мицова", "Мишковска", "Младенова", "Младеновска", "Мојсовска", "Мокрова", "Момировска", - "Мошин", "Мукаетова", "Муратовска", "Мусалевска", "Мустачки", "Најденова", "Најдовска", - "Најческа", "Накова", "Наневска", "Настева", "Наумова", "Наумовска", "Наумческа", - "Начева", "Неделковска", "Нестор", "Несторовска", "Неткова", "Нешковска", "Николеска", - "Николова", "Николовска", "Никушева", "Нинова", "Оровчанец", "Ортакова", "Османли", - "Павловска", "Павлоска", "Пајтонџиева", "Паковска", "Паликрушева", "Панговска", "Пандеска", - "Пандилова", "Пандовска", "Панкова", "Панова", "Пановска", "Панчевска", "Папрадишки", - "Пејова", "Пендовска", "Пенушлиска", "Пепељуговска", "Перинска", "Перчинковска", "Петковска", - "Петрова", "Петровска", "Петрушева", "Петрушевска", "Пиперковска", "Планинска", "Подгорец", - "Полежиноска", "Полјанска", "Попова", "Поповска", "Попоска", "Преспанска", "Прилепчанска", - "Прличко", "Псалтирова", "Пуцкова", "Равановска", "Радическа", "Раковска", "Рацин", - "Реџепова", "Ризова", "Ристова", "Ристовска", "Ристоска", "Руменова", "Русјакова", - "Русоманова", "Салџиева", "Санева", "Сариевска", "Светиева", "Серафимова", "Серафимовска", - "Сидовска", "Силјановска", "Симова", "Симовска", "Симоновска", "Скаловска", "Славенска", - "Славеска", "Сланева", "Смаќоска", "Смилевска", "Смокварска", "Соколова", "Солева", - "Солунска", "Софрониевска", "Спасеновска", "Спасова", "Спасовска", "Спирова", "Спировска", - "Ставрева", "Ставреска", "Стаматоска", "Станкова", "Станковска", "Старделова", "Стеванова", - "Стевковска", "Стефанова", "Стефановска", "Стојанова", "Стојановска", "Стојаноска", "Стојкова", - "Стојковска", "Стојменска", "Стојчева", "Такева", "Таковска", "Талевска", "Талеска", - "Темелкоска", "Теодосиевска", "Терзиева", "Тодорова", "Тодоровска", "Тозија", "Толевска", - "Томовска", "Тофоска", "Точко", "Тошева", "Тошевска", "Трајковска", "Тренеска", - "Тренчевска", "Трифуновска", "Тројачанец", "Трпеновска", "Тушевска", "Ќамилова", "Ќорнакова", - "Ќортошева", "Ќурчиева", "Угриновска", "Узунова", "Узуновска", "Урдин", "Филиповска", - "Фирфова", "Фотева", "Хаџиманова", "Хаџиниколова", "Христова", "Христовска", "Цанева", - "Цветановска", "Цекова", "Цековска", "Ценева", "Црвенковска", "Црвенова", "Чакар", - "Чакмакова", "Чаловска", "Чапаровска", "Чаушева", "Чашуле", "Чевревска", "Чејковска", - "Чемерска", "Чемкова", "Чипан", "Чокревска", "Чундева", "Чупона", "Чучкова", - "Чушкарова", "Џамбаз", "Џамбазова", "Џаџева", "Џекова", "Џинлеска", "Џорлева", - "Џувалековска", "Џунова", "Шаревска", "Шијак", "Шијакова", "Шијаковска", "Ширилова", - "Шишкова", "Шопова", "Шоптрајанова", "Штерјоска", "Шулинчевска", -}; - -const std::array macedonianMalePrefixes{"г-дин", "д-р", "м-р"}; - -const std::array macedonianFemalePrefixes{"г-ѓа", "г-ца", "д-р", "м-р"}; - -const NameFormats macedonianNameFormats{{{"{firstName} {lastName}", 10}, {"{prefix} {firstName} {lastName}", 1}}}; - -const PeopleNames macedonianPeopleNames{ - {macedonianMaleFirstNames, macedonianMaleLastNames, macedonianMalePrefixes, {}}, - {macedonianFemaleFirstNames, macedonianFemaleLastNames, macedonianFemalePrefixes, {}}, - macedonianNameFormats}; - -// Maldives - -const std::array maldiviansMaleFirstNames = { - "އާދަމް", "އިބްރާހީމް", "އިލްޔާސް", "އިސްމާޢީލް", "ޢީސާ", "އަބޫބަކްރު", "އަލީ", "އުސާމާ", "ދާއޫދު", "ޢަޠާ", "ޤުދާސް", "މުޙައްމަދު", "މޫސާ", "ޔޫސުފް", -}; - -const std::array maldiviansFemaleFirstNames = { - "ރަމްލާ", "ހިންދު", "ޙަފްޞާ", "ޚަދީޖާ", "ޒައިނަބު", "ޞަފިއްޔާ", "ޢާއިޝާ", "މައިމޫނާ", "ޖުވައިރިއްޔާ", "ސައުދާ", "މާރިޔާ", "ރުޤައްޔާ", "ފާޠިމާ", - "އުއްމުކުލްޘޫމޮ", "ޙައްވާ", "ސާރާ", "ހާޖަރު", "މަރްޔަމޮ", "ޒުލައިޚާ", "އާސިޔާ", "ބަލްޤީސް", "އާމިނަތު", "އަސްމާއު", "އުމާމާ", "ބަރްކާ", "ޖަމީލާ", - "ޙަސްނާއު", "ޙަލީމާ", "ޚަވްލާ", "ޚައިރާ", "ރުމައިޞާއު", "ރުފައިދާ", "ރަޤީޤާ", "ސަޢާދު", "ސަލްމާ", "ސުލައިމް", "ސުމައްޔާ", "ޝަހީދާ", "ޝިފާ", - "ޢާތިކާ", "ޤައިލާ", "ލަޔާލީ", "ކުލްޘޫމް", "މުސްލިމާ", "ނަސީބާ", "ނަފީސާ", "ނަވާރު", "ހާނީ", "ހުނައިދާ"}; - -const std::array maldiviansMaleLastNames = { - "އަކްޙަލް", "އަޘްހަރު", "ބުރްހާން", "ބާޤީ", "ބުހްލޫލް", "ބަޝޫޝް", "ތަރަފް", "ތައްމާމް", "ތުކްލާން", "ޘަވިއްޔު", "ޘާޣިމް", "ޘަރިއްޔު", "ޖާބިރު", "ޖާސިމް", - "ޖަޛަލް", "ޖުސުމް", "ޖުންދު", "ޙާބިސް", "ޙާފިދު", "ޙަބީބު", "ޙަޘީޘް", "ޙުސްނީ", "ޚާބިސް", "ޚާފިޤާނި", "ޚިތާމް", "ޚައިރީ", "ދާރިބު", "ދައްރާކު", - "ދިރްފިސް", "ދީވާން", "ޛަހަބު", "ޛުއްނޫރު", "ޛަކީ", "ރާބިޙް", "ރައުބު", "ރަޙޫމް", "ރޫދު", "ޒިބްރިޖު", "ޒިރުޔާބު", "ޒޯފިޝާން", "ސާޤީ", "ސިބުޠު", - "ސަރުމަދު", "ސާޖީ", "ޝާމިސް", "ޝަބާބު", "ޝުބޫލް", "ޝަފްޝާފް", "ޝަލޫލް", "ޞަބޫރު", "ޞަދޫޙު", "ޞަފިއްޔު", "ޞުރޫޙު", "ޠާޙީ", "ޠާލިބު", "ޠިބާބު", - "ޡަފަރު", "ޡިލާލް", "ޡުހޫރު", "ޢާބިދީން", "ޢަބްޤަރީ", "ޢިއްޒަތު", "ޢައްމާރު", "ޢަންބަރު", "ޢަންދަލީބު", "ޣާދިފު", "ޣައްރާފް", "ޣައްސާން", "ޣުމޫމް", "ޣަންދޫރު", - "ޣަޔްދަން", "ފާއިޤު", "ފަތޫޙް", "ފަހުމާން", "ފައިލަޤު", "ޤާބޫސް", "ޤިންދީލް", "ޤިންޠާރް", "ޤަވާމް", "ކަލަޖް", "ކައުޘަރު", "ކައިސޫމް", "ލުބަދު", "ލަބިޤު", - "ލަސަން", "ލުޠުފީ", "ލުޤުމާން", "މައުރަބު", "މައުމަލް", "މައާބު", "މަބްޞަރު", "މުތަނާސިޤް", "މުދުރިކަތު", "ނުޖުދު", "ނުސައިބު", "ނުޢައިމް", "ނައްބާރު", "ނުހައިލް", - "ވާބިޞް", "ވަދީސް", "ވާފިރު", "ވައްޟާޙް", "ވަހްބު", "ހާދީ", "ހިދާޔަތް", "ހުޛުލޫލް", "ހައްފާފް", "ހިންދިސް", "ޔާޤޫތު", "ޔަލްމަޢި", "ޔޫޝަޢު", "ޔަގްޡާން", -}; - -const std::array maldiviansFemaleLastNames = { - "އިބާ", "އަޘްމާރު", "އަޘީލާ", "އިރާދާ", "އިރުތިޖާޢު", "އަރުވާ", "އުމުނިއްޔާ", "އަންބާ", "އަންޖަލް", "އުމަރާ", "ބަދުރިއްޔާ", "ބަރުޒާ", - "ބަޝޫޝޤް", "ބަތްނާ", "ބަޝާޝާ", "ބާޛިލާ", "ބަތޫލް", "ބަރުޢުމް", "ބަޠްޙާއު", "ބަހިއްޔު", "ތާއްމާ", "ތަބައްރުޢު", "ތަޙައްޝުމު", "ތަޛްހީބު", - "ތަޒައްޔުން", "ތަޣްރީދު", "ތިމްރާޙަތު", "ޘަބްރާ", "ޘަރާ", "ޘުރައްޔާ", "ޘަވާ", "ޘާނީ", "ޖާސިމާ", "ޖިދާ", "ޖަސާރާ", "ޖަލްވާ", - "ޖުމްލާނާ", "ޖުނައިނާ", "ޖައިދާނާ", "ޖުމާއު", "ޙާރިސާ", "ޙިބާއު", "ޙަބީބާ", "ޙަދްވާ", "ޙަޝްމާ", "ޙަޞްނާ", "ޙަމްރާއު", "ޙިންނާ", - "ޙަނާން", "ޚާލިޞާ", "ޚަދްރާ", "ޚުލަސާ", "ޚަވްޟާ", "ޚަވްލީ", "ޚަވްދު", "ދާއިޙާ", "ދާޖިނާ", "ދައުމާއު", "ދުއްރުން", "ދަރްޤާ", - "ދަފީނާ", "ދަލޫފް", "ދާނިޔާ", "ޛާބިރާ", "ޛަބާރާ", "ޛަރާ", "ޛިކްރާ", "ޛަމާމަތު", "ރުއުޔާ", "ރާބިޙާ", "ރާސިޙާ", "ރާފިޢާ", - "ރާމާ", "ރަބާބާ", "ރަޖާ", "ރަޙޫލް", "ރައްސާމާ", "ރުޝްދިއްޔާ", "ރަފާހިއްޔާ", "ރުފައިދާ", "ރައުޙިއްޔާ", "ރަވްނަޤް", "ޒާޚިރާ", "ޒާހް", - "ޒަބަރުޖަދް", "ޒަޖާ", "ޒުރްޤުމް", "ޒަރްނަޤާ", "ޒުމުއްރުދާ", "ޒާޚިޒުންބުޤާރާ", "ޒުންބުޤާ", "ޒައިޒަފޫން", "ޒިދުނީ", "ރާޖިޔާ", "ރަޖާޙާ", "ރިދާފާ", - "ރިޢާ", "ރަކީނާ", "ރުމައިޒާ", "ރަހީނާ", "ޒާރާ", "ޒުބައިދާ", "ޒަރްކަޝާ", "ޒަޢުފަރާނާ", "ސުއުދާ", "ސާބިޤާ", "ސާމިޤާ", "ސުބުޙާތު", - "ސަޙަރު", "ސަޢުދިއްޔާ", "ސަލްސަބީލް", "ސުމައިޙާ", "ސުންދުސް", "ސަނަމް", "ޝާއިޤާ", "ޝާރިޔާ", "ޝަބާބު", "ޝަޖިއްޔާ", "ޝަރްސާއު", "ޝަރްޤިއްޔާ", - "ޝުޢާޢު", "ޝަފްޝާފް", "ޝަލަބިއްޔާ", "ޝަމަރުދަލް", "ޝަމްސާ", "ޝިންޝިނާ", "ޞާއިބާ", "ޞާފީނާޒް", "ޞަބިއްޔާ", "ޞުބައިޙާ", "ޞިއްދީޤާ", "ޞިންވާން", - "ޟާޙިޔާ", "ޟާމިނަތު", "ޟުޙާ", "ޟިފާފް", "ޟިޔާ", "ތާއިޢާ", "ޠާހިރާ", "ޠަރޫބު", "ޠުލްސާ", "ޠުމޫޙާ", "ޠައްޔިބާ", "ޡާފިރާ", - "ޡަމްޔާ", "ޡުއްލާ", "ޡަހީރާ", "ޢާއިދާ", "ޢާޖިލާ", "ޢާޤިބާ", "ޢާލިޔާ", "ޢަބީރު", "ޢުތުބާ", "ޢަދުލިއްޔާ", "ޢަޛްރާ", "ޢަރޫޝާ", - "ޢައްޒާ", "ޢަޠާޔާ", "ޢަފާފާ", "ޢަލާނިޔާ", "ޢަންނާބު", "ޢަންބަރާ", "ޢަންދަލީބު", "ޢަލާނާ", "ޣާދާ", "ޣާނީ", "ޣާޔާ", "ޣިނާ", - "ޣީދު", "ޣީރާ", "ފާއިޒާ", "ފާރީހާން", "ފަތުޙިއްޔާ", "ފަރާއިދު", "ފިރްޔާލް", "ފުރައިސާ", "ފިޠްރިއްޔާ", "ފުނޫން", "ފުހައިދާ", "ފައްވާޙާ", - "ފައުޤިއްޔާ", "ފައިނާން", "ޤާނިތު", "ޤަބްސާ", "ޤުޘަމް", "ޤުދުވާ", "ޤިޠާފް", "ޤުމްރިއްޔާ", "ޤަމީން", "ކާއިނާ", "ކާސިބާ", "ކާޙިލާ", - "ކާފިޔާ", "ކަބީރާ", "ކަރާއިމް", "ކުރައިމާން", "ކިފާޔާ", "ކުލްޘޫމް", "ކިނާނާ", "ކަންޒު", "ލުއުލުއު", "ލުބާބާ", "ލުއްޖާ", "ލަސަން", - "ލުބާ", "ލިޔާނާ", "މުއުމިނާ", "މުއުނިސާ", "މާހާ", "މާހީ", "މާސާ", "މާޝީ", "މާވީ", "މަދާ", "މަރްހޫބާ", "މުސްކާ", - "މަލަދު", "މުނާ", "މީފާ", "ނާއިފާ", "ނާލާ", "ނާހީ", "ނާވީ", "ނުބްހާ", "ނަޖާ", "ނަޖްމާ", "ނުޚްބާ", "ނަރްޖިސް", - "ނޫރުލްހުދާ", "ވާޙާ", "ވިޖްދާން", "ވުސްޢާ", "ވަޝީކު", "ވަޞްފާ", "ވަހިއްޔާ", "ހާދިއާ", "ހާނީ", "ހިބާ", "ހުދާ", "ހަނާ", - "ހިންދާމް", "ހޫނާ", "ހައިނަމާ", "ޔާސިރާ", "ޔާޤޫތު", "ޔަޤްޡާ", "ޔަމްނާ", "ޔަޝްމް", -}; - -const std::array maldiviansMalePrefixes = {"އަމީރު", "އަމީރާ", "ބަނޑޭރި", "ބޮޑު"}; - -const std::array maldiviansFemalePrefixes = {"އަމީރު", "އަމީރާ", "ބަނޑޭރި", "ބޮޑު"}; - -const NameFormats maldiviansNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames maldiviansPeopleNames{ - {maldiviansMaleFirstNames, maldiviansMaleLastNames, maldiviansMalePrefixes, {}}, - {maldiviansFemaleFirstNames, maldiviansFemaleLastNames, maldiviansFemalePrefixes, {}}, - maldiviansNameFormats}; - -// Malta - -const std::array malteseMaleFirstNames = { - "Joseph", "John", "Mark", "Mario", "David", "Paul", "Michael", "Anthony", "Joe", - "Charles", "Matthew", "Robert", "Daniel", "Chris", "George", "Andrew", "Peter", "Kevin", - "Adrian", "Stephen", "Jonathan", "James", "Martin", "Simon", "Ray", "Steven", "Alfred", - "Victor", "Raymond", "Karl", "Brian", "Alex", "Ivan", "Patrick", "Tony", "Christopher", - "Keith", "Edward", "Ian", "Jason", "Pierre", "Christian", "Kenneth", "Philip", "Alan", - "Ryan", "Luke", "Albert", "Louis", "Antoine", "Lawrence", "Stefan", "Roderick", "Vincent", - "Malcolm", "Richard", "Josef", "Darren", "Emanuel", "Nicholas", "Manuel", "Marco", "Alexander", - "Frank", "Kurt", "Andre", "Anton", "Gordon", "Thomas", "Sandro", "Etienne", "Charlie", - "Reuben", "Aaron", "Lino", "Justin", "William", "Julian", "Bernard", "Ronald", "Eric", - "Sean", "Neville", "Silvio", "Godwin", "Emmanuel", "Johann", "Neil", "Franco", "Clayton", - "Edwin", "Oliver", "Aldo", "Gilbert", "Jeffrey", "Duncan", "Jeremy", "Glenn", "Henry", - "Clive", -}; - -const std::array malteseFemaleFirstNames = { - "Maria", "Anna", "Mary", "Carmen", "Rita", "Noel", "Claire", "Sarah", "Stephanie", - "Daniela", "Christine", "Michelle", "Josephine", "Carmel", "Jean", "Sandra", "Ruth", "Joanne", - "Elaine", "Josette", "Sharon", "Charmaine", "Charlene", "Caroline", "Mariella", "Roberta", "Miriam", - "Rachel", "Francesca", "Amanda", "Joanna", "Andrea", "Marie", "Alison", "Pauline", "Elizabeth", - "Marisa", "Jessica", "Lara", "Denise", "Doris", "Rebecca", "Louise", "Karen", "Francis", - "Catherine", "Graziella", "Lorraine", "Vanessa", "Doreen", "Diane", "Patricia", "Rose", "Jane", - "Monica", "Victoria", "Margaret", "Romina", "Simone", "Alexia", "Melanie", "Fiona", "Lisa", - "Audrey", "Antoinette", "Nadia", "Emma", "Anne", "Jennifer", "Angela", "Nathalie", "Marlene", - "Grace", "Tania", "Natasha", "Laura", "Claudia", "Jacqueline", "Dennis", "Nicole", "Joan", - "Ann", "Alexandra", "Isabelle", "Antonella", "Helen", "Janice", "Joyce", "Nadine", "Natalie", - "Sue", "Marica", "Tiziana", "Christina", "Marion", "Therese", "Elena", "Abigail", "Cynthia", - "Susan", -}; - -const std::array malteseLastNames = { - "Borg", "Vella", "Camilleri", "Farrugia", "Zammit", "Galea", "Micallef", "Grech", "Attard", - "Cassar", "Spiteri", "Azzopardi", "Mifsud", "Caruana", "Muscat", "Agius", "Pace", "Fenech", - "Schembri", "Abela", "Sammut", "Gatt", "Gauci", "Debono", "Bugeja", "Vassallo", "Bonnici", - "Aquilina", "Portelli", "Calleja", "Scicluna", "Cutajar", "Falzon", "Grima", "Mallia", "Ellul", - "Saliba", "Bonello", "Cachia", "Mizzi", "Xuereb", "Buttigieg", "Scerri", "Busuttil", "Tabone", - "Cauchi", "Sciberras", "Bartolo", "Mercieca", "Baldacchino", "Buhagiar", "Briffa", "Formosa", "Brincat", - "Zahra", "Bezzina", "Sultana", "Mangion", "Chetcuti", "Dimech", "Darmanin", "Pisani", "Psaila", - "Cilia", "Cini", "Debattista", "Tanti", "Sant", "Mamo", "Zerafa", "Ciantar", "Magro", - "Said", "Chircop", "Zarb", "Barbara", "Dalli", "Curmi", "Frendo", "Tonna", "Cuschieri", - "Abdilla", "Deguara", "Magri", "Hili", "Cremona", "Cardona", "Xerri", "Balzan", "Degiorgio", - "Grixti", "Bajada", "Catania", "Pullicino", "Cordina", "Callus", "Meli", "Ebejer", "Anastasi", - "Theuma", -}; - -const NameFormats malteseNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames maltesePeopleNames{{malteseMaleFirstNames, malteseLastNames, {}, {}}, - {malteseFemaleFirstNames, malteseLastNames, {}, {}}, - malteseNameFormats}; - -// Mexico - -const std::array mexicanMaleFirstNames = { - "Aarón", "Abraham", - "Adán", "Agustín", - "Alan", "Alberto", - "Alejandro", "Alexander", - "Alexis", "Alfonso", - "Alfredo", "Andrés", - "Ángel Daniel", "Ángel Gabriel", - "Antonio", "Armando", - "Arturo", "Axel", - "Benito", "Benjamín", - "Bernardo", "Brandon", - "Brayan", "Carlos", - "César", "Claudio", - "Clemente", "Cristian", - "Cristobal", "Damián", - "Daniel", "David", - "Diego", "Eduardo", - "Elías", "Emiliano", - "Emilio", "Emmanuel", - "Enrique", "Erick", - "Ernesto", "Esteban", - "Federico", "Felipe", - "Fernando", "Fernando Javier", - "Francisco", "Francisco Javier", - "Gabriel", "Gael", - "Gerardo", "Germán", - "Gilberto", "Gonzalo", - "Gregorio", "Guillermo", - "Gustavo", "Hernán", - "Homero", "Horacio", - "Hugo", "Ignacio", - "Iker", "Isaac", - "Isaias", "Israel", - "Ivan", "Jacobo", - "Jaime", "Javier", - "Jerónimo", "Jesús", - "Joaquín", "Jorge", - "Jorge Luis", "José", - "José Antonio", "Jose Daniel", - "José Eduardo", "José Emilio", - "José Luis", "José María", - "José Miguel", "Juan", - "Juan Carlos", "Juan Manuel", - "Juan Pablo", "Julio", - "Julio César", "Kevin", - "Leonardo", "Lorenzo", - "Lucas", "Luis", - "Luis Ángel", "Luis Fernando", - "Luis Gabino", "Luis Miguel", - "Manuel", "Marco Antonio", - "Marcos", "Mariano", - "Mario", "Martín", - "Mateo", "Matías", - "Mauricio", "Maximiliano", - "Miguel", "Miguel Ángel", - "Nicolás", "Octavio", - "Óscar", "Pablo", - "Patricio", "Pedro", - "Rafael", "Ramiro", - "Ramón", "Raúl", - "Ricardo", "Roberto", - "Rodrigo", "Rubén", - "Salvador", "Samuel", - "Sancho", "Santiago", - "Saúl", "Sebastian", - "Sergio", "Tadeo", - "Teodoro", "Timoteo", - "Tomás", "Uriel", - "Vicente", "Víctor", - "Victor Manuel", -}; - -const std::array mexicanFemaleFirstNames = { - "Abigail", - "Abril", - "Adela", - "Adriana", - "Alejandra", - "Alexa", - "Alicia", - "Alondra Romina", - "Amalia", - "Ana Luisa", - "Ana María", - "Ana Sofía", - "Ana Victoria", - "Ana", - "Andrea", - "Ángela", - "Anita", - "Antonia", - "Araceli", - "Ariadna", - "Barbara", - "Beatriz", - "Berta", - "Blanca", - "Camila", - "Caridad", - "Carla", - "Carlota", - "Carmen", - "Carolina", - "Catalina", - "Cecilia", - "Clara", - "Claudia", - "Concepción", - "Conchita", - "Cristina", - "Daniela", - "Débora", - "Diana", - "Dolores", - "Dorotea", - "Dulce María", - "Elena", - "Elisa", - "Elizabeth", - "Eloisa", - "Elsa", - "Elvira", - "Emilia", - "Emily", - "Esmeralda", - "Esperanza", - "Estefanía", - "Estela", - "Ester", - "Eva", - "Evelyn", - "Fatima", - "Florencia", - "Francisca", - "Gabriela", - "Gloria", - "Graciela", - "Guadalupe", - "Guillermina", - "Inés", - "Irene", - "Isabel", - "Isabela", - "Ivanna", - "Jazmin", - "Jennifer", - "Jimena", - "Josefina", - "Juana", - "Julia", - "Julieta", - "Kimberly", - "Laura", - "Leonor", - "Leticia", - "Lilia", - "Liliana", - "Lizbeth", - "Lola", - "Lorena", - "Lourdes", - "Lucia", - "Luisa", - "Luz", - "Magdalena", - "Manuela", - "Marcela", - "Margarita", - "María Cristina", - "María de Jesús", - "María de los Ángeles", - "María del Carmen", - "María Elena", - "María Eugenia", - "María Fernanda", - "María Guadalupe", - "María José", - "María Luisa", - "María Soledad", - "María Teresa", - "María", - "Mariana", - "Maricarmen", - "Marilu", - "Marisol", - "Marta", - "Mayte", - "Melany", - "Melissa", - "Mercedes", - "Micaela", - "Miranda", - "Mónica", - "Monserrat", - "Naomi", - "Natalia", - "Nicole", - "Norma", - "Olivia", - "Paola", - "Patricia", - "Paulina", - "Pilar", - "Ramona", - "Raquel", - "Rebeca", - "Regina", - "Reina", - "Renata", - "Rocio", - "Rosa María", - "Rosa", - "Rosalia", - "Rosario", - "Sara", - "Silvia", - "Sofia", - "Soledad", - "Sonia", - "Susana", - "Teresa", - "Valentina", - "Valeria", - "Vanessa", - "Verónica", - "Victoria", - "Virginia", - "Ximena Guadalupe", - "Ximena", - "Xochitl", - "Yamileth", - "Yaretzi", - "Yolanda", - "Zoe", -}; - -const std::array mexicanLastNames = { - "Abeyta", - "Abrego", - "Abreu", - "Acevedo", - "Acosta", - "Acuña", - "Adame", - "Adorno", - "Agosto", - "Aguayo", - "Águilar", - "Aguilera", - "Aguirre", - "Alanis", - "Alaniz", - "Alarcón", - "Alba", - "Alcala", - "Alcántar", - "Alcaraz", - "Alejandro", - "Alemán", - "Alfaro", - "Alicea", - "Almanza", - "Almaraz", - "Almonte", - "Alonso", - "Alonzo", - "Altamirano", - "Alva", - "Alvarado", - "Alvarez", - "Amador", - "Amaya", - "Anaya", - "Anguiano", - "Angulo", - "Aparicio", - "Apodaca", - "Aponte", - "Aragón", - "Aranda", - "Araña", - "Arce", - "Archuleta", - "Arellano", - "Arenas", - "Arevalo", - "Arguello", - "Arias", - "Armas", - "Armendáriz", - "Armenta", - "Armijo", - "Arredondo", - "Arreola", - "Arriaga", - "Arroyo", - "Arteaga", - "Atencio", - "Ávalos", - "Ávila", - "Avilés", - "Ayala", - "Baca", - "Badillo", - "Báez", - "Baeza", - "Bahena", - "Balderas", - "Ballesteros", - "Banda", - "Bañuelos", - "Barajas", - "Barela", - "Barragán", - "Barraza", - "Barrera", - "Barreto", - "Barrientos", - "Barrios", - "Batista", - "Becerra", - "Beltrán", - "Benavides", - "Benavídez", - "Benítez", - "Bermúdez", - "Bernal", - "Berríos", - "Bétancourt", - "Blanco", - "Bonilla", - "Borrego", - "Botello", - "Bravo", - "Briones", - "Briseño", - "Brito", - "Bueno", - "Burgos", - "Bustamante", - "Bustos", - "Caballero", - "Cabán", - "Cabrera", - "Cadena", - "Caldera", - "Calderón", - "Calvillo", - "Camacho", - "Camarillo", - "Campos", - "Canales", - "Candelaria", - "Cano", - "Cantú", - "Caraballo", - "Carbajal", - "Cardenas", - "Cardona", - "Carmona", - "Carranza", - "Carrasco", - "Carrasquillo", - "Carreón", - "Carrera", - "Carrero", - "Carrillo", - "Carrion", - "Carvajal", - "Casanova", - "Casares", - "Casárez", - "Casas", - "Casillas", - "Castañeda", - "Castellanos", - "Castillo", - "Castro", - "Cavazos", - "Cazares", - "Ceballos", - "Cedillo", - "Ceja", - "Centeno", - "Cepeda", - "Cerda", - "Cervantes", - "Cervántez", - "Chacón", - "Chapa", - "Chavarría", - "Chávez", - "Cintrón", - "Cisneros", - "Collado", - "Collazo", - "Colón", - "Colunga", - "Concepción", - "Contreras", - "Cordero", - "Córdova", - "Cornejo", - "Corona", - "Coronado", - "Corral", - "Corrales", - "Correa", - "Cortés", - "Cortez", - "Cotto", - "Covarrubias", - "Crespo", - "Cruz", - "Cuellar", - "Curiel", - "Dávila", - "de Anda", - "de Jesús", - "Delacrúz", - "Delafuente", - "Delagarza", - "Delao", - "Delapaz", - "Delarosa", - "Delatorre", - "Deleón", - "Delgadillo", - "Delgado", - "Delrío", - "Delvalle", - "Díaz", - "Domínguez", - "Domínquez", - "Duarte", - "Dueñas", - "Duran", - "Echevarría", - "Elizondo", - "Enríquez", - "Escalante", - "Escamilla", - "Escobar", - "Escobedo", - "Esparza", - "Espinal", - "Espino", - "Espinosa", - "Espinoza", - "Esquibel", - "Esquivel", - "Estévez", - "Estrada", - "Fajardo", - "Farías", - "Feliciano", - "Fernández", - "Ferrer", - "Fierro", - "Figueroa", - "Flores", - "Flórez", - "Fonseca", - "Franco", - "Frías", - "Fuentes", - "Gaitán", - "Galarza", - "Galindo", - "Gallardo", - "Gallegos", - "Galván", - "Gálvez", - "Gamboa", - "Gamez", - "Gaona", - "Garay", - "García", - "Garibay", - "Garica", - "Garrido", - "Garza", - "Gastélum", - "Gaytán", - "Gil", - "Girón", - "Godínez", - "Godoy", - "Gollum", - "Gómez", - "Gonzales", - "González", - "Gracia", - "Granado", - "Granados", - "Griego", - "Grijalva", - "Guajardo", - "Guardado", - "Guerra", - "Guerrero", - "Guevara", - "Guillen", - "Gurule", - "Gutiérrez", - "Guzmán", - "Haro", - "Henríquez", - "Heredia", - "Hernádez", - "Hernandes", - "Hernández", - "Herrera", - "Hidalgo", - "Hinojosa", - "Holguín", - "Huerta", - "Huixtlacatl", - "Hurtado", - "Ibarra", - "Iglesias", - "Irizarry", - "Jaime", - "Jaimes", - "Jáquez", - "Jaramillo", - "Jasso", - "Jiménez", - "Jimínez", - "Juárez", - "Jurado", - "Kadar rodriguez", - "Kamal", - "Kamat", - "Kanaria", - "Kanea", - "Kanimal", - "Kano", - "Kanzaki", - "Kaplan", - "Kara", - "Karam", - "Karan", - "Kardache soto", - "Karem", - "Karen", - "Khalid", - "Kindelan", - "Koenig", - "Korta", - "Korta hernandez", - "Kortajarena", - "Kranz sans", - "Krasnova", - "Krauel natera", - "Kuzmina", - "Kyra", - "Laboy", - "Lara", - "Laureano", - "Leal", - "Lebrón", - "Ledesma", - "Leiva", - "Lemus", - "León", - "Lerma", - "Leyva", - "Limón", - "Linares", - "Lira", - "Llamas", - "Loera", - "Lomeli", - "Longoria", - "López", - "Lovato", - "Loya", - "Lozada", - "Lozano", - "Lucero", - "Lucio", - "Luevano", - "Lugo", - "Luna", - "Macías", - "Madera", - "Madrid", - "Madrigal", - "Maestas", - "Magaña", - "Malave", - "Maldonado", - "Manzanares", - "Mares", - "Marín", - "Márquez", - "Marrero", - "Marroquín", - "Martínez", - "Mascareñas", - "Mata", - "Mateo", - "Matías", - "Matos", - "Maya", - "Mayorga", - "Medina", - "Medrano", - "Mejía", - "Meléndez", - "Melgar", - "Mena", - "Menchaca", - "Méndez", - "Mendoza", - "Menéndez", - "Meraz", - "Mercado", - "Merino", - "Mesa", - "Meza", - "Miramontes", - "Miranda", - "Mireles", - "Mojica", - "Molina", - "Mondragón", - "Monroy", - "Montalvo", - "Montañez", - "Montaño", - "Montemayor", - "Montenegro", - "Montero", - "Montes", - "Montez", - "Montoya", - "Mora", - "Morales", - "Moreno", - "Mota", - "Moya", - "Munguía", - "Muñiz", - "Muñoz", - "Murillo", - "Muro", - "Nájera", - "Naranjo", - "Narváez", - "Nava", - "Navarrete", - "Navarro", - "Nazario", - "Negrete", - "Negrón", - "Nevárez", - "Nieto", - "Nieves", - "Niño", - "Noriega", - "Núñez", - "Ñañez", - "Ocampo", - "Ocasio", - "Ochoa", - "Ojeda", - "Olivares", - "Olivárez", - "Olivas", - "Olivera", - "Olivo", - "Olmos", - "Olvera", - "Ontiveros", - "Oquendo", - "Ordóñez", - "Orellana", - "Ornelas", - "Orosco", - "Orozco", - "Orta", - "Ortega", - "Ortiz", - "Osorio", - "Otero", - "Ozuna", - "Pabón", - "Pacheco", - "Padilla", - "Padrón", - "Páez", - "Pagan", - "Palacios", - "Palomino", - "Palomo", - "Pantoja", - "Paredes", - "Parra", - "Partida", - "Patiño", - "Paz", - "Pedraza", - "Pedroza", - "Pelayo", - "Peña", - "Perales", - "Peralta", - "Perea", - "Peres", - "Pérez", - "Pichardo", - "Pineda", - "Piña", - "Pizarro", - "Polanco", - "Ponce", - "Porras", - "Portillo", - "Posada", - "Prado", - "Preciado", - "Prieto", - "Puente", - "Puga", - "Pulido", - "Quesada", - "Quevedo", - "Quezada", - "Quinta", - "Quintairos", - "Quintana", - "Quintanilla", - "Quintero", - "Quintero cruz", - "Quintero de la cruz", - "Quiñones", - "Quiñónez", - "Quiros", - "Quiroz", - "Rael", - "Ramírez", - "Ramón", - "Ramos", - "Rangel", - "Rascón", - "Raya", - "Razo", - "Regalado", - "Rendón", - "Rentería", - "Reséndez", - "Reyes", - "Reyna", - "Reynoso", - "Rico", - "Rincón", - "Riojas", - "Ríos", - "Rivas", - "Rivera", - "Rivero", - "Robledo", - "Robles", - "Rocha", - "Rodarte", - "Rodrígez", - "Rodríguez", - "Rodríquez", - "Rojas", - "Rojo", - "Roldán", - "Rolón", - "Romero", - "Romo", - "Roque", - "Rosado", - "Rosales", - "Rosario", - "Rosas", - "Roybal", - "Rubio", - "Ruelas", - "Ruiz", - "Saavedra", - "Sáenz", - "Saiz", - "Salas", - "Salazar", - "Salcedo", - "Salcido", - "Saldaña", - "Saldivar", - "Salgado", - "Salinas", - "Samaniego", - "Sanabria", - "Sanches", - "Sánchez", - "Sandoval", - "Santacruz", - "Santana", - "Santiago", - "Santillán", - "Sarabia", - "Sauceda", - "Saucedo", - "Sedillo", - "Segovia", - "Segura", - "Sepúlveda", - "Serna", - "Serrano", - "Serrato", - "Sevilla", - "Sierra", - "Sisneros", - "Solano", - "Solís", - "Soliz", - "Solorio", - "Solorzano", - "Soria", - "Sosa", - "Sotelo", - "Soto", - "Suárez", - "Tafoya", - "Tamayo", - "Tamez", - "Tapia", - "Tejada", - "Tejeda", - "Téllez", - "Tello", - "Terán", - "Terrazas", - "Tijerina", - "Tirado", - "Toledo", - "Toro", - "Torres", - "Tórrez", - "Tovar", - "Trejo", - "Treviño", - "Trujillo", - "Ulibarri", - "Ulloa", - "Urbina", - "Ureña", - "Urías", - "Uribe", - "Urrutia", - "Vaca", - "Valadez", - "Valdés", - "Valdez", - "Valdivia", - "Valencia", - "Valentín", - "Valenzuela", - "Valladares", - "Valle", - "Vallejo", - "Valles", - "Valverde", - "Vanegas", - "Varela", - "Vargas", - "Vásquez", - "Vázquez", - "Vega", - "Vela", - "Velasco", - "Velásquez", - "Velázquez", - "Vélez", - "Véliz", - "Venegas", - "Vera", - "Verdugo", - "Verduzco", - "Vergara", - "Viera", - "Vigil", - "Villa", - "Villagómez", - "Villalobos", - "Villalpando", - "Villanueva", - "Villareal", - "Villarreal", - "Villaseñor", - "Villegas", - "Xacon", - "Xairo Belmonte", - "Xana", - "Xenia", - "Xiana", - "Xicoy", - "Yago", - "Yami", - "Yanes", - "Yáñez", - "Ybarra", - "Yebra", - "Yunta", - "Zabaleta", - "Zamarreno", - "Zamarripa", - "Zambrana", - "Zambrano", - "Zamora", - "Zamudio", - "Zapata", - "Zaragoza", - "Zarate", - "Zavala", - "Zayas", - "Zelaya", - "Zepeda", - "Zúñiga", -}; - -const std::array mexicanSuffixes{ - "Jr.", "Sr.", "I", "II", "III", "IV", "V", "MD", "DDS", "PhD", "DVM", "Ing.", "Lic.", "Dr.", "Mtro.", -}; - -const std::array mexicanMalePrefixes{"Sr."}; - -const std::array mexicanFemalePrefixes{"Sra.", "Sta."}; - -const NameFormats mexicanNameFormats{ - {{"{firstName} {lastName}", 8}, {"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName} {suffix}", 1}}}; - -const PeopleNames mexicanPeopleNames{ - {mexicanMaleFirstNames, mexicanLastNames, mexicanMalePrefixes, mexicanSuffixes}, - {mexicanFemaleFirstNames, mexicanLastNames, mexicanFemalePrefixes, mexicanSuffixes}, - mexicanNameFormats}; - -// Moldova - -const std::array moldovanMaleFirstNames = { - "Ion", "Vasile", "Mihail", "Ivan", "Gheorghe", "Vladimir", "Victor", "Nicolae", - "Andrei", "Petru", "Alexandru", "Serghei", "Valeriu", "Constantin", "Nicolai", "Sergiu", - "Igor", "Anatolie", "Dumitru", "Grigore", "Iurie", "Oleg", "Pavel", "Tudor", - "Alexei", "Alexandr", "Fiodor", "Veaceslav", "Vasili", "Vitalie", "Valentin", "Boris", - "Piotr", "Sergey", "Aleksandr", "Dmitriy", "Leonid", "Stefan", "Dmitri", "Andrey", - "Vadim", "Ilie", "Stepan", "Anatoli", "Simion", "Ghenadie", "Roman", "Viorel", - "Ruslan", "Alexander", "Nikolay", "Mikhail", "Stanislav", "Eugeniu", "Maxim", "Viktor", - "Eduard", "Anton", "Mihai", "Iuri", "Grigori", "Anatolii", "Valerii", "Maksim", - "Marin", "Vladislav", "Evgeniy", "Radu", "Iurii", "Vitali", "Teodor", "Iacob", - "Adrian", "Aurel", "Artur", "Yuriy", "Vitaliy", "Petr", "Valeriy", "Timofei", - "Dmitry", "Andrian", "Feodor", "Vitalii", "Filip", "Marcel", "Aleksey", "Dorin", - "Konstantin", "Artyom", "Anatoliy", "Mircea", "Evgeny", "Valerian", "Ilya", "Gavril", - "Eugen", "Daniel", "Iulian", "Arcadie", "Vyacheslav", "Octavian", "Danil", "Alexey", - "Gennadiy", "Vasily", "Cristian", "Vitaly", "Cristi", "David", "Egor", "Liviu", - "Serafim", "Iosif", "Nicu", "Yury", "Ioan", "Zaharia", "Georgiy", "Svyatoslav", - "Sergei", "Dinu", "Emilian", "Bogdan", "Leon", "Artem", "Anatoly", "Kirill", - "Nichita", "Spiridon", "Sasa", "Nicanor", "Sandu", "Dorel", "Artiom", "Corneliu", - "Dionisie", "Rodion", "Catalin", "Sorin", "Luca", "Ignat", "Emil", "Fedor", - "Ilarion", "Georgy", "Daniil", "Nikolai", "Filipp", "Nelu", "Stelian", "Cornel", - "Demian", "Albert", "Trifon", "Kristian", "Isidor", "Marius", "Dionis", "Iustin", - "Grigory", "Yaroslav", "Damian", "Zahari", "Gicu", "Vsevolod", "Gleb", "Lev", - "Romeo", "Filimon", "Haralambie", "Iaroslav", "Timur", "Calin", "Gherasim", "Mark", - "Ionel", "Hristofor", "Dragos", "Gabriel", "Emanoil", "Avram", "Petrea", "Timofey", - "Arcadi", "Efrem", "Silviu", "Aleks", "Jan", "Cristofor", "Lazar", "Miron", - "George", "Matei", "Semen", "Arkadiy", "Costel", "Robert", "Sevastian", "Florin", - "Nistor", "Toader", "Elisei", "Ian", "Renat", "Alin", "Lucian", "Vladimer", - "Rostislav", "Onisim", "Marc", "Dorian", "Taras", "Alex", "John", "Vlad", - "Adam", "Ciprian", "Timotei", "Nick", "Virgiliu", "Rustam", "Marcu", "Isai", - "Miroslav", "Kris", "Dinis", "Traian", "Felix", "Nazar", "Kiril", "Titu", - "Alik", "Ionut", "Edgar", "Orest", "Ioachim", "Laurentiu", "Dimitri", "German", - "Martin", "Alecu", "Erik", "Iu", "Cezar", "Yurii", "Ianos", "Ovidiu", - "Augustin", "Aurelian", "Vergil", "Angel", "Cristin", "Samoil", "Isac", "Marat", - "Doru", "Edward", "Eric", "Gelu", "Arseniy", "Iordan", "Arseni", "Matvey", - "Peter", "Silvian", "Ali", "Emanuil", "Andrii", "Arsen", "Dimitrie", "Eugene", - "Edvard", "Sergio", "Leonard", "Sebastian", "Ostap", "Anastas", "Anghel", "Casian", - "Aleksei", "Philip", "Virgil", "Svetoslav", "Richard", "Petro", "Alecsandru", "Silvestru", - "Alen", "Dragomir", "Cristea", "Denys", "Paul", "Niko", "Remus", "Neculai", - "Sam", "Samson", "Eldar", "Ghiorghi", "Andre", "Armen", "Chris", "Arnold", - "Nicolaie", "Simon", "Johny", "Kalin", "Rafael", "Rudolf", "Yanik", "Murat", - "Nestor", "Samir", "Gheorge", "Achim", "Zhan", "Georgel", "Sergej", "Samuil", - "Ramin", "Adolf", "Dimitry", "Viktar", "Dani", "Nikolas", "Georgi", "Said", - "Aron", "Rinat", "Tom", "Alan", "Alexandar", "Sergiy", "Gari", "Marco", - "Teo", "Steven", "Aleksander", "Serge", "Damir", "Dimitriy", "Vasil", "Gregory", - "Raul", "Ernest", "Vadym", "Jack", "Mustafa", "Akim", -}; - -const std::array moldovanFemaleFirstNames = { - "Maria", "Elena", "Valentina", "Tatiana", "Olga", "Natalia", "Nina", "Ana", - "Svetlana", "Vera", "Galina", "Lidia", "Ecaterina", "Tamara", "Irina", "Nadejda", - "Anna", "Zinaida", "Larisa", "Alexandra", "Raisa", "Ludmila", "Eugenia", "Liudmila", - "Anastasia", "Angela", "Lilia", "Iulia", "Marina", "Parascovia", "Aliona", "Tatyana", - "Natalya", "Mariana", "Ala", "Liuba", "Viorica", "Victoria", "Alina", "Veronica", - "Elizaveta", "Diana", "Silvia", "Sofia", "Ekaterina", "Denis", "Cristina", "Emilia", - "Rodica", "Oxana", "Kristina", "Valeri", "Ioana", "Evdochia", "Eudochia", "Anastasiya", - "Vasilisa", "Varvara", "Claudia", "Alla", "Mariya", "Lucia", "Agafia", "Domnica", - "Antonina", "Liubov", "Lyudmila", "Liliana", "Ilia", "Ina", "Aurelia", "Daria", - "Inna", "Olesea", "Fedora", "Nadezhda", "Daniela", "Axenia", "Aurica", "Mihaela", - "Elisaveta", "Inga", "Valeria", "Viktoriya", "Anya", "Lilian", "Margarita", "Dina", - "Alyona", "Margareta", "Stela", "Eleonora", "Violeta", "Darya", "Nelea", "Doina", - "Nikita", "Yuliya", "Maia", "Sasha", "Yana", "Olesya", "Valeriya", "Polina", - "Dan", "Viktoria", "Aleksandra", "Kseniya", "Zoia", "Dorina", "Taisia", "Sava", - "Adriana", "Carolina", "Alena", "Lyubov", "Yulia", "Melania", "Veronika", "Corina", - "Oksana", "Marian", "Elvira", "Dana", "Marianna", "Karina", "Teodora", "Adela", - "Vladislava", "Snejana", "Xenia", "Iuliana", "Profira", "Gabriela", "Evgeniya", "Iraida", - "Alisa", "Arina", "Nicoleta", "Ivanna", "Rita", "Iana", "Mina", "Marcela", - "Catalina", "Zhenya", "Livia", "Georgeta", "Agripina", "Uliana", "Anzhela", "Lina", - "Anghelina", "Jana", "Andriana", "Anisia", "Albina", "Karolina", "Pavlina", "Eva", - "Stella", "Aglaia", "Adelina", "Nika", "Evgenia", "Paulina", "Lidiya", "Laura", - "Minodora", "Dora", "Felicia", "Ivana", "Nelli", "Nataliya", "Ksenia", "Valery", - "Evelina", "Iustina", "Natasa", "Cornelia", "Nikoleta", "Angelina", "Lora", "Luminita", - "Neli", "Mila", "Liliya", "Ada", "Renata", "Rimma", "Zina", "Clara", - "Sabina", "Neonila", "Vasilina", "Alevtina", "Mayya", "Zhanna", "Ionela", "Tania", - "Andreea", "Anisoara", "Snezhana", "Lia", "Vica", "Ruslana", "Roza", "Sanda", - "Taisa", "Lucretia", "Ilona", "Hristina", "Ira", "Sanya", "Toma", "Leonora", - "Gheorghina", "Lilya", "Tina", "Lida", "Rima", "Marta", "Janna", "Olimpia", - "Nona", "Violetta", "Faina", "Sorina", "Sofiya", "Danila", "Alexandrina", "Tecla", - "Greta", "Dumitrita", "Virginia", "Yan", "Madalina", "Nadia", "Ariadna", "Doinita", - "Maryana", "Nataly", "Yulian", "Rada", "Anzhelika", "Gabi", "Didina", "Kira", - "Teodosia", "Angelica", "Valerie", "Leonida", "Susana", "Emma", "Violina", "Aneta", - "Loredana", "Mary", "Regina", "Luiza", "Vania", "Antonia", "Lucica", "Zoya", - "Romina", "Inesa", "Florea", "Elina", "Cleopatra", "Inessa", "Lolita", "Yuliana", - "Lenuta", "Verginia", "Anelia", "Tudora", "Sofya", "Nelya", "Lika", "Sashka", - "Nelly", "Miroslava", "Silva", "Katalina", "Milena", "Vitalina", "Olivia", "Niculina", - "Marinela", "Aurora", "Zamfira", "Mirela", "Julia", "Olesia", "Magdalena", "Rosina", - "Paula", "Magdalina", "Silviya", "Steluta", "Daniella", "Stefana", "Steliana", "Maricica", - "Reveca", "Patricia", "Asya", "Katalin", "Elmira", "Lada", "Florica", "Malvina", - "Constanta", "Ulyana", "Lili", "Crina", "Lana", "Ninel", "Olguta", "Maya", - "Darina", "Reghina", "Gaby", "Floarea", "Alexa", "Anfisa", "Stanislava", "Ela", - "Tamila", "Ema", "Mira", "Vitalia", "Estera", "Iona", "Camelia", "Inka", - "Vanda", "Otilia", "Sabrina", "Sania", "Janeta", "Alvina", "Erica", "Rozalia", - "Erika", "Zlata", "Angelika", "Gabriella", "Antonela", "Simona", -}; - -const std::array moldovanLastNames = { - "Rusu", "Ceban", "Ciobanu", "Lungu", "Cebotari", "Munteanu", "Popa", "Gutu", - "Rotari", "Balan", "Sirbu", "Cojocari", "Grosu", "Melnic", "Rotaru", "Cojocaru", - "Rosca", "Turcan", "Moraru", "Morari", "Cazacu", "Cretu", "Muntean", "Botnari", - "Ursu", "Bivol", "Russu", "Ivanov", "Popovici", "Lupu", "Mocanu", "Chiriac", - "Plamadeala", "Luca", "Negru", "Guzun", "Turcanu", "Miron", "Popescu", "Railean", - "Arnaut", "Florea", "Cebanu", "Popov", "Plesca", "Prodan", "Andronic", "Sandu", - "Ivanova", "Rusnac", "Buga", "Burlacu", "Musteata", "Malai", "Borta", "Croitor", - "Bejenari", "Cusnir", "Pascari", "Grecu", "Golban", "Oprea", "Cernei", "Pinzari", - "Gheorghita", "Caraman", "Bostan", "Istrati", "Spinu", "Frunza", "Cazac", "Darii", - "Lisnic", "Raileanu", "Bors", "Josan", "Topal", "Croitoru", "Birca", "Colesnic", - "Botnaru", "Brinza", "Gherman", "Petrov", "Postica", "Bulat", "Dragan", "Chicu", - "Cucu", "Mardari", "Carp", "Postolachi", "Covali", "Uzun", "Platon", "Gaina", - "Radu", "Antoci", "Caraus", "Albu", "Codreanu", "Tcaci", "Gonta", "Bejan", - "Cara", "Baciu", "Ursachi", "Bodrug", "Ungureanu", "Lupascu", "Macovei", "Ciubotaru", - "Braga", "Mihailov", "Rata", "Condrea", "Pascal", "Creciun", "Craciun", "Terzi", - "Stratan", "Moisei", "Ciumac", "Diaconu", "Gangan", "Cucos", "Mereuta", "Nastas", - "Tataru", "Capatina", "Leahu", "Goncear", "Focsa", "Bordian", "Marin", "Botezatu", - "Crudu", "Adam", "Graur", "Novac", "Bitca", "Esanu", "Marian", "Furtuna", - "Apostol", "Popova", "Catana", "Robu", "Frunze", "Secrieru", "Bargan", "Matei", - "Andries", "Mirza", "Boboc", "Stratulat", "Paladi", "Anghel", "Cibotari", "Trifan", - "Butnaru", "Mamaliga", "Busuioc", "Scripnic", "Racu", "Placinta", "Jalba", "Nistor", - "Hincu", "Bogdan", "Cristea", "David", "Popusoi", "Marcu", "Gisca", "Tofan", - "Sava", "Roman", "Lazari", "Erhan", "Luchian", "Balaban", "Costin", "Dodon", - "Cotorobai", "Bujor", "Dabija", "Vieru", "Olaru", "Macari", "Mereacre", "Dontu", - "Lesnic", "Prisacari", "Burca", "Mazur", "Moldovan", "Olari", "Gorea", "Ababii", - "Lazar", "Casian", "Gavriliuc", "Cecan", "Duca", "Lupasco", "Lavric", "Burlac", - "Chirilov", "Banari", "Pislari", "Oleinic", "Grigoras", "Ciorba", "Gavrilita", "Manoli", - "Prepelita", "Anton", "Sirghi", "Burduja", "Damian", "Covalenco", "Cirlan", "Cojuhari", - "Bagrin", "Ignat", "Jardan", "Stirbu", "Moroz", "Toma", "Pintea", "Eni", - "Mocan", "Arabadji", "Perju", "Gutan", "Babin", "Taran", "Svet", "Cheban", - "Arama", "Enachi", "Dascal", "Neagu", "Cioban", "Chistol", "Lefter", "Schiopu", - "Groza", "Petrova", "Chihai", "Baltag", "Cebotaru", "Donica", "Bodiu", "Buruiana", - "Druta", "Cozma", "Grigorita", "Boico", "Danilov", "Cantir", "Lozan", "Caldare", - "Negara", "Palii", "Bejenaru", "Melnik", "Gilca", "Creanga", "Nicolaev", "Damaschin", - "Calancea", "Pogor", "Gutul", "Lupan", "Colta", "Gogu", "Revenco", "Pasat", - "Buza", "Stavila", "Scutari", "Moldovanu", "Bologan", "Savin", "Efros", "Puscas", - "Paduret", "Axenti", "Butuc", "Isac", "Chirita", "Danu", "Costiuc", "Catan", - "Bolocan", "Cuciuc", "Sevcenco", "Iovu", "Bulgac", "Belous", "Scutelnic", "Leu", - "Ciolac", "Eremia", "Negura", "Romanciuc", "Besliu", "Chiosa", "Demian", "Iurcu", - "Ciornii", "Filip", "Pruteanu", "Gaidarji", "Covalciuc", "Proca", "Movila", "Gritco", - "Pinzaru", "Bulgaru", "Bunescu", "Baran", "Mindru", "Buzu", "Pascaru", "Savciuc", - "Lesan", "Scurtu", "Harea", "Grama", "Bondarenco", "Buzdugan", "Vlas", "Gincu", - "Cujba", "Sevciuc", "Loghin", "Morozan", "Avram", "Sula", "Virlan", "Manole", - "Arseni", "Ionita", "Chiperi", "Pasa", "Babii", "Rotar", -}; - -const NameFormats moldovanNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames moldovanPeopleNames{{moldovanMaleFirstNames, moldovanLastNames, {}, {}}, - {moldovanFemaleFirstNames, moldovanLastNames, {}, {}}, - moldovanNameFormats}; - -// Monaco - -const std::array monacanMaleFirstNames = { - "Philippe", "David", "Robert", "Eric", "Patrick", "Christian", "Michel", "Pierre", "Marc", - "Olivier", "Nicolas", "Alain", "Michael", "John", "Christophe", "Daniel", "Paul", "Laurent", - "Thierry", "Marco", "Thomas", "Peter", "Alexandre", "Jacques", "Georges", "Paolo", "Richard", - "Julien", "Franck", "Joseph", "Francesco", "Mario", "Bernard", "Roberto", "Pascal", "Gilles", - "Bruno", "Stefano", "Anthony", "Massimo", "Luca", "Giovanni", "Fabrice", "James", "Charles", - "Vincent", "William", "Giuseppe", "Alessandro", "Carlo", "Guillaume", "Roger", "Giorgio", "Alex", - "Frederic", "Alberto", "Fabio", "Emmanuel", "Alexander", "Jan", "Enrico", "Antonio", "Antoine", - "Simon", "Didier", "Roland", "Martin", "Benjamin", "Louis", "Serge", "Raymond", "Mohamed", - "Mark", "Lionel", "Guy", "Patrice", "Gregory", "Maurice", "Arnaud", "Stephen", "Henri", - "Federico", "Maurizio", "Xavier", "Andrew", "Gilbert", "Luigi", "Jonathan", "Yves", "Fabien", - "Christopher", "Marcel", "Igor", "Albert", "Franco", "Sebastien", "Riccardo", "George", "Sylvain", - "Kevin", "Manuel", "Chris", "Pietro", "Romain", "Frank", "Max", "Mathieu", "Ian", - "Cyril", "Matteo", "Lorenzo", "Giancarlo", "Tony", "Vladimir", "Jeremy", "Yann", "Filippo", - "Colin", "Nicholas", "Jerome", "Davide", "Steven", "Damien", "Dario", "Gabriel", "Ali", - "Gianluca", "Philip", "Gerard", "Sergey", "Arthur", "Maxime", "Ivan", "Karl", "Edouard", - "Alan", "Luc", "Hans", "Fred", "Mauro", "Angelo", "Karim", "Carlos", "Matthieu", - "Benoit", "Hugo", "Fabrizio", "Carl", "Renato", "Ahmed", "Emanuele", "Claudio", "Edmond", - "Edward", "Joe", "Jose", "Cedric", "Sergio", "Fernando", "Walter", "Ludovic", "Florian", - "Salvatore", "Erik", "Yoann", "Luciano", "Guido", "Tom", "Brian", "Georg", "Raphael", - "Henry", "Gary", "Nabil", "Luis", "Pieter", "Yvan", "Giacomo", "Ronald", "Andre", - "Oliver", "Joel", "Donald", "Andrey", "Bertrand", "Marcus", "Matthew", "Gianni", "Nick", - "Stephan", "Victor", "Jorge", "Adam", "Neil", "Adrien", "Mamadou", "Flavio", "Gian", - "Norbert", "Stefan", "Sandro", -}; - -const std::array monacanFemaleFirstNames = { - "Jean", "Andrea", "Maria", "Catherine", "Isabelle", "Nathalie", "Anne", "Christine", - "Sophie", "Marie", "Anna", "Claude", "Sylvie", "Caroline", "Elena", "Jacqueline", - "Nicole", "Laura", "Alexandra", "Patricia", "Elisabeth", "Monique", "Brigitte", "Dominique", - "Christiane", "Sandrine", "Mireille", "Laurence", "Virginie", "Barbara", "Sandra", "Vanessa", - "Florence", "Cristina", "Olga", "Paola", "Annie", "Corinne", "Claire", "Audrey", - "Marina", "Carole", "Michele", "Sonia", "Elodie", "Karine", "Simone", "Francesca", - "Suzanne", "Colette", "Charlotte", "Muriel", "Julie", "Louise", "Fabienne", "Francis", - "Sarah", "Josiane", "Nadia", "Patrizia", "Victoria", "Evelyne", "Stephane", "Irina", - "Karen", "Chantal", "Sabrina", "Danielle", "Monica", "Magali", "Sabine", "Michelle", - "Mary", "Angela", "Roberta", "Carla", "Yvette", "Liliane", "Daniela", "Gabriele", - "Jeanne", "Samantha", "Denise", "Delphine", "Josette", "Rita", "Eliane", "Jeannine", - "Alexis", "Denis", "Olivia", "Pascale", "Valerie", "Tatiana", "Sara", "Eva", - "Emmanuelle", "Nadine", "Laetitia", "Linda", "Nicola", "Jessica", "Janine", "Claudine", - "Arlette", "Diane", "Laure", "Marguerite", "Emma", "Johanna", "Maryse", "Jennifer", - "Yvonne", "Diana", "Natalia", "Daniele", "Carine", "Alessandra", "Elizabeth", "Marine", - "Lisa", "Marion", "Manuela", "Solange", "Nancy", "Helen", "Rachel", "Alice", - "Bettina", "Emilie", "Annick", "Antonella", "Huguette", "Francine", "Alexia", "Chiara", - "Eleonora", "Valentina", "Karin", "Myriam", "Laurie", "Odette", "Stephanie", "Ingrid", - "Grace", "Pauline", "Ana", "Virginia", "Silvia", "Veronique", "Camille", "Celine", - "Teresa", "Micheline", "Christina", "Cinzia", "Jocelyne", "Anastasia", "Lucienne", "Jane", - "Alina", "Marisa", "Yannick", "Christelle", "Andreas", "Lydia", "Rose", "Juliette", - "Bianca", "Bernadette", "Svetlana", "Robin", "Nelly", "Susan", "Sylviane", "Judith", - "Aline", "Claudette", "Marianne", "Pierrette", "Elisa", "Sylvia", "Giovanna", "Viviane", - "Julia", "Clara", "Amandine", "Nataliya", "Stefania", "Katia", "Sacha", "Luisa", - "Paule", "Madeleine", "Marta", "Nina", "Claudia", "Caterina", "Edith", "Veronica", - "Larisa", "Carmen", "Marjorie", "Elvira", "Coralie", "Silvana", "Estelle", "Ruth", - "Michela", "Carol", "Camilla", "Yulia", "Jenny", "Paulette", "Anita", "Carolina", - "Eugenia", "Joelle", "Murielle", "Cynthia", "Janet", "Lara", "Fiona", "Lucia", - "Ursula", "Stella", "Wendy", "Odile", "Isabella", "Renata", "Lina", "Juan", - "Monika", "Tiziana", "Magdalena", "Natacha", "Adriana", "Emilienne", "Kelly", "Ann", - "Kristina", "Margarita", "Nicoletta", "Melanie", "Piera", "Cindy", "Elise", "Marianna", - "Carmela", "Rosanna", "Federica", "Amanda", "Melissa", "Cecile", "Armelle", "Lesley", - "Graziella", "Ekaterina", "Gabriella", "Lucie", "Anny", "Raymonde", "Yolande", "Antoinette", - "Ginette", "Annette", "Elisabetta", "Ariane", "Marcelle", "Leila", "Eveline", "Ashley", - "Beatrice", "Mathilde", "Aude", "Lydie", "Inna", "Iryna", "Morgan", "Vivian", - "Emilia", "Adrienne", "Willy", "Karina", "Ida", "Candice", "Simonetta", "Serenella", - "Marielle", "Dorota", "Eleni", "Aurore", "Erika", "Marthe", "Franca", "Lorraine", - "Fanny", "Gilberte", "Rossana", "Isabel", "Jasmine", "Giulia", "Santa", "Jeannette", - "Paula", "Dennis", "Mirella", "Maddalena", "Lucette", "Emanuela", "Flora", "Maryline", - "France", "Elsa", "Lorenza", "Rosa", "Deborah", "Maya", "Jesus", "Irene", - "Georgette", "Amina", "Justine", "Rosella", "Ewa", "Henriette", "Simona", "Irma", - "Agathe", "Lucile", "Danny", "Christel", "Veronika", "Sally", "Rosette", "Margaret", - "Dany", "Antonia", "Anouk", "Giorgia", "Joan", "Khadija", "Liliana", "Serena", - "Donatella", "Galina", "Annemarie", "Astrid", "Philippa", "Lise", -}; - -const std::array monacanLastNames = { - "Rossi", - "Lorenzi", - "Pastor", - "Crovetto", - "Cellario", - "Martin", - "Smith", - "Garcia", - "Gastaud", - "Diallo", - "Bernard", - "Giordano", - "Cohen", - "Viale", - "Lopez", - "Fissore", - "Verrando", - "Williams", - "Biancheri", - "Palmero", - "Allavena", - "Martini", - "Roux", - "Carpinelli", - "Taylor", - "Pastorelli", - "Rinaldi", - "Testa", - "Ferrari", - "Bernardi", - "Marsan", - "Martinez", - "Gomez", - "Vatrican", - "Bruno", - "Michel", - "Pizzio", - "Hall", - "Blanc", - "Grimaldi", - "Perez", - "Johnson", - "Câmara", - "Medecin", - "Thomas", - "Lavagna", - "Scott", - "Costa", - "Ferrero", - "Merlino", - "Antognelli", - "Agliardi", - "Marquet", - "Berti", - "Vial", - "Lewis", - "Franco", - "Garelli", - "Boisson", - "Ramirez", - "Bertrand", - "Prat", - "Rodriguez", - "Rey", - "Garino", - "Durand", - "Battaglia", - "Marzocco", - "Ballestra", - "Klein", - "Legrand", - "Bertola", - "Benedetti", - "Boisbouvier", - "Pierre", - "Brown", - "Brezzo", - "Sangiorgio", - "Barry", - "Morel", - "Levy", - "Fabre", - "Fautrier", - "Wright", - "Tomatis", - "Notari", - "Giusti", - "Barral", - "Doria", - "Li", - "Gastaldi", - "Morris", - "Longo", - "Gibelli", - "Gallo", - "Cooper", - "Marchetti", - "Hernandez", - "Jensen", - "Toure", - "Green", - "Raimondo", - "Orsini", - "Ricciardi", - "Pallanca", - "Ross", - "Bianchi", - "Gaglio", - "Pasquier", - "Jones", - "Marcel", - "Albertini", - "Guglielmi", - "Nardi", - "Alberti", - "Squarciafichi", - "Vidal", - "Calcagno", - "Ribeiro", - "Casanova", - "Bellone", - "Mendes", - "Baldoni", - "Blanchy", - "Kim", - "Davies", - "Sbarrato", - "Daniel", - "Angelini", - "Simon", - "Zunino", - "Lambert", - "Bianco", - "Pascal", - "Miller", - "Imbert", - "Bonnet", - "Solamito", - "Richelmi", - "Orengo", - "Romano", - "Muller", - "Serra", - "Mathieu", - "Hansen", - "Campana", - "Leclercq", - "Blanchi", - "Sassi", - "Michelis", - "Aubert", - "Evans", - "Lombard", - "Joly", - "Edwards", - "Mazza", - "Reynaud", - "Sosso", - "Christensen", - "Fontaine", - "Lanteri", - "Thompson", - "Graziani", - "Ballerio", - "Seggiaro", - "Harrison", - "Moore", - "Bah", - "Da silva", - "Adams", - "Noaro", - "Balde", - "Siri", - "Davidson", - "Benoit", - "King", - "Mercier", - "Wilson", - "Petrini", - "Augier", - "Sylla", - "Singh", - "Tubino", - "Faivre", - "Albisetti", - "Griffin", - "Bonafede", - "Lajoux", - "Gabriel", - "Merlo", - "De millo-terrazzani", - "De sevelinges", - "Berrin", - "Wagner", - "Gomes", - "Buzzi", - "Van klaveren", - "Meunier", - "Palmer", - "Dessi", - "Perrin", - "Vincent", - "Guillaume", - "Ferrua", - "Valentini", - "Olivié", - "Larini", - "Barilaro", - "White", - "Bosio", - "Piano", - "Robin", - "Marin", - "Clark", - "Durando", - "Stevenson", - "Antonini", - "Julien", - "Jackson", - "Barelli", - "Ravera", - "Anderson", - "Wood", - "Robini", - "Rizzi", - "Monte-carlo", - "Perris", - "Limone", - "Revelli", - "Petit", - "Lacroix", - "Rosticher", - "Lefebvre", - "Courtin", - "Cottalorda", - "Risso", - "Vitale", - "Agostini", - "Santini", - "Ragazzoni", - "Moller", - "Boeri", - "Giovannini", - "Pons", - "Kelly", - "Ginocchio", - "Valle", - "Realini", - "Cassini", - "Picco", - "Manfredi", - "Fiorucci", - "Nucciarelli", - "Scotto", - "Russo", - "Berger", - "Dias", - "Poyet", - "Sanchez", - "Manasse", - "Keita", - "Laurent", - "Garoscio", - "Gautier", - "Ellis", - "Ivaldi", - "Traore", - "Dalmasso", - "Parker", - "Mille", - "Boero", - "Nelson", - "Vitali", - "Brousse", - "Cardone", - "Verdino", - "Reynier", - "Blair", - "Marchisio", - "Jahlan", - "Lee", - "Grassi", - "Bertoni", - "Raynaud", - "Bertani", - "Gamba", - "Orlando", - "Orecchia", - "Moreno", - "Hill", - "Rose", - "Olivier", - "Lechner", - "Ouedraogo", - "Mondino", - "Moscati", - "Oliveira", - "Robertson", - "Gonzalez", - "Weill", - "Wenden", - "Sorensen", - "Murray", - "Brunner", - "Falciani", - "Bourgery", - "Riva", - "Passeron", - "Robert", - "Versace", - "Renaud", - "Payne", - "Marquês", - "Allen", - "Varley", - "Franzini", - "Stillitano", - "Giraldi", - "Pinto", - "Croesi", - "Cruz", - "Peeters", - "Castellini", - "Corradi", - "Dessaigne", - "Olivieri", -}; - -const NameFormats monacanNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames monacanPeopleNames{{monacanMaleFirstNames, monacanLastNames, {}, {}}, - {monacanFemaleFirstNames, monacanLastNames, {}, {}}, - monacanNameFormats}; - -// Nepal - -const std::array nepaleseMaleFirstNames = { - "Sijan", "Prabesh", "Niwang", "Nabin", "Sanjok", "Bibek", "Sujal", "Sagar", "Mukunda", "Arun", - "Nirdesh", "Rabin", "Ramesh", "Manoj", "Bimal", "Anil", "Bipin", "Gopal", "Sunil", "Bikash", - "Sujan", "Sudeep", "Nikhil", "Nishant", "Kiran", "Pramod", "Saroj", "Rajesh", "Dilip", "Sandesh", - "Krishna", "Hari", "Suresh", "Arjun", "Bibash", "Rajiv", "Rajendra", "Bijay", "Aashish", "Raju", - "Sabin", "Keshav", "Rabi", "Sanjeev", "Puspa", "Saroj", "Khem", "Shiva", "Mohan", "Dinesh", - "Rajendra", "Suman", "Ujjwal", "Bhuwan", "Birendra", "Birat", "Lalit", "Bhola", "Pradip", "Nabin", - "Suman", "Shankar", "Laxman", "Sushant", "Roshan", "Buddha", "Kapil", "Rajbir", "Suraj", "Manish", - "Ajay", "Dipak", "Anish", "Sabin", "Prem", "Bijay", "Narayan", "Rajat", "Rishi", "Yogesh", - "Rajendra", "Pawan", "Bhawesh", "Pramod", "Pramod", "Saurav", "Hemant", "Subash", "Sparsha", "Sabin", - "Manohar", "Anuj", "Aryan", "Yogendra", "Nischal", "Samir", "Sanjay", "Bijay", "Rohit", "Rajat", - "Biraj", "Kiran", "Pravin", "Pramod"}; - -const std::array nepaleseFemaleFirstNames = { - "Sita", "Gita", "Shristi", "Anita", "Priya", "Sabina", "Nisha", "Saraswati", "Asha", - "Binita", "Deepa", "Kamala", "Laxmi", "Rina", "Bishnu", "Meera", "Sushma", "Pooja", - "Rajani", "Sunita", "Nirmala", "Rita", "Sumitra", "Usha", "Manisha", "Rekha", "Sarita", - "Kusum", "Puja", "Sanjana", "Smriti", "Pratima", "Sabita", "Kanchan", "Nandita", "Anjali", - "Harsha", "Sangita", "Sushmita", "Suman", "Sweta", "Sadhana", "Anju", "Nabina", "Bhawana", - "Srijana", "Nikita", "Aarati", "Anita", "Nitu", "Sima", "Sita", "Goma", "Sarala", - "Sarika", "Sabita", "Madhavi", "Indira", "Ankita", "Bhumika", "Neha", "Ashmita", "Subiksha", - "Supriya", "Urmila", "Shova", "Shruti", "Ruby", "Samjhana", "Prakriti", "Ashika", "Reecha", - "Yamuna", "Sunaina", "Sujata", "Muna", "Sulochana", "Jamuna", "Anshu", "Sarala", "Sarika", - "Puspa", "Manju", "Sadhana", "Pabitra", "Usha", "Manita", "Rekha", "Swastika", "Priyanka", - "Sharmila", "Manju", "Sudha", "Laxmi", "Sunita", "Tulsi", "Usha", "Saraswati", "Rachana"}; - -const std::array nepaleseLastNames = { - "Adhikari", "Bhattarai", "Gurung", "Tamang", "Magar", "Shrestha", "Rai", "Limbu", - "Poudel", "Joshi", "Karki", "Shah", "Thapa", "Rana", "Regmi", "Acharya", - "Basnet", "Shrestha", "Lama", "Khadka", "Maharjan", "Panta", "Sherpa", "Lohani", - "Giri", "Gupta", "Mishra", "Chhetri", "Magar", "Parajuli", "Dhakal", "Malla", - "Gyawali", "Pariyar", "Thakuri", "Roka", "Sapkota", "Waiba", "Pariyar", "Chand", - "Subedi", "Ghimere", "Khatri", "Bista", "Bajracharya", "Dhungana", "Budhathoki", "Yadav", - "Rokaya", "Chaudhary", "Pathak", "Pandey", "Baniya", "Devkota", "Dangol", "Koirala", - "Mishra", "Oli", "Sherchan", "Rajbanshi", "Bhandari", "Niroula", "Nepal", "Nepali"}; - -const NameFormats nepaleseNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames nepalesePeopleNames{{nepaleseMaleFirstNames, nepaleseLastNames, {}, {}}, - {nepaleseFemaleFirstNames, nepaleseLastNames, {}, {}}, - nepaleseNameFormats}; - -// Norway - -const std::array norwegianMaleFirstNames = { - "Markus", "Mathias", "Kristian", "Jonas", "Andreas", "Alexander", "Martin", "Sander", "Daniel", "Magnus", - "Henrik", "Tobias", "Kristoffer", "Emil", "Adrian", "Sebastian", "Marius", "Elias", "Fredrik", "Thomas", - "Sondre", "Benjamin", "Jakob", "Oliver", "Lucas", "Oskar", "Nikolai", "Filip", "Mats", "William", - "Erik", "Simen", "Ole", "Eirik", "Isak", "Kasper", "Noah", "Lars", "Joakim", "Johannes", - "Håkon", "Sindre", "Jørgen", "Herman", "Anders", "Jonathan", "Even", "Theodor", "Mikkel", "Aksel"}; - -const std::array norwegianFemaleFirstNames = { - "Emma", "Sara", "Thea", "Ida", "Julie", "Nora", "Emilie", "Ingrid", "Hanna", "Maria", - "Sofie", "Anna", "Malin", "Amalie", "Vilde", "Frida", "Andrea", "Tuva", "Victoria", "Mia", - "Karoline", "Mathilde", "Martine", "Linnea", "Marte", "Hedda", "Marie", "Helene", "Silje", "Leah", - "Maja", "Elise", "Oda", "Kristine", "Aurora", "Kaja", "Camilla", "Mari", "Maren", "Mina", - "Selma", "Jenny", "Celine", "Eline", "Sunniva", "Natalie", "Tiril", "Synne", "Sandra", "Madeleine"}; - -const std::array norwegianLastNames = { - "Johansen", "Hansen", "Andersen", "Kristiansen", "Larsen", "Olsen", "Solberg", - "Andresen", "Pedersen", "Nilsen", "Berg", "Halvorsen", "Karlsen", "Svendsen", - "Jensen", "Haugen", "Martinsen", "Eriksen", "Sørensen", "Johnsen", "Myhrer", - "Johannessen", "Nielsen", "Hagen", "Pettersen", "Bakke", "Skuterud", "Løken", - "Gundersen", "Strand", "Jørgensen", "Kvarme", "Røed", "Sæther", "Stensrud", - "Moe", "Kristoffersen", "Jakobsen", "Holm", "Aas", "Lie", "Moen", - "Andreassen", "Vedvik", "Nguyen", "Jacobsen", "Torgersen", "Ruud", "Krogh", - "Christiansen", "Bjerke", "Aalerud", "Borge", "Sørlie", "Berge", "Østli", - "Ødegård", "Torp", "Henriksen", "Haukelidsæter", "Fjeld", "Danielsen", "Aasen", - "Fredriksen", "Dahl", "Berntsen", "Arnesen", "Wold", "Thoresen", "Solheim", - "Skoglund", "Bakken", "Amundsen", "Solli", "Smogeli", "Kristensen", "Glosli", - "Fossum", "Evensen", "Eide", "Carlsen", "Østby", "Vegge", "Tangen", - "Smedsrud", "Olstad", "Lunde", "Kleven", "Huseby", "Bjørnstad", "Ryan", - "Rasmussen", "Nygård", "Nordskaug", "Nordby", "Mathisen", "Hopland", "Gran", - "Finstad", "Edvardsen"}; - -const std::array norwegianSuffixes{"Jr.", "Sr.", "I", "II", "III", "IV", "V"}; - -const std::array norwegianPrefixes{"Dr.", "Prof."}; - -const NameFormats norwegianNameFormats{ - {{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 9}, {"{firstName} {lastName} {suffix}", 1}}}; - -const PeopleNames norwegianPeopleNames{ - {norwegianMaleFirstNames, norwegianLastNames, norwegianPrefixes, norwegianSuffixes}, - {norwegianFemaleFirstNames, norwegianLastNames, norwegianPrefixes, norwegianSuffixes}, - norwegianNameFormats}; - -// Palestine - -const std::array palestinianMaleFirstNames = { - "Mohamed", "Ahmed", "Abdel", "Mahmoud", "Ibrahim", "Khaled", "Ali", "Yousef", "Hassan", - "Raed", "Emad", "Iyad", "Omar", "Jamal", "Khalil", "Ayman", "Ramy", "Samih", - "Fayez", "Ismail", "Abdullah", "Mostafa", "Mousa", "Ashraf", "Ziad", "Hussein", "Osama", - "Saeed", "Samir", "Maher", "Sami", "Hossam", "Yasser", "Hani", "Fadi", "Waleed", - "Saleh", "Suleiman", "Nasser", "Nabil", "Bassam", "Shady", "Wael", "Samer", "Tarek", - "Adel", "Majed", "Adnan", "Essam", "Salah", "Bilal", "Amjad", "Kamal", "Jamil", - "Akram", "Anwar", "Kamel", "Nader", "Riad", "Murad", "Zuhair", "Hisham", "Yahya", - "Fouad", "Marwan", "Ghassan", "Mazen", "Fathi", "Amer", "Hatem", "Amin", "Firas", - "Ammar", "Salem", "Haytham", "Mounir", "Naeem", "Khader", "Salim", "Hamza", "Nael", - "Tawfiq", "Najih", "Louay", "Zaher", "Atef", "Sherif", "Asaad", "Fawzi", "Anas", - "Mahdi", "Fares", "Salam", "Younis", "Hamed", "Tamer", "Ramadan", "Jalal", "Atta", - "Jawad", "Zakaria", "Saad", "Osman", "Sufian", "Talal", "Farid", "Bashir", "Khamis", - "Dia", "Arafat", "Naji", "Suhail", "Saber", "Faisal", "Rafiq", "Rashid", "Mamoun", - "Nizar", "Ghazi", "Nazim", "Mansour", "Yacoub", "Qasim", "Salman", "Malik", "Taleb", - "Adham", "Zaki", "Badr", "Fahd", "Taha", "Rabie", "Yassin", "Waseem", "Bakr", - "Ishaq", "Noman", "Rashad", "Hamada", "Jaafar", "Karam", "Radwan", "Amir", "Ayoub", - "Jaber", "George", "Azhar", "Mesbah", "Nazih", "Hammad", "Rabah", "Aziz", "Fatih", - "Farouk", "Hamad", "Mohsen", "Elias", "Taher", "Zaid", "Makram", "Sultan", "Iftikhar", - "Lotfi", "Karim", "Hilal", "Amr", "Radi", "Rasheed", "Sadiq", "Wahid", "Massoud", - "Shafiq", "Nizam", "Saif", "Abbas", "Sabri", "Anis", "Mujahid", "Haidar", "Sayed", - "Iqbal", "Mahy", "Zain", "Imtiaz", "Afif", "Raouf", "Farhan", "Nadi", "Amar", - "Nadeem", "Nassar", "Haroun", "Idris", "Hadi", "Wahib", "Badi", "Anton", "Adam", - "Habib", "Marzouk", "Fahim", "Johnny", "Hamid", "Rubin", "Matar", "Mabrouk", "Roly", - "Ayad", "Allan", "Emile", "William", "Safwan", "Michel", "Abdo", "Abou", "Bahri", - "Nasrallah", "Shoaib", "Mubarak", "Daoud", "Hany", "Abed", "Safi", "Asad", "Antar", - "Mikhail", "Arif", "Rehan", "Raymond", "Joseph", "Bader", "Sinan", "Victor", "Milad", - "Aqeel", "Said", "Jack", "Rabeh", "Khalifa", "Ansar", "Aba", "Naser", "Jalil", - "Hanafi", "Asif", "Simon", "Falak", "Mumtaz", "Rafi", "Peter", "Yvon", "Nasir", - "Morris", "Abdelhakim", "Adeel", "Luqman", "Fikret", "Abdelkader", "Edward", "Gamal", "Nayel", - "Muzaffar", "Irfan", "Ihab", "Muhammed", "Nazir", "Hajjaj", "Hakim", "Sajid", "Akbar", - "Marcel", "Hossein", "John", "Fadel", "Majid", "Zahir", "Siraj", "Madi", "Mokhtar", - "Ghali", "Sheikh", "Karmel", "Robert", "Angel", "Seddik", "Hama", "Scott", "Raman", - "Soso", "Aram", "Jamie", "Kamil", "Mike", "Daniel", "Yousif", "Alam", "Mohammed", - "Mazhar", "Talha", -}; - -const std::array palestinianFemaleFirstNames = { - "Fatima", "Mariam", "Iman", "Amal", "Hanan", "Mona", "Manal", "Aisha", "Wafa", - "Alaa", "Nasreen", "Sana", "Samira", "Asmaa", "Jamila", "Heba", "Halima", "Ibtisam", - "Souad", "Jihad", "Maha", "Hoda", "Hana", "Laila", "Siham", "Basma", "Najah", - "Nidal", "Ghada", "Nour", "Samar", "Rana", "Nadia", "Nawal", "Nada", "Zainab", - "Sahar", "Samah", "Sabah", "Hayam", "Fathia", "Rania", "Khadija", "Faten", "Ahlam", - "Hala", "Sarah", "Aida", "Safa", "Samia", "Lina", "Kholoud", "Rasha", "Wissam", - "Anam", "Dalal", "Elham", "Aziza", "Najwa", "Sawsan", "Magda", "Khadra", "Susan", - "Noha", "Ela", "Rima", "Yasmin", "Salwa", "Maysaa", "Ramia", "Afaf", "Nihad", - "Randa", "Fadwa", "Khawla", "Rajaa", "Islam", "Ayesha", "Mai", "Nahed", "Inas", - "Nahla", "Lubna", "Rehab", "Duaa", "Saada", "Asmahan", "Manar", "Latifa", "Hind", - "Alia", "Nabila", "Dina", "Hayat", "Shadia", "Raida", "Nariman", "Kawthar", "Abla", - "Zahra", "Reda", "Marwa", "Rahma", "Jihan", "Najla", "Salama", "Najat", "Bahia", - "Haya", "Maazouza", "Fadia", "Walaa", "Ayat", "Aya", "Ikram", "Bushra", "Nasim", - "Nasra", "Arwa", "Lamia", "Salma", "Maram", "Hikmat", "Shaimaa", "Bayan", "Ihsan", - "Awatif", "Farah", "Diana", "Nora", "Linda", "Farida", "Fahima", "Najma", "Suhaila", - "Donia", "Amna", "Nermin", "Wesal", "Fayrouz", "Rabab", "Sonia", "Lana", "Janan", - "Dalia", "Azza", "Tamara", "Nazira", "Badia", "Dima", "Hadia", "Mary", "Afnan", - "Nancy", "Ria", "Asia", "Shahnaz", "Dana", "Tasnim", "Lamis", "Hanna", "Raja", - "Naima", "Rani", "Razan", "Wiam", "Malak", "Sally", "Anaya", "Rose", "Saba", - "Camelia", "Mansoura", "Safia", "Fattoum", "Naama", "Nargis", "Bahija", "Yousra", "Amira", - "Hilda", "Hajar", "Maria", "Rama", "Wahiba", "Lara", "Sima", "Jacqueline", "Faiza", - "Janet", "Aman", "Maysa", "Kamelia", "Georgette", "Nasima", "Mari", "Sumaya", "Nicola", - "Nadine", "Marilyn", "Fawzia", "Yara", "Amani", "Elin", "Batoul", "Asma", "Marzouka", - "Fatna", "Hassiba", "Sajida", "Karem", "Rita", "Helen", "Amina", "Ghalia", "Nelly", - "Reina", "Rene", "Mira", "Samiha", "Nahida", "Diane", "Madeleine", "Elissa", "Sama", - "Dahab", "Salsabil", "Rokaya", "Liana", "Shaheen", "Samara", "Raya", "Rahima", "Norma", - "Farhat", "Elaine", "Hina", "Suzy", "Sandy", "Judy", "Julia", "Lydia", "Violet", - "Nayla", "Saadia", "Hasna", "Lorraine", "Sahra", "Mimouna", "Jane", "Karima", "Therese", - "Nawar", "Badra", "Margret", "Rayan", "Caroline", "Marina", "Yacine", "Mirna", "Lucy", - "Dania", "Jannat", "Hilde", "Christine", "Abrar", "Elia", "Ayada", "Hawa", "Sandra", - "Najia", "Angie", "Soria", "Liza", "Katrina", "Vera", "Melia", "Mahdia", "Mounira", - "Emily", "Houria", "Antoinette", "Mimi", "Irene", "Badria", "Sabra", "Tania", "Olga", - "Ala", "Sina", "Ana", "Milada", "Lilian", "Zeina", "Fatin", "Omaima", "Nana", - "Zaida", "Ramos", "Carmen", "Josephine", "Laura", "Joan", "Isha", "Elina", "Anahid", - "Sinai", "Nahid", "Christina", "Nina", "Elian", "An", "Maida", "Nafisa", "Elizabeth", - "Juliana", "Hamida", "Jalila", "Joanna", "Nirmin", "Francis", "Claire", "Margo", "Sabria", - "Kitty", "Rachida", "Mariana", "Natalia", "Salima", "Kamilia", "Doha", "Karol", "Catherine", - "Camille", "Hakima", "Nozha", "Pauline", "Andrea", "Tatiana", "Arlette", "Sare", "Sakina", - "Dany", "Amelia", "Yelena", "Grace", "Marian", "Liane", "Serena", "Yana", -}; - -const std::array palestinianLastNames = { - "Awad", "Al najjar", "El masry", "Odeh", "Hamdan", "Saleh", "Al khatib", - "Shaheen", "Mansour", "Mousa", "Ahmed", "Yassin", "Hamad", "Salama", - "Eisaa", "Dawood", "Salah", "Hussein", "Hassan", "Abdullah", "Hammad", - "Suleiman", "Shehadeh", "El shaer", "Abed", "Taha", "Zaaroub", "Ashour", - "Nassar", "Hamouda", "Saad", "Al astal", "Jaradat", "Ayad", "Ali", - "Khalil", "Amr", "Basharat", "Ibrahim", "Salem", "Zaid", "Jaber", - "Alyan", "Rabie", "Gabr", "Obaid", "Mohamed", "Omar", "Musleh", - "Daraghmeh", "Khatib", "Hegazy", "Ghanim", "Qasim", "Bani odeh", "Ismail", - "Qadeeh", "Abou ali", "Abu bakr", "Zidan", "Hamed", "Salman", "Jouda", - "Darwish", "Dweikat", "El sherif", "Sobeeh", "Najjar", "Amer", "Nasser", - "Badr", "El madhoun", "Al natsheh", "Matar", "Barakat", "Nasr", "Mostafa", - "Al farra", "Khader", "El aga", "Yousef", "Radwan", "Abu al-rab", "Siam", - "Mari", "Hamid", "Osman", "Samara", "Al sheikh", "Abu odeh", "Nofal", - "Sobh", "Adwan", "Abu jazar", "Al jaabari", "Sabah", "Saeed", "Khalaf", - "Safi", "Ghannam", "Sawafet", "Eid", "Jamal", "Mahmoud", "Zayed", - "Younis", "El taweel", "Hassouna", "Assaf", "Nazzal", "Jarrar", "Abou mostafa", - "Madi", "Shaat", "Abu taha", "Hawtha", "Shalalda", "Salah el din", "Zaqout", - "Salim", "Abu daqah", "Shurrab", "Abdel aal", "Abou omra", "Mounaser", "Jabareen", - "Ramadan", "Shamasneh", "Ghaith", "Rayan", "Muslim", "Abdo", "Azzam", - "Al-qadi", "El attar", "Al awadh", "Attallah", "Taqateq", "Baraka", "Qabha", - "Afaneh", "Assi", "El gamal", "Abu aram", "Hamail", "El kahlout", "Abed rabbo", - "Abu deh", "Elhamham", "Al akkad", "Fakih", "Kandil", "Fayad", "Badwan", - "Abdel hadi", "Helis", "Ayyash", "Diab", "Al ashqar", "Jibrin", "Abouwarda", - "El hajj", "Massoud", "Al kafarneh", "Abu shrkh", "Abu shamaleh", "El amour", "Rajabi", - "Badawi", "Masry", "Haroub", "Abu samra", "Aboaid", "Qeshtah", "Zahran", - "Gamhor", "Jabari", "Khalifa", "Kanaan", "Natsheh", "El louh", "Saqr", - "Abu obaid", "Zkarneh", "Shaaban", "Muhanna", "Melhem", "El halaby", "Mohsen", - "Abou zeid", "Hanani", "Yahya", "Jadallah", "Abu awad", "Akl", "Rabayeh", - "Abou hassan", "Hamada", "Maslamah", "Abdeen", "Abu labdah", "Jahalin", "Abu hilal", - "Bakr", "Alawneh", "Omran", "Hajjaj", "Erekat", "Bashir", "Abou omar", - "Salahat", "Abou farah", "Juma", "Zaher", "Kamil", "Adais", "Abou hammad", - "Halaik", "Khattab", "El haddad", "Abdelkader", "Al ghoul", "Said", "Badran", - "Asaad", "Tmazeh", "Mekdad", "Qawasmeh", "Al hindi", "Asfour", "Abu jarad", - "Ayesh", "Nasrallah", "Debabseh", "Rajoub", "Ghonaim", "El helou", "Kallab", - "Shabir", "Choucair", "Abou taema", "Zioud", "Ziadeh", "Abdul rahman", "Shraim", - "Al nahhal", "Arafat", "Dhereh", "Ragab", "Farouk", "Abu arra", "Abusnina", - "Nabhan", "El ghalban", "Al qawasmeh", "Yacoub", "Harb", "Allan", "Ghoban", - "Al bayouk", "Faroun", "Barbakh", "Al sultan", "Sarsour", "Al atrash", "Fares", - "Maarouf", "Khadour", "Hammadah", "Dheir", "Wahdan", "Khamaisah", "Hassanein", - "Al khalidi", "Habib", "Al shawwa", "Sarhan", "Faraj", "Labd", "El sakka", - "Rehan", "Ammar", "Dalloul", "Al buhaisi", "Awadallah", "Hamidat", "El banna", - "Al-bazour", "Sweety", "Abu musa", "Al maslamah", "Samour", "El zaaneen", "Kaabneh", - "Aslim", "Zeidat", "Shalaby", "Abu shaaban", "Kouar", "Faraj allah", "Mahamid", - "El sayed", "Abu zahra", "Al shurafa", "Ghazal", -}; - -const NameFormats palestinianNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames palestinianPeopleNames{{palestinianMaleFirstNames, palestinianLastNames, {}, {}}, - {palestinianFemaleFirstNames, palestinianLastNames, {}, {}}, - palestinianNameFormats}; - -// Persian - -const std::array persianMaleFirstNames = { - "آرمان", "بهروز", "کیان", "فریدون", "سپهر", "میلاد", "آرشام", "پوریا", "بهراد", "سیاوش", "احسان", - "شایان", "شهریار", "آرتین", "امیدوار", "پارسا", "کاوه", "پیام", "آرین", "مانی", "نیما", "فرهاد", - "کسری", "کیوان", "رهام", "فرشاد", "آرمین", "فرزاد", "ساماندار", "امینوار", "امیرعلی", "رضوان", "حسینیان", - "ناصر", "محمدرضا", "صادق", "علی", "عباس", "حمید", "جواد", "محمود", "علیرضا", "رامبد", "پیمان", - "مهدی", "سجاد", "محمد", "یوسف", "محمدعلی", "حسین", "رحمان", "رضا", "کاظم", "مهران", "نادر", - "مهدیار", "پرهام", "پیروز", "میثم", "احمد", "مصطفی"}; - -const std::array persianFemaleFirstNames = { - "آتنا", "پریسا", "نازنین", "شیرین", "الناز", "سارا", "زهرا", "ریحانه", "بهار", "آیدا", "نیکا", - "مهسا", "نگین", "یاسمن", "آرزو", "لاله", "روژین", "ترانه", "پرنیا", "مریم", "پگاه", "سلما", - "ملیسا", "نسترن", "مینا", "پرشین", "مهتا", "لیلا", "مهرانگیز", "زینب", "آزیتا", "پرستو", "رها", - "شهناز", "سوگند", "فرانکا", "لیانا", "سمیرا", "فاطمه", "سهراب", "هلنا", "دلارا", "پارمیس", "آوا", - "پانیذ", "آناهیتا", "سحر", "ناهید", "آتوسا", "بهناز", "راحله", "شبنم", "فریبا", "نرگس", "رها", - "سهیلا", "شیدا", "محیا", "زهره", "زیبا", "رقیه", "مهتاب", "الهه", "ریما", "مهدیس"}; - -const std::array persianLastNames = {"خانی", - "رحمانی", - "احمدی", - "زاده", - "نژاد", - "صفری", - "جعفری", - "محمدی", - "اکبری", - "میرزایی", - "فرهادی", - "رستمی", - "نوری", - "جلالی", - "حسینی", - "رسولی", - "موسوی", - "یوسفی", - "مقدم", - "پورمحمد", - "بهرامی", - "قربانی", - "فیاض", - "فرجی", - "بخشی", - "بهشتی", - "سلطانی", - "قاسمی", - "جوادی", - "جهانگیری", - "نصیری", - "عبداللهی", - "علیزاده", - "مجد", - "مظاهری", - "هاشمی", - "پارسا", - "پیروز", - "حقیقت", - "راد", - "زمانی", - "سلمانی", - "شیرازی", - "قنبری", - "طاهری", - "مهدوی", - "نعمتی", - "وکیلی", - "کاظمی", - "رئیسی", - "میری", - "سلیمانی", - "مومنی", - "جوکار", - "بنیادی", - "حیدری", - "افشار", - "شمس", - "کشاورز", - "رشیدی", - "صادقی", - "حق‌پرست", - "بیگی", - "حسن‌زاده", - "قریشی", - "بابایی", - "نعیمی", - "موحد", - "خضری", - "داوری", - "نیکو", - "پورجعفر", - "طباطبایی", - "گلزار", - "صباحی", - "خزایی", - "رفیعی", - "حقی", - "هاشمیان", - "سجادی", - "توکلی", - "یزدانی", - "شهیدی", - "پورفرج", - "آقاجانی", - "پارسایی", - "نادری", - "آهنگری", - "اکتایی", - "زند", - "تقی‌زاده", - "جوانمرد", - "محمدیان", - "خلج", - "زندی", - "سلیمی", - "سلطانپور", - "کمالی", - "باقری", - "فرج‌اللهی", - "زنجانی", - "مهدی‌زاده", - "فرجامی", - "قنبرزاده", - "رهنما", - "خسروجاه", - "تهرانی", - "اسدی", - "معتمدی", - "حسینی‌نژاد", - "نظری"}; - -const std::array persianMalePrefixes{"آقا", "دکتر", "استاد"}; - -const std::array persianFemalePrefixes{"خانم", "دکتر", "استاد"}; - -const NameFormats persianNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 9}}}; - -// Convert UTF16 to UTF8 for Persian characters then use the data. -const PeopleNames persianPeopleNames{{persianMaleFirstNames, persianLastNames, persianMalePrefixes, {}}, - {persianFemaleFirstNames, persianLastNames, persianFemalePrefixes, {}}, - persianNameFormats}; - -// Poland - -const std::array polishMaleFirstNames = { - "Aaron", "Abraham", "Adam", "Adrian", "Atanazy", "Agaton", "Alan", "Albert", - "Aleksander", "Aleksy", "Alfred", "Alwar", "Ambroży", "Anatol", "Andrzej", "Antoni", - "Apollinary", "Apollo", "Arkady", "Arkadiusz", "Archibald", "Arystarch", "Arnold", "Arseniusz", - "Artur", "August", "Baldwin", "Bazyli", "Benedykt", "Beniamin", "Bernard", "Bertrand", - "Bertram", "Borys", "Brajan", "Bruno", "Cezary", "Cecyliusz", "Karol", "Krystian", - "Krzysztof", "Klarencjusz", "Klaudiusz", "Klemens", "Konrad", "Konstanty", "Konstantyn", "Kornel", - "Korneliusz", "Korneli", "Cyryl", "Cyrus", "Damian", "Daniel", "Dariusz", "Dawid", - "Dionizy", "Demetriusz", "Dominik", "Donald", "Dorian", "Edgar", "Edmund", "Edward", - "Edwin", "Efrem", "Efraim", "Eliasz", "Eleazar", "Emil", "Emanuel", "Erast", - "Ernest", "Eugeniusz", "Eustracjusz", "Fabian", "Feliks", "Florian", "Franciszek", "Fryderyk", - "Gabriel", "Gedeon", "Galfryd", "Jerzy", "Gerald", "Gerazym", "Gilbert", "Gonsalwy", - "Grzegorz", "Gwido", "Harald", "Henryk", "Herbert", "Herman", "Hilary", "Horacy", - "Hubert", "Hugo", "Ignacy", "Igor", "Hilarion", "Innocenty", "Hipolit", "Ireneusz", - "Erwin", "Izaak", "Izajasz", "Izydor", "Jakub", "Jeremi", "Jeremiasz", "Hieronim", - "Joachim", "Jan", "Janusz", "Jonatan", "Józef", "Jozue", "Julian", "Juliusz", - "Justyn", "Kalistrat", "Kazimierz", "Wawrzyniec", "Laurenty", "Laurencjusz", "Łazarz", "Leon", - "Leonard", "Leonid", "Ludwik", "Łukasz", "Lucjan", "Magnus", "Makary", "Marceli", - "Marek", "Marcin", "Mateusz", "Maurycy", "Maksym", "Maksymilian", "Michał", "Miron", - "Modest", "Mojżesz", "Natan", "Natanael", "Nazariusz", "Nazary", "Nestor", "Mikołaj", - "Nikodem", "Olaf", "Oleg", "Oliwier", "Onufry", "Orestes", "Oskar", "Ansgary", - "Osmund", "Pankracy", "Pantaleon", "Patryk", "Patrycjusz", "Patrycy", "Paweł", "Piotr", - "Filemon", "Filip", "Platon", "Polikarp", "Porfiry", "Porfiriusz", "Prokles", "Prokul", - "Prokop", "Kwintyn", "Randolf", "Rafał", "Rajmund", "Reginald", "Rajnold", "Ryszard", - "Robert", "Roderyk", "Roger", "Roland", "Roman", "Romeo", "Rudolf", "Samson", - "Samuel", "Salwator", "Sebastian", "Serafin", "Sergiusz", "Seweryn", "Zygmunt", "Sylwester", - "Szymon", "Salomon", "Spirydion", "Stanisław", "Szczepan", "Stefan", "Terencjusz", "Teodor", - "Tomasz", "Tymoteusz", "Tobiasz", "Walenty", "Walentyn", "Walerian", "Walery", "Wiktor", - "Wincenty", "Witalis", "Włodzimierz", "Władysław", "Błażej", "Walter", "Walgierz", "Wacław", - "Wilfryd", "Wilhelm", "Ksawery", "Ksenofont", "Zachariasz", "Zachary"}; - -const std::array polishFemaleFirstNames = { - "Ada", "Adelajda", "Agata", "Agnieszka", "Agrypina", "Aida", "Aleksandra", "Alicja", - "Alina", "Amanda", "Anastazja", "Angela", "Andżelika", "Angelina", "Anna", "Hanna", - "Antonina", "Ariadna", "Aurora", "Barbara", "Beatrycze", "Berta", "Brygida", "Kamila", - "Karolina", "Kornelia", "Katarzyna", "Cecylia", "Chloe", "Krystyna", "Klara", "Klaudia", - "Klementyna", "Konstancja", "Koralia", "Daria", "Diana", "Dina", "Dorota", "Edyta", - "Eleonora", "Eliza", "Elżbieta", "Izabela", "Elwira", "Emilia", "Estera", "Eudoksja", - "Eudokia", "Eugenia", "Ewa", "Ewelina", "Ferdynanda", "Florencja", "Franciszka", "Gabriela", - "Gertruda", "Gloria", "Gracja", "Jadwiga", "Helena", "Henryka", "Nadzieja", "Ida", - "Ilona", "Irena", "Irma", "Izolda", "Jakubina", "Joanna", "Janina", "Żaneta", - "Ginewra", "Józefina", "Judyta", "Julia", "Julita", "Justyna", "Kira", "Cyra", - "Kleopatra", "Larysa", "Laura", "Laurencja", "Laurentyna", "Lea", "Leila", "Liliana", - "Lilianna", "Lilia", "Lilla", "Liza", "Ludwika", "Luiza", "Łucja", "Lucja", - "Lidia", "Amabela", "Magdalena", "Malwina", "Małgorzata", "Greta", "Marianna", "Maryna", - "Marta", "Martyna", "Maria", "Matylda", "Maja", "Melania", "Michalina", "Monika", - "Noemi", "Natalia", "Nikola", "Nina", "Olga", "Olimpia", "Oliwia", "Ofelia", - "Patrycja", "Paula", "Pelagia", "Penelopa", "Filipa", "Paulina", "Rachela", "Rebeka", - "Regina", "Renata", "Rozalia", "Róża", "Roksana", "Rufina", "Ruta", "Sabina", - "Sara", "Serafina", "Sybilla", "Sylwia", "Zofia", "Stella", "Stefania", "Zuzanna", - "Tamara", "Tacjana", "Tekla", "Teodora", "Teresa", "Walentyna", "Waleria", "Wanesa", - "Wiara", "Weronika", "Wiktoria", "Wirginia", "Bibiana", "Bibianna", "Wanda", "Wilhelmina", - "Ksawera", "Ksenia", "Zoe"}; - -const std::array polishLastNames = {"Adamczak", "Adamczyk", "Adamek", - "Adamiak", "Adamiec", "Adamowicz", - "Adamski", "Adamus", "Aleksandrowicz", - "Andrzejczak", "Andrzejewski", "Antczak", - "Augustyn", "Augustyniak", "Bagiński", - "Balcerzak", "Banach", "Banasiak", - "Banasik", "Banaś", "Baran", - "Baranowski", "Barański", "Bartczak", - "Bartkowiak", "Bartnik", "Bartosik", - "Bednarczyk", "Bednarek", "Bednarski", - "Bednarz", "Białas", "Białek", - "Białkowski", "Biedrzyński", "Bielak", - "Bielawski", "Bielecki", "Bielski", - "Bieniek", "Biernacki", "Biernat", - "Bieńkowski", "Bilski", "Bober", - "Bochenek", "Bogucki", "Bogusz", - "Borek", "Borkowski", "Borowiec", - "Borowski", "Bożek", "Broda", - "Brzeziński", "Brzozowski", "Buczek", - "Buczkowski", "Buczyński", "Budziński", - "Budzyński", "Bujak", "Bukowski", - "Burzyński", "Bąk", "Bąkowski", - "Błaszczak", "Błaszczyk", "Cebula", - "Chmiel", "Chmielewski", "Chmura", - "Chojnacki", "Chojnowski", "Cholewa", - "Chrzanowski", "Chudzik", "Cichocki", - "Cichoń", "Cichy", "Ciesielski", - "Cieśla", "Cieślak", "Cieślik", - "Ciszewski", "Cybulski", "Cygan", - "Czaja", "Czajka", "Czajkowski", - "Czapla", "Czarnecki", "Czech", - "Czechowski", "Czekaj", "Czerniak", - "Czerwiński", "Czyż", "Czyżewski", - "Dec", "Dobosz", "Dobrowolski", - "Dobrzyński", "Domagała", "Domański", - "Dominiak", "Drabik", "Drozd", - "Drozdowski", "Drzewiecki", "Dróżdż", - "Dubiel", "Duda", "Dudek", - "Dudziak", "Dudzik", "Dudziński", - "Duszyński", "Dziedzic", "Dziuba", - "Dąbek", "Dąbkowski", "Dąbrowski", - "Dębowski", "Dębski", "Długosz", - "Falkowski", "Fijałkowski", "Filipek", - "Filipiak", "Filipowicz", "Flak", - "Flis", "Florczak", "Florek", - "Frankowski", "Frąckowiak", "Frączek", - "Frątczak", "Furman", "Gadomski", - "Gajda", "Gajewski", "Gaweł", - "Gawlik", "Gawron", "Gawroński", - "Gałka", "Gałązka", "Gil", - "Godlewski", "Golec", "Gołąb", - "Gołębiewski", "Gołębiowski", "Grabowski", - "Graczyk", "Grochowski", "Grudzień", - "Gruszczyński", "Gruszka", "Grzegorczyk", - "Grzelak", "Grzesiak", "Grzesik", - "Grześkowiak", "Grzyb", "Grzybowski", - "Grzywacz", "Gutowski", "Guzik", - "Gwoździk", "Gwóźdź", "Góra", - "Góral", "Górecki", "Górka", - "Górniak", "Górny", "Górski", - "Gąsior", "Gąsiorowski", "Głogowski", - "Głowacki", "Głąb", "Hajduk", - "Herman", "Iwanowski", "Iwański", - "Izdebski", "Jabłoński", "Jackowski", - "Jagielski", "Jagiełło", "Jagodziński", - "Jakubiak", "Jakubowski", "Janas", - "Janiak", "Janicki", "Janik", - "Janiszewski", "Jankowiak", "Jankowski", - "Janowski", "Janus", "Janusz", - "Januszewski", "Jaros", "Jarosz", - "Jarząbek", "Jasiński", "Jastrzębski", - "Jaworski", "Jaśkiewicz", "Jezierski", - "Jurek", "Jurkiewicz", "Jurkowski", - "Juszczak", "Jóźwiak", "Jóźwik", - "Jędrzejczak", "Jędrzejczyk", "Jędrzejewski", - "Kacprzak", "Kaczmarczyk", "Kaczmarek", - "Kaczmarski", "Kaczor", "Kaczorowski", - "Kaczyński", "Kaleta", "Kalinowski", - "Kalisz", "Kamiński", "Kania", - "Kaniewski", "Kapusta", "Karaś", - "Karczewski", "Karpiński", "Karwowski", - "Kasperek", "Kasprzak", "Kasprzyk", - "Kaszuba", "Kawa", "Kawecki", - "Kałuża", "Kaźmierczak", "Kiełbasa", - "Kisiel", "Kita", "Klimczak", - "Klimek", "Kmiecik", "Kmieć", - "Knapik", "Kobus", "Kogut", - "Kolasa", "Komorowski", "Konieczna", - "Konieczny", "Konopka", "Kopczyński", - "Koper", "Kopeć", "Korzeniowski", - "Kos", "Kosiński", "Kosowski", - "Kostecki", "Kostrzewa", "Kot", - "Kotowski", "Kowal", "Kowalczuk", - "Kowalczyk", "Kowalewski", "Kowalik", - "Kowalski", "Koza", "Kozak", - "Kozieł", "Kozioł", "Kozłowski", - "Kołakowski", "Kołodziej", "Kołodziejczyk", - "Kołodziejski", "Krajewski", "Krakowiak", - "Krawczyk", "Krawiec", "Kruk", - "Krukowski", "Krupa", "Krupiński", - "Kruszewski", "Krysiak", "Krzemiński", - "Krzyżanowski", "Król", "Królikowski", - "Książek", "Kubacki", "Kubiak", - "Kubica", "Kubicki", "Kubik", - "Kuc", "Kucharczyk", "Kucharski", - "Kuchta", "Kuciński", "Kuczyński", - "Kujawa", "Kujawski", "Kula", - "Kulesza", "Kulig", "Kulik", - "Kuliński", "Kurek", "Kurowski", - "Kuś", "Kwaśniewski", "Kwiatkowski", - "Kwiecień", "Kwieciński", "Kędzierski", - "Kędziora", "Kępa", "Kłos", - "Kłosowski", "Lach", "Laskowski", - "Lasota", "Lech", "Lenart", - "Lesiak", "Leszczyński", "Lewandowski", - "Lewicki", "Leśniak", "Leśniewski", - "Lipiński", "Lipka", "Lipski", - "Lis", "Lisiecki", "Lisowski", - "Maciejewski", "Maciąg", "Mackiewicz", - "Madej", "Maj", "Majcher", - "Majchrzak", "Majewski", "Majka", - "Makowski", "Malec", "Malicki", - "Malinowski", "Maliszewski", "Marchewka", - "Marciniak", "Marcinkowski", "Marczak", - "Marek", "Markiewicz", "Markowski", - "Marszałek", "Marzec", "Masłowski", - "Matusiak", "Matuszak", "Matuszewski", - "Matysiak", "Mazur", "Mazurek", - "Mazurkiewicz", "Maćkowiak", "Małecki", - "Małek", "Maślanka", "Michalak", - "Michalczyk", "Michalik", "Michalski", - "Michałek", "Michałowski", "Mielczarek", - "Mierzejewski", "Mika", "Miklaś", - "Mikołajczak", "Mikołajczyk", "Mikulski", - "Milczarek", "Milewski", "Miller", - "Misiak", "Misztal", "Miśkiewicz", - "Modzelewski", "Molenda", "Morawski", - "Motyka", "Mroczek", "Mroczkowski", - "Mrozek", "Mróz", "Mucha", - "Murawski", "Musiał", "Muszyński", - "Młynarczyk", "Napierała", "Nawrocki", - "Nawrot", "Niedziela", "Niedzielski", - "Niedźwiecki", "Niemczyk", "Niemiec", - "Niewiadomski", "Noga", "Nowacki", - "Nowaczyk", "Nowak", "Nowakowski", - "Nowicki", "Nowiński", "Olczak", - "Olejniczak", "Olejnik", "Olszewski", - "Orzechowski", "Orłowski", "Osiński", - "Ossowski", "Ostrowski", "Owczarek", - "Paczkowski", "Pająk", "Pakuła", - "Palacz", "Paluch", "Panek", - "Partyka", "Pasternak", "Paszkowski", - "Pawelec", "Pawlak", "Pawlicki", - "Pawlik", "Pawlikowski", "Pawłowski", - "Pałka", "Piasecki", "Piechota", - "Pieczek", "Piekarski", "Pietras", - "Pietruszka", "Pietrzak", "Pietrzyk", - "Pilarski", "Pilch", "Piotrowicz", - "Piotrowski", "Piwowarczyk", "Piórkowski", - "Piątek", "Piątkowski", "Piłat", - "Pluta", "Podgórski", "Polak", - "Popławski", "Porębski", "Prokop", - "Prus", "Przybylski", "Przybysz", - "Przybył", "Przybyła", "Ptak", - "Puchalski", "Pytel", "Płonka", - "Raczyński", "Radecki", "Radomski", - "Rak", "Rakowski", "Ratajczak", - "Robak", "Rogala", "Rogalski", - "Rogowski", "Rojek", "Romanowski", - "Rosa", "Rosiak", "Rosiński", - "Ruciński", "Rudnicki", "Rudziński", - "Rudzki", "Rusin", "Rutkowski", - "Rybak", "Rybarczyk", "Rybicki", - "Rzepka", "Różański", "Różycki", - "Sadowski", "Sawicki", "Serafin", - "Siedlecki", "Sienkiewicz", "Sieradzki", - "Sikora", "Sikorski", "Sitek", - "Siwek", "Skalski", "Skiba", - "Skibiński", "Skoczylas", "Skowron", - "Skowronek", "Skowroński", "Skrzypczak", - "Skrzypek", "Skóra", "Smoliński", - "Sobczak", "Sobczyk", "Sobieraj", - "Sobolewski", "Socha", "Sochacki", - "Sokołowski", "Sokół", "Sosnowski", - "Sowa", "Sowiński", "Sołtys", - "Sołtysiak", "Sroka", "Stachowiak", - "Stachowicz", "Stachura", "Stachurski", - "Stanek", "Staniszewski", "Stanisławski", - "Stankiewicz", "Stasiak", "Staszewski", - "Stawicki", "Stec", "Stefaniak", - "Stefański", "Stelmach", "Stolarczyk", - "Stolarski", "Strzelczyk", "Strzelecki", - "Stępień", "Stępniak", "Surma", - "Suski", "Szafrański", "Szatkowski", - "Szczepaniak", "Szczepanik", "Szczepański", - "Szczerba", "Szcześniak", "Szczygieł", - "Szczęsna", "Szczęsny", "Szeląg", - "Szewczyk", "Szostak", "Szulc", - "Szwarc", "Szwed", "Szydłowski", - "Szymański", "Szymczak", "Szymczyk", - "Szymkowiak", "Szyszka", "Sławiński", - "Słowik", "Słowiński", "Tarnowski", - "Tkaczyk", "Tokarski", "Tomala", - "Tomaszewski", "Tomczak", "Tomczyk", - "Tomys", "Tracz", "Trojanowski", - "Trzciński", "Trzeciak", "Turek", - "Twardowski", "Urban", "Urbanek", - "Urbaniak", "Urbanowicz", "Urbańczyk", - "Urbański", "Walczak", "Walkowiak", - "Warchoł", "Wasiak", "Wasilewski", - "Wawrzyniak", "Wesołowski", "Wieczorek", - "Wierzbicki", "Wilczek", "Wilczyński", - "Wilk", "Winiarski", "Witczak", - "Witek", "Witkowski", "Wiącek", - "Więcek", "Więckowski", "Wiśniewski", - "Wnuk", "Wojciechowski", "Wojtas", - "Wojtasik", "Wojtczak", "Wojtkowiak", - "Wolak", "Woliński", "Wolny", - "Wolski", "Woś", "Woźniak", - "Wrona", "Wroński", "Wróbel", - "Wróblewski", "Wypych", "Wysocki", - "Wyszyński", "Wójcicki", "Wójcik", - "Wójtowicz", "Wąsik", "Wąsowski", - "Węgrzyn", "Włodarczyk", "Włodarski", - "Zaborowski", "Zabłocki", "Zagórski", - "Zając", "Zajączkowski", "Zakrzewski", - "Zalewski", "Zaremba", "Zarzycki", - "Zaręba", "Zawada", "Zawadzki", - "Zdunek", "Zieliński", "Zielonka", - "Ziółkowski", "Zięba", "Ziętek", - "Zwoliński", "Zych", "Zygmunt", - "Łapiński", "Łuczak", "Łukasiewicz", - "Łukasik", "Łukaszewski", "Śliwa", - "Śliwiński", "Ślusarczyk", "Świderski", - "Świerczyński", "Świątek", "Żak", - "Żebrowski", "Żmuda", "Żuk", - "Żukowski", "Żurawski", "Żurek", - "Żyła"}; - -const std::array polishMalePrefixes{"Pan"}; - -const std::array polishFemalePrefixes{"Pani"}; - -const NameFormats polishNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 9}}}; - -const PeopleNames polishPeopleNames{{polishMaleFirstNames, polishLastNames, polishMalePrefixes, {}}, - {polishFemaleFirstNames, polishLastNames, polishFemalePrefixes, {}}, - polishNameFormats}; - -// Portugal - -const std::array portugueseMaleFirstNames = { - "Afonso", "Alexandre", "André", "Ângelo", "António", "Artur", "Benjamim", "Bernardo", "Bruno", - "Carlos", "César", "Cristiano", "Daniel", "David", "Dinis", "Diogo", "Duarte", "Edgar", - "Eduardo", "Elias", "Emanuel", "Fábio", "Feliciano", "Fernando", "Filipe", "Francisco", "Frederico", - "Gabriel", "Gaspar", "Gil", "Gonçalo", "Guilherme", "Gustavo", "Hélio", "Henrique", "Hugo", - "Igor", "Ígor", "Isac", "Ivan", "Ivo", "Jaime", "João", "Joaquim", "Jorge", - "José", "Josué", "Júlio", "Leandro", "Leonardo", "Lourenço", "Lucas", "Luís", "Manel", - "Manuel", "Marcelo", "Marco", "Marcos", "Mário", "Martim", "Mateus", "Matias", "Mauro", - "Micael", "Miguel", "Moisés", "Norberto", "Nuno", "Paulo", "Pedro", "Rafael", "Raul", - "Renato", "Ricardo", "Roberto", "Rodrigo", "Romeu", "Rúben", "Rui", "Salvador", "Samuel", - "Sandro", "Santiago", "Sebastião", "Sérgio", "Simão", "Tiago", "Tomás", "Tomé", "Valentim", - "Valter", "Vasco", "Vicente", "Vítor", "Xavier"}; - -const std::array portugueseFemaleFirstNames = { - "Adriana", "Alexandra", "Alice", "Amélia", "Ana", "Ariana", "Áurea", "Aurora", "Bárbara", - "Beatriz", "Benedita", "Bruna", "Caetana", "Camila", "Carla", "Carlota", "Carminho", "Carmo", - "Carolina", "Catarina", "Cecília", "Célia", "Clara", "Constança", "Daniela", "Débora", "Diana", - "Eduarda", "Elisa", "Ema", "Emília", "Érica", "Eva", "Fabiana", "Filipa", "Flor", - "Francisca", "Frederica", "Gabriela", "Helena", "Inês", "Irina", "Íris", "Isabel", "Jéssica", - "Joana", "Júlia", "Juliana", "Julieta", "Lara", "Laura", "Leonor", "Letícia", "Lia", - "Lorena", "Luana", "Luena", "Luísa", "Luna", "Madalena", "Mafalda", "Mara", "Márcia", - "Margarida", "Maria", "Mariana", "Marta", "Matilde", "Melissa", "Mia", "Miriam", "Natália", - "Nicole", "Núria", "Ofélia", "Olívia", "Paula", "Pilar", "Rafaela", "Raquel", "Rita", - "Rosa", "Safira", "Sara", "Sílvia", "Sofia", "Soraia", "Tatiana", "Teresa", "Valentina", - "Vânia", "Vera", "Vitória"}; - -const std::array portugueseLastNames = { - "Abreu", "Albuquerque", "Almeida", "Alves", "Amaral", "Amorim", "Andrade", "Anjos", "Antunes", - "Araújo", "Assunção", "Azevedo", "Baptista", "Barbosa", "Barros", "Batista", "Borges", "Braga", - "Branco", "Brito", "Campos", "Cardoso", "Carneiro", "Carvalho", "Castro", "Coelho", "Correia", - "Costa", "Cruz", "Cunha", "Domingues", "Esteves", "Faria", "Fernandes", "Ferreira", "Figueiredo", - "Fonseca", "Freitas", "Garcia", "Gaspar", "Gomes", "Gonçalves", "Guerreiro", "Henriques", "Jesus", - "Leal", "Leite", "Lima", "Lopes", "Loureiro", "Lourenço", "Macedo", "Machado", "Magalhães", - "Maia", "Marques", "Martins", "Matias", "Matos", "Melo", "Mendes", "Miranda", "Monteiro", - "Morais", "Moreira", "Mota", "Moura", "Nascimento", "Neto", "Neves", "Nobre", "Nogueira", - "Nunes", "Oliveira", "Pacheco", "Paiva", "Pereira", "Pinheiro", "Pinho", "Pinto", "Pires", - "Ramos", "Raposo", "Reis", "Ribeiro", "Rocha", "Rodrigues", "Santos", "Saraiva", "Silva", - "Simões", "Soares", "Sousa", "Sá", "Tavares", "Teixeira", "Torres", "Valente", "Vaz", - "Vicente", "Vieira"}; - -const std::array portugueseMalePrefixes{"Sr.", "Dr.", "Prof.", "Eng."}; - -const std::array portugueseFemalePrefixes{"Sra.", "Dra.", "Prof.", "Eng."}; - -const NameFormats portugueseNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 9}}}; - -const PeopleNames portuguesePeopleNames{{portugueseMaleFirstNames, portugueseLastNames, portugueseMalePrefixes, {}}, - {portugueseFemaleFirstNames, portugueseLastNames, portugueseFemalePrefixes, {}}, - portugueseNameFormats}; - -// Romania - -const std::array romanianMaleFirstNames = { - "Ion", "Mihai", "Andrei", "Alexandru", "George", "Cristian", "Florin", "Răzvan", "Lucian", - "Adrian", "Vlad", "Gheorghe", "Constantin", "Daniel", "Bogdan", "Eduard", "Valentin", "Gabriel", - "Dumitru", "Radu", "Ștefan", "Marin", "Marian", "Victor", "Raul", "Valeriu", "Cosmin", - "Marius", "Mihail", "Claudiu", "Ciprian", "Ionel", "Cristinel", "Cătălin", "Tudor", "Cornel", - "Corneliu", "Romeo", "Romeu", "Vasile", "Petre", "Alex", "Liviu", "Ionuț", "Nicolae", - "Nicoale", "Octavian", "Dan", "Emil", "Eugen", "Horia", "Gheorghiță", "Ghiță", "Horea", - "Matei", "Sebastian", "Șerban", "Viorel", "Laurențiu", "Laurentiu", "Alin", "Gavril", "Ovidiu", - "Sorin", "Tiberiu", -}; - -const std::array romanianFemaleFirstNames = { - "Maria", "Ioana", "Elena", "Ana", "Cristina", "Andreea", "Georgiana", "Alexandra", "Laura", - "Diana", "Raluca", "Mihaela", "Larisa", "Monica", "Alina", "Simona", "Gabriela", "Roxana", - "Denisa", "Camelia", "Adriana", "Nicoleta", "Mariana", "Carmen", "Loredana", "Irina", "Liliana", - "Eva", "Elisabeta", "Aurelia", "Cătălina", "Silvia", "Ana-Maria", "Doina", "Florina", "Magdalena", - "Stefania", "Valentina", "Iuliana", "Ruxandra", "Georgeta", "Marilena", "Lidia", "Anda", "Marinela", - "Mirela", "Flavia", "Claudia", "Viorica", "Sorina", "Ramona", "Sorana", "Floriana", "Livia", - "Teodora", "Magda", "Marina", "Dana", "Lavinia", "Anca", "Delia", "Daria", "Oana", -}; - -const std::array romanianLastNames = { - "Popescu", "Ionescu", "Popa", "Dumitru", "Georgescu", "Stan", "Stoica", "Constantin", - "Barbu", "Dobre", "Nistor", "Mihai", "Cristea", "Oprea", "Dinu", "Voicu", - "Munteanu", "Neagu", "Badea", "Diaconu", "Costache", "Diaconescu", "Călinescu", "Luca", - "Nicolae", "Marinescu", "Petrescu", "Bădescu", "Tudor", "Cătănescu", "Florescu", "Gheorghiu", - "Ioniță", "Dobrescu", "Bucur", "Cojocaru", "Preda", "Mihăilescu", "Soare", "Sava", - "Albu", "Moldovan", "Zaharia", "Balan", "Vasilescu", "Andrei", "Stefan", "Șerban", - "Toma", "Bogdan", "Fodor", "Sandu", "Alexandrescu", "Sorin", "Niculae", "Oancea", - "Mocanu", "Radu", "Gavril", "Rusu", "Filip", "Ștefanescu", "Ene", "Păun", - "Moise", "Dima", "Covaci", "Simion", "Rădulescu", "Cristea", "Pascu", "Hanganu", - "Iacob", "Coman", "Lupu", "Pavel", "Ivan", "Vlaicu", "Anghel", "Dumitrache", - "Frățilă", "Dincă", "Brănescu", "Alexandru", "Căruntu", "Iancu", "Pintilie", "Tudose", - "Șchiopu", "Petrică", "Burcea", "Manole", "Mănescu", "Panaite", "Trandafir", "Mărgărit", - "Dorin", "Petrache", "Bădăluță", "Mihu", "Chiriac", -}; - -const std::array romanianSuffixes{"Jr.", "Sr."}; - -const std::array romanianMalePrefixes{"Dl", "Dra"}; - -const std::array romanian_female_refixes{"Dna", "Dra"}; - -const NameFormats romanianNameFormats{{{"{firstName} {lastName}", 49}, - {"{lastName} {firstName}", 7}, - {"{prefix} {firstName} {lastName}", 7}, - {"{firstName} {lastName} {suffix}", 7}, - {"{prefix} {firstName} {lastName} {suffix}", 1}}}; - -const PeopleNames romanianPeopleNames{ - {romanianMaleFirstNames, romanianLastNames, romanianMalePrefixes, romanianSuffixes}, - {romanianFemaleFirstNames, romanianLastNames, romanian_female_refixes, romanianSuffixes}, - romanianNameFormats}; - -// Russia - -const std::array russianMaleFirstNames = { - "Авдей", "Авксентий", "Агапит", "Агафон", "Акакий", "Акиндин", "Александр", "Алексей", - "Альберт", "Анатолий", "Андрей", "Аникий", "Аникита", "Антон", "Антонин", "Анфим", - "Аристарх", "Аркадий", "Арсений", "Артём", "Артемий", "Артур", "Архипп", "Афанасий", - "Богдан", "Борис", "Вавила", "Вадим", "Валентин", "Валерий", "Валерьян", "Варлам", - "Варсонофий", "Варфоломей", "Василий", "Венедикт", "Вениамин", "Викентий", "Виктор", "Виссарион", - "Виталий", "Владимир", "Владислав", "Владлен", "Влас", "Всеволод", "Вячеслав", "Гавриил", - "Галактион", "Геласий", "Геннадий", "Георгий", "Герасим", "Герман", "Германн", "Глеб", - "Гордей", "Григорий", "Данакт", "Даниил", "Демид", "Демьян", "Денис", "Дмитрий", - "Добрыня", "Донат", "Дорофей", "Евгений", "Евграф", "Евдоким", "Евсей", "Евстафий", - "Егор", "Емельян", "Еремей", "Ермолай", "Ерофей", "Ефим", "Ефрем", "Ждан", - "Зиновий", "Иакинф", "Иван", "Игнатий", "Игорь", "Изот", "Илья", "Иннокентий", - "Ираклий", "Ириней", "Исаак", "Исидор", "Иуда", "Иулиан", "Капитон", "Ким", - "Кир", "Кирилл", "Климент", "Кондрат", "Конон", "Константин", "Корнилий", "Кузьма", - "Куприян", "Лаврентий", "Лев", "Леонид", "Леонтий", "Логгин", "Лука", "Лукий", - "Лукьян", "Магистриан", "Макар", "Максим", "Мамонт", "Марк", "Мартын", "Матвей", - "Мелентий", "Мина", "Мирослав", "Митрофан", "Михаил", "Мстислав", "Назар", "Нестор", - "Никандр", "Никанор", "Никита", "Никифор", "Никодим", "Николай", "Никон", "Олег", - "Онисим", "Онуфрий", "Павел", "Паисий", "Панкратий", "Пантелеймон", "Парфений", "Пафнутий", - "Пахомий", "Пётр", "Платон", "Поликарп", "Порфирий", "Потап", "Пров", "Прокопий", - "Протасий", "Прохор", "Разумник", "Родион", "Роман", "Ростислав", "Руслан", "Савва", - "Савелий", "Самуил", "Святополк", "Святослав", "Севастьян", "Семён", "Серафим", "Сергей", - "Сила", "Сильвестр", "Созон", "Софрон", "Спиридон", "Станислав", "Степан", "Тарас", - "Тимофей", "Тимур", "Тит", "Тихон", "Трифон", "Трофим", "Урбан", "Фаддей", - "Фёдор", "Федосей", "Федот", "Феликс", "Феоктист", "Филат", "Филимон", "Филипп", - "Фирс", "Фока", "Фома", "Фотий", "Фрол", "Харитон", "Хрисанф", "Христофор"}; - -const std::array russianFemaleFirstNames = { - "Агафья", "Аглая", "Агния", "Агриппина", "Аза", "Акулина", "Алевтина", "Александра", - "Алина", "Алиса", "Алла", "Анастасия", "Ангелина", "Анжела", "Анжелика", "Анна", - "Антонина", "Анфиса", "Валентина", "Валерия", "Варвара", "Василиса", "Вера", "Вероника", - "Виктория", "Владимира", "Галина", "Глафира", "Гликерия", "Дана", "Дарья", "Евгения", - "Евдокия", "Евлалия", "Евлампия", "Евпраксия", "Евфросиния", "Екатерина", "Елена", "Елизавета", - "Епистима", "Ермиония", "Жанна", "Зинаида", "Злата", "Зоя", "Инга", "Инесса", - "Инна", "Иоанна", "Ираида", "Ирина", "Капитолина", "Карина", "Каролина", "Кира", - "Клавдия", "Ксения", "Лада", "Лариса", "Лидия", "Лилия", "Любовь", "Людмила", - "Маргарита", "Марина", "Мария", "Марфа", "Матрёна", "Милана", "Милица", "Мирослава", - "Надежда", "Наталья", "Нина", "Нонна", "Оксана", "Октябрина", "Олимпиада", "Ольга", - "Павлина", "Пелагея", "Пинна", "Полина", "Прасковья", "Рада", "Раиса", "Регина", - "Римма", "Рогнеда", "Светлана", "Серафима", "Снежана", "София", "Сусанна", "Таисия", - "Тамара", "Татьяна", "Улита", "Ульяна", "Урсула", "Фаина", "Феврония", "Фёкла", - "Феодора", "Целестина", "Элеонора", "Юлия", "Яна", "Ярослава"}; - -const std::array russianMaleLastNames = { - "Авдеев", "Агапов", "Агафонов", "Агеев", "Акимов", "Аксёнов", "Александров", - "Алексеев", "Алёхин", "Алешин", "Алёшин", "Ананьев", "Андреев", "Андрианов", - "Аникин", "Анисимов", "Анохин", "Антипов", "Антонов", "Артамонов", "Артёмов", - "Архипов", "Астафьев", "Астахов", "Афанасьев", "Бабушкин", "Баженов", "Балашов", - "Баранов", "Барсуков", "Басов", "Безруков", "Беликов", "Белкин", "Белов", - "Белоусов", "Беляев", "Беляков", "Березин", "Берия", "Беспалов", "Бессонов", - "Бирюков", "Блинов", "Блохин", "Бобров", "Богданов", "Богомолов", "Болдырев", - "Большаков", "Бондарев", "Борисов", "Бородин", "Бочаров", "Булатов", "Булгаков", - "Буров", "Быков", "Бычков", "Вавилов", "Вагин", "Васильев", "Вдовин", - "Верещагин", "Вешняков", "Виноградов", "Винокуров", "Вишневский", "Владимиров", "Власов", - "Волков", "Волошин", "Воробьёв", "Воронин", "Воронков", "Воронов", "Воронцов", - "Второв", "Высоцкий", "Гаврилов", "Гайдуков", "Гакабов", "Галкин", "Герасимов", - "Гладков", "Глебов", "Глухов", "Глушков", "Гноев", "Голиков", "Голованов", - "Головин", "Голубев", "Гончаров", "Горбань", "Горбачав", "Горбачёв", "Горбунов", - "Гордеев", "Горелов", "Горлов", "Горохов", "Горшков", "Горюнов", "Горячев", - "Грачёв", "Греков", "Грибков", "Грибов", "Григорьев", "Гришин", "Громов", - "Губанов", "Гуляев", "Гуров", "Гусев", "Гущин", "Давыдов", "Данилов", - "Дашков", "Дегтярев", "Дегтярёв", "Дементьев", "Демидов", "Дёмин", "Демьянов", - "Денисов", "Дмитриев", "Добрынин", "Долгов", "Дорофеев", "Дорохов", "Дроздов", - "Дружинин", "Дубинин", "Дубов", "Дубровин", "Дьяков", "Дьяконов", "Евдокимов", - "Евсеев", "Егоров", "Ежов", "Елизаров", "Елисеев", "Ельцин", "Емельянов", - "Еремеев", "Ерёмин", "Ермаков", "Ермилов", "Ермолаев", "Ермолов", "Еромлаев", - "Ерофеев", "Ерохин", "Ершов", "Ефимов", "Ефремов", "Жаров", "Жданов", - "Жилин", "Жириновский", "Жуков", "Журавлёв", "Завьялов", "Заец", "Зайцев", - "Захаров", "Зверев", "Звягинцев", "Зеленин", "Зимин", "Зиновьев", "Злобин", - "Золотарев", "Золотарёв", "Золотов", "Зорин", "Зотов", "Зубков", "Зубов", - "Зуев", "Зыков", "Зюганов", "Иванов", "Ивашов", "Игнатов", "Игнатьев", - "Измайлов", "Ильин", "Ильинский", "Ильюхин", "Исаев", "Исаков", "Казаков", - "Казанцев", "Калачев", "Калачёв", "Калашников", "Калинин", "Калмыков", "Калугин", - "Капустин", "Карасев", "Карасёв", "Карпов", "Карташов", "Касаткин", "Касьянов", - "Киреев", "Кириллов", "Киселёв", "Кислов", "Климов", "Клюев", "Князев", - "Ковалёв", "Коваленко", "Коваль", "Кожевников", "Козин", "Козлов", "Козловский", - "Козырев", "Колесников", "Колесов", "Колосов", "Колпаков", "Кольцов", "Комаров", - "Комиссаров", "Кондратов", "Кондратьев", "Кондрашов", "Коновалов", "Кононов", "Константинов", - "Копылов", "Корнев", "Корнеев", "Корнилов", "Коровин", "Королёв", "Корольков", - "Коротков", "Корчагин", "Коршунов", "Косарев", "Костин", "Котов", "Кочергин", - "Кочетков", "Кочетов", "Кошелев", "Кравцов", "Краснов", "Красоткин", "Кролик", - "Кроликов", "Круглов", "Крылов", "Крюков", "Крючков", "Кудрявцев", "Кудряшов", - "Кузин", "Кузнецов", "Кузьмин", "Кукушкин", "Кулагин", "Кулаков", "Кулешов", - "Куликов", "Куприянов", "Курочкин", "Лаврентьев", "Лавров", "Лазарев", "Лапин", - "Лаптев", "Лапшин", "Ларин", "Ларионов", "Латышев", "Лебедев", "Левин", - "Леонов", "Леонтьев", "Литвинов", "Лобанов", "Логинов", "Лопатин", "Лосев", - "Лужков", "Лукин", "Лукьянов", "Лыков", "Львов", "Любимов", "Майоров", - "Макаров", "Макеев", "Максимов", "Малахов", "Малинин", "Малофеев", "Малышев", - "Мальцев", "Маркелов", "Маркин", "Марков", "Мартынов", "Масленников", "Маслов", - "Матвеев", "Матвиенко", "Медведев", "Медейко", "Мельников", "Меньшов", "Меркулов", - "Мешков", "Мещеряков", "Минаев", "Минин", "Миронов", "Митрофанов", "Михайлов", - "Михеев", "Мишустин", "Моисеев", "Молчанов", "Моргунов", "Морозов", "Москвин", - "Муравьёв", "Муратов", "Муромцев", "Мухин", "Мясников", "Навальный", "Назаров", - "Наумов", "Некрасов", "Нестеров", "Нефёдов", "Нечаев", "Никитин", "Никифоров", - "Николаев", "Никольский", "Никонов", "Никулин", "Новиков", "Новодворский", "Носков", - "Носов", "Овсянников", "Овчинников", "Одинцов", "Озеров", "Окулов", "Олейников", - "Орехов", "Орлов", "Осипов", "Островский", "Павлов", "Павловский", "Панин", - "Панков", "Панкратов", "Панов", "Пантелеев", "Панфилов", "Парамонов", "Парфёнов", - "Пастухов", "Пахомов", "Пекарев", "Петров", "Петровский", "Петухов", "Пименов", - "Пирогов", "Платонов", "Плотников", "Поздняков", "Покровский", "Поликарпов", "Поляков", - "Пономарев", "Пономарёв", "Попов", "Порошин", "Порывай", "Постников", "Потапов", - "Похлёбкин", "Прокофьев", "Прохоров", "Прошин", "Пугачёв", "Путин", "Раков", - "Резицкий", "Рогов", "Родин", "Родионов", "Рожков", "Розанов", "Романов", - "Рублёв", "Рубцов", "Рудаков", "Руднев", "Румянцев", "Русаков", "Русанов", - "Рыбаков", "Рыбкин", "Рыжиков", "Рыжков", "Рыжов", "Рябинин", "Рябов", - "Савельев", "Савин", "Савицкий", "Сазонов", "Сальников", "Самойлов", "Самсонов", - "Сафонов", "Сахаров", "Светличный", "Светлов", "Свешников", "Свиридов", "Севастьянов", - "Седов", "Селезнёв", "Селиванов", "Семёнов", "Сёмин", "Сергеев", "Серебряков", - "Серов", "Сидоров", "Сизов", "Симонов", "Синицин", "Синицын", "Ситников", - "Скворцов", "Смирнов", "Снегирёв", "Соболев", "Собянин", "Соколов", "Соловьёв", - "Сомов", "Сорокин", "Сотников", "Софронов", "Спиридонов", "Стариков", "Старостин", - "Степанов", "Столяров", "Стрелков", "Стрельников", "Строев", "Субботин", "Суворов", - "Судаков", "Сурганов", "Сурков", "Суслов", "Суханов", "Сухарев", "Сухов", - "Сычёв", "Тарасов", "Терентьев", "Терехов", "Тимофеев", "Титов", "Тихомиров", - "Тихонов", "Ткачёв", "Токарев", "Толкачёв", "Торшин", "Третьяков", "Трифонов", - "Троицкий", "Трофим", "Трофимов", "Троцкий", "Трошин", "Туманов", "Уваров", - "Ульянов", "Усов", "Успенский", "Устинов", "Уткин", "Ушаков", "Фадеев", - "Фёдоров", "Федосеев", "Федосов", "Федотов", "Фетисов", "Филатов", "Филимонов", - "Филиппов", "Фирсов", "Фокин", "Фомин", "Фомичев", "Фомичёв", "Фролов", - "Харитонов", "Хомяков", "Хохлов", "Хромов", "Хрущёв", "Худяков", "Царёв", - "Цветков", "Чеботарёв", "Черепанов", "Черкасов", "Чернов", "Черной", "Чёрный", - "Черных", "Чернышев", "Чернышёв", "Черняев", "Чесноков", "Чижов", "Чистяков", - "Чумаков", "Шаповалов", "Шапошников", "Шаров", "Швецов", "Шевелёв", "Шевцов", - "Шестаков", "Шилов", "Широков", "Ширяев", "Шишкин", "Шмелёв", "Шубин", - "Шувалов", "Шульгин", "Щеглов", "Щербаков", "Щукин", "Юдин", "Яковлев", - "Яшин"}; - -const std::array russianFemaleLastNames = { - "Авдеева", "Агапова", "Агафонова", "Агеева", "Акимова", "Аксёнова", "Александрова", - "Алексеева", "Алёхина", "Алешина", "Алёшина", "Ананьева", "Андреева", "Андрианова", - "Аникина", "Анисимова", "Анохина", "Антипова", "Антонова", "Артамонова", "Артёмова", - "Архипова", "Астафьева", "Астахова", "Афанасьева", "Бабушкина", "Баженова", "Балашова", - "Баранова", "Барсукова", "Басова", "Безрукова", "Беликова", "Белкина", "Белова", - "Белоусова", "Беляева", "Белякова", "Березина", "Берия", "Беспалова", "Бессонова", - "Бирюкова", "Блинова", "Блохина", "Боброва", "Богданова", "Богомолова", "Болдырева", - "Большакова", "Бондарева", "Борисова", "Бородина", "Бочарова", "Булатова", "Булгакова", - "Бурова", "Быкова", "Бычкова", "Вавилова", "Вагина", "Васильева", "Вдовина", - "Верещагина", "Вешнякова", "Виноградова", "Винокурова", "Вишневская", "Владимирова", "Власова", - "Волкова", "Волошина", "Воробьёва", "Воронина", "Воронкова", "Воронова", "Воронцова", - "Второва", "Высоцкая", "Гаврилова", "Гайдукова", "Гакабова", "Галкина", "Герасимова", - "Гладкова", "Глебова", "Глухова", "Глушкова", "Гноева", "Голикова", "Голованова", - "Головина", "Голубева", "Гончарова", "Горбань", "Горбачёва", "Горбунова", "Гордеева", - "Горелова", "Горлова", "Горохова", "Горшкова", "Горюнова", "Горячева", "Грачёва", - "Грекова", "Грибкова", "Грибова", "Григорьева", "Гришина", "Громова", "Губанова", - "Гуляева", "Гурова", "Гусева", "Гущина", "Давыдова", "Дадаева", "Дадина", - "Данилова", "Дарвина", "Дашкова", "Дегтярева", "Дегтярёва", "Дедова", "Дементьева", - "Демидова", "Дёмина", "Демьянова", "Денисова", "Дмитриева", "Добрынина", "Долгова", - "Дорофеева", "Дорохова", "Дроздова", "Дружинина", "Дубинина", "Дубова", "Дубровина", - "Дьякова", "Дьяконова", "Евдокимова", "Евсеева", "Егорова", "Ежова", "Елизарова", - "Елисеева", "Ельцина", "Емельянова", "Еремеева", "Ерёмина", "Ермакова", "Ермилова", - "Ермолаева", "Ермолова", "Еромлаева", "Ерофеева", "Ершова", "Ефимова", "Ефремова", - "Жарова", "Жданова", "Жилина", "Жириновская", "Жукова", "Журавлёва", "Завьялова", - "Заец", "Зайцева", "Захарова", "Зверева", "Звягинцева", "Зеленина", "Зимина", - "Зиновьева", "Злобина", "Золотарева", "Золотарёва", "Золотова", "Зорина", "Зотова", - "Зубкова", "Зубова", "Зуева", "Зыкова", "Зюганова", "Иванова", "Ивашова", - "Игнатова", "Игнатьева", "Измайлова", "Ильина", "Ильинская", "Ильюхина", "Исаева", - "Исакова", "Казакова", "Казанцева", "Калачева", "Калачёва", "Калашникова", "Калинина", - "Калмыкова", "Калугина", "Капустина", "Карасева", "Карасёва", "Карпова", "Карташова", - "Касаткина", "Касьянова", "Киреева", "Кириллова", "Киселёва", "Кислова", "Климова", - "Клюева", "Князева", "Ковалёва", "Коваленко", "Коваль", "Кожевникова", "Козина", - "Козлова", "Козловская", "Козырева", "Колесникова", "Колесова", "Колосова", "Колпакова", - "Кольцова", "Комарова", "Комиссарова", "Кондратова", "Кондратьева", "Кондрашова", "Коновалова", - "Кононова", "Константинова", "Копылова", "Корнева", "Корнеева", "Корнилова", "Коровина", - "Королёва", "Королькова", "Короткова", "Корчагина", "Коршунова", "Косарева", "Костина", - "Котова", "Кочергина", "Кочеткова", "Кочетова", "Кошелева", "Кравцова", "Краснова", - "Красоткина", "Круглова", "Крылова", "Крюкова", "Крючкова", "Кудрявцева", "Кудряшова", - "Кузина", "Кузнецова", "Кузьмина", "Кукушкина", "Кулагина", "Кулакова", "Кулешова", - "Куликова", "Куприянова", "Курочкина", "Лаврентьева", "Лаврова", "Лазарева", "Лапина", - "Лаптева", "Лапшина", "Ларина", "Ларионова", "Латышева", "Лебедева", "Левина", - "Леонова", "Леонтьева", "Литвинова", "Лобанова", "Логинова", "Лопатина", "Лосева", - "Лужкова", "Лукина", "Лукьянова", "Лыкова", "Львова", "Любимова", "Майорова", - "Макарова", "Макеева", "Максимова", "Малахова", "Малинина", "Малофеева", "Малышева", - "Мальцева", "Маркелова", "Маркина", "Маркова", "Мартынова", "Масленникова", "Маслова", - "Матвеева", "Матвиенко", "Медведева", "Медейко", "Мельникова", "Меньшова", "Меркулова", - "Мешкова", "Мещерякова", "Минаева", "Минина", "Миронова", "Митрофанова", "Михайлова", - "Михеева", "Мишустина", "Моисеева", "Молчанова", "Моргунова", "Морозова", "Москвина", - "Муравьёва", "Муратова", "Муромцева", "Мухина", "Мясникова", "Навальная", "Назарова", - "Наумова", "Некрасова", "Нестерова", "Нефёдова", "Нечаева", "Никитина", "Никифорова", - "Николаева", "Никольская", "Никонова", "Никулина", "Новикова", "Новодворская", "Носкова", - "Носова", "Овсянникова", "Овчинникова", "Одинцова", "Озерова", "Окулова", "Олейникова", - "Орехова", "Орлова", "Осипова", "Островская", "Павлова", "Павловская", "Панина", - "Панкова", "Панкратова", "Панова", "Пантелеева", "Панфилова", "Парамонова", "Парфёнова", - "Пастухова", "Пахомова", "Пекарева", "Петрова", "Петровская", "Петухова", "Пименова", - "Пирогова", "Платонова", "Плотникова", "Позднякова", "Покровская", "Поликарпова", "Полякова", - "Пономарёва", "Попова", "Порошина", "Порывай", "Постникова", "Потапова", "Похлёбкина", - "Прокофьева", "Прохорова", "Прошина", "Пугачёва", "Путина", "Ракова", "Рогова", - "Родина", "Родионова", "Рожкова", "Розанова", "Романова", "Рублёва", "Рубцова", - "Рудакова", "Руднева", "Румянцева", "Русакова", "Русанова", "Рыбакова", "Рыжикова", - "Рыжкова", "Рыжова", "Рябинина", "Рябова", "Савельева", "Савина", "Савицкая", - "Сазонова", "Сальникова", "Самойлова", "Самсонова", "Сафонова", "Сахарова", "Светличная", - "Светлова", "Свешникова", "Свиридова", "Севастьянова", "Седова", "Селезнёва", "Селиванова", - "Семёнова", "Сёмина", "Сергеева", "Серебрякова", "Серова", "Сидорова", "Сизова", - "Симонова", "Синицына", "Ситникова", "Скворцова", "Скрябина", "Смирнова", "Снегирёва", - "Соболева", "Собянина", "Соколова", "Соловьёва", "Сомова", "Сорокина", "Сотникова", - "Софронова", "Спиридонова", "Старикова", "Старостина", "Степанова", "Столярова", "Стрелкова", - "Стрельникова", "Строева", "Субботина", "Суворова", "Судакова", "Суркова", "Суслова", - "Суханова", "Сухарева", "Сухова", "Сычёва", "Тарасова", "Терентьева", "Терехова", - "Тимофеева", "Титова", "Тихомирова", "Тихонова", "Ткачёва", "Токарева", "Толкачёва", - "Торшина", "Третьякова", "Трифонова", "Троицкая", "Трофимова", "Троцкая", "Трошина", - "Туманова", "Уварова", "Ульянова", "Усова", "Успенская", "Устинова", "Уткина", - "Ушакова", "Фадеева", "Фёдорова", "Федосеева", "Федосова", "Федотова", "Фетисова", - "Филатова", "Филимонова", "Филиппова", "Фирсова", "Фокина", "Фомина", "Фомичева", - "Фомичёва", "Фролова", "Харитонова", "Хомякова", "Хромова", "Хрущёва", "Худякова", - "Царёва", "Цветкова", "Чеботарёва", "Черепанова", "Черкасова", "Черная", "Чёрная", - "Чернова", "Черных", "Чернышева", "Чернышёва", "Черняева", "Чеснокова", "Чижова", - "Чистякова", "Чумакова", "Шаповалова", "Шапошникова", "Шарова", "Швецова", "Шевелёва", - "Шевцова", "Шестакова", "Шилова", "Широкова", "Ширяева", "Шишкина", "Шмелёва", - "Шубина", "Шувалова", "Шульгина", "Щеглова", "Щербакова", "Щукина", "Юдина", - "Яковлева", "Яшина"}; - -const NameFormats russianNameFormats{{{"{firstName} {lastName}", 1}, {"{lastName} {firstName}", 1}}}; - -const PeopleNames russianPeopleNames{{russianMaleFirstNames, russianMaleLastNames, {}, {}}, - {russianFemaleFirstNames, russianFemaleLastNames, {}, {}}, - russianNameFormats}; - -// Serbia - -const std::array serbianMaleFirstNames = { - "Adam", "Aleksa", "Aleksandar", "Aleksej", "Aljoša", "Anastasije", "Andrej", "Andrija", - "Anej", "Arsenije", "Aćim", "Berislav", "Blagoje", "Boban", "Bogdan", "Bogoljub", - "Bojan", "Boris", "Borivoje", "Borjan", "Boško", "Boža", "Božidar", "Branimir", - "Branislav", "Branko", "Budimir", "Cvijan", "Cvijetin", "Dabiživ", "Damir", "Damjan", - "Danilo", "Danko", "Darko", "David", "Davor", "Dejan", "Desimir", "Dimitrije", - "Dragan", "Dragiša", "Dragoje", "Dragojlo", "Dragoljub", "Dragoslav", "Dragutin", "Draža", - "Dražen", "Dren", "Dušan", "Duško", "Filip", "Filotije", "Gavrilo", "Georgije", - "Gerasim", "Gligorije", "Gojko", "Golub", "Goran", "Gordan", "Grgur", "Grigorije", - "Hvalimir", "Ignjat", "Igor", "Ilarion", "Ilija", "Ivan", "Ivica", "Ivo", - "Jadranko", "Jakov", "Jezdimir", "Jovan", "Jugoslav", "Kalinik", "Kirilo", "Konstantin", - "Kosta", "Kristijan", "Krsto", "Kuzman", "Lazar", "Ljubiša", "Ljubomir", "Luka", - "Mališa", "Marinko", "Marjan", "Marko", "Mateja", "Mihailo", "Mihajlo", "Mija", - "Mijat", "Mika", "Miladin", "Milan", "Milanko", "Mile", "Mileta", "Milisav", - "Milić", "Miljan", "Milojica", "Milomir", "Milorad", "Miloš", "Milutin", "Miodrag", - "Miomir", "Mirko", "Miroslav", "Mitar", "Miša", "Miško", "Mladen", "Momir", - "Nebojša", "Nedeljko", "Nemanja", "Nenad", "Neven", "Nikola", "Nikša", "Novak", - "Obrad", "Obren", "Ognjen", "Oliver", "Ostoja", "Paja", "Pavle", "Pera", - "Perica", "Pero", "Petar", "Petko", "Predrag", "Prvoslav", "Radenko", "Radivoje", - "Radiša", "Radmilo", "Radomir", "Radosav", "Radoslav", "Radovan", "Radoš", "Radul", - "Rajko", "Ranko", "Ratimir", "Raško", "Relja", "Rodoljub", "Saša", "Simo", - "Siniša", "Slavoljub", "Slobodan", "Srboljub", "Sredoje", "Stanislav", "Stanko", "Stefan", - "Stevan", "Stojan", "Strahinja", "Svetislav", "Svetolik", "Svetomir", "Tadija", "Tihomir", - "Tomislav", "Vanja", "Vasil", "Vasko", "Velibor", "Velimir", "Vidak", "Vladimir", - "Vlastimir", "Vojin", "Vujadin", "Vuk", "Vukan", "Vukašin", "Vukota", "Zafir", - "Zarije", "Zoran", "Zvonko", "Časlav", "Čedomir", "Đorđe", "Đura", "Đurađ", -}; - -const std::array serbianFemaleFirstNames = { - "Adrijana", "Aleksandra", "Ana", "Anabela", "Anastasija", "Andrea", "Andrijana", "Aneta", - "Anica", "Anita", "Anja", "Anka", "Anđela", "Ava", "Biljana", "Bisenija", - "Blagica", "Bobana", "Bogdana", "Bojana", "Bora", "Borka", "Bosiljka", "Božena", - "Božica", "Branka", "Brankica", "Ceca", "Dajana", "Daliborka", "Damjanka", "Dana", - "Danijela", "Danila", "Danka", "Darija", "Darinka", "Dejana", "Desanka", "Dijana", - "Divna", "Dobrila", "Dorotea", "Draga", "Dragana", "Draginja", "Drina", "Dubravka", - "Dunja", "Dušanka", "Dušica", "Duška", "Elena", "Eleonora", "Ema", "Emilija", - "Evdokija", "Gabrijela", "Gala", "Galina", "Gorana", "Gordana", "Hana", "Ilinka", - "Ina", "Irina", "Ivanka", "Jadranka", "Jana", "Jasmina", "Jasna", "Jelena", - "Jelica", "Jelisaveta", "Jelka", "Jevrosima", "Jovana", "Jovanka", "Julia", "Julijana", - "Katarina", "Klara", "Kristina", "Ksenija", "Lada", "Lara", "Leposava", "Lidija", - "Ljiljana", "Ljuba", "Ljubica", "Magdalena", "Maja", "Malina", "Marica", "Marina", - "Markika", "Marta", "Maša", "Mašinka", "Melenija", "Mia", "Milana", "Milanka", - "Milena", "Milica", "Miljana", "Mina", "Mira", "Mirela", "Mirjana", "Mirka", - "Mirna", "Mitra", "Mlađana", "Momira", "Nada", "Nadežda", "Nastja", "Natalija", - "Nataša", "Nađa", "Neda", "Nela", "Neva", "Nevena", "Nikoleta", "Nikolina", - "Nina", "Njegomirka", "Ognjana", "Olga", "Olgica", "Olivera", "Peruna", "Petra", - "Petrija", "Radina", "Radmila", "Radojka", "Rakita", "Renja", "Ristana", "Roksana", - "Romana", "Rumena", "Ruža", "Sanda", "Sandra", "Sanja", "Sara", "Selena", - "Senka", "Silvija", "Simonida", "Slava", "Slavica", "Slavka", "Slađana", "Slobodanka", - "Smiljana", "Snežana", "Sofija", "Sonja", "Srna", "Stanislava", "Staša", "Stefana", - "Stojanka", "Sunčica", "Suzana", "Svetlana", "Tamara", "Tanja", "Tara", "Tatjana", - "Tea", "Teodora", "Teona", "Una", "Vasilisa", "Vera", "Verica", "Veselinka", - "Vesna", "Vida", "Višnja", "Vladana", "Vlatka", "Vojislava", "Vujica", "Vukica", - "Zavida", "Zora", "Zorana", "Zorka", "Zvezdana", "Čarna", "Đurica", "Željka", -}; - -const std::array serbianLastNames = { - "Abadžija", "Abadžić", "Abazović", "Adamović", "Adašević", "Aguridić", "Ajvazović", - "Akifović", "Aksentijević", "Aksentić", "Aksin", "Aksić", "Aksović", "Akšam", - "Aladić", "Aladžić", "Alaković", "Alanović", "Alargić", "Alavanja", "Alavantić", - "Aličić", "Aljančić", "Alković", "Almašac", "Alparac", "Aluga", "Andesilić", - "Andić", "Andonov", "Andonović", "Andrejević", "Andrejin", "Andrejić", "Antonić", - "Antonović", "Antović", "Antunović", "Antušević", "Anučin", "Anušić", "Anđelić", - "Anđelković", "Aćimović", "Aćin", "Aćić", "Ačanski", "Ačić", "Ađanski", - "Ašanin", "Ašađanin", "Aškraba", "Aškrabić", "Ašonja", "Ašćerić", "Babac", - "Babalj", "Babarogić", "Babin", "Babić", "Babović", "Bajčetić", "Bajčić", - "Bajšanski", "Bakal", "Balabanović", "Balašević", "Baletić", "Balević", "Balešević", - "Banić", "Banićević", "Banjac", "Banjak", "Banjalić", "Barišić", "Barošević", - "Baroševčić", "Basara", "Basarić", "Bastać", "Batnožić", "Bekavac", "Bekjarev", - "Beko", "Bekonja", "Bekovac", "Bekvalac", "Bekčić", "Belivuk", "Belić", - "Belojević", "Belopoljac", "Belović", "Belovuković", "Beloševac", "Belošević", "Belčević", - "Benaković", "Birtašević", "Birčaković", "Birčanin", "Bivolarević", "Bizetić", "Bizumić", - "Bićanin", "Bjeletić", "Bjelica", "Bjelinić", "Bjelivuk", "Bjelić", "Bjeličić", - "Bjelja", "Bjelkić", "Bjelobaba", "Bjelobrk", "Bjeloglav", "Bjelogrlić", "Bjelojević", - "Blaćanin", "Blašković", "Blažanović", "Bocić", "Bocokić", "Bodiroga", "Bogisavljević", - "Bogoljubović", "Bogosavac", "Bolta", "Boltić", "Bolunović", "Bomeštar", "Bonderović", - "Bondžić", "Borilović", "Borinčević", "Borisavljević", "Borkovački", "Borković", "Borčanin", - "Bosanac", "Bosančić", "Bosiljkić", "Bosiljković", "Bosiljčić", "Bozalo", "Bozdok", - "Bozdokov", "Božanić", "Božanović", "Božićković", "Božičić", "Božičković", "Bratojević", - "Bratonožić", "Bratović", "Brezo", "Brezovac", "Brešković", "Brežančić", "Brkanović", - "Brkić", "Brđanin", "Brđović", "Buač", "Buača", "Bubalo", "Bucalo", - "Bucalović", "Buljin", "Buljubašić", "Buljugić", "Bulovan", "Bunuševac", "Burani", - "Burazer", "Burazor", "Burević", "Burgić", "Butarević", "Cikota", "Cilikan", - "Cimbaljević", "Cimeša", "Cvetković", "Cvetljanin", "Cvetojević", "Cvetuljski", "Cvijan", - "Cvijanović", "Cvijančević", "Cvijetin", "Cvijetinović", "Cvijetić", "Cvijić", "Cvjetičanin", - "Dabić", "Dabižljević", "Dabović", "Dafunić", -}; - -const NameFormats serbianNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames serbianPeopleNames{{serbianMaleFirstNames, serbianLastNames, {}, {}}, - {serbianFemaleFirstNames, serbianLastNames, {}, {}}, - serbianNameFormats}; - -// Slovakia - -const std::array slovakMaleFirstNames = { - "Drahoslav", "Severín", "Alexej", "Ernest", "Rastislav", "Radovan", "Dobroslav", "Dalibor", - "Vincent", "Miloš", "Timotej", "Gejza", "Bohuš", "Alfonz", "Gašpar", "Emil", - "Erik", "Blažej", "Zdenko", "Dezider", "Arpád", "Valentín", "Pravoslav", "Jaromír", - "Roman", "Matej", "Frederik", "Viktor", "Alexander", "Radomír", "Albín", "Bohumil", - "Kazimír", "Fridrich", "Radoslav", "Tomáš", "Alan", "Branislav", "Bruno", "Gregor", - "Vlastimil", "Boleslav", "Eduard", "Jozef", "Víťazoslav", "Blahoslav", "Beňadik", "Adrián", - "Gabriel", "Marián", "Emanuel", "Miroslav", "Benjamín", "Hugo", "Richard", "Izidor", - "Zoltán", "Albert", "Igor", "Július", "Aleš", "Fedor", "Rudolf", "Valér", - "Marcel", "Ervín", "Slavomír", "Vojtech", "Juraj", "Marek", "Jaroslav", "Žigmund", - "Florián", "Roland", "Pankrác", "Servác", "Bonifác", "Svetozár", "Bernard", "Júlia", - "Urban", "Dušan", "Viliam", "Ferdinand", "Norbert", "Róbert", "Medard", "Zlatko", - "Anton", "Vasil", "Vít", "Adolf", "Vratislav", "Alfréd", "Alojz", "Ján", - "Tadeáš", "Ladislav", "Peter", "Pavol", "Miloslav", "Prokop", "Cyril", "Metod", - "Patrik", "Oliver", "Ivan", "Kamil", "Henrich", "Drahomír", "Bohuslav", "Iľja", - "Daniel", "Vladimír", "Jakub", "Krištof", "Ignác", "Gustáv", "Jerguš", "Dominik", - "Oskar", "Vavrinec", "Ľubomír", "Mojmír", "Leonard", "Tichomír", "Filip", "Bartolomej", - "Ľudovít", "Samuel", "Augustín", "Belo", "Oleg", "Bystrík", "Ctibor", "Ľudomil", - "Konštantín", "Ľuboslav", "Matúš", "Móric", "Ľuboš", "Ľubor", "Vladislav", "Cyprián", - "Václav", "Michal", "Jarolím", "Arnold", "Levoslav", "František", "Dionýz", "Maximilián", - "Koloman", "Boris", "Lukáš", "Kristián", "Vendelín", "Sergej", "Aurel", "Demeter", - "Denis", "Hubert", "Karol", "Imrich", "René", "Bohumír", "Teodor", "Tibor", - "Maroš", "Martin", "Svätopluk", "Stanislav", "Leopold", "Eugen", "Félix", "Klement", - "Kornel", "Milan", "Vratko", "Ondrej", "Andrej", "Edmund", "Oldrich", "Oto", - "Mikuláš", "Ambróz", "Radúz", "Bohdan", "Adam", "Štefan", "Dávid", "Silvester"}; - -const std::array slovakFemaleFirstNames = { - "Alexandra", "Karina", "Daniela", "Andrea", "Antónia", "Bohuslava", "Dáša", "Malvína", - "Kristína", "Nataša", "Bohdana", "Drahomíra", "Sára", "Zora", "Tamara", "Ema", - "Tatiana", "Erika", "Veronika", "Agáta", "Dorota", "Vanda", "Zoja", "Gabriela", - "Perla", "Ida", "Liana", "Miloslava", "Vlasta", "Lívia", "Eleonóra", "Etela", - "Romana", "Zlatica", "Anežka", "Bohumila", "Františka", "Angela", "Matilda", "Svetlana", - "Ľubica", "Alena", "Soňa", "Vieroslava", "Zita", "Miroslava", "Irena", "Milena", - "Estera", "Justína", "Dana", "Danica", "Jela", "Jaroslava", "Jarmila", "Lea", - "Anastázia", "Galina", "Lesana", "Hermína", "Monika", "Ingrida", "Viktória", "Blažena", - "Žofia", "Sofia", "Gizela", "Viola", "Gertrúda", "Zina", "Júlia", "Juliana", - "Želmíra", "Ela", "Vanesa", "Iveta", "Vilma", "Petronela", "Žaneta", "Xénia", - "Karolína", "Lenka", "Laura", "Stanislava", "Margaréta", "Dobroslava", "Blanka", "Valéria", - "Paulína", "Sidónia", "Adriána", "Beáta", "Petra", "Melánia", "Diana", "Berta", - "Patrícia", "Lujza", "Amália", "Milota", "Nina", "Margita", "Kamila", "Dušana", - "Magdaléna", "Oľga", "Anna", "Hana", "Božena", "Marta", "Libuša", "Božidara", - "Dominika", "Hortenzia", "Jozefína", "Štefánia", "Ľubomíra", "Zuzana", "Darina", "Marcela", - "Milica", "Elena", "Helena", "Lýdia", "Anabela", "Jana", "Silvia", "Nikola", - "Ružena", "Nora", "Drahoslava", "Linda", "Melinda", "Rebeka", "Rozália", "Regína", - "Alica", "Marianna", "Miriama", "Martina", "Mária", "Jolana", "Ľudomila", "Ľudmila", - "Olympia", "Eugénia", "Ľuboslava", "Zdenka", "Edita", "Michaela", "Stela", "Viera", - "Natália", "Eliška", "Brigita", "Valentína", "Terézia", "Vladimíra", "Hedviga", "Uršuľa", - "Alojza", "Kvetoslava", "Sabína", "Dobromila", "Klára", "Simona", "Aurélia", "Denisa", - "Renáta", "Irma", "Agnesa", "Klaudia", "Alžbeta", "Elvíra", "Cecília", "Emília", - "Katarína", "Henrieta", "Bibiána", "Barbora", "Marína", "Izabela", "Hilda", "Otília", - "Lucia", "Branislava", "Bronislava", "Ivica", "Albína", "Kornélia", "Sláva", "Slávka", - "Judita", "Dagmara", "Adela", "Nadežda", "Eva", "Filoména", "Ivana", "Milada"}; - -const std::array slovakMaleLastNames = { - "Antal", "Babka", "Bahna", "Bahno", "Baláž", "Baran", "Baranka", "Bartovič", - "Bartoš", "Bača", "Bernolák", "Beňo", "Bicek", "Bielik", "Blaho", "Bondra", - "Bosák", "Boška", "Brezina", "Bukovský", "Chalupka", "Chudík", "Cibula", "Cibulka", - "Cibuľa", "Cyprich", "Cíger", "Danko", "Daňko", "Daňo", "Debnár", "Dej", - "Dekýš", "Doležal", "Dočolomanský", "Droppa", "Dubovský", "Dudek", "Dula", "Dulla", - "Dusík", "Dvonč", "Dzurjanin", "Dávid", "Fabian", "Fabián", "Fajnor", "Farkašovský", - "Fico", "Filc", "Filip", "Finka", "Ftorek", "Gašpar", "Gašparovič", "Gocník", - "Gregor", "Greguš", "Grznár", "Hablák", "Habšuda", "Halda", "Haluška", "Halák", - "Hanko", "Hanzal", "Haščák", "Heretik", "Hečko", "Hlaváček", "Hlinka", "Holub", - "Holuby", "Hossa", "Hoza", "Hraško", "Hric", "Hrmo", "Hrušovský", "Huba", - "Ihnačák", "Janeček", "Janoška", "Jantošovič", "Janík", "Janček", "Jedľovský", "Jendek", - "Jonata", "Jurina", "Jurkovič", "Jurík", "Jánošík", "Kafenda", "Kaliský", "Karul", - "Keníž", "Klapka", "Kmeť", "Kolesár", "Kollár", "Kolnik", "Kolník", "Kolár", - "Korec", "Kostka", "Kostrec", "Kováč", "Kováčik", "Koza", "Kočiš", "Krajíček", - "Krajči", "Krajčo", "Krajčovič", "Krajčír", "Králik", "Krúpa", "Kubík", "Kyseľ", - "Kállay", "Labuda", "Lepšík", "Lipták", "Lisický", "Lubina", "Lukáč", "Lupták", - "Líška", "Madej", "Majeský", "Malachovský", "Malíšek", "Mamojka", "Marcinko", "Marián", - "Masaryk", "Maslo", "Matiaško", "Medveď", "Melcer", "Mečiar", "Michalík", "Mihalik", - "Mihál", "Mihálik", "Mikloško", "Mikulík", "Mikuš", "Mikúš", "Milota", "Mináč", - "Mišík", "Mojžiš", "Mokroš", "Mora", "Moravčík", "Mydlo", "Nemec", "Nitra", - "Novák", "Obšut", "Ondruš", "Otčenáš", "Pauko", "Pavlikovský", "Pavúk", "Pašek", - "Paška", "Paško", "Pelikán", "Petrovický", "Petruška", "Peško", "Plch", "Plekanec", - "Podhradský", "Podkonický", "Poliak", "Pupák", "Rak", "Repiský", "Romančík", "Rus", - "Ružička", "Rybníček", "Rybár", "Rybárik", "Samson", "Sedliak", "Senko", "Sklenka", - "Skokan", "Skutecký", "Slašťan", "Sloboda", "Slobodník", "Slota", "Slovák", "Smrek", - "Stodola", "Straka", "Strnisko", "Svrbík", "Sámel", "Sýkora", "Tatar", "Tatarka", - "Tatár", "Tatárka", "Thomka", "Tomeček", "Tomka", "Tomko", "Truben", "Turčok", - "Uram", "Urblík", "Vajcík", "Vajda", "Valach", "Valachovič", "Valent", "Valuška", - "Vanek", "Vesel", "Vicen", "Višňovský", "Vlach", "Vojtek", "Vydarený", "Zajac", - "Zima", "Zimka", "Záborský", "Zúbrik", "Čapkovič", "Čaplovič", "Čarnogurský", "Čierny", - "Čobrda", "Ďaďo", "Ďurica", "Ďuriš", "Šidlo", "Šimonovič", "Škriniar", "Škultéty", - "Šmajda", "Šoltés", "Šoltýs", "Štefan", "Štefanka", "Šulc", "Šurka", "Švehla", - "Šťastný"}; - -const std::array slovak_femalesLastNames = { - "Antalová", "Babková", "Bahnová", "Balážová", "Baranová", "Baranková", "Bartovičová", - "Bartošová", "Bačová", "Bernoláková", "Beňová", "Biceková", "Bieliková", "Blahová", - "Bondrová", "Bosáková", "Bošková", "Brezinová", "Bukovská", "Chalupková", "Chudíková", - "Cibulová", "Cibulková", "Cyprichová", "Cígerová", "Danková", "Daňková", "Daňová", - "Debnárová", "Dejová", "Dekýšová", "Doležalová", "Dočolomanská", "Droppová", "Dubovská", - "Dudeková", "Dulová", "Dullová", "Dusíková", "Dvončová", "Dzurjaninová", "Dávidová", - "Fabianová", "Fabiánová", "Fajnorová", "Farkašovská", "Ficová", "Filcová", "Filipová", - "Finková", "Ftoreková", "Gašparová", "Gašparovičová", "Gocníková", "Gregorová", "Gregušová", - "Grznárová", "Habláková", "Habšudová", "Haldová", "Halušková", "Haláková", "Hanková", - "Hanzalová", "Haščáková", "Heretiková", "Hečková", "Hlaváčeková", "Hlinková", "Holubová", - "Holubyová", "Hossová", "Hozová", "Hrašková", "Hricová", "Hrmová", "Hrušovská", - "Hubová", "Ihnačáková", "Janečeková", "Janošková", "Jantošovičová", "Janíková", "Jančeková", - "Jedľovská", "Jendeková", "Jonatová", "Jurinová", "Jurkovičová", "Juríková", "Jánošíková", - "Kafendová", "Kaliská", "Karulová", "Kenížová", "Klapková", "Kmeťová", "Kolesárová", - "Kollárová", "Kolniková", "Kolníková", "Kolárová", "Korecová", "Kostkaová", "Kostrecová", - "Kováčová", "Kováčiková", "Kozová", "Kočišová", "Krajíčeková", "Krajčová", "Krajčovičová", - "Krajčírová", "Králiková", "Krúpová", "Kubíková", "Kyseľová", "Kállayová", "Labudová", - "Lepšíková", "Liptáková", "Lisická", "Lubinová", "Lukáčová", "Luptáková", "Líšková", - "Madejová", "Majeská", "Malachovská", "Malíšeková", "Mamojková", "Marcinková", "Mariánová", - "Masaryková", "Maslová", "Matiašková", "Medveďová", "Melcerová", "Mečiarová", "Michalíková", - "Mihaliková", "Mihálová", "Miháliková", "Miklošková", "Mikulíková", "Mikušová", "Mikúšová", - "Milotová", "Mináčová", "Mišíková", "Mojžišová", "Mokrošová", "Morová", "Moravčíková", - "Mydlová", "Nemcová", "Nováková", "Obšutová", "Ondrušová", "Otčenášová", "Pauková", - "Pavlikovská", "Pavúková", "Pašeková", "Pašková", "Pelikánová", "Petrovická", "Petrušková", - "Pešková", "Plchová", "Plekanecová", "Podhradská", "Podkonická", "Poliaková", "Pupáková", - "Raková", "Repiská", "Romančíková", "Rusová", "Ružičková", "Rybníčeková", "Rybárová", - "Rybáriková", "Samsonová", "Sedliaková", "Senková", "Sklenková", "Skokanová", "Skutecká", - "Slašťanová", "Slobodová", "Slobodníková", "Slotová", "Slováková", "Smreková", "Stodolová", - "Straková", "Strnisková", "Svrbíková", "Sámelová", "Sýkorová", "Tatarová", "Tatarková", - "Tatárová", "Tatárkaová", "Thomková", "Tomečeková", "Tomková", "Trubenová", "Turčoková", - "Uramová", "Urblíková", "Vajcíková", "Vajdová", "Valachová", "Valachovičová", "Valentová", - "Valušková", "Vaneková", "Veselová", "Vicenová", "Višňovská", "Vlachová", "Vojteková", - "Vydarená", "Zajacová", "Zimová", "Zimková", "Záborská", "Zúbriková", "Čapkovičová", - "Čaplovičová", "Čarnogurská", "Čierná", "Čobrdová", "Ďaďová", "Ďuricová", "Ďurišová", - "Šidlová", "Šimonovičová", "Škriniarová", "Škultétyová", "Šmajdová", "Šoltésová", "Šoltýsová", - "Štefanová", "Štefanková", "Šulcová", "Šurková", "Švehlová", "Šťastná"}; - -const std::array slovakSuffixes{"Phd."}; - -const std::array slovakPrefixes{"Ing.", "Mgr.", "JUDr.", "MUDr."}; - -const NameFormats slovakNameFormats{ - {{"{firstName} {lastName}", 8}, {"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName} {suffix}", 1}}}; - -const PeopleNames slovakPeopleNames{{slovakMaleFirstNames, slovakMaleLastNames, slovakPrefixes, slovakSuffixes}, - {slovakFemaleFirstNames, slovak_femalesLastNames, slovakPrefixes, slovakSuffixes}, - slovakNameFormats}; - -// Slovenia - -const std::array slovenianMaleFirstNames{ - "Franc", "Marko", "Ivan", "Andrej", "Anton", "Luka", "Peter", "Matej", - "Milan", "Robert", "Branko", "Bojan", "Gregor", "Stanislav", "Martin", "David", - "Igor", "Dejan", "Jan", "Boris", "Simon", "Darko", "Aleksander", "Roman", - "Jakob", "Vladimir", "Janko", "Mirko", "Alen", "Zoran", "Filip", "Miroslav", - "Goran", "Stanko", "Mihael", "Tim", "Mark", "Leon", "Viktor", "Dragan", - "Erik", "Benjamin", "Rudolf", "Zdravko", "Danilo", "Zlatko", "Pavel", "Edvard", - "Bogdan", "Patrik", "Emil", "Damir", "Dominik", "Daniel", "Niko", "Albin", - "Aleks", "Aleksandar", "Ivica", "Tomislav", "Mario", "Leopold", "Mladen", "Valentin", - "Davor", "Karel", "Marcel", "Vlado", "Oskar", "Nenad", "Ivo", "Tian", - "Elvis", "Ladislav", "Valter", "Edin", "Ervin", "Sergej", "Karl", "Teo", - "Ernest", "Petar", "Nikolaj", "Vito", "Renato", "Alex", "Slobodan", "Mirsad", - "Samir", "Radovan", "Liam", "Dalibor", "Bruno", "Miro", "Amir", "Rudi", - "Kevin", "Bernard", "Hasan", "Albert", "Adolf", "Adam", "Ferdinand", "Dean", - "Milorad", "Branislav", "Rafael", "Emir", "Taj", "Almir", "Muhamed", "Edi", - "Adnan", "Alan", "Lukas", "Jon", "Feliks", "Ibrahim", "Predrag", "Tibor", - "Vili", "Ismet", "Aleksej", "Herman", "Armin", "Konrad", "Haris", "Leo", - "Teodor", "Branimir", "Mehmed", "Dino", "Tristan", "Jovan", "Stefan", "Ian", - "Oliver", "Dario", "Oto", "Husein", "Kristian", "Mustafa", "Henrik", "Sven", - "Gabriel", "Edvin", "Osman", "Fikret", "Tarik", "Egon", "Marino", "Asim", - "Miodrag", "Rasim", "Borislav", "Ramiz", "Fadil", "Dragomir", "Max", "Amar", - "Tom", "Omer", "Karlo", "Patrick", "Aldin", "Adrian", "Radoslav", "Ahmet", - "Sebastian", "Adem", "Lev", "Enver", "Manuel", "Ales", "Tijan", "Marsel", - "Kris", "Radomir", "Vladislav", "Arne", "Kenan", "Alexander", "Oton", "Maksim", - "Ali", "Emanuel", "Samuel", "Antonio", "Luca", "Emin", "Tomas", "Mateo", - "Milko", "Jordan", "Dani", "Nick", "Salih", "Alfred", "Otmar", "Geza", - "Aldo", "Arif", "Roberto", "Kemal", "Lazar", "Tihomir", "Miladin", "Fredi", - "Marin", "Severin", "Lucas", "Fuad", "Lars", "Leonard", "Bogomil", "Leonardo", - "Angel", "Halid", "Deni", "Ruben", "Radko", "Zlatan", "Thomas", "Dorian", - "Roland", "Nedim", "Simo", "Halil", "Ramadan", "Sadik", "Irfan", "Smail", - "Christian", "Adel", "Adil", "Dusan", "Romeo", "Fran", "Naser", "Sandro", - "Said", "Arben", "Ahmed", "Justin", "Neven", "Sami", "Hubert", "Sasa", - "Eduard", "Neo", "Arnel", "Jonatan", "Julian", "Michael", "Andi", "Amer", - "Marco", "Armando", "Zoltan", "Selim", "Artur", "Jonas", "Harun", "Juraj", - "Anis", "Rolando", "Aziz", "Kai", "Demir", "Aron", "Matias", "Faruk", - "Loris", "Hugo", "Nail", "Omar", "Ismail", "Ammar", "Elvin", "Naim", - "Nikolas", "Evan", "Taras", "Zaim", "Sergio", "Kosta", "Tobias", "Djordje", - "Aladin", "Natan", "Abdulah", "Valentino", "Zahid", "Simeon", "Matteo", "Alin", - "Ale", "Eldar", "Mauro", "Hamza", "Benedikt", "Diego", "Murat", "Isak", - "Michel", "Silvano", "Alessandro", "Svetozar", "Adriano", "Sani", "Fabio", "Sinan", - "Paolo", "Rupert", "Jaroslav", "Herbert", "Claudio", "Inti", "Hamid", "Ilir", - "Sergey", "Florian", "Shaban", "Nel", "Todor", "Helmut", "Dimitar", "Arpad", - "Tahir", "Konstantin", "Mate", "Job", "Luan", "Maxim", "Walter", "Mitko", - "Edmond", "Oleg", "Vital", "Bara", "Veselin", "Andrey", "Petko", "Faik", - "Alban", "Munir", "Stanimir", "Kian", "Dinko", "Engelbert", -}; - -const std::array slovenianFemaleFirstNames{ - "Marija", "Ana", "Maja", "Marjan", "Irena", "Nina", "Barbara", "Petra", - "Katja", "Anja", "Eva", "Sara", "Sonja", "Tanja", "Tina", "Tatjana", - "Katarina", "Alenka", "Milena", "Vesna", "Martina", "Majda", "Nika", "Ivana", - "Helena", "Anica", "Nada", "Darja", "Dragica", "Kristina", "Simona", "Danica", - "Olga", "Suzana", "Zdenka", "Lara", "Lidija", "Denis", "Sabina", "Ema", - "Angela", "Vida", "Marta", "Ivanka", "Silva", "Veronika", "Karmen", "Darinka", - "Aleksandra", "Anita", "Brigita", "Lana", "Jana", "Kaja", "Klara", "Monika", - "Stanislava", "Lea", "Natalija", "Nevenka", "Jasmina", "Elizabeta", "Tamara", "Renata", - "Branka", "Slavica", "Julija", "Hana", "Bernarda", "Bojana", "Vera", "Erika", - "Danijela", "Romana", "Pavla", "Mira", "Laura", "Valentina", "Sandra", "Mirjana", - "Sanja", "Valerija", "Gal", "Ines", "Ksenija", "Mihaela", "Ida", "Pia", - "Karolina", "Viktorija", "Marina", "Mia", "Melita", "Vlasta", "Ela", "Magdalena", - "Albina", "Lan", "Gordana", "Ljubica", "Nadja", "Nikola", "Marinka", "Karin", - "Tea", "Matilda", "Marica", "Vita", "Emilija", "Larisa", "Lina", "Iva", - "Milka", "Milica", "Marijana", "Jelena", "Rebeka", "Justina", "Mirjam", "Stanka", - "Rene", "Slavka", "Irma", "Jasmin", "Zlatka", "Iris", "Iza", "Meta", - "Jolanda", "Miroslava", "Blanka", "Tara", "Manja", "Alma", "Nino", "Erna", - "Anka", "Alina", "Elena", "Neli", "Hermina", "Zora", "Magda", "Daniela", - "Vilma", "Diana", "Ljiljana", "Dragana", "Dijana", "Ingrid", "Biserka", "Mara", - "Edita", "Sofija", "Mila", "Sanela", "Zorica", "Manuela", "Emina", "Margareta", - "Biljana", "Silvestra", "Zlata", "Lili", "Lia", "Elvira", "Judita", "Svetlana", - "Roza", "Dunja", "Silvana", "Silvija", "Kim", "Zara", "Cirila", "Doris", - "Gizela", "Neva", "Vanda", "Berta", "Nikolina", "Hilda", "Vanesa", "Pavlina", - "Mirela", "Tone", "Leonida", "Violeta", "Dolores", "Zorka", "Nermin", "Karol", - "Radmila", "Dora", "Fatima", "Azra", "Melisa", "Agata", "Liza", "Aida", - "Anika", "Ina", "Gabriela", "Izabela", "Minka", "Milenka", "Jasminka", "Adela", - "Regina", "Edina", "Sofia", "Leopoldina", "Karla", "Mina", "Vladimira", "Lena", - "Greta", "Selma", "Samanta", "Kiara", "Evelin", "Frida", "Anna", "Andrea", - "Anel", "Almira", "Ada", "Teodora", "Adriana", "Ester", "Lorena", "Neda", - "Miranda", "Mai", "Amel", "Luna", "Dominika", "Rozina", "France", "Amra", - "Bogdana", "Patricia", "Amina", "Elma", "Stana", "Alisa", "Jovanka", "Stella", - "Stela", "Rosana", "Dajana", "Gloria", "Rada", "Ariana", "Tinka", "Suad", - "Melani", "Ella", "Nihad", "Medina", "Tiana", "Evelina", "Vanessa", "Sabrina", - "Irina", "Amanda", "Danila", "Nia", "Maria", "Emma", "Nena", "Zdravka", - "Julia", "Mirza", "Esma", "Noel", "Lian", "Sarah", "Fani", "Samira", - "Jozefa", "Amira", "Ivona", "Bruna", "Nikita", "Verona", "Nela", "Lenka", - "Eli", "Indira", "Natasa", "Natalia", "Sanda", "Leila", "Hanna", "Tereza", - "Marja", "Olivera", "Eda", "Estera", "Ava", "Nana", "Romina", "Jovana", - "Rafaela", "Linda", "Dan", "Loredana", "Meri", "Adelina", "Emanuela", "Aurora", - "Fadila", "Dina", "Sava", "Karina", "Elza", "Lin", "Lora", "Fatime", - "Melanie", "Anastasia", "Dana", "Mirka", "Evita", "Rosa", "Angelina", "Elda", - "Marisa", "Carmen", "Manda", "Dorica", "Gaia", "Claudia", "Eman", "Denisa", - "Tatiana", "Janka", "Lijana", "Dea", "Olena", "Erin", "Noemi", "Edisa", - "Inge", "Leonora", "Bela", "Verena", "Trina", "Arian", -}; - -const std::array slovenianLastNames{ - "Novak", "Horvat", "Krajnc", "Kovač", "Korošec", "Mlakar", "Kos", "Vidmar", - "Golob", "žagar", "Hočevar", "Košir", "Turk", "Kralj", "Zupan", "Bizjak", - "Hribar", "Rozman", "Zajc", "Kotnik", "Oblak", "Petek", "Kolar", "Kastelic", - "Zupanc", "Koren", "Babič", "Kranjc", "Medved", "Majcen", "Knez", "Pušnik", - "Kovačević", "Dolenc", "Pirc", "Petrović", "Hrovat", "Lah", "Zadravec", "Kuhar", - "Lešnik", "Bezjak", "Kokalj", "Jug", "Zorko", "Erjavec", "Sever", "Vidovič", - "Jerman", "Jereb", "Bogataj", "Primožič", "Jovanović", "Kosi", "Hodžić", "Lesjak", - "Furlan", "Lavrič", "Perko", "Logar", "žižek", "Marković", "Debeljak", "Jenko", - "Krivec", "Pavlin", "Vodopivec", "Zver", "Rupnik", "Jarc", "Kramberger", "Toplak", - "Breznik", "Ilić", "Hribernik", "Jazbec", "žibert", "Marolt", "Vidic", "Eržen", - "Pintar", "Nikolić", "Simonič", "železnik", "Demšar", "Blažič", "Jelen", "Popović", - "šinkovec", "Fras", "Dolinar", "Ramšak", "Hozjan", "Leban", "Cerar", "Hren", - "Javornik", "Rus", "Blatnik", "Kobal", "Gorjup", "Kolenc", "Podgoršek", "Savić", - "Rajh", "Kokol", "Koželj", "Gajšek", "Mohorič", "Lazar", "Nemec", "Sušnik", - "Gomboc", "Mavrič", "Mrak", "šmid", "Rožman", "Cvetko", "Pavlović", "Bajc", - "Likar", "Vovk", "Babić", "Bevc", "Tratnik", "Povše", "Zakrajšek", "Begić", - "Humar", "Skok", "Gorenc", "Hadžić", "Stopar", "Rojc", "Stojanović", "Založnik", - "Leskovar", "Sitar", "Gorišek", "štrukelj", "šuligoj", "Kranjec", "Fekonja", "škof", - "Zorec", "Romih", "šuštar", "Pahor", "Bračko", "Pevec", "šturm", "Volk", - "Kukovec", "Brglez", "Simčič", "Dolinšek", "Kogovšek", "Križman", "Bregar", "Arh", - "Krašovec", "Murko", "Papež", "Turnšek", "Bukovec", "Kosmač", "Rutar", "Tomažin", - "Kramar", "Starc", "Vuković", "Jamnik", "Hafner", "Vrhovnik", "Planinc", "Dizdarević", - "Ferk", "Vončina", "Ravnikar", "Bergant", "Lebar", "Lipovšek", "Godec", "Vuk", - "Tomić", "Lončar", "Praprotnik", "Hojnik", "Kumer", "Halilović", "Grošelj", "Urh", - "Mlinar", "Kristan", "Stanković", "Habjan", "Resnik", "Klemenc", "Cimerman", "Balažic", - "Kalan", "Cafuta", "Jeraj", "Gruden", "Zalokar", "Primc", "Zajec", "Fabjan", - "Pirnat", "Možina", "Topolovec", "Zorman", "Trstenjak", "Hudorovac", "Kraševec", "Zalar", - "Rojko", "Lampret", "Peternelj", "Hvala", "Gantar", "Rijavec", "Grm", "Roškar", - "Repnik", "Kladnik", "Planinšek", "Delić", "Sedej", "Smrekar", "Gobec", "Frelih", - "Simić", "Rebernik", "Lukić", "šega", "Ornik", "Babnik", "Leskovšek", "Drnovšek", - "Mastnak", "Kušar", "Hrastnik", "Pajk", "Vogrinec", "Krapež", "žnidar", "Avsec", - "šabić", "Kocbek", "Strnad", "Jović", "Rogelj", "Juvan", "Vesel", "Knežević", - "Kotar", "šubic", "Mohar", "Križaj", "Požar", "Plohl", "Mitrović", "Kopač", - "Rudolf", "šket", "Kržišnik", "Beganović", "štefančič", "Dobnik", "Ristić", "Kocjan", - "Bajt", "Polanec", "Dežman", "Lazić", "Dedić", "Gashi", "Avdić", "Gradišnik", - "Plevnik", "Drevenšek", "Todorović", "Gorše", "Sluga", "Sajovic", "Smodiš", "Ocvirk", - "Bernik", "Bertoncelj", "Kosec", "Fajfar", "Hriberšek", "Poljanšek", "Jager", "Slana", - "Podobnik", "Malovrh", "Kmetec", "Pipan", "Jelenc", "Ficko", "škulj", "Veber", - "Peternel", "Zidar", "Stropnik", "Marić", "Podlesnik", "Grilc", "Vodušek", "Vogrin", - "Bašić", "Kenda", "Kern", "Tušek", "Bytyqi", "Arnuš", "Stare", "Pišek", - "Plut", "Nagode", "Hajdinjak", "Zagorc", "Kostanjevec", "Klinc", "Mulec", "Benko", - "Laznik", "žitnik", "Janković", "Mali", "Oman", "Fink", "Ogrizek", "Mihelčič", - "Bajec", "Pivk", "Skubic", "Kočar", "Virant", "Oražem", "Boštjančič", "Grobelnik", - "Markelj", "Tomše", "Bratuša", "Saje", "Makovec", "Križan", -}; - -const NameFormats slovenianNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames slovenianPeopleNames{{slovenianMaleFirstNames, slovenianLastNames, {}, {}}, - {slovenianFemaleFirstNames, slovenianLastNames, {}, {}}, - slovenianNameFormats}; - -// South Africa - -const std::array southAfricanMaleFirstNames{ - "Johan", "Robert", "Michael", "William", "Willem", "David", "Richard", "Thomas", "Charl", "Christopher", - "Daniel", "Dante", "Paul", "Mark", "George", "Kenneth", "Steven", "Edward", "Ronald", "Anthony", - "Albert", "Kevin", "Jaco", "Jacobus", "Mathuys", "Frankie", "Stephen", "Andre", "Raymond", "Joshua", - "Dennis", "Pieter", "Henrie", "Rigard", "Riaan", "Joe", "Johannes", "Hannes", "Gerald", "Gerhard", - "Willie", "Roy", "Adam", "Harry", "Wayne", "Billy", "Steve", "Louis", "Eugene", "Russell", - "Bobbie", "Victor", "Martin", "Ernest", "Phillip", "Craig", "Alan", "Shawn", "Chris", "Earl", - "Jimmy", "Brian", "Mike", "Leonard", "Dale", "Allen", "Vincent", "Francois", "Eddie", "Alexander", - "Bernard", "Markus", "Micheal", "Theo", "Oscar", "Derek", "Wesley", "Derrick", "Herman", "Rick", - "Ruben", "Cecil", "Roland", "Harvey", "Adriaan", "Karl", "Erik", "Neil", "Ian", "Iwan", - "Julian", "Nick", "Shaun", "Cameron", "Wilbur", "Rudolph", "Rudy", "Bennie", "Lukas", "Simon", - "Rufus", "Hugo", "Conrad", "Tommie", "Jan", "Jacques", "Morne", "Vernon", "Duanne", "Theunis", - "Theuns", "Wessel", "Stephaans", -}; - -const std::array southAfricanFemaleFirstNames{ - "Susan", "Monica", "Linda", "Elsa", "Margaret", "Lisa", "Karen", "Helen", "Sandra", - "Sara", "Kimberly", "Angelique", "Melissa", "Brenda", "Anna", "Annelie", "Katryn", "Amanda", - "Stefanie", "Marie", "Janet", "Rosemarie", "Nicoleen", "Paula", "Robin", "Rita", "Edna", - "Carmen", "Cindy", "Edith", "Ethel", "Ellen", "Elaine", "Charlotte", "Pauline", "Juanita", - "Anita", "Rhonda", "Hazel", "Debbie", "Clara", "Lucille", "Eleanor", "Alicia", "Michele", - "Geraldine", "Erika", "Bernice", "Audrey", "Yvonne", "Annette", "Renette", "Ida", "Melanie", - "Jolanda", "Vanessa", "Alma", "Sue-Marie", "Carla", "Rosemary", "Wilma", "Kristin", "Natalie", - "Charlene", "Melinda", "Maureen", "Tanya", "Marlene", "Heidi", "Lydia", "Vickie", "Nina", - "Leona", "Jenny", "Sonia", "Kristina", "Katrina", "Belinda", "Natasha", "Cecile", "Angie", - "Lynda", "Amelia", "Monique", "Kayla", "Yvette", "Olivia", "Antoinette", "Bridgette", "Karla", - "Leticia", "Krista", "Robyn", "Rosalie", "Bernadette", "Krystal", "Nadine", "Estelle", "Lynette", - "Eloise", "Jana", "Kerry", "Jenna", "Tasha", "Sonja", "Elisa", "Kristie", -}; - -const std::array southAfricanLastNames{ - "van de Merwe", "Schoeman", - "Barnard", "de Kock", - "Meintjies", "le Roux", - "Koen", "Morkel", - "Viljoen", "Smit", - "Nel", "Grobelaar", - "Oppenheimer", "Castelyn", - "du Preez", "Cronnje", - "Donald", "Pringle", - "Snell", "Burger", - "van Heerden", "van de Heefer", - "Wessels", "Eksteen", - "Kirsten", "de Villiers", - "Olivier", "Steyn", - "Kallis", "Ackerman", - "Dippenaar", "Strydon", - "Boje", "Pretorius", - "Langeveldt", "Botha", - "Duminy", "Fuller", - "Philander", "Daniels", - "Fichardt", "van Zyl", - "de Bruyn", "van der Bijl", - "Dyer", "van Buuren", - "Boyes", "Versfeld", - "Bisset", "Castens", - "Louw", "Powell", - "Snedden", "van Renen", - "Myburg", "Bredenkamp", - "Mellett", "Hertzog", - "Theunissen", "de Waal", - "Cloete", "Krige", - "Melker", "Loubser", - "Stegmann", "Joubert", - "Luyt", "Roos", - "Lombard", "van der Hoff", - "Immelman", "Els", - "Delaney", "Strauss", - "Meyer", "Pienaar", - "du Plessis", "van Rooyen", - "Kruger", "Mostert", - "Scholtz", "Aucamp", - "Albertyn", "Bosman", - "Bester", "Truter", - "Prinsloo", "van Niekerk", - "Zimmerman", "Venter", - "van den Berg", "de Wet", - "Marais", "van Jaarsveld", - "Jordaan", "Malan", - "Viviers", "Myburgh", - "Hoffman", "Bekker", - "Rossouw", "Rens", - "Lochner", "Hanekom", - "Schmidt", "Wentzel", - "Bezuidenhout", "Cilliers", - "Naude", "de Vos", - "Goosen", "Durand", - "Potgieter", "van Deventer", - "de Klerk", "Spies", - "Snyman", "Oosthuizen", - "Bosch", "Vogel", - "Fourie", "van Staden", - "Wagenaar", "Wolmerans", - "Veldsman", "Tromp", - "Serfontein", "Claasen", - "Heunis", "Visagie", - "Ferreira", "Erasmus", - "Knoetze", "Jansen van Rensburg", - "Styger", "Roberts", - "Richter", "Lotter", - "Swart", "Badenhorst", - "Laubscher", "Hattingh", - "Visser", "Brink", - "Theron", "Paulse", - "Basson", "van der Westhuyzen", - "Gerber", "Human", - "Uys", "Hougaard", - "Steenkamp", "Pieterse", - "Brits", "Jantjies", - "Etzebeth", "de Jager", - "Boshoff", "Kriel", - "Vosloo", "Carstens", -}; - -const NameFormats southAfricanNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames southAfricanPeopleNames{{southAfricanMaleFirstNames, southAfricanLastNames, {}, {}}, - {southAfricanFemaleFirstNames, southAfricanLastNames, {}, {}}, - southAfricanNameFormats}; - -// Spain - -const std::array spanishMaleFirstNames = { - "Agapetus", "Aimon", "Ángel", "Beltran", "Berto", "Bronco", "Carles", "Cipriano", - "Cisco", "Cortez", "Cruz", "Cuba", "Daniel", "Dario", "Desiderio", "Diego", - "Dimos", "Fanuco", "Federico", "Fraco", "Francisco", "Frisco", "Gervasio", "Gig", - "Gonzalo", "Guido", "Guillermo", "Hermenegildo", "Hernan", "Hilario", "Ignado", "Isidro", - "Iván", "Jaguar", "Jair", "Javier", "Jerrold", "Jordi", "Jorge", "Josep", - "Juan", "Juan Ramón", "Kiki", "Larenzo", "Lisandro", "Loredo", "Lorenzo", "Macario", - "Malvolio", "Manuel", "Marjun", "Miguel", "Montana", "Montego", "Montel", "Montenegro", - "Nasario", "Nemesio", "Neper", "Neron ", "Nicandro", "Noe", "Oihane", "Oleos", - "Olindo", "Onofre", "Ora", "Oro", "Ovidio", "Pablo", "Paco", "Pancho", - "Pedro", "Pío", "Ponce", "Porfio", "Quico", "Quinto", "Quiqui", "Quito", - "Reyes", "Reynaldo", "Ricardo", "Rico", "Rio", "Rogelio", "Rubén", "Ryo", - "Sagaz", "Salvador", "Santiago", "Saturnin", "Seferino", "Selestino", "Senon", "Sergi", - "Sierra", "Tajo", "Urvano", "Vegas", "Venacio", "Vicente", "Vidal", "Xabat", - "Xalvador", "Xaver", "Xaverius", "Xavier", "Xavion", "Xeres", "Ximen", "Zelipe", - "Zenon ", -}; - -const std::array spanishFemaleFirstNames = { - "Adalia", "Aidia", "Alva", "Ana", "Andrea", "Anni", "Aureliano", "Belinda", - "Bettina", "Carey", "Carlotta", "Coco", "Damita", "Delfina", "Duenna", "Dulcie", - "Elvira", "Enriqua", "Esmerelda", "Esperanza", "Fe", "Fonda", "Frida", "Friera", - "Gitana", "Gotzone", "Guadalupe", "Hermosa", "Ines", "Isabel", "Itzel", "Jade", - "Jardena", "Jennifer", "Julitta", "Kesare", "Kiki", "Lacienega", "Ladonna", "Landrada", - "Laura", "Lela", "Lenora", "Leya", "Liani", "Linda", "Lluvia", "Lola", - "Lolita", "Lorena", "Luisa", "Lujuana", "Lupita", "Lux", "Luz", "Madeira ", - "Madra", "Maica", "Maitane", "Maitea", "Majondra", "Manda", "Manuela", "María de los Ángeles", - "Mariola", "Mariposa", "Marisa", "Marta", "Matilde", "Melosa", "Mio", "Mira", - "Montana", "Mora", "Neiva", "Nerita", "Neva", "Nieve", "Nina", "Novia", - "Novyanna", "Oihane", "Ora", "Osana", "Paca", "Paloma", "Placida", "Puma", - "Querida", "Queta", "Quinceanos", "Raeka", "Rafaela", "Ramona", "Rana", "Ria", - "Rigoberta", "Roana", "Rosalind", "Rosalynda", "Roser", "Sally", "Salma", "Sancha", - "Sancho", "Sandia", "Santana", "Santina", "Savana", "Savanna", "Seina ", "Senalda", - "Senona", "Sierra", "Sofiel", "Solana", "Soledad", "Sonora", "Taina", "Tea", - "Tejana", "Terceiro", "Teresa", "Texcean", "Tia", "Tierra", "Tina", "Tranquilia", - "Trella", "Tulia", "Ursulina", "Verdad", "Veta", "Vina", "Xalbadora", "Xevera", - "Xiao", "Xiomara", "Yadra", "Yomaris", "Zaneta", "Zarela", "Zarita", "Zaviera", - "Zequinha", "Zuriaa", "Zurine ", -}; - -const std::array spanishLastNames = {"Abeyta", - "Abrego", - "Abreu", - "Acevedo", - "Acosta", - "Acuña", - "Adame", - "Adorno", - "Agosto", - "Aguayo", - "Aguilar", - "Aguilera", - "Aguirre", - "Alanis", - "Alaníz", - "Alarcón", - "Alba", - "Alcalá", - "Alcántar", - "Alcaraz", - "Alejandro", - "Alemán", - "Alfaro", - "Alicea", - "Almanza", - "Almaráz", - "Almonte", - "Alonso", - "Alonzo", - "Altamirano", - "Alva", - "Alvarado", - "Álvarez", - "Amador", - "Amaya", - "Anaya", - "Anguiano", - "Angulo", - "Aparicio", - "Apodaca", - "Aponte", - "Aragón", - "Araña", - "Aranda", - "Arce", - "Archuleta", - "Arellano", - "Arenas", - "Arevalo", - "Argüello", - "Arias", - "Armas", - "Armendáriz", - "Armenta", - "Armijo", - "Arredondo", - "Arreola", - "Arriaga", - "Arroyo", - "Arteaga", - "Atencio", - "Ávalos", - "Ávila", - "Avilés", - "Ayala", - "Baca", - "Badillo", - "Báez", - "Baeza", - "Bahena", - "Balderas", - "Ballesteros", - "Banda", - "Bañuelos", - "Barajas", - "Barela", - "Barragán", - "Barraza", - "Barrera", - "Barreto", - "Barrientos", - "Barrios", - "Batista", - "Becerra", - "Beltrán", - "Benavides", - "Benavídez", - "Benítez", - "Bermúdez", - "Bernal", - "Berríos", - "Betancourt", - "Blanco", - "Bonilla", - "Borrego", - "Botello", - "Bravo", - "Briones", - "Briseño", - "Brito", - "Bueno", - "Burgos", - "Bustamante", - "Bustos", - "Caballero", - "Cabán", - "Cabrera", - "Cadena", - "Caldera", - "Calderón", - "Calvillo", - "Camacho", - "Camarillo", - "Campos", - "Canales", - "Candelaria", - "Cano", - "Cantú", - "Caraballo", - "Carbajal", - "Cárdenas", - "Cardona", - "Carmona", - "Carranza", - "Carrasco", - "Carrasquillo", - "Carreón", - "Carrera", - "Carrero", - "Carrillo", - "Carrión", - "Carvajal", - "Casanova", - "Casares", - "Casarez", - "Casas", - "Casillas", - "Castañeda", - "Castellanos", - "Castillo", - "Castro", - "Cavazos", - "Cazares", - "Ceballos", - "Cedillo", - "Ceja", - "Centeno", - "Cepeda", - "Cerda", - "Cervantes", - "Cervántez", - "Chacón", - "Chapa", - "Chavarría", - "Chávez", - "Cintrón", - "Cisneros", - "Collado", - "Collazo", - "Colón", - "Colunga", - "Concepción", - "Contreras", - "Cordero", - "Córdova", - "Cornejo", - "Corona", - "Coronado", - "Corral", - "Corrales", - "Correa", - "Cortés", - "Cortéz", - "Cotto", - "Covarrubias", - "Crespo", - "Cruz", - "Cuellar", - "Curiel", - "Dávila", - "de Anda", - "de Jesús", - "Delacrúz", - "Delafuente", - "Delagarza", - "Delao", - "Delapaz", - "Delarosa", - "Delatorre", - "Deleón", - "Delgadillo", - "Delgado", - "Delrío", - "Delvalle", - "Díaz", - "Domínguez", - "Duarte", - "Dueñas", - "Durán", - "Echevarría", - "Elizondo", - "Enríquez", - "Escalante", - "Escamilla", - "Escobar", - "Escobedo", - "Esparza", - "Espinal", - "Espino", - "Espinosa", - "Espinosa de los Monteros", - "Espinoza", - "Esquibel", - "Esquivel", - "Estévez", - "Estrada", - "Fajardo", - "Farías", - "Feliciano", - "Fernández", - "Ferrer", - "Fierro", - "Figueroa", - "Flores", - "Flórez", - "Fonseca", - "Frías", - "Fuentes", - "Gaitán", - "Galarza", - "Galindo", - "Gallardo", - "Gallegos", - "Galván", - "Gálvez", - "Gamboa", - "Gámez", - "Gaona", - "Garay", - "García", - "Garibay", - "Garica", - "Garrido", - "Garza", - "Gastélum", - "Gaytán", - "Gil", - "Girón", - "Godínez", - "Godoy", - "Gómez", - "González", - "Gracia", - "Granado", - "Granados", - "Griego", - "Grijalva", - "Guajardo", - "Guardado", - "Guerra", - "Guerrero", - "Guevara", - "Guillén", - "Gurule", - "Gutiérrez", - "Guzmán", - "Haro", - "Henríquez", - "Heredia", - "Hernández", - "Herrera", - "Hidalgo", - "Hinojosa", - "Holguín", - "Huerta", - "Hurtado", - "Ibarra", - "Iglesias", - "Irizarry", - "Jaime", - "Jaimes", - "Jáquez", - "Jaramillo", - "Jasso", - "Jiménez", - "Juárez", - "Jurado", - "Laboy", - "Lara", - "Laureano", - "Leal", - "Lebrón", - "Ledesma", - "Leiva", - "Lemus", - "León", - "Lerma", - "Leyva", - "Limón", - "Linares", - "Lira", - "Llamas", - "Loera", - "Lomeli", - "Longoria", - "López", - "Lovato", - "Loya", - "Lozada", - "Lozano", - "Lucero", - "Lucio", - "Luevano", - "Lugo", - "Luna", - "Macías", - "Madera", - "Madrid", - "Madrigal", - "Maestas", - "Magaña", - "Malave", - "Maldonado", - "Manzanares", - "Mares", - "Marín", - "Márquez", - "Marrero", - "Marroquín", - "Martínez", - "Mascareñas", - "Mata", - "Mateo", - "Matías", - "Matos", - "Maya", - "Mayorga", - "Medina", - "Medrano", - "Mejía", - "Meléndez", - "Melgar", - "Mena", - "Menchaca", - "Méndez", - "Mendoza", - "Menéndez", - "Meraz", - "Mercado", - "Merino", - "Mesa", - "Meza", - "Miramontes", - "Miranda", - "Mireles", - "Mojica", - "Molina", - "Mondragón", - "Monroy", - "Montalvo", - "Montañez", - "Montaño", - "Montemayor", - "Montenegro", - "Montero", - "Montes", - "Montéz", - "Montoya", - "Mora", - "Morales", - "Moreno", - "Mota", - "Moya", - "Munguía", - "Muñiz", - "Muñoz", - "Murillo", - "Muro", - "Nájera", - "Naranjo", - "Narváez", - "Nava", - "Navarrete", - "Navarro", - "Nazario", - "Negrete", - "Negrón", - "Nevárez", - "Nieto", - "Nieves", - "Niño", - "Noriega", - "Núñez", - "Ocampo", - "Ocasio", - "Ochoa", - "Ojeda", - "Olivares", - "Olivárez", - "Olivas", - "Olivera", - "Olivo", - "Olmos", - "Olvera", - "Ontiveros", - "Oquendo", - "Ordóñez", - "Orellana", - "Ornelas", - "Orosco", - "Orozco", - "Orta", - "Ortega", - "Ortiz", - "Osorio", - "Otero", - "Ozuna", - "Pabón", - "Pacheco", - "Padilla", - "Padrón", - "Páez", - "Pagan", - "Palacios", - "Palomino", - "Palomo", - "Pantoja", - "Paredes", - "Parra", - "Partida", - "Patiño", - "Paz", - "Pedraza", - "Pedroza", - "Pelayo", - "Peña", - "Perales", - "Peralta", - "Perea", - "Pérez", - "Pichardo", - "Piña", - "Pineda", - "Pizarro", - "Polanco", - "Ponce", - "Porras", - "Portillo", - "Posada", - "Prado", - "Preciado", - "Prieto", - "Puente", - "Puga", - "Pulido", - "Quesada", - "Quezada", - "Quiñones", - "Quiñónez", - "Quintana", - "Quintanilla", - "Quintero", - "Quiróz", - "Rael", - "Ramírez", - "Ramos", - "Rangel", - "Rascón", - "Raya", - "Razo", - "Regalado", - "Rendón", - "Rentería", - "Reséndez", - "Reyes", - "Reyna", - "Reynoso", - "Rico", - "Rincón", - "Riojas", - "Ríos", - "Rivas", - "Rivera", - "Rivero", - "Robledo", - "Robles", - "Rocha", - "Rodarte", - "Rodríguez", - "Rojas", - "Rojo", - "Roldán", - "Rolón", - "Romero", - "Romo", - "Roque", - "Rosado", - "Rosales", - "Rosario", - "Rosas", - "Roybal", - "Rubio", - "Ruelas", - "Ruíz", - "Saavedra", - "Sáenz", - "Saiz", - "Salas", - "Salazar", - "Salcedo", - "Salcido", - "Saldaña", - "Saldivar", - "Salgado", - "Salinas", - "Samaniego", - "Sanabria", - "Sánchez", - "Sandoval", - "Santacruz", - "Santana", - "Santiago", - "Santillán", - "Sarabia", - "Sauceda", - "Saucedo", - "Sedillo", - "Segovia", - "Segura", - "Sepúlveda", - "Serna", - "Serrano", - "Serrato", - "Sevilla", - "Sierra", - "Sisneros", - "Solano", - "Solís", - "Soliz", - "Solorio", - "Solorzano", - "Soria", - "Sosa", - "Sotelo", - "Soto", - "Suárez", - "Tafoya", - "Tamayo", - "Tamez", - "Tapia", - "Tejada", - "Tejeda", - "Téllez", - "Tello", - "Terán", - "Terrazas", - "Tijerina", - "Tirado", - "Toledo", - "Toro", - "Torres", - "Tórrez", - "Tovar", - "Trejo", - "Treviño", - "Trujillo", - "Ulibarri", - "Ulloa", - "Urbina", - "Ureña", - "Urías", - "Uribe", - "Urrutia", - "Vaca", - "Valadez", - "Valdés", - "Valdez", - "Valdivia", - "Valencia", - "Valentín", - "Valenzuela", - "Valladares", - "Valle", - "Vallejo", - "Valles", - "Valverde", - "Vanegas", - "Varela", - "Vargas", - "Vázquez", - "Vega", - "Vela", - "Velasco", - "Velásquez", - "Velázquez", - "Vélez", - "Véliz", - "Venegas", - "Vera", - "Verdugo", - "Verduzco", - "Vergara", - "Viera", - "Vigil", - "Villa", - "Villagómez", - "Villalobos", - "Villalpando", - "Villanueva", - "Villarreal", - "Villaseñor", - "Villegas", - "Yáñez", - "Ybarra", - "Zambrano", - "Zamora", - "Zamudio", - "Zapata", - "Zaragoza", - "Zarate", - "Zavala", - "Zayas", - "Zelaya", - "Zepeda", - "Zúñiga"}; - -const std::array spanishMalePrefixes{"Sr."}; - -const std::array spanishFemalePrefixes{"Sra.", "Sta."}; - -const NameFormats spanishNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 9}}}; - -const PeopleNames spanishPeopleNames{{spanishMaleFirstNames, spanishLastNames, spanishMalePrefixes, {}}, - {spanishFemaleFirstNames, spanishLastNames, spanishFemalePrefixes, {}}, - spanishNameFormats}; - -// Sweden - -const std::array swedishMaleFirstNames = { - "Lars", "Mikael", "Anders", "Johan", "Erik", "Per", "Peter", "Karl", "Thomas", - "Jan", "Daniel", "Fredrik", "Andreas", "Hans", "Stefan", "Mohamed", "Mats", "Marcus", - "Mattias", "Magnus", "Jonas", "Oskar", "Alexander", "Niklas", "Bengt", "Martin", "Bo", - "Nils", "Viktor", "Patrik", "Björn", "David", "Leif", "Filip", "Henrik", "Joakim", - "Emil", "Christer", "Ulf", "Sven", "Simon", "Christoffer", "Anton", "Gustav", "Robert", - "Christian", "William", "Tommy", "Kjell", "Lucas", "Rickard", "Håkan", "Adam", "Göran", - "Jakob", "Jonathan", "Rolf", "Lennart", "Robin", "Sebastian", "Elias", "Tobias", "John", - "Stig", "Axel", "Linus", "Oliver", "Kent", "Hugo", "Isak", "Roger", "Jesper", - "Claes", "Albin", "Ludvig", "Jörgen", "Rasmus", "Max", "Ali", "Jimmy", "Kenneth", - "Joel", "Gunnar", "Dennis", "Josef", "Johnny", "Olle", "Liam", "Leo", "Olof", - "Pontus", "Åke", "Kurt", "Kevin", "Samuel", "Edvin", "Gabriel", "Torbjörn", "Arvid", - "Felix"}; - -const std::array swedishFemaleFirstNames = { - "Anna", "Eva", "Maria", "Karin", "Sara", "Kristina", "Lena", "Emma", - "Kerstin", "Marie", "Malin", "Ingrid", "Jenny", "Hanna", "Linda", "Annika", - "Susanne", "Elin", "Monica", "Birgitta", "Sofia", "Johanna", "Inger", "Carina", - "Elisabeth", "Julia", "Ulla", "Katarina", "Linnéa", "Emelie", "Ida", "Helena", - "Camilla", "Åsa", "Anette", "Sandra", "Gunilla", "Anita", "Maja", "Marianne", - "Margareta", "Amanda", "Anneli", "Therese", "Ann", "Josefin", "Cecilia", "Jessica", - "Helen", "Lisa", "Matilda", "Caroline", "Alice", "Frida", "Ulrika", "Elsa", - "Barbro", "Siv", "Rebecca", "Madeleine", "Klara", "Ebba", "Sofie", "Isabelle", - "Agneta", "Gun", "Wilma", "Lina", "Berit", "Pia", "Ella", "Ellen", - "Yvonne", "Louise", "Astrid", "Moa", "Olivia", "Nathalie", "Mona", "Agnes", - "Emilia", "Alexandra", "Alva", "Britt", "Erika", "Viktoria", "Ann-Christin", "Felicia", - "Ann-Marie", "Sonja", "Britt-Marie", "Pernilla", "Lovisa", "Charlotte", "Linn", "Gunnel", - "Nina", "Mikaela", "Karolina", "Lisbeth"}; - -const std::array swedishLastNames = { - "Andersson", "Johansson", "Karlsson", "Nilsson", "Eriksson", "Larsson", "Olsson", "Persson", - "Svensson", "Gustafsson", "Pettersson", "Jonsson", "Jansson", "Hansson", "Bengtsson", "Jönsson", - "Lindberg", "Jakobsson", "Magnusson", "Olofsson", "Lindström", "Lindqvist", "Lindgren", "Berg", - "Axelsson", "Bergström", "Lundberg", "Lind", "Lundgren", "Lundqvist", "Mattsson", "Berglund", - "Fredriksson", "Sandberg", "Henriksson", "Forsberg", "Sjöberg", "Ali", "Wallin", "Mohamed", - "Engström", "Eklund", "Danielsson", "Lundin", "Håkansson", "Björk", "Bergman", "Gunnarsson", - "Holm", "Wikström", "Samuelsson", "Isaksson", "Fransson", "Bergqvist", "Nyström", "Holmberg", - "Arvidsson", "Löfgren", "Söderberg", "Nyberg", "Blomqvist", "Claesson", "Nordström", "Ahmed", - "Mårtensson", "Lundström", "Hassan", "Viklund", "Björklund", "Eliasson", "Pålsson", "Berggren", - "Sandström", "Lund", "Nordin", "Ström", "Åberg", "Falk", "Ekström", "Hermansson", - "Holmgren", "Hellström", "Dahlberg", "Hedlund", "Sundberg", "Sjögren", "Ek", "Blom", - "Abrahamsson", "Martinsson", "Öberg", "Andreasson", "Strömberg", "Månsson", "Hansen", "Åkesson", - "Dahl", "Lindholm", "Norberg", "Holmqvist"}; - -const std::array swedishPrefixes{"Dr.", "Prof.", "PhD."}; - -const NameFormats swedishNameFormats{{{"{firstName} {lastName}", 10}, {"{prefix} {firstName} {lastName}", 1}}}; - -const PeopleNames swedishPeopleNames{{swedishMaleFirstNames, swedishLastNames, swedishPrefixes, {}}, - {swedishFemaleFirstNames, swedishLastNames, swedishPrefixes, {}}, - swedishNameFormats}; - -// Switzerland - -const std::array swissMaleFirstNames = { - "Alfons", "Alfred", "Alois", "André", "Andreas", "Angelo", "Antoine", - "Anton", "Antonio", "Armin", "Arnold", "Arthur", "Beat", "Bernard", - "Bernhard", "Bruno", "Carlo", "Charles", "Christian", "Christoph", "Christophe", - "Claude", "Claudio", "Daniel", "Daniele", "David", "Denis", "Didier", - "Dieter", "Dominik", "Dominique", "Edgar", "Eduard", "Edwin", "Emil", - "Enrico", "Eric", "Erich", "Ernst", "Erwin", "Eugen", "Felix", - "Ferdinand", "Francesco", "Francis", "Franco", "François", "Frank", "Franz", - "Frédéric", "Fredy", "Fridolin", "Friedrich", "Fritz", "Gabriel", "Georg", - "Georges", "Gérald", "Gérard", "Gerhard", "Gianni", "Gilbert", "Giorgio", - "Giovanni", "Giuseppe", "Gottfried", "Guido", "Guy", "Hans", "Hans-Peter", - "Hans-Rudolf", "Hans-Ulrich", "Hansjörg", "Hanspeter", "Hansruedi", "Hansueli", "Harry", - "Heinrich", "Heinz", "Helmut", "Henri", "Herbert", "Hermann", "Hubert", - "Hugo", "Jacques", "Jakob", "Jan", "Jean-Claude", "Jean-Daniel", "Jean-François", - "Jean-Jacques", "Jean-Louis", "Jean-Luc", "Jean-Marc", "Jean-Marie", "Jean-Paul", "Jean-Pierre", - "Johann", "Johannes", "John", "Jörg", "Josef", "Joseph", "Jürg", - "Karl", "Klaus", "Konrad", "Kurt", "Laurent", "Leo", "Louis", - "Luca", "Luigi", "Lukas", "Manfred", "Manuel", "Marc", "Marcel", - "Marco", "Mario", "Markus", "Martin", "Massimo", "Matthias", "Maurice", - "Max", "Michael", "Michel", "Nicolas", "Niklaus", "Norbert", "Olivier", - "Oskar", "Otto", "Paolo", "Pascal", "Patrick", "Paul", "Peter", - "Philipp", "Philippe", "Pierre", "Pierre-Alain", "Pierre-André", "Pius", "Rainer", - "Raymond", "Reinhard", "Remo", "Renato", "Rene", "René", "Reto", - "Richard", "Rudolf", "Ruedi", "Samuel", "Sandro", "Serge", "Silvio", - "Simon", "Stefan", "Stephan", "Stéphane", "Theo", "Theodor", "Thomas", - "Ueli", "Ulrich", "Urs", "Victor", "Viktor", "Walter", "Werner", - "Willi", "Willy", "Wolfgang", "Yves", -}; - -const std::array swissFemaleFirstNames = { - "Alice", "Andrea", "Angela", "Anita", "Anna", "Anne", "Anne-Marie", "Annemarie", - "Astrid", "Barbara", "Beatrice", "Beatrix", "Bernadette", "Bettina", "Brigitta", "Brigitte", - "Carmen", "Caroline", "Catherine", "Chantal", "Charlotte", "Christa", "Christiane", "Christina", - "Christine", "Claire", "Claudia", "Claudine", "Corinne", "Cornelia", "Daniela", "Danielle", - "Denise", "Dominique", "Dora", "Doris", "Edith", "Eliane", "Elisabeth", "Elsa", - "Elsbeth", "Erica", "Erika", "Esther", "Eva", "Eveline", "Evelyne", "Fabienne", - "Florence", "Françoise", "Franziska", "Gabriela", "Gabrielle", "Gertrud", "Gisela", "Hanna", - "Heidi", "Helen", "Helena", "Helene", "Hildegard", "Ingrid", "Irene", "Iris", - "Isabelle", "Jacqueline", "Janine", "Jean", "Johanna", "Jolanda", "Josette", "Josiane", - "Judith", "Julia", "Karin", "Katharina", "Laura", "Laurence", "Liliane", "Liselotte", - "Lydia", "Madeleine", "Maja", "Manuela", "Margrit", "Margrith", "Maria", "Marianne", - "Marion", "Marlène", "Marlies", "Marlis", "Martha", "Martina", "Martine", "Maya", - "Michele", "Micheline", "Monica", "Monika", "Monique", "Myriam", "Nadia", "Nadja", - "Nathalie", "Nelly", "Nicole", "Paola", "Patricia", "Petra", "Pia", "Priska", - "Regina", "Regula", "Renata", "Renate", "Ruth", "Sabine", "Sandra", "Silvia", - "Simone", "Sonia", "Sonja", "Stéphanie", "Susanna", "Susanne", "Suzanne", "Sylvia", - "Sylvie", "Therese", "Toni", "Ursula", "Verena", "Véronique", "Vreni", "Yolande", - "Yvette", "Yvonne", -}; - -const std::array swissLastNames = { - "Ackermann", "Aebi", "Albrecht", "Ammann", "Amrein", "Arnold", "Bachmann", - "Bader", "Bär", "Bättig", "Bauer", "Baumann", "Baumgartner", "Baur", - "Beck", "Benz", "Berger", "Bernasconi", "Betschart", "Bianchi", "Bieri", - "Blaser", "Blum", "Bolliger", "Bosshard", "Braun", "Brun", "Brunner", - "Bucher", "Bühler", "Bühlmann", "Burri", "Christen", "Egger", "Egli", - "Eichenberger", "Erni", "Ernst", "Eugster", "Fankhauser", "Favre", "Fehr", - "Felber", "Felder", "Ferrari", "Fischer", "Flückiger", "Forster", "Frei", - "Frey", "Frick", "Friedli", "Fuchs", "Furrer", "Gasser", "Geiger", - "Gerber", "Gfeller", "Giger", "Gloor", "Graf", "Grob", "Gross", - "Gut", "Haas", "Häfliger", "Hafner", "Hartmann", "Hasler", "Hauser", - "Hermann", "Herzog", "Hess", "Hirt", "Hodel", "Hofer", "Hoffmann", - "Hofmann", "Hofstetter", "Hotz", "Huber", "Hug", "Hunziker", "Hürlimann", - "Imhof", "Isler", "Iten", "Jäggi", "Jenni", "Jost", "Kägi", - "Kaiser", "Kälin", "Käser", "Kaufmann", "Keller", "Kern", "Kessler", - "Knecht", "Koch", "Kohler", "Kuhn", "Küng", "Kunz", "Lang", - "Lanz", "Lehmann", "Leu", "Leunberger", "Lüscher", "Lustenberger", "Lüthi", - "Lutz", "Mäder", "Maier", "Marti", "Martin", "Maurer", "Mayer", - "Meier", "Meili", "Meister", "Merz", "Mettler", "Meyer", "Michel", - "Moser", "Müller", "Näf", "Ott", "Peter", "Pfister", "Portmann", - "Probst", "Rey", "Ritter", "Roos", "Roth", "Rüegg", "Schäfer", - "Schaller", "Schär", "Schärer", "Schaub", "Scheidegger", "Schenk", "Scherrer", - "Schlatter", "Schmid", "Schmidt", "Schneider", "Schnyder", "Schoch", "Schuler", - "Schumacher", "Schürch", "Schwab", "Schwarz", "Schweizer", "Seiler", "Senn", - "Sidler", "Siegrist", "Sigrist", "Spörri", "Stadelmann", "Stalder", "Staub", - "Stauffer", "Steffen", "Steiger", "Steiner", "Steinmann", "Stettler", "Stocker", - "Stöckli", "Stucki", "Studer", "Stutz", "Suter", "Sutter", "Tanner", - "Thommen", "Tobler", "Vogel", "Vogt", "Wagner", "Walder", "Walter", - "Weber", "Wegmann", "Wehrli", "Weibel", "Wenger", "Wettstein", "Widmer", - "Winkler", "Wirth", "Wirz", "Wolf", "Wüthrich", "Wyss", "Zbinden", - "Zehnder", "Ziegler", "Zimmermann", "Zingg", "Zollinger", "Zürcher", -}; - -const std::array swissMalePrefixes{"Herr", "Dr.", "Prof. Dr."}; - -const std::array swissFemalePrefixes{"Frau", "Dr.", "Prof. Dr."}; - -const NameFormats swissNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 9}}}; - -const PeopleNames swissPeopleNames{{swissMaleFirstNames, swissLastNames, swissMalePrefixes, {}}, - {swissFemaleFirstNames, swissLastNames, swissFemalePrefixes, {}}, - swissNameFormats}; - -// Syria - -const std::array syrianMaleFirstNames = { - "Mohamed", "Ahmed", "Abdel", "Hassan", "Ali", "Saleh", "Mahmoud", "Abou", "Ibrahim", - "Hussein", "Khaled", "Fayez", "Sheikh", "Mostafa", "Abdo", "Anwar", "Hilal", "Yousef", - "Ghazi", "Omar", "Hama", "Kamel", "Zuhair", "Khalil", "Suleiman", "Zaher", "Ismail", - "Adnan", "Zain", "Yasser", "Ammar", "Farhan", "Nabil", "Raed", "Yahya", "Mousa", - "Samer", "Sherif", "Waleed", "Jamal", "Bassam", "Rabie", "Ayman", "Khader", "Faisal", - "Emad", "Hossam", "Mohsen", "Samih", "Taha", "Fadi", "Abdullah", "Nader", "Fahd", - "Samir", "Hamad", "Osama", "Mahdi", "Ghassan", "Firas", "Anas", "Fatih", "Amer", - "Ziad", "Saeed", "Zakaria", "Ramadan", "Yassin", "Qasim", "Bashir", "Saad", "Nasser", - "Nazih", "Marwan", "Riad", "Malik", "Tarek", "Naji", "Hamid", "Jamil", "Ramy", - "Sultan", "Adel", "Radwan", "Asaad", "Haytham", "Badr", "Akram", "Mazen", "Haidar", - "Saif", "Jaafar", "Salah", "Kamal", "Iyad", "Shady", "Wael", "Hamza", "Bahri", - "Osman", "Majed", "Fares", "Rashid", "Karam", "Louay", "Talal", "Mounir", "Salem", - "Waseem", "Essam", "Nizar", "Hamada", "Maher", "Fouad", "Younis", "Aziz", "Amin", - "Mehdi", "George", "Elias", "Sami", "Jan", "Fadel", "Salim", "Hamed", "Bilal", - "Salam", "Salman", "Hisham", "Mansour", "Abbas", "Haj", "Shah", "Hani", "Ahmad", - "Tawfiq", "Fawzi", "Jalal", "Nadeem", "Sayed", "Farouk", "Hatem", "Mamoun", "Abdelkader", - "Azad", "Suhail", "Abu", "Farid", "Taleb", "Sher", "Naeem", "Safwan", "Hadi", - "Milad", "Karim", "Jaber", "Najih", "Adal", "Dia", "Khamis", "Zaki", "Adham", - "Habib", "Hammad", "Asher", "Tayeb", "Matar", "Taher", "Wahid", "Haji", "Amjad", - "Mohammed", "Amar", "Dimas", "Tamer", "Hammadi", "Khalifa", "Atta", "Mohammad", "Ben", - "Atef", "Faiz", "Murad", "Sadiq", "Zaid", "Noman", "Mohamad", "Ayoub", "Amir", - "Badi", "Nazir", "Baba", "Michel", "Idris", "Rashad", "Radi", "Yacoub", "Rafiq", - "Fathi", "Mubarak", "Daniel", "Rami", "Massoud", "Aqeel", "Makki", "Joseph", "Bakr", - "Muhammed", "Shafiq", "Asif", "Antar", "Mikhail", "Majid", "Luqman", "Mustafa", "Daoud", - "Nabeel", "Ashraf", "Anton", "Raouf", "Asad", "Sam", "Safi", "Mazhar", "Akka", - "Amr", "Wahib", "Gamal", "Arslan", "Fahim", "Antoine", "Saber", "Anis", "Hasan", - "Kamil", "Farhad", "Abdalla", "Rehan", "Makram", "Afif", "Sayah", "Muhammad", "Abdelghani", - "Hany", "Basel", "Othman", "Rabah", "Lawrence", "Latif", "Raymond", "Irfan", "Emile", - "Hussam", "Abed", "Shadi", "Foad", "William", "Abdelhakim", "Jawad", "Siraj", "Simon", - "Mesbah", "Nael", "Lotfi", "Samy", "Abdi", "Angel", "Sidi", "Bada", "Sasa", - "Imad", "Scott", "Nazar", "Rai", "Badri", "Kader", "Yaser", "Morris", "Ram", - "Shoaib", "Sufian", "Arman", "Joel", "Mahfoud", "Seydou", "Nazim", "Abdulrahman", "Issam", - "Falak", "Abdul", "Ayad", "Rafi", "Dani", "Mahy", "Manea", "Ishaq", "Nabi", - "Sabri", "Haitham", "Muzaffar", "Taj", "Zahir", "Johnny", "Kasem", "Mokhtar", "Fatah", - "Nassar", "Jad", "Mahmood", "Rahal", "Malek", "Hanif", "Fattah", "Alex", "Anass", - "Shamil", "Iftikhar", "Mhamad", "Mujahid", "Marcel", "Iqbal", "Zubair", "Nayel", "Marzouk", - "Yvon", "Rahim", "Leon", "Haroun", "Mouloud", "Talha", "Halim", "Youssef", "Fikret", - "Edmond", "Tareq", "Walid", "Antonius", "Nizam", "Aslan", "John", "Aday", "Faraz", - "Rasheed", "Akash", "Ibo", "Wassim", "Muad", "Salih", "Mikael", "Husam"}; - -const std::array syrianFemaleFirstNames = { - "Nour", "Fatima", "Dara", "Mariam", "Darya", "Amara", "Mari", "Jihad", "Hikmat", - "Sabah", "Hanan", "Nihad", "Khadija", "Rana", "Mona", "Zainab", "Alaa", "Heba", - "Hala", "Rama", "Hoda", "Nasreen", "Wissam", "Sarah", "Manal", "Reda", "Rasha", - "Iman", "Zahra", "Nada", "Jamila", "Wafa", "Najah", "Samira", "Aya", "Maysaa", - "Amal", "Yara", "Amina", "Marwa", "Laila", "Halima", "Fattoum", "Ayesha", "Aisha", - "Lina", "Samar", "Joan", "Bayan", "Safa", "Haya", "Ela", "Farah", "Alia", - "Hana", "Faten", "Walaa", "Hind", "Rania", "Souad", "Duaa", "Dalal", "Babila", - "Sana", "Yasmin", "Ghada", "Nawar", "Siham", "Nadia", "Bushra", "Fadia", "Rima", - "Maha", "Ihsan", "Nidal", "Sahar", "Georgette", "Najwa", "Ibtisam", "Amna", "Batoul", - "Wiam", "Nawal", "Maya", "Dima", "Manar", "Dana", "Razan", "Sally", "Nahed", - "Salwa", "Hayam", "Diana", "Asmaa", "Zara", "Sawsan", "Rose", "Susan", "Dania", - "Elian", "Catherine", "Fadwa", "Arwa", "Kholoud", "Salama", "Badia", "Fahima", "Lana", - "Fayrouz", "Mary", "Inas", "Kawthar", "Beda", "Safia", "Randa", "Nahla", "Basma", - "Hasna", "Aziza", "Samah", "Anara", "Sabine", "Anam", "Maria", "Saba", "Rehab", - "Meliha", "Lubna", "Nora", "Badra", "Jade", "Noha", "Ahlam", "Fatim", "Karen", - "Khadra", "Rajaa", "Asma", "Hanna", "Aida", "Medea", "Hayat", "Elham", "Azra", - "Ala", "Maram", "Sumaya", "Jihan", "Zeina", "Amira", "Nadine", "Naima", "Hina", - "Samia", "Rahma", "Sima", "Ghazala", "Ramia", "Hajar", "Rayan", "Hajira", "Ana", - "Nasra", "Nahida", "Nasim", "Afaf", "Najma", "Salma", "Doreen", "Shaheen", "Lamis", - "Sare", "Raja", "Elia", "Hamida", "Wesal", "Magda", "Fawzia", "Houria", "Mai", - "Latifa", "Rokaya", "Saadia", "Farida", "Ayada", "Lamia", "Bahia", "Linda", "Samiha", - "Shadia", "Nariman", "Nicola", "Nayla", "Faiza", "Badria", "Najat", "Mirna", "Mounira", - "Judy", "Suhaila", "Hawa", "Josephine", "Dale", "Mara", "Afra", "Asmahan", "Awatif", - "Fayza", "Medina", "Afnan", "Nicole", "Hajra", "Janet", "Donia", "Nozha", "Najla", - "Nazira", "Elly", "Antoinette", "Dany", "Elaine", "Ria", "Yousra", "Saada", "Rahila", - "Asia", "Fathia", "Hassiba", "Mahdia", "Nabila", "Sakina", "Khawla", "Azza", "Wahiba", - "Madiha", "Lara", "Rabia", "Rita", "Dina", "Rabab", "Radia", "Sonia", "Sasha", - "Elena", "Malak", "Bahija", "Sabria", "Mia", "Omaima", "Madeleine", "Karima", "Marilyn", - "Yola", "Norma", "Ghalia", "Raida", "Hiba", "Dalia", "Malika", "Katia", "Julia", - "Nasima", "Shahnaz", "Sanaa", "Salima", "Abla", "Sandra", "Fatna", "Jacqueline", "Banna", - "Elissa", "Lydia", "Nahia", "Dahab", "Claude", "Janan", "Zahia", "Therese", "Rene", - "Sara", "Noor", "Amia", "Eveline", "Christine", "Najia", "Mimouna", "Hadia", "Anisa", - "Yohanna", "Shahida", "Hanifa", "Violet", "Juliet", "Sarra", "Melia", "Ziara", "Helen", - "Ayat", "Rani", "Mariana", "Lorraine", "Anaya", "Juliana", "Silva", "Tamara", "Na", - "Nelly", "Rahima", "Lilian", "Ikram", "Hakima", "Islam", "Huda", "Noura", "Georgina", - "Barbara", "Rachida", "Samra", "Helena", "Amani", "Nargis", "Adila", "Jana", "Rawan", - "Sama", "Sultana", "Tania", "Liza", "Lian", "Aman", "Olga", "Soria", "Amra", - "Nafisa", "Zahida", "Najiha", "Amelia", "Caroline", "Nirmin", "Zina", "Suzan", "May", - "Majida", "Yana", "Mouna", "Jocelyn", "Moumna", "Eman", "Rabha", "Thania"}; - -const std::array syrianLastNames = { - "Khaled", "Mohamed", "Al numan", "Ahmed", "Ali", "Hussein", "Hassan", "Ibrahim", - "Mahmoud", "Samaan", "Alzuhur", "Saleh", "Alththania", "Allah", "Mostafa", "Suleiman", - "Yousef", "Aldaman", "Khalil", "Khalaf", "El din", "Ismail", "Eisaa", "Hamoud", - "Abdel", "Saeed", "Mousa", "Omar", "Jassim", "Sheikh", "Awad", "Deeb", - "Al-karim", "Azza", "Abdo", "Qasim", "Elkader", "Osman", "Abbas", "Badr", - "Al-razzaq", "El hajj", "Khader", "Abdullah", "Hamad", "El abd", "Yassin", "Al jassim", - "Aboud", "Shamalieh", "Al aziz", "Haj", "Ramadan", "Hamid", "Asaad", "El arab", - "Obaid", "Jerash", "Khalif", "Nasser", "Salim", "Shams", "Al hamoud", "Fares", - "Rashid", "Khair", "Juma", "Hamdan", "Eid", "Salem", "Darwish", "Salloum", - "Adnan", "Younis", "Sobhy", "Mansour", "Jamil", "Habib", "Yujad", "Nayef", - "Shehadeh", "Salman", "El latif", "Amin", "Taha", "Mari", "Al ward", "Salama", - "Hilal", "Alyousf", "Hamada", "Al mousa", "Turki", "Duyub", "Jumah", "Khadour", - "Diab", "Al awamid", "Haji", "Sharqia", "Al omar", "Yahya", "Farhan", "Mohsen", - "Shaaban", "Al khatib", "Hamed", "Fahd", "Hamidi", "Masry", "Dawood", "Saad", - "Bashir", "Kamel", "Al-majeed", "Al sheikh", "Matar", "El helou", "Haddad", "El sharqeya", - "Mahfoud", "El hadi", "Al ain", "El wahab", "Fayez", "Haidar", "Zidan", "Hassoun", - "Hamdou", "Hamza", "Al hamad", "Omran", "Tawfiq", "Khalifa", "Ayed", "Sah", - "Qasarneh", "Al fattah", "Al thina", "Daoud", "Islam", "Hammadi", "Fadel", "Sherif", - "Al rahim", "Shaheen", "Al haji", "Arab", "Barakat", "Hamo", "Ghanim", "Maarouf", - "Idris", "El salam", "Sameh", "Al humaidi", "Aladol", "Aziz", "Muslim", "Ragab", - "Mukhlaf", "Attieh", "Fawaz", "Al dahour", "Alawi", "Jamal", "Jan", "Artouz", - "Adel", "El ghany", "Halab", "Refaat", "Oued", "Fayad", "Waleed", "Kamal", - "Assaf", "Al aboud", "Jiblah", "Al aliawi", "Aswad", "Zakaria", "Mehrez", "Al mashrafah", - "Saber", "Al-khader", "Faraj", "Nawaf", "Faisal", "Khalouf", "Sultan", "Al othman", - "Zuhair", "Aref", "Elias", "Mariam", "Mamdouh", "Bedour", "Radwan", "Hanna", - "Al-abdullah", "Ghazi", "Asas", "Sattouf", "Zaky", "El sayed", "Hamdy", "Alloush", - "Adeeb", "Al menem", "Al-zayt", "Raslan", "Odeh", "Asber", "Yabous", "Abyad", - "Fawzi", "Al ismail", "Allawi", "Mounir", "Jandal", "Abou", "Taher", "Nour", - "Najm", "Al najjar", "Naguib", "Tayseer", "Saqr", "Qabaliyah", "Muhanna", "Al-khalif", - "Bakr", "Ezz", "Nasan", "Hashem", "Alakhas", "Jaber", "Nouri", "Al-mansour", - "Ayoub", "Al turkman", "Hassou", "El hamdou", "Nader", "Shahoud", "Fouad", "Abdul rahman", - "Hammad", "Taleb", "Alo", "Al jabbar", "Samir", "Qadour", "Salah", "Al hilal", - "Fendi", "Mihoub", "Reda", "Melhem", "Nawos", "Al tina", "Bakri", "Al jalil", - "Dahir", "Damascus", "Bouzan", "Fattoum", "Bakour", "Sue", "Bilal", "El hadid", - "Al jamaa", "Zaher", "Amoun", "Jadoua", "Marwan", "Jadaan", "Qubailah", "Gamalan", - "Qalq", "Daham", "Hajj", "Al dahir", "Kaeika", "Aqeel", "Tahta", "Karim", - "Murad", "El shamaly", "Kurdi", "Aklah", "Shawah", "Abdel rahman", "Nasr", "Rabie", - "Rustom", "Barhoum", "Al hamada", "Assi", "Al qasim", "El halaby", "Khoury", "Al-kurdi", - "Hama", "Maala", "Saud", "Khatib", "El fares", "Abdul karim", "Ela", "Sharqi", - "Akram", "Farah", "Rahil", "Riad", "Al hayy", "Al assaf", "Shehab", "Hatem", - "Sakour", "Heloum", "Rateb", "Ghaleb", "Jneid", "Nazir", "Nemeh", "Al-basset", - "Badawi", "Halaboun", "Moheisen", "Hegazy", "Al sbaa", "Tamer", "Nazzal", "Wassouf", - "Al-hakim", "El said", "Khamis", "Kabir", "Habash", "Maahed", "Madameh", "Gerges", - "Oly", "Abdelkader", "Al awad", "Al safa", "Sayah", "Trama"}; - -const NameFormats syrianNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames syrianPeopleNames{{syrianMaleFirstNames, syrianLastNames, {}, {}}, - {syrianFemaleFirstNames, syrianLastNames, {}, {}}, - syrianNameFormats}; - -// Turkey - -const std::array turkishMaleFirstNames = { - "Ahmet", "Mehmet", "Mustafa", "Ali", "Emre", "Burak", "Can", "Cem", "Eren", "Onur", "Kaan", - "Serkan", "Hakan", "Yusuf", "Okan", "Barış", "Tolga", "Kerem", "Deniz", "Oğuz", "Umut", "Gökhan", - "İsmail", "Metin", "Orhan", "İlker", "Levent", "Selim", "Berk", "Uğur", "Murat", "Tarık", "Cihan", - "Fatih", "Furkan", "Yiğit", "Tarkan", "Volkan", "Mert", "Alp", "Taylan", "Burhan", "Ege", "Koray"}; - -const std::array turkishFemaleFirstNames = { - "Ayşe", "Fatma", "Zeynep", "Emine", "Merve", "Elif", "Melis", "Esra", "İrem", "Ebru", "Selma", - "Leyla", "Selin", "Gamze", "Gizem", "Ceren", "Deniz", "Aslı", "Nazlı", "Pınar", "İlayda", "Dilara", - "Büşra", "Rabia", "Yasemin", "Gül", "Nur", "Melek", "Sude", "Şeyma", "Beren", "Eylül", "İpek", - "Hande", "Cansu", "Özge", "Hilal", "Bilge", "Serra", "İlknur", "Cemre", "Tuğba", "Yelda"}; - -const std::array turkishLastNames = { - "Yılmaz", "Demir", "Kaya", "Çelik", "Yıldız", "Türk", "Güneş", "Ergin", "Arslan", - "Doğan", "Kurt", "Şahin", "Güler", "Çetin", "Aydın", "Yalçın", "Kaplan", "Aksoy", - "Taş", "Koç", "Erdoğan", "Yılmazer", "Bulut", "Acar", "Uçar", "Kılıç", "Karahan", - "Tekin", "Soydan", "Çalışkan", "Öztürk", "Yalın", "Kara", "Özkan", "Akın", "Aktaş", - "Büyükcengiz", "Okan", "Şimşek", "Keskin", "Kayabaş", "Kayabaşı", "Atalay", "Ünal", "Demirci", - "Yaman", "Gündoğdu", "Çevik", "Durmaz", "Aslan", "Güzel", "Kahraman"}; - -const std::array turkishMalePrefixes{"Bay", "Dr.", "Prof. Dr."}; - -const std::array turkishFemalePrefixes{"Bayan", "Dr.", "Prof. Dr."}; - -const NameFormats turkish_personNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 8}}}; - -const PeopleNames turkishPeopleNames{{turkishMaleFirstNames, turkishLastNames, turkishMalePrefixes, {}}, - {turkishFemaleFirstNames, turkishLastNames, turkishFemalePrefixes, {}}, - turkish_personNameFormats}; - -// Ukraine - -const std::array ukrainianMaleFirstNames = { - "Августин", "Аврелій", "Адам", "Адріян", "Азарій", "Алевтин", "Альберт", "Анастас", - "Анастасій", "Анатолій", "Андрій", "Антін", "Антон", "Антоній", "Аркадій", "Арсен", - "Арсеній", "Артем", "Архип", "Аскольд", "Афанасій", "Біломир", "Білослав", "Богдан", - "Божемир", "Божен", "Болеслав", "Боримир", "Боримисл", "Борис", "Борислав", "Братимир", - "Братислав", "Братомил", "Братослав", "Брячислав", "Будимир", "Буйтур", "Буревіст", "В’ячеслав", - "Вадим", "Валентин", "Валерій", "Василь", "Велемир", "Віктор", "Віталій", "Влад", - "Владислав", "Володимир", "Володислав", "Всевлад", "Всеволод", "Всеслав", "Гаврило", "Гарнослав", - "Геннадій", "Георгій", "Герасим", "Гліб", "Гнат", "Гордій", "Горимир", "Горислав", - "Градимир", "Григорій", "Далемир", "Данило", "Дарій", "Даромир", "Денис", "Дмитро", - "Добромир", "Добромисл", "Доброслав", "Євген", "Єремій", "Захар", "Захарій", "Зборислав", - "Звенигор", "Звенимир", "Звенислав", "Земислав", "Зеновій", "Зиновій", "Злат", "Златомир", - "Зоремир", "Зореслав", "Зорян", "Іван", "Ігор", "Ізяслав", "Ілля", "Кий", - "Корнелій", "Корнилій", "Корнило", "Корній", "Костянтин", "Кузьма", "Лаврентій", "Лаврін", - "Лад", "Ладислав", "Ладо", "Ладомир", "Левко", "Листвич", "Лук’ян", "Любодар", - "Любозар", "Любомир", "Макар", "Максим", "Мар’ян", "Маркіян", "Марко", "Матвій", - "Мечислав", "Микита", "Микола", "Мирон", "Мирослав", "Михайло", "Мстислав", "Мусій", - "Назар", "Назарій", "Натан", "Немир", "Нестор", "Олег", "Олександр", "Олексій", - "Олелько", "Олесь", "Омелян", "Орест", "Орхип", "Остап", "Охрім", "Павло", - "Панас", "Пантелеймон", "Петро", "Пилип", "Подолян", "Потап", "Радим", "Радимир", - "Ратибор", "Ратимир", "Родіон", "Родослав", "Роксолан", "Роман", "Ростислав", "Руслан", - "Святополк", "Святослав", "Семибор", "Сергій", "Синьоок", "Славолюб", "Славомир", "Славута", - "Сніжан", "Сологуб", "Станіслав", "Степан", "Стефаній", "Стожар", "Тарас", "Тиміш", - "Тимофій", "Тихон", "Тур", "Устим", "Хвалимир", "Хорив", "Чорнота", "Щастислав", - "Щек", "Юліан", "Юрій", "Юхим", "Ян", "Ярема", "Яровид", "Яромил", - "Яромир", "Ярополк", "Ярослав"}; - -const std::array ukrainianFemaleFirstNames = { - "Аврелія", "Аврора", "Агапія", "Агата", "Агафія", "Агнеса", "Агнія", "Агрипина", - "Ада", "Аделаїда", "Аделіна", "Адріана", "Азалія", "Алевтина", "Аліна", "Алла", - "Альбіна", "Альвіна", "Анастасія", "Анатолія", "Ангеліна", "Анжела", "Анна", "Антонида", - "Антоніна", "Антонія", "Анфіса", "Аполлінарія", "Аполлонія", "Аркадія", "Артемія", "Афанасія", - "Білослава", "Біляна", "Благовіста", "Богдана", "Богуслава", "Божена", "Болеслава", "Борислава", - "Броніслава", "В’ячеслава", "Валентина", "Валерія", "Варвара", "Василина", "Вікторія", "Вілена", - "Віленіна", "Віліна", "Віола", "Віолетта", "Віра", "Віргінія", "Віта", "Віталіна", - "Влада", "Владислава", "Власта", "Всеслава", "Галина", "Ганна", "Гелена", "Далеслава", - "Дана", "Дарина", "Дарислава", "Діана", "Діяна", "Добринка", "Добромила", "Добромира", - "Добромисла", "Доброслава", "Долеслава", "Доляна", "Жанна", "Жозефіна", "Забава", "Звенислава", - "Зінаїда", "Злата", "Зореслава", "Зорина", "Зоряна", "Зоя", "Іванна", "Ілона", - "Інна", "Іннеса", "Ірина", "Ірма", "Калина", "Каріна", "Катерина", "Квітка", - "Квітослава", "Клавдія", "Крентта", "Ксенія", "Купава", "Лада", "Лариса", "Леся", - "Ликера", "Лідія", "Лілія", "Любава", "Любислава", "Любов", "Любомила", "Любомира", - "Люборада", "Любослава", "Людмила", "Людомила", "Майя", "Мальва", "Мар’яна", "Марина", - "Марічка", "Марія", "Марта", "Меланія", "Мечислава", "Милодара", "Милослава", "Мирослава", - "Мілана", "Мокрина", "Мотря", "Мстислава", "Надія", "Наталія", "Неля", "Немира", - "Ніна", "Огняна", "Оксана", "Олександра", "Олена", "Олеся", "Ольга", "Ореста", - "Орина", "Орислава", "Орися", "Оріяна", "Павліна", "Палажка", "Пелагея", "Пелагія", - "Поліна", "Поляна", "Потішана", "Радміла", "Радослава", "Раїна", "Раїса", "Роксолана", - "Ромена", "Ростислава", "Руслана", "Світлана", "Святослава", "Слава", "Сміяна", "Сніжана", - "Соломія", "Соня", "Софія", "Станислава", "Сюзана", "Таїсія", "Тамара", "Тетяна", - "Устина", "Фаїна", "Февронія", "Федора", "Феодосія", "Харитина", "Христина", "Христя", - "Юліанна", "Юлія", "Юстина", "Юхима", "Юхимія", "Яна", "Ярина", "Ярослава"}; - -const std::array ukrainianMalesLastNames = { - "Андрухович", "Бабух", "Балабан", "Балабух", "Балакун", "Балицький", "Бамбула", - "Бандера", "Барановський", "Бачей", "Башук", "Бердник", "Білич", "Бондаренко", - "Борецький", "Боровський", "Борочко", "Боярчук", "Брицький", "Бурмило", "Бутько", - "Василин", "Василишин", "Васильківський", "Вергун", "Вередун", "Верещук", "Витребенько", - "Вітряк", "Волощук", "Гайдук", "Гайовий", "Гайчук", "Галаєнко", "Галатей", - "Галаціон", "Гаман", "Гамула", "Ганич", "Гарай", "Гарун", "Гладківський", - "Гладух", "Глинський", "Гнатишин", "Гойко", "Головець", "Горбач", "Гордійчук", - "Горовий", "Городоцький", "Гречко", "Григоришин", "Гриневецький", "Гриневський", "Гришко", - "Громико", "Данилишин", "Данилко", "Демків", "Демчишин", "Дзюб’як", "Дзюба", - "Дідух", "Дмитришин", "Дмитрук", "Довгалевський", "Дурдинець", "Євенко", "Євпак", - "Ємець", "Єрмак", "Забіла", "Зварич", "Зінкевич", "Зленко", "Іванишин", - "Іванів", "Іванців", "Калач", "Кандиба", "Карпух", "Каськів", "Кивач", - "Коваленко", "Ковальський", "Коломієць", "Коман", "Компанієць", "Кононець", "Кордун", - "Корецький", "Корнїйчук", "Коров’як", "Коцюбинський", "Кулинич", "Кульчицький", "Лагойда", - "Лазірко", "Лановий", "Латаний", "Латанський", "Лахман", "Левадовський", "Ликович", - "Линдик", "Ліхно", "Лобачевський", "Ломовий", "Луговий", "Луцький", "Луцьків", - "Лученко", "Лучко", "Лютий", "Лящук", "Магера", "Мазайло", "Мазило", - "Мазун", "Майборода", "Майстренко", "Маковецький", "Малкович", "Мамій", "Маринич", - "Марієвський", "Марків", "Махно", "Миклашевський", "Миклухо", "Милославський", "Михайлюк", - "Міняйло", "Могилевський", "Москаль", "Москалюк", "Мотрієнко", "Негода", "Ногачевський", - "Опенько", "Осадко", "Павленко", "Павлишин", "Павлів", "Пагутяк", "Паламарчук", - "Палій", "Паращук", "Пасічник", "Пендик", "Петик", "Петлюра", "Петренко", - "Петрин", "Петришин", "Петрів", "Плаксій", "Погиба", "Поліщук", "Пономарів", - "Поривай", "Поривайло", "Потебенько", "Потоцький", "Пригода", "Приймак", "Притула", - "Прядун", "Розпутній", "Романишин", "Романів", "Ромей", "Роменець", "Ромочко", - "Савицький", "Саєнко", "Свидригайло", "Семеночко", "Семещук", "Сердюк", "Силецький", - "Сідлецький", "Сідляк", "Сірко", "Скиба", "Скоропадський", "Слободян", "Сосюра", - "Сплюх", "Спотикач", "Стахів", "Степанець", "Стецьків", "Стигайло", "Сторожук", - "Сторчак", "Стоян", "Сучак", "Сушко", "Тарасюк", "Тиндарей", "Ткаченко", - "Третяк", "Троян", "Трублаєвський", "Трясило", "Трясун", "Уманець", "Унич", - "Усич", "Федоришин", "Хитрово", "Цимбалістий", "Цушко", "Червоній", "Шамрило", - "Шевченко", "Шестак", "Шиндарей", "Шиян", "Шкараба", "Шудрик", "Шумило", - "Шупик", "Шухевич", "Щербак", "Юрчишин", "Юхно", "Ющик", "Ющук", - "Яворівський", "Яловий", "Ялюк", "Янюк", "Ярмак", "Яцишин", "Яцьків", - "Ящук"}; - -const std::array ukrainianFemaleLastNames = { - "Андрухович", "Бабух", "Балабан", "Балабуха", "Балакун", "Балицька", "Бамбула", - "Бандера", "Барановська", "Бачей", "Башук", "Бердник", "Білич", "Бондаренко", - "Борецька", "Боровська", "Борочко", "Боярчук", "Брицька", "Бурмило", "Бутько", - "Василишина", "Васильківська", "Вергун", "Вередун", "Верещук", "Витребенько", "Вітряк", - "Волощук", "Гайдук", "Гайова", "Гайчук", "Галаєнко", "Галатей", "Галаціон", - "Гаман", "Гамула", "Ганич", "Гарай", "Гарун", "Гладківська", "Гладух", - "Глинська", "Гнатишина", "Гойко", "Головець", "Горбач", "Гордійчук", "Горова", - "Городоцька", "Гречко", "Григоришина", "Гриневецька", "Гриневська", "Гришко", "Громико", - "Данилишина", "Данилко", "Демків", "Демчишина", "Дзюб’як", "Дзюба", "Дідух", - "Дмитришина", "Дмитрук", "Довгалевська", "Дурдинець", "Євенко", "Євпак", "Ємець", - "Єрмак", "Забіла", "Зварич", "Зінкевич", "Зленко", "Іванишина", "Калач", - "Кандиба", "Карпух", "Кивач", "Коваленко", "Ковальська", "Коломієць", "Коман", - "Компанієць", "Кононець", "Кордун", "Корецька", "Корнїйчук", "Коров’як", "Коцюбинська", - "Кулинич", "Кульчицька", "Лагойда", "Лазірко", "Ланова", "Латан", "Латанська", - "Лахман", "Левадовська", "Ликович", "Линдик", "Ліхно", "Лобачевська", "Ломова", - "Лугова", "Луцька", "Луцьків", "Лученко", "Лучко", "Люта", "Лящук", - "Магера", "Мазайло", "Мазило", "Мазун", "Майборода", "Майстренко", "Маковецька", - "Малкович", "Мамій", "Маринич", "Марієвська", "Марків", "Махно", "Миклашевська", - "Миклухо", "Милославська", "Михайлюк", "Міняйло", "Могилевська", "Москаль", "Москалюк", - "Мотрієнко", "Негода", "Ногачевська", "Опенько", "Осадко", "Павленко", "Павлишина", - "Павлів", "Пагутяк", "Паламарчук", "Палій", "Паращук", "Пасічник", "Пендик", - "Петик", "Петлюра", "Петренко", "Петрина", "Петришина", "Петрів", "Плаксій", - "Погиба", "Поліщук", "Пономарів", "Поривай", "Поривайло", "Потебенько", "Потоцька", - "Пригода", "Приймак", "Притула", "Прядун", "Розпутня", "Романишина", "Ромей", - "Роменець", "Ромочко", "Савицька", "Саєнко", "Свидригайло", "Семеночко", "Семещук", - "Сердюк", "Силецька", "Сідлецька", "Сідляк", "Сірко", "Скиба", "Скоропадська", - "Слободян", "Сосюра", "Сплюха", "Спотикач", "Степанець", "Стигайло", "Сторожук", - "Сторчак", "Стоян", "Сучак", "Сушко", "Тарасюк", "Тиндарей", "Ткаченко", - "Третяк", "Троян", "Трублаєвська", "Трясило", "Трясун", "Уманець", "Унич", - "Усич", "Федоришина", "Цушко", "Червоній", "Шамрило", "Шевченко", "Шестак", - "Шиндарей", "Шиян", "Шкараба", "Шудрик", "Шумило", "Шупик", "Шухевич", - "Щербак", "Юрчишина", "Юхно", "Ющик", "Ющук", "Яворівська", "Ялова", - "Ялюк", "Янюк", "Ярмак", "Яцишина", "Яцьків", "Ящук"}; - -const std::array ukrainianMalePrefixes{"Пан"}; - -const std::array ukrainianFemalePrefixes{"Пані"}; - -const NameFormats ukrainianNameFormats{{ - {"{firstName} {lastName}", 1}, - {"{lastName} {firstName}", 1}, -}}; - -const PeopleNames ukrainianPeopleNames{ - {ukrainianMaleFirstNames, ukrainianMalesLastNames, ukrainianMalePrefixes, {}}, - {ukrainianFemaleFirstNames, ukrainianFemaleLastNames, ukrainianFemalePrefixes, {}}, - ukrainianNameFormats}; - -// USA - -const NameFormats usaNameFormats{{{"{firstName} {lastName}", 49}, - {"{firstName} {lastName}-{lastName}", 7}, - {"{prefix} {firstName} {lastName}", 7}, - {"{firstName} {lastName} {suffix}", 7}, - {"{prefix} {firstName} {lastName} {suffix}", 1}}}; - -const PeopleNames usaPeopleNames{{englishMaleFirstNames, englishLastNames, englishMalePrefixes, englishSuffixes}, - {englishFemaleFirstNames, englishLastNames, englishFemalePrefixes, englishSuffixes}, - usaNameFormats}; - -// Vietnam - -const std::array vietnameseMaleFirstNames = { - "An Cơ", "An Khang", "Ân Lai", "An Nam", "An Nguyên", "An Ninh", "An Tâm", - "Ân Thiện", "An Tường", "Anh Đức", "Anh Dũng", "Anh Duy", "Anh Hoàng", "Anh Khải", - "Anh Khoa", "Anh Khôi", "Anh Minh", "Anh Quân", "Anh Quốc", "Anh Sơn", "Anh Tài", - "Anh Thái", "Anh Tú", "Anh Tuấn", "Anh Tùng", "Anh Việt", "Anh Vũ", "Bá Cường", - "Bá Kỳ", "Bá Lộc", "Bá Long", "Bá Phước", "Bá Thành", "Bá Thiện", "Bá Thịnh", - "Bá Thúc", "Bá Trúc", "Bá Tùng", "Bách Du", "Bách Nhân", "Bằng Sơn", "Bảo An", - "Bảo Bảo", "Bảo Chấn", "Bảo Định", "Bảo Duy", "Bảo Giang", "Bảo Hiển", "Bảo Hoa", - "Bảo Hoàng", "Bảo Huy", "Bảo Huynh", "Bảo Huỳnh", "Bảo Khánh", "Bảo Lâm", "Bảo Long", - "Bảo Pháp", "Bảo Quốc", "Bảo Sơn", "Bảo Thạch", "Bảo Thái", "Bảo Tín", "Bảo Toàn", - "Bích Nhã", "Bình An", "Bình Dân", "Bình Đạt", "Bình Định", "Bình Dương", "Bình Hòa", - "Bình Minh", "Bình Nguyên", "Bình Quân", "Bình Thuận", "Bình Yên", "Bửu Chưởng", "Bửu Diệp", - "Bữu Toại", "Cảnh Tuấn", "Cao Kỳ", "Cao Minh", "Cao Nghiệp", "Cao Nguyên", "Cao Nhân", - "Cao Phong", "Cao Sĩ", "Cao Sơn", "Cao Sỹ", "Cao Thọ", "Cao Tiến", "Cát Tường", - "Cát Uy", "Chấn Hùng", "Chấn Hưng", "Chấn Phong", "Chánh Việt", "Chế Phương", "Chí Anh", - "Chí Bảo", "Chí Công", "Chí Dũng", "Chí Giang", "Chí Hiếu", "Chí Khang", "Chí Khiêm", - "Chí Kiên", "Chí Nam", "Chí Sơn", "Chí Thanh", "Chí Thành", "Chiến Thắng", "Chiêu Minh", - "Chiêu Phong", "Chiêu Quân", "Chính Tâm", "Chính Thuận", "Chính Trực", "Chuẩn Khoa", "Chung Thủy", - "Công Án", "Công Ân", "Công Bằng", "Công Giang", "Công Hải", "Công Hào", "Công Hậu", - "Công Hiếu", "Công Hoán", "Công Lập", "Công Lộc", "Công Luận", "Công Luật", "Công Lý", - "Công Phụng", "Công Sinh", "Công Sơn", "Công Thành", "Công Tráng", "Công Tuấn", "Cường Dũng", - "Cương Nghị", "Cương Quyết", "Cường Thịnh", "Đắc Cường", "Đắc Di", "Đắc Lộ", "Đắc Lực", - "Đắc Thái", "Đắc Thành", "Đắc Trọng", "Đại Dương", "Đại Hành", "Đại Ngọc", "Đại Thống", - "Dân Hiệp", "Dân Khánh", "Đan Quế", "Đan Tâm", "Đăng An", "Đăng Đạt", "Đăng Khánh", - "Đăng Khoa", "Đăng Khương", "Đăng Minh", "Đăng Quang", "Danh Nhân", "Danh Sơn", "Danh Thành", - "Danh Văn", "Đạt Dũng", "Đạt Hòa", "Đình Chiểu", "Đình Chương", "Đình Cường", "Đình Diệu", - "Đình Đôn", "Đình Dương", "Đình Hảo", "Đình Hợp", "Đình Kim", "Đinh Lộc", "Đình Lộc", - "Đình Luận", "Định Lực", "Đình Nam", "Đình Ngân", "Đình Nguyên", "Đình Nhân", "Đình Phú", - "Đình Phúc", "Đình Quảng", "Đình Sang", "Định Siêu", "Đình Thắng", "Đình Thiện", "Đình Toàn", - "Đình Trung", "Đình Tuấn", "Đoàn Tụ", "Đồng Bằng", -}; - -const std::array vietnameseFemaleFirstNames = { - "An Bình", "An Di", "An Hạ", "An Hằng", "An Khê", "An Nhiên", "An Nhàn", "Anh Chi", - "Anh Hương", "Anh Mai", "Anh Phương", "Anh Thi", "Anh Thy", "Anh Thơ", "Anh Thư", "Anh Thảo", - "Anh Vũ", "Anh Đào", "Ban Mai", "Bình Minh", "Bình Yên", "Bích Chiêu", "Bích Châu", "Bích Duyên", - "Bích Hiền", "Bích Huệ", "Bích Hà", "Bích Hạnh", "Bích Hải", "Bích Hảo", "Bích Hậu", "Bích Hằng", - "Bích Hồng", "Bích Hợp", "Bích Lam", "Bích Liên", "Bích Loan", "Bích Nga", "Bích Ngà", "Bích Ngân", - "Bích Ngọc", "Bích Như", "Bích Phượng", "Bích Quyên", "Bích Quân", "Bích San", "Bích Thoa", "Bích Thu", - "Bích Thảo", "Bích Thủy", "Bích Trang", "Bích Trâm", "Bích Ty", "Bích Vân", "Bích Điệp", "Bích Đào", - "Băng Băng", "Băng Tâm", "Bạch Cúc", "Bạch Hoa", "Bạch Kim", "Bạch Liên", "Bạch Loan", "Bạch Mai", - "Bạch Quỳnh", "Bạch Trà", "Bạch Tuyết", "Bạch Vân", "Bạch Yến", "Bảo Anh", "Bảo Bình", "Bảo Châu", - "Bảo Huệ", "Bảo Hà", "Bảo Hân", "Bảo Lan", "Bảo Lễ", "Bảo Ngọc", "Bảo Phương", "Bảo Quyên", - "Bảo Quỳnh", "Bảo Thoa", "Bảo Thúy", "Bảo Tiên", "Bảo Trâm", "Bảo Trân", "Bảo Trúc", "Bảo Uyên", - "Bảo Vy", "Bảo Vân", "Bội Linh", "Cam Thảo", "Chi Lan", "Chi Mai", "Chiêu Dương", "Cát Cát", - "Cát Linh", "Cát Ly", "Cát Tiên", "Cát Tường", "Cẩm Hiền", "Cẩm Hường", "Cẩm Hạnh", "Cẩm Linh", - "Cẩm Liên", "Cẩm Ly", "Cẩm Nhi", "Cẩm Nhung", "Cẩm Thúy", "Cẩm Tú", "Cẩm Vân", "Cẩm Yến", - "Di Nhiên", "Diên Vỹ", "Diễm Chi", "Diễm Châu", "Diễm Hương", "Diễm Hạnh", "Diễm Hằng", "Diễm Khuê", - "Diễm Kiều", "Diễm Liên", "Diễm Lộc", "Diễm My", "Diễm Phúc", "Diễm Phương", "Diễm Phước", "Diễm Phượng", - "Diễm Quyên", "Diễm Quỳnh", "Diễm Thúy", "Diễm Thư", "Diễm Thảo", "Diễm Trang", "Diễm Trinh", "Diễm Uyên", - "Diệp Anh", "Diệp Vy", "Diệu Anh", "Diệu Hiền", "Diệu Hoa", "Diệu Huyền", "Diệu Hương", "Diệu Hạnh", - "Diệu Hằng", "Diệu Hồng", "Diệu Lan", "Diệu Linh", "Diệu Loan", "Diệu Nga", "Diệu Ngà", "Diệu Ngọc", - "Diệu Nương", "Diệu Thiện", "Diệu Thúy", "Diệu Vân", "Diệu Ái", "Duy Hạnh", "Duy Mỹ", "Duy Uyên", - "Duyên Hồng", "Duyên My", "Duyên Mỹ", "Duyên Nương", "Dã Lan", "Dã Lâm", "Dã Thảo", "Dạ Hương", - "Dạ Lan", "Dạ Nguyệt", "Dạ Thi", "Dạ Thảo", "Dạ Yến", "Gia Hân", "Gia Khanh", "Gia Linh", - "Gia Nhi", "Gia Quỳnh", "Giang Thanh", "Giang Thiên", "Giao Hưởng", "Giao Kiều", "Giao Linh", "Giáng Ngọc", - "Giáng Tiên", "Giáng Uyên", "Hiếu Giang", "Hiếu Hạnh", "Hiếu Khanh", "Hiếu Minh", "Hiền Chung", "Hiền Hòa", - "Hiền Mai", "Hiền Nhi", "Hiền Nương", "Hiền Thục", "Hiểu Lam", "Hiểu Vân", "Hoa Liên", "Hoa Lý", -}; - -const std::array vietnameseLastNames = { - "Phạm", "Nguyễn", "Trần", "Lê", "Lý", "Hoàng", "Phan", "Vũ", "Tăng", - "Đặng", "Bùi", "Đỗ", "Hồ", "Ngô", "Dương", "Đào", "Đoàn", "Vương", - "Trịnh", "Đinh", "Lâm", "Phùng", "Mai", "Tô", "Trương", "Hà", "Huỳnh", -}; - -const NameFormats vietnameseNameFormats{{"{firstName} {lastName}", 1}}; - -const PeopleNames vietnamesePeopleNames{{vietnameseMaleFirstNames, vietnameseLastNames, {}, {}}, - {vietnameseFemaleFirstNames, vietnameseLastNames, {}, {}}, - vietnameseNameFormats}; - -const std::unordered_map PeopleNames{ - {Country::England, englishPeopleNames}, - {Country::France, frenchPeopleNames}, - {Country::Germany, germanPeopleNames}, - {Country::Italy, italianPeopleNames}, - {Country::Poland, polishPeopleNames}, - {Country::Russia, russianPeopleNames}, - {Country::Romania, romanianPeopleNames}, - {Country::India, indianPeopleNames}, - {Country::Finland, finnishPeopleNames}, - {Country::Nepal, nepalesePeopleNames}, - {Country::Spain, spanishPeopleNames}, - {Country::Turkey, turkishPeopleNames}, - {Country::Czech, czechPeopleNames}, - {Country::Slovakia, slovakPeopleNames}, - {Country::Ukraine, ukrainianPeopleNames}, - {Country::Denmark, danishPeopleNames}, - {Country::Sweden, swedishPeopleNames}, - {Country::Usa, usaPeopleNames}, - {Country::Brazil, brazilianPeopleNames}, - {Country::Norway, norwegianPeopleNames}, - {Country::Japan, japanesePeopleNames}, - {Country::Portugal, portuguesePeopleNames}, - {Country::Hungary, hungarianPeopleNames}, - {Country::Croatia, croatianPeopleNames}, - {Country::Greece, greekPeopleNames}, - {Country::Slovenia, slovenianPeopleNames}, - {Country::Austria, austrianPeopleNames}, - {Country::Switzerland, swissPeopleNames}, - {Country::Belgium, belgianPeopleNames}, - {Country::Netherlands, dutchPeopleNames}, - {Country::China, chinesePeopleNames}, - {Country::Korea, koreanPeopleNames}, - {Country::Canada, canadianPeopleNames}, - {Country::Mexico, mexicanPeopleNames}, - {Country::Argentina, argentinianPeopleNames}, - {Country::Australia, australianPeopleNames}, - {Country::Serbia, serbianPeopleNames}, - {Country::Macedonia, macedonianPeopleNames}, - {Country::Latvia, latvianPeopleNames}, - {Country::Ireland, irishPeopleNames}, - {Country::Belarus, belarusianPeopleNames}, - {Country::Estonia, estonianPeopleNames}, - {Country::Albania, albanianPeopleNames}, - {Country::Iran, persianPeopleNames}, - {Country::Bulgaria, bulgarianPeopleNames}, - {Country::Moldova, moldovanPeopleNames}, - {Country::Lithuania, lithuanianPeopleNames}, - {Country::Iceland, icelandicPeopleNames}, - {Country::Palestine, palestinianPeopleNames}, - {Country::Israel, israeliPeopleNames}, - {Country::Vietnam, vietnamesePeopleNames}, - {Country::Monaco, monacanPeopleNames}, - {Country::Bosnia, bosnianPeopleNames}, - {Country::Lebanon, lebanesePeopleNames}, - {Country::Syria, syrianPeopleNames}, - {Country::Malta, maltesePeopleNames}, - {Country::SouthAfrica, southAfricanPeopleNames}, - {Country::Azerbaijan, azerbaijaniPeopleNames}, - {Country::Ghana, ghanaianPeopleNames}, - {Country::Kazakhstan, kazakhPeopleNames}, - {Country::Maldives, maldiviansPeopleNames}, -}; - -} diff --git a/src/modules/person/PersonData.h b/src/modules/person/PersonData.h index 74cf7897..9ceac267 100644 --- a/src/modules/person/PersonData.h +++ b/src/modules/person/PersonData.h @@ -10,16 +10,6 @@ namespace faker { -extern const std::array bioParts; -extern const std::array bioSupporters; -extern const std::array bioFormats; -extern const std::array genders; -extern const std::array hobbies; -extern const std::array jobDescriptors; -extern const std::array jobAreas; -extern const std::array jobTypes; -extern const std::array languages; - struct NameFormat { std::string_view format; @@ -28,8 +18,6 @@ struct NameFormat using NameFormats = std::vector; -extern const std::array nationalities; - struct PersonNames { std::span firstNames; @@ -45,567 +33,11983 @@ struct PeopleNames NameFormats nameFormats; }; -extern const std::unordered_map ssnFormats; -extern const std::array westernZodiacs; -extern const std::array chineseZodiacs; -extern const std::unordered_map> sexTranslations; -extern const std::array supportedSsnCountries; +const auto bioParts = std::to_array({ + "Activist", "Artist", "Author", "Blogger", "Business owner", "Coach", "Creator", + "Designer", "Developer", "Dreamer", "Educator", "Engineer", "Entrepreneur", "Environmentalist", + "Film lover", "Filmmaker", "Foodie", "Founder", "Friend", "Gamer", "Geek", + "Grad", "Inventor", "Leader", "Model", "Musician", "Nerd", "Parent", + "Patriot", "Person", "Philosopher", "Photographer", "Public speaker", "Scientist", "Singer", + "Streamer", "Student", "Teacher", "Traveler", "Veteran", "Writer", +}); + +const auto bioSupporters = std::to_array({ + "Advocate", "Devotee", "Enthusiast", "Fan", + "Junkie", "Lover", "Supporter" +}); + +const auto bioFormats = std::to_array({ + "{bio_part}", + "{bio_part}, {bio_part}", + "{bio_part}, {bio_part}, {bio_part}", + "{bio_part}, {bio_part}, {bio_part}, {emoji}", + "{noun} {bio_supporter}", + "{noun} {bio_supporter} {emoji}", + "{noun} {bio_supporter}, {bio_part}", + "{noun} {bio_supporter}, {bio_part} {emoji}" +}); + +// Source: https://en.wikipedia.org/wiki/List_of_gender_identities +const auto genders = std::to_array({ + "Agender", + "Androgyne", + "Androgynous", + "Bigender", + "Cis female", + "Cis male", + "Cis man", + "Cis woman", + "Cis", + "Cisgender female", + "Cisgender male", + "Cisgender man", + "Cisgender woman", + "Cisgender", + "Demi-boy", + "Demi-girl", + "Demi-man", + "Demi-woman", + "Demiflux", + "Demigender", + "F2M", + "FTM", + "Female to male trans man", + "Female to male transgender man", + "Female to male transsexual man", + "Female to male", + "Gender fluid", + "Gender neutral", + "Gender nonconforming", + "Gender questioning", + "Gender variant", + "Genderflux", + "Genderqueer", + "Hermaphrodite", + "Intersex man", + "Intersex person", + "Intersex woman", + "Intersex", + "M2F", + "MTF", + "Male to female trans woman", + "Male to female transgender woman", + "Male to female transsexual woman", + "Male to female", + "Man", + "Multigender", + "Neither", + "Neutrois", + "Non-binary", + "Omnigender", + "Other", + "Pangender", + "Polygender", + "T* man", + "T* woman", + "Trans female", + "Trans male", + "Trans man", + "Trans person", + "Trans woman", + "Trans", + "Transexual female", + "Transexual male", + "Transexual man", + "Transexual person", + "Transexual woman", + "Transexual", + "Transgender female", + "Transgender person", + "Transmasculine", + "Trigender", + "Two* person", + "Two-spirit person", + "Two-spirit", + "Woman", + "Xenogender", +}); + +const auto hobbies = std::to_array({ + "Playing guitar", + "Reading books", + "Hiking", + "Cooking", + "Painting", + "Photography", + "Swimming", + "Gaming", + "Dancing", + "Traveling", + "Bird watching", + "Coding", + "Singing", + "Collecting stamps", + "Fishing", + "Yoga", + "Sculpting", + "Mountain biking", + "Chess", + "Archery", + "Rock climbing", + "Skiing", + "Writing poetry", + "Meditation", + "Solving puzzles", + "Gardening", + "Playing basketball", + "Volunteering", + "Playing board games", + "Astrophotography", + "Camping", + "Model building", + "Astronomy", + "Watching movies", + "Stargazing", + "Playing tennis", + "Cooking ethnic cuisines", + "Woodworking", + "Baking", + "Calligraphy", + "Pottery", + "Karaoke", + "Scuba diving", + "Metal detecting", +}); + +const auto jobDescriptors = std::to_array({ + "Lead", "Senior", "Direct", "Corporate", "Dynamic", "Future", "Product", + "National", "Regional", "District", "Central", "Global", "Customer", "Investor", + "International", "Legacy", "Forward", "Internal", "Human", "Chief", "Principal", +}); + +const auto jobAreas = std::to_array({ + "Solutions", "Program", "Brand", "Security", "Research", "Marketing", + "Directives", "Implementation", "Integration", "Functionality", "Response", "Paradigm", + "Tactics", "Identity", "Markets", "Group", "Division", "Applications", + "Optimization", "Operations", "Infrastructure", "Intranet", "Communications", "Web", + "Branding", "Quality", "Assurance", "Mobility", "Accounts", "Data", + "Creative", "Configuration", "Accountability", "Interactions", "Factors", "Usability", + "Metrics", "Software" +}); + +const auto jobTypes = std::to_array({ + "Supervisor", "Associate", "Executive", "Liaison", "Officer", "Manager", "Engineer", + "Specialist", "Director", "Coordinator", "Administrator", "Architect", "Analyst", "Designer", + "Planner", "Orchestrator", "Technician", "Developer", "Producer", "Consultant", "Assistant", + "Facilitator", "Agent", "Representative", "Strategist", +}); + +const auto languages = std::to_array({ + "English", "Polish", "Italian", "French", "German", "Russian", "Romanian", "Hindi", "Finnish", + "Nepali", "Spanish", "Turkish", "Czech", "Slovak", "Ukrainian", "Danish", "Swedish", "Persian(Farsi)" +}); + +const auto nationalities = std::to_array({ + "American", "British", "Canadian", "French", "German", "Japanese", "Australian", + "Chinese", "Indian", "Italian", "Mexican", "Russian", "Brazilian", "Swedish", + "South Korean", "Spanish", "Dutch", "Norwegian", "Turkish", "Greek", "Egyptian", + "Israeli", "Saudi Arabian", "South African", "Swiss", "Argentinian", "New Zealander", "Thai", + "Vietnamese", "Irish", "Polish", "Portuguese", "Danish", "Scottish", "Welsh", + "Belgian", "Austrian", "Finnish", "Hungarian", "Czech", "Romanian", "Ukrainian", + "Swedish", "Norwegian", "Singaporean", "Malaysian", "Filipino", "Indonesian", "Kuwaiti", + "Qatari", "Emirati", "Jordanian", "Chilean", "Peruvian", "Colombian", "Venezuelan", + "Ecuadorian", "Bolivian", "Costa Rican", "Panamanian", "Honduran", "Guatemalan", +}); + +const std::unordered_map ssnFormats{ + {SsnCountry::Poland, "##[0-1][0-2][0-2]######"}, + {SsnCountry::Usa, "###-##-####"}, + // TODO: handle letters + {SsnCountry::England, "LL ## ## ## L"}, + // TODO: handle conditional values like if year starts with 2 then second number must be 0-3 + {SsnCountry::Germany, "####[0-2]#[0-1][0-2][1-2][5-9]##"}, + {SsnCountry::France, "## [0-1][0-2] [0-2]# ### ### ##"}, + // TODO: add alfa-numeric support + {SsnCountry::Italy, "FFFF FFFF FFFF FFFF"}, + {SsnCountry::Spain, "X########L"}, + {SsnCountry::India, "LLLLL####L"}, +}; + +const auto westernZodiacs = std::to_array({ + "Aries", "Taurus", "Gemini", "Cancer", + "Leo", "Virgo", "Libra", "Scorpio", + "Sagittarius", "Capricorn", "Aquarius", "Pisces" +}); + +const auto chineseZodiacs = std::to_array({ + "Rat", + "Ox", + "Tiger", + "Rabbit", + "Dragon", + "Snake" + "Horse", + "Sheep", + "Monkey" + "Rooster", + "Dog", + "Pig" +}); + +const std::unordered_map> sexTranslations = { + {Language::English, {{Sex::Male, "Male"}, {Sex::Female, "Female"}}}, + {Language::Polish, {{Sex::Male, "Mężczyzna"}, {Sex::Female, "Kobieta"}}}, + {Language::Italian, {{Sex::Male, "Maschio"}, {Sex::Female, "Femmina"}}}, + {Language::French, {{Sex::Male, "Homme"}, {Sex::Female, "Femme"}}}, + {Language::German, {{Sex::Male, "Mann"}, {Sex::Female, "Frau"}}}, + {Language::Russian, {{Sex::Male, "Мужчина"}, {Sex::Female, "Женщина"}}}, + {Language::Romanian, {{Sex::Male, "Bărbat"}, {Sex::Female, "Femeie"}}}, + {Language::Hindi, {{Sex::Male, "पुरुष"}, {Sex::Female, "महिला"}}}, + {Language::Finnish, {{Sex::Male, "Mies"}, {Sex::Female, "Nainen"}}}, + {Language::Nepali, {{Sex::Male, "पुरुष"}, {Sex::Female, "महिला"}}}, + {Language::Spanish, {{Sex::Male, "Hombre"}, {Sex::Female, "Mujer"}}}, + {Language::Turkish, {{Sex::Male, "Erkek"}, {Sex::Female, "Kadın"}}}, + {Language::Czech, {{Sex::Male, "Muž"}, {Sex::Female, "Žena"}}}, + {Language::Slovak, {{Sex::Male, "Muž"}, {Sex::Female, "Žena"}}}, + {Language::Ukrainian, {{Sex::Male, "Чоловік"}, {Sex::Female, "Жінка"}}}, + {Language::Danish, {{Sex::Male, "Mand"}, {Sex::Female, "Kvinde"}}}, + {Language::Swedish, {{Sex::Male, "Man"}, {Sex::Female, "Kvinna"}}}, + {Language::Portuguese, {{Sex::Male, "Homem"}, {Sex::Female, "Mulher"}}}, + {Language::Norwegian, {{Sex::Male, "Mann"}, {Sex::Female, "Kvinne"}}}, + {Language::Japanese, {{Sex::Male, "男性"}, {Sex::Female, "女性"}}}, + {Language::Hungarian, {{Sex::Male, "Férfi"}, {Sex::Female, "Nő"}}}, + {Language::Croatian, {{Sex::Male, "Muškarac"}, {Sex::Female, "Žena"}}}, + {Language::Greek, {{Sex::Male, "Άνδρας"}, {Sex::Female, "Γυναίκα"}}}, + {Language::Slovene, {{Sex::Male, "Moški"}, {Sex::Female, "Ženska"}}}, + {Language::Dutch, {{Sex::Male, "Man"}, {Sex::Female, "Vrouw"}}}, + {Language::Mandarin, {{Sex::Male, "男"}, {Sex::Female, "女"}}}, + {Language::Korean, {{Sex::Male, "남자"}, {Sex::Female, "여자"}}}, + {Language::Serbian, {{Sex::Male, "Мушкарац"}, {Sex::Female, "Жена"}}}, + {Language::Macedonian, {{Sex::Male, "Маж"}, {Sex::Female, "Жена"}}}, + {Language::Albanian, {{Sex::Male, "Mashkull"}, {Sex::Female, "Femër"}}}, + {Language::Latvian, {{Sex::Male, "Vīrietis"}, {Sex::Female, "Sieviete"}}}, + {Language::Belarusian, {{Sex::Male, "Мужчына"}, {Sex::Female, "Жанчына"}}}, + {Language::Estonian, {{Sex::Male, "Mees"}, {Sex::Female, "Naine"}}}, + {Language::Irish, {{Sex::Male, "fireannach"}, {Sex::Female, "baineann"}}} +}; + +const auto supportedSsnCountries = std::to_array({ + SsnCountry::Poland, SsnCountry::Usa, SsnCountry::England, SsnCountry::Germany, + SsnCountry::France, SsnCountry::Italy, SsnCountry::Spain, SsnCountry::India, +}); // Albania -extern const std::array albanianMaleFirstNames; -extern const std::array albanianFemaleFirstNames; -extern const std::array albanianLastNames; -extern const NameFormats albanianPersonNameFormats; -extern const PeopleNames albanianPeopleNames; +const auto albanianMaleFirstNames = std::to_array({ + "Adriatik", "Afrim", "Agim", "Agron", "Alban", "Altin", "Andi", "Artion", "Asim", "Arbnor", + "Arber", "Ardian", "Ardit", "Armend", "Arlind", "Astrit", "Avni", "Bamir", "Bardh", "Bardhyl", + "Bashkim", "Besart", "Besim", "Besmir", "Besnik", "Niko", "Bekim", "Betim", "Bledar", "Bledian", + "Blendi", "Blerim", "Bujar", "Bukurosh", "Burim", "Clirim", "Halit", "Hysen", "Ilir", "Ismail", + "Jonuz", "Julian", "Kadri", "Dashamir", "Dardan", "Dash", "Dëfrim", "Dëshir", "Diell", "Drilon", + "Dritan", "Durim", "Endrit", "Endri", "Enkel", "Erin", "Eris", "Erion", "Erjon", "Ergys", + "Erkand", "Ermir", "Elton", "Ervin", "Ermal", "Erzen", "Fatlum", "Fatos", "Festim", "Fidan", + "Fisnik", "Flamur", "FLorent", "Florenc", "Lorenc", "Lorik", "Mërgim", "Gash", "Gaz", "Gazmend", + "Gent", "Gentian", "Gëzim", "Gramoz", "Gjergj", "Gjergji", "Gjin", "Gjon", "Hekuran", "Jetmir", + "Jon", "Kastriot", "Kristaq", "Klajd", "KLajdi", "Klevis", "Klodian", "Korab", "Kujtim", "Lavdim", + "Ledian", "Lek", "Liridon", "Lirim", "Lisian", "Luan", "Lul", "Lulëzim", "Marash", "Medon", + "Mentor", "Migjen", "Mirlind", "Mikel", "Ndriçim", "Nart", "Oltian", "Oltion", "Orges", "Orgest", + "Pandi", "Qemal", "Pajtim", "Pëllumb", "Përparim", "Pirro", "Petrit", "Redon", "Rexhep", "Serxhio", + "Rinor", "Saimir", "Samir", "Skënder", "Shqiprim", "Sokol", "Spartak", "Shkëlqim", "Shkëmb", "Shkumbin", + "Shpend", "Shkumbin", "Taulant", "Tomor", "Trim", "Urim", "Valdet", "Valmir", "Vedat", "Xhevdet", + "Xhevahir", "Zef", "Vath", "Vidan", "Vullnet", "Ylber", "Zamir" +}); + +const auto albanianFemaleFirstNames = std::to_array({ + "Adelina", "Aferdita", "Agnesa", "Albana", "Aldona", "Aleksandra", "Alketa", "Alma", "Altina", + "Amanda", "Anastasia", "Anda", "Andela", "Ardiana", "Ardita", "Arlinda", "Arta", "Artemisa", + "Artiola", "Arxhela", "Asja", "Astritana", "Aulona", "Aurela", "Aurora", "Balina", "Besa", + "Besiana", "Besjana", "Blenda", "Blerina", "Bora", "Bukurije", "Dafina", "Dajana", "Dalina", + "Dardana", "Davina", "Dea", "Dhurata", "Diana", "Diona", "Dita", "Dorentina", "Drita", + "Duljeta", "Edlira", "Ela", "Elda", "Elena", "Elira", "Elona", "Elsa", "Elvana", + "Elvira", "Ema", "Embla", "Eneida", "Era", "Erëblina", "Erilda", "Eriona", "Erjona", + "Ersa", "Esmeralda", "Estela", "Eva", "Evelina", "Flaka", "Fjolla", "Florina", "Frida", + "Gentiana", "Gresa", "Hana", "Ilda", "Ira", "Irena", "Jeta", "Joana", "Jonida", + "Klea", "Klina", "Krenare", "Kriselda", "Larisa", "Laura", "Lavdi", "Lea", "Ledia", + "Lena", "Leonora", "Lila", "Linda", "Liridona", "Lirona", "Lisjana", "Liza", "Lorenta", + "Luljeta", "Majlinda", "Manjola", "Margarita", "Mariola", "Merita", "Migena", "Mimoza", "Miranda", + "Monika", "Nada", "Naima", "Nertila", "Njomza", "Oltita", "Olsa", "Oltita", "Oriana", + "Rina", "Rita", "Romina", "Rovena", "Sara", "Shpresa", "Sidita", "Silva", "Simona", + "Sonila", "Tea", "Teuta", "Valbona", "Valentina", "Vanessa", "Vera", "Verona", "Vesa", + "Veselina", "Viona", "Vjollca", "Xhensila", "Zamira", "Zana", +}); + +const auto albanianLastNames = std::to_array({ + "Agolli", "Ahmeti", "Aliaj", "Aliu", "Arifi", "Avdullahu", "Bajrami", "Balaj", "Basha", + "Begolli", "Berisha", "Bilalli", "Brahimi", "Bytyqi", "Cakuli", "Cela", "Cenaj", "Dedvukaj", + "Dervishi", "Domgjonaj", "Dreshaj", "Driza", "Duka", "Duraku", "Dushku", "Elezi", "Fazliu", + "Ferizi", "Gashi", "Gega", "Gjinaj", "Gjokaj", "Gjoka", "Gjonaj", "Gjoni", "Gjuraj", + "Gruda", "Hadergjonaj", "Hajdari", "Hajzeri", "Haliti", "Hamiti", "Hasani", "Hyseni", "Ibrahimi", + "Ismaili", "Jashari", "Jusufi", "Kadriu", "Kajtazi", "Kapllani", "Karaj", "Kastrati", "Kavaja", + "Kazazi", "Kelmendi", "Kicaj", "Kola", "Krasniqi", "Kukaj", "Kulla", "Kurti", "Kusari", + "Leka", "Leka", "Lushi", "Majko", "Marku", "Maxhuni", "Mazreku", "Meta", "Miftari", + "Muharremi", "Murati", "Murtishi", "Mustafa", "Ndoj", "Nimani", "Nikçi", "Nuhiu", "Osmani", + "Pacuku", "Pajaziti", "Paloka", "Peci", "Përmeti", "Prenkaj", "Qerimi", "Rama", "Rrahmani", + "Rrudhani", "Rugova", "Rustemi", "Sahiti", "Salihu", "Shala", "Shala", "Shkreli", "Shoshi", + "Shuaipi", "Sopi", "Spahiu", "Statovci", "Sula", "Sylaj", "Thaçi", "Thaqi", "Topalli", + "Topi", "Tushi", "Ujkani", "Ulqini", "Useni", "Vehapi", "Vejseli", "Veliaj", "Vocaj", + "Vokshi", "Vula", "Vukaj", "Xhaferi", "Xhemajli", "Xhemalaj", "Xhemshiti", "Xhokli", "Xhufi", + "Ylli", "Zeka", "Zeqiri", "Zhubi", "Zogaj", "Zogu", "Zeka", "Zefi", "Zeka", + "Zekaj", "Zhubi", "Zhuta", "Ziu", "Zogiani" +}); + +const NameFormats albanianPersonNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames albanianPeopleNames{ + {albanianMaleFirstNames, albanianLastNames, {}, {}}, + {albanianFemaleFirstNames, albanianLastNames, {}, {}}, + albanianPersonNameFormats +}; // Argentina -extern const std::array argentinianMaleFirstNames; -extern const std::array argentinianFemaleFirstNames; -extern const std::array argentinianLastNames; -extern const NameFormats argentinianNameFormats; -extern const PeopleNames argentinianPeopleNames; +const auto argentinianMaleFirstNames = std::to_array({ + "Jose", "Carlos", "Jorge", "Luis", "Miguel", "Hector", "Ramon", "Roberto", + "Oscar", "Daniel", "Mario", "Pedro", "Ricardo", "Raul", "Pablo", "Eduardo", + "Sergio", "Marcelo", "Julio", "Hugo", "Alberto", "Ruben", "Gustavo", "Antonio", + "Victor", "Francisco", "Diego", "Angel", "Alejandro", "Claudio", "Walter", "Fernando", + "Nestor", "Guillermo", "Manuel", "Cristian", "Martin", "Alfredo", "Enrique", "Osvaldo", + "Javier", "Gabriel", "Horacio", "Cesar", "Rodolfo", "Omar", "Andres", "Ernesto", + "Leonardo", "Domingo", "Marcos", "Nicolas", "Sebastian", "Adrian", "Norberto", "Mariano", + "Esteban", "Dario", "Fabian", "Edgardo", "Rafael", "Vicente", "Orlando", "Gerardo", + "Hernan", "Federico", "Felix", "Aldo", "Armando", "Adolfo", "David", "Emilio", + "German", "Anibal", "Lucas", "Mauricio", "Humberto", "Ignacio", "Agustin", "Felipe", + "Leandro", "Tomas", "Abel", "Gregorio", "Luciano", "Segundo", "Rolando", "Gaston", + "Nelson", "Maximiliano", "Salvador", "Lorenzo", "Christian", "Silvio", "Arturo", "Rodrigo", + "Mauro", "Dante", "Bernardo", "Gonzalo", "Rogelio", "Julian", "Eugenio", "Ismael", + "Marcelino", "Santiago", "Ezequiel", "Justo", "Benito", "Maximo", "Fabio", "Atilio", + "Patricio", "Americo", "Arnaldo", "Lucio", "Florencio", "Facundo", "Emiliano", "Ceferino", + "Joaquin", "Jacinto", "Hipolito", "Elias", "Reinaldo", "Geronimo", "Eusebio", "Elvio", + "Ivan", "Sixto", "Valentin", "Benjamin", "Alfonso", "Dardo", "Fermin", "Bruno", + "Augusto", "Matias", "Isidro", "Leopoldo", "Elio", "Teodoro", "Simon", "Edgar", + "Faustino", "Aurelio", "Jaime", "Carmelo", "Edmundo", "Ramiro", "Samuel", "Paulo", + "Dionisio", "Hilario", "Sandro", "Enzo", "Cirilo", "Marco", "Demetrio", "Guido", + "Osmar", "Fidel", "Florentino", "Bernardino", "Evaristo", "Roque", "Flavio", "Anselmo", + "Victorio", "Isidoro", "Argentino", "Damian", "Rufino", "Paulino", "Genaro", "Celestino", + "Saul", "Victoriano", "Amado", "Celso", "Teofilo", "Eliseo", "Eleuterio", "Eulogio", + "Ubaldo", "Adalberto", "Lisandro", "Saturnino", "Cristobal", "Isaac", "Feliciano", "Pascual", + "Gilberto", "Emanuel", "Adan", "Reynaldo", "Modesto", "Inocencio", "Cecilio", "Raimundo", + "Fortunato", "Catalino", "Albino", "Moises", "Camilo", "Dionicio", "Marcial", "Fabricio", + "Virgilio", "Lino", "Candido", "Avelino", "Romulo", "Amadeo", "Rosendo", "Rito", + "Benigno", "Elbio", "Tito", "Abelardo", "Silverio", "Remigio", "Octavio", "Estanislao", + "Heriberto", "Abraham", "Arnoldo", "Bonifacio", "Eladio", "Silvano", "Cipriano", "Donato", + "Leonel", "Gabino", "Clemente", "Ireneo", "Natalio", "Marciano", "Nicasio", "Ovidio", + "Alvaro", "Epifanio", "Anastacio", "Fausto", "Nicanor", "Italo", "Silvestre", "Delfin", + "Cornelio", "Timoteo", "Eustaquio", "Desiderio", "Zenon", "Leoncio", "Amilcar", "Eloy", + "Ulises", "Ciriaco", "Isabelino", "Favio", "Wenceslao", "Cosme", "Basilio", "Justino", + "Conrado", "Romualdo", "Nolberto", "Placido", "Exequiel", "Serafin", "Victorino", "Higinio", + "Severo", "Mateo", "Calixto", "Herminio", "Ruperto", "Salomon", "Honorio", "Arsenio", + "Milton", "Roman", "Danilo", "Cayetano", "Franco", "Venancio", "Froilan", "Aniceto", + "Heraldo", "Oreste", "Sabino", "Alejo", "Bernabe", "Edelmiro", "Braulio", "Martiniano", + "Olegario", "Secundino", "Jonatan", "Nemesio", "Jeronimo", "Leon", "Anacleto", "Simeon", + "Elpidio", "Narciso", "Waldo", "Hermenegildo", "Marino", "Bartolome", "Wilfredo", "Adriano", + "Obdulio", "Nelso", "Efrain", "Nahuel", "Benedicto", "Lionel", "Eleodoro", "Laureano", + "Renato", "Abdon", "Gumercindo", "Emmanuel", "Casimiro", "Jacobo", "Israel", "Roger", + "Toribio", "Telmo", "Lazaro", "Joel", "Ambrosio", "Regino", "Waldemar", "Ciro", + "Hernando", "Pio", "Zoilo", "Isaias", "Eulalio", "Brigido", "Clementino", "Erasmo", + "Nazario", "Primo", "Eric", "Salustiano", "Tiburcio", "Ladislao", +}); + +const auto argentinianFemaleFirstNames = std::to_array({ + "Maria", "Juan", "Ana", "Silvia", "Rosa", "Norma", "Marta", "Claudia", + "Graciela", "Monica", "Susana", "Mirta", "Alicia", "Patricia", "Nelida", "Juana", + "Liliana", "Sandra", "Laura", "Olga", "Andrea", "Elsa", "Ramona", "Adriana", + "Marcela", "Carmen", "Lidia", "Teresa", "Gabriela", "Gladys", "Veronica", "Blanca", + "Natalia", "Margarita", "Irma", "Beatriz", "Mercedes", "Alejandra", "Dora", "Elena", + "Angela", "Cristina", "Lorena", "Delia", "Isabel", "Stella", "Ariel", "Mariana", + "Mariela", "Nilda", "Estela", "Nancy", "Sara", "Nora", "Viviana", "Lucia", + "Analia", "Julia", "Luisa", "Miriam", "Karina", "Antonia", "Paola", "Carolina", + "Cecilia", "Sonia", "Hilda", "Mabel", "Elba", "Valeria", "Rosana", "Silvana", + "Silvina", "Paula", "Carina", "Yolanda", "Francisca", "Noemi", "Elvira", "Romina", + "Celia", "Jesus", "Marisa", "Gloria", "Clara", "Angelica", "Ines", "Daniela", + "Josefa", "Catalina", "Eva", "Raquel", "Martha", "Marina", "Elida", "Rita", + "Roxana", "Griselda", "Haydee", "Vanesa", "Esther", "Amalia", "Elisa", "Amelia", + "Victoria", "Zulema", "Nelly", "Ester", "Dominga", "Zulma", "Virginia", "Fabiana", + "Gladis", "Aida", "Irene", "Adela", "Elizabeth", "Rene", "Emilia", "Rosario", + "Josefina", "Edith", "Matilde", "Noelia", "Petrona", "Mirtha", "Elva", "Aurora", + "Vilma", "Leonor", "Luciana", "Dolores", "Gisela", "Emma", "Magdalena", "Cintia", + "Carla", "Flavia", "Ivana", "Felisa", "Sofia", "Mirian", "Erica", "Florencia", + "Yanina", "Berta", "Elda", "Ilda", "Diana", "Jorgelina", "Myriam", "Amanda", + "Ofelia", "Manuela", "Rosalia", "Lilia", "Leticia", "Alcira", "Teresita", "Nidia", + "Iris", "Vanina", "Paulina", "Soledad", "Azucena", "Adelina", "Eugenia", "Sabrina", + "Agustina", "Julieta", "Eliana", "Fernanda", "Vicenta", "Martina", "Celina", "Alcides", + "Evangelina", "Debora", "Gregoria", "Marcelina", "Selva", "Lilian", "Natividad", "Concepcion", + "Ada", "Herminia", "Argentina", "Aurelia", "Tomasa", "Nadia", "Lucrecia", "Ema", + "Guillermina", "Jesica", "Nicolasa", "Zunilda", "Felipa", "Fanny", "Reina", "Ruth", + "Barbara", "Filomena", "Clelia", "Ida", "Anita", "Lorenza", "Delfina", "Mariel", + "Emilce", "Enriqueta", "Pamela", "Clementina", "Pilar", "Fatima", "Juliana", "Florinda", + "Cynthia", "Myrian", "Ernestina", "Ermelinda", "Nanci", "Dina", "Regina", "Etelvina", + "Adelaida", "Melina", "Corina", "Jacinta", "Delicia", "Mirna", "Valentina", "Lydia", + "Bibiana", "Asuncion", "America", "Micaela", "Isolina", "Elisabet", "Elina", "Deolinda", + "Lia", "Perla", "Marisol", "Ignacia", "Pabla", "Benita", "Florentina", "Santos", + "Clotilde", "Sabina", "Celestina", "Justina", "Lucila", "Maxima", "Yesica", "Georgina", + "Teodora", "Guadalupe", "Flora", "Maricel", "Genoveva", "Arminda", "Violeta", "Rafaela", + "Lina", "Mara", "Luz", "Gilda", "Erika", "Segunda", "Rocio", "Jimena", + "Albina", "Transito", "Hortencia", "Yamila", "Trinidad", "Angelina", "Otilia", "Justa", + "Eusebia", "Malvina", "Marianela", "Mary", "Araceli", "Melisa", "Hebe", "Brigida", + "Faustina", "Eulalia", "Hortensia", "Judith", "Telma", "Ceferina", "Candida", "Ercilia", + "Isidora", "Clarisa", "Erminda", "Eloisa", "Fermina", "Rufina", "Modesta", "Edit", + "Geronima", "Carola", "Anabella", "Encarnacion", "Bernardina", "Edelmira", "Alejandrina", "Hermelinda", + "Dionisia", "Olinda", "Palmira", "Esperanza", "Pascuala", "Rebeca", "Alexis", "Marcia", + "Victorina", "Agueda", "Jessica", "Anahi", "Elisabeth", "Lelia", "Estefania", "Sixta", + "Inocencia", "Damiana", "Ethel", "Eulogia", "Simona", "Renee", "Carlota", "Eleonora", + "Elma", "Bernarda", "Lourdes", "Jaquelina", "Mafalda", "Anabel", "Cirila", "Emilse", + "Miryam", "Betina", "Herminda", "Elia", "Tamara", "Feliciana", +}); + +const auto argentinianLastNames = std::to_array({ + "Gonzalez", "Rodriguez", "Gomez", "Fernandez", "Lopez", "Diaz", "Martinez", "Perez", + "Garcia", "Sanchez", "Romero", "Sosa", "Torres", "Alvarez", "Ruiz", "Ramirez", + "Flores", "Benitez", "Acosta", "Medina", "Herrera", "Suarez", "Aguirre", "Gimenez", + "Gutierrez", "Pereyra", "Rojas", "Molina", "Castro", "Ortiz", "Silva", "Nuñez", + "Luna", "Juarez", "Cabrera", "Rios", "Morales", "Godoy", "Moreno", "Ferreyra", + "Dominguez", "Carrizo", "Peralta", "Castillo", "Ledesma", "Quiroga", "Vega", "Vera", + "Muñoz", "Ojeda", "Ponce", "Villalba", "Cardozo", "Navarro", "Coronel", "Vazquez", + "Ramos", "Vargas", "Caceres", "Arias", "Figueroa", "Cordoba", "Correa", "Maldonado", + "Paz", "Rivero", "Miranda", "Mansilla", "Farias", "Roldan", "Mendez", "Guzman", + "Aguero", "Hernandez", "Lucero", "Cruz", "Paez", "Escobar", "Mendoza", "Barrios", + "Bustos", "Avila", "Ayala", "Blanco", "Soria", "Maidana", "Acuña", "Leiva", + "Duarte", "Moyano", "Campos", "Soto", "Martin", "Valdez", "Bravo", "Chavez", + "Velazquez", "Olivera", "Toledo", "Franco", "Ibañez", "Leguizamon", "Montenegro", "Delgado", + "Arce", "Ibarra", "Gallardo", "Santillan", "Acevedo", "Aguilar", "Vallejos", "Contreras", + "Alegre", "Galvan", "Oviedo", "Aranda", "Albornoz", "Baez", "Sandoval", "Barrionuevo", + "Veron", "Gauna", "Zarate", "Heredia", "Mercado", "Monzon", "Marquez", "Zalazar", + "Mamani", "Coria", "Segovia", "Romano", "Jimenez", "Salinas", "Quinteros", "Barrera", + "Ortega", "Cabral", "Palacios", "Cejas", "Quintana", "Zapata", "Rosales", "Altamirano", + "Nieva", "Bazan", "Alonso", "Burgos", "Bustamante", "Varela", "Lescano", "Aguilera", + "Paredes", "Avalos", "Cuello", "Aquino", "Orellana", "Caballero", "Reynoso", "Reyes", + "Villarreal", "Alarcon", "Pacheco", "Tapia", "Galarza", "Ocampo", "Meza", "Guerrero", + "Salas", "Frias", "Videla", "Miño", "Jara", "Garay", "Rossi", "Lezcano", + "Valenzuela", "Oliva", "Fuentes", "Robledo", "Espindola", "Nieto", "Pereira", "Brizuela", + "Andrada", "Maciel", "Funes", "Robles", "Sotelo", "Cortez", "Almiron", "Rivas", + "Gil", "Villegas", "Calderon", "Vergara", "Carabajal", "Ceballos", "Gallo", "Palavecino", + "Barreto", "Alderete", "Escudero", "Saavedra", "Serrano", "Almada", "Galeano", "Espinosa", + "Villagra", "Gerez", "Solis", "Ochoa", "Escalante", "Luque", "Amaya", "Arguello", + "Salazar", "Lazarte", "Barrientos", "Vidal", "Machado", "Ferreira", "Argañaraz", "Iglesias", + "Guevara", "Centurion", "Esquivel", "Lencina", "Jaime", "Cano", "Lujan", "Espinoza", + "Palacio", "Villanueva", "Salvatierra", "Guerra", "Barraza", "Bordon", "Saucedo", "Ferrari", + "Costa", "Rolon", "Zabala", "Albarracin", "Duran", "Peña", "Tello", "Quiroz", + "Montes", "Alfonso", "Brito", "Marin", "Moreira", "Olmos", "Montiel", "Pintos", + "Olmedo", "Bruno", "Villafañe", "Arroyo", "Reinoso", "Araujo", "Gorosito", "Cisneros", + "Quevedo", "Montero", "Barros", "Moya", "Basualdo", "Carballo", "Insaurralde", "Prieto", + "Alcaraz", "Santos", "Corvalan", "Chamorro", "Casas", "Carranza", "Moreyra", "Chaves", + "Riquelme", "Arevalo", "Bogado", "Sequeira", "Amarilla", "Parra", "Corbalan", "Veliz", + "Falcon", "Moran", "Cantero", "Otero", "Rocha", "Lobo", "Cuevas", "Roman", + "Caro", "Jofre", "Nievas", "Pinto", "Arrieta", "Portillo", "Rivera", "Gramajo", + "Quintero", "Russo", "Carrasco", "Castaño", "Vivas", "Gamarra", "Ludueña", "Britez", + "Britos", "Cortes", "Becerra", "Prado", "Merlo", "Barboza", "Hidalgo", "Olguin", + "Taborda", "Tolaba", "Villa", "Leon", "Sarmiento", "Cañete", "Gaitan", "Sanabria", + "Ovejero", "Da'Pavon", "Rey", "Mora", "Vasquez", "Cardenas", "Cornejo", "Orellano", + "Dos'Alaniz", "Araya", "Vallejo", "Enriquez", "Bianchi", "Barroso", "Calvo", "Lemos", + "Casco", "Trejo", "Andrade", "Balmaceda", +}); + +const NameFormats argentinianNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames argentinianPeopleNames{ + {argentinianMaleFirstNames, argentinianLastNames, {}, {}}, + {argentinianFemaleFirstNames, argentinianLastNames, {}, {}}, + argentinianNameFormats +}; // Australia -extern const std::array australianMaleFirstNames; -extern const std::array australianFemaleFirstNames; -extern const std::array australianLastNames; -extern const NameFormats australianNameFormats; -extern const PeopleNames australianPeopleNames; +const auto australianMaleFirstNames = std::to_array({ + "William", "Jack", "Oliver", "Joshua", "Thomas", "Lachlan", "Cooper", "Noah", "Ethan", + "Lucas", "James", "Samuel", "Jacob", "Liam", "Alexander", "Benjamin", "Max", "Isaac", + "Daniel", "Riley", "Ryan", "Charlie", "Tyler", "Jake", "Matthew", "Xavier", "Harry", + "Jayden", "Nicholas", "Harrison", "Levi", "Luke", "Adam", "Henry", "Aiden", "Dylan", + "Oscar", "Michael", "Jackson", "Logan", "Joseph", "Blake", "Nathan", "Connor", "Elijah", + "Nate", "Archie", "Bailey", "Marcus", "Cameron", "Jordan", "Zachary", "Caleb", "Hunter", + "Ashton", "Toby", "Aidan", "Hayden", "Mason", "Hamish", "Edward", "Angus", "Eli", + "Sebastian", "Christian", "Patrick", "Andrew", "Anthony", "Luca", "Kai", "Beau", "Alex", + "George", "Callum", "Finn", "Zac", "Mitchell", "Jett", "Jesse", "Gabriel", "Leo", + "Declan", "Charles", "Jasper", "Jonathan", "Aaron", "Hugo", "David", "Christopher", "Chase", + "Owen", "Justin", "Ali", "Darcy", "Lincoln", "Cody", "Phoenix", "Sam", "John", + "Joel", +}); + +const auto australianFemaleFirstNames = std::to_array({ + "Isabella", "Ruby", "Chloe", "Olivia", "Charlotte", "Mia", "Lily", "Emily", "Ella", + "Sienna", "Sophie", "Amelia", "Grace", "Ava", "Zoe", "Emma", "Sophia", "Matilda", + "Hannah", "Jessica", "Lucy", "Georgia", "Sarah", "Abigail", "Zara", "Eva", "Scarlett", + "Jasmine", "Chelsea", "Lilly", "Ivy", "Isla", "Evie", "Isabelle", "Maddison", "Layla", + "Summer", "Annabelle", "Alexis", "Elizabeth", "Bella", "Holly", "Lara", "Madison", "Alyssa", + "Maya", "Tahlia", "Claire", "Hayley", "Imogen", "Jade", "Ellie", "Sofia", "Addison", + "Molly", "Phoebe", "Alice", "Savannah", "Gabriella", "Kayla", "Mikayla", "Abbey", "Eliza", + "Willow", "Alexandra", "Poppy", "Samantha", "Stella", "Amy", "Amelie", "Anna", "Piper", + "Gemma", "Isabel", "Victoria", "Stephanie", "Caitlin", "Heidi", "Paige", "Rose", "Amber", + "Audrey", "Claudia", "Taylor", "Madeline", "Angelina", "Natalie", "Charli", "Lauren", "Ashley", + "Violet", "Mackenzie", "Abby", "Skye", "Lillian", "Alana", "Lola", "Leah", "Eve", + "Kiara", +}); + +const auto australianLastNames = std::to_array({ + "Smith", "Jones", "Williams", "Brown", "Wilson", "Taylor", "Johnson", "White", + "Martin", "Anderson", "Thompson", "Nguyen", "Thomas", "Walker", "Harris", "Lee", + "Ryan", "Robinson", "Kelly", "King", "Davis", "Wright", "Evans", "Roberts", + "Green", "Hall", "Wood", "Jackson", "Clarke", "Patel", "Khan", "Lewis", + "James", "Phillips", "Mason", "Mitchell", "Rose", "Davies", "Rodriguez", "Cox", + "Alexander", "Garden", "Campbell", "Johnston", "Moore", "Smyth", "O'Neill ", "Doherty", + "Stewart", "Quinn", "Murphy", "Graham", "Mclaughlin", "Hamilton", "Murray", "Hughes", + "Robertson", "Thomson", "Scott", "Macdonald", "Reid", "Clark", "Ross", "Young", + "Watson", "Paterson", "Morrison", "Morgan", "Griffiths", "Edwards", "Rees", "Jenkins", + "Owen", "Price", "Moss", "Richards", "Abbott", "Adams", "Armstrong", "Bahringer", + "Bailey", "Barrows", "Bartell", "Bartoletti", "Barton", "Bauch", "Baumbach", "Bayer", + "Beahan", "Beatty", "Becker", "Beier", "Berge", "Bergstrom", "Bode", "Bogan", + "Borer", "Bosco", "Botsford", "Boyer", "Boyle", "Braun", "Bruen", "Carroll", + "Carter", "Cartwright", "Casper", "Cassin", "Champlin", "Christiansen", "Cole", "Collier", + "Collins", "Connelly", "Conroy", "Corkery", "Cormier", "Corwin", "Cronin", "Crooks", + "Cruickshank", "Cummings", "D' Amore", "Daniel", "Dare", "Daugherty", "Dickens", "Dickinson", + "Dietrich", "Donnelly", "Dooley", "Douglas", "Doyle", "Durgan", "Ebert", "Emard", + "Emmerich", "Erdman", "Ernser", "Fadel", "Fahey", "Farrell", "Fay", "Feeney", + "Feil", "Ferry", "Fisher", "Flatley", "Gibson", "Gleason", "Glover", "Goldner", + "Goodwin", "Grady", "Grant", "Greenfelder", "Greenholt", "Grimes", "Gutmann", "Hackett", + "Hahn", "Haley", "Hammes", "Hand", "Hane", "Hansen", "Harber", "Hartmann", + "Harvey", "Hayes", "Heaney", "Heathcote", "Heller", "Hermann", "Hermiston", "Hessel", + "Hettinger", "Hickle", "Hill", "Hills", "Hoppe", "Howe", "Howell", "Hudson", + "Huel", "Hyatt", "Jacobi", "Jacobs", "Jacobson", "Jerde", "Johns", "Keeling", + "Kemmer", "Kessler", "Kiehn", "Kirlin", "Klein", "Koch", "Koelpin", "Kohler", + "Koss", "Kovacek", "Kreiger", "Kris", "Kuhlman", "Kuhn", "Kulas", "Kunde", + "Kutch", "Lakin", "Lang", "Langworth", "Larkin", "Larson", "Leannon", "Leffler", + "Little", "Lockman", "Lowe", "Lynch", "Mann", "Marks", "Marvin", "Mayer", + "Mccullough", "Mcdermott", "Mckenzie", "Miller", "Mills", "Monahan", "Morissette", "Mueller", + "Muller", "Nader", "Nicolas", "Nolan", "O' Connell", "O 'Conner", "O' Hara", "O 'Keefe", + "Olson", "O' Reilly", "Parisian", "Parker", "Quigley", "Reilly", "Reynolds", "Rice", + "Ritchie", "Rohan", "Rolfson", "Rowe", "Russel", "Rutherford", "Sanford", "Sauer", + "Schmidt", "Schmitt", "Schneider", "Schroeder", "Schultz", "Shields", "Smitham", "Spencer", + "Stanton", "Stark", "Stokes", "Swift", "Tillman", "Towne", "Tremblay", "Tromp", + "Turcotte", "Turner", "Walsh", "Walter", "Ward", "Waters", "Weber", "Welch", + "West", "Wilderman", "Wilkinson", "Williamson", "Windler", "Wolf", +}); + +const NameFormats australianNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames australianPeopleNames{ + {australianMaleFirstNames, australianLastNames, {}, {}}, + {australianFemaleFirstNames, australianLastNames, {}, {}}, + australianNameFormats +}; // Austria -extern const std::array austrianMaleFirstNames; -extern const std::array austrianFemaleFirstNames; -extern const std::array austrianLastNames; -extern const std::array austrianMalePrefixes; -extern const std::array austrianFemalePrefixes; -extern const NameFormats austrianNameFormats; -extern const PeopleNames austrianPeopleNames; +const auto austrianMaleFirstNames = std::to_array({ + "Aaron", "Abdul", "Abdullah", "Adam", "Adrian", "Adriano", "Ahmad", "Ahmed", + "Ahmet", "Alan", "Albert", "Alessandro", "Alessio", "Alex", "Alexander", "Alfred", + "Ali", "Amar", "Amir", "Amon", "Andre", "Andreas", "Andrew", "Angelo", + "Ansgar", "Anthony", "Anton", "Antonio", "Arda", "Arian", "Armin", "Arne", + "Arno", "Arthur", "Artur", "Arved", "Arvid", "Ayman", "Baran", "Baris", + "Bastian", "Batuhan", "Bela", "Ben", "Benedikt", "Benjamin", "Bennet", "Bennett", + "Benno", "Bent", "Berat", "Berkay", "Bernd", "Bilal", "Bjarne", "Björn", + "Bo", "Boris", "Brandon", "Brian", "Bruno", "Bryan", "Burak", "Calvin", + "Can", "Carl", "Carlo", "Carlos", "Caspar", "Cedric", "Cedrik", "Cem", + "Charlie", "Chris", "Christian", "Christiano", "Christoph", "Christopher", "Claas", "Clemens", + "Colin", "Collin", "Conner", "Connor", "Constantin", "Corvin", "Curt", "Damian", + "Damien", "Daniel", "Danilo", "Danny", "Darian", "Dario", "Darius", "Darren", + "David", "Davide", "Davin", "Dean", "Deniz", "Dennis", "Denny", "Devin", + "Diego", "Dion", "Domenic", "Domenik", "Dominic", "Dominik", "Dorian", "Dustin", + "Dylan", "Ecrin", "Eddi", "Eddy", "Edgar", "Edwin", "Efe", "Ege", + "Elia", "Eliah", "Elias", "Elijah", "Emanuel", "Emil", "Emilian", "Emilio", + "Emir", "Emirhan", "Emre", "Enes", "Enno", "Enrico", "Eren", "Eric", + "Erik", "Etienne", "Fabian", "Fabien", "Fabio", "Fabrice", "Falk", "Felix", + "Ferdinand", "Fiete", "Filip", "Finlay", "Finley", "Finn", "Finnley", "Florian", + "Francesco", "Franz", "Frederic", "Frederick", "Frederik", "Friedrich", "Fritz", "Furkan", + "Fynn", "Gabriel", "Georg", "Gerrit", "Gian", "Gianluca", "Gino", "Giuliano", + "Giuseppe", "Gregor", "Gustav", "Hagen", "Hamza", "Hannes", "Hanno", "Hans", + "Hasan", "Hassan", "Hauke", "Hendrik", "Hennes", "Henning", "Henri", "Henrick", + "Henrik", "Henry", "Hugo", "Hussein", "Ian", "Ibrahim", "Ilias", "Ilja", + "Ilyas", "Immanuel", "Ismael", "Ismail", "Ivan", "Iven", "Jack", "Jacob", + "Jaden", "Jakob", "Jamal", "James", "Jamie", "Jan", "Janek", "Janis", + "Janne", "Jannek", "Jannes", "Jannik", "Jannis", "Jano", "Janosch", "Jared", + "Jari", "Jarne", "Jarno", "Jaron", "Jason", "Jasper", "Jay", "Jayden", + "Jayson", "Jean", "Jens", "Jeremias", "Jeremie", "Jeremy", "Jermaine", "Jerome", + "Jesper", "Jesse", "Jim", "Jimmy", "Joe", "Joel", "Joey", "Johann", + "Johannes", "John", "Johnny", "Jon", "Jona", "Jonah", "Jonas", "Jonathan", + "Jonte", "Joost", "Jordan", "Joris", "Joscha", "Joschua", "Josef", "Joseph", + "Josh", "Joshua", "Josua", "Juan", "Julian", "Julien", "Julius", "Juri", + "Justin", "Justus", "Kaan", "Kai", "Kalle", "Karim", "Karl", "Karlo", + "Kay", "Keanu", "Kenan", "Kenny", "Keno", "Kerem", "Kerim", "Kevin", + "Kian", "Kilian", "Kim", "Kimi", "Kjell", "Klaas", "Klemens", "Konrad", + "Konstantin", "Koray", "Korbinian", "Kurt", "Lars", "Lasse", "Laurence", "Laurens", + "Laurenz", "Laurin", "Lean", "Leander", "Leandro", "Leif", "Len", "Lenn", + "Lennard", "Lennart", "Lennert", "Lennie", "Lennox", "Lenny", "Leo", "Leon", + "Leonard", "Leonardo", "Leonhard", "Leonidas", "Leopold", "Leroy", "Levent", "Levi", + "Levin", "Lewin", "Lewis", "Liam", "Lian", "Lias", "Lino", "Linus", + "Lio", "Lion", "Lionel", "Logan", "Lorenz", "Lorenzo", "Loris", "Louis", + "Luan", "Luc", "Luca", "Lucas", "Lucian", "Lucien", "Ludwig", "Luis", + "Luiz", "Luk", "Luka", "Lukas", "Luke", "Lutz", "Maddox", "Mads", + "Magnus", "Maik", "Maksim", "Malik", "Malte", "Manuel", "Marc", "Marcel", + "Marco", "Marcus", "Marek", "Marian", "Mario", "Marius", "Mark", "Marko", + "Markus", "Marlo", "Marlon", "Marten", "Martin", "Marvin", "Marwin", "Mateo", + "Mathis", "Matis", "Mats", "Matteo", "Mattes", "Matthias", "Matthis", "Matti", + "Mattis", "Maurice", "Max", "Maxim", "Maximilian", "Mehmet", "Meik", "Melvin", + "Merlin", "Mert", "Michael", "Michel", "Mick", "Miguel", "Mika", "Mikail", + "Mike", "Milan", "Milo", "Mio", "Mirac", "Mirco", "Mirko", "Mohamed", + "Mohammad", "Mohammed", "Moritz", "Morten", "Muhammed", "Murat", "Mustafa", "Nathan", + "Nathanael", "Nelson", "Neo", "Nevio", "Nick", "Niclas", "Nico", "Nicolai", + "Nicolas", "Niels", "Nikita", "Niklas", "Niko", "Nikolai", "Nikolas", "Nils", + "Nino", "Noah", "Noel", "Norman", "Odin", "Oke", "Ole", "Oliver", + "Omar", "Onur", "Oscar", "Oskar", "Pascal", "Patrice", "Patrick", "Paul", + "Peer", "Pepe", "Peter", "Phil", "Philip", "Philipp", "Pierre", "Piet", + "Pit", "Pius", "Quentin", "Quirin", "Rafael", "Raik", "Ramon", "Raphael", + "Rasmus", "Raul", "Rayan", "René", "Ricardo", "Riccardo", "Richard", "Rick", + "Rico", "Robert", "Robin", "Rocco", "Roman", "Romeo", "Ron", "Ruben", + "Ryan", "Said", "Salih", "Sam", "Sami", "Sammy", "Samuel", "Sandro", + "Santino", "Sascha", "Sean", "Sebastian", "Selim", "Semih", "Shawn", "Silas", + "Simeon", "Simon", "Sinan", "Sky", "Stefan", "Steffen", "Stephan", "Steve", + "Steven", "Sven", "Sönke", "Sören", "Taha", "Tamino", "Tammo", "Tarik", + "Tayler", "Taylor", "Teo", "Theo", "Theodor", "Thies", "Thilo", "Thomas", + "Thorben", "Thore", "Thorge", "Tiago", "Til", "Till", "Tillmann", "Tim", + "Timm", "Timo", "Timon", "Timothy", "Tino", "Titus", "Tizian", "Tjark", + "Tobias", "Tom", "Tommy", "Toni", "Tony", "Torben", "Tore", "Tristan", + "Tyler", "Tyron", "Umut", "Valentin", "Valentino", "Veit", "Victor", "Viktor", + "Vin", "Vincent", "Vito", "Vitus", "Wilhelm", "Willi", "William", "Willy", + "Xaver", "Yannic", "Yannick", "Yannik", "Yannis", "Yasin", "Youssef", "Yunus", + "Yusuf", "Yven", "Yves", "Ömer", +}); + +const auto austrianFemaleFirstNames = std::to_array({ + "Aaliyah", "Abby", "Abigail", "Ada", "Adelina", "Adriana", "Aileen", "Aimee", + "Alana", "Alea", "Alena", "Alessa", "Alessia", "Alexa", "Alexandra", "Alexia", + "Alexis", "Aleyna", "Alia", "Alica", "Alice", "Alicia", "Alina", "Alisa", + "Alisha", "Alissa", "Aliya", "Aliyah", "Allegra", "Alma", "Alyssa", "Amalia", + "Amanda", "Amelia", "Amelie", "Amina", "Amira", "Amy", "Ana", "Anabel", + "Anastasia", "Andrea", "Angela", "Angelina", "Angelique", "Anja", "Ann", "Anna", + "Annabel", "Annabell", "Annabelle", "Annalena", "Anne", "Anneke", "Annelie", "Annemarie", + "Anni", "Annie", "Annika", "Anny", "Anouk", "Antonia", "Ariana", "Ariane", + "Arwen", "Ashley", "Asya", "Aurelia", "Aurora", "Ava", "Ayleen", "Aylin", + "Ayse", "Azra", "Betty", "Bianca", "Bianka", "Caitlin", "Cara", "Carina", + "Carla", "Carlotta", "Carmen", "Carolin", "Carolina", "Caroline", "Cassandra", "Catharina", + "Catrin", "Cecile", "Cecilia", "Celia", "Celina", "Celine", "Ceyda", "Ceylin", + "Chantal", "Charleen", "Charlotta", "Charlotte", "Chayenne", "Cheyenne", "Chiara", "Christin", + "Christina", "Cindy", "Claire", "Clara", "Clarissa", "Colleen", "Collien", "Cora", + "Corinna", "Cosima", "Dana", "Daniela", "Daria", "Darleen", "Defne", "Delia", + "Denise", "Diana", "Dilara", "Dina", "Dorothea", "Eda", "Eileen", "Ela", + "Elaine", "Elanur", "Elea", "Elena", "Eleni", "Eleonora", "Eliana", "Elif", + "Elina", "Elisa", "Elisabeth", "Ella", "Ellen", "Elli", "Elly", "Elsa", + "Emelie", "Emely", "Emilia", "Emilie", "Emily", "Emma", "Emmely", "Emmi", + "Emmy", "Enie", "Enna", "Enya", "Esma", "Estelle", "Esther", "Eva", + "Evelin", "Evelina", "Eveline", "Evelyn", "Fabienne", "Fatima", "Fatma", "Felicia", + "Felicitas", "Felina", "Femke", "Fenja", "Fine", "Finia", "Finja", "Finnja", + "Fiona", "Flora", "Florentine", "Francesca", "Franka", "Franziska", "Frederike", "Freya", + "Frida", "Frieda", "Friederike", "Giada", "Gina", "Giulia", "Giuliana", "Greta", + "Hailey", "Hana", "Hanna", "Hannah", "Heidi", "Helen", "Helena", "Helene", + "Helin", "Henriette", "Henrike", "Hermine", "Ida", "Ilayda", "Imke", "Ina", + "Ines", "Inga", "Inka", "Irem", "Isa", "Isabel", "Isabell", "Isabella", + "Isabelle", "Ivonne", "Jacqueline", "Jamila", "Jana", "Jane", "Janin", "Janina", + "Janine", "Janna", "Jara", "Jasmin", "Jasmina", "Jasmine", "Jella", "Jenna", + "Jennifer", "Jenny", "Jessica", "Jessy", "Jette", "Jil", "Jill", "Joana", + "Joanna", "Joelina", "Joeline", "Joelle", "Johanna", "Joleen", "Jolie", "Jolien", + "Jolin", "Jolina", "Joline", "Jonna", "Josefin", "Josefine", "Josephin", "Josephine", + "Josie", "Josy", "Joy", "Joyce", "Judith", "Judy", "Jule", "Julia", + "Juliana", "Juliane", "Julie", "Julienne", "Julika", "Julina", "Juna", "Justine", + "Kaja", "Karina", "Karla", "Karlotta", "Karolina", "Karoline", "Kassandra", "Katarina", + "Katharina", "Kathrin", "Katja", "Katrin", "Kaya", "Kayra", "Kiana", "Kiara", + "Kimberley", "Kimberly", "Kira", "Klara", "Korinna", "Kristin", "Kyra", "Laila", + "Lana", "Lara", "Larissa", "Laura", "Laureen", "Lavinia", "Lea", "Leah", + "Leana", "Leandra", "Leann", "Lee", "Leila", "Lena", "Lene", "Leni", + "Lenia", "Lenja", "Lenya", "Leona", "Leoni", "Leonie", "Leonora", "Leticia", + "Letizia", "Levke", "Leyla", "Lia", "Liah", "Liana", "Lili", "Lilia", + "Lilian", "Liliana", "Lilith", "Lilli", "Lillian", "Lilly", "Lily", "Lina", + "Linda", "Lindsay", "Line", "Linn", "Linnea", "Lisa", "Lisann", "Lisanne", + "Liv", "Livia", "Liz", "Lola", "Loreen", "Lorena", "Lotta", "Lotte", + "Louisa", "Louise", "Luana", "Lucia", "Lucie", "Lucienne", "Lucy", "Luisa", + "Luise", "Luna", "Luzie", "Lya", "Lydia", "Lyn", "Lynn", "Madeleine", + "Madita", "Madleen", "Madlen", "Magdalena", "Maike", "Mailin", "Maira", "Maja", + "Malena", "Malia", "Malin", "Malina", "Mandy", "Mara", "Marah", "Mareike", + "Maren", "Maria", "Mariam", "Marie", "Marieke", "Mariella", "Marika", "Marina", + "Marisa", "Marissa", "Marit", "Marla", "Marleen", "Marlen", "Marlena", "Marlene", + "Marta", "Martha", "Mary", "Maryam", "Mathilda", "Mathilde", "Matilda", "Maxi", + "Maxima", "Maxine", "Maya", "Mayra", "Medina", "Medine", "Meike", "Melanie", + "Melek", "Melike", "Melina", "Melinda", "Melis", "Melisa", "Melissa", "Merle", + "Merve", "Meryem", "Mette", "Mia", "Michaela", "Michelle", "Mieke", "Mila", + "Milana", "Milena", "Milla", "Mina", "Mira", "Miray", "Miriam", "Mirja", + "Mona", "Monique", "Nadine", "Nadja", "Naemi", "Nancy", "Naomi", "Natalia", + "Natalie", "Nathalie", "Neele", "Nela", "Nele", "Nelli", "Nelly", "Nia", + "Nicole", "Nika", "Nike", "Nila", "Nina", "Nisa", "Noemi", "Nora", + "Olivia", "Patricia", "Patrizia", "Paula", "Paulina", "Pauline", "Penelope", "Philine", + "Phoebe", "Pia", "Rahel", "Rania", "Rebecca", "Rebekka", "Riana", "Rieke", + "Rike", "Romina", "Romy", "Ronja", "Rosa", "Rosalie", "Ruby", "Sabrina", + "Sahra", "Sally", "Salome", "Samantha", "Samia", "Samira", "Sandra", "Sandy", + "Sanja", "Saphira", "Sara", "Sarah", "Saskia", "Selin", "Selina", "Selma", + "Sena", "Sidney", "Sienna", "Silja", "Sina", "Sinja", "Smilla", "Sofia", + "Sofie", "Sonja", "Sophia", "Sophie", "Soraya", "Stefanie", "Stella", "Stephanie", + "Stina", "Sude", "Summer", "Susanne", "Svea", "Svenja", "Sydney", "Tabea", + "Talea", "Talia", "Tamara", "Tamia", "Tamina", "Tanja", "Tara", "Tarja", + "Teresa", "Tessa", "Thalea", "Thalia", "Thea", "Theresa", "Tia", "Tina", + "Tomke", "Tuana", "Valentina", "Valeria", "Valerie", "Vanessa", "Vera", "Veronika", + "Victoria", "Viktoria", "Viola", "Vivian", "Vivien", "Vivienne", "Wibke", "Wiebke", + "Xenia", "Yara", "Yaren", "Yasmin", "Ylvi", "Ylvie", "Yvonne", "Zara", + "Zehra", "Zeynep", "Zoe", "Zoey", "Zoé", +}); + +const auto austrianLastNames = std::to_array({ + "Abel", + "Abicht", + "Abraham", + "Abramovic", + "Abt", + "Achilles", + "Achkinadze", + "Ackermann", + "Adam", + "Adams", + "Ade", + "Agostini", + "Ahlke", + "Ahrenberg", + "Ahrens", + "Aigner", + "Albert", + "Albrecht", + "Alexa", + "Alexander", + "Alizadeh", + "Allgeyer", + "Amann", + "Amberg", + "Anding", + "Anggreny", + "Apitz", + "Arendt", + "Arens", + "Arndt", + "Aryee", + "Aschenbroich", + "Assmus", + "Astafei", + "Auer", + "Axmann", + "Baarck", + "Bachmann", + "Badane", + "Bader", + "Baganz", + "Bahl", + "Bak", + "Balcer", + "Balck", + "Balkow", + "Balnuweit", + "Balzer", + "Banse", + "Barr", + "Bartels", + "Barth", + "Barylla", + "Baseda", + "Battke", + "Bauer", + "Bauermeister", + "Baumann", + "Baumeister", + "Bauschinger", + "Bauschke", + "Bayer", + "Beavogui", + "Beck", + "Beckel", + "Becker", + "Beckmann", + "Bedewitz", + "Beele", + "Beer", + "Beggerow", + "Beh", + "Behr", + "Behrenbruch", + "Belz", + "Bender", + "Benecke", + "Benner", + "Benninger", + "Benzing", + "Berends", + "Berger", + "Berner", + "Berning", + "Bertenbreiter", + "Best", + "Bethke", + "Betz", + "Beushausen", + "Beutelspacher", + "Beyer", + "Biba", + "Bichler", + "Bickel", + "Biedermann", + "Bieler", + "Bielert", + "Bienasch", + "Bienias", + "Biesenbach", + "Bigdeli", + "Birkemeyer", + "Bittner", + "Blank", + "Blaschek", + "Blassneck", + "Bloch", + "Blochwitz", + "Blockhaus", + "Blum", + "Blume", + "Bock", + "Bode", + "Bogdashin", + "Bogenrieder", + "Bohge", + "Bolm", + "Borgschulze", + "Bork", + "Bormann", + "Bornscheuer", + "Borrmann", + "Borsch", + "Boruschewski", + "Bos", + "Bosler", + "Bourrouag", + "Bouschen", + "Boxhammer", + "Boyde", + "Bozsik", + "Brand", + "Brandenburg", + "Brandis", + "Brandt", + "Brauer", + "Braun", + "Brehmer", + "Breitenstein", + "Bremer", + "Bremser", + "Brenner", + "Brettschneider", + "Breu", + "Breuer", + "Briesenick", + "Bringmann", + "Brinkmann", + "Brix", + "Broening", + "Brosch", + "Bruckmann", + "Bruder", + "Bruhns", + "Brunner", + "Bruns", + "Bräutigam", + "Brömme", + "Brüggmann", + "Buchholz", + "Buchrucker", + "Buder", + "Bultmann", + "Bunjes", + "Burger", + "Burghagen", + "Burkhard", + "Burkhardt", + "Burmeister", + "Busch", + "Buschbaum", + "Busemann", + "Buss", + "Busse", + "Bussmann", + "Byrd", + "Bäcker", + "Böhm", + "Bönisch", + "Börgeling", + "Börner", + "Böttner", + "Büchele", + "Bühler", + "Büker", + "Büngener", + "Bürger", + "Bürklein", + "Büscher", + "Büttner", + "Camara", + "Carlowitz", + "Carlsohn", + "Caspari", + "Caspers", + "Chapron", + "Christ", + "Cierpinski", + "Clarius", + "Cleem", + "Cleve", + "Co", + "Conrad", + "Cordes", + "Cornelsen", + "Cors", + "Cotthardt", + "Crews", + "Cronjäger", + "Crosskofp", + "Da", + "Dahm", + "Dahmen", + "Daimer", + "Damaske", + "Danneberg", + "Danner", + "Daub", + "Daubner", + "Daudrich", + "Dauer", + "Daum", + "Dauth", + "Dautzenberg", + "De", + "Decker", + "Deckert", + "Deerberg", + "Dehmel", + "Deja", + "Delonge", + "Demut", + "Dengler", + "Denner", + "Denzinger", + "Derr", + "Dertmann", + "Dethloff", + "Deuschle", + "Dieckmann", + "Diedrich", + "Diekmann", + "Dienel", + "Dies", + "Dietrich", + "Dietz", + "Dietzsch", + "Diezel", + "Dilla", + "Dingelstedt", + "Dippl", + "Dittmann", + "Dittmar", + "Dittmer", + "Dix", + "Dobbrunz", + "Dobler", + "Dohring", + "Dolch", + "Dold", + "Dombrowski", + "Donie", + "Doskoczynski", + "Dragu", + "Drechsler", + "Drees", + "Dreher", + "Dreier", + "Dreissigacker", + "Dressler", + "Drews", + "Duma", + "Dutkiewicz", + "Dyett", + "Dylus", + "Dächert", + "Döbel", + "Döring", + "Dörner", + "Dörre", + "Dück", + "Eberhard", + "Eberhardt", + "Ecker", + "Eckhardt", + "Edorh", + "Effler", + "Eggenmueller", + "Ehm", + "Ehmann", + "Ehrig", + "Eich", + "Eifert", + "Einert", + "Eisenlauer", + "Ekpo", + "Elbe", + "Eleyth", + "Elss", + "Emert", + "Emmelmann", + "Ender", + "Engel", + "Engelen", + "Engelmann", + "Eplinius", + "Erdmann", + "Erhardt", + "Erlei", + "Erm", + "Ernst", + "Ertl", + "Erwes", + "Esenwein", + "Esser", + "Evers", + "Everts", + "Ewald", + "Fahner", + "Faller", + "Falter", + "Farber", + "Fassbender", + "Faulhaber", + "Fehrig", + "Feld", + "Felke", + "Feller", + "Fenner", + "Fenske", + "Feuerbach", + "Fietz", + "Figl", + "Figura", + "Filipowski", + "Filsinger", + "Fincke", + "Fink", + "Finke", + "Fischer", + "Fitschen", + "Fleischer", + "Fleischmann", + "Floder", + "Florczak", + "Flore", + "Flottmann", + "Forkel", + "Forst", + "Frahmeke", + "Frank", + "Franke", + "Franta", + "Frantz", + "Franz", + "Franzis", + "Franzmann", + "Frauen", + "Frauendorf", + "Freigang", + "Freimann", + "Freimuth", + "Freisen", + "Frenzel", + "Frey", + "Fricke", + "Fried", + "Friedek", + "Friedenberg", + "Friedmann", + "Friedrich", + "Friess", + "Frisch", + "Frohn", + "Frosch", + "Fuchs", + "Fuhlbrügge", + "Fusenig", + "Fust", + "Förster", + "Gaba", + "Gabius", + "Gabler", + "Gadschiew", + "Gakstädter", + "Galander", + "Gamlin", + "Gamper", + "Gangnus", + "Ganzmann", + "Garatva", + "Gast", + "Gastel", + "Gatzka", + "Gauder", + "Gebhardt", + "Geese", + "Gehre", + "Gehrig", + "Gehring", + "Gehrke", + "Geiger", + "Geisler", + "Geissler", + "Gelling", + "Gens", + "Gerbennow", + "Gerdel", + "Gerhardt", + "Gerschler", + "Gerson", + "Gesell", + "Geyer", + "Ghirmai", + "Ghosh", + "Giehl", + "Gierisch", + "Giesa", + "Giesche", + "Gilde", + "Glatting", + "Goebel", + "Goedicke", + "Goldbeck", + "Goldfuss", + "Goldkamp", + "Goldkühle", + "Goller", + "Golling", + "Gollnow", + "Golomski", + "Gombert", + "Gotthardt", + "Gottschalk", + "Gotz", + "Goy", + "Gradzki", + "Graf", + "Grams", + "Grasse", + "Gratzky", + "Grau", + "Greb", + "Green", + "Greger", + "Greithanner", + "Greschner", + "Griem", + "Griese", + "Grimm", + "Gromisch", + "Gross", + "Grosser", + "Grossheim", + "Grosskopf", + "Grothaus", + "Grothkopp", + "Grotke", + "Grube", + "Gruber", + "Grundmann", + "Gruning", + "Gruszecki", + "Gröss", + "Grötzinger", + "Grün", + "Grüner", + "Gummelt", + "Gunkel", + "Gunther", + "Gutjahr", + "Gutowicz", + "Gutschank", + "Göbel", + "Göckeritz", + "Göhler", + "Görlich", + "Görmer", + "Götz", + "Götzelmann", + "Güldemeister", + "Günther", + "Günz", + "Gürbig", + "Haack", + "Haaf", + "Habel", + "Hache", + "Hackbusch", + "Hackelbusch", + "Hadfield", + "Hadwich", + "Haferkamp", + "Hahn", + "Hajek", + "Hallmann", + "Hamann", + "Hanenberger", + "Hannecker", + "Hanniske", + "Hansen", + "Hardy", + "Hargasser", + "Harms", + "Harnapp", + "Harter", + "Harting", + "Hartlieb", + "Hartmann", + "Hartwig", + "Hartz", + "Haschke", + "Hasler", + "Hasse", + "Hassfeld", + "Haug", + "Hauke", + "Haupt", + "Haverney", + "Heberstreit", + "Hechler", + "Hecht", + "Heck", + "Hedermann", + "Hehl", + "Heidelmann", + "Heidler", + "Heinemann", + "Heinig", + "Heinke", + "Heinrich", + "Heinze", + "Heiser", + "Heist", + "Hellmann", + "Helm", + "Helmke", + "Helpling", + "Hengmith", + "Henkel", + "Hennes", + "Henry", + "Hense", + "Hensel", + "Hentel", + "Hentschel", + "Hentschke", + "Hepperle", + "Herberger", + "Herbrand", + "Hering", + "Hermann", + "Hermecke", + "Herms", + "Herold", + "Herrmann", + "Herschmann", + "Hertel", + "Herweg", + "Herwig", + "Herzenberg", + "Hess", + "Hesse", + "Hessek", + "Hessler", + "Hetzler", + "Heuck", + "Heydemüller", + "Hiebl", + "Hildebrand", + "Hildenbrand", + "Hilgendorf", + "Hillard", + "Hiller", + "Hingsen", + "Hingst", + "Hinrichs", + "Hirsch", + "Hirschberg", + "Hirt", + "Hodea", + "Hoffman", + "Hoffmann", + "Hofmann", + "Hohenberger", + "Hohl", + "Hohn", + "Hohnheiser", + "Hold", + "Holdt", + "Holinski", + "Holl", + "Holtfreter", + "Holz", + "Holzdeppe", + "Holzner", + "Hommel", + "Honz", + "Hooss", + "Hoppe", + "Horak", + "Horn", + "Horna", + "Hornung", + "Hort", + "Howard", + "Huber", + "Huckestein", + "Hudak", + "Huebel", + "Hugo", + "Huhn", + "Hujo", + "Huke", + "Huls", + "Humbert", + "Huneke", + "Huth", + "Häber", + "Häfner", + "Höcke", + "Höft", + "Höhne", + "Hönig", + "Hördt", + "Hübenbecker", + "Hübl", + "Hübner", + "Hügel", + "Hüttcher", + "Hütter", + "Ibe", + "Ihly", + "Illing", + "Isak", + "Isekenmeier", + "Itt", + "Jacob", + "Jacobs", + "Jagusch", + "Jahn", + "Jahnke", + "Jakobs", + "Jakubczyk", + "Jambor", + "Jamrozy", + "Jander", + "Janich", + "Janke", + "Jansen", + "Jarets", + "Jaros", + "Jasinski", + "Jasper", + "Jegorov", + "Jellinghaus", + "Jeorga", + "Jerschabek", + "Jess", + "John", + "Jonas", + "Jossa", + "Jucken", + "Jung", + "Jungbluth", + "Jungton", + "Just", + "Jürgens", + "Kaczmarek", + "Kaesmacher", + "Kahl", + "Kahlert", + "Kahles", + "Kahlmeyer", + "Kaiser", + "Kalinowski", + "Kallabis", + "Kallensee", + "Kampf", + "Kampschulte", + "Kappe", + "Kappler", + "Karhoff", + "Karrass", + "Karst", + "Karsten", + "Karus", + "Kass", + "Kasten", + "Kastner", + "Katzinski", + "Kaufmann", + "Kaul", + "Kausemann", + "Kawohl", + "Kazmarek", + "Kedzierski", + "Keil", + "Keiner", + "Keller", + "Kelm", + "Kempe", + "Kemper", + "Kempter", + "Kerl", + "Kern", + "Kesselring", + "Kesselschläger", + "Kette", + "Kettenis", + "Keutel", + "Kick", + "Kiessling", + "Kinadeter", + "Kinzel", + "Kinzy", + "Kirch", + "Kirst", + "Kisabaka", + "Klaas", + "Klabuhn", + "Klapper", + "Klauder", + "Klaus", + "Kleeberg", + "Kleiber", + "Klein", + "Kleinert", + "Kleininger", + "Kleinmann", + "Kleinsteuber", + "Kleiss", + "Klemme", + "Klimczak", + "Klinger", + "Klink", + "Klopsch", + "Klose", + "Kloss", + "Kluge", + "Kluwe", + "Knabe", + "Kneifel", + "Knetsch", + "Knies", + "Knippel", + "Knobel", + "Knoblich", + "Knoll", + "Knorr", + "Knorscheidt", + "Knut", + "Kobs", + "Koch", + "Kochan", + "Kock", + "Koczulla", + "Koderisch", + "Koehl", + "Koehler", + "Koenig", + "Koester", + "Kofferschlager", + "Koha", + "Kohle", + "Kohlmann", + "Kohnle", + "Kohrt", + "Koj", + "Kolb", + "Koleiski", + "Kolokas", + "Komoll", + "Konieczny", + "Konig", + "Konow", + "Konya", + "Koob", + "Kopf", + "Kosenkow", + "Koster", + "Koszewski", + "Koubaa", + "Kovacs", + "Kowalick", + "Kowalinski", + "Kozakiewicz", + "Krabbe", + "Kraft", + "Kral", + "Kramer", + "Krauel", + "Kraus", + "Krause", + "Krauspe", + "Kreb", + "Krebs", + "Kreissig", + "Kresse", + "Kreutz", + "Krieger", + "Krippner", + "Krodinger", + "Krohn", + "Krol", + "Kron", + "Krueger", + "Krug", + "Kruger", + "Krull", + "Kruschinski", + "Krämer", + "Kröckert", + "Kröger", + "Krüger", + "Kubera", + "Kufahl", + "Kuhlee", + "Kuhnen", + "Kulimann", + "Kulma", + "Kumbernuss", + "Kummle", + "Kunz", + "Kupfer", + "Kupprion", + "Kuprion", + "Kurnicki", + "Kurrat", + "Kurschilgen", + "Kuschewitz", + "Kuschmann", + "Kuske", + "Kustermann", + "Kutscherauer", + "Kutzner", + "Kwadwo", + "Kähler", + "Käther", + "Köhler", + "Köhrbrück", + "Köhre", + "Kölotzei", + "König", + "Köpernick", + "Köseoglu", + "Kúhn", + "Kúhnert", + "Kühn", + "Kühnel", + "Kühnemund", + "Kühnert", + "Kühnke", + "Küsters", + "Küter", + "Laack", + "Lack", + "Ladewig", + "Lakomy", + "Lammert", + "Lamos", + "Landmann", + "Lang", + "Lange", + "Langfeld", + "Langhirt", + "Lanig", + "Lauckner", + "Lauinger", + "Laurén", + "Lausecker", + "Laux", + "Laws", + "Lax", + "Leberer", + "Lehmann", + "Lehner", + "Leibold", + "Leide", + "Leimbach", + "Leipold", + "Leist", + "Leiter", + "Leiteritz", + "Leitheim", + "Leiwesmeier", + "Lenfers", + "Lenk", + "Lenz", + "Lenzen", + "Leo", + "Lepthin", + "Lesch", + "Leschnik", + "Letzelter", + "Lewin", + "Lewke", + "Leyckes", + "Lg", + "Lichtenfeld", + "Lichtenhagen", + "Lichtl", + "Liebach", + "Liebe", + "Liebich", + "Liebold", + "Lieder", + "Lienshöft", + "Linden", + "Lindenberg", + "Lindenmayer", + "Lindner", + "Linke", + "Linnenbaum", + "Lippe", + "Lipske", + "Lipus", + "Lischka", + "Lobinger", + "Logsch", + "Lohmann", + "Lohre", + "Lohse", + "Lokar", + "Loogen", + "Lorenz", + "Losch", + "Loska", + "Lott", + "Loy", + "Lubina", + "Ludolf", + "Lufft", + "Lukoschek", + "Lutje", + "Lutz", + "Löser", + "Löwa", + "Lübke", + "Maak", + "Maczey", + "Madetzky", + "Madubuko", + "Mai", + "Maier", + "Maisch", + "Malek", + "Malkus", + "Mallmann", + "Malucha", + "Manns", + "Manz", + "Marahrens", + "Marchewski", + "Margis", + "Markowski", + "Marl", + "Marner", + "Marquart", + "Marschek", + "Martel", + "Marten", + "Martin", + "Marx", + "Marxen", + "Mathes", + "Mathies", + "Mathiszik", + "Matschke", + "Mattern", + "Matthes", + "Matula", + "Mau", + "Maurer", + "Mauroff", + "May", + "Maybach", + "Mayer", + "Mebold", + "Mehl", + "Mehlhorn", + "Mehlorn", + "Meier", + "Meisch", + "Meissner", + "Meloni", + "Melzer", + "Menga", + "Menne", + "Mensah", + "Mensing", + "Merkel", + "Merseburg", + "Mertens", + "Mesloh", + "Metzger", + "Metzner", + "Mewes", + "Meyer", + "Michallek", + "Michel", + "Mielke", + "Mikitenko", + "Milde", + "Minah", + "Mintzlaff", + "Mockenhaupt", + "Moede", + "Moedl", + "Moeller", + "Moguenara", + "Mohr", + "Mohrhard", + "Molitor", + "Moll", + "Moller", + "Molzan", + "Montag", + "Moormann", + "Mordhorst", + "Morgenstern", + "Morhelfer", + "Moritz", + "Moser", + "Motchebon", + "Motzenbbäcker", + "Mrugalla", + "Muckenthaler", + "Mues", + "Muller", + "Mulrain", + "Mächtig", + "Mäder", + "Möcks", + "Mögenburg", + "Möhsner", + "Möldner", + "Möllenbeck", + "Möller", + "Möllinger", + "Mörsch", + "Mühleis", + "Müller", + "Münch", + "Nabein", + "Nabow", + "Nagel", + "Nannen", + "Nastvogel", + "Nau", + "Naubert", + "Naumann", + "Ne", + "Neimke", + "Nerius", + "Neubauer", + "Neubert", + "Neuendorf", + "Neumair", + "Neumann", + "Neupert", + "Neurohr", + "Neuschwander", + "Newton", + "Ney", + "Nicolay", + "Niedermeier", + "Nieklauson", + "Niklaus", + "Nitzsche", + "Noack", + "Nodler", + "Nolte", + "Normann", + "Norris", + "Northoff", + "Nowak", + "Nussbeck", + "Nwachukwu", + "Nytra", + "Nöh", + "Oberem", + "Obergföll", + "Obermaier", + "Ochs", + "Oeser", + "Olbrich", + "Onnen", + "Ophey", + "Oppong", + "Orth", + "Orthmann", + "Oschkenat", + "Osei", + "Osenberg", + "Ostendarp", + "Ostwald", + "Otte", + "Otto", + "Paesler", + "Pajonk", + "Pallentin", + "Panzig", + "Paschke", + "Patzwahl", + "Paukner", + "Peselman", + "Peter", + "Peters", + "Petzold", + "Pfeiffer", + "Pfennig", + "Pfersich", + "Pfingsten", + "Pflieger", + "Pflügner", + "Philipp", + "Pichlmaier", + "Piesker", + "Pietsch", + "Pingpank", + "Pinnock", + "Pippig", + "Pitschugin", + "Plank", + "Plass", + "Platzer", + "Plauk", + "Plautz", + "Pletsch", + "Plotzitzka", + "Poehn", + "Poeschl", + "Pogorzelski", + "Pohl", + "Pohland", + "Pohle", + "Polifka", + "Polizzi", + "Pollmächer", + "Pomp", + "Ponitzsch", + "Porsche", + "Porth", + "Poschmann", + "Poser", + "Pottel", + "Prah", + "Prange", + "Prediger", + "Pressler", + "Preuk", + "Preuss", + "Prey", + "Priemer", + "Proske", + "Pusch", + "Pöche", + "Pöge", + "Raabe", + "Rabenstein", + "Rach", + "Radtke", + "Rahn", + "Ranftl", + "Rangen", + "Ranz", + "Rapp", + "Rath", + "Rau", + "Raubuch", + "Raukuc", + "Rautenkranz", + "Rehwagen", + "Reiber", + "Reichardt", + "Reichel", + "Reichling", + "Reif", + "Reifenrath", + "Reimann", + "Reinberg", + "Reinelt", + "Reinhardt", + "Reinke", + "Reitze", + "Renk", + "Rentz", + "Renz", + "Reppin", + "Restle", + "Restorff", + "Retzke", + "Reuber", + "Reumann", + "Reus", + "Reuss", + "Reusse", + "Rheder", + "Rhoden", + "Richards", + "Richter", + "Riedel", + "Riediger", + "Rieger", + "Riekmann", + "Riepl", + "Riermeier", + "Riester", + "Riethmüller", + "Rietmüller", + "Rietscher", + "Ringel", + "Ringer", + "Rink", + "Ripken", + "Ritosek", + "Ritschel", + "Ritter", + "Rittweg", + "Ritz", + "Roba", + "Rockmeier", + "Rodehau", + "Rodowski", + "Roecker", + "Roggatz", + "Rohländer", + "Rohrer", + "Rokossa", + "Roleder", + "Roloff", + "Roos", + "Rosbach", + "Roschinsky", + "Rose", + "Rosenauer", + "Rosenbauer", + "Rosenthal", + "Rosksch", + "Rossberg", + "Rossler", + "Roth", + "Rother", + "Ruch", + "Ruckdeschel", + "Rumpf", + "Rupprecht", + "Ruth", + "Ryjikh", + "Ryzih", + "Rädler", + "Räntsch", + "Rödiger", + "Röse", + "Röttger", + "Rücker", + "Rüdiger", + "Rüter", + "Sachse", + "Sack", + "Saflanis", + "Sagafe", + "Sagonas", + "Sahner", + "Saile", + "Sailer", + "Salow", + "Salzer", + "Salzmann", + "Sammert", + "Sander", + "Sarvari", + "Sattelmaier", + "Sauer", + "Sauerland", + "Saumweber", + "Savoia", + "Scc", + "Schacht", + "Schaefer", + "Schaffarzik", + "Schahbasian", + "Scharf", + "Schedler", + "Scheer", + "Schelk", + "Schellenbeck", + "Schembera", + "Schenk", + "Scherbarth", + "Scherer", + "Schersing", + "Scherz", + "Scheurer", + "Scheuring", + "Scheytt", + "Schielke", + "Schieskow", + "Schildhauer", + "Schilling", + "Schima", + "Schimmer", + "Schindzielorz", + "Schirmer", + "Schirrmeister", + "Schlachter", + "Schlangen", + "Schlawitz", + "Schlechtweg", + "Schley", + "Schlicht", + "Schlitzer", + "Schmalzle", + "Schmid", + "Schmidt", + "Schmidtchen", + "Schmitt", + "Schmitz", + "Schmuhl", + "Schneider", + "Schnelting", + "Schnieder", + "Schniedermeier", + "Schnürer", + "Schoberg", + "Scholz", + "Schonberg", + "Schondelmaier", + "Schorr", + "Schott", + "Schottmann", + "Schouren", + "Schrader", + "Schramm", + "Schreck", + "Schreiber", + "Schreiner", + "Schreiter", + "Schroder", + "Schröder", + "Schuermann", + "Schuff", + "Schuhaj", + "Schuldt", + "Schult", + "Schulte", + "Schultz", + "Schultze", + "Schulz", + "Schulze", + "Schumacher", + "Schumann", + "Schupp", + "Schuri", + "Schuster", + "Schwab", + "Schwalm", + "Schwanbeck", + "Schwandke", + "Schwanitz", + "Schwarthoff", + "Schwartz", + "Schwarz", + "Schwarzer", + "Schwarzkopf", + "Schwarzmeier", + "Schwatlo", + "Schweisfurth", + "Schwennen", + "Schwerdtner", + "Schwidde", + "Schwirkschlies", + "Schwuchow", + "Schäfer", + "Schäffel", + "Schäffer", + "Schäning", + "Schöckel", + "Schönball", + "Schönbeck", + "Schönberg", + "Schönebeck", + "Schönenberger", + "Schönfeld", + "Schönherr", + "Schönlebe", + "Schötz", + "Schüler", + "Schüppel", + "Schütz", + "Schütze", + "Seeger", + "Seelig", + "Sehls", + "Seibold", + "Seidel", + "Seiders", + "Seigel", + "Seiler", + "Seitz", + "Semisch", + "Senkel", + "Sewald", + "Siebel", + "Siebert", + "Siegling", + "Sielemann", + "Siemon", + "Siener", + "Sievers", + "Siewert", + "Sihler", + "Sillah", + "Simon", + "Sinnhuber", + "Sischka", + "Skibicki", + "Sladek", + "Slotta", + "Smieja", + "Soboll", + "Sokolowski", + "Soller", + "Sollner", + "Sommer", + "Somssich", + "Sonn", + "Sonnabend", + "Spahn", + "Spank", + "Spelmeyer", + "Spiegelburg", + "Spielvogel", + "Spinner", + "Spitzmüller", + "Splinter", + "Sporrer", + "Sprenger", + "Spöttel", + "Stahl", + "Stang", + "Stanger", + "Stauss", + "Steding", + "Steffen", + "Steffny", + "Steidl", + "Steigauf", + "Stein", + "Steinecke", + "Steinert", + "Steinkamp", + "Steinmetz", + "Stelkens", + "Stengel", + "Stengl", + "Stenzel", + "Stepanov", + "Stephan", + "Stern", + "Steuk", + "Stief", + "Stifel", + "Stoll", + "Stolle", + "Stolz", + "Storl", + "Storp", + "Stoutjesdijk", + "Stratmann", + "Straub", + "Strausa", + "Streck", + "Streese", + "Strege", + "Streit", + "Streller", + "Strieder", + "Striezel", + "Strogies", + "Strohschank", + "Strunz", + "Strutz", + "Stube", + "Stöckert", + "Stöppler", + "Stöwer", + "Stürmer", + "Suffa", + "Sujew", + "Sussmann", + "Suthe", + "Sutschet", + "Swillims", + "Szendrei", + "Sören", + "Sürth", + "Tafelmeier", + "Tang", + "Tasche", + "Taufratshofer", + "Tegethof", + "Teichmann", + "Tepper", + "Terheiden", + "Terlecki", + "Teufel", + "Theele", + "Thieke", + "Thimm", + "Thiomas", + "Thomas", + "Thriene", + "Thränhardt", + "Thust", + "Thyssen", + "Thöne", + "Tidow", + "Tiedtke", + "Tietze", + "Tilgner", + "Tillack", + "Timmermann", + "Tischler", + "Tischmann", + "Tittman", + "Tivontschik", + "Tonat", + "Tonn", + "Trampeli", + "Trauth", + "Trautmann", + "Travan", + "Treff", + "Tremmel", + "Tress", + "Tsamonikian", + "Tschiers", + "Tschirch", + "Tuch", + "Tucholke", + "Tudow", + "Tuschmo", + "Tächl", + "Többen", + "Töpfer", + "Uhlemann", + "Uhlig", + "Uhrig", + "Uibel", + "Uliczka", + "Ullmann", + "Ullrich", + "Umbach", + "Umlauft", + "Umminger", + "Unger", + "Unterpaintner", + "Urban", + "Urbaniak", + "Urbansky", + "Urhig", + "Vahlensieck", + "Van", + "Vangermain", + "Vater", + "Venghaus", + "Verniest", + "Verzi", + "Vey", + "Viellehner", + "Vieweg", + "Voelkel", + "Vogel", + "Vogelgsang", + "Vogt", + "Voigt", + "Vokuhl", + "Volk", + "Volker", + "Volkmann", + "Von", + "Vona", + "Vontein", + "Wachenbrunner", + "Wachtel", + "Wagner", + "Waibel", + "Wakan", + "Waldmann", + "Wallner", + "Wallstab", + "Walter", + "Walther", + "Walton", + "Walz", + "Wanner", + "Wartenberg", + "Waschbüsch", + "Wassilew", + "Wassiluk", + "Weber", + "Wehrsen", + "Weidlich", + "Weidner", + "Weigel", + "Weight", + "Weiler", + "Weimer", + "Weis", + "Weiss", + "Weller", + "Welsch", + "Welz", + "Welzel", + "Weniger", + "Wenk", + "Werle", + "Werner", + "Werrmann", + "Wessel", + "Wessinghage", + "Weyel", + "Wezel", + "Wichmann", + "Wickert", + "Wiebe", + "Wiechmann", + "Wiegelmann", + "Wierig", + "Wiese", + "Wieser", + "Wilhelm", + "Wilky", + "Will", + "Willwacher", + "Wilts", + "Wimmer", + "Winkelmann", + "Winkler", + "Winter", + "Wischek", + "Wischer", + "Wissing", + "Wittich", + "Wittl", + "Wolf", + "Wolfarth", + "Wolff", + "Wollenberg", + "Wollmann", + "Woytkowska", + "Wujak", + "Wurm", + "Wyludda", + "Wölpert", + "Wöschler", + "Wühn", + "Wünsche", + "Zach", + "Zaczkiewicz", + "Zahn", + "Zaituc", + "Zandt", + "Zanner", + "Zapletal", + "Zauber", + "Zeidler", + "Zekl", + "Zender", + "Zeuch", + "Zeyen", + "Zeyhle", + "Ziegler", + "Zimanyi", + "Zimmer", + "Zimmermann", + "Zinser", + "Zintl", + "Zipp", + "Zipse", + "Zschunke", + "Zuber", + "Zwiener", + "Zümsande", + "Östringer", + "Überacker", +}); + +const auto austrianMalePrefixes = std::to_array({"Herr", "Dr.", "Prof. Dr."}); + +const auto austrianFemalePrefixes = std::to_array({"Frau", "Dr.", "Prof. Dr."}); + +const NameFormats austrianNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 5}}}; + +const PeopleNames austrianPeopleNames{ + {austrianMaleFirstNames, austrianLastNames, austrianMalePrefixes, {}}, + {austrianFemaleFirstNames, austrianLastNames, austrianFemalePrefixes, {}}, + austrianNameFormats +}; // Azerbaijan -extern const std::array azerbaijaniMaleFirstNames; -extern const std::array azerbaijaniFemaleFirstNames; -extern const std::array azerbaijaniMaleLastNames; -extern const std::array azerbaijaniFemaleLastNames; -extern const NameFormats azerbaijaniNameFormats; -extern const PeopleNames azerbaijaniPeopleNames; +const auto azerbaijaniMaleFirstNames = std::to_array({ + "Anar", "Amid", "Afəl", "Abbas", "Abdulla", "Adil", "Akif", "Aqil", "Bəhram", + "Nurlan", "Rafiq", "Tərlan", "Zaur", "Emin", "Emil", "Kamran", "Elnur", "Natiq", + "Rəşad", "Rəşid", "Tahir", "Əhməd", "Zahir", "İlham", "İlqar", "Nahid", "Nihad", + "Faiq", "İxtiyar", "Şəhriyar", "Şaiq", "Bəxtiyar", "Bəhruz", "Tunar", "Nadir", +}); + +const auto azerbaijaniFemaleFirstNames = std::to_array({ + "Anna", "Adeliya", "Afaq", "Afət", "Afərim", "Aidə", "Aygün", "Aynur", "Alsu", "Ayan", + "Aytən", "Aygül", "Aydan", "Aylin", "Bahar", "Banu", "Bəyaz", "Billurə", "Cansu", "Ceyla", + "Damla", "Dəniz", "Diana", "Dilarə", "Ella", "Elza", "Elyanora", "Ellada", "Elvira", "Elnarə", + "Esmira", "Estella", "Fatimə", "Fəxriyyə", "Fərəh", "Fərqanə", "Fidan", "Firuzə", "Gövhər", "Günay", + "Gülay", "Gülçin", "Gülər", "Gülsüm", "Humay", "Hüriyə", "Hülya", "Jalə", "Jasmin", "Kübra", + "Ləman", "Lamiyə", "Lalə", "Liliya", "Laura", "Leyla", "Maya", "Mehriban", "Mələk", "Nuray", + "Nurgün", "Nərgiz", "Nigar", "Ofelya", "Pəri", "Röya", "Səbinə", "Selcan", "Tansu", "Tuba", + "Ülviyyə", "Ulduz", "Ülkər", +}); + +const auto azerbaijaniMaleLastNames = std::to_array({ + "Əhmədov", "Ələkbərov", "Əliyev", "Vəliyev", "Soltanov", "Quliyev", "Məmmədov", "Xəlilov", "Nəzərov", "Rəhimov", +}); + +const auto azerbaijaniFemaleLastNames = std::to_array({ + "Qasımova", "Əfəndiyeva", "Soltanova", "Abdullayeva", "Rəşidova", + "Ələkbərova", "Əliyeva", "Tahirova", "Seyidova", "Vəsiyeva", +}); + +const NameFormats azerbaijaniNameFormats{{ + {"{lastName} {firstName}", 1}, + {"{firstName} {lastName}", 1}, +}}; + +const PeopleNames azerbaijaniPeopleNames{ + {azerbaijaniMaleFirstNames, azerbaijaniMaleLastNames, {}, {}}, + {azerbaijaniFemaleFirstNames, azerbaijaniFemaleLastNames, {}, {}}, + azerbaijaniNameFormats +}; // Belarus -extern const std::array belarusianMaleFirstNames; -extern const std::array belarusianFemaleFirstNames; -extern const std::array belarusianMaleLastNames; -extern const std::array belarusianFemaleLastNames; -extern const NameFormats belarusianNameFormats; -extern const PeopleNames belarusianPeopleNames; +const auto belarusianMaleFirstNames = std::to_array({ + "Sergey", "Andrey", "Aleksandr", "Dmitriy", "Vladimir", "Alexander", "Pavel", "Aleksey", + "Evgeniy", "Dmitry", "Igor", "Nikolay", "Maksim", "Ivan", "Artyom", "Mikhail", + "Alexey", "Ilya", "Oleg", "Viktor", "Roman", "Anton", "Vadim", "Kirill", + "Yuriy", "Maxim", "Evgeny", "Vitaliy", "Egor", "Vladislav", "Konstantin", "Artem", + "Vitaly", "Stanislav", "Ruslan", "Artur", "Valeriy", "Yury", "Vyacheslav", "Gennadiy", + "Anatoliy", "Petr", "Leonid", "Daniil", "Vasily", "Anatoly", "Eduard", "Valentin", + "Gleb", "Danil", "Yaroslav", "Boris", "Timofey", "Matvey", "Stepan", "Bogdan", + "Arseniy", "Mark", "Georgiy", "Timur", "Svyatoslav", "German", "Andrei", "Grigory", + "Fedor", "Sergei", "Kiril", "Nazar", "David", "Ignat", "Alex", "Marat", + "Georgy", "Rodion", "Arkadiy", "Rustam", "Aleks", "Alexandr", "Rostislav", "Albert", + "Sergej", "Semen", "Taras", "Lev", "Philip", "Miroslav", "Robert", "Vsevolod", + "Ales", "Renat", "Filipp", "Edgar", "Vital", "Erik", "Alik", "Andrej", + "Alexandar", "Aleksander", "Aleksandar", "Adam", "Victor", "Edvard", "Ali", "Daniel", + "Arsen", "Dinis", "Martin", "Aleksei", "Iosif", "Emil", "Mihail", "Nikolai", + "Mikola", "Eldar", "Leon", "Arnold", "Ernest", "Vasil", "Murat", "Vitali", + "Nick", "Alexei", "Vladimer", "Eugene", "Aleksej", "Richard", "Kris", "Miron", + "Zhan", "Dmitri", "Stefan", "Aliaksandr", "Samir", "Serge", "Dmitrij", "Rinat", + "Angel", "Sasa", "Dzmitry", "Dominik", "Andre", "Marek", "Petro", "John", + "Serafim", "Milan", "Paul", "Viktar", "Feliks", "Damir", "Arslan", "Felix", + "Tomas", "Tata", "Raman", "Armen", "Rafael", "Valdemar", "Ramil", "Akim", + "Adrian", "Alan", "Ashot", "Andrian", "Sergio", "Karim", "Tom", "Arman", + "Vitalii", "Jack", "Tigran", "Aziz", "Peter", "Oskar", "Dimitry", "Uladzimir", + "Nikolas", "Yanik", "Sem", "Murad", "Illya", "Filip", "Suleyman", "Siarhei", + "Evgeni", "Artiom", "Sam", "Andry", "Vasili", "Dimitriy", "Adel", "Jan", + "Aslan", "Aliaksei", "Patrik", "Romeo", "Elvin", "Anatoli", "Kristian", "Zaur", + "Ismail", "Aram", "Romuald", "Arthur", "Amir", "Sancho", "Andriy", "Shamil", + "George", "Farid", "Antony", "Karl", "Marsel", "Ostap", "Ilyas", "Mustafa", + "Sergiy", "Alfred", "Ahmed", "Bob", "Said", "Simon", "Magomed", "Deni", + "Iliya", "Yurii", "Alen", "Nil", "Jon", "Rafik", "Emin", "Sashko", + "Ruben", "Kamil", "Gevorg", "Ihar", "Aleh", "Slavomir", "Leonard", "Pol", + "Ben", "Ahmet", "Tony", "Di", "Rudolf", "Abram", "Omar", "Dionis", + "Markus", "Chris", "Edward", "Kevin", "Gor", "Michail", "Luka", "Samuil", + "Gabriel", "Bladimir", "Nikolaj", "Ramin", "Natan", "Edvin", "Adolf", "Rasim", + "Sascha", "Antoni", "Raul", "Zurab", "Georg", "James", "Frank", "Andreu", + "Eugen", "Ramiz", "Niko", "Donat", "Papa", "Amin", "Sultan", "Yegor", + "Mir", "Oleksandr", "Fred", "Ahmad", "Mansur", "Alessandro", "Pan", "Pavlo", + "Samvel", "Just", "Anatolii", "Eric", "Makha", "Sergy", "Olexandr", "Ilja", + "Kemal", "Mehmet", "Emir", "Rauf", "Nail", "Pablo", "William", "Musa", + "Ibrahim", "Mohammad", "Ladislav", "Wiktor", "Rashid", "Dani", "Da", "Levon", + "Arif", "Ronald", "Salim", "Aron", "Mohamad", "Vakhtang", "Suren", "Vazgen", + "Anis", "Luis", "Kosta", "Valerii", "Patrick", "Elvis", "Rashad", "Dzhamal", + "Dzianis", "Mikhaylo", "Vardan", "Narek", "Pedro", "Migel", "Irakli", "Alexy", + "Mohammed", "Edgard", "Levan", "Pawel", "Parviz", "Abdul", "Andranik", "Asel", + "Svetoslav", "Dante", "Yunus", "Gospodin", "Arseni", "Wladimir", +}); + +const auto belarusianFemaleFirstNames = std::to_array({ + "Olga", "Tatyana", "Ekaterina", "Natalya", "Elena", "Anastasiya", "Irina", "Svetlana", + "Anna", "Marina", "Darya", "Denis", "Viktoriya", "Mariya", "Yuliya", "Kristina", + "Anastasia", "Nikita", "Alina", "Veronika", "Lyudmila", "Yulia", "Nadezhda", "Viktoria", + "Anya", "Alyona", "Aleksandra", "Elizaveta", "Yana", "Diana", "Valentina", "Galina", + "Kseniya", "Inna", "Valeriya", "Polina", "Karina", "Maria", "Oksana", "Oxana", + "Margarita", "Alexandra", "Alla", "Evgeniya", "Angelina", "Sasha", "Alena", "Lyubov", + "Zhanna", "Larisa", "Olesya", "Nina", "Tamara", "Vera", "Zhenya", "Ksenia", + "Valeria", "Evgenia", "Natalia", "Anzhelika", "Nataliya", "Nika", "Arina", "Ulyana", + "Valery", "Snezhana", "Violetta", "Danila", "Anzhela", "Ilona", "Yan", "Alisa", + "Antonina", "Milana", "Inga", "Vladislava", "Marta", "Lilia", "Karolina", "Sofiya", + "Liliya", "Sanya", "Dina", "Kira", "Zoya", "Lidiya", "Inessa", "Raisa", + "Yanina", "Lina", "Varvara", "Zinaida", "Elvira", "Sofya", "Mayya", "Yuliana", + "Darina", "Mila", "Eva", "Lidia", "Dana", "Vasilisa", "Albina", "Milena", + "Lilya", "Asya", "Lika", "Sofia", "Nelli", "Regina", "Lana", "Lolita", + "Vitalina", "Sashka", "Zlata", "Evelina", "Sabina", "Julia", "Elina", "Marianna", + "Renata", "Liana", "Yulianna", "Rimma", "Inka", "Vasilina", "Ruslana", "Kate", + "Anita", "Tina", "Tatiana", "Emma", "Zarina", "Daria", "Miroslava", "Lada", + "Lora", "Alevtina", "Ilonka", "Irena", "Eleonora", "Taisa", "Nadka", "Sandra", + "Yaroslava", "Roza", "Maryana", "Victoria", "Taisia", "Erika", "Veta", "Agata", + "Dominika", "Rina", "Ann", "Katrina", "Faina", "Viola", "Mira", "Anfisa", + "Liya", "Natallia", "Vitaliya", "Dinara", "Kamilla", "Vitalia", "Mari", "Tatsiana", + "Verka", "Leyla", "Elmira", "Danuta", "Emiliya", "Tereza", "Lia", "Emilia", + "Stella", "Helen", "Sabrina", "Dayana", "Amina", "Maya", "Dariya", "Tania", + "Nonna", "Dinka", "Violeta", "Stanislava", "Lara", "Dan", "Luiza", "Kamila", + "Klavdiya", "Nastia", "Mary", "Ludmila", "Alesia", "Katarina", "Ninel", "Nadin", + "Malvina", "Yulian", "Katia", "Adelina", "Elka", "Rada", "Ariana", "Gulnara", + "Syuzanna", "Aksana", "Karen", "Teresa", "Liliana", "Ivanna", "Ada", "Bella", + "Elza", "Alexa", "Meri", "Linda", "Anuta", "Iya", "Tonka", "Laura", + "Kim", "Nadia", "Marika", "Lisa", "Christina", "Maryan", "Izabella", "Yuri", + "Nikola", "Ariadna", "Daniela", "Hanna", "Glafira", "Monika", "Ina", "Lili", + "Valeri", "Ilia", "Vanda", "Snezhanka", "Ana", "Iryna", "Sara", "Alisha", + "Fatima", "Elen", "Danka", "Ivona", "Nataly", "Anet", "Sana", "Anika", + "Adriana", "Madina", "Nona", "Edita", "Helena", "Aida", "Mishel", "Zena", + "Bogdana", "Aleksandrina", "Elizabet", "Samira", "Pavlina", "Ganna", "Irma", "Slavka", + "Elizabeth", "Eliza", "Darinka", "Ania", "Stefaniya", "Nelya", "Beata", "Ani", + "Jane", "Venera", "Veronica", "Sania", "Angelika", "Katy", "Sima", "Mariyka", + "Tanja", "Stefania", "Sava", "Ioanna", "Alice", "Pavla", "Nella", "Vania", + "Yanis", "Li", "Tatjana", "Annet", "Mama", "Gala", "Klara", "Sacha", + "Vanessa", "Kati", "Natalie", "Mariana", "Nana", "Nadzeya", "Ya", "Islam", + "Radmila", "Ayna", "Nila", "Tamila", "Roksana", "Katja", "Petra", "Dennis", + "Mika", "Beronika", "Arianna", "Angela", "Helga", "Verona", "Zara", "Viktoryia", + "Elis", "Victoriya", "Jana", "Alexandrina", "Mariam", "Liudmila", "Tinka", "Juli", + "Lyubka", "Dunya", "Emili", "Amira", "Dara", "Roxana", "Tana", "Anastacia", + "Barbara", "Maryna", "Lady", "Aliona", "Halina", "Nelly", +}); + +const auto belarusianMaleLastNames = std::to_array({ + "Ivanov", "Novik", "Zhuk", "Moroz", "Petrov", "Novikov", "Kravchenko", + "Kovalenko", "Makarevich", "Kovalchuk", "Karpovich", "Pashkevich", "Kozlov", "Volkov", + "Shevchenko", "Kotov", "Klimovich", "Morozov", "Smirnov", "Bondarenko", "Stankevich", + "Tarasevich", "Marchenko", "Zaytsev", "Lukashevich", "Kot", "Savchenko", "Bogdanovich", + "Pinchuk", "Kovalyov", "Boyko", "Kuzmich", "Melnik", "Korol", "Matskevich", + "Sinkevich", "Bondar", "Pavlovich", "Petrovich", "Melnikov", "Kazak", "Markevich", + "Romanov", "Borisevich", "Sidorenko", "Yushkevich", "Kovalevich", "Kozlovsky", "Zayats", + "Kuznetsov", "Abramovich", "Romanenko", "Dashkevich", "Yurchenko", "Sokolov", "Borisenko", + "Kovalev", "Rusak", "Makarenko", "Adamovich", "Poznyak", "Drozd", "Kozel", + "Ignatovich", "Khomich", "Vorobey", "Kravchuk", "Romanyuk", "Baranov", "Shevchuk", + "Dubovik", "Vasilevsky", "Akulich", "Kisel", "Frolov", "Romanovich", "Savchuk", + "Sakovich", "Goncharov", "Popov", "Mironov", "Orlov", "Kulik", "Murashko", + "Golub", "Pavlov", "Gorbach", "Gavrilenko", "Andreev", "Vashkevich", "Timoshenko", + "Vasilenko", "Solovey", "Makarov", "Vasilevich", "Sidorovich", "Prokopovich", "Kravtsov", + "Lis", "Zhdanovich", "Kholod", "Fedorovich", "Matusevich", "Gerasimovich", "Nikitin", + "Zhukov", "Yaroshevich", "Mikhaylov", "Yurkevich", "Zakharenko", "Bely", "Burak", + "Demidovich", "Volk", "Shinkevich", "Zhukovsky", "Gurinovich", "Belov", "Naumenko", + "Shpak", "Sergeev", "Koval", "Golovach", "Mitskevich", "Kovalevsky", "Nesterovich", + "Prikhodko", "Medvedev", "Meleshko", "Kasperovich", "Stepanov", "Korotkevich", "Alexandrovich", + "Lebedev", "Baranovsky", "Titov", "Radkevich", "Prokopenko", "Ignatenko", "Kazakevich", + "Savich", "Yakimovich", "Kachan", "Sergeevich", "Ermakovich", "Nikitenko", "Babich", + "Verenich", "Davidovich", "Yaskevich", "Komar", "Nikolaev", "Grinevich", "Aleksandrovich", + "Sokolovsky", "Potapenko", "Savitsky", "Kononovich", "Kuntsevich", "Marchuk", "Egorov", + "Urbanovich", "Belous", "Gayduk", "Semashko", "Kruk", "Chernyavsky", "Savko", + "Drozdov", "Nikolaevich", "Kulesh", "Korzun", "Antonovich", "Sushko", "Leshkevich", + "Kolesnik", "Tarasenko", "Karpenko", "Ermolenko", "Sokol", "Antonov", "Radyuk", + "Loyko", "Romanovsky", "Vasilyev", "Vasilev", "Grib", "Belyy", "Gonchar", + "Leonovich", "Kondratenko", "Bondarev", "Sobol", "Nesterenko", "Semyonov", "Kostyukevich", + "Malinovsky", "Vladimirovich", "Bogdanov", "Denisenko", "Astapenko", "Petkevich", "Gromyko", + "Viktorovich", "Petrovsky", "Yakovlev", "Kostyuk", "Polyakov", "Pavlovsky", "Shevtsov", + "Stasevich", "Lyakh", "Sadovsky", "Butko", "Belko", "Golubev", "Martinovich", + "Kondratovich", "Karpov", "Yanushkevich", "German", "Mikulich", "Romanchuk", "Zakharov", + "Senko", "Tarasyuk", "Borovik", "Velichko", "Reut", "Gulevich", "Yankovskaya", + "Chernyak", "Gritsuk", "Shilo", "Filipovich", "Osipenko", "Senkevich", "Antonenko", + "Korsak", "Tereshko", "Levchuk", "Borisov", "Panasyuk", "Gritskevich", "Sidorov", + "Voytovich", "Fedorenko", "Dudko", "Ivashkevich", "Kolesnikova", "Nazarenko", "Moiseenko", + "Tarasov", "Rudko", "Solovyov", "Lavrinovich", "Savitskiy", "Parkhomenko", "Mikhalevich", + "Petrenko", "Korolyov", +}); + +const auto belarusianFemaleLastNames = std::to_array({ + "Ivanova", "Novikova", "Kotova", "Volkova", "Petrova", "Morozova", "Smirnova", + "Kozlova", "Romanova", "Mironova", "Zaytseva", "Kovalyova", "Savitskaya", "Melnikova", + "Kuznetsova", "Andreeva", "Kovaleva", "Vasilevskaya", "Sokolova", "Sergeeva", "Goncharova", + "Orlova", "Pavlova", "Mikhaylova", "Kozlovskaya", "Frolova", "Kravtsova", "Nikitina", + "Lebedeva", "Malinovskaya", "Sokolovskaya", "Kovalevskaya", "Belaya", "Vysotskaya", "Novitskaya", + "Vasileva", "Titova", "Vishnevskaya", "Makarova", "Baranova", "Medvedeva", "Zhukovskaya", + "Shulga", "Zhukova", "Filatova", "Belova", "Bogdanova", "Popova", "Nikolaeva", + "Stepanova", "Baranovskaya", "Romanovskaya", "Polyakova", "Soroka", "Chernyavskaya", "Yakovleva", + "Golubeva", "Aleksandrova", "Sadovskaya", "Matveeva", "Ermakova", "Starovoytova", "Pavlovskaya", + "Drozdova", "Semyonova", "Antonova", "Lyubimova", "Petrovskaya", "Sergeevna", "Vasilyeva", + "Tkachenko", "Solovyova", "Shevtsova", "Fyodorova", "Starovoytov", "Korolyova", "Alexandrova", + "Zakharova", "Tarasova", "Koleda", "Egorova", "Rudenko", "Belskaya", "Borisova", + "Bondareva", "Emelyanova", "Kazakova", "Markova", "Litvinova", +}); + +const NameFormats belarusianNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames belarusianPeopleNames{ + {belarusianMaleFirstNames, belarusianMaleLastNames, {}, {}}, + {belarusianFemaleFirstNames, belarusianFemaleLastNames, {}, {}}, + belarusianNameFormats +}; // Belgium -extern const std::array belgianMaleFirstNames; -extern const std::array belgianFemaleFirstNames; -extern const std::array belgianLastNames; -extern const std::array belgianSuffixes; -extern const std::array belgianPrefixes; -extern const NameFormats belgianNameFormats; -extern const PeopleNames belgianPeopleNames; +const auto belgianMaleFirstNames = std::to_array({ + "Lucas", "Liam", "Louis", "Noah", "Lars", "Arthur", "Mathis", "Kobe", "Wout", "Milan", + "Alexander", "Daan", "Adam", "Vince", "Jules", "Victor", "Finn", "Stan", "Leon", "Seppe", + "Senne", "Thomas", "Mats", "Robbe", "Matteo", "Ferre", "Nathan", "Warre", "Jasper", "Vic", + "Elias", "Tuur", "Lowie", "Mauro", "Maxim", "Ruben", "Rune", "Mohamed", "Simon", "Rayan", + "Lukas", "Lander", "Xander", "Emiel", "Siebe", "Jonas", "Sam", "Luca", "Arne", "Cas", + "Felix", "Jack", "Mathias", "Jayden", "Quinten", "Tibo", "Lewis", "Sem", "Maxime", "Viktor", + "Emile", "Sander", "Aaron", "Oscar", "Bas", "Niels", "Jef", "Nand", "Lou", "Tristan", + "Gust", "David", "Brent", "Jelle", "Lenn", "Miel", "Wannes", "Gilles", "Jarne", "Alex", + "Imran", "Lennert", "Milo", "Jens", "Matthias", "Dries", "Axel", "Juul", "Hamza", "Ilias", + "Thibo", "Nicolas", "Bent", "Jesse", "Bram", "Maurice", "Ilyas", "Gabriel", "Robin", "Kasper", +}); + +const auto belgianFemaleFirstNames = std::to_array({ + "Emma", "Louise", "Marie", "Elise", "Noor", "Ella", "Julie", "Lotte", "Lore", "Fien", + "Lena", "Mila", "Olivia", "Amber", "Anna", "Elena", "Hanne", "Laura", "Charlotte", "Lina", + "Nina", "Fleur", "Lisa", "Nora", "Juliette", "Luna", "Amelie", "Kato", "Sara", "Febe", + "Axelle", "Janne", "Eline", "Helena", "Noa", "Camille", "Roos", "Lily", "Jade", "Nore", + "Jana", "Manon", "Sarah", "Liv", "Amélie", "Lara", "Mona", "Alice", "Tess", "Kaat", + "Femke", "Aya", "Eva", "Lien", "Bo", "Zoe", "Oona", "Sofia", "Leonie", "Linde", + "Jolien", "Fran", "Pauline", "Laure", "Merel", "Marthe", "Yana", "Renée", "Paulien", "Margot", + "Yasmine", "Ines", "Elisa", "Emily", "Maya", "Floor", "Amy", "Lize", "Amina", "Lucie", + "Julia", "Lise", "Hailey", "Hannah", "Alicia", "Norah", "Margaux", "Lieze", "Sien", "Zoë", + "Inaya", "Aline", "Amira", "Victoria", "Flore", "Lana", "Sterre", "Maud", "Chloe", +}); + +const auto belgianLastNames = std::to_array({ + "Claes", "Claeys", "Declerck", "Declercq", "Decock", "Decoster", "Desmet", "Devos", + "Dewilde", "Gielen", "Goossens", "Hermans", "Jacobs", "Janssen", "Janssens", "Lemmens", + "Maes", "Martens", "Mertens", "Michiels", "Peeters", "Smet", "Smets", "Thijs", + "Vandamme", "Vandenberghe", "Vandenbroeck", "Vandevelde", "Verhaeghe", "Verstraete", "Willems", "Wouters", +}); + +const auto belgianSuffixes = std::to_array({"MBA", "Phd."}); + +const auto belgianPrefixes = std::to_array({"Dr.", "Ir.", "Ing.", "Prof."}); + +const NameFormats belgianNameFormats{{ + {"{firstName} {lastName}", 8}, + {"{prefix} {firstName} {lastName}", 1}, + {"{firstName} {lastName} {suffix}", 1}, +}}; + +const PeopleNames belgianPeopleNames{ + {belgianMaleFirstNames, belgianLastNames, belgianPrefixes, belgianSuffixes}, + {belgianFemaleFirstNames, belgianLastNames, belgianPrefixes, belgianSuffixes}, + belgianNameFormats +}; // Bosnia -extern const std::array bosnianMaleFirstNames; -extern const std::array bosnianFemaleFirstNames; -extern const std::array bosnianLastNames; -extern const NameFormats bosnianNameFormats; -extern const PeopleNames bosnianPeopleNames; +const auto bosnianMaleFirstNames = std::to_array({ + "Adin", "Alem", "Amar", "Benjamin", "Dino", "Edin", "Elvir", "Emir", "Faruk", "Haris", + "Ibrahim", "Jasmin", "Kenan", "Lejla", "Mehmed", "Nedim", "Osman", "Safet", "Tarik", "Vedad", + "Zlatan", "Emin", "Nikola", "Eldar", "Senad", "D?enan", "Aldin", "Emir", "Davor", "Adnan", + "Emir", "Amar", "Alen", "Nihad", "Damir", "Amir", "Amer", "Armin", "Mirza", "Muhamed", + "Eldin", "Denis", "Elmedin", "Selmir", "Miralem", "Miran", "Anel", "Semir", "Lejla", "Azra", + "Sara", "Amna", "Hana", "Emina", "Nermina", "Lejla", "Belma", "Adna", "Amina", "D?enita", + "Ajla", "Aldina", "Erna", "Merjem", "Lamija", "Aida", "Sabina", "Edna", "Dina", "Maja", + "Vesna", "Amela", "Mirela", "Ela", "Dajana", "Irma", "Ena", "Melisa", "Nina", "Lana", + "Una", "Tara", "Ela", "Ariana", "Adrijana", "Emina", "Maida", "Enisa", "Lina", "Amina", + "Adna", "Lejla", "Ajla", "Zerina", "Mirnesa", "Ayla", "Adna", "Dijana", "Hana", "Amila" +}); + +const auto bosnianFemaleFirstNames = std::to_array({ + "Adin", "Alem", "Amar", "Benjamin", "Dino", "Edin", "Elvir", "Emir", "Faruk", "Haris", + "Ibrahim", "Jasmin", "Kenan", "Lejla", "Mehmed", "Nedim", "Osman", "Safet", "Tarik", "Vedad", + "Zlatan", "Emin", "Nikola", "Eldar", "Senad", "D?enan", "Aldin", "Emir", "Davor", "Adnan", + "Emir", "Amar", "Alen", "Nihad", "Damir", "Amir", "Amer", "Armin", "Mirza", "Muhamed", + "Eldin", "Denis", "Elmedin", "Selmir", "Miralem", "Miran", "Anel", "Semir", "Lejla", "Azra", + "Sara", "Amna", "Hana", "Emina", "Nermina", "Lejla", "Belma", "Adna", "Amina", "D?enita", + "Ajla", "Aldina", "Erna", "Merjem", "Lamija", "Aida", "Sabina", "Edna", "Dina", "Maja", + "Vesna", "Amela", "Mirela", "Ela", "Dajana", "Irma", "Ena", "Melisa", "Nina", "Lana", + "Una", "Tara", "Ela", "Ariana", "Adrijana", "Emina", "Maida", "Enisa", "Lina", "Amina", + "Adna", "Lejla", "Ajla", "Zerina", "Mirnesa", "Ayla", "Adna", "Dijana", "Hana", "Amila" +}); + +const auto bosnianLastNames = std::to_array({ + "Hodzi", "Mujagic", "Hadzi", "Ahmetovic", "Ali", "Delic", "Osmanagic", + "Hrnjici", "Omeragic", "Suljic", "Kovacevic", "Brkic", "Kurtic", "Mehic", + "Zukic", "Hasic", "Zimic", "Salihovic", "Dedic", "Kolic", "Dzafi", + "Salkic", "Omerhodzi", "Alagic", "Sijercic", "Suljagic", "Dautovic", "Habibovic", + "Cauzevic", "Hadziahmetovic", "Muminovic", "Brkan", "Cici", "Zvizdic", "Maksumic", + "Pilav", "Cehic", "Skopljak", "Dizdarevic", "Cengic", "Karahasanovic", "Piric", + "Cici", "Mujic", "Kujundzic", "Puzic", "Suljic", "Joldic", "Maksumic", + "Hota", "Kova", "Selimovic", "Terzic", "Malko", "Aganovic", "Polic", + "Catic", "Dedic", "Okanovic", "Suljanovic", "Bajramovic", "Mehanovic", "Karahodzi", + "Campara", "Nukic", "Ramic", "Ibricimovic", "Musi", "Talic", "Zimic", + "Zulfic", "Dizdar", "Spahic", "Zaimovic", "Ibrahimovic", "Mehic", "Kapic", + "Beglija", "Zukic", "Cehic", "Mahmic", "Hodzi", "Osman", "Zukan", + "Dedic", "Maksumic", "Tiro", "Fazlic", "Smajic", "Hatic", "Muhamedagic", + "Dervisevic", "Mujagic", "Mujezinovic", "Husagic", "Zeki", "Mehanovic", "Malko", + "Alagic", "Kolic", "Nadarevic", "Suljic", "Omanovic", "Omanovic", "Huski", + "Aljic", "Cici", "Begic", "Sijercic", "Cengic", "Karacic", "Begirbajic", + "Smajlovic", "Mahmutovic", "Kapetanovic", "Osman", "Ibrahimagic", "Hadibegic", "Becirovic", + "Jusic", "Brkic", "Cozic", "Musi", "Cehic", "Selimovic", "Cehic", + "Muminovic", "Hodzi" +}); + +const NameFormats bosnianNameFormats{{"{lastName} {firstName}", 1}}; + +const PeopleNames bosnianPeopleNames{ + {bosnianMaleFirstNames, bosnianLastNames, {}, {}}, + {bosnianFemaleFirstNames, bosnianLastNames, {}, {}}, + bosnianNameFormats +}; // Brazil -extern const std::array brazilianMaleFirstNames; -extern const std::array brazilianFemaleFirstNames; -extern const std::array brazilianLastNames; -extern const std::array brazilianSuffixes; -extern const std::array brazilianMalePrefixes; -extern const std::array brazilianFemalePrefixes; -extern const NameFormats brazilianNameFormats; -extern const PeopleNames brazilianPeopleNames; +const auto brazilianMaleFirstNames = std::to_array({ + "Alessandro", "Alexandre", "Anthony", "Antônio", "Arthur", "Benjamin", "Benício", "Bernardo", + "Breno", "Bryan", "Caio", "Calebe", "Carlos", "Cauã", "César", "Daniel", + "Danilo", "Davi", "Davi Lucca", "Deneval", "Eduardo", "Elísio", "Emanuel", "Enzo", + "Enzo Gabriel", "Fabiano", "Fabrício", "Feliciano", "Felipe", "Frederico", "Fábio", "Félix", + "Gabriel", "Gael", "Guilherme", "Gustavo", "Gúbio", "Heitor", "Henrique", "Hugo", + "Hélio", "Isaac", "Joaquim", "João", "João Lucas", "João Miguel", "João Pedro", "Júlio", + "Júlio César", "Kléber", "Ladislau", "Leonardo", "Lorenzo", "Lucas", "Lucca", "Marcelo", + "Marcos", "Matheus", "Miguel", "Murilo", "Nataniel", "Nicolas", "Noah", "Norberto", + "Pablo", "Paulo", "Pedro", "Pedro Henrique", "Pietro", "Rafael", "Raul", "Ricardo", + "Roberto", "Salvador", "Samuel", "Silas", "Sirineu", "Tertuliano", "Théo", "Vicente", + "Vitor", "Víctor", "Warley", "Washington", "Yago", "Yango", "Yuri", "Ígor" +}); + +const auto brazilianFemaleFirstNames = std::to_array({ + "Alessandra", "Alice", "Aline", "Alícia", "Ana Clara", "Ana Júlia", "Ana Laura", + "Ana Luiza", "Antonella", "Beatriz", "Bruna", "Carla", "Cecília", "Clara", + "Célia", "Dalila", "Eduarda", "Elisa", "Eloá", "Emanuelly", "Esther", + "Fabrícia", "Felícia", "Giovanna", "Helena", "Heloísa", "Isabel", "Isabela", + "Isabella", "Isabelly", "Isis", "Janaína", "Joana", "Júlia", "Karla", + "Lara", "Larissa", "Laura", "Lavínia", "Liz", "Lorena", "Lorraine", + "Luiza", "Lívia", "Maitê", "Manuela", "Marcela", "Margarida", "Maria", + "Maria Alice", "Maria Cecília", "Maria Clara", "Maria Eduarda", "Maria Helena", "Maria Júlia", "Maria Luiza", + "Mariana", "Marina", "Marli", "Meire", "Melissa", "Morgana", "Márcia", + "Mércia", "Natália", "Núbia", "Ofélia", "Paula", "Rafaela", "Rebeca", + "Roberta", "Sara", "Sarah", "Sophia", "Suélen", "Sílvia", "Talita", + "Valentina", "Vitória", "Yasmin" +}); + +const auto brazilianLastNames = std::to_array({ + "Silva", "Souza", "Carvalho", "Santos", "Reis", "Xavier", "Franco", + "Braga", "Macedo", "Batista", "Barros", "Moraes", "Costa", "Pereira", + "Melo", "Saraiva", "Nogueira", "Oliveira", "Martins", "Moreira", "Albuquerque" +}); + +const auto brazilianSuffixes = std::to_array({"Jr.", "Neto", "Filho"}); + +const auto brazilianMalePrefixes = std::to_array({"Sr.", "Dr."}); + +const auto brazilianFemalePrefixes = std::to_array({"Sra.", "Srta.", "Dra."}); + +const NameFormats brazilianNameFormats{ + {{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 9}, {"{firstName} {lastName} {suffix}", 1}}}; + +const PeopleNames brazilianPeopleNames{ + {brazilianMaleFirstNames, brazilianLastNames, brazilianMalePrefixes, brazilianSuffixes}, + {brazilianFemaleFirstNames, brazilianLastNames, brazilianFemalePrefixes, brazilianSuffixes}, + brazilianNameFormats}; // Bulgaria -extern const std::array bulgarianMaleFirstNames; -extern const std::array bulgarianFemaleFirstNames; -extern const std::array bulgarianLastNames; -extern const std::array bulgarianSuffixes; -extern const std::array bulgarianMalePrefixes; -extern const std::array bulgarianFemalePrefixes; -extern const NameFormats bulgarianNameFormats; -extern const PeopleNames bulgarianPeopleNames; +const auto bulgarianMaleFirstNames = std::to_array({ + "Aleksandar", "Angel", "Anton", "Boris", "Boyan", "Dimitar", "Emil", "Georgi", "Hristo", "Iliya", + "Ivan", "Kaloyan", "Kiril", "Lubomir", "Lyubomir", "Mihail", "Nikolay", "Ognian", "Petar", "Plamen", + "Radoslav", "Stefan", "Stoyan", "Todor", "Valentin", "Vasil", "Viktor", "Vladimir", "Yordan", "Zahari", +}); + +const auto bulgarianFemaleFirstNames = std::to_array({ + "Aleksandra", "Anastasiya", "Anna", "Borislava", "Daniela", "Diana", "Ekaterina", "Elitsa", + "Gabriela", "Gergana", "Iliana", "Ivanka", "Kalina", "Katerina", "Lidiya", "Maria", + "Margarita", "Nadezhda", "Nataliya", "Nevena", "Olya", "Petya", "Radostina", "Rumyana", + "Silvia", "Sofiya", "Svetlana", "Tsvetanka", "Vanya", "Vesela", "Yana", "Zoya", +}); + +const auto bulgarianLastNames = std::to_array({ + "Angelov", "Atanasov", "Bozhilov", "Dimitrov", "Draganov", "Georgiev", "Hristov", "Iliev", "Ivanov", + "Kolev", "Kovachev", "Lazarov", "Mihaylov", "Nikolov", "Petrov", "Popov", "Radev", "Simeonov", + "Stefanov", "Stoyanov", "Todorov", "Vasilev", "Vladimirov", "Yankov", "Zahariev", +}); + +const auto bulgarianSuffixes = std::to_array({"мл.", "ст."}); + +const auto bulgarianMalePrefixes = std::to_array({"Г-н", "Д-р", "Проф."}); + +const auto bulgarianFemalePrefixes = std::to_array({"Г-жа", "Г-ца", "Д-р", "Проф."}); + +const NameFormats bulgarianNameFormats{{ + {"{firstName} {lastName}", 8}, + {"{prefix} {firstName} {lastName}", 1}, + {"{firstName} {lastName} {suffix}", 1}, +}}; + +const PeopleNames bulgarianPeopleNames{ + {bulgarianMaleFirstNames, bulgarianLastNames, bulgarianMalePrefixes, bulgarianSuffixes}, + {bulgarianFemaleFirstNames, bulgarianLastNames, bulgarianFemalePrefixes, bulgarianSuffixes}, + bulgarianNameFormats}; // Canada -extern const std::array canadianMaleFirstNames; -extern const std::array canadianFemaleFirstNames; -extern const std::array canadianLastNames; -extern const NameFormats canadianNameFormats; -extern const PeopleNames canadianPeopleNames; +const auto canadianMaleFirstNames = std::to_array({ + "John", "David", "Robert", "Michael", "Paul", "Richard", "James", "Peter", "William", + "Brian", "Daniel", "Mark", "Chris", "Michel", "Kevin", "George", "Ken", "Steven", + "Jim", "Andrew", "Eric", "Pierre", "Ron", "Andre", "Gary", "Thomas", "Frank", + "Jason", "Jeff", "Scott", "Donald", "Roger", "Patrick", "Wayne", "Martin", "Joe", + "Jacques", "Terry", "Bob", "Bruce", "Marc", "Greg", "Gordon", "Joseph", "Stephen", + "Gilles", "Rick", "Mike", "Raymond", "Edward", "Guy", "Larry", "Charles", "Tim", + "Tony", "Alain", "Ryan", "Jack", "Alex", "Ian", "Mario", "Gerald", "Ronald", + "Marcel", "Fred", "Steve", "Keith", "Allan", "Bill", "Randy", "Dave", "Barry", + "Douglas", "Serge", "Sylvain", "Alan", "Ray", "Jan", "Luc", "Matthew", "Yves", + "Tom", "Adam", "Craig", "Louis", "Sean", "Norman", "Nick", "Jonathan", "Roy", + "Anthony", "Yvon", "Walter", "Neil", "Bernard", "Maurice", "Henry", "Kenneth", "Albert", + "Glen", "Derek", "Simon", "Christian", "Christopher", "Harold", "Carl", "Sam", "Trevor", + "Gerard", "Glenn", "Matt", "Harry", "Jamie", "Dean", "Colin", "Darren", "Benoit", + "Arthur", "Jerry", "Justin", "Philip", "Ralph", "Ross", "Gerry", "Roland", "Bryan", + "Grant", "Leo", "Benjamin", "Vincent", "Gaetan", "Lloyd", "Lawrence", "Leonard", "Rob", + "Aaron", "Kyle", "Jose", "Philippe", "Joel", "Stan", "Bruno", "Jay", "Howard", + "Jeremy", "Victor", "Tyler", "Shane", "Ivan", "Graham", "Russell", "Garry", "Jordan", + "Mathieu", "Yvan", "Ali", "Gaston", "Jeffrey", "Ernest", "Alexander", "Fernand", "Warren", + "Gilbert", "Jon", "Karl", "Alfred", "Eugene", "Allen", "Stuart", "Alexandre", "Dominic", + "Nathan", "Gabriel", "Hugh", "Sebastien", "Adrian", "Pascal", "Stanley", "Antonio", "Georges", + "Harvey", "Nicolas", "Nicholas", "Gregory", "Josh", "Lucien", "Samuel", "Cameron", "Marco", + "Laurent", "Ben", "Carlos", "Brandon", "Jesse", "Brett", "Nelson", "Patrice", "Lionel", + "Timothy", "Andy", "Jake", "Clement", "Calvin", "Jacob", "Arnold", "Max", "Leon", + "Mohamed", "Joshua", "Jimmy", "Mohammad", "Rodney", "Daryl", "Travis", "Julien", "Manuel", + "Shaun", "Bert", "Maxime", "Edwin", "Frederic", "Clifford", "Malcolm", "Fran", "Germain", + "Bertrand", "Kris", "Hans", "Muhammad", "Angelo", "Henri", "Phillip", "Marvin", "Armand", + "Perry", "Evan", "Guillaume", "Charlie", "Clayton", "Mohammed", "Ahmed", "Stewart", "Remi", + "Herbert", "Luke", "Olivier", "Conrad", "Alvin", "Jerome", "Syed", "Luis", "Edgar", + "Jules", "Derrick", "Kurt", "Lance", "Johnny", "Bradley", "Wilfred", "Melvin", "Frederick", + "Erik", "Gino", "Joey", "Duncan", "Reginald", "Dustin", "Emile", "Antoine", "Wesley", + "Geoffrey", "Owen", "Brendan", "Taylor", "Herman", "Stefan", "Rudy", "Andrzej", "Hugo", + "Hubert", "Abdul", "Fernando", "Etienne", "Vernon", "Roman", "Emmanuel", "Adrien", "Jaime", + "Byron", "Bobby", "Amir", "Roberto", "Tommy", "Jorge", "Stephan", "Julian", "Eddie", + "Dick", "Elmer", "Dylan", "Felix", "Cyril", "Omar", "Romeo", "Jared", "Oliver", + "Luigi", "Ahmad", "Billy", "Sunny", "Vladimir", "Carlo", "Micheal", "Angel", "Mitchell", + "Raj", "Winston", "Morris", "Hector", "Igor", "Nigel", "Giuseppe", "Gavin", "Kenny", + "Ricky", "Wally", "Kelvin", "Giovanni", "Lewis", "Anton", "Wilson", "Kai", "Angus", + "Graeme", "Ricardo", "Miguel", "Mathew", "Karim", "Isaac", "Edmond", "Marcus", "Wallace", + "Austin", "Chi", "Oscar", "Dino", "Devin", "Lucas", "Boris", "Norbert", +}); + +const auto canadianFemaleFirstNames = std::to_array({ + "Mary", "Linda", "Karen", "Jennifer", "Lisa", "Susan", "Jean", "Michelle", + "Nancy", "Kim", "Kelly", "Diane", "Donna", "Julie", "Claude", "Sandra", + "Heather", "Carol", "Denis", "Dan", "Nicole", "Barbara", "Christine", "Sarah", + "Pat", "Sharon", "Brenda", "Elizabeth", "Laura", "Anne", "Margaret", "Debbie", + "Wendy", "Joanne", "Marie", "Kathy", "Amanda", "Judy", "Cindy", "Angela", + "Helen", "Stephanie", "Melissa", "Janet", "Joan", "Denise", "Cheryl", "Cathy", + "Anna", "Dennis", "Shirley", "Catherine", "Lynn", "Louise", "Maria", "Robin", + "Andrea", "Tracy", "Jane", "Ann", "Patricia", "Melanie", "Rene", "Sue", + "Laurie", "Shannon", "Dale", "Suzanne", "Ruth", "Betty", "Janice", "Amy", + "Stephane", "Tina", "Danielle", "Irene", "Gail", "Marilyn", "Elaine", "Sylvie", + "Bonnie", "Rose", "Shelley", "Sheila", "Joyce", "Caroline", "Valerie", "Erin", + "Ashley", "Rita", "Tanya", "Darlene", "Dawn", "Christina", "Nathalie", "Lorraine", + "Annie", "Rachel", "Carole", "Dorothy", "Maureen", "Diana", "Kathleen", "Carolyn", + "Chantal", "Tara", "Isabelle", "Paula", "Rebecca", "Teresa", "Lise", "Pauline", + "Tracey", "Leslie", "Connie", "Theresa", "Anita", "Carmen", "Jacqueline", "Sara", + "Lindsay", "Francis", "Danny", "Grace", "Monique", "Audrey", "Crystal", "Cynthia", + "Natalie", "Marlene", "Yvonne", "Doris", "Dana", "Alice", "Claire", "Michele", + "Sylvia", "Sandy", "Jill", "Katherine", "Marion", "Emily", "Kerry", "Lee", + "Monica", "Samantha", "Stacey", "Lynda", "Victoria", "Evelyn", "Jocelyn", "Debra", + "Sonia", "Jenny", "Eva", "Dianne", "Carrie", "June", "Vanessa", "Megan", + "Alison", "Norma", "Francine", "Doreen", "Krista", "Johanne", "Jessica", "Deborah", + "Allison", "Holly", "Judith", "Manon", "Annette", "Peggy", "Ellen", "Renee", + "Helene", "Kate", "Gloria", "Lucie", "Beth", "Frances", "Wanda", "Sophie", + "Natasha", "Lois", "Eileen", "Kimberly", "Carla", "Leanne", "Katie", "Lynne", + "Charlene", "Angie", "Joy", "Lucy", "Leah", "Dominique", "Therese", "Ginette", + "Gina", "Nadine", "Phyllis", "Kathryn", "Arlene", "Amber", "France", "Nadia", + "Lorna", "Lesley", "Heidi", "Florence", "Alexandra", "Pamela", "Martha", "Edith", + "Lauren", "Vicki", "April", "Beverly", "Sally", "Tamara", "Karine", "Olga", + "Dany", "Genevieve", "Jeanne", "Marjorie", "Robyn", "Gwen", "Esther", "Emma", + "Joanna", "Sabrina", "Claudette", "Ana", "Vivian", "Vicky", "Veronica", "Lillian", + "Brigitte", "Charlotte", "Maggie", "Marina", "Noel", "Agnes", "Kristen", "Elena", + "Jessie", "Camille", "Cecile", "Gisele", "Vera", "Stella", "Nina", "Tiffany", + "Clare", "Roxanne", "Mona", "Marian", "Julia", "Bernice", "Ruby", "Marianne", + "Eleanor", "Edna", "Rosemary", "Mel", "Micheline", "Jocelyne", "Beverley", "Celine", + "Lana", "Liz", "Roberta", "Mandy", "Nicola", "Madeleine", "Hong", "Kay", + "Jeanette", "Yvette", "Kimberley", "Lina", "Gladys", "Glenda", "Jeannine", "Colette", + "Erika", "Leona", "Gillian", "Rosa", "Brittany", "Hazel", "Elsie", "Ingrid", + "Stacy", "Lucille", "May", "Kristina", "Simone", "Corinne", "Faye", "Lydia", + "Nora", "Muriel", "Kristin", "Janine", "Jenna", "Loretta", "Lily", "Kayla", + "Candice", "Isabel", "Marcia", "Leigh", "Aline", "Jeannette", "Paulette", "Josephine", + "Chelsea", "Veronique", "Fiona", "Ida", "Lena", "Li", "Juan", "Bernadette", + "Sheryl", "Maxine", "Hilda", "Nikki", "Lou", "Kari", "Yan", "Josie", + "Sonya", "Helena", "Iris", "Ming", "Cassandra", "Geraldine", "Line", "Rachelle", + "Marguerite", "Virginia", "Clara", "Pierrette", "Karin", "Katrina", +}); + +const auto canadianLastNames = std::to_array({ + "Smith", "Brown", "Tremblay", "Martin", "Roy", "Gagnon", "Lee", "Wilson", + "Johnson", "Macdonald", "Taylor", "Campbell", "Anderson", "Jones", "Leblanc", "Cote", + "Williams", "Miller", "Thompson", "Gauthier", "White", "Morin", "Wong", "Young", + "Bouchard", "Scott", "Stewart", "Pelletier", "Lavoie", "Robinson", "Moore", "Belanger", + "Singh", "Fortin", "Levesque", "Chan", "Reid", "Ross", "Clark", "Johnston", + "Walker", "Thomas", "King", "Gagne", "Bergeron", "Li", "Boucher", "Landry", + "Poirier", "Murray", "Murphy", "Mcdonald", "Wright", "Richard", "Mitchell", "Girard", + "Clarke", "Davis", "Simard", "Kelly", "Lewis", "Graham", "Caron", "Wang", + "Fraser", "Fournier", "Jackson", "Beaulieu", "Wood", "Hall", "Baker", "Chen", + "Hill", "Harris", "Green", "Roberts", "Lapointe", "Bell", "Ouellet", "Patel", + "Watson", "Kennedy", "Cloutier", "Robertson", "Allen", "Lefebvre", "Nguyen", "Hamilton", + "Desjardins", "Adams", "Gill", "Khan", "Cameron", "Morrison", "Dube", "Evans", + "Grant", "Nadeau", "Zhang", "Peters", "Armstrong", "Phillips", "Cook", "Hebert", + "Poulin", "Liu", "Michaud", "Kim", "Martel", "Edwards", "Turner", "Nelson", + "Bennett", "Cooper", "Ferguson", "Gray", "Paquette", "Marshall", "Cormier", "Simpson", + "Harvey", "Mclean", "Collins", "Leclerc", "Bedard", "Grenier", "Russell", "Couture", + "Lessard", "Cyr", "Ward", "Shaw", "Boudreau", "Bernier", "Lambert", "Lalonde", + "Friesen", "Blais", "Proulx", "Morris", "Arsenault", "Henderson", "Parker", "Demers", + "Gilbert", "Hunter", "Gallant", "Davidson", "Dupuis", "Elliott", "Walsh", "Turcotte", + "Lemieux", "Harrison", "Lachance", "Carter", "Richardson", "James", "Beaudoin", "Foster", + "Gosselin", "Mackenzie", "Gordon", "Fisher", "Hughes", "Parent", "Theriault", "Lam", + "Rogers", "Perron", "Gibson", "Ryan", "Morgan", "Langlois", "Savard", "Perreault", + "Patterson", "Thibault", "Mcleod", "Bailey", "Mercier", "Mckay", "Villeneuve", "Thomson", + "Dion", "Fortier", "Charbonneau", "Bernard", "Robert", "Dubois", "Giroux", "Leung", + "Dufour", "Schmidt", "Black", "Paradis", "Davies", "Ouellette", "Houle", "Macleod", + "Menard", "Rose", "Champagne", "Mills", "Plante", "Tran", "Benoit", "Maclean", + "Leduc", "Boisvert", "Wu", "Allard", "Legault", "Hamel", "Wiebe", "Stevens", + "Berube", "Lemay", "Lacroix", "Rousseau", "Labelle", "Renaud", "Bolduc", "Klassen", + "Paul", "Parsons", "Bertrand", "Perry", "Bilodeau", "Henry", "Ellis", "Ng", + "Wallace", "Burns", "Mason", "Hunt", "Park", "Ho", "Fontaine", "Seguin", + "Therrien", "Andrews", "Crawford", "Butler", "Brooks", "Gervais", "Yu", "Kerr", + "Dyck", "Yang", "Alexander", "Price", "Burke", "Saunders", "Boivin", "Mckenzie", + "Richards", "Lawrence", "Holmes", "Dionne", "Goulet", "Sullivan", "Power", "Cole", + "Guay", "Lepage", "Lauzon", "Mackay", "Vincent", "Ali", "Huang", "Vachon", + "Robichaud", "Jacques", "Dunn", "Doucet", "Gravel", "Picard", "Noel", "Doyle", + "Matthews", "Carrier", "Paquet", "Moreau", "Larocque", "Peterson", "Chapman", "Sinclair", + "Palmer", "Sutherland", "Duncan", "Cox", "Stevenson", "Pilon", "Vaillancourt", "Craig", + "Porter", "Savoie", "Jean", "Chartrand", "Godin", "Page", "Mann", "Comeau", + "Cheung", "George", "Boyd", "Daigle", "Desrosiers", "Sharma", "Trudel", "Hart", + "Wells", "Penner", "Robitaille", "Pearson", "Rioux", "Lapierre", "Hansen", "Francis", + "Dumont", "Charron", "Ford", "Douglas", "Fox", "Gingras", "Woods", "Warren", + "Dixon", "Barnes", "Lau", "Chow", "Spencer", "Gendron", "Lin", "Reynolds", + "Audet", "Marchand", "Jensen", "Lavigne", "Cunningham", "Mcintyre", "Bourque", "Lavallee", + "Bradley", "Deschenes", +}); + +const NameFormats canadianNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames canadianPeopleNames{ + {canadianMaleFirstNames, canadianLastNames, {}, {}}, + {canadianFemaleFirstNames, canadianLastNames, {}, {}}, + canadianNameFormats +}; // China -extern const std::array chineseLastNames; -extern const std::array chineseMaleFirstNames; -extern const std::array chineseFemaleFirstNames; -extern const NameFormats chineseNameFormats; -extern const PeopleNames chinesePeopleNames; +const auto chineseLastNames = std::to_array({ + "赵", "钱", "孙", "李", "周", "吴", "郑", "王", "冯", "陈", "褚", "卫", "蒋", "沈", + "韩", "杨", "朱", "秦", "尤", "许", "何", "吕", "施", "张", "孔", "曹", "严", "华", + "金", "魏", "陶", "姜", "戚", "谢", "邹", "喻", "柏", "水", "窦", "章", "云", "苏", + "潘", "葛", "奚", "范", "彭", "郎", "鲁", "韦", "昌", "马", "苗", "凤", "花", "方", + "俞", "任", "袁", "柳", "酆", "鲍", "史", "唐", "费", "廉", "岑", "薛", "雷", "贺", + "倪", "汤", "滕", "殷", "罗", "毕", "郝", "邬", "安", "常", "乐", "于", "时", "傅", + "皮", "卞", "齐", "康", "伍", "余", "元", "卜", "顾", "孟", "平", "黄", "和", "穆", + "萧", "尹", "姚", "邵", "湛", "汪", "祁", "毛", "禹", "狄", "米", "贝", "明", "臧", + "计", "伏", "成", "戴", "谈", "宋", "茅", "庞", "熊", "纪", "舒", "屈", "项", "祝", + "董", "梁", "杜", "阮", "蓝", "闵", "席", "季", "麻", "强", "贾", "路", "娄", "危", + "江", "童", "颜", "郭", "梅", "盛", "林", "刁", "锺", "徐", "邱", "骆", "高", "夏", + "蔡", "田", "樊", "胡", "凌", "蹇", "称", "诺", "来", "多", "繁", "戊", "朴", "回", + "毓", "税", "荤", "靖", "绪", "愈", "硕", "牢", "买", "但", "巧", "枚", "撒", "泰", + "秘", "亥", "绍", "以", "壬", "森", "斋", "释", "奕", "姒", "朋", "求", "羽", "用", + "占", "真", "穰", "翦", "闾", "漆", "贵", "代", "贯", "旁", "崇", "栋", "告", "休", + "褒", "谏", "锐", "皋", "闳", "在", "歧", "禾", "示", "是", "委", "钊", "频", "嬴", + "呼", "大", "威", "昂", "律", "冒", "保", "系", "抄", "定", "化", "莱", "校", "么", + "抗", "祢", "綦", "悟", "宏", "功", "庚", "务", "敏", "捷", "拱", "兆", "丑", "丙", + "畅", "苟", "随", "类", "卯", "俟", "友", "答", "乙", "允", "甲", "留", "尾", "佼", + "玄", "乘", "裔", "延", "植", "环", "矫", "赛", "昔", "侍", "度", "旷", "遇", "偶", + "前", "由", "咎", "塞", "敛", "受", "泷", "袭", "衅", "叔", "圣", "御", "夫", "仆", + "镇", "藩", "邸", "府", "掌", "首", "员", "焉", "戏", "可", "智", "尔", "凭", "悉", + "进", "笃", "厚", "仁", "业", "肇", "资", "合", "仍", "九", "衷", "哀", "刑", "俎", + "仵", "圭", "夷", "徭", "蛮", "汗", "孛", "乾", "帖", "罕", "洛", "淦", "洋", "邶", + "郸", "郯", "邗", "邛", "剑", "虢", "隋", "蒿", "茆", "菅", "苌", "树", "桐", "锁", + "钟", "机", "盘", "铎", "斛", "玉", "线", "针", "箕", "庹", "绳", "磨", "蒉", "瓮", + "弭", "刀", "疏", "牵", "浑", "恽", "势", "世", "仝", "同", "蚁", "止", "戢", "睢", + "冼", "种", "涂", "肖", "己", "泣", "潜", "卷", "脱", "谬", "蹉", "赧", "浮", "顿", + "说", "次", "错", "念", "夙", "斯", "完", "丹", "表", "聊", "源", "姓", "吾", "寻", + "展", "出", "不", "户", "闭", "才", "无", "书", "学", "愚", "本", "性", "雪", "霜", + "烟", "寒", "少", "字", "桥", "板", "斐", "独", "千", "诗", "嘉", "扬", "善", "揭", + "祈", "析", "赤", "紫", "青", "柔", "刚", "奇", "拜", "佛", "陀", "弥", "阿", "素", + "长", "僧", "隐", "仙", "隽", "宇", "祭", "酒", "淡", "塔", "琦", "闪", "始", "星", + "南", "天", "接", "波", "碧", "速", "禚", "腾", "潮", "镜", "似", "澄", "潭", "謇", + "纵", "渠", "奈", "风", "春", "濯", "沐", "茂", "英", "兰", "檀", "藤", "枝", "检", + "生", "折", "登", "驹", "骑", "貊", "虎", "肥", "鹿", "雀", "野", "禽", "飞", "节", + "宜", "鲜", "粟", "栗", "豆", "帛", "官", "布", "衣", "藏", "宝", "钞", "银", "门", + "盈", "庆", "喜", "及", "普", "建", "营", "巨", "望", "希", "道", "载", "声", "漫", + "犁", "力", "贸", "勤", "革", "改", "兴", "亓", "睦", "修", "信", "闽", "北", "守", + "坚", "勇", "汉", "练", "尉", "士", "旅", "五", "令", "将", "旗", "军", "行", "奉", + "敬", "恭", "仪", "母", "堂", "丘", "义", "礼", "慈", "孝", "理", "伦", "卿", "问", + "永", "辉", "位", "让", "尧", "依", "犹", "介", "承", "市", "所", "苑", "杞", "剧", + "第", "零", "谌", "招", "续", "达", "忻", "六", "鄞", "战", "迟", "候", "宛", "励", + "粘", "萨", "邝", "覃", "辜", "初", "楼", "城", "区", "局", "台", "原", "考", "妫", + "纳", "泉", "老", "清", "德", "卑", "过", "麦", "曲", "竹", "百", "福", "言", "霍", + "虞", "万", "支", "柯", "昝", "管", "卢", "莫", "经", "房", "裘", "缪", "干", "解", + "应", "宗", "丁", "宣", "贲", "邓", "单", "杭", "洪", "包", "诸", "左", "石", "崔", + "吉", "钮", "龚", "程", "嵇", "邢", "滑", "裴", "陆", "荣", "翁", "荀", "羊", "於", + "惠", "甄", "麴", "家", "封", "芮", "羿", "储", "靳", "汲", "邴", "糜", "松", "井", + "段", "富", "巫", "乌", "焦", "巴", "弓", "牧", "隗", "山", "谷", "车", "侯", "宓", + "蓬", "全", "郗", "班", "仰", "秋", "仲", "伊", "宫", "宁", "仇", "栾", "暴", "甘", + "钭", "历", "戎", "祖", "武", "符", "刘", "景", "詹", "束", "龙", "叶", "幸", "司", + "韶", "郜", "黎", "蓟", "溥", "印", "宿", "白", "怀", "蒲", "邰", "召", "有", "舜", + "拉", "丛", "岳", "寸", "贰", "皇", "侨", "彤", "竭", "端", "赫", "实", "甫", "集", + "象", "翠", "狂", "辟", "典", "良", "函", "芒", "苦", "其", "京", "中", "夕", "之", + "从", "鄂", "索", "咸", "籍", "赖", "卓", "蔺", "屠", "蒙", "池", "乔", "阳", "郁", + "胥", "能", "苍", "双", "闻", "莘", "党", "翟", "谭", "贡", "劳", "逄", "姬", "申", + "扶", "堵", "冉", "宰", "郦", "雍", "却", "璩", "桑", "桂", "濮", "牛", "寿", "通", + "边", "扈", "燕", "冀", "僪", "浦", "尚", "农", "温", "别", "庄", "晏", "柴", "瞿", + "阎", "充", "慕", "连", "茹", "习", "宦", "艾", "鱼", "容", "向", "古", "易", "慎", + "戈", "廖", "庾", "终", "暨", "居", "衡", "步", "都", "耿", "满", "弘", "匡", "国", + "文", "琴", "况", "亢", "缑", "帅", "寇", "广", "禄", "阙", "东", "欧", "殳", "沃", + "利", "蔚", "越", "夔", "隆", "师", "巩", "厍", "聂", "晁", "勾", "敖", "融", "冷", + "訾", "辛", "阚", "那", "简", "饶", "空", "曾", "毋", "沙", "乜", "养", "鞠", "须", + "丰", "巢", "关", "蒯", "相", "查", "后", "荆", "红", "游", "特", "察", "竺", "冠", + "宾", "香", "赏", "伯", "佴", "佘", "佟", "爱", "年", "笪", "谯", "哈", "墨", "牟", + "商", "海", "归", "钦", "鄢", "汝", "法", "闫", "楚", "晋", "督", "仉", "盖", "逯", + "库", "郏", "逢", "阴", "薄", "厉", "稽", "开", "光", "操", "瑞", "眭", "泥", "运", + "摩", "伟", "铁", "迮", "果", "权", "逮", "盍", "益", "桓", "公", "万俟", "司马", "上官", + "欧阳", "夏侯", "诸葛", "闻人", "东方", "赫连", "皇甫", "尉迟", "公羊", "澹台", "公冶", "宗政", "濮阳", "淳于", + "单于", "太叔", "申屠", "公孙", "仲孙", "轩辕", "令狐", "钟离", "宇文", "长孙", "慕容", "司徒", "司空", "章佳", + "那拉", "觉罗", "纳喇", "乌雅", "范姜", "碧鲁", +}); + +const auto chineseMaleFirstNames = std::to_array({ + "建华", "建国", "建军", "国强", "国平", "国良", "国栋", "国辉", "志国", "志明", "勇", "军", "伟", + "强", "刚", "涛", "斌", "波", "辉", "磊", "超", "鹏", "杰", "浩", "鑫", "帅", + "宇", "晨", "诚", "成", "民", "明", "阳", "瑜", "熙成", "熙瑶", "家豪", "家明", "俊杰", + "俊熙", "沐宸", "浩宇", "浩然", "浩轩", "浩晨", "沐辰", "茗泽", "奕辰", "奕泽", "宇泽", "宇轩", "宇航", + "沐阳", "梓诚", "梓豪", "梓睿", "梓浩", "浩辰", "癸霖", "一全", "三锋", "义轩", "俊凯", "子豪", "振东", + "智杰", "哲新", "文昊", "中海", "超栋", "治涛", "治文", "文韬", "敬彪", "敬阳", "政君", "立伟", "呈轩", +}); + +const auto chineseFemaleFirstNames = std::to_array({ + "秀英", "秀兰", "秀珍", "桂英", "桂兰", "玉兰", "玉珍", "玉英", "玉梅", "凤英", "兰英", "婷婷", "国英", + "国珍", "国华", "国芳", "国兰", "国秀", "国琴", "国荣", "国香", "英", "萍", "蒙", "红", "丽", + "敏", "芳", "静", "霞", "燕", "娟", "艳", "娜", "丹", "玲", "婷", "珈", "雪", + "倩", "悦", "颖", "洁", "慧", "开慧", "丽芬", "丽芳", "丽萍", "若汐", "一诺", "艺涵", "依诺", + "梓涵", "梓晨", "梓馨", "梓萱", "梓妍", "梓玥", "苡沫", "雨桐", "欣怡", "语桐", "语汐", "雨涵", "雨欣", + "诗雨", "婷方", "美方", "雅婷", "紫林", "天娇", "万佳", "子欣", "海燕", "乙萍", "安琪", "馨羽", "馥君", + "思佳", "雅鑫", "静怡", "晨阳", "佳琪", "雯静", "榕融", +}); + +const NameFormats chineseNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames chinesePeopleNames{ + {chineseMaleFirstNames, chineseLastNames, {}, {}}, + {chineseFemaleFirstNames, chineseLastNames, {}, {}}, + chineseNameFormats}; // Croatia -extern const std::array croatianMaleFirstNames; -extern const std::array croatianFemaleFirstNames; -extern const std::array croatianLastNames; -extern const std::array croatianSuffixes; -extern const std::array croatianMalePrefixes; -extern const std::array croatianFemalePrefixes; -extern const NameFormats croatianNameFormats; -extern const PeopleNames croatianPeopleNames; +const auto croatianMaleFirstNames = std::to_array({ + "Adi", "Ado", "Andel", "Andelin", "Andelko", "Andelo", "Andi", "Andras", "Andrej", + "Andrija", "Andro", "Anko", "Ante", "Antek", "Antonin", "Antonio", "Antun", "Bela", + "Belimir", "Berti", "Boris", "Borko", "Borna", "Božidar", "Branimir", "Bruno", "Časlav", + "Dado", "Damil", "Damir", "Danijel", "Dario", "Darko", "David", "Davor", "Davorin", + "Domagoj", "Donat", "Dražen", "Držimir", "Držislav", "Dubravko", "Duje", "Dujo", "Emil", + "Emilijan", "Erik", "Fabijan", "Filip", "Franjo", "Gaj", "Gašpar", "Goran", "Gordan", + "Gradimir", "Grga", "Grgo", "Grgur", "Gvozden", "Hrvoj", "Hrvoje", "Ico", "Igor", + "Ilija", "Ilko", "Ino", "Ivan", "Ive", "Ivek", "Ivica", "Ivo", "Jadran", + "Jadranko", "Jadro", "Jakov", "Jan", "Janko", "Jasen", "Jasenko", "Josip", "Joško", + "Joso", "Joža", "Jože", "Krešimir", "Kristijan", "Kruno", "Krunoslav", "Ladislav", "Ljudevit", + "Lucijan", "Luka", "Marin", "Marko", "Martin", "Matan", "Mate", "Matej", "Matija", + "Matko", "Mato", "Mihael", "Milan", "Mile", "Milivoj", "Miljenko", "Mimo", "Miran", + "Mirko", "Miro", "Mislav", "Mladen", "Nedjeljko", "Neven", "Nikola", "Nino", "Ozren", + "Pavel", "Pepo", "Pero", "Petar", "Pravdan", "Rino", "Robert", "Roberto", "Robi", + "Roko", "Sanjin", "Saša", "Slavek", "Slaven", "Slavko", "Srećko", "Stanko", "Štef", + "Stipan", "Stipe", "Stjepan", "Stribor", "Svebor", "Tihomir", "Toma", "Tome", "Tomislav", + "Tomo", "Tonči", "Tone", "Toni", "Tonko", "Trpimir", "Trpko", "Tvrtko", "Valentin", + "Vanja", "Vatroslav", "Vedran", "Velimir", "Vijeko", "Vjekoslav", "Vjenceslav", "Vladek", "Vladislav", + "Vlado", "Vlatko", "Zdenko", "Zdravko", "Željko", "Zoltan", "Zrinislav", "Zrinko", "Zvonimir" +}); + +const auto croatianFemaleFirstNames = std::to_array({ + "Ada", "Adina", "Adriana", "Adrijana", "Agata", "Alemka", "Alenka", "Alisa", "Alka", + "Alma", "Amalija", "Ana", "Ančica", "Anamarija", "Anastazija", "Anci", "Anči", "Ancica", + "Anda", "Anđela", "Anđelika", "Anđelina", "Andi", "Andrea", "Andreja", "Andrina", "Anesa", + "Aneta", "Ani", "Anica", "Anja", "Anka", "Antea", "Antonija", "Asija", "Asja", + "Bara", "Barbara", "Barica", "Beata", "Bela", "Biserka", "Borka", "Borna", "Božena", + "Božica", "Branimira", "Branka", "Brankica", "Brigita", "Dada", "Dagmar", "Dalibora", "Daliborka", + "Danica", "Danijela", "Danka", "Dara", "Darinka", "Dea", "Đina", "Dona", "Donka", + "Dora", "Dorana", "Dorica", "Draga", "Ela", "Eli", "Elka", "Evelin", "Ina", + "Inga", "Inge", "Inja", "Inka", "Ita", "Iva", "Ivančica", "Ivanka", "Ivica", + "Ivna", "Jagica", "Jana", "Janica", "Janka", "Jasna", "Jela", "Jelica", "Ješa", + "Kata", "Kate", "Katica", "Katija", "Katina", "Kika", "Lara", "Laura", "Lea", + "Lela", "Lena", "Leona", "Lola", "Maca", "Magda", "Maja", "Majda", "Manda", + "Mara", "Mare", "Marena", "Marica", "Marta", "Maša", "Mica", "Mika", "Mila", + "Milica", "Milka", "Mima", "Mina", "Mira", "Mirka", "Naja", "Nana", "Natalija", + "Nataša", "Natka", "Neda", "Nela", "Neli", "Nena", "Nera", "Nesa", "Neva", + "Nevenka", "Nina", "Nuša", "Paulina", "Pava", "Pave", "Pavica", "Rajna", "Rija", + "Rina", "Ružica", "Staša", "Tasa", "Teja", "Tija", "Tijana", "Tina", "Tončica", + "Tonija", "Tonka", "Vala", "Valera", "Vali", "Vela", "Velana", "Velina", "Vera", + "Verica", "Vinka", "Zlatica", "Zlatka", "Darija", "Darina", "Divna", "Donata", "Doroteja", + "Dragica", "Dubravka", "Dunja", "Đurda", "Edita", "Elena", "Ema", "Eva", "Gabrijela", + "Goranka", "Gordana", "Grozdana", "Helena", "Hrvojka", "Ira", "Irena", "Irma", "Ivana", + "Jadranka", "Jaga", "Jasmina", "Josipa", "Karmela", "Katarina", "Kristina", "Leda", "Leonida", + "Lidija", "Ljiljana", "Ljubica", "Lovorka", "Lucija", "Magdalena", "Marija", "Marijana", "Marina", + "Martina", "Miranda", "Mirna", "Monika", "Nada", "Nadalina", "Nedjeljka", "Nevena", "Nora", + "Paula", "Petra", "Renata", "Romana", "Rosana", "Ruža", "Sanja", "Silvija", "Slavica", + "Snježana", "Tereza", "Tomislava", "Valentina", "Valerija", "Vedrana", "Velimira", "Veronika", "Vesna", + "Vladimira", "Zdenka", "Zdeslava", "Zlata" +}); + +const auto croatianLastNames = std::to_array({ + "Abadžić", + "Abadžija", + "Abazi", + "Alija", + "Alikavazović", + "Alili", + "Alilović", + "Dardalić", + "Dardić", + "Darić", + "Darojković", + "Daskalov", + "Daskalova", + "Dasović", + "Dašić", + "Gulam", + "Gulam Kramarić", + "Gulaš", + "Guldan", + "Gulija", + "Guljaš", + "Guljašević", + "Gumbarević", + "Gumbas", + "Guncinam", + "Gunjača", + "Gusak", + "Gushani", + "Gušani", + "Gutal", + "Gutrovac", + "Guzina", + "Hrdelja", + "Hrdlitschka", + "Hrđavec", + "Hrenovac", + "HrešićDubaić", + "Hrga", + "Hrgota", + "Hribar", + "Hrkač", + "Hrkać", + "Hrkalović", + "Hrnjak", + "Hrnjkaš", + "Jahaj", + "Jahić", + "Jahn", + "Jajalo", + "Jajčan", + "Jajčanin", + "Jajčinović", + "Jajetić", + "Jajić", + "Jajiš", + "Jakab", + "Jakabfi", + "Jakarić", + "Jakelić", + "JakelićŠklebek", + "Jakeljić", + "Jakešević", + "Jakić", + "Kuzmanić", + "KuzmanićŠarac", + "Kuzmanoski", + "Luketina", + "LukićGaličić", + "LukićKovanović", + "Mušanović", + "Mušija", + "Mušnjak", + "Muštran", + "Rumštajn", + "Runac", + "Runjak", + "Rupaner", + "Rupar", + "Sabolek Tegzeš", + "Zlatar", + "Zlatarek", + "Zlatarević", + "Zlatarić", + "Zlatić", + "ZlatićKavgić", + "Zlatković", + "Zlatović", + "Zlatunić", + "Zlokapa", + "Zlokolica", + "Zlosa", + "Zlovarić", + "Zmaić", + "Zmajić", + "Zmajšek", + "Znaor", + "Znika", + "Zobenica", + "Zobundžija", + "Zolaj", + "Zolaji", + "Zolota", + "Zoraj", + "Zoraja", + "Zorbas", + "Zorbaz", + "Zorica", + "Zorman", + "Zoroja", + "Zovak", + "Zovo Susak", + "Zrakić", + "Zrinščak", + "Zrmanjac", + "Zrna", + "Zrno Dimnjašević", + "Zuanović", + "Zubac", + "Zubac Ištuk", + "Zubaj", + "Zubak", + "Zuban", + "Zubonja", + "Zukan", + "Zulbari", + "Zundanović", + "Zurak", + "Zurapović", + "Zuščak", + "Zušćak", + "Zuzjak", + "Zuzjak Novak", + "Zvanić", + "Zvardon", + "Zvekan", + "Zvekanov", + "Zvekanović", + "Zveržina", + "Zvocak", + "Zvonar", + "Zvonarek", + "Zvonarević", + "Zvonarić", + "Žabarović", + "Žabčić", + "Žabić", + "Žaček", + "Žada", + "Žadanji", + "Žagač", + "Žagar", + "Žagarac", + "Žagarova", + "Žago", + "Žaja", + "Žajdlik", + "Žajlik", + "Žaki", + "Žaknić", + "Žakula", + "Žalac", + "Žalako", + "Žalik", + "Žalonkin", + "Žampak", + "Žanić", + "Žanija", + "Žanko", + "Žaper", + "Žaper Radičević", + "Žarak", + "Žarić", + "Žarko", + "Žarković", + "ŽarkovićMaršal", + "Ždrale", + "Žeđa", + "Žegarac", + "Žegura Schonberger", + "Želka", + "Željeznak", + "Željeznjak", + "Žemla", + "Žerav", + "Žeravica", + "Žeravica Lang", + "Žerjav", + "Žganec", + "Žganjar", + "Žganjer", + "Žgela", + "Žgrabljić", + "Žibrat", + "Židar", + "Žido Lazarević", + "Žigman", + "Žiha", + "Žilavec", + "Žiljak", + "Žindarec", + "Žipac", + "Žiraj", + "ŽirošTatalović", + "Žiška", + "Žitnjak", + "Živadinović", + "Živaković", + "ŽivakovićKerže", + "Živalj", + "Živaljić", +}); + +const auto croatianSuffixes = std::to_array({"dipl.oecc", "dipl.ing"}); + +const auto croatianMalePrefixes = std::to_array({"g.", "dr."}); + +const auto croatianFemalePrefixes = std::to_array({"gđa.", "gđa", "dr."}); + +const NameFormats croatianNameFormats{ + {{"{firstName} {lastName}", 8}, {"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName} {suffix}", 1}}}; + +const PeopleNames croatianPeopleNames{ + {croatianMaleFirstNames, croatianLastNames, croatianMalePrefixes, croatianSuffixes}, + {croatianFemaleFirstNames, croatianLastNames, croatianFemalePrefixes, croatianSuffixes}, + croatianNameFormats}; // Czechia -// TODO: remove some of it -extern const std::array czechMaleFirstNames; -extern const std::array czechFemaleFirstNames; -extern const std::array czechMaleLastNames; -extern const std::array czechFemaleLastNames; -extern const std::array czechPrefixes; -extern const std::array czechSuffixes; -extern const NameFormats czechNameFormats; -extern const PeopleNames czechPeopleNames; +const auto czechMaleFirstNames = std::to_array({ + "Abadon", "Abdon", "Ábel", "Abelard", "Abraham", "Abrahám", "Absolon", "Absolón", + "Adalbert", "Adam", "Adin", "Adolf", "Adrian", "Adrián", "Agaton", "Achil", + "Achiles", "Alan", "Alban", "Albert", "Albín", "Albrecht", "Aldo", "Alen", + "Aleš", "Alexandr", "Alexej", "Alfons", "Alfréd", "Alois", "Alojz", "Alva", + "Alvar", "Alvin", "Amadeus", "Amand", "Amát", "Ambrož", "Amos", "Ámos", + "Anastáz", "Anatol", "Anděl", "Andělín", "Andrej", "Anselm", "Antal", "Antonín", + "Aram", "Ariel", "Aristid", "Arkád", "Armand", "Armin", "Arne", "Arnold", + "Arnošt", "Áron", "Árón", "Arpád", "Arsen", "Artur", "Artuš", "Arzen", + "Atanas", "Atanáš", "Atila", "August", "Augustin", "Augustýn", "Aurel", "Aurelián", + "Axel", "Baltazar", "Barnabáš", "Bartoloměj", "Basil", "Bazil", "Beatus", "Bedřich", + "Benedikt", "Benjamin", "Benjamín", "Bernard", "Bertold", "Bertram", "Bivoj", "Blahomil", + "Blahomír", "Blahoslav", "Blažej", "Bohdan", "Bohuchval", "Bohumil", "Bohumír", "Bohun", + "Bohuslav", "Bohuš", "Bojan", "Bolemír", "Boleslav", "Bonifác", "Borek", "Boris", + "Borislav", "Bořek", "Bořislav", "Bořivoj", "Božetěch", "Božidar", "Božislav", "Branimír", + "Branislav", "Bratislav", "Bret", "Brian", "Brit", "Bronislav", "Bruno", "Břetislav", + "Budimír", "Budislav", "Budivoj", "Cecil", "Cedrik", "Celestin", "Celestýn", "César", + "Cézar", "Ctibor", "Ctirad", "Ctislav", "Cyprián", "Cyril", "Čeněk", "Čestmír", + "Čistoslav", "Dag", "Dalibor", "Dalimil", "Dalimír", "Damián", "Dan", "Daniel", + "Darek", "Darius", "David", "Denis", "Děpold", "Dětmar", "Dětřich", "Dezider", + "Dimitrij", "Dino", "Dionýz", "Dionýzos", "Diviš", "Dluhoš", "Dobromil", "Dobromír", + "Dobroslav", "Dominik", "Donald", "Donát", "Dorian", "Dorián", "Drahomil", "Drahomír", + "Drahoň", "Drahoslav", "Drahoš", "Drahotín", "Drahutin", "Dušan", "Edgar", "Edmond", + "Edmund", "Eduard", "Edvard", "Edvin", "Edvín", "Egmont", "Egon", "Eliáš", + "Elizej", "Elizeus", "Elmar", "Elvis", "Emanuel", "Emerich", "Emil", "Emilián", + "Engelbert", "Erazim", "Erazmus", "Erhard", "Erich", "Erik", "Ernest", "Ernst", + "Ervín", "Eugen", "Eusebius", "Evald", "Evan", "Evarist", "Evžen", "Ezechiel", + "Ezra", "Fabián", "Faust", "Faustin", "Faustýn", "Fedor", "Felicián", "Felix", + "Ferdinand", "Fidel", "Fidelius", "Filemon", "Filibert", "Filip", "Filomen", "Flavián", + "Flavius", "Florentin", "Florentýn", "Florián", "Fortunát", "Fráňa", "Franc", "František", + "Fridolín", "Gabin", "Gabriel", "Gál", "Garik", "Gaston", "Gedeon", "Gejza", + "Genadij", "Gerald", "Gerard", "Gerazim", "Gerhard", "Géza", "Gilbert", "Gleb", + "Glen", "Gorazd", "Gordon", "Gothard", "Gracián", "Grant", "Gunter", "Gűnter", + "Gustav", "Hanuš", "Harald", "Harold", "Haštal", "Havel", "Helmut", "Herbert", + "Herman", "Heřman", "Hilar", "Hilarius", "Hjalmar", "Homér", "Honor", "Honorius", + "Horác", "Horst", "Horymír", "Hostimil", "Hostimír", "Hostislav", "Hostivít", "Hovard", + "Hubert", "Hugo", "Hvězdoslav", "Hyacint", "Hynek", "Hypolit", "Chrabroš", "Chraniboj", + "Chranibor", "Chranislav", "Chrudoš", "Chval", "Ignác", "Ignát", "Igor", "Ilja", + "Inocenc", "Irenej", "Ireneus", "Irvin", "Isidor", "Ivan", "Ivar", "Ivo", + "Ivor", "Izaiáš", "Izák", "Izidor", "Izmael", "Jacek", "Jáchym", "Jakub", + "Jan", "Jarmil", "Jarolím", "Jaromil", "Jaromír", "Jaroslav", "Jason", "Jasoň", + "Jeremiáš", "Jeroným", "Jiljí", "Jimram", "Jindřich", "Jiří", "Job", "Joel", + "Jonáš", "Jonatan", "Jonathan", "Jordan", "Josef", "Jošt", "Jozef", "Jozue", + "Juda", "Julián", "Julius", "Justin", "Justýn", "Kajetán", "Kamil", "Karel", + "Kasián", "Kastor", "Kašpar", "Kazimír", "Kilián", "Kim", "Klaudián", "Klaudius", + "Klement", "Kliment", "Knut", "Koloman", "Kolombín", "Kolumbán", "Kolumbín", "Konrád", + "Konstantin", "Konstantýn", "Kornel", "Kornelius", "Kosma", "Kosmas", "Krasomil", "Krasoslav", + "Kristián", "Kryšpín", "Kryštof", "Křesomysl", "Křišťan", "Kurt", "Květoň", "Květoslav", + "Květoš", "Kvido", "Ladislav", "Lambert", "Lars", "Laurenc", "Lazar", "Leander", + "Leandr", "Leo", "Leodegar", "Leon", "Leonard", "Leonid", "Leontýn", "Leopold", + "Leoš", "Lešek", "Lev", "Libor", "Liboslav", "Lionel", "Livius", "Lorenc", + "Lotar", "Lothar", "Lubomír", "Lubor", "Luboslav", "Luboš", "Lucián", "Lucius", + "Luděk", "Ludivoj", "Ludomír", "Ludoslav", "Ludvík", "Lukáš", "Lukrecius", "Lumír", + "Lutibor", "Lutobor", "Magnus", "Makar", "Manfred", "Manfréd", "Mansvet", "Manuel", + "Marcel", "Marek", "Marian", "Marián", "Marin", "Mario", "Marius", "Martin", + "Matěj", "Matouš", "Matyáš", "Max", "Maxim", "Maximilián", "Maxmilián", "Mečislav", + "Medard", "Melichar", "Merlin", "Mervin", "Metod", "Metoděj", "Michael", "Michal", + "Mikoláš", "Mikuláš", "Milan", "Milíč", "Milík", "Milivoj", "Miloň", "Milorad", + "Miloslav", "Miloš", "Milota", "Milouš", "Milovan", "Milovín", "Milutín", "Mirek", + "Mirko", "Miromil", "Miron", "Miroslav", "Mirtil", "Mlad", "Mladen", "Mnata", + "Mnislav", "Modest", "Mojmír", "Mojžíš", "Morgan", "Moric", "Moris", "Mořic", + "Mstislav", "Myron", "Myrtil", "Napoleon", "Narcis", "Natan", "Natanael", "Nathan", + "Nathanael", "Něhoslav", "Neklan", "Nepomuk", "Nezamysl", "Nikita", "Nikodém", "Nikola", + "Nikolas", "Norbert", "Norman", "Odolen", "Odon", "Oktavián", "Oktavius", "Olaf", + "Olbram", "Oldřich", "Oleg", "Oliver", "Omar", "Ondřej", "Orest", "Oskar", + "Osvald", "Ota", "Otakar", "Otmar", "Oto", "Otokar", "Otomar", "Ovidius", + "Palmiro", "Pankrác", "Pantaleon", "Paris", "Parsival", "Paskal", "Patrik", "Pavel", + "Pavlín", "Pelhřim", "Perikles", "Petr", "Petronius", "Pius", "Platon", "Platón", + "Polykarp", "Pravdomil", "Pravomil", "Prokop", "Prosper", "Přemysl", "Přibyslav", "Radan", + "Radegast", "Radek", "Radhost", "Radim", "Radimír", "Radislav", "Radivoj", "Radko", + "Radmil", "Radomil", "Radomír", "Radoslav", "Radoš", "Radovan", "Radúz", "Radvan", + "Rafael", "Raimund", "Rainald", "Rainer", "Rainhard", "Rainold", "Rajko", "Ralf", + "Ramon", "Randolf", "Ranek", "Ranko", "Rastislav", "Ratibor", "Ratmír", "Redmond", + "Reginald", "Remig", "Remus", "Renát", "René", "Richard", "Robert", "Robin", + "Robinson", "Rodan", "Roderik", "Rodrigo", "Roger", "Roch", "Roland", "Rolf", + "Roman", "Romeo", "Romuald", "Romul", "Romulus", "Ronald", "Rostislav", "Ruben", + "Rudolf", "Rufus", "Rupert", "Ruprecht", "Ruslan", "Řehoř", "Sába", "Sámo", + "Samson", "Samuel", "Saturnin", "Saul", "Sáva", "Sebastian", "Sebastián", "Sebestian", + "Sedrik", "Serafín", "Serenus", "Sergej", "Servác", "Severín", "Sidon", "Sigfríd", + "Silvan", "Silván", "Silvestr", "Silvius", "Simeon", "Simon", "Sinkler", "Sixt", + "Sixtus", "Slávek", "Slaviboj", "Slavibor", "Slavoboj", "Slavoj", "Slavomil", "Slavomír", + "Smil", "Soběslav", "Sokrat", "Soter", "Spytihněv", "Stanimír", "Stanislav", "Stojan", + "Stojmír", "Svatoboj", "Svatobor", "Svatomír", "Svatopluk", "Svatoslav", "Sven", "Svetozar", + "Šalamoun", "Šalomoun", "Šavel", "Šebastián", "Šimon", "Šťasta", "Štefan", "Štěpán", + "Tadeáš", "Tankred", "Taras", "Teobald", "Teodor", "Teodorik", "Teodoz", "Teofan", + "Teofil", "Terenc", "Terencius", "Theobald", "Theodor", "Theodorik", "Theofan", "Theofil", + "Tiber", "Tiberius", "Tibor", "Tiburcius", "Tichomil", "Tichomír", "Tichon", "Timon", + "Timotej", "Timoteus", "Timur", "Titus", "Tobiáš", "Tomáš", "Tomislav", "Tor", + "Torkvát", "Torsten", "Tristan", "Udo", "Ulrich", "Upton", "Urban", "Uve", + "Václav", "Vadim", "Valdemar", "Valentin", "Valentýn", "Valerián", "Valter", "Valtr", + "Vasil", "Vavřinec", "Veleslav", "Velimír", "Velislav", "Věnceslav", "Vendelín", "Věnek", + "Verner", "Věroslav", "Vidor", "Viktor", "Viktorin", "Viktorín", "Vilém", "Vilibald", + "Vilmar", "Vincenc", "Virgil", "Virgin", "Vít", "Vítězslav", "Vitold", "Vítoslav", + "Vivian", "Vladan", "Vladimír", "Vladislav", "Vladivoj", "Vlastimil", "Vlastimír", "Vlastislav", + "Vlk", "Vojen", "Vojmil", "Vojmír", "Vojslav", "Vojtěch", "Vok", "Volfgang", + "Vratislav", "Vsevolod", "Všeboj", "Všebor", "Všerad", "Všeslav", "Xaver", "Xaverius", + "Záboj", "Zachar", "Zachariáš", "Záviš", "Zbislav", "Zbyhněv", "Zbyněk", "Zbyslav", + "Zbyšek", "Zdeněk", "Zderad", "Zdeslav", "Zdík", "Zdirad", "Zdislav", "Zeno", + "Zenon", "Zikmund", "Zlatan", "Zlatko", "Zlatomír", "Zoltán", "Zoran", "Zoroslav", + "Zosim", "Zvonimír", "Žarko", "Ždan", "Želibor", "Želimír", "Želislav", "Želmír", + "Žitomír", "Žitoslav", "Živan" +}); + +const auto czechFemaleFirstNames = std::to_array({ + "Abigail", "Ada", "Adalberta", "Adéla", "Adelaida", "Adina", "Adolfa", "Adolfína", + "Adriana", "Adriána", "Adriena", "Afra", "Agáta", "Aglaja", "Aida", "Alana", + "Albena", "Alberta", "Albertina", "Albertýna", "Albína", "Alena", "Aleška", "Alexandra", + "Alfréda", "Alice", "Alida", "Alina", "Alma", "Aloisie", "Alojzije", "Alžběta", + "Amálie", "Amanda", "Amáta", "Amélie", "Anabela", "Anastázie", "Anatázie", "Anatolie", + "Anatólie", "Anděla", "Andělína", "Andrea", "Aneta", "Anežka", "Angela", "Angelika", + "Anita", "Anna", "Anselma", "Antonie", "Apolena", "Arabela", "Aranka", "Areta", + "Ariadna", "Ariana", "Ariela", "Arleta", "Armida", "Arna", "Arnolda", "Arnoštka", + "Astrid", "Astrida", "Atanázie", "Augusta", "Augustina", "Augustýna", "Aura", "Aurélie", + "Aurora", "Babeta", "Barbara", "Barbora", "Beáta", "Beatrice", "Bedřiška", "Bela", + "Běla", "Belinda", "Benedikta", "Berenika", "Berit", "Bernarda", "Berta", "Bertolda", + "Bianka", "Bibiana", "Birgit", "Birgita", "Blahomila", "Blahomíra", "Blahoslava", "Blanka", + "Blažena", "Bohdana", "Bohumila", "Bohumíra", "Bohuna", "Bohuslava", "Bohuše", "Bojana", + "Bojislava", "Boleslava", "Borislava", "Bořislava", "Božena", "Božetěcha", "Božidara", "Branimíra", + "Branislava", "Bratislava", "Brenda", "Brigita", "Brita", "Bronislava", "Bruna", "Brunhilda", + "Břetislava", "Cecilie", "Cecílie", "Celestina", "Celestýna", "Celie", "Celina", "Ctibora", + "Ctirada", "Ctislava", "Cyntie", "Cyrila", "Čeňka", "Čestmíra", "Čistoslava", "Dagmar", + "Dagmara", "Dalibora", "Dalida", "Dalie", "Dalila", "Dalimila", "Dalimíra", "Damaris", + "Damiana", "Damiána", "Dana", "Danica", "Daniela", "Danuše", "Danuta", "Daria", + "Darie", "Darina", "Darja", "Davida", "Debora", "Delie", "Denisa", "Diana", + "Dina", "Dita", "Diviška", "Dobrava", "Dobromila", "Dobromíra", "Dobroslava", "Dominika", + "Donalda", "Donáta", "Dora", "Doris", "Dorota", "Doubrava", "Doubravka", "Drahomila", + "Drahomíra", "Drahoslava", "Drahotína", "Drahuše", "Dulcinea", "Dušana", "Edita", "Eduarda", + "Edvarda", "Egona", "Ela", "Elektra", "Elena", "Eleonora", "Elfrída", "Eliška", + "Elsa", "Elvíra", "Elza", "Ema", "Emanuela", "Emilie", "Emílie", "Erika", + "Erna", "Ervína", "Estela", "Ester", "Estera", "Etela", "Eufrozina", "Eufrozína", + "Eugenie", "Eulálie", "Eunika", "Eusebie", "Eva", "Evelina", "Evelína", "Evženie", + "Fabiána", "Fabie", "Fatima", "Faustina", "Faustýna", "Féba", "Fedora", "Felicie", + "Felície", "Felicita", "Ferdinanda", "Fidelie", "Filipa", "Filoména", "Flavie", "Flora", + "Flóra", "Florentina", "Florentýna", "Františka", "Frída", "Gabriela", "Gaja", "Gajana", + "Galina", "Garika", "Gema", "Geralda", "Geraldina", "Gerarda", "Gerardina", "Gerda", + "Gerharda", "Gertruda", "Gilberta", "Gina", "Gisela", "Gita", "Gizela", "Glorie", + "Gordana", "Graciána", "Gracie", "Grácie", "Gražina", "Gréta", "Griselda", "Grizelda", + "Gudrun", "Gustava", "Gvendolina", "Gvendolína", "Halina", "Hana", "Háta", "Havla", + "Heda", "Hedvika", "Heidrun", "Helena", "Helga", "Herberta", "Hermína", "Herta", + "Hilda", "Hortensie", "Hortenzie", "Horymíra", "Hostimila", "Hostimíra", "Hostislava", "Hvězdoslava", + "Hyacinta", "Chranislava", "Iboja", "Ida", "Ignácie", "Ignáta", "Ildika", "Iljana", + "Ilona", "Ilsa", "Ilza", "Ines", "Inesa", "Inéz", "Ingeborg", "Ingeborga", + "Ingrid", "Ingrida", "Inka", "Irena", "Iris", "Irma", "Isabela", "Isidora", + "Isolda", "Iva", "Ivana", "Iveta", "Ivona", "Izabela", "Izidora", "Izolda", + "Jadrana", "Jadranka", "Jakuba", "Jakubka", "Jana", "Jarmila", "Jarolíma", "Jaromíra", + "Jaroslava", "Jasmína", "Jasna", "Jasněna", "Jelena", "Jenovéfa", "Jesika", "Jindra", + "Jindřiška", "Jiřina", "Jitka", "Johana", "Jolana", "Jolanta", "Jordana", "Jorga", + "Josefa", "Josefína", "Jovana", "Jozefa", "Jozefína", "Judita", "Juliana", "Juliána", + "Julie", "Justina", "Justýna", "Juta", "Kamila", "Karin", "Karina", "Karla", + "Karmela", "Karmen", "Karolina", "Karolína", "Kateřina", "Katrin", "Katrina", "Kazi", + "Kazimíra", "Kira", "Klára", "Klaudie", "Klementina", "Klementýna", "Kleopatra", "Klotylda", + "Koleta", "Kolombína", "Kolumbína", "Konstance", "Konstancie", "Konsuela", "Konzuela", "Kora", + "Kordula", "Korina", "Kornélie", "Krasava", "Krasomila", "Kristina", "Kristýna", "Kunhuta", + "Květa", "Květoslava", "Květuše", "Lada", "Ladislava", "Larisa", "Laura", "Laurencie", + "Lea", "Léda", "Leila", "Lejla", "Lena", "Lenka", "Leokádie", "Leona", + "Leonora", "Leontina", "Leontýna", "Leopolda", "Leopoldina", "Leopoldýna", "Leticie", "Lia", + "Liana", "Liběna", "Libora", "Liboslava", "Libuše", "Lidmila", "Liliana", "Lina", + "Linda", "Livie", "Ljuba", "Lola", "Loreta", "Lorna", "Lota", "Lubomíra", + "Luboslava", "Luciána", "Lucie", "Ludiše", "Luďka", "Ludmila", "Ludomíra", "Ludoslava", + "Ludvika", "Ludvíka", "Luisa", "Lujza", "Lukrécie", "Lumíra", "Lydie", "Lýdie", + "Mabel", "Mabela", "Magda", "Magdalena", "Magdaléna", "Mahulena", "Maja", "Mája", + "Malvína", "Manon", "Manona", "Manuela", "Marcela", "Marcelína", "Margit", "Margita", + "Mariana", "Marie", "Marieta", "Marika", "Marilyn", "Marina", "Mariola", "Marion", + "Marisa", "Marita", "Markéta", "Marlena", "Marta", "Martina", "Matylda", "Maud", + "Maxima", "Mečislava", "Medea", "Médea", "Melánie", "Melinda", "Melisa", "Melita", + "Mercedes", "Michaela", "Michala", "Milada", "Milana", "Milena", "Miloslava", "Milred", + "Miluše", "Mína", "Mira", "Mirabela", "Miranda", "Mirela", "Miriam", "Mirjam", + "Mirka", "Miromila", "Miroslava", "Mnislava", "Mona", "Monika", "Muriel", "Muriela", + "Myrna", "Naďa", "Naděžda", "Naneta", "Narcisa", "Natalie", "Natálie", "Nataša", + "Neda", "Nela", "Nevena", "Nika", "Niké", "Nikodéma", "Nikol", "Nikola", + "Nila", "Nina", "Noema", "Noemi", "Nona", "Nora", "Norberta", "Norma", + "Odeta", "Ofélie", "Oktavie", "Oktávie", "Oldřiška", "Olga", "Oliva", "Olivie", + "Olympie", "Ondřejka", "Otakara", "Otilie", "Otýlie", "Oxana", "Palmira", "Pamela", + "Paskala", "Patricie", "Pavla", "Pavlína", "Pelagie", "Penelopa", "Perla", "Persida", + "Perzida", "Petra", "Petrana", "Petronela", "Petronila", "Petruše", "Petula", "Pilar", + "Polyxena", "Pravdomila", "Pravomila", "Pravoslav", "Pravoslava", "Priscila", "Priska", "Prokopa", + "Přibyslava", "Radana", "Radimíra", "Radislava", "Radka", "Radmila", "Radomila", "Radomíra", + "Radoslava", "Radovana", "Radslava", "Rafaela", "Ráchel", "Raisa", "Rajsa", "Ramona", + "Rastislava", "Rebeka", "Regina", "Regína", "Renata", "Renáta", "René", "Ria", + "Riana", "Richarda", "Rina", "Rita", "Roberta", "Robina", "Romana", "Rosa", + "Rosalinda", "Rosamunda", "Rosana", "Rostislava", "Rovena", "Roxana", "Róza", "Rozálie", + "Rozalinda", "Rozamunda", "Rozana", "Rozina", "Rozita", "Rozvita", "Rudolfa", "Rudolfina", + "Rudolfína", "Rut", "Rút", "Růžena", "Řehořka", "Sabina", "Sabrina", "Salomea", + "Salomena", "Samuela", "Sandra", "Sára", "Saskia", "Saskie", "Saxona", "Selena", + "Selma", "Senta", "Serafína", "Serena", "Scholastika", "Sibyla", "Sidonie", "Silvána", + "Silvie", "Simeona", "Simona", "Skarlet", "Skarleta", "Slavěna", "Slávka", "Slavomila", + "Slavomíra", "Soběslava", "Sofie", "Sofronie", "Solveig", "Solveiga", "Soňa", "Sotira", + "Stanislava", "Stáza", "Stela", "Svatava", "Svatoslava", "Světla", "Světlana", "Světluše", + "Sylva", "Sylvie", "Šárka", "Šarlota", "Šimona", "Štěpána", "Štěpánka", "Tamara", + "Táňa", "Taťána", "Tea", "Tekla", "Teodora", "Teodozie", "Teofila", "Tereza", + "Terezie", "Thea", "Theodora", "Theodosie", "Theofila", "Tomáška", "Toska", "Ulrika", + "Una", "Uršula", "Václava", "Valburga", "Valdemara", "Valentina", "Valentýna", "Valerie", + "Valérie", "Vanda", "Vanesa", "Věduna", "Veleslava", "Velislava", "Věnceslava", "Vendelína", + "Vendula", "Vendulka", "Věnka", "Venuše", "Věra", "Verona", "Veronika", "Věroslava", + "Věslava", "Vesna", "Viktorie", "Viléma", "Vilemína", "Vilma", "Vincencie", "Viola", + "Violeta", "Virginie", "Virgínie", "Víta", "Vítězslava", "Viviana", "Vladana", "Vladěna", + "Vladimíra", "Vladislava", "Vlasta", "Vlastimila", "Vlastimíra", "Vlastislava", "Vojmíra", "Vojslava", + "Vojtěška", "Voršila", "Vratislava", "Xaverie", "Xenie", "Zaida", "Zaira", "Zbyhněva", + "Zbyňka", "Zbyslava", "Zbyška", "Zdena", "Zdenka", "Zdeňka", "Zdeslava", "Zdislava", + "Zenobie", "Zina", "Zinaida", "Zita", "Zlata", "Zlatomíra", "Zlatuše", "Zoe", + "Zoja", "Zora", "Zoroslava", "Zuzana", "Zvonimíra", "Žakelina", "Žakelína", "Žaneta", + "Ždana", "Želimíra", "Želislava", "Želmíra", "Žitomíra", "Žitoslava", "Živa", "Živana", + "Žofie" +}); + +const auto czechMaleLastNames = std::to_array({ + "Adam", "Adamec", "Adámek", "Albrecht", "Ambrož", "Anděl", "Andrle", "Antoš", + "Bajer", "Baláž", "Balcar", "Balog", "Baloun", "Barák", "Baran", "Bareš", + "Bárta", "Barták", "Bartoň", "Bartoš", "Bartošek", "Bartůněk", "Bašta", "Bauer", + "Bayer", "Bažant", "Bečka", "Bečvář", "Bednář", "Bednařík", "Bělohlávek", "Benda", + "Beneš", "Beran", "Beránek", "Berger", "Berka", "Berky", "Bernard", "Bezděk", + "Bílek", "Bílý", "Bína", "Bittner", "Blaha", "Bláha", "Blažek", "Blecha", + "Bobek", "Boček", "Boháč", "Boháček", "Böhm", "Borovička", "Bouček", "Bouda", + "Bouška", "Brabec", "Brabenec", "Brada", "Bradáč", "Braun", "Brázda", "Brázdil", + "Brejcha", "Březina", "Bříza", "Brož", "Brožek", "Brychta", "Bubeník", "Buček", + "Buchta", "Burda", "Bureš", "Burian", "Buriánek", "Byrtus", "Čada", "Caha", + "Čáp", "Čapek", "Čech", "Čejka", "Čermák", "Černík", "Černoch", "Černohorský", + "Černý", "Červeňák", "Červenka", "Červený", "Červinka", "Chaloupka", "Chalupa", "Charvát", + "Chládek", "Chlup", "Chmelař", "Chmelík", "Chovanec", "Chromý", "Chudoba", "Chvátal", + "Chvojka", "Chytil", "Cibulka", "Čihák", "Cihlář", "Císař", "Čížek", "Čonka", + "Coufal", "Čurda", "Daněk", "Daniel", "Daniš", "David", "Dědek", "Demeter", + "Dittrich", "Diviš", "Dlouhý", "Dobeš", "Dobiáš", "Dobrovolný", "Dočekal", "Dočkal", + "Dohnal", "Dokoupil", "Doleček", "Dolejš", "Dolejší", "Doležal", "Doležel", "Doskočil", + "Dostál", "Doubek", "Doubrava", "Douša", "Drábek", "Drozd", "Dubský", "Duchoň", + "Duda", "Dudek", "Dufek", "Dunka", "Dušek", "Dvořáček", "Dvořák", "Dvorský", + "Eliáš", "Erben", "Fabián", "Fanta", "Farkaš", "Fejfar", "Fencl", "Ferenc", + "Ferko", "Fiala", "Fiedler", "Filip", "Fischer", "Fišer", "Florián", "Fojtík", + "Foltýn", "Forman", "Formánek", "Fořt", "Fousek", "Franc", "Franěk", "Frank", + "Fridrich", "Frydrych", "Fuchs", "Fučík", "Fuksa", "Gábor", "Gabriel", "Gajdoš", + "Gaži", "Gottwald", "Gregor", "Gruber", "Grundza", "Grygar", "Hájek", "Hajný", + "Hála", "Hampl", "Hána", "Hanáček", "Hanák", "Hanousek", "Hanus", "Hanuš", + "Hanzal", "Hanzl", "Hanzlík", "Hartman", "Hašek", "Havel", "Havelka", "Havlíček", + "Havlík", "Havránek", "Heczko", "Heger", "Hejda", "Hejduk", "Hejl", "Hejna", + "Hendrych", "Herman", "Heřman", "Heřmánek", "Hladík", "Hladký", "Hlaváč", "Hlaváček", + "Hlavatý", "Hlávka", "Hloušek", "Hoffmann", "Hofman", "Holan", "Holas", "Holec", + "Holeček", "Holík", "Holoubek", "Holub", "Holý", "Homola", "Homolka", "Hora", + "Horáček", "Horák", "Hořejší", "Horký", "Horňák", "Horníček", "Horník", "Horský", + "Horvát", "Horváth", "Hošek", "Houdek", "Houška", "Hovorka", "Hrabal", "Hrabovský", + "Hradecký", "Hradil", "Hrbáček", "Hrbek", "Hrdina", "Hrdlička", "Hrdý", "Hrnčíř", + "Hroch", "Hromádka", "Hron", "Hrubeš", "Hrubý", "Hruška", "Hrůza", "Hubáček", + "Hudec", "Hudeček", "Hůlka", "Huml", "Husák", "Hušek", "Hýbl", "Hynek", + "Jahoda", "Jakeš", "Jakl", "Jakoubek", "Jakubec", "Janáček", "Janák", "Janata", + "Janča", "Jančík", "Janda", "Janeček", "Janečka", "Janíček", "Janík", "Janků", + "Janota", "Janoušek", "Janovský", "Jansa", "Jánský", "Janů", "Jareš", "Jaroš", + "Jašek", "Javůrek", "Jech", "Jedlička", "Jelen", "Jelínek", "Jeníček", "Jeřábek", + "Jež", "Ježek", "Jílek", "Jindra", "Jíra", "Jirák", "Jiránek", "Jirásek", + "Jiřík", "Jirka", "Jirků", "Jiroušek", "Jirsa", "John", "Jonáš", "Junek", + "Jurčík", "Jurečka", "Juřica", "Juřík", "Kabát", "Kačírek", "Kadeřábek", "Kadlec", + "Kafka", "Kaiser", "Kala", "Kaláb", "Kalaš", "Kalina", "Kalivoda", "Kalous", + "Kalousek", "Kameník", "Kaňa", "Káňa", "Kaňka", "Kantor", "Kaplan", "Karas", + "Karásek", "Karban", "Karel", "Karlík", "Kasal", "Kašík", "Kašpar", "Kašpárek", + "Kavka", "Kazda", "Kindl", "Klečka", "Klein", "Klement", "Klíma", "Kliment", + "Klimeš", "Klouček", "Klouda", "Knap", "Knotek", "Koch", "Kočí", "Kocián", + "Kocman", "Kocourek", "Kohout", "Kohoutek", "Koláček", "Kolář", "Kolařík", "Kolek", + "Kolman", "Komárek", "Komínek", "Konečný", "Koníček", "Kopal", "Kopeček", "Kopecký", + "Kopečný", "Kopřiva", "Korbel", "Kořínek", "Kos", "Kosík", "Kosina", "Košťál", + "Kostka", "Kotas", "Kotek", "Kotlár", "Kotrba", "Kouba", "Koubek", "Koudela", + "Koudelka", "Koukal", "Kouřil", "Koutný", "Kováč", "Kovář", "Kovařík", "Kovářík", + "Kozák", "Kozel", "Krajíček", "Král", "Králíček", "Králík", "Krátký", "Kratochvíl", + "Kraus", "Krčmář", "Křeček", "Krejčí", "Krejčík", "Krejčíř", "Křenek", "Krištof", + "Křivánek", "Kříž", "Křížek", "Kropáček", "Kroupa", "Krupa", "Krupička", "Krupka", + "Kuba", "Kubánek", "Kubát", "Kubec", "Kubelka", "Kubeš", "Kubica", "Kubíček", + "Kubík", "Kubín", "Kubiš", "Kuča", "Kučera", "Kuchař", "Kuchta", "Kudláček", + "Kudrna", "Kukla", "Kulhánek", "Kulhavý", "Kunc", "Kuneš", "Kupec", "Kupka", + "Kurka", "Kužel", "Kvapil", "Kvasnička", "Kyncl", "Kysela", "Lacina", "Lacko", + "Lakatoš", "Landa", "Lang", "Langer", "Langr", "Látal", "Lavička", "Le", + "Lebeda", "Levý", "Líbal", "Linhart", "Liška", "Lorenc", "Louda", "Ludvík", + "Lukáč", "Lukáš", "Lukášek", "Lukeš", "Macák", "Macek", "Mach", "Mácha", + "Machač", "Macháč", "Macháček", "Machala", "Machálek", "Macura", "Majer", "Maleček", + "Málek", "Malík", "Malina", "Malý", "Maňák", "Mareček", "Marek", "Mareš", + "Mařík", "Maršálek", "Maršík", "Martinec", "Martinek", "Martínek", "Mašek", "Masopust", + "Matějíček", "Matějka", "Matouš", "Matoušek", "Matula", "Matuška", "Matyáš", "Matys", + "Maxa", "Mayer", "Mazánek", "Medek", "Melichar", "Mencl", "Menšík", "Merta", + "Michal", "Michalec", "Michálek", "Michalík", "Michna", "Mička", "Mika", "Míka", + "Mikeš", "Miko", "Mikula", "Mikulášek", "Minář", "Minařík", "Mirga", "Mládek", + "Mlčoch", "Mlejnek", "Mojžíš", "Mokrý", "Molnár", "Moravec", "Morávek", "Motl", + "Motyčka", "Moučka", "Moudrý", "Mráček", "Mráz", "Mrázek", "Mrkvička", "Mucha", + "Müller", "Műller", "Musil", "Mužík", "Myška", "Nagy", "Najman", "Navrátil", + "Nečas", "Nedbal", "Nedoma", "Nedvěd", "Nejedlý", "Němec", "Němeček", "Nešpor", + "Nesvadba", "Neubauer", "Neuman", "Neumann", "Nguyen", "Nguyen van", "Nosek", "Nováček", + "Novák", "Novosad", "Novotný", "Nový", "Odehnal", "Oláh", "Oliva", "Ondra", + "Ondráček", "Orság", "Otáhal", "Paleček", "Pánek", "Papež", "Pařízek", "Pašek", + "Pátek", "Patočka", "Paul", "Pavel", "Pavelek", "Pavelka", "Pavlas", "Pavlica", + "Pavlíček", "Pavlík", "Pavlů", "Pazdera", "Pech", "Pecha", "Pecháček", "Pecka", + "Pekař", "Pekárek", "Pelc", "Pelikán", "Peřina", "Pernica", "Peroutka", "Pešek", + "Peška", "Pešta", "Peterka", "Petr", "Petrák", "Petráš", "Petříček", "Petřík", + "Petrů", "Pham", "Pícha", "Pilař", "Pilát", "Píša", "Pivoňka", "Plaček", + "Plachý", "Plšek", "Pluhař", "Podzimek", "Pohl", "Pokorný", "Poláček", "Polách", + "Polák", "Polanský", "Polášek", "Polívka", "Popelka", "Pospíchal", "Pospíšil", "Potůček", + "Pour", "Prachař", "Prášek", "Pražák", "Prchal", "Přibyl", "Příhoda", "Přikryl", + "Procházka", "Prokeš", "Prokop", "Prošek", "Provazník", "Průcha", "Průša", "Pšenička", + "Ptáček", "Rác", "Rada", "Rak", "Rambousek", "Raška", "Rataj", "Řeháček", + "Řehák", "Řehoř", "Remeš", "Řezáč", "Rezek", "Řezníček", "Richter", "Richtr", + "Říha", "Roubal", "Rous", "Rozsypal", "Rudolf", "Růžek", "Růžička", "Ryba", + "Rybář", "Rýdl", "Ryšavý", "Sadílek", "Šafář", "Šafařík", "Šafránek", "Šálek", + "Samek", "Šanda", "Šašek", "Schejbal", "Schmidt", "Schneider", "Schwarz", "Šebek", + "Šebela", "Šebesta", "Šeda", "Šedivý", "Sedláček", "Sedlák", "Sedlář", "Sehnal", + "Seidl", "Seifert", "Sekanina", "Semerád", "Šenk", "Šesták", "Ševčík", "Severa", + "Sikora", "Šilhavý", "Šíma", "Šimáček", "Šimák", "Šimánek", "Šimčík", "Šimeček", + "Šimek", "Šimon", "Šimůnek", "Šindelář", "Šindler", "Šíp", "Šípek", "Šír", + "Široký", "Šiška", "Sivák", "Skácel", "Skala", "Skála", "Skalický", "Sklenář", + "Škoda", "Skopal", "Skořepa", "Škrabal", "Skřivánek", "Slabý", "Sládek", "Sladký", + "Sláma", "Slanina", "Slavíček", "Slavík", "Šlechta", "Slezák", "Slováček", "Slovák", + "Sluka", "Smejkal", "Šmejkal", "Smékal", "Šmerda", "Smetana", "Šmíd", "Smola", + "Smolík", "Smolka", "Smrčka", "Smrž", "Smutný", "Šnajdr", "Sobek", "Sobotka", + "Sochor", "Sojka", "Sokol", "Šolc", "Sommer", "Souček", "Soukup", "Sova", + "Špaček", "Spáčil", "Špička", "Šplíchal", "Spurný", "Šrámek", "Srb", "Staněk", + "Stárek", "Starý", "Šťastný", "Štefan", "Štefek", "Štefl", "Stehlík", "Steiner", + "Stejskal", "Štěpán", "Štěpánek", "Štěrba", "Stibor", "Stoklasa", "Straka", "Stránský", + "Strejček", "Strnad", "Strouhal", "Stuchlík", "Studený", "Studnička", "Stupka", "Šubrt", + "Suchánek", "Suchomel", "Suchý", "Suk", "Šulc", "Šustr", "Šváb", "Svačina", + "Švanda", "Švarc", "Svatoň", "Svatoš", "Švec", "Švehla", "Švejda", "Švestka", + "Světlík", "Sviták", "Svoboda", "Svozil", "Sýkora", "Synek", "Syrový", "Táborský", + "Tancoš", "Teplý", "Tesař", "Tichý", "Toman", "Tománek", "Tomáš", "Tomášek", + "Tomeček", "Tomek", "Tomeš", "Tóth", "Tran", "Trávníček", "Trčka", "Tříska", + "Trnka", "Trojan", "Truhlář", "Tuček", "Tůma", "Tureček", "Turek", "Tvrdík", + "Tvrdý", "Uher", "Uhlíř", "Ulrich", "Urban", "Urbanec", "Urbánek", "Vacek", + "Vácha", "Václavek", "Václavík", "Vaculík", "Vágner", "Vala", "Valášek", "Válek", + "Valenta", "Valeš", "Váňa", "Vančura", "Vaněček", "Vaněk", "Vaníček", "Varga", + "Vašák", "Vašek", "Vašíček", "Vávra", "Vavřík", "Večeřa", "Vejvoda", "Verner", + "Veselý", "Veverka", "Vícha", "Vilímek", "Vinš", "Víšek", "Vít", "Vitásek", + "Vítek", "Vlach", "Vlasák", "Vlček", "Vlk", "Vobořil", "Vodák", "Vodička", + "Vodrážka", "Vojáček", "Vojta", "Vojtěch", "Vojtek", "Vojtíšek", "Vokoun", "Volek", + "Volf", "Volný", "Vondra", "Vondráček", "Vondrák", "Voráček", "Vorel", "Voříšek", + "Vorlíček", "Votava", "Votruba", "Vrabec", "Vrána", "Vrba", "Vrzal", "Vybíral", + "Vydra", "Vymazal", "Vyskočil", "Vysloužil", "Wagner", "Walter", "Weber", "Weiss", + "Winkler", "Wolf", "Zábranský", "Žáček", "Zach", "Zahrádka", "Zahradník", "Zajíc", + "Zajíček", "Žák", "Zálešák", "Zámečník", "Zapletal", "Záruba", "Zatloukal", "Zavadil", + "Zavřel", "Zbořil", "Žďárský", "Zdražil", "Zedník", "Zelenka", "Zelený", "Zelinka", + "Zeman", "Zemánek", "Žemlička", "Zezula", "Žídek", "Žiga", "Zíka", "Zikmund", + "Zima", "Žižka", "Zlámal", "Zoubek", "Zouhar", "Žůrek", "Zvěřina" +}); + +const auto czechFemaleLastNames = std::to_array({ + "Adamová", "Adamcová", "Adámková", "Albrechtová", "Ambrožová", "Andělová", "Andrlová", + "Antošová", "Bajerová", "Balážová", "Balcarová", "Balogová", "Balounová", "Baráková", + "Baranová", "Barešová", "Bártová", "Bartáková", "Bartoňová", "Bartošová", "Bartošková", + "Bartůňková", "Baštová", "Bauerová", "Bayerová", "Bažantová", "Bečková", "Bečvářová", + "Bednářová", "Bednaříková", "Bělohlávková", "Bendová", "Benešová", "Beranová", "Beránková", + "Bergrová", "Berková", "Berkyová", "Bernardová", "Bezděková", "Bílková", "Bílá", + "Bínová", "Bittnerová", "Blahová", "Bláhová", "Blažková", "Blechová", "Bobková", + "Bočková", "Boháčová", "Boháčková", "Böhmová", "Borovičková", "Boučková", "Boudová", + "Boušková", "Brabcová", "Brabencová", "Bradová", "Bradáčová", "Braunová", "Brázdová", + "Brázdilová", "Brejchová", "Březinová", "Břízová", "Brožová", "Brožková", "Brychtová", + "Bubeníková", "Bučková", "Buchtová", "Burdová", "Burešová", "Burianová", "Buriánková", + "Byrtusová", "Čadová", "Cahová", "Čápová", "Čapková", "Čechová", "Čejková", + "Čermáková", "Černíková", "Černochová", "Černohorská", "Černá", "Červeňáková", "Červenková", + "Červená", "Červinková", "Chaloupková", "Chalupová", "Charvátová", "Chládková", "Chlupová", + "Chmelařová", "Chmelíková", "Chovancová", "Chromá", "Chudobová", "Chvátalová", "Chvojková", + "Chytilová", "Cibulková", "Čiháková", "Cihlářová", "Císařová", "Čížková", "Čonková", + "Coufalová", "Čurdová", "Danková", "Danilová", "Danišová", "Davidová", "Dědková", + "Demetrová", "Dittrichová", "Divišová", "Dlouhá", "Dobešová", "Dobiášová", "Dobrovolná", + "Dočekalová", "Dočkalová", "Dohnalová", "Dokoupilová", "Dolečková", "Dolejšová", "Dolejší", + "Doležalová", "Doleželová", "Doskočilová", "Dostálová", "Doubková", "Doubravová", "Doušová", + "Drábková", "Drozdová", "Dubská", "Duchoňová", "Dudová", "Dudková", "Dufková", + "Dunková", "Dušková", "Dvořáčková", "Dvořáková", "Dvorská", "Eliášová", "Erbenová", + "Fabiánová", "Fantová", "Farkašová", "Fejfarová", "Fenclová", "Ferencová", "Ferková", + "Fialová", "Fiedlerová", "Filipová", "Fischerová", "Fišerová", "Floriánová", "Fojtíková", + "Foltýnová", "Formanová", "Formánková", "Fořtová", "Fousková", "Francová", "Franková", + "Fridrichová", "Frydrychová", "Fuchsová", "Fučíková", "Fuksová", "Gáborová", "Gabrielová", + "Gajdošová", "Gažiová", "Gottwaldová", "Gregorová", "Grubrová", "Grundzová", "Grygarová", + "Hájková", "Hajná", "Hálová", "Hamplová", "Hánová", "Hanáčková", "Hanáková", + "Hanousková", "Hanusová", "Hanušová", "Hanzalová", "Hanzlová", "Hanzlíková", "Hartmanová", + "Hašková", "Havlová", "Havelková", "Havlíčková", "Havlíková", "Havránková", "Heczková", + "Hegerová", "Hejdová", "Hejduková", "Hejlová", "Hejnová", "Hendrychová", "Hermanová", + "Heřmanová", "Heřmánková", "Hladíková", "Hladká", "Hlaváčová", "Hlaváčková", "Hlavatá", + "Hlávková", "Hloušková", "Hoffmannová", "Hofmanová", "Holanová", "Holasová", "Holcová", + "Holečková", "Holíková", "Holoubková", "Holubová", "Holá", "Homolová", "Homolková", + "Horová", "Horáčková", "Horáková", "Hořejší", "Horký", "Horňáková", "Horníčková", + "Horníková", "Horská", "Horvátová", "Horváthová", "Hošková", "Houdková", "Houšková", + "Hovorková", "Hrabalová", "Hrabovská", "Hradecká", "Hradilová", "Hrbáčková", "Hrbková", + "Hrdinová", "Hrdličková", "Hrdá", "Hrnčířová", "Hrochová", "Hromádková", "Hronová", + "Hrubešová", "Hrubá", "Hrušková", "Hrůzová", "Hubáčková", "Hudcová", "Hudečková", + "Hůlková", "Humlová", "Husáková", "Hušková", "Hýblová", "Hynková", "Jahodová", + "Jakešová", "Jaklová", "Jakoubková", "Jakubcová", "Janáčková", "Janáková", "Janatová", + "Jančová", "Jančíková", "Jandová", "Janečková", "Janíčková", "Janíková", "Janků", + "Janotová", "Janoušková", "Janovská", "Jansová", "Jánská", "Janů", "Jarešová", + "Jarošová", "Jašková", "Javůrková", "Jechová", "Jedličková", "Jelenová", "Jelínková", + "Jeníčková", "Jeřábková", "Ježová", "Ježková", "Jílková", "Jindrová", "Jírová", + "Jiráková", "Jiránková", "Jirásková", "Jiříková", "Jirková", "Jirků", "Jiroušková", + "Jirsová", "Johnová", "Jonášová", "Junková", "Jurčíková", "Jurečková", "Juřicová", + "Juříková", "Kabátová", "Kačírková", "Kadeřábková", "Kadlecová", "Kafková", "Kaisrová", + "Kalová", "Kalábová", "Kalašová", "Kalinová", "Kalivodová", "Kalousová", "Kalousková", + "Kameníková", "Kaňová", "Káňová", "Kaňková", "Kantorová", "Kaplanová", "Karasová", + "Karásková", "Karbanová", "Karlová", "Karlíková", "Kasalová", "Kašíková", "Kašparová", + "Kašpárková", "Kavková", "Kazdová", "Kindlová", "Klečková", "Kleinová", "Klementová", + "Klímová", "Klimentová", "Klimešová", "Kloučková", "Kloudová", "Knapová", "Knotková", + "Kochová", "Kočí", "Kociánová", "Kocmanová", "Kocourková", "Kohoutová", "Kohoutková", + "Koláčková", "Kolářová", "Kolaříková", "Kolková", "Kolmanová", "Komárková", "Komínková", + "Konečná", "Koníčková", "Kopalová", "Kopečková", "Kopecká", "Kopečná", "Kopřivová", + "Korbelová", "Kořínková", "Kosová", "Kosíková", "Kosinová", "Košťálová", "Kostková", + "Kotasová", "Kotková", "Kotlárová", "Kotrbová", "Koubová", "Koubková", "Koudelová", + "Koudelková", "Koukalová", "Kouřilová", "Koutná", "Kováčová", "Kovářová", "Kovaříková", + "Kováříková", "Kozáková", "Kozlová", "Krajíčková", "Králová", "Králíčková", "Králíková", + "Krátká", "Kratochvílová", "Krausová", "Krčmářová", "Křečková", "Krejčová", "Krejčíková", + "Krejčířová", "Křenková", "Krištofová", "Křivánková", "Křížová", "Křížková", "Kropáčková", + "Kroupová", "Krupová", "Krupičková", "Krupková", "Kubová", "Kubánková", "Kubátová", + "Kubcová", "Kubelková", "Kubešová", "Kubicová", "Kubíčková", "Kubíková", "Kubínová", + "Kubišová", "Kučová", "Kučerová", "Kuchařová", "Kuchtová", "Kudláčková", "Kudrnová", + "Kuklová", "Kulhánková", "Kulhavá", "Kuncová", "Kunešová", "Kupcová", "Kupková", + "Kurková", "Kuželová", "Kvapilová", "Kvasničková", "Kynclová", "Kyselová", "Lacinová", + "Lacková", "Lakatošová", "Landová", "Langová", "Langrová", "Látalová", "Lavičková", + "Le", "Lebedová", "Levá", "Líbalová", "Linhartová", "Lišková", "Lorencová", + "Loudová", "Ludvíková", "Lukáčová", "Lukášová", "Lukášková", "Lukešová", "Macáková", + "Macková", "Machová", "Máchová", "Machačová", "Macháčová", "Macháčková", "Machalová", + "Machálková", "Macurová", "Majerová", "Malečková", "Málková", "Malíková", "Malinová", + "Malá", "Maňáková", "Marečková", "Marková", "Marešová", "Maříková", "Maršálková", + "Maršíková", "Martincová", "Martinková", "Martínková", "Mašková", "Masopustová", "Matějíčková", + "Matějková", "Matoušová", "Matoušková", "Matulová", "Matušková", "Matyášová", "Matysová", + "Maxová", "Mayerová", "Mazánková", "Medková", "Melicharová", "Menclová", "Menšíková", + "Mertová", "Michalová", "Michalcová", "Michálková", "Michalíková", "Michnová", "Mičková", + "Miková", "Míková", "Mikešová", "Mikulová", "Mikulášková", "Minářová", "Minaříková", + "Mirgová", "Mládková", "Mlčochová", "Mlejnková", "Mojžíšová", "Mokrá", "Molnárová", + "Moravcová", "Morávková", "Motlová", "Motyčková", "Moučková", "Moudrá", "Mráčková", + "Mrázová", "Mrázková", "Mrkvičková", "Muchová", "Müllerová", "Műllerová", "Musilová", + "Mužíková", "Myšková", "Nagyová", "Najmanová", "Navrátilová", "Nečasová", "Nedbalová", + "Nedomová", "Nedvědová", "Nejedlá", "Němcová", "Němečková", "Nešporová", "Nesvadbová", + "Neubauerová", "Neumanová", "Neumannová", "Nguyenová", "Nguyen vanová", "Nosková", "Nováčková", + "Nováková", "Novosadová", "Novotná", "Nová", "Odehnalová", "Oláhová", "Olivová", + "Ondrová", "Ondráčková", "Orságová", "Otáhalová", "Palečková", "Pánková", "Papežová", + "Pařízková", "Pašková", "Pátková", "Patočková", "Paulová", "Pavlová", "Pavelková", + "Pavlasová", "Pavlicová", "Pavlíčková", "Pavlíková", "Pavlů", "Pazderová", "Pechová", + "Pecháčková", "Pecková", "Pekařová", "Pekárková", "Pelcová", "Pelikánová", "Peřinová", + "Pernicová", "Peroutková", "Pešková", "Peštová", "Peterková", "Petrová", "Petráková", + "Petrášová", "Petříčková", "Petříková", "Petrů", "Pham", "Píchová", "Pilařová", + "Pilátová", "Píšová", "Pivoňková", "Plačková", "Plachá", "Plšková", "Pluhařová", + "Podzimková", "Pohlová", "Pokorná", "Poláčková", "Poláchová", "Poláková", "Polanská", + "Polášková", "Polívková", "Popelková", "Pospíchalová", "Pospíšilová", "Potůčková", "Pourová", + "Prachařová", "Prášková", "Pražáková", "Prchalová", "Přibylová", "Příhodová", "Přikrylová", + "Procházková", "Prokešová", "Prokopová", "Prošková", "Provazníková", "Průchová", "Průšová", + "Pšeničková", "Ptáčková", "Rácová", "Radová", "Raková", "Rambousková", "Rašková", + "Ratajová", "Řeháčková", "Řeháková", "Řehořová", "Remešová", "Řezáčová", "Rezková", + "Řezníčková", "Richtrová", "Říhová", "Roubalová", "Rousová", "Rozsypalová", "Rudolfová", + "Růžková", "Růžičková", "Rybová", "Rybářová", "Rýdlová", "Ryšavá", "Sadílková", + "Šafářová", "Šafaříková", "Šafránková", "Šálková", "Samková", "Šandová", "Šašková", + "Schejbalová", "Schmidtová", "Schneidrová", "Schwarzová", "Šebková", "Šebelová", "Šebestová", + "Šedová", "Šedivá", "Sedláčková", "Sedláková", "Sedlářová", "Sehnalová", "Seidlová", + "Seifertová", "Sekaninová", "Semerádová", "Šenková", "Šestáková", "Ševčíková", "Severová", + "Sikorová", "Šilhavá", "Šímová", "Šimáčková", "Šimáková", "Šimánková", "Šimčíková", + "Šimečková", "Šimková", "Šimonová", "Šimůnková", "Šindelářová", "Šindlerová", "Šípová", + "Šípková", "Šírová", "Široká", "Šišková", "Siváková", "Skácelová", "Skalová", + "Skálová", "Skalická", "Sklenářová", "Škodová", "Skopalová", "Skořepová", "Škrabalová", + "Skřivánková", "Slabá", "Sládková", "Sladká", "Slámová", "Slaninová", "Slavíčková", + "Slavíková", "Šlechtová", "Slezáková", "Slováčková", "Slováková", "Sluková", "Smejkalová", + "Šmejkalová", "Smékalová", "Šmerdová", "Smetanová", "Šmídová", "Smolová", "Smolíková", + "Smolková", "Smrčková", "Smržová", "Smutná", "Šnajdrová", "Sobková", "Sobotková", + "Sochorová", "Sojková", "Sokolová", "Šolcová", "Sommrová", "Součková", "Soukupová", + "Sovová", "Špačková", "Spáčilová", "Špičková", "Šplíchalová", "Spurná", "Šrámková", + "Srbová", "Staňková", "Stárková", "Stará", "Šťastná", "Štefanová", "Štefková", + "Šteflová", "Stehlíková", "Steinerová", "Stejskalová", "Štěpánová", "Štěpánková", "Štěrbová", + "Stiborová", "Stoklasová", "Straková", "Stránská", "Strejčková", "Strnadová", "Strouhalová", + "Stuchlíková", "Studená", "Studničková", "Stupková", "Šubrtová", "Suchánková", "Suchomelová", + "Suchá", "Suková", "Šulcová", "Šustrová", "Švábová", "Svačinová", "Švandová", + "Švarcová", "Svatoňová", "Svatošová", "Švecová", "Švehlová", "Švejdová", "Švestková", + "Světlíková", "Svitáková", "Svobodová", "Svozilová", "Sýkorová", "Synková", "Syrová", + "Táborská", "Tancošová", "Teplá", "Tesařová", "Tichá", "Tomanová", "Tománková", + "Tomášová", "Tomášková", "Tomečková", "Tomková", "Tomešová", "Tóthová", "Tranová", + "Trávníčková", "Trčková", "Třísková", "Trnková", "Trojanová", "Truhlářová", "Tučková", + "Tůmová", "Turečková", "Turková", "Tvrdíková", "Tvrdá", "Uhrová", "Uhlířová", + "Ulrichová", "Urbanová", "Urbancová", "Urbánková", "Vacková", "Váchová", "Václavková", + "Václavíková", "Vaculíková", "Vágnerová", "Valová", "Valášková", "Válková", "Valentová", + "Valešová", "Váňová", "Vančurová", "Vaněčková", "Vaňková", "Vaníčková", "Vargová", + "Vašáková", "Vašková", "Vašíčková", "Vávrová", "Vavříková", "Večeřová", "Vejvodová", + "Vernerová", "Veselá", "Veverková", "Víchová", "Vilímková", "Vinšová", "Víšková", + "Vítová", "Vitásková", "Vítková", "Vlachová", "Vlasáková", "Vlčková", "Vlková", + "Vobořilová", "Vodáková", "Vodičková", "Vodrážková", "Vojáčková", "Vojtová", "Vojtěchová", + "Vojtková", "Vojtíšková", "Vokounová", "Volková", "Volfová", "Volná", "Vondrová", + "Vondráčková", "Vondráková", "Voráčková", "Vorlová", "Voříšková", "Vorlíčková", "Votavová", + "Votrubová", "Vrabcová", "Vránová", "Vrbová", "Vrzalová", "Vybíralová", "Vydrová", + "Vymazalová", "Vyskočilová", "Vysloužilová", "Wagnerová", "Waltrová", "Webrová", "Weissová", + "Winklerová", "Wolfová", "Zábranská", "Žáčková", "Zachová", "Zahrádková", "Zahradníková", + "Zajícová", "Zajíčková", "Žáková", "Zálešáková", "Zámečníková", "Zapletalová", "Zárubová", + "Zatloukalová", "Zavadilová", "Zavřelová", "Zbořilová", "Žďárská", "Zdražilová", "Zedníková", + "Zelenková", "Zelená", "Zelinková", "Zemanová", "Zemánková", "Žemličková", "Zezulová", + "Žídková", "Žigová", "Zíková", "Zikmundová", "Zimová", "Žižková", "Zlámalová", + "Zoubková", "Zouharová", "Žůrková", "Zvěřinová" +}); + +const auto czechPrefixes = std::to_array({"Ing.", "Mgr.", "JUDr.", "MUDr."}); + +const auto czechSuffixes = std::to_array({"Phd."}); + +const NameFormats czechNameFormats{ + {{"{firstName} {lastName}", 8}, {"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName} {suffix}", 1}}}; + +const PeopleNames czechPeopleNames{ + {czechMaleFirstNames, czechMaleLastNames, czechPrefixes, czechSuffixes}, + {czechFemaleFirstNames, czechFemaleLastNames, czechPrefixes, czechSuffixes}, + czechNameFormats +}; // Denmark -extern const std::array danishMaleFirstNames; -extern const std::array danishFemaleFirstNames; -extern const std::array danishLastNames; -extern const std::array danishMalePrefixes; -extern const std::array danishFemalePrefixes; -extern const NameFormats danishNameFormats; -extern const PeopleNames danishPeopleNames; +const auto danishMaleFirstNames = std::to_array({ + "Adam", + "Adrian", + "Ahmad", + "Aksel", + "Albert", + "Alexander", + "Alfred", + "Ali", + "Anders", + "Andreas", + "Anton", + "Arthur", + "Arunthavanathan", + "August", + "Benjamin", + "Bjørn", + "Brian", + "Carl", + "Christian", + "Christopher", + "Claus", + "Daniel", + "David", + "Elias", + "Elliot", + "Emil", + "Erik", + "Esben", + "Felix", + "Frank", + "Frederik", + "Georg", + "Hakim", + "Hans", + "Harald", + "Henrik", + "Ib", + "Ivan", + "Jacob", + "Jakob", + "Jan", + "Jens", + "Jeppe", + "Jesper", + "Johan", + "John", + "Jonas", + "Jonathan", + "Jørgen", + "Kaj", + "Karl-Emil", + "Karl-Johan", + "Karl", + "Kasper", + "Kevin", + "Kim", + "Kurt", + "Lars", + "Lasse", + "Leif", + "Leo", + "Linus", + "Lucas", + "Lukas", + "Mads", + "Magnus", + "Malthe", + "Mark", + "Martin", + "Mathias", + "Mathis", + "Max", + "Michael", + "Mikkel", + "Mohammad", + "Morten", + "Nicklas", + "Niels-Christian", + "Niels", + "Niklas", + "Noah", + "Ole", + "Oliver", + "Oscar", + "Otto", + "Patrick", + "Per", + "Peter", + "Philip", + "Poul", + "Rasmus", + "Robert", + "Samuel", + "Sebastian", + "Sigurd", + "Simon", + "Steen", + "Stefan", + "Stig", + "Sune", + "Svend", + "Søren", + "Theo", + "Thomas", + "Tim", + "Tobias", + "Troels", + "Uffe", + "Ulrik", + "Vagn", + "Valdemar", + "Victor", + "Viggo", + "Viktor", + "Vilhelm", + "Villy", + "Vincent", + "William" +}); + +const auto danishFemaleFirstNames = std::to_array({ + "Agnes", + "Alberte", + "Alexandrea", + "Alice", + "Alma", + "Amanda", + "Anita", + "Anna", + "Anne", + "Annette", + "Astrid", + "Bente", + "Betina", + "Birgitte", + "Britt", + "Camilla", + "Caroline", + "Cecilie", + "Charlotte", + "Christina", + "Clara", + "Ditte-Marie", + "Dorit", + "Dorthe", + "Ea", + "Elisabeth", + "Elise", + "Ella", + "Ellen-Margrethe", + "Else", + "Emilie", + "Emma", + "Eva", + "Fatima", + "Freja", + "Frida", + "Gitte", + "Gry", + "Hanne", + "Hedvig", + "Helene", + "Helle", + "Hilda", + "Ida", + "Ingrid", + "Isabella", + "Janni", + "Jeanette", + "Jette", + "Johanne", + "Josefine", + "Julie", + "Karen", + "Karla", + "Kathrine", + "Katrine", + "Kirsten", + "Laila", + "Lene", + "Lillian", + "Line", + "Lis", + "Lisa", + "Lisbeth", + "Liv", + "Lone", + "Louise", + "Luna", + "Lykke", + "Maja", + "Malene", + "Maren", + "Maria", + "Marianne", + "Mathilde", + "Merete", + "Mette", + "Mia", + "Mille", + "Mona", + "Nadia", + "Nanna", + "Nicoline", + "Nina", + "Pia", + "Rebecca", + "Regitze", + "Rikke", + "Rosa-Maria", + "Ruth", + "Sabrina", + "Sandra", + "Sanne", + "Sara", + "Sarah", + "Signe", + "Silje", + "Simone", + "Sofie", + "Stine", + "Susanne", + "Therese", + "Tina", + "Tine", + "Trine", + "Vibeke", + "Viktoria", + "Yasmin", + "Zara" +}); + +const auto danishLastNames = std::to_array({ + "Abbas", "Abdi", "Andersen", "Andresen", "Bak", "Bang", "Bech", "Beckmann", + "Berg", "Bertelsen", "Bisgaard", "Bjerregaard", "Blom", "Bonde", "Brandt", "Brix", + "Bruun", "Buch", "Buhl", "Bundgaard", "Carlsen", "Christensen", "Christiansen", "Clausen", + "Dahl", "Dalgaard", "Dam", "Damm", "Davidsen", "Dupont", "Esbensen", "Fischer", + "Foged", "Frandsen", "Frederiksen", "Gade", "Garcia", "Gregersen", "Hald", "Hansen", + "Haugaard", "Hedegaard", "Henriksen", "Hermansen", "Hjort", "Hjorth", "Holm", "Iversen", + "Jakobsen", "Jensen", "Jeppesen", "Jespersen", "Johannessen", "Johannsen", "Johansen", "Juhl", + "Justesen", "Jørgensen", "Karlsen", "Khan", "Kjeldsen", "Kjær", "Klausen", "Knudsen", + "Kristensen", "Krogh", "Larsen", "Lauridsen", "Laursen", "Lorentzen", "Lund", "Madsen", + "Magnussen", "Marcussen", "Mortensen", "Munch", "Munk", "Møller", "Nguyen", "Nielsen", + "Nissen", "Nygaard", "Olsen", "Pallesen", "Pedersen", "Petersen", "Pham", "Poulsen", + "Rasmussen", "Ravn", "Richter", "Schmidt", "Schrøder", "Simonsen", "Skov", "Steffensen", + "Storm", "Svendsen", "Svensson", "Sørensen", "Thomsen", "Toft", "Vestergaard", "Villadsen", + "Vinther", "Winther" +}); + +const auto danishMalePrefixes = std::to_array({"hr."}); + +const auto danishFemalePrefixes = std::to_array({"fr."}); + +const NameFormats danishNameFormats{{{"{firstName} {lastName}", 1}, {"{firstName} {lastName}", 1}}}; + +const PeopleNames danishPeopleNames{ + {danishMaleFirstNames, danishMalePrefixes, {}, {}}, + {danishFemaleFirstNames, danishLastNames, danishFemalePrefixes, {}}, + danishNameFormats +}; // Dutch -extern const std::array dutchMaleFirstNames; -extern const std::array dutchFemaleFirstNames; -extern const std::array dutchLastNames; -extern const std::array dutchSuffixes; -extern const std::array dutchMalePrefixes; -extern const std::array dutchFemalePrefixes; -extern const NameFormats dutchNameFormats; -extern const PeopleNames dutchPeopleNames; +const auto dutchMaleFirstNames = std::to_array({ + "Tymon", "Steven", "Semih", "Seff", "Sabir", "Nico", "Naoufal", "Nadir", + "Mirza", "Miguel", "Manoah", "Kenji", "Kenan", "Joseph", "Jordy", "Jeppe", + "Diego", "Coen", "Can", "Bentley", "Yasin", "Tomas", "Sjoerd", "Savi", + "Safouane", "Raphaël", "Mas", "Maes", "Louie", "Karam", "John", "Jelmer", + "Jayvano", "Hein", "Giel", "Emin", "Deen", "Badr", "Arda", "Umut", + "Teunis", "Silas", "Rayen", "Nikodem", "Mex", "Marius", "Kayden", "Jidde", + "Glenn", "Frederik", "Foss", "Finnley", "Ensar", "Duco", "Dies", "Brenn", + "Yousef", "Siep", "Rohan", "Osman", "Nox", "Natan", "Mathijs", "Marley", + "Jaxon", "Jairo", "Jaimy", "Eray", "Don", "Chase", "Bruno", "Brian", + "Anton", "Xander", "Senne", "Reza", "Oliwier", "Mitch", "Krijn", "Jorrit", + "Jimi", "Dominik", "Devin", "Tobin", "Stefan", "Jakob", "Igor", "Giovanni", + "Dylano", "Armin", "Adrian", "Youp", "Sebas", "Sander", "Robert", "Nils", + "Mozes", "Micah", "Menno", "Jaylano", "Ilias", "Freek", "Flip", "Dion", + "Christopher", "Ahmet", "Yassir", "Yannick", "Valentino", "Samuël", "Noam", "Mylan", + "Kenzo", "Jona", "Danilo", "Bowie", "Zain", "Wolf", "Thije", "Theo", + "Mylo", "Matz", "Lieuwe", "Joes", "Jacobus", "Idris", "Gideon", "Bruce", + "Abdullah", "Zef", "Viktor", "Seb", "Rover", "Raphael", "Kacper", "Josh", + "Jeremiah", "Deniz", "Aleksander", "Zev", "Yves", "Viggo", "Naoufel", "Matthew", + "Keano", "Jaylen", "Bo", "Bjorn", "Anouar", "Abraham", "Storm", "Martin", + "Manu", "Jefta", "Djayden", "Benyamin", "Benja", "Ahmad", "Nino", "Malik", + "Junayd", "Isa", "Finley", "Ayman", "Zeyd", "Yassine", "Sev", "Rico", + "Mels", "Maximilian", "Leendert", "Kick", "Enzo", "Sjors", "Silvan", "Peter", + "Otto", "Milano", "Marijn", "Javi", "Yahya", "Wes", "Toon", "Tommy", + "Loet", "Leonardo", "Len", "Kaan", "Dax", "Davy", "Adriaan", "Thiago", + "Mustafa", "Merijn", "Kerem", "Johan", "Isaiah", "Bryan", "Bastiaan", "Axel", + "Toby", "Thom", "Noan", "Marcus", "Ismail", "Davi", "Bodi", "Tieme", + "Ole", "Nout", "Musa", "Moussa", "Luciano", "Liyam", "Kyano", "Dorian", + "Bradley", "Wouter", "Siebe", "Ralph", "Quin", "Fender", "Arie", "Albert", + "Zion", "Wessel", "Rick", "Miles", "Mahir", "Mads", "Klaas", "Flynn", + "Dexx", "Anthony", "Tristan", "Mink", "Mehmet", "Maas", "Lyam", "Jorn", + "Joost", "Christian", "Alparslan", "Tyler", "Maher", "Jakub", "Alan", "William", + "Rafaël", "Jur", "Jimmy", "George", "Christiaan", "Brandon", "Ace", "Tibbe", + "Sebastian", "Lorenzo", "Bilal", "Teije", "Joe", "Michael", "Louay", "Lou", + "Levy", "Kevin", "Isaac", "Ilay", "Harvey", "Davey", "Younes", "Xem", + "Tycho", "Seppe", "Riv", "Marinus", "Maarten", "Ayoub", "Ahmed", "Tuur", + "Tijmen", "Kjeld", "Fynn", "Frenkie", "Dante", "Ayaz", "Abe", "Jackson", + "Bart", "Xavier", "Ted", "Sebastiaan", "Safouan", "Midas", "Gabriël", "Fos", + "Douwe", "Boet", "Berend", "Yassin", "Rowan", "Revi", "Maurits", "Marcel", + "Ivo", "Eli", "Shane", "Rein", "Muhammad", "Lennox", "Ivar", "Huub", + "Tijs", "Matthias", "Juda", "Dave", "Antoni", "Damin", "Colin", "Zakaria", + "Vincent", "Sverre", "Mik", "Lennon", "Donny", "Thijn", "Novan", "Mart", + "Bob", "Senna", "Olaf", "Mohammad", "Julan", "Riff", "Jaivey", "Collin", + "Nouri", "Noël", "Ferre", "Mert", "Boas", "Sten", "Gabriel", "Pelle", + "Mark", "Leo", "Rafael", "Oskar", "Naud", "Aras", "Sami", "Kasper", + "Jop", "Ethan", "Dirk", "Bodhi", "Eden", "Bobby", "Jordan", "Ivan", + "Vinz", "Twan", "Odin", "Manuel", "Jesper", "Scott", "Raff", "Luke", + "Brent", "Zayd", "Sil", "Miran", "Charlie", "Amin", "Valentijn", "Eymen", + "Jules", "Kees", "Jayce", "Matteo", "Chris", "Quinten", "Mateo", "Lux", + "Justin", "Joey", "Jay", "Ayden", "Laurens", "Luka", "Joah", "Gerrit", + "Evan", "Ben", "Jari", "Mika", "Kian", "Ian", "Ilyas", "Jort", + "Mike", "Maxim", "Ibrahim", "Vigo", "Victor", "Louis", "Jayson", "Florian", + "Youssef", "Vic", "Raf", "Filip", "Yusuf", "Timo", "Vik", "Micha", + "Matthijs", "Lasse", "Faas", "Riley", "Mace", "Daniel", "Jamie", "Fabian", + "Nick", "Muhammed", "Luc", "Imran", "Joël", "Niels", "Philip", "Milo", + "Lewis", "Wout", "Leon", "Joas", "Jasper", "Seth", "Omar", "Koen", + "Julius", "Beau", "Rens", "Mayson", "Kay", "Hamza", "Daley", "Robin", + "Nolan", "Cornelis", "Bas", "Lukas", "Jonathan", "Jonas", "Ali", "Ravi", + "Hendrik", "Sef", "Lex", "Thijmen", "Damian", "Arthur", "Aron", "Emir", + "Jonah", "Ömer", "Jelte", "Melle", "Jacob", "Alex", "Jim", "Elijah", + "Stef", "Kaj", "Johannes", "Jelle", "Joris", "Jip", "Aaron", "Loek", + "Logan", "Lev", "Dylan", "Simon", "Kyan", "Sep", "Moos", "Felix", + "Job", "Elias", "Ezra", "Oscar", "Casper", "Duuk", "Sepp", "Pieter", + "Rayan", "Aiden", "Joshua", "Dean", "Niek", "Lenn", "Tygo", "Jake", + "Stan", "Kai", "Roan", "Mick", "Mohammed", "Dani", "Nathan", "Oliver", + "Alexander", "Mohamed", "Hidde", "Samuel", "Zayn", "Amir", "Xavi", "Jurre", + "Boris", "Senn", "Jason", "Pepijn", "Quinn", "Pim", "Jace", "Jax", + "Tijn", "Tim", "Willem", "Jaxx", "Otis", "Fedde", "Tom", "Owen", + "Ryan", "Tobias", "Floris", "Abel", "Jayden", "Sven", "Morris", "Cas", + "Ties", "Daniël", "Joep", "Jan", "Jens", "Vince", "Dex", "Ruben", + "Olivier", "Guus", "Thijs", "Stijn", "Jack", "David", "Teun", "Hugo", + "Mats", "Gijs", "Lars", "Luca", "Siem", "Mason", "Julian", "Boaz", + "Benjamin", "Thomas", "Max", "Adam", "Jesse", "Mees", "Sam", "Noud", + "Bram", "Luuk", "Milan", "James", "Liam", "Finn", "Sem", "Levi", + "Lucas", "Daan", "Noah", +}); + +const auto dutchFemaleFirstNames = std::to_array({ + "Yarah", "Vere", "Siënna", "Sanna", "Salomë", "Roxy", "Nela", "Myra", "Liene", + "Lia", "Kayleigh", "Kaylee", "Kato", "Florence", "Eefje", "Dieke", "Zeyneb", "Wende", + "Vienna", "Melisa", "Maaike", "Lova", "Lilian", "Juno", "Joanna", "Jesslyn", "Jaelynn", + "Gioia", "Claire", "Alma", "Aliya", "Alisa", "Zofia", "Vivian", "Nowi", "Noami", + "Milana", "Marlie", "Macy", "Maan", "Lorena", "Liselotte", "Lien", "Laure", "Laila", + "Kim", "Khadija", "Joya", "Jacoba", "Gigi", "Wilhelmina", "Vivienne", "Rose", "Rana", + "Milly", "Michelle", "Marrit", "Malou", "Jaimy", "Gaia", "Fayen", "Fabiënne", "Eveline", + "Daisy", "Babette", "Aaltje", "Scottie", "Nomi", "Mathilde", "Linne", "Laurie", "Kyara", + "Jalou", "Iva", "Inara", "Grace", "Emmy", "Elle", "Diana", "Céline", "Selena", + "Safiya", "Quinty", "Oliwia", "Nadine", "Meghan", "Marwa", "Jada", "Ines", "Fardau", + "Eliana", "Carmen", "Ayana", "Asya", "Annabel", "Amara", "Alexandra", "Rachel", "Melissa", + "Melina", "Luus", "Jayda", "Jacky", "Eleonora", "Asiya", "Annemijn", "Sare", "Ninthe", + "Nena", "Melody", "Kira", "Jasmine", "Imani", "Hira", "Elynn", "Dominique", "Ashley", + "Aleyna", "Pola", "Noë", "Lisanne", "Lilou", "Kiara", "Jette", "Jess", "Isabeau", + "Floortje", "Fiep", "Fieke", "Femm", "Famke", "Chelsey", "Amelie", "Vanessa", "Skye", + "Sienna", "Safa", "Lydia", "Esma", "Daantje", "Catharina", "Carlijn", "Asel", "Amaya", + "Amalia", "Ada", "Zahra", "Tirza", "Nikkie", "Mirre", "Mayra", "Lenne", "Jule", + "Jana", "Farah", "Defne", "Ariana", "Yenthe", "Renske", "Medina", "Liliana", "Kenza", + "Jazz", "Esra", "Emilie", "Dua", "Chloe", "Abby", "Selma", "Maren", "Jolijn", + "Febe", "Elodie", "Djenna", "Diede", "Cataleya", "Aliyah", "Aisha", "Teddy", "Nika", + "Myla", "Izzy", "Dewi", "Mirte", "Mikki", "Kensi", "Karlijn", "Jazzlynn", "Imke", + "Eleanor", "Wies", "Thirza", "Safae", "Meyra", "Lune", "Jazzlyn", "Faya", "Arya", + "Nadia", "Puk", "Oumayra", "Lois", "Josefien", "Vive", "Fayenne", "Celine", "Nynke", + "Loes", "Danique", "Aurora", "Angelina", "Alya", "Abigail", "Tara", "Quinn", "Meike", + "Maartje", "Jolien", "Selina", "Phileine", "Miley", "Lexie", "Florine", "Coco", "Britt", + "Alyssa", "Yasmine", "Sammie", "Nila", "Lucie", "Eef", "Bella", "Aylin", "Ziva", + "Neeltje", "Jesslynn", "Jente", "Jara", "Bobbie", "Yinthe", "Megan", "Freya", "Donna", + "Alice", "Milena", "Joëlle", "Jenna", "Evelien", "Nisa", "Lott", "Loa", "Daphne", + "Dani", "Maysa", "Hidaya", "Hayley", "Gwen", "Esther", "Elize", "Dana", "Maxime", + "Madelief", "Keet", "Jip", "Ize", "Noëlla", "Layla", "Hendrika", "Hafsa", "Giulia", + "Eliza", "Bowie", "Marly", "Linn", "Jane", "Filou", "Zuzanna", "Leyla", "Fatima", + "Evie", "Marley", "Kyra", "Hanne", "Jailey", "Ise", "Adriana", "Liza", "Doris", + "Dina", "Amina", "Mina", "Aaliyah", "Romee", "Pippa", "Juliette", "Alicia", "Merle", + "Lea", "Elina", "Sena", "Flore", "Riley", "Nour", "Lizz", "Jessie", "Cornelia", + "Beau", "Valerie", "Silke", "Valentina", "Loua", "Vieve", "Vesper", "Ruby", "Nienke", + "Jula", "Azra", "Myrthe", "Soof", "Juliëtte", "Lexi", "Davina", "Liya", "Yasmin", + "Esmée", "Amelia", "Niene", "Mette", "Ela", "Aimée", "Joy", "Ilse", "Zeynep", + "Yfke", "Elizabeth", "Mare", "Isra", "Helena", "Stella", "Jinthe", "Meryem", "Janna", + "Isabelle", "Maja", "Lieve", "Yuna", "Pien", "Faye", "Pleun", "Noortje", "Janne", + "Novi", "Ava", "Sterre", "Maeve", "Elisabeth", "Bibi", "Ayla", "Liyana", "Mae", + "Leah", "Marie", "Juna", "Lucy", "Josephine", "Victoria", "Indy", "Maryam", "Jaylinn", + "Zoey", "Rosie", "Mira", "Nore", "Jinte", "Zara", "Bente", "Senna", "Pip", + "Alina", "Féline", "Aya", "Anouk", "Amélie", "Lou", "Nine", "Jet", "Robin", + "Nikki", "June", "Fem", "Demi", "Mirthe", "Lana", "Noëlle", "Lise", "Lilly", + "Jackie", "Benthe", "Bobbi", "Fiene", "Elisa", "Maya", "Jade", "Emilia", "Elif", + "Romy", "Lot", "Jolie", "Guusje", "Mara", "Kate", "Marit", "Nola", "Louise", + "Lola", "Laura", "Iris", "Philou", "Tessa", "Inaya", "Elise", "Eline", "Sam", + "Evy", "Johanna", "Femke", "Charlie", "Livia", "Rosalie", "Suus", "Sanne", "Fay", + "Fenne", "Linde", "Isabel", "Puck", "Lize", "Rosa", "Amira", "Lily", "Naomi", + "Lizzy", "Liva", "Juul", "Jill", "Hanna", "Floor", "Amber", "Suze", "Veerle", + "Merel", "Anne", "Cato", "Charlotte", "Kiki", "Lena", "Ivy", "Feline", "Jasmijn", + "Liz", "Elena", "Maria", "Norah", "Lara", "Fien", "Isabella", "Luna", "Amy", + "Sophia", "Hailey", "Bo", "Vera", "Julie", "Lisa", "Esmee", "Noa", "Ella", + "Lina", "Mia", "Sofia", "Loïs", "Hannah", "Roos", "Emily", "Isa", "Fenna", + "Elin", "Fleur", "Lynn", "Sarah", "Nova", "Nina", "Maud", "Sofie", "Milou", + "Lauren", "Lotte", "Eva", "Noor", "Liv", "Yara", "Olivia", "Lieke", "Nora", + "Saar", "Evi", "Anna", "Sara", "Tess", "Julia", "Zoë", "Sophie", "Mila", + "Emma", +}); + +const auto dutchLastNames = std::to_array({ + "Aalbers", + "Bakker", + "Bijl", + "Blom", + "Boer", + "Bos", + "Bosch", + "Bosman", + "Brouwer", + "Cornelissen", + "Corsten", + "de Boer", + "de Bruijn", + "de Bruyn", + "de Corte", + "de Graaf", + "de Groot", + "de Haan", + "de Jong", + "de Jonge", + "de Koning", + "de Lange", + "de Leeuw", + "de Nijs", + "de Ruiter", + "de Vos", + "de Vries", + "de Wit", + "Dekker", + "den Adel", + "Dijkstra", + "Driessen", + "Evers", + "Freriks", + "Gerritsen", + "Groen", + "Groothuizen", + "Hartman", + "Hazes", + "Hendriks", + "Hermans", + "Hofman", + "Huisman", + "Jacobs", + "Jansen", + "Janssen", + "Jonker", + "Klein", + "Kok", + "Koning", + "Kramer", + "Kuijpers", + "Kuiper", + "Kuypers", + "Lubbers", + "Maas", + "Martens", + "Meeuwis", + "Meijer", + "Meyer", + "Mol", + "Molenaar", + "Moors", + "Mulder", + "Nijland", + "Oosterhuis", + "Peeters", + "Poels", + "Post", + "Postma", + "Prinsen", + "Rietman", + "Ritsma", + "Sanders", + "Schipper", + "Scholten", + "Smeets", + "Terlouw", + "Timmermans", + "van Beek", + "van Dam", + "van de Berg", + "van de Brink", + "van de Meer", + "van de Pol", + "van de Veen", + "van de Velden", + "van de Ven", + "van de Wal", + "van den Berg", + "van den Bosch", + "van den Broek", + "van den Heuvel", + "van den Pol", + "van den Velde", + "van der Berg", + "van der Heijden", + "van der Heyden", + "van der Horst", + "van der Laan", + "van der Linden", + "van der Meer", + "van der Meulen", + "van der Pol", + "van der Velde", + "van der Velden", + "van der Ven", + "van der Wal", + "van Dijk", + "van Dongen", + "van Doorn", + "van Ginneken", + "van Iersel", + "van Leeuwen", + "van Loon", + "van Veen", + "van Vliet", + "van Wijk", + "Veenstra", + "Verbeek", + "Verhoeven", + "Vermeulen", + "Vink", + "Visser", + "Vos", + "Wagenaar", + "Willems", + "Willemsen", + "Wolters", + "Zijlstra", + "Zuiderveld", +}); + +const auto dutchSuffixes = std::to_array({"Jr.", "Sr."}); + +const auto dutchMalePrefixes = std::to_array({"Dhr.", "Bsc", "Msc", "Prof.", "Ir.", "Drs.", "Dr."}); + +const auto dutchFemalePrefixes = std::to_array({"Mevr.", "Bsc", "Msc", "Prof.", "Ir.", "Drs.", "Dr."}); + +const NameFormats dutchNameFormats{{ + {"{firstName} {lastName}", 8}, + {"{prefix} {firstName} {lastName}", 1}, + {"{firstName} {lastName} {suffix}", 1}, +}}; + +const PeopleNames dutchPeopleNames{ + {dutchMaleFirstNames, dutchLastNames, dutchMalePrefixes, dutchSuffixes}, + {dutchFemaleFirstNames, dutchLastNames, dutchFemalePrefixes, dutchSuffixes}, + dutchNameFormats +}; // England -extern const std::array englishMaleFirstNames; -extern const std::array englishFemaleFirstNames; -extern const std::array englishLastNames; -extern const std::array englishSuffixes; -extern const std::array englishMalePrefixes; -extern const std::array englishFemalePrefixes; -extern const NameFormats englishNameFormats; -extern const PeopleNames englishPeopleNames; +const auto englishMaleFirstNames = std::to_array({ + "James", "John", "Robert", "Michael", "William", "David", "Richard", "Charles", + "Joseph", "Thomas", "Christopher", "Daniel", "Paul", "Mark", "Donald", "George", + "Kenneth", "Steven", "Edward", "Brian", "Ronald", "Anthony", "Kevin", "Jason", + "Matthew", "Gary", "Timothy", "Jose", "Larry", "Jeffrey", "Frank", "Scott", + "Eric", "Stephen", "Andrew", "Raymond", "Gregory", "Joshua", "Jerry", "Dennis", + "Walter", "Patrick", "Peter", "Harold", "Douglas", "Henry", "Carl", "Arthur", + "Ryan", "Roger", "Joe", "Juan", "Jack", "Albert", "Jonathan", "Justin", + "Terry", "Gerald", "Keith", "Samuel", "Willie", "Ralph", "Lawrence", "Nicholas", + "Roy", "Benjamin", "Bruce", "Brandon", "Adam", "Harry", "Fred", "Wayne", + "Billy", "Steve", "Louis", "Jeremy", "Aaron", "Randy", "Howard", "Eugene", + "Carlos", "Russell", "Bobby", "Victor", "Martin", "Ernest", "Phillip", "Todd", + "Jesse", "Craig", "Alan", "Shawn", "Clarence", "Sean", "Philip", "Chris", + "Johnny", "Earl", "Jimmy", "Antonio", "Danny", "Bryan", "Tony", "Luis", + "Mike", "Stanley", "Leonard", "Nathan", "Dale", "Manuel", "Rodney", "Curtis", + "Norman", "Allen", "Marvin", "Vincent", "Glenn", "Jeffery", "Travis", "Jeff", + "Chad", "Jacob", "Lee", "Melvin", "Alfred", "Kyle", "Francis", "Bradley", + "Jesus", "Herbert", "Frederick", "Ray", "Joel", "Edwin", "Don", "Eddie", + "Ricky", "Troy", "Randall", "Barry", "Alexander", "Bernard", "Mario", "Leroy", + "Francisco", "Marcus", "Micheal", "Theodore", "Clifford", "Miguel", "Oscar", "Jay", + "Jim", "Tom", "Calvin", "Alex", "Jon", "Ronnie", "Bill", "Lloyd", + "Tommy", "Leon", "Derek", "Warren", "Darrell", "Jerome", "Floyd", "Leo", + "Alvin", "Tim", "Wesley", "Gordon", "Dean", "Greg", "Jorge", "Dustin", + "Pedro", "Derrick", "Dan", "Lewis", "Zachary", "Corey", "Herman", "Maurice", + "Vernon", "Roberto", "Clyde", "Glen", "Hector", "Shane", "Ricardo", "Sam", + "Rick", "Lester", "Brent", "Ramon", "Charlie", "Tyler", "Gilbert", "Gene", + "Marc", "Reginald", "Ruben", "Brett", "Angel", "Nathaniel", "Rafael", "Leslie", + "Edgar", "Milton", "Raul", "Ben", "Chester", "Cecil", "Duane", "Franklin", + "Andre", "Elmer", "Brad", "Gabriel", "Ron", "Mitchell", "Roland", "Arnold", + "Harvey", "Jared", "Adrian", "Karl", "Cory", "Claude", "Erik", "Darryl", + "Jamie", "Neil", "Jessie", "Christian", "Javier", "Fernando", "Clinton", "Ted", + "Mathew", "Tyrone", "Darren", "Lonnie", "Lance", "Cody", "Julio", "Kelly", + "Kurt", "Allan", "Nelson", "Guy", "Clayton", "Hugh", "Max", "Dwayne", + "Dwight", "Armando", "Felix", "Jimmie", "Everett", "Jordan", "Ian", "Wallace", + "Ken", "Bob", "Jaime", "Casey", "Alfredo", "Alberto", "Dave", "Ivan", + "Johnnie", "Sidney", "Byron", "Julian", "Isaac", "Morris", "Clifton", "Willard", + "Daryl", "Ross", "Virgil", "Andy", "Marshall", "Salvador", "Perry", "Kirk", + "Sergio", "Marion", "Tracy", "Seth", "Kent", "Terrance", "Rene", "Eduardo", + "Terrence", "Enrique", "Freddie", "Wade", "Austin", "Stuart", "Fredrick", "Arturo", + "Alejandro", "Jackie", "Joey", "Nick", "Luther", "Wendell", "Jeremiah", "Evan", + "Julius", "Dana", "Donnie", "Otis", "Shannon", "Trevor", "Oliver", "Luke", + "Homer", "Gerard", "Doug", "Kenny", "Hubert", "Angelo", "Shaun", "Lyle", + "Matt", "Lynn", "Alfonso", "Orlando", "Rex", "Carlton", "Ernesto", "Cameron", + "Neal", "Pablo", "Lorenzo", "Omar", "Wilbur", "Blake", "Grant", "Horace", + "Roderick", "Kerry", "Abraham", "Willis", "Rickey", "Jean", "Ira", "Andres", + "Cesar", "Johnathan", "Malcolm", "Rudolph", "Damon", "Kelvin", "Rudy", "Preston", + "Alton", "Archie", "Marco", "Wm", "Pete", "Randolph", "Garry", "Geoffrey", + "Jonathon", "Felipe", "Bennie", "Gerardo", "Ed", "Dominic", "Robin", "Loren", + "Delbert", "Colin", "Guillermo", "Earnest", "Lucas", "Benny", "Noel", "Spencer", + "Rodolfo", "Myron", "Edmund", "Garrett", "Salvatore", "Cedric", "Lowell", "Gregg", + "Sherman", "Wilson", "Devin", "Sylvester", "Kim", "Roosevelt", "Israel", "Jermaine", + "Forrest", "Wilbert", "Leland", "Simon", "Guadalupe", "Clark", "Irving", "Carroll", + "Bryant", "Owen", "Rufus", "Woodrow", "Sammy", "Kristopher", "Mack", "Levi", + "Marcos", "Gustavo", "Jake", "Lionel", "Marty", "Taylor", "Ellis", "Dallas", + "Gilberto", "Clint", "Nicolas", "Laurence", "Ismael", "Orville", "Drew", "Jody", + "Ervin", "Dewey", "Al", "Wilfred", "Josh", "Hugo", "Ignacio", "Caleb", + "Tomas", "Sheldon", "Erick", "Frankie", "Stewart", "Doyle", "Darrel", "Rogelio", + "Terence", "Santiago", "Alonzo", "Elias", "Bert", "Elbert", "Ramiro", "Conrad", + "Pat", "Noah", "Grady", "Phil", "Cornelius", "Lamar", "Rolando", "Clay", + "Percy", "Dexter", "Bradford", "Merle", "Darin", "Amos", "Terrell", "Moses", + "Irvin", "Saul", "Roman", "Darnell", "Randal", "Tommie", "Timmy", "Darrin", + "Winston", "Brendan", "Toby", "Van", "Abel", "Dominick", "Boyd", "Courtney", + "Jan", "Emilio", "Elijah", "Cary", "Domingo", "Santos", "Aubrey", "Emmett", + "Marlon", "Emanuel", "Jerald", "Edmond", +}); + +const auto englishFemaleFirstNames = std::to_array({ + "Mary", "Patricia", "Linda", "Barbara", "Elizabeth", "Jennifer", "Maria", "Susan", + "Margaret", "Dorothy", "Lisa", "Nancy", "Karen", "Betty", "Helen", "Sandra", + "Donna", "Carol", "Ruth", "Sharon", "Michelle", "Laura", "Sarah", "Kimberly", + "Deborah", "Jessica", "Shirley", "Cynthia", "Angela", "Melissa", "Brenda", "Amy", + "Anna", "Rebecca", "Virginia", "Kathleen", "Pamela", "Martha", "Debra", "Amanda", + "Stephanie", "Carolyn", "Christine", "Marie", "Janet", "Catherine", "Frances", "Ann", + "Joyce", "Diane", "Alice", "Julie", "Heather", "Teresa", "Doris", "Gloria", + "Evelyn", "Jean", "Cheryl", "Mildred", "Katherine", "Joan", "Ashley", "Judith", + "Rose", "Janice", "Kelly", "Nicole", "Judy", "Christina", "Kathy", "Theresa", + "Beverly", "Denise", "Tammy", "Irene", "Jane", "Lori", "Rachel", "Marilyn", + "Andrea", "Kathryn", "Louise", "Sara", "Anne", "Jacqueline", "Wanda", "Bonnie", + "Julia", "Ruby", "Lois", "Tina", "Phyllis", "Norma", "Paula", "Diana", + "Annie", "Lillian", "Emily", "Robin", "Peggy", "Crystal", "Gladys", "Rita", + "Dawn", "Connie", "Florence", "Tracy", "Edna", "Tiffany", "Carmen", "Rosa", + "Cindy", "Grace", "Wendy", "Victoria", "Edith", "Kim", "Sherry", "Sylvia", + "Josephine", "Thelma", "Shannon", "Sheila", "Ethel", "Ellen", "Elaine", "Marjorie", + "Carrie", "Charlotte", "Monica", "Esther", "Pauline", "Emma", "Juanita", "Anita", + "Rhonda", "Hazel", "Amber", "Eva", "Debbie", "April", "Leslie", "Clara", + "Lucille", "Jamie", "Joanne", "Eleanor", "Valerie", "Danielle", "Megan", "Alicia", + "Suzanne", "Michele", "Gail", "Bertha", "Darlene", "Veronica", "Jill", "Erin", + "Geraldine", "Lauren", "Cathy", "Joann", "Lorraine", "Lynn", "Sally", "Regina", + "Erica", "Beatrice", "Dolores", "Bernice", "Audrey", "Yvonne", "Annette", "June", + "Samantha", "Marion", "Dana", "Stacy", "Ana", "Renee", "Ida", "Vivian", + "Roberta", "Holly", "Brittany", "Melanie", "Loretta", "Yolanda", "Jeanette", "Laurie", + "Katie", "Kristen", "Vanessa", "Alma", "Sue", "Elsie", "Beth", "Jeanne", + "Vicki", "Carla", "Tara", "Rosemary", "Eileen", "Terri", "Gertrude", "Lucy", + "Tonya", "Ella", "Stacey", "Wilma", "Gina", "Kristin", "Jessie", "Natalie", + "Agnes", "Vera", "Willie", "Charlene", "Bessie", "Delores", "Melinda", "Pearl", + "Arlene", "Maureen", "Colleen", "Allison", "Tamara", "Joy", "Georgia", "Constance", + "Lillie", "Claudia", "Jackie", "Marcia", "Tanya", "Nellie", "Minnie", "Marlene", + "Heidi", "Glenda", "Lydia", "Viola", "Courtney", "Marian", "Stella", "Caroline", + "Dora", "Jo", "Vickie", "Mattie", "Terry", "Maxine", "Irma", "Mabel", + "Marsha", "Myrtle", "Lena", "Christy", "Deanna", "Patsy", "Hilda", "Gwendolyn", + "Jennie", "Nora", "Margie", "Nina", "Cassandra", "Leah", "Penny", "Kay", + "Priscilla", "Naomi", "Carole", "Brandy", "Olga", "Billie", "Dianne", "Tracey", + "Leona", "Jenny", "Felicia", "Sonia", "Miriam", "Velma", "Becky", "Bobbie", + "Violet", "Kristina", "Toni", "Misty", "Mae", "Shelly", "Daisy", "Ramona", + "Sherri", "Erika", "Katrina", "Claire", "Lindsey", "Lindsay", "Geneva", "Guadalupe", + "Belinda", "Margarita", "Sheryl", "Cora", "Faye", "Ada", "Natasha", "Sabrina", + "Isabel", "Marguerite", "Hattie", "Harriet", "Molly", "Cecilia", "Kristi", "Brandi", + "Blanche", "Sandy", "Rosie", "Joanna", "Iris", "Eunice", "Angie", "Inez", + "Lynda", "Madeline", "Amelia", "Alberta", "Genevieve", "Monique", "Jodi", "Janie", + "Maggie", "Kayla", "Sonya", "Jan", "Lee", "Kristine", "Candace", "Fannie", + "Maryann", "Opal", "Alison", "Yvette", "Melody", "Luz", "Susie", "Olivia", + "Flora", "Shelley", "Kristy", "Mamie", "Lula", "Lola", "Verna", "Beulah", + "Antoinette", "Candice", "Juana", "Jeannette", "Pam", "Kelli", "Hannah", "Whitney", + "Bridget", "Karla", "Celia", "Latoya", "Patty", "Shelia", "Gayle", "Della", + "Vicky", "Lynne", "Sheri", "Marianne", "Kara", "Jacquelyn", "Erma", "Blanca", + "Myra", "Leticia", "Pat", "Krista", "Roxanne", "Angelica", "Johnnie", "Robyn", + "Francis", "Adrienne", "Rosalie", "Alexandra", "Brooke", "Bethany", "Sadie", "Bernadette", + "Traci", "Jody", "Kendra", "Jasmine", "Nichole", "Rachael", "Chelsea", "Mable", + "Ernestine", "Muriel", "Marcella", "Elena", "Krystal", "Angelina", "Nadine", "Kari", + "Estelle", "Dianna", "Paulette", "Lora", "Mona", "Doreen", "Rosemarie", "Angel", + "Desiree", "Antonia", "Hope", "Ginger", "Janis", "Betsy", "Christie", "Freda", + "Mercedes", "Meredith", "Lynette", "Teri", "Cristina", "Eula", "Leigh", "Meghan", + "Sophia", "Eloise", "Rochelle", "Gretchen", "Cecelia", "Raquel", "Henrietta", "Alyssa", + "Jana", "Kelley", "Gwen", "Kerry", "Jenna", "Tricia", "Laverne", "Olive", + "Alexis", "Tasha", "Silvia", "Elvira", "Casey", "Delia", "Sophie", "Kate", + "Patti", "Lorena", "Kellie", "Sonja", "Lila", "Lana", "Darla", "May", + "Mindy", "Essie", "Mandy", "Lorene", "Elsa", "Josefina", "Jeannie", "Miranda", + "Dixie", "Lucia", "Marta", "Faith", "Lela", "Johanna", "Shari", "Camille", + "Tami", "Shawna", "Elisa", "Ebony", "Melba", "Ora", "Nettie", "Tabitha", + "Ollie", "Jaime", "Winifred", "Kristie", +}); + +const auto englishLastNames = std::to_array({ + "Abbott", "Abernathy", "Abshire", "Adams", "Altenwerth", "Anderson", "Ankunding", + "Armstrong", "Auer", "Aufderhar", "Bahringer", "Bailey", "Balistreri", "Barrows", + "Bartell", "Bartoletti", "Barton", "Bashirian", "Batz", "Bauch", "Baumbach", + "Bayer", "Beahan", "Beatty", "Bechtelar", "Becker", "Bednar", "Beer", + "Beier", "Berge", "Bergnaum", "Bergstrom", "Bernhard", "Bernier", "Bins", + "Blanda", "Blick", "Block", "Bode", "Boehm", "Bogan", "Bogisich", + "Borer", "Bosco", "Botsford", "Boyer", "Boyle", "Bradtke", "Brakus", + "Braun", "Breitenberg", "Brekke", "Brown", "Bruen", "Buckridge", "Carroll", + "Carter", "Cartwright", "Casper", "Cassin", "Champlin", "Christiansen", "Cole", + "Collier", "Collins", "Conn", "Connelly", "Conroy", "Considine", "Corkery", + "Cormier", "Corwin", "Cremin", "Crist", "Crona", "Cronin", "Crooks", + "Cruickshank", "Cummerata", "Cummings", "Dach", "Daniel", "Dare", "Daugherty", + "Davis", "Deckow", "Denesik", "Dibbert", "Dickens", "Dicki", "Dickinson", + "Dietrich", "Donnelly", "Dooley", "Douglas", "Doyle", "DuBuque", "Durgan", + "Ebert", "Effertz", "Emard", "Emmerich", "Erdman", "Ernser", "Fadel", + "Fahey", "Farrell", "Fay", "Feeney", "Feest", "Feil", "Ferry", + "Fisher", "Flatley", "Frami", "Franecki", "Franey", "Friesen", "Fritsch", + "Funk", "Gerhold", "Gerlach", "Gibson", "Gislason", "Gleason", "Gleichner", + "Glover", "Goldner", "Goodwin", "Gorczany", "Gottlieb", "Goyette", "Grady", + "Graham", "Grant", "Green", "Greenfelder", "Greenholt", "Grimes", "Gulgowski", + "Gusikowski", "Gutkowski", "Gutmann", "Haag", "Hackett", "Hagenes", "Hahn", + "Haley", "Halvorson", "Hamill", "Hammes", "Hand", "Hane", "Hansen", + "Harber", "Harris", "Hartmann", "Harvey", "Hauck", "Hayes", "Heaney", + "Heathcote", "Hegmann", "Heidenreich", "Heller", "Herman", "Hermann", "Hermiston", + "Herzog", "Hessel", "Hettinger", "Hickle", "Hilll", "Hills", "Hilpert", + "Hintz", "Hirthe", "Hodkiewicz", "Hoeger", "Homenick", "Hoppe", "Howe", + "Howell", "Hudson", "Huel", "Huels", "Hyatt", "Jacobi", "Jacobs", + "Jacobson", "Jakubowski", "Jaskolski", "Jast", "Jenkins", "Jerde", "Johns", + "Johnson", "Johnston", "Jones", "Kassulke", "Kautzer", "Keebler", "Keeling", + "Kemmer", "Kerluke", "Kertzmann", "Kessler", "Kiehn", "Kihn", "Kilback", + "King", "Kirlin", "Klein", "Kling", "Klocko", "Koch", "Koelpin", + "Koepp", "Kohler", "Konopelski", "Koss", "Kovacek", "Kozey", "Krajcik", + "Kreiger", "Kris", "Kshlerin", "Kub", "Kuhic", "Kuhlman", "Kuhn", + "Kulas", "Kunde", "Kunze", "Kuphal", "Kutch", "Kuvalis", "Labadie", + "Lakin", "Lang", "Langosh", "Langworth", "Larkin", "Larson", "Leannon", + "Lebsack", "Ledner", "Leffler", "Legros", "Lehner", "Lemke", "Lesch", + "Leuschke", "Lind", "Lindgren", "Littel", "Little", "Lockman", "Lowe", + "Lubowitz", "Lueilwitz", "Luettgen", "Lynch", "Macejkovic", "MacGyver", "Maggio", + "Mann", "Mante", "Marks", "Marquardt", "Marvin", "Mayer", "Mayert", + "McClure", "McCullough", "McDermott", "McGlynn", "McKenzie", "McLaughlin", "Medhurst", + "Mertz", "Metz", "Miller", "Mills", "Mitchell", "Moen", "Mohr", + "Monahan", "Moore", "Morar", "Morissette", "Mosciski", "Mraz", "Mueller", + "Muller", "Murazik", "Murphy", "Murray", "Nader", "Nicolas", "Nienow", + "Nikolaus", "Nitzsche", "Nolan", "Olson", "Ondricka", "Orn", "Ortiz", + "Osinski", "Pacocha", "Padberg", "Pagac", "Parisian", "Parker", "Paucek", + "Pfeffer", "Pollich", "Pouros", "Powlowski", "Predovic", "Price", "Prohaska", + "Prosacco", "Purdy", "Quigley", "Quitzon", "Rath", "Ratke", "Rau", + "Raynor", "Reichel", "Reichert", "Reilly", "Reinger", "Rempel", "Renner", + "Reynolds", "Rice", "Rippin", "Ritchie", "Robel", "Roberts", "Rodriguez", + "Rogahn", "Rohan", "Rolfson", "Romaguera", "Roob", "Rosenbaum", "Rowe", + "Ruecker", "Runolfsdottir", "Runolfsson", "Runte", "Russel", "Rutherford", "Ryan", + "Sanford", "Satterfield", "Sauer", "Sawayn", "Schaden", "Schaefer", "Schamberger", + "Schiller", "Schimmel", "Schinner", "Schmeler", "Schmidt", "Schmitt", "Schneider", + "Schoen", "Schowalter", "Schroeder", "Schulist", "Schultz", "Schumm", "Schuppe", + "Schuster", "Senger", "Shanahan", "Shields", "Simonis", "Sipes", "Skiles", + "Smith", "Smitham", "Spencer", "Spinka", "Sporer", "Stamm", "Stanton", + "Stark", "Stehr", "Steuber", "Stiedemann", "Stokes", "Stoltenberg", "Stracke", + "Streich", "Stroman", "Strosin", "Swaniawski", "Swift", "Terry", "Thiel", + "Thompson", "Tillman", "Torp", "Torphy", "Towne", "Toy", "Trantow", + "Tremblay", "Treutel", "Tromp", "Turcotte", "Turner", "Ullrich", "Upton", + "Vandervort", "Veum", "Volkman", "Von", "VonRueden", "Waelchi", "Walker", + "Walsh", "Walter", "Ward", "Waters", "Watsica", "Weber", "Wehner", + "Weimann", "Weissnat", "Welch", "West", "White", "Wiegand", "Wilderman", + "Wilkinson", "Will", "Williamson", "Willms", "Windler", "Wintheiser", "Wisoky", + "Wisozk", "Witting", "Wiza", "Wolf", "Wolff", "Wuckert", "Wunsch", + "Wyman", "Yost", "Yundt", "Zboncak", "Zemlak", "Ziemann", "Zieme", + "Zulauf", +}); + +const auto englishSuffixes = std::to_array({ + "Jr.", "Sr.", "I", "II", "III", "IV", + "V", "MD", "DDS", "PhD", "DVM" +}); + +const auto englishMalePrefixes = std::to_array({"Mr.", "Dr."}); + +const auto englishFemalePrefixes = std::to_array({"Mrs.", "Ms.", "Miss", "Dr."}); + +const NameFormats englishNameFormats{{{"{firstName} {lastName}", 49}, + {"{prefix} {firstName} {lastName}", 7}, + {"{firstName} {lastName} {suffix}", 7}, + {"{prefix} {firstName} {lastName} {suffix}", 1}}}; + +const PeopleNames englishPeopleNames{ + {englishMaleFirstNames, englishLastNames, englishMalePrefixes, englishSuffixes}, + {englishFemaleFirstNames, englishLastNames, englishFemalePrefixes, englishSuffixes}, + englishNameFormats}; // Estonia -extern const std::array estonianMaleFirstNames; -extern const std::array estonianFemaleFirstNames; -extern const std::array estonianLastNames; -extern const NameFormats estonianNameFormats; -extern const PeopleNames estonianPeopleNames; +const auto estonianMaleFirstNames = std::to_array({ + "Aleksandr", "Andres", "Sergei", "Vladimir", "Andrei", "Igor", "Martin", "Marko", + "Ene", "Dmitri", "Aleksei", "Oleg", "Viktor", "Juri", "Roman", "Marek", + "Raul", "Malle", "Nikolai", "Heli", "Aleksander", "Alexander", "Sven", "Terje", + "Pavel", "Eduard", "Kai", "Sergey", "Anton", "Artur", "Vadim", "Maksim", + "Timo", "Ivar", "Allan", "Erik", "Karl", "Anatoli", "Vitali", "Ivo", + "Jan", "Silver", "Hannes", "Robert", "Andrey", "Konstantin", "Rainer", "Harri", + "Ivan", "Sander", "Stanislav", "Paul", "Oliver", "Mark", "Hans", "Peter", + "Lars", "Matti", "Alexey", "Gunnar", "Dmitry", "Deniss", "Ilja", "Leonid", + "Vladislav", "Kirill", "Mikhail", "Ruslan", "Andre", "Henri", "Gert", "Roland", + "Alex", "Ragnar", "Imre", "Vassili", "Arne", "Arno", "Boris", "Michael", + "Victor", "Daniel", "Rasmus", "David", "Valentin", "Mario", "Yury", "John", + "Joel", "Edgar", "Markus", "Harry", "Thomas", "Einar", "Leo", "Albert", + "Johannes", "Evgeny", "Per", "Hendrik", "Nikolay", "Ari", "Georg", "Anders", + "Egon", "Richard", "Alvar", "Georgi", "Henry", "Oleksandr", "Guido", "Arnold", + "Ervin", "Henrik", "Merlin", "Valter", "Raimond", "Karel", "Elmar", "Maxim", + "Aleksandrs", "Carl", "Kristian", "Fred", "Johan", "Nils", "Sergejs", "Kevin", + "Daniil", "Christian", "Anatoly", "Aleks", "Tom", "Magnus", "Oskar", "German", + "Andris", "Grigori", "Olav", "Tomas", "Andrew", "Marco", "Ilya", "Sami", + "Alan", "Andrejs", "Rudolf", "Stefan", "Marti", "Bruno", "Rolf", "Artem", + "Erich", "Vitaly", "Elmo", "Valeriy", "Vyacheslav", "Udo", "Volodymyr", "Steven", + "Heiko", "Gennady", "Ken", "Harald", "Jens", "Arkadi", "Ulf", "Mauri", + "Ralf", "Danel", "August", "Lennart", "Hugo", "James", "Otto", "Simo", + "Andi", "Aldo", "Jonas", "Ove", "Mikael", "Marius", "Aksel", "Mattias", + "Helmut", "Ali", "Roberto", "Timur", "Feliks", "Lasse", "Holger", "Stig", + "Lev", "Ronald", "Leif", "Vlad", "Helge", "Marin", "Vasily", "Dmytro", + "Roger", "Chris", "Klaus", "Kjell", "Igors", "Stepan", "Gustav", "Alexandre", + "Rune", "William", "Mihail", "Andrii", "Armin", "Juris", "Max", "Aleksey", + "Tony", "Vladimirs", "Alfred", "Eric", "Dmitrijs", "Edward", "Aleksejs", "Kris", + "Alexandr", "Edvin", "Gleb", "Simon", "Dmitriy", "Kenneth", "Jakob", "Mykola", + "Petr", "Patrick", "Artyom", "Gabriel", "Aliaksandr", "Olegs", "Ander", "Dimitri", + "Elvis", "Andro", "Viktors", "Siarhei", "Pauli", "Ole", "Niklas", "Stephen", + "Keith", "Arthur", "Mindaugas", "Olaf", "Bogdan", "Christopher", "Frank", "Yuriy", + "Sergii", "Mirko", "Remo", "Paolo", "Andriy", "Marcus", "Jurijs", "Matthias", + "Heinrich", "Ernst", "Marat", "Bert", "Egor", "Morten", "Niko", "Edvard", + "Fredrik", "Iurii", "Darius", "Georgy", "Viacheslav", "Antonio", "Evgeniy", "Filipp", + "Jon", "Andrius", "Eugen", "Jaroslav", "Edgars", "George", "Algis", "Kurt", + "Emil", "Niels", "Norman", "Ian", "Andry", "Tommy", "Rustam", "Pavlo", + "Valerii", "Evgeni", "Jurgen", "Sebastian", "Herbert", "Pierre", "Oleksii", "Marc", + "Samuel", "Adam", "Patrik", "Aron", "Hakan", "Serguei", "Petro", "Franz", + "Vasyl", "Sergej", "Benjamin", "Brian", "Joakim", "Vitalii", "Benno", "Carlos", + "Sergiy", "Vitaliy", "Jack", "Knut", "Rodion", "Enrico", "Grigory", "Herman", + "Philip", "Jose", "Tim", "Omar", "Armand", "Vilmar", "Rafael", "Adrian", + "Renat", "Anatolii", "Dzmitry", "Danil", "Eldar", "Gerhard", "Fedor", "Raoul", + "Sergo", "Anthony", "Jesper", "Matthew", "Francesco", "Gary", +}); + +const auto estonianFemaleFirstNames = std::to_array({ + "Olga", "Irina", "Jelena", "Svetlana", "Tatjana", "Katrin", "Natalja", "Anna", + "Anne", "Marina", "Galina", "Maria", "Julia", "Anneli", "Valentina", "Marika", + "Karin", "Natalia", "Kristina", "Eve", "Helen", "Merle", "Margit", "Mati", + "Annika", "Jana", "Kaja", "Kristel", "Jekaterina", "Elena", "Mari", "Valeri", + "Diana", "Viktoria", "Krista", "Ingrid", "Lea", "Monika", "Larissa", "Oksana", + "Maris", "Evelin", "Maire", "Helle", "Inna", "Alla", "Inga", "Tamara", + "Signe", "Eva", "Rita", "Linda", "Aili", "Ilona", "Rene", "Tatiana", + "Laura", "Veronika", "Janne", "Kati", "Aleksandra", "Jane", "Aime", "Margarita", + "Helena", "Ruth", "Erika", "Eda", "Denis", "Elina", "Alina", "Heidi", + "Inge", "Kari", "Sigrid", "Anastassia", "Regina", "Agnes", "Maia", "Ester", + "Margo", "Birgit", "Mai", "Sandra", "Ellen", "Karina", "Ekaterina", "Leida", + "Marit", "Angela", "Nele", "Nadezda", "Asta", "Karmen", "Liudmila", "Marianne", + "Nina", "Andreas", "Mirjam", "Grete", "Kristin", "Silvia", "Egle", "Hanna", + "Lidia", "Mika", "Raissa", "Valeria", "Ksenia", "Astrid", "Tea", "Anastasia", + "Lilian", "Nikita", "Antonina", "Yulia", "Anni", "Zinaida", "Evelyn", "Nelli", + "Lilia", "Aimar", "Silva", "Ann", "Darja", "Vera", "Larisa", "Janis", + "Marianna", "Ludmilla", "Saima", "Ella", "Julija", "Andra", "Anita", "Leena", + "Irene", "Elen", "Petri", "Johanna", "Helga", "Margot", "Stella", "Marta", + "Kirsti", "Mariann", "Liana", "Nadezhda", "Vilma", "Arina", "Kaur", "Angelika", + "Marie", "Polina", "Elis", "Lia", "Monica", "Angelina", "Gerda", "Bo", + "Elvira", "Valery", "Yana", "Liubov", "Victoria", "Alice", "Dagmar", "Natalija", + "Rimma", "Olena", "Irena", "Marion", "Ulla", "Thea", "Maila", "Carmen", + "Irma", "Sofia", "Berit", "Ursula", "Kristine", "Oxana", "Kelly", "Lena", + "Tatyana", "Alena", "Viktorija", "Erna", "Dina", "Alexandra", "Natalya", "Leila", + "Karen", "Elsa", "Yuliya", "Katerina", "Iris", "Marja", "Agne", "Renee", + "Alisa", "Helene", "Alevtina", "Hilda", "Nataliya", "Kerstin", "Katja", "Marilin", + "Ira", "Doris", "Kim", "Viktoriya", "Tanja", "Lina", "Paula", "Edith", + "Katrina", "Zhanna", "Iryna", "Christina", "Dan", "Pia", "Eleonora", "Dima", + "Gea", "Elisabeth", "Marian", "Selma", "Andrea", "Ilse", "Ruta", "Albina", + "Sasha", "Ines", "Aina", "Evelina", "Marija", "Marleen", "Ada", "Susanna", + "Tetiana", "Katarina", "Liza", "Aira", "Natali", "Elin", "Inessa", "Lyudmila", + "Ethel", "Vivian", "Ludmila", "Anette", "Karolina", "Evgenia", "Karol", "Marili", + "Iuliia", "Kristen", "Juliana", "Reena", "Britta", "Lilli", "Mariana", "Anastasiya", + "Mariya", "Iveta", "Marita", "Elise", "Lydia", "Emma", "Alma", "Marlen", + "Violetta", "Lily", "Iren", "Raisa", "Nataliia", "Evgeniya", "Elizaveta", "Mia", + "Mary", "Naima", "Lee", "Renata", "Greta", "Daisy", "Varvara", "Raja", + "Yuri", "Iraida", "Ilze", "Robin", "Britt", "Renate", "Daria", "Anzelika", + "Kira", "Karine", "Tetyana", "Anya", "Dana", "Alyona", "Svitlana", "Nadja", + "Livia", "Ina", "Ana", "Katya", "Lisa", "Ksenija", "Janina", "Lada", + "Maryna", "Merlyn", "Lana", "Veronica", "Alissa", "Elga", "Dennis", "Sanna", + "Maren", "Brit", "Laila", "Enna", "Emilia", "Natasha", "Nika", "Inger", + "Olesya", "Rena", "Susanne", "Dasha", "Nora", "Kateryna", "Mae", "Dea", + "Heidy", "Larysa", "Anastasiia", "Joanna", "Anett", "Magda", "Natalie", "Nataly", + "Ida", "Faina", "Roza", "Milana", "Lili", "Amanda", +}); + +const auto estonianLastNames = std::to_array({ + "Tamm", "Saar", "Sepp", "Kask", "Mägi", "Kukk", "Rebane", "Koppel", + "Karu", "Ilves", "Lepik", "Oja", "Ivanov", "Kuusk", "Kaasik", "Cuca", + "Luik", "Raudsepp", "Vaher", "Kallas", "Lepp", "Laur", "Pärn", "Kuusik", + "Kivi", "Ots", "Liiv", "Peterson", "Teder", "Mets", "Põder", "Kull", + "Kütt", "Puusepp", "Kangur", "Jakobson", "Rand", "Toom", "Saks", "Smirnov", + "Leppik", "Raud", "Mitt", "Sild", "Sarapuu", "Ivanova", "Mölder", "Roos", + "Tamme", "Allik", "Kõiv", "Paju", "Paas", "Laas", "Pukk", "Miller", + "Palm", "Tomson", "Uibo", "Põld", "Jürgenson", "Kalda", "Lill", "Männik", + "Nõmm", "Johanson", "Orav", "Unt", "Parts", "Lind", "Hunt", "Petrov", + "Arro", "Adamson", "Hein", "Lember", "Rätsep", "Järv", "Nurk", "Tali", + "Pihlak", "Kase", "Aavik", "Kruus", "Valk", "Hansen", "Järve", "Väli", + "Vares", "Aru", "Rohtla", "Kikas", "Sikk", "Mõttus", "Soosaar", "Kuznetsov", + "Vassiljev", "Kolk", "Must", "Sarv", "Martin", "Mänd", "Annus", "Kala", + "Tilk", "Luts", "Varik", "Tomingas", "Raid", "Smirnova", "Pavlov", "Kirsipuu", + "Laine", "Aas", "Anderson", "Lang", "Kaur", "Anton", "Post", "Aus", + "Abel", "Ojala", "Kokk", "Palu", "Schmidt", "Kuus", "Kink", "Gross", + "Popov", "Ott", "Martinson", "Rosenberg", "Roots", "Reimann", "Sokolov", "Allas", + "Toome", "Volkov", "Sander", "Kirs", "Lipp", "Põldma", "Taal", "Hanson", + "Kalmus", "Paal", "Petrova", "Link", "Berg", "Aun", "Simson", "Müürsepp", + "Eller", "Liivak", "Kurg", "Stepanov", "Laan", "Kass", "Trei", "Leis", + "Koit", "Morozov", "Susi", "Raja", "Lumi", "Meier", "Vain", "Lass", + "Kim", "Aasa", "Parve", "Mark", "Lauri", "Kozlov", "Sutt", "Soo", + "Erm", "Lebedev", "Saul", "Holm", "Kuznetsova", "Popova", "Poom", "Soots", + "Andersson", "Jürgens", "Kelder", "Kalm", "Eriksson", "Kont", "Kroon", "Kutsar", + "Pajula", "Kasak", "Salu", "Koger", "Nikitin", "Peets", "Siim", "Johansson", + "Ader", "Savi", "Novikov", "Alas", "Padar", "Muru", "Silm", "Suvi", + "Rosin", "Kuzmin", "Aleksandrov", "Markus", "Zaitsev", "Pihl", "Joost", "Meister", + "Pavlova", "Viik", "Karp", "Remmel", "Orlov", "Piho", "Braun", "Raidma", + "Maksimov", "Bergmann", "Kool", "Laks", "Romanov", "Li", "Filippov", "Antonov", + "Hendrikson", "Talvik", "Laos", "Kruuse", "Reinhold", "Virtanen", "Borissov", "Solovjov", + "Oks", "Malm", "Moor", "Trofimov", "Kovalenko", "Türk", "Tomberg", "Jensen", + "Noor", "Fjodorova", "Kapp", "Paap", "Treier", "Savolainen", "Bondarenko", "Kalle", + "Rist", "Ross", "Stepanova", "Larsson", "Smith", "Paulus", "Orlova", "Sillaots", + "Jaanus", "Vene", "Semjonova", "Vahi", "Pent", "Tisler", "Volkova", "Nilsson", + "Lee", "Roose", "Janson", "Makarov", "Lehtonen", "Kaup", "Lille", "Vill", + "Frolov", "Sisask", "Erik", "Raun", "Karlsson", "Belov", "Loo", "Vinogradov", + "Lehtinen", "Tasa", "Pajo", "Aava", "Klein", "Merila", "Alt", "Evert", + "Pool", "Lukas", "Lääts", "Mere", "Pill", "Vare", "Baranov", "Matt", + "Steinberg", "Reiman", "Bogdanov", "Pulk", "Grünberg", "Press", "Koch", "Soon", + "Mandel", "Jakovleva", "Andersen", "Aleksandrova", "Kaldma", "Sommer", "Vilu", "Mustonen", + "Melnikov", "Jaakson", "Korhonen", "Nieminen", "Borissova", "Rinne", "Makarova", "Otsa", + "Hurt", "Sorokin", "Valdmann", "Kanter", "Kipper", "Tint", "Hint", "Sein", + "Nael", "Bachmann", "Laar", "Suviste", "Raig", "Grigorjeva", "Sergejev", "Klaas", + "Nikitina", "Haas", "Lebedeva", "Margus", "Saag", "Kirt", +}); + +const NameFormats estonianNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames estonianPeopleNames{{estonianMaleFirstNames, estonianLastNames, {}, {}}, + {estonianFemaleFirstNames, estonianLastNames, {}, {}}, + estonianNameFormats}; // Finland -extern const std::array finnishMaleFirstNames; -extern const std::array finnishFemaleFirstNames; -extern const std::array finnishLastNames; -extern const NameFormats finnishNameFormats; -extern const PeopleNames finnishPeopleNames; +const auto finnishMaleFirstNames = std::to_array({ + "Leo", "Elias", "Eino", "Väinö", "Onni", "Leevi", "Niilo", "Oliver", "Eetu", + "Noel", "Eeli", "Veeti", "Mikael", "Joel", "Daniel", "Andreas", "Edvin", "Elia", + "Eliel", "Felix", "Niila", "Nikolas", "Oskar", "Oula", "Petja", "Petrus", "Rene", + "Teo", "Venni", "Viktor", "Aarre", "Aarni", "Ahti", "Aarne", "Kuura", "Kuutti", + "Oras", "Otso", "Pyry", "Tammi", "Terho", "Touko", "Ukko", "Vesa", "Visa", +}); + +const auto finnishFemaleFirstNames = std::to_array({ + "Aino", "Eevi", "Emma", "Sofia", "Aada", "Ella", "Lilja", "Helmi", "Elli", "Enni", + "Venla", "Olivia", "Pihla", "Isla", "Adele", "Aida", "Bertta", "Cecilia", "Daniela", "Elle", + "Erin", "Fiona", "Iita", "Inna", "Jasmiina", "Lila", "Luna", "Malla", "Meea", "Minka", + "Minni", "Neela", "Selina", "Unna", "Aamu", "Aava", "Aura", "Heini", "Hilla", "Hilja", + "Ilma", "Ilta", "Iiris", "Jasmin", "Kaisla", "Kaneli", +}); + +const auto finnishLastNames = std::to_array({ + "Mäkinen", "Virtanen", "Nieminen", "Korhonen", "Laine", "Koskinen", "Hämäläinen", "Lehtonen", + "Heikkinen", "Järvinen", "Lahtinen", "Mäkelä", "Huttunen", "Aalto", "Koivisto", "Salo", + "Kallio", "Rinne", "Lindholm", "Karjalainen", "Koskela", "Turunen", "Rantanen", "Laitinen", + "Jokinen", "Harju", "Vartiainen", "Hakala", "Kosonen", "Lampinen", "Rautio", "Peltola", + "Miettinen", "Savolainen", "Nurmi", "Niemelä", "Hakkarainen", "Laakso", "Kinnunen", "Mattila", + "Salmi", "Pekkanen", "Leinonen", "Ojala", "Kankaanpää", "Heikkilä", +}); + +const NameFormats finnishNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames finnishPeopleNames{{finnishMaleFirstNames, finnishLastNames, {}, {}}, + {finnishFemaleFirstNames, finnishLastNames, {}, {}}, + finnishNameFormats}; // France -extern const std::array frenchMaleFirstNames; -extern const std::array frenchFemaleFirstNames; -extern const std::array frenchLastNames; -extern const std::array frenchMalePrefixes; -extern const std::array frenchFemalePrefixes; -extern const NameFormats frenchNameFormats; -extern const PeopleNames frenchPeopleNames; +const auto frenchMaleFirstNames = std::to_array({ + "Aaron", "Abdon", "Abel", "Abélard", "Abelin", "Abondance", "Abraham", "Absalon", + "Acace", "Achaire", "Achille", "Adalard", "Adalbald", "Adalbéron", "Adalbert", "Adalric", + "Adam", "Adegrin", "Adel", "Adelin", "Adelphe", "Adenet", "Adéodat", "Adhémar", + "Adjutor", "Adolphe", "Adonis", "Adrien", "Agapet", "Agathange", "Agathon", "Agilbert", + "Agnan", "Agrippin", "Aimable", "Aimé", "Alain", "Alban", "Albéric", "Albert", + "Alcibiade", "Alcide", "Alcime", "Aldonce", "Aldric", "Aleaume", "Alexandre", "Alexis", + "Alix", "Alliaume", "Almine", "Almire", "Aloïs", "Alphée", "Alphonse", "Alpinien", + "Alverède", "Amalric", "Amandin", "Amant", "Ambroise", "Amédée", "Amélien", "Amiel", + "Amour", "Anaël", "Anastase", "Anatole", "Ancelin", "Andéol", "Andoche", "André", + "Ange", "Angilbe", "Angilran", "Angoustan", "Anicet", "Anne", "Annibal", "Ansbert", + "Anselme", "Anthelme", "Antide", "Antoine", "Antonin", "Apollinaire", "Aquilin", "Arcade", + "Archambaud", "Archange", "Archibald", "Arian", "Ariel", "Ariste", "Aristide", "Armand", + "Armel", "Armin", "Arnould", "Arnaud", "Arolde", "Arsène", "Arsinoé", "Arthaud", + "Arthème", "Arthur", "Ascelin", "Athanase", "Aubry", "Audebert", "Audouin", "Audran", + "Auguste", "Aurèle", "Aurian", "Auxence", "Axel", "Aymard", "Aymeric", "Aymon", + "Balthazar", "Baptiste", "Barnabé", "Barthélemy", "Bartimée", "Basile", "Bastien", "Baudouin", + "Bénigne", "Benjamin", "Benoît", "Béranger", "Bérard", "Bernard", "Bertrand", "Blaise", + "Bohémond", "Bon", "Boniface", "Bouchard", "Briac", "Brice", "Brieuc", "Bruno", + "Calixte", "Camélien", "Camille", "Camillien", "Candide", "Caribert", "Carloman", "Cassandre", + "Cassien", "Cédric", "Céleste", "Célestin", "Célien", "Césaire", "César", "Charles", + "Charlemagne", "Childebert", "Chilpéric", "Chrétien", "Christian", "Christodule", "Christophe", "Chrysole", + "Chrysostome", "Clarence", "Claude", "Claudien", "Cléandre", "Clément", "Cléry", "Clotaire", + "Clovis", "Colin", "Côme", "Constance", "Constant", "Constantin", "Corentin", "Cyprien", + "Cyriaque", "Cyrille", "Damien", "Daniel", "David", "Delphin", "Denis", "Désiré", + "Didier", "Dieudonné", "Dimitri", "Dominique", "Dorian", "Edgard", "Edmond", "Édouard", + "Éleuthère", "Élie", "Élisée", "Élzéar", "Émeric", "Émile", "Emmanuel", "Enguerrand", + "Épiphane", "Éric", "Ernest", "Étienne", "Eubert", "Eudes", "Eudoxe", "Eugène", + "Eusèbe", "Eustache", "Évariste", "Évrard", "Fabien", "Fabrice", "Falba", "Fantin", + "Félicité", "Félix", "Ferdinand", "Fiacre", "Fidèle", "Firmin", "Flavien", "Flodoard", + "Florent", "Florestan", "Florian", "Fortuné", "Foulques", "Francisque", "François", "Frédéric", + "Fulbert", "Fulcran", "Fulgence", "Gabin", "Gabriel", "Gaël", "Garnier", "Gaston", + "Gaspar", "Gaspard", "Gatien", "Gaud", "Gautier", "Gédéon", "Geoffroy", "Georges", + "Géraud", "Gérard", "Gerbert", "Germain", "Gervais", "Ghislain", "Gilbert", "Gilles", + "Girart", "Gislebert", "Gondebaud", "Gonthier", "Gontran", "Gonzague", "Grégoire", "Guérin", + "Gui", "Guillaume", "Gustave", "Guy", "Guyot", "Hardouin", "Hector", "Hédelin", + "Hélier", "Henri", "Herbert", "Herluin", "Hervé", "Hilaire", "Hildebert", "Hincmar", + "Hippolyte", "Honoré", "Hubert", "Hugues", "Innocent", "Isabeau", "Isidore", "Jacques", + "Japhet", "Jason", "Jean", "Jeannel", "Jeannot", "Jérémie", "Jérôme", "Joachim", + "Joanny", "Job", "Jocelyn", "Joël", "Johan", "Jonas", "Jonathan", "Joseph", + "Josse", "Josselin", "Jourdain", "Jude", "Judicaël", "Jules", "Julien", "Juste", + "Justin", "Lambert", "Landry", "Laurent", "Lazare", "Léandre", "Léon", "Léonard", + "Léopold", "Leu", "Leufroy", "Libère", "Liétald", "Lionel", "Loïc", "Longin", + "Lorrain", "Lothaire", "Louis", "Loup", "Luc", "Lucas", "Lucien", "Ludolphe", + "Ludovic", "Macaire", "Malo", "Mamert", "Manassé", "Marc", "Marceau", "Marcel", + "Marcelin", "Marius", "Martial", "Martin", "Mathurin", "Matthias", "Matthieu", "Maugis", + "Maurice", "Maxence", "Maxime", "Maximilien", "Mayeul", "Médéric", "Melchior", "Mence", + "Merlin", "Mérovée", "Michaël", "Michel", "Moïse", "Morgan", "Nathan", "Nathanaël", + "Narcisse", "Naudet", "Néhémie", "Nestor", "Nicéphore", "Nicolas", "Noé", "Noël", + "Norbert", "Normand", "Octave", "Odilon", "Odon", "Oger", "Olivier", "Oury", + "Pacôme", "Palémon", "Parfait", "Pascal", "Paterne", "Patrice", "Paul", "Pépin", + "Perceval", "Philémon", "Philibert", "Philippe", "Philothée", "Pie", "Pierre", "Pierrick", + "Prosper", "Quentin", "Raoul", "Raphaël", "Raymond", "Régis", "Réjean", "Rémi", + "Renaud", "René", "Reybaud", "Richard", "Robert", "Roch", "Rodolphe", "Rodrigue", + "Roger", "Roland", "Romain", "Romuald", "Roméo", "Ronan", "Roselin", "Rachid", + "Salomon", "Samuel", "Sauveur", "Savin", "Savinien", "Scholastique", "Sébastien", "Séraphin", + "Serge", "Séverin", "Sidoine", "Sigebert", "Sigismond", "Silvère", "Simon", "Sixte", + "Stanislas", "Stéphane", "Sylvain", "Sylvestre", "Tancrède", "Tanguy", "Taurin", "Théodore", + "Théodose", "Théophile", "Théophraste", "Thibault", "Thibert", "Thierry", "Thomas", "Timoléon", + "Timothée", "Titien", "Tonnin", "Toussaint", "Trajan", "Tristan", "Turold", "Tim", + "Ulysse", "Urbain", "Valentin", "Valère", "Valéry", "Venance", "Venceslas", "Vianney", + "Victor", "Victorien", "Victorin", "Vigile", "Vincent", "Vital", "Vivien", "Waleran", + "Wandrille", "Xavier", "Xénophon", "Yves", "Yoann", "Zacharie", "Zaché", "Zéphirin", +}); + +const auto frenchFemaleFirstNames = std::to_array({ + "Abdonie", "Abeline", "Abigaelle", "Abigaïl", "Acacie", "Acanthe", "Adalbaude", "Adalsinde", + "Adegrine", "Adélaïde", "Adèle", "Adélie", "Adeline", "Adeltrude", "Adolphie", "Adonise", + "Adrastée", "Adrehilde", "Adrienne", "Agathe", "Agilberte", "Aglaé", "Agnane", "Agneflète", + "Agnès", "Agrippine", "Aimée", "Alaine", "Alaïs", "Albane", "Albérade", "Alberte", + "Alcidie", "Alcine", "Alcyone", "Aldegonde", "Aleth", "Alexandrine", "Alexanne", "Alexine", + "Alice", "Aliénor", "Aliette", "Aline", "Alix", "Alizé", "Aloïse", "Aloyse", + "Alphonsine", "Althée", "Amaliane", "Amalthée", "Amande", "Amandine", "Amante", "Amarande", + "Amaranthe", "Amaryllis", "Ambre", "Ambroisie", "Améliane", "Amélie", "Ameline", "Améthyste", + "Aminte", "Anaëlle", "Anaïs", "Anastasie", "Anatolie", "Anceline", "Andrée", "Anémone", + "Angadrême", "Angèle", "Angeline", "Angélina", "Angélique", "Angilberte", "Anicée", "Anicette", + "Annabelle", "Anne", "Annette", "Annonciade", "Ansberte", "Anstrudie", "Anthelmette", "Antigone", + "Antoinette", "Antonine", "Aphélie", "Apolline", "Aquiline", "Arabelle", "Arcadie", "Archange", + "Argine", "Ariane", "Aricie", "Ariel", "Arielle", "Arlette", "Armance", "Armande", + "Armandine", "Armeline", "Armide", "Armelle", "Armine", "Arnaude", "Arsènie", "Arsinoé", + "Artémis", "Arthurine", "Asceline", "Ascension", "Assomption", "Astarté", "Astérie", "Astrée", + "Astride", "Athalie", "Athanasie", "Athénaïs", "Athina", "Aube", "Aubertine", "Aude", + "Audeline", "Audrey", "Augustine", "Aure", "Aurélie", "Aurélienne", "Aurelle", "Auriane", + "Aurore", "Auxane", "Aveline", "Avigaëlle", "Avoye", "Axeline", "Axelle", "Aymardine", + "Aymonde", "Azalée", "Azélie", "Azeline", "Barbe", "Basilisse", "Bathilde", "Béatrice", + "Bénédicte", "Bérangère", "Bernadette", "Berthe", "Bertille", "Betty", "Beuve", "Blanche", + "Blandine", "Brigitte", "Brunehaut", "Brunehilde", "Camille", "Capucine", "Carine", "Caroline", + "Cassandre", "Catherine", "Cécile", "Céleste", "Célestine", "Céline", "Chantal", "Charlaine", + "Charline", "Charlotte", "Chloé", "Christelle", "Christiane", "Christine", "Claire", "Clara", + "Claude", "Claudine", "Clarisse", "Clélie", "Clémence", "Clémentine", "Clio", "Clotilde", + "Coline", "Conception", "Constance", "Coralie", "Coraline", "Corentine", "Corinne", "Cyrielle", + "Danielle", "Daphné", "Débora", "Delphine", "Denise", "Diane", "Dieudonnée", "Dominique", + "Doriane", "Dorine", "Dorothée", "Douce", "Édith", "Edmée", "Éléonore", "Éliane", + "Élia", "Élisabeth", "Élise", "Ella", "Élodie", "Éloïse", "Elsa", "Émeline", + "Émérance", "Émérencie", "Émilie", "Emma", "Emmanuelle", "Emmelie", "Ernestine", "Esther", + "Estelle", "Eudoxie", "Eugénie", "Eulalie", "Euphrasie", "Eusébie", "Évangéline", "Eva", + "Ève", "Évelyne", "Fanny", "Fantine", "Faustine", "Félicie", "Frédérique", "Flavie", + "Fleur", "Flore", "Florence", "Florie", "Fortunée", "France", "Francette", "Francia", + "Françoise", "Francine", "Gabrielle", "Gaëlle", "Garance", "Geneviève", "Georgette", "Gerberge", + "Germaine", "Gertrude", "Gisèle", "Guenièvre", "Guilhemine", "Guillemette", "Gustavine", "Gwenaëlle", + "Hélène", "Héloïse", "Henriette", "Hermine", "Hippolyte", "Honorine", "Hortense", "Huguette", + "Inès", "Irène", "Irina", "Iris", "Isabeau", "Isabelle", "Iseult", "Ismérie", + "Jacinthe", "Jacqueline", "Jade", "Janine", "Jeanne", "Jeanne d’Arc", "Jehanne", "Jocelyne", + "Joëlle", "Joséphine", "Judith", "Julia", "Julie", "Juliette", "Justine", "Laura", + "Laurane", "Laure", "Laureline", "Laurence", "Laurène", "Lauriane", "Laurine", "Léa", + "Léna", "Léopoldine", "Léonie", "Léonne", "Lorraine", "Lucie", "Lucienne", "Lucille", + "Ludivine", "Lydie", "Mégane", "Madeleine", "Magali", "Maguelone", "Mahaut", "Mallaury", + "Manon", "Marceline", "Margot", "Marguerite", "Marianne", "Marie", "Marine", "Marion", + "Marlène", "Marthe", "Martine", "Mathilde", "Maud", "Maureen", "Mauricette", "Maxellende", + "Maxime", "Mélanie", "Mélissa", "Mélissandre", "Mélisande", "Mélodie", "Michèle", "Mireille", + "Miriam", "Moïsette", "Monique", "Morgane", "Muriel", "Mylène", "Nadège", "Nadine", + "Nathalie", "Nicole", "Nine", "Noëlle", "Noémie", "Océane", "Odette", "Odile", + "Olive", "Olympe", "Ombline", "Ophélie", "Oriande", "Oriane", "Orlane", "Ozanne", + "Pascale", "Paule", "Paulette", "Pauline", "Priscille", "Pécine", "Pélagie", "Pénélope", + "Perrine", "Pétronille", "Philippine", "Philomène", "Philothée", "Primerose", "Prudence", "Pulchérie", + "Quentine", "Quiéta", "Quintia", "Rachel", "Raphaëlle", "Raymonde", "Rebecca", "Régine", + "Reine", "Réjeanne", "Renée", "Rita", "Rolande", "Romane", "Rosalie", "Rose", + "Roseline", "Sabine", "Salomé", "Sandra", "Sandrine", "Sarah", "Scholastique", "Ségolène", + "Séverine", "Sibylle", "Simone", "Sixtine", "Solange", "Soline", "Sophie", "Stéphanie", + "Suzanne", "Suzon", "Sylviane", "Sylvie", "Swassane", "Tatiana", "Thaïs", "Théodora", + "Thérèse", "Tiphaine", "Ursule", "Valentine", "Valérie", "Véronique", "Victoire", "Vinciane", + "Violette", "Virginie", "Viviane", "Xavière", "Yolande", "Ysaline", "Yseult", "Yvette", + "Yvonne", "Zoé", "Zoéva", +}); + +const auto frenchLastNames = std::to_array({ + "Martin", "Bernard", "Dubois", "Thomas", "Robert", "Richard", "Petit", "Durand", "Leroy", + "Moreau", "Simon", "Laurent", "Lefebvre", "Michel", "Garcia", "David", "Bertrand", "Roux", + "Vincent", "Fournier", "Morel", "Girard", "Andre", "Lefevre", "Mercier", "Dupont", "Lambert", + "Bonnet", "Francois", "Martinez", "Legrand", "Garnier", "Faure", "Rousseau", "Blanc", "Guerin", + "Muller", "Henry", "Roussel", "Nicolas", "Perrin", "Morin", "Mathieu", "Clement", "Gauthier", + "Dumont", "Lopez", "Fontaine", "Chevalier", "Robin", "Masson", "Sanchez", "Gerard", "Nguyen", + "Boyer", "Denis", "Lemaire", "Duval", "Joly", "Gautier", "Roger", "Roche", "Roy", + "Noel", "Meyer", "Lucas", "Meunier", "Jean", "Perez", "Marchand", "Dufour", "Blanchard", + "Marie", "Barbier", "Brun", "Dumas", "Brunet", "Schmitt", "Leroux", "Colin", "Fernandez", + "Pierre", "Renard", "Arnaud", "Rolland", "Caron", "Aubert", "Giraud", "Leclerc", "Vidal", + "Bourgeois", "Renaud", "Lemoine", "Picard", "Gaillard", "Philippe", "Leclercq", "Lacroix", "Fabre", + "Dupuis", "Olivier", "Rodriguez", "Da silva", "Hubert", "Louis", "Charles", "Guillot", "Riviere", + "Le gall", "Guillaume", "Adam", "Rey", "Moulin", "Gonzalez", "Berger", "Lecomte", "Menard", + "Fleury", "Deschamps", "Carpentier", "Julien", "Benoit", "Paris", "Maillard", "Marchal", "Aubry", + "Vasseur", "Le roux", "Renault", "Jacquet", "Collet", "Prevost", "Poirier", "Charpentier", "Royer", + "Huet", "Baron", "Dupuy", "Pons", "Paul", "Laine", "Carre", "Breton", "Remy", + "Schneider", "Perrot", "Guyot", "Barre", "Marty", "Cousin", +}); + +const auto frenchMalePrefixes = std::to_array({"M", "Dr", "Prof"}); + +const auto frenchFemalePrefixes = std::to_array({"Mme", "Mlle", "Dr", "Prof"}); + +const NameFormats frenchNameFormats{{{"{prefix} {firstName} {lastName}", 2}, {"{firstName} {lastName}", 8}}}; + +const PeopleNames frenchPeopleNames{{frenchMaleFirstNames, frenchLastNames, frenchMalePrefixes, {}}, + {frenchFemaleFirstNames, frenchLastNames, frenchFemalePrefixes, {}}, + frenchNameFormats}; // Germany -extern const std::array germanMaleFirstNames; -extern const std::array germanFemaleFirstNames; -extern const std::array germanLastNames; -extern const std::array germanMalePrefixes; -extern const std::array germanFemalePrefixes; -extern const NameFormats germanNameFormats; -extern const PeopleNames germanPeopleNames; +const auto germanMaleFirstNames = std::to_array({ + "Aaron", "Abdul", "Abdullah", "Adam", "Adrian", "Adriano", "Ahmad", "Ahmed", + "Ahmet", "Alan", "Albert", "Alessandro", "Alessio", "Alex", "Alexander", "Alfred", + "Ali", "Amar", "Amir", "Amon", "Andre", "Andreas", "Andrew", "Angelo", + "Ansgar", "Anthony", "Anton", "Antonio", "Arda", "Arian", "Armin", "Arne", + "Arno", "Arthur", "Artur", "Arved", "Arvid", "Ayman", "Baran", "Baris", + "Bastian", "Batuhan", "Bela", "Ben", "Benedikt", "Benjamin", "Bennet", "Bennett", + "Benno", "Bent", "Berat", "Berkay", "Bernd", "Bilal", "Bjarne", "Björn", + "Bo", "Boris", "Brandon", "Brian", "Bruno", "Bryan", "Burak", "Calvin", + "Can", "Carl", "Carlo", "Carlos", "Caspar", "Cedric", "Cedrik", "Cem", + "Charlie", "Chris", "Christian", "Christiano", "Christoph", "Christopher", "Claas", "Clemens", + "Colin", "Collin", "Conner", "Connor", "Constantin", "Corvin", "Curt", "Damian", + "Damien", "Daniel", "Danilo", "Danny", "Darian", "Dario", "Darius", "Darren", + "David", "Davide", "Davin", "Dean", "Deniz", "Dennis", "Denny", "Devin", + "Diego", "Dion", "Domenic", "Domenik", "Dominic", "Dominik", "Dorian", "Dustin", + "Dylan", "Ecrin", "Eddi", "Eddy", "Edgar", "Edwin", "Efe", "Ege", + "Elia", "Eliah", "Elias", "Elijah", "Emanuel", "Emil", "Emilian", "Emilio", + "Emir", "Emirhan", "Emre", "Enes", "Enno", "Enrico", "Eren", "Eric", + "Erik", "Etienne", "Fabian", "Fabien", "Fabio", "Fabrice", "Falk", "Felix", + "Ferdinand", "Fiete", "Filip", "Finlay", "Finley", "Finn", "Finnley", "Florian", + "Francesco", "Franz", "Frederic", "Frederick", "Frederik", "Friedrich", "Fritz", "Furkan", + "Fynn", "Gabriel", "Georg", "Gerrit", "Gian", "Gianluca", "Gino", "Giuliano", + "Giuseppe", "Gregor", "Gustav", "Hagen", "Hamza", "Hannes", "Hanno", "Hans", + "Hasan", "Hassan", "Hauke", "Hendrik", "Hennes", "Henning", "Henri", "Henrick", + "Henrik", "Henry", "Hugo", "Hussein", "Ian", "Ibrahim", "Ilias", "Ilja", + "Ilyas", "Immanuel", "Ismael", "Ismail", "Ivan", "Iven", "Jack", "Jacob", + "Jaden", "Jakob", "Jamal", "James", "Jamie", "Jan", "Janek", "Janis", + "Janne", "Jannek", "Jannes", "Jannik", "Jannis", "Jano", "Janosch", "Jared", + "Jari", "Jarne", "Jarno", "Jaron", "Jason", "Jasper", "Jay", "Jayden", + "Jayson", "Jean", "Jens", "Jeremias", "Jeremie", "Jeremy", "Jermaine", "Jerome", + "Jesper", "Jesse", "Jim", "Jimmy", "Joe", "Joel", "Joey", "Johann", + "Johannes", "John", "Johnny", "Jon", "Jona", "Jonah", "Jonas", "Jonathan", + "Jonte", "Joost", "Jordan", "Joris", "Joscha", "Joschua", "Josef", "Joseph", + "Josh", "Joshua", "Josua", "Juan", "Julian", "Julien", "Julius", "Juri", + "Justin", "Justus", "Kaan", "Kai", "Kalle", "Karim", "Karl", "Karlo", + "Kay", "Keanu", "Kenan", "Kenny", "Keno", "Kerem", "Kerim", "Kevin", + "Kian", "Kilian", "Kim", "Kimi", "Kjell", "Klaas", "Klemens", "Konrad", + "Konstantin", "Koray", "Korbinian", "Kurt", "Lars", "Lasse", "Laurence", "Laurens", + "Laurenz", "Laurin", "Lean", "Leander", "Leandro", "Leif", "Len", "Lenn", + "Lennard", "Lennart", "Lennert", "Lennie", "Lennox", "Lenny", "Leo", "Leon", + "Leonard", "Leonardo", "Leonhard", "Leonidas", "Leopold", "Leroy", "Levent", "Levi", + "Levin", "Lewin", "Lewis", "Liam", "Lian", "Lias", "Lino", "Linus", + "Lio", "Lion", "Lionel", "Logan", "Lorenz", "Lorenzo", "Loris", "Louis", + "Luan", "Luc", "Luca", "Lucas", "Lucian", "Lucien", "Ludwig", "Luis", + "Luiz", "Luk", "Luka", "Lukas", "Luke", "Lutz", "Maddox", "Mads", + "Magnus", "Maik", "Maksim", "Malik", "Malte", "Manuel", "Marc", "Marcel", + "Marco", "Marcus", "Marek", "Marian", "Mario", "Marius", "Mark", "Marko", + "Markus", "Marlo", "Marlon", "Marten", "Martin", "Marvin", "Marwin", "Mateo", + "Mathis", "Matis", "Mats", "Matteo", "Mattes", "Matthias", "Matthis", "Matti", + "Mattis", "Maurice", "Max", "Maxim", "Maximilian", "Mehmet", "Meik", "Melvin", + "Merlin", "Mert", "Michael", "Michel", "Mick", "Miguel", "Mika", "Mikail", + "Mike", "Milan", "Milo", "Mio", "Mirac", "Mirco", "Mirko", "Mohamed", + "Mohammad", "Mohammed", "Moritz", "Morten", "Muhammed", "Murat", "Mustafa", "Nathan", + "Nathanael", "Nelson", "Neo", "Nevio", "Nick", "Niclas", "Nico", "Nicolai", + "Nicolas", "Niels", "Nikita", "Niklas", "Niko", "Nikolai", "Nikolas", "Nils", + "Nino", "Noah", "Noel", "Norman", "Odin", "Oke", "Ole", "Oliver", + "Omar", "Onur", "Oscar", "Oskar", "Pascal", "Patrice", "Patrick", "Paul", + "Peer", "Pepe", "Peter", "Phil", "Philip", "Philipp", "Pierre", "Piet", + "Pit", "Pius", "Quentin", "Quirin", "Rafael", "Raik", "Ramon", "Raphael", + "Rasmus", "Raul", "Rayan", "René", "Ricardo", "Riccardo", "Richard", "Rick", + "Rico", "Robert", "Robin", "Rocco", "Roman", "Romeo", "Ron", "Ruben", + "Ryan", "Said", "Salih", "Sam", "Sami", "Sammy", "Samuel", "Sandro", + "Santino", "Sascha", "Sean", "Sebastian", "Selim", "Semih", "Shawn", "Silas", + "Simeon", "Simon", "Sinan", "Sky", "Stefan", "Steffen", "Stephan", "Steve", + "Steven", "Sven", "Sönke", "Sören", "Taha", "Tamino", "Tammo", "Tarik", + "Tayler", "Taylor", "Teo", "Theo", "Theodor", "Thies", "Thilo", "Thomas", + "Thorben", "Thore", "Thorge", "Tiago", "Til", "Till", "Tillmann", "Tim", + "Timm", "Timo", "Timon", "Timothy", "Tino", "Titus", "Tizian", "Tjark", + "Tobias", "Tom", "Tommy", "Toni", "Tony", "Torben", "Tore", "Tristan", + "Tyler", "Tyron", "Umut", "Valentin", "Valentino", "Veit", "Victor", "Viktor", + "Vin", "Vincent", "Vito", "Vitus", "Wilhelm", "Willi", "William", "Willy", + "Xaver", "Yannic", "Yannick", "Yannik", "Yannis", "Yasin", "Youssef", "Yunus", + "Yusuf", "Yven", "Yves", "Ömer", +}); + +const auto germanFemaleFirstNames = std::to_array({ + "Aaliyah", "Abby", "Abigail", "Ada", "Adelina", "Adriana", "Aileen", "Aimee", + "Alana", "Alea", "Alena", "Alessa", "Alessia", "Alexa", "Alexandra", "Alexia", + "Alexis", "Aleyna", "Alia", "Alica", "Alice", "Alicia", "Alina", "Alisa", + "Alisha", "Alissa", "Aliya", "Aliyah", "Allegra", "Alma", "Alyssa", "Amalia", + "Amanda", "Amelia", "Amelie", "Amina", "Amira", "Amy", "Ana", "Anabel", + "Anastasia", "Andrea", "Angela", "Angelina", "Angelique", "Anja", "Ann", "Anna", + "Annabel", "Annabell", "Annabelle", "Annalena", "Anne", "Anneke", "Annelie", "Annemarie", + "Anni", "Annie", "Annika", "Anny", "Anouk", "Antonia", "Arda", "Ariana", + "Ariane", "Arwen", "Ashley", "Asya", "Aurelia", "Aurora", "Ava", "Ayleen", + "Aylin", "Ayse", "Azra", "Betty", "Bianca", "Bianka", "Caitlin", "Cara", + "Carina", "Carla", "Carlotta", "Carmen", "Carolin", "Carolina", "Caroline", "Cassandra", + "Catharina", "Catrin", "Cecile", "Cecilia", "Celia", "Celina", "Celine", "Ceyda", + "Ceylin", "Chantal", "Charleen", "Charlotta", "Charlotte", "Chayenne", "Cheyenne", "Chiara", + "Christin", "Christina", "Cindy", "Claire", "Clara", "Clarissa", "Colleen", "Collien", + "Cora", "Corinna", "Cosima", "Dana", "Daniela", "Daria", "Darleen", "Defne", + "Delia", "Denise", "Diana", "Dilara", "Dina", "Dorothea", "Ecrin", "Eda", + "Eileen", "Ela", "Elaine", "Elanur", "Elea", "Elena", "Eleni", "Eleonora", + "Eliana", "Elif", "Elina", "Elisa", "Elisabeth", "Ella", "Ellen", "Elli", + "Elly", "Elsa", "Emelie", "Emely", "Emilia", "Emilie", "Emily", "Emma", + "Emmely", "Emmi", "Emmy", "Enie", "Enna", "Enya", "Esma", "Estelle", + "Esther", "Eva", "Evelin", "Evelina", "Eveline", "Evelyn", "Fabienne", "Fatima", + "Fatma", "Felicia", "Felicitas", "Felina", "Femke", "Fenja", "Fine", "Finia", + "Finja", "Finnja", "Fiona", "Flora", "Florentine", "Francesca", "Franka", "Franziska", + "Frederike", "Freya", "Frida", "Frieda", "Friederike", "Giada", "Gina", "Giulia", + "Giuliana", "Greta", "Hailey", "Hana", "Hanna", "Hannah", "Heidi", "Helen", + "Helena", "Helene", "Helin", "Henriette", "Henrike", "Hermine", "Ida", "Ilayda", + "Imke", "Ina", "Ines", "Inga", "Inka", "Irem", "Isa", "Isabel", + "Isabell", "Isabella", "Isabelle", "Ivonne", "Jacqueline", "Jamie", "Jamila", "Jana", + "Jane", "Janin", "Janina", "Janine", "Janna", "Janne", "Jara", "Jasmin", + "Jasmina", "Jasmine", "Jella", "Jenna", "Jennifer", "Jenny", "Jessica", "Jessy", + "Jette", "Jil", "Jill", "Joana", "Joanna", "Joelina", "Joeline", "Joelle", + "Johanna", "Joleen", "Jolie", "Jolien", "Jolin", "Jolina", "Joline", "Jona", + "Jonah", "Jonna", "Josefin", "Josefine", "Josephin", "Josephine", "Josie", "Josy", + "Joy", "Joyce", "Judith", "Judy", "Jule", "Julia", "Juliana", "Juliane", + "Julie", "Julienne", "Julika", "Julina", "Juna", "Justine", "Kaja", "Karina", + "Karla", "Karlotta", "Karolina", "Karoline", "Kassandra", "Katarina", "Katharina", "Kathrin", + "Katja", "Katrin", "Kaya", "Kayra", "Kiana", "Kiara", "Kim", "Kimberley", + "Kimberly", "Kira", "Klara", "Korinna", "Kristin", "Kyra", "Laila", "Lana", + "Lara", "Larissa", "Laura", "Laureen", "Lavinia", "Lea", "Leah", "Leana", + "Leandra", "Leann", "Lee", "Leila", "Lena", "Lene", "Leni", "Lenia", + "Lenja", "Lenya", "Leona", "Leoni", "Leonie", "Leonora", "Leticia", "Letizia", + "Levke", "Leyla", "Lia", "Liah", "Liana", "Lili", "Lilia", "Lilian", + "Liliana", "Lilith", "Lilli", "Lillian", "Lilly", "Lily", "Lina", "Linda", + "Lindsay", "Line", "Linn", "Linnea", "Lisa", "Lisann", "Lisanne", "Liv", + "Livia", "Liz", "Lola", "Loreen", "Lorena", "Lotta", "Lotte", "Louisa", + "Louise", "Luana", "Luca", "Lucia", "Lucie", "Lucienne", "Lucy", "Luisa", + "Luise", "Luka", "Luna", "Luzie", "Lya", "Lydia", "Lyn", "Lynn", + "Madeleine", "Madita", "Madleen", "Madlen", "Magdalena", "Maike", "Mailin", "Maira", + "Maja", "Malena", "Malia", "Malin", "Malina", "Mandy", "Mara", "Marah", + "Mareike", "Maren", "Maria", "Mariam", "Marie", "Marieke", "Mariella", "Marika", + "Marina", "Marisa", "Marissa", "Marit", "Marla", "Marleen", "Marlen", "Marlena", + "Marlene", "Marta", "Martha", "Mary", "Maryam", "Mathilda", "Mathilde", "Matilda", + "Maxi", "Maxima", "Maxine", "Maya", "Mayra", "Medina", "Medine", "Meike", + "Melanie", "Melek", "Melike", "Melina", "Melinda", "Melis", "Melisa", "Melissa", + "Merle", "Merve", "Meryem", "Mette", "Mia", "Michaela", "Michelle", "Mieke", + "Mila", "Milana", "Milena", "Milla", "Mina", "Mira", "Miray", "Miriam", + "Mirja", "Mona", "Monique", "Nadine", "Nadja", "Naemi", "Nancy", "Naomi", + "Natalia", "Natalie", "Nathalie", "Neele", "Nela", "Nele", "Nelli", "Nelly", + "Nia", "Nicole", "Nika", "Nike", "Nikita", "Nila", "Nina", "Nisa", + "Noemi", "Nora", "Olivia", "Patricia", "Patrizia", "Paula", "Paulina", "Pauline", + "Penelope", "Philine", "Phoebe", "Pia", "Rahel", "Rania", "Rebecca", "Rebekka", + "Riana", "Rieke", "Rike", "Romina", "Romy", "Ronja", "Rosa", "Rosalie", + "Ruby", "Sabrina", "Sahra", "Sally", "Salome", "Samantha", "Samia", "Samira", + "Sandra", "Sandy", "Sanja", "Saphira", "Sara", "Sarah", "Saskia", "Selin", + "Selina", "Selma", "Sena", "Sidney", "Sienna", "Silja", "Sina", "Sinja", + "Smilla", "Sofia", "Sofie", "Sonja", "Sophia", "Sophie", "Soraya", "Stefanie", + "Stella", "Stephanie", "Stina", "Sude", "Summer", "Susanne", "Svea", "Svenja", + "Sydney", "Tabea", "Talea", "Talia", "Tamara", "Tamia", "Tamina", "Tanja", + "Tara", "Tarja", "Teresa", "Tessa", "Thalea", "Thalia", "Thea", "Theresa", + "Tia", "Tina", "Tomke", "Tuana", "Valentina", "Valeria", "Valerie", "Vanessa", + "Vera", "Veronika", "Victoria", "Viktoria", "Viola", "Vivian", "Vivien", "Vivienne", + "Wibke", "Wiebke", "Xenia", "Yara", "Yaren", "Yasmin", "Ylvi", "Ylvie", + "Yvonne", "Zara", "Zehra", "Zeynep", "Zoe", "Zoey", "Zoé", +}); + +const auto germanLastNames = std::to_array({ + "Abel", + "Abicht", + "Abraham", + "Abramovic", + "Abt", + "Achilles", + "Achkinadze", + "Ackermann", + "Adam", + "Adams", + "Ade", + "Agostini", + "Ahlke", + "Ahrenberg", + "Ahrens", + "Aigner", + "Albert", + "Albrecht", + "Alexa", + "Alexander", + "Alizadeh", + "Allgeyer", + "Amann", + "Amberg", + "Anding", + "Anggreny", + "Apitz", + "Arendt", + "Arens", + "Arndt", + "Aryee", + "Aschenbroich", + "Assmus", + "Astafei", + "Auer", + "Axmann", + "Baarck", + "Bachmann", + "Badane", + "Bader", + "Baganz", + "Bahl", + "Bak", + "Balcer", + "Balck", + "Balkow", + "Balnuweit", + "Balzer", + "Banse", + "Barr", + "Bartels", + "Barth", + "Barylla", + "Baseda", + "Battke", + "Bauer", + "Bauermeister", + "Baumann", + "Baumeister", + "Bauschinger", + "Bauschke", + "Bayer", + "Beavogui", + "Beck", + "Beckel", + "Becker", + "Beckmann", + "Bedewitz", + "Beele", + "Beer", + "Beggerow", + "Beh", + "Behr", + "Behrenbruch", + "Belz", + "Bender", + "Benecke", + "Benner", + "Benninger", + "Benzing", + "Berends", + "Berger", + "Berner", + "Berning", + "Bertenbreiter", + "Best", + "Bethke", + "Betz", + "Beushausen", + "Beutelspacher", + "Beyer", + "Biba", + "Bichler", + "Bickel", + "Biedermann", + "Bieler", + "Bielert", + "Bienasch", + "Bienias", + "Biesenbach", + "Bigdeli", + "Birkemeyer", + "Bittner", + "Blank", + "Blaschek", + "Blassneck", + "Bloch", + "Blochwitz", + "Blockhaus", + "Blum", + "Blume", + "Bock", + "Bode", + "Bogdashin", + "Bogenrieder", + "Bohge", + "Bolm", + "Borgschulze", + "Bork", + "Bormann", + "Bornscheuer", + "Borrmann", + "Borsch", + "Boruschewski", + "Bos", + "Bosler", + "Bourrouag", + "Bouschen", + "Boxhammer", + "Boyde", + "Bozsik", + "Brand", + "Brandenburg", + "Brandis", + "Brandt", + "Brauer", + "Braun", + "Brehmer", + "Breitenstein", + "Bremer", + "Bremser", + "Brenner", + "Brettschneider", + "Breu", + "Breuer", + "Briesenick", + "Bringmann", + "Brinkmann", + "Brix", + "Broening", + "Brosch", + "Bruckmann", + "Bruder", + "Bruhns", + "Brunner", + "Bruns", + "Bräutigam", + "Brömme", + "Brüggmann", + "Buchholz", + "Buchrucker", + "Buder", + "Bultmann", + "Bunjes", + "Burger", + "Burghagen", + "Burkhard", + "Burkhardt", + "Burmeister", + "Busch", + "Buschbaum", + "Busemann", + "Buss", + "Busse", + "Bussmann", + "Byrd", + "Bäcker", + "Böhm", + "Bönisch", + "Börgeling", + "Börner", + "Böttner", + "Büchele", + "Bühler", + "Büker", + "Büngener", + "Bürger", + "Bürklein", + "Büscher", + "Büttner", + "Camara", + "Carlowitz", + "Carlsohn", + "Caspari", + "Caspers", + "Chapron", + "Christ", + "Cierpinski", + "Clarius", + "Cleem", + "Cleve", + "Co", + "Conrad", + "Cordes", + "Cornelsen", + "Cors", + "Cotthardt", + "Crews", + "Cronjäger", + "Crosskofp", + "Da", + "Dahm", + "Dahmen", + "Daimer", + "Damaske", + "Danneberg", + "Danner", + "Daub", + "Daubner", + "Daudrich", + "Dauer", + "Daum", + "Dauth", + "Dautzenberg", + "De", + "Decker", + "Deckert", + "Deerberg", + "Dehmel", + "Deja", + "Delonge", + "Demut", + "Dengler", + "Denner", + "Denzinger", + "Derr", + "Dertmann", + "Dethloff", + "Deuschle", + "Dieckmann", + "Diedrich", + "Diekmann", + "Dienel", + "Dies", + "Dietrich", + "Dietz", + "Dietzsch", + "Diezel", + "Dilla", + "Dingelstedt", + "Dippl", + "Dittmann", + "Dittmar", + "Dittmer", + "Dix", + "Dobbrunz", + "Dobler", + "Dohring", + "Dolch", + "Dold", + "Dombrowski", + "Donie", + "Doskoczynski", + "Dragu", + "Drechsler", + "Drees", + "Dreher", + "Dreier", + "Dreissigacker", + "Dressler", + "Drews", + "Duma", + "Dutkiewicz", + "Dyett", + "Dylus", + "Dächert", + "Döbel", + "Döring", + "Dörner", + "Dörre", + "Dück", + "Eberhard", + "Eberhardt", + "Ecker", + "Eckhardt", + "Edorh", + "Effler", + "Eggenmueller", + "Ehm", + "Ehmann", + "Ehrig", + "Eich", + "Eifert", + "Einert", + "Eisenlauer", + "Ekpo", + "Elbe", + "Eleyth", + "Elss", + "Emert", +}); + +const auto germanMalePrefixes = std::to_array({"Herr", "Dr.", "Prof. Dr."}); + +const auto germanFemalePrefixes = std::to_array({"Frau", "Dr.", "Prof. Dr."}); + +const NameFormats germanNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 8}}}; + +const PeopleNames germanPeopleNames{{germanMaleFirstNames, germanLastNames, germanMalePrefixes, {}}, + {germanFemaleFirstNames, germanLastNames, germanFemalePrefixes, {}}, + germanNameFormats}; // Ghana -extern const std::array ghanaianMaleFirstNames; -extern const std::array ghanaianFemaleFirstNames; -extern const std::array ghanaianLastNames; -extern const NameFormats ghanaianNameFormats; -extern const PeopleNames ghanaianPeopleNames; +const auto ghanaianMaleFirstNames = std::to_array({ + "Aaron", "Abeiku", "Adam", "Adrian", "Akwesi", "Albert", "Alex", + "Alexander", "Andrew", "Anthony", "Antony", "Arthur", "Ben", "Benjamin", + "Bernard", "Bless", "Blessing", "Bruce", "Carl", "Charles", "Christian", + "Clifford", "Colins", "Daniel", "Danny", "David", "Denis", "Dennis", + "Derrick", "Dominic", "Donald", "Douglas", "Duncan", "Edward", "Ekow", + "Elliot", "Elliott", "Eyram", "Eric", "Fiifi", "Francis", "Frank", + "Frederick", "George", "Gerald", "Gordon", "Graham", "Gregory", "Harry", + "Henry", "Howard", "Isaac", "Akwasi", "Jack", "Jacob", "Jake", + "James", "Jason", "Jeffrey", "Jeremy", "Joe", "Joel", "John", + "Jonathan", "Joojo", "Joseph", "Josh", "Joshua", "Josiah", "Julian", + "Justin", "Karl", "Kenneth", "Kevin", "Kofi", "Kojo", "Kujoe", + "Kwabena", "Kwadwo", "Kwaku", "Kwame", "Kwamena", "Kwasi", "Kweku", + "Kwesi", "Kyle", "Lawrence", "Leslie", "Louis", "Luke", "Malcolm", + "Marcus", "Mark", "Martin", "Mathew", "Matthew", "Max", "Michael", + "Nathan", "Nicholas", "Nigel", "Oliver", "Patrick", "Paul", "Peter", + "Philip", "Phillip", "Promise", "Raymond", "Richard", "Robert", "Roger", + "Ronald", "Russell", "Sam", "Samuel", "Shaun", "Simon", "Stanley", + "Stephen", "Steven", "Terence", "Thomas", "Timothy", "Thank God", "Thy Will Be Done", + "Tom", "Tony", "Victor", "Vincent", "William", "Yaw", +}); + +const auto ghanaianFemaleFirstNames = std::to_array({ + "Aba", "Abena", "Abigail", "Adwoa", "Afia", "Afua", "Akos", "Akofa", "Akorfa", + "Akosua", "Akua", "Akumaa", "Alice", "Ama", "Amanda", "Amber", "Amelia", "Angela", + "Ann", "Annette", "Awesi", "Baaba", "Barbara", "Beatrice", "COmfort", "Caroline", "Catherine", + "Charlotte", "Christina", "Comfort", "Constance", "Danielle", "Deborah", "Debra", "Denise", "Dora", + "Dorcas", "Dorothy", "Eliabeth", "Elizabeth", "Emily", "Emma", "Ernestina", "Esi", "Eunice", + "Eyram", "Felicia", "Francesca", "Gemma", "Georgia", "Georgina", "Gifty", "Grace", "Hannabel", + "Hannah", "Harriet", "Helen", "Irene", "Janet", "Janice", "Jasmine", "Jennifer", "Jessica", + "Jill", "Joanna", "Josephine", "Joyce", "Judith", "Julia", "Juliana", "Julie", "Karen", + "Kate", "Katherine", "Katy", "Lawrencia", "Linda", "Lisa", "Lorraine", "Lucy", "Lydia", + "Mandy", "Margaret", "Maria", "Marian", "Marilyn", "Mary", "Maureen", "Mawuena", "Mawusi", + "Michelle", "Millicent", "Nana Ama", "Naomi", "Natalie", "Natasha", "Nicola", "Nimakoah", "Olivia", + "Pamela", "Patricia", "Paula", "Priscilla", "Rachael", "Rachel", "Rebecca", "Regina", "Rita", + "Roselyn", "Rosemary", "Ruth", "Salomey", "Samantha", "Sandra", "Sarah", "Sena", "Sharon", + "Sheila", "Shirley", "Stephanie", "Susan", "Sylvia", "Teresa", "Tina", "Tracy", "Vanessa", + "Veronica", "Victoria", "Vida", "Wendy", "Yaa", "Yvonne", +}); + +const auto ghanaianLastNames = std::to_array({ + "Acheampong", "Adadevoh", "Adomah", "Adomako", "Adongo", "Adu", "Adusei", "Adutwum", "Afirifa", + "Afoakwa", "Agyapong", "Agyare", "Agyei", "Agyemang", "Ahortor", "Akoto", "Akowua", "Akyeamfuɔ", + "Akyeampong", "Akyena", "Akyerεko", "Amo", "Amoa", "Amoako", "Amoasi", "Ampadu", "Ampofo", + "Amponsah", "Andorful", "Ankra", "Anokye", "Ansa", "Antwi", "Appia", "Appiah", "Asamoa", + "Asamoah", "Asante", "Asare", "Asenso", "Asiama", "Asiedu", "Ata", "Awuah", "Baa", + "Baafi", "Baah", "Baawia", "Badu", "Boadi", "Boadu", "Boahen", "Boakye", "Boaten", + "Boateng", "Bona", "Bonsra", "Bonsu", "Daako", "Danso", "Darko", "Darteh", "Dartey", + "Djokoto", "Donkor", "Duah", "Dwamena", "Dzokoto", "Fofie", "Fosu", "Gyamfi", "Gyasi", + "Karikari", "Koomson", "Kumi", "Kusi", "Kwaakye", "Kwarteng", "Kyei", "Mensa", "Mensah", + "Nkansa", "Nkansah", "Nkrumah", "Nsia", "Nti", "Ntiamoa", "Ntim", "Nyaako", "Nyame", + "Nyantakyi", "Obeng", "Ofori", "Ofosu", "Okyere", "Okpattah", "Omani", "Opoku", "Oppong", + "Opuku", "Osei", "Oti", "Otiwa", "Otuo", "Owusu", "Prempeh", "Quartey", "Safo", + "Sarpong", "Takyi", "Tawia", "Tutu", "Tweneboa", "Twumasi", "Wiafe", "Yaamoa", "Yawson", + "Yeboa", "Yeboah", "Yirenkyi", +}); + +const NameFormats ghanaianNameFormats{{{"{firstName} {lastName}"}, 1}}; + +const PeopleNames ghanaianPeopleNames{{ghanaianMaleFirstNames, ghanaianLastNames, {}, {}}, + {ghanaianFemaleFirstNames, ghanaianLastNames, {}, {}}, + ghanaianNameFormats}; // Greece -extern const std::array greekMaleFirstNames; -extern const std::array greekFemaleFirstNames; -extern const std::array greekLastNames; -extern const NameFormats greekNameFormats; -extern const PeopleNames greekPeopleNames; +const auto greekMaleFirstNames = std::to_array({ + "Georgios", "Dimitrios", "Ioannis", "Nikolaos", "Konstantin", "Christos", "Panagiotis", "Vasileios", + "Konstantinos", "Athanasios", "Michail", "Evangelos", "Antonios", "Emmanouil", "Theodoros", "Spyridon", + "Anastasios", "Ilias", "Charalampos", "Alexandros", "Stavros", "Apostolos", "Petros", "Stylianos", + "Sotirios", "Georg", "Thomas", "Ioan", "Eleftherios", "George", "Dimitris", "Nikos", + "Kostas", "Alex", "Markos", "Anton", "John", "Artemis", "Vasilis", "Iosif", + "Michael", "Ali", "Nick", "Chris", "Leon", "Yannis", "Adam", "David", + "Ilir", "Ivan", "Peter", "Alexander", "Vasil", "Luan", "Elias", "Viktor", + "Arben", "Theodore", "Nikolas", "Mohamed", "Dion", "Filip", "Anatoli", "Robert", + "Vladimir", "Napoleon", "Isaak", "Niko", "Nestor", "Georgi", "William", "Albert", + "Anastasio", "Constantin", "Paul", "Muhammad", "Nicholas", "Stefan", "Dritan", "Artur", + "Moustafa", "Haris", "Alexandro", "Ahmed", "Daniel", "Eduart", "Daniil", "Alfred", + "Gregory", "Myron", "Ion", "Edmond", "Kosta", "Aleksander", "Emmanuel", "Arjan", + "Martin", "Leonard", "Christof", "Dimitar", "Ismail", "Harry", "Andrew", "Nicolas", + "Dimitri", "Elton", "Adrian", "Angel", "Vasile", "Nikolay", "Roland", "Mohammad", + "Victor", "James", "Valentin", "Mario", "Florin", "Mark", "Petro", "Jim", + "Simon", "Andon", "Anthony", "Steven", "Sami", "Gheorghe", "Yordan", "Theo", + "Hristo", "Aleks", "Ervin", "Antonio", "Philip", "Emil", "Todor", "Gabriel", + "Asen", "Singh", "Aleksandar", "Marius", "Ibrahim", "Osman", "Igor", "Hans", + "Ionut", "Roman", "Alban", "Hasan", "Antony", "Petar", "Christian", "Mustafa", + "Angelo", "Richard", "Christopher", "Hussain", "Tom", "Jan", "Marin", "Florian", + "Stoyan", "Ahmad", "Aurel", "Sergey", "Atanas", "Andrei", "Maksim", "Joseph", + "Frank", "Renato", "Abdul", "Eduard", "Irfan", "Mihail", "Ismet", "Catalin", + "Jason", "Julian", "Giorgio", "Pavel", "Dumitru", "Ramadan", "Krasimir", "Iqbal", + "Tony", "Boris", "Naim", "Alexandru", "Arsen", "Teo", "Marko", "Stephen", + "Christophe", "Kevin", "Romeo", "Nicolae", "Miroslav", "Armand", "Mihai", "Georges", + "Cristian", "Oleg", "Patrick", "Michel", "Arif", "Mitko", "Amarildo", "Andrey", + "Armando", "Ananias", "Plamen", "Socrates", "Marco", "Filimon", "Adonis", "Enver", + "Edison", "Andi", "Imran", "Ian", "Fran", "Gianni", "Rumen", "Alan", + "Mikel", "Giorgi", "Anastas", "Armen", "Karl", "Stanislav", "Elvis", "Mahmoud", + "Roberto", "Theodor", "Solomon", "Mohammed", "Hassan", "Veselin", "Iliya", "Emin", + "Viorel", "Ilie", "Amir", "Simeon", "Greg", "Ionel", "Philippe", "Pal", + "Samir", "Bilal", "Zoran", "Irakli", "Klaus", "Isaia", "Zamir", "Ivaylo", + "Aleksandr", "Dragan", "Charles", "Louis", "Brian", "Sorin", "Apostol", "Kiril", + "Sam", "Eric", "Aleko", "Costel", "Bruno", "Valter", "Werner", "Tim", + "Basil", "Andre", "Tahir", "Vilson", "Adnan", "Fredi", "Ferdinand", "Vlad", + "Petru", "Paolo", "Marsel", "Giuseppe", "Ram", "Oleksandr", "Asif", "Artour", + "Abbas", "Raymond", "Nasir", "Bogdan", "Trifon", "Alberto", "Vasili", "Matthew", + "Edward", "Milan", "Sasa", "Iulian", "Goran", "Jimmy", "Roger", "Mohamad", + "Erik", "Volodymyr", "Alessandro", "Khalid", "Mehmet", "Michal", "Sinan", "Alin", + "Lucian", "Spiridon", "Sadik", "Francesco", "Stefano", "Dionis", "Omer", "Marc", + "Jonathan", "Omar", "Borislav", "Sasho", "Johannes", "Bernard", "Shaban", "Viktoras", + "Shahid", "Marcel", "Walter", "Felix", "Giovanni", "Paulin", "Kumar", "Pierre", + "Tariq", "Ramazan", "Ashraf", "Alain", "Nicky", "Mikhail", "Sampson", "Luigi", + "Lucas", "Frederik", "Petko", "Adel", "Alexey", "Faik", +}); + +const auto greekFemaleFirstNames = std::to_array({ + "Maria", "Eleni", "Aikaterini", "Vasiliki", "Sofia", "Anastasia", "Georgia", "Evangelia", + "Anna", "Dimitra", "Ioanna", "Christina", "Andreas", "Alexandra", "Theodora", "Athina", + "Olga", "Evgenia", "Zoi", "Konstantina", "Marina", "Antonia", "Nikol", "Margarita", + "Varvara", "Leonidas", "Fani", "Amalia", "Nikoletta", "Katerina", "Stella", "Martha", + "Marianna", "Elena", "Olympia", "Ioulia", "Nikoleta", "Viktoria", "Aglaia", "Andriana", + "Pelagia", "Natalia", "Flora", "Virginia", "Marika", "Alexia", "Katina", "Stefania", + "Tatiana", "Valentina", "Violeta", "Andrea", "Iliana", "Mariana", "Angela", "Dorothea", + "Nina", "Violetta", "Vera", "Eleonora", "Lydia", "Mary", "Marilena", "Pavlina", + "Svetlana", "Louiza", "Aris", "Sali", "Marietta", "Irina", "Ilia", "Irene", + "Paris", "Daniela", "Kristina", "Melina", "Vicky", "Roza", "Mirela", "Sonia", + "Mariya", "Alexis", "Despina", "Helen", "Diana", "Sophia", "Ivanka", "Dora", + "Elina", "Christiana", "Elvira", "Eva", "Alma", "Mihaela", "Angelina", "Irena", + "Lina", "Elsa", "Lena", "Lida", "Michaela", "Mina", "Monika", "Lia", + "Rena", "Liana", "Barbara", "Isidora", "Marie", "Tamara", "Natasa", "Rita", + "Larisa", "Tina", "Joanna", "Sylvia", "Marian", "Christine", "Alina", "Rania", + "Xenia", "Natasha", "Miranda", "Cristina", "Fatme", "Liliana", "Galina", "Victoria", + "Olena", "Nikolina", "Adelina", "Elizabeth", "Nataliya", "Emine", "Silvana", "Magda", + "Gianna", "Jean", "Milena", "Irma", "Nana", "Tania", "Iryna", "Marinela", + "Eleana", "Tereza", "Sara", "Tanya", "Rozalia", "Eugenia", "Kali", "Kelly", + "Catherine", "Zoe", "Adriana", "Maia", "Polina", "Brunilda", "Svitlana", "Aneta", + "Eliza", "Yordanka", "Albana", "Laura", "Iordana", "Karolina", "Lou", "Gabriela", + "Tetyana", "Merita", "Katia", "Veronika", "Anne", "Esmeralda", "Iris", "Anita", + "Suzana", "Stanka", "Nadia", "Nikola", "Oksana", "Jenny", "Leonora", "Marieta", + "Julia", "Susan", "Pandora", "Ekaterina", "Karen", "Liza", "Alla", "Aleksandra", + "Sandra", "Petra", "Rafaela", "Penka", "Dorina", "Nancy", "Rositsa", "Lela", + "Nelli", "Silvia", "Vasilka", "Elisabeth", "Mariyana", "Hristina", "Donka", "Malvina", + "Radka", "Stela", "Mari", "Kassandra", "Patricia", "Mariam", "Dina", "Gina", + "Denis", "Linda", "Manana", "Magdalena", "Inna", "Emilia", "Renata", "Oxana", + "Tonia", "Leila", "Claudia", "Aida", "Mara", "Nicole", "Stefka", "Luiza", + "Thalia", "Yuliya", "Nino", "Neli", "Simona", "Matilda", "Antoneta", "Vanessa", + "Julie", "Marine", "Valia", "Sarah", "Lila", "Arian", "Minka", "Zamira", + "Gergana", "Penelope", "Nicoleta", "Dennis", "Vivian", "Nora", "Lali", "Evelina", + "Sophie", "Lili", "Katya", "Sarra", "Ioana", "Rumyana", "Silviya", "Isa", + "Martina", "Desislava", "Carol", "Ileana", "Zlatka", "Galya", "Athena", "Ina", + "Paola", "Teodora", "Nadezhda", "Zina", "Jane", "Florina", "Ilona", "Ionela", + "Lilia", "Karin", "Elisabeta", "Ann", "Iva", "Margaret", "Tamar", "Mzia", + "Pamela", "Liudmila", "Aurora", "Lidia", "Anka", "Emiliya", "Helena", "Klara", + "Angelika", "Khatuna", "Viorica", "Todorka", "Rodica", "Ivana", "Dimitrinka", "Albena", + "Maya", "Veneta", "Krasimira", "Mariyka", "Monica", "Jennifer", "Tatyana", "Daphne", + "Emma", "Melania", "Aneliya", "Katherine", "Carmen", "Anisa", "Constantina", "Asteria", + "Stoyanka", "Antoaneta", "Valeria", "Diamantina", "Karine", "Andreea", "Manuela", "Atanaska", + "Annie", "Ani", "Petrina", "Viktoriya", "Lilian", "Ornela", "Svetla", "Peggy", + "Flori", "Fay", "Erika", "Tatjana", "Kate", "Inga", "Karina", "Marta", + "Raisa", "Natalya", "Ramona", "Milka", "Larysa", "Rina", +}); + +const auto greekLastNames = std::to_array({ + "Papadopoulos", + "Papadopoulou", + "Papageorgiou", + "Oikonomou", + "Papadimitriou", + "Georgiou", + "Papaioannou", + "Pappas", + "Vasileiou", + "Nikolaou", + "Karagiannis", + "Vlachos", + "Antoniou", + "Makris", + "Papanikolaou", + "Dimitriou", + "Ioannidis", + "Georgiadis", + "Triantafyllou", + "Papadakis", + "Athanasiou", + "Konstantinidis", + "Ioannou", + "Alexiou", + "Christodoulou", + "Theodorou", + "Giannopoulos", + "Nikolaidis", + "Konstantinou", + "Michailidis", + "Panagiotopoulos", + "Papakonstantinou", + "Papathanasiou", + "Antonopoulos", + "Dimopoulos", + "Karagianni", + "Anastasiou", + "Dimitriadis", + "Pappa", + "Vlachou", + "Vasileiadis", + "Giannakopoulos", + "Angelopoulos", + "Dimou", + "Ioannidou", + "Nikolopoulos", + "Mylonas", + "Stergiou", + "Apostolou", + "Petropoulos", + "Lamprou", + "Papadaki", + "Christou", + "Panagiotou", + "Anagnostou", + "Makri", + "Konstantinidou", + "Samaras", + "Raptis", + "Athanasopoulos", + "Alexopoulos", + "Christopoulos", + "Stavropoulos", + "Anagnostopoulos", + "Markou", + "Georgiadou", + "Spanos", + "Sidiropoulos", + "Antoniadis", + "Panagopoulos", + "Efthymiou", + "Spyropoulos", + "Theodoropoulos", + "Pavlidis", + "Athanasiadis", + "Apostolopoulos", + "Petrou", + "Michalopoulos", + "Arvanitis", + "Lazaridis", + "Kontos", + "Georgopoulos", + "Panagiotidis", + "Theodoridis", + "Chatzis", + "Anastasiadis", + "Papavasileiou", + "Papazoglou", + "Vasilopoulos", + "Iliopoulos", + "Kostopoulos", + "Politis", + "Galanis", + "Stavrou", + "Paraskevopoulos", + "Apostolidis", + "Giannopoulou", + "Diamantis", + "Pantazis", + "Andreou", + "Petridis", + "Stathopoulos", + "Nikolaidou", + "Michailidou", + "Dimopoulou", + "Mavridis", + "Kyriakou", + "Grigoriadis", + "Efstathiou", + "Sideris", + "Kyriakidis", + "Diamantopoulos", + "Panagiotopoulou", + "Anastasopoulos", + "Savvidis", + "Georgakopoulos", + "Dimitropoulos", + "Vasilakis", + "Rizos", + "Argyropoulos", + "Moraitis", + "Sotiropoulos", + "Charalampidis", + "Iliadis", + "Antonopoulou", + "Sotiriou", + "Lampropoulos", + "Chatzigeorgiou", + "Angelis", + "Nikolopoulou", + "Giannakopoulou", + "Kollias", + "Margaritis", + "Vasileiadou", + "Katsaros", + "Chatzi", + "Sarris", + "Roussos", + "Evangelou", + "Fotiadis", + "Stefanidis", + "Mylona", + "Gkikas", + "Angelopoulou", + "Eleftheriadis", + "Kontogiannis", + "Dimitriadou", + "Samara", + "Spyrou", + "Stavropoulou", + "Petropoulou", + "Symeonidis", + "Kalogeropoulos", + "Konstantopoulos", + "Filippou", + "Kyriakopoulos", + "Vogiatzis", + "Athanasopoulou", + "Eleftheriou", + "Fotopoulos", + "Voulgaris", + "Christopoulou", + "Chatzopoulos", + "Spyropoulou", + "Argyriou", + "Georgopoulou", + "Triantafyllidis", + "Sakellariou", + "Avramidis", + "Kanellopoulos", + "Athanasiadou", + "Spanou", + "Sidiropoulou", + "Kyriazis", + "Papachristou", + "Petrakis", + "Daskalakis", + "Stefanou", + "Anagnostopoulou", + "Kritikos", + "Pavlou", + "Kechagias", + "Rigas", + "Arampatzis", + "Kostopoulou", + "Zervas", + "Lazaridou", + "Alexopoulou", + "Theodoridou", + "Stamatiou", + "Asimakopoulos", + "Tsakiris", + "Apostolopoulou", + "Theodosiou", + "Mitropoulos", + "Paraskevopoulou", + "Panagopoulou", + "Panou", + "Karalis", + "Pavlidou", + "Karras", + "Dimitrakopoulos", + "Ali", + "Papanastasiou", + "Michail", + "Adamopoulos", + "Michalopoulou", + "Rapti", + "Deligiannis", + "Papatheodorou", + "Vasilopoulou", + "Iliopoulou", + "Panagiotidou", + "Markopoulos", + "Antoniadou", + "Singh", + "Kefalas", + "Papagiannis", + "Kontou", + "Zisis", + "Stamatopoulos", + "Grigoriou", + "Theocharis", + "Stamou", + "Nikou", + "Kolovos", + "Xanthopoulos", + "Theodoropoulou", + "Giannoulis", + "Angelidis", + "Kyritsis", + "Diamanti", + "Apostolidou", + "Doukas", + "Paschalidis", + "Floros", + "Fragkos", + "Mavridou", + "Paraskevas", + "Sideri", + "Roussou", + "Roumeliotis", + "Tsoukalas", + "Galani", + "Drosos", + "Lampropoulou", + "Loukas", + "Kosmidis", + "Alexandris", + "Pantazi", + "Charalampidou", + "Kalyvas", + "Sarri", + "Papakostas", + "Argyropoulou", + "Kyriakidou", + "Anastasiadou", + "Kokkinos", + "Stathopoulou", + "Anastasopoulou", + "Stamoulis", + "Arvaniti", + "Sotiropoulou", + "Stamatis", + "Ziogas", + "Mouratidis", + "Lazarou", + "Moustakas", + "Diamantopoulou", + "Vasilaki", + "Dimos", + "Papoutsis", + "Fragkou", + "Chalkias", + "Zafeiropoulos", + "Manolis", + "Kyriakopoulou", + "Georgakopoulou", + "Lekkas", + "Andreadis", + "Chronopoulos", + "Papantoniou", + "Polyzos", + "Savvidou", + "Petridou", + "Liapis", + "Papandreou", + "Emmanouil", + "Marinos", + "Bouras", + "Emmanouilidis", + "Angeli", + "Goulas", + "Tzimas", + "Zacharopoulos", + "Nikolakopoulos", + "Kalantzis", + "Kollia", + "Nikas", + "Drakopoulos", + "Michos", + "Vlachopoulos", + "Tsekouras", + "Daskalaki", + "Charalampous", + "Apostolakis", + "Kalaitzis", + "Kalogirou", + "Nakos", + "Aslanidis", + "Fotopoulou", + "Stamatakis", + "Koulouris", + "Liakos", + "Konstantopoulou", + "Dimitrakopoulou", + "Chatzopoulou", + "Kosmas", + "Eleftheriadou", + "Grivas", + "Oikonomidis", + "Grigoriadou", + "Karakostas", + "Psarras", + "Angelou", + "Tsolakis", + "Moschos", + "Giannakis", + "Giannakos", + "Chatzidimitriou", + "Iosifidis", + "Papamichail", + "Kanellopoulou", + "Dimas", + "Zografos", + "Kalogeropoulou", + "Chatzinikolaou", + "Voulgari", + "Markakis", + "Karagiannidis", + "Stamos", + "Zafeiris", + "Zachos", + "Gkika", + "Chatziioannou", + "Symeonidou", + "Stefanidou", + "Triantafyllidou", + "Kritikou", + "Stavridis", +}); + +const NameFormats greekNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames greekPeopleNames{ + {greekMaleFirstNames, greekLastNames, {}, {}}, {greekFemaleFirstNames, greekLastNames, {}, {}}, greekNameFormats}; // Hungary -extern const std::array hungarianMaleFirstNames; -extern const std::array hungarianFemaleFirstNames; -extern const std::array hungarianLastNames; -extern const std::array hungarianPrefixes; -extern const NameFormats hungarianNameFormats; -extern const PeopleNames hungarianPeopleNames; +const auto hungarianMaleFirstNames = std::to_array({ + "Bence", "Máté", "Dominik", "Levente", "Noel", "Dániel", "Zalán", "Marcell", "Olivér", + "Ádám", "Milán", "Dávid", "Botond", "Benett", "Áron", "Zsombor", "Balázs", "Márk", + "Péter", "Kristóf", "Zétény", "Nimród", "László", "Benedek", "Tamás", "Gergő", "Patrik", + "Zente", "Bálint", "András", "Zoltán", "Attila", "Barnabás", "Márton", "Hunor", "Kornél", + "Martin", "Ákos", "Gábor", "Alex", "István", "Vince", "Ábel", "Krisztián", "Zsolt", + "János", "Nolen", "Erik", "Bendegúz", "Sándor", "József", "Nándor", "Richárd", "Benjámin", + "Soma", "Ármin", "Csaba", "Kevin", "Róbert", "Ferenc", "Mátyás", "Norbert", "Roland", + "Vencel", "Viktor", "Csongor", "Szabolcs", "Mihály", "Boldizsár", "Benjamin", "Simon", "Gergely", + "Bertalan", "Tibor", "Zénó", "Adrián", "Miklós", "Nikolasz", "Vilmos", "Kende", "Imre", + "Gellért", "Krisztofer", "Donát", "Vendel", "Bende", "Brájen", "Dorián", "Denisz", "Sámuel", + "Noé", "Csanád", "Lajos", "Kolos", "Alexander", "Laurent", "Mirkó", "György", "Nátán", + "Iván", +}); + +const auto hungarianFemaleFirstNames = std::to_array({ + "Hanna", "Anna", "Zoé", "Léna", "Luca", "Emma", "Zsófia", "Boglárka", "Lili", "Mira", + "Lilien", "Nóra", "Laura", "Lara", "Maja", "Fanni", "Jázmin", "Izabella", "Olívia", "Sára", + "Gréta", "Alíz", "Adél", "Lilla", "Liza", "Flóra", "Dorka", "Zselyke", "Dóra", "Csenge", + "Janka", "Liliána", "Viktória", "Szofia", "Réka", "Panna", "Petra", "Dorina", "Natasa", "Blanka", + "Eszter", "Noémi", "Emília", "Bianka", "Kamilla", "Szófia", "Vivien", "Rebeka", "Elizabet", "Linett", + "Szofi", "Júlia", "Szonja", "Abigél", "Mia", "Bella", "Lia", "Natália", "Tamara", "Lotti", + "Róza", "Amira", "Eliza", "Panka", "Milla", "Zorka", "Hanga", "Nara", "Norina", "Fruzsina", + "Mirella", "Dorottya", "Boróka", "Emili", "Regina", "Johanna", "Alexandra", "Diána", "Elena", "Kinga", + "Hédi", "Borbála", "Emese", "Bíborka", "Barbara", "Letícia", "Lujza", "Zita", "Kincső", "Nina", + "Vanda", "Veronika", "Zara", "Lana", "Lora", "Kiara", "Lívia", "Rozina", "Zejnep", "Virág", +}); + +const auto hungarianLastNames = std::to_array({ + "Nagy", "Kovács", "Tóth", "Szabó", "Horváth", "Varga", "Kiss", "Molnár", "Németh", "Farkas", + "Balogh", "Papp", "Takács", "Juhász", "Lakatos", "Mészáros", "Oláh", "Simon", "Rácz", "Fekete", + "Szilágyi", "Török", "Fehér", "Balázs", "Gál", "Kis", "Szűcs", "Kocsis", "Orsós", "Pintér", + "Fodor", "Szalai", "Sipos", "Magyar", "Lukács", "Gulyás", "Biró", "Király", "László", "Katona", + "Jakab", "Bogdán", "Balog", "Sándor", "Boros", "Fazekas", "Kelemen", "Váradi", "Antal", "Somogyi", + "Orosz", "Fülöp", "Veres", "Vincze", "Hegedűs", "Budai", "Deák", "Pap", "Bálint", "Pál", + "Illés", "Vass", "Szőke", "Vörös", "Bognár", "Fábián", "Lengyel", "Bodnár", "Szücs", "Hajdu", + "Halász", "Jónás", "Máté", "Székely", "Kozma", "Gáspár", "Pásztor", "Bakos", "Dudás", "Major", + "Orbán", "Hegedüs", "Virág", "Barna", "Novák", "Soós", "Tamás", "Nemes", "Pataki", "Balla", + "Faragó", "Kerekes", "Borbély", "Barta", "Péter", "Szekeres", "Csonka", "Mezei", "Márton", "Sárközi", +}); + +const std::array hungarianPrefixes{"Dr.", "Prof."}; + +const NameFormats hungarianNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 9}}}; + +const PeopleNames hungarianPeopleNames{{hungarianMaleFirstNames, hungarianLastNames, hungarianPrefixes, {}}, + {hungarianFemaleFirstNames, hungarianLastNames, hungarianPrefixes, {}}, + hungarianNameFormats}; // Iceland -extern const std::array icelandicMaleFirstNames; -extern const std::array icelandicFemaleFirstNames; -extern const std::array icelandicLastNames; -extern const NameFormats icelandic_personNameFormats; -extern const PeopleNames icelandicPeopleNames; +const auto icelandicMaleFirstNames = std::to_array({ + "Gunnar", "Einar", "Ragnar", "Karl", "Aron", "Benedikt", "Jon", "Jakob", "Steinar", + "Ari", "Viktor", "Axel", "Alexander", "Anton", "Hannes", "Hermann", "Emil", "Jens", + "Hans", "Geir", "Daniel", "David", "Magnus", "Adam", "Stefan", "Robert", "John", + "Piotr", "Elmar", "Georg", "Albert", "Johann", "Krzysztof", "Erling", "Tomasz", "Marcin", + "Jose", "Carlos", "Michael", "Mariusz", "Alex", "Andrzej", "Bjorn", "Mikael", "Richard", + "Jan", "Omar", "Dariusz", "Victor", "Martin", "Marek", "Kingsley", "Erik", "Oskar", + "Tomas", "Pawel", "Johannes", "Jonas", "Mark", "Umar", "Paulo", "Rafal", "Sebastian", + "Ricardo", "Frank", "Joao", "Usman", "James", "Thomas", "Innocent", "Michal", "Sam", + "Miroslaw", "William", "Paul", "Eric", "Henry", "Jaroslaw", "Fernando", "Alfred", "Matthias", + "Andrew", "Luis", "Harald", "Jason", "Peter", "Nils", "Maciej", "Edward", "Kamil", + "Andres", "Roman", "Oliver", "Adolf", "Slawomir", "Artur", "Ifeanyi", "Bruno", "Julius", + "Charles", "Antonio", "Jacek", "Jorge", "Elias", "Wojciech", "Patrick", "George", "Edvard", + "Arthur", "Lukasz", "Marco", "Simon", "Christopher", "Benjamin", "Clement", "Arkadiusz", "Petrea", + "Dario", "Chinedu", "Dawid", "Nuno", "Damian", "Mohamed", "Ivan", "Nicolas", "Mateusz", + "Godfrey", "Carl", "Zbigniew", "Philippe", "Hector", "Uche", "Konrad", "Gabriel", "Mario", + "Norbert", "Manuel", "Ismail", "Stephen", "Olivier", "Felix", "Fred", "Kristofer", "Kevin", + "Samuel", "Hugo", "Patryk", "Ashok", "Adrian", "Julio", "Bent", "Ikechukwu", "Cesar", + "Jerzy", "Fritz", "Haruna", "Jonathan", +}); + +const auto icelandicFemaleFirstNames = std::to_array({ + "Anna", "Helga", "Inga", "Eva", "Linda", "Hanna", "Edda", "Erna", "Sandra", + "Sara", "Karen", "Rakel", "Elsa", "Helena", "Andrea", "Marta", "Elva", "Thelma", + "Agnes", "Alda", "Olga", "Una", "Sonja", "Rebekka", "Gudrun", "Ellen", "Ester", + "Alexandra", "Selma", "Alma", "Stella", "Ana", "Kristin", "Birgitta", "Telma", "Dagmar", + "Klara", "Margret", "Monika", "Magdalena", "Agnieszka", "Lena", "Katarzyna", "Solveig", "Emma", + "Esther", "Tanja", "Barbara", "Mary", "Anita", "Julia", "Vera", "Elin", "Petra", + "Rut", "Sigrun", "Perla", "Helen", "Beata", "Malgorzata", "Heba", "Katrin", "Ella", + "Elma", "Hilda", "Laura", "Asta", "Elisabet", "Johanna", "Juan", "Elzbieta", "Iris", + "Kamilla", "Joanna", "Ewa", "Lea", "Adda", "Amanda", "Inger", "Martha", "Kim", + "Greta", "Natalia", "Dorota", "Nina", "Tara", "Jana", "Sarah", "Rosa", "Ruth", + "Kari", "Tunde", "Rui", "Teresa", "Karolina", "Anne", "Berta", "Maren", "Elizabeth", + "Dora", "Jolanta", "Ann", "Irena", "Renata", "Marzena", "Marie", "Iwona", "Precious", + "Justyna", "Patricia", "Cristina", "Rita", "Sylwia", "Jennifer", "Jenny", "Claudia", "Diana", + "Ingrid", "Miriam", "Astrid", "Stefania", "Emilia", "Hilma", "Irma", "Edyta", "Alice", + "Elena", "Gift", "Dana", "Ida", "Vanessa", "Fanny", "Josephine", "Paulina", "Dennis", + "Alina", "Bozena", "Angela", "Nancy", "Lara", "Jessica", +}); + +const auto icelandicLastNames = std::to_array({ + "Jónsdóttir", "Jónsson", "Sigurðardóttir", "Guðmundsdóttir", "Guðmundsson", "Sigurðsson", + "Gunnarsdóttir", "Gunnarsson", "ólafsson", "ólafsdóttir", "Magnúsdóttir", "Magnússon", + "Einarsson", "Einarsdóttir", "Kristjánsdóttir", "Kristjánsson", "Björnsdóttir", "Stefánsson", + "Jóhannsson", "Jóhannsdóttir", "Björnsson", "Stefánsdóttir", "árnadóttir", "Bjarnason", + "Bjarnadóttir", "árnason", "Halldórsson", "Helgason", "Halldórsdóttir", "Helgadóttir", + "Sveinsson", "Ragnarsdóttir", "Kristinsson", "Pétursdóttir", "Pálsson", "Guðjónsdóttir", + "Kristinsdóttir", "Pálsdóttir", "Karlsson", "Guðjónsson", "Pétursson", "þorsteinsson", + "þorsteinsdóttir", "Sveinsdóttir", "Ragnarsson", "óskarsdóttir", "Karlsdóttir", "Haraldsson", + "Jóhannesson", "Jóhannesdóttir", "Sigurjónsdóttir", "Birgisson", "Birgisdóttir", "Hauksson", + "Harðardóttir", "þórðardóttir", "ásgeirsdóttir", "Haraldsdóttir", "Jónasdóttir", "Hauksdóttir", + "Harðarson", "Jónasson", "Sigurjónsson", "Kjartansdóttir", "Kjartansson", "ágústsson", + "þórðarson", "Arnarson", "Friðriksson", "Baldursdóttir", "Baldursson", "ágústsdóttir", + "Sverrisson", "Hilmarsson", "ásgeirsson", "Friðriksdóttir", "Guðnadóttir", "Ingólfsson", + "Guðnason", "Ingólfsdóttir", "Arnardóttir", "Benediktsdóttir", "Hilmarsdóttir", "Sverrisdóttir", + "Valdimarsdóttir", "þórarinsdóttir", "Reynisson", "Benediktsson", "Björgvinsdóttir", "Gunnlaugsson", + "Jonsson", "Gunnlaugsdóttir", "Reynisdóttir", "Aðalsteinsdóttir", "þórisdóttir", "Skúladóttir", + "Hafsteinsdóttir", "ómarsdóttir", "Sævarsdóttir", "Sigurðarson", "Valdimarsson", "þórisson", + "Rúnarsdóttir", "Snorrason", "Vilhjálmsdóttir", "þórarinsson", "Hermannsson", "Svavarsdóttir", + "Tryggvason", "Sævarsson", "Garðarsdóttir", "þorvaldsdóttir", "Rúnarsson", "Bragason", + "þorvaldsson", "Hannesdóttir", "Vilhjálmsson", "Björgvinsson", "Bragadóttir", "Egilsson", + "Ingvarsdóttir", "Gylfason", "Skúlason", "Hjartardóttir", "Hjartarson", "Ingvarsson", + "Hannesson", "Guðlaugsdóttir", "Lárusdóttir", "ómarsson", "Garðarsson", "Gylfadóttir", + "Guðlaugsson", "Grétarsson", "Snorradóttir", "Aðalsteinsson", "Lárusson", "Tryggvadóttir", + "Tómasson", "Jakobsdóttir", +}); + +const NameFormats icelandic_personNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames icelandicPeopleNames{{icelandicMaleFirstNames, icelandicLastNames, {}, {}}, + {icelandicFemaleFirstNames, icelandicLastNames, {}, {}}, + icelandic_personNameFormats}; // India -extern const std::array indianMaleFirstNames; -extern const std::array indianFemaleFirstNames; -extern const std::array indianLastNames; -extern const NameFormats indianNameFormats; -extern const PeopleNames indianPeopleNames; +const auto indianMaleFirstNames = std::to_array({ + "Aadi", "Aadil", "Aahan", "Aarav", "Aarit", "Aarush", "Aaryan", "Aaryav", + "Aayush", "Abeer", "Abhay", "Abhinav", "Abhishek", "Abhiyay", "Adarsh", "Adhvait", + "Aditya", "Advait", "Advay", "Ahaan", "Akash", "Akhil", "Akhilesh", "Akshant", + "Akshat", "Akshay", "Akshaya", "Alok", "Aman", "Amar", "Amardeep", "Amit", + "Amitabh", "Anand", "Aniket", "Anirudh", "Anish", "Ankit", "Ankur", "Ansh", + "Anshul", "Anshuman", "Anupam", "Anurag", "Arin", "Arjun", "Armaan", "Arnav", + "Arpit", "Arun", "Arush", "Arvind", "Arya", "Aryaman", "Aryan", "Aryana", + "Aryaveer", "Ashutosh", "Atharv", "Atul", "Avinash", "Avir", "Ayush", "Baldev", + "Bhavesh", "Bhavya", "Bhushan", "Bhuvan", "Bimal", "Birju", "Brij", "Brijesh", + "Brijmohan", "Chirag", "Darsh", "Darshan", "Deep", "Deepak", "Deepesh", "Dev", + "Devang", "Devansh", "Devendra", "Devesh", "Dhairik", "Dhairya", "Dhaval", "Dheeraj", + "Dhiraj", "Dhriti", "Dhruv", "Dhruva", "Dhruvansh", "Dinesh", "Dipak", "Dipesh", + "Divyansh", "Eshan", "Gagan", "Ganesh", "Gaurav", "Gautam", "Girish", "Gopal", + "Govind", "Harish", "Harsh", "Harshad", "Harshal", "Hemant", "Himanshu", "Hitesh", + "Hridaan", "Hriday", "Hrithik", "Hrithvik", "Hrushi", "Iqbal", "Ishaan", "Ishan", + "Ishant", "Ishwar", "Jagat", "Jagdish", "Jai", "Jatin", "Jatish", "Jay", + "Jayant", "Jitender", "Jitendra", "Kabir", "Kabira", "Kabiraj", "Kailash", "Kairav", + "Kamal", "Kamlesh", "Kapil", "Karan", "Karna", "Karthik", "Karun", "Kashyap", + "Kavish", "Keshav", "Ketan", "Kian", "Kiran", "Kishan", "Kishore", "Krish", + "Krishna", "Krishnaiah", "Kunal", "Kushal", "Lakshay", "Lakshit", "Lalit", "Laxman", + "Lokesh", "Manav", "Manik", "Maninder", "Manish", "Manoj", "Mayank", "Mayur", + "Mohan", "Mohit", "Mukesh", "Mukul", "Mukund", "Nakul", "Nandan", "Nandlal", + "Narayan", "Naveen", "Neeraj", "Nihal", "Nikhil", "Nilesh", "Nimish", "Nirav", + "Nishant", "Nishith", "Nitesh", "Nitin", "Nitish", "Om", "Omkar", "Pankaj", + "Pariket", "Parikshit", "Parth", "Partha", "Parthiv", "Parv", "Parveen", "Pradeep", + "Pramod", "Pranav", "Pranay", "Pranit", "Pranjal", "Pratham", "Pratyush", "Pravin", + "Prayag", "Prithvi", "Raahat", "Raghav", "Rahul", "Rajat", "Rajendra", "Rajesh", + "Rajiv", "Rajkishor", "Rajkumar", "Rajnish", "Rajveer", "Rakshan", "Raman", "Ramesh", + "Ranbir", "Ranjan", "Ranveer", "Rapul", "Ravi", "Revansh", "Reyansh", "Rian", + "Ridhaan", "Rishabh", "Rishi", "Rishit", "Ritesh", "Ritish", "Ritvik", "Rohan", + "Rohant", "Rohit", "Rudransh", "Rupesh", "Rushabh", "Rushil", "Saarthak", "Sachin", + "Sagar", "Sahil", "Sahitya", "Sameer", "Sameet", "Sanjay", "Sanjeev", "Sanket", + "Sarthak", "Sarvesh", "Satish", "Shantanu", "Shardul", "Shashank", "Shaurya", "Shivam", + "Shivansh", "Shlok", "Shourya", "Shresht", "Shubham", "Shyam", "Siddharth", "Subhash", + "Sudhir", "Sumeet", "Sumit", "Sunil", "Sunny", "Suraj", "Surender", "Suresh", + "Surya", "Sushant", "Suvan", "Tanay", "Tanish", "Tanmay", "Tanush", "Tanvik", + "Taran", "Tarun", "Tavish", "Tejas", "Tejus", "Tushar", "Uday", "Umesh", + "Utkarsh", "Vaibhav", "Vansh", "Vanshaj", "Varun", "Ved", "Vedant", "Veer", + "Veerendra", "Vibhav", "Vicky", "Vidit", "Vidyut", "Vihaan", "Vihan", "Vijay", + "Vikas", "Vikram", "Vikrant", "Vimal", "Vinay", "Vinayak", "Vineet", "Vinod", + "Vipul", "Virat", "Virendra", "Viresh", "Vishal", "Vishesh", "Vishnu", "Vishwas", + "Vivaan", "Vivan", "Vivek", "Viyan", "Yaman", "Yash", "Yashas", "Yashith", + "Yashraj", "Yashwant", "Yashwanta", "Yashwardhan", "Yogesh", "Yug", "Yuva", "Yuvan", + "Yuvansh", "Yuvraj", "Yuvraja", "Zaheer", "Zahir", "Zain", "Zayyan", +}); + +const auto indianFemaleFirstNames = std::to_array({ + "Aadrika", "Aadya", "Aakriti", "Aanya", "Aanyaya", "Aaradhya", "Aarohi", "Aashi", "Aashika", + "Adhithi", "Aditi", "Aisha", "Akshara", "Alia", "Amaira", "Amara", "Ananya", "Anika", + "Anisha", "Anushka", "Anvi", "Anwaya", "Aria", "Arunima", "Avani", "Avishi", "Avni", + "Banita", "Bhavana", "Bhavisha", "Bhavna", "Bhavya", "Bhavyata", "Bhumi", "Bhumika", "Bhuvitha", + "Chakori", "Chandika", "Chandna", "Chandni", "Chandrika", "Charmika", "Charu", "Charul", "Charvi", + "Chhavi", "Chitra", "Deepika", "Devanshi", "Devika", "Dhanya", "Dhriti", "Disha", "Divisha", + "Divishi", "Divya", "Diya", "Drishti", "Dyuthi", "Eeshaal", "EeshaaniEk", "Esha", "Eshitha", + "Falguni", "Falini", "Faria", "Farida", "Freesha", "Fulki", "Gargee", "Gargi", "Garima", + "Gauri", "Giribala", "Gitali", "Gitanjali", "Grishma", "Harini", "Haritha", "Harshini", "Harshita", + "Himani", "Hina", "Hiral", "Hrishita", "Inaya", "Ira", "Isha", "Ishana", "Ishani", + "Ishika", "Ishiqa", "Ishira", "Ishita", "Ishitha", "Ishmita", "Janvi", "Janya", "Jara", + "Jaswita", "Jia", "Jivana", "Jivika", "Jivisha", "Jiya", "Jyotsna", "Kanya", "Kashvi", + "Kashvii", "Kavya", "Khushi", "Kia", "Kiara", "Kiran", "Kirti", "Kritika", "Kshirja", + "Lasya", "Lavanya", "Lavisha", "Lavitha", "Leah", "Lisha", "Manasvi", "Manika", "Manisha", + "Mannat", "Manvi", "Manvita", "Meenal", "Meera", "Megha", "Mira", "Myra", "Mysha", + "Naina", "Nandita", "Natasha", "Neha", "Nidhi", "Nidhita", "Niharika", "Nishi", "Nitya", + "Nityari", "Nityasha", "Nityashi", "Nyra", "Oishi", "Ojal", "Ojaswi", "Oshin", "Oviya", + "Pankhudi", "Pankhuri", "Pari", "Parinidhi", "Parul", "Pihu", "Praniti", "Pranjal", "Prisha", + "Prishita", "Priyanka", "Qirat", "Queenie", "Quinara", "Quisha", "Rashi", "Rasika", "Rhea", + "Riddhi", "Rishi", "Ritara", "Rithika", "Riya", "Roshni", "Rupali", "Saanvi", "Saesha", + "Saisha", "Sanika", "Sanvi", "Sanya", "Sara", "Saraswati", "Sarita", "Savita", "Shanaya", + "Simran", "Sita", "Siya", "Sneha", "Sonam", "Tamanna", "Tanishi", "Tanvi", "Tishira", + "Tithira", "Trisha", "Ujjwala", "Urisha", "Urvashi", "Urvi", "Utkarsha", "Vaishnavi", "Vanshika", + "Vanya", "Vasundhara", "Vidhi", "Vidulika", "Vinita", "Wansika", "Wisha", "Wynona", "Xandra", + "Xara", "Yashi", "Yashika", "Yashvi", "Yukta", "Yukthi", "Zaina", "Zaira", "Zara", + "Zarika", "Zarna", "Zoya", +}); + +const auto indianLastNames = std::to_array({ + "Acharya", "Agarwal", "Aggarwal", "Ahluwalia", "Ahuja", "Amin", "Anand", + "Arora", "Arvind", "Babu", "Bajaj", "Bajwa", "Banerjee", "Bansal", + "Batra", "Bhagat", "Bhardwaj", "Bhargava", "Bhasin", "Bhat", "Bhatia", + "Bhatnagar", "Bhatt", "Bhattacharya", "Biswas", "Bose", "Chabra", "Chadha", + "Chakrabarti", "Chakrabarty", "Chakraborty", "Chakravarti", "Chandra", "Chatterjee", "Chaturvedi", + "Chauhan", "Chawla", "Chopra", "Choudhary", "Choudhury", "Das", "Deshmukh", + "Deshpande", "Dewan", "Dey", "Dhawan", "Dhillon", "Dixit", "Dube", + "Dutt", "Dutta", "Easwaran", "Edwin", "Ekbote", "Eswaran", "Fadnavis", + "Fernandes", "Gandhi", "Ghosh", "Ghoshal", "Gill", "Gokhale", "Goswami", + "Gupta", "Harikrishnan", "Hegde", "Inamdar", "Iyengar", "Iyer", "Jaiswal", + "Jha", "Joglekar", "Joshi", "Juneja", "Kadam", "Kakkar", "Kamble", + "Kapoor", "Kashyap", "Kaur", "Khan", "Khanna", "Khera", "Khosla", + "Khurana", "Kohli", "Kulkarni", "Kumar", "Lal", "Lalwani", "Luthra", + "Mahajan", "Majumdar", "Malhotra", "Malik", "Mandal", "Mathur", "Mazumdar", + "Mehra", "Mehrotra", "Mehta", "Menon", "Mishra", "Mittal", "Mukherjee", + "Mukhopadhyay", "Mundra", "Nag", "Nagpal", "Nair", "Nambiar", "Nanda", + "Narang", "Narula", "Nayar", "Negi", "Oberoi", "Ojha", "Oza", + "Padmanabhan", "Pandey", "Pandit", "Patil", "Pawar", "Pillai", "Pradhan", + "Prakash", "Puri", "Qazi", "Qureshi", "Raghavan", "Raghunathan", "Rai", + "Raj", "Rajput", "Rana", "Rao", "Rastogi", "Rathore", "Reddy", + "Sabharwal", "Sardar", "Sarin", "Saxena", "Sen", "Sengupta", "Seth", + "Sethi", "Shah", "Sharma", "Shukla", "Singh", "Singhal", "Sinha", + "Soni", "Sood", "Suri", "Talreja", "Talwar", "Thakkar", "Thakur", + "Tiwari", "Trivedi", "Tyagi", "Upadhyay", "Upadhyaya", "Uppal", "Vaid", + "Vaidya", "Varghese", "Varma", "Verma", "Vij", "Vora", "Vyas", + "Wadhwa", "Wagh", "Waghmare", "Wagle", "Walia", "Xavier", "Yadav", + "Zakaria", "Zaveri", +}); + +const NameFormats indianNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames indianPeopleNames{{indianMaleFirstNames, indianLastNames, {}, {}}, + {indianFemaleFirstNames, indianLastNames, {}, {}}, + indianNameFormats}; // Ireland -extern const std::array irishMaleFirstNames; -extern const std::array irishFemaleFirstNames; -extern const std::array irishLastNames; -extern const std::array irishSuffixes; -extern const std::array irishMalePrefixes; -extern const std::array irishFemalePrefixes; -extern const NameFormats irishNameFormats; -extern const PeopleNames irishPeopleNames; +const auto irishMaleFirstNames = std::to_array({ + "John", "Michael", "Patrick", "Thomas", "James", "David", "Joseph", "Paul", + "Sean", "William", "Martin", "Peter", "Gerard", "Brian", "Kevin", "Brendan", + "Liam", "Anthony", "Richard", "Robert", "Frank", "Daniel", "Stephen", "Edward", + "Mark", "Alan", "Tony", "Timothy", "Andrew", "Declan", "Philip", "Conor", + "Vincent", "Christopher", "Niall", "Kieran", "Gerry", "Bernard", "Aidan", "Raymond", + "Barry", "George", "Colm", "Derek", "Eugene", "Matthew", "Kenneth", "Eamon", + "Desmond", "Hugh", "Charles", "Oliver", "Shane", "Ciaran", "Ian", "Micheal", + "Damien", "Chris", "Gary", "Keith", "Ronan", "Adrian", "Maurice", "Neil", + "Colin", "Nicholas", "Jeremiah", "Owen", "Eddie", "Simon", "Henry", "Jerry", + "Darren", "Terry", "Jack", "Tommy", "Gerald", "Terence", "Billy", "Jimmy", + "Jason", "Rory", "Larry", "Jonathan", "Harry", "Leo", "Graham", "Trevor", + "Eric", "Donald", "Arthur", "Gavin", "Dominic", "Karl", "Phillip", "Steven", + "Edmond", "Nigel", "Walter", "Austin", "Albert", "Damian", "Gabriel", "Cyril", + "Tomas", "Greg", "Luke", "Roger", "Bill", "Joe", "Adam", "Charlie", + "Gordon", "Victor", "Ivan", "Justin", "Alexander", "Bryan", "Norman", "Garry", + "Stuart", "Roy", "Louis", "Alex", "Gareth", "Ronald", "Cornelius", "Leonard", + "Ross", "Wayne", "Jerome", "Marcin", "Jim", "Edmund", "Gregory", "Piotr", + "Fredrick", "Jamie", "Samuel", "Cian", "Tomasz", "Carl", "Ben", "Sam", + "Pawel", "Johnny", "Julian", "Ken", "Marcus", "Nick", "Aaron", "Clive", + "Benjamin", "Marc", "Ali", "Marek", "Fran", "Lukasz", "Hubert", "Shaun", + "Douglas", "Ray", "Malcolm", "Pascal", "Krzysztof", "Ryan", "Geoffrey", "Michal", + "Mervyn", "Ronnie", "Jan", "Nicky", "Craig", "Bob", "Bobby", "Dean", + "Lawrence", "Rafal", "Ernest", "Edwin", "Steve", "Christian", "Robbie", "Mathew", + "Glen", "Scott", "Aiden", "Tim", "Jose", "Muhammad", "Killian", "Alfred", + "Glenn", "Grzegorz", "Stanley", "Sebastian", "Jeremy", "Sylvester", "Antonio", "Mariusz", + "Ivor", "Frankie", "Frederick", "Jeff", "Connor", "Harold", "Mohammed", "Neville", + "Dominick", "Felix", "Marius", "Ralph", "Maciej", "Benny", "Bart", "Wesley", + "Jacek", "Herbert", "Ron", "Andrzej", "Allan", "Ahmed", "Wojciech", "Teddy", + "Warren", "Dick", "Stefan", "Artur", "Roland", "Mario", "Bruce", "Jon", + "Clement", "Stewart", "Jude", "Marco", "Emmanuel", "Russell", "Allen", "Andre", + "Mohammad", "Howard", "Joey", "Alec", "Dariusz", "Max", "Christoph", "Basil", + "Evan", "Igor", "Nicolas", "Carlos", "Rodney", "Iain", "Stan", "Jaroslaw", + "Reginald", "Matt", "Roman", "Dylan", "Augustine", "Leon", "Przemyslaw", "Arkadiusz", + "Stephan", "Darius", "Hans", "Mohamed", "Vladimir", "Freddie", "Kenny", "Graeme", + "Luis", "Hugo", "Bruno", "Norbert", "Nathan", "Clifford", "Syed", "Pierre", + "Duncan", "Roderick", "Kamil", "Alfie", "Patrice", "Jay", "Jakub", "Abdul", + "Raphael", "Oleg", "Radoslaw", "Derrick", "Conrad", "Lukas", "Bartosz", "Bert", + "Roberto", "Anton", "Manuel", "Ioan", "Fabio", "Jeffrey", "Percy", "Alistair", + "Mateusz", "Miguel", "Andrei", "Ricky", "Pavel", "Pedro", "Guy", "Luca", + "Gilbert", "Jacob", "Kelvin", "Benedict", "Morris", "Antony", "Sergio", "Alessandro", + "Zbigniew", "Slawomir", "Omar", "Ricardo", "Jordan", "Guillaume", "Arnold", "Christophe", + "Joshua", "Markus", "Dominik", "Javier", "Marcel", "Johnathan", "Cedric", "Rick", + "Lucas", "Angelo", "Frederic", "Lionel", "Olivier", "Angus", "Andrius", "Cristian", + "Erik", "Francisco", "Daryl", "Eduardo", "Wolfgang", "Jorge", +}); + +const auto irishFemaleFirstNames = std::to_array({ + "Mary", "Margaret", "Ann", "Kathleen", "Anne", "Catherine", "Elizabeth", "Patricia", + "Noel", "Eileen", "Marie", "Denis", "Bridget", "Helen", "Teresa", "Sarah", + "Joan", "Geraldine", "Maureen", "Caroline", "Deirdre", "Susan", "Michelle", "Bernadette", + "Fiona", "Carmel", "Angela", "Maria", "Anna", "Karen", "Nora", "Sheila", + "Claire", "Sinead", "Pauline", "Sharon", "Siobhan", "Lisa", "Francis", "Linda", + "Sandra", "Josephine", "Maura", "Louise", "Elaine", "Martina", "Frances", "Rose", + "Niamh", "Lorraine", "Laura", "Jennifer", "Rita", "Barbara", "Christina", "Valerie", + "Noreen", "Carol", "Paula", "Yvonne", "Ellen", "Christine", "Marian", "Emma", + "Theresa", "Philomena", "Jane", "Annie", "Nuala", "Denise", "Nicola", "Una", + "Alice", "Ciara", "Julie", "Christy", "Gillian", "Rachel", "Laurence", "Amanda", + "Clare", "Brigid", "Joanne", "Aoife", "Suzanne", "Ruth", "Monica", "Evelyn", + "Annette", "Veronica", "Aisling", "Aine", "Colette", "Rosemary", "Brenda", "Jean", + "Olive", "Irene", "Kate", "Agnes", "Audrey", "Maeve", "Jacqueline", "Edel", + "Marion", "Betty", "Tara", "Miriam", "Kay", "Pamela", "Alison", "Julia", + "Grace", "Dolores", "Helena", "Deborah", "Phyllis", "Aileen", "Olivia", "Esther", + "Tracey", "Nancy", "Imelda", "Vera", "Eleanor", "Cathy", "Andrea", "Rebecca", + "Tracy", "Therese", "Anita", "Janet", "Tina", "Maire", "Lucy", "Stephanie", + "Peggy", "Celine", "Danny", "Donna", "Jacinta", "Jenny", "Dorothy", "Robin", + "Lorna", "Emily", "Sally", "Liz", "Hannah", "Samantha", "Amy", "Florence", + "Joanna", "Sylvia", "June", "Ursula", "Shirley", "Antoinette", "Gemma", "Martha", + "Debbie", "Regina", "Katherine", "May", "Eva", "Dennis", "Hazel", "Dara", + "Katie", "Doreen", "Georgina", "Moira", "Natasha", "Victoria", "Wendy", "Kitty", + "Adrienne", "Sara", "Hilary", "Johanna", "Tanya", "Avril", "Leslie", "Kelly", + "Kim", "Jessica", "Joyce", "Connie", "Winifred", "Judith", "Lynn", "Cora", + "Diane", "Vivienne", "Lynda", "Marcella", "Natalie", "Olga", "Monika", "Charlotte", + "Kathy", "Stella", "Agnieszka", "Madeline", "Heather", "Vanessa", "Josie", "Muriel", + "Annemarie", "Bernadett", "Marguerite", "Melissa", "Norma", "Marta", "Diana", "Judy", + "Marina", "Melanie", "Mona", "Dawn", "Lena", "Morgan", "Lily", "Celia", + "Sonia", "Magdalena", "Nellie", "Beatrice", "Sadie", "Joy", "Lee", "Sabrina", + "Delia", "Janice", "Vivian", "Gina", "Mai", "Jill", "Noelle", "Margret", + "Hilda", "Nicole", "Loretta", "Kathryn", "Naomi", "Leanne", "Gwen", "Elena", + "Ashley", "Marjorie", "Cecilia", "Violet", "Natalia", "Lesley", "Clara", "Gertrude", + "Sue", "Freda", "Sheena", "Michele", "Norah", "Rachael", "Rosemarie", "Vicky", + "Lucia", "Leona", "Anastasia", "Danielle", "Iris", "Mel", "Katarzyna", "Lillian", + "Gladys", "Alexandra", "Malgorzata", "Sophie", "Marianne", "Beata", "Myra", "Jeanette", + "Cathleen", "Gabrielle", "Inga", "Karol", "Carole", "Ethel", "Ana", "Cathrine", + "Ena", "Karina", "Ewa", "Carolyn", "Nina", "Sonya", "Zoe", "Alma", + "Edith", "Ingrid", "Gail", "Claudia", "Edwina", "Kerry", "Gloria", "Katrina", + "Elsie", "Madeleine", "Rosie", "Dan", "Shelia", "Margo", "Cristina", "Kristina", + "Susanne", "Isobel", "Belinda", "Debra", "Iwona", "Lynne", "Doris", "Erika", + "Charlene", "Lauren", "Lilian", "Simone", "Molly", "Nadine", "Rena", "Adele", + "Renata", "Janette", "Lilly", "Ina", "Leah", "Irina", "Svetlana", "Virginia", + "Assumpta", "Silvia", "Sylwia", "Ella", "Cheryl", "Karolina", "Maggie", "Stacey", + "Rasa", "Agata", "Dorota", "Arlene", "Maud", "Cynthia", +}); + +const auto irishLastNames = std::to_array({ + "Murphy", "Kelly", "Byrne", "Walsh", "Ryan", "Doyle", "Lynch", "Mccarthy", + "Brennan", "Dunne", "Murray", "Burke", "Smith", "Daly", "Nolan", "Kennedy", + "Fitzgerald", "Gallagher", "Flynn", "Collins", "Power", "Quinn", "Farrell", "Carroll", + "Kavanagh", "Connolly", "Healy", "Clarke", "Duffy", "Doherty", "Brady", "Whelan", + "Kenny", "Fitzpatrick", "Moore", "Keane", "Moran", "Reilly", "Mcgrath", "Barry", + "Foley", "Hayes", "Maher", "Buckley", "Martin", "Casey", "Roche", "Hughes", + "Smyth", "Browne", "Butler", "Mcmahon", "Hogan", "Griffin", "Egan", "White", + "Sweeney", "Cullen", "Hickey", "Ward", "Cunningham", "Maguire", "Lyons", "Mcdonnell", + "Delaney", "Cronin", "Sheehan", "Keogh", "Mccormack", "Higgins", "Curran", "Cahill", + "Mcloughlin", "Boyle", "Crowley", "Mckenna", "Sheridan", "Molloy", "Barrett", "Flanagan", + "King", "Moloney", "Phelan", "Dowling", "Mooney", "Mcnamara", "Corcoran", "Costello", + "Hennessy", "Malone", "Lawlor", "Conway", "Fox", "Kearney", "Carey", "Dempsey", + "Duggan", "Donnelly", "Mccabe", "Mcdermott", "Dolan", "Gleeson", "Cleary", "Joyce", + "Mcdonagh", "Kelleher", "Mcdonald", "Jones", "Redmond", "Mchugh", "Conroy", "Coleman", + "Reynolds", "Coughlan", "Cummins", "Kinsella", "Hurley", "Dillon", "Fleming", "Lee", + "Keating", "Clancy", "Tobin", "Breen", "Campbell", "Leahy", "Sullivan", "Morrissey", + "Leonard", "Rooney", "Greene", "Mahon", "Finn", "Coffey", "Cassidy", "Forde", + "Heffernan", "Long", "Bourke", "Cooney", "Madden", "Hynes", "Mcevoy", "Woods", + "Williams", "Finnegan", "Kirwan", "Geraghty", "Morris", "Wilson", "Doran", "Larkin", + "Meehan", "Hegarty", "Galvin", "Harrington", "Mulligan", "Allen", "Farrelly", "Fahy", + "Kiely", "Jordan", "Mcguinness", "Conlon", "Kane", "Lennon", "Callaghan", "Mccann", + "Coyle", "Boland", "Twomey", "Morgan", "Monaghan", "Treacy", "Gorman", "Dalton", + "Quigley", "Reid", "Mcgovern", "Mitchell", "Noonan", "Bradley", "Keenan", "Brown", + "Russell", "Mulcahy", "Fagan", "Dooley", "Wall", "Davis", "Mclaughlin", "Mullen", + "Horgan", "Burns", "Dwyer", "Carr", "Tierney", "Keegan", "Purcell", "Cotter", + "Naughton", "Kearns", "Scanlon", "Lane", "Fogarty", "Horan", "Thompson", "Murtagh", + "Harte", "Fallon", "Flood", "Wallace", "Hannon", "Grant", "Hanley", "Scully", + "Kehoe", "Johnston", "Slattery", "Ahern", "Glynn", "Taylor", "Connor", "Corrigan", + "Scott", "Kiernan", "Curtin", "Rogers", "Gannon", "Bolger", "Shanahan", "Regan", + "Flaherty", "Donohoe", "Nugent", "Behan", "Mannion", "Gibbons", "Donovan", "Quirke", + "Bergin", "Clifford", "Downey", "Graham", "Hyland", "Quinlan", "Henry", "Mcmanus", + "Prendergast", "Gaffney", "Robinson", "Moriarty", "Carolan", "Gavin", "Condon", "Mcgowan", + "Coyne", "Moco", "Young", "Bennett", "Mcgee", "Mcnally", "Mullins", "Brophy", + "Howard", "Matthews", "Hayden", "Fitzsimons", "Obrien", "Gill", "Feeney", "Reidy", + "Brosnan", "Donoghue", "Darcy", "Mcsweeney", "Jennings", "Johnson", "Walshe", "Cox", + "Cooke", "Moynihan", "Stewart", "Owens", "Geoghegan", "Sheehy", "Ennis", "Lawless", + "Crowe", "Shannon", "Gray", "Boylan", "Mangan", "Rice", "Holland", "Furlong", + "Jackson", "Connell", "Vaughan", "Oconnor", "Sexton", "Maloney", "Whyte", "Devine", + "Broderick", "Anderson", "Hunt", "English", "Halpin", "Blake", "Dunphy", "Mcguire", + "Harris", "Walker", "Devlin", "Mcbride", "O'brien", "O'connor", "O'sullivan", "O'neill", + "O'reilly", "O'connell", "O'donnell", "O'shea", "O'leary", "O'keeffe", "O'donovan", "O'mahony", + "O'callaghan", "O'donoghue", "O'rourke", "O'toole", "O'dwyer", "O'driscoll", "O'grady", "O'regan", + "O'malley", "O'riordan", "O'gorman", "O'halloran", "O'hara", "O'meara", "O'loughlin", "O'flynn", + "O'hanlon", "O'dowd", "O'flaherty", "O'byrne", "O'carroll", "O'farrell", +}); + +const auto irishSuffixes = std::to_array({ + "Jr.", "Sr.", "I", "II", "III", "IV", + "V", "MD", "DDS", "PhD", "DVM", +}); + +const auto irishMalePrefixes = std::to_array({"Mr.", "Dr."}); + +const auto irishFemalePrefixes = std::to_array({"Mrs.", "Ms.", "Miss", "Dr."}); + +// TODO: add handling lastName-lastName + +const NameFormats irishNameFormats{{{"{firstName} {lastName}", 49}, + {"{prefix} {firstName} {lastName}", 7}, + {"{firstName} {lastName} {suffix}", 7}, + {"{prefix} {firstName} {lastName} {suffix}", 1}}}; + +const PeopleNames irishPeopleNames{{irishMaleFirstNames, irishLastNames, irishMalePrefixes, irishSuffixes}, + {irishFemaleFirstNames, irishLastNames, irishFemalePrefixes, irishSuffixes}, + irishNameFormats}; // Israel -extern const std::array israelisMaleFirstNames; -extern const std::array israelisFemaleFirstNames; -extern const std::array israelisLastNames; -extern const NameFormats israelisNameFormats; -extern const PeopleNames israeliPeopleNames; +const auto israelisMaleFirstNames = std::to_array({ + "דוד", "לביא", "אריאל", "יוסף", "נועם", "אורי", "רפאל", "ארי", "משה", "יהודה", "אברהם", + "איתן", "דניאל", "ישראל", "איתי", "שמואל", "אליה", "יהונתן", "יצחק", "שמעון", "יעקב", "מיכאל", + "עומר", "יונתן", "אהרון", "חיים", "אימרי", "אדם", "שלמה", "איתמר", "עידו", "יאיר", "ינאי", + "מאיר", "ישי", "מרדכי", "הראל", "בניה", "ניתאי", "בנימין", "אליהו", "מנחם", "ליאם", "בארי", + "אלון", "עילאי", "עמית", "בן", "נתן", "אור", "נתנאל", "ריף", "אביב", "גיא", "נהוראי", + "מאור", "ריי", "רום", "ליאו", "נוה", "יובל", "הלל", "עומרי", "שחר", "אלרואי", "רוי", + "נריה", "נדב", "דור", "צבי", "מלאכי", "רועי", "עידן", "ראם", "אביתר", "נבו", "תום", + "אלחנן", "אוריאל", "מעיין", "אריה", "שלום", "גבריאל", "אליאב", "עוז", "אליעזר", "שילה", "ארבל", + "ירדן", "לני", "יואב", "נחמן", "גפן", "ליאור", "יהושע", "אביאל", "דן", "לוי", "אמיתי", + "יהב", "עמנואל", "זיו", "אייל", "אלעזר", "מתן", "ידידיה", "פנחס", "יהלי", "אופק", "אופיר", + "אבישי", "בר", "דביר", "יחיאל", "עברי", "אוריה", "שקד", "לירוי", "שי", "רני", "ים", + "נפתלי", "יגל", "פלג", "אסף", "ינון", "אדיר", "רון", "שליו", "אושר", "כפיר", "אשר", + "ברוך", "רותם", "שניאור", "אפרים", "גל", "דין", "טום", "רואי", "תומר", "אוראל", "נטע", + "אלמוג", "עתי", "ראובן", "יותם", "שמחה", "זוהר", "טומי", "שון", "רז", "עופרי", "יחזקאל", + "יהל", "ירין", "יואל", "צור", "סהר", "ליאב", "דב", "עקיבא", "טל", "זאב", "גלעד", + "ברי", "גבע", "איליי", "אלישע", "הדר", "אילון", "ניב", "אדר", "קורן", "עילי", "ליעד", + "הילל", "אליאור", "אחיה", "סיני", "אושרי", "קאי", "אמרי", "אלימלך", "בועז", "יוחנן", "כרמל", + "אלרועי", "יאן", "שאול", "אסיף", "שלו", "ליאל", "ברק", "עדן", "ארז", "עדיאל", "דרור", + "ניל", "ישעיה", "עופר", "יפתח", "נחום", "אראל", "כרמי", "טוהר", "פאר", "מרום", "דורי", + "ארד", "לאו", "רעי", "אלעד", "עמיחי", "מאורי", "נגב", "גור", "אביחי", "ליאון", "עובדיה", + "עדי", "אורן", "ריו", "און", "שוהם", "אלרוי", "טוביה", "בניהו", "עזרא", "גיל", "אלאור", + "נח", "דולב", "אפק", "אביעד", "אלנתן", "יאר", "אילן", "דילן", "סאן", "נאור", "ניצן", + "מבשר", "אליעד", "קדם", "תבור", "לאון", "אליאל", "אלקנה", "ריין", "נורי", "יונה", "אלכסנדר", + "מתניה", "מייקל", "איתיאל", "אלרום", "בצלאל", "יוחאי", "יקותיאל", "מיאל", "סול", "דורון", "אבינועם", + "אוהד", "חגי", "יששכר", "שיר", "ענבר", "אביגדור", "יוגב", "ניסים", "שגיא", "ניר", "נרי", + "מתנאל", "אייר", "מנור", "לידור", "אביאור", "ישעיהו", "עזריאל", "עמוס", "תבל", "חנוך", "להב", + "צורי", "נחמיה", "שמשון", "כרם", "אלי", "הוד", "יער", "אפיק", "שגב", "אלישיב", "אמיר", +}); + +const auto israelisFemaleFirstNames = std::to_array({ + "תמר", "מאיה", "אביגיל", "נועה", "שרה", "איילה", "אדל", "יעל", "שירה", "אסתר", "חנה", + "אלה", "מרים", "רחל", "רבקה", "ליה", "חיה", "טליה", "רוני", "רומי", "מיכל", "נויה", + "אריאל", "רות", "ליבי", "עלמה", "הלל", "אמה", "גפן", "גאיה", "נעמי", "הודיה", "עומר", + "נגה", "אגם", "יובל", "שי-לי", "אפרת", "לאה", "מלכה", "אורי", "אוריה", "יהלי", "תהילה", + "אמילי", "יהודית", "תהל", "ארבל", "טוהר", "ליאן", "הדסה", "אבישג", "הילה", "אלישבע", "אלמה", + "נעמה", "עדי", "שקד", "עופרי", "שי", "מיקה", "הדס", "דבורה", "מעיין", "לני", "נטע", + "נועם", "הדר", "הללי", "מיאל", "אליה", "ליב", "נחמה", "אור", "ברכה", "אופיר", "אביב", + "ריף", "צפורה", "שיר", "שחר", "עמנואל", "חוה", "ליאל", "מוריה", "מיכאלה", "דניאל", "ירדן", + "שושנה", "זוהר", "אביטל", "עדן", "מאי", "ניב", "אלי", "שוהם", "אלין", "עמית", "אביה", + "גלי", "בר", "אן", "שיה", "בתיה", "יולי", "פיגא", "הילי", "רני", "אנאל", "שייה", + "גילי", "שני", "יסכה", "איימי", "זיו", "בת שבע", "כרמל", "סול", "דריה", "נאיה", "אודל", + "יערה", "שולמית", "שילת", "דניאלה", "אמונה", "ענהאל", "אמיליה", "ליבא", "מילה", "רונה", "אורין", + "ארייה", "שיינא", "טובה", "רותם", "גיטל", "גל", "יוכבד", "מאור", "אוריאן", "תבל", "טל", + "שיראל", "שפרה", "יעלה", "פנינה", "אלכס", "ליאור", "משי", "אליאן", "יהב", "איילת", "רננה", + "צופיה", "עמליה", "אורה", "תאיר", "מיילי", "איב", "לורן", "לירי", "זואי", "אמי", "ים", + "יהל", "סופיה", "קרני", "אליענה", "רון", "בת", "אלונה", "בלומה", "דני", "לייה", "אדוה", + "ניצן", "לינוי", "רז", "רנה", "הינדא", "עדינה", "ענבר", "לין", "דור", "אייר", "אחינועם", + "פלג", "אודיה", "אריאה", "עדיה", "עטרה", "דינה", "נלי", "גילה", "ארין", "אמור", "צביה", + "כרמי", "הלני", "נוי", "אנה", "ליאה", "גוני", "שיינדל", "לוטם", "פערל", "ליאם", "דורון", + "גולדה", "כרם", "פריאל", "ליהי", "תפארת", "כליל", "אודליה", "נינה", "אלומה", "יוטא", "בארי", + "רינה", "תמרה", "אופק", "דרור", "חן", "לילי", "אהובה", "רעות", "אמלי", "רייזל", "תגל", + "עידן", "מישל", "אווה", "מנור", "מילי", "נסיה", "דוריה", "בילא", "גיל", "סתיו", "קים", + "אלמוג", "אדר", "חושן", "ספיר", "אילת", "סהר", "יפה", "אלינור", "מיי", "שלי", "תום", + "מיתר", "נילי", "היילי", "יסמין", "ירין", "ריין", "לירון", "איטה", "ליהיא", "מרגלית", "מייה", + "גיטי", "אושר", "תומר", "אופל", "איידל", "חגית", "מנוחה", "ניקול", "סימה", "דר", "נאוה", + "תהלה", "מאורי", "אסנת", "טויבא", "רוחמה", "שירי", "הניה", "פריידא", "קדם", "בל", "אליאנה", + "קמה", "רום", "פאר", "לי", "מטר", "סימא", "עליזה", "ריי", "אוליביה", "אשירה", "הענא", +}); + +const auto israelisLastNames = std::to_array({ + "כהן", "לוי", "מזרחי", "פרץ", "ביטון", "דהן", "אברהם", "פרידמן", "אזולאי", + "מלכה", "כץ", "דוד", "אוחיון", "חדד", "עמר", "גבאי", "יוסף", "בן דוד", + "אדרי", "קליין", "חן", "טל", "לוין", "שפירא", "חזן", "מחאמיד", "זועבי", + "לוין", "מנשה", "אוחנה", "סועאד", "גולן", "סגל", "אשכנזי", "יצחק", "בר", + "יעקב", "מור", "שלום", "אליהו", "דיין", "סויסה", "לביא", "אלבז", "שמש", + "אטיאס", "בכר", "נחום", "שטרן", "שרעבי", "אלון", "רוזנברג", "ממן", "בן חמו", + "מימון", "שחר", "וקנין", "ששון", "עובדיה", "אסולין", "שורץ", "מאיר", "וייס", + "גרינברג", "חסן", "אמסלם", "גולדשטיין", "ברוך", "טאהא", "עזרא", "יפרח", "פלדמן", + "רובין", "הראל", "סלאמה", "סבג", "קדוש", "מנסור", "עמאש", "חיים", "שחאדה", + "רז", "קורן", "גולדברג", "צור", "חסון", "אברמוב", "שרון", "רבינוביץ", "סופר", + "חלבי", "ישראל", "דדון", "יצחקי", "שוורץ", "ישראלי", "דניאל", "נעים", "אהרוני", + "לב", "עיסא", "רחמים", "הרוש", "נאסר", "שושן", "ברק", "יחזקאל", "דוידוב", + "יאסין", "מילר", "אורן", "עודה", "קפלן", "סלימאן", "בנימין", "נגר", "חיון", + "גרוס", "רוזן", "גל", "הרשקוביץ", "סולומון", "אסרף", "מלול", "אבו כף", "סלע", + "שטרית", "אבראהים", "ברקוביץ", "יהודה", "פלד", "צרפתי", "הייב", "בן שושן", "זידאן", + "זוהר", "שלו", "עלי", "זיו", "עמאר", "גאנם", "גוטמן", "אהרון", "גנאים", + "מויאל", "מרעי", "אבו ליל", "אלפסי", "אליאס", "אדלר", "פרנקל", "גאבר", "פלג", + "פישר", "ברגר", "ראובן", "מסרי", "שכטר", "צדוק", "ויצמן", "הלוי", "אביטן", + "אהרון", "לוגסי", "נסים", "רוזנפלד", "מועלם", "שוויקי", "ליפשיץ", "דרעי", "עטיה", + "תורגמן", "עואד", "שוקרון", "שקד", "דגן", "שמעוני", "דיאב", "רוט", "ליברמן", + "יעקובוב", "ליבוביץ", "סעיד", "מנחם", "בן חיים", "חורי", "פולק", "ברכה", "עאסלה", + "פוקס", "חדאד", "גולדמן", "שמואלי", "שגב", "אברהמי", "מוסא", "תורג'מן", "פרי", + "הררי", "אילוז", "סרחאן", "מנשה", "אוזן", "מרדכי", "קוגן", "יונס", "צברי", + "עומר", "קרן", "שדה", "ח'לאילה", "שאול", "אביטל", "שני", "סלומון", "קאסם", + "אלימלך", "שטיין", "עבדאללה", "שיטרית", "דרור", "מלמד", "יונה", "כחלון", "חביב", + "טויטו", "חביבאללה", "סבן", "חמו", "פנחס", "בן עמי", "סעדי", "בוזגלו", "דנינו", + "פז", "חמדאן", "בן סימון", "רוזנטל", "בן משה", "סעד", "גדיר", "יוסופוב", "בוסקילה", + "בדארנה", "ארביב", "אמארה", "דביר", "אבו אל היג'א", "אביב", "עליאן", "שלמה", "פורת", + "פריד", "גוטליב", "חיימוב", "קאופמן", "רביבו", "אשר", "אבו סאלח", "מרקוביץ", "אביטבול", + "אברמוביץ", "יעקבי", "שניידר", "אבו רמילה", "אלקיים", "רגב", "נחמני", "זהבי", "פינטו", +}); + +const NameFormats israelisNameFormats{{"{lastName} {firstName}", 1}}; + +const PeopleNames israeliPeopleNames{{israelisMaleFirstNames, israelisLastNames, {}, {}}, + {israelisFemaleFirstNames, israelisLastNames, {}, {}}, + israelisNameFormats}; // Italy -extern const std::array italianMaleFirstNames; -extern const std::array italianFemaleFirstNames; -extern const std::array italianLastNames; -extern const std::array italianPrefixes; -extern const NameFormats italianNameFormats; -extern const PeopleNames italianPeopleNames; +const auto italianMaleFirstNames = std::to_array({ + "Abaco", "Abbondanzio", "Abbondio", "Abdone", "Abelardo", "Abele", "Abenzio", + "Abibo", "Abramio", "Abramo", "Acacio", "Acario", "Accursio", "Achille", + "Acilio", "Aciscolo", "Acrisio", "Adalardo", "Adalberto", "Adalfredo", "Adalgiso", + "Adalrico", "Adamo", "Addo", "Adelardo", "Adelberto", "Adelchi", "Adelfo", + "Adelgardo", "Adelmo", "Adeodato", "Adolfo", "Adone", "Adriano", "Adrione", + "Afro", "Agabio", "Agamennone", "Agapito", "Agazio", "Agenore", "Agesilao", + "Agostino", "Agrippa", "Aiace", "Aidano", "Aimone", "Aladino", "Alamanno", + "Alano", "Alarico", "Albano", "Alberico", "Alberto", "Albino", "Alboino", + "Albrico", "Alceo", "Alceste", "Alcibiade", "Alcide", "Alcino", "Aldo", + "Aldobrando", "Aleandro", "Aleardo", "Aleramo", "Alessandro", "Alessio", "Alfio", + "Alfonso", "Alfredo", "Algiso", "Alighiero", "Almerigo", "Almiro", "Aloisio", + "Alvaro", "Alviero", "Alvise", "Amabile", "Amadeo", "Amando", "Amanzio", + "Amaranto", "Amato", "Amatore", "Amauri", "Ambrogio", "Ambrosiano", "Amedeo", + "Amelio", "Amerigo", "Amico", "Amilcare", "Amintore", "Amleto", "Amone", + "Amore", "Amos", "Ampelio", "Anacleto", "Andrea", "Angelo", "Aniceto", + "Aniello", "Annibale", "Ansaldo", "Anselmo", "Ansovino", "Antelmo", "Antero", + "Antimo", "Antino", "Antioco", "Antonello", "Antonio", "Apollinare", "Apollo", + "Apuleio", "Aquilino", "Araldo", "Aratone", "Arcadio", "Archimede", "Archippo", + "Arcibaldo", "Ardito", "Arduino", "Aresio", "Argimiro", "Argo", "Arialdo", + "Ariberto", "Ariele", "Ariosto", "Aris", "Aristarco", "Aristeo", "Aristide", + "Aristione", "Aristo", "Aristofane", "Aristotele", "Armando", "Arminio", "Arnaldo", + "Aronne", "Arrigo", "Arturo", "Ascanio", "Asdrubale", "Asimodeo", "Assunto", + "Asterio", "Astianatte", "Ataleo", "Atanasio", "Athos", "Attila", "Attilano", + "Attilio", "Auberto", "Audace", "Augusto", "Aureliano", "Aurelio", "Auro", + "Ausilio", "Averardo", "Azeglio", "Azelio", "Bacco", "Baldassarre", "Balderico", + "Baldo", "Baldomero", "Baldovino", "Barbarigo", "Bardo", "Bardomiano", "Barnaba", + "Barsaba", "Barsimeo", "Bartolo", "Bartolomeo", "Basileo", "Basilio", "Bassiano", + "Bastiano", "Battista", "Beato", "Bellino", "Beltramo", "Benedetto", "Beniamino", + "Benigno", "Benito", "Benvenuto", "Berardo", "Berengario", "Bernardo", "Beronico", + "Bertoldo", "Bertolfo", "Biagio", "Bibiano", "Bindo", "Bino", "Birino", + "Bonagiunta", "Bonaldo", "Bonaventura", "Bonavita", "Bonifacio", "Bonito", "Boris", + "Bortolo", "Brancaleone", "Brando", "Bruno", "Bruto", "Caino", "Caio", + "Calanico", "Calcedonio", "Callisto", "Calogero", "Camillo", "Candido", "Cantidio", + "Canziano", "Carlo", "Carmelo", "Carmine", "Caronte", "Carponio", "Casimiro", + "Cassiano", "Cassio", "Casto", "Cataldo", "Catullo", "Cecco", "Cecilio", + "Celso", "Cesare", "Cesario", "Cherubino", "Chiaffredo", "Cino", "Cipriano", + "Cirano", "Ciriaco", "Cirillo", "Cirino", "Ciro", "Clarenzio", "Claudio", + "Cleandro", "Clemente", "Cleonico", "Climaco", "Clinio", "Clodomiro", "Clodoveo", + "Colmanno", "Colmazio", "Colombano", "Colombo", "Concetto", "Concordio", "Corbiniano", + "Coreno", "Coriolano", "Cornelio", "Coronato", "Corrado", "Cosimo", "Cosma", + "Costante", "Costantino", "Costanzo", "Cremenzio", "Crescente", "Crescenzio", "Crespignano", + "Crispino", "Cristaldo", "Cristiano", "Cristoforo", "Crocefisso", "Cuniberto", "Cupido", + "Daciano", "Dacio", "Dagoberto", "Dalmazio", "Damaso", "Damiano", "Damocle", + "Daniele", "Danilo", "Danio", "Dante", "Dario", "Davide", "Davino", + "Decimo", "Delfino", "Demetrio", "Democrito", "Demostene", "Deodato", "Desiderato", + "Desiderio", "Didimo", "Diego", "Dino", "Diocleziano", "Diodoro", "Diogene", + "Diomede", "Dione", "Dionigi", "Dionisio", "Divo", "Dodato", "Domenico", + "Domezio", "Domiziano", "Donatello", "Donato", "Doriano", "Doroteo", "Duccio", + "Duilio", "Durante", "Eberardo", "Ecclesio", "Edgardo", "Edilberto", "Edmondo", + "Edoardo", "Efisio", "Efrem", "Egeo", "Egidio", "Eginardo", "Egisto", + "Eleuterio", "Elia", "Eliano", "Elifio", "Eligio", "Elio", "Eliodoro", + "Eliseo", "Elita", "Elmo", "Elogio", "Elpidio", "Elvezio", "Elvino", + "Emanuele", "Emidio", "Emiliano", "Emilio", "Emmerico", "Empirio", "Endrigo", + "Enea", "Enecone", "Ennio", "Enrico", "Enzo", "Eraclide", "Eraldo", + "Erardo", "Erasmo", "Erberto", "Ercolano", "Ercole", "Erenia", "Eriberto", + "Erico", "Ermanno", "Ermenegildo", "Ermes", "Ermete", "Ermilo", "Erminio", + "Ernesto", "Eros", "Esaù", "Esuperio", "Eterie", "Ettore", "Euclide", + "Eufebio", "Eufemio", "Eufronio", "Eugenio", "Eusebio", "Euseo", "Eustorgio", + "Eustosio", "Eutalio", "Evaldo", "Evandro", "Evaristo", "Evasio", "Everardo", + "Evidio", "Evodio", "Evremondo", "Ezechiele", "Ezio", "Fabiano", "Fabio", + "Fabrizio", "Famiano", "Fausto", "Fazio", "Fedele", "Federico", "Fedro", + "Felice", "Feliciano", "Ferdinando", "Fermiano", "Fermo", "Fernando", "Ferruccio", + "Festo", "Fidenziano", "Fidenzio", "Filiberto", "Filippo", "Filomeno", "Fiorenziano", + "Fiorenzo", "Flaviano", "Flavio", "Fleano", "Floriano", "Folco", "Fortunato", + "Fosco", "Francesco", "Franco", "Frido", "Frontiniano", "Fulberto", "Fulgenzio", + "Fulvio", "Furio", "Furseo", "Fuscolo", "Gabino", "Gabriele", "Gaetano", + "Gaglioffo", "Gaio", "Galdino", "Galeazzo", "Galileo", "Gallicano", "Gandolfo", + "Garimberto", "Gaspare", "Gastone", "Gaudenzio", "Gaudino", "Gautiero", "Gavino", + "Gedeone", "Geminiano", "Generoso", "Genesio", "Gennaro", "Gentile", "Genziano", + "Gerardo", "Gerasimo", "Geremia", "Gerino", "Germano", "Gerolamo", "Geronimo", + "Geronzio", "Gervasio", "Gesualdo", "Gherardo", "Giacinto", "Giacobbe", "Giacomo", + "Giadero", "Giambattista", "Gianbattista", "Giancarlo", "Giandomenico", "Gianfranco", "Gianluca", + "Gianluigi", "Gianmarco", "Gianmaria", "Gianmario", "Gianni", "Gianpaolo", "Gianpiero", + "Gianpietro", "Gianuario", "Giasone", "Gilberto", "Gildo", "Gillo", "Gineto", + "Gino", "Gioacchino", "Giobbe", "Gioberto", "Giocondo", "Gioele", "Giona", + "Gionata", "Giordano", "Giorgio", "Giosuè", "Giosuele", "Giotto", "Giovanni", + "Giove", "Gioventino", "Giovenzio", "Girardo", "Girolamo", "Giuda", "Giuliano", + "Giulio", "Giuseppe", "Giustiniano", "Giusto", "Glauco", "Goffredo", "Golia", + "Gomberto", "Gondulfo", "Gonerio", "Gonzaga", "Gordiano", "Gosto", "Gottardo", + "Graciliano", "Grato", "Graziano", "Gregorio", "Grimaldo", "Gualberto", "Gualtiero", + "Guelfo", "Guerrino", "Guglielmo", "Guiberto", "Guido", "Guiscardo", "Gumesindo", + "Gustavo", "Iacopo", "Iacopone", "Iago", "Icaro", "Icilio", "Ido", + "Iginio", "Igino", "Ignazio", "Igor", "Ilario", "Ildebrando", "Ildefonso", + "Illidio", "Illuminato", "Immacolato", "Indro", "Innocente", "Innocenzo", "Iorio", + "Ippocrate", "Ippolito", "Ireneo", "Isacco", "Isaia", "Ischirione", "Isidoro", + "Ismaele", "Italo", "Ivan", "Ivano", "Ivanoe", +}); + +const auto italianFemaleFirstNames = std::to_array({ + "Abbondanza", "Acilia", "Ada", "Adalberta", "Adalgisa", "Addolorata", "Adelaide", "Adelasia", + "Adele", "Adelina", "Adina", "Adria", "Adriana", "Agape", "Agata", "Agnese", + "Agostina", "Aida", "Alba", "Alberta", "Albina", "Alcina", "Alda", "Alessandra", + "Alessia", "Alfonsa", "Alfreda", "Alice", "Alida", "Alina", "Allegra", "Alma", + "Altea", "Amalia", "Amanda", "Amata", "Ambra", "Amelia", "Amina", "Anastasia", + "Anatolia", "Ancilla", "Andromeda", "Angela", "Angelica", "Anita", "Anna", "Annabella", + "Annagrazia", "Annamaria", "Annunziata", "Antea", "Antigone", "Antonella", "Antonia", "Apollina", + "Apollonia", "Appia", "Arabella", "Argelia", "Arianna", "Armida", "Artemisa", "Asella", + "Asia", "Assunta", "Astrid", "Atanasia", "Aurelia", "Aurora", "Ausilia", "Ausiliatrice", + "Ave", "Aza", "Azelia", "Azzurra", "Babila", "Bambina", "Barbara", "Bartolomea", + "Basilia", "Bassilla", "Batilda", "Beata", "Beatrice", "Belina", "Benedetta", "Beniamina", + "Benigna", "Benvenuta", "Berenice", "Bernadetta", "Betta", "Bianca", "Bibiana", "Bice", + "Brigida", "Brigitta", "Bruna", "Brunilde", "Calogera", "Calpurnia", "Camelia", "Camilla", + "Candida", "Capitolina", "Carina", "Carla", "Carlotta", "Carmela", "Carmen", "Carola", + "Carolina", "Casilda", "Casimira", "Cassandra", "Cassiopea", "Catena", "Caterina", "Cecilia", + "Celeste", "Celinia", "Chiara", "Cinzia", "Cirilla", "Clara", "Claudia", "Clelia", + "Clemenzia", "Cleo", "Cleofe", "Cleopatra", "Cloe", "Clorinda", "Cointa", "Colomba", + "Concetta", "Consolata", "Cora", "Cordelia", "Corinna", "Cornelia", "Cosima", "Costanza", + "Crescenzia", "Cristiana", "Cristina", "Crocefissa", "Cronida", "Cunegonda", "Cuzia", "Dafne", + "Dalida", "Dalila", "Damiana", "Daniela", "Daria", "Deanna", "Debora", "Degna", + "Delfina", "Delia", "Delinda", "Delizia", "Demetria", "Deodata", "Desdemona", "Desiderata", + "Devota", "Diamante", "Diana", "Dianora", "Diletta", "Dina", "Diodata", "Dionisia", + "Doda", "Dolores", "Domenica", "Donata", "Donatella", "Donna", "Dora", "Dorotea", + "Druina", "Dulina", "Ebe", "Edda", "Edelberga", "Editta", "Edvige", "Egizia", + "Egle", "Elaide", "Elda", "Elena", "Eleonora", "Elettra", "Eliana", "Elide", + "Elimena", "Elisa", "Elisabetta", "Elisea", "Ella", "Eloisa", "Elsa", "Elvia", + "Elvira", "Emanuela", "Emilia", "Emiliana", "Emma", "Enimia", "Enrica", "Eracla", + "Ermelinda", "Ermenegarda", "Ermenegilda", "Erminia", "Ernesta", "Ersilia", "Esmeralda", "Estella", + "Ester", "Esterina", "Eufemia", "Eufrasia", "Eugenia", "Eulalia", "Euridice", "Eusebia", + "Eutalia", "Eva", "Evangelina", "Evelina", "Fabiana", "Fabiola", "Fatima", "Fausta", + "Federica", "Fedora", "Felicia", "Felicita", "Fernanda", "Fiammetta", "Filippa", "Filomena", + "Fiordaliso", "Fiore", "Fiorella", "Fiorenza", "Flaminia", "Flavia", "Flaviana", "Flora", + "Floriana", "Floridia", "Florina", "Foca", "Fortunata", "Fosca", "Franca", "Francesca", + "Fulvia", "Gabriella", "Gaia", "Galatea", "Gaudenzia", "Gelsomina", "Geltrude", "Gemma", + "Generosa", "Genesia", "Genoveffa", "Germana", "Gertrude", "Ghita", "Giacinta", "Giada", + "Gigliola", "Gilda", "Giliola", "Ginevra", "Gioacchina", "Gioconda", "Gioia", "Giorgia", + "Giovanna", "Gisella", "Giuditta", "Giulia", "Giuliana", "Giulitta", "Giuseppa", "Giuseppina", + "Giusta", "Glenda", "Gloria", "Godeberta", "Godiva", "Grazia", "Graziana", "Graziella", + "Greta", "Griselda", "Guenda", "Guendalina", "Gundelinda", "Ianira", "Ida", "Idea", + "Iginia", "Ilaria", "Ilda", "Ildegarda", "Ildegonda", "Ileana", "Ilenia", "Ilia", + "Ilva", "Imelda", "Immacolata", "Incoronata", "Ines", "Innocenza", "Iolanda", "Iole", + "Iona", "Ione", "Ionne", "Irene", "Iride", "Iris", "Irma", "Irmina", + "Isa", "Isabella", "Iside", "Isidora", "Isotta", "Italia", "Ivetta", "Lara", + "Laura", "Lavinia", "Lea", "Leda", "Lelia", "Lena", "Leonia", "Leonilda", + "Leontina", "Letizia", "Lia", "Liana", "Liberata", "Liboria", "Licia", "Lidania", + "Lidia", "Liliana", "Linda", "Lisa", "Livia", "Liviana", "Lodovica", "Loredana", + "Lorella", "Lorena", "Lorenza", "Loretta", "Loriana", "Luana", "Luce", "Lucia", + "Luciana", "Lucilla", "Lucrezia", "Ludovica", "Luigia", "Luisa", "Luminosa", "Luna", + "Macaria", "Maddalena", "Mafalda", "Magda", "Maida", "Manuela", "Mara", "Marana", + "Marcella", "Mareta", "Margherita", "Maria", "Marianna", "Marica", "Mariella", "Marilena", + "Marina", "Marinella", "Marinetta", "Marisa", "Marita", "Marta", "Martina", "Maruta", + "Marzia", "Massima", "Matilde", "Maura", "Melania", "Melissa", "Melitina", "Menodora", + "Mercede", "Messalina", "Mia", "Michela", "Milena", "Mimma", "Mina", "Minerva", + "Minervina", "Miranda", "Mirella", "Miriam", "Mirta", "Moira", "Monica", "Morena", + "Morgana", "Nadia", "Natalia", "Natalina", "Neiva", "Nerea", "Nicla", "Nicoletta", + "Nilde", "Nina", "Ninfa", "Nives", "Noemi", "Norina", "Norma", "Novella", + "Nuccia", "Nunziata", "Odetta", "Odilia", "Ofelia", "Olga", "Olimpia", "Olinda", + "Olivia", "Oliviera", "Ombretta", "Ondina", "Onesta", "Onorata", "Onorina", "Orchidea", + "Oriana", "Orietta", "Ornella", "Orsola", "Orsolina", "Ortensia", "Osanna", "Otilia", + "Ottilia", "Palladia", "Palmazio", "Palmira", "Pamela", "Paola", "Patrizia", "Pelagia", + "Penelope", "Perla", "Petronilla", "Pia", "Piera", "Placida", "Polissena", "Porzia", + "Prisca", "Priscilla", "Proserpina", "Prospera", "Prudenzia", "Quartilla", "Quieta", "Quiteria", + "Rachele", "Raffaella", "Rainelda", "Rebecca", "Regina", "Renata", "Riccarda", "Rina", + "Rita", "Roberta", "Romana", "Romilda", "Romina", "Romola", "Rosa", "Rosalia", + "Rosalinda", "Rosamunda", "Rosanna", "Rosita", "Rosmunda", "Rossana", "Rossella", "Rufina", + "Saba", "Sabina", "Sabrina", "Samanta", "Samona", "Sandra", "Santina", "Sara", + "Savina", "Scolastica", "Sebastiana", "Seconda", "Secondina", "Sefora", "Selene", "Selvaggia", + "Semiramide", "Serafina", "Serena", "Severa", "Sibilla", "Sidonia", "Silvana", "Silvia", + "Simona", "Simonetta", "Siria", "Smeralda", "Soave", "Sofia", "Sofronia", "Solange", + "Sonia", "Speranza", "Stefania", "Stella", "Susanna", "Sveva", "Tabita", "Tamara", + "Tarquinia", "Tarsilla", "Taziana", "Tea", "Tecla", "Telica", "Teodata", "Teodolinda", + "Teodora", "Teresa", "Teudosia", "Tina", "Tiziana", "Tosca", "Trasea", "Tullia", + "Ugolina", "Ulfa", "Uliva", "Unna", "Vala", "Valentina", "Valeria", "Valeriana", + "Vanda", "Vanessa", "Vanna", "Venera", "Veneranda", "Venere", "Venusta", "Vera", + "Verdiana", "Verena", "Veriana", "Veridiana", "Veronica", "Viliana", "Vilma", "Vincenza", + "Viola", "Violante", "Virginia", "Vissia", "Vittoria", "Viviana", "Wanda", "Zabina", + "Zaira", "Zama", "Zanita", "Zarina", "Zelinda", "Zenobia", "Zita", "Zoe", + "Zosima", +}); + +const auto italianLastNames = std::to_array({ + "Abate", "Abbate", "Abbondanza", "Abbrescia", "Accardi", "Accardo", "Accurso", + "Aceto", "Acquadro", "Acquaviva", "Acquistapace", "Adami", "Adamo", "Addari", + "Addis", "Adragna", "Affinito", "Agnello", "Agostinelli", "Agostini", "Agresta", + "Aiello", "Alaimo", "Albanese", "Albano", "Alberti", "Alcamo", "Alessandrini", + "Alessi", "Alfano", "Alfieri", "Alivernini", "Allegretti", "Aloi", "Altieri", + "Amabile", "Amadori", "Amato", "Ambrosini", "Ambrosino", "Ambrosio", "Amendola", + "Amerio", "Amici", "Amico", "Ammoscato", "Amoroso", "Amoruso", "Ancona", + "Andreoli", "Andrisani", "Anelli", "Angeletti", "Angeli", "Angelini", "Angeloni", + "Angelucci", "Annunziata", "Anselmi", "Anselmo", "Antenucci", "Antezza", "Antonacci", + "Antonelli", "Antonini", "Antonucci", "Anzalone", "Apicella", "Aprile", "Aquino", + "Aramini", "Arcangeli", "Arena", "Argenio", "Argento", "Argiolas", "Artioli", + "Asaro", "Ascione", "Astolfi", "Atzeni", "Atzori", "Avallone", "Avola", + "Azara", "Babini", "Bacci", "Baggio", "Baiocco", "Balboni", "Baldacci", + "Baldassarre", "Baldi", "Baldini", "Baldo", "Balducci", "Balestra", "Balistreri", + "Ballarin", "Balsamo", "Balzano", "Bandini", "Bani", "Baraldi", "Barbagallo", + "Barbarossa", "Barbarulo", "Barbato", "Barbera", "Barberi", "Barberis", "Barbero", + "Barbieri", "Barbiero", "Barile", "Barillà", "Barletta", "Barone", "Baroni", + "Barra", "Barreca", "Barresi", "Barretta", "Barsotti", "Bartoli", "Bartolini", + "Bartolomei", "Bartolucci", "Basile", "Bassani", "Bassi", "Basso", "Battaglia", + "Battista", "Battisti", "Battistini", "Bedini", "Belli", "Bellini", "Bellomo", + "Bellotti", "Bellucci", "Belmonte", "Belotti", "Beltrame", "Beltrami", "Belvisi", + "Benatti", "Benedetti", "Benedetto", "Benetti", "Benigni", "Benini", "Bennardo", + "Bentivoglio", "Benvenuti", "Benvenuto", "Berardi", "Beretta", "Bergamasco", "Bergamini", + "Bernabei", "Bernardi", "Bernardini", "Bernasconi", "Bertaccini", "Bertani", "Bertelli", + "Berti", "Bertini", "Berto", "Bertolini", "Bertolussi", "Beso", "Betti", + "Bevilacqua", "Biagetti", "Biagi", "Biagini", "Bianc", "Biancheri", "Bianchetti", + "Bianchi", "Bianchini", "Bianco", "Biasci", "Biccari", "Biggi", "Bindi", + "Bini", "Bionaz", "Biondi", "Bisconti", "Bisio", "Bizzarri", "Blanc", + "Blasi", "Bocchi", "Boccia", "Bodini", "Boffa", "Boi", "Bologna", + "Bonanni", "Bonanno", "Bonato", "Bonazzi", "Bonelli", "Bonetti", "Bongiorno", + "Bongiovanni", "Boni", "Bonifazi", "Bonini", "Bono", "Bonomi", "Bonomo", + "Bordoni", "Borelli", "Borghi", "Borgia", "Borrelli", "Bortolin", "Bortoluzzi", + "Bortot", "Boscaino", "Boschetti", "Boschi", "Bosco", "Boscolo", "Bosi", + "Botta", "Bove", "Bovolenta", "Bozzi", "Bozzo", "Braia", "Brambilla", + "Branca", "Brandi", "Bresciani", "Bressan", "Briano", "Brigandì", "Brignone", + "Brizzi", "Brogi", "Brumat", "Brunelli", "Brunetti", "Bruni", "Bruno", + "Bruschi", "Bruzzone", "Buccheri", "Bucci", "Bulgarelli", "Buongiorno", "Buonomo", + "Burgio", "Butera", "Buzzi", "Cabras", "Caccamo", "Caccavo", "Cacciapuoti", + "Cacciatore", "Cadoni", "Caforio", "Caggiano", "Caiazza", "Caiazzo", "Calabrese", + "Calabria", "Calabrò", "Calafiore", "Calandro", "Calì", "Califano", "Callegari", + "Calligaris", "Calò", "Camilli", "Cammarata", "Cammisa", "Campagna", "Campana", + "Campanella", "Campanile", "Campanini", "Campisi", "Campo", "Campoli", "Campus", + "Canale", "Cancelliere", "Cancellieri", "Candela", "Candido", "Canepa", "Cangiano", + "Canino", "Cannas", "Cannata", "Cannella", "Cannone", "Canova", "Cantagallo", + "Cantoni", "Canu", "Capannolo", "Capasso", "Capecchi", "Capelli", "Capitani", + "Capizzi", "Capoccia", "Capocotta", "Capogna", "Capone", "Caporaso", "Cappai", + "Cappelletti", "Cappelli", "Cappello", "Cappiello", "Capponi", "Capraro", "Capriotti", + "Capuano", "Caputo", "Cara", "Caracciolo", "Caradonna", "Carbon", "Carbone", + "Carboni", "Cardella", "Cardia", "Cardinale", "Cardinali", "Cardini", "Cardone", + "Carè", "Careddu", "Carella", "Caretti", "Caricari", "Carini", "Carletti", + "Carli", "Carlini", "Carlino", "Carloni", "Carlotti", "Carlucci", "Carminati", + "Carnevale", "Carnovale", "Carollo", "Carosi", "Carrara", "Carraro", "Carrieri", + "Carriero", "Carrozza", "Carrozzo", "Carrus", "Carta", "Caruso", "Carvelli", + "Casadei", "Casadio", "Casagrande", "Casale", "Casali", "Casano", "Casavecchia", + "Cascio", "Cascone", "Casella", "Caselli", "Caserta", "Casini", "Casolaro", + "Cassano", "Castagna", "Castaldi", "Castaldo", "Castellana", "Castellani", "Castellano", + "Castelli", "Castiello", "Castiglioni", "Casu", "Casula", "Catalano", "Cataldi", + "Cataldo", "Catania", "Catanzaro", "Catarsi", "Catellani", "Caterino", "Cattaneo", + "Cattani", "Cavaliere", "Cavalieri", "Cavallari", "Cavallaro", "Cavalli", "Cavallini", + "Cavallo", "Cavriani", "Ceccarelli", "Ceccarini", "Cecchetti", "Cecchi", "Cecchini", + "Cecere", "Celano", "Celentano", "Celeste", "Celi", "Celli", "Cellini", + "Cenni", "Centofanti", "Cerise", "Cerrani", "Cerrato", "Cerri", "Cerullo", + "Cerutti", "Cesaretti", "Cherchi", "Cherubini", "Chessa", "Chessari", "Chiacchio", + "Chianese", "Chiaravalle", "Chiavacci", "Chilà", "Chimenti", "Chiodi", "Chirico", + "Ciaccio", "Ciacio", "Ciampa", "Cianci", "Ciani", "Ciavarella", "Cicala", + "Cicatiello", "Ciccarelli", "Cicchetti", "Ciccone", "Cifarelli", "Cilli", "Cimmino", + "Cinelli", "Cingolani", "Cini", "Cioffi", "Cioni", "Ciotola", "Ciotti", + "Cipolla", "Cipollaro", "Cipolletta", "Cipriani", "Cipriano", "Cirelli", "Cirillo", + "Citro", "Cittadino", "Ciuffetelli", "Ciuffreda", "Ciulla", "Clemente", "Coccia", + "Cocco", "Cola", "Colangelo", "Colantuono", "Colella", "Coletta", "Colombo", + "Colonna", "Colucci", "Comito", "Como", "Concas", "Conforti", "Congiu", + "Coniglio", "Consiglio", "Cont", "Conte", "Conti", "Contini", "Contu", + "Coppola", "Corazza", "Cordioli", "Coretti", "Corona", "Corradi", "Corradini", + "Corrado", "Corrao", "Correale", "Corridori", "Corsi", "Corsini", "Corso", + "Cortese", "Cortesi", "Corti", "Cortinovis", "Cosentino", "Coslovich", "Cossu", + "Costa", "Costantin", "Costantini", "Costantino", "Costanza", "Costanzo", "Cottone", + "Coviello", "Cozzani", "Cozzi", "Cozzolino", "Crea", "Cremona", "Cremonesi", + "Crepaldi", "Crescenzi", "Crespi", "Crevatin", "Crimi", "Crippa", "Crisafulli", + "Criscenti", "Crisci", "Criscione", "Crispino", "Cristiano", "Cristofaro", "Critelli", + "Croce", "Cruciani", "Cruciata", "Cucchiara", "Cucciniello", "Cuomo", "Curci", + "Curcio", "Curreli", "Fucci", "Fumagalli", "Fumarola", "Fuoco", "Furlan", + "Furno", "Fusaro", "Fusco", "Gabriele", "Gabrielli", "Gaddini", "Gagliano", + "Gagliardi", "Galante", "Galasso", "Galati", "Galeazzi", "Galli", "Gallo", + "Galluzzo", "Gamba", "Gamberini", "Gambino", "Gamper", "Gandolfo", "Gangemi", + "Garau", "Garavaglia", "Gargiulo", "Garifo", "Garofalo", "Gaspari", "Gasparini", + "Gasser", "Gatta", "Gatti", "Gatto", "Gaudiano", +}); + +const auto italianPrefixes = std::to_array({"Sig.", "Dott.", "Dr.", "Ing."}); + +const NameFormats italianNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 9}}}; + +const PeopleNames italianPeopleNames{{italianMaleFirstNames, italianLastNames, italianPrefixes, {}}, + {italianFemaleFirstNames, italianLastNames, italianPrefixes, {}}, + italianNameFormats}; // Japan -extern const std::array japaneseMaleFirstNames; -extern const std::array japaneseFemaleFirstNames; -extern const std::array japaneseLastNames; -extern const NameFormats japaneseNameFormats; -extern const PeopleNames japanesePeopleNames; +const auto japaneseMaleFirstNames = std::to_array({ + "正一", "正二", "正三", "清", "辰雄", "三郎", "昭二", "昭三", "茂", "勇", "明", "弘", "勝", "稔", + "博", "隆", "誠", "浩", "健一", "大輔", "達也", "翔太", "拓也", "健太", "大輝", "翔", "駿", "蓮", + "大翔", "陸", "悠真", "蒼", "昭", "実", "進", "和夫", "修", "浩一", "哲也", "剛", "大介", "海斗", + "拓海", "颯太", "悠斗", "陽翔", "湊", "新", "樹", "正雄", "勝利", "豊", "和彦", "学", "直樹", "健太郎", + "大和", "陽向", "瑛太", "陽太", "正", "一郎", "勲", "徹", "浩二", "亮", "大樹", "翼", "義雄", "昭一", + "功", "武", "淳", "和也", "大地", "匠", "悠人", "朝陽", "律", "武雄", "英樹", "秀樹", "祐介", "雄太", + "翔平", "大貴", "太陽", "颯", "陽斗", "颯真", "蒼空", "優斗", "正治", "昇", "竜也", "聡", "貴大", "直人", + "輝", "優太", "悠太", "陸斗", "太一", "悠", "浩之", "健", "博之", "亮太", "一輝", "空", "陽大", "正夫", + "秀雄", "幸雄", "勉", "崇", "洋平", "拓哉", "涼太", "大雅", "海翔", "龍生", "結翔", "悠翔", "葵", "正男", + "辰男", "一男", "優", "雄大", "康平", "智也", "竜", "悠希", "歩夢", +}); + +const auto japaneseFemaleFirstNames = std::to_array({ + "千代子", "静子", "文子", "キヨ", "千代", "ハル", "キミ", "久子", "ヨシ", "清子", "正子", "貞子", + "八重子", "きよ", "フミ", "ハナ", "和子", "愛子", "きみ", "トミ", "はる", "マサ", "美代子", "光子", + "幸子", "照子", "芳子", "節子", "昭子", "信子", "敏子", "典子", "君子", "弘子", "洋子", "美智子", + "京子", "悦子", "栄子", "孝子", "良子", "恵子", "勝子", "紀子", "恵美子", "啓子", "久美子", "由美子", + "裕子", "順子", "智子", "明美", "愛", "恵", "麻衣", "麻美", "香織", "美穂", "彩", "沙織", + "愛美", "絵美", "舞", "恵美", "陽子", "成美", "あゆみ", "美香", "理恵", "友美", "智美", "明日香", + "由佳", "瞳", "麻衣子", "彩香", "真由美", "純子", "直美", "優子", "裕美", "由美", "直子", "めぐみ", + "美紀", "浩子", "ゆかり", "さくら", "美咲", "陽菜", "葵", "七海", "美羽", "結衣", "美月", "凛", + "美優", "未来", "優奈", "萌", "優花", "美桜", "莉子", "菜月", "結愛", "結菜", "花音", "心優", + "真央", "玲奈", "ひなた", "彩乃", "彩花", "優衣", "琴音", "百花", "遥", "里奈", "茜", "千尋", + "楓", "亜美", "佳奈", "真由", "桃子", "菜々子", "千夏", "菜摘", "奈々", "早紀", "杏", "陽葵", + "芽依", "結月", "咲良", "凜", "紬", "心愛", "花", "心春", "愛莉", "愛菜", "桜", "心結", + "美結", +}); + +const auto japaneseLastNames = std::to_array({ + "佐藤", "鈴木", "高橋", "田中", "渡辺", "伊藤", "山本", "中村", "小林", "加藤", + "吉田", "山田", "佐々木", "山口", "斎藤", "松本", "井上", "木村", "林", "清水", +}); + +const NameFormats japaneseNameFormats{{"{lastName} {firstName}", 1}}; +const PeopleNames japanesePeopleNames{{japaneseMaleFirstNames, japaneseLastNames, {}, {}}, + {japaneseFemaleFirstNames, japaneseLastNames, {}, {}}, + japaneseNameFormats}; // Kazakhstan -extern const std::array kazakhMaleFirstNames; -extern const std::array kazakhFemaleFirstNames; -extern const std::array kazakhMaleLastNames; -extern const std::array kazakhFemaleLastNames; -extern const NameFormats kazakh_personNameFormats; -extern const PeopleNames kazakhPeopleNames; +const auto kazakhMaleFirstNames = std::to_array({ + "Абай", "Абдолла", "Абдулла", "Абдуллаһ", "Абдінасір", "Абылай", "Азамат", "Азиз", + "Айбек", "Айберген", "Айболат", "Айдос", "Айнабек", "Айсұлтан", "Айтқали", "Ақжан", + "Ақжол", "Аққу", "Алдаберген", "Алдияр", "Алпан", "Алпысбай", "Алтай", "Алтынбай", + "Алтынбек", "Амангелді", "Амандос", "Аманжол", "Амантай", "Аңсар", "Арыстан", "Арыстанбек", + "Асанбай", "Асанғали", "Асқар", "Асылбек", "Ахмет", "Аюхан", "Әбдуәли", "Әбдіғазиз", + "Әбдіғани", "Әбдіғаппар", "Әбдіжаппар", "Әбдіжәміл", "Әбдіқадыр", "Әбділда", "Әбділхамит", "Әбдімәлік", + "Әбдіразақ", "Әбдірахман", "Әбдірәсіл", "Әбдішүкір", "Әбиірбек", "Әбубәкір", "Әбуғали", "Әбілғазы", + "Әбілқайыр", "Әділ", "Әділбек", "Әділхан", "Әкежан", "Әлжан", "Әлжаппар", "Әли", + "Әлімжан", "Әлімқұл", "Әліхан", "Әмірбек", "Әнес", "Әсет", "Әубәкір", "Әуелхан", + "Бағдат", "Базарбай", "Байысхан", "Бақтияр", "Бақытжан", "Балтабек", "Бауыржан", "Бәкір", + "Бейбіт", "Бейсен", "Бекболат", "Бекзат", "Бердібек", "Бердіқұл", "Болат", "Боранбай", + "Бөріхан", "Бүркітбай", "Біржан", "Ғабдулла", "Ғабдұлла", "Ғабит", "Ғазиз", "Ғазизхан", + "Ғалымжан", "Ғани", "Ғаппар", "Ғұсман", "Дамир", "Даниял", "Дастан", "Дәлелхан", + "Дәнеш", "Дәулет", "Дәуіт", "Дос", "Досай", "Дүйсен", "Дүйсенғазы", "Дінмұхамед", + "Дінмұхаммед", "Еділ", "Елнұр", "Ербол", "Ерболат", "Ербосын", "Ережеп", "Ерекен", + "Еркебұлан", "Еркін", "Ерлан", "Ермек", "Ермұхамет", "Ерік", "Есбосын", "Есенгелді", + "Ескендір", "Жабайхан", "Жақия", "Жақсыбек", "Жақып", "Жақыпбек", "Жамалбек", "Жанбек", + "Жанболат", "Жандос", "Жанқуат", "Жанпейіс", "Жаңабай", "Жаңабек", "Жарасбай", "Жарасқан", + "Жармұқамет", "Жармұхамед", "Жармұхамет", "Жауынбай", "Жеменей", "Жеңіс", "Жолбарыс", "Жолжақсы", + "Жомарт", "Жомартбай", "Жұмабай", "Жұмағали", "Жұмақан", "Жұмамұрат", "Жұманазар", "Жұмекен", + "Жүніс", "Жүсіп", "Жүсіпбек", "Жылқыбек", "Зәкария", "Зәкәрия", "Зұлпықар", "Ибрахим", + "Ибраһим", "Иса", "Ислам", "Исламбек", "Исхақ", "Кәрім", "Кенжеғұл", "Кеңгірбай", + "Керімбай", "Күнесхан", "Қабдолла", "Қабдула", "Қабдыкәрім", "Қабыл", "Қажымқан", "Қайролла", + "Қалихан", "Қалқаман", "Қанат", "Қаныш", "Қаржаубай", "Қасым", "Қасымбек", "Қатшыбек", + "Қияқбай", "Қойшыбек", "Қуан", "Қуаныш", "Қуат", "Құбыш", "Құдайберген", "Құдыс", +}); + +const auto kazakhFemaleFirstNames = std::to_array({ + "Ағила", "Ажар", "Ажаргүл", "Аида", "Айгүл", "Айдай", "Айжан", "Айжүрек", "Айнұр", + "Айша", "Ақбота", "Ақгүл", "Ақерке", "Ақжан", "Ақкүміс", "Аққу", "Алмагүл", "Алтынай", + "Анаргүл", "Ардақ", "Аруай", "Аружан", "Аяжан", "Аяужан", "Әдила", "Әдина", "Әлима", + "Әлия", "Әсел", "Әсемай", "Әсемгүл", "Базаргүл", "Бақаргүл", "Батима", "Бибігүл", "Ботакөз", + "Гауһар", "Гүлажар", "Гүлай", "Гүлбақыт", "Гүлбаршын", "Гүлболсын", "Гүлдана", "Гүлжан", "Гүлжауһар", + "Гүлмира", "Гүлнар", "Гүлнұр", "Гүлпариза", "Гүлфайрус", "Гүлфариза", "Гүлшара", "Гүлшат", "Ғайни", + "Ғалия", "Дариға", "Дәлила", "Дина", "Динара", "Ділдә", "Елерке", "Жазира", "Жамал", + "Жанар", "Жаннұр", "Жансая", "Жәмила", "Жолжақсы", "Жұлдыз", "Жібек", "Зейнекүл", "Зияда", + "Зылиха", "Күнсұлу", "Қадиша", "Қанағат", "Қарақат", "Қасиет", "Ләззат", "Ләтипа", "Лейла", + "Мақпал", "Марияш", "Мәриям", "Нәзерке", "Нұрбақыт", "Нұрзада", "Нұрсауле", "Нұрсұлу", "Перизат", + "Райана", "Райхан", "Раяна", "Рәбиға", "Риза", "Роза", "Сабина", "Сайрагүл", "Салтанат", + "Самал", "Сара", "Сәнімгүл", "Сәуле", "Таңшолпан", "Ұлбала", "Ұлбике", "Ұлболсын", "Ұлдана", + "Ұлжан", "Ұлмекен", "Фатима", "Хадиша", "Халида", "Шарапат", "Шахзада", "Шаһизада", "Шәмшия", + "Шәрбану", "Шолпан", "Ырысты", "Іңкәр", +}); + +const auto kazakhMaleLastNames = std::to_array({ + "Асылмұратов", "Әбдірахманов", "Әлімқұлов", "Етекбаев", "Жүнісов", "Жүсіп", "Иманқұлов", + "Исламқұлов", "Қуатбаев", "Құлов", "Мәженов", "Назарбаев", "Рүстемов", "Сәтбаев", + "Сұлтанбеков", "Сүгірбаев", "Сүлейменов", "Тоқаев", "Торайғыров", "Тұяқбаев", "Ысмайылов", +}); + +const auto kazakhFemaleLastNames = std::to_array({ + "Әбдірахманова", "Әлімқұлова", "Етекбаева", "Жүнісова", "Иманқұлова", "Исламқұлова", + "Қуатбаева", "Құлова", "Мәженова", "Назарбаева", "Рүстемова", "Сұлтанбекова", + "Сүгірбаева", "Сүлейменова", "Тоқаева", "Тұяқбаева", "Ысмайылова", "Асылмұратова", +}); + +const NameFormats kazakh_personNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames kazakhPeopleNames{{kazakhMaleFirstNames, kazakhMaleLastNames, {}, {}}, + {kazakhFemaleFirstNames, kazakhFemaleLastNames, {}, {}}, + kazakh_personNameFormats}; // Korea -extern const std::array koreanMaleFirstNames; -extern const std::array koreanLastNames; -extern const NameFormats koreanNameFormats; -extern const PeopleNames koreanPeopleNames; +const auto koreanMaleFirstNames = std::to_array({ + "서연", "민서", "서현", "지우", "서윤", "지민", "수빈", "하은", "예은", "윤서", "민준", "지후", "지훈", + "준서", "현우", "예준", "건우", "현준", "민재", "우진", "은주", "서준", "도윤", "시우", "주원", "하준", + "지호", "준우", "도현", "선우", "서진", "연우", "유준", "정우", "승우", "승현", "시윤", "준혁", "은우", + "지환", "승민", "유찬", "윤우", "민성", "준영", "시후", "진우", "지원", "수현", "재윤", "시현", "동현", + "수호", "태윤", "민규", "재원", "한결", "민우", "재민", "은찬", "윤호", "시원", "이준", "민찬", "지안", + "시온", "성민", "준호", "승준", "성현", "이안", "현서", "재현", "하율", "지한", "우빈", "태민", "지성", + "예성", "민호", "태현", "지율", "민혁", "서우", "성준", "은호", "규민", "정민", "윤성", "윤재", "하람", + "하진", "민석", "준수", "은성", "태양", "예찬", "준희", "도훈", "하민", +}); + +const auto koreanLastNames = std::to_array({ + "김", "이", "박", "최", "정", "강", "조", "윤", "장", "임", "오", "한", "신", "서", "권", "황", "안", "송", "류", + "홍", "유", "전", "양", "고", "문", "손", "배", "백", "허", "노", "심", "하", "주", "구", "곽", "성", "차", "우", + "진", "민", "나", "지", "엄", "변", "채", "원", "방", "천", "공", "현", "함", "여", "염", "석", "추", "도", "소", + "설", "선", "마", "길", "연", "위", "표", "명", "기", "반", "라", "왕", "금", "옥", "육", "인", "맹", "제", "모", + "남", "탁", "국", "어", "경", "은", "편", "용", "예", "봉", "사", "부", "가", "복", "태", "목", "형", "피", "두", + "감", "호", "음", "빈", "동", "온", "시", "범", "좌", "팽", "승", "간", "상", "갈", "단", "견", "당", +}); + +const NameFormats koreanNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames koreanPeopleNames{{koreanMaleFirstNames, koreanLastNames, {}, {}}, + {koreanMaleFirstNames, koreanLastNames, {}, {}}, + koreanNameFormats}; // Latvia -extern const std::array latvianMaleFirstNames; -extern const std::array latvianFemaleFirstNames; -extern const std::array latvianMaleLastNames; -extern const std::array latvianFemaleLastNames; -extern const std::array latvianSuffixes; -extern const std::array latvianPrefixes; -extern const NameFormats latvianNameFormats; -extern const PeopleNames latvianPeopleNames; +const auto latvianMaleFirstNames = std::to_array({ + "Ainārs", "Alfrēds", "Aloīzs", "Aļģirds", "Aļģis", "Andris", "Andžejs", "Andžs", "Anrijs", + "Anšlavs", "Arkādijs", "Armīns", "Artūrs", "Arvīds", "Ādams", "Ādolfs", "Ārijs", "Āris", + "Boļeslavs", "Broņislavs", "Dāgs", "Dāvids", "Dāvis", "Edgars", "Edvīns", "Eduards", "Edžus", + "Egīls", "Einārs", "Eižens", "Elmārs", "Emīls", "Ermīns", "Ervīns", "Ēriks", "Ēvalds", + "Gunārs", "Ģederts", "Ģirts", "Ilgmārs", "Ilmārs", "Inārs", "Indriķis", "Ingmārs", "Jānis", + "Jāzeps", "Jevgeņijs", "Jēkabs", "Jurģis", "Jūlijs", "Kārlis", "Klāvs", "Konrāds", "Konstantīns", + "Kristiāns", "Krišjānis", "Krišs", "Leonīds", "Marģers", "Matīss", "Mārcis", "Māris", "Mārtiņš", + "Miķelis", "Monvīds", "Niklāvs", "Ojārs", "Oļegs", "Oļģerts", "Pāvils", "Pēteris", "Regnārs", + "Renārs", "Ričards", "Romāns", "Rūdis", "Rūdolfs", "Rūsiņš", "Tālis", "Tālivaldis", "Tālrīts", + "Uģis", "Valdemārs", "Valentīns", "Valērijs", "Vilmārs", "Vitālijs", "Voldemārs", "Zigfrīds", "Zigmārs", + "Žanis", +}); + +const auto latvianFemaleFirstNames = std::to_array({ + "Aīda", "Akvelīna", "Albertīne", "Alvīne", "Amālija", "Astrīda", "Aurēlija", "Ārija", "Baņuta", + "Bārbala", "Beāte", "Dagmāra", "Dainuvīte", "Dārta", "Diāna", "Dzirkstīte", "Dzīle", "Edīte", + "Elfrīda", "Elīna", "Elīza", "Elmīra", "Elvīra", "Emīlija", "Ernestīne", "Evelīna", "Ērika", + "Frīda", "Gabriela", "Gudrīte", "Ģertrūde", "Helēna", "Hermīne", "Ināra", "Ingrīda", "Ingūna", + "Irēna", "Īrisa", "Janīna", "Jasmīna", "Jautrīte", "Judīte", "Justīne", "Jūlija", "Jūsma", + "Karīna", "Katrīna", "Klāra", "Kristiāna", "Kristīne", "Lavīze", "Lāsma", "Leonīda", "Leontīne", + "Liāna", "Liliāna", "Lība", "Līga", "Līksma", "Līna", "Līva", "Līvija", "Līze", + "Luīze", "Lūcija", "Malvīne", "Māra", "Mārīte", "Mētra", "Modrīte", "Mudīte", "Olīvija", + "Otīlija", "Patrīcija", "Paulīne", "Pārsla", "Regīna", "Renāte", "Rudīte", "Rūta", "Sabīne", + "Sarmīte", "Saulcerīte", "Skaidrīte", "Spīdola", "Tamāra", "Terēze", "Tīna", "Trīne", "Undīne", + "Valentīna", "Valērija", "Vēsma", "Vijolīte", "Vilhelmīne", "Vizbulīte", "Zeltīte", "Ziedīte", "Zigfrīda", + "Zigrīda", "Zīle", "Žanete", "Žanna", "Ženija", "Žubīte", +}); + +const auto latvianMaleLastNames = std::to_array({ + "Aigars", "Alksnis", "Andersons", "Aspers", "Auziņš", "Ābele", "Āboliņš", "Āboltiņš", + "Balodis", "Beļavskis", "Bergmanis", "Bērziņš", "Bērzīts", "Birziņš", "Birznieks", "Bīriņš", + "Blaus", "Blekte", "Breņķis", "Briedis", "Brunkevičs", "Builis", "Bušs", "Caune", + "Cālītis", "Cīrulis", "Čudars", "Danielsons", "Dīriķis", "Dombrovskis", "Dreimanis", "Dzenis", + "Eglītis", "Endziņš", "Fogelis", "Freimanis", "Gailis", "Gailītis", "Gibala", "Graudiņš", + "Gribusts", "Grīnbergs", "Grūbe", "Jansons", "Jēkabsons", "Jukums", "Kalējs", "Kalniņš", + "Karlsons", "Kauliņš", "Kārkliņš", "Kļaviņš", "Kohs", "Koks", "Krancis", "Krastiņš", + "Kraulis", "Krauze", "Krēsliņš", "Krieviņš", "Krievs", "Kronbergs", "Krūmiņš", "Kulmanis", + "Laiviņš", "Landmanis", "Lapiņš", "Lapsiņš", "Lasmanis", "Laubergs", "Lācis", "Legzdiņš", + "Lielmanis", "Liepiņš", "Līcis", "Līdaks", "Ločs", "Lodiņš", "Lūsis", "Matisons", + "Mednis", "Meiers", "Mekšs", "Melderis", "Melngailis", "Mihailovs", "Miķelsons", "Niedra", + "Osis", "Ostrovskis", "Ozers", "Ozoliņš", "Ozols", "Palters", "Pavlovskis", "Pencis", + "Petrovskis", "Pērkons", "Pētersons", "Podziņš", "Polis", "Pretkalniņš", "Priedītis", "Puķītis", + "Putniņš", "Riekstiņš", "Romanovskis", "Rozenbahs", "Rozītis", "Rubenis", "Rudzītis", "Runcis", + "Salmiņš", "Seržants", "Sietnieks", "Siliņš", "Sīlis", "Skudra", "Smuģis", "Sproģis", + "Sprūde", "Strautiņš", "Strautmanis", "Strazdiņš", "Širovs", "Šīrants", "Šmits", "Šteins", + "Tālbergs", "Teicāns", "Tiltiņš", "Tīrelis", "Tučs", "Ūdris", "Valters", "Vasils", + "Vecumnieks", "Veinbergs", "Veiss", "Vilks", "Vilsons", "Viļums", "Vinters", "Vītiņš", + "Vītoliņš", "Vītols", "Vītums", "Vollis", "Zariņš", "Zālītis", "Zeidmanis", "Zeltiņš", + "Ziemelis", "Zībers", "Zunda", "Zvaigzne", "Zvejnieks", "Zvinelis", "Mucenieks", "Dzirkalis", + "Arājs", "Sējējs", "Podnieks", "Ratnieks", "Deģis", "Bondars", "Sondors", "Namiķis", + "Jumiķis", "Muižnieks", "Bajārs", "Ķēniņš", "Ķeizars", "Barons", "Vaivads", "Zviedrs", + "Vācietis", "Lejiņš", "Vanags", "Celms", "Liepa", "Kalns", "Celmiņš", "Lejnieks", + "Bisenieks", "Kurzemnieks", "Saulietis", "Pakalnietis", "Pridāns", "Grodums", "Kalnājs", "Porgants", + "Sukuts", "Meškūns", "Rožkalns", "Mazjānis", "Latkovskis", "Jankovskis", "Šileiko", "Budreiko", + "Ivanovs", "Morozovs", "Logins", "Gasjūns", "Pauļuks", "Sosārs", +}); + +const auto latvianFemaleLastNames = std::to_array({ + "Aigare", "Alksne", "Andersone", "Aspere", "Auziņa", "Ābele", "Āboliņa", "Āboltiņa", + "Balode", "Beļavske", "Bergmane", "Bērziņa", "Bērzīte", "Birziņa", "Birzniece", "Bīriņa", + "Blaua", "Blekte", "Breņķe", "Briede", "Brunkeviča", "Buile", "Buša", "Cauna", + "Cālīte", "Cīrule", "Čudara", "Danielsone", "Dīriķe", "Dombrovska", "Dreimane", "Dzene", + "Eglīte", "Endziņa", "Fogele", "Freimane", "Gaile", "Gailīte", "Gibala", "Graudiņa", + "Gribuste", "Grīnberga", "Grūba", "Jansone", "Jēkabsone", "Jukuma", "Kalēja", "Kalniņa", + "Karlsone", "Kauliņa", "Kārkliņa", "Kļaviņa", "Koha", "Koka", "Krance", "Krastiņa", + "Kraule", "Krauze", "Krēsliņa", "Krieviņa", "Krieva", "Kronberga", "Krūmiņa", "Kulmane", + "Laiviņa", "Landmane", "Lapiņa", "Lapsiņa", "Lasmane", "Lauberga", "Lāce", "Legzdiņa", + "Lielmane", "Liepiņa", "Līce", "Līdaka", "Loča", "Lodiņa", "Lūse", "Matisone", + "Medne", "Meiere", "Mekša", "Meldere", "Melngaile", "Mihailova", "Miķelsone", "Niedra", + "Ose", "Ostrovska", "Ozere", "Ozoliņa", "Ozola", "Paltere", "Pavlovska", "Pence", + "Petrovska", "Pērkona", "Pētersone", "Podziņa", "Pole", "Pretkalniņa", "Priedīte", "Puķīte", + "Putniņa", "Riekstiņa", "Romanovska", "Rozenbaha", "Rozīte", "Rubene", "Rudzīte", "Runce", + "Salmiņa", "Seržante", "Sietniece", "Siliņa", "Sīle", "Skudra", "Smuģe", "Sproģe", + "Sprūde", "Strautiņa", "Strautmane", "Strazdiņa", "Širova", "Šīrante", "Šmite", "Šteina", + "Tālberga", "Teicāne", "Tiltiņa", "Tīrele", "Tuča", "Ūdre", "Valtere", "Vasile", + "Vecumniece", "Veinberga", "Veisa", "Vilka", "Vilsone", "Viļuma", "Vintere", "Vītiņa", + "Vītoliņa", "Vītola", "Vītuma", "Volle", "Zariņa", "Zālīte", "Zeidmane", "Zeltiņa", + "Ziemele", "Zībere", "Zunda", "Zvaigzne", "Zvejniece", "Zvinele", "Muceniece", "Dzirkale", + "Arāja", "Sējēja", "Podniece", "Ratniece", "Deģe", "Bondare", "Sondore", "Namiķe", + "Jumiķe", "Muižniece", "Bajāre", "Ķēniņa", "Ķeizare", "Barone", "Vaivade", "Zviedre", + "Vāciete", "Lejiņa", "Vanaga", "Celma", "Liepa", "Kalna", "Celmiņa", "Lejniece", + "Biseniece", "Kurzemniece", "Sauliete", "Pakalniete", "Pridāne", "Groduma", "Kalnāja", "Porgante", + "Sukute", "Meškūna", "Rožkalne", "Mazjāne", "Latkovska", "Jankovska", "Šileiko", "Budreiko", + "Ivanova", "Morozova", "Logina", "Gasjūne", "Pauļuka", "Sosāre", "Meškūne", +}); + +const auto latvianSuffixes = std::to_array({"k-dze", "kundze"}); + +const auto latvianPrefixes = std::to_array({"Prof.", "Dr.", "Biedrs"}); + +const NameFormats latvianNameFormats{ + {{"{firstName} {lastName}", 8}, {"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName} {suffix}", 1}}}; + +const PeopleNames latvianPeopleNames{ + {latvianMaleFirstNames, latvianMaleLastNames, latvianPrefixes, latvianSuffixes}, + {latvianFemaleFirstNames, latvianFemaleLastNames, latvianPrefixes, latvianSuffixes}, + latvianNameFormats}; // Lebanon -extern const std::array lebaneseMaleFirstNames; -extern const std::array lebaneseFemaleFirstNames; -extern const std::array lebaneseLastNames; -extern const NameFormats lebaneseNameFormats; -extern const PeopleNames lebanesePeopleNames; +const auto lebaneseMaleFirstNames = std::to_array({ + "Mohamed", "Ali", "Ahmed", "Hassan", "Hussein", "Abdel", "George", "Elias", "Yousef", + "Joseph", "Mahmoud", "Ibrahim", "Khaled", "Antoine", "Fadi", "Mostafa", "Michel", "Jan", + "Rabie", "Samir", "Waleed", "Abbas", "Omar", "Nabil", "Khalil", "Bilal", "Emad", + "Ghassan", "Jamal", "Ziad", "Samih", "Bassam", "Sami", "Khader", "Salim", "Tarek", + "Fouad", "Samer", "Shady", "Qasim", "Marwan", "Ramy", "Saeed", "Abdo", "Kamal", + "Jamil", "Essam", "Adnan", "Tawfiq", "Adel", "Raymond", "Salam", "Hossam", "Nadeem", + "Waseem", "Hisham", "Mousa", "Asaad", "Mahy", "Naji", "Amin", "Mounir", "Nazih", + "Mazen", "Suleiman", "Habib", "Haytham", "Ayman", "Yahya", "Milad", "Maher", "Riad", + "Emile", "Hani", "Mahdi", "Osama", "Wael", "Hadi", "Kamel", "Amer", "Robert", + "Kamil", "Sayed", "Karim", "Saad", "Nader", "Talal", "Rashid", "Simon", "Daniel", + "Fayez", "Anton", "Nasser", "Zuhair", "Mark", "Haidar", "Bashir", "Pascal", "Farid", + "Firas", "Salah", "Jack", "Malik", "Fares", "Ghazi", "Ismail", "Charles", "Hamza", + "Johnny", "Saleh", "Rony", "Christian", "Fawzi", "Suhail", "Morris", "Nizar", "Akram", + "Rafiq", "Mohsen", "Raed", "Andre", "Roy", "Anthony", "Majed", "Faisal", "Yvon", + "Zakaria", "Anwar", "Zaher", "Naeem", "Richard", "Adal", "Joel", "Shafiq", "Foad", + "Yasser", "Mansour", "Afif", "Anis", "Jaafar", "Mario", "Radwan", "Atef", "Patrick", + "Edmond", "Jalal", "Marcel", "Sherif", "Badr", "Lewis", "Hilal", "Salem", "Roland", + "Zain", "William", "Yacoub", "Henry", "Farouk", "Antonio", "Fahd", "Osman", "Victor", + "David", "Ralph", "Rafi", "Carlos", "Hatem", "Jawad", "Halim", "Michael", "Aziz", + "Salman", "Alain", "Bernard", "Amir", "Karam", "Badi", "Rabah", "Magi", "John", + "Antonius", "Taha", "Anas", "Randy", "Gilbert", "Adham", "Sultan", "Ammar", "Rashad", + "Amar", "Dia", "Taleb", "Alexander", "Peter", "Makram", "Younis", "Roly", "Iqbal", + "Andriy", "Iyad", "Wahib", "Ashraf", "Sidi", "Lawrence", "Hamad", "Louay", "Jesse", + "Yassin", "Hamid", "Jamie", "Julian", "Lucien", "Carl", "Chris", "Zaki", "Remy", + "Alberto", "Tamer", "Ayoub", "Nazim", "Rasheed", "Majid", "Sadiq", "Stephan", "Merlin", + "Abdullah", "Raouf", "Ricardo", "Noman", "Murad", "Christopher", "Angel", "Serge", "Massoud", + "Hany", "Roberto", "Asad", "Mesbah", "Marco", "Eduardo", "Mike", "Fadel", "Sheikh", + "Atta", "Andrew", "Roderick", "Frederick", "Ishaq", "Safi", "Edgar", "Najih", "Cesar", + "Adam", "Mamoun", "Domenech", "Gerard", "Dian", "Lotfi", "Wahid", "Keita", "Zaid", + "Taher", "Nizam", "Abraham", "Lucian", "Romeo", "Shahid", "Martin", "Aram", "Ronald", + "Amjad", "Saif", "Fahim", "Ramadan", "Elio", "Hamed", "Emilio", "Safwan", "Laurent", + "Bert", "Carlo", "Leon", "James", "Manuel", "Jaber", "Ayad", "Stephen", "Adeel", + "Samuel", "Marin", "Mazhar", "Cyril", "Aqeel", "Christof", "Kristian", "Giorgio", "Kalin", + "Mikhail", "Fathi", "Farhan", "Badri", "Arman", "Radi", "Demetri", "Guy", "Nasir", + "Saleem", "Luqman", "Yousif", "Sam", "Amr", "Daoud", "Ernest", "Mokhtar", "Jose", + "Raoul", "Alex", "Jano", "Sabri", "Albert", "Thomas", "Benjamin", "Fabian", "Saber", + "Sergio", "Steve", "Justin", "Germain", "Alfons", "Hector", "Shah", "Mathieu", "Rubin", + "Karmel", "Clemens", "Oliver", "Erik", "Bakr", "Mikael", "Shamil", "Nael", "Nassar", + "Jonathan", "Akbar", "Jalil", "Mumtaz", "Haj", "Armin", "Fatih", "Taj", "Mohamed", + "Ali", "Ahmed", "Hassan", "Hussein", "Abdel", "George", "Elias", "Yousef", "Joseph", + "Mahmoud", "Ibrahim", "Khaled", "Antoine", "Fadi", "Mostafa", "Michel", "Jan", "Rabie", + "Samir", "Waleed", "Abbas", "Omar", "Nabil", "Khalil", "Bilal", "Emad", "Ghassan", + "Jamal", "Ziad", "Samih", "Bassam", "Sami", "Khader", "Salim", "Tarek", "Fouad", + "Samer", "Shady", "Qasim", "Marwan", "Ramy", "Saeed", "Abdo", "Kamal", "Jamil", + "Essam", "Adnan", "Tawfiq", "Adel", "Raymond", "Salam", "Hossam", "Nadeem", "Waseem", + "Hisham", "Mousa", "Asaad", "Mahy", "Naji", "Amin", "Mounir", "Nazih", "Mazen", + "Suleiman", "Habib", "Haytham", "Ayman", "Yahya", "Milad", "Maher", "Riad", "Emile", + "Hani", "Mahdi", "Osama", "Wael", "Hadi", "Kamel", "Amer", "Robert", "Kamil", + "Sayed", "Karim", "Saad", "Nader", "Talal", "Rashid", "Simon", "Daniel", "Fayez", + "Anton", "Nasser", "Zuhair", "Mark", "Haidar", "Bashir", "Pascal", "Farid", "Firas", + "Salah", "Jack", "Malik", "Fares", "Ghazi", "Ismail", "Charles", "Hamza", "Johnny", + "Saleh", "Rony", "Christian", "Fawzi", "Suhail", "Morris", "Nizar", "Akram", "Rafiq", + "Mohsen", "Raed", "Andre", "Roy", "Anthony", "Majed", "Faisal", "Yvon", "Zakaria", + "Anwar", "Zaher", "Naeem", "Richard", "Adal", "Joel", "Shafiq", "Foad", "Yasser", + "Mansour", "Afif", "Anis", "Jaafar", "Mario", "Radwan", "Atef", "Patrick", "Edmond", + "Jalal", "Marcel", "Sherif", "Badr", "Lewis", "Hilal", "Salem", "Roland", "Zain", + "William", "Yacoub", "Henry", "Farouk", "Antonio", "Fahd", "Osman", "Victor", "David", + "Ralph", "Rafi", "Carlos", "Hatem", "Jawad", "Halim", "Michael", "Aziz", "Salman", + "Alain", "Bernard", "Amir", "Karam", "Badi", "Rabah", "Magi", "John", "Antonius", + "Taha", "Anas", "Randy", "Gilbert", "Adham", "Sultan", "Ammar", "Rashad", "Amar", + "Dia", "Taleb", "Alexander", "Peter", "Makram", "Younis", "Roly", "Iqbal", "Andriy", + "Iyad", "Wahib", "Ashraf", "Sidi", "Lawrence", "Hamad", "Louay", "Jesse", "Yassin", + "Hamid", "Jamie", "Julian", "Lucien", "Carl", "Chris", "Zaki", "Remy", "Alberto", + "Tamer", "Ayoub", "Nazim", "Rasheed", "Majid", "Sadiq", "Stephan", "Merlin", "Abdullah", + "Raouf", "Ricardo", "Noman", "Murad", "Christopher", "Angel", "Serge", "Massoud", "Hany", + "Roberto", "Asad", "Mesbah", "Marco", "Eduardo", "Mike", "Fadel", "Sheikh", "Atta", + "Andrew", "Roderick", "Frederick", "Ishaq", "Safi", "Edgar", "Najih", "Cesar", "Adam", + "Mamoun", "Domenech", "Gerard", "Dian", "Lotfi", "Wahid", "Keita", "Zaid", "Taher", + "Nizam", "Abraham", "Lucian", "Romeo", "Shahid", "Martin", "Aram", "Ronald", "Amjad", + "Saif", "Fahim", "Ramadan", "Elio", "Hamed", "Emilio", "Safwan", "Laurent", "Bert", + "Carlo", "Leon", "James", "Manuel", "Jaber", "Ayad", "Stephen", "Adeel", "Samuel", + "Marin", "Mazhar", "Cyril", "Aqeel", "Christof", "Kristian", "Giorgio", "Kalin", "Mikhail", + "Fathi", "Farhan", "Badri", "Arman", "Radi", "Demetri", "Guy", "Nasir", "Saleem", + "Luqman", "Yousif", "Sam", "Amr", "Daoud", "Ernest", "Mokhtar", "Jose", "Raoul", + "Alex", "Jano", "Sabri", "Albert", "Thomas", "Benjamin", "Fabian", "Saber", "Sergio", + "Steve", "Justin", "Germain", "Alfons", "Hector", "Shah", "Mathieu", "Rubin", "Karmel", + "Clemens", "Oliver", "Erik", "Bakr", "Mikael", "Shamil", "Nael", "Nassar", "Jonathan", + "Akbar", "Jalil", "Mumtaz", "Haj", "Armin", "Fatih", "Taj", +}); + +const auto lebaneseFemaleFirstNames = std::to_array({ + "Fatima", "Zainab", "Mary", "Mariam", "Laila", "Mona", "Elly", "Amal", + "Nada", "Hoda", "Samira", "Rita", "Khadija", "Rima", "Nadia", "Souad", + "Iman", "Lina", "Rania", "Sarah", "Rana", "Wafa", "Hanan", "Ghada", + "Hala", "Zahra", "Samar", "Siham", "Wissam", "Nawal", "Jihad", "Fadia", + "Nasreen", "Nour", "Jamila", "Manal", "Aida", "Hana", "Sana", "Mirna", + "Salwa", "Heba", "Elham", "Maria", "Hayam", "Nihad", "Susan", "Maya", + "Dalal", "Randa", "Hanna", "Sahar", "Najwa", "Faten", "Mai", "Alaa", + "Dany", "Sabah", "Sawsan", "Ibtisam", "Noha", "Josephine", "Nicola", "Georgette", + "Antoinette", "Samia", "Hayat", "Diana", "Salma", "Amna", "Najah", "Hind", + "Farah", "Rasha", "Sonia", "Jacqueline", "Rose", "Magda", "Lilian", "Nadine", + "Alia", "Najat", "Safa", "Anam", "Therese", "Linda", "Janet", "Elissa", + "Karol", "Rajaa", "Yasmin", "Rayan", "Maha", "Marwa", "Donia", "Lara", + "Nancy", "Claude", "Elian", "Maysaa", "Halima", "Rene", "Latifa", "Afaf", + "Basma", "Najla", "Ayesha", "Nathalie", "Jocelyn", "Katia", "Batoul", "Reda", + "Ahlam", "Norma", "Christine", "Caroline", "Malak", "Nidal", "Elin", "Karen", + "Marilyn", "Yola", "Janan", "Shadia", "Rabab", "Carla", "Nicole", "Stefani", + "Fadwa", "Samah", "Nahla", "Lamia", "Sandra", "Nora", "Jihan", "Jessica", + "Tania", "Hina", "Ihsan", "Badia", "Kawthar", "Hikmat", "Dalia", "Fattoum", + "Rehab", "Nelly", "Dina", "Jannat", "Kholoud", "Nazira", "Nariman", "Mira", + "Elia", "Violet", "Catherine", "Elaine", "Bahia", "Pauline", "Bushra", "Ala", + "Aya", "Joyce", "Aisha", "Asma", "Sally", "Grace", "Asmahan", "Julia", + "Joanna", "Fayrouz", "Dima", "Kristel", "Suhaila", "Sabine", "Juliet", "Dana", + "Emily", "Olga", "Carmen", "Nina", "Bernadette", "Nahed", "Awatif", "Nasim", + "Pamela", "Ana", "Madeleine", "Dania", "Ikram", "Marian", "Claire", "Silva", + "Deniz", "Lydia", "Margret", "Lubna", "Duaa", "Sandy", "Vera", "Zina", + "Lea", "Mariana", "Christina", "Raja", "Yara", "Abla", "Laura", "Hilda", + "Hajar", "Amira", "Anaya", "Fahima", "Lamis", "Ria", "Cynthia", "Rachel", + "Asmaa", "Manar", "Claudine", "Marina", "Naima", "Rahma", "Wahiba", "Tamara", + "Joan", "Dori", "Walaa", "Rosa", "Melia", "Ramona", "Georgina", "Saba", + "Asia", "Janine", "Nahia", "Lana", "Elizabeth", "Amanda", "Khadra", "Claudia", + "Bahija", "Anahid", "Giselle", "Ayat", "Jana", "Lucy", "Jennifer", "Selin", + "Rani", "Nayla", "Inas", "Zeina", "Myriam", "Tatiana", "Hassiba", "Najma", + "Silvana", "Alexandra", "Barbara", "Francis", "Juliana", "Liza", "Annie", "Ann", + "Adama", "Lorraine", "Shaheen", "Hadia", "Yousra", "Ela", "Elina", "Mari", + "Melissa", "Arlette", "Samara", "Ara", "Jenna", "Joy", "Claudette", "Hasna", + "Khawla", "Reina", "Vanessa", "Clara", "Monique", "Wesal", "Fawzia", "Rebecca", + "Nabila", "Ramia", "Suzy", "Charlotte", "Mounira", "Esther", "Helen", "Anita", + "Christel", "Doris", "Nermin", "Kamelia", "Wiam", "Nasima", "Silvia", "Amina", + "Dalida", "Louisa", "Zakia", "Katy", "Noel", "Andrea", "Razan", "Shahnaz", + "Natasha", "Rosy", "Donna", "Isabelle", "Natalya", "Maram", "Nasra", "Amani", + "Amelia", "Margaret", "Tina", "Tamar", "Ava", "Milada", "Gloria", "Azza", + "Angela", "Beatrice", "Amalia", "Elsa", "Nahida", "Bayan", "Valery", "Rabia", + "Rokaya", "Hawa", "Eliza", "Theresa", "Eliana", "Salima", "Monica", "Sima", + "Nargis", "Brigitte", "Kamila", "Samiha", "Daniella", "Dolly", +}); + +const auto lebaneseLastNames = std::to_array({ + "El din", "Allah", "El khoury", "Khalil", "Saad", "El hajj", "Ali", "Ibrahim", + "El masry", "Hassan", "Haidar", "Hamoud", "Saleh", "Ahmed", "Suleiman", "Mousa", + "Younis", "Yousef", "Karam", "Eisaa", "Mansour", "Farhat", "Aboud", "Haddad", + "Harb", "Deeb", "Hussein", "Ayoub", "Eid", "Saliba", "Hanna", "Shaheen", + "Dahir", "Matar", "Murad", "El haddad", "Awad", "Ismail", "Jaber", "Hamdan", + "Assaf", "Yassin", "Hashem", "Abbas", "Mohamed", "Obaid", "Diab", "Aoun", + "Zaiter", "Qasim", "Al ashqar", "Rizk", "Azar", "Nader", "Salama", "Darwish", + "El hassan", "El sayed", "Jouda", "Khalifa", "Farah", "Hamza", "Osman", "Saeed", + "Raad", "Nasser", "Taleb", "Fares", "Jaafar", "Nasr", "Mari", "Saab", + "Zidan", "Ghanim", "Hegazy", "Nemeh", "Al khatib", "Kanaan", "Nassar", "El halaby", + "Salloum", "Al zain", "Shehadeh", "Zgheib", "Khader", "Daou", "Habib", "Mostafa", + "Dagher", "Al hayek", "El shami", "Abdo", "Salim", "Khoury", "Yazbek", "Anton", + "Samaan", "Saqr", "Shams", "El helou", "Maalouf", "Hatoum", "Wahby", "Najm", + "Al asmar", "Fayad", "Wahba", "Rahal", "Rashid", "Asaad", "Hamada", "Tannous", + "Al moussawi", "Fawaz", "Hamieh", "Sfeir", "Nasif", "Fakih", "Jabbour", "Barakat", + "Samah", "Shamoun", "Al-qazi", "Elias", "Shalhoub", "Fadel", "Mahmoud", "Attieh", + "Al husseini", "Gerges", "Moawad", "Awadah", "Al hujairi", "Al rifai", "Akl", "Shaaban", + "Assi", "Faraj", "Al mekdad", "Al awar", "Aqeqi", "Dawood", "Muhanna", "Yahya", + "Zaid", "Ghosn", "Sarkis", "Choucair", "Melhem", "Ramadan", "Salman", "Shehab", + "Yamin", "Al sheikh", "Taha", "Juma", "Shukr", "Madi", "Saba", "Yacoub", + "Beydoun", "Boutros", "Al-hakim", "Sorour", "Amhaz", "Khaled", "Ammar", "Al khaliq", + "Itani", "Matta", "El gamal", "El fagaly", "Bassil", "Hassoun", "Al bitar", "Al sayegh", + "Mazloum", "Basharah", "Al ahmad", "Shadid", "Mortada", "Kassab", "Al najjar", "Al bustani", + "Zain", "Stephan", "Maroun", "Yaghi", "Tameh", "Sabra", "Bitar", "Tarbih", + "Salem", "Maatouq", "Mashik", "Hamad", "El ayoubi", "Al hussein", "Tabet", "Atwi", + "Shibli", "Mahdi", "Kfoury", "Shaia", "El mawla", "Touma", "Makhoul", "Shoman", + "Khalaf", "Mubarak", "El shaar", "Naeem", "Francis", "Alama", "Reda", "Trad", + "Sawaya", "Shoaib", "Odeh", "Ayyash", "Zaher", "Safi", "Omar", "Ghandour", + "El raey", "King", "Lahoud", "Badr", "Sassin", "El assaad", "Nakhla", "Zaarour", + "Marwa", "Badran", "Sherif", "Ziadeh", "Azzam", "Al mohammed", "Jamal", "Al-kurdi", + "Al rayes", "El gohary", "Makki", "Hammadi", "Fahd", "Mezher", "Suwaidan", "El arab", + "El sahely", "Habashi", "Zakaria", "Talis", "Gharib", "Sawan", "Hilal", "Ghannam", + "Al zubi", "Bazzi", "Rahma", "Munther", "Massoud", "Makarem", "El shamaly", "Bolas", + "Dargham", "Wakim", "Saif", "Mohsen", "El maghraby", "Karim", "Al sabbagh", "Al rahman", + "Al qadri", "Al sbai", "Hobeika", "Jawad", "Alloush", "Al-qadi", "Gabr", "Rabah", + "Ishaq", "Ghazal", "Aqeel", "El ghareeb", "Al-karim", "Khair", "Al homsi", "Noman", + "Nahra", "Karaki", "Iskandar", "Sweid", "Waked", "El taweel", "Abdullah", "Sobh", + "Raslan", "Amer", "Nicola", "Baro", "Hayek", "Al ghoul", "Khater", "Shaker", + "Kamel", "Noun", "Najim", "Mahfouz", "Fakher", "El badawy", "Massad", "Khatar", + "Amin", "Mitry", "Safa", "Al-khader", "Najjar", "Salami", "Sarhan", "Allam", + "Hatem", "Orabi", "Fakhoury", "Jabbara", "Al mostafa", "Antar", "Sabbagh", "Muslim", + "Aldbs", "Emad", "Radwan", "Al atrash", "Sayegh", "Makhlouf", "Mikhael", "Rustom", + "Hajjar", "Jibril", "Salhab", "Latif", "El banna", "Qablan", "Dia", "Qadour", + "Salibi", "Badawi", "Al hamwi", "Al saleh", "Baalbaki", "Heikal", +}); + +const NameFormats lebaneseNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames lebanesePeopleNames{{lebaneseMaleFirstNames, lebaneseLastNames, {}, {}}, + {lebaneseFemaleFirstNames, lebaneseLastNames, {}, {}}, + lebaneseNameFormats}; // Lithuania -extern const std::array lithuanianMaleFirstNames; -extern const std::array lithuanianFemaleFirstNames; -extern const std::array lithuanianLastNames; -extern const NameFormats lithuanianNameFormats; -extern const PeopleNames lithuanianPeopleNames; +const auto lithuanianMaleFirstNames = std::to_array({ + "Jonas", "Vytautas", "Antanas", "Juozas", "Petras", "Algirdas", "Stasys", "Saulius", + "Rimantas", "Algimantas", "Mindaugas", "Darius", "Tomas", "Andrius", "Gintaras", "Romualdas", + "Gintautas", "Arvydas", "Gediminas", "Egidijus", "Alvydas", "Sigitas", "Valdas", "Vidmantas", + "Audrius", "Rolandas", "Marius", "Viktoras", "Vladas", "Povilas", "Albinas", "Algis", + "Virginijus", "Aleksandr", "Vaclovas", "Romas", "Robertas", "Aleksandras", "Remigijus", "Giedrius", + "Dainius", "Donatas", "Vladimir", "Linas", "Kazys", "Edmundas", "Nerijus", "Vaidas", + "Raimondas", "Albertas", "Rimas", "Eugenijus", "Mantas", "Vidas", "Leonas", "Edvardas", + "Ivan", "Tadas", "Viktor", "Raimundas", "Julius", "Paulius", "Evaldas", "Justinas", + "Vilius", "Valentinas", "Sergej", "Stanislav", "Henrikas", "Rimvydas", "Vitalijus", "Nikolaj", + "Aurimas", "Martynas", "Andrej", "Virgilijus", "Jan", "Vaidotas", "Alfredas", "Karolis", + "Vladimiras", "Michail", "Aidas", "Edgaras", "Ignas", "Jevgenij", "Dalius", "Igor", + "Pavel", "Arturas", "Oleg", "Aivaras", "Vladislav", "Rytis", "Valerijus", "Jurijus", + "Edvinas", "Justas", "Modestas", "Lukas", "Eduardas", "Deividas", "Kostas", "Laimonas", + "Gytis", "Irmantas", "Laurynas", "Dmitrij", "Piotr", "Aleksej", "Aurelijus", "Anton", + "Leonid", "Rokas", "Renatas", "Sergejus", "Ernestas", "Artur", "Valentin", "Arnoldas", + "Andrejus", "Arunas", "Olegas", "Edvard", "Eimantas", "Igoris", "Boris", "Kestutis", + "Dovydas", "Tautvydas", "Miroslav", "Vaclav", "Romuald", "Roman", "Eduard", "Konstantin", + "Ramunas", "Erikas", "Arnas", "Franc", "Vadim", "Robert", "Sarunas", "Matas", + "Jaroslav", "Henrik", "Ruslan", "Dominykas", "Maksim", "Zilvinas", "Zenon", "Valdemar", + "Edgar", "Daniel", "Mark", "Fiodor", "Leon", "Leonard", "Ruslanas", "Stefan", + "Alex", "Ricardas", "Edmund", "Alexander", "Albert", "Marek", "Ilja", "Erik", + "Andrey", "Feliks", "David", "Deivis", "Sergey", "Ernest", "Airidas", "Adam", + "Anatoly", "John", "Stepan", "Vladyslav", "Lech", "Slavomir", "Lev", "Vlad", + "Bogdan", "Antoni", "Andrei", "Michael", "Henryk", "Artiom", "Zydrunas", "Ale", + "Edvin", "Max", "Dmitry", "Tom", "Rafal", "Raimond", "Martin", "Darek", + "Evgeny", "Andrzej", "Arnold", "German", "Hendrik", "Sergei", "Victor", "Armandas", + "Edward", "Aleks", "Iosif", "Maxim", "Alfred", "Michal", "Andrew", "Kiril", + "Svajunas", "Bernard", "Nedas", "Marat", "Petr", "Artem", "Evgeniy", "Nikolai", + "Dmitriy", "Gleb", "Pawel", "Joseph", "Richard", "Edgard", "Aleksey", "Alik", + "Paul", "Adolf", "Thomas", "Albin", "Patrik", "Ronald", "Nikolay", "Ricard", + "Tomasz", "Aleksander", "Mikhail", "Carlos", "Jaroslaw", "Samuil", "Kevin", "Kirill", + "Vitaly", "Deivid", "Volodymyr", "Abram", "Roland", "Danil", "Sasa", "Ilya", + "Chris", "Roberto", "Vincent", "Ben", "Vitaliy", "Jacek", "Haris", "Frank", + "Marko", "Filip", "Rostislav", "Rudolf", "Vsevolod", "Norbert", "Dominik", "Oleksandr", + "Just", "Karl", "Timur", "Fabio", "Luka", "Edwin", "Farid", "Aron", + "Adrian", "Jay", "Ali", "Gabriel", "Dawid", "Jamal", "Alfons", "Gonzalo", + "Tim", "Patryk", "Nick", "Benedikt", "Mario", "Sebastian", "Di", "Steven", + "Vyacheslav", "Markus", "Elvis", "Julian", "George", "Radek", "Yaroslav", "Waldemar", + "Omer", "Georg", "Lukasz", "Ervin", "Daniil", "Simon", "Andre", "Murat", + "Jack", "Oskar", "Radoslav", "Rustam", "Nikolas", "Anatoliy", "Emile", "Gennady", + "Damian", "Natan", "Francesco", "Alexey", "Alpha", "Juris", "Viacheslav", "Mustafa", + "Tommy", "James", "Yury", "Ousmane", "Zygmunt", "Ignat", "Yuriy", "Moussa", + "Jonathan", "Justin", "Raimund", "Anthony", "Benjamin", "Klaus", "Miron", "Valeriy", + "Antonio", "Nicolas", "Stefano", "Christian", "Bruno", "Aleksandar", +}); + +const auto lithuanianFemaleFirstNames = std::to_array({ + "Ona", "Irena", "Janina", "Aldona", "Regina", "Elena", "Marija", "Daiva", + "Vida", "Zita", "Stanislava", "Rasa", "Dalia", "Virginija", "Lina", "Kristina", + "Rita", "Vanda", "Laima", "Jolanta", "Valentina", "Rima", "Galina", "Valerija", + "Violeta", "Asta", "Vilma", "Liudmila", "Veronika", "Tatjana", "Albina", "Ana", + "Jelena", "Jurgita", "Inga", "Olga", "Svetlana", "Loreta", "Emilija", "Natalija", + "Edita", "Irina", "Aleksandra", "Nina", "Julija", "Renata", "Viktorija", "Teresa", + "Diana", "Vitalija", "Ilona", "Monika", "Vilija", "Alma", "Joana", "Ingrida", + "Vaida", "Milda", "Sigita", "Vladislava", "Ieva", "Lidija", "Jolita", "Alina", + "Tamara", "Neringa", "Zinaida", "Danuta", "Roma", "Laura", "Sandra", "Vera", + "Larisa", "Jovita", "Vita", "Kazimiera", "Aurelija", "Reda", "Irma", "Erika", + "Ina", "Eleonora", "Justina", "Sofija", "Gitana", "Raimonda", "Margarita", "Romualda", + "Marina", "Zina", "Raisa", "Ala", "Sonata", "Oksana", "Natalja", "Leonora", + "Leonarda", "Jekaterina", "Karolina", "Simona", "Zuzana", "Evelina", "Liubov", "Donata", + "Judita", "Egle", "Dana", "Greta", "Ligita", "Antonina", "Adolfina", "Daina", + "Aniceta", "Helena", "Anna", "Paulina", "Agne", "Brigita", "Aida", "Filomena", + "Ruta", "Halina", "Vaiva", "Inesa", "Marjan", "Silva", "Indre", "Silvija", + "Barbora", "Gintare", "Leonidas", "Raminta", "Elzbieta", "Palmira", "Dovile", "Giedre", + "Lijana", "Jurate", "Lolita", "Sabina", "Odeta", "Aiste", "Miroslava", "Karina", + "Magdalena", "Ausra", "Marijana", "Ernesta", "Beata", "Teodora", "Denis", "Ineta", + "Marta", "Malvina", "Aliona", "Gerda", "Gabriele", "Alfreda", "Eva", "Lena", + "Vlada", "Gabija", "Liuba", "Angelina", "Roberta", "Ema", "Alfonsa", "Zivile", + "Nida", "Barbara", "Dina", "Ramune", "Lida", "Ivona", "Bernadeta", "Rolanda", + "Gema", "Nijole", "Toma", "Migle", "Ugne", "Polina", "Alevtina", "Iveta", + "Leonida", "Birute", "Deimante", "Ksenija", "Gita", "Ada", "Leontina", "Nikita", + "Roza", "Audrone", "Varvara", "Taisa", "Alvina", "Faina", "Zenona", "Agata", + "Gina", "Matilda", "Dima", "Nelia", "Albertina", "Virgina", "Rosita", "Anfisa", + "Kamile", "Alisa", "Dijana", "Tereza", "Palma", "Honorata", "Martyna", "Neli", + "Aneta", "Julia", "Indra", "Grazina", "Modesta", "Romana", "Augustina", "Danute", + "Iraida", "Alla", "Lyda", "Ela", "Tania", "Ilma", "Maja", "Dominika", + "Elina", "Ida", "Justyna", "Danguole", "Katerina", "Severina", "Kira", "Izolda", + "Sasha", "Lilia", "Inna", "Mira", "Zana", "Jana", "Klara", "Natalia", + "Irmina", "Ekaterina", "Liza", "Dorota", "Arina", "Anzelika", "Maria", "Viktoriya", + "Darja", "Santa", "Laimute", "Ira", "Tatiana", "Vasilisa", "Bozena", "Julita", + "Olesia", "Liana", "Nora", "Milana", "Nadezda", "Benigna", "Alena", "Aura", + "Tatyana", "Victoria", "Nona", "Gabriela", "Mariana", "Viera", "Katia", "Berta", + "Agripina", "Nelli", "Ninel", "Anita", "Hana", "Jolanda", "Alis", "Luiza", + "Katya", "Raimunda", "Zenaida", "Juliana", "Anastasia", "Valia", "Samanta", "Erna", + "Linda", "Janis", "Sania", "Ewelina", "Olya", "Yulia", "Marian", "Elvira", + "Milena", "Nika", "Christina", "Leonila", "Beatrice", "Lora", "Faustina", "Ania", + "Bela", "Snezana", "Alberta", "Natali", "Elia", "Nela", "Ramona", "Johana", + "Krystyna", "Aina", "Fedora", "Angelika", "Anelia", "Rufina", "Neonila", "Zenia", + "Anastasiya", "Bogumila", "Emma", "Jaroslava", "Marja", "Dasha", "Mila", "Ramute", + "Sonia", "Aksana", "Ella", "Elizaveta", "Kamila", "Nastia", "Rimma", "Valera", + "Asia", "Hilda", "Adolfa", "Angele", "Elmira", "Natalya", +}); + +const auto lithuanianLastNames = std::to_array({ + "Petrauskas", "Jankauskas", "Kazlauskas", "Stankevičius", "Vasiliauskas", "Butkus", "Urbonas", + "Kavaliauskas", "žukauskas", "Ramanauskas", "Paulauskas", "Navickas", "Rimkus", "šimkus", + "Pocius", "Savickas", "žilinskas", "Sakalauskas", "Adomaitis", "Petraitis", "Mikalauskas", + "Kaminskas", "Baranauskas", "Kairys", "žemaitis", "Bagdonas", "Ivanauskas", "Ivanova", + "Mockus", "Venckus", "Rutkauskas", "Jonaitis", "Vaitkus", "Norkus", "Vyšniauskas", + "Juška", "Dambrauskas", "Bernotas", "Malinauskas", "Budrys", "Radzevičius", "Vitkauskas", + "Markevičius", "Kubilius", "Grigas", "Jurevičius", "Lukošius", "Stankus", "Mažeika", + "Sabaliauskas", "Sadauskas", "Mackevič", "Gricius", "Jonas", "Stonkus", "Lapinskas", + "Juškevičius", "Povilaitis", "Rakauskas", "Banys", "Barkauskas", "Bružas", "Bartkus", + "šidlauskas", "Mickus", "šukys", "Martinkus", "Ivanov", "Jonušas", "Balsys", + "Urbonavičius", "Barauskas", "Vitkus", "Vaičiulis", "Petkus", "Giedraitis", "Jokubauskas", + "Tomaševič", "Butkevičius", "Baltrušaitis", "čepulis", "Vytautas", "Stonys", "Andrijauskas", + "Miškinis", "Urbanovič", "Miliauskas", "Alekna", "Noreika", "Astrauskas", "Juknevičius", + "Matulevičius", "Klimas", "Buivydas", "Bukauskas", "Valaitis", "Grigaitis", "Brazauskas", + "Gedvilas", "Vasiljeva", "Remeika", "Gudaitis", "Petronis", "Sokolova", "Karalius", + "Ramonas", "Laurinaitis", "Popova", "Milašius", "Novikova", "Kuznecova", "Petrulis", + "Navikas", "Moroz", "Katinas", "Janulis", "Burba", "Grigonis", "Molis", + "Lebedeva", "Jasaitis", "Smirnova", "Tamulis", "Sutkus", "Rudys", "Murauskas", + "Lazauskas", "Laukaitis", "Orlova", "Jakaitis", "Gudas", "Aleksa", "Jankus", + "Kozlova", "Urba", "Antanas", "Pavlova", "Masiulis", "Stanaitis", "Andrejeva", + "Janulevičius", "Degutis", "Milius", "Stravinskas", "Baronas", "Karvelis", "Naujokas", + "Petrova", "Grabauskas", "Timofejeva", "Kalvaitis", "Dargis", "Solovjova", "Grigorjeva", + "Morozova", "Kisel", "Aleksejeva", "Tomas", "Pumputis", "Briedis", "Palaima", + "Gaidys", "Petrov", "Daukša", "Koval", "Savickis", "Stepanova", "Dapkus", + "Anužis", "Sokolov", "Janina", "Danielius", "Jegorova", "Dulko", "Andrulis", + "Brazaitis", "Raila", "Rybakova", "Gylys", "Matulaitis", "Juozas", "Ona", + "Sereika", "Kovalenko", "Rastenis", "Staniulis", "Galinis", "Grybauskas", "Marozas", + "Miloš", "Matulis", "Stukas", "Gedgaudas", "Smirnov", "Statkus", "Stankevicius", + "Volodko", "Popov", "Jocas", "Makarova", "Komar", "Jasas", "Jakovleva", + "Drozd", "Kolesnikova", "Sergejeva", "Masaitis", "Verseckas", "Linkus", "Simonaitis", + "Gaidelis", "Bondarenko", "Nikitina", "Vasiljev", "Kazak", "Maslauskas", "Valys", + "Tumas", "Solovjov", "Marcinkus", "Valiulis", "Rudis", "Volkova", "Lukas", + "Miau", "Marija", "Fedotova", "Petrik", "Balciunas", "Guseva", "Valeika", + "Vaitkevicius", "Gintautas", "Adamonis", "Stasys", "Petras", "Babič", "Kozlovska", + "Suckel", "Simkus", "Zukauskas", "Senkus", "Romanova", "Frolova", "Tautkus", + "Algirdas", "Mazeika", "Gustaitis", "Barzda", "Tarasova", "Kuzma", "Belova", + "Paliulis", "Rimas", "Visockis", "Karosas", "Novikov", "Pavilonis", "Sabonis", + "Stankaitis", "Bakas", "Butrim", "Matonis", "Orlov", "Kuzmina", "Bogdanova", + "Kasputis", "Kaupas", "Zubkova", "Bogdanov", "Paulius", "Gavrilova", "Borisova", + "Banelis", "Medvedeva", "Antonova", "Valenta", "Jankovska", "Lebed", "Bakutis", + "Irena", "Maksimova", "Adamovic", "Mikuta", "Zamara", "Petrauskaite", "Sidorova", + "Volk", "Mikulska", "Alionis", "Filipovič", "Fiodorov", "Aleksandrov", "Vilutis", + "Miller", "Urban", "Novik", "Songin", "Pavlov", "Matvejeva", "Gerasimova", + "Rud", "Musteikis", "Jankauskaite", "Dmitrijeva", "Baranova", "Kulik", "Jagminas", + "Radžius", "Aleksandrova", "Zaiceva", "Kirilova", "Gustas", "Latvys", "Kuras", + "Radvilas", "Jefimova", "Bogdanovic", "Stropus", "Semeniuk", "Danilova", "Kutka", + "Dobilas", "Tatjana", "Popovas", "Kim", "Kalinina", "Saulis", "Serva", + "Saveljeva", "Silko", "Rukas", "Kraujalis", "Kod", "Karpova", "Li", + "German", "Savicka", "Titova", "Markova", "Romanov", "Zubkov", "Nazarova", + "Kropa", "Nera", "Drozdova", "Kozlov", "Milaknis", "Jan", "Kalenda", +}); + +const NameFormats lithuanianNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames lithuanianPeopleNames{{lithuanianMaleFirstNames, lithuanianLastNames, {}, {}}, + {lithuanianFemaleFirstNames, lithuanianLastNames, {}, {}}, + lithuanianNameFormats}; // Macedonia -extern const std::array macedonianMaleFirstNames; -extern const std::array macedonianFemaleFirstNames; -extern const std::array macedonianMaleLastNames; -extern const std::array macedonianFemaleLastNames; -extern const std::array macedonianMalePrefixes; -extern const std::array macedonianFemalePrefixes; -extern const NameFormats macedonianNameFormats; -extern const PeopleNames macedonianPeopleNames; +const auto macedonianMaleFirstNames = std::to_array({ + "Александар", "Алексо", "Ангел", "Ангеле", "Андон", "Андреј", "Андреја", "Анте", + "Антим", "Антон", "Антониј", "Апостол", "Арсениј", "Асен", "Атанас", "Атанасиј", + "Ацо", "Благе", "Благој", "Благоја", "Блаже", "Богатин", "Богдан", "Богоја", + "Богослав", "Божидар", "Божин", "Божо", "Бојан", "Борис", "Борислав", "Борјан", + "Борко", "Боро", "Бошко", "Бранко", "Вангел", "Ване", "Ванче", "Ванчо", + "Васил", "Василиј", "Василко", "Велимир", "Величко", "Велјан", "Вељо", "Венко", + "Веселин", "Видое", "Виктор", "Владимир", "Владо", "Властимир", "Воислав", "Војдан", + "Војкан", "Волче", "Гаврил", "Гане", "Георги", "Герасим", "Глигор", "Гого", + "Горан", "Горјан", "Гоце", "Григор", "Гроздан", "Давид", "Дамјан", "Данаил", + "Даниел", "Данчо", "Дарко", "Дејан", "Делјан", "Делчо", "Диме", "Димитар", + "Димитрие", "Димитриј", "Димитрија", "Димко", "Димо", "Димче", "Добри", "Дојчин", + "Доротеј", "Драган", "Драги", "Драгиша", "Драгољуб", "Драгомир", "Драгослав", "Душан", + "Душко", "Ѓоко", "Ѓорѓи", "Ѓоре", "Ѓорче", "Ѓурчин", "Евгениј", "Евтим", + "Емануел", "Емил", "Еразмо", "Ефтим", "Живко", "Зафир", "Захариј", "Здравко", + "Златан", "Злате", "Златко", "Зоран", "Ѕвездан", "Ѕвонко", "Иван", "Ивко", + "Иво", "Игнат", "Игор", "Илија", "Исак", "Јаков", "Јане", "Јоаким", + "Јован", "Јованче", "Јовица", "Јово", "Јозо", "Јонче", "Јордан", "Јосиф", + "Кирил", "Киро", "Климент", "Козма", "Коле", "Константин", "Костадин", "Коце", + "Кочо", "Крсте", "Крсто", "Круме", "Ксенте", "Кузман", "Лазар", "Лазо", + "Леонид", "Лука", "Љубе", "Љубен", "Љубиша", "Љубомир", "Љупчо", "Македон", + "Максим", "Марин", "Марјан", "Марко", "Мате", "Матеја", "Мето", "Методи", + "Методиј", "Методија", "Милан", "Миле", "Милош", "Милчо", "Минчо", "Миодраг", + "Мирко", "Мирослав", "Мирче", "Митре", "Михаил", "Михајло", "Михо", "Мичо", + "Младен", "Момо", "Момчило", "Нанче", "Наум", "Небојша", "Неделко", "Ненад", + "Неофит", "Нестор", "Нешо", "Никита", "Никифор", "Никодим", "Никола", "Огнен", + "Оливер", "Орде", "Павле", "Пантелејмон", "Панче", "Партениј", "Паскал", "Пенчо", + "Перо", "Петар", "Петко", "Петре", "Пеце", "Пимен", "Прокопиј", "Прохор", + "Раде", "Радован", "Рајко", "Ранко", "Ризо", "Ристе", "Ристо", "Ромил", + "Саве", "Саво", "Самоил", "Самуил", "Санде", "Сашко", "Силјан", "Симон", + "Славе", "Славко", "Славчо", "Слободан", "Сократ", "Сотир", "Софе", "Софрониј", + "Спасе", "Спиро", "Србо", "Сребре", "Стале", "Стево", "Стефан", "Стоилко", + "Стојан", "Стојмен", "Стојче", "Страте", "Страхил", "Танас", "Ташко", "Ташо", + "Темелко", "Теодор", "Теодосиј", "Теофан", "Теофил", "Тихо", "Тихомир", "Тоде", + "Тодор", "Томе", "Томислав", "Трајан", "Трајко", "Трајче", "Трифун", "Тришо", + "Филип", "Харалампие", "Христијан", "Христо", "Цветан", "Цветко", "Цеко", "Часлав", + "Чедо", "Чедомир", "Шишман", +}); + +const auto macedonianFemaleFirstNames = std::to_array({ + "Ава", "Александра", "Ана", "Анастасија", "Анѓа", "Ангела", "Ангелина", "Анче", + "Атанасија", "Билјана", "Бисера", "Бистра", "Блага", "Благица", "Благојка", "Благородна", + "Благуна", "Блаженка", "Богдана", "Богиња", "Божана", "Бојана", "Борјана", "Борка", + "Босилка", "Бранка", "Валентина", "Вања", "Варвара", "Василка", "Василија", "Васка", + "Велика", "Вера", "Вероника", "Весела", "Весна", "Виолета", "Војданка", "Воскресија", + "Габриела", "Галаба", "Галена", "Голубинка", "Гордана", "Горица", "Горјана", "Грозда", + "Дамјана", "Даница", "Данка", "Даринка", "Дафина", "Деница", "Десанка", "Деспина", + "Дивна", "Добрила", "Добринка", "Домника", "Донка", "Драга", "Драгана", "Душанка", + "Душка", "Ѓурѓа", "Ѓурѓица", "Ева", "Евгенија", "Евдокија", "Екатерина", "Елена", + "Елеонора", "Елисавета", "Елица", "Елка", "Есма", "Ефимија", "Ефросина", "Живка", + "Загорка", "Зафирка", "Захаринка", "Здравка", "Злата", "Зора", "Зорица", "Зорка", + "Ѕвезда", "Ива", "Ивана", "Иванка", "Илинденка", "Илинка", "Ирина", "Искра", + "Јаворка", "Јагода", "Јадранка", "Јана", "Јанка", "Јасна", "Јована", "Јовка", + "Јордана", "Јорданка", "Јулијана", "Калина", "Каранфилка", "Ката", "Катерина", "Катина", + "Катица", "Катја", "Кераца", "Кита", "Климентина", "Константина", "Косара", "Костадинка", + "Крстана", "Лена", "Ленче", "Лепа", "Лидија", "Лика", "Лилјана", "Лина", + "Љуба", "Љубинка", "Љубица", "Љупка", "Магдалена", "Македонка", "Макрина", "Мара", + "Марија", "Марика", "Марина", "Марта", "Матрона", "Меглена", "Меланија", "Мена", + "Мери", "Милева", "Милена", "Милица", "Милка", "Мирјана", "Мирка", "Нада", + "Надежда", "Наумка", "Невенка", "Неда", "Неделка", "Никодина", "Николина", "Олга", + "Оливера", "Павлина", "Павлинка", "Параскева", "Пауна", "Пелагија", "Петкана", "Петра", + "Петранка", "Писана", "Радмила", "Рајна", "Ракита", "Рафаила", "Рахела", "Рахилка", + "Ристана", "Родна", "Роса", "Роска", "Ружа", "Румена", "Русалина", "Русанка", + "Сава", "Сандра", "Сара", "Сашка", "Светлана", "Серафима", "Симјанка", "Симона", + "Славенка", "Славица", "Славјанка", "Славка", "Слободанка", "Снежана", "Сончица", "Софија", + "Спаса", "Спасена", "Споменка", "Сребра", "Стамена", "Стефанија", "Стефанка", "Стојанка", + "Стојна", "Стојмена", "Сузана", "Тамара", "Таска", "Татјана", "Темјана", "Теодора", + "Теодосија", "Теофилка", "Тодорка", "Трајанка", "Трена", "Трендафилка", "Убавка", "Фана", + "Фанка", "Филимена", "Флоринка", "Фросина", "Христина", "Цара", "Цвета", "Цветанка", +}); + +const auto macedonianMaleLastNames = std::to_array({ + "Абаџиев", "Аврамов", "Аврамовски", "Аврамчев", "Ајановски", "Алексиев", + "Алексов", "Алексовски", "Ангеловски", "Андов", "Андонов", "Андоновски", + "Андреевски", "Антонов", "Анчевски", "Апостолов", "Апостолски", "Арсов", + "Арсовски", "Атанасов", "Атанасовски", "Атков", "Ацев", "Ацевски", + "Аџимитревски", "Бабамовски", "Бабунски", "Бавтировски", "Бајалски", "Бакевски", + "Балабанов", "Басаровски", "Бачовски", "Беличанец", "Белковски", "Беловски", + "Белогаски", "Белчев", "Бендевски", "Билбиловски", "Билјановски", "Бислимовски", + "Битовски", "Блажевски", "Близнаков", "Богданов", "Богдановски", "Богдански", + "Богоев", "Богоески", "Божиков", "Божинов", "Божиновски", "Бојановски", + "Бојаџи", "Бојаџиев", "Боцевски", "Бошевски", "Бошков", "Бошковски", + "Брезоски", "Бубуловски", "Бужаровски", "Бузев", "Бујуклиев", "Бунев", + "Варсаковски", "Василевски", "Василески", "Васков", "Величковски", "Велјанов", + "Велков", "Висулчев", "Владимирски", "Владов", "Влахов", "Влахчев", + "Вражалски", "Гаврилски", "Гајдов", "Галевски", "Гапо", "Гаревски", + "Генов", "Георгиев", "Георгиевски", "Герасимовски", "Гермов", "Геров", + "Гечевски", "Гешоски", "Гигов", "Гиевски", "Главаш", "Глигоров", + "Глигоровски", "Голабовски", "Грабул", "Грабулоски", "Грозданов", "Грошев", + "Грујовски", "Групче", "Гугувчевски", "Гучев", "Давидовски", "Давков", + "Давчев", "Давчевски", "Дамески", "Дамовски", "Дворчанец", "Дејанов", + "Демниев", "Деспотовски", "Дилев", "Димитриев", "Димитров", "Димковски", + "Димов", "Димовски", "Динев", "Диневски", "Дирјан", "Добревски", + "Доброхотов", "Додевски", "Дојчинов", "Доневски", "Дракул", "Дренков", + "Дрнков", "Дуганов", "Дуковски", "Ѓаконовски", "Ѓелев", "Ѓорѓевски", + "Ѓорчев", "Ѓузелев", "Ѓурлуков", "Ѓурчинов", "Евремов", "Едиповски", + "Ежов", "Ефтимов", "Жеков", "Железаров", "Жерновски", "Забазноски", + "Зафировски", "Здравев", "Здравковски", "Зографски", "Иванов", "Ивановски", + "Иваноски", "Игновски", "Игњатовски", "Икономов", "Илиев", "Илиевски", + "Иљоски", "Исаковски", "Ицев", "Јакимовски", "Јаконов", "Јаневски", + "Јанчевски", "Јачев", "Јованов", "Јовановски", "Јовчевски", "Јорданов", + "Јордановски", "Јосифовски", "Јосифоски", "Јуруков", "Јурукоски", "Калајџиски", + "Калчевски", "Камберски", "Кантарџиев", "Караѓозов", "Карадак", "Караман", + "Каранфиловски", "Карев", "Каров", "Каровски", "Картов", "Катарџиев", + "Кепески", "Керамитчиев", "Керамичиев", "Кирјазовски", "Киселинов", "Китаноски", + "Кичевски", "Кљусев", "Кодра", "Колишевски", "Колозов", "Кондов", + "Кондовски", "Конески", "Константинов", "Константиновски", "Кордалов", "Корубин", + "Костадинов", "Костовски", "Котевски", "Котески", "Коцаре", "Коцо", + "Кочовски", "Коџоман", "Крле", "Крстев", "Крстевски", "Крстески", + "Крцковски", "Кузмановски", "Кулишев", "Куновски", "Куноски", "Кушевски", + "Ладински", "Лазаревски", "Лазаров", "Лазески", "Лазовски", "Лакински", + "Лактински", "Лапе", "Лахтов", "Левенски", "Лековски", "Леов", + "Лечевски", "Липов", "Личеноски", "Лозановски", "Луловски", "Љутков", + "Мазев", "Мајсторов", "Македонски", "Малевски", "Малески", "Маловски", + "Манаковски", "Мангов", "Манговски", "Манев", "Маневски", "Манивилов", + "Манчев", "Манчевски", "Маринов", "Марковски", "Мартиновски", "Мартиноски", + "Масин", "Матевски", "Матковски", "Матовски", "Маџиров", "Миладинов", + "Милосавлев", "Милошевски", "Милчин", "Миљовски", "Минчев", "Миовски", + "Миронски", "Мисирков", "Митевски", "Митревски", "Митриќески", "Михајлов", + "Михајловски", "Мицев", "Мицевски", "Мицковски", "Мицов", "Мишковски", + "Младенов", "Младеновски", "Мојсовски", "Мокров", "Момировски", "Мошин", + "Мукаетов", "Муратовски", "Мусалевски", "Мустачки", "Најденов", "Најдовски", + "Најчески", "Наков", "Наневски", "Настев", "Наумов", "Наумовски", + "Наумчески", "Начев", "Неделковски", "Нестор", "Несторовски", "Нетков", + "Нешковски", "Николески", "Николов", "Николовски", "Никушев", "Нинов", + "Оровчанец", "Ортаков", "Османли", "Павловски", "Павлоски", "Пајтонџиев", + "Паковски", "Паликрушев", "Панговски", "Пандески", "Пандилов", "Пандовски", + "Панков", "Панов", "Пановски", "Панчевски", "Папрадишки", "Пејов", + "Пендовски", "Пенушлиски", "Пепељуговски", "Перински", "Перчинковски", "Петковски", + "Петров", "Петровски", "Петрушев", "Петрушевски", "Пиперковски", "Планински", + "Подгорец", "Полежиноски", "Полјански", "Попов", "Поповски", "Попоски", + "Преспански", "Прилепчански", "Прличко", "Псалтиров", "Пуцков", "Равановски", + "Радически", "Раковски", "Рацин", "Ризов", "Ристов", "Ристовски", + "Ристоски", "Руменов", "Русјаков", "Русоманов", "Салџиев", "Санев", + "Сариевски", "Светиев", "Серафимов", "Серафимовски", "Сидовски", "Силјановски", + "Симов", "Симовски", "Симоновски", "Скаловски", "Славенски", "Славески", + "Сланев", "Смаќоски", "Смилевски", "Смокварски", "Соколов", "Солев", + "Солунски", "Софрониевски", "Спасеновски", "Спасов", "Спасовски", "Спиров", + "Спировски", "Ставрев", "Ставрески", "Стаматоски", "Станков", "Станковски", + "Старделов", "Стеванов", "Стевковски", "Стефанов", "Стефановски", "Стојанов", + "Стојановски", "Стојаноски", "Стојков", "Стојковски", "Стојменски", "Стојчев", + "Такев", "Таковски", "Талевски", "Талески", "Темелкоски", "Теодосиевски", + "Терзиев", "Тодоров", "Тодоровски", "Тозија", "Толевски", "Томовски", + "Тофоски", "Точко", "Тошев", "Тошевски", "Трајковски", "Тренески", + "Тренчевски", "Трифуновски", "Тројачанец", "Трпеновски", "Тушевски", "Ќамилов", + "Ќорнаков", "Ќортошев", "Ќурчиев", "Угриновски", "Узунов", "Узуновски", + "Урдин", "Филиповски", "Фирфов", "Фотев", "Хаџиманов", "Хаџиниколов", + "Христов", "Христовски", "Цанев", "Цветановски", "Цеков", "Цековски", + "Ценев", "Црвенковски", "Црвенов", "Чакар", "Чакмаков", "Чаловски", + "Чапаровски", "Чаушев", "Чашуле", "Чевревски", "Чејковски", "Чемерски", + "Чемков", "Чипан", "Чокревски", "Чундев", "Чупона", "Чучков", + "Чушкаров", "Џамбаз", "Џамбазов", "Џаџев", "Џеков", "Џинлески", + "Џорлев", "Џувалековски", "Џунов", "Шаревски", "Шијак", "Шијаков", + "Шијаковски", "Ширилов", "Шишков", "Шопов", "Шоптрајанов", "Штерјоски", + "Шулинчевски", +}); + +const auto macedonianFemaleLastNames = std::to_array({ + "Абаџиева", "Абова", "Аврамова", "Аврамовска", "Аврамчева", "Ајановска", "Алексиева", + "Алексова", "Алексовска", "Ангеловска", "Андова", "Андонова", "Андоновска", "Андреевска", + "Антонова", "Анчевска", "Апостолова", "Апостолска", "Арсова", "Арсовска", "Атанасова", + "Атанасовска", "Аткова", "Ацева", "Ацевска", "Аџимитревска", "Бабамовска", "Бабунска", + "Бавтировска", "Бајалска", "Бакевска", "Балабанова", "Басаровска", "Бачовска", "Беличанец", + "Белковска", "Беловска", "Белогаска", "Белчева", "Бендевска", "Билбиловска", "Билјановска", + "Бислимовска", "Битовска", "Блажевска", "Близнакова", "Богданова", "Богдановска", "Богданска", + "Богоева", "Богоеска", "Божикова", "Божинова", "Божиновска", "Бојановска", "Бојаџи", + "Бојаџиева", "Боцевска", "Бошевска", "Бошкова", "Бошковска", "Брезоска", "Бубуловска", + "Бужаровска", "Бузева", "Бујуклиева", "Бунева", "Варсаковска", "Василевска", "Василеска", + "Васкова", "Величковска", "Велјанова", "Велкова", "Висулчева", "Владимирска", "Владова", + "Влахова", "Влахчева", "Вражалска", "Гаврилска", "Гајдова", "Галевска", "Гапо", + "Гаревска", "Генова", "Георгиева", "Георгиевска", "Герасимовска", "Гермова", "Герова", + "Гечевска", "Гешоска", "Гигова", "Гиевска", "Главаш", "Глигорова", "Глигоровска", + "Голабовска", "Грабул", "Грабулоска", "Грозданова", "Грошева", "Грујовска", "Групче", + "Гугувчевска", "Гучева", "Давидовска", "Давкова", "Давчева", "Давчевска", "Дамеска", + "Дамовска", "Дворчанец", "Дејанова", "Демниева", "Деспотовска", "Дилева", "Димитриева", + "Димитрова", "Димковска", "Димова", "Димовска", "Динева", "Диневска", "Добревска", + "Додевска", "Дојчинова", "Доневска", "Дракул", "Дренкова", "Дрнкова", "Дуганова", + "Дуковска", "Ѓаконовска", "Ѓелева", "Ѓорѓевска", "Ѓорчева", "Ѓузелева", "Ѓурлукова", + "Ѓурчинова", "Евремова", "Едиповска", "Ежова", "Ефтимова", "Жекова", "Железарова", + "Жерновска", "Забазноска", "Зафировска", "Здравева", "Здравковска", "Зографска", "Иванова", + "Ивановска", "Иваноска", "Игновска", "Игњатовска", "Икономова", "Илиева", "Илиевска", + "Иљоска", "Исаковска", "Ицева", "Јакимовска", "Јаконова", "Јаневска", "Јанчевска", + "Јачева", "Јованова", "Јовановска", "Јовчевска", "Јорданова", "Јордановска", "Јосифовска", + "Јосифоска", "Јурукова", "Јурукоска", "Калајџиска", "Калчевска", "Камберска", "Кантарџиева", + "Караѓозова", "Карадак", "Караман", "Каранфиловска", "Караџа", "Карева", "Карова", + "Каровска", "Картова", "Катарџиева", "Кепеска", "Керамитчиева", "Керамичиева", "Кирјазовска", + "Киселинова", "Китаноска", "Кичевска", "Кљусева", "Колишевска", "Колозова", "Кондова", + "Кондовска", "Конеска", "Константинова", "Константиновска", "Кордалова", "Коробар", "Корубин", + "Костадинова", "Костовска", "Котевска", "Котеска", "Коцаре", "Коцо", "Кочовска", + "Коџоман", "Крле", "Крстева", "Крстевска", "Крстеска", "Крцковска", "Кузмановска", + "Кулишева", "Куновска", "Куноска", "Кутурец", "Кушевска", "Ладинска", "Лазаревска", + "Лазарова", "Лазеска", "Лазовска", "Лакинска", "Лактинска", "Лапе", "Лахтова", + "Левенска", "Лековска", "Леова", "Лечевска", "Липова", "Личеноска", "Лозановска", + "Луловска", "Љуткова", "Мазева", "Мајсторова", "Македонска", "Малевска", "Малеска", + "Маловска", "Манаковска", "Мангова", "Манговска", "Манева", "Маневска", "Манивилова", + "Манчева", "Манчевска", "Маринова", "Марковска", "Мартиновска", "Мартиноска", "Масин", + "Матевска", "Матковска", "Матовска", "Маџирова", "Миладинова", "Милосавлева", "Милошевска", + "Милчин", "Миљовска", "Минчева", "Миовска", "Миронска", "Мисиркова", "Митевска", + "Митревска", "Митриќеска", "Михајлова", "Михајловска", "Мицева", "Мицевска", "Мицковска", + "Мицова", "Мишковска", "Младенова", "Младеновска", "Мојсовска", "Мокрова", "Момировска", + "Мошин", "Мукаетова", "Муратовска", "Мусалевска", "Мустачки", "Најденова", "Најдовска", + "Најческа", "Накова", "Наневска", "Настева", "Наумова", "Наумовска", "Наумческа", + "Начева", "Неделковска", "Нестор", "Несторовска", "Неткова", "Нешковска", "Николеска", + "Николова", "Николовска", "Никушева", "Нинова", "Оровчанец", "Ортакова", "Османли", + "Павловска", "Павлоска", "Пајтонџиева", "Паковска", "Паликрушева", "Панговска", "Пандеска", + "Пандилова", "Пандовска", "Панкова", "Панова", "Пановска", "Панчевска", "Папрадишки", + "Пејова", "Пендовска", "Пенушлиска", "Пепељуговска", "Перинска", "Перчинковска", "Петковска", + "Петрова", "Петровска", "Петрушева", "Петрушевска", "Пиперковска", "Планинска", "Подгорец", + "Полежиноска", "Полјанска", "Попова", "Поповска", "Попоска", "Преспанска", "Прилепчанска", + "Прличко", "Псалтирова", "Пуцкова", "Равановска", "Радическа", "Раковска", "Рацин", + "Реџепова", "Ризова", "Ристова", "Ристовска", "Ристоска", "Руменова", "Русјакова", + "Русоманова", "Салџиева", "Санева", "Сариевска", "Светиева", "Серафимова", "Серафимовска", + "Сидовска", "Силјановска", "Симова", "Симовска", "Симоновска", "Скаловска", "Славенска", + "Славеска", "Сланева", "Смаќоска", "Смилевска", "Смокварска", "Соколова", "Солева", + "Солунска", "Софрониевска", "Спасеновска", "Спасова", "Спасовска", "Спирова", "Спировска", + "Ставрева", "Ставреска", "Стаматоска", "Станкова", "Станковска", "Старделова", "Стеванова", + "Стевковска", "Стефанова", "Стефановска", "Стојанова", "Стојановска", "Стојаноска", "Стојкова", + "Стојковска", "Стојменска", "Стојчева", "Такева", "Таковска", "Талевска", "Талеска", + "Темелкоска", "Теодосиевска", "Терзиева", "Тодорова", "Тодоровска", "Тозија", "Толевска", + "Томовска", "Тофоска", "Точко", "Тошева", "Тошевска", "Трајковска", "Тренеска", + "Тренчевска", "Трифуновска", "Тројачанец", "Трпеновска", "Тушевска", "Ќамилова", "Ќорнакова", + "Ќортошева", "Ќурчиева", "Угриновска", "Узунова", "Узуновска", "Урдин", "Филиповска", + "Фирфова", "Фотева", "Хаџиманова", "Хаџиниколова", "Христова", "Христовска", "Цанева", + "Цветановска", "Цекова", "Цековска", "Ценева", "Црвенковска", "Црвенова", "Чакар", + "Чакмакова", "Чаловска", "Чапаровска", "Чаушева", "Чашуле", "Чевревска", "Чејковска", + "Чемерска", "Чемкова", "Чипан", "Чокревска", "Чундева", "Чупона", "Чучкова", + "Чушкарова", "Џамбаз", "Џамбазова", "Џаџева", "Џекова", "Џинлеска", "Џорлева", + "Џувалековска", "Џунова", "Шаревска", "Шијак", "Шијакова", "Шијаковска", "Ширилова", + "Шишкова", "Шопова", "Шоптрајанова", "Штерјоска", "Шулинчевска", +}); + +const auto macedonianMalePrefixes = std::to_array({"г-дин", "д-р", "м-р"}); + +const auto macedonianFemalePrefixes = std::to_array({"г-ѓа", "г-ца", "д-р", "м-р"}); + +const NameFormats macedonianNameFormats{{{"{firstName} {lastName}", 10}, {"{prefix} {firstName} {lastName}", 1}}}; + +const PeopleNames macedonianPeopleNames{ + {macedonianMaleFirstNames, macedonianMaleLastNames, macedonianMalePrefixes, {}}, + {macedonianFemaleFirstNames, macedonianFemaleLastNames, macedonianFemalePrefixes, {}}, + macedonianNameFormats}; // Maldives -extern const std::array maldiviansMaleFirstNames; -extern const std::array maldiviansFemaleFirstNames; -extern const std::array maldiviansMaleLastNames; -extern const std::array maldiviansFemaleLastNames; -extern const std::array maldiviansMalePrefixes; -extern const std::array maldiviansFemalePrefixes; -extern const NameFormats maldiviansNameFormats; -extern const PeopleNames maldiviansPeopleNames; +const auto maldiviansMaleFirstNames = std::to_array({ + "އާދަމް", "އިބްރާހީމް", "އިލްޔާސް", "އިސްމާޢީލް", "ޢީސާ", "އަބޫބަކްރު", "އަލީ", "އުސާމާ", "ދާއޫދު", "ޢަޠާ", "ޤުދާސް", "މުޙައްމަދު", "މޫސާ", "ޔޫސުފް", +}); + +const auto maldiviansFemaleFirstNames = std::to_array({ + "ރަމްލާ", "ހިންދު", "ޙަފްޞާ", "ޚަދީޖާ", "ޒައިނަބު", "ޞަފިއްޔާ", "ޢާއިޝާ", "މައިމޫނާ", "ޖުވައިރިއްޔާ", "ސައުދާ", "މާރިޔާ", "ރުޤައްޔާ", "ފާޠިމާ", + "އުއްމުކުލްޘޫމޮ", "ޙައްވާ", "ސާރާ", "ހާޖަރު", "މަރްޔަމޮ", "ޒުލައިޚާ", "އާސިޔާ", "ބަލްޤީސް", "އާމިނަތު", "އަސްމާއު", "އުމާމާ", "ބަރްކާ", "ޖަމީލާ", + "ޙަސްނާއު", "ޙަލީމާ", "ޚަވްލާ", "ޚައިރާ", "ރުމައިޞާއު", "ރުފައިދާ", "ރަޤީޤާ", "ސަޢާދު", "ސަލްމާ", "ސުލައިމް", "ސުމައްޔާ", "ޝަހީދާ", "ޝިފާ", + "ޢާތިކާ", "ޤައިލާ", "ލަޔާލީ", "ކުލްޘޫމް", "މުސްލިމާ", "ނަސީބާ", "ނަފީސާ", "ނަވާރު", "ހާނީ", "ހުނައިދާ", +}); + +const auto maldiviansMaleLastNames = std::to_array({ + "އަކްޙަލް", "އަޘްހަރު", "ބުރްހާން", "ބާޤީ", "ބުހްލޫލް", "ބަޝޫޝް", "ތަރަފް", "ތައްމާމް", "ތުކްލާން", "ޘަވިއްޔު", "ޘާޣިމް", "ޘަރިއްޔު", "ޖާބިރު", "ޖާސިމް", + "ޖަޛަލް", "ޖުސުމް", "ޖުންދު", "ޙާބިސް", "ޙާފިދު", "ޙަބީބު", "ޙަޘީޘް", "ޙުސްނީ", "ޚާބިސް", "ޚާފިޤާނި", "ޚިތާމް", "ޚައިރީ", "ދާރިބު", "ދައްރާކު", + "ދިރްފިސް", "ދީވާން", "ޛަހަބު", "ޛުއްނޫރު", "ޛަކީ", "ރާބިޙް", "ރައުބު", "ރަޙޫމް", "ރޫދު", "ޒިބްރިޖު", "ޒިރުޔާބު", "ޒޯފިޝާން", "ސާޤީ", "ސިބުޠު", + "ސަރުމަދު", "ސާޖީ", "ޝާމިސް", "ޝަބާބު", "ޝުބޫލް", "ޝަފްޝާފް", "ޝަލޫލް", "ޞަބޫރު", "ޞަދޫޙު", "ޞަފިއްޔު", "ޞުރޫޙު", "ޠާޙީ", "ޠާލިބު", "ޠިބާބު", + "ޡަފަރު", "ޡިލާލް", "ޡުހޫރު", "ޢާބިދީން", "ޢަބްޤަރީ", "ޢިއްޒަތު", "ޢައްމާރު", "ޢަންބަރު", "ޢަންދަލީބު", "ޣާދިފު", "ޣައްރާފް", "ޣައްސާން", "ޣުމޫމް", "ޣަންދޫރު", + "ޣަޔްދަން", "ފާއިޤު", "ފަތޫޙް", "ފަހުމާން", "ފައިލަޤު", "ޤާބޫސް", "ޤިންދީލް", "ޤިންޠާރް", "ޤަވާމް", "ކަލަޖް", "ކައުޘަރު", "ކައިސޫމް", "ލުބަދު", "ލަބިޤު", + "ލަސަން", "ލުޠުފީ", "ލުޤުމާން", "މައުރަބު", "މައުމަލް", "މައާބު", "މަބްޞަރު", "މުތަނާސިޤް", "މުދުރިކަތު", "ނުޖުދު", "ނުސައިބު", "ނުޢައިމް", "ނައްބާރު", "ނުހައިލް", + "ވާބިޞް", "ވަދީސް", "ވާފިރު", "ވައްޟާޙް", "ވަހްބު", "ހާދީ", "ހިދާޔަތް", "ހުޛުލޫލް", "ހައްފާފް", "ހިންދިސް", "ޔާޤޫތު", "ޔަލްމަޢި", "ޔޫޝަޢު", "ޔަގްޡާން", +}); + +const auto maldiviansFemaleLastNames = std::to_array({ + "އިބާ", "އަޘްމާރު", "އަޘީލާ", "އިރާދާ", "އިރުތިޖާޢު", "އަރުވާ", "އުމުނިއްޔާ", "އަންބާ", "އަންޖަލް", "އުމަރާ", "ބަދުރިއްޔާ", "ބަރުޒާ", + "ބަޝޫޝޤް", "ބަތްނާ", "ބަޝާޝާ", "ބާޛިލާ", "ބަތޫލް", "ބަރުޢުމް", "ބަޠްޙާއު", "ބަހިއްޔު", "ތާއްމާ", "ތަބައްރުޢު", "ތަޙައްޝުމު", "ތަޛްހީބު", + "ތަޒައްޔުން", "ތަޣްރީދު", "ތިމްރާޙަތު", "ޘަބްރާ", "ޘަރާ", "ޘުރައްޔާ", "ޘަވާ", "ޘާނީ", "ޖާސިމާ", "ޖިދާ", "ޖަސާރާ", "ޖަލްވާ", + "ޖުމްލާނާ", "ޖުނައިނާ", "ޖައިދާނާ", "ޖުމާއު", "ޙާރިސާ", "ޙިބާއު", "ޙަބީބާ", "ޙަދްވާ", "ޙަޝްމާ", "ޙަޞްނާ", "ޙަމްރާއު", "ޙިންނާ", + "ޙަނާން", "ޚާލިޞާ", "ޚަދްރާ", "ޚުލަސާ", "ޚަވްޟާ", "ޚަވްލީ", "ޚަވްދު", "ދާއިޙާ", "ދާޖިނާ", "ދައުމާއު", "ދުއްރުން", "ދަރްޤާ", + "ދަފީނާ", "ދަލޫފް", "ދާނިޔާ", "ޛާބިރާ", "ޛަބާރާ", "ޛަރާ", "ޛިކްރާ", "ޛަމާމަތު", "ރުއުޔާ", "ރާބިޙާ", "ރާސިޙާ", "ރާފިޢާ", + "ރާމާ", "ރަބާބާ", "ރަޖާ", "ރަޙޫލް", "ރައްސާމާ", "ރުޝްދިއްޔާ", "ރަފާހިއްޔާ", "ރުފައިދާ", "ރައުޙިއްޔާ", "ރަވްނަޤް", "ޒާޚިރާ", "ޒާހް", + "ޒަބަރުޖަދް", "ޒަޖާ", "ޒުރްޤުމް", "ޒަރްނަޤާ", "ޒުމުއްރުދާ", "ޒާޚިޒުންބުޤާރާ", "ޒުންބުޤާ", "ޒައިޒަފޫން", "ޒިދުނީ", "ރާޖިޔާ", "ރަޖާޙާ", "ރިދާފާ", + "ރިޢާ", "ރަކީނާ", "ރުމައިޒާ", "ރަހީނާ", "ޒާރާ", "ޒުބައިދާ", "ޒަރްކަޝާ", "ޒަޢުފަރާނާ", "ސުއުދާ", "ސާބިޤާ", "ސާމިޤާ", "ސުބުޙާތު", + "ސަޙަރު", "ސަޢުދިއްޔާ", "ސަލްސަބީލް", "ސުމައިޙާ", "ސުންދުސް", "ސަނަމް", "ޝާއިޤާ", "ޝާރިޔާ", "ޝަބާބު", "ޝަޖިއްޔާ", "ޝަރްސާއު", "ޝަރްޤިއްޔާ", + "ޝުޢާޢު", "ޝަފްޝާފް", "ޝަލަބިއްޔާ", "ޝަމަރުދަލް", "ޝަމްސާ", "ޝިންޝިނާ", "ޞާއިބާ", "ޞާފީނާޒް", "ޞަބިއްޔާ", "ޞުބައިޙާ", "ޞިއްދީޤާ", "ޞިންވާން", + "ޟާޙިޔާ", "ޟާމިނަތު", "ޟުޙާ", "ޟިފާފް", "ޟިޔާ", "ތާއިޢާ", "ޠާހިރާ", "ޠަރޫބު", "ޠުލްސާ", "ޠުމޫޙާ", "ޠައްޔިބާ", "ޡާފިރާ", + "ޡަމްޔާ", "ޡުއްލާ", "ޡަހީރާ", "ޢާއިދާ", "ޢާޖިލާ", "ޢާޤިބާ", "ޢާލިޔާ", "ޢަބީރު", "ޢުތުބާ", "ޢަދުލިއްޔާ", "ޢަޛްރާ", "ޢަރޫޝާ", + "ޢައްޒާ", "ޢަޠާޔާ", "ޢަފާފާ", "ޢަލާނިޔާ", "ޢަންނާބު", "ޢަންބަރާ", "ޢަންދަލީބު", "ޢަލާނާ", "ޣާދާ", "ޣާނީ", "ޣާޔާ", "ޣިނާ", + "ޣީދު", "ޣީރާ", "ފާއިޒާ", "ފާރީހާން", "ފަތުޙިއްޔާ", "ފަރާއިދު", "ފިރްޔާލް", "ފުރައިސާ", "ފިޠްރިއްޔާ", "ފުނޫން", "ފުހައިދާ", "ފައްވާޙާ", + "ފައުޤިއްޔާ", "ފައިނާން", "ޤާނިތު", "ޤަބްސާ", "ޤުޘަމް", "ޤުދުވާ", "ޤިޠާފް", "ޤުމްރިއްޔާ", "ޤަމީން", "ކާއިނާ", "ކާސިބާ", "ކާޙިލާ", + "ކާފިޔާ", "ކަބީރާ", "ކަރާއިމް", "ކުރައިމާން", "ކިފާޔާ", "ކުލްޘޫމް", "ކިނާނާ", "ކަންޒު", "ލުއުލުއު", "ލުބާބާ", "ލުއްޖާ", "ލަސަން", + "ލުބާ", "ލިޔާނާ", "މުއުމިނާ", "މުއުނިސާ", "މާހާ", "މާހީ", "މާސާ", "މާޝީ", "މާވީ", "މަދާ", "މަރްހޫބާ", "މުސްކާ", + "މަލަދު", "މުނާ", "މީފާ", "ނާއިފާ", "ނާލާ", "ނާހީ", "ނާވީ", "ނުބްހާ", "ނަޖާ", "ނަޖްމާ", "ނުޚްބާ", "ނަރްޖިސް", + "ނޫރުލްހުދާ", "ވާޙާ", "ވިޖްދާން", "ވުސްޢާ", "ވަޝީކު", "ވަޞްފާ", "ވަހިއްޔާ", "ހާދިއާ", "ހާނީ", "ހިބާ", "ހުދާ", "ހަނާ", + "ހިންދާމް", "ހޫނާ", "ހައިނަމާ", "ޔާސިރާ", "ޔާޤޫތު", "ޔަޤްޡާ", "ޔަމްނާ", "ޔަޝްމް", +}); + +const auto maldiviansMalePrefixes = std::to_array({"އަމީރު", "އަމީރާ", "ބަނޑޭރި", "ބޮޑު"}); + +const auto maldiviansFemalePrefixes = std::to_array({"އަމީރު", "އަމީރާ", "ބަނޑޭރި", "ބޮޑު"}); + +const NameFormats maldiviansNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames maldiviansPeopleNames{ + {maldiviansMaleFirstNames, maldiviansMaleLastNames, maldiviansMalePrefixes, {}}, + {maldiviansFemaleFirstNames, maldiviansFemaleLastNames, maldiviansFemalePrefixes, {}}, + maldiviansNameFormats}; // Malta -extern const std::array malteseMaleFirstNames; -extern const std::array malteseFemaleFirstNames; -extern const std::array malteseLastNames; -extern const NameFormats malteseNameFormats; -extern const PeopleNames maltesePeopleNames; +const auto malteseMaleFirstNames = std::to_array({ + "Joseph", "John", "Mark", "Mario", "David", "Paul", "Michael", "Anthony", "Joe", + "Charles", "Matthew", "Robert", "Daniel", "Chris", "George", "Andrew", "Peter", "Kevin", + "Adrian", "Stephen", "Jonathan", "James", "Martin", "Simon", "Ray", "Steven", "Alfred", + "Victor", "Raymond", "Karl", "Brian", "Alex", "Ivan", "Patrick", "Tony", "Christopher", + "Keith", "Edward", "Ian", "Jason", "Pierre", "Christian", "Kenneth", "Philip", "Alan", + "Ryan", "Luke", "Albert", "Louis", "Antoine", "Lawrence", "Stefan", "Roderick", "Vincent", + "Malcolm", "Richard", "Josef", "Darren", "Emanuel", "Nicholas", "Manuel", "Marco", "Alexander", + "Frank", "Kurt", "Andre", "Anton", "Gordon", "Thomas", "Sandro", "Etienne", "Charlie", + "Reuben", "Aaron", "Lino", "Justin", "William", "Julian", "Bernard", "Ronald", "Eric", + "Sean", "Neville", "Silvio", "Godwin", "Emmanuel", "Johann", "Neil", "Franco", "Clayton", + "Edwin", "Oliver", "Aldo", "Gilbert", "Jeffrey", "Duncan", "Jeremy", "Glenn", "Henry", + "Clive", +}); + +const auto malteseFemaleFirstNames = std::to_array({ + "Maria", "Anna", "Mary", "Carmen", "Rita", "Noel", "Claire", "Sarah", "Stephanie", + "Daniela", "Christine", "Michelle", "Josephine", "Carmel", "Jean", "Sandra", "Ruth", "Joanne", + "Elaine", "Josette", "Sharon", "Charmaine", "Charlene", "Caroline", "Mariella", "Roberta", "Miriam", + "Rachel", "Francesca", "Amanda", "Joanna", "Andrea", "Marie", "Alison", "Pauline", "Elizabeth", + "Marisa", "Jessica", "Lara", "Denise", "Doris", "Rebecca", "Louise", "Karen", "Francis", + "Catherine", "Graziella", "Lorraine", "Vanessa", "Doreen", "Diane", "Patricia", "Rose", "Jane", + "Monica", "Victoria", "Margaret", "Romina", "Simone", "Alexia", "Melanie", "Fiona", "Lisa", + "Audrey", "Antoinette", "Nadia", "Emma", "Anne", "Jennifer", "Angela", "Nathalie", "Marlene", + "Grace", "Tania", "Natasha", "Laura", "Claudia", "Jacqueline", "Dennis", "Nicole", "Joan", + "Ann", "Alexandra", "Isabelle", "Antonella", "Helen", "Janice", "Joyce", "Nadine", "Natalie", + "Sue", "Marica", "Tiziana", "Christina", "Marion", "Therese", "Elena", "Abigail", "Cynthia", + "Susan", +}); + +const auto malteseLastNames = std::to_array({ + "Borg", "Vella", "Camilleri", "Farrugia", "Zammit", "Galea", "Micallef", "Grech", "Attard", + "Cassar", "Spiteri", "Azzopardi", "Mifsud", "Caruana", "Muscat", "Agius", "Pace", "Fenech", + "Schembri", "Abela", "Sammut", "Gatt", "Gauci", "Debono", "Bugeja", "Vassallo", "Bonnici", + "Aquilina", "Portelli", "Calleja", "Scicluna", "Cutajar", "Falzon", "Grima", "Mallia", "Ellul", + "Saliba", "Bonello", "Cachia", "Mizzi", "Xuereb", "Buttigieg", "Scerri", "Busuttil", "Tabone", + "Cauchi", "Sciberras", "Bartolo", "Mercieca", "Baldacchino", "Buhagiar", "Briffa", "Formosa", "Brincat", + "Zahra", "Bezzina", "Sultana", "Mangion", "Chetcuti", "Dimech", "Darmanin", "Pisani", "Psaila", + "Cilia", "Cini", "Debattista", "Tanti", "Sant", "Mamo", "Zerafa", "Ciantar", "Magro", + "Said", "Chircop", "Zarb", "Barbara", "Dalli", "Curmi", "Frendo", "Tonna", "Cuschieri", + "Abdilla", "Deguara", "Magri", "Hili", "Cremona", "Cardona", "Xerri", "Balzan", "Degiorgio", + "Grixti", "Bajada", "Catania", "Pullicino", "Cordina", "Callus", "Meli", "Ebejer", "Anastasi", + "Theuma", +}); + +const NameFormats malteseNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames maltesePeopleNames{{malteseMaleFirstNames, malteseLastNames, {}, {}}, + {malteseFemaleFirstNames, malteseLastNames, {}, {}}, + malteseNameFormats}; // Mexico -extern const std::array mexicanMaleFirstNames; -extern const std::array mexicanFemaleFirstNames; -extern const std::array mexicanLastNames; -extern const std::array mexicanSuffixes; -extern const std::array mexicanMalePrefixes; -extern const std::array mexicanFemalePrefixes; -extern const NameFormats mexicanNameFormats; -extern const PeopleNames mexicanPeopleNames; +const auto mexicanMaleFirstNames = std::to_array({ + "Aarón", "Abraham", + "Adán", "Agustín", + "Alan", "Alberto", + "Alejandro", "Alexander", + "Alexis", "Alfonso", + "Alfredo", "Andrés", + "Ángel Daniel", "Ángel Gabriel", + "Antonio", "Armando", + "Arturo", "Axel", + "Benito", "Benjamín", + "Bernardo", "Brandon", + "Brayan", "Carlos", + "César", "Claudio", + "Clemente", "Cristian", + "Cristobal", "Damián", + "Daniel", "David", + "Diego", "Eduardo", + "Elías", "Emiliano", + "Emilio", "Emmanuel", + "Enrique", "Erick", + "Ernesto", "Esteban", + "Federico", "Felipe", + "Fernando", "Fernando Javier", + "Francisco", "Francisco Javier", + "Gabriel", "Gael", + "Gerardo", "Germán", + "Gilberto", "Gonzalo", + "Gregorio", "Guillermo", + "Gustavo", "Hernán", + "Homero", "Horacio", + "Hugo", "Ignacio", + "Iker", "Isaac", + "Isaias", "Israel", + "Ivan", "Jacobo", + "Jaime", "Javier", + "Jerónimo", "Jesús", + "Joaquín", "Jorge", + "Jorge Luis", "José", + "José Antonio", "Jose Daniel", + "José Eduardo", "José Emilio", + "José Luis", "José María", + "José Miguel", "Juan", + "Juan Carlos", "Juan Manuel", + "Juan Pablo", "Julio", + "Julio César", "Kevin", + "Leonardo", "Lorenzo", + "Lucas", "Luis", + "Luis Ángel", "Luis Fernando", + "Luis Gabino", "Luis Miguel", + "Manuel", "Marco Antonio", + "Marcos", "Mariano", + "Mario", "Martín", + "Mateo", "Matías", + "Mauricio", "Maximiliano", + "Miguel", "Miguel Ángel", + "Nicolás", "Octavio", + "Óscar", "Pablo", + "Patricio", "Pedro", + "Rafael", "Ramiro", + "Ramón", "Raúl", + "Ricardo", "Roberto", + "Rodrigo", "Rubén", + "Salvador", "Samuel", + "Sancho", "Santiago", + "Saúl", "Sebastian", + "Sergio", "Tadeo", + "Teodoro", "Timoteo", + "Tomás", "Uriel", + "Vicente", "Víctor", + "Victor Manuel", +}); + +const auto mexicanFemaleFirstNames = std::to_array({ + "Abigail", + "Abril", + "Adela", + "Adriana", + "Alejandra", + "Alexa", + "Alicia", + "Alondra Romina", + "Amalia", + "Ana Luisa", + "Ana María", + "Ana Sofía", + "Ana Victoria", + "Ana", + "Andrea", + "Ángela", + "Anita", + "Antonia", + "Araceli", + "Ariadna", + "Barbara", + "Beatriz", + "Berta", + "Blanca", + "Camila", + "Caridad", + "Carla", + "Carlota", + "Carmen", + "Carolina", + "Catalina", + "Cecilia", + "Clara", + "Claudia", + "Concepción", + "Conchita", + "Cristina", + "Daniela", + "Débora", + "Diana", + "Dolores", + "Dorotea", + "Dulce María", + "Elena", + "Elisa", + "Elizabeth", + "Eloisa", + "Elsa", + "Elvira", + "Emilia", + "Emily", + "Esmeralda", + "Esperanza", + "Estefanía", + "Estela", + "Ester", + "Eva", + "Evelyn", + "Fatima", + "Florencia", + "Francisca", + "Gabriela", + "Gloria", + "Graciela", + "Guadalupe", + "Guillermina", + "Inés", + "Irene", + "Isabel", + "Isabela", + "Ivanna", + "Jazmin", + "Jennifer", + "Jimena", + "Josefina", + "Juana", + "Julia", + "Julieta", + "Kimberly", + "Laura", + "Leonor", + "Leticia", + "Lilia", + "Liliana", + "Lizbeth", + "Lola", + "Lorena", + "Lourdes", + "Lucia", + "Luisa", + "Luz", + "Magdalena", + "Manuela", + "Marcela", + "Margarita", + "María Cristina", + "María de Jesús", + "María de los Ángeles", + "María del Carmen", + "María Elena", + "María Eugenia", + "María Fernanda", + "María Guadalupe", + "María José", + "María Luisa", + "María Soledad", + "María Teresa", + "María", + "Mariana", + "Maricarmen", + "Marilu", + "Marisol", + "Marta", + "Mayte", + "Melany", + "Melissa", + "Mercedes", + "Micaela", + "Miranda", + "Mónica", + "Monserrat", + "Naomi", + "Natalia", + "Nicole", + "Norma", + "Olivia", + "Paola", + "Patricia", + "Paulina", + "Pilar", + "Ramona", + "Raquel", + "Rebeca", + "Regina", + "Reina", + "Renata", + "Rocio", + "Rosa María", + "Rosa", + "Rosalia", + "Rosario", + "Sara", + "Silvia", + "Sofia", + "Soledad", + "Sonia", + "Susana", + "Teresa", + "Valentina", + "Valeria", + "Vanessa", + "Verónica", + "Victoria", + "Virginia", + "Ximena Guadalupe", + "Ximena", + "Xochitl", + "Yamileth", + "Yaretzi", + "Yolanda", + "Zoe", +}); + +const auto mexicanLastNames = std::to_array({ + "Abeyta", + "Abrego", + "Abreu", + "Acevedo", + "Acosta", + "Acuña", + "Adame", + "Adorno", + "Agosto", + "Aguayo", + "Águilar", + "Aguilera", + "Aguirre", + "Alanis", + "Alaniz", + "Alarcón", + "Alba", + "Alcala", + "Alcántar", + "Alcaraz", + "Alejandro", + "Alemán", + "Alfaro", + "Alicea", + "Almanza", + "Almaraz", + "Almonte", + "Alonso", + "Alonzo", + "Altamirano", + "Alva", + "Alvarado", + "Alvarez", + "Amador", + "Amaya", + "Anaya", + "Anguiano", + "Angulo", + "Aparicio", + "Apodaca", + "Aponte", + "Aragón", + "Aranda", + "Araña", + "Arce", + "Archuleta", + "Arellano", + "Arenas", + "Arevalo", + "Arguello", + "Arias", + "Armas", + "Armendáriz", + "Armenta", + "Armijo", + "Arredondo", + "Arreola", + "Arriaga", + "Arroyo", + "Arteaga", + "Atencio", + "Ávalos", + "Ávila", + "Avilés", + "Ayala", + "Baca", + "Badillo", + "Báez", + "Baeza", + "Bahena", + "Balderas", + "Ballesteros", + "Banda", + "Bañuelos", + "Barajas", + "Barela", + "Barragán", + "Barraza", + "Barrera", + "Barreto", + "Barrientos", + "Barrios", + "Batista", + "Becerra", + "Beltrán", + "Benavides", + "Benavídez", + "Benítez", + "Bermúdez", + "Bernal", + "Berríos", + "Bétancourt", + "Blanco", + "Bonilla", + "Borrego", + "Botello", + "Bravo", + "Briones", + "Briseño", + "Brito", + "Bueno", + "Burgos", + "Bustamante", + "Bustos", + "Caballero", + "Cabán", + "Cabrera", + "Cadena", + "Caldera", + "Calderón", + "Calvillo", + "Camacho", + "Camarillo", + "Campos", + "Canales", + "Candelaria", + "Cano", + "Cantú", + "Caraballo", + "Carbajal", + "Cardenas", + "Cardona", + "Carmona", + "Carranza", + "Carrasco", + "Carrasquillo", + "Carreón", + "Carrera", + "Carrero", + "Carrillo", + "Carrion", + "Carvajal", + "Casanova", + "Casares", + "Casárez", + "Casas", + "Casillas", + "Castañeda", + "Castellanos", + "Castillo", + "Castro", + "Cavazos", + "Cazares", + "Ceballos", + "Cedillo", + "Ceja", + "Centeno", + "Cepeda", + "Cerda", + "Cervantes", + "Cervántez", + "Chacón", + "Chapa", + "Chavarría", + "Chávez", + "Cintrón", + "Cisneros", + "Collado", + "Collazo", + "Colón", + "Colunga", + "Concepción", + "Contreras", + "Cordero", + "Córdova", + "Cornejo", + "Corona", + "Coronado", + "Corral", + "Corrales", + "Correa", + "Cortés", + "Cortez", + "Cotto", + "Covarrubias", + "Crespo", + "Cruz", + "Cuellar", + "Curiel", + "Dávila", + "de Anda", + "de Jesús", + "Delacrúz", + "Delafuente", + "Delagarza", + "Delao", + "Delapaz", + "Delarosa", + "Delatorre", + "Deleón", + "Delgadillo", + "Delgado", + "Delrío", + "Delvalle", + "Díaz", + "Domínguez", + "Domínquez", + "Duarte", + "Dueñas", + "Duran", + "Echevarría", + "Elizondo", + "Enríquez", + "Escalante", + "Escamilla", + "Escobar", + "Escobedo", + "Esparza", + "Espinal", + "Espino", + "Espinosa", + "Espinoza", + "Esquibel", + "Esquivel", + "Estévez", + "Estrada", + "Fajardo", + "Farías", + "Feliciano", + "Fernández", + "Ferrer", + "Fierro", + "Figueroa", + "Flores", + "Flórez", + "Fonseca", + "Franco", + "Frías", + "Fuentes", + "Gaitán", + "Galarza", + "Galindo", + "Gallardo", + "Gallegos", + "Galván", + "Gálvez", + "Gamboa", + "Gamez", + "Gaona", + "Garay", + "García", + "Garibay", + "Garica", + "Garrido", + "Garza", + "Gastélum", + "Gaytán", + "Gil", + "Girón", + "Godínez", + "Godoy", + "Gollum", + "Gómez", + "Gonzales", + "González", + "Gracia", + "Granado", + "Granados", + "Griego", + "Grijalva", + "Guajardo", + "Guardado", + "Guerra", + "Guerrero", + "Guevara", + "Guillen", + "Gurule", + "Gutiérrez", + "Guzmán", + "Haro", + "Henríquez", + "Heredia", + "Hernádez", + "Hernandes", + "Hernández", + "Herrera", + "Hidalgo", + "Hinojosa", + "Holguín", + "Huerta", + "Huixtlacatl", + "Hurtado", + "Ibarra", + "Iglesias", + "Irizarry", + "Jaime", + "Jaimes", + "Jáquez", + "Jaramillo", + "Jasso", + "Jiménez", + "Jimínez", + "Juárez", + "Jurado", + "Kadar rodriguez", + "Kamal", + "Kamat", + "Kanaria", + "Kanea", + "Kanimal", + "Kano", + "Kanzaki", + "Kaplan", + "Kara", + "Karam", + "Karan", + "Kardache soto", + "Karem", + "Karen", + "Khalid", + "Kindelan", + "Koenig", + "Korta", + "Korta hernandez", + "Kortajarena", + "Kranz sans", + "Krasnova", + "Krauel natera", + "Kuzmina", + "Kyra", + "Laboy", + "Lara", + "Laureano", + "Leal", + "Lebrón", + "Ledesma", + "Leiva", + "Lemus", + "León", + "Lerma", + "Leyva", + "Limón", + "Linares", + "Lira", + "Llamas", + "Loera", + "Lomeli", + "Longoria", + "López", + "Lovato", + "Loya", + "Lozada", + "Lozano", + "Lucero", + "Lucio", + "Luevano", + "Lugo", + "Luna", + "Macías", + "Madera", + "Madrid", + "Madrigal", + "Maestas", + "Magaña", + "Malave", + "Maldonado", + "Manzanares", + "Mares", + "Marín", + "Márquez", + "Marrero", + "Marroquín", + "Martínez", + "Mascareñas", + "Mata", + "Mateo", + "Matías", + "Matos", + "Maya", + "Mayorga", + "Medina", + "Medrano", + "Mejía", + "Meléndez", + "Melgar", + "Mena", + "Menchaca", + "Méndez", + "Mendoza", + "Menéndez", + "Meraz", + "Mercado", + "Merino", + "Mesa", + "Meza", + "Miramontes", + "Miranda", + "Mireles", + "Mojica", + "Molina", + "Mondragón", + "Monroy", + "Montalvo", + "Montañez", + "Montaño", + "Montemayor", + "Montenegro", + "Montero", + "Montes", + "Montez", + "Montoya", + "Mora", + "Morales", + "Moreno", + "Mota", + "Moya", + "Munguía", + "Muñiz", + "Muñoz", + "Murillo", + "Muro", + "Nájera", + "Naranjo", + "Narváez", + "Nava", + "Navarrete", + "Navarro", + "Nazario", + "Negrete", + "Negrón", + "Nevárez", + "Nieto", + "Nieves", + "Niño", + "Noriega", + "Núñez", + "Ñañez", + "Ocampo", + "Ocasio", + "Ochoa", + "Ojeda", + "Olivares", + "Olivárez", + "Olivas", + "Olivera", + "Olivo", + "Olmos", + "Olvera", + "Ontiveros", + "Oquendo", + "Ordóñez", + "Orellana", + "Ornelas", + "Orosco", + "Orozco", + "Orta", + "Ortega", + "Ortiz", + "Osorio", + "Otero", + "Ozuna", + "Pabón", + "Pacheco", + "Padilla", + "Padrón", + "Páez", + "Pagan", + "Palacios", + "Palomino", + "Palomo", + "Pantoja", + "Paredes", + "Parra", + "Partida", + "Patiño", + "Paz", + "Pedraza", + "Pedroza", + "Pelayo", + "Peña", + "Perales", + "Peralta", + "Perea", + "Peres", + "Pérez", + "Pichardo", + "Pineda", + "Piña", + "Pizarro", + "Polanco", + "Ponce", + "Porras", + "Portillo", + "Posada", + "Prado", + "Preciado", + "Prieto", + "Puente", + "Puga", + "Pulido", + "Quesada", + "Quevedo", + "Quezada", + "Quinta", + "Quintairos", + "Quintana", + "Quintanilla", + "Quintero", + "Quintero cruz", + "Quintero de la cruz", + "Quiñones", + "Quiñónez", + "Quiros", + "Quiroz", + "Rael", + "Ramírez", + "Ramón", + "Ramos", + "Rangel", + "Rascón", + "Raya", + "Razo", + "Regalado", + "Rendón", + "Rentería", + "Reséndez", + "Reyes", + "Reyna", + "Reynoso", + "Rico", + "Rincón", + "Riojas", + "Ríos", + "Rivas", + "Rivera", + "Rivero", + "Robledo", + "Robles", + "Rocha", + "Rodarte", + "Rodrígez", + "Rodríguez", + "Rodríquez", + "Rojas", + "Rojo", + "Roldán", + "Rolón", + "Romero", + "Romo", + "Roque", + "Rosado", + "Rosales", + "Rosario", + "Rosas", + "Roybal", + "Rubio", + "Ruelas", + "Ruiz", + "Saavedra", + "Sáenz", + "Saiz", + "Salas", + "Salazar", + "Salcedo", + "Salcido", + "Saldaña", + "Saldivar", + "Salgado", + "Salinas", + "Samaniego", + "Sanabria", + "Sanches", + "Sánchez", + "Sandoval", + "Santacruz", + "Santana", + "Santiago", + "Santillán", + "Sarabia", + "Sauceda", + "Saucedo", + "Sedillo", + "Segovia", + "Segura", + "Sepúlveda", + "Serna", + "Serrano", + "Serrato", + "Sevilla", + "Sierra", + "Sisneros", + "Solano", + "Solís", + "Soliz", + "Solorio", + "Solorzano", + "Soria", + "Sosa", + "Sotelo", + "Soto", + "Suárez", + "Tafoya", + "Tamayo", + "Tamez", + "Tapia", + "Tejada", + "Tejeda", + "Téllez", + "Tello", + "Terán", + "Terrazas", + "Tijerina", + "Tirado", + "Toledo", + "Toro", + "Torres", + "Tórrez", + "Tovar", + "Trejo", + "Treviño", + "Trujillo", + "Ulibarri", + "Ulloa", + "Urbina", + "Ureña", + "Urías", + "Uribe", + "Urrutia", + "Vaca", + "Valadez", + "Valdés", + "Valdez", + "Valdivia", + "Valencia", + "Valentín", + "Valenzuela", + "Valladares", + "Valle", + "Vallejo", + "Valles", + "Valverde", + "Vanegas", + "Varela", + "Vargas", + "Vásquez", + "Vázquez", + "Vega", + "Vela", + "Velasco", + "Velásquez", + "Velázquez", + "Vélez", + "Véliz", + "Venegas", + "Vera", + "Verdugo", + "Verduzco", + "Vergara", + "Viera", + "Vigil", + "Villa", + "Villagómez", + "Villalobos", + "Villalpando", + "Villanueva", + "Villareal", + "Villarreal", + "Villaseñor", + "Villegas", + "Xacon", + "Xairo Belmonte", + "Xana", + "Xenia", + "Xiana", + "Xicoy", + "Yago", + "Yami", + "Yanes", + "Yáñez", + "Ybarra", + "Yebra", + "Yunta", + "Zabaleta", + "Zamarreno", + "Zamarripa", + "Zambrana", + "Zambrano", + "Zamora", + "Zamudio", + "Zapata", + "Zaragoza", + "Zarate", + "Zavala", + "Zayas", + "Zelaya", + "Zepeda", + "Zúñiga", +}); + +const auto mexicanSuffixes = std::to_array({ + "Jr.", "Sr.", "I", "II", "III", "IV", "V", "MD", "DDS", "PhD", "DVM", "Ing.", "Lic.", "Dr.", "Mtro.", +}); + +const auto mexicanMalePrefixes = std::to_array({"Sr."}); + +const auto mexicanFemalePrefixes = std::to_array({"Sra.", "Sta."}); + +const NameFormats mexicanNameFormats{ + {{"{firstName} {lastName}", 8}, {"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName} {suffix}", 1}}}; + +const PeopleNames mexicanPeopleNames{ + {mexicanMaleFirstNames, mexicanLastNames, mexicanMalePrefixes, mexicanSuffixes}, + {mexicanFemaleFirstNames, mexicanLastNames, mexicanFemalePrefixes, mexicanSuffixes}, + mexicanNameFormats}; // Moldova -extern const std::array moldovanMaleFirstNames; -extern const std::array moldovanFemaleFirstNames; -extern const std::array moldovanLastNames; -extern const NameFormats moldovanNameFormats; -extern const PeopleNames moldovanPeopleNames; +const auto moldovanMaleFirstNames = std::to_array({ + "Ion", "Vasile", "Mihail", "Ivan", "Gheorghe", "Vladimir", "Victor", "Nicolae", + "Andrei", "Petru", "Alexandru", "Serghei", "Valeriu", "Constantin", "Nicolai", "Sergiu", + "Igor", "Anatolie", "Dumitru", "Grigore", "Iurie", "Oleg", "Pavel", "Tudor", + "Alexei", "Alexandr", "Fiodor", "Veaceslav", "Vasili", "Vitalie", "Valentin", "Boris", + "Piotr", "Sergey", "Aleksandr", "Dmitriy", "Leonid", "Stefan", "Dmitri", "Andrey", + "Vadim", "Ilie", "Stepan", "Anatoli", "Simion", "Ghenadie", "Roman", "Viorel", + "Ruslan", "Alexander", "Nikolay", "Mikhail", "Stanislav", "Eugeniu", "Maxim", "Viktor", + "Eduard", "Anton", "Mihai", "Iuri", "Grigori", "Anatolii", "Valerii", "Maksim", + "Marin", "Vladislav", "Evgeniy", "Radu", "Iurii", "Vitali", "Teodor", "Iacob", + "Adrian", "Aurel", "Artur", "Yuriy", "Vitaliy", "Petr", "Valeriy", "Timofei", + "Dmitry", "Andrian", "Feodor", "Vitalii", "Filip", "Marcel", "Aleksey", "Dorin", + "Konstantin", "Artyom", "Anatoliy", "Mircea", "Evgeny", "Valerian", "Ilya", "Gavril", + "Eugen", "Daniel", "Iulian", "Arcadie", "Vyacheslav", "Octavian", "Danil", "Alexey", + "Gennadiy", "Vasily", "Cristian", "Vitaly", "Cristi", "David", "Egor", "Liviu", + "Serafim", "Iosif", "Nicu", "Yury", "Ioan", "Zaharia", "Georgiy", "Svyatoslav", + "Sergei", "Dinu", "Emilian", "Bogdan", "Leon", "Artem", "Anatoly", "Kirill", + "Nichita", "Spiridon", "Sasa", "Nicanor", "Sandu", "Dorel", "Artiom", "Corneliu", + "Dionisie", "Rodion", "Catalin", "Sorin", "Luca", "Ignat", "Emil", "Fedor", + "Ilarion", "Georgy", "Daniil", "Nikolai", "Filipp", "Nelu", "Stelian", "Cornel", + "Demian", "Albert", "Trifon", "Kristian", "Isidor", "Marius", "Dionis", "Iustin", + "Grigory", "Yaroslav", "Damian", "Zahari", "Gicu", "Vsevolod", "Gleb", "Lev", + "Romeo", "Filimon", "Haralambie", "Iaroslav", "Timur", "Calin", "Gherasim", "Mark", + "Ionel", "Hristofor", "Dragos", "Gabriel", "Emanoil", "Avram", "Petrea", "Timofey", + "Arcadi", "Efrem", "Silviu", "Aleks", "Jan", "Cristofor", "Lazar", "Miron", + "George", "Matei", "Semen", "Arkadiy", "Costel", "Robert", "Sevastian", "Florin", + "Nistor", "Toader", "Elisei", "Ian", "Renat", "Alin", "Lucian", "Vladimer", + "Rostislav", "Onisim", "Marc", "Dorian", "Taras", "Alex", "John", "Vlad", + "Adam", "Ciprian", "Timotei", "Nick", "Virgiliu", "Rustam", "Marcu", "Isai", + "Miroslav", "Kris", "Dinis", "Traian", "Felix", "Nazar", "Kiril", "Titu", + "Alik", "Ionut", "Edgar", "Orest", "Ioachim", "Laurentiu", "Dimitri", "German", + "Martin", "Alecu", "Erik", "Iu", "Cezar", "Yurii", "Ianos", "Ovidiu", + "Augustin", "Aurelian", "Vergil", "Angel", "Cristin", "Samoil", "Isac", "Marat", + "Doru", "Edward", "Eric", "Gelu", "Arseniy", "Iordan", "Arseni", "Matvey", + "Peter", "Silvian", "Ali", "Emanuil", "Andrii", "Arsen", "Dimitrie", "Eugene", + "Edvard", "Sergio", "Leonard", "Sebastian", "Ostap", "Anastas", "Anghel", "Casian", + "Aleksei", "Philip", "Virgil", "Svetoslav", "Richard", "Petro", "Alecsandru", "Silvestru", + "Alen", "Dragomir", "Cristea", "Denys", "Paul", "Niko", "Remus", "Neculai", + "Sam", "Samson", "Eldar", "Ghiorghi", "Andre", "Armen", "Chris", "Arnold", + "Nicolaie", "Simon", "Johny", "Kalin", "Rafael", "Rudolf", "Yanik", "Murat", + "Nestor", "Samir", "Gheorge", "Achim", "Zhan", "Georgel", "Sergej", "Samuil", + "Ramin", "Adolf", "Dimitry", "Viktar", "Dani", "Nikolas", "Georgi", "Said", + "Aron", "Rinat", "Tom", "Alan", "Alexandar", "Sergiy", "Gari", "Marco", + "Teo", "Steven", "Aleksander", "Serge", "Damir", "Dimitriy", "Vasil", "Gregory", + "Raul", "Ernest", "Vadym", "Jack", "Mustafa", "Akim", +}); + +const auto moldovanFemaleFirstNames = std::to_array({ + "Maria", "Elena", "Valentina", "Tatiana", "Olga", "Natalia", "Nina", "Ana", + "Svetlana", "Vera", "Galina", "Lidia", "Ecaterina", "Tamara", "Irina", "Nadejda", + "Anna", "Zinaida", "Larisa", "Alexandra", "Raisa", "Ludmila", "Eugenia", "Liudmila", + "Anastasia", "Angela", "Lilia", "Iulia", "Marina", "Parascovia", "Aliona", "Tatyana", + "Natalya", "Mariana", "Ala", "Liuba", "Viorica", "Victoria", "Alina", "Veronica", + "Elizaveta", "Diana", "Silvia", "Sofia", "Ekaterina", "Denis", "Cristina", "Emilia", + "Rodica", "Oxana", "Kristina", "Valeri", "Ioana", "Evdochia", "Eudochia", "Anastasiya", + "Vasilisa", "Varvara", "Claudia", "Alla", "Mariya", "Lucia", "Agafia", "Domnica", + "Antonina", "Liubov", "Lyudmila", "Liliana", "Ilia", "Ina", "Aurelia", "Daria", + "Inna", "Olesea", "Fedora", "Nadezhda", "Daniela", "Axenia", "Aurica", "Mihaela", + "Elisaveta", "Inga", "Valeria", "Viktoriya", "Anya", "Lilian", "Margarita", "Dina", + "Alyona", "Margareta", "Stela", "Eleonora", "Violeta", "Darya", "Nelea", "Doina", + "Nikita", "Yuliya", "Maia", "Sasha", "Yana", "Olesya", "Valeriya", "Polina", + "Dan", "Viktoria", "Aleksandra", "Kseniya", "Zoia", "Dorina", "Taisia", "Sava", + "Adriana", "Carolina", "Alena", "Lyubov", "Yulia", "Melania", "Veronika", "Corina", + "Oksana", "Marian", "Elvira", "Dana", "Marianna", "Karina", "Teodora", "Adela", + "Vladislava", "Snejana", "Xenia", "Iuliana", "Profira", "Gabriela", "Evgeniya", "Iraida", + "Alisa", "Arina", "Nicoleta", "Ivanna", "Rita", "Iana", "Mina", "Marcela", + "Catalina", "Zhenya", "Livia", "Georgeta", "Agripina", "Uliana", "Anzhela", "Lina", + "Anghelina", "Jana", "Andriana", "Anisia", "Albina", "Karolina", "Pavlina", "Eva", + "Stella", "Aglaia", "Adelina", "Nika", "Evgenia", "Paulina", "Lidiya", "Laura", + "Minodora", "Dora", "Felicia", "Ivana", "Nelli", "Nataliya", "Ksenia", "Valery", + "Evelina", "Iustina", "Natasa", "Cornelia", "Nikoleta", "Angelina", "Lora", "Luminita", + "Neli", "Mila", "Liliya", "Ada", "Renata", "Rimma", "Zina", "Clara", + "Sabina", "Neonila", "Vasilina", "Alevtina", "Mayya", "Zhanna", "Ionela", "Tania", + "Andreea", "Anisoara", "Snezhana", "Lia", "Vica", "Ruslana", "Roza", "Sanda", + "Taisa", "Lucretia", "Ilona", "Hristina", "Ira", "Sanya", "Toma", "Leonora", + "Gheorghina", "Lilya", "Tina", "Lida", "Rima", "Marta", "Janna", "Olimpia", + "Nona", "Violetta", "Faina", "Sorina", "Sofiya", "Danila", "Alexandrina", "Tecla", + "Greta", "Dumitrita", "Virginia", "Yan", "Madalina", "Nadia", "Ariadna", "Doinita", + "Maryana", "Nataly", "Yulian", "Rada", "Anzhelika", "Gabi", "Didina", "Kira", + "Teodosia", "Angelica", "Valerie", "Leonida", "Susana", "Emma", "Violina", "Aneta", + "Loredana", "Mary", "Regina", "Luiza", "Vania", "Antonia", "Lucica", "Zoya", + "Romina", "Inesa", "Florea", "Elina", "Cleopatra", "Inessa", "Lolita", "Yuliana", + "Lenuta", "Verginia", "Anelia", "Tudora", "Sofya", "Nelya", "Lika", "Sashka", + "Nelly", "Miroslava", "Silva", "Katalina", "Milena", "Vitalina", "Olivia", "Niculina", + "Marinela", "Aurora", "Zamfira", "Mirela", "Julia", "Olesia", "Magdalena", "Rosina", + "Paula", "Magdalina", "Silviya", "Steluta", "Daniella", "Stefana", "Steliana", "Maricica", + "Reveca", "Patricia", "Asya", "Katalin", "Elmira", "Lada", "Florica", "Malvina", + "Constanta", "Ulyana", "Lili", "Crina", "Lana", "Ninel", "Olguta", "Maya", + "Darina", "Reghina", "Gaby", "Floarea", "Alexa", "Anfisa", "Stanislava", "Ela", + "Tamila", "Ema", "Mira", "Vitalia", "Estera", "Iona", "Camelia", "Inka", + "Vanda", "Otilia", "Sabrina", "Sania", "Janeta", "Alvina", "Erica", "Rozalia", + "Erika", "Zlata", "Angelika", "Gabriella", "Antonela", "Simona", +}); + +const auto moldovanLastNames = std::to_array({ + "Rusu", "Ceban", "Ciobanu", "Lungu", "Cebotari", "Munteanu", "Popa", "Gutu", + "Rotari", "Balan", "Sirbu", "Cojocari", "Grosu", "Melnic", "Rotaru", "Cojocaru", + "Rosca", "Turcan", "Moraru", "Morari", "Cazacu", "Cretu", "Muntean", "Botnari", + "Ursu", "Bivol", "Russu", "Ivanov", "Popovici", "Lupu", "Mocanu", "Chiriac", + "Plamadeala", "Luca", "Negru", "Guzun", "Turcanu", "Miron", "Popescu", "Railean", + "Arnaut", "Florea", "Cebanu", "Popov", "Plesca", "Prodan", "Andronic", "Sandu", + "Ivanova", "Rusnac", "Buga", "Burlacu", "Musteata", "Malai", "Borta", "Croitor", + "Bejenari", "Cusnir", "Pascari", "Grecu", "Golban", "Oprea", "Cernei", "Pinzari", + "Gheorghita", "Caraman", "Bostan", "Istrati", "Spinu", "Frunza", "Cazac", "Darii", + "Lisnic", "Raileanu", "Bors", "Josan", "Topal", "Croitoru", "Birca", "Colesnic", + "Botnaru", "Brinza", "Gherman", "Petrov", "Postica", "Bulat", "Dragan", "Chicu", + "Cucu", "Mardari", "Carp", "Postolachi", "Covali", "Uzun", "Platon", "Gaina", + "Radu", "Antoci", "Caraus", "Albu", "Codreanu", "Tcaci", "Gonta", "Bejan", + "Cara", "Baciu", "Ursachi", "Bodrug", "Ungureanu", "Lupascu", "Macovei", "Ciubotaru", + "Braga", "Mihailov", "Rata", "Condrea", "Pascal", "Creciun", "Craciun", "Terzi", + "Stratan", "Moisei", "Ciumac", "Diaconu", "Gangan", "Cucos", "Mereuta", "Nastas", + "Tataru", "Capatina", "Leahu", "Goncear", "Focsa", "Bordian", "Marin", "Botezatu", + "Crudu", "Adam", "Graur", "Novac", "Bitca", "Esanu", "Marian", "Furtuna", + "Apostol", "Popova", "Catana", "Robu", "Frunze", "Secrieru", "Bargan", "Matei", + "Andries", "Mirza", "Boboc", "Stratulat", "Paladi", "Anghel", "Cibotari", "Trifan", + "Butnaru", "Mamaliga", "Busuioc", "Scripnic", "Racu", "Placinta", "Jalba", "Nistor", + "Hincu", "Bogdan", "Cristea", "David", "Popusoi", "Marcu", "Gisca", "Tofan", + "Sava", "Roman", "Lazari", "Erhan", "Luchian", "Balaban", "Costin", "Dodon", + "Cotorobai", "Bujor", "Dabija", "Vieru", "Olaru", "Macari", "Mereacre", "Dontu", + "Lesnic", "Prisacari", "Burca", "Mazur", "Moldovan", "Olari", "Gorea", "Ababii", + "Lazar", "Casian", "Gavriliuc", "Cecan", "Duca", "Lupasco", "Lavric", "Burlac", + "Chirilov", "Banari", "Pislari", "Oleinic", "Grigoras", "Ciorba", "Gavrilita", "Manoli", + "Prepelita", "Anton", "Sirghi", "Burduja", "Damian", "Covalenco", "Cirlan", "Cojuhari", + "Bagrin", "Ignat", "Jardan", "Stirbu", "Moroz", "Toma", "Pintea", "Eni", + "Mocan", "Arabadji", "Perju", "Gutan", "Babin", "Taran", "Svet", "Cheban", + "Arama", "Enachi", "Dascal", "Neagu", "Cioban", "Chistol", "Lefter", "Schiopu", + "Groza", "Petrova", "Chihai", "Baltag", "Cebotaru", "Donica", "Bodiu", "Buruiana", + "Druta", "Cozma", "Grigorita", "Boico", "Danilov", "Cantir", "Lozan", "Caldare", + "Negara", "Palii", "Bejenaru", "Melnik", "Gilca", "Creanga", "Nicolaev", "Damaschin", + "Calancea", "Pogor", "Gutul", "Lupan", "Colta", "Gogu", "Revenco", "Pasat", + "Buza", "Stavila", "Scutari", "Moldovanu", "Bologan", "Savin", "Efros", "Puscas", + "Paduret", "Axenti", "Butuc", "Isac", "Chirita", "Danu", "Costiuc", "Catan", + "Bolocan", "Cuciuc", "Sevcenco", "Iovu", "Bulgac", "Belous", "Scutelnic", "Leu", + "Ciolac", "Eremia", "Negura", "Romanciuc", "Besliu", "Chiosa", "Demian", "Iurcu", + "Ciornii", "Filip", "Pruteanu", "Gaidarji", "Covalciuc", "Proca", "Movila", "Gritco", + "Pinzaru", "Bulgaru", "Bunescu", "Baran", "Mindru", "Buzu", "Pascaru", "Savciuc", + "Lesan", "Scurtu", "Harea", "Grama", "Bondarenco", "Buzdugan", "Vlas", "Gincu", + "Cujba", "Sevciuc", "Loghin", "Morozan", "Avram", "Sula", "Virlan", "Manole", + "Arseni", "Ionita", "Chiperi", "Pasa", "Babii", "Rotar", +}); + +const NameFormats moldovanNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames moldovanPeopleNames{{moldovanMaleFirstNames, moldovanLastNames, {}, {}}, + {moldovanFemaleFirstNames, moldovanLastNames, {}, {}}, + moldovanNameFormats}; // Monaco -extern const std::array monacanMaleFirstNames; -extern const std::array monacanFemaleFirstNames; -extern const std::array monacanLastNames; -extern const NameFormats monacanNameFormats; -extern const PeopleNames monacanPeopleNames; +const auto monacanMaleFirstNames = std::to_array({ + "Philippe", "David", "Robert", "Eric", "Patrick", "Christian", "Michel", "Pierre", "Marc", + "Olivier", "Nicolas", "Alain", "Michael", "John", "Christophe", "Daniel", "Paul", "Laurent", + "Thierry", "Marco", "Thomas", "Peter", "Alexandre", "Jacques", "Georges", "Paolo", "Richard", + "Julien", "Franck", "Joseph", "Francesco", "Mario", "Bernard", "Roberto", "Pascal", "Gilles", + "Bruno", "Stefano", "Anthony", "Massimo", "Luca", "Giovanni", "Fabrice", "James", "Charles", + "Vincent", "William", "Giuseppe", "Alessandro", "Carlo", "Guillaume", "Roger", "Giorgio", "Alex", + "Frederic", "Alberto", "Fabio", "Emmanuel", "Alexander", "Jan", "Enrico", "Antonio", "Antoine", + "Simon", "Didier", "Roland", "Martin", "Benjamin", "Louis", "Serge", "Raymond", "Mohamed", + "Mark", "Lionel", "Guy", "Patrice", "Gregory", "Maurice", "Arnaud", "Stephen", "Henri", + "Federico", "Maurizio", "Xavier", "Andrew", "Gilbert", "Luigi", "Jonathan", "Yves", "Fabien", + "Christopher", "Marcel", "Igor", "Albert", "Franco", "Sebastien", "Riccardo", "George", "Sylvain", + "Kevin", "Manuel", "Chris", "Pietro", "Romain", "Frank", "Max", "Mathieu", "Ian", + "Cyril", "Matteo", "Lorenzo", "Giancarlo", "Tony", "Vladimir", "Jeremy", "Yann", "Filippo", + "Colin", "Nicholas", "Jerome", "Davide", "Steven", "Damien", "Dario", "Gabriel", "Ali", + "Gianluca", "Philip", "Gerard", "Sergey", "Arthur", "Maxime", "Ivan", "Karl", "Edouard", + "Alan", "Luc", "Hans", "Fred", "Mauro", "Angelo", "Karim", "Carlos", "Matthieu", + "Benoit", "Hugo", "Fabrizio", "Carl", "Renato", "Ahmed", "Emanuele", "Claudio", "Edmond", + "Edward", "Joe", "Jose", "Cedric", "Sergio", "Fernando", "Walter", "Ludovic", "Florian", + "Salvatore", "Erik", "Yoann", "Luciano", "Guido", "Tom", "Brian", "Georg", "Raphael", + "Henry", "Gary", "Nabil", "Luis", "Pieter", "Yvan", "Giacomo", "Ronald", "Andre", + "Oliver", "Joel", "Donald", "Andrey", "Bertrand", "Marcus", "Matthew", "Gianni", "Nick", + "Stephan", "Victor", "Jorge", "Adam", "Neil", "Adrien", "Mamadou", "Flavio", "Gian", + "Norbert", "Stefan", "Sandro", +}); + +const auto monacanFemaleFirstNames = std::to_array({ + "Jean", "Andrea", "Maria", "Catherine", "Isabelle", "Nathalie", "Anne", "Christine", + "Sophie", "Marie", "Anna", "Claude", "Sylvie", "Caroline", "Elena", "Jacqueline", + "Nicole", "Laura", "Alexandra", "Patricia", "Elisabeth", "Monique", "Brigitte", "Dominique", + "Christiane", "Sandrine", "Mireille", "Laurence", "Virginie", "Barbara", "Sandra", "Vanessa", + "Florence", "Cristina", "Olga", "Paola", "Annie", "Corinne", "Claire", "Audrey", + "Marina", "Carole", "Michele", "Sonia", "Elodie", "Karine", "Simone", "Francesca", + "Suzanne", "Colette", "Charlotte", "Muriel", "Julie", "Louise", "Fabienne", "Francis", + "Sarah", "Josiane", "Nadia", "Patrizia", "Victoria", "Evelyne", "Stephane", "Irina", + "Karen", "Chantal", "Sabrina", "Danielle", "Monica", "Magali", "Sabine", "Michelle", + "Mary", "Angela", "Roberta", "Carla", "Yvette", "Liliane", "Daniela", "Gabriele", + "Jeanne", "Samantha", "Denise", "Delphine", "Josette", "Rita", "Eliane", "Jeannine", + "Alexis", "Denis", "Olivia", "Pascale", "Valerie", "Tatiana", "Sara", "Eva", + "Emmanuelle", "Nadine", "Laetitia", "Linda", "Nicola", "Jessica", "Janine", "Claudine", + "Arlette", "Diane", "Laure", "Marguerite", "Emma", "Johanna", "Maryse", "Jennifer", + "Yvonne", "Diana", "Natalia", "Daniele", "Carine", "Alessandra", "Elizabeth", "Marine", + "Lisa", "Marion", "Manuela", "Solange", "Nancy", "Helen", "Rachel", "Alice", + "Bettina", "Emilie", "Annick", "Antonella", "Huguette", "Francine", "Alexia", "Chiara", + "Eleonora", "Valentina", "Karin", "Myriam", "Laurie", "Odette", "Stephanie", "Ingrid", + "Grace", "Pauline", "Ana", "Virginia", "Silvia", "Veronique", "Camille", "Celine", + "Teresa", "Micheline", "Christina", "Cinzia", "Jocelyne", "Anastasia", "Lucienne", "Jane", + "Alina", "Marisa", "Yannick", "Christelle", "Andreas", "Lydia", "Rose", "Juliette", + "Bianca", "Bernadette", "Svetlana", "Robin", "Nelly", "Susan", "Sylviane", "Judith", + "Aline", "Claudette", "Marianne", "Pierrette", "Elisa", "Sylvia", "Giovanna", "Viviane", + "Julia", "Clara", "Amandine", "Nataliya", "Stefania", "Katia", "Sacha", "Luisa", + "Paule", "Madeleine", "Marta", "Nina", "Claudia", "Caterina", "Edith", "Veronica", + "Larisa", "Carmen", "Marjorie", "Elvira", "Coralie", "Silvana", "Estelle", "Ruth", + "Michela", "Carol", "Camilla", "Yulia", "Jenny", "Paulette", "Anita", "Carolina", + "Eugenia", "Joelle", "Murielle", "Cynthia", "Janet", "Lara", "Fiona", "Lucia", + "Ursula", "Stella", "Wendy", "Odile", "Isabella", "Renata", "Lina", "Juan", + "Monika", "Tiziana", "Magdalena", "Natacha", "Adriana", "Emilienne", "Kelly", "Ann", + "Kristina", "Margarita", "Nicoletta", "Melanie", "Piera", "Cindy", "Elise", "Marianna", + "Carmela", "Rosanna", "Federica", "Amanda", "Melissa", "Cecile", "Armelle", "Lesley", + "Graziella", "Ekaterina", "Gabriella", "Lucie", "Anny", "Raymonde", "Yolande", "Antoinette", + "Ginette", "Annette", "Elisabetta", "Ariane", "Marcelle", "Leila", "Eveline", "Ashley", + "Beatrice", "Mathilde", "Aude", "Lydie", "Inna", "Iryna", "Morgan", "Vivian", + "Emilia", "Adrienne", "Willy", "Karina", "Ida", "Candice", "Simonetta", "Serenella", + "Marielle", "Dorota", "Eleni", "Aurore", "Erika", "Marthe", "Franca", "Lorraine", + "Fanny", "Gilberte", "Rossana", "Isabel", "Jasmine", "Giulia", "Santa", "Jeannette", + "Paula", "Dennis", "Mirella", "Maddalena", "Lucette", "Emanuela", "Flora", "Maryline", + "France", "Elsa", "Lorenza", "Rosa", "Deborah", "Maya", "Jesus", "Irene", + "Georgette", "Amina", "Justine", "Rosella", "Ewa", "Henriette", "Simona", "Irma", + "Agathe", "Lucile", "Danny", "Christel", "Veronika", "Sally", "Rosette", "Margaret", + "Dany", "Antonia", "Anouk", "Giorgia", "Joan", "Khadija", "Liliana", "Serena", + "Donatella", "Galina", "Annemarie", "Astrid", "Philippa", "Lise", +}); + +const auto monacanLastNames = std::to_array({ + "Rossi", + "Lorenzi", + "Pastor", + "Crovetto", + "Cellario", + "Martin", + "Smith", + "Garcia", + "Gastaud", + "Diallo", + "Bernard", + "Giordano", + "Cohen", + "Viale", + "Lopez", + "Fissore", + "Verrando", + "Williams", + "Biancheri", + "Palmero", + "Allavena", + "Martini", + "Roux", + "Carpinelli", + "Taylor", + "Pastorelli", + "Rinaldi", + "Testa", + "Ferrari", + "Bernardi", + "Marsan", + "Martinez", + "Gomez", + "Vatrican", + "Bruno", + "Michel", + "Pizzio", + "Hall", + "Blanc", + "Grimaldi", + "Perez", + "Johnson", + "Câmara", + "Medecin", + "Thomas", + "Lavagna", + "Scott", + "Costa", + "Ferrero", + "Merlino", + "Antognelli", + "Agliardi", + "Marquet", + "Berti", + "Vial", + "Lewis", + "Franco", + "Garelli", + "Boisson", + "Ramirez", + "Bertrand", + "Prat", + "Rodriguez", + "Rey", + "Garino", + "Durand", + "Battaglia", + "Marzocco", + "Ballestra", + "Klein", + "Legrand", + "Bertola", + "Benedetti", + "Boisbouvier", + "Pierre", + "Brown", + "Brezzo", + "Sangiorgio", + "Barry", + "Morel", + "Levy", + "Fabre", + "Fautrier", + "Wright", + "Tomatis", + "Notari", + "Giusti", + "Barral", + "Doria", + "Li", + "Gastaldi", + "Morris", + "Longo", + "Gibelli", + "Gallo", + "Cooper", + "Marchetti", + "Hernandez", + "Jensen", + "Toure", + "Green", + "Raimondo", + "Orsini", + "Ricciardi", + "Pallanca", + "Ross", + "Bianchi", + "Gaglio", + "Pasquier", + "Jones", + "Marcel", + "Albertini", + "Guglielmi", + "Nardi", + "Alberti", + "Squarciafichi", + "Vidal", + "Calcagno", + "Ribeiro", + "Casanova", + "Bellone", + "Mendes", + "Baldoni", + "Blanchy", + "Kim", + "Davies", + "Sbarrato", + "Daniel", + "Angelini", + "Simon", + "Zunino", + "Lambert", + "Bianco", + "Pascal", + "Miller", + "Imbert", + "Bonnet", + "Solamito", + "Richelmi", + "Orengo", + "Romano", + "Muller", + "Serra", + "Mathieu", + "Hansen", + "Campana", + "Leclercq", + "Blanchi", + "Sassi", + "Michelis", + "Aubert", + "Evans", + "Lombard", + "Joly", + "Edwards", + "Mazza", + "Reynaud", + "Sosso", + "Christensen", + "Fontaine", + "Lanteri", + "Thompson", + "Graziani", + "Ballerio", + "Seggiaro", + "Harrison", + "Moore", + "Bah", + "Da silva", + "Adams", + "Noaro", + "Balde", + "Siri", + "Davidson", + "Benoit", + "King", + "Mercier", + "Wilson", + "Petrini", + "Augier", + "Sylla", + "Singh", + "Tubino", + "Faivre", + "Albisetti", + "Griffin", + "Bonafede", + "Lajoux", + "Gabriel", + "Merlo", + "De millo-terrazzani", + "De sevelinges", + "Berrin", + "Wagner", + "Gomes", + "Buzzi", + "Van klaveren", + "Meunier", + "Palmer", + "Dessi", + "Perrin", + "Vincent", + "Guillaume", + "Ferrua", + "Valentini", + "Olivié", + "Larini", + "Barilaro", + "White", + "Bosio", + "Piano", + "Robin", + "Marin", + "Clark", + "Durando", + "Stevenson", + "Antonini", + "Julien", + "Jackson", + "Barelli", + "Ravera", + "Anderson", + "Wood", + "Robini", + "Rizzi", + "Monte-carlo", + "Perris", + "Limone", + "Revelli", + "Petit", + "Lacroix", + "Rosticher", + "Lefebvre", + "Courtin", + "Cottalorda", + "Risso", + "Vitale", + "Agostini", + "Santini", + "Ragazzoni", + "Moller", + "Boeri", + "Giovannini", + "Pons", + "Kelly", + "Ginocchio", + "Valle", + "Realini", + "Cassini", + "Picco", + "Manfredi", + "Fiorucci", + "Nucciarelli", + "Scotto", + "Russo", + "Berger", + "Dias", + "Poyet", + "Sanchez", + "Manasse", + "Keita", + "Laurent", + "Garoscio", + "Gautier", + "Ellis", + "Ivaldi", + "Traore", + "Dalmasso", + "Parker", + "Mille", + "Boero", + "Nelson", + "Vitali", + "Brousse", + "Cardone", + "Verdino", + "Reynier", + "Blair", + "Marchisio", + "Jahlan", + "Lee", + "Grassi", + "Bertoni", + "Raynaud", + "Bertani", + "Gamba", + "Orlando", + "Orecchia", + "Moreno", + "Hill", + "Rose", + "Olivier", + "Lechner", + "Ouedraogo", + "Mondino", + "Moscati", + "Oliveira", + "Robertson", + "Gonzalez", + "Weill", + "Wenden", + "Sorensen", + "Murray", + "Brunner", + "Falciani", + "Bourgery", + "Riva", + "Passeron", + "Robert", + "Versace", + "Renaud", + "Payne", + "Marquês", + "Allen", + "Varley", + "Franzini", + "Stillitano", + "Giraldi", + "Pinto", + "Croesi", + "Cruz", + "Peeters", + "Castellini", + "Corradi", + "Dessaigne", + "Olivieri", +}); + +const NameFormats monacanNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames monacanPeopleNames{{monacanMaleFirstNames, monacanLastNames, {}, {}}, + {monacanFemaleFirstNames, monacanLastNames, {}, {}}, + monacanNameFormats}; // Nepal -extern const std::array nepaleseMaleFirstNames; -extern const std::array nepaleseFemaleFirstNames; -extern const std::array nepaleseLastNames; -extern const NameFormats nepaleseNameFormats; -extern const PeopleNames nepalesePeopleNames; +const auto nepaleseMaleFirstNames = std::to_array({ + "Sijan", "Prabesh", "Niwang", "Nabin", "Sanjok", "Bibek", "Sujal", "Sagar", "Mukunda", "Arun", + "Nirdesh", "Rabin", "Ramesh", "Manoj", "Bimal", "Anil", "Bipin", "Gopal", "Sunil", "Bikash", + "Sujan", "Sudeep", "Nikhil", "Nishant", "Kiran", "Pramod", "Saroj", "Rajesh", "Dilip", "Sandesh", + "Krishna", "Hari", "Suresh", "Arjun", "Bibash", "Rajiv", "Rajendra", "Bijay", "Aashish", "Raju", + "Sabin", "Keshav", "Rabi", "Sanjeev", "Puspa", "Saroj", "Khem", "Shiva", "Mohan", "Dinesh", + "Rajendra", "Suman", "Ujjwal", "Bhuwan", "Birendra", "Birat", "Lalit", "Bhola", "Pradip", "Nabin", + "Suman", "Shankar", "Laxman", "Sushant", "Roshan", "Buddha", "Kapil", "Rajbir", "Suraj", "Manish", + "Ajay", "Dipak", "Anish", "Sabin", "Prem", "Bijay", "Narayan", "Rajat", "Rishi", "Yogesh", + "Rajendra", "Pawan", "Bhawesh", "Pramod", "Pramod", "Saurav", "Hemant", "Subash", "Sparsha", "Sabin", + "Manohar", "Anuj", "Aryan", "Yogendra", "Nischal", "Samir", "Sanjay", "Bijay", "Rohit", "Rajat", + "Biraj", "Kiran", "Pravin", "Pramod", +}); + +const auto nepaleseFemaleFirstNames = std::to_array({ + "Sita", "Gita", "Shristi", "Anita", "Priya", "Sabina", "Nisha", "Saraswati", "Asha", + "Binita", "Deepa", "Kamala", "Laxmi", "Rina", "Bishnu", "Meera", "Sushma", "Pooja", + "Rajani", "Sunita", "Nirmala", "Rita", "Sumitra", "Usha", "Manisha", "Rekha", "Sarita", + "Kusum", "Puja", "Sanjana", "Smriti", "Pratima", "Sabita", "Kanchan", "Nandita", "Anjali", + "Harsha", "Sangita", "Sushmita", "Suman", "Sweta", "Sadhana", "Anju", "Nabina", "Bhawana", + "Srijana", "Nikita", "Aarati", "Anita", "Nitu", "Sima", "Sita", "Goma", "Sarala", + "Sarika", "Sabita", "Madhavi", "Indira", "Ankita", "Bhumika", "Neha", "Ashmita", "Subiksha", + "Supriya", "Urmila", "Shova", "Shruti", "Ruby", "Samjhana", "Prakriti", "Ashika", "Reecha", + "Yamuna", "Sunaina", "Sujata", "Muna", "Sulochana", "Jamuna", "Anshu", "Sarala", "Sarika", + "Puspa", "Manju", "Sadhana", "Pabitra", "Usha", "Manita", "Rekha", "Swastika", "Priyanka", + "Sharmila", "Manju", "Sudha", "Laxmi", "Sunita", "Tulsi", "Usha", "Saraswati", "Rachana", +}); + +const auto nepaleseLastNames = std::to_array({ + "Adhikari", "Bhattarai", "Gurung", "Tamang", "Magar", "Shrestha", "Rai", "Limbu", + "Poudel", "Joshi", "Karki", "Shah", "Thapa", "Rana", "Regmi", "Acharya", + "Basnet", "Shrestha", "Lama", "Khadka", "Maharjan", "Panta", "Sherpa", "Lohani", + "Giri", "Gupta", "Mishra", "Chhetri", "Magar", "Parajuli", "Dhakal", "Malla", + "Gyawali", "Pariyar", "Thakuri", "Roka", "Sapkota", "Waiba", "Pariyar", "Chand", + "Subedi", "Ghimere", "Khatri", "Bista", "Bajracharya", "Dhungana", "Budhathoki", "Yadav", + "Rokaya", "Chaudhary", "Pathak", "Pandey", "Baniya", "Devkota", "Dangol", "Koirala", + "Mishra", "Oli", "Sherchan", "Rajbanshi", "Bhandari", "Niroula", "Nepal", "Nepali", +}); + +const NameFormats nepaleseNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames nepalesePeopleNames{{nepaleseMaleFirstNames, nepaleseLastNames, {}, {}}, + {nepaleseFemaleFirstNames, nepaleseLastNames, {}, {}}, + nepaleseNameFormats}; // Norway -extern const std::array norwegianMaleFirstNames; -extern const std::array norwegianFemaleFirstNames; -extern const std::array norwegianLastNames; -extern const std::array norwegianSuffixes; -extern const std::array norwegianPrefixes; -extern const NameFormats norwegianNameFormats; -extern const PeopleNames norwegianPeopleNames; +const auto norwegianMaleFirstNames = std::to_array({ + "Markus", "Mathias", "Kristian", "Jonas", "Andreas", "Alexander", "Martin", "Sander", "Daniel", "Magnus", + "Henrik", "Tobias", "Kristoffer", "Emil", "Adrian", "Sebastian", "Marius", "Elias", "Fredrik", "Thomas", + "Sondre", "Benjamin", "Jakob", "Oliver", "Lucas", "Oskar", "Nikolai", "Filip", "Mats", "William", + "Erik", "Simen", "Ole", "Eirik", "Isak", "Kasper", "Noah", "Lars", "Joakim", "Johannes", + "Håkon", "Sindre", "Jørgen", "Herman", "Anders", "Jonathan", "Even", "Theodor", "Mikkel", "Aksel", +}); + +const auto norwegianFemaleFirstNames = std::to_array({ + "Emma", "Sara", "Thea", "Ida", "Julie", "Nora", "Emilie", "Ingrid", "Hanna", "Maria", + "Sofie", "Anna", "Malin", "Amalie", "Vilde", "Frida", "Andrea", "Tuva", "Victoria", "Mia", + "Karoline", "Mathilde", "Martine", "Linnea", "Marte", "Hedda", "Marie", "Helene", "Silje", "Leah", + "Maja", "Elise", "Oda", "Kristine", "Aurora", "Kaja", "Camilla", "Mari", "Maren", "Mina", + "Selma", "Jenny", "Celine", "Eline", "Sunniva", "Natalie", "Tiril", "Synne", "Sandra", "Madeleine", +}); + +const auto norwegianLastNames = std::to_array({ + "Johansen", "Hansen", "Andersen", "Kristiansen", "Larsen", "Olsen", "Solberg", + "Andresen", "Pedersen", "Nilsen", "Berg", "Halvorsen", "Karlsen", "Svendsen", + "Jensen", "Haugen", "Martinsen", "Eriksen", "Sørensen", "Johnsen", "Myhrer", + "Johannessen", "Nielsen", "Hagen", "Pettersen", "Bakke", "Skuterud", "Løken", + "Gundersen", "Strand", "Jørgensen", "Kvarme", "Røed", "Sæther", "Stensrud", + "Moe", "Kristoffersen", "Jakobsen", "Holm", "Aas", "Lie", "Moen", + "Andreassen", "Vedvik", "Nguyen", "Jacobsen", "Torgersen", "Ruud", "Krogh", + "Christiansen", "Bjerke", "Aalerud", "Borge", "Sørlie", "Berge", "Østli", + "Ødegård", "Torp", "Henriksen", "Haukelidsæter", "Fjeld", "Danielsen", "Aasen", + "Fredriksen", "Dahl", "Berntsen", "Arnesen", "Wold", "Thoresen", "Solheim", + "Skoglund", "Bakken", "Amundsen", "Solli", "Smogeli", "Kristensen", "Glosli", + "Fossum", "Evensen", "Eide", "Carlsen", "Østby", "Vegge", "Tangen", + "Smedsrud", "Olstad", "Lunde", "Kleven", "Huseby", "Bjørnstad", "Ryan", + "Rasmussen", "Nygård", "Nordskaug", "Nordby", "Mathisen", "Hopland", "Gran", + "Finstad", "Edvardsen", +}); + +const auto norwegianSuffixes = std::to_array({"Jr.", "Sr.", "I", "II", "III", "IV", "V"}); + +const auto norwegianPrefixes = std::to_array({"Dr.", "Prof."}); + +const NameFormats norwegianNameFormats{ + {{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 9}, {"{firstName} {lastName} {suffix}", 1}}}; + +const PeopleNames norwegianPeopleNames{ + {norwegianMaleFirstNames, norwegianLastNames, norwegianPrefixes, norwegianSuffixes}, + {norwegianFemaleFirstNames, norwegianLastNames, norwegianPrefixes, norwegianSuffixes}, + norwegianNameFormats}; // Palestine -extern const std::array palestinianMaleFirstNames; -extern const std::array palestinianFemaleFirstNames; -extern const std::array palestinianLastNames; -extern const NameFormats palestinianNameFormats; -extern const PeopleNames palestinianPeopleNames; +const auto palestinianMaleFirstNames = std::to_array({ + "Mohamed", "Ahmed", "Abdel", "Mahmoud", "Ibrahim", "Khaled", "Ali", "Yousef", "Hassan", + "Raed", "Emad", "Iyad", "Omar", "Jamal", "Khalil", "Ayman", "Ramy", "Samih", + "Fayez", "Ismail", "Abdullah", "Mostafa", "Mousa", "Ashraf", "Ziad", "Hussein", "Osama", + "Saeed", "Samir", "Maher", "Sami", "Hossam", "Yasser", "Hani", "Fadi", "Waleed", + "Saleh", "Suleiman", "Nasser", "Nabil", "Bassam", "Shady", "Wael", "Samer", "Tarek", + "Adel", "Majed", "Adnan", "Essam", "Salah", "Bilal", "Amjad", "Kamal", "Jamil", + "Akram", "Anwar", "Kamel", "Nader", "Riad", "Murad", "Zuhair", "Hisham", "Yahya", + "Fouad", "Marwan", "Ghassan", "Mazen", "Fathi", "Amer", "Hatem", "Amin", "Firas", + "Ammar", "Salem", "Haytham", "Mounir", "Naeem", "Khader", "Salim", "Hamza", "Nael", + "Tawfiq", "Najih", "Louay", "Zaher", "Atef", "Sherif", "Asaad", "Fawzi", "Anas", + "Mahdi", "Fares", "Salam", "Younis", "Hamed", "Tamer", "Ramadan", "Jalal", "Atta", + "Jawad", "Zakaria", "Saad", "Osman", "Sufian", "Talal", "Farid", "Bashir", "Khamis", + "Dia", "Arafat", "Naji", "Suhail", "Saber", "Faisal", "Rafiq", "Rashid", "Mamoun", + "Nizar", "Ghazi", "Nazim", "Mansour", "Yacoub", "Qasim", "Salman", "Malik", "Taleb", + "Adham", "Zaki", "Badr", "Fahd", "Taha", "Rabie", "Yassin", "Waseem", "Bakr", + "Ishaq", "Noman", "Rashad", "Hamada", "Jaafar", "Karam", "Radwan", "Amir", "Ayoub", + "Jaber", "George", "Azhar", "Mesbah", "Nazih", "Hammad", "Rabah", "Aziz", "Fatih", + "Farouk", "Hamad", "Mohsen", "Elias", "Taher", "Zaid", "Makram", "Sultan", "Iftikhar", + "Lotfi", "Karim", "Hilal", "Amr", "Radi", "Rasheed", "Sadiq", "Wahid", "Massoud", + "Shafiq", "Nizam", "Saif", "Abbas", "Sabri", "Anis", "Mujahid", "Haidar", "Sayed", + "Iqbal", "Mahy", "Zain", "Imtiaz", "Afif", "Raouf", "Farhan", "Nadi", "Amar", + "Nadeem", "Nassar", "Haroun", "Idris", "Hadi", "Wahib", "Badi", "Anton", "Adam", + "Habib", "Marzouk", "Fahim", "Johnny", "Hamid", "Rubin", "Matar", "Mabrouk", "Roly", + "Ayad", "Allan", "Emile", "William", "Safwan", "Michel", "Abdo", "Abou", "Bahri", + "Nasrallah", "Shoaib", "Mubarak", "Daoud", "Hany", "Abed", "Safi", "Asad", "Antar", + "Mikhail", "Arif", "Rehan", "Raymond", "Joseph", "Bader", "Sinan", "Victor", "Milad", + "Aqeel", "Said", "Jack", "Rabeh", "Khalifa", "Ansar", "Aba", "Naser", "Jalil", + "Hanafi", "Asif", "Simon", "Falak", "Mumtaz", "Rafi", "Peter", "Yvon", "Nasir", + "Morris", "Abdelhakim", "Adeel", "Luqman", "Fikret", "Abdelkader", "Edward", "Gamal", "Nayel", + "Muzaffar", "Irfan", "Ihab", "Muhammed", "Nazir", "Hajjaj", "Hakim", "Sajid", "Akbar", + "Marcel", "Hossein", "John", "Fadel", "Majid", "Zahir", "Siraj", "Madi", "Mokhtar", + "Ghali", "Sheikh", "Karmel", "Robert", "Angel", "Seddik", "Hama", "Scott", "Raman", + "Soso", "Aram", "Jamie", "Kamil", "Mike", "Daniel", "Yousif", "Alam", "Mohammed", + "Mazhar", "Talha", +}); + +const auto palestinianFemaleFirstNames = std::to_array({ + "Fatima", "Mariam", "Iman", "Amal", "Hanan", "Mona", "Manal", "Aisha", "Wafa", + "Alaa", "Nasreen", "Sana", "Samira", "Asmaa", "Jamila", "Heba", "Halima", "Ibtisam", + "Souad", "Jihad", "Maha", "Hoda", "Hana", "Laila", "Siham", "Basma", "Najah", + "Nidal", "Ghada", "Nour", "Samar", "Rana", "Nadia", "Nawal", "Nada", "Zainab", + "Sahar", "Samah", "Sabah", "Hayam", "Fathia", "Rania", "Khadija", "Faten", "Ahlam", + "Hala", "Sarah", "Aida", "Safa", "Samia", "Lina", "Kholoud", "Rasha", "Wissam", + "Anam", "Dalal", "Elham", "Aziza", "Najwa", "Sawsan", "Magda", "Khadra", "Susan", + "Noha", "Ela", "Rima", "Yasmin", "Salwa", "Maysaa", "Ramia", "Afaf", "Nihad", + "Randa", "Fadwa", "Khawla", "Rajaa", "Islam", "Ayesha", "Mai", "Nahed", "Inas", + "Nahla", "Lubna", "Rehab", "Duaa", "Saada", "Asmahan", "Manar", "Latifa", "Hind", + "Alia", "Nabila", "Dina", "Hayat", "Shadia", "Raida", "Nariman", "Kawthar", "Abla", + "Zahra", "Reda", "Marwa", "Rahma", "Jihan", "Najla", "Salama", "Najat", "Bahia", + "Haya", "Maazouza", "Fadia", "Walaa", "Ayat", "Aya", "Ikram", "Bushra", "Nasim", + "Nasra", "Arwa", "Lamia", "Salma", "Maram", "Hikmat", "Shaimaa", "Bayan", "Ihsan", + "Awatif", "Farah", "Diana", "Nora", "Linda", "Farida", "Fahima", "Najma", "Suhaila", + "Donia", "Amna", "Nermin", "Wesal", "Fayrouz", "Rabab", "Sonia", "Lana", "Janan", + "Dalia", "Azza", "Tamara", "Nazira", "Badia", "Dima", "Hadia", "Mary", "Afnan", + "Nancy", "Ria", "Asia", "Shahnaz", "Dana", "Tasnim", "Lamis", "Hanna", "Raja", + "Naima", "Rani", "Razan", "Wiam", "Malak", "Sally", "Anaya", "Rose", "Saba", + "Camelia", "Mansoura", "Safia", "Fattoum", "Naama", "Nargis", "Bahija", "Yousra", "Amira", + "Hilda", "Hajar", "Maria", "Rama", "Wahiba", "Lara", "Sima", "Jacqueline", "Faiza", + "Janet", "Aman", "Maysa", "Kamelia", "Georgette", "Nasima", "Mari", "Sumaya", "Nicola", + "Nadine", "Marilyn", "Fawzia", "Yara", "Amani", "Elin", "Batoul", "Asma", "Marzouka", + "Fatna", "Hassiba", "Sajida", "Karem", "Rita", "Helen", "Amina", "Ghalia", "Nelly", + "Reina", "Rene", "Mira", "Samiha", "Nahida", "Diane", "Madeleine", "Elissa", "Sama", + "Dahab", "Salsabil", "Rokaya", "Liana", "Shaheen", "Samara", "Raya", "Rahima", "Norma", + "Farhat", "Elaine", "Hina", "Suzy", "Sandy", "Judy", "Julia", "Lydia", "Violet", + "Nayla", "Saadia", "Hasna", "Lorraine", "Sahra", "Mimouna", "Jane", "Karima", "Therese", + "Nawar", "Badra", "Margret", "Rayan", "Caroline", "Marina", "Yacine", "Mirna", "Lucy", + "Dania", "Jannat", "Hilde", "Christine", "Abrar", "Elia", "Ayada", "Hawa", "Sandra", + "Najia", "Angie", "Soria", "Liza", "Katrina", "Vera", "Melia", "Mahdia", "Mounira", + "Emily", "Houria", "Antoinette", "Mimi", "Irene", "Badria", "Sabra", "Tania", "Olga", + "Ala", "Sina", "Ana", "Milada", "Lilian", "Zeina", "Fatin", "Omaima", "Nana", + "Zaida", "Ramos", "Carmen", "Josephine", "Laura", "Joan", "Isha", "Elina", "Anahid", + "Sinai", "Nahid", "Christina", "Nina", "Elian", "An", "Maida", "Nafisa", "Elizabeth", + "Juliana", "Hamida", "Jalila", "Joanna", "Nirmin", "Francis", "Claire", "Margo", "Sabria", + "Kitty", "Rachida", "Mariana", "Natalia", "Salima", "Kamilia", "Doha", "Karol", "Catherine", + "Camille", "Hakima", "Nozha", "Pauline", "Andrea", "Tatiana", "Arlette", "Sare", "Sakina", + "Dany", "Amelia", "Yelena", "Grace", "Marian", "Liane", "Serena", "Yana", +}); + +const auto palestinianLastNames = std::to_array({ + "Awad", "Al najjar", "El masry", "Odeh", "Hamdan", "Saleh", "Al khatib", + "Shaheen", "Mansour", "Mousa", "Ahmed", "Yassin", "Hamad", "Salama", + "Eisaa", "Dawood", "Salah", "Hussein", "Hassan", "Abdullah", "Hammad", + "Suleiman", "Shehadeh", "El shaer", "Abed", "Taha", "Zaaroub", "Ashour", + "Nassar", "Hamouda", "Saad", "Al astal", "Jaradat", "Ayad", "Ali", + "Khalil", "Amr", "Basharat", "Ibrahim", "Salem", "Zaid", "Jaber", + "Alyan", "Rabie", "Gabr", "Obaid", "Mohamed", "Omar", "Musleh", + "Daraghmeh", "Khatib", "Hegazy", "Ghanim", "Qasim", "Bani odeh", "Ismail", + "Qadeeh", "Abou ali", "Abu bakr", "Zidan", "Hamed", "Salman", "Jouda", + "Darwish", "Dweikat", "El sherif", "Sobeeh", "Najjar", "Amer", "Nasser", + "Badr", "El madhoun", "Al natsheh", "Matar", "Barakat", "Nasr", "Mostafa", + "Al farra", "Khader", "El aga", "Yousef", "Radwan", "Abu al-rab", "Siam", + "Mari", "Hamid", "Osman", "Samara", "Al sheikh", "Abu odeh", "Nofal", + "Sobh", "Adwan", "Abu jazar", "Al jaabari", "Sabah", "Saeed", "Khalaf", + "Safi", "Ghannam", "Sawafet", "Eid", "Jamal", "Mahmoud", "Zayed", + "Younis", "El taweel", "Hassouna", "Assaf", "Nazzal", "Jarrar", "Abou mostafa", + "Madi", "Shaat", "Abu taha", "Hawtha", "Shalalda", "Salah el din", "Zaqout", + "Salim", "Abu daqah", "Shurrab", "Abdel aal", "Abou omra", "Mounaser", "Jabareen", + "Ramadan", "Shamasneh", "Ghaith", "Rayan", "Muslim", "Abdo", "Azzam", + "Al-qadi", "El attar", "Al awadh", "Attallah", "Taqateq", "Baraka", "Qabha", + "Afaneh", "Assi", "El gamal", "Abu aram", "Hamail", "El kahlout", "Abed rabbo", + "Abu deh", "Elhamham", "Al akkad", "Fakih", "Kandil", "Fayad", "Badwan", + "Abdel hadi", "Helis", "Ayyash", "Diab", "Al ashqar", "Jibrin", "Abouwarda", + "El hajj", "Massoud", "Al kafarneh", "Abu shrkh", "Abu shamaleh", "El amour", "Rajabi", + "Badawi", "Masry", "Haroub", "Abu samra", "Aboaid", "Qeshtah", "Zahran", + "Gamhor", "Jabari", "Khalifa", "Kanaan", "Natsheh", "El louh", "Saqr", + "Abu obaid", "Zkarneh", "Shaaban", "Muhanna", "Melhem", "El halaby", "Mohsen", + "Abou zeid", "Hanani", "Yahya", "Jadallah", "Abu awad", "Akl", "Rabayeh", + "Abou hassan", "Hamada", "Maslamah", "Abdeen", "Abu labdah", "Jahalin", "Abu hilal", + "Bakr", "Alawneh", "Omran", "Hajjaj", "Erekat", "Bashir", "Abou omar", + "Salahat", "Abou farah", "Juma", "Zaher", "Kamil", "Adais", "Abou hammad", + "Halaik", "Khattab", "El haddad", "Abdelkader", "Al ghoul", "Said", "Badran", + "Asaad", "Tmazeh", "Mekdad", "Qawasmeh", "Al hindi", "Asfour", "Abu jarad", + "Ayesh", "Nasrallah", "Debabseh", "Rajoub", "Ghonaim", "El helou", "Kallab", + "Shabir", "Choucair", "Abou taema", "Zioud", "Ziadeh", "Abdul rahman", "Shraim", + "Al nahhal", "Arafat", "Dhereh", "Ragab", "Farouk", "Abu arra", "Abusnina", + "Nabhan", "El ghalban", "Al qawasmeh", "Yacoub", "Harb", "Allan", "Ghoban", + "Al bayouk", "Faroun", "Barbakh", "Al sultan", "Sarsour", "Al atrash", "Fares", + "Maarouf", "Khadour", "Hammadah", "Dheir", "Wahdan", "Khamaisah", "Hassanein", + "Al khalidi", "Habib", "Al shawwa", "Sarhan", "Faraj", "Labd", "El sakka", + "Rehan", "Ammar", "Dalloul", "Al buhaisi", "Awadallah", "Hamidat", "El banna", + "Al-bazour", "Sweety", "Abu musa", "Al maslamah", "Samour", "El zaaneen", "Kaabneh", + "Aslim", "Zeidat", "Shalaby", "Abu shaaban", "Kouar", "Faraj allah", "Mahamid", + "El sayed", "Abu zahra", "Al shurafa", "Ghazal", +}); + +const NameFormats palestinianNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames palestinianPeopleNames{{palestinianMaleFirstNames, palestinianLastNames, {}, {}}, + {palestinianFemaleFirstNames, palestinianLastNames, {}, {}}, + palestinianNameFormats}; // Persian -extern const std::array persianMaleFirstNames; -extern const std::array persianFemaleFirstNames; -extern const std::array persianLastNames; -extern const std::array persianMalePrefixes; -extern const std::array persianFemalePrefixes; -extern const NameFormats persianNameFormats; -extern const PeopleNames persianPeopleNames; +const auto persianMaleFirstNames = std::to_array({ + "آرمان", "بهروز", "کیان", "فریدون", "سپهر", "میلاد", "آرشام", "پوریا", "بهراد", "سیاوش", "احسان", + "شایان", "شهریار", "آرتین", "امیدوار", "پارسا", "کاوه", "پیام", "آرین", "مانی", "نیما", "فرهاد", + "کسری", "کیوان", "رهام", "فرشاد", "آرمین", "فرزاد", "ساماندار", "امینوار", "امیرعلی", "رضوان", "حسینیان", + "ناصر", "محمدرضا", "صادق", "علی", "عباس", "حمید", "جواد", "محمود", "علیرضا", "رامبد", "پیمان", + "مهدی", "سجاد", "محمد", "یوسف", "محمدعلی", "حسین", "رحمان", "رضا", "کاظم", "مهران", "نادر", + "مهدیار", "پرهام", "پیروز", "میثم", "احمد", "مصطفی", +}); + +const auto persianFemaleFirstNames = std::to_array({ + "آتنا", "پریسا", "نازنین", "شیرین", "الناز", "سارا", "زهرا", "ریحانه", "بهار", "آیدا", "نیکا", + "مهسا", "نگین", "یاسمن", "آرزو", "لاله", "روژین", "ترانه", "پرنیا", "مریم", "پگاه", "سلما", + "ملیسا", "نسترن", "مینا", "پرشین", "مهتا", "لیلا", "مهرانگیز", "زینب", "آزیتا", "پرستو", "رها", + "شهناز", "سوگند", "فرانکا", "لیانا", "سمیرا", "فاطمه", "سهراب", "هلنا", "دلارا", "پارمیس", "آوا", + "پانیذ", "آناهیتا", "سحر", "ناهید", "آتوسا", "بهناز", "راحله", "شبنم", "فریبا", "نرگس", "رها", + "سهیلا", "شیدا", "محیا", "زهره", "زیبا", "رقیه", "مهتاب", "الهه", "ریما", "مهدیس", +}); + +const auto persianLastNames = std::to_array({ + "خانی", + "رحمانی", + "احمدی", + "زاده", + "نژاد", + "صفری", + "جعفری", + "محمدی", + "اکبری", + "میرزایی", + "فرهادی", + "رستمی", + "نوری", + "جلالی", + "حسینی", + "رسولی", + "موسوی", + "یوسفی", + "مقدم", + "پورمحمد", + "بهرامی", + "قربانی", + "فیاض", + "فرجی", + "بخشی", + "بهشتی", + "سلطانی", + "قاسمی", + "جوادی", + "جهانگیری", + "نصیری", + "عبداللهی", + "علیزاده", + "مجد", + "مظاهری", + "هاشمی", + "پارسا", + "پیروز", + "حقیقت", + "راد", + "زمانی", + "سلمانی", + "شیرازی", + "قنبری", + "طاهری", + "مهدوی", + "نعمتی", + "وکیلی", + "کاظمی", + "رئیسی", + "میری", + "سلیمانی", + "مومنی", + "جوکار", + "بنیادی", + "حیدری", + "افشار", + "شمس", + "کشاورز", + "رشیدی", + "صادقی", + "حق‌پرست", + "بیگی", + "حسن‌زاده", + "قریشی", + "بابایی", + "نعیمی", + "موحد", + "خضری", + "داوری", + "نیکو", + "پورجعفر", + "طباطبایی", + "گلزار", + "صباحی", + "خزایی", + "رفیعی", + "حقی", + "هاشمیان", + "سجادی", + "توکلی", + "یزدانی", + "شهیدی", + "پورفرج", + "آقاجانی", + "پارسایی", + "نادری", + "آهنگری", + "اکتایی", + "زند", + "تقی‌زاده", + "جوانمرد", + "محمدیان", + "خلج", + "زندی", + "سلیمی", + "سلطانپور", + "کمالی", + "باقری", + "فرج‌اللهی", + "زنجانی", + "مهدی‌زاده", + "فرجامی", + "قنبرزاده", + "رهنما", + "خسروجاه", + "تهرانی", + "اسدی", + "معتمدی", + "حسینی‌نژاد", + "نظری", +}); + +const auto persianMalePrefixes = std::to_array({"آقا", "دکتر", "استاد"}); + +const auto persianFemalePrefixes = std::to_array({"خانم", "دکتر", "استاد"}); + +const NameFormats persianNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 9}}}; + +// Convert UTF16 to UTF8 for Persian characters then use the data. +const PeopleNames persianPeopleNames{{persianMaleFirstNames, persianLastNames, persianMalePrefixes, {}}, + {persianFemaleFirstNames, persianLastNames, persianFemalePrefixes, {}}, + persianNameFormats}; // Poland -extern const std::array polishMaleFirstNames; -extern const std::array polishFemaleFirstNames; -extern const std::array polishLastNames; -extern const std::array polishMalePrefixes; -extern const std::array polishFemalePrefixes; -extern const NameFormats polishNameFormats; -extern const PeopleNames polishPeopleNames; +const auto polishMaleFirstNames = std::to_array({ + "Aaron", "Abraham", "Adam", "Adrian", "Atanazy", "Agaton", "Alan", "Albert", + "Aleksander", "Aleksy", "Alfred", "Alwar", "Ambroży", "Anatol", "Andrzej", "Antoni", + "Apollinary", "Apollo", "Arkady", "Arkadiusz", "Archibald", "Arystarch", "Arnold", "Arseniusz", + "Artur", "August", "Baldwin", "Bazyli", "Benedykt", "Beniamin", "Bernard", "Bertrand", + "Bertram", "Borys", "Brajan", "Bruno", "Cezary", "Cecyliusz", "Karol", "Krystian", + "Krzysztof", "Klarencjusz", "Klaudiusz", "Klemens", "Konrad", "Konstanty", "Konstantyn", "Kornel", + "Korneliusz", "Korneli", "Cyryl", "Cyrus", "Damian", "Daniel", "Dariusz", "Dawid", + "Dionizy", "Demetriusz", "Dominik", "Donald", "Dorian", "Edgar", "Edmund", "Edward", + "Edwin", "Efrem", "Efraim", "Eliasz", "Eleazar", "Emil", "Emanuel", "Erast", + "Ernest", "Eugeniusz", "Eustracjusz", "Fabian", "Feliks", "Florian", "Franciszek", "Fryderyk", + "Gabriel", "Gedeon", "Galfryd", "Jerzy", "Gerald", "Gerazym", "Gilbert", "Gonsalwy", + "Grzegorz", "Gwido", "Harald", "Henryk", "Herbert", "Herman", "Hilary", "Horacy", + "Hubert", "Hugo", "Ignacy", "Igor", "Hilarion", "Innocenty", "Hipolit", "Ireneusz", + "Erwin", "Izaak", "Izajasz", "Izydor", "Jakub", "Jeremi", "Jeremiasz", "Hieronim", + "Joachim", "Jan", "Janusz", "Jonatan", "Józef", "Jozue", "Julian", "Juliusz", + "Justyn", "Kalistrat", "Kazimierz", "Wawrzyniec", "Laurenty", "Laurencjusz", "Łazarz", "Leon", + "Leonard", "Leonid", "Ludwik", "Łukasz", "Lucjan", "Magnus", "Makary", "Marceli", + "Marek", "Marcin", "Mateusz", "Maurycy", "Maksym", "Maksymilian", "Michał", "Miron", + "Modest", "Mojżesz", "Natan", "Natanael", "Nazariusz", "Nazary", "Nestor", "Mikołaj", + "Nikodem", "Olaf", "Oleg", "Oliwier", "Onufry", "Orestes", "Oskar", "Ansgary", + "Osmund", "Pankracy", "Pantaleon", "Patryk", "Patrycjusz", "Patrycy", "Paweł", "Piotr", + "Filemon", "Filip", "Platon", "Polikarp", "Porfiry", "Porfiriusz", "Prokles", "Prokul", + "Prokop", "Kwintyn", "Randolf", "Rafał", "Rajmund", "Reginald", "Rajnold", "Ryszard", + "Robert", "Roderyk", "Roger", "Roland", "Roman", "Romeo", "Rudolf", "Samson", + "Samuel", "Salwator", "Sebastian", "Serafin", "Sergiusz", "Seweryn", "Zygmunt", "Sylwester", + "Szymon", "Salomon", "Spirydion", "Stanisław", "Szczepan", "Stefan", "Terencjusz", "Teodor", + "Tomasz", "Tymoteusz", "Tobiasz", "Walenty", "Walentyn", "Walerian", "Walery", "Wiktor", + "Wincenty", "Witalis", "Włodzimierz", "Władysław", "Błażej", "Walter", "Walgierz", "Wacław", + "Wilfryd", "Wilhelm", "Ksawery", "Ksenofont", "Zachariasz", "Zachary", +}); + +const auto polishFemaleFirstNames = std::to_array({ + "Ada", "Adelajda", "Agata", "Agnieszka", "Agrypina", "Aida", "Aleksandra", "Alicja", + "Alina", "Amanda", "Anastazja", "Angela", "Andżelika", "Angelina", "Anna", "Hanna", + "Antonina", "Ariadna", "Aurora", "Barbara", "Beatrycze", "Berta", "Brygida", "Kamila", + "Karolina", "Kornelia", "Katarzyna", "Cecylia", "Chloe", "Krystyna", "Klara", "Klaudia", + "Klementyna", "Konstancja", "Koralia", "Daria", "Diana", "Dina", "Dorota", "Edyta", + "Eleonora", "Eliza", "Elżbieta", "Izabela", "Elwira", "Emilia", "Estera", "Eudoksja", + "Eudokia", "Eugenia", "Ewa", "Ewelina", "Ferdynanda", "Florencja", "Franciszka", "Gabriela", + "Gertruda", "Gloria", "Gracja", "Jadwiga", "Helena", "Henryka", "Nadzieja", "Ida", + "Ilona", "Irena", "Irma", "Izolda", "Jakubina", "Joanna", "Janina", "Żaneta", + "Ginewra", "Józefina", "Judyta", "Julia", "Julita", "Justyna", "Kira", "Cyra", + "Kleopatra", "Larysa", "Laura", "Laurencja", "Laurentyna", "Lea", "Leila", "Liliana", + "Lilianna", "Lilia", "Lilla", "Liza", "Ludwika", "Luiza", "Łucja", "Lucja", + "Lidia", "Amabela", "Magdalena", "Malwina", "Małgorzata", "Greta", "Marianna", "Maryna", + "Marta", "Martyna", "Maria", "Matylda", "Maja", "Melania", "Michalina", "Monika", + "Noemi", "Natalia", "Nikola", "Nina", "Olga", "Olimpia", "Oliwia", "Ofelia", + "Patrycja", "Paula", "Pelagia", "Penelopa", "Filipa", "Paulina", "Rachela", "Rebeka", + "Regina", "Renata", "Rozalia", "Róża", "Roksana", "Rufina", "Ruta", "Sabina", + "Sara", "Serafina", "Sybilla", "Sylwia", "Zofia", "Stella", "Stefania", "Zuzanna", + "Tamara", "Tacjana", "Tekla", "Teodora", "Teresa", "Walentyna", "Waleria", "Wanesa", + "Wiara", "Weronika", "Wiktoria", "Wirginia", "Bibiana", "Bibianna", "Wanda", "Wilhelmina", + "Ksawera", "Ksenia", "Zoe", +}); + +const auto polishLastNames = std::to_array({ + "Adamczak", "Adamczyk", "Adamek", + "Adamiak", "Adamiec", "Adamowicz", + "Adamski", "Adamus", "Aleksandrowicz", + "Andrzejczak", "Andrzejewski", "Antczak", + "Augustyn", "Augustyniak", "Bagiński", + "Balcerzak", "Banach", "Banasiak", + "Banasik", "Banaś", "Baran", + "Baranowski", "Barański", "Bartczak", + "Bartkowiak", "Bartnik", "Bartosik", + "Bednarczyk", "Bednarek", "Bednarski", + "Bednarz", "Białas", "Białek", + "Białkowski", "Biedrzyński", "Bielak", + "Bielawski", "Bielecki", "Bielski", + "Bieniek", "Biernacki", "Biernat", + "Bieńkowski", "Bilski", "Bober", + "Bochenek", "Bogucki", "Bogusz", + "Borek", "Borkowski", "Borowiec", + "Borowski", "Bożek", "Broda", + "Brzeziński", "Brzozowski", "Buczek", + "Buczkowski", "Buczyński", "Budziński", + "Budzyński", "Bujak", "Bukowski", + "Burzyński", "Bąk", "Bąkowski", + "Błaszczak", "Błaszczyk", "Cebula", + "Chmiel", "Chmielewski", "Chmura", + "Chojnacki", "Chojnowski", "Cholewa", + "Chrzanowski", "Chudzik", "Cichocki", + "Cichoń", "Cichy", "Ciesielski", + "Cieśla", "Cieślak", "Cieślik", + "Ciszewski", "Cybulski", "Cygan", + "Czaja", "Czajka", "Czajkowski", + "Czapla", "Czarnecki", "Czech", + "Czechowski", "Czekaj", "Czerniak", + "Czerwiński", "Czyż", "Czyżewski", + "Dec", "Dobosz", "Dobrowolski", + "Dobrzyński", "Domagała", "Domański", + "Dominiak", "Drabik", "Drozd", + "Drozdowski", "Drzewiecki", "Dróżdż", + "Dubiel", "Duda", "Dudek", + "Dudziak", "Dudzik", "Dudziński", + "Duszyński", "Dziedzic", "Dziuba", + "Dąbek", "Dąbkowski", "Dąbrowski", + "Dębowski", "Dębski", "Długosz", + "Falkowski", "Fijałkowski", "Filipek", + "Filipiak", "Filipowicz", "Flak", + "Flis", "Florczak", "Florek", + "Frankowski", "Frąckowiak", "Frączek", + "Frątczak", "Furman", "Gadomski", + "Gajda", "Gajewski", "Gaweł", + "Gawlik", "Gawron", "Gawroński", + "Gałka", "Gałązka", "Gil", + "Godlewski", "Golec", "Gołąb", + "Gołębiewski", "Gołębiowski", "Grabowski", + "Graczyk", "Grochowski", "Grudzień", + "Gruszczyński", "Gruszka", "Grzegorczyk", + "Grzelak", "Grzesiak", "Grzesik", + "Grześkowiak", "Grzyb", "Grzybowski", + "Grzywacz", "Gutowski", "Guzik", + "Gwoździk", "Gwóźdź", "Góra", + "Góral", "Górecki", "Górka", + "Górniak", "Górny", "Górski", + "Gąsior", "Gąsiorowski", "Głogowski", + "Głowacki", "Głąb", "Hajduk", + "Herman", "Iwanowski", "Iwański", + "Izdebski", "Jabłoński", "Jackowski", + "Jagielski", "Jagiełło", "Jagodziński", + "Jakubiak", "Jakubowski", "Janas", + "Janiak", "Janicki", "Janik", + "Janiszewski", "Jankowiak", "Jankowski", + "Janowski", "Janus", "Janusz", + "Januszewski", "Jaros", "Jarosz", + "Jarząbek", "Jasiński", "Jastrzębski", + "Jaworski", "Jaśkiewicz", "Jezierski", + "Jurek", "Jurkiewicz", "Jurkowski", + "Juszczak", "Jóźwiak", "Jóźwik", + "Jędrzejczak", "Jędrzejczyk", "Jędrzejewski", + "Kacprzak", "Kaczmarczyk", "Kaczmarek", + "Kaczmarski", "Kaczor", "Kaczorowski", + "Kaczyński", "Kaleta", "Kalinowski", + "Kalisz", "Kamiński", "Kania", + "Kaniewski", "Kapusta", "Karaś", + "Karczewski", "Karpiński", "Karwowski", + "Kasperek", "Kasprzak", "Kasprzyk", + "Kaszuba", "Kawa", "Kawecki", + "Kałuża", "Kaźmierczak", "Kiełbasa", + "Kisiel", "Kita", "Klimczak", + "Klimek", "Kmiecik", "Kmieć", + "Knapik", "Kobus", "Kogut", + "Kolasa", "Komorowski", "Konieczna", + "Konieczny", "Konopka", "Kopczyński", + "Koper", "Kopeć", "Korzeniowski", + "Kos", "Kosiński", "Kosowski", + "Kostecki", "Kostrzewa", "Kot", + "Kotowski", "Kowal", "Kowalczuk", + "Kowalczyk", "Kowalewski", "Kowalik", + "Kowalski", "Koza", "Kozak", + "Kozieł", "Kozioł", "Kozłowski", + "Kołakowski", "Kołodziej", "Kołodziejczyk", + "Kołodziejski", "Krajewski", "Krakowiak", + "Krawczyk", "Krawiec", "Kruk", + "Krukowski", "Krupa", "Krupiński", + "Kruszewski", "Krysiak", "Krzemiński", + "Krzyżanowski", "Król", "Królikowski", + "Książek", "Kubacki", "Kubiak", + "Kubica", "Kubicki", "Kubik", + "Kuc", "Kucharczyk", "Kucharski", + "Kuchta", "Kuciński", "Kuczyński", + "Kujawa", "Kujawski", "Kula", + "Kulesza", "Kulig", "Kulik", + "Kuliński", "Kurek", "Kurowski", + "Kuś", "Kwaśniewski", "Kwiatkowski", + "Kwiecień", "Kwieciński", "Kędzierski", + "Kędziora", "Kępa", "Kłos", + "Kłosowski", "Lach", "Laskowski", + "Lasota", "Lech", "Lenart", + "Lesiak", "Leszczyński", "Lewandowski", + "Lewicki", "Leśniak", "Leśniewski", + "Lipiński", "Lipka", "Lipski", + "Lis", "Lisiecki", "Lisowski", + "Maciejewski", "Maciąg", "Mackiewicz", + "Madej", "Maj", "Majcher", + "Majchrzak", "Majewski", "Majka", + "Makowski", "Malec", "Malicki", + "Malinowski", "Maliszewski", "Marchewka", + "Marciniak", "Marcinkowski", "Marczak", + "Marek", "Markiewicz", "Markowski", + "Marszałek", "Marzec", "Masłowski", + "Matusiak", "Matuszak", "Matuszewski", + "Matysiak", "Mazur", "Mazurek", + "Mazurkiewicz", "Maćkowiak", "Małecki", + "Małek", "Maślanka", "Michalak", + "Michalczyk", "Michalik", "Michalski", + "Michałek", "Michałowski", "Mielczarek", + "Mierzejewski", "Mika", "Miklaś", + "Mikołajczak", "Mikołajczyk", "Mikulski", + "Milczarek", "Milewski", "Miller", + "Misiak", "Misztal", "Miśkiewicz", + "Modzelewski", "Molenda", "Morawski", + "Motyka", "Mroczek", "Mroczkowski", + "Mrozek", "Mróz", "Mucha", + "Murawski", "Musiał", "Muszyński", + "Młynarczyk", "Napierała", "Nawrocki", + "Nawrot", "Niedziela", "Niedzielski", + "Niedźwiecki", "Niemczyk", "Niemiec", + "Niewiadomski", "Noga", "Nowacki", + "Nowaczyk", "Nowak", "Nowakowski", + "Nowicki", "Nowiński", "Olczak", + "Olejniczak", "Olejnik", "Olszewski", + "Orzechowski", "Orłowski", "Osiński", + "Ossowski", "Ostrowski", "Owczarek", + "Paczkowski", "Pająk", "Pakuła", + "Palacz", "Paluch", "Panek", + "Partyka", "Pasternak", "Paszkowski", + "Pawelec", "Pawlak", "Pawlicki", + "Pawlik", "Pawlikowski", "Pawłowski", + "Pałka", "Piasecki", "Piechota", + "Pieczek", "Piekarski", "Pietras", + "Pietruszka", "Pietrzak", "Pietrzyk", + "Pilarski", "Pilch", "Piotrowicz", + "Piotrowski", "Piwowarczyk", "Piórkowski", + "Piątek", "Piątkowski", "Piłat", + "Pluta", "Podgórski", "Polak", + "Popławski", "Porębski", "Prokop", + "Prus", "Przybylski", "Przybysz", + "Przybył", "Przybyła", "Ptak", + "Puchalski", "Pytel", "Płonka", + "Raczyński", "Radecki", "Radomski", + "Rak", "Rakowski", "Ratajczak", + "Robak", "Rogala", "Rogalski", + "Rogowski", "Rojek", "Romanowski", + "Rosa", "Rosiak", "Rosiński", + "Ruciński", "Rudnicki", "Rudziński", + "Rudzki", "Rusin", "Rutkowski", + "Rybak", "Rybarczyk", "Rybicki", + "Rzepka", "Różański", "Różycki", + "Sadowski", "Sawicki", "Serafin", + "Siedlecki", "Sienkiewicz", "Sieradzki", + "Sikora", "Sikorski", "Sitek", + "Siwek", "Skalski", "Skiba", + "Skibiński", "Skoczylas", "Skowron", + "Skowronek", "Skowroński", "Skrzypczak", + "Skrzypek", "Skóra", "Smoliński", + "Sobczak", "Sobczyk", "Sobieraj", + "Sobolewski", "Socha", "Sochacki", + "Sokołowski", "Sokół", "Sosnowski", + "Sowa", "Sowiński", "Sołtys", + "Sołtysiak", "Sroka", "Stachowiak", + "Stachowicz", "Stachura", "Stachurski", + "Stanek", "Staniszewski", "Stanisławski", + "Stankiewicz", "Stasiak", "Staszewski", + "Stawicki", "Stec", "Stefaniak", + "Stefański", "Stelmach", "Stolarczyk", + "Stolarski", "Strzelczyk", "Strzelecki", + "Stępień", "Stępniak", "Surma", + "Suski", "Szafrański", "Szatkowski", + "Szczepaniak", "Szczepanik", "Szczepański", + "Szczerba", "Szcześniak", "Szczygieł", + "Szczęsna", "Szczęsny", "Szeląg", + "Szewczyk", "Szostak", "Szulc", + "Szwarc", "Szwed", "Szydłowski", + "Szymański", "Szymczak", "Szymczyk", + "Szymkowiak", "Szyszka", "Sławiński", + "Słowik", "Słowiński", "Tarnowski", + "Tkaczyk", "Tokarski", "Tomala", + "Tomaszewski", "Tomczak", "Tomczyk", + "Tomys", "Tracz", "Trojanowski", + "Trzciński", "Trzeciak", "Turek", + "Twardowski", "Urban", "Urbanek", + "Urbaniak", "Urbanowicz", "Urbańczyk", + "Urbański", "Walczak", "Walkowiak", + "Warchoł", "Wasiak", "Wasilewski", + "Wawrzyniak", "Wesołowski", "Wieczorek", + "Wierzbicki", "Wilczek", "Wilczyński", + "Wilk", "Winiarski", "Witczak", + "Witek", "Witkowski", "Wiącek", + "Więcek", "Więckowski", "Wiśniewski", + "Wnuk", "Wojciechowski", "Wojtas", + "Wojtasik", "Wojtczak", "Wojtkowiak", + "Wolak", "Woliński", "Wolny", + "Wolski", "Woś", "Woźniak", + "Wrona", "Wroński", "Wróbel", + "Wróblewski", "Wypych", "Wysocki", + "Wyszyński", "Wójcicki", "Wójcik", + "Wójtowicz", "Wąsik", "Wąsowski", + "Węgrzyn", "Włodarczyk", "Włodarski", + "Zaborowski", "Zabłocki", "Zagórski", + "Zając", "Zajączkowski", "Zakrzewski", + "Zalewski", "Zaremba", "Zarzycki", + "Zaręba", "Zawada", "Zawadzki", + "Zdunek", "Zieliński", "Zielonka", + "Ziółkowski", "Zięba", "Ziętek", + "Zwoliński", "Zych", "Zygmunt", + "Łapiński", "Łuczak", "Łukasiewicz", + "Łukasik", "Łukaszewski", "Śliwa", + "Śliwiński", "Ślusarczyk", "Świderski", + "Świerczyński", "Świątek", "Żak", + "Żebrowski", "Żmuda", "Żuk", + "Żukowski", "Żurawski", "Żurek", + "Żyła", +}); + +const auto polishMalePrefixes = std::to_array({"Pan"}); + +const auto polishFemalePrefixes = std::to_array({"Pani"}); + +const NameFormats polishNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 9}}}; + +const PeopleNames polishPeopleNames{{polishMaleFirstNames, polishLastNames, polishMalePrefixes, {}}, + {polishFemaleFirstNames, polishLastNames, polishFemalePrefixes, {}}, + polishNameFormats}; // Portugal -extern const std::array portugueseMaleFirstNames; -extern const std::array portugueseFemaleFirstNames; -extern const std::array portugueseLastNames; -extern const std::array portugueseMalePrefixes; -extern const std::array portugueseFemalePrefixes; -extern const NameFormats portugueseNameFormats; -extern const PeopleNames portuguesePeopleNames; +const auto portugueseMaleFirstNames = std::to_array({ + "Afonso", "Alexandre", "André", "Ângelo", "António", "Artur", "Benjamim", "Bernardo", "Bruno", + "Carlos", "César", "Cristiano", "Daniel", "David", "Dinis", "Diogo", "Duarte", "Edgar", + "Eduardo", "Elias", "Emanuel", "Fábio", "Feliciano", "Fernando", "Filipe", "Francisco", "Frederico", + "Gabriel", "Gaspar", "Gil", "Gonçalo", "Guilherme", "Gustavo", "Hélio", "Henrique", "Hugo", + "Igor", "Ígor", "Isac", "Ivan", "Ivo", "Jaime", "João", "Joaquim", "Jorge", + "José", "Josué", "Júlio", "Leandro", "Leonardo", "Lourenço", "Lucas", "Luís", "Manel", + "Manuel", "Marcelo", "Marco", "Marcos", "Mário", "Martim", "Mateus", "Matias", "Mauro", + "Micael", "Miguel", "Moisés", "Norberto", "Nuno", "Paulo", "Pedro", "Rafael", "Raul", + "Renato", "Ricardo", "Roberto", "Rodrigo", "Romeu", "Rúben", "Rui", "Salvador", "Samuel", + "Sandro", "Santiago", "Sebastião", "Sérgio", "Simão", "Tiago", "Tomás", "Tomé", "Valentim", + "Valter", "Vasco", "Vicente", "Vítor", "Xavier", +}); + +const auto portugueseFemaleFirstNames = std::to_array({ + "Adriana", "Alexandra", "Alice", "Amélia", "Ana", "Ariana", "Áurea", "Aurora", "Bárbara", + "Beatriz", "Benedita", "Bruna", "Caetana", "Camila", "Carla", "Carlota", "Carminho", "Carmo", + "Carolina", "Catarina", "Cecília", "Célia", "Clara", "Constança", "Daniela", "Débora", "Diana", + "Eduarda", "Elisa", "Ema", "Emília", "Érica", "Eva", "Fabiana", "Filipa", "Flor", + "Francisca", "Frederica", "Gabriela", "Helena", "Inês", "Irina", "Íris", "Isabel", "Jéssica", + "Joana", "Júlia", "Juliana", "Julieta", "Lara", "Laura", "Leonor", "Letícia", "Lia", + "Lorena", "Luana", "Luena", "Luísa", "Luna", "Madalena", "Mafalda", "Mara", "Márcia", + "Margarida", "Maria", "Mariana", "Marta", "Matilde", "Melissa", "Mia", "Miriam", "Natália", + "Nicole", "Núria", "Ofélia", "Olívia", "Paula", "Pilar", "Rafaela", "Raquel", "Rita", + "Rosa", "Safira", "Sara", "Sílvia", "Sofia", "Soraia", "Tatiana", "Teresa", "Valentina", + "Vânia", "Vera", "Vitória", +}); + +const auto portugueseLastNames = std::to_array({ + "Abreu", "Albuquerque", "Almeida", "Alves", "Amaral", "Amorim", "Andrade", "Anjos", "Antunes", + "Araújo", "Assunção", "Azevedo", "Baptista", "Barbosa", "Barros", "Batista", "Borges", "Braga", + "Branco", "Brito", "Campos", "Cardoso", "Carneiro", "Carvalho", "Castro", "Coelho", "Correia", + "Costa", "Cruz", "Cunha", "Domingues", "Esteves", "Faria", "Fernandes", "Ferreira", "Figueiredo", + "Fonseca", "Freitas", "Garcia", "Gaspar", "Gomes", "Gonçalves", "Guerreiro", "Henriques", "Jesus", + "Leal", "Leite", "Lima", "Lopes", "Loureiro", "Lourenço", "Macedo", "Machado", "Magalhães", + "Maia", "Marques", "Martins", "Matias", "Matos", "Melo", "Mendes", "Miranda", "Monteiro", + "Morais", "Moreira", "Mota", "Moura", "Nascimento", "Neto", "Neves", "Nobre", "Nogueira", + "Nunes", "Oliveira", "Pacheco", "Paiva", "Pereira", "Pinheiro", "Pinho", "Pinto", "Pires", + "Ramos", "Raposo", "Reis", "Ribeiro", "Rocha", "Rodrigues", "Santos", "Saraiva", "Silva", + "Simões", "Soares", "Sousa", "Sá", "Tavares", "Teixeira", "Torres", "Valente", "Vaz", + "Vicente", "Vieira", +}); + +const auto portugueseMalePrefixes = std::to_array({"Sr.", "Dr.", "Prof.", "Eng."}); + +const auto portugueseFemalePrefixes = std::to_array({"Sra.", "Dra.", "Prof.", "Eng."}); + +const NameFormats portugueseNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 9}}}; + +const PeopleNames portuguesePeopleNames{{portugueseMaleFirstNames, portugueseLastNames, portugueseMalePrefixes, {}}, + {portugueseFemaleFirstNames, portugueseLastNames, portugueseFemalePrefixes, {}}, + portugueseNameFormats}; // Romania -extern const std::array romanianMaleFirstNames; -extern const std::array romanianFemaleFirstNames; -extern const std::array romanianLastNames; -extern const std::array romanianSuffixes; -extern const std::array romanianMalePrefixes; -extern const NameFormats romanianNameFormats; -extern const PeopleNames romanianPeopleNames; +const auto romanianMaleFirstNames = std::to_array({ + "Ion", "Mihai", "Andrei", "Alexandru", "George", "Cristian", "Florin", "Răzvan", "Lucian", + "Adrian", "Vlad", "Gheorghe", "Constantin", "Daniel", "Bogdan", "Eduard", "Valentin", "Gabriel", + "Dumitru", "Radu", "Ștefan", "Marin", "Marian", "Victor", "Raul", "Valeriu", "Cosmin", + "Marius", "Mihail", "Claudiu", "Ciprian", "Ionel", "Cristinel", "Cătălin", "Tudor", "Cornel", + "Corneliu", "Romeo", "Romeu", "Vasile", "Petre", "Alex", "Liviu", "Ionuț", "Nicolae", + "Nicoale", "Octavian", "Dan", "Emil", "Eugen", "Horia", "Gheorghiță", "Ghiță", "Horea", + "Matei", "Sebastian", "Șerban", "Viorel", "Laurențiu", "Laurentiu", "Alin", "Gavril", "Ovidiu", + "Sorin", "Tiberiu", +}); + +const auto romanianFemaleFirstNames = std::to_array({ + "Maria", "Ioana", "Elena", "Ana", "Cristina", "Andreea", "Georgiana", "Alexandra", "Laura", + "Diana", "Raluca", "Mihaela", "Larisa", "Monica", "Alina", "Simona", "Gabriela", "Roxana", + "Denisa", "Camelia", "Adriana", "Nicoleta", "Mariana", "Carmen", "Loredana", "Irina", "Liliana", + "Eva", "Elisabeta", "Aurelia", "Cătălina", "Silvia", "Ana-Maria", "Doina", "Florina", "Magdalena", + "Stefania", "Valentina", "Iuliana", "Ruxandra", "Georgeta", "Marilena", "Lidia", "Anda", "Marinela", + "Mirela", "Flavia", "Claudia", "Viorica", "Sorina", "Ramona", "Sorana", "Floriana", "Livia", + "Teodora", "Magda", "Marina", "Dana", "Lavinia", "Anca", "Delia", "Daria", "Oana", +}); + +const auto romanianLastNames = std::to_array({ + "Popescu", "Ionescu", "Popa", "Dumitru", "Georgescu", "Stan", "Stoica", "Constantin", + "Barbu", "Dobre", "Nistor", "Mihai", "Cristea", "Oprea", "Dinu", "Voicu", + "Munteanu", "Neagu", "Badea", "Diaconu", "Costache", "Diaconescu", "Călinescu", "Luca", + "Nicolae", "Marinescu", "Petrescu", "Bădescu", "Tudor", "Cătănescu", "Florescu", "Gheorghiu", + "Ioniță", "Dobrescu", "Bucur", "Cojocaru", "Preda", "Mihăilescu", "Soare", "Sava", + "Albu", "Moldovan", "Zaharia", "Balan", "Vasilescu", "Andrei", "Stefan", "Șerban", + "Toma", "Bogdan", "Fodor", "Sandu", "Alexandrescu", "Sorin", "Niculae", "Oancea", + "Mocanu", "Radu", "Gavril", "Rusu", "Filip", "Ștefanescu", "Ene", "Păun", + "Moise", "Dima", "Covaci", "Simion", "Rădulescu", "Cristea", "Pascu", "Hanganu", + "Iacob", "Coman", "Lupu", "Pavel", "Ivan", "Vlaicu", "Anghel", "Dumitrache", + "Frățilă", "Dincă", "Brănescu", "Alexandru", "Căruntu", "Iancu", "Pintilie", "Tudose", + "Șchiopu", "Petrică", "Burcea", "Manole", "Mănescu", "Panaite", "Trandafir", "Mărgărit", + "Dorin", "Petrache", "Bădăluță", "Mihu", "Chiriac", +}); + +const auto romanianSuffixes = std::to_array({"Jr.", "Sr."}); + +const auto romanianMalePrefixes = std::to_array({"Dl", "Dra"}); + +const auto romanian_female_refixes = std::to_array({"Dna", "Dra"}); + +const NameFormats romanianNameFormats{{{"{firstName} {lastName}", 49}, + {"{lastName} {firstName}", 7}, + {"{prefix} {firstName} {lastName}", 7}, + {"{firstName} {lastName} {suffix}", 7}, + {"{prefix} {firstName} {lastName} {suffix}", 1}}}; + +const PeopleNames romanianPeopleNames{ + {romanianMaleFirstNames, romanianLastNames, romanianMalePrefixes, romanianSuffixes}, + {romanianFemaleFirstNames, romanianLastNames, romanian_female_refixes, romanianSuffixes}, + romanianNameFormats}; // Russia -extern const std::array russianMaleFirstNames; -extern const std::array russianFemaleFirstNames; -extern const std::array russianMaleLastNames; -extern const std::array russianFemaleLastNames; -extern const NameFormats russianNameFormats; -extern const PeopleNames russianPeopleNames; +const auto russianMaleFirstNames = std::to_array({ + "Авдей", "Авксентий", "Агапит", "Агафон", "Акакий", "Акиндин", "Александр", "Алексей", + "Альберт", "Анатолий", "Андрей", "Аникий", "Аникита", "Антон", "Антонин", "Анфим", + "Аристарх", "Аркадий", "Арсений", "Артём", "Артемий", "Артур", "Архипп", "Афанасий", + "Богдан", "Борис", "Вавила", "Вадим", "Валентин", "Валерий", "Валерьян", "Варлам", + "Варсонофий", "Варфоломей", "Василий", "Венедикт", "Вениамин", "Викентий", "Виктор", "Виссарион", + "Виталий", "Владимир", "Владислав", "Владлен", "Влас", "Всеволод", "Вячеслав", "Гавриил", + "Галактион", "Геласий", "Геннадий", "Георгий", "Герасим", "Герман", "Германн", "Глеб", + "Гордей", "Григорий", "Данакт", "Даниил", "Демид", "Демьян", "Денис", "Дмитрий", + "Добрыня", "Донат", "Дорофей", "Евгений", "Евграф", "Евдоким", "Евсей", "Евстафий", + "Егор", "Емельян", "Еремей", "Ермолай", "Ерофей", "Ефим", "Ефрем", "Ждан", + "Зиновий", "Иакинф", "Иван", "Игнатий", "Игорь", "Изот", "Илья", "Иннокентий", + "Ираклий", "Ириней", "Исаак", "Исидор", "Иуда", "Иулиан", "Капитон", "Ким", + "Кир", "Кирилл", "Климент", "Кондрат", "Конон", "Константин", "Корнилий", "Кузьма", + "Куприян", "Лаврентий", "Лев", "Леонид", "Леонтий", "Логгин", "Лука", "Лукий", + "Лукьян", "Магистриан", "Макар", "Максим", "Мамонт", "Марк", "Мартын", "Матвей", + "Мелентий", "Мина", "Мирослав", "Митрофан", "Михаил", "Мстислав", "Назар", "Нестор", + "Никандр", "Никанор", "Никита", "Никифор", "Никодим", "Николай", "Никон", "Олег", + "Онисим", "Онуфрий", "Павел", "Паисий", "Панкратий", "Пантелеймон", "Парфений", "Пафнутий", + "Пахомий", "Пётр", "Платон", "Поликарп", "Порфирий", "Потап", "Пров", "Прокопий", + "Протасий", "Прохор", "Разумник", "Родион", "Роман", "Ростислав", "Руслан", "Савва", + "Савелий", "Самуил", "Святополк", "Святослав", "Севастьян", "Семён", "Серафим", "Сергей", + "Сила", "Сильвестр", "Созон", "Софрон", "Спиридон", "Станислав", "Степан", "Тарас", + "Тимофей", "Тимур", "Тит", "Тихон", "Трифон", "Трофим", "Урбан", "Фаддей", + "Фёдор", "Федосей", "Федот", "Феликс", "Феоктист", "Филат", "Филимон", "Филипп", + "Фирс", "Фока", "Фома", "Фотий", "Фрол", "Харитон", "Хрисанф", "Христофор", +}); + +const auto russianFemaleFirstNames = std::to_array({ + "Агафья", "Аглая", "Агния", "Агриппина", "Аза", "Акулина", "Алевтина", "Александра", + "Алина", "Алиса", "Алла", "Анастасия", "Ангелина", "Анжела", "Анжелика", "Анна", + "Антонина", "Анфиса", "Валентина", "Валерия", "Варвара", "Василиса", "Вера", "Вероника", + "Виктория", "Владимира", "Галина", "Глафира", "Гликерия", "Дана", "Дарья", "Евгения", + "Евдокия", "Евлалия", "Евлампия", "Евпраксия", "Евфросиния", "Екатерина", "Елена", "Елизавета", + "Епистима", "Ермиония", "Жанна", "Зинаида", "Злата", "Зоя", "Инга", "Инесса", + "Инна", "Иоанна", "Ираида", "Ирина", "Капитолина", "Карина", "Каролина", "Кира", + "Клавдия", "Ксения", "Лада", "Лариса", "Лидия", "Лилия", "Любовь", "Людмила", + "Маргарита", "Марина", "Мария", "Марфа", "Матрёна", "Милана", "Милица", "Мирослава", + "Надежда", "Наталья", "Нина", "Нонна", "Оксана", "Октябрина", "Олимпиада", "Ольга", + "Павлина", "Пелагея", "Пинна", "Полина", "Прасковья", "Рада", "Раиса", "Регина", + "Римма", "Рогнеда", "Светлана", "Серафима", "Снежана", "София", "Сусанна", "Таисия", + "Тамара", "Татьяна", "Улита", "Ульяна", "Урсула", "Фаина", "Феврония", "Фёкла", + "Феодора", "Целестина", "Элеонора", "Юлия", "Яна", "Ярослава", +}); + +const auto russianMaleLastNames = std::to_array({ + "Авдеев", "Агапов", "Агафонов", "Агеев", "Акимов", "Аксёнов", "Александров", + "Алексеев", "Алёхин", "Алешин", "Алёшин", "Ананьев", "Андреев", "Андрианов", + "Аникин", "Анисимов", "Анохин", "Антипов", "Антонов", "Артамонов", "Артёмов", + "Архипов", "Астафьев", "Астахов", "Афанасьев", "Бабушкин", "Баженов", "Балашов", + "Баранов", "Барсуков", "Басов", "Безруков", "Беликов", "Белкин", "Белов", + "Белоусов", "Беляев", "Беляков", "Березин", "Берия", "Беспалов", "Бессонов", + "Бирюков", "Блинов", "Блохин", "Бобров", "Богданов", "Богомолов", "Болдырев", + "Большаков", "Бондарев", "Борисов", "Бородин", "Бочаров", "Булатов", "Булгаков", + "Буров", "Быков", "Бычков", "Вавилов", "Вагин", "Васильев", "Вдовин", + "Верещагин", "Вешняков", "Виноградов", "Винокуров", "Вишневский", "Владимиров", "Власов", + "Волков", "Волошин", "Воробьёв", "Воронин", "Воронков", "Воронов", "Воронцов", + "Второв", "Высоцкий", "Гаврилов", "Гайдуков", "Гакабов", "Галкин", "Герасимов", + "Гладков", "Глебов", "Глухов", "Глушков", "Гноев", "Голиков", "Голованов", + "Головин", "Голубев", "Гончаров", "Горбань", "Горбачав", "Горбачёв", "Горбунов", + "Гордеев", "Горелов", "Горлов", "Горохов", "Горшков", "Горюнов", "Горячев", + "Грачёв", "Греков", "Грибков", "Грибов", "Григорьев", "Гришин", "Громов", + "Губанов", "Гуляев", "Гуров", "Гусев", "Гущин", "Давыдов", "Данилов", + "Дашков", "Дегтярев", "Дегтярёв", "Дементьев", "Демидов", "Дёмин", "Демьянов", + "Денисов", "Дмитриев", "Добрынин", "Долгов", "Дорофеев", "Дорохов", "Дроздов", + "Дружинин", "Дубинин", "Дубов", "Дубровин", "Дьяков", "Дьяконов", "Евдокимов", + "Евсеев", "Егоров", "Ежов", "Елизаров", "Елисеев", "Ельцин", "Емельянов", + "Еремеев", "Ерёмин", "Ермаков", "Ермилов", "Ермолаев", "Ермолов", "Еромлаев", + "Ерофеев", "Ерохин", "Ершов", "Ефимов", "Ефремов", "Жаров", "Жданов", + "Жилин", "Жириновский", "Жуков", "Журавлёв", "Завьялов", "Заец", "Зайцев", + "Захаров", "Зверев", "Звягинцев", "Зеленин", "Зимин", "Зиновьев", "Злобин", + "Золотарев", "Золотарёв", "Золотов", "Зорин", "Зотов", "Зубков", "Зубов", + "Зуев", "Зыков", "Зюганов", "Иванов", "Ивашов", "Игнатов", "Игнатьев", + "Измайлов", "Ильин", "Ильинский", "Ильюхин", "Исаев", "Исаков", "Казаков", + "Казанцев", "Калачев", "Калачёв", "Калашников", "Калинин", "Калмыков", "Калугин", + "Капустин", "Карасев", "Карасёв", "Карпов", "Карташов", "Касаткин", "Касьянов", + "Киреев", "Кириллов", "Киселёв", "Кислов", "Климов", "Клюев", "Князев", + "Ковалёв", "Коваленко", "Коваль", "Кожевников", "Козин", "Козлов", "Козловский", + "Козырев", "Колесников", "Колесов", "Колосов", "Колпаков", "Кольцов", "Комаров", + "Комиссаров", "Кондратов", "Кондратьев", "Кондрашов", "Коновалов", "Кононов", "Константинов", + "Копылов", "Корнев", "Корнеев", "Корнилов", "Коровин", "Королёв", "Корольков", + "Коротков", "Корчагин", "Коршунов", "Косарев", "Костин", "Котов", "Кочергин", + "Кочетков", "Кочетов", "Кошелев", "Кравцов", "Краснов", "Красоткин", "Кролик", + "Кроликов", "Круглов", "Крылов", "Крюков", "Крючков", "Кудрявцев", "Кудряшов", + "Кузин", "Кузнецов", "Кузьмин", "Кукушкин", "Кулагин", "Кулаков", "Кулешов", + "Куликов", "Куприянов", "Курочкин", "Лаврентьев", "Лавров", "Лазарев", "Лапин", + "Лаптев", "Лапшин", "Ларин", "Ларионов", "Латышев", "Лебедев", "Левин", + "Леонов", "Леонтьев", "Литвинов", "Лобанов", "Логинов", "Лопатин", "Лосев", + "Лужков", "Лукин", "Лукьянов", "Лыков", "Львов", "Любимов", "Майоров", + "Макаров", "Макеев", "Максимов", "Малахов", "Малинин", "Малофеев", "Малышев", + "Мальцев", "Маркелов", "Маркин", "Марков", "Мартынов", "Масленников", "Маслов", + "Матвеев", "Матвиенко", "Медведев", "Медейко", "Мельников", "Меньшов", "Меркулов", + "Мешков", "Мещеряков", "Минаев", "Минин", "Миронов", "Митрофанов", "Михайлов", + "Михеев", "Мишустин", "Моисеев", "Молчанов", "Моргунов", "Морозов", "Москвин", + "Муравьёв", "Муратов", "Муромцев", "Мухин", "Мясников", "Навальный", "Назаров", + "Наумов", "Некрасов", "Нестеров", "Нефёдов", "Нечаев", "Никитин", "Никифоров", + "Николаев", "Никольский", "Никонов", "Никулин", "Новиков", "Новодворский", "Носков", + "Носов", "Овсянников", "Овчинников", "Одинцов", "Озеров", "Окулов", "Олейников", + "Орехов", "Орлов", "Осипов", "Островский", "Павлов", "Павловский", "Панин", + "Панков", "Панкратов", "Панов", "Пантелеев", "Панфилов", "Парамонов", "Парфёнов", + "Пастухов", "Пахомов", "Пекарев", "Петров", "Петровский", "Петухов", "Пименов", + "Пирогов", "Платонов", "Плотников", "Поздняков", "Покровский", "Поликарпов", "Поляков", + "Пономарев", "Пономарёв", "Попов", "Порошин", "Порывай", "Постников", "Потапов", + "Похлёбкин", "Прокофьев", "Прохоров", "Прошин", "Пугачёв", "Путин", "Раков", + "Резицкий", "Рогов", "Родин", "Родионов", "Рожков", "Розанов", "Романов", + "Рублёв", "Рубцов", "Рудаков", "Руднев", "Румянцев", "Русаков", "Русанов", + "Рыбаков", "Рыбкин", "Рыжиков", "Рыжков", "Рыжов", "Рябинин", "Рябов", + "Савельев", "Савин", "Савицкий", "Сазонов", "Сальников", "Самойлов", "Самсонов", + "Сафонов", "Сахаров", "Светличный", "Светлов", "Свешников", "Свиридов", "Севастьянов", + "Седов", "Селезнёв", "Селиванов", "Семёнов", "Сёмин", "Сергеев", "Серебряков", + "Серов", "Сидоров", "Сизов", "Симонов", "Синицин", "Синицын", "Ситников", + "Скворцов", "Смирнов", "Снегирёв", "Соболев", "Собянин", "Соколов", "Соловьёв", + "Сомов", "Сорокин", "Сотников", "Софронов", "Спиридонов", "Стариков", "Старостин", + "Степанов", "Столяров", "Стрелков", "Стрельников", "Строев", "Субботин", "Суворов", + "Судаков", "Сурганов", "Сурков", "Суслов", "Суханов", "Сухарев", "Сухов", + "Сычёв", "Тарасов", "Терентьев", "Терехов", "Тимофеев", "Титов", "Тихомиров", + "Тихонов", "Ткачёв", "Токарев", "Толкачёв", "Торшин", "Третьяков", "Трифонов", + "Троицкий", "Трофим", "Трофимов", "Троцкий", "Трошин", "Туманов", "Уваров", + "Ульянов", "Усов", "Успенский", "Устинов", "Уткин", "Ушаков", "Фадеев", + "Фёдоров", "Федосеев", "Федосов", "Федотов", "Фетисов", "Филатов", "Филимонов", + "Филиппов", "Фирсов", "Фокин", "Фомин", "Фомичев", "Фомичёв", "Фролов", + "Харитонов", "Хомяков", "Хохлов", "Хромов", "Хрущёв", "Худяков", "Царёв", + "Цветков", "Чеботарёв", "Черепанов", "Черкасов", "Чернов", "Черной", "Чёрный", + "Черных", "Чернышев", "Чернышёв", "Черняев", "Чесноков", "Чижов", "Чистяков", + "Чумаков", "Шаповалов", "Шапошников", "Шаров", "Швецов", "Шевелёв", "Шевцов", + "Шестаков", "Шилов", "Широков", "Ширяев", "Шишкин", "Шмелёв", "Шубин", + "Шувалов", "Шульгин", "Щеглов", "Щербаков", "Щукин", "Юдин", "Яковлев", + "Яшин", +}); + +const auto russianFemaleLastNames = std::to_array({ + "Авдеева", "Агапова", "Агафонова", "Агеева", "Акимова", "Аксёнова", "Александрова", + "Алексеева", "Алёхина", "Алешина", "Алёшина", "Ананьева", "Андреева", "Андрианова", + "Аникина", "Анисимова", "Анохина", "Антипова", "Антонова", "Артамонова", "Артёмова", + "Архипова", "Астафьева", "Астахова", "Афанасьева", "Бабушкина", "Баженова", "Балашова", + "Баранова", "Барсукова", "Басова", "Безрукова", "Беликова", "Белкина", "Белова", + "Белоусова", "Беляева", "Белякова", "Березина", "Берия", "Беспалова", "Бессонова", + "Бирюкова", "Блинова", "Блохина", "Боброва", "Богданова", "Богомолова", "Болдырева", + "Большакова", "Бондарева", "Борисова", "Бородина", "Бочарова", "Булатова", "Булгакова", + "Бурова", "Быкова", "Бычкова", "Вавилова", "Вагина", "Васильева", "Вдовина", + "Верещагина", "Вешнякова", "Виноградова", "Винокурова", "Вишневская", "Владимирова", "Власова", + "Волкова", "Волошина", "Воробьёва", "Воронина", "Воронкова", "Воронова", "Воронцова", + "Второва", "Высоцкая", "Гаврилова", "Гайдукова", "Гакабова", "Галкина", "Герасимова", + "Гладкова", "Глебова", "Глухова", "Глушкова", "Гноева", "Голикова", "Голованова", + "Головина", "Голубева", "Гончарова", "Горбань", "Горбачёва", "Горбунова", "Гордеева", + "Горелова", "Горлова", "Горохова", "Горшкова", "Горюнова", "Горячева", "Грачёва", + "Грекова", "Грибкова", "Грибова", "Григорьева", "Гришина", "Громова", "Губанова", + "Гуляева", "Гурова", "Гусева", "Гущина", "Давыдова", "Дадаева", "Дадина", + "Данилова", "Дарвина", "Дашкова", "Дегтярева", "Дегтярёва", "Дедова", "Дементьева", + "Демидова", "Дёмина", "Демьянова", "Денисова", "Дмитриева", "Добрынина", "Долгова", + "Дорофеева", "Дорохова", "Дроздова", "Дружинина", "Дубинина", "Дубова", "Дубровина", + "Дьякова", "Дьяконова", "Евдокимова", "Евсеева", "Егорова", "Ежова", "Елизарова", + "Елисеева", "Ельцина", "Емельянова", "Еремеева", "Ерёмина", "Ермакова", "Ермилова", + "Ермолаева", "Ермолова", "Еромлаева", "Ерофеева", "Ершова", "Ефимова", "Ефремова", + "Жарова", "Жданова", "Жилина", "Жириновская", "Жукова", "Журавлёва", "Завьялова", + "Заец", "Зайцева", "Захарова", "Зверева", "Звягинцева", "Зеленина", "Зимина", + "Зиновьева", "Злобина", "Золотарева", "Золотарёва", "Золотова", "Зорина", "Зотова", + "Зубкова", "Зубова", "Зуева", "Зыкова", "Зюганова", "Иванова", "Ивашова", + "Игнатова", "Игнатьева", "Измайлова", "Ильина", "Ильинская", "Ильюхина", "Исаева", + "Исакова", "Казакова", "Казанцева", "Калачева", "Калачёва", "Калашникова", "Калинина", + "Калмыкова", "Калугина", "Капустина", "Карасева", "Карасёва", "Карпова", "Карташова", + "Касаткина", "Касьянова", "Киреева", "Кириллова", "Киселёва", "Кислова", "Климова", + "Клюева", "Князева", "Ковалёва", "Коваленко", "Коваль", "Кожевникова", "Козина", + "Козлова", "Козловская", "Козырева", "Колесникова", "Колесова", "Колосова", "Колпакова", + "Кольцова", "Комарова", "Комиссарова", "Кондратова", "Кондратьева", "Кондрашова", "Коновалова", + "Кононова", "Константинова", "Копылова", "Корнева", "Корнеева", "Корнилова", "Коровина", + "Королёва", "Королькова", "Короткова", "Корчагина", "Коршунова", "Косарева", "Костина", + "Котова", "Кочергина", "Кочеткова", "Кочетова", "Кошелева", "Кравцова", "Краснова", + "Красоткина", "Круглова", "Крылова", "Крюкова", "Крючкова", "Кудрявцева", "Кудряшова", + "Кузина", "Кузнецова", "Кузьмина", "Кукушкина", "Кулагина", "Кулакова", "Кулешова", + "Куликова", "Куприянова", "Курочкина", "Лаврентьева", "Лаврова", "Лазарева", "Лапина", + "Лаптева", "Лапшина", "Ларина", "Ларионова", "Латышева", "Лебедева", "Левина", + "Леонова", "Леонтьева", "Литвинова", "Лобанова", "Логинова", "Лопатина", "Лосева", + "Лужкова", "Лукина", "Лукьянова", "Лыкова", "Львова", "Любимова", "Майорова", + "Макарова", "Макеева", "Максимова", "Малахова", "Малинина", "Малофеева", "Малышева", + "Мальцева", "Маркелова", "Маркина", "Маркова", "Мартынова", "Масленникова", "Маслова", + "Матвеева", "Матвиенко", "Медведева", "Медейко", "Мельникова", "Меньшова", "Меркулова", + "Мешкова", "Мещерякова", "Минаева", "Минина", "Миронова", "Митрофанова", "Михайлова", + "Михеева", "Мишустина", "Моисеева", "Молчанова", "Моргунова", "Морозова", "Москвина", + "Муравьёва", "Муратова", "Муромцева", "Мухина", "Мясникова", "Навальная", "Назарова", + "Наумова", "Некрасова", "Нестерова", "Нефёдова", "Нечаева", "Никитина", "Никифорова", + "Николаева", "Никольская", "Никонова", "Никулина", "Новикова", "Новодворская", "Носкова", + "Носова", "Овсянникова", "Овчинникова", "Одинцова", "Озерова", "Окулова", "Олейникова", + "Орехова", "Орлова", "Осипова", "Островская", "Павлова", "Павловская", "Панина", + "Панкова", "Панкратова", "Панова", "Пантелеева", "Панфилова", "Парамонова", "Парфёнова", + "Пастухова", "Пахомова", "Пекарева", "Петрова", "Петровская", "Петухова", "Пименова", + "Пирогова", "Платонова", "Плотникова", "Позднякова", "Покровская", "Поликарпова", "Полякова", + "Пономарёва", "Попова", "Порошина", "Порывай", "Постникова", "Потапова", "Похлёбкина", + "Прокофьева", "Прохорова", "Прошина", "Пугачёва", "Путина", "Ракова", "Рогова", + "Родина", "Родионова", "Рожкова", "Розанова", "Романова", "Рублёва", "Рубцова", + "Рудакова", "Руднева", "Румянцева", "Русакова", "Русанова", "Рыбакова", "Рыжикова", + "Рыжкова", "Рыжова", "Рябинина", "Рябова", "Савельева", "Савина", "Савицкая", + "Сазонова", "Сальникова", "Самойлова", "Самсонова", "Сафонова", "Сахарова", "Светличная", + "Светлова", "Свешникова", "Свиридова", "Севастьянова", "Седова", "Селезнёва", "Селиванова", + "Семёнова", "Сёмина", "Сергеева", "Серебрякова", "Серова", "Сидорова", "Сизова", + "Симонова", "Синицына", "Ситникова", "Скворцова", "Скрябина", "Смирнова", "Снегирёва", + "Соболева", "Собянина", "Соколова", "Соловьёва", "Сомова", "Сорокина", "Сотникова", + "Софронова", "Спиридонова", "Старикова", "Старостина", "Степанова", "Столярова", "Стрелкова", + "Стрельникова", "Строева", "Субботина", "Суворова", "Судакова", "Суркова", "Суслова", + "Суханова", "Сухарева", "Сухова", "Сычёва", "Тарасова", "Терентьева", "Терехова", + "Тимофеева", "Титова", "Тихомирова", "Тихонова", "Ткачёва", "Токарева", "Толкачёва", + "Торшина", "Третьякова", "Трифонова", "Троицкая", "Трофимова", "Троцкая", "Трошина", + "Туманова", "Уварова", "Ульянова", "Усова", "Успенская", "Устинова", "Уткина", + "Ушакова", "Фадеева", "Фёдорова", "Федосеева", "Федосова", "Федотова", "Фетисова", + "Филатова", "Филимонова", "Филиппова", "Фирсова", "Фокина", "Фомина", "Фомичева", + "Фомичёва", "Фролова", "Харитонова", "Хомякова", "Хромова", "Хрущёва", "Худякова", + "Царёва", "Цветкова", "Чеботарёва", "Черепанова", "Черкасова", "Черная", "Чёрная", + "Чернова", "Черных", "Чернышева", "Чернышёва", "Черняева", "Чеснокова", "Чижова", + "Чистякова", "Чумакова", "Шаповалова", "Шапошникова", "Шарова", "Швецова", "Шевелёва", + "Шевцова", "Шестакова", "Шилова", "Широкова", "Ширяева", "Шишкина", "Шмелёва", + "Шубина", "Шувалова", "Шульгина", "Щеглова", "Щербакова", "Щукина", "Юдина", + "Яковлева", "Яшина", +}); + +const NameFormats russianNameFormats{{{"{firstName} {lastName}", 1}, {"{lastName} {firstName}", 1}}}; + +const PeopleNames russianPeopleNames{{russianMaleFirstNames, russianMaleLastNames, {}, {}}, + {russianFemaleFirstNames, russianFemaleLastNames, {}, {}}, + russianNameFormats}; // Serbia -extern const std::array serbianMaleFirstNames; -extern const std::array serbianFemaleFirstNames; -extern const std::array serbianLastNames; -extern const NameFormats serbianNameFormats; -extern const PeopleNames serbianPeopleNames; +const auto serbianMaleFirstNames = std::to_array({ + "Adam", "Aleksa", "Aleksandar", "Aleksej", "Aljoša", "Anastasije", "Andrej", "Andrija", + "Anej", "Arsenije", "Aćim", "Berislav", "Blagoje", "Boban", "Bogdan", "Bogoljub", + "Bojan", "Boris", "Borivoje", "Borjan", "Boško", "Boža", "Božidar", "Branimir", + "Branislav", "Branko", "Budimir", "Cvijan", "Cvijetin", "Dabiživ", "Damir", "Damjan", + "Danilo", "Danko", "Darko", "David", "Davor", "Dejan", "Desimir", "Dimitrije", + "Dragan", "Dragiša", "Dragoje", "Dragojlo", "Dragoljub", "Dragoslav", "Dragutin", "Draža", + "Dražen", "Dren", "Dušan", "Duško", "Filip", "Filotije", "Gavrilo", "Georgije", + "Gerasim", "Gligorije", "Gojko", "Golub", "Goran", "Gordan", "Grgur", "Grigorije", + "Hvalimir", "Ignjat", "Igor", "Ilarion", "Ilija", "Ivan", "Ivica", "Ivo", + "Jadranko", "Jakov", "Jezdimir", "Jovan", "Jugoslav", "Kalinik", "Kirilo", "Konstantin", + "Kosta", "Kristijan", "Krsto", "Kuzman", "Lazar", "Ljubiša", "Ljubomir", "Luka", + "Mališa", "Marinko", "Marjan", "Marko", "Mateja", "Mihailo", "Mihajlo", "Mija", + "Mijat", "Mika", "Miladin", "Milan", "Milanko", "Mile", "Mileta", "Milisav", + "Milić", "Miljan", "Milojica", "Milomir", "Milorad", "Miloš", "Milutin", "Miodrag", + "Miomir", "Mirko", "Miroslav", "Mitar", "Miša", "Miško", "Mladen", "Momir", + "Nebojša", "Nedeljko", "Nemanja", "Nenad", "Neven", "Nikola", "Nikša", "Novak", + "Obrad", "Obren", "Ognjen", "Oliver", "Ostoja", "Paja", "Pavle", "Pera", + "Perica", "Pero", "Petar", "Petko", "Predrag", "Prvoslav", "Radenko", "Radivoje", + "Radiša", "Radmilo", "Radomir", "Radosav", "Radoslav", "Radovan", "Radoš", "Radul", + "Rajko", "Ranko", "Ratimir", "Raško", "Relja", "Rodoljub", "Saša", "Simo", + "Siniša", "Slavoljub", "Slobodan", "Srboljub", "Sredoje", "Stanislav", "Stanko", "Stefan", + "Stevan", "Stojan", "Strahinja", "Svetislav", "Svetolik", "Svetomir", "Tadija", "Tihomir", + "Tomislav", "Vanja", "Vasil", "Vasko", "Velibor", "Velimir", "Vidak", "Vladimir", + "Vlastimir", "Vojin", "Vujadin", "Vuk", "Vukan", "Vukašin", "Vukota", "Zafir", + "Zarije", "Zoran", "Zvonko", "Časlav", "Čedomir", "Đorđe", "Đura", "Đurađ", +}); + +const auto serbianFemaleFirstNames = std::to_array({ + "Adrijana", "Aleksandra", "Ana", "Anabela", "Anastasija", "Andrea", "Andrijana", "Aneta", + "Anica", "Anita", "Anja", "Anka", "Anđela", "Ava", "Biljana", "Bisenija", + "Blagica", "Bobana", "Bogdana", "Bojana", "Bora", "Borka", "Bosiljka", "Božena", + "Božica", "Branka", "Brankica", "Ceca", "Dajana", "Daliborka", "Damjanka", "Dana", + "Danijela", "Danila", "Danka", "Darija", "Darinka", "Dejana", "Desanka", "Dijana", + "Divna", "Dobrila", "Dorotea", "Draga", "Dragana", "Draginja", "Drina", "Dubravka", + "Dunja", "Dušanka", "Dušica", "Duška", "Elena", "Eleonora", "Ema", "Emilija", + "Evdokija", "Gabrijela", "Gala", "Galina", "Gorana", "Gordana", "Hana", "Ilinka", + "Ina", "Irina", "Ivanka", "Jadranka", "Jana", "Jasmina", "Jasna", "Jelena", + "Jelica", "Jelisaveta", "Jelka", "Jevrosima", "Jovana", "Jovanka", "Julia", "Julijana", + "Katarina", "Klara", "Kristina", "Ksenija", "Lada", "Lara", "Leposava", "Lidija", + "Ljiljana", "Ljuba", "Ljubica", "Magdalena", "Maja", "Malina", "Marica", "Marina", + "Markika", "Marta", "Maša", "Mašinka", "Melenija", "Mia", "Milana", "Milanka", + "Milena", "Milica", "Miljana", "Mina", "Mira", "Mirela", "Mirjana", "Mirka", + "Mirna", "Mitra", "Mlađana", "Momira", "Nada", "Nadežda", "Nastja", "Natalija", + "Nataša", "Nađa", "Neda", "Nela", "Neva", "Nevena", "Nikoleta", "Nikolina", + "Nina", "Njegomirka", "Ognjana", "Olga", "Olgica", "Olivera", "Peruna", "Petra", + "Petrija", "Radina", "Radmila", "Radojka", "Rakita", "Renja", "Ristana", "Roksana", + "Romana", "Rumena", "Ruža", "Sanda", "Sandra", "Sanja", "Sara", "Selena", + "Senka", "Silvija", "Simonida", "Slava", "Slavica", "Slavka", "Slađana", "Slobodanka", + "Smiljana", "Snežana", "Sofija", "Sonja", "Srna", "Stanislava", "Staša", "Stefana", + "Stojanka", "Sunčica", "Suzana", "Svetlana", "Tamara", "Tanja", "Tara", "Tatjana", + "Tea", "Teodora", "Teona", "Una", "Vasilisa", "Vera", "Verica", "Veselinka", + "Vesna", "Vida", "Višnja", "Vladana", "Vlatka", "Vojislava", "Vujica", "Vukica", + "Zavida", "Zora", "Zorana", "Zorka", "Zvezdana", "Čarna", "Đurica", "Željka", +}); + +const auto serbianLastNames = std::to_array({ + "Abadžija", "Abadžić", "Abazović", "Adamović", "Adašević", "Aguridić", "Ajvazović", + "Akifović", "Aksentijević", "Aksentić", "Aksin", "Aksić", "Aksović", "Akšam", + "Aladić", "Aladžić", "Alaković", "Alanović", "Alargić", "Alavanja", "Alavantić", + "Aličić", "Aljančić", "Alković", "Almašac", "Alparac", "Aluga", "Andesilić", + "Andić", "Andonov", "Andonović", "Andrejević", "Andrejin", "Andrejić", "Antonić", + "Antonović", "Antović", "Antunović", "Antušević", "Anučin", "Anušić", "Anđelić", + "Anđelković", "Aćimović", "Aćin", "Aćić", "Ačanski", "Ačić", "Ađanski", + "Ašanin", "Ašađanin", "Aškraba", "Aškrabić", "Ašonja", "Ašćerić", "Babac", + "Babalj", "Babarogić", "Babin", "Babić", "Babović", "Bajčetić", "Bajčić", + "Bajšanski", "Bakal", "Balabanović", "Balašević", "Baletić", "Balević", "Balešević", + "Banić", "Banićević", "Banjac", "Banjak", "Banjalić", "Barišić", "Barošević", + "Baroševčić", "Basara", "Basarić", "Bastać", "Batnožić", "Bekavac", "Bekjarev", + "Beko", "Bekonja", "Bekovac", "Bekvalac", "Bekčić", "Belivuk", "Belić", + "Belojević", "Belopoljac", "Belović", "Belovuković", "Beloševac", "Belošević", "Belčević", + "Benaković", "Birtašević", "Birčaković", "Birčanin", "Bivolarević", "Bizetić", "Bizumić", + "Bićanin", "Bjeletić", "Bjelica", "Bjelinić", "Bjelivuk", "Bjelić", "Bjeličić", + "Bjelja", "Bjelkić", "Bjelobaba", "Bjelobrk", "Bjeloglav", "Bjelogrlić", "Bjelojević", + "Blaćanin", "Blašković", "Blažanović", "Bocić", "Bocokić", "Bodiroga", "Bogisavljević", + "Bogoljubović", "Bogosavac", "Bolta", "Boltić", "Bolunović", "Bomeštar", "Bonderović", + "Bondžić", "Borilović", "Borinčević", "Borisavljević", "Borkovački", "Borković", "Borčanin", + "Bosanac", "Bosančić", "Bosiljkić", "Bosiljković", "Bosiljčić", "Bozalo", "Bozdok", + "Bozdokov", "Božanić", "Božanović", "Božićković", "Božičić", "Božičković", "Bratojević", + "Bratonožić", "Bratović", "Brezo", "Brezovac", "Brešković", "Brežančić", "Brkanović", + "Brkić", "Brđanin", "Brđović", "Buač", "Buača", "Bubalo", "Bucalo", + "Bucalović", "Buljin", "Buljubašić", "Buljugić", "Bulovan", "Bunuševac", "Burani", + "Burazer", "Burazor", "Burević", "Burgić", "Butarević", "Cikota", "Cilikan", + "Cimbaljević", "Cimeša", "Cvetković", "Cvetljanin", "Cvetojević", "Cvetuljski", "Cvijan", + "Cvijanović", "Cvijančević", "Cvijetin", "Cvijetinović", "Cvijetić", "Cvijić", "Cvjetičanin", + "Dabić", "Dabižljević", "Dabović", "Dafunić", +}); + +const NameFormats serbianNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames serbianPeopleNames{{serbianMaleFirstNames, serbianLastNames, {}, {}}, + {serbianFemaleFirstNames, serbianLastNames, {}, {}}, + serbianNameFormats}; // Slovakia -extern const std::array slovakMaleFirstNames; -extern const std::array slovakFemaleFirstNames; -extern const std::array slovakMaleLastNames; -extern const std::array slovak_femalesLastNames; -extern const std::array slovakSuffixes; -extern const std::array slovakPrefixes; -extern const NameFormats slovakNameFormats; -extern const PeopleNames slovakPeopleNames; +const auto slovakMaleFirstNames = std::to_array({ + "Drahoslav", "Severín", "Alexej", "Ernest", "Rastislav", "Radovan", "Dobroslav", "Dalibor", + "Vincent", "Miloš", "Timotej", "Gejza", "Bohuš", "Alfonz", "Gašpar", "Emil", + "Erik", "Blažej", "Zdenko", "Dezider", "Arpád", "Valentín", "Pravoslav", "Jaromír", + "Roman", "Matej", "Frederik", "Viktor", "Alexander", "Radomír", "Albín", "Bohumil", + "Kazimír", "Fridrich", "Radoslav", "Tomáš", "Alan", "Branislav", "Bruno", "Gregor", + "Vlastimil", "Boleslav", "Eduard", "Jozef", "Víťazoslav", "Blahoslav", "Beňadik", "Adrián", + "Gabriel", "Marián", "Emanuel", "Miroslav", "Benjamín", "Hugo", "Richard", "Izidor", + "Zoltán", "Albert", "Igor", "Július", "Aleš", "Fedor", "Rudolf", "Valér", + "Marcel", "Ervín", "Slavomír", "Vojtech", "Juraj", "Marek", "Jaroslav", "Žigmund", + "Florián", "Roland", "Pankrác", "Servác", "Bonifác", "Svetozár", "Bernard", "Júlia", + "Urban", "Dušan", "Viliam", "Ferdinand", "Norbert", "Róbert", "Medard", "Zlatko", + "Anton", "Vasil", "Vít", "Adolf", "Vratislav", "Alfréd", "Alojz", "Ján", + "Tadeáš", "Ladislav", "Peter", "Pavol", "Miloslav", "Prokop", "Cyril", "Metod", + "Patrik", "Oliver", "Ivan", "Kamil", "Henrich", "Drahomír", "Bohuslav", "Iľja", + "Daniel", "Vladimír", "Jakub", "Krištof", "Ignác", "Gustáv", "Jerguš", "Dominik", + "Oskar", "Vavrinec", "Ľubomír", "Mojmír", "Leonard", "Tichomír", "Filip", "Bartolomej", + "Ľudovít", "Samuel", "Augustín", "Belo", "Oleg", "Bystrík", "Ctibor", "Ľudomil", + "Konštantín", "Ľuboslav", "Matúš", "Móric", "Ľuboš", "Ľubor", "Vladislav", "Cyprián", + "Václav", "Michal", "Jarolím", "Arnold", "Levoslav", "František", "Dionýz", "Maximilián", + "Koloman", "Boris", "Lukáš", "Kristián", "Vendelín", "Sergej", "Aurel", "Demeter", + "Denis", "Hubert", "Karol", "Imrich", "René", "Bohumír", "Teodor", "Tibor", + "Maroš", "Martin", "Svätopluk", "Stanislav", "Leopold", "Eugen", "Félix", "Klement", + "Kornel", "Milan", "Vratko", "Ondrej", "Andrej", "Edmund", "Oldrich", "Oto", + "Mikuláš", "Ambróz", "Radúz", "Bohdan", "Adam", "Štefan", "Dávid", "Silvester", +}); + +const auto slovakFemaleFirstNames = std::to_array({ + "Alexandra", "Karina", "Daniela", "Andrea", "Antónia", "Bohuslava", "Dáša", "Malvína", + "Kristína", "Nataša", "Bohdana", "Drahomíra", "Sára", "Zora", "Tamara", "Ema", + "Tatiana", "Erika", "Veronika", "Agáta", "Dorota", "Vanda", "Zoja", "Gabriela", + "Perla", "Ida", "Liana", "Miloslava", "Vlasta", "Lívia", "Eleonóra", "Etela", + "Romana", "Zlatica", "Anežka", "Bohumila", "Františka", "Angela", "Matilda", "Svetlana", + "Ľubica", "Alena", "Soňa", "Vieroslava", "Zita", "Miroslava", "Irena", "Milena", + "Estera", "Justína", "Dana", "Danica", "Jela", "Jaroslava", "Jarmila", "Lea", + "Anastázia", "Galina", "Lesana", "Hermína", "Monika", "Ingrida", "Viktória", "Blažena", + "Žofia", "Sofia", "Gizela", "Viola", "Gertrúda", "Zina", "Júlia", "Juliana", + "Želmíra", "Ela", "Vanesa", "Iveta", "Vilma", "Petronela", "Žaneta", "Xénia", + "Karolína", "Lenka", "Laura", "Stanislava", "Margaréta", "Dobroslava", "Blanka", "Valéria", + "Paulína", "Sidónia", "Adriána", "Beáta", "Petra", "Melánia", "Diana", "Berta", + "Patrícia", "Lujza", "Amália", "Milota", "Nina", "Margita", "Kamila", "Dušana", + "Magdaléna", "Oľga", "Anna", "Hana", "Božena", "Marta", "Libuša", "Božidara", + "Dominika", "Hortenzia", "Jozefína", "Štefánia", "Ľubomíra", "Zuzana", "Darina", "Marcela", + "Milica", "Elena", "Helena", "Lýdia", "Anabela", "Jana", "Silvia", "Nikola", + "Ružena", "Nora", "Drahoslava", "Linda", "Melinda", "Rebeka", "Rozália", "Regína", + "Alica", "Marianna", "Miriama", "Martina", "Mária", "Jolana", "Ľudomila", "Ľudmila", + "Olympia", "Eugénia", "Ľuboslava", "Zdenka", "Edita", "Michaela", "Stela", "Viera", + "Natália", "Eliška", "Brigita", "Valentína", "Terézia", "Vladimíra", "Hedviga", "Uršuľa", + "Alojza", "Kvetoslava", "Sabína", "Dobromila", "Klára", "Simona", "Aurélia", "Denisa", + "Renáta", "Irma", "Agnesa", "Klaudia", "Alžbeta", "Elvíra", "Cecília", "Emília", + "Katarína", "Henrieta", "Bibiána", "Barbora", "Marína", "Izabela", "Hilda", "Otília", + "Lucia", "Branislava", "Bronislava", "Ivica", "Albína", "Kornélia", "Sláva", "Slávka", + "Judita", "Dagmara", "Adela", "Nadežda", "Eva", "Filoména", "Ivana", "Milada", +}); + +const auto slovakMaleLastNames = std::to_array({ + "Antal", "Babka", "Bahna", "Bahno", "Baláž", "Baran", "Baranka", "Bartovič", + "Bartoš", "Bača", "Bernolák", "Beňo", "Bicek", "Bielik", "Blaho", "Bondra", + "Bosák", "Boška", "Brezina", "Bukovský", "Chalupka", "Chudík", "Cibula", "Cibulka", + "Cibuľa", "Cyprich", "Cíger", "Danko", "Daňko", "Daňo", "Debnár", "Dej", + "Dekýš", "Doležal", "Dočolomanský", "Droppa", "Dubovský", "Dudek", "Dula", "Dulla", + "Dusík", "Dvonč", "Dzurjanin", "Dávid", "Fabian", "Fabián", "Fajnor", "Farkašovský", + "Fico", "Filc", "Filip", "Finka", "Ftorek", "Gašpar", "Gašparovič", "Gocník", + "Gregor", "Greguš", "Grznár", "Hablák", "Habšuda", "Halda", "Haluška", "Halák", + "Hanko", "Hanzal", "Haščák", "Heretik", "Hečko", "Hlaváček", "Hlinka", "Holub", + "Holuby", "Hossa", "Hoza", "Hraško", "Hric", "Hrmo", "Hrušovský", "Huba", + "Ihnačák", "Janeček", "Janoška", "Jantošovič", "Janík", "Janček", "Jedľovský", "Jendek", + "Jonata", "Jurina", "Jurkovič", "Jurík", "Jánošík", "Kafenda", "Kaliský", "Karul", + "Keníž", "Klapka", "Kmeť", "Kolesár", "Kollár", "Kolnik", "Kolník", "Kolár", + "Korec", "Kostka", "Kostrec", "Kováč", "Kováčik", "Koza", "Kočiš", "Krajíček", + "Krajči", "Krajčo", "Krajčovič", "Krajčír", "Králik", "Krúpa", "Kubík", "Kyseľ", + "Kállay", "Labuda", "Lepšík", "Lipták", "Lisický", "Lubina", "Lukáč", "Lupták", + "Líška", "Madej", "Majeský", "Malachovský", "Malíšek", "Mamojka", "Marcinko", "Marián", + "Masaryk", "Maslo", "Matiaško", "Medveď", "Melcer", "Mečiar", "Michalík", "Mihalik", + "Mihál", "Mihálik", "Mikloško", "Mikulík", "Mikuš", "Mikúš", "Milota", "Mináč", + "Mišík", "Mojžiš", "Mokroš", "Mora", "Moravčík", "Mydlo", "Nemec", "Nitra", + "Novák", "Obšut", "Ondruš", "Otčenáš", "Pauko", "Pavlikovský", "Pavúk", "Pašek", + "Paška", "Paško", "Pelikán", "Petrovický", "Petruška", "Peško", "Plch", "Plekanec", + "Podhradský", "Podkonický", "Poliak", "Pupák", "Rak", "Repiský", "Romančík", "Rus", + "Ružička", "Rybníček", "Rybár", "Rybárik", "Samson", "Sedliak", "Senko", "Sklenka", + "Skokan", "Skutecký", "Slašťan", "Sloboda", "Slobodník", "Slota", "Slovák", "Smrek", + "Stodola", "Straka", "Strnisko", "Svrbík", "Sámel", "Sýkora", "Tatar", "Tatarka", + "Tatár", "Tatárka", "Thomka", "Tomeček", "Tomka", "Tomko", "Truben", "Turčok", + "Uram", "Urblík", "Vajcík", "Vajda", "Valach", "Valachovič", "Valent", "Valuška", + "Vanek", "Vesel", "Vicen", "Višňovský", "Vlach", "Vojtek", "Vydarený", "Zajac", + "Zima", "Zimka", "Záborský", "Zúbrik", "Čapkovič", "Čaplovič", "Čarnogurský", "Čierny", + "Čobrda", "Ďaďo", "Ďurica", "Ďuriš", "Šidlo", "Šimonovič", "Škriniar", "Škultéty", + "Šmajda", "Šoltés", "Šoltýs", "Štefan", "Štefanka", "Šulc", "Šurka", "Švehla", + "Šťastný", +}); + +const auto slovak_femalesLastNames = std::to_array({ + "Antalová", "Babková", "Bahnová", "Balážová", "Baranová", "Baranková", "Bartovičová", + "Bartošová", "Bačová", "Bernoláková", "Beňová", "Biceková", "Bieliková", "Blahová", + "Bondrová", "Bosáková", "Bošková", "Brezinová", "Bukovská", "Chalupková", "Chudíková", + "Cibulová", "Cibulková", "Cyprichová", "Cígerová", "Danková", "Daňková", "Daňová", + "Debnárová", "Dejová", "Dekýšová", "Doležalová", "Dočolomanská", "Droppová", "Dubovská", + "Dudeková", "Dulová", "Dullová", "Dusíková", "Dvončová", "Dzurjaninová", "Dávidová", + "Fabianová", "Fabiánová", "Fajnorová", "Farkašovská", "Ficová", "Filcová", "Filipová", + "Finková", "Ftoreková", "Gašparová", "Gašparovičová", "Gocníková", "Gregorová", "Gregušová", + "Grznárová", "Habláková", "Habšudová", "Haldová", "Halušková", "Haláková", "Hanková", + "Hanzalová", "Haščáková", "Heretiková", "Hečková", "Hlaváčeková", "Hlinková", "Holubová", + "Holubyová", "Hossová", "Hozová", "Hrašková", "Hricová", "Hrmová", "Hrušovská", + "Hubová", "Ihnačáková", "Janečeková", "Janošková", "Jantošovičová", "Janíková", "Jančeková", + "Jedľovská", "Jendeková", "Jonatová", "Jurinová", "Jurkovičová", "Juríková", "Jánošíková", + "Kafendová", "Kaliská", "Karulová", "Kenížová", "Klapková", "Kmeťová", "Kolesárová", + "Kollárová", "Kolniková", "Kolníková", "Kolárová", "Korecová", "Kostkaová", "Kostrecová", + "Kováčová", "Kováčiková", "Kozová", "Kočišová", "Krajíčeková", "Krajčová", "Krajčovičová", + "Krajčírová", "Králiková", "Krúpová", "Kubíková", "Kyseľová", "Kállayová", "Labudová", + "Lepšíková", "Liptáková", "Lisická", "Lubinová", "Lukáčová", "Luptáková", "Líšková", + "Madejová", "Majeská", "Malachovská", "Malíšeková", "Mamojková", "Marcinková", "Mariánová", + "Masaryková", "Maslová", "Matiašková", "Medveďová", "Melcerová", "Mečiarová", "Michalíková", + "Mihaliková", "Mihálová", "Miháliková", "Miklošková", "Mikulíková", "Mikušová", "Mikúšová", + "Milotová", "Mináčová", "Mišíková", "Mojžišová", "Mokrošová", "Morová", "Moravčíková", + "Mydlová", "Nemcová", "Nováková", "Obšutová", "Ondrušová", "Otčenášová", "Pauková", + "Pavlikovská", "Pavúková", "Pašeková", "Pašková", "Pelikánová", "Petrovická", "Petrušková", + "Pešková", "Plchová", "Plekanecová", "Podhradská", "Podkonická", "Poliaková", "Pupáková", + "Raková", "Repiská", "Romančíková", "Rusová", "Ružičková", "Rybníčeková", "Rybárová", + "Rybáriková", "Samsonová", "Sedliaková", "Senková", "Sklenková", "Skokanová", "Skutecká", + "Slašťanová", "Slobodová", "Slobodníková", "Slotová", "Slováková", "Smreková", "Stodolová", + "Straková", "Strnisková", "Svrbíková", "Sámelová", "Sýkorová", "Tatarová", "Tatarková", + "Tatárová", "Tatárkaová", "Thomková", "Tomečeková", "Tomková", "Trubenová", "Turčoková", + "Uramová", "Urblíková", "Vajcíková", "Vajdová", "Valachová", "Valachovičová", "Valentová", + "Valušková", "Vaneková", "Veselová", "Vicenová", "Višňovská", "Vlachová", "Vojteková", + "Vydarená", "Zajacová", "Zimová", "Zimková", "Záborská", "Zúbriková", "Čapkovičová", + "Čaplovičová", "Čarnogurská", "Čierná", "Čobrdová", "Ďaďová", "Ďuricová", "Ďurišová", + "Šidlová", "Šimonovičová", "Škriniarová", "Škultétyová", "Šmajdová", "Šoltésová", "Šoltýsová", + "Štefanová", "Štefanková", "Šulcová", "Šurková", "Švehlová", "Šťastná", +}); + +const auto slovakSuffixes = std::to_array({"Phd."}); + +const auto slovakPrefixes = std::to_array({"Ing.", "Mgr.", "JUDr.", "MUDr."}); + +const NameFormats slovakNameFormats{ + {{"{firstName} {lastName}", 8}, {"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName} {suffix}", 1}}}; + +const PeopleNames slovakPeopleNames{{slovakMaleFirstNames, slovakMaleLastNames, slovakPrefixes, slovakSuffixes}, + {slovakFemaleFirstNames, slovak_femalesLastNames, slovakPrefixes, slovakSuffixes}, + slovakNameFormats}; // Slovenia -extern const std::array slovenianMaleFirstNames; -extern const std::array slovenianFemaleFirstNames; -extern const std::array slovenianLastNames; -extern const NameFormats slovenianNameFormats; -extern const PeopleNames slovenianPeopleNames; +const auto slovenianMaleFirstNames = std::to_array({ + "Franc", "Marko", "Ivan", "Andrej", "Anton", "Luka", "Peter", "Matej", + "Milan", "Robert", "Branko", "Bojan", "Gregor", "Stanislav", "Martin", "David", + "Igor", "Dejan", "Jan", "Boris", "Simon", "Darko", "Aleksander", "Roman", + "Jakob", "Vladimir", "Janko", "Mirko", "Alen", "Zoran", "Filip", "Miroslav", + "Goran", "Stanko", "Mihael", "Tim", "Mark", "Leon", "Viktor", "Dragan", + "Erik", "Benjamin", "Rudolf", "Zdravko", "Danilo", "Zlatko", "Pavel", "Edvard", + "Bogdan", "Patrik", "Emil", "Damir", "Dominik", "Daniel", "Niko", "Albin", + "Aleks", "Aleksandar", "Ivica", "Tomislav", "Mario", "Leopold", "Mladen", "Valentin", + "Davor", "Karel", "Marcel", "Vlado", "Oskar", "Nenad", "Ivo", "Tian", + "Elvis", "Ladislav", "Valter", "Edin", "Ervin", "Sergej", "Karl", "Teo", + "Ernest", "Petar", "Nikolaj", "Vito", "Renato", "Alex", "Slobodan", "Mirsad", + "Samir", "Radovan", "Liam", "Dalibor", "Bruno", "Miro", "Amir", "Rudi", + "Kevin", "Bernard", "Hasan", "Albert", "Adolf", "Adam", "Ferdinand", "Dean", + "Milorad", "Branislav", "Rafael", "Emir", "Taj", "Almir", "Muhamed", "Edi", + "Adnan", "Alan", "Lukas", "Jon", "Feliks", "Ibrahim", "Predrag", "Tibor", + "Vili", "Ismet", "Aleksej", "Herman", "Armin", "Konrad", "Haris", "Leo", + "Teodor", "Branimir", "Mehmed", "Dino", "Tristan", "Jovan", "Stefan", "Ian", + "Oliver", "Dario", "Oto", "Husein", "Kristian", "Mustafa", "Henrik", "Sven", + "Gabriel", "Edvin", "Osman", "Fikret", "Tarik", "Egon", "Marino", "Asim", + "Miodrag", "Rasim", "Borislav", "Ramiz", "Fadil", "Dragomir", "Max", "Amar", + "Tom", "Omer", "Karlo", "Patrick", "Aldin", "Adrian", "Radoslav", "Ahmet", + "Sebastian", "Adem", "Lev", "Enver", "Manuel", "Ales", "Tijan", "Marsel", + "Kris", "Radomir", "Vladislav", "Arne", "Kenan", "Alexander", "Oton", "Maksim", + "Ali", "Emanuel", "Samuel", "Antonio", "Luca", "Emin", "Tomas", "Mateo", + "Milko", "Jordan", "Dani", "Nick", "Salih", "Alfred", "Otmar", "Geza", + "Aldo", "Arif", "Roberto", "Kemal", "Lazar", "Tihomir", "Miladin", "Fredi", + "Marin", "Severin", "Lucas", "Fuad", "Lars", "Leonard", "Bogomil", "Leonardo", + "Angel", "Halid", "Deni", "Ruben", "Radko", "Zlatan", "Thomas", "Dorian", + "Roland", "Nedim", "Simo", "Halil", "Ramadan", "Sadik", "Irfan", "Smail", + "Christian", "Adel", "Adil", "Dusan", "Romeo", "Fran", "Naser", "Sandro", + "Said", "Arben", "Ahmed", "Justin", "Neven", "Sami", "Hubert", "Sasa", + "Eduard", "Neo", "Arnel", "Jonatan", "Julian", "Michael", "Andi", "Amer", + "Marco", "Armando", "Zoltan", "Selim", "Artur", "Jonas", "Harun", "Juraj", + "Anis", "Rolando", "Aziz", "Kai", "Demir", "Aron", "Matias", "Faruk", + "Loris", "Hugo", "Nail", "Omar", "Ismail", "Ammar", "Elvin", "Naim", + "Nikolas", "Evan", "Taras", "Zaim", "Sergio", "Kosta", "Tobias", "Djordje", + "Aladin", "Natan", "Abdulah", "Valentino", "Zahid", "Simeon", "Matteo", "Alin", + "Ale", "Eldar", "Mauro", "Hamza", "Benedikt", "Diego", "Murat", "Isak", + "Michel", "Silvano", "Alessandro", "Svetozar", "Adriano", "Sani", "Fabio", "Sinan", + "Paolo", "Rupert", "Jaroslav", "Herbert", "Claudio", "Inti", "Hamid", "Ilir", + "Sergey", "Florian", "Shaban", "Nel", "Todor", "Helmut", "Dimitar", "Arpad", + "Tahir", "Konstantin", "Mate", "Job", "Luan", "Maxim", "Walter", "Mitko", + "Edmond", "Oleg", "Vital", "Bara", "Veselin", "Andrey", "Petko", "Faik", + "Alban", "Munir", "Stanimir", "Kian", "Dinko", "Engelbert", +}); + +const auto slovenianFemaleFirstNames = std::to_array({ + "Marija", "Ana", "Maja", "Marjan", "Irena", "Nina", "Barbara", "Petra", + "Katja", "Anja", "Eva", "Sara", "Sonja", "Tanja", "Tina", "Tatjana", + "Katarina", "Alenka", "Milena", "Vesna", "Martina", "Majda", "Nika", "Ivana", + "Helena", "Anica", "Nada", "Darja", "Dragica", "Kristina", "Simona", "Danica", + "Olga", "Suzana", "Zdenka", "Lara", "Lidija", "Denis", "Sabina", "Ema", + "Angela", "Vida", "Marta", "Ivanka", "Silva", "Veronika", "Karmen", "Darinka", + "Aleksandra", "Anita", "Brigita", "Lana", "Jana", "Kaja", "Klara", "Monika", + "Stanislava", "Lea", "Natalija", "Nevenka", "Jasmina", "Elizabeta", "Tamara", "Renata", + "Branka", "Slavica", "Julija", "Hana", "Bernarda", "Bojana", "Vera", "Erika", + "Danijela", "Romana", "Pavla", "Mira", "Laura", "Valentina", "Sandra", "Mirjana", + "Sanja", "Valerija", "Gal", "Ines", "Ksenija", "Mihaela", "Ida", "Pia", + "Karolina", "Viktorija", "Marina", "Mia", "Melita", "Vlasta", "Ela", "Magdalena", + "Albina", "Lan", "Gordana", "Ljubica", "Nadja", "Nikola", "Marinka", "Karin", + "Tea", "Matilda", "Marica", "Vita", "Emilija", "Larisa", "Lina", "Iva", + "Milka", "Milica", "Marijana", "Jelena", "Rebeka", "Justina", "Mirjam", "Stanka", + "Rene", "Slavka", "Irma", "Jasmin", "Zlatka", "Iris", "Iza", "Meta", + "Jolanda", "Miroslava", "Blanka", "Tara", "Manja", "Alma", "Nino", "Erna", + "Anka", "Alina", "Elena", "Neli", "Hermina", "Zora", "Magda", "Daniela", + "Vilma", "Diana", "Ljiljana", "Dragana", "Dijana", "Ingrid", "Biserka", "Mara", + "Edita", "Sofija", "Mila", "Sanela", "Zorica", "Manuela", "Emina", "Margareta", + "Biljana", "Silvestra", "Zlata", "Lili", "Lia", "Elvira", "Judita", "Svetlana", + "Roza", "Dunja", "Silvana", "Silvija", "Kim", "Zara", "Cirila", "Doris", + "Gizela", "Neva", "Vanda", "Berta", "Nikolina", "Hilda", "Vanesa", "Pavlina", + "Mirela", "Tone", "Leonida", "Violeta", "Dolores", "Zorka", "Nermin", "Karol", + "Radmila", "Dora", "Fatima", "Azra", "Melisa", "Agata", "Liza", "Aida", + "Anika", "Ina", "Gabriela", "Izabela", "Minka", "Milenka", "Jasminka", "Adela", + "Regina", "Edina", "Sofia", "Leopoldina", "Karla", "Mina", "Vladimira", "Lena", + "Greta", "Selma", "Samanta", "Kiara", "Evelin", "Frida", "Anna", "Andrea", + "Anel", "Almira", "Ada", "Teodora", "Adriana", "Ester", "Lorena", "Neda", + "Miranda", "Mai", "Amel", "Luna", "Dominika", "Rozina", "France", "Amra", + "Bogdana", "Patricia", "Amina", "Elma", "Stana", "Alisa", "Jovanka", "Stella", + "Stela", "Rosana", "Dajana", "Gloria", "Rada", "Ariana", "Tinka", "Suad", + "Melani", "Ella", "Nihad", "Medina", "Tiana", "Evelina", "Vanessa", "Sabrina", + "Irina", "Amanda", "Danila", "Nia", "Maria", "Emma", "Nena", "Zdravka", + "Julia", "Mirza", "Esma", "Noel", "Lian", "Sarah", "Fani", "Samira", + "Jozefa", "Amira", "Ivona", "Bruna", "Nikita", "Verona", "Nela", "Lenka", + "Eli", "Indira", "Natasa", "Natalia", "Sanda", "Leila", "Hanna", "Tereza", + "Marja", "Olivera", "Eda", "Estera", "Ava", "Nana", "Romina", "Jovana", + "Rafaela", "Linda", "Dan", "Loredana", "Meri", "Adelina", "Emanuela", "Aurora", + "Fadila", "Dina", "Sava", "Karina", "Elza", "Lin", "Lora", "Fatime", + "Melanie", "Anastasia", "Dana", "Mirka", "Evita", "Rosa", "Angelina", "Elda", + "Marisa", "Carmen", "Manda", "Dorica", "Gaia", "Claudia", "Eman", "Denisa", + "Tatiana", "Janka", "Lijana", "Dea", "Olena", "Erin", "Noemi", "Edisa", + "Inge", "Leonora", "Bela", "Verena", "Trina", "Arian", +}); + +const auto slovenianLastNames = std::to_array({ + "Novak", "Horvat", "Krajnc", "Kovač", "Korošec", "Mlakar", "Kos", "Vidmar", + "Golob", "žagar", "Hočevar", "Košir", "Turk", "Kralj", "Zupan", "Bizjak", + "Hribar", "Rozman", "Zajc", "Kotnik", "Oblak", "Petek", "Kolar", "Kastelic", + "Zupanc", "Koren", "Babič", "Kranjc", "Medved", "Majcen", "Knez", "Pušnik", + "Kovačević", "Dolenc", "Pirc", "Petrović", "Hrovat", "Lah", "Zadravec", "Kuhar", + "Lešnik", "Bezjak", "Kokalj", "Jug", "Zorko", "Erjavec", "Sever", "Vidovič", + "Jerman", "Jereb", "Bogataj", "Primožič", "Jovanović", "Kosi", "Hodžić", "Lesjak", + "Furlan", "Lavrič", "Perko", "Logar", "žižek", "Marković", "Debeljak", "Jenko", + "Krivec", "Pavlin", "Vodopivec", "Zver", "Rupnik", "Jarc", "Kramberger", "Toplak", + "Breznik", "Ilić", "Hribernik", "Jazbec", "žibert", "Marolt", "Vidic", "Eržen", + "Pintar", "Nikolić", "Simonič", "železnik", "Demšar", "Blažič", "Jelen", "Popović", + "šinkovec", "Fras", "Dolinar", "Ramšak", "Hozjan", "Leban", "Cerar", "Hren", + "Javornik", "Rus", "Blatnik", "Kobal", "Gorjup", "Kolenc", "Podgoršek", "Savić", + "Rajh", "Kokol", "Koželj", "Gajšek", "Mohorič", "Lazar", "Nemec", "Sušnik", + "Gomboc", "Mavrič", "Mrak", "šmid", "Rožman", "Cvetko", "Pavlović", "Bajc", + "Likar", "Vovk", "Babić", "Bevc", "Tratnik", "Povše", "Zakrajšek", "Begić", + "Humar", "Skok", "Gorenc", "Hadžić", "Stopar", "Rojc", "Stojanović", "Založnik", + "Leskovar", "Sitar", "Gorišek", "štrukelj", "šuligoj", "Kranjec", "Fekonja", "škof", + "Zorec", "Romih", "šuštar", "Pahor", "Bračko", "Pevec", "šturm", "Volk", + "Kukovec", "Brglez", "Simčič", "Dolinšek", "Kogovšek", "Križman", "Bregar", "Arh", + "Krašovec", "Murko", "Papež", "Turnšek", "Bukovec", "Kosmač", "Rutar", "Tomažin", + "Kramar", "Starc", "Vuković", "Jamnik", "Hafner", "Vrhovnik", "Planinc", "Dizdarević", + "Ferk", "Vončina", "Ravnikar", "Bergant", "Lebar", "Lipovšek", "Godec", "Vuk", + "Tomić", "Lončar", "Praprotnik", "Hojnik", "Kumer", "Halilović", "Grošelj", "Urh", + "Mlinar", "Kristan", "Stanković", "Habjan", "Resnik", "Klemenc", "Cimerman", "Balažic", + "Kalan", "Cafuta", "Jeraj", "Gruden", "Zalokar", "Primc", "Zajec", "Fabjan", + "Pirnat", "Možina", "Topolovec", "Zorman", "Trstenjak", "Hudorovac", "Kraševec", "Zalar", + "Rojko", "Lampret", "Peternelj", "Hvala", "Gantar", "Rijavec", "Grm", "Roškar", + "Repnik", "Kladnik", "Planinšek", "Delić", "Sedej", "Smrekar", "Gobec", "Frelih", + "Simić", "Rebernik", "Lukić", "šega", "Ornik", "Babnik", "Leskovšek", "Drnovšek", + "Mastnak", "Kušar", "Hrastnik", "Pajk", "Vogrinec", "Krapež", "žnidar", "Avsec", + "šabić", "Kocbek", "Strnad", "Jović", "Rogelj", "Juvan", "Vesel", "Knežević", + "Kotar", "šubic", "Mohar", "Križaj", "Požar", "Plohl", "Mitrović", "Kopač", + "Rudolf", "šket", "Kržišnik", "Beganović", "štefančič", "Dobnik", "Ristić", "Kocjan", + "Bajt", "Polanec", "Dežman", "Lazić", "Dedić", "Gashi", "Avdić", "Gradišnik", + "Plevnik", "Drevenšek", "Todorović", "Gorše", "Sluga", "Sajovic", "Smodiš", "Ocvirk", + "Bernik", "Bertoncelj", "Kosec", "Fajfar", "Hriberšek", "Poljanšek", "Jager", "Slana", + "Podobnik", "Malovrh", "Kmetec", "Pipan", "Jelenc", "Ficko", "škulj", "Veber", + "Peternel", "Zidar", "Stropnik", "Marić", "Podlesnik", "Grilc", "Vodušek", "Vogrin", + "Bašić", "Kenda", "Kern", "Tušek", "Bytyqi", "Arnuš", "Stare", "Pišek", + "Plut", "Nagode", "Hajdinjak", "Zagorc", "Kostanjevec", "Klinc", "Mulec", "Benko", + "Laznik", "žitnik", "Janković", "Mali", "Oman", "Fink", "Ogrizek", "Mihelčič", + "Bajec", "Pivk", "Skubic", "Kočar", "Virant", "Oražem", "Boštjančič", "Grobelnik", + "Markelj", "Tomše", "Bratuša", "Saje", "Makovec", "Križan", +}); + +const NameFormats slovenianNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames slovenianPeopleNames{{slovenianMaleFirstNames, slovenianLastNames, {}, {}}, + {slovenianFemaleFirstNames, slovenianLastNames, {}, {}}, + slovenianNameFormats}; // South Africa -extern const std::array southAfricanMaleFirstNames; -extern const std::array southAfricanFemaleFirstNames; -extern const std::array southAfricanLastNames; -extern const NameFormats southAfricanNameFormats; -extern const PeopleNames southAfricanPeopleNames; +const auto southAfricanMaleFirstNames = std::to_array({ + "Johan", "Robert", "Michael", "William", "Willem", "David", "Richard", "Thomas", "Charl", "Christopher", + "Daniel", "Dante", "Paul", "Mark", "George", "Kenneth", "Steven", "Edward", "Ronald", "Anthony", + "Albert", "Kevin", "Jaco", "Jacobus", "Mathuys", "Frankie", "Stephen", "Andre", "Raymond", "Joshua", + "Dennis", "Pieter", "Henrie", "Rigard", "Riaan", "Joe", "Johannes", "Hannes", "Gerald", "Gerhard", + "Willie", "Roy", "Adam", "Harry", "Wayne", "Billy", "Steve", "Louis", "Eugene", "Russell", + "Bobbie", "Victor", "Martin", "Ernest", "Phillip", "Craig", "Alan", "Shawn", "Chris", "Earl", + "Jimmy", "Brian", "Mike", "Leonard", "Dale", "Allen", "Vincent", "Francois", "Eddie", "Alexander", + "Bernard", "Markus", "Micheal", "Theo", "Oscar", "Derek", "Wesley", "Derrick", "Herman", "Rick", + "Ruben", "Cecil", "Roland", "Harvey", "Adriaan", "Karl", "Erik", "Neil", "Ian", "Iwan", + "Julian", "Nick", "Shaun", "Cameron", "Wilbur", "Rudolph", "Rudy", "Bennie", "Lukas", "Simon", + "Rufus", "Hugo", "Conrad", "Tommie", "Jan", "Jacques", "Morne", "Vernon", "Duanne", "Theunis", + "Theuns", "Wessel", "Stephaans", +}); + +const auto southAfricanFemaleFirstNames = std::to_array({ + "Susan", "Monica", "Linda", "Elsa", "Margaret", "Lisa", "Karen", "Helen", "Sandra", + "Sara", "Kimberly", "Angelique", "Melissa", "Brenda", "Anna", "Annelie", "Katryn", "Amanda", + "Stefanie", "Marie", "Janet", "Rosemarie", "Nicoleen", "Paula", "Robin", "Rita", "Edna", + "Carmen", "Cindy", "Edith", "Ethel", "Ellen", "Elaine", "Charlotte", "Pauline", "Juanita", + "Anita", "Rhonda", "Hazel", "Debbie", "Clara", "Lucille", "Eleanor", "Alicia", "Michele", + "Geraldine", "Erika", "Bernice", "Audrey", "Yvonne", "Annette", "Renette", "Ida", "Melanie", + "Jolanda", "Vanessa", "Alma", "Sue-Marie", "Carla", "Rosemary", "Wilma", "Kristin", "Natalie", + "Charlene", "Melinda", "Maureen", "Tanya", "Marlene", "Heidi", "Lydia", "Vickie", "Nina", + "Leona", "Jenny", "Sonia", "Kristina", "Katrina", "Belinda", "Natasha", "Cecile", "Angie", + "Lynda", "Amelia", "Monique", "Kayla", "Yvette", "Olivia", "Antoinette", "Bridgette", "Karla", + "Leticia", "Krista", "Robyn", "Rosalie", "Bernadette", "Krystal", "Nadine", "Estelle", "Lynette", + "Eloise", "Jana", "Kerry", "Jenna", "Tasha", "Sonja", "Elisa", "Kristie", +}); + +const auto southAfricanLastNames = std::to_array({ + "van de Merwe", "Schoeman", + "Barnard", "de Kock", + "Meintjies", "le Roux", + "Koen", "Morkel", + "Viljoen", "Smit", + "Nel", "Grobelaar", + "Oppenheimer", "Castelyn", + "du Preez", "Cronnje", + "Donald", "Pringle", + "Snell", "Burger", + "van Heerden", "van de Heefer", + "Wessels", "Eksteen", + "Kirsten", "de Villiers", + "Olivier", "Steyn", + "Kallis", "Ackerman", + "Dippenaar", "Strydon", + "Boje", "Pretorius", + "Langeveldt", "Botha", + "Duminy", "Fuller", + "Philander", "Daniels", + "Fichardt", "van Zyl", + "de Bruyn", "van der Bijl", + "Dyer", "van Buuren", + "Boyes", "Versfeld", + "Bisset", "Castens", + "Louw", "Powell", + "Snedden", "van Renen", + "Myburg", "Bredenkamp", + "Mellett", "Hertzog", + "Theunissen", "de Waal", + "Cloete", "Krige", + "Melker", "Loubser", + "Stegmann", "Joubert", + "Luyt", "Roos", + "Lombard", "van der Hoff", + "Immelman", "Els", + "Delaney", "Strauss", + "Meyer", "Pienaar", + "du Plessis", "van Rooyen", + "Kruger", "Mostert", + "Scholtz", "Aucamp", + "Albertyn", "Bosman", + "Bester", "Truter", + "Prinsloo", "van Niekerk", + "Zimmerman", "Venter", + "van den Berg", "de Wet", + "Marais", "van Jaarsveld", + "Jordaan", "Malan", + "Viviers", "Myburgh", + "Hoffman", "Bekker", + "Rossouw", "Rens", + "Lochner", "Hanekom", + "Schmidt", "Wentzel", + "Bezuidenhout", "Cilliers", + "Naude", "de Vos", + "Goosen", "Durand", + "Potgieter", "van Deventer", + "de Klerk", "Spies", + "Snyman", "Oosthuizen", + "Bosch", "Vogel", + "Fourie", "van Staden", + "Wagenaar", "Wolmerans", + "Veldsman", "Tromp", + "Serfontein", "Claasen", + "Heunis", "Visagie", + "Ferreira", "Erasmus", + "Knoetze", "Jansen van Rensburg", + "Styger", "Roberts", + "Richter", "Lotter", + "Swart", "Badenhorst", + "Laubscher", "Hattingh", + "Visser", "Brink", + "Theron", "Paulse", + "Basson", "van der Westhuyzen", + "Gerber", "Human", + "Uys", "Hougaard", + "Steenkamp", "Pieterse", + "Brits", "Jantjies", + "Etzebeth", "de Jager", + "Boshoff", "Kriel", + "Vosloo", "Carstens", +}); + +const NameFormats southAfricanNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames southAfricanPeopleNames{{southAfricanMaleFirstNames, southAfricanLastNames, {}, {}}, + {southAfricanFemaleFirstNames, southAfricanLastNames, {}, {}}, + southAfricanNameFormats}; // Spain -extern const std::array spanishMaleFirstNames; -extern const std::array spanishFemaleFirstNames; -extern const std::array spanishLastNames; -extern const std::array spanishMalePrefixes; -extern const std::array spanishFemalePrefixes; -extern const NameFormats spanishNameFormats; -extern const PeopleNames spanishPeopleNames; +const auto spanishMaleFirstNames = std::to_array({ + "Agapetus", "Aimon", "Ángel", "Beltran", "Berto", "Bronco", "Carles", "Cipriano", + "Cisco", "Cortez", "Cruz", "Cuba", "Daniel", "Dario", "Desiderio", "Diego", + "Dimos", "Fanuco", "Federico", "Fraco", "Francisco", "Frisco", "Gervasio", "Gig", + "Gonzalo", "Guido", "Guillermo", "Hermenegildo", "Hernan", "Hilario", "Ignado", "Isidro", + "Iván", "Jaguar", "Jair", "Javier", "Jerrold", "Jordi", "Jorge", "Josep", + "Juan", "Juan Ramón", "Kiki", "Larenzo", "Lisandro", "Loredo", "Lorenzo", "Macario", + "Malvolio", "Manuel", "Marjun", "Miguel", "Montana", "Montego", "Montel", "Montenegro", + "Nasario", "Nemesio", "Neper", "Neron ", "Nicandro", "Noe", "Oihane", "Oleos", + "Olindo", "Onofre", "Ora", "Oro", "Ovidio", "Pablo", "Paco", "Pancho", + "Pedro", "Pío", "Ponce", "Porfio", "Quico", "Quinto", "Quiqui", "Quito", + "Reyes", "Reynaldo", "Ricardo", "Rico", "Rio", "Rogelio", "Rubén", "Ryo", + "Sagaz", "Salvador", "Santiago", "Saturnin", "Seferino", "Selestino", "Senon", "Sergi", + "Sierra", "Tajo", "Urvano", "Vegas", "Venacio", "Vicente", "Vidal", "Xabat", + "Xalvador", "Xaver", "Xaverius", "Xavier", "Xavion", "Xeres", "Ximen", "Zelipe", + "Zenon ", +}); + +const auto spanishFemaleFirstNames = std::to_array({ + "Adalia", "Aidia", "Alva", "Ana", "Andrea", "Anni", "Aureliano", "Belinda", + "Bettina", "Carey", "Carlotta", "Coco", "Damita", "Delfina", "Duenna", "Dulcie", + "Elvira", "Enriqua", "Esmerelda", "Esperanza", "Fe", "Fonda", "Frida", "Friera", + "Gitana", "Gotzone", "Guadalupe", "Hermosa", "Ines", "Isabel", "Itzel", "Jade", + "Jardena", "Jennifer", "Julitta", "Kesare", "Kiki", "Lacienega", "Ladonna", "Landrada", + "Laura", "Lela", "Lenora", "Leya", "Liani", "Linda", "Lluvia", "Lola", + "Lolita", "Lorena", "Luisa", "Lujuana", "Lupita", "Lux", "Luz", "Madeira ", + "Madra", "Maica", "Maitane", "Maitea", "Majondra", "Manda", "Manuela", "María de los Ángeles", + "Mariola", "Mariposa", "Marisa", "Marta", "Matilde", "Melosa", "Mio", "Mira", + "Montana", "Mora", "Neiva", "Nerita", "Neva", "Nieve", "Nina", "Novia", + "Novyanna", "Oihane", "Ora", "Osana", "Paca", "Paloma", "Placida", "Puma", + "Querida", "Queta", "Quinceanos", "Raeka", "Rafaela", "Ramona", "Rana", "Ria", + "Rigoberta", "Roana", "Rosalind", "Rosalynda", "Roser", "Sally", "Salma", "Sancha", + "Sancho", "Sandia", "Santana", "Santina", "Savana", "Savanna", "Seina ", "Senalda", + "Senona", "Sierra", "Sofiel", "Solana", "Soledad", "Sonora", "Taina", "Tea", + "Tejana", "Terceiro", "Teresa", "Texcean", "Tia", "Tierra", "Tina", "Tranquilia", + "Trella", "Tulia", "Ursulina", "Verdad", "Veta", "Vina", "Xalbadora", "Xevera", + "Xiao", "Xiomara", "Yadra", "Yomaris", "Zaneta", "Zarela", "Zarita", "Zaviera", + "Zequinha", "Zuriaa", "Zurine ", +}); + +const auto spanishLastNames = std::to_array({ + "Abeyta", + "Abrego", + "Abreu", + "Acevedo", + "Acosta", + "Acuña", + "Adame", + "Adorno", + "Agosto", + "Aguayo", + "Aguilar", + "Aguilera", + "Aguirre", + "Alanis", + "Alaníz", + "Alarcón", + "Alba", + "Alcalá", + "Alcántar", + "Alcaraz", + "Alejandro", + "Alemán", + "Alfaro", + "Alicea", + "Almanza", + "Almaráz", + "Almonte", + "Alonso", + "Alonzo", + "Altamirano", + "Alva", + "Alvarado", + "Álvarez", + "Amador", + "Amaya", + "Anaya", + "Anguiano", + "Angulo", + "Aparicio", + "Apodaca", + "Aponte", + "Aragón", + "Araña", + "Aranda", + "Arce", + "Archuleta", + "Arellano", + "Arenas", + "Arevalo", + "Argüello", + "Arias", + "Armas", + "Armendáriz", + "Armenta", + "Armijo", + "Arredondo", + "Arreola", + "Arriaga", + "Arroyo", + "Arteaga", + "Atencio", + "Ávalos", + "Ávila", + "Avilés", + "Ayala", + "Baca", + "Badillo", + "Báez", + "Baeza", + "Bahena", + "Balderas", + "Ballesteros", + "Banda", + "Bañuelos", + "Barajas", + "Barela", + "Barragán", + "Barraza", + "Barrera", + "Barreto", + "Barrientos", + "Barrios", + "Batista", + "Becerra", + "Beltrán", + "Benavides", + "Benavídez", + "Benítez", + "Bermúdez", + "Bernal", + "Berríos", + "Betancourt", + "Blanco", + "Bonilla", + "Borrego", + "Botello", + "Bravo", + "Briones", + "Briseño", + "Brito", + "Bueno", + "Burgos", + "Bustamante", + "Bustos", + "Caballero", + "Cabán", + "Cabrera", + "Cadena", + "Caldera", + "Calderón", + "Calvillo", + "Camacho", + "Camarillo", + "Campos", + "Canales", + "Candelaria", + "Cano", + "Cantú", + "Caraballo", + "Carbajal", + "Cárdenas", + "Cardona", + "Carmona", + "Carranza", + "Carrasco", + "Carrasquillo", + "Carreón", + "Carrera", + "Carrero", + "Carrillo", + "Carrión", + "Carvajal", + "Casanova", + "Casares", + "Casarez", + "Casas", + "Casillas", + "Castañeda", + "Castellanos", + "Castillo", + "Castro", + "Cavazos", + "Cazares", + "Ceballos", + "Cedillo", + "Ceja", + "Centeno", + "Cepeda", + "Cerda", + "Cervantes", + "Cervántez", + "Chacón", + "Chapa", + "Chavarría", + "Chávez", + "Cintrón", + "Cisneros", + "Collado", + "Collazo", + "Colón", + "Colunga", + "Concepción", + "Contreras", + "Cordero", + "Córdova", + "Cornejo", + "Corona", + "Coronado", + "Corral", + "Corrales", + "Correa", + "Cortés", + "Cortéz", + "Cotto", + "Covarrubias", + "Crespo", + "Cruz", + "Cuellar", + "Curiel", + "Dávila", + "de Anda", + "de Jesús", + "Delacrúz", + "Delafuente", + "Delagarza", + "Delao", + "Delapaz", + "Delarosa", + "Delatorre", + "Deleón", + "Delgadillo", + "Delgado", + "Delrío", + "Delvalle", + "Díaz", + "Domínguez", + "Duarte", + "Dueñas", + "Durán", + "Echevarría", + "Elizondo", + "Enríquez", + "Escalante", + "Escamilla", + "Escobar", + "Escobedo", + "Esparza", + "Espinal", + "Espino", + "Espinosa", + "Espinosa de los Monteros", + "Espinoza", + "Esquibel", + "Esquivel", + "Estévez", + "Estrada", + "Fajardo", + "Farías", + "Feliciano", + "Fernández", + "Ferrer", + "Fierro", + "Figueroa", + "Flores", + "Flórez", + "Fonseca", + "Frías", + "Fuentes", + "Gaitán", + "Galarza", + "Galindo", + "Gallardo", + "Gallegos", + "Galván", + "Gálvez", + "Gamboa", + "Gámez", + "Gaona", + "Garay", + "García", + "Garibay", + "Garica", + "Garrido", + "Garza", + "Gastélum", + "Gaytán", + "Gil", + "Girón", + "Godínez", + "Godoy", + "Gómez", + "González", + "Gracia", + "Granado", + "Granados", + "Griego", + "Grijalva", + "Guajardo", + "Guardado", + "Guerra", + "Guerrero", + "Guevara", + "Guillén", + "Gurule", + "Gutiérrez", + "Guzmán", + "Haro", + "Henríquez", + "Heredia", + "Hernández", + "Herrera", + "Hidalgo", + "Hinojosa", + "Holguín", + "Huerta", + "Hurtado", + "Ibarra", + "Iglesias", + "Irizarry", + "Jaime", + "Jaimes", + "Jáquez", + "Jaramillo", + "Jasso", + "Jiménez", + "Juárez", + "Jurado", + "Laboy", + "Lara", + "Laureano", + "Leal", + "Lebrón", + "Ledesma", + "Leiva", + "Lemus", + "León", + "Lerma", + "Leyva", + "Limón", + "Linares", + "Lira", + "Llamas", + "Loera", + "Lomeli", + "Longoria", + "López", + "Lovato", + "Loya", + "Lozada", + "Lozano", + "Lucero", + "Lucio", + "Luevano", + "Lugo", + "Luna", + "Macías", + "Madera", + "Madrid", + "Madrigal", + "Maestas", + "Magaña", + "Malave", + "Maldonado", + "Manzanares", + "Mares", + "Marín", + "Márquez", + "Marrero", + "Marroquín", + "Martínez", + "Mascareñas", + "Mata", + "Mateo", + "Matías", + "Matos", + "Maya", + "Mayorga", + "Medina", + "Medrano", + "Mejía", + "Meléndez", + "Melgar", + "Mena", + "Menchaca", + "Méndez", + "Mendoza", + "Menéndez", + "Meraz", + "Mercado", + "Merino", + "Mesa", + "Meza", + "Miramontes", + "Miranda", + "Mireles", + "Mojica", + "Molina", + "Mondragón", + "Monroy", + "Montalvo", + "Montañez", + "Montaño", + "Montemayor", + "Montenegro", + "Montero", + "Montes", + "Montéz", + "Montoya", + "Mora", + "Morales", + "Moreno", + "Mota", + "Moya", + "Munguía", + "Muñiz", + "Muñoz", + "Murillo", + "Muro", + "Nájera", + "Naranjo", + "Narváez", + "Nava", + "Navarrete", + "Navarro", + "Nazario", + "Negrete", + "Negrón", + "Nevárez", + "Nieto", + "Nieves", + "Niño", + "Noriega", + "Núñez", + "Ocampo", + "Ocasio", + "Ochoa", + "Ojeda", + "Olivares", + "Olivárez", + "Olivas", + "Olivera", + "Olivo", + "Olmos", + "Olvera", + "Ontiveros", + "Oquendo", + "Ordóñez", + "Orellana", + "Ornelas", + "Orosco", + "Orozco", + "Orta", + "Ortega", + "Ortiz", + "Osorio", + "Otero", + "Ozuna", + "Pabón", + "Pacheco", + "Padilla", + "Padrón", + "Páez", + "Pagan", + "Palacios", + "Palomino", + "Palomo", + "Pantoja", + "Paredes", + "Parra", + "Partida", + "Patiño", + "Paz", + "Pedraza", + "Pedroza", + "Pelayo", + "Peña", + "Perales", + "Peralta", + "Perea", + "Pérez", + "Pichardo", + "Piña", + "Pineda", + "Pizarro", + "Polanco", + "Ponce", + "Porras", + "Portillo", + "Posada", + "Prado", + "Preciado", + "Prieto", + "Puente", + "Puga", + "Pulido", + "Quesada", + "Quezada", + "Quiñones", + "Quiñónez", + "Quintana", + "Quintanilla", + "Quintero", + "Quiróz", + "Rael", + "Ramírez", + "Ramos", + "Rangel", + "Rascón", + "Raya", + "Razo", + "Regalado", + "Rendón", + "Rentería", + "Reséndez", + "Reyes", + "Reyna", + "Reynoso", + "Rico", + "Rincón", + "Riojas", + "Ríos", + "Rivas", + "Rivera", + "Rivero", + "Robledo", + "Robles", + "Rocha", + "Rodarte", + "Rodríguez", + "Rojas", + "Rojo", + "Roldán", + "Rolón", + "Romero", + "Romo", + "Roque", + "Rosado", + "Rosales", + "Rosario", + "Rosas", + "Roybal", + "Rubio", + "Ruelas", + "Ruíz", + "Saavedra", + "Sáenz", + "Saiz", + "Salas", + "Salazar", + "Salcedo", + "Salcido", + "Saldaña", + "Saldivar", + "Salgado", + "Salinas", + "Samaniego", + "Sanabria", + "Sánchez", + "Sandoval", + "Santacruz", + "Santana", + "Santiago", + "Santillán", + "Sarabia", + "Sauceda", + "Saucedo", + "Sedillo", + "Segovia", + "Segura", + "Sepúlveda", + "Serna", + "Serrano", + "Serrato", + "Sevilla", + "Sierra", + "Sisneros", + "Solano", + "Solís", + "Soliz", + "Solorio", + "Solorzano", + "Soria", + "Sosa", + "Sotelo", + "Soto", + "Suárez", + "Tafoya", + "Tamayo", + "Tamez", + "Tapia", + "Tejada", + "Tejeda", + "Téllez", + "Tello", + "Terán", + "Terrazas", + "Tijerina", + "Tirado", + "Toledo", + "Toro", + "Torres", + "Tórrez", + "Tovar", + "Trejo", + "Treviño", + "Trujillo", + "Ulibarri", + "Ulloa", + "Urbina", + "Ureña", + "Urías", + "Uribe", + "Urrutia", + "Vaca", + "Valadez", + "Valdés", + "Valdez", + "Valdivia", + "Valencia", + "Valentín", + "Valenzuela", + "Valladares", + "Valle", + "Vallejo", + "Valles", + "Valverde", + "Vanegas", + "Varela", + "Vargas", + "Vázquez", + "Vega", + "Vela", + "Velasco", + "Velásquez", + "Velázquez", + "Vélez", + "Véliz", + "Venegas", + "Vera", + "Verdugo", + "Verduzco", + "Vergara", + "Viera", + "Vigil", + "Villa", + "Villagómez", + "Villalobos", + "Villalpando", + "Villanueva", + "Villarreal", + "Villaseñor", + "Villegas", + "Yáñez", + "Ybarra", + "Zambrano", + "Zamora", + "Zamudio", + "Zapata", + "Zaragoza", + "Zarate", + "Zavala", + "Zayas", + "Zelaya", + "Zepeda", + "Zúñiga" +}); + +const auto spanishMalePrefixes = std::to_array({"Sr."}); + +const auto spanishFemalePrefixes = std::to_array({"Sra.", "Sta."}); + +const NameFormats spanishNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 9}}}; + +const PeopleNames spanishPeopleNames{{spanishMaleFirstNames, spanishLastNames, spanishMalePrefixes, {}}, + {spanishFemaleFirstNames, spanishLastNames, spanishFemalePrefixes, {}}, + spanishNameFormats}; // Sweden -extern const std::array swedishMaleFirstNames; -extern const std::array swedishFemaleFirstNames; -extern const std::array swedishLastNames; -extern const std::array swedishPrefixes; -extern const NameFormats swedishNameFormats; -extern const PeopleNames swedishPeopleNames; +const auto swedishMaleFirstNames = std::to_array({ + "Lars", "Mikael", "Anders", "Johan", "Erik", "Per", "Peter", "Karl", "Thomas", + "Jan", "Daniel", "Fredrik", "Andreas", "Hans", "Stefan", "Mohamed", "Mats", "Marcus", + "Mattias", "Magnus", "Jonas", "Oskar", "Alexander", "Niklas", "Bengt", "Martin", "Bo", + "Nils", "Viktor", "Patrik", "Björn", "David", "Leif", "Filip", "Henrik", "Joakim", + "Emil", "Christer", "Ulf", "Sven", "Simon", "Christoffer", "Anton", "Gustav", "Robert", + "Christian", "William", "Tommy", "Kjell", "Lucas", "Rickard", "Håkan", "Adam", "Göran", + "Jakob", "Jonathan", "Rolf", "Lennart", "Robin", "Sebastian", "Elias", "Tobias", "John", + "Stig", "Axel", "Linus", "Oliver", "Kent", "Hugo", "Isak", "Roger", "Jesper", + "Claes", "Albin", "Ludvig", "Jörgen", "Rasmus", "Max", "Ali", "Jimmy", "Kenneth", + "Joel", "Gunnar", "Dennis", "Josef", "Johnny", "Olle", "Liam", "Leo", "Olof", + "Pontus", "Åke", "Kurt", "Kevin", "Samuel", "Edvin", "Gabriel", "Torbjörn", "Arvid", + "Felix", +}); + +const auto swedishFemaleFirstNames = std::to_array({ + "Anna", "Eva", "Maria", "Karin", "Sara", "Kristina", "Lena", "Emma", + "Kerstin", "Marie", "Malin", "Ingrid", "Jenny", "Hanna", "Linda", "Annika", + "Susanne", "Elin", "Monica", "Birgitta", "Sofia", "Johanna", "Inger", "Carina", + "Elisabeth", "Julia", "Ulla", "Katarina", "Linnéa", "Emelie", "Ida", "Helena", + "Camilla", "Åsa", "Anette", "Sandra", "Gunilla", "Anita", "Maja", "Marianne", + "Margareta", "Amanda", "Anneli", "Therese", "Ann", "Josefin", "Cecilia", "Jessica", + "Helen", "Lisa", "Matilda", "Caroline", "Alice", "Frida", "Ulrika", "Elsa", + "Barbro", "Siv", "Rebecca", "Madeleine", "Klara", "Ebba", "Sofie", "Isabelle", + "Agneta", "Gun", "Wilma", "Lina", "Berit", "Pia", "Ella", "Ellen", + "Yvonne", "Louise", "Astrid", "Moa", "Olivia", "Nathalie", "Mona", "Agnes", + "Emilia", "Alexandra", "Alva", "Britt", "Erika", "Viktoria", "Ann-Christin", "Felicia", + "Ann-Marie", "Sonja", "Britt-Marie", "Pernilla", "Lovisa", "Charlotte", "Linn", "Gunnel", + "Nina", "Mikaela", "Karolina", "Lisbeth", +}); + +const auto swedishLastNames = std::to_array({ + "Andersson", "Johansson", "Karlsson", "Nilsson", "Eriksson", "Larsson", "Olsson", "Persson", + "Svensson", "Gustafsson", "Pettersson", "Jonsson", "Jansson", "Hansson", "Bengtsson", "Jönsson", + "Lindberg", "Jakobsson", "Magnusson", "Olofsson", "Lindström", "Lindqvist", "Lindgren", "Berg", + "Axelsson", "Bergström", "Lundberg", "Lind", "Lundgren", "Lundqvist", "Mattsson", "Berglund", + "Fredriksson", "Sandberg", "Henriksson", "Forsberg", "Sjöberg", "Ali", "Wallin", "Mohamed", + "Engström", "Eklund", "Danielsson", "Lundin", "Håkansson", "Björk", "Bergman", "Gunnarsson", + "Holm", "Wikström", "Samuelsson", "Isaksson", "Fransson", "Bergqvist", "Nyström", "Holmberg", + "Arvidsson", "Löfgren", "Söderberg", "Nyberg", "Blomqvist", "Claesson", "Nordström", "Ahmed", + "Mårtensson", "Lundström", "Hassan", "Viklund", "Björklund", "Eliasson", "Pålsson", "Berggren", + "Sandström", "Lund", "Nordin", "Ström", "Åberg", "Falk", "Ekström", "Hermansson", + "Holmgren", "Hellström", "Dahlberg", "Hedlund", "Sundberg", "Sjögren", "Ek", "Blom", + "Abrahamsson", "Martinsson", "Öberg", "Andreasson", "Strömberg", "Månsson", "Hansen", "Åkesson", + "Dahl", "Lindholm", "Norberg", "Holmqvist", +}); + +const auto swedishPrefixes = std::to_array({"Dr.", "Prof.", "PhD."}); + +const NameFormats swedishNameFormats{{{"{firstName} {lastName}", 10}, {"{prefix} {firstName} {lastName}", 1}}}; + +const PeopleNames swedishPeopleNames{{swedishMaleFirstNames, swedishLastNames, swedishPrefixes, {}}, + {swedishFemaleFirstNames, swedishLastNames, swedishPrefixes, {}}, + swedishNameFormats}; // Switzerland -extern const std::array swissMaleFirstNames; -extern const std::array swissFemaleFirstNames; -extern const std::array swissLastNames; -extern const std::array swissMalePrefixes; -extern const std::array swissFemalePrefixes; -extern const NameFormats swissNameFormats; -extern const PeopleNames swissPeopleNames; +const auto swissMaleFirstNames = std::to_array({ + "Alfons", "Alfred", "Alois", "André", "Andreas", "Angelo", "Antoine", + "Anton", "Antonio", "Armin", "Arnold", "Arthur", "Beat", "Bernard", + "Bernhard", "Bruno", "Carlo", "Charles", "Christian", "Christoph", "Christophe", + "Claude", "Claudio", "Daniel", "Daniele", "David", "Denis", "Didier", + "Dieter", "Dominik", "Dominique", "Edgar", "Eduard", "Edwin", "Emil", + "Enrico", "Eric", "Erich", "Ernst", "Erwin", "Eugen", "Felix", + "Ferdinand", "Francesco", "Francis", "Franco", "François", "Frank", "Franz", + "Frédéric", "Fredy", "Fridolin", "Friedrich", "Fritz", "Gabriel", "Georg", + "Georges", "Gérald", "Gérard", "Gerhard", "Gianni", "Gilbert", "Giorgio", + "Giovanni", "Giuseppe", "Gottfried", "Guido", "Guy", "Hans", "Hans-Peter", + "Hans-Rudolf", "Hans-Ulrich", "Hansjörg", "Hanspeter", "Hansruedi", "Hansueli", "Harry", + "Heinrich", "Heinz", "Helmut", "Henri", "Herbert", "Hermann", "Hubert", + "Hugo", "Jacques", "Jakob", "Jan", "Jean-Claude", "Jean-Daniel", "Jean-François", + "Jean-Jacques", "Jean-Louis", "Jean-Luc", "Jean-Marc", "Jean-Marie", "Jean-Paul", "Jean-Pierre", + "Johann", "Johannes", "John", "Jörg", "Josef", "Joseph", "Jürg", + "Karl", "Klaus", "Konrad", "Kurt", "Laurent", "Leo", "Louis", + "Luca", "Luigi", "Lukas", "Manfred", "Manuel", "Marc", "Marcel", + "Marco", "Mario", "Markus", "Martin", "Massimo", "Matthias", "Maurice", + "Max", "Michael", "Michel", "Nicolas", "Niklaus", "Norbert", "Olivier", + "Oskar", "Otto", "Paolo", "Pascal", "Patrick", "Paul", "Peter", + "Philipp", "Philippe", "Pierre", "Pierre-Alain", "Pierre-André", "Pius", "Rainer", + "Raymond", "Reinhard", "Remo", "Renato", "Rene", "René", "Reto", + "Richard", "Rudolf", "Ruedi", "Samuel", "Sandro", "Serge", "Silvio", + "Simon", "Stefan", "Stephan", "Stéphane", "Theo", "Theodor", "Thomas", + "Ueli", "Ulrich", "Urs", "Victor", "Viktor", "Walter", "Werner", + "Willi", "Willy", "Wolfgang", "Yves", +}); + +const auto swissFemaleFirstNames = std::to_array({ + "Alice", "Andrea", "Angela", "Anita", "Anna", "Anne", "Anne-Marie", "Annemarie", + "Astrid", "Barbara", "Beatrice", "Beatrix", "Bernadette", "Bettina", "Brigitta", "Brigitte", + "Carmen", "Caroline", "Catherine", "Chantal", "Charlotte", "Christa", "Christiane", "Christina", + "Christine", "Claire", "Claudia", "Claudine", "Corinne", "Cornelia", "Daniela", "Danielle", + "Denise", "Dominique", "Dora", "Doris", "Edith", "Eliane", "Elisabeth", "Elsa", + "Elsbeth", "Erica", "Erika", "Esther", "Eva", "Eveline", "Evelyne", "Fabienne", + "Florence", "Françoise", "Franziska", "Gabriela", "Gabrielle", "Gertrud", "Gisela", "Hanna", + "Heidi", "Helen", "Helena", "Helene", "Hildegard", "Ingrid", "Irene", "Iris", + "Isabelle", "Jacqueline", "Janine", "Jean", "Johanna", "Jolanda", "Josette", "Josiane", + "Judith", "Julia", "Karin", "Katharina", "Laura", "Laurence", "Liliane", "Liselotte", + "Lydia", "Madeleine", "Maja", "Manuela", "Margrit", "Margrith", "Maria", "Marianne", + "Marion", "Marlène", "Marlies", "Marlis", "Martha", "Martina", "Martine", "Maya", + "Michele", "Micheline", "Monica", "Monika", "Monique", "Myriam", "Nadia", "Nadja", + "Nathalie", "Nelly", "Nicole", "Paola", "Patricia", "Petra", "Pia", "Priska", + "Regina", "Regula", "Renata", "Renate", "Ruth", "Sabine", "Sandra", "Silvia", + "Simone", "Sonia", "Sonja", "Stéphanie", "Susanna", "Susanne", "Suzanne", "Sylvia", + "Sylvie", "Therese", "Toni", "Ursula", "Verena", "Véronique", "Vreni", "Yolande", + "Yvette", "Yvonne", +}); + +const auto swissLastNames = std::to_array({ + "Ackermann", "Aebi", "Albrecht", "Ammann", "Amrein", "Arnold", "Bachmann", + "Bader", "Bär", "Bättig", "Bauer", "Baumann", "Baumgartner", "Baur", + "Beck", "Benz", "Berger", "Bernasconi", "Betschart", "Bianchi", "Bieri", + "Blaser", "Blum", "Bolliger", "Bosshard", "Braun", "Brun", "Brunner", + "Bucher", "Bühler", "Bühlmann", "Burri", "Christen", "Egger", "Egli", + "Eichenberger", "Erni", "Ernst", "Eugster", "Fankhauser", "Favre", "Fehr", + "Felber", "Felder", "Ferrari", "Fischer", "Flückiger", "Forster", "Frei", + "Frey", "Frick", "Friedli", "Fuchs", "Furrer", "Gasser", "Geiger", + "Gerber", "Gfeller", "Giger", "Gloor", "Graf", "Grob", "Gross", + "Gut", "Haas", "Häfliger", "Hafner", "Hartmann", "Hasler", "Hauser", + "Hermann", "Herzog", "Hess", "Hirt", "Hodel", "Hofer", "Hoffmann", + "Hofmann", "Hofstetter", "Hotz", "Huber", "Hug", "Hunziker", "Hürlimann", + "Imhof", "Isler", "Iten", "Jäggi", "Jenni", "Jost", "Kägi", + "Kaiser", "Kälin", "Käser", "Kaufmann", "Keller", "Kern", "Kessler", + "Knecht", "Koch", "Kohler", "Kuhn", "Küng", "Kunz", "Lang", + "Lanz", "Lehmann", "Leu", "Leunberger", "Lüscher", "Lustenberger", "Lüthi", + "Lutz", "Mäder", "Maier", "Marti", "Martin", "Maurer", "Mayer", + "Meier", "Meili", "Meister", "Merz", "Mettler", "Meyer", "Michel", + "Moser", "Müller", "Näf", "Ott", "Peter", "Pfister", "Portmann", + "Probst", "Rey", "Ritter", "Roos", "Roth", "Rüegg", "Schäfer", + "Schaller", "Schär", "Schärer", "Schaub", "Scheidegger", "Schenk", "Scherrer", + "Schlatter", "Schmid", "Schmidt", "Schneider", "Schnyder", "Schoch", "Schuler", + "Schumacher", "Schürch", "Schwab", "Schwarz", "Schweizer", "Seiler", "Senn", + "Sidler", "Siegrist", "Sigrist", "Spörri", "Stadelmann", "Stalder", "Staub", + "Stauffer", "Steffen", "Steiger", "Steiner", "Steinmann", "Stettler", "Stocker", + "Stöckli", "Stucki", "Studer", "Stutz", "Suter", "Sutter", "Tanner", + "Thommen", "Tobler", "Vogel", "Vogt", "Wagner", "Walder", "Walter", + "Weber", "Wegmann", "Wehrli", "Weibel", "Wenger", "Wettstein", "Widmer", + "Winkler", "Wirth", "Wirz", "Wolf", "Wüthrich", "Wyss", "Zbinden", + "Zehnder", "Ziegler", "Zimmermann", "Zingg", "Zollinger", "Zürcher", +}); + +const auto swissMalePrefixes = std::to_array({"Herr", "Dr.", "Prof. Dr."}); + +const auto swissFemalePrefixes = std::to_array({"Frau", "Dr.", "Prof. Dr."}); + +const NameFormats swissNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 9}}}; + +const PeopleNames swissPeopleNames{{swissMaleFirstNames, swissLastNames, swissMalePrefixes, {}}, + {swissFemaleFirstNames, swissLastNames, swissFemalePrefixes, {}}, + swissNameFormats}; // Syria -extern const std::array syrianMaleFirstNames; -extern const std::array syrianFemaleFirstNames; -extern const std::array syrianLastNames; -extern const NameFormats syrianNameFormats; -extern const PeopleNames syrianPeopleNames; +const auto syrianMaleFirstNames = std::to_array({ + "Mohamed", "Ahmed", "Abdel", "Hassan", "Ali", "Saleh", "Mahmoud", "Abou", "Ibrahim", + "Hussein", "Khaled", "Fayez", "Sheikh", "Mostafa", "Abdo", "Anwar", "Hilal", "Yousef", + "Ghazi", "Omar", "Hama", "Kamel", "Zuhair", "Khalil", "Suleiman", "Zaher", "Ismail", + "Adnan", "Zain", "Yasser", "Ammar", "Farhan", "Nabil", "Raed", "Yahya", "Mousa", + "Samer", "Sherif", "Waleed", "Jamal", "Bassam", "Rabie", "Ayman", "Khader", "Faisal", + "Emad", "Hossam", "Mohsen", "Samih", "Taha", "Fadi", "Abdullah", "Nader", "Fahd", + "Samir", "Hamad", "Osama", "Mahdi", "Ghassan", "Firas", "Anas", "Fatih", "Amer", + "Ziad", "Saeed", "Zakaria", "Ramadan", "Yassin", "Qasim", "Bashir", "Saad", "Nasser", + "Nazih", "Marwan", "Riad", "Malik", "Tarek", "Naji", "Hamid", "Jamil", "Ramy", + "Sultan", "Adel", "Radwan", "Asaad", "Haytham", "Badr", "Akram", "Mazen", "Haidar", + "Saif", "Jaafar", "Salah", "Kamal", "Iyad", "Shady", "Wael", "Hamza", "Bahri", + "Osman", "Majed", "Fares", "Rashid", "Karam", "Louay", "Talal", "Mounir", "Salem", + "Waseem", "Essam", "Nizar", "Hamada", "Maher", "Fouad", "Younis", "Aziz", "Amin", + "Mehdi", "George", "Elias", "Sami", "Jan", "Fadel", "Salim", "Hamed", "Bilal", + "Salam", "Salman", "Hisham", "Mansour", "Abbas", "Haj", "Shah", "Hani", "Ahmad", + "Tawfiq", "Fawzi", "Jalal", "Nadeem", "Sayed", "Farouk", "Hatem", "Mamoun", "Abdelkader", + "Azad", "Suhail", "Abu", "Farid", "Taleb", "Sher", "Naeem", "Safwan", "Hadi", + "Milad", "Karim", "Jaber", "Najih", "Adal", "Dia", "Khamis", "Zaki", "Adham", + "Habib", "Hammad", "Asher", "Tayeb", "Matar", "Taher", "Wahid", "Haji", "Amjad", + "Mohammed", "Amar", "Dimas", "Tamer", "Hammadi", "Khalifa", "Atta", "Mohammad", "Ben", + "Atef", "Faiz", "Murad", "Sadiq", "Zaid", "Noman", "Mohamad", "Ayoub", "Amir", + "Badi", "Nazir", "Baba", "Michel", "Idris", "Rashad", "Radi", "Yacoub", "Rafiq", + "Fathi", "Mubarak", "Daniel", "Rami", "Massoud", "Aqeel", "Makki", "Joseph", "Bakr", + "Muhammed", "Shafiq", "Asif", "Antar", "Mikhail", "Majid", "Luqman", "Mustafa", "Daoud", + "Nabeel", "Ashraf", "Anton", "Raouf", "Asad", "Sam", "Safi", "Mazhar", "Akka", + "Amr", "Wahib", "Gamal", "Arslan", "Fahim", "Antoine", "Saber", "Anis", "Hasan", + "Kamil", "Farhad", "Abdalla", "Rehan", "Makram", "Afif", "Sayah", "Muhammad", "Abdelghani", + "Hany", "Basel", "Othman", "Rabah", "Lawrence", "Latif", "Raymond", "Irfan", "Emile", + "Hussam", "Abed", "Shadi", "Foad", "William", "Abdelhakim", "Jawad", "Siraj", "Simon", + "Mesbah", "Nael", "Lotfi", "Samy", "Abdi", "Angel", "Sidi", "Bada", "Sasa", + "Imad", "Scott", "Nazar", "Rai", "Badri", "Kader", "Yaser", "Morris", "Ram", + "Shoaib", "Sufian", "Arman", "Joel", "Mahfoud", "Seydou", "Nazim", "Abdulrahman", "Issam", + "Falak", "Abdul", "Ayad", "Rafi", "Dani", "Mahy", "Manea", "Ishaq", "Nabi", + "Sabri", "Haitham", "Muzaffar", "Taj", "Zahir", "Johnny", "Kasem", "Mokhtar", "Fatah", + "Nassar", "Jad", "Mahmood", "Rahal", "Malek", "Hanif", "Fattah", "Alex", "Anass", + "Shamil", "Iftikhar", "Mhamad", "Mujahid", "Marcel", "Iqbal", "Zubair", "Nayel", "Marzouk", + "Yvon", "Rahim", "Leon", "Haroun", "Mouloud", "Talha", "Halim", "Youssef", "Fikret", + "Edmond", "Tareq", "Walid", "Antonius", "Nizam", "Aslan", "John", "Aday", "Faraz", + "Rasheed", "Akash", "Ibo", "Wassim", "Muad", "Salih", "Mikael", "Husam", +}); + +const auto syrianFemaleFirstNames = std::to_array({ + "Nour", "Fatima", "Dara", "Mariam", "Darya", "Amara", "Mari", "Jihad", "Hikmat", + "Sabah", "Hanan", "Nihad", "Khadija", "Rana", "Mona", "Zainab", "Alaa", "Heba", + "Hala", "Rama", "Hoda", "Nasreen", "Wissam", "Sarah", "Manal", "Reda", "Rasha", + "Iman", "Zahra", "Nada", "Jamila", "Wafa", "Najah", "Samira", "Aya", "Maysaa", + "Amal", "Yara", "Amina", "Marwa", "Laila", "Halima", "Fattoum", "Ayesha", "Aisha", + "Lina", "Samar", "Joan", "Bayan", "Safa", "Haya", "Ela", "Farah", "Alia", + "Hana", "Faten", "Walaa", "Hind", "Rania", "Souad", "Duaa", "Dalal", "Babila", + "Sana", "Yasmin", "Ghada", "Nawar", "Siham", "Nadia", "Bushra", "Fadia", "Rima", + "Maha", "Ihsan", "Nidal", "Sahar", "Georgette", "Najwa", "Ibtisam", "Amna", "Batoul", + "Wiam", "Nawal", "Maya", "Dima", "Manar", "Dana", "Razan", "Sally", "Nahed", + "Salwa", "Hayam", "Diana", "Asmaa", "Zara", "Sawsan", "Rose", "Susan", "Dania", + "Elian", "Catherine", "Fadwa", "Arwa", "Kholoud", "Salama", "Badia", "Fahima", "Lana", + "Fayrouz", "Mary", "Inas", "Kawthar", "Beda", "Safia", "Randa", "Nahla", "Basma", + "Hasna", "Aziza", "Samah", "Anara", "Sabine", "Anam", "Maria", "Saba", "Rehab", + "Meliha", "Lubna", "Nora", "Badra", "Jade", "Noha", "Ahlam", "Fatim", "Karen", + "Khadra", "Rajaa", "Asma", "Hanna", "Aida", "Medea", "Hayat", "Elham", "Azra", + "Ala", "Maram", "Sumaya", "Jihan", "Zeina", "Amira", "Nadine", "Naima", "Hina", + "Samia", "Rahma", "Sima", "Ghazala", "Ramia", "Hajar", "Rayan", "Hajira", "Ana", + "Nasra", "Nahida", "Nasim", "Afaf", "Najma", "Salma", "Doreen", "Shaheen", "Lamis", + "Sare", "Raja", "Elia", "Hamida", "Wesal", "Magda", "Fawzia", "Houria", "Mai", + "Latifa", "Rokaya", "Saadia", "Farida", "Ayada", "Lamia", "Bahia", "Linda", "Samiha", + "Shadia", "Nariman", "Nicola", "Nayla", "Faiza", "Badria", "Najat", "Mirna", "Mounira", + "Judy", "Suhaila", "Hawa", "Josephine", "Dale", "Mara", "Afra", "Asmahan", "Awatif", + "Fayza", "Medina", "Afnan", "Nicole", "Hajra", "Janet", "Donia", "Nozha", "Najla", + "Nazira", "Elly", "Antoinette", "Dany", "Elaine", "Ria", "Yousra", "Saada", "Rahila", + "Asia", "Fathia", "Hassiba", "Mahdia", "Nabila", "Sakina", "Khawla", "Azza", "Wahiba", + "Madiha", "Lara", "Rabia", "Rita", "Dina", "Rabab", "Radia", "Sonia", "Sasha", + "Elena", "Malak", "Bahija", "Sabria", "Mia", "Omaima", "Madeleine", "Karima", "Marilyn", + "Yola", "Norma", "Ghalia", "Raida", "Hiba", "Dalia", "Malika", "Katia", "Julia", + "Nasima", "Shahnaz", "Sanaa", "Salima", "Abla", "Sandra", "Fatna", "Jacqueline", "Banna", + "Elissa", "Lydia", "Nahia", "Dahab", "Claude", "Janan", "Zahia", "Therese", "Rene", + "Sara", "Noor", "Amia", "Eveline", "Christine", "Najia", "Mimouna", "Hadia", "Anisa", + "Yohanna", "Shahida", "Hanifa", "Violet", "Juliet", "Sarra", "Melia", "Ziara", "Helen", + "Ayat", "Rani", "Mariana", "Lorraine", "Anaya", "Juliana", "Silva", "Tamara", "Na", + "Nelly", "Rahima", "Lilian", "Ikram", "Hakima", "Islam", "Huda", "Noura", "Georgina", + "Barbara", "Rachida", "Samra", "Helena", "Amani", "Nargis", "Adila", "Jana", "Rawan", + "Sama", "Sultana", "Tania", "Liza", "Lian", "Aman", "Olga", "Soria", "Amra", + "Nafisa", "Zahida", "Najiha", "Amelia", "Caroline", "Nirmin", "Zina", "Suzan", "May", + "Majida", "Yana", "Mouna", "Jocelyn", "Moumna", "Eman", "Rabha", "Thania", +}); + +const auto syrianLastNames = std::to_array({ + "Khaled", "Mohamed", "Al numan", "Ahmed", "Ali", "Hussein", "Hassan", "Ibrahim", + "Mahmoud", "Samaan", "Alzuhur", "Saleh", "Alththania", "Allah", "Mostafa", "Suleiman", + "Yousef", "Aldaman", "Khalil", "Khalaf", "El din", "Ismail", "Eisaa", "Hamoud", + "Abdel", "Saeed", "Mousa", "Omar", "Jassim", "Sheikh", "Awad", "Deeb", + "Al-karim", "Azza", "Abdo", "Qasim", "Elkader", "Osman", "Abbas", "Badr", + "Al-razzaq", "El hajj", "Khader", "Abdullah", "Hamad", "El abd", "Yassin", "Al jassim", + "Aboud", "Shamalieh", "Al aziz", "Haj", "Ramadan", "Hamid", "Asaad", "El arab", + "Obaid", "Jerash", "Khalif", "Nasser", "Salim", "Shams", "Al hamoud", "Fares", + "Rashid", "Khair", "Juma", "Hamdan", "Eid", "Salem", "Darwish", "Salloum", + "Adnan", "Younis", "Sobhy", "Mansour", "Jamil", "Habib", "Yujad", "Nayef", + "Shehadeh", "Salman", "El latif", "Amin", "Taha", "Mari", "Al ward", "Salama", + "Hilal", "Alyousf", "Hamada", "Al mousa", "Turki", "Duyub", "Jumah", "Khadour", + "Diab", "Al awamid", "Haji", "Sharqia", "Al omar", "Yahya", "Farhan", "Mohsen", + "Shaaban", "Al khatib", "Hamed", "Fahd", "Hamidi", "Masry", "Dawood", "Saad", + "Bashir", "Kamel", "Al-majeed", "Al sheikh", "Matar", "El helou", "Haddad", "El sharqeya", + "Mahfoud", "El hadi", "Al ain", "El wahab", "Fayez", "Haidar", "Zidan", "Hassoun", + "Hamdou", "Hamza", "Al hamad", "Omran", "Tawfiq", "Khalifa", "Ayed", "Sah", + "Qasarneh", "Al fattah", "Al thina", "Daoud", "Islam", "Hammadi", "Fadel", "Sherif", + "Al rahim", "Shaheen", "Al haji", "Arab", "Barakat", "Hamo", "Ghanim", "Maarouf", + "Idris", "El salam", "Sameh", "Al humaidi", "Aladol", "Aziz", "Muslim", "Ragab", + "Mukhlaf", "Attieh", "Fawaz", "Al dahour", "Alawi", "Jamal", "Jan", "Artouz", + "Adel", "El ghany", "Halab", "Refaat", "Oued", "Fayad", "Waleed", "Kamal", + "Assaf", "Al aboud", "Jiblah", "Al aliawi", "Aswad", "Zakaria", "Mehrez", "Al mashrafah", + "Saber", "Al-khader", "Faraj", "Nawaf", "Faisal", "Khalouf", "Sultan", "Al othman", + "Zuhair", "Aref", "Elias", "Mariam", "Mamdouh", "Bedour", "Radwan", "Hanna", + "Al-abdullah", "Ghazi", "Asas", "Sattouf", "Zaky", "El sayed", "Hamdy", "Alloush", + "Adeeb", "Al menem", "Al-zayt", "Raslan", "Odeh", "Asber", "Yabous", "Abyad", + "Fawzi", "Al ismail", "Allawi", "Mounir", "Jandal", "Abou", "Taher", "Nour", + "Najm", "Al najjar", "Naguib", "Tayseer", "Saqr", "Qabaliyah", "Muhanna", "Al-khalif", + "Bakr", "Ezz", "Nasan", "Hashem", "Alakhas", "Jaber", "Nouri", "Al-mansour", + "Ayoub", "Al turkman", "Hassou", "El hamdou", "Nader", "Shahoud", "Fouad", "Abdul rahman", + "Hammad", "Taleb", "Alo", "Al jabbar", "Samir", "Qadour", "Salah", "Al hilal", + "Fendi", "Mihoub", "Reda", "Melhem", "Nawos", "Al tina", "Bakri", "Al jalil", + "Dahir", "Damascus", "Bouzan", "Fattoum", "Bakour", "Sue", "Bilal", "El hadid", + "Al jamaa", "Zaher", "Amoun", "Jadoua", "Marwan", "Jadaan", "Qubailah", "Gamalan", + "Qalq", "Daham", "Hajj", "Al dahir", "Kaeika", "Aqeel", "Tahta", "Karim", + "Murad", "El shamaly", "Kurdi", "Aklah", "Shawah", "Abdel rahman", "Nasr", "Rabie", + "Rustom", "Barhoum", "Al hamada", "Assi", "Al qasim", "El halaby", "Khoury", "Al-kurdi", + "Hama", "Maala", "Saud", "Khatib", "El fares", "Abdul karim", "Ela", "Sharqi", + "Akram", "Farah", "Rahil", "Riad", "Al hayy", "Al assaf", "Shehab", "Hatem", + "Sakour", "Heloum", "Rateb", "Ghaleb", "Jneid", "Nazir", "Nemeh", "Al-basset", + "Badawi", "Halaboun", "Moheisen", "Hegazy", "Al sbaa", "Tamer", "Nazzal", "Wassouf", + "Al-hakim", "El said", "Khamis", "Kabir", "Habash", "Maahed", "Madameh", "Gerges", + "Oly", "Abdelkader", "Al awad", "Al safa", "Sayah", "Trama", +}); + +const NameFormats syrianNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames syrianPeopleNames{{syrianMaleFirstNames, syrianLastNames, {}, {}}, + {syrianFemaleFirstNames, syrianLastNames, {}, {}}, + syrianNameFormats}; // Turkey -extern const std::array turkishMaleFirstNames; -extern const std::array turkishFemaleFirstNames; -extern const std::array turkishLastNames; -extern const std::array turkishMalePrefixes; -extern const std::array turkishFemalePrefixes; -extern const NameFormats turkish_personNameFormats; -extern const PeopleNames turkishPeopleNames; +const auto turkishMaleFirstNames = std::to_array({ + "Ahmet", "Mehmet", "Mustafa", "Ali", "Emre", "Burak", "Can", "Cem", "Eren", "Onur", "Kaan", + "Serkan", "Hakan", "Yusuf", "Okan", "Barış", "Tolga", "Kerem", "Deniz", "Oğuz", "Umut", "Gökhan", + "İsmail", "Metin", "Orhan", "İlker", "Levent", "Selim", "Berk", "Uğur", "Murat", "Tarık", "Cihan", + "Fatih", "Furkan", "Yiğit", "Tarkan", "Volkan", "Mert", "Alp", "Taylan", "Burhan", "Ege", "Koray", +}); + +const auto turkishFemaleFirstNames = std::to_array({ + "Ayşe", "Fatma", "Zeynep", "Emine", "Merve", "Elif", "Melis", "Esra", "İrem", "Ebru", "Selma", + "Leyla", "Selin", "Gamze", "Gizem", "Ceren", "Deniz", "Aslı", "Nazlı", "Pınar", "İlayda", "Dilara", + "Büşra", "Rabia", "Yasemin", "Gül", "Nur", "Melek", "Sude", "Şeyma", "Beren", "Eylül", "İpek", + "Hande", "Cansu", "Özge", "Hilal", "Bilge", "Serra", "İlknur", "Cemre", "Tuğba", "Yelda", +}); + +const auto turkishLastNames = std::to_array({ + "Yılmaz", "Demir", "Kaya", "Çelik", "Yıldız", "Türk", "Güneş", "Ergin", "Arslan", + "Doğan", "Kurt", "Şahin", "Güler", "Çetin", "Aydın", "Yalçın", "Kaplan", "Aksoy", + "Taş", "Koç", "Erdoğan", "Yılmazer", "Bulut", "Acar", "Uçar", "Kılıç", "Karahan", + "Tekin", "Soydan", "Çalışkan", "Öztürk", "Yalın", "Kara", "Özkan", "Akın", "Aktaş", + "Büyükcengiz", "Okan", "Şimşek", "Keskin", "Kayabaş", "Kayabaşı", "Atalay", "Ünal", "Demirci", + "Yaman", "Gündoğdu", "Çevik", "Durmaz", "Aslan", "Güzel", "Kahraman", +}); + +const auto turkishMalePrefixes = std::to_array({"Bay", "Dr.", "Prof. Dr."}); + +const auto turkishFemalePrefixes = std::to_array({"Bayan", "Dr.", "Prof. Dr."}); + +const NameFormats turkish_personNameFormats{{{"{prefix} {firstName} {lastName}", 1}, {"{firstName} {lastName}", 8}}}; + +const PeopleNames turkishPeopleNames{{turkishMaleFirstNames, turkishLastNames, turkishMalePrefixes, {}}, + {turkishFemaleFirstNames, turkishLastNames, turkishFemalePrefixes, {}}, + turkish_personNameFormats}; // Ukraine -extern const std::array ukrainianMaleFirstNames; -extern const std::array ukrainianFemaleFirstNames; -extern const std::array ukrainianMalesLastNames; -extern const std::array ukrainianFemaleLastNames; -extern const std::array ukrainianMalePrefixes; -extern const std::array ukrainianFemalePrefixes; -extern const NameFormats ukrainianNameFormats; -extern const PeopleNames ukrainianPeopleNames; +const auto ukrainianMaleFirstNames = std::to_array({ + "Августин", "Аврелій", "Адам", "Адріян", "Азарій", "Алевтин", "Альберт", "Анастас", + "Анастасій", "Анатолій", "Андрій", "Антін", "Антон", "Антоній", "Аркадій", "Арсен", + "Арсеній", "Артем", "Архип", "Аскольд", "Афанасій", "Біломир", "Білослав", "Богдан", + "Божемир", "Божен", "Болеслав", "Боримир", "Боримисл", "Борис", "Борислав", "Братимир", + "Братислав", "Братомил", "Братослав", "Брячислав", "Будимир", "Буйтур", "Буревіст", "В’ячеслав", + "Вадим", "Валентин", "Валерій", "Василь", "Велемир", "Віктор", "Віталій", "Влад", + "Владислав", "Володимир", "Володислав", "Всевлад", "Всеволод", "Всеслав", "Гаврило", "Гарнослав", + "Геннадій", "Георгій", "Герасим", "Гліб", "Гнат", "Гордій", "Горимир", "Горислав", + "Градимир", "Григорій", "Далемир", "Данило", "Дарій", "Даромир", "Денис", "Дмитро", + "Добромир", "Добромисл", "Доброслав", "Євген", "Єремій", "Захар", "Захарій", "Зборислав", + "Звенигор", "Звенимир", "Звенислав", "Земислав", "Зеновій", "Зиновій", "Злат", "Златомир", + "Зоремир", "Зореслав", "Зорян", "Іван", "Ігор", "Ізяслав", "Ілля", "Кий", + "Корнелій", "Корнилій", "Корнило", "Корній", "Костянтин", "Кузьма", "Лаврентій", "Лаврін", + "Лад", "Ладислав", "Ладо", "Ладомир", "Левко", "Листвич", "Лук’ян", "Любодар", + "Любозар", "Любомир", "Макар", "Максим", "Мар’ян", "Маркіян", "Марко", "Матвій", + "Мечислав", "Микита", "Микола", "Мирон", "Мирослав", "Михайло", "Мстислав", "Мусій", + "Назар", "Назарій", "Натан", "Немир", "Нестор", "Олег", "Олександр", "Олексій", + "Олелько", "Олесь", "Омелян", "Орест", "Орхип", "Остап", "Охрім", "Павло", + "Панас", "Пантелеймон", "Петро", "Пилип", "Подолян", "Потап", "Радим", "Радимир", + "Ратибор", "Ратимир", "Родіон", "Родослав", "Роксолан", "Роман", "Ростислав", "Руслан", + "Святополк", "Святослав", "Семибор", "Сергій", "Синьоок", "Славолюб", "Славомир", "Славута", + "Сніжан", "Сологуб", "Станіслав", "Степан", "Стефаній", "Стожар", "Тарас", "Тиміш", + "Тимофій", "Тихон", "Тур", "Устим", "Хвалимир", "Хорив", "Чорнота", "Щастислав", + "Щек", "Юліан", "Юрій", "Юхим", "Ян", "Ярема", "Яровид", "Яромил", + "Яромир", "Ярополк", "Ярослав", +}); + +const auto ukrainianFemaleFirstNames = std::to_array({ + "Аврелія", "Аврора", "Агапія", "Агата", "Агафія", "Агнеса", "Агнія", "Агрипина", + "Ада", "Аделаїда", "Аделіна", "Адріана", "Азалія", "Алевтина", "Аліна", "Алла", + "Альбіна", "Альвіна", "Анастасія", "Анатолія", "Ангеліна", "Анжела", "Анна", "Антонида", + "Антоніна", "Антонія", "Анфіса", "Аполлінарія", "Аполлонія", "Аркадія", "Артемія", "Афанасія", + "Білослава", "Біляна", "Благовіста", "Богдана", "Богуслава", "Божена", "Болеслава", "Борислава", + "Броніслава", "В’ячеслава", "Валентина", "Валерія", "Варвара", "Василина", "Вікторія", "Вілена", + "Віленіна", "Віліна", "Віола", "Віолетта", "Віра", "Віргінія", "Віта", "Віталіна", + "Влада", "Владислава", "Власта", "Всеслава", "Галина", "Ганна", "Гелена", "Далеслава", + "Дана", "Дарина", "Дарислава", "Діана", "Діяна", "Добринка", "Добромила", "Добромира", + "Добромисла", "Доброслава", "Долеслава", "Доляна", "Жанна", "Жозефіна", "Забава", "Звенислава", + "Зінаїда", "Злата", "Зореслава", "Зорина", "Зоряна", "Зоя", "Іванна", "Ілона", + "Інна", "Іннеса", "Ірина", "Ірма", "Калина", "Каріна", "Катерина", "Квітка", + "Квітослава", "Клавдія", "Крентта", "Ксенія", "Купава", "Лада", "Лариса", "Леся", + "Ликера", "Лідія", "Лілія", "Любава", "Любислава", "Любов", "Любомила", "Любомира", + "Люборада", "Любослава", "Людмила", "Людомила", "Майя", "Мальва", "Мар’яна", "Марина", + "Марічка", "Марія", "Марта", "Меланія", "Мечислава", "Милодара", "Милослава", "Мирослава", + "Мілана", "Мокрина", "Мотря", "Мстислава", "Надія", "Наталія", "Неля", "Немира", + "Ніна", "Огняна", "Оксана", "Олександра", "Олена", "Олеся", "Ольга", "Ореста", + "Орина", "Орислава", "Орися", "Оріяна", "Павліна", "Палажка", "Пелагея", "Пелагія", + "Поліна", "Поляна", "Потішана", "Радміла", "Радослава", "Раїна", "Раїса", "Роксолана", + "Ромена", "Ростислава", "Руслана", "Світлана", "Святослава", "Слава", "Сміяна", "Сніжана", + "Соломія", "Соня", "Софія", "Станислава", "Сюзана", "Таїсія", "Тамара", "Тетяна", + "Устина", "Фаїна", "Февронія", "Федора", "Феодосія", "Харитина", "Христина", "Христя", + "Юліанна", "Юлія", "Юстина", "Юхима", "Юхимія", "Яна", "Ярина", "Ярослава", +}); + +const auto ukrainianMalesLastNames = std::to_array({ + "Андрухович", "Бабух", "Балабан", "Балабух", "Балакун", "Балицький", "Бамбула", + "Бандера", "Барановський", "Бачей", "Башук", "Бердник", "Білич", "Бондаренко", + "Борецький", "Боровський", "Борочко", "Боярчук", "Брицький", "Бурмило", "Бутько", + "Василин", "Василишин", "Васильківський", "Вергун", "Вередун", "Верещук", "Витребенько", + "Вітряк", "Волощук", "Гайдук", "Гайовий", "Гайчук", "Галаєнко", "Галатей", + "Галаціон", "Гаман", "Гамула", "Ганич", "Гарай", "Гарун", "Гладківський", + "Гладух", "Глинський", "Гнатишин", "Гойко", "Головець", "Горбач", "Гордійчук", + "Горовий", "Городоцький", "Гречко", "Григоришин", "Гриневецький", "Гриневський", "Гришко", + "Громико", "Данилишин", "Данилко", "Демків", "Демчишин", "Дзюб’як", "Дзюба", + "Дідух", "Дмитришин", "Дмитрук", "Довгалевський", "Дурдинець", "Євенко", "Євпак", + "Ємець", "Єрмак", "Забіла", "Зварич", "Зінкевич", "Зленко", "Іванишин", + "Іванів", "Іванців", "Калач", "Кандиба", "Карпух", "Каськів", "Кивач", + "Коваленко", "Ковальський", "Коломієць", "Коман", "Компанієць", "Кононець", "Кордун", + "Корецький", "Корнїйчук", "Коров’як", "Коцюбинський", "Кулинич", "Кульчицький", "Лагойда", + "Лазірко", "Лановий", "Латаний", "Латанський", "Лахман", "Левадовський", "Ликович", + "Линдик", "Ліхно", "Лобачевський", "Ломовий", "Луговий", "Луцький", "Луцьків", + "Лученко", "Лучко", "Лютий", "Лящук", "Магера", "Мазайло", "Мазило", + "Мазун", "Майборода", "Майстренко", "Маковецький", "Малкович", "Мамій", "Маринич", + "Марієвський", "Марків", "Махно", "Миклашевський", "Миклухо", "Милославський", "Михайлюк", + "Міняйло", "Могилевський", "Москаль", "Москалюк", "Мотрієнко", "Негода", "Ногачевський", + "Опенько", "Осадко", "Павленко", "Павлишин", "Павлів", "Пагутяк", "Паламарчук", + "Палій", "Паращук", "Пасічник", "Пендик", "Петик", "Петлюра", "Петренко", + "Петрин", "Петришин", "Петрів", "Плаксій", "Погиба", "Поліщук", "Пономарів", + "Поривай", "Поривайло", "Потебенько", "Потоцький", "Пригода", "Приймак", "Притула", + "Прядун", "Розпутній", "Романишин", "Романів", "Ромей", "Роменець", "Ромочко", + "Савицький", "Саєнко", "Свидригайло", "Семеночко", "Семещук", "Сердюк", "Силецький", + "Сідлецький", "Сідляк", "Сірко", "Скиба", "Скоропадський", "Слободян", "Сосюра", + "Сплюх", "Спотикач", "Стахів", "Степанець", "Стецьків", "Стигайло", "Сторожук", + "Сторчак", "Стоян", "Сучак", "Сушко", "Тарасюк", "Тиндарей", "Ткаченко", + "Третяк", "Троян", "Трублаєвський", "Трясило", "Трясун", "Уманець", "Унич", + "Усич", "Федоришин", "Хитрово", "Цимбалістий", "Цушко", "Червоній", "Шамрило", + "Шевченко", "Шестак", "Шиндарей", "Шиян", "Шкараба", "Шудрик", "Шумило", + "Шупик", "Шухевич", "Щербак", "Юрчишин", "Юхно", "Ющик", "Ющук", + "Яворівський", "Яловий", "Ялюк", "Янюк", "Ярмак", "Яцишин", "Яцьків", + "Ящук", +}); + +const auto ukrainianFemaleLastNames = std::to_array({ + "Андрухович", "Бабух", "Балабан", "Балабуха", "Балакун", "Балицька", "Бамбула", + "Бандера", "Барановська", "Бачей", "Башук", "Бердник", "Білич", "Бондаренко", + "Борецька", "Боровська", "Борочко", "Боярчук", "Брицька", "Бурмило", "Бутько", + "Василишина", "Васильківська", "Вергун", "Вередун", "Верещук", "Витребенько", "Вітряк", + "Волощук", "Гайдук", "Гайова", "Гайчук", "Галаєнко", "Галатей", "Галаціон", + "Гаман", "Гамула", "Ганич", "Гарай", "Гарун", "Гладківська", "Гладух", + "Глинська", "Гнатишина", "Гойко", "Головець", "Горбач", "Гордійчук", "Горова", + "Городоцька", "Гречко", "Григоришина", "Гриневецька", "Гриневська", "Гришко", "Громико", + "Данилишина", "Данилко", "Демків", "Демчишина", "Дзюб’як", "Дзюба", "Дідух", + "Дмитришина", "Дмитрук", "Довгалевська", "Дурдинець", "Євенко", "Євпак", "Ємець", + "Єрмак", "Забіла", "Зварич", "Зінкевич", "Зленко", "Іванишина", "Калач", + "Кандиба", "Карпух", "Кивач", "Коваленко", "Ковальська", "Коломієць", "Коман", + "Компанієць", "Кононець", "Кордун", "Корецька", "Корнїйчук", "Коров’як", "Коцюбинська", + "Кулинич", "Кульчицька", "Лагойда", "Лазірко", "Ланова", "Латан", "Латанська", + "Лахман", "Левадовська", "Ликович", "Линдик", "Ліхно", "Лобачевська", "Ломова", + "Лугова", "Луцька", "Луцьків", "Лученко", "Лучко", "Люта", "Лящук", + "Магера", "Мазайло", "Мазило", "Мазун", "Майборода", "Майстренко", "Маковецька", + "Малкович", "Мамій", "Маринич", "Марієвська", "Марків", "Махно", "Миклашевська", + "Миклухо", "Милославська", "Михайлюк", "Міняйло", "Могилевська", "Москаль", "Москалюк", + "Мотрієнко", "Негода", "Ногачевська", "Опенько", "Осадко", "Павленко", "Павлишина", + "Павлів", "Пагутяк", "Паламарчук", "Палій", "Паращук", "Пасічник", "Пендик", + "Петик", "Петлюра", "Петренко", "Петрина", "Петришина", "Петрів", "Плаксій", + "Погиба", "Поліщук", "Пономарів", "Поривай", "Поривайло", "Потебенько", "Потоцька", + "Пригода", "Приймак", "Притула", "Прядун", "Розпутня", "Романишина", "Ромей", + "Роменець", "Ромочко", "Савицька", "Саєнко", "Свидригайло", "Семеночко", "Семещук", + "Сердюк", "Силецька", "Сідлецька", "Сідляк", "Сірко", "Скиба", "Скоропадська", + "Слободян", "Сосюра", "Сплюха", "Спотикач", "Степанець", "Стигайло", "Сторожук", + "Сторчак", "Стоян", "Сучак", "Сушко", "Тарасюк", "Тиндарей", "Ткаченко", + "Третяк", "Троян", "Трублаєвська", "Трясило", "Трясун", "Уманець", "Унич", + "Усич", "Федоришина", "Цушко", "Червоній", "Шамрило", "Шевченко", "Шестак", + "Шиндарей", "Шиян", "Шкараба", "Шудрик", "Шумило", "Шупик", "Шухевич", + "Щербак", "Юрчишина", "Юхно", "Ющик", "Ющук", "Яворівська", "Ялова", + "Ялюк", "Янюк", "Ярмак", "Яцишина", "Яцьків", "Ящук", +}); + +const auto ukrainianMalePrefixes = std::to_array({"Пан"}); + +const auto ukrainianFemalePrefixes = std::to_array({"Пані"}); + +const NameFormats ukrainianNameFormats{{ + {"{firstName} {lastName}", 1}, + {"{lastName} {firstName}", 1}, +}}; + +const PeopleNames ukrainianPeopleNames{ + {ukrainianMaleFirstNames, ukrainianMalesLastNames, ukrainianMalePrefixes, {}}, + {ukrainianFemaleFirstNames, ukrainianFemaleLastNames, ukrainianFemalePrefixes, {}}, + ukrainianNameFormats}; // USA -extern const NameFormats usaNameFormats; -extern const PeopleNames usaPeopleNames; +const NameFormats usaNameFormats{{{"{firstName} {lastName}", 49}, + {"{firstName} {lastName}-{lastName}", 7}, + {"{prefix} {firstName} {lastName}", 7}, + {"{firstName} {lastName} {suffix}", 7}, + {"{prefix} {firstName} {lastName} {suffix}", 1}}}; + +const PeopleNames usaPeopleNames{{englishMaleFirstNames, englishLastNames, englishMalePrefixes, englishSuffixes}, + {englishFemaleFirstNames, englishLastNames, englishFemalePrefixes, englishSuffixes}, + usaNameFormats}; // Vietnam -extern const std::array vietnameseMaleFirstNames; -extern const std::array vietnameseFemaleFirstNames; -extern const std::array vietnameseLastNames; -extern const NameFormats vietnameseNameFormats; -extern const PeopleNames vietnamesePeopleNames; +const auto vietnameseMaleFirstNames = std::to_array({ + "An Cơ", "An Khang", "Ân Lai", "An Nam", "An Nguyên", "An Ninh", "An Tâm", + "Ân Thiện", "An Tường", "Anh Đức", "Anh Dũng", "Anh Duy", "Anh Hoàng", "Anh Khải", + "Anh Khoa", "Anh Khôi", "Anh Minh", "Anh Quân", "Anh Quốc", "Anh Sơn", "Anh Tài", + "Anh Thái", "Anh Tú", "Anh Tuấn", "Anh Tùng", "Anh Việt", "Anh Vũ", "Bá Cường", + "Bá Kỳ", "Bá Lộc", "Bá Long", "Bá Phước", "Bá Thành", "Bá Thiện", "Bá Thịnh", + "Bá Thúc", "Bá Trúc", "Bá Tùng", "Bách Du", "Bách Nhân", "Bằng Sơn", "Bảo An", + "Bảo Bảo", "Bảo Chấn", "Bảo Định", "Bảo Duy", "Bảo Giang", "Bảo Hiển", "Bảo Hoa", + "Bảo Hoàng", "Bảo Huy", "Bảo Huynh", "Bảo Huỳnh", "Bảo Khánh", "Bảo Lâm", "Bảo Long", + "Bảo Pháp", "Bảo Quốc", "Bảo Sơn", "Bảo Thạch", "Bảo Thái", "Bảo Tín", "Bảo Toàn", + "Bích Nhã", "Bình An", "Bình Dân", "Bình Đạt", "Bình Định", "Bình Dương", "Bình Hòa", + "Bình Minh", "Bình Nguyên", "Bình Quân", "Bình Thuận", "Bình Yên", "Bửu Chưởng", "Bửu Diệp", + "Bữu Toại", "Cảnh Tuấn", "Cao Kỳ", "Cao Minh", "Cao Nghiệp", "Cao Nguyên", "Cao Nhân", + "Cao Phong", "Cao Sĩ", "Cao Sơn", "Cao Sỹ", "Cao Thọ", "Cao Tiến", "Cát Tường", + "Cát Uy", "Chấn Hùng", "Chấn Hưng", "Chấn Phong", "Chánh Việt", "Chế Phương", "Chí Anh", + "Chí Bảo", "Chí Công", "Chí Dũng", "Chí Giang", "Chí Hiếu", "Chí Khang", "Chí Khiêm", + "Chí Kiên", "Chí Nam", "Chí Sơn", "Chí Thanh", "Chí Thành", "Chiến Thắng", "Chiêu Minh", + "Chiêu Phong", "Chiêu Quân", "Chính Tâm", "Chính Thuận", "Chính Trực", "Chuẩn Khoa", "Chung Thủy", + "Công Án", "Công Ân", "Công Bằng", "Công Giang", "Công Hải", "Công Hào", "Công Hậu", + "Công Hiếu", "Công Hoán", "Công Lập", "Công Lộc", "Công Luận", "Công Luật", "Công Lý", + "Công Phụng", "Công Sinh", "Công Sơn", "Công Thành", "Công Tráng", "Công Tuấn", "Cường Dũng", + "Cương Nghị", "Cương Quyết", "Cường Thịnh", "Đắc Cường", "Đắc Di", "Đắc Lộ", "Đắc Lực", + "Đắc Thái", "Đắc Thành", "Đắc Trọng", "Đại Dương", "Đại Hành", "Đại Ngọc", "Đại Thống", + "Dân Hiệp", "Dân Khánh", "Đan Quế", "Đan Tâm", "Đăng An", "Đăng Đạt", "Đăng Khánh", + "Đăng Khoa", "Đăng Khương", "Đăng Minh", "Đăng Quang", "Danh Nhân", "Danh Sơn", "Danh Thành", + "Danh Văn", "Đạt Dũng", "Đạt Hòa", "Đình Chiểu", "Đình Chương", "Đình Cường", "Đình Diệu", + "Đình Đôn", "Đình Dương", "Đình Hảo", "Đình Hợp", "Đình Kim", "Đinh Lộc", "Đình Lộc", + "Đình Luận", "Định Lực", "Đình Nam", "Đình Ngân", "Đình Nguyên", "Đình Nhân", "Đình Phú", + "Đình Phúc", "Đình Quảng", "Đình Sang", "Định Siêu", "Đình Thắng", "Đình Thiện", "Đình Toàn", + "Đình Trung", "Đình Tuấn", "Đoàn Tụ", "Đồng Bằng", +}); + +const auto vietnameseFemaleFirstNames = std::to_array({ + "An Bình", "An Di", "An Hạ", "An Hằng", "An Khê", "An Nhiên", "An Nhàn", "Anh Chi", + "Anh Hương", "Anh Mai", "Anh Phương", "Anh Thi", "Anh Thy", "Anh Thơ", "Anh Thư", "Anh Thảo", + "Anh Vũ", "Anh Đào", "Ban Mai", "Bình Minh", "Bình Yên", "Bích Chiêu", "Bích Châu", "Bích Duyên", + "Bích Hiền", "Bích Huệ", "Bích Hà", "Bích Hạnh", "Bích Hải", "Bích Hảo", "Bích Hậu", "Bích Hằng", + "Bích Hồng", "Bích Hợp", "Bích Lam", "Bích Liên", "Bích Loan", "Bích Nga", "Bích Ngà", "Bích Ngân", + "Bích Ngọc", "Bích Như", "Bích Phượng", "Bích Quyên", "Bích Quân", "Bích San", "Bích Thoa", "Bích Thu", + "Bích Thảo", "Bích Thủy", "Bích Trang", "Bích Trâm", "Bích Ty", "Bích Vân", "Bích Điệp", "Bích Đào", + "Băng Băng", "Băng Tâm", "Bạch Cúc", "Bạch Hoa", "Bạch Kim", "Bạch Liên", "Bạch Loan", "Bạch Mai", + "Bạch Quỳnh", "Bạch Trà", "Bạch Tuyết", "Bạch Vân", "Bạch Yến", "Bảo Anh", "Bảo Bình", "Bảo Châu", + "Bảo Huệ", "Bảo Hà", "Bảo Hân", "Bảo Lan", "Bảo Lễ", "Bảo Ngọc", "Bảo Phương", "Bảo Quyên", + "Bảo Quỳnh", "Bảo Thoa", "Bảo Thúy", "Bảo Tiên", "Bảo Trâm", "Bảo Trân", "Bảo Trúc", "Bảo Uyên", + "Bảo Vy", "Bảo Vân", "Bội Linh", "Cam Thảo", "Chi Lan", "Chi Mai", "Chiêu Dương", "Cát Cát", + "Cát Linh", "Cát Ly", "Cát Tiên", "Cát Tường", "Cẩm Hiền", "Cẩm Hường", "Cẩm Hạnh", "Cẩm Linh", + "Cẩm Liên", "Cẩm Ly", "Cẩm Nhi", "Cẩm Nhung", "Cẩm Thúy", "Cẩm Tú", "Cẩm Vân", "Cẩm Yến", + "Di Nhiên", "Diên Vỹ", "Diễm Chi", "Diễm Châu", "Diễm Hương", "Diễm Hạnh", "Diễm Hằng", "Diễm Khuê", + "Diễm Kiều", "Diễm Liên", "Diễm Lộc", "Diễm My", "Diễm Phúc", "Diễm Phương", "Diễm Phước", "Diễm Phượng", + "Diễm Quyên", "Diễm Quỳnh", "Diễm Thúy", "Diễm Thư", "Diễm Thảo", "Diễm Trang", "Diễm Trinh", "Diễm Uyên", + "Diệp Anh", "Diệp Vy", "Diệu Anh", "Diệu Hiền", "Diệu Hoa", "Diệu Huyền", "Diệu Hương", "Diệu Hạnh", + "Diệu Hằng", "Diệu Hồng", "Diệu Lan", "Diệu Linh", "Diệu Loan", "Diệu Nga", "Diệu Ngà", "Diệu Ngọc", + "Diệu Nương", "Diệu Thiện", "Diệu Thúy", "Diệu Vân", "Diệu Ái", "Duy Hạnh", "Duy Mỹ", "Duy Uyên", + "Duyên Hồng", "Duyên My", "Duyên Mỹ", "Duyên Nương", "Dã Lan", "Dã Lâm", "Dã Thảo", "Dạ Hương", + "Dạ Lan", "Dạ Nguyệt", "Dạ Thi", "Dạ Thảo", "Dạ Yến", "Gia Hân", "Gia Khanh", "Gia Linh", + "Gia Nhi", "Gia Quỳnh", "Giang Thanh", "Giang Thiên", "Giao Hưởng", "Giao Kiều", "Giao Linh", "Giáng Ngọc", + "Giáng Tiên", "Giáng Uyên", "Hiếu Giang", "Hiếu Hạnh", "Hiếu Khanh", "Hiếu Minh", "Hiền Chung", "Hiền Hòa", + "Hiền Mai", "Hiền Nhi", "Hiền Nương", "Hiền Thục", "Hiểu Lam", "Hiểu Vân", "Hoa Liên", "Hoa Lý", +}); + +const auto vietnameseLastNames = std::to_array({ + "Phạm", "Nguyễn", "Trần", "Lê", "Lý", "Hoàng", "Phan", "Vũ", "Tăng", + "Đặng", "Bùi", "Đỗ", "Hồ", "Ngô", "Dương", "Đào", "Đoàn", "Vương", + "Trịnh", "Đinh", "Lâm", "Phùng", "Mai", "Tô", "Trương", "Hà", "Huỳnh", +}); + +const NameFormats vietnameseNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames vietnamesePeopleNames{{vietnameseMaleFirstNames, vietnameseLastNames, {}, {}}, + {vietnameseFemaleFirstNames, vietnameseLastNames, {}, {}}, + vietnameseNameFormats}; + +const std::unordered_map PeopleNames{ + {Country::England, englishPeopleNames}, + {Country::France, frenchPeopleNames}, + {Country::Germany, germanPeopleNames}, + {Country::Italy, italianPeopleNames}, + {Country::Poland, polishPeopleNames}, + {Country::Russia, russianPeopleNames}, + {Country::Romania, romanianPeopleNames}, + {Country::India, indianPeopleNames}, + {Country::Finland, finnishPeopleNames}, + {Country::Nepal, nepalesePeopleNames}, + {Country::Spain, spanishPeopleNames}, + {Country::Turkey, turkishPeopleNames}, + {Country::Czech, czechPeopleNames}, + {Country::Slovakia, slovakPeopleNames}, + {Country::Ukraine, ukrainianPeopleNames}, + {Country::Denmark, danishPeopleNames}, + {Country::Sweden, swedishPeopleNames}, + {Country::Usa, usaPeopleNames}, + {Country::Brazil, brazilianPeopleNames}, + {Country::Norway, norwegianPeopleNames}, + {Country::Japan, japanesePeopleNames}, + {Country::Portugal, portuguesePeopleNames}, + {Country::Hungary, hungarianPeopleNames}, + {Country::Croatia, croatianPeopleNames}, + {Country::Greece, greekPeopleNames}, + {Country::Slovenia, slovenianPeopleNames}, + {Country::Austria, austrianPeopleNames}, + {Country::Switzerland, swissPeopleNames}, + {Country::Belgium, belgianPeopleNames}, + {Country::Netherlands, dutchPeopleNames}, + {Country::China, chinesePeopleNames}, + {Country::Korea, koreanPeopleNames}, + {Country::Canada, canadianPeopleNames}, + {Country::Mexico, mexicanPeopleNames}, + {Country::Argentina, argentinianPeopleNames}, + {Country::Australia, australianPeopleNames}, + {Country::Serbia, serbianPeopleNames}, + {Country::Macedonia, macedonianPeopleNames}, + {Country::Latvia, latvianPeopleNames}, + {Country::Ireland, irishPeopleNames}, + {Country::Belarus, belarusianPeopleNames}, + {Country::Estonia, estonianPeopleNames}, + {Country::Albania, albanianPeopleNames}, + {Country::Iran, persianPeopleNames}, + {Country::Bulgaria, bulgarianPeopleNames}, + {Country::Moldova, moldovanPeopleNames}, + {Country::Lithuania, lithuanianPeopleNames}, + {Country::Iceland, icelandicPeopleNames}, + {Country::Palestine, palestinianPeopleNames}, + {Country::Israel, israeliPeopleNames}, + {Country::Vietnam, vietnamesePeopleNames}, + {Country::Monaco, monacanPeopleNames}, + {Country::Bosnia, bosnianPeopleNames}, + {Country::Lebanon, lebanesePeopleNames}, + {Country::Syria, syrianPeopleNames}, + {Country::Malta, maltesePeopleNames}, + {Country::SouthAfrica, southAfricanPeopleNames}, + {Country::Azerbaijan, azerbaijaniPeopleNames}, + {Country::Ghana, ghanaianPeopleNames}, + {Country::Kazakhstan, kazakhPeopleNames}, + {Country::Maldives, maldiviansPeopleNames}, +}; } diff --git a/src/modules/phone/PhoneData.cpp b/src/modules/phone/PhoneData.cpp deleted file mode 100644 index 015353bc..00000000 --- a/src/modules/phone/PhoneData.cpp +++ /dev/null @@ -1,269 +0,0 @@ -#include "PhoneData.h" - -#include -#include - -namespace faker::phone -{ -const std::array areaCodes = { - "+1", "+144", "+20", "+210", "+211", "+212", "+213", "+214", "+215", "+216", "+217", "+218", "+219", "+220", - "+221", "+222", "+223", "+224", "+225", "+226", "+227", "+228", "+229", "+230", "+231", "+232", "+233", "+234", - "+235", "+236", "+237", "+238", "+239", "+240", "+241", "+242", "+243", "+244", "+245", "+246", "+247", "+248", - "+249", "+250", "+251", "+252", "+253", "+254", "+255", "+256", "+257", "+258", "+259", "+260", "+261", "+262", - "+263", "+264", "+265", "+266", "+267", "+268", "+269", "+27", "+28", "+290", "+291", "+292", "+293", "+294", - "+295", "+296", "+297", "+298", "+299", "+30", "+31", "+32", "+33", "+34", "+350", "+351", "+352", "+353", - "+354", "+355", "+356", "+357", "+358", "+359", "+36", "+370", "+371", "+373", "+374", "+375", "+377", "+38", - "+380", "+381", "+385", "+387", "+389", "+39", "+40", "+41", "+42", "+43", "+44", "+45", "+46", "+47", - "+48", "+49", "+500", "+501", "+502", "+503", "+504", "+505", "+506", "+507", "+508", "+509", "+51", "+52", - "+53", "+54", "+55", "+56", "+57", "+58", "+590", "+591", "+592", "+593", "+594", "+595", "+596", "+597", - "+598", "+599", "+60", "+61", "+62", "+63", "+64", "+65", "+66", "+670", "+671", "+672", "+673", "+674", - "+675", "+676", "+677", "+678", "+679", "+680", "+681", "+682", "+683", "+684", "+685", "+686", "+687", "+688", - "+689", "+690", "+691", "+692", "+7", "+808", "+809", "+81", "+82", "+84", "+850", "+852", "+853", "+855", - "+856", "+86", "+871", "+872", "+873", "+874", "+880", "+886", "+90 ", "+91", "+92", "+93", "+94", "+95", - "+960", "+961", "+962", "+963", "+964", "+965", "+966", "+967", "+968", "+969", "+971", "+972", "+973", "+974", - "+975", "+976", "+977", "+98", "+993", "+994", "+995"}; - -const std::array PhonePlatforms = {"Android OS", "Palm OS", "Symbian", - "Tizen", "Windows Phone", "iOS"}; - -const std::array PhoneModelNames = { - "Google Pixel 4", "Google Pixel 6", "Huawei P50", "Motorola Edge 20", "OnePlus 9", - "Oppo Find X3", "Samsung Galaxy S22", "Samsung Galaxy S9", "Sony Xperia 1 III", "Xiaomi Mi 11", - "iPhone 13", "iPhone 13", "iPhone 14", "iPhone 15", "iPhone X"}; - -const std::array PhoneManufacturers = {"Apple", "Google", "Huawei", "Motorola", "OnePlus", - "Oppo", "Samsung", "Sony", "Xiaomi"}; - -const std::array phoneNumbers = { - "!##-###-###", // Default - "+93 (###) ###-####", // Afghanistan - "+358 (###) ###-####", // Aland Islands - "+355 (###) ###-####", // Albania - "+213 (###) ###-####", // Algeria - "+1 (###) ###-####", // American Samoa - "+376 (###) ###-####", // Andorra - "+244 (###) ###-####", // Angola - "+1 (###) ###-####", // Anguilla - "+1 (###) ###-####", // Antigua and Barbuda - "+54 (###) ###-####", // Argentina - "+374 (###) ###-####", // Armenia - "+297 (###) ###-####", // Aruba - "+61 (#) #### ####", // Australia - "+43 (###) #######", // Austria - "+994 (###) ###-###", // Azerbaijan - "+1 (###) ###-####", // Bahamas - "+973 (###) #### ####", // Bahrain - "+880 (###) ###-####", // Bangladesh - "+1 (###) ###-####", // Barbados - "+375 (###) ###-##-##", // Belarus - "+32 (###) ## ## ##", // Belgium - "+501 (###) ####", // Belize - "+229 (##) ##-####", // Benin - "+1 (###) ###-####", // Bermuda - "+975 (###) ####", // Bhutan - "+591 (#) ###-####", // Bolivia - "+387 (##) ###-###", // Bosnia and Herzegovina - "+267 (##) ###-###", // Botswana - "+55 (##) #####-####", // Brazil - "+673 (###) ####", // Brunei Darussalam - "+359 (#) ###-###", // Bulgaria - "+226 (##) ##-####", // Burkina Faso - "+257 (##) ##-####", // Burundi - "+855 (##) ###-###", // Cambodia - "+237 (#) ## ## ## ##", // Cameroon - "+1 (###) ###-####", // Canada - "+238 (###) ##-##", // Cape Verde - "+1 (###) ###-####", // Cayman Islands - "+236 (##) ##-####", // Central African Republic - "+235 (##) ##-##-##", // Chad - "+56 (#) #### ####", // Chile - "+86 (###) #### ####", // China - "+57 (###) ###-####", // Colombia - "+269 (##) ##-##", // Comoros - "+242 (###) ###-####", // Congo - "+682 (###) ####", // Cook Islands - "+506 (###) ####-####", // Costa Rica - "+385 (##) ###-###", // Croatia - "+53 (#) ###-####", // Cuba - "+599 (###) ####", // Curacao - "+357 (##) ######", // Cyprus - "+420 (###) ### ###", // Czechia - "+243 (###) ###-###", // Democratic Republic of the Congo - "+45 (##) ## ## ##", // Denmark - "+253 (##) ##-##-##", // Djibouti - "+1 (###) ###-####", // Dominica - "+1 (###) ###-####", // Dominican Republic - "+593 (#) ###-####", // Ecuador - "+20 (##) #### ####", // Egypt - "+503 (####) ####", // El Salvador - "+240 (##) ###-####", // Equatorial Guinea - "+291 (##) ###-###", // Eritrea - "+372 (##) ###-####", // Estonia - "+268 (##) ###-###", // Eswatini - "+251 (###) ###-####", // Ethiopia - "+298 (###) ###", // Faroe Islands - "+679 (#) ###-####", // Fiji - "+358 (##) #### ###", // Finland - "+33 (#) ## ## ## ##", // France - "+594 (####) ####", // French Guiana - "+689 (##) ##-##-##", // French Polynesia - "+241 (#) ## ## ##", // Gabon - "+220 (###) ####", // Gambia - "+995 (###) #### ##", // Georgia - "+49 (###) #######", // Germany - "+233 (#) ###-####", // Ghana - "+350 (###) #####", // Gibraltar - "+30 (###) ###-####", // Greece - "+299 (##) ##-##-##", // Greenland - "+1 (###) ###-####", // Grenada - "+590 (###) ##-##-##", // Guadeloupe - "+1 (###) ###-####", // Guam - "+502 (#) #### ####", // Guatemala - "+44 (###) #### ###", // Guernsey - "+224 (#) ###-####", // Guinea - "+245 (##) ##-##-##", // Guinea-Bissau - "+592 (###) ####", // Guyana - "+509 (#) ####-####", // Haiti - "+379 (###) ########", // Holy See (Vatican City State) - "+504 (####) ####", // Honduras - "+852 (####) ####", // Hong Kong - "+36 (##) ###-###", // Hungary - "+354 (###) ####", // Iceland - "+91 (###) ###-####", // India - "+62 (###) ###-####", // Indonesia - "+98 (###) ###-####", // Iran - "+964 (###) ###-####", // Iraq - "+353 (#) ###-####", // Ireland - "+44 (###) #### ###", // Isle of Man - "+972 (##) ###-####", // Israel - "+39 (###) ###-####", // Italy - "+1 (###) ###-####", // Jamaica - "+81 (#) ###-####", // Japan - "+44 (###) #### ###", // Jersey - "+962 (#) #### ####", // Jordan - "+82 (##) #### ####", // Republic of Korea - "+965 (###) #####", // Kuwait - "+996 (###) ###-###", // Kyrgyz Republic - "+371 (###) ###-###", // Latvia - "+961 (#) ###-###", // Lebanon - "+266 (###) ####", // Lesotho - "+231 (##) ###-####", // Liberia - "+218 (##) ###-###", // Libyan Arab Jamahiriya - "+423 (###) ###-####", // Liechtenstein - "+370 (###) #####", // Lithuania - "+352 (#) ###-###", // Luxembourg - "+853 (####) ####", // Macao - "+261 (##) ##-###-##", // Madagascar - "+265 (##) ###-####", // Malawi - "+60 (##) ###-####", // Malaysia - "+960 (###) ####", // Maldives - "+223 (##) ##-##-##", // Mali - "+356 (###) ####", // Malta - "+692 (###) ####", // Marshall Islands - "+596 (###) ##-##-##", // Martinique - "+222 (##) ##-####", // Mauritania - "+230 (###) ####", // Mauritius - "+262 (##) ##-##-##", // Mayotte - "+52 (###) ###-####", // Mexico - "+691 (###) ####", // Micronesia - "+373 (##) ###-###", // Moldova - "+377 (##) ## ## ##", // Monaco - "+976 (#) ##-####", // Mongolia - "+382 (##) ###-###", // Montenegro - "+1 (###) ###-####", // Montserrat - "+212 (##) ##-######", // Morocco - "+258 (##) ###-####", // Mozambique - "+95 (##) ###-####", // Myanmar - "+264 (##) ###-####", // Namibia - "+674 (###) ####", // Nauru - "+977 (###) ###-####", // Nepal - "+31 (#) ### ####", // Netherlands - "+687 (##) ##-##-##", // New Caledonia - "+64 (##) ###-####", // New Zealand - "+505 (###) ####", // Nicaragua - "+227 (##) ##-##-##", // Niger - "+234 (###) ###-####", // Nigeria - "+683 (###) ####", // Niue - "+389 (##) ###-###", // North Macedonia - "+1 (###) ###-####", // Northern Mariana Islands - "+47 (##) ##-##-##", // Norway - "+968 (###) #### ####", // Oman - "+92 (###) #######", // Pakistan - "+680 (###) ####", // Palau - "+970 (###) ###-####", // Palestine - "+507 (###) ###-####", // Panama - "+675 (###) ####", // Papua New Guinea - "+595 (###) ###-###", // Paraguay - "+51 (#) ###-####", // Peru - "+63 (###) ###-####", // Philippines - "+48 (##) ###-##-##", // Poland - "+351 (###) ###-###", // Portugal - "+1 (###) ###-####", // Puerto Rico - "+974 (###) #### ####", // Qatar - "+262 (##) ##-##-##", // Reunion - "+40 (###) ###-####", // Romania - "+7 (###) ###-##-##", // Russian Federation - "+250 (###) ###-###", // Rwanda - "+590 (###) ##-##-##", // Saint Barthelemy - "+290 (###) ####", // Saint Helena - "+1 (###) ###-####", // Saint Kitts and Nevis - "+1 (###) ###-####", // Saint Lucia - "+590 (###) ##-##-##", // Saint Martin - "+508 (###) ####", // Saint Pierre and Miquelon - "+1 (###) ###-####", // Saint Vincent and the Grenadines - "+685 (###) ####", // Samoa - "+378 (###) ######", // San Marino - "+239 (###) ####", // Sao Tome and Principe - "+966 (###) ###-####", // Saudi Arabia - "+221 (###) ###-####", // Senegal - "+381 (##) ###-####", // Serbia - "+248 (#) ###-###", // Seychelles - "+232 (##) ###-###", // Sierra Leone - "+65 (####) ####", // Singapore - "+1 (###) ###-####", // Sint Maarten - "+421 (###) ###-###", // Slovakia - "+386 (##) ###-###", // Slovenia - "+677 (###) ####", // Solomon Islands - "+252 (#) ###-####", // Somalia - "+27 (##) ###-####", // South Africa - "+211 (##) ###-####", // South Sudan - "+34 (###) ###-###", // Spain - "+94 (###) ###-####", // Sri Lanka - "+249 (###) ###-####", // Sudan - "+597 (###) ####", // Suriname - "+47 (##) ##-##-##", // Svalbard & Jan Mayen Islands - "+46 (###) ### ## ##", // Sweden - "+41 (##) ### ## ##", // Switzerland - "+963 (##) ###-####", // Syrian Arab Republic - "+886 (#) ####-###", // Taiwan - "+992 (###) ###-###", // Tajikistan - "+255 (##) ###-####", // Tanzania - "+66 (#) ###-####", // Thailand - "+670 (###) ####", // Timor-Leste - "+228 (##) ##-##-##", // Togo - "+676 (##) ####", // Tonga - "+1 (###) ###-####", // Trinidad and Tobago - "+216 (##) ###-###", // Tunisia - "+90 (###) ###-####", // Turkey - "+993 (#) ###-####", // Turkmenistan - "+1 (###) ###-####", // Turks and Caicos Islands - "+688 (###) ####", // Tuvalu - "+256 (###) ###-###", // Uganda - "+380 (##) ###-###", // Ukraine - "+971 (###) ###-####", // United Arab Emirates - "+44 (###) #### ###", // United Kingdom - "+1 (###) ###-####", // United States of America - "+598 (#) #### ####", // Uruguay - "+998 (##) ###-####", // Uzbekistan - "+678 (###) ####", // Vanuatu - "+58 (###) ###-####", // Venezuela - "+84 (###) ###-####", // Vietnam - "+1 (###) ###-####", // Virgin Islands, British - "+1 (###) ###-####", // Virgin Islands, U.S. - "+681 (##) ##-##-##", // Wallis and Futuna - "+212 (###) ####", // Western Sahara - "+967 (###) ###-####", // Yemen - "+260 (###) ###-####", // Zambia - "+263 (###) ####" // Zimbabwe -}; -} diff --git a/src/modules/phone/PhoneData.h b/src/modules/phone/PhoneData.h index 3cc572e2..624dc7a4 100644 --- a/src/modules/phone/PhoneData.h +++ b/src/modules/phone/PhoneData.h @@ -6,9 +6,272 @@ namespace faker::phone { -extern const std::array areaCodes; -extern const std::array PhonePlatforms; -extern const std::array PhoneModelNames; -extern const std::array PhoneManufacturers; -extern const std::array phoneNumbers; +const auto areaCodes = std::to_array({ + "+1", "+144", "+20", "+210", "+211", "+212", "+213", "+214", "+215", "+216", "+217", "+218", "+219", "+220", + "+221", "+222", "+223", "+224", "+225", "+226", "+227", "+228", "+229", "+230", "+231", "+232", "+233", "+234", + "+235", "+236", "+237", "+238", "+239", "+240", "+241", "+242", "+243", "+244", "+245", "+246", "+247", "+248", + "+249", "+250", "+251", "+252", "+253", "+254", "+255", "+256", "+257", "+258", "+259", "+260", "+261", "+262", + "+263", "+264", "+265", "+266", "+267", "+268", "+269", "+27", "+28", "+290", "+291", "+292", "+293", "+294", + "+295", "+296", "+297", "+298", "+299", "+30", "+31", "+32", "+33", "+34", "+350", "+351", "+352", "+353", + "+354", "+355", "+356", "+357", "+358", "+359", "+36", "+370", "+371", "+373", "+374", "+375", "+377", "+38", + "+380", "+381", "+385", "+387", "+389", "+39", "+40", "+41", "+42", "+43", "+44", "+45", "+46", "+47", + "+48", "+49", "+500", "+501", "+502", "+503", "+504", "+505", "+506", "+507", "+508", "+509", "+51", "+52", + "+53", "+54", "+55", "+56", "+57", "+58", "+590", "+591", "+592", "+593", "+594", "+595", "+596", "+597", + "+598", "+599", "+60", "+61", "+62", "+63", "+64", "+65", "+66", "+670", "+671", "+672", "+673", "+674", + "+675", "+676", "+677", "+678", "+679", "+680", "+681", "+682", "+683", "+684", "+685", "+686", "+687", "+688", + "+689", "+690", "+691", "+692", "+7", "+808", "+809", "+81", "+82", "+84", "+850", "+852", "+853", "+855", + "+856", "+86", "+871", "+872", "+873", "+874", "+880", "+886", "+90 ", "+91", "+92", "+93", "+94", "+95", + "+960", "+961", "+962", "+963", "+964", "+965", "+966", "+967", "+968", "+969", "+971", "+972", "+973", "+974", + "+975", "+976", "+977", "+98", "+993", "+994", "+995", +}); + +const auto PhonePlatforms = std::to_array({ + "Android OS", "Palm OS", "Symbian", + "Tizen", "Windows Phone", "iOS", +}); + +const auto PhoneModelNames = std::to_array({ + "Google Pixel 4", "Google Pixel 6", "Huawei P50", "Motorola Edge 20", "OnePlus 9", + "Oppo Find X3", "Samsung Galaxy S22", "Samsung Galaxy S9", "Sony Xperia 1 III", "Xiaomi Mi 11", + "iPhone 13", "iPhone 13", "iPhone 14", "iPhone 15", "iPhone X", +}); + +const auto PhoneManufacturers = std::to_array({ + "Apple", "Google", "Huawei", "Motorola", "OnePlus", + "Oppo", "Samsung", "Sony", "Xiaomi", +}); + +const auto phoneNumbers = std::to_array({ + "!##-###-###", // Default + "+93 (###) ###-####", // Afghanistan + "+358 (###) ###-####", // Aland Islands + "+355 (###) ###-####", // Albania + "+213 (###) ###-####", // Algeria + "+1 (###) ###-####", // American Samoa + "+376 (###) ###-####", // Andorra + "+244 (###) ###-####", // Angola + "+1 (###) ###-####", // Anguilla + "+1 (###) ###-####", // Antigua and Barbuda + "+54 (###) ###-####", // Argentina + "+374 (###) ###-####", // Armenia + "+297 (###) ###-####", // Aruba + "+61 (#) #### ####", // Australia + "+43 (###) #######", // Austria + "+994 (###) ###-###", // Azerbaijan + "+1 (###) ###-####", // Bahamas + "+973 (###) #### ####", // Bahrain + "+880 (###) ###-####", // Bangladesh + "+1 (###) ###-####", // Barbados + "+375 (###) ###-##-##", // Belarus + "+32 (###) ## ## ##", // Belgium + "+501 (###) ####", // Belize + "+229 (##) ##-####", // Benin + "+1 (###) ###-####", // Bermuda + "+975 (###) ####", // Bhutan + "+591 (#) ###-####", // Bolivia + "+387 (##) ###-###", // Bosnia and Herzegovina + "+267 (##) ###-###", // Botswana + "+55 (##) #####-####", // Brazil + "+673 (###) ####", // Brunei Darussalam + "+359 (#) ###-###", // Bulgaria + "+226 (##) ##-####", // Burkina Faso + "+257 (##) ##-####", // Burundi + "+855 (##) ###-###", // Cambodia + "+237 (#) ## ## ## ##", // Cameroon + "+1 (###) ###-####", // Canada + "+238 (###) ##-##", // Cape Verde + "+1 (###) ###-####", // Cayman Islands + "+236 (##) ##-####", // Central African Republic + "+235 (##) ##-##-##", // Chad + "+56 (#) #### ####", // Chile + "+86 (###) #### ####", // China + "+57 (###) ###-####", // Colombia + "+269 (##) ##-##", // Comoros + "+242 (###) ###-####", // Congo + "+682 (###) ####", // Cook Islands + "+506 (###) ####-####", // Costa Rica + "+385 (##) ###-###", // Croatia + "+53 (#) ###-####", // Cuba + "+599 (###) ####", // Curacao + "+357 (##) ######", // Cyprus + "+420 (###) ### ###", // Czechia + "+243 (###) ###-###", // Democratic Republic of the Congo + "+45 (##) ## ## ##", // Denmark + "+253 (##) ##-##-##", // Djibouti + "+1 (###) ###-####", // Dominica + "+1 (###) ###-####", // Dominican Republic + "+593 (#) ###-####", // Ecuador + "+20 (##) #### ####", // Egypt + "+503 (####) ####", // El Salvador + "+240 (##) ###-####", // Equatorial Guinea + "+291 (##) ###-###", // Eritrea + "+372 (##) ###-####", // Estonia + "+268 (##) ###-###", // Eswatini + "+251 (###) ###-####", // Ethiopia + "+298 (###) ###", // Faroe Islands + "+679 (#) ###-####", // Fiji + "+358 (##) #### ###", // Finland + "+33 (#) ## ## ## ##", // France + "+594 (####) ####", // French Guiana + "+689 (##) ##-##-##", // French Polynesia + "+241 (#) ## ## ##", // Gabon + "+220 (###) ####", // Gambia + "+995 (###) #### ##", // Georgia + "+49 (###) #######", // Germany + "+233 (#) ###-####", // Ghana + "+350 (###) #####", // Gibraltar + "+30 (###) ###-####", // Greece + "+299 (##) ##-##-##", // Greenland + "+1 (###) ###-####", // Grenada + "+590 (###) ##-##-##", // Guadeloupe + "+1 (###) ###-####", // Guam + "+502 (#) #### ####", // Guatemala + "+44 (###) #### ###", // Guernsey + "+224 (#) ###-####", // Guinea + "+245 (##) ##-##-##", // Guinea-Bissau + "+592 (###) ####", // Guyana + "+509 (#) ####-####", // Haiti + "+379 (###) ########", // Holy See (Vatican City State) + "+504 (####) ####", // Honduras + "+852 (####) ####", // Hong Kong + "+36 (##) ###-###", // Hungary + "+354 (###) ####", // Iceland + "+91 (###) ###-####", // India + "+62 (###) ###-####", // Indonesia + "+98 (###) ###-####", // Iran + "+964 (###) ###-####", // Iraq + "+353 (#) ###-####", // Ireland + "+44 (###) #### ###", // Isle of Man + "+972 (##) ###-####", // Israel + "+39 (###) ###-####", // Italy + "+1 (###) ###-####", // Jamaica + "+81 (#) ###-####", // Japan + "+44 (###) #### ###", // Jersey + "+962 (#) #### ####", // Jordan + "+82 (##) #### ####", // Republic of Korea + "+965 (###) #####", // Kuwait + "+996 (###) ###-###", // Kyrgyz Republic + "+371 (###) ###-###", // Latvia + "+961 (#) ###-###", // Lebanon + "+266 (###) ####", // Lesotho + "+231 (##) ###-####", // Liberia + "+218 (##) ###-###", // Libyan Arab Jamahiriya + "+423 (###) ###-####", // Liechtenstein + "+370 (###) #####", // Lithuania + "+352 (#) ###-###", // Luxembourg + "+853 (####) ####", // Macao + "+261 (##) ##-###-##", // Madagascar + "+265 (##) ###-####", // Malawi + "+60 (##) ###-####", // Malaysia + "+960 (###) ####", // Maldives + "+223 (##) ##-##-##", // Mali + "+356 (###) ####", // Malta + "+692 (###) ####", // Marshall Islands + "+596 (###) ##-##-##", // Martinique + "+222 (##) ##-####", // Mauritania + "+230 (###) ####", // Mauritius + "+262 (##) ##-##-##", // Mayotte + "+52 (###) ###-####", // Mexico + "+691 (###) ####", // Micronesia + "+373 (##) ###-###", // Moldova + "+377 (##) ## ## ##", // Monaco + "+976 (#) ##-####", // Mongolia + "+382 (##) ###-###", // Montenegro + "+1 (###) ###-####", // Montserrat + "+212 (##) ##-######", // Morocco + "+258 (##) ###-####", // Mozambique + "+95 (##) ###-####", // Myanmar + "+264 (##) ###-####", // Namibia + "+674 (###) ####", // Nauru + "+977 (###) ###-####", // Nepal + "+31 (#) ### ####", // Netherlands + "+687 (##) ##-##-##", // New Caledonia + "+64 (##) ###-####", // New Zealand + "+505 (###) ####", // Nicaragua + "+227 (##) ##-##-##", // Niger + "+234 (###) ###-####", // Nigeria + "+683 (###) ####", // Niue + "+389 (##) ###-###", // North Macedonia + "+1 (###) ###-####", // Northern Mariana Islands + "+47 (##) ##-##-##", // Norway + "+968 (###) #### ####", // Oman + "+92 (###) #######", // Pakistan + "+680 (###) ####", // Palau + "+970 (###) ###-####", // Palestine + "+507 (###) ###-####", // Panama + "+675 (###) ####", // Papua New Guinea + "+595 (###) ###-###", // Paraguay + "+51 (#) ###-####", // Peru + "+63 (###) ###-####", // Philippines + "+48 (##) ###-##-##", // Poland + "+351 (###) ###-###", // Portugal + "+1 (###) ###-####", // Puerto Rico + "+974 (###) #### ####", // Qatar + "+262 (##) ##-##-##", // Reunion + "+40 (###) ###-####", // Romania + "+7 (###) ###-##-##", // Russian Federation + "+250 (###) ###-###", // Rwanda + "+590 (###) ##-##-##", // Saint Barthelemy + "+290 (###) ####", // Saint Helena + "+1 (###) ###-####", // Saint Kitts and Nevis + "+1 (###) ###-####", // Saint Lucia + "+590 (###) ##-##-##", // Saint Martin + "+508 (###) ####", // Saint Pierre and Miquelon + "+1 (###) ###-####", // Saint Vincent and the Grenadines + "+685 (###) ####", // Samoa + "+378 (###) ######", // San Marino + "+239 (###) ####", // Sao Tome and Principe + "+966 (###) ###-####", // Saudi Arabia + "+221 (###) ###-####", // Senegal + "+381 (##) ###-####", // Serbia + "+248 (#) ###-###", // Seychelles + "+232 (##) ###-###", // Sierra Leone + "+65 (####) ####", // Singapore + "+1 (###) ###-####", // Sint Maarten + "+421 (###) ###-###", // Slovakia + "+386 (##) ###-###", // Slovenia + "+677 (###) ####", // Solomon Islands + "+252 (#) ###-####", // Somalia + "+27 (##) ###-####", // South Africa + "+211 (##) ###-####", // South Sudan + "+34 (###) ###-###", // Spain + "+94 (###) ###-####", // Sri Lanka + "+249 (###) ###-####", // Sudan + "+597 (###) ####", // Suriname + "+47 (##) ##-##-##", // Svalbard & Jan Mayen Islands + "+46 (###) ### ## ##", // Sweden + "+41 (##) ### ## ##", // Switzerland + "+963 (##) ###-####", // Syrian Arab Republic + "+886 (#) ####-###", // Taiwan + "+992 (###) ###-###", // Tajikistan + "+255 (##) ###-####", // Tanzania + "+66 (#) ###-####", // Thailand + "+670 (###) ####", // Timor-Leste + "+228 (##) ##-##-##", // Togo + "+676 (##) ####", // Tonga + "+1 (###) ###-####", // Trinidad and Tobago + "+216 (##) ###-###", // Tunisia + "+90 (###) ###-####", // Turkey + "+993 (#) ###-####", // Turkmenistan + "+1 (###) ###-####", // Turks and Caicos Islands + "+688 (###) ####", // Tuvalu + "+256 (###) ###-###", // Uganda + "+380 (##) ###-###", // Ukraine + "+971 (###) ###-####", // United Arab Emirates + "+44 (###) #### ###", // United Kingdom + "+1 (###) ###-####", // United States of America + "+598 (#) #### ####", // Uruguay + "+998 (##) ###-####", // Uzbekistan + "+678 (###) ####", // Vanuatu + "+58 (###) ###-####", // Venezuela + "+84 (###) ###-####", // Vietnam + "+1 (###) ###-####", // Virgin Islands, British + "+1 (###) ###-####", // Virgin Islands, U.S. + "+681 (##) ##-##-##", // Wallis and Futuna + "+212 (###) ####", // Western Sahara + "+967 (###) ###-####", // Yemen + "+260 (###) ###-####", // Zambia + "+263 (###) ####" // Zimbabwe +}); + } diff --git a/src/modules/plant/PlantData.cpp b/src/modules/plant/PlantData.cpp deleted file mode 100644 index 40457667..00000000 --- a/src/modules/plant/PlantData.cpp +++ /dev/null @@ -1,525 +0,0 @@ -#include "PlantData.h" - -#include -#include - -namespace faker -{ -const std::array trees = { - "Oak", "Maple", "Pine", "Birch", "Willow", "Cherry Blossom", - "Cypress", "Palm", "Redwood", "Dogwood", "Ash", "Cedar", - "Fir", "Poplar", "Beech", "Eucalyptus", "Juniper", "Sycamore", - "Hemlock", "Spruce", "Mango", "Apple", "Orange", "Lemon", - "Avocado", "Almond", "Walnut", "Chestnut", "Bamboo", "Papaya", - "Peach", "Pineapple", "Banana", "Acacia", "Hickory", "Cottonwood", - "Baobab", "Catalpa", "Ginkgo", "Chestnut Oak", "Black Walnut", "Japanese Maple", - "Crape Myrtle", "Kapok", "Mimosa", "Linden", "Tamarind"}; - -const std::array flowers = {"Rose", - "Chrysanthemum", - "Daisy", - "Jasmine", - "Gerbera", - "Carnation", - "Poppy", - "Tulip", - "Lily", - "Lotus", - "Hibiscus", - "Peony", - "Sunflower", - "Lilac", - "Aster", - "Dandelion", - "Marigold", - "Dahlia", - "Lamium", - "Datura", - "Cosmos", - "Broom", - "Columbine", - "Cassia Fistula", - "Water Lily", - "Pansy", - "Plumeria", - "Adenium Obesum", - "Amaranthus", - "Viola", - "Allamanda Cathartica", - "Hedera Helix", - "False indigo", - "Feverfew", - "Dwarf Morning Glory", - "Mogra", - "Bird-of-paradise", - "Palash", - "Phoenix Flower", - "Cherry Blossom", - "Geranium", - "Purple Giant Hyssop", - "Orchid", - "Fiesta Daisy", - "Anthurium", - "Goldenrod", - "Daffodils", - "Gladiolus", - "Feather Flower", - "False Salvia", - "Elderberry", - "Evening Primrose", - "Foxglove", - "Fairy Candles", - "Elephant Ear Flower", - "Moonflower", - "White Baneberry", - "Forget-me-not", - "Pipevine", - "Petunia", - "Zinnia", - "Larkspur", - "Calendula", - "Snapdragon", - "Impatiens", - "Vinca", - "Begonia", - "Cornflower", - "Celosia", - "Primrose", - "Kale", - "African Daisy", - "Peruvian Daylily", - "Dropmore Flower", - "False Spirea", - "Prince’s Feather", - "Graceland", - "Fairy Iris", - "Gentian Violet", - "Gardenia", - "Baby’s breath", - "Lantana", - "Mallow", - "Lavender", - "Queen Anne’s Lace", - "Speedwell", - "Sweet William", - "Black-eyed Susans", - "Hollyhocks", - "Caraway Herb", - "Angelica", - "Canterbury Bells"}; - -const std::array shrubs = {"Abelia", "Actinidia", "Aloe", - "Aralia", "Arctostaphylos", "Aronia", - "Artemisia", "Aucuba", "Berberis", - "Bougainvillea", "Brugmansia", "Buddleja", - "Buxus", "Calia", "Callicarpa", - "Callistemon", "Calluna", "Calycanthus", - "Camellia", "Caragana", "Carpenteria", - "Caryopteris", "Cassiope", "Ceanothus", - "Celastrus", "Ceratostigma", "Cercocarpus", - "Chaenomeles", "Chamaebatiaria", "Chamaedaphne", - "Chimonanthus", "Chionanthus", "Choisya", - "Cistus", "Clerodendrum", "Clethra", - "Clianthus", "Colletia", "Colutea", - "Comptonia", "Cornus", "Corylopsis", - "Cotinus", "Cotoneaster", "Cowania", - "Crataegus", "Crinodendron", "Cytisus", - "Daboecia", "Danae", "Daphne", - "Decaisnea", "Dasiphora", "Dendromecon", - "Desfontainea", "Deutzia", "Diervilla", - "Dipelta", "Dirca", "Dracaena", - "Drimys", "Dryas", "Elaeagnus", - "Embothrium", "Empetrum", "Enkianthus", - "Ephedra", "Epigaea", "Erica", - "Eriobotrya", "Escallonia", "Eucryphia", - "Euonymus", "Exochorda", "Fabiana", - "Fallugia", "Fatsia", "Forsythia", - "Fothergilla", "Franklinia", "Fremontodendron", - "Fuchsia", "Garrya", "Gaultheria", - "Gaylussacia", "Genista", "Gordonia", - "Grevillea", "Griselinia", "Hakea", - "Halesia", "Halimium", "Hamamelis", - "Hebe", "Hedera", "Helianthemum", - "Hibiscus", "Hippophae", "Hoheria", - "Holodiscus", "Hudsonia", "Hydrangea", - "Hypericum", "Hyssopus", "Ilex", - "Illicium", "Indigofera", "Itea", - "Jamesia", "Jasminum", "Juniperus", - "Kalmia", "Kerria", "Kolkwitzia", - "Lagerstroemia", "Lapageria", "Lantana", - "Lavandula", "Lavatera", "Ledum", - "Leitneria", "Lespedeza", "Leptospermum", - "Leucothoe", "Leycesteria", "Ligustrum", - "Lindera", "Linnaea", "Lonicera", - "Lupinus", "Lycium", "Magnolia", - "Mahonia", "Malpighia", "Menispermum", - "Menziesia", "Mespilus", "Microcachrys", - "Myrica", "Myricaria", "Myrtus", - "Neillia", "Nerium", "Olearia", - "Osmanthus", "Pachysandra", "Paeonia", - "Perovskia", "Philadelphus", "Phlomis", - "Photinia", "Physocarpus", "Pieris", - "Pistacia", "Pittosporum", "Plumbago", - "Polygala", "Poncirus", "Prunus", - "Purshia", "Pyracantha", "Quassia", - "Quercus", "Quillaja", "Quintinia", - "Rhamnus", "Rhododendron", "Rhus", - "Ribes", "Romneya", "Rosa", - "Rosmarinus", "Rubus", "Ruta", - "Sabia", "Salix", "Salvia", - "Sambucus", "Santolina", "Sapindus", - "Senecio", "Simmondsia", "Skimmia", - "Smilax", "Sophora", "Sorbaria", - "Spartium", "Spiraea", "Staphylea", - "Stephanandra", "Styrax", "Symphoricarpos", - "Syringa", "Tamarix", "Taxus", - "Telopea", "Thymelaea", "Thymus", - "Trochodendron", "Ulex", "Ungnadia", - "Vaccinium", "Verbena", "Viburnum", - "Vinca", "Viscum", "Weigela", - "Xanthoceras", "Xanthorhiza", "Xylosma", - "Yucca", "Zanthoxylum", "Zauschneria", - "Zenobia", "Ziziphus"}; - -const std::array grasses = {"Rye", - "Miscanthus", - "Oat", - "Sorghum", - "Wheat", - "Maize (Corn)", - "Bamboo", - "Sugarcane", - "Sudan", - "Switchgrass", - "Bahiagrass", - "Pangola", - "Para", - "Guinea", - "Natal", - "Napier", - "Foxtail Millet", - "Barnyard", - "Crab", - "Johnsongrass", - "Vasey", - "Dallis", - "Purpletop", - "Redtop", - "Switchgrass", - "Indiangrass", - "Big Bluestem", - "Little Bluestem", - "Yellow Indiangrass", - "Eastern Gamagrass", - "Side-Oats Grama", - "Blue Grama", - "Plains Love", - "Weeping Love", - "Purple Love", - "Reed Canary", - "Timothy", - "Miscanthus", - "Oat", - "Sorghum", - "Wheat", - "Maize (Corn)", - "Bamboo", - "Sugarcane", - "Sudan", - "Switchgrass", - "Bahiagrass", - "Pangola", - "Para", - "Guinea", - "Velvet", - "Meadow Foxtail", - "Marsh Foxtail", - "Green Foxtail", - "Yellow Foxtail", - "Bottlebrush", - "Muhly", - "Deer", - "Hair", - "Bluejoint Reed", - "Northern Reed", - "Canada Wild Rye", - "Virginia Wild Rye", - "Streambank Wheat", - "Thickspike Wheat", - "Beardless Wheat", - "Intermediate Wheat", - "Siberian Wheat", - "Russian Wildrye", - "Bluebunch Wheat", - "Western Wheat", - "Creeping Wildrye", - "Basin Wildrye", - "Sand Dropseed", - "Sand Love", - "Sandreed", - "Bottlebrush Love", - "Redtop Love", - "Fall Witchgrass", - "Witchgrass", - "Ditch Witchgrass", - "Scribner Panic", - "Hall's Panic", - "Torpedo", - "Browntop Panic", - "Kleingrass", - "Vasey", - "Vine Mesquite", - "Scribner Cane", - "Giant Reed", - "Ravenna", - "Pampas", - "Flowering Reed", - "Fountain", - "Bush Muhly", - "Pink Muhly", - "Muhly"}; - -const std::array ferns = {"Horsetails", - "Ostrich Fern", - "Eagle Fern", - "Leatherleaf Fern", - "Leptochilus pteropus", - "Diplazium esculentum", - "Royal Fern", - "Polypodiophyta", - "Tree Ferns", - "Male Fern", - "Leptosporangiate Ferns", - "Equisetidae", - "Psilotum", - "Licorice Fern", - "Brake Family", - "Angiopteris evecta", - "Pteris vittata", - "Giant Salvinia", - "Polypodiopsida", - "Marattiaceae", - "Ophioglossales", - "Sphaeropteris cooperi", - "Cladoxylopsida", - "Zygopteridales", - "Maidenhair Fern", - "Boston Fern", - "Bird's-nest Fern", - "Staghorn Fern", - "Silver Fern", - "Hart's-tongue Fern", - "Lady Fern", - "Japanese Painted Fern", - "Button Fern", - "Sword Fern", - "Bracken Fern", - "Christmas Fern", - "Cinnamon Fern", - "Polypody Fern", - "Maidenhair Spleenwort", - "Walking Fern", - "Oak Fern", - "Holly Fern", - "Leather Fern", - "Maidenhair Tree Fern", - "Blechnum Fern", - "Wood Fern", - "Sensitive Fern", - "Chain Fern", - "Water Fern", - "Beech Fern", - "Cliff Fern", - "Sword Brake", - "Tassel Fern", - "Hay-Scented Fern", - "Resurrection Fern", - "Adder's-tongue Fern", - "Grape Fern", - "Bladder Fern", - "Brittle Fern", - "Cliff Brake", - "Deer Fern", - "Diamond Fern", - "Filmy Fern", - "Fox Fern", - "Ground Fern", - "Hairy Spleenwort", - "Lace Fern", - "Leathery Polypody", - "Lip Fern", - "Marsh Fern", - "Moonwort", - "Mosquito Fern", - "Parsley Fern", - "Rattlesnake Fern", - "Rock Fern", - "Running Fern", - "Rusty Sword Fern", - "Shield Fern", - "Shuttle Fern", - "Silver Sword Fern", - "Spleenwort", - "Stag Horn Fern", - "Tongue Fern", - "Wooly Fern"}; - -const std::array succulents = {"Cactus", - "Jade Plant", - "Burro's-tail", - "Echeveria elegans", - "Dracaena trifasciata", - "Fasciated haworthia", - "Portulacaria afra", - "Zanzibar Gem", - "Radiator Plants", - "Haworth's aeonium", - "Begonia", - "Cyphostemma", - "Asparagus", - "Crown-of-thorns", - "Moth Orchids", - "Asphodelaceae", - "Jovibarba heuffelii", - "Scadoxus", - "Touch-me-not", - "Strumaria", - "Fouquieria", - "Brighamia", - "Cyrtanthus", - "Nerine", - "Dioscorea", - "Wood Sorrels", - "Zephyrlily", - "Pokeweeds", - "Grass Trees", - "Haemanthus", - "Crinum", - "Hypoxis", - "Medinilla", - "Pancratium", - "Cryptolepis", - "Basella", - "Habranthus", - "Nolana", - "Brunsvigia", - "Lentibulariaceae", - "Empodium", - "Doryanthes", - "Gethyllis", - "Boophone", - "Cussonia", - "Rauhia", - "Anredera", - "Sarcostemma", - "Matelea", - "Ammocharis", - "Hessea", - "Aloe vera", - "Sempervivum (Hen and Chicks)", - "Haworthia", - "Gasteria", - "Sedum (Stonecrop)", - "Othonna (Little Pickles)", - "Graptopetalum (Ghost Plant)", - "Crassula (Jade Plant)", - "Kalanchoe (Flaming Katy, Kalanchoe Blossoms)", - "Aeonium", - "Graptopetalum amethystinum", - "Avonia", - "Dudleya", - "Echeveria agavoides", - "Echeveria blue echeveria", - "Echeveria derenbergii", - "Echeveria gibbiflora", - "Echeveria harmsii", - "Echeveria lilacina", - "Echeveria nodulosa", - "Echeveria peacockii", - "Echeveria pulidonis", - "Echeveria purpusorum", - "Echeveria setosa", - "Echeveria shaviana", - "Echeveria subrigida", - "Espostoa", - "Faucaria", - "Fenestraria", - "Gasteria carinata", - "Gasteria batesiana", - "Gasteria vlokii", - "Graptopetalum paraguayensis", - "Greenovia", - "Haworthia attenuata", - "Haworthia cooperi", - "Haworthia cymbiformis", - "Haworthia fasciata", - "Haworthia graminifolia", - "Haworthia obtusa", - "Haworthia reinwardtii", - "Haworthia truncata", - "Huernia", - "Hylocereus", - "Kleinia", - "Lampranthus", - "Ledebouria", - "Lithops", - "Mammillaria", - "Muiraquilocactus", - "Notocactus", - "Obregonia", - "Opuntia", - "Orbea", - "Pachycereus", - "Parodia", - "Pelecyphora", - "Pereskiopsis", - "Pleiospilos", - "Rebutia", - "Rhodocactus", - "Roseocactus", - "Schlumbergera (Christmas Cactus)", - "Senecio", - "Senecio haworthii", - "Senecio mandraliscae", - "Senecio rowleyanus (String of Pearls)", - "Sinocrassula", - "Sophora", - "Stapelia", - "Stenocactus", - "Strombocactus", - "Thelocactus", - "Titanopsis", - "Trichocereus", - "Turbinicarpus", - "Tylecodon", - "Uebelmannia", - "Wilcoxia", - "Xerosicyos"}; - -const std::array vines = {"Bougainvillea", - "Clematis", - "Wisteria", - "Climbing Hydrangea", - "Rocktrumpet", - "Honeysuckle", - "Creeping Fig", - "Asparagus asparagoides (Sprenger's Asparagus)", - "Carolina Jessamine", - "Chocolate Vine (Akebia quinata)", - "Morning Glory", - "Passionflower", - "Black-eyed Susan Vine (Thunbergia alata)", - "Akebia (Five-leaf Akebia)", - "Trumpet Vine", - "Climbing Rose", - "Firecracker Vine (Mina lobata)", - "Hoya carnosa (Wax Plant)", - "Hyacinth Bean", - "Jasminum nitidum (Winter Jasmine)", - "Swiss Cheese Plant", - "Moonflower", - "Star Jasmine", - "Virginia Creeper"}; - -const std::array plantTypes = {"tree", "flower", "shrub", "grass", "fern", "succulent", "vine"}; -} diff --git a/src/modules/plant/PlantData.h b/src/modules/plant/PlantData.h index 371dd50a..340c54e1 100644 --- a/src/modules/plant/PlantData.h +++ b/src/modules/plant/PlantData.h @@ -5,12 +5,535 @@ namespace faker { -extern const std::array trees; -extern const std::array flowers; -extern const std::array shrubs; -extern const std::array grasses; -extern const std::array ferns; -extern const std::array succulents; -extern const std::array vines; -extern const std::array plantTypes; -} \ No newline at end of file +const auto trees = std::to_array({ + "Oak", "Maple", "Pine", "Birch", "Willow", "Cherry Blossom", + "Cypress", "Palm", "Redwood", "Dogwood", "Ash", "Cedar", + "Fir", "Poplar", "Beech", "Eucalyptus", "Juniper", "Sycamore", + "Hemlock", "Spruce", "Mango", "Apple", "Orange", "Lemon", + "Avocado", "Almond", "Walnut", "Chestnut", "Bamboo", "Papaya", + "Peach", "Pineapple", "Banana", "Acacia", "Hickory", "Cottonwood", + "Baobab", "Catalpa", "Ginkgo", "Chestnut Oak", "Black Walnut", "Japanese Maple", + "Crape Myrtle", "Kapok", "Mimosa", "Linden", "Tamarind", +}); + +const auto flowers = std::to_array({ + "Rose", + "Chrysanthemum", + "Daisy", + "Jasmine", + "Gerbera", + "Carnation", + "Poppy", + "Tulip", + "Lily", + "Lotus", + "Hibiscus", + "Peony", + "Sunflower", + "Lilac", + "Aster", + "Dandelion", + "Marigold", + "Dahlia", + "Lamium", + "Datura", + "Cosmos", + "Broom", + "Columbine", + "Cassia Fistula", + "Water Lily", + "Pansy", + "Plumeria", + "Adenium Obesum", + "Amaranthus", + "Viola", + "Allamanda Cathartica", + "Hedera Helix", + "False indigo", + "Feverfew", + "Dwarf Morning Glory", + "Mogra", + "Bird-of-paradise", + "Palash", + "Phoenix Flower", + "Cherry Blossom", + "Geranium", + "Purple Giant Hyssop", + "Orchid", + "Fiesta Daisy", + "Anthurium", + "Goldenrod", + "Daffodils", + "Gladiolus", + "Feather Flower", + "False Salvia", + "Elderberry", + "Evening Primrose", + "Foxglove", + "Fairy Candles", + "Elephant Ear Flower", + "Moonflower", + "White Baneberry", + "Forget-me-not", + "Pipevine", + "Petunia", + "Zinnia", + "Larkspur", + "Calendula", + "Snapdragon", + "Impatiens", + "Vinca", + "Begonia", + "Cornflower", + "Celosia", + "Primrose", + "Kale", + "African Daisy", + "Peruvian Daylily", + "Dropmore Flower", + "False Spirea", + "Prince’s Feather", + "Graceland", + "Fairy Iris", + "Gentian Violet", + "Gardenia", + "Baby’s breath", + "Lantana", + "Mallow", + "Lavender", + "Queen Anne’s Lace", + "Speedwell", + "Sweet William", + "Black-eyed Susans", + "Hollyhocks", + "Caraway Herb", + "Angelica", + "Canterbury Bells", +}); + +const auto shrubs = std::to_array({ + "Abelia", "Actinidia", "Aloe", + "Aralia", "Arctostaphylos", "Aronia", + "Artemisia", "Aucuba", "Berberis", + "Bougainvillea", "Brugmansia", "Buddleja", + "Buxus", "Calia", "Callicarpa", + "Callistemon", "Calluna", "Calycanthus", + "Camellia", "Caragana", "Carpenteria", + "Caryopteris", "Cassiope", "Ceanothus", + "Celastrus", "Ceratostigma", "Cercocarpus", + "Chaenomeles", "Chamaebatiaria", "Chamaedaphne", + "Chimonanthus", "Chionanthus", "Choisya", + "Cistus", "Clerodendrum", "Clethra", + "Clianthus", "Colletia", "Colutea", + "Comptonia", "Cornus", "Corylopsis", + "Cotinus", "Cotoneaster", "Cowania", + "Crataegus", "Crinodendron", "Cytisus", + "Daboecia", "Danae", "Daphne", + "Decaisnea", "Dasiphora", "Dendromecon", + "Desfontainea", "Deutzia", "Diervilla", + "Dipelta", "Dirca", "Dracaena", + "Drimys", "Dryas", "Elaeagnus", + "Embothrium", "Empetrum", "Enkianthus", + "Ephedra", "Epigaea", "Erica", + "Eriobotrya", "Escallonia", "Eucryphia", + "Euonymus", "Exochorda", "Fabiana", + "Fallugia", "Fatsia", "Forsythia", + "Fothergilla", "Franklinia", "Fremontodendron", + "Fuchsia", "Garrya", "Gaultheria", + "Gaylussacia", "Genista", "Gordonia", + "Grevillea", "Griselinia", "Hakea", + "Halesia", "Halimium", "Hamamelis", + "Hebe", "Hedera", "Helianthemum", + "Hibiscus", "Hippophae", "Hoheria", + "Holodiscus", "Hudsonia", "Hydrangea", + "Hypericum", "Hyssopus", "Ilex", + "Illicium", "Indigofera", "Itea", + "Jamesia", "Jasminum", "Juniperus", + "Kalmia", "Kerria", "Kolkwitzia", + "Lagerstroemia", "Lapageria", "Lantana", + "Lavandula", "Lavatera", "Ledum", + "Leitneria", "Lespedeza", "Leptospermum", + "Leucothoe", "Leycesteria", "Ligustrum", + "Lindera", "Linnaea", "Lonicera", + "Lupinus", "Lycium", "Magnolia", + "Mahonia", "Malpighia", "Menispermum", + "Menziesia", "Mespilus", "Microcachrys", + "Myrica", "Myricaria", "Myrtus", + "Neillia", "Nerium", "Olearia", + "Osmanthus", "Pachysandra", "Paeonia", + "Perovskia", "Philadelphus", "Phlomis", + "Photinia", "Physocarpus", "Pieris", + "Pistacia", "Pittosporum", "Plumbago", + "Polygala", "Poncirus", "Prunus", + "Purshia", "Pyracantha", "Quassia", + "Quercus", "Quillaja", "Quintinia", + "Rhamnus", "Rhododendron", "Rhus", + "Ribes", "Romneya", "Rosa", + "Rosmarinus", "Rubus", "Ruta", + "Sabia", "Salix", "Salvia", + "Sambucus", "Santolina", "Sapindus", + "Senecio", "Simmondsia", "Skimmia", + "Smilax", "Sophora", "Sorbaria", + "Spartium", "Spiraea", "Staphylea", + "Stephanandra", "Styrax", "Symphoricarpos", + "Syringa", "Tamarix", "Taxus", + "Telopea", "Thymelaea", "Thymus", + "Trochodendron", "Ulex", "Ungnadia", + "Vaccinium", "Verbena", "Viburnum", + "Vinca", "Viscum", "Weigela", + "Xanthoceras", "Xanthorhiza", "Xylosma", + "Yucca", "Zanthoxylum", "Zauschneria", + "Zenobia", "Ziziphus" +}); + +const auto grasses = std::to_array({ + "Rye", + "Miscanthus", + "Oat", + "Sorghum", + "Wheat", + "Maize (Corn)", + "Bamboo", + "Sugarcane", + "Sudan", + "Switchgrass", + "Bahiagrass", + "Pangola", + "Para", + "Guinea", + "Natal", + "Napier", + "Foxtail Millet", + "Barnyard", + "Crab", + "Johnsongrass", + "Vasey", + "Dallis", + "Purpletop", + "Redtop", + "Switchgrass", + "Indiangrass", + "Big Bluestem", + "Little Bluestem", + "Yellow Indiangrass", + "Eastern Gamagrass", + "Side-Oats Grama", + "Blue Grama", + "Plains Love", + "Weeping Love", + "Purple Love", + "Reed Canary", + "Timothy", + "Miscanthus", + "Oat", + "Sorghum", + "Wheat", + "Maize (Corn)", + "Bamboo", + "Sugarcane", + "Sudan", + "Switchgrass", + "Bahiagrass", + "Pangola", + "Para", + "Guinea", + "Velvet", + "Meadow Foxtail", + "Marsh Foxtail", + "Green Foxtail", + "Yellow Foxtail", + "Bottlebrush", + "Muhly", + "Deer", + "Hair", + "Bluejoint Reed", + "Northern Reed", + "Canada Wild Rye", + "Virginia Wild Rye", + "Streambank Wheat", + "Thickspike Wheat", + "Beardless Wheat", + "Intermediate Wheat", + "Siberian Wheat", + "Russian Wildrye", + "Bluebunch Wheat", + "Western Wheat", + "Creeping Wildrye", + "Basin Wildrye", + "Sand Dropseed", + "Sand Love", + "Sandreed", + "Bottlebrush Love", + "Redtop Love", + "Fall Witchgrass", + "Witchgrass", + "Ditch Witchgrass", + "Scribner Panic", + "Hall's Panic", + "Torpedo", + "Browntop Panic", + "Kleingrass", + "Vasey", + "Vine Mesquite", + "Scribner Cane", + "Giant Reed", + "Ravenna", + "Pampas", + "Flowering Reed", + "Fountain", + "Bush Muhly", + "Pink Muhly", + "Muhly", +}); + +const auto ferns = std::to_array({ + "Horsetails", + "Ostrich Fern", + "Eagle Fern", + "Leatherleaf Fern", + "Leptochilus pteropus", + "Diplazium esculentum", + "Royal Fern", + "Polypodiophyta", + "Tree Ferns", + "Male Fern", + "Leptosporangiate Ferns", + "Equisetidae", + "Psilotum", + "Licorice Fern", + "Brake Family", + "Angiopteris evecta", + "Pteris vittata", + "Giant Salvinia", + "Polypodiopsida", + "Marattiaceae", + "Ophioglossales", + "Sphaeropteris cooperi", + "Cladoxylopsida", + "Zygopteridales", + "Maidenhair Fern", + "Boston Fern", + "Bird's-nest Fern", + "Staghorn Fern", + "Silver Fern", + "Hart's-tongue Fern", + "Lady Fern", + "Japanese Painted Fern", + "Button Fern", + "Sword Fern", + "Bracken Fern", + "Christmas Fern", + "Cinnamon Fern", + "Polypody Fern", + "Maidenhair Spleenwort", + "Walking Fern", + "Oak Fern", + "Holly Fern", + "Leather Fern", + "Maidenhair Tree Fern", + "Blechnum Fern", + "Wood Fern", + "Sensitive Fern", + "Chain Fern", + "Water Fern", + "Beech Fern", + "Cliff Fern", + "Sword Brake", + "Tassel Fern", + "Hay-Scented Fern", + "Resurrection Fern", + "Adder's-tongue Fern", + "Grape Fern", + "Bladder Fern", + "Brittle Fern", + "Cliff Brake", + "Deer Fern", + "Diamond Fern", + "Filmy Fern", + "Fox Fern", + "Ground Fern", + "Hairy Spleenwort", + "Lace Fern", + "Leathery Polypody", + "Lip Fern", + "Marsh Fern", + "Moonwort", + "Mosquito Fern", + "Parsley Fern", + "Rattlesnake Fern", + "Rock Fern", + "Running Fern", + "Rusty Sword Fern", + "Shield Fern", + "Shuttle Fern", + "Silver Sword Fern", + "Spleenwort", + "Stag Horn Fern", + "Tongue Fern", + "Wooly Fern", +}); + +const auto succulents = std::to_array({ + "Cactus", + "Jade Plant", + "Burro's-tail", + "Echeveria elegans", + "Dracaena trifasciata", + "Fasciated haworthia", + "Portulacaria afra", + "Zanzibar Gem", + "Radiator Plants", + "Haworth's aeonium", + "Begonia", + "Cyphostemma", + "Asparagus", + "Crown-of-thorns", + "Moth Orchids", + "Asphodelaceae", + "Jovibarba heuffelii", + "Scadoxus", + "Touch-me-not", + "Strumaria", + "Fouquieria", + "Brighamia", + "Cyrtanthus", + "Nerine", + "Dioscorea", + "Wood Sorrels", + "Zephyrlily", + "Pokeweeds", + "Grass Trees", + "Haemanthus", + "Crinum", + "Hypoxis", + "Medinilla", + "Pancratium", + "Cryptolepis", + "Basella", + "Habranthus", + "Nolana", + "Brunsvigia", + "Lentibulariaceae", + "Empodium", + "Doryanthes", + "Gethyllis", + "Boophone", + "Cussonia", + "Rauhia", + "Anredera", + "Sarcostemma", + "Matelea", + "Ammocharis", + "Hessea", + "Aloe vera", + "Sempervivum (Hen and Chicks)", + "Haworthia", + "Gasteria", + "Sedum (Stonecrop)", + "Othonna (Little Pickles)", + "Graptopetalum (Ghost Plant)", + "Crassula (Jade Plant)", + "Kalanchoe (Flaming Katy, Kalanchoe Blossoms)", + "Aeonium", + "Graptopetalum amethystinum", + "Avonia", + "Dudleya", + "Echeveria agavoides", + "Echeveria blue echeveria", + "Echeveria derenbergii", + "Echeveria gibbiflora", + "Echeveria harmsii", + "Echeveria lilacina", + "Echeveria nodulosa", + "Echeveria peacockii", + "Echeveria pulidonis", + "Echeveria purpusorum", + "Echeveria setosa", + "Echeveria shaviana", + "Echeveria subrigida", + "Espostoa", + "Faucaria", + "Fenestraria", + "Gasteria carinata", + "Gasteria batesiana", + "Gasteria vlokii", + "Graptopetalum paraguayensis", + "Greenovia", + "Haworthia attenuata", + "Haworthia cooperi", + "Haworthia cymbiformis", + "Haworthia fasciata", + "Haworthia graminifolia", + "Haworthia obtusa", + "Haworthia reinwardtii", + "Haworthia truncata", + "Huernia", + "Hylocereus", + "Kleinia", + "Lampranthus", + "Ledebouria", + "Lithops", + "Mammillaria", + "Muiraquilocactus", + "Notocactus", + "Obregonia", + "Opuntia", + "Orbea", + "Pachycereus", + "Parodia", + "Pelecyphora", + "Pereskiopsis", + "Pleiospilos", + "Rebutia", + "Rhodocactus", + "Roseocactus", + "Schlumbergera (Christmas Cactus)", + "Senecio", + "Senecio haworthii", + "Senecio mandraliscae", + "Senecio rowleyanus (String of Pearls)", + "Sinocrassula", + "Sophora", + "Stapelia", + "Stenocactus", + "Strombocactus", + "Thelocactus", + "Titanopsis", + "Trichocereus", + "Turbinicarpus", + "Tylecodon", + "Uebelmannia", + "Wilcoxia", + "Xerosicyos", +}); + +const auto vines = std::to_array({ + "Bougainvillea", + "Clematis", + "Wisteria", + "Climbing Hydrangea", + "Rocktrumpet", + "Honeysuckle", + "Creeping Fig", + "Asparagus asparagoides (Sprenger's Asparagus)", + "Carolina Jessamine", + "Chocolate Vine (Akebia quinata)", + "Morning Glory", + "Passionflower", + "Black-eyed Susan Vine (Thunbergia alata)", + "Akebia (Five-leaf Akebia)", + "Trumpet Vine", + "Climbing Rose", + "Firecracker Vine (Mina lobata)", + "Hoya carnosa (Wax Plant)", + "Hyacinth Bean", + "Jasminum nitidum (Winter Jasmine)", + "Swiss Cheese Plant", + "Moonflower", + "Star Jasmine", + "Virginia Creeper", +}); + +const auto plantTypes = std::to_array({"tree", "flower", "shrub", "grass", "fern", "succulent", "vine"}); + +} diff --git a/src/modules/science/ScienceData.cpp b/src/modules/science/ScienceData.cpp deleted file mode 100644 index 18a4e772..00000000 --- a/src/modules/science/ScienceData.cpp +++ /dev/null @@ -1,82 +0,0 @@ -#include "ScienceData.h" - -namespace faker -{ - -const std::array chemicalElements = { - {{"Hydrogen", "H", 1}, {"Helium", "He", 2}, {"Lithium", "Li", 3}, {"Beryllium", "Be", 4}, - {"Boron", "B", 5}, {"Carbon", "C", 6}, {"Nitrogen", "N", 7}, {"Oxygen", "O", 8}, - {"Fluorine", "F", 9}, {"Neon", "Ne", 10}, {"Sodium", "Na", 11}, {"Magnesium", "Mg", 12}, - {"Aluminum", "Al", 13}, {"Silicon", "Si", 14}, {"Phosphorus", "P", 15}, {"Sulfur", "S", 16}, - {"Chlorine", "Cl", 17}, {"Argon", "Ar", 18}, {"Potassium", "K", 19}, {"Calcium", "Ca", 20}, - {"Scandium", "Sc", 21}, {"Titanium", "Ti", 22}, {"Vanadium", "V", 23}, {"Chromium", "Cr", 24}, - {"Manganese", "Mn", 25}, {"Iron", "Fe", 26}, {"Cobalt", "Co", 27}, {"Nickel", "Ni", 28}, - {"Copper", "Cu", 29}, {"Zinc", "Zn", 30}, {"Gallium", "Ga", 31}, {"Germanium", "Ge", 32}, - {"Arsenic", "As", 33}, {"Selenium", "Se", 34}, {"Bromine", "Br", 35}, {"Krypton", "Kr", 36}, - {"Rubidium", "Rb", 37}, {"Strontium", "Sr", 38}, {"Yttrium", "Y", 39}, {"Zirconium", "Zr", 40}, - {"Niobium", "Nb", 41}, {"Molybdenum", "Mo", 42}, {"Technetium", "Tc", 43}, {"Ruthenium", "Ru", 44}, - {"Rhodium", "Rh", 45}, {"Palladium", "Pd", 46}, {"Silver", "Ag", 47}, {"Cadmium", "Cd", 48}, - {"Indium", "In", 49}, {"Tin", "Sn", 50}, {"Antimony", "Sb", 51}, {"Tellurium", "Te", 52}, - {"Iodine", "I", 53}, {"Xenon", "Xe", 54}, {"Cesium", "Cs", 55}, {"Barium", "Ba", 56}, - {"Lanthanum", "La", 57}, {"Cerium", "Ce", 58}, {"Praseodymium", "Pr", 59}, {"Neodymium", "Nd", 60}, - {"Promethium", "Pm", 61}, {"Samarium", "Sm", 62}, {"Europium", "Eu", 63}, {"Gadolinium", "Gd", 64}, - {"Terbium", "Tb", 65}, {"Dysprosium", "Dy", 66}, {"Holmium", "Ho", 67}, {"Erbium", "Er", 68}, - {"Thulium", "Tm", 69}, {"Ytterbium", "Yb", 70}, {"Lutetium", "Lu", 71}, {"Hafnium", "Hf", 72}, - {"Tantalum", "Ta", 73}, {"Tungsten", "W", 74}, {"Rhenium", "Re", 75}, {"Osmium", "Os", 76}, - {"Iridium", "Ir", 77}, {"Platinum", "Pt", 78}, {"Gold", "Au", 79}, {"Mercury", "Hg", 80}, - {"Thallium", "Tl", 81}, {"Lead", "Pb", 82}, {"Bismuth", "Bi", 83}, {"Polonium", "Po", 84}, - {"Astatine", "At", 85}, {"Radon", "Rn", 86}, {"Francium", "Fr", 87}, {"Radium", "Ra", 88}, - {"Actinium", "Ac", 89}, {"Thorium", "Th", 90}, {"Protactinium", "Pa", 91}, {"Uranium", "U", 92}, - {"Neptunium", "Np", 93}, {"Plutonium", "Pu", 94}, {"Americium", "Am", 95}, {"Curium", "Cm", 96}, - {"Berkelium", "Bk", 97}, {"Californium", "Cf", 98}, {"Einsteinium", "Es", 99}, {"Fermium", "Fm", 100}, - {"Mendelevium", "Md", 101}, {"Nobelium", "No", 102}, {"Lawrencium", "Lr", 103}, {"Rutherfordium", "Rf", 104}, - {"Dubnium", "Db", 105}, {"Seaborgium", "Sg", 106}, {"Bohrium", "Bh", 107}, {"Hassium", "Hs", 108}, - {"Meitnerium", "Mt", 109}, {"Darmstadtium", "Ds", 110}, {"Roentgenium", "Rg", 111}, {"Copernicium", "Cn", 112}, - {"Nihonium", "Nh", 113}, {"Flerovium", "Fl", 114}, {"Moscovium", "Mc", 115}, {"Livermorium", "Lv", 116}, - {"Tennessine", "Ts", 117}, {"Oganesson", "Og", 118}}}; - -const std::array distanceUnits = {{ - {"Millimeter", "mm", "Length"}, - {"Centimeter", "cm", "Length"}, - {"Meter", "m", "Length"}, - {"Kilometer", "km", "Length"}, - {"Inch", "in", "Length"}, - {"Foot", "ft", "Length"}, - {"Yard", "yd", "Length"}, - {"Mile", "mi", "Length"}, -}}; - -const std::array massUnits = {{ - {"Gram", "g", "Mass"}, - {"Kilogram", "kg", "Mass"}, - {"Milligram", "mg", "Mass"}, - {"Microgram", "μg", "Mass"}, - {"Metric ton", "t", "Mass"}, - {"Ounce", "oz", "Mass"}, - {"Pound", "lb", "Mass"}, - {"Slug", "sl", "Mass"}, -}}; - -const std::array timeUnits = {{ - {"Second", "s", "Time"}, - {"Minute", "min", "Time"}, - {"Hour", "hr", "Time"}, - {"Day", "d", "Time"}, - {"Week", "wk", "Time"}, - {"Month", "mo", "Time"}, - {"Year", "yr", "Time"}, -}}; - -const std::array currentUnits = {{ - {"Ampere", "A", "Electric Current"}, - {"Milliampere", "mA", "Electric Current"}, - {"Microampere", "μA", "Electric Current"}, -}}; - -const std::array temperatureUnits = {{ - {"Celcius", "°C", "Temperature"}, - {"Fahrenheit", "°F", "Temperature"}, - {"Kelvin", "K", "Temperature"}, -}}; - -} diff --git a/src/modules/science/ScienceData.h b/src/modules/science/ScienceData.h index bba03df8..e56ac73b 100644 --- a/src/modules/science/ScienceData.h +++ b/src/modules/science/ScienceData.h @@ -6,10 +6,81 @@ namespace faker { -extern const std::array chemicalElements; -extern const std::array distanceUnits; -extern const std::array massUnits; -extern const std::array timeUnits; -extern const std::array currentUnits; -extern const std::array temperatureUnits; +const auto chemicalElements = std::to_array({ + {"Hydrogen", "H", 1}, {"Helium", "He", 2}, {"Lithium", "Li", 3}, {"Beryllium", "Be", 4}, + {"Boron", "B", 5}, {"Carbon", "C", 6}, {"Nitrogen", "N", 7}, {"Oxygen", "O", 8}, + {"Fluorine", "F", 9}, {"Neon", "Ne", 10}, {"Sodium", "Na", 11}, {"Magnesium", "Mg", 12}, + {"Aluminum", "Al", 13}, {"Silicon", "Si", 14}, {"Phosphorus", "P", 15}, {"Sulfur", "S", 16}, + {"Chlorine", "Cl", 17}, {"Argon", "Ar", 18}, {"Potassium", "K", 19}, {"Calcium", "Ca", 20}, + {"Scandium", "Sc", 21}, {"Titanium", "Ti", 22}, {"Vanadium", "V", 23}, {"Chromium", "Cr", 24}, + {"Manganese", "Mn", 25}, {"Iron", "Fe", 26}, {"Cobalt", "Co", 27}, {"Nickel", "Ni", 28}, + {"Copper", "Cu", 29}, {"Zinc", "Zn", 30}, {"Gallium", "Ga", 31}, {"Germanium", "Ge", 32}, + {"Arsenic", "As", 33}, {"Selenium", "Se", 34}, {"Bromine", "Br", 35}, {"Krypton", "Kr", 36}, + {"Rubidium", "Rb", 37}, {"Strontium", "Sr", 38}, {"Yttrium", "Y", 39}, {"Zirconium", "Zr", 40}, + {"Niobium", "Nb", 41}, {"Molybdenum", "Mo", 42}, {"Technetium", "Tc", 43}, {"Ruthenium", "Ru", 44}, + {"Rhodium", "Rh", 45}, {"Palladium", "Pd", 46}, {"Silver", "Ag", 47}, {"Cadmium", "Cd", 48}, + {"Indium", "In", 49}, {"Tin", "Sn", 50}, {"Antimony", "Sb", 51}, {"Tellurium", "Te", 52}, + {"Iodine", "I", 53}, {"Xenon", "Xe", 54}, {"Cesium", "Cs", 55}, {"Barium", "Ba", 56}, + {"Lanthanum", "La", 57}, {"Cerium", "Ce", 58}, {"Praseodymium", "Pr", 59}, {"Neodymium", "Nd", 60}, + {"Promethium", "Pm", 61}, {"Samarium", "Sm", 62}, {"Europium", "Eu", 63}, {"Gadolinium", "Gd", 64}, + {"Terbium", "Tb", 65}, {"Dysprosium", "Dy", 66}, {"Holmium", "Ho", 67}, {"Erbium", "Er", 68}, + {"Thulium", "Tm", 69}, {"Ytterbium", "Yb", 70}, {"Lutetium", "Lu", 71}, {"Hafnium", "Hf", 72}, + {"Tantalum", "Ta", 73}, {"Tungsten", "W", 74}, {"Rhenium", "Re", 75}, {"Osmium", "Os", 76}, + {"Iridium", "Ir", 77}, {"Platinum", "Pt", 78}, {"Gold", "Au", 79}, {"Mercury", "Hg", 80}, + {"Thallium", "Tl", 81}, {"Lead", "Pb", 82}, {"Bismuth", "Bi", 83}, {"Polonium", "Po", 84}, + {"Astatine", "At", 85}, {"Radon", "Rn", 86}, {"Francium", "Fr", 87}, {"Radium", "Ra", 88}, + {"Actinium", "Ac", 89}, {"Thorium", "Th", 90}, {"Protactinium", "Pa", 91}, {"Uranium", "U", 92}, + {"Neptunium", "Np", 93}, {"Plutonium", "Pu", 94}, {"Americium", "Am", 95}, {"Curium", "Cm", 96}, + {"Berkelium", "Bk", 97}, {"Californium", "Cf", 98}, {"Einsteinium", "Es", 99}, {"Fermium", "Fm", 100}, + {"Mendelevium", "Md", 101}, {"Nobelium", "No", 102}, {"Lawrencium", "Lr", 103}, {"Rutherfordium", "Rf", 104}, + {"Dubnium", "Db", 105}, {"Seaborgium", "Sg", 106}, {"Bohrium", "Bh", 107}, {"Hassium", "Hs", 108}, + {"Meitnerium", "Mt", 109}, {"Darmstadtium", "Ds", 110}, {"Roentgenium", "Rg", 111}, {"Copernicium", "Cn", 112}, + {"Nihonium", "Nh", 113}, {"Flerovium", "Fl", 114}, {"Moscovium", "Mc", 115}, {"Livermorium", "Lv", 116}, + {"Tennessine", "Ts", 117}, {"Oganesson", "Og", 118} +}); + +const auto distanceUnits = std::to_array({ + {"Millimeter", "mm", "Length"}, + {"Centimeter", "cm", "Length"}, + {"Meter", "m", "Length"}, + {"Kilometer", "km", "Length"}, + {"Inch", "in", "Length"}, + {"Foot", "ft", "Length"}, + {"Yard", "yd", "Length"}, + {"Mile", "mi", "Length"}, +}); + +const auto massUnits = std::to_array({ + {"Gram", "g", "Mass"}, + {"Kilogram", "kg", "Mass"}, + {"Milligram", "mg", "Mass"}, + {"Microgram", "μg", "Mass"}, + {"Metric ton", "t", "Mass"}, + {"Ounce", "oz", "Mass"}, + {"Pound", "lb", "Mass"}, + {"Slug", "sl", "Mass"}, +}); + +const auto timeUnits = std::to_array({ + {"Second", "s", "Time"}, + {"Minute", "min", "Time"}, + {"Hour", "hr", "Time"}, + {"Day", "d", "Time"}, + {"Week", "wk", "Time"}, + {"Month", "mo", "Time"}, + {"Year", "yr", "Time"}, +}); + +const auto currentUnits = std::to_array({ + {"Ampere", "A", "Electric Current"}, + {"Milliampere", "mA", "Electric Current"}, + {"Microampere", "μA", "Electric Current"}, +}); + +const auto temperatureUnits = std::to_array({ + {"Celcius", "°C", "Temperature"}, + {"Fahrenheit", "°F", "Temperature"}, + {"Kelvin", "K", "Temperature"}, +}); + } diff --git a/src/modules/sport/SportData.cpp b/src/modules/sport/SportData.cpp deleted file mode 100644 index 5784aa37..00000000 --- a/src/modules/sport/SportData.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#include "SportData.h" - -#include -#include - -namespace faker::sport -{ -const std::array femaleAthletes = { - "Alex Morgan", "Jackie Joyner-Kersee", "Lindsey Vonn", "Martina Navratilova", "Mia Hamm", - "Nadia Comăneci", "Ronda Rousey", "Serena Williams", "Simone Biles", "Steffi Graf"}; - -const std::array maleAthletes = { - "Cristiano Ronaldo", "Kobe Bryant", "LeBron James", "Lionel Messi", "Michael Jordan", - "Michael Phelps", "Muhammad Ali", "Roger Federer", "Tom Brady", "Usain Bolt"}; - -const std::array soccerTeams = { - "AC Milan", "Chelsea FC", "FC Barcelona", "FC Bayern Munich", "Inter Milan", - "Juventus FC", "Liverpool FC", "Manchester United FC", "Paris Saint-Germain FC", "Real Madrid CF"}; - -const std::array sportEvents = {"ICC Cricket World Cup", - "NBA Finals", - "Olympics", - "Rugby World Cup", - "Super Bowl", - "The Masters", - "UEFA Champions League", - "Wimbledon", - "World Athletics Championship", - "World Cup"}; - -const std::array sportNames = { - "American Football", "Baseball", "Basketball", "Cricket", "Golf", "Rugby", "Soccer", - "Table Tennis", "Tennis", "Volleyball"}; - -} diff --git a/src/modules/sport/SportData.h b/src/modules/sport/SportData.h index d2951c8a..a0100027 100644 --- a/src/modules/sport/SportData.h +++ b/src/modules/sport/SportData.h @@ -5,11 +5,37 @@ namespace faker::sport { +const auto femaleAthletes = std::to_array({ + "Alex Morgan", "Jackie Joyner-Kersee", "Lindsey Vonn", "Martina Navratilova", "Mia Hamm", + "Nadia Comăneci", "Ronda Rousey", "Serena Williams", "Simone Biles", "Steffi Graf", +}); -extern const std::array femaleAthletes; -extern const std::array maleAthletes; -extern const std::array soccerTeams; -extern const std::array sportEvents; -extern const std::array sportNames; +const auto maleAthletes = std::to_array({ + "Cristiano Ronaldo", "Kobe Bryant", "LeBron James", "Lionel Messi", "Michael Jordan", + "Michael Phelps", "Muhammad Ali", "Roger Federer", "Tom Brady", "Usain Bolt", +}); + +const auto soccerTeams = std::to_array({ + "AC Milan", "Chelsea FC", "FC Barcelona", "FC Bayern Munich", "Inter Milan", + "Juventus FC", "Liverpool FC", "Manchester United FC", "Paris Saint-Germain FC", "Real Madrid CF", +}); + +const auto sportEvents = std::to_array({ + "ICC Cricket World Cup", + "NBA Finals", + "Olympics", + "Rugby World Cup", + "Super Bowl", + "The Masters", + "UEFA Champions League", + "Wimbledon", + "World Athletics Championship", + "World Cup", +}); + +const auto sportNames = std::to_array({ + "American Football", "Baseball", "Basketball", "Cricket", "Golf", "Rugby", "Soccer", + "Table Tennis", "Tennis", "Volleyball", +}); } diff --git a/src/modules/system/SystemData.cpp b/src/modules/system/SystemData.cpp deleted file mode 100644 index 21be7c84..00000000 --- a/src/modules/system/SystemData.cpp +++ /dev/null @@ -1,176 +0,0 @@ -#include "SystemData.h" - -#include -#include -#include - -#include "faker-cxx/System.h" - -namespace faker -{ -const std::array commonInterfaceTypes = {"en", "wl", "ww"}; - -const std::unordered_map commonInterfaceSchemas = { - {"index", "o"}, {"slot", "s"}, {"mac", "x"}, {"pci", "p"}}; - -const std::array cronDayOfWeek = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"}; - -const std::array directoryPaths = {"/etc/mail", - "/var/log", - "/usr/bin", - "/tmp", - "/usr/local/lib", - "/var/www/html", - "/opt/app", - "/home/user/documents", - "/usr/share/fonts", - "/var/cache/apt", - "/etc/nginx", - "/usr/local/bin", - "/var/tmp", - "/opt/data", - "/home/user/pictures", - "/usr/local/include", - "/var/www/cgi-bin", - "/etc/ssh", - "/usr/local/share", - "/var/spool/mail", - "/opt/logs", - "/home/user/music", - "/usr/local/libexec", - "/var/www/cgi-bin", - "/etc/ssl", - "/usr/local/var", - "/var/spool/cron", - "/opt/config", - "/home/user/videos", - "/usr/local/sbin", - "/var/www/docs", - "/etc/apache2", - "/usr/local/games", - "/var/run", - "/opt/bin", - "/home/user/downloads", - "/usr/local/man", - "/var/www/icons", - "/etc/mysql", - "/usr/local/src", - "/var/lock", - "/opt/scripts", - "/home/user/public_html", - "/usr/local/etc", - "/var/www/logs", - "/etc/httpd", - "/usr/local/share/man", - "/var/log/apache2", - "/opt/files", - "/home/user/backups"}; - -const std::array mimeTypes = { - "application/atom+xml", - "application/font-woff", - "application/gzip", - "application/java-archive", - "application/javascript", - "application/json", - "application/ld+json", - "application/msword", - "application/octet-stream", - "application/ogg", - "application/pdf", - "application/rdf+xml", - "application/rtf", - "application/vnd.apple.mpegurl", - "application/vnd.ms-excel", - "application/vnd.ms-fontobject", - "application/vnd.openxmlformats-officedocument.presentationml.presentation", - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", - "application/vnd.openxmlformats-officedocument.wordprocessingml.document", - "application/x-7z-compressed", - "application/x-font-ttf", - "application/x-javascript", - "application/x-mpegURL", - "application/x-rar-compressed", - "application/x-shockwave-flash", - "application/x-tar", - "application/x-www-form-urlencoded", - "application/xhtml+xml", - "application/xml", - "application/zip", - "audio/aac", - "audio/midi", - "audio/ogg", - "audio/wav", - "audio/webm", - "audio/mpeg", - "font/woff", - "font/woff2", - "image/apng", - "image/bmp", - "image/gif", - "image/jpeg", - "image/png", - "image/svg+xml", - "image/tiff", - "image/webp", - "image/x-icon", - "multipart/form-data", - "text/calendar", - "text/css", - "text/csv", - "text/html", - "text/javascript", - "text/plain", - "text/xml", - "video/mp4", - "video/3gpp", - "video/3gpp2", - "video/mp2t", - "video/mpeg", - "video/ogg", - "video/webm", - "video/x-msvideo", - "video/x-flv"}; - -const std::unordered_map mimeTypesExtensions{ - {"application/atom+xml", "xml"}, - {"application/font-woff", "woff"}, - {"application/gzip", "gz"}, - {"application/java-archive", "jar"}, - {"application/javascript", "js"}, - {"application/ld+json", "jsonld"}, - {"application/msword", "doc"}, - {"application/octet-stream", "bin"}, - {"application/ogg", "ogx"}, - {"application/vnd.ms-excel", "xls"}, - {"application/vnd.ms-fontobject", "eot"}, - {"application/vnd.openxmlformats-officedocument.presentationml.presentation", "pptx"}, - {"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "xlsx"}, - {"application/vnd.openxmlformats-officedocument.wordprocessingml.document", "docx"}, - {"application/x-7z-compressed", "7z"}, - {"application/x-tar", "tart"}, - {"application/xhtml+xml", "xhtml"}, - - {"audio/ogg", "oga"}, - {"audio/webm", "weba"}, - {"audio/mpeg", "mp3"}, - - {"image/svg+xml", "svg"}, - - {"text/calendar", "ics"}, - {"text/javascript", "js"}, - {"text/plain", "txt"}, - - {"video/3gpp", "3gp"}, - {"video/3gpp2", "3g2"}, - {"video/mp2t", "ts"}, - {"video/ogg", "ogv"}, - {"video/x-msvideo", "avi"}}; - -const std::array commonMimeTypes = {"application/pdf", "audio/mpeg", "audio/wav", - "image/png", "image/jpeg", "image/gif", - "video/mp4", "video/mpeg", "text/html"}; - -const std::array commonFileTypes = {"video", "audio", "image", "text", "application"}; - -} diff --git a/src/modules/system/SystemData.h b/src/modules/system/SystemData.h index 29e43adf..764d53e0 100644 --- a/src/modules/system/SystemData.h +++ b/src/modules/system/SystemData.h @@ -7,12 +7,175 @@ namespace faker { -extern const std::array commonInterfaceTypes; -extern const std::unordered_map commonInterfaceSchemas; -extern const std::array cronDayOfWeek; -extern const std::array directoryPaths; -extern const std::array mimeTypes; -extern const std::unordered_map mimeTypesExtensions; -extern const std::array commonMimeTypes; -extern const std::array commonFileTypes; +const auto commonInterfaceTypes = std::to_array({"en", "wl", "ww"}); + +const std::unordered_map commonInterfaceSchemas = { + {"index", "o"}, {"slot", "s"}, {"mac", "x"}, {"pci", "p"}}; + +const auto cronDayOfWeek = std::to_array({"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"}); + +const auto directoryPaths = std::to_array({ + "/etc/mail", + "/var/log", + "/usr/bin", + "/tmp", + "/usr/local/lib", + "/var/www/html", + "/opt/app", + "/home/user/documents", + "/usr/share/fonts", + "/var/cache/apt", + "/etc/nginx", + "/usr/local/bin", + "/var/tmp", + "/opt/data", + "/home/user/pictures", + "/usr/local/include", + "/var/www/cgi-bin", + "/etc/ssh", + "/usr/local/share", + "/var/spool/mail", + "/opt/logs", + "/home/user/music", + "/usr/local/libexec", + "/var/www/cgi-bin", + "/etc/ssl", + "/usr/local/var", + "/var/spool/cron", + "/opt/config", + "/home/user/videos", + "/usr/local/sbin", + "/var/www/docs", + "/etc/apache2", + "/usr/local/games", + "/var/run", + "/opt/bin", + "/home/user/downloads", + "/usr/local/man", + "/var/www/icons", + "/etc/mysql", + "/usr/local/src", + "/var/lock", + "/opt/scripts", + "/home/user/public_html", + "/usr/local/etc", + "/var/www/logs", + "/etc/httpd", + "/usr/local/share/man", + "/var/log/apache2", + "/opt/files", + "/home/user/backups", +}); + +const auto mimeTypes = std::to_array({ + "application/atom+xml", + "application/font-woff", + "application/gzip", + "application/java-archive", + "application/javascript", + "application/json", + "application/ld+json", + "application/msword", + "application/octet-stream", + "application/ogg", + "application/pdf", + "application/rdf+xml", + "application/rtf", + "application/vnd.apple.mpegurl", + "application/vnd.ms-excel", + "application/vnd.ms-fontobject", + "application/vnd.openxmlformats-officedocument.presentationml.presentation", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", + "application/vnd.openxmlformats-officedocument.wordprocessingml.document", + "application/x-7z-compressed", + "application/x-font-ttf", + "application/x-javascript", + "application/x-mpegURL", + "application/x-rar-compressed", + "application/x-shockwave-flash", + "application/x-tar", + "application/x-www-form-urlencoded", + "application/xhtml+xml", + "application/xml", + "application/zip", + "audio/aac", + "audio/midi", + "audio/ogg", + "audio/wav", + "audio/webm", + "audio/mpeg", + "font/woff", + "font/woff2", + "image/apng", + "image/bmp", + "image/gif", + "image/jpeg", + "image/png", + "image/svg+xml", + "image/tiff", + "image/webp", + "image/x-icon", + "multipart/form-data", + "text/calendar", + "text/css", + "text/csv", + "text/html", + "text/javascript", + "text/plain", + "text/xml", + "video/mp4", + "video/3gpp", + "video/3gpp2", + "video/mp2t", + "video/mpeg", + "video/ogg", + "video/webm", + "video/x-msvideo", + "video/x-flv", +}); + +const std::unordered_map mimeTypesExtensions{ + {"application/atom+xml", "xml"}, + {"application/font-woff", "woff"}, + {"application/gzip", "gz"}, + {"application/java-archive", "jar"}, + {"application/javascript", "js"}, + {"application/ld+json", "jsonld"}, + {"application/msword", "doc"}, + {"application/octet-stream", "bin"}, + {"application/ogg", "ogx"}, + {"application/vnd.ms-excel", "xls"}, + {"application/vnd.ms-fontobject", "eot"}, + {"application/vnd.openxmlformats-officedocument.presentationml.presentation", "pptx"}, + {"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "xlsx"}, + {"application/vnd.openxmlformats-officedocument.wordprocessingml.document", "docx"}, + {"application/x-7z-compressed", "7z"}, + {"application/x-tar", "tart"}, + {"application/xhtml+xml", "xhtml"}, + + {"audio/ogg", "oga"}, + {"audio/webm", "weba"}, + {"audio/mpeg", "mp3"}, + + {"image/svg+xml", "svg"}, + + {"text/calendar", "ics"}, + {"text/javascript", "js"}, + {"text/plain", "txt"}, + + {"video/3gpp", "3gp"}, + {"video/3gpp2", "3g2"}, + {"video/mp2t", "ts"}, + {"video/ogg", "ogv"}, + {"video/x-msvideo", "avi"}, +}; + +const auto commonMimeTypes = std::to_array({ + "application/pdf", "audio/mpeg", "audio/wav", + "image/png", "image/jpeg", "image/gif", + "video/mp4", "video/mpeg", "text/html", +}); + +const auto commonFileTypes = std::to_array({"video", "audio", "image", "text", "application"}); + } diff --git a/src/modules/vehicle/VehicleData.cpp b/src/modules/vehicle/VehicleData.cpp deleted file mode 100644 index 18a1a3ea..00000000 --- a/src/modules/vehicle/VehicleData.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "VehicleData.h" - -#include -#include - -namespace faker -{ -namespace vehicle -{ -const std::array bicycle_types = { - "BMX bike", "Cargo bike", "City bike", "Electric bike", "Folding bike", - "Hybrid bike", "Mountain bike", "Recumbent bike", "Road bike", "Tandem bike"}; - -const std::array vehicle_colors = {"Black", "Blue", "Gray", "Green", "Red", "Silver", "White"}; - -const std::array fuel_types = {"Biodiesel", "Diesel", "Electric", "Ethanol", "Gasoline", - "Hybrid", "Hydrogen", "Methanol", "Natural gas", "Propane"}; - -const std::array manufacturers = { - "Acura", "Alfa Romeo", "Aston Martin", "Audi", "BMW", "Bentley", "Cadillac", "Chevrolet", - "Chrysler", "Dodge", "Ferrari", "Fiat", "Ford", "GMC", "Honda", "Hyundai", - "Infiniti", "Jaguar", "Jeep", "Kia", "Lexus", "Lincoln", "Lotus", "Maserati", - "Mazda", "Mercedes-Benz", "Mini", "Mitsubishi", "Nissan", "Peugeot", "Porsche", "Ram", - "Renault", "Rolls-Royce", "Subaru", "Suzuki", "Tesla", "Toyota", "Volkswagen", "Volvo"}; - -const std::array models = {"Accord", "CR-V", "Camry", "Civic", "Corolla", - "Escape", "Explorer", "F-150", "Fiesta", "Focus", - "Mustang", "RAV4", "Ram 1500", "Silverado 1500"}; - -const std::array vehicle_types = {"Boat", "Bus", "Car", "Minivan", "Motorcycle", - "RV", "SUV", "Trailer", "Truck", "Van"}; -} -} diff --git a/src/modules/vehicle/VehicleData.h b/src/modules/vehicle/VehicleData.h index 4806b4b7..e87b8b28 100644 --- a/src/modules/vehicle/VehicleData.h +++ b/src/modules/vehicle/VehicleData.h @@ -7,11 +7,36 @@ namespace faker { namespace vehicle { -extern const std::array bicycle_types; -extern const std::array vehicle_colors; -extern const std::array fuel_types; -extern const std::array manufacturers; -extern const std::array models; -extern const std::array vehicle_types; +const auto bicycle_types = std::to_array({ + "BMX bike", "Cargo bike", "City bike", "Electric bike", "Folding bike", + "Hybrid bike", "Mountain bike", "Recumbent bike", "Road bike", "Tandem bike", +}); + +const auto vehicle_colors = std::to_array({"Black", "Blue", "Gray", "Green", "Red", "Silver", "White"}); + +const auto fuel_types = std::to_array({ + "Biodiesel", "Diesel", "Electric", "Ethanol", "Gasoline", + "Hybrid", "Hydrogen", "Methanol", "Natural gas", "Propane", +}); + +const auto manufacturers = std::to_array({ + "Acura", "Alfa Romeo", "Aston Martin", "Audi", "BMW", "Bentley", "Cadillac", "Chevrolet", + "Chrysler", "Dodge", "Ferrari", "Fiat", "Ford", "GMC", "Honda", "Hyundai", + "Infiniti", "Jaguar", "Jeep", "Kia", "Lexus", "Lincoln", "Lotus", "Maserati", + "Mazda", "Mercedes-Benz", "Mini", "Mitsubishi", "Nissan", "Peugeot", "Porsche", "Ram", + "Renault", "Rolls-Royce", "Subaru", "Suzuki", "Tesla", "Toyota", "Volkswagen", "Volvo", +}); + +const auto models = std::to_array({ + "Accord", "CR-V", "Camry", "Civic", "Corolla", + "Escape", "Explorer", "F-150", "Fiesta", "Focus", + "Mustang", "RAV4", "Ram 1500", "Silverado 1500", +}); + +const auto vehicle_types = std::to_array({ + "Boat", "Bus", "Car", "Minivan", "Motorcycle", + "RV", "SUV", "Trailer", "Truck", "Van", +}); + } } diff --git a/src/modules/videoGame/VideoGameData.cpp b/src/modules/videoGame/VideoGameData.cpp deleted file mode 100644 index e1401153..00000000 --- a/src/modules/videoGame/VideoGameData.cpp +++ /dev/null @@ -1,3590 +0,0 @@ -#include "VideoGameData.h" - -#include -#include - -namespace faker -{ -namespace videoGame -{ -const std::array videoGameNames = { - "#killallzombies", - ".hack//G.U. Last Recode", - "007: Agent Under Fire", - "007: Everything or Nothing", - "007: From Russia with Love", - "007: Nightfire", - "10 Second Ninja X", - "1001 Spikes", - "100ft Robot Golf", - "101 Ways to Die", - "11-11: Memories Retold", - "13 Sentinels: Aegis Rim", - "140", - "1552: Tenka Tairan", - "187 Ride or Die", - "1941: Counter Attack", - "1943 Kai", - "1979 Revolution: Black Friday", - "198X", - "2002 FIFA World Cup", - "2064: Read Only Memories", - "20XX", - "25 To Life", - "2Dark", - "3 Minutes to Midnight", - "39 Days to Mars", - "3D Billiards", - "3D MiniGolf", - "428: Shibuya Scramble", - "4x4 EVO 2", - "5 Star Wrestling: ReGenesis", - "50 Cent: Bulletproof", - "60 Parsecs!", - "60 Seconds!", - "7 Days to Die", - "7th Sector", - "8 to Glory", - "8-Bit Armies", - "8-Bit Hordes", - "8-Bit Invaders", - "8-bit Adventure Anthology: Volume I", - "88 Heroes", - "9 Monkeys of Shaolin", - "911 Operator", - "99Vidas", - "9th Dawn III", - "A Bastard's Tale", - "A Boy and His Blob", - "A Certain Magical Virtual-On", - "A Fold Apart", - "A Hat in Time", - "A Healer Only Lives Twice", - "A Hole New World", - "A Juggler's Tale", - "A Knight's Quest", - "A Pixel Story", - "A Plague Tale: Innocence", - "A Space for the Unbound", - "A Tale of Paper", - "A Way Out", - "A-Train Express", - "AER: Memories of Old", - "AFL Evolution", - "AFL Evolution 2", - "AFL Live 2003", - "AFL Live 2004", - "AFL Live Premiership Edition", - "AFL Premiership 2005", - "AI-Limit", - "AI: The Somnium Files", - "AIPD", - "AMF Bowling 2004", - "AMF Xtreme Bowling 2006", - "AND 1 Streetball", - "AO Tennis", - "AO Tennis 2", - "APEX - Racing Evoluzione (PAL)", - "ATV Drift and Tricks", - "ATV Quad Power Racing 2", - "AVICII Invector", - "AWAY: The Survival Series", - "Aaero", - "Aaru's Awakening", - "Absolute Drift: Zen Edition", - "Absolver", - "Abyss Odyssey", - "Abyss: The Wraiths of Eden", - "Abzû", - "Accel World vs. Sword Art Online: Millennium Twilight", - "Ace Combat 7: Skies Unknown", - "Ace of Seafood", - "Aces of the Luftwaffe", - "Achtung! Cthulhu Tactics", - "Act It Out! A Game of Charades", - "Action Henk", - "Active Neurons", - "Addams Family, The", - "Adrift", - "Advanced V.G.", - "Advent Rising", - "Adventure Time: Finn & Jake Investigations", - "Adventures of Pip", - "Adventures of Scarlet Curiosity", - "Aegis Defenders", - "Aegis of Earth: Protonovus Assault", - "Aeon Must Die!", - "Aero Blasters", - "AeternoBlade", - "AeternoBlade II", - "After Burner II", - "Afterparty", - "Agatha Christie: The ABC Murders", - "Age of Wonders: Planetfall", - "Agent A: A Puzzle in Disguise", - "Agents of Mayhem", - "Aggelos", - "Aggressive Inline", - "Agony", - "Aikano: Yukizora no Triangle", - "Air Conflicts: Pacific Carriers", - "Air Conflicts: Vietnam", - "Aircraft Evolution", - "Airforce Delta Storm - Deadly Skies (PAL) - Airforce Delta II (JP)", - "Airport Simulator 2019", - "Airship Q", - "Akiba's Beat", - "Akiba's Trip: Hellbound & Debriefed", - "Akiba's Trip: Undead & Undressed", - "Akita Oga Mystery Guide: The Frozen Silverbell Flower", - "Akumajō Dracula X: Chi no Rondo", - "Alaloth: Champions of The Four Kingdoms", - "Alba: A Wildlife Adventure", - "Aldynes", - "Alekhine's Gun", - "Aleste Collection", - "Alex Kidd in Miracle World DX", - "Alfa Romeo Racing Italiano - SCAR : Squadra Corse Alfa Romeo (PAL)", - "Alias", - "Alien Crush", - "Alien Hominid", - "Alien: Isolation", - "Alienation", - "Aliens Versus Predator: Extinction", - "All-Star Baseball 2003", - "All-Star Baseball 2004", - "All-Star Baseball 2005", - "All-Star Fruit Racing", - "Alone with You", - "Alshark", - "Alter Echo", - "Alwa's Awakening", - "Alwa's Legacy", - "Always Sometimes Monsters", - "Alzadick", - "Amazing Discoveries in Outer Space", - "America's Army: Rise of a Soldier", - "American Chopper", - "American Chopper 2: Full Throttle", - "American Fugitive", - "American McGee Presents: Scrapland", - "Amnesia Collection", - "Amnesia: Rebirth", - "Amoeba Battle: Microscopic RTS Action", - "Among the Sleep", - "Amped 2 - Tenku 2 (JP)", - "Amped: Freestyle Snowboarding", - "Amplitude", - "Anarcute", - "Ancestors Legacy", - "Ancestors: The Humankind Odyssey", - "Andre Panza Kick Boxing", - "Ane-san", - "Anew: The Distant Light", - "Angelic Concert (JP)", - "AngerForce: Reloaded", - "Angry Birds Star Wars", - "Anima: Gate of Memories", - "Animaniacs: The Great Edgar Hunt", - "Anime Studio Story", - "Anno: Mutationem", - "Anodyne", - "Anodyne 2: Return to Dust", - "Anoko wa Ore kara Hanarenai", - "Anomaly 2", - "Anonymous;Code", - "Another World: 20th Anniversary Edition", - "Anthem", - "Antiquia Lost", - "Antz Extreme Racing", - "Aoi Blink", - "Aoi Namida (JP)", - "Aokana: Four Rhythm Across the Blue", - "Apocalypse", - "Apotheon", - "Appare! Gateball", - "Aqua Moto Racing Utopia", - "Aquaman: Battle for Atlantis", - "Ar Nosurge DX", - "Ara Fell: Enhanced Edition", - "Aragami", - "Aragami 2", - "Arc of Alchemist", - "Arcade Classics Anniversary Collection", - "Arcade Spirits", - "Arcania: The Complete Tale", - "Archaica: The Path of Light", - "Arctic Thunder", - "Area 51", - "Arena Football", - "Arise: A Simple Story", - "Ark: Survival Evolved", - "Armed and Dangerous", - "Armello", - "Army Men: Major Malfunction", - "Army Men: Sarge's War", - "Arslan: The Warriors of Legend", - "Art of Balance", - "Arx Fatalis", - "Ary and the Secret of Seasons", - "Asdivine Dios", - "Asdivine Hearts", - "Asdivine Hearts II", - "Asdivine Kamura", - "Asdivine Menace", - "Asemblance", - "Asemblance: Oversight", - "Ashen", - "Ashes Cricket", - "Assassin's Creed Chronicles: China", - "Assassin's Creed Chronicles: India", - "Assassin's Creed Chronicles: Russia", - "Assassin's Creed III Remastered", - "Assassin's Creed IV: Black Flag", - "Assassin's Creed Odyssey", - "Assassin's Creed Rogue Remastered", - "Assassin's Creed Syndicate", - "Assassin's Creed Unity", - "Assassin's Creed Valhalla", - "Assassin's Creed: Origins", - "Assassin's Creed: The Ezio Collection", - "Assault Android Cactus", - "Assault Suit Leynos", - "Assetto Corsa", - "Assetto Corsa Competizione", - "Astebreed", - "Asterix & Obelix XXL 2: Mission: Las Vegum", - "Asterix & Obelix XXL 3: The Crystal Menhir", - "Asterix & Obelix XXL: Romastered", - "Asterix & Obelix: Slap Them All!", - "Astralius", - "Astroneer", - "Asuka 120% Maxima", - "Atari Anthology", - "Atari Flashback Classics: Volume 1", - "Atari Flashback Classics: Volume 2", - "Atari Flashback Classics: Volume 3", - "Atelier Ayesha: The Alchemist of Dusk DX", - "Atelier Escha & Logy: Alchemists of the Dusk Sky DX", - "Atelier Firis: The Alchemist and the Mysterious Journey", - "Atelier Lulua: The Scion of Arland", - "Atelier Lydie & Suelle: Alchemists of the Mysterious Painting", - "Atelier Meruru: The Apprentice of Arland", - "Atelier Rorona: The Alchemist of Arland", - "Atelier Ryza 2: Lost Legends & the Secret Fairy", - "Atelier Ryza: Ever Darkness & the Secret Hideout", - "Atelier Shallie: Alchemists of the Dusk Sea DX", - "Atelier Sophie: The Alchemist of the Mysterious Book", - "Atelier Totori: The Adventurer of Arland", - "Atomic Heart", - "Atomic Robo-Kid Special", - "Atomicrops", - "Attack on Titan", - "Attack on Titan 2", - "Attractio", - "Aurora Quest: Otaku no Seiza in Another World", - "Auto Chess", - "Auto Crusher Palladium", - "Auto Modellista", - "Autumn's Journey", - "Avatar: The Last Airbender", - "Aven Colony", - "Avenger", - "Away: Journey to the Unexpected", - "Awesomenauts Assemble", - "Axiom Verge", - "Azkend 2: The World Beneath", - "Aztech: Forgotten Gods", - "Azur Lane: Crosswave", - "Azure Reflections", - "Azure Striker Gunvolt: Striker Pack", - "Azurik: Rise of Perathia", - "BMX XXX", - "BPM: Bullets Per Minute", - "BQM: BlockQuest Maker", - "Babel", - "Baby Jo the Superhero", - "Babylon's Fall", - "Back to Bed", - "Back to the Future: The Game – 30th Anniversary Edition", - "Backbone", - "Backgammon Blitz", - "Backyard Wrestling 2: There Goes the Neighborhood", - "Backyard Wrestling: Don't Try This at Home", - "Bad Boys: Miami Takedown - Bad Boys II (PAL)", - "Bad North", - "Badland: Game of the Year Edition", - "Baja: Edge of Control HD", - "Bake 'n Switch", - "Bakuden: Unbalanced Zone", - "Balan Wonderworld", - "Baldur's Gate II: Enhanced Edition", - "Baldur's Gate: Dark Alliance", - "Baldur's Gate: Dark Alliance II", - "Baldur's Gate: Enhanced Edition", - "Baldur's Gate: Siege of Dragonspear", - "Ballistix", - "Banner of the Maid", - "Barbarian", - "Barbie Horse Adventures: Wild Horse Rescue", - "Bari Bari Densetsu", - "Barunba", - "Basement Crawl", - "Bass Pro Shops Trophy Hunter 2007", - "Bass Pro Shops: Trophy Bass 2007", - "Basted", - "Bastion", - "Batman", - "Batman Begins", - "Batman Vengeance", - "Batman: Arkham Knight", - "Batman: Dark Tomorrow", - "Batman: Return to Arkham", - "Batman: Rise of Sin Tzu", - "Batman: The Enemy Within", - "Batman: The Telltale Series", - "Battalion 1944", - "Battle Ace", - "Battle Chasers: Nightwar", - "Battle Engine Aquila", - "Battle Field '94 in Tokyo Dome", - "Battle Garegga Rev.2016", - "Battle Lode Runner", - "Battle Princess Madelyn", - "Battle Royale", - "Battle Worlds: Kronos", - "Battle of the Bulge", - "Battlefield 1", - "Battlefield 2: Modern Combat", - "Battlefield 4", - "Battlefield Hardline", - "Battlefield V", - "Battleship", - "Battlestar Galactica", - "Battlestar Galactica: Deadlock", - "Battlezone", - "Batu Ta Batu", - "Bayonetta", - "Bazar dé Gozarre no Game de Gozāru", - "Bear With Me: The Lost Robots", - "Bears Can't Drift!?", - "Beast Quest", - "Beat Down: Fists of Vengeance", - "Beautiful Desolation", - "Bedlam", - "Bee Simulator", - "Beholder 2", - "Beholder: Complete Edition", - "Below", - "Ben 10", - "Ben 10: Power Trip", - "Bendy and the Ink Machine", - "Benkei Gaiden", - "Berserk and the Band of the Hawk", - "Beyond Blue", - "Beyond Eyes", - "Beyond Good & Evil", - "Beyond Shadowgate", - "Beyond a Steel Sky", - "Beyond: Two Souls", - "Bicycle Casino", - "Big Bash Boom", - "Big Bumpin'", - "Big Mutha Truckers", - "Big Mutha Truckers 2", - "Big Pharma", - "Bikkuriman Daijikai", - "Bikkuriman World", - "Binaries", - "BioShock: The Collection", - "Biomutant", - "Bionicle", - "Biped", - "Birthday of Midnight", - "Birthdays the Beginning", - "Bishōjo Senshi Sailor Moon", - "Bishōjo Senshi Sailor Moon Collection", - "Bistro Cupid (JP)", - "Bistro Cupid 2", - "Bit.Trip", - "Black", - "Black & White Bushido", - "Black Desert", - "Black Hole Assault", - "Black Legend", - "Black Paradox", - "Black Stone: Magic & Steel - Ex-Chaser (JP)", - "Black the Fall", - "Blackguards 2", - "Blackhole: Complete Edition", - "Blacksad: Under the Skin", - "Blacksea Odyssey", - "Blackwood Crossing", - "Blade Arcus from Shining EX", - "Blade Assault", - "Blade Ballet", - "Blade II", - "Blade Runner: Enhanced Edition", - "Blade Strangers", - "Bladed Fury", - "Bladestorm: Nightmare", - "Blair Witch", - "Blasphemous", - "Blast 'Em Bunnies", - "Blast Zone! Tournament", - "Blaster Master Zero", - "Blaster Master Zero 2", - "Blaster Master Zero 3", - "Blaster Master Zero Trilogy: MetaFight Chronicle", - "BlazBlue: Central Fiction", - "BlazBlue: Chrono Phantasma Extend", - "BlazBlue: Cross Tag Battle", - "Blazerush", - "Blazing Angels: Squadrons of WWII", - "Blazing Beaks", - "Blazing Chrome", - "Blazing Lazers - •GunhedJP", - "Bleed", - "Bleed 2", - "Blind Fate: Edo no Yami", - "Blinx 2: Masters of Time and Space - Blinx 2: Battle of Time and Space (JP)", - "Blinx: The Time Sweeper", - "Blitz: The League", - "Block-a-Pix Deluxe", - "Blood Bowl 2", - "Blood Bowl 3", - "Blood Gear", - "Blood Omen 2", - "Blood Wake", - "BloodRayne", - "BloodRayne 2", - "Bloodborne", - "Bloodroots", - "Bloodstained: Curse of the Moon", - "Bloodstained: Curse of the Moon 2", - "Bloodstained: Ritual of the Night", - "Bloody Roar Extreme", - "Bloody Wolf - •Narazumono Sentō Butai Bloody WolfJP", - "Bloody Zombies", - "Bloons TD 5", - "BlowOut", - "Blue Estate", - "Blue Fire", - "Blue Reflection", - "Blue Rider", - "Blues and Bullets", - "Boiling Bolt", - "Bokosuka Wars II", - "Bokuhime Project", - "Bomber Crew", - "Bomberman", - "Bomberman '93", - "Bomberman '94", - "Bomberman Users Battle", - "Bonanza Bros.", - "Bonk 3: Bonk's Big Adventure - •PC Genjin 3JP", - "Bonk 3: Bonk's Big Adventure CD-ROM² - •PC Genjin 3JP", - "Bonk's Adventure - •PC GenjinJP", - "Bonk's Revenge - •PC Genjin 2JP", - "Book of Demons", - "Borderlands 3", - "Borderlands: Game of the Year Edition", - "Borderlands: The Handsome Collection", - "Bouken Danshaku Don Sun=Heart-hen", - "Bound", - "Bound by Flame", - "Boundary", - "Boundless", - "Bounty Battle", - "Bow to Blood: Last Captain Standing", - "Boxyboy - •Sōkoban WorldJP", - "Braid Anniversary Edition", - "Brandish", - "Braveknight", - "Braveland Trilogy", - "Bravoman - •Chōzetsurin-jin BerabōmanJP", - "Brawl", - "Brawlout", - "Break In", - "Break Nine: World Billiards Tournament", - "Breakdown", - "Breakers Collection", - "Breeders' Cup World Thoroughbred Championships", - "Brian Lara International Cricket 2005", - "Bridge Constructor", - "Bridge Constructor Portal", - "Bridge Constructor Stunts", - "Bridge Constructor: The Walking Dead", - "Brief Battles", - "Brigandine: The Legend of Runersia", - "Bright Memory: Infinite", - "Broforce", - "Broken Age: The Complete Adventure", - "Broken Delusion", - "Broken Sword 5: The Serpent's Curse", - "Broken Sword: The Sleeping Dragon", - "Brothers in Arms: Earned in Blood", - "Brothers in Arms: Road to Hill 30", - "Brothers: A Tale of Two Sons", - "Browning", - "Bruce Lee: Quest of the Dragon", - "Brutal", - "Brute Force", - "Bubble Bobble 4 Friends: The Baron is Back", - "Bubblegum Crash", - "Bubsy: Paws on Fire!", - "Bubsy: The Woolies Strike Back", - "Bucket Knight", - "Bud Spencer & Terence Hill: Slaps and Beans", - "Buffy the Vampire Slayer", - "Buffy the Vampire Slayer: Chaos Bleeds", - "Bug Fables: The Everlasting Sapling", - "BugsBox", - "Bugsnax", - "Builder Land", - "Buildings Have Feelings Too!", - "Bulb Boy", - "Bulletstorm: Full Clip Edition", - "Bullfight Ring no Hasha", - "Burai", - "Burai II", - "Buried Stars", - "Burning Angels", - "Burnout", - "Burnout 2: Point of Impact", - "Burnout 3: Takedown", - "Burnout Paradise Remastered", - "Burnout Revenge", - "Bus Driver Simulator", - "Bus Simulator 18", - "Bus Simulator 21", - "Bush Hockey League", - "Buster Bros. - •Pomping WorldJP", - "Butcher", - "C.A.T.: Cyber Attack Team", - "CAL II", - "CD Battle: Hikari no Yūshatachi", - "CSI: Crime Scene Investigation", - "Cabela's Big Game Hunter 2005 Adventures", - "Cabela's Dangerous Hunts", - "Cabela's Dangerous Hunts 2", - "Cabela's Deer Hunt: 2004 Season", - "Cabela's Deer Hunt: 2005 Season", - "Cabela's Outdoor Adventures", - "Cadash", - "Cafeteria Nipponica", - "Cake Bash", - "Cal III", - "Caladrius Blaze", - "Call of Cthulhu: Dark Corners of the Earth", - "Call of Cthulhu: The Official Video Game", - "Call of Duty 2: Big Red One", - "Call of Duty 3", - "Call of Duty: Advanced Warfare", - "Call of Duty: Black Ops Cold War", - "Call of Duty: Black Ops III", - "Call of Duty: Black Ops IIII", - "Call of Duty: Finest Hour", - "Call of Duty: Ghosts", - "Call of Duty: Infinite Warfare", - "Call of Duty: Modern Warfare", - "Call of Duty: Modern Warfare 2 Campaign Remastered", - "Call of Duty: Modern Warfare Remastered", - "Call of Duty: WWII", - "Call of Duty: Warzone", - "Calvino Noir", - "Camp California", - "Can't Drive This", - "Candle: The Power of the Flame", - "Candlelight", - "Candleman: The Complete Journey", - "Cannon Brawl", - "Capcom Arcade Stadium", - "Capcom Beat 'Em Up Bundle", - "Capcom Classics Collection Vol. 1", - "Capcom Classics Collection Vol. 2", - "Capcom Fighting Evolution - Capcom Fighting Jam (PAL) (JP)", - "Capcom vs. SNK 2 EO", - "Capsule Force", - "Captain Tsubasa: Rise of New Champions", - "Car Mechanic Simulator 2018", - "CarX Drift Racing Online", - "Card Angels", - "Cardpocalypse", - "Carmageddon: Max Damage", - "Carmen Sandiego: The Secret of the Stolen Drums", - "Cars", - "Cars 3: Driven to Win", - "Carto", - "Cartoon Network: Battle Crashers", - "Carve", - "Casey Powell Lacrosse 16", - "Castle Crashers Remastered", - "CastleStorm II", - "CastleStorm: Definitive Edition", - "Castles", - "Castlevania Anniversary Collection", - "Castlevania Requiem", - "Castlevania: Curse of Darkness - Akumajo Dracula: Yami no Juin (JP)", - "Cat Quest", - "Cat Quest II", - "Catherine: Full Body", - "Catlateral Damage", - "Catwoman", - "Cel Damage", - "Cel Damage HD", - "Celebrity Deathmatch", - "Celeste", - "Chained Echoes", - "Chambara", - "Champion Wrestler", - "Champions Forever", - "Championship Bowling", - "Championship Manager 2006", - "Championship Manager 5", - "Championship Manager: Season 01/02", - "Championship Manager: Season 02/03", - "Championship Rally", - "Chaos Code: New Sign of Catastrophe", - "Chaos on Deponia", - "Chaos;Child", - "Chariot", - "Charlie and the Chocolate Factory", - "Chase H.Q. - •Taito Chase HQJP", - "Chase: Hollywood Stunt Driver", - "Chasm", - "Checkers", - "Chernobylite", - "Chess Ultra", - "Chessmaster 10th Edition", - "Chew Man Fu - •Be BallJP", - "Chibi Maruko-chan: Quiz de Piihira", - "Chicago Enforcer", - "Chicken Little", - "Chicken Police: Paint it Red!", - "Chiki Chiki Boys", - "Chikuden-ya Toubei", - "Child of Light", - "Children of Morta", - "Children of Zodiarcs", - "Chime Sharp", - "Chimparty", - "China Warrior - •The Kung FuJP", - "Chivalry 2", - "Chivalry: Medieval Warfare", - "Cho Aniki", - "Chocobo's Mystery Dungeon Every Buddy!", - "Chop is Dish", - "Chorus: Rise As One", - "Chroma Squad", - "ChromaGun", - "Chronicles of Teddy: Harmony of Exidus", - "Chronos: Before the Ashes", - "Chō Jikū Yōsai Macross 2036", - "Chō Jikū Yōsai Macross: Eien no Love Song", - "Ciel Nosurge DX", - "Cinders", - "Circuit Superstars", - "Circuits", - "Circus Lido", - "Circus Maximus: Chariot Wars", - "Citadel: Forged with Fire", - "Cities: Skylines", - "Citizens of Earth", - "Citizens of Space", - "City Hunter", - "City Shrouded in Shadow", - "Civilization VI", - "Cladun Returns: This is Sengoku!", - "Claire: Extended Cut", - "Clannad", - "Classified: The Sentinel Crisis", - "Claybook", - "Clockwork Aquario", - "Clockwork Tales: Of Glass and Ink", - "Close Combat: First to Fight", - "Close to the Sun", - "Cloudpunk", - "Club Football", - "Club Football 2005", - "Clustertruck", - "Cobra II: Densetsu no Otoko", - "Cobra Kai: The Karate Kid Saga Continues", - "Cobra: Kokuryū-Ō no Densetsu", - "Code Vein", - "Codename: Kids Next Door - Operation: V.I.D.E.O.G.A.M.E.", - "Coffee Talk", - "Coffin Dodgers", - "Cogen: Sword of Rewind", - "Cold Fear", - "Cold War", - "Colin McRae Rally 04", - "Colin McRae Rally 2005", - "Colin McRae Rally 3", - "College Hoops 2K6", - "College Hoops 2K7", - "Color Wars", - "Colt Canyon", - "Columns", - "Combat Elite: WWII Paratroopers", - "Combat: Task Force 121", - "Comet Crash 2", - "Commander Cherry's Puzzled Journey", - "Commandos 2 - HD Remaster", - "Commandos 2: Men of Courage", - "Commandos: Strike Force", - "Conan", - "Conan Chop Chop", - "Conan Exiles", - "Conarium", - "Concept Destruction", - "Conception Plus: Maidens of the Twelve Stars", - "Concrete Genie", - "Conflict: Desert Storm", - "Conflict: Desert Storm II: Back to Baghdad", - "Conflict: Global Terror", - "Conflict: Vietnam", - "Conga Master", - "Conker: Live & Reloaded", - "Conspiracy: Weapons of Mass Destruction", - "Constantine", - "Construction Simulator 2: Console Edition", - "Construction Simulator 3: Console Edition", - "Constructor HD", - "Constructor Plus", - "Contra Anniversary Collection", - "Contra: Rogue Corps", - "Contrast", - "Control", - "Convallaria", - "Convoy: A Tactical Roguelike", - "Cook, Serve, Delicious! 2", - "Cook, Serve, Delicious! 3", - "Corpse Party: Blood Covered Repeated Fear", - "Corvette", - "Coryoon", - "Cosmic Fantasy 2 - •Cosmic Fantasy 2: Bōken Shōnen VanJP", - "Cosmic Fantasy 3: Bōken Shōnen Rei", - "Cosmic Fantasy 4: Ginga Shōnen Densetsu: Gekitouhen", - "Cosmic Fantasy 4: Ginga Shōnen Densetsu: Totsunyūhen", - "Cosmic Fantasy: Bōken Shōnen Yū", - "Cosmic Star Heroine", - "Costume Quest 2", - "Cotton Reboot!", - "Cotton: Fantastic Night Dreams - •CottonJP", - "Counter-Strike", - "CounterSpy", - "Cozy Groove", - "Crash 'n' Burn", - "Crash Bandicoot 4: It's About Time", - "Crash Bandicoot N. Sane Trilogy", - "Crash Bandicoot: The Wrath of Cortex", - "Crash Nitro Kart", - "Crash Tag Team Racing", - "Crash Team Racing Nitro-Fueled", - "Crash Twinsanity", - "Cratermaze - •Doraemon: Meikyū DaisakusenJP", - "Crawl", - "Crayola Scoot", - "Crazy Strike Bowling EX", - "Crazy Taxi 3: High Roller", - "Creaks", - "Creature in the Well", - "Cricket 19", - "Cricket 2005", - "Crime Life: Gang Wars", - "Crimson Sea", - "Crimson Skies: High Road to Revenge", - "Cris Tales", - "Cross Wiber: Cyber Combat Police", - "CrossCode", - "CrossKrush", - "Crossing Souls", - "Crouching Tiger, Hidden Dragon", - "Crown Trick", - "Crows: Burning Edge", - "Crusty Demons", - "Crypt of the NecroDancer", - "Cryptark", - "Crysis Remastered", - "Crystal Crisis", - "Crystar", - "Cube Life: Island Survival HD", - "Cubers: Arena", - "Cuphead", - "Curious Expedition", - "Curious George", - "Curse of the Dead Gods", - "Curse: The Eye of Isis", - "Curses 'N Chaos", - "Cyber City Oedo: Kemono no Alignment", - "Cyber Core", - "Cyber Cross", - "Cyber Dodge", - "Cyber Knight", - "Cyber Troopers Virtual-On Masterpiece 1995–2001", - "Cyberdimension Neptunia: 4 Goddesses Online", - "Cyberpunk 2077", - "DARQ: Complete Edition", - "DE.JA", - "DJMax Respect", - "DRIV3R", - "Daemon Vector", - "Daggerhood", - "Dai Makaimura", - "Dai Senryaku VII: Modern Military Tactics - Daisenryaku VII (JP)", - "Daichikun Crisis", - "Daisenpuu", - "Daisenpū Custom", - "Daisenryaku II: Campaign Version", - "Daisenryaku: Dai Toua Kouboushi 3", - "Dakar 18", - "Dakar 2: The World's Ultimate Rally", - "Damsel", - "Dance Dance Revolution Ultramix - Dance Stage Unleashed (PAL)", - "Dance Dance Revolution Ultramix 2 - Dance Stage Unleashed 2 (PAL)", - "Dance Dance Revolution Ultramix 3 - Dance Stage Unleashed 3 (PAL)", - "Dance Dance Revolution Ultramix 4", - "Dance: UK", - "Dandara", - "Danganronpa 1-2 Reload", - "Danganronpa Another Episode: Ultra Despair Girls", - "Danganronpa Trilogy", - "Danganronpa V3: Killing Harmony", - "Danger Zone", - "Dangerous Golf", - "Dangun Feveron", - "Darius Alpha", - "Darius Cozmic Collection", - "Darius Cozmic Revelation", - "Darius Plus", - "Dariusburst Chronicle Saviours", - "Dark Arcana: The Carnival", - "Dark Devotion", - "Dark Envoy", - "Dark Rose Valkyrie", - "Dark Souls II", - "Dark Souls III", - "Dark Souls Remastered", - "Dark Summit", - "Darkest Dungeon", - "Darkestville Castle", - "Darksiders Genesis", - "Darksiders II: Deathinitive Edition", - "Darksiders III", - "Darksiders: Warmastered Edition", - "Darkwatch", - "Darkwing Duck", - "Darkwood", - "Dave Mirra Freestyle BMX 2", - "David Beckham Soccer", - "Davis Cup Tennis", - "Davis Cup Tennis, The (CD)", - "Dawn of the Monsters", - "Day of the Tentacle: Remastered Edition", - "DayZ", - "Daylight", - "Daymare: 1998", - "Days Gone", - "De Blob", - "De Blob 2", - "Dead Alliance", - "Dead Cells", - "Dead Island 2", - "Dead Island Definitive Edition", - "Dead Man's Hand", - "Dead Moon", - "Dead Nation: Apocalypse Edition", - "Dead Rising", - "Dead Rising 2", - "Dead Rising 2: Off the Record", - "Dead Rising 4", - "Dead Star", - "Dead Synchronicity: Tomorrow Comes Today", - "Dead by Daylight", - "Dead of the Brain 1 & 2", - "Dead or Alive 3", - "Dead or Alive 5 Last Round", - "Dead or Alive 6", - "Dead or Alive Ultimate", - "Dead or Alive Xtreme 3", - "Dead or Alive Xtreme Beach Volleyball", - "Dead or School", - "Dead to Rights", - "Dead to Rights II", - "Deadcore", - "Deadlight: Director's Cut", - "Deadpool", - "Dear Esther", - "Death Bringer", - "Death Come True", - "Death Coming", - "Death Crown", - "Death Squared", - "Death Stranding", - "Death end re;Quest", - "Death end re;Quest 2", - "Death's Gambit", - "Deathrow", - "Deathsmiles I & II", - "Decay of Logos", - "Deception IV: The Nightmare Princess", - "Deemo: Reborn", - "Deep Blue - •Deep Blue: Kaitei ShinwaJP", - "Deep Sky Derelicts: Definitive Edition", - "Def Jam: Fight for NY", - "Defender", - "Defenders of Ekron", - "Defense Grid 2", - "Deformers", - "Deiland", - "Deko Boko Densetsu", - "Deleveled", - "Deliver Us the Moon", - "Delta Force: Black Hawk Down", - "Deltarune", - "Demetrios: The Big Cynical Adventure", - "Demon Gaze II", - "Demon's Tier+", - "Demon's Tilt", - "Demons Age", - "Dengeki Bunko: Fighting Climax Ignition", - "Dennou Taisen: DroneZ", - "Dennō Tenshi: Digital Angel", - "Densha de Go!! Hashirou Yamanote Sen", - "Deponia", - "Deponia Doomsday", - "Descenders", - "Desperados III", - "Destiny", - "Destiny Connect: Tick-Tock Travelers", - "Destroy All Humans!", - "Destroy All Humans!", - "Destroy All Humans! 2", - "Detana!! TwinBee", - "Detention", - "Detroit: Become Human", - "Deus Ex: Invisible War", - "Deus Ex: Mankind Divided", - "Devil Engine", - "Devil May Cry 4: Special Edition", - "Devil May Cry 5", - "Devil May Cry HD Collection", - "Devil's Crush - •Devil CrashJP", - "Devious Dungeon", - "Devious Dungeon 2", - "Dex", - "Diablo II: Resurrected", - "Diablo III", - "Diablo IV", - "Die Hard", - "Die Hard: Vendetta", - "Die for Valhalla!", - "Digimon Rumble Arena 2", - "Digimon Story: Cyber Sleuth", - "Digimon Story: Cyber Sleuth – Hacker's Memory", - "Digimon Survive", - "Digimon World 4 - Dejimon Warudo X (JP)", - "Digimon World: Next Order", - "Digital Champ: Battle Boxing", - "Digital Comic Patlabor: Chapter of Griffon", - "Dino Crisis 3", - "Dinosaur Hunting", - "Dinotopia: The Sunstone Odyssey", - "Dirt 4", - "Dirt 5", - "Dirt Rally", - "Dirt Rally 2.0", - "Disaster Report 4 Plus: Summer Memories", - "Disc Jam", - "Disco Elysium: The Final Cut", - "Disgaea 1 Complete", - "Disgaea 4 Complete+", - "Disgaea 5 Complete", - "Disgaea 6: Defiance of Destiny", - "Dishonored 2", - "Dishonored: Death of the Outsider", - "Dishonored: Definitive Edition", - "Disintegration", - "Disney Classic Games: Aladdin and The Lion King", - "Disney Infinity 3.0", - "Disney Infinity: Marvel Super Heroes", - "Disney's Extreme Skate Adventure", - "Dissidia Final Fantasy NT", - "Distance", - "Distraint", - "Distraint 2", - "Divekick", - "Divide", - "Divinity: Original Sin", - "Divinity: Original Sin II", - "DmC: Devil May Cry Definitive Edition", - "Do Not Feed the Monkeys", - "Doctor Who: The Edge of Reality", - "Dogos", - "Dokapon UP! Mugen no Roulette", - "Doki-Doki Universe", - "Don Bradman Cricket 17", - "Don Doko Don", - "Don't Die, Mr. Robot!", - "Don't Starve", - "Don't Starve Together", - "Donut County", - "Doodle Devil", - "Doodle God", - "Doodle God Evolution", - "Doom", - "Doom", - "Doom 3", - "Doom 3", - "Doom 3: Resurrection of Evil", - "Doom 64", - "Doom Eternal", - "Doom II", - "Door Kickers: Action Squad", - "Doraemon Story of Seasons", - "Doraemon: Nobita no Dorabian Night", - "Doraemon: Nobita no Dorabian Night (CD)", - "Double Dragon II: The Revenge", - "Double Dungeons", - "Double Ring - •W-Ring: The Double RingsJP", - "Double-S.T.E.A.L. - The Second Clash", - "Doughlings: Arcade", - "Download", - "Download 2", - "Downtown Nekketsu Kōshinkyoku", - "Downtown Nekketsu Monogatari", - "Downwell", - "Dr. Muto", - "Dr. Seuss' The Cat in the Hat", - "Dragon Age: Inquisition", - "Dragon Ball FighterZ", - "Dragon Ball Xenoverse", - "Dragon Ball Xenoverse 2", - "Dragon Ball Z: Idainaru Son Gokou Densetsu", - "Dragon Ball Z: Kakarot", - "Dragon Ball Z: Sagas", - "Dragon EGG!", - "Dragon Fantasy: The Black Tome of Ice", - "Dragon Fin Soup", - "Dragon Half", - "Dragon Knight & Graffiti", - "Dragon Knight II", - "Dragon Knight III", - "Dragon Marked For Death", - "Dragon Quest Builders", - "Dragon Quest Builders 2", - "Dragon Quest Heroes", - "Dragon Quest Heroes II", - "Dragon Quest X", - "Dragon Quest XI", - "Dragon Quest XI S: Echoes of an Elusive Age - Definitive Edition", - "Dragon Saber", - "Dragon Slayer: The Legend of Heroes - •Dragon Slayer: Eiyū DensetsuJP", - "Dragon Slayer: The Legend of Heroes II", - "Dragon Spirit", - "Dragon Star Varnir", - "Dragon's Crown Pro", - "Dragon's Curse - •Adventure IslandJP", - "Dragon's Dogma: Dark Arisen", - "Dragon's Lair 3D: Return to the Lair", - "DragonFangZ: The Rose & Dungeon of Time", - "Drake of the 99 Dragons", - "Draugen", - "Draw a Stickman: Epic 2", - "Drawful 2", - "Drawn to Death", - "Dread Nautical", - "Dreamfall Chapters: The Longest Journey", - "Dreamfall: The Longest Journey", - "Dreams", - "Dreamwalker: Never Fall Asleep", - "Dreii", - "Drihoo (JP)", - "Driveclub", - "Driveclub Bikes", - "Driver: Parallel Lines", - "Drop Off - •Drop Rock Hora HoraJP", - "Dual Gear", - "Duck Game", - "Duke Nukem 3D: 20th Anniversary World Tour", - "Dungeon Defenders: Awakened", - "Dungeon Explorer", - "Dungeon Explorer II", - "Dungeon Master - •Dungeon Master: Theron's QuestJP", - "Dungeon Punks", - "Dungeon Village", - "Dungeon of the Endless", - "DungeonTop", - "Dungeons & Dragons: Heroes", - "Dungeons & Dragons: Order of the Griffon", - "Dungeons 2", - "Dungeons 3", - "Dungreed", - "Dusk Diver", - "Dust: An Elysian Tail", - "Dustoff Heli Rescue 2", - "Dustoff Z", - "Dying Light", - "Dying Light 2", - "Dynastic Hero, The - •Chō Eiyū Densetsu Dynastic HeroJP", - "Dynasty Warriors 3 - Shin Sangokumusou 2 (JP)", - "Dynasty Warriors 4 - Shin Sangokumusou 3 (JP)", - "Dynasty Warriors 5 - Shin Sangokumusou 4 (JP)", - "Dynasty Warriors 8: Empires", - "Dynasty Warriors 8: Xtreme Legends Complete Edition", - "Dynasty Warriors 9", - "Dynasty Warriors 9: Empires", - "Dynasty Warriors: Godseekers", - "Dōkyūsei", - "EA Sports UFC", - "EA Sports UFC 2", - "EA Sports UFC 3", - "EA Sports UFC 4", - "ELEX", - "ESP Ra.De. Psy", - "ESPN College Hoops", - "ESPN College Hoops 2K5", - "ESPN International Winter Sports 2002", - "ESPN MLS ExtraTime 2002", - "ESPN Major League Baseball", - "ESPN NBA 2K5", - "ESPN NBA 2Night 2002", - "ESPN NBA Basketball", - "ESPN NFL 2K5", - "ESPN NFL Football", - "ESPN NFL PrimeTime 2002", - "ESPN NHL 2K5", - "ESPN NHL Hockey", - "ESPN Winter X-Games Snowboarding 2002", - "ESports Life Tycoon", - "Earth Atlantis", - "Earth Defense Force 4.1", - "Earth Defense Force 5", - "Earth Defense Force 6", - "Earth Defense Force: Iron Rain", - "Earth Defense Force: World Brothers", - "Earth Wars", - "EarthNight", - "Earthfall", - "Earthlock: Festival of Magic", - "Eastshade", - "Echo", - "Ed, Edd n Eddy: The Mis-Edventures", - "Edge of Eternity", - "Edna & Harvey: Harvey's New Eyes", - "Edna & Harvey: The Breakout", - "Efera and Jiliora: The Emblem from Darkness", - "Effie", - "Egg Mania: Eggstreme Madness", - "Eikan wa Kimi ni", - "Eitr", - "Eiyuden Chronicle: Hundred Heroes", - "Eiyū Saigokushi", - "Elden Ring", - "Electronic Super Joy", - "Electronic Super Joy 2", - "Elite: Dangerous", - "Elliot Quest", - "Embers of Mirrim", - "Emerald Dragon", - "Emily Wants to Play", - "Empire of Angels IV", - "Empire of Sin", - "Enchanted Portals", - "Enclave", - "Ender Lilies: Quietus of the Knights", - "Endless Dungeon", - "Endless Fables: Dark Moor", - "Energy", - "Energy Hook", - "England International Football", - "Enigmatis 2: The Mists of Ravenwood", - "Enigmatis 3: The Shadow of Karkhala", - "Enigmatis: The Ghosts of Maple Creek", - "Enter the Gungeon", - "Enter the Matrix", - "Entwined", - "Epic Astro Story", - "Eragon", - "Erica", - "Escape Goat 2", - "Escape Plan", - "Ether One", - "Etherborn", - "Euro Fishing", - "Evan's Remains", - "Eve: Valkyrie - Warzone", - "Even the Ocean", - "Eventide 2: Sorcerer's Mirror", - "Eventide 3: Legacy of Legends", - "Eventide: Slavic Fable", - "Everspace", - "Everspace 2", - "Everybody's Golf", - "Everybody's Gone to the Rapture", - "Everything", - "Evil Dead: A Fistful of Boomstick", - "Evil Dead: Regeneration", - "Evil Dead: The Game", - "Evil West", - "Evolve", - "Evotinction", - "ExaSkeleton", - "Exception", - "Exile", - "Exile's End", - "Exile: Wicked Phenomenon - •Exile IIJP", - "Exist Archive", - "Exit the Gungeon", - "Exophobia", - "Extinction", - "F-1 CIRCUS'92", - "F-1 Dream", - "F-1 Pilot", - "F.I.S.T.: Forged in Shadow Torch", - "F1 2001", - "F1 2002", - "F1 2015", - "F1 2016", - "F1 2017", - "F1 2018", - "F1 2019", - "F1 2020", - "F1 2021", - "F1 Career Challenge", - "F1 Circus", - "F1 Circus '91", - "F1 Circus Special", - "F1 Team Simulation Project F", - "F1 Triple Battle", - "FIA European Truck Racing Championship", - "FIFA 06 Soccer", - "FIFA 07", - "FIFA 14", - "FIFA 15", - "FIFA 16", - "FIFA 17", - "FIFA 18", - "FIFA 19", - "FIFA 20", - "FIFA 2005", - "FIFA 21", - "FIFA Football 2003", - "FIFA Football 2004", - "FIFA Street", - "FIFA Street 2", - "FIFA World Cup: Germany 2006", - "FILA World Tour Tennis", - "Fable", - "Fable: The Lost Chapters", - "Faceball", - "Faeria", - "Fairy Fencer F: Advent Dark Force", - "Fairy Tail", - "Falcon", - "Fall Guys: Ultimate Knockout", - "Fallen Legion: Revenants", - "Fallen Legion: Sins of an Empire", - "Fallout 4", - "Fallout 76", - "Fallout: Brotherhood of Steel", - "Family Feud", - "Family Guy Video Game!", - "Family Mysteries 2: Echoes of Tomorrow", - "Family Mysteries: Poisonous Promises", - "Fang of Alnam", - "Fantastic 4", - "Fantasy General II", - "Fantasy Zone", - "Far Cry 3 Classic", - "Far Cry 4", - "Far Cry 5", - "Far Cry 6", - "Far Cry Instincts", - "Far Cry Instincts: Evolution", - "Far Cry Primal", - "Far: Lone Sails", - "Farjius no Jakōtei", - "Farm Together", - "Farming Simulator 15", - "Farming Simulator 17", - "Farming Simulator 19", - "Fast & Furious Crossroads", - "Fast Striker", - "Fat Princess Adventures", - "Fatal Frame - Project Zero (PAL)", - "Fatal Frame II: Crimson Butterfly - Project Zero II: Crimson Butterfly (PAL)", - "Fate/Extella Link", - "Fate/Extella: The Umbral Star", - "Fault Milestone One", - "Fault Milestone Two Side: Above", - "Fault Milestone Two Side: Below", - "Faussete Amour", - "Fe", - "Feist", - "Felix the Reaper", - "Fell Seal: Arbiter's Mark", - "Fenix Furia", - "Feudal Alloy", - "Fez", - "Fibbage", - "Fiend Hunter", - "Fight Club", - "Fight Night 2004", - "Fight Night Round 2", - "Fight Night: Round 3", - "Fight'N Rage", - "Fighting EX Layer", - "Fighting Run", - "Fighting Street", - "Figment", - "Filthy Lucre", - "Final Blaster", - "Final Fantasy IX", - "Final Fantasy Type-0 HD", - "Final Fantasy VII", - "Final Fantasy VII Remake", - "Final Fantasy VIII Remastered", - "Final Fantasy X/X-2 HD Remaster", - "Final Fantasy XII: The Zodiac Age", - "Final Fantasy XIV: A Realm Reborn", - "Final Fantasy XIV: Heavensward", - "Final Fantasy XIV: Shadowbringers", - "Final Fantasy XIV: Stormblood", - "Final Fantasy XV", - "Final Fantasy: Crystal Chronicles Remastered", - "Final Fight: Streetwise", - "Final Horizon", - "Final Lap Twin", - "Final Match Tennis", - "Final Soldier", - "Final Zone II", - "Finding Nemo", - "Fire Blade", - "Fire Pro Joshi: Shōmu Chōjo Taisen: Zenjo vs. JWP", - "Fire Pro Wrestling 2nd Bout", - "Fire Pro Wrestling 3 Legend Bout", - "Fire Pro Wrestling Combination Tag", - "Fire Pro Wrestling World", - "Firewatch", - "Fishing Sim World: Pro Tour", - "Fishing: Barents Sea", - "Fist of the North Star: Lost Paradise", - "Five Dates", - "Five Nights at Freddy's", - "Five Nights at Freddy's 2", - "Five Nights at Freddy's 3", - "Five Nights at Freddy's 4", - "Five Nights at Freddy's: Help Wanted", - "Five Nights at Freddy's: Security Breach", - "Five Nights at Freddy's: Sister Location", - "Flame Over", - "Flash Hiders", - "Flashback", - "Flat Heroes", - "FlatOut", - "FlatOut 2", - "FlatOut 4: Total Insanity", - "Flight Academy", - "Flinthook", - "Flipper Mechanic", - "Flipping Death", - "Flockers", - "Flow", - "Flower", - "Fluster Cluck", - "Football, Tactics & Glory", - "For Honor", - "For the King", - "Forager", - "Forced", - "Ford Bold Moves Street Racing", - "Ford Mustang: The Legend Lives", - "Ford Racing 2", - "Ford Racing 3", - "Ford vs. Chevy", - "Foreclosed", - "Foregone", - "Forgotten Realms: Demon Stone", - "Forgotten Worlds", - "Forgotton Anne", - "Forma.8", - "Formation Armed F", - "Formation Soccer", - "Formation Soccer '95 della Seria A", - "Formation Soccer on J-League", - "Forza Motorsport", - "Foul Play", - "Four Sided Fantasy", - "Fragments of Him", - "Frane: Dragons' Odyssey", - "Frantics", - "Fray CD", - "FreakOut: Calamity TV Show", - "Freaky Flyers", - "Freddy Spaghetti", - "Freedom Fighters", - "Freedom Finger", - "Freedom Planet", - "Freestyle MetalX", - "Freestyle Street Soccer", - "Friday the 13th: The Game", - "Frogger Beyond", - "Frogger: Ancient Shadow", - "Frostpunk", - "Full Metal Panic! Fight! Who Dares Wins", - "Full Mojo Rampage", - "Full Spectrum Warrior", - "Full Spectrum Warrior: Ten Hammers", - "Full Throttle Remastered", - "Furi", - "Furious Karting", - "Fury Unleashed", - "Fuser", - "Fushigi no Gensōkyō 3", - "Fushigi no Umi no Nadia", - "Fushigi no Yume no Alice", - "Futurama", - "Future Tactics: The Uprising", - "Future Unfolding", - "FutureGrind", - "Futuridium EP Deluxe", - "Fuuraiki 4", - "Fuzion Frenzy", - "G.I. Joe: Operation Blackout", - "Gaia no Monshou", - "Gaiflame", - "Gain Ground SX", - "Gakuen", - "Gal Gun 2", - "Gal Gun: Double Peace", - "Gal Gunvolt", - "Gal Gunvolt Burst", - "Galacide", - "Galaga '90 - •Galaga '88JP", - "Galak-Z: The Dimensional", - "Galaxy Angel", - "Galaxy Deka Gayvan", - "Galaxy Fräulein Yuna", - "Galaxy Fräulein Yuna 2", - "Galaxy of Pen & Paper +1 Edition", - "Galleon", - "Game Dev Story", - "Game Tengoku CruisnMix", - "Game of Thrones", - "Ganbare! Golf Boys", - "Ganbare! Super Strikers", - "Gang Beasts", - "Garfield Kart: Furious Racing", - "Garou: Mark of the Wolves", - "Garō Densetsu 2", - "Garō Densetsu Special", - "Gas Guzzlers Extreme", - "Gate of Thunder", - "Gauntlet: Dark Legacy", - "Gauntlet: Seven Sorrows", - "Gauntlet: Slayer Edition", - "Gekido: Kintaro's Revenge", - "Gekisha Boy", - "Gem Smashers", - "Gemini: Heroes Reborn", - "Gene Troopers", - "Generation Zero", - "Genji Tsūshin Amedama", - "Genma Onimusha", - "Genocide", - "Genpei Tōma Den", - "Gensō No Rondo", - "Gensō Rōgoku no Kaleidoscope", - "Gensō Tairiku Auleria", - "Geometry Wars 3: Dimensions", - "Get Even", - "Ghost 1.0", - "Ghost Blade HD", - "Ghost Manor", - "Ghost Master: The Gravenville Chronicles", - "Ghost Sweeper Mikami", - "Ghost of Tsushima", - "Ghost of a Tale", - "Ghostbusters: The Video Game Remastered", - "Ghostrunner", - "Ghosts 'n Goblins Resurrection", - "Ghoulboy: Dark Sword of Goblin", - "Giana Sisters: Twisted Dreams - Director's Cut", - "Giga Wrecker Alt.", - "Ginga Force", - "Ginga Fukei Densetsu Sapphire", - "Giraffe and Annika", - "Girls und Panzer: Dream Tank Match", - "Gladiator: Sword of Vengeance", - "Gladius", - "Glass Masquerade", - "Glass Masquerade 2", - "Glitched", - "Gnog", - "Go! Go! Birdie Chance", - "Goat Simulator", - "Goblin Commander: Unleash the Horde", - "God Eater 2: Rage Burst", - "God Eater 3", - "God Eater Resurrection", - "God Panic: Shijō Saikyō Gundan", - "God Wars: Future Past", - "God of War", - "God of War III Remastered", - "God's Trigger", - "Gods Will Fall", - "Godzilla - •Gojira: Bakutō RetsudenJP", - "Godzilla: Destroy All Monsters Melee", - "Godzilla: Save the Earth", - "Godzilla: The Game", - "Going Under", - "Gokuraku! Chuuka Daisen", - "Golden Axe", - "Golden Force", - "GoldenEye: Rogue Agent", - "Golf Zero", - "Golf with Your Friends", - "Gomola Speed", - "Gone Home", - "Gonner", - "Gonner 2", - "Goodbye Deponia", - "Goodbye Volcano High", - "Goosebumps: The Game", - "Gotcha!", - "Gotham Knights", - "Gothic Murder: Adventure That Changes Destiny", - "Grab the Bottle", - "Grabbed by the Ghoulies", - "Graceful Explosion Machine", - "Gradius", - "Gradius II", - "Gran Turismo Sport", - "Granblue Fantasy Versus", - "Granblue Fantasy: Relink", - "Grand Ages: Medieval", - "Grand Kingdom", - "Grand Prix Rock N Racing", - "Grand Prix Story", - "Grand Theft Auto III", - "Grand Theft Auto V", - "Grand Theft Auto: San Andreas", - "Grand Theft Auto: Vice City", - "Gravel", - "Graven", - "Graveyard Keeper", - "Gravity Games Bike: Street. Vert. Dirt.", - "Gravity Ghost: Deluxe Edition", - "Gravity Heroes", - "Gravity Rush 2", - "Gravity Rush Remastered", - "GreedFall", - "Green Hell", - "Greg Hastings Tournament Paintball", - "Greg Hastings' Tournament Paintball Max'd", - "Grey Skies: A War of the Worlds Story", - "Grid", - "Gridd: Retroenhanced", - "Grim Fandango Remastered", - "Grim Legends 2: Song of the Dark Swan", - "Grim Legends 3: The Dark City", - "Grim Legends: The Forsaken Bride", - "Grip: Combat Racing", - "Gris", - "Grood", - "Grooverider: Slot Car Thunder", - "Group S Challenge - CIRCUS DRIVE (JP)", - "Grow Home", - "Grow Up", - "Guacamelee! 2", - "Guacamelee! Super Turbo Championship Edition", - "Guard Duty", - "Guardians of the Galaxy: The Telltale Series", - "Guild of Darksteel", - "Guilty Gear", - "Guilty Gear Isuka[1]", - "Guilty Gear Strive", - "Guilty Gear X2#Reload[2]", - "Guilty Gear Xrd: Revelator", - "Guilty Gear Xrd: Sign", - "Guitar Hero Live", - "Gulclight TDF-2", - "Gulliver Boy", - "Gun", - "Gun Metal", - "GunGriffon: Allied Strike", - "Gunboat", - "Gundam Breaker 3", - "Gundam Versus", - "Gungrave G.O.R.E.", - "Gunhead", - "Gunlord X", - "Gunman Clive HD Collection", - "Guns of Icarus Alliance", - "Guns, Gore and Cannoli", - "Guns, Gore and Cannoli 2", - "Gunscape", - "Gunvalkyrie", - "Gunvolt Chronicles: Luminous Avenger iX", - "Gyuwanburā Jiko Chūshin Ha: Gekitō Sanjūroku Janshi", - "Gyuwanburā Jiko Chūshin Ha: Mahjong Puzzle Collection", - "Götzendiener", - "H-Hour: World's Elite", - "Hakoniwa Company Works", - "Half-Life 2", - "Halo 2", - "Halo 2 Multiplayer Map Pack", - "Halo: Combat Evolved", - "Hamidashi Creative", - "Hammerwatch", - "Hanataa ka daka!?", - "Hand of Fate", - "Hand of Fate 2", - "Hard Reset Redux", - "Hard West: Ultimate Edition", - "Hardcore Mecha", - "Hardspace: Shipbreaker", - "Hardware: Rivals", - "Harry Potter and the Chamber of Secrets", - "Harry Potter and the Goblet of Fire", - "Harry Potter and the Prisoner of Azkaban", - "Harry Potter and the Sorcerer's Stone - Harry Potter and the Philosopher's Stone (PAL)", - "Harry Potter: Quidditch World Cup", - "Harvest Moon: Light of Hope", - "Harvest Moon: Mad Dash", - "Harvest Moon: One World", - "Has-Been Heroes", - "Hataraku Shōjo: Tekipaki Working Love", - "Hatoful Boyfriend", - "Hatris", - "Hatsukoi Monogatari", - "Hatsune Miku: Project Diva Future Tone", - "Hatsune Miku: Project Diva X", - "Haven", - "Hawk F-123", - "Headhunter Redemption", - "Headlander", - "Headliner: NoviNews", - "Headsnatchers", - "Heart&Slash", - "Heaven's Vault", - "Heavenly Bodies", - "Heavy Rain", - "Heavy Unit", - "Hellblade: Senua's Sacrifice", - "Helldivers", - "Hellfire S", - "Hellfront: Honeymoon", - "Hellmut: The Badass from Hell", - "Hello Kitty: Roller Rescue - Hello Kitty: Mission Rescue (AS)", - "Hellpoint", - "Her Majesty's Spiffing", - "Here They Lie", - "Hero Defense", - "Hero Must Die. Again", - "Hero Siege", - "Heroes of the Pacific", - "Heroland", - "Hidden Agenda", - "Hidden Through Time", - "Hide & Dance!", - "High Grenadier", - "High Heat Major League Baseball 2004", - "High Rollers Casino", - "Hihō Densetsu: Chris no Bōken", - "Himitsu no Hanazono", - "Hindsight 20/20", - "Hisou Kihei Kai-Serd[b]", - "Hit the Ice", - "Hitman", - "Hitman 2", - "Hitman 2: Silent Assassin", - "Hitman Go", - "Hitman III", - "Hitman: Blood Money", - "Hitman: Contracts", - "HoPiKo", - "Hob", - "Hogwarts Legacy", - "Hohokum", - "Hollow Knight", - "Holy Potatoes! A Weapon Shop?!", - "Holy Potatoes! We're in Space?!", - "Holy Potatoes! What the Hell?!", - "Home - A Unique Horror Adventure", - "Home Free", - "Homefront: The Revolution", - "Honey in the Sky", - "Honey on the Road", - "Honō no Dōkyūji: Dodge Danpei", - "Hood: Outlaws & Legends", - "Horizon Chase Turbo", - "Horizon Forbidden West", - "Horizon Zero Dawn", - "Horned Knight", - "Horror Story", - "Hot Springs Story", - "Hot Wheels Unleashed", - "Hot Wheels: Stunt Track Challenge", - "Hotel Life: A Resort Simulator", - "Hotline Miami", - "Hotline Miami 2: Wrong Number", - "Hotshot Racing", - "House Flipper", - "How To Take Off Your Mask Remastered", - "How to Survive 2", - "How to Survive: Storm Warning Edition", - "Hue", - "Hulk", - "Human Sports Festival", - "Human: Fall Flat", - "Humanity", - "Hummer Badlands", - "Hunt: Showdown", - "Huntdown", - "Hunter: The Reckoning", - "Hunter: The Reckoning: Redeemer", - "Hyakumonogatari: Honto ni Atta Kowai Hanashi", - "Hyper Jam", - "Hyper Light Drifter", - "Hyper Void", - "Hyper Wars", - "HyperParasite", - "Hypnospace Outlaw", - "I Am Bread", - "I Am Setsuna", - "I, AI", - "I-Ninja", - "I.Q. Panic", - "IHRA Drag Racing 2004", - "IHRA Drag Racing: Sportsman Edition", - "IHRA Professional Drag Racing 2005", - "Ice Age 2: The Meltdown", - "Ice Age: Scrat’s Nutty Adventure", - "Icewind Dale: Enhanced Edition", - "Icey", - "Iconoclasts", - "Iga Ninden Gaiō", - "Ikaruga", - "Ikenfell", - "Illusion of L'Phalcia", - "Image Fight", - "Image Fight II", - "Immortal Planet", - "Immortal Realms: Vampire Wars", - "Immortal Redneck", - "Immortal: Unchained", - "Immortals Fenyx Rising", - "Impact Winter", - "Impossamole", - "In Between", - "In Celebration of Violence", - "In Nightmare", - "In Rays of the Light", - "In the Shadows", - "Inazuma Eleven: Great Road of Heroes", - "Indiana Jones and the Emperor's Tomb", - "Indigo Prophecy - Fahrenheit (PAL)", - "Indivisible", - "Industry Giant II", - "IndyCar Series", - "IndyCar Series 2005", - "Inertial Drift", - "Infamous First Light", - "Infamous Second Son", - "Inferno 2", - "Inferno Climber: Reborn", - "Infinifactory", - "Infinite Minigolf", - "Infliction: Extended Cut", - "Injustice 2", - "Injustice: Gods Among Us Ultimate Edition", - "Innocent Tears", - "Inoue Mami: Kono Hoshi ni Tatta Hitori no Kimi", - "Insane Robots", - "Inside", - "Inside My Radio", - "Inside Pitch 2003", - "Insurgency: Sandstorm", - "Intellivision Lives!", - "International Superstar Soccer 2", - "Inuwashi: Urabure Tantei to Ojou-sama Keiji no Ikebukuro Jiken File", - "Invector", - "Inversus", - "Invisible, Inc.", - "Invisigun Reloaded", - "Ion Fury", - "Iris.Fall", - "Iron Crypticle", - "Iron Harvest", - "Iron Phoenix", - "Iron Sea Defenders", - "Ironcast", - "Ironclad Tactics", - "Irony Curtain: From Matryoshka with Love", - "Is It Wrong to Try to Pick Up Girls in a Dungeon? Infinite Combat", - "Island", - "It Came From The Desert", - "It Takes Two", - "It's Quiz Time", - "Ittle Dew 2", - "J-League Greatest Eleven", - "J-Stars Victory Vs+", - "J. League Tremendous Soccer '94", - "J.B. Harold Murder Club", - "J.J. & Jeff - •Kato-chan Ken-chanJP", - "Jack Nicklaus' Turbo Golf - •Jack Nicklaus Championship GolfJP", - "Jack Nicklaus' Turbo Golf - •Jack Nicklaus' World Golf TourJP", - "Jacked", - "Jackie Chan's Action Kung Fu - •Jackie ChanJP", - "Jade Empire", - "James Cameron's Dark Angel", - "Jamestown+", - "Janshin Densetsu: Quest of Jongmaster", - "Jantei Monogatari", - "Jantei Monogatari 2: Uchū Tantei Diban: Shutsudō Hen", - "Jantei Monogatari 3: Saver Angels", - "Japanese Rail Sim: Journey to Kyoto", - "Jaseiken Necromancer", - "Jaws Unleashed", - "Jay and Silent Bob: Mall Brawl", - "Jazzpunk: Director's Cut", - "Jenny LeClue: Detectivú", - "Jeopardy!", - "Jet Car Stunts", - "Jet Set Knights", - "Jet Set Radio Future", - "Jetpack Joyride", - "Jett: The Far Shore", - "Jigoku Meguri", - "Jikkyou Powerful Pro Baseball 2016", - "Jikkyou World Soccer 2002", - "Jim Power", - "Jinki Resurrection", - "Jinmu Denshō Yaksa", - "Jisei: The First Case HD", - "JoJo's Bizarre Adventure: Eyes of Heaven", - "Jockey's Road", - "Joe Dever's Lone Wolf", - "John Madden Duo CD-ROM² Football", - "John Wick Hex", - "Jotun: Valhalla Edition", - "Journey", - "Journey to the Savage Planet", - "Joysound Dive 2", - "Judge Dredd: Dredd Vs. Death", - "Judgment", - "Juiced", - "Jumanji: The Video Game", - "Jump Force", - "Jump King", - "Jump Stars", - "Jurassic Park: Operation Genesis", - "Jurassic World Evolution", - "Just Cause", - "Just Cause 3", - "Just Cause 4", - "Just Dance 2021", - "Just Deal With It!", - "Just Die Already", - "Just Sing", - "Justice League Heroes", - "Jydge", - "Jūōki", - "Jūōki", - "K.O. Seiki Beast Sanjūshi", - "Kabuki Ittō Ryōdan", - "Kabuki Warriors", - "Kagami no Kuni no Legend", - "Kaizō Chōjin Shubibinman", - "Kaizō Chōjin Shubibinman 3", - "Kakuto Chojin", - "Kakuto Haō Densetsu Algunos", - "Kamen Rider: Battride War Genesis", - "Kamen Rider: Memory of Heroez", - "Kamiko", - "Kandagawa Jet Girls", - "Kao the Kangaroo: Round 2", - "Karaoke Revolution", - "Karaoke Revolution Party", - "Karumaruka Circle", - "Katamari Damacy Reroll", - "Katana Kami: A Way of the Samurai Story", - "Kattobi! Takuhai-Kun", - "Kawa no Nushizuri: Shizenha", - "Kaze Kiri", - "Kaze and the Wild Masks", - "Keep Talking and Nobody Explodes", - "Keith Courage in Alpha Zones - •Mashin Eiyuuden WataruJP", - "Kelly Slater's Pro Surfer", - "Ken Follett's The Pillars of the Earth", - "Kena: Bridge of Spirits", - "Kentucky Route Zero: TV Edition", - "Kerbal Space Program", - "Kerbal Space Program 2", - "Kero Blaster", - "Ketsui Deathtiny: Kizuna Jigoku Tachi", - "Kholat", - "KiKi KaiKai", - "Kiaidan 00", - "Kick Boxing, The", - "Kick Off Revival", - "KickBeat: Special Edition", - "Kickball", - "Kikou Heidan J-Phoenix +", - "Kill It With Fire", - "Kill Switch", - "Kill la Kill: If", - "Killing Floor 2", - "Killing Floor: Double Feature", - "Killzone Shadow Fall", - "Kin'iro Loveriche", - "Kin'iro Loveriche: Golden Time", - "King Arthur", - "King Oddball", - "King Of Casino", - "King of Seas", - "King's Bounty II", - "King's Quest", - "Kingdom Come: Deliverance", - "Kingdom Hearts III", - "Kingdom Hearts: Melody of Memory", - "Kingdom Hearts: The Story So Far", - "Kingdom Under Fire: Heroes", - "Kingdom Under Fire: The Crusaders", - "Kingdom of Night", - "Kingdom: New Lands", - "Kingdom: Two Crowns", - "Kingdoms of Amalur: Re-Reckoning", - "Kingmaker: Rise to the Throne", - "Kingpin: Reloaded", - "Kings of Lorn: The Fall of Ebris", - "Kisō Louga", - "Kitaria Fables", - "Kitty Powers' Matchmaker", - "Klaus", - "Klax", - "Knack", - "Knack 2", - "Knight Rider Special", - "Knight's Apprentice: Memorick's Adventures", - "Knightin'+", - "Knights and Bikes", - "Knights of the Temple II", - "Knights of the Temple: Infernal Crusade", - "Knock-Knock", - "Knockout City", - "Knockout Kings 2002", - "Knot", - "Knowledge is Power", - "Knowledge is Power: Decades", - "Koi", - "Koihime Enbu", - "Koihime Enbu RyoRaiRai", - "Kona", - "Kore ga Pro Yakyuu '90", - "Kore ga Pro Yakyū '89", - "Kotodama: The 7 Mysteries of Fujisawa", - "Kowloon's Rhizome: A Day of the Fire", - "Kromaia Omega", - "Kung Fu Chaos", - "Kunio-kun: The World Classics Collection", - "Kwaidan: Azuma Manor Story", - "Kyūkyoku Tiger", - "L-Dis", - "L.A. Noire", - "L.A. Rush", - "LA Cops", - "LMA Manager 2003", - "LMA Manager 2004", - "LMA Manager 2005", - "LMA Manager 2006", - "La Valeur", - "La-Mulana", - "La-Mulana 2", - "Labyrinth Life", - "Labyrinth of Galleria: Coven of Dusk", - "Labyrinth of Refrain: Coven of Dusk", - "Labyrinth of Zangetsu", - "Lady Phantom", - "Laid-Back Camp -Virtual- Fumoto Campsite", - "Laid-Back Camp -Virtual- Lake Motosu", - "Laid-Back Camp: Have a Nice Day!", - "Lair of the Clockwork God", - "Land of the Dead: Road to Fiddler's Green", - "Langrisser I & II HD Remastered", - "Langrisser: Hikari no Matsuei", - "Lapis x Labyrinth", - "Laplace no Ma", - "Lara Croft Go", - "Lara Croft and the Temple of Osiris", - "Largo Winch: Empire Under Threat", - "Laser League", - "Laserlife", - "Last Alert - •Red AlertJP", - "Last Armageddon", - "Last Day of June", - "Last Stop", - "Late Shift", - "LawBreakers", - "Laws of Machine", - "Layers of Fear", - "Layers of Fear 2", - "League of Legends: Wild Rift", - "Leap of Fate", - "Leaving Lyndow", - "Left Alive", - "Legacy of Kain: Defiance", - "Legend of Hero Tonma", - "Legend of Kay Anniversary", - "Legend of Mana", - "Legend of Xanadu", - "Legend of Xanadu II", - "Legendary Axe II, The - •Ankoku DensetsuJP", - "Legendary Axe, The - •Makyō DensetsuJP", - "Legends of Wrestling", - "Legends of Wrestling II", - "Legion", - "Lego Batman 3: Beyond Gotham", - "Lego City Undercover", - "Lego DC Super-Villains", - "Lego Dimensions", - "Lego Harry Potter Collection", - "Lego Jurassic World", - "Lego Marvel Super Heroes", - "Lego Marvel Super Heroes 2", - "Lego Marvel's Avengers", - "Lego Movie Videogame", - "Lego Movie Videogame 2", - "Lego Ninjago Movie Video Game", - "Lego Star Wars II: The Original Trilogy", - "Lego Star Wars: The Force Awakens", - "Lego Star Wars: The Skywalker Saga", - "Lego Star Wars: The Video Game", - "Lego The Hobbit", - "Lego Worlds", - "Legrand Legacy: Tale of the Fatebounds", - "Leisure Suit Larry: Magna Cum Laude", - "Leisure Suit Larry: Wet Dreams Don't Dry", - "Leisure Suit Larry: Wet Dreams Dry Twice", - "Lemmings", - "Lemnis Gate", - "Lemony Snicket's A Series of Unfortunate Events", - "Leo's Fortune: HD Edition", - "Let Them Come", - "Let's Sing 2020", - "Let's Sing 2021", - "Let's Sing Country", - "Let's Sing Queen", - "Lethal League", - "Lethal League Blaze", - "Letter Quest Remastered", - "Lichdom: Battlemage", - "Lichtspeer: Double Speer Edition", - "Life Goes On: Done to Death", - "Life Is Strange", - "Life Is Strange 2", - "Linda³", - "Link-a-Pix Deluxe", - "Links 2004", - "Lithium: Inmate 39", - "Little Big Workshop", - "Little Devil Inside", - "Little Misfortune", - "Little Nightmares", - "Little Nightmares II", - "Little Town Hero", - "Little Witch Academia: Chamber of Time", - "LittleBigPlanet 3", - "Livelock", - "Lock's Quest", - "LocoRoco 2 Remastered", - "LocoRoco Remastered", - "Lode Runner Legacy", - "Lode Runner: Ushina Wareta Meikyū", - "Lone Survivor: The Director's Cut", - "Lonely Mountains: Downhill", - "Loom", - "Loons: The Fight for Fame", - "Loot Rascals", - "Lord of Wars", - "Lords of Thunder - •Winds of ThunderJP", - "Lords of the Fallen", - "Lords of the Rising Sun - •Rising SunJP", - "Lornsword Winter Chronicle", - "Lost Castle", - "Lost Ember", - "Lost Grimoires 2: Shard of Mystery", - "Lost Grimoires: Stolen Kingdom", - "Lost Orbit: Terminal Velocity", - "Lost Ruins", - "Lost Sea", - "Lost Soul Aside", - "Lost Sphear", - "Lost Wing", - "Lost Words: Beyond the Page", - "Lotus Challenge", - "Louga II: The Ends of Shangrila", - "Lovecraft's Untold Stories", - "Lovers in a Dangerous Spacetime", - "MLB Slugfest 2003", - "MLB Slugfest 2004", - "MLB Slugfest 2006", - "MLB Slugfest: Loaded", - "MTV Music Generator 3: This is the Remix", - "MTX: Mototrax", - "MVP 06: NCAA Baseball", - "MVP Baseball 2003", - "MVP Baseball 2004", - "MVP Baseball 2005", - "MX 2002", - "MX Superfly", - "MX Unleashed", - "MX World Tour Featuring Jamie Little", - "MX vs. ATV Unleashed", - "Mace Griffin: Bounty Hunter", - "Mad Dash Racing", - "Mad Stalker: Full Metal Force", - "Madagascar", - "Madden NFL 06", - "Madden NFL 07", - "Madden NFL 08", - "Madden NFL 09", - "Madden NFL 2002", - "Madden NFL 2003", - "Madden NFL 2004", - "Madden NFL 2005", - "Madō King Granzort", - "Madō Monogatari I", - "Mafia: The City of Lost Heaven", - "Magatama", - "Magi Death Fight: Mahou Gakuen", - "Magic the Gathering: Battlegrounds", - "Magical Chase", - "Magical Dinosaur Tour - •Magical Saurus TourJP", - "Magicoal", - "Mahjong Clinic Special", - "Mahjong Gakuen - Tōma Sōhirō Tōjō", - "Mahjong Gakuen Mild", - "Mahjong Gokū Special", - "Mahjong Haōden: Kaiser's Quest", - "Mahjong Lemon Angel", - "Mahjong Shikaku Retsuden: Mahjong Wars", - "Mahjong Sword", - "Mahjong on the Beach", - "Maison Ikkoku", - "Major League Baseball 2K5", - "Major League Baseball 2K5: World Series Edition", - "Major League Baseball 2K6", - "Major League Baseball 2K7", - "Makai Hakkenden Shada", - "Makai Prince Dorabocchan", - "Malice", - "Mamono Hunter Yōko: Makai Kara no Tenkōsai", - "Mamono Hunter Yōko: Tooki Yobikoe", - "Manchester United Manager 2005", - "Manhunt", - "Maniac Pro Wrestling", - "Marc Ecko's Getting Up: Contents Under Pressure", - "Martial Champion", - "Marvel Nemesis: Rise of the Imperfects", - "Marvel vs. Capcom 2", - "Marvel: Ultimate Alliance", - "Mashed: Drive to Survive", - "Mashed: Fully Loaded", - "Master of Monsters", - "Mat Hoffman's Pro BMX 2", - "Max Payne", - "Max Payne 2: The Fall of Max Payne", - "Maximum Chase", - "MechAssault", - "MechAssault 2: Lone Wolf", - "Medal of Honor: European Assault", - "Medal of Honor: Frontline", - "Medal of Honor: Rising Sun", - "Mega Man Anniversary Collection", - "Megami Paradise", - "Meikyū no Elfine", - "Melbourne Cup Challenge - Frankie Dettori Racing (EUR)", - "Men of Valor", - "Mercenaries: Playground of Destruction", - "Metal Angel", - "Metal Angel 2", - "Metal Arms: Glitch in the System", - "Metal Dungeon", - "Metal Gear Solid 2: Substance", - "Metal Slug 3", - "Metal Slug 4", - "Metal Slug 5", - "Metal Stoker", - "Metal Wolf Chaos", - "MetamorJupiter", - "Miami Vice", - "Micro Machines", - "Midnight Club 3: DUB Edition", - "Midnight Club 3: DUB Edition Remix", - "Midnight Club II", - "Midtown Madness 3", - "Midway Arcade Treasures", - "Midway Arcade Treasures 2", - "Midway Arcade Treasures 3", - "Might & Magic", - "Might and Magic III: Isles of Terra", - "Mike Tyson Heavyweight Boxing", - "Military Madness - •NectarisJP", - "Minesweeper", - "Minority Report: Everybody Runs", - "Mirai Shōnen Conan", - "Mission Impossible: Operation Surma", - "Mitsubachi Gakuen", - "Mizubaku Daibouken", - "Mojo!", - "Momotaro Densetsu Gaiden Dai Ichi Shu", - "Momotarou Densetsu II", - "Momotarou Densetsu Turbo", - "Momotarō Katsugeki", - "Monopoly Party", - "Monster 4x4: World Circuit", - "Monster Garage", - "Monster Lair - •Wonder Boy III: Monster LairJP", - "Monster Maker: Yami no Ryūkishi", - "Monster Pro Wrestling", - "Moonlight Lady", - "Morita Shogi PC", - "Mortal Kombat: Armageddon", - "Mortal Kombat: Deadly Alliance", - "Mortal Kombat: Deception", - "Mortal Kombat: Shaolin Monks", - "Moto Roader", - "Moto Roader II", - "Moto Roader MC", - "MotoGP", - "MotoGP 2", - "MotoGP 3", - "Motocross Mania 3", - "Motteke Tamago", - "Mr Heli no Daibouken", - "Murakumo: Renegade Mech Pursuit", - "Muzzle Flash", - "Myst III: Exile", - "Myst IV: Revelation", - "Mystic Formula", - "Märchen Maze", - "N.U.D.E.@ Natural Ultimate Digital Experiment", - "NASCAR 06: Total Team Control", - "NASCAR 07", - "NASCAR 2005: Chase for the Cup", - "NASCAR Heat 2002", - "NASCAR Thunder 2002", - "NASCAR Thunder 2003", - "NASCAR Thunder 2004", - "NBA 2K2", - "NBA 2K3", - "NBA 2K6", - "NBA 2K7", - "NBA Ballers", - "NBA Ballers: Phenom", - "NBA Inside Drive 2002", - "NBA Inside Drive 2003", - "NBA Inside Drive 2004", - "NBA Jam", - "NBA Live 06", - "NBA Live 07", - "NBA Live 2002", - "NBA Live 2003", - "NBA Live 2004", - "NBA Live 2005", - "NBA Starting Five", - "NBA Street V3", - "NBA Street Vol. 2", - "NCAA College Basketball 2K3", - "NCAA College Football 2K3", - "NCAA Football 06", - "NCAA Football 07", - "NCAA Football 08", - "NCAA Football 2003", - "NCAA Football 2004", - "NCAA Football 2005", - "NCAA March Madness 06", - "NCAA March Madness 2004", - "NCAA March Madness 2005", - "NFL 2K2", - "NFL 2K3", - "NFL Blitz 2002", - "NFL Blitz 2003", - "NFL Blitz Pro", - "NFL Fever 2002", - "NFL Fever 2003", - "NFL Fever 2004", - "NFL Head Coach", - "NFL Street", - "NFL Street 2", - "NHK Taiga Drama Taiheki", - "NHL 06", - "NHL 07", - "NHL 2002", - "NHL 2003", - "NHL 2004", - "NHL 2005", - "NHL 2K3", - "NHL 2K6", - "NHL 2K7", - "NHL Hitz 20-02", - "NHL Hitz 20-03", - "NHL Hitz Pro", - "NHL Rivals 2004", - "Nakashima Tetsuya no Othello Seminar", - "Namco Museum", - "Namco Museum 50th Anniversary", - "Narc", - "Naritore: The Sugoroku '92", - "Naxat Open", - "Naxat Stadium", - "Nazo no Masquerade", - "Necros no Yōsai", - "Need for Speed: Carbon", - "Need for Speed: Hot Pursuit 2", - "Need for Speed: Most Wanted", - "Need for Speed: Underground", - "Need for Speed: Underground 2", - "Neighbours from Hell", - "Nekketsu Kōkō Dodgeball Bu: CD Soccer Hen", - "Nekketsu Kōkō Dodgeball Bu: PC Bangai Hen", - "Nekketsu Kōkō Dodgeball Bu: PC Soccer Hen", - "Nekketsu Legend Baseballer", - "Nemurenu Yoru Chiisaina Ohanashi", - "Neo Nectaris", - "Neutopia", - "Neutopia II", - "New Adventure Island - •Takahashi Meijin no Shin Bōken JimaJP", - "New Legends", - "Nexzr", - "Nexzr Special", - "Nickelodeon Party Blast", - "Night Creatures", - "NightCaster", - "NightCaster II: Equinox", - "Niko Niko Pun", - "Ninja Gaiden", - "Ninja Gaiden Black", - "Ninja Ryūkenden", - "Ninja Spirit - •Saigo no Nindō: Ninja SpiritJP", - "Ninja Warriors", - "Nishimura Kyōtaro Mystery: Hokutosei no Onna", - "No-Ri-Ko", - "Nobunaga no Yabou: Ranseiki", - "Nobunaga no Yabō: Bushō Fūunroku", - "Nobunaga no Yabō: Zenkokuban", - "Obocchamakun", - "ObsCure", - "Oddworld: Munch's Oddysee", - "Oddworld: Stranger's Wrath", - "Open Season", - "Operation Flashpoint: Elite", - "Operation Wolf", - "Ordyne", - "Otogi 2: Immortal Warriors", - "Otogi: Myth of Demons", - "Out Live", - "Out Run", - "OutRun 2", - "OutRun 2006: Coast 2 Coast", - "Outlaw Golf", - "Outlaw Golf 2", - "Outlaw Golf: 9 More Holes of X-Mas", - "Outlaw Golf: Holiday Golf (9 Holes of X-Mas)", - "Outlaw Tennis", - "Outlaw Volleyball", - "Outlaw Volleyball: Red Hot", - "Over the Hedge", - "OverRide", - "P-47", - "Pac-Land", - "Pac-Man World 2", - "Pac-Man World 3", - "Pachio-kun 3: Pachislot & Pachinko", - "Pachio-kun: Jūban Shōbu", - "Pachio-kun: Maboroshi no Densetsu", - "Pachio-kun: Warau Uchū", - "Painkiller: Hell Wars", - "Panic Bomber", - "Panzer Dragoon Orta", - "Panzer Elite Action: Fields of Glory", - "Parasol Stars", - "Pariah", - "Parodius Da!", - "Pastel Lime", - "Peter Jackson's King Kong", - "Petit Copter", - "Phantasy Star Online Episode I & II", - "Phantom Crash", - "Phantom Dust", - "Pilot Down: Behind Enemy Lines", - "Pinball Hall of Fame", - "Pirates of the Caribbean", - "Pirates: Legend of the Black Buccaneer", - "Pirates: The Legend of Black Kat", - "Pitfall: The Lost Expedition", - "Playboy: The Mansion", - "Plus Plum 2", - "PocketBike Racer", - "Police Connection", - "Pool Shark 2", - "Pop'n Magic", - "Popful Mail", - "Populous", - "Populous: The Promised Lands", - "Power Drift", - "Power Eleven", - "Power Gate", - "Power Golf", - "Power Golf 2", - "Power League '93", - "Power League 4", - "Power League II", - "Power League III", - "Power League V", - "Power Tennis", - "Powerdrome", - "Predator: Concrete Jungle", - "Prince of Persia", - "Prince of Persia: The Sands of Time", - "Prince of Persia: The Two Thrones", - "Prince of Persia: Warrior Within", - "Princess Maker 1", - "Princess Maker 2", - "Princess Minerva", - "Prisoner of War", - "Private Eyedol", - "Pro Cast Sports Fishing - Lakemasters: Bass Fishing Game (JP)", - "Pro Fishing Challenge", - "Pro Race Driver", - "Pro Yakyuu World Stadium", - "Pro Yakyuu World Stadium '91", - "ProStroke Golf: World Tour 2007", - "Project Gotham Racing", - "Project Gotham Racing 2", - "Project Snowblind", - "Psi-Ops: The Mindgate Conspiracy", - "Psychic Detective Series Vol. 3: Aýa", - "Psychic Detective Vol. 4: Orgel", - "Psychic Storm", - "Psycho Chaser", - "Psychonauts", - "Psychosis - •ParanoiaJP", - "Psyvariar 2", - "Pulse Racer", - "Pump It Up: Exceed", - "Pure Pinball", - "Puyo Pop: Fever", - "Puyo Puyo CD", - "Puyo Puyo CD Tsū", - "Puzzle Boy", - "Puzznic", - "Quantum Redshift", - "Quiz Avenue", - "Quiz Avenue 3", - "Quiz Avenue II", - "Quiz Caravan Cult Q", - "Quiz Marugoto The World", - "Quiz Marugoto The World: Time Machine ni Onegai!", - "Quiz Nobunaga no Yabō", - "Quiz de Gakuensai", - "Quiz no Hoshi", - "R-Type - •R-Type I / R-Type IIJP", - "R-Type: Complete CD", - "R: Racing Evolution", - "RLH: Run Like Hell", - "ROM ROM Stadium", - "Rabio Lepus Special", - "Racing Spirits", - "Raiden", - "Rainbow Islands", - "RalliSport Challenge 2", - "Rallisport Challenge", - "Rally Fusion: Race of Champions", - "Ranma ½", - "Ranma ½: Datō, Ganso Musabetsu Kakuto Ryū", - "Ranma ½: Toraware no Hayanome", - "Rapala Pro Fishing", - "Rastan Saga II", - "Ratatouille", - "Rayman 3: Hoodlum Havoc", - "Rayman Arena", - "Rayxanber II", - "Rayxanber III", - "Raze's Hell", - "Real World Golf", - "Record of Lodoss War", - "Records of Lodoss War II", - "Red Dead Revolver", - "Red Faction II", - "Red Ninja: End of Honor", - "RedCard 20-03", - "Reign of Fire", - "Renny Blaster", - "Rent-A-Hero No. 1", - "Reservoir Dogs", - "Return to Castle Wolfenstein: Tides of War", - "Richard Burns Rally", - "Riot Zone - •Crest of WolfJP", - "Road Spirits", - "RoadKill", - "Robin Hood: Defender of the Crown", - "RoboCop", - "Robot Wars: Extreme Destruction", - "Robotech: Battlecry", - "Robotech: Invasion", - "Robots", - "Rock-On", - "Rocky", - "Rocky: Legends", - "Rogue Ops", - "Rogue Trooper", - "RollerCoaster Tycoon", - "Rolling", - "Room Zoom", - "Rugby 06", - "Rugby 2005", - "Rugby Challenge 2006", - "Rugby League", - "Rugby League 2", - "Ruin: Kami no Isan", - "Ryūkyū", - "Ryūkō no Ken", - "S.C.I.", - "SD Senyō Aldynes", - "SSX 3", - "SSX On Tour", - "SSX Tricky", - "SVC Chaos: SNK vs. Capcom", - "SWAT: Global Strike Team", - "SX Superstar", - "Sadakichi Sebun: Hideyoshi no Ougon", - "Saint Dragon", - "Salamander", - "Samurai Ghost - •Genpei Toumaden: KannoniJP", - "Samurai Shodown V", - "Samurai Warriors", - "Sangokushi III", - "Sangokushi: Eiketsu Tenka ni Nozomu", - "Scaler", - "Scarface: The World Is Yours", - "Scooby-Doo! Mystery Mayhem", - "Scooby-Doo! Night of 100 Frights", - "Scooby-Doo! Unmasked", - "SeaBlade", - "SeaWorld: Shamu's Deep Sea Adventures", - "Second Sight", - "Secret Weapons Over Normandy", - "Sega GT 2002", - "Sega GT Online", - "Sega Soccer Slam", - "Seirei Senshi Spriggan", - "Seiryū Densetsu Monbit", - "Seisenshi Denshō", - "Seiya Monogatari", - "Sekigahara", - "Sengoku Kantō Sangokushi", - "Sengoku Mahjong", - "Sensible Soccer 2006", - "Sentou Yousei Yukikaze: Yousei no Mau Sora", - "Serious Sam", - "Serious Sam II", - "Sexy Idol Mahjong", - "Sexy Idol Mahjong 2: Yakyūken no Uta", - "Sexy Idol Mahjong: Mahjong Fashion Monogatari", - "Shadow Ops: Red Mercury", - "Shadow of Memories", - "Shadow of the Beast", - "Shadow the Hedgehog", - "Shanghai", - "Shanghai II", - "Shanghai III: Dragon's Eye", - "Shape Shifter - •Shapeshift: Makai Eiyū DenJP", - "Shark Tale", - "Shattered Union", - "Shellshock: Nam '67", - "Shenmue II", - "Sherlock Holmes Consulting Detective", - "Sherlock Holmes: Consulting Detective Vol. II", - "Shikigami no Shiro", - "Shikigami no Shiro Evolution Blue", - "Shikigami no Shiro Evolution Red", - "Shikigami no Shiro II", - "Shin Megami Tensei", - "Shin Megami Tensei: Nine", - "Shin Onryō Senki", - "Shin Sangokushi: Tenka wa Waga ni", - "Shinchou Mahjong (Nobunaga Mahjong)", - "Shinobi", - "Shiryō Sensen", - "Shockman - •Kaizou Chōjin Shubibinman 2: Atanaru TekiJP", - "Shogi Shodan Icchokusen", - "Shogi Shoshinsha Muyou", - "Showdown: Legends of Wrestling", - "Shrek", - "Shrek 2", - "Shrek Super Party", - "Shrek SuperSlam", - "Shōgi Database Kiyū", - "Sid Meier's Pirates!", - "Side Arms Hyper Dyne - •Hyper Dyne Side ArmsJP", - "Side Arms Special", - "Silent Debuggers", - "Silent Hill 2", - "Silent Hill 4: The Room", - "Silent Scope Complete", - "SimEarth", - "Sindibad: Chitei No Dai Makyu", - "Sinistron - •Violent SoldierJP", - "Ski Racing 2005", - "Ski Racing 2006", - "Skweek", - "Slam Tennis", - "Slime World", - "Slot Gambler", - "Smashing Drive", - "Snatcher CD-ROMantic", - "Sneak King", - "Sneakers", - "Sniper Elite", - "Sol Bianca", - "Sol Moonarge", - "Soldier Blade", - "Soldier of Fortune II: Double Helix", - "Solid Force", - "Somer Assault - •MesopotamiaJP", - "Son Son II", - "Sonic Heroes", - "Sonic Mega Collection Plus", - "Sonic Riders", - "Sonic Spike - •World Beach VolleyJP", - "Sorcerian", - "Sotsugyō II", - "Sotsugyō Shashin: Miki", - "Sotsugyō: Graduation", - "Soul Calibur II", - "Space Harrier", - "Space Invaders: Fukkatsu no Hi", - "Space Invaders: The Original Game", - "Spartan: Total Warrior", - "Spawn: Armageddon", - "Special Forces: Nemesis Strike - Counter Terrorist Special Forces: Fire for Effect (EUR)", - "Speed Kings", - "Sphinx and the Cursed Mummy", - "Spider-Man", - "Spider-Man 2", - "Spikeout: Battle Street", - "Spin Pair", - "Spiral Wave", - "Splash Lake", - "Splashdown", - "Splat Magazine Renegade Paintball", - "Splatterhouse", - "SpongeBob SquarePants: Battle for Bikini Bottom", - "SpongeBob SquarePants: Lights, Camera, Pants!", - "Spriggan Mk. II", - "Spy Hunter", - "Spy Hunter 2", - "Spy Hunter: Nowhere to Run", - "Spy vs. Spy", - "Spyro: A Hero's Tail", - "Stacked with Daniel Negreanu", - "Stake: Fortune Fighters", - "Star Breaker", - "Star Mobile", - "Star Parodier", - "Star Trek: Shattered Universe", - "Star Wars: Battlefront", - "Star Wars: Battlefront II", - "Star Wars: Episode III: Revenge of the Sith", - "Star Wars: Jedi Knight II: Jedi Outcast", - "Star Wars: Jedi Knight: Jedi Academy", - "Star Wars: Jedi Starfighter", - "Star Wars: Knights of the Old Republic", - "Star Wars: Knights of the Old Republic II: The Sith Lords", - "Star Wars: Obi-Wan", - "Star Wars: Republic Commando", - "Star Wars: Starfighter", - "Star Wars: The Clone Wars", - "Starsky & Hutch", - "Startling Odyssey", - "Startling Odyssey II", - "State of Emergency", - "Steam-Heart's", - "Steel Battalion", - "Steel Battalion: Line of Contact", - "Still Life", - "Stolen", - "Stratego", - "Street Fighter Anniversary Collection", - "Street Fighter II", - "Street Hoops", - "Street Racing Syndicate", - "Strider Hiryū", - "Strike Force Bowling", - "Stubbs the Zombie in Rebel Without a Pulse", - "Sudeki", - "Super Air Zonk - •CD-ROM² DenjinJP", - "Super Albatross", - "Super Bubble Pop", - "Super CD-ROM² Taiken Soft Shū", - "Super Daisenryaku", - "Super Darius", - "Super Darius II", - "Super Mahjong Taikai", - "Super Metal Crusher", - "Super Momotaro Dentetsu", - "Super Momotarou Dentetsu II", - "Super Monkey Ball Deluxe", - "Super Raiden", - "Super Real Mahjong P II/III Custom", - "Super Real Mahjong P.V Custom", - "Super Real Mahjong PIV", - "Super Real Mahjong Special", - "Super Schwarzchild", - "Super Schwarzschild 2", - "Super Star Soldier", - "Super Volleyball", - "Superman Returns", - "Superman: The Man of Steel", - "Susano-ou Densetsu", - "Sword Master", - "Syberia", - "Syberia II", - "Syd Mead's Terraforming - •TerraformingJP", - "Sylphia", - "TATSUJIN", - "TOCA Race Driver 2: The Ultimate Racing Simulator", - "TOCA Race Driver 3", - "TV Sports Basketball", - "TV Sports Hockey - •TV Sports Ice HockeyJP", - "TV Sports: Football", - "Taidaima Yūsha Boshūchū", - "Taiheiki", - "Taito Legends", - "Taito Legends 2", - "Tak 2: The Staff of Dreams", - "Tak: The Great Juju Challenge", - "Takahashi Akiko no Mahjong Seminar", - "Takeda Shingen", - "Takin' it to the Hoop - •USA Pro BasketballJP", - "TaleSpin", - "Tanjō: Debut", - "Tao Feng: Fist of the Lotus", - "Tatsu no Ko Fighter", - "Taz: Wanted", - "Tecmo Classic Arcade", - "Tecmo World Cup: Super Soccer", - "Teen Titans", - "Teenage Mutant Ninja Turtles", - "Teenage Mutant Ninja Turtles 2: Battle Nexus", - "Teenage Mutant Ninja Turtles 3: Mutant Nightmare", - "Teenage Mutant Ninja Turtles: Mutant Melee", - "Tenchi Muyō! Ryōōki", - "Tenchi wo Kurau", - "Tenchu: Return from Darkness", - "Tenerezza", - "Tengai Makyō II: Manjimaru", - "Tengai Makyō: Deden no Den", - "Tengai Makyō: Fū-un Kabuki Den", - "Tengai Makyō: ZIRIA", - "Tennis Masters Series 2003", - "Tenshi no Uta", - "Tenshi no Uta II", - "Terminator 3: Rise of the Machines", - "Terminator 3: The Redemption", - "Terra Cresta II", - "Test Drive", - "Test Drive Off-Road Wide Open", - "Test Drive: Eve of Destruction", - "Tetris Worlds", - "Tetris Worlds (Online Edition)", - "The 25th Ward: The Silver Case", - "The Adventure Pals", - "The Alliance Alive HD Remastered", - "The Alto Collection", - "The Amazing American Circus", - "The Amazing Spider-Man 2", - "The Angry Video Game Nerd I & II Deluxe", - "The Aquatic Adventure of the Last Human", - "The Assembly", - "The Atlas", - "The Banner Saga", - "The Banner Saga 2", - "The Banner Saga 3", - "The Bard's Tale", - "The Bard's Tale IV: Director's Cut", - "The Bard's Tale: Remastered and Resnarkled", - "The Baseball 2002: Battle Ball Park Sengen", - "The Bible Game", - "The Binding of Isaac: Rebirth", - "The Binding of Isaac: Repentance", - "The Blackout Club", - "The Book of Unwritten Tales 2", - "The Bridge", - "The Bug Butcher", - "The Caligula Effect 2", - "The Caligula Effect: Overdose", - "The Castle Game", - "The Chronicles of Narnia: The Lion, the Witch and the Wardrobe", - "The Chronicles of Riddick: Escape from Butcher Bay", - "The Church in the Darkness", - "The Coma 2: Vicious Sisters", - "The Coma: Recut", - "The Count Lucanor", - "The Crew", - "The Crew 2", - "The Da Vinci Code", - "The Dark Pictures Anthology: House of Ashes", - "The Dark Pictures Anthology: Little Hope", - "The Dark Pictures Anthology: Man of Medan", - "The Deadly Tower of Monsters", - "The Disney Afternoon Collection", - "The Dukes of Hazzard: Return of the General Lee", - "The Dwarves", - "The Elder Scrolls III: Morrowind", - "The Elder Scrolls Online", - "The Elder Scrolls V: Skyrim – Special Edition", - "The End Is Nigh", - "The Escapists", - "The Escapists 2", - "The Escapists: The Walking Dead", - "The Evil Within", - "The Evil Within 2", - "The Fairly OddParents: Breakin' Da Rules", - "The Fall", - "The Fall Part 2: Unbound", - "The Final Station", - "The Flame in the Flood", - "The Forest", - "The Gardens Between", - "The Godfather: The Game", - "The Golf Club", - "The Golf Club 2", - "The Golf Club 2019 featuring PGA Tour", - "The Good Life", - "The Great Ace Attorney Chronicles", - "The Great Escape", - "The Guy Game", - "The Haunted Mansion", - "The Hobbit", - "The Hong Kong Massacre", - "The House in Fata Morgana: Dream of the Revenants Edition", - "The House of the Dead III", - "The Huntsman: Winter's Curse", - "The Hustle: Detroit Streets", - "The Idolmaster Platinum Stars", - "The Idolmaster: Starlit Season", - "The Idolmaster: Stella Stage", - "The Incredible Adventures of Van Helsing", - "The Incredible Adventures of Van Helsing II", - "The Incredible Adventures of Van Helsing III", - "The Incredible Hulk: Ultimate Destruction", - "The Incredibles - Mr. Incredible (JP)", - "The Incredibles: Rise of the Underminer", - "The Inner Friend", - "The Inner World", - "The Inpatient", - "The Invisible Hours", - "The Italian Job", - "The Jackbox Party Pack", - "The Jackbox Party Pack 2", - "The King of Fighters '97 Global Match", - "The King of Fighters 2002", - "The King of Fighters 2002: Unlimited Match", - "The King of Fighters 2003", - "The King of Fighters Neowave", - "The King of Fighters XIV", - "The King of Fighters: Maximum Impact", - "The Language of Love", - "The Last Blade 2", - "The Last Campfire", - "The Last Door", - "The Last Guardian", - "The Last Kids on Earth and the Staff of Doom", - "The Last Remnant Remastered", - "The Last Tinker: City of Colors", - "The Last of Us Part II", - "The Last of Us Remastered", - "The Last of Us: Left Behind", - "The Legend of Heroes: Ao no Kiseki", - "The Legend of Heroes: Hajimari no Kiseki", - "The Legend of Heroes: Trails of Cold Steel", - "The Legend of Heroes: Trails of Cold Steel II", - "The Legend of Heroes: Trails of Cold Steel III", - "The Legend of Heroes: Trails of Cold Steel IV", - "The Legend of Heroes: Zero no Kiseki", - "The Legend of Korra", - "The Legend of Spyro: A New Beginning", - "The Little Acre", - "The Long Dark", - "The Lord of the Rings: Adventure Card Game", - "The Lord of the Rings: The Fellowship of the Ring", - "The Lord of the Rings: The Return of the King", - "The Lord of the Rings: The Third Age", - "The Lord of the Rings: The Two Towers", - "The Lost Child", - "The Manhole", - "The Matrix: Path of Neo", - "The NewZealand Story", - "The Pro Yakyū", - "The Pro Yakyū Super", - "The Pro Yakyū Super '94", - "The Punisher", - "The Simpsons: Hit & Run", - "The Simpsons: Road Rage", - "The Sims", - "The Sims 2", - "The Sims Bustin' Out", - "The SpongeBob SquarePants Movie Game", - "The Suffering", - "The Suffering: Ties That Bind", - "The TV Show", - "The Terminator: Dawn of Fate", - "The Thing", - "The Tower of Druaga", - "The Urbz: Sims in the City", - "The Warriors", - "The Wild Rings", - "Thief: Deadly Shadows", - "Thousand Land", - "Thrillville", - "Thunder Blade", - "Tiger Road - •Tora he no MichiJP", - "Tiger Woods PGA Tour 06", - "Tiger Woods PGA Tour 07", - "Tiger Woods PGA Tour 2003", - "Tiger Woods PGA Tour 2004", - "Tiger Woods PGA Tour 2005", - "Tim Burton's The Nightmare Before Christmas: Oogie's Revenge", - "Time Cruise - •Time Cruise IIJP", - "TimeSplitters 2", - "TimeSplitters: Future Perfect", - "Timeball - •BlodiaJP", - "Titan", - "ToeJam & Earl III: Mission to Earth", - "Toilet Kids", - "Tokimeki Memorial", - "Tom Clancy's Ghost Recon", - "Tom Clancy's Ghost Recon 2", - "Tom Clancy's Ghost Recon 2: Summit Strike", - "Tom Clancy's Ghost Recon: Advanced Warfighter", - "Tom Clancy's Ghost Recon: Island Thunder", - "Tom Clancy's Rainbow Six 3", - "Tom Clancy's Rainbow Six 3: Black Arrow", - "Tom Clancy's Rainbow Six: Critical Hour", - "Tom Clancy's Rainbow Six: Lockdown", - "Tom Clancy's Splinter Cell", - "Tom Clancy's Splinter Cell: Chaos Theory", - "Tom Clancy's Splinter Cell: Double Agent", - "Tom Clancy's Splinter Cell: Pandora Tomorrow", - "Tom and Jerry in War of the Whiskers", - "Tomb Raider: Legend", - "Tony Hawk's American Wasteland", - "Tony Hawk's Pro Skater 2x", - "Tony Hawk's Pro Skater 3", - "Tony Hawk's Pro Skater 4", - "Tony Hawk's Project 8", - "Tony Hawk's Underground", - "Tony Hawk's Underground 2", - "Top Gear RPM Tuning - RPM Tuning (EUR)", - "Top Spin Tennis", - "Top o Nerae! GunBuster Vol. 1", - "Top o Nerae! GunBuster Vol. 2", - "Torino 2006", - "Tork: Prehistoric Punk", - "Toshi Tensō Keikaku Eternal City", - "Total Club Manager 2004", - "Total Club Manager 2005", - "Total Immersion Racing", - "Total Overdose: A Gunslinger's Tale in Mexico", - "Totaled!", - "Touge R", - "Tour de France", - "Toxic Grind", - "Toy Shop Boys", - "TransWorld Snowboarding", - "TransWorld Surf", - "Travel Epuru", - "Travelers!: Densetsu o Buttobase", - "Triangle Again", - "Triangle Again 2", - "Tricky Kick - •TrickyJP", - "Trigger Man", - "Triple Play 2002", - "Trivial Pursuit Unhinged", - "Tron 2.0 Killer App", - "True Crime: New York City", - "True Crime: Streets of LA", - "Tsuppari Oozumou Heisei Ban", - "Tsuru Teruto no Jissen Kabushiki Bi-Game", - "Turok: Evolution", - "Turrican", - "Ty the Tasmanian Tiger", - "Ty the Tasmanian Tiger 2: Bush Rescue", - "Ty the Tasmanian Tiger 3: Night of the Quinkan", - "UEFA Champions League 2004-2005", - "UEFA Euro 2004", - "UFC: Tapout", - "UFC: Tapout 2", - "Uchū Senkan Yamato", - "Ultimate Beach Soccer", - "Ultimate Pro Pinball", - "Ultimate Spider-Man", - "Ultra Box No. 2", - "Ultra Box No. 3", - "Ultra Box No. 4", - "Ultra Box No. 5", - "Ultra Box No. 6", - "Ultra Box Premiere Issue", - "Ultra Bust-a-Move - Ultra Puzzle Bobble (JP)", - "Umezawa Yukari no Igo Seminar", - "Unreal Championship", - "Unreal Championship 2: The Liandri Conflict", - "Unreal II: The Awakening", - "Urban Chaos: Riot Response", - "Urusei Yatsura: Stay With You", - "V-Rally 3", - "Valis II", - "Valis III", - "Valis IV", - "Valis: The Fantasm Soldier", - "Valkyrie no Densetsu", - "Van Helsing", - "Vanilla Syndrome", - "Vasteel", - "Vasteel 2", - "Veigues Tactical Gladiator - •VeiguesJP", - "Vexx", - "Victory Run", - "Vietcong: Purple Haze", - "Vigilante", - "Virgin Dream", - "Virtual Pool: Tournament Edition", - "Volfied", - "Volvo: Drive For Life", - "Voodoo Vince", - "WTA Tour Tennis", - "WWE Raw 2", - "WWE WrestleMania 21", - "WWF RAW", - "Wai Wai Mahjong", - "Wakeboarding Unleashed", - "Wallaby!!", - "Wallace & Gromit in Project Zoo", - "Wallace & Gromit: The Curse of the Were-Rabbit", - "Warpath", - "Whacked!", - "Where in the World is Carmen Sandiego?", - "Whiplash", - "Whiteout", - "WinBack 2: Project Poseidon", - "Wings of War", - "Winning Shot", - "Without Warning", - "Wizardry I & II", - "Wizardry III & IV", - "Wizardry V", - "Wonder Momo", - "World Championship Poker", - "World Championship Poker 2: Featuring Howard Lederer", - "World Championship Pool 2004", - "World Championship Rugby", - "World Championship Snooker 2003", - "World Championship Snooker 2004", - "World Circuit", - "World Class Baseball - •Power LeagueJP", - "World Court Tennis - •Pro Tennis: World CourtJP", - "World Heroes 2", - "World Jockey", - "World Poker Tour", - "World Racing", - "World Racing 2", - "World Series Baseball 2K2", - "World Series Baseball 2K3", - "World Series of Poker", - "World Snooker Championship 2005", - "World Soccer Winning Eleven 8 International - Pro Evolution Soccer 4 (PAL) - Winning Eleven 8 (JP)", - "World Soccer Winning Eleven 9 - Pro Evolution Soccer 5 (PAL) - Winning Eleven 9 (JP)", - "World Sports Competition - •Power SportsJP", - "World War II Combat: Iwo Jima", - "World War II Combat: Road to Berlin", - "Worms 3D", - "Worms 4: Mayhem", - "Worms Forts: Under Siege", - "Wrath Unleashed", - "Wreckless: The Yakuza Missions - Double-S.T.E.A.L. (JP)", - "Wrestle Angels: Double Impact", - "X-Men Legends", - "X-Men Legends II: Rise of Apocalypse", - "X-Men: Next Dimension", - "X-Men: The Official Game", - "X2: Wolverine's Revenge", - "XGRA: Extreme-G Racing Association", - "XIII", - "Xak I & II", - "Xak III: The Eternal Recurrence", - "Xevious: Fardraut Saga", - "Xiaolin Showdown", - "Xyanide", - "Yager", - "Yamamura Misa Suspense: Kizenka Kyō Ezara Satsujin Jiken", - "Yami no Ketsuzoku", - "Yawara!", - "Yawara! 2", - "Yetisports Arctic Adventures", - "Yo, Bro", - "Yokai Dochuki", - "Yonenaga Kunio no Shougi Seminar", - "Yourself!Fitness", - "Ys III: Wanderers from Ys", - "Ys IV: The Dawn of Ys", - "Ys: Book I & II - •Ys I & IIJP", - "Yu-Gi-Oh! The Dawn of Destiny", - "Yū Yū Hakusho: Yami Shōbu!! Ankoku Bujutsu Kai", - "Yūyū Jinsei", - "Zan: Kagerō no Toki", - "Zapper: One Wicked Cricket", - "Zathura", - "Zero Wing", - "Zero4 Champ", - "Zero4 Champ II", - "ZillerNet#Funtime", - "Zipang", - "eBaseball Powerful Pro Yakyuu 2020", - "eFootball PES 2021 Season Update", - "eFootball Pro Evolution Soccer 2020", - "iO", - "Æon Flux"}; - -const std::array videoGameGenres = {"Action", - "Adventure", - "Battle royale", - "Dating sim", - "Endless runner", - "Fighting", - "First-person shooter", - "Hack and slash", - "Horror", - "Massively multiplayer online", - "Music", - "Platformer", - "Puzzle", - "Racing", - "Real-time strategy", - "Roguelike", - "Role-playing game", - "Sandbox", - "Science fiction game", - "Shooter", - "Sim racing", - "Soulslike", - "Sports", - "Stealth", - "Strategy", - "Survival", - "Third-person shooter", - "Tower defense"}; - -const std::array platforms = {"Android", "Linux", "Nintendo Switch", "Oculus Quest", "PC", - "Playstation 5", "Stadia", "Xbox Series X", "iOS"}; - -const std::array studioNames = {"0verflow", - "1st Playable Productions", - "2K Czech", - "989 Studios", - "ACE Team", - "AQ Interactive", - "Access Games", - "Acclaim Entertainment", - "Accolade", - "Acheron Design", - "Acquire", - "Active Gaming Media", - "Activision Blizzard", - "Adventure Soft", - "Akella", - "Aki Corporation", - "Alfa System", - "Ancient", - "Anino Games", - "Arc System Works", - "ArenaNet", - "Arika", - "Arkane Studios", - "Arkedo Studio", - "Artdink", - "ArtePiazza", - "Artificial Studios", - "Artoon", - "Ascaron", - "Asobo Studio", - "Aspect", - "Aspyr Media", - "Atari", - "Atlus", - "Atomic Planet Entertainment", - "Attic Entertainment Software", - "Avalanche Software", - "Avalanche Studios", - "Aventurine SA", - "BSure Interactive", - "Babaroga", - "Backbone Entertainment", - "Banpresto", - "BattleGoat Studios", - "Beenox", - "Behemoth", - "Bethesda Softworks", - "Big Blue Bubble", - "Big Huge Games", - "Binary Hammer", - "BioWare", - "Bizarre Creations", - "Black Rock Studio", - "Blitz Games Studios", - "Blizzard Entertainment", - "Blue Byte Software", - "Blue Fang Games", - "Bohemia Interactive", - "BreakAway Games", - "Brownie Brown", - "Brøderbund", - "Bugbear Entertainment", - "Buka Entertainment", - "Bullfrog Productions", - "Bungie Studios", - "CCP Games", - "CD Projekt RED", - "Capcom", - "Cave", - "Cavia", - "Centuri", - "Chunsoft", - "Cinemaware", - "Cing", - "Clap Hanz", - "Climax Entertainment", - "Climax Studios", - "Coded Illusions", - "Codemasters", - "Coktel Vision", - "ColdWood Interactive", - "Compile Heart", - "Core Design", - "Crafts & Meister", - "Creat Studios", - "Creative Assembly", - "Criterion Games", - "Cryptic Studios", - "Crystal Dynamics", - "Crytek", - "Cyanide", - "CyberConnect2", - "Cyberlore Studios", - "Day 1 Studios", - "Deadline Games", - "Deck13", - "Deep Silver", - "Demiurge Studios", - "Digital Illusions CE", - "Dimps", - "Disney Interactive Studios", - "Double Fine Productions", - "Double Helix Games", - "Dynamite Idea", - "EDGE Games", - "Egosoft", - "Eidos Interactive", - "Electronic Arts/EA Games", - "Engine Software", - "Epic Games", - "Epicenter Studios", - "Epyx", - "Etranges Libellules", - "Eugen Systems", - "Eurocom", - "Evolution Studios", - "FUN Labs", - "FarSight Studios", - "Fatshark", - "Firaxis Games", - "Firefly Studios", - "First Star Software", - "Flagship Games", - "Flying Lab Software", - "Foundation 9 Entertainment", - "Free Radical Design", - "Frictional Games", - "From Software", - "Frontier Developments", - "Frozenbyte", - "Funcom", - "Futuremark", - "GSC Game World", - "Game Arts", - "Game Freak", - "GameHouse", - "Gameloft", - "Games2win", - "Gearbox Software", - "Genki", - "Giants Software", - "Gogii Games", - "Good-Feel", - "Grasshopper Manufacture", - "Gravity", - "Griptonite Games", - "Guerrilla Games", - "GungHo Online Entertainment", - "Gust Corporation", - "HAL Laboratory", - "HB Studios", - "Haemimont Games", - "Hanaho", - "Harmonix Music Systems", - "Hasbro Interactive", - "HeroCraft", - "High Moon Studios", - "High Voltage Software", - "Hoplon Infotainment", - "Hothead Games", - "Housemarque", - "Hudson Soft", - "Human Head Studios", - "Humongous Entertainment", - "Hyperion Entertainment", - "IO Interactive", - "Idea Factory", - "Ignition Entertainment", - "IguanaBee", - "Imageepoch", - "Incredible Technologies", - "Infinity Ward", - "Infogrames", - "Insomniac Games", - "Intelligent Systems", - "Interplay Entertainment", - "Introversion Software", - "Irem", - "Irrational Games", - "JV Games", - "Jadestone Group", - "Jagex", - "Jaleco (New)", - "Javaground", - "Juice Games", - "Jupiter", - "Klei Entertainment", - "Koei", - "Konami", - "Krome Studios", - "Krome Studios Melbourne", - "Kuju Entertainment", - "Kuma Reality Games", - "Kush Games", - "Larian Studios", - "Legacy Interactive", - "Legendo Entertainment", - "Level-5", - "Lionhead Studios", - "Llamasoft", - "Looking Glass Studios", - "LucasArts", - "Ludia", - "Luma Arcade", - "Luxoflux", - "M-Inverse", - "Majesco Entertainment", - "Marvelous Entertainment", - "Massive Entertainment", - "Masthead Studios", - "Mattel", - "Maxis Software", - "Mean Hamster Software", - "Media Molecule", - "Media.Vision", - "Mercury Steam", - "Microsoft Game Studios", - "Milestone", - "Milestone S.r.l.", - "Mistwalker", - "Mitchell Corporation", - "Mojang AB", - "Monolith Productions", - "Monolith Soft", - "Monumental Games", - "Mythic Entertainment", - "NCsoft", - "NGD Studios", - "NHN", - "Namco Bandai", - "Natsume", - "Naughty Dog", - "Ndoors", - "Neowiz", - "Nerve Software", - "NetDevil", - "Neverland", - "Neversoft", - "Nexon", - "Next Level Games", - "Nihon Bussan", - "Nihon Falcom", - "Ninjabee", - "Nintendo", - "Nippon Ichi Software", - "Novalogic", - "Novarama", - "Obsidian Entertainment", - "Oddworld Inhabitants", - "Oxygen Studios", - "Page 44 Studios", - "Pandemic Studios", - "Paon", - "Papaya Studio", - "Paradox Interactive", - "Pax Softnica", - "Pendulo Studios", - "Penguin Software", - "People Can Fly", - "Phantagram", - "Pi Studios", - "Piranha Bytes", - "Pivotal Games", - "Platinum Games", - "PlayFirst", - "Playdead", - "Playdom", - "Playfish", - "Playlogic Entertainment", - "Polyphony Digital", - "PopCap Games", - "Punch Entertainment", - "Pyro Studios", - "Q Entertainment", - "Q-Games", - "Quantic Dream", - "Radical Entertainment", - "Rainbow Studios", - "Rare Limited", - "Raven Software", - "Reality Pump Studios", - "Realtime Associates", - "Realtime Worlds", - "Red Storm Entertainment", - "RedLynx", - "Redtribe", - "Reflexive Entertainment", - "Relic Entertainment", - "Remedy Entertainment", - "Retro Studios", - "Revolution Software", - "Rising Star Games", - "Rockstar Games", - "Rockstar North", - "Rocksteady Studios", - "Ruffian Games", - "Runic Games", - "Running with Scissors", - "SCE Studio Liverpool", - "SNK Playmore", - "Sarbakan", - "Sega", - "Sidhe", - "Silicon Knights", - "Silicon Sisters", - "Silicon Studio", - "Snowblind Studios", - "Sobee Studios", - "Sonic Team", - "Sony Computer Entertainment", - "Sora Ltd.", - "Spectrum HoloByte", - "Spellborn International", - "Splash Damage", - "Square Enix", - "Star Vault", - "Starbreeze Studios", - "Stardock", - "Sting Entertainment", - "Strawdog Studios", - "Straylight Studios", - "Streamline Studios", - "Sucker Punch Productions", - "Sumo Digital", - "Sunflowers Interactive Entertainment Software", - "SuperVillain Studios", - "Swingin' Ape Studios", - "THQ", - "Tag Games", - "Taito Corporation", - "Take-Two Interactive", - "Tale of Tales", - "TaleWorlds", - "Tamsoft", - "Tantalus Media", - "Tantrumedia", - "Team17", - "Techland", - "Tecmo Koei", - "Telltale Games", - "Terminal Reality", - "The Bitmap Brothers", - "Three Rings Design", - "TimeGate Studios", - "Torpex Games", - "Torus Games", - "Tose", - "Transmission Games", - "Trapdoor", - "Traveller's Tales", - "Treyarch", - "Tri-Ace", - "Tripwire Interactive", - "Triumph Studios", - "Turn 10 Studios", - "Two Tribes", - "Tygron", - "Ubisoft", - "Ultimate Play The Game", - "United Front Games", - "Universomo", - "Valve Corporation", - "Vanillaware", - "Venan Entertainment", - "Vertigo Games", - "Vicarious Visions", - "Virtual Heroes", - "Virtual Playground", - "Visceral Games", - "Vivendi Games", - "Viwawa", - "Volition", - "W!Games", - "WB Games", - "Wahoo Studios", - "Wanako Games", - "Wangame Studios", - "Webfoot Technologies", - "Wideload Games", - "Wildfire Studios", - "Wolfire Games", - "World Forge", - "Xseed Games", - "YoYo Games", - "ZapSpot", - "ZeniMax Online Studios", - "Zipper Interactive", - "Zylom", - "Zynga", - "id Software", - "indieszero", - "n-Space"}; - -} -} diff --git a/src/modules/videoGame/VideoGameData.h b/src/modules/videoGame/VideoGameData.h index 5231f741..9cf587ca 100644 --- a/src/modules/videoGame/VideoGameData.h +++ b/src/modules/videoGame/VideoGameData.h @@ -7,9 +7,3591 @@ namespace faker { namespace videoGame { -extern const std::array videoGameNames; -extern const std::array videoGameGenres; -extern const std::array platforms; -extern const std::array studioNames; +const auto videoGameNames = std::to_array({ + "#killallzombies", + ".hack//G.U. Last Recode", + "007: Agent Under Fire", + "007: Everything or Nothing", + "007: From Russia with Love", + "007: Nightfire", + "10 Second Ninja X", + "1001 Spikes", + "100ft Robot Golf", + "101 Ways to Die", + "11-11: Memories Retold", + "13 Sentinels: Aegis Rim", + "140", + "1552: Tenka Tairan", + "187 Ride or Die", + "1941: Counter Attack", + "1943 Kai", + "1979 Revolution: Black Friday", + "198X", + "2002 FIFA World Cup", + "2064: Read Only Memories", + "20XX", + "25 To Life", + "2Dark", + "3 Minutes to Midnight", + "39 Days to Mars", + "3D Billiards", + "3D MiniGolf", + "428: Shibuya Scramble", + "4x4 EVO 2", + "5 Star Wrestling: ReGenesis", + "50 Cent: Bulletproof", + "60 Parsecs!", + "60 Seconds!", + "7 Days to Die", + "7th Sector", + "8 to Glory", + "8-Bit Armies", + "8-Bit Hordes", + "8-Bit Invaders", + "8-bit Adventure Anthology: Volume I", + "88 Heroes", + "9 Monkeys of Shaolin", + "911 Operator", + "99Vidas", + "9th Dawn III", + "A Bastard's Tale", + "A Boy and His Blob", + "A Certain Magical Virtual-On", + "A Fold Apart", + "A Hat in Time", + "A Healer Only Lives Twice", + "A Hole New World", + "A Juggler's Tale", + "A Knight's Quest", + "A Pixel Story", + "A Plague Tale: Innocence", + "A Space for the Unbound", + "A Tale of Paper", + "A Way Out", + "A-Train Express", + "AER: Memories of Old", + "AFL Evolution", + "AFL Evolution 2", + "AFL Live 2003", + "AFL Live 2004", + "AFL Live Premiership Edition", + "AFL Premiership 2005", + "AI-Limit", + "AI: The Somnium Files", + "AIPD", + "AMF Bowling 2004", + "AMF Xtreme Bowling 2006", + "AND 1 Streetball", + "AO Tennis", + "AO Tennis 2", + "APEX - Racing Evoluzione (PAL)", + "ATV Drift and Tricks", + "ATV Quad Power Racing 2", + "AVICII Invector", + "AWAY: The Survival Series", + "Aaero", + "Aaru's Awakening", + "Absolute Drift: Zen Edition", + "Absolver", + "Abyss Odyssey", + "Abyss: The Wraiths of Eden", + "Abzû", + "Accel World vs. Sword Art Online: Millennium Twilight", + "Ace Combat 7: Skies Unknown", + "Ace of Seafood", + "Aces of the Luftwaffe", + "Achtung! Cthulhu Tactics", + "Act It Out! A Game of Charades", + "Action Henk", + "Active Neurons", + "Addams Family, The", + "Adrift", + "Advanced V.G.", + "Advent Rising", + "Adventure Time: Finn & Jake Investigations", + "Adventures of Pip", + "Adventures of Scarlet Curiosity", + "Aegis Defenders", + "Aegis of Earth: Protonovus Assault", + "Aeon Must Die!", + "Aero Blasters", + "AeternoBlade", + "AeternoBlade II", + "After Burner II", + "Afterparty", + "Agatha Christie: The ABC Murders", + "Age of Wonders: Planetfall", + "Agent A: A Puzzle in Disguise", + "Agents of Mayhem", + "Aggelos", + "Aggressive Inline", + "Agony", + "Aikano: Yukizora no Triangle", + "Air Conflicts: Pacific Carriers", + "Air Conflicts: Vietnam", + "Aircraft Evolution", + "Airforce Delta Storm - Deadly Skies (PAL) - Airforce Delta II (JP)", + "Airport Simulator 2019", + "Airship Q", + "Akiba's Beat", + "Akiba's Trip: Hellbound & Debriefed", + "Akiba's Trip: Undead & Undressed", + "Akita Oga Mystery Guide: The Frozen Silverbell Flower", + "Akumajō Dracula X: Chi no Rondo", + "Alaloth: Champions of The Four Kingdoms", + "Alba: A Wildlife Adventure", + "Aldynes", + "Alekhine's Gun", + "Aleste Collection", + "Alex Kidd in Miracle World DX", + "Alfa Romeo Racing Italiano - SCAR : Squadra Corse Alfa Romeo (PAL)", + "Alias", + "Alien Crush", + "Alien Hominid", + "Alien: Isolation", + "Alienation", + "Aliens Versus Predator: Extinction", + "All-Star Baseball 2003", + "All-Star Baseball 2004", + "All-Star Baseball 2005", + "All-Star Fruit Racing", + "Alone with You", + "Alshark", + "Alter Echo", + "Alwa's Awakening", + "Alwa's Legacy", + "Always Sometimes Monsters", + "Alzadick", + "Amazing Discoveries in Outer Space", + "America's Army: Rise of a Soldier", + "American Chopper", + "American Chopper 2: Full Throttle", + "American Fugitive", + "American McGee Presents: Scrapland", + "Amnesia Collection", + "Amnesia: Rebirth", + "Amoeba Battle: Microscopic RTS Action", + "Among the Sleep", + "Amped 2 - Tenku 2 (JP)", + "Amped: Freestyle Snowboarding", + "Amplitude", + "Anarcute", + "Ancestors Legacy", + "Ancestors: The Humankind Odyssey", + "Andre Panza Kick Boxing", + "Ane-san", + "Anew: The Distant Light", + "Angelic Concert (JP)", + "AngerForce: Reloaded", + "Angry Birds Star Wars", + "Anima: Gate of Memories", + "Animaniacs: The Great Edgar Hunt", + "Anime Studio Story", + "Anno: Mutationem", + "Anodyne", + "Anodyne 2: Return to Dust", + "Anoko wa Ore kara Hanarenai", + "Anomaly 2", + "Anonymous;Code", + "Another World: 20th Anniversary Edition", + "Anthem", + "Antiquia Lost", + "Antz Extreme Racing", + "Aoi Blink", + "Aoi Namida (JP)", + "Aokana: Four Rhythm Across the Blue", + "Apocalypse", + "Apotheon", + "Appare! Gateball", + "Aqua Moto Racing Utopia", + "Aquaman: Battle for Atlantis", + "Ar Nosurge DX", + "Ara Fell: Enhanced Edition", + "Aragami", + "Aragami 2", + "Arc of Alchemist", + "Arcade Classics Anniversary Collection", + "Arcade Spirits", + "Arcania: The Complete Tale", + "Archaica: The Path of Light", + "Arctic Thunder", + "Area 51", + "Arena Football", + "Arise: A Simple Story", + "Ark: Survival Evolved", + "Armed and Dangerous", + "Armello", + "Army Men: Major Malfunction", + "Army Men: Sarge's War", + "Arslan: The Warriors of Legend", + "Art of Balance", + "Arx Fatalis", + "Ary and the Secret of Seasons", + "Asdivine Dios", + "Asdivine Hearts", + "Asdivine Hearts II", + "Asdivine Kamura", + "Asdivine Menace", + "Asemblance", + "Asemblance: Oversight", + "Ashen", + "Ashes Cricket", + "Assassin's Creed Chronicles: China", + "Assassin's Creed Chronicles: India", + "Assassin's Creed Chronicles: Russia", + "Assassin's Creed III Remastered", + "Assassin's Creed IV: Black Flag", + "Assassin's Creed Odyssey", + "Assassin's Creed Rogue Remastered", + "Assassin's Creed Syndicate", + "Assassin's Creed Unity", + "Assassin's Creed Valhalla", + "Assassin's Creed: Origins", + "Assassin's Creed: The Ezio Collection", + "Assault Android Cactus", + "Assault Suit Leynos", + "Assetto Corsa", + "Assetto Corsa Competizione", + "Astebreed", + "Asterix & Obelix XXL 2: Mission: Las Vegum", + "Asterix & Obelix XXL 3: The Crystal Menhir", + "Asterix & Obelix XXL: Romastered", + "Asterix & Obelix: Slap Them All!", + "Astralius", + "Astroneer", + "Asuka 120% Maxima", + "Atari Anthology", + "Atari Flashback Classics: Volume 1", + "Atari Flashback Classics: Volume 2", + "Atari Flashback Classics: Volume 3", + "Atelier Ayesha: The Alchemist of Dusk DX", + "Atelier Escha & Logy: Alchemists of the Dusk Sky DX", + "Atelier Firis: The Alchemist and the Mysterious Journey", + "Atelier Lulua: The Scion of Arland", + "Atelier Lydie & Suelle: Alchemists of the Mysterious Painting", + "Atelier Meruru: The Apprentice of Arland", + "Atelier Rorona: The Alchemist of Arland", + "Atelier Ryza 2: Lost Legends & the Secret Fairy", + "Atelier Ryza: Ever Darkness & the Secret Hideout", + "Atelier Shallie: Alchemists of the Dusk Sea DX", + "Atelier Sophie: The Alchemist of the Mysterious Book", + "Atelier Totori: The Adventurer of Arland", + "Atomic Heart", + "Atomic Robo-Kid Special", + "Atomicrops", + "Attack on Titan", + "Attack on Titan 2", + "Attractio", + "Aurora Quest: Otaku no Seiza in Another World", + "Auto Chess", + "Auto Crusher Palladium", + "Auto Modellista", + "Autumn's Journey", + "Avatar: The Last Airbender", + "Aven Colony", + "Avenger", + "Away: Journey to the Unexpected", + "Awesomenauts Assemble", + "Axiom Verge", + "Azkend 2: The World Beneath", + "Aztech: Forgotten Gods", + "Azur Lane: Crosswave", + "Azure Reflections", + "Azure Striker Gunvolt: Striker Pack", + "Azurik: Rise of Perathia", + "BMX XXX", + "BPM: Bullets Per Minute", + "BQM: BlockQuest Maker", + "Babel", + "Baby Jo the Superhero", + "Babylon's Fall", + "Back to Bed", + "Back to the Future: The Game – 30th Anniversary Edition", + "Backbone", + "Backgammon Blitz", + "Backyard Wrestling 2: There Goes the Neighborhood", + "Backyard Wrestling: Don't Try This at Home", + "Bad Boys: Miami Takedown - Bad Boys II (PAL)", + "Bad North", + "Badland: Game of the Year Edition", + "Baja: Edge of Control HD", + "Bake 'n Switch", + "Bakuden: Unbalanced Zone", + "Balan Wonderworld", + "Baldur's Gate II: Enhanced Edition", + "Baldur's Gate: Dark Alliance", + "Baldur's Gate: Dark Alliance II", + "Baldur's Gate: Enhanced Edition", + "Baldur's Gate: Siege of Dragonspear", + "Ballistix", + "Banner of the Maid", + "Barbarian", + "Barbie Horse Adventures: Wild Horse Rescue", + "Bari Bari Densetsu", + "Barunba", + "Basement Crawl", + "Bass Pro Shops Trophy Hunter 2007", + "Bass Pro Shops: Trophy Bass 2007", + "Basted", + "Bastion", + "Batman", + "Batman Begins", + "Batman Vengeance", + "Batman: Arkham Knight", + "Batman: Dark Tomorrow", + "Batman: Return to Arkham", + "Batman: Rise of Sin Tzu", + "Batman: The Enemy Within", + "Batman: The Telltale Series", + "Battalion 1944", + "Battle Ace", + "Battle Chasers: Nightwar", + "Battle Engine Aquila", + "Battle Field '94 in Tokyo Dome", + "Battle Garegga Rev.2016", + "Battle Lode Runner", + "Battle Princess Madelyn", + "Battle Royale", + "Battle Worlds: Kronos", + "Battle of the Bulge", + "Battlefield 1", + "Battlefield 2: Modern Combat", + "Battlefield 4", + "Battlefield Hardline", + "Battlefield V", + "Battleship", + "Battlestar Galactica", + "Battlestar Galactica: Deadlock", + "Battlezone", + "Batu Ta Batu", + "Bayonetta", + "Bazar dé Gozarre no Game de Gozāru", + "Bear With Me: The Lost Robots", + "Bears Can't Drift!?", + "Beast Quest", + "Beat Down: Fists of Vengeance", + "Beautiful Desolation", + "Bedlam", + "Bee Simulator", + "Beholder 2", + "Beholder: Complete Edition", + "Below", + "Ben 10", + "Ben 10: Power Trip", + "Bendy and the Ink Machine", + "Benkei Gaiden", + "Berserk and the Band of the Hawk", + "Beyond Blue", + "Beyond Eyes", + "Beyond Good & Evil", + "Beyond Shadowgate", + "Beyond a Steel Sky", + "Beyond: Two Souls", + "Bicycle Casino", + "Big Bash Boom", + "Big Bumpin'", + "Big Mutha Truckers", + "Big Mutha Truckers 2", + "Big Pharma", + "Bikkuriman Daijikai", + "Bikkuriman World", + "Binaries", + "BioShock: The Collection", + "Biomutant", + "Bionicle", + "Biped", + "Birthday of Midnight", + "Birthdays the Beginning", + "Bishōjo Senshi Sailor Moon", + "Bishōjo Senshi Sailor Moon Collection", + "Bistro Cupid (JP)", + "Bistro Cupid 2", + "Bit.Trip", + "Black", + "Black & White Bushido", + "Black Desert", + "Black Hole Assault", + "Black Legend", + "Black Paradox", + "Black Stone: Magic & Steel - Ex-Chaser (JP)", + "Black the Fall", + "Blackguards 2", + "Blackhole: Complete Edition", + "Blacksad: Under the Skin", + "Blacksea Odyssey", + "Blackwood Crossing", + "Blade Arcus from Shining EX", + "Blade Assault", + "Blade Ballet", + "Blade II", + "Blade Runner: Enhanced Edition", + "Blade Strangers", + "Bladed Fury", + "Bladestorm: Nightmare", + "Blair Witch", + "Blasphemous", + "Blast 'Em Bunnies", + "Blast Zone! Tournament", + "Blaster Master Zero", + "Blaster Master Zero 2", + "Blaster Master Zero 3", + "Blaster Master Zero Trilogy: MetaFight Chronicle", + "BlazBlue: Central Fiction", + "BlazBlue: Chrono Phantasma Extend", + "BlazBlue: Cross Tag Battle", + "Blazerush", + "Blazing Angels: Squadrons of WWII", + "Blazing Beaks", + "Blazing Chrome", + "Blazing Lazers - •GunhedJP", + "Bleed", + "Bleed 2", + "Blind Fate: Edo no Yami", + "Blinx 2: Masters of Time and Space - Blinx 2: Battle of Time and Space (JP)", + "Blinx: The Time Sweeper", + "Blitz: The League", + "Block-a-Pix Deluxe", + "Blood Bowl 2", + "Blood Bowl 3", + "Blood Gear", + "Blood Omen 2", + "Blood Wake", + "BloodRayne", + "BloodRayne 2", + "Bloodborne", + "Bloodroots", + "Bloodstained: Curse of the Moon", + "Bloodstained: Curse of the Moon 2", + "Bloodstained: Ritual of the Night", + "Bloody Roar Extreme", + "Bloody Wolf - •Narazumono Sentō Butai Bloody WolfJP", + "Bloody Zombies", + "Bloons TD 5", + "BlowOut", + "Blue Estate", + "Blue Fire", + "Blue Reflection", + "Blue Rider", + "Blues and Bullets", + "Boiling Bolt", + "Bokosuka Wars II", + "Bokuhime Project", + "Bomber Crew", + "Bomberman", + "Bomberman '93", + "Bomberman '94", + "Bomberman Users Battle", + "Bonanza Bros.", + "Bonk 3: Bonk's Big Adventure - •PC Genjin 3JP", + "Bonk 3: Bonk's Big Adventure CD-ROM² - •PC Genjin 3JP", + "Bonk's Adventure - •PC GenjinJP", + "Bonk's Revenge - •PC Genjin 2JP", + "Book of Demons", + "Borderlands 3", + "Borderlands: Game of the Year Edition", + "Borderlands: The Handsome Collection", + "Bouken Danshaku Don Sun=Heart-hen", + "Bound", + "Bound by Flame", + "Boundary", + "Boundless", + "Bounty Battle", + "Bow to Blood: Last Captain Standing", + "Boxyboy - •Sōkoban WorldJP", + "Braid Anniversary Edition", + "Brandish", + "Braveknight", + "Braveland Trilogy", + "Bravoman - •Chōzetsurin-jin BerabōmanJP", + "Brawl", + "Brawlout", + "Break In", + "Break Nine: World Billiards Tournament", + "Breakdown", + "Breakers Collection", + "Breeders' Cup World Thoroughbred Championships", + "Brian Lara International Cricket 2005", + "Bridge Constructor", + "Bridge Constructor Portal", + "Bridge Constructor Stunts", + "Bridge Constructor: The Walking Dead", + "Brief Battles", + "Brigandine: The Legend of Runersia", + "Bright Memory: Infinite", + "Broforce", + "Broken Age: The Complete Adventure", + "Broken Delusion", + "Broken Sword 5: The Serpent's Curse", + "Broken Sword: The Sleeping Dragon", + "Brothers in Arms: Earned in Blood", + "Brothers in Arms: Road to Hill 30", + "Brothers: A Tale of Two Sons", + "Browning", + "Bruce Lee: Quest of the Dragon", + "Brutal", + "Brute Force", + "Bubble Bobble 4 Friends: The Baron is Back", + "Bubblegum Crash", + "Bubsy: Paws on Fire!", + "Bubsy: The Woolies Strike Back", + "Bucket Knight", + "Bud Spencer & Terence Hill: Slaps and Beans", + "Buffy the Vampire Slayer", + "Buffy the Vampire Slayer: Chaos Bleeds", + "Bug Fables: The Everlasting Sapling", + "BugsBox", + "Bugsnax", + "Builder Land", + "Buildings Have Feelings Too!", + "Bulb Boy", + "Bulletstorm: Full Clip Edition", + "Bullfight Ring no Hasha", + "Burai", + "Burai II", + "Buried Stars", + "Burning Angels", + "Burnout", + "Burnout 2: Point of Impact", + "Burnout 3: Takedown", + "Burnout Paradise Remastered", + "Burnout Revenge", + "Bus Driver Simulator", + "Bus Simulator 18", + "Bus Simulator 21", + "Bush Hockey League", + "Buster Bros. - •Pomping WorldJP", + "Butcher", + "C.A.T.: Cyber Attack Team", + "CAL II", + "CD Battle: Hikari no Yūshatachi", + "CSI: Crime Scene Investigation", + "Cabela's Big Game Hunter 2005 Adventures", + "Cabela's Dangerous Hunts", + "Cabela's Dangerous Hunts 2", + "Cabela's Deer Hunt: 2004 Season", + "Cabela's Deer Hunt: 2005 Season", + "Cabela's Outdoor Adventures", + "Cadash", + "Cafeteria Nipponica", + "Cake Bash", + "Cal III", + "Caladrius Blaze", + "Call of Cthulhu: Dark Corners of the Earth", + "Call of Cthulhu: The Official Video Game", + "Call of Duty 2: Big Red One", + "Call of Duty 3", + "Call of Duty: Advanced Warfare", + "Call of Duty: Black Ops Cold War", + "Call of Duty: Black Ops III", + "Call of Duty: Black Ops IIII", + "Call of Duty: Finest Hour", + "Call of Duty: Ghosts", + "Call of Duty: Infinite Warfare", + "Call of Duty: Modern Warfare", + "Call of Duty: Modern Warfare 2 Campaign Remastered", + "Call of Duty: Modern Warfare Remastered", + "Call of Duty: WWII", + "Call of Duty: Warzone", + "Calvino Noir", + "Camp California", + "Can't Drive This", + "Candle: The Power of the Flame", + "Candlelight", + "Candleman: The Complete Journey", + "Cannon Brawl", + "Capcom Arcade Stadium", + "Capcom Beat 'Em Up Bundle", + "Capcom Classics Collection Vol. 1", + "Capcom Classics Collection Vol. 2", + "Capcom Fighting Evolution - Capcom Fighting Jam (PAL) (JP)", + "Capcom vs. SNK 2 EO", + "Capsule Force", + "Captain Tsubasa: Rise of New Champions", + "Car Mechanic Simulator 2018", + "CarX Drift Racing Online", + "Card Angels", + "Cardpocalypse", + "Carmageddon: Max Damage", + "Carmen Sandiego: The Secret of the Stolen Drums", + "Cars", + "Cars 3: Driven to Win", + "Carto", + "Cartoon Network: Battle Crashers", + "Carve", + "Casey Powell Lacrosse 16", + "Castle Crashers Remastered", + "CastleStorm II", + "CastleStorm: Definitive Edition", + "Castles", + "Castlevania Anniversary Collection", + "Castlevania Requiem", + "Castlevania: Curse of Darkness - Akumajo Dracula: Yami no Juin (JP)", + "Cat Quest", + "Cat Quest II", + "Catherine: Full Body", + "Catlateral Damage", + "Catwoman", + "Cel Damage", + "Cel Damage HD", + "Celebrity Deathmatch", + "Celeste", + "Chained Echoes", + "Chambara", + "Champion Wrestler", + "Champions Forever", + "Championship Bowling", + "Championship Manager 2006", + "Championship Manager 5", + "Championship Manager: Season 01/02", + "Championship Manager: Season 02/03", + "Championship Rally", + "Chaos Code: New Sign of Catastrophe", + "Chaos on Deponia", + "Chaos;Child", + "Chariot", + "Charlie and the Chocolate Factory", + "Chase H.Q. - •Taito Chase HQJP", + "Chase: Hollywood Stunt Driver", + "Chasm", + "Checkers", + "Chernobylite", + "Chess Ultra", + "Chessmaster 10th Edition", + "Chew Man Fu - •Be BallJP", + "Chibi Maruko-chan: Quiz de Piihira", + "Chicago Enforcer", + "Chicken Little", + "Chicken Police: Paint it Red!", + "Chiki Chiki Boys", + "Chikuden-ya Toubei", + "Child of Light", + "Children of Morta", + "Children of Zodiarcs", + "Chime Sharp", + "Chimparty", + "China Warrior - •The Kung FuJP", + "Chivalry 2", + "Chivalry: Medieval Warfare", + "Cho Aniki", + "Chocobo's Mystery Dungeon Every Buddy!", + "Chop is Dish", + "Chorus: Rise As One", + "Chroma Squad", + "ChromaGun", + "Chronicles of Teddy: Harmony of Exidus", + "Chronos: Before the Ashes", + "Chō Jikū Yōsai Macross 2036", + "Chō Jikū Yōsai Macross: Eien no Love Song", + "Ciel Nosurge DX", + "Cinders", + "Circuit Superstars", + "Circuits", + "Circus Lido", + "Circus Maximus: Chariot Wars", + "Citadel: Forged with Fire", + "Cities: Skylines", + "Citizens of Earth", + "Citizens of Space", + "City Hunter", + "City Shrouded in Shadow", + "Civilization VI", + "Cladun Returns: This is Sengoku!", + "Claire: Extended Cut", + "Clannad", + "Classified: The Sentinel Crisis", + "Claybook", + "Clockwork Aquario", + "Clockwork Tales: Of Glass and Ink", + "Close Combat: First to Fight", + "Close to the Sun", + "Cloudpunk", + "Club Football", + "Club Football 2005", + "Clustertruck", + "Cobra II: Densetsu no Otoko", + "Cobra Kai: The Karate Kid Saga Continues", + "Cobra: Kokuryū-Ō no Densetsu", + "Code Vein", + "Codename: Kids Next Door - Operation: V.I.D.E.O.G.A.M.E.", + "Coffee Talk", + "Coffin Dodgers", + "Cogen: Sword of Rewind", + "Cold Fear", + "Cold War", + "Colin McRae Rally 04", + "Colin McRae Rally 2005", + "Colin McRae Rally 3", + "College Hoops 2K6", + "College Hoops 2K7", + "Color Wars", + "Colt Canyon", + "Columns", + "Combat Elite: WWII Paratroopers", + "Combat: Task Force 121", + "Comet Crash 2", + "Commander Cherry's Puzzled Journey", + "Commandos 2 - HD Remaster", + "Commandos 2: Men of Courage", + "Commandos: Strike Force", + "Conan", + "Conan Chop Chop", + "Conan Exiles", + "Conarium", + "Concept Destruction", + "Conception Plus: Maidens of the Twelve Stars", + "Concrete Genie", + "Conflict: Desert Storm", + "Conflict: Desert Storm II: Back to Baghdad", + "Conflict: Global Terror", + "Conflict: Vietnam", + "Conga Master", + "Conker: Live & Reloaded", + "Conspiracy: Weapons of Mass Destruction", + "Constantine", + "Construction Simulator 2: Console Edition", + "Construction Simulator 3: Console Edition", + "Constructor HD", + "Constructor Plus", + "Contra Anniversary Collection", + "Contra: Rogue Corps", + "Contrast", + "Control", + "Convallaria", + "Convoy: A Tactical Roguelike", + "Cook, Serve, Delicious! 2", + "Cook, Serve, Delicious! 3", + "Corpse Party: Blood Covered Repeated Fear", + "Corvette", + "Coryoon", + "Cosmic Fantasy 2 - •Cosmic Fantasy 2: Bōken Shōnen VanJP", + "Cosmic Fantasy 3: Bōken Shōnen Rei", + "Cosmic Fantasy 4: Ginga Shōnen Densetsu: Gekitouhen", + "Cosmic Fantasy 4: Ginga Shōnen Densetsu: Totsunyūhen", + "Cosmic Fantasy: Bōken Shōnen Yū", + "Cosmic Star Heroine", + "Costume Quest 2", + "Cotton Reboot!", + "Cotton: Fantastic Night Dreams - •CottonJP", + "Counter-Strike", + "CounterSpy", + "Cozy Groove", + "Crash 'n' Burn", + "Crash Bandicoot 4: It's About Time", + "Crash Bandicoot N. Sane Trilogy", + "Crash Bandicoot: The Wrath of Cortex", + "Crash Nitro Kart", + "Crash Tag Team Racing", + "Crash Team Racing Nitro-Fueled", + "Crash Twinsanity", + "Cratermaze - •Doraemon: Meikyū DaisakusenJP", + "Crawl", + "Crayola Scoot", + "Crazy Strike Bowling EX", + "Crazy Taxi 3: High Roller", + "Creaks", + "Creature in the Well", + "Cricket 19", + "Cricket 2005", + "Crime Life: Gang Wars", + "Crimson Sea", + "Crimson Skies: High Road to Revenge", + "Cris Tales", + "Cross Wiber: Cyber Combat Police", + "CrossCode", + "CrossKrush", + "Crossing Souls", + "Crouching Tiger, Hidden Dragon", + "Crown Trick", + "Crows: Burning Edge", + "Crusty Demons", + "Crypt of the NecroDancer", + "Cryptark", + "Crysis Remastered", + "Crystal Crisis", + "Crystar", + "Cube Life: Island Survival HD", + "Cubers: Arena", + "Cuphead", + "Curious Expedition", + "Curious George", + "Curse of the Dead Gods", + "Curse: The Eye of Isis", + "Curses 'N Chaos", + "Cyber City Oedo: Kemono no Alignment", + "Cyber Core", + "Cyber Cross", + "Cyber Dodge", + "Cyber Knight", + "Cyber Troopers Virtual-On Masterpiece 1995–2001", + "Cyberdimension Neptunia: 4 Goddesses Online", + "Cyberpunk 2077", + "DARQ: Complete Edition", + "DE.JA", + "DJMax Respect", + "DRIV3R", + "Daemon Vector", + "Daggerhood", + "Dai Makaimura", + "Dai Senryaku VII: Modern Military Tactics - Daisenryaku VII (JP)", + "Daichikun Crisis", + "Daisenpuu", + "Daisenpū Custom", + "Daisenryaku II: Campaign Version", + "Daisenryaku: Dai Toua Kouboushi 3", + "Dakar 18", + "Dakar 2: The World's Ultimate Rally", + "Damsel", + "Dance Dance Revolution Ultramix - Dance Stage Unleashed (PAL)", + "Dance Dance Revolution Ultramix 2 - Dance Stage Unleashed 2 (PAL)", + "Dance Dance Revolution Ultramix 3 - Dance Stage Unleashed 3 (PAL)", + "Dance Dance Revolution Ultramix 4", + "Dance: UK", + "Dandara", + "Danganronpa 1-2 Reload", + "Danganronpa Another Episode: Ultra Despair Girls", + "Danganronpa Trilogy", + "Danganronpa V3: Killing Harmony", + "Danger Zone", + "Dangerous Golf", + "Dangun Feveron", + "Darius Alpha", + "Darius Cozmic Collection", + "Darius Cozmic Revelation", + "Darius Plus", + "Dariusburst Chronicle Saviours", + "Dark Arcana: The Carnival", + "Dark Devotion", + "Dark Envoy", + "Dark Rose Valkyrie", + "Dark Souls II", + "Dark Souls III", + "Dark Souls Remastered", + "Dark Summit", + "Darkest Dungeon", + "Darkestville Castle", + "Darksiders Genesis", + "Darksiders II: Deathinitive Edition", + "Darksiders III", + "Darksiders: Warmastered Edition", + "Darkwatch", + "Darkwing Duck", + "Darkwood", + "Dave Mirra Freestyle BMX 2", + "David Beckham Soccer", + "Davis Cup Tennis", + "Davis Cup Tennis, The (CD)", + "Dawn of the Monsters", + "Day of the Tentacle: Remastered Edition", + "DayZ", + "Daylight", + "Daymare: 1998", + "Days Gone", + "De Blob", + "De Blob 2", + "Dead Alliance", + "Dead Cells", + "Dead Island 2", + "Dead Island Definitive Edition", + "Dead Man's Hand", + "Dead Moon", + "Dead Nation: Apocalypse Edition", + "Dead Rising", + "Dead Rising 2", + "Dead Rising 2: Off the Record", + "Dead Rising 4", + "Dead Star", + "Dead Synchronicity: Tomorrow Comes Today", + "Dead by Daylight", + "Dead of the Brain 1 & 2", + "Dead or Alive 3", + "Dead or Alive 5 Last Round", + "Dead or Alive 6", + "Dead or Alive Ultimate", + "Dead or Alive Xtreme 3", + "Dead or Alive Xtreme Beach Volleyball", + "Dead or School", + "Dead to Rights", + "Dead to Rights II", + "Deadcore", + "Deadlight: Director's Cut", + "Deadpool", + "Dear Esther", + "Death Bringer", + "Death Come True", + "Death Coming", + "Death Crown", + "Death Squared", + "Death Stranding", + "Death end re;Quest", + "Death end re;Quest 2", + "Death's Gambit", + "Deathrow", + "Deathsmiles I & II", + "Decay of Logos", + "Deception IV: The Nightmare Princess", + "Deemo: Reborn", + "Deep Blue - •Deep Blue: Kaitei ShinwaJP", + "Deep Sky Derelicts: Definitive Edition", + "Def Jam: Fight for NY", + "Defender", + "Defenders of Ekron", + "Defense Grid 2", + "Deformers", + "Deiland", + "Deko Boko Densetsu", + "Deleveled", + "Deliver Us the Moon", + "Delta Force: Black Hawk Down", + "Deltarune", + "Demetrios: The Big Cynical Adventure", + "Demon Gaze II", + "Demon's Tier+", + "Demon's Tilt", + "Demons Age", + "Dengeki Bunko: Fighting Climax Ignition", + "Dennou Taisen: DroneZ", + "Dennō Tenshi: Digital Angel", + "Densha de Go!! Hashirou Yamanote Sen", + "Deponia", + "Deponia Doomsday", + "Descenders", + "Desperados III", + "Destiny", + "Destiny Connect: Tick-Tock Travelers", + "Destroy All Humans!", + "Destroy All Humans!", + "Destroy All Humans! 2", + "Detana!! TwinBee", + "Detention", + "Detroit: Become Human", + "Deus Ex: Invisible War", + "Deus Ex: Mankind Divided", + "Devil Engine", + "Devil May Cry 4: Special Edition", + "Devil May Cry 5", + "Devil May Cry HD Collection", + "Devil's Crush - •Devil CrashJP", + "Devious Dungeon", + "Devious Dungeon 2", + "Dex", + "Diablo II: Resurrected", + "Diablo III", + "Diablo IV", + "Die Hard", + "Die Hard: Vendetta", + "Die for Valhalla!", + "Digimon Rumble Arena 2", + "Digimon Story: Cyber Sleuth", + "Digimon Story: Cyber Sleuth – Hacker's Memory", + "Digimon Survive", + "Digimon World 4 - Dejimon Warudo X (JP)", + "Digimon World: Next Order", + "Digital Champ: Battle Boxing", + "Digital Comic Patlabor: Chapter of Griffon", + "Dino Crisis 3", + "Dinosaur Hunting", + "Dinotopia: The Sunstone Odyssey", + "Dirt 4", + "Dirt 5", + "Dirt Rally", + "Dirt Rally 2.0", + "Disaster Report 4 Plus: Summer Memories", + "Disc Jam", + "Disco Elysium: The Final Cut", + "Disgaea 1 Complete", + "Disgaea 4 Complete+", + "Disgaea 5 Complete", + "Disgaea 6: Defiance of Destiny", + "Dishonored 2", + "Dishonored: Death of the Outsider", + "Dishonored: Definitive Edition", + "Disintegration", + "Disney Classic Games: Aladdin and The Lion King", + "Disney Infinity 3.0", + "Disney Infinity: Marvel Super Heroes", + "Disney's Extreme Skate Adventure", + "Dissidia Final Fantasy NT", + "Distance", + "Distraint", + "Distraint 2", + "Divekick", + "Divide", + "Divinity: Original Sin", + "Divinity: Original Sin II", + "DmC: Devil May Cry Definitive Edition", + "Do Not Feed the Monkeys", + "Doctor Who: The Edge of Reality", + "Dogos", + "Dokapon UP! Mugen no Roulette", + "Doki-Doki Universe", + "Don Bradman Cricket 17", + "Don Doko Don", + "Don't Die, Mr. Robot!", + "Don't Starve", + "Don't Starve Together", + "Donut County", + "Doodle Devil", + "Doodle God", + "Doodle God Evolution", + "Doom", + "Doom", + "Doom 3", + "Doom 3", + "Doom 3: Resurrection of Evil", + "Doom 64", + "Doom Eternal", + "Doom II", + "Door Kickers: Action Squad", + "Doraemon Story of Seasons", + "Doraemon: Nobita no Dorabian Night", + "Doraemon: Nobita no Dorabian Night (CD)", + "Double Dragon II: The Revenge", + "Double Dungeons", + "Double Ring - •W-Ring: The Double RingsJP", + "Double-S.T.E.A.L. - The Second Clash", + "Doughlings: Arcade", + "Download", + "Download 2", + "Downtown Nekketsu Kōshinkyoku", + "Downtown Nekketsu Monogatari", + "Downwell", + "Dr. Muto", + "Dr. Seuss' The Cat in the Hat", + "Dragon Age: Inquisition", + "Dragon Ball FighterZ", + "Dragon Ball Xenoverse", + "Dragon Ball Xenoverse 2", + "Dragon Ball Z: Idainaru Son Gokou Densetsu", + "Dragon Ball Z: Kakarot", + "Dragon Ball Z: Sagas", + "Dragon EGG!", + "Dragon Fantasy: The Black Tome of Ice", + "Dragon Fin Soup", + "Dragon Half", + "Dragon Knight & Graffiti", + "Dragon Knight II", + "Dragon Knight III", + "Dragon Marked For Death", + "Dragon Quest Builders", + "Dragon Quest Builders 2", + "Dragon Quest Heroes", + "Dragon Quest Heroes II", + "Dragon Quest X", + "Dragon Quest XI", + "Dragon Quest XI S: Echoes of an Elusive Age - Definitive Edition", + "Dragon Saber", + "Dragon Slayer: The Legend of Heroes - •Dragon Slayer: Eiyū DensetsuJP", + "Dragon Slayer: The Legend of Heroes II", + "Dragon Spirit", + "Dragon Star Varnir", + "Dragon's Crown Pro", + "Dragon's Curse - •Adventure IslandJP", + "Dragon's Dogma: Dark Arisen", + "Dragon's Lair 3D: Return to the Lair", + "DragonFangZ: The Rose & Dungeon of Time", + "Drake of the 99 Dragons", + "Draugen", + "Draw a Stickman: Epic 2", + "Drawful 2", + "Drawn to Death", + "Dread Nautical", + "Dreamfall Chapters: The Longest Journey", + "Dreamfall: The Longest Journey", + "Dreams", + "Dreamwalker: Never Fall Asleep", + "Dreii", + "Drihoo (JP)", + "Driveclub", + "Driveclub Bikes", + "Driver: Parallel Lines", + "Drop Off - •Drop Rock Hora HoraJP", + "Dual Gear", + "Duck Game", + "Duke Nukem 3D: 20th Anniversary World Tour", + "Dungeon Defenders: Awakened", + "Dungeon Explorer", + "Dungeon Explorer II", + "Dungeon Master - •Dungeon Master: Theron's QuestJP", + "Dungeon Punks", + "Dungeon Village", + "Dungeon of the Endless", + "DungeonTop", + "Dungeons & Dragons: Heroes", + "Dungeons & Dragons: Order of the Griffon", + "Dungeons 2", + "Dungeons 3", + "Dungreed", + "Dusk Diver", + "Dust: An Elysian Tail", + "Dustoff Heli Rescue 2", + "Dustoff Z", + "Dying Light", + "Dying Light 2", + "Dynastic Hero, The - •Chō Eiyū Densetsu Dynastic HeroJP", + "Dynasty Warriors 3 - Shin Sangokumusou 2 (JP)", + "Dynasty Warriors 4 - Shin Sangokumusou 3 (JP)", + "Dynasty Warriors 5 - Shin Sangokumusou 4 (JP)", + "Dynasty Warriors 8: Empires", + "Dynasty Warriors 8: Xtreme Legends Complete Edition", + "Dynasty Warriors 9", + "Dynasty Warriors 9: Empires", + "Dynasty Warriors: Godseekers", + "Dōkyūsei", + "EA Sports UFC", + "EA Sports UFC 2", + "EA Sports UFC 3", + "EA Sports UFC 4", + "ELEX", + "ESP Ra.De. Psy", + "ESPN College Hoops", + "ESPN College Hoops 2K5", + "ESPN International Winter Sports 2002", + "ESPN MLS ExtraTime 2002", + "ESPN Major League Baseball", + "ESPN NBA 2K5", + "ESPN NBA 2Night 2002", + "ESPN NBA Basketball", + "ESPN NFL 2K5", + "ESPN NFL Football", + "ESPN NFL PrimeTime 2002", + "ESPN NHL 2K5", + "ESPN NHL Hockey", + "ESPN Winter X-Games Snowboarding 2002", + "ESports Life Tycoon", + "Earth Atlantis", + "Earth Defense Force 4.1", + "Earth Defense Force 5", + "Earth Defense Force 6", + "Earth Defense Force: Iron Rain", + "Earth Defense Force: World Brothers", + "Earth Wars", + "EarthNight", + "Earthfall", + "Earthlock: Festival of Magic", + "Eastshade", + "Echo", + "Ed, Edd n Eddy: The Mis-Edventures", + "Edge of Eternity", + "Edna & Harvey: Harvey's New Eyes", + "Edna & Harvey: The Breakout", + "Efera and Jiliora: The Emblem from Darkness", + "Effie", + "Egg Mania: Eggstreme Madness", + "Eikan wa Kimi ni", + "Eitr", + "Eiyuden Chronicle: Hundred Heroes", + "Eiyū Saigokushi", + "Elden Ring", + "Electronic Super Joy", + "Electronic Super Joy 2", + "Elite: Dangerous", + "Elliot Quest", + "Embers of Mirrim", + "Emerald Dragon", + "Emily Wants to Play", + "Empire of Angels IV", + "Empire of Sin", + "Enchanted Portals", + "Enclave", + "Ender Lilies: Quietus of the Knights", + "Endless Dungeon", + "Endless Fables: Dark Moor", + "Energy", + "Energy Hook", + "England International Football", + "Enigmatis 2: The Mists of Ravenwood", + "Enigmatis 3: The Shadow of Karkhala", + "Enigmatis: The Ghosts of Maple Creek", + "Enter the Gungeon", + "Enter the Matrix", + "Entwined", + "Epic Astro Story", + "Eragon", + "Erica", + "Escape Goat 2", + "Escape Plan", + "Ether One", + "Etherborn", + "Euro Fishing", + "Evan's Remains", + "Eve: Valkyrie - Warzone", + "Even the Ocean", + "Eventide 2: Sorcerer's Mirror", + "Eventide 3: Legacy of Legends", + "Eventide: Slavic Fable", + "Everspace", + "Everspace 2", + "Everybody's Golf", + "Everybody's Gone to the Rapture", + "Everything", + "Evil Dead: A Fistful of Boomstick", + "Evil Dead: Regeneration", + "Evil Dead: The Game", + "Evil West", + "Evolve", + "Evotinction", + "ExaSkeleton", + "Exception", + "Exile", + "Exile's End", + "Exile: Wicked Phenomenon - •Exile IIJP", + "Exist Archive", + "Exit the Gungeon", + "Exophobia", + "Extinction", + "F-1 CIRCUS'92", + "F-1 Dream", + "F-1 Pilot", + "F.I.S.T.: Forged in Shadow Torch", + "F1 2001", + "F1 2002", + "F1 2015", + "F1 2016", + "F1 2017", + "F1 2018", + "F1 2019", + "F1 2020", + "F1 2021", + "F1 Career Challenge", + "F1 Circus", + "F1 Circus '91", + "F1 Circus Special", + "F1 Team Simulation Project F", + "F1 Triple Battle", + "FIA European Truck Racing Championship", + "FIFA 06 Soccer", + "FIFA 07", + "FIFA 14", + "FIFA 15", + "FIFA 16", + "FIFA 17", + "FIFA 18", + "FIFA 19", + "FIFA 20", + "FIFA 2005", + "FIFA 21", + "FIFA Football 2003", + "FIFA Football 2004", + "FIFA Street", + "FIFA Street 2", + "FIFA World Cup: Germany 2006", + "FILA World Tour Tennis", + "Fable", + "Fable: The Lost Chapters", + "Faceball", + "Faeria", + "Fairy Fencer F: Advent Dark Force", + "Fairy Tail", + "Falcon", + "Fall Guys: Ultimate Knockout", + "Fallen Legion: Revenants", + "Fallen Legion: Sins of an Empire", + "Fallout 4", + "Fallout 76", + "Fallout: Brotherhood of Steel", + "Family Feud", + "Family Guy Video Game!", + "Family Mysteries 2: Echoes of Tomorrow", + "Family Mysteries: Poisonous Promises", + "Fang of Alnam", + "Fantastic 4", + "Fantasy General II", + "Fantasy Zone", + "Far Cry 3 Classic", + "Far Cry 4", + "Far Cry 5", + "Far Cry 6", + "Far Cry Instincts", + "Far Cry Instincts: Evolution", + "Far Cry Primal", + "Far: Lone Sails", + "Farjius no Jakōtei", + "Farm Together", + "Farming Simulator 15", + "Farming Simulator 17", + "Farming Simulator 19", + "Fast & Furious Crossroads", + "Fast Striker", + "Fat Princess Adventures", + "Fatal Frame - Project Zero (PAL)", + "Fatal Frame II: Crimson Butterfly - Project Zero II: Crimson Butterfly (PAL)", + "Fate/Extella Link", + "Fate/Extella: The Umbral Star", + "Fault Milestone One", + "Fault Milestone Two Side: Above", + "Fault Milestone Two Side: Below", + "Faussete Amour", + "Fe", + "Feist", + "Felix the Reaper", + "Fell Seal: Arbiter's Mark", + "Fenix Furia", + "Feudal Alloy", + "Fez", + "Fibbage", + "Fiend Hunter", + "Fight Club", + "Fight Night 2004", + "Fight Night Round 2", + "Fight Night: Round 3", + "Fight'N Rage", + "Fighting EX Layer", + "Fighting Run", + "Fighting Street", + "Figment", + "Filthy Lucre", + "Final Blaster", + "Final Fantasy IX", + "Final Fantasy Type-0 HD", + "Final Fantasy VII", + "Final Fantasy VII Remake", + "Final Fantasy VIII Remastered", + "Final Fantasy X/X-2 HD Remaster", + "Final Fantasy XII: The Zodiac Age", + "Final Fantasy XIV: A Realm Reborn", + "Final Fantasy XIV: Heavensward", + "Final Fantasy XIV: Shadowbringers", + "Final Fantasy XIV: Stormblood", + "Final Fantasy XV", + "Final Fantasy: Crystal Chronicles Remastered", + "Final Fight: Streetwise", + "Final Horizon", + "Final Lap Twin", + "Final Match Tennis", + "Final Soldier", + "Final Zone II", + "Finding Nemo", + "Fire Blade", + "Fire Pro Joshi: Shōmu Chōjo Taisen: Zenjo vs. JWP", + "Fire Pro Wrestling 2nd Bout", + "Fire Pro Wrestling 3 Legend Bout", + "Fire Pro Wrestling Combination Tag", + "Fire Pro Wrestling World", + "Firewatch", + "Fishing Sim World: Pro Tour", + "Fishing: Barents Sea", + "Fist of the North Star: Lost Paradise", + "Five Dates", + "Five Nights at Freddy's", + "Five Nights at Freddy's 2", + "Five Nights at Freddy's 3", + "Five Nights at Freddy's 4", + "Five Nights at Freddy's: Help Wanted", + "Five Nights at Freddy's: Security Breach", + "Five Nights at Freddy's: Sister Location", + "Flame Over", + "Flash Hiders", + "Flashback", + "Flat Heroes", + "FlatOut", + "FlatOut 2", + "FlatOut 4: Total Insanity", + "Flight Academy", + "Flinthook", + "Flipper Mechanic", + "Flipping Death", + "Flockers", + "Flow", + "Flower", + "Fluster Cluck", + "Football, Tactics & Glory", + "For Honor", + "For the King", + "Forager", + "Forced", + "Ford Bold Moves Street Racing", + "Ford Mustang: The Legend Lives", + "Ford Racing 2", + "Ford Racing 3", + "Ford vs. Chevy", + "Foreclosed", + "Foregone", + "Forgotten Realms: Demon Stone", + "Forgotten Worlds", + "Forgotton Anne", + "Forma.8", + "Formation Armed F", + "Formation Soccer", + "Formation Soccer '95 della Seria A", + "Formation Soccer on J-League", + "Forza Motorsport", + "Foul Play", + "Four Sided Fantasy", + "Fragments of Him", + "Frane: Dragons' Odyssey", + "Frantics", + "Fray CD", + "FreakOut: Calamity TV Show", + "Freaky Flyers", + "Freddy Spaghetti", + "Freedom Fighters", + "Freedom Finger", + "Freedom Planet", + "Freestyle MetalX", + "Freestyle Street Soccer", + "Friday the 13th: The Game", + "Frogger Beyond", + "Frogger: Ancient Shadow", + "Frostpunk", + "Full Metal Panic! Fight! Who Dares Wins", + "Full Mojo Rampage", + "Full Spectrum Warrior", + "Full Spectrum Warrior: Ten Hammers", + "Full Throttle Remastered", + "Furi", + "Furious Karting", + "Fury Unleashed", + "Fuser", + "Fushigi no Gensōkyō 3", + "Fushigi no Umi no Nadia", + "Fushigi no Yume no Alice", + "Futurama", + "Future Tactics: The Uprising", + "Future Unfolding", + "FutureGrind", + "Futuridium EP Deluxe", + "Fuuraiki 4", + "Fuzion Frenzy", + "G.I. Joe: Operation Blackout", + "Gaia no Monshou", + "Gaiflame", + "Gain Ground SX", + "Gakuen", + "Gal Gun 2", + "Gal Gun: Double Peace", + "Gal Gunvolt", + "Gal Gunvolt Burst", + "Galacide", + "Galaga '90 - •Galaga '88JP", + "Galak-Z: The Dimensional", + "Galaxy Angel", + "Galaxy Deka Gayvan", + "Galaxy Fräulein Yuna", + "Galaxy Fräulein Yuna 2", + "Galaxy of Pen & Paper +1 Edition", + "Galleon", + "Game Dev Story", + "Game Tengoku CruisnMix", + "Game of Thrones", + "Ganbare! Golf Boys", + "Ganbare! Super Strikers", + "Gang Beasts", + "Garfield Kart: Furious Racing", + "Garou: Mark of the Wolves", + "Garō Densetsu 2", + "Garō Densetsu Special", + "Gas Guzzlers Extreme", + "Gate of Thunder", + "Gauntlet: Dark Legacy", + "Gauntlet: Seven Sorrows", + "Gauntlet: Slayer Edition", + "Gekido: Kintaro's Revenge", + "Gekisha Boy", + "Gem Smashers", + "Gemini: Heroes Reborn", + "Gene Troopers", + "Generation Zero", + "Genji Tsūshin Amedama", + "Genma Onimusha", + "Genocide", + "Genpei Tōma Den", + "Gensō No Rondo", + "Gensō Rōgoku no Kaleidoscope", + "Gensō Tairiku Auleria", + "Geometry Wars 3: Dimensions", + "Get Even", + "Ghost 1.0", + "Ghost Blade HD", + "Ghost Manor", + "Ghost Master: The Gravenville Chronicles", + "Ghost Sweeper Mikami", + "Ghost of Tsushima", + "Ghost of a Tale", + "Ghostbusters: The Video Game Remastered", + "Ghostrunner", + "Ghosts 'n Goblins Resurrection", + "Ghoulboy: Dark Sword of Goblin", + "Giana Sisters: Twisted Dreams - Director's Cut", + "Giga Wrecker Alt.", + "Ginga Force", + "Ginga Fukei Densetsu Sapphire", + "Giraffe and Annika", + "Girls und Panzer: Dream Tank Match", + "Gladiator: Sword of Vengeance", + "Gladius", + "Glass Masquerade", + "Glass Masquerade 2", + "Glitched", + "Gnog", + "Go! Go! Birdie Chance", + "Goat Simulator", + "Goblin Commander: Unleash the Horde", + "God Eater 2: Rage Burst", + "God Eater 3", + "God Eater Resurrection", + "God Panic: Shijō Saikyō Gundan", + "God Wars: Future Past", + "God of War", + "God of War III Remastered", + "God's Trigger", + "Gods Will Fall", + "Godzilla - •Gojira: Bakutō RetsudenJP", + "Godzilla: Destroy All Monsters Melee", + "Godzilla: Save the Earth", + "Godzilla: The Game", + "Going Under", + "Gokuraku! Chuuka Daisen", + "Golden Axe", + "Golden Force", + "GoldenEye: Rogue Agent", + "Golf Zero", + "Golf with Your Friends", + "Gomola Speed", + "Gone Home", + "Gonner", + "Gonner 2", + "Goodbye Deponia", + "Goodbye Volcano High", + "Goosebumps: The Game", + "Gotcha!", + "Gotham Knights", + "Gothic Murder: Adventure That Changes Destiny", + "Grab the Bottle", + "Grabbed by the Ghoulies", + "Graceful Explosion Machine", + "Gradius", + "Gradius II", + "Gran Turismo Sport", + "Granblue Fantasy Versus", + "Granblue Fantasy: Relink", + "Grand Ages: Medieval", + "Grand Kingdom", + "Grand Prix Rock N Racing", + "Grand Prix Story", + "Grand Theft Auto III", + "Grand Theft Auto V", + "Grand Theft Auto: San Andreas", + "Grand Theft Auto: Vice City", + "Gravel", + "Graven", + "Graveyard Keeper", + "Gravity Games Bike: Street. Vert. Dirt.", + "Gravity Ghost: Deluxe Edition", + "Gravity Heroes", + "Gravity Rush 2", + "Gravity Rush Remastered", + "GreedFall", + "Green Hell", + "Greg Hastings Tournament Paintball", + "Greg Hastings' Tournament Paintball Max'd", + "Grey Skies: A War of the Worlds Story", + "Grid", + "Gridd: Retroenhanced", + "Grim Fandango Remastered", + "Grim Legends 2: Song of the Dark Swan", + "Grim Legends 3: The Dark City", + "Grim Legends: The Forsaken Bride", + "Grip: Combat Racing", + "Gris", + "Grood", + "Grooverider: Slot Car Thunder", + "Group S Challenge - CIRCUS DRIVE (JP)", + "Grow Home", + "Grow Up", + "Guacamelee! 2", + "Guacamelee! Super Turbo Championship Edition", + "Guard Duty", + "Guardians of the Galaxy: The Telltale Series", + "Guild of Darksteel", + "Guilty Gear", + "Guilty Gear Isuka[1]", + "Guilty Gear Strive", + "Guilty Gear X2#Reload[2]", + "Guilty Gear Xrd: Revelator", + "Guilty Gear Xrd: Sign", + "Guitar Hero Live", + "Gulclight TDF-2", + "Gulliver Boy", + "Gun", + "Gun Metal", + "GunGriffon: Allied Strike", + "Gunboat", + "Gundam Breaker 3", + "Gundam Versus", + "Gungrave G.O.R.E.", + "Gunhead", + "Gunlord X", + "Gunman Clive HD Collection", + "Guns of Icarus Alliance", + "Guns, Gore and Cannoli", + "Guns, Gore and Cannoli 2", + "Gunscape", + "Gunvalkyrie", + "Gunvolt Chronicles: Luminous Avenger iX", + "Gyuwanburā Jiko Chūshin Ha: Gekitō Sanjūroku Janshi", + "Gyuwanburā Jiko Chūshin Ha: Mahjong Puzzle Collection", + "Götzendiener", + "H-Hour: World's Elite", + "Hakoniwa Company Works", + "Half-Life 2", + "Halo 2", + "Halo 2 Multiplayer Map Pack", + "Halo: Combat Evolved", + "Hamidashi Creative", + "Hammerwatch", + "Hanataa ka daka!?", + "Hand of Fate", + "Hand of Fate 2", + "Hard Reset Redux", + "Hard West: Ultimate Edition", + "Hardcore Mecha", + "Hardspace: Shipbreaker", + "Hardware: Rivals", + "Harry Potter and the Chamber of Secrets", + "Harry Potter and the Goblet of Fire", + "Harry Potter and the Prisoner of Azkaban", + "Harry Potter and the Sorcerer's Stone - Harry Potter and the Philosopher's Stone (PAL)", + "Harry Potter: Quidditch World Cup", + "Harvest Moon: Light of Hope", + "Harvest Moon: Mad Dash", + "Harvest Moon: One World", + "Has-Been Heroes", + "Hataraku Shōjo: Tekipaki Working Love", + "Hatoful Boyfriend", + "Hatris", + "Hatsukoi Monogatari", + "Hatsune Miku: Project Diva Future Tone", + "Hatsune Miku: Project Diva X", + "Haven", + "Hawk F-123", + "Headhunter Redemption", + "Headlander", + "Headliner: NoviNews", + "Headsnatchers", + "Heart&Slash", + "Heaven's Vault", + "Heavenly Bodies", + "Heavy Rain", + "Heavy Unit", + "Hellblade: Senua's Sacrifice", + "Helldivers", + "Hellfire S", + "Hellfront: Honeymoon", + "Hellmut: The Badass from Hell", + "Hello Kitty: Roller Rescue - Hello Kitty: Mission Rescue (AS)", + "Hellpoint", + "Her Majesty's Spiffing", + "Here They Lie", + "Hero Defense", + "Hero Must Die. Again", + "Hero Siege", + "Heroes of the Pacific", + "Heroland", + "Hidden Agenda", + "Hidden Through Time", + "Hide & Dance!", + "High Grenadier", + "High Heat Major League Baseball 2004", + "High Rollers Casino", + "Hihō Densetsu: Chris no Bōken", + "Himitsu no Hanazono", + "Hindsight 20/20", + "Hisou Kihei Kai-Serd[b]", + "Hit the Ice", + "Hitman", + "Hitman 2", + "Hitman 2: Silent Assassin", + "Hitman Go", + "Hitman III", + "Hitman: Blood Money", + "Hitman: Contracts", + "HoPiKo", + "Hob", + "Hogwarts Legacy", + "Hohokum", + "Hollow Knight", + "Holy Potatoes! A Weapon Shop?!", + "Holy Potatoes! We're in Space?!", + "Holy Potatoes! What the Hell?!", + "Home - A Unique Horror Adventure", + "Home Free", + "Homefront: The Revolution", + "Honey in the Sky", + "Honey on the Road", + "Honō no Dōkyūji: Dodge Danpei", + "Hood: Outlaws & Legends", + "Horizon Chase Turbo", + "Horizon Forbidden West", + "Horizon Zero Dawn", + "Horned Knight", + "Horror Story", + "Hot Springs Story", + "Hot Wheels Unleashed", + "Hot Wheels: Stunt Track Challenge", + "Hotel Life: A Resort Simulator", + "Hotline Miami", + "Hotline Miami 2: Wrong Number", + "Hotshot Racing", + "House Flipper", + "How To Take Off Your Mask Remastered", + "How to Survive 2", + "How to Survive: Storm Warning Edition", + "Hue", + "Hulk", + "Human Sports Festival", + "Human: Fall Flat", + "Humanity", + "Hummer Badlands", + "Hunt: Showdown", + "Huntdown", + "Hunter: The Reckoning", + "Hunter: The Reckoning: Redeemer", + "Hyakumonogatari: Honto ni Atta Kowai Hanashi", + "Hyper Jam", + "Hyper Light Drifter", + "Hyper Void", + "Hyper Wars", + "HyperParasite", + "Hypnospace Outlaw", + "I Am Bread", + "I Am Setsuna", + "I, AI", + "I-Ninja", + "I.Q. Panic", + "IHRA Drag Racing 2004", + "IHRA Drag Racing: Sportsman Edition", + "IHRA Professional Drag Racing 2005", + "Ice Age 2: The Meltdown", + "Ice Age: Scrat’s Nutty Adventure", + "Icewind Dale: Enhanced Edition", + "Icey", + "Iconoclasts", + "Iga Ninden Gaiō", + "Ikaruga", + "Ikenfell", + "Illusion of L'Phalcia", + "Image Fight", + "Image Fight II", + "Immortal Planet", + "Immortal Realms: Vampire Wars", + "Immortal Redneck", + "Immortal: Unchained", + "Immortals Fenyx Rising", + "Impact Winter", + "Impossamole", + "In Between", + "In Celebration of Violence", + "In Nightmare", + "In Rays of the Light", + "In the Shadows", + "Inazuma Eleven: Great Road of Heroes", + "Indiana Jones and the Emperor's Tomb", + "Indigo Prophecy - Fahrenheit (PAL)", + "Indivisible", + "Industry Giant II", + "IndyCar Series", + "IndyCar Series 2005", + "Inertial Drift", + "Infamous First Light", + "Infamous Second Son", + "Inferno 2", + "Inferno Climber: Reborn", + "Infinifactory", + "Infinite Minigolf", + "Infliction: Extended Cut", + "Injustice 2", + "Injustice: Gods Among Us Ultimate Edition", + "Innocent Tears", + "Inoue Mami: Kono Hoshi ni Tatta Hitori no Kimi", + "Insane Robots", + "Inside", + "Inside My Radio", + "Inside Pitch 2003", + "Insurgency: Sandstorm", + "Intellivision Lives!", + "International Superstar Soccer 2", + "Inuwashi: Urabure Tantei to Ojou-sama Keiji no Ikebukuro Jiken File", + "Invector", + "Inversus", + "Invisible, Inc.", + "Invisigun Reloaded", + "Ion Fury", + "Iris.Fall", + "Iron Crypticle", + "Iron Harvest", + "Iron Phoenix", + "Iron Sea Defenders", + "Ironcast", + "Ironclad Tactics", + "Irony Curtain: From Matryoshka with Love", + "Is It Wrong to Try to Pick Up Girls in a Dungeon? Infinite Combat", + "Island", + "It Came From The Desert", + "It Takes Two", + "It's Quiz Time", + "Ittle Dew 2", + "J-League Greatest Eleven", + "J-Stars Victory Vs+", + "J. League Tremendous Soccer '94", + "J.B. Harold Murder Club", + "J.J. & Jeff - •Kato-chan Ken-chanJP", + "Jack Nicklaus' Turbo Golf - •Jack Nicklaus Championship GolfJP", + "Jack Nicklaus' Turbo Golf - •Jack Nicklaus' World Golf TourJP", + "Jacked", + "Jackie Chan's Action Kung Fu - •Jackie ChanJP", + "Jade Empire", + "James Cameron's Dark Angel", + "Jamestown+", + "Janshin Densetsu: Quest of Jongmaster", + "Jantei Monogatari", + "Jantei Monogatari 2: Uchū Tantei Diban: Shutsudō Hen", + "Jantei Monogatari 3: Saver Angels", + "Japanese Rail Sim: Journey to Kyoto", + "Jaseiken Necromancer", + "Jaws Unleashed", + "Jay and Silent Bob: Mall Brawl", + "Jazzpunk: Director's Cut", + "Jenny LeClue: Detectivú", + "Jeopardy!", + "Jet Car Stunts", + "Jet Set Knights", + "Jet Set Radio Future", + "Jetpack Joyride", + "Jett: The Far Shore", + "Jigoku Meguri", + "Jikkyou Powerful Pro Baseball 2016", + "Jikkyou World Soccer 2002", + "Jim Power", + "Jinki Resurrection", + "Jinmu Denshō Yaksa", + "Jisei: The First Case HD", + "JoJo's Bizarre Adventure: Eyes of Heaven", + "Jockey's Road", + "Joe Dever's Lone Wolf", + "John Madden Duo CD-ROM² Football", + "John Wick Hex", + "Jotun: Valhalla Edition", + "Journey", + "Journey to the Savage Planet", + "Joysound Dive 2", + "Judge Dredd: Dredd Vs. Death", + "Judgment", + "Juiced", + "Jumanji: The Video Game", + "Jump Force", + "Jump King", + "Jump Stars", + "Jurassic Park: Operation Genesis", + "Jurassic World Evolution", + "Just Cause", + "Just Cause 3", + "Just Cause 4", + "Just Dance 2021", + "Just Deal With It!", + "Just Die Already", + "Just Sing", + "Justice League Heroes", + "Jydge", + "Jūōki", + "Jūōki", + "K.O. Seiki Beast Sanjūshi", + "Kabuki Ittō Ryōdan", + "Kabuki Warriors", + "Kagami no Kuni no Legend", + "Kaizō Chōjin Shubibinman", + "Kaizō Chōjin Shubibinman 3", + "Kakuto Chojin", + "Kakuto Haō Densetsu Algunos", + "Kamen Rider: Battride War Genesis", + "Kamen Rider: Memory of Heroez", + "Kamiko", + "Kandagawa Jet Girls", + "Kao the Kangaroo: Round 2", + "Karaoke Revolution", + "Karaoke Revolution Party", + "Karumaruka Circle", + "Katamari Damacy Reroll", + "Katana Kami: A Way of the Samurai Story", + "Kattobi! Takuhai-Kun", + "Kawa no Nushizuri: Shizenha", + "Kaze Kiri", + "Kaze and the Wild Masks", + "Keep Talking and Nobody Explodes", + "Keith Courage in Alpha Zones - •Mashin Eiyuuden WataruJP", + "Kelly Slater's Pro Surfer", + "Ken Follett's The Pillars of the Earth", + "Kena: Bridge of Spirits", + "Kentucky Route Zero: TV Edition", + "Kerbal Space Program", + "Kerbal Space Program 2", + "Kero Blaster", + "Ketsui Deathtiny: Kizuna Jigoku Tachi", + "Kholat", + "KiKi KaiKai", + "Kiaidan 00", + "Kick Boxing, The", + "Kick Off Revival", + "KickBeat: Special Edition", + "Kickball", + "Kikou Heidan J-Phoenix +", + "Kill It With Fire", + "Kill Switch", + "Kill la Kill: If", + "Killing Floor 2", + "Killing Floor: Double Feature", + "Killzone Shadow Fall", + "Kin'iro Loveriche", + "Kin'iro Loveriche: Golden Time", + "King Arthur", + "King Oddball", + "King Of Casino", + "King of Seas", + "King's Bounty II", + "King's Quest", + "Kingdom Come: Deliverance", + "Kingdom Hearts III", + "Kingdom Hearts: Melody of Memory", + "Kingdom Hearts: The Story So Far", + "Kingdom Under Fire: Heroes", + "Kingdom Under Fire: The Crusaders", + "Kingdom of Night", + "Kingdom: New Lands", + "Kingdom: Two Crowns", + "Kingdoms of Amalur: Re-Reckoning", + "Kingmaker: Rise to the Throne", + "Kingpin: Reloaded", + "Kings of Lorn: The Fall of Ebris", + "Kisō Louga", + "Kitaria Fables", + "Kitty Powers' Matchmaker", + "Klaus", + "Klax", + "Knack", + "Knack 2", + "Knight Rider Special", + "Knight's Apprentice: Memorick's Adventures", + "Knightin'+", + "Knights and Bikes", + "Knights of the Temple II", + "Knights of the Temple: Infernal Crusade", + "Knock-Knock", + "Knockout City", + "Knockout Kings 2002", + "Knot", + "Knowledge is Power", + "Knowledge is Power: Decades", + "Koi", + "Koihime Enbu", + "Koihime Enbu RyoRaiRai", + "Kona", + "Kore ga Pro Yakyuu '90", + "Kore ga Pro Yakyū '89", + "Kotodama: The 7 Mysteries of Fujisawa", + "Kowloon's Rhizome: A Day of the Fire", + "Kromaia Omega", + "Kung Fu Chaos", + "Kunio-kun: The World Classics Collection", + "Kwaidan: Azuma Manor Story", + "Kyūkyoku Tiger", + "L-Dis", + "L.A. Noire", + "L.A. Rush", + "LA Cops", + "LMA Manager 2003", + "LMA Manager 2004", + "LMA Manager 2005", + "LMA Manager 2006", + "La Valeur", + "La-Mulana", + "La-Mulana 2", + "Labyrinth Life", + "Labyrinth of Galleria: Coven of Dusk", + "Labyrinth of Refrain: Coven of Dusk", + "Labyrinth of Zangetsu", + "Lady Phantom", + "Laid-Back Camp -Virtual- Fumoto Campsite", + "Laid-Back Camp -Virtual- Lake Motosu", + "Laid-Back Camp: Have a Nice Day!", + "Lair of the Clockwork God", + "Land of the Dead: Road to Fiddler's Green", + "Langrisser I & II HD Remastered", + "Langrisser: Hikari no Matsuei", + "Lapis x Labyrinth", + "Laplace no Ma", + "Lara Croft Go", + "Lara Croft and the Temple of Osiris", + "Largo Winch: Empire Under Threat", + "Laser League", + "Laserlife", + "Last Alert - •Red AlertJP", + "Last Armageddon", + "Last Day of June", + "Last Stop", + "Late Shift", + "LawBreakers", + "Laws of Machine", + "Layers of Fear", + "Layers of Fear 2", + "League of Legends: Wild Rift", + "Leap of Fate", + "Leaving Lyndow", + "Left Alive", + "Legacy of Kain: Defiance", + "Legend of Hero Tonma", + "Legend of Kay Anniversary", + "Legend of Mana", + "Legend of Xanadu", + "Legend of Xanadu II", + "Legendary Axe II, The - •Ankoku DensetsuJP", + "Legendary Axe, The - •Makyō DensetsuJP", + "Legends of Wrestling", + "Legends of Wrestling II", + "Legion", + "Lego Batman 3: Beyond Gotham", + "Lego City Undercover", + "Lego DC Super-Villains", + "Lego Dimensions", + "Lego Harry Potter Collection", + "Lego Jurassic World", + "Lego Marvel Super Heroes", + "Lego Marvel Super Heroes 2", + "Lego Marvel's Avengers", + "Lego Movie Videogame", + "Lego Movie Videogame 2", + "Lego Ninjago Movie Video Game", + "Lego Star Wars II: The Original Trilogy", + "Lego Star Wars: The Force Awakens", + "Lego Star Wars: The Skywalker Saga", + "Lego Star Wars: The Video Game", + "Lego The Hobbit", + "Lego Worlds", + "Legrand Legacy: Tale of the Fatebounds", + "Leisure Suit Larry: Magna Cum Laude", + "Leisure Suit Larry: Wet Dreams Don't Dry", + "Leisure Suit Larry: Wet Dreams Dry Twice", + "Lemmings", + "Lemnis Gate", + "Lemony Snicket's A Series of Unfortunate Events", + "Leo's Fortune: HD Edition", + "Let Them Come", + "Let's Sing 2020", + "Let's Sing 2021", + "Let's Sing Country", + "Let's Sing Queen", + "Lethal League", + "Lethal League Blaze", + "Letter Quest Remastered", + "Lichdom: Battlemage", + "Lichtspeer: Double Speer Edition", + "Life Goes On: Done to Death", + "Life Is Strange", + "Life Is Strange 2", + "Linda³", + "Link-a-Pix Deluxe", + "Links 2004", + "Lithium: Inmate 39", + "Little Big Workshop", + "Little Devil Inside", + "Little Misfortune", + "Little Nightmares", + "Little Nightmares II", + "Little Town Hero", + "Little Witch Academia: Chamber of Time", + "LittleBigPlanet 3", + "Livelock", + "Lock's Quest", + "LocoRoco 2 Remastered", + "LocoRoco Remastered", + "Lode Runner Legacy", + "Lode Runner: Ushina Wareta Meikyū", + "Lone Survivor: The Director's Cut", + "Lonely Mountains: Downhill", + "Loom", + "Loons: The Fight for Fame", + "Loot Rascals", + "Lord of Wars", + "Lords of Thunder - •Winds of ThunderJP", + "Lords of the Fallen", + "Lords of the Rising Sun - •Rising SunJP", + "Lornsword Winter Chronicle", + "Lost Castle", + "Lost Ember", + "Lost Grimoires 2: Shard of Mystery", + "Lost Grimoires: Stolen Kingdom", + "Lost Orbit: Terminal Velocity", + "Lost Ruins", + "Lost Sea", + "Lost Soul Aside", + "Lost Sphear", + "Lost Wing", + "Lost Words: Beyond the Page", + "Lotus Challenge", + "Louga II: The Ends of Shangrila", + "Lovecraft's Untold Stories", + "Lovers in a Dangerous Spacetime", + "MLB Slugfest 2003", + "MLB Slugfest 2004", + "MLB Slugfest 2006", + "MLB Slugfest: Loaded", + "MTV Music Generator 3: This is the Remix", + "MTX: Mototrax", + "MVP 06: NCAA Baseball", + "MVP Baseball 2003", + "MVP Baseball 2004", + "MVP Baseball 2005", + "MX 2002", + "MX Superfly", + "MX Unleashed", + "MX World Tour Featuring Jamie Little", + "MX vs. ATV Unleashed", + "Mace Griffin: Bounty Hunter", + "Mad Dash Racing", + "Mad Stalker: Full Metal Force", + "Madagascar", + "Madden NFL 06", + "Madden NFL 07", + "Madden NFL 08", + "Madden NFL 09", + "Madden NFL 2002", + "Madden NFL 2003", + "Madden NFL 2004", + "Madden NFL 2005", + "Madō King Granzort", + "Madō Monogatari I", + "Mafia: The City of Lost Heaven", + "Magatama", + "Magi Death Fight: Mahou Gakuen", + "Magic the Gathering: Battlegrounds", + "Magical Chase", + "Magical Dinosaur Tour - •Magical Saurus TourJP", + "Magicoal", + "Mahjong Clinic Special", + "Mahjong Gakuen - Tōma Sōhirō Tōjō", + "Mahjong Gakuen Mild", + "Mahjong Gokū Special", + "Mahjong Haōden: Kaiser's Quest", + "Mahjong Lemon Angel", + "Mahjong Shikaku Retsuden: Mahjong Wars", + "Mahjong Sword", + "Mahjong on the Beach", + "Maison Ikkoku", + "Major League Baseball 2K5", + "Major League Baseball 2K5: World Series Edition", + "Major League Baseball 2K6", + "Major League Baseball 2K7", + "Makai Hakkenden Shada", + "Makai Prince Dorabocchan", + "Malice", + "Mamono Hunter Yōko: Makai Kara no Tenkōsai", + "Mamono Hunter Yōko: Tooki Yobikoe", + "Manchester United Manager 2005", + "Manhunt", + "Maniac Pro Wrestling", + "Marc Ecko's Getting Up: Contents Under Pressure", + "Martial Champion", + "Marvel Nemesis: Rise of the Imperfects", + "Marvel vs. Capcom 2", + "Marvel: Ultimate Alliance", + "Mashed: Drive to Survive", + "Mashed: Fully Loaded", + "Master of Monsters", + "Mat Hoffman's Pro BMX 2", + "Max Payne", + "Max Payne 2: The Fall of Max Payne", + "Maximum Chase", + "MechAssault", + "MechAssault 2: Lone Wolf", + "Medal of Honor: European Assault", + "Medal of Honor: Frontline", + "Medal of Honor: Rising Sun", + "Mega Man Anniversary Collection", + "Megami Paradise", + "Meikyū no Elfine", + "Melbourne Cup Challenge - Frankie Dettori Racing (EUR)", + "Men of Valor", + "Mercenaries: Playground of Destruction", + "Metal Angel", + "Metal Angel 2", + "Metal Arms: Glitch in the System", + "Metal Dungeon", + "Metal Gear Solid 2: Substance", + "Metal Slug 3", + "Metal Slug 4", + "Metal Slug 5", + "Metal Stoker", + "Metal Wolf Chaos", + "MetamorJupiter", + "Miami Vice", + "Micro Machines", + "Midnight Club 3: DUB Edition", + "Midnight Club 3: DUB Edition Remix", + "Midnight Club II", + "Midtown Madness 3", + "Midway Arcade Treasures", + "Midway Arcade Treasures 2", + "Midway Arcade Treasures 3", + "Might & Magic", + "Might and Magic III: Isles of Terra", + "Mike Tyson Heavyweight Boxing", + "Military Madness - •NectarisJP", + "Minesweeper", + "Minority Report: Everybody Runs", + "Mirai Shōnen Conan", + "Mission Impossible: Operation Surma", + "Mitsubachi Gakuen", + "Mizubaku Daibouken", + "Mojo!", + "Momotaro Densetsu Gaiden Dai Ichi Shu", + "Momotarou Densetsu II", + "Momotarou Densetsu Turbo", + "Momotarō Katsugeki", + "Monopoly Party", + "Monster 4x4: World Circuit", + "Monster Garage", + "Monster Lair - •Wonder Boy III: Monster LairJP", + "Monster Maker: Yami no Ryūkishi", + "Monster Pro Wrestling", + "Moonlight Lady", + "Morita Shogi PC", + "Mortal Kombat: Armageddon", + "Mortal Kombat: Deadly Alliance", + "Mortal Kombat: Deception", + "Mortal Kombat: Shaolin Monks", + "Moto Roader", + "Moto Roader II", + "Moto Roader MC", + "MotoGP", + "MotoGP 2", + "MotoGP 3", + "Motocross Mania 3", + "Motteke Tamago", + "Mr Heli no Daibouken", + "Murakumo: Renegade Mech Pursuit", + "Muzzle Flash", + "Myst III: Exile", + "Myst IV: Revelation", + "Mystic Formula", + "Märchen Maze", + "N.U.D.E.@ Natural Ultimate Digital Experiment", + "NASCAR 06: Total Team Control", + "NASCAR 07", + "NASCAR 2005: Chase for the Cup", + "NASCAR Heat 2002", + "NASCAR Thunder 2002", + "NASCAR Thunder 2003", + "NASCAR Thunder 2004", + "NBA 2K2", + "NBA 2K3", + "NBA 2K6", + "NBA 2K7", + "NBA Ballers", + "NBA Ballers: Phenom", + "NBA Inside Drive 2002", + "NBA Inside Drive 2003", + "NBA Inside Drive 2004", + "NBA Jam", + "NBA Live 06", + "NBA Live 07", + "NBA Live 2002", + "NBA Live 2003", + "NBA Live 2004", + "NBA Live 2005", + "NBA Starting Five", + "NBA Street V3", + "NBA Street Vol. 2", + "NCAA College Basketball 2K3", + "NCAA College Football 2K3", + "NCAA Football 06", + "NCAA Football 07", + "NCAA Football 08", + "NCAA Football 2003", + "NCAA Football 2004", + "NCAA Football 2005", + "NCAA March Madness 06", + "NCAA March Madness 2004", + "NCAA March Madness 2005", + "NFL 2K2", + "NFL 2K3", + "NFL Blitz 2002", + "NFL Blitz 2003", + "NFL Blitz Pro", + "NFL Fever 2002", + "NFL Fever 2003", + "NFL Fever 2004", + "NFL Head Coach", + "NFL Street", + "NFL Street 2", + "NHK Taiga Drama Taiheki", + "NHL 06", + "NHL 07", + "NHL 2002", + "NHL 2003", + "NHL 2004", + "NHL 2005", + "NHL 2K3", + "NHL 2K6", + "NHL 2K7", + "NHL Hitz 20-02", + "NHL Hitz 20-03", + "NHL Hitz Pro", + "NHL Rivals 2004", + "Nakashima Tetsuya no Othello Seminar", + "Namco Museum", + "Namco Museum 50th Anniversary", + "Narc", + "Naritore: The Sugoroku '92", + "Naxat Open", + "Naxat Stadium", + "Nazo no Masquerade", + "Necros no Yōsai", + "Need for Speed: Carbon", + "Need for Speed: Hot Pursuit 2", + "Need for Speed: Most Wanted", + "Need for Speed: Underground", + "Need for Speed: Underground 2", + "Neighbours from Hell", + "Nekketsu Kōkō Dodgeball Bu: CD Soccer Hen", + "Nekketsu Kōkō Dodgeball Bu: PC Bangai Hen", + "Nekketsu Kōkō Dodgeball Bu: PC Soccer Hen", + "Nekketsu Legend Baseballer", + "Nemurenu Yoru Chiisaina Ohanashi", + "Neo Nectaris", + "Neutopia", + "Neutopia II", + "New Adventure Island - •Takahashi Meijin no Shin Bōken JimaJP", + "New Legends", + "Nexzr", + "Nexzr Special", + "Nickelodeon Party Blast", + "Night Creatures", + "NightCaster", + "NightCaster II: Equinox", + "Niko Niko Pun", + "Ninja Gaiden", + "Ninja Gaiden Black", + "Ninja Ryūkenden", + "Ninja Spirit - •Saigo no Nindō: Ninja SpiritJP", + "Ninja Warriors", + "Nishimura Kyōtaro Mystery: Hokutosei no Onna", + "No-Ri-Ko", + "Nobunaga no Yabou: Ranseiki", + "Nobunaga no Yabō: Bushō Fūunroku", + "Nobunaga no Yabō: Zenkokuban", + "Obocchamakun", + "ObsCure", + "Oddworld: Munch's Oddysee", + "Oddworld: Stranger's Wrath", + "Open Season", + "Operation Flashpoint: Elite", + "Operation Wolf", + "Ordyne", + "Otogi 2: Immortal Warriors", + "Otogi: Myth of Demons", + "Out Live", + "Out Run", + "OutRun 2", + "OutRun 2006: Coast 2 Coast", + "Outlaw Golf", + "Outlaw Golf 2", + "Outlaw Golf: 9 More Holes of X-Mas", + "Outlaw Golf: Holiday Golf (9 Holes of X-Mas)", + "Outlaw Tennis", + "Outlaw Volleyball", + "Outlaw Volleyball: Red Hot", + "Over the Hedge", + "OverRide", + "P-47", + "Pac-Land", + "Pac-Man World 2", + "Pac-Man World 3", + "Pachio-kun 3: Pachislot & Pachinko", + "Pachio-kun: Jūban Shōbu", + "Pachio-kun: Maboroshi no Densetsu", + "Pachio-kun: Warau Uchū", + "Painkiller: Hell Wars", + "Panic Bomber", + "Panzer Dragoon Orta", + "Panzer Elite Action: Fields of Glory", + "Parasol Stars", + "Pariah", + "Parodius Da!", + "Pastel Lime", + "Peter Jackson's King Kong", + "Petit Copter", + "Phantasy Star Online Episode I & II", + "Phantom Crash", + "Phantom Dust", + "Pilot Down: Behind Enemy Lines", + "Pinball Hall of Fame", + "Pirates of the Caribbean", + "Pirates: Legend of the Black Buccaneer", + "Pirates: The Legend of Black Kat", + "Pitfall: The Lost Expedition", + "Playboy: The Mansion", + "Plus Plum 2", + "PocketBike Racer", + "Police Connection", + "Pool Shark 2", + "Pop'n Magic", + "Popful Mail", + "Populous", + "Populous: The Promised Lands", + "Power Drift", + "Power Eleven", + "Power Gate", + "Power Golf", + "Power Golf 2", + "Power League '93", + "Power League 4", + "Power League II", + "Power League III", + "Power League V", + "Power Tennis", + "Powerdrome", + "Predator: Concrete Jungle", + "Prince of Persia", + "Prince of Persia: The Sands of Time", + "Prince of Persia: The Two Thrones", + "Prince of Persia: Warrior Within", + "Princess Maker 1", + "Princess Maker 2", + "Princess Minerva", + "Prisoner of War", + "Private Eyedol", + "Pro Cast Sports Fishing - Lakemasters: Bass Fishing Game (JP)", + "Pro Fishing Challenge", + "Pro Race Driver", + "Pro Yakyuu World Stadium", + "Pro Yakyuu World Stadium '91", + "ProStroke Golf: World Tour 2007", + "Project Gotham Racing", + "Project Gotham Racing 2", + "Project Snowblind", + "Psi-Ops: The Mindgate Conspiracy", + "Psychic Detective Series Vol. 3: Aýa", + "Psychic Detective Vol. 4: Orgel", + "Psychic Storm", + "Psycho Chaser", + "Psychonauts", + "Psychosis - •ParanoiaJP", + "Psyvariar 2", + "Pulse Racer", + "Pump It Up: Exceed", + "Pure Pinball", + "Puyo Pop: Fever", + "Puyo Puyo CD", + "Puyo Puyo CD Tsū", + "Puzzle Boy", + "Puzznic", + "Quantum Redshift", + "Quiz Avenue", + "Quiz Avenue 3", + "Quiz Avenue II", + "Quiz Caravan Cult Q", + "Quiz Marugoto The World", + "Quiz Marugoto The World: Time Machine ni Onegai!", + "Quiz Nobunaga no Yabō", + "Quiz de Gakuensai", + "Quiz no Hoshi", + "R-Type - •R-Type I / R-Type IIJP", + "R-Type: Complete CD", + "R: Racing Evolution", + "RLH: Run Like Hell", + "ROM ROM Stadium", + "Rabio Lepus Special", + "Racing Spirits", + "Raiden", + "Rainbow Islands", + "RalliSport Challenge 2", + "Rallisport Challenge", + "Rally Fusion: Race of Champions", + "Ranma ½", + "Ranma ½: Datō, Ganso Musabetsu Kakuto Ryū", + "Ranma ½: Toraware no Hayanome", + "Rapala Pro Fishing", + "Rastan Saga II", + "Ratatouille", + "Rayman 3: Hoodlum Havoc", + "Rayman Arena", + "Rayxanber II", + "Rayxanber III", + "Raze's Hell", + "Real World Golf", + "Record of Lodoss War", + "Records of Lodoss War II", + "Red Dead Revolver", + "Red Faction II", + "Red Ninja: End of Honor", + "RedCard 20-03", + "Reign of Fire", + "Renny Blaster", + "Rent-A-Hero No. 1", + "Reservoir Dogs", + "Return to Castle Wolfenstein: Tides of War", + "Richard Burns Rally", + "Riot Zone - •Crest of WolfJP", + "Road Spirits", + "RoadKill", + "Robin Hood: Defender of the Crown", + "RoboCop", + "Robot Wars: Extreme Destruction", + "Robotech: Battlecry", + "Robotech: Invasion", + "Robots", + "Rock-On", + "Rocky", + "Rocky: Legends", + "Rogue Ops", + "Rogue Trooper", + "RollerCoaster Tycoon", + "Rolling", + "Room Zoom", + "Rugby 06", + "Rugby 2005", + "Rugby Challenge 2006", + "Rugby League", + "Rugby League 2", + "Ruin: Kami no Isan", + "Ryūkyū", + "Ryūkō no Ken", + "S.C.I.", + "SD Senyō Aldynes", + "SSX 3", + "SSX On Tour", + "SSX Tricky", + "SVC Chaos: SNK vs. Capcom", + "SWAT: Global Strike Team", + "SX Superstar", + "Sadakichi Sebun: Hideyoshi no Ougon", + "Saint Dragon", + "Salamander", + "Samurai Ghost - •Genpei Toumaden: KannoniJP", + "Samurai Shodown V", + "Samurai Warriors", + "Sangokushi III", + "Sangokushi: Eiketsu Tenka ni Nozomu", + "Scaler", + "Scarface: The World Is Yours", + "Scooby-Doo! Mystery Mayhem", + "Scooby-Doo! Night of 100 Frights", + "Scooby-Doo! Unmasked", + "SeaBlade", + "SeaWorld: Shamu's Deep Sea Adventures", + "Second Sight", + "Secret Weapons Over Normandy", + "Sega GT 2002", + "Sega GT Online", + "Sega Soccer Slam", + "Seirei Senshi Spriggan", + "Seiryū Densetsu Monbit", + "Seisenshi Denshō", + "Seiya Monogatari", + "Sekigahara", + "Sengoku Kantō Sangokushi", + "Sengoku Mahjong", + "Sensible Soccer 2006", + "Sentou Yousei Yukikaze: Yousei no Mau Sora", + "Serious Sam", + "Serious Sam II", + "Sexy Idol Mahjong", + "Sexy Idol Mahjong 2: Yakyūken no Uta", + "Sexy Idol Mahjong: Mahjong Fashion Monogatari", + "Shadow Ops: Red Mercury", + "Shadow of Memories", + "Shadow of the Beast", + "Shadow the Hedgehog", + "Shanghai", + "Shanghai II", + "Shanghai III: Dragon's Eye", + "Shape Shifter - •Shapeshift: Makai Eiyū DenJP", + "Shark Tale", + "Shattered Union", + "Shellshock: Nam '67", + "Shenmue II", + "Sherlock Holmes Consulting Detective", + "Sherlock Holmes: Consulting Detective Vol. II", + "Shikigami no Shiro", + "Shikigami no Shiro Evolution Blue", + "Shikigami no Shiro Evolution Red", + "Shikigami no Shiro II", + "Shin Megami Tensei", + "Shin Megami Tensei: Nine", + "Shin Onryō Senki", + "Shin Sangokushi: Tenka wa Waga ni", + "Shinchou Mahjong (Nobunaga Mahjong)", + "Shinobi", + "Shiryō Sensen", + "Shockman - •Kaizou Chōjin Shubibinman 2: Atanaru TekiJP", + "Shogi Shodan Icchokusen", + "Shogi Shoshinsha Muyou", + "Showdown: Legends of Wrestling", + "Shrek", + "Shrek 2", + "Shrek Super Party", + "Shrek SuperSlam", + "Shōgi Database Kiyū", + "Sid Meier's Pirates!", + "Side Arms Hyper Dyne - •Hyper Dyne Side ArmsJP", + "Side Arms Special", + "Silent Debuggers", + "Silent Hill 2", + "Silent Hill 4: The Room", + "Silent Scope Complete", + "SimEarth", + "Sindibad: Chitei No Dai Makyu", + "Sinistron - •Violent SoldierJP", + "Ski Racing 2005", + "Ski Racing 2006", + "Skweek", + "Slam Tennis", + "Slime World", + "Slot Gambler", + "Smashing Drive", + "Snatcher CD-ROMantic", + "Sneak King", + "Sneakers", + "Sniper Elite", + "Sol Bianca", + "Sol Moonarge", + "Soldier Blade", + "Soldier of Fortune II: Double Helix", + "Solid Force", + "Somer Assault - •MesopotamiaJP", + "Son Son II", + "Sonic Heroes", + "Sonic Mega Collection Plus", + "Sonic Riders", + "Sonic Spike - •World Beach VolleyJP", + "Sorcerian", + "Sotsugyō II", + "Sotsugyō Shashin: Miki", + "Sotsugyō: Graduation", + "Soul Calibur II", + "Space Harrier", + "Space Invaders: Fukkatsu no Hi", + "Space Invaders: The Original Game", + "Spartan: Total Warrior", + "Spawn: Armageddon", + "Special Forces: Nemesis Strike - Counter Terrorist Special Forces: Fire for Effect (EUR)", + "Speed Kings", + "Sphinx and the Cursed Mummy", + "Spider-Man", + "Spider-Man 2", + "Spikeout: Battle Street", + "Spin Pair", + "Spiral Wave", + "Splash Lake", + "Splashdown", + "Splat Magazine Renegade Paintball", + "Splatterhouse", + "SpongeBob SquarePants: Battle for Bikini Bottom", + "SpongeBob SquarePants: Lights, Camera, Pants!", + "Spriggan Mk. II", + "Spy Hunter", + "Spy Hunter 2", + "Spy Hunter: Nowhere to Run", + "Spy vs. Spy", + "Spyro: A Hero's Tail", + "Stacked with Daniel Negreanu", + "Stake: Fortune Fighters", + "Star Breaker", + "Star Mobile", + "Star Parodier", + "Star Trek: Shattered Universe", + "Star Wars: Battlefront", + "Star Wars: Battlefront II", + "Star Wars: Episode III: Revenge of the Sith", + "Star Wars: Jedi Knight II: Jedi Outcast", + "Star Wars: Jedi Knight: Jedi Academy", + "Star Wars: Jedi Starfighter", + "Star Wars: Knights of the Old Republic", + "Star Wars: Knights of the Old Republic II: The Sith Lords", + "Star Wars: Obi-Wan", + "Star Wars: Republic Commando", + "Star Wars: Starfighter", + "Star Wars: The Clone Wars", + "Starsky & Hutch", + "Startling Odyssey", + "Startling Odyssey II", + "State of Emergency", + "Steam-Heart's", + "Steel Battalion", + "Steel Battalion: Line of Contact", + "Still Life", + "Stolen", + "Stratego", + "Street Fighter Anniversary Collection", + "Street Fighter II", + "Street Hoops", + "Street Racing Syndicate", + "Strider Hiryū", + "Strike Force Bowling", + "Stubbs the Zombie in Rebel Without a Pulse", + "Sudeki", + "Super Air Zonk - •CD-ROM² DenjinJP", + "Super Albatross", + "Super Bubble Pop", + "Super CD-ROM² Taiken Soft Shū", + "Super Daisenryaku", + "Super Darius", + "Super Darius II", + "Super Mahjong Taikai", + "Super Metal Crusher", + "Super Momotaro Dentetsu", + "Super Momotarou Dentetsu II", + "Super Monkey Ball Deluxe", + "Super Raiden", + "Super Real Mahjong P II/III Custom", + "Super Real Mahjong P.V Custom", + "Super Real Mahjong PIV", + "Super Real Mahjong Special", + "Super Schwarzchild", + "Super Schwarzschild 2", + "Super Star Soldier", + "Super Volleyball", + "Superman Returns", + "Superman: The Man of Steel", + "Susano-ou Densetsu", + "Sword Master", + "Syberia", + "Syberia II", + "Syd Mead's Terraforming - •TerraformingJP", + "Sylphia", + "TATSUJIN", + "TOCA Race Driver 2: The Ultimate Racing Simulator", + "TOCA Race Driver 3", + "TV Sports Basketball", + "TV Sports Hockey - •TV Sports Ice HockeyJP", + "TV Sports: Football", + "Taidaima Yūsha Boshūchū", + "Taiheiki", + "Taito Legends", + "Taito Legends 2", + "Tak 2: The Staff of Dreams", + "Tak: The Great Juju Challenge", + "Takahashi Akiko no Mahjong Seminar", + "Takeda Shingen", + "Takin' it to the Hoop - •USA Pro BasketballJP", + "TaleSpin", + "Tanjō: Debut", + "Tao Feng: Fist of the Lotus", + "Tatsu no Ko Fighter", + "Taz: Wanted", + "Tecmo Classic Arcade", + "Tecmo World Cup: Super Soccer", + "Teen Titans", + "Teenage Mutant Ninja Turtles", + "Teenage Mutant Ninja Turtles 2: Battle Nexus", + "Teenage Mutant Ninja Turtles 3: Mutant Nightmare", + "Teenage Mutant Ninja Turtles: Mutant Melee", + "Tenchi Muyō! Ryōōki", + "Tenchi wo Kurau", + "Tenchu: Return from Darkness", + "Tenerezza", + "Tengai Makyō II: Manjimaru", + "Tengai Makyō: Deden no Den", + "Tengai Makyō: Fū-un Kabuki Den", + "Tengai Makyō: ZIRIA", + "Tennis Masters Series 2003", + "Tenshi no Uta", + "Tenshi no Uta II", + "Terminator 3: Rise of the Machines", + "Terminator 3: The Redemption", + "Terra Cresta II", + "Test Drive", + "Test Drive Off-Road Wide Open", + "Test Drive: Eve of Destruction", + "Tetris Worlds", + "Tetris Worlds (Online Edition)", + "The 25th Ward: The Silver Case", + "The Adventure Pals", + "The Alliance Alive HD Remastered", + "The Alto Collection", + "The Amazing American Circus", + "The Amazing Spider-Man 2", + "The Angry Video Game Nerd I & II Deluxe", + "The Aquatic Adventure of the Last Human", + "The Assembly", + "The Atlas", + "The Banner Saga", + "The Banner Saga 2", + "The Banner Saga 3", + "The Bard's Tale", + "The Bard's Tale IV: Director's Cut", + "The Bard's Tale: Remastered and Resnarkled", + "The Baseball 2002: Battle Ball Park Sengen", + "The Bible Game", + "The Binding of Isaac: Rebirth", + "The Binding of Isaac: Repentance", + "The Blackout Club", + "The Book of Unwritten Tales 2", + "The Bridge", + "The Bug Butcher", + "The Caligula Effect 2", + "The Caligula Effect: Overdose", + "The Castle Game", + "The Chronicles of Narnia: The Lion, the Witch and the Wardrobe", + "The Chronicles of Riddick: Escape from Butcher Bay", + "The Church in the Darkness", + "The Coma 2: Vicious Sisters", + "The Coma: Recut", + "The Count Lucanor", + "The Crew", + "The Crew 2", + "The Da Vinci Code", + "The Dark Pictures Anthology: House of Ashes", + "The Dark Pictures Anthology: Little Hope", + "The Dark Pictures Anthology: Man of Medan", + "The Deadly Tower of Monsters", + "The Disney Afternoon Collection", + "The Dukes of Hazzard: Return of the General Lee", + "The Dwarves", + "The Elder Scrolls III: Morrowind", + "The Elder Scrolls Online", + "The Elder Scrolls V: Skyrim – Special Edition", + "The End Is Nigh", + "The Escapists", + "The Escapists 2", + "The Escapists: The Walking Dead", + "The Evil Within", + "The Evil Within 2", + "The Fairly OddParents: Breakin' Da Rules", + "The Fall", + "The Fall Part 2: Unbound", + "The Final Station", + "The Flame in the Flood", + "The Forest", + "The Gardens Between", + "The Godfather: The Game", + "The Golf Club", + "The Golf Club 2", + "The Golf Club 2019 featuring PGA Tour", + "The Good Life", + "The Great Ace Attorney Chronicles", + "The Great Escape", + "The Guy Game", + "The Haunted Mansion", + "The Hobbit", + "The Hong Kong Massacre", + "The House in Fata Morgana: Dream of the Revenants Edition", + "The House of the Dead III", + "The Huntsman: Winter's Curse", + "The Hustle: Detroit Streets", + "The Idolmaster Platinum Stars", + "The Idolmaster: Starlit Season", + "The Idolmaster: Stella Stage", + "The Incredible Adventures of Van Helsing", + "The Incredible Adventures of Van Helsing II", + "The Incredible Adventures of Van Helsing III", + "The Incredible Hulk: Ultimate Destruction", + "The Incredibles - Mr. Incredible (JP)", + "The Incredibles: Rise of the Underminer", + "The Inner Friend", + "The Inner World", + "The Inpatient", + "The Invisible Hours", + "The Italian Job", + "The Jackbox Party Pack", + "The Jackbox Party Pack 2", + "The King of Fighters '97 Global Match", + "The King of Fighters 2002", + "The King of Fighters 2002: Unlimited Match", + "The King of Fighters 2003", + "The King of Fighters Neowave", + "The King of Fighters XIV", + "The King of Fighters: Maximum Impact", + "The Language of Love", + "The Last Blade 2", + "The Last Campfire", + "The Last Door", + "The Last Guardian", + "The Last Kids on Earth and the Staff of Doom", + "The Last Remnant Remastered", + "The Last Tinker: City of Colors", + "The Last of Us Part II", + "The Last of Us Remastered", + "The Last of Us: Left Behind", + "The Legend of Heroes: Ao no Kiseki", + "The Legend of Heroes: Hajimari no Kiseki", + "The Legend of Heroes: Trails of Cold Steel", + "The Legend of Heroes: Trails of Cold Steel II", + "The Legend of Heroes: Trails of Cold Steel III", + "The Legend of Heroes: Trails of Cold Steel IV", + "The Legend of Heroes: Zero no Kiseki", + "The Legend of Korra", + "The Legend of Spyro: A New Beginning", + "The Little Acre", + "The Long Dark", + "The Lord of the Rings: Adventure Card Game", + "The Lord of the Rings: The Fellowship of the Ring", + "The Lord of the Rings: The Return of the King", + "The Lord of the Rings: The Third Age", + "The Lord of the Rings: The Two Towers", + "The Lost Child", + "The Manhole", + "The Matrix: Path of Neo", + "The NewZealand Story", + "The Pro Yakyū", + "The Pro Yakyū Super", + "The Pro Yakyū Super '94", + "The Punisher", + "The Simpsons: Hit & Run", + "The Simpsons: Road Rage", + "The Sims", + "The Sims 2", + "The Sims Bustin' Out", + "The SpongeBob SquarePants Movie Game", + "The Suffering", + "The Suffering: Ties That Bind", + "The TV Show", + "The Terminator: Dawn of Fate", + "The Thing", + "The Tower of Druaga", + "The Urbz: Sims in the City", + "The Warriors", + "The Wild Rings", + "Thief: Deadly Shadows", + "Thousand Land", + "Thrillville", + "Thunder Blade", + "Tiger Road - •Tora he no MichiJP", + "Tiger Woods PGA Tour 06", + "Tiger Woods PGA Tour 07", + "Tiger Woods PGA Tour 2003", + "Tiger Woods PGA Tour 2004", + "Tiger Woods PGA Tour 2005", + "Tim Burton's The Nightmare Before Christmas: Oogie's Revenge", + "Time Cruise - •Time Cruise IIJP", + "TimeSplitters 2", + "TimeSplitters: Future Perfect", + "Timeball - •BlodiaJP", + "Titan", + "ToeJam & Earl III: Mission to Earth", + "Toilet Kids", + "Tokimeki Memorial", + "Tom Clancy's Ghost Recon", + "Tom Clancy's Ghost Recon 2", + "Tom Clancy's Ghost Recon 2: Summit Strike", + "Tom Clancy's Ghost Recon: Advanced Warfighter", + "Tom Clancy's Ghost Recon: Island Thunder", + "Tom Clancy's Rainbow Six 3", + "Tom Clancy's Rainbow Six 3: Black Arrow", + "Tom Clancy's Rainbow Six: Critical Hour", + "Tom Clancy's Rainbow Six: Lockdown", + "Tom Clancy's Splinter Cell", + "Tom Clancy's Splinter Cell: Chaos Theory", + "Tom Clancy's Splinter Cell: Double Agent", + "Tom Clancy's Splinter Cell: Pandora Tomorrow", + "Tom and Jerry in War of the Whiskers", + "Tomb Raider: Legend", + "Tony Hawk's American Wasteland", + "Tony Hawk's Pro Skater 2x", + "Tony Hawk's Pro Skater 3", + "Tony Hawk's Pro Skater 4", + "Tony Hawk's Project 8", + "Tony Hawk's Underground", + "Tony Hawk's Underground 2", + "Top Gear RPM Tuning - RPM Tuning (EUR)", + "Top Spin Tennis", + "Top o Nerae! GunBuster Vol. 1", + "Top o Nerae! GunBuster Vol. 2", + "Torino 2006", + "Tork: Prehistoric Punk", + "Toshi Tensō Keikaku Eternal City", + "Total Club Manager 2004", + "Total Club Manager 2005", + "Total Immersion Racing", + "Total Overdose: A Gunslinger's Tale in Mexico", + "Totaled!", + "Touge R", + "Tour de France", + "Toxic Grind", + "Toy Shop Boys", + "TransWorld Snowboarding", + "TransWorld Surf", + "Travel Epuru", + "Travelers!: Densetsu o Buttobase", + "Triangle Again", + "Triangle Again 2", + "Tricky Kick - •TrickyJP", + "Trigger Man", + "Triple Play 2002", + "Trivial Pursuit Unhinged", + "Tron 2.0 Killer App", + "True Crime: New York City", + "True Crime: Streets of LA", + "Tsuppari Oozumou Heisei Ban", + "Tsuru Teruto no Jissen Kabushiki Bi-Game", + "Turok: Evolution", + "Turrican", + "Ty the Tasmanian Tiger", + "Ty the Tasmanian Tiger 2: Bush Rescue", + "Ty the Tasmanian Tiger 3: Night of the Quinkan", + "UEFA Champions League 2004-2005", + "UEFA Euro 2004", + "UFC: Tapout", + "UFC: Tapout 2", + "Uchū Senkan Yamato", + "Ultimate Beach Soccer", + "Ultimate Pro Pinball", + "Ultimate Spider-Man", + "Ultra Box No. 2", + "Ultra Box No. 3", + "Ultra Box No. 4", + "Ultra Box No. 5", + "Ultra Box No. 6", + "Ultra Box Premiere Issue", + "Ultra Bust-a-Move - Ultra Puzzle Bobble (JP)", + "Umezawa Yukari no Igo Seminar", + "Unreal Championship", + "Unreal Championship 2: The Liandri Conflict", + "Unreal II: The Awakening", + "Urban Chaos: Riot Response", + "Urusei Yatsura: Stay With You", + "V-Rally 3", + "Valis II", + "Valis III", + "Valis IV", + "Valis: The Fantasm Soldier", + "Valkyrie no Densetsu", + "Van Helsing", + "Vanilla Syndrome", + "Vasteel", + "Vasteel 2", + "Veigues Tactical Gladiator - •VeiguesJP", + "Vexx", + "Victory Run", + "Vietcong: Purple Haze", + "Vigilante", + "Virgin Dream", + "Virtual Pool: Tournament Edition", + "Volfied", + "Volvo: Drive For Life", + "Voodoo Vince", + "WTA Tour Tennis", + "WWE Raw 2", + "WWE WrestleMania 21", + "WWF RAW", + "Wai Wai Mahjong", + "Wakeboarding Unleashed", + "Wallaby!!", + "Wallace & Gromit in Project Zoo", + "Wallace & Gromit: The Curse of the Were-Rabbit", + "Warpath", + "Whacked!", + "Where in the World is Carmen Sandiego?", + "Whiplash", + "Whiteout", + "WinBack 2: Project Poseidon", + "Wings of War", + "Winning Shot", + "Without Warning", + "Wizardry I & II", + "Wizardry III & IV", + "Wizardry V", + "Wonder Momo", + "World Championship Poker", + "World Championship Poker 2: Featuring Howard Lederer", + "World Championship Pool 2004", + "World Championship Rugby", + "World Championship Snooker 2003", + "World Championship Snooker 2004", + "World Circuit", + "World Class Baseball - •Power LeagueJP", + "World Court Tennis - •Pro Tennis: World CourtJP", + "World Heroes 2", + "World Jockey", + "World Poker Tour", + "World Racing", + "World Racing 2", + "World Series Baseball 2K2", + "World Series Baseball 2K3", + "World Series of Poker", + "World Snooker Championship 2005", + "World Soccer Winning Eleven 8 International - Pro Evolution Soccer 4 (PAL) - Winning Eleven 8 (JP)", + "World Soccer Winning Eleven 9 - Pro Evolution Soccer 5 (PAL) - Winning Eleven 9 (JP)", + "World Sports Competition - •Power SportsJP", + "World War II Combat: Iwo Jima", + "World War II Combat: Road to Berlin", + "Worms 3D", + "Worms 4: Mayhem", + "Worms Forts: Under Siege", + "Wrath Unleashed", + "Wreckless: The Yakuza Missions - Double-S.T.E.A.L. (JP)", + "Wrestle Angels: Double Impact", + "X-Men Legends", + "X-Men Legends II: Rise of Apocalypse", + "X-Men: Next Dimension", + "X-Men: The Official Game", + "X2: Wolverine's Revenge", + "XGRA: Extreme-G Racing Association", + "XIII", + "Xak I & II", + "Xak III: The Eternal Recurrence", + "Xevious: Fardraut Saga", + "Xiaolin Showdown", + "Xyanide", + "Yager", + "Yamamura Misa Suspense: Kizenka Kyō Ezara Satsujin Jiken", + "Yami no Ketsuzoku", + "Yawara!", + "Yawara! 2", + "Yetisports Arctic Adventures", + "Yo, Bro", + "Yokai Dochuki", + "Yonenaga Kunio no Shougi Seminar", + "Yourself!Fitness", + "Ys III: Wanderers from Ys", + "Ys IV: The Dawn of Ys", + "Ys: Book I & II - •Ys I & IIJP", + "Yu-Gi-Oh! The Dawn of Destiny", + "Yū Yū Hakusho: Yami Shōbu!! Ankoku Bujutsu Kai", + "Yūyū Jinsei", + "Zan: Kagerō no Toki", + "Zapper: One Wicked Cricket", + "Zathura", + "Zero Wing", + "Zero4 Champ", + "Zero4 Champ II", + "ZillerNet#Funtime", + "Zipang", + "eBaseball Powerful Pro Yakyuu 2020", + "eFootball PES 2021 Season Update", + "eFootball Pro Evolution Soccer 2020", + "iO", + "Æon Flux", +}); + +const auto videoGameGenres = std::to_array({ + "Action", + "Adventure", + "Battle royale", + "Dating sim", + "Endless runner", + "Fighting", + "First-person shooter", + "Hack and slash", + "Horror", + "Massively multiplayer online", + "Music", + "Platformer", + "Puzzle", + "Racing", + "Real-time strategy", + "Roguelike", + "Role-playing game", + "Sandbox", + "Science fiction game", + "Shooter", + "Sim racing", + "Soulslike", + "Sports", + "Stealth", + "Strategy", + "Survival", + "Third-person shooter", + "Tower defense", +}); + +const auto platforms = std::to_array({ + "Android", "Linux", "Nintendo Switch", "Oculus Quest", "PC", + "Playstation 5", "Stadia", "Xbox Series X", "iOS", +}); + +const auto studioNames = std::to_array({ + "0verflow", + "1st Playable Productions", + "2K Czech", + "989 Studios", + "ACE Team", + "AQ Interactive", + "Access Games", + "Acclaim Entertainment", + "Accolade", + "Acheron Design", + "Acquire", + "Active Gaming Media", + "Activision Blizzard", + "Adventure Soft", + "Akella", + "Aki Corporation", + "Alfa System", + "Ancient", + "Anino Games", + "Arc System Works", + "ArenaNet", + "Arika", + "Arkane Studios", + "Arkedo Studio", + "Artdink", + "ArtePiazza", + "Artificial Studios", + "Artoon", + "Ascaron", + "Asobo Studio", + "Aspect", + "Aspyr Media", + "Atari", + "Atlus", + "Atomic Planet Entertainment", + "Attic Entertainment Software", + "Avalanche Software", + "Avalanche Studios", + "Aventurine SA", + "BSure Interactive", + "Babaroga", + "Backbone Entertainment", + "Banpresto", + "BattleGoat Studios", + "Beenox", + "Behemoth", + "Bethesda Softworks", + "Big Blue Bubble", + "Big Huge Games", + "Binary Hammer", + "BioWare", + "Bizarre Creations", + "Black Rock Studio", + "Blitz Games Studios", + "Blizzard Entertainment", + "Blue Byte Software", + "Blue Fang Games", + "Bohemia Interactive", + "BreakAway Games", + "Brownie Brown", + "Brøderbund", + "Bugbear Entertainment", + "Buka Entertainment", + "Bullfrog Productions", + "Bungie Studios", + "CCP Games", + "CD Projekt RED", + "Capcom", + "Cave", + "Cavia", + "Centuri", + "Chunsoft", + "Cinemaware", + "Cing", + "Clap Hanz", + "Climax Entertainment", + "Climax Studios", + "Coded Illusions", + "Codemasters", + "Coktel Vision", + "ColdWood Interactive", + "Compile Heart", + "Core Design", + "Crafts & Meister", + "Creat Studios", + "Creative Assembly", + "Criterion Games", + "Cryptic Studios", + "Crystal Dynamics", + "Crytek", + "Cyanide", + "CyberConnect2", + "Cyberlore Studios", + "Day 1 Studios", + "Deadline Games", + "Deck13", + "Deep Silver", + "Demiurge Studios", + "Digital Illusions CE", + "Dimps", + "Disney Interactive Studios", + "Double Fine Productions", + "Double Helix Games", + "Dynamite Idea", + "EDGE Games", + "Egosoft", + "Eidos Interactive", + "Electronic Arts/EA Games", + "Engine Software", + "Epic Games", + "Epicenter Studios", + "Epyx", + "Etranges Libellules", + "Eugen Systems", + "Eurocom", + "Evolution Studios", + "FUN Labs", + "FarSight Studios", + "Fatshark", + "Firaxis Games", + "Firefly Studios", + "First Star Software", + "Flagship Games", + "Flying Lab Software", + "Foundation 9 Entertainment", + "Free Radical Design", + "Frictional Games", + "From Software", + "Frontier Developments", + "Frozenbyte", + "Funcom", + "Futuremark", + "GSC Game World", + "Game Arts", + "Game Freak", + "GameHouse", + "Gameloft", + "Games2win", + "Gearbox Software", + "Genki", + "Giants Software", + "Gogii Games", + "Good-Feel", + "Grasshopper Manufacture", + "Gravity", + "Griptonite Games", + "Guerrilla Games", + "GungHo Online Entertainment", + "Gust Corporation", + "HAL Laboratory", + "HB Studios", + "Haemimont Games", + "Hanaho", + "Harmonix Music Systems", + "Hasbro Interactive", + "HeroCraft", + "High Moon Studios", + "High Voltage Software", + "Hoplon Infotainment", + "Hothead Games", + "Housemarque", + "Hudson Soft", + "Human Head Studios", + "Humongous Entertainment", + "Hyperion Entertainment", + "IO Interactive", + "Idea Factory", + "Ignition Entertainment", + "IguanaBee", + "Imageepoch", + "Incredible Technologies", + "Infinity Ward", + "Infogrames", + "Insomniac Games", + "Intelligent Systems", + "Interplay Entertainment", + "Introversion Software", + "Irem", + "Irrational Games", + "JV Games", + "Jadestone Group", + "Jagex", + "Jaleco (New)", + "Javaground", + "Juice Games", + "Jupiter", + "Klei Entertainment", + "Koei", + "Konami", + "Krome Studios", + "Krome Studios Melbourne", + "Kuju Entertainment", + "Kuma Reality Games", + "Kush Games", + "Larian Studios", + "Legacy Interactive", + "Legendo Entertainment", + "Level-5", + "Lionhead Studios", + "Llamasoft", + "Looking Glass Studios", + "LucasArts", + "Ludia", + "Luma Arcade", + "Luxoflux", + "M-Inverse", + "Majesco Entertainment", + "Marvelous Entertainment", + "Massive Entertainment", + "Masthead Studios", + "Mattel", + "Maxis Software", + "Mean Hamster Software", + "Media Molecule", + "Media.Vision", + "Mercury Steam", + "Microsoft Game Studios", + "Milestone", + "Milestone S.r.l.", + "Mistwalker", + "Mitchell Corporation", + "Mojang AB", + "Monolith Productions", + "Monolith Soft", + "Monumental Games", + "Mythic Entertainment", + "NCsoft", + "NGD Studios", + "NHN", + "Namco Bandai", + "Natsume", + "Naughty Dog", + "Ndoors", + "Neowiz", + "Nerve Software", + "NetDevil", + "Neverland", + "Neversoft", + "Nexon", + "Next Level Games", + "Nihon Bussan", + "Nihon Falcom", + "Ninjabee", + "Nintendo", + "Nippon Ichi Software", + "Novalogic", + "Novarama", + "Obsidian Entertainment", + "Oddworld Inhabitants", + "Oxygen Studios", + "Page 44 Studios", + "Pandemic Studios", + "Paon", + "Papaya Studio", + "Paradox Interactive", + "Pax Softnica", + "Pendulo Studios", + "Penguin Software", + "People Can Fly", + "Phantagram", + "Pi Studios", + "Piranha Bytes", + "Pivotal Games", + "Platinum Games", + "PlayFirst", + "Playdead", + "Playdom", + "Playfish", + "Playlogic Entertainment", + "Polyphony Digital", + "PopCap Games", + "Punch Entertainment", + "Pyro Studios", + "Q Entertainment", + "Q-Games", + "Quantic Dream", + "Radical Entertainment", + "Rainbow Studios", + "Rare Limited", + "Raven Software", + "Reality Pump Studios", + "Realtime Associates", + "Realtime Worlds", + "Red Storm Entertainment", + "RedLynx", + "Redtribe", + "Reflexive Entertainment", + "Relic Entertainment", + "Remedy Entertainment", + "Retro Studios", + "Revolution Software", + "Rising Star Games", + "Rockstar Games", + "Rockstar North", + "Rocksteady Studios", + "Ruffian Games", + "Runic Games", + "Running with Scissors", + "SCE Studio Liverpool", + "SNK Playmore", + "Sarbakan", + "Sega", + "Sidhe", + "Silicon Knights", + "Silicon Sisters", + "Silicon Studio", + "Snowblind Studios", + "Sobee Studios", + "Sonic Team", + "Sony Computer Entertainment", + "Sora Ltd.", + "Spectrum HoloByte", + "Spellborn International", + "Splash Damage", + "Square Enix", + "Star Vault", + "Starbreeze Studios", + "Stardock", + "Sting Entertainment", + "Strawdog Studios", + "Straylight Studios", + "Streamline Studios", + "Sucker Punch Productions", + "Sumo Digital", + "Sunflowers Interactive Entertainment Software", + "SuperVillain Studios", + "Swingin' Ape Studios", + "THQ", + "Tag Games", + "Taito Corporation", + "Take-Two Interactive", + "Tale of Tales", + "TaleWorlds", + "Tamsoft", + "Tantalus Media", + "Tantrumedia", + "Team17", + "Techland", + "Tecmo Koei", + "Telltale Games", + "Terminal Reality", + "The Bitmap Brothers", + "Three Rings Design", + "TimeGate Studios", + "Torpex Games", + "Torus Games", + "Tose", + "Transmission Games", + "Trapdoor", + "Traveller's Tales", + "Treyarch", + "Tri-Ace", + "Tripwire Interactive", + "Triumph Studios", + "Turn 10 Studios", + "Two Tribes", + "Tygron", + "Ubisoft", + "Ultimate Play The Game", + "United Front Games", + "Universomo", + "Valve Corporation", + "Vanillaware", + "Venan Entertainment", + "Vertigo Games", + "Vicarious Visions", + "Virtual Heroes", + "Virtual Playground", + "Visceral Games", + "Vivendi Games", + "Viwawa", + "Volition", + "W!Games", + "WB Games", + "Wahoo Studios", + "Wanako Games", + "Wangame Studios", + "Webfoot Technologies", + "Wideload Games", + "Wildfire Studios", + "Wolfire Games", + "World Forge", + "Xseed Games", + "YoYo Games", + "ZapSpot", + "ZeniMax Online Studios", + "Zipper Interactive", + "Zylom", + "Zynga", + "id Software", + "indieszero", + "n-Space", +}); + } } diff --git a/src/modules/weather/WeatherData.cpp b/src/modules/weather/WeatherData.cpp deleted file mode 100644 index f8f71be5..00000000 --- a/src/modules/weather/WeatherData.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include "WeatherData.h" - -#include -#include - -namespace faker -{ - -const std::array weatherDescriptions = { - "clear sky", "few clouds", "scattered clouds", - "broken clouds", "shower rain", "rainy", - "thunderstorm", "snowy", "misty", - "smoky", "haze", "sunny", - "cloudy", "windy", "dark", - "foggy", -}; - -} diff --git a/src/modules/weather/WeatherData.h b/src/modules/weather/WeatherData.h index 1c70d93a..3a061a2e 100644 --- a/src/modules/weather/WeatherData.h +++ b/src/modules/weather/WeatherData.h @@ -5,6 +5,13 @@ namespace faker { -extern const std::array weatherDescriptions; +const auto weatherDescriptions = std::to_array({ + "clear sky", "few clouds", "scattered clouds", + "broken clouds", "shower rain", "rainy", + "thunderstorm", "snowy", "misty", + "smoky", "haze", "sunny", + "cloudy", "windy", "dark", + "foggy", +}); } diff --git a/src/modules/word/WordData.h b/src/modules/word/WordData.h index f2bb86fb..cfe2cd0a 100644 --- a/src/modules/word/WordData.h +++ b/src/modules/word/WordData.h @@ -1,19 +1,13 @@ #pragma once +#include "WordStore.h" + #include #include #include namespace faker::word { -extern const std::array adjectives; -extern const std::array adverbs; -extern const std::array conjunctions; -extern const std::array interjections; -extern const std::array nouns; -extern const std::array prepositions; -extern const std::array verbs; - // https://tristanbrindle.com/posts/a-more-useful-compile-time-quicksort namespace cstd { diff --git a/src/modules/word/WordData.cpp b/src/modules/word/WordStore.h similarity index 99% rename from src/modules/word/WordData.cpp rename to src/modules/word/WordStore.h index 5ba93508..24b917ca 100644 --- a/src/modules/word/WordData.cpp +++ b/src/modules/word/WordStore.h @@ -1,11 +1,9 @@ -#include "WordData.h" - #include #include namespace faker::word { -const std::array adjectives = { +const auto adjectives = std::to_array({ "abandoned", "able", "absolute", @@ -1334,9 +1332,9 @@ const std::array adjectives = { "zealous", "zesty", "zigzag", -}; +}); -const std::array adverbs = { +const auto adverbs = std::to_array({ "abnormally", "absentmindedly", "accidentally", @@ -1662,9 +1660,9 @@ const std::array adverbs = { "yesterday", "yieldingly", "youthfully", -}; +}); -const std::array conjunctions = { +const auto conjunctions = std::to_array({ "after", "although", "and", "as", "because", "before", "but", "consequently", "even", "finally", "for", "furthermore", "hence", "how", "however", "if", "inasmuch", "incidentally", "indeed", "instead", "lest", "likewise", "meanwhile", "nor", @@ -1672,16 +1670,16 @@ const std::array conjunctions = { "that", "though", "till", "unless", "until", "what", "when", "whenever", "where", "whereas", "wherever", "whether", "which", "while", "who", "whoever", "whose", "why", "yet", -}; +}); -const std::array interjections = { +const auto interjections = std::to_array({ "yuck", "oh", "phooey", "blah", "boo", "whoa", "yowza", "huzzah", "boohoo", "fooey", "geez", "pfft", "ew", "ah", "yum", "brr", "hm", "yahoo", "aha", "woot", "drat", "gah", "meh", "psst", "aw", "ugh", "yippee", "eek", "gee", "bah", "gadzooks", "duh", "ha", "mmm", "ouch", "phew", "ack", "uh-huh", "gosh", "hmph", "pish", "zowie", "er", "ick", "oof", "um", -}; +}); -const std::array nouns = { +const auto nouns = std::to_array({ "ATM", "CD", "SUV", @@ -8341,9 +8339,9 @@ const std::array nouns = { "zoology", "zoot-suit", "zucchini", -}; +}); -const std::array prepositions = { +const auto prepositions = std::to_array({ "a", "abaft", "aboard", @@ -8453,9 +8451,9 @@ const std::array prepositions = { "within", "without", "worth", -}; +}); -const std::array verbs = { +const auto verbs = std::to_array({ "abandon", "abase", "abate", @@ -14366,5 +14364,6 @@ const std::array verbs = { "zip", "zone", "zoom", -}; +}); + } diff --git a/tests/modules/person/PersonTest.cpp b/tests/modules/person/PersonTest.cpp index 6bbaf504..8d9f253b 100644 --- a/tests/modules/person/PersonTest.cpp +++ b/tests/modules/person/PersonTest.cpp @@ -39,7 +39,7 @@ const std::vector countries{ Country::Maldives, }; -const PeopleNames& getPeopleNamesByCountry(const Country& country) +const struct PeopleNames& getPeopleNamesByCountry(const Country& country) { switch (country) {