[office/tellico] src: Update the ISBN formatting ranges

Robby Stephenson <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit 345308e657f7de91f6e08981c1763afad46e0c7b by Robby Stephenson.
Committed on 08/08/2026 at 23:40.
Pushed by rstephenson into branch 'master'.

Update the ISBN formatting ranges

Provided by Alex Oio. Uses ranges generated from the reference list at
https://www.isbn-international.org/range_file_generation Update the
ISBN tests accordingly for those that included previously unknown
formatting ranges

M  +37   -26   src/tests/isbntest.cpp
M  +33   -93   src/utils/isbnvalidator.cpp
M  +5    -2    src/utils/isbnvalidator.h
A  +2176 -0    src/utils/isbnvalidator_range.h  *

The files marked with a * at the end have a non valid license. Please read: https://community.kde.org/Policies/Licensing_Policy and use the headers which are listed at that page.


https://invent.kde.org/office/tellico/-/commit/345308e657f7de91f6e08981c1763afad46e0c7b

diff --git a/src/tests/isbntest.cpp b/src/tests/isbntest.cpp
index 1b7d0638a..186d26704 100644
--- a/src/tests/isbntest.cpp
+++ b/src/tests/isbntest.cpp
@@ -56,7 +56,7 @@ void IsbnTest::testFixup_data() {
 
   // garbage
   QTest::newRow("My name is robby") << QL1("My name is robby") << QString();
-  QTest::newRow("http://www.abclinuxu.cz/clanky/show/63080") << QL1("http://www.abclinuxu.cz/clanky/show/63080") << QL1("6-3080");
+  QTest::newRow("http://www.abclinuxu.cz/clanky/show/63080") << QL1("http://www.abclinuxu.cz/clanky/show/63080") << QL1("630-80");
 
   // initial checks
   QTest::newRow("0-446-60098-9") << QL1("0-446-60098-9") << QL1("0-446-60098-9");
@@ -68,14 +68,14 @@ void IsbnTest::testFixup_data() {
   QTest::newRow("978-0940016750") << QL1("978-0940016750") << QL1("978-0-940016-75-0");
   QTest::newRow("978-0-940016-75-0") << QL1("978-0-940016-75-0") << QL1("978-0-940016-75-0");
   QTest::newRow("978286274486") << QL1("978286274486") << QL1("978-2-86274-486-5");
-  QTest::newRow("9788186119130") << QL1("9788186119130") << QL1("978-81-86-11913-6");
-  QTest::newRow("9788186119137") << QL1("9788186119137") << QL1("978-81-86-11913-6");
-  QTest::newRow("97881-8611-9-13-0") << QL1("97881-8611-9-13-0") << QL1("978-81-86-11913-6");
-  QTest::newRow("97881-8611-9-13-7") << QL1("97881-8611-9-13-7") << QL1("978-81-86-11913-6");
+  QTest::newRow("9788186119130") << QL1("9788186119130") << QL1("978-81-86119-13-6");
+  QTest::newRow("9788186119137") << QL1("9788186119137") << QL1("978-81-86119-13-6");
+  QTest::newRow("97881-8611-9-13-0") << QL1("97881-8611-9-13-0") << QL1("978-81-86119-13-6");
+  QTest::newRow("97881-8611-9-13-7") << QL1("97881-8611-9-13-7") << QL1("978-81-86119-13-6");
 
   // don't add checksum for EAN that start with 978 or 979 and are less than 13 in length
-  QTest::newRow("978059600") << QL1("978059600") << QL1("978-059600");
-  QTest::newRow("978-0596000") << QL1("978-0596000") << QL1("978-059600-0");
+  QTest::newRow("978059600") << QL1("978059600") << QL1("978-059-600");
+  QTest::newRow("978-0596000") << QL1("978-0596000") << QL1("978-059-600-0");
 
   // normal english-language hyphenation
   QTest::newRow("0") << QL1("0") << QL1("0");
@@ -101,10 +101,13 @@ void IsbnTest::testFixup_data() {
   // check polish hyphenation
   QTest::newRow("978-83-7436-170-5") << QL1("9788374361705") << QL1("978-83-7436-170-5");
 
-  // check keeping middle hyphens
-  QTest::newRow("6-18611913-0") << QL1("6-18611913-0") << QL1("6-18611913-0");
-  QTest::newRow("6-186119-13-0") << QL1("6-186119-13-0") << QL1("6-186119-13-0");
-  QTest::newRow("6-18611-9-13-0") << QL1("6-18611-9-13-0") << QL1("6-18611-913-0");
+  // others
+  QTest::newRow("978-99925-3-892-0") << QL1("9789992538920") << QL1("978-99925-3-892-0");
+  QTest::newRow("978-99937-1-056-1") << QL1("9789993710561") << QL1("978-99937-1-056-1");
+  QTest::newRow("979-8-88645-174-0") << QL1("9798886451740") << QL1("979-8-88645-174-0");
+  QTest::newRow("979-10-90636-07-1") << QL1("9791090636071") << QL1("979-10-90636-07-1");
+  // nigerian pre-2007
+  QTest::newRow("978-123-456-7") << QL1("9781234567") << QL1("978-123-456-7");
 }
 
 void IsbnTest::testIsbn10() {
@@ -120,6 +123,8 @@ void IsbnTest::testIsbn10_data() {
 
   QTest::newRow("0-06-087298-5") << QL1("0-06-087298-5") << QL1("0-06-087298-5");
   QTest::newRow("978-0-06-087298-4") << QL1("978-0-06-087298-4") << QL1("0-06-087298-5");
+  // can't convert, returns input
+  QTest::newRow("979-10-90636-07-1") << QL1("9791090636071") << QL1("9791090636071");
 }
 
 void IsbnTest::testIsbn13() {
@@ -135,6 +140,7 @@ void IsbnTest::testIsbn13_data() {
 
   QTest::newRow("0-06-087298-5") << QL1("0-06-087298-5") << QL1("978-0-06-087298-4");
   QTest::newRow("9780-06-087298-4") << QL1("9780-06-087298-4") << QL1("978-0-06-087298-4");
+  QTest::newRow("979-10-90636-07-1") << QL1("97910906360-71") << QL1("979-10-90636-07-1");
 }
 
 void IsbnTest::testComparison() {
@@ -189,7 +195,7 @@ void IsbnTest::testState() {
   QFETCH(QString, value);
   QFETCH(bool, changedValue);
 
-  int pos = value.length() - 1;
+  int pos = value.length();
   const QString original = value;
 
   Tellico::ISBNValidator val;
@@ -218,7 +224,9 @@ void IsbnTest::testState_data() {
   QTest::newRow("0-321-1135") << QValidator::Intermediate << QL1("0-321-1135") << false;
   // checksum is added
   QTest::newRow("0-321-11358") << QValidator::Acceptable << QL1("0-321-11358") << true;
-  QTest::newRow("0-321-11358-") << QValidator::Acceptable << QL1("0-321-11358-") << true;
+  // case where user likely deleted the last character, the check-sum. Instead of re-inserting it
+  // delete the digit before as well
+  QTest::newRow("0-321-11358-") << QValidator::Intermediate << QL1("0-321-11358-") << true;
   QTest::newRow("0-321-11358-6") << QValidator::Acceptable << QL1("0-321-11358-6") << false;
 
   QTest::newRow("03") << QValidator::Intermediate << QL1("03") << true;
@@ -232,29 +240,32 @@ void IsbnTest::testState_data() {
   QTest::newRow("032111358") << QValidator::Acceptable << QL1("032111358") << true;
   QTest::newRow("0321113586") << QValidator::Acceptable << QL1("0321113586") << true;
 
-  // considered 10-digit ISBNs
+  // considered 10-digit ISBNs from nigeria
   QTest::newRow("9") << QValidator::Intermediate << QL1("9") << false;
   QTest::newRow("97") << QValidator::Intermediate << QL1("97") << false;
   QTest::newRow("978") << QValidator::Intermediate << QL1("978") << false;
   QTest::newRow("978-") << QValidator::Intermediate << QL1("978-") << false;
   QTest::newRow("978-0") << QValidator::Intermediate << QL1("978-0") << false;
   QTest::newRow("978-0-") << QValidator::Intermediate << QL1("978-0-") << false;
-  QTest::newRow("978-0-4") << QValidator::Intermediate << QL1("978-0-4") << false;
-  QTest::newRow("978-0-47") << QValidator::Intermediate << QL1("978-0-47") << false;
-  QTest::newRow("978-0-470") << QValidator::Intermediate << QL1("978-0-470") << false;
-  QTest::newRow("978-0-470-") << QValidator::Intermediate << QL1("978-0-470-") << false;
-  QTest::newRow("978-0-4701") << QValidator::Intermediate << QL1("978-0-4701") << false;
-  QTest::newRow("978-0-470-1") << QValidator::Intermediate << QL1("978-0-470-1") << true;
-  QTest::newRow("978-0-47014") << QValidator::Intermediate << QL1("978-0-47014") << false;
-  QTest::newRow("978-0-470-14") << QValidator::Intermediate << QL1("978-0-470-14") << true;
+  QTest::newRow("978-04") << QValidator::Intermediate << QL1("978-04") << false;
+  QTest::newRow("978-04-") << QValidator::Intermediate << QL1("978-04-") << false;
+  QTest::newRow("978-047") << QValidator::Intermediate << QL1("978-047") << false;
+  QTest::newRow("978-047-") << QValidator::Intermediate << QL1("978-047-") << false;
+  QTest::newRow("978-047-0") << QValidator::Intermediate << QL1("978-047-0") << false;
+  QTest::newRow("978-047-0-") << QValidator::Intermediate << QL1("978-047-0-") << false;
+  QTest::newRow("978-047-01") << QValidator::Intermediate << QL1("978-047-01") << false;
+  QTest::newRow("978-047-01-") << QValidator::Intermediate << QL1("978-047-01-") << true;
+  QTest::newRow("978-047-014") << QValidator::Intermediate << QL1("978-047-014") << false;
+  // case where we assume user deleted the check-sum
+  QTest::newRow("978-047-014-") << QValidator::Intermediate << QL1("978-047-01") << false;
+  // the 7 digit indicates it is now a possible isbn13, not a nigerian isbn10
   QTest::newRow("978-0-470-147") << QValidator::Intermediate << QL1("978-0-470-147") << true;
-  QTest::newRow("978-0-470147") << QValidator::Intermediate << QL1("978-0-470147") << true;
-  QTest::newRow("978-0-47014-7") << QValidator::Intermediate << QL1("978-0-47014-7") << false;
-  // now considered 13-digit ISBN
+  QTest::newRow("978-0-470-147") << QValidator::Intermediate << QL1("978-0-470-147-") << true;
   QTest::newRow("978-0-470-1476") << QValidator::Intermediate << QL1("978-0-470-1476") << false;
   // checksum is added
   QTest::newRow("978-0-470-14762") << QValidator::Acceptable << QL1("978-0-470-14762") << true;
-  QTest::newRow("978-0-470-14762-") << QValidator::Acceptable << QL1("978-0-470-14762-") << true;
+  // user deleted the check-sum
+  QTest::newRow("978-0-470-14762-") << QValidator::Intermediate << QL1("978-0-470-14762-") << true;
   QTest::newRow("978-0-470-14762-7") << QValidator::Acceptable << QL1("978-0-470-14762-7") << false;
   // invalid with a semi-colon and multiple values not allowed
   QTest::newRow("false multiple") << QValidator::Invalid << QL1("978-0-470-14762-7; 9") << false;
diff --git a/src/utils/isbnvalidator.cpp b/src/utils/isbnvalidator.cpp
index 1db4dc871..af6fb4632 100644
--- a/src/utils/isbnvalidator.cpp
+++ b/src/utils/isbnvalidator.cpp
@@ -204,14 +204,7 @@ void ISBNValidator::staticFixup(QString& input_) {
 
 QValidator::State ISBNValidator::validate10(QString& input_, int& pos_) const {
   int len = input_.length();
-/*
-  // Don't do this since the hyphens may be in the wrong place, can't put that in a regexp
-  if(isbn.exactMatch(input_) // put the exactMatch() first since I use matchedLength() later
-     && (len == 12 || len == 13)
-     && input_[len-1] == checkSum(input_)) {
-    return QValidator::Acceptable;
-  }
-*/
+
   // two easy invalid cases are too many hyphens and the 'X' not in the last position
   if(input_.count(QLatin1Char('-')) > 3
      || input_.count(QLatin1Char('X'), Qt::CaseInsensitive) > 1
@@ -220,7 +213,7 @@ QValidator::State ISBNValidator::validate10(QString& input_, int& pos_) const {
   }
 
   // remember if the cursor is at the end
-  bool atEnd = (pos_ == len);
+  const bool atEnd = (pos_ == len);
 
   // fix the case where the user attempts to delete a character from a non-checksum
   // position; the solution is to delete the checksum, but only if it's X
@@ -282,12 +275,12 @@ QValidator::State ISBNValidator::validate13(QString& input_, int& pos_) const {
 
   // now, it's not certain that we're getting a EAN-13,
   // it could be a ISBN-10 from Nigeria or Indonesia
-  if(countX > 0 && (len > 13 || input_[len-1].toUpper() != QLatin1Char('X'))) {
+  if(countX == 1 && (len > 13 || input_[len-1].toUpper() != QLatin1Char('X'))) {
     return QValidator::Invalid;
   }
 
   // remember if the cursor is at the end
-  bool atEnd = (pos_ == len);
+  const bool atEnd = (pos_ == len);
 
   // fix the case where the user attempts to delete a character from a non-checksum
   // position; the solution is to delete the checksum, but only if it's X
@@ -356,21 +349,6 @@ void ISBNValidator::fixup10(QString& input_) {
   static const QRegularExpression badChars(QStringLiteral("[^\\d\\-X]"));
   input_.remove(badChars);
 
-  // special case for EAN values that start with 978 or 979. That's the case
-  // for things like barcode readers that essentially 'type' the string at
-  // once. The simulated typing has already caused the input to be normalized,
-  // so strip that off, as well as the generated checksum. Then continue as normal.
-  //  If someone were to input a regular 978- or 979- ISBN _including_ the
-  // checksum, it will be regarded as barcode input and the input will be stripped accordingly.
-  // I consider the likelihood that someone wants to input an EAN to be higher than someone
-  // using a Nigerian ISBN and not noticing that the checksum gets added automatically.
-  if(input_.length() > 12
-     && (input_.startsWith(QLatin1StringView("978"))
-         || input_.startsWith(QLatin1StringView("979")))) {
-     // Strip the first 3 characters (the invalid publisher)
-//     input_ = input_.right(input_.length() - 3);
-  }
-
   // hyphen placement for some languages publishers is well-defined
   // remove all hyphens, and insert them ourselves
   // some countries have ill-defined second hyphen positions, and if
@@ -412,6 +390,8 @@ void ISBNValidator::fixup10(QString& input_) {
 
   ulong range = input_.leftJustified(9, QLatin1Char('0'), true).toULong();
 
+  // range for ISBN begins by 978
+  bands = bands978;
   // now find which band the range falls in
   int band = 0;
   while(range >= bands[band].MaxValue) {
@@ -419,7 +399,7 @@ void ISBNValidator::fixup10(QString& input_) {
   }
 
   // if we have space to put the first hyphen, do it
-  if(input_.length() > bands[band].First) {
+  if(input_.length() > bands[band].First && bands[band].First > 0) {
     input_.insert(bands[band].First, QLatin1Char('-'));
   }
 
@@ -435,7 +415,9 @@ void ISBNValidator::fixup10(QString& input_) {
   }
 
   // add a "-" before the checkdigit and another one if the middle "-" exists
-  const int trueLast = bands[band].Last + 1 + (hyphen2_position > 0 ? 1 : 0);
+  const int trueLast = bands[band].Last +
+                       (bands[band].First > 0 ? 1 : 0) +
+                       (hyphen2_position > 0 ? 1 : 0);
   if(input_.length() > trueLast) {
     input_.insert(trueLast, QLatin1Char('-'));
   } else if(hyphenAtEnd && !input_.endsWith(QLatin1Char('-'))) {
@@ -486,6 +468,12 @@ void ISBNValidator::fixup13(QString& input_) {
 
   ulong range = after.leftJustified(9, QLatin1Char('0'), true).toULong();
 
+  // range for ISBN 13 beginning with 979 is different than those for 978
+  if(input_.startsWith(QLatin1StringView("979"))) {
+    bands = bands979;
+  } else {
+    bands = bands978;
+  }
   // now find which band the range falls in
   int band = 0;
   while(range >= bands[band].MaxValue) {
@@ -493,7 +481,7 @@ void ISBNValidator::fixup13(QString& input_) {
   }
 
   // if we have space to put the first hyphen, do it
-  if(after.length() > bands[band].First) {
+  if(after.length() > bands[band].First && bands[band].First > 0) {
     after.insert(bands[band].First, QLatin1Char('-'));
   }
 
@@ -509,7 +497,9 @@ void ISBNValidator::fixup13(QString& input_) {
   }
 
   // add a "-" before the checkdigit and another one if the middle "-" exists
-  int trueLast = bands[band].Last + 1 + (hyphen2_position > 0 ? 1 : 0);
+  int trueLast = bands[band].Last +
+                 (bands[band].First > 0 ? 1 : 0) +
+                 (hyphen2_position > 0 ? 1 : 0);
   if(after.length() > trueLast) {
     after.insert(trueLast, QLatin1Char('-'));
   }
@@ -559,7 +549,7 @@ QChar ISBNValidator::checkSum13(const QString& input_) {
   return c;
 }
 
-// ISBN code from Regis Boudin
+// ISBN grouping code from Regis Boudin, updated by Alex Oio
 #define ISBNGRP_1DIGIT(digit, max, middle, last)        \
           {((digit)*100000000) + (max), 1, middle, last}
 #define ISBNGRP_2DIGIT(digit, max, middle, last)        \
@@ -571,6 +561,17 @@ QChar ISBNValidator::checkSum13(const QString& input_) {
 #define ISBNGRP_5DIGIT(digit, max, middle, last)        \
           {((digit)*10000) + ((max)/10000), 5, middle, last}
 
+#define ISBNGRP_1DUMMY(digit, max, middle, last)        \
+          {((digit)*100000000) + (max), 0, middle, last}
+#define ISBNGRP_2DUMMY(digit, max, middle, last)        \
+          {((digit)*10000000) + ((max)/10), 0, middle, last}
+#define ISBNGRP_3DUMMY(digit, max, middle, last)        \
+          {((digit)*1000000) + ((max)/100), 0, middle, last}
+#define ISBNGRP_4DUMMY(digit, max, middle, last)        \
+          {((digit)*100000) + ((max)/1000), 0, middle, last}
+#define ISBNGRP_5DUMMY(digit, max, middle, last)        \
+          {((digit)*10000) + ((max)/10000), 0, middle, last}
+
 #define ISBNPUB_2DIGIT(grp) (((grp)+1)*1000000)
 #define ISBNPUB_3DIGIT(grp) (((grp)+1)*100000)
 #define ISBNPUB_4DIGIT(grp) (((grp)+1)*10000)
@@ -579,68 +580,7 @@ QChar ISBNValidator::checkSum13(const QString& input_) {
 #define ISBNPUB_7DIGIT(grp) (((grp)+1)*10)
 #define ISBNPUB_8DIGIT(grp) (((grp)+1)*1)
 
-// how to format an ISBN, after categorising it into a range of numbers.
-struct ISBNValidator::isbn_band ISBNValidator::bands[] = {
-  /* Groups 0 & 1 : English */
-  ISBNGRP_1DIGIT(0,     ISBNPUB_2DIGIT(19),      3, 9),
-  ISBNGRP_1DIGIT(0,     ISBNPUB_3DIGIT(699),     4, 9),
-  ISBNGRP_1DIGIT(0,     ISBNPUB_4DIGIT(8499),    5, 9),
-  ISBNGRP_1DIGIT(0,     ISBNPUB_5DIGIT(89999),   6, 9),
-  ISBNGRP_1DIGIT(0,     ISBNPUB_6DIGIT(949999),  7, 9),
-  ISBNGRP_1DIGIT(0,     ISBNPUB_7DIGIT(9999999), 8, 9),
-
-  ISBNGRP_1DIGIT(1,     ISBNPUB_5DIGIT(54999),   6, 9),
-  ISBNGRP_1DIGIT(1,     ISBNPUB_5DIGIT(86979),   6, 9),
-  ISBNGRP_1DIGIT(1,     ISBNPUB_6DIGIT(998999),  7, 9),
-  ISBNGRP_1DIGIT(1,     ISBNPUB_7DIGIT(9999999), 8, 9),
-  /* Group 2 : French */
-  ISBNGRP_1DIGIT(2,     ISBNPUB_2DIGIT(19),      3, 9),
-  ISBNGRP_1DIGIT(2,     ISBNPUB_3DIGIT(349),     4, 9),
-  ISBNGRP_1DIGIT(2,     ISBNPUB_5DIGIT(39999),   6, 9),
-  ISBNGRP_1DIGIT(2,     ISBNPUB_3DIGIT(699),     4, 9),
-  ISBNGRP_1DIGIT(2,     ISBNPUB_4DIGIT(8399),    5, 9),
-  ISBNGRP_1DIGIT(2,     ISBNPUB_5DIGIT(89999),   6, 9),
-  ISBNGRP_1DIGIT(2,     ISBNPUB_6DIGIT(949999),  7, 9),
-  ISBNGRP_1DIGIT(2,     ISBNPUB_7DIGIT(9999999), 8, 9),
-
-  /* Group 2 : German */
-  ISBNGRP_1DIGIT(3,     ISBNPUB_2DIGIT(19),      3, 9),
-  ISBNGRP_1DIGIT(3,     ISBNPUB_3DIGIT(699),     4, 9),
-  ISBNGRP_1DIGIT(3,     ISBNPUB_4DIGIT(8499),    5, 9),
-  ISBNGRP_1DIGIT(3,     ISBNPUB_5DIGIT(89999),   6, 9),
-  ISBNGRP_1DIGIT(3,     ISBNPUB_6DIGIT(949999),  7, 9),
-  ISBNGRP_1DIGIT(3,     ISBNPUB_7DIGIT(9999999), 8, 9),
-
-  ISBNGRP_1DIGIT(7,     ISBNPUB_2DIGIT(99),      0, 9),
-  /* Group 80 : Czech */
-  ISBNGRP_2DIGIT(80,    ISBNPUB_2DIGIT(19),      4, 9),
-  ISBNGRP_2DIGIT(80,    ISBNPUB_3DIGIT(699),     5, 9),
-  ISBNGRP_2DIGIT(80,    ISBNPUB_4DIGIT(8499),    6, 9),
-  ISBNGRP_2DIGIT(80,    ISBNPUB_5DIGIT(89999),   7, 9),
-  ISBNGRP_2DIGIT(80,    ISBNPUB_6DIGIT(949999),  8, 9),
-
-  /* Group 83 : Poland */
-  ISBNGRP_2DIGIT(83,    ISBNPUB_2DIGIT(19),      4, 9),
-  ISBNGRP_2DIGIT(83,    ISBNPUB_3DIGIT(599),     5, 9),
-  ISBNGRP_2DIGIT(83,    ISBNPUB_5DIGIT(69999),   7, 9),
-  ISBNGRP_2DIGIT(83,    ISBNPUB_4DIGIT(8499),    6, 9),
-  ISBNGRP_2DIGIT(83,    ISBNPUB_5DIGIT(89999),   7, 9),
-  ISBNGRP_2DIGIT(83,    ISBNPUB_6DIGIT(949999),  8, 9),
-
-  /* Group 90 * Netherlands */
-  ISBNGRP_2DIGIT(90,    ISBNPUB_2DIGIT(19),      4, 9),
-  ISBNGRP_2DIGIT(90,    ISBNPUB_3DIGIT(499),     5, 9),
-  ISBNGRP_2DIGIT(90,    ISBNPUB_4DIGIT(6999),    6, 9),
-  ISBNGRP_2DIGIT(90,    ISBNPUB_5DIGIT(79999),   7, 9),
-  ISBNGRP_2DIGIT(90,    ISBNPUB_6DIGIT(849999),  8, 9),
-  ISBNGRP_2DIGIT(90,    ISBNPUB_4DIGIT(8999),    6, 9),
-  ISBNGRP_2DIGIT(90,    ISBNPUB_7DIGIT(9999999), 9, 9),
-
-  ISBNGRP_2DIGIT(94,    ISBNPUB_2DIGIT(99),      0, 9),
-  ISBNGRP_3DIGIT(993,   ISBNPUB_2DIGIT(99),      0, 9),
-  ISBNGRP_4DIGIT(9989,  ISBNPUB_2DIGIT(99),      0, 9),
-  ISBNGRP_5DIGIT(99999, ISBNPUB_2DIGIT(99),      0, 9)
-};
+#include "isbnvalidator_range.h"
 
 bool Tellico::ISBNComparison::operator()(const QString& value1_, const QString& value2_) const {
   QString value1 = ISBNValidator::cleanValue(value1_).toUpper();
diff --git a/src/utils/isbnvalidator.h b/src/utils/isbnvalidator.h
index 7bab84dba..9494109d0 100644
--- a/src/utils/isbnvalidator.h
+++ b/src/utils/isbnvalidator.h
@@ -142,12 +142,15 @@ public:
   static QStringList listDifference(const QStringList& list1, const QStringList& list2);
 
 private:
-  static struct isbn_band {
+  struct isbn_band {
     unsigned long MaxValue;
     int First;
     int Mid;
     int Last;
-  } bands[];
+  };
+  static isbn_band bands978[];
+  static isbn_band bands979[];
+  static isbn_band* bands; // switches between 978 and 979
 
   QValidator::State validateSingle(QString& input, int& pos) const;
   QValidator::State validate10(QString& input, int& pos) const;
diff --git a/src/utils/isbnvalidator_range.h b/src/utils/isbnvalidator_range.h
new file mode 100644
index 000000000..c9486b220
--- /dev/null
+++ b/src/utils/isbnvalidator_range.h
@@ -0,0 +1,2176 @@
+#ifndef TELLICO_ISBNVALIDATOR_RANGE_H
+#define TELLICO_ISBNVALIDATOR_RANGE_H
+
+//--------------------------------------:--------------------------------------:
+// Source:        International ISBN Agency
+// Serial Number: 43400150-b09d-47aa-97f1-ed2df9139a74
+// Date:          Sun, 19 Jul 2026 16:34:41 BST
+// Generated by:  Alex Oio
+//--------------------------------------:--------------------------------------:
+
+// how to format an ISBN, after categorising it into a range of numbers.
+ISBNValidator::isbn_band* ISBNValidator::bands;
+
+//--------------------------------------:--------------------------------------:
+ISBNValidator::isbn_band ISBNValidator::bands978[] = {
+//--------------------------------------: English language (978-0)
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(1999999), 3, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(2279999), 4, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(2289999), 5, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(3689999), 4, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(3699999), 5, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(6389999), 4, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(6397999), 5, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(6399999), 8, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(6449999), 4, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(6459999), 8, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(6479999), 4, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(6489999), 8, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(6549999), 4, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(6559999), 5, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(6999999), 4, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(8499999), 5, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(9003709), 7, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(9003719), 8, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_1DIGIT(0,      ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: English language (978-1)
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(  99999), 4, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT( 299999), 3, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT( 349999), 4, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT( 399999), 5, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT( 459999), 4, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT( 469999), 5, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT( 479999), 4, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT( 499999), 5, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT( 599999), 3, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT( 664999), 0, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT( 665749), 8, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT( 665999), 8, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT( 669999), 8, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT( 699999), 8, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(3979999), 4, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(5499999), 5, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(6499999), 6, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(6799999), 5, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(6859999), 6, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(7139999), 5, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(7169999), 4, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(7319999), 5, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(7399999), 8, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(7619999), 6, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(7634999), 5, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(7649999), 8, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(7749999), 6, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(7753999), 8, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(7763999), 6, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(7764999), 8, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(7769999), 6, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(7782999), 8, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(7899999), 6, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(7999999), 5, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(8004999), 6, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(8049999), 6, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(8379999), 6, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(8384999), 8, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(8671999), 6, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(8675999), 5, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(8697999), 6, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(9159999), 7, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(9165059), 8, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(9168699), 7, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(9169079), 8, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(9191639), 7, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(9195649), 8, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(9195999), 7, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(9196549), 8, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(9729999), 7, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(9877999), 5, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(9911499), 7, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(9911999), 8, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(9989899), 7, 9),
+ISBNGRP_1DIGIT(1,      ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: French language (978-2)
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(1999999), 3, 9),
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(3499999), 4, 9),
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(4869999), 4, 9),
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(4949999), 7, 9),
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(4959999), 4, 9),
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(4966999), 5, 9),
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(4969999), 6, 9),
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(5279999), 4, 9),
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(5299999), 5, 9),
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(6999999), 4, 9),
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(8399999), 5, 9),
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(9197999), 7, 9),
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(9198099), 6, 9),
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(9199429), 7, 9),
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(9199689), 8, 9),
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_1DIGIT(2,      ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: German language (978-3)
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT( 299999), 3, 9),
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT( 339999), 4, 9),
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT( 369999), 5, 9),
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT( 399999), 6, 9),
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT(1999999), 3, 9),
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT(3129999), 4, 9),
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT(3139999), 5, 9),
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT(3899999), 4, 9),
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT(3999999), 3, 9),
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT(6889999), 4, 9),
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT(6949999), 6, 9),
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT(8499999), 5, 9),
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT(9539999), 8, 9),
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT(9699999), 6, 9),
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT(9849999), 8, 9),
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT(9995999), 6, 9),
+ISBNGRP_1DIGIT(3,      ISBNPUB_7DIGIT(9999999), 5, 9),
+//--------------------------------------: Japan (978-4)
+ISBNGRP_1DIGIT(4,      ISBNPUB_7DIGIT(1999999), 3, 9),
+ISBNGRP_1DIGIT(4,      ISBNPUB_7DIGIT(6999999), 4, 9),
+ISBNGRP_1DIGIT(4,      ISBNPUB_7DIGIT(8499999), 5, 9),
+ISBNGRP_1DIGIT(4,      ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_1DIGIT(4,      ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_1DIGIT(4,      ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: former U.S.S.R (978-5)
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(  49999), 6, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(  99999), 5, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(1999999), 3, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(3619999), 4, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(3623999), 5, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(3629999), 6, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(4209999), 4, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(4299999), 5, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(4309999), 4, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(4399999), 5, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(4409999), 4, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(4499999), 5, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(6029999), 4, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(6049999), 8, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(6999999), 4, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(8499999), 5, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(9099999), 7, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(9199999), 6, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(9299999), 5, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(9499999), 6, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(9500999), 8, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(9799999), 5, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(9899999), 6, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(9909999), 8, 9),
+ISBNGRP_1DIGIT(5,      ISBNPUB_7DIGIT(9999999), 5, 9),
+//--------------------------------------: Iran (978-600)
+ISBNGRP_3DIGIT(600,    ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_3DIGIT(600,    ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_3DIGIT(600,    ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_3DIGIT(600,    ISBNPUB_7DIGIT(9867999), 8, 9),
+ISBNGRP_3DIGIT(600,    ISBNPUB_7DIGIT(9929999), 7, 9),
+ISBNGRP_3DIGIT(600,    ISBNPUB_7DIGIT(9959999), 6, 9),
+ISBNGRP_3DIGIT(600,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Kazakhstan (978-601)
+ISBNGRP_3DIGIT(601,    ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_3DIGIT(601,    ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_3DIGIT(601,    ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_3DIGIT(601,    ISBNPUB_7DIGIT(8499999), 8, 9),
+ISBNGRP_3DIGIT(601,    ISBNPUB_7DIGIT(9999999), 5, 9),
+//--------------------------------------: Indonesia (978-602)
+ISBNGRP_3DIGIT(602,    ISBNPUB_7DIGIT( 699999), 5, 9),
+ISBNGRP_3DIGIT(602,    ISBNPUB_7DIGIT(1399999), 7, 9),
+ISBNGRP_3DIGIT(602,    ISBNPUB_7DIGIT(1499999), 8, 9),
+ISBNGRP_3DIGIT(602,    ISBNPUB_7DIGIT(1699999), 7, 9),
+ISBNGRP_3DIGIT(602,    ISBNPUB_7DIGIT(1999999), 8, 9),
+ISBNGRP_3DIGIT(602,    ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_3DIGIT(602,    ISBNPUB_7DIGIT(5399999), 8, 9),
+ISBNGRP_3DIGIT(602,    ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_3DIGIT(602,    ISBNPUB_7DIGIT(6199999), 8, 9),
+ISBNGRP_3DIGIT(602,    ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_3DIGIT(602,    ISBNPUB_7DIGIT(7499999), 8, 9),
+ISBNGRP_3DIGIT(602,    ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_3DIGIT(602,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Saudi Arabia (978-603)
+ISBNGRP_3DIGIT(603,    ISBNPUB_7DIGIT( 499999), 5, 9),
+ISBNGRP_3DIGIT(603,    ISBNPUB_7DIGIT(4999999), 5, 9),
+ISBNGRP_3DIGIT(603,    ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_3DIGIT(603,    ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_3DIGIT(603,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Vietnam (978-604)
+ISBNGRP_3DIGIT(604,    ISBNPUB_7DIGIT(2999999), 4, 9),
+ISBNGRP_3DIGIT(604,    ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_3DIGIT(604,    ISBNPUB_7DIGIT(4699999), 5, 9),
+ISBNGRP_3DIGIT(604,    ISBNPUB_7DIGIT(4979999), 6, 9),
+ISBNGRP_3DIGIT(604,    ISBNPUB_7DIGIT(4999999), 7, 9),
+ISBNGRP_3DIGIT(604,    ISBNPUB_7DIGIT(8999999), 5, 9),
+ISBNGRP_3DIGIT(604,    ISBNPUB_7DIGIT(9799999), 6, 9),
+ISBNGRP_3DIGIT(604,    ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Türkiye (978-605)
+ISBNGRP_3DIGIT(605,    ISBNPUB_7DIGIT( 299999), 5, 9),
+ISBNGRP_3DIGIT(605,    ISBNPUB_7DIGIT( 399999), 6, 9),
+ISBNGRP_3DIGIT(605,    ISBNPUB_7DIGIT( 599999), 5, 9),
+ISBNGRP_3DIGIT(605,    ISBNPUB_7DIGIT( 699999), 8, 9),
+ISBNGRP_3DIGIT(605,    ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_3DIGIT(605,    ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_3DIGIT(605,    ISBNPUB_7DIGIT(2399999), 7, 9),
+ISBNGRP_3DIGIT(605,    ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_3DIGIT(605,    ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_3DIGIT(605,    ISBNPUB_7DIGIT(7499999), 8, 9),
+ISBNGRP_3DIGIT(605,    ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_3DIGIT(605,    ISBNPUB_7DIGIT(8999999), 8, 9),
+ISBNGRP_3DIGIT(605,    ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Romania (978-606)
+ISBNGRP_3DIGIT(606,    ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_3DIGIT(606,    ISBNPUB_7DIGIT(4999999), 5, 9),
+ISBNGRP_3DIGIT(606,    ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_3DIGIT(606,    ISBNPUB_7DIGIT(9099999), 7, 9),
+ISBNGRP_3DIGIT(606,    ISBNPUB_7DIGIT(9199999), 6, 9),
+ISBNGRP_3DIGIT(606,    ISBNPUB_7DIGIT(9599999), 8, 9),
+ISBNGRP_3DIGIT(606,    ISBNPUB_7DIGIT(9749999), 7, 9),
+ISBNGRP_3DIGIT(606,    ISBNPUB_7DIGIT(9999999), 6, 9),
+//--------------------------------------: Mexico (978-607)
+ISBNGRP_3DIGIT(607,    ISBNPUB_7DIGIT(2599999), 5, 9),
+ISBNGRP_3DIGIT(607,    ISBNPUB_7DIGIT(2649999), 7, 9),
+ISBNGRP_3DIGIT(607,    ISBNPUB_7DIGIT(2699999), 8, 9),
+ISBNGRP_3DIGIT(607,    ISBNPUB_7DIGIT(3999999), 5, 9),
+ISBNGRP_3DIGIT(607,    ISBNPUB_7DIGIT(5889999), 6, 9),
+ISBNGRP_3DIGIT(607,    ISBNPUB_7DIGIT(5929999), 7, 9),
+ISBNGRP_3DIGIT(607,    ISBNPUB_7DIGIT(5999999), 8, 9),
+ISBNGRP_3DIGIT(607,    ISBNPUB_7DIGIT(6919999), 6, 9),
+ISBNGRP_3DIGIT(607,    ISBNPUB_7DIGIT(6999999), 8, 9),
+ISBNGRP_3DIGIT(607,    ISBNPUB_7DIGIT(7499999), 6, 9),
+ISBNGRP_3DIGIT(607,    ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_3DIGIT(607,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: North Macedonia (978-608)
+ISBNGRP_3DIGIT(608,    ISBNPUB_7DIGIT( 999999), 4, 9),
+ISBNGRP_3DIGIT(608,    ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_3DIGIT(608,    ISBNPUB_7DIGIT(4499999), 6, 9),
+ISBNGRP_3DIGIT(608,    ISBNPUB_7DIGIT(6499999), 7, 9),
+ISBNGRP_3DIGIT(608,    ISBNPUB_7DIGIT(6999999), 8, 9),
+ISBNGRP_3DIGIT(608,    ISBNPUB_7DIGIT(9999999), 4, 9),
+//--------------------------------------: Lithuania (978-609)
+ISBNGRP_3DIGIT(609,    ISBNPUB_7DIGIT(3999999), 5, 9),
+ISBNGRP_3DIGIT(609,    ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_3DIGIT(609,    ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_3DIGIT(609,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Dummy (978-610)
+ISBNGRP_3DUMMY(610,    ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: Thailand (978-611)
+ISBNGRP_3DIGIT(611,    ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: Peru (978-612)
+ISBNGRP_3DIGIT(612,    ISBNPUB_7DIGIT(2999999), 5, 9),
+ISBNGRP_3DIGIT(612,    ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_3DIGIT(612,    ISBNPUB_7DIGIT(4499999), 7, 9),
+ISBNGRP_3DIGIT(612,    ISBNPUB_7DIGIT(4999999), 8, 9),
+ISBNGRP_3DIGIT(612,    ISBNPUB_7DIGIT(5299999), 7, 9),
+ISBNGRP_3DIGIT(612,    ISBNPUB_7DIGIT(9899999), 0, 9),
+ISBNGRP_3DIGIT(612,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Mauritius (978-613)
+ISBNGRP_3DIGIT(613,    ISBNPUB_7DIGIT(9999999), 4, 9),
+//--------------------------------------: Lebanon (978-614)
+ISBNGRP_3DIGIT(614,    ISBNPUB_7DIGIT(3999999), 5, 9),
+ISBNGRP_3DIGIT(614,    ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_3DIGIT(614,    ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_3DIGIT(614,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Hungary (978-615)
+ISBNGRP_3DIGIT(615,    ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_3DIGIT(615,    ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_3DIGIT(615,    ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_3DIGIT(615,    ISBNPUB_7DIGIT(8999999), 8, 9),
+ISBNGRP_3DIGIT(615,    ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: Thailand (978-616)
+ISBNGRP_3DIGIT(616,    ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_3DIGIT(616,    ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_3DIGIT(616,    ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_3DIGIT(616,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Ukraine (978-617)
+ISBNGRP_3DIGIT(617,    ISBNPUB_7DIGIT(4999999), 5, 9),
+ISBNGRP_3DIGIT(617,    ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_3DIGIT(617,    ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_3DIGIT(617,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Greece (978-618)
+ISBNGRP_3DIGIT(618,    ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_3DIGIT(618,    ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_3DIGIT(618,    ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_3DIGIT(618,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Bulgaria (978-619)
+ISBNGRP_3DIGIT(619,    ISBNPUB_7DIGIT(1499999), 5, 9),
+ISBNGRP_3DIGIT(619,    ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_3DIGIT(619,    ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_3DIGIT(619,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Mauritius (978-620)
+ISBNGRP_3DIGIT(620,    ISBNPUB_7DIGIT(9999999), 4, 9),
+//--------------------------------------: Philippines (978-621)
+ISBNGRP_3DIGIT(621,    ISBNPUB_7DIGIT(2999999), 5, 9),
+ISBNGRP_3DIGIT(621,    ISBNPUB_7DIGIT(3999999), 0, 9),
+ISBNGRP_3DIGIT(621,    ISBNPUB_7DIGIT(5999999), 6, 9),
+ISBNGRP_3DIGIT(621,    ISBNPUB_7DIGIT(7999999), 0, 9),
+ISBNGRP_3DIGIT(621,    ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_3DIGIT(621,    ISBNPUB_7DIGIT(9499999), 0, 9),
+ISBNGRP_3DIGIT(621,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Iran (978-622)
+ISBNGRP_3DIGIT(622,    ISBNPUB_7DIGIT(1099999), 5, 9),
+ISBNGRP_3DIGIT(622,    ISBNPUB_7DIGIT(1299999), 6, 9),
+ISBNGRP_3DIGIT(622,    ISBNPUB_7DIGIT(1799999), 7, 9),
+ISBNGRP_3DIGIT(622,    ISBNPUB_7DIGIT(1829999), 6, 9),
+ISBNGRP_3DIGIT(622,    ISBNPUB_7DIGIT(1899999), 7, 9),
+ISBNGRP_3DIGIT(622,    ISBNPUB_7DIGIT(1949999), 6, 9),
+ISBNGRP_3DIGIT(622,    ISBNPUB_7DIGIT(1999999), 8, 9),
+ISBNGRP_3DIGIT(622,    ISBNPUB_7DIGIT(4599999), 6, 9),
+ISBNGRP_3DIGIT(622,    ISBNPUB_7DIGIT(8749999), 7, 9),
+ISBNGRP_3DIGIT(622,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Indonesia (978-623)
+ISBNGRP_3DIGIT(623,    ISBNPUB_7DIGIT(1099999), 5, 9),
+ISBNGRP_3DIGIT(623,    ISBNPUB_7DIGIT(5249999), 6, 9),
+ISBNGRP_3DIGIT(623,    ISBNPUB_7DIGIT(8799999), 7, 9),
+ISBNGRP_3DIGIT(623,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Sri Lanka (978-624)
+ISBNGRP_3DIGIT(624,    ISBNPUB_7DIGIT( 499999), 5, 9),
+ISBNGRP_3DIGIT(624,    ISBNPUB_7DIGIT(1999999), 0, 9),
+ISBNGRP_3DIGIT(624,    ISBNPUB_7DIGIT(2499999), 6, 9),
+ISBNGRP_3DIGIT(624,    ISBNPUB_7DIGIT(4849999), 0, 9),
+ISBNGRP_3DIGIT(624,    ISBNPUB_7DIGIT(6899999), 7, 9),
+ISBNGRP_3DIGIT(624,    ISBNPUB_7DIGIT(9099999), 0, 9),
+ISBNGRP_3DIGIT(624,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Türkiye (978-625)
+ISBNGRP_3DIGIT(625,    ISBNPUB_7DIGIT( 199999), 5, 9),
+ISBNGRP_3DIGIT(625,    ISBNPUB_7DIGIT(3199999), 0, 9),
+ISBNGRP_3DIGIT(625,    ISBNPUB_7DIGIT(4429999), 6, 9),
+ISBNGRP_3DIGIT(625,    ISBNPUB_7DIGIT(4449999), 8, 9),
+ISBNGRP_3DIGIT(625,    ISBNPUB_7DIGIT(4499999), 6, 9),
+ISBNGRP_3DIGIT(625,    ISBNPUB_7DIGIT(5499999), 0, 9),
+ISBNGRP_3DIGIT(625,    ISBNPUB_7DIGIT(7793999), 7, 9),
+ISBNGRP_3DIGIT(625,    ISBNPUB_7DIGIT(7794999), 8, 9),
+ISBNGRP_3DIGIT(625,    ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_3DIGIT(625,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Taiwan (978-626)
+ISBNGRP_3DIGIT(626,    ISBNPUB_7DIGIT( 499999), 5, 9),
+ISBNGRP_3DIGIT(626,    ISBNPUB_7DIGIT(2999999), 0, 9),
+ISBNGRP_3DIGIT(626,    ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_3DIGIT(626,    ISBNPUB_7DIGIT(6499999), 0, 9),
+ISBNGRP_3DIGIT(626,    ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_3DIGIT(626,    ISBNPUB_7DIGIT(9249999), 0, 9),
+ISBNGRP_3DIGIT(626,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Pakistan (978-627)
+ISBNGRP_3DIGIT(627,    ISBNPUB_7DIGIT(2799999), 0, 9),
+ISBNGRP_3DIGIT(627,    ISBNPUB_7DIGIT(3199999), 5, 9),
+ISBNGRP_3DIGIT(627,    ISBNPUB_7DIGIT(4999999), 0, 9),
+ISBNGRP_3DIGIT(627,    ISBNPUB_7DIGIT(5349999), 6, 9),
+ISBNGRP_3DIGIT(627,    ISBNPUB_7DIGIT(7399999), 0, 9),
+ISBNGRP_3DIGIT(627,    ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_3DIGIT(627,    ISBNPUB_7DIGIT(9449999), 0, 9),
+ISBNGRP_3DIGIT(627,    ISBNPUB_7DIGIT(9514999), 8, 9),
+ISBNGRP_3DIGIT(627,    ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: Colombia (978-628)
+ISBNGRP_3DIGIT(628,    ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_3DIGIT(628,    ISBNPUB_7DIGIT(4999999), 0, 9),
+ISBNGRP_3DIGIT(628,    ISBNPUB_7DIGIT(5499999), 6, 9),
+ISBNGRP_3DIGIT(628,    ISBNPUB_7DIGIT(7499999), 0, 9),
+ISBNGRP_3DIGIT(628,    ISBNPUB_7DIGIT(8499999), 7, 9),
+ISBNGRP_3DIGIT(628,    ISBNPUB_7DIGIT(9499999), 0, 9),
+ISBNGRP_3DIGIT(628,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Malaysia (978-629)
+ISBNGRP_3DIGIT(629,    ISBNPUB_7DIGIT( 299999), 5, 9),
+ISBNGRP_3DIGIT(629,    ISBNPUB_7DIGIT(4549999), 0, 9),
+ISBNGRP_3DIGIT(629,    ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_3DIGIT(629,    ISBNPUB_7DIGIT(7499999), 0, 9),
+ISBNGRP_3DIGIT(629,    ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_3DIGIT(629,    ISBNPUB_7DIGIT(9199999), 0, 9),
+ISBNGRP_3DIGIT(629,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Romania (978-630)
+ISBNGRP_3DIGIT(630,    ISBNPUB_7DIGIT(2999999), 0, 9),
+ISBNGRP_3DIGIT(630,    ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_3DIGIT(630,    ISBNPUB_7DIGIT(6499999), 0, 9),
+ISBNGRP_3DIGIT(630,    ISBNPUB_7DIGIT(6849999), 7, 9),
+ISBNGRP_3DIGIT(630,    ISBNPUB_7DIGIT(9499999), 0, 9),
+ISBNGRP_3DIGIT(630,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Argentina (978-631)
+ISBNGRP_3DIGIT(631,    ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_3DIGIT(631,    ISBNPUB_7DIGIT(2999999), 0, 9),
+ISBNGRP_3DIGIT(631,    ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_3DIGIT(631,    ISBNPUB_7DIGIT(6499999), 0, 9),
+ISBNGRP_3DIGIT(631,    ISBNPUB_7DIGIT(7499999), 7, 9),
+ISBNGRP_3DIGIT(631,    ISBNPUB_7DIGIT(8999999), 0, 9),
+ISBNGRP_3DIGIT(631,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Vietnam (978-632)
+ISBNGRP_3DIGIT(632,    ISBNPUB_7DIGIT(1199999), 5, 9),
+ISBNGRP_3DIGIT(632,    ISBNPUB_7DIGIT(5999999), 0, 9),
+ISBNGRP_3DIGIT(632,    ISBNPUB_7DIGIT(6799999), 6, 9),
+ISBNGRP_3DIGIT(632,    ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: Egypt (978-633)
+ISBNGRP_3DIGIT(633,    ISBNPUB_7DIGIT( 199999), 5, 9),
+ISBNGRP_3DIGIT(633,    ISBNPUB_7DIGIT(2999999), 0, 9),
+ISBNGRP_3DIGIT(633,    ISBNPUB_7DIGIT(3499999), 6, 9),
+ISBNGRP_3DIGIT(633,    ISBNPUB_7DIGIT(8249999), 0, 9),
+ISBNGRP_3DIGIT(633,    ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_3DIGIT(633,    ISBNPUB_7DIGIT(9949999), 0, 9),
+ISBNGRP_3DIGIT(633,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Indonesia (978-634)
+ISBNGRP_3DIGIT(634,    ISBNPUB_7DIGIT( 599999), 5, 9),
+ISBNGRP_3DIGIT(634,    ISBNPUB_7DIGIT(1999999), 0, 9),
+ISBNGRP_3DIGIT(634,    ISBNPUB_7DIGIT(3499999), 6, 9),
+ISBNGRP_3DIGIT(634,    ISBNPUB_7DIGIT(6999999), 0, 9),
+ISBNGRP_3DIGIT(634,    ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_3DIGIT(634,    ISBNPUB_7DIGIT(9599999), 0, 9),
+ISBNGRP_3DIGIT(634,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Dummy (978-649)
+ISBNGRP_3DUMMY(649,    ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: Brazil (978-65)
+ISBNGRP_2DIGIT(65,     ISBNPUB_7DIGIT( 299999), 4, 9),
+ISBNGRP_2DIGIT(65,     ISBNPUB_7DIGIT(2499999), 0, 9),
+ISBNGRP_2DIGIT(65,     ISBNPUB_7DIGIT(2999999), 5, 9),
+ISBNGRP_2DIGIT(65,     ISBNPUB_7DIGIT(3029999), 5, 9),
+ISBNGRP_2DIGIT(65,     ISBNPUB_7DIGIT(4999999), 0, 9),
+ISBNGRP_2DIGIT(65,     ISBNPUB_7DIGIT(6349999), 6, 9),
+ISBNGRP_2DIGIT(65,     ISBNPUB_7DIGIT(7999999), 0, 9),
+ISBNGRP_2DIGIT(65,     ISBNPUB_7DIGIT(8182499), 7, 9),
+ISBNGRP_2DIGIT(65,     ISBNPUB_7DIGIT(8199999), 0, 9),
+ISBNGRP_2DIGIT(65,     ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_2DIGIT(65,     ISBNPUB_7DIGIT(9024499), 8, 9),
+ISBNGRP_2DIGIT(65,     ISBNPUB_7DIGIT(9754999), 0, 9),
+ISBNGRP_2DIGIT(65,     ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Federated Panel (978-66)
+ISBNGRP_2DIGIT(66,     ISBNPUB_7DIGIT(2999999), 0, 9),
+ISBNGRP_2DIGIT(66,     ISBNPUB_7DIGIT(3099999), 4, 9),
+ISBNGRP_2DIGIT(66,     ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: Dummy (978-69)
+ISBNGRP_2DUMMY(69,     ISBNPUB_7DIGIT(9899999), 0, 9),
+//--------------------------------------: Zambia registration group (978-69990)
+ISBNGRP_5DIGIT(69990,  ISBNPUB_7DIGIT(4999999), 0, 9),
+ISBNGRP_5DIGIT(69990,  ISBNPUB_7DIGIT(5099999), 7, 9),
+ISBNGRP_5DIGIT(69990,  ISBNPUB_7DIGIT(9939999), 0, 9),
+ISBNGRP_5DIGIT(69990,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Dummy (978-69999)
+ISBNGRP_5DUMMY(69999,  ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: China, People's Republic (978-7)
+ISBNGRP_1DIGIT(7,      ISBNPUB_7DIGIT( 999999), 3, 9),
+ISBNGRP_1DIGIT(7,      ISBNPUB_7DIGIT(4999999), 4, 9),
+ISBNGRP_1DIGIT(7,      ISBNPUB_7DIGIT(7999999), 5, 9),
+ISBNGRP_1DIGIT(7,      ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_1DIGIT(7,      ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: former Czechoslovakia (978-80)
+ISBNGRP_2DIGIT(80,     ISBNPUB_7DIGIT(1999999), 4, 9),
+ISBNGRP_2DIGIT(80,     ISBNPUB_7DIGIT(5299999), 5, 9),
+ISBNGRP_2DIGIT(80,     ISBNPUB_7DIGIT(5499999), 7, 9),
+ISBNGRP_2DIGIT(80,     ISBNPUB_7DIGIT(6899999), 5, 9),
+ISBNGRP_2DIGIT(80,     ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_2DIGIT(80,     ISBNPUB_7DIGIT(8499999), 6, 9),
+ISBNGRP_2DIGIT(80,     ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_2DIGIT(80,     ISBNPUB_7DIGIT(9989999), 8, 9),
+ISBNGRP_2DIGIT(80,     ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: India (978-81)
+ISBNGRP_2DIGIT(81,     ISBNPUB_7DIGIT(1899999), 4, 9),
+ISBNGRP_2DIGIT(81,     ISBNPUB_7DIGIT(1999999), 7, 9),
+ISBNGRP_2DIGIT(81,     ISBNPUB_7DIGIT(6699999), 5, 9),
+ISBNGRP_2DIGIT(81,     ISBNPUB_7DIGIT(6799999), 6, 9),
+ISBNGRP_2DIGIT(81,     ISBNPUB_7DIGIT(6849999), 7, 9),
+ISBNGRP_2DIGIT(81,     ISBNPUB_7DIGIT(6899999), 8, 9),
+ISBNGRP_2DIGIT(81,     ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_2DIGIT(81,     ISBNPUB_7DIGIT(8499999), 6, 9),
+ISBNGRP_2DIGIT(81,     ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_2DIGIT(81,     ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Norway (978-82)
+ISBNGRP_2DIGIT(82,     ISBNPUB_7DIGIT(1999999), 4, 9),
+ISBNGRP_2DIGIT(82,     ISBNPUB_7DIGIT(6899999), 5, 9),
+ISBNGRP_2DIGIT(82,     ISBNPUB_7DIGIT(6999999), 8, 9),
+ISBNGRP_2DIGIT(82,     ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_2DIGIT(82,     ISBNPUB_7DIGIT(9899999), 7, 9),
+ISBNGRP_2DIGIT(82,     ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Poland (978-83)
+ISBNGRP_2DIGIT(83,     ISBNPUB_7DIGIT(1999999), 4, 9),
+ISBNGRP_2DIGIT(83,     ISBNPUB_7DIGIT(5999999), 5, 9),
+ISBNGRP_2DIGIT(83,     ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_2DIGIT(83,     ISBNPUB_7DIGIT(8499999), 6, 9),
+ISBNGRP_2DIGIT(83,     ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_2DIGIT(83,     ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Spain (978-84)
+ISBNGRP_2DIGIT(84,     ISBNPUB_7DIGIT( 999999), 4, 9),
+ISBNGRP_2DIGIT(84,     ISBNPUB_7DIGIT(1049999), 7, 9),
+ISBNGRP_2DIGIT(84,     ISBNPUB_7DIGIT(1199999), 6, 9),
+ISBNGRP_2DIGIT(84,     ISBNPUB_7DIGIT(1299999), 8, 9),
+ISBNGRP_2DIGIT(84,     ISBNPUB_7DIGIT(1399999), 6, 9),
+ISBNGRP_2DIGIT(84,     ISBNPUB_7DIGIT(1499999), 5, 9),
+ISBNGRP_2DIGIT(84,     ISBNPUB_7DIGIT(1999999), 7, 9),
+ISBNGRP_2DIGIT(84,     ISBNPUB_7DIGIT(6999999), 5, 9),
+ISBNGRP_2DIGIT(84,     ISBNPUB_7DIGIT(8499999), 6, 9),
+ISBNGRP_2DIGIT(84,     ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_2DIGIT(84,     ISBNPUB_7DIGIT(9199999), 6, 9),
+ISBNGRP_2DIGIT(84,     ISBNPUB_7DIGIT(9239999), 8, 9),
+ISBNGRP_2DIGIT(84,     ISBNPUB_7DIGIT(9299999), 7, 9),
+ISBNGRP_2DIGIT(84,     ISBNPUB_7DIGIT(9499999), 8, 9),
+ISBNGRP_2DIGIT(84,     ISBNPUB_7DIGIT(9699999), 7, 9),
+ISBNGRP_2DIGIT(84,     ISBNPUB_7DIGIT(9999999), 6, 9),
+//--------------------------------------: Brazil (978-85)
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(1999999), 4, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(4549999), 5, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(4552999), 8, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(4559999), 7, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(5289999), 5, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(5319999), 7, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(5339999), 6, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(5399999), 5, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(5402999), 7, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(5403999), 7, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(5404999), 8, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(5408999), 7, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(5409999), 8, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(5439999), 7, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(5479999), 6, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(5499999), 7, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(5999999), 6, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(8499999), 6, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(9249999), 8, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(9449999), 7, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(9599999), 6, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(9799999), 4, 9),
+ISBNGRP_2DIGIT(85,     ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: former Yugoslavia (978-86)
+ISBNGRP_2DIGIT(86,     ISBNPUB_7DIGIT(2999999), 4, 9),
+ISBNGRP_2DIGIT(86,     ISBNPUB_7DIGIT(5999999), 5, 9),
+ISBNGRP_2DIGIT(86,     ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_2DIGIT(86,     ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_2DIGIT(86,     ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Denmark (978-87)
+ISBNGRP_2DIGIT(87,     ISBNPUB_7DIGIT(2999999), 4, 9),
+ISBNGRP_2DIGIT(87,     ISBNPUB_7DIGIT(3999999), 0, 9),
+ISBNGRP_2DIGIT(87,     ISBNPUB_7DIGIT(6499999), 5, 9),
+ISBNGRP_2DIGIT(87,     ISBNPUB_7DIGIT(6999999), 0, 9),
+ISBNGRP_2DIGIT(87,     ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_2DIGIT(87,     ISBNPUB_7DIGIT(8499999), 0, 9),
+ISBNGRP_2DIGIT(87,     ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_2DIGIT(87,     ISBNPUB_7DIGIT(9699999), 0, 9),
+ISBNGRP_2DIGIT(87,     ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Italy (978-88)
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(1999999), 4, 9),
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(3119999), 5, 9),
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(3149999), 7, 9),
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(3189999), 5, 9),
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(3229999), 7, 9),
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(3269999), 5, 9),
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(3389999), 6, 9),
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(3609999), 5, 9),
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(3629999), 6, 9),
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(5489999), 5, 9),
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(5549999), 6, 9),
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(5999999), 5, 9),
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(8499999), 6, 9),
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(9099999), 8, 9),
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(9269999), 5, 9),
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(9399999), 6, 9),
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(9479999), 8, 9),
+ISBNGRP_2DIGIT(88,     ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Korea, Republic (978-89)
+ISBNGRP_2DIGIT(89,     ISBNPUB_7DIGIT(2499999), 4, 9),
+ISBNGRP_2DIGIT(89,     ISBNPUB_7DIGIT(5499999), 5, 9),
+ISBNGRP_2DIGIT(89,     ISBNPUB_7DIGIT(8499999), 6, 9),
+ISBNGRP_2DIGIT(89,     ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_2DIGIT(89,     ISBNPUB_7DIGIT(9699999), 8, 9),
+ISBNGRP_2DIGIT(89,     ISBNPUB_7DIGIT(9899999), 7, 9),
+ISBNGRP_2DIGIT(89,     ISBNPUB_7DIGIT(9999999), 5, 9),
+//--------------------------------------: Netherlands (978-90)
+ISBNGRP_2DIGIT(90,     ISBNPUB_7DIGIT(1999999), 4, 9),
+ISBNGRP_2DIGIT(90,     ISBNPUB_7DIGIT(4999999), 5, 9),
+ISBNGRP_2DIGIT(90,     ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_2DIGIT(90,     ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_2DIGIT(90,     ISBNPUB_7DIGIT(8499999), 8, 9),
+ISBNGRP_2DIGIT(90,     ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_2DIGIT(90,     ISBNPUB_7DIGIT(9099999), 4, 9),
+ISBNGRP_2DIGIT(90,     ISBNPUB_7DIGIT(9399999), 0, 9),
+ISBNGRP_2DIGIT(90,     ISBNPUB_7DIGIT(9499999), 4, 9),
+ISBNGRP_2DIGIT(90,     ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: Sweden (978-91)
+ISBNGRP_2DIGIT(91,     ISBNPUB_7DIGIT(1999999), 3, 9),
+ISBNGRP_2DIGIT(91,     ISBNPUB_7DIGIT(4999999), 4, 9),
+ISBNGRP_2DIGIT(91,     ISBNPUB_7DIGIT(6499999), 5, 9),
+ISBNGRP_2DIGIT(91,     ISBNPUB_7DIGIT(6849999), 0, 9),
+ISBNGRP_2DIGIT(91,     ISBNPUB_7DIGIT(8199999), 6, 9),
+ISBNGRP_2DIGIT(91,     ISBNPUB_7DIGIT(8499999), 0, 9),
+ISBNGRP_2DIGIT(91,     ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_2DIGIT(91,     ISBNPUB_7DIGIT(9699999), 0, 9),
+ISBNGRP_2DIGIT(91,     ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: International NGO Publishers and EU Organizations (978-92)
+ISBNGRP_2DIGIT(92,     ISBNPUB_7DIGIT(5999999), 3, 9),
+ISBNGRP_2DIGIT(92,     ISBNPUB_7DIGIT(7999999), 4, 9),
+ISBNGRP_2DIGIT(92,     ISBNPUB_7DIGIT(8999999), 5, 9),
+ISBNGRP_2DIGIT(92,     ISBNPUB_7DIGIT(9499999), 6, 9),
+ISBNGRP_2DIGIT(92,     ISBNPUB_7DIGIT(9899999), 7, 9),
+ISBNGRP_2DIGIT(92,     ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: India (978-93)
+ISBNGRP_2DIGIT(93,     ISBNPUB_7DIGIT( 899999), 4, 9),
+ISBNGRP_2DIGIT(93,     ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_2DIGIT(93,     ISBNPUB_7DIGIT(4699999), 5, 9),
+ISBNGRP_2DIGIT(93,     ISBNPUB_7DIGIT(4799999), 7, 9),
+ISBNGRP_2DIGIT(93,     ISBNPUB_7DIGIT(4999999), 7, 9),
+ISBNGRP_2DIGIT(93,     ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_2DIGIT(93,     ISBNPUB_7DIGIT(9599999), 7, 9),
+ISBNGRP_2DIGIT(93,     ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Netherlands (978-94)
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(5999999), 5, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6387999), 6, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6388099), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6388199), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6388399), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6388599), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6388699), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6388999), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6395999), 6, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6396099), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6396299), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6396399), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6396499), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6396599), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6396999), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6399999), 6, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6400099), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6400499), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6400599), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6400699), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6400899), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6400999), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6406999), 6, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6407399), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6407499), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6407599), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6407799), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6407999), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6419999), 6, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6420199), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6420299), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6420399), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6420499), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6420699), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6420799), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6420899), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6420999), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6432999), 6, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6433199), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6433299), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6433399), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6433599), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6433699), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6433799), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6433999), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6435999), 6, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6436099), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6436399), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6436599), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6436699), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6436799), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6436999), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6443999), 6, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6444099), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6444199), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6444299), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6444399), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6444499), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6444699), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6444899), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6444999), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6450999), 6, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6451299), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6451399), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6451599), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6451999), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6458999), 6, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6459099), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6459299), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6459499), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6459699), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6459899), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6459999), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6465999), 6, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6466099), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6466299), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6466599), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6466699), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6466899), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6466999), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6474999), 6, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6475199), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6475399), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6475499), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6475599), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6475799), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6475899), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6475999), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6476999), 6, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6477089), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6477099), 0, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6477199), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6477229), 0, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6477299), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6477399), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6477699), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6477999), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6478099), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6478199), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6478299), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6478699), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6478799), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6478999), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6493999), 6, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6494099), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6494299), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6494499), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6494699), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6494799), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6494899), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6494999), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6497999), 6, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6498099), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6498299), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6498499), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6498699), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6498799), 7, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(6498999), 8, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_2DIGIT(94,     ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Argentina (978-950)
+ISBNGRP_3DIGIT(950,    ISBNPUB_7DIGIT(4999999), 5, 9),
+ISBNGRP_3DIGIT(950,    ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_3DIGIT(950,    ISBNPUB_7DIGIT(9899999), 7, 9),
+ISBNGRP_3DIGIT(950,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Finland (978-951)
+ISBNGRP_3DIGIT(951,    ISBNPUB_7DIGIT(1999999), 4, 9),
+ISBNGRP_3DIGIT(951,    ISBNPUB_7DIGIT(5499999), 5, 9),
+ISBNGRP_3DIGIT(951,    ISBNPUB_7DIGIT(8899999), 6, 9),
+ISBNGRP_3DIGIT(951,    ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_3DIGIT(951,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Finland (978-952)
+ISBNGRP_3DIGIT(952,    ISBNPUB_7DIGIT(1799999), 5, 9),
+ISBNGRP_3DIGIT(952,    ISBNPUB_7DIGIT(1899999), 6, 9),
+ISBNGRP_3DIGIT(952,    ISBNPUB_7DIGIT(1949999), 0, 9),
+ISBNGRP_3DIGIT(952,    ISBNPUB_7DIGIT(1999999), 8, 9),
+ISBNGRP_3DIGIT(952,    ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_3DIGIT(952,    ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_3DIGIT(952,    ISBNPUB_7DIGIT(6499999), 5, 9),
+ISBNGRP_3DIGIT(952,    ISBNPUB_7DIGIT(6599999), 8, 9),
+ISBNGRP_3DIGIT(952,    ISBNPUB_7DIGIT(6699999), 7, 9),
+ISBNGRP_3DIGIT(952,    ISBNPUB_7DIGIT(6999999), 8, 9),
+ISBNGRP_3DIGIT(952,    ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_3DIGIT(952,    ISBNPUB_7DIGIT(9499999), 5, 9),
+ISBNGRP_3DIGIT(952,    ISBNPUB_7DIGIT(9899999), 7, 9),
+ISBNGRP_3DIGIT(952,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Croatia (978-953)
+ISBNGRP_3DIGIT(953,    ISBNPUB_7DIGIT( 999999), 4, 9),
+ISBNGRP_3DIGIT(953,    ISBNPUB_7DIGIT(1499999), 5, 9),
+ISBNGRP_3DIGIT(953,    ISBNPUB_7DIGIT(4599999), 6, 9),
+ISBNGRP_3DIGIT(953,    ISBNPUB_7DIGIT(4999999), 8, 9),
+ISBNGRP_3DIGIT(953,    ISBNPUB_7DIGIT(5009999), 6, 9),
+ISBNGRP_3DIGIT(953,    ISBNPUB_7DIGIT(5099999), 8, 9),
+ISBNGRP_3DIGIT(953,    ISBNPUB_7DIGIT(5499999), 5, 9),
+ISBNGRP_3DIGIT(953,    ISBNPUB_7DIGIT(5999999), 8, 9),
+ISBNGRP_3DIGIT(953,    ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_3DIGIT(953,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Bulgaria (978-954)
+ISBNGRP_3DIGIT(954,    ISBNPUB_7DIGIT(2899999), 5, 9),
+ISBNGRP_3DIGIT(954,    ISBNPUB_7DIGIT(2999999), 7, 9),
+ISBNGRP_3DIGIT(954,    ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_3DIGIT(954,    ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_3DIGIT(954,    ISBNPUB_7DIGIT(9299999), 8, 9),
+ISBNGRP_3DIGIT(954,    ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Sri Lanka (978-955)
+ISBNGRP_3DIGIT(955,    ISBNPUB_7DIGIT(1999999), 7, 9),
+ISBNGRP_3DIGIT(955,    ISBNPUB_7DIGIT(3399999), 5, 9),
+ISBNGRP_3DIGIT(955,    ISBNPUB_7DIGIT(3549999), 7, 9),
+ISBNGRP_3DIGIT(955,    ISBNPUB_7DIGIT(3599999), 8, 9),
+ISBNGRP_3DIGIT(955,    ISBNPUB_7DIGIT(3799999), 7, 9),
+ISBNGRP_3DIGIT(955,    ISBNPUB_7DIGIT(3899999), 8, 9),
+ISBNGRP_3DIGIT(955,    ISBNPUB_7DIGIT(4099999), 7, 9),
+ISBNGRP_3DIGIT(955,    ISBNPUB_7DIGIT(4499999), 8, 9),
+ISBNGRP_3DIGIT(955,    ISBNPUB_7DIGIT(4999999), 7, 9),
+ISBNGRP_3DIGIT(955,    ISBNPUB_7DIGIT(5499999), 8, 9),
+ISBNGRP_3DIGIT(955,    ISBNPUB_7DIGIT(7109999), 6, 9),
+ISBNGRP_3DIGIT(955,    ISBNPUB_7DIGIT(7149999), 8, 9),
+ISBNGRP_3DIGIT(955,    ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_3DIGIT(955,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Chile (978-956)
+ISBNGRP_3DIGIT(956,    ISBNPUB_7DIGIT( 799999), 5, 9),
+ISBNGRP_3DIGIT(956,    ISBNPUB_7DIGIT( 849999), 8, 9),
+ISBNGRP_3DIGIT(956,    ISBNPUB_7DIGIT( 899999), 0, 9),
+ISBNGRP_3DIGIT(956,    ISBNPUB_7DIGIT( 999999), 8, 9),
+ISBNGRP_3DIGIT(956,    ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_3DIGIT(956,    ISBNPUB_7DIGIT(5999999), 6, 9),
+ISBNGRP_3DIGIT(956,    ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_3DIGIT(956,    ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Taiwan (978-957)
+ISBNGRP_3DIGIT(957,    ISBNPUB_7DIGIT( 299999), 5, 9),
+ISBNGRP_3DIGIT(957,    ISBNPUB_7DIGIT( 499999), 7, 9),
+ISBNGRP_3DIGIT(957,    ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_3DIGIT(957,    ISBNPUB_7DIGIT(2099999), 7, 9),
+ISBNGRP_3DIGIT(957,    ISBNPUB_7DIGIT(2799999), 5, 9),
+ISBNGRP_3DIGIT(957,    ISBNPUB_7DIGIT(3099999), 8, 9),
+ISBNGRP_3DIGIT(957,    ISBNPUB_7DIGIT(4399999), 5, 9),
+ISBNGRP_3DIGIT(957,    ISBNPUB_7DIGIT(8199999), 6, 9),
+ISBNGRP_3DIGIT(957,    ISBNPUB_7DIGIT(9699999), 7, 9),
+ISBNGRP_3DIGIT(957,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Colombia (978-958)
+ISBNGRP_3DIGIT(958,    ISBNPUB_7DIGIT(4999999), 5, 9),
+ISBNGRP_3DIGIT(958,    ISBNPUB_7DIGIT(5099999), 6, 9),
+ISBNGRP_3DIGIT(958,    ISBNPUB_7DIGIT(5199999), 7, 9),
+ISBNGRP_3DIGIT(958,    ISBNPUB_7DIGIT(5399999), 8, 9),
+ISBNGRP_3DIGIT(958,    ISBNPUB_7DIGIT(5599999), 7, 9),
+ISBNGRP_3DIGIT(958,    ISBNPUB_7DIGIT(5999999), 8, 9),
+ISBNGRP_3DIGIT(958,    ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_3DIGIT(958,    ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_3DIGIT(958,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Cuba (978-959)
+ISBNGRP_3DIGIT(959,    ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_3DIGIT(959,    ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_3DIGIT(959,    ISBNPUB_7DIGIT(8499999), 7, 9),
+ISBNGRP_3DIGIT(959,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Greece (978-960)
+ISBNGRP_3DIGIT(960,    ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_3DIGIT(960,    ISBNPUB_7DIGIT(6599999), 6, 9),
+ISBNGRP_3DIGIT(960,    ISBNPUB_7DIGIT(6899999), 7, 9),
+ISBNGRP_3DIGIT(960,    ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_3DIGIT(960,    ISBNPUB_7DIGIT(8499999), 7, 9),
+ISBNGRP_3DIGIT(960,    ISBNPUB_7DIGIT(9299999), 8, 9),
+ISBNGRP_3DIGIT(960,    ISBNPUB_7DIGIT(9399999), 5, 9),
+ISBNGRP_3DIGIT(960,    ISBNPUB_7DIGIT(9799999), 7, 9),
+ISBNGRP_3DIGIT(960,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Slovenia (978-961)
+ISBNGRP_3DIGIT(961,    ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_3DIGIT(961,    ISBNPUB_7DIGIT(5999999), 6, 9),
+ISBNGRP_3DIGIT(961,    ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_3DIGIT(961,    ISBNPUB_7DIGIT(9799999), 8, 9),
+ISBNGRP_3DIGIT(961,    ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: Hong Kong, China (978-962)
+ISBNGRP_3DIGIT(962,    ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_3DIGIT(962,    ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_3DIGIT(962,    ISBNPUB_7DIGIT(8499999), 7, 9),
+ISBNGRP_3DIGIT(962,    ISBNPUB_7DIGIT(8699999), 8, 9),
+ISBNGRP_3DIGIT(962,    ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_3DIGIT(962,    ISBNPUB_7DIGIT(9999999), 6, 9),
+//--------------------------------------: Hungary (978-963)
+ISBNGRP_3DIGIT(963,    ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_3DIGIT(963,    ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_3DIGIT(963,    ISBNPUB_7DIGIT(8499999), 7, 9),
+ISBNGRP_3DIGIT(963,    ISBNPUB_7DIGIT(8999999), 8, 9),
+ISBNGRP_3DIGIT(963,    ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Iran (978-964)
+ISBNGRP_3DIGIT(964,    ISBNPUB_7DIGIT(1499999), 5, 9),
+ISBNGRP_3DIGIT(964,    ISBNPUB_7DIGIT(2499999), 6, 9),
+ISBNGRP_3DIGIT(964,    ISBNPUB_7DIGIT(2999999), 7, 9),
+ISBNGRP_3DIGIT(964,    ISBNPUB_7DIGIT(5499999), 6, 9),
+ISBNGRP_3DIGIT(964,    ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_3DIGIT(964,    ISBNPUB_7DIGIT(9699999), 8, 9),
+ISBNGRP_3DIGIT(964,    ISBNPUB_7DIGIT(9899999), 6, 9),
+ISBNGRP_3DIGIT(964,    ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Israel (978-965)
+ISBNGRP_3DIGIT(965,    ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_3DIGIT(965,    ISBNPUB_7DIGIT(5999999), 6, 9),
+ISBNGRP_3DIGIT(965,    ISBNPUB_7DIGIT(6999999), 0, 9),
+ISBNGRP_3DIGIT(965,    ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_3DIGIT(965,    ISBNPUB_7DIGIT(8999999), 0, 9),
+ISBNGRP_3DIGIT(965,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Ukraine (978-966)
+ISBNGRP_3DIGIT(966,    ISBNPUB_7DIGIT(1299999), 5, 9),
+ISBNGRP_3DIGIT(966,    ISBNPUB_7DIGIT(1399999), 6, 9),
+ISBNGRP_3DIGIT(966,    ISBNPUB_7DIGIT(1499999), 5, 9),
+ISBNGRP_3DIGIT(966,    ISBNPUB_7DIGIT(1699999), 7, 9),
+ISBNGRP_3DIGIT(966,    ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_3DIGIT(966,    ISBNPUB_7DIGIT(2789999), 7, 9),
+ISBNGRP_3DIGIT(966,    ISBNPUB_7DIGIT(2899999), 6, 9),
+ISBNGRP_3DIGIT(966,    ISBNPUB_7DIGIT(2999999), 7, 9),
+ISBNGRP_3DIGIT(966,    ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_3DIGIT(966,    ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_3DIGIT(966,    ISBNPUB_7DIGIT(9099999), 8, 9),
+ISBNGRP_3DIGIT(966,    ISBNPUB_7DIGIT(9499999), 6, 9),
+ISBNGRP_3DIGIT(966,    ISBNPUB_7DIGIT(9799999), 8, 9),
+ISBNGRP_3DIGIT(966,    ISBNPUB_7DIGIT(9999999), 6, 9),
+//--------------------------------------: Malaysia (978-967)
+ISBNGRP_3DIGIT(967,    ISBNPUB_7DIGIT( 999999), 7, 9),
+ISBNGRP_3DIGIT(967,    ISBNPUB_7DIGIT(1999999), 8, 9),
+ISBNGRP_3DIGIT(967,    ISBNPUB_7DIGIT(2499999), 7, 9),
+ISBNGRP_3DIGIT(967,    ISBNPUB_7DIGIT(2549999), 6, 9),
+ISBNGRP_3DIGIT(967,    ISBNPUB_7DIGIT(2699999), 8, 9),
+ISBNGRP_3DIGIT(967,    ISBNPUB_7DIGIT(2799999), 7, 9),
+ISBNGRP_3DIGIT(967,    ISBNPUB_7DIGIT(2999999), 7, 9),
+ISBNGRP_3DIGIT(967,    ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_3DIGIT(967,    ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_3DIGIT(967,    ISBNPUB_7DIGIT(8999999), 5, 9),
+ISBNGRP_3DIGIT(967,    ISBNPUB_7DIGIT(9899999), 6, 9),
+ISBNGRP_3DIGIT(967,    ISBNPUB_7DIGIT(9989999), 7, 9),
+ISBNGRP_3DIGIT(967,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Dummy (978-968)
+ISBNGRP_3DUMMY(968,    ISBNPUB_7DIGIT(  99999), 0, 9),
+//--------------------------------------: Mexico (978-968)
+ISBNGRP_3DIGIT(968,    ISBNPUB_7DIGIT(3999999), 5, 9),
+ISBNGRP_3DIGIT(968,    ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_3DIGIT(968,    ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_3DIGIT(968,    ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_3DIGIT(968,    ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Pakistan (978-969)
+ISBNGRP_3DIGIT(969,    ISBNPUB_7DIGIT(1999999), 4, 9),
+ISBNGRP_3DIGIT(969,    ISBNPUB_7DIGIT(2099999), 5, 9),
+ISBNGRP_3DIGIT(969,    ISBNPUB_7DIGIT(2199999), 6, 9),
+ISBNGRP_3DIGIT(969,    ISBNPUB_7DIGIT(2299999), 7, 9),
+ISBNGRP_3DIGIT(969,    ISBNPUB_7DIGIT(2399999), 8, 9),
+ISBNGRP_3DIGIT(969,    ISBNPUB_7DIGIT(3999999), 5, 9),
+ISBNGRP_3DIGIT(969,    ISBNPUB_7DIGIT(7499999), 6, 9),
+ISBNGRP_3DIGIT(969,    ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Dummy (978-970)
+ISBNGRP_3DUMMY(970,    ISBNPUB_7DIGIT(  99999), 0, 9),
+//--------------------------------------: Mexico (978-970)
+ISBNGRP_3DIGIT(970,    ISBNPUB_7DIGIT(5999999), 5, 9),
+ISBNGRP_3DIGIT(970,    ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_3DIGIT(970,    ISBNPUB_7DIGIT(9099999), 7, 9),
+ISBNGRP_3DIGIT(970,    ISBNPUB_7DIGIT(9699999), 8, 9),
+ISBNGRP_3DIGIT(970,    ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Philippines (978-971)
+ISBNGRP_3DIGIT(971,    ISBNPUB_7DIGIT( 159999), 6, 9),
+ISBNGRP_3DIGIT(971,    ISBNPUB_7DIGIT( 199999), 7, 9),
+ISBNGRP_3DIGIT(971,    ISBNPUB_7DIGIT( 299999), 5, 9),
+ISBNGRP_3DIGIT(971,    ISBNPUB_7DIGIT( 599999), 7, 9),
+ISBNGRP_3DIGIT(971,    ISBNPUB_7DIGIT(4999999), 5, 9),
+ISBNGRP_3DIGIT(971,    ISBNPUB_7DIGIT(8499999), 6, 9),
+ISBNGRP_3DIGIT(971,    ISBNPUB_7DIGIT(9099999), 7, 9),
+ISBNGRP_3DIGIT(971,    ISBNPUB_7DIGIT(9599999), 8, 9),
+ISBNGRP_3DIGIT(971,    ISBNPUB_7DIGIT(9699999), 7, 9),
+ISBNGRP_3DIGIT(971,    ISBNPUB_7DIGIT(9899999), 5, 9),
+ISBNGRP_3DIGIT(971,    ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Portugal (978-972)
+ISBNGRP_3DIGIT(972,    ISBNPUB_7DIGIT(1999999), 4, 9),
+ISBNGRP_3DIGIT(972,    ISBNPUB_7DIGIT(5499999), 5, 9),
+ISBNGRP_3DIGIT(972,    ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_3DIGIT(972,    ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_3DIGIT(972,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Romania (978-973)
+ISBNGRP_3DIGIT(973,    ISBNPUB_7DIGIT( 999999), 4, 9),
+ISBNGRP_3DIGIT(973,    ISBNPUB_7DIGIT(1699999), 6, 9),
+ISBNGRP_3DIGIT(973,    ISBNPUB_7DIGIT(1999999), 7, 9),
+ISBNGRP_3DIGIT(973,    ISBNPUB_7DIGIT(5499999), 5, 9),
+ISBNGRP_3DIGIT(973,    ISBNPUB_7DIGIT(7599999), 6, 9),
+ISBNGRP_3DIGIT(973,    ISBNPUB_7DIGIT(8499999), 7, 9),
+ISBNGRP_3DIGIT(973,    ISBNPUB_7DIGIT(8899999), 8, 9),
+ISBNGRP_3DIGIT(973,    ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_3DIGIT(973,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Thailand (978-974)
+ISBNGRP_3DIGIT(974,    ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_3DIGIT(974,    ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_3DIGIT(974,    ISBNPUB_7DIGIT(8499999), 7, 9),
+ISBNGRP_3DIGIT(974,    ISBNPUB_7DIGIT(8999999), 8, 9),
+ISBNGRP_3DIGIT(974,    ISBNPUB_7DIGIT(9499999), 8, 9),
+ISBNGRP_3DIGIT(974,    ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Türkiye (978-975)
+ISBNGRP_3DIGIT(975,    ISBNPUB_7DIGIT( 199999), 8, 9),
+ISBNGRP_3DIGIT(975,    ISBNPUB_7DIGIT(2399999), 5, 9),
+ISBNGRP_3DIGIT(975,    ISBNPUB_7DIGIT(2499999), 7, 9),
+ISBNGRP_3DIGIT(975,    ISBNPUB_7DIGIT(5999999), 6, 9),
+ISBNGRP_3DIGIT(975,    ISBNPUB_7DIGIT(9199999), 7, 9),
+ISBNGRP_3DIGIT(975,    ISBNPUB_7DIGIT(9899999), 8, 9),
+ISBNGRP_3DIGIT(975,    ISBNPUB_7DIGIT(9999999), 6, 9),
+//--------------------------------------: Caribbean Community (978-976)
+ISBNGRP_3DIGIT(976,    ISBNPUB_7DIGIT(3999999), 4, 9),
+ISBNGRP_3DIGIT(976,    ISBNPUB_7DIGIT(5999999), 5, 9),
+ISBNGRP_3DIGIT(976,    ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_3DIGIT(976,    ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_3DIGIT(976,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Egypt (978-977)
+ISBNGRP_3DIGIT(977,    ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_3DIGIT(977,    ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_3DIGIT(977,    ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_3DIGIT(977,    ISBNPUB_7DIGIT(8499999), 6, 9),
+ISBNGRP_3DIGIT(977,    ISBNPUB_7DIGIT(8739999), 8, 9),
+ISBNGRP_3DIGIT(977,    ISBNPUB_7DIGIT(8899999), 7, 9),
+ISBNGRP_3DIGIT(977,    ISBNPUB_7DIGIT(8949999), 6, 9),
+ISBNGRP_3DIGIT(977,    ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_3DIGIT(977,    ISBNPUB_7DIGIT(9599999), 5, 9),
+ISBNGRP_3DIGIT(977,    ISBNPUB_7DIGIT(9699999), 7, 9),
+ISBNGRP_3DIGIT(977,    ISBNPUB_7DIGIT(9999999), 6, 9),
+//--------------------------------------: Nigeria (978-978)
+ISBNGRP_3DIGIT(978,    ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_3DIGIT(978,    ISBNPUB_7DIGIT(2999999), 7, 9),
+ISBNGRP_3DIGIT(978,    ISBNPUB_7DIGIT(6799999), 8, 9),
+ISBNGRP_3DIGIT(978,    ISBNPUB_7DIGIT(6899999), 5, 9),
+ISBNGRP_3DIGIT(978,    ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_3DIGIT(978,    ISBNPUB_7DIGIT(7649999), 0, 9),
+ISBNGRP_3DIGIT(978,    ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_3DIGIT(978,    ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_3DIGIT(978,    ISBNPUB_7DIGIT(9999999), 6, 9),
+//--------------------------------------: Indonesia (978-979)
+ISBNGRP_3DIGIT(979,    ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_3DIGIT(979,    ISBNPUB_7DIGIT(1499999), 7, 9),
+ISBNGRP_3DIGIT(979,    ISBNPUB_7DIGIT(1999999), 8, 9),
+ISBNGRP_3DIGIT(979,    ISBNPUB_7DIGIT(2999999), 5, 9),
+ISBNGRP_3DIGIT(979,    ISBNPUB_7DIGIT(3999999), 7, 9),
+ISBNGRP_3DIGIT(979,    ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_3DIGIT(979,    ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_3DIGIT(979,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Venezuela (978-980)
+ISBNGRP_3DIGIT(980,    ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_3DIGIT(980,    ISBNPUB_7DIGIT(5999999), 6, 9),
+ISBNGRP_3DIGIT(980,    ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Singapore (978-981)
+ISBNGRP_3DIGIT(981,    ISBNPUB_7DIGIT(1699999), 5, 9),
+ISBNGRP_3DIGIT(981,    ISBNPUB_7DIGIT(1799999), 8, 9),
+ISBNGRP_3DIGIT(981,    ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_3DIGIT(981,    ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_3DIGIT(981,    ISBNPUB_7DIGIT(3099999), 7, 9),
+ISBNGRP_3DIGIT(981,    ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_3DIGIT(981,    ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_3DIGIT(981,    ISBNPUB_7DIGIT(9199999), 0, 9),
+ISBNGRP_3DIGIT(981,    ISBNPUB_7DIGIT(9999999), 5, 9),
+//--------------------------------------: South Pacific (978-982)
+ISBNGRP_3DIGIT(982,    ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_3DIGIT(982,    ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_3DIGIT(982,    ISBNPUB_7DIGIT(8999999), 5, 9),
+ISBNGRP_3DIGIT(982,    ISBNPUB_7DIGIT(9799999), 7, 9),
+ISBNGRP_3DIGIT(982,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Malaysia (978-983)
+ISBNGRP_3DIGIT(983,    ISBNPUB_7DIGIT( 199999), 5, 9),
+ISBNGRP_3DIGIT(983,    ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_3DIGIT(983,    ISBNPUB_7DIGIT(3999999), 7, 9),
+ISBNGRP_3DIGIT(983,    ISBNPUB_7DIGIT(4499999), 8, 9),
+ISBNGRP_3DIGIT(983,    ISBNPUB_7DIGIT(4999999), 5, 9),
+ISBNGRP_3DIGIT(983,    ISBNPUB_7DIGIT(7999999), 5, 9),
+ISBNGRP_3DIGIT(983,    ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_3DIGIT(983,    ISBNPUB_7DIGIT(9899999), 7, 9),
+ISBNGRP_3DIGIT(983,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Bangladesh (978-984)
+ISBNGRP_3DIGIT(984,    ISBNPUB_7DIGIT(2199999), 5, 9),
+ISBNGRP_3DIGIT(984,    ISBNPUB_7DIGIT(2249999), 6, 9),
+ISBNGRP_3DIGIT(984,    ISBNPUB_7DIGIT(2599999), 7, 9),
+ISBNGRP_3DIGIT(984,    ISBNPUB_7DIGIT(2899999), 5, 9),
+ISBNGRP_3DIGIT(984,    ISBNPUB_7DIGIT(2999999), 8, 9),
+ISBNGRP_3DIGIT(984,    ISBNPUB_7DIGIT(3899999), 5, 9),
+ISBNGRP_3DIGIT(984,    ISBNPUB_7DIGIT(3999999), 7, 9),
+ISBNGRP_3DIGIT(984,    ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_3DIGIT(984,    ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_3DIGIT(984,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Belarus (978-985)
+ISBNGRP_3DIGIT(985,    ISBNPUB_7DIGIT(3999999), 5, 9),
+ISBNGRP_3DIGIT(985,    ISBNPUB_7DIGIT(5999999), 6, 9),
+ISBNGRP_3DIGIT(985,    ISBNPUB_7DIGIT(8799999), 7, 9),
+ISBNGRP_3DIGIT(985,    ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_3DIGIT(985,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Taiwan (978-986)
+ISBNGRP_3DIGIT(986,    ISBNPUB_7DIGIT( 599999), 5, 9),
+ISBNGRP_3DIGIT(986,    ISBNPUB_7DIGIT( 699999), 8, 9),
+ISBNGRP_3DIGIT(986,    ISBNPUB_7DIGIT( 799999), 7, 9),
+ISBNGRP_3DIGIT(986,    ISBNPUB_7DIGIT(1199999), 5, 9),
+ISBNGRP_3DIGIT(986,    ISBNPUB_7DIGIT(5399999), 6, 9),
+ISBNGRP_3DIGIT(986,    ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_3DIGIT(986,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Argentina (978-987)
+ISBNGRP_3DIGIT(987,    ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_3DIGIT(987,    ISBNPUB_7DIGIT(1999999), 7, 9),
+ISBNGRP_3DIGIT(987,    ISBNPUB_7DIGIT(2999999), 8, 9),
+ISBNGRP_3DIGIT(987,    ISBNPUB_7DIGIT(3599999), 5, 9),
+ISBNGRP_3DIGIT(987,    ISBNPUB_7DIGIT(4199999), 7, 9),
+ISBNGRP_3DIGIT(987,    ISBNPUB_7DIGIT(4399999), 5, 9),
+ISBNGRP_3DIGIT(987,    ISBNPUB_7DIGIT(4499999), 7, 9),
+ISBNGRP_3DIGIT(987,    ISBNPUB_7DIGIT(4899999), 8, 9),
+ISBNGRP_3DIGIT(987,    ISBNPUB_7DIGIT(4999999), 7, 9),
+ISBNGRP_3DIGIT(987,    ISBNPUB_7DIGIT(8249999), 6, 9),
+ISBNGRP_3DIGIT(987,    ISBNPUB_7DIGIT(8279999), 7, 9),
+ISBNGRP_3DIGIT(987,    ISBNPUB_7DIGIT(8299999), 8, 9),
+ISBNGRP_3DIGIT(987,    ISBNPUB_7DIGIT(8499999), 7, 9),
+ISBNGRP_3DIGIT(987,    ISBNPUB_7DIGIT(8899999), 5, 9),
+ISBNGRP_3DIGIT(987,    ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_3DIGIT(987,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Hong Kong, China (978-988)
+ISBNGRP_3DIGIT(988,    ISBNPUB_7DIGIT(1199999), 5, 9),
+ISBNGRP_3DIGIT(988,    ISBNPUB_7DIGIT(1999999), 8, 9),
+ISBNGRP_3DIGIT(988,    ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_3DIGIT(988,    ISBNPUB_7DIGIT(7999999), 8, 9),
+ISBNGRP_3DIGIT(988,    ISBNPUB_7DIGIT(9699999), 7, 9),
+ISBNGRP_3DIGIT(988,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Portugal (978-989)
+ISBNGRP_3DIGIT(989,    ISBNPUB_7DIGIT( 999999), 4, 9),
+ISBNGRP_3DIGIT(989,    ISBNPUB_7DIGIT(1999999), 0, 9),
+ISBNGRP_3DIGIT(989,    ISBNPUB_7DIGIT(3499999), 5, 9),
+ISBNGRP_3DIGIT(989,    ISBNPUB_7DIGIT(3699999), 8, 9),
+ISBNGRP_3DIGIT(989,    ISBNPUB_7DIGIT(4899999), 5, 9),
+ISBNGRP_3DIGIT(989,    ISBNPUB_7DIGIT(4999999), 8, 9),
+ISBNGRP_3DIGIT(989,    ISBNPUB_7DIGIT(5299999), 5, 9),
+ISBNGRP_3DIGIT(989,    ISBNPUB_7DIGIT(5499999), 8, 9),
+ISBNGRP_3DIGIT(989,    ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_3DIGIT(989,    ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_3DIGIT(989,    ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Dummy (978-990)
+ISBNGRP_3DUMMY(990,    ISBNPUB_7DIGIT(4999999), 0, 9),
+//--------------------------------------: Nepal (978-9905)
+ISBNGRP_4DIGIT(9905,   ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_4DIGIT(9905,   ISBNPUB_7DIGIT(1999999), 0, 9),
+ISBNGRP_4DIGIT(9905,   ISBNPUB_7DIGIT(2399999), 6, 9),
+ISBNGRP_4DIGIT(9905,   ISBNPUB_7DIGIT(5999999), 0, 9),
+ISBNGRP_4DIGIT(9905,   ISBNPUB_7DIGIT(6249999), 7, 9),
+ISBNGRP_4DIGIT(9905,   ISBNPUB_7DIGIT(9899999), 0, 9),
+ISBNGRP_4DIGIT(9905,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Tajikistan (978-9906)
+ISBNGRP_4DIGIT(9906,   ISBNPUB_7DIGIT(1999999), 0, 9),
+ISBNGRP_4DIGIT(9906,   ISBNPUB_7DIGIT(2299999), 6, 9),
+ISBNGRP_4DIGIT(9906,   ISBNPUB_7DIGIT(6999999), 0, 9),
+ISBNGRP_4DIGIT(9906,   ISBNPUB_7DIGIT(7249999), 7, 9),
+ISBNGRP_4DIGIT(9906,   ISBNPUB_7DIGIT(9899999), 0, 9),
+ISBNGRP_4DIGIT(9906,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Ecuador (978-9907)
+ISBNGRP_4DIGIT(9907,   ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_4DIGIT(9907,   ISBNPUB_7DIGIT(4999999), 0, 9),
+ISBNGRP_4DIGIT(9907,   ISBNPUB_7DIGIT(6499999), 6, 9),
+ISBNGRP_4DIGIT(9907,   ISBNPUB_7DIGIT(7999999), 0, 9),
+ISBNGRP_4DIGIT(9907,   ISBNPUB_7DIGIT(8749999), 7, 9),
+ISBNGRP_4DIGIT(9907,   ISBNPUB_7DIGIT(9499999), 0, 9),
+ISBNGRP_4DIGIT(9907,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Estonia (978-9908)
+ISBNGRP_4DIGIT(9908,   ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_4DIGIT(9908,   ISBNPUB_7DIGIT(3999999), 0, 9),
+ISBNGRP_4DIGIT(9908,   ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_4DIGIT(9908,   ISBNPUB_7DIGIT(8249999), 0, 9),
+ISBNGRP_4DIGIT(9908,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9908,   ISBNPUB_7DIGIT(9699999), 0, 9),
+ISBNGRP_4DIGIT(9908,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Tunisia (978-9909)
+ISBNGRP_4DIGIT(9909,   ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_4DIGIT(9909,   ISBNPUB_7DIGIT(7499999), 0, 9),
+ISBNGRP_4DIGIT(9909,   ISBNPUB_7DIGIT(8499999), 7, 9),
+ISBNGRP_4DIGIT(9909,   ISBNPUB_7DIGIT(9799999), 0, 9),
+ISBNGRP_4DIGIT(9909,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Uzbekistan (978-9910)
+ISBNGRP_4DIGIT(9910,   ISBNPUB_7DIGIT(  99999), 0, 9),
+ISBNGRP_4DIGIT(9910,   ISBNPUB_7DIGIT(1599999), 6, 9),
+ISBNGRP_4DIGIT(9910,   ISBNPUB_7DIGIT(2249999), 0, 9),
+ISBNGRP_4DIGIT(9910,   ISBNPUB_7DIGIT(2999999), 7, 9),
+ISBNGRP_4DIGIT(9910,   ISBNPUB_7DIGIT(4999999), 0, 9),
+ISBNGRP_4DIGIT(9910,   ISBNPUB_7DIGIT(5499999), 8, 9),
+ISBNGRP_4DIGIT(9910,   ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_4DIGIT(9910,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Montenegro (978-9911)
+ISBNGRP_4DIGIT(9911,   ISBNPUB_7DIGIT(1999999), 0, 9),
+ISBNGRP_4DIGIT(9911,   ISBNPUB_7DIGIT(2499999), 6, 9),
+ISBNGRP_4DIGIT(9911,   ISBNPUB_7DIGIT(5499999), 0, 9),
+ISBNGRP_4DIGIT(9911,   ISBNPUB_7DIGIT(7499999), 7, 9),
+ISBNGRP_4DIGIT(9911,   ISBNPUB_7DIGIT(9499999), 0, 9),
+ISBNGRP_4DIGIT(9911,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Tanzania (978-9912)
+ISBNGRP_4DIGIT(9912,   ISBNPUB_7DIGIT(3999999), 0, 9),
+ISBNGRP_4DIGIT(9912,   ISBNPUB_7DIGIT(4499999), 6, 9),
+ISBNGRP_4DIGIT(9912,   ISBNPUB_7DIGIT(7499999), 0, 9),
+ISBNGRP_4DIGIT(9912,   ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_4DIGIT(9912,   ISBNPUB_7DIGIT(9799999), 0, 9),
+ISBNGRP_4DIGIT(9912,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Uganda (978-9913)
+ISBNGRP_4DIGIT(9913,   ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_4DIGIT(9913,   ISBNPUB_7DIGIT(5999999), 0, 9),
+ISBNGRP_4DIGIT(9913,   ISBNPUB_7DIGIT(7099999), 7, 9),
+ISBNGRP_4DIGIT(9913,   ISBNPUB_7DIGIT(9499999), 0, 9),
+ISBNGRP_4DIGIT(9913,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Kenya (978-9914)
+ISBNGRP_4DIGIT(9914,   ISBNPUB_7DIGIT(2699999), 0, 9),
+ISBNGRP_4DIGIT(9914,   ISBNPUB_7DIGIT(5599999), 6, 9),
+ISBNGRP_4DIGIT(9914,   ISBNPUB_7DIGIT(6999999), 0, 9),
+ISBNGRP_4DIGIT(9914,   ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_4DIGIT(9914,   ISBNPUB_7DIGIT(9199999), 0, 9),
+ISBNGRP_4DIGIT(9914,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Uruguay (978-9915)
+ISBNGRP_4DIGIT(9915,   ISBNPUB_7DIGIT(3999999), 0, 9),
+ISBNGRP_4DIGIT(9915,   ISBNPUB_7DIGIT(5999999), 6, 9),
+ISBNGRP_4DIGIT(9915,   ISBNPUB_7DIGIT(6499999), 0, 9),
+ISBNGRP_4DIGIT(9915,   ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_4DIGIT(9915,   ISBNPUB_7DIGIT(9299999), 0, 9),
+ISBNGRP_4DIGIT(9915,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Estonia (978-9916)
+ISBNGRP_4DIGIT(9916,   ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_4DIGIT(9916,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9916,   ISBNPUB_7DIGIT(5999999), 5, 9),
+ISBNGRP_4DIGIT(9916,   ISBNPUB_7DIGIT(7899999), 7, 9),
+ISBNGRP_4DIGIT(9916,   ISBNPUB_7DIGIT(9199999), 6, 9),
+ISBNGRP_4DIGIT(9916,   ISBNPUB_7DIGIT(9399999), 8, 9),
+ISBNGRP_4DIGIT(9916,   ISBNPUB_7DIGIT(9499999), 6, 9),
+ISBNGRP_4DIGIT(9916,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Bolivia (978-9917)
+ISBNGRP_4DIGIT(9917,   ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_4DIGIT(9917,   ISBNPUB_7DIGIT(2999999), 0, 9),
+ISBNGRP_4DIGIT(9917,   ISBNPUB_7DIGIT(3499999), 6, 9),
+ISBNGRP_4DIGIT(9917,   ISBNPUB_7DIGIT(5999999), 0, 9),
+ISBNGRP_4DIGIT(9917,   ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_4DIGIT(9917,   ISBNPUB_7DIGIT(9624999), 0, 9),
+ISBNGRP_4DIGIT(9917,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Malta (978-9918)
+ISBNGRP_4DIGIT(9918,   ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_4DIGIT(9918,   ISBNPUB_7DIGIT(1999999), 0, 9),
+ISBNGRP_4DIGIT(9918,   ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_4DIGIT(9918,   ISBNPUB_7DIGIT(5999999), 0, 9),
+ISBNGRP_4DIGIT(9918,   ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_4DIGIT(9918,   ISBNPUB_7DIGIT(9499999), 0, 9),
+ISBNGRP_4DIGIT(9918,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Mongolia (978-9919)
+ISBNGRP_4DIGIT(9919,   ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_4DIGIT(9919,   ISBNPUB_7DIGIT(1999999), 0, 9),
+ISBNGRP_4DIGIT(9919,   ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_4DIGIT(9919,   ISBNPUB_7DIGIT(4999999), 0, 9),
+ISBNGRP_4DIGIT(9919,   ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_4DIGIT(9919,   ISBNPUB_7DIGIT(8999999), 0, 9),
+ISBNGRP_4DIGIT(9919,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Morocco (978-9920)
+ISBNGRP_4DIGIT(9920,   ISBNPUB_7DIGIT( 299999), 6, 9),
+ISBNGRP_4DIGIT(9920,   ISBNPUB_7DIGIT(1299999), 0, 9),
+ISBNGRP_4DIGIT(9920,   ISBNPUB_7DIGIT(1999999), 7, 9),
+ISBNGRP_4DIGIT(9920,   ISBNPUB_7DIGIT(2299999), 7, 9),
+ISBNGRP_4DIGIT(9920,   ISBNPUB_7DIGIT(4299999), 6, 9),
+ISBNGRP_4DIGIT(9920,   ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_4DIGIT(9920,   ISBNPUB_7DIGIT(8299999), 0, 9),
+ISBNGRP_4DIGIT(9920,   ISBNPUB_7DIGIT(8549999), 8, 9),
+ISBNGRP_4DIGIT(9920,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Kuwait (978-9921)
+ISBNGRP_4DIGIT(9921,   ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_4DIGIT(9921,   ISBNPUB_7DIGIT(2999999), 0, 9),
+ISBNGRP_4DIGIT(9921,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9921,   ISBNPUB_7DIGIT(6999999), 0, 9),
+ISBNGRP_4DIGIT(9921,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9921,   ISBNPUB_7DIGIT(9699999), 0, 9),
+ISBNGRP_4DIGIT(9921,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Iraq (978-9922)
+ISBNGRP_4DIGIT(9922,   ISBNPUB_7DIGIT(1999999), 0, 9),
+ISBNGRP_4DIGIT(9922,   ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_4DIGIT(9922,   ISBNPUB_7DIGIT(5499999), 0, 9),
+ISBNGRP_4DIGIT(9922,   ISBNPUB_7DIGIT(5999999), 8, 9),
+ISBNGRP_4DIGIT(9922,   ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_4DIGIT(9922,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Jordan (978-9923)
+ISBNGRP_4DIGIT(9923,   ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_4DIGIT(9923,   ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_4DIGIT(9923,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9923,   ISBNPUB_7DIGIT(9399999), 0, 9),
+ISBNGRP_4DIGIT(9923,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Cambodia (978-9924)
+ISBNGRP_4DIGIT(9924,   ISBNPUB_7DIGIT(2799999), 0, 9),
+ISBNGRP_4DIGIT(9924,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9924,   ISBNPUB_7DIGIT(4999999), 0, 9),
+ISBNGRP_4DIGIT(9924,   ISBNPUB_7DIGIT(6599999), 7, 9),
+ISBNGRP_4DIGIT(9924,   ISBNPUB_7DIGIT(8949999), 0, 9),
+ISBNGRP_4DIGIT(9924,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Cyprus (978-9925)
+ISBNGRP_4DIGIT(9925,   ISBNPUB_7DIGIT(2999999), 5, 9),
+ISBNGRP_4DIGIT(9925,   ISBNPUB_7DIGIT(5499999), 6, 9),
+ISBNGRP_4DIGIT(9925,   ISBNPUB_7DIGIT(7349999), 7, 9),
+ISBNGRP_4DIGIT(9925,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Bosnia and Herzegovina (978-9926)
+ISBNGRP_4DIGIT(9926,   ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_4DIGIT(9926,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9926,   ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_4DIGIT(9926,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Qatar (978-9927)
+ISBNGRP_4DIGIT(9927,   ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_4DIGIT(9927,   ISBNPUB_7DIGIT(3999999), 7, 9),
+ISBNGRP_4DIGIT(9927,   ISBNPUB_7DIGIT(4999999), 8, 9),
+ISBNGRP_4DIGIT(9927,   ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: Albania (978-9928)
+ISBNGRP_4DIGIT(9928,   ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_4DIGIT(9928,   ISBNPUB_7DIGIT(3999999), 7, 9),
+ISBNGRP_4DIGIT(9928,   ISBNPUB_7DIGIT(4999999), 8, 9),
+ISBNGRP_4DIGIT(9928,   ISBNPUB_7DIGIT(7999999), 0, 9),
+ISBNGRP_4DIGIT(9928,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9928,   ISBNPUB_7DIGIT(9999999), 6, 9),
+//--------------------------------------: Guatemala (978-9929)
+ISBNGRP_4DIGIT(9929,   ISBNPUB_7DIGIT(3999999), 5, 9),
+ISBNGRP_4DIGIT(9929,   ISBNPUB_7DIGIT(5499999), 6, 9),
+ISBNGRP_4DIGIT(9929,   ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_4DIGIT(9929,   ISBNPUB_7DIGIT(9799999), 8, 9),
+ISBNGRP_4DIGIT(9929,   ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Costa Rica (978-9930)
+ISBNGRP_4DIGIT(9930,   ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_4DIGIT(9930,   ISBNPUB_7DIGIT(9399999), 7, 9),
+ISBNGRP_4DIGIT(9930,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Algeria (978-9931)
+ISBNGRP_4DIGIT(9931,   ISBNPUB_7DIGIT(2399999), 6, 9),
+ISBNGRP_4DIGIT(9931,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9931,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Lao People's Democratic Republic (978-9932)
+ISBNGRP_4DIGIT(9932,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9932,   ISBNPUB_7DIGIT(8499999), 7, 9),
+ISBNGRP_4DIGIT(9932,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Syria (978-9933)
+ISBNGRP_4DIGIT(9933,   ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_4DIGIT(9933,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9933,   ISBNPUB_7DIGIT(8699999), 7, 9),
+ISBNGRP_4DIGIT(9933,   ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_4DIGIT(9933,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Latvia (978-9934)
+ISBNGRP_4DIGIT(9934,   ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_4DIGIT(9934,   ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_4DIGIT(9934,   ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_4DIGIT(9934,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Iceland (978-9935)
+ISBNGRP_4DIGIT(9935,   ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_4DIGIT(9935,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9935,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9935,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Afghanistan (978-9936)
+ISBNGRP_4DIGIT(9936,   ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_4DIGIT(9936,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9936,   ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_4DIGIT(9936,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Nepal (978-9937)
+ISBNGRP_4DIGIT(9937,   ISBNPUB_7DIGIT(2999999), 5, 9),
+ISBNGRP_4DIGIT(9937,   ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_4DIGIT(9937,   ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_4DIGIT(9937,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Tunisia (978-9938)
+ISBNGRP_4DIGIT(9938,   ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_4DIGIT(9938,   ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_4DIGIT(9938,   ISBNPUB_7DIGIT(9749999), 8, 9),
+ISBNGRP_4DIGIT(9938,   ISBNPUB_7DIGIT(9909999), 7, 9),
+ISBNGRP_4DIGIT(9938,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Armenia (978-9939)
+ISBNGRP_4DIGIT(9939,   ISBNPUB_7DIGIT(3999999), 5, 9),
+ISBNGRP_4DIGIT(9939,   ISBNPUB_7DIGIT(4799999), 6, 9),
+ISBNGRP_4DIGIT(9939,   ISBNPUB_7DIGIT(4999999), 7, 9),
+ISBNGRP_4DIGIT(9939,   ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_4DIGIT(9939,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9939,   ISBNPUB_7DIGIT(9599999), 8, 9),
+ISBNGRP_4DIGIT(9939,   ISBNPUB_7DIGIT(9799999), 7, 9),
+ISBNGRP_4DIGIT(9939,   ISBNPUB_7DIGIT(9999999), 6, 9),
+//--------------------------------------: Montenegro (978-9940)
+ISBNGRP_4DIGIT(9940,   ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_4DIGIT(9940,   ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_4DIGIT(9940,   ISBNPUB_7DIGIT(8399999), 7, 9),
+ISBNGRP_4DIGIT(9940,   ISBNPUB_7DIGIT(8699999), 6, 9),
+ISBNGRP_4DIGIT(9940,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Georgia (978-9941)
+ISBNGRP_4DIGIT(9941,   ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_4DIGIT(9941,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9941,   ISBNPUB_7DIGIT(7899999), 7, 9),
+ISBNGRP_4DIGIT(9941,   ISBNPUB_7DIGIT(7999999), 8, 9),
+ISBNGRP_4DIGIT(9941,   ISBNPUB_7DIGIT(8999999), 5, 9),
+ISBNGRP_4DIGIT(9941,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Ecuador (978-9942)
+ISBNGRP_4DIGIT(9942,   ISBNPUB_7DIGIT(5599999), 6, 9),
+ISBNGRP_4DIGIT(9942,   ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_4DIGIT(9942,   ISBNPUB_7DIGIT(7499999), 8, 9),
+ISBNGRP_4DIGIT(9942,   ISBNPUB_7DIGIT(8499999), 7, 9),
+ISBNGRP_4DIGIT(9942,   ISBNPUB_7DIGIT(8999999), 8, 9),
+ISBNGRP_4DIGIT(9942,   ISBNPUB_7DIGIT(9849999), 7, 9),
+ISBNGRP_4DIGIT(9942,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Uzbekistan (978-9943)
+ISBNGRP_4DIGIT(9943,   ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_4DIGIT(9943,   ISBNPUB_7DIGIT(3999999), 7, 9),
+ISBNGRP_4DIGIT(9943,   ISBNPUB_7DIGIT(9749999), 8, 9),
+ISBNGRP_4DIGIT(9943,   ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Türkiye (978-9944)
+ISBNGRP_4DIGIT(9944,   ISBNPUB_7DIGIT( 999999), 8, 9),
+ISBNGRP_4DIGIT(9944,   ISBNPUB_7DIGIT(4999999), 7, 9),
+ISBNGRP_4DIGIT(9944,   ISBNPUB_7DIGIT(5999999), 8, 9),
+ISBNGRP_4DIGIT(9944,   ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_4DIGIT(9944,   ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_4DIGIT(9944,   ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_4DIGIT(9944,   ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Dominican Republic (978-9945)
+ISBNGRP_4DIGIT(9945,   ISBNPUB_7DIGIT(  99999), 6, 9),
+ISBNGRP_4DIGIT(9945,   ISBNPUB_7DIGIT( 799999), 7, 9),
+ISBNGRP_4DIGIT(9945,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9945,   ISBNPUB_7DIGIT(5699999), 7, 9),
+ISBNGRP_4DIGIT(9945,   ISBNPUB_7DIGIT(5799999), 6, 9),
+ISBNGRP_4DIGIT(9945,   ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_4DIGIT(9945,   ISBNPUB_7DIGIT(8099999), 6, 9),
+ISBNGRP_4DIGIT(9945,   ISBNPUB_7DIGIT(8499999), 7, 9),
+ISBNGRP_4DIGIT(9945,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Korea, P.D.R. (978-9946)
+ISBNGRP_4DIGIT(9946,   ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_4DIGIT(9946,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9946,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9946,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Algeria (978-9947)
+ISBNGRP_4DIGIT(9947,   ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_4DIGIT(9947,   ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_4DIGIT(9947,   ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: United Arab Emirates (978-9948)
+ISBNGRP_4DIGIT(9948,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9948,   ISBNPUB_7DIGIT(8499999), 7, 9),
+ISBNGRP_4DIGIT(9948,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Estonia (978-9949)
+ISBNGRP_4DIGIT(9949,   ISBNPUB_7DIGIT( 899999), 6, 9),
+ISBNGRP_4DIGIT(9949,   ISBNPUB_7DIGIT( 999999), 7, 9),
+ISBNGRP_4DIGIT(9949,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9949,   ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_4DIGIT(9949,   ISBNPUB_7DIGIT(7199999), 6, 9),
+ISBNGRP_4DIGIT(9949,   ISBNPUB_7DIGIT(7499999), 8, 9),
+ISBNGRP_4DIGIT(9949,   ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_4DIGIT(9949,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Palestine (978-9950)
+ISBNGRP_4DIGIT(9950,   ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_4DIGIT(9950,   ISBNPUB_7DIGIT(8499999), 7, 9),
+ISBNGRP_4DIGIT(9950,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Kosova (978-9951)
+ISBNGRP_4DIGIT(9951,   ISBNPUB_7DIGIT(3899999), 6, 9),
+ISBNGRP_4DIGIT(9951,   ISBNPUB_7DIGIT(8499999), 7, 9),
+ISBNGRP_4DIGIT(9951,   ISBNPUB_7DIGIT(9799999), 8, 9),
+ISBNGRP_4DIGIT(9951,   ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Azerbaijan (978-9952)
+ISBNGRP_4DIGIT(9952,   ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_4DIGIT(9952,   ISBNPUB_7DIGIT(1499999), 0, 9),
+ISBNGRP_4DIGIT(9952,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9952,   ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_4DIGIT(9952,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Lebanon (978-9953)
+ISBNGRP_4DIGIT(9953,   ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_4DIGIT(9953,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9953,   ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_4DIGIT(9953,   ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_4DIGIT(9953,   ISBNPUB_7DIGIT(9299999), 8, 9),
+ISBNGRP_4DIGIT(9953,   ISBNPUB_7DIGIT(9699999), 6, 9),
+ISBNGRP_4DIGIT(9953,   ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Morocco (978-9954)
+ISBNGRP_4DIGIT(9954,   ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_4DIGIT(9954,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9954,   ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_4DIGIT(9954,   ISBNPUB_7DIGIT(9899999), 8, 9),
+ISBNGRP_4DIGIT(9954,   ISBNPUB_7DIGIT(9999999), 6, 9),
+//--------------------------------------: Lithuania (978-9955)
+ISBNGRP_4DIGIT(9955,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9955,   ISBNPUB_7DIGIT(9299999), 7, 9),
+ISBNGRP_4DIGIT(9955,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Cameroon (978-9956)
+ISBNGRP_4DIGIT(9956,   ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_4DIGIT(9956,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9956,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9956,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Jordan (978-9957)
+ISBNGRP_4DIGIT(9957,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9957,   ISBNPUB_7DIGIT(6499999), 7, 9),
+ISBNGRP_4DIGIT(9957,   ISBNPUB_7DIGIT(6799999), 6, 9),
+ISBNGRP_4DIGIT(9957,   ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_4DIGIT(9957,   ISBNPUB_7DIGIT(8499999), 6, 9),
+ISBNGRP_4DIGIT(9957,   ISBNPUB_7DIGIT(8799999), 8, 9),
+ISBNGRP_4DIGIT(9957,   ISBNPUB_7DIGIT(9999999), 6, 9),
+//--------------------------------------: Bosnia and Herzegovina (978-9958)
+ISBNGRP_4DIGIT(9958,   ISBNPUB_7DIGIT( 199999), 6, 9),
+ISBNGRP_4DIGIT(9958,   ISBNPUB_7DIGIT( 299999), 7, 9),
+ISBNGRP_4DIGIT(9958,   ISBNPUB_7DIGIT( 399999), 8, 9),
+ISBNGRP_4DIGIT(9958,   ISBNPUB_7DIGIT( 899999), 7, 9),
+ISBNGRP_4DIGIT(9958,   ISBNPUB_7DIGIT( 999999), 8, 9),
+ISBNGRP_4DIGIT(9958,   ISBNPUB_7DIGIT(1899999), 6, 9),
+ISBNGRP_4DIGIT(9958,   ISBNPUB_7DIGIT(1999999), 8, 9),
+ISBNGRP_4DIGIT(9958,   ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_4DIGIT(9958,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9958,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Libya (978-9959)
+ISBNGRP_4DIGIT(9959,   ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_4DIGIT(9959,   ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_4DIGIT(9959,   ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_4DIGIT(9959,   ISBNPUB_7DIGIT(9699999), 8, 9),
+ISBNGRP_4DIGIT(9959,   ISBNPUB_7DIGIT(9799999), 7, 9),
+ISBNGRP_4DIGIT(9959,   ISBNPUB_7DIGIT(9999999), 6, 9),
+//--------------------------------------: Saudi Arabia (978-9960)
+ISBNGRP_4DIGIT(9960,   ISBNPUB_7DIGIT(5999999), 6, 9),
+ISBNGRP_4DIGIT(9960,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9960,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Algeria (978-9961)
+ISBNGRP_4DIGIT(9961,   ISBNPUB_7DIGIT(2999999), 5, 9),
+ISBNGRP_4DIGIT(9961,   ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_4DIGIT(9961,   ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_4DIGIT(9961,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Panama (978-9962)
+ISBNGRP_4DIGIT(9962,   ISBNPUB_7DIGIT(5499999), 6, 9),
+ISBNGRP_4DIGIT(9962,   ISBNPUB_7DIGIT(5599999), 8, 9),
+ISBNGRP_4DIGIT(9962,   ISBNPUB_7DIGIT(5999999), 6, 9),
+ISBNGRP_4DIGIT(9962,   ISBNPUB_7DIGIT(8499999), 7, 9),
+ISBNGRP_4DIGIT(9962,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Cyprus (978-9963)
+ISBNGRP_4DIGIT(9963,   ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_4DIGIT(9963,   ISBNPUB_7DIGIT(2499999), 8, 9),
+ISBNGRP_4DIGIT(9963,   ISBNPUB_7DIGIT(2799999), 7, 9),
+ISBNGRP_4DIGIT(9963,   ISBNPUB_7DIGIT(2999999), 8, 9),
+ISBNGRP_4DIGIT(9963,   ISBNPUB_7DIGIT(5499999), 6, 9),
+ISBNGRP_4DIGIT(9963,   ISBNPUB_7DIGIT(7349999), 7, 9),
+ISBNGRP_4DIGIT(9963,   ISBNPUB_7DIGIT(7499999), 8, 9),
+ISBNGRP_4DIGIT(9963,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Ghana (978-9964)
+ISBNGRP_4DIGIT(9964,   ISBNPUB_7DIGIT(6999999), 5, 9),
+ISBNGRP_4DIGIT(9964,   ISBNPUB_7DIGIT(9499999), 6, 9),
+ISBNGRP_4DIGIT(9964,   ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Kazakhstan (978-9965)
+ISBNGRP_4DIGIT(9965,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9965,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9965,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Kenya (978-9966)
+ISBNGRP_4DIGIT(9966,   ISBNPUB_7DIGIT(1399999), 7, 9),
+ISBNGRP_4DIGIT(9966,   ISBNPUB_7DIGIT(1499999), 6, 9),
+ISBNGRP_4DIGIT(9966,   ISBNPUB_7DIGIT(1999999), 8, 9),
+ISBNGRP_4DIGIT(9966,   ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_4DIGIT(9966,   ISBNPUB_7DIGIT(7499999), 8, 9),
+ISBNGRP_4DIGIT(9966,   ISBNPUB_7DIGIT(8209999), 7, 9),
+ISBNGRP_4DIGIT(9966,   ISBNPUB_7DIGIT(8249999), 8, 9),
+ISBNGRP_4DIGIT(9966,   ISBNPUB_7DIGIT(8259999), 7, 9),
+ISBNGRP_4DIGIT(9966,   ISBNPUB_7DIGIT(8289999), 8, 9),
+ISBNGRP_4DIGIT(9966,   ISBNPUB_7DIGIT(9599999), 7, 9),
+ISBNGRP_4DIGIT(9966,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Kyrgyz Republic (978-9967)
+ISBNGRP_4DIGIT(9967,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9967,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9967,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Costa Rica (978-9968)
+ISBNGRP_4DIGIT(9968,   ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_4DIGIT(9968,   ISBNPUB_7DIGIT(9399999), 7, 9),
+ISBNGRP_4DIGIT(9968,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Algeria (978-9969)
+ISBNGRP_4DIGIT(9969,   ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_4DIGIT(9969,   ISBNPUB_7DIGIT(4999999), 0, 9),
+ISBNGRP_4DIGIT(9969,   ISBNPUB_7DIGIT(7499999), 7, 9),
+ISBNGRP_4DIGIT(9969,   ISBNPUB_7DIGIT(9299999), 0, 9),
+ISBNGRP_4DIGIT(9969,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Uganda (978-9970)
+ISBNGRP_4DIGIT(9970,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9970,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9970,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Singapore (978-9971)
+ISBNGRP_4DIGIT(9971,   ISBNPUB_7DIGIT(5999999), 5, 9),
+ISBNGRP_4DIGIT(9971,   ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_4DIGIT(9971,   ISBNPUB_7DIGIT(9899999), 7, 9),
+ISBNGRP_4DIGIT(9971,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Peru (978-9972)
+ISBNGRP_4DIGIT(9972,   ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_4DIGIT(9972,   ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_4DIGIT(9972,   ISBNPUB_7DIGIT(2499999), 7, 9),
+ISBNGRP_4DIGIT(9972,   ISBNPUB_7DIGIT(2999999), 8, 9),
+ISBNGRP_4DIGIT(9972,   ISBNPUB_7DIGIT(5999999), 6, 9),
+ISBNGRP_4DIGIT(9972,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9972,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Tunisia (978-9973)
+ISBNGRP_4DIGIT(9973,   ISBNPUB_7DIGIT( 599999), 6, 9),
+ISBNGRP_4DIGIT(9973,   ISBNPUB_7DIGIT( 899999), 7, 9),
+ISBNGRP_4DIGIT(9973,   ISBNPUB_7DIGIT( 999999), 8, 9),
+ISBNGRP_4DIGIT(9973,   ISBNPUB_7DIGIT(6999999), 6, 9),
+ISBNGRP_4DIGIT(9973,   ISBNPUB_7DIGIT(9699999), 7, 9),
+ISBNGRP_4DIGIT(9973,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Uruguay (978-9974)
+ISBNGRP_4DIGIT(9974,   ISBNPUB_7DIGIT(2999999), 5, 9),
+ISBNGRP_4DIGIT(9974,   ISBNPUB_7DIGIT(5499999), 6, 9),
+ISBNGRP_4DIGIT(9974,   ISBNPUB_7DIGIT(7499999), 7, 9),
+ISBNGRP_4DIGIT(9974,   ISBNPUB_7DIGIT(8799999), 8, 9),
+ISBNGRP_4DIGIT(9974,   ISBNPUB_7DIGIT(9099999), 7, 9),
+ISBNGRP_4DIGIT(9974,   ISBNPUB_7DIGIT(9499999), 6, 9),
+ISBNGRP_4DIGIT(9974,   ISBNPUB_7DIGIT(9999999), 6, 9),
+//--------------------------------------: Moldova (978-9975)
+ISBNGRP_4DIGIT(9975,   ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_4DIGIT(9975,   ISBNPUB_7DIGIT(2999999), 7, 9),
+ISBNGRP_4DIGIT(9975,   ISBNPUB_7DIGIT(3999999), 8, 9),
+ISBNGRP_4DIGIT(9975,   ISBNPUB_7DIGIT(4499999), 8, 9),
+ISBNGRP_4DIGIT(9975,   ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_4DIGIT(9975,   ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_4DIGIT(9975,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Tanzania (978-9976)
+ISBNGRP_4DIGIT(9976,   ISBNPUB_7DIGIT(4999999), 5, 9),
+ISBNGRP_4DIGIT(9976,   ISBNPUB_7DIGIT(5799999), 8, 9),
+ISBNGRP_4DIGIT(9976,   ISBNPUB_7DIGIT(5899999), 7, 9),
+ISBNGRP_4DIGIT(9976,   ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_4DIGIT(9976,   ISBNPUB_7DIGIT(9899999), 7, 9),
+ISBNGRP_4DIGIT(9976,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Costa Rica (978-9977)
+ISBNGRP_4DIGIT(9977,   ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_4DIGIT(9977,   ISBNPUB_7DIGIT(9899999), 7, 9),
+ISBNGRP_4DIGIT(9977,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Ecuador (978-9978)
+ISBNGRP_4DIGIT(9978,   ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_4DIGIT(9978,   ISBNPUB_7DIGIT(3999999), 7, 9),
+ISBNGRP_4DIGIT(9978,   ISBNPUB_7DIGIT(9499999), 6, 9),
+ISBNGRP_4DIGIT(9978,   ISBNPUB_7DIGIT(9899999), 7, 9),
+ISBNGRP_4DIGIT(9978,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Iceland (978-9979)
+ISBNGRP_4DIGIT(9979,   ISBNPUB_7DIGIT(4999999), 5, 9),
+ISBNGRP_4DIGIT(9979,   ISBNPUB_7DIGIT(6499999), 6, 9),
+ISBNGRP_4DIGIT(9979,   ISBNPUB_7DIGIT(6599999), 7, 9),
+ISBNGRP_4DIGIT(9979,   ISBNPUB_7DIGIT(7599999), 6, 9),
+ISBNGRP_4DIGIT(9979,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9979,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Papua New Guinea (978-9980)
+ISBNGRP_4DIGIT(9980,   ISBNPUB_7DIGIT(3999999), 5, 9),
+ISBNGRP_4DIGIT(9980,   ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_4DIGIT(9980,   ISBNPUB_7DIGIT(9899999), 7, 9),
+ISBNGRP_4DIGIT(9980,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Morocco (978-9981)
+ISBNGRP_4DIGIT(9981,   ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_4DIGIT(9981,   ISBNPUB_7DIGIT(1599999), 7, 9),
+ISBNGRP_4DIGIT(9981,   ISBNPUB_7DIGIT(1999999), 8, 9),
+ISBNGRP_4DIGIT(9981,   ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_4DIGIT(9981,   ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_4DIGIT(9981,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Zambia (978-9982)
+ISBNGRP_4DIGIT(9982,   ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_4DIGIT(9982,   ISBNPUB_7DIGIT(9899999), 7, 9),
+ISBNGRP_4DIGIT(9982,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Gambia (978-9983)
+ISBNGRP_4DIGIT(9983,   ISBNPUB_7DIGIT(7999999), 0, 9),
+ISBNGRP_4DIGIT(9983,   ISBNPUB_7DIGIT(9499999), 6, 9),
+ISBNGRP_4DIGIT(9983,   ISBNPUB_7DIGIT(9899999), 7, 9),
+ISBNGRP_4DIGIT(9983,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Latvia (978-9984)
+ISBNGRP_4DIGIT(9984,   ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_4DIGIT(9984,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9984,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Estonia (978-9985)
+ISBNGRP_4DIGIT(9985,   ISBNPUB_7DIGIT(4999999), 5, 9),
+ISBNGRP_4DIGIT(9985,   ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_4DIGIT(9985,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9985,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Lithuania (978-9986)
+ISBNGRP_4DIGIT(9986,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9986,   ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_4DIGIT(9986,   ISBNPUB_7DIGIT(9399999), 8, 9),
+ISBNGRP_4DIGIT(9986,   ISBNPUB_7DIGIT(9699999), 7, 9),
+ISBNGRP_4DIGIT(9986,   ISBNPUB_7DIGIT(9999999), 6, 9),
+//--------------------------------------: Tanzania (978-9987)
+ISBNGRP_4DIGIT(9987,   ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_4DIGIT(9987,   ISBNPUB_7DIGIT(8799999), 7, 9),
+ISBNGRP_4DIGIT(9987,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Ghana (978-9988)
+ISBNGRP_4DIGIT(9988,   ISBNPUB_7DIGIT(3999999), 5, 9),
+ISBNGRP_4DIGIT(9988,   ISBNPUB_7DIGIT(5499999), 6, 9),
+ISBNGRP_4DIGIT(9988,   ISBNPUB_7DIGIT(7499999), 7, 9),
+ISBNGRP_4DIGIT(9988,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: North Macedonia (978-9989)
+ISBNGRP_4DIGIT(9989,   ISBNPUB_7DIGIT( 999999), 5, 9),
+ISBNGRP_4DIGIT(9989,   ISBNPUB_7DIGIT(1999999), 7, 9),
+ISBNGRP_4DIGIT(9989,   ISBNPUB_7DIGIT(2999999), 8, 9),
+ISBNGRP_4DIGIT(9989,   ISBNPUB_7DIGIT(5999999), 6, 9),
+ISBNGRP_4DIGIT(9989,   ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_4DIGIT(9989,   ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Dummy (978-9990)
+ISBNGRP_4DUMMY(9990,   ISBNPUB_7DIGIT( 999999), 0, 9),
+//--------------------------------------: Bahrain (978-99901)
+ISBNGRP_5DIGIT(99901,  ISBNPUB_7DIGIT(4999999), 7, 9),
+ISBNGRP_5DIGIT(99901,  ISBNPUB_7DIGIT(7999999), 8, 9),
+ISBNGRP_5DIGIT(99901,  ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Reserved Agency (978-99902)
+ISBNGRP_5DIGIT(99902,  ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: Mauritius (978-99903)
+ISBNGRP_5DIGIT(99903,  ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_5DIGIT(99903,  ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_5DIGIT(99903,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Curaçao (978-99904)
+ISBNGRP_5DIGIT(99904,  ISBNPUB_7DIGIT(5999999), 6, 9),
+ISBNGRP_5DIGIT(99904,  ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_5DIGIT(99904,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Bolivia (978-99905)
+ISBNGRP_5DIGIT(99905,  ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_5DIGIT(99905,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99905,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Kuwait (978-99906)
+ISBNGRP_5DIGIT(99906,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99906,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99906,  ISBNPUB_7DIGIT(6999999), 8, 9),
+ISBNGRP_5DIGIT(99906,  ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_5DIGIT(99906,  ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_5DIGIT(99906,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Dummy (978-99907)
+ISBNGRP_5DUMMY(99907,  ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: Malawi (978-99908)
+ISBNGRP_5DIGIT(99908,  ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_5DIGIT(99908,  ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_5DIGIT(99908,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Malta (978-99909)
+ISBNGRP_5DIGIT(99909,  ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_5DIGIT(99909,  ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_5DIGIT(99909,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Sierra Leone (978-99910)
+ISBNGRP_5DIGIT(99910,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99910,  ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_5DIGIT(99910,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Lesotho (978-99911)
+ISBNGRP_5DIGIT(99911,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99911,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Botswana (978-99912)
+ISBNGRP_5DIGIT(99912,  ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_5DIGIT(99912,  ISBNPUB_7DIGIT(5999999), 8, 9),
+ISBNGRP_5DIGIT(99912,  ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_5DIGIT(99912,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Andorra (978-99913)
+ISBNGRP_5DIGIT(99913,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99913,  ISBNPUB_7DIGIT(3599999), 7, 9),
+ISBNGRP_5DIGIT(99913,  ISBNPUB_7DIGIT(5999999), 0, 9),
+ISBNGRP_5DIGIT(99913,  ISBNPUB_7DIGIT(6049999), 8, 9),
+ISBNGRP_5DIGIT(99913,  ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: International NGO Publishers (978-99914)
+ISBNGRP_5DIGIT(99914,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99914,  ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_5DIGIT(99914,  ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_5DIGIT(99914,  ISBNPUB_7DIGIT(8699999), 7, 9),
+ISBNGRP_5DIGIT(99914,  ISBNPUB_7DIGIT(8799999), 8, 9),
+ISBNGRP_5DIGIT(99914,  ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_5DIGIT(99914,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Maldives (978-99915)
+ISBNGRP_5DIGIT(99915,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99915,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99915,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Namibia (978-99916)
+ISBNGRP_5DIGIT(99916,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99916,  ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_5DIGIT(99916,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Brunei Darussalam (978-99917)
+ISBNGRP_5DIGIT(99917,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99917,  ISBNPUB_7DIGIT(8899999), 7, 9),
+ISBNGRP_5DIGIT(99917,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Faroe Islands (978-99918)
+ISBNGRP_5DIGIT(99918,  ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_5DIGIT(99918,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99918,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Benin (978-99919)
+ISBNGRP_5DIGIT(99919,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99919,  ISBNPUB_7DIGIT(3999999), 8, 9),
+ISBNGRP_5DIGIT(99919,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99919,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Andorra (978-99920)
+ISBNGRP_5DIGIT(99920,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99920,  ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_5DIGIT(99920,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Qatar (978-99921)
+ISBNGRP_5DIGIT(99921,  ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_5DIGIT(99921,  ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_5DIGIT(99921,  ISBNPUB_7DIGIT(7999999), 8, 9),
+ISBNGRP_5DIGIT(99921,  ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_5DIGIT(99921,  ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Guatemala (978-99922)
+ISBNGRP_5DIGIT(99922,  ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_5DIGIT(99922,  ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_5DIGIT(99922,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: El Salvador (978-99923)
+ISBNGRP_5DIGIT(99923,  ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_5DIGIT(99923,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99923,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Nicaragua (978-99924)
+ISBNGRP_5DIGIT(99924,  ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_5DIGIT(99924,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99924,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Paraguay (978-99925)
+ISBNGRP_5DIGIT(99925,  ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_5DIGIT(99925,  ISBNPUB_7DIGIT(1999999), 7, 9),
+ISBNGRP_5DIGIT(99925,  ISBNPUB_7DIGIT(2999999), 8, 9),
+ISBNGRP_5DIGIT(99925,  ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_5DIGIT(99925,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99925,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Honduras (978-99926)
+ISBNGRP_5DIGIT(99926,  ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_5DIGIT(99926,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99926,  ISBNPUB_7DIGIT(8699999), 8, 9),
+ISBNGRP_5DIGIT(99926,  ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_5DIGIT(99926,  ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Albania (978-99927)
+ISBNGRP_5DIGIT(99927,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99927,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99927,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Georgia (978-99928)
+ISBNGRP_5DIGIT(99928,  ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_5DIGIT(99928,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99928,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Mongolia (978-99929)
+ISBNGRP_5DIGIT(99929,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99929,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99929,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Armenia (978-99930)
+ISBNGRP_5DIGIT(99930,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99930,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99930,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Seychelles (978-99931)
+ISBNGRP_5DIGIT(99931,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99931,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99931,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Malta (978-99932)
+ISBNGRP_5DIGIT(99932,  ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_5DIGIT(99932,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99932,  ISBNPUB_7DIGIT(6999999), 8, 9),
+ISBNGRP_5DIGIT(99932,  ISBNPUB_7DIGIT(7999999), 6, 9),
+ISBNGRP_5DIGIT(99932,  ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Nepal (978-99933)
+ISBNGRP_5DIGIT(99933,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99933,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99933,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Dominican Republic (978-99934)
+ISBNGRP_5DIGIT(99934,  ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_5DIGIT(99934,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99934,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Haiti (978-99935)
+ISBNGRP_5DIGIT(99935,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99935,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99935,  ISBNPUB_7DIGIT(6999999), 8, 9),
+ISBNGRP_5DIGIT(99935,  ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_5DIGIT(99935,  ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Bhutan (978-99936)
+ISBNGRP_5DIGIT(99936,  ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_5DIGIT(99936,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99936,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Macau (978-99937)
+ISBNGRP_5DIGIT(99937,  ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_5DIGIT(99937,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99937,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Srpska, Republic of (978-99938)
+ISBNGRP_5DIGIT(99938,  ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_5DIGIT(99938,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99938,  ISBNPUB_7DIGIT(8999999), 8, 9),
+ISBNGRP_5DIGIT(99938,  ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Guatemala (978-99939)
+ISBNGRP_5DIGIT(99939,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99939,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99939,  ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_5DIGIT(99939,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Georgia (978-99940)
+ISBNGRP_5DIGIT(99940,  ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_5DIGIT(99940,  ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_5DIGIT(99940,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Armenia (978-99941)
+ISBNGRP_5DIGIT(99941,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99941,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99941,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Sudan (978-99942)
+ISBNGRP_5DIGIT(99942,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99942,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99942,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Albania (978-99943)
+ISBNGRP_5DIGIT(99943,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99943,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99943,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Ethiopia (978-99944)
+ISBNGRP_5DIGIT(99944,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99944,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99944,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Namibia (978-99945)
+ISBNGRP_5DIGIT(99945,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99945,  ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_5DIGIT(99945,  ISBNPUB_7DIGIT(9799999), 8, 9),
+ISBNGRP_5DIGIT(99945,  ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Nepal (978-99946)
+ISBNGRP_5DIGIT(99946,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99946,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99946,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Tajikistan (978-99947)
+ISBNGRP_5DIGIT(99947,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99947,  ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_5DIGIT(99947,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Eritrea (978-99948)
+ISBNGRP_5DIGIT(99948,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99948,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99948,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Mauritius (978-99949)
+ISBNGRP_5DIGIT(99949,  ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_5DIGIT(99949,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99949,  ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_5DIGIT(99949,  ISBNPUB_7DIGIT(9899999), 8, 9),
+ISBNGRP_5DIGIT(99949,  ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Cambodia (978-99950)
+ISBNGRP_5DIGIT(99950,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99950,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99950,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Reserved Agency (978-99951)
+ISBNGRP_5DIGIT(99951,  ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: Mali (978-99952)
+ISBNGRP_5DIGIT(99952,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99952,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99952,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Paraguay (978-99953)
+ISBNGRP_5DIGIT(99953,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99953,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99953,  ISBNPUB_7DIGIT(9399999), 8, 9),
+ISBNGRP_5DIGIT(99953,  ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Bolivia (978-99954)
+ISBNGRP_5DIGIT(99954,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99954,  ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_5DIGIT(99954,  ISBNPUB_7DIGIT(8799999), 8, 9),
+ISBNGRP_5DIGIT(99954,  ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Srpska, Republic of (978-99955)
+ISBNGRP_5DIGIT(99955,  ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_5DIGIT(99955,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99955,  ISBNPUB_7DIGIT(7999999), 8, 9),
+ISBNGRP_5DIGIT(99955,  ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Albania (978-99956)
+ISBNGRP_5DIGIT(99956,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99956,  ISBNPUB_7DIGIT(8599999), 8, 9),
+ISBNGRP_5DIGIT(99956,  ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Malta (978-99957)
+ISBNGRP_5DIGIT(99957,  ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_5DIGIT(99957,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99957,  ISBNPUB_7DIGIT(9499999), 8, 9),
+ISBNGRP_5DIGIT(99957,  ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Bahrain (978-99958)
+ISBNGRP_5DIGIT(99958,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99958,  ISBNPUB_7DIGIT(9399999), 7, 9),
+ISBNGRP_5DIGIT(99958,  ISBNPUB_7DIGIT(9499999), 8, 9),
+ISBNGRP_5DIGIT(99958,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Luxembourg (978-99959)
+ISBNGRP_5DIGIT(99959,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99959,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99959,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Malawi (978-99960)
+ISBNGRP_5DIGIT(99960,  ISBNPUB_7DIGIT( 699999), 0, 9),
+ISBNGRP_5DIGIT(99960,  ISBNPUB_7DIGIT( 999999), 8, 9),
+ISBNGRP_5DIGIT(99960,  ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_5DIGIT(99960,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: El Salvador (978-99961)
+ISBNGRP_5DIGIT(99961,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99961,  ISBNPUB_7DIGIT(3699999), 8, 9),
+ISBNGRP_5DIGIT(99961,  ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_5DIGIT(99961,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Mongolia (978-99962)
+ISBNGRP_5DIGIT(99962,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99962,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99962,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Cambodia (978-99963)
+ISBNGRP_5DIGIT(99963,  ISBNPUB_7DIGIT(4999999), 7, 9),
+ISBNGRP_5DIGIT(99963,  ISBNPUB_7DIGIT(9199999), 8, 9),
+ISBNGRP_5DIGIT(99963,  ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Nicaragua (978-99964)
+ISBNGRP_5DIGIT(99964,  ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_5DIGIT(99964,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99964,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Macau (978-99965)
+ISBNGRP_5DIGIT(99965,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99965,  ISBNPUB_7DIGIT(3599999), 8, 9),
+ISBNGRP_5DIGIT(99965,  ISBNPUB_7DIGIT(6299999), 7, 9),
+ISBNGRP_5DIGIT(99965,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Kuwait (978-99966)
+ISBNGRP_5DIGIT(99966,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99966,  ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_5DIGIT(99966,  ISBNPUB_7DIGIT(7999999), 8, 9),
+ISBNGRP_5DIGIT(99966,  ISBNPUB_7DIGIT(9699999), 7, 9),
+ISBNGRP_5DIGIT(99966,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Paraguay (978-99967)
+ISBNGRP_5DIGIT(99967,  ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_5DIGIT(99967,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99967,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Botswana (978-99968)
+ISBNGRP_5DIGIT(99968,  ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_5DIGIT(99968,  ISBNPUB_7DIGIT(5999999), 8, 9),
+ISBNGRP_5DIGIT(99968,  ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_5DIGIT(99968,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Oman (978-99969)
+ISBNGRP_5DIGIT(99969,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99969,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99969,  ISBNPUB_7DIGIT(9499999), 8, 9),
+ISBNGRP_5DIGIT(99969,  ISBNPUB_7DIGIT(9999999), 7, 9),
+//--------------------------------------: Haiti (978-99970)
+ISBNGRP_5DIGIT(99970,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99970,  ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_5DIGIT(99970,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Myanmar (978-99971)
+ISBNGRP_5DIGIT(99971,  ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_5DIGIT(99971,  ISBNPUB_7DIGIT(8499999), 7, 9),
+ISBNGRP_5DIGIT(99971,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Faroe Islands (978-99972)
+ISBNGRP_5DIGIT(99972,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99972,  ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_5DIGIT(99972,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Mongolia (978-99973)
+ISBNGRP_5DIGIT(99973,  ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_5DIGIT(99973,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99973,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Bolivia (978-99974)
+ISBNGRP_5DIGIT(99974,  ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_5DIGIT(99974,  ISBNPUB_7DIGIT(2599999), 7, 9),
+ISBNGRP_5DIGIT(99974,  ISBNPUB_7DIGIT(3999999), 8, 9),
+ISBNGRP_5DIGIT(99974,  ISBNPUB_7DIGIT(6399999), 7, 9),
+ISBNGRP_5DIGIT(99974,  ISBNPUB_7DIGIT(6499999), 8, 9),
+ISBNGRP_5DIGIT(99974,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99974,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Tajikistan (978-99975)
+ISBNGRP_5DIGIT(99975,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99975,  ISBNPUB_7DIGIT(3999999), 8, 9),
+ISBNGRP_5DIGIT(99975,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99975,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Srpska, Republic of (978-99976)
+ISBNGRP_5DIGIT(99976,  ISBNPUB_7DIGIT( 399999), 7, 9),
+ISBNGRP_5DIGIT(99976,  ISBNPUB_7DIGIT( 999999), 8, 9),
+ISBNGRP_5DIGIT(99976,  ISBNPUB_7DIGIT(1599999), 7, 9),
+ISBNGRP_5DIGIT(99976,  ISBNPUB_7DIGIT(1999999), 8, 9),
+ISBNGRP_5DIGIT(99976,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99976,  ISBNPUB_7DIGIT(8199999), 8, 9),
+ISBNGRP_5DIGIT(99976,  ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_5DIGIT(99976,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Rwanda (978-99977)
+ISBNGRP_5DIGIT(99977,  ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_5DIGIT(99977,  ISBNPUB_7DIGIT(3999999), 0, 9),
+ISBNGRP_5DIGIT(99977,  ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_5DIGIT(99977,  ISBNPUB_7DIGIT(7999999), 8, 9),
+ISBNGRP_5DIGIT(99977,  ISBNPUB_7DIGIT(8999999), 0, 9),
+ISBNGRP_5DIGIT(99977,  ISBNPUB_7DIGIT(9249999), 8, 9),
+ISBNGRP_5DIGIT(99977,  ISBNPUB_7DIGIT(9749999), 0, 9),
+ISBNGRP_5DIGIT(99977,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Mongolia (978-99978)
+ISBNGRP_5DIGIT(99978,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99978,  ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_5DIGIT(99978,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Honduras (978-99979)
+ISBNGRP_5DIGIT(99979,  ISBNPUB_7DIGIT(3999999), 6, 9),
+ISBNGRP_5DIGIT(99979,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99979,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Bhutan (978-99980)
+ISBNGRP_5DIGIT(99980,  ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_5DIGIT(99980,  ISBNPUB_7DIGIT(2499999), 0, 9),
+ISBNGRP_5DIGIT(99980,  ISBNPUB_7DIGIT(6499999), 7, 9),
+ISBNGRP_5DIGIT(99980,  ISBNPUB_7DIGIT(6699999), 0, 9),
+ISBNGRP_5DIGIT(99980,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Macau (978-99981)
+ISBNGRP_5DIGIT(99981,  ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_5DIGIT(99981,  ISBNPUB_7DIGIT(1099999), 7, 9),
+ISBNGRP_5DIGIT(99981,  ISBNPUB_7DIGIT(1499999), 8, 9),
+ISBNGRP_5DIGIT(99981,  ISBNPUB_7DIGIT(1999999), 7, 9),
+ISBNGRP_5DIGIT(99981,  ISBNPUB_7DIGIT(2199999), 8, 9),
+ISBNGRP_5DIGIT(99981,  ISBNPUB_7DIGIT(7499999), 7, 9),
+ISBNGRP_5DIGIT(99981,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Benin (978-99982)
+ISBNGRP_5DIGIT(99982,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99982,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99982,  ISBNPUB_7DIGIT(8449999), 0, 9),
+ISBNGRP_5DIGIT(99982,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: El Salvador (978-99983)
+ISBNGRP_5DIGIT(99983,  ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_5DIGIT(99983,  ISBNPUB_7DIGIT(3499999), 0, 9),
+ISBNGRP_5DIGIT(99983,  ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_5DIGIT(99983,  ISBNPUB_7DIGIT(8499999), 0, 9),
+ISBNGRP_5DIGIT(99983,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Brunei Darussalam (978-99984)
+ISBNGRP_5DIGIT(99984,  ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_5DIGIT(99984,  ISBNPUB_7DIGIT(4999999), 0, 9),
+ISBNGRP_5DIGIT(99984,  ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_5DIGIT(99984,  ISBNPUB_7DIGIT(9499999), 0, 9),
+ISBNGRP_5DIGIT(99984,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Tajikistan (978-99985)
+ISBNGRP_5DIGIT(99985,  ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_5DIGIT(99985,  ISBNPUB_7DIGIT(2299999), 8, 9),
+ISBNGRP_5DIGIT(99985,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99985,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Myanmar (978-99986)
+ISBNGRP_5DIGIT(99986,  ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_5DIGIT(99986,  ISBNPUB_7DIGIT(4999999), 0, 9),
+ISBNGRP_5DIGIT(99986,  ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_5DIGIT(99986,  ISBNPUB_7DIGIT(9499999), 0, 9),
+ISBNGRP_5DIGIT(99986,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Luxembourg (978-99987)
+ISBNGRP_5DIGIT(99987,  ISBNPUB_7DIGIT(5499999), 0, 9),
+ISBNGRP_5DIGIT(99987,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Sudan (978-99988)
+ISBNGRP_5DIGIT(99988,  ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_5DIGIT(99988,  ISBNPUB_7DIGIT(1099999), 7, 9),
+ISBNGRP_5DIGIT(99988,  ISBNPUB_7DIGIT(4999999), 0, 9),
+ISBNGRP_5DIGIT(99988,  ISBNPUB_7DIGIT(5499999), 7, 9),
+ISBNGRP_5DIGIT(99988,  ISBNPUB_7DIGIT(7999999), 0, 9),
+ISBNGRP_5DIGIT(99988,  ISBNPUB_7DIGIT(8249999), 8, 9),
+ISBNGRP_5DIGIT(99988,  ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: Paraguay (978-99989)
+ISBNGRP_5DIGIT(99989,  ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_5DIGIT(99989,  ISBNPUB_7DIGIT(4999999), 0, 9),
+ISBNGRP_5DIGIT(99989,  ISBNPUB_7DIGIT(7999999), 7, 9),
+ISBNGRP_5DIGIT(99989,  ISBNPUB_7DIGIT(8999999), 0, 9),
+ISBNGRP_5DIGIT(99989,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Ethiopia (978-99990)
+ISBNGRP_5DIGIT(99990,  ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_5DIGIT(99990,  ISBNPUB_7DIGIT(4499999), 0, 9),
+ISBNGRP_5DIGIT(99990,  ISBNPUB_7DIGIT(5799999), 7, 9),
+ISBNGRP_5DIGIT(99990,  ISBNPUB_7DIGIT(9299999), 0, 9),
+ISBNGRP_5DIGIT(99990,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Burkina Faso (978-99991)
+ISBNGRP_5DIGIT(99991,  ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_5DIGIT(99991,  ISBNPUB_7DIGIT(4999999), 0, 9),
+ISBNGRP_5DIGIT(99991,  ISBNPUB_7DIGIT(6099999), 7, 9),
+ISBNGRP_5DIGIT(99991,  ISBNPUB_7DIGIT(9599999), 0, 9),
+ISBNGRP_5DIGIT(99991,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Oman (978-99992)
+ISBNGRP_5DIGIT(99992,  ISBNPUB_7DIGIT(2999999), 6, 9),
+ISBNGRP_5DIGIT(99992,  ISBNPUB_7DIGIT(4999999), 0, 9),
+ISBNGRP_5DIGIT(99992,  ISBNPUB_7DIGIT(6999999), 7, 9),
+ISBNGRP_5DIGIT(99992,  ISBNPUB_7DIGIT(8999999), 0, 9),
+ISBNGRP_5DIGIT(99992,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Mauritius (978-99993)
+ISBNGRP_5DIGIT(99993,  ISBNPUB_7DIGIT(4999999), 6, 9),
+ISBNGRP_5DIGIT(99993,  ISBNPUB_7DIGIT(5499999), 7, 9),
+ISBNGRP_5DIGIT(99993,  ISBNPUB_7DIGIT(9799999), 0, 9),
+ISBNGRP_5DIGIT(99993,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Haiti (978-99994)
+ISBNGRP_5DIGIT(99994,  ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_5DIGIT(99994,  ISBNPUB_7DIGIT(4999999), 0, 9),
+ISBNGRP_5DIGIT(99994,  ISBNPUB_7DIGIT(5699999), 7, 9),
+ISBNGRP_5DIGIT(99994,  ISBNPUB_7DIGIT(9599999), 0, 9),
+ISBNGRP_5DIGIT(99994,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Seychelles (978-99995)
+ISBNGRP_5DIGIT(99995,  ISBNPUB_7DIGIT(4999999), 0, 9),
+ISBNGRP_5DIGIT(99995,  ISBNPUB_7DIGIT(5599999), 7, 9),
+ISBNGRP_5DIGIT(99995,  ISBNPUB_7DIGIT(9749999), 0, 9),
+ISBNGRP_5DIGIT(99995,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Macau (978-99996)
+ISBNGRP_5DIGIT(99996,  ISBNPUB_7DIGIT(1999999), 6, 9),
+ISBNGRP_5DIGIT(99996,  ISBNPUB_7DIGIT(3999999), 0, 9),
+ISBNGRP_5DIGIT(99996,  ISBNPUB_7DIGIT(5999999), 7, 9),
+ISBNGRP_5DIGIT(99996,  ISBNPUB_7DIGIT(8999999), 0, 9),
+ISBNGRP_5DIGIT(99996,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Srpska, Republic of (978-99997)
+ISBNGRP_5DIGIT(99997,  ISBNPUB_7DIGIT( 999999), 6, 9),
+ISBNGRP_5DIGIT(99997,  ISBNPUB_7DIGIT(3999999), 0, 9),
+ISBNGRP_5DIGIT(99997,  ISBNPUB_7DIGIT(6199999), 7, 9),
+ISBNGRP_5DIGIT(99997,  ISBNPUB_7DIGIT(9199999), 0, 9),
+ISBNGRP_5DIGIT(99997,  ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Namibia (978-99998)
+ISBNGRP_5DIGIT(99998,  ISBNPUB_7DIGIT(7999999), 0, 9),
+ISBNGRP_5DIGIT(99998,  ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_5DIGIT(99998,  ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: end of last group
+};
+
+//--------------------------------------:--------------------------------------:
+ISBNValidator::isbn_band ISBNValidator::bands979[] = {
+//--------------------------------------: Dummy (979-0)
+ISBNGRP_1DUMMY(0,      ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: France (979-10)
+ISBNGRP_2DIGIT(10,     ISBNPUB_7DIGIT(1999999), 4, 9),
+ISBNGRP_2DIGIT(10,     ISBNPUB_7DIGIT(6999999), 5, 9),
+ISBNGRP_2DIGIT(10,     ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_2DIGIT(10,     ISBNPUB_7DIGIT(9759999), 7, 9),
+ISBNGRP_2DIGIT(10,     ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Korea, Republic (979-11)
+ISBNGRP_2DIGIT(11,     ISBNPUB_7DIGIT(2199999), 4, 9),
+ISBNGRP_2DIGIT(11,     ISBNPUB_7DIGIT(2299999), 8, 9),
+ISBNGRP_2DIGIT(11,     ISBNPUB_7DIGIT(2499999), 7, 9),
+ISBNGRP_2DIGIT(11,     ISBNPUB_7DIGIT(5499999), 5, 9),
+ISBNGRP_2DIGIT(11,     ISBNPUB_7DIGIT(8499999), 6, 9),
+ISBNGRP_2DIGIT(11,     ISBNPUB_7DIGIT(9499999), 7, 9),
+ISBNGRP_2DIGIT(11,     ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Italy (979-12)
+ISBNGRP_2DIGIT(12,     ISBNPUB_7DIGIT(1999999), 0, 9),
+ISBNGRP_2DIGIT(12,     ISBNPUB_7DIGIT(2999999), 5, 9),
+ISBNGRP_2DIGIT(12,     ISBNPUB_7DIGIT(5449999), 0, 9),
+ISBNGRP_2DIGIT(12,     ISBNPUB_7DIGIT(5999999), 6, 9),
+ISBNGRP_2DIGIT(12,     ISBNPUB_7DIGIT(7999999), 0, 9),
+ISBNGRP_2DIGIT(12,     ISBNPUB_7DIGIT(8499999), 7, 9),
+ISBNGRP_2DIGIT(12,     ISBNPUB_7DIGIT(9849999), 0, 9),
+ISBNGRP_2DIGIT(12,     ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Spain (979-13)
+ISBNGRP_2DIGIT(13,     ISBNPUB_7DIGIT(  99999), 4, 9),
+ISBNGRP_2DIGIT(13,     ISBNPUB_7DIGIT(5999999), 0, 9),
+ISBNGRP_2DIGIT(13,     ISBNPUB_7DIGIT(6049999), 5, 9),
+ISBNGRP_2DIGIT(13,     ISBNPUB_7DIGIT(6999999), 0, 9),
+ISBNGRP_2DIGIT(13,     ISBNPUB_7DIGIT(7349999), 6, 9),
+ISBNGRP_2DIGIT(13,     ISBNPUB_7DIGIT(8749999), 0, 9),
+ISBNGRP_2DIGIT(13,     ISBNPUB_7DIGIT(8999999), 7, 9),
+ISBNGRP_2DIGIT(13,     ISBNPUB_7DIGIT(9899999), 0, 9),
+ISBNGRP_2DIGIT(13,     ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Dummy (979-79)
+ISBNGRP_2DUMMY(79,     ISBNPUB_7DIGIT(9999999), 0, 9),
+//--------------------------------------: United States (979-8)
+ISBNGRP_1DIGIT(8,      ISBNPUB_7DIGIT(1799999), 0, 9),
+ISBNGRP_1DIGIT(8,      ISBNPUB_7DIGIT(1949999), 5, 9),
+ISBNGRP_1DIGIT(8,      ISBNPUB_7DIGIT(1999999), 5, 9),
+ISBNGRP_1DIGIT(8,      ISBNPUB_7DIGIT(2399999), 4, 9),
+ISBNGRP_1DIGIT(8,      ISBNPUB_7DIGIT(2599999), 5, 9),
+ISBNGRP_1DIGIT(8,      ISBNPUB_7DIGIT(2799999), 5, 9),
+ISBNGRP_1DIGIT(8,      ISBNPUB_7DIGIT(2999999), 5, 9),
+ISBNGRP_1DIGIT(8,      ISBNPUB_7DIGIT(8849999), 5, 9),
+ISBNGRP_1DIGIT(8,      ISBNPUB_7DIGIT(8999999), 6, 9),
+ISBNGRP_1DIGIT(8,      ISBNPUB_7DIGIT(9099999), 6, 9),
+ISBNGRP_1DIGIT(8,      ISBNPUB_7DIGIT(9499999), 0, 9),
+ISBNGRP_1DIGIT(8,      ISBNPUB_7DIGIT(9699999), 7, 9),
+ISBNGRP_1DIGIT(8,      ISBNPUB_7DIGIT(9849999), 0, 9),
+ISBNGRP_1DIGIT(8,      ISBNPUB_7DIGIT(9929999), 8, 9),
+ISBNGRP_1DIGIT(8,      ISBNPUB_7DIGIT(9959999), 8, 9),
+ISBNGRP_1DIGIT(8,      ISBNPUB_7DIGIT(9984999), 8, 9),
+ISBNGRP_1DIGIT(8,      ISBNPUB_7DIGIT(9999999), 8, 9),
+//--------------------------------------: Dummy (979-9)
+ISBNGRP_1DUMMY(9,      ISBNPUB_7DIGIT(9999999), 0, 9)
+//--------------------------------------: end of last group
+};
+//--------------------------------------:--------------------------------------:
+#endif
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.