{"version":3,"file":"vendors-ec56e1dc.f584a1446b2fc034d810.bundle.js","mappings":"AACA","sources":["webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/ArgumentException.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/ArithmeticException.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/ArrayIndexOutOfBoundsException.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/BarcodeFormat.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/Binarizer.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/BinaryBitmap.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/ChecksumException.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/DecodeHintType.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/EncodeHintType.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/Exception.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/FormatException.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/IllegalArgumentException.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/IllegalStateException.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/IndexOutOfBoundsException.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/InvertedLuminanceSource.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/LuminanceSource.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/MultiFormatReader.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/MultiFormatWriter.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/NotFoundException.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/NullPointerException.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/OutOfMemoryError.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/PlanarYUVLuminanceSource.js","webpack://lernplattform-admin-frontend/../common/node_modules/@zxing/library/esm/core/RGBLuminanceSource.js"],"sourcesContent":["var __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar ArgumentException = /** @class */ (function (_super) {\n    __extends(ArgumentException, _super);\n    function ArgumentException() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    ArgumentException.kind = 'ArgumentException';\n    return ArgumentException;\n}(Exception));\nexport default ArgumentException;\n","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar ArithmeticException = /** @class */ (function (_super) {\n    __extends(ArithmeticException, _super);\n    function ArithmeticException() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    ArithmeticException.kind = 'ArithmeticException';\n    return ArithmeticException;\n}(Exception));\nexport default ArithmeticException;\n","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nimport IndexOutOfBoundsException from './IndexOutOfBoundsException';\n/**\n * Custom Error class of type Exception.\n */\nvar ArrayIndexOutOfBoundsException = /** @class */ (function (_super) {\n    __extends(ArrayIndexOutOfBoundsException, _super);\n    function ArrayIndexOutOfBoundsException(index, message) {\n        if (index === void 0) { index = undefined; }\n        if (message === void 0) { message = undefined; }\n        var _this = _super.call(this, message) || this;\n        _this.index = index;\n        _this.message = message;\n        return _this;\n    }\n    ArrayIndexOutOfBoundsException.kind = 'ArrayIndexOutOfBoundsException';\n    return ArrayIndexOutOfBoundsException;\n}(IndexOutOfBoundsException));\nexport default ArrayIndexOutOfBoundsException;\n","/*\n * Direct port to TypeScript of ZXing by Adrian Toșcă\n */\n/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing {*/\n/**\n * Enumerates barcode formats known to this package. Please keep alphabetized.\n *\n * @author Sean Owen\n */\nvar BarcodeFormat;\n(function (BarcodeFormat) {\n    /** Aztec 2D barcode format. */\n    BarcodeFormat[BarcodeFormat[\"AZTEC\"] = 0] = \"AZTEC\";\n    /** CODABAR 1D format. */\n    BarcodeFormat[BarcodeFormat[\"CODABAR\"] = 1] = \"CODABAR\";\n    /** Code 39 1D format. */\n    BarcodeFormat[BarcodeFormat[\"CODE_39\"] = 2] = \"CODE_39\";\n    /** Code 93 1D format. */\n    BarcodeFormat[BarcodeFormat[\"CODE_93\"] = 3] = \"CODE_93\";\n    /** Code 128 1D format. */\n    BarcodeFormat[BarcodeFormat[\"CODE_128\"] = 4] = \"CODE_128\";\n    /** Data Matrix 2D barcode format. */\n    BarcodeFormat[BarcodeFormat[\"DATA_MATRIX\"] = 5] = \"DATA_MATRIX\";\n    /** EAN-8 1D format. */\n    BarcodeFormat[BarcodeFormat[\"EAN_8\"] = 6] = \"EAN_8\";\n    /** EAN-13 1D format. */\n    BarcodeFormat[BarcodeFormat[\"EAN_13\"] = 7] = \"EAN_13\";\n    /** ITF (Interleaved Two of Five) 1D format. */\n    BarcodeFormat[BarcodeFormat[\"ITF\"] = 8] = \"ITF\";\n    /** MaxiCode 2D barcode format. */\n    BarcodeFormat[BarcodeFormat[\"MAXICODE\"] = 9] = \"MAXICODE\";\n    /** PDF417 format. */\n    BarcodeFormat[BarcodeFormat[\"PDF_417\"] = 10] = \"PDF_417\";\n    /** QR Code 2D barcode format. */\n    BarcodeFormat[BarcodeFormat[\"QR_CODE\"] = 11] = \"QR_CODE\";\n    /** RSS 14 */\n    BarcodeFormat[BarcodeFormat[\"RSS_14\"] = 12] = \"RSS_14\";\n    /** RSS EXPANDED */\n    BarcodeFormat[BarcodeFormat[\"RSS_EXPANDED\"] = 13] = \"RSS_EXPANDED\";\n    /** UPC-A 1D format. */\n    BarcodeFormat[BarcodeFormat[\"UPC_A\"] = 14] = \"UPC_A\";\n    /** UPC-E 1D format. */\n    BarcodeFormat[BarcodeFormat[\"UPC_E\"] = 15] = \"UPC_E\";\n    /** UPC/EAN extension format. Not a stand-alone format. */\n    BarcodeFormat[BarcodeFormat[\"UPC_EAN_EXTENSION\"] = 16] = \"UPC_EAN_EXTENSION\";\n})(BarcodeFormat || (BarcodeFormat = {}));\nexport default BarcodeFormat;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * This class hierarchy provides a set of methods to convert luminance data to 1 bit data.\n * It allows the algorithm to vary polymorphically, for example allowing a very expensive\n * thresholding technique for servers and a fast one for mobile. It also permits the implementation\n * to vary, e.g. a JNI version for Android and a Java fallback version for other platforms.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar Binarizer = /** @class */ (function () {\n    function Binarizer(source) {\n        this.source = source;\n    }\n    Binarizer.prototype.getLuminanceSource = function () {\n        return this.source;\n    };\n    Binarizer.prototype.getWidth = function () {\n        return this.source.getWidth();\n    };\n    Binarizer.prototype.getHeight = function () {\n        return this.source.getHeight();\n    };\n    return Binarizer;\n}());\nexport default Binarizer;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport IllegalArgumentException from './IllegalArgumentException';\nvar BinaryBitmap = /** @class */ (function () {\n    function BinaryBitmap(binarizer) {\n        this.binarizer = binarizer;\n        if (binarizer === null) {\n            throw new IllegalArgumentException('Binarizer must be non-null.');\n        }\n    }\n    /**\n     * @return The width of the bitmap.\n     */\n    BinaryBitmap.prototype.getWidth = function () {\n        return this.binarizer.getWidth();\n    };\n    /**\n     * @return The height of the bitmap.\n     */\n    BinaryBitmap.prototype.getHeight = function () {\n        return this.binarizer.getHeight();\n    };\n    /**\n     * Converts one row of luminance data to 1 bit data. May actually do the conversion, or return\n     * cached data. Callers should assume this method is expensive and call it as seldom as possible.\n     * This method is intended for decoding 1D barcodes and may choose to apply sharpening.\n     *\n     * @param y The row to fetch, which must be in [0, bitmap height)\n     * @param row An optional preallocated array. If null or too small, it will be ignored.\n     *            If used, the Binarizer will call BitArray.clear(). Always use the returned object.\n     * @return The array of bits for this row (true means black).\n     * @throws NotFoundException if row can't be binarized\n     */\n    BinaryBitmap.prototype.getBlackRow = function (y /*int*/, row) {\n        return this.binarizer.getBlackRow(y, row);\n    };\n    /**\n     * Converts a 2D array of luminance data to 1 bit. As above, assume this method is expensive\n     * and do not call it repeatedly. This method is intended for decoding 2D barcodes and may or\n     * may not apply sharpening. Therefore, a row from this matrix may not be identical to one\n     * fetched using getBlackRow(), so don't mix and match between them.\n     *\n     * @return The 2D array of bits for the image (true means black).\n     * @throws NotFoundException if image can't be binarized to make a matrix\n     */\n    BinaryBitmap.prototype.getBlackMatrix = function () {\n        // The matrix is created on demand the first time it is requested, then cached. There are two\n        // reasons for this:\n        // 1. This work will never be done if the caller only installs 1D Reader objects, or if a\n        //    1D Reader finds a barcode before the 2D Readers run.\n        // 2. This work will only be done once even if the caller installs multiple 2D Readers.\n        if (this.matrix === null || this.matrix === undefined) {\n            this.matrix = this.binarizer.getBlackMatrix();\n        }\n        return this.matrix;\n    };\n    /**\n     * @return Whether this bitmap can be cropped.\n     */\n    BinaryBitmap.prototype.isCropSupported = function () {\n        return this.binarizer.getLuminanceSource().isCropSupported();\n    };\n    /**\n     * Returns a new object with cropped image data. Implementations may keep a reference to the\n     * original data rather than a copy. Only callable if isCropSupported() is true.\n     *\n     * @param left The left coordinate, which must be in [0,getWidth())\n     * @param top The top coordinate, which must be in [0,getHeight())\n     * @param width The width of the rectangle to crop.\n     * @param height The height of the rectangle to crop.\n     * @return A cropped version of this object.\n     */\n    BinaryBitmap.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n        var newSource = this.binarizer.getLuminanceSource().crop(left, top, width, height);\n        return new BinaryBitmap(this.binarizer.createBinarizer(newSource));\n    };\n    /**\n     * @return Whether this bitmap supports counter-clockwise rotation.\n     */\n    BinaryBitmap.prototype.isRotateSupported = function () {\n        return this.binarizer.getLuminanceSource().isRotateSupported();\n    };\n    /**\n     * Returns a new object with rotated image data by 90 degrees counterclockwise.\n     * Only callable if {@link #isRotateSupported()} is true.\n     *\n     * @return A rotated version of this object.\n     */\n    BinaryBitmap.prototype.rotateCounterClockwise = function () {\n        var newSource = this.binarizer.getLuminanceSource().rotateCounterClockwise();\n        return new BinaryBitmap(this.binarizer.createBinarizer(newSource));\n    };\n    /**\n     * Returns a new object with rotated image data by 45 degrees counterclockwise.\n     * Only callable if {@link #isRotateSupported()} is true.\n     *\n     * @return A rotated version of this object.\n     */\n    BinaryBitmap.prototype.rotateCounterClockwise45 = function () {\n        var newSource = this.binarizer.getLuminanceSource().rotateCounterClockwise45();\n        return new BinaryBitmap(this.binarizer.createBinarizer(newSource));\n    };\n    /*@Override*/\n    BinaryBitmap.prototype.toString = function () {\n        try {\n            return this.getBlackMatrix().toString();\n        }\n        catch (e /*: NotFoundException*/) {\n            return '';\n        }\n    };\n    return BinaryBitmap;\n}());\nexport default BinaryBitmap;\n","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar ChecksumException = /** @class */ (function (_super) {\n    __extends(ChecksumException, _super);\n    function ChecksumException() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    ChecksumException.getChecksumInstance = function () {\n        return new ChecksumException();\n    };\n    ChecksumException.kind = 'ChecksumException';\n    return ChecksumException;\n}(Exception));\nexport default ChecksumException;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing {*/\n/**\n * Encapsulates a type of hint that a caller may pass to a barcode reader to help it\n * more quickly or accurately decode it. It is up to implementations to decide what,\n * if anything, to do with the information that is supplied.\n *\n * @author Sean Owen\n * @author dswitkin@google.com (Daniel Switkin)\n * @see Reader#decode(BinaryBitmap,java.util.Map)\n */\nvar DecodeHintType;\n(function (DecodeHintType) {\n    /**\n     * Unspecified, application-specific hint. Maps to an unspecified {@link Object}.\n     */\n    DecodeHintType[DecodeHintType[\"OTHER\"] = 0] = \"OTHER\"; /*(Object.class)*/\n    /**\n     * Image is a pure monochrome image of a barcode. Doesn't matter what it maps to;\n     * use {@link Boolean#TRUE}.\n     */\n    DecodeHintType[DecodeHintType[\"PURE_BARCODE\"] = 1] = \"PURE_BARCODE\"; /*(Void.class)*/\n    /**\n     * Image is known to be of one of a few possible formats.\n     * Maps to a {@link List} of {@link BarcodeFormat}s.\n     */\n    DecodeHintType[DecodeHintType[\"POSSIBLE_FORMATS\"] = 2] = \"POSSIBLE_FORMATS\"; /*(List.class)*/\n    /**\n     * Spend more time to try to find a barcode; optimize for accuracy, not speed.\n     * Doesn't matter what it maps to; use {@link Boolean#TRUE}.\n     */\n    DecodeHintType[DecodeHintType[\"TRY_HARDER\"] = 3] = \"TRY_HARDER\"; /*(Void.class)*/\n    /**\n     * Specifies what character encoding to use when decoding, where applicable (type String)\n     */\n    DecodeHintType[DecodeHintType[\"CHARACTER_SET\"] = 4] = \"CHARACTER_SET\"; /*(String.class)*/\n    /**\n     * Allowed lengths of encoded data -- reject anything else. Maps to an {@code Int32Array}.\n     */\n    DecodeHintType[DecodeHintType[\"ALLOWED_LENGTHS\"] = 5] = \"ALLOWED_LENGTHS\"; /*(Int32Array.class)*/\n    /**\n     * Assume Code 39 codes employ a check digit. Doesn't matter what it maps to;\n     * use {@link Boolean#TRUE}.\n     */\n    DecodeHintType[DecodeHintType[\"ASSUME_CODE_39_CHECK_DIGIT\"] = 6] = \"ASSUME_CODE_39_CHECK_DIGIT\"; /*(Void.class)*/\n    /**\n     * Assume the barcode is being processed as a GS1 barcode, and modify behavior as needed.\n     * For example this affects FNC1 handling for Code 128 (aka GS1-128). Doesn't matter what it maps to;\n     * use {@link Boolean#TRUE}.\n     */\n    DecodeHintType[DecodeHintType[\"ASSUME_GS1\"] = 7] = \"ASSUME_GS1\"; /*(Void.class)*/\n    /**\n     * If true, return the start and end digits in a Codabar barcode instead of stripping them. They\n     * are alpha, whereas the rest are numeric. By default, they are stripped, but this causes them\n     * to not be. Doesn't matter what it maps to; use {@link Boolean#TRUE}.\n     */\n    DecodeHintType[DecodeHintType[\"RETURN_CODABAR_START_END\"] = 8] = \"RETURN_CODABAR_START_END\"; /*(Void.class)*/\n    /**\n     * The caller needs to be notified via callback when a possible {@link ResultPoint}\n     * is found. Maps to a {@link ResultPointCallback}.\n     */\n    DecodeHintType[DecodeHintType[\"NEED_RESULT_POINT_CALLBACK\"] = 9] = \"NEED_RESULT_POINT_CALLBACK\"; /*(ResultPointCallback.class)*/\n    /**\n     * Allowed extension lengths for EAN or UPC barcodes. Other formats will ignore this.\n     * Maps to an {@code Int32Array} of the allowed extension lengths, for example [2], [5], or [2, 5].\n     * If it is optional to have an extension, do not set this hint. If this is set,\n     * and a UPC or EAN barcode is found but an extension is not, then no result will be returned\n     * at all.\n     */\n    DecodeHintType[DecodeHintType[\"ALLOWED_EAN_EXTENSIONS\"] = 10] = \"ALLOWED_EAN_EXTENSIONS\"; /*(Int32Array.class)*/\n    // End of enumeration values.\n    /**\n     * Data type the hint is expecting.\n     * Among the possible values the {@link Void} stands out as being used for\n     * hints that do not expect a value to be supplied (flag hints). Such hints\n     * will possibly have their value ignored, or replaced by a\n     * {@link Boolean#TRUE}. Hint suppliers should probably use\n     * {@link Boolean#TRUE} as directed by the actual hint documentation.\n     */\n    // private valueType: Class<?>\n    // DecodeHintType(valueType: Class<?>) {\n    //   this.valueType = valueType\n    // }\n    // public getValueType(): Class<?> {\n    //   return valueType\n    // }\n})(DecodeHintType || (DecodeHintType = {}));\nexport default DecodeHintType;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/*namespace com.google.zxing {*/\n/**\n * These are a set of hints that you may pass to Writers to specify their behavior.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar EncodeHintType;\n(function (EncodeHintType) {\n    /**\n     * Specifies what degree of error correction to use, for example in QR Codes.\n     * Type depends on the encoder. For example for QR codes it's type\n     * {@link com.google.zxing.qrcode.decoder.ErrorCorrectionLevel ErrorCorrectionLevel}.\n     * For Aztec it is of type {@link Integer}, representing the minimal percentage of error correction words.\n     * For PDF417 it is of type {@link Integer}, valid values being 0 to 8.\n     * In all cases, it can also be a {@link String} representation of the desired value as well.\n     * Note: an Aztec symbol should have a minimum of 25% EC words.\n     */\n    EncodeHintType[EncodeHintType[\"ERROR_CORRECTION\"] = 0] = \"ERROR_CORRECTION\";\n    /**\n     * Specifies what character encoding to use where applicable (type {@link String})\n     */\n    EncodeHintType[EncodeHintType[\"CHARACTER_SET\"] = 1] = \"CHARACTER_SET\";\n    /**\n     * Specifies the matrix shape for Data Matrix (type {@link com.google.zxing.datamatrix.encoder.SymbolShapeHint})\n     */\n    EncodeHintType[EncodeHintType[\"DATA_MATRIX_SHAPE\"] = 2] = \"DATA_MATRIX_SHAPE\";\n    /**\n     * Specifies whether to use compact mode for Data Matrix (type {@link Boolean}, or \"true\" or \"false\"\n     * {@link String } value).\n     * The compact encoding mode also supports the encoding of characters that are not in the ISO-8859-1\n     * character set via ECIs.\n     * Please note that in that case, the most compact character encoding is chosen for characters in\n     * the input that are not in the ISO-8859-1 character set. Based on experience, some scanners do not\n     * support encodings like cp-1256 (Arabic). In such cases the encoding can be forced to UTF-8 by\n     * means of the {@link #CHARACTER_SET} encoding hint.\n     * Compact encoding also provides GS1-FNC1 support when {@link #GS1_FORMAT} is selected. In this case\n     * group-separator character (ASCII 29 decimal) can be used to encode the positions of FNC1 codewords\n     * for the purpose of delimiting AIs.\n     * This option and {@link #FORCE_C40} are mutually exclusive.\n     */\n    EncodeHintType[EncodeHintType[\"DATA_MATRIX_COMPACT\"] = 3] = \"DATA_MATRIX_COMPACT\";\n    /**\n     * Specifies a minimum barcode size (type {@link Dimension}). Only applicable to Data Matrix now.\n     *\n     * @deprecated use width/height params in\n     * {@link com.google.zxing.datamatrix.DataMatrixWriter#encode(String, BarcodeFormat, int, int)}\n     */\n    /*@Deprecated*/\n    EncodeHintType[EncodeHintType[\"MIN_SIZE\"] = 4] = \"MIN_SIZE\";\n    /**\n     * Specifies a maximum barcode size (type {@link Dimension}). Only applicable to Data Matrix now.\n     *\n     * @deprecated without replacement\n     */\n    /*@Deprecated*/\n    EncodeHintType[EncodeHintType[\"MAX_SIZE\"] = 5] = \"MAX_SIZE\";\n    /**\n     * Specifies margin, in pixels, to use when generating the barcode. The meaning can vary\n     * by format; for example it controls margin before and after the barcode horizontally for\n     * most 1D formats. (Type {@link Integer}, or {@link String} representation of the integer value).\n     */\n    EncodeHintType[EncodeHintType[\"MARGIN\"] = 6] = \"MARGIN\";\n    /**\n     * Specifies whether to use compact mode for PDF417 (type {@link Boolean}, or \"true\" or \"false\"\n     * {@link String} value).\n     */\n    EncodeHintType[EncodeHintType[\"PDF417_COMPACT\"] = 7] = \"PDF417_COMPACT\";\n    /**\n     * Specifies what compaction mode to use for PDF417 (type\n     * {@link com.google.zxing.pdf417.encoder.Compaction Compaction} or {@link String} value of one of its\n     * enum values).\n     */\n    EncodeHintType[EncodeHintType[\"PDF417_COMPACTION\"] = 8] = \"PDF417_COMPACTION\";\n    /**\n     * Specifies the minimum and maximum number of rows and columns for PDF417 (type\n     * {@link com.google.zxing.pdf417.encoder.Dimensions Dimensions}).\n     */\n    EncodeHintType[EncodeHintType[\"PDF417_DIMENSIONS\"] = 9] = \"PDF417_DIMENSIONS\";\n    /**\n     * Specifies the required number of layers for an Aztec code.\n     * A negative number (-1, -2, -3, -4) specifies a compact Aztec code.\n     * 0 indicates to use the minimum number of layers (the default).\n     * A positive number (1, 2, .. 32) specifies a normal (non-compact) Aztec code.\n     * (Type {@link Integer}, or {@link String} representation of the integer value).\n     */\n    EncodeHintType[EncodeHintType[\"AZTEC_LAYERS\"] = 10] = \"AZTEC_LAYERS\";\n    /**\n     * Specifies the exact version of QR code to be encoded.\n     * (Type {@link Integer}, or {@link String} representation of the integer value).\n     */\n    EncodeHintType[EncodeHintType[\"QR_VERSION\"] = 11] = \"QR_VERSION\";\n    /**\n     * Specifies whether the data should be encoded to the GS1 standard (type {@link Boolean}, or \"true\" or \"false\"\n     * {@link String } value).\n     */\n    EncodeHintType[EncodeHintType[\"GS1_FORMAT\"] = 12] = \"GS1_FORMAT\";\n    /**\n     * Forces C40 encoding for data-matrix (type {@link Boolean}, or \"true\" or \"false\") {@link String } value). This\n     * option and {@link #DATA_MATRIX_COMPACT} are mutually exclusive.\n     */\n    EncodeHintType[EncodeHintType[\"FORCE_C40\"] = 13] = \"FORCE_C40\";\n})(EncodeHintType || (EncodeHintType = {}));\nexport default EncodeHintType;\n","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nimport { CustomError } from 'ts-custom-error';\n/**\n * Custom Error class of type Exception.\n */\nvar Exception = /** @class */ (function (_super) {\n    __extends(Exception, _super);\n    /**\n     * Allows Exception to be constructed directly\n     * with some message and prototype definition.\n     */\n    function Exception(message) {\n        if (message === void 0) { message = undefined; }\n        var _this = _super.call(this, message) || this;\n        _this.message = message;\n        return _this;\n    }\n    Exception.prototype.getKind = function () {\n        var ex = this.constructor;\n        return ex.kind;\n    };\n    /**\n     * It's typed as string so it can be extended and overriden.\n     */\n    Exception.kind = 'Exception';\n    return Exception;\n}(CustomError));\nexport default Exception;\n","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar FormatException = /** @class */ (function (_super) {\n    __extends(FormatException, _super);\n    function FormatException() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    FormatException.getFormatInstance = function () {\n        return new FormatException();\n    };\n    FormatException.kind = 'FormatException';\n    return FormatException;\n}(Exception));\nexport default FormatException;\n","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar IllegalArgumentException = /** @class */ (function (_super) {\n    __extends(IllegalArgumentException, _super);\n    function IllegalArgumentException() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    IllegalArgumentException.kind = 'IllegalArgumentException';\n    return IllegalArgumentException;\n}(Exception));\nexport default IllegalArgumentException;\n","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar IllegalStateException = /** @class */ (function (_super) {\n    __extends(IllegalStateException, _super);\n    function IllegalStateException() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    IllegalStateException.kind = 'IllegalStateException';\n    return IllegalStateException;\n}(Exception));\nexport default IllegalStateException;\n","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar IndexOutOfBoundsException = /** @class */ (function (_super) {\n    __extends(IndexOutOfBoundsException, _super);\n    function IndexOutOfBoundsException() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    IndexOutOfBoundsException.kind = 'IndexOutOfBoundsException';\n    return IndexOutOfBoundsException;\n}(Exception));\nexport default IndexOutOfBoundsException;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nimport LuminanceSource from './LuminanceSource';\n/*namespace com.google.zxing {*/\n/**\n * A wrapper implementation of {@link LuminanceSource} which inverts the luminances it returns -- black becomes\n * white and vice versa, and each value becomes (255-value).\n *\n * @author Sean Owen\n */\nvar InvertedLuminanceSource = /** @class */ (function (_super) {\n    __extends(InvertedLuminanceSource, _super);\n    function InvertedLuminanceSource(delegate) {\n        var _this = _super.call(this, delegate.getWidth(), delegate.getHeight()) || this;\n        _this.delegate = delegate;\n        return _this;\n    }\n    /*@Override*/\n    InvertedLuminanceSource.prototype.getRow = function (y /*int*/, row) {\n        var sourceRow = this.delegate.getRow(y, row);\n        var width = this.getWidth();\n        for (var i = 0; i < width; i++) {\n            sourceRow[i] = /*(byte)*/ (255 - (sourceRow[i] & 0xFF));\n        }\n        return sourceRow;\n    };\n    /*@Override*/\n    InvertedLuminanceSource.prototype.getMatrix = function () {\n        var matrix = this.delegate.getMatrix();\n        var length = this.getWidth() * this.getHeight();\n        var invertedMatrix = new Uint8ClampedArray(length);\n        for (var i = 0; i < length; i++) {\n            invertedMatrix[i] = /*(byte)*/ (255 - (matrix[i] & 0xFF));\n        }\n        return invertedMatrix;\n    };\n    /*@Override*/\n    InvertedLuminanceSource.prototype.isCropSupported = function () {\n        return this.delegate.isCropSupported();\n    };\n    /*@Override*/\n    InvertedLuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n        return new InvertedLuminanceSource(this.delegate.crop(left, top, width, height));\n    };\n    /*@Override*/\n    InvertedLuminanceSource.prototype.isRotateSupported = function () {\n        return this.delegate.isRotateSupported();\n    };\n    /**\n     * @return original delegate {@link LuminanceSource} since invert undoes itself\n     */\n    /*@Override*/\n    InvertedLuminanceSource.prototype.invert = function () {\n        return this.delegate;\n    };\n    /*@Override*/\n    InvertedLuminanceSource.prototype.rotateCounterClockwise = function () {\n        return new InvertedLuminanceSource(this.delegate.rotateCounterClockwise());\n    };\n    /*@Override*/\n    InvertedLuminanceSource.prototype.rotateCounterClockwise45 = function () {\n        return new InvertedLuminanceSource(this.delegate.rotateCounterClockwise45());\n    };\n    return InvertedLuminanceSource;\n}(LuminanceSource));\nexport default InvertedLuminanceSource;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport StringBuilder from './util/StringBuilder';\nimport UnsupportedOperationException from './UnsupportedOperationException';\n/*namespace com.google.zxing {*/\n/**\n * The purpose of this class hierarchy is to abstract different bitmap implementations across\n * platforms into a standard interface for requesting greyscale luminance values. The interface\n * only provides immutable methods; therefore crop and rotation create copies. This is to ensure\n * that one Reader does not modify the original luminance source and leave it in an unknown state\n * for other Readers in the chain.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar LuminanceSource = /** @class */ (function () {\n    function LuminanceSource(width /*int*/, height /*int*/) {\n        this.width = width;\n        this.height = height;\n    }\n    /**\n     * @return The width of the bitmap.\n     */\n    LuminanceSource.prototype.getWidth = function () {\n        return this.width;\n    };\n    /**\n     * @return The height of the bitmap.\n     */\n    LuminanceSource.prototype.getHeight = function () {\n        return this.height;\n    };\n    /**\n     * @return Whether this subclass supports cropping.\n     */\n    LuminanceSource.prototype.isCropSupported = function () {\n        return false;\n    };\n    /**\n     * Returns a new object with cropped image data. Implementations may keep a reference to the\n     * original data rather than a copy. Only callable if isCropSupported() is true.\n     *\n     * @param left The left coordinate, which must be in [0,getWidth())\n     * @param top The top coordinate, which must be in [0,getHeight())\n     * @param width The width of the rectangle to crop.\n     * @param height The height of the rectangle to crop.\n     * @return A cropped version of this object.\n     */\n    LuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n        throw new UnsupportedOperationException('This luminance source does not support cropping.');\n    };\n    /**\n     * @return Whether this subclass supports counter-clockwise rotation.\n     */\n    LuminanceSource.prototype.isRotateSupported = function () {\n        return false;\n    };\n    /**\n     * Returns a new object with rotated image data by 90 degrees counterclockwise.\n     * Only callable if {@link #isRotateSupported()} is true.\n     *\n     * @return A rotated version of this object.\n     */\n    LuminanceSource.prototype.rotateCounterClockwise = function () {\n        throw new UnsupportedOperationException('This luminance source does not support rotation by 90 degrees.');\n    };\n    /**\n     * Returns a new object with rotated image data by 45 degrees counterclockwise.\n     * Only callable if {@link #isRotateSupported()} is true.\n     *\n     * @return A rotated version of this object.\n     */\n    LuminanceSource.prototype.rotateCounterClockwise45 = function () {\n        throw new UnsupportedOperationException('This luminance source does not support rotation by 45 degrees.');\n    };\n    /*@Override*/\n    LuminanceSource.prototype.toString = function () {\n        var row = new Uint8ClampedArray(this.width);\n        var result = new StringBuilder();\n        for (var y = 0; y < this.height; y++) {\n            var sourceRow = this.getRow(y, row);\n            for (var x = 0; x < this.width; x++) {\n                var luminance = sourceRow[x] & 0xFF;\n                var c = void 0;\n                if (luminance < 0x40) {\n                    c = '#';\n                }\n                else if (luminance < 0x80) {\n                    c = '+';\n                }\n                else if (luminance < 0xC0) {\n                    c = '.';\n                }\n                else {\n                    c = ' ';\n                }\n                result.append(c);\n            }\n            result.append('\\n');\n        }\n        return result.toString();\n    };\n    return LuminanceSource;\n}());\nexport default LuminanceSource;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __values = (this && this.__values) || function(o) {\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n    if (m) return m.call(o);\n    if (o && typeof o.length === \"number\") return {\n        next: function () {\n            if (o && i >= o.length) o = void 0;\n            return { value: o && o[i++], done: !o };\n        }\n    };\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport DecodeHintType from './DecodeHintType';\nimport BarcodeFormat from './BarcodeFormat';\nimport QRCodeReader from './qrcode/QRCodeReader';\nimport AztecReader from './aztec/AztecReader';\nimport MultiFormatOneDReader from './oned/MultiFormatOneDReader';\nimport DataMatrixReader from './datamatrix/DataMatrixReader';\nimport NotFoundException from './NotFoundException';\nimport PDF417Reader from './pdf417/PDF417Reader';\nimport ReaderException from './ReaderException';\n/*namespace com.google.zxing {*/\n/**\n * MultiFormatReader is a convenience class and the main entry point into the library for most uses.\n * By default it attempts to decode all barcode formats that the library supports. Optionally, you\n * can provide a hints object to request different behavior, for example only decoding QR codes.\n *\n * @author Sean Owen\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar MultiFormatReader = /** @class */ (function () {\n    function MultiFormatReader() {\n    }\n    /**\n     * This version of decode honors the intent of Reader.decode(BinaryBitmap) in that it\n     * passes null as a hint to the decoders. However, that makes it inefficient to call repeatedly.\n     * Use setHints() followed by decodeWithState() for continuous scan applications.\n     *\n     * @param image The pixel data to decode\n     * @return The contents of the image\n     *\n     * @throws NotFoundException Any errors which occurred\n     */\n    /*@Override*/\n    // public decode(image: BinaryBitmap): Result {\n    //   setHints(null)\n    //   return decodeInternal(image)\n    // }\n    /**\n     * Decode an image using the hints provided. Does not honor existing state.\n     *\n     * @param image The pixel data to decode\n     * @param hints The hints to use, clearing the previous state.\n     * @return The contents of the image\n     *\n     * @throws NotFoundException Any errors which occurred\n     */\n    /*@Override*/\n    MultiFormatReader.prototype.decode = function (image, hints) {\n        this.setHints(hints);\n        return this.decodeInternal(image);\n    };\n    /**\n     * Decode an image using the state set up by calling setHints() previously. Continuous scan\n     * clients will get a <b>large</b> speed increase by using this instead of decode().\n     *\n     * @param image The pixel data to decode\n     * @return The contents of the image\n     *\n     * @throws NotFoundException Any errors which occurred\n     */\n    MultiFormatReader.prototype.decodeWithState = function (image) {\n        // Make sure to set up the default state so we don't crash\n        if (this.readers === null || this.readers === undefined) {\n            this.setHints(null);\n        }\n        return this.decodeInternal(image);\n    };\n    /**\n     * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls\n     * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This\n     * is important for performance in continuous scan clients.\n     *\n     * @param hints The set of hints to use for subsequent calls to decode(image)\n     */\n    MultiFormatReader.prototype.setHints = function (hints) {\n        this.hints = hints;\n        var tryHarder = hints !== null && hints !== undefined && undefined !== hints.get(DecodeHintType.TRY_HARDER);\n        /*@SuppressWarnings(\"unchecked\")*/\n        var formats = hints === null || hints === undefined ? null : hints.get(DecodeHintType.POSSIBLE_FORMATS);\n        var readers = new Array();\n        if (formats !== null && formats !== undefined) {\n            var addOneDReader = formats.some(function (f) {\n                return f === BarcodeFormat.UPC_A ||\n                    f === BarcodeFormat.UPC_E ||\n                    f === BarcodeFormat.EAN_13 ||\n                    f === BarcodeFormat.EAN_8 ||\n                    f === BarcodeFormat.CODABAR ||\n                    f === BarcodeFormat.CODE_39 ||\n                    f === BarcodeFormat.CODE_93 ||\n                    f === BarcodeFormat.CODE_128 ||\n                    f === BarcodeFormat.ITF ||\n                    f === BarcodeFormat.RSS_14 ||\n                    f === BarcodeFormat.RSS_EXPANDED;\n            });\n            // Put 1D readers upfront in \"normal\" mode\n            // TYPESCRIPTPORT: TODO: uncomment below as they are ported\n            if (addOneDReader && !tryHarder) {\n                readers.push(new MultiFormatOneDReader(hints));\n            }\n            if (formats.includes(BarcodeFormat.QR_CODE)) {\n                readers.push(new QRCodeReader());\n            }\n            if (formats.includes(BarcodeFormat.DATA_MATRIX)) {\n                readers.push(new DataMatrixReader());\n            }\n            if (formats.includes(BarcodeFormat.AZTEC)) {\n                readers.push(new AztecReader());\n            }\n            if (formats.includes(BarcodeFormat.PDF_417)) {\n                readers.push(new PDF417Reader());\n            }\n            // if (formats.includes(BarcodeFormat.MAXICODE)) {\n            //    readers.push(new MaxiCodeReader())\n            // }\n            // At end in \"try harder\" mode\n            if (addOneDReader && tryHarder) {\n                readers.push(new MultiFormatOneDReader(hints));\n            }\n        }\n        if (readers.length === 0) {\n            if (!tryHarder) {\n                readers.push(new MultiFormatOneDReader(hints));\n            }\n            readers.push(new QRCodeReader());\n            readers.push(new DataMatrixReader());\n            readers.push(new AztecReader());\n            readers.push(new PDF417Reader());\n            // readers.push(new MaxiCodeReader())\n            if (tryHarder) {\n                readers.push(new MultiFormatOneDReader(hints));\n            }\n        }\n        this.readers = readers; // .toArray(new Reader[readers.size()])\n    };\n    /*@Override*/\n    MultiFormatReader.prototype.reset = function () {\n        var e_1, _a;\n        if (this.readers !== null) {\n            try {\n                for (var _b = __values(this.readers), _c = _b.next(); !_c.done; _c = _b.next()) {\n                    var reader = _c.value;\n                    reader.reset();\n                }\n            }\n            catch (e_1_1) { e_1 = { error: e_1_1 }; }\n            finally {\n                try {\n                    if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n                }\n                finally { if (e_1) throw e_1.error; }\n            }\n        }\n    };\n    /**\n     * @throws NotFoundException\n     */\n    MultiFormatReader.prototype.decodeInternal = function (image) {\n        var e_2, _a;\n        if (this.readers === null) {\n            throw new ReaderException('No readers where selected, nothing can be read.');\n        }\n        try {\n            for (var _b = __values(this.readers), _c = _b.next(); !_c.done; _c = _b.next()) {\n                var reader = _c.value;\n                // Trying to decode with ${reader} reader.\n                try {\n                    return reader.decode(image, this.hints);\n                }\n                catch (ex) {\n                    if (ex instanceof ReaderException) {\n                        continue;\n                    }\n                    // Bad Exception.\n                }\n            }\n        }\n        catch (e_2_1) { e_2 = { error: e_2_1 }; }\n        finally {\n            try {\n                if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n            }\n            finally { if (e_2) throw e_2.error; }\n        }\n        throw new NotFoundException('No MultiFormat Readers were able to detect the code.');\n    };\n    return MultiFormatReader;\n}());\nexport default MultiFormatReader;\n","/*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// import DataMatrixWriter from './datamatrix/DataMatrixWriter'\n// import CodaBarWriter from './oned/CodaBarWriter'\n// import Code128Writer from './oned/Code128Writer'\n// import Code39Writer from './oned/Code39Writer'\n// import Code93Writer from './oned/Code93Writer'\n// import EAN13Writer from './oned/EAN13Writer'\n// import EAN8Writer from './oned/EAN8Writer'\n// import ITFWriter from './oned/ITFWriter'\n// import UPCAWriter from './oned/UPCAWriter'\n// import UPCEWriter from './oned/UPCEWriter'\n// import PDF417Writer from './pdf417/PDF417Writer'\nimport QRCodeWriter from './qrcode/QRCodeWriter';\nimport BarcodeFormat from './BarcodeFormat';\nimport IllegalArgumentException from './IllegalArgumentException';\n/*import java.util.Map;*/\n/**\n * This is a factory class which finds the appropriate Writer subclass for the BarcodeFormat\n * requested and encodes the barcode with the supplied contents.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar MultiFormatWriter = /** @class */ (function () {\n    function MultiFormatWriter() {\n    }\n    /*@Override*/\n    // public encode(contents: string,\n    //                         format: BarcodeFormat,\n    //                         width: number /*int*/,\n    //                         height: number /*int*/): BitMatrix /*throws WriterException */ {\n    //   return encode(contents, format, width, height, null)\n    // }\n    /*@Override*/\n    MultiFormatWriter.prototype.encode = function (contents, format, width /*int*/, height /*int*/, hints) {\n        var writer;\n        switch (format) {\n            // case BarcodeFormat.EAN_8:\n            //   writer = new EAN8Writer()\n            //   break\n            // case BarcodeFormat.UPC_E:\n            //   writer = new UPCEWriter()\n            //   break\n            // case BarcodeFormat.EAN_13:\n            //   writer = new EAN13Writer()\n            //   break\n            // case BarcodeFormat.UPC_A:\n            //   writer = new UPCAWriter()\n            //   break\n            case BarcodeFormat.QR_CODE:\n                writer = new QRCodeWriter();\n                break;\n            // case BarcodeFormat.CODE_39:\n            //   writer = new Code39Writer()\n            //   break\n            // case BarcodeFormat.CODE_93:\n            //   writer = new Code93Writer()\n            //   break\n            // case BarcodeFormat.CODE_128:\n            //   writer = new Code128Writer()\n            //   break\n            // case BarcodeFormat.ITF:\n            //   writer = new ITFWriter()\n            //   break\n            // case BarcodeFormat.PDF_417:\n            //   writer = new PDF417Writer()\n            //   break\n            // case BarcodeFormat.CODABAR:\n            //   writer = new CodaBarWriter()\n            //   break\n            // case BarcodeFormat.DATA_MATRIX:\n            //   writer = new DataMatrixWriter()\n            //   break\n            // case BarcodeFormat.AZTEC:\n            //   writer = new AztecWriter()\n            //   break\n            default:\n                throw new IllegalArgumentException('No encoder available for format ' + format);\n        }\n        return writer.encode(contents, format, width, height, hints);\n    };\n    return MultiFormatWriter;\n}());\nexport default MultiFormatWriter;\n","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar NotFoundException = /** @class */ (function (_super) {\n    __extends(NotFoundException, _super);\n    function NotFoundException() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    NotFoundException.getNotFoundInstance = function () {\n        return new NotFoundException();\n    };\n    NotFoundException.kind = 'NotFoundException';\n    return NotFoundException;\n}(Exception));\nexport default NotFoundException;\n","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar NullPointerException = /** @class */ (function (_super) {\n    __extends(NullPointerException, _super);\n    function NullPointerException() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    NullPointerException.kind = 'NullPointerException';\n    return NullPointerException;\n}(Exception));\nexport default NullPointerException;\n","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nimport Exception from './Exception';\n/**\n * Custom Error class of type Exception.\n */\nvar OutOfMemoryError = /** @class */ (function (_super) {\n    __extends(OutOfMemoryError, _super);\n    function OutOfMemoryError() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    return OutOfMemoryError;\n}(Exception));\nexport default OutOfMemoryError;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n/*namespace com.google.zxing {*/\nimport System from './util/System';\nimport LuminanceSource from './LuminanceSource';\nimport InvertedLuminanceSource from './InvertedLuminanceSource';\nimport IllegalArgumentException from './IllegalArgumentException';\n/**\n * This object extends LuminanceSource around an array of YUV data returned from the camera driver,\n * with the option to crop to a rectangle within the full data. This can be used to exclude\n * superfluous pixels around the perimeter and speed up decoding.\n *\n * It works for any pixel format where the Y channel is planar and appears first, including\n * YCbCr_420_SP and YCbCr_422_SP.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\nvar PlanarYUVLuminanceSource = /** @class */ (function (_super) {\n    __extends(PlanarYUVLuminanceSource, _super);\n    function PlanarYUVLuminanceSource(yuvData, dataWidth /*int*/, dataHeight /*int*/, left /*int*/, top /*int*/, width /*int*/, height /*int*/, reverseHorizontal) {\n        var _this = _super.call(this, width, height) || this;\n        _this.yuvData = yuvData;\n        _this.dataWidth = dataWidth;\n        _this.dataHeight = dataHeight;\n        _this.left = left;\n        _this.top = top;\n        if (left + width > dataWidth || top + height > dataHeight) {\n            throw new IllegalArgumentException('Crop rectangle does not fit within image data.');\n        }\n        if (reverseHorizontal) {\n            _this.reverseHorizontal(width, height);\n        }\n        return _this;\n    }\n    /*@Override*/\n    PlanarYUVLuminanceSource.prototype.getRow = function (y /*int*/, row) {\n        if (y < 0 || y >= this.getHeight()) {\n            throw new IllegalArgumentException('Requested row is outside the image: ' + y);\n        }\n        var width = this.getWidth();\n        if (row === null || row === undefined || row.length < width) {\n            row = new Uint8ClampedArray(width);\n        }\n        var offset = (y + this.top) * this.dataWidth + this.left;\n        System.arraycopy(this.yuvData, offset, row, 0, width);\n        return row;\n    };\n    /*@Override*/\n    PlanarYUVLuminanceSource.prototype.getMatrix = function () {\n        var width = this.getWidth();\n        var height = this.getHeight();\n        // If the caller asks for the entire underlying image, save the copy and give them the\n        // original data. The docs specifically warn that result.length must be ignored.\n        if (width === this.dataWidth && height === this.dataHeight) {\n            return this.yuvData;\n        }\n        var area = width * height;\n        var matrix = new Uint8ClampedArray(area);\n        var inputOffset = this.top * this.dataWidth + this.left;\n        // If the width matches the full width of the underlying data, perform a single copy.\n        if (width === this.dataWidth) {\n            System.arraycopy(this.yuvData, inputOffset, matrix, 0, area);\n            return matrix;\n        }\n        // Otherwise copy one cropped row at a time.\n        for (var y = 0; y < height; y++) {\n            var outputOffset = y * width;\n            System.arraycopy(this.yuvData, inputOffset, matrix, outputOffset, width);\n            inputOffset += this.dataWidth;\n        }\n        return matrix;\n    };\n    /*@Override*/\n    PlanarYUVLuminanceSource.prototype.isCropSupported = function () {\n        return true;\n    };\n    /*@Override*/\n    PlanarYUVLuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n        return new PlanarYUVLuminanceSource(this.yuvData, this.dataWidth, this.dataHeight, this.left + left, this.top + top, width, height, false);\n    };\n    PlanarYUVLuminanceSource.prototype.renderThumbnail = function () {\n        var width = this.getWidth() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n        var height = this.getHeight() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n        var pixels = new Int32Array(width * height);\n        var yuv = this.yuvData;\n        var inputOffset = this.top * this.dataWidth + this.left;\n        for (var y = 0; y < height; y++) {\n            var outputOffset = y * width;\n            for (var x = 0; x < width; x++) {\n                var grey = yuv[inputOffset + x * PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR] & 0xff;\n                pixels[outputOffset + x] = 0xFF000000 | (grey * 0x00010101);\n            }\n            inputOffset += this.dataWidth * PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n        }\n        return pixels;\n    };\n    /**\n     * @return width of image from {@link #renderThumbnail()}\n     */\n    PlanarYUVLuminanceSource.prototype.getThumbnailWidth = function () {\n        return this.getWidth() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n    };\n    /**\n     * @return height of image from {@link #renderThumbnail()}\n     */\n    PlanarYUVLuminanceSource.prototype.getThumbnailHeight = function () {\n        return this.getHeight() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n    };\n    PlanarYUVLuminanceSource.prototype.reverseHorizontal = function (width /*int*/, height /*int*/) {\n        var yuvData = this.yuvData;\n        for (var y = 0, rowStart = this.top * this.dataWidth + this.left; y < height; y++, rowStart += this.dataWidth) {\n            var middle = rowStart + width / 2;\n            for (var x1 = rowStart, x2 = rowStart + width - 1; x1 < middle; x1++, x2--) {\n                var temp = yuvData[x1];\n                yuvData[x1] = yuvData[x2];\n                yuvData[x2] = temp;\n            }\n        }\n    };\n    PlanarYUVLuminanceSource.prototype.invert = function () {\n        return new InvertedLuminanceSource(this);\n    };\n    PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR = 2;\n    return PlanarYUVLuminanceSource;\n}(LuminanceSource));\nexport default PlanarYUVLuminanceSource;\n","/*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\n/*namespace com.google.zxing {*/\nimport './InvertedLuminanceSource'; // required because of circular dependencies between LuminanceSource and InvertedLuminanceSource\nimport InvertedLuminanceSource from './InvertedLuminanceSource';\nimport LuminanceSource from './LuminanceSource';\nimport System from './util/System';\nimport IllegalArgumentException from './IllegalArgumentException';\n/**\n * This class is used to help decode images from files which arrive as RGB data from\n * an ARGB pixel array. It does not support rotation.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Betaminos\n */\nvar RGBLuminanceSource = /** @class */ (function (_super) {\n    __extends(RGBLuminanceSource, _super);\n    function RGBLuminanceSource(luminances, width /*int*/, height /*int*/, dataWidth /*int*/, dataHeight /*int*/, left /*int*/, top /*int*/) {\n        var _this = _super.call(this, width, height) || this;\n        _this.dataWidth = dataWidth;\n        _this.dataHeight = dataHeight;\n        _this.left = left;\n        _this.top = top;\n        if (luminances.BYTES_PER_ELEMENT === 4) { // Int32Array\n            var size = width * height;\n            var luminancesUint8Array = new Uint8ClampedArray(size);\n            for (var offset = 0; offset < size; offset++) {\n                var pixel = luminances[offset];\n                var r = (pixel >> 16) & 0xff; // red\n                var g2 = (pixel >> 7) & 0x1fe; // 2 * green\n                var b = pixel & 0xff; // blue\n                // Calculate green-favouring average cheaply\n                luminancesUint8Array[offset] = /*(byte) */ ((r + g2 + b) / 4) & 0xFF;\n            }\n            _this.luminances = luminancesUint8Array;\n        }\n        else {\n            _this.luminances = luminances;\n        }\n        if (undefined === dataWidth) {\n            _this.dataWidth = width;\n        }\n        if (undefined === dataHeight) {\n            _this.dataHeight = height;\n        }\n        if (undefined === left) {\n            _this.left = 0;\n        }\n        if (undefined === top) {\n            _this.top = 0;\n        }\n        if (_this.left + width > _this.dataWidth || _this.top + height > _this.dataHeight) {\n            throw new IllegalArgumentException('Crop rectangle does not fit within image data.');\n        }\n        return _this;\n    }\n    /*@Override*/\n    RGBLuminanceSource.prototype.getRow = function (y /*int*/, row) {\n        if (y < 0 || y >= this.getHeight()) {\n            throw new IllegalArgumentException('Requested row is outside the image: ' + y);\n        }\n        var width = this.getWidth();\n        if (row === null || row === undefined || row.length < width) {\n            row = new Uint8ClampedArray(width);\n        }\n        var offset = (y + this.top) * this.dataWidth + this.left;\n        System.arraycopy(this.luminances, offset, row, 0, width);\n        return row;\n    };\n    /*@Override*/\n    RGBLuminanceSource.prototype.getMatrix = function () {\n        var width = this.getWidth();\n        var height = this.getHeight();\n        // If the caller asks for the entire underlying image, save the copy and give them the\n        // original data. The docs specifically warn that result.length must be ignored.\n        if (width === this.dataWidth && height === this.dataHeight) {\n            return this.luminances;\n        }\n        var area = width * height;\n        var matrix = new Uint8ClampedArray(area);\n        var inputOffset = this.top * this.dataWidth + this.left;\n        // If the width matches the full width of the underlying data, perform a single copy.\n        if (width === this.dataWidth) {\n            System.arraycopy(this.luminances, inputOffset, matrix, 0, area);\n            return matrix;\n        }\n        // Otherwise copy one cropped row at a time.\n        for (var y = 0; y < height; y++) {\n            var outputOffset = y * width;\n            System.arraycopy(this.luminances, inputOffset, matrix, outputOffset, width);\n            inputOffset += this.dataWidth;\n        }\n        return matrix;\n    };\n    /*@Override*/\n    RGBLuminanceSource.prototype.isCropSupported = function () {\n        return true;\n    };\n    /*@Override*/\n    RGBLuminanceSource.prototype.crop = function (left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n        return new RGBLuminanceSource(this.luminances, width, height, this.dataWidth, this.dataHeight, this.left + left, this.top + top);\n    };\n    RGBLuminanceSource.prototype.invert = function () {\n        return new InvertedLuminanceSource(this);\n    };\n    return RGBLuminanceSource;\n}(LuminanceSource));\nexport default RGBLuminanceSource;\n"],"names":[],"sourceRoot":""}