kdl 1.0.0.rc1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,512 @@
1
+ module KDL
2
+ module Types
3
+ class Country < Value
4
+ # From: https://en.wikipedia.org/wiki/ISO_3166-1#Current_codes
5
+ COUNTRIES3 = {
6
+ 'AFG' => { alpha3: 'AFG', alpha2: 'AF', numeric_code: 4, name: 'Afghanistan' }.freeze,
7
+ 'ALA' => { alpha3: 'ALA', alpha2: 'AX', numeric_code: 248, name: 'Åland Islands' }.freeze,
8
+ 'ALB' => { alpha3: 'ALB', alpha2: 'AL', numeric_code: 8, name: 'Albania' }.freeze,
9
+ 'DZA' => { alpha3: 'DZA', alpha2: 'DZ', numeric_code: 12, name: 'Algeria' }.freeze,
10
+ 'ASM' => { alpha3: 'ASM', alpha2: 'AS', numeric_code: 16, name: 'American Samoa' }.freeze,
11
+ 'AND' => { alpha3: 'AND', alpha2: 'AD', numeric_code: 20, name: 'Andorra' }.freeze,
12
+ 'AGO' => { alpha3: 'AGO', alpha2: 'AO', numeric_code: 24, name: 'Angola' }.freeze,
13
+ 'AIA' => { alpha3: 'AIA', alpha2: 'AI', numeric_code: 660, name: 'Anguilla' }.freeze,
14
+ 'ATA' => { alpha3: 'ATA', alpha2: 'AQ', numeric_code: 10, name: 'Antarctica' }.freeze,
15
+ 'ATG' => { alpha3: 'ATG', alpha2: 'AG', numeric_code: 28, name: 'Antigua and Barbuda' }.freeze,
16
+ 'ARG' => { alpha3: 'ARG', alpha2: 'AR', numeric_code: 32, name: 'Argentina' }.freeze,
17
+ 'ARM' => { alpha3: 'ARM', alpha2: 'AM', numeric_code: 51, name: 'Armenia' }.freeze,
18
+ 'ABW' => { alpha3: 'ABW', alpha2: 'AW', numeric_code: 533, name: 'Aruba' }.freeze,
19
+ 'AUS' => { alpha3: 'AUS', alpha2: 'AU', numeric_code: 36, name: 'Australia' }.freeze,
20
+ 'AUT' => { alpha3: 'AUT', alpha2: 'AT', numeric_code: 40, name: 'Austria' }.freeze,
21
+ 'AZE' => { alpha3: 'AZE', alpha2: 'AZ', numeric_code: 31, name: 'Azerbaijan' }.freeze,
22
+ 'BHS' => { alpha3: 'BHS', alpha2: 'BS', numeric_code: 44, name: 'Bahamas' }.freeze,
23
+ 'BHR' => { alpha3: 'BHR', alpha2: 'BH', numeric_code: 48, name: 'Bahrain' }.freeze,
24
+ 'BGD' => { alpha3: 'BGD', alpha2: 'BD', numeric_code: 50, name: 'Bangladesh' }.freeze,
25
+ 'BRB' => { alpha3: 'BRB', alpha2: 'BB', numeric_code: 52, name: 'Barbados' }.freeze,
26
+ 'BLR' => { alpha3: 'BLR', alpha2: 'BY', numeric_code: 112, name: 'Belarus' }.freeze,
27
+ 'BEL' => { alpha3: 'BEL', alpha2: 'BE', numeric_code: 56, name: 'Belgium' }.freeze,
28
+ 'BLZ' => { alpha3: 'BLZ', alpha2: 'BZ', numeric_code: 84, name: 'Belize' }.freeze,
29
+ 'BEN' => { alpha3: 'BEN', alpha2: 'BJ', numeric_code: 204, name: 'Benin' }.freeze,
30
+ 'BMU' => { alpha3: 'BMU', alpha2: 'BM', numeric_code: 60, name: 'Bermuda' }.freeze,
31
+ 'BTN' => { alpha3: 'BTN', alpha2: 'BT', numeric_code: 64, name: 'Bhutan' }.freeze,
32
+ 'BOL' => { alpha3: 'BOL', alpha2: 'BO', numeric_code: 68, name: 'Bolivia (Plurinational State of)' }.freeze,
33
+ 'BES' => { alpha3: 'BES', alpha2: 'BQ', numeric_code: 535, name: 'Bonaire, Sint Eustatius and Saba[d]' }.freeze,
34
+ 'BIH' => { alpha3: 'BIH', alpha2: 'BA', numeric_code: 70, name: 'Bosnia and Herzegovina' }.freeze,
35
+ 'BWA' => { alpha3: 'BWA', alpha2: 'BW', numeric_code: 72, name: 'Botswana' }.freeze,
36
+ 'BVT' => { alpha3: 'BVT', alpha2: 'BV', numeric_code: 74, name: 'Bouvet Island' }.freeze,
37
+ 'BRA' => { alpha3: 'BRA', alpha2: 'BR', numeric_code: 76, name: 'Brazil' }.freeze,
38
+ 'IOT' => { alpha3: 'IOT', alpha2: 'IO', numeric_code: 86, name: 'British Indian Ocean Territory' }.freeze,
39
+ 'BRN' => { alpha3: 'BRN', alpha2: 'BN', numeric_code: 96, name: 'Brunei Darussalam' }.freeze,
40
+ 'BGR' => { alpha3: 'BGR', alpha2: 'BG', numeric_code: 100, name: 'Bulgaria' }.freeze,
41
+ 'BFA' => { alpha3: 'BFA', alpha2: 'BF', numeric_code: 854, name: 'Burkina Faso' }.freeze,
42
+ 'BDI' => { alpha3: 'BDI', alpha2: 'BI', numeric_code: 108, name: 'Burundi' }.freeze,
43
+ 'CPV' => { alpha3: 'CPV', alpha2: 'CV', numeric_code: 132, name: 'Cabo Verde' }.freeze,
44
+ 'KHM' => { alpha3: 'KHM', alpha2: 'KH', numeric_code: 116, name: 'Cambodia' }.freeze,
45
+ 'CMR' => { alpha3: 'CMR', alpha2: 'CM', numeric_code: 120, name: 'Cameroon' }.freeze,
46
+ 'CAN' => { alpha3: 'CAN', alpha2: 'CA', numeric_code: 124, name: 'Canada' }.freeze,
47
+ 'CYM' => { alpha3: 'CYM', alpha2: 'KY', numeric_code: 136, name: 'Cayman Islands' }.freeze,
48
+ 'CAF' => { alpha3: 'CAF', alpha2: 'CF', numeric_code: 140, name: 'Central African Republic' }.freeze,
49
+ 'TCD' => { alpha3: 'TCD', alpha2: 'TD', numeric_code: 148, name: 'Chad' }.freeze,
50
+ 'CHL' => { alpha3: 'CHL', alpha2: 'CL', numeric_code: 152, name: 'Chile' }.freeze,
51
+ 'CHN' => { alpha3: 'CHN', alpha2: 'CN', numeric_code: 156, name: 'China' }.freeze,
52
+ 'CXR' => { alpha3: 'CXR', alpha2: 'CX', numeric_code: 162, name: 'Christmas Island' }.freeze,
53
+ 'CCK' => { alpha3: 'CCK', alpha2: 'CC', numeric_code: 166, name: 'Cocos (Keeling) Islands' }.freeze,
54
+ 'COL' => { alpha3: 'COL', alpha2: 'CO', numeric_code: 170, name: 'Colombia' }.freeze,
55
+ 'COM' => { alpha3: 'COM', alpha2: 'KM', numeric_code: 174, name: 'Comoros' }.freeze,
56
+ 'COG' => { alpha3: 'COG', alpha2: 'CG', numeric_code: 178, name: 'Congo' }.freeze,
57
+ 'COD' => { alpha3: 'COD', alpha2: 'CD', numeric_code: 180, name: 'Congo, Democratic Republic of the' }.freeze,
58
+ 'COK' => { alpha3: 'COK', alpha2: 'CK', numeric_code: 184, name: 'Cook Islands' }.freeze,
59
+ 'CRI' => { alpha3: 'CRI', alpha2: 'CR', numeric_code: 188, name: 'Costa Rica' }.freeze,
60
+ 'CIV' => { alpha3: 'CIV', alpha2: 'CI', numeric_code: 384, name: 'Côte d\'Ivoire' }.freeze,
61
+ 'HRV' => { alpha3: 'HRV', alpha2: 'HR', numeric_code: 191, name: 'Croatia' }.freeze,
62
+ 'CUB' => { alpha3: 'CUB', alpha2: 'CU', numeric_code: 192, name: 'Cuba' }.freeze,
63
+ 'CUW' => { alpha3: 'CUW', alpha2: 'CW', numeric_code: 531, name: 'Curaçao' }.freeze,
64
+ 'CYP' => { alpha3: 'CYP', alpha2: 'CY', numeric_code: 196, name: 'Cyprus' }.freeze,
65
+ 'CZE' => { alpha3: 'CZE', alpha2: 'CZ', numeric_code: 203, name: 'Czechia' }.freeze,
66
+ 'DNK' => { alpha3: 'DNK', alpha2: 'DK', numeric_code: 208, name: 'Denmark' }.freeze,
67
+ 'DJI' => { alpha3: 'DJI', alpha2: 'DJ', numeric_code: 262, name: 'Djibouti' }.freeze,
68
+ 'DMA' => { alpha3: 'DMA', alpha2: 'DM', numeric_code: 212, name: 'Dominica' }.freeze,
69
+ 'DOM' => { alpha3: 'DOM', alpha2: 'DO', numeric_code: 214, name: 'Dominican Republic' }.freeze,
70
+ 'ECU' => { alpha3: 'ECU', alpha2: 'EC', numeric_code: 218, name: 'Ecuador' }.freeze,
71
+ 'EGY' => { alpha3: 'EGY', alpha2: 'EG', numeric_code: 818, name: 'Egypt' }.freeze,
72
+ 'SLV' => { alpha3: 'SLV', alpha2: 'SV', numeric_code: 222, name: 'El Salvador' }.freeze,
73
+ 'GNQ' => { alpha3: 'GNQ', alpha2: 'GQ', numeric_code: 226, name: 'Equatorial Guinea' }.freeze,
74
+ 'ERI' => { alpha3: 'ERI', alpha2: 'ER', numeric_code: 232, name: 'Eritrea' }.freeze,
75
+ 'EST' => { alpha3: 'EST', alpha2: 'EE', numeric_code: 233, name: 'Estonia' }.freeze,
76
+ 'SWZ' => { alpha3: 'SWZ', alpha2: 'SZ', numeric_code: 748, name: 'Eswatini' }.freeze,
77
+ 'ETH' => { alpha3: 'ETH', alpha2: 'ET', numeric_code: 231, name: 'Ethiopia' }.freeze,
78
+ 'FLK' => { alpha3: 'FLK', alpha2: 'FK', numeric_code: 238, name: 'Falkland Islands (Malvinas)' }.freeze,
79
+ 'FRO' => { alpha3: 'FRO', alpha2: 'FO', numeric_code: 234, name: 'Faroe Islands' }.freeze,
80
+ 'FJI' => { alpha3: 'FJI', alpha2: 'FJ', numeric_code: 242, name: 'Fiji' }.freeze,
81
+ 'FIN' => { alpha3: 'FIN', alpha2: 'FI', numeric_code: 246, name: 'Finland' }.freeze,
82
+ 'FRA' => { alpha3: 'FRA', alpha2: 'FR', numeric_code: 250, name: 'France' }.freeze,
83
+ 'GUF' => { alpha3: 'GUF', alpha2: 'GF', numeric_code: 254, name: 'French Guiana' }.freeze,
84
+ 'PYF' => { alpha3: 'PYF', alpha2: 'PF', numeric_code: 258, name: 'French Polynesia' }.freeze,
85
+ 'ATF' => { alpha3: 'ATF', alpha2: 'TF', numeric_code: 260, name: 'French Southern Territories' }.freeze,
86
+ 'GAB' => { alpha3: 'GAB', alpha2: 'GA', numeric_code: 266, name: 'Gabon' }.freeze,
87
+ 'GMB' => { alpha3: 'GMB', alpha2: 'GM', numeric_code: 270, name: 'Gambia' }.freeze,
88
+ 'GEO' => { alpha3: 'GEO', alpha2: 'GE', numeric_code: 268, name: 'Georgia' }.freeze,
89
+ 'DEU' => { alpha3: 'DEU', alpha2: 'DE', numeric_code: 276, name: 'Germany' }.freeze,
90
+ 'GHA' => { alpha3: 'GHA', alpha2: 'GH', numeric_code: 288, name: 'Ghana' }.freeze,
91
+ 'GIB' => { alpha3: 'GIB', alpha2: 'GI', numeric_code: 292, name: 'Gibraltar' }.freeze,
92
+ 'GRC' => { alpha3: 'GRC', alpha2: 'GR', numeric_code: 300, name: 'Greece' }.freeze,
93
+ 'GRL' => { alpha3: 'GRL', alpha2: 'GL', numeric_code: 304, name: 'Greenland' }.freeze,
94
+ 'GRD' => { alpha3: 'GRD', alpha2: 'GD', numeric_code: 308, name: 'Grenada' }.freeze,
95
+ 'GLP' => { alpha3: 'GLP', alpha2: 'GP', numeric_code: 312, name: 'Guadeloupe' }.freeze,
96
+ 'GUM' => { alpha3: 'GUM', alpha2: 'GU', numeric_code: 316, name: 'Guam' }.freeze,
97
+ 'GTM' => { alpha3: 'GTM', alpha2: 'GT', numeric_code: 320, name: 'Guatemala' }.freeze,
98
+ 'GGY' => { alpha3: 'GGY', alpha2: 'GG', numeric_code: 831, name: 'Guernsey' }.freeze,
99
+ 'GIN' => { alpha3: 'GIN', alpha2: 'GN', numeric_code: 324, name: 'Guinea' }.freeze,
100
+ 'GNB' => { alpha3: 'GNB', alpha2: 'GW', numeric_code: 624, name: 'Guinea-Bissau' }.freeze,
101
+ 'GUY' => { alpha3: 'GUY', alpha2: 'GY', numeric_code: 328, name: 'Guyana' }.freeze,
102
+ 'HTI' => { alpha3: 'HTI', alpha2: 'HT', numeric_code: 332, name: 'Haiti' }.freeze,
103
+ 'HMD' => { alpha3: 'HMD', alpha2: 'HM', numeric_code: 334, name: 'Heard Island and McDonald Islands' }.freeze,
104
+ 'VAT' => { alpha3: 'VAT', alpha2: 'VA', numeric_code: 336, name: 'Holy See' }.freeze,
105
+ 'HND' => { alpha3: 'HND', alpha2: 'HN', numeric_code: 340, name: 'Honduras' }.freeze,
106
+ 'HKG' => { alpha3: 'HKG', alpha2: 'HK', numeric_code: 344, name: 'Hong Kong' }.freeze,
107
+ 'HUN' => { alpha3: 'HUN', alpha2: 'HU', numeric_code: 348, name: 'Hungary' }.freeze,
108
+ 'ISL' => { alpha3: 'ISL', alpha2: 'IS', numeric_code: 352, name: 'Iceland' }.freeze,
109
+ 'IND' => { alpha3: 'IND', alpha2: 'IN', numeric_code: 356, name: 'India' }.freeze,
110
+ 'IDN' => { alpha3: 'IDN', alpha2: 'ID', numeric_code: 360, name: 'Indonesia' }.freeze,
111
+ 'IRN' => { alpha3: 'IRN', alpha2: 'IR', numeric_code: 364, name: 'Iran (Islamic Republic of)' }.freeze,
112
+ 'IRQ' => { alpha3: 'IRQ', alpha2: 'IQ', numeric_code: 368, name: 'Iraq' }.freeze,
113
+ 'IRL' => { alpha3: 'IRL', alpha2: 'IE', numeric_code: 372, name: 'Ireland' }.freeze,
114
+ 'IMN' => { alpha3: 'IMN', alpha2: 'IM', numeric_code: 833, name: 'Isle of Man' }.freeze,
115
+ 'ISR' => { alpha3: 'ISR', alpha2: 'IL', numeric_code: 376, name: 'Israel' }.freeze,
116
+ 'ITA' => { alpha3: 'ITA', alpha2: 'IT', numeric_code: 380, name: 'Italy' }.freeze,
117
+ 'JAM' => { alpha3: 'JAM', alpha2: 'JM', numeric_code: 388, name: 'Jamaica' }.freeze,
118
+ 'JPN' => { alpha3: 'JPN', alpha2: 'JP', numeric_code: 392, name: 'Japan' }.freeze,
119
+ 'JEY' => { alpha3: 'JEY', alpha2: 'JE', numeric_code: 832, name: 'Jersey' }.freeze,
120
+ 'JOR' => { alpha3: 'JOR', alpha2: 'JO', numeric_code: 400, name: 'Jordan' }.freeze,
121
+ 'KAZ' => { alpha3: 'KAZ', alpha2: 'KZ', numeric_code: 398, name: 'Kazakhstan' }.freeze,
122
+ 'KEN' => { alpha3: 'KEN', alpha2: 'KE', numeric_code: 404, name: 'Kenya' }.freeze,
123
+ 'KIR' => { alpha3: 'KIR', alpha2: 'KI', numeric_code: 296, name: 'Kiribati' }.freeze,
124
+ 'PRK' => { alpha3: 'PRK', alpha2: 'KP', numeric_code: 408, name: 'Korea (Democratic People\'s Republic of)' }.freeze,
125
+ 'KOR' => { alpha3: 'KOR', alpha2: 'KR', numeric_code: 410, name: 'Korea, Republic of' }.freeze,
126
+ 'KWT' => { alpha3: 'KWT', alpha2: 'KW', numeric_code: 414, name: 'Kuwait' }.freeze,
127
+ 'KGZ' => { alpha3: 'KGZ', alpha2: 'KG', numeric_code: 417, name: 'Kyrgyzstan' }.freeze,
128
+ 'LAO' => { alpha3: 'LAO', alpha2: 'LA', numeric_code: 418, name: 'Lao People\'s Democratic Republic' }.freeze,
129
+ 'LVA' => { alpha3: 'LVA', alpha2: 'LV', numeric_code: 428, name: 'Latvia' }.freeze,
130
+ 'LBN' => { alpha3: 'LBN', alpha2: 'LB', numeric_code: 422, name: 'Lebanon' }.freeze,
131
+ 'LSO' => { alpha3: 'LSO', alpha2: 'LS', numeric_code: 426, name: 'Lesotho' }.freeze,
132
+ 'LBR' => { alpha3: 'LBR', alpha2: 'LR', numeric_code: 430, name: 'Liberia' }.freeze,
133
+ 'LBY' => { alpha3: 'LBY', alpha2: 'LY', numeric_code: 434, name: 'Libya' }.freeze,
134
+ 'LIE' => { alpha3: 'LIE', alpha2: 'LI', numeric_code: 438, name: 'Liechtenstein' }.freeze,
135
+ 'LTU' => { alpha3: 'LTU', alpha2: 'LT', numeric_code: 440, name: 'Lithuania' }.freeze,
136
+ 'LUX' => { alpha3: 'LUX', alpha2: 'LU', numeric_code: 442, name: 'Luxembourg' }.freeze,
137
+ 'MAC' => { alpha3: 'MAC', alpha2: 'MO', numeric_code: 446, name: 'Macao' }.freeze,
138
+ 'MDG' => { alpha3: 'MDG', alpha2: 'MG', numeric_code: 450, name: 'Madagascar' }.freeze,
139
+ 'MWI' => { alpha3: 'MWI', alpha2: 'MW', numeric_code: 454, name: 'Malawi' }.freeze,
140
+ 'MYS' => { alpha3: 'MYS', alpha2: 'MY', numeric_code: 458, name: 'Malaysia' }.freeze,
141
+ 'MDV' => { alpha3: 'MDV', alpha2: 'MV', numeric_code: 462, name: 'Maldives' }.freeze,
142
+ 'MLI' => { alpha3: 'MLI', alpha2: 'ML', numeric_code: 466, name: 'Mali' }.freeze,
143
+ 'MLT' => { alpha3: 'MLT', alpha2: 'MT', numeric_code: 470, name: 'Malta' }.freeze,
144
+ 'MHL' => { alpha3: 'MHL', alpha2: 'MH', numeric_code: 584, name: 'Marshall Islands' }.freeze,
145
+ 'MTQ' => { alpha3: 'MTQ', alpha2: 'MQ', numeric_code: 474, name: 'Martinique' }.freeze,
146
+ 'MRT' => { alpha3: 'MRT', alpha2: 'MR', numeric_code: 478, name: 'Mauritania' }.freeze,
147
+ 'MUS' => { alpha3: 'MUS', alpha2: 'MU', numeric_code: 480, name: 'Mauritius' }.freeze,
148
+ 'MYT' => { alpha3: 'MYT', alpha2: 'YT', numeric_code: 175, name: 'Mayotte' }.freeze,
149
+ 'MEX' => { alpha3: 'MEX', alpha2: 'MX', numeric_code: 484, name: 'Mexico' }.freeze,
150
+ 'FSM' => { alpha3: 'FSM', alpha2: 'FM', numeric_code: 583, name: 'Micronesia (Federated States of)' }.freeze,
151
+ 'MDA' => { alpha3: 'MDA', alpha2: 'MD', numeric_code: 498, name: 'Moldova, Republic of' }.freeze,
152
+ 'MCO' => { alpha3: 'MCO', alpha2: 'MC', numeric_code: 492, name: 'Monaco' }.freeze,
153
+ 'MNG' => { alpha3: 'MNG', alpha2: 'MN', numeric_code: 496, name: 'Mongolia' }.freeze,
154
+ 'MNE' => { alpha3: 'MNE', alpha2: 'ME', numeric_code: 499, name: 'Montenegro' }.freeze,
155
+ 'MSR' => { alpha3: 'MSR', alpha2: 'MS', numeric_code: 500, name: 'Montserrat' }.freeze,
156
+ 'MAR' => { alpha3: 'MAR', alpha2: 'MA', numeric_code: 504, name: 'Morocco' }.freeze,
157
+ 'MOZ' => { alpha3: 'MOZ', alpha2: 'MZ', numeric_code: 508, name: 'Mozambique' }.freeze,
158
+ 'MMR' => { alpha3: 'MMR', alpha2: 'MM', numeric_code: 104, name: 'Myanmar' }.freeze,
159
+ 'NAM' => { alpha3: 'NAM', alpha2: 'NA', numeric_code: 516, name: 'Namibia' }.freeze,
160
+ 'NRU' => { alpha3: 'NRU', alpha2: 'NR', numeric_code: 520, name: 'Nauru' }.freeze,
161
+ 'NPL' => { alpha3: 'NPL', alpha2: 'NP', numeric_code: 524, name: 'Nepal' }.freeze,
162
+ 'NLD' => { alpha3: 'NLD', alpha2: 'NL', numeric_code: 528, name: 'Netherlands' }.freeze,
163
+ 'NCL' => { alpha3: 'NCL', alpha2: 'NC', numeric_code: 540, name: 'New Caledonia' }.freeze,
164
+ 'NZL' => { alpha3: 'NZL', alpha2: 'NZ', numeric_code: 554, name: 'New Zealand' }.freeze,
165
+ 'NIC' => { alpha3: 'NIC', alpha2: 'NI', numeric_code: 558, name: 'Nicaragua' }.freeze,
166
+ 'NER' => { alpha3: 'NER', alpha2: 'NE', numeric_code: 562, name: 'Niger' }.freeze,
167
+ 'NGA' => { alpha3: 'NGA', alpha2: 'NG', numeric_code: 566, name: 'Nigeria' }.freeze,
168
+ 'NIU' => { alpha3: 'NIU', alpha2: 'NU', numeric_code: 570, name: 'Niue' }.freeze,
169
+ 'NFK' => { alpha3: 'NFK', alpha2: 'NF', numeric_code: 574, name: 'Norfolk Island' }.freeze,
170
+ 'MKD' => { alpha3: 'MKD', alpha2: 'MK', numeric_code: 807, name: 'North Macedonia' }.freeze,
171
+ 'MNP' => { alpha3: 'MNP', alpha2: 'MP', numeric_code: 580, name: 'Northern Mariana Islands' }.freeze,
172
+ 'NOR' => { alpha3: 'NOR', alpha2: 'NO', numeric_code: 578, name: 'Norway' }.freeze,
173
+ 'OMN' => { alpha3: 'OMN', alpha2: 'OM', numeric_code: 512, name: 'Oman' }.freeze,
174
+ 'PAK' => { alpha3: 'PAK', alpha2: 'PK', numeric_code: 586, name: 'Pakistan' }.freeze,
175
+ 'PLW' => { alpha3: 'PLW', alpha2: 'PW', numeric_code: 585, name: 'Palau' }.freeze,
176
+ 'PSE' => { alpha3: 'PSE', alpha2: 'PS', numeric_code: 275, name: 'Palestine, State of' }.freeze,
177
+ 'PAN' => { alpha3: 'PAN', alpha2: 'PA', numeric_code: 591, name: 'Panama' }.freeze,
178
+ 'PNG' => { alpha3: 'PNG', alpha2: 'PG', numeric_code: 598, name: 'Papua New Guinea' }.freeze,
179
+ 'PRY' => { alpha3: 'PRY', alpha2: 'PY', numeric_code: 600, name: 'Paraguay' }.freeze,
180
+ 'PER' => { alpha3: 'PER', alpha2: 'PE', numeric_code: 604, name: 'Peru' }.freeze,
181
+ 'PHL' => { alpha3: 'PHL', alpha2: 'PH', numeric_code: 608, name: 'Philippines' }.freeze,
182
+ 'PCN' => { alpha3: 'PCN', alpha2: 'PN', numeric_code: 612, name: 'Pitcairn' }.freeze,
183
+ 'POL' => { alpha3: 'POL', alpha2: 'PL', numeric_code: 616, name: 'Poland' }.freeze,
184
+ 'PRT' => { alpha3: 'PRT', alpha2: 'PT', numeric_code: 620, name: 'Portugal' }.freeze,
185
+ 'PRI' => { alpha3: 'PRI', alpha2: 'PR', numeric_code: 630, name: 'Puerto Rico' }.freeze,
186
+ 'QAT' => { alpha3: 'QAT', alpha2: 'QA', numeric_code: 634, name: 'Qatar' }.freeze,
187
+ 'REU' => { alpha3: 'REU', alpha2: 'RE', numeric_code: 638, name: 'Réunion' }.freeze,
188
+ 'ROU' => { alpha3: 'ROU', alpha2: 'RO', numeric_code: 642, name: 'Romania' }.freeze,
189
+ 'RUS' => { alpha3: 'RUS', alpha2: 'RU', numeric_code: 643, name: 'Russian Federation' }.freeze,
190
+ 'RWA' => { alpha3: 'RWA', alpha2: 'RW', numeric_code: 646, name: 'Rwanda' }.freeze,
191
+ 'BLM' => { alpha3: 'BLM', alpha2: 'BL', numeric_code: 652, name: 'Saint Barthélemy' }.freeze,
192
+ 'SHN' => { alpha3: 'SHN', alpha2: 'SH', numeric_code: 654, name: 'Saint Helena, Ascension and Tristan da Cunha[e]' }.freeze,
193
+ 'KNA' => { alpha3: 'KNA', alpha2: 'KN', numeric_code: 659, name: 'Saint Kitts and Nevis' }.freeze,
194
+ 'LCA' => { alpha3: 'LCA', alpha2: 'LC', numeric_code: 662, name: 'Saint Lucia' }.freeze,
195
+ 'MAF' => { alpha3: 'MAF', alpha2: 'MF', numeric_code: 663, name: 'Saint Martin (French part)' }.freeze,
196
+ 'SPM' => { alpha3: 'SPM', alpha2: 'PM', numeric_code: 666, name: 'Saint Pierre and Miquelon' }.freeze,
197
+ 'VCT' => { alpha3: 'VCT', alpha2: 'VC', numeric_code: 670, name: 'Saint Vincent and the Grenadines' }.freeze,
198
+ 'WSM' => { alpha3: 'WSM', alpha2: 'WS', numeric_code: 882, name: 'Samoa' }.freeze,
199
+ 'SMR' => { alpha3: 'SMR', alpha2: 'SM', numeric_code: 674, name: 'San Marino' }.freeze,
200
+ 'STP' => { alpha3: 'STP', alpha2: 'ST', numeric_code: 678, name: 'Sao Tome and Principe' }.freeze,
201
+ 'SAU' => { alpha3: 'SAU', alpha2: 'SA', numeric_code: 682, name: 'Saudi Arabia' }.freeze,
202
+ 'SEN' => { alpha3: 'SEN', alpha2: 'SN', numeric_code: 686, name: 'Senegal' }.freeze,
203
+ 'SRB' => { alpha3: 'SRB', alpha2: 'RS', numeric_code: 688, name: 'Serbia' }.freeze,
204
+ 'SYC' => { alpha3: 'SYC', alpha2: 'SC', numeric_code: 690, name: 'Seychelles' }.freeze,
205
+ 'SLE' => { alpha3: 'SLE', alpha2: 'SL', numeric_code: 694, name: 'Sierra Leone' }.freeze,
206
+ 'SGP' => { alpha3: 'SGP', alpha2: 'SG', numeric_code: 702, name: 'Singapore' }.freeze,
207
+ 'SXM' => { alpha3: 'SXM', alpha2: 'SX', numeric_code: 534, name: 'Sint Maarten (Dutch part)' }.freeze,
208
+ 'SVK' => { alpha3: 'SVK', alpha2: 'SK', numeric_code: 703, name: 'Slovakia' }.freeze,
209
+ 'SVN' => { alpha3: 'SVN', alpha2: 'SI', numeric_code: 705, name: 'Slovenia' }.freeze,
210
+ 'SLB' => { alpha3: 'SLB', alpha2: 'SB', numeric_code: 90, name: 'Solomon Islands' }.freeze,
211
+ 'SOM' => { alpha3: 'SOM', alpha2: 'SO', numeric_code: 706, name: 'Somalia' }.freeze,
212
+ 'ZAF' => { alpha3: 'ZAF', alpha2: 'ZA', numeric_code: 710, name: 'South Africa' }.freeze,
213
+ 'SGS' => { alpha3: 'SGS', alpha2: 'GS', numeric_code: 239, name: 'South Georgia and the South Sandwich Islands' }.freeze,
214
+ 'SSD' => { alpha3: 'SSD', alpha2: 'SS', numeric_code: 728, name: 'South Sudan' }.freeze,
215
+ 'ESP' => { alpha3: 'ESP', alpha2: 'ES', numeric_code: 724, name: 'Spain' }.freeze,
216
+ 'LKA' => { alpha3: 'LKA', alpha2: 'LK', numeric_code: 144, name: 'Sri Lanka' }.freeze,
217
+ 'SDN' => { alpha3: 'SDN', alpha2: 'SD', numeric_code: 729, name: 'Sudan' }.freeze,
218
+ 'SUR' => { alpha3: 'SUR', alpha2: 'SR', numeric_code: 740, name: 'Suriname' }.freeze,
219
+ 'SJM' => { alpha3: 'SJM', alpha2: 'SJ', numeric_code: 744, name: 'Svalbard and Jan Mayen[f]' }.freeze,
220
+ 'SWE' => { alpha3: 'SWE', alpha2: 'SE', numeric_code: 752, name: 'Sweden' }.freeze,
221
+ 'CHE' => { alpha3: 'CHE', alpha2: 'CH', numeric_code: 756, name: 'Switzerland' }.freeze,
222
+ 'SYR' => { alpha3: 'SYR', alpha2: 'SY', numeric_code: 760, name: 'Syrian Arab Republic' }.freeze,
223
+ 'TWN' => { alpha3: 'TWN', alpha2: 'TW', numeric_code: 158, name: 'Taiwan, Province of China' }.freeze,
224
+ 'TJK' => { alpha3: 'TJK', alpha2: 'TJ', numeric_code: 762, name: 'Tajikistan' }.freeze,
225
+ 'TZA' => { alpha3: 'TZA', alpha2: 'TZ', numeric_code: 834, name: 'Tanzania, United Republic of' }.freeze,
226
+ 'THA' => { alpha3: 'THA', alpha2: 'TH', numeric_code: 764, name: 'Thailand' }.freeze,
227
+ 'TLS' => { alpha3: 'TLS', alpha2: 'TL', numeric_code: 626, name: 'Timor-Leste' }.freeze,
228
+ 'TGO' => { alpha3: 'TGO', alpha2: 'TG', numeric_code: 768, name: 'Togo' }.freeze,
229
+ 'TKL' => { alpha3: 'TKL', alpha2: 'TK', numeric_code: 772, name: 'Tokelau' }.freeze,
230
+ 'TON' => { alpha3: 'TON', alpha2: 'TO', numeric_code: 776, name: 'Tonga' }.freeze,
231
+ 'TTO' => { alpha3: 'TTO', alpha2: 'TT', numeric_code: 780, name: 'Trinidad and Tobago' }.freeze,
232
+ 'TUN' => { alpha3: 'TUN', alpha2: 'TN', numeric_code: 788, name: 'Tunisia' }.freeze,
233
+ 'TUR' => { alpha3: 'TUR', alpha2: 'TR', numeric_code: 792, name: 'Turkey' }.freeze,
234
+ 'TKM' => { alpha3: 'TKM', alpha2: 'TM', numeric_code: 795, name: 'Turkmenistan' }.freeze,
235
+ 'TCA' => { alpha3: 'TCA', alpha2: 'TC', numeric_code: 796, name: 'Turks and Caicos Islands' }.freeze,
236
+ 'TUV' => { alpha3: 'TUV', alpha2: 'TV', numeric_code: 798, name: 'Tuvalu' }.freeze,
237
+ 'UGA' => { alpha3: 'UGA', alpha2: 'UG', numeric_code: 800, name: 'Uganda' }.freeze,
238
+ 'UKR' => { alpha3: 'UKR', alpha2: 'UA', numeric_code: 804, name: 'Ukraine' }.freeze,
239
+ 'ARE' => { alpha3: 'ARE', alpha2: 'AE', numeric_code: 784, name: 'United Arab Emirates' }.freeze,
240
+ 'GBR' => { alpha3: 'GBR', alpha2: 'GB', numeric_code: 826, name: 'United Kingdom of Great Britain and Northern Ireland' }.freeze,
241
+ 'USA' => { alpha3: 'USA', alpha2: 'US', numeric_code: 840, name: 'United States of America' }.freeze,
242
+ 'UMI' => { alpha3: 'UMI', alpha2: 'UM', numeric_code: 581, name: 'United States Minor Outlying Islands[h]' }.freeze,
243
+ 'URY' => { alpha3: 'URY', alpha2: 'UY', numeric_code: 858, name: 'Uruguay' }.freeze,
244
+ 'UZB' => { alpha3: 'UZB', alpha2: 'UZ', numeric_code: 860, name: 'Uzbekistan' }.freeze,
245
+ 'VUT' => { alpha3: 'VUT', alpha2: 'VU', numeric_code: 548, name: 'Vanuatu' }.freeze,
246
+ 'VEN' => { alpha3: 'VEN', alpha2: 'VE', numeric_code: 862, name: 'Venezuela (Bolivarian Republic of)' }.freeze,
247
+ 'VNM' => { alpha3: 'VNM', alpha2: 'VN', numeric_code: 704, name: 'Viet Nam' }.freeze,
248
+ 'VGB' => { alpha3: 'VGB', alpha2: 'VG', numeric_code: 92, name: 'Virgin Islands (British)' }.freeze,
249
+ 'VIR' => { alpha3: 'VIR', alpha2: 'VI', numeric_code: 850, name: 'Virgin Islands (U.S.)' }.freeze,
250
+ 'WLF' => { alpha3: 'WLF', alpha2: 'WF', numeric_code: 876, name: 'Wallis and Futuna' }.freeze,
251
+ 'ESH' => { alpha3: 'ESH', alpha2: 'EH', numeric_code: 732, name: 'Western Sahara' }.freeze,
252
+ 'YEM' => { alpha3: 'YEM', alpha2: 'YE', numeric_code: 887, name: 'Yemen' }.freeze,
253
+ 'ZMB' => { alpha3: 'ZMB', alpha2: 'ZM', numeric_code: 894, name: 'Zambia' }.freeze,
254
+ 'ZWE' => { alpha3: 'ZWE', alpha2: 'ZW', numeric_code: 716, name: 'Zimbabwe' }.freeze
255
+ }.freeze
256
+
257
+ COUNTRIES2 = {
258
+ 'AF' => COUNTRIES3['AFG'],
259
+ 'AX' => COUNTRIES3['ALA'],
260
+ 'AL' => COUNTRIES3['ALB'],
261
+ 'DZ' => COUNTRIES3['DZA'],
262
+ 'AS' => COUNTRIES3['ASM'],
263
+ 'AD' => COUNTRIES3['AND'],
264
+ 'AO' => COUNTRIES3['AGO'],
265
+ 'AI' => COUNTRIES3['AIA'],
266
+ 'AQ' => COUNTRIES3['ATA'],
267
+ 'AG' => COUNTRIES3['ATG'],
268
+ 'AR' => COUNTRIES3['ARG'],
269
+ 'AM' => COUNTRIES3['ARM'],
270
+ 'AW' => COUNTRIES3['ABW'],
271
+ 'AU' => COUNTRIES3['AUS'],
272
+ 'AT' => COUNTRIES3['AUT'],
273
+ 'AZ' => COUNTRIES3['AZE'],
274
+ 'BS' => COUNTRIES3['BHS'],
275
+ 'BH' => COUNTRIES3['BHR'],
276
+ 'BD' => COUNTRIES3['BGD'],
277
+ 'BB' => COUNTRIES3['BRB'],
278
+ 'BY' => COUNTRIES3['BLR'],
279
+ 'BE' => COUNTRIES3['BEL'],
280
+ 'BZ' => COUNTRIES3['BLZ'],
281
+ 'BJ' => COUNTRIES3['BEN'],
282
+ 'BM' => COUNTRIES3['BMU'],
283
+ 'BT' => COUNTRIES3['BTN'],
284
+ 'BO' => COUNTRIES3['BOL'],
285
+ 'BQ' => COUNTRIES3['BES'],
286
+ 'BA' => COUNTRIES3['BIH'],
287
+ 'BW' => COUNTRIES3['BWA'],
288
+ 'BV' => COUNTRIES3['BVT'],
289
+ 'BR' => COUNTRIES3['BRA'],
290
+ 'IO' => COUNTRIES3['IOT'],
291
+ 'BN' => COUNTRIES3['BRN'],
292
+ 'BG' => COUNTRIES3['BGR'],
293
+ 'BF' => COUNTRIES3['BFA'],
294
+ 'BI' => COUNTRIES3['BDI'],
295
+ 'CV' => COUNTRIES3['CPV'],
296
+ 'KH' => COUNTRIES3['KHM'],
297
+ 'CM' => COUNTRIES3['CMR'],
298
+ 'CA' => COUNTRIES3['CAN'],
299
+ 'KY' => COUNTRIES3['CYM'],
300
+ 'CF' => COUNTRIES3['CAF'],
301
+ 'TD' => COUNTRIES3['TCD'],
302
+ 'CL' => COUNTRIES3['CHL'],
303
+ 'CN' => COUNTRIES3['CHN'],
304
+ 'CX' => COUNTRIES3['CXR'],
305
+ 'CC' => COUNTRIES3['CCK'],
306
+ 'CO' => COUNTRIES3['COL'],
307
+ 'KM' => COUNTRIES3['COM'],
308
+ 'CG' => COUNTRIES3['COG'],
309
+ 'CD' => COUNTRIES3['COD'],
310
+ 'CK' => COUNTRIES3['COK'],
311
+ 'CR' => COUNTRIES3['CRI'],
312
+ 'CI' => COUNTRIES3['CIV'],
313
+ 'HR' => COUNTRIES3['HRV'],
314
+ 'CU' => COUNTRIES3['CUB'],
315
+ 'CW' => COUNTRIES3['CUW'],
316
+ 'CY' => COUNTRIES3['CYP'],
317
+ 'CZ' => COUNTRIES3['CZE'],
318
+ 'DK' => COUNTRIES3['DNK'],
319
+ 'DJ' => COUNTRIES3['DJI'],
320
+ 'DM' => COUNTRIES3['DMA'],
321
+ 'DO' => COUNTRIES3['DOM'],
322
+ 'EC' => COUNTRIES3['ECU'],
323
+ 'EG' => COUNTRIES3['EGY'],
324
+ 'SV' => COUNTRIES3['SLV'],
325
+ 'GQ' => COUNTRIES3['GNQ'],
326
+ 'ER' => COUNTRIES3['ERI'],
327
+ 'EE' => COUNTRIES3['EST'],
328
+ 'SZ' => COUNTRIES3['SWZ'],
329
+ 'ET' => COUNTRIES3['ETH'],
330
+ 'FK' => COUNTRIES3['FLK'],
331
+ 'FO' => COUNTRIES3['FRO'],
332
+ 'FJ' => COUNTRIES3['FJI'],
333
+ 'FI' => COUNTRIES3['FIN'],
334
+ 'FR' => COUNTRIES3['FRA'],
335
+ 'GF' => COUNTRIES3['GUF'],
336
+ 'PF' => COUNTRIES3['PYF'],
337
+ 'TF' => COUNTRIES3['ATF'],
338
+ 'GA' => COUNTRIES3['GAB'],
339
+ 'GM' => COUNTRIES3['GMB'],
340
+ 'GE' => COUNTRIES3['GEO'],
341
+ 'DE' => COUNTRIES3['DEU'],
342
+ 'GH' => COUNTRIES3['GHA'],
343
+ 'GI' => COUNTRIES3['GIB'],
344
+ 'GR' => COUNTRIES3['GRC'],
345
+ 'GL' => COUNTRIES3['GRL'],
346
+ 'GD' => COUNTRIES3['GRD'],
347
+ 'GP' => COUNTRIES3['GLP'],
348
+ 'GU' => COUNTRIES3['GUM'],
349
+ 'GT' => COUNTRIES3['GTM'],
350
+ 'GG' => COUNTRIES3['GGY'],
351
+ 'GN' => COUNTRIES3['GIN'],
352
+ 'GW' => COUNTRIES3['GNB'],
353
+ 'GY' => COUNTRIES3['GUY'],
354
+ 'HT' => COUNTRIES3['HTI'],
355
+ 'HM' => COUNTRIES3['HMD'],
356
+ 'VA' => COUNTRIES3['VAT'],
357
+ 'HN' => COUNTRIES3['HND'],
358
+ 'HK' => COUNTRIES3['HKG'],
359
+ 'HU' => COUNTRIES3['HUN'],
360
+ 'IS' => COUNTRIES3['ISL'],
361
+ 'IN' => COUNTRIES3['IND'],
362
+ 'ID' => COUNTRIES3['IDN'],
363
+ 'IR' => COUNTRIES3['IRN'],
364
+ 'IQ' => COUNTRIES3['IRQ'],
365
+ 'IE' => COUNTRIES3['IRL'],
366
+ 'IM' => COUNTRIES3['IMN'],
367
+ 'IL' => COUNTRIES3['ISR'],
368
+ 'IT' => COUNTRIES3['ITA'],
369
+ 'JM' => COUNTRIES3['JAM'],
370
+ 'JP' => COUNTRIES3['JPN'],
371
+ 'JE' => COUNTRIES3['JEY'],
372
+ 'JO' => COUNTRIES3['JOR'],
373
+ 'KZ' => COUNTRIES3['KAZ'],
374
+ 'KE' => COUNTRIES3['KEN'],
375
+ 'KI' => COUNTRIES3['KIR'],
376
+ 'KP' => COUNTRIES3['PRK'],
377
+ 'KR' => COUNTRIES3['KOR'],
378
+ 'KW' => COUNTRIES3['KWT'],
379
+ 'KG' => COUNTRIES3['KGZ'],
380
+ 'LA' => COUNTRIES3['LAO'],
381
+ 'LV' => COUNTRIES3['LVA'],
382
+ 'LB' => COUNTRIES3['LBN'],
383
+ 'LS' => COUNTRIES3['LSO'],
384
+ 'LR' => COUNTRIES3['LBR'],
385
+ 'LY' => COUNTRIES3['LBY'],
386
+ 'LI' => COUNTRIES3['LIE'],
387
+ 'LT' => COUNTRIES3['LTU'],
388
+ 'LU' => COUNTRIES3['LUX'],
389
+ 'MO' => COUNTRIES3['MAC'],
390
+ 'MG' => COUNTRIES3['MDG'],
391
+ 'MW' => COUNTRIES3['MWI'],
392
+ 'MY' => COUNTRIES3['MYS'],
393
+ 'MV' => COUNTRIES3['MDV'],
394
+ 'ML' => COUNTRIES3['MLI'],
395
+ 'MT' => COUNTRIES3['MLT'],
396
+ 'MH' => COUNTRIES3['MHL'],
397
+ 'MQ' => COUNTRIES3['MTQ'],
398
+ 'MR' => COUNTRIES3['MRT'],
399
+ 'MU' => COUNTRIES3['MUS'],
400
+ 'YT' => COUNTRIES3['MYT'],
401
+ 'MX' => COUNTRIES3['MEX'],
402
+ 'FM' => COUNTRIES3['FSM'],
403
+ 'MD' => COUNTRIES3['MDA'],
404
+ 'MC' => COUNTRIES3['MCO'],
405
+ 'MN' => COUNTRIES3['MNG'],
406
+ 'ME' => COUNTRIES3['MNE'],
407
+ 'MS' => COUNTRIES3['MSR'],
408
+ 'MA' => COUNTRIES3['MAR'],
409
+ 'MZ' => COUNTRIES3['MOZ'],
410
+ 'MM' => COUNTRIES3['MMR'],
411
+ 'NA' => COUNTRIES3['NAM'],
412
+ 'NR' => COUNTRIES3['NRU'],
413
+ 'NP' => COUNTRIES3['NPL'],
414
+ 'NL' => COUNTRIES3['NLD'],
415
+ 'NC' => COUNTRIES3['NCL'],
416
+ 'NZ' => COUNTRIES3['NZL'],
417
+ 'NI' => COUNTRIES3['NIC'],
418
+ 'NE' => COUNTRIES3['NER'],
419
+ 'NG' => COUNTRIES3['NGA'],
420
+ 'NU' => COUNTRIES3['NIU'],
421
+ 'NF' => COUNTRIES3['NFK'],
422
+ 'MK' => COUNTRIES3['MKD'],
423
+ 'MP' => COUNTRIES3['MNP'],
424
+ 'NO' => COUNTRIES3['NOR'],
425
+ 'OM' => COUNTRIES3['OMN'],
426
+ 'PK' => COUNTRIES3['PAK'],
427
+ 'PW' => COUNTRIES3['PLW'],
428
+ 'PS' => COUNTRIES3['PSE'],
429
+ 'PA' => COUNTRIES3['PAN'],
430
+ 'PG' => COUNTRIES3['PNG'],
431
+ 'PY' => COUNTRIES3['PRY'],
432
+ 'PE' => COUNTRIES3['PER'],
433
+ 'PH' => COUNTRIES3['PHL'],
434
+ 'PN' => COUNTRIES3['PCN'],
435
+ 'PL' => COUNTRIES3['POL'],
436
+ 'PT' => COUNTRIES3['PRT'],
437
+ 'PR' => COUNTRIES3['PRI'],
438
+ 'QA' => COUNTRIES3['QAT'],
439
+ 'RE' => COUNTRIES3['REU'],
440
+ 'RO' => COUNTRIES3['ROU'],
441
+ 'RU' => COUNTRIES3['RUS'],
442
+ 'RW' => COUNTRIES3['RWA'],
443
+ 'BL' => COUNTRIES3['BLM'],
444
+ 'SH' => COUNTRIES3['SHN'],
445
+ 'KN' => COUNTRIES3['KNA'],
446
+ 'LC' => COUNTRIES3['LCA'],
447
+ 'MF' => COUNTRIES3['MAF'],
448
+ 'PM' => COUNTRIES3['SPM'],
449
+ 'VC' => COUNTRIES3['VCT'],
450
+ 'WS' => COUNTRIES3['WSM'],
451
+ 'SM' => COUNTRIES3['SMR'],
452
+ 'ST' => COUNTRIES3['STP'],
453
+ 'SA' => COUNTRIES3['SAU'],
454
+ 'SN' => COUNTRIES3['SEN'],
455
+ 'RS' => COUNTRIES3['SRB'],
456
+ 'SC' => COUNTRIES3['SYC'],
457
+ 'SL' => COUNTRIES3['SLE'],
458
+ 'SG' => COUNTRIES3['SGP'],
459
+ 'SX' => COUNTRIES3['SXM'],
460
+ 'SK' => COUNTRIES3['SVK'],
461
+ 'SI' => COUNTRIES3['SVN'],
462
+ 'SB' => COUNTRIES3['SLB'],
463
+ 'SO' => COUNTRIES3['SOM'],
464
+ 'ZA' => COUNTRIES3['ZAF'],
465
+ 'GS' => COUNTRIES3['SGS'],
466
+ 'SS' => COUNTRIES3['SSD'],
467
+ 'ES' => COUNTRIES3['ESP'],
468
+ 'LK' => COUNTRIES3['LKA'],
469
+ 'SD' => COUNTRIES3['SDN'],
470
+ 'SR' => COUNTRIES3['SUR'],
471
+ 'SJ' => COUNTRIES3['SJM'],
472
+ 'SE' => COUNTRIES3['SWE'],
473
+ 'CH' => COUNTRIES3['CHE'],
474
+ 'SY' => COUNTRIES3['SYR'],
475
+ 'TW' => COUNTRIES3['TWN'],
476
+ 'TJ' => COUNTRIES3['TJK'],
477
+ 'TZ' => COUNTRIES3['TZA'],
478
+ 'TH' => COUNTRIES3['THA'],
479
+ 'TL' => COUNTRIES3['TLS'],
480
+ 'TG' => COUNTRIES3['TGO'],
481
+ 'TK' => COUNTRIES3['TKL'],
482
+ 'TO' => COUNTRIES3['TON'],
483
+ 'TT' => COUNTRIES3['TTO'],
484
+ 'TN' => COUNTRIES3['TUN'],
485
+ 'TR' => COUNTRIES3['TUR'],
486
+ 'TM' => COUNTRIES3['TKM'],
487
+ 'TC' => COUNTRIES3['TCA'],
488
+ 'TV' => COUNTRIES3['TUV'],
489
+ 'UG' => COUNTRIES3['UGA'],
490
+ 'UA' => COUNTRIES3['UKR'],
491
+ 'AE' => COUNTRIES3['ARE'],
492
+ 'GB' => COUNTRIES3['GBR'],
493
+ 'US' => COUNTRIES3['USA'],
494
+ 'UM' => COUNTRIES3['UMI'],
495
+ 'UY' => COUNTRIES3['URY'],
496
+ 'UZ' => COUNTRIES3['UZB'],
497
+ 'VU' => COUNTRIES3['VUT'],
498
+ 'VE' => COUNTRIES3['VEN'],
499
+ 'VN' => COUNTRIES3['VNM'],
500
+ 'VG' => COUNTRIES3['VGB'],
501
+ 'VI' => COUNTRIES3['VIR'],
502
+ 'WF' => COUNTRIES3['WLF'],
503
+ 'EH' => COUNTRIES3['ESH'],
504
+ 'YE' => COUNTRIES3['YEM'],
505
+ 'ZM' => COUNTRIES3['ZMB'],
506
+ 'ZW' => COUNTRIES3['ZWE']
507
+ }.freeze
508
+
509
+ # TODO: iso3166-2 subdivision codes??
510
+ end
511
+ end
512
+ end