PyHamCTY 1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
pyhamcty/__init__.py ADDED
@@ -0,0 +1,7 @@
1
+ # ruff: noqa: F403
2
+ # © 2026 by Andreas Schawo is licensed under CC BY-SA 4.0.
3
+ # To view a copy of this licence, visit http://creativecommons.org/licenses/by-sa/4.0/
4
+ from importlib import metadata
5
+ from .cty import *
6
+
7
+ __version__ = metadata.version("pyhamcty")
pyhamcty/__main__.py ADDED
@@ -0,0 +1,41 @@
1
+ # © 2026 by Andreas Schawo is licensed under CC BY-SA 4.0.
2
+ # To view a copy of this licence, visit http://creativecommons.org/licenses/by-sa/4.0/
3
+
4
+ import sys
5
+
6
+ from pyhamcty import CountryData, __version__, load_current, CtyType
7
+
8
+
9
+ def run(call: str = "VERSION", cty_file: str | None = None):
10
+ print(f"PyHamCTY: {__version__}")
11
+ cty = CountryData(cty_file)
12
+ print(f"Version: {cty.version}, memory size {cty.sizeof() / 1024:0.1f} kB")
13
+ call = call.strip().upper()
14
+ print(f'Call "{call}" has {cty.country(call)}')
15
+
16
+
17
+ def main():
18
+ if len(sys.argv) > 1:
19
+ call = sys.argv[1]
20
+ if call in ("-c", "-b"):
21
+ if not len(sys.argv) > 2:
22
+ sys.exit("Missing path to store data file!")
23
+ cty_file = sys.argv[2]
24
+ cty_type = CtyType.CTY
25
+ if call == "-b":
26
+ cty_type = CtyType.BigCTY
27
+ print(f"Loading {cty_type.name} file...")
28
+ load_current(cty_file, cty_type)
29
+ print(f"Stored {cty_type.name} file in: {cty_file}")
30
+ return
31
+ cty_file = None
32
+ if len(sys.argv) > 2:
33
+ cty_file = sys.argv[2]
34
+ run(call, cty_file)
35
+ return
36
+
37
+ run()
38
+
39
+
40
+ if __name__ == "__main__":
41
+ main()
pyhamcty/cty.py ADDED
@@ -0,0 +1,264 @@
1
+ # © 2026 by Andreas Schawo is licensed under CC BY-SA 4.0.
2
+ # To view a copy of this licence, visit http://creativecommons.org/licenses/by-sa/4.0/
3
+
4
+ import csv
5
+ import os
6
+ import pickle
7
+ import re
8
+ import sys
9
+ from collections.abc import Generator
10
+ from dataclasses import dataclass
11
+ from enum import Enum
12
+
13
+ import requests
14
+
15
+ CTY_SERVER = "https://www.country-files.com"
16
+
17
+
18
+ class CtyType(Enum):
19
+ """The type of CTY file to download"""
20
+
21
+ CTY = "cty"
22
+ BigCTY = "bigcty"
23
+
24
+
25
+ @dataclass
26
+ class Country:
27
+ code: str # the primary country prefix
28
+ name: str # the country name
29
+ dxcc: int # the dxcc number for the country
30
+ continent: str # two letter continent code
31
+ cq: int # the CQ numer
32
+ itu: int # the ITU number
33
+ lat: float # latitude of the country centre
34
+ lon: float # longitude of the country centre
35
+ time_off: float # UTC offset for the country
36
+ not_dxcc: bool # if the country does not have an own DXCC
37
+
38
+
39
+ @dataclass
40
+ class OverrideData:
41
+ code: str
42
+ cq_or: int = 0
43
+ itu_or: int = 0
44
+ loc_or: tuple[float, float] = (0.0, 0.0)
45
+ cnt_or: str = ""
46
+ tz_or: float = 0
47
+
48
+
49
+ class CountryNotFoundException(Exception):
50
+ pass
51
+
52
+
53
+ class CountryDataDownloadException(Exception):
54
+ pass
55
+
56
+
57
+ class CountryDataWriteError(Exception):
58
+ pass
59
+
60
+
61
+ def load_current(cty_path: str, cty_type: CtyType = CtyType.CTY):
62
+ """Download most recent CTY database
63
+ :param cty_path: the path to store the data file
64
+ :param cty_type: the type of CTY file to download
65
+ :raise CountryDataDownloadException: if the data could not be loaded
66
+ :raise CountryDataWriteError: if the data could not be written to `cty_path`
67
+ """
68
+
69
+ try:
70
+ req = requests.get(f"{CTY_SERVER}/{cty_type.value}/cty.csv")
71
+ if req.status_code != requests.codes.ok:
72
+ raise CountryDataDownloadException(f"unable to download country data from server: code {req.status_code}")
73
+
74
+ with open(cty_path, "wb") as cty_f:
75
+ cty_f.write(req.content)
76
+ except requests.exceptions.ConnectionError:
77
+ raise CountryDataDownloadException("could not connect to server for country data") from None
78
+ except OSError as exc:
79
+ raise CountryDataWriteError(str(exc)) from None
80
+
81
+
82
+ class CountryData:
83
+ """Loads country data from a cty CSV file
84
+ Provides search for prefix, country code and country data by a given callsign"""
85
+
86
+ # noinspection RegExpRedundantEscape
87
+ RE_OVERRIDES = re.compile(
88
+ r"([A-Z0-9/=]+)"
89
+ r"(?:\((\d+)\))?" # CQ override
90
+ r"(?:\[(\d+)\])?" # ITU override
91
+ r"(?:<(-?\d+.\d/-?\d+.\d)>)?" # Location override
92
+ r"(?:{(\w+)})?" # Continent override
93
+ r"(?:~(-?\d+.\d)~)?" # TZ override
94
+ r".*"
95
+ )
96
+
97
+ def __init__(self, cty_file: str | None = None):
98
+ # Holds the main country data indexed by country code
99
+ self.__countries__: dict[str, Country] = {}
100
+ # Holds override data and country code indexed by prefixes
101
+ self.__prefixes__: dict[str, OverrideData] = {}
102
+ # Holds a sorted list of all possible prefixes
103
+ self.__pfx_list__ = []
104
+ # Holds override data and country code indexed by callsigns (exact matches)
105
+ self.__calls__: dict[str, OverrideData] = {}
106
+ # Holds the data version string
107
+ self.__data_ver__ = ""
108
+
109
+ if not cty_file:
110
+ cty_file = os.path.join(str(os.path.dirname(__file__)), "data/cty.csv")
111
+ self.__load__(cty_file)
112
+
113
+ def __load__(self, cty_file: str):
114
+ """Loads the cty data file and builds the internal data structure
115
+ :param cty_file: the cty data in CSV format"""
116
+ with open(cty_file) as cty_f:
117
+ cty = csv.reader(cty_f, delimiter=",")
118
+ for row in cty:
119
+ # e.g. `1A,Sov Mil Order of Malta,246,EU,15,28,41.90,-12.43,-1.0,1A;`
120
+ not_dxcc = row[0][0] == "*"
121
+ row[0] = row[0].replace("*", "")
122
+ self.__countries__[row[0]] = Country(
123
+ row[0],
124
+ row[1],
125
+ int(row[2]),
126
+ row[3],
127
+ int(row[4]),
128
+ int(row[5]),
129
+ float(row[6]),
130
+ -float(row[7]),
131
+ float(row[8]),
132
+ not_dxcc,
133
+ )
134
+ self.__load_pfx__(row[0], row[9])
135
+
136
+ self.__pfx_list__ = sorted(self.__prefixes__)
137
+
138
+ def __load_pfx__(self, cty_code: str, prefixes: str):
139
+ """Loads the prefix/exact matches part of the definition"""
140
+ for pfx in prefixes[:-1].split():
141
+ data = OverrideData(cty_code)
142
+
143
+ pfx_parts = re.findall(self.RE_OVERRIDES, pfx)[0]
144
+ pfx, cq_or, itu_or, loc_or, cnt_or, tz_or = pfx_parts
145
+ if cq_or:
146
+ data.cq_or = int(cq_or)
147
+ if itu_or:
148
+ data.itu_or = int(itu_or)
149
+ if loc_or:
150
+ loc = [float(ln) for ln in loc_or.split("/")]
151
+ data.loc_or = (loc[0], -loc[1])
152
+ if cnt_or:
153
+ data.cnt_or = cnt_or
154
+ if tz_or:
155
+ data.tz_or = float(tz_or)
156
+
157
+ if pfx.startswith("="):
158
+ if cty_code == "VE" and pfx.startswith("=VER"):
159
+ self.__data_ver__ = pfx[1:]
160
+ continue
161
+ if pfx[1:] not in self.__calls__:
162
+ # Callsign can be doubled, only the first is correct
163
+ self.__calls__[pfx[1:]] = data
164
+ else:
165
+ self.__prefixes__[pfx] = data
166
+
167
+ @property
168
+ def version(self) -> str:
169
+ """Get the version of the data file"""
170
+ return self.__data_ver__
171
+
172
+ def prefix(self, call: str) -> str:
173
+ """Get the prefix of a callsign
174
+ :param call: the callsign (upper or lowercase)
175
+ :return: the prefix"""
176
+
177
+ call = call.upper()
178
+ pfx = ""
179
+ for i in range(1, len(call) + 1):
180
+ if call[:i] in self.__pfx_list__:
181
+ pfx = call[:i]
182
+ # Todo: Empty prefix should raise an exception
183
+ return pfx
184
+
185
+ def _cty_code_(self, call: str) -> OverrideData:
186
+ """Get the country code for a callsign
187
+ :param call: the callsign (upper or lowercase)
188
+ :return: the country code and override data
189
+ :raise CountryNotFoundException: if country can not be resolved from call"""
190
+
191
+ if call.upper() in self.__calls__: # First try exact match
192
+ return self.__calls__[call.upper()]
193
+ else:
194
+ # then try via prefix
195
+ pfx = self.prefix(call.upper())
196
+ if pfx:
197
+ return self.__prefixes__[pfx]
198
+
199
+ raise CountryNotFoundException(f'for "{call}"')
200
+
201
+ def country(self, call: str) -> Country:
202
+ """Get the country data from a callsign
203
+ :param call: the callsign (upper or lowercase)
204
+ :return: the country data
205
+ :raise CountryNotFoundException: if country can not be resolved from call"""
206
+
207
+ data = self._cty_code_(call)
208
+ cty_data: Country = self.__countries__[data.code]
209
+ if data.cq_or:
210
+ cty_data.cq = data.cq_or
211
+ if data.itu_or:
212
+ cty_data.itu = data.itu_or
213
+ if all(data.loc_or):
214
+ cty_data.lat = data.loc_or[0]
215
+ cty_data.lon = data.loc_or[1]
216
+ if data.cnt_or:
217
+ cty_data.continent = data.cnt_or
218
+ if data.tz_or:
219
+ cty_data.time_off = data.tz_or
220
+
221
+ return cty_data
222
+
223
+ @property
224
+ def countries(self) -> Generator:
225
+ """An iterator over all available countries"""
226
+ for c in self.__countries__.values():
227
+ yield c.name
228
+
229
+ def sizeof(self) -> int:
230
+ """Returns the sum of size in memory of all internal data in bytes"""
231
+ return (
232
+ sys.getsizeof(self)
233
+ + sys.getsizeof(self.__countries__)
234
+ + sys.getsizeof(self.__calls__)
235
+ + sys.getsizeof(self.__pfx_list__)
236
+ + sys.getsizeof(self.__data_ver__)
237
+ )
238
+
239
+
240
+ def dump_pickle(cd: CountryData, pickle_path: str):
241
+ """Store the country database in a pickle file which will be faster loaded as the csv
242
+ :param cd: the `CountryDatabase` to store
243
+ :param pickle_path: the path to the pickle file"""
244
+ with open(pickle_path, "wb") as pf:
245
+ pickle.dump(cd, pf)
246
+
247
+
248
+ def load_pickle(pickle_path: str) -> CountryData:
249
+ """Restore the country database from a pickle file which will be faster loaded as the csv
250
+ :param pickle_path: the path to the pickle file"""
251
+ with open(pickle_path, "rb") as pf:
252
+ return pickle.load(pf)
253
+
254
+
255
+ __all__ = [
256
+ "CountryData",
257
+ "load_current",
258
+ "dump_pickle",
259
+ "load_pickle",
260
+ "CtyType",
261
+ "CountryNotFoundException",
262
+ "CountryDataWriteError",
263
+ "CountryDataDownloadException",
264
+ ]
@@ -0,0 +1,297 @@
1
+ 15 September 2026 (CTY-3631)
2
+ VER20260915, Version entity is Rotuma Island, 3D2/r
3
+
4
+ Added/changed Entities/Prefixes/Callsigns:
5
+
6
+ * GM4AFF/P and GM5E are both Shetland Islands, *GM/s
7
+ * EA5PC/9 is Ceuta & Melilla, EA9
8
+ * GB2DCI is Northern Ireland, GI
9
+ * GB0AFT, GB0DPC, GB0DPK, GB2KDC, GB9GVC, GB9HRC and GM4AFF/P are all Scotland, GM
10
+ * GB2SCC and GB4SPP are both Wales, GW
11
+ * I/DF9HC is Sardinia, IS
12
+ * W4WJK is United States, K in CQ zone 3, ITU zone 6
13
+ * K7KX and NL7RQ/5 are both United States, K in CQ zone 4, ITU zone 7
14
+ * W4DTA is United States, K in CQ zone 4, ITU zone 8
15
+ * W7CSA is United States, K in CQ zone 5, ITU zone 8
16
+ * KH8K is Guam, KH2
17
+ * KZ6VT is Hawaii, KH6
18
+ * KG7SEQ and KR0NIK are both Alaska, KL
19
+ * W4ASC is Puerto Rico, KP4
20
+ * LU4HNE/H is Argentina, LU
21
+ * R0XAJ/1, R70SAB, R73SLET, RA9FRD/3 and RD0L/3 are all European Russia, UA
22
+ * RG0C/P is in ITU zone 34, not ITU zone 23
23
+ * RA0QK/8 is Asiatic Russia, UA9
24
+ * R1QD/8 is Asiatic Russia, UA9 in ITU zone 20
25
+ * R3LA/0 is Asiatic Russia, UA9 in CQ zone 18, ITU zone 31
26
+ * RX0TX/P is Asiatic Russia, UA9 in CQ zone 18, ITU zone 33
27
+ * RA8CP/0 is Asiatic Russia, UA9 in CQ zone 19, ITU zone 24
28
+ * ZL1RPC/F is New Zealand, ZL
29
+
30
+ Removed Entities/Prefixes/Callsigns:
31
+
32
+ * 3H0A, 3H0B, 3H0C, 3H0D, 3H0E, 3H0F, 3H0G, 3H0H, 3H0I, 3H0J, 3H0K,
33
+ 3H0L, 3H1, 3H2A, 3H2B, 3H2C, 3H2D, 3H2E, 3H2F, 3H2G, 3H2H, 3H2I, 3H2J,
34
+ 3H2K, 3H2L, 3H2M, 3H2N, 3H2O, 3H2P, 3H2Q, 3H2R, 3H2S, 3H2T, 3H2U, 3H2V,
35
+ 3H2W, 3H2X, 3H3A, 3H3B, 3H3C, 3H3D, 3H3E, 3H3F, 3H3G, 3H3H, 3H3I, 3H3J,
36
+ 3H3K, 3H3L, 3H3M, 3H3N, 3H3O, 3H3P, 3H3Q, 3H3R, 3H3S, 3H3T, 3H3U, 3H3V,
37
+ 3H3W, 3H3X, 3H4A, 3H4B, 3H4C, 3H4D, 3H4E, 3H4F, 3H4G, 3H4H, 3H4I, 3H4J,
38
+ 3H4K, 3H4L, 3H4M, 3H4N, 3H4O, 3H4P, 3H4Q, 3H4R, 3H4S, 3H4T, 3H4U, 3H4V,
39
+ 3H4W, 3H4X, 3H5A, 3H5B, 3H5C, 3H5D, 3H5E, 3H5F, 3H5G, 3H5H, 3H5I, 3H5J,
40
+ 3H5K, 3H5L, 3H5M, 3H5N, 3H5O, 3H5P, 3H5Q, 3H5R, 3H5S, 3H5T, 3H5U, 3H5V,
41
+ 3H5W, 3H5X, 3H6A, 3H6B, 3H6C, 3H6D, 3H6E, 3H6F, 3H6G, 3H6H, 3H6I, 3H6J,
42
+ 3H6K, 3H6L, 3H6M, 3H6N, 3H6O, 3H6P, 3H6Q, 3H6R, 3H6S, 3H6T, 3H6U, 3H6V,
43
+ 3H6W, 3H6X, 3H7A, 3H7B, 3H7C, 3H7D, 3H7E, 3H7F, 3H7G, 3H7H, 3H7I, 3H7J,
44
+ 3H7K, 3H7L, 3H7M, 3H7N, 3H7O, 3H7P, 3H7Q, 3H7R, 3H7S, 3H7T, 3H7U, 3H7V,
45
+ 3H7W, 3H7X, 3H7Y, 3H8A, 3H8B, 3H8C, 3H8D, 3H8E, 3H8F, 3H8G, 3H8H, 3H8I,
46
+ 3H8J, 3H8K, 3H8L, 3H8M, 3H8N, 3H8O, 3H8P, 3H8Q, 3H8R, 3H8S, 3H8T, 3H8U,
47
+ 3H8V, 3H8W, 3H8X, 3H9A, 3H9B, 3H9C, 3H9D, 3H9E, 3H9F, 3H9G, 3H9H, 3H9I,
48
+ 3H9J, 3H9K, 3H9L, 3H9M, 3H9N, 3H9O, 3H9P, 3H9Q, 3H9R, 3H9S, 3H9T, 3H9U,
49
+ 3H9V, 3H9W, 3H9X, 3I0A, 3I0B, 3I0C, 3I0D, 3I0E, 3I0F, 3I0G, 3I0H, 3I0I,
50
+ 3I0J, 3I0K, 3I0L, 3I1, 3I2A, 3I2B, 3I2C, 3I2D, 3I2E, 3I2F, 3I2G, 3I2H,
51
+ 3I2I, 3I2J, 3I2K, 3I2L, 3I2M, 3I2N, 3I2O, 3I2P, 3I2Q, 3I2R, 3I2S, 3I2T,
52
+ 3I2U, 3I2V, 3I2W, 3I2X, 3I3A, 3I3B, 3I3C, 3I3D, 3I3E, 3I3F, 3I3G, 3I3H,
53
+ 3I3I, 3I3J, 3I3K, 3I3L, 3I3M, 3I3N, 3I3O, 3I3P, 3I3Q, 3I3R, 3I3S, 3I3T,
54
+ 3I3U, 3I3V, 3I3W, 3I3X, 3I4A, 3I4B, 3I4C, 3I4D, 3I4E, 3I4F, 3I4G, 3I4H,
55
+ 3I4I, 3I4J, 3I4K, 3I4L, 3I4M, 3I4N, 3I4O, 3I4P, 3I4Q, 3I4R, 3I4S, 3I4T,
56
+ 3I4U, 3I4V, 3I4W, 3I4X, 3I5A, 3I5B, 3I5C, 3I5D, 3I5E, 3I5F, 3I5G, 3I5H,
57
+ 3I5I, 3I5J, 3I5K, 3I5L, 3I5M, 3I5N, 3I5O, 3I5P, 3I5Q, 3I5R, 3I5S, 3I5T,
58
+ 3I5U, 3I5V, 3I5W, 3I5X, 3I6A, 3I6B, 3I6C, 3I6D, 3I6E, 3I6F, 3I6G, 3I6H,
59
+ 3I6I, 3I6J, 3I6K, 3I6L, 3I6M, 3I6N, 3I6O, 3I6P, 3I6Q, 3I6R, 3I6S, 3I6T,
60
+ 3I6U, 3I6V, 3I6W, 3I6X, 3I7A, 3I7B, 3I7C, 3I7D, 3I7E, 3I7F, 3I7G, 3I7H,
61
+ 3I7I, 3I7J, 3I7K, 3I7L, 3I7M, 3I7N, 3I7O, 3I7P, 3I7Q, 3I7R, 3I7S, 3I7T,
62
+ 3I7U, 3I7V, 3I7W, 3I7X, 3I7Y, 3I8A, 3I8B, 3I8C, 3I8D, 3I8E, 3I8F, 3I8G,
63
+ 3I8H, 3I8I, 3I8J, 3I8K, 3I8L, 3I8M, 3I8N, 3I8O, 3I8P, 3I8Q, 3I8R, 3I8S,
64
+ 3I8T, 3I8U, 3I8V, 3I8W, 3I8X, 3I9A, 3I9B, 3I9C, 3I9D, 3I9E, 3I9F, 3I9G,
65
+ 3I9H, 3I9I, 3I9J, 3I9K, 3I9L, 3I9M, 3I9N, 3I9O, 3I9P, 3I9Q, 3I9R, 3I9S,
66
+ 3I9T, 3I9U, 3I9V, 3I9W, 3I9X, 3J0A, 3J0B, 3J0C, 3J0D, 3J0E, 3J0F, 3J0G,
67
+ 3J0H, 3J0I, 3J0J, 3J0K, 3J0L, 3J1, 3J2A, 3J2B, 3J2C, 3J2D, 3J2E, 3J2F,
68
+ 3J2G, 3J2H, 3J2I, 3J2J, 3J2K, 3J2L, 3J2M, 3J2N, 3J2O, 3J2P, 3J2Q, 3J2R,
69
+ 3J2S, 3J2T, 3J2U, 3J2V, 3J2W, 3J2X, 3J3A, 3J3B, 3J3C, 3J3D, 3J3E, 3J3F,
70
+ 3J3G, 3J3H, 3J3I, 3J3J, 3J3K, 3J3L, 3J3M, 3J3N, 3J3O, 3J3P, 3J3Q, 3J3R,
71
+ 3J3S, 3J3T, 3J3U, 3J3V, 3J3W, 3J3X, 3J4A, 3J4B, 3J4C, 3J4D, 3J4E, 3J4F,
72
+ 3J4G, 3J4H, 3J4I, 3J4J, 3J4K, 3J4L, 3J4M, 3J4N, 3J4O, 3J4P, 3J4Q, 3J4R,
73
+ 3J4S, 3J4T, 3J4U, 3J4V, 3J4W, 3J4X, 3J5A, 3J5B, 3J5C, 3J5D, 3J5E, 3J5F,
74
+ 3J5G, 3J5H, 3J5I, 3J5J, 3J5K, 3J5L, 3J5M, 3J5N, 3J5O, 3J5P, 3J5Q, 3J5R,
75
+ 3J5S, 3J5T, 3J5U, 3J5V, 3J5W, 3J5X, 3J6A, 3J6B, 3J6C, 3J6D, 3J6E, 3J6F,
76
+ 3J6G, 3J6H, 3J6I, 3J6J, 3J6K, 3J6L, 3J6M, 3J6N, 3J6O, 3J6P, 3J6Q, 3J6R,
77
+ 3J6S, 3J6T, 3J6U, 3J6V, 3J6W, 3J6X, 3J7A, 3J7B, 3J7C, 3J7D, 3J7E, 3J7F,
78
+ 3J7G, 3J7H, 3J7I, 3J7J, 3J7K, 3J7L, 3J7M, 3J7N, 3J7O, 3J7P, 3J7Q, 3J7R,
79
+ 3J7S, 3J7T, 3J7U, 3J7V, 3J7W, 3J7X, 3J7Y, 3J8A, 3J8B, 3J8C, 3J8D, 3J8E,
80
+ 3J8F, 3J8G, 3J8H, 3J8I, 3J8J, 3J8K, 3J8L, 3J8M, 3J8N, 3J8O, 3J8P, 3J8Q,
81
+ 3J8R, 3J8S, 3J8T, 3J8U, 3J8V, 3J8W, 3J8X, 3J9A, 3J9B, 3J9C, 3J9D, 3J9E,
82
+ 3J9F, 3J9G, 3J9H, 3J9I, 3J9J, 3J9K, 3J9L, 3J9M, 3J9N, 3J9O, 3J9P, 3J9Q,
83
+ 3J9R, 3J9S, 3J9T, 3J9U, 3J9V, 3J9W, 3J9X, 3K0A, 3K0B, 3K0C, 3K0D, 3K0E,
84
+ 3K0F, 3K0G, 3K0H, 3K0I, 3K0J, 3K0K, 3K0L, 3K1, 3K2A, 3K2B, 3K2C, 3K2D,
85
+ 3K2E, 3K2F, 3K2G, 3K2H, 3K2I, 3K2J, 3K2K, 3K2L, 3K2M, 3K2N, 3K2O, 3K2P,
86
+ 3K2Q, 3K2R, 3K2S, 3K2T, 3K2U, 3K2V, 3K2W, 3K2X, 3K3A, 3K3B, 3K3C, 3K3D,
87
+ 3K3E, 3K3F, 3K3G, 3K3H, 3K3I, 3K3J, 3K3K, 3K3L, 3K3M, 3K3N, 3K3O, 3K3P,
88
+ 3K3Q, 3K3R, 3K3S, 3K3T, 3K3U, 3K3V, 3K3W, 3K3X, 3K4A, 3K4B, 3K4C, 3K4D,
89
+ 3K4E, 3K4F, 3K4G, 3K4H, 3K4I, 3K4J, 3K4K, 3K4L, 3K4M, 3K4N, 3K4O, 3K4P,
90
+ 3K4Q, 3K4R, 3K4S, 3K4T, 3K4U, 3K4V, 3K4W, 3K4X, 3K5A, 3K5B, 3K5C, 3K5D,
91
+ 3K5E, 3K5F, 3K5G, 3K5H, 3K5I, 3K5J, 3K5K, 3K5L, 3K5M, 3K5N, 3K5O, 3K5P,
92
+ 3K5Q, 3K5R, 3K5S, 3K5T, 3K5U, 3K5V, 3K5W, 3K5X, 3K6A, 3K6B, 3K6C, 3K6D,
93
+ 3K6E, 3K6F, 3K6G, 3K6H, 3K6I, 3K6J, 3K6K, 3K6L, 3K6M, 3K6N, 3K6O, 3K6P,
94
+ 3K6Q, 3K6R, 3K6S, 3K6T, 3K6U, 3K6V, 3K6W, 3K6X, 3K7A, 3K7B, 3K7C, 3K7D,
95
+ 3K7E, 3K7F, 3K7G, 3K7H, 3K7I, 3K7J, 3K7K, 3K7L, 3K7M, 3K7N, 3K7O, 3K7P,
96
+ 3K7Q, 3K7R, 3K7S, 3K7T, 3K7U, 3K7V, 3K7W, 3K7X, 3K7Y, 3K8A, 3K8B, 3K8C,
97
+ 3K8D, 3K8E, 3K8F, 3K8G, 3K8H, 3K8I, 3K8J, 3K8K, 3K8L, 3K8M, 3K8N, 3K8O,
98
+ 3K8P, 3K8Q, 3K8R, 3K8S, 3K8T, 3K8U, 3K8V, 3K8W, 3K8X, 3K9A, 3K9B, 3K9C,
99
+ 3K9D, 3K9E, 3K9F, 3K9G, 3K9H, 3K9I, 3K9J, 3K9K, 3K9L, 3K9M, 3K9N, 3K9O,
100
+ 3K9P, 3K9Q, 3K9R, 3K9S, 3K9T, 3K9U, 3K9V, 3K9W, 3K9X, 3L0A, 3L0B, 3L0C,
101
+ 3L0D, 3L0E, 3L0F, 3L0G, 3L0H, 3L0I, 3L0J, 3L0K, 3L0L, 3L1, 3L2A, 3L2B,
102
+ 3L2C, 3L2D, 3L2E, 3L2F, 3L2G, 3L2H, 3L2I, 3L2J, 3L2K, 3L2L, 3L2M, 3L2N,
103
+ 3L2O, 3L2P, 3L2Q, 3L2R, 3L2S, 3L2T, 3L2U, 3L2V, 3L2W, 3L2X, 3L3A, 3L3B,
104
+ 3L3C, 3L3D, 3L3E, 3L3F, 3L3G, 3L3H, 3L3I, 3L3J, 3L3K, 3L3L, 3L3M, 3L3N,
105
+ 3L3O, 3L3P, 3L3Q, 3L3R, 3L3S, 3L3T, 3L3U, 3L3V, 3L3W, 3L3X, 3L4A, 3L4B,
106
+ 3L4C, 3L4D, 3L4E, 3L4F, 3L4G, 3L4H, 3L4I, 3L4J, 3L4K, 3L4L, 3L4M, 3L4N,
107
+ 3L4O, 3L4P, 3L4Q, 3L4R, 3L4S, 3L4T, 3L4U, 3L4V, 3L4W, 3L4X, 3L5A, 3L5B,
108
+ 3L5C, 3L5D, 3L5E, 3L5F, 3L5G, 3L5H, 3L5I, 3L5J, 3L5K, 3L5L, 3L5M, 3L5N,
109
+ 3L5O, 3L5P, 3L5Q, 3L5R, 3L5S, 3L5T, 3L5U, 3L5V, 3L5W, 3L5X, 3L6A, 3L6B,
110
+ 3L6C, 3L6D, 3L6E, 3L6F, 3L6G, 3L6H, 3L6I, 3L6J, 3L6K, 3L6L, 3L6M, 3L6N,
111
+ 3L6O, 3L6P, 3L6Q, 3L6R, 3L6S, 3L6T, 3L6U, 3L6V, 3L6W, 3L6X, 3L7A, 3L7B,
112
+ 3L7C, 3L7D, 3L7E, 3L7F, 3L7G, 3L7H, 3L7I, 3L7J, 3L7K, 3L7L, 3L7M, 3L7N,
113
+ 3L7O, 3L7P, 3L7Q, 3L7R, 3L7S, 3L7T, 3L7U, 3L7V, 3L7W, 3L7X, 3L7Y, 3L8A,
114
+ 3L8B, 3L8C, 3L8D, 3L8E, 3L8F, 3L8G, 3L8H, 3L8I, 3L8J, 3L8K, 3L8L, 3L8M,
115
+ 3L8N, 3L8O, 3L8P, 3L8Q, 3L8R, 3L8S, 3L8T, 3L8U, 3L8V, 3L8W, 3L8X, 3L9A,
116
+ 3L9B, 3L9C, 3L9D, 3L9E, 3L9F, 3L9G, 3L9H, 3L9I, 3L9J, 3L9K, 3L9L, 3L9M,
117
+ 3L9N, 3L9O, 3L9P, 3L9Q, 3L9R, 3L9S, 3L9T, 3L9U, 3L9V, 3L9W, 3L9X, 3M0A,
118
+ 3M0B, 3M0C, 3M0D, 3M0E, 3M0F, 3M0G, 3M0H, 3M0I, 3M0J, 3M0K, 3M0L, 3M1,
119
+ 3M2A, 3M2B, 3M2C, 3M2D, 3M2E, 3M2F, 3M2G, 3M2H, 3M2I, 3M2J, 3M2K, 3M2L,
120
+ 3M2M, 3M2N, 3M2O, 3M2P, 3M2Q, 3M2R, 3M2S, 3M2T, 3M2U, 3M2V, 3M2W, 3M2X,
121
+ 3M3A, 3M3B, 3M3C, 3M3D, 3M3E, 3M3F, 3M3G, 3M3H, 3M3I, 3M3J, 3M3K, 3M3L,
122
+ 3M3M, 3M3N, 3M3O, 3M3P, 3M3Q, 3M3R, 3M3S, 3M3T, 3M3U, 3M3V, 3M3W, 3M3X,
123
+ 3M4A, 3M4B, 3M4C, 3M4D, 3M4E, 3M4F, 3M4G, 3M4H, 3M4I, 3M4J, 3M4K, 3M4L,
124
+ 3M4M, 3M4N, 3M4O, 3M4P, 3M4Q, 3M4R, 3M4S, 3M4T, 3M4U, 3M4V, 3M4W, 3M4X,
125
+ 3M5A, 3M5B, 3M5C, 3M5D, 3M5E, 3M5F, 3M5G, 3M5H, 3M5I, 3M5J, 3M5K, 3M5L,
126
+ 3M5M, 3M5N, 3M5O, 3M5P, 3M5Q, 3M5R, 3M5S, 3M5T, 3M5U, 3M5V, 3M5W, 3M5X,
127
+ 3M6A, 3M6B, 3M6C, 3M6D, 3M6E, 3M6F, 3M6G, 3M6H, 3M6I, 3M6J, 3M6K, 3M6L,
128
+ 3M6M, 3M6N, 3M6O, 3M6P, 3M6Q, 3M6R, 3M6S, 3M6T, 3M6U, 3M6V, 3M6W, 3M6X,
129
+ 3M7A, 3M7B, 3M7C, 3M7D, 3M7E, 3M7F, 3M7G, 3M7H, 3M7I, 3M7J, 3M7K, 3M7L,
130
+ 3M7M, 3M7N, 3M7O, 3M7P, 3M7Q, 3M7R, 3M7S, 3M7T, 3M7U, 3M7V, 3M7W, 3M7X,
131
+ 3M7Y, 3M8A, 3M8B, 3M8C, 3M8D, 3M8E, 3M8F, 3M8G, 3M8H, 3M8I, 3M8J, 3M8K,
132
+ 3M8L, 3M8M, 3M8N, 3M8O, 3M8P, 3M8Q, 3M8R, 3M8S, 3M8T, 3M8U, 3M8V, 3M8W,
133
+ 3M8X, 3M9A, 3M9B, 3M9C, 3M9D, 3M9E, 3M9F, 3M9G, 3M9H, 3M9I, 3M9J, 3M9K,
134
+ 3M9L, 3M9M, 3M9N, 3M9O, 3M9P, 3M9Q, 3M9R, 3M9S, 3M9T, 3M9U, 3M9V, 3M9W,
135
+ 3M9X, 3N0A, 3N0B, 3N0C, 3N0D, 3N0E, 3N0F, 3N0G, 3N0H, 3N0I, 3N0J, 3N0K,
136
+ 3N0L, 3N1, 3N2A, 3N2B, 3N2C, 3N2D, 3N2E, 3N2F, 3N2G, 3N2H, 3N2I, 3N2J,
137
+ 3N2K, 3N2L, 3N2M, 3N2N, 3N2O, 3N2P, 3N2Q, 3N2R, 3N2S, 3N2T, 3N2U, 3N2V,
138
+ 3N2W, 3N2X, 3N3A, 3N3B, 3N3C, 3N3D, 3N3E, 3N3F, 3N3G, 3N3H, 3N3I, 3N3J,
139
+ 3N3K, 3N3L, 3N3M, 3N3N, 3N3O, 3N3P, 3N3Q, 3N3R, 3N3S, 3N3T, 3N3U, 3N3V,
140
+ 3N3W, 3N3X, 3N4A, 3N4B, 3N4C, 3N4D, 3N4E, 3N4F, 3N4G, 3N4H, 3N4I, 3N4J,
141
+ 3N4K, 3N4L, 3N4M, 3N4N, 3N4O, 3N4P, 3N4Q, 3N4R, 3N4S, 3N4T, 3N4U, 3N4V,
142
+ 3N4W, 3N4X, 3N5A, 3N5B, 3N5C, 3N5D, 3N5E, 3N5F, 3N5G, 3N5H, 3N5I, 3N5J,
143
+ 3N5K, 3N5L, 3N5M, 3N5N, 3N5O, 3N5P, 3N5Q, 3N5R, 3N5S, 3N5T, 3N5U, 3N5V,
144
+ 3N5W, 3N5X, 3N6A, 3N6B, 3N6C, 3N6D, 3N6E, 3N6F, 3N6G, 3N6H, 3N6I, 3N6J,
145
+ 3N6K, 3N6L, 3N6M, 3N6N, 3N6O, 3N6P, 3N6Q, 3N6R, 3N6S, 3N6T, 3N6U, 3N6V,
146
+ 3N6W, 3N6X, 3N7A, 3N7B, 3N7C, 3N7D, 3N7E, 3N7F, 3N7G, 3N7H, 3N7I, 3N7J,
147
+ 3N7K, 3N7L, 3N7M, 3N7N, 3N7O, 3N7P, 3N7Q, 3N7R, 3N7S, 3N7T, 3N7U, 3N7V,
148
+ 3N7W, 3N7X, 3N7Y, 3N8A, 3N8B, 3N8C, 3N8D, 3N8E, 3N8F, 3N8G, 3N8H, 3N8I,
149
+ 3N8J, 3N8K, 3N8L, 3N8M, 3N8N, 3N8O, 3N8P, 3N8Q, 3N8R, 3N8S, 3N8T, 3N8U,
150
+ 3N8V, 3N8W, 3N8X, 3N9A, 3N9B, 3N9C, 3N9D, 3N9E, 3N9F, 3N9G, 3N9H, 3N9I,
151
+ 3N9J, 3N9K, 3N9L, 3N9M, 3N9N, 3N9O, 3N9P, 3N9Q, 3N9R, 3N9S, 3N9T, 3N9U,
152
+ 3N9V, 3N9W, 3N9X, 3O0A, 3O0B, 3O0C, 3O0D, 3O0E, 3O0F, 3O0G, 3O0H, 3O0I,
153
+ 3O0J, 3O0K, 3O0L, 3O1, 3O2A, 3O2B, 3O2C, 3O2D, 3O2E, 3O2F, 3O2G, 3O2H,
154
+ 3O2I, 3O2J, 3O2K, 3O2L, 3O2M, 3O2N, 3O2O, 3O2P, 3O2Q, 3O2R, 3O2S, 3O2T,
155
+ 3O2U, 3O2V, 3O2W, 3O2X, 3O3A, 3O3B, 3O3C, 3O3D, 3O3E, 3O3F, 3O3G, 3O3H,
156
+ 3O3I, 3O3J, 3O3K, 3O3L, 3O3M, 3O3N, 3O3O, 3O3P, 3O3Q, 3O3R, 3O3S, 3O3T,
157
+ 3O3U, 3O3V, 3O3W, 3O3X, 3O4A, 3O4B, 3O4C, 3O4D, 3O4E, 3O4F, 3O4G, 3O4H,
158
+ 3O4I, 3O4J, 3O4K, 3O4L, 3O4M, 3O4N, 3O4O, 3O4P, 3O4Q, 3O4R, 3O4S, 3O4T,
159
+ 3O4U, 3O4V, 3O4W, 3O4X, 3O5A, 3O5B, 3O5C, 3O5D, 3O5E, 3O5F, 3O5G, 3O5H,
160
+ 3O5I, 3O5J, 3O5K, 3O5L, 3O5M, 3O5N, 3O5O, 3O5P, 3O5Q, 3O5R, 3O5S, 3O5T,
161
+ 3O5U, 3O5V, 3O5W, 3O5X, 3O6A, 3O6B, 3O6C, 3O6D, 3O6E, 3O6F, 3O6G, 3O6H,
162
+ 3O6I, 3O6J, 3O6K, 3O6L, 3O6M, 3O6N, 3O6O, 3O6P, 3O6Q, 3O6R, 3O6S, 3O6T,
163
+ 3O6U, 3O6V, 3O6W, 3O6X, 3O7A, 3O7B, 3O7C, 3O7D, 3O7E, 3O7F, 3O7G, 3O7H,
164
+ 3O7I, 3O7J, 3O7K, 3O7L, 3O7M, 3O7N, 3O7O, 3O7P, 3O7Q, 3O7R, 3O7S, 3O7T,
165
+ 3O7U, 3O7V, 3O7W, 3O7X, 3O7Y, 3O8A, 3O8B, 3O8C, 3O8D, 3O8E, 3O8F, 3O8G,
166
+ 3O8H, 3O8I, 3O8J, 3O8K, 3O8L, 3O8M, 3O8N, 3O8O, 3O8P, 3O8Q, 3O8R, 3O8S,
167
+ 3O8T, 3O8U, 3O8V, 3O8W, 3O8X, 3O9A, 3O9B, 3O9C, 3O9D, 3O9E, 3O9F, 3O9G,
168
+ 3O9H, 3O9I, 3O9J, 3O9K, 3O9L, 3O9M, 3O9N, 3O9O, 3O9P, 3O9Q, 3O9R, 3O9S,
169
+ 3O9T, 3O9U, 3O9V, 3O9W, 3O9X, 3P0A, 3P0B, 3P0C, 3P0D, 3P0E, 3P0F, 3P0G,
170
+ 3P0H, 3P0I, 3P0J, 3P0K, 3P0L, 3P1, 3P2A, 3P2B, 3P2C, 3P2D, 3P2E, 3P2F,
171
+ 3P2G, 3P2H, 3P2I, 3P2J, 3P2K, 3P2L, 3P2M, 3P2N, 3P2O, 3P2P, 3P2Q, 3P2R,
172
+ 3P2S, 3P2T, 3P2U, 3P2V, 3P2W, 3P2X, 3P3A, 3P3B, 3P3C, 3P3D, 3P3E, 3P3F,
173
+ 3P3G, 3P3H, 3P3I, 3P3J, 3P3K, 3P3L, 3P3M, 3P3N, 3P3O, 3P3P, 3P3Q, 3P3R,
174
+ 3P3S, 3P3T, 3P3U, 3P3V, 3P3W, 3P3X, 3P4A, 3P4B, 3P4C, 3P4D, 3P4E, 3P4F,
175
+ 3P4G, 3P4H, 3P4I, 3P4J, 3P4K, 3P4L, 3P4M, 3P4N, 3P4O, 3P4P, 3P4Q, 3P4R,
176
+ 3P4S, 3P4T, 3P4U, 3P4V, 3P4W, 3P4X, 3P5A, 3P5B, 3P5C, 3P5D, 3P5E, 3P5F,
177
+ 3P5G, 3P5H, 3P5I, 3P5J, 3P5K, 3P5L, 3P5M, 3P5N, 3P5O, 3P5P, 3P5Q, 3P5R,
178
+ 3P5S, 3P5T, 3P5U, 3P5V, 3P5W, 3P5X, 3P6A, 3P6B, 3P6C, 3P6D, 3P6E, 3P6F,
179
+ 3P6G, 3P6H, 3P6I, 3P6J, 3P6K, 3P6L, 3P6M, 3P6N, 3P6O, 3P6P, 3P6Q, 3P6R,
180
+ 3P6S, 3P6T, 3P6U, 3P6V, 3P6W, 3P6X, 3P7A, 3P7B, 3P7C, 3P7D, 3P7E, 3P7F,
181
+ 3P7G, 3P7H, 3P7I, 3P7J, 3P7K, 3P7L, 3P7M, 3P7N, 3P7O, 3P7P, 3P7Q, 3P7R,
182
+ 3P7S, 3P7T, 3P7U, 3P7V, 3P7W, 3P7X, 3P7Y, 3P8A, 3P8B, 3P8C, 3P8D, 3P8E,
183
+ 3P8F, 3P8G, 3P8H, 3P8I, 3P8J, 3P8K, 3P8L, 3P8M, 3P8N, 3P8O, 3P8P, 3P8Q,
184
+ 3P8R, 3P8S, 3P8T, 3P8U, 3P8V, 3P8W, 3P8X, 3P9A, 3P9B, 3P9C, 3P9D, 3P9E,
185
+ 3P9F, 3P9G, 3P9H, 3P9I, 3P9J, 3P9K, 3P9L, 3P9M, 3P9N, 3P9O, 3P9P, 3P9Q,
186
+ 3P9R, 3P9S, 3P9T, 3P9U, 3P9V, 3P9W, 3P9X, 3Q0A, 3Q0B, 3Q0C, 3Q0D, 3Q0E,
187
+ 3Q0F, 3Q0G, 3Q0H, 3Q0I, 3Q0J, 3Q0K, 3Q0L, 3Q1, 3Q2A, 3Q2B, 3Q2C, 3Q2D,
188
+ 3Q2E, 3Q2F, 3Q2G, 3Q2H, 3Q2I, 3Q2J, 3Q2K, 3Q2L, 3Q2M, 3Q2N, 3Q2O, 3Q2P,
189
+ 3Q2Q, 3Q2R, 3Q2S, 3Q2T, 3Q2U, 3Q2V, 3Q2W, 3Q2X, 3Q3A, 3Q3B, 3Q3C, 3Q3D,
190
+ 3Q3E, 3Q3F, 3Q3G, 3Q3H, 3Q3I, 3Q3J, 3Q3K, 3Q3L, 3Q3M, 3Q3N, 3Q3O, 3Q3P,
191
+ 3Q3Q, 3Q3R, 3Q3S, 3Q3T, 3Q3U, 3Q3V, 3Q3W, 3Q3X, 3Q4A, 3Q4B, 3Q4C, 3Q4D,
192
+ 3Q4E, 3Q4F, 3Q4G, 3Q4H, 3Q4I, 3Q4J, 3Q4K, 3Q4L, 3Q4M, 3Q4N, 3Q4O, 3Q4P,
193
+ 3Q4Q, 3Q4R, 3Q4S, 3Q4T, 3Q4U, 3Q4V, 3Q4W, 3Q4X, 3Q5A, 3Q5B, 3Q5C, 3Q5D,
194
+ 3Q5E, 3Q5F, 3Q5G, 3Q5H, 3Q5I, 3Q5J, 3Q5K, 3Q5L, 3Q5M, 3Q5N, 3Q5O, 3Q5P,
195
+ 3Q5Q, 3Q5R, 3Q5S, 3Q5T, 3Q5U, 3Q5V, 3Q5W, 3Q5X, 3Q6A, 3Q6B, 3Q6C, 3Q6D,
196
+ 3Q6E, 3Q6F, 3Q6G, 3Q6H, 3Q6I, 3Q6J, 3Q6K, 3Q6L, 3Q6M, 3Q6N, 3Q6O, 3Q6P,
197
+ 3Q6Q, 3Q6R, 3Q6S, 3Q6T, 3Q6U, 3Q6V, 3Q6W, 3Q6X, 3Q7A, 3Q7B, 3Q7C, 3Q7D,
198
+ 3Q7E, 3Q7F, 3Q7G, 3Q7H, 3Q7I, 3Q7J, 3Q7K, 3Q7L, 3Q7M, 3Q7N, 3Q7O, 3Q7P,
199
+ 3Q7Q, 3Q7R, 3Q7S, 3Q7T, 3Q7U, 3Q7V, 3Q7W, 3Q7X, 3Q7Y, 3Q8A, 3Q8B, 3Q8C,
200
+ 3Q8D, 3Q8E, 3Q8F, 3Q8G, 3Q8H, 3Q8I, 3Q8J, 3Q8K, 3Q8L, 3Q8M, 3Q8N, 3Q8O,
201
+ 3Q8P, 3Q8Q, 3Q8R, 3Q8S, 3Q8T, 3Q8U, 3Q8V, 3Q8W, 3Q8X, 3Q9A, 3Q9B, 3Q9C,
202
+ 3Q9D, 3Q9E, 3Q9F, 3Q9G, 3Q9H, 3Q9I, 3Q9J, 3Q9K, 3Q9L, 3Q9M, 3Q9N, 3Q9O,
203
+ 3Q9P, 3Q9Q, 3Q9R, 3Q9S, 3Q9T, 3Q9U, 3Q9V, 3Q9W, 3Q9X, 3R0A, 3R0B, 3R0C,
204
+ 3R0D, 3R0E, 3R0F, 3R0G, 3R0H, 3R0I, 3R0J, 3R0K, 3R0L, 3R1, 3R2A, 3R2B,
205
+ 3R2C, 3R2D, 3R2E, 3R2F, 3R2G, 3R2H, 3R2I, 3R2J, 3R2K, 3R2L, 3R2M, 3R2N,
206
+ 3R2O, 3R2P, 3R2Q, 3R2R, 3R2S, 3R2T, 3R2U, 3R2V, 3R2W, 3R2X, 3R3A, 3R3B,
207
+ 3R3C, 3R3D, 3R3E, 3R3F, 3R3G, 3R3H, 3R3I, 3R3J, 3R3K, 3R3L, 3R3M, 3R3N,
208
+ 3R3O, 3R3P, 3R3Q, 3R3R, 3R3S, 3R3T, 3R3U, 3R3V, 3R3W, 3R3X, 3R4A, 3R4B,
209
+ 3R4C, 3R4D, 3R4E, 3R4F, 3R4G, 3R4H, 3R4I, 3R4J, 3R4K, 3R4L, 3R4M, 3R4N,
210
+ 3R4O, 3R4P, 3R4Q, 3R4R, 3R4S, 3R4T, 3R4U, 3R4V, 3R4W, 3R4X, 3R5A, 3R5B,
211
+ 3R5C, 3R5D, 3R5E, 3R5F, 3R5G, 3R5H, 3R5I, 3R5J, 3R5K, 3R5L, 3R5M, 3R5N,
212
+ 3R5O, 3R5P, 3R5Q, 3R5R, 3R5S, 3R5T, 3R5U, 3R5V, 3R5W, 3R5X, 3R6A, 3R6B,
213
+ 3R6C, 3R6D, 3R6E, 3R6F, 3R6G, 3R6H, 3R6I, 3R6J, 3R6K, 3R6L, 3R6M, 3R6N,
214
+ 3R6O, 3R6P, 3R6Q, 3R6R, 3R6S, 3R6T, 3R6U, 3R6V, 3R6W, 3R6X, 3R7A, 3R7B,
215
+ 3R7C, 3R7D, 3R7E, 3R7F, 3R7G, 3R7H, 3R7I, 3R7J, 3R7K, 3R7L, 3R7M, 3R7N,
216
+ 3R7O, 3R7P, 3R7Q, 3R7R, 3R7S, 3R7T, 3R7U, 3R7V, 3R7W, 3R7X, 3R7Y, 3R8A,
217
+ 3R8B, 3R8C, 3R8D, 3R8E, 3R8F, 3R8G, 3R8H, 3R8I, 3R8J, 3R8K, 3R8L, 3R8M,
218
+ 3R8N, 3R8O, 3R8P, 3R8Q, 3R8R, 3R8S, 3R8T, 3R8U, 3R8V, 3R8W, 3R8X, 3R9A,
219
+ 3R9B, 3R9C, 3R9D, 3R9E, 3R9F, 3R9G, 3R9H, 3R9I, 3R9J, 3R9K, 3R9L, 3R9M,
220
+ 3R9N, 3R9O, 3R9P, 3R9Q, 3R9R, 3R9S, 3R9T, 3R9U, 3R9V, 3R9W, 3R9X, 3S0A,
221
+ 3S0B, 3S0C, 3S0D, 3S0E, 3S0F, 3S0G, 3S0H, 3S0I, 3S0J, 3S0K, 3S0L, 3S1,
222
+ 3S2A, 3S2B, 3S2C, 3S2D, 3S2E, 3S2F, 3S2G, 3S2H, 3S2I, 3S2J, 3S2K, 3S2L,
223
+ 3S2M, 3S2N, 3S2O, 3S2P, 3S2Q, 3S2R, 3S2S, 3S2T, 3S2U, 3S2V, 3S2W, 3S2X,
224
+ 3S3A, 3S3B, 3S3C, 3S3D, 3S3E, 3S3F, 3S3G, 3S3H, 3S3I, 3S3J, 3S3K, 3S3L,
225
+ 3S3M, 3S3N, 3S3O, 3S3P, 3S3Q, 3S3R, 3S3S, 3S3T, 3S3U, 3S3V, 3S3W, 3S3X,
226
+ 3S4A, 3S4B, 3S4C, 3S4D, 3S4E, 3S4F, 3S4G, 3S4H, 3S4I, 3S4J, 3S4K, 3S4L,
227
+ 3S4M, 3S4N, 3S4O, 3S4P, 3S4Q, 3S4R, 3S4S, 3S4T, 3S4U, 3S4V, 3S4W, 3S4X,
228
+ 3S5A, 3S5B, 3S5C, 3S5D, 3S5E, 3S5F, 3S5G, 3S5H, 3S5I, 3S5J, 3S5K, 3S5L,
229
+ 3S5M, 3S5N, 3S5O, 3S5P, 3S5Q, 3S5R, 3S5S, 3S5T, 3S5U, 3S5V, 3S5W, 3S5X,
230
+ 3S6A, 3S6B, 3S6C, 3S6D, 3S6E, 3S6F, 3S6G, 3S6H, 3S6I, 3S6J, 3S6K, 3S6L,
231
+ 3S6M, 3S6N, 3S6O, 3S6P, 3S6Q, 3S6R, 3S6S, 3S6T, 3S6U, 3S6V, 3S6W, 3S6X,
232
+ 3S7A, 3S7B, 3S7C, 3S7D, 3S7E, 3S7F, 3S7G, 3S7H, 3S7I, 3S7J, 3S7K, 3S7L,
233
+ 3S7M, 3S7N, 3S7O, 3S7P, 3S7Q, 3S7R, 3S7S, 3S7T, 3S7U, 3S7V, 3S7W, 3S7X,
234
+ 3S7Y, 3S8A, 3S8B, 3S8C, 3S8D, 3S8E, 3S8F, 3S8G, 3S8H, 3S8I, 3S8J, 3S8K,
235
+ 3S8L, 3S8M, 3S8N, 3S8O, 3S8P, 3S8Q, 3S8R, 3S8S, 3S8T, 3S8U, 3S8V, 3S8W,
236
+ 3S8X, 3S9A, 3S9B, 3S9C, 3S9D, 3S9E, 3S9F, 3S9G, 3S9H, 3S9I, 3S9J, 3S9K,
237
+ 3S9L, 3S9M, 3S9N, 3S9O, 3S9P, 3S9Q, 3S9R, 3S9S, 3S9T, 3S9U, 3S9V, 3S9W,
238
+ 3S9X, 3T0A, 3T0B, 3T0C, 3T0D, 3T0E, 3T0F, 3T0G, 3T0H, 3T0I, 3T0J, 3T0K,
239
+ 3T0L, 3T1, 3T2A, 3T2B, 3T2C, 3T2D, 3T2E, 3T2F, 3T2G, 3T2H, 3T2I, 3T2J,
240
+ 3T2K, 3T2L, 3T2M, 3T2N, 3T2O, 3T2P, 3T2Q, 3T2R, 3T2S, 3T2T, 3T2U, 3T2V,
241
+ 3T2W, 3T2X, 3T3A, 3T3B, 3T3C, 3T3D, 3T3E, 3T3F, 3T3G, 3T3H, 3T3I, 3T3J,
242
+ 3T3K, 3T3L, 3T3M, 3T3N, 3T3O, 3T3P, 3T3Q, 3T3R, 3T3S, 3T3T, 3T3U, 3T3V,
243
+ 3T3W, 3T3X, 3T4A, 3T4B, 3T4C, 3T4D, 3T4E, 3T4F, 3T4G, 3T4H, 3T4I, 3T4J,
244
+ 3T4K, 3T4L, 3T4M, 3T4N, 3T4O, 3T4P, 3T4Q, 3T4R, 3T4S, 3T4T, 3T4U, 3T4V,
245
+ 3T4W, 3T4X, 3T5A, 3T5B, 3T5C, 3T5D, 3T5E, 3T5F, 3T5G, 3T5H, 3T5I, 3T5J,
246
+ 3T5K, 3T5L, 3T5M, 3T5N, 3T5O, 3T5P, 3T5Q, 3T5R, 3T5S, 3T5T, 3T5U, 3T5V,
247
+ 3T5W, 3T5X, 3T6A, 3T6B, 3T6C, 3T6D, 3T6E, 3T6F, 3T6G, 3T6H, 3T6I, 3T6J,
248
+ 3T6K, 3T6L, 3T6M, 3T6N, 3T6O, 3T6P, 3T6Q, 3T6R, 3T6S, 3T6T, 3T6U, 3T6V,
249
+ 3T6W, 3T6X, 3T7A, 3T7B, 3T7C, 3T7D, 3T7E, 3T7F, 3T7G, 3T7H, 3T7I, 3T7J,
250
+ 3T7K, 3T7L, 3T7M, 3T7N, 3T7O, 3T7P, 3T7Q, 3T7R, 3T7S, 3T7T, 3T7U, 3T7V,
251
+ 3T7W, 3T7X, 3T7Y, 3T8A, 3T8B, 3T8C, 3T8D, 3T8E, 3T8F, 3T8G, 3T8H, 3T8I,
252
+ 3T8J, 3T8K, 3T8L, 3T8M, 3T8N, 3T8O, 3T8P, 3T8Q, 3T8R, 3T8S, 3T8T, 3T8U,
253
+ 3T8V, 3T8W, 3T8X, 3T9A, 3T9B, 3T9C, 3T9D, 3T9E, 3T9F, 3T9G, 3T9H, 3T9I,
254
+ 3T9J, 3T9K, 3T9L, 3T9M, 3T9N, 3T9O, 3T9P, 3T9Q, 3T9R, 3T9S, 3T9T, 3T9U,
255
+ 3T9V, 3T9W, 3T9X, 3U0A, 3U0B, 3U0C, 3U0D, 3U0E, 3U0F, 3U0G, 3U0H, 3U0I,
256
+ 3U0J, 3U0K, 3U0L, 3U1, 3U2A, 3U2B, 3U2C, 3U2D, 3U2E, 3U2F, 3U2G, 3U2H,
257
+ 3U2I, 3U2J, 3U2K, 3U2L, 3U2M, 3U2N, 3U2O, 3U2P, 3U2Q, 3U2R, 3U2S, 3U2T,
258
+ 3U2U, 3U2V, 3U2W, 3U2X, 3U3A, 3U3B, 3U3C, 3U3D, 3U3E, 3U3F, 3U3G, 3U3H,
259
+ 3U3I, 3U3J, 3U3K, 3U3L, 3U3M, 3U3N, 3U3O, 3U3P, 3U3Q, 3U3R, 3U3S, 3U3T,
260
+ 3U3U, 3U3V, 3U3W, 3U3X, 3U4A, 3U4B, 3U4C, 3U4D, 3U4E, 3U4F, 3U4G, 3U4H,
261
+ 3U4I, 3U4J, 3U4K, 3U4L, 3U4M, 3U4N, 3U4O, 3U4P, 3U4Q, 3U4R, 3U4S, 3U4T,
262
+ 3U4U, 3U4V, 3U4W, 3U4X, 3U5A, 3U5B, 3U5C, 3U5D, 3U5E, 3U5F, 3U5G, 3U5H,
263
+ 3U5I, 3U5J, 3U5K, 3U5L, 3U5M, 3U5N, 3U5O, 3U5P, 3U5Q, 3U5R, 3U5S, 3U5T,
264
+ 3U5U, 3U5V, 3U5W, 3U5X, 3U6A, 3U6B, 3U6C, 3U6D, 3U6E, 3U6F, 3U6G, 3U6H,
265
+ 3U6I, 3U6J, 3U6K, 3U6L, 3U6M, 3U6N, 3U6O, 3U6P, 3U6Q, 3U6R, 3U6S, 3U6T,
266
+ 3U6U, 3U6V, 3U6W, 3U6X, 3U7A, 3U7B, 3U7C, 3U7D, 3U7E, 3U7F, 3U7G, 3U7H,
267
+ 3U7I, 3U7J, 3U7K, 3U7L, 3U7M, 3U7N, 3U7O, 3U7P, 3U7Q, 3U7R, 3U7S, 3U7T,
268
+ 3U7U, 3U7V, 3U7W, 3U7X, 3U7Y, 3U8A, 3U8B, 3U8C, 3U8D, 3U8E, 3U8F, 3U8G,
269
+ 3U8H, 3U8I, 3U8J, 3U8K, 3U8L, 3U8M, 3U8N, 3U8O, 3U8P, 3U8Q, 3U8R, 3U8S,
270
+ 3U8T, 3U8U, 3U8V, 3U8W, 3U8X, 3U9A, 3U9B, 3U9C, 3U9D, 3U9E, 3U9F, 3U9G,
271
+ 3U9H, 3U9I, 3U9J, 3U9K, 3U9L, 3U9M, 3U9N, 3U9O, 3U9P, 3U9Q, 3U9R, 3U9S,
272
+ 3U9T, 3U9U, 3U9V, 3U9W, 3U9X, XS0A, XS0B, XS0C, XS0D, XS0E, XS0F, XS0G,
273
+ XS0H, XS0I, XS0J, XS0K, XS0L, XS1, XS2A, XS2B, XS2C, XS2D, XS2E, XS2F,
274
+ XS2G, XS2H, XS2I, XS2J, XS2K, XS2L, XS2M, XS2N, XS2O, XS2P, XS2Q, XS2R,
275
+ XS2S, XS2T, XS2U, XS2V, XS2W, XS2X, XS3A, XS3B, XS3C, XS3D, XS3E, XS3F,
276
+ XS3G, XS3H, XS3I, XS3J, XS3K, XS3L, XS3M, XS3N, XS3O, XS3P, XS3Q, XS3R,
277
+ XS3S, XS3T, XS3U, XS3V, XS3W, XS3X, XS4A, XS4B, XS4C, XS4D, XS4E, XS4F,
278
+ XS4G, XS4H, XS4I, XS4J, XS4K, XS4L, XS4M, XS4N, XS4O, XS4P, XS4Q, XS4R,
279
+ XS4S, XS4T, XS4U, XS4V, XS4W, XS4X, XS5A, XS5B, XS5C, XS5D, XS5E, XS5F,
280
+ XS5G, XS5H, XS5I, XS5J, XS5K, XS5L, XS5M, XS5N, XS5O, XS5P, XS5Q, XS5R,
281
+ XS5S, XS5T, XS5U, XS5V, XS5W, XS5X, XS6A, XS6B, XS6C, XS6D, XS6E, XS6F,
282
+ XS6G, XS6H, XS6I, XS6J, XS6K, XS6L, XS6M, XS6N, XS6O, XS6P, XS6Q, XS6R,
283
+ XS6S, XS6T, XS6U, XS6V, XS6W, XS6X, XS7A, XS7B, XS7C, XS7D, XS7E, XS7F,
284
+ XS7G, XS7H, XS7I, XS7J, XS7K, XS7L, XS7M, XS7N, XS7O, XS7P, XS7Q, XS7R,
285
+ XS7S, XS7T, XS7U, XS7V, XS7W, XS7X, XS7Y, XS8A, XS8B, XS8C, XS8D, XS8E,
286
+ XS8F, XS8G, XS8H, XS8I, XS8J, XS8K, XS8L, XS8M, XS8N, XS8O, XS8P, XS8Q,
287
+ XS8R, XS8S, XS8T, XS8U, XS8V, XS8W, XS8X, XS9A, XS9B, XS9C, XS9D, XS9E,
288
+ XS9F, XS9G, XS9H, XS9I, XS9J, XS9K, XS9L, XS9M, XS9N, XS9O, XS9P, XS9Q,
289
+ XS9R, XS9S, XS9T, XS9U, XS9V, XS9W and XS9X in China, BY
290
+ * EA9ADD in Spain, EA
291
+ * EA3HJO/6 in Balearic Islands, EA6
292
+ * AA1JM, K4OBC and K5AUP in United States, K
293
+ * KF0FMQ, KI6AMI and KI6AMJ in Hawaii, KH6
294
+ * K4A in Puerto Rico, KP4
295
+ * LU1ANG/S and LW6DGA/D in Argentina, LU
296
+ * R70OBN, R8LBI/3 and R8MB/1 in European Russia, UA
297
+ * R4WAN/P, RK4PA/9, RT25HK and RV7B/9 in Asiatic Russia, UA9