[mapcode] 53/56: Removed CLion warnings

Stefan Fritsch sf at moszumanska.debian.org
Wed Nov 2 23:27:31 UTC 2016


This is an automated email from the git hooks/post-receive script.

sf pushed a commit to annotated tag v2.0.2
in repository mapcode.

commit b5e02903e72dba3a33f117440cb550a9a4d882a7
Author: Rijn Buve <rijn at buve.nl>
Date:   Tue Aug 4 14:46:42 2015 +0200

    Removed CLion warnings
---
 CMakeLists.txt                          |   15 +-
 README.md                               |    6 +-
 mapcodelib/dividemaps.h                 | 1396 +++++++++++++++----------------
 mapcodelib/mapcode_countrynames.h       |  309 ++++---
 mapcodelib/mapcode_countrynames_short.h | 1070 +++++++++++------------
 mapcodelib/mapcoder.c                   |   43 +-
 mapcodelib/mapcoder.h                   |   74 +-
 utility/mapcode.cpp                     |  156 ++--
 8 files changed, 1549 insertions(+), 1520 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 81315b8..a4630bb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,10 +1,15 @@
-cmake_minimum_required(VERSION 2.8.4)
+cmake_minimum_required(VERSION 3.2)
 project(mapcode_cpp)
 
-set(CMAKE_CXX_FLAGS
-    "${CMAKE_CXX_FLAGS} -std=c++11")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
 
 set(SOURCE_FILES
-    example/mapcode.cpp)
+    mapcodelib/basics.h
+    mapcodelib/dividemaps.h
+    mapcodelib/mapcode_countrynames.h
+    mapcodelib/mapcode_countrynames_short.h
+    mapcodelib/mapcoder.c
+    mapcodelib/mapcoder.h
+    utility/mapcode.cpp)
 
-add_executable(mapcode ${SOURCE_FILES})
\ No newline at end of file
+add_executable(mapcode_cpp ${SOURCE_FILES})
\ No newline at end of file
diff --git a/README.md b/README.md
index 7cf77a5..195b9a7 100644
--- a/README.md
+++ b/README.md
@@ -54,10 +54,10 @@ decode Mapcodes.
 
     Speed-up of encoding (4 times faster than 2.0.1).
 
-    Added optional mapcode_countrynames.h, with the English short names, formal names, 
+    Added optional `mapcode_countrynames.h`, with the English short names, formal names, 
     and name variants of all territories.
 
