stdnum
Version:
Standard Number Validation
298 lines • 15.1 kB
JavaScript
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.cleanUnicode = cleanUnicode;
const exceptions = __importStar(require("../../exceptions"));
const mapped = {
'-': '-',
'\u{00AD}': '-',
'\u{00AF}': '-',
'\u{02D7}': '-',
'\u{058A}': '-',
'\u{05BE}': '-',
'\u{180A}': '-',
'\u{2010}': '-',
'\u{2011}': '-',
'\u{2012}': '-',
'\u{2013}': '-',
'\u{2014}': '-',
'\u{2015}': '-',
'\u{203E}': '-',
'\u{2043}': '-',
'\u{207B}': '-',
'\u{208B}': '-',
'\u{2212}': '-',
'\u{23AF}': '-',
'\u{23BA}': '-',
'\u{23BB}': '-',
'\u{23BC}': '-',
'\u{23BD}': '-',
'\u{23E4}': '-',
'\u{FF0D}': '-',
'\u{FE63}': '-',
'\u{FFE3}': '-',
'*': '*',
'\u{066D}': '*',
'\u{070D}': '*',
'\u{2055}': '*',
'\u{A60E}': '*',
'\u{2217}': '*',
'\u{22C6}': '*',
'\u{204E}': '*',
'\u{2731}': '*',
'\u{2732}': '*',
'\u{2733}': '*',
'\u{273A}': '*',
'\u{273B}': '*',
'\u{273C}': '*',
'\u{273D}': '*',
'\u{2743}': '*',
'\u{2749}': '*',
'\u{274A}': '*',
'\u{274B}': '*',
'\u{FE61}': '*',
'\u{FF0A}': '*',
',': ',',
'\u{00B8}': ',',
'\u{060C}': ',',
'\u{066B}': ',',
'\u{066C}': ',',
'\u{201A}': ',',
'\u{2032}': ',',
'\u{2E34}': ',',
'\u{3001}': ',',
'\u{FF0C}': ',',
'\u{FE11}': ',',
'\u{FE50}': ',',
'\u{FE51}': ',',
'\u{FF64}': ',',
'.': '.',
'\u{00B7}': '.',
'\u{02D9}': '.',
'\u{0387}': '.',
'\u{06D4}': '.',
'\u{0701}': '.',
'\u{0702}': '.',
'\u{0830}': '.',
'\u{0F0B}': '.',
'\u{0F0C}': '.',
"\u{1427}": ".",
'\u{16EB}': '.',
'\u{2219}': '.',
'\u{2022}': '.',
'\u{2024}': '.',
'\u{2027}': '.',
'\u{22C5}': '.',
'\u{2E31}': '.',
'\u{2E33}': '.',
'\u{3002}': '.',
'\u{30FB}': '.',
'\u{FE52}': '.',
'\u{FF0E}': '.',
'\u{FF65}': '.',
'\u{FBB2}': '.',
'\u{FBB3}': '.',
'\u{10101}': '.',
'\u{1091F}': '.',
'\u{10A50}': '.',
'/': '/',
'\u{2044}': '/',
'\u{2215}': '/',
'\u{29F8}': '/',
'\u{FF0F}': '/',
'\u{083C}': '/',
'\u{27CB}': '/',
':': ':',
'\u{1361}': ':',
'\u{16EC}': ':',
'\u{1804}': ':',
'\u{FE13}': ':',
'\u{FE30}': ':',
'\u{FF1A}': ':',
'\u{FE55}': ':',
' ': ' ',
'\u{0009}': ' ',
'\u{000B}': ' ',
'\u{000C}': ' ',
'\u{00A0}': ' ',
'\u{1680}': ' ',
'\u{2000}': ' ',
'\u{2001}': ' ',
'\u{2002}': ' ',
'\u{2003}': ' ',
'\u{2004}': ' ',
'\u{2005}': ' ',
'\u{2006}': ' ',
'\u{2007}': ' ',
'\u{2008}': ' ',
'\u{2009}': ' ',
'\u{200A}': ' ',
'\u{2028}': ' ',
'\u{2029}': ' ',
'\u{202F}': ' ',
'\u{205F}': ' ',
'\u{3000}': ' ',
"'": "'",
'\u{0060}': "'",
'\u{00B4}': "'",
"\u{02BE}": "'",
"\u{02BF}": "'",
"\u{02B9}": "'",
"\u{02BB}": "'",
"\u{02BC}": "'",
"\u{02C8}": "'",
"\u{0300}": "'",
'\u{0301}': "'",
'\u{0312}': "'",
'\u{0313}': "'",
'\u{055A}': "'",
'\u{201B}': "'",
'\u{2018}': "'",
'\u{2019}': "'",
'0': '0',
'\u{0660}': '0',
'\u{06F0}': '0',
'\u{FF10}': '0',
'\u{1D7CE}': '0',
'\u{1D7D8}': '0',
'\u{1D7E2}': '0',
'\u{1D7EC}': '0',
'\u{1D7F6}': '0',
'1': '1',
'\u{0661}': '1',
'\u{06F1}': '1',
'\u{FF11}': '1',
'\u{1D7CF}': '1',
'\u{1D7D9}': '1',
'\u{1D7E3}': '1',
'\u{1D7ED}': '1',
'\u{1D7F7}': '1',
'2': '2',
'\u{06F2}': '2',
'\u{0662}': '2',
'\u{FF12}': '2',
'\u{1D7D0}': '2',
'\u{1D7DA}': '2',
'\u{1D7E4}': '2',
'\u{1D7EE}': '2',
'\u{1D7F8}': '2',
'3': '3',
'\u{06F3}': '3',
'\u{0663}': '3',
'\u{FF13}': '3',
'\u{1D7D1}': '3',
'\u{1D7DB}': '3',
'\u{1D7E5}': '3',
'\u{1D7EF}': '3',
'\u{1D7F9}': '3',
'4': '4',
'\u{06F4}': '4',
'\u{0664}': '4',
'\u{FF14}': '4',
'\u{1D7D2}': '4',
'\u{1D7DC}': '4',
'\u{1D7E6}': '4',
'\u{1D7F0}': '4',
'\u{1D7FA}': '4',
'5': '5',
'\u{06F5}': '5',
'\u{0665}': '5',
'\u{FF15}': '5',
'\u{1D7D3}': '5',
'\u{1D7DD}': '5',
'\u{1D7E7}': '5',
'\u{1D7F1}': '5',
'\u{1D7FB}': '5',
'6': '6',
'\u{06F6}': '6',
'\u{0666}': '6',
'\u{FF16}': '6',
'\u{1D7D4}': '6',
'\u{1D7DE}': '6',
'\u{1D7E8}': '6',
'\u{1D7F2}': '6',
'\u{1D7FC}': '6',
'7': '7',
'\u{06F7}': '7',
'\u{0667}': '7',
'\u{FF17}': '7',
'\u{1D7D5}': '7',
'\u{1D7DF}': '7',
'\u{1D7E9}': '7',
'\u{1D7F3}': '7',
'\u{1D7FD}': '7',
'8': '8',
'\u{06F8}': '8',
'\u{0668}': '8',
'\u{FF18}': '8',
'\u{1D7D6}': '8',
'\u{1D7E0}': '8',
'\u{1D7EA}': '8',
'\u{1D7F4}': '8',
'\u{1D7FE}': '8',
'9': '9',
'\u{06F9}': '9',
'\u{0669}': '9',
'\u{FF19}': '9',
'\u{1D7D7}': '9',
'\u{1D7E1}': '9',
'\u{1D7EB}': '9',
'\u{1D7F5}': '9',
'\u{1D7FF}': '9',
};
function cleanUnicode(value, deletechars = ' ', stripPrefix) {
if (typeof value !== 'string') {
return ['', new exceptions.InvalidFormat()];
}
const cleaned = [...value]
.map(c => { var _a; return (_a = mapped[c]) !== null && _a !== void 0 ? _a : c; })
.filter(c => !deletechars.includes(c))
.join('')
.toLocaleUpperCase();
if (stripPrefix && stripPrefix.length !== 0) {
let prefix;
if (Array.isArray(stripPrefix)) {
prefix = stripPrefix.find(p => cleaned.startsWith(p));
}
else if (cleaned.startsWith(stripPrefix)) {
prefix = stripPrefix;
}
if (prefix !== undefined) {
return [cleaned.substring(prefix.length), null];
}
}
return [cleaned, null];
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbC9zdHJpbmdzL2NsZWFuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaVJBLG9DQStCQztBQS9TRCw2REFBK0M7QUFJL0MsTUFBTSxNQUFNLEdBQTJCO0lBQ3JDLEdBQUcsRUFBRSxHQUFHO0lBQ1IsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUVmLEdBQUcsRUFBRSxHQUFHO0lBQ1IsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUVmLEdBQUcsRUFBRSxHQUFHO0lBQ1IsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFFZixHQUFHLEVBQUUsR0FBRztJQUNSLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUVmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFFaEIsR0FBRyxFQUFFLEdBQUc7SUFDUixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFFZixHQUFHLEVBQUUsR0FBRztJQUNSLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBRWYsR0FBRyxFQUFFLEdBQUc7SUFDUixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFFZixHQUFHLEVBQUUsR0FBRztJQUNSLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFFZixVQUFVLEVBQUUsR0FBRztJQUVmLFVBQVUsRUFBRSxHQUFHO0lBRWYsVUFBVSxFQUFFLEdBQUc7SUFFZixVQUFVLEVBQUUsR0FBRztJQUVmLFVBQVUsRUFBRSxHQUFHO0lBRWYsVUFBVSxFQUFFLEdBQUc7SUFFZixVQUFVLEVBQUMsR0FBRztJQUNkLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBRWYsR0FBRyxFQUFFLEdBQUc7SUFDUixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUVoQixHQUFHLEVBQUUsR0FBRztJQUNSLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBRWhCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFFaEIsR0FBRyxFQUFFLEdBQUc7SUFDUixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUVoQixHQUFHLEVBQUUsR0FBRztJQUNSLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBRWhCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFFaEIsR0FBRyxFQUFFLEdBQUc7SUFDUixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUVoQixHQUFHLEVBQUUsR0FBRztJQUNSLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxHQUFHO0lBRWhCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsVUFBVSxFQUFFLEdBQUc7SUFDZixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUc7SUFHaEIsR0FBRyxFQUFFLEdBQUc7SUFDUixVQUFVLEVBQUUsR0FBRztJQUNmLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLEdBQUc7SUFDZixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsR0FBRztDQUNqQixDQUFDO0FBTUYsU0FBZ0IsWUFBWSxDQUMxQixLQUFhLEVBQ2IsV0FBVyxHQUFHLEdBQUcsRUFDakIsV0FBK0I7SUFFL0IsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixPQUFPLENBQUMsRUFBRSxFQUFFLElBQUksVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUdELE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7U0FDdkIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQUMsT0FBQSxNQUFBLE1BQU0sQ0FBQyxDQUFDLENBQUMsbUNBQUksQ0FBQyxDQUFBLEVBQUEsQ0FBQztTQUN4QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDckMsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUNSLGlCQUFpQixFQUFFLENBQUM7SUFFdkIsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxJQUFJLE1BQU0sQ0FBQztRQUVYLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hELENBQUM7YUFBTSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUMzQyxNQUFNLEdBQUcsV0FBVyxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN6QixPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3pCLENBQUMifQ==