[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