UNPKG

@bwip-js/react-native

Version:

JavaScript barcode generator supporting over 100 types and standards.

1,576 lines (1,534 loc) 1.89 MB
// This file is part of the bwip-js project available at: // // http://metafloor.github.io/bwip-js // // Copyright (c) 2011-2025 Mark Warren // // This file contains code automatically generated from: // Barcode Writer in Pure PostScript - Version 2024-06-18 // Copyright (c) 2004-2024 Terry Burton // // The MIT License // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. // "use strict"; // bwip-js // Barcode Writer in Pure JavaScript // https://github.com/metafloor/bwip-js // // This code was automatically generated from: // Barcode Writer in Pure PostScript - Version 2024-06-18 // // Copyright (c) 2011-2025 Mark Warren // Copyright (c) 2004-2024 Terry Burton // // Licensed MIT. See the LICENSE file in the bwip-js root directory. // bwip-js/barcode-hdr.js // // This code is injected above the cross-compiled barcode.js. // The BWIPJS object (graphics interface) var $$ = null; var $j = 0; // stack pointer var $k = []; // operand stack var $_ = {}; // base of the dictionary stack // Array ctor // $a() : Build a new array up to the Infinity-marker on the stack. // $a(arr) : Convert native array to a "view" of the array. // $a(len) : Create a new array of length `len` function $a(a) { if (!arguments.length) { for (var i = $j - 1; i >= 0 && $k[i] !== Infinity; i--); if (i < 0) { throw new Error('array-marker-not-found'); } a = $k.splice(i + 1, $j - 1 - i); $j = i; } else if (!(a instanceof Array)) { a = new Array(+arguments[0]); for (var i = 0, l = a.length; i < l; i++) { a[i] = null; } } a.b = a; // base array a.o = 0; // offset into base return a; } // dict ctor // $d() : look for the Infinity marker on the stack function $d() { // Build the dictionary in the order the keys/values were pushed so enumeration // occurs in the correct sequence. for (var mark = $j - 1; mark >= 0 && $k[mark] !== Infinity; mark -= 2) { if ($k[mark - 1] === Infinity) { throw new Error('dict-malformed-stack'); } } if (mark < 0) { throw new Error('dict-marker-not-found'); } var d = new Map; for (var i = mark + 1; i < $j; i += 2) { // Unlike javascript, postscript dict keys differentiate between // numbers and the string representation of a number. var k = $k[i]; // "key" into the dict entry var t = typeof k; if (t == 'number' || t == 'string') { d.set(k, $k[i + 1]); } else if (k instanceof Uint8Array) { d.set($z(k), $k[i + 1]); } else { throw new Error('dict-not-a-valid-key(' + k + ')'); } } $j = mark; return d; } // string ctor // s(number) : create zero-filled string of number-length // s(string) : make a copy of the string // s(uint8[]) : make a copy of the string // // Returns a Uint8Array-string. function $s(v) { var t = typeof v; if (t === 'number') { return new Uint8Array(v); } if (t !== 'string') { v = '' + v; } var s = new Uint8Array(v.length); for (var i = 0; i < v.length; i++) { s[i] = v.charCodeAt(i); } return s; } // ... n c roll function $r(n, c) { if ($j < n) { throw new Error('roll: --stack-underflow--'); } if (!c) { return; } if (c < 0) { var t = $k.splice($j - n, -c); } else { var t = $k.splice($j - n, n - c); } $k.splice.apply($k, [$j - t.length, 0].concat(t)); } // Primarily designed to convert uint8-string to string, but will call the // the toString() method on any value. function $z(s) { if (s instanceof Uint8Array) { return String.fromCharCode.apply(null, s); } return '' + s; } // Copies source to dest and returns a view of just the copied characters function $strcpy(dst, src) { if (typeof dst === 'string') { dst = $s(dst); } if (src instanceof Uint8Array) { for (var i = 0, l = src.length; i < l; i++) { dst[i] = src[i]; } } else { for (var i = 0, l = src.length; i < l; i++) { dst[i] = src.charCodeAt(i); } } return src.length < dst.length ? dst.subarray(0, src.length) : dst; } // Copies source to dest and should (but doesn't) return a view of just the copied elements function $arrcpy(dst, src) { for (var i = 0, l = src.length; i < l; i++) { dst[i] = src[i]; } dst.length = src.length; return dst; } // cvs operator - convert a value to its string representation // s : string to store into // v : any value function $cvs(s, v) { var t = typeof v; if (t == 'number' || t == 'boolean' || v === null) { v = '' + v; } else if (t !== 'string') { v = '--nostringval--'; } for (var i = 0, l = v.length; i < l; i++) { s[i] = v.charCodeAt(i); } $k[$j++] = i < s.length ? s.subarray(0, i) : s; } // cvi operator - converts a numeric string value to integer. function $cvi(s) { if (s instanceof Uint8Array) { // nul-chars on the end of a string are ignored by postscript but cause javascript // to return a zero result. return String.fromCharCode.apply(null, s).replace(/\0+$/, '') | 0; } return ('' + s) | 0; } // cvrs operator - convert a number to a radix string // s : string to store into // n : number // r : radix function $cvrs(s, n, r) { return $strcpy(s, (~~n).toString(r).toUpperCase()); } // cvx - convert to executable. // This is only used by BWIPP to convert <XX> string literals. function $cvx(s) { s = $z(s) var m = /^\s*<((?:[0-9a-fA-F]{2})+)>\s*$/.exec(s); if (!m) { throw new Error('cvx: not a <HH> hex string literal'); } var h = m[1]; var l = h.length >> 1; var u = new Uint8Array(l); for (var i = 0, j = 0; i < l; i++) { var c0 = h.charCodeAt(j++); var c1 = h.charCodeAt(j++); u[i] = ((c0 < 58 ? c0 - 48 : (c0 & 15) + 9) << 4) + (c1 < 58 ? c1 - 48 : (c1 & 15) + 9); } return u; } // get operator // s : source // k : key function $get(s, k) { if (s instanceof Uint8Array) { return s[k]; } if (typeof s === 'string') { return s.charCodeAt(k); } if (s instanceof Array) { return s.b[s.o + k]; } if (k instanceof Uint8Array) { return s.get($z(k)); } return s.get(k); } // put operator // d : dest // k : key // v : value function $put(d, k, v) { if (d instanceof Uint8Array) { d[k] = v; } else if (d instanceof Array) { d.b[d.o + k] = v; } else if (typeof d == 'object') { if (k instanceof Uint8Array) { d.set($z(k), v); } else { d.set(k, v); } } else { throw new Error('put-not-writable-' + (typeof d)); } } // getinterval operator // s : src // o : offset // l : length function $geti(s, o, l) { if (s instanceof Uint8Array) { return s.subarray(o, o + l); } if (s instanceof Array) { var a = new Array(l); a.b = s.b; // base array a.o = s.o + o; // offset into base return a; } // Must be a string return s.substr(o, l); } // putinterval operator // d : dst // o : offset // s : src function $puti(d, o, s) { if (d instanceof Uint8Array) { if (typeof s == 'string') { for (var i = 0, l = s.length; i < l; i++) { d[o + i] = s.charCodeAt(i); } } else { // When both d and s are the same, we want to copy // backwards, which works for the general case as well. for (var i = s.length - 1; i >= 0; i--) { d[o + i] = s[i]; } } } else if (d instanceof Array) { // Operate on the base arrays var darr = d.b; var doff = o + d.o; var sarr = s.b; var soff = s.o; for (var i = 0, l = s.length; i < l; i++) { darr[doff + i] = sarr[soff + i]; } } else { throw new Error('putinterval-not-writable-' + (typeof d)); } } // type operator function $type(v) { // null can be mis-typed - get it out of the way if (v == null) { return 'nulltype'; } var t = typeof v; if (t == 'number') { return v % 1 ? 'realtype' : 'integertype'; } if (t == 'boolean') { return 'booleantype'; } if (t == 'string' || v instanceof Uint8Array) { return 'stringtype'; } if (t == 'function') { return 'operatortype'; } if (v instanceof Array) { return 'arraytype'; } return 'dicttype'; // filetype // fonttype // gstatetype // marktype (v === Infinity) // nametype // savetype } // anchorsearch operator // string seek anchorsearch suffix seek true %if-found // string false %if-not-found function $anchorsearch(str, seek) { if (!(str instanceof Uint8Array)) { str = $s(str); } var i = 0, ls = str.length, lk = seek.length; // Optimize for single characters. if (lk == 1) { var cd = seek instanceof Uint8Array ? seek[0] : seek.charCodeAt(0); i = str[0] == cd ? 1 : ls; } else if (seek.length <= ls) { // Slow path, if (!(seek instanceof Uint8Array)) { seek = $s(seek); } for (; i < lk && str[i] == seek[i]; i++); } if (i == lk) { $k[$j++] = str.subarray(lk); $k[$j++] = str.subarray(0, lk); $k[$j++] = true; } else { $k[$j++] = str; $k[$j++] = false; } } // search operator // string seek search suffix match prefix true %if-found // string false %if-not-found function $search(str, seek) { if (!(str instanceof Uint8Array)) { str = $s(str); } var ls = str.length; // Virtually all uses of search in BWIPP are for single-characters. // Optimize for that case. if (seek.length == 1) { var lk = 1; var cd = seek instanceof Uint8Array ? seek[0] : seek.charCodeAt(0); for (var i = 0; i < ls && str[i] != cd; i++); } else { // Slow path, if (!(seek instanceof Uint8Array)) { seek = $s(seek); } var lk = seek.length; var cd = seek[0]; for (var i = 0; i < ls && str[i] != cd; i++); while (i < ls) { for (var j = 1; j < lk && str[i + j] === seek[j]; j++); if (j === lk) { break; } for (i++; i < ls && str[i] != cd; i++); } } if (i < ls) { $k[$j++] = str.subarray(i + lk); $k[$j++] = str.subarray(i, i + lk); $k[$j++] = str.subarray(0, i); $k[$j++] = true; } else { $k[$j++] = str; $k[$j++] = false; } } // The callback is omitted when forall is being used just to push onto the // stack. The callback normally returns undefined. A return of true means break. function $forall(o, cb) { if (o instanceof Uint8Array) { for (var i = 0, l = o.length; i < l; i++) { $k[$j++] = o[i]; if (cb && cb()) break; } } else if (o instanceof Array) { // The array may be a view. for (var a = o.b, i = o.o, l = o.o + o.length; i < l; i++) { $k[$j++] = a[i]; if (cb && cb()) break; } } else if (typeof o === 'string') { for (var i = 0, l = o.length; i < l; i++) { $k[$j++] = o.charCodeAt(i); if (cb && cb()) break; } } else if (o instanceof Map) { for (var keys = o.keys(), i = 0, l = o.size; i < l; i++) { var id = keys.next().value; $k[$j++] = id; $k[$j++] = o.get(id); if (cb && cb()) break; } } else { for (var id in o) { $k[$j++] = id; $k[$j++] = o[id]; if (cb && cb()) break; } } } function $cleartomark() { while ($j > 0 && $k[--$j] !== Infinity); } function $counttomark() { for (var i = $j - 1; i >= 0 && $k[i] !== Infinity; i--); return $j - i - 1; } function $aload(a) { for (var i = 0, l = a.length, b = a.b, o = a.o; i < l; i++) { $k[$j++] = b[o + i]; } // This push has been optimized out. See $.aload() in psc.js. //$k[$j++] = a; } function $astore(a) { for (var i = 0, l = a.length, b = a.b, o = a.o + l - 1; i < l; i++) { b[o - i] = $k[--$j]; } $k[$j++] = a; } function $eq(a, b) { if (typeof a === 'string' && typeof b === 'string') { return a == b; } if (a instanceof Uint8Array && b instanceof Uint8Array) { if (a.length != b.length) { return false; } for (var i = 0, l = a.length; i < l; i++) { if (a[i] != b[i]) { return false; } } return true; } if (a instanceof Uint8Array && typeof b === 'string' || b instanceof Uint8Array && typeof a === 'string') { if (a instanceof Uint8Array) { a = $z(a); } else { b = $z(b); } return a == b; } return a == b; } function $ne(a, b) { return !$eq(a, b); } function $lt(a, b) { if (a instanceof Uint8Array) { a = $z(a); } if (b instanceof Uint8Array) { b = $z(b); } return a < b; } function $le(a, b) { if (a instanceof Uint8Array) { a = $z(a); } if (b instanceof Uint8Array) { b = $z(b); } return a <= b; } function $gt(a, b) { if (a instanceof Uint8Array) { a = $z(a); } if (b instanceof Uint8Array) { b = $z(b); } return a > b; } function $ge(a, b) { if (a instanceof Uint8Array) { a = $z(a); } if (b instanceof Uint8Array) { b = $z(b); } return a >= b; } function $an(a, b) { // and return (typeof a === 'boolean') ? a && b : a & b; } function $or(a, b) { // or return (typeof a === 'boolean') ? a || b : a | b; } function $xo(a, b) { // xor return (typeof a === 'boolean') ? !a && b || a && !b : a ^ b; } function $nt(a) { return typeof a == 'boolean' ? !a : ~a; } // emulate single-precision floating-point (pseudo-polyfill for Math.fround) var $f = (function(fa) { return function(v) { return Number.isInteger(v) ? v : (fa[0] = v, fa[0]); }; })(new Float32Array(1)); // This is a replacement for the BWIPP raiseerror function. function bwipp_raiseerror() { var info = $k[--$j]; var name = $k[--$j]; throw new Error($z(name) + ": " + $z(info)); } // This is a replacement for the BWIPP processoptions function. // We cannot use the BWIPP version due to two reasons: // - legacy code allows strings to be numbers and numbers to be strings // - in javascript, there is no way to tell the difference between a real // number that is an integer, and an actual integer. // // options currentdict processoptions exec -> options function bwipp_processoptions() { var dict = $k[--$j]; var opts = $k[$j - 1]; var map = opts instanceof Map; for (var id in dict) { var val; if (map) { if (!opts.has(id)) { continue; } val = opts.get(id); } else { if (!opts.hasOwnProperty(id)) { continue; } val = opts[id]; } var def = dict[id]; var typ = typeof def; // null is a placeholder for realtype if (def == null || typ == 'number') { // This allows for numeric strings if (!isFinite(+val)) { throw new Error('bwipp.invalidOptionType: ' + id + ': not a realtype: ' + val); } if (typeof val == 'string') { val = +val; map ? opts.set(id, val) : (opts[id] = val); } } else if (typ == 'boolean') { if (val !== true && val !== false) { // In keeping with the ethos of javascript, allow a more relaxed // interpretation of boolean. if (val == null || (val | 0) === val) { val = !!val; } else if (val == 'true') { val = true; } else if (val == 'false') { val = false; } else { throw new Error('bwipp.invalidOptionType: ' + id + ': not a booleantype: ' + val); } map ? opts.set(id, val) : (opts[id] = val); } } else if (typ == 'string' || def instanceof Uint8Array) { // This allows numbers to be strings if (typeof val == 'number') { val = '' + val; map ? opts.set(id, val) : (opts[id] = val); } else if (typeof val != 'string' && !(val instanceof Uint8Array)) { throw new Error('bwipp.invalidOptionType: ' + id + ': not a stringtype: ' + val); } } // Set the option into the dictionary dict[id] = val; } } // Replacement for loadctx which contains complex postscript operations // that we don't implement correctly. // f is a reference to the enclosing function. function bwipp_loadctx(f) { if (!f.$ctx) { f.$ctx = {}; } var next = Object.getPrototypeOf($_); Object.setPrototypeOf(f.$ctx, next); Object.setPrototypeOf($_, f.$ctx); } function bwipp_parseinput() { $_ = Object.create($_); //#200 bwipp_loadctx(bwipp_parseinput) //#202 $_.fncvals = $k[--$j]; //#204 $_.barcode = $k[--$j]; //#205 var _2 = 'parse'; //#207 $_[_2] = $get($_.fncvals, _2); //#207 delete $_.fncvals[_2]; //#207 var _6 = 'parsefnc'; //#208 $_[_6] = $get($_.fncvals, _6); //#208 delete $_.fncvals[_6]; //#208 var _A = 'parseonly'; //#209 var _C = $get($_.fncvals, _A) !== undefined; //#209 $_[_A] = _C; //#209 delete $_.fncvals[_A]; //#209 var _E = 'eci'; //#210 var _G = $get($_.fncvals, _E) !== undefined; //#210 $_[_E] = _G; //#210 delete $_.fncvals[_E]; //#210 if (!bwipp_parseinput.__225__) { //#225 $_ = Object.create($_); //#225 $k[$j++] = Infinity; //#214 var _I = $a(['NUL', 'SOH', 'STX', 'ETX', 'EOT', 'ENQ', 'ACK', 'BEL', 'BS', 'TAB', 'LF', 'VT', 'FF', 'CR', "", "", 'DLE', 'DC1', 'DC2', 'DC3', 'DC4', 'NAK', 'SYN', 'ETB', 'CAN', 'EM', 'SUB', 'ESC', 'FS', 'GS', 'RS', 'US']); //#219 $k[$j++] = 0; //#223 for (var _J = 0, _K = _I.length; _J < _K; _J++) { //#223 var _M = $k[--$j]; //#222 $k[$j++] = $get(_I, _J); //#222 $k[$j++] = _M; //#222 $k[$j++] = $f(_M + 1); //#222 } //#222 $j--; //#223 $_.ctrl = $d(); //#224 for (var id in $_) $_.hasOwnProperty(id) && (bwipp_parseinput.$ctx[id] = $_[id]); //#224 bwipp_parseinput.__225__ = 1; //#224 $_ = Object.getPrototypeOf($_); //#224 } //#224 $_.msg = $a($_.barcode.length); //#227 $_.j = 0; //#228 $k[$j++] = $_.barcode; //#347 for (;;) { //#347 $search($k[--$j], "^"); //#230 var _T = $k[--$j]; //#230 var _U = $k[--$j]; //#230 $k[$j++] = _T; //#233 $k[$j++] = _U.length; //#233 $k[$j++] = $_.msg; //#233 $k[$j++] = $_.j; //#233 $k[$j++] = _U; //#233 $k[$j++] = Infinity; //#233 var _X = $k[--$j]; //#233 var _Y = $k[--$j]; //#233 $k[$j++] = _X; //#233 $forall(_Y); //#233 var _Z = $a(); //#233 var _a = $k[--$j]; //#233 $puti($k[--$j], _a, _Z); //#233 $_.j = $f($k[--$j] + $_.j); //#234 if ($k[--$j]) { //#345 $j--; //#236 for (var _f = 0, _g = 1; _f < _g; _f++) { //#343 if ($an($nt($_.parse), $nt($_.parsefnc))) { //#243 $put($_.msg, $_.j, 94); //#240 $_.j = $f($_.j + 1); //#241 break; //#242 } //#242 $put($_.msg, $_.j, 94); //#246 $_.j = $f($_.j + 1); //#247 if ($_.parse) { //#290 var _q = $k[--$j]; //#251 $k[$j++] = _q; //#262 if (_q.length >= 3) { //#262 var _r = $k[--$j]; //#252 var _s = $geti(_r, 0, 3); //#252 var _t = $_.ctrl; //#252 var _u = $get(_t, _s) !== undefined; //#253 $k[$j++] = _r; //#261 $k[$j++] = _t; //#261 $k[$j++] = _s; //#261 if (_u) { //#260 $_.j = $f($_.j - 1); //#254 var _w = $k[--$j]; //#255 $put($_.msg, $_.j, $get($k[--$j], _w)); //#255 $_.j = $f($_.j + 1); //#256 var _12 = $k[--$j]; //#257 $k[$j++] = $geti(_12, 3, _12.length - 3); //#258 break; //#258 } else { //#260 $j -= 2; //#260 } //#260 } //#260 var _14 = $k[--$j]; //#263 $k[$j++] = _14; //#274 if (_14.length >= 2) { //#274 var _15 = $k[--$j]; //#264 var _16 = $geti(_15, 0, 2); //#264 var _17 = $_.ctrl; //#264 var _18 = $get(_17, _16) !== undefined; //#265 $k[$j++] = _15; //#273 $k[$j++] = _17; //#273 $k[$j++] = _16; //#273 if (_18) { //#272 $_.j = $f($_.j - 1); //#266 var _1A = $k[--$j]; //#267 $put($_.msg, $_.j, $get($k[--$j], _1A)); //#267 $_.j = $f($_.j + 1); //#268 var _1G = $k[--$j]; //#269 $k[$j++] = $geti(_1G, 2, _1G.length - 2); //#270 break; //#270 } else { //#272 $j -= 2; //#272 } //#272 } //#272 var _1I = $k[--$j]; //#275 $k[$j++] = _1I; //#289 if (_1I.length >= 3) { //#289 var _1J = $k[--$j]; //#276 var _1K = $geti(_1J, 0, 3); //#276 $k[$j++] = _1J; //#278 $k[$j++] = true; //#278 for (var _1L = 0, _1M = _1K.length; _1L < _1M; _1L++) { //#278 var _1N = $get(_1K, _1L); //#278 if ((_1N < 48) || (_1N > 57)) { //#277 $j--; //#277 $k[$j++] = false; //#277 } //#277 } //#277 if ($k[--$j]) { //#288 var _1P = $k[--$j]; //#280 var _1R = $cvi($geti(_1P, 0, 3)); //#280 $k[$j++] = _1P; //#283 $k[$j++] = _1R; //#283 if (_1R > 255) { //#283 $j -= 2; //#281 $k[$j++] = 'bwipp.invalidOrdinal#282'; //#282 $k[$j++] = "Ordinal must be 000 to 255"; //#282 bwipp_raiseerror(); //#282 } //#282 $_.j = $f($_.j - 1); //#284 $put($_.msg, $_.j, $k[--$j]); //#285 $_.j = $f($_.j + 1); //#286 var _1X = $k[--$j]; //#287 $k[$j++] = $geti(_1X, 3, _1X.length - 3); //#287 } //#287 } //#287 } //#287 if (($or($_.parseonly, $nt($_.parsefnc))) || ($get($_.msg, $f($_.j - 1)) != 94)) { //#295 break; //#295 } //#295 $_.j = $f($_.j - 1); //#298 var _1f = $k[--$j]; //#299 $k[$j++] = _1f; //#302 if (_1f.length < 3) { //#302 $j--; //#300 $k[$j++] = 'bwipp.truncatedFNC#301'; //#301 $k[$j++] = "Function character truncated"; //#301 bwipp_raiseerror(); //#301 } //#301 var _1g = $k[--$j]; //#303 $k[$j++] = _1g; //#308 if ($get(_1g, 0) == 94) { //#308 $put($_.msg, $_.j, 94); //#304 $_.j = $f($_.j + 1); //#305 var _1l = $k[--$j]; //#306 $k[$j++] = $geti(_1l, 1, _1l.length - 1); //#307 break; //#307 } //#307 var _1n = $k[--$j]; //#309 $k[$j++] = _1n; //#326 if ($eq($geti(_1n, 0, 3), "ECI") && $_.eci) { //#326 var _1q = $k[--$j]; //#310 $k[$j++] = _1q; //#313 if (_1q.length < 9) { //#313 $j--; //#311 $k[$j++] = 'bwipp.truncatedECI#312'; //#312 $k[$j++] = "ECI truncated"; //#312 bwipp_raiseerror(); //#312 } //#312 var _1r = $k[--$j]; //#314 var _1s = $geti(_1r, 3, 6); //#314 $k[$j++] = _1r; //#320 $k[$j++] = _1s; //#320 for (var _1t = 0, _1u = _1s.length; _1t < _1u; _1t++) { //#320 var _1v = $get(_1s, _1t); //#320 if ((_1v < 48) || (_1v > 57)) { //#319 $j -= 2; //#317 $k[$j++] = 'bwipp.invalidECI#318'; //#318 $k[$j++] = "ECI must be 000000 to 999999"; //#318 bwipp_raiseerror(); //#318 } //#318 } //#318 var _1w = $k[--$j]; //#321 $k[$j++] = 0; //#321 $forall(_1w, function() { //#321 var _1x = $k[--$j]; //#321 var _1y = $k[--$j]; //#321 $k[$j++] = ($f(_1y - $f(_1x - 48))) * 10; //#321 }); //#321 $put($_.msg, $_.j, (~~($k[--$j] / 10)) - 1000000); //#322 $_.j = $f($_.j + 1); //#323 var _23 = $k[--$j]; //#324 $k[$j++] = $geti(_23, 9, _23.length - 9); //#325 break; //#325 } //#325 var _25 = $k[--$j]; //#327 $k[$j++] = _25; //#330 if (_25.length < 4) { //#330 $j--; //#328 $k[$j++] = 'bwipp.truncatedFNC#329'; //#329 $k[$j++] = "Function character truncated"; //#329 bwipp_raiseerror(); //#329 } //#329 var _26 = $k[--$j]; //#331 var _27 = $geti(_26, 0, 4); //#331 var _29 = $get($_.fncvals, _27) !== undefined; //#331 $k[$j++] = _26; //#336 $k[$j++] = _27; //#336 if (!_29) { //#336 var _2A = $k[--$j]; //#332 var _2B = $s(_2A.length + 28); //#332 $puti(_2B, 28, _2A); //#332 $puti(_2B, 0, "Unknown function character: "); //#333 var _2C = $k[--$j]; //#334 $k[$j++] = _2B; //#334 $k[$j++] = _2C; //#334 $j--; //#334 var _2D = $k[--$j]; //#335 $k[$j++] = 'bwipp.unknownFNC#335'; //#335 $k[$j++] = _2D; //#335 bwipp_raiseerror(); //#335 } //#335 $put($_.msg, $_.j, $get($_.fncvals, $k[--$j])); //#338 $_.j = $f($_.j + 1); //#339 var _2K = $k[--$j]; //#340 $k[$j++] = $geti(_2K, 4, _2K.length - 4); //#341 break; //#341 } //#341 } else { //#345 break; //#345 } //#345 } //#345 if ($nt($_.parseonly)) { //#353 $k[$j++] = $geti($_.msg, 0, $_.j); //#350 } else { //#353 $k[$j++] = $s($_.j); //#353 for (var _2U = 0, _2T = $f($_.j - 1); _2U <= _2T; _2U += 1) { //#353 var _2V = $k[--$j]; //#353 $put(_2V, _2U, $get($_.msg, _2U)); //#353 $k[$j++] = _2V; //#353 } //#353 } //#353 $_ = Object.getPrototypeOf($_); //#356 $_ = Object.getPrototypeOf($_); //#358 } //bwipp_parseinput function bwipp_gs1process() { $_ = Object.create($_); //#383 bwipp_loadctx(bwipp_gs1process) //#385 if (!bwipp_gs1process.__2469__) { //#2469 $_ = Object.create($_); //#2469 var _1 = new Map([ ["cset", 'N'], ["min", 18], ["max", 18], ["opt", false], ["linters", $a(['lintcsum', 'lintkey'])] ]); //#393 var _2 = $a([_1]); //#393 var _3 = $a([]); //#395 var _4 = new Map([ ["parts", _2], ["dlpkey", _3] ]); //#395 var _5 = $a(['lintcsum', 'lintkey']); //#402 var _6 = new Map([ ["cset", 'N'], ["min", 14], ["max", 14], ["opt", false], ["linters", _5] ]); //#402 var _7 = $a([_6]); //#402 var _8 = $a(["255", "37"]); //#404 var _9 = $a(["22", "10", "21"]); //#405 var _A = $a(["235"]); //#405 var _B = $a([_9, _A]); //#405 var _C = new Map([ ["parts", _7], ["ex", _8], ["dlpkey", _B] ]); //#405 var _D = $a(['lintcsum', 'lintkey']); //#412 var _E = new Map([ ["cset", 'N'], ["min", 14], ["max", 14], ["opt", false], ["linters", _D] ]); //#412 var _F = $a([_E]); //#412 var _G = $a(["01", "03"]); //#414 var _H = $a(["37"]); //#415 var _I = $a([_H]); //#415 var _J = $a([_I]); //#415 var _K = new Map([ ["parts", _F], ["ex", _G], ["req", _J] ]); //#415 var _L = $a(['lintcsum', 'lintkey']); //#422 var _M = new Map([ ["cset", 'N'], ["min", 14], ["max", 14], ["opt", false], ["linters", _L] ]); //#422 var _N = $a([_M]); //#422 var _P = new Map([ ["parts", _N], ["ex", $a(["01", "02", "37"])], ["dlattr", false] ]); //#425 var _R = new Map([ ["cset", 'X'], ["min", 1], ["max", 20], ["opt", false], ["linters", $a([])] ]); //#432 var _a = new Map([ ["parts", $a([_R])], ["req", $a([$a([$a(["01"]), $a(["02"]), $a(["03"]), $a(["8006"]), $a(["8026"])])])] ]); //#434 var _c = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a(['lintyymmd0'])] ]); //#441 var _k = new Map([ ["parts", $a([_c])], ["req", $a([$a([$a(["01"]), $a(["02"]), $a(["8006"]), $a(["8026"])])])] ]); //#443 var _m = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a(['lintyymmd0'])] ]); //#450 var _r = new Map([ ["parts", $a([_m])], ["req", $a([$a([$a(["8020"])])])] ]); //#452 var _t = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a(['lintyymmd0'])] ]); //#459 var _11 = new Map([ ["parts", $a([_t])], ["req", $a([$a([$a(["01"]), $a(["02"]), $a(["8006"]), $a(["8026"])])])] ]); //#461 var _13 = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a(['lintyymmd0'])] ]); //#470 var _1C = new Map([ ["parts", $a([_13])], ["req", $a([$a([$a(["01"]), $a(["02"]), $a(["255"]), $a(["8006"]), $a(["8026"])])])] ]); //#472 var _1E = new Map([ ["cset", 'N'], ["min", 2], ["max", 2], ["opt", false], ["linters", $a([])] ]); //#479 var _1M = new Map([ ["parts", $a([_1E])], ["req", $a([$a([$a(["01"]), $a(["02"]), $a(["8006"]), $a(["8026"])])])] ]); //#481 var _1O = new Map([ ["cset", 'X'], ["min", 1], ["max", 20], ["opt", false], ["linters", $a([])] ]); //#488 var _1W = new Map([ ["parts", $a([_1O])], ["ex", $a(["235"])], ["req", $a([$a([$a(["01"]), $a(["03"]), $a(["8006"])])])], ["dlattr", false] ]); //#492 var _1Y = new Map([ ["cset", 'X'], ["min", 1], ["max", 20], ["opt", false], ["linters", $a([])] ]); //#499 var _1d = new Map([ ["parts", $a([_1Y])], ["req", $a([$a([$a(["01"])])])], ["dlattr", false] ]); //#502 var _1f = new Map([ ["cset", 'X'], ["min", 1], ["max", 28], ["opt", false], ["linters", $a([])] ]); //#509 var _1k = new Map([ ["parts", $a([_1f])], ["req", $a([$a([$a(["01"])])])], ["dlattr", false] ]); //#512 var _1m = new Map([ ["cset", 'X'], ["min", 1], ["max", 30], ["opt", false], ["linters", $a([])] ]); //#519 var _1u = new Map([ ["parts", $a([_1m])], ["req", $a([$a([$a(["01"]), $a(["02"]), $a(["8006"]), $a(["8026"])])])] ]); //#521 var _1w = new Map([ ["cset", 'N'], ["min", 1], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#529 var _24 = $a([$a([$a(["01"]), $a(["02"]), $a(["03"]), $a(["8006"]), $a(["8026"])])]); //#531 var _25 = new Map([ ["parts", $a([_1w])], ["req", _24] ]); //#531 var _27 = new Map([ ["cset", 'X'], ["min", 1], ["max", 20], ["opt", false], ["linters", $a([])] ]); //#538 var _2C = new Map([ ["parts", $a([_27])], ["req", $a([$a([$a(["01"])])])] ]); //#540 var _2E = new Map([ ["cset", 'X'], ["min", 1], ["max", 30], ["opt", false], ["linters", $a([])] ]); //#547 var _2M = new Map([ ["parts", $a([_2E])], ["req", $a([$a([$a(["01"]), $a(["8006"])]), $a([$a(["21"])])])] ]); //#549 var _2O = new Map([ ["cset", 'X'], ["min", 1], ["max", 30], ["opt", false], ["linters", $a([])] ]); //#556 var _2U = new Map([ ["parts", $a([_2O])], ["req", $a([$a([$a(["01"]), $a(["8006"])])])] ]); //#558 var _2W = new Map([ ["cset", 'N'], ["min", 13], ["max", 13], ["opt", false], ["linters", $a(['lintcsum', 'lintkey'])] ]); //#565 var _2Y = new Map([ ["cset", 'X'], ["min", 1], ["max", 17], ["opt", true], ["linters", $a([])] ]); //#566 var _2b = new Map([ ["parts", $a([_2W, _2Y])], ["dlpkey", $a([])] ]); //#568 var _2d = new Map([ ["cset", 'X'], ["min", 1], ["max", 20], ["opt", false], ["linters", $a([])] ]); //#575 var _2i = new Map([ ["parts", $a([_2d])], ["req", $a([$a([$a(["414"])])])], ["dlattr", false] ]); //#578 var _2k = new Map([ ["cset", 'N'], ["min", 13], ["max", 13], ["opt", false], ["linters", $a(['lintcsum', 'lintkey'])] ]); //#585 var _2m = new Map([ ["cset", 'N'], ["min", 1], ["max", 12], ["opt", true], ["linters", $a([])] ]); //#586 var _2q = new Map([ ["parts", $a([_2k, _2m])], ["ex", $a(["01", "02", "415", "8006", "8020", "8026"])], ["dlpkey", $a([])] ]); //#589 var _2s = new Map([ ["cset", 'N'], ["min", 1], ["max", 8], ["opt", false], ["linters", $a([])] ]); //#596 var _2y = new Map([ ["parts", $a([_2s])], ["req", $a([$a([$a(["01"]), $a(["02"])])])] ]); //#598 var _30 = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#605 var _37 = new Map([ ["parts", $a([_30])], ["ex", $a(["310n"])], ["req", $a([$a([$a(["01"]), $a(["02"])])])] ]); //#608 var _39 = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#620 var _3G = new Map([ ["parts", $a([_39])], ["ex", $a(["311n"])], ["req", $a([$a([$a(["01"]), $a(["02"])])])] ]); //#623 var _3I = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#635 var _3P = new Map([ ["parts", $a([_3I])], ["ex", $a(["312n"])], ["req", $a([$a([$a(["01"]), $a(["02"])])])] ]); //#638 var _3R = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#650 var _3Y = new Map([ ["parts", $a([_3R])], ["ex", $a(["313n"])], ["req", $a([$a([$a(["01"]), $a(["02"])])])] ]); //#653 var _3a = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#665 var _3h = new Map([ ["parts", $a([_3a])], ["ex", $a(["314n"])], ["req", $a([$a([$a(["01"]), $a(["02"])])])] ]); //#668 var _3j = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#680 var _3q = new Map([ ["parts", $a([_3j])], ["ex", $a(["315n"])], ["req", $a([$a([$a(["01"]), $a(["02"])])])] ]); //#683 var _3s = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#695 var _3z = new Map([ ["parts", $a([_3s])], ["ex", $a(["316n"])], ["req", $a([$a([$a(["01"]), $a(["02"])])])] ]); //#698 var _41 = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#710 var _48 = new Map([ ["parts", $a([_41])], ["ex", $a(["320n"])], ["req", $a([$a([$a(["01"]), $a(["02"])])])] ]); //#713 var _4A = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#725 var _4H = new Map([ ["parts", $a([_4A])], ["ex", $a(["321n"])], ["req", $a([$a([$a(["01"]), $a(["02"])])])] ]); //#728 var _4J = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#740 var _4Q = new Map([ ["parts", $a([_4J])], ["ex", $a(["322n"])], ["req", $a([$a([$a(["01"]), $a(["02"])])])] ]); //#743 var _4S = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#755 var _4Z = new Map([ ["parts", $a([_4S])], ["ex", $a(["323n"])], ["req", $a([$a([$a(["01"]), $a(["02"])])])] ]); //#758 var _4b = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#770 var _4i = new Map([ ["parts", $a([_4b])], ["ex", $a(["324n"])], ["req", $a([$a([$a(["01"]), $a(["02"])])])] ]); //#773 var _4k = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#785 var _4r = new Map([ ["parts", $a([_4k])], ["ex", $a(["325n"])], ["req", $a([$a([$a(["01"]), $a(["02"])])])] ]); //#788 var _4t = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#800 var _50 = new Map([ ["parts", $a([_4t])], ["ex", $a(["326n"])], ["req", $a([$a([$a(["01"]), $a(["02"])])])] ]); //#803 var _52 = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#815 var _59 = new Map([ ["parts", $a([_52])], ["ex", $a(["327n"])], ["req", $a([$a([$a(["01"]), $a(["02"])])])] ]); //#818 var _5B = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#830 var _5I = new Map([ ["parts", $a([_5B])], ["ex", $a(["328n"])], ["req", $a([$a([$a(["01"]), $a(["02"])])])] ]); //#833 var _5K = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#845 var _5R = new Map([ ["parts", $a([_5K])], ["ex", $a(["329n"])], ["req", $a([$a([$a(["01"]), $a(["02"])])])] ]); //#848 var _5T = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#860 var _5a = new Map([ ["parts", $a([_5T])], ["ex", $a(["330n"])], ["req", $a([$a([$a(["00"]), $a(["01"])])])] ]); //#863 var _5c = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#875 var _5j = new Map([ ["parts", $a([_5c])], ["ex", $a(["331n"])], ["req", $a([$a([$a(["00"]), $a(["01"])])])] ]); //#878 var _5l = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#890 var _5s = new Map([ ["parts", $a([_5l])], ["ex", $a(["332n"])], ["req", $a([$a([$a(["00"]), $a(["01"])])])] ]); //#893 var _5u = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#905 var _61 = new Map([ ["parts", $a([_5u])], ["ex", $a(["333n"])], ["req", $a([$a([$a(["00"]), $a(["01"])])])] ]); //#908 var _63 = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#920 var _6A = new Map([ ["parts", $a([_63])], ["ex", $a(["334n"])], ["req", $a([$a([$a(["00"]), $a(["01"])])])] ]); //#923 var _6C = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#935 var _6J = new Map([ ["parts", $a([_6C])], ["ex", $a(["335n"])], ["req", $a([$a([$a(["00"]), $a(["01"])])])] ]); //#938 var _6L = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#950 var _6S = new Map([ ["parts", $a([_6L])], ["ex", $a(["336n"])], ["req", $a([$a([$a(["00"]), $a(["01"])])])] ]); //#953 var _6U = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#965 var _6a = new Map([ ["parts", $a([_6U])], ["ex", $a(["337n"])], ["req", $a([$a([$a(["01"])])])] ]); //#968 var _6c = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#980 var _6j = new Map([ ["parts", $a([_6c])], ["ex", $a(["340n"])], ["req", $a([$a([$a(["00"]), $a(["01"])])])] ]); //#983 var _6l = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#995 var _6s = new Map([ ["parts", $a([_6l])], ["ex", $a(["341n"])], ["req", $a([$a([$a(["00"]), $a(["01"])])])] ]); //#998 var _6u = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#1010 var _71 = new Map([ ["parts", $a([_6u])], ["ex", $a(["342n"])], ["req", $a([$a([$a(["00"]), $a(["01"])])])] ]); //#1013 var _73 = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#1025 var _7A = new Map([ ["parts", $a([_73])], ["ex", $a(["343n"])], ["req", $a([$a([$a(["00"]), $a(["01"])])])] ]); //#1028 var _7C = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#1040 var _7J = new Map([ ["parts", $a([_7C])], ["ex", $a(["344n"])], ["req", $a([$a([$a(["00"]), $a(["01"])])])] ]); //#1043 var _7L = new Map([ ["cset", 'N'], ["min", 6], ["max", 6], ["opt", false], ["linters", $a([])] ]); //#1055 var _7S = new Map([ ["parts", $a([_7L])], ["ex", $a(["345n"])], ["req", $a([$a(