-    Added optional mapcode_countrynames_short.h with only the short English names and 
+    Added optional `mapcode_countrynames_short.h` with only the short English names and 
     name variants.
 
     Stricter processing of high-precision letters (now fails on illegal high-precision 
@@ -66,7 +66,7 @@ decode Mapcodes.
     Fix to allow illegal letters "i" and "o" in Hindi, Bengali, Tibetan and Gurmukhi 
     (so they can later be interpreted as digits 1 and 0).
 
-    Fix for some unrecognized aliases in convertTerritoryIsoNameToCode().
+    Fix for some unrecognized aliases in `convertTerritoryIsoNameToCode()`.
     
 * 2.0.1
 
diff --git a/mapcodelib/dividemaps.h b/mapcodelib/dividemaps.h
index 2166e84..52cfb9a 100644
--- a/mapcodelib/dividemaps.h
+++ b/mapcodelib/dividemaps.h
@@ -15,701 +15,701 @@
  */
 
 static int redivar[2924] = {
- 27984500,1383,
- 2537718,676,
- 12842450,332,
- -55514813,174,
- -6059000,101,
- -117350000,46,
- -15190488,30,
- -167832984,25,
- -28175000,21,
-   2,   171,531,
-   3,   30,55,89,
-   4,   12,28,71,531,
- -171131108,41,
- -11977500,38,
-   3,   22,69,89,
-   2,   3,58,
-   4,   27,28,58,71,
- -18715000,75,
- -64521250,57,
-   6,   209,219,227,270,409,531,
- -28845346,67,
-   7,   82,155,227,270,334,409,531,
-   7,   186,219,227,270,334,337,409,
- -59298500,93,
- -15616000,85,
-   5,   209,219,227,340,409,
-   7,   219,227,327,330,340,342,409,
-   7,   219,227,337,340,341,342,409,
- -68556225,144,
- 9859904,130,
- -74589500,124,
- 4965000,118,
- -121020000,114,
-   2,   58,529,
-   3,   168,221,227,
-   5,   117,127,221,227,529,
-   5,   214,221,227,342,409,
- -82018000,138,
-   5,   117,148,227,529,530,
-   5,   25,45,214,221,227,
- 9263257,156,
-   9,   154,161,214,221,227,329,341,342,409,
- -62448678,163,
-   4,   33,214,221,227,
- 12365000,170,
-   4,   37,73,214,227,
-   3,   37,41,227,
- -8371850,258,
- -47007000,205,
- -19580300,193,
-   12,   155,186,227,270,323,328,331,334,337,339,409,531,
-   11,   186,227,316,333,335,336,337,339,340,341,409,
- -11963846,239,
- -42991000,225,
- -19580300,218,
-   6,   227,319,331,339,409,531,
-   6,   227,333,336,338,339,409,
- -47050000,231,
-   3,   70,227,531,
-   7,   35,227,319,320,338,339,409,
- -39287170,250,
-   8,   227,324,332,333,335,338,341,409,
-   7,   35,227,317,318,324,338,409,
- -23810000,294,
- -1916920,280,
- -41616550,272,
-   7,   227,332,333,335,340,341,409,
-   7,   227,321,322,324,326,332,409,
- -49307328,289,
-   6,   129,154,227,325,341,409,
-   4,   227,335,341,409,
- 10775000,312,
- -5530500,305,
-   6,   35,126,142,167,177,223,
-   6,   120,144,164,172,177,223,
- -6579285,319,
-   4,   108,158,167,223,
- 11426925,327,
-   5,   120,144,164,172,223,
-   4,   144,172,223,225,
- -85785000,522,
- 19815000,418,
- -95481000,355,
-   16,   233,234,235,237,239,240,244,249,251,254,258,260,351,410,411,529,
- 17649500,391,
- -90249500,377,
- 14015959,364,
-   2,   139,227,
- -92914500,372,
-   5,   241,254,255,260,411,
-   4,   139,241,255,411,
- 14491789,385,
-   5,   94,139,143,148,227,
-   5,   95,139,143,148,411,
- -90690000,402,
-   8,   139,241,248,254,255,260,410,411,
- 19007500,412,
-   7,   95,139,246,248,255,410,411,
-   5,   245,246,248,410,411,
- -100679000,473,
- 23113500,451,
- -104856000,433,
-   8,   242,247,256,258,261,351,410,411,
- 20496000,441,
-   5,   243,249,258,410,411,
-   9,   236,242,243,250,257,258,261,410,411,
- -104856000,463,
-   9,   247,256,261,263,264,351,392,410,411,
-   9,   250,252,257,261,262,264,392,410,411,
- 22023500,494,
- -93031500,488,
-   10,   238,239,240,243,244,249,250,254,410,411,
-   5,   245,246,248,410,411,
- -91965000,512,
- 24517000,505,
-   6,   250,252,254,259,410,411,
-   6,   252,259,262,392,410,411,
- 24055000,518,
-   3,   245,410,411,
-   3,   372,410,411,
- 17731984,599,
- -61364779,567,
- 16901800,545,
- -62626922,536,
-   5,   33,143,148,221,227,
- 15684879,542,
-   3,   41,56,227,
-   2,   19,64,
- -66701997,557,
- 17575000,553,
-   3,   33,115,143,
-   3,   33,79,115,
- 17551293,563,
-   3,   31,33,44,
-   3,   33,38,44,
- 14253000,582,
- -23810000,576,
-   4,   41,43,52,227,
-   5,   80,158,172,223,225,
- -20139807,593,
- 15684879,590,
-   3,   56,62,72,
-   2,   64,72,
-   5,   158,172,218,223,225,
- -63821000,638,
- 19812550,616,
- -68135088,611,
-   5,   32,79,99,115,410,
-   4,   23,38,76,410,
- -72604230,629,
- 23868000,625,
-   4,   85,99,140,410,
-   3,   85,372,410,
- 20556500,635,
-   3,   99,115,410,
-   2,   59,410,
- 18772220,652,
- -62560260,647,
-   4,   5,9,10,18,
-   4,   44,218,223,225,
- -422500,667,
- 27433500,662,
-   5,   169,188,218,223,268,
-   4,   169,188,194,268,
- 26255000,673,
-   3,   223,225,268,
-   2,   194,268,
- 10511000,1056,
- 74615395,878,
- -5098202,776,
- 39063250,738,
- -20098000,705,
- 29828500,699,
- -50838844,693,
-   2,   13,531,
-   5,   105,185,200,213,222,
-   5,   87,185,212,222,531,
- 29790000,725,
- -14533000,715,
-   5,   185,200,208,213,224,
- 26708284,721,
-   3,   208,224,267,
-   3,   208,216,267,
- -14533000,732,
-   4,   146,185,208,212,
-   5,   146,208,212,216,267,
- -12572492,758,
- 54723903,749,
-   6,   39,66,75,201,212,531,
- -51460000,754,
-   2,   42,531,
-   3,   66,67,75,
- 45312387,766,
-   5,   65,75,201,212,216,
- -8413797,773,
-   4,   46,66,75,201,
-   2,   15,46,
- 28158500,820,
- 4039834,806,
- 11520181,788,
-   5,   60,101,170,182,192,
- -4167751,794,
-   3,   182,224,267,
- 21050000,802,
-   5,   170,182,192,204,267,
-   3,   203,204,267,
- 6307500,812,
-   3,   144,215,223,
-   7,   192,203,204,215,226,231,267,
- 1202691,840,
- 40707790,831,
-   6,   98,100,165,199,216,267,
- -2685000,836,
-   2,   46,199,
-   3,   34,199,205,
- 39800000,859,
- 7371000,855,
- 32140000,850,
-   3,   165,203,267,
-   4,   165,199,203,220,
-   3,   203,220,231,
- 7876932,870,
- 59255071,867,
-   3,   199,205,220,
-   2,   34,407,
- 59255071,875,
-   2,   205,220,
-   2,   275,407,
- -3000000,985,
- 150294500,942,
- -19119804,908,
- 139475000,894,
-   7,   75,310,311,314,315,408,531,
- -38750000,901,
-   4,   312,313,408,531,
-   6,   307,308,311,313,315,408,
- 109235707,918,
- -11244050,915,
-   2,   4,75,
-   2,   21,232,
- -11930000,930,
- 133495000,926,
-   3,   310,314,408,
-   3,   310,315,408,
- 128179500,936,
-   3,   86,232,408,
-   5,   191,232,310,315,408,
- -25602173,957,
- 159633500,953,
-   6,   307,309,313,315,408,531,
-   3,   11,171,531,
- 162917500,971,
- -15102950,965,
-   3,   90,315,408,
-   5,   58,103,191,315,408,
- -12405450,977,
-   3,   83,89,90,
- 172466750,982,
-   2,   58,103,
-   2,   7,58,
- 111780000,1032,
- 7762500,1018,
- 94680338,996,
-   4,   34,123,274,407,
- 3547250,1002,
-   3,   54,179,232,
- 98518000,1008,
-   3,   195,232,407,
- 6703442,1014,
-   3,   179,195,232,
-   3,   179,180,195,
- 87010150,1025,
-   4,   123,290,291,407,
-   6,   156,180,195,207,274,407,
- 179200,1043,
- 163201780,1040,
-   3,   58,191,232,
-   2,   6,58,
- 135909365,1051,
-   5,   47,74,173,179,232,
-   4,   26,53,58,232,
- 83124000,1224,
- 19960000,1149,
- 51682074,1098,
- 15484010,1084,
- 30218500,1076,
-   9,   144,192,203,204,215,223,225,226,231,
-   7,   96,145,196,203,205,220,231,
- 29805981,1093,
-   6,   223,225,226,230,231,268,
-   4,   145,196,231,266,
- 15937400,1133,
- 74615395,1116,
- 13175797,1109,
-   4,   196,275,296,407,
-   6,   196,289,296,304,407,528,
- 13727500,1125,
-   6,   290,291,296,303,306,407,
-   7,   296,302,303,304,306,407,528,
- 63445071,1139,
-   3,   175,196,266,
-   9,   294,296,298,302,303,304,306,407,528,
- 65200071,1186,
- 23600000,1169,
- 24345005,1162,
-   6,   223,225,226,230,231,268,
-   6,   130,175,217,230,231,266,
- 40464250,1178,
-   6,   194,217,223,230,266,268,
-   7,   57,81,130,175,211,229,266,
- 22733000,1204,
- 73363500,1196,
-   5,   271,272,299,304,407,
-   7,   294,298,299,301,304,407,528,
- 78350000,1215,
-   8,   211,284,297,299,301,305,407,528,
-   8,   152,211,294,301,305,407,524,528,
- 23445000,1313,
- 101655895,1264,
- 20519475,1245,
- 89826650,1238,
-   5,   294,298,303,407,528,
-   6,   162,195,207,274,407,528,
- 90515000,1255,
-   7,   151,294,295,298,300,407,528,
-   8,   151,162,207,280,281,407,523,528,
- 20722500,1286,
- 139657216,1277,
-   8,   156,162,173,180,195,500,513,528,
- 13893260,1282,
-   2,   26,50,
-   3,   26,48,410,
- 113717500,1296,
-   7,   8,162,180,513,521,523,528,
- 21446500,1303,
-   4,   173,410,513,528,
- 117661250,1309,
-   3,   61,513,528,
-   3,   109,410,528,
- 96665000,1365,
- 26270000,1341,
- 90515000,1330,
-   10,   151,277,286,287,294,295,300,305,407,528,
-   10,   151,207,277,278,279,280,281,286,407,528,
- 89297000,1354,
-   10,   110,151,152,282,287,300,305,407,524,528,
-   10,   110,151,207,278,285,286,300,407,524,528,
-   17,   109,184,207,285,407,410,503,505,510,512,513,520,521,522,523,524,528,
- 34765500,2088,
- 43871750,1765,
- -77419467,1641,
- 37102872,1538,
- -97787350,1449,
- 33167350,1426,
- -109250000,1417,
- 29917500,1410,
- -136451930,1404,
-   2,   351,410,
-   5,   253,256,263,410,411,
-   6,   253,263,388,391,410,411,
-   8,   262,263,264,388,389,392,410,411,
- -107843500,1436,
-   7,   381,386,387,388,389,391,410,
- 36745500,1443,
-   4,   374,389,392,410,
-   5,   374,379,386,389,410,
- 35605750,1496,
- -87869000,1463,
-   9,   358,362,363,364,365,374,392,410,411,
- 33235750,1483,
- -84127000,1473,
-   5,   364,370,372,410,411,
- 31517000,1479,
-   3,   370,372,410,
-   3,   354,370,410,
- -84605000,1490,
-   4,   358,364,370,410,
-   5,   354,358,366,370,410,
- -92511000,1511,
- 36745500,1506,
-   5,   365,373,374,392,410,
-   4,   373,374,379,410,
- 36828750,1527,
- -86711000,1521,
-   5,   357,358,365,373,410,
-   5,   357,358,359,366,410,
- -85550145,1534,
-   4,   357,369,373,410,
-   3,   357,359,410,
- -93735000,1580,
- 41027722,1559,
- -103035000,1552,
-   7,   378,381,384,386,387,391,410,
-   6,   368,373,378,379,386,410,
- -106550500,1571,
-   9,   380,381,384,385,387,391,410,495,496,
-   8,   368,377,378,382,384,396,410,495,
- 41152000,1620,
- -84227645,1592,
-   7,   356,357,360,368,369,373,410,
- 39583250,1607,
- -79998825,1602,
-   5,   353,357,359,360,410,
-   4,   352,353,359,410,
- -80136500,1614,
-   4,   353,360,361,410,
-   5,   352,353,361,367,410,
- -85763500,1632,
-   9,   356,368,369,371,382,383,396,410,495,
-   8,   356,360,361,367,383,396,410,495,
- 40158500,1711,
- 5450000,1677,
- 37488303,1664,
- -48023000,1658,
- 33142708,1654,
-   2,   14,410,
-   3,   359,366,410,
-   5,   2,135,188,194,268,
- -48023000,1674,
-   7,   343,345,347,352,359,361,410,
-   2,   135,194,
- 33983000,1691,
- 29679481,1686,
-   4,   153,217,230,268,
-   4,   92,93,217,266,
- 18880000,1698,
-   4,   36,153,174,268,
- 35765800,1703,
-   2,   77,149,
- 23381000,1708,
-   2,   102,149,
-   2,   149,210,
- 5450000,1749,
- 42383793,1731,
- -42050000,1727,
-   9,   344,346,347,350,361,367,396,410,495,
-   3,   135,194,197,
- -66673537,1742,
-   8,   348,349,350,355,367,396,410,495,
-   6,   49,194,197,402,410,495,
-   15,   0,1,84,97,102,118,119,133,141,149,163,174,197,210,496,
- 2192324,1875,
- 49062290,1805,
- -81486250,1790,
-   18,   371,375,376,377,380,382,383,384,385,390,394,395,396,398,399,410,495,496,
-   14,   29,197,348,349,355,367,396,397,400,401,402,403,410,495,
- -73790750,1823,
-   15,   382,393,394,395,396,397,398,399,404,405,406,410,487,495,496,
- 56700000,1847,
- -31650000,1832,
-   4,   397,400,410,495,
- 51255000,1839,
-   4,   17,20,166,197,
- -5155300,1844,
-   2,   125,166,
-   2,   51,166,
- -38967380,1856,
-   6,   265,397,400,406,410,495,
- 69452955,1871,
- -10127000,1863,
-   2,   138,265,
- 61087500,1868,
-   2,   166,178,
-   2,   63,178,
-   3,   40,178,265,
- 52859250,1992,
- 18692500,1939,
- 47498500,1917,
- 12946250,1900,
- 44896100,1893,
- 11001170,1890,
-   2,   174,197,
-   2,   16,174,
-   6,   24,111,131,174,183,197,
- 47177500,1909,
-   6,   91,118,119,131,136,174,
- 15602500,1914,
-   2,   131,183,
-   2,   131,136,
- 11292500,1932,
- 49234990,1926,
-   4,   111,131,183,197,
-   5,   68,106,112,183,197,
-   6,   116,128,131,136,176,183,
- 48523000,1976,
- 19937265,1955,
- 47139000,1951,
-   5,   118,119,133,136,496,
-   3,   116,136,496,
- 44323191,1962,
-   4,   133,141,163,496,
- 24795000,1971,
-   6,   116,133,136,163,202,496,
-   4,   107,163,202,496,
- 23039608,1985,
-   6,   116,128,136,176,202,496,
-   6,   160,176,202,428,431,496,
- 28339500,2045,
- 56976000,2033,
- 17383500,2012,
- 55200000,2009,
- 7618000,2005,
-   2,   112,183,
-   3,   113,176,183,
-   2,   113,190,
- 55308000,2020,
-   5,   122,160,176,414,496,
- 27083500,2028,
-   5,   121,122,160,190,496,
-   4,   121,160,440,496,
-   11,   40,113,114,121,178,181,190,198,440,446,496,
- 59533150,2059,
-   11,   160,178,429,431,436,439,440,445,446,449,496,
- 34171500,2077,
- 63834000,2070,
-   6,   178,181,413,446,451,496,
-   6,   40,178,181,450,451,496,
- 63834000,2084,
-   4,   446,449,451,496,
-   3,   450,451,496,
- 45775000,2509,
- 87550000,2293,
- 37135000,2159,
- 66867226,2141,
- 32796250,2115,
- 43200000,2108,
-   7,   92,93,134,157,187,217,266,
-   6,   88,187,206,211,229,266,
- 43200000,2134,
- 35253300,2130,
- 37709800,2126,
-   4,   78,92,134,157,
-   3,   134,157,187,
-   3,   157,187,210,
-   6,   187,193,206,210,211,229,
-   17,   150,152,206,211,273,276,283,284,288,292,293,297,305,407,524,527,528,
- 46099000,2246,
- 42291500,2190,
- 42910000,2175,
- 39220000,2171,
-   3,   157,187,210,
-   3,   124,210,496,
- 40420000,2183,
-   5,   104,132,187,210,229,
-   6,   104,124,132,210,437,496,
- 44476450,2230,
- 44203226,2216,
- 42073685,2209,
- 43622500,2203,
-   4,   124,419,443,496,
-   5,   416,419,442,443,496,
-   6,   124,417,418,419,442,496,
- 40808500,2224,
-   5,   202,416,419,443,496,
-   5,   419,442,443,444,496,
- 44337000,2240,
-   7,   124,415,417,420,437,442,496,
-   5,   434,437,442,444,496,
- 40175000,2266,
- 66867226,2258,
-   7,   104,132,187,189,193,206,229,
-   7,   150,159,189,206,407,527,528,
- 51615000,2284,
- 44337000,2278,
-   7,   104,124,132,269,420,437,496,
-   5,   269,434,437,444,496,
-   8,   150,159,189,193,269,496,527,528,
- 34345000,2377,
- 108695500,2337,
- 30992500,2320,
- 97458000,2311,
-   9,   110,152,207,282,285,407,522,524,528,
-   8,   207,502,512,514,522,523,524,528,
- 104198500,2330,
-   7,   407,522,524,525,526,527,528,
-   6,   502,514,517,522,525,528,
- 30428000,2357,
- 114600000,2348,
-   6,   502,510,512,514,520,528,
-   8,   184,410,503,505,506,510,514,528,
- 117345000,2368,
-   8,   502,504,506,511,514,517,525,528,
-   8,   137,184,410,497,503,504,506,528,
- 118437543,2456,
- 37349928,2401,
- 109480000,2392,
-   8,   407,501,517,524,525,526,527,528,
-   8,   504,506,508,509,511,516,517,528,
- 112356000,2427,
- 40901000,2420,
- 103695000,2413,
-   5,   518,525,526,527,528,
-   6,   501,509,517,518,525,528,
-   6,   228,496,518,525,527,528,
- 40901000,2449,
- 114672500,2436,
-   4,   509,516,518,528,
- 38485000,2443,
-   4,   508,516,518,528,
-   5,   498,499,516,518,528,
-   6,   228,496,499,516,518,528,
- 38662500,2486,
- 123555000,2479,
- 35585500,2473,
- 122563000,2469,
-   4,   504,506,508,528,
-   3,   184,508,528,
-   5,   184,508,516,518,528,
-   6,   137,147,184,410,518,528,
- 128256500,2499,
-   10,   147,184,228,496,507,515,516,518,519,528,
-   9,   147,184,410,489,490,496,515,519,528,
- 50981650,2748,
- 54414000,2613,
- 40807800,2559,
- 52698500,2529,
-   11,   202,423,424,426,428,430,431,438,443,447,496,
- 37499000,2539,
-   7,   424,425,429,431,435,436,496,
- 54038750,2554,
- 39434000,2549,
-   5,   423,424,425,433,496,
-   4,   423,430,433,496,
-   4,   425,433,435,496,
- 51418000,2593,
- 44647865,2578,
- 48918000,2572,
-   6,   442,443,444,447,448,496,
-   5,   438,447,448,467,496,
- 49334500,2587,
-   6,   269,434,442,444,448,496,
-   5,   269,448,460,467,496,
- 47108750,2605,
-   9,   269,430,433,438,455,457,461,467,496,
-   7,   269,460,461,465,466,467,496,
- 41592250,2687,
- 57125500,2650,
- 38123500,2635,
- 56301000,2629,
-   7,   412,425,429,435,436,445,496,
-   5,   432,435,439,445,496,
- 55500500,2643,
-   5,   425,427,433,435,496,
-   6,   422,427,432,435,445,496,
- 38853500,2674,
- 60039500,2667,
- 36659000,2662,
-   5,   439,445,446,449,496,
-   4,   432,445,449,496,
-   6,   446,449,450,451,454,496,
- 60132500,2682,
-   5,   422,432,441,449,496,
-   4,   449,450,454,496,
- 56340000,2715,
- 44301100,2697,
-   5,   427,433,455,456,496,
- 55638350,2708,
-   8,   269,421,455,456,461,465,466,496,
-   6,   421,456,458,459,465,496,
- 44353250,2731,
- 58284000,2725,
-   5,   422,427,441,456,496,
-   5,   441,449,452,454,496,
- 58284000,2740,
-   6,   441,456,458,459,465,496,
-   7,   441,449,452,453,454,458,496,
- 54913550,2793,
- 96800500,2773,
-   20,   228,269,460,463,465,466,472,473,476,477,479,480,481,482,483,484,485,496,527,528,
-   19,   228,393,410,474,475,476,484,485,488,489,490,491,492,493,496,515,518,519,528,
- 80381500,2880,
- 58577500,2840,
- 64084850,2830,
- 55653700,2814,
- 60983000,2809,
-   5,   269,463,465,473,496,
-   4,   269,472,473,496,
- 55784200,2823,
-   6,   458,462,463,464,465,496,
-   6,   462,463,470,472,473,496,
-   9,   269,470,471,472,477,478,479,485,496,
- 72088350,2867,
- 62076000,2860,
- 55581500,2852,
-   5,   453,454,458,462,496,
-   7,   453,454,462,469,470,471,496,
-   6,   452,453,454,468,469,496,
- 61617000,2875,
-   5,   469,471,478,485,496,
-   4,   468,469,485,496,
- 58509500,2904,
- 93798000,2892,
-   7,   269,477,478,480,481,485,496,
-   11,   393,410,474,475,476,485,488,492,493,494,496,
- 125763055,2914,
-   7,   468,469,476,478,485,494,496,
-   8,   393,410,486,487,488,492,494,496,
-0}; //2924
+        27984500, 1383,
+        2537718, 676,
+        12842450, 332,
+        -55514813, 174,
+        -6059000, 101,
+        -117350000, 46,
+        -15190488, 30,
+        -167832984, 25,
+        -28175000, 21,
+        2, 171, 531,
+        3, 30, 55, 89,
+        4, 12, 28, 71, 531,
+        -171131108, 41,
+        -11977500, 38,
+        3, 22, 69, 89,
+        2, 3, 58,
+        4, 27, 28, 58, 71,
+        -18715000, 75,
+        -64521250, 57,
+        6, 209, 219, 227, 270, 409, 531,
+        -28845346, 67,
+        7, 82, 155, 227, 270, 334, 409, 531,
+        7, 186, 219, 227, 270, 334, 337, 409,
+        -59298500, 93,
+        -15616000, 85,
+        5, 209, 219, 227, 340, 409,
+        7, 219, 227, 327, 330, 340, 342, 409,
+        7, 219, 227, 337, 340, 341, 342, 409,
+        -68556225, 144,
+        9859904, 130,
+        -74589500, 124,
+        4965000, 118,
+        -121020000, 114,
+        2, 58, 529,
+        3, 168, 221, 227,
+        5, 117, 127, 221, 227, 529,
+        5, 214, 221, 227, 342, 409,
+        -82018000, 138,
+        5, 117, 148, 227, 529, 530,
+        5, 25, 45, 214, 221, 227,
+        9263257, 156,
+        9, 154, 161, 214, 221, 227, 329, 341, 342, 409,
+        -62448678, 163,
+        4, 33, 214, 221, 227,
+        12365000, 170,
+        4, 37, 73, 214, 227,
+        3, 37, 41, 227,
+        -8371850, 258,
+        -47007000, 205,
+        -19580300, 193,
+        12, 155, 186, 227, 270, 323, 328, 331, 334, 337, 339, 409, 531,
+        11, 186, 227, 316, 333, 335, 336, 337, 339, 340, 341, 409,
+        -11963846, 239,
+        -42991000, 225,
+        -19580300, 218,
+        6, 227, 319, 331, 339, 409, 531,
+        6, 227, 333, 336, 338, 339, 409,
+        -47050000, 231,
+        3, 70, 227, 531,
+        7, 35, 227, 319, 320, 338, 339, 409,
+        -39287170, 250,
+        8, 227, 324, 332, 333, 335, 338, 341, 409,
+        7, 35, 227, 317, 318, 324, 338, 409,
+        -23810000, 294,
+        -1916920, 280,
+        -41616550, 272,
+        7, 227, 332, 333, 335, 340, 341, 409,
+        7, 227, 321, 322, 324, 326, 332, 409,
+        -49307328, 289,
+        6, 129, 154, 227, 325, 341, 409,
+        4, 227, 335, 341, 409,
+        10775000, 312,
+        -5530500, 305,
+        6, 35, 126, 142, 167, 177, 223,
+        6, 120, 144, 164, 172, 177, 223,
+        -6579285, 319,
+        4, 108, 158, 167, 223,
+        11426925, 327,
+        5, 120, 144, 164, 172, 223,
+        4, 144, 172, 223, 225,
+        -85785000, 522,
+        19815000, 418,
+        -95481000, 355,
+        16, 233, 234, 235, 237, 239, 240, 244, 249, 251, 254, 258, 260, 351, 410, 411, 529,
+        17649500, 391,
+        -90249500, 377,
+        14015959, 364,
+        2, 139, 227,
+        -92914500, 372,
+        5, 241, 254, 255, 260, 411,
+        4, 139, 241, 255, 411,
+        14491789, 385,
+        5, 94, 139, 143, 148, 227,
+        5, 95, 139, 143, 148, 411,
+        -90690000, 402,
+        8, 139, 241, 248, 254, 255, 260, 410, 411,
+        19007500, 412,
+        7, 95, 139, 246, 248, 255, 410, 411,
+        5, 245, 246, 248, 410, 411,
+        -100679000, 473,
+        23113500, 451,
+        -104856000, 433,
+        8, 242, 247, 256, 258, 261, 351, 410, 411,
+        20496000, 441,
+        5, 243, 249, 258, 410, 411,
+        9, 236, 242, 243, 250, 257, 258, 261, 410, 411,
+        -104856000, 463,
+        9, 247, 256, 261, 263, 264, 351, 392, 410, 411,
+        9, 250, 252, 257, 261, 262, 264, 392, 410, 411,
+        22023500, 494,
+        -93031500, 488,
+        10, 238, 239, 240, 243, 244, 249, 250, 254, 410, 411,
+        5, 245, 246, 248, 410, 411,
+        -91965000, 512,
+        24517000, 505,
+        6, 250, 252, 254, 259, 410, 411,
+        6, 252, 259, 262, 392, 410, 411,
+        24055000, 518,
+        3, 245, 410, 411,
+        3, 372, 410, 411,
+        17731984, 599,
+        -61364779, 567,
+        16901800, 545,
+        -62626922, 536,
+        5, 33, 143, 148, 221, 227,
+        15684879, 542,
+        3, 41, 56, 227,
+        2, 19, 64,
+        -66701997, 557,
+        17575000, 553,
+        3, 33, 115, 143,
+        3, 33, 79, 115,
+        17551293, 563,
+        3, 31, 33, 44,
+        3, 33, 38, 44,
+        14253000, 582,
+        -23810000, 576,
+        4, 41, 43, 52, 227,
+        5, 80, 158, 172, 223, 225,
+        -20139807, 593,
+        15684879, 590,
+        3, 56, 62, 72,
+        2, 64, 72,
+        5, 158, 172, 218, 223, 225,
+        -63821000, 638,
+        19812550, 616,
+        -68135088, 611,
+        5, 32, 79, 99, 115, 410,
+        4, 23, 38, 76, 410,
+        -72604230, 629,
+        23868000, 625,
+        4, 85, 99, 140, 410,
+        3, 85, 372, 410,
+        20556500, 635,
+        3, 99, 115, 410,
+        2, 59, 410,
+        18772220, 652,
+        -62560260, 647,
+        4, 5, 9, 10, 18,
+        4, 44, 218, 223, 225,
+        -422500, 667,
+        27433500, 662,
+        5, 169, 188, 218, 223, 268,
+        4, 169, 188, 194, 268,
+        26255000, 673,
+        3, 223, 225, 268,
+        2, 194, 268,
+        10511000, 1056,
+        74615395, 878,
+        -5098202, 776,
+        39063250, 738,
+        -20098000, 705,
+        29828500, 699,
+        -50838844, 693,
+        2, 13, 531,
+        5, 105, 185, 200, 213, 222,
+        5, 87, 185, 212, 222, 531,
+        29790000, 725,
+        -14533000, 715,
+        5, 185, 200, 208, 213, 224,
+        26708284, 721,
+        3, 208, 224, 267,
+        3, 208, 216, 267,
+        -14533000, 732,
+        4, 146, 185, 208, 212,
+        5, 146, 208, 212, 216, 267,
+        -12572492, 758,
+        54723903, 749,
+        6, 39, 66, 75, 201, 212, 531,
+        -51460000, 754,
+        2, 42, 531,
+        3, 66, 67, 75,
+        45312387, 766,
+        5, 65, 75, 201, 212, 216,
+        -8413797, 773,
+        4, 46, 66, 75, 201,
+        2, 15, 46,
+        28158500, 820,
+        4039834, 806,
+        11520181, 788,
+        5, 60, 101, 170, 182, 192,
+        -4167751, 794,
+        3, 182, 224, 267,
+        21050000, 802,
+        5, 170, 182, 192, 204, 267,
+        3, 203, 204, 267,
+        6307500, 812,
+        3, 144, 215, 223,
+        7, 192, 203, 204, 215, 226, 231, 267,
+        1202691, 840,
+        40707790, 831,
+        6, 98, 100, 165, 199, 216, 267,
+        -2685000, 836,
+        2, 46, 199,
+        3, 34, 199, 205,
+        39800000, 859,
+        7371000, 855,
+        32140000, 850,
+        3, 165, 203, 267,
+        4, 165, 199, 203, 220,
+        3, 203, 220, 231,
+        7876932, 870,
+        59255071, 867,
+        3, 199, 205, 220,
+        2, 34, 407,
+        59255071, 875,
+        2, 205, 220,
+        2, 275, 407,
+        -3000000, 985,
+        150294500, 942,
+        -19119804, 908,
+        139475000, 894,
+        7, 75, 310, 311, 314, 315, 408, 531,
+        -38750000, 901,
+        4, 312, 313, 408, 531,
+        6, 307, 308, 311, 313, 315, 408,
+        109235707, 918,
+        -11244050, 915,
+        2, 4, 75,
+        2, 21, 232,
+        -11930000, 930,
+        133495000, 926,
+        3, 310, 314, 408,
+        3, 310, 315, 408,
+        128179500, 936,
+        3, 86, 232, 408,
+        5, 191, 232, 310, 315, 408,
+        -25602173, 957,
+        159633500, 953,
+        6, 307, 309, 313, 315, 408, 531,
+        3, 11, 171, 531,
+        162917500, 971,
+        -15102950, 965,
+        3, 90, 315, 408,
+        5, 58, 103, 191, 315, 408,
+        -12405450, 977,
+        3, 83, 89, 90,
+        172466750, 982,
+        2, 58, 103,
+        2, 7, 58,
+        111780000, 1032,
+        7762500, 1018,
+        94680338, 996,
+        4, 34, 123, 274, 407,
+        3547250, 1002,
+        3, 54, 179, 232,
+        98518000, 1008,
+        3, 195, 232, 407,
+        6703442, 1014,
+        3, 179, 195, 232,
+        3, 179, 180, 195,
+        87010150, 1025,
+        4, 123, 290, 291, 407,
+        6, 156, 180, 195, 207, 274, 407,
+        179200, 1043,
+        163201780, 1040,
+        3, 58, 191, 232,
+        2, 6, 58,
+        135909365, 1051,
+        5, 47, 74, 173, 179, 232,
+        4, 26, 53, 58, 232,
+        83124000, 1224,
+        19960000, 1149,
+        51682074, 1098,
+        15484010, 1084,
+        30218500, 1076,
+        9, 144, 192, 203, 204, 215, 223, 225, 226, 231,
+        7, 96, 145, 196, 203, 205, 220, 231,
+        29805981, 1093,
+        6, 223, 225, 226, 230, 231, 268,
+        4, 145, 196, 231, 266,
+        15937400, 1133,
+        74615395, 1116,
+        13175797, 1109,
+        4, 196, 275, 296, 407,
+        6, 196, 289, 296, 304, 407, 528,
+        13727500, 1125,
+        6, 290, 291, 296, 303, 306, 407,
+        7, 296, 302, 303, 304, 306, 407, 528,
+        63445071, 1139,
+        3, 175, 196, 266,
+        9, 294, 296, 298, 302, 303, 304, 306, 407, 528,
+        65200071, 1186,
+        23600000, 1169,
+        24345005, 1162,
+        6, 223, 225, 226, 230, 231, 268,
+        6, 130, 175, 217, 230, 231, 266,
+        40464250, 1178,
+        6, 194, 217, 223, 230, 266, 268,
+        7, 57, 81, 130, 175, 211, 229, 266,
+        22733000, 1204,
+        73363500, 1196,
+        5, 271, 272, 299, 304, 407,
+        7, 294, 298, 299, 301, 304, 407, 528,
+        78350000, 1215,
+        8, 211, 284, 297, 299, 301, 305, 407, 528,
+        8, 152, 211, 294, 301, 305, 407, 524, 528,
+        23445000, 1313,
+        101655895, 1264,
+        20519475, 1245,
+        89826650, 1238,
+        5, 294, 298, 303, 407, 528,
+        6, 162, 195, 207, 274, 407, 528,
+        90515000, 1255,
+        7, 151, 294, 295, 298, 300, 407, 528,
+        8, 151, 162, 207, 280, 281, 407, 523, 528,
+        20722500, 1286,
+        139657216, 1277,
+        8, 156, 162, 173, 180, 195, 500, 513, 528,
+        13893260, 1282,
+        2, 26, 50,
+        3, 26, 48, 410,
+        113717500, 1296,
+        7, 8, 162, 180, 513, 521, 523, 528,
+        21446500, 1303,
+        4, 173, 410, 513, 528,
+        117661250, 1309,
+        3, 61, 513, 528,
+        3, 109, 410, 528,
+        96665000, 1365,
+        26270000, 1341,
+        90515000, 1330,
+        10, 151, 277, 286, 287, 294, 295, 300, 305, 407, 528,
+        10, 151, 207, 277, 278, 279, 280, 281, 286, 407, 528,
+        89297000, 1354,
+        10, 110, 151, 152, 282, 287, 300, 305, 407, 524, 528,
+        10, 110, 151, 207, 278, 285, 286, 300, 407, 524, 528,
+        17, 109, 184, 207, 285, 407, 410, 503, 505, 510, 512, 513, 520, 521, 522, 523, 524, 528,
+        34765500, 2088,
+        43871750, 1765,
+        -77419467, 1641,
+        37102872, 1538,
+        -97787350, 1449,
+        33167350, 1426,
+        -109250000, 1417,
+        29917500, 1410,
+        -136451930, 1404,
+        2, 351, 410,
+        5, 253, 256, 263, 410, 411,
+        6, 253, 263, 388, 391, 410, 411,
+        8, 262, 263, 264, 388, 389, 392, 410, 411,
+        -107843500, 1436,
+        7, 381, 386, 387, 388, 389, 391, 410,
+        36745500, 1443,
+        4, 374, 389, 392, 410,
+        5, 374, 379, 386, 389, 410,
+        35605750, 1496,
+        -87869000, 1463,
+        9, 358, 362, 363, 364, 365, 374, 392, 410, 411,
+        33235750, 1483,
+        -84127000, 1473,
+        5, 364, 370, 372, 410, 411,
+        31517000, 1479,
+        3, 370, 372, 410,
+        3, 354, 370, 410,
+        -84605000, 1490,
+        4, 358, 364, 370, 410,
+        5, 354, 358, 366, 370, 410,
+        -92511000, 1511,
+        36745500, 1506,
+        5, 365, 373, 374, 392, 410,
+        4, 373, 374, 379, 410,
+        36828750, 1527,
+        -86711000, 1521,
+        5, 357, 358, 365, 373, 410,
+        5, 357, 358, 359, 366, 410,
+        -85550145, 1534,
+        4, 357, 369, 373, 410,
+        3, 357, 359, 410,
+        -93735000, 1580,
+        41027722, 1559,
+        -103035000, 1552,
+        7, 378, 381, 384, 386, 387, 391, 410,
+        6, 368, 373, 378, 379, 386, 410,
+        -106550500, 1571,
+        9, 380, 381, 384, 385, 387, 391, 410, 495, 496,
+        8, 368, 377, 378, 382, 384, 396, 410, 495,
+        41152000, 1620,
+        -84227645, 1592,
+        7, 356, 357, 360, 368, 369, 373, 410,
+        39583250, 1607,
+        -79998825, 1602,
+        5, 353, 357, 359, 360, 410,
+        4, 352, 353, 359, 410,
+        -80136500, 1614,
+        4, 353, 360, 361, 410,
+        5, 352, 353, 361, 367, 410,
+        -85763500, 1632,
+        9, 356, 368, 369, 371, 382, 383, 396, 410, 495,
+        8, 356, 360, 361, 367, 383, 396, 410, 495,
+        40158500, 1711,
+        5450000, 1677,
+        37488303, 1664,
+        -48023000, 1658,
+        33142708, 1654,
+        2, 14, 410,
+        3, 359, 366, 410,
+        5, 2, 135, 188, 194, 268,
+        -48023000, 1674,
+        7, 343, 345, 347, 352, 359, 361, 410,
+        2, 135, 194,
+        33983000, 1691,
+        29679481, 1686,
+        4, 153, 217, 230, 268,
+        4, 92, 93, 217, 266,
+        18880000, 1698,
+        4, 36, 153, 174, 268,
+        35765800, 1703,
+        2, 77, 149,
+        23381000, 1708,
+        2, 102, 149,
+        2, 149, 210,
+        5450000, 1749,
+        42383793, 1731,
+        -42050000, 1727,
+        9, 344, 346, 347, 350, 361, 367, 396, 410, 495,
+        3, 135, 194, 197,
+        -66673537, 1742,
+        8, 348, 349, 350, 355, 367, 396, 410, 495,
+        6, 49, 194, 197, 402, 410, 495,
+        15, 0, 1, 84, 97, 102, 118, 119, 133, 141, 149, 163, 174, 197, 210, 496,
+        2192324, 1875,
+        49062290, 1805,
+        -81486250, 1790,
+        18, 371, 375, 376, 377, 380, 382, 383, 384, 385, 390, 394, 395, 396, 398, 399, 410, 495, 496,
+        14, 29, 197, 348, 349, 355, 367, 396, 397, 400, 401, 402, 403, 410, 495,
+        -73790750, 1823,
+        15, 382, 393, 394, 395, 396, 397, 398, 399, 404, 405, 406, 410, 487, 495, 496,
+        56700000, 1847,
+        -31650000, 1832,
+        4, 397, 400, 410, 495,
+        51255000, 1839,
+        4, 17, 20, 166, 197,
+        -5155300, 1844,
+        2, 125, 166,
+        2, 51, 166,
+        -38967380, 1856,
+        6, 265, 397, 400, 406, 410, 495,
+        69452955, 1871,
+        -10127000, 1863,
+        2, 138, 265,
+        61087500, 1868,
+        2, 166, 178,
+        2, 63, 178,
+        3, 40, 178, 265,
+        52859250, 1992,
+        18692500, 1939,
+        47498500, 1917,
+        12946250, 1900,
+        44896100, 1893,
+        11001170, 1890,
+        2, 174, 197,
+        2, 16, 174,
+        6, 24, 111, 131, 174, 183, 197,
+        47177500, 1909,
+        6, 91, 118, 119, 131, 136, 174,
+        15602500, 1914,
+        2, 131, 183,
+        2, 131, 136,
+        11292500, 1932,
+        49234990, 1926,
+        4, 111, 131, 183, 197,
+        5, 68, 106, 112, 183, 197,
+        6, 116, 128, 131, 136, 176, 183,
+        48523000, 1976,
+        19937265, 1955,
+        47139000, 1951,
+        5, 118, 119, 133, 136, 496,
+        3, 116, 136, 496,
+        44323191, 1962,
+        4, 133, 141, 163, 496,
+        24795000, 1971,
+        6, 116, 133, 136, 163, 202, 496,
+        4, 107, 163, 202, 496,
+        23039608, 1985,
+        6, 116, 128, 136, 176, 202, 496,
+        6, 160, 176, 202, 428, 431, 496,
+        28339500, 2045,
+        56976000, 2033,
+        17383500, 2012,
+        55200000, 2009,
+        7618000, 2005,
+        2, 112, 183,
+        3, 113, 176, 183,
+        2, 113, 190,
+        55308000, 2020,
+        5, 122, 160, 176, 414, 496,
+        27083500, 2028,
+        5, 121, 122, 160, 190, 496,
+        4, 121, 160, 440, 496,
+        11, 40, 113, 114, 121, 178, 181, 190, 198, 440, 446, 496,
+        59533150, 2059,
+        11, 160, 178, 429, 431, 436, 439, 440, 445, 446, 449, 496,
+        34171500, 2077,
+        63834000, 2070,
+        6, 178, 181, 413, 446, 451, 496,
+        6, 40, 178, 181, 450, 451, 496,
+        63834000, 2084,
+        4, 446, 449, 451, 496,
+        3, 450, 451, 496,
+        45775000, 2509,
+        87550000, 2293,
+        37135000, 2159,
+        66867226, 2141,
+        32796250, 2115,
+        43200000, 2108,
+        7, 92, 93, 134, 157, 187, 217, 266,
+        6, 88, 187, 206, 211, 229, 266,
+        43200000, 2134,
+        35253300, 2130,
+        37709800, 2126,
+        4, 78, 92, 134, 157,
+        3, 134, 157, 187,
+        3, 157, 187, 210,
+        6, 187, 193, 206, 210, 211, 229,
+        17, 150, 152, 206, 211, 273, 276, 283, 284, 288, 292, 293, 297, 305, 407, 524, 527, 528,
+        46099000, 2246,
+        42291500, 2190,
+        42910000, 2175,
+        39220000, 2171,
+        3, 157, 187, 210,
+        3, 124, 210, 496,
+        40420000, 2183,
+        5, 104, 132, 187, 210, 229,
+        6, 104, 124, 132, 210, 437, 496,
+        44476450, 2230,
+        44203226, 2216,
+        42073685, 2209,
+        43622500, 2203,
+        4, 124, 419, 443, 496,
+        5, 416, 419, 442, 443, 496,
+        6, 124, 417, 418, 419, 442, 496,
+        40808500, 2224,
+        5, 202, 416, 419, 443, 496,
+        5, 419, 442, 443, 444, 496,
+        44337000, 2240,
+        7, 124, 415, 417, 420, 437, 442, 496,
+        5, 434, 437, 442, 444, 496,
+        40175000, 2266,
+        66867226, 2258,
+        7, 104, 132, 187, 189, 193, 206, 229,
+        7, 150, 159, 189, 206, 407, 527, 528,
+        51615000, 2284,
+        44337000, 2278,
+        7, 104, 124, 132, 269, 420, 437, 496,
+        5, 269, 434, 437, 444, 496,
+        8, 150, 159, 189, 193, 269, 496, 527, 528,
+        34345000, 2377,
+        108695500, 2337,
+        30992500, 2320,
+        97458000, 2311,
+        9, 110, 152, 207, 282, 285, 407, 522, 524, 528,
+        8, 207, 502, 512, 514, 522, 523, 524, 528,
+        104198500, 2330,
+        7, 407, 522, 524, 525, 526, 527, 528,
+        6, 502, 514, 517, 522, 525, 528,
+        30428000, 2357,
+        114600000, 2348,
+        6, 502, 510, 512, 514, 520, 528,
+        8, 184, 410, 503, 505, 506, 510, 514, 528,
+        117345000, 2368,
+        8, 502, 504, 506, 511, 514, 517, 525, 528,
+        8, 137, 184, 410, 497, 503, 504, 506, 528,
+        118437543, 2456,
+        37349928, 2401,
+        109480000, 2392,
+        8, 407, 501, 517, 524, 525, 526, 527, 528,
+        8, 504, 506, 508, 509, 511, 516, 517, 528,
+        112356000, 2427,
+        40901000, 2420,
+        103695000, 2413,
+        5, 518, 525, 526, 527, 528,
+        6, 501, 509, 517, 518, 525, 528,
+        6, 228, 496, 518, 525, 527, 528,
+        40901000, 2449,
+        114672500, 2436,
+        4, 509, 516, 518, 528,
+        38485000, 2443,
+        4, 508, 516, 518, 528,
+        5, 498, 499, 516, 518, 528,
+        6, 228, 496, 499, 516, 518, 528,
+        38662500, 2486,
+        123555000, 2479,
+        35585500, 2473,
+        122563000, 2469,
+        4, 504, 506, 508, 528,
+        3, 184, 508, 528,
+        5, 184, 508, 516, 518, 528,
+        6, 137, 147, 184, 410, 518, 528,
+        128256500, 2499,
+        10, 147, 184, 228, 496, 507, 515, 516, 518, 519, 528,
+        9, 147, 184, 410, 489, 490, 496, 515, 519, 528,
+        50981650, 2748,
+        54414000, 2613,
+        40807800, 2559,
+        52698500, 2529,
+        11, 202, 423, 424, 426, 428, 430, 431, 438, 443, 447, 496,
+        37499000, 2539,
+        7, 424, 425, 429, 431, 435, 436, 496,
+        54038750, 2554,
+        39434000, 2549,
+        5, 423, 424, 425, 433, 496,
+        4, 423, 430, 433, 496,
+        4, 425, 433, 435, 496,
+        51418000, 2593,
+        44647865, 2578,
+        48918000, 2572,
+        6, 442, 443, 444, 447, 448, 496,
+        5, 438, 447, 448, 467, 496,
+        49334500, 2587,
+        6, 269, 434, 442, 444, 448, 496,
+        5, 269, 448, 460, 467, 496,
+        47108750, 2605,
+        9, 269, 430, 433, 438, 455, 457, 461, 467, 496,
+        7, 269, 460, 461, 465, 466, 467, 496,
+        41592250, 2687,
+        57125500, 2650,
+        38123500, 2635,
+        56301000, 2629,
+        7, 412, 425, 429, 435, 436, 445, 496,
+        5, 432, 435, 439, 445, 496,
+        55500500, 2643,
+        5, 425, 427, 433, 435, 496,
+        6, 422, 427, 432, 435, 445, 496,
+        38853500, 2674,
+        60039500, 2667,
+        36659000, 2662,
+        5, 439, 445, 446, 449, 496,
+        4, 432, 445, 449, 496,
+        6, 446, 449, 450, 451, 454, 496,
+        60132500, 2682,
+        5, 422, 432, 441, 449, 496,
+        4, 449, 450, 454, 496,
+        56340000, 2715,
+        44301100, 2697,
+        5, 427, 433, 455, 456, 496,
+        55638350, 2708,
+        8, 269, 421, 455, 456, 461, 465, 466, 496,
+        6, 421, 456, 458, 459, 465, 496,
+        44353250, 2731,
+        58284000, 2725,
+        5, 422, 427, 441, 456, 496,
+        5, 441, 449, 452, 454, 496,
+        58284000, 2740,
+        6, 441, 456, 458, 459, 465, 496,
+        7, 441, 449, 452, 453, 454, 458, 496,
+        54913550, 2793,
+        96800500, 2773,
+        20, 228, 269, 460, 463, 465, 466, 472, 473, 476, 477, 479, 480, 481, 482, 483, 484, 485, 496, 527, 528,
+        19, 228, 393, 410, 474, 475, 476, 484, 485, 488, 489, 490, 491, 492, 493, 496, 515, 518, 519, 528,
+        80381500, 2880,
+        58577500, 2840,
+        64084850, 2830,
+        55653700, 2814,
+        60983000, 2809,
+        5, 269, 463, 465, 473, 496,
+        4, 269, 472, 473, 496,
+        55784200, 2823,
+        6, 458, 462, 463, 464, 465, 496,
+        6, 462, 463, 470, 472, 473, 496,
+        9, 269, 470, 471, 472, 477, 478, 479, 485, 496,
+        72088350, 2867,
+        62076000, 2860,
+        55581500, 2852,
+        5, 453, 454, 458, 462, 496,
+        7, 453, 454, 462, 469, 470, 471, 496,
+        6, 452, 453, 454, 468, 469, 496,
+        61617000, 2875,
+        5, 469, 471, 478, 485, 496,
+        4, 468, 469, 485, 496,
+        58509500, 2904,
+        93798000, 2892,
+        7, 269, 477, 478, 480, 481, 485, 496,
+        11, 393, 410, 474, 475, 476, 485, 488, 492, 493, 494, 496,
+        125763055, 2914,
+        7, 468, 469, 476, 478, 485, 494, 496,
+        8, 393, 410, 486, 487, 488, 492, 494, 496,
+        0}; //2924
diff --git a/mapcodelib/mapcode_countrynames.h b/mapcodelib/mapcode_countrynames.h
index 1a15e10..78691dc 100644
--- a/mapcodelib/mapcode_countrynames.h
+++ b/mapcodelib/mapcode_countrynames.h
@@ -12,141 +12,180 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */ 
+ */
 const char *isofullname[] = {
 
-    "Vatican City State (Holy See)", "Monaco (Principality of _)", "Gibraltar", "Tokelau", 
-    "Cocos Islands (Keeling Islands)", "Saint-Barthelemy (Collectivity of _)", "Nauru (Republic of _)", "Tuvalu", 
-    "Macau (Aomen)", "Sint Maarten", "Saint Martin (Collectivity of _)", "Norfolk and Philip Island (Philip Island)", 
-    "Pitcairn Group of Islands", "Bouvet Island", "Bermuda (Somers Isles)", "British Indian Ocean Territory", 
-    "San Marino (Republic of _)", "Guernsey (Bailiwick of _)", "Anguilla", "Montserrat", 
-    "Jersey (Bailiwick of _)", "Christmas Island", "Wallis and Futuna (Futuna) (Collectivity of the _ Islands)", "British Virgin Islands (Virgin Islands, British)", 
-    "Liechtenstein (Principality of _)", "Aruba", "Marshall Islands (Republic of the _)", "American Samoa (Samoa, American)", 
-    "Cook Islands", "Saint Pierre and Miquelon (Miquelon) (Collectivity of _)", "Niue", "Saint Kitts and Nevis (Nevis) (Federation of _)", 
-    "Cayman islands", "Bonaire, St Eustasuis and Saba (Saba) (St Eustasius)", "Maldives (Republic of _)", "Saint Helena, Ascension and Tristan da Cunha (Ascension) (Tristan da Cunha)", 
-    "Malta (Republic of _)", "Grenada", "Virgin Islands of the United States (US Virgin Islands) (American Virgin Islands)", "Mayotte (Maore)", 
-    "Svalbard and Jan Mayen (Jan Mayen) (Spitsbergen)", "Saint Vincent and the Grenadines (Grenadines)", "Heard Island and McDonald Islands (McDonald Islands)", "Barbados", 
-    "Antigua and Barbuda (Barbuda)", "Curacao", "Seychelles (Republic of _)", "Palau (Republic of _)", 
-    "Northern Mariana Islands (Commonwealth of the _)", "Andorra (Principality of _) (Principality of the Valleys of _)", "Guam", "Isle of Mann (Mann)", 
-    "Saint Lucia", "Micronesia (Federated States of Micronesia)", "Singapore (Republic of _)", "Tonga (Kingdom of _)", 
-    "Dominica (Commonwealth of _)", "Bahrain (Kingdom of _)", "Kiribati (Republic of _)", "Turks and Caicos Islands (Caicos Islands)", 
-    "Sao Tome and Principe (Principe) (Democratic Republic of _)", "Hong Kong (Xianggang)", "Martinique", "Faroe Islands", 
-    "Guadeloupe", "Comoros (Union of the _)", "Mauritius (Republic of _)", "Reunion", 
-    "Luxembourg (Grand Duchy of _)", "Samoa (Independent State of _)", "South Georgia and the South Sandwich Islands (South Sandwich Islands)", "French Polynesia (Collectivity of _)", 
-    "Cape Verde (Cabo Verde) (Republic of Cabo Verde)", "Trinidad and Tobago (Republic of _) (Tobago)", "Brunei (Nation of _, the Abode of Peace)", "French Southern and Antarctic Lands", 
-    "Puerto Rico (Commonwealth of _)", "Cyprus (Republic of _)", "Lebanon (Lebanese Republic)", "Jamaica", 
-    "Gambia (The Gambia) (Republic of the _)", "Qatar (State of _)", "Falkland Islands", "Vanuatu (Republic of _)", 
-    "Montenegro", "Bahamas (Commonwealth of the _)", "Timor-Leste (Democratic Republic of _) (East Timor)", "Swaziland (Kingdom of _)", 
-    "Kuwait (State of _)", "Fiji (Republic of _)", "New Caledonia", "Slovenia (Republic of _)", 
-    "Israel (State of _)", "Palestinian territories (State of Palestine)", "El Salvador (Republic of _)", "Belize", 
-    "Djibouti (Republic of _)", "Macedonia (Republic of _) (FYROM) (Former Yugoslav Republic of Macedonia)", "Rwanda (Republic of _)", "Haiti (Republic of _)", 
-    "Burundi (Republic of _)", "Equatorial Guinea (Republic of _)", "Albania (Republic of _)", "Solomon Islands", 
-    "Armenia (Republic of _)", "Lesotho (Kingdom of _)", "Belgium (Kingdom of _)", "Moldova (Republic of _)", 
-    "Guinea-Bissau (Republic of _)", "Taiwan (Republic of China)", "Bhutan (Kingdom of _)", "Switzerland (Swiss Confederation)", 
-    "Netherlands (The Netherlands) (Kingdom of the _)", "Denmark (Kingdom of _)", "Estonia (Republic of _)", "Dominican Republic", 
-    "Slovakia (Slovak Republic)", "Costa Rica (Republic of _)", "Bosnia and Herzegovina", "Croatia (Republic of _)", 
-    "Togo (Togolese Republic)", "Latvia (Republic of _)", "Lithuania (Republic of _)", "Sri Lanka (Democratic Socialist Republic of _)", 
-    "Georgia", "Ireland (Republic of _)", "Sierra Leone (Republic of _)", "Panama (Republic of _)", 
-    "Czech Republic", "French Guiana (Guiana)", "United Arab Emirates (Emirates)", "Austria (Republic of _)", 
-    "Azerbaijan (Republic of _)", "Serbia (Republic of _)", "Jordan (Hashemite Kingdom of _) (Kingdom of _)", "Portugal (Portuguese Republic)", 
-    "Hungary (Republic of _)", "South Korea (Republic of Korea)", "Iceland", "Guatemala (Republic of _)", 
-    "Cuba (Republic of _)", "Bulgaria (Republic of _)", "Liberia (Republic of _)", "Honduras (Republic of _)", 
-    "Benin (Republic of _)", "Eritrea (State of _)", "Malawi (Republic of _)", "North Korea (Democratic People's Republic of Korea)", 
-    "Nicaragua (Republic of _)", "Greece (Hellenic Republic)", "Tajikistan (Republic of _)", "Bangladesh (People's Republic of _)", 
-    "Nepal (Federal Democratic Republic of _)", "Tunisia (Tunisian Republic) (Republic of _)", "Suriname (Republic of _)", "Uruguay (Eastern Republic of _)", 
-    "Cambodia (Kingdom of _)", "Syria (Syrian Arab Republic)", "Senegal (Republic of _)", "Kyrgyzstan (Kyrgyz Republic)", 
-    "Belarus (Republic of _)", "Guyana (Co-operative Republic of _)", "Laos (Lao People's Democratic Republic)", "Romania", 
-    "Ghana (Republic of _)", "Uganda (Republic of _)", "United Kingdom (Scotland) (Great Britain) (Northern Ireland) (Ireland, Northern) (Britain) (United Kingdom of Great Britain and Northern Ireland)", "Guinea (Republic of _) (Guinea-Conakry)", 
-    "Ecuador (Republic of _)", "Western Sahara (Sahrawi Arab Democratic Republic)", "Gabon (Gabonese Republic)", "New Zealand", 
-    "Burkina Faso", "Philippines (Republic of the _)", "Italy (Italian Republic)", "Oman (Sultanate of _)", 
-    "Poland (Republic of _)", "Ivory Coast (Cote d'Ivoire) (Republic of Cote d'Ivoire)", "Norway (Kingdom of _)", "Malaysia", 
-    "Vietnam (Socialist Republic of _)", "Finland (Republic of _)", "Congo-Brazzaville (West Congo) (Republic of the Congo)", "Germany (Federal Republic of _)", 
-    "Japan", "Zimbabwe (Republic of _)", "Paraguay (Republic of _)", "Iraq (Republic of _)", 
-    "Morocco (Kingdom of _)", "Uzbekistan (Republic of _)", "Sweden (Kingdom of _)", "Papua New Guinea (Independent State of _)", 
-    "Cameroon (Republic of _)", "Turkmenistan", "Spain (Kingdom of _)", "Thailand (Kingdom of _)", 
-    "Yemen (Republic of _)", "France (French Republic)", "Aaland Islands", "Kenya (Republic of _)", 
-    "Botswana (Republic of _)", "Madagascar (Republic of _)", "Ukraine", "South Sudan (Republic of _)", 
-    "Central African Republic", "Somalia (Federal Republic of _)", "Afghanistan (Islamic Republic of _)", "Myanmar (Republic of the Union of _) (Burma)", 
-    "Zambia (Republic of _)", "Chile (Republic of _)", "Turkey (Republic of _)", "Pakistan (Islamic Republic of _)", 
-    "Mozambique (Republic of _)", "Namibia (Republic of _)", "Venezuela (Bolivarian Republic of _)", "Nigeria (Federal Republic of _)", 
-    "Tanzania (United Republic of _)", "Egypt (Arab Republic of _)", "Mauritania (Islamic Republic of _)", "Bolivia (Plurinational State of _)", 
-    "Ethiopia (Federal Democratic Republic of _)", "Colombia (Republic of _)", "South Africa (Republic of _)", "Mali (Republic of _)", 
-    "Angola (Republic of _)", "Niger (Republic of _)", "Chad (Republic of _)", "Peru (Republic of _)", 
-    "Mongolia", "Iran (Persia) (Islamic Republic of _)", "Libya", "Sudan (Republic of the _)", 
-    "Indonesia (Republic of _)", "Federal District", "Tlaxcala", "Morelos", 
-    "Aguascalientes", "Colima", "Queretaro", "Hidalgo", 
-    "Mexico State", "Tabasco", "Nayarit", "Guanajuato", 
-    "Puebla", "Yucatan", "Quintana Roo", "Sinaloa", 
-    "Campeche", "Michoacan", "San Luis Potosi", "Guerrero", 
-    "Nuevo Leon (New Leon)", "Baja California", "Veracruz", "Chiapas", 
-    "Baja California Sur", "Zacatecas", "Jalisco", "Tamaulipas", 
-    "Oaxaca", "Durango", "Coahuila", "Sonora", 
-    "Chihuahua", "Greenland", "Saudi Arabia (Kingdom of _)", "Congo-Kinshasa (Democratic Republic of the Congo) (East Congo)", 
-    "Algeria (People's Democratic Republic of _)", "Kazakhstan (Republic of _)", "Argentina (Argentine Republic)", "Daman and Diu", 
-    "Dadra and Nagar Haveli", "Chandigarh", "Andaman and Nicobar", "Lakshadweep", 
-    "Delhi (National Capital Territory of _)", "Meghalaya", "Nagaland", "Manipur", 
-    "Tripura", "Mizoram", "Sikkim", "Punjab", 
-    "Haryana", "Arunachal Pradesh", "Assam", "Bihar", 
-    "Uttarakhand", "Goa", "Kerala", "Tamil Nadu", 
-    "Himachal Pradesh", "Jammu and Kashmir", "Chhattisgarh", "Jharkhand", 
-    "Karnataka", "Rajasthan", "Odisha (Orissa)", "Gujarat", 
-    "West Bengal", "Madhya Pradesh", "Telangana", "Andhra Pradesh", 
-    "Maharashtra", "Uttar Pradesh", "Puducherry", "New South Wales", 
-    "Australian Capital Territory", "Jervis Bay Territory", "Northern Territory", "South Australia", 
-    "Tasmania", "Victoria", "Western Australia", "Queensland", 
-    "Distrito Federal", "Sergipe", "Alagoas", "Rio de Janeiro", 
-    "Espirito Santo", "Rio Grande do Norte", "Paraiba", "Santa Catarina", 
-    "Pernambuco", "Amapa", "Ceara", "Acre", 
-    "Parana", "Roraima", "Rondonia", "Sao Paulo", 
-    "Piaui", "Tocantins", "Rio Grande do Sul", "Maranhao", 
-    "Goias", "Mato Grosso do Sul", "Bahia", "Minas Gerais", 
-    "Mato Grosso", "Para", "Amazonas", "District of Columbia (Washington, D.C.)", 
-    "Rhode Island", "Delaware", "Connecticut", "New Jersey", 
-    "New Hampshire", "Vermont", "Massachusetts (Commonwealth of _)", "Hawaii", 
-    "Maryland", "West Virginia", "South Carolina", "Maine", 
-    "Indiana", "Kentucky (Commonwealth of _)", "Tennessee", "Virginia (Commonwealth of _)", 
-    "Ohio", "Pennsylvania (Commonwealth of _)", "Mississippi", "Louisiana", 
-    "Alabama", "Arkansas", "North Carolina", "New York", 
-    "Iowa", "Illinois", "Georgia", "Wisconsin", 
-    "Florida", "Missouri", "Oklahoma", "North Dakota", 
-    "Washington", "South Dakota", "Nebraska", "Kansas", 
-    "Idaho", "Utah", "Minnesota", "Michigan", 
-    "Wyoming", "Oregon", "Colorado", "Nevada", 
-    "Arizona", "New Mexico", "Montana", "California", 
-    "Texas", "Alaska", "British Columbia", "Alberta", 
-    "Ontario", "Quebec", "Saskatchewan", "Manitoba", 
-    "Newfoundland and Labrador (Labrador)", "New Brunswick", "Nova Scotia", "Prince Edward Island", 
-    "Yukon", "Northwest Territories", "Nunavut", "India (Republic of _)", 
-    "Australia (Commonwealth of _)", "Brazil (Federative Republic of _)", "USA (United States of America) (America)", "Mexico (United Mexican States)", 
-    "Moscow", "Saint Petersburg", "Kaliningrad Oblast", "Ingushetia", 
-    "Adygea Republic", "North Ossetia-Alania Republic", "Kabardino-Balkar Republic", "Karachay-Cherkess Republic", 
-    "Chechen Republic (Chechnya) (Ichkeria)", "Chuvash Republic", "Ivanovo Oblast", "Lipetsk Oblast", 
-    "Oryol Oblast", "Tula Oblast", "Belgorod Oblast", "Vladimir Oblast", 
-    "Kursk Oblast", "Kaluga Oblast", "Tambov Oblast", "Bryansk Oblast", 
-    "Yaroslavl Oblast", "Ryazan Oblast", "Astrakhan Oblast", "Moscow Oblast", 
-    "Smolensk Oblast", "Dagestan Republic", "Voronezh Oblast", "Novgorod Oblast", 
-    "Pskov Oblast", "Kostroma Oblast", "Stavropol Krai", "Krasnodar Krai", 
-    "Kalmykia Republic", "Tver Oblast", "Leningrad Oblast", "Rostov Oblast", 
-    "Volgograd Oblast", "Vologda Oblast", "Murmansk Oblast", "Karelia Republic", 
-    "Nenets Autonomous Okrug", "Komi Republic", "Arkhangelsk Oblast", "Mordovia Republic", 
-    "Nizhny Novgorod Oblast", "Penza Oblast", "Kirov Oblast", "Mari El Republic", 
-    "Orenburg Oblast", "Ulyanovsk Oblast", "Perm Krai", "Bashkortostan Republic", 
-    "Udmurt Republic", "Tatarstan Republic", "Samara Oblast", "Saratov Oblast", 
-    "Yamalo-Nenets", "Khanty-Mansi", "Sverdlovsk Oblast", "Tyumen Oblast", 
-    "Kurgan Oblast", "Chelyabinsk Oblast", "Buryatia Republic", "Zabaykalsky Krai", 
-    "Irkutsk Oblast", "Novosibirsk Oblast", "Tomsk Oblast", "Omsk Oblast", 
-    "Khakassia Republic", "Kemerovo Oblast", "Altai Republic", "Altai Krai", 
-    "Tuva Republic", "Krasnoyarsk Krai", "Magadan Oblast", "Chukotka Okrug", 
-    "Kamchatka Krai", "Sakhalin Oblast", "Primorsky Krai", "Jewish Autonomous Oblast", 
-    "Khabarovsk Krai", "Amur Oblast", "Sakha Republic (Yakutia Republic)", "Canada", 
-    "Russia (Russian Federation)", "Shanghai Municipality", "Tianjin Municipality", "Beijing Municipality", 
-    "Hainan Province", "Ningxia Hui Autonomous Region", "Chongqing Municipality", "Zhejiang Province", 
-    "Jiangsu Province", "Fujian Province", "Anhui Province", "Liaoning Province", 
-    "Shandong Province", "Shanxi Province", "Jiangxi Province", "Henan Province", 
-    "Guizhou Province", "Guangdong Province", "Hubei Province", "Jilin Province", 
-    "Hebei Province (Yanzhao Province)", "Shaanxi Province", "Nei Mongol Autonomous Region (Inner Mongolia)", "Heilongjiang Province", 
-    "Hunan Province", "Guangxi Zhuang Autonomous Region", "Sichuan Province", "Yunnan Province", 
-    "Xizang Autonomous Region (Tibet)", "Gansu Province", "Qinghai Province (Tsinghai Province)", "Xinjiang Uyghur Autonomous Region", 
-    "China (People's Republic of _)", "United States Minor Outlying Islands", "Clipperton Island", "Antarctica", 
-    "International (Worldwide) (Earth)", "?"};
+        "Vatican City State (Holy See)", "Monaco (Principality of _)", "Gibraltar", "Tokelau",
+        "Cocos Islands (Keeling Islands)", "Saint-Barthelemy (Collectivity of _)", "Nauru (Republic of _)", "Tuvalu",
+        "Macau (Aomen)", "Sint Maarten", "Saint Martin (Collectivity of _)",
+        "Norfolk and Philip Island (Philip Island)",
+        "Pitcairn Group of Islands", "Bouvet Island", "Bermuda (Somers Isles)", "British Indian Ocean Territory",
+        "San Marino (Republic of _)", "Guernsey (Bailiwick of _)", "Anguilla", "Montserrat",
+        "Jersey (Bailiwick of _)", "Christmas Island", "Wallis and Futuna (Futuna) (Collectivity of the _ Islands)",
+        "British Virgin Islands (Virgin Islands, British)",
+        "Liechtenstein (Principality of _)", "Aruba", "Marshall Islands (Republic of the _)",
+        "American Samoa (Samoa, American)",
+        "Cook Islands", "Saint Pierre and Miquelon (Miquelon) (Collectivity of _)", "Niue",
+        "Saint Kitts and Nevis (Nevis) (Federation of _)",
+        "Cayman islands", "Bonaire, St Eustasuis and Saba (Saba) (St Eustasius)", "Maldives (Republic of _)",
+        "Saint Helena, Ascension and Tristan da Cunha (Ascension) (Tristan da Cunha)",
+        "Malta (Republic of _)", "Grenada",
+        "Virgin Islands of the United States (US Virgin Islands) (American Virgin Islands)", "Mayotte (Maore)",
+        "Svalbard and Jan Mayen (Jan Mayen) (Spitsbergen)", "Saint Vincent and the Grenadines (Grenadines)",
+        "Heard Island and McDonald Islands (McDonald Islands)", "Barbados",
+        "Antigua and Barbuda (Barbuda)", "Curacao", "Seychelles (Republic of _)", "Palau (Republic of _)",
+        "Northern Mariana Islands (Commonwealth of the _)",
+        "Andorra (Principality of _) (Principality of the Valleys of _)", "Guam", "Isle of Mann (Mann)",
+        "Saint Lucia", "Micronesia (Federated States of Micronesia)", "Singapore (Republic of _)",
+        "Tonga (Kingdom of _)",
+        "Dominica (Commonwealth of _)", "Bahrain (Kingdom of _)", "Kiribati (Republic of _)",
+        "Turks and Caicos Islands (Caicos Islands)",
+        "Sao Tome and Principe (Principe) (Democratic Republic of _)", "Hong Kong (Xianggang)", "Martinique",
+        "Faroe Islands",
+        "Guadeloupe", "Comoros (Union of the _)", "Mauritius (Republic of _)", "Reunion",
+        "Luxembourg (Grand Duchy of _)", "Samoa (Independent State of _)",
+        "South Georgia and the South Sandwich Islands (South Sandwich Islands)", "French Polynesia (Collectivity of _)",
+        "Cape Verde (Cabo Verde) (Republic of Cabo Verde)", "Trinidad and Tobago (Republic of _) (Tobago)",
+        "Brunei (Nation of _, the Abode of Peace)", "French Southern and Antarctic Lands",
+        "Puerto Rico (Commonwealth of _)", "Cyprus (Republic of _)", "Lebanon (Lebanese Republic)", "Jamaica",
+        "Gambia (The Gambia) (Republic of the _)", "Qatar (State of _)", "Falkland Islands", "Vanuatu (Republic of _)",
+        "Montenegro", "Bahamas (Commonwealth of the _)", "Timor-Leste (Democratic Republic of _) (East Timor)",
+        "Swaziland (Kingdom of _)",
+        "Kuwait (State of _)", "Fiji (Republic of _)", "New Caledonia", "Slovenia (Republic of _)",
+        "Israel (State of _)", "Palestinian territories (State of Palestine)", "El Salvador (Republic of _)", "Belize",
+        "Djibouti (Republic of _)", "Macedonia (Republic of _) (FYROM) (Former Yugoslav Republic of Macedonia)",
+        "Rwanda (Republic of _)", "Haiti (Republic of _)",
+        "Burundi (Republic of _)", "Equatorial Guinea (Republic of _)", "Albania (Republic of _)", "Solomon Islands",
+        "Armenia (Republic of _)", "Lesotho (Kingdom of _)", "Belgium (Kingdom of _)", "Moldova (Republic of _)",
+        "Guinea-Bissau (Republic of _)", "Taiwan (Republic of China)", "Bhutan (Kingdom of _)",
+        "Switzerland (Swiss Confederation)",
+        "Netherlands (The Netherlands) (Kingdom of the _)", "Denmark (Kingdom of _)", "Estonia (Republic of _)",
+        "Dominican Republic",
+        "Slovakia (Slovak Republic)", "Costa Rica (Republic of _)", "Bosnia and Herzegovina", "Croatia (Republic of _)",
+        "Togo (Togolese Republic)", "Latvia (Republic of _)", "Lithuania (Republic of _)",
+        "Sri Lanka (Democratic Socialist Republic of _)",
+        "Georgia", "Ireland (Republic of _)", "Sierra Leone (Republic of _)", "Panama (Republic of _)",
+        "Czech Republic", "French Guiana (Guiana)", "United Arab Emirates (Emirates)", "Austria (Republic of _)",
+        "Azerbaijan (Republic of _)", "Serbia (Republic of _)", "Jordan (Hashemite Kingdom of _) (Kingdom of _)",
+        "Portugal (Portuguese Republic)",
+        "Hungary (Republic of _)", "South Korea (Republic of Korea)", "Iceland", "Guatemala (Republic of _)",
+        "Cuba (Republic of _)", "Bulgaria (Republic of _)", "Liberia (Republic of _)", "Honduras (Republic of _)",
+        "Benin (Republic of _)", "Eritrea (State of _)", "Malawi (Republic of _)",
+        "North Korea (Democratic People's Republic of Korea)",
+        "Nicaragua (Republic of _)", "Greece (Hellenic Republic)", "Tajikistan (Republic of _)",
+        "Bangladesh (People's Republic of _)",
+        "Nepal (Federal Democratic Republic of _)", "Tunisia (Tunisian Republic) (Republic of _)",
+        "Suriname (Republic of _)", "Uruguay (Eastern Republic of _)",
+        "Cambodia (Kingdom of _)", "Syria (Syrian Arab Republic)", "Senegal (Republic of _)",
+        "Kyrgyzstan (Kyrgyz Republic)",
+        "Belarus (Republic of _)", "Guyana (Co-operative Republic of _)", "Laos (Lao People's Democratic Republic)",
+        "Romania",
+        "Ghana (Republic of _)", "Uganda (Republic of _)",
+        "United Kingdom (Scotland) (Great Britain) (Northern Ireland) (Ireland, Northern) (Britain) (United Kingdom of Great Britain and Northern Ireland)",
+        "Guinea (Republic of _) (Guinea-Conakry)",
+        "Ecuador (Republic of _)", "Western Sahara (Sahrawi Arab Democratic Republic)", "Gabon (Gabonese Republic)",
+        "New Zealand",
+        "Burkina Faso", "Philippines (Republic of the _)", "Italy (Italian Republic)", "Oman (Sultanate of _)",
+        "Poland (Republic of _)", "Ivory Coast (Cote d'Ivoire) (Republic of Cote d'Ivoire)", "Norway (Kingdom of _)",
+        "Malaysia",
+        "Vietnam (Socialist Republic of _)", "Finland (Republic of _)",
+        "Congo-Brazzaville (West Congo) (Republic of the Congo)", "Germany (Federal Republic of _)",
+        "Japan", "Zimbabwe (Republic of _)", "Paraguay (Republic of _)", "Iraq (Republic of _)",
+        "Morocco (Kingdom of _)", "Uzbekistan (Republic of _)", "Sweden (Kingdom of _)",
+        "Papua New Guinea (Independent State of _)",
+        "Cameroon (Republic of _)", "Turkmenistan", "Spain (Kingdom of _)", "Thailand (Kingdom of _)",
+        "Yemen (Republic of _)", "France (French Republic)", "Aaland Islands", "Kenya (Republic of _)",
+        "Botswana (Republic of _)", "Madagascar (Republic of _)", "Ukraine", "South Sudan (Republic of _)",
+        "Central African Republic", "Somalia (Federal Republic of _)", "Afghanistan (Islamic Republic of _)",
+        "Myanmar (Republic of the Union of _) (Burma)",
+        "Zambia (Republic of _)", "Chile (Republic of _)", "Turkey (Republic of _)", "Pakistan (Islamic Republic of _)",
+        "Mozambique (Republic of _)", "Namibia (Republic of _)", "Venezuela (Bolivarian Republic of _)",
+        "Nigeria (Federal Republic of _)",
+        "Tanzania (United Republic of _)", "Egypt (Arab Republic of _)", "Mauritania (Islamic Republic of _)",
+        "Bolivia (Plurinational State of _)",
+        "Ethiopia (Federal Democratic Republic of _)", "Colombia (Republic of _)", "South Africa (Republic of _)",
+        "Mali (Republic of _)",
+        "Angola (Republic of _)", "Niger (Republic of _)", "Chad (Republic of _)", "Peru (Republic of _)",
+        "Mongolia", "Iran (Persia) (Islamic Republic of _)", "Libya", "Sudan (Republic of the _)",
+        "Indonesia (Republic of _)", "Federal District", "Tlaxcala", "Morelos",
+        "Aguascalientes", "Colima", "Queretaro", "Hidalgo",
+        "Mexico State", "Tabasco", "Nayarit", "Guanajuato",
+        "Puebla", "Yucatan", "Quintana Roo", "Sinaloa",
+        "Campeche", "Michoacan", "San Luis Potosi", "Guerrero",
+        "Nuevo Leon (New Leon)", "Baja California", "Veracruz", "Chiapas",
+        "Baja California Sur", "Zacatecas", "Jalisco", "Tamaulipas",
+        "Oaxaca", "Durango", "Coahuila", "Sonora",
+        "Chihuahua", "Greenland", "Saudi Arabia (Kingdom of _)",
+        "Congo-Kinshasa (Democratic Republic of the Congo) (East Congo)",
+        "Algeria (People's Democratic Republic of _)", "Kazakhstan (Republic of _)", "Argentina (Argentine Republic)",
+        "Daman and Diu",
+        "Dadra and Nagar Haveli", "Chandigarh", "Andaman and Nicobar", "Lakshadweep",
+        "Delhi (National Capital Territory of _)", "Meghalaya", "Nagaland", "Manipur",
+        "Tripura", "Mizoram", "Sikkim", "Punjab",
+        "Haryana", "Arunachal Pradesh", "Assam", "Bihar",
+        "Uttarakhand", "Goa", "Kerala", "Tamil Nadu",
+        "Himachal Pradesh", "Jammu and Kashmir", "Chhattisgarh", "Jharkhand",
+        "Karnataka", "Rajasthan", "Odisha (Orissa)", "Gujarat",
+        "West Bengal", "Madhya Pradesh", "Telangana", "Andhra Pradesh",
+        "Maharashtra", "Uttar Pradesh", "Puducherry", "New South Wales",
+        "Australian Capital Territory", "Jervis Bay Territory", "Northern Territory", "South Australia",
+        "Tasmania", "Victoria", "Western Australia", "Queensland",
+        "Distrito Federal", "Sergipe", "Alagoas", "Rio de Janeiro",
+        "Espirito Santo", "Rio Grande do Norte", "Paraiba", "Santa Catarina",
+        "Pernambuco", "Amapa", "Ceara", "Acre",
+        "Parana", "Roraima", "Rondonia", "Sao Paulo",
+        "Piaui", "Tocantins", "Rio Grande do Sul", "Maranhao",
+        "Goias", "Mato Grosso do Sul", "Bahia", "Minas Gerais",
+        "Mato Grosso", "Para", "Amazonas", "District of Columbia (Washington, D.C.)",
+        "Rhode Island", "Delaware", "Connecticut", "New Jersey",
+        "New Hampshire", "Vermont", "Massachusetts (Commonwealth of _)", "Hawaii",
+        "Maryland", "West Virginia", "South Carolina", "Maine",
+        "Indiana", "Kentucky (Commonwealth of _)", "Tennessee", "Virginia (Commonwealth of _)",
+        "Ohio", "Pennsylvania (Commonwealth of _)", "Mississippi", "Louisiana",
+        "Alabama", "Arkansas", "North Carolina", "New York",
+        "Iowa", "Illinois", "Georgia", "Wisconsin",
+        "Florida", "Missouri", "Oklahoma", "North Dakota",
+        "Washington", "South Dakota", "Nebraska", "Kansas",
+        "Idaho", "Utah", "Minnesota", "Michigan",
+        "Wyoming", "Oregon", "Colorado", "Nevada",
+        "Arizona", "New Mexico", "Montana", "California",
+        "Texas", "Alaska", "British Columbia", "Alberta",
+        "Ontario", "Quebec", "Saskatchewan", "Manitoba",
+        "Newfoundland and Labrador (Labrador)", "New Brunswick", "Nova Scotia", "Prince Edward Island",
+        "Yukon", "Northwest Territories", "Nunavut", "India (Republic of _)",
+        "Australia (Commonwealth of _)", "Brazil (Federative Republic of _)",
+        "USA (United States of America) (America)", "Mexico (United Mexican States)",
+        "Moscow", "Saint Petersburg", "Kaliningrad Oblast", "Ingushetia",
+        "Adygea Republic", "North Ossetia-Alania Republic", "Kabardino-Balkar Republic", "Karachay-Cherkess Republic",
+        "Chechen Republic (Chechnya) (Ichkeria)", "Chuvash Republic", "Ivanovo Oblast", "Lipetsk Oblast",
+        "Oryol Oblast", "Tula Oblast", "Belgorod Oblast", "Vladimir Oblast",
+        "Kursk Oblast", "Kaluga Oblast", "Tambov Oblast", "Bryansk Oblast",
+        "Yaroslavl Oblast", "Ryazan Oblast", "Astrakhan Oblast", "Moscow Oblast",
+        "Smolensk Oblast", "Dagestan Republic", "Voronezh Oblast", "Novgorod Oblast",
+        "Pskov Oblast", "Kostroma Oblast", "Stavropol Krai", "Krasnodar Krai",
+        "Kalmykia Republic", "Tver Oblast", "Leningrad Oblast", "Rostov Oblast",
+        "Volgograd Oblast", "Vologda Oblast", "Murmansk Oblast", "Karelia Republic",
+        "Nenets Autonomous Okrug", "Komi Republic", "Arkhangelsk Oblast", "Mordovia Republic",
+        "Nizhny Novgorod Oblast", "Penza Oblast", "Kirov Oblast", "Mari El Republic",
+        "Orenburg Oblast", "Ulyanovsk Oblast", "Perm Krai", "Bashkortostan Republic",
+        "Udmurt Republic", "Tatarstan Republic", "Samara Oblast", "Saratov Oblast",
+        "Yamalo-Nenets", "Khanty-Mansi", "Sverdlovsk Oblast", "Tyumen Oblast",
+        "Kurgan Oblast", "Chelyabinsk Oblast", "Buryatia Republic", "Zabaykalsky Krai",
+        "Irkutsk Oblast", "Novosibirsk Oblast", "Tomsk Oblast", "Omsk Oblast",
+        "Khakassia Republic", "Kemerovo Oblast", "Altai Republic", "Altai Krai",
+        "Tuva Republic", "Krasnoyarsk Krai", "Magadan Oblast", "Chukotka Okrug",
+        "Kamchatka Krai", "Sakhalin Oblast", "Primorsky Krai", "Jewish Autonomous Oblast",
+        "Khabarovsk Krai", "Amur Oblast", "Sakha Republic (Yakutia Republic)", "Canada",
+        "Russia (Russian Federation)", "Shanghai Municipality", "Tianjin Municipality", "Beijing Municipality",
+        "Hainan Province", "Ningxia Hui Autonomous Region", "Chongqing Municipality", "Zhejiang Province",
+        "Jiangsu Province", "Fujian Province", "Anhui Province", "Liaoning Province",
+        "Shandong Province", "Shanxi Province", "Jiangxi Province", "Henan Province",
+        "Guizhou Province", "Guangdong Province", "Hubei Province", "Jilin Province",
+        "Hebei Province (Yanzhao Province)", "Shaanxi Province", "Nei Mongol Autonomous Region (Inner Mongolia)",
+        "Heilongjiang Province",
+        "Hunan Province", "Guangxi Zhuang Autonomous Region", "Sichuan Province", "Yunnan Province",
+        "Xizang Autonomous Region (Tibet)", "Gansu Province", "Qinghai Province (Tsinghai Province)",
+        "Xinjiang Uyghur Autonomous Region",
+        "China (People's Republic of _)", "United States Minor Outlying Islands", "Clipperton Island", "Antarctica",
+        "International (Worldwide) (Earth)", "?"};
 
