seekia/resources/worldLocations/worldLocations.go

1640 lines
33 KiB
Go

// worldLocations provides functions to retrieve information about the world's countries and cities.
// All location data is taken from https://github.com/dr5hn/countries-states-cities-database/
package worldLocations
import "seekia/imported/geodist"
import "seekia/internal/encoding"
import "seekia/internal/helpers"
import _ "embed"
import "slices"
import "errors"
//go:embed worldCities.messagepack
var worldCitiesFileBytes []byte
func init(){
initializeAllCountryObjectsList()
}
// This must be called on startup once
func InitializeWorldLocationsVariables()error{
var allCityObjectsListForMessagepack []CityObjectForMessagepack
err := encoding.DecodeMessagePackBytes(false, worldCitiesFileBytes, &allCityObjectsListForMessagepack)
if (err != nil) { return err }
allCityObjectsList = make([]CityObject, 0, len(allCityObjectsListForMessagepack))
for _, cityObjectForMessagepack := range allCityObjectsListForMessagepack {
cityName := cityObjectForMessagepack.Name
cityState := cityObjectForMessagepack.State
cityCountryIdentifier := cityObjectForMessagepack.Country
cityLatitude := cityObjectForMessagepack.Latitude
cityLongitude := cityObjectForMessagepack.Longitude
countryObject, err := GetCountryObjectFromCountryIdentifier(cityCountryIdentifier)
if (err != nil) { return err }
cityCountryPrimaryName := countryObject.NamesList[0]
newCityObject := CityObject{
Name: cityName,
State: cityState,
Country: cityCountryPrimaryName,
Latitude: cityLatitude,
Longitude: cityLongitude,
}
allCityObjectsList = append(allCityObjectsList, newCityObject)
}
allCityObjectsMap = make(map[CoordinatesObject]CityObject)
for _, cityObject := range allCityObjectsList{
cityLatitude := cityObject.Latitude
cityLongitude := cityObject.Longitude
coordinatesObject := CoordinatesObject{
Latitude: cityLatitude,
Longitude: cityLongitude,
}
allCityObjectsMap[coordinatesObject] = cityObject
}
return nil
}
var allCityObjectsList []CityObject
func getAllCityObjectsList()([]CityObject, error){
if (allCityObjectsList == nil){
return nil, errors.New("allCityObjectsList is not initialized.")
}
// The list only has to be established once upon startup
return allCityObjectsList, nil
}
var allCityObjectsMap map[CoordinatesObject]CityObject
func getAllCityObjectsMap()(map[CoordinatesObject]CityObject, error){
if (allCityObjectsMap == nil){
return nil, errors.New("getAllCityObjectsMap called when allCityObjectsMap is not initialized.")
}
return allCityObjectsMap, nil
}
// This is the format that cities are stored in in the worldCitites.messagepack file
// We store it in this format to save space
type CityObjectForMessagepack struct{
Name string
State string
// This is the country's identifier
Country int
Latitude float64
Longitude float64
}
type CityObject struct{
Name string
State string
Country string
Latitude float64
Longitude float64
}
type CoordinatesObject struct{
Latitude float64
Longitude float64
}
type CountryObject struct{
Identifier int
// The first name in this list is the country's primary name
NamesList []string
}
//Outputs:
// -bool: City found (Typically during use, if this is false, the user has entered coordinates manually, which is fine)
// -string: City name
// -string: City state
// -string: City country
// -error
func GetCityFromCoordinates(locationLatitude float64, locationLongitude float64)(bool, string, string, string, error){
allCityObjectsMap, err := getAllCityObjectsMap()
if (err != nil) { return false, "", "", "", err }
coordinatesObject := CoordinatesObject{
Latitude: locationLatitude,
Longitude: locationLongitude,
}
cityObject, exists := allCityObjectsMap[coordinatesObject]
if (exists == false){
return false, "", "", "", nil
}
cityName := cityObject.Name
cityState := cityObject.State
cityCountry := cityObject.Country
return true, cityName, cityState, cityCountry, nil
}
//Outputs:
// -string: City Name
// -string: City State
// -int: City Country Identifier
// -float64: Kilometers distance from city
// -error
func GetClosestCityFromCoordinates(locationLatitude float64, locationLongitude float64)(string, string, int, float64, error){
cityFound, cityName, cityState, cityCountry, err := GetCityFromCoordinates(locationLatitude, locationLongitude)
if (err != nil) { return "", "", 0, 0, err }
if (cityFound == true){
countryIdentifier, err := GetCountryIdentifierFromCountryName(cityCountry)
if (err != nil){ return "", "", 0, 0, err }
return cityName, cityState, countryIdentifier, 0, nil
}
allCityObjectList, err := getAllCityObjectsList()
if (err != nil) { return "", "", 0, 0, err }
closestCityName := ""
closestCityState := ""
closestCityCountry := ""
closestCityKilometersDistance := float64(0)
for index, cityObject := range allCityObjectList{
cityName := cityObject.Name
cityStateName := cityObject.State
cityCountryName := cityObject.Country
cityLatitude := cityObject.Latitude
cityLongitude := cityObject.Longitude
cityKilometersDistance, err := geodist.GetDistanceBetweenCoordinates(locationLatitude, locationLongitude, cityLatitude, cityLongitude)
if (err != nil) { return "", "", 0, 0, err }
if (index == 0 || cityKilometersDistance < closestCityKilometersDistance){
closestCityName = cityName
closestCityState = cityStateName
closestCityCountry = cityCountryName
closestCityKilometersDistance = cityKilometersDistance
}
}
closestCountryIdentifier, err := GetCountryIdentifierFromCountryName(closestCityCountry)
if (err != nil){ return "", "", 0, 0, err }
return closestCityName, closestCityState, closestCountryIdentifier, closestCityKilometersDistance, nil
}
func GetAllCityObjectsInCountry(countryIdentifier int)([]CityObject, error){
countryObject, err := GetCountryObjectFromCountryIdentifier(countryIdentifier)
if (err != nil){
return nil, errors.New("GetAllCityObjectsInCountry failed: " + err.Error())
}
countryNamesList := countryObject.NamesList
allCityObjectsList, err := getAllCityObjectsList()
if (err != nil) { return nil, err }
countryCityObjectsList := make([]CityObject, 0)
for _, cityObject := range allCityObjectsList{
cityCountryName := cityObject.Country
isWithinCountry := slices.Contains(countryNamesList, cityCountryName)
if (isWithinCountry == true){
countryCityObjectsList = append(countryCityObjectsList, cityObject)
}
}
return countryCityObjectsList, nil
}
// Name should be the primary name
func GetCountryIdentifierFromCountryName(countryName string)(int, error){
allCountryObjectsList, err := GetAllCountryObjectsList()
if (err != nil) { return 0, err }
for _, countryObject := range allCountryObjectsList{
countryIdentifier := countryObject.Identifier
countryPrimaryName := countryObject.NamesList[0]
if (countryName == countryPrimaryName){
return countryIdentifier, nil
}
}
return 0, errors.New("GetCountryIdentifierFromCountryName called with unknown country name: " + countryName)
}
func GetCountryObjectFromCountryIdentifier(countryIdentifier int)(CountryObject, error){
allCountryObjectsList, err := GetAllCountryObjectsList()
if (err != nil) {
emptyObject := CountryObject{}
return emptyObject, err
}
for _, countryObject := range allCountryObjectsList{
currentCountryIdentifier := countryObject.Identifier
if (countryIdentifier == currentCountryIdentifier){
return countryObject, nil
}
}
emptyObject := CountryObject{}
countryIdentifierString := helpers.ConvertIntToString(countryIdentifier)
return emptyObject, errors.New("GetCountryObjectFromCountryIdentifier called with unknown country identifier: " + countryIdentifierString)
}
func VerifyCountryIdentifier(inputIdentifier int)bool{
if (inputIdentifier >= 1 && inputIdentifier <= 219){
return true
}
return false
}
// The countries list does not contain all of the country names from the original cities.json file from which worldCities.messagepack is created
// All countries within the worldCities.messagepack file must exist within the country objects list.
// Countries are defined as being within the jurisdiction of a particular government.
// Users can use the countries filters to filter out other users who may live nearby, but are not in the country they are in.
// This is useful because there may be restrictions on travel and living that would make mating more difficult.
// Most users who do not live near a border should only rely on the Distance filter to find users who are nearby.
// Any time the countries list is updated, a new profile version must be created.
var allCountryObjectsList []CountryObject
func GetAllCountryObjectsList()([]CountryObject, error){
if (allCountryObjectsList == nil){
return nil, errors.New("allCountryObjectsList is not initialized.")
}
return allCountryObjectsList, nil
}
func initializeAllCountryObjectsList(){
countryObject_1 := CountryObject{
Identifier: 1,
NamesList: []string{"Afghanistan"},
}
countryObject_2 := CountryObject{
Identifier: 2,
NamesList: []string{"Aland Islands"},
}
countryObject_3 := CountryObject{
Identifier: 3,
NamesList: []string{"Albania"},
}
countryObject_4 := CountryObject{
Identifier: 4,
NamesList: []string{"Algeria"},
}
countryObject_5 := CountryObject{
Identifier: 5,
NamesList: []string{"Andorra"},
}
countryObject_6 := CountryObject{
Identifier: 6,
NamesList: []string{"Angola"},
}
countryObject_7 := CountryObject{
Identifier: 7,
NamesList: []string{"Anguilla"},
}
countryObject_8 := CountryObject{
Identifier: 8,
NamesList: []string{"Antarctica"},
}
countryObject_9 := CountryObject{
Identifier: 9,
NamesList: []string{"Antigua And Barbuda"},
}
countryObject_10 := CountryObject{
Identifier: 10,
NamesList: []string{"Argentina"},
}
countryObject_11 := CountryObject{
Identifier: 11,
NamesList: []string{"Armenia"},
}
countryObject_12 := CountryObject{
Identifier: 12,
NamesList: []string{"Aruba"},
}
countryObject_13 := CountryObject{
Identifier: 13,
NamesList: []string{"Australia"},
}
countryObject_14 := CountryObject{
Identifier: 14,
NamesList: []string{"Austria"},
}
countryObject_15 := CountryObject{
Identifier: 15,
NamesList: []string{"Azerbaijan"},
}
countryObject_16 := CountryObject{
Identifier: 16,
NamesList: []string{"Bangladesh"},
}
countryObject_17 := CountryObject{
Identifier: 17,
NamesList: []string{"Bahrain"},
}
countryObject_18 := CountryObject{
Identifier: 18,
NamesList: []string{"Barbados"},
}
countryObject_19 := CountryObject{
Identifier: 19,
NamesList: []string{"Belarus"},
}
countryObject_20 := CountryObject{
Identifier: 20,
NamesList: []string{"Belgium"},
}
countryObject_21 := CountryObject{
Identifier: 21,
NamesList: []string{"Belize"},
}
countryObject_22 := CountryObject{
Identifier: 22,
NamesList: []string{"Benin"},
}
countryObject_23 := CountryObject{
Identifier: 23,
NamesList: []string{"Bhutan"},
}
countryObject_24 := CountryObject{
Identifier: 24,
NamesList: []string{"Bolivia"},
}
countryObject_25 := CountryObject{
Identifier: 25,
NamesList: []string{"Bonaire"},
}
countryObject_26 := CountryObject{
Identifier: 26,
NamesList: []string{"Bosnia and Herzegovina"},
}
countryObject_27 := CountryObject{
Identifier: 27,
NamesList: []string{"Botswana"},
}
countryObject_28 := CountryObject{
Identifier: 28,
NamesList: []string{"Brazil"},
}
countryObject_29 := CountryObject{
Identifier: 29,
NamesList: []string{"British Indian Ocean Territory"},
}
countryObject_30 := CountryObject{
Identifier: 30,
NamesList: []string{"Brunei"},
}
countryObject_31 := CountryObject{
Identifier: 31,
NamesList: []string{"Bulgaria"},
}
countryObject_32 := CountryObject{
Identifier: 32,
NamesList: []string{"Burkina Faso"},
}
countryObject_33 := CountryObject{
Identifier: 33,
NamesList: []string{"Burundi"},
}
countryObject_34 := CountryObject{
Identifier: 34,
NamesList: []string{"Cambodia"},
}
countryObject_35 := CountryObject{
Identifier: 35,
NamesList: []string{"Cameroon"},
}
countryObject_36 := CountryObject{
Identifier: 36,
NamesList: []string{"Canada"},
}
countryObject_37 := CountryObject{
Identifier: 37,
NamesList: []string{"Cape Verde"},
}
countryObject_38 := CountryObject{
Identifier: 38,
NamesList: []string{"Cayman Islands"},
}
countryObject_39 := CountryObject{
Identifier: 39,
NamesList: []string{"Central African Republic"},
}
countryObject_40 := CountryObject{
Identifier: 40,
NamesList: []string{"Chad"},
}
countryObject_41 := CountryObject{
Identifier: 41,
NamesList: []string{"Chile"},
}
countryObject_42 := CountryObject{
Identifier: 42,
NamesList: []string{"China"},
}
countryObject_43 := CountryObject{
Identifier: 43,
NamesList: []string{"Christmas Island"},
}
countryObject_44 := CountryObject{
Identifier: 44,
NamesList: []string{"Colombia"},
}
countryObject_45 := CountryObject{
Identifier: 45,
NamesList: []string{"Comoros"},
}
countryObject_46 := CountryObject{
Identifier: 46,
NamesList: []string{"Congo"},
}
countryObject_47 := CountryObject{
Identifier: 47,
NamesList: []string{"Costa Rica"},
}
countryObject_48 := CountryObject{
Identifier: 48,
NamesList: []string{"Cote D'Ivoire"},
}
countryObject_49 := CountryObject{
Identifier: 49,
NamesList: []string{"Croatia"},
}
countryObject_50 := CountryObject{
Identifier: 50,
NamesList: []string{"Cuba"},
}
countryObject_51 := CountryObject{
Identifier: 51,
NamesList: []string{"Curaçao"},
}
countryObject_52 := CountryObject{
Identifier: 52,
NamesList: []string{"Cyprus"},
}
countryObject_53 := CountryObject{
Identifier: 53,
NamesList: []string{"Czech Republic"},
}
countryObject_54 := CountryObject{
Identifier: 54,
NamesList: []string{"Democratic Republic of the Congo"},
}
countryObject_55 := CountryObject{
Identifier: 55,
NamesList: []string{"Denmark"},
}
countryObject_56 := CountryObject{
Identifier: 56,
NamesList: []string{"Djibouti"},
}
countryObject_57 := CountryObject{
Identifier: 57,
NamesList: []string{"Dominica"},
}
countryObject_58 := CountryObject{
Identifier: 58,
NamesList: []string{"Dominican Republic"},
}
countryObject_59 := CountryObject{
Identifier: 59,
NamesList: []string{"East Timor", "Timor-Leste"},
}
countryObject_60 := CountryObject{
Identifier: 60,
NamesList: []string{"Ecuador"},
}
countryObject_61 := CountryObject{
Identifier: 61,
NamesList: []string{"Egypt"},
}
countryObject_62 := CountryObject{
Identifier: 62,
NamesList: []string{"El Salvador"},
}
countryObject_63 := CountryObject{
Identifier: 63,
NamesList: []string{"Equatorial Guinea"},
}
countryObject_64 := CountryObject{
Identifier: 64,
NamesList: []string{"Eritrea"},
}
countryObject_65 := CountryObject{
Identifier: 65,
NamesList: []string{"Estonia"},
}
countryObject_66 := CountryObject{
Identifier: 66,
NamesList: []string{"Ethiopia"},
}
countryObject_67 := CountryObject{
Identifier: 67,
NamesList: []string{"Falkland Islands"},
}
countryObject_68 := CountryObject{
Identifier: 68,
NamesList: []string{"Fiji Islands"},
}
countryObject_69 := CountryObject{
Identifier: 69,
NamesList: []string{"Finland"},
}
countryObject_70 := CountryObject{
Identifier: 70,
NamesList: []string{"France"},
}
countryObject_71 := CountryObject{
Identifier: 71,
NamesList: []string{"Gabon"},
}
countryObject_72 := CountryObject{
Identifier: 72,
NamesList: []string{"Gambia"},
}
countryObject_73 := CountryObject{
Identifier: 73,
NamesList: []string{"Georgia"},
}
countryObject_74 := CountryObject{
Identifier: 74,
NamesList: []string{"Germany"},
}
countryObject_75 := CountryObject{
Identifier: 75,
NamesList: []string{"Ghana"},
}
countryObject_76 := CountryObject{
Identifier: 76,
NamesList: []string{"Greece"},
}
countryObject_77 := CountryObject{
Identifier: 77,
NamesList: []string{"Greenland"},
}
countryObject_78 := CountryObject{
Identifier: 78,
NamesList: []string{"Grenada"},
}
countryObject_79 := CountryObject{
Identifier: 79,
NamesList: []string{"Guatemala"},
}
countryObject_80 := CountryObject{
Identifier: 80,
NamesList: []string{"Guinea"},
}
countryObject_81 := CountryObject{
Identifier: 81,
NamesList: []string{"Guinea-Bissau"},
}
countryObject_82 := CountryObject{
Identifier: 82,
NamesList: []string{"Guyana"},
}
countryObject_83 := CountryObject{
Identifier: 83,
NamesList: []string{"Haiti"},
}
countryObject_84 := CountryObject{
Identifier: 84,
NamesList: []string{"Honduras"},
}
countryObject_85 := CountryObject{
Identifier: 85,
NamesList: []string{"Hungary"},
}
countryObject_86 := CountryObject{
Identifier: 86,
NamesList: []string{"Iceland"},
}
countryObject_87 := CountryObject{
Identifier: 87,
NamesList: []string{"India"},
}
countryObject_88 := CountryObject{
Identifier: 88,
NamesList: []string{"Indonesia"},
}
countryObject_89 := CountryObject{
Identifier: 89,
NamesList: []string{"Iran"},
}
countryObject_90 := CountryObject{
Identifier: 90,
NamesList: []string{"Iraq"},
}
countryObject_91 := CountryObject{
Identifier: 91,
NamesList: []string{"Ireland"},
}
countryObject_92 := CountryObject{
Identifier: 92,
NamesList: []string{"Israel"},
}
countryObject_93 := CountryObject{
Identifier: 93,
NamesList: []string{"Italy"},
}
countryObject_94 := CountryObject{
Identifier: 94,
NamesList: []string{"Jamaica"},
}
countryObject_95 := CountryObject{
Identifier: 95,
NamesList: []string{"Japan"},
}
countryObject_96 := CountryObject{
Identifier: 96,
NamesList: []string{"Jersey"},
}
countryObject_97 := CountryObject{
Identifier: 97,
NamesList: []string{"Jordan"},
}
countryObject_98 := CountryObject{
Identifier: 98,
NamesList: []string{"Kazakhstan"},
}
countryObject_99 := CountryObject{
Identifier: 99,
NamesList: []string{"Kenya"},
}
countryObject_100 := CountryObject{
Identifier: 100,
NamesList: []string{"Kiribati"},
}
countryObject_101 := CountryObject{
Identifier: 101,
NamesList: []string{"Kosovo"},
}
countryObject_102 := CountryObject{
Identifier: 102,
NamesList: []string{"Kuwait"},
}
countryObject_103 := CountryObject{
Identifier: 103,
NamesList: []string{"Kyrgyzstan"},
}
countryObject_104 := CountryObject{
Identifier: 104,
NamesList: []string{"Laos"},
}
countryObject_105 := CountryObject{
Identifier: 105,
NamesList: []string{"Latvia"},
}
countryObject_106 := CountryObject{
Identifier: 106,
NamesList: []string{"Lebanon"},
}
countryObject_107 := CountryObject{
Identifier: 107,
NamesList: []string{"Lesotho"},
}
countryObject_108 := CountryObject{
Identifier: 108,
NamesList: []string{"Liberia"},
}
countryObject_109 := CountryObject{
Identifier: 109,
NamesList: []string{"Libya"},
}
countryObject_110 := CountryObject{
Identifier: 110,
NamesList: []string{"Liechtenstein"},
}
countryObject_111 := CountryObject{
Identifier: 111,
NamesList: []string{"Lithuania"},
}
countryObject_112 := CountryObject{
Identifier: 112,
NamesList: []string{"Luxembourg"},
}
countryObject_113 := CountryObject{
Identifier: 113,
NamesList: []string{"North Macedonia"},
}
countryObject_114 := CountryObject{
Identifier: 114,
NamesList: []string{"Madagascar"},
}
countryObject_115 := CountryObject{
Identifier: 115,
NamesList: []string{"Malawi"},
}
countryObject_116 := CountryObject{
Identifier: 116,
NamesList: []string{"Malaysia"},
}
countryObject_117 := CountryObject{
Identifier: 117,
NamesList: []string{"Maldives"},
}
countryObject_118 := CountryObject{
Identifier: 118,
NamesList: []string{"Mali"},
}
countryObject_119 := CountryObject{
Identifier: 119,
NamesList: []string{"Malta"},
}
countryObject_120 := CountryObject{
Identifier: 120,
NamesList: []string{"Isle of Man"},
}
countryObject_121 := CountryObject{
Identifier: 121,
NamesList: []string{"Marshall Islands"},
}
countryObject_122 := CountryObject{
Identifier: 122,
NamesList: []string{"Mauritania"},
}
countryObject_123 := CountryObject{
Identifier: 123,
NamesList: []string{"Mauritius"},
}
countryObject_124 := CountryObject{
Identifier: 124,
NamesList: []string{"Mexico"},
}
countryObject_125 := CountryObject{
Identifier: 125,
NamesList: []string{"Micronesia"},
}
countryObject_126 := CountryObject{
Identifier: 126,
NamesList: []string{"Moldova"},
}
countryObject_127 := CountryObject{
Identifier: 127,
NamesList: []string{"Monaco"},
}
countryObject_128 := CountryObject{
Identifier: 128,
NamesList: []string{"Mongolia"},
}
countryObject_129 := CountryObject{
Identifier: 129,
NamesList: []string{"Montenegro"},
}
countryObject_130 := CountryObject{
Identifier: 130,
NamesList: []string{"Morocco"},
}
countryObject_131 := CountryObject{
Identifier: 131,
NamesList: []string{"Mozambique"},
}
countryObject_132 := CountryObject{
Identifier: 132,
NamesList: []string{"Myanmar"},
}
countryObject_133 := CountryObject{
Identifier: 133,
NamesList: []string{"Namibia"},
}
countryObject_134 := CountryObject{
Identifier: 134,
NamesList: []string{"Nauru"},
}
countryObject_135 := CountryObject{
Identifier: 135,
NamesList: []string{"Nepal"},
}
countryObject_136 := CountryObject{
Identifier: 136,
NamesList: []string{"Netherlands"},
}
countryObject_137 := CountryObject{
Identifier: 137,
NamesList: []string{"New Caledonia"},
}
countryObject_138 := CountryObject{
Identifier: 138,
NamesList: []string{"New Zealand"},
}
countryObject_139 := CountryObject{
Identifier: 139,
NamesList: []string{"Nicaragua"},
}
countryObject_140 := CountryObject{
Identifier: 140,
NamesList: []string{"Niger"},
}
countryObject_141 := CountryObject{
Identifier: 141,
NamesList: []string{"Nigeria"},
}
countryObject_142 := CountryObject{
Identifier: 142,
NamesList: []string{"Niue"},
}
countryObject_143 := CountryObject{
Identifier: 143,
NamesList: []string{"North Korea"},
}
countryObject_144 := CountryObject{
Identifier: 144,
NamesList: []string{"Norway"},
}
countryObject_145 := CountryObject{
Identifier: 145,
NamesList: []string{"Oman"},
}
countryObject_146 := CountryObject{
Identifier: 146,
NamesList: []string{"Pakistan"},
}
countryObject_147 := CountryObject{
Identifier: 147,
NamesList: []string{"Palau"},
}
countryObject_148 := CountryObject{
Identifier: 148,
NamesList: []string{"Panama"},
}
countryObject_149 := CountryObject{
Identifier: 149,
NamesList: []string{"Papua New Guinea"},
}
countryObject_150 := CountryObject{
Identifier: 150,
NamesList: []string{"Paraguay"},
}
countryObject_151 := CountryObject{
Identifier: 151,
NamesList: []string{"Peru"},
}
countryObject_152 := CountryObject{
Identifier: 152,
NamesList: []string{"Philippines"},
}
countryObject_153 := CountryObject{
Identifier: 153,
NamesList: []string{"Poland"},
}
countryObject_154 := CountryObject{
Identifier: 154,
NamesList: []string{"Portugal"},
}
countryObject_155 := CountryObject{
Identifier: 155,
NamesList: []string{"Puerto Rico"},
}
countryObject_156 := CountryObject{
Identifier: 156,
NamesList: []string{"Qatar"},
}
countryObject_157 := CountryObject{
Identifier: 157,
NamesList: []string{"Romania"},
}
countryObject_158 := CountryObject{
Identifier: 158,
NamesList: []string{"Russia"},
}
countryObject_159 := CountryObject{
Identifier: 159,
NamesList: []string{"Rwanda"},
}
countryObject_160 := CountryObject{
Identifier: 160,
NamesList: []string{"Saint Kitts And Nevis"},
}
countryObject_161 := CountryObject{
Identifier: 161,
NamesList: []string{"Saint Lucia"},
}
countryObject_162 := CountryObject{
Identifier: 162,
NamesList: []string{"Saint Pierre and Miquelon"},
}
countryObject_163 := CountryObject{
Identifier: 163,
NamesList: []string{"Saint Vincent And The Grenadines"},
}
countryObject_164 := CountryObject{
Identifier: 164,
NamesList: []string{"Saint-Martin"},
}
countryObject_165 := CountryObject{
Identifier: 165,
NamesList: []string{"Samoa"},
}
countryObject_166 := CountryObject{
Identifier: 166,
NamesList: []string{"San Marino"},
}
countryObject_167 := CountryObject{
Identifier: 167,
NamesList: []string{"Sao Tome and Principe"},
}
countryObject_168 := CountryObject{
Identifier: 168,
NamesList: []string{"Saudi Arabia"},
}
countryObject_169 := CountryObject{
Identifier: 169,
NamesList: []string{"Senegal"},
}
countryObject_170 := CountryObject{
Identifier: 170,
NamesList: []string{"Serbia"},
}
countryObject_171 := CountryObject{
Identifier: 171,
NamesList: []string{"Seychelles"},
}
countryObject_172 := CountryObject{
Identifier: 172,
NamesList: []string{"Sierra Leone"},
}
countryObject_173 := CountryObject{
Identifier: 173,
NamesList: []string{"Singapore"},
}
countryObject_174 := CountryObject{
Identifier: 174,
NamesList: []string{"Sint Maarten"},
}
countryObject_175 := CountryObject{
Identifier: 175,
NamesList: []string{"Slovakia"},
}
countryObject_176 := CountryObject{
Identifier: 176,
NamesList: []string{"Slovenia"},
}
countryObject_177 := CountryObject{
Identifier: 177,
NamesList: []string{"Solomon Islands"},
}
countryObject_178 := CountryObject{
Identifier: 178,
NamesList: []string{"Somalia"},
}
countryObject_179 := CountryObject{
Identifier: 179,
NamesList: []string{"South Africa"},
}
countryObject_180 := CountryObject{
Identifier: 180,
NamesList: []string{"South Korea"},
}
countryObject_181 := CountryObject{
Identifier: 181,
NamesList: []string{"South Sudan"},
}
countryObject_182 := CountryObject{
Identifier: 182,
NamesList: []string{"Spain"},
}
countryObject_183 := CountryObject{
Identifier: 183,
NamesList: []string{"Sri Lanka"},
}
countryObject_184 := CountryObject{
Identifier: 184,
NamesList: []string{"Sudan"},
}
countryObject_185 := CountryObject{
Identifier: 185,
NamesList: []string{"Suriname"},
}
countryObject_186 := CountryObject{
Identifier: 186,
NamesList: []string{"Eswatini", "Swaziland"},
}
countryObject_187 := CountryObject{
Identifier: 187,
NamesList: []string{"Sweden"},
}
countryObject_188 := CountryObject{
Identifier: 188,
NamesList: []string{"Switzerland"},
}
countryObject_189 := CountryObject{
Identifier: 189,
NamesList: []string{"Syria"},
}
countryObject_190 := CountryObject{
Identifier: 190,
NamesList: []string{"Taiwan"},
}
countryObject_191 := CountryObject{
Identifier: 191,
NamesList: []string{"Tajikistan"},
}
countryObject_192 := CountryObject{
Identifier: 192,
NamesList: []string{"Tanzania"},
}
countryObject_193 := CountryObject{
Identifier: 193,
NamesList: []string{"Thailand"},
}
countryObject_194 := CountryObject{
Identifier: 194,
NamesList: []string{"The Bahamas"},
}
countryObject_195 := CountryObject{
Identifier: 195,
NamesList: []string{"Togo"},
}
countryObject_196 := CountryObject{
Identifier: 196,
NamesList: []string{"Tonga"},
}
countryObject_197 := CountryObject{
Identifier: 197,
NamesList: []string{"Trinidad And Tobago"},
}
countryObject_198 := CountryObject{
Identifier: 198,
NamesList: []string{"Tunisia"},
}
countryObject_199 := CountryObject{
Identifier: 199,
NamesList: []string{"Turkey"},
}
countryObject_200 := CountryObject{
Identifier: 200,
NamesList: []string{"Turkmenistan"},
}
countryObject_201 := CountryObject{
Identifier: 201,
NamesList: []string{"Turks And Caicos Islands"},
}
countryObject_202 := CountryObject{
Identifier: 202,
NamesList: []string{"Tuvalu"},
}
countryObject_203 := CountryObject{
Identifier: 203,
NamesList: []string{"Uganda"},
}
countryObject_204 := CountryObject{
Identifier: 204,
NamesList: []string{"Ukraine"},
}
countryObject_205 := CountryObject{
Identifier: 205,
NamesList: []string{"United Arab Emirates"},
}
countryObject_206 := CountryObject{
Identifier: 206,
NamesList: []string{"United Kingdom"},
}
countryObject_207 := CountryObject{
Identifier: 207,
NamesList: []string{"United States"},
}
countryObject_208 := CountryObject{
Identifier: 208,
NamesList: []string{"Uruguay"},
}
countryObject_209 := CountryObject{
Identifier: 209,
NamesList: []string{"Uzbekistan"},
}
countryObject_210 := CountryObject{
Identifier: 210,
NamesList: []string{"Vanuatu"},
}
countryObject_211 := CountryObject{
Identifier: 211,
NamesList: []string{"Vatican City State"},
}
countryObject_212 := CountryObject{
Identifier: 212,
NamesList: []string{"Venezuela"},
}
countryObject_213 := CountryObject{
Identifier: 213,
NamesList: []string{"Vietnam"},
}
countryObject_214 := CountryObject{
Identifier: 214,
NamesList: []string{"British Virgin Islands"},
}
countryObject_215 := CountryObject{
Identifier: 215,
NamesList: []string{"Wallis And Futuna Islands"},
}
countryObject_216 := CountryObject{
Identifier: 216,
NamesList: []string{"Yemen"},
}
countryObject_217 := CountryObject{
Identifier: 217,
NamesList: []string{"Zambia"},
}
countryObject_218 := CountryObject{
Identifier: 218,
NamesList: []string{"Zimbabwe"},
}
countryObject_219 := CountryObject{
Identifier: 219,
NamesList: []string{"Bermuda"},
}
allCountryObjectsList = []CountryObject{ countryObject_1, countryObject_2, countryObject_3, countryObject_4, countryObject_5, countryObject_6, countryObject_7, countryObject_8, countryObject_9, countryObject_10, countryObject_11, countryObject_12, countryObject_13, countryObject_14, countryObject_15, countryObject_16, countryObject_17, countryObject_18, countryObject_19, countryObject_20, countryObject_21, countryObject_22, countryObject_23, countryObject_24, countryObject_25, countryObject_26, countryObject_27, countryObject_28, countryObject_29, countryObject_30, countryObject_31, countryObject_32, countryObject_33, countryObject_34, countryObject_35, countryObject_36, countryObject_37, countryObject_38, countryObject_39, countryObject_40, countryObject_41, countryObject_42, countryObject_43, countryObject_44, countryObject_45, countryObject_46, countryObject_47, countryObject_48, countryObject_49, countryObject_50, countryObject_51, countryObject_52, countryObject_53, countryObject_54, countryObject_55, countryObject_56, countryObject_57, countryObject_58, countryObject_59, countryObject_60, countryObject_61, countryObject_62, countryObject_63, countryObject_64, countryObject_65, countryObject_66, countryObject_67, countryObject_68, countryObject_69, countryObject_70, countryObject_71, countryObject_72, countryObject_73, countryObject_74, countryObject_75, countryObject_76, countryObject_77, countryObject_78, countryObject_79, countryObject_80, countryObject_81, countryObject_82, countryObject_83, countryObject_84, countryObject_85, countryObject_86, countryObject_87, countryObject_88, countryObject_89, countryObject_90, countryObject_91, countryObject_92, countryObject_93, countryObject_94, countryObject_95, countryObject_96, countryObject_97, countryObject_98, countryObject_99, countryObject_100, countryObject_101, countryObject_102, countryObject_103, countryObject_104, countryObject_105, countryObject_106, countryObject_107, countryObject_108, countryObject_109, countryObject_110, countryObject_111, countryObject_112, countryObject_113, countryObject_114, countryObject_115, countryObject_116, countryObject_117, countryObject_118, countryObject_119, countryObject_120, countryObject_121, countryObject_122, countryObject_123, countryObject_124, countryObject_125, countryObject_126, countryObject_127, countryObject_128, countryObject_129, countryObject_130, countryObject_131, countryObject_132, countryObject_133, countryObject_134, countryObject_135, countryObject_136, countryObject_137, countryObject_138, countryObject_139, countryObject_140, countryObject_141, countryObject_142, countryObject_143, countryObject_144, countryObject_145, countryObject_146, countryObject_147, countryObject_148, countryObject_149, countryObject_150, countryObject_151, countryObject_152, countryObject_153, countryObject_154, countryObject_155, countryObject_156, countryObject_157, countryObject_158, countryObject_159, countryObject_160, countryObject_161, countryObject_162, countryObject_163, countryObject_164, countryObject_165, countryObject_166, countryObject_167, countryObject_168, countryObject_169, countryObject_170, countryObject_171, countryObject_172, countryObject_173, countryObject_174, countryObject_175, countryObject_176, countryObject_177, countryObject_178, countryObject_179, countryObject_180, countryObject_181, countryObject_182, countryObject_183, countryObject_184, countryObject_185, countryObject_186, countryObject_187, countryObject_188, countryObject_189, countryObject_190, countryObject_191, countryObject_192, countryObject_193, countryObject_194, countryObject_195, countryObject_196, countryObject_197, countryObject_198, countryObject_199, countryObject_200, countryObject_201, countryObject_202, countryObject_203, countryObject_204, countryObject_205, countryObject_206, countryObject_207, countryObject_208, countryObject_209, countryObject_210, countryObject_211, countryObject_212, countryObject_213, countryObject_214, countryObject_215, countryObject_216, countryObject_217, countryObject_218, countryObject_219}
}