@usecomma/modulus-check
Version:
Validate a UK bank account number against a sort code using the VocaLink modulus check
343 lines (270 loc) • 120 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
/**
* Module dependencies.
*/
var _constants = require('./constants');
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* Export UkModulusChecking.
*/
var UkModulusChecking = function () {
/**
* Constructor.
*/
function UkModulusChecking(_ref) {
var _ref$accountNumber = _ref.accountNumber,
accountNumber = _ref$accountNumber === undefined ? '' : _ref$accountNumber,
_ref$sortCode = _ref.sortCode,
sortCode = _ref$sortCode === undefined ? '' : _ref$sortCode;
_classCallCheck(this, UkModulusChecking);
this.accountNumber = this.sanitize(accountNumber);
this.sortCode = this.sanitize(sortCode);
this.sortCodeSubstitutes = this.loadScsubtab();
this.weightTable = this.loadValacdos();
}
/**
* Get check weight.
*/
_createClass(UkModulusChecking, [{
key: 'getCheckWeight',
value: function getCheckWeight(check, number) {
if (check.exception === 2) {
if (this.pickPosition(number, 'a') !== 0 && this.pickPosition(number, 'g') !== 9) {
return [0, 0, 1, 2, 5, 3, 6, 4, 8, 7, 10, 9, 3, 1];
}
if (this.pickPosition(number, 'a') !== 0 && this.pickPosition(number, 'g') === 9) {
return [0, 0, 0, 0, 0, 0, 0, 0, 8, 7, 10, 9, 3, 1];
}
}
if (check.exception === 7) {
if (this.pickPosition(number, 'g') === 9) {
return [0, 0, 0, 0, 0, 0, 0, 0, check.c, check.d, check.e, check.f, check.g, check.h];
}
}
if (check.exception === 10) {
var ab = number.charAt(_constants.positions.a) + number.charAt(_constants.positions.b);
if (ab === '09' || ab === '99' && this.pickPosition(number, 'b') === 9) {
return [0, 0, 0, 0, 0, 0, 0, 0, check.c, check.d, check.e, check.f, check.g, check.h];
}
}
return [check.u, check.v, check.w, check.x, check.y, check.z, check.a, check.b, check.c, check.d, check.e, check.f, check.g, check.h];
}
/**
* Get number to be used in validation process. (sorting code + account number).
*/
}, {
key: 'getNumber',
value: function getNumber(check, number) {
var sortCode = this.sortCode;
number = number || this.accountNumber;
if (check.exception === 5) {
sortCode = this.getSubstitute(sortCode) || sortCode;
} else if (check.exception === 8) {
sortCode = '090126';
} else if (check.exception === 9) {
sortCode = '309634';
}
return '' + sortCode + number;
}
/**
* Get sorting code checks.
*/
}, {
key: 'getSortCodeChecks',
value: function getSortCodeChecks() {
var checks = [];
var sortCode = parseInt(this.sortCode, 10);
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = this.weightTable[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var check = _step.value;
// All checks containing the sort code in the `weight range` can/must be performed.
if (sortCode >= check.start && sortCode <= check.end) {
checks.push(check);
}
// There may be one or two entries in the table for the sorting code,
// depending on whether one or two modulus checks must be carried out.
if (checks.length === 2) {
return checks;
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
return checks;
}
/**
* Sorting code substitution.
*/
}, {
key: 'getSubstitute',
value: function getSubstitute(sortCode) {
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
for (var _iterator2 = this.sortCodeSubstitutes[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var substitute = _step2.value;
if (substitute.original === parseInt(sortCode, 10)) {
return parseInt(substitute.substitute, 10);
}
}
} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
}
}
}
return parseInt(sortCode, 10);
}
/**
* Is check skippable.
*/
}, {
key: 'isCheckSkippable',
value: function isCheckSkippable(check, number) {
if (check.exception === 3 && (this.pickPosition(number, 'c') === 6 || this.pickPosition(number, 'c') === 9)) {
return true;
}
if (check.exception === 6 && this.pickPosition(number, 'a') >= 4 && this.pickPosition(number, 'a') <= 8 && this.pickPosition(number, 'g') === this.pickPosition(number, 'h')) {
return true;
}
return false;
}
/**
* Is check valid.
*/
}, {
key: 'isCheckValid',
value: function isCheckValid(check, number) {
number = this.getNumber(check, number);
if (this.isCheckSkippable(check, number)) {
return true;
}
var module = check.mod === 'MOD11' ? 11 : 10;
var weight = this.getCheckWeight(check, number);
// Multiply each number in the sorting code and account number with the corresponding number in the weight.
var weightedAccount = [];
for (var i = 0; i < 14; i++) {
weightedAccount[i] = parseInt(number.charAt(i), 10) * parseInt(weight[i], 10);
}
// Add all the results together.
if (check.mod === 'DBLAL') {
weightedAccount = weightedAccount.join('').split('');
}
var total = weightedAccount.reduce(function (previous, current) {
return parseInt(previous, 10) + parseInt(current, 10);
});
// This effectively places a financial institution number (580149) before the sorting code and account
// number which is subject to the alternate doubling as well.
if (check.exception === 1) {
total += 27;
}
// Calculate remainder.
var remainder = total % module;
// Exception handling.
if (check.exception === 4) {
return remainder === this.pickPosition(number, 'g') + this.pickPosition(number, 'h');
}
if (check.exception === 5) {
if (check.mod === 'DBLAL') {
if (remainder === 0 && this.pickPosition(number, 'h') === 0) {
return true;
}
return this.pickPosition(number, 'h') === 10 - remainder;
}
if (remainder === 1) {
return false;
}
if (remainder === 0 && this.pickPosition(number, 'g') === 0) {
return true;
}
return this.pickPosition(number, 'g') === 11 - remainder;
}
return remainder === 0;
}
/**
* Is valid.
*/
}, {
key: 'isValid',
value: function isValid() {
if (this.accountNumber.length < 6 || this.accountNumber.length > 10 || this.sortCode.length !== 6) {
return false;
}
var checks = this.getSortCodeChecks();
// If no range is found that contains the sorting code, there is no modulus check that can be performed.
// The sorting code and account number should be presumed valid unless other evidence implies otherwise.
if (checks.length === 0) {
return true;
}
var firstCheck = checks[0];
if (this.isCheckValid(firstCheck)) {
if (checks.length === 1 || [2, 9, 10, 11, 12, 13, 14].indexOf(firstCheck.exception) !== -1) {
return true;
}
// Verify second check.
return this.isCheckValid(checks[1]);
}
if (firstCheck.exception === 14) {
if ([0, 1, 9].indexOf(parseInt(this.accountNumber.charAt(7), 10)) === -1) {
return false;
}
// If the 8th digit is 0, 1 or 9, then remove the digit from the account number and insert a 0 as the 1st digit for check purposes only
return this.isCheckValid(checks[0], '0' + this.accountNumber.substring(7, 0));
}
if (checks.length === 1 || [2, 9, 10, 11, 12, 13, 14].indexOf(firstCheck.exception) === -1) {
return false;
}
// Verify second check.
return this.isCheckValid(checks[1]);
}
/**
* Load scsubtab file.
*/
}, {
key: 'loadScsubtab',
value: function loadScsubtab() {
var content = '938173 938017\r\n938289 938068\r\n938297 938076\r\n938600 938611\r\n938602 938343\r\n938604 938603\r\n938608 938408\r\n938609 938424\r\n938613 938017\r\n938616 938068\r\n938618 938657\r\n938620 938343\r\n938622 938130\r\n938628 938181\r\n938643 938246\r\n938647 938611\r\n938648 938246\r\n938649 938394\r\n938651 938335\r\n938653 938424\r\n938654 938621';
var scsubtab = [];
content.split('\r\n').forEach(function (line) {
var data = line.split(/\s+/);
scsubtab.push({
original: parseInt(data[0], 10),
substitute: parseInt(data[1], 10)
});
});
return scsubtab;
}
/**
* Load valacdos file.
*/
}, {
key: 'loadValacdos',
value: function loadValacdos() {
var content = '010004 016715 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1\r\n040003 040003 DBLAL 2 1 2 1 2 1 8 7 6 5 4 3 2 1\r\n040004 040004 DBLAL 0 0 0 0 0 0 8 7 6 5 4 3 2 1\r\n040005 040005 DBLAL 2 1 2 1 2 1 8 7 6 5 4 3 2 1\r\n040006 040006 DBLAL 0 3 0 0 0 3 8 7 6 5 4 3 2 1\r\n040008 040008 DBLAL 0 3 0 0 0 4 8 7 6 5 4 3 2 1\r\n040010 040014 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n040010 040014 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n040015 040015 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n040020 040023 MOD11 0 2 0 0 9 1 2 8 4 3 7 5 6 1\r\n040024 040039 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n040024 040039 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n040040 040059 MOD11 0 2 0 0 9 1 2 8 4 3 7 5 6 1\r\n040072 040073 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1\r\n040074 040075 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1\r\n040082 040082 MOD10 2 1 2 1 2 1 0 64 32 16 8 4 2 1\r\n040083 040085 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1\r\n040086 040086 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1\r\n040300 040329 MOD10 0 0 3 7 1 3 7 1 3 7 1 3 7 1\r\n040330 040334 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n040330 040334 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n040340 040340 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1\r\n040344 040344 MOD10 0 0 1 8 2 6 3 7 9 5 8 4 2 1\r\n040350 040379 MOD10 0 0 1 8 2 6 3 7 9 5 8 4 2 1\r\n040390 040393 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1\r\n040400 041311 DBLAL 1 3 4 3 9 3 1 7 5 5 4 5 2 4\r\n041312 041312 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1\r\n041313 041316 DBLAL 1 3 4 3 9 3 1 7 5 5 4 5 2 4\r\n041317 041319 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1\r\n041320 041399 DBLAL 1 3 4 3 9 3 1 7 5 5 4 5 2 4\r\n041400 041449 MOD11 0 2 0 0 9 1 2 8 4 3 7 5 6 1\r\n041900 042099 MOD10 1 3 4 3 9 3 1 7 5 5 4 5 2 4\r\n042100 042899 MOD11 1 3 4 3 9 3 1 7 5 5 4 5 2 4\r\n042900 042909 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1\r\n042927 042956 MOD10 0 0 1 8 2 6 3 7 9 5 8 4 2 1\r\n044001 044001 MOD10 0 2 1 2 0 7 1 1 0 3 8 1 9 1\r\n050000 050020 MOD11 0 0 0 0 0 0 2 1 7 5 8 2 4 1\r\n050022 050094 MOD11 0 0 0 0 0 0 2 1 7 5 8 2 4 1\r\n050096 058999 MOD11 0 0 0 0 0 0 2 1 7 5 8 2 4 1\r\n070030 070030 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n070040 070040 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n070055 070055 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n070066 070066 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n070116 070116 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1 12\r\n070116 070116 MOD10 0 3 2 4 5 8 9 4 5 6 7 8 9 -1 13\r\n070246 070246 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n070436 070436 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n070806 070806 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n070976 070976 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n071040 071040 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n071096 071096 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n071120 071120 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n071226 071226 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n071306 071306 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n071310 071310 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n071350 071350 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n071490 071490 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n071520 071520 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n071660 071660 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n071986 071986 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1\r\n074456 074456 MOD11 0 0 7 6 5 8 9 4 5 6 7 8 9 -1 12\r\n074456 074456 MOD10 0 3 2 4 5 8 9 4 5 6 7 8 9 -1 13\r\n080211 080211 MOD10 0 0 0 0 0 0 7 1 3 7 1 3 7 1\r\n080228 080228 MOD10 0 0 0 0 0 0 7 1 3 7 1 3 7 1\r\n086001 086001 MOD10 0 0 0 0 0 0 7 1 3 7 1 3 7 1\r\n086020 086020 MOD10 0 0 0 0 0 0 7 1 3 7 1 3 7 1\r\n086086 086086 MOD11 0 0 0 0 0 8 9 4 5 6 7 8 9 -1\r\n086090 086090 MOD10 0 0 3 7 1 3 7 1 3 7 1 3 7 1 8\r\n086119 086119 MOD11 0 0 0 0 0 0 2 7 6 5 4 3 2 1 12\r\n086119 086119 MOD10 0 0 0 0 0 0 2 3 1 0 5 2 6 1 13\r\n089000 089999 MOD10 0 0 0 0 0 0 7 1 3 7 1 3 7 1\r\n090013 090013 MOD10 0 0 3 7 1 3 7 1 3 7 1 3 7 1\r\n090105 090105 MOD10 0 0 3 7 1 3 7 1 3 7 1 3 7 1\r\n090118 090118 MOD11 0 0 6 5 4 3 2 7 6 5 4 3 2 1\r\n090126 090129 MOD10 0 0 3 7 1 3 7 1 3 7 1 3 7 1\r\n090131 090136 MOD11 0 0 0 0 0 9 8 7 6 5 4 3 2 1\r\n090150 090156 MOD11 0 0 0 0 0 9 8 7 6 5 4 3 2 1\r\n090180 090185 MOD10 0 0 3 7 1 3 7 1 3 7 1 3 7 1\r\n090190 090196 MOD10 0 0 3 7 1 3 7 1 3 7 1 3 7 1\r\n090204 090204 MOD10 0 0 3 7 1 3 7 1 3 7 1 3 7 1\r\n090222 090222 MOD10 0 0 3 7 1 3 7 1 3 7 1 3 7 1\r\n090356 090356 MOD11 0 0 0 0 0 9 8 7 6 5 4 3 2 1\r\n090500 090599 MOD10 0 0 3 7 1 3 7 1 3 7 1 3 7 1\r\n090704 090704 MOD10 0 0 3 7 1 3 7 1 3 7 1 3 7 1\r\n090705 090705 MOD10 0 0 3 7 1 3 7 1 3 7 1 3 7 1\r\n090710 090710 MOD10 0 0 3 7 1 3 7 1 3 7 1 3 7 1\r\n090715 090715 MOD10 0 0 3 7 1 3 7 1 3 7 1 3 7 1\r\n090720 090726 MOD11 0 0 0 0 0 9 8 7 6 5 4 3 2 1\r\n090736 090739 MOD10 0 0 3 7 1 3 7 1 3 7 1 3 7 1\r\n090790 090790 MOD10 0 0 3 7 1 3 7 1 3 7 1 3 7 1\r\n091600 091600 MOD10 0 0 0 0 0 1 7 1 3 7 1 3 7 1\r\n091601 091601 MOD10 0 0 3 7 1 3 7 1 3 7 1 3 7 1\r\n091740 091743 MOD10 0 0 0 0 0 1 7 1 3 7 1 3 7 1\r\n091800 091809 MOD10 0 0 0 0 0 1 7 1 3 7 1 3 7 1\r\n091811 091865 MOD10 0 0 0 0 0 1 7 1 3 7 1 3 7 1\r\n100000 101099 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1\r\n101101 101498 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1\r\n101500 101999 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1\r\n102400 107999 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1\r\n108000 108079 MOD11 0 0 0 0 0 3 2 7 6 5 4 3 2 1\r\n108080 108099 MOD11 0 0 0 0 4 3 2 7 6 5 4 3 2 1\r\n108100 109999 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1\r\n110000 119280 DBLAL 0 0 2 1 2 1 2 1 2 1 2 1 2 1 1\r\n119282 119283 DBLAL 0 0 2 1 2 1 2 1 2 1 2 1 2 1 1\r\n119285 119999 DBLAL 0 0 2 1 2 1 2 1 2 1 2 1 2 1 1\r\n120000 120961 MOD11 0 0 1 8 2 6 3 7 9 5 8 4 2 1\r\n120963 122009 MOD11 0 0 1 8 2 6 3 7 9 5 8 4 2 1\r\n122011 122101 MOD11 0 0 1 8 2 6 3 7 9 5 8 4 2 1\r\n122103 122129 MOD11 0 0 1 8 2 6 3 7 9 5 8 4 2 1\r\n122131 122135 MOD11 0 0 1 8 2 6 3 7 9 5 8 4 2 1\r\n122213 122299 MOD11 0 0 1 8 2 6 3 7 9 5 8 4 2 1\r\n122400 122999 MOD11 0 0 1 8 2 6 3 7 9 5 8 4 2 1\r\n124000 124999 MOD11 0 0 1 8 2 6 3 7 9 5 8 4 2 1\r\n133000 133999 MOD11 0 0 0 0 0 10 7 8 4 6 3 5 2 1\r\n134012 134020 MOD11 0 0 0 7 5 9 8 4 6 3 5 2 0 0 4\r\n134121 134121 MOD11 0 0 0 1 0 0 8 4 6 3 5 2 0 0 4\r\n150000 158000 MOD11 4 3 0 0 0 0 2 7 6 5 4 3 2 1\r\n159800 159800 MOD11 0 0 0 0 0 0 7 6 5 4 3 2 1 0\r\n159900 159900 MOD11 0 0 0 0 0 0 7 6 5 4 3 2 1 0\r\n159910 159910 MOD11 0 0 0 0 0 0 7 6 5 4 3 2 1 0\r\n160000 161027 MOD11 0 0 6 5 4 3 2 7 6 5 4 3 2 1\r\n161029 161029 MOD11 0 0 0 0 0 0 2 7 6 5 4 3 2 1\r\n161030 161041 MOD11 0 0 6 5 4 3 2 7 6 5 4 3 2 1\r\n161050 161050 MOD11 0 0 6 5 4 3 2 7 6 5 4 3 2 1\r\n161055 161055 MOD11 0 0 6 5 4 3 2 7 6 5 4 3 2 1\r\n161060 161060 MOD11 0 0 6 5 4 3 2 7 6 5 4 3 2 1\r\n161065 161065 MOD11 0 0 6 5 4 3 2 7 6 5 4 3 2 1\r\n161070 161070 MOD11 0 0 6 5 4 3 2 7 6 5 4 3 2 1\r\n161075 161075 MOD11 0 0 6 5 4 3 2 7 6 5 4 3 2 1\r\n161080 161080 MOD11 0 0 6 5 4 3 2 7 6 5 4 3 2 1\r\n161085 161085 MOD11 0 0 6 5 4 3 2 7 6 5 4 3 2 1\r\n161090 161090 MOD11 0 0 6 5 4 3 2 7 6 5 4 3 2 1\r\n161100 162028 MOD11 0 0 6 5 4 3 2 7 6 5 4 3 2 1\r\n162030 164300 MOD11 0 0 6 5 4 3 2 7 6 5 4 3 2 1\r\n165901 166001 MOD11 0 0 6 5 4 3 2 7 6 5 4 3 2 1\r\n166050 167600 MOD11 0 0 6 5 4 3 2 7 6 5 4 3 2 1\r\n168600 168600 MOD11 0 0 0 0 0 0 2 7 6 5 4 3 2 1\r\n180002 180002 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1 14\r\n180005 180005 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1 14\r\n180009 180009 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1 14\r\n180036 180036 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1 14\r\n180038 180038 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1 14\r\n180091 180092 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1 14\r\n180104 180104 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1 14\r\n180109 180110 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1 14\r\n180156 180156 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1 14\r\n185001 185001 MOD11 0 0 0 0 0 0 8 7 6 5 4 3 2 1 14\r\n185003 185003 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n185004 185004 MOD11 0 0 0 0 0 0 2 7 6 5 4 3 2 1\r\n185005 185009 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n185011 185025 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n185027 185099 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n200000 200002 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n200000 200002 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n200004 200004 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n200004 200004 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n200026 200026 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n200026 200026 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n200051 200077 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n200051 200077 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n200079 200097 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n200079 200097 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n200099 200156 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n200099 200156 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n200158 200387 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n200158 200387 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n200403 200405 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n200403 200405 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n200407 200407 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n200407 200407 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n200411 200412 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n200411 200412 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n200414 200423 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n200414 200423 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n200425 200899 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n200425 200899 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n200901 201159 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n200901 201159 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n201161 201177 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n201161 201177 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n201179 201351 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n201179 201351 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n201353 202698 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n201353 202698 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n202700 203239 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n202700 203239 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n203241 203255 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n203241 203255 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n203259 203519 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n203259 203519 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n203521 204476 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n203521 204476 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n204478 205475 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n204478 205475 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n205477 205954 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n205477 205954 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n205956 206124 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n205956 206124 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n206126 206157 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n206126 206157 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n206159 206390 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n206159 206390 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n206392 206799 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n206392 206799 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n206802 206874 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n206802 206874 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n206876 207170 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n206876 207170 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n207173 208092 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n207173 208092 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n208094 208721 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n208094 208721 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n208723 209034 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n208723 209034 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n209036 209128 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n209036 209128 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n209130 209999 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1 6\r\n209130 209999 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1 6\r\n230088 230088 MOD10 2 1 2 1 2 1 2 7 4 5 6 3 8 1\r\n230120 230120 MOD11 0 0 0 0 0 7 128 64 32 16 8 4 2 1\r\n230121 230121 MOD11 8 7 1 5 8 6 1 7 6 5 5 4 9 1\r\n230338 230338 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n230338 230338 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n230363 230363 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n230364 230364 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n230365 230365 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n230366 230366 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n230367 230367 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n230505 230505 MOD11 9 8 7 6 5 4 9 8 7 6 5 4 3 2\r\n230580 230580 MOD11 0 0 0 0 0 0 2 7 6 5 4 3 2 1 12\r\n230580 230580 MOD11 0 0 0 0 0 0 5 7 6 5 4 3 2 1 13\r\n230614 230614 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n230614 230614 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n230709 230709 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n230709 230709 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n230872 230872 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n230872 230872 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n230933 230933 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n230933 230933 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n231018 231018 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n231018 231018 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n231185 231185 MOD11 4 8 1 6 5 8 1 9 5 1 8 1 7 3\r\n231213 231213 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n231213 231213 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n231228 231228 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n231228 231228 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n231354 231354 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n231354 231354 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n231469 231469 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n231469 231469 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n231470 231470 MOD11 0 0 20 18 1 14 0 0 0 0 0 0 0 0\r\n231536 231536 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n231536 231536 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n231558 231558 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n231558 231558 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n231618 231618 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n231618 231618 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n231679 231679 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n231679 231679 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n231843 231843 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n231843 231843 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n231985 231985 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n231985 231985 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n232130 232130 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n232130 232130 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n232279 232279 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n232279 232279 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n232283 232283 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n232283 232283 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n232290 232290 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n232445 232445 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n232445 232445 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n232507 232507 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n232571 232571 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n232571 232571 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n232636 232636 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n232636 232636 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n232704 232704 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n232704 232704 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n232725 232725 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n232725 232725 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n232813 232813 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n232813 232813 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n232939 232939 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n232939 232939 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n233080 233080 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n233080 233080 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n233135 233135 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n233135 233135 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n233142 233142 MOD10 2 1 2 1 2 1 30 36 24 20 16 12 8 4\r\n233171 233171 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n233171 233171 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n233188 233188 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n233188 233188 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n233231 233231 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n233231 233231 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n233344 233344 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n233344 233344 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n233438 233438 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n233438 233438 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n233456 233456 MOD10 2 1 2 1 2 1 0 64 32 16 8 4 2 1\r\n233483 233483 MOD11 0 0 0 0 0 0 2 7 6 5 4 3 2 1\r\n233556 233556 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n233556 233556 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n233658 233658 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n233658 233658 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n233693 233693 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n233693 233693 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n233752 233752 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n233752 233752 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n234035 234035 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n234035 234035 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n234036 234036 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n234036 234036 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n234037 234037 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n234037 234037 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n234081 234081 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n234081 234081 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n234193 234193 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n234193 234193 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n234252 234252 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n234252 234252 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n234321 234321 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n234321 234321 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n234377 234377 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n234377 234377 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n234570 234570 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n234570 234570 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n234666 234666 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n234666 234666 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n234779 234779 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n234779 234779 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n234828 234828 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n234828 234828 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n234985 234985 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n234985 234985 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n235054 235054 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n235054 235054 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n235164 235164 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n235164 235164 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n235262 235262 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n235262 235262 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n235323 235323 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n235323 235323 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n235451 235451 MOD11 0 0 0 0 0 0 2 7 6 5 4 3 2 1\r\n235459 235459 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n235459 235459 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n235519 235519 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n235519 235519 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n235676 235676 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n235676 235676 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n235711 235711 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n235711 235711 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n235756 235756 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n235756 235756 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n235889 235889 MOD10 2 1 2 1 2 1 0 64 32 16 8 4 2 1\r\n235945 235945 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n235945 235945 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n236006 236006 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n236006 236006 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n236119 236119 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n236119 236119 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n236233 236233 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n236233 236233 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n236247 236247 MOD11 0 0 1 8 2 6 3 7 9 5 8 4 2 1\r\n236293 236293 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n236293 236293 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n236422 236422 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n236422 236422 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n236527 236527 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n236527 236527 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n236538 236538 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n236538 236538 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n236643 236643 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n236643 236643 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n236761 236761 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n236761 236761 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n236802 236802 MOD11 9 8 7 6 5 4 9 8 7 6 5 4 3 2\r\n236907 236907 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n236907 236907 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n236972 236972 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n237130 237130 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n237130 237130 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n237265 237265 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n237265 237265 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n237355 237355 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n237355 237355 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n237423 237423 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n237423 237423 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n237427 237427 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n237427 237427 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n237563 237563 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n237563 237563 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n237622 237622 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n237622 237622 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n237728 237728 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n237728 237728 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n237873 237873 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n237873 237873 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n238020 238020 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n238020 238020 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n238043 238043 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n238043 238043 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n238051 238051 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n238051 238051 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n238175 238175 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n238175 238175 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n238257 238257 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n238257 238257 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n238392 238431 MOD11 7 6 5 4 3 2 7 6 5 4 3 2 1 0\r\n238392 238431 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n238432 238432 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n238432 238432 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n238433 238583 MOD11 7 6 5 4 3 2 7 6 5 4 3 2 1 0\r\n238433 238583 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n238585 238590 MOD11 7 6 5 4 3 2 7 6 5 4 3 2 1 0\r\n238585 238590 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n238599 238599 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n238599 238599 DBLAL 2 1 2 1 2 1 2 1 2 1 2 1 2 1\r\n238613 238613 MOD11 0 0 0 0 0 0 0 7 6 5 4 3 2 1\r\n238613 238613 DBLAL 2 1 2 1 2 1 2