diff --git a/mapcodelib/mapcode_countrynames_short.h b/mapcodelib/mapcode_countrynames_short.h
index 954f738..9fe3871 100644
--- a/mapcodelib/mapcode_countrynames_short.h
+++ b/mapcodelib/mapcode_countrynames_short.h
@@ -12,540 +12,540 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */ 
+ */
 const char *isofullname[] = {
-"Vatican City State (Holy See)",
-"Monaco",
-"Gibraltar",
-"Tokelau",
-"Cocos Islands (Keeling Islands)",
-"Saint-Barthelemy",
-"Nauru",
-"Tuvalu",
-"Macau (Aomen)",
-"Sint Maarten",
-"Saint Martin",
-"Norfolk and Philip Island (Philip Island)",
-"Pitcairn Group of Islands",
-"Bouvet Island",
-"Bermuda (Somers Isles)",
-"British Indian Ocean Territory",
-"San Marino",
-"Guernsey",
-"Anguilla",
-"Montserrat",
-"Jersey",
-"Christmas Island",
-"Wallis and Futuna (Futuna)",
-"British Virgin Islands (Virgin Islands, British)",
-"Liechtenstein",
-"Aruba",
-"Marshall Islands",
-"American Samoa (Samoa, American)",
-"Cook Islands",
-"Saint Pierre and Miquelon (Miquelon)",
-"Niue",
-"Saint Kitts and Nevis (Nevis)",
-"Cayman islands",
-"Bonaire, St Eustasuis and Saba (Saba) (St Eustasius)",
-"Maldives",
-"Saint Helena, Ascension and Tristan da Cunha (Ascension) (Tristan da Cunha)",
-"Malta",
-"Grenada",
-"Virgin Islands of the United States (US Virgin Islands) (American Virgin Islands)",
-"Mayotte (Maore)",
-"Svalbard and Jan Mayen (Jan Mayen) (Spitsbergen)",
-"Saint Vincent and the Grenadines (Grenadines)",
-"Heard Island and McDonald Islands (McDonald Islands)",
-"Barbados",
-"Antigua and Barbuda (Barbuda)",
-"Curacao",
-"Seychelles",
-"Palau",
-"Northern Mariana Islands",
-"Andorra",
-"Guam",
-"Isle of Mann (Mann)",
-"Saint Lucia",
-"Micronesia (Federated States of Micronesia)",
-"Singapore",
-"Tonga",
-"Dominica",
-"Bahrain",
-"Kiribati",
-"Turks and Caicos Islands (Caicos Islands)",
-"Sao Tome and Principe (Principe)",
-"Hong Kong (Xianggang)",
-"Martinique",
-"Faroe Islands",
-"Guadeloupe",
-"Comoros",
-"Mauritius",
-"Reunion",
-"Luxembourg",
-"Samoa",
-"South Georgia and the South Sandwich Islands (South Sandwich Islands)",
-"French Polynesia",
-"Cape Verde (Cabo Verde) (Republic of Cabo Verde)",
-"Trinidad and Tobago (Tobago)",
-"Brunei",
-"French Southern and Antarctic Lands",
-"Puerto Rico",
-"Cyprus",
-"Lebanon (Lebanese Republic)",
-"Jamaica",
-"Gambia (The Gambia)",
-"Qatar",
-"Falkland Islands",
-"Vanuatu",
-"Montenegro",
-"Bahamas",
-"Timor-Leste (East Timor)",
-"Swaziland",
-"Kuwait",
-"Fiji",
-"New Caledonia",
-"Slovenia",
-"Israel",
-"Palestinian territories (State of Palestine)",
-"El Salvador",
-"Belize",
-"Djibouti",
-"Macedonia (FYROM) (Former Yugoslav Republic of Macedonia)",
-"Rwanda",
-"Haiti",
-"Burundi",
-"Equatorial Guinea",
-"Albania",
-"Solomon Islands",
-"Armenia",
-"Lesotho",
-"Belgium",
-"Moldova",
-"Guinea-Bissau",
-"Taiwan (Republic of China)",
-"Bhutan",
-"Switzerland (Swiss Confederation)",
-"Netherlands (The Netherlands)",
-"Denmark",
-"Estonia",
-"Dominican Republic",
-"Slovakia (Slovak Republic)",
-"Costa Rica",
-"Bosnia and Herzegovina",
-"Croatia",
-"Togo (Togolese Republic)",
-"Latvia",
-"Lithuania",
-"Sri Lanka",
-"Georgia",
-"Ireland",
-"Sierra Leone",
-"Panama",
-"Czech Republic",
-"French Guiana (Guiana)",
-"United Arab Emirates (Emirates)",
-"Austria",
-"Azerbaijan",
-"Serbia",
-"Jordan",
-"Portugal (Portuguese Republic)",
-"Hungary",
-"South Korea (Republic of Korea)",
-"Iceland",
-"Guatemala",
-"Cuba",
-"Bulgaria",
-"Liberia",
-"Honduras",
-"Benin",
-"Eritrea",
-"Malawi",
-"North Korea (Democratic People's Republic of Korea)",
-"Nicaragua",
-"Greece (Hellenic Republic)",
-"Tajikistan",
-"Bangladesh",
-"Nepal",
-"Tunisia (Tunisian Republic)",
-"Suriname",
-"Uruguay",
-"Cambodia",
-"Syria (Syrian Arab Republic)",
-"Senegal",
-"Kyrgyzstan (Kyrgyz Republic)",
-"Belarus",
-"Guyana",
-"Laos (Lao People's Democratic Republic)",
-"Romania",
-"Ghana",
-"Uganda",
-"United Kingdom (Scotland) (Great Britain) (Northern Ireland) (Ireland, Northern) (Britain) (United Kingdom of Great Britain and Northern Ireland)",
-"Guinea (Guinea-Conakry)",
-"Ecuador",
-"Western Sahara (Sahrawi Arab Democratic Republic)",
-"Gabon (Gabonese Republic)",
-"New Zealand",
-"Burkina Faso",
-"Philippines",
-"Italy (Italian Republic)",
-"Oman",
-"Poland",
-"Ivory Coast (Cote d'Ivoire) (Republic of Cote d'Ivoire)",
-"Norway",
-"Malaysia",
-"Vietnam",
-"Finland",
-"Congo-Brazzaville (West Congo) (Republic of the Congo)",
-"Germany",
-"Japan",
-"Zimbabwe",
-"Paraguay",
-"Iraq",
-"Morocco",
-"Uzbekistan",
-"Sweden",
-"Papua New Guinea",
-"Cameroon",
-"Turkmenistan",
-"Spain",
-"Thailand",
-"Yemen",
-"France (French Republic)",
-"Aaland Islands",
-"Kenya",
-"Botswana",
-"Madagascar",
-"Ukraine",
-"South Sudan",
-"Central African Republic",
-"Somalia",
-"Afghanistan",
-"Myanmar (Burma)",
-"Zambia",
-"Chile",
-"Turkey",
-"Pakistan",
-"Mozambique",
-"Namibia",
-"Venezuela",
-"Nigeria",
-"Tanzania",
-"Egypt",
-"Mauritania",
-"Bolivia",
-"Ethiopia",
-"Colombia",
-"South Africa",
-"Mali",
-"Angola",
-"Niger",
-"Chad",
-"Peru",
-"Mongolia",
-"Iran (Persia)",
-"Libya",
-"Sudan",
-"Indonesia",
-"Federal District",
-"Tlaxcala",
-"Morelos",
-"Aguascalientes",
-"Colima",
-"Queretaro",
-"Hidalgo",
-"Mexico State",
-"Tabasco",
-"Nayarit",
-"Guanajuato",
-"Puebla",
-"Yucatan",
-"Quintana Roo",
-"Sinaloa",
-"Campeche",
-"Michoacan",
-"San Luis Potosi",
-"Guerrero",
-"Nuevo Leon (New Leon)",
-"Baja California",
-"Veracruz",
-"Chiapas",
-"Baja California Sur",
-"Zacatecas",
-"Jalisco",
-"Tamaulipas",
-"Oaxaca",
-"Durango",
-"Coahuila",
-"Sonora",
-"Chihuahua",
-"Greenland",
-"Saudi Arabia",
-"Congo-Kinshasa (Democratic Republic of the Congo) (East Congo)",
-"Algeria",
-"Kazakhstan",
-"Argentina (Argentine Republic)",
-"Daman and Diu",
-"Dadra and Nagar Haveli",
-"Chandigarh",
-"Andaman and Nicobar",
-"Lakshadweep",
-"Delhi",
-"Meghalaya",
-"Nagaland",
-"Manipur",
-"Tripura",
-"Mizoram",
-"Sikkim",
-"Punjab",
-"Haryana",
-"Arunachal Pradesh",
-"Assam",
-"Bihar",
-"Uttarakhand",
-"Goa",
-"Kerala",
-"Tamil Nadu",
-"Himachal Pradesh",
-"Jammu and Kashmir",
-"Chhattisgarh",
-"Jharkhand",
-"Karnataka",
-"Rajasthan",
-"Odisha (Orissa)",
-"Gujarat",
-"West Bengal",
-"Madhya Pradesh",
-"Telangana",
-"Andhra Pradesh",
-"Maharashtra",
-"Uttar Pradesh",
-"Puducherry",
-"New South Wales",
-"Australian Capital Territory",
-"Jervis Bay Territory",
-"Northern Territory",
-"South Australia",
-"Tasmania",
-"Victoria",
-"Western Australia",
-"Queensland",
-"Distrito Federal",
-"Sergipe",
-"Alagoas",
-"Rio de Janeiro",
-"Espirito Santo",
-"Rio Grande do Norte",
-"Paraiba",
-"Santa Catarina",
-"Pernambuco",
-"Amapa",
-"Ceara",
-"Acre",
-"Parana",
-"Roraima",
-"Rondonia",
-"Sao Paulo",
-"Piaui",
-"Tocantins",
-"Rio Grande do Sul",
-"Maranhao",
-"Goias",
-"Mato Grosso do Sul",
-"Bahia",
-"Minas Gerais",
-"Mato Grosso",
-"Para",
-"Amazonas",
-"District of Columbia (Washington, D.C.)",
-"Rhode Island",
-"Delaware",
-"Connecticut",
-"New Jersey",
-"New Hampshire",
-"Vermont",
-"Massachusetts",
-"Hawaii",
-"Maryland",
-"West Virginia",
-"South Carolina",
-"Maine",
-"Indiana",
-"Kentucky",
-"Tennessee",
-"Virginia",
-"Ohio",
-"Pennsylvania",
-"Mississippi",
-"Louisiana",
-"Alabama",
-"Arkansas",
-"North Carolina",
-"New York",
-"Iowa",
-"Illinois",
-"Georgia",
-"Wisconsin",
-"Florida",
-"Missouri",
-"Oklahoma",
-"North Dakota",
-"Washington",
-"South Dakota",
-"Nebraska",
-"Kansas",
-"Idaho",
-"Utah",
-"Minnesota",
-"Michigan",
-"Wyoming",
-"Oregon",
-"Colorado",
-"Nevada",
-"Arizona",
-"New Mexico",
-"Montana",
-"California",
-"Texas",
-"Alaska",
-"British Columbia",
-"Alberta",
-"Ontario",
-"Quebec",
-"Saskatchewan",
-"Manitoba",
-"Newfoundland and Labrador (Labrador)",
-"New Brunswick",
-"Nova Scotia",
-"Prince Edward Island",
-"Yukon",
-"Northwest Territories",
-"Nunavut",
-"India",
-"Australia",
-"Brazil",
-"USA (United States of America) (America)",
-"Mexico (United Mexican States)",
-"Moscow",
-"Saint Petersburg",
-"Kaliningrad Oblast",
-"Ingushetia",
-"Adygea Republic",
-"North Ossetia-Alania Republic",
-"Kabardino-Balkar Republic",
-"Karachay-Cherkess Republic",
-"Chechen Republic (Chechnya) (Ichkeria)",
-"Chuvash Republic",
-"Ivanovo Oblast",
-"Lipetsk Oblast",
-"Oryol Oblast",
-"Tula Oblast",
-"Belgorod Oblast",
-"Vladimir Oblast",
-"Kursk Oblast",
-"Kaluga Oblast",
-"Tambov Oblast",
-"Bryansk Oblast",
-"Yaroslavl Oblast",
-"Ryazan Oblast",
-"Astrakhan Oblast",
-"Moscow Oblast",
-"Smolensk Oblast",
-"Dagestan Republic",
-"Voronezh Oblast",
-"Novgorod Oblast",
-"Pskov Oblast",
-"Kostroma Oblast",
-"Stavropol Krai",
-"Krasnodar Krai",
-"Kalmykia Republic",
-"Tver Oblast",
-"Leningrad Oblast",
-"Rostov Oblast",
-"Volgograd Oblast",
-"Vologda Oblast",
-"Murmansk Oblast",
-"Karelia Republic",
-"Nenets Autonomous Okrug",
-"Komi Republic",
-"Arkhangelsk Oblast",
-"Mordovia Republic",
-"Nizhny Novgorod Oblast",
-"Penza Oblast",
-"Kirov Oblast",
-"Mari El Republic",
-"Orenburg Oblast",
-"Ulyanovsk Oblast",
-"Perm Krai",
-"Bashkortostan Republic",
-"Udmurt Republic",
-"Tatarstan Republic",
-"Samara Oblast",
-"Saratov Oblast",
-"Yamalo-Nenets",
-"Khanty-Mansi",
-"Sverdlovsk Oblast",
-"Tyumen Oblast",
-"Kurgan Oblast",
-"Chelyabinsk Oblast",
-"Buryatia Republic",
-"Zabaykalsky Krai",
-"Irkutsk Oblast",
-"Novosibirsk Oblast",
-"Tomsk Oblast",
-"Omsk Oblast",
-"Khakassia Republic",
-"Kemerovo Oblast",
-"Altai Republic",
-"Altai Krai",
-"Tuva Republic",
-"Krasnoyarsk Krai",
-"Magadan Oblast",
-"Chukotka Okrug",
-"Kamchatka Krai",
-"Sakhalin Oblast",
-"Primorsky Krai",
-"Jewish Autonomous Oblast",
-"Khabarovsk Krai",
-"Amur Oblast",
-"Sakha Republic (Yakutia Republic)",
-"Canada",
-"Russia (Russian Federation)",
-"Shanghai",
-"Tianjin",
-"Beijing",
-"Hainan",
-"Ningxia Hui",
-"Chongqing",
-"Zhejiang",
-"Jiangsu",
-"Fujian",
-"Anhui",
-"Liaoning",
-"Shandong",
-"Shanxi",
-"Jiangxi",
-"Henan",
-"Guizhou",
-"Guangdong",
-"Hubei",
-"Jilin",
-"Hebei (Yanzhao)",
-"Shaanxi",
-"Nei Mongol (Inner Mongolia)",
-"Heilongjiang",
-"Hunan",
-"Guangxi Zhuang",
-"Sichuan",
-"Yunnan",
-"Xizang (Tibet)",
-"Gansu",
-"Qinghai (Tsinghai)",
-"Xinjiang Uyghur",
-"China",
-"United States Minor Outlying Islands",
-"Clipperton Island",
-"Antarctica",
-"International (Worldwide) (Earth)",
-"?"};
+        "Vatican City State (Holy See)",
+        "Monaco",
+        "Gibraltar",
+        "Tokelau",
+        "Cocos Islands (Keeling Islands)",
+        "Saint-Barthelemy",
+        "Nauru",
+        "Tuvalu",
+        "Macau (Aomen)",
+        "Sint Maarten",
+        "Saint Martin",
+        "Norfolk and Philip Island (Philip Island)",
+        "Pitcairn Group of Islands",
+        "Bouvet Island",
+        "Bermuda (Somers Isles)",
+        "British Indian Ocean Territory",
+        "San Marino",
+        "Guernsey",
+        "Anguilla",
+        "Montserrat",
+        "Jersey",
+        "Christmas Island",
+        "Wallis and Futuna (Futuna)",
+        "British Virgin Islands (Virgin Islands, British)",
+        "Liechtenstein",
+        "Aruba",
+        "Marshall Islands",
+        "American Samoa (Samoa, American)",
+        "Cook Islands",
+        "Saint Pierre and Miquelon (Miquelon)",
+        "Niue",
+        "Saint Kitts and Nevis (Nevis)",
+        "Cayman islands",
+        "Bonaire, St Eustasuis and Saba (Saba) (St Eustasius)",
+        "Maldives",
+        "Saint Helena, Ascension and Tristan da Cunha (Ascension) (Tristan da Cunha)",
+        "Malta",
+        "Grenada",
+        "Virgin Islands of the United States (US Virgin Islands) (American Virgin Islands)",
+        "Mayotte (Maore)",
+        "Svalbard and Jan Mayen (Jan Mayen) (Spitsbergen)",
+        "Saint Vincent and the Grenadines (Grenadines)",
+        "Heard Island and McDonald Islands (McDonald Islands)",
+        "Barbados",
+        "Antigua and Barbuda (Barbuda)",
+        "Curacao",
+        "Seychelles",
+        "Palau",
+        "Northern Mariana Islands",
+        "Andorra",
+        "Guam",
+        "Isle of Mann (Mann)",
+        "Saint Lucia",
+        "Micronesia (Federated States of Micronesia)",
+        "Singapore",
+        "Tonga",
+        "Dominica",
+        "Bahrain",
+        "Kiribati",
+        "Turks and Caicos Islands (Caicos Islands)",
+        "Sao Tome and Principe (Principe)",
+        "Hong Kong (Xianggang)",
+        "Martinique",
+        "Faroe Islands",
+        "Guadeloupe",
+        "Comoros",
+        "Mauritius",
+        "Reunion",
+        "Luxembourg",
+        "Samoa",
+        "South Georgia and the South Sandwich Islands (South Sandwich Islands)",
+        "French Polynesia",
+        "Cape Verde (Cabo Verde) (Republic of Cabo Verde)",
+        "Trinidad and Tobago (Tobago)",
+        "Brunei",
+        "French Southern and Antarctic Lands",
+        "Puerto Rico",
+        "Cyprus",
+        "Lebanon (Lebanese Republic)",
+        "Jamaica",
+        "Gambia (The Gambia)",
+        "Qatar",
+        "Falkland Islands",
+        "Vanuatu",
+        "Montenegro",
+        "Bahamas",
+        "Timor-Leste (East Timor)",
+        "Swaziland",
+        "Kuwait",
+        "Fiji",
+        "New Caledonia",
+        "Slovenia",
+        "Israel",
+        "Palestinian territories (State of Palestine)",
+        "El Salvador",
+        "Belize",
+        "Djibouti",
+        "Macedonia (FYROM) (Former Yugoslav Republic of Macedonia)",
+        "Rwanda",
+        "Haiti",
+        "Burundi",
+        "Equatorial Guinea",
+        "Albania",
+        "Solomon Islands",
+        "Armenia",
+        "Lesotho",
+        "Belgium",
+        "Moldova",
+        "Guinea-Bissau",
+        "Taiwan (Republic of China)",
+        "Bhutan",
+        "Switzerland (Swiss Confederation)",
+        "Netherlands (The Netherlands)",
+        "Denmark",
+        "Estonia",
+        "Dominican Republic",
+        "Slovakia (Slovak Republic)",
+        "Costa Rica",
+        "Bosnia and Herzegovina",
+        "Croatia",
+        "Togo (Togolese Republic)",
+        "Latvia",
+        "Lithuania",
+        "Sri Lanka",
+        "Georgia",
+        "Ireland",
+        "Sierra Leone",
+        "Panama",
+        "Czech Republic",
+        "French Guiana (Guiana)",
+        "United Arab Emirates (Emirates)",
+        "Austria",
+        "Azerbaijan",
+        "Serbia",
+        "Jordan",
+        "Portugal (Portuguese Republic)",
+        "Hungary",
+        "South Korea (Republic of Korea)",
+        "Iceland",
+        "Guatemala",
+        "Cuba",
+        "Bulgaria",
+        "Liberia",
+        "Honduras",
+        "Benin",
+        "Eritrea",
+        "Malawi",
+        "North Korea (Democratic People's Republic of Korea)",
+        "Nicaragua",
+        "Greece (Hellenic Republic)",
+        "Tajikistan",
+        "Bangladesh",
+        "Nepal",
+        "Tunisia (Tunisian Republic)",
+        "Suriname",
+        "Uruguay",
+        "Cambodia",
+        "Syria (Syrian Arab Republic)",
+        "Senegal",
+        "Kyrgyzstan (Kyrgyz Republic)",
+        "Belarus",
+        "Guyana",
+        "Laos (Lao People's Democratic Republic)",
+        "Romania",
+        "Ghana",
+        "Uganda",
+        "United Kingdom (Scotland) (Great Britain) (Northern Ireland) (Ireland, Northern) (Britain) (United Kingdom of Great Britain and Northern Ireland)",
+        "Guinea (Guinea-Conakry)",
+        "Ecuador",
+        "Western Sahara (Sahrawi Arab Democratic Republic)",
+        "Gabon (Gabonese Republic)",
+        "New Zealand",
+        "Burkina Faso",
+        "Philippines",
+        "Italy (Italian Republic)",
+        "Oman",
+        "Poland",
+        "Ivory Coast (Cote d'Ivoire) (Republic of Cote d'Ivoire)",
+        "Norway",
+        "Malaysia",
+        "Vietnam",
+        "Finland",
+        "Congo-Brazzaville (West Congo) (Republic of the Congo)",
+        "Germany",
+        "Japan",
+        "Zimbabwe",
+        "Paraguay",
+        "Iraq",
+        "Morocco",
+        "Uzbekistan",
+        "Sweden",
+        "Papua New Guinea",
+        "Cameroon",
+        "Turkmenistan",
+        "Spain",
+        "Thailand",
+        "Yemen",
+        "France (French Republic)",
+        "Aaland Islands",
+        "Kenya",
+        "Botswana",
+        "Madagascar",
+        "Ukraine",
+        "South Sudan",
+        "Central African Republic",
+        "Somalia",
+        "Afghanistan",
+        "Myanmar (Burma)",
+        "Zambia",
+        "Chile",
+        "Turkey",
+        "Pakistan",
+        "Mozambique",
+        "Namibia",
+        "Venezuela",
+        "Nigeria",
+        "Tanzania",
+        "Egypt",
+        "Mauritania",
+        "Bolivia",
+        "Ethiopia",
+        "Colombia",
+        "South Africa",
+        "Mali",
+        "Angola",
+        "Niger",
+        "Chad",
+        "Peru",
+        "Mongolia",
+        "Iran (Persia)",
+        "Libya",
+        "Sudan",
+        "Indonesia",
+        "Federal District",
+        "Tlaxcala",
+        "Morelos",
+        "Aguascalientes",
+        "Colima",
+        "Queretaro",
+        "Hidalgo",
+        "Mexico State",
+        "Tabasco",
+        "Nayarit",
+        "Guanajuato",
+        "Puebla",
+        "Yucatan",
+        "Quintana Roo",
+        "Sinaloa",
+        "Campeche",
+        "Michoacan",
+        "San Luis Potosi",
+        "Guerrero",
+        "Nuevo Leon (New Leon)",
+        "Baja California",
+        "Veracruz",
+        "Chiapas",
+        "Baja California Sur",
+        "Zacatecas",
+        "Jalisco",
+        "Tamaulipas",
+        "Oaxaca",
+        "Durango",
+        "Coahuila",
+        "Sonora",
+        "Chihuahua",
+        "Greenland",
+        "Saudi Arabia",
+        "Congo-Kinshasa (Democratic Republic of the Congo) (East Congo)",
+        "Algeria",
+        "Kazakhstan",
+        "Argentina (Argentine Republic)",
+        "Daman and Diu",
+        "Dadra and Nagar Haveli",
+        "Chandigarh",
+        "Andaman and Nicobar",
+        "Lakshadweep",
+        "Delhi",
+        "Meghalaya",
+        "Nagaland",
+        "Manipur",
+        "Tripura",
+        "Mizoram",
+        "Sikkim",
+        "Punjab",
+        "Haryana",
+        "Arunachal Pradesh",
+        "Assam",
+        "Bihar",
+        "Uttarakhand",
+        "Goa",
+        "Kerala",
+        "Tamil Nadu",
+        "Himachal Pradesh",
+        "Jammu and Kashmir",
+        "Chhattisgarh",
+        "Jharkhand",
+        "Karnataka",
+        "Rajasthan",
+        "Odisha (Orissa)",
+        "Gujarat",
+        "West Bengal",
+        "Madhya Pradesh",
+        "Telangana",
+        "Andhra Pradesh",
+        "Maharashtra",
+        "Uttar Pradesh",
+        "Puducherry",
+        "New South Wales",
+        "Australian Capital Territory",
+        "Jervis Bay Territory",
+        "Northern Territory",
+        "South Australia",
+        "Tasmania",
+        "Victoria",
+        "Western Australia",
+        "Queensland",
+        "Distrito Federal",
+        "Sergipe",
+        "Alagoas",
+        "Rio de Janeiro",
+        "Espirito Santo",
+        "Rio Grande do Norte",
+        "Paraiba",
+        "Santa Catarina",
+        "Pernambuco",
+        "Amapa",
+        "Ceara",
+        "Acre",
+        "Parana",
+        "Roraima",
+        "Rondonia",
+        "Sao Paulo",
+        "Piaui",
+        "Tocantins",
+        "Rio Grande do Sul",
+        "Maranhao",
+        "Goias",
+        "Mato Grosso do Sul",
+        "Bahia",
+        "Minas Gerais",
+        "Mato Grosso",
+        "Para",
+        "Amazonas",
+        "District of Columbia (Washington, D.C.)",
+        "Rhode Island",
+        "Delaware",
+        "Connecticut",
+        "New Jersey",
+        "New Hampshire",
+        "Vermont",
+        "Massachusetts",
+        "Hawaii",
+        "Maryland",
+        "West Virginia",
+        "South Carolina",
+        "Maine",
+        "Indiana",
+        "Kentucky",
+        "Tennessee",
+        "Virginia",
+        "Ohio",
+        "Pennsylvania",
+        "Mississippi",
+        "Louisiana",
+        "Alabama",
+        "Arkansas",
+        "North Carolina",
+        "New York",
+        "Iowa",
+        "Illinois",
+        "Georgia",
+        "Wisconsin",
+        "Florida",
+        "Missouri",
+        "Oklahoma",
+        "North Dakota",
+        "Washington",
+        "South Dakota",
+        "Nebraska",
+        "Kansas",
+        "Idaho",
+        "Utah",
+        "Minnesota",
+        "Michigan",
+        "Wyoming",
+        "Oregon",
+        "Colorado",
+        "Nevada",
+        "Arizona",
+        "New Mexico",
+        "Montana",
+        "California",
+        "Texas",
+        "Alaska",
+        "British Columbia",
+        "Alberta",
+        "Ontario",
+        "Quebec",
+        "Saskatchewan",
+        "Manitoba",
+        "Newfoundland and Labrador (Labrador)",
+        "New Brunswick",
+        "Nova Scotia",
+        "Prince Edward Island",
+        "Yukon",
+        "Northwest Territories",
+        "Nunavut",
+        "India",
+        "Australia",
+        "Brazil",
+        "USA (United States of America) (America)",
+        "Mexico (United Mexican States)",
+        "Moscow",
+        "Saint Petersburg",
+        "Kaliningrad Oblast",
+        "Ingushetia",
+        "Adygea Republic",
+        "North Ossetia-Alania Republic",
+        "Kabardino-Balkar Republic",
+        "Karachay-Cherkess Republic",
+        "Chechen Republic (Chechnya) (Ichkeria)",
+        "Chuvash Republic",
+        "Ivanovo Oblast",
+        "Lipetsk Oblast",
+        "Oryol Oblast",
+        "Tula Oblast",
+        "Belgorod Oblast",
+        "Vladimir Oblast",
+        "Kursk Oblast",
+        "Kaluga Oblast",
+        "Tambov Oblast",
+        "Bryansk Oblast",
+        "Yaroslavl Oblast",
+        "Ryazan Oblast",
+        "Astrakhan Oblast",
+        "Moscow Oblast",
+        "Smolensk Oblast",
+        "Dagestan Republic",
+        "Voronezh Oblast",
+        "Novgorod Oblast",
+        "Pskov Oblast",
+        "Kostroma Oblast",
+        "Stavropol Krai",
+        "Krasnodar Krai",
+        "Kalmykia Republic",
+        "Tver Oblast",
+        "Leningrad Oblast",
+        "Rostov Oblast",
+        "Volgograd Oblast",
+        "Vologda Oblast",
+        "Murmansk Oblast",
+        "Karelia Republic",
+        "Nenets Autonomous Okrug",
+        "Komi Republic",
+        "Arkhangelsk Oblast",
+        "Mordovia Republic",
+        "Nizhny Novgorod Oblast",
+        "Penza Oblast",
+        "Kirov Oblast",
+        "Mari El Republic",
+        "Orenburg Oblast",
+        "Ulyanovsk Oblast",
+        "Perm Krai",
+        "Bashkortostan Republic",
+        "Udmurt Republic",
+        "Tatarstan Republic",
+        "Samara Oblast",
+        "Saratov Oblast",
+        "Yamalo-Nenets",
+        "Khanty-Mansi",
+        "Sverdlovsk Oblast",
+        "Tyumen Oblast",
+        "Kurgan Oblast",
+        "Chelyabinsk Oblast",
+        "Buryatia Republic",
+        "Zabaykalsky Krai",
+        "Irkutsk Oblast",
+        "Novosibirsk Oblast",
+        "Tomsk Oblast",
+        "Omsk Oblast",
+        "Khakassia Republic",
+        "Kemerovo Oblast",
+        "Altai Republic",
+        "Altai Krai",
+        "Tuva Republic",
+        "Krasnoyarsk Krai",
+        "Magadan Oblast",
+        "Chukotka Okrug",
+        "Kamchatka Krai",
+        "Sakhalin Oblast",
+        "Primorsky Krai",
+        "Jewish Autonomous Oblast",
+        "Khabarovsk Krai",
+        "Amur Oblast",
+        "Sakha Republic (Yakutia Republic)",
+        "Canada",
+        "Russia (Russian Federation)",
+        "Shanghai",
+        "Tianjin",
+        "Beijing",
+        "Hainan",
+        "Ningxia Hui",
+        "Chongqing",
+        "Zhejiang",
+        "Jiangsu",
+        "Fujian",
+        "Anhui",
+        "Liaoning",
+        "Shandong",
+        "Shanxi",
+        "Jiangxi",
+        "Henan",
+        "Guizhou",
+        "Guangdong",
+        "Hubei",
+        "Jilin",
+        "Hebei (Yanzhao)",
+        "Shaanxi",
+        "Nei Mongol (Inner Mongolia)",
+        "Heilongjiang",
+        "Hunan",
+        "Guangxi Zhuang",
+        "Sichuan",
+        "Yunnan",
+        "Xizang (Tibet)",
+        "Gansu",
+        "Qinghai (Tsinghai)",
+        "Xinjiang Uyghur",
+        "China",
+        "United States Minor Outlying Islands",
+        "Clipperton Island",
+        "Antarctica",
+        "International (Worldwide) (Earth)",
+        "?"};
 
diff --git a/mapcodelib/mapcoder.c b/mapcodelib/mapcoder.c
index d4165dc..643c38e 100644
--- a/mapcodelib/mapcoder.c
+++ b/mapcodelib/mapcoder.c
@@ -148,7 +148,7 @@ static int disambiguate_str( const char *s, int len ) // returns disambiguation
   {
     char *t;
     for(t=country;*t!=0;t++)
-        *t = toupper(*t);
+        *t = (char) toupper(*t);
   }
   f=strstr(p,country);
   if (f==NULL)
@@ -185,9 +185,9 @@ static int ccode_of_iso3(const char *in_iso, int parentcode )
   } else return -23; // solve bad args
 
   // make (uppercased) copy of at most three characters
-  iso[0]=toupper(in_iso[0]);
-  if (iso[0]) iso[1]=toupper(in_iso[1]);
-  if (iso[1]) iso[2]=toupper(in_iso[2]);
+  iso[0]=(char) toupper(in_iso[0]);
+  if (iso[0]) iso[1]=(char)toupper(in_iso[1]);
+  if (iso[1]) iso[2]=(char)toupper(in_iso[2]);
   iso[3]=0;
 
   if ( iso[2]==0 || iso[2]==' ' ) // 2-letter iso code?
@@ -556,7 +556,6 @@ static int decodeGrid(decodeRec *dec, int m, int hasHeaderLetter )
     {
       int pw = nc[prelen];
       divx = ( pw / divy );
-      divx = ( pw / divy );
     }
 
     if ( prelen==4 && divx==xside[4] && divy==yside[4] )
@@ -612,11 +611,11 @@ static int decodeGrid(decodeRec *dec, int m, int hasHeaderLetter )
             }
             else
             {
-              int v;
+              int v2;
               if ( postlen==4 ) { char t = r[1]; r[1]=r[2]; r[2]=t; } // swap
-              v = decodeBase31(r);
-              difx = ( v/yp );
-              dify = ( v%yp );
+              v2 = decodeBase31(r);
+              difx = ( v2 /yp );
+              dify = ( v2 %yp );
               if ( postlen==4 ) { char t = r[1]; r[1]=r[2]; r[2]=t; } // swap back
             }
 
@@ -666,7 +665,6 @@ static void encodeGrid( char* result, const encodeRec *enc, int const m, int ext
     {
       int pw = nc[prelen];
       divx = ( pw / divy );
-      divx = ( pw / divy );
     }
 
     { // grid
@@ -807,7 +805,7 @@ static int decodeNameless(decodeRec *dec, int m)
     int SIDE;
     int swapletters=0;
     int xSIDE;
-    int X=-1;
+    int X;
     const mminforec *b;
 
     // make copy of input, so we can swap around letters during the decoding
@@ -980,9 +978,9 @@ static int unpack_if_alldigits(char *input) // returns 1 if unpacked, 0 if left
       if (aonly) // v1.50 encoded only with A's
       {
         int v = (s[0]=='A' || s[0]=='a' ? 31 : decodeChar(s[0])) * 32 + (s[1]=='A' || s[1]=='a' ? 31 : decodeChar(s[1]));
-        *input  = '0'+(v/100);
-        s[0]= '0'+((v/10)%10);
-        s[1]= '0'+(v%10);
+        *input  = (char) ('0'+(v/100));
+        s[0]= (char) ('0'+((v/10)%10));
+        s[1]= (char) ('0'+(v%10));
         return 1;
       } // v1.50
 
@@ -1043,7 +1041,6 @@ static int encodeNameless( char *result, const encodeRec* enc, int input_ctry, i
 
     if ( codexm!=21 && A<=31 )
     {
-      int size=p; if (X<r) size++; // example: A=7, p=4 r=3:  size(X)={5,5,5,4,4,4,4}
       storage_offset= (X*p + (X<r ? X : r)) * (961*961); // p=4,r=3: offset(X)={0,5,10,15,19,23,27}-31
     }
     else if ( codexm!=21 && A<62 )
@@ -1272,7 +1269,7 @@ static int encodeAutoHeader( char *result, const encodeRec *enc, int m, int extr
       value += (vy/176);
 
       // PIPELETTER ENCODE
-      encodeBase31( result, (STORAGE_START/(961*31)) + value, (int)codexlen - 2);
+      encodeBase31( result, (STORAGE_START/(961*31)) + value, codexlen - 2);
       result[codexlen-2]='.';
       encode_triple( result+codexlen-1, vx%168, vy%176 );
 
@@ -1343,7 +1340,7 @@ static void encoderEngine( int ccode, const encodeRec *enc, int stop_with_one_re
           {
               if ( result_counter>0 || !isRestricted(i) ) // skip isRestricted records unless there already is a result
               {
-                char headerletter = (recType(i)==1) ? headerLetter(i) : 0;
+                char headerletter = (char)((recType(i)==1) ? headerLetter(i) : 0);
                 encodeGrid( result, enc, i, extraDigits,headerletter );
               }
           }
@@ -1387,7 +1384,7 @@ static void encoderEngine( int ccode, const encodeRec *enc, int stop_with_one_re
 // returns nonzero if error
 static int decoderEngine( decodeRec *dec )
 {
-  int parentcode=-1;
+  int parentcode;
   int err=-255; // unknown error
   int ccode,len;
   char *minus;
@@ -1736,7 +1733,7 @@ static UWORD* encode_utf16(UWORD* unibuf,int maxlen,const char *mapcode,int lang
     if ( c<0 || c>'Z' ) // not in any valid range?
       *w++ = '?';
     else if ( c<'A' ) // valid but not a letter (e.g. a dot, a space...)
-      *w++ = c; // leave untranslated
+      *w++ = (UWORD)c; // leave untranslated
     else
       *w++ = asc2lan[language][c-'A'];
   }
@@ -1886,10 +1883,10 @@ static int encodeLatLonToMapcodes_internal( char **v, Mapcodes *mapcodes, double
     int i=0; // pointer into redivar
     for(;;)
     {
-      int v = redivar[i++];
+      int v2 = redivar[i++];
       HOR=1-HOR;
-      if ( v>=0 && v<1024 ) { // leaf?
-        int j,nr = (int)v; 
+      if ( v2 >=0 && v2 <1024 ) { // leaf?
+        int j,nr = v2;
         for (j=0;j<=nr;j++) {
           int ctry = (j==nr ? ccode_earth : redivar[i+j]);
           encoderEngine( ctry,&enc,stop_with_one_result,extraDigits,-1);
@@ -1899,7 +1896,7 @@ static int encodeLatLonToMapcodes_internal( char **v, Mapcodes *mapcodes, double
       }
       else {
         int coord = (HOR ? enc.lon32 : enc.lat32); 
-        if ( coord > v ) {
+        if ( coord > v2) {
           i = redivar[i];
         }
         else {
diff --git a/mapcodelib/mapcoder.h b/mapcodelib/mapcoder.h
index 9abf06d..ac77e81 100644
--- a/mapcodelib/mapcoder.h
+++ b/mapcodelib/mapcoder.h
@@ -26,7 +26,6 @@
 #define MAX_ISOCODE_LEN                     7           // Max. number of characters of a valid territory code; although nothing longer than SIX characters is ever generated (RU-KAM), users can input SEVEN characters (RUS-KAM).
 #define MAX_CLEAN_MAPCODE_LEN               (MAX_PROPER_MAPCODE_LEN + 1 + MAX_PRECISION_DIGITS)  // Max. number of characters in a clean mapcode (excluding zero-terminator).
 #define MAX_MAPCODE_RESULT_LEN              (MAX_ISOCODE_LEN + 1 + MAX_CLEAN_MAPCODE_LEN + 1)    // Max. number of characters to store a single result (including zero-terminator).
-#define COMPARE_MAPCODE_MISSING_CHARACTERS  -999        // Used for compareWithMapcodeFormat.
 
 /**
  * The type Mapcodes hold a number of mapcodes, for example from an encoding call.
@@ -34,8 +33,8 @@
  * International mapcodes do not specify a territory alphacode, nor a space.
  */
 typedef struct {
-  int count;                                                        // The number of mapcode results (length of array).
-  char mapcode[MAX_NR_OF_MAPCODE_RESULTS][MAX_MAPCODE_RESULT_LEN];  // The mapcodes.
+    int count;                                                        // The number of mapcode results (length of array).
+    char mapcode[MAX_NR_OF_MAPCODE_RESULTS][MAX_MAPCODE_RESULT_LEN];  // The mapcodes.
 } Mapcodes;
 
 
@@ -59,11 +58,11 @@ typedef struct {
  */
 
 int encodeLatLonToMapcodes(
-    Mapcodes* mapcodes,
-    double lat,
-    double lon,
-    int territoryCode,
-    int extraDigits);
+        Mapcodes *mapcodes,
+        double lat,
+        double lon,
+        int territoryCode,
+        int extraDigits);
 
 /**
  * WARNING: This method is deprecated and should no longer be used, as it is not thread-safe. Use the version
@@ -90,11 +89,11 @@ int encodeLatLonToMapcodes(
  *          (results[0], results[1])...(results[(2 * N) - 2], results[(2 * N) - 1])
  */
 int encodeLatLonToMapcodes_Deprecated(     // Warning: this method is deprecated and not thread-safe.
-    char**  results,
-    double  lat,
-    double  lon,
-    int     territoryCode,
-    int     extraDigits);
+        char **results,
+        double lat,
+        double lon,
+        int territoryCode,
+        int extraDigits);
 
 /**
  * Encode a latitude, longitude pair (in degrees) to a single Mapcode: the shortest possible for the given territory
@@ -117,11 +116,11 @@ int encodeLatLonToMapcodes_Deprecated(     // Warning: this method is deprecated
  *      0 if encoding failed, or >0 if it succeeded.
  */
 int encodeLatLonToSingleMapcode(
-    char* result,
-    double lat,
-    double lon,
-    int territoryCode,
-    int extraDigits);
+        char *result,
+        double lat,
+        double lon,
+        int territoryCode,
+        int extraDigits);
 
 /**
  * Decode a Mapcode to  a latitude, longitude pair (in degrees).
@@ -137,10 +136,10 @@ int encodeLatLonToSingleMapcode(
  *      0 if encoding succeeded, nonzero in case of error
  */
 int decodeMapcodeToLatLon(
-    double*     lat,
-    double*     lon,
-    const char* mapcode,
-    int         territoryCode);
+        double *lat,
+        double *lon,
+        const char *mapcode,
+        int territoryCode);
 
 /**
  * Checks if a string has the format of a Mapcode. (Note: The method is called compareXXX rather than hasXXX because
@@ -156,8 +155,8 @@ int decodeMapcodeToLatLon(
  *      to lack some characters.
  */
 int compareWithMapcodeFormat(
-    const char* check,
-    int         includesTerritory);
+        const char *check,
+        int includesTerritory);
 
 /**
  * Convert a territory name to a territory code.
@@ -170,8 +169,8 @@ int compareWithMapcodeFormat(
  *      Territory code >0 if succeeded, or <0 if failed.
  */
 int convertTerritoryIsoNameToCode(
-    const char* isoName,
-    int         parentTerritoryCode);
+        const char *isoName,
+        int parentTerritoryCode);
 
 /**
  * Convert a territory name to a territory code.
@@ -184,15 +183,15 @@ int convertTerritoryIsoNameToCode(
  * Returns:
  *      Pointer to result. Empty if territoryCode illegal.
  */
-char* getTerritoryIsoName(
-    char*   result,
-    int     territoryCode,
-    int     format);
+char *getTerritoryIsoName(
+        char *result,
+        int territoryCode,
+        int format);
 
 // the old, non-threadsafe routine which uses static storage, overwritten at each call:
-const char* convertTerritoryCodeToIsoName(
-    int territoryCode,
-    int format);
+const char *convertTerritoryCodeToIsoName(
+        int territoryCode,
+        int format);
 
 /**
  * Given a territory code, return the territory code itself it it was a country, or return its parent
@@ -250,13 +249,14 @@ int getParentCountryOf(int territoryCode);
  * Returns:
  *      pointer to asciibuf, which holds the result
  */
-char* convertToRoman(char* asciibuf, int maxlen, const UWORD* string);
+char *convertToRoman(char *asciibuf, int maxlen, const UWORD *string);
+
 /**
  * old variant, not thread-safe: uses a pre-allocated static buffer, overwritten by the next call
  *      Returns converted string. allocated by the library. String must NOT be
  *      de-allocated by the caller. It will be overwritten by a subsequent call to this method!
  */
-const char* decodeToRoman(const UWORD* string);
+const char *decodeToRoman(const UWORD *string);
 
 /**
  * Encode a string to Alphabet characters for a language.
@@ -273,14 +273,14 @@ const char* decodeToRoman(const UWORD* string);
  *      Encoded string. The string is allocated by the library and must NOT be
  *      de-allocated by the caller. It will be overwritten by a subsequent call to this method!
  */
-UWORD* convertToAlphabet(UWORD* unibuf, int maxlength, const char* string, int alphabet);
+UWORD *convertToAlphabet(UWORD *unibuf, int maxlength, const char *string, int alphabet);
 
 /**
  * old variant, not thread-safe: uses a pre-allocated static buffer, overwritten by the next call
  *      Returns converted string. allocated by the library. String must NOT be
  *      de-allocated by the caller. It will be overwritten by a subsequent call to this method!
  */
-const UWORD* encodeToAlphabet(const char* string, int alphabet);
+const UWORD *encodeToAlphabet(const char *string, int alphabet);
 
 
 /**
diff --git a/utility/mapcode.cpp b/utility/mapcode.cpp
index cf03518..d82f608 100644
--- a/utility/mapcode.cpp
+++ b/utility/mapcode.cpp
@@ -49,37 +49,35 @@
 #define my_isnan(x) (false)
 #define my_round(x) ((int) (floor((x) + 0.5)))
 
-static int          selfCheckEnabled = 0;
+static int selfCheckEnabled = 0;
 
-static const int    NORMAL_ERROR     = 1;
-static const int    INTERNAL_ERROR   = 2;
+static const int NORMAL_ERROR = 1;
+static const int INTERNAL_ERROR = 2;
 
 /**
  * Some global constants to be used.
  */
-static const double PI              = 3.14159265358979323846;
-static const int    SHOW_PROGRESS   = 125;
-static const double DELTA           = 0.001;
-
+static const double PI = 3.14159265358979323846;
+static const int SHOW_PROGRESS = 125;
+static const double DELTA = 0.001;
 
 
 /**
  * These statistics are stored globally so they can be updated easily by the
  * generateAndOutputMapcodes() method.
  */
-static int      totalNrOfPoints         = 0;
-static int      totalNrOfResults        = 0;
-static int      largestNrOfResults      = 0;
-static double   latLargestNrOfResults   = 0.0;
-static double   lonLargestNrOfResults   = 0.0;
-
+static int totalNrOfPoints = 0;
+static int totalNrOfResults = 0;
+static int largestNrOfResults = 0;
+static double latLargestNrOfResults = 0.0;
+static double lonLargestNrOfResults = 0.0;
 
 
 /**
  * The usage() method explains how this application can be used. It is called
  * whenever a incorrect amount or combination of parameters is entered.
  */
-static void usage(const char* appName) {
+static void usage(const char *appName) {
     printf("MAPCODE (version %s)\n", mapcode_cversion);
     printf("Copyright (C) 2014-2015 Stichting Mapcode Foundation\n");
     printf("\n");
@@ -140,31 +138,28 @@ static void usage(const char* appName) {
 }
 
 
-
 /**
  * The method radToDeg() converts radians to degrees.
  */
-static double radToDeg(double rad){
+static double radToDeg(double rad) {
     return (rad / PI) * 180.0;
 }
 
 
-
 /**
  * The method degToRad() converts degrees to radians.
  */
-static double degToRad(double deg){
+static double degToRad(double deg) {
     return (deg / 180.0) * PI;
 }
 
 
-
 /**
  * Given a single number between 0..1, generate a latitude, longitude (in degrees) and a 3D
  * (x, y, z) point on a sphere with a radius of 1.
  */
 static void unitToLatLonDeg(
-    const double unit1, const double unit2, double* latDeg, double* lonDeg) {
+        const double unit1, const double unit2, double *latDeg, double *lonDeg) {
 
     // Calculate uniformly distributed 3D point on sphere (radius = 1.0):
     // http://mathproofs.blogspot.co.il/2005/04/uniform-random-distribution-on-sphere.html
@@ -185,12 +180,11 @@ static void unitToLatLonDeg(
 }
 
 
-
 /**
  * The method convertLatLonToXYZ() convertes a lat/lon pair to a (x, y, z) coordinate
  * on a sphere with radius 1.
  */
-static void convertLatLonToXYZ(double latDeg, double lonDeg, double* x, double* y, double* z) {
+static void convertLatLonToXYZ(double latDeg, double lonDeg, double *x, double *y, double *z) {
     double latRad = degToRad(latDeg);
     double lonRad = degToRad(lonDeg);
     *x = cos(latRad) * cos(lonRad);
@@ -199,20 +193,20 @@ static void convertLatLonToXYZ(double latDeg, double lonDeg, double* x, double*
 }
 
 
-
 /**
  * This methods provides a self check for encoding lat/lon to Mapcode.
  */
-static void selfCheckLatLonToMapcode(const double lat, double lon, const char* territory, const char* mapcode, int extraDigits) {
+static void selfCheckLatLonToMapcode(const double lat, double lon, const char *territory, const char *mapcode,
+                                     int extraDigits) {
     int context = convertTerritoryIsoNameToCode(territory, 0);
-    char* results[2 * MAX_NR_OF_MAPCODE_RESULTS];
+    char *results[2 * MAX_NR_OF_MAPCODE_RESULTS];
     const double limitLat = (lat < -90.0) ? -90.0 : ((lat > 90.0) ? 90.0 : lat);
     const double limitLon = (lon < -180.0) ? -180.0 : ((lon > 180.0) ? 180.0 : lon);
     const int nrResults = encodeLatLonToMapcodes_Deprecated(results, limitLat, limitLon, context, extraDigits);
     if (nrResults <= 0) {
         fprintf(stderr, "error: encoding lat/lon to mapcode failure; "
-            "cannot encode lat=%.12g, lon=%.12g (default territory=%s)\n",
-            lat, lon, territory);
+                        "cannot encode lat=%.12g, lon=%.12g (default territory=%s)\n",
+                lat, lon, territory);
         if (selfCheckEnabled) {
             exit(INTERNAL_ERROR);
         }
@@ -224,22 +218,22 @@ static void selfCheckLatLonToMapcode(const double lat, double lon, const char* t
         /* Check if the territory and code were found in results. Note that the territory
          * may be a minimal code, like IN (which may indicate US-IN or RU-IN).
          */
-        const char* foundMapcode = results[(i * 2)];
-        const char* foundTerritory = results[(i * 2) + 1];
-        char* foundTerritoryMin = strstr(foundTerritory, "-");
+        const char *foundMapcode = results[(i * 2)];
+        const char *foundTerritory = results[(i * 2) + 1];
+        char *foundTerritoryMin = strstr(foundTerritory, "-");
         if (foundTerritoryMin && (strlen(foundTerritoryMin) > 0)) {
             ++foundTerritoryMin;
         }
 
         found = (((strcmp(territory, foundTerritory) == 0) ||
-                    (strcmp(territory, foundTerritoryMin) == 0)) &&
-                (strcmp(mapcode, foundMapcode) == 0));
+                  (strcmp(territory, foundTerritoryMin) == 0)) &&
+                 (strcmp(mapcode, foundMapcode) == 0));
     }
     if (!found) {
         fprintf(stderr, "error: encoding lat/lon to mapcode failure; "
-            "mapcode '%s %s' decodes to lat=%.12g(%.12g), lon=%.12g(%.12g), "
-            "which does not encode back to '%s %s'\n",
-            territory, mapcode, lat, limitLat, lon, limitLon, territory, mapcode);
+                        "mapcode '%s %s' decodes to lat=%.12g(%.12g), lon=%.12g(%.12g), "
+                        "which does not encode back to '%s %s'\n",
+                territory, mapcode, lat, limitLat, lon, limitLon, territory, mapcode);
         if (selfCheckEnabled) {
             exit(INTERNAL_ERROR);
         }
@@ -248,34 +242,33 @@ static void selfCheckLatLonToMapcode(const double lat, double lon, const char* t
 }
 
 
-
 /**
  * This method provides a self-check for decoding a Mapcode to lat/lon.
  */
-static void selfCheckMapcodeToLatLon(const char* territory, const char* mapcode,
-    const double lat, const double lon) {
+static void selfCheckMapcodeToLatLon(const char *territory, const char *mapcode,
+                                     const double lat, const double lon) {
     double foundLat;
     double foundLon;
     int foundContext = convertTerritoryIsoNameToCode(territory, 0);
     int err = decodeMapcodeToLatLon(&foundLat, &foundLon, mapcode, foundContext);
     if (err != 0) {
         fprintf(stderr, "error: decoding mapcode to lat/lon failure; "
-            "cannot decode '%s %s')\n", territory, mapcode);
+                "cannot decode '%s %s')\n", territory, mapcode);
         if (selfCheckEnabled) {
             exit(INTERNAL_ERROR);
         }
         return;
     }
     double deltaLat = ((foundLat - lat) >= 0.0 ? (foundLat - lat) : -(foundLat - lat));
-    double deltaLon = ((foundLon - lon) >- 0.0 ? (foundLon - lon) : -(foundLon - lon));
+    double deltaLon = ((foundLon - lon) > -0.0 ? (foundLon - lon) : -(foundLon - lon));
     if (deltaLon > 180.0) {
         deltaLon = 360.0 - deltaLon;
     }
     if ((deltaLat > DELTA) || (deltaLon > DELTA)) {
         fprintf(stderr, "error: decoding mapcode to lat/lon failure; "
-            "lat=%.12g, lon=%.12g produces mapcode %s %s, "
-            "which decodes to lat=%.12g (delta=%.12g), lon=%.12g (delta=%.12g)\n",
-            lat, lon, territory, mapcode, foundLat, deltaLat, foundLon, deltaLon);
+                        "lat=%.12g, lon=%.12g produces mapcode %s %s, "
+                        "which decodes to lat=%.12g (delta=%.12g), lon=%.12g (delta=%.12g)\n",
+                lat, lon, territory, mapcode, foundLat, deltaLat, foundLon, deltaLon);
         if (selfCheckEnabled) {
             exit(INTERNAL_ERROR);
         }
@@ -285,7 +278,7 @@ static void selfCheckMapcodeToLatLon(const char* territory, const char* mapcode,
 
 static void generateAndOutputMapcodes(double lat, double lon, int iShowError, int extraDigits, int useXYZ) {
 
-    char* results[2 * MAX_NR_OF_MAPCODE_RESULTS];
+    char *results[2 * MAX_NR_OF_MAPCODE_RESULTS];
     int context = 0;
 
     while (lon > 180.0) {
@@ -330,8 +323,8 @@ static void generateAndOutputMapcodes(double lat, double lon, int iShowError, in
         printf("%d %.12g %.12g\n", nrResults, lat, lon);
     }
     for (int j = 0; j < nrResults; ++j) {
-        const char* foundMapcode = results[(j * 2)];
-        const char* foundTerritory = results[(j * 2) + 1];
+        const char *foundMapcode = results[(j * 2)];
+        const char *foundTerritory = results[(j * 2) + 1];
 
         // Output result line.
         printf("%s %s\n", foundTerritory, foundMapcode);
@@ -355,7 +348,6 @@ static void generateAndOutputMapcodes(double lat, double lon, int iShowError, in
 }
 
 
-
 /**
  * This method resets the statistics counters.
  */
@@ -367,7 +359,6 @@ static void resetStatistics(int nrOfPoints) {
 }
 
 
-
 /**
  * This method outputs the statistics.
  */
@@ -376,30 +367,27 @@ static void outputStatistics() {
     fprintf(stderr, "Total number of 3D points generated     = %d\n", totalNrOfPoints);
     fprintf(stderr, "Total number of mapcodes generated      = %d\n", totalNrOfResults);
     fprintf(stderr, "Average number of mapcodes per 3D point = %.12g\n",
-        ((float) totalNrOfResults) / ((float) totalNrOfPoints));
+            ((float) totalNrOfResults) / ((float) totalNrOfPoints));
     fprintf(stderr, "Largest number of results for 1 mapcode = %d at (%.12g, %.12g)\n",
-        largestNrOfResults, latLargestNrOfResults, lonLargestNrOfResults);
+            largestNrOfResults, latLargestNrOfResults, lonLargestNrOfResults);
 }
 
 
-
 /**
  * This method shows a progress indication.
  */
 static void showProgress(int i) {
     fprintf(stderr, "[%d%%] Processed %d of %d regions (generated %d mapcodes)...\r",
-        (int) ((((float) i / ((float) totalNrOfPoints)) * 100.0) + 0.5),
-        i, totalNrOfPoints, totalNrOfResults);
+            (int) ((((float) i / ((float) totalNrOfPoints)) * 100.0) + 0.5),
+            i, totalNrOfPoints, totalNrOfResults);
 }
 
 
-
 /**
  * This is the main() method which is called from the command-line.
  * Return code 0 means success. Any other values means some sort of error occurred.
  */
-int main(const int argc, const char** argv)
-{
+int main(const int argc, const char **argv) {
     // Assume no extra digits (unless overridden later.
     int extraDigits = 0;
 
@@ -407,7 +395,7 @@ int main(const int argc, const char** argv)
     int useXYZ = 0;
 
     // Provide usage message if no arguments specified.
-    const char* appName = argv[0];
+    const char *appName = argv[0];
     selfCheckEnabled = (strstr(appName, "debug") != 0);
     if (selfCheckEnabled) {
         fprintf(stderr, "(debug mode: self checking enabled)\n");
@@ -418,7 +406,7 @@ int main(const int argc, const char** argv)
     }
 
     // First argument: command.
-    const char* cmd = argv[1];
+    const char *cmd = argv[1];
     if ((strcmp(cmd, "-d") == 0) || (strcmp(cmd, "--decode") == 0)) {
 
         // ------------------------------------------------------------------
@@ -430,7 +418,7 @@ int main(const int argc, const char** argv)
             return NORMAL_ERROR;
         }
 
-        const char* defaultTerritory = argv[2];
+        const char *defaultTerritory = argv[2];
         double lat;
         double lon;
 
@@ -441,7 +429,7 @@ int main(const int argc, const char** argv)
         for (int i = 3; i < argc; ++i) {
 
             // Decode the Mapcode to a lat/lon.
-            const char* mapcode = argv[i];
+            const char *mapcode = argv[i];
             int err = decodeMapcodeToLatLon(&lat, &lon, mapcode, context);
             if (err != 0) {
                 fprintf(stderr, "error: cannot decode '%s %s'\n", defaultTerritory, mapcode);
@@ -453,7 +441,7 @@ int main(const int argc, const char** argv)
 
             // Self-checking code to see if encoder produces this Mapcode for the lat/lon.
             if (selfCheckEnabled) {
-                const char* suffix = strstr(mapcode, "-");
+                const char *suffix = strstr(mapcode, "-");
                 extraDigits = 0;
                 if (suffix != 0) {
                     extraDigits = (int) (strlen(suffix) - 1);
@@ -463,15 +451,15 @@ int main(const int argc, const char** argv)
         }
     }
     else if ((strcmp(cmd, "-e") == 0) || (strcmp(cmd, "-e0") == 0) ||
-        (strcmp(cmd, "-e1") == 0) || (strcmp(cmd, "-e2") == 0) ||
-        (strcmp(cmd, "-e3") == 0) || (strcmp(cmd, "-e4") == 0) ||
-        (strcmp(cmd, "-e5") == 0) || (strcmp(cmd, "-e6") == 0) ||
-        (strcmp(cmd, "-e7") == 0) || (strcmp(cmd, "-e8") == 0) ||
-        (strcmp(cmd, "--encode") == 0) || (strcmp(cmd, "--encode0") == 0) ||
-        (strcmp(cmd, "--encode1") == 0) || (strcmp(cmd, "--encode2") == 0) ||
-        (strcmp(cmd, "--encode3") == 0) || (strcmp(cmd, "--encode4") == 0) ||
-        (strcmp(cmd, "--encode5") == 0) || (strcmp(cmd, "--encode5") == 0) ||
-        (strcmp(cmd, "--encode7") == 0) || (strcmp(cmd, "--encode8") == 0)) {
+             (strcmp(cmd, "-e1") == 0) || (strcmp(cmd, "-e2") == 0) ||
+             (strcmp(cmd, "-e3") == 0) || (strcmp(cmd, "-e4") == 0) ||
+             (strcmp(cmd, "-e5") == 0) || (strcmp(cmd, "-e6") == 0) ||
+             (strcmp(cmd, "-e7") == 0) || (strcmp(cmd, "-e8") == 0) ||
+             (strcmp(cmd, "--encode") == 0) || (strcmp(cmd, "--encode0") == 0) ||
+             (strcmp(cmd, "--encode1") == 0) || (strcmp(cmd, "--encode2") == 0) ||
+             (strcmp(cmd, "--encode3") == 0) || (strcmp(cmd, "--encode4") == 0) ||
+             (strcmp(cmd, "--encode5") == 0) || (strcmp(cmd, "--encode5") == 0) ||
+             (strcmp(cmd, "--encode7") == 0) || (strcmp(cmd, "--encode8") == 0)) {
 
         // ------------------------------------------------------------------
         // Encode: [-e[0-8] | --encode[0-8]] <lat:-90..90> <lon:-180..180> [territory]>
@@ -519,25 +507,25 @@ int main(const int argc, const char** argv)
 
         // Get territory context.
         int context = 0;
-        const char* defaultTerritory = "AAA";
+        const char *defaultTerritory = "AAA";
         if (argc == 5) {
             context = convertTerritoryIsoNameToCode(argv[4], 0);
             defaultTerritory = argv[4];
         }
 
         // Encode the lat/lon to a set of Mapcodes.
-        char* results[2 * MAX_NR_OF_MAPCODE_RESULTS];
+        char *results[2 * MAX_NR_OF_MAPCODE_RESULTS];
         const int nrResults = encodeLatLonToMapcodes_Deprecated(results, lat, lon, context, extraDigits);
         if (nrResults <= 0) {
             fprintf(stderr, "error: cannot encode lat=%.12g, lon=%.12g (default territory=%s)\n",
-                lat, lon, defaultTerritory);
+                    lat, lon, defaultTerritory);
             return NORMAL_ERROR;
         }
 
         // Output the Mapcode.
         for (int i = 0; i < nrResults; ++i) {
-            const char* foundMapcode = results[(i * 2)];
-            const char* foundTerritory = results[(i * 2) + 1];
+            const char *foundMapcode = results[(i * 2)];
+            const char *foundTerritory = results[(i * 2) + 1];
             printf("%s %s\n", foundTerritory, foundMapcode);
 
             // Self-checking code to see if decoder produces the lat/lon for all of these Mapcodes.
@@ -547,7 +535,7 @@ int main(const int argc, const char** argv)
         }
     }
     else if ((strcmp(cmd, "-b") == 0) || (strcmp(cmd, "-bXYZ") == 0) ||
-        (strcmp(cmd, "--boundaries") == 0) || (strcmp(cmd, "--boundariesXYZ") == 0)) {
+             (strcmp(cmd, "--boundaries") == 0) || (strcmp(cmd, "--boundariesXYZ") == 0)) {
 
         // ------------------------------------------------------------------
         // Generate a test set based on the Mapcode boundaries.
@@ -559,7 +547,7 @@ int main(const int argc, const char** argv)
         }
         if (argc == 3) {
             extraDigits = atoi(argv[2]);
-            if ((extraDigits < 0) || (extraDigits> 8)) {
+            if ((extraDigits < 0) || (extraDigits > 8)) {
                 fprintf(stderr, "error: parameter extraDigits must be in [0..8]\n\n");
                 usage(appName);
                 return NORMAL_ERROR;
@@ -576,15 +564,15 @@ int main(const int argc, const char** argv)
             double lat;
             double lon;
 
-            const mminforec *mm = boundaries(i);            
+            const mminforec *mm = boundaries(i);
             minLon = ((double) mm->minx) / 1.0E6;
             maxLon = ((double) mm->maxx) / 1.0E6;
             minLat = ((double) mm->miny) / 1.0E6;
             maxLat = ((double) mm->maxy) / 1.0E6;
 
             // Try center.
-            lat = (maxLat - minLat ) / 2.0;
-            lon = (maxLon - minLon ) / 2.0;
+            lat = (maxLat - minLat) / 2.0;
+            lon = (maxLon - minLon) / 2.0;
             generateAndOutputMapcodes(lat, lon, 0, extraDigits, useXYZ);
 
             // Try corners.
@@ -613,9 +601,9 @@ int main(const int argc, const char** argv)
         outputStatistics();
     }
     else if ((strcmp(cmd, "-g") == 0) || (strcmp(cmd, "-gXYZ") == 0) ||
-        (strcmp(cmd, "--grid") == 0) || (strcmp(cmd, "--gridXYZ") == 0) ||
-        (strcmp(cmd, "-r") == 0) || (strcmp(cmd, "-rXYZ") == 0) ||
-        (strcmp(cmd, "--random") == 0) || (strcmp(cmd, "--randomXYZ") == 0)) {
+             (strcmp(cmd, "--grid") == 0) || (strcmp(cmd, "--gridXYZ") == 0) ||
+             (strcmp(cmd, "-r") == 0) || (strcmp(cmd, "-rXYZ") == 0) ||
+             (strcmp(cmd, "--random") == 0) || (strcmp(cmd, "--randomXYZ") == 0)) {
 
         // ------------------------------------------------------------------
         // Generate grid test set:    [-g | --grid]   <nrOfPoints> [<extradigits>]
@@ -644,7 +632,7 @@ int main(const int argc, const char** argv)
         if (random) {
             if (argc == 5) {
                 const int seed = atoi(argv[4]);
-                srand(seed);
+                srand((unsigned int) seed);
             }
             else {
                 srand((unsigned int) time(0));

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/mapcode.git



More information about the Pkg-grass-devel mailing list